proposition: Lemma Y_contr_eq (b b' : D) (f : b --> b') (a0 : C) (h0 : unitary _ (H a0) b) (a0' : C) (h0' : unitary _ (H a0') b') : ∏ t : Y f, t = Y_inhab b b' f a0 h0 a0' h0'.
proof: Proof. intro t. apply pathsinv0. assert (Hpr : pr1 (Y_inhab b b' f a0 h0 a0' h0') = pr1 t). { destruct t as [g1 r1]; simpl in *. rewrite <- assoc. use unitary_inv_on_right. { apply k. } set (hfh := h0 · f · unitary_inv h0'). set (l0 := fH^-1 hfh). apply (r1 a0 h0 a0' h0' l0). unfold l0. inv_functor fH a0 a0' . unfold hfh. repeat rewrite <- assoc. apply maponpaths. refine (_ @ id_right _). apply maponpaths. apply h0'. } apply (total2_paths_f Hpr). apply proofirrelevance. repeat (apply impred; intro). apply homset_property. Qed.
imports: UniMath.Foundations.All UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.whiskering UniMath.CategoryTheory.DisplayedCats.Core UniMath.CategoryTheory.DisplayedCats.Functors UniMath.CategoryTheory.DisplayedCats.Total UniMath.CategoryTheory.DisplayedCats.TotalCategoryFacts UniMath.CategoryTheory.precomp_fully_faithful UniMath.CategoryTheory.DaggerCategories.Categories UniMath.CategoryTheory.DaggerCategories.Functors UniMath.CategoryTheory.DaggerCategories.Transformations UniMath.CategoryTheory.DaggerCategories.Unitary UniMath.CategoryTheory.DaggerCategories.Univalence UniMath.CategoryTheory.DaggerCategories.FunctorCategory UniMath.CategoryTheory.DaggerCategories.Functors.FullyFaithful UniMath.CategoryTheory.DaggerCategories.Functors.WeakEquivalences