Files
mercury/compiler/notes/IMPLICIT_QUANTIFICATION
Fergus Henderson dde20d3352 We now transform A \= B' into not (A = B)', so implicit
quantification now works properly for '\='.
1994-05-16 07:33:57 +00:00

16 lines
734 B
Plaintext

Rules for implicit quantification in Mercury
--------------------------------------------
If a variable occurs in a negated context (inside a negation, inside a
universal quantification, in the condition of an if-then-else, or in a
disequality), and which does not occur outside of that negated context
other than in "parallel" goals (and in the case of a variable in the
condition of an if-then-else, other than in the "then" part of the
if-then-else), then that variable is implicitly existentially
quantified inside the negation.
"Parallel" goals are defined as follows: different branches of a
disjunction are parallel; and the "else" part of an if-then-else is
parallel to the condition and the "then" part (and vice versa).