Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kino-mc/rsmt2
A generic library to interact with SMT-LIB 2 compliant solvers running in a separate system process, such as Z3 and CVC4.
https://github.com/kino-mc/rsmt2
Last synced: 3 months ago
JSON representation
A generic library to interact with SMT-LIB 2 compliant solvers running in a separate system process, such as Z3 and CVC4.
- Host: GitHub
- URL: https://github.com/kino-mc/rsmt2
- Owner: kino-mc
- License: apache-2.0
- Created: 2016-09-21T07:14:18.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2024-03-05T20:22:49.000Z (8 months ago)
- Last Synced: 2024-05-22T21:32:15.260Z (6 months ago)
- Language: Rust
- Homepage:
- Size: 504 KB
- Stars: 65
- Watchers: 4
- Forks: 14
- Open Issues: 8
-
Metadata Files:
- Readme: readme.md
- Changelog: changes.md
- License: LICENSE-APACHE
Awesome Lists containing this project
- awesome-rust-formalized-reasoning - rsmt2 - zz):star: - generic library to interact with SMT-LIB 2 compliant solvers. (Projects / Libraries)
README
![crates.io](https://img.shields.io/crates/v/rsmt2.svg)
![Documentation](https://docs.rs/rsmt2/badge.svg)
![CI](https://github.com/kino-mc/rsmt2/workflows/CI/badge.svg)# `rsmt2`
A generic library to interact with SMT-LIB 2 compliant solvers running in a separate system process,
such as [z3][z3] and [CVC4][cvc4].If you use this library consider contacting us on the [repository](https://github.com/kino-mc/rsmt2)
so that we can add your project to the readme.See [`changes.md`](https://github.com/kino-mc/rsmt2/blob/master/README.md) for the list of changes.
# Features
- [x] support main solvers ([z3][z3], [CVC4][cvc4], [Yices 2][yices2])
- [x] all basic declaration/definition/assertion/model/values commands
- [x] `check-sat-assuming`, with dedicated [actlit API]
- [x] the commands to run each solver can be passed through environment variables, see the `conf`
module
- [ ] [alt-ergo][AE]
- [ ] `get-proof` command# Known projects using `rsmt2`
- [kinō][kino], a model-checker for transition systems (abandoned)
- [hoice][hoice], a machine-learning-based predicate synthesizer for horn clauses# License
MIT/Apache-2.0
[kino]: https://github.com/kino-mc/kino (kino on github)
[hoice]: https://github.com/hopv/hoice (hoice on github)
[z3]: https://github.com/z3Prover/z3 (z3 on github)
[cvc4]: https://github.com/CVC4/CVC4 (CVC4 on github)
[yices2]: https://yices.csl.sri.com/ (Yices 2 official)
[AE]: http://alt-ergo.lri.fr/ (Alt-Ergo official)
[actlit API]: https://docs.rs/rsmt2/latest/rsmt2/actlit/index.html (Actlit API on docs.rs)