Zulip Chat Archive

Stream: new members

Topic: Number Theory Group

George Shakan (Mar 07 2022 at 17:50):

I would like to write some number theory and/or additive combinatorics in lean, mostly to acclimate myself with using a theorem prover. Would anyone be interested to join me? I am open specific topics. Ideally, I would like someone who has some experience with theorem provers, as my experience is limited to the natural number game and the 9 exercise sets from the lean tutorials.

Johan Commelin (Mar 07 2022 at 17:54):

Welcome! I don't really know this part of maths. But it seems like Cauchy-Davenport is a fundamental result, and I don't think that has been formalized in Lean. How hard is the proof mathswise?

Johan Commelin (Mar 07 2022 at 17:54):

Probably @Bhavik Mehta and @Yaël Dillies are good people to talk to.

Bhavik Mehta (Mar 07 2022 at 17:57):

Welcome! You might also like to talk to @Thomas Bloom who I think may have a very similar mathematical background to you and a little bit of experience too

Thomas Bloom (Mar 07 2022 at 18:06):

Hi George! Indeed, I was just speaking to Bhavik a few days ago about formalising more additive combinatorics in Lean. (Bhavik has already formalised Solymosi's 5/4 sum-product exponent for sets of reals.)

One quite attainable project is to formalise a proof of a Freiman inverse result for subsets of F_p^n. The main steps here would be:

  • Ruzsa Triangle Inequality
  • Petridis' proof of Plunnecke inequality
  • Ruzsa covering lemma
  • A couple of elementary facts about vector spaces, that hopefully are already in Lean somewhere anyway.

I think probably formalising a proof of the Ruzsa Triangle inequality would be both very useful, and also a not-too-difficult exercise in learning how to use Lean beyond the tutorials you mentioned.

George Shakan (Mar 07 2022 at 18:08):

Thank you all for the extremely quick and friendly responses!

@Johan Commelin Cauchy Davenport is quite easy to prove, I even covered it in an undergraduate course.

Thomas Bloom (Mar 07 2022 at 18:09):

(And if you want to see an example of analytic number theory being done 'live' in Lean, Bhavik and I are currently working through formalising my recent paper on unit fractions, see https://b-mehta.github.io/unit-fractions/blueprint/index.html. This is an expanded 'blueprint' for reference when writing the Lean proofs, and if you hover over a Theorem's statement you should see a 'LEAN' thing appear for many of them, and clicking that will take you to the relevant piece of Lean code, where it's written.)

Yaël Dillies (Mar 07 2022 at 18:12):

Bahvik and I also formalized Szemerédi's regularity lemma and Roth's summer last summer and are somewhat planning on formalizing Szemerédi's theorem this summer.

Bhavik Mehta (Mar 07 2022 at 18:12):

I also formalised Behrend's lower bound on sets with no 3APs, and Yaël and I proved the little-o version of Roth's theorem using the regularity lemma, so you have some idea of what else is achievable; a couple of years ago the solution to the cap-set problem was also formalised

Jakub Kądziołka (Mar 07 2022 at 18:15):

huh, I was under the impression we don't have any ANT in mathlib

Kevin Buzzard (Mar 07 2022 at 18:27):

@George Shakan you can watch Bhavik's talk on the 5/4 result here.

Kevin Buzzard (Mar 07 2022 at 18:28):

George Shakan said:

Johan Commelin Cauchy Davenport is quite easy to prove, I even covered it in an undergraduate course.

What's easy on the whiteboard is not always easy in Lean...

George Shakan (Mar 07 2022 at 19:27):

@Yaël Dillies That certainly seems like a daunting task!

@Kevin Buzzard Thank you, I've heard of Solymosi's result before, it seems quite nice.

Last updated: Dec 20 2023 at 11:08 UTC