proposition: Lemma presheaf_exponent_induced_morphism_unique {P P' : presheaf L} (F : presheaf_morphism (BPO (theory_presheaf L) P') P) (F' : ∑ (f' : presheaf_morphism P' (plus_1_presheaf P)), F = # (constprod_functor1 (bin_products_presheaf_cat _) (theory_presheaf L)) (f' : presheaf_cat L ⟦P', plus_1_presheaf P⟧) · presheaf_exponent_morphism P ) : F' = presheaf_exponent_induced_morphism F,, presheaf_exponent_induced_morphism_commutes F.
proof: Proof. apply subtypePairEquality. { intro. apply (homset_property (presheaf_cat L)). } apply (presheaf_morphism_eq (pr1 F') _). intro n. apply funextfun. intro t. refine (_ @ maponpaths (λ x, pr1 x _ _) (!pr2 F')). refine (!(maponpaths (λ x, x _) (presheaf_mor_comp (P := BPO _ _) _ _ _) @ _)). refine (maponpaths (λ x, op (x _ : P _ : hSet) _) (presheaf_mor_comp _ (pr1 F' : presheaf_cat L ⟦P', plus_1_presheaf P⟧) _) @ _). refine (maponpaths (λ x, (pr12 P) _ _ (x : P _ : hSet) _) (mor_op (pr1 F') _ _) @ _). refine (op_op P (pr1 F' n t) _ _ @ _). refine (_ @ op_pr _ _). apply maponpaths. apply funextfun. intro i. refine (_ @ maponpaths pr (homotweqinvweq stnweq i)). induction (invmap stnweq i) as [i' | i']. - refine (comp_comp L (pr _) _ _ @ _). refine (pr_comp _ _ _ @ _). refine (pr_comp L (stnweq (inl (dni lastelement i'))) _ @ _). exact (maponpaths _ (homotinvweqweq stnweq _)). - refine (pr_comp _ _ _ @ _). refine (maponpaths _ (homotinvweqweq stnweq _) @ _). refine (maponpaths (λ x, pr1 x _ _) (id_right (BinProductPr1 _ ((bin_products_presheaf_cat _) (theory_presheaf L) P'))) @ _). apply (maponpaths (λ x, (pr (stnweq (inr x))))). exact (!pr2 iscontrunit i'). Qed.
imports: UniMath.Foundations.All UniMath.MoreFoundations.All UniMath.CategoryTheory.Adjunctions.Core UniMath.CategoryTheory.Categories.HSET.Core UniMath.CategoryTheory.Categories.HSET.Limits UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.DisplayedCats.Core UniMath.CategoryTheory.DisplayedCats.Examples.Cartesian UniMath.CategoryTheory.DisplayedCats.Examples.Sigma UniMath.CategoryTheory.DisplayedCats.Fiber UniMath.CategoryTheory.DisplayedCats.Total UniMath.CategoryTheory.exponentials UniMath.CategoryTheory.FunctorCategory UniMath.CategoryTheory.Limits.BinProducts UniMath.CategoryTheory.Limits.Graphs.Colimits UniMath.CategoryTheory.Limits.Graphs.Limits UniMath.CategoryTheory.Limits.Products UniMath.CategoryTheory.Limits.Terminal UniMath.Combinatorics.StandardFiniteSets UniMath.Combinatorics.Tuples UniMath.AlgebraicTheories.AlgebraicTheories UniMath.AlgebraicTheories.AlgebraicTheoryCategory UniMath.AlgebraicTheories.AlgebraicTheoryCategoryCore UniMath.AlgebraicTheories.AlgebraicTheoryMorphisms UniMath.AlgebraicTheories.Examples.EndomorphismTheory UniMath.AlgebraicTheories.Examples.Plus1Presheaf UniMath.AlgebraicTheories.LambdaTheories UniMath.AlgebraicTheories.LambdaTheoryCategory UniMath.AlgebraicTheories.LambdaTheoryCategoryCore UniMath.AlgebraicTheories.LambdaTheoryMorphisms UniMath.AlgebraicTheories.PresheafCategory UniMath.AlgebraicTheories.PresheafCategoryCore UniMath.AlgebraicTheories.PresheafMorphisms UniMath.AlgebraicTheories.Presheaves