Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/c-cube/batsat
A (parametrized) Rust SAT solver originally based on MiniSat
https://github.com/c-cube/batsat
drat minisat proof-generating rust sat-solver sat-solver-bindings
Last synced: 21 days ago
JSON representation
A (parametrized) Rust SAT solver originally based on MiniSat
- Host: GitHub
- URL: https://github.com/c-cube/batsat
- Owner: c-cube
- License: other
- Created: 2018-08-22T15:24:30.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-04-04T22:00:44.000Z (8 months ago)
- Last Synced: 2024-05-22T19:31:53.068Z (6 months ago)
- Topics: drat, minisat, proof-generating, rust, sat-solver, sat-solver-bindings
- Language: Rust
- Homepage: https://docs.rs/batsat/
- Size: 7.83 MB
- Stars: 30
- Watchers: 5
- Forks: 4
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-rust-formalized-reasoning - BatSat - solver forked from ratsat, a reimplementation of MiniSat. (Projects / Provers and Solvers)
README
# BatSat [![Build](https://github.com/c-cube/batsat/actions/workflows/rust.yml/badge.svg)](https://github.com/c-cube/batsat/actions/workflows/rust.yml) [![Latest Version]](https://crates.io/crates/batsat)
[Latest Version]: https://img.shields.io/crates/v/batsat.svg
This is a Rust SAT solver forked from [ratsat](https://github.com/qnighy/ratsat), a reimplementation of MiniSat.
For reference, a [simple benchmark](https://benchpress.cedeela.fr/show/res-20220112T143715-921dc3ad-f9fa-493d-8a08-540eecad9827.sqlite/) comparing it to minisat on a set of (easy) problems.
## License
MIT licensed.
## Features and Goals
Batsat is originally based on ratsat, a clone of minisat. However we want
to extend batsat further and to provide the following features:- [x] proof production (in [DRAT](https://baldur.iti.kit.edu/sat-competition-2017/index.php?cat=certificates))
- [x] easy access to unsat-cores (as subset of assumptions)
- [x] ipasir interface for incremental solving
* [ ] testing this interface
- [x] debug framework using `log` (optional)
- [x] OCaml bindings
- [x] templated API to write SMT solvers
- [ ] simplification techniques from Minisat+ (as an optional internal structure)