用于声明一个对象大于另一个对象的Prolog谓词?

问题描述

我正在尝试编写一些简单的Prolog代码来比较对象,并让我们知道一个对象大于另一个对象。例如,

larger(star,gasgiant).
larger(gasgiant,rockyplanet).
larger(rockyplanet,moon).

列出的第一项大于列出的第二项。这是我一直想用来定义的关系:

larger(X,Y) :- X > Y.

这是定义这种关系的正确方法吗?

解决方法

这是定义这种关系的正确方法吗?

可以这样定义:

larger(X,Y):- compare(>,X,Y).

或者简单地

larger(X,Y):- X @> Y.

Have a look at SWI Prolog docs

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...