Proposition self_enrichment_pair_pr1 {a b : V} (f : a --> b ⊸ v₁) (g : a --> b ⊸ v₂) : self_enrichment_pair f g · postcomp_arr (self_enrichment V) _ (internal_to_arr self_enrichment_binary_product_pr1) = f. Proof. rewrite self_enrichment_postcomp. use internal_funext. intros c h ; cbn. rewrite !tensor_comp_r_id_r. rewrite !assoc'. rewrite internal_beta. etrans. { rewrite tensor_split. rewrite !assoc'. apply maponpaths. rewrite !assoc. unfold self_enrichment_pair. rewrite internal_beta. unfold internal_to_arr. unfold self_enrichment_binary_product_pr1. rewrite !assoc'. rewrite internal_beta. etrans. { apply maponpaths. rewrite !assoc. rewrite mon_linvunitor_lunitor. apply id_left. } apply (BinProductPr1Commutes _ _ _ prod). } rewrite !assoc. rewrite <- tensor_split. apply idpath. Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.EnrichedCats.Enrichment. Require Import UniMath.CategoryTheory.EnrichedCats.Examples.SelfEnriched. Require Import UniMath.CategoryTheory.EnrichedCats.Limits.EnrichedTerminal. Require Import UniMath.CategoryTheory.EnrichedCats.Limits.EnrichedBinaryProducts. Require Import UniMath.CategoryTheory.EnrichedCats.Limits.EnrichedProducts. Require Import UniMath.CategoryTheory.EnrichedCats.Limits.EnrichedEqualizers. Require Import UniMath.CategoryTheory.EnrichedCats.Limits.EnrichedPowers. Require Import UniMath.CategoryTheory.Monoidal.Categories. Require Import UniMath.CategoryTheory.Monoidal.Structure.Symmetric. Require Import UniMath.CategoryTheory.Monoidal.Structure.Closed. Require Import UniMath.CategoryTheory.Limits.Terminal. Require Import UniMath.CategoryTheory.Limits.BinProducts. Require Import UniMath.CategoryTheory.Limits.Equalizers. Require Import UniMath.CategoryTheory.Limits.Products. Import MonoidalNotations.