ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.MonoidalOfChosenFiniteProducts.hexagon_forward
theorem hexagon_forward (X Y Z : C) :
    (BinaryFan.associatorOfLimitCone ℬ X Y Z).hom ≫
        (Limits.BinaryFan.braiding (ℬ X (tensorObj ℬ Y Z)).isLimit
              (ℬ (tensorObj ℬ Y Z) X).isLimit).hom ≫
          (BinaryFan.associatorOfLimitCone ℬ Y Z X).hom =
      tensorHom ℬ (Limits.BinaryFan.braiding (ℬ X Y).isLimit (ℬ Y X).isLimit).hom (𝟙 Z) ≫
        (BinaryFan.associatorOfLimitCone ℬ Y X Z).hom ≫
          tensorHom ℬ (𝟙 Y) (Limits.BinaryFan.braiding (ℬ X Z).isLimit (ℬ Z X).isLimit).hom 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] (ℬ : (X Y : C) → CategoryTheory.Limits.LimitCone (CategoryTheory.Limits.pair X Y)) (X Y Z : C)
Goal: CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.BinaryFan.associatorOfLimitCone ℬ X Y Z).hom
    (CategoryTheory.CategoryStruct.comp
      (CategoryTheory.Limits.BinaryFan.braiding
          (ℬ X (CategoryTheory.MonoidalOfChosenFiniteProducts.tensorObj ℬ Y Z)).isLimit
          (ℬ (CategoryTheory.MonoidalOfChosenFiniteProducts.tensorObj ℬ Y Z) X).isLimit).hom
      (CategoryTheory.Limits.BinaryFan.associatorOfLimitCone ℬ Y Z X).hom) =
  CategoryTheory.CategoryStruct.comp
    (CategoryTheory.MonoidalOfChosenFiniteProducts.tensorHom ℬ
      (CategoryTheory.Limits.BinaryFan.braiding (ℬ X Y).isLimit (ℬ Y X).isLimit).hom
      (CategoryTheory.CategoryStruct.id Z))
    (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.BinaryFan.associatorOfLimitCone ℬ Y X Z).hom
      (CategoryTheory.MonoidalOfChosenFiniteProducts.tensorHom ℬ (CategoryTheory.CategoryStruct.id Y)
        (CategoryTheory.Limits.BinaryFan.braiding (ℬ X Z).isLimit (ℬ Z X).isLimit).hom))
-- CategoryTheory.MonoidalOfChosenFiniteProducts.hexagon_reverse
theorem hexagon_reverse (X Y Z : C) :
    (BinaryFan.associatorOfLimitCone ℬ X Y Z).inv ≫
        (Limits.BinaryFan.braiding (ℬ (tensorObj ℬ X Y) Z).isLimit
              (ℬ Z (tensorObj ℬ X Y)).isLimit).hom ≫
          (BinaryFan.associatorOfLimitCone ℬ Z X Y).inv =
      tensorHom ℬ (𝟙 X) (Limits.BinaryFan.braiding (ℬ Y Z).isLimit (ℬ Z Y).isLimit).hom ≫
        (BinaryFan.associatorOfLimitCone ℬ X Z Y).inv ≫
          tensorHom ℬ (Limits.BinaryFan.braiding (ℬ X Z).isLimit (ℬ Z X).isLimit).hom (𝟙 Y) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] (ℬ : (X Y : C) → CategoryTheory.Limits.LimitCone (CategoryTheory.Limits.pair X Y)) (X Y Z : C)
Goal: CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.BinaryFan.associatorOfLimitCone ℬ X Y Z).inv
    (CategoryTheory.CategoryStruct.comp
      (CategoryTheory.Limits.BinaryFan.braiding
          (ℬ (CategoryTheory.MonoidalOfChosenFiniteProducts.tensorObj ℬ X Y) Z).isLimit
          (ℬ Z (CategoryTheory.MonoidalOfChosenFiniteProducts.tensorObj ℬ X Y)).isLimit).hom
      (CategoryTheory.Limits.BinaryFan.associatorOfLimitCone ℬ Z X Y).inv) =
  CategoryTheory.CategoryStruct.comp
    (CategoryTheory.MonoidalOfChosenFiniteProducts.tensorHom ℬ (CategoryTheory.CategoryStruct.id X)
      (CategoryTheory.Limits.BinaryFan.braiding (ℬ Y Z).isLimit (ℬ Z Y).isLimit).hom)
    (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.BinaryFan.associatorOfLimitCone ℬ X Z Y).inv
      (CategoryTheory.MonoidalOfChosenFiniteProducts.tensorHom ℬ
        (CategoryTheory.Limits.BinaryFan.braiding (ℬ X Z).isLimit (ℬ Z X).isLimit).hom
        (CategoryTheory.CategoryStruct.id Y)))
-- CategoryTheory.MonoidalOfChosenFiniteProducts.symmetry
theorem symmetry (X Y : C) :
    (Limits.BinaryFan.braiding (ℬ X Y).isLimit (ℬ Y X).isLimit).hom ≫
        (Limits.BinaryFan.braiding (ℬ Y X).isLimit (ℬ X Y).isLimit).hom =
      𝟙 (tensorObj ℬ X Y) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] (ℬ : (X Y : C) → CategoryTheory.Limits.LimitCone (CategoryTheory.Limits.pair X Y)) (X Y : C)
Goal: CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.BinaryFan.braiding (ℬ X Y).isLimit (ℬ Y X).isLimit).hom
    (CategoryTheory.Limits.BinaryFan.braiding (ℬ Y X).isLimit (ℬ X Y).isLimit).hom =
  CategoryTheory.CategoryStruct.id (CategoryTheory.MonoidalOfChosenFiniteProducts.tensorObj ℬ X Y)
-- counit_eq_from
@[simp] theorem counit_eq_from (A : Comon_ C) : A.counit = terminal.from A.X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasBinaryProducts C] (A : Comon_ C)
Goal: A.counit = CategoryTheory.Limits.terminal.from A.X
-- comul_eq_diag
@[simp] theorem comul_eq_diag (A : Comon_ C) : A.comul = diag A.X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasBinaryProducts C] (A : Comon_ C)
Goal: A.comul = CategoryTheory.Limits.diag A.X
-- iso_cartesianComon__inv_hom
@[simps] def iso_cartesianComon_ (A : Comon_ C) : A ≅ (cartesianComon_ C).obj A.X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasBinaryProducts C] (A : Comon_ C)
Goal: (iso_cartesianComon_ A).inv.hom = 𝟙 ((cartesianComon_ C).obj A.X).X
-- iso_cartesianComon__hom_hom
@[simps] def iso_cartesianComon_ (A : Comon_ C) : A ≅ (cartesianComon_ C).obj A.X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasBinaryProducts C] (A : Comon_ C)
Goal: (iso_cartesianComon_ A).hom.hom = 𝟙 A.X
-- comonEquiv_functor
@[simps] def comonEquiv : Comon_ C ≌ C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasBinaryProducts C]
Goal: comonEquiv.functor = Comon_.forget C
-- comonEquiv_inverse
@[simps] def comonEquiv : Comon_ C ≌ C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasBinaryProducts C]
Goal: comonEquiv.inverse = cartesianComon_ C
-- comonEquiv_unitIso
@[simps] def comonEquiv : Comon_ C ≌ C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasBinaryProducts C]
Goal: comonEquiv.unitIso = CategoryTheory.NatIso.ofComponents (fun A => iso_cartesianComon_ A) ⋯
-- comonEquiv_counitIso
@[simps] def comonEquiv : Comon_ C ≌ C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasBinaryProducts C]
Goal: comonEquiv.counitIso =
  CategoryTheory.NatIso.ofComponents (fun X => CategoryTheory.Iso.refl ((cartesianComon_ C ⋙ Comon_.forget C).obj X)) ⋯
-- CommMon_.mul_comm
structure CommMon_ extends Mon_ C where
  mul_comm : (β_ _ _).hom ≫ mul = mul := by aesop_cat
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (self : CommMon_ C)
Goal: (β_ self.X self.X).hom ≫ self.mul = self.mul
-- CommMon_.trivial_X
@[simps!]
def trivial : CommMon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C]
Goal: (CommMon_.trivial C).X = 𝟙_ C
-- CommMon_.trivial_one
@[simps!]
def trivial : CommMon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C]
Goal: (CommMon_.trivial C).one = 𝟙 (𝟙_ C)
-- CommMon_.trivial_mul
@[simps!]
def trivial : CommMon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C]
Goal: (CommMon_.trivial C).mul = (λ_ (𝟙_ C)).hom
-- CommMon_.id_hom
@[simp]
theorem id_hom (A : CommMon_ C) : Mon_.Hom.hom (𝟙 A) = 𝟙 A.X 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (A : CommMon_ C)
Goal: (𝟙 A).hom = 𝟙 A.X
-- CommMon_.comp_hom
@[simp]
theorem comp_hom {R S T : CommMon_ C} (f : R ⟶ S) (g : S ⟶ T) :
    Mon_.Hom.hom (f ≫ g) = f.hom ≫ g.hom 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] {R S T : CommMon_ C} (f : R ⟶ S) (g : S ⟶ T)
Goal: (f ≫ g).hom = f.hom ≫ g.hom
-- CommMon_.hom_ext
@[ext]
lemma hom_ext {A B : CommMon_ C} (f g : A ⟶ B) (h : f.hom = g.hom) : f = g 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] {A B : CommMon_ C} (f g : A ⟶ B) (h : f.hom = g.hom)
Goal: f = g
-- CommMon_.id'
@[simp]
lemma id' (A : CommMon_ C) : (𝟙 A : A.toMon_ ⟶ A.toMon_) = 𝟙 (A.toMon_) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (A : CommMon_ C)
Goal: 𝟙 A = 𝟙 A.toMon_
-- CommMon_.comp'
@[simp]
lemma comp' {A₁ A₂ A₃ : CommMon_ C} (f : A₁ ⟶ A₂) (g : A₂ ⟶ A₃) :
    ((f ≫ g : A₁ ⟶ A₃) : A₁.toMon_ ⟶ A₃.toMon_) = @CategoryStruct.comp (Mon_ C) _ _ _ _ f g 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] {A₁ A₂ A₃ : CommMon_ C} (f : A₁ ⟶ A₂) (g : A₂ ⟶ A₃)
Goal: f ≫ g = f ≫ g
-- CommMon_.forget₂_Mon_obj_one
@[simp]
theorem forget₂_Mon_obj_one (A : CommMon_ C) : ((forget₂Mon_ C).obj A).one = A.one 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (A : CommMon_ C)
Goal: ((CommMon_.forget₂Mon_ C).obj A).one = A.one
-- CommMon_.forget₂_Mon_obj_mul
@[simp]
theorem forget₂_Mon_obj_mul (A : CommMon_ C) : ((forget₂Mon_ C).obj A).mul = A.mul 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (A : CommMon_ C)
Goal: ((CommMon_.forget₂Mon_ C).obj A).mul = A.mul
-- CommMon_.forget₂_Mon_map_hom
@[simp]
theorem forget₂_Mon_map_hom {A B : CommMon_ C} (f : A ⟶ B) : ((forget₂Mon_ C).map f).hom = f.hom 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] {A B : CommMon_ C} (f : A ⟶ B)
Goal: ((CommMon_.forget₂Mon_ C).map f).hom = f.hom
-- CategoryTheory.LaxBraidedFunctor.mapCommMon_obj_X
@[simps!]
def mapCommMon (F : LaxBraidedFunctor C D) : CommMon_ C ⥤ CommMon_ D 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.MonoidalCategory D] [CategoryTheory.BraidedCategory D] (F : CategoryTheory.LaxBraidedFunctor C D) (A : CommMon_ C)
Goal: (F.mapCommMon.obj A).X = F.obj A.X
-- CategoryTheory.LaxBraidedFunctor.mapCommMon_map_hom
@[simps!]
def mapCommMon (F : LaxBraidedFunctor C D) : CommMon_ C ⥤ CommMon_ D 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.MonoidalCategory D] [CategoryTheory.BraidedCategory D] (F : CategoryTheory.LaxBraidedFunctor C D)
Goal: ∀ {X Y : CommMon_ C} (f : X ⟶ Y), (F.mapCommMon.map f).hom = F.map f.hom
-- CategoryTheory.LaxBraidedFunctor.mapCommMon_obj_mul
@[simps!]
def mapCommMon (F : LaxBraidedFunctor C D) : CommMon_ C ⥤ CommMon_ D 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.MonoidalCategory D] [CategoryTheory.BraidedCategory D] (F : CategoryTheory.LaxBraidedFunctor C D) (A : CommMon_ C)
Goal: (F.mapCommMon.obj A).mul = F.μ A.X A.X ≫ F.map A.mul
-- CategoryTheory.LaxBraidedFunctor.mapCommMon_obj_one
@[simps!]
def mapCommMon (F : LaxBraidedFunctor C D) : CommMon_ C ⥤ CommMon_ D 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.MonoidalCategory D] [CategoryTheory.BraidedCategory D] (F : CategoryTheory.LaxBraidedFunctor C D) (A : CommMon_ C)
Goal: (F.mapCommMon.obj A).one = F.ε ≫ F.map A.one
-- CategoryTheory.LaxBraidedFunctor.mapCommMonFunctor_map_app_hom
@[simps]
def mapCommMonFunctor : LaxBraidedFunctor C D ⥤ CommMon_ C ⥤ CommMon_ D 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (D : Type u₂) [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.MonoidalCategory D] [CategoryTheory.BraidedCategory D]
Goal: ∀ {X Y : CategoryTheory.LaxBraidedFunctor C D} (α : X ⟶ Y) (A : CommMon_ C),
  (((CategoryTheory.LaxBraidedFunctor.mapCommMonFunctor C D).map α).app A).hom = α.app A.X
-- CategoryTheory.LaxBraidedFunctor.mapCommMonFunctor_obj
@[simps]
def mapCommMonFunctor : LaxBraidedFunctor C D ⥤ CommMon_ C ⥤ CommMon_ D 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (D : Type u₂) [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.MonoidalCategory D] [CategoryTheory.BraidedCategory D] (F : CategoryTheory.LaxBraidedFunctor C D)
Goal: (CategoryTheory.LaxBraidedFunctor.mapCommMonFunctor C D).obj F = F.mapCommMon
-- CommMon_.EquivLaxBraidedFunctorPUnit.laxBraidedToCommMon_obj
@[simps]
def laxBraidedToCommMon : LaxBraidedFunctor (Discrete PUnit.{u + 1}) C ⥤ CommMon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (F : CategoryTheory.LaxBraidedFunctor (CategoryTheory.Discrete PUnit.{u + 1}) C)
Goal: (CommMon_.EquivLaxBraidedFunctorPUnit.laxBraidedToCommMon C).obj F =
  F.mapCommMon.obj (CommMon_.trivial (CategoryTheory.Discrete PUnit.{u + 1}))
-- CommMon_.EquivLaxBraidedFunctorPUnit.laxBraidedToCommMon_map
@[simps]
def laxBraidedToCommMon : LaxBraidedFunctor (Discrete PUnit.{u + 1}) C ⥤ CommMon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C]
Goal: ∀ {X Y : CategoryTheory.LaxBraidedFunctor (CategoryTheory.Discrete PUnit.{u + 1}) C} (α : X ⟶ Y),
  (CommMon_.EquivLaxBraidedFunctorPUnit.laxBraidedToCommMon C).map α =
    ((CategoryTheory.LaxBraidedFunctor.mapCommMonFunctor (CategoryTheory.Discrete PUnit.{u + 1}) C).map α).app
      (CommMon_.trivial (CategoryTheory.Discrete PUnit.{u + 1}))
-- CommMon_.EquivLaxBraidedFunctorPUnit.commMonToLaxBraided_obj_map
@[simps]
def commMonToLaxBraided : CommMon_ C ⥤ LaxBraidedFunctor (Discrete PUnit.{u + 1}) C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (A : CommMon_ C)
Goal: ∀ {X Y : CategoryTheory.Discrete PUnit.{u + 1}} (x : X ⟶ Y),
  ((CommMon_.EquivLaxBraidedFunctorPUnit.commMonToLaxBraided C).obj A).map x = 𝟙 ((fun x => A.X) X)
-- CommMon_.EquivLaxBraidedFunctorPUnit.commMonToLaxBraided_obj_obj
@[simps]
def commMonToLaxBraided : CommMon_ C ⥤ LaxBraidedFunctor (Discrete PUnit.{u + 1}) C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (A : CommMon_ C)
Goal: ∀ (x : CategoryTheory.Discrete PUnit.{u + 1}),
  ((CommMon_.EquivLaxBraidedFunctorPUnit.commMonToLaxBraided C).obj A).obj x = A.X
-- CommMon_.EquivLaxBraidedFunctorPUnit.commMonToLaxBraided_obj_μ
@[simps]
def commMonToLaxBraided : CommMon_ C ⥤ LaxBraidedFunctor (Discrete PUnit.{u + 1}) C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (A : CommMon_ C)
Goal: ∀ (x x_1 : CategoryTheory.Discrete PUnit.{u + 1}),
  ((CommMon_.EquivLaxBraidedFunctorPUnit.commMonToLaxBraided C).obj A).μ x x_1 = A.mul
-- CommMon_.EquivLaxBraidedFunctorPUnit.commMonToLaxBraided_obj_ε
@[simps]
def commMonToLaxBraided : CommMon_ C ⥤ LaxBraidedFunctor (Discrete PUnit.{u + 1}) C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (A : CommMon_ C)
Goal: ((CommMon_.EquivLaxBraidedFunctorPUnit.commMonToLaxBraided C).obj A).ε = A.one
-- CommMon_.EquivLaxBraidedFunctorPUnit.commMonToLaxBraided_map_toNatTrans_app
@[simps]
def commMonToLaxBraided : CommMon_ C ⥤ LaxBraidedFunctor (Discrete PUnit.{u + 1}) C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C]
Goal: ∀ {X Y : CommMon_ C} (f : X ⟶ Y) (x : CategoryTheory.Discrete PUnit.{u + 1}),
  ((CommMon_.EquivLaxBraidedFunctorPUnit.commMonToLaxBraided C).map f).app x = f.hom
-- CommMon_.EquivLaxBraidedFunctorPUnit.unitIso_hom_app_toNatTrans_app
@[simps!]
def unitIso :
    𝟭 (LaxBraidedFunctor (Discrete PUnit.{u + 1}) C) ≅
      laxBraidedToCommMon C ⋙ commMonToLaxBraided C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (X : CategoryTheory.LaxBraidedFunctor (CategoryTheory.Discrete PUnit.{u + 1}) C)
Goal: ∀ (X_1 : CategoryTheory.Discrete PUnit.{u + 1}),
  ((CommMon_.EquivLaxBraidedFunctorPUnit.unitIso C).hom.app X).app X_1 = 𝟙 (X.obj X_1)
-- CommMon_.EquivLaxBraidedFunctorPUnit.unitIso_inv_app_toNatTrans_app
@[simps!]
def unitIso :
    𝟭 (LaxBraidedFunctor (Discrete PUnit.{u + 1}) C) ≅
      laxBraidedToCommMon C ⋙ commMonToLaxBraided C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (X : CategoryTheory.LaxBraidedFunctor (CategoryTheory.Discrete PUnit.{u + 1}) C)
Goal: ∀ (X_1 : CategoryTheory.Discrete PUnit.{u + 1}),
  ((CommMon_.EquivLaxBraidedFunctorPUnit.unitIso C).inv.app X).app X_1 =
    𝟙 (X.obj (𝟙_ (CategoryTheory.Discrete PUnit.{u + 1})))
-- CommMon_.EquivLaxBraidedFunctorPUnit.counitIso_hom_app_hom
@[simps!]
def counitIso : commMonToLaxBraided C ⋙ laxBraidedToCommMon C ≅ 𝟭 (CommMon_ C) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (X : CommMon_ C)
Goal: ((CommMon_.EquivLaxBraidedFunctorPUnit.counitIso C).hom.app X).hom = 𝟙 X.X
-- CommMon_.EquivLaxBraidedFunctorPUnit.counitIso_inv_app_hom
@[simps!]
def counitIso : commMonToLaxBraided C ⋙ laxBraidedToCommMon C ≅ 𝟭 (CommMon_ C) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (X : CommMon_ C)
Goal: ((CommMon_.EquivLaxBraidedFunctorPUnit.counitIso C).inv.app X).hom = 𝟙 X.X
-- CommMon_.equivLaxBraidedFunctorPUnit_unitIso
@[simps]
def equivLaxBraidedFunctorPUnit : LaxBraidedFunctor (Discrete PUnit.{u + 1}) C ≌ CommMon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C]
Goal: (CommMon_.equivLaxBraidedFunctorPUnit C).unitIso = CommMon_.EquivLaxBraidedFunctorPUnit.unitIso C
-- CommMon_.equivLaxBraidedFunctorPUnit_counitIso
@[simps]
def equivLaxBraidedFunctorPUnit : LaxBraidedFunctor (Discrete PUnit.{u + 1}) C ≌ CommMon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C]
Goal: (CommMon_.equivLaxBraidedFunctorPUnit C).counitIso = CommMon_.EquivLaxBraidedFunctorPUnit.counitIso C
-- CommMon_.equivLaxBraidedFunctorPUnit_functor
@[simps]
def equivLaxBraidedFunctorPUnit : LaxBraidedFunctor (Discrete PUnit.{u + 1}) C ≌ CommMon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C]
Goal: (CommMon_.equivLaxBraidedFunctorPUnit C).functor = CommMon_.EquivLaxBraidedFunctorPUnit.laxBraidedToCommMon C
-- CommMon_.equivLaxBraidedFunctorPUnit_inverse
@[simps]
def equivLaxBraidedFunctorPUnit : LaxBraidedFunctor (Discrete PUnit.{u + 1}) C ≌ CommMon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C]
Goal: (CommMon_.equivLaxBraidedFunctorPUnit C).inverse = CommMon_.EquivLaxBraidedFunctorPUnit.commMonToLaxBraided C
-- Mod_.assoc
structure Mod_ (A : Mon_ C) where
  X : C
  act : A.X ⊗ X ⟶ X
  one_act : (A.one ▷ X) ≫ act = (λ_ X).hom := by aesop_cat
  assoc : (A.mul ▷ X) ≫ act = (α_ A.X A.X X).hom ≫ (A.X ◁ act) ≫ act := by aesop_cat
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {A : Mon_ C} (self : Mod_ A)
Goal: A.mul ▷ self.X ≫ self.act = (α_ A.X A.X self.X).hom ≫ A.X ◁ self.act ≫ self.act
-- Mod_.one_act
structure Mod_ (A : Mon_ C) where
  X : C
  act : A.X ⊗ X ⟶ X
  one_act : (A.one ▷ X) ≫ act = (λ_ X).hom := by aesop_cat
  assoc : (A.mul ▷ X) ≫ act = (α_ A.X A.X X).hom ≫ (A.X ◁ act) ≫ act := by aesop_cat
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {A : Mon_ C} (self : Mod_ A)
Goal: A.one ▷ self.X ≫ self.act = (λ_ self.X).hom
-- Mod_.assoc_flip
theorem assoc_flip :
    (A.X ◁ M.act) ≫ M.act = (α_ A.X A.X M.X).inv ≫ (A.mul ▷ M.X) ≫ M.act 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {A : Mon_ C} (M : Mod_ A)
Goal: A.X ◁ M.act ≫ M.act = (α_ A.X A.X M.X).inv ≫ A.mul ▷ M.X ≫ M.act
-- Mod_.Hom.act_hom
@[ext]
structure Hom (M N : Mod_ A) where
  hom : M.X ⟶ N.X
  act_hom : M.act ≫ hom = (A.X ◁ hom) ≫ N.act := by aesop_cat
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {A : Mon_ C} {M N : Mod_ A} (self : M.Hom N)
Goal: M.act ≫ self.hom = A.X ◁ self.hom ≫ N.act
-- Mod_.id_hom
@[simps]
def id (M : Mod_ A) : Hom M M 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {A : Mon_ C} (M : Mod_ A)
Goal: M.id.hom = 𝟙 M.X
-- Mod_.comp_hom
@[simps]
def comp {M N O : Mod_ A} (f : Hom M N) (g : Hom N O) : Hom M O 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {A : Mon_ C} {M N O : Mod_ A} (f : M.Hom N) (g : N.Hom O)
Goal: (Mod_.comp f g).hom = f.hom ≫ g.hom
-- Mod_.hom_ext
@[ext]
lemma hom_ext {M N : Mod_ A} (f₁ f₂ : M ⟶ N) (h : f₁.hom = f₂.hom) : f₁ = f₂ 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {A : Mon_ C} {M N : Mod_ A} (f₁ f₂ : M ⟶ N) (h : f₁.hom = f₂.hom)
Goal: f₁ = f₂
-- Mod_.id_hom'
@[simp]
theorem id_hom' (M : Mod_ A) : (𝟙 M : M ⟶ M).hom = 𝟙 M.X 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {A : Mon_ C} (M : Mod_ A)
Goal: (𝟙 M).hom = 𝟙 M.X
-- Mod_.comp_hom'
@[simp]
theorem comp_hom' {M N K : Mod_ A} (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] {A : Mon_ C} {M N K : Mod_ A} (f : M ⟶ N) (g : N ⟶ K)
Goal: (f ≫ g).hom = f.hom ≫ g.hom
-- Mod_.regular_act
@[simps]
def regular : Mod_ A 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (A : Mon_ C)
Goal: (Mod_.regular A).act = A.mul
-- Mod_.regular_X
@[simps]
def regular : Mod_ A 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (A : Mon_ C)
Goal: (Mod_.regular A).X = A.X
-- Mod_.comap_obj_act
@[simps]
def comap {A B : Mon_ C} (f : A ⟶ B) : Mod_ B ⥤ Mod_ A 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {A B : Mon_ C} (f : A ⟶ B) (M : Mod_ B)
Goal: ((Mod_.comap f).obj M).act = f.hom ▷ M.X ≫ M.act
-- Mod_.comap_obj_X
@[simps]
def comap {A B : Mon_ C} (f : A ⟶ B) : Mod_ B ⥤ Mod_ A 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {A B : Mon_ C} (f : A ⟶ B) (M : Mod_ B)
Goal: ((Mod_.comap f).obj M).X = M.X
-- Mod_.comap_map_hom
@[simps]
def comap {A B : Mon_ C} (f : A ⟶ B) : Mod_ B ⥤ Mod_ A 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {A B : Mon_ C} (f : A ⟶ B)
Goal: ∀ {X Y : Mod_ B} (g : X ⟶ Y), ((Mod_.comap f).map g).hom = g.hom