Adjunctions regarding the category of monoids #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file proves the adjunction between adjoining a unit to a semigroup and the forgetful functor from monoids to semigroups.
TODO #
- free-forgetful adjunction for monoids
- adjunctions related to commutative monoids
@[simp]
@[simp]
@[simp]
theorem
adjoin_zero_map
(X Y : AddSemigroup)
(f : add_hom ↥X ↥Y) :
adjoin_zero.map f = with_zero.map f
The functor of adjoining a neutral element zero
to a semigroup
Equations
- adjoin_zero = {obj := λ (S : AddSemigroup), AddMon.of (with_zero ↥S), map := λ (X Y : AddSemigroup), with_zero.map, map_id' := adjoin_zero._proof_1, map_comp' := adjoin_zero._proof_2}
@[protected, instance]
Equations
- has_forget_to_Semigroup = {forget₂ := {obj := λ (M : Mon), Semigroup.of ↥M, map := λ (M N : Mon), monoid_hom.to_mul_hom, map_id' := has_forget_to_Semigroup._proof_1, map_comp' := has_forget_to_Semigroup._proof_2}, forget_comp := has_forget_to_Semigroup._proof_3}
@[protected, instance]
Equations
- has_forget_to_AddSemigroup = {forget₂ := {obj := λ (M : AddMon), AddSemigroup.of ↥M, map := λ (M N : AddMon), add_monoid_hom.to_add_hom, map_id' := has_forget_to_AddSemigroup._proof_1, map_comp' := has_forget_to_AddSemigroup._proof_2}, forget_comp := has_forget_to_AddSemigroup._proof_3}
The adjoin_one-forgetful adjunction from AddSemigroup
to AddMon
Equations
- adjoin_zero_adj = category_theory.adjunction.mk_of_hom_equiv {hom_equiv := λ (S : AddSemigroup) (M : AddMon), with_zero.lift.symm, hom_equiv_naturality_left_symm' := adjoin_zero_adj._proof_1, hom_equiv_naturality_right' := adjoin_zero_adj._proof_2}
The adjoin_one-forgetful adjunction from Semigroup
to Mon
.
Equations
- adjoin_one_adj = category_theory.adjunction.mk_of_hom_equiv {hom_equiv := λ (S : Semigroup) (M : Mon), with_one.lift.symm, hom_equiv_naturality_left_symm' := adjoin_one_adj._proof_1, hom_equiv_naturality_right' := adjoin_one_adj._proof_2}
The free-forgetful adjunction for monoids.
Equations
- adj = category_theory.adjunction.mk_of_hom_equiv {hom_equiv := λ (X : Type u) (G : Mon), free_monoid.lift.symm, hom_equiv_naturality_left_symm' := adj._proof_1, hom_equiv_naturality_right' := adj._proof_2}
@[protected, instance]