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.
- Minimal interface to the cvc5 solver (contributions are welcome!)
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.
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