-- Mathlib.CategoryTheory.Bicategory.Functor.Lax
CategoryTheory.LaxFunctor.mk.inj : ∀ {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)}
  {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}
  {toPrelaxFunctor_1 : CategoryTheory.PrelaxFunctor B C}
  {mapId_1 :
    (a : B) →
      CategoryTheory.CategoryStruct.id (toPrelaxFunctor_1.obj a) ⟶
        toPrelaxFunctor_1.map (CategoryTheory.CategoryStruct.id a)}
  {mapComp_1 :
    {a b c : B} →
      (f : a ⟶ b) →
        (g : b ⟶ c) →
          CategoryTheory.CategoryStruct.comp (toPrelaxFunctor_1.map f) (toPrelaxFunctor_1.map g) ⟶
            toPrelaxFunctor_1.map (CategoryTheory.CategoryStruct.comp f g)}
  {mapComp_naturality_left_1 :
    autoParam
      (∀ {a b c : B} {f f' : a ⟶ b} (η : f ⟶ f') (g : b ⟶ c),
        CategoryTheory.CategoryStruct.comp (mapComp_1 f g)
            (toPrelaxFunctor_1.map₂ (CategoryTheory.Bicategory.whiskerRight η g)) =
          CategoryTheory.CategoryStruct.comp
            (CategoryTheory.Bicategory.whiskerRight (toPrelaxFunctor_1.map₂ η) (toPrelaxFunctor_1.map g))
            (mapComp_1 f' g))
      CategoryTheory.LaxFunctor.mapComp_naturality_left._autoParam}
  {mapComp_naturality_right_1 :
    autoParam
      (∀ {a b c : B} (f : a ⟶ b) {g g' : b ⟶ c} (η : g ⟶ g'),
        CategoryTheory.CategoryStruct.comp (mapComp_1 f g)
            (toPrelaxFunctor_1.map₂ (CategoryTheory.Bicategory.whiskerLeft f η)) =
          CategoryTheory.CategoryStruct.comp
            (CategoryTheory.Bicategory.whiskerLeft (toPrelaxFunctor_1.map f) (toPrelaxFunctor_1.map₂ η))
            (mapComp_1 f g'))
      CategoryTheory.LaxFunctor.mapComp_naturality_right._autoParam}
  {map₂_associator_1 :
    autoParam
      (∀ {a b c d : B} (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d),
        CategoryTheory.CategoryStruct.comp
            (CategoryTheory.Bicategory.whiskerRight (mapComp_1 f g) (toPrelaxFunctor_1.map h))
            (CategoryTheory.CategoryStruct.comp (mapComp_1 (CategoryTheory.CategoryStruct.comp f g) h)
              (toPrelaxFunctor_1.map₂ (CategoryTheory.Bicategory.associator f g h).hom)) =
          CategoryTheory.CategoryStruct.comp
            (CategoryTheory.Bicategory.associator (toPrelaxFunctor_1.map f) (toPrelaxFunctor_1.map g)
                (toPrelaxFunctor_1.map h)).hom
            (CategoryTheory.CategoryStruct.comp
              (CategoryTheory.Bicategory.whiskerLeft (toPrelaxFunctor_1.map f) (mapComp_1 g h))
              (mapComp_1 f (CategoryTheory.CategoryStruct.comp g h))))
      CategoryTheory.LaxFunctor.map₂_associator._autoParam}
  {map₂_leftUnitor_1 :
    autoParam
      (∀ {a b : B} (f : a ⟶ b),
        toPrelaxFunctor_1.map₂ (CategoryTheory.Bicategory.leftUnitor f).inv =
          CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.leftUnitor (toPrelaxFunctor_1.map f)).inv
            (CategoryTheory.CategoryStruct.comp
              (CategoryTheory.Bicategory.whiskerRight (mapId_1 a) (toPrelaxFunctor_1.map f))
              (mapComp_1 (CategoryTheory.CategoryStruct.id a) f)))
      CategoryTheory.LaxFunctor.map₂_leftUnitor._autoParam}
  {map₂_rightUnitor_1 :
    autoParam
      (∀ {a b : B} (f : a ⟶ b),
        toPrelaxFunctor_1.map₂ (CategoryTheory.Bicategory.rightUnitor f).inv =
          CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.rightUnitor (toPrelaxFunctor_1.map f)).inv
            (CategoryTheory.CategoryStruct.comp
              (CategoryTheory.Bicategory.whiskerLeft (toPrelaxFunctor_1.map f) (mapId_1 b))
              (mapComp_1 f (CategoryTheory.CategoryStruct.id b))))
      CategoryTheory.LaxFunctor.map₂_rightUnitor._autoParam},
  { 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 } =
      { toPrelaxFunctor := toPrelaxFunctor_1, mapId := mapId_1, mapComp := mapComp_1,
        mapComp_naturality_left := mapComp_naturality_left_1, mapComp_naturality_right := mapComp_naturality_right_1,
        map₂_associator := map₂_associator_1, map₂_leftUnitor := map₂_leftUnitor_1,
        map₂_rightUnitor := map₂_rightUnitor_1 } →
    toPrelaxFunctor = toPrelaxFunctor_1 ∧ mapId ≍ mapId_1 ∧ mapComp ≍ mapComp_1