explicitsubstitution
Explicit substitution is a formal framework in the lambda calculus in which the operation of substitution—replacing a variable with a term—is treated as a first-class syntactic construct rather than an implicit meta-operation. In explicit substitution calculi, terms are built from lambda expressions together with explicit substitution operators, typically written as t[x := s], indicating that every free occurrence of x in t should be replaced by s when the substitution is performed. Reduction proceeds with rules that manipulate both the lambda-term structure and the substitutions themselves, making the order of operations and potential sharing explicit.
The key ideas include explicit representation of substitutions, rules for composing substitutions, lifting substitutions under lambda
Purpose and use include studying properties of substitution, formalizing environments and closures, and modeling the implementation
Relation to standard beta-reduction is central: explicit substitution is designed to be equivalent in expressive power