14

我想创建一个可以使用一阶逻辑进行简单推理的应用程序。谁能推荐一个可以接受任意数量的 FOL 表达式并允许查询这些表达式的“引擎”(最好通过 Python 访问)?

4

3 回答 3

12

除非绝对必要,否则不要使用一阶逻辑 (FOL) 进行查询:一阶逻辑是不可判定的,而只能是半可判定的,因此查询通常不可避免地不会终止。

描述逻辑本质上是一阶逻辑的可判定片段,以有利于讨论实体类及其相互关系的方式重新表述。Python中有许多描述逻辑的引擎,例如seth,基于OWL-DL。

如果您确实确定需要 FOL 的广阔性,那么FLiP值得一看。我没有使用过它(老实说,我并不热衷于 Python),但这是一种使逻辑检查可用于编程语言的好方法。

于 2010-02-24T22:48:32.930 回答
9

pylog

PyLog 是一个一阶逻辑库,包括 Python 中的 PROLOG 引擎。

于 2010-02-21T04:41:39.080 回答
1

配方 303057:Pythologic -- Python 中的 Prolog 语法/http://code.activestate.com/recipes/303057/

于 2010-02-21T04:38:14.420 回答