# Definitions #

In this file we define an operation derivative (formal differentiation) on the ring of formal power series in one variable (over an arbitrary commutative semiring).

Under suitable assumptions, we prove that two power series are equal if their derivatives are equal and their constant terms are equal. This will give us a simple tool for proving power series identities. For example, one can easily prove the power series identity $\exp ( \log (1+X)) = 1+X$ by differentiating twice.

## Main Definition #

• PowerSeries.derivative R : Derivation R R⟦X⟧ R⟦X⟧ the formal derivative operation. This is abbreviated d⁄dX R.
noncomputable def PowerSeries.derivativeFun {R : Type u_1} [] (f : ) :

The formal derivative of a power series in one variable. This is defined here as a function, but will be packaged as a derivation derivative on R⟦X⟧.

Equations
Instances For
theorem PowerSeries.coeff_derivativeFun {R : Type u_1} [] (f : ) (n : ) :
() f.derivativeFun = (PowerSeries.coeff R (n + 1)) f * (n + 1)
theorem PowerSeries.derivativeFun_coe {R : Type u_1} [] (f : ) :
(f).derivativeFun = (Polynomial.derivative f)
theorem PowerSeries.derivativeFun_add {R : Type u_1} [] (f : ) (g : ) :
(f + g).derivativeFun = f.derivativeFun + g.derivativeFun
theorem PowerSeries.derivativeFun_C {R : Type u_1} [] (r : R) :
(() r).derivativeFun = 0
theorem PowerSeries.trunc_derivativeFun {R : Type u_1} [] (f : ) (n : ) :
PowerSeries.trunc n f.derivativeFun = Polynomial.derivative (PowerSeries.trunc (n + 1) f)
theorem PowerSeries.derivativeFun_mul {R : Type u_1} [] (f : ) (g : ) :
(f * g).derivativeFun = f g.derivativeFun + g f.derivativeFun

Leibniz rule for formal power series.

theorem PowerSeries.derivativeFun_smul {R : Type u_1} [] (r : R) (f : ) :
(r f).derivativeFun = r f.derivativeFun
noncomputable def PowerSeries.derivative (R : Type u_1) [] :
Derivation R () ()

The formal derivative of a formal power series

Equations
• = { toFun := PowerSeries.derivativeFun, map_add' := , map_smul' := , map_one_eq_zero' := , leibniz' := }
Instances For

Abbreviation of PowerSeries.derivative, the formal derivative on R⟦X⟧

Equations
Instances For
@[simp]
theorem PowerSeries.derivative_C {R : Type u_1} [] (r : R) :
(() r) = 0
theorem PowerSeries.coeff_derivative {R : Type u_1} [] (f : ) (n : ) :
() () = (PowerSeries.coeff R (n + 1)) f * (n + 1)
theorem PowerSeries.derivative_coe {R : Type u_1} [] (f : ) :
f = (Polynomial.derivative f)
@[simp]
theorem PowerSeries.derivative_X {R : Type u_1} [] :
PowerSeries.X = 1
theorem PowerSeries.trunc_derivative {R : Type u_1} [] (f : ) (n : ) :
= Polynomial.derivative (PowerSeries.trunc (n + 1) f)
theorem PowerSeries.trunc_derivative' {R : Type u_1} [] (f : ) (n : ) :
PowerSeries.trunc (n - 1) () = Polynomial.derivative ()
theorem PowerSeries.derivative.ext {R : Type u_1} [] [] {f : } {g : } (hD : = ) (hc : ) :
f = g

If f and g have the same constant term and derivative, then they are equal.

@[simp]
theorem PowerSeries.derivative_inv {R : Type u_1} [] (f : ()ˣ) :
f⁻¹ = -f⁻¹ ^ 2 * f
@[simp]
theorem PowerSeries.derivative_invOf {R : Type u_1} [] (f : ) [] :
= -f ^ 2 *
@[simp]
theorem PowerSeries.derivative_inv' {R : Type u_1} [] (f : ) :
= -f⁻¹ ^ 2 *