Definition double_functor_associator {C₁ C₂ : category} {F : C₁ ⟶ C₂} {D₁ : twosided_disp_cat C₁ C₁} {D₂ : twosided_disp_cat C₂ C₂} {Cm₁ : hor_comp D₁} {Cm₂ : hor_comp D₂} (a₁ : double_cat_associator Cm₁) (a₂ : double_cat_associator Cm₂) {FF : twosided_disp_functor F F D₁ D₂} (FC : double_functor_hor_comp FF Cm₁ Cm₂) : UU := ∏ (w x y z : C₁) (f : D₁ w x) (g : D₁ x y) (h : D₁ y z), double_associator a₂ (FF _ _ f) (FF _ _ g) (FF _ _ h) ;;2 double_hor_comp_mor Cm₂ (functor_double_comp_cell FC f g) (id_two_disp _) ;;2 functor_double_comp_cell FC (double_hor_comp Cm₁ f g) h = transportf_disp_mor2 (maponpaths (λ q, _ · q) (functor_id F _)) (maponpaths (λ q, _ · q) (functor_id F _)) (double_hor_comp_mor Cm₂ (id_two_disp _) (functor_double_comp_cell FC g h) ;;2 functor_double_comp_cell FC f (double_hor_comp Cm₁ g h) ;;2 #2 FF (double_associator a₁ f g h)).
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.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.TwoSidedDispCat. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.Isos. Require Import UniMath.CategoryTheory.TwoSidedDisplayedCats.DisplayedFunctor. Require Import UniMath.Bicategories.DoubleCategories.Basics.DoubleCategoryBasics.