Prolog是否有可能断言代表数字的事实?
例如,我想使用谓词distance/2
并断言像distance(town1, city2) = 1200
这样的事实。
答案 0 :(得分:3)
distance(town1, city2) = 1200
一词是术语'='(distance(town1, city2), 1200)
的语法糖,因为(=)/2
是标准的Prolog中缀运算符。 (=)/2
也是标准的统一内置谓词。在大多数Prolog系统中,用户无法重新定义内置谓词。因此,您不能断言它们的条款,因为这相当于重新定义谓词。卡罗建议使用distance/3
谓词可能是最佳解决方案。