Brumer's theorem: -adic logarithms of algebraic numbers independent over are independent over
ProvedNumberField.Brumer.linearIndependent_log_algebraMapThis is Brumer's theorem, the -adic analogue of Baker's theorem on linear forms in logarithms, in the form needed for Leopoldt's conjecture: -adic logarithms of algebraic numbers that are linearly independent over stay linearly independent over the algebraic numbers.
Let be a prime, a number field, and a prime of above , with completion . Write for the -adic logarithm, which on the ball
is a homomorphism from multiplication to addition. Let be elements whose images in lie in . If the logarithms are linearly independent over , then they are linearly independent over :
This is the transcendence input of the proof of Leopoldt's conjecture for abelian number fields. There, a vanishing character sum with algebraic coefficients is converted into an integral relation among the logarithms of the conjugates of a Minkowski unit, which is impossible. It is the only place in that proof where Diophantine approximation enters, and it is reusable in any argument that passes from a -adic relation with algebraic coefficients to a rational one.
Formalization Note Brumer's theorem is stated in for algebraic -adic units with coefficients in the algebraic closure of inside . The version here is a consequence of it: any finite set of algebraic numbers and coefficients lies in some number field , which is universally quantified, and the completion embeds continuously into with the logarithm commuting with the embedding. Linear independence over is stated as linear independence over , which is equivalent because has characteristic zero. The elements are required to lie in the ball , where PadicLog.log of Definitions.Def_PadicLog is the genuine logarithm; Brumer's theorem for arbitrary algebraic units reduces to this case by raising to a power. acts on through the completion map, so LinearIndependent L is independence with coefficients in .
import Definitions.Def_PadicLog open NumberField
theorem NumberField.Brumer.linearIndependent_log_algebraMap (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)
(hli : LinearIndependent ℤ fun i =>
PadicLog.log (p := p) (algebraMap L (w.1.adicCompletion L) (a i))) :
LinearIndependent L fun i =>
PadicLog.log (p := p) (algebraMap L (w.1.adicCompletion L) (a i)) := by sorry