Proposition internal_pre_post_comp_comp {x₁ x₂ x₃ : V} (f₁ : x₁ --> x₂) (f₂ : x₂ --> x₃) {y₁ y₂ y₃ : V} (g₁ : y₁ --> y₂) (g₂ : y₂ --> y₃) : internal_pre_post_comp (f₁ · f₂) (g₁ · g₂) = internal_pre_post_comp f₂ g₁ · internal_pre_post_comp f₁ g₂. Proof. rewrite !internal_pre_post_comp_as_pre_post_comp. rewrite internal_precomp_comp. rewrite internal_postcomp_comp. rewrite !assoc'. apply maponpaths. rewrite !assoc. apply maponpaths_2. rewrite <- internal_pre_post_comp_as_pre_post_comp. rewrite <- internal_pre_post_comp_as_post_pre_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.Isos. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.FunctorCategory. Require Import UniMath.CategoryTheory.Adjunctions.Core. Require Import UniMath.CategoryTheory.Monoidal.WhiskeredBifunctors. Require Import UniMath.CategoryTheory.Monoidal.Categories. Require Import UniMath.CategoryTheory.Monoidal.Structure.Symmetric. Import MonoidalNotations.