在Prolog中断言数字谓词

时间:2014-09-03 18:41:07

标签: prolog

Prolog是否有可能断言代表数字的事实? 例如,我想使用谓词distance/2并断言像distance(town1, city2) = 1200这样的事实。

1 个答案:

答案 0 :(得分:3)

distance(town1, city2) = 1200一词是术语'='(distance(town1, city2), 1200)的语法糖,因为(=)/2是标准的Prolog中缀运算符。 (=)/2也是标准的统一内置谓词。在大多数Prolog系统中,用户无法重新定义内置谓词。因此,您不能断言它们的条款,因为这相当于重新定义谓词。卡罗建议使用distance/3谓词可能是最佳解决方案。