在SWI Prolog中定义运算符

在SWI Prolog中定义运算符,prolog,operators,Prolog,Operators,我试图在SWI Prolog中定义一个操作符 :- op(700, xfx, and). 当我加载带有上述行的文件时,它返回true,但当我尝试p和q时,返回: ERROR: Undefined procedure: (and)/2 (DWIM could not correct goal) 我查阅了文档,但内容非常少 将atom和定义为中缀运算符会使a和b成为语法上有效的术语,但不会定义和/2谓词,因此会出现错误 您的问题暗示您正试图为命题逻辑编写一些代码。是这样吗?是的,我正在通过此链接

我试图在SWI Prolog中定义一个操作符

:- op(700, xfx, and).
当我加载带有上述行的文件时,它返回
true
,但当我尝试
p和q
时,返回:

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

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

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


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

是的,我正在通过此链接进行一系列练习:如果我们在SO中搜索“序言命题逻辑”,您将得到一些相关的问题,这些问题可能会有所帮助。