File: Mathlib/Algebra/MvPolynomial/Derivation.lean

full_name: MvPolynomial.mkDerivationₗ
code: /-- The derivation on `MvPolynomial σ R` that takes value `f i` on `X i`, as a linear map.
Use `MvPolynomial.mkDerivation` instead. -/
def mkDerivationₗ (f : σ → A) : MvPolynomial σ R →ₗ[R] A 
goal: MvPolynomial σ R →ₗ[R] A

full_name: MvPolynomial.mkDerivationₗ_monomial
code: theorem mkDerivationₗ_monomial (f : σ → A) (s : σ →₀ ℕ) (r : R) :
    mkDerivationₗ R f (monomial s r) =
      r • s.sum fun i k => monomial (s - Finsupp.single i 1) (k : R) • f i 
goal: (MvPolynomial.mkDerivationₗ R f) ((MvPolynomial.monomial s) r) =
  r • s.sum fun i k => (MvPolynomial.monomial (s - Finsupp.single i 1)) ↑k • f i

full_name: MvPolynomial.mkDerivationₗ_C
code: theorem mkDerivationₗ_C (f : σ → A) (r : R) : mkDerivationₗ R f (C r) = 0 
goal: (MvPolynomial.mkDerivationₗ R f) (MvPolynomial.C r) = 0

full_name: MvPolynomial.mkDerivationₗ_X
code: theorem mkDerivationₗ_X (f : σ → A) (i : σ) : mkDerivationₗ R f (X i) = f i 
goal: (MvPolynomial.mkDerivationₗ R f) (MvPolynomial.X i) = f i

full_name: MvPolynomial.derivation_C
code: @[simp]
theorem derivation_C (D : Derivation R (MvPolynomial σ R) A) (a : R) : D (C a) = 0 
goal: D (MvPolynomial.C a) = 0

full_name: MvPolynomial.derivation_C_mul
code: @[simp]
theorem derivation_C_mul (D : Derivation R (MvPolynomial σ R) A) (a : R) (f : MvPolynomial σ R) :
    C (σ := σ) a • D f = a • D f 
goal: MvPolynomial.C a • D f = a • D f

full_name: MvPolynomial.derivation_eqOn_supported
code: /-- If two derivations agree on `X i`, `i ∈ s`, then they agree on all polynomials from
`MvPolynomial.supported R s`. -/
theorem derivation_eqOn_supported {D₁ D₂ : Derivation R (MvPolynomial σ R) A} {s : Set σ}
    (h : Set.EqOn (D₁ ∘ X) (D₂ ∘ X) s) {f : MvPolynomial σ R} (hf : f ∈ supported R s) :
    D₁ f = D₂ f 
goal: D₁ f = D₂ f

full_name: MvPolynomial.derivation_eq_of_forall_mem_vars
code: theorem derivation_eq_of_forall_mem_vars {D₁ D₂ : Derivation R (MvPolynomial σ R) A}
    {f : MvPolynomial σ R} (h : ∀ i ∈ f.vars, D₁ (X i) = D₂ (X i)) : D₁ f = D₂ f 
goal: D₁ f = D₂ f

full_name: MvPolynomial.derivation_eq_zero_of_forall_mem_vars
code: theorem derivation_eq_zero_of_forall_mem_vars {D : Derivation R (MvPolynomial σ R) A}
    {f : MvPolynomial σ R} (h : ∀ i ∈ f.vars, D (X i) = 0) : D f = 0 
goal: D f = 0

full_name: MvPolynomial.derivation_ext
code: @[ext]
theorem derivation_ext {D₁ D₂ : Derivation R (MvPolynomial σ R) A} (h : ∀ i, D₁ (X i) = D₂ (X i)) :
    D₁ = D₂ 
goal: D₁ = D₂

full_name: MvPolynomial.leibniz_iff_X
code: theorem leibniz_iff_X (D : MvPolynomial σ R →ₗ[R] A) (h₁ : D 1 = 0) :
    (∀ p q, D (p * q) = p • D q + q • D p) ↔ ∀ s i, D (monomial s 1 * X i) =
    (monomial s 1 : MvPolynomial σ R) • D (X i) + (X i : MvPolynomial σ R) • D (monomial s 1) 
goal: (∀ (p q : MvPolynomial σ R), D (p * q) = p • D q + q • D p) ↔
  ∀ (s : σ →₀ ℕ) (i : σ),
    D ((MvPolynomial.monomial s) 1 * MvPolynomial.X i) =
      (MvPolynomial.monomial s) 1 • D (MvPolynomial.X i) + MvPolynomial.X i • D ((MvPolynomial.monomial s) 1)

full_name: MvPolynomial.mkDerivation
code: /-- The derivation on `MvPolynomial σ R` that takes value `f i` on `X i`. -/
def mkDerivation (f : σ → A) : Derivation R (MvPolynomial σ R) A 
goal: Derivation R (MvPolynomial σ R) A

full_name: MvPolynomial.mkDerivation_X
code: @[simp]
theorem mkDerivation_X (f : σ → A) (i : σ) : mkDerivation R f (X i) = f i 
goal: (MvPolynomial.mkDerivation R f) (MvPolynomial.X i) = f i

full_name: MvPolynomial.mkDerivation_monomial
code: theorem mkDerivation_monomial (f : σ → A) (s : σ →₀ ℕ) (r : R) :
    mkDerivation R f (monomial s r) =
      r • s.sum fun i k => monomial (s - Finsupp.single i 1) (k : R) • f i 
goal: (MvPolynomial.mkDerivation R f) ((MvPolynomial.monomial s) r) =
  r • s.sum fun i k => (MvPolynomial.monomial (s - Finsupp.single i 1)) ↑k • f i

full_name: MvPolynomial.mkDerivationEquiv
code: /-- `MvPolynomial.mkDerivation` as a linear equivalence. -/
def mkDerivationEquiv : (σ → A) ≃ₗ[R] Derivation R (MvPolynomial σ R) A 
goal: (σ → A) ≃ₗ[R] Derivation R (MvPolynomial σ R) A