File: ALPHA_CONV.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 (29 lines) | stat: -rw-r--r-- 707 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
\DOC ALPHA_CONV

\TYPE {ALPHA_CONV : (term -> conv)}

\SYNOPSIS
Renames the bound variable of a lambda-abstraction.

\KEYWORDS
conversion, alpha.

\DESCRIBE
If {"x"} is a variable of type {ty} and {"\y.t"} is an abstraction in which
the bound variable {y} also has type {ty}, then {ALPHA_CONV "x" "\y.t"}
returns the theorem:
{
   |- (\y.t) = (\x'. t[x'/y])
}
\noindent where the variable {x':ty} is a primed variant of {x} chosen so
as not to be free in {"\y.t"}.

\FAILURE
{ALPHA_CONV "x" "tm"} fails if {x} is not a variable, if {tm} is not an
abstraction, or if {x} is a variable {v} and {tm} is a lambda abstraction
{\y.t} but the types of {v} and {y} differ.

\SEEALSO
ALPHA, GEN_ALPHA_CONV.

\ENDDOC