Documentation

Lean.Elab.PreDefinition.Structural.IndPred

def Lean.Elab.Structural.withFunTypes {α : Type} (values : Array Expr) (k : Array ExprM α) :
M α

Turns fun a b => x into let funType := fun a b => α (where x : α). The continuation is the called with all funTypes corresponding to the values.

Equations
Instances For
    def Lean.Elab.Structural.mkIndPredBRecOnMotive (recArgInfo : RecArgInfo) (value funType : Expr) :

    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.
      Instances For