This module is responsible for proving the unfolding equation for functions defined
by well-founded recursion. It uses WellFounded.fix_eq, and then has to undo
the changes to matchers that WF.Fix did using MatcherApp.addArg.
This is done using a single-pass simp traversal of the expression that looks
for expressions that were modified that way, and rewrites them back using the
rather specialized _arg_pusher theorem that is generated by mkMatchArgPusher.
def Lean.Elab.WF.mkUnfoldEq (preDef : PreDefinition) (unaryPreDefName : Name) (wfPreprocessProof : Meta.Simp.Result) :
Equations
- One or more equations did not get rendered due to their size.
Instances For
Derives the equational theorem for the individual functions from the equational
theorem of foo._unary or foo._binary.
It should just be a specialization of that one, due to defeq.
Equations
- One or more equations did not get rendered due to their size.