Documentation

Mathlib.RingTheory.Congruence.Basic

Congruence relations on rings #

This file contains basic results concerning congruence relations on rings, which extend Con and AddCon on monoids and additive monoids.

Most of the time you likely want to use the Ideal.Quotient API that is built on top of this.

Main Definitions #

TODO #

Scalar multiplication #

The operation of scalar multiplication โ€ข descends naturally to the quotient.

instance RingCon.instSMulQuotient {ฮฑ : Type u_1} {R : Type u_3} [Add R] [MulOneClass R] [SMul ฮฑ R] [IsScalarTower ฮฑ R R] (c : RingCon R) :
SMul ฮฑ c.Quotient
Equations
    @[simp]
    theorem RingCon.coe_smul {ฮฑ : Type u_1} {R : Type u_3} [Add R] [MulOneClass R] [SMul ฮฑ R] [IsScalarTower ฮฑ R R] (c : RingCon R) (a : ฮฑ) (x : R) :
    โ†‘(a โ€ข x) = a โ€ข โ†‘x
    instance RingCon.instSMulCommClassQuotient {ฮฑ : Type u_1} {ฮฒ : Type u_2} {R : Type u_3} [Add R] [MulOneClass R] [SMul ฮฑ R] [IsScalarTower ฮฑ R R] [SMul ฮฒ R] [IsScalarTower ฮฒ R R] (c : RingCon R) [SMulCommClass ฮฑ ฮฒ R] :
    SMulCommClass ฮฑ ฮฒ c.Quotient
    instance RingCon.instIsScalarTowerQuotient {ฮฑ : Type u_1} {ฮฒ : Type u_2} {R : Type u_3} [Add R] [MulOneClass R] [SMul ฮฑ R] [IsScalarTower ฮฑ R R] [SMul ฮฒ R] [IsScalarTower ฮฒ R R] (c : RingCon R) [SMul ฮฑ ฮฒ] [IsScalarTower ฮฑ ฮฒ R] :
    IsScalarTower ฮฑ ฮฒ c.Quotient
    instance RingCon.instIsCentralScalarQuotient {ฮฑ : Type u_1} {R : Type u_3} [Add R] [MulOneClass R] [SMul ฮฑ R] [IsScalarTower ฮฑ R R] (c : RingCon R) [SMul ฮฑแตแต’แต– R] [IsCentralScalar ฮฑ R] :
    instance RingCon.isScalarTower_right {ฮฑ : Type u_1} {R : Type u_3} [Add R] [MulOneClass R] [SMul ฮฑ R] [IsScalarTower ฮฑ R R] (c : RingCon R) :
    instance RingCon.smulCommClass {ฮฑ : Type u_1} {R : Type u_3} [Add R] [MulOneClass R] [SMul ฮฑ R] [IsScalarTower ฮฑ R R] [SMulCommClass ฮฑ R R] (c : RingCon R) :
    instance RingCon.smulCommClass' {ฮฑ : Type u_1} {R : Type u_3} [Add R] [MulOneClass R] [SMul ฮฑ R] [IsScalarTower ฮฑ R R] [SMulCommClass R ฮฑ R] (c : RingCon R) :
    instance RingCon.instMulSemiringActionQuotientOfIsScalarTower {ฮฑ : Type u_1} {R : Type u_3} [Monoid ฮฑ] [Semiring R] [MulSemiringAction ฮฑ R] [IsScalarTower ฮฑ R R] (c : RingCon R) :
    Equations

      Lattice structure #

      The API in this section is copied from Mathlib/GroupTheory/Congruence/Defs.lean

      instance RingCon.instLE {R : Type u_3} [Add R] [Mul R] :

      For congruence relations c, d on a type M with multiplication and addition, c โ‰ค d iff โˆ€ x y โˆˆ M, x is related to y by d if x is related to y by c.

      Equations
        theorem RingCon.le_def {R : Type u_3} [Add R] [Mul R] {c d : RingCon R} :
        c โ‰ค d โ†” โˆ€ {x y : R}, c x y โ†’ d x y

        Definition of โ‰ค for congruence relations.

        theorem RingCon.comap_mono {R : Type u_3} [Add R] [Mul R] {R' : Type u_4} [Add R'] [Mul R'] {F : Type u_5} [FunLike F R R'] [AddHomClass F R R'] [MulHomClass F R R'] {J J' : RingCon R'} {f : F} (h : J โ‰ค J') :
        instance RingCon.instInfSet {R : Type u_3} [Add R] [Mul R] :

        The infimum of a set of congruence relations on a given type with multiplication and addition.

        Equations
          theorem RingCon.sInf_toSetoid {R : Type u_3} [Add R] [Mul R] (S : Set (RingCon R)) :
          (sInf S).toSetoid = sInf ((fun (x : RingCon R) => x.toSetoid) '' S)

          The infimum of a set of congruence relations is the same as the infimum of the set's image under the map to the underlying equivalence relation.

          @[simp]
          theorem RingCon.coe_sInf {R : Type u_3} [Add R] [Mul R] (S : Set (RingCon R)) :
          โ‡‘(sInf S) = sInf (DFunLike.coe '' S)

          The infimum of a set of congruence relations is the same as the infimum of the set's image under the map to the underlying binary relation.

          @[simp]
          theorem RingCon.coe_iInf {R : Type u_3} [Add R] [Mul R] {ฮน : Sort u_4} (f : ฮน โ†’ RingCon R) :
          โ‡‘(iInf f) = โจ… (i : ฮน), โ‡‘(f i)

          The complete lattice of congruence relations on a given type with multiplication and addition.

          Equations
            @[simp]
            theorem RingCon.coe_top {R : Type u_3} [Add R] [Mul R] :
            @[simp]
            theorem RingCon.coe_bot {R : Type u_3} [Add R] [Mul R] :
            โ‡‘โŠฅ = Eq
            @[simp]
            theorem RingCon.coe_inf {R : Type u_3} [Add R] [Mul R] {c d : RingCon R} :
            โ‡‘(c โŠ“ d) = โ‡‘c โŠ“ โ‡‘d

            The infimum of two congruence relations equals the infimum of the underlying binary operations.

            theorem RingCon.inf_iff_and {R : Type u_3} [Add R] [Mul R] {c d : RingCon R} {x y : R} :
            (c โŠ“ d) x y โ†” c x y โˆง d x y

            Definition of the infimum of two congruence relations.

            theorem RingCon.ringConGen_eq {R : Type u_3} [Add R] [Mul R] (r : R โ†’ R โ†’ Prop) :
            ringConGen r = sInf {s : RingCon R | โˆ€ (x y : R), r x y โ†’ s x y}

            The inductively defined smallest congruence relation containing a binary relation r equals the infimum of the set of congruence relations containing r.

            theorem RingCon.ringConGen_le {R : Type u_3} [Add R] [Mul R] {r : R โ†’ R โ†’ Prop} {c : RingCon R} (h : โˆ€ (x y : R), r x y โ†’ c x y) :

            The smallest congruence relation containing a binary relation r is contained in any congruence relation containing r.

            theorem RingCon.ringConGen_mono {R : Type u_3} [Add R] [Mul R] {r s : R โ†’ R โ†’ Prop} (h : โˆ€ (x y : R), r x y โ†’ s x y) :

            Given binary relations r, s with r contained in s, the smallest congruence relation containing s contains the smallest congruence relation containing r.

            theorem RingCon.ringConGen_of_ringCon {R : Type u_3} [Add R] [Mul R] (c : RingCon R) :
            ringConGen โ‡‘c = c

            Congruence relations equal the smallest congruence relation in which they are contained.

            theorem RingCon.ringConGen_idem {R : Type u_3} [Add R] [Mul R] (r : R โ†’ R โ†’ Prop) :

            The map sending a binary relation to the smallest congruence relation in which it is contained is idempotent.

            theorem RingCon.sup_eq_ringConGen {R : Type u_3} [Add R] [Mul R] (c d : RingCon R) :
            c โŠ” d = ringConGen fun (x y : R) => c x y โˆจ d x y

            The supremum of congruence relations c, d equals the smallest congruence relation containing the binary relation 'x is related to y by c or d'.

            theorem RingCon.sup_def {R : Type u_3} [Add R] [Mul R] {c d : RingCon R} :
            c โŠ” d = ringConGen (โ‡‘c โŠ” โ‡‘d)

            The supremum of two congruence relations equals the smallest congruence relation containing the supremum of the underlying binary operations.

            theorem RingCon.sSup_eq_ringConGen {R : Type u_3} [Add R] [Mul R] (S : Set (RingCon R)) :
            sSup S = ringConGen fun (x y : R) => โˆƒ c โˆˆ S, c x y

            The supremum of a set of congruence relations S equals the smallest congruence relation containing the binary relation 'there exists c โˆˆ S such that x is related to y by c'.

            theorem RingCon.sSup_def {R : Type u_3} [Add R] [Mul R] {S : Set (RingCon R)} :

            The supremum of a set of congruence relations is the same as the smallest congruence relation containing the supremum of the set's image under the map to the underlying binary relation.

            There is a Galois insertion of congruence relations on a type with multiplication and addition R into binary relations on R.

            Equations
              Instances For