ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.SingleObj.functor_map
@[simps]
def functor {X : C} (f : M →* End X) : SingleObj M ⥤ C 
Arguments: {M : Type u} [Monoid M] {C : Type v} [CategoryTheory.Category.{w, v} C] {X : C} (f : M →* CategoryTheory.End X)
Goal: ∀ {X_1 Y : CategoryTheory.SingleObj M} (a : X_1 ⟶ Y), (CategoryTheory.SingleObj.functor f).map a = f a
-- CategoryTheory.SingleObj.natTrans_app
@[simps]
def natTrans {F G : SingleObj M ⥤ C} (u : F.obj (SingleObj.star M) ⟶ G.obj (SingleObj.star M))
    (h : ∀ a : M, F.map a ≫ u = u ≫ G.map a) : F ⟶ G 
Arguments: {M : Type u} [Monoid M] {C : Type v} [CategoryTheory.Category.{w, v} C] {F G : CategoryTheory.SingleObj M ⥤ C} (u : F.obj (CategoryTheory.SingleObj.star M) ⟶ G.obj (CategoryTheory.SingleObj.star M)) (h : ∀ (a : M), F.map a ≫ u = u ≫ G.map a)
Goal: ∀ (x : CategoryTheory.SingleObj M), (CategoryTheory.SingleObj.natTrans u h).app x = u
-- MonoidHom.comp_toFunctor
@[simp]
theorem comp_toFunctor (f : M →* N) {P : Type w} [Monoid P] (g : N →* P) :
    (g.comp f).toFunctor = f.toFunctor ⋙ g.toFunctor 
Arguments: {M : Type u} {N : Type v} [Monoid M] [Monoid N] (f : M →* N) {P : Type w} [Monoid P] (g : N →* P)
Goal: (g.comp f).toFunctor = f.toFunctor ⋙ g.toFunctor
-- MonoidHom.id_toFunctor
@[simp]
theorem id_toFunctor : (id M).toFunctor = 𝟭 _ 
Arguments: (M : Type u) [Monoid M]
Goal: (MonoidHom.id M).toFunctor = 𝟭 (CategoryTheory.SingleObj M)
-- MulEquiv.toSingleObjEquiv_functor_map
@[simps!]
def toSingleObjEquiv (e : M ≃* N) : SingleObj M ≌ SingleObj N 
Arguments: {M : Type u} {N : Type v} [Monoid M] [Monoid N] (e : M ≃* N)
Goal: ∀ {X Y : CategoryTheory.SingleObj M} (a : M), e.toSingleObjEquiv.functor.map a = e a
-- MulEquiv.toSingleObjEquiv_unitIso_inv
@[simps!]
def toSingleObjEquiv (e : M ≃* N) : SingleObj M ≌ SingleObj N 
Arguments: {M : Type u} {N : Type v} [Monoid M] [Monoid N] (e : M ≃* N)
Goal: e.toSingleObjEquiv.unitIso.inv = CategoryTheory.eqToHom ⋯
-- MulEquiv.toSingleObjEquiv_inverse_obj
@[simps!]
def toSingleObjEquiv (e : M ≃* N) : SingleObj M ≌ SingleObj N 
Arguments: {M : Type u} {N : Type v} [Monoid M] [Monoid N] (e : M ≃* N) (a : CategoryTheory.SingleObj N)
Goal: e.toSingleObjEquiv.inverse.obj a = a
-- MulEquiv.toSingleObjEquiv_inverse_map
@[simps!]
def toSingleObjEquiv (e : M ≃* N) : SingleObj M ≌ SingleObj N 
Arguments: {M : Type u} {N : Type v} [Monoid M] [Monoid N] (e : M ≃* N)
Goal: ∀ {X Y : CategoryTheory.SingleObj N} (a : N), e.toSingleObjEquiv.inverse.map a = e.symm a
-- MulEquiv.toSingleObjEquiv_counitIso_inv
@[simps!]
def toSingleObjEquiv (e : M ≃* N) : SingleObj M ≌ SingleObj N 
Arguments: {M : Type u} {N : Type v} [Monoid M] [Monoid N] (e : M ≃* N)
Goal: e.toSingleObjEquiv.counitIso.inv = CategoryTheory.eqToHom ⋯
-- MulEquiv.toSingleObjEquiv_functor_obj
@[simps!]
def toSingleObjEquiv (e : M ≃* N) : SingleObj M ≌ SingleObj N 
Arguments: {M : Type u} {N : Type v} [Monoid M] [Monoid N] (e : M ≃* N) (a : CategoryTheory.SingleObj M)
Goal: e.toSingleObjEquiv.functor.obj a = a
-- MulEquiv.toSingleObjEquiv_unitIso_hom
@[simps!]
def toSingleObjEquiv (e : M ≃* N) : SingleObj M ≌ SingleObj N 
Arguments: {M : Type u} {N : Type v} [Monoid M] [Monoid N] (e : M ≃* N)
Goal: e.toSingleObjEquiv.unitIso.hom = CategoryTheory.eqToHom ⋯
-- MulEquiv.toSingleObjEquiv_counitIso_hom
@[simps!]
def toSingleObjEquiv (e : M ≃* N) : SingleObj M ≌ SingleObj N 
Arguments: {M : Type u} {N : Type v} [Monoid M] [Monoid N] (e : M ≃* N)
Goal: e.toSingleObjEquiv.counitIso.hom = CategoryTheory.eqToHom ⋯
-- Units.toAut_hom
@[simp]
theorem toAut_hom (x : Mˣ) : (toAut M x).hom = SingleObj.toEnd M x 
Arguments: (M : Type u) [Monoid M] (x : Mˣ)
Goal: ((Units.toAut M) x).hom = (CategoryTheory.SingleObj.toEnd M) ↑x
-- Units.toAut_inv
@[simp]
theorem toAut_inv (x : Mˣ) : (toAut M x).inv = SingleObj.toEnd M (x⁻¹ : Mˣ) 
Arguments: (M : Type u) [Monoid M] (x : Mˣ)
Goal: ((Units.toAut M) x).inv = (CategoryTheory.SingleObj.toEnd M) ↑x⁻¹
-- CategoryTheory.Functor.chosenProd_obj
@[simps]
def chosenProd : J ⥤ C 
Arguments: {J : Type u_1} {C : Type u_2} [CategoryTheory.Category.{u_3, u_1} J] [CategoryTheory.Category.{u_4, u_2} C] [CategoryTheory.ChosenFiniteProducts C] (F₁ F₂ : CategoryTheory.Functor J C) (j : J)
Goal: (F₁.chosenProd F₂).obj j = CategoryTheory.MonoidalCategory.tensorObj (F₁.obj j) (F₂.obj j)
-- CategoryTheory.Functor.chosenProd_map
@[simps]
def chosenProd : J ⥤ C 
Arguments: {J : Type u_1} {C : Type u_2} [CategoryTheory.Category.{u_3, u_1} J] [CategoryTheory.Category.{u_4, u_2} C] [CategoryTheory.ChosenFiniteProducts C] (F₁ F₂ : CategoryTheory.Functor J C)
Goal: ∀ {X Y : J} (φ : X ⟶ Y), (F₁.chosenProd F₂).map φ = CategoryTheory.MonoidalCategory.tensorHom (F₁.map φ) (F₂.map φ)
-- CategoryTheory.Functor.chosenProd.fst_app
@[simps]
def fst : chosenProd F₁ F₂ ⟶ F₁ 
Arguments: {J : Type u_1} {C : Type u_2} [CategoryTheory.Category.{u_3, u_1} J] [CategoryTheory.Category.{u_4, u_2} C] [CategoryTheory.ChosenFiniteProducts C] (F₁ F₂ : CategoryTheory.Functor J C)
Goal: ∀ (x : J),
  (CategoryTheory.Functor.chosenProd.fst F₁ F₂).app x = CategoryTheory.ChosenFiniteProducts.fst (F₁.obj x) (F₂.obj x)
-- CategoryTheory.Functor.chosenProd.snd_app
@[simps]
def snd : chosenProd F₁ F₂ ⟶ F₂ 
Arguments: {J : Type u_1} {C : Type u_2} [CategoryTheory.Category.{u_3, u_1} J] [CategoryTheory.Category.{u_4, u_2} C] [CategoryTheory.ChosenFiniteProducts C] (F₁ F₂ : CategoryTheory.Functor J C) (j : J)
Goal: (CategoryTheory.Functor.chosenProd.snd F₁ F₂).app j = CategoryTheory.ChosenFiniteProducts.snd (F₁.obj j) (F₂.obj j)
-- CategoryTheory.Functor.Monoidal.leftUnitor_hom_app
@[simp]
lemma leftUnitor_hom_app (F : J ⥤ C) (j : J) :
    (λ_ F).hom.app j = (λ_ (F.obj j)).hom 
Arguments: {J : Type u_1} {C : Type u_2} [CategoryTheory.Category.{u_3, u_1} J] [CategoryTheory.Category.{u_4, u_2} C] [CategoryTheory.ChosenFiniteProducts C] (F : CategoryTheory.Functor J C) (j : J)
Goal: (CategoryTheory.MonoidalCategory.leftUnitor F).hom.app j = (CategoryTheory.MonoidalCategory.leftUnitor (F.obj j)).hom
-- CategoryTheory.Functor.Monoidal.leftUnitor_inv_app
@[simp]
lemma leftUnitor_inv_app (F : J ⥤ C) (j : J) :
    (λ_ F).inv.app j = (λ_ (F.obj j)).inv 
Arguments: {J : Type u_1} {C : Type u_2} [CategoryTheory.Category.{u_3, u_1} J] [CategoryTheory.Category.{u_4, u_2} C] [CategoryTheory.ChosenFiniteProducts C] (F : CategoryTheory.Functor J C) (j : J)
Goal: (CategoryTheory.MonoidalCategory.leftUnitor F).inv.app j = (CategoryTheory.MonoidalCategory.leftUnitor (F.obj j)).inv
-- CategoryTheory.Functor.Monoidal.rightUnitor_hom_app
@[simp]
lemma rightUnitor_hom_app (F : J ⥤ C) (j : J) :
    (ρ_ F).hom.app j = (ρ_ (F.obj j)).hom 
Arguments: {J : Type u_1} {C : Type u_2} [CategoryTheory.Category.{u_3, u_1} J] [CategoryTheory.Category.{u_4, u_2} C] [CategoryTheory.ChosenFiniteProducts C] (F : CategoryTheory.Functor J C) (j : J)
Goal: (CategoryTheory.MonoidalCategory.rightUnitor F).hom.app j = (CategoryTheory.MonoidalCategory.rightUnitor (F.obj j)).hom
-- CategoryTheory.Functor.Monoidal.rightUnitor_inv_app
@[simp]
lemma rightUnitor_inv_app (F : J ⥤ C) (j : J) :
    (ρ_ F).inv.app j = (ρ_ (F.obj j)).inv 
Arguments: {J : Type u_1} {C : Type u_2} [CategoryTheory.Category.{u_3, u_1} J] [CategoryTheory.Category.{u_4, u_2} C] [CategoryTheory.ChosenFiniteProducts C] (F : CategoryTheory.Functor J C) (j : J)
Goal: (CategoryTheory.MonoidalCategory.rightUnitor F).inv.app j = (CategoryTheory.MonoidalCategory.rightUnitor (F.obj j)).inv
-- CategoryTheory.Functor.Monoidal.tensorHom_app_fst
@[reassoc (attr := simp)]
lemma tensorHom_app_fst {F₁ F₁' F₂ F₂' : J ⥤ C} (f : F₁ ⟶ F₁') (g : F₂ ⟶ F₂') (j : J) :
    (f ⊗ g).app j ≫ fst _ _ = fst _ _ ≫ f.app j 
Arguments: {J : Type u_1} {C : Type u_2} [CategoryTheory.Category.{u_3, u_1} J] [CategoryTheory.Category.{u_4, u_2} C] [CategoryTheory.ChosenFiniteProducts C] {F₁ F₁' F₂ F₂' : CategoryTheory.Functor J C} (f : F₁ ⟶ F₁') (g : F₂ ⟶ F₂') (j : J)
Goal: CategoryTheory.CategoryStruct.comp ((CategoryTheory.MonoidalCategory.tensorHom f g).app j)
    (CategoryTheory.ChosenFiniteProducts.fst (F₁'.obj j) (F₂'.obj j)) =
  CategoryTheory.CategoryStruct.comp (CategoryTheory.ChosenFiniteProducts.fst (F₁.obj j) (F₂.obj j)) (f.app j)
-- CategoryTheory.Functor.Monoidal.tensorHom_app_snd
@[reassoc (attr := simp)]
lemma tensorHom_app_snd {F₁ F₁' F₂ F₂' : J ⥤ C} (f : F₁ ⟶ F₁') (g : F₂ ⟶ F₂') (j : J) :
    (f ⊗ g).app j ≫ snd _ _ = snd _ _ ≫ g.app j 
Arguments: {J : Type u_1} {C : Type u_2} [CategoryTheory.Category.{u_3, u_1} J] [CategoryTheory.Category.{u_4, u_2} C] [CategoryTheory.ChosenFiniteProducts C] {F₁ F₁' F₂ F₂' : CategoryTheory.Functor J C} (f : F₁ ⟶ F₁') (g : F₂ ⟶ F₂') (j : J)
Goal: CategoryTheory.CategoryStruct.comp ((CategoryTheory.MonoidalCategory.tensorHom f g).app j)
    (CategoryTheory.ChosenFiniteProducts.snd (F₁'.obj j) (F₂'.obj j)) =
  CategoryTheory.CategoryStruct.comp (CategoryTheory.ChosenFiniteProducts.snd (F₁.obj j) (F₂.obj j)) (g.app j)
-- CategoryTheory.Functor.Monoidal.whiskerLeft_app_fst
@[reassoc (attr := simp)]
lemma whiskerLeft_app_fst (F₁ : J ⥤ C) {F₂ F₂' : J ⥤ C} (g : F₂ ⟶ F₂') (j : J) :
    (F₁ ◁ g).app j ≫ fst _ _ = fst _ _ 
Arguments: {J : Type u_1} {C : Type u_2} [CategoryTheory.Category.{u_3, u_1} J] [CategoryTheory.Category.{u_4, u_2} C] [CategoryTheory.ChosenFiniteProducts C] (F₁ : CategoryTheory.Functor J C) {F₂ F₂' : CategoryTheory.Functor J C} (g : F₂ ⟶ F₂') (j : J)
Goal: CategoryTheory.CategoryStruct.comp ((CategoryTheory.MonoidalCategory.whiskerLeft F₁ g).app j)
    (CategoryTheory.ChosenFiniteProducts.fst (F₁.obj j) (F₂'.obj j)) =
  CategoryTheory.ChosenFiniteProducts.fst (F₁.obj j) (F₂.obj j)
-- CategoryTheory.Functor.Monoidal.whiskerLeft_app_snd
@[reassoc (attr := simp)]
lemma whiskerLeft_app_snd (F₁ : J ⥤ C) {F₂ F₂' : J ⥤ C} (g : F₂ ⟶ F₂') (j : J) :
    (F₁ ◁ g).app j ≫ snd _ _ = snd _ _ ≫ g.app j 
Arguments: {J : Type u_1} {C : Type u_2} [CategoryTheory.Category.{u_3, u_1} J] [CategoryTheory.Category.{u_4, u_2} C] [CategoryTheory.ChosenFiniteProducts C] (F₁ : CategoryTheory.Functor J C) {F₂ F₂' : CategoryTheory.Functor J C} (g : F₂ ⟶ F₂') (j : J)
Goal: CategoryTheory.CategoryStruct.comp ((CategoryTheory.MonoidalCategory.whiskerLeft F₁ g).app j)
    (CategoryTheory.ChosenFiniteProducts.snd (F₁.obj j) (F₂'.obj j)) =
  CategoryTheory.CategoryStruct.comp (CategoryTheory.ChosenFiniteProducts.snd (F₁.obj j) (F₂.obj j)) (g.app j)
-- CategoryTheory.Functor.Monoidal.whiskerRight_app_fst
@[reassoc (attr := simp)]
lemma whiskerRight_app_fst {F₁ F₁' : J ⥤ C} (f : F₁ ⟶ F₁') (F₂ : J ⥤ C) (j : J) :
    (f ▷ F₂).app j ≫ fst _ _ = fst _ _ ≫ f.app j 
Arguments: {J : Type u_1} {C : Type u_2} [CategoryTheory.Category.{u_3, u_1} J] [CategoryTheory.Category.{u_4, u_2} C] [CategoryTheory.ChosenFiniteProducts C] {F₁ F₁' : CategoryTheory.Functor J C} (f : F₁ ⟶ F₁') (F₂ : CategoryTheory.Functor J C) (j : J)
Goal: CategoryTheory.CategoryStruct.comp ((CategoryTheory.MonoidalCategory.whiskerRight f F₂).app j)
    (CategoryTheory.ChosenFiniteProducts.fst (F₁'.obj j) (F₂.obj j)) =
  CategoryTheory.CategoryStruct.comp (CategoryTheory.ChosenFiniteProducts.fst (F₁.obj j) (F₂.obj j)) (f.app j)
-- CategoryTheory.Functor.Monoidal.whiskerRight_app_snd
@[reassoc (attr := simp)]
lemma whiskerRight_app_snd {F₁ F₁' : J ⥤ C} (f : F₁ ⟶ F₁') (F₂ : J ⥤ C) (j : J) :
    (f ▷ F₂).app j ≫ snd _ _ = snd _ _ 
Arguments: {J : Type u_1} {C : Type u_2} [CategoryTheory.Category.{u_3, u_1} J] [CategoryTheory.Category.{u_4, u_2} C] [CategoryTheory.ChosenFiniteProducts C] {F₁ F₁' : CategoryTheory.Functor J C} (f : F₁ ⟶ F₁') (F₂ : CategoryTheory.Functor J C) (j : J)
Goal: CategoryTheory.CategoryStruct.comp ((CategoryTheory.MonoidalCategory.whiskerRight f F₂).app j)
    (CategoryTheory.ChosenFiniteProducts.snd (F₁'.obj j) (F₂.obj j)) =
  CategoryTheory.ChosenFiniteProducts.snd (F₁.obj j) (F₂.obj j)
-- CategoryTheory.Functor.Monoidal.associator_hom_app
@[simp]
lemma associator_hom_app (F₁ F₂ F₃ : J ⥤ C) (j : J) :
    (α_ F₁ F₂ F₃).hom.app j = (α_ _ _ _).hom 
Arguments: {J : Type u_1} {C : Type u_2} [CategoryTheory.Category.{u_3, u_1} J] [CategoryTheory.Category.{u_4, u_2} C] [CategoryTheory.ChosenFiniteProducts C] (F₁ F₂ F₃ : CategoryTheory.Functor J C) (j : J)
Goal: (CategoryTheory.MonoidalCategory.associator F₁ F₂ F₃).hom.app j =
  (CategoryTheory.MonoidalCategory.associator (F₁.obj j) (F₂.obj j) (F₃.obj j)).hom
-- CategoryTheory.Functor.Monoidal.associator_inv_app
@[simp]
lemma associator_inv_app (F₁ F₂ F₃ : J ⥤ C) (j : J) :
    (α_ F₁ F₂ F₃).inv.app j = (α_ _ _ _).inv 
Arguments: {J : Type u_1} {C : Type u_2} [CategoryTheory.Category.{u_3, u_1} J] [CategoryTheory.Category.{u_4, u_2} C] [CategoryTheory.ChosenFiniteProducts C] (F₁ F₂ F₃ : CategoryTheory.Functor J C) (j : J)
Goal: (CategoryTheory.MonoidalCategory.associator F₁ F₂ F₃).inv.app j =
  (CategoryTheory.MonoidalCategory.associator (F₁.obj j) (F₂.obj j) (F₃.obj j)).inv
-- CategoryTheory.Bicategory.Strict.assoc
class Bicategory.Strict : Prop where
    id_comp : ∀ {a b : B} (f : a ⟶ b), 𝟙 a ≫ f = f := by aesop_cat
    comp_id : ∀ {a b : B} (f : a ⟶ b), f ≫ 𝟙 b = f := by aesop_cat
    assoc : ∀ {a b c d : B} (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d), (f ≫ g) ≫ h = f ≫ g ≫ h := by
    aesop_cat
    leftUnitor_eqToIso : ∀ {a b : B} (f : a ⟶ b), λ_ f = eqToIso (id_comp f) := by aesop_cat
    rightUnitor_eqToIso : ∀ {a b : B} (f : a ⟶ b), ρ_ f = eqToIso (comp_id f) := by aesop_cat
    associator_eqToIso :
    ∀ {a b c d : B} (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d), α_ f g h = eqToIso (assoc f g h) := by
    aesop_cat
Arguments: {B : Type u} [CategoryTheory.Bicategory B] [self : CategoryTheory.Bicategory.Strict B] {a b c d : B} (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d)
Goal: CategoryTheory.CategoryStruct.comp (CategoryTheory.CategoryStruct.comp f g) h =
  CategoryTheory.CategoryStruct.comp f (CategoryTheory.CategoryStruct.comp g h)
-- CategoryTheory.Bicategory.Strict.rightUnitor_eqToIso
class Bicategory.Strict : Prop where
    id_comp : ∀ {a b : B} (f : a ⟶ b), 𝟙 a ≫ f = f := by aesop_cat
    comp_id : ∀ {a b : B} (f : a ⟶ b), f ≫ 𝟙 b = f := by aesop_cat
    assoc : ∀ {a b c d : B} (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d), (f ≫ g) ≫ h = f ≫ g ≫ h := by
    aesop_cat
    leftUnitor_eqToIso : ∀ {a b : B} (f : a ⟶ b), λ_ f = eqToIso (id_comp f) := by aesop_cat
    rightUnitor_eqToIso : ∀ {a b : B} (f : a ⟶ b), ρ_ f = eqToIso (comp_id f) := by aesop_cat
    associator_eqToIso :
    ∀ {a b c d : B} (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d), α_ f g h = eqToIso (assoc f g h) := by
    aesop_cat
Arguments: {B : Type u} [CategoryTheory.Bicategory B] [self : CategoryTheory.Bicategory.Strict B] {a b : B} (f : a ⟶ b)
Goal: CategoryTheory.Bicategory.rightUnitor f = CategoryTheory.eqToIso ⋯
-- CategoryTheory.Bicategory.Strict.id_comp
class Bicategory.Strict : Prop where
    id_comp : ∀ {a b : B} (f : a ⟶ b), 𝟙 a ≫ f = f := by aesop_cat
    comp_id : ∀ {a b : B} (f : a ⟶ b), f ≫ 𝟙 b = f := by aesop_cat
    assoc : ∀ {a b c d : B} (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d), (f ≫ g) ≫ h = f ≫ g ≫ h := by
    aesop_cat
    leftUnitor_eqToIso : ∀ {a b : B} (f : a ⟶ b), λ_ f = eqToIso (id_comp f) := by aesop_cat
    rightUnitor_eqToIso : ∀ {a b : B} (f : a ⟶ b), ρ_ f = eqToIso (comp_id f) := by aesop_cat
    associator_eqToIso :
    ∀ {a b c d : B} (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d), α_ f g h = eqToIso (assoc f g h) := by
    aesop_cat
Arguments: {B : Type u} [CategoryTheory.Bicategory B] [self : CategoryTheory.Bicategory.Strict B] {a b : B} (f : a ⟶ b)
Goal: CategoryTheory.CategoryStruct.comp (CategoryTheory.CategoryStruct.id a) f = f
-- CategoryTheory.Bicategory.Strict.leftUnitor_eqToIso
class Bicategory.Strict : Prop where
    id_comp : ∀ {a b : B} (f : a ⟶ b), 𝟙 a ≫ f = f := by aesop_cat
    comp_id : ∀ {a b : B} (f : a ⟶ b), f ≫ 𝟙 b = f := by aesop_cat
    assoc : ∀ {a b c d : B} (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d), (f ≫ g) ≫ h = f ≫ g ≫ h := by
    aesop_cat
    leftUnitor_eqToIso : ∀ {a b : B} (f : a ⟶ b), λ_ f = eqToIso (id_comp f) := by aesop_cat
    rightUnitor_eqToIso : ∀ {a b : B} (f : a ⟶ b), ρ_ f = eqToIso (comp_id f) := by aesop_cat
    associator_eqToIso :
    ∀ {a b c d : B} (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d), α_ f g h = eqToIso (assoc f g h) := by
    aesop_cat
Arguments: {B : Type u} [CategoryTheory.Bicategory B] [self : CategoryTheory.Bicategory.Strict B] {a b : B} (f : a ⟶ b)
Goal: CategoryTheory.Bicategory.leftUnitor f = CategoryTheory.eqToIso ⋯
-- CategoryTheory.Bicategory.Strict.associator_eqToIso
class Bicategory.Strict : Prop where
    id_comp : ∀ {a b : B} (f : a ⟶ b), 𝟙 a ≫ f = f := by aesop_cat
    comp_id : ∀ {a b : B} (f : a ⟶ b), f ≫ 𝟙 b = f := by aesop_cat
    assoc : ∀ {a b c d : B} (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d), (f ≫ g) ≫ h = f ≫ g ≫ h := by
    aesop_cat
    leftUnitor_eqToIso : ∀ {a b : B} (f : a ⟶ b), λ_ f = eqToIso (id_comp f) := by aesop_cat
    rightUnitor_eqToIso : ∀ {a b : B} (f : a ⟶ b), ρ_ f = eqToIso (comp_id f) := by aesop_cat
    associator_eqToIso :
    ∀ {a b c d : B} (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d), α_ f g h = eqToIso (assoc f g h) := by
    aesop_cat
Arguments: {B : Type u} [CategoryTheory.Bicategory B] [self : CategoryTheory.Bicategory.Strict B] {a b c d : B} (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d)
Goal: CategoryTheory.Bicategory.associator f g h = CategoryTheory.eqToIso ⋯
-- CategoryTheory.Bicategory.Strict.comp_id
class Bicategory.Strict : Prop where
    id_comp : ∀ {a b : B} (f : a ⟶ b), 𝟙 a ≫ f = f := by aesop_cat
    comp_id : ∀ {a b : B} (f : a ⟶ b), f ≫ 𝟙 b = f := by aesop_cat
    assoc : ∀ {a b c d : B} (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d), (f ≫ g) ≫ h = f ≫ g ≫ h := by
    aesop_cat
    leftUnitor_eqToIso : ∀ {a b : B} (f : a ⟶ b), λ_ f = eqToIso (id_comp f) := by aesop_cat
    rightUnitor_eqToIso : ∀ {a b : B} (f : a ⟶ b), ρ_ f = eqToIso (comp_id f) := by aesop_cat
    associator_eqToIso :
    ∀ {a b c d : B} (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d), α_ f g h = eqToIso (assoc f g h) := by
    aesop_cat
Arguments: {B : Type u} [CategoryTheory.Bicategory B] [self : CategoryTheory.Bicategory.Strict B] {a b : B} (f : a ⟶ b)
Goal: CategoryTheory.CategoryStruct.comp f (CategoryTheory.CategoryStruct.id b) = f
-- CategoryTheory.Bicategory.whiskerLeft_eqToHom
@[simp]
theorem whiskerLeft_eqToHom {a b c : B} (f : a ⟶ b) {g h : b ⟶ c} (η : g = h) :
    f ◁ eqToHom η = eqToHom (congr_arg₂ (· ≫ ·) rfl η) 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {a b c : B} (f : a ⟶ b) {g h : b ⟶ c} (η : g = h)
Goal: CategoryTheory.Bicategory.whiskerLeft f (CategoryTheory.eqToHom η) = CategoryTheory.eqToHom ⋯
-- CategoryTheory.Bicategory.eqToHom_whiskerRight
@[simp]
theorem eqToHom_whiskerRight {a b c : B} {f g : a ⟶ b} (η : f = g) (h : b ⟶ c) :
    eqToHom η ▷ h = eqToHom (congr_arg₂ (· ≫ ·) η rfl) 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {a b c : B} {f g : a ⟶ b} (η : f = g) (h : b ⟶ c)
Goal: CategoryTheory.Bicategory.whiskerRight (CategoryTheory.eqToHom η) h = CategoryTheory.eqToHom ⋯
-- CategoryTheory.Bicategory.HasLeftKanExtension.hasInitial
class HasLeftKanExtension (f : a ⟶ b) (g : a ⟶ c) : Prop where
  hasInitial : HasInitial <| LeftExtension f g
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {a b c : B} {f : a ⟶ b} {g : a ⟶ c} [self : CategoryTheory.Bicategory.HasLeftKanExtension f g]
Goal: CategoryTheory.Limits.HasInitial (CategoryTheory.Bicategory.LeftExtension f g)
-- CategoryTheory.Bicategory.LeftExtension.IsKan.hasLeftKanExtension
theorem LeftExtension.IsKan.hasLeftKanExtension {t : LeftExtension f g} (H : IsKan t) :
    HasLeftKanExtension f g 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {a b c : B} {f : a ⟶ b} {g : a ⟶ c} {t : CategoryTheory.Bicategory.LeftExtension f g} (H : t.IsKan)
Goal: CategoryTheory.Bicategory.HasLeftKanExtension f g
-- CategoryTheory.Bicategory.lanLeftExtension_extension
@[simp]
theorem lanLeftExtension_extension (f : a ⟶ b) (g : a ⟶ c) [HasLeftKanExtension f g] :
    (lanLeftExtension f g).extension = f⁺ g 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {a b c : B} (f : a ⟶ b) (g : a ⟶ c) [CategoryTheory.Bicategory.HasLeftKanExtension f g]
Goal: (CategoryTheory.Bicategory.lanLeftExtension f g).extension = CategoryTheory.Bicategory.lan f g
-- CategoryTheory.Bicategory.lanLeftExtension_unit
@[simp]
theorem lanLeftExtension_unit (f : a ⟶ b) (g : a ⟶ c) [HasLeftKanExtension f g] :
    (lanLeftExtension f g).unit = lanUnit f g 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {a b c : B} (f : a ⟶ b) (g : a ⟶ c) [CategoryTheory.Bicategory.HasLeftKanExtension f g]
Goal: (CategoryTheory.Bicategory.lanLeftExtension f g).unit = CategoryTheory.Bicategory.lanUnit f g
-- CategoryTheory.Bicategory.lanUnit_desc
@[reassoc (attr := simp)]
theorem lanUnit_desc [HasLeftKanExtension f g] (s : LeftExtension f g) :
    lanUnit f g ≫ f ◁ lanDesc s = s.unit 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {a b c : B} {f : a ⟶ b} {g : a ⟶ c} [CategoryTheory.Bicategory.HasLeftKanExtension f g] (s : CategoryTheory.Bicategory.LeftExtension f g)
Goal: CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.lanUnit f g)
    (CategoryTheory.Bicategory.whiskerLeft f (CategoryTheory.Bicategory.lanDesc s)) =
  s.unit
-- CategoryTheory.Bicategory.lanIsKan_desc
@[simp]
theorem lanIsKan_desc [HasLeftKanExtension f g] (s : LeftExtension f g) :
    (lanIsKan f g).desc s = lanDesc s 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {a b c : B} {f : a ⟶ b} {g : a ⟶ c} [CategoryTheory.Bicategory.HasLeftKanExtension f g] (s : CategoryTheory.Bicategory.LeftExtension f g)
Goal: (CategoryTheory.Bicategory.lanIsKan f g).desc s = CategoryTheory.Bicategory.lanDesc s
-- CategoryTheory.Bicategory.Lan.existsUnique
theorem Lan.existsUnique [HasLeftKanExtension f g] (s : LeftExtension f g) :
    ∃! τ, lanUnit f g ≫ f ◁ τ = s.unit 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {a b c : B} {f : a ⟶ b} {g : a ⟶ c} [CategoryTheory.Bicategory.HasLeftKanExtension f g] (s : CategoryTheory.Bicategory.LeftExtension f g)
Goal: ∃! τ,
  CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.lanUnit f g)
      (CategoryTheory.Bicategory.whiskerLeft f τ) =
    s.unit
-- CategoryTheory.Bicategory.Lan.CommuteWith.commute
class Lan.CommuteWith
    (f : a ⟶ b) (g : a ⟶ c) [HasLeftKanExtension f g] {x : B} (h : c ⟶ x) : Prop where
  commute : Nonempty <| IsKan <| (lanLeftExtension f g).whisker h
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {a b c : B} {f : a ⟶ b} {g : a ⟶ c} [CategoryTheory.Bicategory.HasLeftKanExtension f g] {x : B} {h : c ⟶ x} [self : CategoryTheory.Bicategory.Lan.CommuteWith f g h]
Goal: Nonempty ((CategoryTheory.Bicategory.lanLeftExtension f g).whisker h).IsKan
-- CategoryTheory.Bicategory.Lan.CommuteWith.of_isKan_whisker
theorem of_isKan_whisker [HasLeftKanExtension f g] (t : LeftExtension f g) {x : B} (h : c ⟶ x)
    (H : IsKan (t.whisker h)) (i : t.whisker h ≅ (lanLeftExtension f g).whisker h) :
    Lan.CommuteWith f g h 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {a b c : B} {f : a ⟶ b} {g : a ⟶ c} [CategoryTheory.Bicategory.HasLeftKanExtension f g] (t : CategoryTheory.Bicategory.LeftExtension f g) {x : B} (h : c ⟶ x) (H : (t.whisker h).IsKan) (i : t.whisker h ≅ (CategoryTheory.Bicategory.lanLeftExtension f g).whisker h)
Goal: CategoryTheory.Bicategory.Lan.CommuteWith f g h
-- CategoryTheory.Bicategory.Lan.CommuteWith.of_lan_comp_iso
theorem of_lan_comp_iso [HasLeftKanExtension f g]
    {x : B} {h : c ⟶ x} [HasLeftKanExtension f (g ≫ h)]
    (i : f⁺ (g ≫ h) ≅ f⁺ g ≫ h)
    (w : lanUnit f (g ≫ h) ≫ f ◁ i.hom = lanUnit f g ▷ h ≫ (α_ _ _ _).hom) :
    Lan.CommuteWith f g h 
Arguments: {B : Type u} [CategoryTheory.Bicategory B] {a b c : B} {f : a ⟶ b} {g : a ⟶ c} [CategoryTheory.Bicategory.HasLeftKanExtension f g] {x : B} {h : c ⟶ x} [CategoryTheory.Bicategory.HasLeftKanExtension f (CategoryTheory.CategoryStruct.comp g h)] (i :
  CategoryTheory.Bicategory.lan f (CategoryTheory.CategoryStruct.comp g h) ≅
    CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.lan f g) h) (w :
  CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.lanUnit f (CategoryTheory.CategoryStruct.comp g h))
      (CategoryTheory.Bicategory.whiskerLeft f i.hom) =
    CategoryTheory.CategoryStruct.comp
      (CategoryTheory.Bicategory.whiskerRight (CategoryTheory.Bicategory.lanUnit f g) h)
      (CategoryTheory.Bicategory.associator f (CategoryTheory.Bicategory.lan f g) h).hom)
Goal: CategoryTheory.Bicategory.Lan.CommuteWith f g h