Definition vertical_square_to_invertible_2cell (HB : vertically_saturated B) {x y : B} {v₁ v₂ : x -|-> y} (s : invertible_vertical_square v₁ v₂) : invertible_2cell v₁ v₂. Proof. use make_invertible_2cell. - use (square_to_vertical_cell HB). exact s. - use make_is_invertible_2cell. + use (square_to_vertical_cell HB). exact (inv_of_invertible_vertical_square s). + abstract (rewrite <- (square_to_vertical_cell_comp HB) ; rewrite <- (square_to_vertical_cell_id HB) ; apply maponpaths ; apply invertible_vertical_square_inv_right). + abstract (rewrite <- (square_to_vertical_cell_comp HB) ; rewrite <- (square_to_vertical_cell_id HB) ; apply maponpaths ; apply invertible_vertical_square_inv_left). Defined.
Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Prelude. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.TwoSidedDispCat. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Isos. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Univalence. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Discrete. Require Import UniMath.Bicategories.Core.Bicat. Import Bicat.Notations. Require Import UniMath.Bicategories.Core.Unitors. Require Import UniMath.Bicategories.DoubleCategories.DoubleBicat.VerityDoubleBicat. Require Import UniMath.Bicategories.DoubleCategories.DoubleBicat.DerivedLaws.