ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Polynomial.derivative_eval
theorem derivative_eval (p : R[X]) (x : R) :
    p.derivative.eval x = p.sum fun n a => a * n * x ^ (n - 1) 
Arguments: {R : Type u} [Semiring R] (p : R[X]) (x : R)
Goal: Polynomial.eval x (Polynomial.derivative p) = p.sum fun n a => a * ↑n * x ^ (n - 1)
-- Polynomial.derivative_map
@[simp]
theorem derivative_map [Semiring S] (p : R[X]) (f : R →+* S) :
    derivative (p.map f) = p.derivative.map f 
Arguments: {R : Type u} {S : Type v} [Semiring R] [Semiring S] (p : R[X]) (f : R →+* S)
Goal: Polynomial.derivative (Polynomial.map f p) = Polynomial.map f (Polynomial.derivative p)
-- Polynomial.iterate_derivative_map
@[simp]
theorem iterate_derivative_map [Semiring S] (p : R[X]) (f : R →+* S) (k : ℕ) :
    Polynomial.derivative^[k] (p.map f) = (Polynomial.derivative^[k] p).map f 
Arguments: {R : Type u} {S : Type v} [Semiring R] [Semiring S] (p : R[X]) (f : R →+* S) (k : ℕ)
Goal: (⇑Polynomial.derivative)^[k] (Polynomial.map f p) = Polynomial.map f ((⇑Polynomial.derivative)^[k] p)
-- Polynomial.derivative_natCast_mul
theorem derivative_natCast_mul {n : ℕ} {f : R[X]} :
    derivative ((n : R[X]) * f) = n * derivative f 
Arguments: {R : Type u} [Semiring R] {n : ℕ} {f : R[X]}
Goal: Polynomial.derivative (↑n * f) = ↑n * Polynomial.derivative f
-- Polynomial.iterate_derivative_natCast_mul
@[simp]
theorem iterate_derivative_natCast_mul {n k : ℕ} {f : R[X]} :
    derivative^[k] ((n : R[X]) * f) = n * derivative^[k] f 
Arguments: {R : Type u} [Semiring R] {n k : ℕ} {f : R[X]}
Goal: (⇑Polynomial.derivative)^[k] (↑n * f) = ↑n * (⇑Polynomial.derivative)^[k] f
-- Polynomial.mem_support_derivative
theorem mem_support_derivative [NoZeroSMulDivisors ℕ R] (p : R[X]) (n : ℕ) :
    n ∈ (derivative p).support ↔ n + 1 ∈ p.support 
Arguments: {R : Type u} [Semiring R] [NoZeroSMulDivisors ℕ R] (p : R[X]) (n : ℕ)
Goal: n ∈ (Polynomial.derivative p).support ↔ n + 1 ∈ p.support
-- Polynomial.degree_derivative_eq
@[simp]
theorem degree_derivative_eq [NoZeroSMulDivisors ℕ R] (p : R[X]) (hp : 0 < natDegree p) :
    degree (derivative p) = (natDegree p - 1 : ℕ) 
Arguments: {R : Type u} [Semiring R] [NoZeroSMulDivisors ℕ R] (p : R[X]) (hp : 0 < p.natDegree)
Goal: (Polynomial.derivative p).degree = ↑(p.natDegree - 1)
-- Polynomial.coeff_iterate_derivative
theorem coeff_iterate_derivative {k} (p : R[X]) (m : ℕ) :
    (derivative^[k] p).coeff m = (m + k).descFactorial k • p.coeff (m + k) 
Arguments: {R : Type u} [Semiring R] {k : ℕ} (p : R[X]) (m : ℕ)
Goal: ((⇑Polynomial.derivative)^[k] p).coeff m = (m + k).descFactorial k • p.coeff (m + k)
-- Polynomial.iterate_derivative_mul
theorem iterate_derivative_mul {n} (p q : R[X]) :
    derivative^[n] (p * q) =
      ∑ k ∈ range n.succ, (n.choose k • (derivative^[n - k] p * derivative^[k] q)) 
Arguments: {R : Type u} [Semiring R] {n : ℕ} (p q : R[X])
Goal: (⇑Polynomial.derivative)^[n] (p * q) =
  ∑ k ∈ Finset.range n.succ, n.choose k • ((⇑Polynomial.derivative)^[n - k] p * (⇑Polynomial.derivative)^[k] q)
-- Polynomial.derivative_pow_succ
theorem derivative_pow_succ (p : R[X]) (n : ℕ) :
    derivative (p ^ (n + 1)) = C (n + 1 : R) * p ^ n * derivative p 
Arguments: {R : Type u} [CommSemiring R] (p : R[X]) (n : ℕ)
Goal: Polynomial.derivative (p ^ (n + 1)) = Polynomial.C (↑n + 1) * p ^ n * Polynomial.derivative p
-- Polynomial.derivative_pow
theorem derivative_pow (p : R[X]) (n : ℕ) :
    derivative (p ^ n) = C (n : R) * p ^ (n - 1) * derivative p 
Arguments: {R : Type u} [CommSemiring R] (p : R[X]) (n : ℕ)
Goal: Polynomial.derivative (p ^ n) = Polynomial.C ↑n * p ^ (n - 1) * Polynomial.derivative p
-- Polynomial.derivative_sq
theorem derivative_sq (p : R[X]) : derivative (p ^ 2) = C 2 * p * derivative p 
Arguments: {R : Type u} [CommSemiring R] (p : R[X])
Goal: Polynomial.derivative (p ^ 2) = Polynomial.C 2 * p * Polynomial.derivative p
-- Polynomial.pow_sub_one_dvd_derivative_of_pow_dvd
theorem pow_sub_one_dvd_derivative_of_pow_dvd {p q : R[X]} {n : ℕ}
    (dvd : q ^ n ∣ p) : q ^ (n - 1) ∣ derivative p 
Arguments: {R : Type u} [CommSemiring R] {p q : R[X]} {n : ℕ} (dvd : q ^ n ∣ p)
Goal: q ^ (n - 1) ∣ Polynomial.derivative p
-- Polynomial.pow_sub_dvd_iterate_derivative_of_pow_dvd
theorem pow_sub_dvd_iterate_derivative_of_pow_dvd {p q : R[X]} {n : ℕ} (m : ℕ)
    (dvd : q ^ n ∣ p) : q ^ (n - m) ∣ derivative^[m] p 
Arguments: {R : Type u} [CommSemiring R] {p q : R[X]} {n : ℕ} (m : ℕ) (dvd : q ^ n ∣ p)
Goal: q ^ (n - m) ∣ (⇑Polynomial.derivative)^[m] p
-- Polynomial.pow_sub_dvd_iterate_derivative_pow
theorem pow_sub_dvd_iterate_derivative_pow (p : R[X]) (n m : ℕ) :
    p ^ (n - m) ∣ derivative^[m] (p ^ n) 
Arguments: {R : Type u} [CommSemiring R] (p : R[X]) (n m : ℕ)
Goal: p ^ (n - m) ∣ (⇑Polynomial.derivative)^[m] (p ^ n)
-- Polynomial.dvd_iterate_derivative_pow
theorem dvd_iterate_derivative_pow (f : R[X]) (n : ℕ) {m : ℕ} (c : R) (hm : m ≠ 0) :
    (n : R) ∣ eval c (derivative^[m] (f ^ n)) 
Arguments: {R : Type u} [CommSemiring R] (f : R[X]) (n : ℕ) {m : ℕ} (c : R) (hm : m ≠ 0)
Goal: ↑n ∣ Polynomial.eval c ((⇑Polynomial.derivative)^[m] (f ^ n))
-- Polynomial.iterate_derivative_X_pow_eq_natCast_mul
theorem iterate_derivative_X_pow_eq_natCast_mul (n k : ℕ) :
    derivative^[k] (X ^ n : R[X]) = ↑(Nat.descFactorial n k : R[X]) * X ^ (n - k) 
Arguments: {R : Type u} [CommSemiring R] (n k : ℕ)
Goal: (⇑Polynomial.derivative)^[k] (Polynomial.X ^ n) = ↑(n.descFactorial k) * Polynomial.X ^ (n - k)
-- Polynomial.iterate_derivative_X_pow_eq_C_mul
theorem iterate_derivative_X_pow_eq_C_mul (n k : ℕ) :
    derivative^[k] (X ^ n : R[X]) = C (Nat.descFactorial n k : R) * X ^ (n - k) 
Arguments: {R : Type u} [CommSemiring R] (n k : ℕ)
Goal: (⇑Polynomial.derivative)^[k] (Polynomial.X ^ n) = Polynomial.C ↑(n.descFactorial k) * Polynomial.X ^ (n - k)
-- Polynomial.iterate_derivative_X_pow_eq_smul
theorem iterate_derivative_X_pow_eq_smul (n : ℕ) (k : ℕ) :
    derivative^[k] (X ^ n : R[X]) = (Nat.descFactorial n k : R) • X ^ (n - k) 
Arguments: {R : Type u} [CommSemiring R] (n k : ℕ)
Goal: (⇑Polynomial.derivative)^[k] (Polynomial.X ^ n) = ↑(n.descFactorial k) • Polynomial.X ^ (n - k)
-- Polynomial.derivative_X_add_C_pow
theorem derivative_X_add_C_pow (c : R) (m : ℕ) :
    derivative ((X + C c) ^ m) = C (m : R) * (X + C c) ^ (m - 1) 
Arguments: {R : Type u} [CommSemiring R] (c : R) (m : ℕ)
Goal: Polynomial.derivative ((Polynomial.X + Polynomial.C c) ^ m) =
  Polynomial.C ↑m * (Polynomial.X + Polynomial.C c) ^ (m - 1)
-- Polynomial.derivative_X_add_C_sq
theorem derivative_X_add_C_sq (c : R) : derivative ((X + C c) ^ 2) = C 2 * (X + C c) 
Arguments: {R : Type u} [CommSemiring R] (c : R)
Goal: Polynomial.derivative ((Polynomial.X + Polynomial.C c) ^ 2) = Polynomial.C 2 * (Polynomial.X + Polynomial.C c)
-- Polynomial.iterate_derivative_X_add_pow
theorem iterate_derivative_X_add_pow (n k : ℕ) (c : R) :
    derivative^[k] ((X + C c) ^ n) = Nat.descFactorial n k • (X + C c) ^ (n - k) 
Arguments: {R : Type u} [CommSemiring R] (n k : ℕ) (c : R)
Goal: (⇑Polynomial.derivative)^[k] ((Polynomial.X + Polynomial.C c) ^ n) =
  n.descFactorial k • (Polynomial.X + Polynomial.C c) ^ (n - k)
-- Polynomial.derivative_comp
theorem derivative_comp (p q : R[X]) :
    derivative (p.comp q) = derivative q * p.derivative.comp q 
Arguments: {R : Type u} [CommSemiring R] (p q : R[X])
Goal: Polynomial.derivative (p.comp q) = Polynomial.derivative q * (Polynomial.derivative p).comp q
-- Polynomial.derivative_eval₂_C
theorem derivative_eval₂_C (p q : R[X]) :
    derivative (p.eval₂ C q) = p.derivative.eval₂ C q * derivative q 
Arguments: {R : Type u} [CommSemiring R] (p q : R[X])
Goal: Polynomial.derivative (Polynomial.eval₂ Polynomial.C q p) =
  Polynomial.eval₂ Polynomial.C q (Polynomial.derivative p) * Polynomial.derivative q
-- Polynomial.derivative_prod
theorem derivative_prod [DecidableEq ι] {s : Multiset ι} {f : ι → R[X]} :
    derivative (Multiset.map f s).prod =
      (Multiset.map (fun i => (Multiset.map f (s.erase i)).prod * derivative (f i)) s).sum 
Arguments: {R : Type u} {ι : Type y} [CommSemiring R] [DecidableEq ι] {s : Multiset ι} {f : ι → R[X]}
Goal: Polynomial.derivative (Multiset.map f s).prod =
  (Multiset.map (fun i => (Multiset.map f (s.erase i)).prod * Polynomial.derivative (f i)) s).sum
-- Polynomial.derivative_neg
theorem derivative_neg (f : R[X]) : derivative (-f) = -derivative f 
Arguments: {R : Type u} [Ring R] (f : R[X])
Goal: Polynomial.derivative (-f) = -Polynomial.derivative f
-- Polynomial.iterate_derivative_neg
theorem iterate_derivative_neg {f : R[X]} {k : ℕ} : derivative^[k] (-f) = -derivative^[k] f 
Arguments: {R : Type u} [Ring R] {f : R[X]} {k : ℕ}
Goal: (⇑Polynomial.derivative)^[k] (-f) = -(⇑Polynomial.derivative)^[k] f
-- Polynomial.derivative_sub
theorem derivative_sub {f g : R[X]} : derivative (f - g) = derivative f - derivative g 
Arguments: {R : Type u} [Ring R] {f g : R[X]}
Goal: Polynomial.derivative (f - g) = Polynomial.derivative f - Polynomial.derivative g
-- Polynomial.derivative_X_sub_C
theorem derivative_X_sub_C (c : R) : derivative (X - C c) = 1 
Arguments: {R : Type u} [Ring R] (c : R)
Goal: Polynomial.derivative (Polynomial.X - Polynomial.C c) = 1
-- Polynomial.iterate_derivative_sub
theorem iterate_derivative_sub {k : ℕ} {f g : R[X]} :
    derivative^[k] (f - g) = derivative^[k] f - derivative^[k] g 
Arguments: {R : Type u} [Ring R] {k : ℕ} {f g : R[X]}
Goal: (⇑Polynomial.derivative)^[k] (f - g) = (⇑Polynomial.derivative)^[k] f - (⇑Polynomial.derivative)^[k] g
-- Polynomial.derivative_intCast
@[simp]
theorem derivative_intCast {n : ℤ} : derivative (n : R[X]) = 0 
Arguments: {R : Type u} [Ring R] {n : ℤ}
Goal: Polynomial.derivative ↑n = 0
-- Polynomial.derivative_intCast_mul
theorem derivative_intCast_mul {n : ℤ} {f : R[X]} : derivative ((n : R[X]) * f) =
    n * derivative f 
Arguments: {R : Type u} [Ring R] {n : ℤ} {f : R[X]}
Goal: Polynomial.derivative (↑n * f) = ↑n * Polynomial.derivative f
-- Polynomial.iterate_derivative_intCast_mul
@[simp]
theorem iterate_derivative_intCast_mul {n : ℤ} {k : ℕ} {f : R[X]} :
    derivative^[k] ((n : R[X]) * f) = n * derivative^[k] f 
Arguments: {R : Type u} [Ring R] {n : ℤ} {k : ℕ} {f : R[X]}
Goal: (⇑Polynomial.derivative)^[k] (↑n * f) = ↑n * (⇑Polynomial.derivative)^[k] f
-- Polynomial.derivative_comp_one_sub_X
theorem derivative_comp_one_sub_X (p : R[X]) :
    derivative (p.comp (1 - X)) = -p.derivative.comp (1 - X) 
Arguments: {R : Type u} [CommRing R] (p : R[X])
Goal: Polynomial.derivative (p.comp (1 - Polynomial.X)) = -(Polynomial.derivative p).comp (1 - Polynomial.X)
-- Polynomial.iterate_derivative_comp_one_sub_X
@[simp]
theorem iterate_derivative_comp_one_sub_X (p : R[X]) (k : ℕ) :
    derivative^[k] (p.comp (1 - X)) = (-1) ^ k * (derivative^[k] p).comp (1 - X) 
Arguments: {R : Type u} [CommRing R] (p : R[X]) (k : ℕ)
Goal: (⇑Polynomial.derivative)^[k] (p.comp (1 - Polynomial.X)) =
  (-1) ^ k * ((⇑Polynomial.derivative)^[k] p).comp (1 - Polynomial.X)
-- Polynomial.eval_multiset_prod_X_sub_C_derivative
theorem eval_multiset_prod_X_sub_C_derivative [DecidableEq R]
    {S : Multiset R} {r : R} (hr : r ∈ S) :
    eval r (derivative (Multiset.map (fun a => X - C a) S).prod) =
      (Multiset.map (fun a => r - a) (S.erase r)).prod 
Arguments: {R : Type u} [CommRing R] [DecidableEq R] {S : Multiset R} {r : R} (hr : r ∈ S)
Goal: Polynomial.eval r (Polynomial.derivative (Multiset.map (fun a => Polynomial.X - Polynomial.C a) S).prod) =
  (Multiset.map (fun a => r - a) (S.erase r)).prod
-- Polynomial.derivative_X_sub_C_pow
theorem derivative_X_sub_C_pow (c : R) (m : ℕ) :
    derivative ((X - C c) ^ m) = C (m : R) * (X - C c) ^ (m - 1) 
Arguments: {R : Type u} [CommRing R] (c : R) (m : ℕ)
Goal: Polynomial.derivative ((Polynomial.X - Polynomial.C c) ^ m) =
  Polynomial.C ↑m * (Polynomial.X - Polynomial.C c) ^ (m - 1)
-- Polynomial.derivative_X_sub_C_sq
theorem derivative_X_sub_C_sq (c : R) : derivative ((X - C c) ^ 2) = C 2 * (X - C c) 
Arguments: {R : Type u} [CommRing R] (c : R)
Goal: Polynomial.derivative ((Polynomial.X - Polynomial.C c) ^ 2) = Polynomial.C 2 * (Polynomial.X - Polynomial.C c)
-- Polynomial.iterate_derivative_X_sub_pow
theorem iterate_derivative_X_sub_pow (n k : ℕ) (c : R) :
    derivative^[k] ((X - C c) ^ n) = n.descFactorial k • (X - C c) ^ (n - k) 
Arguments: {R : Type u} [CommRing R] (n k : ℕ) (c : R)
Goal: (⇑Polynomial.derivative)^[k] ((Polynomial.X - Polynomial.C c) ^ n) =
  n.descFactorial k • (Polynomial.X - Polynomial.C c) ^ (n - k)
-- Polynomial.iterate_derivative_X_sub_pow_self
theorem iterate_derivative_X_sub_pow_self (n : ℕ) (c : R) :
    derivative^[n] ((X - C c) ^ n) = n.factorial 
Arguments: {R : Type u} [CommRing R] (n : ℕ) (c : R)
Goal: (⇑Polynomial.derivative)^[n] ((Polynomial.X - Polynomial.C c) ^ n) = ↑n.factorial
-- Algebraic.infinite_of_charZero
theorem infinite_of_charZero (R A : Type*) [CommRing R] [IsDomain R] [Ring A] [Algebra R A]
    [CharZero A] : { x : A | IsAlgebraic R x }.Infinite 
Arguments: (R : Type u_1) (A : Type u_2) [CommRing R] [IsDomain R] [Ring A] [Algebra R A] [CharZero A]
Goal: {x | IsAlgebraic R x}.Infinite
-- Algebraic.aleph0_le_cardinal_mk_of_charZero
theorem aleph0_le_cardinal_mk_of_charZero (R A : Type*) [CommRing R] [IsDomain R] [Ring A]
    [Algebra R A] [CharZero A] : ℵ₀ ≤ #{ x : A // IsAlgebraic R x } 
Arguments: (R : Type u_1) (A : Type u_2) [CommRing R] [IsDomain R] [Ring A] [Algebra R A] [CharZero A]
Goal: ℵ₀ ≤ #{ x // IsAlgebraic R x }
-- Algebraic.cardinal_mk_lift_le_mul
theorem cardinal_mk_lift_le_mul :
    Cardinal.lift.{u} #{ x : A // IsAlgebraic R x } ≤ Cardinal.lift.{v} #R[X] * ℵ₀ 
Arguments: (R : Type u) (A : Type v) [CommRing R] [CommRing A] [IsDomain A] [Algebra R A] [NoZeroSMulDivisors R A]
Goal: Cardinal.lift.{u, v} #{ x // IsAlgebraic R x } ≤ Cardinal.lift.{v, u} #R[X] * ℵ₀
-- Algebraic.cardinal_mk_lift_le_max
theorem cardinal_mk_lift_le_max :
    Cardinal.lift.{u} #{ x : A // IsAlgebraic R x } ≤ max (Cardinal.lift.{v} #R) ℵ₀ 
Arguments: (R : Type u) (A : Type v) [CommRing R] [CommRing A] [IsDomain A] [Algebra R A] [NoZeroSMulDivisors R A]
Goal: Cardinal.lift.{u, v} #{ x // IsAlgebraic R x } ≤ max (Cardinal.lift.{v, u} #R) ℵ₀
-- Algebraic.cardinal_mk_lift_of_infinite
@[simp]
theorem cardinal_mk_lift_of_infinite [Infinite R] :
    Cardinal.lift.{u} #{ x : A // IsAlgebraic R x } = Cardinal.lift.{v} #R 
Arguments: (R : Type u) (A : Type v) [CommRing R] [CommRing A] [IsDomain A] [Algebra R A] [NoZeroSMulDivisors R A] [Infinite R]
Goal: Cardinal.lift.{u, v} #{ x // IsAlgebraic R x } = Cardinal.lift.{v, u} #R
-- Algebraic.countable
@[simp]
protected theorem countable : Set.Countable { x : A | IsAlgebraic R x } 
Arguments: (R : Type u) (A : Type v) [CommRing R] [CommRing A] [IsDomain A] [Algebra R A] [NoZeroSMulDivisors R A] [Countable R]
Goal: {x | IsAlgebraic R x}.Countable
-- Algebraic.cardinal_mk_of_countable_of_charZero
@[simp]
theorem cardinal_mk_of_countable_of_charZero [CharZero A] [IsDomain R] :
    #{ x : A // IsAlgebraic R x } = ℵ₀ 
Arguments: (R : Type u) (A : Type v) [CommRing R] [CommRing A] [IsDomain A] [Algebra R A] [NoZeroSMulDivisors R A] [Countable R] [CharZero A] [IsDomain R]
Goal: #{ x // IsAlgebraic R x } = ℵ₀
-- Algebraic.cardinal_mk_le_mul
theorem cardinal_mk_le_mul : #{ x : A // IsAlgebraic R x } ≤ #R[X] * ℵ₀ 
Arguments: (R A : Type u) [CommRing R] [CommRing A] [IsDomain A] [Algebra R A] [NoZeroSMulDivisors R A]
Goal: #{ x // IsAlgebraic R x } ≤ #R[X] * ℵ₀
-- Algebraic.cardinal_mk_le_max
theorem cardinal_mk_le_max : #{ x : A // IsAlgebraic R x } ≤ max #R ℵ₀ 
Arguments: (R A : Type u) [CommRing R] [CommRing A] [IsDomain A] [Algebra R A] [NoZeroSMulDivisors R A]
Goal: #{ x // IsAlgebraic R x } ≤ max #R ℵ₀
-- Algebraic.cardinal_mk_of_infinite
@[simp]
theorem cardinal_mk_of_infinite [Infinite R] : #{ x : A // IsAlgebraic R x } = #R 
Arguments: (R A : Type u) [CommRing R] [CommRing A] [IsDomain A] [Algebra R A] [NoZeroSMulDivisors R A] [Infinite R]
Goal: #{ x // IsAlgebraic R x } = #R
-- CategoryTheory.HalfBraiding.monoidal
-- @[nolint has_nonempty_instance] -- Porting note(#5171): This linter does not exist yet.
structure HalfBraiding (X : C) where
  β : ∀ U, X ⊗ U ≅ U ⊗ X
  monoidal : ∀ U U', (β (U ⊗ U')).hom =
      (α_ _ _ _).inv ≫
        ((β U).hom ▷ U') ≫ (α_ _ _ _).hom ≫ (U ◁ (β U').hom) ≫ (α_ _ _ _).inv := by
    aesop_cat
  naturality : ∀ {U U'} (f : U ⟶ U'), (X ◁ f) ≫ (β U').hom = (β U).hom ≫ (f ▷ X) := by
    aesop_cat
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {X : C} (self : CategoryTheory.HalfBraiding X) (U U' : C)
Goal: (self.β (U ⊗ U')).hom = (α_ X U U').inv ≫ (self.β U).hom ▷ U' ≫ (α_ U X U').hom ≫ U ◁ (self.β U').hom ≫ (α_ U U' X).inv
-- CategoryTheory.HalfBraiding.naturality
-- @[nolint has_nonempty_instance] -- Porting note(#5171): This linter does not exist yet.
structure HalfBraiding (X : C) where
  β : ∀ U, X ⊗ U ≅ U ⊗ X
  monoidal : ∀ U U', (β (U ⊗ U')).hom =
      (α_ _ _ _).inv ≫
        ((β U).hom ▷ U') ≫ (α_ _ _ _).hom ≫ (U ◁ (β U').hom) ≫ (α_ _ _ _).inv := by
    aesop_cat
  naturality : ∀ {U U'} (f : U ⟶ U'), (X ◁ f) ≫ (β U').hom = (β U).hom ≫ (f ▷ X) := by
    aesop_cat
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {X : C} (self : CategoryTheory.HalfBraiding X) {U U' : C} (f : U ⟶ U')
Goal: X ◁ f ≫ (self.β U').hom = (self.β U).hom ≫ f ▷ X
-- CategoryTheory.Center.Hom.comm
-- Porting note(#5171): linter not ported yet
@[ext] -- @[nolint has_nonempty_instance]
structure Hom (X Y : Center C) where
  f : X.1 ⟶ Y.1
  comm : ∀ U, (f ▷ U) ≫ (Y.2.β U).hom = (X.2.β U).hom ≫ (U ◁ f) := by aesop_cat
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {X Y : CategoryTheory.Center C} (self : X.Hom Y) (U : C)
Goal: self.f ▷ U ≫ (Y.snd.β U).hom = (X.snd.β U).hom ≫ U ◁ self.f
-- CategoryTheory.Center.ext
@[ext]
theorem ext {X Y : Center C} (f g : X ⟶ Y) (w : f.f = g.f) : f = g 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {X Y : CategoryTheory.Center C} (f g : X ⟶ Y) (w : f.f = g.f)
Goal: f = g
-- CategoryTheory.Center.id_f
@[simp]
theorem id_f (X : Center C) : Hom.f (𝟙 X) = 𝟙 X.1 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (X : CategoryTheory.Center C)
Goal: (𝟙 X).f = 𝟙 X.fst
-- CategoryTheory.Center.comp_f
@[simp]
theorem comp_f {X Y Z : Center C} (f : X ⟶ Y) (g : Y ⟶ Z) : (f ≫ g).f = f.f ≫ g.f 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {X Y Z : CategoryTheory.Center C} (f : X ⟶ Y) (g : Y ⟶ Z)
Goal: (f ≫ g).f = f.f ≫ g.f
-- CategoryTheory.Center.isoMk_inv_f
@[simps]
def isoMk {X Y : Center C} (f : X ⟶ Y) [IsIso f.f] : X ≅ Y 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {X Y : CategoryTheory.Center C} (f : X ⟶ Y) [CategoryTheory.IsIso f.f]
Goal: (CategoryTheory.Center.isoMk f).inv.f = CategoryTheory.inv f.f
-- CategoryTheory.Center.isoMk_hom
@[simps]
def isoMk {X Y : Center C} (f : X ⟶ Y) [IsIso f.f] : X ≅ Y 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {X Y : CategoryTheory.Center C} (f : X ⟶ Y) [CategoryTheory.IsIso f.f]
Goal: (CategoryTheory.Center.isoMk f).hom = f
-- CategoryTheory.Center.tensorObj_fst
@[simps]
def tensorObj (X Y : Center C) : Center C 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (X Y : CategoryTheory.Center C)
Goal: (X.tensorObj Y).fst = X.fst ⊗ Y.fst
-- CategoryTheory.Center.tensorObj_snd_β
@[simps]
def tensorObj (X Y : Center C) : Center C 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (X Y : CategoryTheory.Center C) (U : C)
Goal: (X.tensorObj Y).snd.β U =
  α_ X.fst Y.fst U ≪≫
    CategoryTheory.MonoidalCategory.whiskerLeftIso X.fst (Y.snd.β U) ≪≫
      (α_ X.fst U Y.fst).symm ≪≫ CategoryTheory.MonoidalCategory.whiskerRightIso (X.snd.β U) Y.fst ≪≫ α_ U X.fst Y.fst
-- CategoryTheory.Center.whiskerLeft_comm
@[reassoc]
theorem whiskerLeft_comm (X : Center C) {Y₁ Y₂ : Center C} (f : Y₁ ⟶ Y₂) (U : C) :
    (X.1 ◁ f.f) ▷ U ≫ ((tensorObj X Y₂).2.β U).hom =
      ((tensorObj X Y₁).2.β U).hom ≫ U ◁ X.1 ◁ f.f 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (X : CategoryTheory.Center C) {Y₁ Y₂ : CategoryTheory.Center C} (f : Y₁ ⟶ Y₂) (U : C)
Goal: (X.fst ◁ f.f) ▷ U ≫ ((X.tensorObj Y₂).snd.β U).hom = ((X.tensorObj Y₁).snd.β U).hom ≫ U ◁ X.fst ◁ f.f
-- CategoryTheory.Center.whiskerRight_comm
@[reassoc]
theorem whiskerRight_comm {X₁ X₂ : Center C} (f : X₁ ⟶ X₂) (Y : Center C) (U : C) :
    f.f ▷ Y.1 ▷ U ≫ ((tensorObj X₂ Y).2.β U).hom =
      ((tensorObj X₁ Y).2.β U).hom ≫ U ◁ f.f ▷ Y.1 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {X₁ X₂ : CategoryTheory.Center C} (f : X₁ ⟶ X₂) (Y : CategoryTheory.Center C) (U : C)
Goal: f.f ▷ Y.fst ▷ U ≫ ((X₂.tensorObj Y).snd.β U).hom = ((X₁.tensorObj Y).snd.β U).hom ≫ U ◁ f.f ▷ Y.fst
-- CategoryTheory.Center.tensorHom_f
@[simps]
def tensorHom {X₁ Y₁ X₂ Y₂ : Center C} (f : X₁ ⟶ Y₁) (g : X₂ ⟶ Y₂) :
    tensorObj X₁ X₂ ⟶ tensorObj Y₁ Y₂ 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {X₁ Y₁ X₂ Y₂ : CategoryTheory.Center C} (f : X₁ ⟶ Y₁) (g : X₂ ⟶ Y₂)
Goal: (CategoryTheory.Center.tensorHom f g).f = f.f ⊗ g.f
-- CategoryTheory.Center.tensorUnit_snd_β
@[simps]
def tensorUnit : Center C 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (U : C)
Goal: CategoryTheory.Center.tensorUnit.snd.β U = λ_ U ≪≫ (ρ_ U).symm
-- CategoryTheory.Center.tensorUnit_fst
@[simps]
def tensorUnit : Center C 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C]
Goal: CategoryTheory.Center.tensorUnit.fst = 𝟙_ C
-- CategoryTheory.Center.tensor_fst
@[simp]
theorem tensor_fst (X Y : Center C) : (X ⊗ Y).1 = X.1 ⊗ Y.1 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (X Y : CategoryTheory.Center C)
Goal: (X ⊗ Y).fst = X.fst ⊗ Y.fst
-- CategoryTheory.Center.tensor_β
@[simp]
theorem tensor_β (X Y : Center C) (U : C) :
    (X ⊗ Y).2.β U =
      α_ _ _ _ ≪≫
        (whiskerLeftIso X.1 (Y.2.β U)) ≪≫ (α_ _ _ _).symm ≪≫
          (whiskerRightIso (X.2.β U) Y.1) ≪≫ α_ _ _ _ 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (X Y : CategoryTheory.Center C) (U : C)
Goal: (X ⊗ Y).snd.β U =
  α_ X.fst Y.fst U ≪≫
    CategoryTheory.MonoidalCategory.whiskerLeftIso X.fst (Y.snd.β U) ≪≫
      (α_ X.fst U Y.fst).symm ≪≫ CategoryTheory.MonoidalCategory.whiskerRightIso (X.snd.β U) Y.fst ≪≫ α_ U X.fst Y.fst
-- CategoryTheory.Center.whiskerLeft_f
@[simp]
theorem whiskerLeft_f (X : Center C) {Y₁ Y₂ : Center C} (f : Y₁ ⟶ Y₂) : (X ◁ f).f = X.1 ◁ f.f 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (X : CategoryTheory.Center C) {Y₁ Y₂ : CategoryTheory.Center C} (f : Y₁ ⟶ Y₂)
Goal: (X ◁ f).f = X.fst ◁ f.f
-- CategoryTheory.Center.whiskerRight_f
@[simp]
theorem whiskerRight_f {X₁ X₂ : Center C} (f : X₁ ⟶ X₂) (Y : Center C) : (f ▷ Y).f = f.f ▷ Y.1 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {X₁ X₂ : CategoryTheory.Center C} (f : X₁ ⟶ X₂) (Y : CategoryTheory.Center C)
Goal: (f ▷ Y).f = f.f ▷ Y.fst
-- CategoryTheory.Center.tensor_f
@[simp]
theorem tensor_f {X₁ Y₁ X₂ Y₂ : Center C} (f : X₁ ⟶ Y₁) (g : X₂ ⟶ Y₂) : (f ⊗ g).f = f.f ⊗ g.f 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {X₁ Y₁ X₂ Y₂ : CategoryTheory.Center C} (f : X₁ ⟶ Y₁) (g : X₂ ⟶ Y₂)
Goal: (f ⊗ g).f = f.f ⊗ g.f
-- CategoryTheory.Center.tensorUnit_β
@[simp]
theorem tensorUnit_β (U : C) : (𝟙_ (Center C)).2.β U = λ_ U ≪≫ (ρ_ U).symm 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] (U : C)
Goal: (𝟙_ (CategoryTheory.Center C)).snd.β U = λ_ U ≪≫ (ρ_ U).symm