Definition smash_product_sym_mon_closed_cat : sym_mon_closed_cat. Proof. use make_sym_mon_closed_cat. - exact smash_product_sym_monoidal_cat. - exact (λ X Y, X -->* Y). - exact (λ PX PY, hset_struct_with_smash_closed_eval PX PY). - exact (λ X Y Z f, hset_struct_smash_closed_uncurry f). - abstract (intros X Y Z f ; use eq_mor_hset_struct ; use setquotunivprop' ; [ intro ; apply setproperty | ] ; intros zx ; induction zx as [ z x ] ; cbn ; apply idpath). - abstract (intros X Y Z f ; use eq_mor_hset_struct ; intros z ; use eq_mor_hset_struct ; intros x ; cbn ; apply idpath). Defined.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Monoidal.WhiskeredBifunctors. Require Import UniMath.CategoryTheory.Monoidal.Categories. Require Import UniMath.CategoryTheory.Monoidal.Structure.Symmetric. Require Import UniMath.CategoryTheory.Monoidal.Structure.Closed. 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.Limits.BinProducts. Require Import UniMath.CategoryTheory.Limits.Terminal.