Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jix/varisat

SAT solver written in Rust
https://github.com/jix/varisat

Last synced: 18 days ago
JSON representation

SAT solver written in Rust

Awesome Lists containing this project

README

        

# Varisat

[![crates.io](https://img.shields.io/crates/v/varisat.svg)](https://crates.io/crates/varisat)
[![docs.rs](https://docs.rs/varisat/badge.svg)](https://docs.rs/varisat)
![](https://img.shields.io/crates/l/varisat.svg)

Varisat is a [CDCL][cdcl] based SAT solver written in rust. Given a boolean
formula in [conjunctive normal form][cnf], it either finds a variable
assignment that makes the formula true or finds a proof that this is
impossible.

Varisat is available as a rust library ([`varisat` on
crates.io][crate-varisat]) and as a command line solver ([`varisat-cli` on
crates.io][crate-varisat-cli]).

## Installation

Varisat is available using rust's package manager cargo. The command line
solver can be installed or updated using `cargo install --force varisat-cli`.
Cargo can be installed using [rustup](https://rustup.rs/).

The command line solver is also available as a [pre-compiled binary][releases]
for Linux and Windows.

## Documentation

* [User Manual](https://jix.github.io/varisat/manual/0.2.1/)
* [Library API Documentation](https://docs.rs/varisat/0.2.1/varisat/)

## Developer Documentation

The internal APIs are documented using rustdoc. It can be generated using
`cargo doc --document-private-items --all --exclude varisat-cli`.

You can also read [a series of blog posts about the development of
varisat][blog-series].

## License

The Varisat source code is licensed under either of

* Apache License, Version 2.0
([LICENSE-APACHE](LICENSE-APACHE) or
http://www.apache.org/licenses/LICENSE-2.0)
* MIT license
([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)

at your option.

### Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in Varisat by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.

[cdcl]: https://en.wikipedia.org/wiki/Conflict-Driven_Clause_Learning
[cnf]: https://en.wikipedia.org/wiki/Conjunctive_normal_form
[dev-docs]: https://jix.github.io/varisat/dev/varisat/
[blog-series]: https://jix.one/tags/refactoring-varisat/
[crate-varisat]: https://crates.io/crates/varisat
[crate-varisat-cli]: https://crates.io/crates/varisat-cli
[manual-master]: https://jix.github.io/varisat/manual/master/
[releases]: https://github.com/jix/varisat/releases