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:
Quiver.FreeGroupoid V: a type synonym forV.Quiver.FreeGroupoid.instGroupoid: theGroupoidinstance onQuiver.FreeGroupoid V.lift: the lifting of a prefunctor fromVtoV'whereV'is a groupoid, to a functor.Quiver.FreeGroupoid V ⥤ V'.lift_specandlift_unique: the proofs that, respectively,liftindeed is a lifting and is the unique one.
Implementation notes #
The free groupoid is first defined by symmetrifying the quiver, taking the induced path category and finally quotienting by the reducibility relation.
Shorthand for the "forward" arrow corresponding to f in paths <| symmetrify V
Instances For
Shorthand for the "forward" arrow corresponding to f in paths <| symmetrify V
Instances For
The "reduction" relation
- step {V : Type u} [Quiver V] (X Z : Symmetrify V) (f : X ⟶ Z) : redStep (CategoryTheory.CategoryStruct.id ((CategoryTheory.Paths.of (Symmetrify V)).obj X)) (CategoryTheory.CategoryStruct.comp f.toPath (reverse f).toPath)
Instances For
The underlying vertices of the free groupoid
Instances For
The inverse of an arrow in the free groupoid
Instances For
The inclusion of the quiver on V to the underlying quiver on FreeGroupoid V
Instances For
The lift of a prefunctor to a groupoid, to a functor from FreeGroupoid V