Documentation

Mathlib.GroupTheory.Congruence.Hom

Congruence relations and homomorphisms #

This file contains elementary definitions involving congruence relations and morphisms.

Main definitions #

Tags #

congruence, congruence relation, quotient, quotient by congruence relation, monoid, quotient monoid

def Con.mkMulHom {M : Type u_1} [Mul M] (c : Con M) :

The natural homomorphism from a magma to its quotient by a congruence relation.

Equations
    Instances For
      def AddCon.mkAddHom {M : Type u_1} [Add M] (c : AddCon M) :

      The natural homomorphism from an additive magma to its quotient by an additive congruence relation.

      Equations
        Instances For
          @[simp]
          theorem Con.mkMulHom_apply {M : Type u_1} [Mul M] (c : Con M) (aโœ : M) :
          c.mkMulHom aโœ = โ†‘aโœ
          @[simp]
          theorem AddCon.mkAddHom_apply {M : Type u_1} [Add M] (c : AddCon M) (aโœ : M) :
          c.mkAddHom aโœ = โ†‘aโœ
          def Con.ker {M : Type u_1} {N : Type u_2} {F : Type u_4} [Mul M] [Mul N] [FunLike F M N] [MulHomClass F M N] (f : F) :
          Con M

          The kernel of a multiplicative homomorphism as a congruence relation.

          Equations
            Instances For
              def AddCon.ker {M : Type u_1} {N : Type u_2} {F : Type u_4} [Add M] [Add N] [FunLike F M N] [AddHomClass F M N] (f : F) :

              The kernel of an additive homomorphism as an additive congruence relation.

              Equations
                Instances For
                  theorem Con.ker_coeMulHom {M : Type u_1} {N : Type u_2} {F : Type u_4} [Mul M] [Mul N] [FunLike F M N] [MulHomClass F M N] (f : F) :
                  ker โ†‘f = ker f
                  theorem AddCon.ker_coeAddHom {M : Type u_1} {N : Type u_2} {F : Type u_4} [Add M] [Add N] [FunLike F M N] [AddHomClass F M N] (f : F) :
                  ker โ†‘f = ker f
                  @[simp]
                  theorem Con.ker_rel {M : Type u_1} {N : Type u_2} {F : Type u_4} [Mul M] [Mul N] [FunLike F M N] [MulHomClass F M N] (f : F) {x y : M} :
                  (ker f) x y โ†” f x = f y

                  The definition of the congruence relation defined by a monoid homomorphism's kernel.

                  @[simp]
                  theorem AddCon.ker_rel {M : Type u_1} {N : Type u_2} {F : Type u_4} [Add M] [Add N] [FunLike F M N] [AddHomClass F M N] (f : F) {x y : M} :
                  (ker f) x y โ†” f x = f y

                  The definition of the additive congruence relation defined by an AddMonoid homomorphism's kernel.

                  @[simp]
                  theorem Con.ker_mkMulHom_eq {M : Type u_1} [Mul M] (c : Con M) :
                  @[simp]
                  theorem AddCon.ker_mkAddHom_eq {M : Type u_1} [Add M] (c : AddCon M) :

                  The kernel of the quotient map induced by an additive congruence relation c equals c.

                  def Con.mapGen {M : Type u_1} {N : Type u_2} [Mul M] [Mul N] {c : Con M} (f : M โ†’ N) :
                  Con N

                  Given a function f, the smallest congruence relation containing the binary relation on f's image defined by 'x โ‰ˆ y iff the elements of fโปยน(x) are related to the elements of fโปยน(y) by a congruence relation c.'

                  Equations
                    Instances For
                      def AddCon.mapGen {M : Type u_1} {N : Type u_2} [Add M] [Add N] {c : AddCon M} (f : M โ†’ N) :

                      Given a function f, the smallest additive congruence relation containing the binary relation on f's image defined by 'x โ‰ˆ y iff the elements of fโปยน(x) are related to the elements of fโปยน(y) by an additive congruence relation c.'

                      Equations
                        Instances For
                          def Con.mapOfSurjective {M : Type u_1} {N : Type u_2} {F : Type u_4} [Mul M] [Mul N] [FunLike F M N] [MulHomClass F M N] {c : Con M} (f : F) (h : ker f โ‰ค c) (hf : Function.Surjective โ‡‘f) :
                          Con N

                          Given a surjective multiplicative-preserving function f whose kernel is contained in a congruence relation c, the congruence relation on f's codomain defined by 'x โ‰ˆ y iff the elements of fโปยน(x) are related to the elements of fโปยน(y) by c.'

                          Equations
                            Instances For
                              def AddCon.mapOfSurjective {M : Type u_1} {N : Type u_2} {F : Type u_4} [Add M] [Add N] [FunLike F M N] [AddHomClass F M N] {c : AddCon M} (f : F) (h : ker f โ‰ค c) (hf : Function.Surjective โ‡‘f) :

                              Given a surjective addition-preserving function f whose kernel is contained in an additive congruence relation c, the additive congruence relation on f's codomain defined by 'x โ‰ˆ y iff the elements of fโปยน(x) are related to the elements of fโปยน(y) by c.'

                              Equations
                                Instances For
                                  theorem Con.mapOfSurjective_eq_mapGen {M : Type u_1} {N : Type u_2} {F : Type u_4} [Mul M] [Mul N] [FunLike F M N] [MulHomClass F M N] {c : Con M} {f : F} (h : ker f โ‰ค c) (hf : Function.Surjective โ‡‘f) :
                                  mapGen โ‡‘f = mapOfSurjective f h hf

                                  A specialization of 'the smallest congruence relation containing a congruence relation c equals c'.

                                  theorem AddCon.mapOfSurjective_eq_mapGen {M : Type u_1} {N : Type u_2} {F : Type u_4} [Add M] [Add N] [FunLike F M N] [AddHomClass F M N] {c : AddCon M} {f : F} (h : ker f โ‰ค c) (hf : Function.Surjective โ‡‘f) :
                                  mapGen โ‡‘f = mapOfSurjective f h hf

                                  A specialization of 'the smallest additive congruence relation containing an additive congruence relation c equals c'.

                                  def Con.correspondence {M : Type u_1} [Mul M] {c : Con M} :

                                  Given a congruence relation c on a type M with a multiplication, the order-preserving bijection between the set of congruence relations containing c and the congruence relations on the quotient of M by c.

                                  Equations
                                    Instances For

                                      Given an additive congruence relation c on a type M with an addition, the order-preserving bijection between the set of additive congruence relations containing c and the additive congruence relations on the quotient of M by c.

                                      Equations
                                        Instances For
                                          def Con.mk' {M : Type u_1} [MulOneClass M] (c : Con M) :

                                          The natural homomorphism from a monoid to its quotient by a congruence relation.

                                          Equations
                                            Instances For
                                              def AddCon.mk' {M : Type u_1} [AddZeroClass M] (c : AddCon M) :

                                              The natural homomorphism from an AddMonoid to its quotient by an additive congruence relation.

                                              Equations
                                                Instances For
                                                  @[simp]
                                                  theorem Con.mk'_ker {M : Type u_1} [MulOneClass M] (c : Con M) :
                                                  ker c.mk' = c

                                                  The kernel of the natural homomorphism from a monoid to its quotient by a congruence relation c equals c.

                                                  @[simp]
                                                  theorem AddCon.mk'_ker {M : Type u_1} [AddZeroClass M] (c : AddCon M) :
                                                  ker c.mk' = c

                                                  The kernel of the natural homomorphism from an AddMonoid to its quotient by an additive congruence relation c equals c.

                                                  theorem Con.mk'_surjective {M : Type u_1} [MulOneClass M] {c : Con M} :

                                                  The natural homomorphism from a monoid to its quotient by a congruence relation is surjective.

                                                  theorem AddCon.mk'_surjective {M : Type u_1} [AddZeroClass M] {c : AddCon M} :

                                                  The natural homomorphism from an AddMonoid to its quotient by a congruence relation is surjective.

                                                  @[simp]
                                                  theorem Con.coe_mk' {M : Type u_1} [MulOneClass M] {c : Con M} :
                                                  โ‡‘c.mk' = toQuotient
                                                  @[simp]
                                                  theorem AddCon.coe_mk' {M : Type u_1} [AddZeroClass M] {c : AddCon M} :
                                                  โ‡‘c.mk' = toQuotient
                                                  theorem Con.ker_apply {M : Type u_1} {P : Type u_3} [MulOneClass M] [MulOneClass P] {f : M โ†’* P} {x y : M} :
                                                  (ker f) x y โ†” f x = f y
                                                  theorem AddCon.ker_apply {M : Type u_1} {P : Type u_3} [AddZeroClass M] [AddZeroClass P] {f : M โ†’+ P} {x y : M} :
                                                  (ker f) x y โ†” f x = f y
                                                  theorem Con.comap_eq {M : Type u_1} {N : Type u_2} [MulOneClass M] [MulOneClass N] {c : Con M} {f : N โ†’* M} :
                                                  comap โ‡‘f โ‹ฏ c = ker (c.mk'.comp f)

                                                  Given a monoid homomorphism f : N โ†’ M and a congruence relation c on M, the congruence relation induced on N by f equals the kernel of c's quotient homomorphism composed with f.

                                                  theorem AddCon.comap_eq {M : Type u_1} {N : Type u_2} [AddZeroClass M] [AddZeroClass N] {c : AddCon M} {f : N โ†’+ M} :
                                                  comap โ‡‘f โ‹ฏ c = ker (c.mk'.comp f)

                                                  Given an AddMonoid homomorphism f : N โ†’ M and an additive congruence relation c on M, the additive congruence relation induced on N by f equals the kernel of c's quotient homomorphism composed with f.

                                                  def Con.lift {M : Type u_1} {P : Type u_3} [MulOneClass M] [MulOneClass P] (c : Con M) (f : M โ†’* P) (H : c โ‰ค ker f) :

                                                  The homomorphism on the quotient of a monoid by a congruence relation c induced by a homomorphism constant on c's equivalence classes.

                                                  Equations
                                                    Instances For
                                                      def AddCon.lift {M : Type u_1} {P : Type u_3} [AddZeroClass M] [AddZeroClass P] (c : AddCon M) (f : M โ†’+ P) (H : c โ‰ค ker f) :

                                                      The homomorphism on the quotient of an AddMonoid by an additive congruence relation c induced by a homomorphism constant on c's equivalence classes.

                                                      Equations
                                                        Instances For
                                                          theorem Con.lift_mk' {M : Type u_1} {P : Type u_3} [MulOneClass M] [MulOneClass P] {c : Con M} {f : M โ†’* P} (H : c โ‰ค ker f) (x : M) :
                                                          (c.lift f H) (c.mk' x) = f x

                                                          The diagram describing the universal property for quotients of monoids commutes.

                                                          theorem AddCon.lift_mk' {M : Type u_1} {P : Type u_3} [AddZeroClass M] [AddZeroClass P] {c : AddCon M} {f : M โ†’+ P} (H : c โ‰ค ker f) (x : M) :
                                                          (c.lift f H) (c.mk' x) = f x

                                                          The diagram describing the universal property for quotients of AddMonoids commutes.

                                                          @[simp]
                                                          theorem Con.lift_coe {M : Type u_1} {P : Type u_3} [MulOneClass M] [MulOneClass P] {c : Con M} {f : M โ†’* P} (H : c โ‰ค ker f) (x : M) :
                                                          (c.lift f H) โ†‘x = f x

                                                          The diagram describing the universal property for quotients of monoids commutes.

                                                          @[simp]
                                                          theorem AddCon.lift_coe {M : Type u_1} {P : Type u_3} [AddZeroClass M] [AddZeroClass P] {c : AddCon M} {f : M โ†’+ P} (H : c โ‰ค ker f) (x : M) :
                                                          (c.lift f H) โ†‘x = f x

                                                          The diagram describing the universal property for quotients of AddMonoids commutes.

                                                          @[simp]
                                                          theorem Con.lift_comp_mk' {M : Type u_1} {P : Type u_3} [MulOneClass M] [MulOneClass P] {c : Con M} {f : M โ†’* P} (H : c โ‰ค ker f) :
                                                          (c.lift f H).comp c.mk' = f

                                                          The diagram describing the universal property for quotients of monoids commutes.

                                                          @[simp]
                                                          theorem AddCon.lift_comp_mk' {M : Type u_1} {P : Type u_3} [AddZeroClass M] [AddZeroClass P] {c : AddCon M} {f : M โ†’+ P} (H : c โ‰ค ker f) :
                                                          (c.lift f H).comp c.mk' = f

                                                          The diagram describing the universal property for quotients of AddMonoids commutes.

                                                          @[simp]
                                                          theorem Con.lift_apply_mk' {M : Type u_1} {P : Type u_3} [MulOneClass M] [MulOneClass P] {c : Con M} (f : c.Quotient โ†’* P) :
                                                          c.lift (f.comp c.mk') โ‹ฏ = f

                                                          Given a homomorphism f from the quotient of a monoid by a congruence relation, f equals the homomorphism on the quotient induced by f composed with the natural map from the monoid to the quotient.

                                                          @[simp]
                                                          theorem AddCon.lift_apply_mk' {M : Type u_1} {P : Type u_3} [AddZeroClass M] [AddZeroClass P] {c : AddCon M} (f : c.Quotient โ†’+ P) :
                                                          c.lift (f.comp c.mk') โ‹ฏ = f

                                                          Given a homomorphism f from the quotient of an AddMonoid by an additive congruence relation, f equals the homomorphism on the quotient induced by f composed with the natural map from the AddMonoid to the quotient.

                                                          theorem Con.hom_ext {M : Type u_1} {P : Type u_3} [MulOneClass M] [MulOneClass P] {c : Con M} {f g : c.Quotient โ†’* P} (h : f.comp c.mk' = g.comp c.mk') :
                                                          f = g

                                                          Homomorphisms on the quotient of a monoid by a congruence relation c are equal if their compositions with c.mk' are equal.

                                                          theorem AddCon.hom_ext {M : Type u_1} {P : Type u_3} [AddZeroClass M] [AddZeroClass P] {c : AddCon M} {f g : c.Quotient โ†’+ P} (h : f.comp c.mk' = g.comp c.mk') :
                                                          f = g

                                                          Homomorphisms on the quotient of an AddMonoid by an additive congruence relation c are equal if their compositions with c.mk' are equal.

                                                          theorem AddCon.hom_ext_iff {M : Type u_1} {P : Type u_3} [AddZeroClass M] [AddZeroClass P] {c : AddCon M} {f g : c.Quotient โ†’+ P} :
                                                          f = g โ†” f.comp c.mk' = g.comp c.mk'
                                                          theorem Con.hom_ext_iff {M : Type u_1} {P : Type u_3} [MulOneClass M] [MulOneClass P] {c : Con M} {f g : c.Quotient โ†’* P} :
                                                          f = g โ†” f.comp c.mk' = g.comp c.mk'
                                                          theorem Con.lift_funext {M : Type u_1} {P : Type u_3} [MulOneClass M] [MulOneClass P] {c : Con M} (f g : c.Quotient โ†’* P) (h : โˆ€ (a : M), f โ†‘a = g โ†‘a) :
                                                          f = g

                                                          Homomorphisms on the quotient of a monoid by a congruence relation are equal if they are equal on elements that are coercions from the monoid.

                                                          theorem AddCon.lift_funext {M : Type u_1} {P : Type u_3} [AddZeroClass M] [AddZeroClass P] {c : AddCon M} (f g : c.Quotient โ†’+ P) (h : โˆ€ (a : M), f โ†‘a = g โ†‘a) :
                                                          f = g

                                                          Homomorphisms on the quotient of an AddMonoid by an additive congruence relation are equal if they are equal on elements that are coercions from the AddMonoid.

                                                          theorem Con.lift_unique {M : Type u_1} {P : Type u_3} [MulOneClass M] [MulOneClass P] {c : Con M} {f : M โ†’* P} (H : c โ‰ค ker f) (g : c.Quotient โ†’* P) (Hg : g.comp c.mk' = f) :
                                                          g = c.lift f H

                                                          The uniqueness part of the universal property for quotients of monoids.

                                                          theorem AddCon.lift_unique {M : Type u_1} {P : Type u_3} [AddZeroClass M] [AddZeroClass P] {c : AddCon M} {f : M โ†’+ P} (H : c โ‰ค ker f) (g : c.Quotient โ†’+ P) (Hg : g.comp c.mk' = f) :
                                                          g = c.lift f H

                                                          The uniqueness part of the universal property for quotients of AddMonoids.

                                                          theorem Con.lift_surjective_of_surjective {M : Type u_1} {P : Type u_3} [MulOneClass M] [MulOneClass P] {c : Con M} {f : M โ†’* P} (h : c โ‰ค ker f) (hf : Function.Surjective โ‡‘f) :
                                                          Function.Surjective โ‡‘(c.lift f h)

                                                          Surjective monoid homomorphisms constant on a congruence relation c's equivalence classes induce a surjective homomorphism on c's quotient.

                                                          theorem AddCon.lift_surjective_of_surjective {M : Type u_1} {P : Type u_3} [AddZeroClass M] [AddZeroClass P] {c : AddCon M} {f : M โ†’+ P} (h : c โ‰ค ker f) (hf : Function.Surjective โ‡‘f) :
                                                          Function.Surjective โ‡‘(c.lift f h)

                                                          Surjective AddMonoid homomorphisms constant on an additive congruence relation c's equivalence classes induce a surjective homomorphism on c's quotient.

                                                          theorem Con.ker_eq_lift_of_injective {M : Type u_1} {P : Type u_3} [MulOneClass M] [MulOneClass P] (c : Con M) (f : M โ†’* P) (H : c โ‰ค ker f) (h : Function.Injective โ‡‘(c.lift f H)) :
                                                          ker f = c

                                                          Given a monoid homomorphism f from M to P, the kernel of f is the unique congruence relation on M whose induced map from the quotient of M to P is injective.

                                                          theorem AddCon.ker_eq_lift_of_injective {M : Type u_1} {P : Type u_3} [AddZeroClass M] [AddZeroClass P] (c : AddCon M) (f : M โ†’+ P) (H : c โ‰ค ker f) (h : Function.Injective โ‡‘(c.lift f H)) :
                                                          ker f = c

                                                          Given an AddMonoid homomorphism f from M to P, the kernel of f is the unique additive congruence relation on M whose induced map from the quotient of M to P is injective.

                                                          def Con.kerLift {M : Type u_1} {P : Type u_3} [MulOneClass M] [MulOneClass P] (f : M โ†’* P) :

                                                          The homomorphism induced on the quotient of a monoid by the kernel of a monoid homomorphism.

                                                          Equations
                                                            Instances For
                                                              def AddCon.kerLift {M : Type u_1} {P : Type u_3} [AddZeroClass M] [AddZeroClass P] (f : M โ†’+ P) :

                                                              The homomorphism induced on the quotient of an AddMonoid by the kernel of an AddMonoid homomorphism.

                                                              Equations
                                                                Instances For
                                                                  @[simp]
                                                                  theorem Con.kerLift_mk {M : Type u_1} {P : Type u_3} [MulOneClass M] [MulOneClass P] {f : M โ†’* P} (x : M) :
                                                                  (kerLift f) โ†‘x = f x

                                                                  The diagram described by the universal property for quotients of monoids, when the congruence relation is the kernel of the homomorphism, commutes.

                                                                  @[simp]
                                                                  theorem AddCon.kerLift_mk {M : Type u_1} {P : Type u_3} [AddZeroClass M] [AddZeroClass P] {f : M โ†’+ P} (x : M) :
                                                                  (kerLift f) โ†‘x = f x

                                                                  The diagram described by the universal property for quotients of AddMonoids, when the additive congruence relation is the kernel of the homomorphism, commutes.

                                                                  theorem Con.kerLift_injective {M : Type u_1} {P : Type u_3} [MulOneClass M] [MulOneClass P] (f : M โ†’* P) :

                                                                  A monoid homomorphism f induces an injective homomorphism on the quotient by f's kernel.

                                                                  theorem AddCon.kerLift_injective {M : Type u_1} {P : Type u_3} [AddZeroClass M] [AddZeroClass P] (f : M โ†’+ P) :

                                                                  An AddMonoid homomorphism f induces an injective homomorphism on the quotient by f's kernel.

                                                                  def Con.map {M : Type u_1} [MulOneClass M] (c d : Con M) (h : c โ‰ค d) :

                                                                  Given congruence relations c, d on a monoid such that d contains c, d's quotient map induces a homomorphism from the quotient by c to the quotient by d.

                                                                  Equations
                                                                    Instances For
                                                                      def AddCon.map {M : Type u_1} [AddZeroClass M] (c d : AddCon M) (h : c โ‰ค d) :

                                                                      Given additive congruence relations c, d on an AddMonoid such that d contains c, d's quotient map induces a homomorphism from the quotient by c to the quotient by d.

                                                                      Equations
                                                                        Instances For
                                                                          theorem Con.map_apply {M : Type u_1} [MulOneClass M] {c d : Con M} (h : c โ‰ค d) (x : c.Quotient) :
                                                                          (c.map d h) x = (c.lift d.mk' โ‹ฏ) x

                                                                          Given congruence relations c, d on a monoid such that d contains c, the definition of the homomorphism from the quotient by c to the quotient by d induced by d's quotient map.

                                                                          theorem AddCon.map_apply {M : Type u_1} [AddZeroClass M] {c d : AddCon M} (h : c โ‰ค d) (x : c.Quotient) :
                                                                          (c.map d h) x = (c.lift d.mk' โ‹ฏ) x

                                                                          Given additive congruence relations c, d on an AddMonoid such that d contains c, the definition of the homomorphism from the quotient by c to the quotient by d induced by d's quotient map.