将一阶逻辑转换为 CNF

发布于 2024-12-02 21:13:54 字数 213 浏览 2 评论 0原文

我正在努力使用 MiniSat 来解决约束满足问题。在一阶逻辑中,问题很容易用一些离散域变量和一些谓词来表示。

然而,MiniSat 以及我迄今为止见过的其他 CSP 求解器都希望以 CNF 形式输入。所以我正在寻找一种“预处理器”,它将一阶逻辑表达式转换为 CNF。

有什么想法吗?

I'm endeavouring to use MiniSat to solve a constraint satisfaction problem. In first-order logic the problem is easily represented by a few discrete-domain variables and some predicates.

However, MiniSat, along with the other CSP solvers I've seen so far, would all like their input in CNF form. So I'm in search of a "preprocessor" of sorts which will convert first-order logic expressions into CNF.

Any thoughts?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

川水往事 2024-12-09 21:13:54

您可能会考虑比利时鲁汶天主教大学的 IDP3:http://dtai.cs .kuleuven.be/krr/software/idp3 IDP3 命题化一阶理论(具有归纳定义、聚合、有界算术的类型化一阶逻辑)并应用小型卫星。

另一种选择是 Koen Claessen(瑞典查尔姆斯大学)的 Paradox。 Paradox 是一个用于一阶逻辑的有限模型查找器,它也是从转换为 SAT 开始,然后使用 MiniSAT 求解公式。 Paradox 的源代码可以从 http://www.cse.chalmers.se/ 下载~koen/代码/

You might like to consider IDP3 from Katholieke Univ of Leuven, Belgium: http://dtai.cs.kuleuven.be/krr/software/idp3 IDP3 propositionalises first-order theories (typed first order logic with inductive definitions, aggregates, bounded arithmetic) and applies minisat.

Another option would be Paradox from Koen Claessen (Chalmers U, Sweden). Paradox is a finite model finder for first order logic, that also starts by translating to SAT and then solves the formula using MiniSAT. The source code of Paradox can be downloaded from http://www.cse.chalmers.se/~koen/code/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文