标签: java boolean-expression conjunctive-normal-form sat-solvers
我需要使用sat求解器来检查布尔表达式的可满足性。
我有像这样的复杂布尔表达式
是否有任何自动cnf文件转换器,以便我可以直接给坐在求解器?
我读了cnf格式文件..但是如何在.cnf文件中表达这个表达式?当paranthesis里面有一个连词以及如何表达时,我会感到困惑 - >和< - > ?请帮帮我
答案 0 :(得分:6)
有几种解决方案。
Limboole是一个开源工具,我认为它包含一个单独的'CNF'转换的命题逻辑。
更一般地说,您还可以使用支持命题逻辑的工具;一些示例包括Z3,CVC3和Yices。
答案 1 :(得分:2)
SBSAT是一个基于状态的SAT求解器,能够接受各种输入格式。您可以采用一个简单的表达式并将其提供给SBSAT以转换为CNF。 manual,第4.10节描述了如何执行此操作。