ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.ConcreteCategory.epi_of_surjective
theorem epi_of_surjective {X Y : C} (f : X ⟶ Y) (s : Function.Surjective f) :
    Epi f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.ConcreteCategory C] {X Y : C} (f : X ⟶ Y) (s : Function.Surjective ⇑f)
Goal: CategoryTheory.Epi f
-- CategoryTheory.ConcreteCategory.surjective_of_epi_of_preservesPushout
theorem surjective_of_epi_of_preservesPushout {X Y : C} (f : X ⟶ Y) [Epi f]
    [PreservesColimitsOfShape WalkingSpan (forget C)] : Function.Surjective f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.ConcreteCategory C] {X Y : C} (f : X ⟶ Y) [CategoryTheory.Epi f] [CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingSpan (CategoryTheory.forget C)]
Goal: Function.Surjective ⇑f
-- CategoryTheory.ConcreteCategory.epi_iff_surjective_of_preservesPushout
theorem epi_iff_surjective_of_preservesPushout {X Y : C} (f : X ⟶ Y)
    [PreservesColimitsOfShape WalkingSpan (forget C)] : Epi f ↔ Function.Surjective f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.ConcreteCategory C] {X Y : C} (f : X ⟶ Y) [CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingSpan (CategoryTheory.forget C)]
Goal: CategoryTheory.Epi f ↔ Function.Surjective ⇑f
-- CategoryTheory.ConcreteCategory.bijective_of_isIso
theorem bijective_of_isIso {X Y : C} (f : X ⟶ Y) [IsIso f] :
    Function.Bijective ((forget C).map f) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.ConcreteCategory C] {X Y : C} (f : X ⟶ Y) [CategoryTheory.IsIso f]
Goal: Function.Bijective ((CategoryTheory.forget C).map f)
-- CategoryTheory.ConcreteCategory.isIso_iff_bijective
theorem isIso_iff_bijective [(forget C).ReflectsIsomorphisms]
    {X Y : C} (f : X ⟶ Y) : IsIso f ↔ Function.Bijective ((forget C).map f) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.ConcreteCategory C] [(CategoryTheory.forget C).ReflectsIsomorphisms] {X Y : C} (f : X ⟶ Y)
Goal: CategoryTheory.IsIso f ↔ Function.Bijective ((CategoryTheory.forget C).map f)
-- CategoryTheory.Bundled.coe_mk
theorem coe_mk (α) (str) : (@Bundled.mk c α str : Type u) = α 
Arguments: {c : Type u → Type v} (α : Type u) (str : c α)
Goal: ↑{ α := α, str := str } = α
-- Comon_.comul_assoc
structure Comon_ where
    X : C
    counit : X ⟶ 𝟙_ C
    comul : X ⟶ X ⊗ X
  counit_comul : comul ≫ (counit ▷ X) = (λ_ X).inv := by aesop_cat
  comul_counit : comul ≫ (X ◁ counit) = (ρ_ X).inv := by aesop_cat
  comul_assoc : comul ≫ (X ◁ comul) = comul ≫ (comul ▷ X) ≫ (α_ X X X).hom := by aesop_cat
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (self : Comon_ C)
Goal: self.comul ≫ self.X ◁ self.comul = self.comul ≫ self.comul ▷ self.X ≫ (α_ self.X self.X self.X).hom
-- Comon_.comul_counit
structure Comon_ where
    X : C
    counit : X ⟶ 𝟙_ C
    comul : X ⟶ X ⊗ X
  counit_comul : comul ≫ (counit ▷ X) = (λ_ X).inv := by aesop_cat
  comul_counit : comul ≫ (X ◁ counit) = (ρ_ X).inv := by aesop_cat
  comul_assoc : comul ≫ (X ◁ comul) = comul ≫ (comul ▷ X) ≫ (α_ X X X).hom := by aesop_cat
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (self : Comon_ C)
Goal: self.comul ≫ self.X ◁ self.counit = (ρ_ self.X).inv
-- Comon_.counit_comul
structure Comon_ where
    X : C
    counit : X ⟶ 𝟙_ C
    comul : X ⟶ X ⊗ X
  counit_comul : comul ≫ (counit ▷ X) = (λ_ X).inv := by aesop_cat
  comul_counit : comul ≫ (X ◁ counit) = (ρ_ X).inv := by aesop_cat
  comul_assoc : comul ≫ (X ◁ comul) = comul ≫ (comul ▷ X) ≫ (α_ X X X).hom := by aesop_cat
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (self : Comon_ C)
Goal: self.comul ≫ self.counit ▷ self.X = (λ_ self.X).inv
-- Comon_.trivial_counit
@[simps]
def trivial : Comon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C]
Goal: (Comon_.trivial C).counit = 𝟙 (𝟙_ C)
-- Comon_.trivial_comul
@[simps]
def trivial : Comon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C]
Goal: (Comon_.trivial C).comul = (λ_ (𝟙_ C)).inv
-- Comon_.trivial_X
@[simps]
def trivial : Comon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C]
Goal: (Comon_.trivial C).X = 𝟙_ C
-- Comon_.counit_comul_hom
@[reassoc (attr := simp)]
theorem counit_comul_hom {Z : C} (f : M.X ⟶ Z) : M.comul ≫ (M.counit ⊗ f) = f ≫ (λ_ Z).inv 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {M : Comon_ C} {Z : C} (f : M.X ⟶ Z)
Goal: M.comul ≫ (M.counit ⊗ f) = f ≫ (λ_ Z).inv
-- Comon_.comul_counit_hom
@[reassoc (attr := simp)]
theorem comul_counit_hom {Z : C} (f : M.X ⟶ Z) : M.comul ≫ (f ⊗ M.counit) = f ≫ (ρ_ Z).inv 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {M : Comon_ C} {Z : C} (f : M.X ⟶ Z)
Goal: M.comul ≫ (f ⊗ M.counit) = f ≫ (ρ_ Z).inv
-- Comon_.comul_assoc_flip
@[reassoc] theorem comul_assoc_flip :
    M.comul ≫ (M.comul ▷ M.X) = M.comul ≫ (M.X ◁ M.comul) ≫ (α_ M.X M.X M.X).inv 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {M : Comon_ C}
Goal: M.comul ≫ M.comul ▷ M.X = M.comul ≫ M.X ◁ M.comul ≫ (α_ M.X M.X M.X).inv
-- Comon_.Hom.hom_counit
@[ext]
structure Hom (M N : Comon_ C) where
    hom : M.X ⟶ N.X
  hom_counit : hom ≫ N.counit = M.counit := by aesop_cat
  hom_comul : hom ≫ N.comul = M.comul ≫ (hom ⊗ hom) := by aesop_cat
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {M N : Comon_ C} (self : M.Hom N)
Goal: self.hom ≫ N.counit = M.counit
-- Comon_.Hom.hom_comul
@[ext]
structure Hom (M N : Comon_ C) where
    hom : M.X ⟶ N.X
  hom_counit : hom ≫ N.counit = M.counit := by aesop_cat
  hom_comul : hom ≫ N.comul = M.comul ≫ (hom ⊗ hom) := by aesop_cat
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {M N : Comon_ C} (self : M.Hom N)
Goal: self.hom ≫ N.comul = M.comul ≫ (self.hom ⊗ self.hom)
-- Comon_.id_hom
@[simps]
def id (M : Comon_ C) : Hom M M 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (M : Comon_ C)
Goal: M.id.hom = 𝟙 M.X
-- Comon_.comp_hom
@[simps]
def comp {M N O : Comon_ C} (f : Hom M N) (g : Hom N O) : Hom M O 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {M N O : Comon_ C} (f : M.Hom N) (g : N.Hom O)
Goal: (Comon_.comp f g).hom = f.hom ≫ g.hom
-- Comon_.ext
@[ext] lemma ext {X Y : Comon_ C} {f g : X ⟶ Y} (w : f.hom = g.hom) : f = g 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {X Y : Comon_ C} {f g : X ⟶ Y} (w : f.hom = g.hom)
Goal: f = g
-- Comon_.id_hom'
@[simp] theorem id_hom' (M : Comon_ C) : (𝟙 M : Hom M M).hom = 𝟙 M.X 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (M : Comon_ C)
Goal: (𝟙 M).hom = 𝟙 M.X
-- Comon_.comp_hom'
@[simp]
theorem comp_hom' {M N K : Comon_ C} (f : M ⟶ N) (g : N ⟶ K) : (f ≫ g).hom = f.hom ≫ g.hom 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {M N K : Comon_ C} (f : M ⟶ N) (g : N ⟶ K)
Goal: (f ≫ g).hom = f.hom ≫ g.hom
-- Comon_.forget_obj
@[simps]
def forget : Comon_ C ⥤ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (A : Comon_ C)
Goal: (Comon_.forget C).obj A = A.X
-- Comon_.forget_map
@[simps]
def forget : Comon_ C ⥤ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C]
Goal: ∀ {X Y : Comon_ C} (f : X ⟶ Y), (Comon_.forget C).map f = f.hom
-- Comon_.mkIso_inv_hom
@[simps]
def mkIso {M N : Comon_ C} (f : M.X ≅ N.X) (f_counit : f.hom ≫ N.counit = M.counit := by aesop_cat)
    (f_comul : f.hom ≫ N.comul = M.comul ≫ (f.hom ⊗ f.hom) := by aesop_cat) : M ≅ N 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {M N : Comon_ C} (f : M.X ≅ N.X) (f_counit : f.hom ≫ N.counit = M.counit := by aesop_cat) (f_comul : f.hom ≫ N.comul = M.comul ≫ (f.hom ⊗ f.hom) := by aesop_cat)
Goal: (Comon_.mkIso f f_counit f_comul).inv.hom = f.inv
-- Comon_.mkIso_hom_hom
@[simps]
def mkIso {M N : Comon_ C} (f : M.X ≅ N.X) (f_counit : f.hom ≫ N.counit = M.counit := by aesop_cat)
    (f_comul : f.hom ≫ N.comul = M.comul ≫ (f.hom ⊗ f.hom) := by aesop_cat) : M ≅ N 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {M N : Comon_ C} (f : M.X ≅ N.X) (f_counit : f.hom ≫ N.counit = M.counit := by aesop_cat) (f_comul : f.hom ≫ N.comul = M.comul ≫ (f.hom ⊗ f.hom) := by aesop_cat)
Goal: (Comon_.mkIso f f_counit f_comul).hom.hom = f.hom
-- Comon_.Comon_ToMon_OpOp_obj'_one
@[simps] def Comon_ToMon_OpOp_obj' (A : Comon_ C) : Mon_ (Cᵒᵖ) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (A : Comon_ C)
Goal: (Comon_.Comon_ToMon_OpOp_obj' C A).one = A.counit.op
-- Comon_.Comon_ToMon_OpOp_obj'_mul
@[simps] def Comon_ToMon_OpOp_obj' (A : Comon_ C) : Mon_ (Cᵒᵖ) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (A : Comon_ C)
Goal: (Comon_.Comon_ToMon_OpOp_obj' C A).mul = A.comul.op
-- Comon_.Comon_ToMon_OpOp_obj'_X
@[simps] def Comon_ToMon_OpOp_obj' (A : Comon_ C) : Mon_ (Cᵒᵖ) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (A : Comon_ C)
Goal: (Comon_.Comon_ToMon_OpOp_obj' C A).X = Opposite.op A.X
-- Comon_.Comon_ToMon_OpOp_map
@[simps] def Comon_ToMon_OpOp : Comon_ C ⥤ (Mon_ (Cᵒᵖ))ᵒᵖ 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C]
Goal: ∀ {X Y : Comon_ C} (f : X ⟶ Y),
  (Comon_.Comon_ToMon_OpOp C).map f = Opposite.op { hom := f.hom.op, one_hom := ⋯, mul_hom := ⋯ }
-- Comon_.Comon_ToMon_OpOp_obj
@[simps] def Comon_ToMon_OpOp : Comon_ C ⥤ (Mon_ (Cᵒᵖ))ᵒᵖ 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (A : Comon_ C)
Goal: (Comon_.Comon_ToMon_OpOp C).obj A = Opposite.op (Comon_.Comon_ToMon_OpOp_obj' C A)
-- Comon_.Mon_OpOpToComon_obj'_counit
@[simps] def Mon_OpOpToComon_obj' (A : (Mon_ (Cᵒᵖ))) : Comon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (A : Mon_ Cᵒᵖ)
Goal: (Comon_.Mon_OpOpToComon_obj' C A).counit = A.one.unop
-- Comon_.Mon_OpOpToComon_obj'_comul
@[simps] def Mon_OpOpToComon_obj' (A : (Mon_ (Cᵒᵖ))) : Comon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (A : Mon_ Cᵒᵖ)
Goal: (Comon_.Mon_OpOpToComon_obj' C A).comul = A.mul.unop
-- Comon_.Mon_OpOpToComon_obj'_X
@[simps] def Mon_OpOpToComon_obj' (A : (Mon_ (Cᵒᵖ))) : Comon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (A : Mon_ Cᵒᵖ)
Goal: (Comon_.Mon_OpOpToComon_obj' C A).X = Opposite.unop A.X
-- Comon_.Mon_OpOpToComon__map_hom
@[simps]
def Mon_OpOpToComon_ : (Mon_ (Cᵒᵖ))ᵒᵖ ⥤ Comon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C]
Goal: ∀ {X Y : (Mon_ Cᵒᵖ)ᵒᵖ} (f : X ⟶ Y), ((Comon_.Mon_OpOpToComon_ C).map f).hom = f.unop.hom.unop
-- Comon_.Mon_OpOpToComon__obj
@[simps]
def Mon_OpOpToComon_ : (Mon_ (Cᵒᵖ))ᵒᵖ ⥤ Comon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (A : (Mon_ Cᵒᵖ)ᵒᵖ)
Goal: (Comon_.Mon_OpOpToComon_ C).obj A = Comon_.Mon_OpOpToComon_obj' C (Opposite.unop A)
-- Comon_.Comon_EquivMon_OpOp_unitIso
@[simps]
def Comon_EquivMon_OpOp : Comon_ C ≌ (Mon_ (Cᵒᵖ))ᵒᵖ 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C]
Goal: (Comon_.Comon_EquivMon_OpOp C).unitIso =
  CategoryTheory.NatIso.ofComponents (fun x => CategoryTheory.Iso.refl ((𝟭 (Comon_ C)).obj x)) ⋯
-- Comon_.Comon_EquivMon_OpOp_inverse
@[simps]
def Comon_EquivMon_OpOp : Comon_ C ≌ (Mon_ (Cᵒᵖ))ᵒᵖ 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C]
Goal: (Comon_.Comon_EquivMon_OpOp C).inverse = Comon_.Mon_OpOpToComon_ C
-- Comon_.Comon_EquivMon_OpOp_functor
@[simps]
def Comon_EquivMon_OpOp : Comon_ C ≌ (Mon_ (Cᵒᵖ))ᵒᵖ 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C]
Goal: (Comon_.Comon_EquivMon_OpOp C).functor = Comon_.Comon_ToMon_OpOp C
-- Comon_.Comon_EquivMon_OpOp_counitIso
@[simps]
def Comon_EquivMon_OpOp : Comon_ C ≌ (Mon_ (Cᵒᵖ))ᵒᵖ 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C]
Goal: (Comon_.Comon_EquivMon_OpOp C).counitIso =
  CategoryTheory.NatIso.ofComponents
    (fun x => CategoryTheory.Iso.refl ((Comon_.Mon_OpOpToComon_ C ⋙ Comon_.Comon_ToMon_OpOp C).obj x)) ⋯
-- Comon_.tensorObj_X
theorem tensorObj_X (A B : Comon_ C) : (A ⊗ B).X = A.X ⊗ B.X 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (A B : Comon_ C)
Goal: (A ⊗ B).X = A.X ⊗ B.X
-- Comon_.tensorObj_counit
theorem tensorObj_counit (A B : Comon_ C) : (A ⊗ B).counit = (A.counit ⊗ B.counit) ≫ (λ_ _).hom 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (A B : Comon_ C)
Goal: (A ⊗ B).counit = (A.counit ⊗ B.counit) ≫ (λ_ (𝟙_ C)).hom
-- Comon_.tensorObj_comul'
theorem tensorObj_comul' (A B : Comon_ C) :
    (A ⊗ B).comul =
      (A.comul ⊗ B.comul) ≫ (tensor_μ Cᵒᵖ (op A.X, op B.X) (op A.X, op B.X)).unop 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (A B : Comon_ C)
Goal: (A ⊗ B).comul =
  (A.comul ⊗ B.comul) ≫
    (CategoryTheory.tensor_μ Cᵒᵖ (Opposite.op A.X, Opposite.op B.X) (Opposite.op A.X, Opposite.op B.X)).unop
-- Comon_.tensorObj_comul
theorem tensorObj_comul (A B : Comon_ C) :
    (A ⊗ B).comul = (A.comul ⊗ B.comul) ≫ tensor_μ C (A.X, A.X) (B.X, B.X) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (A B : Comon_ C)
Goal: (A ⊗ B).comul = (A.comul ⊗ B.comul) ≫ CategoryTheory.tensor_μ C (A.X, A.X) (B.X, B.X)
-- Comon_.forgetMonoidal_toFunctor
@[simp] theorem forgetMonoidal_toFunctor : (forgetMonoidal C).toFunctor = forget C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C]
Goal: (Comon_.forgetMonoidal C).toFunctor = Comon_.forget C
-- Comon_.forgetMonoidal_ε
@[simp] theorem forgetMonoidal_ε : (forgetMonoidal C).ε = 𝟙 (𝟙_ C) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C]
Goal: (Comon_.forgetMonoidal C).ε = 𝟙 (𝟙_ C)
-- Comon_.forgetMonoidal_μ
@[simp] theorem forgetMonoidal_μ (X Y : Comon_ C) : (forgetMonoidal C).μ X Y = 𝟙 (X.X ⊗ Y.X) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (X Y : Comon_ C)
Goal: (Comon_.forgetMonoidal C).μ X Y = 𝟙 (X.X ⊗ Y.X)
-- CategoryTheory.OplaxMonoidalFunctor.mapComon_obj_comul
@[simps]
def mapComon (F : OplaxMonoidalFunctor C D) : Comon_ C ⥤ Comon_ D 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.MonoidalCategory D] (F : CategoryTheory.OplaxMonoidalFunctor C D) (A : Comon_ C)
Goal: (F.mapComon.obj A).comul = F.map A.comul ≫ F.δ A.X A.X
-- CategoryTheory.OplaxMonoidalFunctor.mapComon_map_hom
@[simps]
def mapComon (F : OplaxMonoidalFunctor C D) : Comon_ C ⥤ Comon_ D 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.MonoidalCategory D] (F : CategoryTheory.OplaxMonoidalFunctor C D)
Goal: ∀ {X Y : Comon_ C} (f : X ⟶ Y), (F.mapComon.map f).hom = F.map f.hom
-- CategoryTheory.OplaxMonoidalFunctor.mapComon_obj_X
@[simps]
def mapComon (F : OplaxMonoidalFunctor C D) : Comon_ C ⥤ Comon_ D 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.MonoidalCategory D] (F : CategoryTheory.OplaxMonoidalFunctor C D) (A : Comon_ C)
Goal: (F.mapComon.obj A).X = F.obj A.X
-- CategoryTheory.OplaxMonoidalFunctor.mapComon_obj_counit
@[simps]
def mapComon (F : OplaxMonoidalFunctor C D) : Comon_ C ⥤ Comon_ D 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.MonoidalCategory D] (F : CategoryTheory.OplaxMonoidalFunctor C D) (A : Comon_ C)
Goal: (F.mapComon.obj A).counit = F.map A.counit ≫ F.η
-- CategoryTheory.OplaxNatTrans.whiskerLeft_app
@[simps]
def whiskerLeft (η : F ⟶ G) {θ ι : G ⟶ H} (Γ : θ ⟶ ι) : η ≫ θ ⟶ η ≫ ι 
Arguments: {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] {F G H : CategoryTheory.OplaxFunctor B C} (η : F ⟶ G) {θ ι : G ⟶ H} (Γ : θ ⟶ ι) (a : B)
Goal: (CategoryTheory.OplaxNatTrans.whiskerLeft η Γ).app a = CategoryTheory.Bicategory.whiskerLeft (η.app a) (Γ.app a)
-- CategoryTheory.OplaxNatTrans.whiskerRight_app
@[simps]
def whiskerRight {η θ : F ⟶ G} (Γ : η ⟶ θ) (ι : G ⟶ H) : η ≫ ι ⟶ θ ≫ ι 
Arguments: {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] {F G H : CategoryTheory.OplaxFunctor B C} {η θ : F ⟶ G} (Γ : η ⟶ θ) (ι : G ⟶ H) (a : B)
Goal: (CategoryTheory.OplaxNatTrans.whiskerRight Γ ι).app a = CategoryTheory.Bicategory.whiskerRight (Γ.app a) (ι.app a)
-- CategoryTheory.OplaxNatTrans.associator_inv_app
-- Porting note: verified that projections are correct and changed @[simps] to @[simps!]
@[simps!]
def associator (η : F ⟶ G) (θ : G ⟶ H) (ι : H ⟶ I) : (η ≫ θ) ≫ ι ≅ η ≫ θ ≫ ι 
Arguments: {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] {F G H I : CategoryTheory.OplaxFunctor B C} (η : F ⟶ G) (θ : G ⟶ H) (ι : H ⟶ I) (a : B)
Goal: (CategoryTheory.OplaxNatTrans.associator η θ ι).inv.app a =
  (CategoryTheory.Bicategory.associator (η.app a) (θ.app a) (ι.app a)).inv
-- CategoryTheory.OplaxNatTrans.associator_hom_app
-- Porting note: verified that projections are correct and changed @[simps] to @[simps!]
@[simps!]
def associator (η : F ⟶ G) (θ : G ⟶ H) (ι : H ⟶ I) : (η ≫ θ) ≫ ι ≅ η ≫ θ ≫ ι 
Arguments: {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] {F G H I : CategoryTheory.OplaxFunctor B C} (η : F ⟶ G) (θ : G ⟶ H) (ι : H ⟶ I) (a : B)
Goal: (CategoryTheory.OplaxNatTrans.associator η θ ι).hom.app a =
  (CategoryTheory.Bicategory.associator (η.app a) (θ.app a) (ι.app a)).hom
-- CategoryTheory.OplaxNatTrans.leftUnitor_hom_app
-- Porting note: verified that projections are correct and changed @[simps] to @[simps!]
@[simps!]
def leftUnitor (η : F ⟶ G) : 𝟙 F ≫ η ≅ η 
Arguments: {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] {F G : CategoryTheory.OplaxFunctor B C} (η : F ⟶ G) (a : B)
Goal: (CategoryTheory.OplaxNatTrans.leftUnitor η).hom.app a = (CategoryTheory.Bicategory.leftUnitor (η.app a)).hom
-- CategoryTheory.OplaxNatTrans.leftUnitor_inv_app
-- Porting note: verified that projections are correct and changed @[simps] to @[simps!]
@[simps!]
def leftUnitor (η : F ⟶ G) : 𝟙 F ≫ η ≅ η 
Arguments: {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] {F G : CategoryTheory.OplaxFunctor B C} (η : F ⟶ G) (a : B)
Goal: (CategoryTheory.OplaxNatTrans.leftUnitor η).inv.app a = (CategoryTheory.Bicategory.leftUnitor (η.app a)).inv
-- CategoryTheory.OplaxNatTrans.rightUnitor_hom_app
-- Porting note: verified that projections are correct and changed @[simps] to @[simps!]
@[simps!]
def rightUnitor (η : F ⟶ G) : η ≫ 𝟙 G ≅ η 
Arguments: {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] {F G : CategoryTheory.OplaxFunctor B C} (η : F ⟶ G) (a : B)
Goal: (CategoryTheory.OplaxNatTrans.rightUnitor η).hom.app a = (CategoryTheory.Bicategory.rightUnitor (η.app a)).hom
-- CategoryTheory.OplaxNatTrans.rightUnitor_inv_app
-- Porting note: verified that projections are correct and changed @[simps] to @[simps!]
@[simps!]
def rightUnitor (η : F ⟶ G) : η ≫ 𝟙 G ≅ η 
Arguments: {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] {F G : CategoryTheory.OplaxFunctor B C} (η : F ⟶ G) (a : B)
Goal: (CategoryTheory.OplaxNatTrans.rightUnitor η).inv.app a = (CategoryTheory.Bicategory.rightUnitor (η.app a)).inv
-- CategoryTheory.OplaxFunctor.bicategory_rightUnitor_hom_app
-- Porting note: verified that projections are correct and changed @[simps] to @[simps!]
@[simps!]
instance OplaxFunctor.bicategory : Bicategory (OplaxFunctor B C) 
Arguments: (B : Type u₁) [CategoryTheory.Bicategory B] (C : Type u₂) [CategoryTheory.Bicategory C] {F G : CategoryTheory.OplaxFunctor B C} (η : F ⟶ G) (a : B)
Goal: (CategoryTheory.Bicategory.rightUnitor η).hom.app a = (CategoryTheory.Bicategory.rightUnitor (η.app a)).hom
-- CategoryTheory.OplaxFunctor.bicategory_homCategory_id_app
-- Porting note: verified that projections are correct and changed @[simps] to @[simps!]
@[simps!]
instance OplaxFunctor.bicategory : Bicategory (OplaxFunctor B C) 
Arguments: (B : Type u₁) [CategoryTheory.Bicategory B] (C : Type u₂) [CategoryTheory.Bicategory C] (a b : CategoryTheory.OplaxFunctor B C) (η : a ⟶ b)
Goal: ∀ (a_1 : B), (CategoryTheory.CategoryStruct.id η).app a_1 = CategoryTheory.CategoryStruct.id (η.app a_1)
-- CategoryTheory.OplaxFunctor.bicategory_comp_naturality
-- Porting note: verified that projections are correct and changed @[simps] to @[simps!]
@[simps!]
instance OplaxFunctor.bicategory : Bicategory (OplaxFunctor B C) 
Arguments: (B : Type u₁) [CategoryTheory.Bicategory B] (C : Type u₂) [CategoryTheory.Bicategory C]
Goal: ∀ {X Y Z : CategoryTheory.OplaxFunctor B C} (η : CategoryTheory.OplaxNatTrans X Y)
  (θ : CategoryTheory.OplaxNatTrans Y Z) {a b : B} (f : a ⟶ b),
  (CategoryTheory.CategoryStruct.comp η θ).naturality f =
    CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.associator (X.map f) (η.app b) (θ.app b)).inv
      (CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.whiskerRight (η.naturality f) (θ.app b))
        (CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.associator (η.app a) (Y.map f) (θ.app b)).hom
          (CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.whiskerLeft (η.app a) (θ.naturality f))
            (CategoryTheory.Bicategory.associator (η.app a) (θ.app a) (Z.map f)).inv)))
-- CategoryTheory.OplaxFunctor.bicategory_id_naturality
-- Porting note: verified that projections are correct and changed @[simps] to @[simps!]
@[simps!]
instance OplaxFunctor.bicategory : Bicategory (OplaxFunctor B C) 
Arguments: (B : Type u₁) [CategoryTheory.Bicategory B] (C : Type u₂) [CategoryTheory.Bicategory C] (F : CategoryTheory.OplaxFunctor B C) {a b : B} (f : a ⟶ b)
Goal: (CategoryTheory.CategoryStruct.id F).naturality f =
  CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.rightUnitor (F.map f)).hom
    (CategoryTheory.Bicategory.leftUnitor (F.map f)).inv
-- CategoryTheory.OplaxFunctor.bicategory_whiskerLeft_app
-- Porting note: verified that projections are correct and changed @[simps] to @[simps!]
@[simps!]
instance OplaxFunctor.bicategory : Bicategory (OplaxFunctor B C) 
Arguments: (B : Type u₁) [CategoryTheory.Bicategory B] (C : Type u₂) [CategoryTheory.Bicategory C] {F G H : CategoryTheory.OplaxFunctor B C} (η : F ⟶ G)
Goal: ∀ (x x_1 : G ⟶ H) (Γ : x ⟶ x_1) (a : B),
  (CategoryTheory.Bicategory.whiskerLeft η Γ).app a = CategoryTheory.Bicategory.whiskerLeft (η.app a) (Γ.app a)