Definition moncats0_equiv_uncurried : moncats0 ≃ monoidal_cat. Proof. apply weqfibtototal. intro C. use weqtotal2. { apply bifunctor_equiv_functorfromproductcat. } intro T. use weqtotal2. { apply idweq. } intro I. use weqtotal2. { apply lunitors_equiv. } intro lu. use weqtotal2. { apply runitors_equiv. } intro ru. use weqtotal2. { apply associators_equiv. } intro ass. apply weqdirprodf ; apply weqimplimpl. { intros ti x y. etrans. { apply when_bifunctor_becomes_rightwhiskering. } etrans. 2: { apply maponpaths ; apply (! when_bifunctor_becomes_leftwhiskering _ _ _). } apply (! ti x y). } { intros ti x y. refine (_ @ ! ti x y @ _). - apply maponpaths. apply (! when_bifunctor_becomes_leftwhiskering _ _ _). - apply when_bifunctor_becomes_rightwhiskering. } { repeat (apply impred_isaprop ; intro) ; apply homset_property. } { repeat (apply impred_isaprop ; intro) ; apply homset_property. } { intros pi w x y z. refine (! pi w x y z @ _). etrans. 2: { do 2 apply maponpaths_2 ; apply (! when_bifunctor_becomes_rightwhiskering _ _ _). } apply maponpaths. apply (! when_bifunctor_becomes_leftwhiskering _ _ _). } { intros pi w x y z. refine (_ @ ! pi w x y z). simpl. etrans. 2: { do 2 apply maponpaths_2 ; apply (! when_bifunctor_becomes_rightwhiskering _ _ _). } apply maponpaths. apply (! when_bifunctor_becomes_leftwhiskering _ _ _). } { repeat (apply impred_isaprop ; intro) ; apply homset_property. } repeat (apply impred_isaprop ; intro) ; apply homset_property. Defined.
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.PrecategoryBinProduct. Require Import UniMath.CategoryTheory.Monoidal.WhiskeredBifunctors. Require Import UniMath.CategoryTheory.Monoidal.Categories. Require Import UniMath.CategoryTheory.Monoidal.AlternativeDefinitions.MonoidalCategoriesTensored. Require Import UniMath.CategoryTheory.Monoidal.AlternativeDefinitions.MonoidalCategoriesReordered.