ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.MonoidalOpposite.tensorRightIso_hom_app_unmop
@[simps!]
def MonoidalOpposite.tensorRightIso (X : Cᴹᵒᵖ) :
    tensorRight X ≅ unmopFunctor C ⋙ tensorLeft (unmop X) ⋙ mopFunctor C 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (X : Cᴹᵒᵖ)
Goal: ∀ (X_1 : Cᴹᵒᵖ), (X.tensorRightIso.hom.app X_1).unmop = 𝟙 (CategoryTheory.MonoidalCategory.tensorObj X.unmop X_1.unmop)
-- CategoryTheory.MonoidalOpposite.tensorRightMopIso_inv_app_unmop
@[simps!]
def MonoidalOpposite.tensorRightMopIso (X : C) :
    tensorRight (mop X) ≅ unmopFunctor C ⋙ tensorLeft X ⋙ mopFunctor C 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (X : C)
Goal: ∀ (X_1 : Cᴹᵒᵖ),
  ((CategoryTheory.MonoidalOpposite.tensorRightMopIso X).inv.app X_1).unmop =
    𝟙 (CategoryTheory.MonoidalCategory.tensorObj X X_1.unmop)
-- CategoryTheory.MonoidalOpposite.tensorRightMopIso_hom_app_unmop
@[simps!]
def MonoidalOpposite.tensorRightMopIso (X : C) :
    tensorRight (mop X) ≅ unmopFunctor C ⋙ tensorLeft X ⋙ mopFunctor C 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (X : C)
Goal: ∀ (X_1 : Cᴹᵒᵖ),
  ((CategoryTheory.MonoidalOpposite.tensorRightMopIso X).hom.app X_1).unmop =
    𝟙 (CategoryTheory.MonoidalCategory.tensorObj X X_1.unmop)
-- CategoryTheory.MonoidalOpposite.tensorRightUnmopIso_inv_app
@[simps!]
def MonoidalOpposite.tensorRightUnmopIso (X : Cᴹᵒᵖ) :
    tensorRight (unmop X) ≅ mopFunctor C ⋙ tensorLeft X ⋙ unmopFunctor C 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (X : Cᴹᵒᵖ)
Goal: ∀ (X_1 : C), X.tensorRightUnmopIso.inv.app X_1 = 𝟙 (CategoryTheory.MonoidalCategory.tensorObj X_1 X.unmop)
-- CategoryTheory.MonoidalOpposite.tensorRightUnmopIso_hom_app
@[simps!]
def MonoidalOpposite.tensorRightUnmopIso (X : Cᴹᵒᵖ) :
    tensorRight (unmop X) ≅ mopFunctor C ⋙ tensorLeft X ⋙ unmopFunctor C 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (X : Cᴹᵒᵖ)
Goal: ∀ (X_1 : C), X.tensorRightUnmopIso.hom.app X_1 = 𝟙 (CategoryTheory.MonoidalCategory.tensorObj X_1 X.unmop)
-- CategoryTheory.BraidedCategory.unop_tensor_μ
@[simp] lemma unop_tensor_μ {C : Type*} [Category C] [MonoidalCategory C]
    [BraidedCategory C] (X Y W Z : Cᵒᵖ) :
    (tensor_μ Cᵒᵖ (X, W) (Y, Z)).unop = tensor_μ C (X.unop, Y.unop) (W.unop, Z.unop) 
Arguments: {C : Type u_2} [CategoryTheory.Category.{u_3, u_2} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (X Y W Z : Cᵒᵖ)
Goal: (CategoryTheory.tensor_μ Cᵒᵖ (X, W) (Y, Z)).unop =
  CategoryTheory.tensor_μ C (Opposite.unop X, Opposite.unop Y) (Opposite.unop W, Opposite.unop Z)
-- CategoryTheory.BraidedCategory.op_tensor_μ
@[simp] lemma op_tensor_μ {C : Type*} [Category C] [MonoidalCategory C]
    [BraidedCategory C] (X Y W Z : C) :
    (tensor_μ C (X, W) (Y, Z)).op = tensor_μ Cᵒᵖ (op X, op Y) (op W, op Z) 
Arguments: {C : Type u_2} [CategoryTheory.Category.{u_3, u_2} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.BraidedCategory C] (X Y W Z : C)
Goal: (CategoryTheory.tensor_μ C (X, W) (Y, Z)).op =
  CategoryTheory.tensor_μ Cᵒᵖ (Opposite.op X, Opposite.op Y) (Opposite.op W, Opposite.op Z)
-- CategoryTheory.MonoidalLinear.smul_whiskerRight
class MonoidalLinear [MonoidalPreadditive C] : Prop where
  whiskerLeft_smul : ∀ (X : C) {Y Z : C} (r : R) (f : Y ⟶ Z) , X ◁ (r • f) = r • (X ◁ f) := by
    aesop_cat
  smul_whiskerRight : ∀ (r : R) {Y Z : C} (f : Y ⟶ Z) (X : C), (r • f) ▷ X = r • (f ▷ X) := by
    aesop_cat
Arguments: {R : Type u_1} [Semiring R] {C : Type u_2} [CategoryTheory.Category.{u_3, u_2} C] [CategoryTheory.Preadditive C] [CategoryTheory.Linear R C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.MonoidalPreadditive C] [self : CategoryTheory.MonoidalLinear R C] (r : R) {Y Z : C} (f : Y ⟶ Z) (X : C)
Goal: CategoryTheory.MonoidalCategory.whiskerRight (r • f) X = r • CategoryTheory.MonoidalCategory.whiskerRight f X
-- CategoryTheory.MonoidalLinear.whiskerLeft_smul
class MonoidalLinear [MonoidalPreadditive C] : Prop where
  whiskerLeft_smul : ∀ (X : C) {Y Z : C} (r : R) (f : Y ⟶ Z) , X ◁ (r • f) = r • (X ◁ f) := by
    aesop_cat
  smul_whiskerRight : ∀ (r : R) {Y Z : C} (f : Y ⟶ Z) (X : C), (r • f) ▷ X = r • (f ▷ X) := by
    aesop_cat
Arguments: {R : Type u_1} [Semiring R] {C : Type u_2} [CategoryTheory.Category.{u_3, u_2} C] [CategoryTheory.Preadditive C] [CategoryTheory.Linear R C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.MonoidalPreadditive C] [self : CategoryTheory.MonoidalLinear R C] (X : C) {Y Z : C} (r : R) (f : Y ⟶ Z)
Goal: CategoryTheory.MonoidalCategory.whiskerLeft X (r • f) = r • CategoryTheory.MonoidalCategory.whiskerLeft X f
-- CategoryTheory.monoidalLinearOfFaithful
theorem monoidalLinearOfFaithful {D : Type*} [Category D] [Preadditive D] [Linear R D]
    [MonoidalCategory D] [MonoidalPreadditive D] (F : MonoidalFunctor D C) [F.Faithful]
    [F.toFunctor.Additive] [F.toFunctor.Linear R] : MonoidalLinear R D 
Arguments: (R : Type u_1) [Semiring R] {C : Type u_2} [CategoryTheory.Category.{u_5, u_2} C] [CategoryTheory.Preadditive C] [CategoryTheory.Linear R C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.MonoidalPreadditive C] [CategoryTheory.MonoidalLinear R C] {D : Type u_3} [CategoryTheory.Category.{u_4, u_3} D] [CategoryTheory.Preadditive D] [CategoryTheory.Linear R D] [CategoryTheory.MonoidalCategory D] [CategoryTheory.MonoidalPreadditive D] (F : CategoryTheory.MonoidalFunctor D C) [F.Faithful] [F.Additive] [CategoryTheory.Functor.Linear R F.toFunctor]
Goal: CategoryTheory.MonoidalLinear R D
-- CategoryTheory.MonoidalCategory.MonoidalPredicate.prop_tensor
class MonoidalPredicate : Prop where
  prop_id : P (𝟙_ C) := by aesop_cat
  prop_tensor : ∀ {X Y}, P X → P Y → P (X ⊗ Y) := by aesop_cat
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {P : C → Prop} [self : CategoryTheory.MonoidalCategory.MonoidalPredicate P] {X Y : C}
Goal: P X → P Y → P (CategoryTheory.MonoidalCategory.tensorObj X Y)
-- CategoryTheory.MonoidalCategory.MonoidalPredicate.prop_id
class MonoidalPredicate : Prop where
  prop_id : P (𝟙_ C) := by aesop_cat
  prop_tensor : ∀ {X Y}, P X → P Y → P (X ⊗ Y) := by aesop_cat
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {P : C → Prop} [self : CategoryTheory.MonoidalCategory.MonoidalPredicate P]
Goal: P (𝟙_ C)
-- CategoryTheory.MonoidalCategory.instMonoidalCategoryStructFullSubcategory_rightUnitor_inv
@[simps]
instance : MonoidalCategoryStruct (FullSubcategory P) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (P : C → Prop) [CategoryTheory.MonoidalCategory.MonoidalPredicate P] (X : CategoryTheory.FullSubcategory P)
Goal: (CategoryTheory.MonoidalCategory.rightUnitor X).inv = (CategoryTheory.MonoidalCategory.rightUnitor X.obj).inv
-- CategoryTheory.MonoidalCategory.instMonoidalCategoryStructFullSubcategory_associator_inv
@[simps]
instance : MonoidalCategoryStruct (FullSubcategory P) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (P : C → Prop) [CategoryTheory.MonoidalCategory.MonoidalPredicate P] (X Y Z : CategoryTheory.FullSubcategory P)
Goal: (CategoryTheory.MonoidalCategory.associator X Y Z).inv =
  (CategoryTheory.MonoidalCategory.associator X.obj Y.obj Z.obj).inv
-- CategoryTheory.MonoidalCategory.instMonoidalCategoryStructFullSubcategory_tensorHom
@[simps]
instance : MonoidalCategoryStruct (FullSubcategory P) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (P : C → Prop) [CategoryTheory.MonoidalCategory.MonoidalPredicate P]
Goal: ∀ {X₁ Y₁ X₂ Y₂ : CategoryTheory.FullSubcategory P} (f : X₁ ⟶ Y₁) (g : X₂ ⟶ Y₂),
  CategoryTheory.MonoidalCategory.tensorHom f g = CategoryTheory.MonoidalCategory.tensorHom f g
-- CategoryTheory.MonoidalCategory.instMonoidalCategoryStructFullSubcategory_whiskerRight
@[simps]
instance : MonoidalCategoryStruct (FullSubcategory P) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (P : C → Prop) [CategoryTheory.MonoidalCategory.MonoidalPredicate P] {X₁ X₂ : CategoryTheory.FullSubcategory P} (f : X₁.obj ⟶ X₂.obj) (Y : CategoryTheory.FullSubcategory P)
Goal: CategoryTheory.MonoidalCategory.whiskerRight f Y = CategoryTheory.MonoidalCategory.whiskerRight f Y.obj
-- CategoryTheory.MonoidalCategory.instMonoidalCategoryStructFullSubcategory_rightUnitor_hom
@[simps]
instance : MonoidalCategoryStruct (FullSubcategory P) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (P : C → Prop) [CategoryTheory.MonoidalCategory.MonoidalPredicate P] (X : CategoryTheory.FullSubcategory P)
Goal: (CategoryTheory.MonoidalCategory.rightUnitor X).hom = (CategoryTheory.MonoidalCategory.rightUnitor X.obj).hom
-- CategoryTheory.MonoidalCategory.instMonoidalCategoryStructFullSubcategory_associator_hom
@[simps]
instance : MonoidalCategoryStruct (FullSubcategory P) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (P : C → Prop) [CategoryTheory.MonoidalCategory.MonoidalPredicate P] (X Y Z : CategoryTheory.FullSubcategory P)
Goal: (CategoryTheory.MonoidalCategory.associator X Y Z).hom =
  (CategoryTheory.MonoidalCategory.associator X.obj Y.obj Z.obj).hom
-- CategoryTheory.MonoidalCategory.instMonoidalCategoryStructFullSubcategory_whiskerLeft
@[simps]
instance : MonoidalCategoryStruct (FullSubcategory P) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (P : C → Prop) [CategoryTheory.MonoidalCategory.MonoidalPredicate P] (X : CategoryTheory.FullSubcategory P)
Goal: ∀ (x x_1 : CategoryTheory.FullSubcategory P) (f : x ⟶ x_1),
  CategoryTheory.MonoidalCategory.whiskerLeft X f = CategoryTheory.MonoidalCategory.whiskerLeft X.obj f
-- CategoryTheory.MonoidalCategory.instMonoidalCategoryStructFullSubcategory_tensorObj_obj
@[simps]
instance : MonoidalCategoryStruct (FullSubcategory P) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (P : C → Prop) [CategoryTheory.MonoidalCategory.MonoidalPredicate P] (X Y : CategoryTheory.FullSubcategory P)
Goal: (CategoryTheory.MonoidalCategory.tensorObj X Y).obj = CategoryTheory.MonoidalCategory.tensorObj X.obj Y.obj
-- CategoryTheory.MonoidalCategory.instMonoidalCategoryStructFullSubcategory_tensorUnit_obj
@[simps]
instance : MonoidalCategoryStruct (FullSubcategory P) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (P : C → Prop) [CategoryTheory.MonoidalCategory.MonoidalPredicate P]
Goal: (𝟙_ (CategoryTheory.FullSubcategory P)).obj = 𝟙_ C
-- CategoryTheory.MonoidalCategory.instMonoidalCategoryStructFullSubcategory_leftUnitor_hom
@[simps]
instance : MonoidalCategoryStruct (FullSubcategory P) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (P : C → Prop) [CategoryTheory.MonoidalCategory.MonoidalPredicate P] (X : CategoryTheory.FullSubcategory P)
Goal: (CategoryTheory.MonoidalCategory.leftUnitor X).hom = (CategoryTheory.MonoidalCategory.leftUnitor X.obj).hom
-- CategoryTheory.MonoidalCategory.instMonoidalCategoryStructFullSubcategory_leftUnitor_inv
@[simps]
instance : MonoidalCategoryStruct (FullSubcategory P) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (P : C → Prop) [CategoryTheory.MonoidalCategory.MonoidalPredicate P] (X : CategoryTheory.FullSubcategory P)
Goal: (CategoryTheory.MonoidalCategory.leftUnitor X).inv = (CategoryTheory.MonoidalCategory.leftUnitor X.obj).inv
-- CategoryTheory.MonoidalCategory.fullMonoidalSubcategoryInclusion_toLaxMonoidalFunctor_μ
@[simps]
def fullMonoidalSubcategoryInclusion : MonoidalFunctor (FullSubcategory P) C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (P : C → Prop) [CategoryTheory.MonoidalCategory.MonoidalPredicate P] (X Y : CategoryTheory.FullSubcategory P)
Goal: (CategoryTheory.MonoidalCategory.fullMonoidalSubcategoryInclusion P).μ X Y =
  CategoryTheory.CategoryStruct.id
    (CategoryTheory.MonoidalCategory.tensorObj ((CategoryTheory.fullSubcategoryInclusion P).obj X)
      ((CategoryTheory.fullSubcategoryInclusion P).obj Y))
-- CategoryTheory.MonoidalCategory.fullMonoidalSubcategoryInclusion_toLaxMonoidalFunctor_toFunctor
@[simps]
def fullMonoidalSubcategoryInclusion : MonoidalFunctor (FullSubcategory P) C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (P : C → Prop) [CategoryTheory.MonoidalCategory.MonoidalPredicate P]
Goal: (CategoryTheory.MonoidalCategory.fullMonoidalSubcategoryInclusion P).toFunctor =
  CategoryTheory.fullSubcategoryInclusion P
-- CategoryTheory.MonoidalCategory.fullMonoidalSubcategoryInclusion_toLaxMonoidalFunctor_ε
@[simps]
def fullMonoidalSubcategoryInclusion : MonoidalFunctor (FullSubcategory P) C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (P : C → Prop) [CategoryTheory.MonoidalCategory.MonoidalPredicate P]
Goal: (CategoryTheory.MonoidalCategory.fullMonoidalSubcategoryInclusion P).ε = CategoryTheory.CategoryStruct.id (𝟙_ C)
-- CategoryTheory.MonoidalCategory.fullMonoidalSubcategory.map_toLaxMonoidalFunctor_ε
@[simps]
def fullMonoidalSubcategory.map (h : ∀ ⦃X⦄, P X → P' X) :
    MonoidalFunctor (FullSubcategory P) (FullSubcategory P') 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {P : C → Prop} [CategoryTheory.MonoidalCategory.MonoidalPredicate P] {P' : C → Prop} [CategoryTheory.MonoidalCategory.MonoidalPredicate P'] (h : ∀ ⦃X : C⦄, P X → P' X)
Goal: (CategoryTheory.MonoidalCategory.fullMonoidalSubcategory.map h).ε =
  CategoryTheory.CategoryStruct.id (𝟙_ (CategoryTheory.FullSubcategory P'))
-- CategoryTheory.MonoidalCategory.fullMonoidalSubcategory.map_toLaxMonoidalFunctor_μ
@[simps]
def fullMonoidalSubcategory.map (h : ∀ ⦃X⦄, P X → P' X) :
    MonoidalFunctor (FullSubcategory P) (FullSubcategory P') 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {P : C → Prop} [CategoryTheory.MonoidalCategory.MonoidalPredicate P] {P' : C → Prop} [CategoryTheory.MonoidalCategory.MonoidalPredicate P'] (h : ∀ ⦃X : C⦄, P X → P' X) (X Y : CategoryTheory.FullSubcategory P)
Goal: (CategoryTheory.MonoidalCategory.fullMonoidalSubcategory.map h).μ X Y =
  CategoryTheory.CategoryStruct.id
    (CategoryTheory.MonoidalCategory.tensorObj ((CategoryTheory.FullSubcategory.map h).obj X)
      ((CategoryTheory.FullSubcategory.map h).obj Y))
-- CategoryTheory.MonoidalCategory.fullMonoidalSubcategory.map_toLaxMonoidalFunctor_toFunctor
@[simps]
def fullMonoidalSubcategory.map (h : ∀ ⦃X⦄, P X → P' X) :
    MonoidalFunctor (FullSubcategory P) (FullSubcategory P') 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {P : C → Prop} [CategoryTheory.MonoidalCategory.MonoidalPredicate P] {P' : C → Prop} [CategoryTheory.MonoidalCategory.MonoidalPredicate P'] (h : ∀ ⦃X : C⦄, P X → P' X)
Goal: (CategoryTheory.MonoidalCategory.fullMonoidalSubcategory.map h).toFunctor = CategoryTheory.FullSubcategory.map h
-- CategoryTheory.MonoidalCategory.fullBraidedSubcategoryInclusion_μ
@[simps!]
def fullBraidedSubcategoryInclusion : BraidedFunctor (FullSubcategory P) C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (P : C → Prop) [CategoryTheory.MonoidalCategory.MonoidalPredicate P] [CategoryTheory.BraidedCategory C] (X Y : CategoryTheory.FullSubcategory P)
Goal: (CategoryTheory.MonoidalCategory.fullBraidedSubcategoryInclusion P).μ X Y =
  CategoryTheory.CategoryStruct.id (CategoryTheory.MonoidalCategory.tensorObj X.obj Y.obj)
-- CategoryTheory.MonoidalCategory.fullBraidedSubcategoryInclusion_map
@[simps!]
def fullBraidedSubcategoryInclusion : BraidedFunctor (FullSubcategory P) C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (P : C → Prop) [CategoryTheory.MonoidalCategory.MonoidalPredicate P] [CategoryTheory.BraidedCategory C]
Goal: ∀ {X Y : CategoryTheory.InducedCategory C CategoryTheory.FullSubcategory.obj} (f : X ⟶ Y),
  (CategoryTheory.MonoidalCategory.fullBraidedSubcategoryInclusion P).map f = f
-- CategoryTheory.MonoidalCategory.fullBraidedSubcategoryInclusion_ε
@[simps!]
def fullBraidedSubcategoryInclusion : BraidedFunctor (FullSubcategory P) C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (P : C → Prop) [CategoryTheory.MonoidalCategory.MonoidalPredicate P] [CategoryTheory.BraidedCategory C]
Goal: (CategoryTheory.MonoidalCategory.fullBraidedSubcategoryInclusion P).ε = CategoryTheory.CategoryStruct.id (𝟙_ C)
-- CategoryTheory.MonoidalCategory.fullBraidedSubcategoryInclusion_obj
@[simps!]
def fullBraidedSubcategoryInclusion : BraidedFunctor (FullSubcategory P) C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (P : C → Prop) [CategoryTheory.MonoidalCategory.MonoidalPredicate P] [CategoryTheory.BraidedCategory C] (self : CategoryTheory.FullSubcategory P)
Goal: (CategoryTheory.MonoidalCategory.fullBraidedSubcategoryInclusion P).obj self = self.obj
-- CategoryTheory.MonoidalCategory.fullBraidedSubcategory.map_map
@[simps!]
def fullBraidedSubcategory.map (h : ∀ ⦃X⦄, P X → P' X) :
    BraidedFunctor (FullSubcategory P) (FullSubcategory P') 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {P : C → Prop} [CategoryTheory.MonoidalCategory.MonoidalPredicate P] {P' : C → Prop} [CategoryTheory.MonoidalCategory.MonoidalPredicate P'] [CategoryTheory.BraidedCategory C] (h : ∀ ⦃X : C⦄, P X → P' X)
Goal: ∀ {X Y : CategoryTheory.FullSubcategory P} (f : X ⟶ Y),
  (CategoryTheory.MonoidalCategory.fullBraidedSubcategory.map h).map f = f
-- CategoryTheory.MonoidalCategory.fullBraidedSubcategory.map_obj_obj
@[simps!]
def fullBraidedSubcategory.map (h : ∀ ⦃X⦄, P X → P' X) :
    BraidedFunctor (FullSubcategory P) (FullSubcategory P') 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {P : C → Prop} [CategoryTheory.MonoidalCategory.MonoidalPredicate P] {P' : C → Prop} [CategoryTheory.MonoidalCategory.MonoidalPredicate P'] [CategoryTheory.BraidedCategory C] (h : ∀ ⦃X : C⦄, P X → P' X) (X : CategoryTheory.FullSubcategory P)
Goal: ((CategoryTheory.MonoidalCategory.fullBraidedSubcategory.map h).obj X).obj = X.obj
-- CategoryTheory.MonoidalCategory.fullBraidedSubcategory.map_μ
@[simps!]
def fullBraidedSubcategory.map (h : ∀ ⦃X⦄, P X → P' X) :
    BraidedFunctor (FullSubcategory P) (FullSubcategory P') 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {P : C → Prop} [CategoryTheory.MonoidalCategory.MonoidalPredicate P] {P' : C → Prop} [CategoryTheory.MonoidalCategory.MonoidalPredicate P'] [CategoryTheory.BraidedCategory C] (h : ∀ ⦃X : C⦄, P X → P' X) (X Y : CategoryTheory.FullSubcategory P)
Goal: (CategoryTheory.MonoidalCategory.fullBraidedSubcategory.map h).μ X Y =
  CategoryTheory.CategoryStruct.id
    (CategoryTheory.MonoidalCategory.tensorObj ((CategoryTheory.FullSubcategory.map h).obj X)
      ((CategoryTheory.FullSubcategory.map h).obj Y))
-- CategoryTheory.MonoidalCategory.fullBraidedSubcategory.map_ε
@[simps!]
def fullBraidedSubcategory.map (h : ∀ ⦃X⦄, P X → P' X) :
    BraidedFunctor (FullSubcategory P) (FullSubcategory P') 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {P : C → Prop} [CategoryTheory.MonoidalCategory.MonoidalPredicate P] {P' : C → Prop} [CategoryTheory.MonoidalCategory.MonoidalPredicate P'] [CategoryTheory.BraidedCategory C] (h : ∀ ⦃X : C⦄, P X → P' X)
Goal: (CategoryTheory.MonoidalCategory.fullBraidedSubcategory.map h).ε =
  CategoryTheory.CategoryStruct.id (𝟙_ (CategoryTheory.FullSubcategory P'))
-- CategoryTheory.MonoidalCategory.ClosedPredicate.prop_ihom
class ClosedPredicate : Prop where
  prop_ihom : ∀ {X Y}, P X → P Y → P ((ihom X).obj Y) := by aesop_cat
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {P : C → Prop} [CategoryTheory.MonoidalClosed C] [self : CategoryTheory.MonoidalCategory.ClosedPredicate P] {X Y : C}
Goal: P X → P Y → P ((CategoryTheory.ihom X).obj Y)
-- CategoryTheory.MonoidalCategory.fullMonoidalClosedSubcategory_ihom_obj
@[simp]
theorem fullMonoidalClosedSubcategory_ihom_obj (X Y : FullSubcategory P) :
    ((ihom X).obj Y).obj = (ihom X.obj).obj Y.obj 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (P : C → Prop) [CategoryTheory.MonoidalCategory.MonoidalPredicate P] [CategoryTheory.MonoidalClosed C] [CategoryTheory.MonoidalCategory.ClosedPredicate P] (X Y : CategoryTheory.FullSubcategory P)
Goal: ((CategoryTheory.ihom X).obj Y).obj = (CategoryTheory.ihom X.obj).obj Y.obj
-- CategoryTheory.MonoidalCategory.fullMonoidalClosedSubcategory_ihom_map
@[simp]
theorem fullMonoidalClosedSubcategory_ihom_map (X : FullSubcategory P) {Y Z : FullSubcategory P}
    (f : Y ⟶ Z) : (ihom X).map f = (ihom X.obj).map f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] (P : C → Prop) [CategoryTheory.MonoidalCategory.MonoidalPredicate P] [CategoryTheory.MonoidalClosed C] [CategoryTheory.MonoidalCategory.ClosedPredicate P] (X : CategoryTheory.FullSubcategory P) {Y Z : CategoryTheory.FullSubcategory P} (f : Y ⟶ Z)
Goal: (CategoryTheory.ihom X).map f = (CategoryTheory.ihom X.obj).map f
-- CategoryTheory.GradedObject.Monoidal.tensorObj_ext
@[ext]
lemma tensorObj_ext {A : C} {j : I} (f g : tensorObj X₁ X₂ j ⟶ A)
    (h : ∀ (i₁ i₂ : I) (hi : i₁ + i₂ = j),
      ιTensorObj X₁ X₂ i₁ i₂ j hi ≫ f = ιTensorObj X₁ X₂ i₁ i₂ j hi ≫ g) : f = g 
Arguments: {I : Type u} [AddMonoid I] {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.MonoidalCategory C] {X₁ X₂ : CategoryTheory.GradedObject I C} [X₁.HasTensor X₂] {A : C} {j : I} (f g : CategoryTheory.GradedObject.Monoidal.tensorObj X₁ X₂ j ⟶ A) (h :
  ∀ (i₁ i₂ : I) (hi : i₁ + i₂ = j),
    CategoryTheory.CategoryStruct.comp (CategoryTheory.GradedObject.Monoidal.ιTensorObj X₁ X₂ i₁ i₂ j hi) f =
      CategoryTheory.CategoryStruct.comp (CategoryTheory.GradedObject.Monoidal.ιTensorObj X₁ X₂ i₁ i₂ j hi) g)
Goal: f = g
-- CategoryTheory.GradedObject.Monoidal.ι_tensorObjDesc
@[reassoc (attr := simp)]
lemma ι_tensorObjDesc {A : C} {k : I}
    (f : ∀ (i₁ i₂ : I) (_ : i₁ + i₂ = k), X₁ i₁ ⊗ X₂ i₂ ⟶ A) (i₁ i₂ : I) (hi : i₁ + i₂ = k) :
    ιTensorObj X₁ X₂ i₁ i₂ k hi ≫ tensorObjDesc f = f i₁ i₂ hi 
Arguments: {I : Type u} [AddMonoid I] {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.MonoidalCategory C] {X₁ X₂ : CategoryTheory.GradedObject I C} [X₁.HasTensor X₂] {A : C} {k : I} (f : (i₁ i₂ : I) → i₁ + i₂ = k → (CategoryTheory.MonoidalCategory.tensorObj (X₁ i₁) (X₂ i₂) ⟶ A)) (i₁ i₂ : I) (hi : i₁ + i₂ = k)
Goal: CategoryTheory.CategoryStruct.comp (CategoryTheory.GradedObject.Monoidal.ιTensorObj X₁ X₂ i₁ i₂ k hi)
    (CategoryTheory.GradedObject.Monoidal.tensorObjDesc f) =
  f i₁ i₂ hi
-- CategoryTheory.GradedObject.Monoidal.ι_tensorHom
@[reassoc (attr := simp)]
lemma ι_tensorHom {X₁ X₂ Y₁ Y₂ : GradedObject I C} (f : X₁ ⟶ X₂) (g : Y₁ ⟶ Y₂)
    [HasTensor X₁ Y₁] [HasTensor X₂ Y₂] (i₁ i₂ i₁₂ : I) (h : i₁ + i₂ = i₁₂) :
    ιTensorObj X₁ Y₁ i₁ i₂ i₁₂ h ≫ tensorHom f g i₁₂ =
      (f i₁ ⊗ g i₂) ≫ ιTensorObj X₂ Y₂ i₁ i₂ i₁₂ h 
Arguments: {I : Type u} [AddMonoid I] {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.MonoidalCategory C] {X₁ X₂ Y₁ Y₂ : CategoryTheory.GradedObject I C} (f : X₁ ⟶ X₂) (g : Y₁ ⟶ Y₂) [X₁.HasTensor Y₁] [X₂.HasTensor Y₂] (i₁ i₂ i₁₂ : I) (h : i₁ + i₂ = i₁₂)
Goal: CategoryTheory.CategoryStruct.comp (CategoryTheory.GradedObject.Monoidal.ιTensorObj X₁ Y₁ i₁ i₂ i₁₂ h)
    (CategoryTheory.GradedObject.Monoidal.tensorHom f g i₁₂) =
  CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategory.tensorHom (f i₁) (g i₂))
    (CategoryTheory.GradedObject.Monoidal.ιTensorObj X₂ Y₂ i₁ i₂ i₁₂ h)