Author(s): Daniel Cabeza, Manuel Hermenegildo.
Version: 1.5#118 (2000/4/19, 18:13:43 CEST)
These built-in predicates are extra-logical. They treat uninstantiated variables as objects with values which may be compared, and they never instantiate those variables. They should not be used when what you really want is arithmetic comparison or unification.
The predicates make reference to a standard total ordering of terms, which is as follows:
'.'/2.
For example, here is a list of terms in standard order:
[ X, -1.0, -9, 1, bar, foo, [1], X = Y, foo(0,2), bar(1,1,1) ]
term_compare)term_compare)
Usage 1: Term1 == Term2
Term1 and Term2 are strictly identical.
Term1 is not further instantiated.
(basic_props:not_further_inst/2)
Term2 is not further instantiated.
(basic_props:not_further_inst/2)
Usage 2: Term1 == Term2
Term1 and Term2 are strictly identical.
Term1 is not further instantiated.
(basic_props:not_further_inst/2)
Term2 is not further instantiated.
(basic_props:not_further_inst/2)
Usage 1: Term1 \== Term2
Term1 and Term2 are not strictly identical.
Term1 is not further instantiated.
(basic_props:not_further_inst/2)
Term2 is not further instantiated.
(basic_props:not_further_inst/2)
Usage 2: Term1 \== Term2
Term1 and Term2 are not strictly identical.
Term1 is not further instantiated.
(basic_props:not_further_inst/2)
Term2 is not further instantiated.
(basic_props:not_further_inst/2)
Usage 1: @<(Term1,Term2)
Term1 precedes the term Term2 in the standard order.
Term1 is not further instantiated.
(basic_props:not_further_inst/2)
Term2 is not further instantiated.
(basic_props:not_further_inst/2)
Usage 2: @<(Term1,Term2)
Term1 precedes the term Term2 in the standard order.
Term1 is not further instantiated.
(basic_props:not_further_inst/2)
Term2 is not further instantiated.
(basic_props:not_further_inst/2)
Usage 1: @=<(Term1,Term2)
Term1 precedes or is identical to the term Term2 in the standard order.
Term1 is not further instantiated.
(basic_props:not_further_inst/2)
Term2 is not further instantiated.
(basic_props:not_further_inst/2)
Usage 2: @=<(Term1,Term2)
Term1 precedes or is identical to the term Term2 in the standard order.
Term1 is not further instantiated.
(basic_props:not_further_inst/2)
Term2 is not further instantiated.
(basic_props:not_further_inst/2)
Usage 1: @>(Term1,Term2)
Term1 follows the term Term2 in the standard order.
Term1 is not further instantiated.
(basic_props:not_further_inst/2)
Term2 is not further instantiated.
(basic_props:not_further_inst/2)
Usage 2: @>(Term1,Term2)
Term1 follows the term Term2 in the standard order.
Term1 is not further instantiated.
(basic_props:not_further_inst/2)
Term2 is not further instantiated.
(basic_props:not_further_inst/2)
Usage 1: @>=(Term1,Term2)
Term1 follows or is identical to the term Term2 in the standard order.
Term1 is not further instantiated.
(basic_props:not_further_inst/2)
Term2 is not further instantiated.
(basic_props:not_further_inst/2)
Usage 2: @>=(Term1,Term2)
Term1 follows or is identical to the term Term2 in the standard order.
Term1 is not further instantiated.
(basic_props:not_further_inst/2)
Term2 is not further instantiated.
(basic_props:not_further_inst/2)
compare(Op,Term1,Term2)
Op is the result of comparing the terms Term1 and Term2.
Usage 1: compare(?(atm),@(term),@(term))
?(atm) is an element of [=,>,<].
(basic_props:member/2)
@(term) is any term.
(basic_props:term/1)
@(term) is any term.
(basic_props:term/1)
Usage 2:
Op is an atom.
(basic_props:atm/1)
Term1 is any term.
(basic_props:term/1)
Term2 is any term.
(basic_props:term/1)
Op is an atom.
(basic_props:atm/1)
Term1 is any term.
(basic_props:term/1)
Term2 is any term.
(basic_props:term/1)
Op is an element of [=,>,<].
(basic_props:member/2)
Term1 is any term.
(basic_props:term/1)
Term2 is any term.
(basic_props:term/1)
Term1 is not further instantiated.
(basic_props:not_further_inst/2)
Term2 is not further instantiated.
(basic_props:not_further_inst/2)
Go to the first, previous, next, last section, table of contents.