proposition: Proposition self_enrichment_equalizer_eq {a b : V} (φ₁ φ₂ : b --> a ⊸ e) (q : φ₁ · postcomp_arr (self_enrichment V) a (internal_to_arr (internal_lam (mon_lunitor e · p))) = φ₂ · postcomp_arr (self_enrichment V) a (internal_to_arr (internal_lam (mon_lunitor e · p)))) : φ₁ = φ₂.
proof: Proof. use internal_funext. intros w h. use (EqualizerInsEq Eq) ; cbn. rewrite !self_enrichment_postcomp in q. pose (maponpaths (λ z, z #⊗ identity _ · internal_eval _ _) q) as q'. cbn in q'. rewrite !tensor_comp_id_r in q'. rewrite !assoc' in q'. rewrite !internal_beta in q'. unfold internal_to_arr in q'. rewrite !assoc' in q'. rewrite !internal_beta in q'. rewrite !(maponpaths (λ z, _ · (_ · z)) (assoc _ _ _)) in q'. rewrite !mon_linvunitor_lunitor in q'. rewrite id_left in q'. rewrite tensor_split. rewrite !assoc'. rewrite q'. rewrite !assoc. rewrite <- tensor_split. apply idpath. Qed.
imports: UniMath.Foundations.All UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.EnrichedCats.Enrichment UniMath.CategoryTheory.EnrichedCats.Examples.SelfEnriched UniMath.CategoryTheory.EnrichedCats.Limits.EnrichedTerminal UniMath.CategoryTheory.EnrichedCats.Limits.EnrichedBinaryProducts UniMath.CategoryTheory.EnrichedCats.Limits.EnrichedProducts UniMath.CategoryTheory.EnrichedCats.Limits.EnrichedEqualizers UniMath.CategoryTheory.EnrichedCats.Limits.EnrichedPowers UniMath.CategoryTheory.Monoidal.Categories UniMath.CategoryTheory.Monoidal.Structure.Symmetric UniMath.CategoryTheory.Monoidal.Structure.Closed UniMath.CategoryTheory.Limits.Terminal UniMath.CategoryTheory.Limits.BinProducts UniMath.CategoryTheory.Limits.Equalizers UniMath.CategoryTheory.Limits.Products