• Stars
    star
    252
  • Rank 160,894 (Top 4 %)
  • Language
    Rust
  • License
    Apache License 2.0
  • Created over 5 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

SAT solver written in Rust

Varisat

crates.io docs.rs

Varisat is a CDCL based SAT solver written in rust. Given a boolean formula in conjunctive normal form, 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) and as a command line solver (varisat-cli on crates.io).

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.

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

Documentation

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.

License

The Varisat source code is licensed under either of

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.

More Repositories

1

sortnetopt

Lower Size Bounds for Sorting Networks
Isabelle
43
star
2

partial_ref

Type checked partial references for rust
Rust
14
star
3

starlit

CDCL SAT solver written in Rust. Work in progress. The basics are working, but there are lots of changes ahead, including API and CLI breakage.
Rust
10
star
4

flussab

Collection of utlities for writing parsers. Includes a fast DIMACS CNF parser.
Rust
9
star
5

kissat_extras

A fork of the Kissat SAT solver with additional features. Supports incremental solving.
C
9
star
6

permutation_group_experiments

Python
9
star
7

zwohash

A fast, deterministic, non-cryptographic hash for use in hash tables for Rust
Rust
8
star
8

sortnetopt-gnp

Lower Size Bounds for Sorting Networks using Generate and Prune
Rust
6
star
9

neca

NECA - Not Even Coppersmith's Attack: A ROCA weak RSA key attack
C++
6
star
10

streampush

Tunnel TCP connections over QUIC with an optional fixed rate congestion controller
Rust
3
star
11

vec_mut_scan

Rust library for a forward scan over a vector with mutation and item removal
Rust
2
star
12

rust-actions

Rust
2
star
13

pac_brute

Rust
1
star
14

ezusbfifo

Python
1
star
15

satbench

WIP SAT benchmarking tooling, written with only my personal use in mind.
Python
1
star
16

cnfpack

Converts between the text based DIMACS CNF file format and the compressed binary Cnfpack format
Rust
1
star
17

tinytapeout_scan

Verilog
1
star
18

sat-intro-2019-06-20

Demo application presented during my "Introduction to SAT Solving" talk at the OR Meetup Leipzig in June 2019.
Python
1
star
19

pydical

Python wrapper for the CaDiCaL SAT solver
C++
1
star