This module contains code common to mutual-via-fixedpoint constructions, i.e. well-founded recursion and partial fixed-points, but independent of the details of the mutual packing.
def
Lean.Elab.Mutual.withCommonTelescope
{α : Type}
(preDefs : Array PreDefinition)
(k : Array Expr → Array Expr → MetaM α)
:
MetaM α
Equations
- Lean.Elab.Mutual.withCommonTelescope preDefs k = Lean.Elab.Mutual.withCommonTelescope.go k #[] (Array.map (fun (x : Lean.Elab.PreDefinition) => x.value) preDefs)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.Elab.Mutual.addPreDefsFromUnary
(preDefs preDefsNonrec : Array PreDefinition)
(unaryPreDefNonRec : PreDefinition)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
Cleans the right-hand-sides of the predefinitions, to prepare for inclusion in the EqnInfos:
- Remove RecAppSyntax markers
- Abstracts nested proofs (and for that, add the
_unsafe_rec
definitions)
Equations
- One or more equations did not get rendered due to their size.
Instances For
Assign final attributes to the definitions. Assumes the EqnInfos to be already present.
Equations
- One or more equations did not get rendered due to their size.