-- Mathlib.CategoryTheory.Bicategory.Functor.Lax
CategoryTheory.LaxFunctor.mk : {B : Type u₁} →
  [inst : CategoryTheory.Bicategory B] →
    {C : Type u₂} →
      [inst_1 : CategoryTheory.Bicategory C] →
        (toPrelaxFunctor : CategoryTheory.PrelaxFunctor B C) →
          (mapId :
              (a : B) →
                CategoryTheory.CategoryStruct.id (toPrelaxFunctor.obj a) ⟶
                  toPrelaxFunctor.map (CategoryTheory.CategoryStruct.id a)) →
            (mapComp :
                {a b c : B} →
                  (f : a ⟶ b) →
                    (g : b ⟶ c) →
                      CategoryTheory.CategoryStruct.comp (toPrelaxFunctor.map f) (toPrelaxFunctor.map g) ⟶
                        toPrelaxFunctor.map (CategoryTheory.CategoryStruct.comp f g)) →
              autoParam
                  (∀ {a b c : B} {f f' : a ⟶ b} (η : f ⟶ f') (g : b ⟶ c),
                    CategoryTheory.CategoryStruct.comp (mapComp f g)
                        (toPrelaxFunctor.map₂ (CategoryTheory.Bicategory.whiskerRight η g)) =
                      CategoryTheory.CategoryStruct.comp
                        (CategoryTheory.Bicategory.whiskerRight (toPrelaxFunctor.map₂ η) (toPrelaxFunctor.map g))
                        (mapComp f' g))
                  CategoryTheory.LaxFunctor.mapComp_naturality_left._autoParam →
                autoParam
                    (∀ {a b c : B} (f : a ⟶ b) {g g' : b ⟶ c} (η : g ⟶ g'),
                      CategoryTheory.CategoryStruct.comp (mapComp f g)
                          (toPrelaxFunctor.map₂ (CategoryTheory.Bicategory.whiskerLeft f η)) =
                        CategoryTheory.CategoryStruct.comp
                          (CategoryTheory.Bicategory.whiskerLeft (toPrelaxFunctor.map f) (toPrelaxFunctor.map₂ η))
                          (mapComp f g'))
                    CategoryTheory.LaxFunctor.mapComp_naturality_right._autoParam →
                  autoParam
                      (∀ {a b c d : B} (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d),
                        CategoryTheory.CategoryStruct.comp
                            (CategoryTheory.Bicategory.whiskerRight (mapComp f g) (toPrelaxFunctor.map h))
                            (CategoryTheory.CategoryStruct.comp (mapComp (CategoryTheory.CategoryStruct.comp f g) h)
                              (toPrelaxFunctor.map₂ (CategoryTheory.Bicategory.associator f g h).hom)) =
                          CategoryTheory.CategoryStruct.comp
                            (CategoryTheory.Bicategory.associator (toPrelaxFunctor.map f) (toPrelaxFunctor.map g)
                                (toPrelaxFunctor.map h)).hom
                            (CategoryTheory.CategoryStruct.comp
                              (CategoryTheory.Bicategory.whiskerLeft (toPrelaxFunctor.map f) (mapComp g h))
                              (mapComp f (CategoryTheory.CategoryStruct.comp g h))))
                      CategoryTheory.LaxFunctor.map₂_associator._autoParam →
                    autoParam
                        (∀ {a b : B} (f : a ⟶ b),
                          toPrelaxFunctor.map₂ (CategoryTheory.Bicategory.leftUnitor f).inv =
                            CategoryTheory.CategoryStruct.comp
                              (CategoryTheory.Bicategory.leftUnitor (toPrelaxFunctor.map f)).inv
                              (CategoryTheory.CategoryStruct.comp
                                (CategoryTheory.Bicategory.whiskerRight (mapId a) (toPrelaxFunctor.map f))
                                (mapComp (CategoryTheory.CategoryStruct.id a) f)))
                        CategoryTheory.LaxFunctor.map₂_leftUnitor._autoParam →
                      autoParam
                          (∀ {a b : B} (f : a ⟶ b),
                            toPrelaxFunctor.map₂ (CategoryTheory.Bicategory.rightUnitor f).inv =
                              CategoryTheory.CategoryStruct.comp
                                (CategoryTheory.Bicategory.rightUnitor (toPrelaxFunctor.map f)).inv
                                (CategoryTheory.CategoryStruct.comp
                                  (CategoryTheory.Bicategory.whiskerLeft (toPrelaxFunctor.map f) (mapId b))
                                  (mapComp f (CategoryTheory.CategoryStruct.id b))))
                          CategoryTheory.LaxFunctor.map₂_rightUnitor._autoParam →
                        CategoryTheory.LaxFunctor B C