Nonvanishing of the nontrivial character sums of of the conjugates of a Minkowski unit (Ax, from Brumer)
ProvedLeopoldt.charSum_log_ne_zero_of_brumerThis is the Diophantine heart of Ax's deduction of Leopoldt's conjecture for totally real abelian fields from Brumer's theorem: the nontrivial character sums of the -adic logarithms of the conjugates of a Minkowski unit do not vanish.
Let be a prime and a totally real number field, Galois over with Galois group of order , so that . Let be a unit whose conjugates () generate a subgroup of finite index in (a Minkowski unit), and assume that every conjugate lies in the ball at every prime of . Assume Brumer's theorem in the form: for every number field , every prime of and every finite family of elements of lying in the ball at , -linear independence of their -adic logarithms in implies -linear independence.
Fix a prime of and write . Let be a number field that contains a primitive -th root of unity, let be a prime of , and let be a ring homomorphism compatible with the inclusions of into and of into , with for some real . Then for every nontrivial character ,
Proof route (Ax, Brumer). (1) The product of all conjugates is ; since is outside the ball for every ( for odd , for ) and the ball is a group, the norm is and . Hence the sum equals , and some coefficient is nonzero. (2) The finite-index hypothesis and force the relation lattice to have rank one, generated up to finite index by ; so the conjugates , , are multiplicatively independent modulo torsion, and their logarithms in are -linearly independent because is injective on the ball and kills exactly the torsion there. (3) The values are -th roots of unity in ; since contains a primitive one, they lie in . (4) Brumer's theorem for at (with computed in ) gives -linear independence of the , , contradicting the relation in (1).
Use. With this nonvanishing, Dedekind's group matrix has rank at least (Matrix.card_sub_one_le_rank_of_charSum_ne_zero), which is the input of Leopoldt.exists_linearIndependent_log_conj_of_card_sub_one_le_rank; together they prove Leopoldt.exists_linearIndependent_log_conj_of_brumer.
Formalization Note. The hypotheses hε, hball, hB are those of Leopoldt.exists_linearIndependent_log_conj_of_brumer, with hB the platform statement NumberField.Brumer.linearIndependent_log_algebraMap quantified over all number fields L in the universe of K; the field L of this statement lives in that same universe, so hB applies to it. Commutativity of is not assumed; the conjugate is Units.map (RingOfIntegers.mapRingEquiv σ.toRingEquiv).toMonoidHom ε, and is PadicLog.log of its image in under Leopoldt.diagonalUnits. is Fintype.card (K ≃ₐ[ℚ] K). A proof will need: PadicLog.map_log (to identify with in and to move the ball condition), Algebra.norm_eq_prod_automorphisms and Int.isUnit_iff for the norm relation, Leopoldt.units_rank_of_isTotallyReal and IsGalois.card_aut_eq_finrank for the rank, PadicLog.log_eq_zero_iff and PadicLog.log_injOn for the torsion step, and IsPrimitiveRoot.eq_pow_of_pow_eq_one for the pullback of character values.
import Definitions.Def_PadicLog open NumberField universe u
theorem Leopoldt.charSum_log_ne_zero_of_brumer (p : ℕ) [Fact p.Prime]
(K : Type u) [Field K] [NumberField K] [IsTotallyReal K] [IsGalois ℚ K] (ε : (𝓞 K)ˣ)
(hε : (Subgroup.closure (Set.range fun σ : K ≃ₐ[ℚ] K =>
_root_.Units.map (RingOfIntegers.mapRingEquiv σ.toRingEquiv).toMonoidHom ε)).FiniteIndex)
(hball : ∀ (σ : K ≃ₐ[ℚ] K) (v : Leopoldt.PrimesOver p K),
‖((Leopoldt.diagonalUnits p K
(_root_.Units.map (RingOfIntegers.mapRingEquiv σ.toRingEquiv).toMonoidHom ε) v :
v.1.adicCompletionIntegers K) : v.1.adicCompletion K) - 1‖ ≤
‖((p : ℕ) : v.1.adicCompletion K)‖ ^ 2)
(hB : ∀ (L : Type u) [Field L] [NumberField L] (w : Leopoldt.PrimesOver p L)
(n : ℕ) (a : Fin n → L),
(∀ i, ‖algebraMap L (w.1.adicCompletion L) (a i) - 1‖ ≤
‖((p : ℕ) : w.1.adicCompletion L)‖ ^ 2) →
(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)))
(v : Leopoldt.PrimesOver p K)
(L : Type u) [Field L] [NumberField L] [Algebra K L]
(hζ : ∃ ζ : L, IsPrimitiveRoot ζ (Fintype.card (K ≃ₐ[ℚ] K)))
(w : Leopoldt.PrimesOver p L) (ι : v.1.adicCompletion K →+* w.1.adicCompletion L)
(hι : ∀ x : K, ι (algebraMap K (v.1.adicCompletion K) x) =
algebraMap L (w.1.adicCompletion L) (algebraMap K L x))
(hc : ∃ c : ℝ, 0 < c ∧ ∀ x, ‖ι x‖ = ‖x‖ ^ c)
(χ : (K ≃ₐ[ℚ] K) →* (w.1.adicCompletion L)ˣ) (hχ : χ ≠ 1) :
∑ σ : K ≃ₐ[ℚ] K, ((χ σ : (w.1.adicCompletion L)ˣ) : w.1.adicCompletion L) *
ι (PadicLog.log (p := p)
((Leopoldt.diagonalUnits p K
(_root_.Units.map (RingOfIntegers.mapRingEquiv σ.toRingEquiv).toMonoidHom ε) v :
v.1.adicCompletionIntegers K) : v.1.adicCompletion K)) ≠ 0 := by sorry