ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- PiTensorProduct.singleAlgHom_apply
@[simps]
def singleAlgHom [DecidableEq ι] (i : ι) : A i →ₐ[R] ⨂[R] i, A i 
Arguments: {ι : Type u_1} {R : Type u_3} {A : ι → Type u_4} [CommSemiring R] [(i : ι) → Semiring (A i)] [(i : ι) → Algebra R (A i)] [DecidableEq ι] (i : ι) (a : A i)
Goal: (PiTensorProduct.singleAlgHom i) a = (PiTensorProduct.tprod R) ((MonoidHom.mulSingle A i) a)
-- PiTensorProduct.liftAlgHom_apply
@[simps!]
def liftAlgHom {S : Type*} [Semiring S] [Algebra R S]
    (f : MultilinearMap R A S)
    (one : f 1 = 1) (mul : ∀ x y, f (x * y) = f x * f y) : (⨂[R] i, A i) →ₐ[R] S 
Arguments: {ι : Type u_1} {R : Type u_3} {A : ι → Type u_4} [CommSemiring R] [(i : ι) → Semiring (A i)] [(i : ι) → Algebra R (A i)] {S : Type u_5} [Semiring S] [Algebra R S] (f : MultilinearMap R A S) (one : f 1 = 1) (mul : ∀ (x y : (i : ι) → A i), f (x * y) = f x * f y) (a : ⨂[R] (i : ι), A i)
Goal: (PiTensorProduct.liftAlgHom f one mul) a = (PiTensorProduct.lift f) a
-- PiTensorProduct.tprod_noncommProd
@[simp] lemma tprod_noncommProd {κ : Type*} (s : Finset κ) (x : κ → Π i, A i) (hx) :
    tprod R (s.noncommProd x hx) = s.noncommProd (fun k => tprod R (x k))
      (hx.imp fun _ _ => Commute.tprod) 
Arguments: {ι : Type u_1} {R : Type u_3} {A : ι → Type u_4} [CommSemiring R] [(i : ι) → Semiring (A i)] [(i : ι) → Algebra R (A i)] {κ : Type u_5} (s : Finset κ) (x : κ → (i : ι) → A i) (hx : (↑s).Pairwise fun a b => Commute (x a) (x b))
Goal: (PiTensorProduct.tprod R) (s.noncommProd x hx) = s.noncommProd (fun k => (PiTensorProduct.tprod R) (x k)) ⋯
-- PiTensorProduct.algHom_ext
@[ext high]
theorem algHom_ext {S : Type*} [Finite ι] [DecidableEq ι] [Semiring S] [Algebra R S]
    ⦃f g : (⨂[R] i, A i) →ₐ[R] S⦄ (h : ∀ i, f.comp (singleAlgHom i) = g.comp (singleAlgHom i)) :
    f = g 
Arguments: {ι : Type u_1} {R : Type u_3} {A : ι → Type u_4} [CommSemiring R] [(i : ι) → Semiring (A i)] [(i : ι) → Algebra R (A i)] {S : Type u_5} [Finite ι] [DecidableEq ι] [Semiring S] [Algebra R S] ⦃f g : (⨂[R] (i : ι), A i) →ₐ[R] S⦄ (h : ∀ (i : ι), f.comp (PiTensorProduct.singleAlgHom i) = g.comp (PiTensorProduct.singleAlgHom i))
Goal: f = g
-- PiTensorProduct.mul_comm
protected lemma mul_comm (x y : ⨂[R] i, A i) : mul x y = mul y x 
Arguments: {ι : Type u_1} {R : Type u_3} {A : ι → Type u_4} [CommSemiring R] [(i : ι) → CommSemiring (A i)] [(i : ι) → Algebra R (A i)] (x y : ⨂[R] (i : ι), A i)
Goal: (PiTensorProduct.mul x) y = (PiTensorProduct.mul y) x
-- PiTensorProduct.tprod_prod
@[simp] lemma tprod_prod {κ : Type*} (s : Finset κ) (x : κ → Π i, A i) :
    tprod R (∏ k ∈ s, x k) = ∏ k ∈ s, tprod R (x k) 
Arguments: {ι : Type u_1} {R : Type u_3} {A : ι → Type u_4} [CommSemiring R] [(i : ι) → CommSemiring (A i)] [(i : ι) → Algebra R (A i)] {κ : Type u_5} (s : Finset κ) (x : κ → (i : ι) → A i)
Goal: (PiTensorProduct.tprod R) (∏ k ∈ s, x k) = ∏ k ∈ s, (PiTensorProduct.tprod R) (x k)
-- PiTensorProduct.constantBaseRingEquiv_tprod
@[simp]
theorem constantBaseRingEquiv_tprod (x : ι → R) :
    constantBaseRingEquiv ι R (tprod R x) = ∏ i, x i 
Arguments: {ι : Type u_1} {R : Type u_3} [CommSemiring R] [Fintype ι] (x : ι → R)
Goal: (PiTensorProduct.constantBaseRingEquiv ι R) ((PiTensorProduct.tprod R) x) = ∏ i : ι, x i
-- PiTensorProduct.constantBaseRingEquiv_symm
@[simp]
theorem constantBaseRingEquiv_symm (r : R) :
    (constantBaseRingEquiv ι R).symm r = algebraMap _ _ r 
Arguments: {ι : Type u_1} {R : Type u_3} [CommSemiring R] [Fintype ι] (r : R)
Goal: (PiTensorProduct.constantBaseRingEquiv ι R).symm r = (algebraMap R (⨂[R] (x : ι), R)) r
-- IsPrimitiveRoot.prod_one_sub_pow_eq_order
lemma prod_one_sub_pow_eq_order {n : ℕ} {μ : R} (hμ : IsPrimitiveRoot μ (n + 1)) :
    ∏ k ∈ range n, (1 - μ ^ (k + 1)) = n + 1 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] {n : ℕ} {μ : R} (hμ : IsPrimitiveRoot μ (n + 1))
Goal: ∏ k ∈ Finset.range n, (1 - μ ^ (k + 1)) = ↑n + 1
-- IsPrimitiveRoot.prod_pow_sub_one_eq_order
lemma prod_pow_sub_one_eq_order {n : ℕ} {μ : R} (hμ : IsPrimitiveRoot μ (n + 1)) :
    (-1) ^ n * ∏ k ∈ range n, (μ ^ (k + 1) - 1) = n + 1 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] {n : ℕ} {μ : R} (hμ : IsPrimitiveRoot μ (n + 1))
Goal: (-1) ^ n * ∏ k ∈ Finset.range n, (μ ^ (k + 1) - 1) = ↑n + 1
-- IsPrimitiveRoot.self_sub_one_pow_dvd_order
lemma self_sub_one_pow_dvd_order {k n : ℕ} (hn : k < n) {μ : R} (hμ : IsPrimitiveRoot μ n) :
    ∃ z ∈ adjoin ℤ {μ}, n = z * (μ - 1) ^ k 
Arguments: {R : Type u_1} [CommRing R] [IsDomain R] {k n : ℕ} (hn : k < n) {μ : R} (hμ : IsPrimitiveRoot μ n)
Goal: ∃ z ∈ Algebra.adjoin ℤ {μ}, ↑n = z * (μ - 1) ^ k
-- MvPolynomial.weightedTotalDegree'_eq_bot_iff
theorem weightedTotalDegree'_eq_bot_iff (w : σ → M) (p : MvPolynomial σ R) :
    weightedTotalDegree' w p = ⊥ ↔ p = 0 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] [SemilatticeSup M] (w : σ → M) (p : MvPolynomial σ R)
Goal: MvPolynomial.weightedTotalDegree' w p = ⊥ ↔ p = 0
-- MvPolynomial.weightedTotalDegree'_zero
theorem weightedTotalDegree'_zero (w : σ → M) :
    weightedTotalDegree' w (0 : MvPolynomial σ R) = ⊥ 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] [SemilatticeSup M] (w : σ → M)
Goal: MvPolynomial.weightedTotalDegree' w 0 = ⊥
-- MvPolynomial.weightedTotalDegree_coe
theorem weightedTotalDegree_coe (w : σ → M) (p : MvPolynomial σ R) (hp : p ≠ 0) :
    weightedTotalDegree' w p = ↑(weightedTotalDegree w p) 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] [SemilatticeSup M] [OrderBot M] (w : σ → M) (p : MvPolynomial σ R) (hp : p ≠ 0)
Goal: MvPolynomial.weightedTotalDegree' w p = ↑(MvPolynomial.weightedTotalDegree w p)
-- MvPolynomial.weightedTotalDegree_zero
theorem weightedTotalDegree_zero (w : σ → M) :
    weightedTotalDegree w (0 : MvPolynomial σ R) = ⊥ 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] [SemilatticeSup M] [OrderBot M] (w : σ → M)
Goal: MvPolynomial.weightedTotalDegree w 0 = ⊥
-- MvPolynomial.le_weightedTotalDegree
theorem le_weightedTotalDegree (w : σ → M) {φ : MvPolynomial σ R} {d : σ →₀ ℕ}
    (hd : d ∈ φ.support) : weight w d ≤ φ.weightedTotalDegree w 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] [SemilatticeSup M] [OrderBot M] (w : σ → M) {φ : MvPolynomial σ R} {d : σ →₀ ℕ} (hd : d ∈ φ.support)
Goal: (Finsupp.weight w) d ≤ MvPolynomial.weightedTotalDegree w φ
-- MvPolynomial.mem_weightedHomogeneousSubmodule
@[simp]
theorem mem_weightedHomogeneousSubmodule (w : σ → M) (m : M) (p : MvPolynomial σ R) :
    p ∈ weightedHomogeneousSubmodule R w m ↔ p.IsWeightedHomogeneous w m 
Arguments: (R : Type u_1) {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] (w : σ → M) (m : M) (p : MvPolynomial σ R)
Goal: p ∈ MvPolynomial.weightedHomogeneousSubmodule R w m ↔ MvPolynomial.IsWeightedHomogeneous w p m
-- MvPolynomial.weightedHomogeneousSubmodule_eq_finsupp_supported
theorem weightedHomogeneousSubmodule_eq_finsupp_supported (w : σ → M) (m : M) :
    weightedHomogeneousSubmodule R w m = Finsupp.supported R R { d | weight w d = m } 
Arguments: (R : Type u_1) {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] (w : σ → M) (m : M)
Goal: MvPolynomial.weightedHomogeneousSubmodule R w m = Finsupp.supported R R {d | (Finsupp.weight w) d = m}
-- MvPolynomial.weightedHomogeneousSubmodule_mul
theorem weightedHomogeneousSubmodule_mul (w : σ → M) (m n : M) :
    weightedHomogeneousSubmodule R w m * weightedHomogeneousSubmodule R w n ≤
      weightedHomogeneousSubmodule R w (m + n) 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] (w : σ → M) (m n : M)
Goal: MvPolynomial.weightedHomogeneousSubmodule R w m * MvPolynomial.weightedHomogeneousSubmodule R w n ≤
  MvPolynomial.weightedHomogeneousSubmodule R w (m + n)
-- MvPolynomial.isWeightedHomogeneous_monomial
theorem isWeightedHomogeneous_monomial (w : σ → M) (d : σ →₀ ℕ) (r : R) {m : M}
    (hm : weight w d = m) : IsWeightedHomogeneous w (monomial d r) m 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] (w : σ → M) (d : σ →₀ ℕ) (r : R) {m : M} (hm : (Finsupp.weight w) d = m)
Goal: MvPolynomial.IsWeightedHomogeneous w ((MvPolynomial.monomial d) r) m
-- MvPolynomial.isWeightedHomogeneous_of_total_degree_zero
theorem isWeightedHomogeneous_of_total_degree_zero [SemilatticeSup M] [OrderBot M] (w : σ → M)
    {p : MvPolynomial σ R} (hp : weightedTotalDegree w p = (⊥ : M)) :
    IsWeightedHomogeneous w p (⊥ : M) 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] [SemilatticeSup M] [OrderBot M] (w : σ → M) {p : MvPolynomial σ R} (hp : MvPolynomial.weightedTotalDegree w p = ⊥)
Goal: MvPolynomial.IsWeightedHomogeneous w p ⊥
-- MvPolynomial.isWeightedHomogeneous_C
theorem isWeightedHomogeneous_C (w : σ → M) (r : R) :
    IsWeightedHomogeneous w (C r : MvPolynomial σ R) 0 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] (w : σ → M) (r : R)
Goal: MvPolynomial.IsWeightedHomogeneous w (MvPolynomial.C r) 0
-- MvPolynomial.isWeightedHomogeneous_zero
theorem isWeightedHomogeneous_zero (w : σ → M) (m : M) :
    IsWeightedHomogeneous w (0 : MvPolynomial σ R) m 
Arguments: (R : Type u_1) {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] (w : σ → M) (m : M)
Goal: MvPolynomial.IsWeightedHomogeneous w 0 m
-- MvPolynomial.isWeightedHomogeneous_one
theorem isWeightedHomogeneous_one (w : σ → M) : IsWeightedHomogeneous w (1 : MvPolynomial σ R) 0 
Arguments: (R : Type u_1) {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] (w : σ → M)
Goal: MvPolynomial.IsWeightedHomogeneous w 1 0
-- MvPolynomial.isWeightedHomogeneous_X
theorem isWeightedHomogeneous_X (w : σ → M) (i : σ) :
    IsWeightedHomogeneous w (X i : MvPolynomial σ R) (w i) 
Arguments: (R : Type u_1) {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] (w : σ → M) (i : σ)
Goal: MvPolynomial.IsWeightedHomogeneous w (MvPolynomial.X i) (w i)
-- MvPolynomial.IsWeightedHomogeneous.coeff_eq_zero
theorem coeff_eq_zero {w : σ → M} (hφ : IsWeightedHomogeneous w φ n) (d : σ →₀ ℕ)
    (hd : weight w d ≠ n) : coeff d φ = 0 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] {φ : MvPolynomial σ R} {n : M} {w : σ → M} (hφ : MvPolynomial.IsWeightedHomogeneous w φ n) (d : σ →₀ ℕ) (hd : (Finsupp.weight w) d ≠ n)
Goal: MvPolynomial.coeff d φ = 0
-- MvPolynomial.IsWeightedHomogeneous.inj_right
theorem inj_right {w : σ → M} (hφ : φ ≠ 0) (hm : IsWeightedHomogeneous w φ m)
    (hn : IsWeightedHomogeneous w φ n) : m = n 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] {φ : MvPolynomial σ R} {m n : M} {w : σ → M} (hφ : φ ≠ 0) (hm : MvPolynomial.IsWeightedHomogeneous w φ m) (hn : MvPolynomial.IsWeightedHomogeneous w φ n)
Goal: m = n
-- MvPolynomial.IsWeightedHomogeneous.add
theorem add {w : σ → M} (hφ : IsWeightedHomogeneous w φ n) (hψ : IsWeightedHomogeneous w ψ n) :
    IsWeightedHomogeneous w (φ + ψ) n 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] {φ ψ : MvPolynomial σ R} {n : M} {w : σ → M} (hφ : MvPolynomial.IsWeightedHomogeneous w φ n) (hψ : MvPolynomial.IsWeightedHomogeneous w ψ n)
Goal: MvPolynomial.IsWeightedHomogeneous w (φ + ψ) n
-- MvPolynomial.IsWeightedHomogeneous.sum
theorem sum {ι : Type*} (s : Finset ι) (φ : ι → MvPolynomial σ R) (n : M) {w : σ → M}
    (h : ∀ i ∈ s, IsWeightedHomogeneous w (φ i) n) : IsWeightedHomogeneous w (∑ i ∈ s, φ i) n 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] {ι : Type u_4} (s : Finset ι) (φ : ι → MvPolynomial σ R) (n : M) {w : σ → M} (h : ∀ i ∈ s, MvPolynomial.IsWeightedHomogeneous w (φ i) n)
Goal: MvPolynomial.IsWeightedHomogeneous w (∑ i ∈ s, φ i) n
-- MvPolynomial.IsWeightedHomogeneous.mul
theorem mul {w : σ → M} (hφ : IsWeightedHomogeneous w φ m) (hψ : IsWeightedHomogeneous w ψ n) :
    IsWeightedHomogeneous w (φ * ψ) (m + n) 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] {φ ψ : MvPolynomial σ R} {m n : M} {w : σ → M} (hφ : MvPolynomial.IsWeightedHomogeneous w φ m) (hψ : MvPolynomial.IsWeightedHomogeneous w ψ n)
Goal: MvPolynomial.IsWeightedHomogeneous w (φ * ψ) (m + n)
-- MvPolynomial.IsWeightedHomogeneous.prod
theorem prod {ι : Type*} (s : Finset ι) (φ : ι → MvPolynomial σ R) (n : ι → M) {w : σ → M} :
    (∀ i ∈ s, IsWeightedHomogeneous w (φ i) (n i)) →
      IsWeightedHomogeneous w (∏ i ∈ s, φ i) (∑ i ∈ s, n i) 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] {ι : Type u_4} (s : Finset ι) (φ : ι → MvPolynomial σ R) (n : ι → M) {w : σ → M}
Goal: (∀ i ∈ s, MvPolynomial.IsWeightedHomogeneous w (φ i) (n i)) →
  MvPolynomial.IsWeightedHomogeneous w (∏ i ∈ s, φ i) (∑ i ∈ s, n i)
-- MvPolynomial.IsWeightedHomogeneous.weighted_total_degree
theorem weighted_total_degree [SemilatticeSup M] {w : σ → M} (hφ : IsWeightedHomogeneous w φ n)
    (h : φ ≠ 0) : weightedTotalDegree' w φ = n 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] {φ : MvPolynomial σ R} {n : M} [SemilatticeSup M] {w : σ → M} (hφ : MvPolynomial.IsWeightedHomogeneous w φ n) (h : φ ≠ 0)
Goal: MvPolynomial.weightedTotalDegree' w φ = ↑n
-- MvPolynomial.WeightedHomogeneousSubmodule.gradedMonoid
lemma WeightedHomogeneousSubmodule.gradedMonoid {w : σ → M} :
    SetLike.GradedMonoid (weightedHomogeneousSubmodule R w) 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] {w : σ → M}
Goal: SetLike.GradedMonoid (MvPolynomial.weightedHomogeneousSubmodule R w)
-- MvPolynomial.coeff_weightedHomogeneousComponent
theorem coeff_weightedHomogeneousComponent [DecidableEq M] (d : σ →₀ ℕ) :
    coeff d (weightedHomogeneousComponent w n φ) =
      if weight w d = n then coeff d φ else 0 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] {w : σ → M} (n : M) (φ : MvPolynomial σ R) [DecidableEq M] (d : σ →₀ ℕ)
Goal: MvPolynomial.coeff d ((MvPolynomial.weightedHomogeneousComponent w n) φ) =
  if (Finsupp.weight w) d = n then MvPolynomial.coeff d φ else 0
-- MvPolynomial.weightedHomogeneousComponent_apply
theorem weightedHomogeneousComponent_apply [DecidableEq M] :
    weightedHomogeneousComponent w n φ =
      ∑ d ∈ φ.support.filter fun d => weight w d = n, monomial d (coeff d φ) 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] {w : σ → M} (n : M) (φ : MvPolynomial σ R) [DecidableEq M]
Goal: (MvPolynomial.weightedHomogeneousComponent w n) φ =
  ∑ d ∈ Finset.filter (fun d => (Finsupp.weight w) d = n) φ.support, (MvPolynomial.monomial d) (MvPolynomial.coeff d φ)
-- MvPolynomial.weightedHomogeneousComponent_isWeightedHomogeneous
theorem weightedHomogeneousComponent_isWeightedHomogeneous :
    (weightedHomogeneousComponent w n φ).IsWeightedHomogeneous w n 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] {w : σ → M} (n : M) (φ : MvPolynomial σ R)
Goal: MvPolynomial.IsWeightedHomogeneous w ((MvPolynomial.weightedHomogeneousComponent w n) φ) n
-- MvPolynomial.weightedHomogeneousComponent_mem
theorem weightedHomogeneousComponent_mem (w : σ → M) (φ : MvPolynomial σ R) (m : M) :
    weightedHomogeneousComponent w m φ ∈ weightedHomogeneousSubmodule R w m 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] (w : σ → M) (φ : MvPolynomial σ R) (m : M)
Goal: (MvPolynomial.weightedHomogeneousComponent w m) φ ∈ MvPolynomial.weightedHomogeneousSubmodule R w m
-- MvPolynomial.weightedHomogeneousComponent_C_mul
@[simp]
theorem weightedHomogeneousComponent_C_mul (n : M) (r : R) :
    weightedHomogeneousComponent w n (C r * φ) = C r * weightedHomogeneousComponent w n φ 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] {w : σ → M} (φ : MvPolynomial σ R) (n : M) (r : R)
Goal: (MvPolynomial.weightedHomogeneousComponent w n) (MvPolynomial.C r * φ) =
  MvPolynomial.C r * (MvPolynomial.weightedHomogeneousComponent w n) φ
-- MvPolynomial.weightedHomogeneousComponent_eq_zero'
theorem weightedHomogeneousComponent_eq_zero'
    (h : ∀ d : σ →₀ ℕ, d ∈ φ.support → weight w d ≠ n) :
    weightedHomogeneousComponent w n φ = 0 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] {w : σ → M} (n : M) (φ : MvPolynomial σ R) (h : ∀ d ∈ φ.support, (Finsupp.weight w) d ≠ n)
Goal: (MvPolynomial.weightedHomogeneousComponent w n) φ = 0
-- MvPolynomial.weightedHomogeneousComponent_eq_zero
theorem weightedHomogeneousComponent_eq_zero [SemilatticeSup M] [OrderBot M]
    (h : weightedTotalDegree w φ < n) : weightedHomogeneousComponent w n φ = 0 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] {w : σ → M} (n : M) (φ : MvPolynomial σ R) [SemilatticeSup M] [OrderBot M] (h : MvPolynomial.weightedTotalDegree w φ < n)
Goal: (MvPolynomial.weightedHomogeneousComponent w n) φ = 0
-- MvPolynomial.weightedHomogeneousComponent_finsupp
theorem weightedHomogeneousComponent_finsupp :
    (Function.support fun m => weightedHomogeneousComponent w m φ).Finite 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] {w : σ → M} (φ : MvPolynomial σ R)
Goal: (Function.support fun m => (MvPolynomial.weightedHomogeneousComponent w m) φ).Finite
-- MvPolynomial.sum_weightedHomogeneousComponent
theorem sum_weightedHomogeneousComponent :
    (finsum fun m => weightedHomogeneousComponent w m φ) = φ 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] (w : σ → M) (φ : MvPolynomial σ R)
Goal: ∑ᶠ (m : M), (MvPolynomial.weightedHomogeneousComponent w m) φ = φ
-- MvPolynomial.finsum_weightedHomogeneousComponent
theorem finsum_weightedHomogeneousComponent :
    (finsum fun m => weightedHomogeneousComponent w m φ) = φ 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] (w : σ → M) (φ : MvPolynomial σ R)
Goal: ∑ᶠ (m : M), (MvPolynomial.weightedHomogeneousComponent w m) φ = φ
-- MvPolynomial.IsWeightedHomogeneous.weightedHomogeneousComponent_same
theorem IsWeightedHomogeneous.weightedHomogeneousComponent_same {m : M} {p : MvPolynomial σ R}
    (hp : IsWeightedHomogeneous w p m) :
    weightedHomogeneousComponent w m p = p 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] {w : σ → M} {m : M} {p : MvPolynomial σ R} (hp : MvPolynomial.IsWeightedHomogeneous w p m)
Goal: (MvPolynomial.weightedHomogeneousComponent w m) p = p
-- MvPolynomial.IsWeightedHomogeneous.weightedHomogeneousComponent_ne
theorem IsWeightedHomogeneous.weightedHomogeneousComponent_ne {m : M} (n : M)
    {p : MvPolynomial σ R} (hp : IsWeightedHomogeneous w p m) :
    n ≠ m → weightedHomogeneousComponent w n p = 0 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] {w : σ → M} {m : M} (n : M) {p : MvPolynomial σ R} (hp : MvPolynomial.IsWeightedHomogeneous w p m)
Goal: n ≠ m → (MvPolynomial.weightedHomogeneousComponent w n) p = 0
-- MvPolynomial.weightedHomogeneousComponent_of_mem
theorem weightedHomogeneousComponent_of_mem [DecidableEq M] {m n : M}
    {p : MvPolynomial σ R} (h : p ∈ weightedHomogeneousSubmodule R w n) :
    weightedHomogeneousComponent w m p = if m = n then p else 0 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] {w : σ → M} [DecidableEq M] {m n : M} {p : MvPolynomial σ R} (h : p ∈ MvPolynomial.weightedHomogeneousSubmodule R w n)
Goal: (MvPolynomial.weightedHomogeneousComponent w m) p = if m = n then p else 0
-- MvPolynomial.weightedHomogeneousComponent_of_isWeightedHomogeneous_same
theorem weightedHomogeneousComponent_of_isWeightedHomogeneous_same
    {m : M} {p : MvPolynomial σ R} (hp : IsWeightedHomogeneous w p m) :
    weightedHomogeneousComponent w m p = p 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] {w : σ → M} {m : M} {p : MvPolynomial σ R} (hp : MvPolynomial.IsWeightedHomogeneous w p m)
Goal: (MvPolynomial.weightedHomogeneousComponent w m) p = p
-- MvPolynomial.weightedHomogeneousComponent_of_isWeightedHomogeneous_ne
theorem weightedHomogeneousComponent_of_isWeightedHomogeneous_ne
    {m n : M} {p : MvPolynomial σ R} (hp : IsWeightedHomogeneous w p m) (hn : n ≠ m) :
    weightedHomogeneousComponent w n p = 0 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] {w : σ → M} {m n : M} {p : MvPolynomial σ R} (hp : MvPolynomial.IsWeightedHomogeneous w p m) (hn : n ≠ m)
Goal: (MvPolynomial.weightedHomogeneousComponent w n) p = 0
-- MvPolynomial.DirectSum.coeLinearMap_eq_dfinsupp_sum
theorem DirectSum.coeLinearMap_eq_dfinsupp_sum [DecidableEq σ] [DecidableEq R] [DecidableEq M]
    (x : DirectSum M fun i : M => ↥(weightedHomogeneousSubmodule R w i)) :
    (coeLinearMap fun i : M => weightedHomogeneousSubmodule R w i) x =
      DFinsupp.sum x (fun _ x => ↑x) 
Arguments: (R : Type u_1) {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] (w : σ → M) [DecidableEq σ] [DecidableEq R] [DecidableEq M] (x : DirectSum M fun i => ↥(MvPolynomial.weightedHomogeneousSubmodule R w i))
Goal: (DirectSum.coeLinearMap fun i => MvPolynomial.weightedHomogeneousSubmodule R w i) x = DFinsupp.sum x fun x x_1 => ↑x_1
-- MvPolynomial.DirectSum.coeAddMonoidHom_eq_support_sum
theorem DirectSum.coeAddMonoidHom_eq_support_sum [DecidableEq σ] [DecidableEq R] [DecidableEq M]
    (x : DirectSum M fun i : M => ↥(weightedHomogeneousSubmodule R w i)) :
    (DirectSum.coeAddMonoidHom fun i : M => weightedHomogeneousSubmodule R w i) x =
      DFinsupp.sum x (fun _ x => ↑x) 
Arguments: (R : Type u_1) {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] (w : σ → M) [DecidableEq σ] [DecidableEq R] [DecidableEq M] (x : DirectSum M fun i => ↥(MvPolynomial.weightedHomogeneousSubmodule R w i))
Goal: (DirectSum.coeAddMonoidHom fun i => MvPolynomial.weightedHomogeneousSubmodule R w i) x =
  DFinsupp.sum x fun x x_1 => ↑x_1
-- MvPolynomial.DirectSum.coeLinearMap_eq_finsum
theorem DirectSum.coeLinearMap_eq_finsum [DecidableEq M]
    (x : DirectSum M fun i : M => ↥(weightedHomogeneousSubmodule R w i)) :
    (DirectSum.coeLinearMap fun i : M => weightedHomogeneousSubmodule R w i) x =
      finsum fun m => x m 
Arguments: (R : Type u_1) {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] (w : σ → M) [DecidableEq M] (x : DirectSum M fun i => ↥(MvPolynomial.weightedHomogeneousSubmodule R w i))
Goal: (DirectSum.coeLinearMap fun i => MvPolynomial.weightedHomogeneousSubmodule R w i) x = ∑ᶠ (m : M), ↑(x m)
-- MvPolynomial.weightedHomogeneousComponent_directSum
theorem weightedHomogeneousComponent_directSum [DecidableEq M]
    (x : DirectSum M fun i : M => ↥(weightedHomogeneousSubmodule R w i)) (m : M) :
    (weightedHomogeneousComponent w m)
      ((DirectSum.coeLinearMap fun i : M => weightedHomogeneousSubmodule R w i) x) = x m 
Arguments: (R : Type u_1) {M : Type u_2} [CommSemiring R] {σ : Type u_3} [AddCommMonoid M] (w : σ → M) [DecidableEq M] (x : DirectSum M fun i => ↥(MvPolynomial.weightedHomogeneousSubmodule R w i)) (m : M)
Goal: (MvPolynomial.weightedHomogeneousComponent w m)
    ((DirectSum.coeLinearMap fun i => MvPolynomial.weightedHomogeneousSubmodule R w i) x) =
  ↑(x m)
-- MvPolynomial.weightedHomogeneousComponent_zero
@[simp]
theorem weightedHomogeneousComponent_zero [NoZeroSMulDivisors ℕ M] (hw : ∀ i : σ, w i ≠ 0) :
    weightedHomogeneousComponent w 0 φ = C (coeff 0 φ) 
Arguments: {R : Type u_1} {M : Type u_2} [CommSemiring R] {σ : Type u_3} [CanonicallyOrderedAddCommMonoid M] {w : σ → M} (φ : MvPolynomial σ R) [NoZeroSMulDivisors ℕ M] (hw : ∀ (i : σ), w i ≠ 0)
Goal: (MvPolynomial.weightedHomogeneousComponent w 0) φ = MvPolynomial.C (MvPolynomial.coeff 0 φ)
-- MvPolynomial.nonTorsionWeight_of
theorem nonTorsionWeight_of [NoZeroSMulDivisors ℕ M] (hw : ∀ i : σ, w i ≠ 0) :
    NonTorsionWeight w 
Arguments: {M : Type u_2} {σ : Type u_3} [CanonicallyOrderedAddCommMonoid M] {w : σ → M} [NoZeroSMulDivisors ℕ M] (hw : ∀ (i : σ), w i ≠ 0)
Goal: MvPolynomial.NonTorsionWeight w