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.