Definition
Alpha equivalence (or α-equivalence) is an equivalence relation on expressions stating that two terms are equal if they differ only in the names of bound variables.
In Lambda Calculus and Type Theory, alpha equivalence formalizes the principle that the choice of bound variable names does not affect the meaning of an expression.
Two terms are alpha equivalent, written , if one can be obtained from the other by consistently renaming bound variables.
Alpha Conversion
Alpha conversion (or α-conversion) is the operation of renaming bound variables. For example:
provided (i.e., is fresh and does not appear free in ).
Examples
Lambda Abstractions
Both represent the identity function, differing only in parameter name.
The nested abstractions can have their bound variables renamed independently.
Avoiding Capture
Alpha conversion is essential for avoiding variable capture during Substitution:
Instead, we must first alpha-convert: , then substitute:
Non-Equivalent Terms
These differ in their free variables, not just bound variable names.
The first is a closed term, the second contains a free variable .
Formal Definition
Alpha equivalence can be defined inductively on term structure:
- for any variable
- if and
- if and is fresh for
Properties
- Alpha equivalence is an equivalence relation (reflexive, symmetric, transitive)
- Alpha equivalent terms have the same free variables: if , then
- Alpha equivalence is preserved under substitution: if , then
- Beta reduction respects alpha equivalence: if and , then there exists such that and
Identification Up to Alpha
In practice, terms are typically identified up to alpha equivalence. This means:
- Two terms differing only in bound variable names are considered identical
- Implementations use techniques like de Bruijn indices or locally nameless representations to avoid explicit alpha conversion
- Type checkers and proof assistants treat alpha-equivalent terms as definitionally equal
In Dependent Type Theory
Alpha equivalence extends to dependent types:
provided the renaming is capture-avoiding.
Related Concepts
- Bound Variable: Variables whose names can be changed via alpha conversion
- Free Variable: Variables that are preserved by alpha equivalence
- Substitution: The operation underlying alpha conversion
- Scope: The region affected by variable renaming
- Lambda Calculus: The foundational system where alpha equivalence is defined
- Variable: The syntactic objects being renamed
- Beta Reduction: A reduction that respects alpha equivalence