Article and explanatory supplements
Status and accompanying verification files
The complete verification archive is available at https://github.com/apongracz86/Ramsey56/releases/tag/v1.0-review . The three parts reproduce the article, the worked explanation, and the detailed mathematical specification. The archive verification.tar.xz preserves the verification files and their directory structure. Its SHA-256 digest is
88ded8db2254dec75be80e476d684334a685654e3c5a4108cf9c10422bdd3d67
File names cited in the three parts refer to that distribution. Its README and the specification give the reproduction recipes. The article states the external mathematical inputs. The specification explains the calculations performed by each verification program.
I The article
Graphs, counts, and the statement
All graphs in this paper are finite, undirected, and simple: there are no loops or multiple edges. For a graph X X X , write V ( X ) V(X) V ( X ) for its vertex set, E ( X ) E(X) E ( X ) for its edge set, and n = ∣ V ( X ) ∣ n = |V(X)| n = ∣ V ( X ) ∣ for its order. For a vertex v ∈ V ( X ) v \in V(X) v ∈ V ( X ) , its neighborhood N X ( v ) N_X(v) N X ( v ) is the set of vertices adjacent to v v v , and d v = d X ( v ) = ∣ N X ( v ) ∣ d_v = d_X(v) = |N_X(v)| d v = d X ( v ) = ∣ N X ( v ) ∣ is its degree. For S ⊆ V ( X ) S \subseteq V(X) S ⊆ V ( X ) , X [ S ] X[S] X [ S ] denotes the induced subgraph: its vertices are S S S and its edges are all the edges of X X X with both ends in S S S . The complement X ‾ \overline{X} X has the same vertices and exactly the pairs which are not edges of X X X .
A clique is a vertex set whose distinct vertices are pairwise adjacent; an independent set is a vertex set containing no edge. Define
R ( s , r , n ) = { X : ∣ V ( X ) ∣ = n , X has no clique of size s and no independent set of size r } . \mathcal{R}(s,r,n) = \{X : |V(X)| = n,\ X\text{ has no clique of size }s\text{ and no independent set of size }r\}. R ( s , r , n ) = { X : ∣ V ( X ) ∣ = n , X has no clique of size s and no independent set of size r } .
We also call a member of this family an ( s , r ) (s,r) ( s , r ) -graph of order n n n . The Ramsey number R ( s , r ) R(s,r) R ( s , r ) is the least n n n for which R ( s , r , n ) \mathcal{R}(s,r,n) R ( s , r , n ) is empty.
We use the following statistics of a graph:
e ( X ) = ∣ E ( X ) ∣ e(X) = |E(X)| e ( X ) = ∣ E ( X ) ∣ , the number of edges;
t ( X ) t(X) t ( X ) , the number of unordered three-element vertex sets inducing a triangle;
w ( X ) = ∑ v ∈ V ( X ) ( d v 2 ) w(X) = \sum_{v\in V(X)} \binom{d_v}{2} w ( X ) = ∑ v ∈ V ( X ) ( 2 d v ) , the number of choices of a vertex and an unordered pair of its neighbors;
q ( X ) = w ( X ) − t ( X ) q(X) = w(X) - t(X) q ( X ) = w ( X ) − t ( X ) .
The pair of neighbors counted by w ( X ) w(X) w ( X ) may itself be adjacent. Thus a triangle contributes three to w ( X ) w(X) w ( X ) , while an induced three-vertex path contributes one. Consequently
q ( X ) = 2 t ( X ) + # { three-element sets inducing a path in X } . q(X) = 2t(X) + \#\{\text{three-element sets inducing a path in }X\}. q ( X ) = 2 t ( X ) + # { three-element sets inducing a path in X } .
For a triangle, ( e , t , q ) = ( 3 , 1 , 2 ) (e,t,q) = (3,1,2) ( e , t , q ) = ( 3 , 1 , 2 ) ; for a three-vertex path, ( e , t , q ) = ( 2 , 0 , 1 ) (e,t,q) = (2,0,1) ( e , t , q ) = ( 2 , 0 , 1 ) . All these counts are integers. When the graph is specified, we abbreviate them to e , t , w , q e,t,w,q e , t , w , q .
For every vertex v v v of the graph under discussion, put
A v = X [ N X ( v ) ] , B v = X [ V ( X ) ∖ ( N X ( v ) ∪ { v } ) ] . A_v = X[N_X(v)], \qquad B_v = X[V(X) \setminus(N_X(v) \cup\{v\})]. A v = X [ N X ( v )] , B v = X [ V ( X ) ∖ ( N X ( v ) ∪ { v })] .
These are the induced subgraphs on the neighbors and on the nonneighbors of v v v , respectively; neither contains v v v . Their orders are d v d_v d v and n − 1 − d v n-1-d_v n − 1 − d v . The same definitions apply when X X X is a smaller graph considered in an intermediate calculation.
Theorem. Subject to the small Ramsey bounds and complete catalogue inputs stated in Section I.3, R ( 5 , 6 , 84 ) R(5,6,84) R ( 5 , 6 , 84 ) is empty. Therefore R ( 5 , 6 ) ≤ 84 R(5,6) \le84 R ( 5 , 6 ) ≤ 84 .
The small Ramsey bounds and catalogue completeness are established in the cited sources. The verification programs check the inequalities derived from these inputs and the final contradiction by exact arithmetic.
The route through the proof
Suppose that a counterexample X ∈ R ( 5 , 6 , 84 ) X \in R(5,6,84) X ∈ R ( 5 , 6 , 84 ) exists. We first determine its possible vertex degrees. We then obtain restrictions on the counts e e e , t t t , q q q in each A v A_v A v and B v B_v B v . The word local refers to these neighborhoods or to smaller specified subsets of V ( X ) V(X) V ( X ) .
We write equations that every possible graph X X X and each of its neighborhoods would have to satisfy. We allow additional solutions that may not come from graphs. This larger system is called a relaxation . An inconsistency in the larger system rules out the existence of graphs as well.
The final system describes the proportions of the different graphs induced by seven-element subsets of V ( X ) V(X) V ( X ) . Its contradiction is a weighted sum of valid inequalities. The weights are supplied in the electronic supplement. Understanding why an inequality is valid and checking the arithmetic of its saved weights are separate tasks; the reader’s instructions in Section I.10 explain both.
Degrees and the first counting identity
Let X ∈ R ( 5 , 6 , 84 ) X \in R(5,6,84) X ∈ R ( 5 , 6 , 84 ) . For a v ∈ V ( X ) v \in V(X) v ∈ V ( X ) , a four-clique in A v A_v A v , together with v v v , would be a five-clique in X X X . An independent six-set in A v A_v A v would already be one in X X X . Hence A v ∈ R ( 4 , 6 , d v ) A_v \in R(4,6,d_v) A v ∈ R ( 4 , 6 , d v ) . Similarly, an independent five-set in B v B_v B v , together with v v v , would be an independent six-set in X X X , so B v ∈ R ( 5 , 5 , 83 − d v ) B_v \in R(5,5,83-d_v) B v ∈ R ( 5 , 5 , 83 − d v ) .
The bounds R ( 4 , 6 ) ≤ 40 R(4,6) \le40 R ( 4 , 6 ) ≤ 40 and R ( 5 , 5 ) ≤ 46 R(5,5) \le46 R ( 5 , 5 ) ≤ 46 (see [I.1, Table Ib, p. 7] and [I.2, Theorem 1.1]) now give d v ≤ 39 d_v \le39 d v ≤ 39 and 83 − d v ≤ 45 83-d_v \le45 83 − d v ≤ 45 . Thus every vertex has degree 38 or 39. The four possible local families are precisely
If x x x vertices have degree 39, the sum of the degrees is 38 ( 84 − x ) + 39 x = 3192 + x = 2 e ( X ) 38(84-x)+39x=3192+x=2e(X) 38 ( 84 − x ) + 39 x = 3192 + x = 2 e ( X ) . Therefore x x x is even and e ( X ) = 1596 + x / 2 e(X)=1596+x/2 e ( X ) = 1596 + x /2 .
The first relation between the two kinds of neighborhoods is
∑ v ∈ V ( X ) [ e ( B v ) − e ( A v ) − d v ( 42 − d v ) ] = 0. (1) \sum_{v\in V(X)}\left[e(B_v)-e(A_v)-d_v(42-d_v)\right]=0. \tag*{(1)} v ∈ V ( X ) ∑ [ e ( B v ) − e ( A v ) − d v ( 42 − d v ) ] = 0. (1)
We give the double count, since it is also the first example of the identities used in the proof. In an arbitrary graph of order n n n , each triangle contributes one edge to each of three neighborhoods. Thus ∑ v e ( A v ) = 3 t ( X ) \sum_v e(A_v)=3t(X) ∑ v e ( A v ) = 3 t ( X ) . For an edge u w uw u w , write c u w = ∣ N X ( u ) ∩ N X ( w ) ∣ c_{uw}=|N_X(u)\cap N_X(w)| c u w = ∣ N X ( u ) ∩ N X ( w ) ∣ . The number of vertices adjacent to neither u u u nor w w w is n − d u − d w + c u w n-d_u-d_w+c_{uw} n − d u − d w + c u w . Counting an edge inside a nonneighborhood in this way gives
∑ v e ( B v ) = ∑ u w ∈ E ( X ) ( n − d u − d w + c u w ) = n e ( X ) − ∑ v d v 2 + 3 t ( X ) . \begin{aligned}
\sum_v e(B_v) &= \sum_{uw\in E(X)}(n-d_u-d_w+c_{uw}) \\
&= ne(X)-\sum_v d_v^2+3t(X).
\end{aligned} v ∑ e ( B v ) = u w ∈ E ( X ) ∑ ( n − d u − d w + c u w ) = n e ( X ) − v ∑ d v 2 + 3 t ( X ) .
Here d v d_v d v occurs once for each of the d v d_v d v edges at v v v , and every triangle contributes one common neighbor to each of its three edges. Subtract ∑ v e ( A v ) \sum_v e(A_v) ∑ v e ( A v ) and use e ( X ) = 1 2 ∑ v d v e(X) = \frac{1}{2}\sum_v d_v e ( X ) = 2 1 ∑ v d v . The result is
∑ v [ e ( B v ) − e ( A v ) − d v ( n / 2 − d v ) ] = 0. \sum_v \left[e(B_v)-e(A_v)-d_v(n/2-d_v)\right]=0. v ∑ [ e ( B v ) − e ( A v ) − d v ( n /2 − d v ) ] = 0.
Putting n = 84 n=84 n = 84 proves (I.1). This is the simplified form of [I.3, Theorem 2.2, m = 2], also stated in [I.2, equation (1.2)]. The last term in (I.1) is 152 for degree 38 and 117 for degree 39.
To use this identity we need information about the possible edge and triangle counts inside A v A_v A v and B v B_v B v . The next sections explain where that information comes from, before introducing its numerical bounds.
What the small graph catalogues supply
A complete catalogue for R ( s , r , m ) \mathcal{R}(s,r,m) R ( s , r , m ) lists one representative of every graph in that family up to isomorphism. Two graphs are isomorphic if a bijection of their vertex sets preserves adjacency. Counts such as e , t , q e,t,q e , t , q are unchanged by such a bijection, so one representative suffices for checking an inequality involving these counts. The catalogues used here are supplied on Brendan McKay’s Ramsey-graph page [I.4]. They cover the following families:
Table 3.
An edge class fixes both the order m m m and the exact edge count. The last line supplies complete catalogues only for those 26 classes, not for every ( 4 , 5 ) (4,5) ( 4 , 5 ) -graph on 19 through 23 vertices. The files from r45extreme.tar.gz identify each class by its order and edge count; the packaged distribution contains the extracted graph6 files. The other required edge classes are handled by proved outer bounds, described in Section I.6.
For example, r36_13.g6.gz encodes the complete 13-vertex ( 3 , 6 ) (3,6) ( 3 , 6 ) catalogue in compressed graph6 format. Graph6 encodes graph adjacency. The file r36_13.g6.gz.profiles records the distinct tuples ( m , e ( Y ) , t ( Y ) , q ( Y ) ) (m,e(Y),t(Y),q(Y)) ( m , e ( Y ) , t ( Y ) , q ( Y )) extracted from those graphs. Several nonisomorphic graphs may have the same tuple. Once the profile has been computed, a linear inequality in these statistics can be checked on one copy of each distinct profile.
The published small Ramsey bounds used with these data are
R ( 3 , 5 ) = 14 , R ( 3 , 6 ) = 18 , R ( 4 , 4 ) = 18 , R ( 4 , 5 ) = 25 , R(3,5)=14,\qquad R(3,6)=18,\qquad R(4,4)=18,\qquad R(4,5)=25, R ( 3 , 5 ) = 14 , R ( 3 , 6 ) = 18 , R ( 4 , 4 ) = 18 , R ( 4 , 5 ) = 25 ,
and the two bounds used in Section I.2. The R ( 4 , 6 ) ≤ 40 R(4,6)\le40 R ( 4 , 6 ) ≤ 40 result is recorded in the survey [I.1], which attributes the computations to Angeltveit and McKay through personal communications from 2020 and 2024. A separate full publication of that computation is not supplied here. The bound R ( 5 , 5 ) ≤ 46 R(5,5)\le46 R ( 5 , 5 ) ≤ 46 is [I.2, Theorem 1.1].
We also use the edge-count intervals recorded in [I.2, Appendix A, Table 1]:
Table 4.
These are bounds on every graph in the corresponding R ( 4 , 5 , m ) \mathcal{R}(4,5,m) R ( 4 , 5 , m ) family. Every integer edge count between the stated endpoints must be covered in the proof. Absence of a catalogue file is not evidence that an edge class is empty.
For the smaller common-neighborhood cells used later, we also need the established minimum-edge formula for ( 3 , 6 ) (3,6) ( 3 , 6 ) -graphs on at most 12 vertices, a specialization of [I.6, Theorem 2]. If Y Y Y is such a graph of order c c c , the lower bounds are e ( Y ) ≥ 0 e(Y) \ge0 e ( Y ) ≥ 0 for 0 ≤ c ≤ 5 0 \le c \le5 0 ≤ c ≤ 5 , e ( Y ) ≥ c − 5 e(Y) \ge c-5 e ( Y ) ≥ c − 5 for 6 ≤ c ≤ 10 6 \le c \le10 6 ≤ c ≤ 10 , and e ( Y ) ≥ 3 c − 25 e(Y) \ge3c-25 e ( Y ) ≥ 3 c − 25 for 11 ≤ c ≤ 12 11 \le c \le12 11 ≤ c ≤ 12 . The specification states the additional elementary upper bounds and explains how these give outer profiles when the catalogue range 13 ≤ c ≤ 17 13 \le c \le17 13 ≤ c ≤ 17 does not apply.
The catalogue files are inputs. Their mathematical completeness is accepted from the cited work. Our checks count the supplied records and check their derived profiles. The optional full verification also recomputes the profiles of every supplied graph. Neither operation reproves that the catalogue contains every possible graph.
From possible neighborhoods to a counting system
This section applies to an arbitrary ambient graph X ∈ R ( s , r , n ) X \in\mathcal{R}(s,r,n) X ∈ R ( s , r , n ) . It will be used, separately, for the four local families in Section I.2. The notation A v A_v A v , B v B_v B v , d v d_v d v continues to refer to the neighborhoods and degrees in the currently specified graph X X X .
The construction has three steps. We retain a small number of statistics of each possible neighborhood. We introduce nonnegative variables to record how these possibilities occur around the vertices of X X X . We then impose equations that count the same configurations in two ways.
Profiles and containing polygons
For fixed parameters s ′ s' s ′ , r ′ r' r ′ , m m m and an integer edge count η \eta η , define
S s ′ , r ′ , m , η = { ( t ( Y ) , q ( Y ) ) : Y ∈ R ( s ′ , r ′ , m ) , e ( Y ) = η } . \mathcal{S}_{s',r',m,\eta}=\{(t(Y),q(Y)):Y\in\mathcal{R}(s',r',m),\ e(Y)=\eta\}. S s ′ , r ′ , m , η = {( t ( Y ) , q ( Y )) : Y ∈ R ( s ′ , r ′ , m ) , e ( Y ) = η } .
This is a finite set of points in the plane. The order m m m and edge count η \eta η are fixed, and the two coordinates record triangles and q q q . When a complete catalogue for this edge class is available, it determines S \mathcal{S} S exactly.
For each needed edge class we use a bounded rational convex polygon P s ′ , r ′ , m , η \mathcal{P}_{s',r',m,\eta} P s ′ , r ′ , m , η containing S s ′ , r ′ , m , η \mathcal{S}_{s',r',m,\eta} S s ′ , r ′ , m , η . Here a polygon may be a segment or a single point. A polygon is allowed to be empty only when the corresponding graph class has independently been ruled out. There are two ways to obtain it:
From a complete catalogue, take the convex hull of its points: all their weighted averages with nonnegative weights summing to one.
Without a complete catalogue, prove finitely many inequalities L ≤ α t ( Y ) + β q ( Y ) ≤ U L \le\alpha t(Y)+\beta q(Y) \le U L ≤ α t ( Y ) + β q ( Y ) ≤ U for every graph in the edge class, and intersect the corresponding half-planes.
A point in either polygon need not be the profile of a graph: even averaging two catalogue profiles can produce a point with no realizing graph. If a linear inequality holds throughout the polygon, it holds for every actual profile inside it. Moreover, to check a linear inequality on a bounded convex polygon, it suffices to check its vertices: every point is a convex combination of the vertices, and a linear expression preserves that combination.
Write V s ′ , r ′ , m , η \mathcal{V}_{s',r',m,\eta} V s ′ , r ′ , m , η for the finite vertex set of P s ′ , r ′ , m , η \mathcal{P}_{s',r',m,\eta} P s ′ , r ′ , m , η . Denote its coordinates by ( τ , κ ) (\tau,\kappa) ( τ , κ ) . These rational coordinates may lie between integer graph profiles. Containment of all actual profiles is the property needed below.
What the profile variables mean
Let D ⊆ { 0 , … , n − 1 } D \subseteq\{0,\ldots,n-1\} D ⊆ { 0 , … , n − 1 } contain every possible degree of a graph in the ambient family. Define the two finite index sets
I A = { ( d , η , τ , κ ) : d ∈ D , η ∈ Z , 0 ≤ η ≤ ( d 2 ) , ( τ , κ ) ∈ V s − 1 , r , d , η } , \mathcal{I}_A = \{(d,\eta,\tau,\kappa): d \in D,\ \eta\in\mathbb{Z},\ 0 \leq\eta\leq\binom{d}{2},\ (\tau,\kappa) \in\mathcal{V}_{s-1,r,d,\eta}\}, I A = {( d , η , τ , κ ) : d ∈ D , η ∈ Z , 0 ≤ η ≤ ( 2 d ) , ( τ , κ ) ∈ V s − 1 , r , d , η } ,
I B = { ( h , η , τ , κ ) : h = n − 1 − d for some d ∈ D , η ∈ Z , 0 ≤ η ≤ ( h 2 ) , ( τ , κ ) ∈ V s , r − 1 , h , η } . \mathcal{I}_B = \{(h,\eta,\tau,\kappa): h=n-1-d\text{ for some }d\in D,\ \eta\in\mathbb{Z},\ 0\leq\eta\leq\binom{h}{2},\ (\tau,\kappa)\in\mathcal{V}_{s,r-1,h,\eta}\}. I B = {( h , η , τ , κ ) : h = n − 1 − d for some d ∈ D , η ∈ Z , 0 ≤ η ≤ ( 2 h ) , ( τ , κ ) ∈ V s , r − 1 , h , η } .
The four entries specify the order of a local graph, its exact edge count, and one vertex of its profile polygon. Introduce a nonnegative real variable a i a_i a i for every i ∈ I A i \in\mathcal{I}_A i ∈ I A and b j b_j b j for every j ∈ I B j \in\mathcal{I}_B j ∈ I B . These are variables of our counting system. Here is how an actual graph assigns values to them.
For each v ∈ V ( X ) v \in V(X) v ∈ V ( X ) , the pair ( t ( A v ) , q ( A v ) ) (t(A_v),q(A_v)) ( t ( A v ) , q ( A v )) lies in the polygon with order d v d_v d v and edge count e ( A v ) e(A_v) e ( A v ) . Express that pair as a convex combination of the polygon’s vertices. Let λ v , i A \lambda^A_{v,i} λ v , i A be the coefficient assigned to index i i i , with coefficient zero for all indices having any other order or edge count. Then
∑ i ∈ I A λ v , i A = 1 , \sum_{i\in\mathcal{I}_A}\lambda^A_{v,i}=1, i ∈ I A ∑ λ v , i A = 1 ,
∑ i = ( d , η , τ , κ ) ∈ I A λ v , i A ( τ , κ ) = ( t ( A v ) , q ( A v ) ) . \sum_{i=(d,\eta,\tau,\kappa)\in\mathcal{I}_A}\lambda^A_{v,i}(\tau,\kappa)=(t(A_v),q(A_v)). i = ( d , η , τ , κ ) ∈ I A ∑ λ v , i A ( τ , κ ) = ( t ( A v ) , q ( A v )) .
Choose coefficients λ v , j B \lambda^B_{v,j} λ v , j B in the same way for B v B_v B v , and set
a i = ∑ v ∈ V ( X ) λ v , i A , b j = ∑ v ∈ V ( X ) λ v , j B . a_i=\sum_{v\in V(X)}\lambda^A_{v,i},\qquad b_j=\sum_{v\in V(X)}\lambda^B_{v,j}. a i = v ∈ V ( X ) ∑ λ v , i A , b j = v ∈ V ( X ) ∑ λ v , j B .
Thus a i a_i a i is an aggregate weight assigned to one allowed neighborhood profile vertex; b j b_j b j has the corresponding meaning for nonneighborhoods. They need not be integers, even when they arise from an actual graph.
For a concrete example, the catalogue profiles with order 13 and 16 edges in r36_13.g6.gz.profiles have exactly the pairs ( 0 , 25 ) , ( 0 , 26 ) , ( 0 , 28 ) (0,25),(0,26),(0,28) ( 0 , 25 ) , ( 0 , 26 ) , ( 0 , 28 ) . The polygon is the segment with endpoints ( 0 , 25 ) (0,25) ( 0 , 25 ) and ( 0 , 28 ) (0,28) ( 0 , 28 ) , and
( 0 , 26 ) = 2 3 ( 0 , 25 ) + 1 3 ( 0 , 28 ) . (0,26)=\frac{2}{3}(0,25)+\frac{1}{3}(0,28). ( 0 , 26 ) = 3 2 ( 0 , 25 ) + 3 1 ( 0 , 28 ) .
A single vertex whose neighborhood has profile ( 13 , 16 , 0 , 26 ) (13,16,0,26) ( 13 , 16 , 0 , 26 ) therefore contributes 2 / 3 2/3 2/3 to a 13 , 16 , 0 , 25 a_{13,16,0,25} a 13 , 16 , 0 , 25 and 1 / 3 1/3 1/3 to a 13 , 16 , 0 , 28 a_{13,16,0,28} a 13 , 16 , 0 , 28 . Its total weight is one, and its weighted q q q coordinate is 26. This shows how fractional profile weights represent one vertex while preserving the statistics of its neighborhood.
Recovering counts and imposing equations
Let m d m_d m d be the sum of all a a a variables with first coordinate d d d . For an assignment obtained from a graph, m d m_d m d is the number of vertices of degree d d d . The sum of the b b b variables with first coordinate n − 1 − d n-1-d n − 1 − d has the same value. The system therefore includes these matching equations and ∑ d ∈ D m d = n \sum_{d\in D}m_d=n ∑ d ∈ D m d = n .
Define four linear expressions in the a a a variables:
E ( a ) = 1 2 ∑ I A a d , η , τ , κ , T ( a ) = 1 3 ∑ I A η a d , η , τ , κ , \mathcal{E}(a)=\frac{1}{2}\sum_{\mathcal{I}_A}a_{d,\eta,\tau,\kappa},\qquad\mathcal{T}(a)=\frac{1}{3}\sum_{\mathcal{I}_A}\eta a_{d,\eta,\tau,\kappa}, E ( a ) = 2 1 I A ∑ a d , η , τ , κ , T ( a ) = 3 1 I A ∑ η a d , η , τ , κ ,
W ( a ) = ∑ I A ( d 2 ) a d , η , τ , κ , Q ( a ) = W ( a ) − T ( a ) . \mathcal{W}(a)=\sum_{\mathcal{I}_A}\binom{d}{2}a_{d,\eta,\tau,\kappa},\qquad\mathcal{Q}(a)=\mathcal{W}(a)-\mathcal{T}(a). W ( a ) = I A ∑ ( 2 d ) a d , η , τ , κ , Q ( a ) = W ( a ) − T ( a ) .
Each sum runs over the entire index set I A \mathcal{I}_A I A . On the assignment constructed from X X X , these expressions equal e ( X ) , t ( X ) , w ( X ) , q ( X ) e(X),t(X),w(X),q(X) e ( X ) , t ( X ) , w ( X ) , q ( X ) . The first assertion is handshaking; the second uses ∑ v e ( A v ) = 3 t ( X ) \sum_v e(A_v)=3t(X) ∑ v e ( A v ) = 3 t ( X ) ; the third counts pairs of neighbors at their center. More generally, any expression affine in the local coordinates ( τ , κ ) (\tau,\kappa) ( τ , κ ) is preserved by the convex combinations at each vertex. The order and edge count remain fixed within each combination.
We next introduce z F ≥ 0 z_F \ge0 z F ≥ 0 , one variable for each of the eleven isomorphism types F F F of graphs on four vertices. Its value for an actual X X X is the number of four-element subsets inducing type F F F . Examples are z K 4 z_{K_4} z K 4 for four-cliques and z 4 K 1 z_{4K_1} z 4 K 1 for independent four-sets. Counting four-sets and the edges, triangles and adjacent-edge pairs inside them gives
∑ F z F = ( n 4 ) , ∑ F e ( F ) z F = ( n − 2 2 ) E ( a ) , \sum_F z_F = \binom{n}{4},
\qquad
\sum_F e(F)z_F = \binom{n-2}{2}\mathcal{E}(a), F ∑ z F = ( 4 n ) , F ∑ e ( F ) z F = ( 2 n − 2 ) E ( a ) ,
∑ F t ( F ) z F = ( n − 3 ) T ( a ) , ∑ F w ( F ) z F = ( n − 3 ) W ( a ) . \sum_F t(F)z_F = (n-3)\mathcal{T}(a),
\qquad
\sum_F w(F)z_F = (n-3)\mathcal{W}(a). F ∑ t ( F ) z F = ( n − 3 ) T ( a ) , F ∑ w ( F ) z F = ( n − 3 ) W ( a ) .
For example, an edge of X X X is contained in exactly ( n − 2 2 ) \binom{n-2}{2} ( 2 n − 2 ) four-sets. Counting incidences between an edge and a containing four-set proves the second equation.
We also match triples counted inside neighborhoods with the same triples counted inside four-sets. To make this explicit, define
T 0 ( m , η , τ , κ ) = ( m 3 ) − ( m − 2 ) η + κ , T_0(m,\eta,\tau,\kappa) = \binom{m}{3} - (m-2)\eta+ \kappa, T 0 ( m , η , τ , κ ) = ( 3 m ) − ( m − 2 ) η + κ ,
T 1 ( m , η , τ , κ ) = ( m − 2 ) η − 2 κ + τ , T_1(m,\eta,\tau,\kappa) = (m-2)\eta- 2\kappa+ \tau, T 1 ( m , η , τ , κ ) = ( m − 2 ) η − 2 κ + τ ,
T 2 ( m , η , τ , κ ) = κ − 2 τ , T 3 ( m , η , τ , κ ) = τ . T_2(m,\eta,\tau,\kappa) = \kappa- 2\tau,
\qquad
T_3(m,\eta,\tau,\kappa) = \tau. T 2 ( m , η , τ , κ ) = κ − 2 τ , T 3 ( m , η , τ , κ ) = τ .
For a graph profile these are the counts of induced triples with 0, 1, 2, 3 edges. They follow by counting all triples, edge incidences in triples, and adjacent-edge pairs in triples. Let U k ( F ) U_k(F) U k ( F ) count vertices of F F F adjacent to all other three vertices whose deletion leaves exactly k k k edges. Let Z k ( F ) Z_k(F) Z k ( F ) count isolated vertices of F F F whose deletion leaves k k k edges. Then, for k = 0 , 1 , 2 , 3 k = 0,1,2,3 k = 0 , 1 , 2 , 3 ,
∑ A T k ( d , η , τ , κ ) a d , η , τ , κ = ∑ F U k ( F ) z F , \sum_A T_k(d,\eta,\tau,\kappa)a_{d,\eta,\tau,\kappa}
=
\sum_F U_k(F)z_F, A ∑ T k ( d , η , τ , κ ) a d , η , τ , κ = F ∑ U k ( F ) z F ,
∑ B T k ( h , η , τ , κ ) b h , η , τ , κ = ∑ F Z k ( F ) z F . \sum_B T_k(h,\eta,\tau,\kappa)b_{h,\eta,\tau,\kappa}
=
\sum_F Z_k(F)z_F. B ∑ T k ( h , η , τ , κ ) b h , η , τ , κ = F ∑ Z k ( F ) z F .
For instance, a triple in A v A_v A v together with v v v is a four-set in which v v v is adjacent to the whole triple. Both sides count precisely those choices. These equations require the neighborhood and nonneighborhood statistics to fit into the same collection of four-sets.
The simplified triple identity is another equation of the system:
∑ B η b h , η , τ , κ − ∑ A ( η + d ( n / 2 − d ) ) a d , η , τ , κ = 0. \sum_B \eta b_{h,\eta,\tau,\kappa}
-
\sum_A \left(\eta+ d(n/2-d)\right)a_{d,\eta,\tau,\kappa}
= 0. B ∑ η b h , η , τ , κ − A ∑ ( η + d ( n /2 − d ) ) a d , η , τ , κ = 0.
We also record edges by their endpoint degrees. For d , f ∈ D d,f \in D d , f ∈ D with d ≤ f d \le f d ≤ f , let j d , f ≥ 0 j_{d,f} \ge0 j d , f ≥ 0 count such edges. Each edge within degree class d d d contributes two ends to that class; each edge to another class contributes one. Thus
d m d = 2 j d , d + ∑ f < d j f , d + ∑ f > d j d , f . d m_d = 2j_{d,d} + \sum_{f<d}j_{f,d} + \sum_{f>d}j_{d,f}. d m d = 2 j d , d + f < d ∑ j f , d + f > d ∑ j d , f .
The sums here are over f ∈ D f \in D f ∈ D . If p ( F ) p(F) p ( F ) denotes the number of unoriented paths of three edges on four distinct vertices of F F F , with additional edges allowed, the path equation is
∑ F p ( F ) z F = ∑ d ≤ f ( d − 1 ) ( f − 1 ) j d , f − 3 T ( a ) . \sum_F p(F)z_F
=
\sum_{d\le f}(d-1)(f-1)j_{d,f} - 3\mathcal{T}(a). F ∑ p ( F ) z F = d ≤ f ∑ ( d − 1 ) ( f − 1 ) j d , f − 3 T ( a ) .
To see the correction term, choose the middle edge of a path and then its two outer endpoints. Coincident outer endpoints correspond to triangles; there are 3 t ( X ) 3t(X) 3 t ( X ) of these choices.
To restrict the model to a fixed edge count e ( X ) = e 0 e(X)=e_0 e ( X ) = e 0 , we impose the linear equation E ( a ) = e 0 \mathcal{E}(a)=e_0 E ( a ) = e 0 . Only in this fixed-edge model do we also include the equation counting pairs of disjoint edges:
W ( a ) + ∑ F ( ( e ( F ) 2 ) − w ( F ) ) z F = ( e 0 2 ) . \mathcal{W}(a)+\sum_F\left(\binom{e(F)}{2}-w(F)\right)z_F=\binom{e_0}{2}. W ( a ) + F ∑ ( ( 2 e ( F ) ) − w ( F ) ) z F = ( 2 e 0 ) .
The first term counts pairs sharing a vertex. Each remaining pair has four distinct endpoints and is counted by exactly one four-set. Fixing e 0 e_0 e 0 makes the right side a constant, so this is a linear equation.
These equations are necessary conditions on every graph in the chosen family. We allow the variables to be arbitrary nonnegative real numbers satisfying them. We do not claim that every solution comes from a graph. Bounds valid for every solution therefore apply to every graph in the family. The accompanying specification gives the full row list, its order in the files, and the distinction between versions 3 and 4.
How a certificate proves a bound
A certificate in this paper is a finite list of rational multipliers for already justified equations or inequalities. Checking a certificate means checking what their weighted sum says. The optimization algorithm which found the multipliers is not part of that check.
Consider this elementary example, unrelated to the Ramsey data. Suppose u 1 , u 2 , u 3 ≥ 0 u_1,u_2,u_3\ge0 u 1 , u 2 , u 3 ≥ 0 and
u 1 + u 2 = 5 , u 2 + u 3 = 4. u_1+u_2=5,\qquad u_2+u_3=4. u 1 + u 2 = 5 , u 2 + u 3 = 4.
Twice the first equation plus the second gives 2 u 1 + 3 u 2 + u 3 = 14 2u_1+3u_2+u_3=14 2 u 1 + 3 u 2 + u 3 = 14 . Therefore
3 u 1 + 3 u 2 + u 3 = 14 + u 1 ≥ 14. 3u_1+3u_2+u_3=14+u_1\ge14. 3 u 1 + 3 u 2 + u 3 = 14 + u 1 ≥ 14.
The multipliers ( 2 , 1 ) (2,1) ( 2 , 1 ) and the nonnegative remainder u 1 u_1 u 1 are a complete proof of this lower bound for every feasible triple ( u 1 , u 2 , u 3 ) (u_1,u_2,u_3) ( u 1 , u 2 , u 3 ) .
The actual certificates do the same thing with many more variables. First remove any variable already known to be zero. For example, z K 4 = 0 z_{K_4}=0 z K 4 = 0 in a ( 4 , 6 ) (4,6) ( 4 , 6 ) -graph because it contains no four-clique. Similarly z 4 K 1 = 0 z_{4K_1}=0 z 4 K 1 = 0 when the forbidden independent-set size is four. Removing these coordinates means substituting their known value zero in every equation.
Let u = ( u 1 , … , u N ) T \mathbf{u}=(u_1,\ldots,u_N)^{\mathsf{T}} u = ( u 1 , … , u N ) T be the remaining profile, four-set, and endpoint-degree variables, in the order used by the certificate. Let there be m m m counting equations. Put their coefficients in the m m m by N N N rational matrix M M M , and their right-hand sides in b ∈ Q m \mathbf{b}\in\mathbb{Q}^m b ∈ Q m . Thus the k k k th equation is
∑ j = 1 N M k j u j = b k , \sum_{j=1}^{N}M_{kj}u_j=b_k, j = 1 ∑ N M k j u j = b k ,
and the whole system is
M u = b , u ≥ 0. M\mathbf{u}=\mathbf{b},\qquad\mathbf{u}\ge0. M u = b , u ≥ 0.
A coefficient vector c ∈ Q N \mathbf{c}\in\mathbb{Q}^N c ∈ Q N specifies the quantity we wish to bound: c T u = ∑ j = 1 N c j u j \mathbf{c}^{\mathsf{T}}\mathbf{u}=\sum_{j=1}^{N}c_ju_j c T u = ∑ j = 1 N c j u j . For example, c \mathbf{c} c can be the coefficients of E ( a ) \mathcal{E}(a) E ( a ) for a lower edge bound, or of − E ( a ) -\mathcal{E}(a) − E ( a ) for an upper edge bound.
Choose a rational multiplier y k y_k y k for the k k k th equation, and collect these into y ∈ Q m \mathbf{y}\in\mathbb{Q}^m y ∈ Q m . Their weighted sum has coefficient ∑ k = 1 m y k M k j \sum_{k=1}^{m}y_kM_{kj} ∑ k = 1 m y k M k j on u j u_j u j . Subtract this sum from the objective and use the equations:
c T u = y T b + ∑ j = 1 N ( c j − ∑ k = 1 m y k M k j ) u j . (2) \mathbf{c}^{\mathsf{T}}\mathbf{u}=\mathbf{y}^{\mathsf{T}}\mathbf{b}+\sum_{j=1}^{N}\left(c_j-\sum_{k=1}^{m}y_kM_{kj}\right)u_j. \tag*{(2)} c T u = y T b + j = 1 ∑ N ( c j − k = 1 ∑ m y k M k j ) u j . (2)
If every coefficient in parentheses is nonnegative, every term in the last sum is nonnegative. The objective is then at least y T b \mathbf{y}^{\mathsf{T}}\mathbf{b} y T b . In matrix notation the coefficient test is M T y ≤ c M^{\mathsf{T}}\mathbf{y}\le\mathbf{c} M T y ≤ c , coordinate by coordinate. The multipliers y k y_k y k may have either sign because they multiply equalities . Only the remainders multiplying the nonnegative variables must have the stated sign.
The saved vectors y y y are called dual certificates . For each one, the verifier reconstructs M M M , b b b , c c c from the mathematical model, checks all the remainder coefficients, and computes y T b \boldsymbol{y}^{\mathsf{T}}\boldsymbol{b} y T b exactly. The files store the family and optional fixed-edge parameters in model, the objective vector in objective, the multiplier vector in dual, and the resulting rational bound in exact_lower_bound. The matrix and right-hand side are reconstructed from the model parameters and the counting definitions. In the file format, the fields s s s , t t t , and n n n encode the parameters s , r , n s,r,n s , r , n of R ( s , r , n ) R(s,r,n) R ( s , r , n ) , respectively.
The stored triple-identity row is twice the equation displayed above, so that its coefficients are integral. Multiplying an equation by two and dividing its multiplier by two leaves the weighted sum unchanged. This correspondence allows the displayed equation and the stored certificate row to be checked against each other.
Obtaining all required local profile bounds
We can now explain the passage from the small catalogues to the 38–45-vertex local graphs. For example, let X ∈ R ( 4 , 6 , 38 ) X \in R(4,6,38) X ∈ R ( 4 , 6 , 38 ) . Its neighborhoods are in R ( 3 , 6 , d v ) R(3,6,d_v) R ( 3 , 6 , d v ) and its nonneighborhoods in R ( 4 , 5 , 37 − d v ) R(4,5,37-d_v) R ( 4 , 5 , 37 − d v ) . The bounds R ( 3 , 6 ) = 18 R(3,6)=18 R ( 3 , 6 ) = 18 and R ( 4 , 5 ) = 25 R(4,5)=25 R ( 4 , 5 ) = 25 give 13 ≤ d v ≤ 17 13 \le d_v \le17 13 ≤ d v ≤ 17 . The neighborhood profiles are therefore supplied by complete catalogues on 13 through 17 vertices. The nonneighborhoods have orders 20 through 24. At order 24 the catalogue is complete; at orders 20 through 23, complete extreme-edge catalogues are combined with the outer polygons described next.
For the other three local families the degree restrictions are obtained in the same way. The complete list of orders needed on the two sides is
Table 1 (PDF p. 12).
In the last two lines, A v A_v A v is a (4,5)-graph and B v B_v B v is a (5,4)-graph. Complementing B v B_v B v makes it a (4,5)-graph, so the same catalogue and polygon inputs suffice. For any graph Y Y Y of order m m m , the exact profile transformation is
e ( Y ‾ ) = ( m 2 ) − e ( Y ) , e(\overline{Y}) = \binom{m}{2} - e(Y), e ( Y ) = ( 2 m ) − e ( Y ) ,
t ( Y ‾ ) = ( m 3 ) − ( m − 2 ) e ( Y ) + q ( Y ) , t(\overline{Y}) = \binom{m}{3} - (m-2)e(Y) + q(Y), t ( Y ) = ( 3 m ) − ( m − 2 ) e ( Y ) + q ( Y ) ,
q ( Y ‾ ) = 2 ( m 3 ) − ( m − 2 ) e ( Y ) + t ( Y ) . q(\overline{Y}) = 2\binom{m}{3} - (m-2)e(Y) + t(Y). q ( Y ) = 2 ( 3 m ) − ( m − 2 ) e ( Y ) + t ( Y ) .
These formulas follow by interchanging edges and nonedges in the four possible induced triple types. They are affine, so they also transform containing polygons and convex combinations correctly.
For each order 19 ≤ m ≤ 23 19 \le m \le23 19 ≤ m ≤ 23 and every edge count in the interval of Section 1.3, we need a polygon containing all profiles of R ( 4 , 5 , m ) R(4,5,m) R ( 4 , 5 , m ) at that edge count. There are 149 such edge classes. For 26 of them the complete extreme-edge catalogues give the exact convex hull. For each of the other 123 classes, a smaller counting system is built using neighborhoods in (3,5)-graphs and nonneighborhoods in (4,4)-graphs. Both kinds have complete catalogue inputs of smaller order. Certificates of the form (1.2) then give upper and lower bounds on each of
t , q , t + q , t − q , t + 2 q , 2 t + q , t − 2 q , 2 t − q . t,\ q,\ t+q,\ t-q,\ t+2q,\ 2t+q,\ t-2q,\ 2t-q. t , q , t + q , t − q , t + 2 q , 2 t + q , t − 2 q , 2 t − q .
Their values on a graph are integers, so the exact rational bounds can be rounded in the justified direction. Intersecting these half-planes gives the required polygon. The 123 ⋅ 8 ⋅ 2 = 1968 123 \cdot8 \cdot2 = 1968 123 ⋅ 8 ⋅ 2 = 1968 bound certificates are included. Each uses the smaller catalogue inputs just listed, so its premises are available before the resulting polygon is used in a larger counting system.
The polygons are recorded in computed_v3_45_19.json through computed_v3_45_23.json. A polygon audit checks that the stored vertices describe the stated intersection. A separate certificate audit proves that every bounding half-plane contains the required graph profiles. Together these checks establish that the stored polygon contains every profile in its edge class.
The four edge bounds
Applying these counting systems gives the four statements
Y ∈ R ( 4 , 6 , 38 ) ⟹ e ( Y ) ≤ 314 , Y ∈ R ( 4 , 6 , 39 ) ⟹ e ( Y ) ≤ 324 , Y ∈ R ( 5 , 5 , 44 ) ⟹ e ( Y ) ≥ 432 , Y ∈ R ( 5 , 5 , 45 ) ⟹ e ( Y ) ≥ 460. (3) \begin{aligned}
Y &\in\mathcal{R}(4,6,38) \Longrightarrow e(Y) \le314,\\
Y &\in\mathcal{R}(4,6,39) \Longrightarrow e(Y) \le324,\\
Y &\in\mathcal{R}(5,5,44) \Longrightarrow e(Y) \ge432,\\
Y &\in\mathcal{R}(5,5,45) \Longrightarrow e(Y) \ge460. \tag*{(3)}
\end{aligned} Y Y Y Y ∈ R ( 4 , 6 , 38 ) ⟹ e ( Y ) ≤ 314 , ∈ R ( 4 , 6 , 39 ) ⟹ e ( Y ) ≤ 324 , ∈ R ( 5 , 5 , 44 ) ⟹ e ( Y ) ≥ 432 , ∈ R ( 5 , 5 , 45 ) ⟹ e ( Y ) ≥ 460. (3)
Each statement follows from the counting system of Section I.4 using the smaller catalogue and polygon inputs above. The certificates are as follows.
edge_46_38_max.json gives − e ( Y ) ≥ − 26125 / 83 -e(Y) \ge-26125/83 − e ( Y ) ≥ − 26125/83 . Since 26125 / 83 < 315 26125/83 < 315 26125/83 < 315 and e ( Y ) e(Y) e ( Y ) is an integer, e ( Y ) ≤ 314 e(Y) \le314 e ( Y ) ≤ 314 .
edge_46_39_max.json first gives e ( Y ) ≤ 325 e(Y) \le325 e ( Y ) ≤ 325 . For the remaining case e ( Y ) = 325 e(Y) = 325 e ( Y ) = 325 , the files exclude_4639e325_t_gt537.json and exclude_4639e325_t_lt538.json give t ( Y ) ≥ 1612 / 3 t(Y) \ge1612/3 t ( Y ) ≥ 1612/3 and t ( Y ) ≤ 1612 / 3 t(Y) \le1612/3 t ( Y ) ≤ 1612/3 . A triangle count cannot be 1612 / 3 1612/3 1612/3 , so this edge count is excluded and e ( Y ) ≤ 324 e(Y) \le324 e ( Y ) ≤ 324 .
edge_55_44_min.json gives e ( Y ) ≥ 95414 / 221 > 431 e(Y) \ge95414/221 > 431 e ( Y ) ≥ 95414/221 > 431 , hence e ( Y ) ≥ 432 e(Y) \ge432 e ( Y ) ≥ 432 .
edge_55_45_min.json gives e ( Y ) ≥ 12137627230191 / 26402663302 > 459 e(Y) \ge12137627230191/26402663302 > 459 e ( Y ) ≥ 12137627230191/26402663302 > 459 , hence e ( Y ) ≥ 460 e(Y) \ge460 e ( Y ) ≥ 460 .
For a nonempty family, the standard notation e ( s , r , n ) e(s,r,n) e ( s , r , n ) and E ( s , r , n ) E(s,r,n) E ( s , r , n ) denotes its minimum and maximum edge count. The universal statements above also make sense if a family is empty.
Return now to the hypothetical X ∈ R ( 5 , 6 , 84 ) X \in\mathcal{R}(5,6,84) X ∈ R ( 5 , 6 , 84 ) . The following table summarizes the bounds just proved, using the local family corresponding to each possible degree:
Table 1 (PDF p. 13).
Because these are the only two degrees, the table can also be written
e ( A v ) ≤ 10 d v − 66 , e ( B v ) ≥ 1524 − 28 d v . (4) e(A_v) \le10d_v - 66,\qquad e(B_v) \ge1524 - 28d_v. \tag*{(4)} e ( A v ) ≤ 10 d v − 66 , e ( B v ) ≥ 1524 − 28 d v . (4)
These affine formulas simply interpolate the two entries in each column. They alone do not contradict (I.1). The lower bounds for its summands are 460 − 314 − 152 = − 6 460-314-152=-6 460 − 314 − 152 = − 6 and 432 − 324 − 117 = − 9 432-324-117=-9 432 − 324 − 117 = − 9 . To obtain more information we must retain t t t and q q q , not just edges.
Five inequalities retaining triangles and adjacent edges
For every vertex of X ∈ R ( 5 , 6 , 84 ) X \in\mathcal{R}(5,6,84) X ∈ R ( 5 , 6 , 84 ) we prove the following additional inequalities, labelled A and B1 _1 1 through B4 _4 4 :
A : 770 d v − 269 e ( A v ) − 6 t ( A v ) + 12 q ( A v ) + 5940 ≤ 0 , B 1 : − 732 d v − 76 e ( B v ) − t ( B v ) + 2 q ( B v ) + 49239 ≤ 0 , B 2 : − 701 d v − 75 e ( B v ) − t ( B v ) + 2 q ( B v ) + 47596 ≤ 0 , B 3 : − 483 d v − 35 e ( B v ) − 2 t ( B v ) + q ( B v ) + 29877 ≤ 0 , B 4 : − 403 d v − 37 e ( B v ) − t ( B v ) + q ( B v ) + 26296 ≤ 0. \begin{aligned}
\mathrm{A}: \quad&770d_v-269e(A_v)-6t(A_v)+12q(A_v)+5940 \leq0,\\
\mathrm{B}_1: \quad&-732d_v-76e(B_v)-t(B_v)+2q(B_v)+49239 \leq0,\\
\mathrm{B}_2: \quad&-701d_v-75e(B_v)-t(B_v)+2q(B_v)+47596 \leq0,\\
\mathrm{B}_3: \quad&-483d_v-35e(B_v)-2t(B_v)+q(B_v)+29877 \leq0,\\
\mathrm{B}_4: \quad&-403d_v-37e(B_v)-t(B_v)+q(B_v)+26296 \leq0.
\end{aligned} A : B 1 : B 2 : B 3 : B 4 : 770 d v − 269 e ( A v ) − 6 t ( A v ) + 12 q ( A v ) + 5940 ≤ 0 , − 732 d v − 76 e ( B v ) − t ( B v ) + 2 q ( B v ) + 49239 ≤ 0 , − 701 d v − 75 e ( B v ) − t ( B v ) + 2 q ( B v ) + 47596 ≤ 0 , − 483 d v − 35 e ( B v ) − 2 t ( B v ) + q ( B v ) + 29877 ≤ 0 , − 403 d v − 37 e ( B v ) − t ( B v ) + q ( B v ) + 26296 ≤ 0.
In every line d v d_v d v is the degree of the original vertex in the 84-vertex graph; the order of B v B_v B v is 83 − d v 83-d_v 83 − d v .
The correspondence with the electronic files is
Table 5.
These integers locate the five inequalities in local_profile_facets.json. The file exact_candidate_used_facets.json lists their coefficients and keys. The final certificate uses these five entries from the stored collection of local inequalities.
To prove a line, fix the local family and its integer edge count, build the counting system of Section I.4, and use a dual certificate as in Section I.5. The complete ranges which must be covered are
Table 6.
The endpoints are themselves certified. The file edge_certification_summary.json indexes the eight endpoint bounds and the two triangle-count exclusions used above; the full specification gives their exact values and filenames.
There are 48 + 37 = 85 48+37=85 48 + 37 = 85 edge cases for statement A and 83 + 71 = 154 83+71=154 83 + 71 = 154 for each statement B. Thus 85 + 4 ⋅ 154 = 701 85+4\cdot154=701 85 + 4 ⋅ 154 = 701 certificates prove the five lines. For example, statement A at d v = 38 d_v=38 d v = 38 and e ( A v ) = 314 e(A_v)=314 e ( A v ) = 314 requires
− 6 t ( A v ) + 12 q ( A v ) ≤ 49266. -6t(A_v)+12q(A_v) \leq49266. − 6 t ( A v ) + 12 q ( A v ) ≤ 49266.
The file facet203_46_n38_e314.json proves 6 t − 12 q ≥ − 541956 / 11 6t-12q \geq-541956/11 6 t − 12 q ≥ − 541956/11 , hence − 6 t + 12 q < 49272 -6t+12q < 49272 − 6 t + 12 q < 49272 . The expression − 6 t + 12 q -6t+12q − 6 t + 12 q is a multiple of six, so it is at most 49266. The counting equations hold for every graph in the fixed edge class, so the resulting inequality holds throughout that class.
For a general line with coefficients γ d , γ e , γ t , γ q , γ 0 \gamma_d,\gamma_e,\gamma_t,\gamma_q,\gamma_0 γ d , γ e , γ t , γ q , γ 0 , the same argument bounds γ t t + γ q q \gamma_t t+\gamma_q q γ t t + γ q q at each fixed edge count. The γ \gamma γ ’s denote the fixed coefficients in the chosen line. The entire required local chain consists of the 1968 prerequisite polygon bounds, 10 endpoint/exclusion certificates, and 701 final edge cases: 2679 certificates. The checker replay_required_local_certificates.py verifies both their arithmetic and their coverage. It also checks that their objectives and integer rounding thresholds match the claimed inequalities.
A distribution on seven-vertex graphs
From now on X X X again denotes the hypothetical 84-vertex counterexample. Let H \mathcal{H} H contain one representative of each isomorphism type of seven-vertex graph having no five-clique and no independent six-set. There are 979 such types. For each H ∈ H H \in\mathcal{H} H ∈ H , define
p H = # { W ⊆ V ( X ) : ∣ W ∣ = 7 , X [ W ] ≅ H } ( 84 7 ) . p_H=\frac{\#\{W\subseteq V(X):\lvert W\rvert=7,\ X[W]\cong H\}}{\binom{84}{7}}. p H = ( 7 84 ) # { W ⊆ V ( X ) : ∣ W ∣ = 7 , X [ W ] ≅ H } .
This is the probability of seeing type H H H when a seven-element vertex set is chosen uniformly. Therefore p H ≥ 0 p_H \ge0 p H ≥ 0 and ∑ H ∈ H p H = 1 \sum_{H\in\mathcal{H}} p_H = 1 ∑ H ∈ H p H = 1 . Every seven-set in X X X is represented because forbidden configurations in a subset would also be forbidden configurations in X X X .
The supplied code checks this set of types exhaustively. A labelled seven-vertex graph is determined by its 21 possible edges. The checker tests all 2 21 2^{21} 2 21 adjacency choices and compares the allowed labelled counts with the orbit sizes of the 979 representatives, separately by edge count. Here an orbit consists of the distinct labelled graphs obtained by permuting a representative’s seven vertices.
Our aim is now to express valid facts about X X X as linear equations and inequalities in the numbers p H p_H p H . A coefficient row is a function U : H → Q U:\mathcal{H}\to\mathbb{Q} U : H → Q : its entry U ( H ) U(H) U ( H ) is the coefficient of p H p_H p H . Saying that this row is valid means ∑ H p H U ( H ) ≤ 0 \sum_H p_HU(H)\le0 ∑ H p H U ( H ) ≤ 0 for every possible X X X . This interpretation will be used for every row in the final certificate.
How a local fact becomes a coefficient row
A rooted graph has specified distinguished vertices, called roots. A flag is a small induced graph together with the roles of its roots. For example, one root may represent the vertex whose degree is being measured, or two roots may specify an edge. Isomorphisms must preserve these roles. A placement is a choice of actual vertices inducing the specified flag. Root labels and any explicitly unordered groups are counted consistently; the specification states the conventions of each row family.
Here is the simplest sampling calculation. Fix a placement of a six-vertex flag with root v v v , and let r 0 r_0 r 0 be the number of neighbors of v v v among the other five vertices. There are 78 vertices outside the flag. Choose one of them uniformly and let χ \chi χ be 1 if it is adjacent to v v v , and 0 otherwise. Then
E ( χ ) = d v − r 0 78 , E ( r 0 + 78 χ ) = d v . \mathbb{E}(\chi)=\frac{d_v-r_0}{78},\qquad\mathbb{E}(r_0+78\chi)=d_v. E ( χ ) = 78 d v − r 0 , E ( r 0 + 78 χ ) = d v .
The expectation here is over that one uniformly sampled exterior vertex, with the flag placement fixed. Thus r 0 + 78 χ − 39 r_0+78\chi-39 r 0 + 78 χ − 39 is an estimate of d v − 39 d_v-39 d v − 39 with exactly the right average. Its value can be computed using only the resulting seven-vertex graph. Since d v ≤ 39 d_v\le39 d v ≤ 39 , summing this estimate over all placements of the flag and averaging over seven-sets gives a valid nonpositive coefficient row.
The general rule is equally finite. A fixed f f f -vertex flag leaves 84 − f 84-f 84 − f exterior vertices; a seven-set containing it selects 7 − f 7-f 7 − f of them. A specified configuration using m m m distinct exterior vertices is included with probability
( 7 − f m ) ( 84 − f m ) , 0 ≤ m ≤ 7 − f . \frac{\binom{7-f}{m}}{\binom{84-f}{m}},\qquad0\le m\le7-f. ( m 84 − f ) ( m 7 − f ) , 0 ≤ m ≤ 7 − f .
Multiply its observed count by the reciprocal to obtain an estimate whose average equals the full count. Products of counts require care: when two factors use the same exterior vertex, that contribution has m = 1 m=1 m = 1 , not m = 2 m=2 m = 2 . All these coincidences are included.
For precision, let I ( X , ϕ ) ≤ 0 I(X,\phi)\le0 I ( X , ϕ ) ≤ 0 be the original inequality for a placement ϕ \phi ϕ of a specified f f f -vertex flag. Let I ^ ( H , ϕ ) \widehat{I}(H,\phi) I ( H , ϕ ) be its estimate on a seven-vertex graph, and put U ( H ) = ∑ ϕ I ^ ( H , ϕ ) U(H)=\sum_\phi\widehat{I}(H,\phi) U ( H ) = ∑ ϕ I ( H , ϕ ) , summing over placements in H H H . Interchanging the sums over seven-sets and placements gives
∑ H p H U ( H ) = ( 84 − f 7 − f ) ( 84 7 ) ∑ ϕ in X I ( X , ϕ ) ≤ 0. \sum_H p_HU(H)=\frac{\binom{84-f}{7-f}}{\binom{84}{7}}\sum_{\phi\text{ in }X} I(X,\phi)\le0. H ∑ p H U ( H ) = ( 7 84 ) ( 7 − f 84 − f ) ϕ in X ∑ I ( X , ϕ ) ≤ 0.
The factor is positive and is the same for every placement. This establishes the row’s validity after averaging over all placements. Equalities are treated in the same way. This passage is called lifting the local relation; it has no asymptotic error.
The local relations used in these rows
The inputs include the degree bounds, the degree identity ( d v − 38 ) ( d v − 39 ) = 0 (d_v-38)(d_v-39)=0 ( d v − 38 ) ( d v − 39 ) = 0 , the local edge bounds (I.4), and the five local inequalities. Further rows describe small common neighborhoods. To define them, take disjoint vertex sets C , D C,D C , D , with C C C a clique and D D D independent, and put
C ( C , D ) = { x ∈ V ( X ) ∖ ( C ∪ D ) : x ∼ c for all c ∈ C , x ≁ d for all d ∈ D } . \mathcal{C}(C,D)=\{x\in V(X)\setminus(C\cup D):x\sim c\text{ for all }c\in C,\quad x\not\sim d\text{ for all }d\in D\}. C ( C , D ) = { x ∈ V ( X ) ∖ ( C ∪ D ) : x ∼ c for all c ∈ C , x ∼ d for all d ∈ D } .
Here x ∼ y x\sim y x ∼ y means that x , y x,y x , y are adjacent. This cell is a vertex set; counts of edges and triangles in it refer to the induced graph X [ C ( C , D ) ] X[\mathcal{C}(C,D)] X [ C ( C , D )] . Its size is an integer. A clique in the cell extends by C C C , and an independent set in it extends by D D D . This gives a smaller Ramsey family and therefore bounds on the cell.
For example, the common neighborhood of the endpoints of an edge is a ( 3 , 6 ) (3,6) ( 3 , 6 ) -graph, so it has at most 17 vertices. It has at least 13: the neighbors of one endpoint, apart from the other endpoint and their common neighbors, form a ( 4 , 5 ) (4,5) ( 4 , 5 ) -graph and have at most 24 vertices. Since the endpoint has degree at least 38, the common neighborhood has size at least 38 − 1 − 24 = 13 38-1-24=13 38 − 1 − 24 = 13 . The complete ( 3 , 6 ) (3,6) ( 3 , 6 ) catalogues on orders 13 through 17 therefore cover this cell exactly.
The rows use upper capacities, edge/profile inequalities for these cells, and elementary integer inequalities. For instance, if c c c is an integer cell size and k k k is an integer, then ( c − k ) ( c − k − 1 ) ≥ 0 (c-k)(c-k-1)\ge0 ( c − k ) ( c − k − 1 ) ≥ 0 : no integer lies strictly between k k k and k + 1 k+1 k + 1 . The quantities d v − 38 d_v-38 d v − 38 and 39 − d v 39-d_v 39 − d v are either zero or one, so their products also give nonnegative expressions. Each is expanded into counts to which the sampling rule applies.
One further input uses the seven graphs in the complete R ( 3 , 6 , 17 ) \mathcal{R}(3,6,17) R ( 3 , 6 , 17 ) catalogue. Their degrees are all 4 or 5. For a triangle with vertices u , v , w u,v,w u , v , w , let
c = ∣ N X ( u ) ∩ N X ( v ) ∣ , τ = ∣ N X ( u ) ∩ N X ( v ) ∩ N X ( w ) ∣ . c=\lvert N_X(u)\cap N_X(v)\rvert,\qquad\tau=\lvert N_X(u)\cap N_X(v)\cap N_X(w)\rvert. c = ∣ N X ( u ) ∩ N X ( v )∣ , τ = ∣ N X ( u ) ∩ N X ( v ) ∩ N X ( w )∣ .
The vertex w w w belongs to that common-neighborhood graph. If c = 17 c=17 c = 17 , its degree there is τ ∈ { 4 , 5 } \tau\in\{4,5\} τ ∈ { 4 , 5 } . If c = 16 c=16 c = 16 , its nonneighbors there form a ( 3 , 5 ) (3,5) ( 3 , 5 ) -graph of order at most 13, giving τ ≥ 2 \tau\ge2 τ ≥ 2 . For c ≤ 15 c\le15 c ≤ 15 , τ ≥ 0 \tau\ge0 τ ≥ 0 suffices. Consequently
τ ≥ 2 c − 30 , ( 16 − c ) ( τ − 4 ) ( τ − 5 ) ≥ 0. \tau\ge2c-30,\qquad(16-c)(\tau-4)(\tau-5)\ge0. τ ≥ 2 c − 30 , ( 16 − c ) ( τ − 4 ) ( τ − 5 ) ≥ 0.
For the second inequality, at c = 17 c=17 c = 17 the last two factors have product zero; for c ≤ 16 c\le16 c ≤ 16 they are consecutive integer factors with nonnegative product. These facts produce additional valid rows by the same exact sampling procedure. The specification lists all row families and their formulas; the source audits check that the stored arrays implement those formulas.
Why sums of squares give further inequalities
We need one additional kind of valid row. Its underlying fact is simply that a sum of squares is nonnegative. We describe how to express that fact using seven-vertex graphs, including overlaps exactly.
Fix a labelled root graph σ \sigma σ with ℓ \ell ℓ vertices, and an extension size k ≥ 0 k\ge0 k ≥ 0 such that ℓ + 2 k ≤ 7 \ell+2k\le7 ℓ + 2 k ≤ 7 . A root placement ρ \rho ρ is an injection of those ℓ \ell ℓ labelled vertices into V ( X ) V(X) V ( X ) which induces σ \sigma σ . Write R ρ R_\rho R ρ for its image. Let F σ , k \mathcal{F}_{\sigma,k} F σ , k be the finite collection of possible rooted isomorphism types on ℓ + k \ell+k ℓ + k vertices, excluding a five-clique and an independent six-set. The roots are fixed by isomorphisms; the k k k other vertices may be permuted.
For each type i ∈ F σ , k i\in\mathcal{F}_{\sigma,k} i ∈ F σ , k define
f i ( ρ ) = # { S ⊆ V ( X ) ∖ R ρ : ∣ S ∣ = k , ( X [ R ρ ∪ S ] , ρ ) has type i } . f_i(\rho)=\#\{S\subseteq V(X)\setminus R_\rho:\lvert S\rvert=k,\ (X[R_\rho\cup S],\rho)\text{ has type }i\}. f i ( ρ ) = # { S ⊆ V ( X ) ∖ R ρ : ∣ S ∣ = k , ( X [ R ρ ∪ S ] , ρ ) has type i } .
This is an integer count of extensions of a fixed root placement. Collect these counts into a column vector f ( ρ ) f(\rho) f ( ρ ) . For any real coefficient vector z = ( z i ) i ∈ F σ , k z=(z_i)_{i\in\mathcal{F}_{\sigma,k}} z = ( z i ) i ∈ F σ , k ,
∑ ρ ( ∑ i z i f i ( ρ ) ) 2 ≥ 0. \sum_{\rho}\left(\sum_i z_i f_i(\rho)\right)^2\ge0. ρ ∑ ( i ∑ z i f i ( ρ ) ) 2 ≥ 0.
Equivalently, the matrix ∑ ρ f ( ρ ) f ( ρ ) T \sum_{\rho} f(\rho)f(\rho)^{\mathsf{T}} ∑ ρ f ( ρ ) f ( ρ ) T is positive semidefinite : a symmetric matrix M M M has that property when z T M z ≥ 0 z^{\mathsf{T}}Mz\ge0 z T M z ≥ 0 for every real vector z z z . This explains both the matrix terminology and the inequality it encodes.
To expand an entry of this matrix, choose a root placement and an ordered pair ( S , T ) (S,T) ( S , T ) of k k k -element extension sets. The sets may intersect, and S = T S=T S = T is allowed. Their union with the roots has ℓ + ∣ S ∪ T ∣ ≤ 7 \ell+|S\cup T|\le7 ℓ + ∣ S ∪ T ∣ ≤ 7 vertices, and is contained in exactly
D ( S , T ) = ( 84 − ℓ − ∣ S ∪ T ∣ 7 − ℓ − ∣ S ∪ T ∣ ) . D(S,T)=\binom{84-\ell-|S\cup T|}{7-\ell-|S\cup T|}. D ( S , T ) = ( 7 − ℓ − ∣ S ∪ T ∣ 84 − ℓ − ∣ S ∪ T ∣ ) .
seven-sets of X X X . This positive integer tells us how often the same pair would otherwise be counted.
For a seven-vertex graph H H H , form a matrix M H M_H M H with rows and columns indexed by F σ , k \mathcal{F}_{\sigma,k} F σ , k . Enumerate root placements in H H H and all ordered extension pairs ( S , T ) (S,T) ( S , T ) outside the roots. If S S S has type i i i and T T T has type j j j , add 1 / D ( S , T ) 1/D(S,T) 1/ D ( S , T ) to entry ( i , j ) (i,j) ( i , j ) . The denominator uses the target order 84, even though this small calculation takes place in H H H . Summing over all seven-sets of X X X counts each extension pair with total weight exactly one. Hence
∑ W ⊆ V ( X ) ∣ W ∣ = 7 M X [ W ] = ∑ ρ f ( ρ ) f ( ρ ) T . \sum_{\substack{W\subseteq V(X)\\ |W|=7}}M_{X[W]}=\sum_{\rho}f(\rho)f(\rho)^{\mathsf{T}}. W ⊆ V ( X ) ∣ W ∣ = 7 ∑ M X [ W ] = ρ ∑ f ( ρ ) f ( ρ ) T .
Dividing by ( 84 7 ) \binom{84}{7} ( 7 84 ) shows that ∑ H p H M H \sum_H p_HM_H ∑ H p H M H is positive semidefinite. In particular, for any chosen z z z ,
∑ H p H ( − z T M H z ) ≤ 0. \sum_H p_H(-z^{\mathsf{T}}M_Hz)\le0. H ∑ p H ( − z T M H z ) ≤ 0.
This has exactly the coefficient-row form needed in Section I.7.
We use the pairs ( ℓ , k ) = ( 0 , 3 ) , ( 1 , 3 ) , ( 2 , 2 ) , ( 3 , 2 ) (\ell,k)=(0,3),(1,3),(2,2),(3,2) ( ℓ , k ) = ( 0 , 3 ) , ( 1 , 3 ) , ( 2 , 2 ) , ( 3 , 2 ) . There are respectively one, one, two and four root graph types, so eight matrices of this kind. For each root type choose one positive integer L L L clearing every denominator in its matrices, and set I H = L M H I_H=LM_H I H = L M H . The data supply 448 integer vectors z z z distributed among these eight types. Each supplies the valid row H ↦ − z T I H z H\mapsto-z^{\mathsf{T}}I_Hz H ↦ − z T I H z . The enumeration includes all intersections of the extension sets, as required by the displayed matrix identity.
The final rational sum and its contradiction
All the rows now have a defined mathematical meaning. There are 4876 rows from local counting relations and 448 from the square construction. Index their normalized coefficient functions by U i : H → Q U_i:\mathcal{H}\to\mathbb{Q} U i : H → Q , 0 ≤ i < 5324 0\le i<5324 0 ≤ i < 5324 . There are also 89 homogeneous equality rows E j : H → Q E_j:\mathcal{H}\to\mathbb{Q} E j : H → Q , 0 ≤ j < 89 0\le j<89 0 ≤ j < 89 . Thus a hypothetical counterexample would give
∑ H p H U i ( H ) ≤ 0 , ∑ H p H E j ( H ) = 0. \sum_H p_HU_i(H)\le0,\qquad\sum_H p_HE_j(H)=0. H ∑ p H U i ( H ) ≤ 0 , H ∑ p H E j ( H ) = 0.
A homogeneous equality has right-hand side zero. The equation ∑ H p H = 1 \sum_H p_H=1 ∑ H p H = 1 is kept separate; it is not one of the E j E_j E j rows.
For an integer coefficient row ( a H ) H (a_H)_H ( a H ) H , normalization divides it by max { 1 , max H ∣ a H ∣ } \max\{1,\max_H |a_H|\} max { 1 , max H ∣ a H ∣ } . This is a positive number, so validity and sign are unchanged. The saved multipliers refer to these normalized rows, and the verifier uses that same normalization.
The file exact_separation_certificate.json supplies rational weights λ i ≥ 0 \lambda_i \ge0 λ i ≥ 0 for the inequalities and rational weights μ j \mu_j μ j of either sign for the equalities. They have common denominator 10 12 10^{12} 1 0 12 . For every H ∈ H H \in\mathcal{H} H ∈ H , form the number
C ( H ) = ∑ i λ i U i ( H ) + ∑ j μ j E j ( H ) . C(H) = \sum_i \lambda_i U_i(H) + \sum_j \mu_j E_j(H). C ( H ) = i ∑ λ i U i ( H ) + j ∑ μ j E j ( H ) .
This is just a weighted sum of coefficients in one column of the stored arrays. The exact arithmetic check proves
C ( H ) ≥ δ for every H ∈ H , δ = 3146981978575629437 10 24 > 0. C(H) \ge\delta\quad\text{for every } H \in\mathcal{H}, \qquad\delta= \frac{3146981978575629437}{10^{24}} > 0. C ( H ) ≥ δ for every H ∈ H , δ = 1 0 24 3146981978575629437 > 0.
The check obtains a conservative lower bound by rounding each scaled summand down using integer division, including negative summands. It therefore proves the displayed inequality without a floating-point tolerance. The actual coefficients C ( H ) C(H) C ( H ) may exceed this common lower bound.
Only 903 multipliers are nonzero: 816 for inequalities, of which 194 are square rows, and 87 for homogeneous equalities. These weights give two incompatible conclusions. First, because the inequality weights are nonnegative and all the rows are valid,
∑ H p H C ( H ) = ∑ i λ i ∑ H p H U i ( H ) + ∑ j μ j ∑ H p H E j ( H ) ≤ 0. \sum_H p_H C(H) = \sum_i \lambda_i \sum_H p_H U_i(H) + \sum_j \mu_j \sum_H p_H E_j(H) \le0. H ∑ p H C ( H ) = i ∑ λ i H ∑ p H U i ( H ) + j ∑ μ j H ∑ p H E j ( H ) ≤ 0.
Second, because the p H p_H p H are nonnegative and sum to one,
∑ H p H C ( H ) ≥ δ ∑ H p H = δ > 0. \sum_H p_H C(H) \ge\delta\sum_H p_H = \delta> 0. H ∑ p H C ( H ) ≥ δ H ∑ p H = δ > 0.
This contradiction excludes X X X and proves the theorem.
The complete square calculations have been recomputed with arbitrary-precision integers. A second implementation uses integer contractions with a separately checked overflow bound. Both reproduce the separating calculation.
What an independent reader should check
There are two complementary parts to checking this proof. The mathematical part establishes why an arbitrary counterexample would satisfy the equations and inequalities. The computational part checks that the supplied rational numbers actually combine those relations as claimed. Neither part replaces the other.
Reading the mathematics
The chain to be checked is as follows.
Confirm the cited external bounds and the precise scope of each catalogue in Section I.3.
Check the graph-to-variable construction in Section I.4. Every actual neighborhood profile must lie in its designated polygon; its convex representation must preserve the local counts. Verify the displayed double counts.
Check the weighted-equation principle (I.2) and the exact integer-rounding steps. The worked explanation develops the 314-edge bound in detail, reducing its certificate to ten local inequalities and one identity that can be followed on paper.
Check that each local fact used globally becomes a valid row by the finite sampling rule, and that the square rows include every possible overlap. The detailed specification gives all row formulas and their index conventions for comparison with the programs.
Check the two final averaging inequalities in Section I.9. Once their premises have been established, this last step is an ordinary finite contradiction.
The two companion documents are titled Reading the exact certificate: the method and a worked local example and Detailed mathematical specification . The first is for following a concrete calculation; the second is for checking all definitions and reconstructing the computations. The certificate files supply the numerical coefficients used in those computations.
Replaying the supplied calculations
The complete electronic distribution is verification.tar.xz. Extracting it creates a directory named verification. In that directory, README.txt gives installation instructions and FILE_INDEX.tsv locates each basename cited in this paper. Keep the extracted directory structure intact so that the programs can locate their inputs.
For the worked local example, run the following command with the terminal’s current directory set to the extracted verification directory:
python3 check_local_example.py --root .
This requires only the Python standard library. A successful run reports
"worked_example_passed": true
"edge_upper_bound": 314
It checks the explicit local inequalities on the supplied profiles and polygon vertices and checks their relation to the saved certificate. It does not by itself prove the prerequisite polygon bounds or catalogue completeness.
For the main certificate and its computational dependencies, install the packages specified in requirements.txt, following the README, and run from that same directory:
python3 verify_package.py
The launcher first checks file integrity, then runs the 18 core checks, the source-to-matrix audit, and the worked-example check. Every stage must exit successfully and the final report must contain "all_passed": true. A success message from only one intermediate stage is insufficient.
For the additional exhaustive profile-extraction replay, install a C++11 compiler and zlib as specified in the README, and run
python3 verify_package.py --full
This also runs the supplementary sampling checks and the separate consequence below. The extraction replay processes all 58 supplied raw catalogue files using the original C++ extractor. Independent NetworkX profile checks cover selected records. Catalogue completeness is the external input stated in Section I.3.
The local audit replay_required_local_certificates.py checks all 2679 required certificates and their dependencies. The polygon and coverage audits check that no needed degree or edge class has been omitted. The package audit audit_packaged_model.py checks the link between stored global rows and their source arrays, including the five selected local inequalities. The final arithmetic is replayed by replay_global_certificate.py and audit_global_exact_certificate.py. Together these checks connect the mathematical definitions, the stored coefficients, and the final weighted sum.
A compact distribution omits the 58 raw catalogues and supplies restore_catalogues.py to restore their exact recorded bytes. Its START_HERE.txt gives the required extra step. The full distribution requires no such restoration. Missing inputs, hash mismatches, a nonzero exit status, or failed assertions mean that the reproduction has not succeeded. Do not run optimized Python (-O or -OO), since the checks use assertions. No optimization solver is required for any of these replay commands.
A separate consequence, not used above
A further audited consequence of the 2018 R ( 5 , 5 ) ≤ 48 R(5,5) \le48 R ( 5 , 5 ) ≤ 48 computation [I.5, Sections 2 and 6] is e ( 5 , 5 , 45 ) ≥ 462 e(5,5,45) \ge462 e ( 5 , 5 , 45 ) ≥ 462 . The proof above uses only the bound 460; this additional result is not one of its premises. Its separate derivation is summarized below.
Let Y Y Y be a ( 5 , 5 ) (5,5) ( 5 , 5 ) -graph of order 44 or 45, and let D 24 D_{24} D 24 be the set of its vertices of degree 24. The cited gluing result and the complete ( 4 , 5 , 24 ) (4,5,24) ( 4 , 5 , 24 ) catalogue imply that Y [ D 24 ] Y[D_{24}] Y [ D 24 ] has maximum degree at most eight. Here gluing means combining two neighborhoods along their common induced graph. In the cited computation, cores smaller than 12 common neighbors either yield no graph or cannot be extended by even one vertex. The subsequent catalogue calculation, using the degree profiles, e ( 4 , 5 , 23 ) = 101 e(4,5,23)=101 e ( 4 , 5 , 23 ) = 101 , and the three 22-vertex ( 4 , 5 ) (4,5) ( 4 , 5 ) -graphs with 88 edges, proves ∣ D 24 ∣ ≤ 21 |D_{24}| \le21 ∣ D 24 ∣ ≤ 21 . The full case argument is in degree24_reduction.txt; the independent census code is audit_degree24.py.
To see why this gives the edge bound, take X ∈ R ( 5 , 5 , 45 ) X \in R(5,5,45) X ∈ R ( 5 , 5 , 45 ) . Both X X X and its complement have maximum degree at most 24 because R ( 4 , 5 ) = 25 R(4,5)=25 R ( 4 , 5 ) = 25 . Hence every degree in X X X is at least 44 − 24 = 20 44-24=20 44 − 24 = 20 . A degree-20 vertex in X X X has degree 24 in its complement, so there are at most 21 such vertices. Every other vertex has degree at least 21. Therefore
2 e ( X ) ≥ 21 ⋅ 20 + 24 ⋅ 21 = 924 , e ( X ) ≥ 462. 2e(X) \ge21 \cdot20 + 24 \cdot21 = 924,\qquad e(X) \ge462. 2 e ( X ) ≥ 21 ⋅ 20 + 24 ⋅ 21 = 924 , e ( X ) ≥ 462.
The nontrivial census statement ∣ D 24 ∣ ≤ 21 |D_{24}| \le21 ∣ D 24 ∣ ≤ 21 belongs to the separate argument just cited, not to this last handshaking calculation.
Acknowledgment
The author was supported by the NRDI grant KKP 138270.
Reading the exact certificate for R ( 5 , 6 ) ≤ 84 R(5,6) \le84 R ( 5 , 6 ) ≤ 84 : the method and a worked local example
This supplement develops a worked example from the computer-assisted proof of R ( 5 , 6 ) ≤ 84 R(5,6) \le84 R ( 5 , 6 ) ≤ 84 . We prove that a graph on 38 vertices containing neither a clique of size four nor an independent set of size six has at most 314 edges. The proof starts with ten inequalities for edge and triangle counts and pairs of incident edges in neighborhoods and nonneighborhoods. Summing these inequalities and applying counting identities cancels all quantities except the total number of edges. We give the complete calculation, identify the finite checks that justify the ten inequalities, and show how the same calculation is recorded by rational equation multipliers in the verification files. We then explain how further valid counting inequalities are combined with rational weights to rule out a counterexample on 84 vertices. The final sections give commands for checking the worked example and replaying the complete certificate.
II The method and a worked local example
Explanatory supplement
Notation and the information retained from a graph
Write R ( s , r , n ) \mathcal{R}(s,r,n) R ( s , r , n ) for the graphs on n n n vertices containing neither a clique of size s s s nor an independent set of size r r r . All graphs are finite and simple: edges are unordered pairs of distinct vertices. A clique is a set of pairwise adjacent vertices; an independent set is a set with no edges between its vertices. Two graphs have the same isomorphism type if a bijection of their vertex sets preserves edges and nonedges. The symbol K m K_m K m denotes the complete graph on m m m vertices. For a graph X X X , write V ( X ) V(X) V ( X ) and E ( X ) E(X) E ( X ) for its vertex and edge sets and put n = ∣ V ( X ) ∣ n=|V(X)| n = ∣ V ( X ) ∣ and e ( X ) = ∣ E ( X ) ∣ e(X)=|E(X)| e ( X ) = ∣ E ( X ) ∣ . The number t ( X ) t(X) t ( X ) is the number of unordered three-subsets inducing a triangle. Write N X ( v ) N_X(v) N X ( v ) for the neighbor set of v v v , d v = d X ( v ) = ∣ N X ( v ) ∣ d_v=d_X(v)=|N_X(v)| d v = d X ( v ) = ∣ N X ( v ) ∣ , and X [ S ] X[S] X [ S ] for the subgraph induced by S ⊆ V ( X ) S\subseteq V(X) S ⊆ V ( X ) . Unqualified vertex sums run over V ( X ) V(X) V ( X ) . Put
e = e ( X ) , t = t ( X ) , w = w ( X ) = ∑ v ∈ V ( X ) ( d v 2 ) , q = q ( X ) = w − t . e=e(X),\qquad t=t(X),\qquad w=w(X)=\sum_{v\in V(X)}\binom{d_v}{2},\qquad q=q(X)=w-t. e = e ( X ) , t = t ( X ) , w = w ( X ) = v ∈ V ( X ) ∑ ( 2 d v ) , q = q ( X ) = w − t .
Here w w w counts unordered pairs of distinct incident edges. An induced three-vertex path contributes one to w w w , whereas a triangle contributes three. Consequently
q = # { induced three-vertex paths } + 2 t . (5) q=\#\{\text{induced three-vertex paths}\}+2t. \tag*{(5)} q = # { induced three-vertex paths } + 2 t . (5)
For example, K 3 K_3 K 3 has ( e , t , q ) = ( 3 , 1 , 2 ) (e,t,q)=(3,1,2) ( e , t , q ) = ( 3 , 1 , 2 ) , a three-vertex path has ( 2 , 0 , 1 ) (2,0,1) ( 2 , 0 , 1 ) , and a matching of two edges has ( 2 , 0 , 0 ) (2,0,0) ( 2 , 0 , 0 ) .
For 0 ≤ k ≤ 3 0\leq k\leq3 0 ≤ k ≤ 3 , let T k ( X ) T_k(X) T k ( X ) count the three-subsets of V ( X ) V(X) V ( X ) inducing exactly k k k edges. These four counts can be recovered from the profile ( e , t , q ) (e,t,q) ( e , t , q ) :
T 0 ( X ) = ( n 3 ) − ( n − 2 ) e + q , T 1 ( X ) = ( n − 2 ) e − 2 q + t , T 2 ( X ) = q − 2 t , T 3 ( X ) = t . (6) \begin{aligned}
T_0(X)&=\binom{n}{3}-(n-2)e+q,\\
T_1(X)&=(n-2)e-2q+t,\\
T_2(X)&=q-2t,\\
T_3(X)&=t. \tag*{(6)}
\end{aligned} T 0 ( X ) T 1 ( X ) T 2 ( X ) T 3 ( X ) = ( 3 n ) − ( n − 2 ) e + q , = ( n − 2 ) e − 2 q + t , = q − 2 t , = t . (6)
Indeed, T 3 = t T_3=t T 3 = t and T 2 = q − 2 t T_2=q-2t T 2 = q − 2 t follow from (II.1). Counting incidences between edges and triples gives T 1 + 2 T 2 + 3 T 3 = ( n − 2 ) e T_1+2T_2+3T_3=(n-2)e T 1 + 2 T 2 + 3 T 3 = ( n − 2 ) e , and the four counts sum to ( n 3 ) \binom{n}{3} ( 3 n ) .
For each vertex v v v , let
A v = X [ N X ( v ) ] , B v = X [ V ( X ) ∖ ( N X ( v ) ∪ { v } ) ] . A_v=X[N_X(v)],\qquad B_v=X[V(X)\setminus(N_X(v)\cup\{v\})]. A v = X [ N X ( v )] , B v = X [ V ( X ) ∖ ( N X ( v ) ∪ { v })] .
If X ∈ R ( s , r , n ) X\in\mathcal{R}(s,r,n) X ∈ R ( s , r , n ) and d v = d d_v=d d v = d , then
A v ∈ R ( s − 1 , r , d ) , B v ∈ R ( s , r − 1 , n − 1 − d ) . (7) A_v\in\mathcal{R}(s-1,r,d),\qquad B_v\in\mathcal{R}(s,r-1,n-1-d). \tag*{(7)} A v ∈ R ( s − 1 , r , d ) , B v ∈ R ( s , r − 1 , n − 1 − d ) . (7)
The forbidden clique in the first assertion would extend by v v v ; the forbidden independent set in the second would extend by v v v .
A profile of a graph is the tuple ( n , e , t , q ) (n,e,t,q) ( n , e , t , q ) . Many nonisomorphic graphs can have the same profile. A profile file lists the distinct tuples obtained from a graph catalogue. Its header records both the number of graphs processed and the number of distinct profiles. An inequality depending only on these four statistics can therefore be checked once for each distinct profile.
What the worked example establishes
We first prove that every X ∈ R ( 4 , 6 , 38 ) X\in\mathcal{R}(4,6,38) X ∈ R ( 4 , 6 , 38 ) has at most 314 edges. In the proof of R ( 5 , 6 ) ≤ 84 R(5,6)\leq84 R ( 5 , 6 ) ≤ 84 , such a graph occurs as the neighborhood of a degreevertices. After deriving the 314-edge bound, we explain how it enters the counting argument for that hypothetical graph.
The proof of the 314 bound has two tasks. First, prove ten inequalities for the smaller graphs A v A_v A v and B v B_v B v . Second, add those inequalities and use counting identities to cancel all unknown quantities except e ( X ) e(X) e ( X ) . The cancellation is written out in Section II.6. The input checks for the ten inequalities are described in Sections II.4 and II.7.
A certificate in this discussion is a recorded choice of rational coefficients for such an addition of equations and inequalities. The certificate specifies a weighted sum of valid counting statements. Its verification consists of proving those statements and checking that the specified sum has the claimed coefficients and sign.
The counting proofs below establish that every graph in the relevant family satisfies the equations. The weighted sum for the worked example can be checked on paper. The remaining finite calculation substitutes profiles into the ten local inequalities; Section II.15 gives the command that performs these substitutions, followed by the command for the complete 84-vertex proof.
Only the smaller graph families used as local inputs are enumerated. The families R ( 4 , 6 , 38 ) \mathcal{R}(4,6,38) R ( 4 , 6 , 38 ) and R ( 5 , 6 , 84 ) \mathcal{R}(5,6,84) R ( 5 , 6 , 84 ) are treated through necessary equations and inequalities for their subgraph counts. These conditions give the edge bound in the first family and a contradiction in the second.
The first triangle double count
We begin with a counting identity used at both the local and global levels. Each triangle is an edge in the neighborhood of each of its three vertices, so
∑ v e ( A v ) = 3 t ( X ) . (8) \sum_v e(A_v) = 3t(X). \tag*{(8)} v ∑ e ( A v ) = 3 t ( X ) . (8)
For the nonneighborhoods, fix an edge a b ab ab . It appears in B v B_v B v precisely when v v v is distinct from and nonadjacent to both a a a and b b b . The number of such vertices is
n − d a − d b + ∣ N X ( a ) ∩ N X ( b ) ∣ . n-d_a-d_b+\lvert N_X(a)\cap N_X(b)\rvert. n − d a − d b + ∣ N X ( a ) ∩ N X ( b )∣ .
Summing over edges gives
∑ v e ( B v ) = n e ( X ) − ∑ v d v 2 + 3 t ( X ) . (9) \sum_v e(B_v) = ne(X)-\sum_v d_v^2+3t(X). \tag*{(9)} v ∑ e ( B v ) = n e ( X ) − v ∑ d v 2 + 3 t ( X ) . (9)
In the last term, each triangle is counted once at each of its three edges. Subtracting (II.4) and using ∑ v d v = 2 e ( X ) \sum_v d_v=2e(X) ∑ v d v = 2 e ( X ) yields
∑ v ( e ( B v ) − e ( A v ) − d v ( n 2 − d v ) ) = 0. (10) \sum_v\left(e(B_v)-e(A_v)-d_v\left(\frac{n}{2}-d_v\right)\right)=0. \tag*{(10)} v ∑ ( e ( B v ) − e ( A v ) − d v ( 2 n − d v ) ) = 0. (10)
This is the three-vertex counting identity used in the certificate model; see McKay and Radziszowski [II.1] and the formulation in Angeltveit and McKay [II.2].
For a hypothetical X ∈ R ( 5 , 6 , 84 ) X\in\mathcal{R}(5,6,84) X ∈ R ( 5 , 6 , 84 ) , the external bounds R ( 4 , 6 ) ≤ 40 R(4,6)\leq40 R ( 4 , 6 ) ≤ 40 and R ( 5 , 5 ) ≤ 46 R(5,5)\leq46 R ( 5 , 5 ) ≤ 46 imply
d v ≤ 39 , 83 − d v ≤ 45 , hence d v ∈ { 38 , 39 } . d_v\leq39,\qquad83-d_v\leq45,\qquad\text{hence }d_v\in\{38,39\}. d v ≤ 39 , 83 − d v ≤ 45 , hence d v ∈ { 38 , 39 } .
At order 84, (II.6) is
∑ v ( e ( B v ) − e ( A v ) − d v ( 42 − d v ) ) = 0. \sum_v\left(e(B_v)-e(A_v)-d_v(42-d_v)\right)=0. v ∑ ( e ( B v ) − e ( A v ) − d v ( 42 − d v ) ) = 0.
The subtracted quantity is 152 at degree 38 and 117 at degree 39. The following table summarizes four computational bounds used in the main proof. Each entry bounds the number of edges of every graph in its corresponding local family:
They alone do not give a contradiction: they make the corresponding summands at least − 6 -6 − 6 and − 9 -9 − 9 . The full proof therefore retains further local profile information and uses it in a larger counting model. The next sections explain the first entry, 314, completely at the level of its counting argument and its specified finite inputs.
Proposition II.4.1. Subject to the catalogue and certified profile inputs stated below, every X ∈ R ( 4 , 6 , 38 ) X \in\mathcal{R}(4,6,38) X ∈ R ( 4 , 6 , 38 ) satisfies e ( X ) ≤ 314 e(X) \le314 e ( X ) ≤ 314 .
The inputs have two sources. Catalogue completeness is supplied by the cited mathematical results. Containment in the outer profile polygons is established by rational certificates in the verification package. Both kinds of input provide inequalities for the smaller graphs that can occur around a vertex of X X X .
A complete catalogue of R ( s , r , m ) \mathcal{R}(s,r,m) R ( s , r , m ) lists a representative of every isomorphism type in that family. Thus every graph with the specified order and forbidden subgraphs is isomorphic to a listed graph. The catalogues used here are supplied by McKay [II.3]; their precise families are given below. A statement verified on every listed graph applies to the entire family by this completeness property.
Fix such a graph X X X . Since R ( 3 , 6 ) = 18 \mathcal{R}(3,6)=18 R ( 3 , 6 ) = 18 and R ( 4 , 5 ) = 25 \mathcal{R}(4,5)=25 R ( 4 , 5 ) = 25 , equation (II.3) gives
13 ≤ d v ≤ 17 , A v ∈ R ( 3 , 6 , d v ) , B v ∈ R ( 4 , 5 , 37 − d v ) . 13 \le d_v \le17,\qquad A_v \in\mathcal{R}(3,6,d_v),\qquad B_v \in\mathcal{R}(4,5,37-d_v). 13 ≤ d v ≤ 17 , A v ∈ R ( 3 , 6 , d v ) , B v ∈ R ( 4 , 5 , 37 − d v ) .
Thus A v A_v A v is triangle-free, while the order of B v B_v B v is between 20 and 24. Put
{#eq:II.7}
The ten local assertions needed for the proof are
α d + ( 3 d − 38 ) e ( A v ) − 3 q ( A v ) ≥ 0 , (11) \alpha_d+(3d-38)e(A_v)-3q(A_v)\ge0, \tag*{(11)} α d + ( 3 d − 38 ) e ( A v ) − 3 q ( A v ) ≥ 0 , (11)
K d − 3 e ( B v ) + 3 t ( B v ) ≥ 0. (12) K_d-3e(B_v)+3t(B_v)\ge0. \tag*{(12)} K d − 3 e ( B v ) + 3 t ( B v ) ≥ 0. (12)
The subscript d d d specifies which of the five rows of constants is used. For example, the d = 13 d=13 d = 13 assertions concern all possible neighborhoods of order 13 and all possible nonneighborhoods of order 24 in X X X . There are five assertions on triangle-free graphs and five on ( 4 , 5 ) (4,5) ( 4 , 5 ) -graphs. Proving each assertion for every graph in its family allows it to be applied at every vertex of X X X , whatever X X X may be.
For (II.8), the input consists of the complete R ( 3 , 6 , d ) \mathcal{R}(3,6,d) R ( 3 , 6 , d ) catalogues for 13 ≤ d ≤ 17 13 \le d \le17 13 ≤ d ≤ 17 , supplied by McKay [II.3]. Their extracted distinct profiles occur in the files with basenames r36_13.g6.gz.profiles through r36_16.g6.gz.profiles, and r36_17.g6.profiles. The degree 13 case, for instance, is the concrete inequality
3 q ( Y ) ≤ 346 + e ( Y ) ( Y ∈ R ( 3 , 6 , 13 ) ) . 3q(Y)\le346+e(Y)\qquad(Y\in\mathcal{R}(3,6,13)). 3 q ( Y ) ≤ 346 + e ( Y ) ( Y ∈ R ( 3 , 6 , 13 )) .
Checking it amounts to substituting every distinct catalogue profile.
For ((II.9)), order 24 uses the complete catalogue represented by r45_24.g6.profiles. Orders 20–23 use the outer profile polygons stored in computed_v3_45_20.json through computed_v3_45_23.json. These polygons contain all possible ( t , q ) (t,q) ( t , q ) pairs at their specified edge counts. A polygon may also contain points that are not profiles of any graph. An inequality valid throughout the polygon still applies to every graph profile contained in it.
Precisely, for any order m m m , clique parameter s s s , independent-set parameter r r r , and integer 0 ≤ η ≤ ( m 2 ) 0 \le\eta\le\binom{m}{2} 0 ≤ η ≤ ( 2 m ) , define
S s , r , m , η = { ( t ( Y ) , q ( Y ) ) : Y ∈ R ( s , r , m ) , e ( Y ) = η } . \mathcal{S}_{s,r,m,\eta}=\{(t(Y),q(Y)):Y\in\mathcal{R}(s,r,m),\ e(Y)=\eta\}. S s , r , m , η = {( t ( Y ) , q ( Y )) : Y ∈ R ( s , r , m ) , e ( Y ) = η } .
A profile polygon P s , r , m , η ⊆ R 2 P_{s,r,m,\eta}\subseteq\mathbb{R}^2 P s , r , m , η ⊆ R 2 is a bounded convex region containing this set, with coordinates denoted ( τ , κ ) (\tau,\kappa) ( τ , κ ) . In this plane, an inequality such as α τ + β κ ≤ c \alpha\tau+\beta\kappa\le c α τ + β κ ≤ c defines a half-plane, and finitely many such inequalities bound the region. All coefficients and vertices used here are rational. A segment or point is allowed. An empty polygon is allowed only if the corresponding graph family with edge count η \eta η has been excluded. For a complete catalogue we can take the convex hull of its actual ( t , q ) (t,q) ( t , q ) pairs at edge count η \eta η . Otherwise the certified inequalities define an outer polygon. Write V s , r , m , η = vert P s , r , m , η V_{s,r,m,\eta}=\operatorname{vert}P_{s,r,m,\eta} V s , r , m , η = vert P s , r , m , η for its finite vertex set. In this example the neighborhood inputs are P 3 , 6 , d , η P_{3,6,d,\eta} P 3 , 6 , d , η and the nonneighborhood inputs are P 4 , 5 , 37 − d , η P_{4,5,37-d,\eta} P 4 , 5 , 37 − d , η , for 13 ≤ d ≤ 17 13\le d\le17 13 ≤ d ≤ 17 . A polygon vertex may have noninteger coordinates and need not be the profile of any graph. Every actual profile is a convex combination of these vertices at its own, unchanged, integer edge count. This is why linear inequalities checked on the polygon’s vertices hold for all actual profiles it contains.
Explicitly, a convex combination of points p 1 , … , p k p_1,\ldots,p_k p 1 , … , p k is λ 1 p 1 + ⋯ + λ k p k \lambda_1p_1+\cdots+\lambda_kp_k λ 1 p 1 + ⋯ + λ k p k , with every λ i ≥ 0 \lambda_i\ge0 λ i ≥ 0 and λ 1 + ⋯ + λ k = 1 \lambda_1+\cdots+\lambda_k=1 λ 1 + ⋯ + λ k = 1 . For an affine function L L L , its value at this combination is ∑ i λ i L ( p i ) \sum_i\lambda_iL(p_i) ∑ i λ i L ( p i ) . If all L ( p i ) L(p_i) L ( p i ) are nonnegative, so is the value at the actual profile. Thus checking the polygon vertices proves the inequality for every graph whose profile lies in the polygon. The edge count η \eta η remains fixed during the combination; there is a separate polygon for each allowed edge count.
A second identity, counted around triangles
A second counting identity eliminates the profile terms that remain after applying (II.6).
Lemma II.5.1. For every graph X X X on n n n vertices,
∑ v ( d v ∈ ( A v ) − q ( A v ) + t ( B v ) ) = ( n + 3 ) t ( X ) . (13) \sum_v\left(d_{v\in}(A_v)-q(A_v)+t(B_v)\right)=(n+3)t(X). \tag*{(13)} v ∑ ( d v ∈ ( A v ) − q ( A v ) + t ( B v ) ) = ( n + 3 ) t ( X ) . (13)
Proof. For 0 ≤ i ≤ 3 0\le i\le3 0 ≤ i ≤ 3 , let b i b_i b i count pairs ( T , z ) (T,z) ( T , z ) in which T T T is a triangle, z ∉ T z\notin T z ∈ / T , and z z z has exactly i i i neighbors in T T T . Every triangle has n − 3 n-3 n − 3 possible external vertices, so
b 0 + b 1 + b 2 + b 3 = ( n − 3 ) t ( X ) . (14) b_0+b_1+b_2+b_3=(n-3)t(X). \tag*{(14)} b 0 + b 1 + b 2 + b 3 = ( n − 3 ) t ( X ) . (14)
First,
∑ v t ( B v ) = b 0 . (15) \sum_v t(B_v)=b_0. \tag*{(15)} v ∑ t ( B v ) = b 0 . (15)
Indeed, a triangle in B v B_v B v is precisely a triangle with an external vertex v v v having no neighbors in it.
Next, each triangle a b c abc ab c contributes d a + d b + d c d_a+d_b+d_c d a + d b + d c to ∑ v d v ∈ ( A v ) \sum_v d_{v\in}(A_v) ∑ v d v ∈ ( A v ) . Its three internal edges contribute six to this degree sum; its external vertices contribute their numbers of neighbors in the triangle. Hence
∑ v d v ∈ ( A v ) = 6 t ( X ) + b 1 + 2 b 2 + 3 b 3 . (16) \sum_v d_{v\in}(A_v)=6t(X)+b_1+2b_2+3b_3. \tag*{(16)} v ∑ d v ∈ ( A v ) = 6 t ( X ) + b 1 + 2 b 2 + 3 b 3 . (16)
Finally,
∑ v q ( A v ) = b 2 + 2 b 3 . (17) \sum_v q(A_v)=b_2+2b_3. \tag*{(17)} v ∑ q ( A v ) = b 2 + 2 b 3 . (17)
One way to see this last equality is to inspect its possible four-vertex configurations. An induced K 4 K_4 K 4 minus an edge has two universal vertices, meaning vertices adjacent to all three others. In either universal vertex’s neighborhood the other three vertices form an induced path; it therefore contributes two to the left side. It also contains two choices of triangle with an external vertex adjacent to exactly two triangle vertices, and contributes two to b 2 b_2 b 2 . A K 4 K_4 K 4 contributes q ( K 3 ) = 2 q(K_3)=2 q ( K 3 ) = 2 at each of its four vertices, giving eight; it contributes four to b 3 b_3 b 3 , also giving eight on the right. No other induced four-vertex type contributes to either side.
Combining (II.12)–(II.14), the left side of (II.10) becomes 6 t + b 0 + b 1 + b 2 + b 3 6t+b_0+b_1+b_2+b_3 6 t + b 0 + b 1 + b 2 + b 3 . Equation (II.11) completes the proof. □
For the worked example n = 38 n=38 n = 38 , the right side is 41 t ( X ) 41t(X) 41 t ( X ) . Although X X X is K 4 K_4 K 4 -free in that application, the identity itself is universal.
The complete weighted counting argument
Define the local nonnegative expressions
L A ( v ) = α d v + ( 3 d v − 38 ) e ( A v ) − 3 q ( A v ) , L B ( v ) = K d v − 3 e ( B v ) + 3 t ( B v ) . L_A(v) = \alpha d_v + (3d_v - 38)e(A_v) - 3q(A_v), \qquad L_B(v) = Kd_v - 3e(B_v) + 3t(B_v). L A ( v ) = α d v + ( 3 d v − 38 ) e ( A v ) − 3 q ( A v ) , L B ( v ) = K d v − 3 e ( B v ) + 3 t ( B v ) .
Their nonnegativity is exactly (II.8) and (II.9). The constants in (II.7) satisfy
α d + K d = 1375 − 26 d − 3 d 2 ( 13 ≤ d ≤ 17 ) . (18) \alpha d + Kd = 1375 - 26d - 3d^2 \qquad(13 \le d \le17). \tag*{(18)} α d + K d = 1375 − 26 d − 3 d 2 ( 13 ≤ d ≤ 17 ) . (18)
Checking the five rows of the table verifies this polynomial expression for the combined constant term. It allows the sum of local inequalities to be evaluated using the vertex degrees:
∑ v ( L A ( v ) + L B ( v ) ) = ∑ v ( 1375 − 26 d v − 3 d v 2 ) + 3 ∑ v ( d v e ( A v ) − q ( A v ) + t ( B v ) ) − 38 ∑ v e ( A v ) − 3 ∑ v e ( B v ) = 38 ⋅ 1375 − 52 e − 3 ∑ v d v 2 + 3 ⋅ 41 t − 38 ⋅ 3 t − 3 ( 38 e − ∑ v d v 2 + 3 t ) = 52250 − 166 e . \begin{aligned}
\sum_v (L_A(v) + L_B(v)) &= \sum_v (1375 - 26d_v - 3d_v^2) \\
&\quad+ 3\sum_v (d_v e(A_v) - q(A_v) + t(B_v)) \\
&\quad- 38\sum_v e(A_v) - 3\sum_v e(B_v) \\
&= 38 \cdot1375 - 52e - 3\sum_v d_v^2 \\
&\quad+ 3 \cdot41t - 38 \cdot3t - 3\left(38e - \sum_v d_v^2 + 3t\right) \\
&= 52250 - 166e.
\end{aligned} v ∑ ( L A ( v ) + L B ( v )) = v ∑ ( 1375 − 26 d v − 3 d v 2 ) + 3 v ∑ ( d v e ( A v ) − q ( A v ) + t ( B v )) − 38 v ∑ e ( A v ) − 3 v ∑ e ( B v ) = 38 ⋅ 1375 − 52 e − 3 v ∑ d v 2 + 3 ⋅ 41 t − 38 ⋅ 3 t − 3 ( 38 e − v ∑ d v 2 + 3 t ) = 52250 − 166 e .
The second equality uses, in order, the handshaking identity, Lemma II.5.1, (II.4), and (II.5). Both the degree-square terms and the triangle terms cancel. The resulting identity is the certificate for the edge bound:
52250 − 166 e ( X ) = ∑ v ( L A ( v ) + L B ( v ) ) ≥ 0. (19) 52250 - 166e(X) = \sum_v (L_A(v) + L_B(v)) \ge0. \tag*{(19)} 52250 − 166 e ( X ) = v ∑ ( L A ( v ) + L B ( v )) ≥ 0. (19)
It follows that
e ( X ) ≤ 52250 166 = 26125 83 = 314 + 63 83 < 315. e(X) \le\frac{52250}{166} = \frac{26125}{83} = 314 + \frac{63}{83} < 315. e ( X ) ≤ 166 52250 = 83 26125 = 314 + 83 63 < 315.
Since e ( X ) e(X) e ( X ) is an integer, e ( X ) ≤ 314 e(X) \le314 e ( X ) ≤ 314 , proving Proposition II.4.1.
This calculation reduces the edge bound to the ten local inequalities (II.8) and (II.9). The next section lists the finite profile sets on which they are checked and the exact extremal values obtained by the checker.
Checking the ten local inequalities
For the A A A side, the following table records the complete profile lists used, the number of graphs from which they were extracted, and the minimum of L A = α d + ( 3 d − 38 ) e − 3 q L_A = \alpha_d + (3d - 38)e - 3q L A = α d + ( 3 d − 38 ) e − 3 q on those lists.
Table 7.
The degree 13 minimizing example gives 346 + 32 − 3 ⋅ 126 = 0 346 + 32 - 3 \cdot126 = 0 346 + 32 − 3 ⋅ 126 = 0 . The degree 17 example gives − 48 + 13 ⋅ 42 − 3 ⋅ 166 = 0 -48 + 13 \cdot42 - 3 \cdot166 = 0 − 48 + 13 ⋅ 42 − 3 ⋅ 166 = 0 . These substitutions illustrate the arithmetic, but the universal statement requires checking every profile in the relevant list.
For the B B B side, L B L_B L B depends only on e − t e - t e − t , not on q q q . Thus it is enough to maximize e − t e - t e − t on the appropriate profile set. At order 24 the set is the catalogue’s distinct profiles; at orders 20–23 it is the union of the vertices of the certified polygons at each edge count. The results are
Table 8.
For example, at d = 15 d = 15 d = 15 the largest possible e − t e - t e − t in the outer profile set is 31, giving L B ≥ 131 − 3 ⋅ 31 = 38 L_B \ge131 - 3 \cdot31 = 38 L B ≥ 131 − 3 ⋅ 31 = 38 . At d = 16 d = 16 d = 16 , the corresponding calculation is 111 − 3 ⋅ 37 = 0 111 - 3 \cdot37 = 0 111 − 3 ⋅ 37 = 0 .
An affine function on a polygon achieves its minimum at a vertex. Consequently, checking polygon vertices is sufficient even if the polygon contains many additional integer points or unrealizable profiles. When actual profiles are used directly, completeness of the underlying catalogue establishes that every graph profile has been checked.
The program check_local_example.py performs these substitutions using exact rational arithmetic. It also checks the polynomial identity (II.15) and the agreement with the saved equation multipliers. The program computes the minima from the supplied profile sets.
Where the profile restrictions come from
The complete triangle-free catalogues and the complete order 24 ( 4 , 5 ) (4,5) ( 4 , 5 ) catalogue are external inputs [II.3]. The supplied graph6 files encode the graphs. The extractor catalogue_profiles.cpp computes their exact profiles. The distinct-profile sets can be regenerated exhaustively with regenerate_catalogue_profiles.py and compared with the supplied sets. The independent catalogue audit additionally checks graph counts and sampled profile computations by a different graph decoder. Sampling is not an exhaustive independent recomputation, and none of these checks re-proves catalogue completeness.
The order 20–23 ( 4 , 5 ) (4,5) ( 4 , 5 ) profile polygons are derived from still smaller graphs. For a fixed order m m m and edge count η \eta η , the unknown graph has neighborhoods in R ( 3 , 5 , d ) R(3,5,d) R ( 3 , 5 , d ) and nonneighborhoods in R ( 4 , 4 , m − 1 − d ) R(4,4,m-1-d) R ( 4 , 4 , m − 1 − d ) . Their complete smaller catalogues supply admissible profiles: the ( 3 , 5 ) (3,5) ( 3 , 5 ) catalogues have order at most 13 and the ( 4 , 4 ) (4,4) ( 4 , 4 ) catalogues have order at most 17. Counting triples and four-vertex configurations imposes equations on how many local profiles can occur. We retain these equations and nonnegativity, but allow real weights and do not require them to arise from a graph. This enlarged system is called a linear relaxation . Every graph gives a solution of the system, although some solutions may have no corresponding graph. A bound valid for every solution therefore holds for every graph. Section II.9 constructs this assignment explicitly.
To obtain a polygon, we prove lower and upper bounds on eight linear combinations of t t t and q q q . The coefficient pairs are
( 1 , 0 ) , ( 0 , 1 ) , ( 1 , 1 ) , ( 1 , − 1 ) , ( 1 , 2 ) , ( 2 , 1 ) , ( 1 , − 2 ) , ( 2 , − 1 ) . (1,0),\quad(0,1),\quad(1,1),\quad(1,-1),\quad(1,2),\quad(2,1),\quad(1,-2),\quad(2,-1). ( 1 , 0 ) , ( 0 , 1 ) , ( 1 , 1 ) , ( 1 , − 1 ) , ( 1 , 2 ) , ( 2 , 1 ) , ( 1 , − 2 ) , ( 2 , − 1 ) .
For a direction ( a , b ) (a,b) ( a , b ) , the quantity a t + b q at+bq a t + b q is integral. If an exact rational certificate shows a t + b q > k − 1 at+bq>k-1 a t + b q > k − 1 , where k k k is an integer, then a t + b q ≥ k at+bq\ge k a t + b q ≥ k . Upper bounds are treated by changing the sign. Intersecting these integer half-planes produces an outer polygon. For example, ( a , b ) = ( 1 , 0 ) (a,b)=(1,0) ( a , b ) = ( 1 , 0 ) bounds the number of triangles, whereas ( a , b ) = ( 1 , − 1 ) (a,b)=(1,-1) ( a , b ) = ( 1 , − 1 ) bounds t − q t-q t − q . Every graph profile satisfies all these bounds and therefore lies in their half-plane intersection.
Each defining half-plane is justified by an exact rational certificate. The polygon audit then reconstructs their intersection over the rational numbers and compares its vertices with the stored vertex list. These checks establish both that every graph satisfies the defining inequalities and that the stored vertices describe their full intersection. The files also contain raw numerical estimates used to select the integer cutoffs; verification uses the exact certificates at those cutoffs.
Across orders 19–23, the full dependency chain uses 1968 exact certificates for the defining half-planes. Twenty-six additional edge classes use complete extreme-edge catalogues. These certificates form the shared set of prerequisites for the local bounds used in the complete proof. Their reconstruction and verification are specified in the companion mathematical specification.
The verified minimum and maximum edge counts for ( 4 , 5 ) (4,5) ( 4 , 5 ) graphs of orders 19–24 are, respectively,
[ 57 , 92 ] , [ 68 , 100 ] , [ 77 , 107 ] , [ 88 , 114 ] , [ 101 , 122 ] , [ 116 , 132 ] . [57,92],\quad[68,100],\quad[77,107],\quad[88,114],\quad[101,122],\quad[116,132]. [ 57 , 92 ] , [ 68 , 100 ] , [ 77 , 107 ] , [ 88 , 114 ] , [ 101 , 122 ] , [ 116 , 132 ] .
Their published source is Table 1 in Appendix A of [II.2]. They delimit the edge classes that must be covered. The coverage audit checks that each edge count in these intervals has either a complete catalogue or a certified containing polygon.
Table 1.
Profile variables and the saved equation multipliers
The file edge_46_38_max.json stores the same numerical bound as (II.16), but in coordinates adapted to a general counting model. This section identifies those coordinates and all nonzero multipliers, making the relation explicit.
For X ∈ R ( 4 , 6 , 38 ) X \in\mathcal{R}(4,6,38) X ∈ R ( 4 , 6 , 38 ) , the numbers of vertices with each possible neighborhood profile sum to 38, and their degree-weighted sum is 2 e ( X ) 2e(X) 2 e ( X ) . To express these counts using the available containing polygons, write each actual profile as a convex combination of polygon vertices. Aggregating those coefficients over the vertices of X X X gives nonnegative profile weights. They preserve the two sums just described and all other statistics that are affine in a local profile.
Put D = { 13 , 14 , 15 , 16 , 17 } D = \{13,14,15,16,17\} D = { 13 , 14 , 15 , 16 , 17 } . The polygon vertices in Section II.4 determine finite index sets
I A = { ( d , η , τ , κ ) : d ∈ D , η ∈ { 0 , … , ( d 2 ) } , ( τ , κ ) ∈ V 3 , 6 , d , η } , \mathcal{I}_{A} = \{(d,\eta,\tau,\kappa) : d \in D,\quad\eta\in\{0,\ldots,\binom{d}{2}\},\quad(\tau,\kappa) \in V_{3,6,d,\eta}\}, I A = {( d , η , τ , κ ) : d ∈ D , η ∈ { 0 , … , ( 2 d ) } , ( τ , κ ) ∈ V 3 , 6 , d , η } ,
I B = { ( h , η , τ , κ ) : h = 37 − d , d ∈ D , η ∈ { 0 , … , ( h 2 ) } , ( τ , κ ) ∈ V 4 , 5 , h , η } . \mathcal{I}_{B} = \{(h,\eta,\tau,\kappa) : h = 37-d,\ d \in D,\quad\eta\in\{0,\ldots,\binom{h}{2}\},\quad(\tau,\kappa) \in V_{4,5,h,\eta}\}. I B = {( h , η , τ , κ ) : h = 37 − d , d ∈ D , η ∈ { 0 , … , ( 2 h ) } , ( τ , κ ) ∈ V 4 , 5 , h , η } .
There is one nonnegative real variable a d , η , τ , κ a_{d,\eta,\tau,\kappa} a d , η , τ , κ per index in I A \mathcal{I}_{A} I A and one b h , η , τ , κ b_{h,\eta,\tau,\kappa} b h , η , τ , κ per index in I B \mathcal{I}_{B} I B . For brevity put p = ( η , τ , κ ) p = (\eta,\tau,\kappa) p = ( η , τ , κ ) and write a d , p a_{d,p} a d , p and b h , p b_{h,p} b h , p for these same variables. Thus the first index always denotes the order of the local graph: d d d for a neighborhood and h = 37 − d h = 37-d h = 37 − d for a nonneighborhood. Each sum over p p p below is restricted to the indices belonging to its indicated order and side.
Here is the assignment supplied by an actual X ∈ R ( 4 , 6 , 38 ) X \in\mathcal{R}(4,6,38) X ∈ R ( 4 , 6 , 38 ) . For each v v v of degree d d d , choose nonnegative coefficients λ v , p A \lambda^{A}_{v,p} λ v , p A with sum one, supported only on p = ( e ( A v ) , τ , κ ) p = (e(A_v),\tau,\kappa) p = ( e ( A v ) , τ , κ ) with ( τ , κ ) ∈ V 3 , 6 , d , e ( A v ) (\tau,\kappa) \in V_{3,6,d,e(A_v)} ( τ , κ ) ∈ V 3 , 6 , d , e ( A v ) , such that
( t ( A v ) , q ( A v ) ) = ∑ p λ v , p A ( τ , κ ) . (t(A_v),q(A_v)) = \sum_{p} \lambda^{A}_{v,p}(\tau,\kappa). ( t ( A v ) , q ( A v )) = p ∑ λ v , p A ( τ , κ ) .
They exist because the actual pair lies in that polygon. Similarly choose nonnegative coefficients λ v , p B \lambda^{B}_{v,p} λ v , p B with sum one, supported on p = ( e ( B v ) , τ , κ ) p = (e(B_v),\tau,\kappa) p = ( e ( B v ) , τ , κ ) with ( τ , κ ) ∈ V 4 , 5 , 37 − d , e ( B v ) (\tau,\kappa) \in V_{4,5,37-d,e(B_v)} ( τ , κ ) ∈ V 4 , 5 , 37 − d , e ( B v ) , whose convex combination of ( τ , κ ) (\tau,\kappa) ( τ , κ ) equals ( t ( B v ) , q ( B v ) ) (t(B_v),q(B_v)) ( t ( B v ) , q ( B v )) . Define
a d , p = ∑ v : d v = d λ v , p A , b h , p = ∑ v : d v = 37 − h λ v , p B . a_{d,p} = \sum_{v:d_v=d} \lambda^{A}_{v,p},\qquad b_{h,p} = \sum_{v:d_v=37-h} \lambda^{B}_{v,p}. a d , p = v : d v = d ∑ λ v , p A , b h , p = v : d v = 37 − h ∑ λ v , p B .
where missing coefficients are zero. These variables are aggregate convex-combination weights; they do not count vertices whose local graph has the polygon-vertex profile p p p . They can be fractional and their representation can be nonunique, even for one fixed graph. Nevertheless,
m d : = ∑ p a d , p = ∑ p b 37 − d , p = # { v : d v = d } , ∑ d , p a d , p = 38. m_d := \sum_p a_{d,p} = \sum_p b_{37-d,p} = \#\{v:d_v=d\},\qquad\sum_{d,p} a_{d,p} = 38. m d := p ∑ a d , p = p ∑ b 37 − d , p = # { v : d v = d } , d , p ∑ a d , p = 38.
The symbol m d m_d m d denotes this common degree-class weight; only for an assignment supplied by a graph must it be an integer.
For a concrete example, the catalogue r36_13.g6.gz.profiles has exactly three profiles with 16 edges, whose ( t , q ) (t,q) ( t , q ) coordinates are
( 0 , 25 ) , ( 0 , 26 ) , ( 0 , 28 ) . (0,25),\qquad(0,26),\qquad(0,28). ( 0 , 25 ) , ( 0 , 26 ) , ( 0 , 28 ) .
Their convex hull is the segment with endpoints ( 0 , 25 ) (0,25) ( 0 , 25 ) and ( 0 , 28 ) (0,28) ( 0 , 28 ) . If a vertex of X X X has neighborhood profile ( 13 , 16 , 0 , 26 ) (13,16,0,26) ( 13 , 16 , 0 , 26 ) , then
( 0 , 26 ) = 2 3 ( 0 , 25 ) + 1 3 ( 0 , 28 ) . (0,26) = \frac{2}{3}(0,25) + \frac{1}{3}(0,28). ( 0 , 26 ) = 3 2 ( 0 , 25 ) + 3 1 ( 0 , 28 ) .
assigns weight 2 / 3 2/3 2/3 to a 13 , 16 , 0 , 25 a_{13,16,0,25} a 13 , 16 , 0 , 25 and weight 1 / 3 1/3 1/3 to a 13 , 16 , 0 , 28 a_{13,16,0,28} a 13 , 16 , 0 , 28 . These contributions total one vertex, preserve its 16 local edges and zero local triangles, and give weighted q q q value ( 2 / 3 ) 25 + ( 1 / 3 ) 28 = 26 (2/3)25+(1/3)28=26 ( 2/3 ) 25 + ( 1/3 ) 28 = 26 .
The example uses a profile in the smaller catalogue and shows how any occurrence of that profile would be represented. The aggregated variables are consequently allowed to be fractional, even when they arise from a graph.
The linear functions of the profile weights representing ambient statistics are
E = 1 2 ∑ d , p d a d , p , T = 1 3 ∑ d , p η a d , p , W = ∑ d , p ( d 2 ) a d , p , Q = W − T . \mathcal{E}=\frac{1}{2}\sum_{d,p}d\,a_{d,p},\qquad\mathcal{T}=\frac{1}{3}\sum_{d,p}\eta\,a_{d,p},\qquad\mathcal{W}=\sum_{d,p}\binom{d}{2}a_{d,p},\qquad\mathcal{Q}=\mathcal{W}-\mathcal{T}. E = 2 1 d , p ∑ d a d , p , T = 3 1 d , p ∑ η a d , p , W = d , p ∑ ( 2 d ) a d , p , Q = W − T .
On the graph assignment these equal e ( X ) , t ( X ) , w ( X ) , q ( X ) e(X),t(X),w(X),q(X) e ( X ) , t ( X ) , w ( X ) , q ( X ) . Likewise a local expression affine in ( η , τ , κ ) (\eta,\tau,\kappa) ( η , τ , κ ) at fixed order is evaluated by its weighted sum. For example, ∑ v T k ( A v ) \sum_v T_k(A_v) ∑ v T k ( A v ) means ∑ d , p T k ( d , p ) a d , p \sum_{d,p}T_k(d,p)a_{d,p} ∑ d , p T k ( d , p ) a d , p , where T k ( d , p ) T_k(d,p) T k ( d , p ) is obtained from (II.2) by substituting ( n , e , t , q ) = ( d , η , τ , κ ) (n,e,t,q)=(d,\eta,\tau,\kappa) ( n , e , t , q ) = ( d , η , τ , κ ) ; the analogous expression for B B B uses ( h , p ) (h,p) ( h , p ) and b h , p b_{h,p} b h , p . Convex combinations preserve these affine expressions, so these weighted sums equal the graph counts whenever the variables come from a graph.
Add a variable z F ≥ 0 z_F\geq0 z F ≥ 0 for each of the eleven unlabelled four-vertex graph types F F F , and j d , f ≥ 0 j_{d,f}\geq0 j d , f ≥ 0 for each d , f ∈ D d,f\in D d , f ∈ D with d ≤ f d\leq f d ≤ f . For a graph assignment, z F z_F z F counts four-subsets inducing F F F and j d , f j_{d,f} j d , f counts unordered edges with endpoint degrees d , f d,f d , f . The relaxation permits real values but imposes the counting equations. One coordinate is known to be zero: z K 4 = 0 z_{K_4}=0 z K 4 = 0 , because the ambient graph X ∈ R ( 4 , 6 , 38 ) X\in\mathcal{R}(4,6,38) X ∈ R ( 4 , 6 , 38 ) contains no complete four-vertex subgraph. Counting the ends of edges incident with degree-d d d vertices gives one equation for each degree class:
2 j d , d + ∑ f < d j f , d + ∑ f > d j d , f = d m d ( d ∈ D ) . 2j_{d,d}+\sum_{f<d}j_{f,d}+\sum_{f>d}j_{d,f}=d\,m_d\qquad(d\in D). 2 j d , d + f < d ∑ j f , d + f > d ∑ j d , f = d m d ( d ∈ D ) .
Counting unordered paths on four distinct vertices by their central edge gives another equation; the paths are not required to be induced:
∑ d ≤ f ( d − 1 ) ( f − 1 ) j d , f − 3 T = ∑ F path 4 ( F ) z F . \sum_{d\leq f}(d-1)(f-1)j_{d,f}-3\mathcal{T}=\sum_F\operatorname{path}_4(F)z_F. d ≤ f ∑ ( d − 1 ) ( f − 1 ) j d , f − 3 T = F ∑ path 4 ( F ) z F .
where path 4 ( F ) \operatorname{path}_4(F) path 4 ( F ) is the number of such paths in F F F . All other rows appear in Section II.10.
The following elementary example illustrates how a weighted sum of equations proves a bound. Let u 1 , u 2 , u 3 u_1,u_2,u_3 u 1 , u 2 , u 3 be nonnegative numbers satisfying
u 1 + u 2 = 5 , u 2 + u 3 = 4. u_1+u_2=5,\qquad u_2+u_3=4. u 1 + u 2 = 5 , u 2 + u 3 = 4.
Multiply the first equation by 2 and the second by 1, then add:
2 u 1 + 3 u 2 + u 3 = 14. 2u_1+3u_2+u_3=14. 2 u 1 + 3 u 2 + u 3 = 14.
To bound the slightly different expression 3 u 1 + 3 u 2 + u 3 3u_1+3u_2+u_3 3 u 1 + 3 u 2 + u 3 , write
3 u 1 + 3 u 2 + u 3 = 14 + u 1 ≥ 14. 3u_1+3u_2+u_3=14+u_1\geq14. 3 u 1 + 3 u 2 + u 3 = 14 + u 1 ≥ 14.
The equation multipliers ( 2 , 1 ) (2,1) ( 2 , 1 ) supply a certificate for the lower bound 14: subtracting the weighted equations from the desired expression leaves the nonnegative quantity u 1 u_1 u 1 . The same calculation applies to every nonnegative solution of the two equations. The local graph certificate uses this operation with its profile weights and counting equations.
There are 107 neighborhood profile variables, 1084 nonneighborhood profile variables, 15 degree-pair variables, and 11 four-vertex variables. Let u = ( u 0 , … , u 1216 ) T \mathbf{u}=(u_0,\ldots,u_{1216})^T u = ( u 0 , … , u 1216 ) T list them in the order used by the supplied program. There are 25 counting equations. Write the i i i th equation as
∑ j = 0 1216 m i j u j = b i ( 0 ≤ i < 25 ) . \sum_{j=0}^{1216}m_{ij}u_j=b_i\qquad(0\leq i<25). j = 0 ∑ 1216 m ij u j = b i ( 0 ≤ i < 25 ) .
The matrix M = ( m i j ) \mathbf{M}=(m_{ij}) M = ( m ij ) is the rectangular table of their coefficients, and b = ( b 0 , … , b 24 ) T \mathbf{b}=(b_0,\ldots,b_{24})^T b = ( b 0 , … , b 24 ) T is the vector of right-hand sides. Thus M u = b \mathbf{M}\mathbf{u}=\mathbf{b} Mu = b abbreviates these 25 equations; u ≥ 0 \mathbf{u}\ge0 u ≥ 0 abbreviates the 1217 nonnegativity conditions. The additional condition z K 4 = 0 z_{K_4}=0 z K 4 = 0 is retained.
We seek an upper bound on e ( X ) e(X) e ( X ) , so we seek a lower bound on its negative, − E -\mathcal{E} − E . Define c j c_j c j to be the coefficient of u j u_j u j in this linear expression; then − E = ∑ j c j u j -\mathcal{E}=\sum_j c_j u_j − E = ∑ j c j u j . Choose rational multipliers y 0 , … , y 24 y_0,\ldots,y_{24} y 0 , … , y 24 for the counting equations. Their weighted sum is
∑ j ( ∑ i y i m i j ) u j = ∑ i y i b i . \sum_j\left(\sum_i y_i m_{ij}\right)u_j=\sum_i y_i b_i. j ∑ ( i ∑ y i m ij ) u j = i ∑ y i b i .
Subtracting this from ∑ j c j u j \sum_j c_j u_j ∑ j c j u j leaves coefficient c j − ∑ i y i m i j c_j-\sum_i y_i m_{ij} c j − ∑ i y i m ij on u j u_j u j . If each such coefficient is nonnegative, the target is at least ∑ i y i b i \sum_i y_i b_i ∑ i y i b i . The sign of the coefficient on z K 4 z_{K_4} z K 4 is immaterial because that coordinate is zero. It is therefore sufficient to check the signs on all remaining coordinates.
With c = ( c j ) T \mathbf{c}=(c_j)^T c = ( c j ) T , y = ( y i ) T \mathbf{y}=(y_i)^T y = ( y i ) T , and superscript T T T denoting transpose, the preceding calculation can be abbreviated as
c T u = y T b + ( c − M T y ) T u . (20) \mathbf{c}^T\mathbf{u}=\mathbf{y}^T\mathbf{b}+(\mathbf{c}-M^T\mathbf{y})^T\mathbf{u}. \tag*{(20)} c T u = y T b + ( c − M T y ) T u . (20)
The vector c − M T y \mathbf{c}-M^T\mathbf{y} c − M T y is called the residual . The checker verifies its coordinate signs and the exact value of y T b \mathbf{y}^T\mathbf{b} y T b . It also reconstructs the equations and the objective so that the calculation is tied to the stated graph problem. The list of equation multipliers y \mathbf{y} y is stored in the JSON field dual. In the following row table, e , t , w e,t,w e , t , w abbreviate E , T , W \mathcal{E},\mathcal{T},\mathcal{W} E , T , W ; graph-style sums of local counts abbreviate the affine weighted sums just defined.
The certificate contains 25 equation multipliers, 17 of them nonzero. The degree-pair equations and the path equation have zero multiplier in this example. Thus they contribute nothing to this particular weighted sum, although they are useful for other certificates.
After the weighted sum is expanded, the coefficient of a d , p a_{d,p} a d , p is
α d + ( 3 d − 38 ) η − 3 κ 166 − 4101 220780 τ . \frac{\alpha_d+(3d-38)\eta-3\kappa}{166}-\frac{4101}{220780}\tau. 166 α d + ( 3 d − 38 ) η − 3 κ − 220780 4101 τ .
All the neighborhood polygon vertices come from triangle-free catalogues, so τ = 0 \tau=0 τ = 0 . The coefficient of b 37 − d , p b_{37-d,p} b 37 − d , p is ( K d − 3 η + 3 τ ) / 166 (K_d-3\eta+3\tau)/166 ( K d − 3 η + 3 τ ) /166 . Every degree-pair coefficient is zero. The four-vertex coefficients are zero except that of K 4 K_4 K 4 , which is 4101 / 55195 4101/55195 4101/55195 and multiplies a zero variable. Equation (II.17) is therefore precisely (II.16) divided by 166.
The multipliers and their normalization
For completeness, the entire multiplier vector is tabulated below in the exact row order used by recursive_profiles_v4.py. Here U k ( F ) U_k(F) U k ( F ) is the number of universal vertices of F F F whose deletion leaves a triple with k k k edges; Z k ( F ) Z_k(F) Z k ( F ) is the corresponding number of isolated vertices (vertices of degree zero). Quantities such as e , t , w e,t,w e , t , w in the equations are linear functions of the profile weights.
The rows arise from the following incidence counts. Each four-subset has one induced type, giving row 7. Each edge belongs to ( 36 2 ) \binom{36}{2} ( 2 36 ) four-subsets, and each triangle or pair of incident edges belongs to 35 four-subsets, giving rows 8–10. For row 11, a triple in A v A_v A v together with v v v is a four-set in which v v v is universal. Counting these pairs first by v v v gives the left sum, and first by the induced four-vertex type gives the right sum. The same argument applies to each triple edge count and, for B v B_v B v , to an isolated fourth vertex. Each row therefore holds for every graph in the ambient family.
Table 9.
Row 6 uses the program’s normalization: twice the left side of equation (II.6); its multiplier 3 / 332 3/332 3/332 therefore has the same effect as multiplying the simplified equation by 3 / 166 3/166 3/166 . Rows 8 and 9 similarly retain the program’s factors 2 and 3, so that the multipliers in this table can be compared directly with the JSON. Only rows 0 and 7 have nonzero right sides. Their contribution is
− 6902 1577 38 − 111 55195 ( 38 4 ) = − 26125 83 . -\frac{6902}{1577}38-\frac{111}{55195}\binom{38}{4}=-\frac{26125}{83}. − 1577 6902 38 − 55195 111 ( 4 38 ) = − 83 26125 .
This is the field exact_lower_bound in the JSON file. Because the objective is − e -e − e , a lower bound on the objective is an upper bound on e e e . The field threshold is − 315 -315 − 315 : the certified objective is strictly greater than that threshold, which gives the integral conclusion e ≤ 314 e\le314 e ≤ 314 .
The multiplier signs are unrestricted because the multiplied rows are equalities. The signs of the resulting residual coefficients, not the signs of these equality multipliers, justify the inequality. This distinction is useful when inspecting a certificate with many negative entries.
What the remaining local computations add
The same mechanism proves the other endpoint bounds used in the main paper. For a ( 4 , 6 ) (4,6) ( 4 , 6 ) -graph, the smaller inputs are again ( 3 , 6 ) (3,6) ( 3 , 6 ) neighborhoods and ( 4 , 5 ) (4,5) ( 4 , 5 ) nonneighborhoods. For a ( 5 , 5 ) (5,5) ( 5 , 5 ) -graph, they are ( 4 , 5 ) (4,5) ( 4 , 5 ) neighborhoods and ( 5 , 4 ) (5,4) ( 5 , 4 ) nonneighborhoods. Complementation exchanges edges and nonedges and turns a ( 5 , 4 ) (5,4) ( 5 , 4 ) -graph into a ( 4 , 5 ) (4,5) ( 4 , 5 ) -graph of the same order. Thus the same ( 4 , 5 ) (4,5) ( 4 , 5 ) input catalogues and polygons provide bounds for both sides.
To see how the counts are obtained, write Y ‾ \overline{Y} Y for the complement of a graph Y Y Y on m m m vertices. From the triple counts in (II.2),
e ( Y ‾ ) = ( m 2 ) − e ( Y ) , e(\overline{Y}) = \binom{m}{2} - e(Y), e ( Y ) = ( 2 m ) − e ( Y ) ,
t ( Y ‾ ) = ( m 3 ) − ( m − 2 ) e ( Y ) + q ( Y ) , t(\overline{Y}) = \binom{m}{3} - (m-2)e(Y) + q(Y), t ( Y ) = ( 3 m ) − ( m − 2 ) e ( Y ) + q ( Y ) ,
q ( Y ‾ ) = 2 ( m 3 ) − ( m − 2 ) e ( Y ) + t ( Y ) . q(\overline{Y}) = 2\binom{m}{3} - (m-2)e(Y) + t(Y). q ( Y ) = 2 ( 3 m ) − ( m − 2 ) e ( Y ) + t ( Y ) .
The second line is T 0 ( Y ) T_0(Y) T 0 ( Y ) , and the third is T 1 ( Y ) + 2 T 0 ( Y ) T_1(Y)+2T_0(Y) T 1 ( Y ) + 2 T 0 ( Y ) . These are affine transformations of the profiles, so they also preserve the validity of containing polygons under complementation.
Some endpoint bounds have an immediate integrality step. For example,
e ( Y ) ≥ 95414 221 > 431 ⟹ e ( Y ) ≥ 432 ( Y ∈ R ( 5 , 5 , 44 ) ) . e(Y) \ge\frac{95414}{221} > 431 \quad\Longrightarrow\quad e(Y) \ge432 \qquad(Y \in\mathcal{R}(5,5,44)). e ( Y ) ≥ 221 95414 > 431 ⟹ e ( Y ) ≥ 432 ( Y ∈ R ( 5 , 5 , 44 )) .
The corresponding file is edge_55_44_min.json. For order 45, edge_55_45_min.json gives
e ( Y ) ≥ 12137627230191 26402663302 > 459 , hence e ( Y ) ≥ 460. e(Y) \ge\frac{12137627230191}{26402663302} > 459,\qquad\text{hence } e(Y) \ge460. e ( Y ) ≥ 26402663302 12137627230191 > 459 , hence e ( Y ) ≥ 460.
These bounds are obtained by checking the rational equation multipliers in the two files using exact arithmetic.
The order 39 ( 4 , 6 ) (4,6) ( 4 , 6 ) bound has a useful extra step. The initial certificate proves e ( Y ) ≤ 325 e(Y) \le325 e ( Y ) ≤ 325 . Fixing e ( Y ) = 325 e(Y)=325 e ( Y ) = 325 , two further certificates give
t ( Y ) ≥ 1612 3 , − t ( Y ) ≥ − 1612 3 . t(Y) \ge\frac{1612}{3},\qquad-t(Y) \ge-\frac{1612}{3}. t ( Y ) ≥ 3 1612 , − t ( Y ) ≥ − 3 1612 .
Thus t ( Y ) = 1612 / 3 t(Y)=1612/3 t ( Y ) = 1612/3 , impossible for an integer triangle count. This excludes the endpoint and yields e ( Y ) ≤ 324 e(Y) \le324 e ( Y ) ≤ 324 . The files exclude_4639e325_t_gt537.json and exclude_4639e325_t_lt538.json encode the two sides. Their filenames refer to the neighboring integer thresholds; the exact certified value is the rational number displayed above.
To describe the five remaining local inequalities, return to a hypothetical X ∈ R ( 5 , 6 , 84 ) X \in\mathcal{R}(5,6,84) X ∈ R ( 5 , 6 , 84 ) and take A v A_v A v , B v B_v B v to be its neighborhood and nonneighborhood graphs. The inequalities have the form
γ d d + γ e e ( Y ) + γ t t ( Y ) + γ q q ( Y ) + γ 0 ≤ 0 , \gamma_d d+\gamma_e e(Y)+\gamma_t t(Y)+\gamma_q q(Y)+\gamma_0 \le0, γ d d + γ e e ( Y ) + γ t t ( Y ) + γ q q ( Y ) + γ 0 ≤ 0 ,
for Y = A v Y=A_v Y = A v or B v B_v B v in the 84-vertex graph, where d = d X ( v ) d=d_X(v) d = d X ( v ) and ( γ d , γ e , γ t , γ q , γ 0 ) (\gamma_d,\gamma_e,\gamma_t,\gamma_q,\gamma_0) ( γ d , γ e , γ t , γ q , γ 0 ) is the fixed coefficient vector of the chosen inequality. The five vectors are recorded in exact_candidate_used_facets.json. The identifiers 203, 595, 603, 658 and 681 are lookup keys for these five stored inequalities; they identify entries in that file. Each inequality is proved in every possible edge class of its local family by a weighted sum of counting equations. The inputs are the smaller profile sets already described. In particular, the proof requires no catalogue of all 38-, 39-, 44- or 45-vertex graphs. For example, identifier 203 means
770 d − 269 e ( Y ) − 6 t ( Y ) + 12 q ( Y ) + 5940 ≤ 0 ( Y = A v ) . 770d-269e(Y)-6t(Y)+12q(Y)+5940 \le0 \qquad(Y=A_v). 770 d − 269 e ( Y ) − 6 t ( Y ) + 12 q ( Y ) + 5940 ≤ 0 ( Y = A v ) .
At d = 38 d = 38 d = 38 and e ( Y ) = 314 e(Y) = 314 e ( Y ) = 314 , the statement becomes − 6 t ( Y ) + 12 q ( Y ) ≤ 49266 -6t(Y) + 12q(Y) \le49266 − 6 t ( Y ) + 12 q ( Y ) ≤ 49266 . The file facet203_46_n38_e314.json supplies equation multipliers proving
6 t ( Y ) − 12 q ( Y ) ≥ − 541956 11 > − 49272. 6t(Y) - 12q(Y) \ge-\frac{541956}{11} > -49272. 6 t ( Y ) − 12 q ( Y ) ≥ − 11 541956 > − 49272.
Since − 6 t ( Y ) + 12 q ( Y ) -6t(Y) + 12q(Y) − 6 t ( Y ) + 12 q ( Y ) is a multiple of 6, this proves the required bound 49266. It proves it for every graph in the edge class, by the same graph-to-equations implication as in the worked example.
For identifier 203, the edge classes are 267 , … , 314 267,\ldots,314 267 , … , 314 at order 38 and 288 , … , 324 288,\ldots,324 288 , … , 324 at order 39: 85 cases. Each of the other four inequalities concerns nonneighborhoods, with edge classes 432 , … , 514 432,\ldots,514 432 , … , 514 at order 44 and 460 , … , 530 460,\ldots,530 460 , … , 530 at order 45: 154 cases per inequality. Thus there are 85 + 4 ⋅ 154 = 701 85 + 4 \cdot154 = 701 85 + 4 ⋅ 154 = 701 checks of rational equation multipliers. The endpoint bounds justify excluding all other edge counts. The verifier reconstructs this entire case list so that an absent case cannot silently disappear from the proof.
The complete local dependency chain consists of 1968 prerequisite half-plane certificates, ten endpoint and exclusion certificates, and 701 certificates for these five further inequalities: 2679 in total. The verifier replay_required_local_certificates.py checks that entire chain, including the list of required cases and the arithmetic of each certificate.
Why the global proof uses seven-vertex graphs
Suppose again that X ∈ R ( 5 , 6 , 84 ) X \in R(5,6,84) X ∈ R ( 5 , 6 , 84 ) exists. Every seven-vertex induced subgraph belongs to one of 979 allowed isomorphism types: those with neither a K 5 K_5 K 5 nor an independent six-set. Let H \mathcal{H} H be this finite set and put
p H = # { W ⊆ V ( X ) : ∣ W ∣ = 7 , X [ W ] ≅ H } ( 84 7 ) . p_H=\frac{\#\{W\subseteq V(X): |W|=7,\ X[W]\cong H\}}{\binom{84}{7}}. p H = ( 7 84 ) # { W ⊆ V ( X ) : ∣ W ∣ = 7 , X [ W ] ≅ H } .
Then p H ≥ 0 p_H\ge0 p H ≥ 0 and ∑ H p H = 1 \sum_H p_H=1 ∑ H p H = 1 . Equivalently, p H p_H p H is the probability that a uniformly chosen seven-subset induces type H H H .
A rooted graph has specified distinguished vertices, called roots; an isomorphism of rooted graphs must fix each specified root label. A flag specifies the induced rooted isomorphism type on a chosen set containing the roots. Its indicator is 1 if the chosen vertices have that type and 0 otherwise. Thus multiplying an inequality by a flag indicator restricts the count to those root configurations.
Many local counting expressions can be expanded as linear functions of the p H p_H p H . For instance, one can multiply a valid inequality by the indicator of a prescribed rooted graph and average over roots. The multiplier is nonnegative, so the averaged inequality is valid. Lifting the five local inequalities in this way retains information about how neighborhoods sit inside the ambient graph.
For example, fix a six-vertex flag with a distinguished root v v v , and let r 0 r_0 r 0 be the number of its other five vertices adjacent to v v v . There are 78 vertices outside this flag. Choose one uniformly, and let χ \chi χ be 1 if it is adjacent to v v v , and 0 otherwise. The average of r 0 + 78 χ r_0+78\chi r 0 + 78 χ is exactly d v d_v d v , because the chance that χ = 1 \chi=1 χ = 1 is ( d v − r 0 ) / 78 (d_v-r_0)/78 ( d v − r 0 ) /78 . The quantity r 0 + 78 χ r_0+78\chi r 0 + 78 χ can be read from the induced seven-vertex graph, although d v d_v d v cannot. Thus the universally valid bound d v ≤ 39 d_v\le39 d v ≤ 39 produces an inequality on averages of seven-vertex statistics. This replacement by a statistic with the same average is what the general count conversion does.
The normalization follows by comparing counts in a seven-set with counts in the full graph. If an expression uses m m m vertices outside a fixed flag on f f f vertices, where 0 ≤ m ≤ 7 − f 0\le m\le7-f 0 ≤ m ≤ 7 − f , a seven-set contains only 7 − f 7-f 7 − f available positions while the full graph has 84 − f 84-f 84 − f . The corresponding count conversion includes the exact factor
( 84 − f m ) ( 7 − f m ) . \frac{\binom{84-f}{m}}{\binom{7-f}{m}}. ( m 7 − f ) ( m 84 − f ) .
When two extension sets are counted together, the conversion is performed separately for each possible size of their intersection. Including these overlap cases makes the conversion an exact identity for a graph on 84 vertices.
The linear rows include the degree restriction d v ∈ { 38 , 39 } d_v\in\{38,39\} d v ∈ { 38 , 39 } , capacities of common neighborhoods, local edge and profile bounds, and elementary constraints on integer cell sizes. Here a mixed cell is
C ( C , D ) = { x ∈ V ( X ) ∖ ( C ∪ D ) : C ⊆ N X ( x ) , D ∩ N X ( x ) = ∅ } . \mathcal{C}(C,D)=\{x\in V(X)\setminus(C\cup D): C\subseteq N_X(x),\ D\cap N_X(x)=\varnothing\}. C ( C , D ) = { x ∈ V ( X ) ∖ ( C ∪ D ) : C ⊆ N X ( x ) , D ∩ N X ( x ) = ∅ } .
where the specified root sets C , D C,D C , D are disjoint, C C C is a clique, and D D D is independent. The cell size is c = ∣ C ( C , D ) ∣ c=|\mathcal{C}(C,D)| c = ∣ C ( C , D ) ∣ . For any integer c c c and integer k k k ,
( c − k ) ( c − k − 1 ) ≥ 0. (c-k)(c-k-1)\ge0. ( c − k ) ( c − k − 1 ) ≥ 0.
This inequality holds for each choice of roots and hence also after averaging over root configurations. Other rows use the fact that d v − 38 d_v-38 d v − 38 and 39 − d v 39-d_v 39 − d v take only the values zero and one. For example, when C C C is the two endpoints of an edge and D D D is empty, the cell is their common neighborhood. A triangle in that cell would form a K 5 K_5 K 5 with the two roots; an independent six-set there would also be forbidden in X X X . It is therefore a (3, 6)-graph, so its size is at most 17. The general definition treats mixed adjacency and nonadjacency requirements in the same explicit way.
The 979-type list is itself audited: all 2 21 2^{21} 2 21 labelled graphs on seven vertices are enumerated, forbidden patterns are excluded, and counts are compared with the orbit sizes of the representatives. This verifies a finite enumeration used internally by the proof. It is logically separate from the completeness of the external Ramsey graph catalogues.
The positive-semidefinite inequalities are sums of squares
The final certificate contains inequalities that are most compactly expressed with positive-semidefinite matrices. Their validity comes from an elementary square-counting observation.
Fix a labelled root graph σ \sigma σ on { 1 , … , ℓ } \{1,\ldots,\ell\} { 1 , … , ℓ } and an integer k ≥ 0 k \ge0 k ≥ 0 with ℓ + 2 k ≤ 7 \ell+ 2k \le7 ℓ + 2 k ≤ 7 . A root tuple is an injection ρ : { 1 , … , ℓ } → V ( X ) \rho: \{1,\ldots,\ell\} \to V(X) ρ : { 1 , … , ℓ } → V ( X ) inducing σ \sigma σ . Let F σ , k \mathcal{F}_{\sigma,k} F σ , k be the finite set of rooted isomorphism types on ℓ + k \ell+ k ℓ + k vertices whose labelled roots induce σ \sigma σ and which contain neither a K 5 K_5 K 5 nor an independent six-set. Isomorphisms fix the root labels and may permute the k k k nonroot vertices. For each i ∈ F σ , k i \in\mathcal{F}_{\sigma,k} i ∈ F σ , k define
f i ( ρ ) = # { S ⊆ V ( X ) ∖ im ρ : ∣ S ∣ = k , ( X [ im ρ ∪ S ] , ρ ) has type i } . f_i(\rho)=\#\{S\subseteq V(X)\setminus\operatorname{im}\rho: |S|=k,\ (X[\operatorname{im}\rho\cup S],\rho)\text{ has type }i\}. f i ( ρ ) = # { S ⊆ V ( X ) ∖ im ρ : ∣ S ∣ = k , ( X [ im ρ ∪ S ] , ρ ) has type i } .
Write f ( ρ ) f(\rho) f ( ρ ) for the column vector with these coordinates. For any real vector z = ( z i ) i ∈ F σ , k z=(z_i)_{i\in\mathcal{F}_{\sigma,k}} z = ( z i ) i ∈ F σ , k ,
∑ ρ ( z T f ( ρ ) ) 2 ≥ 0. \sum_{\rho}(z^T f(\rho))^2 \ge0. ρ ∑ ( z T f ( ρ ) ) 2 ≥ 0.
The sum runs over all root injections of type σ \sigma σ , including the unique empty injection when ℓ = 0 \ell=0 ℓ = 0 . Thus ∑ ρ f ( ρ ) f ( ρ ) T \sum_{\rho}f(\rho)f(\rho)^T ∑ ρ f ( ρ ) f ( ρ ) T is positive semidefinite. Expanding a square counts ordered pairs of extension sets, including equal or overlapping sets. For instance, choosing coefficients 1 and − 2 -2 − 2 on two extension types gives ( f 1 ( ρ ) − 2 f 2 ( ρ ) ) 2 ≥ 0 (f_1(\rho)-2f_2(\rho))^2\ge0 ( f 1 ( ρ ) − 2 f 2 ( ρ ) ) 2 ≥ 0 . Its cross term − 4 f 1 ( ρ ) f 2 ( ρ ) -4f_1(\rho)f_2(\rho) − 4 f 1 ( ρ ) f 2 ( ρ ) counts choices of one extension of each type with the indicated coefficient. The full matrix records all such products at once. Positive semidefinite means that every choice of real coefficients yields a nonnegative quadratic expression; here that property is proved by the displayed squares.
For each H ∈ H H\in\mathcal{H} H ∈ H , define a matrix M H M_H M H with rows and columns indexed by F σ , k \mathcal{F}_{\sigma,k} F σ , k . Its ( i , j ) (i,j) ( i , j ) entry is a sum over root injections ρ \rho ρ into H H H and ordered pairs of k k k -subsets S , T ⊆ V ( H ) ∖ im ρ S,T\subseteq V(H)\setminus\operatorname{im}\rho S , T ⊆ V ( H ) ∖ im ρ having types i , j i,j i , j . Give each such configuration weight
1 ( 84 − ℓ − ∣ S ∪ T ∣ 7 − ℓ − ∣ S ∪ T ∣ ) . \frac{1}{\binom{84-\ell-|S\cup T|}{7-\ell-|S\cup T|}}. ( 7 − ℓ − ∣ S ∪ T ∣ 84 − ℓ − ∣ S ∪ T ∣ ) 1 .
Its denominator is the number of seven-subsets of V ( X ) V(X) V ( X ) containing that configuration’s roots and extension vertices. Thus summing over seven-sets counts each full-graph configuration exactly once:
∑ W ⊆ V ( X ) ∣ W ∣ = 7 M X [ W ] = ∑ ρ f ( ρ ) f ( ρ ) T , ∑ H ∈ H p H M H ⪰ 0. \sum_{\substack{W\subseteq V(X)\\ |W|=7}}M_{X[W]}=\sum_{\rho}f(\rho)f(\rho)^T,\qquad
\sum_{H\in\mathcal{H}}p_HM_H\succeq0. W ⊆ V ( X ) ∣ W ∣ = 7 ∑ M X [ W ] = ρ ∑ f ( ρ ) f ( ρ ) T , H ∈ H ∑ p H M H ⪰ 0.
The latter matrix is the former divided by ( 84 7 ) \binom{84}{7} ( 7 84 ) . All pairs ( S , T ) (S,T) ( S , T ) , including S = T S=T S = T , enter the definition of M H M_H M H .
For each fixed pair ( σ , k ) (\sigma,k) ( σ , k ) , choose a positive common denominator L L L and put I H = L M H I_H=LM_H I H = L M H for every H ∈ H H\in\mathcal{H} H ∈ H . The same positive factor throughout the block makes every I H I_H I H integral and preserves the sign. Every supplied integer vector z z z gives the valid row
∑ H ∈ H p H ( − z T I H z ) ≤ 0. \sum_{H\in\mathcal{H}}p_H(-z^T I_Hz)\le0. H ∈ H ∑ p H ( − z T I H z ) ≤ 0.
The final sum uses 194 such rows, drawn from eight blocks with ( ℓ , k ) = ( 0 , 3 ) , ( 1 , 3 ) , ( 2 , 2 ) , ( 3 , 2 ) (\ell, k) = (0, 3), (1, 3), (2, 2), (3, 2) ( ℓ , k ) = ( 0 , 3 ) , ( 1 , 3 ) , ( 2 , 2 ) , ( 3 , 2 ) : respectively one, one, two, and four root isomorphism types. Each root type has a fixed labelling; all injections of that labelled type are counted. The entries can be recomputed by integer arithmetic, and the displayed sum of squares proves the sign.
The accompanying files rational_psd_vectors.json and moment_integer_verified.npz specify the vectors and integer matrices. The array rational_psd_numerators.npy records their contractions. The independent verifiers recompute these contractions and compare them with the saved array.
The final exact separation
For 0 ≤ i < 5324 0 \le i < 5324 0 ≤ i < 5324 , let U i : H → Q U_i:\mathcal{H} \to\mathbb{Q} U i : H → Q be an inequality row: 4876 linear counting rows and 448 square rows. For 0 ≤ j < 89 0 \le j < 89 0 ≤ j < 89 , let E j : H → Q E_j:\mathcal{H} \to\mathbb{Q} E j : H → Q be a homogeneous equality row. An integer row ( a H ) H ∈ H (a_H)_{H\in\mathcal{H}} ( a H ) H ∈ H is normalized by division by d = max { 1 , max H ∣ a H ∣ } d = \max\{1,\max_H |a_H|\} d = max { 1 , max H ∣ a H ∣ } . The normalization equation ∑ H p H = 1 \sum_H p_H = 1 ∑ H p H = 1 is separate and is not homogeneous. Validity means
∑ H p H U i ( H ) ≤ 0 , ∑ H p H E j ( H ) = 0. \sum_H p_H U_i(H) \le0,\qquad\sum_H p_H E_j(H) = 0. H ∑ p H U i ( H ) ≤ 0 , H ∑ p H E j ( H ) = 0.
An inequality row is therefore a list of 979 rational coefficients, one per seven-vertex type. Its validity concerns the weighted average of those coefficients with the frequencies supplied by an actual 84-vertex graph; individual coefficients can have either sign. The equality rows have zero right-hand side, which is the meaning of “homogeneous” here. The final file exact_separation_certificate.json supplies nonnegative rational weights λ i \lambda_i λ i and arbitrary rational weights μ j \mu_j μ j . It uses 816 inequality rows, of which 194 are the square rows just discussed, and 87 equality rows. Thus there are 903 nonzero weights.
For every allowed seven-vertex type, define
C ( H ) = ∑ i λ i U i ( H ) + ∑ j μ j E j ( H ) . C(H) = \sum_i \lambda_i U_i(H) + \sum_j \mu_j E_j(H). C ( H ) = i ∑ λ i U i ( H ) + j ∑ μ j E j ( H ) .
The exact computation establishes
C ( H ) ≥ δ : = 3146981978575629437 10 24 > 0 ( H ∈ H ) . (21) C(H) \ge\delta:= \frac{3146981978575629437}{10^{24}} > 0 \qquad(H \in\mathcal{H}). \tag*{(21)} C ( H ) ≥ δ := 1 0 24 3146981978575629437 > 0 ( H ∈ H ) . (21)
Once validity of the rows and (II.18) are established, the contradiction itself is short:
0 ≥ ∑ H p H C ( H ) ≥ δ ∑ H p H = δ > 0. 0 \ge\sum_H p_H C(H) \ge\delta\sum_H p_H = \delta> 0. 0 ≥ H ∑ p H C ( H ) ≥ δ H ∑ p H = δ > 0.
There can therefore be no graph X ∈ R ( 5 , 6 , 84 ) X \in R(5, 6, 84) X ∈ R ( 5 , 6 , 84 ) .
The stored weights have denominator 10 12 10^{12} 1 0 12 . Each row also has its own exact normalization denominator. To avoid a potentially large least common multiple, the verifier bounds each summand downward on a common grid of denominator 10 24 10^{24} 1 0 24 . If a summand is w a / ( 10 12 d ) wa/(10^{12}d) w a / ( 1 0 12 d ) , where w w w is the signed integer numerator of its multiplier, a a a is the integer row coefficient at the chosen H H H , and d > 0 d > 0 d > 0 is that row’s normalization denominator, it contributes the lower bound
1 10 24 ⌊ w a 10 12 d ⌋ . \frac{1}{10^{24}}\left\lfloor\frac{wa\,10^{12}}{d}\right\rfloor. 1 0 24 1 ⌊ d w a 1 0 12 ⌋ .
This formula is valid for negative summands as well as positive ones. Integer floor division must be used, rather than truncation toward zero. Summing the floors gives a lower bound, so a strictly positive resulting numerator proves (II.18) without any floating-point tolerance.
Taking the minimum of these computed lower bounds over the 979 types gives the reported numerator. Thus δ \delta δ is a common strictly positive lower bound for all coefficients C ( H ) C(H) C ( H ) . The use of integer arithmetic establishes its positivity exactly.
A practical verification route
A reader can check the local argument and then replay the complete computation. The two tasks have different conclusions. This section gives the commands in their execution order; the names of internal programs below explain what those commands invoke.
Prepare one verification directory
The accompanying file verification.tar.xz contains a directory named verification. In a terminal whose current directory contains that archive, run
tar -xJf verification.tar.xz
cd verification
The commands below are run from this extracted directory. It contains verify_package.py, check_local_example.py, README.txt and the subdirectories holding the data. If those files have already been extracted, open a terminal in their verification directory instead of extracting another copy. The complete archive includes all raw catalogue inputs. In the explicitly labelled compact archive, START_HERE.txt explains how to restore the 58 omitted catalogue files with their required hashes; that restoration must precede the complete replay.
Check the local example
First read the definitions of e e e , t t t , q q q , A v A_v A v , B v B_v B v , the ten inequalities in Section II.4, and the cancellation in Section II.6. The exact paper calculation to check is
∑ v ( L A ( v ) + L B ( v ) ) = 52250 − 166 e ( X ) . \sum_v (L_A(v) + L_B(v)) = 52250 - 166e(X). v ∑ ( L A ( v ) + L B ( v )) = 52250 − 166 e ( X ) .
To check its finite profile substitutions, run
python3 check_local_example.py --root .
Here the dot denotes the extracted verification directory, which is the terminal’s current directory. This command uses only the Python standard library. Its output must contain
"worked_example_passed": true
"edge_upper_bound": 314
It also prints the exact minima listed in Section II.7. A successful run checks those substitutions, the constant identity, and the correspondence with the saved equation multipliers. It does not yet verify the proofs of all input polygon bounds or the final 84-vertex contradiction. The arithmetic uses exact fractions. Decimal polygon coordinates in the stored files are recovered as small rationals, with reduced denominators 1, 2 or 3, and checked against their decimal encodings. The separate exact polygon audit reconstructs the vertices from their defining half-planes.
Replay the whole computation
The tested interpreter is Python 3.13.9. The package pins NumPy, SciPy and NetworkX versions in its requirements file. With Python 3.13 installed, create an isolated environment and install them:
python3.13 -m venv .venv
. .venv/bin/activate
python -m pip install -r proof_84/requirements.txt
These are terminal commands for macOS or Linux. The package README also gives Windows instructions. Installation requires access to a package index or previously downloaded packages. The verification commands themselves run without network access. The full extraction check additionally needs a C++11 compiler and zlib headers and library; the README gives the platform-specific installation commands.
Once these dependencies are installed, run
python verify_package.py --full
Run Python normally, without -O, -OO, or PYTHONOPTIMIZE: some proof checks are assertions. Every invoked stage must finish successfully, and the final summary must contain all_passed: true. If a stage fails or the command stops before the final summary, the full replay has not succeeded. The launcher writes reports and identifies the stage that failed.
This command invokes the 18-check suite and all supplementary checks. Together they verify the following parts of the argument:
The 58 supplied catalogue files produce the claimed distinct profiles. The supplied C++ extractor is rerun exhaustively; independent sampled calculations also check profile extraction. Neither operation proves the external catalogue completeness theorem anew.
The recursive polygons contain the intended profile possibilities, and all required degrees and edge classes are covered. The 2679 local certificates have the stated exact multiplier sums and residual signs.
The 979 allowed seven-vertex types form a complete list, the used coefficient rows agree with their counting definitions, and the square rows come from the finite square-counting construction.
The saved final multipliers produce a strictly positive coefficient on every allowed seven-vertex type, with the lower bound in (II.18).
The principal internal local checker is replay_required_local_certificates.py; the two final replay implementations are replay_global_certificate.py and audit_global_exact_certificate.py. The supplied file index locates these basenames within the preserved archive structure.
What remains mathematical input and review
The initial Ramsey bounds and completeness of the cited catalogues remain external mathematical inputs. In particular, R ( 4 , 6 ) ≤ 40 R(4, 6) \le40 R ( 4 , 6 ) ≤ 40 is recorded in the survey [II.4] as a result of Angeltveit and McKay, attributed there to personal communications. The package does not supply a new proof of that bound. A reader should also check that the displayed counting identities apply to the stated families and that convex weights preserve the expressions used. The companion specification provides the complete definitions for reconstructing all remaining row families. Software success confirms the specified finite arithmetic; the preceding explanations identify why that arithmetic is relevant to the theorem.
Mathematical review and finite verification
The proof has a mathematical part and a finite arithmetic part. The mathematical part establishes that every graph in the specified Ramsey family yields variables satisfying the stated conditions. This requires the catalogue completeness results, the graph-to-weight construction, the counting identities, the treatment of root vertices, and the finite sampling factors. The arithmetic part checks the required profile cases and the supplied weighted sums using exact rational or integer operations. Both parts are needed to infer the theorem from a successful verification run.
For the worked example, the identities in Sections II.5 and II.6 can be checked on paper. The ten local inequalities have their coefficients printed explicitly; their validity is checked on the finite profile sets in Section II.7. The same method extends to the complete proof, whose 2679 local certificates and 903 nonzero final weights are supplied in machine-readable files. The companion mathematical specification defines every row family and gives the procedures for reconstructing and checking those files.
The file hashes identify the precise inputs used in a verification run. The mathematical meaning of those inputs comes from the constructions above, while the exact checkers establish their claimed arithmetic properties. A reproducible verification therefore records both the input hashes and the successful outputs of the relevant checks.
The worked local certificate also illustrates a useful simplification: its 1217-variable representation reduces, after collecting terms and applying the triangle-incidence identity, to a sum of two nonnegative expressions per vertex. This explicit reduction connects the stored coefficients with the graph-counting proof of the 314-edge bound.
Detailed mathematical specification of the certificate for R ( 5 , 6 ) ≤ 84 R(5, 6) \le84 R ( 5 , 6 ) ≤ 84 : Verification recipes and representative calculations
This supplement specifies the finite calculations in the accompanying proof that every graph on 84 vertices contains a clique of order 5 or an independent set of order 6. Assuming a counterexample, we count configurations in the graph and derive equations and inequalities that these counts must satisfy. Explicit rational weights combine these constraints into a contradiction. The weights on inequalities are nonnegative, so adding the weighted inequalities preserves their direction; equations may be multiplied by signed weights. The verification checks these combinations using exact arithmetic. This document defines the quantities being counted, derives the constraints, gives representative calculations, and provides the commands and expected outputs for checking the supplied numerical files. Published Ramsey bounds and the completeness of the cited small-graph catalogues are stated external inputs.
Part III
Detailed mathematical specification
Verification recipes and representative calculations
All graphs are finite, undirected, simple graphs. For a graph X X X , write V ( X ) V(X) V ( X ) and E ( X ) E(X) E ( X ) for its vertex and edge sets, ∣ X ∣ = ∣ V ( X ) ∣ |X|=|V(X)| ∣ X ∣ = ∣ V ( X ) ∣ for its order, N X ( v ) = { u ∈ V ( X ) : { u , v } ∈ E ( X ) } N_X(v)=\{u\in V(X):\{u,v\}\in E(X)\} N X ( v ) = { u ∈ V ( X ) : { u , v } ∈ E ( X )} for a vertex neighborhood, and d X ( v ) = ∣ N X ( v ) ∣ d_X(v)=|N_X(v)| d X ( v ) = ∣ N X ( v ) ∣ for its degree. For S ⊆ V ( X ) S\subseteq V(X) S ⊆ V ( X ) , X [ S ] X[S] X [ S ] is the induced subgraph on S S S . The complement X ‾ \overline{X} X has the same vertices and exactly the missing pairs as edges. The clique number ω ( X ) \omega(X) ω ( X ) and independence number α ( X ) \alpha(X) α ( X ) are the largest orders of a complete and an edgeless induced subgraph, respectively. Subscripts on N N N and d d d may be omitted when the ambient graph is specified.
For positive integers s , r s,r s , r and an integer n ≥ 0 n\geq0 n ≥ 0 , let
R ( s , r , n ) = { X : ∣ X ∣ = n , ω ( X ) < s , α ( X ) < r } . \mathcal{R}(s,r,n)=\{X:|X|=n,\ \omega(X)<s,\ \alpha(X)<r\}. R ( s , r , n ) = { X : ∣ X ∣ = n , ω ( X ) < s , α ( X ) < r } .
Graphs in this family are considered up to isomorphism whenever they are enumerated. The Ramsey number R ( s , r ) R(s,r) R ( s , r ) is the least n n n for which the family is empty. Define the following graph statistics:
e ( X ) = ∣ E ( X ) ∣ , e(X)=|E(X)|, e ( X ) = ∣ E ( X ) ∣ ,
t ( X ) = ∣ { S ⊆ V ( X ) : ∣ S ∣ = 3 , X [ S ] ≅ K 3 } ∣ , t(X)=\left|\{S\subseteq V(X):|S|=3,\ X[S]\cong K_3\}\right|, t ( X ) = ∣ { S ⊆ V ( X ) : ∣ S ∣ = 3 , X [ S ] ≅ K 3 } ∣ ,
w ( X ) = ∑ v ∈ V ( X ) ( d X ( v ) 2 ) , q ( X ) = w ( X ) − t ( X ) . w(X)=\sum_{v\in V(X)}\binom{d_X(v)}{2},\qquad q(X)=w(X)-t(X). w ( X ) = v ∈ V ( X ) ∑ ( 2 d X ( v ) ) , q ( X ) = w ( X ) − t ( X ) .
Thus w w w counts a center and an unordered pair of its neighbors, including pairs that are adjacent. An induced three-vertex path contributes 1 to q q q and a triangle contributes 2; all other three-vertex induced types contribute zero. The profile of X X X is the four-tuple ( ∣ X ∣ , e ( X ) , t ( X ) , q ( X ) ) (|X|,e(X),t(X),q(X)) ( ∣ X ∣ , e ( X ) , t ( X ) , q ( X )) . Induced-copy counts count vertex subsets, not labelled embeddings. Other counts, such as paths that need not be induced, are specified separately.
The symbols K m K_m K m , P m P_m P m , C m C_m C m denote the complete graph, path, and cycle on m m m vertices; K 1 , 3 K_{1,3} K 1 , 3 is the three-leaf star, + + + denotes disjoint union, and K 4 − e K_4-e K 4 − e means K 4 K_4 K 4 with one edge removed. We use 1 A = 1 \mathbf{1}_{\mathcal{A}}=1 1 A = 1 if a condition A \mathcal{A} A holds and 0 otherwise. Empty sums are zero, empty products are one, and ( S k ) \binom{S}{k} ( k S ) denotes the set of k k k -element subsets of a finite set S S S . For nonnegative integer m m m , ( m k ) = 0 \binom{m}{k}=0 ( k m ) = 0 when k < 0 k<0 k < 0 or k > m k>m k > m . For vectors and matrices, superscript T T T denotes transpose and M ⪰ 0 M\succeq0 M ⪰ 0 means z T M z ≥ 0 z^TMz\geq0 z T M z ≥ 0 for every real vector z z z of the appropriate dimension. All expectations below are with respect to the explicitly specified uniform finite sample.
The starting Ramsey facts are
R ( 3 , 5 ) = 14 , R ( 3 , 6 ) = 18 , R ( 4 , 4 ) = 18 , R ( 4 , 5 ) = 25 , R(3,5)=14,\qquad R(3,6)=18,\qquad R(4,4)=18,\qquad R(4,5)=25, R ( 3 , 5 ) = 14 , R ( 3 , 6 ) = 18 , R ( 4 , 4 ) = 18 , R ( 4 , 5 ) = 25 ,
R ( 4 , 6 ) ≤ 40 , R ( 5 , 5 ) ≤ 46. R(4,6)\leq40,\qquad R(5,5)\leq46. R ( 4 , 6 ) ≤ 40 , R ( 5 , 5 ) ≤ 46.
The last bound is Theorem 1.1 of Angeltveit–McKay [2 ] . The R ( 4 , 6 ) R(4,6) R ( 4 , 6 ) bound is recorded in Radziszowski’s survey [1 Table Ib] , which attributes it to Angeltveit and McKay with personal communications from 2020 and 2024. The survey is the source used here for that bound.
A complete catalogue for a graph family is a finite list containing a representative of every isomorphism class in that family. Relabelling a graph does not change the counts e , t , q e,t,q e , t , q , so one representative per class is sufficient for these calculations. The catalogues used here are Brendan McKay’s published collections [4 ] for the following small families:
Table 1 (PDF p. 44).
For example, R ( 3 , 6 , 17 ) \mathcal{R}(3,6,17) R ( 3 , 6 , 17 ) means triangle-free graphs on 17 vertices with no independent set of six vertices; its catalogue contains seven graphs. The complete extreme-edge classes have the following integer edge counts:
Table 1 (PDF p. 45).
Each entry is a complete catalogue only for its stated order and edge count. For instance, r4523.101.g6 contains the ( 4 , 5 ) (4,5) ( 4 , 5 ) -graphs on 23 vertices with exactly 101 edges. The 26 classes in the table are precisely the catalogue cases used in the recursive polygon construction.
For the ( 4 , 6 ) (4,6) ( 4 , 6 ) families on 38 or 39 vertices, the ( 5 , 5 ) (5,5) ( 5 , 5 ) families on 44 or 45 vertices, and the hypothetical ( 5 , 6 ) (5,6) ( 5 , 6 ) family on 84 vertices, the proof uses counting equations and information about smaller graphs. These larger families are treated through numerical constraints satisfied by every member, without enumerating their graphs. Where a complete catalogue is unavailable, we use a proved containing region for the possible profiles, defined in § 8 .4.
Catalogue completeness is an external mathematical input from the cited source. The supplied programs check that the archived records and derived profiles agree, and that the record counts match the catalogue descriptions. The completeness assumption concerns the catalogue enumeration itself. A further established input, used for lower-order ( 3 , 6 ) (3,6) ( 3 , 6 ) outer profiles, is the small-order edge formula in [III.5, Theorem 2]; its specialization is stated in § 8 .17.2.
The edge intervals used for R ( 4 , 5 , n ) \mathcal{R}(4,5,n) R ( 4 , 5 , n ) are
Table 2.
These lower and upper edge bounds are recorded in [III.2, Appendix A, Table 1]. They describe intervals containing every possible edge count. For orders 19 through 23, the 26 listed catalogue classes are treated directly and every other integer edge count in these intervals receives a containing polygon justified by further counting arguments. This supplies profile information for every edge class in the intervals.
Complement profiles
For a graph of order n n n , the exact complement transformation is
e ( X ‾ ) = ( n 2 ) − e ( X ) , (22) e(\overline{X}) = \binom{n}{2} - e(X), \tag*{(22)} e ( X ) = ( 2 n ) − e ( X ) , (22)
t ( X ‾ ) = ( n 3 ) − ( n − 2 ) e ( X ) + q ( X ) , (23) t(\overline{X}) = \binom{n}{3} - (n-2)e(X) + q(X), \tag*{(23)} t ( X ) = ( 3 n ) − ( n − 2 ) e ( X ) + q ( X ) , (23)
q ( X ‾ ) = 2 ( n 3 ) − ( n − 2 ) e ( X ) + t ( X ) . (24) q(\overline{X}) = 2\binom{n}{3} - (n-2)e(X) + t(X). \tag*{(24)} q ( X ) = 2 ( 3 n ) − ( n − 2 ) e ( X ) + t ( X ) . (24)
This permits a supplied catalogue to serve both R ( s , r , n ) \mathcal{R}(s,r,n) R ( s , r , n ) and R ( r , s , n ) \mathcal{R}(r,s,n) R ( r , s , n ) . The transformation is affine in the profile coordinates; it therefore commutes with taking convex combinations.
Proof structure and verification
The theorem asserts that R ( 5 , 6 , 84 ) \mathcal{R}(5,6,84) R ( 5 , 6 , 84 ) is empty. A hypothetical member would have 84 vertices, no five pairwise adjacent vertices, and no six pairwise nonadjacent vertices. The proof proceeds by assigning numerical counts to such a graph and showing that those counts would satisfy contradictory inequalities.
A counting model in this document is a list of numerical variables and equations or inequalities that every graph in a stated family must satisfy. For example, the number of vertices of each degree is nonnegative, and the sum of those numbers is the order of the graph. A relaxation allows real values for its variables and imposes only the listed conditions. It may therefore allow numerical assignments that no graph can realize. Infeasibility of these weaker conditions therefore implies that the graph family is empty.
A certificate is a supplied list of rational coefficients for combining already justified equations and inequalities. Their weighted sum gives the required bound or contradiction. Verification consists of checking the supplied coefficients by exact addition, multiplication, and comparison. § 8 .8 first explains this weighted-sum argument without matrix notation and then specifies its matrix representation.
The proof has two main counting models. The first is applied to graphs on 19–23, 38, 39, 44, or 45 vertices to establish local bounds. Its variables describe neighborhoods, nonneighborhoods, and four-vertex subsets. The second is applied to the hypothetical 84-vertex graph. Its variables are the proportions of seven-vertex subsets inducing each of the 979 allowed types. The local bounds supply some of the inequalities for that second model. A final weighted sum rules out every possible vector of those proportions.
A route through the mathematics and the programs
For mathematical review, first check the definitions and the triple count in the next section. Then follow the construction of the local variables and the equations they satisfy: this establishes that every graph gives an allowed numerical assignment. Next check the weighted-sum principle and the representative local calculation. The remaining sections derive the seven-vertex averages, the squared expressions, and the final contradiction. The separate Explanation of the method gives a longer worked derivation of one local bound, e ( X ) ≤ 314 e(X) \le314 e ( X ) ≤ 314 for X ∈ R ( 4 , 6 , 38 ) X \in R(4, 6, 38) X ∈ R ( 4 , 6 , 38 ) .
For computational reproduction, use the commands in § 8 .27. They check the supplied numerical coefficients and their links to the counting formulas. The default command runs the main certificate checks; the full command also re-extracts profiles from every raw catalogue record. The output is evidence that the submitted data satisfy the specified finite arithmetic tests. The mathematical review establishes why those tests imply statements about graphs. Both parts are needed.
A reader writing another verifier can use the displayed equations as the specification and the saved coefficients as input. In that case the essential comparisons are equality of rational numbers and completeness of the required cases. The stored ordering of variables and rows specifies how positions in the numerical arrays correspond to the definitions. A different ordering is valid if every dependent coefficient is permuted consistently.
Locating the files
The complete electronic verification archive is named verification.tar.xz. Extracting it creates a folder named verification, which contains README.txt, verify_package.py, and the subfolders used by the programs. The file FILE_INDEX.tsv maps each basename cited here to its location within that extracted folder. This document cites files by basename; the execution recipes give the required relative paths.
A JSON certificate is a text file containing labelled fields, such as a list of rational multipliers. A saved audit report records the outcome of a previous program run. The certificate is input to the verifier; the report records the checks performed and their outcomes.
The first counting reduction
Suppose X ∈ R ( 5 , 6 , 84 ) X \in\mathcal{R}(5,6,84) X ∈ R ( 5 , 6 , 84 ) . For each vertex v v v , set
A v = X [ N ( v ) ] , B v = X [ V ( X ) ∖ ( N ( v ) ∪ { v } ) ] , d v = d X ( v ) . A_v = X[N(v)], \qquad B_v = X[V(X) \setminus(N(v) \cup\{v\})], \qquad d_v = d_X(v). A v = X [ N ( v )] , B v = X [ V ( X ) ∖ ( N ( v ) ∪ { v })] , d v = d X ( v ) .
A four-clique in A v A_v A v , together with v v v , would be a forbidden five-clique in X X X . An independent six-set in A v A_v A v would already be forbidden in X X X . Thus A v ∈ R ( 4 , 6 , d v ) A_v \in\mathcal{R}(4,6,d_v) A v ∈ R ( 4 , 6 , d v ) . Similarly, B v B_v B v has no five-clique, and an independent five-set in B v B_v B v would extend with v v v to an independent six-set; hence B v ∈ R ( 5 , 5 , 83 − d v ) B_v \in\mathcal{R}(5,5,83-d_v) B v ∈ R ( 5 , 5 , 83 − d v ) . The bounds R ( 4 , 6 ) ≤ 40 R(4,6) \le40 R ( 4 , 6 ) ≤ 40 and R ( 5 , 5 ) ≤ 46 R(5,5) \le46 R ( 5 , 5 ) ≤ 46 give d v ≤ 39 d_v \le39 d v ≤ 39 and 83 − d v ≤ 45 83-d_v \le45 83 − d v ≤ 45 , respectively. Therefore
d v ∈ { 38 , 39 } . (25) d_v \in\{38,39\}. \tag*{(25)} d v ∈ { 38 , 39 } . (25)
If x x x vertices have degree 39 39 39 , handshaking gives 2 e ( X ) = 3192 + x 2e(X)=3192+x 2 e ( X ) = 3192 + x . In particular x x x is even. The local cases are
Table 1 (PDF p. 47).
The next identity holds for any graph X X X of order n n n . In this general identity, A v = X [ N X ( v ) ] A_v=X[N_X(v)] A v = X [ N X ( v )] , B v = X [ V ( X ) ∖ ( N X ( v ) ∪ { v } ) ] B_v=X[V(X)\setminus(N_X(v)\cup\{v\})] B v = X [ V ( X ) ∖ ( N X ( v ) ∪ { v })] , and d v = d X ( v ) d_v=d_X(v) d v = d X ( v ) . Double counting yields
∑ v [ e ( B v ) − e ( A v ) − d v ( n 2 − d v ) ] = 0. (26) \sum_v \left[e(B_v)-e(A_v)-d_v\left(\frac{n}{2}-d_v\right)\right]=0. \tag*{(26)} v ∑ [ e ( B v ) − e ( A v ) − d v ( 2 n − d v ) ] = 0. (26)
To prove it, first count a triangle together with one of its vertices. The other two vertices form an edge in the chosen vertex’s neighborhood, and each triangle is counted three times. Hence ∑ v e ( A v ) = 3 t ( X ) \sum_v e(A_v)=3t(X) ∑ v e ( A v ) = 3 t ( X ) . For an edge u w uw u w , the number of vertices adjacent to neither endpoint is
n − d u − d w + ∣ N ( u ) ∩ N ( w ) ∣ . n-d_u-d_w+\lvert N(u)\cap N(w)\rvert. n − d u − d w + ∣ N ( u ) ∩ N ( w )∣ .
Summing this expression over all edges counts each edge of each B v B_v B v exactly once. The sum of d u + d w d_u+d_w d u + d w over all edges u w uw u w is ∑ v d v 2 \sum_v d_v^2 ∑ v d v 2 , because each vertex occurs as an endpoint of d v d_v d v edges. The common-neighbor terms count each triangle three times. Therefore
∑ v e ( B v ) = n e ( X ) − ∑ v d v 2 + 3 t ( X ) . \sum_v e(B_v)=ne(X)-\sum_v d_v^2+3t(X). v ∑ e ( B v ) = n e ( X ) − v ∑ d v 2 + 3 t ( X ) .
Subtracting the neighborhood sum and using ∑ v d v = 2 e ( X ) \sum_v d_v=2e(X) ∑ v d v = 2 e ( X ) proves (III.5). This is the m = 2 m=2 m = 2 instance of the general counting identity in [III.3], also stated in [III.2].
For n = 84 n=84 n = 84 , the contribution is d v ( 42 − d v ) d_v(42-d_v) d v ( 42 − d v ) : it equals 152 at degree 38 and 117 at degree 39. These constants will combine with local edge bounds. The identity alone does not distinguish all possible local profiles, so the proof retains additional counts of triangles and wedges.
Variables of the local profile model
Fix a family R ( s , r , n ) \mathcal{R}(s,r,n) R ( s , r , n ) and take X X X to be an arbitrary member. The construction in this section applies to each local family needed in the proof, including ( 4 , 6 , 38 ) (4,6,38) ( 4 , 6 , 38 ) and ( 5 , 5 , 45 ) (5,5,45) ( 5 , 5 , 45 ) .
The local model records neighborhood profiles using containing polygons in the ( t , q ) (t,q) ( t , q ) -coordinates. The vertices of these polygons provide a finite set of coordinates for the model. A possible neighborhood profile can be a convex combination of several polygon vertices; its contribution is therefore split among them. The resulting variables are nonnegative weights, not necessarily integers. The construction below states exactly what the polygons contain, what labels the variables, and how every actual graph supplies values for them.
Actual profile sets and their outer polygons
For a family R ( s , r , m ) \mathcal{R}(s,r,m) R ( s , r , m ) and an integer 0 ≤ η ≤ ( m 2 ) 0 \le\eta\le\binom{m}{2} 0 ≤ η ≤ ( 2 m ) , define the finite set
S s , r , m , η = { ( t ( Y ) , q ( Y ) ) : Y ∈ R ( s , r , m ) , e ( Y ) = η } ⊆ Z ≥ 0 2 . (27) S_{s,r,m,\eta}=\{(t(Y),q(Y)):Y\in\mathcal{R}(s,r,m),\ e(Y)=\eta\}\subseteq\mathbb{Z}_{\geq0}^{2}. \tag*{(27)} S s , r , m , η = {( t ( Y ) , q ( Y )) : Y ∈ R ( s , r , m ) , e ( Y ) = η } ⊆ Z ≥ 0 2 . (27)
The coordinate η \eta η is held fixed in this definition. In particular, profiles with different edge counts are not combined in a single polygon.
For each required parameter tuple, the input supplies a bounded rational convex polygon P s , r , m , η ⊆ R 2 \mathcal{P}_{s,r,m,\eta}\subseteq\mathbb{R}^{2} P s , r , m , η ⊆ R 2 with
S s , r , m , η ⊆ P s , r , m , η . (28) S_{s,r,m,\eta}\subseteq\mathcal{P}_{s,r,m,\eta}. \tag*{(28)} S s , r , m , η ⊆ P s , r , m , η . (28)
Here “polygon” includes a line segment or a single point. An empty polygon is permitted only for a class independently justified to contain no graphs. Write
V s , r , m , η = vert ( P s , r , m , η ) , P s , r , m , η = conv ( V s , r , m , η ) . \mathcal{V}_{s,r,m,\eta}=\operatorname{vert}(\mathcal{P}_{s,r,m,\eta}),\qquad
\mathcal{P}_{s,r,m,\eta}=\operatorname{conv}(\mathcal{V}_{s,r,m,\eta}). V s , r , m , η = vert ( P s , r , m , η ) , P s , r , m , η = conv ( V s , r , m , η ) .
The finite set vert ( P ) \operatorname{vert}(P) vert ( P ) consists of the extreme points of P P P . A convex combination of points v 1 , … , v k v_1,\ldots,v_k v 1 , … , v k is a sum θ 1 v 1 + ⋯ + θ k v k \theta_1v_1+\cdots+\theta_kv_k θ 1 v 1 + ⋯ + θ k v k with θ i ≥ 0 \theta_i\geq0 θ i ≥ 0 and ∑ i θ i = 1 \sum_i\theta_i=1 ∑ i θ i = 1 ; the set conv ( V ) \operatorname{conv}(V) conv ( V ) consists of all such combinations of points in V V V . We set conv ( ∅ ) = ∅ \operatorname{conv}(\varnothing)=\varnothing conv ( ∅ ) = ∅ . All elements of V \mathcal{V} V have rational coordinates, denoted ( τ , κ ) (\tau,\kappa) ( τ , κ ) ; these are candidate triangle and q q q coordinates, respectively.
There are two constructions of P \mathcal{P} P . If a complete catalogue is available for the edge class, take the convex hull of its extracted ( t , q ) (t,q) ( t , q ) pairs. In that case P = conv ( S ) \mathcal{P}=\operatorname{conv}(S) P = conv ( S ) . Otherwise take the intersection of finitely many certified half-planes
L ℓ ≤ α ℓ τ + β ℓ κ ≤ U ℓ ( ℓ = 1 , … , m 0 ) , L_\ell\leq\alpha_\ell\tau+\beta_\ell\kappa\leq U_\ell\qquad(\ell=1,\ldots,m_0), L ℓ ≤ α ℓ τ + β ℓ κ ≤ U ℓ ( ℓ = 1 , … , m 0 ) ,
where m 0 m_0 m 0 is the number of support directions and all displayed coefficients are rational. Each support is proved for the fixed family, order, and edge count. § 8 .9 specifies the recursive instances, directions, and files. An extreme point of such an outer polygon need not be the profile of any graph. Inclusion (III.7) ensures that every graph profile has a convex representation using the polygon vertices.
The finite coordinate sets
Fix the ambient local family R ( s , r , n ) \mathcal{R}(s,r,n) R ( s , r , n ) , with s , r ≥ 2 s,r\geq2 s , r ≥ 2 . Let D ⊆ { 0 , … , n − 1 } \mathcal{D}\subseteq\{0,\ldots,n-1\} D ⊆ { 0 , … , n − 1 } be the supplied set of admissible degrees, meaning that every vertex degree of every graph in this family lies in D \mathcal{D} D . Write D B = { n − 1 − d : d ∈ D } \mathcal{D}^{\mathrm{B}}=\{n-1-d:d\in\mathcal{D}\} D B = { n − 1 − d : d ∈ D } . For every d ∈ D d\in\mathcal{D} d ∈ D , a neighborhood belongs to R ( s − 1 , r , d ) \mathcal{R}(s-1,r,d) R ( s − 1 , r , d ) and a nonneighborhood belongs to R ( s , r − 1 , n − 1 − d ) \mathcal{R}(s,r-1,n-1-d) R ( s , r − 1 , n − 1 − d ) . Define
I A = { ( d , η , τ , κ ) : d ∈ D , η ∈ Z , 0 ≤ η ≤ ( d 2 ) , ( τ , κ ) ∈ V s − 1 , r , d , η } . (29) \mathcal{I}_{A}=\{(d,\eta,\tau,\kappa):d\in\mathcal{D},\ \eta\in\mathbb{Z},\ 0\leq\eta\leq\binom{d}{2},\ (\tau,\kappa)\in\mathcal{V}_{s-1,r,d,\eta}\}. \tag*{(29)} I A = {( d , η , τ , κ ) : d ∈ D , η ∈ Z , 0 ≤ η ≤ ( 2 d ) , ( τ , κ ) ∈ V s − 1 , r , d , η } . (29)
I B = { ( h , η , τ , κ ) : h ∈ D B , η ∈ Z , 0 ≤ η ≤ ( h 2 ) , ( τ , κ ) ∈ V s , r − 1 , h , η } . (30) \mathcal{I}_{B}=\{(h,\eta,\tau,\kappa):h\in\mathcal{D}^{\mathrm{B}},\ \eta\in\mathbb{Z},\ 0\leq\eta\leq\binom{h}{2},\ (\tau,\kappa)\in\mathcal{V}_{s,r-1,h,\eta}\}. \tag*{(30)} I B = {( h , η , τ , κ ) : h ∈ D B , η ∈ Z , 0 ≤ η ≤ ( 2 h ) , ( τ , κ ) ∈ V s , r − 1 , h , η } . (30)
The four subscripts therefore have separate roles: local order, exact local edge count, polygon triangle coordinate, and polygon q q q coordinate. Empty vertex sets supply no coordinates. Each edge class must have either a justified covering polygon or a proof of emptiness. The full degree ranges and edge-class coverage are checked in § 8 .9.
The profile variables of the linear program are one independent real variable for each element of these finite sets:
a d , η , τ , κ ≥ 0 ( ( d , η , τ , κ ) ∈ I A ) , b h , η , τ , κ ≥ 0 ( ( h , η , τ , κ ) ∈ I B ) . a_{d,\eta,\tau,\kappa}\geq0\quad((d,\eta,\tau,\kappa)\in\mathcal{I}_{A}),\qquad
b_{h,\eta,\tau,\kappa}\geq0\quad((h,\eta,\tau,\kappa)\in\mathcal{I}_{B}). a d , η , τ , κ ≥ 0 (( d , η , τ , κ ) ∈ I A ) , b h , η , τ , κ ≥ 0 (( h , η , τ , κ ) ∈ I B ) .
The variable a d , η , τ , κ a_{d,\eta,\tau,\kappa} a d , η , τ , κ is the total weight assigned to the specified neighborhood profile vertex, and b h , η , τ , κ b_{h,\eta,\tau,\kappa} b h , η , τ , κ is the analogous nonneighborhood weight. The following construction gives this statement a precise meaning for an actual graph.
From a graph to nonnegative weights
Let X ∈ R ( s , r , n ) X \in\mathcal{R}(s,r,n) X ∈ R ( s , r , n ) , and for v ∈ V ( X ) v \in V(X) v ∈ V ( X ) put
d v = d X ( v ) , h v = n − 1 − d v , A v = X [ N X ( v ) ] , B v = X [ V ( X ) ∖ ( N X ( v ) ∪ { v } ) ] , d_v=d_X(v),\qquad h_v=n-1-d_v,\qquad A_v=X[N_X(v)],\qquad B_v=X[V(X)\setminus(N_X(v)\cup\{v\})], d v = d X ( v ) , h v = n − 1 − d v , A v = X [ N X ( v )] , B v = X [ V ( X ) ∖ ( N X ( v ) ∪ { v })] ,
η v A = e ( A v ) , η v B = e ( B v ) . \eta^A_v=e(A_v),\qquad\eta^B_v=e(B_v). η v A = e ( A v ) , η v B = e ( B v ) .
By (III.7), choose nonnegative numbers λ v , τ , κ A \lambda^A_{v,\tau,\kappa} λ v , τ , κ A , indexed by ( τ , κ ) ∈ V s − 1 , r , d v , η v A (\tau,\kappa)\in\mathcal{V}_{s-1,r,d_v,\eta^A_v} ( τ , κ ) ∈ V s − 1 , r , d v , η v A , such that
∑ τ , κ λ v , τ , κ A = 1 , ∑ τ , κ λ v , τ , κ A ( τ , κ ) = ( t ( A v ) , q ( A v ) ) . (31) \sum_{\tau,\kappa}\lambda^A_{v,\tau,\kappa}=1,\qquad
\sum_{\tau,\kappa}\lambda^A_{v,\tau,\kappa}(\tau,\kappa)=(t(A_v),q(A_v)). \tag*{(31)} τ , κ ∑ λ v , τ , κ A = 1 , τ , κ ∑ λ v , τ , κ A ( τ , κ ) = ( t ( A v ) , q ( A v )) . (31)
Choose λ v , τ , κ B \lambda^B_{v,\tau,\kappa} λ v , τ , κ B in the same way using V s , r − 1 , h v , η v B \mathcal{V}_{s,r-1,h_v,\eta^B_v} V s , r − 1 , h v , η v B and ( t ( B v ) , q ( B v ) ) (t(B_v),q(B_v)) ( t ( B v ) , q ( B v )) . All sums in (III.10) run over the displayed vertex set. Extend each λ \lambda λ by zero outside that set. Now define
a d , η , τ , κ = ∑ v ∈ V ( X ) : d v = d η v A = η λ v , τ , κ A , (32) a_{d,\eta,\tau,\kappa}=\sum_{\substack{v\in V(X):\ d_v=d\\ \eta^A_v=\eta}}\lambda^A_{v,\tau,\kappa}, \tag*{(32)} a d , η , τ , κ = v ∈ V ( X ) : d v = d η v A = η ∑ λ v , τ , κ A , (32)
b h , η , τ , κ = ∑ v ∈ V ( X ) : h v = h η v B = η λ v , τ , κ B . (33) b_{h,\eta,\tau,\kappa}=\sum_{\substack{v\in V(X):\ h_v=h\\ \eta^B_v=\eta}}\lambda^B_{v,\tau,\kappa}. \tag*{(33)} b h , η , τ , κ = v ∈ V ( X ) : h v = h η v B = η ∑ λ v , τ , κ B . (33)
These formulas also define zero values when there are no vertices in the indicated degree and edge class. A graph need not determine unique weights: convex representations can be nonunique. The required counting identities hold for every such choice.
Define the degree-class masses
m d A = ∑ ( d ′ , η , τ , κ ) ∈ I A d ′ = d a d ′ , η , τ , κ , m h B = ∑ ( h ′ , η , τ , κ ) ∈ I B h ′ = h b h ′ , η , τ , κ . m^A_d=\sum_{\substack{(d',\eta,\tau,\kappa)\in I_A\\ d'=d}}a_{d',\eta,\tau,\kappa},\qquad
m^B_h=\sum_{\substack{(h',\eta,\tau,\kappa)\in I_B\\ h'=h}}b_{h',\eta,\tau,\kappa}. m d A = ( d ′ , η , τ , κ ) ∈ I A d ′ = d ∑ a d ′ , η , τ , κ , m h B = ( h ′ , η , τ , κ ) ∈ I B h ′ = h ∑ b h ′ , η , τ , κ .
For the graph-derived weights they equal ∣ { v : d v = d } ∣ |\{v:d_v=d\}| ∣ { v : d v = d } ∣ and ∣ { v : h v = h } ∣ |\{v:h_v=h\}| ∣ { v : h v = h } ∣ . Consequently the relaxation includes
∑ d ∈ D m d A = n , m d A = m n − 1 − d B ( d ∈ D ) . (34) \sum_{d\in\mathcal{D}}m^A_d=n,\qquad m^A_d=m^B_{n-1-d}\quad(d\in\mathcal{D}). \tag*{(34)} d ∈ D ∑ m d A = n , m d A = m n − 1 − d B ( d ∈ D ) . (34)
Arbitrary feasible weights of the relaxation, including these masses, are allowed to be fractional. Integrality is used only for statistics known to come from a graph, never assumed for the profile weights themselves.
Lemma III.4.1 (Preservation of local affine counts). Let F F F be a real-valued function on the index set whose dependence on ( τ , κ ) (\tau,\kappa) ( τ , κ ) , for each fixed ( d , η ) (d,\eta) ( d , η ) , extends to an affine function on R 2 \mathbb{R}^2 R 2 . The graph-derived weights satisfy
∑ ( d , η , τ , κ ) ∈ I A F ( d , η , τ , κ ) a d , η , τ , κ = ∑ v ∈ V ( X ) F ( d v , η v A , t ( A v ) , q ( A v ) ) . \sum_{(d,\eta,\tau,\kappa)\in I_A}F(d,\eta,\tau,\kappa)a_{d,\eta,\tau,\kappa}
=
\sum_{v\in V(X)}F(d_v,\eta^A_v,t(A_v),q(A_v)). ( d , η , τ , κ ) ∈ I A ∑ F ( d , η , τ , κ ) a d , η , τ , κ = v ∈ V ( X ) ∑ F ( d v , η v A , t ( A v ) , q ( A v )) . The analogous identity holds on the B B B side with h v h_v h v and η v B \eta^B_v η v B .
Proof. Substitute (III.11), interchange the finite sums, and apply (III.10) separately for each vertex. The constant term is preserved because its weights sum to one; the two linear terms are preserved by the coordinate equation. The order and edge count stay fixed throughout each convex combination.
A catalogue example of fractional weights
The supplied file r36_13.g6.gz.profiles has, at edge count 16, exactly the pairs
S 3 , 6 , 13 , 16 = { ( 0 , 25 ) , ( 0 , 26 ) , ( 0 , 28 ) } . \mathcal{S}_{3,6,13,16}=\{(0,25),(0,26),(0,28)\}. S 3 , 6 , 13 , 16 = {( 0 , 25 ) , ( 0 , 26 ) , ( 0 , 28 )} .
Its polygon is the segment with extreme points ( 0 , 25 ) (0,25) ( 0 , 25 ) and ( 0 , 28 ) (0,28) ( 0 , 28 ) . The middle catalogue profile is represented by
( 0 , 26 ) = 2 3 ( 0 , 25 ) + 1 3 ( 0 , 28 ) . (0,26)=\frac{2}{3}(0,25)+\frac{1}{3}(0,28). ( 0 , 26 ) = 3 2 ( 0 , 25 ) + 3 1 ( 0 , 28 ) .
If a vertex of an ambient ( 4 , 6 ) (4,6) ( 4 , 6 ) -graph has this neighborhood profile, that single vertex contributes 2 / 3 2/3 2/3 to a 13 , 16 , 0 , 25 a_{13,16,0,25} a 13 , 16 , 0 , 25 and 1 / 3 1/3 1/3 to a 13 , 16 , 0 , 28 a_{13,16,0,28} a 13 , 16 , 0 , 28 . Its total contribution to mass is 1, to local edges is 16, to local triangles is 0, and to local q q q is 26. There is no coordinate a 13 , 16 , 0 , 26 a_{13,16,0,26} a 13 , 16 , 0 , 26 in the extreme-point model. The fractions are the coefficients representing this single catalogue profile as a convex combination of polygon vertices. The construction applies whenever such a neighborhood occurs.
Ambient statistics as linear functionals
For any profile weight vector a a a , define
E ( a ) = 1 2 ∑ I A d a d , η , τ , κ . (35) \mathcal{E}(a)=\frac{1}{2}\sum_{\mathcal{I}_A}d\,a_{d,\eta,\tau,\kappa}. \tag*{(35)} E ( a ) = 2 1 I A ∑ d a d , η , τ , κ . (35)
T ( a ) = 1 3 ∑ I A η a d , η , τ , κ . (36) \mathcal{T}(a)=\frac{1}{3}\sum_{\mathcal{I}_A}\eta\,a_{d,\eta,\tau,\kappa}. \tag*{(36)} T ( a ) = 3 1 I A ∑ η a d , η , τ , κ . (36)
W ( a ) = ∑ I A ( d 2 ) a d , η , τ , κ . (37) \mathcal{W}(a)=\sum_{\mathcal{I}_A}\binom{d}{2}a_{d,\eta,\tau,\kappa}. \tag*{(37)} W ( a ) = I A ∑ ( 2 d ) a d , η , τ , κ . (37)
Q ( a ) = W ( a ) − T ( a ) . (38) Q(a)=\mathcal{W}(a)-\mathcal{T}(a). \tag*{(38)} Q ( a ) = W ( a ) − T ( a ) . (38)
Here ∑ I A \sum_{\mathcal{I}_A} ∑ I A means a sum over every four-tuple in (III.8). For weights constructed from X X X , these functionals equal e ( X ) e(X) e ( X ) , t ( X ) t(X) t ( X ) , w ( X ) w(X) w ( X ) , q ( X ) q(X) q ( X ) , respectively. Handshaking proves the first identity; each triangle contributes one edge to each of its three neighborhoods, proving the second; the degree-class masses prove the third. These functionals are defined even at a relaxed point that corresponds to no graph.
The implementation names their coefficient vectors ec, tc, wc, and qc. The metadata key model.t denotes the independence parameter r r r ; the vector tc and profile coordinate tr denote triangles. If the ambient edge count is fixed at the integer e 0 e_0 e 0 , add E ( a ) = e 0 \mathcal{E}(a)=e_0 E ( a ) = e 0 . The neighborhood edge counts η \eta η still range over their allowed values.
Four-vertex variables and bulk equations
Let F 4 \mathcal{F}_4 F 4 contain one representative of each of the eleven isomorphism classes of graphs on four vertices. Introduce a real variable z F ≥ 0 z_F\ge0 z F ≥ 0 for every F ∈ F 4 F\in\mathcal{F}_4 F ∈ F 4 . The value assigned by an actual graph X X X is
z F ( X ) = ∣ { S ∈ V ( X ) : X [ S ] ≅ F } ∣ . z_F(X)=\left|\{S\in V(X):X[S]\cong F\}\right|. z F ( X ) = ∣ { S ∈ V ( X ) : X [ S ] ≅ F } ∣ .
An arbitrary relaxed z F z_F z F need not be an integer. Define u ( F ) = ∣ { v ∈ V ( F ) : d F ( v ) = 3 } ∣ u(F)=|\{v\in V(F):d_F(v)=3\}| u ( F ) = ∣ { v ∈ V ( F ) : d F ( v ) = 3 } ∣ and i ( F ) = ∣ { v ∈ V ( F ) : d F ( v ) = 0 } ∣ i(F)=|\{v\in V(F):d_F(v)=0\}| i ( F ) = ∣ { v ∈ V ( F ) : d F ( v ) = 0 } ∣ , the numbers of universal and isolated vertices. The remaining entries in the following table are e ( F ) e(F) e ( F ) , t ( F ) t(F) t ( F ) , w ( F ) w(F) w ( F ) as defined in § 8 .1. Every sum over F F F in the local model ranges over F 4 \mathcal{F}_4 F 4 .
Table 10.
The paw is a triangle with a pendant vertex. The code uses the NetworkX graph-atlas ordering; another ordering is acceptable if every corresponding column and objective is permuted consistently.
These variables connect local information at different vertices: the same four-set may be seen from several roots, but must receive one consistent induced type. The following four equations count all four-sets and the edges, triangles, or wedges contained in them:
∑ F z F = ( n 4 ) , (39) \sum_F z_F = \binom{n}{4}, \tag*{(39)} F ∑ z F = ( 4 n ) , (39)
∑ F e ( F ) z F = ( n − 2 2 ) E ( a ) , (40) \sum_F e(F)z_F = \binom{n-2}{2}\mathcal{E}(a), \tag*{(40)} F ∑ e ( F ) z F = ( 2 n − 2 ) E ( a ) , (40)
∑ F t ( F ) z F = ( n − 3 ) T ( a ) , (41) \sum_F t(F)z_F = (n-3)\mathcal{T}(a), \tag*{(41)} F ∑ t ( F ) z F = ( n − 3 ) T ( a ) , (41)
∑ F w ( F ) z F = ( n − 3 ) W ( a ) . (42) \sum_F w(F)z_F = (n-3)\mathcal{W}(a). \tag*{(42)} F ∑ w ( F ) z F = ( n − 3 ) W ( a ) . (42)
An edge lies in ( n − 2 2 ) \binom{n-2}{2} ( 2 n − 2 ) four-sets; a triangle or wedge occupies three vertices and lies in n − 3 n-3 n − 3 four-sets. The counted edge, triangle, or wedge need not be induced within the four-set.
Some four-vertex counts are known to be zero before any numerical calculation. If s ≤ 4 s \le4 s ≤ 4 , a graph in R ( s , r , n ) \mathcal{R}(s,r,n) R ( s , r , n ) cannot contain a K 4 K_4 K 4 , so z K 4 = 0 z_{K_4}=0 z K 4 = 0 . If r ≤ 4 r \le4 r ≤ 4 , it cannot contain an independent four-set, so z 4 K 1 = 0 z_{4K_1}=0 z 4 K 1 = 0 . These are the coordinates called fixed to zero in the certificate description. For example, the model for R ( 4 , 6 , 38 ) \mathcal{R}(4,6,38) R ( 4 , 6 , 38 ) has z K 4 = 0 z_{K_4}=0 z K 4 = 0 because a four-clique is forbidden. Thus the family definition determines these zero coordinates. All other retained coordinates are constrained to be nonnegative. Their role in the weighted-sum check is explained in § 8 .8.
Triple types and rooted incidence equations
For an integer order m m m and coordinates ( η , τ , κ ) (\eta,\tau,\kappa) ( η , τ , κ ) , define the four-component polynomial vector
T ( m , η , τ , κ ) = ( ( m 3 ) − ( m − 2 ) η + κ , ( m − 2 ) η − 2 κ + τ , κ − 2 τ , τ ) . (43) T(m,\eta,\tau,\kappa)=\left(\binom{m}{3}-(m-2)\eta+\kappa,\ (m-2)\eta-2\kappa+\tau,\ \kappa-2\tau,\ \tau\right). \tag*{(43)} T ( m , η , τ , κ ) = ( ( 3 m ) − ( m − 2 ) η + κ , ( m − 2 ) η − 2 κ + τ , κ − 2 τ , τ ) . (43)
Write T k T_k T k for its component indexed by k ∈ { 0 , 1 , 2 , 3 } k \in\{0,1,2,3\} k ∈ { 0 , 1 , 2 , 3 } in the displayed order. When ( m , η , τ , κ ) (m,\eta,\tau,\kappa) ( m , η , τ , κ ) is a graph profile, T k T_k T k is the number of its induced three-sets with exactly k k k edges. Indeed, these counts sum to ( m 3 ) \binom{m}{3} ( 3 m ) , their edge incidence sum is ( m − 2 ) η (m-2)\eta ( m − 2 ) η , and T 2 + 3 T 3 = w = κ + τ T_2+3T_3=w=\kappa+\tau T 2 + 3 T 3 = w = κ + τ , while T 3 = τ T_3=\tau T 3 = τ . These relations give (III.22). The polynomial also defines the coefficients at rational polygon vertices.
For k ∈ { 0 , 1 , 2 , 3 } k \in\{0,1,2,3\} k ∈ { 0 , 1 , 2 , 3 } and F ∈ F 4 F \in\mathcal{F}_4 F ∈ F 4 , let U k ( F ) U_k(F) U k ( F ) count degree-3 vertices of F F F whose deletion leaves k k k edges, and let Z k ( F ) Z_k(F) Z k ( F ) count degree-0 vertices with that property. The rooted incidence rows are
∑ I A T k ( d , η , τ , κ ) a d , η , τ , κ = ∑ F U k ( F ) z F . (44) \sum_{I_A} T_k(d,\eta,\tau,\kappa)a_{d,\eta,\tau,\kappa}=\sum_F U_k(F)z_F. \tag*{(44)} I A ∑ T k ( d , η , τ , κ ) a d , η , τ , κ = F ∑ U k ( F ) z F . (44)
∑ I B T k ( h , η , τ , κ ) b h , η , τ , κ = ∑ F Z k ( F ) z F . (45) \sum_{I_B} T_k(h,\eta,\tau,\kappa)b_{h,\eta,\tau,\kappa}=\sum_F Z_k(F)z_F. \tag*{(45)} I B ∑ T k ( h , η , τ , κ ) b h , η , τ , κ = F ∑ Z k ( F ) z F . (45)
These eight equations count a triple together with a universal or isolated fourth vertex. To obtain their coefficients, observe that removing a universal vertex deletes exactly three edges, whereas removing an isolated vertex deletes none. Therefore
U k ( F ) = u ( F ) 1 e ( F ) − 3 = k , Z k ( F ) = i ( F ) 1 e ( F ) = k . U_k(F)=u(F)\mathbf{1}_{e(F)-3=k},\qquad Z_k(F)=i(F)\mathbf{1}_{e(F)=k}. U k ( F ) = u ( F ) 1 e ( F ) − 3 = k , Z k ( F ) = i ( F ) 1 e ( F ) = k .
For example, removing the universal vertex of a paw leaves one edge, so it contributes to U 1 U_1 U 1 . The isolated vertex of K 3 + K 1 K_3+K_1 K 3 + K 1 contributes to Z 3 Z_3 Z 3 .
The local model also includes the separate triple identity (III.5), in the explicit linear form
∑ I B η b h , η , τ , κ − ∑ I A [ η + d ( n 2 − d ) ] a d , η , τ , κ = 0. (46) \sum_{I_B}\eta b_{h,\eta,\tau,\kappa}-\sum_{I_A}\left[\eta+d\left(\frac{n}{2}-d\right)\right]a_{d,\eta,\tau,\kappa}=0. \tag*{(46)} I B ∑ η b h , η , τ , κ − I A ∑ [ η + d ( 2 n − d ) ] a d , η , τ , κ = 0. (46)
This identity is included as its own row in the model. Lemma III.4.1 proves that the graph-derived weights preserve every local count in these equations.
The rooted equations require the neighborhood and nonneighborhood triple patterns to fit into a common four-vertex distribution. They express compatibility between local counts at different vertices.
Joint degrees, disjoint edges, and paths
The smaller model called version 3 contains profile matching, the optional fixed-edge row, the triple identity, four bulk identities, and eight rooted identities. Version 4 additionally uses the constraints in this section.
When e ( X ) = e 0 e(X)=e_0 e ( X ) = e 0 is fixed, count pairs of disjoint edges:
W ( a ) + ∑ F ( ( e ( F ) 2 ) − w ( F ) ) z F = ( e 0 2 ) . (47) \mathcal{W}(a)+\sum_F\left(\binom{e(F)}{2}-w(F)\right)z_F=\binom{e_0}{2}. \tag*{(47)} W ( a ) + F ∑ ( ( 2 e ( F ) ) − w ( F ) ) z F = ( 2 e 0 ) . (47)
With e 0 e_0 e 0 fixed, the right-hand side is constant and this is a linear equation in the model variables. It is included only in models with a prescribed edge count.
For each d , f ∈ D d,f\in\mathcal{D} d , f ∈ D with d ≤ f d\leq f d ≤ f , introduce a real variable j d , f ≥ 0 j_{d,f}\geq0 j d , f ≥ 0 . At the point assigned by a graph, j d , f j_{d,f} j d , f counts unordered edges whose endpoint degrees, in increasing order, are ( d , f ) (d,f) ( d , f ) . In particular, j d , d j_{d,d} j d , d counts each edge within a degree class once. Count the ends of edges incident with vertices of degree d d d . The left-hand side below counts d d d ends per vertex in that degree class; the right-hand side groups the same ends according to the degree of the other endpoint. This gives, for every d ∈ D d\in\mathcal{D} d ∈ D ,
d m d A = 2 j d , d + ∑ f ∈ D f < d j f , d + ∑ f ∈ D f > d j d , f . (48) d m_d^A=2j_{d,d}+\sum_{\substack{f\in\mathcal{D}\\f<d}}j_{f,d}+\sum_{\substack{f\in\mathcal{D}\\f>d}}j_{d,f}. \tag*{(48)} d m d A = 2 j d , d + f ∈ D f < d ∑ j f , d + f ∈ D f > d ∑ j d , f . (48)
The diagonal factor is 2 because each edge within a class has two ends in that class.
Let p ( Y ) p(Y) p ( Y ) count unoriented paths with three edges and four distinct vertices in a graph Y Y Y , with additional edges permitted among their vertices. Equivalently, it is half the number of ordered injective four-tuples ( v 1 , v 2 , v 3 , v 4 ) (v_1,v_2,v_3,v_4) ( v 1 , v 2 , v 3 , v 4 ) with all three consecutive pairs adjacent. The path row is
∑ F p ( F ) z F = ∑ d , f ∈ D d ≤ f ( d − 1 ) ( f − 1 ) j d , f − 3 T ( a ) . (49) \sum_F p(F)z_F=\sum_{\substack{d,f\in\mathcal{D}\\d\leq f}}(d-1)(f-1)j_{d,f}-3\mathcal{T}(a). \tag*{(49)} F ∑ p ( F ) z F = d , f ∈ D d ≤ f ∑ ( d − 1 ) ( f − 1 ) j d , f − 3 T ( a ) . (49)
Choose the middle edge u v uv uv . There are ( d u − 1 ) ( d v − 1 ) (d_u-1)(d_v-1) ( d u − 1 ) ( d v − 1 ) choices of outer endpoints before requiring them to be distinct. Each common neighbor gives one invalid coincidence, and these total 3 t ( X ) 3t(X) 3 t ( X ) over all edges. On a graph-derived point the left-hand side is p ( X ) p(X) p ( X ) , and the coefficients can be computed from
p ( F ) = ∑ u v ∈ E ( F ) ( d F ( u ) − 1 ) ( d F ( v ) − 1 ) − 3 t ( F ) . p(F)=\sum_{uv\in E(F)}(d_F(u)-1)(d_F(v)-1)-3t(F). p ( F ) = uv ∈ E ( F ) ∑ ( d F ( u ) − 1 ) ( d F ( v ) − 1 ) − 3 t ( F ) .
This provides another linear equation.
Put D 0 = ∣ D ∣ D_0=|\mathcal{D}| D 0 = ∣ D ∣ and let F 0 = 1 F_0=1 F 0 = 1 when the ambient edge count is fixed, and F 0 = 0 F_0=0 F 0 = 0 otherwise. Version 3 has D 0 + 14 + F 0 D_0+14+F_0 D 0 + 14 + F 0 rows and version 4 has 2 D 0 + 15 + 2 F 0 2D_0+15+2F_0 2 D 0 + 15 + 2 F 0 . The closure auditor checks these row counts and verifies that the version 3 matrix contains precisely its specified variables and equations.
Proposition III.7.1 (Every graph gives a feasible local point). Suppose the admissible degree and profile coverage conditions above hold. Every X ∈ R ( s , r , n ) X\in\mathcal{R}(s,r,n) X ∈ R ( s , r , n ) gives a feasible point of version 3 and version 4, and of their fixed-edge variants when e ( X ) = e 0 e(X)=e_0 e ( X ) = e 0 .
Proof. Choose the weights by (III.10)–(III.12); take z F = z F ( X ) z_F=z_F(X) z F = z F ( X ) and the actual joint-degree edge counts j d , f j_{d,f} j d , f . Nonnegativity and degree matching follow from the definitions. The bulk equations count subsets containing a fixed edge, triangle, or wedge. Lemma III.4.1 converts the rooted incidence counts and (III.5) into (III.23)–(III.25). Stub matching counts ends of edges. The disjoint-edge equation partitions edge pairs into those meeting at a vertex and those on four vertices, and the path equation follows from its middle-edge count. Forbidden four-vertex variables vanish. Finally E ( a ) = e ( X ) \mathcal{E}(a)=e(X) E ( a ) = e ( X ) , so the optional fixed-edge row also holds. The model imposes necessary conditions for membership in the graph family.
Checking a bound by a weighted sum
The variables of the local model are the neighborhood weights a d , η , τ , κ a_{d,\eta,\tau,\kappa} a d , η , τ , κ , nonneighborhood weights b h , η , τ , κ b_{h,\eta,\tau,\kappa} b h , η , τ , κ , four-vertex counts z F z_F z F , and, in version 4, edge counts j d , f j_{d,f} j d , f by endpoint degree. Every actual graph supplies nonnegative values satisfying the equations, as Proposition III.7.1 proves. A certificate combines these equations to bound an edge or triangle count.
The principle before matrix notation
Suppose, as a small algebraic example, that nonnegative real numbers u 1 u_1 u 1 , u 2 u_2 u 2 , u 3 u_3 u 3 satisfy
u 1 + u 2 = 5 , u 2 + u 3 = 4. u_1+u_2=5,\qquad u_2+u_3=4. u 1 + u 2 = 5 , u 2 + u 3 = 4.
Multiply the first equation by 2 and the second by 1, and add:
2 u 1 + 3 u 2 + u 3 = 14. 2u_1+3u_2+u_3=14. 2 u 1 + 3 u 2 + u 3 = 14.
The quantity 3 u 1 + 3 u 2 + u 3 3u_1+3u_2+u_3 3 u 1 + 3 u 2 + u 3 is therefore at least 14, since
3 u 1 + 3 u 2 + u 3 = 14 + u 1 ≥ 14. 3u_1+3u_2+u_3=14+u_1\ge14. 3 u 1 + 3 u 2 + u 3 = 14 + u 1 ≥ 14.
The pair of multipliers ( 2 , 1 ) (2,1) ( 2 , 1 ) is a certificate for the bound. Verification consists of adding the two weighted equations and checking that the remaining coefficient is nonnegative. The Ramsey certificates use exactly this argument with more variables and equations. For example, e ( X ) e(X) e ( X ) is the linear expression E ( a ) \mathcal{E}(a) E ( a ) defined above, and an upper bound on it is obtained by proving a lower bound on − E ( a ) -\mathcal{E}(a) − E ( a ) . A claimed upper bound is thus ultimately an identity expressing − E ( a ) -\mathcal{E}(a) − E ( a ) as a constant plus a nonnegative combination of the model variables. The certificate supplies the equation multipliers needed to obtain that identity.
How the equations become a matrix
Choose the saved ordering of the variables and place their values in a column vector u \mathbf{u} u . Let N v a r N_{\mathrm{var}} N var be its length and m e q m_{\mathrm{eq}} m eq the number of equations. In each equation move all variable terms to the left and leave the constant on the right. Define M ℓ j M_{\ell j} M ℓ j to be the coefficient of the j j j th variable in the ℓ \ell ℓ th equation, and b ℓ b_{\ell} b ℓ to be that equation’s right-hand side. Thus
M ∈ Q m e q × N v a r , b ∈ Q m e q , M u = b , u ≥ 0. M \in\mathbb{Q}^{m_{\mathrm{eq}}\times N_{\mathrm{var}}},\qquad\mathbf{b} \in\mathbb{Q}^{m_{\mathrm{eq}}},\qquad M\mathbf{u}=\mathbf{b},\qquad\mathbf{u}\geq0. M ∈ Q m eq × N var , b ∈ Q m eq , M u = b , u ≥ 0.
The matrix records the coefficients of the counting equations. For instance, the mass equation has coefficient 1 at every neighborhood-weight coordinate, coefficient 0 at all other coordinates, and right-hand side n n n . The entries of b \mathbf{b} b are constants; the nonneighborhood weights are among the coordinates of u \mathbf{u} u .
Let c ∈ Q N v a r \mathbf{c} \in\mathbb{Q}^{N_{\mathrm{var}}} c ∈ Q N var record the coefficients of the quantity to be bounded; this quantity is c T u \mathbf{c}^{T}\mathbf{u} c T u . It is called the objective . For an edge lower bound its coefficients are those of E ( a ) \mathcal{E}(a) E ( a ) : d / 2 d/2 d /2 at the neighborhood coordinate ( d , η , τ , κ ) (d,\eta,\tau,\kappa) ( d , η , τ , κ ) and zero at the other coordinates. For an edge upper bound the signs of those coefficients are reversed. A triangle objective uses η / 3 \eta/3 η /3 instead.
Now let y ∈ Q m e q \mathbf{y} \in\mathbb{Q}^{m_{\mathrm{eq}}} y ∈ Q m eq give one multiplier per equation. Multiplying the ℓ \ell ℓ th equation by y ℓ y_{\ell} y ℓ and summing gives
∑ j = 1 N v a r ( ∑ ℓ = 1 m e q M ℓ j y ℓ ) u j = ∑ ℓ = 1 m e q y ℓ b ℓ . \sum_{j=1}^{N_{\mathrm{var}}}\left(\sum_{\ell=1}^{m_{\mathrm{eq}}}M_{\ell j}y_{\ell}\right)u_j=\sum_{\ell=1}^{m_{\mathrm{eq}}}y_{\ell}b_{\ell}. j = 1 ∑ N var ( ℓ = 1 ∑ m eq M ℓ j y ℓ ) u j = ℓ = 1 ∑ m eq y ℓ b ℓ .
The inner sum is the j j j th coordinate of M T y M^{T}\mathbf{y} M T y . It is the sum of the contributions to one variable from all the weighted equations.
What signs must be checked
Let J 0 J_0 J 0 be the set of variable positions occupied by counts already known to be zero, such as z K 4 z_{K_4} z K 4 in a K 4 K_4 K 4 -free family. Let J + J_+ J + be the other positions. The certificate is valid if
c j − ( M T y ) j ≥ 0 ( j ∈ J + ) . c_j-(M^{T}\mathbf{y})_j\geq0\qquad(j\in J_+). c j − ( M T y ) j ≥ 0 ( j ∈ J + ) .
Subtracting the weighted equation sum from the objective proves the explicit identity
c T u − y T b = ∑ j ∈ J + ( c j − ( M T y ) j ) u j ≥ 0. (50) \mathbf{c}^{T}\mathbf{u}-\mathbf{y}^{T}\mathbf{b}=\sum_{j\in J_+}\left(c_j-(M^{T}\mathbf{y})_j\right)u_j\geq0. \tag*{(50)} c T u − y T b = j ∈ J + ∑ ( c j − ( M T y ) j ) u j ≥ 0. (50)
Every term on the right is nonnegative. A coordinate in J 0 J_0 J 0 contributes zero regardless of its coefficient, so it is omitted from this sign comparison. The equation multipliers may be negative because they multiply equalities. By contrast, the coefficients remaining on the nonnegative variables must have the displayed sign.
The multiplier vector y \mathbf{y} y is called a dual certificate . Its validity follows directly from (III.29). Verification has two parts: proving that the rows of M M M are valid counting equations, and checking that the supplied y \mathbf{y} y gives nonnegative residual coefficients.
Matching the displayed equations to the stored rows
The mathematical triple identity is equation (III.25). For integer coefficient storage, the implementation records twice that row. It also records twice the fixed-edge equation, twice the four-set edge-incidence equation, and three times the four-set triangle-incidence equation; the other displayed rows retain their stated scale. Multiplying an equation by a nonzero constant leaves its solutions unchanged, but changes the multiplier needed in a certificate. Accordingly, the verifier uses the stored row scales and the stored multipliers together. To use the displayed equations, multiply each stored certificate multiplier by the corresponding row’s storage factor.
For example, the mathematical fixed-edge equation is E ( a ) = e 0 \mathcal{E}(a)=e_0 E ( a ) = e 0 . Its stored version has coefficient d d d at each neighborhood variable and right-hand side 2 e 0 2e_0 2 e 0 . The worked-method document shows the analogous conversion explicitly for the triple row in the 314-edge example.
A local JSON certificate records the family parameters, the objective coefficients, the equation multipliers, the rounding threshold, and the exact resulting lower bound. Rational entries are strings such as "3/7", with numerator and denominator separated by a slash. The fields named objective and dual contain c \mathbf{c} c and y \mathbf{y} y , respectively. The model parameters tell the verifier which profile sets and counting equations to reconstruct.
The verifier first reconstructs the objective from the mathematical claim and compares it with the stored objective. It then calculates every residual coefficient in (III.29), checks its sign, and computes y T b \mathbf{y}^{\mathsf{T}}\mathbf{b} y T b . Finally it checks that this rational bound is strong enough for the stated integer conclusion. The saved field max_dual_violation records a diagnostic result; the verifier recomputes the residuals from the multiplier vector.
Integer arithmetic can perform all these steps. Let positive integers L , D L,D L , D clear denominators in M , b M,\mathbf{b} M , b and in y , c \mathbf{y},\mathbf{c} y , c , respectively, and define
A = L M , B = L b , Y = D y , C = L D c . A = LM,\qquad B = L\mathbf{b},\qquad Y = D\mathbf{y},\qquad C = LD\mathbf{c}. A = L M , B = L b , Y = D y , C = L D c .
Here A A A is an integer matrix and B , Y , C B,Y,C B , Y , C are integer vectors used only for this arithmetic representation. The sign check is ( A T Y ) j − C j ≤ 0 (A^{\mathsf{T}}Y)_j-C_j\leq0 ( A T Y ) j − C j ≤ 0 for j ∈ J + j\in J_+ j ∈ J + , and the resulting bound is Y T B / ( L D ) \mathbf{Y}^{\mathsf{T}}B/(LD) Y T B / ( L D ) . The replay uses arbitrary-precision integers, so accumulation does not wrap at a fixed machine word size. The common matrix denominators occurring in the required chain are 1 and 6.
The program replay_required_local_certificates.py performs these checks for every required local claim. Its report names the checked certificates and records their hashes. The derivations above justify the model variables and rows. The program verifies each resulting rational weighted sum by the exact residual and threshold tests.
Recursive profile coverage and exact polygons
The weighted-sum principle is first used to supply the smaller local information needed by later models. For example, a neighborhood of a vertex in a ( 4 , 6 ) (4,6) ( 4 , 6 ) -graph is a ( 3 , 6 ) (3,6) ( 3 , 6 ) -graph, while its nonneighborhood is a ( 4 , 5 ) (4,5) ( 4 , 5 ) -graph. Complete ( 3 , 6 ) (3,6) ( 3 , 6 ) catalogues are available at the required orders, but not every required ( 4 , 5 ) (4,5) ( 4 , 5 ) edge class has a complete catalogue. The following construction supplies proved containing polygons for the latter classes.
The R ( 4 , 5 , n ) R(4,5,n) R ( 4 , 5 , n ) inputs for 19 ≤ n ≤ 23 19\leq n\leq23 19 ≤ n ≤ 23 consist of 149 edge classes. Of these, 26 use complete catalogue hulls; the remaining 123 use certified support polygons. They are stored in computed_v3_45_19.json through computed_v3_45_23.json.
For each of the 123 edge classes without a complete catalogue, a smaller counting model gives both a lower and an upper bound on a t + b q at+bq a t + b q . Each such linear bound is called a support inequality. The eight fixed coefficient pairs ( a , b ) (a,b) ( a , b ) are:
( 1 , 0 ) , ( 0 , 1 ) , ( 1 , 1 ) , ( 1 , − 1 ) , ( 1 , 2 ) , ( 2 , 1 ) , ( 1 , − 2 ) , ( 2 , − 1 ) . (1,0),\ (0,1),\ (1,1),\ (1,-1),\ (1,2),\ (2,1),\ (1,-2),\ (2,-1). ( 1 , 0 ) , ( 0 , 1 ) , ( 1 , 1 ) , ( 1 , − 1 ) , ( 1 , 2 ) , ( 2 , 1 ) , ( 1 , − 2 ) , ( 2 , − 1 ) .
Thus there are 123 ⋅ 8 ⋅ 2 = 1968 123\cdot8\cdot2=1968 123 ⋅ 8 ⋅ 2 = 1968 support certificates. Since t , q t,q t , q are integers for a graph, a t + b q at+bq a t + b q is integral for an integer direction ( a , b ) (a,b) ( a , b ) . To prove a t + b q ≤ U at+bq\leq U a t + b q ≤ U , a certificate gives
− ( a t + b q ) > − U − 1. -(at+bq)>-U-1. − ( a t + b q ) > − U − 1.
The strict inequality and integrality imply the desired bound. Equality with − U − 1 -U-1 − U − 1 would not justify it.
To reconstruct a polygon, intersect pairs of nonparallel rational boundary lines, retain intersections satisfying all half-planes, and compute their exact convex hull. Orientation tests use
( x 2 − x 1 ) ( y 3 − y 1 ) − ( y 2 − y 1 ) ( x 3 − x 1 ) . (x_2-x_1)(y_3-y_1)-(y_2-y_1)(x_3-x_1). ( x 2 − x 1 ) ( y 3 − y 1 ) − ( y 2 − y 1 ) ( x 3 − x 1 ) .
Segments and singletons are handled without perturbation. The largest denominator of the reconstructed rational polygon vertices is 3. The JSON coordinates include decimal approximations to thirds; they are not all exact terminating decimals. The polygon auditor recovers rational coordinates with denominator at most 10 6 10^6 1 0 6 and checks a discrepancy below 10 − 10 10^{-10} 1 0 − 10 , then independently verifies equality with the exact half-plane or catalogue hull. The local replay recovers matrix coefficients with denominator at most 6 and checks a discrepancy below 10 − 8 10^{-8} 1 0 − 8 . These closeness tests identify the intended rational data; the final residual inequalities and polygon comparisons are performed exactly.
The script audit_recursive_polygons.py compares stored vertices with the exact intersection of the support half-planes, or with the exact catalogue hull as appropriate. The dual replay establishes the support inequalities used in that intersection.
The models include the following complete degree ranges:
Table 1 (PDF p. 56).
For example, in a ( 4 , 6 , 38 ) (4,6,38) ( 4 , 6 , 38 ) graph a neighborhood has no triangle and no independent six-set, so its order is at most 17; the nonneighborhood is a ( 4 , 5 ) (4,5) ( 4 , 5 ) graph of order at most 24, so the degree is at least 38 − 1 − 24 = 13 38-1-24=13 38 − 1 − 24 = 13 . The other ranges follow in the same way from the displayed small Ramsey bounds. The closure audit checks that the program includes each degree in these ranges and every integer edge class allowed for its two local families. Every degree and edge class in the required ranges must be covered before the model can be used.
Endpoints, integrality, and the five local facets
The endpoint chain gives
Table 2 (PDF p. 56).
The following certificates prove the endpoints of these intervals. The lower certificates edge_46_38_min.json and edge_46_39_min.json give, respectively,
e ≥ 43377 163 > 266 , e ≥ 16965 59 > 287. e \ge\frac{43377}{163} > 266,\qquad e \ge\frac{16965}{59} > 287. e ≥ 163 43377 > 266 , e ≥ 59 16965 > 287.
Thus their integer lower endpoints are 267 and 288. The upper certificates edge_55_44_max.json and edge_55_45_max.json give
− e ≥ − 113652 221 > − 515 , − e ≥ − 73710 139 > − 531. -e \ge-\frac{113652}{221} > -515,\qquad-e \ge-\frac{73710}{139} > -531. − e ≥ − 221 113652 > − 515 , − e ≥ − 139 73710 > − 531.
so their integer upper endpoints are 514 and 530.
The file edge_46_38_max.json certifies − e ≥ − 26125 / 83 -e \ge-26125/83 − e ≥ − 26125/83 . Since 83 ⋅ 314 = 26062 < 26125 < 26145 = 83 ⋅ 315 83 \cdot314 = 26062 < 26125 < 26145 = 83 \cdot315 83 ⋅ 314 = 26062 < 26125 < 26145 = 83 ⋅ 315 , this gives e ≤ 314 e \le314 e ≤ 314 . Its model has 25 rows and 1217 variables; 17 dual multipliers are nonzero.
The order-44 file edge_55_44_min.json gives e ≥ 95414 / 221 > 431 e \ge95414/221 > 431 e ≥ 95414/221 > 431 , so e ≥ 432 e \ge432 e ≥ 432 . For order 45, edge_55_45_min.json gives
e ≥ 12137627230191 26402663302 > 459 , e \ge\frac{12137627230191}{26402663302} > 459, e ≥ 26402663302 12137627230191 > 459 ,
so e ≥ 460 e \ge460 e ≥ 460 . The rational bounds are compared with integer thresholds by exact cross multiplication.
For R ( 4 , 6 , 39 ) \mathcal{R}(4,6,39) R ( 4 , 6 , 39 ) , edge_46_39_max.json gives − e ≥ − 325 -e \ge-325 − e ≥ − 325 , hence e ≤ 325 e \le325 e ≤ 325 . With e = 325 e = 325 e = 325 , two further certificates give
t ≥ 1612 / 3 , − t ≥ − 1612 / 3. t \ge1612/3,\qquad-t \ge-1612/3. t ≥ 1612/3 , − t ≥ − 1612/3.
Thus t = 1612 / 3 t = 1612/3 t = 1612/3 , impossible for a graph. This excludes the last edge count and proves e ≤ 324 e \le324 e ≤ 324 . The files are exclude_4639e325_t_gt537.json and exclude_4639e325_t_lt538.json.
Apply these bounds to the neighborhoods A v A_v A v and nonneighborhoods B v B_v B v of a hypothetical 84-vertex graph X X X . The relevant four edge bounds alone do not contradict (III.5): at degree 38, its summand is bounded below by 460 − 314 − 152 = − 6 460 - 314 - 152 = -6 460 − 314 − 152 = − 6 , and at degree 39 by 432 − 324 − 117 = − 9 432 - 324 - 117 = -9 432 − 324 − 117 = − 9 . An argument using only those four bounds therefore stops short of a contradiction. The proof also retains relationships among local edges, triangles, and wedges.
The next table states five such relationships. In each row Y Y Y means the local graph named in the first column. The quantity d v d_v d v is the degree of its root v v v in the 84-vertex graph X X X ; in particular, when Y = B v Y = B_v Y = B v , its order is 83 − d v 83 - d_v 83 − d v . The five numbers γ d , γ e , γ t , γ q , γ 0 \gamma_d, \gamma_e, \gamma_t, \gamma_q, \gamma_0 γ d , γ e , γ t , γ q , γ 0 are fixed coefficients of the inequality
γ d d v + γ e e ( Y ) + γ t t ( Y ) + γ q q ( Y ) + γ 0 ≤ 0. \gamma_d d_v + \gamma_e e(Y) + \gamma_t t(Y) + \gamma_q q(Y) + \gamma_0 \le0. γ d d v + γ e e ( Y ) + γ t t ( Y ) + γ q q ( Y ) + γ 0 ≤ 0.
Each table row is a universal assertion for the indicated neighborhood or nonneighborhood family: it must hold at every vertex of any hypothetical X X X .
Table 1 (PDF p. 57).
For example, the first row spells out
770 d v − 269 e ( A v ) − 6 t ( A v ) + 12 q ( A v ) + 5940 ≤ 0 , 770d_v - 269e(A_v) - 6t(A_v) + 12q(A_v) + 5940 \le0, 770 d v − 269 e ( A v ) − 6 t ( A v ) + 12 q ( A v ) + 5940 ≤ 0 ,
and the second spells out
− 732 d v − 76 e ( B v ) − t ( B v ) + 2 q ( B v ) + 49239 ≤ 0. -732d_v - 76e(B_v) - t(B_v) + 2q(B_v) + 49239 \le0. − 732 d v − 76 e ( B v ) − t ( B v ) + 2 q ( B v ) + 49239 ≤ 0.
The file IDs 203, 595, 603, 658, 681 identify these five coefficient tuples in the saved data. The metadata file exact_candidate_used_facets.json lists the IDs, their coefficient tuples, and which side they concern. The list in local_profile_facets.json is indexed by putting the neighborhood list before the nonneighborhood list, with indexing starting at zero. The data files call these inequalities facets . Each is used as a valid supporting inequality; the proof requires validity on all relevant profiles.
To prove each inequality for graphs on 38, 39, 44, or 45 vertices, fix the order of Y Y Y and an integer value e ( Y ) = e 0 e(Y) = e_0 e ( Y ) = e 0 from the proved intervals. Construct the local counting model for that family with this fixed edge count. A rational weighted sum of its equations then bounds the remaining expression in t ( Y ) t(Y) t ( Y ) and q ( Y ) q(Y) q ( Y ) . Since every possible Y Y Y supplies a feasible assignment, that single calculation proves the inequality for every graph in the chosen order and edge class. The next paragraph gives one such calculation explicitly.
For example, facet 203 at d v = 38 d_v = 38 d v = 38 , e = 314 e = 314 e = 314 becomes − 6 t + 12 q ≤ 49266 -6t + 12q \le49266 − 6 t + 12 q ≤ 49266 . The file facet203_46_n38_e314.json proves
6 t − 12 q ≥ − 541956 11 > − 49272. 6t - 12q \ge-\frac{541956}{11} > -49272. 6 t − 12 q ≥ − 11 541956 > − 49272.
The strict gap is 36 / 11 36/11 36/11 , since 49272 ⋅ 11 − 541956 = 36 49272 \cdot11 - 541956 = 36 49272 ⋅ 11 − 541956 = 36 . Because − 6 t + 12 q -6t + 12q − 6 t + 12 q is a multiple of 6, it is at most 49266.
In general, abbreviate t = t ( Y ) t = t(Y) t = t ( Y ) and q = q ( Y ) q = q(Y) q = q ( Y ) for this calculation. At fixed e ( Y ) = e 0 e(Y) = e_0 e ( Y ) = e 0 , put K = − γ d d v − γ e e 0 − γ 0 K = -\gamma_d d_v - \gamma_e e_0 - \gamma_0 K = − γ d d v − γ e e 0 − γ 0 and g = gcd ( ∣ γ t ∣ , ∣ γ q ∣ ) g = \gcd(\lvert\gamma_t\rvert, \lvert\gamma_q\rvert) g = g cd(∣ γ t ∣ , ∣ γ q ∣) . The next possible value of γ t t + γ q q \gamma_t t + \gamma_q q γ t t + γ q q above K K K is g ( ⌊ K / g ⌋ + 1 ) g(\lfloor K/g\rfloor+ 1) g (⌊ K / g ⌋ + 1 ) . Its exclusion is the strict dual threshold. The proved edge intervals determine the complete set of calculations. The neighborhood inequality has 48 + 37 = 85 48 + 37 = 85 48 + 37 = 85 cases, for the 48 possible edge counts at order 38 and the 37 at order 39. Each of the four nonneighborhood inequalities has 83 + 71 = 154 83 + 71 = 154 83 + 71 = 154 cases, for orders 44 and 45. Hence the five inequalities require 85 + 4 ⋅ 154 = 701 85 + 4 \cdot154 = 701 85 + 4 ⋅ 154 = 701 fixed-edge certificates. Including the 10 endpoint/exclusion certificates and 1968 prerequisite support certificates gives 2679 required local certificates in total.
To check the table computationally, the reader runs replay_required_local_certificates.py as specified in § 8 .27. That program determines the required cases from the intervals and coefficient tuples, reconstructs each counting matrix and objective, and verifies its exact weighted-sum certificate. Its successful output must account for all 701 cases and their prerequisites. Each JSON certificate covers one fixed-edge case.
Seven-vertex probabilities and completeness
Let H \mathcal{H} H contain one representative of each isomorphism class of seven-vertex graphs containing neither K 5 K_5 K 5 nor an independent six-set. Each representative has the fixed labelled vertex set { 0 , … , 6 } \{0,\ldots,6\} { 0 , … , 6 } for computations. It has 979 members. In the remaining counting arguments, let X X X be a hypothetical member of R ( 5 , 6 , 84 ) \mathcal{R}(5,6,84) R ( 5 , 6 , 84 ) . For each H ∈ H H \in\mathcal{H} H ∈ H , define
p H = # { W ⊆ V ( X ) : ∣ W ∣ = 7 , X [ W ] ≅ H } ( 84 7 ) . p_H = \frac{\#\{W \subseteq V(X) : |W| = 7,\ X[W] \cong H\}}{\binom{84}{7}}. p H = ( 7 84 ) # { W ⊆ V ( X ) : ∣ W ∣ = 7 , X [ W ] ≅ H } .
Then p H ≥ 0 p_H \ge0 p H ≥ 0 and ∑ H p H = 1 \sum_H p_H = 1 ∑ H p H = 1 . Every induced seven-set statistic is linear in this probability vector. All coefficient arrays use the same representative order, stored in profile_cache.npz.
The set of seven-vertex types is enumerated directly as follows. The probabilities p H p_H p H are unknown because X X X is hypothetical. The coefficient of any stated seven-vertex statistic can be evaluated on each of the 979 representatives. An inequality for its average is therefore a linear inequality in the unknown p H p_H p H . Proving that no nonnegative probabilities with sum one can satisfy all those inequalities rules out X X X .
The graph atlas supplies the representative list, and exhaustive labelled enumeration checks its completeness. Encode a labelled seven-vertex graph by its 21 adjacency bits, enumerate all 2 21 = 2097152 2^{21} = 2097152 2 21 = 2097152 masks, and directly test all five-subsets and six-subsets. Exactly 2062423 labelled graphs survive.
For each saved representative, compute its minimum adjacency mask (the integer encoding defined below) over all 7 ! 7! 7 ! permutations. Verify these canonical masks are distinct, and count each representative’s automorphisms. Here Aut ( H ) \operatorname{Aut}(H) Aut ( H ) is the group of permutations of V ( H ) V(H) V ( H ) preserving adjacency. Its orbit has 7 ! / ∣ Aut ( H ) ∣ 7! / |\operatorname{Aut}(H)| 7 ! /∣ Aut ( H ) ∣ labelled graphs. The sums of orbit sizes, separately by edge count, must equal the exhaustive labelled counts. This proves both nonduplication and completeness of the 979 types.
The script audit_seven_graph_completeness.py performs this full finite enumeration. It verifies completeness of the seven-vertex type set within the supplied suite.
All dependent arrays use this representative ordering. Hashes and index maps check their consistency. A reimplementation using another order can compare coefficients by graph type.
Exact finite sampling
The local inequalities concern quantities such as the degree of a root or the number of edges in a common neighborhood. A seven-set usually contains only part of that information. We therefore assign weights to the portions it contains so that averaging over all seven-sets recovers the full quantity exactly. The sampling formulas below describe these exact averages.
A root is a vertex that has been distinguished and whose role must be preserved when configurations are compared. A flag is a finite graph together with specified distinguished vertices (roots), whose roles are either an ordered tuple or distinguished unordered groups. Its type is its isomorphism class under maps preserving these roles. Vertices not designated as roots form its tail. The flag order f f f counts both roots and tail vertices. A placement of a fixed labelled flag F F F into a graph Y Y Y is an injective map ϕ : V ( F ) → V ( Y ) \phi: V(F) \to V(Y) ϕ : V ( F ) → V ( Y ) inducing all edges and nonedges of F F F and carrying its distinguished roles to the chosen roots. Denote the finite set of such maps by Emb ( F , Y ) \operatorname{Emb}(F,Y) Emb ( F , Y ) . Taking orbits under automorphisms of F F F preserving the roles gives the unlabelled placements used by several builders; the conventions are specified in the next section.
Fix a placement of a flag on f ≤ 7 f \le7 f ≤ 7 vertices in a graph of order N = 84 N = 84 N = 84 , and let W W W be its vertex image. An exterior vertex means a vertex in V ( X ) ∖ W V(X) \setminus W V ( X ) ∖ W . A seven-set containing the flag samples 7 − f 7-f 7 − f vertices without replacement from the remaining N − f N-f N − f . For 0 ≤ m ≤ 7 − f 0 \le m \le7-f 0 ≤ m ≤ 7 − f , a specified configuration using m m m distinct exterior vertices is included with probability
( N − f − m 7 − f − m ) ( N − f 7 − f ) = ( 7 − f m ) ( N − f m ) . \frac{\binom{N-f-m}{7-f-m}}{\binom{N-f}{7-f}}=\frac{\binom{7-f}{m}}{\binom{N-f}{m}}. ( 7 − f N − f ) ( 7 − f − m N − f − m ) = ( m N − f ) ( m 7 − f ) .
Thus its observed count is multiplied by
W f , m = ( N − f m ) ( 7 − f m ) (51) W_{f,m}=\frac{\binom{N-f}{m}}{\binom{7-f}{m}} \tag*{(51)} W f , m = ( m 7 − f ) ( m N − f ) (51)
to obtain an unbiased estimate : a quantity whose average over all choices of the sampled vertices is exactly the full count being studied. Here “conditional on the flag” means that its vertices and induced adjacencies are held fixed while the exterior vertices vary.
For example, a fixed six-vertex flag has 78 exterior vertices. A seven-set containing it selects one of those 78 vertices uniformly. If exactly c c c of the exterior vertices lie in a particular cell, its membership indicator is 1 for c c c choices and 0 for the others. Multiplying that indicator by 78 gives average c c c . For a pair or triple of exterior vertices the same argument gives the binomial factors above.
Lemma III.12.1. For a sum of weighted configurations using at most 7 − f 7-f 7 − f distinct exterior vertices, multiply each observed configuration by (III.30), classified by its number of distinct exterior vertices. The conditional expectation is exactly the original statistic.
Proof. The inclusion probability cancels the factor separately for each configuration. Sum these equalities by linearity of expectation.
The word “distinct” is essential for products. In d x d y d_xd_y d x d y , one exterior vertex may contribute to both degrees; that term uses one vertex, not two. Repeated positions in a tuple must be handled before assigning a sampling weight.
More explicitly, suppose I ( X , ϕ ) ≤ 0 I(X,\phi)\le0 I ( X , ϕ ) ≤ 0 for every placement ϕ ∈ Emb ( F , X ) \phi\in\operatorname{Emb}(F,X) ϕ ∈ Emb ( F , X ) , and let I ^ ( H , ϕ ) \widehat{I}(H,\phi) I ( H , ϕ ) be an estimator formed by the lemma. Its conditional expectation over seven-sets containing the image of ϕ \phi ϕ is I ( X , ϕ ) I(X,\phi) I ( X , ϕ ) . Define the coefficient of a seven-vertex representative by
U F ( H ) = ∑ ϕ ∈ Emb ( F , H ) I ^ ( H , ϕ ) . U_F(H)=\sum_{\phi\in\operatorname{Emb}(F,H)}\widehat{I}(H,\phi). U F ( H ) = ϕ ∈ Emb ( F , H ) ∑ I ( H , ϕ ) .
Interchanging the finite sums over placements and seven-sets proves
∑ H ∈ H p H U F ( H ) = ( 84 − f 7 − f ) ( 84 7 ) ∑ ϕ ∈ Emb ( F , X ) I ( X , ϕ ) ≤ 0. (52) \sum_{H\in\mathcal{H}}p_HU_F(H)=\frac{\binom{84-f}{7-f}}{\binom{84}{7}}\sum_{\phi\in\operatorname{Emb}(F,X)}I(X,\phi)\le0. \tag*{(52)} H ∈ H ∑ p H U F ( H ) = ( 7 84 ) ( 7 − f 84 − f ) ϕ ∈ Emb ( F , X ) ∑ I ( X , ϕ ) ≤ 0. (52)
Indeed, each fixed placement belongs to ( 84 − f 7 − f ) \binom{84-f}{7-f} ( 7 − f 84 − f ) seven-sets. Equalities lift in the same manner. Counting unlabelled placements divides both sides by the same positive role-preserving automorphism count. Integer scaling and normalization are subsequently recorded in the row metadata. This operation is called lifting a local inequality to a global coefficient row.
For flags of sizes 6, 5, 4, the exterior population sizes are 78, 79, 80. These explain the numerical constants throughout the builders. They are computed for the target order 84.
Root conventions and canonical masks
Ordered roots are fixed pointwise under isomorphism. For an unordered clique group C C C and independent group D D D , permutations within each group are allowed, but the groups are not exchanged. Unrooted flag vertices may be permuted among themselves. These conventions are implemented by canon and group_canon.
For any ambient graph Y Y Y , define a u v = 1 { u , v } ∈ E ( Y ) a_{uv} = 1_{\{u,v\}\in E(Y)} a uv = 1 { u , v } ∈ E ( Y ) for distinct vertices u , v u,v u , v , and a u u = 0 a_{uu}=0 a uu = 0 .
Given an ordered list ( v 0 , … , v f − 1 ) (v_0,\ldots,v_{f-1}) ( v 0 , … , v f − 1 ) of distinct vertices of Y Y Y , encode its induced adjacency by
mask ( Y ; v 0 , … , v f − 1 ) = ∑ 0 ≤ i < j < f a v i v j 2 ι f ( i , j ) , ι f ( i , j ) = i ( 2 f − i − 1 ) 2 + j − i − 1. \operatorname{mask}(Y;v_0,\ldots,v_{f-1})=\sum_{0\leq i<j<f}a_{v_i v_j}2^{\iota_f(i,j)},\qquad\iota_f(i,j)=\frac{i(2f-i-1)}{2}+j-i-1. mask ( Y ; v 0 , … , v f − 1 ) = 0 ≤ i < j < f ∑ a v i v j 2 ι f ( i , j ) , ι f ( i , j ) = 2 i ( 2 f − i − 1 ) + j − i − 1.
Thus pairs are in lexicographic order, starting with exponent 0 for ( 0 , 1 ) (0,1) ( 0 , 1 ) . A graph with its specified vertex order has this mask; root masks use the induced ordered root list. Canonicalization takes the least mask over the allowed permutations. The resulting integer identifies the rooted isomorphism type.
The builders generally enumerate unordered root groups and canonicalize. Several auditors deliberately use a different representation: enumerate all ordered injections inducing the fixed representative mask, then divide by the number of automorphisms preserving the distinguished groups. This division is checked to be exact. It reproduces the same placements and tests root multiplicities independently of the original enumeration.
The Gram construction, by contrast, sums over ordered root tuples and ordered pairs of unordered extension sets. The stored row scales and final multipliers correspond to these counting conventions.
Key files therefore form part of the computational interface. A zero row may be omitted and row order may follow insertion order. An independent implementation should match semantic keys or preserve the saved index ordering exactly.
Base degree and common-neighborhood rows
Condition on a six-vertex flag rooted at v v v . If r 0 r_0 r 0 counts its neighbors within the flag and a a a indicates adjacency to the single exterior sample, then d ^ = r 0 + 78 a \hat d=r_0+78a d ^ = r 0 + 78 a is unbiased for d v d_v d v . The two degree inequalities give the rows d ^ − 39 \hat d-39 d ^ − 39 and 38 − d ^ 38-\hat d 38 − d ^ .
An edge has at most 17 common neighbors, since its common neighborhood is a ( 3 , 6 ) (3,6) ( 3 , 6 ) -graph. A nonedge has at most 24 common nonneighbors, since they form a ( 5 , 4 ) (5,4) ( 5 , 4 ) -graph. A triangle has at most 5 common neighbors, and an independent triple has at most 13 common nonneighbors. If r 0 r_0 r 0 counts the appropriate cell inside a six-vertex flag and χ \chi χ marks the exterior vertex, the estimator is r 0 + 78 χ r_0+78\chi r 0 + 78 χ . Subtracting the capacity produces a nonpositive row.
Degree-square equalities
The binary degree condition gives ( d v − 38 ) ( d v − 39 ) = 0 (d_v-38)(d_v-39)=0 ( d v − 38 ) ( d v − 39 ) = 0 . Condition on a five-vertex flag. If r 0 r_0 r 0 counts root neighbors inside it and a , b a,b a , b are adjacency indicators for the two exterior samples, twice an unbiased estimator is
2 ⋅ 79 ⋅ 78 a b + ( 2 r 0 − 76 ) 79 ( a + b ) + 2 ( r 0 − 38 ) ( r 0 − 39 ) . (53) 2\cdot79\cdot78ab+(2r_0-76)79(a+b)+2(r_0-38)(r_0-39). \tag*{(53)} 2 ⋅ 79 ⋅ 78 ab + ( 2 r 0 − 76 ) 79 ( a + b ) + 2 ( r 0 − 38 ) ( r 0 − 39 ) . (53)
Indeed, let m e x t m_{\mathrm{ext}} m ext be the number of exterior neighbors, so d v = r 0 + m e x t d_v=r_0+m_{\mathrm{ext}} d v = r 0 + m ext . Then E ( a + b ) = 2 m e x t / 79 \mathbb{E}(a+b)=2m_{\mathrm{ext}}/79 E ( a + b ) = 2 m ext /79 and E ( a b ) = m e x t ( m e x t − 1 ) / ( 79 ⋅ 78 ) \mathbb{E}(ab)=m_{\mathrm{ext}}(m_{\mathrm{ext}}-1)/(79\cdot78) E ( ab ) = m ext ( m ext − 1 ) / ( 79 ⋅ 78 ) . The expectation of (III.32) is
2 m e x t ( m e x t − 1 ) + 2 ( 2 r 0 − 76 ) m e x t + 2 ( r 0 − 38 ) ( r 0 − 39 ) = 2 ( d v − 38 ) ( d v − 39 ) . 2m_{\mathrm{ext}}(m_{\mathrm{ext}}-1)+2(2r_0-76)m_{\mathrm{ext}}+2(r_0-38)(r_0-39)=2(d_v-38)(d_v-39). 2 m ext ( m ext − 1 ) + 2 ( 2 r 0 − 76 ) m ext + 2 ( r 0 − 38 ) ( r 0 − 39 ) = 2 ( d v − 38 ) ( d v − 39 ) .
The rows are homogeneous equalities. Probability normalization is stored separately and is not treated as another zero-right-hand-side equation.
The builder is finite_profiles.py. The auditor audit_used_base_rows.py reconstructs the required rows by labelled injections and weighted subset counts. For degree squares it uses the equivalent expression 2 ( d 2 ) − 76 d + 1482 2\binom{d}{2}-76d+1482 2 ( 2 d ) − 76 d + 1482 , confirming the polynomial through a different expansion.
Mixed common-neighborhood cells
Let C , D ⊂ V ( X ) C,D \subset V(X) C , D ⊂ V ( X ) be disjoint vertex sets, where C C C is a clique and D D D is independent. We seek vertices adjacent to every member of C C C and nonadjacent to every member of D D D . Their set, called a mixed cell , is
C ( C , D ) = { x ∈ V ( X ) ∖ ( C ∪ D ) : x ∼ c ∀ c ∈ C , x ≁ d ∀ d ∈ D } . \mathcal{C}(C,D)=\{x\in V(X)\setminus(C\cup D):x\sim c\ \forall c\in C,\quad x\nsim d\ \forall d\in D\}. C ( C , D ) = { x ∈ V ( X ) ∖ ( C ∪ D ) : x ∼ c ∀ c ∈ C , x ≁ d ∀ d ∈ D } .
Here x ∼ c x\sim c x ∼ c means { x , c } ∈ E ( X ) \{x,c\}\in E(X) { x , c } ∈ E ( X ) , and x ≁ d x\nsim d x ≁ d means { x , d } ∉ E ( X ) \{x,d\}\notin E(X) { x , d } ∈ / E ( X ) . Write p = ∣ C ∣ p=|C| p = ∣ C ∣ and h = ∣ D ∣ h=|D| h = ∣ D ∣ , with 0 ≤ p ≤ 4 0\le p\le4 0 ≤ p ≤ 4 and 0 ≤ h ≤ 5 0\le h\le5 0 ≤ h ≤ 5 . The induced cell graph X [ C ( C , D ) ] X[\mathcal{C}(C,D)] X [ C ( C , D )] belongs to R ( 5 − p , 6 − h , ∣ C ( C , D ) ∣ ) \mathcal{R}(5-p,6-h,|\mathcal{C}(C,D)|) R ( 5 − p , 6 − h , ∣ C ( C , D ) ∣ ) . A forbidden clique inside it extends with C C C , and a forbidden independent set extends with D D D .
The sizes of these cells are bounded by small Ramsey numbers. The following table records the maximum allowed size used for each displayed pair ( p , h ) (p,h) ( p , h ) ; the indices p p p and h h h are the two root-group sizes:
Each entry is cap ( p , h ) : = R ( 5 − p , 6 − h ) − 1 \operatorname{cap}(p,h):=R(5-p,6-h)-1 cap ( p , h ) := R ( 5 − p , 6 − h ) − 1 , using standard small Ramsey numbers or the immediate formulas for a parameter 1 or 2.
For a six-vertex flag containing the root groups, let r 0 r_0 r 0 count cell vertices already in its tail. For the exterior sample z z z , set
χ ( z ) = ∏ c ∈ C a c z ∏ d ∈ D ( 1 − a d z ) . \chi(z)=\prod_{c\in C}a_{cz}\prod_{d\in D}(1-a_{dz}). χ ( z ) = c ∈ C ∏ a cz d ∈ D ∏ ( 1 − a d z ) .
The row contribution is
r 0 + 78 χ ( z ) − cap ( p , h ) . r_0+78\chi(z)-\operatorname{cap}(p,h). r 0 + 78 χ ( z ) − cap ( p , h ) .
The roots are excluded from the cell. This is especially important if C C C is empty: an independent root is nonadjacent to itself under the zero diagonal convention, so omitting the exclusion would count roots incorrectly.
The builder is mixed_cells.py; audit_used_exact_rows.py reconstructs selected rows with ordered injections and group-preserving automorphism factors. It derives the capacities from the corresponding Ramsey bounds.
Cell integrality and binary degree products
For integers c , k c,k c , k ,
( c − k ) ( c − k − 1 ) ≥ 0. (54) (c-k)(c-k-1)\ge0. \tag*{(54)} ( c − k ) ( c − k − 1 ) ≥ 0. (54)
Here c c c is the actual integer size of a mixed cell and k k k is any chosen integer threshold. Condition on a five-vertex flag containing its roots. Let r 0 r_0 r 0 count cell vertices in that flag, let u , v u,v u , v be the two distinct exterior samples, and let a = 1 u ∈ C ( C , D ) a=\mathbf{1}_{u\in\mathcal{C}(C,D)} a = 1 u ∈ C ( C , D ) , b = 1 v ∈ C ( C , D ) b=\mathbf{1}_{v\in\mathcal{C}(C,D)} b = 1 v ∈ C ( C , D ) . Twice an unbiased estimate of (III.33) is
2 ⋅ 79 ⋅ 78 a b + 2 ( r 0 − k ) 79 ( a + b ) + 2 ( r 0 − k ) ( r 0 − k − 1 ) . 2\cdot79\cdot78ab+2(r_0-k)79(a+b)+2(r_0-k)(r_0-k-1). 2 ⋅ 79 ⋅ 78 ab + 2 ( r 0 − k ) 79 ( a + b ) + 2 ( r 0 − k ) ( r 0 − k − 1 ) .
The stored row is its negative, since every global inequality uses the nonpositive convention. The final certificate uses 131 rows of this type.
The auditor constructs estimates of c c c and ( c 2 ) \binom{c}{2} ( 2 c ) by counting subsets and then applies
( c − k ) ( c − k − 1 ) = 2 ( c 2 ) − 2 k c + k ( k + 1 ) . (c-k)(c-k-1)=2\binom{c}{2}-2kc+k(k+1). ( c − k ) ( c − k − 1 ) = 2 ( 2 c ) − 2 k c + k ( k + 1 ) .
This checks the expanded formula and its sample factors without reusing the original expansion.
Products of degrees
Put ε v = d v − 38 ∈ { 0 , 1 } \varepsilon_v=d_v-38\in\{0,1\} ε v = d v − 38 ∈ { 0 , 1 } . For two ordered roots x , y x,y x , y , the three quantities
ε x ε y , ( 1 − ε x ) ( 1 − ε y ) , ε x ( 1 − ε y ) \varepsilon_x\varepsilon_y,\qquad(1-\varepsilon_x)(1-\varepsilon_y),\qquad\varepsilon_x(1-\varepsilon_y) ε x ε y , ( 1 − ε x ) ( 1 − ε y ) , ε x ( 1 − ε y )
are nonnegative. Reversing the root order supplies the complementary mixed product.
Condition on a five-vertex flag containing the two ordered roots x , y x,y x , y . Let u , v u,v u , v be the two distinct exterior sample vertices. Put r x = ∣ N X ( x ) ∩ W ∣ r_x=|N_X(x)\cap W| r x = ∣ N X ( x ) ∩ W ∣ and r y = ∣ N X ( y ) ∩ W ∣ r_y=|N_X(y)\cap W| r y = ∣ N X ( y ) ∩ W ∣ , where W W W is the flag vertex set, and define x u = a x u x_u=a_{xu} x u = a xu , x v = a x v x_v=a_{xv} x v = a xv , y u = a y u y_u=a_{yu} y u = a y u , y v = a y v y_v=a_{yv} y v = a y v . Twice the degree estimates are
D x = 2 r x + 79 ( x u + x v ) , D y = 2 r y + 79 ( y u + y v ) . D_x=2r_x+79(x_u+x_v),\qquad D_y=2r_y+79(y_u+y_v). D x = 2 r x + 79 ( x u + x v ) , D y = 2 r y + 79 ( y u + y v ) .
Twice an unbiased estimate of d x d y d_xd_y d x d y is
P x y = 2 r x r y + 79 ( r x ( y u + y v ) + r y ( x u + x v ) ) + 79 ( x u y u + x v y v ) + 79 ⋅ 78 ( x u y v + x v y u ) . (55) \begin{aligned}
P_{xy}={}&2r_xr_y+79\bigl(r_x(y_u+y_v)+r_y(x_u+x_v)\bigr)\\
&+79(x_uy_u+x_vy_v)+79\cdot78(x_uy_v+x_vy_u). \tag*{(55)}
\end{aligned} P x y = 2 r x r y + 79 ( r x ( y u + y v ) + r y ( x u + x v ) ) + 79 ( x u y u + x v y v ) + 79 ⋅ 78 ( x u y v + x v y u ) . (55)
The terms in which the same sample serves both degrees have coefficient 79 79 79 , not 79 ⋅ 78 79\cdot78 79 ⋅ 78 .
Define H x = D x − 76 H_x=D_x-76 H x = D x − 76 , H y = D y − 76 H_y=D_y-76 H y = D y − 76 , and
H x y = P x y − 38 ( D x + D y ) + 2 ⋅ 38 2 . H_{xy}=P_{xy}-38(D_x+D_y)+2\cdot38^2. H x y = P x y − 38 ( D x + D y ) + 2 ⋅ 3 8 2 .
Twice the three nonnegative products are estimated by H x y H_{xy} H x y , 2 − H x − H y + H x y 2-H_x-H_y+H_{xy} 2 − H x − H y + H x y , and H x − H x y H_x-H_{xy} H x − H x y . Their negatives give the stored rows; 69 occur in the final sum. The independent auditor enumerates ordered neighbor pairs, permits coincident positions, and chooses weights by the number of distinct exterior vertices.
Edge and profile inequalities inside cells
Let Y Y Y be the induced graph X [ C ( C , D ) ] X[C(C,D)] X [ C ( C , D )] when edges of X X X are being counted, and let Y = X ‾ [ C ( C , D ) ] Y=\overline{X}[C(C,D)] Y = X [ C ( C , D )] when nonedges are being counted. We call these the red and blue cases, respectively. Suppose rational constants α , β \alpha,\beta α , β give a valid support e ( Y ) ≥ α ∣ Y ∣ + β e(Y)\ge\alpha|Y|+\beta e ( Y ) ≥ α ∣ Y ∣ + β for the relevant family.
Condition on a five-vertex flag with vertex set W W W containing the roots. Put I = C ( C , D ) ∩ W I=C(C,D)\cap W I = C ( C , D ) ∩ W , r 0 = ∣ I ∣ r_0=|I| r 0 = ∣ I ∣ , and let e I e_I e I count pairs from I I I that are edges in the selected color. For exterior vertices u , v u,v u , v , let χ u , χ v \chi_u,\chi_v χ u , χ v be cell indicators and
z u = χ u ∑ w ∈ I ϵ u w , z v = χ v ∑ w ∈ I ϵ v w , z_u=\chi_u\sum_{w\in I}\epsilon_{uw},\qquad z_v=\chi_v\sum_{w\in I}\epsilon_{vw}, z u = χ u w ∈ I ∑ ϵ u w , z v = χ v w ∈ I ∑ ϵ v w ,
where, for distinct u , w u,w u , w , ϵ u w = a u w \epsilon_{uw}=a_{uw} ϵ u w = a u w in red and ϵ u w = 1 − a u w \epsilon_{uw}=1-a_{uw} ϵ u w = 1 − a u w in blue. The indicators are χ u = 1 u ∈ C ( C , D ) \chi_u=1_{u\in C(C,D)} χ u = 1 u ∈ C ( C , D ) and χ v = 1 v ∈ C ( C , D ) \chi_v=1_{v\in C(C,D)} χ v = 1 v ∈ C ( C , D ) . The following C 2 C_2 C 2 and E 2 E_2 E 2 are twice unbiased estimates of ∣ Y ∣ |Y| ∣ Y ∣ and e ( Y ) e(Y) e ( Y ) , respectively:
C 2 = 2 r 0 + 79 ( χ u + χ v ) , (56) C_2=2r_0+79(\chi_u+\chi_v), \tag*{(56)} C 2 = 2 r 0 + 79 ( χ u + χ v ) , (56)
E 2 = 2 e I + 79 ( z u + z v ) + 79 ⋅ 78 χ u χ v ϵ u v . (57) E_2=2e_I+79(z_u+z_v)+79\cdot78\chi_u\chi_v\epsilon_{uv}. \tag*{(57)} E 2 = 2 e I + 79 ( z u + z v ) + 79 ⋅ 78 χ u χ v ϵ uv . (57)
The expression α C 2 + 2 β − E 2 \alpha C_2+2\beta-E_2 α C 2 + 2 β − E 2 has average 2 ( α ∣ Y ∣ + β − e ( Y ) ) ≤ 0 2(\alpha|Y|+\beta-e(Y))\le0 2 ( α ∣ Y ∣ + β − e ( Y )) ≤ 0 , so summing it over flag placements produces a valid global inequality. In E 2 E_2 E 2 , the term 2 e I 2e_I 2 e I counts edges already inside the fixed flag; 79 ( z u + z v ) 79(z_u+z_v) 79 ( z u + z v ) accounts for edges with one endpoint outside it; and the final term accounts for edges with both endpoints outside it. These three cases explain every sampling factor in the formula.
The final sum uses two rows from cell_edge_cuts.py. The auditor checks that these selected supports concern the ( 4 , 4 ) (4,4) ( 4 , 4 ) family and verifies them on every supplied profile point. These two selected rows are the cell-edge supports used in the final weighted sum.
Full cell profiles
Let A ⊆ Q 4 \mathcal{A} \subseteq\mathbb{Q}^{4} A ⊆ Q 4 be a finite set whose convex hull contains the profile ( ∣ Y ∣ , e ( Y ) , t ( Y ) , q ( Y ) ) (|Y|,e(Y),t(Y),q(Y)) ( ∣ Y ∣ , e ( Y ) , t ( Y ) , q ( Y )) of every graph Y Y Y in the cell family under consideration. Write ( c , e , t , q ) (c,e,t,q) ( c , e , t , q ) for coordinates in this four-dimensional space; thus c c c is the order of the cell graph. If fixed rational coefficients γ c , γ e , γ t , γ q , γ 0 \gamma_c,\gamma_e,\gamma_t,\gamma_q,\gamma_0 γ c , γ e , γ t , γ q , γ 0 satisfy
γ c c + γ e e + γ t t + γ q q + γ 0 ≤ 0 \gamma_c c+\gamma_e e+\gamma_t t+\gamma_q q+\gamma_0\leq0 γ c c + γ e e + γ t t + γ q q + γ 0 ≤ 0
for every ( c , e , t , q ) ∈ A (c,e,t,q)\in\mathcal{A} ( c , e , t , q ) ∈ A , then the inequality holds on conv ( A ) \operatorname{conv}(\mathcal{A}) conv ( A ) and hence on every actual cell profile. The points in A \mathcal{A} A need not all be actual profiles. The saved integer normals are checked on every point. Any collection of valid supporting inequalities gives a containing region for the profiles.
The general cell-profile builder uses the following types:
Table 11.
The blue profiles are those of the complement of the induced cell graph.
Condition on a four-vertex flag and use three exterior samples. Multiplying by 6 gives integer weights
6 ( 80 m ) ( 3 m ) = 6 , 160 , 6320 , 492960 ( m = 0 , 1 , 2 , 3 ) . (58) 6\frac{\binom{80}{m}}{\binom{3}{m}}=6,160,6320,492960 \qquad(m=0,1,2,3). \tag*{(58)} 6 ( m 3 ) ( m 80 ) = 6 , 160 , 6320 , 492960 ( m = 0 , 1 , 2 , 3 ) . (58)
For each coordinate, enumerate the corresponding subsets of the cell visible in the seven-set: single vertices for c c c , edges for e e e , and three-sets with their triangle or q q q contribution. Give a subset with m m m vertices outside the flag the corresponding weight in (III.37); give the constant coordinate weight 6. The resulting five-component vector estimates 6 ( c , e , t , q , 1 ) 6(c,e,t,q,1) 6 ( c , e , t , q , 1 ) without bias. A three-set contributes 1 to t t t if it is a triangle, and contributes 1 or 2 to q q q if it is an induced path or triangle, respectively. Its scalar product with ( γ c , γ e , γ t , γ q , γ 0 ) (\gamma_c,\gamma_e,\gamma_t,\gamma_q,\gamma_0) ( γ c , γ e , γ t , γ q , γ 0 ) estimates six times the valid inequality. Summing over flag placements as in (III.31) gives the row.
Small-order outer sets
The ( 3 , 5 ) (3,5) ( 3 , 5 ) and ( 4 , 4 ) (4,4) ( 4 , 4 ) point sets are built from supplied complete catalogues, together with directly enumerable lower orders. The ( 3 , 4 ) (3,4) ( 3 , 4 ) set is extracted by filtering the relevant ( 3 , 5 ) (3,5) ( 3 , 5 ) graphs. For ( 3 , 6 ) (3,6) ( 3 , 6 ) below order 13, the builder uses the following explicit outer regions. For 1 ≤ c ≤ 12 1\leq c\leq12 1 ≤ c ≤ 12 , each integer edge count satisfies
ℓ ( c ) ≤ e ≤ min { ⌊ 5 c 2 ⌋ , ⌊ c 2 4 ⌋ } , ℓ ( c ) = { 0 c ≤ 5 , c − 5 6 ≤ c ≤ 10 , 3 c − 25 11 ≤ c ≤ 12. \ell(c)\leq e\leq\min\left\{\left\lfloor\frac{5c}{2}\right\rfloor,\left\lfloor\frac{c^{2}}{4}\right\rfloor\right\},\qquad
\ell(c)=
\begin{cases}
0 & c\leq5,\\
c-5 & 6\leq c\leq10,\\
3c-25 & 11\leq c\leq12.
\end{cases} ℓ ( c ) ≤ e ≤ min { ⌊ 2 5 c ⌋ , ⌊ 4 c 2 ⌋ } , ℓ ( c ) = ⎩ ⎨ ⎧ 0 c − 5 3 c − 25 c ≤ 5 , 6 ≤ c ≤ 10 , 11 ≤ c ≤ 12.
The lower bounds are the k = 5 k=5 k = 5 cases of [III.5, Theorem 2]; this is an additional established mathematical input. A neighborhood in a triangle-free graph is independent, so the independence restriction gives maximum degree 5; handshaking gives the first upper bound. Mantel’s theorem gives the second upper bound. At order zero, the single profile is ( 0 , 0 , 0 , 0 ) (0,0,0,0) ( 0 , 0 , 0 , 0 ) .
Triangle-freeness gives t = 0 t=0 t = 0 and q = w q=w q = w . For c ≥ 1 c\geq1 c ≥ 1 , define the Euclidean quotients and remainders by 2 e = c k + r 0 2e=ck+r_0 2 e = c k + r 0 with 0 ≤ r 0 < c 0\leq r_0<c 0 ≤ r 0 < c , and 2 e = 5 s 0 + r 1 2e=5s_0+r_1 2 e = 5 s 0 + r 1 with 0 ≤ r 1 < 5 0\leq r_1<5 0 ≤ r 1 < 5 . Then convexity of ( d 2 ) \binom{d}{2} ( 2 d ) on integer degrees gives
c ( k 2 ) + r 0 k ≤ q ≤ 10 s 0 + ( r 1 2 ) . c\binom{k}{2}+r_0k\leq q\leq10s_0+\binom{r_1}{2}. c ( 2 k ) + r 0 k ≤ q ≤ 10 s 0 + ( 2 r 1 ) .
The lower bound balances the degrees as evenly as possible; the upper bound fills degrees to 5 before using a remainder. Graphicality is not assumed for these extremizing degree lists, so the interval is safely an outer bound. The builder adds both endpoints at each ( c , e ) (c,e) ( c , e ) and takes their hull. This constructs the containing region from degree bounds at these lower orders.
The packaged bridge audit regenerates the point arrays and links the saved arrays to these rules. The regenerated arrays therefore connect the checked facet coefficients to the stated catalogue and degree bounds.
Restricted edge cores and critical order 17
For an edge u v uv uv , its common neighborhood has at most 17 vertices. It has at least 13, since the neighbors of u u u other than v v v that are not adjacent to v v v form a ( 4 , 5 ) (4,5) ( 4 , 5 ) -graph and hence number at most 24:
∣ N ( u ) ∩ N ( v ) ∣ ≥ d u − 1 − 24 ≥ 13. \lvert N(u) \cap N(v) \rvert\ge d_u - 1 - 24 \ge13. ∣ N ( u ) ∩ N ( v )∣ ≥ d u − 1 − 24 ≥ 13.
If d u = 39 d_u = 39 d u = 39 , this improves to 14. Thus complete ( 3 , 6 ) (3,6) ( 3 , 6 ) catalogues of orders 13 through 17 suffice for the edge core. Restricted profile hulls from these catalogues are stronger than a hull allowing all smaller orders. Nine such lifted rows occur in the final sum.
The files are restricted_edge_core_points.npy, restricted_edge_core_facets.json, and restricted_edge_core_profile_cuts.npz. The auditor verifies facets on points and reconstructs the lifts. It additionally checks degree_core_defect_cuts.npz, although none of those rows has a nonzero final weight.
A cubic inequality from the seven critical graphs
The seven graphs in R ( 3 , 6 , 17 ) \mathcal{R}(3,6,17) R ( 3 , 6 , 17 ) have every degree in { 4 , 5 } \{4,5\} { 4 , 5 } . For a triangle u v w uvw uv w with distinguished edge u v uv uv , define
c = ∣ N ( u ) ∩ N ( v ) ∣ , τ = ∣ N ( u ) ∩ N ( v ) ∩ N ( w ) ∣ . c = \lvert N(u) \cap N(v) \rvert,\qquad\tau= \lvert N(u) \cap N(v) \cap N(w) \rvert. c = ∣ N ( u ) ∩ N ( v )∣ , τ = ∣ N ( u ) ∩ N ( v ) ∩ N ( w )∣ .
If c = 17 c = 17 c = 17 , then τ \tau τ is the degree of w w w in the critical edge core and belongs to { 4 , 5 } \{4,5\} { 4 , 5 } . If c ≤ 16 c \le16 c ≤ 16 , both 16 − c 16-c 16 − c and the integer polynomial ( τ − 4 ) ( τ − 5 ) (\tau-4)(\tau-5) ( τ − 4 ) ( τ − 5 ) are nonnegative. Hence
( 16 − c ) ( τ − 4 ) ( τ − 5 ) ≥ 0. (59) (16-c)(\tau-4)(\tau-5) \ge0. \tag*{(59)} ( 16 − c ) ( τ − 4 ) ( τ − 5 ) ≥ 0. (59)
The related linear inequality τ ≥ 2 c − 30 \tau\ge2c-30 τ ≥ 2 c − 30 follows from τ ≥ 0 \tau\ge0 τ ≥ 0 when c ≤ 15 c \le15 c ≤ 15 . When c = 16 c = 16 c = 16 , consider the nonneighbors of w w w inside the edge core. They form a ( 3 , 5 ) (3,5) ( 3 , 5 ) -graph, so there are at most 13 of them; hence 16 − 1 − τ ≤ 13 16-1-\tau\le13 16 − 1 − τ ≤ 13 and τ ≥ 2 \tau\ge2 τ ≥ 2 . When c = 17 c = 17 c = 17 , the catalogue gives τ ≥ 4 \tau\ge4 τ ≥ 4 . The four selected critical-core rows are cubic.
Condition on a four-vertex flag with vertex set W W W containing u u u , v v v , w w w . Let O = V ( X ) ∖ W O = V(X) \setminus W O = V ( X ) ∖ W , and define
c 0 = ∣ W ∩ N ( u ) ∩ N ( v ) ∣ , τ 0 = ∣ W ∩ N ( u ) ∩ N ( v ) ∩ N ( w ) ∣ . c_0 = \lvert W \cap N(u) \cap N(v) \rvert,\qquad\tau_0 = \lvert W \cap N(u) \cap N(v) \cap N(w) \rvert. c 0 = ∣ W ∩ N ( u ) ∩ N ( v )∣ , τ 0 = ∣ W ∩ N ( u ) ∩ N ( v ) ∩ N ( w )∣ .
For i ∈ O i \in O i ∈ O , set p i = 1 i ∈ N ( u ) ∩ N ( v ) p_i = 1_{i \in N(u) \cap N(v)} p i = 1 i ∈ N ( u ) ∩ N ( v ) and q i = 1 i ∈ N ( u ) ∩ N ( v ) ∩ N ( w ) q_i = 1_{i \in N(u) \cap N(v) \cap N(w)} q i = 1 i ∈ N ( u ) ∩ N ( v ) ∩ N ( w ) . Put P = ∑ i ∈ O p i P = \sum_{i \in O} p_i P = ∑ i ∈ O p i and Q = ∑ i ∈ O q i Q = \sum_{i \in O} q_i Q = ∑ i ∈ O q i , so c = c 0 + P c = c_0 + P c = c 0 + P , τ = τ 0 + Q \tau= \tau_0 + Q τ = τ 0 + Q , and q i ≤ p i q_i \le p_i q i ≤ p i . Every index in the following sums ranges over O O O ; pairs and triples are ordered and obey the displayed distinctness conditions. The overlap expansions are
Q 2 = Q + ∑ i ≠ j q i q j , P Q = Q + ∑ i ≠ j p i q j , Q^2 = Q + \sum_{i \ne j} q_i q_j,\qquad
PQ = Q + \sum_{i \ne j} p_i q_j, Q 2 = Q + i = j ∑ q i q j , P Q = Q + i = j ∑ p i q j ,
P Q 2 = Q + ∑ i ≠ j p i q j + 2 ∑ i ≠ j q i q j + ∑ i , j , k d i s t i n c t p i q j q k . PQ^2 = Q + \sum_{i \ne j} p_i q_j + 2\sum_{i \ne j} q_i q_j + \sum_{i,j,k\ \mathrm{distinct}} p_i q_j q_k. P Q 2 = Q + i = j ∑ p i q j + 2 i = j ∑ q i q j + i , j , k distinct ∑ p i q j q k .
They separate all-equal, one-pair-equal, and all-distinct tuples. Assigning weights from (III.37) gives the exact cubic estimator. The auditor evaluates ordered products directly, including coincidences, to check the original expanded formula independently.
Lifting the four local edge bounds and five facets
At degrees 38 and 39, the local edge bounds are equivalent to
e ( A v ) ≤ 10 d v − 66 , e ( B v ) ≥ 1524 − 28 d v . e(A_v) \le10d_v - 66,\qquad e(B_v) \ge1524 - 28d_v. e ( A v ) ≤ 10 d v − 66 , e ( B v ) ≥ 1524 − 28 d v .
For a five-vertex flag rooted at v v v , let r 0 r_0 r 0 count neighbors in the flag and let x , y x,y x , y be exterior samples. Put
D 2 = 2 r 0 + 79 ( a v x + a v y ) . D_2 = 2r_0 + 79(a_{vx} + a_{vy}). D 2 = 2 r 0 + 79 ( a v x + a v y ) .
Using the preceding edge estimator for either cell, the lifted rows are
E 2 ( A v ) − 10 D 2 + 132 , − E 2 ( B v ) − 28 D 2 + 3048. E_2(A_v) - 10D_2 + 132,\qquad-E_2(B_v) - 28D_2 + 3048. E 2 ( A v ) − 10 D 2 + 132 , − E 2 ( B v ) − 28 D 2 + 3048.
The underlying bounds are established by local dual certificates; this construction establishes their finite averaged coefficients.
For a full local facet, choose Y = A v Y=A_v Y = A v or Y = B v Y=B_v Y = B v as specified by that facet. Condition on a four-vertex flag rooted at v v v and take three exterior samples. Define its five-component feature vector by the same weighted subset procedure, counting the root’s neighbors for the degree coordinate and subsets of Y Y Y for the remaining graph statistics. It is three times an unbiased estimate of
( 1 , d v , e ( Y ) , t ( Y ) , q ( Y ) ) . (1,d_v,e(Y),t(Y),q(Y)). ( 1 , d v , e ( Y ) , t ( Y ) , q ( Y )) .
The integer sampling factors are
3 ( 80 3 ) ( m m ) = 3 , 80 , 3160 , 246480. 3\binom{80}{3}\binom{m}{m}=3,80,3160,246480. 3 ( 3 80 ) ( m m ) = 3 , 80 , 3160 , 246480.
The same degree coordinate d v d_v d v is used for both Y = A v Y=A_v Y = A v and Y = B v Y=B_v Y = B v . The feature array local_profile_features.npy is contracted with coefficient vector ( γ 0 , γ d , γ e , γ t , γ q ) (\gamma_0,\gamma_d,\gamma_e,\gamma_t,\gamma_q) ( γ 0 , γ d , γ e , γ t , γ q ) . The exact matrix builder performs the contraction in integer arithmetic. The packaged bridge audit checks that the five used coefficient tuples agree with the certified facet metadata.
The feature auditor reconstructs the array through the general cell estimator at scale 6, checks divisibility by 2, and compares with the scale-3 array. For the nonneighborhood case, it still uses the red root-degree coordinate and only changes the edge, triangle, and q q q cell coordinates. Thus its degree feature represents d v d_v d v on both sides.
The exact finite Gram identity
The preceding sections obtained inequalities from degrees, cell sizes, and local profiles. We now add inequalities of another elementary kind: the square of any real expression is nonnegative. The expressions to be squared are linear combinations of counts of small configurations extending fixed roots. Expanding a square introduces pairs of such configurations. Their union has at most seven vertices, so its contribution can be expressed in the seven-vertex probabilities.
The matrices below organize this expansion. A Gram matrix here is a sum of matrices f f T ff^T f f T formed from count vectors f f f . For a real coefficient vector z z z , the corresponding quadratic expression is a sum of squares ( z T f ) 2 (z^T f)^2 ( z T f ) 2 and is nonnegative. The following counting identity expresses the averaged matrix in this form. Fix nonnegative integers ℓ , k \ell,k ℓ , k with ℓ + 2 k ≤ 7 \ell+2k\le7 ℓ + 2 k ≤ 7 . A root type σ \sigma σ is a graph on the ordered vertex set { 1 , … , ℓ } \{1,\ldots,\ell\} { 1 , … , ℓ } . Let F σ , k \mathcal{F}_{\sigma,k} F σ , k be the finite set of isomorphism classes of graphs on ℓ + k \ell+k ℓ + k vertices that have neither K 5 K_5 K 5 nor an independent six-set, and whose first ℓ \ell ℓ distinguished ordered vertices induce σ \sigma σ . Isomorphisms fix every distinguished root and may permute the k k k remaining vertices. Fix the saved ordering of these classes, with indices i ∈ { 1 , … , m σ , k } i\in\{1,\ldots,m_{\sigma,k}\} i ∈ { 1 , … , m σ , k } , where m σ , k = ∣ F σ , k ∣ m_{\sigma,k}=|\mathcal{F}_{\sigma,k}| m σ , k = ∣ F σ , k ∣ .
For an ordered tuple ρ = ( v 1 , … , v ℓ ) \rho=(v_1,\ldots,v_\ell) ρ = ( v 1 , … , v ℓ ) of distinct vertices in a graph Y Y Y with neither K 5 K_5 K 5 nor an independent six-set, let V ( ρ ) = { v 1 , … , v ℓ } V(\rho)=\{v_1,\ldots,v_\ell\} V ( ρ ) = { v 1 , … , v ℓ } . The notation Y [ ρ ] = σ Y[\rho]=\sigma Y [ ρ ] = σ means that v i ↦ i v_i\mapsto i v i ↦ i identifies the root adjacencies with σ \sigma σ . For S ∈ ( V ( Y ) ∖ V ( ρ ) k ) S\in\binom{V(Y)\setminus V(\rho)}{k} S ∈ ( k V ( Y ) ∖ V ( ρ ) ) , write type Y ( ρ , S ) \operatorname{type}_Y(\rho,S) type Y ( ρ , S ) for the index in F σ , k \mathcal{F}_{\sigma,k} F σ , k of the induced graph on V ( ρ ) ∪ S V(\rho)\cup S V ( ρ ) ∪ S with this ordered root tuple. For each such ρ \rho ρ in X X X , define
f i ( ρ ) = ∣ { S ∈ ( V ( X ) ∖ V ( ρ ) k ) : type X ( ρ , S ) = i } ∣ , f ( ρ ) = ( f 1 ( ρ ) , … , f m σ , k ( ρ ) ) T . f_i(\rho)=\left|\left\{S\in\binom{V(X)\setminus V(\rho)}{k}:\operatorname{type}_X(\rho,S)=i\right\}\right|,
\qquad
f(\rho)=\left(f_1(\rho),\ldots,f_{m_{\sigma,k}}(\rho)\right)^T. f i ( ρ ) = { S ∈ ( k V ( X ) ∖ V ( ρ ) ) : type X ( ρ , S ) = i } , f ( ρ ) = ( f 1 ( ρ ) , … , f m σ , k ( ρ ) ) T .
For a fixed root tuple, f i ( ρ ) f_i(\rho) f i ( ρ ) counts the ways to choose k k k additional vertices of type i i i . Consequently, f i ( ρ ) f j ( ρ ) f_i(\rho)f_j(\rho) f i ( ρ ) f j ( ρ ) counts ordered pairs of choices of types i i i and j j j , including choices that share additional vertices. Gathering these products into a matrix and summing over root tuples gives
∑ ρ : X [ ρ ] = σ f ( ρ ) f ( ρ ) T ⪰ 0 , \sum_{\rho:X[\rho]=\sigma}f(\rho)f(\rho)^T\succeq0, ρ : X [ ρ ] = σ ∑ f ( ρ ) f ( ρ ) T ⪰ 0 ,
because for every real vector z z z its contraction is a sum of squares
∑ ρ : X [ ρ ] = σ ( ∑ i z i f i ( ρ ) ) 2 ≥ 0. \sum_{\rho:X[\rho]=\sigma}\left(\sum_i z_i f_i(\rho)\right)^2\ge0. ρ : X [ ρ ] = σ ∑ ( i ∑ z i f i ( ρ ) ) 2 ≥ 0.
To express this on seven-vertex graphs, consider roots and an ordered pair of unordered extension sets S , T S,T S , T . Their union with the roots has ℓ + ∣ S ∪ T ∣ \ell+|S\cup T| ℓ + ∣ S ∪ T ∣ vertices. It occurs in exactly
( 84 − ℓ − ∣ S ∪ T ∣ 7 − ℓ − ∣ S ∪ T ∣ ) \binom{84-\ell-|S\cup T|}{7-\ell-|S\cup T|} ( 7 − ℓ − ∣ S ∪ T ∣ 84 − ℓ − ∣ S ∪ T ∣ )
seven-sets. Give it the reciprocal of this number as weight. For a representative H ∈ H H\in\mathcal{H} H ∈ H , let D H D_H D H consist of all triples ( ρ , S , T ) (\rho,S,T) ( ρ , S , T ) such that ρ \rho ρ is an ordered ℓ \ell ℓ -tuple of distinct vertices of H H H inducing σ \sigma σ , and S , T ∈ ( V ( H ) ∖ V ( ρ ) k ) S,T\in\binom{V(H)\setminus V(\rho)}{k} S , T ∈ ( k V ( H ) ∖ V ( ρ ) ) . The pair ( S , T ) (S,T) ( S , T ) is ordered, and S ∩ T S\cap T S ∩ T may have any size from 0 0 0 to k k k . Define the symmetric m σ , k × m σ , k m_{\sigma,k}\times m_{\sigma,k} m σ , k × m σ , k matrix
M H ( i , j ) = ∑ ( ρ , S , T ) ∈ D H 1 type H ( ρ , S ) = i 1 type H ( ρ , T ) = j ( 84 − ℓ − ∣ S ∪ T ∣ 7 − ℓ − ∣ S ∪ T ∣ ) . (60) M_H(i,j)=\sum_{(\rho,S,T)\in D_H}\frac{\mathbf{1}_{\operatorname{type}_H(\rho,S)=i}\mathbf{1}_{\operatorname{type}_H(\rho,T)=j}}{\binom{84-\ell-|S\cup T|}{7-\ell-|S\cup T|}}. \tag*{(60)} M H ( i , j ) = ( ρ , S , T ) ∈ D H ∑ ( 7 − ℓ − ∣ S ∪ T ∣ 84 − ℓ − ∣ S ∪ T ∣ ) 1 type H ( ρ , S ) = i 1 type H ( ρ , T ) = j . (60)
The denominator is positive because ℓ + ∣ S ∪ T ∣ ≤ 7 \ell+|S\cup T|\le7 ℓ + ∣ S ∪ T ∣ ≤ 7 . This definition applies to any allowed seven-vertex graph and is invariant under relabelling, so M X [ W ] M_{X[W]} M X [ W ] denotes the same matrix as the isomorphic representative in H \mathcal{H} H . Summing over all seven-sets of X X X counts each global pair exactly once:
∑ W ∈ ( V ( X ) 7 ) M X [ W ] = ∑ ρ : X [ ρ ] = σ f ( ρ ) f ( ρ ) T . \sum_{W\in\binom{V(X)}{7}}M_{X[W]}=\sum_{\rho:X[\rho]=\sigma}f(\rho)f(\rho)^T. W ∈ ( 7 V ( X ) ) ∑ M X [ W ] = ρ : X [ ρ ] = σ ∑ f ( ρ ) f ( ρ ) T .
Dividing by ( 84 7 ) \binom{84}{7} ( 7 84 ) proves
∑ H p H M H ⪰ 0. (61) \sum_H p_HM_H\succeq0. \tag*{(61)} H ∑ p H M H ⪰ 0. (61)
All overlap sizes, including S = T S=T S = T , occur in the product of the two configuration counts and hence in (III.40).
Individual matrices M H M_H M H need not be positive semidefinite. The statement is about their average under a distribution arising from an 84-vertex graph. This is why a small graph can have a positive coefficient in a row whose global average is necessarily nonpositive.
Integer blocks, square vectors, and overflow checks
A block is the matrix family belonging to one fixed choice of root type σ \sigma σ and extension size k k k . We use ( ℓ , k ) = ( 0 , 3 ) , ( 1 , 3 ) , ( 2 , 2 ) , ( 3 , 2 ) (\ell,k)=(0,3),(1,3),(2,2),(3,2) ( ℓ , k ) = ( 0 , 3 ) , ( 1 , 3 ) , ( 2 , 2 ) , ( 3 , 2 ) . There is one root type at each of orders 0 and 1, two at order 2 (an edge and a nonedge), and four at order 3 (zero, one, two, or three edges). Thus there are 1 + 1 + 2 + 4 = 8 1+1+2+4=8 1 + 1 + 2 + 4 = 8 blocks. The dimensions in the table count the possible rooted extension types, so matrices from different blocks need not have the same size. Clearing denominators in (III.39) gives I H = L M H I_H=LM_H I H = L M H with integer entries:
Table 1 (PDF p. 68).
Here the dimension is m σ , k m_{\sigma,k} m σ , k , and L L L is the least common multiple of the overlap denominators for the indicated block; its value depends on ( ℓ , k ) (\ell,k) ( ℓ , k ) . In the saved block names, the field r r r records the root order ℓ \ell ℓ . For each saved integer vector z ∈ Z m σ , k z\in\mathbb{Z}^{m_{\sigma,k}} z ∈ Z m σ , k belonging to this block, the row
Q z ( H ) = − z T I H z Q_z(H)=-z^T I_H z Q z ( H ) = − z T I H z
has nonpositive average by (III.40). Its entries can have either sign.
The file rational_psd_vectors.json stores block names, integer vectors, and positive normalization denominators. The file rational_psd_numerators.npy stores their rows. There are 448 saved vectors and 194 used vectors. The used vectors have 11048 nonzero entries in total.
The program rebuild_integer_moments.py enumerates ordered roots and every ordered pair of extension subsets, assigns rooted type indices from moment_keys.json, and adds the integer overlap weight. In check-only mode it compares the result with moment_integer_verified.npz.
One independent replay uses arbitrary-precision Python integers for every contraction. Another uses fixed-width arrays only after checking a sufficient bound. If entries of I H I_H I H are nonnegative and at most B B B , then
∣ z T I H z ∣ ≤ B ( ∑ i ∣ z i ∣ ) 2 . \lvert z^T I_H z\rvert\le B\left(\sum_i\lvert z_i\rvert\right)^2. ∣ z T I H z ∣ ≤ B ( i ∑ ∣ z i ∣ ) 2 .
The latter quantity must be below 2 63 2^{63} 2 63 before signed 64-bit arithmetic is used. The final separation accumulation also uses exact integers. Both implementations evaluate the contractions in the Gram identity.
Row normalization and exact source linkage
At this stage each valid inequality has been converted into a list of 979 rational coefficients, one for each seven-vertex type H H H . We call such a list a row . Its statement is that the weighted average of its entries, with weights p H p_H p H , is nonpositive. A homogeneous equality row instead has weighted average zero. The word “homogeneous” means that the right-hand side is zero. Probability normalization has right-hand side one, so it must be kept separate.
The numerical files collect these rows in matrices. This section specifies their ordering and scales so that a reader can match the previously justified formulas to the precise rows multiplied by the final certificate. Use the fixed ordering of the 979 representatives H ∈ H H\in\mathcal{H} H ∈ H as column indices. The file exact_linear_model.npz stores an integer matrix U U U with 4876 rows and an integer matrix E E E with 90 rows, together with positive integer denominator vectors U d e n U_{\mathrm{den}} U den and E d e n E_{\mathrm{den}} E den . The indices in the data files are zero-based: i ∈ { 0 , … , 4875 } i \in\{0,\ldots,4875\} i ∈ { 0 , … , 4875 } for U U U and j ∈ { 0 , … , 89 } j \in\{0,\ldots,89\} j ∈ { 0 , … , 89 } for E E E . In each case the denominator is the maximum absolute entry in that row, with denominator 1 for a zero row. Positive scaling preserves a homogeneous equality or a nonpositive inequality.
The first 89 rows of E E E are homogeneous degree-square equalities. The last row, indexed by 89, is all ones with denominator 1 and expresses probability normalization, with right-hand side 1. Define the normalized homogeneous row functions only for j < 89 j<89 j < 89 by
E j ( H ) = E j H E d e n , j ( 0 ≤ j < 89 ) . E_j(H)=\frac{E_{jH}}{E_{\mathrm{den},j}}\qquad(0\leq j<89). E j ( H ) = E den , j E j H ( 0 ≤ j < 89 ) .
The square data contain 448 ordered entries. For square index a ∈ { 0 , … , 447 } a\in\{0,\ldots,447\} a ∈ { 0 , … , 447 } , let z a z_a z a be its saved integer vector, let Q a ( H ) = − z a T I H z a Q_a(H)=-z_a^{T}I_Hz_a Q a ( H ) = − z a T I H z a use its specified block, and let d a > 0 d_a>0 d a > 0 be its saved normalization denominator. This denominator is verified to equal max H ∣ Q a ( H ) ∣ \max_H\lvert Q_a(H)\rvert max H ∣ Q a ( H )∣ . Define all normalized inequality rows by
U i ( H ) = { U i H / U d e n , i , 0 ≤ i < 4876 , Q i − 4876 ( H ) / d i − 4876 , 4876 ≤ i < 5324. U_i(H)=
\begin{cases}
U_{iH}/U_{\mathrm{den},i}, & 0\leq i<4876,\\
Q_{i-4876}(H)/d_{i-4876}, & 4876\leq i<5324.
\end{cases} U i ( H ) = { U i H / U den , i , Q i − 4876 ( H ) / d i − 4876 , 0 ≤ i < 4876 , 4876 ≤ i < 5324.
The necessary global constraints, in addition to p H ≥ 0 p_H\geq0 p H ≥ 0 and ∑ H p H = 1 \sum_{H}p_H=1 ∑ H p H = 1 , are precisely
∑ H ∈ H U i ( H ) p H ≤ 0 ( 0 ≤ i < 5324 ) , ∑ H ∈ H E j ( H ) p H = 0 ( 0 ≤ j < 89 ) . \sum_{H\in\mathcal{H}}U_i(H)p_H\leq0\qquad(0\leq i<5324),\qquad
\sum_{H\in\mathcal{H}}E_j(H)p_H=0\qquad(0\leq j<89). H ∈ H ∑ U i ( H ) p H ≤ 0 ( 0 ≤ i < 5324 ) , H ∈ H ∑ E j ( H ) p H = 0 ( 0 ≤ j < 89 ) .
The final sum uses 87 homogeneous rows and excludes the normalization row from this zero-right-hand-side system.
The file exact_linear_model_keys.json maps each linear row to its source family and source index. For local profile rows, integer coefficients are reconstructed from the facet and feature arrays rather than rounded from a numerical matrix.
The program audit_packaged_model.py checks the complete source linkage of all 4876 linear rows and all 89 homogeneous equalities, their normalization denominators, and the five final facet tuples. It also regenerates the cell-profile point arrays from their declared catalogue and outer-bound sources. The resulting point counts are 42, 215, 611, 3638 for families (3, 4), (3, 5), (3, 6), (4, 4) respectively, and 358 for the restricted edge-core set.
This check identifies the rows used in the final weighted sum with the rows reconstructed from the counting formulas.
The separating sum and its strict margin
The file exact_separation_certificate.json supplies the final equation and inequality multipliers. They are rational numbers with common positive denominator W = 10 12 W=10^{12} W = 1 0 12 . Complete its two lists with zero values at unlisted indices, thereby defining
λ i ∈ Q ≥ 0 ( 0 ≤ i < 5324 ) , μ j ∈ Q ( 0 ≤ j < 89 ) . \lambda_i\in\mathbb{Q}_{\geq0}\ (0\leq i<5324),\qquad\mu_j\in\mathbb{Q}\ (0\leq j<89). λ i ∈ Q ≥ 0 ( 0 ≤ i < 5324 ) , μ j ∈ Q ( 0 ≤ j < 89 ) .
The supports I ∗ : = { i : λ i ≠ 0 } I_*:=\{i:\lambda_i\ne0\} I ∗ := { i : λ i = 0 } and J ∗ : = { j : μ j ≠ 0 } J_*:=\{j:\mu_j\ne0\} J ∗ := { j : μ j = 0 } have sizes 816 and 87, respectively. The total number of nonzero multipliers is 903. Put
C ( H ) = ∑ i = 0 5323 λ i U i ( H ) + ∑ j = 0 88 μ j E j ( H ) . C(H)=\sum_{i=0}^{5323}\lambda_iU_i(H)+\sum_{j=0}^{88}\mu_jE_j(H). C ( H ) = i = 0 ∑ 5323 λ i U i ( H ) + j = 0 ∑ 88 μ j E j ( H ) .
The average of C C C under any valid probability vector ( p H ) H ∈ H (p_H)_{H\in\mathcal{H}} ( p H ) H ∈ H is nonpositive. This follows by multiplying each inequality by its nonnegative λ i \lambda_i λ i , each equality by its signed μ j \mu_j μ j , and adding. Equality multipliers may have either sign because an equality remains true when multiplied by a negative number. Inequality multipliers must be nonnegative to preserve their direction.
The remaining finite calculation evaluates C ( H ) C(H) C ( H ) separately for every one of the 979 columns. It uses the saved rational multipliers and the row coefficients already linked to the counting formulas. The aim is to prove that every one of these 979 numbers is positive. If this succeeds, any nonnegative weighted average with total weight one would also be positive, contradicting the previous paragraph. Thus no search over unknown probability vectors is required during verification.
For a precise description of the integer lower-bound calculation, form the disjoint term index set
K = ( { i n e q } × I ∗ ) ∪ ( { e q } × J ∗ ) . \mathcal{K} = \left(\{\mathrm{ineq}\}\times I_* \right) \cup\left(\{\mathrm{eq}\}\times J_* \right). K = ( { ineq } × I ∗ ) ∪ ( { eq } × J ∗ ) .
For a term k ∈ K k \in\mathcal{K} k ∈ K , denote its integer multiplier numerator by w k w_k w k , its integer row numerator at H H H by a k H a_{kH} a k H , and its positive integer row denominator by d k d_k d k . These are obtained from the corresponding linear row or square row just defined. Thus its contribution to C ( H ) C(H) C ( H ) is w k a k H / ( W d k ) w_k a_{kH}/(W d_k) w k a k H / ( W d k ) . With the additional positive scale F = 10 12 F = 10^{12} F = 1 0 12 ,
w k a k H W d k ≥ ⌊ F w k a k H / d k ⌋ W F . \frac{w_k a_{kH}}{W d_k} \ge\frac{\left\lfloor F w_k a_{kH}/d_k\right\rfloor}{W F}. W d k w k a k H ≥ W F ⌊ F w k a k H / d k ⌋ .
Floor division is required also for negative numerators. Truncating toward zero would give an upper rather than a lower approximation for negative terms.
For each H ∈ H H \in\mathcal{H} H ∈ H , compute the integer
L H = ∑ k ∈ K ⌊ F w k a k H d k ⌋ , C ( H ) ≥ L H W F . L_H = \sum_{k\in\mathcal{K}} \left\lfloor\frac{F w_k a_{kH}}{d_k} \right\rfloor,\qquad C(H) \ge\frac{L_H}{W F}. L H = k ∈ K ∑ ⌊ d k F w k a k H ⌋ , C ( H ) ≥ W F L H .
The minimum is
min H L H = 3146981978575629437 > 0. (62) \min_H L_H = 3146981978575629437 > 0. \tag*{(62)} H min L H = 3146981978575629437 > 0. (62)
Thus C ( H ) ≥ δ C(H) \ge\delta C ( H ) ≥ δ for every H H H , where
δ = 3146981978575629437 10 24 > 0. \delta= \frac{3146981978575629437}{10^{24}} > 0. δ = 1 0 24 3146981978575629437 > 0.
The weighted constraints give the first inequality below, the columnwise positive bounds give the second, and probability normalization gives the equality:
0 ≥ ∑ H p H C ( H ) ≥ δ ∑ H p H = δ > 0. 0 \ge\sum_H p_H C(H) \ge\delta\sum_H p_H = \delta> 0. 0 ≥ H ∑ p H C ( H ) ≥ δ H ∑ p H = δ > 0.
This proves R ( 5 , 6 , 84 ) = ∅ R(5,6,84)=\varnothing R ( 5 , 6 , 84 ) = ∅ , subject to the stated external inputs.
Any strictly positive lower bound on every coefficient yields this contradiction. Downward rounding preserves the required lower-bound direction.
Which rows have nonzero final weights
The following table counts the rows with nonzero weight in the final certificate.
Table 12.
There are also 87 homogeneous equality terms. These counts provide useful checks of the selected-row interface.
The 23 neighborhood profile rows arise by conditioning the five local facets on different rooted flag types. The stored degree-core defect rows are audited and have zero weight in the final sum.
Several auditors check a larger collection containing all rows selected by the final certificate. Their reports specify this coverage, so their row counts may exceed those in the table.
The final JSON and row-key arrays determine the rows used in the proof. Some auditors read phase1_duals.npz or phase1_used_rows.json to select a larger set of rows to check. These files are runtime dependencies; their role is to select checks, and their numerical weights are not premises of the final weighted sum.
Catalogue extraction and its precise trust boundary
A graph6 catalogue stores graphs; a .profiles file stores distinct tuples ( n , e , t , q ) (n,e,t,q) ( n , e , t , q ) . The local model uses the set of possible profiles. Graphs sharing a profile therefore contribute a single tuple. The header separately records the total graph-record count.
The program catalogue_profiles.cpp decodes every record into adjacency bitsets. It counts edges while decoding, computes w = ∑ v ( d v 2 ) w=\sum_v \binom{d_v}{2} w = ∑ v ( 2 d v ) , and computes triangles from
6 t = ∑ ( u , v ) : u v ∈ E ordered ∣ N ( u ) ∩ N ( v ) ∣ . 6t=\sum_{\substack{(u,v):uv\in E}}^{\text{ordered}} |N(u)\cap N(v)|. 6 t = ( u , v ) : uv ∈ E ∑ ordered ∣ N ( u ) ∩ N ( v ) ∣.
Each triangle contributes six times. The program checks divisibility by six, stores ( n , e , t , w − t ) (n,e,t,w-t) ( n , e , t , w − t ) in an ordered set, and writes all distinct tuples.
The catalogue audit programs count every record but independently decode only a sample of roughly 100 profiles per catalogue. The closure audit verifies exact hull containment of all supplied profile points. Full extraction from the raw graph records is checked by the following separate program.
The program regenerate_catalogue_profiles.py compiles the supplied extractor in a temporary directory, copies raw catalogues there, runs the extractor on all records, and compares complete distinct profile sets and graph counts with the supplied files. Header source paths are not mathematical data and are ignored in the comparison. The collection contains 58 catalogue files and 11400325 graph records.
This exhaustively replays the supplied extractor. The sampled NetworkX decoder uses a separate implementation on its selected records. Completeness of the raw catalogue families remains the published external input.
The logical stages are therefore separate: external catalogue completeness; reproducible decoding and profile extraction; exact hull and recursive support verification; exact global coefficient construction; and exact final separation. The extraction replay uses the supplied extractor; the sampled decoder and the specified coefficient auditors provide distinct implementations of their respective calculations.
Environment and safe execution
The pinned Python requirements are NumPy 2.3.5, SciPy 1.16.3, and NetworkX 3.6. The tested Python version is 3.13.9. The intended reproduction environment is a fresh Python 3.13 virtual environment with these package versions. NumPy 2.x is relevant because the seven-graph auditor uses bitwise_count.
From the extracted verification tree, installation is typically
python3.13 -m venv .venv
. .venv/bin/activate
python -m pip install -r proof_84/requirements.txt
The package README specifies the outer layout and platform variants. Installing packages may require network access; the verification itself uses the supplied data and does not need a solver or online service.
SciPy supplies sparse-matrix operations and hull helpers. The verification commands execute exact checks without invoking an optimization solver.
Full profile regeneration additionally requires a C++11 compiler and zlib development support. On Debian-like systems these are normally provided by compiler and zlib development packages; on macOS a command-line developer toolchain supplies a suitable compiler and system zlib. The wrapper uses a temporary workspace and compares data without rewriting the archived originals.
Assertions must be active. Do not run with Python’s -O option and do not set PYTHONOPTIMIZE. The supplied programs use assertions for checks; optimized execution disables them. The packaged launcher guards against this condition. A run with assertions disabled is not a verification run.
Use a fresh writable extraction. The driver and auditors create logs and reports. Set PYTHONDONTWRITEBYTECODE=1 if desired to avoid bytecode caches, but this does not suppress intended reports. Preserve the original archive for comparison rather than expecting the working copy to remain byte-for-byte unchanged after execution.
Execution recipes and expected output
The commands below begin from a folder containing the complete file verification.tar.xz. This is the inner verification archive, not the outer arXiv upload archive. A reader who obtained the full arXiv source upload finds it under anc; a reader who obtained the separate verification distribution already has this file. Extract it and enter the folder it creates:
tar -xJf verification.tar.xz
cd verification
The terminal’s current folder is now the extracted folder named verification. It contains verify_package.py, README.txt, input_manifest.json, and the subfolders proof_84, lp_research, literature_research, root_research, and structural_research. Every remaining command in this section is run from that folder. The commands neither assume nor use the author’s research workspace.
If the compact archive was chosen. Its inner archive has the same name but omits the 58 raw public catalogue files. Restore them before verification by following its START_HERE.txt. For example,
python3 restore_catalogues.py --download
uses the network to retrieve the named catalogues and checks each against its recorded SHA256 digest. Alternatively, --from-archive reads them from the complete verification archive. After restoration, the compact route checks the same data by the same programs; it skips no mathematical test. This restoration step is unnecessary for the complete archive.
Install the Python environment once. With Python 3.13 installed, run the following macOS/Linux commands from the extracted verification folder:
python3.13 -m venv .venv
. .venv/bin/activate
python -m pip install -r proof_84/requirements.txt
The last command installs the exact package versions used by the supplied verifier and needs network access unless local installation files are available. Subsequent commands use python from this activated environment. A reader who opens a new terminal later must return to the same extracted folder and activate .venv again. Windows activation instructions are in README.txt.
Start with one interpretable calculation. To reproduce the worked 314-edge example after installing the dependencies, run
python check_local_example.py --root .
The dot means the extracted verification folder, which is the current folder. The checker evaluates the explicitly stated local inequalities on the required profile points and compares the resulting weighted identity with the saved certificate. The worked-method document explains those inequalities and coefficients on paper. This command is a small entry point into the argument; it does not replace the checks of the prerequisite containing polygons or the final seven-vertex contradiction.
Replay the complete certificate. Run
python verify_package.py
A successful run must exit normally and print a final summary with "all_passed": true. A partial success message followed by an error is not a successful run. The launcher first checks input hashes, then runs the main proof checks, the additional source-linkage check, and the worked-example calculation. Its reports identify which steps succeeded. No optimization solver and no network connection are needed for this replay.
The package-level launcher is verify_package.py. The package README documents its supported modes and their exact command lines. Its default mode checks package integrity, runs the 18 jobs in verify_all.py, performs the source-linkage audit, and runs the worked-example checker. The --full mode also regenerates all catalogue profiles, runs the three additional finite-estimator audits, and checks the separate degree-24 strengthening. The finite-estimator tests exhaust samples on their specified test graphs or populations; they test the estimator formulas on those specified finite populations. After installing the C++11 compiler and zlib support described in the preceding section, request the additional extraction and supplementary checks with
python verify_package.py --full
The commands below isolate parts of that full run for diagnosis or focused review. They still start from the same extracted verification folder with the environment active. The 18-job verification suite can be run directly:
python proof_84/verify_all.py
It launches 18 jobs with at most three running in parallel. A successful summary has all_passed: true and check_count: 18. It records solver_used: false and `network_used: false. The following sections describe the jobs executed by this command.
For the local chain alone, run
python literature_research/replay_required_local_certificates.py
It must verify 2679 certificates: 1968 support bounds, 10 endpoints/exclusions, and 701 facet cases. The corresponding report is required_local_certificate_audit.json.
After the input rows have been justified by the preceding mathematical arguments and row checks, the final 979 column sums can be replayed separately with
python root_research/verify_exact_separation.py --replay
It must report strict separation and the numerator in (III.41). This command by itself does not prove validity of its row inputs; those are established by the local chain, row audits, and mathematical derivations.
The explicit package bridge and complete extraction checks can be run separately:
python audit_packaged_model.py
python regenerate_catalogue_profiles.py
If a check fails, retain the log and investigate rather than changing tolerances or bypassing assertions. Missing files, inconsistent row orders, changed package versions, stale data, or a genuine mathematical or programming error must be distinguished. Previous successful reports do not override a reproducible failure on the submitted data.
The 18-job suite: local and catalogue checks
This section and the next two describe all jobs launched by verify_all.py, grouped by the part of the proof they check.
Required local dual replay
replay_required_local_certificates.py derives the required claims from support directions, edge intervals, and selected facets. It reconstructs each model and objective, parses rational duals, forms integer residuals, and checks strict rounding thresholds. It compares the reconstructed objective with the saved objective. The report contains a hash for every required certificate.
Recursive polygons
audit_recursive_polygons.py reconstructs all 149 polygons. It checks exact intersections of the 123 support systems and exact hulls for 26 catalogue edge classes. Support validity is established by the dual replay, not by this geometric comparison alone.
Dependency closure
audit_dependency_closure.py compares the model’s selected catalogue hull vertices with exact hulls of supplied profile points. Its current scope is 58 profile files, 331 edge-class hulls, and 7624 distinct profile entries across files. It also verifies full degree ranges, edge-bin coverage, row counts, and the version 3 restriction of the version 4 model.
Small catalogue records
audit_catalogues.py checks record counts against saved source-page information, computes hashes, and independently decodes sampled records. Its sampled profile checks are not exhaustive recomputation. The additional extraction wrapper described above supplies the latter replay.
The ( 4 , 5 ) (4,5) ( 4 , 5 ) catalogues
audit_r45_catalogues.py checks the order-24 catalogue of 352366 graphs and the selected complete extreme-edge classes of orders 19 through 23. It checks all record counts and samples decoded profiles. The expected counts for extreme classes are recorded in supplied headers; mathematical completeness remains external.
Together, these jobs check the catalogue records, their profile hulls, and the local dual inequalities that depend on them.
The 18-job suite: global coefficients
Seven-vertex completeness
audit_seven_graph_completeness.py enumerates all 2 21 2^{21} 2 21 labelled graphs and compares allowed counts with exact orbit sizes of the saved representatives. It also checks pairwise nonisomorphism. This is a full finite enumeration, unlike the extraction sampling just described.
Base rows
audit_used_base_rows.py reconstructs degree-square equalities and base capacity inequalities by labelled injections and finite subset weights. It checks every final-used base row and additional stored rows.
Mixed cells and general profiles
audit_used_exact_rows.py independently reconstructs the selected mixed capacities and general cell-profile rows. It checks the Ramsey family corresponding to each color, tests each selected facet on all stored points, and uses group-preserving automorphism factors.
Integrality and binary degrees
audit_used_integer_rows.py reconstructs cell-integrality and binary-degree rows by direct subset and ordered-pair enumeration. In degree products, coincident neighbor choices are allowed and weighted according to the number of distinct exterior vertices.
Critical cores
audit_used_core17_rows.py reconstructs selected cubic rows by enumerating products in the edge and triangle cores, including repeated positions. It checks coefficients on every seven-vertex representative. The underlying catalogue degree fact supplies the sign of the cubic polynomial.
Cell edge supports
audit_used_cell_edge_rows.py validates the selected supporting lines on the ( 4 , 4 ) (4,4) ( 4 , 4 ) point set and reconstructs their lifted coefficients.
Neighborhood edges
audit_used_neighborhood_edge_rows.py reconstructs the finite lifts of the four local edge bounds. The local dual chain supplies their mathematical validity; this job checks finite sampling and multiplicity.
Neighborhood profile features
audit_root_local_features.py recomputes the complete local feature array via the general cell estimator at twice the stored scale, checks divisibility, and compares entries. The packaged bridge then checks its integer contraction with the selected five facets into the exact global matrix.
Restricted edge cores
audit_restricted_core_rows.py checks all restricted profile rows and additional degree-core defect rows. It tests inequalities on restricted profile points and independently reconstructs averages. Some checked rows have zero final multiplier.
The 18-job suite: Gram matrices and final sum
Integer Gram reconstruction
rebuild_integer_moments.py with –check-only rebuilds all eight integer Gram blocks by explicit overlap counting and compares them with moment_integer_verified.npz. It writes an audit report but does not replace the checked matrix file in this mode.
Direct separation replay
verify_exact_separation.py with –replay checks multiplier signs and unique indices, verifies named file hashes, recomputes square rows with a checked overflow bound, and accumulates the exact floor lower bounds. It explicitly separates probability normalization from homogeneous equalities.
Arbitrary-precision replay
replay_global_certificate.py recomputes the square contractions with Python integers and reproduces the final sum by arbitrary-precision arithmetic. This avoids reliance exclusively on fixed-width array contractions for the critical numerical part.
A further global auditor
audit_global_exact_certificate.py provides another exact replay and coefficient consistency check. Where fixed-width contractions are used, a sufficient no-overflow bound is checked first. The final accumulated separation is exact.
These four jobs, the nine global coefficient jobs, and the five local/catalogue jobs make the 18 jobs in verify_all.py. The package launcher also offers the source-linkage audit, exhaustive extraction replay, finite-estimator checks, and the optional strengthening checks described above.
Scope of independence. The auditors use different enumerations for important formulas, but share some data, conventions, and helper functions. Here an independent check means a distinct implementation of the specified calculation. Reimplementing the displayed formulas in another language and comparing exact outputs would provide another useful level of review.
Writing a verifier from this specification
A fresh implementation can be divided into five components. This keeps the trusted mathematical code understandable even though it processes many files.
First, decode graph6 into symmetric zero-diagonal adjacency matrices and recompute profiles. Preserve the difference between graph-record counts and distinct-profile counts. Gzip compression affects storage only.
Second, generate the local variables and equations from the profile sets. Use a declared order or named coordinates with an explicit translation to certificate positions. Check all degree and edge ranges before building the matrix. Missing input must cause an error.
Third, implement the rational certificate kernel:
for each required claim:
M, b, active = construct_model(claim.model)
c = construct_objective(claim)
y = parse_rationals(certificate.dual)
assert c == parse_rationals(certificate.objective)
for j in active:
assert c[j] - sum(M[i,j]*y[i] for i) >= 0
lower = sum(y[i]*b[i] for i)
assert lower == certificate.exact_lower_bound
assert lower > claim.rounding_threshold
Use strict thresholds appropriate to the integer conclusion, not rounded decimal values. Equality rows may receive signed multipliers, whereas nonnegative slack coefficients must have the stated sign.
Fourth, enumerate rooted flag placements on all 979 graph types and reconstruct each used global coefficient by finite sampling. Validate the underlying inequality independently of its lift. This links each reconstructed row to the counting statement that gives its sign.
Fifth, enumerate Gram extension pairs with overlaps, contract integer vectors, and form the final rational sum or conservative floor lower bound. Check positivity for all columns and apply normalization only in the final contradiction.
These components use the supplied rational multipliers. Graph canonicalization, hull calculation, and sparse storage can be implemented differently, provided the resulting coefficients agree exactly after matching graph types, variables, and rows.
Small arithmetic checks and common errors
Complement conventions. For K 3 K_3 K 3 , ( n , e , t , q ) = ( 3 , 3 , 1 , 2 ) (n,e,t,q)=(3,3,1,2) ( n , e , t , q ) = ( 3 , 3 , 1 , 2 ) . Equations (III.1)–(III.3) give the empty graph profile ( 3 , 0 , 0 , 0 ) (3,0,0,0) ( 3 , 0 , 0 , 0 ) . For P 3 P_3 P 3 , the profile ( 3 , 2 , 0 , 1 ) (3,2,0,1) ( 3 , 2 , 0 , 1 ) becomes ( 3 , 1 , 0 , 0 ) (3,1,0,0) ( 3 , 1 , 0 , 0 ) , as expected.
Four-vertex paths. For P 4 P_4 P 4 , e = 3 e=3 e = 3 , t = 0 t=0 t = 0 , w = q = 2 w=q=2 w = q = 2 . Equation (III.22) gives triple counts ( 0 , 2 , 2 , 0 ) (0,2,2,0) ( 0 , 2 , 2 , 0 ) . In (III.28), the middle edge contributes 1 and the two end edges contribute zero. For a triangle, the sum over middle edges gives 3, and the correction 3 t = 3 3t=3 3 t = 3 removes every coincident outer-endpoint choice.
A degree-square coefficient. If a five-vertex flag has r 0 = 2 r_0=2 r 0 = 2 and the actual degree is 38, the exterior neighbor count is m e x t = 36 m_{\mathrm{ext}}=36 m ext = 36 . The expected value of (III.32) is
2 ⋅ 36 ⋅ 35 + 2 ( 4 − 76 ) 36 + 2 ( − 36 ) ( − 37 ) = 0. 2\cdot36\cdot35+2(4-76)36+2(-36)(-37)=0. 2 ⋅ 36 ⋅ 35 + 2 ( 4 − 76 ) 36 + 2 ( − 36 ) ( − 37 ) = 0.
This checks both the linear coefficient and the constant in a concrete case.
Two and three exterior vertices. A specified edge outside a five-vertex flag appears with probability 1 / ( 79 2 ) 1/\binom{79}{2} 1/ ( 2 79 ) . The factor 79 ⋅ 78 79 \cdot78 79 ⋅ 78 estimates twice its count. A specified triple outside a four-vertex flag appears with probability 1 / ( 80 3 ) 1/\binom{80}{3} 1/ ( 3 80 ) ; the factor 80 ⋅ 79 ⋅ 78 80 \cdot79 \cdot78 80 ⋅ 79 ⋅ 78 estimates six times its count.
Negative floor division. For a term − 1 / 3 -1/3 − 1/3 and scale 10, use ⌊ − 10 / 3 ⌋ = − 4 \lfloor-10/3 \rfloor=-4 ⌊ − 10/3 ⌋ = − 4 , giving a valid lower bound − 0.4 -0.4 − 0.4 . Truncating toward zero gives − 0.3 -0.3 − 0.3 , which is larger than − 1 / 3 -1/3 − 1/3 and therefore invalid as a lower bound.
Signs and colors. Every global inequality row uses nonpositive average. A nonnegative square is therefore negated. A support e ≥ a c + b e \ge ac+b e ≥ a c + b becomes a c + b − e ≤ 0 ac+b-e \le0 a c + b − e ≤ 0 . For blue cells, all internal edge-based statistics refer to the complement consistently, while a root’s degree parameter in a neighborhood facet still refers to X X X .
Order and degree. A nonneighborhood B v B_v B v has order 83 − d v 83-d_v 83 − d v . Substituting that order into a coefficient intended for d v d_v d v changes the inequality. A root that is excluded from a cell remains excluded even if its diagonal adjacency entry happens to satisfy the cell’s zero-one tests.
What a successful reproduction establishes
A complete reproduction establishes a chain of different statements:
The external Ramsey bounds and catalogue completeness assumptions are precisely identified.
Supplied graph and profile data are linked by counts, hashes, and the specified extraction checks.
Recursive polygons contain all justified profiles, with no omitted degree or edge class.
Every required local dual has the correct exact residual signs and strict threshold.
Every used global row is the correct finite average of a valid underlying inequality or identity.
The seven-vertex type set is complete and consistently ordered.
Every square row comes from the exact finite Gram identity with all overlaps.
The final signed and nonnegative multipliers produce a strictly positive coefficient on every allowed type.
The resulting contradiction proves R ( 5 , 6 ) ≤ 84 R(5,6) \le84 R ( 5 , 6 ) ≤ 84 by exact rational arithmetic.
The argument combines the stated external catalogue and Ramsey results, the mathematical derivations of the counting identities, and the exact finite checks performed by the supplied programs. Reproduction relies on the correctness of the software and arithmetic environment used for those checks.
The separate strengthening that every X ∈ R ( 5 , 5 , 45 ) X \in\mathcal{R}(5,5,45) X ∈ R ( 5 , 5 , 45 ) has e ( X ) ≥ 462 e(X) \ge462 e ( X ) ≥ 462 discussed in the manuscript is not needed for the certificate. The proof above uses the bound 460. Its optional audit verifies that separate statement. The coefficients of the final model are those specified above.
The package supports four levels of review: understanding the reasoning, checking a worked local example, replaying supplied programs, and independently reconstructing the calculations from this specification. The mathematical derivations establish the validity of the rows; the executable checks verify their numerical coefficients and weighted sums.