Zulip Chat Archive
Stream: Is there code for X?
Topic: Minkowski Lattice Theorem
Yaël Dillies (Apr 16 2021 at 13:01):
Is anybody already working on Minkowski's theorem? https://en.wikipedia.org/wiki/Minkowski%27s_theorem
I'm thinking of formalising it.
Johan Commelin (Apr 16 2021 at 13:01):
I think @Alex J. Best has a PR on (parts of?) it
Johan Commelin (Apr 16 2021 at 13:02):
Yaël Dillies (Apr 16 2021 at 13:07):
Oh right, thanks! This seems a bit dead, though :frown:
Alex J. Best (Apr 16 2021 at 17:22):
@Yaël Dillies yes, it is quite dead! At the time I came to the conclusion that measure theory needed more development to prove some of the key results, https://leanprover.zulipchat.com/#narrow/stream/263328-triage/topic/random.20PR.3A.20.5BWIP.5D.20feat.28number_theory.2Fgeometry_of_numbers.29.3A.2E.2E.2E/near/215254314 I think a lot of this is now possible thanks to the work of many people (lots of credit to Floris and Yury though!). So I definitely think its high time to revive this PR, or rewrite it completely lol. I think I will have more time for lean in the next few weeks (I just submitted my PhD thesis today!) so I'm happy to collaborate on this :smile:.
Johan Commelin (Apr 16 2021 at 17:23):
Congrats on submitting your thesis! :tada:
Yaël Dillies (Apr 17 2021 at 06:35):
I would love to collaborate with you on it! To put in context, I'm looking for a nice result (if possible in combinatorics) to formalize during my summer internship with Bhavik Mehta. How much time do you think still need to be poured in to make the proof work?
Yaël Dillies (Nov 27 2025 at 09:54):
Four years later, I am back at it: Now that Minkowski's theorem is in mathlib, I am considering formalising Minkowski's second theorem. Is anybody working on that?
Yaël Dillies (Nov 27 2025 at 09:54):
The statement is that, if is a lattice in and $K \subseteq R^d$$ is a centrally symmetric convex body, then , where is the -th successive minimum of , ie .
Johan Commelin (Nov 27 2025 at 09:57):
cc @Xavier Roblot ?
Xavier Roblot (Nov 27 2025 at 10:22):
No, I am not working on anything related to lattices at the moment. But I think it would be very interesting to have this result in Mathlib.
Kevin Wilson (Nov 30 2025 at 01:46):
Just noticed this thread…. @Yaël Dillies if you’re embarking on this, I would love to rely on it. The proof of Schmidt’s bounds I was hoping to formalize here rely on Minkowski’s second theorem: https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Counting.20isomorphism.20classes/with/560866287
Yaël Dillies (Nov 30 2025 at 06:51):
Got it! The proof seems really quite advanced in comparison to the statement, so I might stop at defining the successive minima and proving the existence of a directional basis for now. I am trying to use this project as a way for my friend to learn lean.
Kevin Wilson (Nov 30 2025 at 20:27):
It is surprisingly tricky. In his book, Cassels says "The proof of [the upper bound in the second theorem] remains difficult," whereas the lower bound is "almost trivial."
Kevin Wilson (Jan 17 2026 at 15:58):
Hi @Yaël Dillies I had a moment to get back to this, and I think that one approach would be to prove the theorem when the convex body is just the sphere. That's a much easier theorem (and pretty much just needs SVD and some accounting).
Yaël Dillies (Jan 17 2026 at 16:01):
Oh unfortunately that doesn't cover my use case, which would instead use a parallelepiped to show that a Bohr set contains a large generalised arithmetic progression.
Kevin Wilson (Jan 17 2026 at 17:32):
Hmm I don’t think it’s too much harder to prove in the case the convex body is the sphere of a norm. Is that true of your parallelepiped (eg if A is the basis of the parallelepiped then perhaps your parallelepiped is the sphere of x -> |A x|_oo?
Kevin Wilson (Feb 05 2026 at 02:57):
Hi @Yaël Dillies I took a shot at thinking through what the definition of successive minima should be. In basically every application I've come across, the convex body is just the ball of a norm. With that in mind, one definition of successive minimum that seems amenable to formalization is:
variable {E : Type*} [NormedAddCommGroup E] (L : Submodule ℤ E)
/-- The set of max-norms of linearly independent `(i+1)`-tuples from `L`. -/
def lambdaSet (i : ℕ) : Set ℝ :=
(fun v ↦ ⨆ j, ‖(v j : E)‖) ''
{v : Fin (i + 1) → L | LinearIndependent ℤ v}
/-- The `i`-th successive minimum of `L`. -/
noncomputable def successiveMinimum (i : ℕ) : ℝ := sInf (lambdaSet L i)
Then it's not hard to show (with some additional assumptions):
variable [NormedSpace ℝ E] [FiniteDimensional ℝ E] [hL : DiscreteTopology L]
theorem lambdaSet_finite_Iic (i : ℕ) (R : ℝ) : (lambdaSet L i ∩ Set.Iic R).Finite := sorry
theorem successiveMinimum_attained {i : ℕ} (hne : (lambdaSet L i).Nonempty) :
∃ v : Fin (i + 1) → L, LinearIndependent ℤ v ∧ ⨆ j, ‖(v j : E)‖ = successiveMinimum L i := sorry
It's a bit harder to show, but not too bad, so show
theorem successiveMinimum_set {i : ℕ} (hne : (lambdaSet L i).Nonempty) :
∃ v : Fin (i + 1) → L, LinearIndependent ℤ v ∧
∀ j : Fin (i + 1), ‖(v j : E)‖ = successiveMinimum L j := sorry
If you're OK with it, I'm happy to write that up!
Yaël Dillies (Feb 05 2026 at 06:07):
But then why not do it for any convex symmetric set? They all are the convex unit ball of some (semi)norm, namely their gauge: docs#gauge
Yaël Dillies (Feb 05 2026 at 10:20):
Btw I have some partial progress myself. Here it is: https://github.com/leanprover-community/mathlib4/compare/master...YaelDillies:successive_min
Yaël Dillies (Feb 05 2026 at 10:24):
I wanted to invite you to my fork so that you could push more stuff there, but I don't know your github handle! Please let me know once you have added it to your Zulip profile. Then I'll invite you
Kevin Wilson (Feb 05 2026 at 23:50):
Oh awesome! I’m @khwilson on GitHub
Kevin Wilson (Feb 05 2026 at 23:52):
An arbitary convex symmetric set includes, e.g., univ, and so some lemmas you’d expect to be true about successive minima (like they are positive) aren’t true for arbitrary convex symmetric sets.
So you can define it, but all the theorems I know assume something like “positive finite volume” or “bounded” which ends up implying the gauge is positive definite
Kevin Wilson (Feb 08 2026 at 19:36):
This is the version that I was working on, btw: https://gist.github.com/khwilson/8ccd681a4e1c46e92186cfb6020f9305
I like your approach to the directional set! Much cleaner than my reordering approach :-)
Yaël Dillies (Feb 08 2026 at 19:45):
Feel free to push stuff to my branch (and claim the copyright), I won't have time to work on this for the coming two months!
Antoine Chambert-Loir (Feb 09 2026 at 09:30):
What do you call the “second” Minkowski theorem on line 188? For me (and all the literature I ever read on the topic), it is the theorem on the product of successive minima, which is stronger than the theorem on the first minimum — that is sufficient to assert the existence of nontrivial lattice points.
Antoine Chambert-Loir (Feb 09 2026 at 09:31):
By the way, I feel useful that the definition of successive minima be not restricted to compact convex symmetric sets, but allow more flexibility. There are variants of the first Minkowski theorem in the non symmetric case, and the theory of indefinite forms is implicitly about non convex sets.
Antoine Chambert-Loir (Feb 09 2026 at 09:33):
While it is true that all compact convex symmetric sets come from (pseudo)norms, and norms are the relevant case for most practice, in mathlib, that would force the convex set to be given as an instance, and would probably make it complicated to play with several sets at once.
Yaël Dillies (Feb 09 2026 at 09:38):
Antoine Chambert-Loir said:
What do you call the “second” Minkowski theorem on line 188? For me (and all the literature I ever read on the topic), it is the theorem on the product of successive minima, which is stronger than the theorem on the first minimum — that is sufficient to assert the existence of nontrivial lattice points.
Is https://github.com/leanprover-community/mathlib4/compare/master...YaelDillies:successive_min#diff-d728076b79df3c449c6c40c677eca7d57697d5441e94647cd191a9abe59c3345R188-R194 not a theorem on the product of successive minima?
Yaël Dillies (Feb 09 2026 at 09:39):
Antoine Chambert-Loir said:
I feel useful that the definition of successive minima be not restricted to compact convex symmetric sets, but allow more flexibility. There are variants of the first Minkowski theorem in the non symmetric case, and the theory of indefinite forms is implicitly about non convex sets.
My version allows for this, a priori
Antoine Chambert-Loir (Feb 09 2026 at 12:22):
The theorem is about that, sorry, but the docstring doesn't seem to.
Kevin Wilson (Feb 26 2026 at 13:31):
OK, I got a chance to take a stab at this: https://github.com/leanprover-community/mathlib4/pull/35812
cc @Antoine Chambert-Loir @Yaël Dillies
The strategy ended up being a bit verbose (I took the sequential compactness approach, somewhat for my own edification). I also wasn't sure if there was a better place to move the filter inequalities. I searched the library for a bit, but no place seemed like a good home.
Kevin Wilson (Feb 26 2026 at 14:15):
(Also, sorry Yael, I didn't have permission to push to your branch, so I just copied your commit to my fork.)
Last updated: Feb 28 2026 at 14:05 UTC