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

Prolog predicate for declaring one object is larger than the other?

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

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

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

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

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

Is this the correct way to define this relation?

可以这样定义:

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

或者,简单地

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

Have a look at SWI Prolog docs