ALPHA_CONV
Drule.ALPHA_CONV : term -> conv
Renames the bound variable of a lambda-abstraction.
If x
is a variable of type ty
and
M
is an abstraction (with bound variable y
of
type ty
and body t
), then
ALPHA_CONV x M
returns the theorem:
|- (\y.t) = (\x'. t[x'/y])
where the variable x':ty
is a primed variant of
x
chosen so as not to be free in \y.t
.
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.