Lemma sym_monoidal_adjunction_to_sym_monoidal_cmd_comult {V₁ V₂ : sym_monoidal_cat} (A : adjunction V₁ V₂) (HA : sym_monoidal_adjunction V₁ V₂ A) : is_mon_nat_trans (comp_fmonoidal_lax (fmonoidal_lax_right_adjoint HA) (fmonoidal_lax_left_adjoint HA)) (comp_fmonoidal_lax (comp_fmonoidal_lax (fmonoidal_lax_right_adjoint HA) (fmonoidal_lax_left_adjoint HA)) (comp_fmonoidal_lax (fmonoidal_lax_right_adjoint HA) (fmonoidal_lax_left_adjoint HA))) (δ (Comonad_from_adjunction A)). Proof. cbn. pose (is_mon_nat_trans_prewhisker (fmonoidal_lax_right_adjoint HA) (is_mon_nat_trans_postwhisker (monoidal_adjunit HA) (fmonoidal_lax_left_adjoint HA))) as H. split. - intros x y. refine (_ @ pr1 H x y @ _). + cbn. rewrite functor_id. rewrite id_right. apply idpath. + cbn. rewrite !assoc'. rewrite <- !functor_comp. rewrite !assoc'. rewrite <- !functor_comp. apply idpath. - refine (_ @ pr2 H @ _). + cbn. rewrite functor_id. rewrite id_right. apply idpath. + cbn. rewrite !assoc'. rewrite <- !functor_comp. rewrite !assoc'. rewrite <- !functor_comp. apply idpath. Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Monads.Comonads. Require Import UniMath.CategoryTheory.Adjunctions.Core. Require Import UniMath.CategoryTheory.Monoidal.FunctorCategories. Require Import UniMath.CategoryTheory.Monoidal.WhiskeredBifunctors. Require Import UniMath.CategoryTheory.Monoidal.Categories. Require Import UniMath.CategoryTheory.Monoidal.Functors. Require Import UniMath.CategoryTheory.Monoidal.Structure.Symmetric. Import BifunctorNotations. Import MonoidalNotations. Section MonoidalAdjunctionFromStrong. End MonoidalAdjunctionFromStrong. Section SymMonoidalAdjunctionFromStrong. End SymMonoidalAdjunctionFromStrong.