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

              The forgetful functor from categories to quivers.

              Equations
                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
                    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 as 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

                                        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
                                            theorem CategoryTheory.Cat.FreeRefl.lift_unique' {V : Type u_1} [ReflQuiver V] {D : Type u_3} [Category.{u_4, u_3} 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.

                                            instance CategoryTheory.Cat.instUniqueHomFreeRefl (V : Type u_1) [ReflQuiver V] [Unique V] [(x y : V) → Unique (x y)] (x y : FreeRefl V) :
                                            Unique (x y)
                                            Equations
                                              def CategoryTheory.Cat.freeReflMap {V : Type u_1} {W : Type u_2} [ReflQuiver V] [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
                                                Instances For
                                                  @[simp]
                                                  theorem CategoryTheory.Cat.freeReflMap_obj_as {V : Type u_1} {W : Type u_2} [ReflQuiver V] [ReflQuiver W] (F : V ⥤rq W) (a : Quotient FreeReflRel) :
                                                  ((freeReflMap F).obj a).as = F.obj a.as
                                                  @[simp]
                                                  theorem CategoryTheory.Cat.freeReflMap_map {V : Type u_1} {W : Type u_2} [ReflQuiver V] [ReflQuiver W] (F : V ⥤rq W) (a b : Quotient FreeReflRel) (hf : a b) :
                                                  (freeReflMap F).map hf = Quot.liftOn hf (fun (f : a.as b.as) => (FreeRefl.quotientFunctor W).map (F.mapPath f))

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

                                                  Equations
                                                    Instances For
                                                      @[simp]
                                                      theorem CategoryTheory.Cat.freeRefl_map_map {X✝ Y✝ : ReflQuiv} (F : X✝ Y✝) (a b : Quotient FreeReflRel) (hf : a b) :
                                                      (freeRefl.map F).map hf = Quot.liftOn hf (fun (f : a.as b.as) => (FreeRefl.quotientFunctor Y✝).map (F.mapPath f))
                                                      @[simp]
                                                      theorem CategoryTheory.Cat.freeRefl_map_obj_as {X✝ Y✝ : ReflQuiv} (F : X✝ Y✝) (a : Quotient FreeReflRel) :
                                                      ((freeRefl.map F).obj a).as = F.obj a.as

                                                      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

                                                          The unit components are defined as the composite of the corresponding unit component for the adjunction between categories and quivers with the map underlying the quotient functor.

                                                          Equations
                                                            Instances For
                                                              @[simp]
                                                              theorem CategoryTheory.ReflQuiv.adj.unit.app_map (V : Type u) [ReflQuiver V] {X✝ Y✝ : V} (f : X✝ Y✝) :

                                                              The counit components are defined using the universal property of the quotient from the corresponding counit component for the adjunction between categories and quivers.

                                                              Equations
                                                                Instances For
                                                                  @[simp]
                                                                  theorem CategoryTheory.ReflQuiv.adj.counit.app_map (C : Type u) [Category.{max u v, u} C] (a b : Quotient Cat.FreeReflRel) (hf : a b) :
                                                                  (app C).map hf = Quot.liftOn hf (fun (f : a.as b.as) => composePath f)
                                                                  @[simp]

                                                                  The counit of ReflQuiv.adj is closely related to the counit of Quiv.adj.

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

                                                                  Equations
                                                                    Instances For