Documentation

Mathlib.CategoryTheory.Category.ReflQuiv

The category of refl quivers #

The category ReflQuiv of (bundled) reflexive quivers, and the free/forgetful adjunction between Cat and ReflQuiv.

def CategoryTheory.ReflQuiv :
Type (max (u + 1) u (v + 1))

Category of refl quivers.

Equations
Instances For

    The underlying quiver of a reflexive quiver

    Equations
    Instances For

      Construct a bundled ReflQuiv from the underlying type and the typeclass.

      Equations
      Instances For
        @[simp]
        theorem CategoryTheory.ReflQuiv.of_val (C : Type u) [ReflQuiver C] :
        (of C) = C

        Category structure on ReflQuiv

        Equations
        • One or more equations did not get rendered due to their size.
        @[simp]
        @[simp]
        theorem CategoryTheory.ReflQuiv.id_map {X : ReflQuiv} {x y : X} (f : x y) :
        @[simp]
        theorem CategoryTheory.ReflQuiv.comp_obj {X Y Z : ReflQuiv} (f : X Y) (g : Y Z) (x : X) :
        (CategoryStruct.comp f g).obj x = g.obj (f.obj x)
        @[simp]
        theorem CategoryTheory.ReflQuiv.comp_map {X Y Z : ReflQuiv} (f : X Y) (g : Y Z) {x y : X} (a : x y) :
        (CategoryStruct.comp f g).map a = g.map (f.map a)

        The forgetful functor from categories to quivers.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[simp]
          theorem CategoryTheory.ReflQuiv.forget_faithful {C D : Cat} (F G : Functor C D) (hyp : forget.map F = forget.map G) :
          F = G

          The forgetful functor from categories to quivers.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]
            def CategoryTheory.ReflQuiv.isoOfQuivIso {V W : Type u} [ReflQuiver V] [ReflQuiver W] (e : Quiv.of V Quiv.of W) (h_id : ∀ (X : V), e.hom.map (ReflQuiver.id X) = ReflQuiver.id (e.hom.obj X)) :
            of V of W

            An isomorphism of quivers lifts to an isomorphism of reflexive quivers given a suitable compatibility with the identities.

            Equations
            Instances For
              def CategoryTheory.ReflQuiv.isoOfEquiv {V W : Type u} [ReflQuiver V] [ReflQuiver W] (e : V W) (he : (X Y : V) → (X Y) (e X e Y)) (h_id : ∀ (X : V), (he X X) (ReflQuiver.id X) = ReflQuiver.id (e X)) :
              of V of W

              Compatible equivalences of types and hom-types induce an isomorphism of reflexive quivers.

              Equations
              Instances For
                def CategoryTheory.ReflPrefunctor.toFunctor {C D : Cat} (F : ReflQuiv.of C ReflQuiv.of D) (hyp : ∀ {X Y Z : C} (f : X Y) (g : Y Z), F.map (CategoryStruct.comp f g) = CategoryStruct.comp (F.map f) (F.map g)) :
                Functor C D

                A refl prefunctor can be promoted to a functor if it respects composition.

                Equations
                Instances For
                  inductive CategoryTheory.Cat.FreeReflRel (V : Type u_1) [ReflQuiver V] (X Y : Paths V) (f g : X Y) :

                  The hom relation that identifies the specified reflexivity arrows with the nil paths

                  Instances For

                    A reflexive quiver generates a free category, defined as a quotient of the free category on its underlying quiver (called the "path category") by the hom relation that uses the specified reflexivity arrows as the identity arrows.

                    Equations
                    Instances For

                      Constructor for objects in the free category on a reflexive quiver.

                      Equations
                      Instances For
                        def CategoryTheory.Cat.FreeRefl.induction {V : Type u_1} [ReflQuiver V] {motive : FreeRefl VSort u_2} (mk : (v : V) → motive (mk v)) (x : FreeRefl V) :
                        motive x

                        Induction principle for the objects of the free category on a reflexive quiver.

                        Equations
                        Instances For

                          The quotient functor associated to a quotient category defines a natural map from the free category on the underlying quiver of a refl quiver to the free category on the reflexive quiver.

                          Equations
                          Instances For
                            def CategoryTheory.Cat.FreeRefl.homMk {V : Type u_1} [ReflQuiver V] {v w : V} (f : v w) :
                            mk v mk w

                            Constructor for morphisms in FreeRefl.

                            Equations
                            Instances For

                              The property of morphisms in FreeRefl V which are of the form homMk f for some morphism f : x ⟶ y in V.

                              Equations
                              Instances For
                                theorem CategoryTheory.Cat.FreeRefl.hom_induction {V : Type u_1} [ReflQuiver V] {motive : {x y : FreeRefl V} → (x y) → Prop} (id : ∀ (x : V), motive (homMk (ReflQuiver.id x))) (comp_homMk : ∀ {x y z : V} (f : mk x mk y) (g : y z), motive fmotive (CategoryStruct.comp f (homMk g))) {x y : FreeRefl V} (f : x y) :
                                motive f
                                theorem CategoryTheory.Cat.FreeRefl.morphismProperty_eq_top {V : Type u_1} [ReflQuiver V] {W : MorphismProperty (FreeRefl V)} [W.IsMultiplicative] (hW : ∀ {x y : V} (e : x y), W (homMk e)) :
                                W =

                                Constructor for functors from FreeRefl. (See also lift' for which the data is unbundled.)

                                Equations
                                Instances For
                                  @[simp]
                                  theorem CategoryTheory.Cat.FreeRefl.lift_obj {V : Type u_1} [ReflQuiver V] {D : Type u_2} [Category.{u_4, u_2} D] (F : V ⥤rq D) (v : V) :
                                  (lift F).obj (mk v) = F.obj v
                                  @[simp]
                                  theorem CategoryTheory.Cat.FreeRefl.lift_map {V : Type u_1} [ReflQuiver V] {D : Type u_2} [Category.{u_4, u_2} D] (F : V ⥤rq D) {v w : V} (f : v w) :
                                  (lift F).map (homMk f) = F.map f
                                  def CategoryTheory.Cat.FreeRefl.lift' {V : Type u_1} [ReflQuiver V] {D : Type u_2} [Category.{u_4, u_2} D] (obj : VD) (map : {v w : V} → (v w) → (obj v obj w)) (map_id : ∀ (v : V), map (ReflQuiver.id v) = CategoryStruct.id (obj v)) :

                                  Constructor for functors from FreeRefl. (See also lift for which the data is bundled.)

                                  Equations
                                  Instances For
                                    @[simp]
                                    theorem CategoryTheory.Cat.FreeRefl.lift'_obj {V : Type u_1} [ReflQuiver V] {D : Type u_2} [Category.{u_4, u_2} D] (obj : VD) (map : {v w : V} → (v w) → (obj v obj w)) (map_id : ∀ (v : V), map (ReflQuiver.id v) = CategoryStruct.id (obj v)) (v : V) :
                                    (lift' obj (fun {v w : V} => map) map_id).obj (mk v) = obj v
                                    @[simp]
                                    theorem CategoryTheory.Cat.FreeRefl.lift'_map {V : Type u_1} [ReflQuiver V] {D : Type u_2} [Category.{u_4, u_2} D] (obj : VD) (map : {v w : V} → (v w) → (obj v obj w)) (map_id : ∀ (v : V), map (ReflQuiver.id v) = CategoryStruct.id (obj v)) {v w : V} (f : v w) :
                                    (lift' obj (fun {v w : V} => map) map_id).map (homMk f) = map f
                                    theorem CategoryTheory.Cat.FreeRefl.lift_unique' {V : Type u_2} [ReflQuiver V] {D : Type u_4} [Category.{u_5, u_4} D] (F₁ F₂ : Functor (FreeRefl V) D) (h : (quotientFunctor V).comp F₁ = (quotientFunctor V).comp F₂) :
                                    F₁ = F₂

                                    This is a specialization of Quotient.lift_unique' rather than Quotient.lift_unique, hence the prime in the name.

                                    theorem CategoryTheory.Cat.FreeRefl.functor_ext {V : Type u_1} [ReflQuiver V] {D : Type u_2} [Category.{u_3, u_2} D] {F G : Functor (FreeRefl V) D} (h₁ : ∀ (v : V), F.obj (mk v) = G.obj (mk v)) (h₂ : ∀ {v w : V} (f : v w), F.map (homMk f) = CategoryStruct.comp (eqToHom ) (CategoryStruct.comp (G.map (homMk f)) (eqToHom ))) :
                                    F = G
                                    instance CategoryTheory.Cat.FreeRefl.instUniqueHom (V : Type u_2) [ReflQuiver V] [Unique V] [(x y : V) → Unique (x y)] (x y : FreeRefl V) :
                                    Unique (x y)
                                    Equations

                                    Given a refl quiver V, this is the refl functor V ⥤rq FreeRefl V which is the counit of the adjunction between reflexive quivers and categories.

                                    Equations
                                    Instances For
                                      @[simp]
                                      theorem CategoryTheory.Cat.toFreeRefl_map (V : Type u_1) [ReflQuiver V] {X✝ Y✝ : V} (f : X✝ Y✝) :
                                      @[simp]

                                      Constructor for functors from FreeRefl.

                                      def CategoryTheory.Cat.freeReflMap {V : Type u_1} [ReflQuiver V] {W : Type u_2} [ReflQuiver W] (F : V ⥤rq W) :

                                      A refl prefunctor V ⥤rq W induces a functor FreeRefl V ⥤ FreeRefl W defined using freeMap and the quotient functor.

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        @[simp]
                                        theorem CategoryTheory.Cat.freeReflMap_obj {V : Type u_1} [ReflQuiver V] {W : Type u_2} [ReflQuiver W] (F : V ⥤rq W) (v : V) :
                                        @[simp]
                                        theorem CategoryTheory.Cat.freeReflMap_map {V : Type u_1} [ReflQuiver V] {W : Type u_2} [ReflQuiver W] (F : V ⥤rq W) {v w : V} (f : v w) :

                                        The functor sending a reflexive quiver to the free category it generates, a quotient of its path category

                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For
                                          @[simp]
                                          theorem CategoryTheory.Cat.freeRefl_map {X✝ Y✝ : ReflQuiv} (F : X✝ Y✝) :

                                          We will make use of the natural quotient map from the free category on the underlying quiver of a refl quiver to the free category on the reflexive quiver.

                                          Equations
                                          Instances For

                                            Given a reflexive quiver V and a category C, this is the bijection between functors Cat.FreeRefl V ⥤ C and refl functors V ⥤rq C.

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

                                              The adjunction between forming the free category on a reflexive quiver, and forgetting a category to a reflexive quiver.

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