proposition: Lemma is_nat_trans_Flat_θ_data: is_nat_trans _ _ Flat_θ_data.
proof: Proof. intros XZ XZ' αβ. apply nat_trans_eq_alt. intro c. simpl. destruct XZ as [X [Z e]]; destruct XZ' as [X' [Z' e']]; destruct αβ as [α β]; simpl in *. repeat rewrite id_left. rewrite (functor_comp Z). rewrite (functor_comp X). repeat rewrite assoc. do 4 rewrite <- functor_comp. rewrite (nat_trans_ax α). repeat rewrite <- assoc. rewrite <- functor_comp. do 2 rewrite (nat_trans_ax α). do 2 apply maponpaths. repeat rewrite assoc. etrans. 2: { do 2 apply cancel_postcomposition. apply (nat_trans_ax e). } cbn. assert (β_is_pointed := ptd_mor_commutes _ β). simpl in β_is_pointed. rewrite <- (nat_trans_ax α). repeat rewrite <- assoc. apply maponpaths. rewrite assoc. etrans. 2: { apply cancel_postcomposition. apply (nat_trans_ax e). } cbn. rewrite <- assoc. rewrite β_is_pointed. apply idpath. Qed.
imports: UniMath.Foundations.PartD UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.FunctorCategory UniMath.CategoryTheory.Limits.BinProducts UniMath.CategoryTheory.Limits.BinCoproducts UniMath.CategoryTheory.Limits.Terminal UniMath.CategoryTheory.PointedFunctors UniMath.CategoryTheory.HorizontalComposition UniMath.CategoryTheory.PointedFunctorsComposition UniMath.CategoryTheory.PrecategoryBinProduct UniMath.SubstitutionSystems.Signatures UniMath.CategoryTheory.BicatOfCatsElementary UniMath.SubstitutionSystems.BinSumOfSignatures UniMath.SubstitutionSystems.Notation UniMath.CategoryTheory.Chains.Chains UniMath.CategoryTheory.Chains.OmegaCocontFunctors UniMath.CategoryTheory.exponentials UniMath.CategoryTheory.whiskering UniMath.CategoryTheory.Limits.Graphs.Colimits