Documentation

Mathlib.CategoryTheory.Category.Factorisation

The Factorisation Category of a Category #

Factorisation f is the category containing as objects all factorisations of a morphism f.

We show that Factorisation f always has an initial and a terminal object.

TODO: Show that Factorisation f is isomorphic to a comma category in two ways.

TODO: Make MonoFactorisation f a special case of a Factorisation f.

structure CategoryTheory.Factorisation {C : Type u} [Category.{v, u} C] {X Y : C} (f : X Y) :
Type (max u v)

Factorisations of a morphism f as a structure, containing, one object, two morphisms, and the condition that their composition equals f.

  • mid : C

    The midpoint of the factorisation.

  • ι : X self.mid

    The morphism into the factorisation midpoint.

  • π : self.mid Y

    The morphism out of the factorisation midpoint.

  • ι_π : CategoryStruct.comp self.ι self.π = f

    The factorisation condition.

Instances For
    structure CategoryTheory.Factorisation.Hom {C : Type u} [Category.{v, u} C] {X Y : C} {f : X Y} (d e : Factorisation f) :
    Type (max u v)

    Morphisms of Factorisation f consist of morphism between their midpoints and the obvious commutativity conditions.

    Instances For
      theorem CategoryTheory.Factorisation.Hom.ext {C : Type u} {inst✝ : Category.{v, u} C} {X Y : C} {f : X Y} {d e : Factorisation f} {x y : d.Hom e} (h : x.h = y.h) :
      x = y
      theorem CategoryTheory.Factorisation.Hom.ext_iff {C : Type u} {inst✝ : Category.{v, u} C} {X Y : C} {f : X Y} {d e : Factorisation f} {x y : d.Hom e} :
      x = y x.h = y.h
      def CategoryTheory.Factorisation.Hom.id {C : Type u} [Category.{v, u} C] {X Y : C} {f : X Y} (d : Factorisation f) :
      d.Hom d

      The identity morphism of Factorisation f.

      Equations
        Instances For
          @[simp]
          def CategoryTheory.Factorisation.Hom.comp {C : Type u} [Category.{v, u} C] {X Y : C} {f : X Y} {d₁ d₂ d₃ : Factorisation f} :
          d₁.Hom d₂(g : d₂.Hom d₃) → d₁.Hom d₃

          Composition of morphisms in Factorisation f.

          Equations
            Instances For
              @[simp]
              theorem CategoryTheory.Factorisation.Hom.comp_h {C : Type u} [Category.{v, u} C] {X Y : C} {f : X Y} {d₁ d₂ d₃ : Factorisation f} (f✝ : d₁.Hom d₂) (g : d₂.Hom d₃) :
              (f✝.comp g).h = CategoryStruct.comp f✝.h g.h

              The initial object in Factorisation f, with the domain of f as its midpoint.

              Equations
                Instances For

                  The unique morphism out of Factorisation.initial f.

                  Equations
                    Instances For
                      @[simp]
                      theorem CategoryTheory.Factorisation.initialHom_h {C : Type u} [Category.{v, u} C] {X Y : C} {f : X Y} (d : Factorisation f) :

                      The terminal object in Factorisation f, with the codomain of f as its midpoint.

                      Equations
                        Instances For

                          The unique morphism into Factorisation.terminal f.

                          Equations
                            Instances For
                              @[simp]

                              The initial factorisation is an initial object

                              Equations
                                Instances For

                                  The terminal factorisation is a terminal object

                                  Equations
                                    Instances For

                                      The forgetful functor from Factorisation f to the underlying category C.

                                      Equations
                                        Instances For
                                          @[simp]
                                          theorem CategoryTheory.Factorisation.forget_map {C : Type u} [Category.{v, u} C] {X Y : C} {f : X Y} {X✝ Y✝ : Factorisation f} (f✝ : X✝ Y✝) :
                                          forget.map f✝ = f✝.h
                                          @[simp]
                                          theorem CategoryTheory.Factorisation.forget_obj {C : Type u} [Category.{v, u} C] {X Y : C} {f : X Y} (self : Factorisation f) :
                                          forget.obj self = self.mid