proposition: Lemma fg_unique : isaprop (∑ fg0 : C ⟦ x, p ⟧, fg0 · π₁ = f1 × fg0 · π₂ = f2).
proof: Proof. use invproofirrelevance. intros φ₁ φ₂. use subtypePath. { intro. apply isapropdirprod ; apply homset_property. } refine (! homotinvweqweq (weq_from_fully_faithful Fw _ _) _ @ _). refine (_ @ homotinvweqweq (weq_from_fully_faithful Fw _ _) _). apply maponpaths. cbn. use (BinProductArrowsEq _ _ _ (make_BinProduct _ _ _ _ _ _ Hp)). - cbn. rewrite <- ! functor_comp. apply maponpaths. exact (pr12 φ₁ @ ! pr12 φ₂). - cbn. rewrite <- ! functor_comp. apply maponpaths. exact (pr22 φ₁ @ ! pr22 φ₂). Qed.
imports: UniMath.Foundations.All UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Core.Univalence UniMath.CategoryTheory.Limits.Terminal UniMath.CategoryTheory.Limits.BinProducts UniMath.CategoryTheory.Limits.Preservation UniMath.CategoryTheory.FunctorCategory UniMath.CategoryTheory.catiso UniMath.CategoryTheory.whiskering UniMath.CategoryTheory.PrecompEquivalence