#sat-solver #sat #solver #satisfiability #logic #minisat

sys cadical

Rust对CaDiCaL SAT求解器的绑定

14个版本

0.1.14 2022年11月25日
0.1.13 2020年10月30日
0.1.12 2020年6月18日

数学类别中排名第764

每月下载量39
5个Crates中使用(其中4个直接使用)

MIT协议

795KB
18K SLoC

C++ 17K SLoC // 0.2% comments Rust 524 SLoC

CaDiCaL SAT求解器

Build Status Crate Documentation GitHub

这是一个独立的Crates,包含CaDiCaL增量SAT求解器的C++源代码及其Rust绑定。C++文件在构建过程中进行编译和静态链接。此Crates可在Linux、Apple OSX、Windows、Android、iOS、Raspberry Pi、NetBSD和FreeBSD上运行。

CaDiCaL在2019年SAT Race的SAT赛道中获得第一名,总排名第二。它是由Armin Biere编写的,并可在MIT协议下使用。

符号是未包装的正负整数,与DIMACS格式完全相同。常见的IPASIR操作通过安全的Rust接口展示。

let mut sat: cadical::Solver = Default::default();
sat.add_clause([1, 2]);
sat.add_clause([-1, 2]);
assert_eq!(sat.solve(), Some(true));
assert_eq!(sat.value(2), Some(true));

C++库默认情况下禁用断言并使用优化级别3进行构建。只有当cargo构建调试版本并启用库的cpp-debug功能时,才会启用C++断言。

依赖关系