- name : RuleName
- indexingMode : IndexingMode
- pattern? : Option RulePattern
- extra : α
- tac : RuleTacDescr
Instances For
Equations
- Aesop.Rule.instBEq = { beq := fun (r s : Aesop.Rule α) => r.name == s.name }
Equations
- Aesop.Rule.instOrd = { compare := fun (r s : Aesop.Rule α) => compare r.name s.name }
Equations
- Aesop.Rule.instHashable = { hash := fun (r : Aesop.Rule α) => hash r.name }
@[inline]
Equations
- Aesop.Rule.map f r = { name := r.name, indexingMode := r.indexingMode, pattern? := r.pattern?, extra := f r.extra, tac := r.tac }
Instances For
@[inline]
def
Aesop.Rule.mapM
{m : Type → Type u_1}
{α β : Type}
[Monad m]
(f : α → m β)
(r : Rule α)
:
m (Rule β)
Equations
- Aesop.Rule.mapM f r = do let __do_lift ← f r.extra pure { name := r.name, indexingMode := r.indexingMode, pattern? := r.pattern?, extra := __do_lift, tac := r.tac }