Turns fun a b => x
into let funType := fun a b => α
(where x : α
).
The continuation is the called with all funType
s corresponding to the values.
Equations
- Lean.Elab.Structural.withFunTypes values k = Lean.Elab.Structural.withFunTypes.go✝ values k 0 #[]
Instances For
Calculates the .brecOn
motive corresponding to one structural recursive function.
The value
is the function with (only) the fixed parameters moved into the context.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.Elab.Structural.mkIndPredBRecOnF
(recArgInfos : Array RecArgInfo)
(positions : Positions)
(recArgInfo : RecArgInfo)
(value FType : Expr)
(params : Array Expr)
:
Calculates the .brecOn
functional argument corresponding to one structural recursive function.
The value
is the function with (only) the fixed parameters moved into the context,
The FType
is the expected type of the argument.
The recArgInfos
is used to transform the body of the function to replace recursive calls with
uses of the below
induction hypothesis.
Equations
- One or more equations did not get rendered due to their size.