Documentation

LeanPool.CCDN.ArithmeticHeights.SuccessiveMinima

The successive minima of a symmetric convex body #

For a lattice L in a finite-dimensional real normed space E and a symmetric convex body B, the i-th successive minimum is the least dilation of B that contains i + 1 linearly independent points of L. This file defines it, proves it positive, monotone and homogeneous of degree -1 in the body, and proves Cassels' Lemma 1: the minima are attained, by one family of independent lattice vectors realizing all of them at once.

Main definitions #

Main results #

Implementation notes #

The body is carried as four separate hypotheses — convex, symmetric, with nonempty interior, bounded — plus closedness where it is needed, rather than as one bundled structure, so that each statement says which of them it uses. Cassels indexes the minima by a distance function F and dilates {x | F x ≤ 1}; the convex-body form is the pinned one, and gauge_le_iff_mem_smul is the translation, proved once here.

⚠ Attainment does not need the body to be closed; only its body form does. The family of ZLattice.exists_linearIndependent_gauge_eq_successiveMinimum realizes the minima as gauges for any bounded symmetric convex body with nonempty interior, and that statement is the one the proof produces. Turning gauge B (v j) = λ j into v j ∈ λ j • B is exactly the dictionary, and exactly what fails for an open body: for the open unit ball no lattice vector lies in λ 0 • B at all, since anything inside that dilation would already have shown a smaller dilation admissible. The two statements are therefore kept apart, and only the second carries IsClosed B.

⚠ The minima are not monotone in the index without i < finrank ℝ E. Above the dimension there is no independent family at all, the set of admissible dilations is empty, and the value is sInf ∅ = 0. So Monotone (successiveMinimum L B) is false whenever E is nontrivial, and a statement of Minkowski's second theorem that ranged over all of ℕ would multiply by zero.

References #

J. W. S. Cassels, An Introduction to the Geometry of Numbers, Springer (1959), Chapter VIII §1: the definition, Lemma 1 (attainment) and the elementary properties proved here. E. Bombieri and W. Gubler, Heights in Diophantine Geometry, Cambridge University Press (2006), Appendix C.2. Minkowski's first theorem is Mathlib's MeasureTheory.exists_ne_zero_mem_lattice_of_measure_mul_two_pow_le_measure.

This is Layer 4.1 of the ArithmeticHeights roadmap.

The body and its gauge #

Three facts about a symmetric convex body, none of them about lattices: it is a neighbourhood of the origin, and its dilations are the sublevel sets of its gauge — from below always, and exactly when the body is closed.

theorem Convex.mem_nhds_zero_of_symmetric {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {B : Set E} (hB₀ : Convex ℝ B) (hB₁ : ∀ x ∈ B, -x ∈ B) (hB₂ : (interior B).Nonempty) :
B ∈ nhds 0

A symmetric convex set with nonempty interior is a neighbourhood of 0: the midpoint of an interior point and its negative is an interior point. This is what makes the body absorbent, and it is the only use of the symmetry hypothesis in the elementary theory.

theorem mem_smul_of_gauge_lt {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {B : Set E} (hB₀ : Convex ℝ B) (h₀ : B ∈ nhds 0) {t : ℝ} {x : E} (h : gauge B x < t) :
x ∈ t • B

Half of the gauge dictionary, and the half that costs nothing: a point of gauge strictly less than t lies in t • B. No closedness is needed, and this is what the existence statements below use to exhibit an admissible dilation.

theorem gauge_le_iff_mem_smul {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {B : Set E} (hB₀ : Convex ℝ B) (hB₄ : IsClosed B) (h₀ : B ∈ nhds 0) {t : ℝ} (ht : 0 < t) {x : E} :
gauge B x ≤ t ↔ x ∈ t • B

The gauge dictionary. For a closed convex body with 0 in its interior, lying in the dilation t • B is the same as having gauge at most t. This is the translation between Cassels' distance functions and the convex-body form of the successive minima, and closedness is exactly what it costs: for an open body the two sides differ on the boundary.

noncomputable def ZLattice.successiveMinimum {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] (L : Submodule ℤ E) (B : Set E) (i : ℕ) :

The i-th successive minimum of a set B with respect to a lattice L: the least dilation of B containing i + 1 linearly independent points of L. The case i = 0 is the quantity bounded by Minkowski's convex-body theorem. For i ≥ finrank ℝ E there is no such family and the value is sInf ∅ = 0, so every statement about the minima carries i < finrank ℝ E.

Equations
Instances For
    theorem ZLattice.successiveMinimum_le {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {B : Set E} {i : ℕ} {L : Submodule ℤ E} {t : ℝ} (ht : 0 < t) {v : Fin (i + 1) → E} (hv : ∀ (j : Fin (i + 1)), v j ∈ t • B ∩ ↑L) (hind : LinearIndependent ℝ v) :

    An admissible dilation bounds the minimum from above. This and le_successiveMinimum are the only two ways the infimum is used below.

    theorem ZLattice.successiveMinimum_smul {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] (L : Submodule ℤ E) (B : Set E) (i : ℕ) {c : ℝ} (hc : 0 < c) :

    The minima are homogeneous of degree -1 in the body: dilating the body by c divides every minimum by c.

    theorem ZLattice.le_successiveMinimum {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {B : Set E} {i : ℕ} {L : Submodule ℤ E} [FiniteDimensional ℝ E] [DiscreteTopology ↥L] [IsZLattice ℝ L] (hi : i < Module.finrank ℝ E) (hB₀ : Convex ℝ B) (hB₁ : ∀ x ∈ B, -x ∈ B) (hB₂ : (interior B).Nonempty) {c : ℝ} (H : ∀ (t : ℝ), 0 < t → ∀ (v : Fin (i + 1) → E), (∀ (j : Fin (i + 1)), v j ∈ t • B ∩ ↑L) → LinearIndependent ℝ v → c ≤ t) :

    Below the dimension, a lower bound for every admissible dilation is a lower bound for the minimum.

    Above the dimension the minima vanish: there is no independent family of i + 1 vectors at all, so the set of admissible dilations is empty and its infimum is the junk value 0. Together with successiveMinimum_pos this is why every statement about the minima is restricted to i < finrank ℝ E.

    theorem ZLattice.successiveMinimum_le_of_le {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {B : Set E} {i : ℕ} {L : Submodule ℤ E} [FiniteDimensional ℝ E] [DiscreteTopology ↥L] [IsZLattice ℝ L] {j : ℕ} (hij : i ≤ j) (hj : j < Module.finrank ℝ E) (hB₀ : Convex ℝ B) (hB₁ : ∀ x ∈ B, -x ∈ B) (hB₂ : (interior B).Nonempty) :

    The minima are monotone in the index below the dimension: an independent family of j + 1 vectors contains one of i + 1 vectors, so every dilation admissible at j is admissible at i. The hypothesis j < finrank ℝ E is not removable — see successiveMinimum_eq_zero_of_le.

    theorem ZLattice.successiveMinimum_pos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {B : Set E} {i : ℕ} [FiniteDimensional ℝ E] (L : Submodule ℤ E) [DiscreteTopology ↥L] [IsZLattice ℝ L] (hB₀ : Convex ℝ B) (hB₁ : ∀ x ∈ B, -x ∈ B) (hB₂ : (interior B).Nonempty) (hB₃ : Bornology.IsBounded B) (hi : i < Module.finrank ℝ E) :

    The minima are positive. A nonzero lattice point has gauge bounded away from zero, so no small dilation of a bounded body can contain one.

    theorem ZLattice.exists_linearIndependent_gauge_eq_successiveMinimum {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {B : Set E} [FiniteDimensional ℝ E] (L : Submodule ℤ E) [DiscreteTopology ↥L] [IsZLattice ℝ L] (hB₀ : Convex ℝ B) (hB₁ : ∀ x ∈ B, -x ∈ B) (hB₂ : (interior B).Nonempty) (hB₃ : Bornology.IsBounded B) :
    ∃ (v : Fin (Module.finrank ℝ E) → E), (∀ (j : Fin (Module.finrank ℝ E)), v j ∈ ↑L) ∧ LinearIndependent ℝ v ∧ ∀ (j : Fin (Module.finrank ℝ E)), gauge B (v j) = successiveMinimum L B ↑j

    Cassels' Lemma 1: the successive minima are attained. There is a single family of finrank ℝ E linearly independent lattice vectors whose gauges are the successive minima — not one family for each index. This is the statement every later proof consumes.

    ⚠ No closedness of the body is needed here; see exists_linearIndependent_mem_smul_successiveMinimum for the body form, which does need it.

    theorem ZLattice.exists_linearIndependent_mem_smul_successiveMinimum {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {B : Set E} [FiniteDimensional ℝ E] (L : Submodule ℤ E) [DiscreteTopology ↥L] [IsZLattice ℝ L] (hB₀ : Convex ℝ B) (hB₁ : ∀ x ∈ B, -x ∈ B) (hB₂ : (interior B).Nonempty) (hB₃ : Bornology.IsBounded B) (hB₄ : IsClosed B) :
    ∃ (v : Fin (Module.finrank ℝ E) → E), (∀ (j : Fin (Module.finrank ℝ E)), v j ∈ ↑L) ∧ LinearIndependent ℝ v ∧ ∀ (j : Fin (Module.finrank ℝ E)), v j ∈ successiveMinimum L B ↑j • B

    The body form of Cassels' Lemma 1: the independent lattice vectors realizing the minima lie in the corresponding dilations of the body. This is the form Minkowski's second theorem and the basis lemma of Layer 4.6 consume, and IsClosed B is exactly what it costs over the gauge form.

    theorem ZLattice.successiveMinimum_le_gauge_of_notMem_span {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {B : Set E} [FiniteDimensional ℝ E] (L : Submodule ℤ E) [DiscreteTopology ↥L] [IsZLattice ℝ L] (hB₀ : Convex ℝ B) (hB₁ : ∀ x ∈ B, -x ∈ B) (hB₂ : (interior B).Nonempty) {v : Fin (Module.finrank ℝ E) → E} (hvL : ∀ (i : Fin (Module.finrank ℝ E)), v i ∈ ↑L) (hvind : LinearIndependent ℝ v) (hvg : ∀ (i : Fin (Module.finrank ℝ E)), gauge B (v i) = successiveMinimum L B ↑i) (j : ℕ) :
    j ≤ Module.finrank ℝ E → ∀ y ∈ ↑L, y ∉ Submodule.span ℝ (v '' {i : Fin (Module.finrank ℝ E) | ↑i < j}) → successiveMinimum L B j ≤ gauge B y

    The dependence half of Cassels' Lemma 1. Outside the span of the first j members of a family realizing the minima there is nothing of gauge below the j-th minimum. The point would extend those j members to an independent family of j + 1 lattice points, which bounds the j-th minimum by the largest gauge in the family; the induction on j is what identifies that largest gauge as the gauge of the new point, since without it the bound is only by the maximum of the new gauge and the (j - 1)-st minimum, and those can be equal.

    theorem ZLattice.mem_span_of_gauge_lt_successiveMinimum {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {B : Set E} [FiniteDimensional ℝ E] (L : Submodule ℤ E) [DiscreteTopology ↥L] [IsZLattice ℝ L] (hB₀ : Convex ℝ B) (hB₁ : ∀ x ∈ B, -x ∈ B) (hB₂ : (interior B).Nonempty) {v : Fin (Module.finrank ℝ E) → E} (hvL : ∀ (i : Fin (Module.finrank ℝ E)), v i ∈ ↑L) (hvind : LinearIndependent ℝ v) (hvg : ∀ (i : Fin (Module.finrank ℝ E)), gauge B (v i) = successiveMinimum L B ↑i) {y : E} (hy : y ∈ ↑L) {j : ℕ} (hgy : gauge B y < successiveMinimum L B j) :

    Cassels' Lemma 1, completed. A lattice point of gauge below the j-th minimum lies in the span of the first j members of a family realizing the minima. No hypothesis on j is needed: above the dimension the minima vanish and no gauge is negative. This is the input to Cassels' Lemma 2, ZLattice.exists_basis_mem_span_int_of_gauge_lt.

    Minkowski's first theorem as the case i = 0 #

    The zeroth minimum is the least dilation of the body containing a nonzero lattice point, which is the quantity Minkowski's convex-body theorem bounds. The identity is measure-free; the bound is the only statement in this file that mentions a measure.

    theorem ZLattice.successiveMinimum_zero_eq {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] (L : Submodule ℤ E) (B : Set E) :
    successiveMinimum L B 0 = sInf {t : ℝ | 0 < t ∧ ∃ x ∈ t • B ∩ ↑L, x ≠ 0}

    The zeroth minimum asks only for a nonzero lattice point: a one-element family is linearly independent exactly when its member is nonzero.

    theorem ZLattice.successiveMinimum_zero_le_one {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {B : Set E} [FiniteDimensional ℝ E] [MeasurableSpace E] [BorelSpace E] [Nontrivial E] (L : Submodule ℤ E) [DiscreteTopology ↥L] [IsZLattice ℝ L] (μ : MeasureTheory.Measure E) [μ.IsAddHaarMeasure] (hB₀ : Convex ℝ B) (hB₁ : ∀ x ∈ B, -x ∈ B) (hB₅ : IsCompact B) (h : 2 ^ Module.finrank ℝ E * covolume L μ ≤ (μ B).toReal) :

    Minkowski's convex-body theorem is the case i = 0. A symmetric convex compact body whose volume is at least 2 ^ n times the covolume of the lattice has zeroth minimum at most one.

    Regrouping a product of minima #

    theorem Finset.prod_pow_le_prod_range {f : ℕ → ℝ} {N : ℕ} (hf0 : ∀ (i : ℕ), 0 ≤ f i) (hmono : ∀ (i j : ℕ), i ≤ j → j < N → f i ≤ f j) (d k : ℕ) :
    d * k ≤ N → ∏ j ∈ range k, f (d * j) ^ d ≤ ∏ i ∈ range (d * k), f i

    Every d-th term, to the power d, against the whole product. For a nonnegative sequence that is monotone below N, the product of f (d * j) ^ d over j < k is at most the product of f i over i < d * k. This is what turns Minkowski's second theorem — a bound on the product of all d * k successive minima — into a bound on a product of k heights, each of which costs a d-th power.

    Worked examples #