Documentation

Mathlib.CategoryTheory.Groupoid.FreeGroupoid

Free groupoid on a quiver #

This file defines the free groupoid on a quiver, the lifting of a prefunctor to its unique extension as a functor from the free groupoid, and proves uniqueness of this extension.

Main results #

Given the type V and a quiver instance on V:

Implementation notes #

The free groupoid is first defined by symmetrifying the quiver, taking the induced path category and finally quotienting by the reducibility relation.

@[reducible, inline]
abbrev Quiver.Hom.toPosPath {V : Type u} [Quiver V] {X Y : V} (f : X Y) :
X Y

Shorthand for the "forward" arrow corresponding to f in paths <| symmetrify V

Equations
    Instances For
      @[reducible, inline]
      abbrev Quiver.Hom.toNegPath {V : Type u} [Quiver V] {X Y : V} (f : X Y) :
      Y X

      Shorthand for the "forward" arrow corresponding to f in paths <| symmetrify V

      Equations
        Instances For

          The "reduction" relation

          Instances For
            def CategoryTheory.FreeGroupoid (V : Type u_1) [Q : Quiver V] :
            Type u_1

            The underlying vertices of the free groupoid

            Equations
              Instances For
                def CategoryTheory.Groupoid.Free.quotInv {V : Type u} [Quiver V] {X Y : FreeGroupoid V} (f : X Y) :
                Y X

                The inverse of an arrow in the free groupoid

                Equations
                  Instances For

                    The inclusion of the quiver on V to the underlying quiver on FreeGroupoid V

                    Equations
                      Instances For
                        def CategoryTheory.Groupoid.Free.lift {V : Type u} [Quiver V] {V' : Type u'} [Groupoid V'] (φ : V ⥤q V') :

                        The lift of a prefunctor to a groupoid, to a functor from FreeGroupoid V

                        Equations
                          Instances For
                            theorem CategoryTheory.Groupoid.Free.lift_spec {V : Type u} [Quiver V] {V' : Type u'} [Groupoid V'] (φ : V ⥤q V') :
                            theorem CategoryTheory.Groupoid.Free.lift_unique {V : Type u} [Quiver V] {V' : Type u'} [Groupoid V'] (φ : V ⥤q V') (Φ : Functor (FreeGroupoid V) V') ( : of V ⋙q Φ.toPrefunctor = φ) :
                            Φ = lift φ
                            def CategoryTheory.freeGroupoidFunctor {V : Type u} [Quiver V] {V' : Type u'} [Quiver V'] (φ : V ⥤q V') :

                            The functor of free groupoid induced by a prefunctor of quivers

                            Equations
                              Instances For
                                theorem CategoryTheory.Groupoid.Free.freeGroupoidFunctor_comp {V : Type u} [Quiver V] {V' : Type u'} [Quiver V'] {V'' : Type u''} [Quiver V''] (φ : V ⥤q V') (φ' : V' ⥤q V'') :