computo ergo sum

2026-10-01 · chapter Yang–Mills and the mass gapAppendicesLean and machine checking

The whole book Contents and reading orders
  1. Part 0 Entrance — how to read this book
  2. 0-01 How to read this book
  3. 0-02 One picture
  4. 0-03 Reading the problem statement word by word
  5. 0-04 Four dimensions in mathematics and four dimensions in physics
  6. Part 1 Mathematical preparation
  7. 1-01 Vector spaces and linear maps
  8. 1-02 What a group is
  9. 1-03 Lie groups and Lie algebras
  10. 1-04 SU(2) and SU(3)
  11. 1-05 Manifolds and tangent spaces
  12. 1-06 Differential forms and the exterior derivative
  13. 1-07 Vector bundles and connections
  14. 1-08 Probability and measure
  15. 1-09 Probability in infinite dimensions
  16. 1-10 Hilbert spaces and self-adjoint operators
  17. 1-11 Fourier analysis and distributions
  18. 1-12 Detour: what happens only in four dimensions
  19. Part 2 Physical preparation
  20. 2-01 Lagrangians and the action
  21. 2-02 The idea of a field
  22. 2-03 Electromagnetism is a gauge theory
  23. 2-04 Special relativity and spacetime
  24. 2-05 The bones of quantum mechanics
  25. 2-06 The harmonic oscillator and creation and annihilation
  26. 2-07 The idea of the path integral
  27. 2-08 Statistical mechanics and phase transitions
  28. 2-09 Detour: the gap and the correlation length in the Ising model
  29. 2-10 The relaxation time and the dynamical exponent z
  30. Part 3 Yang–Mills theory (classical)
  31. 3-01 The gauge principle
  32. 3-02 Non-abelian gauge fields
  33. 3-03 The action and the equations
  34. 3-04 Gauge theory as geometry
  35. 3-05 Instantons and topology
  36. 3-06 Detour: Donaldson and exotic R⁴
  37. 3-07 Yang–Mills inside the Standard Model
  38. Part 4 Quantisation
  39. 4-01 Canonical quantisation and the Hamiltonian
  40. 4-02 The path integral and Euclideanisation
  41. 4-03 Perturbation theory and Feynman diagrams
  42. 4-04 Divergences and renormalisation
  43. 4-05 The algebra of divergences
  44. 4-06 Asymptotic freedom
  45. 4-07 Dimensional transmutation and Λ
  46. 4-08 Gauge fixing and Faddeev–Popov
  47. 4-09 The axioms of quantum field theory
  48. 4-10 The Osterwalder–Schrader axioms and reconstruction
  49. 4-11 The definition of the mass gap
  50. 4-12 Detour: the perturbation series diverges
  51. Part 5 Lattice gauge theory
  52. 5-01 Wilson's lattice
  53. 5-02 The strong-coupling expansion
  54. 5-03 Reflection positivity and the transfer matrix
  55. 5-04 The infinite-volume limit and the cluster expansion
  56. 5-05 Weak coupling and the continuum limit
  57. 5-06 How U(1) differs from the non-abelian case
  58. 5-07 The Monte Carlo method
  59. 5-08 Measuring glueballs and the string tension
  60. 5-09 What to hold fixed when taking the limit
  61. 5-10 Lattice gauge theory with finite groups
  62. 5-11 Detour: Bakry–Émery and one-link integration
  63. Part 6 Constructive field theory
  64. 6-01 What constructive field theory is
  65. 6-02 Solvability in two dimensions and the Yang–Mills measure
  66. 6-03 Constructing scalar fields
  67. 6-04 The cluster expansion
  68. 6-05 The sequence of renormalisation group steps
  69. 6-06 Ultraviolet stability of three-dimensional Yang–Mills
  70. 6-07 Four dimensions
  71. 6-08 Triviality of φ⁴ in four dimensions
  72. 6-09 Stochastic quantisation and regularity structures
  73. 6-10 Where four dimensions stops
  74. 6-11 Obstacles other than divergence
  75. 6-12 Detour: "if 1/0 is given a symbol"
  76. Part 7 From the side of physics
  77. 7-01 How physics sees it
  78. 7-02 Mechanisms of confinement
  79. 7-03 The string picture
  80. 7-04 Large N
  81. 7-05 String theory and extra dimensions
  82. 7-06 How extra dimensions become invisible
  83. 7-07 Where gauge fields come from
  84. 7-08 Holography
  85. 7-09 The mass gap becomes geometry
  86. 7-10 Back to four dimensions
  87. 7-11 Supersymmetry and Seiberg–Witten
  88. 7-12 The sentence that plays the role of an equivalence principle
  89. 7-13 Where the way physics digs parts from mathematics
  90. Part 8 A dictionary of two languages — the physical and the mathematical view
  91. 8-01 How to read the dictionary
  92. 8-02 Dictionary A
  93. 8-03 Dictionary B
  94. 8-04 Dictionary C
  95. 8-05 The physical counterparts of our assumptions
  96. Part 9 Where things stand, and open tasks
  97. 9-01 How far the world has come
  98. 9-02 Where the two ways of digging part
  99. 9-03 Candidates for new concepts
  100. 9-04 The list of open tasks
  101. 9-05 Common misconceptions
  102. Part 10 Towards a proof of the mass gap — building the first step of the staircase
  103. 10-00 Entrance — the staircase, and the random walk, the ruler and the clock
  104. 10-01 The line of construction and Assumption H
  105. 10-02 Roads tried on the four-dimensional lattice, and walls
  106. 10-03 The four steps of the staircase — why we start from 0+1 dimensions
  107. 10-04 The path measure of the double well, and kinks
  108. 10-05 The statement of the first step — four conditions and Proposition 4.5
  109. 10-06 (H1) Local Poincaré within a phase
  110. 10-07 The map of (H2) — seven routes and the seam of the ring
  111. 10-08 What computer-assisted means — the conditions on the chain inside the window
  112. 10-09 The sector framework and the three strands of route 5
  113. 10-10 The list of detour plans — types of breakage
  114. 10-11 (H3)(H4) and the constant of the core
  115. 10-12 The integrated table and the dependency graph
  116. 10-13 Lean statements and the limits of machine checking
  117. 10-14 Reconciliation — the numbers of the record and the known numbers
  118. 10-15 What remains and its cost — the distance to a theorem
  119. 10-16 What is not claimed
  120. 10-17 Insights and small questions
  121. Part 11 Further considerations — beyond Assumption H, and other views
  122. 11-00 Further considerations — entrance
  123. 11-01 One form that obstructs H — a nearly conserved global quantity
  124. 11-02 Choosing the ruler and the coordinates again — the length at which conservation breaks
  125. 11-03 Two ways to repair H — the sector H and the local H
  126. 11-04 Which H the one-sided bridge needs
  127. 11-05 Making time continuous — the Hamiltonian lattice and the vacuum measure
  128. 11-06 Paying with rarity instead of convexity — renormalisation on groups and log-Sobolev
  129. 11-07 Because it is four dimensions — the dimensionless coupling and topology
  130. 11-08 Questions, and what is not claimed
  131. 11-A1 Table of notation for Part 11
  132. Appendices
  133. A-01 Table of notation
  134. A-02 Glossary
  135. A-03 Guide to the literature
  136. A-04 Lean and machine checking
  137. A-05 How this book was made
  138. A-06 Index of assumptions

Lean and machine checking — what the label "Lean" guarantees is only the arrow from premises to conclusion

What this chapter shows — What has been confirmed when something is "checked" in Lean (propositions are types, proofs are terms, and what is trusted is the kernel).
How to read the goals in the middle of a proof, and how to find sorry, native_decide and axioms (with the results of checking seven small files on this machine).
Four types in which a statement passes but does not say what was meant, how this book decides its labels, and the procedure by which readers can check things again themselves.

Prerequisite chapters — None. You can read this even if you have never used Lean. Detailed usage is in this site's guide to Lean (thirteen pages); this appendix is an entrance to it, and gathers the conventions for reading the labels in this book. The list of Lean theorems in this book is in 10-13, and the legend of the labels in 0-01.

Said first — The Lean label guarantees only that "the conclusion follows logically from the premises"; it does not guarantee that the premises are true, nor that the statement says the mathematics that was intended. The Lean theorems in this book are mainly statements about inequalities of real numbers and finite sums; nothing about the existence of four-dimensional Yang–Mills theory or the mass gap has been shown in Lean. The problem is unsolved.

Order of this chapter
  1. The role of this appendix — what the Lean label refers to among the five labels of this book, and the division of work with the guide pages
  2. Lean on one sheet — propositions are types, proofs are terms of those types, and only the kernel is trusted; Detour: the name of the correspondence between propositions and types
  3. One step at a time — the "goal" in the middle of a proof, and tactics (Figure 1, Table 1)
  4. Holes and axioms — sorry passes with only a warning; finding it with #print axioms (Table 2); Detour: using real numbers brings out the three axioms
  5. It passes, but is it what was meant? — the four gaps: definition, name, vacuous truth, assumption
  6. What the Lean statements in this book talk about — named real numbers, the "if assumption then conclusion" type, mathematics out of stock
  7. How the labels are decided — one label per sentence; the strength of a chain is its weakest step (Figure 2, Table 5)
  8. A procedure to check for yourself — the four stages of checking, the record of versions, seven questions (Table 7)

01

The role of this appendix — the label "Lean" and the guide pages

Sentences in this book carry five kinds of label (the legend in 0-01): Lean, Paper, Computed, Known and Physics. Of these, the Lean label looks the strongest and is the most easily misread.

The typical misreading is to read "checked in Lean" as "settled as true". What Lean confirms is that the written conclusion follows logically from the written premises. Whether the premises hold, and whether the statement says the intended mathematics, lie outside Lean. This appendix shows that boundary with small examples that were actually checked.

Written as a formula, a sentence with the Lean label has the following form.

P1, P2, …, Pk⏟premises: outside Lean  ⟹⏟the Lean label  Q⏟conclusion(1)\underbrace{P_1,\ P_2,\ \dots,\ P_k}_{\text{premises: outside Lean}}\ \ \underbrace{\Longrightarrow}_{\text{the Lean label}}\ \ \underbrace{Q}_{\text{conclusion}} \tag{1}

What the label guarantees is the arrow in the middle. If the premises PiP_i contain unproved assumptions (for example 10-01 The line of construction and Assumption H) or measured numbers, the conclusion QQ is conditional to the same extent. When this book cites a Lean theorem name, it writes the premises on the same line.

CPC_P (the Poincaré constant, Part 10), mm (the mass) and ξ\xi (the correlation length) are quantities of Part 10, but in this appendix it is enough to read them as plain real numbers.

Example. "If m>0m \gt 0, CP=1/m2C_P = 1/m^2 and CP≤Kξ2C_P \le K\xi^2, then 1≤K(mξ)21 \le K(m\xi)^2" is a statement that only multiplies both sides by m2m^2, and it can be confirmed in Lean (in §03 this machine actually checks it). But whether CP≤Kξ2C_P \le K\xi^2 holds in four-dimensional Yang–Mills theory has nothing to do with this arrow. That is an assumption.

The division of work between this appendix and this site's guide to Lean (thirteen pages) is as follows. The guide is an introduction to Lean itself, covering installation, how to assemble concrete proofs, and common pitfalls. This appendix restricts itself to the minimum needed to read this book, and to how this book decides its labels. The correspondence of each theorem's premises with the known results is listed in 10-13.

02

Lean on one sheet — propositions are types, proofs are terms, and the kernel is what is trusted

Lean is both a programming language and a tool for checking proofs. It can do both with one mechanism because it treats propositions as types, and proofs as values (terms) of those types.

In a program we write "3 is a value of the type of natural numbers Nat". In Lean, with the same notation, we write "p is a proof of the proposition PP".

3:Natp:P(2)3 : \mathtt{Nat} \qquad\qquad p : P \tag{2}

The formula on the right is read "pp has type PP", and that means "pp is a proof of PP". Type checking can be done mechanically, so checking proofs becomes mechanical too.

A proposition with premises becomes a function type. A proof of "if P1P_1 and P2P_2 then QQ" is a function that takes a proof of P1P_1 and a proof of P2P_2 and returns a proof of QQ.

(h1:P1)→(h2:P2)→Q(3)(h_1 : P_1) \to (h_2 : P_2) \to Q \tag{3}

This is what the arrow of formula (1) really is. In the declaration of a Lean theorem, the arguments lined up to the left of the colon (brackets like (hm : 0 < m)) are the premises, and the right of the colon is the conclusion. When reading, the most important thing is this row of brackets ("Make a list of the hypotheses" in the guide).

Example. The smallest example checked on this machine is the following one line.

theorem pos_nat (n : Nat) (h : 0 < n) : 0 < n := h

The premise h is itself the proof of the conclusion. It is a theorem with no content, but the form "a function that takes a premise and returns a conclusion" is clearly visible.

The other pillar is the kernel. The proof a person writes is a script lined up from tactics (commands that direct one step of a proof; §03), and Lean expands it into a term of the form of formula (2). Finally that term is type-checked by the kernel, a checker kept small. Even if a tactic has an error, a term the kernel does not pass does not become a theorem. Narrowing what is trusted down to the one kernel is where the trust in machine checking comes from ("Kernel and tactics" in the guide, How checking works).

Detour: the name of the correspondence between propositions and types

Detour You may skip this. The correspondence that sees propositions as types and proofs as terms is generally called the "Curry–Howard correspondence". In this view, the logical "implies" corresponds to a function type, "and" to a pair type, and "or" to a type with two kinds of value. Lean's logic is built on this correspondence, as a type theory with dependent types (types that may depend on values, as in "vectors of length nn"). For the history and the relation to other proof assistants, see "Where the idea came from" in the guide.
03

One step at a time — goals and tactics

When writing a proof in Lean, "what must be shown now" is always on the screen. This is called the goal. The goal is written to the right of the symbol ⊢\vdash, and the hypotheses that may be used are lined up above it. Each time one tactic is entered, a hypothesis or the goal is rewritten, and when no goals remain the proof is finished.

As an example we use the statement of §01 written in Lean. There are three premises (excluding the types of the variables). It is the same statement as hup_is_gap_positivity in 10-13, with only the names of the variables different.

m>0,CP=1m2,CP≤Kξ2  ⟹  1≤K(mξ)2(4)m \gt 0,\quad C_P = \frac{1}{m^2},\quad C_P \le K\xi^2 \ \ \Longrightarrow\ \ 1 \le K(m\xi)^2 \tag{4}

On paper it is three lines: "substitute CPC_P, multiply both sides by m2>0m^2 \gt 0, and tidy up". In Lean it takes four steps, and the second step, have, is preparation for multiplying by m2m^2. The correspondence is: substitution is step 1, multiplication is steps 2 and 3, tidying is step 4. In Lean, what each step rewrote is recorded mechanically. The numbers in Figure 1 (the text of the goals) are copied as they are from the states that Lean 4.33.1 on this machine output in the middle of the proof.

Figure 1 Advancing one tactic with "Next" shows the goal after it. Lines that changed from the previous state are shown in colour
When JavaScript is disabled, Table 1 below has the same content.
Step 0/4: Right after the declaration. The premises are lined up as hypotheses, and the goal is the conclusion itself.

ComputedThe numbers in this figure were computed on this machine (checked with Lean 4.33.1 with trace_state inserted after each step, and the output copied as it is; the figure omits the trace_state lines. The "No goals" of step 4 is not a copy of output; it was confirmed by finishing without errors). On a narrow screen the same content can be read in Table 1.

Table 1 has the same content as Figure 1.

Table 1 Each step of the proof of formula (4), and the state after it Computed
StageTactic enteredWhat changed
0(declaration)Hypotheses hm : 0 < m, hCP : CP = 1 / m ^ 2, hH : CP ≤ K * ξ ^ 2; goal ⊢ 1 ≤ K * (m * ξ) ^ 2
1rw [hCP] at hHThe CP in hH is replaced by 1 / m ^ 2
2have hm2 : 0 < m ^ 2 := by positivityThe hypothesis hm2 : 0 < m ^ 2 is added (positivity is an automatic step that shows something is positive)
3rw [div_le_iff₀ hm2] at hHhH changes to 1 ≤ K * ξ ^ 2 * m ^ 2 (a Mathlib lemma that clears the denominator)
4calc … := hH, _ = … := by ringThe goal closes (ring is an automatic step that shows ring identities)

How to read it. At step 3, hH has almost the same form as the goal; the only difference is the order of the product. The final ring confirms that reordering as an identity. You can see that the three lines on paper correspond to Lean's four steps with just one preparatory step added. Detailed examples of choosing steps in Lean are in "The skeleton of the proof" in the guide.

What Lean confirmed in this example is only algebra. Inside Lean, CPC_P is just a named real number, and that it is a Poincaré constant is not checked. We look at this point for the theorems of the whole book in §06.

04

Holes and axioms — sorry passes with only a warning

Lean provides two ways of skipping part of a proof. One is sorry, a mark meaning "fill this in later". The other is an axiom, a statement declared true without proof. With either, the theorem passes. So the fact that it "passed" alone does not tell you there are no holes.

The tool for finding holes is #print axioms. Given a theorem name, it lists which axioms that theorem ultimately depends on (following the statement and the proof). sorry is internally replaced by an axiom called sorryAx, so it shows up here. The Lean reference manual writes, as a checking procedure, "confirm that only the three standard axioms propext, Classical.choice and Quot.sound appear". The condition for the Lean label in this book has this form.

axioms⁡(theorem)⊆{propext, Classical.choice, Quot.sound}(5)\operatorname{axioms}(\text{theorem}) \subseteq \{\mathtt{propext},\ \mathtt{Classical.choice},\ \mathtt{Quot.sound}\} \tag{5}

The meanings of the three are, in order, "equivalent propositions are equal", "an element can be extracted from a proof of existence (the axiom of choice)" and "equivalent elements are equal in the quotient". A quotient is the set obtained by lumping together the elements regarded as the same under an equivalence relation (the set of equivalence classes), for example the classes of remainders of integers divided by 7. The everyday reasoning of mathematics (including the law of excluded middle) needs nothing more than these three. For details, see 10-13 Lean statements and the limits of machine checking and "Axioms" in the guide.

On this machine we checked seven small files. Table 2 is the result.

Table 2 Results of checking seven small Lean files, eight theorems (Lean 4.33.1) Computed
File (theorem)ContentExit codeWarnings, errorsOutput of #print axiomsSeconds
pos_natFor natural numbers, "if 0<n0\lt n then 0<n0 \lt n"0 (success)NoneDoes not depend on any axioms0.3
pow_mod_decide210 mod 7=22^{10} \bmod 7 = 2 by decide (computation inside the kernel)0NoneDoes not depend on any axioms0.4
pow_mod_nativeThe same statement by native_decide (computation with compiled code)0Nonepow_mod_native._native.native_decide.ax_1_1
pow_mod_wrongThe false statement 210 mod 7=32^{10} \bmod 7 = 3 by decide1 (failure)Error: showed that the proposition is false—0.4
gap_from_boundFormula (4) (Mathlib's real numbers)0NoneThe standard three5.2
gap_from_bound'The proof of formula (4) replaced by sorry0 (success)Warning: declaration uses `sorry`The standard three + sorryAx5.3
vacuousx=42x=42 from contradictory assumptions (§05)0NoneThe standard three5.3
mass_gap_positiveAn empty theorem with only a big name (§05)0NoneThe standard three5.2

Seconds are wall-clock time including loading import Mathlib (a 4-core machine, nice 19). Rows that load Mathlib take about 5 seconds for loading alone. The values are from one run in results.json and vary by about 10% from run to run (the exit codes, warnings and axiom rows are the same on re-running).

There are three things to read. First, a file containing sorry also passes with exit code 0. All that appears is a warning. If a checking record only says "no errors", the absence of sorry is not guaranteed. Second, native_decide creates one dedicated axiom just for that call. The Lean reference manual explains that this is so that what each axiom asserted can be audited individually. It differs by version: up to 4.28.0, every call appeared as depending on a common axiom Lean.ofReduceBool (with Lean.trustCompiler behind it). From 4.29.0, it changed to a dedicated axiom per call (of the form …ax_1_1 in Table 2). Axiom names change with the version, so this book judges by "is it a subset of the standard three?". Third, a false statement does not pass with decide.

Detour: using real numbers brings out the three axioms

Detour You may skip this. mass_gap_positive in Table 2 is "if 0<m0 \lt m then 0<m0 \lt m", and its proof just returns the premise. Even so, the standard three appear. For pos_nat (natural numbers), of the same form, nothing appears. The only difference is the type, so the three come from the side of the real numbers. #print axioms follows not only the proof but also the definitions appearing in the statement (including the type R\mathbb{R}). Mathlib's type of real numbers is built as a quotient of Cauchy sequences, and that definition itself depends on the three. In fact, even the empty theorem "True for an element mm of R\mathbb{R}" brings out the three. So theorems that talk about real numbers almost always bring out the three. That the three appear is not a sign that the proof is heavy.
05

It passes, but is it what was meant? — the four gaps

Even with no holes and only the standard three axioms, something is still unchecked: whether the statement says what it means to say. At the start of its checking procedure, the Lean reference manual writes that it is important to distinguish the question "does the theorem have a correct proof?" from the question "what does the statement of the theorem mean?". The latter cannot be checked by machine.

This site's page 8 of the guide divides this gap into four types (Table 3).

Table 3 The four gaps (the guide's classification, with examples from this book)
TypeWhat happensHow to find it
① DefinitionThe definition is weaker or stronger than intended (e.g. if "gap" is defined by ≥0\ge 0, it passes even with 00)Follow every definition appearing in the statement
② NameThe name of the theorem is bigger than the statementRead the statement, not the name
③ Vacuous truthThe premises cannot hold at the same time, so anything can be concludedBuild one concrete example that satisfies the premises
④ AssumptionWhat should be proved is placed in an assumption, and when it fails is not writtenMake a list of assumptions and look at the label of each

② and ③ actually occur in the last two rows of Table 2. mass_gap_positive carries the name mass gap, but the statement is "a positive number is positive". To Lean a name is just a string and guarantees nothing about the content. This is why, when this book cites a theorem name, it writes the statement and the premises on the same line.

An example of ③ is the following statement.

(x<0) ∧ (0<x) ⟹ x=42(6)(x \lt 0) \ \wedge\ (0 \lt x)\ \Longrightarrow\ x = 42 \tag{6}

The premises contradict each other, so the conclusion can be anything, and Lean passes it with a single linarith (an automatic step that combines linear inequalities). The more premises a theorem has, the harder this danger is to see. The way to check is to give one example that satisfies all the premises (a case where the answer is known, such as a free field). In Part 10 of this book, the role of an example satisfying all the premises is played by checking against the free field (10-16). Negative controls (10-13 Lean statements and the limits of machine checking) go the other way: they show that removing one assumption breaks the conclusion, confirming that the assumption is not decoration.

④ is the most important in this book. In a theorem that draws a conclusion from an unproved assumption such as Assumption H, the content is on the side of the assumption, and the theorem does not prove a single step of that assumption (10-13 Lean statements and the limits of machine checking).

06

What the Lean statements in this book talk about

A Lean theorem is a statement about typed objects. So looking at the types of a theorem's arguments tells you what the statement actually talks about. 10-13 Lean statements and the limits of machine checking divides the forty-six theorems that this book cites as conclusions into five layers by the types appearing in their statements. Exactly half, 23, are inequalities or identities of real numbers, and the theorems that have the lattice gauge field as a type are the 3 of 5-11.

Written as a formula, a sentence in this book with the Lean label consists of two parts.

a sentence of this book  =  (P1∧⋯∧Pk⇒Q)⏟checked by Lean  +  reading: "CP is the Poincareˊ constant of the Wilson measure", etc.⏟attached by the text; not checked by Lean(7)\text{a sentence of this book} \;=\; \underbrace{(P_1 \wedge \dots \wedge P_k \Rightarrow Q)}_{\text{checked by Lean}} \;+\; \underbrace{\text{reading: "}C_P\text{ is the Poincaré constant of the Wilson measure", etc.}}_{\text{attached by the text; not checked by Lean}} \tag{7}

Just as CPC_P was a named real number in the example of §03, in many theorems of this book CPC_P, ξ\xi and mm are real variables. Reading them as physical quantities is done in the text, and whether that reading is right lies outside Lean. The conventions for the reading (the definition of β\beta, the normalisation of tr, the metric of the lattice) are in 10-13 Lean statements and the limits of machine checking and A-01 Table of notation.

Why is there no theorem about the Wilson measure itself? One reason is stock. Counting words in the source of Mathlib, Lean's standard library of mathematics, in the version on this machine (the version is in Table 7 of §08) gave Table 4.

Table 4 Number of files, out of the 8,311 source files of Mathlib, that contain the word Computed
WordFilesWordFiles
Haar (Haar measure)70plaquette0
Wilson loop0lattice gauge0
Yang-Mills (three spellings)0spectral gap, SpectralGap0
Poincare inequality, PoincareInequality0

There are foundations for the uniform measure on a group (Haar measure), but the words of lattice gauge theory do not appear. The absence of a word is not a proof of the absence of a definition, but at least as named machinery, whoever uses it must build it from scratch. The guide's "Mathematics that mathlib has no stock of" divides the sources of such difficulty into three (quantity, way of stating, stock). The continuum limit and the construction of four-dimensional field theory lie beyond that (6-10).

Example. This site's paper (5-11) is one of the few examples that have the lattice gauge field as a type. Even there the Lean label is split by step: the chain from the action to a certain lower bound is Lean, and the step from that lower bound to the lattice mass gap is Paper (and only a sketch) (0-01).

Table 4b lists the bundles used in the assembly of the first step of Part 10, and Table 4c the bundles cited by Part 11. The rows are the same as Table 1 of 10-13; what a bundle guarantees is only the algebra, arithmetic and one-variable analysis from the list of assumptions to the conclusion. Every bundle follows the convention of writing the assumptions next to the theorem name (10-13 §04).

Table 4b The bundles of the first step (Part 10). The number of theorems is the number of #print axioms lines. On 2026-10-09 all bundles were rebuilt on another computer, and every line was confirmed to be a subset of the three standard axioms Lean
BundleTheoremsAlgebra of whatRepresentative theorem (assumptions)Chapter
LatticeGaugeOneScale12H↑, H↓ and rereading as mass (the equality version)hup_is_gap_positivity (0<m, C_P=1/m², C_P≤Kξ²)10-01
LatticeGaugeHupBridge18The one-sided bridge, the lower half of the power, negative controlhup_is_gap_positivity_of_lower (0<m_lat, κ/m_lat²≤C_P, C_P≤Kξ²)10-01
LatticeGaugeDoubleWellTestbed7The skeleton of the finite sums of Proposition Llocal_rayleigh_ratio_le_one (0<m, a_k≥m, c_k≥0, Σc_ka_k>0)10-04
LatticeGaugeTwoScalePoincare8Splitting of the variance, the convex core, two states, the Glauber bandsplit_poincare_le (the splitting formula, two local Poincaré inequalities, the mean difference, non-negativity)10-04, 10-05
LatticeGaugeDoubleWellKramers10From the sandwich of the ratio to the power form of Hpower_H_of_kink_ratio (0<K,s,δ, 1≤R≤K/ħ, s/ħ≤ln ξ)10-04, 10-05
LatticeGaugeH1Assembly17The algebra of the rates of Proposition H1, the arithmetic of the margins at the six nodesH1_assembly (seven named ones)10-06
LatticeGaugeCoarseSideUniform20The arithmetic of (T4), both sides of MuckenhouptT4_paper_numeric (λ_c≥1.3×10⁻⁴)10-06
LatticeGaugeIntervalQfreeWindow150Lemma TAU, from the cover to the window, recomputation of the rate-limiting cellwin_qfree_window_le_of_interval_table (the table of interval-arithmetic output)10-08
LatticeGaugeRingUnconditionedWindow20The assembly of the window of the chain outside the ringunc_window_lt_one_of_table (the table of interval-arithmetic output)10-07, 10-08
LatticeGaugeRingInnerChain22The ratio at the corner at the wall, the S_W of the ringsw_inner_le (q_in≤13/10, q_out≤0.998888530)10-07
LatticeGaugePartitionFramework14The sum over sectors, the Gibbs stage, the closing conditioncomp_close (X>0, b,A≥0, ℓ>0, Barta, (Σ.3), Bochner)10-09
LatticeGaugeRemVProxy23The assembly of Proposition P5path5_conditional (the remainder, the proxy ratio, the rarity and the margin, named)10-09
LatticeGaugeDetourKills, DetourKills217, 16The arithmetic of the lines that killed the detour plansLemmas by type10-10
LatticeGaugeBoxReduction23Lemma TP, even and odd boxes, averaging over shifts, controlsbox_shift_average (the two-family inequality for each shift, C_box≥0, sum of overlaps≤ℰ)10-05, 10-11
LatticeGaugeBoxGap18Proposition H4, c_kg, composition of H3 and H4H3_H4_compose (product of boxes, gap of the box, D=ħ/S₀, n,ħ,S₀>0, c_alt<1)10-05, 10-11
LatticeGaugeCoreMixing, CoreMaxCorr, CoreThreeStage15, 20, 18The three stages of the corethree_stage (the upper bound of each stage)10-11
LatticeGaugeCoreActionGap15The vanishing of the local term, drawing the line at the endscloc_term_vanishes ((ΔS_core), the reading of ξ, ΔS_*<2S₀)10-11
LatticeGaugeGlobalLyapunov21The algebra of the Lyapunov criterion, and a positive controlgauss1d_bbcg, gauss1d_equality (no assumptions)10-14
Table 4c The bundles cited by Part 11. Lean
Bundle (namespace)TheoremsAlgebra of whatRepresentative theorem (assumptions)Chapter
LatticeGaugeLocalH (LatticeGauge.LocalH)31Properties of the supremum defining the local Poincaré constant, the algebra of the charges of subregions, monotonicity of the window factor, the local bridgelocal_le_global (bounded above, non-empty, subset), wr_strictAntiOn (no assumptions), gap_lower_of_local_window (κ/(m²+w²)≤C_P, w²≤2m/(cℓ), C_P≤Kℓ²)11-01, 11-03, 11-04
LatticeGaugeLocalHReference (LatticeGauge.LocalHReference)11The bridge in ratio form, the algebra of the threshold K_*ratio_bridge, kstar_le_kappa (the assumptions of each are in the classification table of 11-04)11-03, 11-04
LatticeGaugeLocalHDoubleWell (LatticeGauge.LocalHDoubleWell)14The one-site ratio in 0+1, the three regimesone_slice_ratio (0<ε, 0<m, 0<ω)11-03, 11-04, 11-05, 11-06
LatticeGaugeGaugeReference (LatticeGauge.GaugeReference)16The gauge quotient reference, and that the reference vanishes when gauge fixing is removedkstar_gauge_measured (measured values), kstar_vanishes_without_gauge_fixing11-03, 11-04
LatticeGaugeWilsonLoopReference (LatticeGauge.WilsonLoopReference)14That the family of loops spans the quotient, that colour singlets have no first-order term, the threshold of the second chaosno_linear_singlet, chaos2_bracket11-04, 11-05
LatticeGaugeConservationLength (ConsLen)14The sandwich of the Gaussian gap of the stripneumann_gap_lower / upper (1≤M)11-01, 11-02
LatticeGaugeConservationExponent (ConsExp)16The interval arithmetic of the slope of the strip, the relation for ℓ_c, the decomposition of the ratelc_eq_iff (0<E, 0<λ, 0<ℓ), lamQ_log_split (0<κ, positivity)11-02
LatticeGaugeHierarchicalLink (HierLink)14The arithmetic of coordinates and gaps on the hierarchical latticelam_le (no assumptions), tree_no_decay (0<β)11-01, 11-02
LatticeGaugeFourDTrial (LatticeGauge.FourDTrial)8The finite sums of τ_int≤C_P, the one line in which H↑ breaks, and a negative controlnot_hup_of_fast_tau (τ_n≤C_n, cξ_n^p≤τ_n, p>2, ξ_n→∞), z_two_compatible_with_hup (no assumptions)11-01, 11-07
LatticeGaugeHupBridge (LatticeGauge.HupBridge)18The one-sided bridge, the rotor ratiohup_is_gap_positivity_of_lower (0<m, κ/m²≤C_P, C_P≤Kξ²), rotor_ratio_unbounded (0<r)11-00, 11-04, 11-05
LatticeGaugeCoreMaxCorr (LatticeGauge.CoreMaxCorr)20The algebra of the maximal correlation of the coreNot cited by name in the text of Part 11 (the core bundle of 10-11; background to the reduction to the box in 11-03)10-11 (referred to from 11-03)
AlternatingMaxCorrBloch33The Bloch quadratic formula for the alternating maximal correlationNot cited by name in the text of Part 11 (background to the alternating maximal correlation of the reduction to the box)10-11 (referred to from 11-03)
The bundle of the paper, EuclideanPath.GapBridge17The paper's version of the one-sided bridge (optimal over the family local in time, the rotor)local_rayleigh_le (the assumptions of each are in the classification table of 11-04)11-04, 11-05
07

How the labels are decided — one label per sentence

This book attaches labels sentence by sentence, not chapter by chapter or paper by paper, because even within one paper the label differs from step to step (the example in §06). Which label is attached is decided by the kind of guarantee the sentence has. Figure 2 puts that decision in the form of questions asked from the top down.

There is a reason for the order of the questions. The Lean label guarantees the arrow from premises to conclusion; the Known label refers to a proof in the literature, the Paper label to a proof on this book's side, the Computed label to a check over a finite range, and the Physics label to acceptance at the level of physics. The strong guarantees are asked first, and the first label that applies is attached. A sentence that matches none gets no label and is written as an "assumption" or a "question" (the questions of 10-17 carry no label).

When the sentences form a chain, read it as follows.

for the chain A0⇒A1⇒⋯⇒An, the certainty of the conclusion  =  the label of the weakest step(8)\text{for the chain } A_0 \Rightarrow A_1 \Rightarrow \cdots \Rightarrow A_n \text{, the certainty of the conclusion} \;=\; \text{the label of the weakest step} \tag{8}

If just one step is Paper, then even if all the other steps are Lean, the conclusion is at the level of Paper. If the starting point A0A_0 is an assumption, the conclusion is also conditional on it. The premises PiP_i of formula (1) correspond to this starting point.

Figure 2 Answering the questions from the top with "Yes / No" shows the path taken and the label attached. The example buttons pick one sentence of this book and show its path
When JavaScript is disabled, Table 5 below has the same content.
Examples:
Question 1: Is it a Lean theorem statement (no sorry, std. axioms)?

This figure puts the conventions for labels in 0-01 in the form of questions. It contains no numbers.

Table 5 Examples of sentences in this book, and the path they take in Figure 2
SentencePath taken (answers to questions 1–5)LabelChapter
Formula (4): m>0, CP=1/m2, CP≤Kξ2⇒1≤K(mξ)2m\gt 0,\ C_P=1/m^2,\ C_P\le K\xi^2 \Rightarrow 1\le K(m\xi)^2 (the same statement as hup_is_gap_positivity in 10-13)YesLean (with premises stated alongside)§03, 10-13
The one-loop coefficient b0b_0 (including 11N/311N/3)No → YesKnown4-06
The step from the one-link lower bound to the lattice mass gapNo → No → YesPaper (sketch)5-11
The behaviour of CP/L2C_P/L^2 in small boxes (L=3,4,5L=3,4,5) for the two-dimensional Ising modelNo → No → No → YesComputed2-10
The ratio of the glueball mass to the string tension from lattice numerical simulationsNo ×4 → YesPhysics5-08
Assumption H (at the level of powers, ln⁡CP/ln⁡ξ→2\ln C_P/\ln\xi\to2; the band statement is named Hband\text{H}_{\rm band}, and its upper half is H↑: CP≤Kξ2C_P\le K\xi^2)No ×5No label (assumption)10-01

How to read it. The Lean premise CP≤Kξ2C_P \le K\xi^2 in the first row of the table is H↑, the upper half of the band statement Hband\text{H}_{\rm band} of the assumption in the last row (A-06 Index of assumptions). In the first row it is a premise; in the last row, the claim of an assumption. The labels differ because the roles in the sentence differ.

08

A procedure to check for yourself

The Lean label presupposes that readers can check again on their own machines. The Lean reference manual describes checking as a staircase of four stages (Table 6). The lower stages are easier; the higher stages widen the range of doubt.

Table 6 The four stages of checking (from the structure of "Validating a Lean Proof" in the Lean reference manual)
StageWhat to doWhat it guards against
1See that the editor's check mark appears, or that lake build finishes with no warnings or errorsUnfinished proofs, sorry inside that theorem, honest mistakes in tactics
2Write #print axioms theorem-name after the theorem, and confirm formula (5)sorry inside theorems it depends on, extra axioms, native_decide
3Use lean4checker to pass the proofs saved by the build through the kernel againBugs in the core of Lean that handles the kernel's state, metaprograms or tactics that deliberately bypass checking
4Write only the statements in a trusted place, assemble the proofs in isolation with lake comparator, pass them again through both Lean's kernel and an external checker written independently of it, and also confirm that the statements matchMalicious proofs, implementation bugs present in only some of the checkers used

The manual itself positions stage 4 for high-risk settings, such as markets for proofs, competitions with large prizes, and AI whose intentions are not aligned. About stage 1, the manual warns that the check mark appears even if a dependency contains sorry. This is the same situation as gap_from_bound' in Table 2 having exit code 0, and it is why stage 2 is needed. The Lean labels in this book are attached to theorems that have been through at least stage 2.

The concrete procedure has the following form. How to install and match versions is in "Installing" in the guide and "Checking a distributed proof locally".

lake build                      # Stage 1: check the whole project
lake env lean File.lean         # check a single file only
#print axioms gap_from_bound    # Stage 2: write this inside the file

This site's Lean record (the list of theorems and the record of checking) is at the Lean record. Even the same proof may stop passing when the versions of Lean and Mathlib differ, because lemma names change. For this reason this book records the versions used for checking.

Table 7 The environment in which the examples of this appendix were checked Computed
ItemVersion
Lean4.33.1 (commit 819816b2)
Mathlibrev 0df444a3
Machinex86_64, 4 cores, Linux. Checking was run at low priority (nice 19)

Finally, we gather into seven the things to ask when you receive a sentence with the Lean label. This is the checklist of "The procedure for reading a statement" in the guide, adapted to the way this book is read.

  1. Is the theorem name given, so that you can check it again yourself (stage 1)?
  2. Is there no sorry, and do the axioms fit within the three of formula (5) (stage 2)?
  3. Have you followed every definition that appears in the statement (① of §05)?
  4. Did you read the statement rather than the name (② of §05)?
  5. Is one example satisfying all the premises given (③ of §05)?
  6. Are the list of premises and the label of each premise written (④ of §05, formula (8))?
  7. Where in the text is the reading of the real variables as physical quantities declared (§06, formula (7))?

The seventh is the question specific to this book. Many of the Lean theorems in this book connect to the mass gap problem only at this point, and that connection lies outside the Lean label.


What this chapter can say

What is saidWhat is not said
The output of Table 1, Table 2 and Figure 1 is exactly the result of checking seven small files with Lean 4.33.1 and Mathlib (the version in Table 7) on this machine.We do not say that other versions give the same output. In particular the names of the axioms for native_decide change with the version.
The Lean label guarantees the arrow from premises to conclusion (formula (1)). sorry passes with only a warning, and is found by #print axioms (Table 2).This appendix does not confirm the soundness of Lean's logic itself, or that the kernel has no bugs (stages 3 and 4 in the sense of the reference manual were not carried out for the examples of this appendix).
Of the four gaps, name and vacuous truth were shown with examples that actually pass (the last two rows of Table 2).This appendix does not confirm that the individual theorems of this book have no gaps. Read the premises and readings in each row of 10-13.
The words of lattice gauge theory (Wilson loop, plaquette, Yang–Mills and so on) do not appear in the source of Mathlib on this machine.The absence of a word is not a proof that the same content is not defined under another name.
How the labels are decided (Figure 2, Table 5) is a restatement of this book's conventions.A label shows the kind of guarantee; it is not a ranking of the importance or plausibility of sentences.
The Lean theorems of this book show neither the existence of four-dimensional Yang–Mills theory nor the mass gap. The problem is unsolved (10-16).

Sources and reproduction

ItemKindSource / tools
Table 1, Figure 1 (the states of the goal)ComputedLean 4.33.1 + Mathlib: e1_gap.lean (with trace_state after each step) checked with run.sh, and the output copied
Table 2 (exit codes, warnings, axioms and times of the seven files)Computedpython3: table.py checks the seven files e1–e7 in turn with run.sh and keeps them in results.json. The seconds column is from that one run
The observation in the detour "Using real numbers brings out the three axioms"ComputedLean 4.33.1 + Mathlib: e8_real_probe.lean (an empty theorem, and #print axioms on Real, CauSeq.Completion.Cauchy, Real.instZero and so on)
Word counts in the source of MathlibComputedmathlib_grep.sh (a case-insensitive search of 8,311 files)
Table 7 (versions)Computedlean --version and the Mathlib rev in lake-manifest.json (versions.txt)
The four stages of checking; distinguish "is there a correct proof?" from "what does the statement mean?"; the stage 1 mark appears even with sorry in a dependency; the three standard axioms; the common axiom Lean.ofReduceBool up to 4.28.0 (with Lean.trustCompiler behind it) and the dedicated axiom per call from 4.29.0KnownLean Reference Manual, “Validating a Lean Proof” (lean-lang.org/doc/reference/latest/ValidatingProofs/). Text read
native_decide creates a dedicated axiom for each callKnownLean Reference Manual, “Axioms” (lean-lang.org/doc/reference/latest/Axioms/). Text read. Agrees with the output of Table 2
Lean 4KnownL. de Moura, S. Ullrich, “The Lean 4 Theorem Prover and Programming Language”, CADE-28, LNCS 12699 (2021), doi:10.1007/978-3-030-79876-5_37. Bibliographic data only
Lean (the first system description)KnownL. de Moura, S. Kong, J. Avigad, F. van Doorn, J. von Raumer, “The Lean Theorem Prover (System Description)”, CADE-25, LNCS 9195 (2015), doi:10.1007/978-3-319-21401-6_26. Bibliographic data only
MathlibKnownThe mathlib Community, “The Lean Mathematical Library”, CPP 2020, doi:10.1145/3372885.3373824, arXiv:1910.09336. Bibliographic data only
The classification of the four gaps, the procedure for reading a statement, the three-way classification of stockArticle on this siteGuide 08, 09, 10
The layers of types of the theorems in this book (46 theorems; 23 only real numbers; 3 gauge fields)Computed (another chapter)10-13 Lean statements and the limits of machine checking
The legend of the labels, and how the labels of the paper in 5-11 are splitConventions of this book0-01, 5-11
The name "Curry–Howard correspondence"KnownAs a general name. The history is left to Guide 13; years and attributions are not stated here

Next chapter to read: A-05 How this book was made — how sentences and numbers were checked before labels were attached.

← A-03 Guide to the literatureContentsA-05 How this book was made →

Revised 2026-10-01: first version.
2026-10-09: added to §06 the table of the bundles of Part 10 (Table 5) and the table of the bundles of Part 11 (Table 6), and re-pointed the references to Part 10 to the new chapters.