Collection of variables used to keep track of the positions of binders in the construction
of below motives and constructors.
- innerType : Expr
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.Meta.IndPredBelow.mkCtorType
(ctx : Context)
(belowIdx : Nat)
(originalCtor : ConstructorVal)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.Meta.IndPredBelow.mkBelowMatcher
(matcherApp : MatcherApp)
(belowMotive below : Expr)
(idx : Nat)
:
This function adds an additional below discriminant to a matcher application.
It is used for modifying the patterns, such that the structural recursion can use the new
below predicate instead of the original one and thus be used prove structural recursion.
It takes as parameters:
- matcherApp: a matcher application
- belowMotive: the motive, that the
belowtype should carry - below: an expression from the local context that is the
belowversion of a predicate and can be used for structural recursion - idx: the index of the original predicate discriminant.
It returns:
- A matcher application as an expression
- A side-effect for adding the matcher to the environment
Equations
- One or more equations did not get rendered due to their size.
Instances For
Generates the auxiliary lemmas below and brecOn for a recursive inductive predicate.
The current generator doesn't support nested predicates, but pattern-matching on them still works
thanks to well-founded recursion.
Equations
- One or more equations did not get rendered due to their size.