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
    @[simp]
    theorem CategoryTheory.Factorisation.ι_π_assoc {C : Type u} [Category.{v, u} C] {X Y : C} {f : X Y} (self : Factorisation f) {Z : C} (h : Y Z) :

    The factorisation condition.

    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
      @[simp]
      theorem CategoryTheory.Factorisation.Hom.ι_h_assoc {C : Type u} [Category.{v, u} C] {X Y : C} {f : X Y} {d e : Factorisation f} (self : d.Hom e) {Z : C} (h : e.mid Z) :

      The left commuting triangle of the factorization morphism.

      @[simp]
      theorem CategoryTheory.Factorisation.Hom.h_π_assoc {C : Type u} [Category.{v, u} C] {X Y : C} {f : X Y} {d e : Factorisation f} (self : d.Hom e) {Z : C} (h : Y Z) :

      The right commuting triangle of the factorization morphism.

      @[implicit_reducible]
      Equations
      @[implicit_reducible]
      Equations
      • One or more equations did not get rendered due to their size.
      @[simp]
      theorem CategoryTheory.Factorisation.comp_h {C : Type u} [Category.{v, u} C] {X Y : C} {f : X Y} {X✝ Y✝ Z✝ : Factorisation f} (f✝ : X✝ Y✝) (g : Y✝ Z✝) :
      theorem CategoryTheory.Factorisation.comp_h_assoc {C : Type u} [Category.{v, u} C] {X Y : C} {f : X Y} {X✝ Y✝ Z✝ : Factorisation f} (f✝ : X✝ Y✝) (g : Y✝ Z✝) {Z : C} (h : Z✝.mid Z) :

      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) :
          @[implicit_reducible]
          Equations

          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]
              @[implicit_reducible]
              Equations

              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