File: Mathlib/Algebra/MvPolynomial/PDeriv.lean

full_name: MvPolynomial.pderiv
code: /-- `pderiv i p` is the partial derivative of `p` with respect to `i` -/
def pderiv (i : σ) : Derivation R (MvPolynomial σ R) (MvPolynomial σ R) 
goal: Derivation R (MvPolynomial σ R) (MvPolynomial σ R)

full_name: MvPolynomial.pderiv_def
code: theorem pderiv_def [DecidableEq σ] (i : σ) : pderiv i = mkDerivation R (Pi.single i 1) 
goal: MvPolynomial.pderiv i = MvPolynomial.mkDerivation R (Pi.single i 1)

full_name: MvPolynomial.pderiv_monomial
code: @[simp]
theorem pderiv_monomial {i : σ} :
    pderiv i (monomial s a) = monomial (s - single i 1) (a * s i) 
goal: (MvPolynomial.pderiv i) ((MvPolynomial.monomial s) a) = (MvPolynomial.monomial (s - Finsupp.single i 1)) (a * ↑(s i))

full_name: MvPolynomial.pderiv_C
code: theorem pderiv_C {i : σ} : pderiv i (C a) = 0 
goal: (MvPolynomial.pderiv i) (MvPolynomial.C a) = 0

full_name: MvPolynomial.pderiv_one
code: theorem pderiv_one {i : σ} : pderiv i (1 : MvPolynomial σ R) = 0 
goal: (MvPolynomial.pderiv i) 1 = 0

full_name: MvPolynomial.pderiv_X
code: @[simp]
theorem pderiv_X [DecidableEq σ] (i j : σ) :
    pderiv i (X j : MvPolynomial σ R) = Pi.single (f := fun j => _) i 1 j 
goal: (MvPolynomial.pderiv i) (MvPolynomial.X j) = Pi.single i 1 j

full_name: MvPolynomial.pderiv_X_self
code: @[simp]
theorem pderiv_X_self (i : σ) : pderiv i (X i : MvPolynomial σ R) = 1 
goal: (MvPolynomial.pderiv i) (MvPolynomial.X i) = 1

full_name: MvPolynomial.pderiv_X_of_ne
code: @[simp]
theorem pderiv_X_of_ne {i j : σ} (h : j ≠ i) : pderiv i (X j : MvPolynomial σ R) = 0 
goal: (MvPolynomial.pderiv i) (MvPolynomial.X j) = 0

full_name: MvPolynomial.pderiv_eq_zero_of_not_mem_vars
code: theorem pderiv_eq_zero_of_not_mem_vars {i : σ} {f : MvPolynomial σ R} (h : i ∉ f.vars) :
    pderiv i f = 0 
goal: (MvPolynomial.pderiv i) f = 0

full_name: MvPolynomial.pderiv_monomial_single
code: theorem pderiv_monomial_single {i : σ} {n : ℕ} : pderiv i (monomial (single i n) a) =
    monomial (single i (n - 1)) (a * n) 
goal: (MvPolynomial.pderiv i) ((MvPolynomial.monomial (Finsupp.single i n)) a) =
  (MvPolynomial.monomial (Finsupp.single i (n - 1))) (a * ↑n)

full_name: MvPolynomial.pderiv_mul
code: theorem pderiv_mul {i : σ} {f g : MvPolynomial σ R} :
    pderiv i (f * g) = pderiv i f * g + f * pderiv i g 
goal: (MvPolynomial.pderiv i) (f * g) = (MvPolynomial.pderiv i) f * g + f * (MvPolynomial.pderiv i) g

full_name: MvPolynomial.pderiv_pow
code: theorem pderiv_pow {i : σ} {f : MvPolynomial σ R} {n : ℕ} :
    pderiv i (f ^ n) = n * f ^ (n - 1) * pderiv i f 
goal: (MvPolynomial.pderiv i) (f ^ n) = ↑n * f ^ (n - 1) * (MvPolynomial.pderiv i) f

full_name: MvPolynomial.pderiv_C_mul
code: theorem pderiv_C_mul {f : MvPolynomial σ R} {i : σ} : pderiv i (C a * f) = C a * pderiv i f 
goal: (MvPolynomial.pderiv i) (MvPolynomial.C a * f) = MvPolynomial.C a * (MvPolynomial.pderiv i) f

full_name: MvPolynomial.pderiv_map
code: theorem pderiv_map {S} [CommSemiring S] {φ : R →+* S} {f : MvPolynomial σ R} {i : σ} :
    pderiv i (map φ f) = map φ (pderiv i f) 
goal: (MvPolynomial.pderiv i) ((MvPolynomial.map φ) f) = (MvPolynomial.map φ) ((MvPolynomial.pderiv i) f)