Definition enrichment_over_struct_weq_struct_enrichment_inv_1 : make_enrichment_over_struct C (make_struct_enrichment C E) = E. Proof. use subtypePath. { intro. apply isaprop_enrichment_laws. } use (invweq (total2_paths_equiv _ _ _)). use (invmap (enrichment_data_hom_path _ _ _)). { exact (is_univalent_category_of_hset_struct P). } simple refine (_ ,, _ ,, _ ,, _ ,, _). - exact enrichment_over_struct_weq_struct_enrichment_iso. - intro x. use eq_mor_hset_struct. intro t ; cbn. rewrite enriched_from_arr_id. apply maponpaths. apply isapropunit. - intros x y z. use eq_mor_hset_struct. intro t ; cbn. rewrite enriched_from_arr_comp ; cbn. apply idpath. - intros x y f. use eq_mor_hset_struct. intro t. cbn. apply maponpaths. apply isapropunit. - intros x y f. cbn. assert (mor_hset_struct P (hset_struct_unit P) (make_struct_enrichment_data C E x y) (λ _, pr1 f tt)) as H. { apply hset_struct_const. } refine (!(enriched_to_from_arr E (pr1 f tt)) @ _). apply maponpaths. use eq_mor_hset_struct. intro t ; induction t. cbn. apply idpath. 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.Monoidal.WhiskeredBifunctors. Require Import UniMath.CategoryTheory.Monoidal.Categories. Require Import UniMath.CategoryTheory.Monoidal.Structure.Cartesian. Require Import UniMath.CategoryTheory.Monoidal.Examples.StructuresMonoidal. Require Import UniMath.CategoryTheory.EnrichedCats.Enrichment. Require Import UniMath.CategoryTheory.EnrichedCats.EnrichmentFunctor. Section FromStructEnrichment. End FromStructEnrichment.