Definition hset_struct_with_smash_closed_laws_enrich {P : hset_cartesian_struct} {Pt : pointed_hset_struct P} {SP : hset_struct_with_smash P Pt} (PC : hset_struct_with_smash_closed_adj SP) : UU := (∏ (PX PY PZ : category_of_hset_struct P), mor_hset_struct P (pr2 (hset_struct_with_smash_closed_to_funspace PC PX (hset_struct_with_smash_closed_to_funspace PC PZ PY))) (pr2 (hset_struct_with_smash_closed_to_funspace PC (hset_struct_with_smash_setquot_ob SP PX PZ) PY)) (hset_struct_smash_curry PC)) × (∏ (PX PY PZ : category_of_hset_struct P), mor_hset_struct P (pr2 (hset_struct_with_smash_closed_to_funspace PC (hset_struct_with_smash_setquot_ob SP PX PZ) PY)) (pr2 (hset_struct_with_smash_closed_to_funspace PC PX (hset_struct_with_smash_closed_to_funspace PC PZ PY))) (hset_struct_smash_uncurry PC)).
Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.DisplayedCats.Core. Require Import UniMath.CategoryTheory.DisplayedCats.Structures.CartesianStructure. Require Import UniMath.CategoryTheory.DisplayedCats.Structures.StructureLimitsAndColimits.