\DOC MATCH_MP_TAC \TYPE {MATCH_MP_TAC : thm_tactic} \SYNOPSIS

advertisement
\DOC MATCH_MP_TAC
\TYPE {MATCH_MP_TAC : thm_tactic}
\SYNOPSIS
Reduces the goal using a supplied implication, with matching.
\KEYWORDS
tactic, modus ponens, implication.
\DESCRIBE
When applied to a theorem of the form
{
A' |- !x1...xn. s ==> !y1...ym. t
}
{MATCH_MP_TAC} produces a tactic that reduces a goal whose conclusion
{t'} is a substitution and/or type instance of {t} to the corresponding
instance of {s}. Any variables free in {s} but not in {t} will be
existentially
quantified in the resulting subgoal:
{
A ?- !v1...vi. t'
====================== MATCH_MP_TAC (A' |- !x1...xn. s ==> !y1...tm.
t)
A ?- ?z1...zp. s'
}
where {z1}, ..., {zp} are (type instances of) those variables among
{x1}, ..., {xn} that do not occur free in {t}. Note that this is not a
valid
tactic unless {A'} is a subset of {A}.
\FAILURE
Fails unless the theorem is an (optionally universally quantified)
implication
whose consequent can be instantiated to match the goal. The generalized
variables {v1}, ..., {vi} must occur in {s'} in order for the conclusion
{t} of
the supplied theorem to match {t'}.
\SEEALSO
Thm.EQ_MP, Drule.MATCH_MP, Thm.MP, Tactic.MP_TAC.
\ENDDOC
Download