@@ -16,10 +16,10 @@ extension as a functor from the free groupoid, and proves uniqueness of this ext
1616
1717Given the type `V` and a quiver instance on `V`:
1818
19- - `FreeGroupoid V`: a type synonym for `V`.
20- - `FreeGroupoid.instGroupoid`: the `Groupoid` instance on `FreeGroupoid V`.
19+ - `Quiver. FreeGroupoid V`: a type synonym for `V`.
20+ - `Quiver. FreeGroupoid.instGroupoid`: the `Groupoid` instance on `Quiver. FreeGroupoid V`.
2121- `lift`: the lifting of a prefunctor from `V` to `V'` where `V'` is a groupoid, to a functor.
22- `FreeGroupoid V ⥤ V'`.
22+ `Quiver. FreeGroupoid V ⥤ V'`.
2323- `lift_spec` and `lift_unique`: the proofs that, respectively, `lift` indeed is a lifting
2424 and is the unique one.
2525
@@ -56,16 +56,14 @@ inductive FreeGroupoid.redStep : HomRel (Paths (Quiver.Symmetrify V))
5656 redStep (𝟙 ((Paths.of (Quiver.Symmetrify V)).obj X)) (f.toPath ≫ (Quiver.reverse f).toPath)
5757
5858/-- The underlying vertices of the free groupoid -/
59- def FreeGroupoid (V) [Q : Quiver V] :=
59+ protected def FreeGroupoid (V) [Q : Quiver V] :=
6060 CategoryTheory.Quotient (@FreeGroupoid.redStep V Q)
6161
62- @[deprecated (since := "2025-10-02")] alias _root_.CategoryTheory.FreeGroupoid := FreeGroupoid
63-
6462namespace FreeGroupoid
6563
6664open Quiver
6765
68- instance {V} [Quiver V] [Nonempty V] : Nonempty (FreeGroupoid V) := by
66+ instance {V} [Quiver V] [Nonempty V] : Nonempty (Quiver. FreeGroupoid V) := by
6967 inhabit V; exact ⟨⟨@default V _⟩⟩
7068
7169theorem congr_reverse {X Y : Paths <| Quiver.Symmetrify V} (p q : X ⟶ Y) :
@@ -113,21 +111,21 @@ theorem congr_reverse_comp {X Y : Paths <| Quiver.Symmetrify V} (p : X ⟶ Y) :
113111 nth_rw 2 [← Quiver.Path.reverse_reverse p]
114112 apply congr_comp_reverse
115113
116- instance : Category (FreeGroupoid V) :=
114+ instance : Category (Quiver. FreeGroupoid V) :=
117115 Quotient.category redStep
118116
119117/-- The inverse of an arrow in the free groupoid -/
120- def quotInv {X Y : FreeGroupoid V} (f : X ⟶ Y) : Y ⟶ X :=
118+ def quotInv {X Y : Quiver. FreeGroupoid V} (f : X ⟶ Y) : Y ⟶ X :=
121119 Quot.liftOn f (fun pp => Quot.mk _ <| pp.reverse) fun pp qq con =>
122120 Quot.sound <| congr_reverse pp qq con
123121
124- instance instGroupoid : Groupoid (FreeGroupoid V) where
122+ instance instGroupoid : Groupoid (Quiver. FreeGroupoid V) where
125123 inv := quotInv
126124 inv_comp p := Quot.inductionOn p fun pp => congr_reverse_comp pp
127125 comp_inv p := Quot.inductionOn p fun pp => congr_comp_reverse pp
128126
129127/-- The inclusion of the quiver on `V` to the underlying quiver on `FreeGroupoid V` -/
130- def of (V) [Quiver V] : V ⥤q FreeGroupoid V where
128+ def of (V) [Quiver V] : V ⥤q Quiver. FreeGroupoid V where
131129 obj X := ⟨X⟩
132130 map f := Quot.mk _ f.toPosPath
133131
@@ -140,7 +138,7 @@ section UniversalProperty
140138variable {V' : Type u'} [Groupoid V']
141139
142140/-- The lift of a prefunctor to a groupoid, to a functor from `FreeGroupoid V` -/
143- def lift (φ : V ⥤q V') : FreeGroupoid V ⥤ V' :=
141+ def lift (φ : V ⥤q V') : Quiver. FreeGroupoid V ⥤ V' :=
144142 CategoryTheory.Quotient.lift _ (Paths.lift <| Quiver.Symmetrify.lift φ) <| by
145143 rintro _ _ _ _ ⟨X, Y, f⟩
146144 -- Porting note: `simp` does not work, so manually `rewrite`
@@ -154,8 +152,8 @@ theorem lift_spec (φ : V ⥤q V') : of V ⋙q (lift φ).toPrefunctor = φ := by
154152 dsimp [lift]
155153 rw [Quotient.lift_spec, Paths.lift_spec, Quiver.Symmetrify.lift_spec]
156154
157- theorem lift_unique (φ : V ⥤q V') (Φ : FreeGroupoid V ⥤ V') (hΦ : of V ⋙q Φ.toPrefunctor = φ) :
158- Φ = lift φ := by
155+ theorem lift_unique (φ : V ⥤q V') (Φ : Quiver. FreeGroupoid V ⥤ V')
156+ (hΦ : of V ⋙q Φ.toPrefunctor = φ) : Φ = lift φ := by
159157 apply Quotient.lift_unique
160158 apply Paths.lift_unique
161159 fapply @Quiver.Symmetrify.lift_unique _ _ _ _ _ _ _ _ _
@@ -179,11 +177,11 @@ open FreeGroupoid
179177variable {V' : Type u'} [Quiver.{v' + 1 } V'] {V'' : Type u''} [Quiver.{v'' + 1 } V'']
180178
181179/-- The functor of free groupoid induced by a prefunctor of quivers -/
182- def freeGroupoidFunctor (φ : V ⥤q V') : FreeGroupoid V ⥤ FreeGroupoid V' :=
180+ def freeGroupoidFunctor (φ : V ⥤q V') : Quiver. FreeGroupoid V ⥤ Quiver. FreeGroupoid V' :=
183181 lift (φ ⋙q of V')
184182
185183theorem freeGroupoidFunctor_id :
186- freeGroupoidFunctor (Prefunctor.id V) = Functor.id (FreeGroupoid V) := by
184+ freeGroupoidFunctor (Prefunctor.id V) = Functor.id (Quiver. FreeGroupoid V) := by
187185 dsimp only [freeGroupoidFunctor]; symm
188186 apply lift_unique; rfl
189187
0 commit comments