Analytic part of the Lindemann-Weierstrass theorem #
theorem
LindemannWeierstrass.hasDerivAt_cexp_mul_sumIDeriv
(p : Polynomial ā)
(s : ā)
(x : ā)
:
HasDerivAt (fun (x : ā) => -(Complex.exp (-(x ⢠s)) * Polynomial.eval (x ⢠s) (Polynomial.sumIDeriv p)))
(s * (Complex.exp (-(x ⢠s)) * Polynomial.eval (x ⢠s) p)) x
theorem
LindemannWeierstrass.integral_exp_mul_eval
(p : Polynomial ā)
(s : ā)
:
s * ā« (x : ā) in 0..1, Complex.exp (-(x ⢠s)) * Polynomial.eval (x ⢠s) p = -(Complex.exp (-s) * Polynomial.eval s (Polynomial.sumIDeriv p)) + Polynomial.eval 0 (Polynomial.sumIDeriv p)
theorem
LindemannWeierstrass.exp_polynomial_approx
(f : Polynomial ā¤)
(hf : Polynomial.eval 0 f ā 0)
:
See equation (68), page 285 of [Jacobson, Basic Algebra I, 4.12][jacobson1974].
Given a polynomial f with integer coefficients, we can find a constant c : ā and for each prime
p > |fā|, nā : ⤠and gā : ā¤[X] such that
pdoes not dividenādeg(gā) < p * deg(f)- all complex roots
roffsatisfy|nā * e ^ r - p * gā(r)| ⤠c ^ p / (p - 1)!
In the proof of Lindemann-Weierstrass, we will take f to be a polynomial whose complex roots
are the algebraic numbers whose exponentials we want to prove to be linearly independent.
Note: Jacobson writes Nā for our nā and M for our c (modulo a constant factor).