Definition comp_mor_of_street_fib_nat_trans {B₁ B₂ B₃ E₁ E₂ E₃ : category} {P₁ : E₁ ⟶ B₁} {P₂ : E₂ ⟶ B₂} {P₃ : E₃ ⟶ B₃} (F₁ : mor_of_street_fib P₁ P₂) (F₂ : mor_of_street_fib P₂ P₃) : P₁ ∙ (mor_of_street_fib_base F₁ ∙ mor_of_street_fib_base F₂) ⟹ (mor_of_street_fib_total F₁ ∙ mor_of_street_fib_total F₂) ∙ P₃. Proof. use make_nat_trans. - exact (λ x, #(mor_of_street_fib_base F₂) (mor_of_street_fib_preserves_nat_z_iso F₁ x) · mor_of_street_fib_preserves_nat_z_iso F₂ _). - abstract (intros x y f ; cbn ; rewrite !assoc ; rewrite <- functor_comp ; etrans ; [ apply maponpaths_2 ; apply maponpaths ; exact (nat_trans_ax (mor_of_street_fib_preserves_nat_z_iso F₁) _ _ f) | ] ; rewrite functor_comp ; rewrite !assoc' ; apply maponpaths ; apply (nat_trans_ax (mor_of_street_fib_preserves_nat_z_iso F₂))). Defined.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.DisplayedCats.Core. Require Import UniMath.CategoryTheory.DisplayedCats.Total. Require Import UniMath.CategoryTheory.DisplayedCats.Fibrations.