-- Mathlib.CategoryTheory.Bicategory.Functor.Lax
CategoryTheory.LaxFunctor.mk.sizeOf_spec : ∀ {B : Type u₁} [inst : CategoryTheory.Bicategory B] {C : Type u₂} [inst_1 : CategoryTheory.Bicategory C]
  [inst_2 : SizeOf B] [inst_3 : SizeOf 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))
  (mapComp_naturality_left :
    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)
  (mapComp_naturality_right :
    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)
  (map₂_associator :
    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)
  (map₂_leftUnitor :
    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)
  (map₂_rightUnitor :
    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),
  sizeOf
      { toPrelaxFunctor := toPrelaxFunctor, mapId := mapId, mapComp := mapComp,
        mapComp_naturality_left := mapComp_naturality_left, mapComp_naturality_right := mapComp_naturality_right,
        map₂_associator := map₂_associator, map₂_leftUnitor := map₂_leftUnitor, map₂_rightUnitor := map₂_rightUnitor } =
    1 + sizeOf toPrelaxFunctor