proposition: Proposition make_enrichment_over_smash_struct_laws : enrichment_laws make_enrichment_over_smash_struct_data.
proof: Proof. repeat split. - intros x y. use eq_mor_hset_struct. use setquotunivprop' ; [ intro ; apply homset_property | ]. intro a. induction a as [ b f ]. induction b ; cbn in *. + rewrite id_right. apply idpath. + rewrite (smash_struct_enrichment_comp_point_l SC). apply idpath. - intros x y. use eq_mor_hset_struct. use setquotunivprop' ; [ intro ; apply homset_property | ]. intro a. induction a as [ f b ]. induction b ; cbn in *. + rewrite id_left. apply idpath. + rewrite (smash_struct_enrichment_comp_point_r SC). apply idpath. - intros w x y z. use eq_mor_hset_struct. use setquotunivprop' ; [ intro ; apply homset_property | ]. intro a. induction a as [ a h ]. revert a. use setquotunivprop' ; [ intro ; apply homset_property | ]. intro a. induction a as [ f g ] ; cbn in *. rewrite assoc. apply idpath. - intros x y f. use eq_mor_hset_struct. intro a. induction a ; cbn. + apply idpath. + rewrite <- (pointed_hset_struct_preserve_point _ (pr2 f)). apply maponpaths. apply hset_struct_with_smash_point_unit. Qed.
imports: UniMath.Foundations.All UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.Core.Univalence UniMath.CategoryTheory.DisplayedCats.Structures.CartesianStructure UniMath.CategoryTheory.DisplayedCats.Structures.StructureLimitsAndColimits UniMath.CategoryTheory.DisplayedCats.Structures.StructuresSmashProduct UniMath.CategoryTheory.Monoidal.WhiskeredBifunctors UniMath.CategoryTheory.Monoidal.Categories UniMath.CategoryTheory.Monoidal.Structure.Cartesian UniMath.CategoryTheory.Monoidal.Examples.SmashProductMonoidal UniMath.CategoryTheory.EnrichedCats.Enrichment UniMath.CategoryTheory.EnrichedCats.EnrichmentFunctor