File: FILTER_DISCH_THEN.doc

package info (click to toggle)
hol88 2.02.19940316dfsg-5
  • links: PTS
  • area: main
  • in suites: bookworm
  • size: 65,816 kB
  • sloc: ml: 199,939; ansic: 9,666; sh: 6,913; makefile: 6,032; lisp: 2,747; yacc: 894; sed: 201; cpp: 87; awk: 5
file content (46 lines) | stat: -rw-r--r-- 1,326 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
39
40
41
42
43
44
45
46
\DOC FILTER_DISCH_THEN

\TYPE {FILTER_DISCH_THEN : (thm_tactic -> term -> tactic)}

\SYNOPSIS
Conditionally gives to a theorem-tactic the antecedent of an implicative goal.

\KEYWORDS
theorem-tactic, undischarge, antecedent, selective.

\DESCRIBE
If {FILTER_DISCH_THEN}'s second argument, a term, does not occur in the
antecedent, then {FILTER_DISCH_THEN} removes the antecedent and then creates a
theorem by {ASSUME}ing it. This new theorem is passed to {FILTER_DISCH_THEN}'s
first argument, which is subsequently expanded. For example, if
{
    A ?- t
   ========  f (ASSUME "u")
    B ?- v
}
\noindent then
{
    A ?- u ==> t
   ==============  FILTER_DISCH_THEN f
       B ?- v
}
\noindent Note that {FILTER_DISCH_THEN} treats {"~u"} as {"u ==> F"}.

\FAILURE
{FILTER_DISCH_THEN} will fail if a term which is identical, or alpha-equivalent
to {"w"} occurs free in the antecedent. {FILTER_DISCH_THEN} will also fail if
the theorem is an implication or a negation.

\COMMENTS
{FILTER_DISCH_THEN} is most easily understood by first understanding
{DISCH_THEN}.

\USES
For preprocessing an antecedent before moving it to the assumptions, or for
using antecedents and then throwing them away.

\SEEALSO
DISCH, DISCH_ALL, DISCH_TAC, DISCH_THEN, FILTER_DISCH_TAC, NEG_DISCH,
STRIP_TAC, UNDISCH, UNDISCH_ALL, UNDISCH_TAC.

\ENDDOC