Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
07755b6
feat: solver `declareSort`, `defineFun`-like functions, `declareDatat…
AdrienChampion Apr 8, 2026
c2c7d35
feat: solver `push`, `pop`, improved `getProof`
AdrienChampion Apr 8, 2026
96f0334
feat: solver `getUnsatCoreLemmas`, improve `proofToString`, `getAbduc…
AdrienChampion Apr 8, 2026
80084cb
chore(test): add all solver tests for the solver features implemented…
AdrienChampion Apr 8, 2026
aa73de7
feat: solver `getInterpolant`-like functions and tests
AdrienChampion Apr 8, 2026
251cd4f
feat: solver `declarePool`
AdrienChampion Apr 8, 2026
543b3f9
feat: solver `getLearnedLiterals`, `getTimeoutCore`-like functions, w…
AdrienChampion Apr 8, 2026
11768e4
feat: solver `isModelCoreSymbol`, `getModel`, with tests
AdrienChampion Apr 8, 2026
a17ee7f
feat: solver quantifier elimination functions, with tests
AdrienChampion Apr 8, 2026
1cb35a2
feat: solver separation logic features, with tests
AdrienChampion Apr 8, 2026
5b3eb0e
feat: solver `blockModel`-like features, with tests
AdrienChampion Apr 8, 2026
1e66297
feat: solver `setInfo` and `getInstantiations`, with tests
AdrienChampion Apr 8, 2026
eccfaf5
feat: solver `declareOracleFun`, with tests
AdrienChampion Apr 8, 2026
36ed487
chore(test): uncomment missing part of `declareOracleFunError` solver…
AdrienChampion Apr 8, 2026
82ca973
chore(test): re-activate `Sort.null`-related test bits
AdrienChampion Apr 8, 2026
6290f4f
chore(doc): document missing features in the readme
AdrienChampion Apr 8, 2026
910fe1c
chore: format `ffi.cpp`
AdrienChampion Apr 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 18 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,6 @@ 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.

## Limitations

- Minimal interface to the cvc5 solver (contributions are welcome!)

## Getting Started

To use `lean-smt` in your project, add the following lines to your list of
Expand Down Expand Up @@ -38,6 +34,24 @@ 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.

## Missing features

Term API:

- [`getStringValue`](https://github.com/cvc5/cvc5/blob/cf59add20e053647145edb5f8151a2785c1d703e/include/cvc5/cvc5.h#L1600-L1607)

Solver API:

- [statistics](https://github.com/cvc5/cvc5/blob/cf59add20e053647145edb5f8151a2785c1d703e/include/cvc5/cvc5.h#L3410-L3425)
- [option info](https://github.com/cvc5/cvc5/blob/cf59add20e053647145edb5f8151a2785c1d703e/include/cvc5/cvc5.h#L3240-L3279)
- [driver options](https://github.com/cvc5/cvc5/blob/cf59add20e053647145edb5f8151a2785c1d703e/include/cvc5/cvc5.h#L3211-L3223)
- [plugins](https://github.com/cvc5/cvc5/blob/cf59add20e053647145edb5f8151a2785c1d703e/include/cvc5/cvc5.h#L3616-L3619)

Input parser:

- [`setStreamInput`](https://github.com/cvc5/cvc5/blob/cf59add20e053647145edb5f8151a2785c1d703e/include/cvc5/cvc5_parser.h#L251-L259)
- [dedicated parser errors](https://github.com/cvc5/cvc5/blob/cf59add20e053647145edb5f8151a2785c1d703e/include/cvc5/cvc5_parser.h#L348-L352)

## Contributing

Contributions to the Lean cvc5 FFI project are welcome! If you would like to contribute, please
Expand Down
Loading
Loading