The Lean cvc5 is a Foreign Function Interface (FFI) library that provides a minimal interface to the cvc5 solver in Lean. It was designed to support the needs of the lean-smt tactic. The FFI allows Lean programs to interact with cvc5 by calling its functions and accessing its API.
To use lean-smt in your project, add the following lines to your list of
dependencies in lakefile.toml:
[[require]]
name = "smt"
scope = "abdoo8080"
rev = "573fd67"If your build configuration is in lakefile.lean, add the following line to
your dependencies:
require cvc5 from git "https://github.com/abdoo8080/lean-cvc5.git" @ "573fd67"Build artifacts are available for all platforms supported by Lean 4 and
recent versions of Lean 4's toolchain. Choose the appropriate build for your
platform from the releases page.
To build from source, you need to have clang and libc++ (version 19) installed on
your system. If you are using Windows, you need to have clang and libc++
(version 19) installed on your MSYS2 environment. Build this library by running
lake build in the root directory of the project.
Term API:
Solver API:
Input parser:
Contributions to the Lean cvc5 FFI project are welcome! If you would like to contribute, please follow these guidelines:
- Fork the repository
- Create a new branch for your feature or bug fix
- Submit a pull request with a clear description of your changes