for Bernoulli bond percolation on in all dimensions : a guide to the Lean formalization
Abstract
This is a reader's guide to a Lean 4/Mathlib formalization proving that the percolation probability of nearest-neighbour Bernoulli bond percolation on vanishes at the critical point, , for every ; the cases , in particular , were open. The route is the reduction of Kozma and Nitzan (2024), who conjectured a family of “gluing” inequalities for percolation on arbitrary finite weighted graphs and proved that the weakest of them, their Conjecture 3, implies on for all . The development proves Conjecture 3 through a stronger additive gluing inequality—if for every then —which is in turn derived from a new family of conditioned covariance inequalities for increasing functions of a single open cluster, indexed by finite lists of auxiliary vertices and proved by induction on the list; its first member is the Harris inequality. Kozma–Nitzan's Theorem 6 and every classical input are re-proved inside the library, so the final statement has no hypothesis other than . The warrant for every claim is the Lean development, not this text.
Provenance and review status. The Lean sources of this development—definitions, statements and proofs, together with the statement file Challenge.lean, its proved twin Solution.lean and the metadata—were written by an AI system (Anthropic’s Claude models) working under my direction; no human wrote or edited the Lean code, and the first drafts of this guide were produced in the same way. Correctness rests on mechanical checking: the Lean 4 kernel accepts every file with no sorry outside the two deliberate placeholders of Challenge.lean, no added axioms and no unsafe code, and the main theorems depend only on the standard axioms propext, Classical.choice, Quot.sound; the compared theorems are additionally replayed in the independent nanoda kernel by the Lean comparator (see AUDIT.md). Neither the development nor this guide has yet been refereed by human mathematicians or by anyone independent of me; the only review so far was carried out by AI systems. Mechanical checking does not cover whether the formal statements express the intended mathematics: readers should satisfy themselves that Challenge.lean states the theorem of Section 2 (box “Statements to audit”).
1 Introduction
1.1 The model and the question
Bernoulli bond percolation on , introduced by Broadbent and Hammersley [9], declares every nearest-neighbour edge of open with probability , independently; is the product measure and the set of vertices joined to the origin by open paths. The percolation probability is and the critical probability satisfies for [22 Theorem (1.10)]. Since is non-decreasing, vanishes on , and is continuous on [36], [22 Theorem (8.8)]—the last fact resting on the uniqueness of the infinite cluster [2, 10]— is continuous on if and only if
i.e. if and only if there is almost surely no infinite cluster at the critical point [22 §8.3]. That (1) holds for every is conjectured—“open since at least the 80s” [29 p. 1]—and recorded as open in [22 pp. 14, 202–203], [13 Conjecture 1]. This guide describes a formal proof of (1) for all .
1.2 What was known
Two dimensions. Harris [26] proved on and Kesten [27] proved , building on Russo [31] and Seymour–Welsh [32]; together these give (1) for . Harris’ paper also contains the correlation inequality that bears his name (in general form Fortuin–Kasteleyn–Ginibre [18]), which with the van den Berg–Kesten inequality [37] is the basic tool of the subject. Sharpness—exponential decay of the cluster radius for , due to Menshikov [30] and Aizenman–Barsky [3], with short proofs by Duminil-Copin–Tassion [15, 16]—does not decide (1). High dimensions. Aizenman–Newman [5] introduced the triangle condition and Barsky–Aizenman [6] showed that it implies (1); Hara–Slade [24] verified it by the lace expansion in high dimension ( [25 Thm. 2.7]), and Fitzner–van der Hofstad [17] reached . Thus (1) was known for and and open for . Restricted geometries. Barsky–Grimmett–Newman [7] proved by a block argument at fixed that a half-space does not percolate at its critical point, which by Grimmett–Marstrand [23] equals , so [22 Thms. (7.2), (7.35)]; Duminil-Copin–Sidoravicius–Tassion [14] proved that slabs do not percolate at their own critical points. As Kozma and Nitzan stress [29 §1], in the block arguments the step from a finite-size criterion back to percolation needs an extra feature (the half-space, or an increase of ); that step in itself, at fixed , was missing.
1.3 The Kozma–Nitzan reduction
Kozma and Nitzan [29] proposed to supply the missing step by an inequality for percolation on finite graphs with arbitrary edge probabilities. For such a graph, vertices and a vertex set , with the event that is joined to some vertex of , their Conjecture 1 [29 p. 3] is
of which they write: “We were not able to prove or disprove this conjecture. Our belief that it holds is based on some (admittedly restricted) numerical evidence and on some simple cases where we were able to prove it.” They prove a stronger “pre-FKG” form for , for several configurations with , and for close to [29 Theorems 1–5]; they formulate variants (Conjecture 2; Conjecture 4 for monotone functions of the cluster [29 p. 32]); and they isolate the weakest statement of the family, Conjecture 3 [29 p. 15]: for every there is such that, for any finite weighted graph and any , and for all imply . The content is that does not depend on (for bounded the union bound gives ). Their main theorem is the reduction [29 Theorem 6]: if Conjecture 3 holds, then on for every , proved by a one-step renormalisation at fixed (Section 3.1). The paper is an arXiv preprint (v1, January 2024); Gladkov [19 §1] reports the conjectured inequality as open, and we are not aware of a proof in print of any of Conjectures 1–4 beyond the cases above.
1.4 What the formalization adds, and what it does not
The development proves Conjecture 3 (Corollary 2.3) through the additive gluing inequality (Theorem 2.2): if for all then —weaker than (2), since , and stronger than Conjecture 3 (take ). Additive gluing is derived from a family of conditioned covariance inequalities for increasing functions of a single open cluster, the conditioned slack hierarchy (Theorem 2.5), the one new object; its level-zero, unconditioned member is the Harris inequality. Kozma–Nitzan’s Theorem 6 with everything it invokes, and every correlation inequality used, are re-proved inside the library, so the formal statement carries no hypothesis other than . Our contribution is the finite-graph inequality; the reduction, and the insight that an inequality uniform in is what the renormalisation approach requires, are Kozma and Nitzan’s.
Not claimed. Conjectures 1 (2), 2 and 4 are neither proved nor stated in the release (the three-relay case of (2) is proved, Remark 3.2). Nothing is proved about the rate at which , critical exponents or the value of ; nothing new about site percolation, other lattices, or slabs (the slab theorem of [14] is formalised as a literature input only). Continuity of on , classically equivalent to (1), is not part of the formal statement. No lace expansion, triangle condition or numerics are used.
1.5 How to read this guide, and what to verify
The repository1 is laid out as a Palomar submission: a statement file Challenge.lean importing only Mathlib, which defines the lattice, the measure, , and the proposition PercolationContinuity d and states two theorems with placeholder proofs; its twin Solution.lean, proving the same theorems from the library Percolation; the comparator configuration comparator.json; and AUDIT.md, which lists what was mechanically checked and how to reproduce it. To decide whether the theorem is proved: read Challenge.lean (Section 2, box), run the build and comparator as in README.md, inspect the axiom listing. To see how: read Section 3 with the docstrings it names and Section 4. Where this text and a Lean statement differ, the Lean statement is what has been proved.
2 Main results
Notation. A finite weighted graph is a finite set with a weight on every unordered pair of distinct vertices (weight = absent edge); makes each pair open with probability independently (in Lean, , prodBernoulli w). is the vertex set of the open cluster of , the set of open pairs inside it (the edge cluster); (openConn u v), ; “increasing” means monotone for inclusion, and increasing functions of the edge cluster include those of the vertex cluster ; for an event .
Theorem 2.1 ( in all dimensions). For every integer , nearest-neighbour Bernoulli bond percolation on satisfies , where and . Lean: Percolation.Continuity.CSH.percolationContinuity_allDimensions (for all , PercolationContinuity d) in Percolation/Continuity/MainTheorem.lean, where PercolationContinuity d := theta (zdGraph d) 0 (criticalProbI d) = 0 (Percolation/Literature/CriticalContinuity.lean). Comparator-checked form over Mathlib-only definitions: BondPercolation.percolation_continuity in Solution.lean, against Challenge.lean. The case , , is CSH.percolationContinuity_three, comparator-checked as BondPercolation.percolation_continuity_Z3.
The ‘’ only fixes the degenerate case ; that this equals , and the equivalence with continuity of on , are standard and not part of the formal statement.
Theorem 2.2 (additive gluing). Let be a finite weighted graph, a set of vertices, vertices and . If for every , then
Lean: CSH.additiveGluing_holds : Statements.AdditiveGluing (MainTheorem.lean; statement in Continuity/Statements.lean).
For this is the union bound; the content is that it does not deteriorate with .
Corollary 2.3 (Kozma–Nitzan’s Conjecture 3). For every there is () such that for every finite weighted graph, every and all : and for all imply . Lean: CSH.kozmaNitzan_conjecture3_holds : KozmaNitzan2024_conjecture3 (MainTheorem.lean); the statement, typed from [29 p. 15] in Literature/KozmaNitzanReduction.lean, coincides with Statements.NearOneGluing by Iff.rfl (nearOneGluing_iff_conjecture3, Continuity/OfGluing.lean).
The hierarchy: what the next definition encodes. For an increasing and any vertex the Harris inequality gives : nonnegative slack between and “the cluster of the owner reaches ”. The hierarchy compares the slack seen at two observers: at level it says that the slack at is at least the fraction of the slack at , being the conditional probability that hangs on the cluster of . When Section 3.4 removes relays one at a time, each removed vertex survives as a decoy which has already explained the part of the slack at ; the level forms below subtract these parts, decoy by decoy, before the comparison is made. The induction proving the hierarchy (Section 3.3) runs in the complement of the cluster of an avoided set , which is why the covariances are conditioned on (the constants are nevertheless computed under , Remark 3.1). We write for the assertion of Theorem 2.5 for the datum with avoided set , owner , decoy list and observers (in Lean CSHHolds w x Y D o v).
Definition 2.4 (datum, constants, level forms). Let be finite with weights in on all pairs (in Lean, on every element of Sym2 V; diagonal pairs never matter). A datum is an owner , an avoided set , a list of distinct decoys ( is the level) and two distinct observers , the named vertices pairwise distinct and outside . Put , (), and define the decoy constants and the observer constant
computed under , not . For a real function on the level forms are ,
Lean: CSH.avoidConst, decoyList, obsConst, slForm, cshMarg in Continuity/CSH/Defs.lean.
Theorem 2.5 (the conditioned slack hierarchy). For a datum as above and an increasing real function of sets of pairs, let , . Then
At level this reads
and at level with it reads with , . Lean: CSH.cshHolds, concluding CSHHolds w x Y D o v (MainTheorem.lean; Lean’s D is the decoy list ; CSHHolds, cshMargin in CSH/Defs.lean). The formal margin is (6) times , each conditional covariance being carried in the polynomial form (CSH.covD); CSH.cshAll repackages the hypotheses over Fin n.
For and , (7) is the Harris inequality: with one has , and (the factor cancels against the conditioning in ), so that by the inequality reads . In general (7) says that, given that the owner avoids , the correlation of with “the owner reaches ” is at least the part of its correlation with “the owner reaches ” that is transported from to at the price .
3 Proof sketch
Roadmap. The proof has four steps, and it is easiest to read them from the lattice down to the finite graph. Step 1 (Section 3.1) is Kozma and Nitzan’s theorem: if the near-one gluing statement (Conjecture 3) holds on every finite weighted graph, then on for every . The mechanism is a renormalisation at fixed : an infinite cluster at lets one grow, box by box and with conditional probability close to one at each step, an infinite cluster inside a two-dimensional slab of , gluing being exactly what carries the cluster from one box into the next; but no slab percolates at . This step is re-proved in the library and nothing in it is new. Step 2 (Section 3.2) observes that Conjecture 3 follows at once from the additive gluing inequality (3). Step 3 (Section 3.4) derives additive gluing from the conditioned slack hierarchy: gluing through a set of relays is proved by removing the relays one at a time, and what makes the induction close is a transfer inequality comparing a covariance seen from one observer with the same covariance seen from another; the removed relays do not disappear but survive as “decoys” whose influence is discounted, and the transfer inequality with decoys is precisely level of the hierarchy. Step 4 (Section 3.3), the heart of the work, proves the hierarchy by induction on the level: conditioning on the cluster of the avoided set splits the margin into a “horizontal” part, controlled by the Harris inequality, a negative-correlation inequality of van den Berg–Häggström–Kahn and a new two-source inequality, plus one term per decoy which is a margin of lower level. The simplest instance of level zero is the Harris inequality itself. We present Step 4 before Step 3, because Step 3 consumes its notation. Schematically (each arrow is a theorem of the development; beside it, what it consumes):
The labels are those of the Lean docstrings, each defined where it is first displayed: (S5) is a surplus-transfer inequality between two observers, (S5D) the same with decoys, (GEN) a first-relay lower bound for a general increasing functional and (AG-loc) its indicator case, a localised union bound (Section 3.4); (T), (U), (H) and Hpart are the three steps and the horizontal term of Section 3.3. Every subsection follows the pattern Goal / Idea / The inequality / Why it holds / In Lean.
3.1 From Conjecture 3 to : the theorem of Kozma and Nitzan (Step 1)
Goal. Conjecture 3 on for every [29 Theorem 6]. Idea. Suppose . Then large boxes are joined to far-away targets with probability close to one, and gluing says that such near-certain connections can be chained without losing probability at each link, however many candidate link points there are. Chaining them along a planar grid of boxes builds, at the same , an infinite cluster confined to a thick two-dimensional slab; applied at this contradicts the fact that slabs, which sit inside a half-space, do not percolate at . For the conclusion is classical. Nothing in this step is new; we follow [29 §4] and record where the formal route differs from print.
The statement is the implication KozmaNitzan2024_thm6 (Literature/KozmaNitzanReduction.lean), proved as KozmaNitzan2024_thm6_holds (KozmaNitzanTheorem6SlabCritical.lean). Why it holds. : Harris’ and Kesten’s (percolationContinuity_two, CriticalContinuity.lean; harris_theta_half_holds, kesten_criticalProb_Z2_holds); the library gets from RSW estimates [31, 32] as in [8 Ch. 3] and by self-duality [22 Thm. (11.11)] with sharpness in the form of [16] (perc_sharpness_holds). : with the slab and , (a) if Conjecture 3 holds and then some slab percolates at the same (KozmaNitzan2024_slabPercolation_holds, KozmaNitzanTheorem6OfSlab.lean); (b) no slab percolates at (theta_slab_criticalProb_zd_eq_zero_holds); (a) at contradicts (b).
Half (b): by monotonicity in the graph (theta_induce_mono_holds), and is [7 Thm. 1.1] in the form [22 Thm. (7.35)] (BarskyGrimmettNewman1991_holds, HalfSpaceProofs.lean), proved for all by the block construction of [22 §7.3, Lemmas (7.36), (7.52)] (BGNd.lemma_7_36C, theta_pos_tall, theta_pos_flat): if , bricks on would be “good” with probability above a universal threshold, hence (finitely many edges) also at some , forcing . Deviation: [29 p. 25] and [22 (7.38)] take (b) from the Aizenman–Grimmett strict inequality [4]; the formal proof avoids it (a.s. no open cluster of is both infinite and of bounded height, BGNd.measure_percolatesVia_inter_heightLE_eq_zero). The slab theorem of [14] is formalised (DuminilCopinSidoraviciusTassion2016_holds) but off the main path.
Half (a): fix and with . Conjecture 3 enters only through the target lemma [29 Lemma 10] (KozmaNitzan.targetLemma, KozmaNitzanTargetLemma.lean): for every there is such that, in any finite weighted graph containing a copy of a lattice box with sub-box and a “target” reachable from every point near through a scaled hittable geometry [29 p. 16] (a region and a face such that, at this , a large box is joined to the scaled face inside the scaled region with probability tending to one), implies for all . The proof explores the cluster of inwards until a shell of is crossed by many branches, attaches seeds (bounded open edge sets at selected contact points [29 p. 19]), uses local uniqueness in mesoscopic boxes to funnel everything into one cluster, contracts the revealed configuration to a finite graph, and applies Conjecture 3 there with wired to a point. Inputs: the square-root trick [22 (11.14)] (sqrt_trick_holds) and local uniqueness [29 Lemma 7], which Kozma and Nitzan take from Cerf [11] while noting that uniqueness of the infinite cluster suffices; the library takes that route, re-proving uniqueness [2, 10], [22 Thm. (8.1)] (Grimmett1999_numInfiniteClusters_le_one_holds). Then come the corridor lemma [29 Lemmas 11–12] (KozmaNitzanCorridor.lean) and the renormalisation [29 pp. 25–31] (KozmaNitzanScheme, -Steps, -Theorem6.lean): an exploration of macroscopic sites of inside the region , each examined site being good with conditional probability given the past [29 (33)] (KozmaNitzan.KSch.fail_bound). Deviation: where [29 p. 25] conclude by domination of a supercritical site process (“we skip the details”), the library runs an explicit Peierls contour estimate with (DualContours.lean, HistorySiteRenormalization.lean), obtaining an infinite cluster in , hence in the slab (KozmaNitzan.exists_slab_theta_pos_of_three_le). Conjecture 3 is applied only to finite graphs built from finitely many boxes with edges contracted or deleted.
3.2 From additive gluing to Conjecture 3 (Step 2)
Goal. Theorem 2.2 Corollary 2.3. Why. Put ; under the hypotheses of Conjecture 3, (3) with gives . In Lean: additiveGluingSuffices_proof (AdditiveGluing/Suffices.lean), CSH.conjecture3_of_csh. Illustration (not part of the development). On the -cycle with all weights and , enumeration of the configurations gives , , ; (3) with reads .
We now turn to the finite-graph inequalities themselves: first the hierarchy (Step 4), then the derivation of additive gluing from it (Step 3).
3.3 The conditioned slack hierarchy (Step 4)
Goal. Theorem 2.5: for every datum and every increasing , . Throughout §§3.3–3.4 all weights lie in , so every event “ is joined to no vertex of a given set not containing ” has positive probability; the lattice symbols of §§1–3.1 do not occur. The symbols used more than once are:
| symbol | meaning | defined |
| ; ; | owner; avoided set; the conditional measure | Def. 2.4 |
| ; ; ; | decoys (level ); decoy constants; ; marker set | Def. 2.4, (4), (9) |
| ; | observers; observer constant ( avoids everything in play) | Def. 2.4, (4) |
| the level form “discount the decoys, then value at minus value at ” | (5) | |
| conditioned covariance of with “the owner reaches ” | Thm. 2.5 | |
| ; ; ; , | the world (vertices outside the cluster of ); its law under ; percolation on the graph induced on ; world covariance with “”, world price | (T), (11), (H) |
| ; | source set; “explore inside , evaluate on the rest” | (15) |
Idea (see also the paragraph before Definition 2.4). Harris gives nonnegative slack at every vertex ; gluing needs more, namely that the slack seen at is at least the fraction of the slack seen at , being the chance that hangs on ’s cluster, because that is what lets a connection be passed from to (level ). A relay removed in Step 3 has already explained the part of the slack at ; level says the transfer survives such discounts. The induction works in the complement of the cluster of a vertex set , whence ; the constants are nevertheless global (Remark 3.1).
Level is (7): with . The conditioning in cannot be dropped: on the path with both weights , and , the two edges are independent, so while ; the conditioned price is . Illustration (not part of the development). On the triangle with all weights , , , enumeration of the configurations gives , , , so the level- margin is .
Level with : the worked example. One decoy ; the statement is with , and plain covariances (). The mechanism of the whole proof is already visible here. Put , , and, for a vertex set , , where is the owner’s cluster in (pairs meeting deleted); thus and is increasing in . Since and is the complement of , one gets , and the last covariance equals because its second argument has mean by the choice of . Condition on : on the set misses , and given the configuration off is a fresh percolation on (the Markov property, (K2) below), so ; the constant integrates to once more, and centring at turns what is left into a covariance:
Taking (9) at minus times (9) at , the level-one margin equals
The first bracket is nonnegative by the set version (13) below of level , for the marker set (Harris and (K2)(b)). The second bracket is exactly the level- margin of the datum with owner , avoided set , no decoys and the same observers, at the functional —its observer constant is again —so it is nonnegative by level . Thus level at already consumes level with the non-empty avoided set at a functional that is not an indicator: the induction forces the hierarchy to be stated for all avoided sets and all increasing (the peeling of Section 3.4 independently needs ). Once the covariances live under and the computation above must be done conditionally on the cluster of : that is where the worlds and the two-source inequality below come from; at there is a single world, , and (14) is an identity.
General form. Definition 2.4 performs the discounts successively—the -th decoy is conditioned to avoid the owner, and the earlier decoys, which is what records—and Theorem 2.5 asserts . Two algebraic facts are used: over (CSH.cshMarg_eq_sum_single), and, with the form of (same ),
(CSH.cshMarg_cons). Since is linear and vanishes on constants, (6) is a finite family of polynomial inequalities in the weights.
Inputs. The proof of Theorem 2.5 uses four published inequalities, all re-proved in the library:
(K1) the Harris inequality [26], [22 Thm. (2.4)];
(K2) conditional association [34 Thms. 1.3–1.5, Remark 1]: for vertex sets , given , (a) two increasing functions of are positively correlated, (b) an increasing function of and one of are negatively correlated; and the Markov property of cluster exploration [34 Lemmas 2.3–2.4] (off the explored cluster of the configuration is a fresh percolation);
(K3) Gladkov’s decision-tree Harris–Kleitman inequality [19 Thm. 3.2] (classical case [26, 28]): if a decision tree run on two independent configurations reveals a random set of coordinates, then for increasing events , being on and elsewhere; for the tree exploring the cluster of a set , with exploration -algebra , this is for increasing : Harris survives stopping along an exploration (DecisionTree.PrW_mul_PrW_le_Pr2W_treeHK, TreeHarris.treeHarris_real; also the kernel form of Gladkov–Zimin [20 Ch. 5], [21], GladkovZiminKernel.lean);
(K4) the Ahlswede–Daykin four functions theorem [1] (Mathlib’s four_functions_theorem_univ): for a product measure on , for all implies .
Russo’s formula, RSW and the BK inequality (in the library for ) are not used on this path.
Why Theorem 2.5 holds: worlds, and three steps. Fix a datum and an increasing . Under explore the cluster and let , the world, with law ; on it contains . By the Markov property (K2), given the configuration on is a fresh percolation on the graph induced on (pairs meeting deleted); write for it, and set a world functional of to when a vertex it names is not in . Let and let be the world part: the margin computed inside each world, but with the global constants , then averaged. The proof is an induction on the level (skeleton CSH.cshHolds_of_unfold, AdditiveGluing/CSHInduction.lean) in three steps: (T) reduces the margin to the world part; (U) splits the world part exactly into a horizontal term plus one lower-level margin per decoy; (H) shows the horizontal term is nonnegative.
(T) Telescoping. Goal: if for every increasing , then (6) holds for every increasing . Idea: conditioning on the world loses the part of the covariance carried by the world itself; that part is again a covariance of the same shape for a new increasing functional, so one can iterate, and the iteration converges because the world is resampled from scratch with positive probability. Why: given the world, and are functions of the percolation on , so the law of total covariance under gives with , and two applications of the tower property ( is a function of , of ) rewrite the last term as with . The constants do not depend on , so applying the linear form : the margin of is plus the margin of . Here is the transition operator of the two-block Gibbs sampler alternately resampling given and given ; is again increasing (a larger leaves less room for , hence a larger world, and is increasing in ), and const since the chain regenerates with probability over the pairs leaving (the one use of ); iterating, the margin of is plus a term tending to . This is the scheme of [34 proof of Thm. 2.1] with Harris inside a world replaced by . In Lean: CSH.cshMargin_nonneg_of_within (CSH/LemmaT.lean), from BHK2006_multiMarkerCov_nonneg_of_within (Literature/TwoClusterGibbsCovariance.lean).
(U) Unfolding. Goal: an exact formula for . Idea: inside a world, “the owner reaches ” differs from “ is joined to the marker set ” exactly by the events “ hangs on a decoy that misses the owner”; the level form was built so that these differences, decoy by decoy, reassemble into margins of the same hierarchy with that decoy as the new owner. The identity: with and ,
where is the form of (same constants) and, for a vertex set ,
(, : clusters computed in ; in the first term only is deleted, not ): the mean excess of the owner’s cluster after deleting only the cluster of grown without , over the owner’s cluster after deleting . because on in the cluster does not meet and therefore lies inside the cluster of the first term; is increasing in because enlarging shrinks (so the first cluster grows) and shrinks (CSH.phiFun_nonneg, phiFun_mono); at it is the of the worked example. The point: the -th summand is times the margin of the datum (owner , avoided set , decoys , same observers) at the functional —a datum of lower level whose constants are literally —so the decoy terms are nonnegative by induction, and reduces to . At level with there is one world , and (11) is the decomposition of the worked example obtained from (9). Why (11) holds. Fix a world and work under . Iterating the disjoint decomposition , , along the recursion (5), as in the derivation of (9), gives the pointwise identity , where is the form of (CSH.slForm_jn); taking (linear, zero on constants) and averaging over , the first term yields Hpart. For the -th term, the -average of a world covariance is , being read in the world of the full configuration (Markov property at , CSH.markov_merge_Y); a decoy swallowed by is isolated in its world, so its term is constant there and integrates to against the residual (residual_orthogonal), while a decoy outside has the same cluster in the world as in and in becomes . Conditioning finally on (Markov property at ; on , misses and ), the residual times has conditional mean , the term producing the first half of (12) (CSH.sum_phiIntegrand_eq) and the second; centring at gives the covariance of (11), the factor coming from and (decoy_world_term). In Lean: CSH.within_unfold, subT_comb_nonneg (CSH/UnfoldMain.lean); decoy_world_term (CSH/UnfoldDecoy.lean).
(H) Horizontal part. Goal: . Idea: inside each world the required transfer from to holds with the world’s own price ; the price actually charged is the global , and although has no sign in a given world, on average over worlds the discrepancy helps. The inequalities: with the world’s own price write . The first integrand is nonnegative in every world by the set four-point transfer (stated under , applied under each )
and the second expectation is nonnegative by the two-source inequality
Here for every world functional , and because ; so (14) divided by is precisely . Why (13) holds: writing for , , and using ,
the first covariance on the right is by (K1) and is dropped; the inequality is (K2)(b) given ( is increasing in , in ); the last step is . For , , (13) is level zero (7)—the covariance form of Kozma–Nitzan’s two-relay mechanism [29 Thm. 1]. The two-source inequality (14) is where (K3) and (K4) enter. In Lean: CSH.hpart_nonneg (AdditiveGluing/CSHHtwBridge.lean), hpart_nonneg_of_htw (CSHHpart.lean); (14) is CSH.htw_world, from CovTau.p1H_univ (CovTau/A2H.lean).
The two-source inequality. Goal: (14). Idea: it is the diagonal case of an inequality with two independent “source sets” whose clusters are explored, of the type introduced by van den Berg–Kahn and van den Berg–Häggström–Kahn for connection probabilities; the novelty is that one of the four quantities is a covariance, which is not monotone in the configuration, and what replaces monotonicity is a one-source bound obtained from Harris’ inequality stopped along the exploration. The inequality: with worlds indexed by their vertex set as above, put , (so ) and ; for a source set and any world functional let : explore the cluster of inside and evaluate on what is left. Then (14) is the diagonal , of
(indeed and by the Markov property, and since vanishes on worlds not containing ). Why: the input about is the pair of one-source bounds, valid in every sub-world,
exploring the cluster of a source set and recomputing the covariance in what is left loses on average at least the fraction . Proof of (16): total covariance along ; the term that remains is by (K3), and (K2)(b) for the sets , supplies the factor; antitonicity of follows from the second bound. Base case of (15), : by (16), , and (K2)(a) for the cluster of given gives ; multiply. Induction on , the scheme of van den Berg–Kahn [35] and [34 proof of Thm. 1.1]: for , condition on the open star of (vertices joined to by an open edge), whose law is a product measure on and for which with computed in ; then each bracket in (15) is a -average, and (K4) is applied on to , , , , the pointwise hypothesis being (15) in the smaller world together with antitonicity in the source set. In Lean: CovTau.a2H, generic induction CovTau.metaA2_of_star (CovTau/MetaA2.lean), product law of the star CovTau/A2Push.lean, one-source bounds CovTau/StarH.lean, antitonicity CovTau/MetaA2Anti.lean.
Level zero in the formal development (an aside on the Lean route). The formal proof of level does not go through (T)+(H), although those steps are formalised for every level: the development treats separately (CSH.cshMargin_nil_nonneg, from CovTau.markerDominanceAvoid) and invokes (U) only for ; (7), denominator-free and for a general avoided set, is proved in Continuity/HullPort/ from a singleton-marker one-source bound of type (16) obtained from (K3) and (K2) (HullPort.CE_holds), by an induction on the avoided set in which the weight of one pair at a time is deformed (HullPort.bernstein_step, taQ_nonneg_of_Pv): the quantity to be shown nonnegative has the form with affine in , and a Bernstein-type identity expresses on through (the pair deleted or contracted, covered by the induction) and a cross term whose sign is (K2)(a) for the cluster of —without (K4).
Remark 3.1 (why global constants). Because the constants are computed under , the sub-system generated by in (11) is conditioned on exactly the event defining and the later constants are unchanged, so the decoy terms are lower levels of the same hierarchy; centring at world constants instead would require a two-source inequality with two different covariance functionals, which is not available; the global centring produces exactly (14).
We now have the hierarchy for every owner, avoided set, decoy list and pair of observers. The remaining issue is to turn this statement about one cluster and two observers into a statement about an observer and a whole set of relays.
3.4 From the hierarchy to additive gluing (Step 3)
Goal. Theorem 2.5 Theorem 2.2. Idea. Order the relays by how valuable they are (here: by ) and charge the failure of to reach to the first relay that holds; this localised union bound (AG-loc) gives additive gluing immediately, and it is the indicator case of a statement (GEN) about an arbitrary increasing functional of clusters: on the event that holds some relay, is on average worth at least the mean worth of the first relay held. (GEN) is proved by removing the most valuable relay; the cost of doing so is controlled by a surplus-transfer inequality (S5) between two observers, and (S5) in turn is proved by the same removal, the removed relays becoming decoys—which is where the hierarchy is consumed, twice per step.
The inequalities. Fix an increasing on vertex sets, . For a relay set list its elements so that is non-decreasing (a compatible rank); on the first relay is the relay of least rank in , and the events partition . The surplus of over its first relay is
(CSH.surplus); the second form shows independence of the rank, and . The links of (8) between CSH and (3) are
(S5) says the surplus seen from is at least that seen from , discounted by the probability that is glued to while misses the relays. (S5D) (relay set; decoy list; observers) is for a list of decoys with constants as in (4) ( avoiding , avoiding ; CSH.surplusMargin); (S5) is its case times , and for it is at —so with one relay, (S5D) is the hierarchy.
Why (S5D) (peeling). Weights in ; induction on for all decoy lists at once. Let be the top relay, , , , , . The bookkeeping fact: the constants of are those of , in which has become the first decoy. Then: (P) gives (surplus_erase_add); () , as on the first relay of has smaller mean—the only use of compatibility (kappa_le_surplus); (AC) , by at , for which (covD_psiIso); (N) by (10), , the form with one relay fewer and one decoy more. The middle term of (P) being times the margin of ,
by induction. Each step uses Theorem 2.5 twice; (S5) for consumes levels . In Lean: CSH.surplusMargin_nonneg_of_csh (CSH/Peel.lean, PeelTools.lean).
Why (S5)(GEN). By (17), (GEN) says . Weights in ; induction on using only (S5), (K1), (K2)(a). With as above ( in place of ) and , (P) gives , , and by (K2)(a) for the cluster of given , then (),
while (S5) for with reads ; subtracting, , which is (GEN) for if . If (possible with weights in ) then and by the induction hypothesis; this is its only use. In Lean: AGloc.gen_firstRank_of_surplusTransfer (AdditiveGluing/GenOfSurplusTransfer.lean; two relays directly in GenPair.lean).
Why (GEN)(AG-loc)(AG). At , and ; as the partition , (GEN) gives ; under this is , and . In Lean: AGloc.agloc_firstRank_of_gen, additiveGluing_of_agloc_firstRank (AdditiveGluing/OfAGloc.lean).
Boundary cases. Peeling gives (S5) for weights in and outside ; and are elementary (surplus_nonneg_of_mem), and weights in (absent and contracted edges) follow by closure: by the min-form in (17) both sides of (S5) are rank-free polynomials in the weights (CSH.surplus_eq_minForm), so (S5) passes from to , the set of pairs (weights_le_of_forall_pos_lt_one, AGloc.exists_rank_compat; AdditiveGluing/OfSurplusTransfer.lean, SurplusClosure.lean).
Remark 3.2 (Kozma–Nitzan’s Conjecture 1 for three relays). The library proves the following (CovTau.kn_conj1_three, Percolation/Continuity/CovTau/OfTA.lean): on a finite weighted graph, for vertices with , and , and every real , one has . Up to relabelling the relays so that is non-decreasing, this is Conjecture 1 (2) for . The general Conjecture 1, and Conjectures 2 and 4, are not addressed in this development.
3.5 Assembly: proof of Theorem 2.1 from the pieces
(i) Theorem 2.5 holds: strong induction on the level , the step being (T)+(U)+(H) of Section 3.3 with (H) fed by the two-source inequality (14) (CSH.cshHolds cshHolds_of_unfold with within_nonneg_of_hpart and hpart_nonneg). (ii) By Section 3.4, peeling turns Theorem 2.5 into (S5D), hence (S5), hence (GEN), hence (AG-loc), hence Theorem 2.2 for weights in , and closure gives all weights (CSH.additiveGluing_of_csh, CSH/AdditiveGluingOfCSH.lean). (iii) By Section 3.2, Theorem 2.2 with is Corollary 2.3 (CSH.conjecture3_of_csh). (iv) By Section 3.1, Kozma–Nitzan’s Theorem 6 applied to Corollary 2.3 gives on for every (CSH.percolationContinuity_of_csh via KozmaNitzan2024_thm6_holds); is percolationContinuity_three. (v) Solution.lean transports percolationContinuity_allDimensions along bridge (Iff.rfl: the two PercolationContinuity propositions unfold to the same term), and the comparator checks that the statement proved is that of Challenge.lean.
4 Guide to the formalization
Size and pins. 251 Lean files, 97,574 lines (87,136 non-blank): about 12,200 lines in 63 files under Percolation/Continuity/ (this work) and 85,000 in 183 files under Percolation/Literature/, plus Percolation.lean, Util/Linter.lean, Challenge.lean, Solution.lean, scripts/Axioms.lean. Toolchain leanprover/lean4:v4.32.0; Mathlib commit 81a5d257c8e4 (its tag v4.32.0), pinned [12, 33]. Table 1 is the module map.
| folder / file | contents | key declarations |
Challenge.lean, Solution.lean | statement file (Mathlib only); proved twin | BondPercolation.percolation_continuity, percolation_continuity_Z3, bridge |
Continuity/MainTheorem, Statements, OfGluing | main theorems; gluing statements | CSH.cshHolds, additiveGluing_holds, kozmaNitzan_conjecture3_holds, percolationContinuity_allDimensions |
Continuity/CSH/ (12 files) | Definition 2.4, Theorem 2.5; (T), , (U); peeling | CSHHolds, cshMargin, cshMargin_nonneg_of_within, within_unfold, phiFun_mono, surplusMargin_nonneg_of_csh |
Continuity/AdditiveGluing/ (13) | induction skeleton; (H); (S5)(GEN)(AG); weight closure | cshHolds_of_unfold, hpart_nonneg, gen_firstRank_of_surplusTransfer, additiveGluing_of_agloc_firstRank, surplusTransfer_of_nondegenerate |
Continuity/CovTau/ (19), HullPort/ (12), LowerTail/ (4) | two-source (15), one-source (16); level-zero chain; tree-Harris for real functions | metaA2_of_star, a2H, p1H_univ, markerDominanceAvoid, taQ_nonneg_of_Pv, treeHarris_real, kn_conj1_three |
Literature/Basic, CriticalContinuity, LatticeModels/ | the model; product measures; weight continuity | zdGraph, bondPercolation, theta, criticalProb, prodBernoulli, PercolationContinuity |
Literature/KozmaNitzan* (16) | [29 §§2–4]: Conj. 3, Thm. 6, Thms. 1, 3, 4, 7, 8, Lemmas 6–12 | KozmaNitzan2024_conjecture3, KozmaNitzan2024_thm6_holds, targetLemma, KozmaNitzan2024_slabPercolation_holds |
Literature/HalfSpace*, Tall*, Flat*, Slab*, Uniqueness*, DualContours | BGN via [22 §7.3]; DST; uniqueness; contours | BarskyGrimmettNewman1991_holds, DuminilCopinSidoraviciusTassion2016_holds, Grimmett1999_numInfiniteClusters_le_one_holds |
Literature/Harris*, Kesten*, RSW*, Russo*, PlanarDuality, SharpnessDCT* | harris_theta_half_holds, kesten_criticalProb_Z2_holds, rsw_half_holds, russo_formula_holds, perc_sharpness_holds | |
Literature/ConditionalPositiveAssociation*, TwoCluster*, TwoSet*, DecisionTree*, TargetExploration*, GladkovZiminKernel | [34] Thms. 1.1–1.5 and §2.1; [19 Thm. 3.2]; [20 Ch. 5]; Harris | BHK2006_clusterConditionalPositiveAssociation_holds, BHK2006_twoSetConditionalAssociation, BHK2006.harris, PrW_mul_PrW_le_Pr2W_treeHK, ED_ED_le_ED_diag |
Table 1. Module map. Paths relative to Percolation/; declarations live in Percolation.Continuity (sub-namespaces CSH, AGloc, CovTau, HullPort) or Percolation.Literature.
Re-proved versus new. Everything under Literature/ re-proves published results from Mathlib (docstring tags [cite: Key, locator] resolve in references.bib; a literature result is a def AuthorYear_result : Prop discharged by theorem AuthorYear_result_holds; nothing is assumed). Re-proved in this way are the results in the lower half of Table 1 (Kozma–Nitzan’s Theorems 1, 3, 4, 6, 7, 8 and Lemmas 6–12 among them). Everything under Continuity/ is this work (a [cite:] tag there points to a statement a lemma specialises, not to a source of its proof): new are Theorem 2.5, Theorem 2.2, Corollary 2.3 and the chain between them, including (S5), (GEN), (AG-loc), (14), (15).
Trusted base and checks. All seven main theorems depend only on propext, Classical.choice, Quot.sound (scripts/Axioms.lean); sorry occurs twice, in Challenge.lean by design; no axiom declarations, no unsafe code. lake exe cache get && lake build builds the default targets (about 6 minutes, per AUDIT.md); the CI script runs the Palomar acceptance check—the Lean comparator2 with lean4export, the independent nanoda kernel and the landrun sandbox—on comparator.json. formalization.yaml records scope, divergences and review status for the Palomar registry3. The docstrings are machine-written working notes, a map rather than an exposition.
5 Limitations and open directions
Other conjectures of Kozma–Nitzan. Conjecture 1 (2) is proved only for (CovTau.kn_conj1_three, stated with its hypotheses in Remark 3.2); the general Conjecture 1, Conjectures 2 and 4, and Questions 5–9 of [29 §5] are not addressed in this development. Rates. Nothing quantitative is proved: no bound on as , on the tail of at , or on beyond . Other models. The lattice theorem is proved only for nearest-neighbour bond percolation on ; site percolation, other lattices and long-range models would need the reduction re-run there; nothing new is proved about slabs. Exposition. A conventional written proof refereed by experts does not yet exist.
Acknowledgements. The reduction that makes this result accessible is due to Gady Kozma and Shahaf Nitzan. The Lean formalization and the first drafts of this document were produced by Claude (Anthropic) working under my direction; I am responsible for the final text and for any errors. I thank Ralph Furman and Levent Alpöge for reading and comments. The formalization stands on Lean 4, on Mathlib and its community, and on the Lean comparator, lean4export, nanoda and the Palomar template.
References
- [1]Ahlswede, R., & Daykin, D. E. (1978). An inequality for the weights of two families of sets, their unions and intersections. Zeitschrift für Wahrscheinlichkeitstheorie und Verwandte Gebiete, 43(3), 183–185. https://doi.org/10.1007/bf00536201
- [2]Aizenman, M., Kesten, H., & Newman, C. M. (1987). Uniqueness of the infinite cluster and continuity of connectivity functions for short and long range percolation. Communications in Mathematical Physics, 111, 505–531. https://doi.org/10.1007/BF01219071
- [3]Aizenman, M., & Barsky, D. J. (1987). Sharpness of the phase transition in percolation models. Communications in Mathematical Physics, 108(3), 489–526. https://doi.org/10.1007/BF01212322
- [4]Aizenman, M., & Grimmett, G. (1991). Strict monotonicity for critical points in percolation and ferromagnetic models. Journal of Statistical Physics, 63(5-6), 817–835. https://doi.org/10.1007/bf01029985
- [5]Aizenman, M., & Newman, C. M. (1984). Tree graph inequalities and critical behavior in percolation models. Journal of Statistical Physics, 36(1-2), 107–143. https://doi.org/10.1007/BF01015729
- [6]Barsky, D. J., & Aizenman, M. (1991). Percolation critical exponents under the triangle condition. The Annals of Probability, 19(4), 1520–1536. https://doi.org/10.1214/aop/1176990221
- [7]Barsky, D. J., Grimmett, G. R., & Newman, C. M. (1991). Percolation in half-spaces: equality of critical densities and continuity of the percolation probability. Probability Theory and Related Fields, 90(1), 111–148. https://doi.org/10.1007/bf01321136
- [8]Bollobás, B., & Riordan, O. (2006). Percolation. Cambridge University Press. https://doi.org/10.1017/CBO9781139167383
- [9]Broadbent, S. R., & Hammersley, J. M. (1957). Percolation processes. I. Crystals and mazes. Proceedings of the Cambridge Philosophical Society, 53, 629–641. https://doi.org/10.1017/S0305004100032680
- [10]Burton, R. M., & Keane, M. (1989). Density and uniqueness in percolation. Communications in Mathematical Physics, 121(3), 501–505. https://doi.org/10.1007/bf01217735
- [11]Cerf, R. (2015). A lower bound on the two-arms exponent for critical percolation on the lattice. The Annals of Probability, 43(5), 2458–2480. https://doi.org/10.1214/14-aop940
- [12]de Moura, L., & Ullrich, S. (2021). The Lean 4 theorem prover and programming language. In A. Platzer & G. Sutcliffe (Eds.), Automated Deduction—CADE 28 (Vol. 12699, pp. 625–635). Springer. https://doi.org/10.1007/978-3-030-79876-5_37
- [13]Duminil-Copin, H. (2018). Sixty years of percolation. Proceedings of the International Congress of Mathematicians—Rio de Janeiro 2018. Vol. IV. Invited Lectures, 2829–2856. https://doi.org/10.1142/9789813272880_0162
- [14]Duminil-Copin, H., Sidoravicius, V., & Tassion, V. (2016). Absence of infinite cluster for critical Bernoulli percolation on slabs. Communications on Pure and Applied Mathematics, 69(7), 1397–1411. https://doi.org/10.1002/cpa.21641
- [15]Duminil-Copin, H., & Tassion, V. (2016). A new proof of the sharpness of the phase transition for Bernoulli percolation and the Ising model. Communications in Mathematical Physics, 343(2), 725–745. https://doi.org/10.1007/s00220-015-2480-z
- [16]Duminil-Copin, H., & Tassion, V. (2016). A new proof of the sharpness of the phase transition for Bernoulli percolation on ℤᵈ. L'Enseignement Mathématique, 62(1-2), 199–206. https://doi.org/10.4171/lem/62-1/2-12
- [17]Fitzner, R., & van der Hofstad, R. (2017). Mean-field behavior for nearest-neighbor percolation in d > 10. Electronic Journal of Probability, 22(43), 1–65. https://doi.org/10.1214/17-EJP56
- [18]Fortuin, C. M., Kasteleyn, P. W., & Ginibre, J. (1971). Correlation inequalities on some partially ordered sets. Communications in Mathematical Physics, 22, 89–103. https://doi.org/10.1007/BF01651330
- [19]Gladkov, N. (2024). Percolation Inequalities and Decision Trees. https://arxiv.org/abs/2408.08457
- [20]Gladkov, N. (2025). Inequalities for connectivity events in Bernoulli percolation [Ph.D. thesis, University of California, Los Angeles]. https://escholarship.org/uc/item/4h82d4n1escholarship.org/uc/item/4h82d4n1
- [21]Gladkov, N., & Zimin, A. (2024). On Harris–Kleitman type inequalities. https://www.math.ucla.edu/~gladkovna/Papers/Induction_hypercube_inequalities.pdfmath.ucla.edu/~gladkovna/Papers/Induction_hypercube_inequalities.pdf
- [22]Grimmett, G. (1999). Percolation (2nd ed., Vol. 321). Springer-Verlag. https://doi.org/10.1007/978-3-662-03981-6
- [23]Grimmett, G. R., & Marstrand, J. M. (1990). The supercritical phase of percolation is well behaved. Proceedings of the Royal Society of London. Series A: Mathematical and Physical Sciences, 430(1879), 439–457. https://doi.org/10.1098/rspa.1990.0100
- [24]Hara, T., & Slade, G. (1990). Mean-field critical behaviour for percolation in high dimensions. Communications in Mathematical Physics, 128(2), 333–391. https://doi.org/10.1007/BF02108785
- [25]Hara, T., & Slade, G. (1994). Mean-field behaviour and the lace expansion. In G. Grimmett (Ed.), Probability and phase transition (Cambridge, 1993) (Vol. 420, pp. 87–122). Kluwer Academic Publishers. https://doi.org/10.1007/978-94-015-8326-8_6
- [26]Harris, T. E. (1960). A lower bound for the critical probability in a certain percolation process. Proceedings of the Cambridge Philosophical Society, 56, 13–20. https://doi.org/10.1017/S0305004100034241
- [27]Kesten, H. (1980). The critical probability of bond percolation on the square lattice equals ½. Communications in Mathematical Physics, 74, 41–59. https://doi.org/10.1007/BF01197577
- [28]Kleitman, D. J. (1966). Families of non-disjoint subsets. Journal of Combinatorial Theory, 1, 153–155. https://doi.org/10.1016/S0021-9800(66)80012-1
- [29]Kozma, G., & Nitzan, S. (2024). A reduction of the θ(pc) = 0 problem to a conjectured inequality. https://arxiv.org/abs/2401.12397
- [30]Menshikov, M. V. (1986). Coincidence of critical points in percolation problems. Doklady Akademii Nauk SSSR, 288(6), 1308–1311.
- [31]Russo, L. (1978). A note on percolation. Zeitschrift für Wahrscheinlichkeitstheorie und Verwandte Gebiete, 43(1), 39–48. https://doi.org/10.1007/BF00535274
- [32]Seymour, P. D., & Welsh, D. J. A. (1978). Percolation probabilities on the square lattice. Annals of Discrete Mathematics, 3, 227–245. https://doi.org/10.1016/S0167-5060(08)70509-0
- [33]The mathlib Community. (2020). The Lean mathematical library. Proceedings of the 9th ACM SIGPLAN International Conference on Certified Programs and Proofs (CPP 2020), 367–381. https://doi.org/10.1145/3372885.3373824
- [34]van den Berg, J., Häggström, O., & Kahn, J. (2006). Some conditional correlation inequalities for percolation and related processes. Random Structures & Algorithms, 29(4), 417–435. https://doi.org/10.1002/rsa.20102
- [35]van den Berg, J., & Kahn, J. (2001). A correlation inequality for connection events in percolation. The Annals of Probability, 29(1), 123–126. https://doi.org/10.1214/aop/1008956324
- [36]van den Berg, J., & Keane, M. (1984). On the continuity of the percolation probability function. In Conference in modern analysis and probability (New Haven, Conn., 1982) (Vol. 26, pp. 61–65). American Mathematical Society. https://doi.org/10.1090/conm/026/737388
- [37]van den Berg, J., & Kesten, H. (1985). Inequalities with applications to percolation and reliability. Journal of Applied Probability, 22(3), 556–569. https://doi.org/10.2307/3213860