Skip to content

Commit c1ba5f0

Browse files
committed
The forgetful functor from a 2-subcategory is strict
1 parent be4388f commit c1ba5f0

File tree

2 files changed

+35
-14
lines changed

2 files changed

+35
-14
lines changed

GpdCont/HomotopyGroup.agda

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ open import GpdCont.Prelude
33
module GpdCont.HomotopyGroup (ℓ : Level) where
44

55
open import GpdCont.TwoCategory.Base
6-
open import GpdCont.TwoCategory.Subcategory
6+
open import GpdCont.TwoCategory.Subcategory using (Subcategory ; ForgetLax)
77
open import GpdCont.TwoCategory.LaxFunctor
88
open import GpdCont.TwoCategory.Displayed.Base
99
open import GpdCont.TwoCategory.Displayed.LocallyThin as LT using (IsLocallyThinOver ; LocallyThinOver)
@@ -139,7 +139,7 @@ hGroup : TwoCategory (ℓ-suc ℓ) ℓ ℓ
139139
hGroup = Subcategory Pointed isPointedConnectedGroupoid
140140

141141
ForgetConnected : LaxFunctor hGroup Pointed
142-
ForgetConnected = Forget Pointed isPointedConnectedGroupoid
142+
ForgetConnected = ForgetLax Pointed isPointedConnectedGroupoid
143143

144144
ForgetGroup : LaxFunctor hGroup (hGroupoid ℓ)
145145
ForgetGroup = compLaxFunctor ForgetConnected ForgetPointed

GpdCont/TwoCategory/Subcategory.agda

Lines changed: 33 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ module GpdCont.TwoCategory.Subcategory where
33
open import GpdCont.Prelude
44
open import GpdCont.TwoCategory.Base
55
open import GpdCont.TwoCategory.LaxFunctor
6+
open import GpdCont.TwoCategory.StrictFunctor using (StrictFunctor)
67

78
open import Cubical.Foundations.HLevels
89

@@ -23,18 +24,38 @@ module _ {ℓo ℓh ℓr ℓ} (C : TwoCategory ℓo ℓh ℓr) (P : C .TwoCatego
2324
two-cat-str .TwoCategoryStr.comp-rel = comp-rel
2425
Subcategory .TwoCategory.is-two-category = record { IsTwoCategory (C.is-two-category) }
2526

26-
Forget : LaxFunctor Subcategory C
27-
Forget .LaxFunctor.F-ob = fst
28-
Forget .LaxFunctor.F-hom = id _
29-
Forget .LaxFunctor.F-rel = id _
30-
Forget .LaxFunctor.F-rel-id = refl
31-
Forget .LaxFunctor.F-rel-trans r s = refl
32-
Forget .LaxFunctor.F-trans-lax f g = id-rel (f ∙₁ g)
33-
Forget .LaxFunctor.F-trans-lax-natural r s = trans-unit-right (r ∙ₕ s) ∙ (sym (trans-unit-left (r ∙ₕ s)))
34-
Forget .LaxFunctor.F-id-lax (x , _) = id-rel (id-hom x)
35-
Forget .LaxFunctor.F-assoc f g h = doubleCompPathP (λ i j C.rel (comp-hom-assoc f g h j) (comp-hom-assoc f g h j)) left (comp-rel-assoc (id-rel f) (id-rel g) (id-rel h)) {! !}
27+
ForgetLax : LaxFunctor Subcategory C
28+
ForgetLax .LaxFunctor.F-ob = fst
29+
ForgetLax .LaxFunctor.F-hom = id _
30+
ForgetLax .LaxFunctor.F-rel = id _
31+
ForgetLax .LaxFunctor.F-rel-id = refl
32+
ForgetLax .LaxFunctor.F-rel-trans r s = refl
33+
ForgetLax .LaxFunctor.F-trans-lax f g = id-rel (f ∙₁ g)
34+
ForgetLax .LaxFunctor.F-trans-lax-natural r s = trans-unit-right (r ∙ₕ s) ∙ (sym (trans-unit-left (r ∙ₕ s)))
35+
ForgetLax .LaxFunctor.F-id-lax (x , _) = id-rel (id-hom x)
36+
ForgetLax .LaxFunctor.F-assoc f g h = doubleCompPathP (λ i j C.rel (comp-hom-assoc f g h j) (comp-hom-assoc f g h j)) left (comp-rel-assoc (id-rel f) (id-rel g) (id-rel h)) {! !}
3637
where
3738
left : (id-rel f ∙ₕ id-rel g) ∙ₕ id-rel h ≡ (id-rel (f ∙₁ g) ∙ₕ id-rel h) ∙ᵥ (id-rel ((f ∙₁ g) ∙₁ h))
3839
left = {! !}
39-
Forget .LaxFunctor.F-unit-left f = doubleCompPathP (λ i j C.rel (comp-hom-unit-left f j) (comp-hom-unit-left f j)) {! !} (comp-rel-unit-left (id-rel f)) {! !}
40-
Forget .LaxFunctor.F-unit-right = {! !}
40+
ForgetLax .LaxFunctor.F-unit-left f = doubleCompPathP (λ i j C.rel (comp-hom-unit-left f j) (comp-hom-unit-left f j)) {! !} (comp-rel-unit-left (id-rel f)) {! !}
41+
ForgetLax .LaxFunctor.F-unit-right = {! !}
42+
43+
Forget : StrictFunctor Subcategory C
44+
Forget .StrictFunctor.F-ob = fst
45+
Forget .StrictFunctor.F-hom = id _
46+
Forget .StrictFunctor.F-rel = id _
47+
Forget .StrictFunctor.F-rel-id {f} = refl′ (id-rel f)
48+
Forget .StrictFunctor.F-rel-trans r s = refl′ (r ∙ᵥ s)
49+
Forget .StrictFunctor.F-hom-comp f g = refl′ (f ∙₁ g)
50+
Forget .StrictFunctor.F-hom-id (x , _) = refl′ (id-hom x)
51+
Forget .StrictFunctor.F-assoc-filler-left f g h .fst = refl′ ((f ∙₁ g) ∙₁ h)
52+
Forget .StrictFunctor.F-assoc-filler-left f g h .snd = refl
53+
Forget .StrictFunctor.F-assoc-filler-right f g h .fst = refl′ (f ∙₁ (g ∙₁ h))
54+
Forget .StrictFunctor.F-assoc-filler-right f g h .snd = refl
55+
Forget .StrictFunctor.F-assoc f g h = λ i j comp-hom-assoc f g h i
56+
Forget .StrictFunctor.F-unit-left-filler {x = x , _} f .fst = refl′ (id-hom x ∙₁ f)
57+
Forget .StrictFunctor.F-unit-left-filler f .snd = refl
58+
Forget .StrictFunctor.F-unit-left f = λ i j comp-hom-unit-left f i
59+
Forget .StrictFunctor.F-unit-right-filler {y = y , _} f .fst = refl′ (f ∙₁ id-hom y)
60+
Forget .StrictFunctor.F-unit-right-filler f .snd = refl
61+
Forget .StrictFunctor.F-unit-right f = λ i j comp-hom-unit-right f i

0 commit comments

Comments
 (0)