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
Assemble the RecArgInfo for the ith parameter in the parameter list xs. This performs
various sanity checks on the parameter (is it even of inductive type etc).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Collects the RecArgInfos for one function, and returns a report for why the others were not
considered.
The xs are the fixed parameters, value the body with the fixed prefix instantiated.
Takes the optional user annotation into account (termMeasure?). If this is given and the measure
is unsuitable, throw an error.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Reorders the RecArgInfos of one function to put arguments that are indices of other arguments
last.
See issue #837 for an example where we can show termination using the index of an inductive family, but
we don't get the desired definitional equalities.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given the RecArgInfos of all the recursive functions, find the inductive groups to consider.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Filters the recArgInfos by those that describe an argument that's part of the recursive inductive
group group.
Because of nested inductives this function has the ability to change the recArgInfo.
Consider
inductive Tree where | node : List Tree → Tree
then when we look for arguments whose type is part of the group Tree, we want to also consider
the argument of type List Tree, even though that argument’s RecArgInfo refers to initially to
List.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
A candidate argument combination to try for structural recursion.
- group : IndGroupInst
- comb : Array RecArgInfo
Instances For
Result of findRecArgCandidates: candidate combinations and a diagnostic report.
- candidates : Array RecArgCandidate
- report : MessageData
Instances For
Precompute all candidate argument combinations for structural recursion.
This performs the analysis that may need function axioms in the environment
(via isDefEq, inferType, etc.) but does not run the callback that
attempts to eliminate mutual recursion.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Try each candidate argument combination for structural recursion.
Uses commitIfNoEx to backtrack on failure.
Equations
- One or more equations did not get rendered due to their size.