Definition hset_struct_with_smash_closed_adj_laws {P : hset_cartesian_struct} {Pt : pointed_hset_struct P} {SP : hset_struct_with_smash P Pt} (PC : hset_struct_with_smash_closed_pointed SP) : UU := (∏ (PX PY PZ : category_of_hset_struct P) (f : PX --> hset_struct_with_smash_closed_to_funspace PC PY PZ), mor_hset_struct P (pr2 (hset_struct_with_smash_setquot_ob SP PX PY)) (pr2 PZ) (hset_struct_smash_curry_fun PC f)) × (∏ (PX PY PZ : category_of_hset_struct P) (f : hset_struct_with_smash_setquot_ob SP PX PY --> PZ), mor_hset_struct P (pr2 PX) (pr1 PC _ _ (pr2 PY) (pr2 PZ)) (hset_struct_smash_uncurry_fun SP f)).
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.