-- Mathlib.CategoryTheory.Bicategory.Functor.Oplax
CategoryTheory.OplaxFunctor.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) →
      toPrelaxFunctor.map (CategoryTheory.CategoryStruct.id a) ⟶
        CategoryTheory.CategoryStruct.id (toPrelaxFunctor.obj a))
  (mapComp :
    {a b c : B} →
      (f : a ⟶ b) →
        (g : b ⟶ c) →
          toPrelaxFunctor.map (CategoryTheory.CategoryStruct.comp f g) ⟶
            CategoryTheory.CategoryStruct.comp (toPrelaxFunctor.map f) (toPrelaxFunctor.map g))
  (mapComp_naturality_left :
    autoParam
      (∀ {a b c : B} {f f' : a ⟶ b} (η : f ⟶ f') (g : b ⟶ c),
        CategoryTheory.CategoryStruct.comp (toPrelaxFunctor.map₂ (CategoryTheory.Bicategory.whiskerRight η g))
            (mapComp f' g) =
          CategoryTheory.CategoryStruct.comp (mapComp f g)
            (CategoryTheory.Bicategory.whiskerRight (toPrelaxFunctor.map₂ η) (toPrelaxFunctor.map g)))
      CategoryTheory.OplaxFunctor.mapComp_naturality_left._autoParam)
  (mapComp_naturality_right :
    autoParam
      (∀ {a b c : B} (f : a ⟶ b) {g g' : b ⟶ c} (η : g ⟶ g'),
        CategoryTheory.CategoryStruct.comp (toPrelaxFunctor.map₂ (CategoryTheory.Bicategory.whiskerLeft f η))
            (mapComp f g') =
          CategoryTheory.CategoryStruct.comp (mapComp f g)
            (CategoryTheory.Bicategory.whiskerLeft (toPrelaxFunctor.map f) (toPrelaxFunctor.map₂ η)))
      CategoryTheory.OplaxFunctor.mapComp_naturality_right._autoParam)
  (map₂_associator :
    autoParam
      (∀ {a b c d : B} (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d),
        CategoryTheory.CategoryStruct.comp (toPrelaxFunctor.map₂ (CategoryTheory.Bicategory.associator f g h).hom)
            (CategoryTheory.CategoryStruct.comp (mapComp f (CategoryTheory.CategoryStruct.comp g h))
              (CategoryTheory.Bicategory.whiskerLeft (toPrelaxFunctor.map f) (mapComp g h))) =
          CategoryTheory.CategoryStruct.comp (mapComp (CategoryTheory.CategoryStruct.comp f g) h)
            (CategoryTheory.CategoryStruct.comp
              (CategoryTheory.Bicategory.whiskerRight (mapComp f g) (toPrelaxFunctor.map h))
              (CategoryTheory.Bicategory.associator (toPrelaxFunctor.map f) (toPrelaxFunctor.map g)
                  (toPrelaxFunctor.map h)).hom))
      CategoryTheory.OplaxFunctor.map₂_associator._autoParam)
  (map₂_leftUnitor :
    autoParam
      (∀ {a b : B} (f : a ⟶ b),
        toPrelaxFunctor.map₂ (CategoryTheory.Bicategory.leftUnitor f).hom =
          CategoryTheory.CategoryStruct.comp (mapComp (CategoryTheory.CategoryStruct.id a) f)
            (CategoryTheory.CategoryStruct.comp
              (CategoryTheory.Bicategory.whiskerRight (mapId a) (toPrelaxFunctor.map f))
              (CategoryTheory.Bicategory.leftUnitor (toPrelaxFunctor.map f)).hom))
      CategoryTheory.OplaxFunctor.map₂_leftUnitor._autoParam)
  (map₂_rightUnitor :
    autoParam
      (∀ {a b : B} (f : a ⟶ b),
        toPrelaxFunctor.map₂ (CategoryTheory.Bicategory.rightUnitor f).hom =
          CategoryTheory.CategoryStruct.comp (mapComp f (CategoryTheory.CategoryStruct.id b))
            (CategoryTheory.CategoryStruct.comp
              (CategoryTheory.Bicategory.whiskerLeft (toPrelaxFunctor.map f) (mapId b))
              (CategoryTheory.Bicategory.rightUnitor (toPrelaxFunctor.map f)).hom))
      CategoryTheory.OplaxFunctor.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