Document 5885790

advertisement
Toggle navigation APT Browse
Query
Search
hol-light 20131026-1build1 / usr / share / hollight / Help / SPECL.doc
This file is indexed.
/usr/share/hol-light/Help/SPECL.doc is in hol-light 20131026-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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
\DOC SPECL
\TYPE {SPECL : term list -> thm -> thm}
\SYNOPSIS
Specializes zero or more variables in the conclusion of a theorem.
\KEYWORDS
rule.
\DESCRIBE
When applied to a term list {[u1;...;un]} and a theorem
{A |- !x1...xn. t}, the inference rule {SPECL} returns the theorem
{A |- t[u1/x1]...[un/xn]}, where the substitutions are made
sequentially left-to-right in the same way as for {SPEC}, with the same
sort of alpha-conversions applied to {t} if necessary to ensure that no
variables which are free in {ui} become bound after substitution.
{
A |- !x1...xn. t
-------------------------- SPECL [`u1`;...;`un`]
A |- t[u1/x1]...[un/xn]
}
\noindent It is permissible for the term-list to be empty, in which case
the application of {SPECL} has no effect.
\FAILURE
Fails unless each of the terms is of the same as that of the
appropriate quantified variable in the original theorem.
\EXAMPLE
The following is a specialization of a theorem from theory {arithmetic}.
{
# let t = ARITH_RULE `!m n p q. m <= p /\ n <= q ==> (m + n) <= (p +
q)`;;
val t : thm = |- !m n p q. m <= p /\ n <= q ==> m + n <= p + q
36
37
38
39
40
41
42
43
44
45
46
47
# SPECL [`1`; `2`; `3`; `4`] t;;;
val it : thm = |- 1 <= 3 /\ 2 <= 4 ==> 1 + 2 <= 3 + 4
}
\COMMENTS
In order to specialize variables while also instantiating types of
polymorphic
variables, use {ISPECL} instead.
\SEEALSO
GEN, GENL, GEN_ALL, GEN_TAC, SPEC, SPEC_ALL, SPEC_TAC.
\ENDDOC
APT Browse - Built by Thomas Orozco.
Download