\DOC FORALL_IMP_CONV \TYPE {FORALL_IMP_CONV : conv} \SYNOPSIS Moves a universal quantification inwards through an implication. \KEYWORDS conversion, quantifier, universal, implication. \DESCRIBE When applied to a term of the form {!x. P ==> Q}, where {x} is not free in both {P} and {Q}, {FORALL_IMP_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_IMP_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.LEFT_IMP_EXISTS_CONV, Conv.RIGHT_IMP_FORALL_CONV. \ENDDOC