These predicates use a standard total order when comparing terms. The standard total order is:
For example, here is a list of terms in standard order:
[ X, -1.0, -9, 1, fie, foe, X = Y, foe(0,2), fie(1,1,1) ]
Please note: the standard order is only well-defined for finite (acyclic) terms. There are infinite (cyclic) terms for which no order relation holds. Furthermore, blocking goals (see ref-sem-sec) on variables or modifying their attributes (see lib-atts) does not preserve their order.
The predicates for comparison of terms are described below.
T1 and T2 are literally identical (in particular, variables in equivalent positions in the two terms must be identical).
T1 and T2 are not literally identical.
T1 is before term T2 in the standard order.
T1 is after term T2
T1 is not after term T2
T1 is not before term T2
compare(-Op, +T1, +T2)
the result of comparing terms T1 and T2 is Op, where the possible values for Op are:
if T1 is identical to T2,
if T1 is before T2 in the standard order,
if T1 is after T2 in the standard order.