首页 > 解决方案 > 在 SWI Prolog 中定义运算符

问题描述

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

:- op(700, xfx, and).

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

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

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

标签: prologoperators

解决方案


将 atom 定义and为中缀运算符会产生a and b一个语法上有效的术语,但没有定义and/2 predicate,因此会出现错误。

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


推荐阅读