Definition equivalence_preserves_cartesian {B : bicat} {b e₁ e₂ : B} (p₁ : e₁ --> b) (p₂ : e₂ --> b) (L : e₁ --> e₂) (com : invertible_2cell p₁ (L · p₂)) (HL : left_adjoint_equivalence L) (HB_2_0 : is_univalent_2_0 B) (HB_2_1 : is_univalent_2_1 B) : mor_preserves_cartesian p₁ p₂ L. Proof. refine (J_2_0 HB_2_0 (λ (x₁ x₂ : B) (L : adjoint_equivalence x₁ x₂), ∏ (p₁ : x₁ --> b) (p₂ : x₂ --> b) (c : invertible_2cell p₁ (L · p₂)), mor_preserves_cartesian p₁ p₂ L) _ (L ,, HL) p₁ p₂ com). clear e₁ e₂ L HL p₁ p₂ com HB_2_0. cbn ; intros e p₁ p₂ com. pose (c := comp_of_invertible_2cell com (lunitor_invertible_2cell _)). refine (J_2_1 HB_2_1 (λ (x₁ x₂ : B) (f g : x₁ --> x₂) _, mor_preserves_cartesian f g (id₁ _)) _ c). intros. apply id_mor_preserves_cartesian. Defined.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.Bicategories.Core.Bicat. Import Bicat.Notations. Require Import UniMath.Bicategories.Core.Examples.OpCellBicat. Require Import UniMath.Bicategories.Core.Invertible_2cells. Require Import UniMath.Bicategories.Core.Unitors. Require Import UniMath.Bicategories.Core.BicategoryLaws. Require Import UniMath.Bicategories.Core.Univalence. Require Import UniMath.Bicategories.Morphisms.Adjunctions. Require Import UniMath.Bicategories.Morphisms.FullyFaithful. Require Import UniMath.Bicategories.Morphisms.DiscreteMorphisms. Require Import UniMath.Bicategories.Morphisms.InternalStreetFibration. Require Import UniMath.Bicategories.Morphisms.InternalStreetOpFibration.