FormalConjectures/Wikipedia/KomlosConjecture.lean
Explanation legend Lean4 Domain Explanation Language (L4DEL)
L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.
- L4DEL
- Lean4 Domain Explanation Language
Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.
Project sources: Pinned project documentation, Formal Conjectures paper, arXiv v1
3 declarations, 2 contain sorry, 0 declared as axioms
Komlós conjecture
The Komlós conjecture in discrepancy theory: there is a universal constant $K$ such that for all $n, m$ and all vectors $v\_1, \dots, v\_n \in \mathbb{R}^m$ with $\|v\_i\|\_2 \le 1$, there exist signs $\varepsilon\_i \in \{-1, +1\}$ such that $$\left\|\sum\_{i=1}^n \varepsilon\_i v\_i\right\|\_\infty \le K.$$
For a long time the best known bound was due to Banaszczyk, who proved that one can always achieve $O(\sqrt{\log n})$. The Beck–Fiala theorem on the discrepancy of sparse set systems is a special case (up to scaling), and the conjecture implies the Beck–Fiala conjecture that set systems of degree $t$ have discrepancy $O(\sqrt{t})$.
The conjecture was proved in September 2026 by Guo, Fang and Lu with $K = 3\sqrt{2\pi}$.
Karingula and Lovett gave an elementary proof with $K = 36$. A formalisation of their proof is
recorded in the formal_proof attributes below.
References:
- Wikipedia
- W. Banaszczyk, Balancing vectors and Gaussian measures of n-dimensional convex bodies, Random Structures & Algorithms 12 (1998), 351–360
- J. Spencer, Six standard deviations suffice, Trans. Amer. Math. Soc. 289 (1985), 679–706
- S. Guo, E. X. Fang and J. Lu, Vector balancing via directional total variation, arXiv:2609.11189
- S. R. Karingula and S. Lovett, An elementary proof of the Komlós conjecture, arXiv:2609.20979
Imports (1)
- theorem
KomlosConjecture.komlos_conjecturesorry line 66 sourcedepends on sorry what this means
Statement uses:
Exists,Real,And,LT.lt,OfNat.ofNat,Nat,Fin,LE.le,Finset.sum,Finset.univ,HPow.hPow,Or,Eq,Neg.neg,abs,HMul.hMulProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous36 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- theorem
KomlosConjecture.komlos_conjecture.variants.banaszczyksorry line 89 sourcedepends on sorry what this means
Statement uses:
Exists,Real,And,LT.lt,OfNat.ofNat,Nat,Fin,LE.le,Finset.sum,Finset.univ,HPow.hPow,Or,Eq,Neg.neg,abs,HMul.hMul,Real.sqrt,Real.log,HAdd.hAddProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous50 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- theorem
KomlosConjecture.komlos_conjecture.variants.zero_vectorsSanity check: with no vectors at all ($n = 0$), the empty signed sum is $0$ in every coordinate, so any constant bound holds line 101 sourceSource documentation
Sanity check: with no vectors at all ($n = 0$), the empty signed sum is $0$ in every coordinate, so any constant bound holds.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Fin,OfNat.ofNat,Real,Exists,And,Or,Eq,Neg.neg,LE.le,abs,Finset.sum,Finset.univ,HMul.hMulProof uses:
Exists.intro,Fin.elim0,And.intro,of_eq_true,Eq.trans,True,forall_congr,congrFun',congrArg,Finset.sum_congr,EmptyCollection.emptyCollection,Finset,Finset.univ_eq_empty,Membership.mem,Eq.refl,abs_zero,implies_true40 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem komlos_conjecture.variants.zero_vectors (m : ℕ) (v : Fin 0 → Fin m → ℝ) : ∃ ε : Fin 0 → ℝ, (∀ i, ε i = 1 ∨ ε i = -1) ∧ ∀ j, |∑ i, ε i * v i j| ≤ 1 := …