proposition: Theorem fusion_law : ∏ (C : category) (F : functor C C) (μF_Initial : Initial (category_FunctorAlg F)) (C' : category) (X X' : C') (L : functor C C') (is_left_adj_L : is_left_adjoint L) (ψ : ψ_source C C' X L ⟹ ψ_target C F C' X L) (L' : functor C C') (is_left_adj_L' : is_left_adjoint L') (ψ' : ψ_source C C' X' L' ⟹ ψ_target C F C' X' L') (Φ : yoneda_objects C' X • functor_opp L ⟹ yoneda_objects C' X' • functor_opp L'), let T:= (` (InitialObject μF_Initial)) in ψ T · Φ (F T) = Φ T · ψ' T → Φ T (It μF_Initial X L is_left_adj_L ψ) = It μF_Initial X' L' is_left_adj_L' ψ'.
proof: Proof. apply fusion_law. Qed.
imports: UniMath.Foundations.PartD UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.Adjunctions.Core UniMath.CategoryTheory.FunctorCategory UniMath.CategoryTheory.whiskering UniMath.CategoryTheory.Monads.Monads UniMath.CategoryTheory.Limits.BinProducts UniMath.CategoryTheory.Limits.BinCoproducts UniMath.CategoryTheory.Limits.Initial UniMath.CategoryTheory.Limits.Terminal UniMath.CategoryTheory.FunctorAlgebras UniMath.CategoryTheory.opp_precat UniMath.CategoryTheory.yoneda UniMath.CategoryTheory.PointedFunctors UniMath.CategoryTheory.PrecategoryBinProduct UniMath.CategoryTheory.HorizontalComposition UniMath.CategoryTheory.PointedFunctorsComposition UniMath.SubstitutionSystems.Signatures UniMath.SubstitutionSystems.BinSumOfSignatures UniMath.SubstitutionSystems.SimplifiedHSS.SubstitutionSystems UniMath.SubstitutionSystems.GenMendlerIteration UniMath.CategoryTheory.RightKanExtension UniMath.SubstitutionSystems.GenMendlerIteration UniMath.SubstitutionSystems.SimplifiedHSS.LiftingInitial UniMath.SubstitutionSystems.SimplifiedHSS.MonadsFromSubstitutionSystems UniMath.SubstitutionSystems.LamSignature UniMath.SubstitutionSystems.SimplifiedHSS.Lam UniMath.SubstitutionSystems.Notation