proposition: Lemma is_nat_trans_δ_comp_mor : is_nat_trans (δ_source (functor_compose G1 G2)) (δ_target (functor_compose G1 G2)) δ_comp_mor.
proof: Proof. intros Ze Z'e' αX; induction Ze as [Z e]; induction Z'e' as [Z' e']; induction αX as [α X]; simpl in *. apply nat_trans_eq; [apply homset_property |]; intro c; simpl. rewrite !id_right, !id_left. generalize (nat_trans_eq_pointwise (nat_trans_ax (δ G1 DL1) (Z,,e) (Z',, e') (α,,X)) c). generalize (nat_trans_eq_pointwise (nat_trans_ax (δ G2 DL2) (Z,,e) (Z',, e') (α,,X)) (G1 c)). intros Hyp1 Hyp2. cbn in Hyp1, Hyp2. etrans. 2: { rewrite <- assoc. apply maponpaths. exact Hyp1. } clear Hyp1. etrans. { rewrite assoc. apply cancel_postcomposition. apply pathsinv0, functor_comp. } etrans. { apply cancel_postcomposition. apply maponpaths. exact Hyp2. } rewrite (functor_comp G2). apply assoc'. Qed.
imports: UniMath.Foundations.PartD UniMath.MoreFoundations.Tactics UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.FunctorCategory UniMath.CategoryTheory.whiskering UniMath.CategoryTheory.Limits.BinCoproducts UniMath.CategoryTheory.Limits.Terminal UniMath.CategoryTheory.FunctorAlgebras UniMath.CategoryTheory.PointedFunctors UniMath.SubstitutionSystems.Signatures UniMath.CategoryTheory.BicatOfCatsElementary UniMath.SubstitutionSystems.Notation UniMath.CategoryTheory.PointedFunctorsComposition