Zulip Chat Archive

Stream: new members

Topic: Isoperimetric inequality


JH (Nov 26 2025 at 21:26):

Hi all,

As a first project to learn Lean, I have written up a proof of the isoperimetric inequality, Brunn-Minkowski inequality, and Prekopa-Leindler inequality. The code is here: https://github.com/hojonathanho/isoperimetric/ and the theorem statements are:

import Mathlib
open MeasureTheory Pointwise

def PLConditions (n : ) (θ : ) (f g h : (Fin n  )  ENNReal) : Prop :=
  0 < θ  θ < 1 
  Measurable f  Measurable g  Measurable h 
  ( x y, (f x) ^ (1 - θ) * (g y) ^ θ  h (x + y))

theorem prekopa_leindler
    {d : } {θ : } {f g h : (Fin (d + 1)  )  ENNReal}
    (hθfgh : PLConditions (d + 1) θ f g h)
    : ENNReal.ofReal ((1 - θ) ^ ((d + 1) * (1 - θ)) * θ ^ ((d + 1) * θ))⁻¹
      * (∫⁻ x, f x) ^ (1 - θ) * (∫⁻ x, g x) ^ θ  ∫⁻ x, h x := sorry

theorem brunn_minkowski
    {d : } {A B : Set (Fin (d + 1)  )}
    (hA_nonempty : A.Nonempty) (hA_measurable : MeasurableSet A)
    (hB_nonempty : B.Nonempty) (hB_measurable : MeasurableSet B)
    (hAB_measurable : MeasurableSet (A + B))
    : volume A ^ ((d : ) + 1)⁻¹ + volume B ^ ((d : ) + 1)⁻¹
       volume (A + B) ^ ((d : ) + 1)⁻¹ := sorry

theorem isoperimetric_inequality
    {d : } {ε : } ( : ε > 0) {A : Set (EuclideanSpace  (Fin (d + 1)))}
    (hA_nonempty : A.Nonempty) (hA_measurable : MeasurableSet A) (hA_finite : volume A  )
    : (d + 1) * (volume A) ^ (1 - ((d : ) + 1)⁻¹)
      * volume (Metric.ball (0 : EuclideanSpace  (Fin (d + 1))) 1) ^ ((d : ) + 1)⁻¹
       (volume (A + Metric.ball 0 ε) - volume A) / ENNReal.ofReal ε := sorry

I'd appreciate any comments or suggestions for improvement. The proofs follow this blog post by Terence Tao.
(I only recently became aware of an existing effort in Zulip to formalize these theorems; I apologize and I didn't mean to scoop this effort.)

Kevin Buzzard (Nov 26 2025 at 21:52):

(can you edit your post, adding imports to make it a #mwe ? It's easier for other people to just click the top right of your code and see/run it live if you do).

Yongxi Lin (Aaron) (Nov 27 2025 at 00:39):

Are you aware of this project: https://github.com/Brunn-Minkowski-in-Lean/BrunnMinkowski?

JH (Nov 27 2025 at 00:50):

Sorry, I was not aware of that project since I neglected to search Zulip until too late.

Yongxi Lin (Aaron) (Nov 27 2025 at 01:02):

There is no need to apologize :joy: , I just think you should try to contact with contributors of the project I mentioned.

Shreyas Srinivas (Nov 27 2025 at 01:05):

Was there use of AI?

JH (Nov 27 2025 at 01:07):

I used Claude to learn Lean syntax, learn how to use lake, and suggest how to shorten proofs of theorems I had already proved. Other than that, everything was written and checked manually by me.


Last updated: Dec 20 2025 at 21:32 UTC