The phase at which a cbv_simproc fires during cbv normalization.
pre(↓): Fires on each subexpression before cbv reduction, so arguments are still unreduced. Runs before cbv-specific pre-steps (projection reduction, unfolding, etc.).eval(cbv_eval): Fires during the post phase, after ground evaluation but beforehandleAppattempts equation lemmas, unfolding, and recursion reduction. Arguments have already been reduced.post(↑, default): Fires during the post phase, afterhandleApphas attempted standard reduction. Arguments have already been reduced.
- pre : CbvSimprocPhase
- eval : CbvSimprocPhase
- post : CbvSimprocPhase
Instances For
@[implicit_reducible]
@[implicit_reducible]
Instances For
@[implicit_reducible]
Instances For
Instances For
@[implicit_reducible]
@[implicit_reducible]
- declName : Name
- phase : CbvSimprocPhase
- keys : Array DiscrTree.Key
Instances For
@[implicit_reducible]
- proc : Sym.Simp.Simproc
Instances For
@[implicit_reducible]
@[implicit_reducible]
- pre : DiscrTree CbvSimprocEntry
- eval : DiscrTree CbvSimprocEntry
- post : DiscrTree CbvSimprocEntry
Instances For
@[implicit_reducible]
def
Lean.Meta.Tactic.Cbv.CbvSimprocs.addCore
(s : CbvSimprocs)
(keys : Array DiscrTree.Key)
(declName : Name)
(phase : CbvSimprocPhase)
(proc : Sym.Simp.Simproc)
:
Instances For
Instances For
- keys : Std.HashMap Name (Array DiscrTree.Key)
- procs : Std.HashMap Name Sym.Simp.Simproc
Instances For
@[implicit_reducible]
def
Lean.Meta.Tactic.Cbv.registerBuiltinCbvSimproc
(declName : Name)
(keys : Array DiscrTree.Key)
(proc : Sym.Simp.Simproc)
:
Instances For
- declName : Name
- keys : Array DiscrTree.Key
Instances For
@[implicit_reducible]
- builtin : Std.HashMap Name (Array DiscrTree.Key)
- newEntries : PHashMap Name (Array DiscrTree.Key)
Instances For
@[implicit_reducible]
Instances For
Instances For
Instances For
@[implemented_by Lean.Meta.Tactic.Cbv.getCbvSimprocFromDeclImpl]
Instances For
def
Lean.Meta.Tactic.Cbv.addCbvSimprocAttrCore
(declName : Name)
(kind : AttributeKind)
(phase : CbvSimprocPhase)
:
Instances For
def
Lean.Meta.Tactic.Cbv.addCbvSimprocAttr
(declName : Name)
(stx : Syntax)
(attrKind : AttributeKind)
:
Instances For
def
Lean.Meta.Tactic.Cbv.addCbvSimprocBuiltinAttrCore
(ref : IO.Ref CbvSimprocs)
(declName : Name)
(phase : CbvSimprocPhase)
(proc : Sym.Simp.Simproc)
:
Instances For
def
Lean.Meta.Tactic.Cbv.addCbvSimprocBuiltinAttr
(declName : Name)
(phase : CbvSimprocPhase)
(proc : Sym.Simp.Simproc)
:
Instances For
def
Lean.Meta.Tactic.Cbv.cbvSimprocDispatch
(tree : DiscrTree CbvSimprocEntry)
(erased : PHashSet Name)
: