@@ -13,10 +13,11 @@ open import GpdCont.Connectivity as Connectivity using (isPathConnected)
1313open import GpdCont.TwoCategory.Base using (TwoCategory)
1414open import GpdCont.TwoCategory.LaxFunctor using (LaxFunctor ; compLaxFunctor)
1515open import GpdCont.TwoCategory.StrictFunctor using (StrictFunctor)
16- open import GpdCont.TwoCategory.LocalFunctor using (LocalFunctor)
16+ open import GpdCont.TwoCategory.StrictFunctor. LocalFunctor using (LocalFunctor)
1717open import GpdCont.TwoCategory.Displayed.Base using (TwoCategoryᴰ)
1818open import GpdCont.TwoCategory.Displayed.LocallyThin using (LocallyThinOver ; IntoLocallyThin)
1919open import GpdCont.TwoCategory.Displayed.LaxFunctor using (LaxFunctorᴰ)
20+ open import GpdCont.TwoCategory.Displayed.StrictFunctor using (StrictFunctorᴰ)
2021open import GpdCont.TwoCategory.Displayed.Unit using (Unitᴰ ; UnitOver ; AddUnit ; ReindexUnit)
2122open import GpdCont.TwoCategory.Family.Base using (Fam ; Famᴰ ; Fam₂J[_] ; Famᴰ₂ ; Fam₂PathP)
2223open import GpdCont.TwoCategory.HomotopySet using (SetEq ; isTwoCategorySetStr)
@@ -108,41 +109,28 @@ private
108109 (congS (λ - → φ j , - b) (rᴰ j .fst)) ∙ (congS (λ - → φ j , - b) (sᴰ j .fst))
109110 goal = GL.cong-∙ (λ - → φ j , - b) (rᴰ j .fst) (sᴰ j .fst)
110111
111- SetBundleΣFst : LaxFunctor FamSetBundle (hGpdCat ℓ)
112- SetBundleΣFst .LaxFunctor.F-ob = ΣFst₀
113- SetBundleΣFst .LaxFunctor.F-hom = ΣFst₁
114- SetBundleΣFst .LaxFunctor.F-rel = ΣFst₂
115- SetBundleΣFst .LaxFunctor.F-rel-id = refl
116- SetBundleΣFst .LaxFunctor.F-rel-trans = ΣFst₂-rel-trans
117- SetBundleΣFst .LaxFunctor.F-trans-lax (φ , f) (ψ , g) = refl
118- SetBundleΣFst .LaxFunctor.F-trans-lax-natural {x = J , X} {y = K , Y} {f₁ = φ , f₁} {f₂ = .φ , f₂} {g₁ = ψ , g₁} {g₂ = .ψ , g₂} (Eq.refl , rᴰ) (Eq.refl , sᴰ) = Path.Square→compPath
119- λ where
120- i j (idx , b) .fst → ψ (φ idx)
121- i j (idx , b) .snd → sᴰ (φ idx) .fst i (rᴰ idx .fst i b)
122- SetBundleΣFst .LaxFunctor.F-id-lax (J , x) = refl
123- SetBundleΣFst .LaxFunctor.F-assoc (φ , f) (ψ , g) (ρ , h) = refl′ (refl ∙ refl)
124- SetBundleΣFst .LaxFunctor.F-unit-left (J , x) = sym GL.compPathRefl
125- SetBundleΣFst .LaxFunctor.F-unit-right (J , x) = sym GL.compPathRefl
126-
127- SetBundleΣFstˢ : StrictFunctor FamSetBundle (hGpdCat ℓ)
128- SetBundleΣFstˢ .StrictFunctor.F-ob = ΣFst₀
129- SetBundleΣFstˢ .StrictFunctor.F-hom = ΣFst₁
130- SetBundleΣFstˢ .StrictFunctor.F-rel = ΣFst₂
131- SetBundleΣFstˢ .StrictFunctor.F-rel-id = refl
132- SetBundleΣFstˢ .StrictFunctor.F-rel-trans = ΣFst₂-rel-trans
133- SetBundleΣFstˢ .StrictFunctor.F-hom-comp _ _ = refl
134- SetBundleΣFstˢ .StrictFunctor.F-hom-id _ = refl
135- SetBundleΣFstˢ .StrictFunctor.F-assoc-filler-left _ _ _ .fst = refl
136- SetBundleΣFstˢ .StrictFunctor.F-assoc-filler-left _ _ _ .snd = refl
137- SetBundleΣFstˢ .StrictFunctor.F-assoc-filler-right _ _ _ .fst = refl
138- SetBundleΣFstˢ .StrictFunctor.F-assoc-filler-right _ _ _ .snd = refl
139- SetBundleΣFstˢ .StrictFunctor.F-assoc _ _ _ = reflSquare _
140- SetBundleΣFstˢ .StrictFunctor.F-unit-left-filler _ .fst = refl
141- SetBundleΣFstˢ .StrictFunctor.F-unit-left-filler _ .snd = refl
142- SetBundleΣFstˢ .StrictFunctor.F-unit-left f = reflSquare (ΣFst₁ f)
143- SetBundleΣFstˢ .StrictFunctor.F-unit-right-filler _ .fst = refl
144- SetBundleΣFstˢ .StrictFunctor.F-unit-right-filler _ .snd = refl
145- SetBundleΣFstˢ .StrictFunctor.F-unit-right f = reflSquare (ΣFst₁ f)
112+ SetBundleΣFst : StrictFunctor FamSetBundle (hGpdCat ℓ)
113+ SetBundleΣFst .StrictFunctor.F-ob = ΣFst₀
114+ SetBundleΣFst .StrictFunctor.F-hom = ΣFst₁
115+ SetBundleΣFst .StrictFunctor.F-rel = ΣFst₂
116+ SetBundleΣFst .StrictFunctor.F-rel-id = refl
117+ SetBundleΣFst .StrictFunctor.F-rel-trans = ΣFst₂-rel-trans
118+ SetBundleΣFst .StrictFunctor.F-hom-comp _ _ = refl
119+ SetBundleΣFst .StrictFunctor.F-hom-id _ = refl
120+ SetBundleΣFst .StrictFunctor.F-assoc-filler-left _ _ _ .fst = refl
121+ SetBundleΣFst .StrictFunctor.F-assoc-filler-left _ _ _ .snd = refl
122+ SetBundleΣFst .StrictFunctor.F-assoc-filler-right _ _ _ .fst = refl
123+ SetBundleΣFst .StrictFunctor.F-assoc-filler-right _ _ _ .snd = refl
124+ SetBundleΣFst .StrictFunctor.F-assoc _ _ _ = reflSquare _
125+ SetBundleΣFst .StrictFunctor.F-unit-left-filler _ .fst = refl
126+ SetBundleΣFst .StrictFunctor.F-unit-left-filler _ .snd = refl
127+ SetBundleΣFst .StrictFunctor.F-unit-left f = reflSquare (ΣFst₁ f)
128+ SetBundleΣFst .StrictFunctor.F-unit-right-filler _ .fst = refl
129+ SetBundleΣFst .StrictFunctor.F-unit-right-filler _ .snd = refl
130+ SetBundleΣFst .StrictFunctor.F-unit-right f = reflSquare (ΣFst₁ f)
131+
132+ private
133+ module SetBundleΣFst = StrictFunctor SetBundleΣFst
146134
147135private
148136 ΣSnd₀ : (x : FamSetBundle.ob) → SetBundle.ob[ ΣFst₀ x ]
@@ -158,28 +146,34 @@ private
158146 → SetBundle.rel[_] {yᴰ = ΣSnd₀ y} (ΣFst₂ r) (ΣSnd₁ f) (ΣSnd₁ g)
159147 ΣSnd₂ (Eq.refl , rᴰ) = funExt λ (j , b) → rᴰ j .snd ≡$ b
160148
161- SetBundleΣᵀ : IntoLocallyThin SetBundleΣFst (Unitᴰ FamSetBundle) SetBundleᵀ
162- SetBundleΣᵀ .IntoLocallyThin.F-obᴰ {x} _ = ΣSnd₀ x
163- SetBundleΣᵀ .IntoLocallyThin.F-homᴰ {x} {y} {f} _ = ΣSnd₁ {x} {y} f
164- SetBundleΣᵀ .IntoLocallyThin.F-relᴰ {r} _ = ΣSnd₂ r
165- SetBundleΣᵀ .IntoLocallyThin.F-trans-laxᴰ fᴰ gᴰ = refl
166- SetBundleΣᵀ .IntoLocallyThin.F-id-laxᴰ xᴰ = refl
167-
168- SetBundleΣᴰ : LaxFunctorᴰ SetBundleΣFst (Unitᴰ FamSetBundle) SetBundleᴰ
169- SetBundleΣᴰ = IntoLocallyThin.toLaxFunctorᴰ SetBundleΣᵀ
170-
171- SetBundleΣUnit : LaxFunctor (UnitOver FamSetBundle) SetBundle
172- SetBundleΣUnit = LaxFunctorᴰ.toTotalFunctor SetBundleΣᴰ
173-
174- SetBundleΣ : LaxFunctor FamSetBundle SetBundle
175- SetBundleΣ = compLaxFunctor (AddUnit _) SetBundleΣUnit
149+ SetBundleΣᴰ : StrictFunctorᴰ SetBundleΣFst (Unitᴰ FamSetBundle) SetBundleᴰ
150+ SetBundleΣᴰ .StrictFunctorᴰ.F-obᴰ {x} _ = ΣSnd₀ x
151+ SetBundleΣᴰ .StrictFunctorᴰ.F-homᴰ {x} {y} {f} _ = ΣSnd₁ {x} {y} f
152+ SetBundleΣᴰ .StrictFunctorᴰ.F-relᴰ {r} _ = ΣSnd₂ r
153+ SetBundleΣᴰ .StrictFunctorᴰ.F-rel-idᴰ fᴰ = reflSquare _
154+ SetBundleΣᴰ .StrictFunctorᴰ.F-rel-transᴰ {y} {r} {s} tt tt = SetBundle.relᴰ≡ {yᴰ = ΣSnd₀ y} (SetBundleΣFst.F-rel-trans r s)
155+ SetBundleΣᴰ .StrictFunctorᴰ.F-hom-compᴰ {f} {g} _ _ = goal where
156+ goal : SetBundle.comp-homᴰ {zᴰ = ΣSnd₀ _} (ΣSnd₁ f) (ΣSnd₁ g) ≡ ΣSnd₁ (f FamSetBundle.∙₁ g)
157+ goal = refl
158+ SetBundleΣᴰ .StrictFunctorᴰ.F-hom-idᴰ _ = refl
159+ SetBundleΣᴰ .StrictFunctorᴰ.F-assoc-filler-leftᴰ {f} {g} {h} _ _ _ .fst = refl
160+ SetBundleΣᴰ .StrictFunctorᴰ.F-assoc-filler-leftᴰ {f} {g} {h} _ _ _ .snd = reflSquare _
161+ SetBundleΣᴰ .StrictFunctorᴰ.F-assoc-filler-rightᴰ {f} {g} {h} _ _ _ .fst = refl
162+ SetBundleΣᴰ .StrictFunctorᴰ.F-assoc-filler-rightᴰ {f} {g} {h} _ _ _ .snd = reflSquare _
163+ SetBundleΣᴰ .StrictFunctorᴰ.F-assocᴰ {f} {g} {h} _ _ _ = reflSquare _
164+ SetBundleΣᴰ .StrictFunctorᴰ.F-unit-left-fillerᴰ {f} _ .fst = refl
165+ SetBundleΣᴰ .StrictFunctorᴰ.F-unit-left-fillerᴰ {f} _ .snd = reflSquare _
166+ SetBundleΣᴰ .StrictFunctorᴰ.F-unit-leftᴰ {f} _ = reflSquare _
167+ SetBundleΣᴰ .StrictFunctorᴰ.F-unit-right-fillerᴰ {f} _ .fst = refl
168+ SetBundleΣᴰ .StrictFunctorᴰ.F-unit-right-fillerᴰ {f} _ .snd = reflSquare _
169+ SetBundleΣᴰ .StrictFunctorᴰ.F-unit-rightᴰ {f} _ = reflSquare _
170+
171+ SetBundleΣ : StrictFunctor FamSetBundle SetBundle
172+ SetBundleΣ = ReindexUnit FamSetBundle SetBundleΣFst SetBundleΣᴰ
176173
177174private
178175 module SetBundleΣ where
179- open LaxFunctor SetBundleΣ public
180-
181- SetBundleΣ' : LaxFunctor FamSetBundle SetBundle
182- SetBundleΣ' = ReindexUnit FamSetBundle (hGpdCat ℓ) SetBundleΣFst SetBundleᴰ SetBundleΣᴰ
176+ open StrictFunctor SetBundleΣ public
183177
184178-- Local functors of Σ : Fam(SetBundle) → SetBundle are fully faithful whenever
185179-- the familiy x in Σ(x, y) : Fam(SetBundle)(x, y) → SetBundle(Σx, Σy) has a connected bases.
0 commit comments