module Cubical.Categories.LocallySmall.Constructions.Total.Properties where
open import Cubical.Foundations.Prelude
open import Cubical.Foundations.Function
open import Cubical.Data.Unit
open import Cubical.Data.Sigma.More
open import Cubical.Categories.LocallySmall.Category.Base
open import Cubical.Categories.LocallySmall.Functor.Base
open import Cubical.Categories.LocallySmall.Variables
open import Cubical.Categories.LocallySmall.Displayed.Category.Base
open import Cubical.Categories.LocallySmall.Displayed.Category.Notation
open import Cubical.Categories.LocallySmall.Displayed.Category.Small
open import Cubical.Categories.LocallySmall.Displayed.Functor.Base
open import Cubical.Categories.LocallySmall.Displayed.Section.Base
open Category
open Categoryᴰ
open Σω
module _ {C : Category Cob CHom-ℓ}(Cᴰ : Categoryᴰ C Cobᴰ CHom-ℓᴰ) where
private
module C = CategoryNotation C
module Cᴰ = CategoryᴰNotation Cᴰ
module _ {D : Category Dob DHom-ℓ}
(F : Functor D C) (Fᴰ : Section F Cᴰ) where
intro : Functor D Cᴰ.∫C
intro .Functor.F-ob = λ z → Functor.F-ob F z , Section.F-obᴰ Fᴰ z
intro .Functor.F-hom = λ z → Functor.F-hom F z , Section.F-homᴰ Fᴰ z
intro .Functor.F-id = Section.F-idᴰ Fᴰ
intro .Functor.F-seq = Section.F-seqᴰ Fᴰ
module _ {D : Category Dob DHom-ℓ}
{F : Functor C D}
{Dᴰ : Categoryᴰ D Dobᴰ DHom-ℓᴰ}
(Fᴰ : Functorᴰ F Cᴰ Dᴰ) where
private
module Dᴰ = CategoryᴰNotation Dᴰ
elim : Section (F ∘F Cᴰ.Fst) Dᴰ
elim = compFunctorᴰSection Fᴰ Cᴰ.Snd
module _ {D : Category Dob DHom-ℓ}
{F : Functor C D}
{Dᴰ : Categoryᴰ D Dobᴰ DHom-ℓᴰ}
(Fᴰ : Section (F ∘F Cᴰ.Fst) Dᴰ) where
open Functorᴰ
recᴰ : Functorᴰ F Cᴰ Dᴰ
recᴰ .F-obᴰ = λ z → Section.F-obᴰ Fᴰ (_ , z)
recᴰ .F-homᴰ = λ fᴰ → Section.F-homᴰ Fᴰ (_ , fᴰ)
recᴰ .F-idᴰ = Section.F-idᴰ Fᴰ
recᴰ .F-seqᴰ = λ fᴰ gᴰ → Section.F-seqᴰ Fᴰ (_ , fᴰ) (_ , gᴰ)