Lemma monoidal_triangle_identity_inv_alt {C : category} (M : monoidal C) (x y : C) : x ⊗^{M}_{l} (luinv_{M} y) · αinv_{M} x I_{M} y = (ruinv_{M} x) ⊗^{M}_{r} y. Proof. transparent assert (auxiso1 : (z_iso (x ⊗_{ M} y) (x ⊗_{ M} (I_{ M} ⊗_{ M} y)))). { exists (x ⊗^{M}_{l} (luinv_{M} y)). apply (is_z_iso_leftwhiskering_z_iso M). exists (lu_{ M} y). split; apply monoidal_leftunitorisolaw. } transparent assert (auxiso2 : (z_iso (x ⊗_{ M} y) ((x ⊗_{ M} I_{ M}) ⊗_{ M} y))). { exists (ruinv_{ M} x ⊗^{ M}_{r} y). apply (is_z_iso_rightwhiskering_z_iso M). exists (ru_{ M} x). split; apply monoidal_rightunitorisolaw. } apply pathsinv0, (z_iso_inv_on_left _ _ _ _ (z_iso_from_associator_iso M _ _ _)). apply (z_iso_inv_to_left _ _ _ auxiso2). apply (z_iso_inv_to_right _ _ _ _ auxiso1). apply pathsinv0, monoidal_triangleidentity. Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.Notations. Require Import UniMath.MoreFoundations.PartA. 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.Adjunctions.Core. Require Import UniMath.CategoryTheory.Equivalences.Core. Require Import UniMath.CategoryTheory.Equivalences.FullyFaithful. Require Import UniMath.CategoryTheory.opp_precat. Import BifunctorNotations. Import MonoidalNotations. Section EquivalenceFromTensorWithUnit. Import MonoidalNotations. End EquivalenceFromTensorWithUnit. Import MonoidalNotations. Import MonoidalNotations. Import MonoidalNotations. Import MonoidalNotations. Import MonoidalNotations.