File: MATCH_MP_TAC.doc

package info (click to toggle)
hol88 2.02.19940316-35
  • links: PTS
  • area: main
  • in suites: buster
  • size: 65,988 kB
  • ctags: 21,623
  • sloc: ml: 199,939; ansic: 9,666; sh: 7,118; makefile: 6,095; lisp: 2,747; yacc: 894; sed: 201; cpp: 87; awk: 5
file content (38 lines) | stat: -rw-r--r-- 1,175 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
\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
}
\noindent {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'
}
\noindent 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
EQ_MP, MATCH_MP, MP, MP_TAC.

\ENDDOC