Definition preserves_hor_comp_laws {C₁ C₂ : category} {D₁ : twosided_disp_cat C₁ C₁} {D₂ : twosided_disp_cat C₂ C₂} {Cm₁ : hor_comp D₁} {Cm₂ : hor_comp D₂} {F : C₁ ⟶ C₂} {FF : twosided_disp_functor F F D₁ D₂} (FFC : preserves_hor_comp_data Cm₁ Cm₂ FF) : UU := ∏ (x₁ x₂ y₁ y₂ z₁ z₂ : C₁) (vx : x₁ --> x₂) (vy : y₁ --> y₂) (vz : z₁ --> z₂) (h₁ : D₁ x₁ y₁) (k₁ : D₁ y₁ z₁) (h₂ : D₁ x₂ y₂) (k₂ : D₁ y₂ z₂) (s₁ : h₁ -->[ vx ][ vy ] h₂) (s₂ : k₁ -->[ vy ][ vz ] k₂), #2 FF (double_hor_comp_mor Cm₁ s₁ s₂) ;;2 idtoiso_twosided_disp (idpath _) (idpath _) (FFC x₂ y₂ z₂ h₂ k₂) = transportf_disp_mor2 (id_left _ @ !(id_right _)) (id_left _ @ !(id_right _)) (idtoiso_twosided_disp (idpath _) (idpath _) (FFC x₁ y₁ z₁ h₁ k₁) ;;2 double_hor_comp_mor Cm₂ (#2 FF s₁) (#2 FF s₂)).
Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Prelude. Require Import UniMath.CategoryTheory.Core.Setcategories. Require Import UniMath.CategoryTheory.Categories.CategoryOfSetCategories. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.TwoSidedDispCat. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.DisplayedFunctor. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.DisplayedNatTrans. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Isos. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Univalence. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Strictness. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.TransportLaws. Require Import UniMath.Bicategories.DoubleCategories.Basics.DoubleCategoryBasics.