proposition: Lemma cartesian_monoidal_has_enough_comonoids_mor_comult {x y : V} (f : V⟦x, y⟧) : is_comonoid_mor_comult V (cartesian_monoidal_has_enough_comonoids x) (cartesian_monoidal_has_enough_comonoids y) f.
proof: Proof. etrans. 2: { apply pathsinv0. apply (precompWithBinProductArrow _ (is_cartesian_BinProduct Ccart y y)). } rewrite id_right. etrans. { apply maponpaths. apply (cartesian_tensor_mor Ccart). } etrans. { apply (postcompWithBinProductArrow _ (is_cartesian_BinProduct Ccart _ _) (is_cartesian_BinProduct Ccart _ _) f f ). } now rewrite id_left. Qed.
imports: UniMath.Foundations.All UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.catiso UniMath.CategoryTheory.Limits.BinProducts UniMath.CategoryTheory.DisplayedCats.Core UniMath.CategoryTheory.DisplayedCats.Total UniMath.CategoryTheory.DisplayedCats.Projection UniMath.CategoryTheory.DisplayedCats.CatIsoDisplayed UniMath.CategoryTheory.PrecategoryBinProduct UniMath.CategoryTheory.Monoidal.WhiskeredBifunctors UniMath.CategoryTheory.Monoidal.Categories UniMath.CategoryTheory.Monoidal.Functors UniMath.CategoryTheory.Monoidal.Displayed.Monoidal UniMath.CategoryTheory.Monoidal.Displayed.TotalMonoidal UniMath.CategoryTheory.Monoidal.Structure.Cartesian UniMath.CategoryTheory.Monoidal.Structure.Symmetric UniMath.CategoryTheory.Monoidal.Structure.SymmetricDiagonal UniMath.CategoryTheory.Monoidal.Comonoids.Category UniMath.CategoryTheory.Monoidal.Comonoids.Tensor UniMath.CategoryTheory.Monoidal.Comonoids.Monoidal UniMath.CategoryTheory.Monoidal.Comonoids.Symmetric