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
  • f.toPosPath = f.toPos.toPath
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
    • f.toNegPath = f.toNeg.toPath
    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
          • One or more equations did not get rendered due to their size.
          Instances For

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

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              theorem CategoryTheory.Groupoid.Free.lift_spec {V : Type u} [Quiver V] {V' : Type u'} [Groupoid V'] (φ : V ⥤q V') :
              of V ⋙q (lift φ).toPrefunctor = φ
              theorem CategoryTheory.Groupoid.Free.lift_unique {V : Type u} [Quiver V] {V' : Type u'} [Groupoid V'] (φ : V ⥤q V') (Φ : Functor (FreeGroupoid V) V') (hΦ : 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'') :