Proposition enriched_from_arr_smash_lemma (x y : C) : pr1 (enriched_from_arr E (hset_struct_point P (make_smash_struct_enrichment_data x y))) true = hset_struct_point P (pr2 (E ⦃ x, y ⦄)). Proof. assert (mor_hset_struct P (pr2 (monoidal_unit (smash_product_monoidal_cat P))) (pr2 (E ⦃ x, y ⦄)) (pointed_hset_struct_map_from_unit P (pr2 (E ⦃ x, y ⦄)) (hset_struct_point P (pr2 (E ⦃ x, y ⦄))))) as H. { apply hset_struct_with_smash_map_from_unit. } refine (_ @ maponpaths (λ z, pr1 z true) (enriched_from_to_arr E (_ ,, H))). apply maponpaths_2. apply maponpaths. unfold make_smash_struct_enrichment_data. unfold transportf_struct_weq. rewrite transportf_hset_struct_point. cbn ; unfold enriched_smash_hom_to_mor. apply maponpaths. use eq_mor_hset_struct. intro ; cbn. 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.Core.Univalence. Require Import UniMath.CategoryTheory.DisplayedCats.Structures.CartesianStructure. Require Import UniMath.CategoryTheory.DisplayedCats.Structures.StructureLimitsAndColimits. Require Import UniMath.CategoryTheory.DisplayedCats.Structures.StructuresSmashProduct. Require Import UniMath.CategoryTheory.Monoidal.WhiskeredBifunctors. Require Import UniMath.CategoryTheory.Monoidal.Categories. Require Import UniMath.CategoryTheory.Monoidal.Structure.Cartesian. Require Import UniMath.CategoryTheory.Monoidal.Examples.SmashProductMonoidal. Require Import UniMath.CategoryTheory.EnrichedCats.Enrichment. Require Import UniMath.CategoryTheory.EnrichedCats.EnrichmentFunctor. Section FromStructSmashEnrichment. End FromStructSmashEnrichment.