FREEZE_THEN : thm_tactical
A ?- t
========= f (w |- w)
A ?- t1
then applying FREEZE_THEN f (A1 |- w)
to the goal (A ?- t) produces the subgoal:
A ?- t
========= FREEZE_THEN f (A1 |- w)
A ?- t1
Since the term w is a hypothesis of the argument to the
function f, none of the free variables present in w may be
instantiated or generalized. The hypothesis is discharged by
PROVE_HYP upon the completion of the proof of the subgoal.
th = |- !p. a < b /\ b < p ==> a < pIMP_RES_TAC th will generate several unneeded assumptions:
{b < c, a < b, a < c, !p. c < p ==> b < p, !a'. a' < a ==> a' < b}
?- (SUC a) <= c
which can be avoided by first `freezing' the theorem, using
the tactic
FREEZE_THEN IMP_RES_TAC thThis prevents the variables a and b from being instantiated.
{b < c, a < b, a < c} ?- (SUC a) <= c