proposition: Proposition local_equivalence_twocell_lwhisker {x y z : B₁} (f : F x --> F y) {g₁ g₂ : F y --> F z} (τ : g₁ ==> g₂) : local_equivalence_inv_twocell (f ◃ τ) • local_equivalence_inv_onecell_comp f g₂ = local_equivalence_inv_onecell_comp f g₁ • (_ ◃ local_equivalence_inv_twocell τ).
proof: Proof. cbn -[psfunctor_comp]. use local_equivalence_eq_two_cell. rewrite !psfunctor_vcomp. rewrite !psfunctor_local_equivalence_inv_twocell. rewrite !vassocl. apply maponpaths. etrans. { apply maponpaths. rewrite !vassocr. rewrite vcomp_linv. rewrite id2_left. rewrite !vassocl. apply idpath. } rewrite !vassocr. rewrite <- vcomp_whisker. rewrite !vassocl. apply maponpaths. etrans. { rewrite !vassocr. do 3 apply maponpaths_2. rewrite lwhisker_vcomp. rewrite <- local_equivalence_counit_natural_alt. rewrite <- lwhisker_vcomp. apply idpath. } rewrite !vassocl. apply maponpaths. etrans. { rewrite !vassocr. rewrite <- psfunctor_lwhisker. rewrite !vassocl. apply idpath. } apply maponpaths. etrans. { rewrite !vassocr. rewrite <- local_equivalence_counit_natural_alt. rewrite !vassocl. apply idpath. } apply maponpaths. rewrite <- !psfunctor_vcomp. apply maponpaths. rewrite local_equivalence_unit_natural_alt. apply idpath. Qed.
imports: UniMath.Foundations.All UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Prelude UniMath.CategoryTheory.Equivalences.Core UniMath.CategoryTheory.Equivalences.FullyFaithful UniMath.Bicategories.Core.Bicat UniMath.Bicategories.Core.Examples.BicatOfUnivCats UniMath.Bicategories.Core.Invertible_2cells UniMath.Bicategories.Core.Univalence UniMath.Bicategories.Core.BicategoryLaws UniMath.Bicategories.Morphisms.Adjunctions UniMath.Bicategories.Core.EquivToAdjequiv UniMath.Bicategories.DisplayedBicats.DispBicat UniMath.Bicategories.PseudoFunctors.Display.PseudoFunctorBicat UniMath.Bicategories.PseudoFunctors.PseudoFunctor UniMath.Bicategories.PseudoFunctors.Properties