# mathlib3documentation

category_theory.single_obj

# Single-object category #

THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.

Single object category with a given monoid of endomorphisms. It is defined to facilitate transfering some definitions and lemmas (e.g., conjugacy etc.) from category theory to monoids and groups.

## Main definitions #

Given a type α with a monoid structure, single_obj α is unit type with category structure such that End (single_obj α).star is the monoid α. This can be extended to a functor Mon ⥤ Cat.

If α is a group, then single_obj α is a groupoid.

An element x : α can be reinterpreted as an element of End (single_obj.star α) using single_obj.to_End.

## Implementation notes #

• category_struct.comp on End (single_obj.star α) is flip (*), not (*). This way multiplication on End agrees with the multiplication on α.

• By default, Lean puts instances into category_theory namespace instead of category_theory.single_obj, so we give all names explicitly.

@[reducible]

Abbreviation that allows writing category_theory.single_obj rather than quiver.single_obj.

@[protected, instance]

One and flip (*) become id and comp for morphisms of the single object category.

Equations
@[protected, instance]

Monoid laws become category laws for the single object category.

Equations
theorem category_theory.single_obj.comp_as_mul (α : Type u) [monoid α] {x y z : category_theory.single_obj α} (f : x y) (g : y z) :
f g = g * f
@[protected, instance]

Groupoid structure on single_obj α.

Equations
@[reducible]

Abbreviation that allows writing category_theory.single_obj.star rather than quiver.single_obj.star.

The endomorphisms monoid of the only object in single_obj α is equivalent to the original monoid α.

Equations
theorem category_theory.single_obj.to_End_def (α : Type u) [monoid α] (x : α) :
def category_theory.single_obj.map_hom (α : Type u) (β : Type v) [monoid α] [monoid β] :

There is a 1-1 correspondence between monoid homomorphisms α → β and functors between the corresponding single-object categories. It means that single_obj is a fully faithful functor.

See https://stacks.math.columbia.edu/tag/001F -- although we do not characterize when the functor is full or faithful.

Equations
theorem category_theory.single_obj.map_hom_comp {α : Type u} {β : Type v} [monoid α] [monoid β] (f : α →* β) {γ : Type w} [monoid γ] (g : β →* γ) :
(g.comp f) =
@[simp]
theorem category_theory.single_obj.difference_functor_map {C : Type u_1} {G : Type u_2} [group G] (f : C G) (x y : C) (_x : x y) :
= f y * (f x)⁻¹
def category_theory.single_obj.difference_functor {C : Type u_1} {G : Type u_2} [group G] (f : C G) :

Given a function f : C → G from a category to a group, we get a functor C ⥤ G sending any morphism x ⟶ y to f y * (f x)⁻¹.

Equations
@[simp]
theorem category_theory.single_obj.difference_functor_obj {C : Type u_1} {G : Type u_2} [group G] (f : C G) (_x : C) :
@[reducible]
def monoid_hom.to_functor {α : Type u} {β : Type v} [monoid α] [monoid β] (f : α →* β) :

Reinterpret a monoid homomorphism f : α → β as a functor (single_obj α) ⥤ (single_obj β). See also category_theory.single_obj.map_hom for an equivalence between these types.

Equations
@[simp]
theorem monoid_hom.id_to_functor (α : Type u) [monoid α] :
@[simp]
theorem monoid_hom.comp_to_functor {α : Type u} {β : Type v} [monoid α] [monoid β] (f : α →* β) {γ : Type w} [monoid γ] (g : β →* γ) :
def units.to_Aut (α : Type u) [monoid α] :

The units in a monoid are (multiplicatively) equivalent to the automorphisms of star when we think of the monoid as a single-object category.

Equations
@[simp]
theorem units.to_Aut_hom (α : Type u) [monoid α] (x : αˣ) :
@[simp]
theorem units.to_Aut_inv (α : Type u) [monoid α] (x : αˣ) :

The fully faithful functor from Mon to Cat.

Equations
Instances for Mon.to_Cat
@[protected, instance]
Equations
@[protected, instance]