prolog - 在 SWI Prolog 中定义运算符
问题描述
我正在尝试在 SWI Prolog 中定义一个运算符。
:- op(700, xfx, and).
当我用上面的行加载文件时,它返回true
,但是当我尝试时p and q
,我回来了:
ERROR: Undefined procedure: (and)/2 (DWIM could not correct goal)
我查看了文档,但它非常少。
解决方案
将 atom 定义and
为中缀运算符会产生a and b
一个语法上有效的术语,但没有定义and/2
predicate,因此会出现错误。
您的问题暗示您正在尝试为命题逻辑编写一些代码。是这样吗?
推荐阅读
- apache-beam - 在流水线后期的另一个 Transform 中重用 Transform 的输出中的 PCollection
- apache - 单实例 AWS Elastic Beanstalk 和 Let's Encrypt 证书不匹配错误
- excel - 验证一系列行和列中的值并更新其上的一些值
- r - Ggplot2 facet_grid 在小范围内重复 y 轴中断
- hyperledger-fabric - 找不到 Signcert 超级账本结构
- angular2-routing - 在组件之间切换后进行多次http调用
- css - 在 reactJS 应用程序中根据条件动态加载 .css
- javascript - 如何使用 FS 编辑文件的一部分?
- css - React CSS Modules - 将样式应用于每个标签的子标签
- bash - 使用 bash 按顺序而不是连续运行作业