Brumer's theorem, main step: an auxiliary integer polynomial that vanishes at consecutive powers
ProvedNumberField.Brumer.exists_auxiliary_polynomialLet be a prime, a number field, a prime of above , and with in the completion . Assume that the -adic logarithms satisfy a non-trivial linear relation with coefficients in :
The statement asserts that there are integers and and rational integers , , not all zero, such that
The identity is an equality in the number field . Only the hypotheses use the prime and the logarithm.
Why this is the main step. The numbers and the exponents give a Vandermonde system. A non-zero solution forces two of the numbers to be equal, so with , and the logarithms satisfy a non-trivial relation with integer coefficients. Thus this statement gives Brumer's theorem NumberField.Brumer.linearIndependent_log_algebraMap: logarithms that are linearly independent over are linearly independent over .
Proof idea (Baker's method). (1) Siegel's lemma gives integers of controlled size such that the exponential polynomial , where the exponents are linear in and use the relation, vanishes with all partial derivatives up to a high order at the points , . (2) A -adic Schwarz lemma shows that the values at more points are -adically very small. (3) These values are algebraic numbers of controlled height, so the product formula shows that they are zero. (4) The steps (2) and (3) are repeated, with half the order of vanishing and more points each time, until there are points.
Formalization Note. is w.1.adicCompletion L with the norm of Definitions.Def_PrimesOverNorm; is PadicLog.log (p := p) from Definitions.Def_PadicLog; the box is Fin n → Fin N and is (lam i : ℕ). For the hypothesis c ≠ 0 is impossible. For the relation gives , so and , is a solution.
import Definitions.Def_PadicLog open NumberField
theorem NumberField.Brumer.exists_auxiliary_polynomial (p : ℕ) [Fact p.Prime]
(L : Type*) [Field L] [NumberField L] (w : Leopoldt.PrimesOver p L)
(n : ℕ) (a : Fin n → L)
(hball : ∀ i, ‖algebraMap L (w.1.adicCompletion L) (a i) - 1‖ ≤
‖((p : ℕ) : w.1.adicCompletion L)‖ ^ 2)
(c : Fin n → L) (hc : c ≠ 0)
(hrel : ∑ i, c i • PadicLog.log (p := p) (algebraMap L (w.1.adicCompletion L) (a i)) = 0) :
∃ q N : ℕ, 0 < q ∧ ∃ P : (Fin n → Fin N) → ℤ, P ≠ 0 ∧
∀ ℓ : ℕ, 1 ≤ ℓ → ℓ ≤ N ^ n →
∑ lam : Fin n → Fin N, (P lam : L) * (∏ i, a i ^ (q * (lam i : ℕ))) ^ ℓ = 0 := by sorry