Lemma swap_nat_along_zisos {C : category} {x1 x2 y1 y2 : C} (p1 : z_iso x1 y1) (p2 : z_iso x2 y2) : ∏ (f: C⟦x1,x2⟧) (g : C⟦y1,y2⟧), (pr1 p1) · g = f · (pr1 p2) -> g · (inv_from_z_iso p2) = (inv_from_z_iso p1) · f. Proof. intros f g p. apply pathsinv0. apply z_iso_inv_on_right. rewrite assoc. apply z_iso_inv_on_left. apply p. 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.