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
@[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
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.
Equations
  • One or more equations did not get rendered due to their size.

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