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
              @[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
                Instances For
                  theorem CategoryTheory.ReflQuiv.forget_faithful {C D : Cat} (F G : Functor C D) (hyp : forget.map F.toCatHom = forget.map G.toCatHom) :
                  F = G

                  The forgetful functor from categories to quivers.

                  Equations
                    Instances For
                      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

                                                            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.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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✝) :

                                                                          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
                                                                            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
                                                                                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
                                                                                        Instances For

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

                                                                                          Equations
                                                                                            Instances For