Term elaborators for reduction #
The beta% f x1 ... xn term elaborator elaborates the expression
f x1 ... xn and then does one level of beta reduction.
That is, if f is a lambda then it will substitute its arguments.
The purpose of this is to support substitutions in notations such as
∀ i, beta% p i so that p i gets beta reduced when p is a lambda.
beta% t elaborates t and then if the result is in the form
f x1 ... xn where f is a (nested) lambda expression,
it will substitute all of its arguments by beta reduction.
This does not recursively do beta reduction, nor will it do
beta reduction of subexpressions.
In particular, t is elaborated, its metavariables are instantiated,
and then Lean.Expr.headBeta is applied.
Equations
- One or more equations did not get rendered due to their size.
Instances For
beta% t elaborates t and then if the result is in the form
f x1 ... xn where f is a (nested) lambda expression,
it will substitute all of its arguments by beta reduction.
This does not recursively do beta reduction, nor will it do
beta reduction of subexpressions.
In particular, t is elaborated, its metavariables are instantiated,
and then Lean.Expr.headBeta is applied.
Equations
- One or more equations did not get rendered due to their size.
Instances For
delta% t elaborates to a head-delta reduced version of t.
Equations
- One or more equations did not get rendered due to their size.
Instances For
delta% t elaborates to a head-delta reduced version of t.
Equations
- One or more equations did not get rendered due to their size.
Instances For
zeta% t elaborates to a zeta and zeta-delta reduced version of t.
Equations
- One or more equations did not get rendered due to their size.
Instances For
zeta% t elaborates to a zeta and zeta-delta reduced version of t.
Equations
- One or more equations did not get rendered due to their size.
Instances For
reduceProj% t apply Expr.reduceProjStruct? to all subexpressions of t.
Equations
- One or more equations did not get rendered due to their size.
Instances For
reduceProj% t apply Expr.reduceProjStruct? to all subexpressions of t.
Equations
- One or more equations did not get rendered due to their size.