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.