Definition make_functor_enrichment_over_smash_struct {C₁ C₂ : category} (P₁ : smash_struct_enrichment C₁) (P₂ : smash_struct_enrichment C₂) (F : C₁ ⟶ C₂) (HF : functor_smash_struct_enrichment P₁ P₂ F) : functor_enrichment F (make_enrichment_over_smash_struct C₁ P₁) (make_enrichment_over_smash_struct C₂ P₂). Proof. simple refine (_ ,, _). - exact (λ x y, (λ f, #F f) ,, HF x y). - repeat split. + abstract (intros x ; use eq_mor_hset_struct ; intro b ; induction b ; cbn ; [ apply functor_id | ] ; exact (pointed_hset_struct_preserve_point _ (HF x x))). + abstract (intros x y z ; use eq_mor_hset_struct ; use setquotunivprop' ; [ intro ; apply homset_property | ] ; intros fg ; induction fg as [ f g ] ; apply functor_comp). + abstract (intros x y f ; use eq_mor_hset_struct ; intro b ; induction b ; cbn ; [ apply idpath | ] ; refine (!_) ; apply (pointed_hset_struct_preserve_point _ (HF x y))). Defined.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Core.Univalence. 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.Monoidal.WhiskeredBifunctors. Require Import UniMath.CategoryTheory.Monoidal.Categories. Require Import UniMath.CategoryTheory.Monoidal.Structure.Cartesian. Require Import UniMath.CategoryTheory.Monoidal.Examples.SmashProductMonoidal. Require Import UniMath.CategoryTheory.EnrichedCats.Enrichment. Require Import UniMath.CategoryTheory.EnrichedCats.EnrichmentFunctor. Section FromStructSmashEnrichment. End FromStructSmashEnrichment.