def
Lean.Elab.Structural.addSmartUnfoldingDefAux
(preDef : Lean.Elab.PreDefinition)
(recArgPos : Nat)
:
Instances For
partial def
Lean.Elab.Structural.addSmartUnfoldingDefAux.visit
(preDef : Lean.Elab.PreDefinition)
(recArgPos : Nat)
(e : Lean.Expr)
:
Auxiliary method for annotating match
-alternatives with markSmartUnfoldingMatch
and markSmartUnfoldingMatchAlt
.
It uses the following approach:
- Whenever it finds a
match
applicatione
s.t.recArgHasLooseBVarsAt preDef.declName recArgPos e
, it marks thematch
withmarkSmartUnfoldingMatch
, and each alternative that does not contain a nested markedmatch
is marked withmarkSmartUnfoldingMatchAlt
.
Recall that the condition recArgHasLooseBVarsAt preDef.declName recArgPos e
is the one used at mkBRecOn
.
def
Lean.Elab.Structural.addSmartUnfoldingDef
(preDef : Lean.Elab.PreDefinition)
(recArgPos : Nat)
: