Proposition hset_struct_with_smash_map_from_smash' {P : hset_cartesian_struct} {Pt : pointed_hset_struct P} (SP : hset_struct_with_smash P Pt) {X Y : hSet} (PX : P X) (PY : P Y) {Z : UU} (HZ : isaset Z) (PZ : P (Z ,, HZ)) (Pz := hset_struct_point Pt PZ) (h : X → Y → Z) (Ph : mor_hset_struct P (hset_struct_prod P PX PY) PZ (λ xy, h (pr1 xy) (pr2 xy))) (hp₁ : ∏ (y₁ y₂ : Y), h (hset_struct_point Pt PX) y₁ = h (hset_struct_point Pt PX) y₂) (hp₂ : ∏ (x : X) (y : Y), h x (hset_struct_point Pt PY) = h (hset_struct_point Pt PX) y) (hp₃ : ∏ (x₁ x₂ : X), h x₁ (hset_struct_point Pt PY) = h x₂ (hset_struct_point Pt PY)) : mor_hset_struct P (SP X Y PX PY) PZ (map_from_smash' P Pt PX PY HZ h hp₁ hp₂ hp₃). Proof. exact (pr222 (pr22 (pr222 SP) X Y PX PY) _ PZ h Ph hp₁ hp₂ hp₃). Qed.
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.