---------------------------------------------------------------------- FORALL_OR_CONV (Conv) ---------------------------------------------------------------------- FORALL_OR_CONV : conv SYNOPSIS Moves a universal quantification inwards through a disjunction. KEYWORDS conversion, quantifier, universal, disjunction. DESCRIBE When applied to a term of the form {!x. P \/ Q}, where {x} is not free in both {P} and {Q}, {FORALL_OR_CONV} returns a theorem of one of three forms, depending on occurrences of the variable {x} in {P} and {Q}. If {x} is free in {P} but not in {Q}, then the theorem: |- (!x. P \/ Q) = (!x.P) \/ Q is returned. If {x} is free in {Q} but not in {P}, then the result is: |- (!x. P \/ Q) = P \/ (!x.Q) And if {x} is free in neither {P} nor {Q}, then the result is: |- (!x. P \/ Q) = (!x.P) \/ (!x.Q) FAILURE {FORALL_OR_CONV} fails if it is applied to a term not of the form {!x. P \/ Q}, or if it is applied to a term {!x. P \/ Q} in which the variable {x} is free in both {P} and {Q}. SEEALSO Conv.OR_FORALL_CONV, Conv.LEFT_OR_FORALL_CONV, Conv.RIGHT_OR_FORALL_CONV. ----------------------------------------------------------------------