Typeclass for congruence over a context.
The relation r is a congruence on α. This class gives access to the ≡[r] notation.
To instantiate a canonical congruence for α, see HasCongruence.
Congruence relations should also instantiate LawfulCongruence to prove that the relation respects
the expected congruence laws.
Instances
@[reducible, inline]
a ≡[r] b means that the a and b are related by the congruence r.
Equations
- Cslib.Congruence.r r = r
Instances For
a ≡[r] b means that the a and b are related by the congruence r.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[reducible, inline]
abbrev Cslib.DefaultCongruence.r {α : Type u_1} {r : α → α → Prop} [DefaultCongruence α r] (a b : α) :
a ≡ b means that a and b are related by the canonical congruence relation for their
type.
Equations
- Cslib.DefaultCongruence.r a b = r a b
Instances For
a ≡ b means that a and b are related by the canonical congruence relation for their
type.
Equations
- Cslib.«term_≡_» = Lean.ParserDescr.trailingNode `Cslib.«term_≡_» 29 30 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ≡ ") (Lean.ParserDescr.cat `term 30))
Instances For
@[instance_reducible]
instance Cslib.instCongruenceOfDefaultCongruence (α : Type u_1) (r : α → α → Prop) [DefaultCongruence α r] :
Equations
class Cslib.LawfulCongruence {α : Type u_1} (r : α → α → Prop) [Congruence r] [HasContext α] extends IsEquiv α r, CovariantClass (Cslib.HasContext.Context α) α (fun (x1 : Cslib.HasContext.Context α) (x2 : α) => x1<[x2]) r :
An equivalence relation on α preserved by all contexts.
- elim : Covariant (Cslib.HasContext.Context α) α (fun (x1 : Cslib.HasContext.Context α) (x2 : α) => x1<[x2]) r