- name : Aesop.RuleName
- indexingMode : Aesop.IndexingMode
- extra : α
- tac : Aesop.RuleTacDescr
Instances For
Equations
- Aesop.instInhabitedRule = { default := { name := default, indexingMode := default, extra := default, tac := default } }
Equations
- Aesop.Rule.compareByPriority r s = compare r.extra s.extra
Instances For
Equations
- Aesop.Rule.compareByName r s = Aesop.RuleName.compare r.name s.name
Instances For
Equations
- Aesop.Rule.compareByPriorityThenName r s = match Aesop.Rule.compareByPriority r s with | Ordering.eq => Aesop.Rule.compareByName r s | ord => ord
Instances For
@[inline]
Equations
- Aesop.Rule.map f r = { name := r.name, indexingMode := r.indexingMode, extra := f r.extra, tac := r.tac }
Instances For
@[inline]
def
Aesop.Rule.mapM
{m : Type → Type u_1}
{α : Type}
{β : Type}
[Monad m]
(f : α → m β)
(r : Aesop.Rule α)
:
m (Aesop.Rule β)
Equations
- Aesop.Rule.mapM f r = do let __do_lift ← f r.extra pure { name := r.name, indexingMode := r.indexingMode, extra := __do_lift, tac := r.tac }