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.

Instances For

    The underlying quiver of a reflexive quiver

    Instances For

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

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

        Category structure on ReflQuiv

        @[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.

        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.

          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.

            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.

              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.

                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.

                    Instances For

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

                      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.

                        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.

                          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.

                            Instances For

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

                              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.)

                                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.)

                                  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
                                    @[implicit_reducible]
                                    @[implicit_reducible]
                                    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)
                                    instance CategoryTheory.Cat.FreeRefl.instSubsingletonHomOfUnique (V : Type u_2) [ReflQuiver V] [Unique V] [∀ (x y : V), Subsingleton (x y)] (x y : FreeRefl V) :
                                    Subsingleton (x y)

                                    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.

                                    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.

                                      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

                                        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.

                                          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.

                                            Instances For

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

                                              Instances For