Gini is a SAT solver written in Go for the go programming language. Gini solves the problem of efficient Boolean constraint propagation in a garbage collected language, giving it the capability to compete with and often enough outperform analogs in C/C++. Gini provides a CDCL based solver and some concurrent utilities on top of it. Additionally, Gini defines and provides a reference implementation of the compressed incremental sat protocol (CRISP), which enables the communication of related incremental SAT problems over a wire and is extensible to address related problems such as clause sharing.

Keywords for this software

Anything in here will be replaced on browsers that support the canvas element