proposition: Proposition symmetric_univalent_square_double_cat (C : univalent_category) : symmetric_univalent (square_univalent_double_cat C).
proof: Proof. use make_symmetric_univalent. - intros x y ; cbn. apply homset_property. - cbn. assert (transpose_category (square_univalent_double_cat C) (λ x y, homset_property C x y) = C) as p. { use subtypePath. { intro. apply isaprop_has_homsets. } induction C as [ [ C H₁ ] H₂ ]. cbn. refine (maponpaths (λ z, _ ,, z) _). apply isaprop_is_precategory. apply homset_property. } pose (univalent_category_is_univalent C) as H. rewrite <- p in H. exact H. - intros x₁ x₂ y₁ y₂ p₁ p₂ xy₁ xy₂. induction p₁, p₂ ; cbn. use isweqimplimpl. + intros f. pose (p := pr1 f) ; cbn in p. rewrite id_left, id_right in p. exact (p). + apply homset_property. + use isaproptotal2. * intro. apply isaprop_is_iso_twosided_disp. * intros. apply homset_property. Qed.
imports: UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Prelude UniMath.CategoryTheory.Core.Setcategories UniMath.CategoryTheory.TwoSidedDisplayedCats.TwoSidedDispCat UniMath.CategoryTheory.TwoSidedDisplayedCats.Isos UniMath.CategoryTheory.TwoSidedDisplayedCats.Univalence UniMath.CategoryTheory.TwoSidedDisplayedCats.Strictness UniMath.CategoryTheory.TwoSidedDisplayedCats.Examples.Arrow UniMath.Bicategories.Core.Bicat UniMath.Bicategories.Core.Examples.BicatOfUnivCats UniMath.Bicategories.DoubleCategories.Basics.StrictDoubleCatBasics UniMath.Bicategories.DoubleCategories.Basics.DoubleCategoryBasics UniMath.Bicategories.DoubleCategories.Core.DoubleCats UniMath.Bicategories.DoubleCategories.Core.UnivalentDoubleCats UniMath.Bicategories.DoubleCategories.Core.SymmetricUnivalent UniMath.Bicategories.DoubleCategories.Core.StrictDoubleCats UniMath.Bicategories.DoubleCategories.Core.CompanionsAndConjoints