PLOGHELP EQUAL Chris Mellish, August 1982 Jonathan Laventhol, June 1983 Revised by Kathryn Seifert October 1986 Operators which perform the "equals" operation, and related operations ?- X = Y. ?- X \= Y. ?- X =:= Y. ?- X =\= Y. ?- X == Y. ?- X \== Y. Keywords: equality, unify, unification, identity, evaluation, arithmetic expressions -- INTRODUCTION ------------------------------------------------------- There are three predicates which begin with the equals sign "=", and have roughly the sense of the word equals. (There is also =.. which is described in PLOGHELP * UNIV) Notice that all these predicates can be written in prefix form as well: ?- =(X, Y). We normally use the infix form, and by default, all of these operators have precedence 40 and fix "xfx". See PLOGHELP * OP and * OPERATORS. Also note that there are negated forms as well. -- DESCRIPTION OF THE DIFFERENT OPERATIONS ---------------------------- ?- X = Y. X and Y are equal (can be matched). ?- X \= Y. X and Y are cannot be matched. ?- X =:= Y. Arithmetic expressions X and Y evaluate to the same number. X and Y can be simple integers or real numbers, or they can be constructed from the special functors recognised by 'is' (see PLOGHELP * IS). ?- X =\= Y. Arithmetic expression do not evaluate to the same number. ?- X == Y. X and Y are identical. Uninstantiated variables in corresponding positions must already be "sharing" for this to be true. ?- X \== Y. X and Y are not identical. -- RELATED DOCUMENTATION ---------------------------------------------- PLOGHELP * IS Evaluating POP-11 and arithmetic expressions which return one result PLOGHELP * SYMBOLS Summary and index of HELP files for symbols used in Prolog PLOGHELP * OPERATORS Operator declarations made when the Prolog system is loaded PLOGHELP * OP How to declare operators