Calculates the .brecOn
motive corresponding to one structural recursive function.
The value
is the function with (only) the fixed parameters moved into the context.
Instances For
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.
Instances For
Given the motives
, figures out whether to use .brecOn
or .binductionOn
, pass
the right universe levels, the parameters, and the motives.
It was already checked earlier in checkCodomainsLevel
that the functions live in the same universe.
Instances For
Given the recArgInfos
and the motives
, infer the types of the F
arguments to the .brecOn
combinators. This assumes that all .brecOn
functions of a mutual inductive have the same structure.
It also undoes the permutation and packing done by packMotives
Instances For
Completes the .brecOn
for the given function.
The value
is the function with (only) the fixed parameters moved into the context.