ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.μ_naturalityₗ
@[reassoc (attr := simp)]
theorem μ_naturalityₗ {m n m' : M} (f : m ⟶ m') (X : C) :
    (F.obj n).map ((F.map f).app X) ≫ (F.μ m' n).app X =
      (F.μ m n).app X ≫ (F.map (f ▷ n)).app X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {M : Type u_1} [CategoryTheory.Category.{u_2, u_1} M] [CategoryTheory.MonoidalCategory M] (F : CategoryTheory.MonoidalFunctor M (CategoryTheory.Functor C C)) {m n m' : M} (f : m ⟶ m') (X : C)
Goal: CategoryTheory.CategoryStruct.comp ((F.obj n).map ((F.map f).app X)) ((F.μ m' n).app X) =
  CategoryTheory.CategoryStruct.comp ((F.μ m n).app X)
    ((F.map (CategoryTheory.MonoidalCategory.whiskerRight f n)).app X)
-- CategoryTheory.μ_naturalityᵣ
@[reassoc (attr := simp)]
theorem μ_naturalityᵣ {m n n' : M} (g : n ⟶ n') (X : C) :
    (F.map g).app ((F.obj m).obj X) ≫ (F.μ m n').app X =
      (F.μ m n).app X ≫ (F.map (m ◁ g)).app X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {M : Type u_1} [CategoryTheory.Category.{u_2, u_1} M] [CategoryTheory.MonoidalCategory M] (F : CategoryTheory.MonoidalFunctor M (CategoryTheory.Functor C C)) {m n n' : M} (g : n ⟶ n') (X : C)
Goal: CategoryTheory.CategoryStruct.comp ((F.map g).app ((F.obj m).obj X)) ((F.μ m n').app X) =
  CategoryTheory.CategoryStruct.comp ((F.μ m n).app X) ((F.map (CategoryTheory.MonoidalCategory.whiskerLeft m g)).app X)
-- CategoryTheory.μ_inv_naturalityₗ
@[reassoc (attr := simp)]
theorem μ_inv_naturalityₗ {m n m' : M} (f : m ⟶ m') (X : C) :
    (F.μIso m n).inv.app X ≫ (F.obj n).map ((F.map f).app X) =
      (F.map (f ▷ n)).app X ≫ (F.μIso m' n).inv.app X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {M : Type u_1} [CategoryTheory.Category.{u_2, u_1} M] [CategoryTheory.MonoidalCategory M] (F : CategoryTheory.MonoidalFunctor M (CategoryTheory.Functor C C)) {m n m' : M} (f : m ⟶ m') (X : C)
Goal: CategoryTheory.CategoryStruct.comp ((F.μIso m n).inv.app X) ((F.obj n).map ((F.map f).app X)) =
  CategoryTheory.CategoryStruct.comp ((F.map (CategoryTheory.MonoidalCategory.whiskerRight f n)).app X)
    ((F.μIso m' n).inv.app X)
-- CategoryTheory.μ_inv_naturalityᵣ
@[reassoc (attr := simp)]
theorem μ_inv_naturalityᵣ {m n n' : M} (g : n ⟶ n') (X : C) :
    (F.μIso m n).inv.app X ≫ (F.map g).app ((F.obj m).obj X) =
      (F.map (m ◁ g)).app X ≫ (F.μIso m n').inv.app X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {M : Type u_1} [CategoryTheory.Category.{u_2, u_1} M] [CategoryTheory.MonoidalCategory M] (F : CategoryTheory.MonoidalFunctor M (CategoryTheory.Functor C C)) {m n n' : M} (g : n ⟶ n') (X : C)
Goal: CategoryTheory.CategoryStruct.comp ((F.μIso m n).inv.app X) ((F.map g).app ((F.obj m).obj X)) =
  CategoryTheory.CategoryStruct.comp ((F.map (CategoryTheory.MonoidalCategory.whiskerLeft m g)).app X)
    ((F.μIso m n').inv.app X)
-- CategoryTheory.left_unitality_app
@[reassoc]
theorem left_unitality_app (n : M) (X : C) :
    (F.obj n).map (F.ε.app X) ≫ (F.μ (𝟙_ M) n).app X ≫ (F.map (λ_ n).hom).app X = 𝟙 _ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {M : Type u_1} [CategoryTheory.Category.{u_2, u_1} M] [CategoryTheory.MonoidalCategory M] (F : CategoryTheory.MonoidalFunctor M (CategoryTheory.Functor C C)) (n : M) (X : C)
Goal: CategoryTheory.CategoryStruct.comp ((F.obj n).map (F.ε.app X))
    (CategoryTheory.CategoryStruct.comp ((F.μ (𝟙_ M) n).app X)
      ((F.map (CategoryTheory.MonoidalCategory.leftUnitor n).hom).app X)) =
  CategoryTheory.CategoryStruct.id ((F.obj n).obj ((𝟙_ (CategoryTheory.Functor C C)).obj X))
-- CategoryTheory.obj_ε_app
@[reassoc (attr := simp, nolint simpNF)]
theorem obj_ε_app (n : M) (X : C) :
    (F.obj n).map (F.ε.app X) = (F.map (λ_ n).inv).app X ≫ (F.μIso (𝟙_ M) n).inv.app X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {M : Type u_1} [CategoryTheory.Category.{u_2, u_1} M] [CategoryTheory.MonoidalCategory M] (F : CategoryTheory.MonoidalFunctor M (CategoryTheory.Functor C C)) (n : M) (X : C)
Goal: (F.obj n).map (F.ε.app X) =
  CategoryTheory.CategoryStruct.comp ((F.map (CategoryTheory.MonoidalCategory.leftUnitor n).inv).app X)
    ((F.μIso (𝟙_ M) n).inv.app X)
-- CategoryTheory.obj_ε_inv_app
@[reassoc (attr := simp, nolint simpNF)]
theorem obj_ε_inv_app (n : M) (X : C) :
    (F.obj n).map (F.εIso.inv.app X) = (F.μ (𝟙_ M) n).app X ≫ (F.map (λ_ n).hom).app X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {M : Type u_1} [CategoryTheory.Category.{u_2, u_1} M] [CategoryTheory.MonoidalCategory M] (F : CategoryTheory.MonoidalFunctor M (CategoryTheory.Functor C C)) (n : M) (X : C)
Goal: (F.obj n).map (F.εIso.inv.app X) =
  CategoryTheory.CategoryStruct.comp ((F.μ (𝟙_ M) n).app X)
    ((F.map (CategoryTheory.MonoidalCategory.leftUnitor n).hom).app X)
-- CategoryTheory.right_unitality_app
@[reassoc]
theorem right_unitality_app (n : M) (X : C) :
    F.ε.app ((F.obj n).obj X) ≫ (F.μ n (𝟙_ M)).app X ≫ (F.map (ρ_ n).hom).app X = 𝟙 _ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {M : Type u_1} [CategoryTheory.Category.{u_2, u_1} M] [CategoryTheory.MonoidalCategory M] (F : CategoryTheory.MonoidalFunctor M (CategoryTheory.Functor C C)) (n : M) (X : C)
Goal: CategoryTheory.CategoryStruct.comp (F.ε.app ((F.obj n).obj X))
    (CategoryTheory.CategoryStruct.comp ((F.μ n (𝟙_ M)).app X)
      ((F.map (CategoryTheory.MonoidalCategory.rightUnitor n).hom).app X)) =
  CategoryTheory.CategoryStruct.id ((𝟙_ (CategoryTheory.Functor C C)).obj ((F.obj n).obj X))
-- CategoryTheory.ε_app_obj
@[simp]
theorem ε_app_obj (n : M) (X : C) :
    F.ε.app ((F.obj n).obj X) = (F.map (ρ_ n).inv).app X ≫ (F.μIso n (𝟙_ M)).inv.app X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {M : Type u_1} [CategoryTheory.Category.{u_2, u_1} M] [CategoryTheory.MonoidalCategory M] (F : CategoryTheory.MonoidalFunctor M (CategoryTheory.Functor C C)) (n : M) (X : C)
Goal: F.ε.app ((F.obj n).obj X) =
  CategoryTheory.CategoryStruct.comp ((F.map (CategoryTheory.MonoidalCategory.rightUnitor n).inv).app X)
    ((F.μIso n (𝟙_ M)).inv.app X)
-- CategoryTheory.ε_inv_app_obj
@[simp]
theorem ε_inv_app_obj (n : M) (X : C) :
    F.εIso.inv.app ((F.obj n).obj X) = (F.μ n (𝟙_ M)).app X ≫ (F.map (ρ_ n).hom).app X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {M : Type u_1} [CategoryTheory.Category.{u_2, u_1} M] [CategoryTheory.MonoidalCategory M] (F : CategoryTheory.MonoidalFunctor M (CategoryTheory.Functor C C)) (n : M) (X : C)
Goal: F.εIso.inv.app ((F.obj n).obj X) =
  CategoryTheory.CategoryStruct.comp ((F.μ n (𝟙_ M)).app X)
    ((F.map (CategoryTheory.MonoidalCategory.rightUnitor n).hom).app X)
-- CategoryTheory.associativity_app
@[reassoc]
theorem associativity_app (m₁ m₂ m₃ : M) (X : C) :
    (F.obj m₃).map ((F.μ m₁ m₂).app X) ≫
        (F.μ (m₁ ⊗ m₂) m₃).app X ≫ (F.map (α_ m₁ m₂ m₃).hom).app X =
      (F.μ m₂ m₃).app ((F.obj m₁).obj X) ≫ (F.μ m₁ (m₂ ⊗ m₃)).app X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {M : Type u_1} [CategoryTheory.Category.{u_2, u_1} M] [CategoryTheory.MonoidalCategory M] (F : CategoryTheory.MonoidalFunctor M (CategoryTheory.Functor C C)) (m₁ m₂ m₃ : M) (X : C)
Goal: CategoryTheory.CategoryStruct.comp ((F.obj m₃).map ((F.μ m₁ m₂).app X))
    (CategoryTheory.CategoryStruct.comp ((F.μ (CategoryTheory.MonoidalCategory.tensorObj m₁ m₂) m₃).app X)
      ((F.map (CategoryTheory.MonoidalCategory.associator m₁ m₂ m₃).hom).app X)) =
  CategoryTheory.CategoryStruct.comp ((F.μ m₂ m₃).app ((F.obj m₁).obj X))
    ((F.μ m₁ (CategoryTheory.MonoidalCategory.tensorObj m₂ m₃)).app X)
-- CategoryTheory.obj_μ_app
@[reassoc (attr := simp, nolint simpNF)]
theorem obj_μ_app (m₁ m₂ m₃ : M) (X : C) :
    (F.obj m₃).map ((F.μ m₁ m₂).app X) =
      (F.μ m₂ m₃).app ((F.obj m₁).obj X) ≫
        (F.μ m₁ (m₂ ⊗ m₃)).app X ≫
          (F.map (α_ m₁ m₂ m₃).inv).app X ≫ (F.μIso (m₁ ⊗ m₂) m₃).inv.app X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {M : Type u_1} [CategoryTheory.Category.{u_2, u_1} M] [CategoryTheory.MonoidalCategory M] (F : CategoryTheory.MonoidalFunctor M (CategoryTheory.Functor C C)) (m₁ m₂ m₃ : M) (X : C)
Goal: (F.obj m₃).map ((F.μ m₁ m₂).app X) =
  CategoryTheory.CategoryStruct.comp ((F.μ m₂ m₃).app ((F.obj m₁).obj X))
    (CategoryTheory.CategoryStruct.comp ((F.μ m₁ (CategoryTheory.MonoidalCategory.tensorObj m₂ m₃)).app X)
      (CategoryTheory.CategoryStruct.comp ((F.map (CategoryTheory.MonoidalCategory.associator m₁ m₂ m₃).inv).app X)
        ((F.μIso (CategoryTheory.MonoidalCategory.tensorObj m₁ m₂) m₃).inv.app X)))
-- CategoryTheory.obj_μ_inv_app
@[reassoc (attr := simp, nolint simpNF)]
theorem obj_μ_inv_app (m₁ m₂ m₃ : M) (X : C) :
    (F.obj m₃).map ((F.μIso m₁ m₂).inv.app X) =
      (F.μ (m₁ ⊗ m₂) m₃).app X ≫
        (F.map (α_ m₁ m₂ m₃).hom).app X ≫
          (F.μIso m₁ (m₂ ⊗ m₃)).inv.app X ≫ (F.μIso m₂ m₃).inv.app ((F.obj m₁).obj X) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {M : Type u_1} [CategoryTheory.Category.{u_2, u_1} M] [CategoryTheory.MonoidalCategory M] (F : CategoryTheory.MonoidalFunctor M (CategoryTheory.Functor C C)) (m₁ m₂ m₃ : M) (X : C)
Goal: (F.obj m₃).map ((F.μIso m₁ m₂).inv.app X) =
  CategoryTheory.CategoryStruct.comp ((F.μ (CategoryTheory.MonoidalCategory.tensorObj m₁ m₂) m₃).app X)
    (CategoryTheory.CategoryStruct.comp ((F.map (CategoryTheory.MonoidalCategory.associator m₁ m₂ m₃).hom).app X)
      (CategoryTheory.CategoryStruct.comp ((F.μIso m₁ (CategoryTheory.MonoidalCategory.tensorObj m₂ m₃)).inv.app X)
        ((F.μIso m₂ m₃).inv.app ((F.obj m₁).obj X))))
-- CategoryTheory.obj_zero_map_μ_app
@[reassoc (attr := simp)]
theorem obj_zero_map_μ_app {m : M} {X Y : C} (f : X ⟶ (F.obj m).obj Y) :
    (F.obj (𝟙_ M)).map f ≫ (F.μ m (𝟙_ M)).app _ =
    F.εIso.inv.app _ ≫ f ≫ (F.map (ρ_ m).inv).app _ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {M : Type u_1} [CategoryTheory.Category.{u_2, u_1} M] [CategoryTheory.MonoidalCategory M] (F : CategoryTheory.MonoidalFunctor M (CategoryTheory.Functor C C)) {m : M} {X Y : C} (f : X ⟶ (F.obj m).obj Y)
Goal: CategoryTheory.CategoryStruct.comp ((F.obj (𝟙_ M)).map f) ((F.μ m (𝟙_ M)).app Y) =
  CategoryTheory.CategoryStruct.comp (F.εIso.inv.app X)
    (CategoryTheory.CategoryStruct.comp f ((F.map (CategoryTheory.MonoidalCategory.rightUnitor m).inv).app Y))
-- CategoryTheory.obj_μ_zero_app
@[simp]
theorem obj_μ_zero_app (m₁ m₂ : M) (X : C) :
    (F.μ (𝟙_ M) m₂).app ((F.obj m₁).obj X) ≫ (F.μ m₁ (𝟙_ M ⊗ m₂)).app X ≫
    (F.map (α_ m₁ (𝟙_ M) m₂).inv).app X ≫ (F.μIso (m₁ ⊗ 𝟙_ M) m₂).inv.app X =
    (F.μ (𝟙_ M) m₂).app ((F.obj m₁).obj X) ≫
    (F.map (λ_ m₂).hom).app ((F.obj m₁).obj X) ≫ (F.obj m₂).map ((F.map (ρ_ m₁).inv).app X) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {M : Type u_1} [CategoryTheory.Category.{u_2, u_1} M] [CategoryTheory.MonoidalCategory M] (F : CategoryTheory.MonoidalFunctor M (CategoryTheory.Functor C C)) (m₁ m₂ : M) (X : C)
Goal: CategoryTheory.CategoryStruct.comp ((F.μ (𝟙_ M) m₂).app ((F.obj m₁).obj X))
    (CategoryTheory.CategoryStruct.comp ((F.μ m₁ (CategoryTheory.MonoidalCategory.tensorObj (𝟙_ M) m₂)).app X)
      (CategoryTheory.CategoryStruct.comp ((F.map (CategoryTheory.MonoidalCategory.associator m₁ (𝟙_ M) m₂).inv).app X)
        ((F.μIso (CategoryTheory.MonoidalCategory.tensorObj m₁ (𝟙_ M)) m₂).inv.app X))) =
  CategoryTheory.CategoryStruct.comp ((F.μ (𝟙_ M) m₂).app ((F.obj m₁).obj X))
    (CategoryTheory.CategoryStruct.comp
      ((F.map (CategoryTheory.MonoidalCategory.leftUnitor m₂).hom).app ((F.obj m₁).obj X))
      ((F.obj m₂).map ((F.map (CategoryTheory.MonoidalCategory.rightUnitor m₁).inv).app X)))
-- CategoryTheory.unitOfTensorIsoUnit_hom_app
@[simps!]
noncomputable def unitOfTensorIsoUnit (m n : M) (h : m ⊗ n ≅ 𝟙_ M) : F.obj m ⋙ F.obj n ≅ 𝟭 C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {M : Type u_1} [CategoryTheory.Category.{u_2, u_1} M] [CategoryTheory.MonoidalCategory M] (F : CategoryTheory.MonoidalFunctor M (CategoryTheory.Functor C C)) (m n : M) (h : CategoryTheory.MonoidalCategory.tensorObj m n ≅ 𝟙_ M) (X : C)
Goal: (CategoryTheory.unitOfTensorIsoUnit F m n h).hom.app X =
  CategoryTheory.CategoryStruct.comp ((F.μ m n).app X)
    (CategoryTheory.CategoryStruct.comp ((F.map h.hom).app X) (F.εIso.inv.app X))
-- CategoryTheory.unitOfTensorIsoUnit_inv_app
@[simps!]
noncomputable def unitOfTensorIsoUnit (m n : M) (h : m ⊗ n ≅ 𝟙_ M) : F.obj m ⋙ F.obj n ≅ 𝟭 C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {M : Type u_1} [CategoryTheory.Category.{u_2, u_1} M] [CategoryTheory.MonoidalCategory M] (F : CategoryTheory.MonoidalFunctor M (CategoryTheory.Functor C C)) (m n : M) (h : CategoryTheory.MonoidalCategory.tensorObj m n ≅ 𝟙_ M) (X : C)
Goal: (CategoryTheory.unitOfTensorIsoUnit F m n h).inv.app X =
  CategoryTheory.CategoryStruct.comp (F.ε.app X)
    (CategoryTheory.CategoryStruct.comp ((F.map h.inv).app X) ((F.μIso m n).inv.app X))
-- CategoryTheory.equivOfTensorIsoUnit_inverse
@[simps]
noncomputable def equivOfTensorIsoUnit (m n : M) (h₁ : m ⊗ n ≅ 𝟙_ M) (h₂ : n ⊗ m ≅ 𝟙_ M)
    (H : h₁.hom ▷ m ≫ (λ_ m).hom = (α_ m n m).hom ≫ m ◁ h₂.hom ≫ (ρ_ m).hom) : C ≌ C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {M : Type u_1} [CategoryTheory.Category.{u_2, u_1} M] [CategoryTheory.MonoidalCategory M] (F : CategoryTheory.MonoidalFunctor M (CategoryTheory.Functor C C)) (m n : M) (h₁ : CategoryTheory.MonoidalCategory.tensorObj m n ≅ 𝟙_ M) (h₂ : CategoryTheory.MonoidalCategory.tensorObj n m ≅ 𝟙_ M) (H :
  CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategory.whiskerRight h₁.hom m)
      (CategoryTheory.MonoidalCategory.leftUnitor m).hom =
    CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategory.associator m n m).hom
      (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategory.whiskerLeft m h₂.hom)
        (CategoryTheory.MonoidalCategory.rightUnitor m).hom))
Goal: (CategoryTheory.equivOfTensorIsoUnit F m n h₁ h₂ H).inverse = F.obj n
-- CategoryTheory.equivOfTensorIsoUnit_functor
@[simps]
noncomputable def equivOfTensorIsoUnit (m n : M) (h₁ : m ⊗ n ≅ 𝟙_ M) (h₂ : n ⊗ m ≅ 𝟙_ M)
    (H : h₁.hom ▷ m ≫ (λ_ m).hom = (α_ m n m).hom ≫ m ◁ h₂.hom ≫ (ρ_ m).hom) : C ≌ C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {M : Type u_1} [CategoryTheory.Category.{u_2, u_1} M] [CategoryTheory.MonoidalCategory M] (F : CategoryTheory.MonoidalFunctor M (CategoryTheory.Functor C C)) (m n : M) (h₁ : CategoryTheory.MonoidalCategory.tensorObj m n ≅ 𝟙_ M) (h₂ : CategoryTheory.MonoidalCategory.tensorObj n m ≅ 𝟙_ M) (H :
  CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategory.whiskerRight h₁.hom m)
      (CategoryTheory.MonoidalCategory.leftUnitor m).hom =
    CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategory.associator m n m).hom
      (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategory.whiskerLeft m h₂.hom)
        (CategoryTheory.MonoidalCategory.rightUnitor m).hom))
Goal: (CategoryTheory.equivOfTensorIsoUnit F m n h₁ h₂ H).functor = F.obj m
-- CategoryTheory.equivOfTensorIsoUnit_counitIso
@[simps]
noncomputable def equivOfTensorIsoUnit (m n : M) (h₁ : m ⊗ n ≅ 𝟙_ M) (h₂ : n ⊗ m ≅ 𝟙_ M)
    (H : h₁.hom ▷ m ≫ (λ_ m).hom = (α_ m n m).hom ≫ m ◁ h₂.hom ≫ (ρ_ m).hom) : C ≌ C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {M : Type u_1} [CategoryTheory.Category.{u_2, u_1} M] [CategoryTheory.MonoidalCategory M] (F : CategoryTheory.MonoidalFunctor M (CategoryTheory.Functor C C)) (m n : M) (h₁ : CategoryTheory.MonoidalCategory.tensorObj m n ≅ 𝟙_ M) (h₂ : CategoryTheory.MonoidalCategory.tensorObj n m ≅ 𝟙_ M) (H :
  CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategory.whiskerRight h₁.hom m)
      (CategoryTheory.MonoidalCategory.leftUnitor m).hom =
    CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategory.associator m n m).hom
      (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategory.whiskerLeft m h₂.hom)
        (CategoryTheory.MonoidalCategory.rightUnitor m).hom))
Goal: (CategoryTheory.equivOfTensorIsoUnit F m n h₁ h₂ H).counitIso = CategoryTheory.unitOfTensorIsoUnit F n m h₂
-- CategoryTheory.equivOfTensorIsoUnit_unitIso
@[simps]
noncomputable def equivOfTensorIsoUnit (m n : M) (h₁ : m ⊗ n ≅ 𝟙_ M) (h₂ : n ⊗ m ≅ 𝟙_ M)
    (H : h₁.hom ▷ m ≫ (λ_ m).hom = (α_ m n m).hom ≫ m ◁ h₂.hom ≫ (ρ_ m).hom) : C ≌ C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {M : Type u_1} [CategoryTheory.Category.{u_2, u_1} M] [CategoryTheory.MonoidalCategory M] (F : CategoryTheory.MonoidalFunctor M (CategoryTheory.Functor C C)) (m n : M) (h₁ : CategoryTheory.MonoidalCategory.tensorObj m n ≅ 𝟙_ M) (h₂ : CategoryTheory.MonoidalCategory.tensorObj n m ≅ 𝟙_ M) (H :
  CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategory.whiskerRight h₁.hom m)
      (CategoryTheory.MonoidalCategory.leftUnitor m).hom =
    CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategory.associator m n m).hom
      (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategory.whiskerLeft m h₂.hom)
        (CategoryTheory.MonoidalCategory.rightUnitor m).hom))
Goal: (CategoryTheory.equivOfTensorIsoUnit F m n h₁ h₂ H).unitIso = (CategoryTheory.unitOfTensorIsoUnit F m n h₁).symm
-- Bimon_.ext
@[ext] lemma ext {X Y : Bimon_ C} {f g : X ⟶ Y} (w : f.hom.hom = g.hom.hom) : f = g 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] {X Y : Bimon_ C} {f g : X ⟶ Y} (w : f.hom.hom = g.hom.hom)
Goal: f = g
-- Bimon_.id_hom'
@[simp] theorem id_hom' (M : Bimon_ C) : Comon_.Hom.hom (𝟙 M) = 𝟙 M.X 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (M : Bimon_ C)
Goal: (𝟙 M).hom = 𝟙 M.X
-- Bimon_.comp_hom'
@[simp]
theorem comp_hom' {M N K : Bimon_ 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] [CategoryTheory.BraidedCategory C] {M N K : Bimon_ C} (f : M ⟶ N) (g : N ⟶ K)
Goal: (f ≫ g).hom = f.hom ≫ g.hom
-- Bimon_.toMon_forget
@[simp]
theorem toMon_forget : toMon_ C ⋙ Mon_.forget C = forget C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C]
Goal: Bimon_.toMon_ C ⋙ Mon_.forget C = Bimon_.forget C
-- Bimon_.toComon__map_hom
@[simps!]
def toComon_ : Bimon_ C ⥤ Comon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C]
Goal: ∀ {X Y : Comon_ (Mon_ C)} (f : X ⟶ Y), ((Bimon_.toComon_ C).map f).hom = f.hom.hom
-- Bimon_.toComon__obj_counit
@[simps!]
def toComon_ : Bimon_ C ⥤ Comon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (A : Comon_ (Mon_ C))
Goal: ((Bimon_.toComon_ C).obj A).counit = A.counit.hom
-- Bimon_.toComon__obj_comul
@[simps!]
def toComon_ : Bimon_ C ⥤ Comon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (A : Comon_ (Mon_ C))
Goal: ((Bimon_.toComon_ C).obj A).comul = A.comul.hom
-- Bimon_.toComon__obj_X
@[simps!]
def toComon_ : Bimon_ C ⥤ Comon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (A : Comon_ (Mon_ C))
Goal: ((Bimon_.toComon_ C).obj A).X = A.X.X
-- Bimon_.toComon_forget
@[simp]
theorem toComon_forget : toComon_ C ⋙ Comon_.forget C = forget C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C]
Goal: Bimon_.toComon_ C ⋙ Comon_.forget C = Bimon_.forget C
-- Bimon_.toMon_Comon__map_hom
@[simps]
def toMon_Comon_ : Bimon_ C ⥤ Mon_ (Comon_ C) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C]
Goal: ∀ {X Y : Bimon_ C} (f : X ⟶ Y), ((Bimon_.toMon_Comon_ C).map f).hom = (Bimon_.toComon_ C).map f
-- Bimon_.toMon_Comon__obj
@[simps]
def toMon_Comon_ : Bimon_ C ⥤ Mon_ (Comon_ C) 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (M : Bimon_ C)
Goal: (Bimon_.toMon_Comon_ C).obj M = Bimon_.toMon_Comon_obj C M
-- Bimon_.ofMon_Comon_obj_comul_hom
@[simps]
def ofMon_Comon_obj (M : Mon_ (Comon_ C)) : Bimon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (M : Mon_ (Comon_ C))
Goal: (Bimon_.ofMon_Comon_obj C M).comul.hom = M.X.comul
-- Bimon_.ofMon_Comon_obj_X
@[simps]
def ofMon_Comon_obj (M : Mon_ (Comon_ C)) : Bimon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (M : Mon_ (Comon_ C))
Goal: (Bimon_.ofMon_Comon_obj C M).X = (Comon_.forgetMonoidal C).mapMon.obj M
-- Bimon_.ofMon_Comon_obj_counit_hom
@[simps]
def ofMon_Comon_obj (M : Mon_ (Comon_ C)) : Bimon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (M : Mon_ (Comon_ C))
Goal: (Bimon_.ofMon_Comon_obj C M).counit.hom = M.X.counit
-- Bimon_.ofMon_Comon__map_hom
@[simps]
def ofMon_Comon_ : Mon_ (Comon_ C) ⥤ Bimon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C]
Goal: ∀ {X Y : Mon_ (Comon_ C)} (f : X ⟶ Y), ((Bimon_.ofMon_Comon_ C).map f).hom = (Comon_.forgetMonoidal C).mapMon.map f
-- Bimon_.ofMon_Comon__obj
@[simps]
def ofMon_Comon_ : Mon_ (Comon_ C) ⥤ Bimon_ C 
Arguments: (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (M : Mon_ (Comon_ C))
Goal: (Bimon_.ofMon_Comon_ C).obj M = Bimon_.ofMon_Comon_obj C M
-- CategoryTheory.SingleObj.id_as_one
theorem id_as_one (x : SingleObj M) : 𝟙 x = 1 
Arguments: (M : Type u) [Monoid M] (x : CategoryTheory.SingleObj M)
Goal: 𝟙 x = 1
-- CategoryTheory.SingleObj.comp_as_mul
theorem comp_as_mul {x y z : SingleObj M} (f : x ⟶ y) (g : y ⟶ z) : f ≫ g = g * f 
Arguments: (M : Type u) [Monoid M] {x y z : CategoryTheory.SingleObj M} (f : x ⟶ y) (g : y ⟶ z)
Goal: f ≫ g = g * f
-- CategoryTheory.SingleObj.inv_as_inv
theorem inv_as_inv {x y : SingleObj G} (f : x ⟶ y) : inv f = f⁻¹ 
Arguments: (G : Type u) [Group G] {x y : CategoryTheory.SingleObj G} (f : x ⟶ y)
Goal: CategoryTheory.inv f = f⁻¹
-- CategoryTheory.SingleObj.toEnd_def
theorem toEnd_def (x : M) : toEnd M x = x 
Arguments: (M : Type u) [Monoid M] (x : M)
Goal: (CategoryTheory.SingleObj.toEnd M) x = x
-- CategoryTheory.SingleObj.mapHom_id
theorem mapHom_id : mapHom M M (MonoidHom.id M) = 𝟭 _ 
Arguments: (M : Type u) [Monoid M]
Goal: (CategoryTheory.SingleObj.mapHom M M) (MonoidHom.id M) = 𝟭 (CategoryTheory.SingleObj M)
-- CategoryTheory.SingleObj.mapHom_comp
theorem mapHom_comp (f : M →* N) {P : Type w} [Monoid P] (g : N →* P) :
    mapHom M P (g.comp f) = mapHom M N f ⋙ mapHom N P g 
Arguments: {M : Type u} [Monoid M] {N : Type v} [Monoid N] (f : M →* N) {P : Type w} [Monoid P] (g : N →* P)
Goal: (CategoryTheory.SingleObj.mapHom M P) (g.comp f) =
  (CategoryTheory.SingleObj.mapHom M N) f ⋙ (CategoryTheory.SingleObj.mapHom N P) g
-- CategoryTheory.SingleObj.differenceFunctor_obj
@[simps]
def differenceFunctor (f : C → G) : C ⥤ SingleObj G 
Arguments: {G : Type u} [Group G] {C : Type v} [CategoryTheory.Category.{w, v} C] (f : C → G)
Goal: ∀ (x : C), (CategoryTheory.SingleObj.differenceFunctor f).obj x = ()
-- CategoryTheory.SingleObj.differenceFunctor_map
@[simps]
def differenceFunctor (f : C → G) : C ⥤ SingleObj G 
Arguments: {G : Type u} [Group G] {C : Type v} [CategoryTheory.Category.{w, v} C] (f : C → G) {x y : C}
Goal: ∀ (x_1 : x ⟶ y), (CategoryTheory.SingleObj.differenceFunctor f).map x_1 = f y * (f x)⁻¹
-- CategoryTheory.SingleObj.functor_obj
@[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 : CategoryTheory.SingleObj M), (CategoryTheory.SingleObj.functor f).obj x = X