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:
FreeGroupoid V: a type synonym forV.FreeGroupoid.instGroupoid: theGroupoidinstance onFreeGroupoid V.lift: the lifting of a prefunctor fromVtoV'whereV'is a groupoid, to a functor.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
Equations
Instances For
Shorthand for the "forward" arrow corresponding to f in paths <| symmetrify V
Equations
Instances For
The "reduction" relation
- step: ∀ {V : Type u} [inst : Quiver V] (X Z : Quiver.Symmetrify V) (f : X ⟶ Z), CategoryTheory.Groupoid.Free.redStep (CategoryTheory.CategoryStruct.id (CategoryTheory.Paths.of.obj X)) (CategoryTheory.CategoryStruct.comp (Quiver.Hom.toPath f) (Quiver.Hom.toPath (Quiver.reverse f)))
Instances For
The underlying vertices of the free groupoid
Equations
- CategoryTheory.FreeGroupoid V = CategoryTheory.Quotient CategoryTheory.Groupoid.Free.redStep
Instances For
Equations
- ⋯ = ⋯
Equations
- CategoryTheory.Groupoid.Free.instCategoryFreeGroupoid = CategoryTheory.Quotient.category CategoryTheory.Groupoid.Free.redStep
The inverse of an arrow in the free groupoid
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- CategoryTheory.FreeGroupoid.instGroupoid = CategoryTheory.Groupoid.mk (fun {X Y : CategoryTheory.FreeGroupoid V} => CategoryTheory.Groupoid.Free.quotInv) ⋯ ⋯
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
The lift of a prefunctor to a groupoid, to a functor from FreeGroupoid V
Equations
- CategoryTheory.Groupoid.Free.lift φ = CategoryTheory.Quotient.lift CategoryTheory.Groupoid.Free.redStep (CategoryTheory.Paths.lift (Quiver.Symmetrify.lift φ)) ⋯