open import GpdCont.Prelude
open import GpdCont.TwoCategory.Base
open import GpdCont.TwoCategory.StrictFunctor
module GpdCont.TwoCategory.CompositeFunctor
{ℓo₁ ℓh₁ ℓr₁}
{ℓo₂ ℓh₂ ℓr₂}
{ℓo₃ ℓh₃ ℓr₃}
{C : TwoCategory ℓo₁ ℓh₁ ℓr₁}
{D : TwoCategory ℓo₂ ℓh₂ ℓr₂}
{E : TwoCategory ℓo₃ ℓh₃ ℓr₃}
(F : StrictFunctor C D)
(G : StrictFunctor D E)
where
private
module C = TwoCategory C
module F = StrictFunctor F
open import GpdCont.TwoCategory.StrictFunctor.LocalFunctor
open import Cubical.Categories.Functor.Base using (Functor)
open import Cubical.Categories.Functor.Properties using (isFullyFaithfulG∘F)
isLocallyFullyFaithfulCompositeRestrict :
isLocallyFullyFaithful F
→ (∀ (c₁ c₂ : C.ob) → Functor.isFullyFaithful (LocalFunctor G (F.₀ c₁) (F.₀ c₂)))
→ isLocallyFullyFaithful (compStrictFunctor F G)
isLocallyFullyFaithfulCompositeRestrict F-ff G-ff c₁ c₂ = isFullyFaithfulG∘F
{F = LocalFunctor F c₁ c₂}
{G = LocalFunctor G (F.₀ c₁) (F.₀ c₂)}
(F-ff c₁ c₂)
(G-ff c₁ c₂)