在 SWI Prolog 中定义运算符

Define operator in SWI Prolog

我正在尝试在 SWI Prolog 中定义一个运算符。

:- op(700, xfx, and).

当我用上面的行加载文件时,它 returns true,但是当我尝试 p and q 时,我返回:

ERROR: Undefined procedure: (and)/2 (DWIM could not correct goal)

我查看了文档,但内容非常少。

将原子 and 定义为中缀 运算符 使 a and b 成为语法上有效的术语 不会t 定义 and/2 谓词 ,因此出现错误。

您的问题暗示您正在尝试为命题逻辑编写一些代码。是这样吗?