Proposition tensor_enriched_precat_assoc_ax : enriched_assoc_ax tensor_enriched_precat_data. Proof. intros w x y z. induction w as [ w₁ w₂ ]. induction x as [ x₁ x₂ ]. induction y as [ y₁ y₂ ]. induction z as [ z₁ z₂ ]. cbn. etrans. { rewrite tensor_comp_r_id_r. rewrite !assoc'. apply maponpaths. rewrite !assoc. apply maponpaths_2. rewrite <- tensor_id_id. rewrite <- naturality_inner_swap. apply idpath. } rewrite !assoc'. etrans. { do 2 apply maponpaths. rewrite <- tensor_comp_mor. rewrite !enrichment_assoc. apply idpath. } etrans. { do 2 apply maponpaths. rewrite !assoc'. rewrite !tensor_comp_mor. apply idpath. } refine (!_). etrans. { apply maponpaths. rewrite !assoc. apply maponpaths_2. rewrite tensor_comp_l_id_r. rewrite !assoc'. rewrite <- tensor_id_id. rewrite <- naturality_inner_swap. apply idpath. } rewrite !assoc. do 2 apply maponpaths_2. rewrite tensor_id_id. rewrite !assoc'. use (z_iso_inv_to_left _ _ _ (_ ,, _)). { use tensor_is_z_iso ; [ apply inner_swap_is_z_isomorphism | ]. apply identity_is_z_iso. } cbn. use (z_iso_inv_to_left _ _ _ (_ ,, _)). { apply inner_swap_is_z_isomorphism. } cbn. rewrite !assoc. use (z_iso_inv_to_right _ _ _ _ (_ ,, _)). { apply inner_swap_is_z_isomorphism. } cbn. use (z_iso_inv_to_right _ _ _ _ (_ ,, _)). { use tensor_is_z_iso ; [ | apply inner_swap_is_z_isomorphism ]. apply identity_is_z_iso. } cbn. rewrite !assoc'. refine (_ @ inner_swap_hexagon _ _ _ _ _ _ _ @ _). - apply maponpaths. apply maponpaths_2. rewrite tensor_mor_right. apply idpath. - do 2 apply maponpaths. rewrite tensor_mor_left. apply idpath. Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Prelude. Require Import UniMath.CategoryTheory.EnrichedCats.Enrichment. Require Import UniMath.CategoryTheory.EnrichedCats.EnrichmentFunctor. Require Import UniMath.CategoryTheory.EnrichedCats.Enriched.Enriched. Require Import UniMath.CategoryTheory.EnrichedCats.Enriched.EnrichmentEquiv. Require Import UniMath.CategoryTheory.Monoidal.Categories. Require Import UniMath.CategoryTheory.Monoidal.WhiskeredBifunctors. Require Import UniMath.CategoryTheory.Monoidal.Structure.Symmetric. Require Import UniMath.CategoryTheory.Monoidal.Structure.SymmetricDiagonal. Import MonoidalNotations.