The Beck--Fiala theorem: discrepancy at most
ProvedKomlos.beck_fiala(Beck--Fiala 1981.) Let be an matrix with entries in — the incidence matrix of sets over elements — in which every column has at most ones: every element belongs to at most sets. Then there are signs with
The bound depends only on the degree , not on or . The hypothesis is necessary for the formal statement (a degree- system has discrepancy , but would be ).
import Mathlib import Definitions.Def_Komlos_model
namespace Komlos
theorem beck_fiala (t n m : ℕ) (ht : 1 ≤ t) (A : Fin m → Fin n → ℝ)
(h01 : ∀ i j, A i j = 0 ∨ A i j = 1)
(hdeg : ∀ j, ({i | A i j = 1} : Finset (Fin m)).card ≤ t) :
∃ ε : Fin n → ℝ, IsSignVector ε ∧
∀ i, |∑ j, A i j * ε j| ≤ 2 * (t : ℝ) - 1 := by sorry
end KomlosRead-back
What the Lean code literally says, in plain math · claude-fable-5
Read-back of Komlos.beck_fiala.
The statement quantifies over three natural numbers (any of which may be , except that is constrained by a hypothesis below), a hypothesis , and a real matrix with rows and columns, i.e. a function assigning a real number to each row index and column index . It assumes:
- (0/1 entries) for every row and column , either or ;
- (column degree bound) for every column , the number of row indices with is at most .
Under these hypotheses it asserts the existence of a vector of real numbers which is a sign vector — here this is the unfolded content of the custom predicate IsSignVector, meaning that for every index , either or — such that for every row ,
where the bound is the non-strict inequality , the sum ranges over all columns, and is computed in the real numbers after coercing the natural number (so no truncated natural-number subtraction occurs; since , the bound is at least ).
Degenerate cases silently included by the quantifiers: if there are no rows, so the final condition on rows holds vacuously (any sign vector works); if the sign vector is the empty vector, every sum is the empty sum , and the bound holds since . Nothing in the statement requires the rows (viewed as sets of columns) to be distinct or nonempty, and the hypothesis excludes only the case . The declaration is stated with its proof omitted (sorry), so the file records the claim, not a completed proof.
Confirmed by the mission captain (proposal self-audit).