https://github.com/NVictor2004/SATSolver
A SAT Solver written in Rust
https://github.com/NVictor2004/SATSolver
rust sat-solver
Last synced: 3 months ago
JSON representation
A SAT Solver written in Rust
- Host: GitHub
- URL: https://github.com/NVictor2004/SATSolver
- Owner: NVictor2004
- License: mit
- Created: 2024-07-13T14:04:43.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-08-08T10:53:37.000Z (10 months ago)
- Last Synced: 2024-10-23T04:52:58.653Z (7 months ago)
- Topics: rust, sat-solver
- Language: Rust
- Homepage:
- Size: 32.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-rust-formalized-reasoning - SAT Solver(2) - simple SAT solver. (Projects / Provers and Solvers)
README
# SAT Solver
## Functionality
This is a simple SAT Solver library that provides functionality to determine every satisfying interpretation of a Boolean formula.Currently, the formula must be written in a file, which is provided as input.
## Supported Operations
Currently, the following Boolean operations are supported:
- AND, written with a `'&'`
- OR, written with a `'|'`
- NOT, written with a `'!'`Brackets can also be written, using the `()` characters.
## Setup Requirements
Compilation of this program requires Rustup. A description of how to download this can be found at `doc.rust-lang.org/book/`.## Compilation and Execution
The file `main.rs` contains an example usage of the library. To compile and run this, use the command `cargo run -- filename`, where `filename` is the name of the file containing your Boolean formula.## Example
Given the input `!(a & b | !c) & !(b | !c)` in the file `formula.txt`, after running `cargo run -- formula.txt`, the two correct solutions `c & !b & a` and `c & !b & !a` are outputted to STDOUT.