Data for user-defined theorems marked with the congr attribute.
This type should be confused with CongrTheorem which represents different kinds of automatically
generated congruence theorems. The simp tactic also uses some of them.
Instances For
- lemmas : Lean.SMap Lean.Name (List Lean.Meta.SimpCongrTheorem)
Instances For
Instances For
def
Lean.Meta.addSimpCongrTheoremEntry
(d : Lean.Meta.SimpCongrTheorems)
(e : Lean.Meta.SimpCongrTheorem)
:
Instances For
Instances For
Return true if t contains a metavariable that is not in mvarSet
Equations
- Lean.Meta.mkSimpCongrTheorem.onlyMVarsAt t mvarSet = (Lean.Expr.find? (fun (e : Lean.Expr) => e.isMVar && !Lean.RBTree.contains mvarSet e.mvarId!) t).isNone
Instances For
def
Lean.Meta.addSimpCongrTheorem
(declName : Lean.Name)
(attrKind : Lean.AttributeKind)
(prio : Nat)
:
Equations
- Lean.Meta.addSimpCongrTheorem declName attrKind prio = do let lemma ← Lean.Meta.mkSimpCongrTheorem declName prio Lean.ScopedEnvExtension.add Lean.Meta.congrExtension lemma attrKind