Documentation

Mathlib.Algebra.Category.Grp.EpiMono

Monomorphisms and epimorphisms in Group #

In this file, we prove monomorphisms in the category of groups are injective homomorphisms and epimorphisms are surjective homomorphisms.

theorem MonoidHom.ker_eq_bot_of_cancel {A : Type u} {B : Type v} [Group A] [Group B] {f : A →* B} (h : ∀ (u v : f.ker →* A), f.comp u = f.comp vu = v) :
theorem AddMonoidHom.ker_eq_bot_of_cancel {A : Type u} {B : Type v} [AddGroup A] [AddGroup B] {f : A →+ B} (h : ∀ (u v : f.ker →+ A), f.comp u = f.comp vu = v) :
theorem MonoidHom.range_eq_top_of_cancel {A : Type u} {B : Type v} [CommGroup A] [CommGroup B] {f : A →* B} (h : ∀ (u v : B →* B f.range), u.comp f = v.comp fu = v) :
theorem AddMonoidHom.range_eq_top_of_cancel {A : Type u} {B : Type v} [AddCommGroup A] [AddCommGroup B] {f : A →+ B} (h : ∀ (u v : B →+ B f.range), u.comp f = v.comp fu = v) :
instance Grp.instGroupCarrier (G : Grp) :
Group G
Equations
inductive Grp.SurjectiveOfEpiAuxs.XWithInfinity {A B : Grp} (f : A B) :

Define X' to be the set of all left cosets with an extra point at "infinity".

Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    theorem Grp.SurjectiveOfEpiAuxs.mul_smul {A B : Grp} (f : A B) (b b' : B) (x : XWithInfinity f) :
    (b * b') x = b b' x
    theorem Grp.SurjectiveOfEpiAuxs.one_smul {A B : Grp} (f : A B) (x : XWithInfinity f) :
    1 x = x
    theorem Grp.SurjectiveOfEpiAuxs.fromCoset_eq_of_mem_range {A B : Grp} (f : A B) {b : B} (hb : b (Hom.hom f).range) :
    theorem Grp.SurjectiveOfEpiAuxs.fromCoset_ne_of_nin_range {A B : Grp} (f : A B) {b : B} (hb : b(Hom.hom f).range) :
    noncomputable def Grp.SurjectiveOfEpiAuxs.tau {A B : Grp} (f : A B) :

    Let τ be the permutation on X' exchanging f.hom.range and the point at infinity.

    Equations
    Instances For

      Let g : B ⟶ S(X') be defined as such that, for any β : B, g(β) is the function sending point at infinity to point at infinity and sending coset y to β • y.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Define h : B ⟶ S(X') to be τ g τ⁻¹

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          The strategy is the following: assuming epi f

          theorem Grp.SurjectiveOfEpiAuxs.g_apply_fromCoset {A B : Grp} (f : A B) (x : B) (y : (Set.range fun (x : B) => x (Hom.hom f).range)) :
          ((g f) x) (XWithInfinity.fromCoset y) = XWithInfinity.fromCoset x y,
          theorem Grp.SurjectiveOfEpiAuxs.h_apply_fromCoset {A B : Grp} (f : A B) (x : B) :
          ((h f) x) (XWithInfinity.fromCoset (Hom.hom f).range, ) = XWithInfinity.fromCoset (Hom.hom f).range,
          theorem Grp.SurjectiveOfEpiAuxs.h_apply_fromCoset' {A B : Grp} (f : A B) (x b : B) (hb : b (Hom.hom f).range) :
          ((h f) x) (XWithInfinity.fromCoset b (Hom.hom f).range, ) = XWithInfinity.fromCoset b (Hom.hom f).range,
          theorem Grp.SurjectiveOfEpiAuxs.h_apply_fromCoset_nin_range {A B : Grp} (f : A B) (x : B) (hx : x (Hom.hom f).range) (b : B) (hb : b(Hom.hom f).range) :
          ((h f) x) (XWithInfinity.fromCoset b (Hom.hom f).range, ) = XWithInfinity.fromCoset ⟨(x * b) (Hom.hom f).range,
          theorem Grp.SurjectiveOfEpiAuxs.agree {A B : Grp} (f : A B) :
          (Hom.hom f).range = {x : B | (h f) x = (g f) x}
          theorem Grp.SurjectiveOfEpiAuxs.g_ne_h {A B : Grp} (f : A B) (x : B) (hx : x(Hom.hom f).range) :
          g f h f