Lemma disp_lhs_right_invert_cell' {a b : C} {f g h : a --> b} {x : f ==> g} {y : invertible_2cell g h} {z : f ==> h} {p : x = z • y^-1} {aa : D a} {bb : D b} {ff : aa -->[f] bb} {gg : aa -->[g] bb} {hh : aa -->[h] bb} (xx : ff ==>[x] gg) (yy : gg ==>[y] hh) (zz : ff ==>[z] hh) (H : is_disp_invertible_2cell y yy) (q := lhs_right_invert_cell _ _ _ _ p) (pp : xx = transportb (λ x, _ ==>[x] _) p (zz •• disp_inv_cell (yy,,H))) : xx •• yy = transportb (λ x, _ ==>[x] _) q zz. Proof. set (yy' := (yy,,H) : disp_invertible_2cell _ _ _). etrans. { apply maponpaths_2. apply pp. } etrans. { apply disp_mor_transportf_postwhisker. } etrans. { apply maponpaths. apply disp_vassocl. } etrans. { unfold transportb. apply (transport_f_f (λ x' : f ==> h, ff ==>[x'] hh)). } etrans. { apply maponpaths. apply maponpaths. apply disp_vcomp_linv. } etrans. { apply maponpaths. apply disp_mor_transportf_prewhisker. } etrans. { unfold transportb. apply (transport_f_f (λ x' : f ==> h, ff ==>[x'] hh)). } etrans. { apply maponpaths. apply disp_id2_right. } etrans. { unfold transportb. apply (transport_f_f (λ x' : f ==> h, ff ==>[x'] hh)). } unfold transportb. apply maponpaths_2. apply cellset_property. Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.DisplayedCats.Core. Require Import UniMath.CategoryTheory.DisplayedCats.Total. Require Import UniMath.Bicategories.Core.Bicat. Import Bicat.Notations. Require Import UniMath.Bicategories.Core.Invertible_2cells. Require Import UniMath.Bicategories.Core.BicategoryLaws. Require Import UniMath.Bicategories.Core.Unitors. Require Import UniMath.Bicategories.Morphisms.Adjunctions. Require Import UniMath.Bicategories.Core.Univalence.