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.