<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Symbolic Sets for Proving Bounds on Rado Numbers</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Tanbir Ahmed</string-name>
          <email>tanbir@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Lamina Zaman</string-name>
          <email>zamanl@uwindsor.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Curtis Bright</string-name>
          <email>cbright@uwindsor.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>School of Computer Science, University of Windsor</institution>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2025</year>
      </pub-date>
      <fpage>2</fpage>
      <lpage>22</lpage>
      <abstract>
        <p>Given a linear equation ℰ of the form  +  =  where , ,  are positive integers, the -colour Rado number (ℰ) is the smallest positive integer , if it exists, such that every -colouring of the positive integers {1, 2, . . . , } contains a monochromatic solution to ℰ. In this paper, we consider  = 3 and the linear equations  +  =  and  +  = . Using SAT solvers, we compute a number of previously unknown Rado numbers corresponding to these equations. We prove new general bounds on Rado numbers inspired by the satisfying assignments discovered by the SAT solver. Our proofs require extensive case-based analyses that are dificult to check for correctness by hand, so we automate checking the correctness of our proofs via an approach which makes use of a new tool we developed with support for operations on symbolically-defined sets-e.g., unions or intersections of sets of the form { (1),  (2), . . . ,  ()} where  is a symbolic variable and  is a function possibly dependent on . No computer algebra system that we are aware of currently has suficiently capable support for symbolic sets, leading us to develop a tool supporting symbolic sets using the Python symbolic computation library SymPy coupled with the Satisfiability Modulo Theories solver Z3.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Rado numbers</kwd>
        <kwd>Ramsey Theory on the Integers</kwd>
        <kwd>Satisfiability</kwd>
        <kwd>SMT</kwd>
        <kwd>Symbolic Computation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <sec id="sec-1-1">
        <title>1.1. Combinatorial context</title>
        <p>
          the positive integers with no monochromatic solution to ℰ (, ; 1, 2, . . . , ). Surprisingly, not much
is known about the properties of Rado numbers for  = 3. In 1995, Schaal [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] proved that the 3-colour
Rado numbers 3(ℰ (3, ; 1, 1, 1)) are always finite and 3(ℰ (3, ; 1, 1, 1)) = 13 + 14 for  ≥ 0 . In
2015, Adhikari et al. [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] proved exact formulas for 3(ℰ (4, ; 1, 1, 1, 1)) and 3(ℰ (5, ; 1, 1, 1, 1, 1))
with  ≥ 0. In 2022, Chang, De Loera, and Wesley [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] proved
• 3(ℰ (3, 0; 1, −1,  − 2)) =  3 −  2 −  − 1 for  ≥ 3 (previously conjectured by Myers [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]),
• 3(ℰ (3, 0, , −, ( − 1))) =  3 + ( − 1) 2 for  ≥ 3, and
• 3(ℰ (3, 0; , −, )) =  3 for  ≥ 1,  ≥  + 2, and gcd(, ) = 1.
        </p>
        <sec id="sec-1-1-1">
          <title>They also determined exact values of the Rado numbers</title>
          <p>• 3(ℰ (3, 0; , −, )) for 1 ≤ ,  ≤ 15,
• 3(ℰ (3, 0; , , )) for 1 ≤ ,  ≤ 10,
• 3(ℰ (3, 0; , , )) for 1 ≤ , ,  ≤ 6,
as well as the following theorem.</p>
          <p>Theorem 1.2. 3(ℰ (3, 0; 1, 1, )) = ∞ for  ≥ 4 and  3(ℰ (3, 0; , , 1)) = ∞ for  ≥ 2.</p>
        </sec>
      </sec>
      <sec id="sec-1-2">
        <title>1.2. Our contributions</title>
        <p>
          In this paper, we have investigated values and bounds of Rado numbers for the equations ℰ (3, 0; , , )
and ℰ (3, 0; , , ). We have computed a number of previously unknown exact values using SAT solvers,
extending the results presented by Chang, De Loera, and Wesley [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] to the values of
• 3(ℰ (3, 0; , , )) for 1 ≤  ≤ 15 and 1 ≤  ≤ 30, and
• 3(ℰ (3, 0; , , )) for 1 ≤  ≤ 15 and 1 ≤  ≤ 25.
        </p>
        <p>Note that we may assume that  and  are coprime, since if  and  share a common factor  we may
divide the coeficients of the equation ℰ by  without changing its solutions, e.g., 3(ℰ (3, 0; , , )) =
3(ℰ (3, 0; /, /, /)). Guided by the satisfying assignments generated by the SAT solver in the
process of computing these values, we proved the following two theorems.</p>
        <p>Theorem 1.3. For coprime positive integers ,  with  &gt;  ≥ 3 and  2 +  +  &gt; 2 + ,
Theorem 1.4. For odd integers  ≥ 7,
3(ℰ (3, 0; , , )) ≥  3 + 2 + (2 + 1) + 1.</p>
        <p>3(ℰ (3, 0; , ,  + 1)) ≥  3( + 1).</p>
        <p>Based on the computational data we generated and the above lower bounds, we propose the following
conjectures.</p>
        <p>Conjecture 1.1. For coprime positive integers ,  with  &gt;  ≥ 3 and  2 +  +  &gt; 2 + ,
3(ℰ (3, 0; , , )) = 3 + 2 + (2 + 1) + 1.</p>
        <p>Conjecture 1.2. For coprime positive integers , , with  odd, if 3 ≤  &lt;  ≤ 2 − 1 then
3(ℰ (3, 0; , , )) = 3.</p>
        <p>The proofs of Theorems 1.3 and 1.4 are automatically verified using a symbolic analyzer we developed
in Python called AutoCase.1 The motivation has been to avoid errors in the intricate case-based analysis
which is often routine and repetitive. For example, in order to verify Theorem 1.4, AutoCase takes as
input three symbolically-defined subsets , ,  of the integers [1, 3( + 1) − 1] (where  ≥ 7 is a
symbolic odd integer). AutoCase verifies that the union of , , and  is the set [1, 3( + 1) − 1] and
that , ,  are mutually disjoint—thereby confirming that , ,  form a 3-colouring of the positive</p>
        <sec id="sec-1-2-1">
          <title>1github.com/laminazaman/RadoNumbers/tree/main/AutoCase</title>
          <p>integers less than 3( + 1). Finally, AutoCase confirms that there are no monochromatic solutions of
the equation  +  = ( + 1), i.e., the set ⋃︀+=(+1){(, , )} is disjoint with 3, 3, and 3.
We stress that the sets defining the colouring are defined symbolically, e.g., ⋃︀,,{ (, , )} where  is
a function (possibly depending on ), the upper and lower bounds on the indices , ,  may depend
on , and the elements of the set may be filtered by divisibility predicates such as specifying that all
elements are divisible by .</p>
          <p>
            Although it would be easy to perform the necessary set operations in a typical computer algebra
system like Maple, Mathematica, and SageMath if  was a known fixed integer, in our application  is
a symbolic variable, and we are aware of no computer algebra system supporting the operations on
symbolic sets we require in this paper. Maple and Mathematica seem to lack the ability to even express
the set [1, ] when  is symbolic. SageMath does have support for a “ConditionSet” allowing sets like
[1, ] to be formulated, but the operations supported by ConditionSets was too limited for our purposes.
In AutoCase, operations on symbolic sets are performed by employing a combination of the Python
symbolic computation library SymPy [
            <xref ref-type="bibr" rid="ref6">6</xref>
            ] and the SMT (SAT modulo theories) constraint solver Z3 [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ].
          </p>
          <p>
            Our work therefore fits into the “SC-Square” paradigm of combining satisfiability checking with
symbolic computation [
            <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
            ]. Over the past decade, the SC-Square community has combined the tools
of satisfiability checking (e.g., SAT and SMT solvers) with the tools of symbolic computation (e.g.,
computer algebra systems and libraries) in order to make progress on problems benefiting from both
the search and learning of SAT/SMT solvers and the mathematical sophistication of computer algebra.
As just a single example, computer algebra libraries are able to detect if two mathematical objects
are isomorphic. Augmenting a SAT solver with isomorphism detection can dramatically improve its
eficiency on mathematical problems like proving the nonexistence of an order ten projective plane [
            <xref ref-type="bibr" rid="ref10">10</xref>
            ]
or enumerating various kinds of graphs up to isomorphism, something that can be done by SAT modulo
symmetries [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ] or SAT+CAS [
            <xref ref-type="bibr" rid="ref12">12</xref>
            ] solvers.
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Computational Results</title>
      <p>
        One of the key challenges in Ramsey theory on the integers is the scarcity of data, as generating
individual data points is an exceptionally dificult task. However, modern computational tools, including
SAT solvers, have alleviated some of these computational challenges. During the last two decades,
SAT solvers have been employed to compute Ramsey-type numbers at diferent scales and capacities.
Some examples are the computation of the values and bounds of van der Waerden numbers (Kouril and
Paul [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], Herwig et al. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], Ahmed [
        <xref ref-type="bibr" rid="ref15 ref16 ref17 ref18">15, 16, 17, 18</xref>
        ], Ahmed et al. [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]) and Schur numbers (Ahmed
and Schaal [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], Ahmed et al. [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]). A notable success of SAT solvers in this area of mathematics is the
computation of the fifth Schur number by Heule [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ].
      </p>
      <p>
        Recently, Chang, De Loera, and Wesley [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] applied SAT solvers to compute Rado numbers. Building
on this progress, we used SAT solvers to determine new exact values of Rado numbers and to uncover
patterns in the colourings that avoid monochromatic solutions to the linear equation under investigation.
These patterns provide general lower bounds on Rado numbers and we employed methods from symbolic
computation and satisfiability checking to automate the verification of these lower bounds.
      </p>
      <sec id="sec-2-1">
        <title>2.1. The satisfiability (SAT) problem</title>
        <p>A literal is a Boolean variable (say ) or its negation (denoted̄ ). A clause is a logical disjunction of
literals. A formula is in Conjunctive Normal Form (CNF) if it is a logical conjunction of clauses.</p>
        <p>A truth assignment is a mapping of each variable in its domain to true or false. A truth assignment
satisfies a clause if it maps at least one of its literals to true and the assignment satisfies a formula if it
satisfies each of its clauses. A formula is called satisfiable if it is satisfied by at least one truth assignment
and otherwise it is called unsatisfiable. The problem of recognizing satisfiable formulas is known as the
satisfiability problem, or SAT for short.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Encoding Rado numbers as SAT problems</title>
        <p>Given positive integers  and  and a linear equation ℰ , we now construct a formula in conjunctive
normal form that is satisfiable if and only if there exists a -colouring of [1, ] avoiding monochromatic
solutions of ℰ . Therefore, if our formula is satisfiable then (ℰ ) &gt;  and if our formula is unsatisfiable
then (ℰ ) ≤ .</p>
        <p>Variables: Variables are denoted by , for 0 ≤  ≤  − 1 and 1 ≤  ≤  , such that , is true if and
only if colour  is assigned to integer . There are  variables in the formula.</p>
        <p>At least one colour is assigned to every integer: For each integer  ∈ [1, ], the clause
ensures at least one colour  ∈ [0,  − 1] is assigned to .</p>
        <p>At most one colour is assigned to every integer: For each integer  ∈ [1, ], the clauses
(0, ∨ 1, ∨ · · · ∨  −1, )</p>
        <p>⋀︁
0≤ 1&lt;2≤−1</p>
        <p>(̄ 1, ∨̄ 2, )
ensure at most one colour  ∈ [0,  − 1] is assigned to .</p>
        <p>There is no monochromatic solution to ℰ : For each colour  ∈ [0,  − 1] and for each solution
(1, 2, . . . , ) to ℰ , the clause
(̄ ,1 ∨̄ ,2 ∨ · · · ∨̄
, )
ensures the solution (1, 2, . . . , ) is not monochromatic in colour . Let ℰ, denote the set of all
solutions (1, 2, . . . , ) in [1, ] that satisfy the equation ℰ . There will be  · | ℰ,| such clauses. We
may compute |ℰ,| by summing over all possible values of (1, 2, . . . , −1 ) in the range [1, ] via
 
|ℰ,| = ∑︁ ∑︁ · · ·
1=1 2=1</p>
        <p>∑︁
−1 =1
[︃ ∑︀−1 ]︃
=1  ∈ [1, ] ,

where summand uses Iverson bracket notation to ensure that the remaining variable  (determined
by the equation) falls within [1, ]. This gives |ℰ,| ≤  −1 , since [·] ≤ 1.</p>
        <p>Breaking permutation symmetry of colours: So far, no distinction has been made amongst
the  colours. This artificially increases the size of the search space by a factor of !, the number
of permutations on  colours. To avoid having the SAT solver explore all 3! colour permutations on
{0, 1, 2} during solving, we ensure that colours are introduced in ascending order, i.e., colour 0 appears
before colour 1 and colour 1 appears before colour 2. To ensure that colour 0 appears in the first
position, we add the unit clause 0,1. To ensure that colour 1 appears before colour 2, we add the clause
(⋁︀=−11̄ 0,) ∨̄ 2, for  = 2, . . . , 1(ℰ ). These say that colour 2 cannot immediately follow an initial
colouring consisting only of colour 0s, and thus the first colour other than 0 must be 1. One can work
out the exact value of 1(ℰ ) by hand for the cases we consider in this paper, as in the following lemma
whose proof we provide in appendix A.</p>
        <p>Lemma 2.1. If  and  are positive coprime integers then 1(ℰ (3, 0; , , )) = max( + 1, ),
1(ℰ (3, 0; , , 1)) = 2, and 1(ℰ (3, 0; , , )) = max(, ⌈/2⌉) when  &gt; 1.</p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3. Eficient generation of integer solutions</title>
        <p>To eficiently generate all integer solutions (, , ) within the interval [1, ] for  +  = , we
iterate  from 1 to  and construct three linear Diophantine equations
 =  − 
 =  − 
 =  + 
where  = ,
where  = ,
where  = .</p>
        <p>The goal is to independently find solutions for each equation.
• Step 1 (Solving a linear Diophantine equation). To begin, we solve one of the above equations (say
 +  = ) for unknowns (, ) using the Extended Euclidean Algorithm, providing a particular
integer solution (0, 0). The general solution is
 = 0 +</p>
        <p>gcd(, )
and  = 0 −</p>
        <p>gcd(, )
,
where  is a parameter that runs over all integers to generate all solutions.
• Step 2 (Restricting to the interval [1, ]). Since we are only interested in solutions within [1, ], we
impose the constraints</p>
        <p>1 ≤  0 + gcd(, ) ≤  and 1 ≤ 
0 −</p>
        <p>gcd(, ) ≤ .</p>
        <p>These inequalities provide upper and lower bounds on , ensuring that both  and  remain in the
valid range.
• Step 3 (Iterating over valid values of ). Once the feasible range for  is determined, we iterate over
all valid values of  and solve for  and  at each step, adding (, , ) to our list of solutions.
• Finally, we repeat these steps for the remaining two equations  =  −  and  =  − .</p>
      </sec>
      <sec id="sec-2-4">
        <title>2.4. SAT solvers and computation resources</title>
        <p>
          For this work, we used the SAT solvers CaDiCaL [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ] and Kissat [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]. Initially, we used CaDiCaL
integrated with PySAT [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ] due to its incremental solving capabilities which enable the solver to reuse
learned information across instances. Our approach starts with a counter  = 1. For each , we add
the corresponding clauses to the solver. If the instance is satisfiable, we increment  and continue
incrementally. This process repeats until we encounter the first unsatisfiable instance, at which point
the corresponding  is identified as the Rado number.
        </p>
        <p>Once a Rado number was determined (or suspected to be known based on the patterns we observed),
we transitioned to using a non-incremental solver and generated two instances: one for  − 1 , the last
satisfiable instance, and one for , the first unsatisfiable instance. We generated clauses in DIMACS
format, wrote them to two CNF files, and used Kissat to solve both instances. To be consistent in our
timings, all instances were ultimately solved non-incrementally using Kissat. Our largest instance,
the unsatisfiable instance showing 3(ℰ (3, 0; 15, 15, 8)) = 97875, contained 293,625 variables and
255,884,401 clauses and took 58.8 hours to solve.</p>
        <p>Altogether, generating the SAT instances took around 11 hours, the total CPU time used to solve the
unsatisfiable instances (i.e., the instances that prove an upper bound) was around 251 hours, and the
total CPU time used on satisfiable instances (i.e., the instances that prove a lower bound) was around
53 hours. Our computations were performed on the Compute Canada cluster Cedar, utilizing Intel</p>
        <sec id="sec-2-4-1">
          <title>E5-2683 v4 Broadwell processors running at 2.1 GHz.</title>
          <p>2.5. Some new exact values of 3(ℰ (3, 0; , , ))
We have computed 3(ℰ (3, 0; , , )) for 1 ≤  ≤ 15 and 1 ≤  ≤ 30 and given the results in Table 1.
By Rado’s theorem 1.1, all elements in Table 1 are finite. Altogether, the total CPU time on unsatisfiable
\ 1
14
43
94
173
286
439
638
889
1198
1571
2014
2533
3134
3823
4606
5489
6478
7579
8798
10141
11614
13223
14974
16873
18926
21139
23518
26069
28798
31711
instances was 21,790 seconds, and the total CPU time on satisfiable instances was 13,516 seconds,
amounting to 9.81 total hours. A maximum of 4.3 GiB of memory was used across all instances.
2.6. Some new exact values of 3(ℰ (3, 0; , , ))
By Theorem 1.2, 3(ℰ (3, 0; , , 1)) is infinite for  ≥ 2 and 3(ℰ (3, 0; 1, 1, )) is infinite for  ≥ 4 .
√
Also, by Chang et al. [4, Lemma 3.1], 3(ℰ (3, 0; , , )) is infinite if 2 ≤  2/ or 2 ≤ . They
provided the values of 3(ℰ (3, 0; , , )) for 1 ≤ ,  ≤ 10 and also for 3 ≤  ≤ 6 and 11 ≤  ≤ 20 .
We have extended them for 1 ≤  ≤ 15 and 1 ≤  ≤ 25 and reported these numbers in Table 2. The
instances in this table proving upper bounds required a CPU time of 882,211 seconds to solve, while the
instances proving lower bounds required 176,375 seconds to solve, amounting to 294.05 total hours. A
maximum of 26.3 GiB of memory was used across all instances.
2.7. Some new patterns for 3(ℰ (3, 0; , , ))
The data on 3(ℰ (3, 0; , , )) presented in Table 1 inspired us to make some general observations and
a conjecture described below.</p>
          <p>Observation 2.1. For coprime integers  and , the data in Table 1 reveals the following.
\ 1
∞ ∞ ∞
243 ∞ ∞
14 384 2000
108 14 875
135 180 14
1 54 750
336 308 875
432 1 1000
54 585 1125
1125 105 1
2019 847 1958
54 2400
1710 3445
455 3675
5408 54
5725
8330
12069
16397
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞
∞ ∞ ∞
∞ ∞ ∞
∞ ∞ ∞
∞ ∞ ∞
3072 12393 ∞
384 243 2000
1536 8748 7500
14 8019 875
1224 14 6000
180 7290 14
1672 8019 5500
54 108 750
1456 9477 6500
308 10206 875
2760 135 54
1 11664 1000
3825 12393 8500
585 1 1125
4332 16853 9500
105 19080 1
6699 336 12579
847 25047 1958
8556 32453 17250
54 432 2400
10200 42975 105
3(ℰ (3, 0; , , )) for 1 ≤  ≤ 15 and 1 ≤  ≤ 25 . The previously unknown values are presented in
boldface, and the underlined entries correspond to equations whose coeficients are not coprime.</p>
          <p>Range of 
sequence and ultimately arriving at the following conjecture.
3(ℰ (3, 0; , , )) = 3 + 2 + (2 + 1) + 1.</p>
          <p>Conjecture 2.1. For coprime positive integers  and  with 2 +  +  &gt; 2 +  and  &gt;  ≥ 3 ,</p>
          <p>
            Before proceeding, we note the equation ℰ (3, 0; , −, ) can be transformed into ℰ (3, 0; , , )
by permuting variables. This equivalence along with a theorem of Chang, De Loera, and Wesley [
            <xref ref-type="bibr" rid="ref4">4</xref>
            ]
provides a closed-form expression for 3(ℰ (3, 0; , 1, 1)).
          </p>
          <p>Proposition 2.1. 3(ℰ (3, 0; , 1, 1)) = 3 + 52 + 7 + 1 for  ≥ 1.
for  ≥ 3 , 3(ℰ (3, 0; 1, −1,  − 2)) =  3 −  2 −  − 1
3(ℰ (3, 0; 1, −1, )) =  3 + 52 + 7 + 1. Hence, 3(ℰ (3, 0; , 1, 1)) = 3 + 52 + 7 + 1.
Proof. By permuting variables we have 3(ℰ (3, 0; , 1, 1)) = 3(ℰ (3, 0; 1, −1, )) . By [4, Thm 1.2],
. Replacing  with  − 2 , we get for  ≥ 1 ,
2.8. Some new patterns for 3(ℰ (3, 0; , , ))
The data on 3(ℰ (3, 0; , , )) presented in Table 2 has inspired the following conjecture and some
general observations described below.</p>
          <p>Conjecture 2.2. For coprime positive integers  and , if  is odd, then for 3 ≤  &lt;  ≤ 2 − 1
3(ℰ (3, 0; , , )) = 3.
,
Observation 2.2. For odd positive integers 7 ≤  ≤ 15, we have
• 3(ℰ (3, 0; , ,  − 1)) =  3(ℰ (3, 0; , ,  + 2)) = 3( + 2);
• if gcd(,  + 3) = 1, then 3(ℰ (3, 0; , ,  − 2)) =  3(ℰ (3, 0; , ,  + 3)) = 3( + 3);
• 3(ℰ (3, 0; , ,  +21 )) = 3(ℰ (3, 0; , , 2 − 1)) =  3(2 − 1);
• if gcd(,  +23 ) = 1, then 3(ℰ (3, 0; , ,  +23 )) = 3(ℰ (3, 0; , , 2 − 4)) =  3(2 − 4).
Observation 2.3. For coprime positive integers  and ,
3(ℰ (3, 0; , , )) =
{︃3/2 if  ∈ {6, 10, 14} and  &lt;  ≤ 2 − 1,</p>
          <p>3/4 if  ∈ {12} and  &lt;  ≤ 2 − 1.</p>
          <p>A general characterization of the cases with even  is not possible at the moment due to lack of further data.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. General Results</title>
      <p>In Section 2, we extended the known numerical values of Rado numbers corresponding to the equations
ℰ (3, 0; , , ) and ℰ (3, 0; , , ) and observed several new bounds for these numbers. In this section,
we discuss and prove some of those bounds using AutoCase. An overview of how AutoCase works is first
provided in Section 3.1, and then as a demonstrative example we use AutoCase to prove Proposition 2.1
in Section 3.2. Finally, we use AutoCase to prove Theorems 1.3 and 1.4 in Sections 3.3 and 3.4.</p>
      <sec id="sec-3-1">
        <title>3.1. Automating case-based analysis with SymPy and Z3</title>
        <p>
          Shallit [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ] proposed that traditional case-by-case analyses are better performed by automated search
algorithms to enhance both eficiency and correctness. In that direction, we employ an automated
verification approach (using our tool AutoCase) to verify the case-based proofs of Theorems 1.3 and 1.4.
Our proof strategy relies on case-based analysis of solving linear equations whose variables lie in
symbolic sets filtered through arithmetic and logical constraints. This section describes how we
automate this process by symbolically encoding the problem structure and constraint system using
        </p>
        <sec id="sec-3-1-1">
          <title>SymPy and performing satisfiability checking using the SMT solver Z3.</title>
          <p>The input provided to AutoCase is the linear equation to be considered along with a colouring of the
integers [1,  ] specified by a collection of symbolic sets as described in Section 3.1.1. AutoCase verifies
that the colouring is valid by ensuring the size of the symbolic sets sum to exactly  (see Section 3.1.2)
and that the sets are pairwise disjoint (see Section 3.1.3). This verifies the provided symbolic sets provide
a partition of [1,  ]. Finally, AutoCase verifies that there are no solutions of the linear equation under
consideration where all variables are from symbolic sets of the same colour (see Section 3.1.4). Thus,
the symbolic sets define a colouring of the integers [1,  ] that have no monochromatic solutions to the
linear equation, thereby proving a lower bound of  + 1 on the Rado number for that linear equation.
3.1.1. Input specification
The input to our automated system consists of:
• A symbolic linear equation ℰ , such as  +  = ( + 1), where coeficients and assumptions on
the coeficients (e.g.,  ≥ 7,  odd) are symbolic.
• A symbolic  corresponding to the lower bound on (ℰ ), e.g.,  = 3( + 1) − 1.
• A partition of the domain [1,  ] into named symbolic sets, each specified by
– symbolic bounds (e.g., [, 4 + 3 − ]),
– a format expression generating integers in the set (e.g., ( + 1) +  + ), and
– optional divisibility filters (e.g., integers in the set must be divisible by  2 but not 3).
• A -colouring of [1,  ] defined in terms of the above symbolic sets.</p>
          <p>These inputs are defined using SymPy to facilitate symbolically:
• Building and manipulating (e.g., simplifying, expanding, combining, substituting symbolically)
interval bounds, format expressions, and divisibility properties.
• Calculating size, disjointness, and covering conditions. The union ⋃︀
of [1,  ] if and only if ⋃︀</p>
          <p>=1  has size  , the sets  are pairwise disjoint, and ⋃︀
• Simplifying and structurally transforming constraints before they are fed to Z3.
=1  is considered a partition
=1  ⊆ [1,  ].
3.1.2. Symbolic size computation using SymPy
SymPy plays a central role in enabling symbolic reasoning, algebraic manipulation, and structured
enumeration in the symbolic size analysis pipeline. The key uses of SymPy can be itemized as follows:
• Size with divisibility filters: Let the underlying interval be defined as
[,  ]. Let  and ND
denote the sets of required and excluded divisors, respectively, and consider
For  ⊆ ND , define
 = {  ∈ [,  ] : ∀ ∈ ,  |  and ∀ ∈ ND ,  ∤  } .</p>
          <p>= {  ∈ [,  ] : lcm( ∪  ) |  } .</p>
          <p>The number of elements  ∈ [,  ] divisible by all divisors in  and none in ND is
|| =
∑︁ (−1) | || | =</p>
          <p>∑︁ (−1) | |
 ⊆ND
 ⊆ND
︂(⌊</p>
          <p>lcm( ∪  ) −
︂⌋
︂⌊</p>
          <p>− 1
lcm( ∪  )
︂⌋)
.</p>
          <p>ND = {2}. Then the size of the resulting set is
This formula uses inclusion-exclusion to subtract overlapping exclusions in order to count elements
satisfying the divisibility constraints. SymPy contributes with floor, ceiling, and lcm to enforce
and combine arithmetic conditions. For example, consider the interval [1, 2] with  = {} and
︂⌊</p>
          <p>2 ⌋︂
lcm() −
︂⌊</p>
          <p>2
lcm(, 2)
︂⌋
=
︂⌊ 2 ⌋︂

−
︂⌊ 2 ⌋︂
2
=  −  = ( − 1).
• Format-based symbolic summation: Consider a symbolic set defined by a format expression
 =  (1, 2, . . . , ) where  ∈ [ , ℎ ]. When  is injective, the total size of the set is given by
|{ =  (1, . . . , ) |  ≤   ≤ ℎ  }| =
ℎ1
∑︁ ∑︁</p>
          <p>ℎ2
1=1 2=2
· · ·
ℎ
∑︁ 1.
=
denominator polynomials.
algebraic rules. For example, ∑︀</p>
          <p>∑︀
=0</p>
          <p>=1 1 = ( + 1)/2.</p>
          <p>For example, the format expression  =  +  where 0 ≤  &lt; 
and 1 ≤  ≤ 
. If some variables are symbolic (e.g., ), the size remains symbolic and can be simplified using
defines a set of size
• Symbolic floor simplification: Let</p>
          <p>be a symbolic variable representing a positive integer, and
consider the rational expression  () = ()/(), where  and  are polynomials in . We aim
to simplify ⌊()/()⌋ which can often be simplified using the degrees of the numerator and
Consider deg() &lt; deg(). When the degree of the numerator () is strictly less than that of the
denominator (), the value of the rational expression ()/() has magnitude less than 1 for all
suficiently large , and is dominated by the leading terms of  and . Its sign for large enough  is
therefore determined by the sign of LC()/ LC() where LC(·) denotes the leading coeficient, so
︂⌊ () ⌋︂
()
=
{︃0</p>
          <p>if LC()/LC() &gt; 0,
−1 if LC()/LC() &lt; 0,
assuming that the bound on  is large enough for this simplification to occur. For example, ⌊−1/⌋ =
−1 if  ≥ 1 , ⌊1/⌋ = 0, ⌊( + 1)/⌋ = 1, and ⌊︀ (2 + 1)/3⌋︀ = 0 if  ≥ 2 , and ⌊︀ −( + 5)/ 2⌋︀ = −1
if  ≥ 3.
• Unified symbolic simplification: Applies simplify and expand to normalize symbolic size
expressions such as converting 2( + 1) + (2 + 3 + 1) + 4 to 3 + 52 + 7.
3.1.3. Symbolic disjointness checking using SymPy and Z3
AutoCase constructs a symbolic system of constraints to determine whether two symbolic sets are
disjoint. The key idea is to introduce a symbolic integer variable  that hypothetically belongs to both
sets. Then, disjointness reduces to checking whether the conjunction of the constraints defining both
sets is unsatisfiable. Z3 is used to test satisfiability.
• Domain constraints (bounds): For each interval, we require  ∈ [lower, upper], encoded via
Ge(z, lower) and Le(z, upper). If sets  and  are defined over [1, 2 + 2] and [2 + 3 +
1, 3 + 52 + 7], respectively, then
 ≥ 1 ∧  ≤</p>
          <p>2 + 2 and  ≥  2 + 3 + 1 ∧  ≤  3 + 52 + 7.</p>
        </sec>
        <sec id="sec-3-1-2">
          <title>These bounds are incompatible, so  and  are disjoint.</title>
          <p>• Divisibility and non-divisibility constraints: Divisibility constraints are encoded as  |  using
Mod(, ) == 0, and non-divisibility as  ∤  using Mod(, ) ̸= 0. Suppose set  contains all
 ∈ [1, ] such that  | , while set  contains those where  ∤ . The constraint system  ≡ 0
mod  ∧  ̸≡ 0 mod  is unsatisfiable, so the sets are disjoint.
• Format expression constraints: To avoid symbol collisions in format expressions, all format
variables are renamed using fresh symbols (e.g., _fmt_i). If a set is defined by a format expression
 =  (1, . . . , ), then we add sp.Eq(z, format_expr) along with symbolic bounds on the
variables  (e.g., 0 ≤  &lt;  2).</p>
          <p>For instance, consider the set  defined by
 = ( + 1) +  + 
where 0 ≤  &lt;  2,
and 2⌊/2⌋ + 1 ≤  ≤  − 1,
with constraint  ̸≡ 0 (mod ). Also, let the set  be defined by
 = (3 + 2),</p>
          <p>1 ≤  ≤ ⌊( − 1)/2⌋.</p>
          <p>Now, assume  ∈  ∩ . Then  ∈  implies  ≡ 0 (mod ) , and this contradicts the constraint
from . Therefore,  ∩  = ∅.
3.1.4. Monochromatic solution analysis using Z3
For a linear equation ∑︀=−11  =  and  ≥ 1 sets (each given a colour class), the tool now
generates all possible ways to assign the  − 1 left-hand-side (LHS) variables across  sets using
Cartesian products. AutoCase iterates over every way to assign the LHS variables to the same colour
class and for every colour class it generates a list of cases for verification.</p>
          <p>The prover systematically explores all combinations of sets assigned to the variables in the equation,
where each variable is taken from the same colour class. For each such case, it verifies that no solution
exists satisfying the equation under the imposed divisibility, format, and value constraints. If all such
cases succeed this confirms the absence of monochromatic solutions.
• For each assignment of sets to the variables in the equation, the tool aggregates all associated symbolic
constraints: interval bounds (e.g.,  ∈ [1, 3]), format constraints (e.g.,  = 2 + ), and arithmetic
iflters (e.g.,  ∤ ,  |  2).
• It then encodes the target equation (e.g.,  +  = ( + 1)) and all constraints into an SMT
expression, along with assumptions (e.g.,  ≥ 7 , prime(), gcd(, ) = 1). The translation process
supports a broad range of symbolic constructs in SymPy, including integer inequalities, polynomial
equalities, floor and ceiling operations, divisibility conditions, and logical connectives.
• The solver checks that the symbolic system is unsatisfiable. The contradiction analysis is
exhaustive—it verifies that under all parameter values satisfying the assumptions, the given assignment
cannot yield a valid solution.</p>
          <p>If every such assignment leads to a contradiction, the tool concludes that the equation has no
monochromatic solution in the constructed colouring, and thus the lower bound for the Rado number is
symbolically proven.</p>
          <p>Example 3.1. We illustrate a symbolic case analyzed by AutoCase, where each variable in the equation
1 + 2 = ( + 1)3 is assigned to distinct symbolic intervals with bounds, divisibility filters, and
format expressions. The analyzer constructs the following constraint system:
• Global Assumptions:  ∈ Z and  ≥ 1
• Equation Constraint: 1 + 2 = ( + 1)3
• Bounds: 1, 2, 3 ∈ [1, 2] ⇒  ≥ 1,   ≤  2 for  ∈ {1, 2, 3}
• Divisibility Filter on 1:  | 1 ⇒ 1 =  ·  1, 1 &gt; 0
• Non-divisibility Filter on 2: 2 ∤ 2 ⇒ 2 ̸= 2 ·  2 for all 2 &gt; 0
• Format Expression for 3:</p>
          <p>3 = ( + 1) +  +  with 0 ≤  &lt;  2, 0 ≤  ≤ , and 2⌊/2⌋ + 1 ≤  ≤  − 1
• Total Constraint Set (passed to Z3):
1 + 2 = ( + 1)3
1 =  ·  1, 1 &gt; 0
∀2 &gt; 0, 2 ̸= 2 ·  2
3 = ( + 1) +  + 
0 ≤  &lt;  2,
1, 2, 3 ∈ [1, 2]
The set of constraints in Z3 are given in Appendix D. If Z3 determines that this system is unsatisfiable for
all admissible values of , then this configuration leads to a contradiction—contributing to the overall proof
that the equation has no monochromatic solution in the constructed colouring.</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Proving with AutoCase: An example</title>
        <p>
          A general technique to prove a lower bound is to construct a colouring avoiding forbidden patterns.
Specifically, to show (ℰ ) ≥  + 1 , constructing a -colouring of the positive integers [1,  ]
avoiding any monochromatic solution to equation ℰ would be suficient. As an example, Proposition 2.1
states 3(ℰ (3, 0; , 1, 1)) = 3 + 52 + 7 + 1. Although we already showed this proposition is a
consequence of a theorem of Chang, De Loera, and Wesley [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], as an example we now show how a
form of Proposition 2.1 (with the equality replaced by a lower bound) can be proven using AutoCase.
3.2.1. Construction of the partition
Based on empirical observations of solutions to small instances of the problem, using certificates
(satisfying assignments) generated by the SAT solver CaDiCaL, we identify a partition of [1, 3+52+7]
into seven intervals 0, . . . , 6 along with a corresponding colouring function .
        </p>
        <p>
          Consider the partition of [1, 3 + 52 + 7] using the intervals
From these, we define the colouring function  : [1, 
3 + 52 + 7] → [
          <xref ref-type="bibr" rid="ref1 ref2">0, 1, 2</xref>
          ] as
0 = [1, ],
1 = [ + 1, 2 + 2],
2 = [2 + 2 + 1, 2 + 3],
3 = [2 + 3 + 1, 3 + 42 + 4],
4 = [3 + 42 + 4 + 1, 3 + 42 + 5],
5 = [3 + 42 + 5 + 1, 3 + 52 + 6],
6 = [3 + 52 + 6 + 1, 3 + 52 + 7].
3.2.2. Input processing
The prover considers all possible pairs ,  drawn from the same colour class, and verifies that  = +
cannot belong to any set in the same colour class. Based on the symbolic colouring provided by  , the
prover enumerates all ways of assigning , , and  to the same colour. Specifically, it generates 43 = 64
cases for colour 0, 23 = 8 cases for colour 1, and 13 = 1 case for colour 2, yielding a total of 73 cases.
These cases correspond to the combinations of source intervals for (, ) and target intervals for .
3.2.3. Monochromaticity analysis
Example 3.2. We check the cases where  ∈ 0 and  ∈ 0. The computed  =  +  must not belong
to any of 0, 2, 4, 6. The reasons why  cannot belong to any of 0, 2, 4, 6 are as follows:
• Lower bound of : Since ,  ∈ 0 = [1, ], their smallest possible values are  = 1 and  = 1. This
gives  =  +  ≥ (1) + 1 =  + 1.
• Upper bound of : The largest values in 0 are  =  and  = . This gives  =  +  ≤ () +  =
2 + .
• Now, we check whether  can belong to any forbidden partition:
– 0 = [1, ]: Since  ≥  + 1,  ∈/  0.
– 2 = [2 + 2 + 1, 2 + 3]: The maximum possible  is 2 + , which is less than min(2) =
2 + 2 + 1. Thus,  ∈/ 2.
– 4 = [3 + 42 + 4 + 1, 3 + 42 + 5]: Clearly,  ≤  2 +  is much smaller than min(4), so
 ∈/ 4.
        </p>
        <p>– 6 = [3 + 52 + 6 + 1, 3 + 52 + 7]: Again,  is far smaller than min(6), so  ∈/ 6.
Since  is forced outside the monochromatic partitions, we conclude that no monochromatic solution exists
in colour 0 when  ∈ 0 and  ∈ 0.</p>
        <p>The same type of analysis applies to all other colour cases, ensuring that the generated
constraints exhaustively eliminate any monochromatic solution. As a result, AutoCase has shown that
3(ℰ (3, 0; , 1, 1)) ≥  3 + 52 + 7 + 1 for all  ≥ 1.
3.3. Proof of Theorem 1.3 (lower bound for 3(ℰ (3, 0; , , )))
3.3.1. Construction of the partition
Since gcd(, ) = 1, the variable  to be an integer in the equation  +  = , the variable  must
be a multiple of . Consider the partition of [1, 3 + 2 + (2 + 1)] using the intervals
0 = [1, ],
1 = [ + 1, 2],
2 = [2 + 1, 2 + ],
3 = [2 +  + 1, 3 + 2 + ( + 1)], and
4 = [3 + 2 + ( + 1) + 1, 3 + 2 + (2 + 1)].</p>
        <p>Note that indeed [1, 3 + 2 + (2 + 1)] = 0 ∪ 1 ∪ 2 ∪ 3 ∪ 4 and  ∩  = ∅ for  ̸= . Define
the following sets to filter the above intervals for colouring in Dark Gray (0), Red (1), and Blue (2):
1 = { ∈ 0 :  ̸≡ 0</p>
        <p>(mod )}
2 = {︀  ∈ 0 ∪ 1 :  ≡ 0</p>
        <p>(mod  2)}︀</p>
        <p>
          Now, consider the colouring  : [1,  3 + 2 + (2 + 1)] → [
          <xref ref-type="bibr" rid="ref1 ref2">0, 1, 2</xref>
          ] defined by
        </p>
        <sec id="sec-3-2-1">
          <title>Example 3.3 provides a visual representation of this colouring.</title>
          <p>
            Example 3.3. Below is the colouring of [
            <xref ref-type="bibr" rid="ref1">1, 108</xref>
            ] used to prove that 3(ℰ (3, 0; 4, 3, 3)) ≥ 109.
r1
r4
r7
r10
r2
r5
r8
r11
0
b3
b6
r9
b12
Proof of Theorem 1.3. A written proof of Theorem 1.3 is provided in Appendix B. The symbolic
correctness of the partition and the verification of the cases can be found in the AutoCase repository.
3.4. Proof of Theorem 1.4 (lower bound for 3(ℰ (3, 0; , ,  + 1)))
for 3(ℰ (3, 0; , ,  + 1)) ≥
          </p>
          <p>3( + 1) of length 3( + 1) − 1
Observation 3.1. For odd positive integers  ≥ 7 , there exists a certificate (computed using a SAT solver)
where certain repetitive patterns appear
as blocks of coloured integers of size ( + 1). Consider the following examples for 3(ℰ (3, 0; 7, 7, 8)).</p>
          <p>Colour block 1 for 3(ℰ(3, 0; 7, 7, 8))</p>
          <p>Colour-block 2 for 3(ℰ(3, 0; 7, 7, 8))
r1
r8
b15
b22
b29
b36
b43
b50
r2
r9
b16
b23
b30
b37
b44
b51
r338
r345
b352
b359
b366
b373
b380
b387
r337
r344
b351
b358
b365
b372
b379
b386
r3
r10
r17
r24
b31
b38
b45
b52
r339
r346
r353
r360
b367
b374
b381
b388
r4
r11
r18
r25
b32
b39
b46
b53
r340
r347
r354
r361
b368
b375
b382
b389
r5
r12
r19
r26
r33
r40
b47
b54
r341
r348
r355
r362
r369
r376
b383
b390
r6
r13
r20
r27
r34
r41
b48
b55
r342
r349
r356
r363
r370
r377
b384
b391
7
14
21
28
35
42
r49
56
b343
350
357
364
371
378
385
r392
r57
r64
b71
b78
b85
b92
b99
b106
r58
r65
b72
b79
b86
b93
b100
b107
r2690
r2697
b2704
b2711
b2718
b2725
b2732
b2739
r2689
r2696
b2703
b2710
b2717
b2724
b2731
b2738
r59
r66
r73
r80
b87
b94
b101
b108
r2691
r2698
r2705
r2712
b2719
b2726
b2733
b2740
r60
r67
r74
r81
b88
b95
b102
b109
r2692
r2699
r2706
r2713
b2720
b2727
b2734
b2741
r61
r68
r75
r82
r89
r96
b103
b110
r2693
r2700
r2707
r2714
r2721
r2728
b2735
b2742
r62
r69
r76
r83
r90
r97
b104
b111
r2694
r2701
r2708
r2715
r2722
r2729
b2736
b2743
63
70
77
84
91
r98
105
112
b2695
2702
2709
2716
2723
2730
2737
Colour-block 7 for 3(ℰ(3, 0; 7, 7, 8))</p>
          <p>Colour-block 49 for 3(ℰ(3, 0; 7, 7, 8))
The integers that are not divisible by  get coloured in a consistent way in each block, while the integers
that are divisible by  need to be carefully coloured in such a way (a diferent way in each block) to avoid
monochromatic solutions to the equation  +  = ( + 1).
3.4.1. Construction of the partition
with  ≥ 7 being an odd positive integer. Consider,
Before we prove the lower bound, we construct a partition of the set [1,  ] where  = 3( + 1) − 1
[1,  + 1] = {︀  · ( + 1) +  ·  +  : 0 ≤  ≤ 
2 − 1, 0 ≤  ≤ , 1 ≤  ≤ 
partition [1,  ] = ( ) ∪ ( ) with
Let ( ) and ( ) denote { ∈ [1,  ] :  | } and { ∈ [1,  ] :  ∤ }, respectively. We have the
( ) = {︀  · ( + 1) +  ·  +  : 0 ≤  ≤ 
( ) = {︀  · ( + 1) +  ·  +  : 0 ≤  ≤ 
2 − 1, 0 ≤  ≤ 
2 − 1, 0 ≤  ≤ , 1 ≤  ≤  − 1
︀}
∖ { + 1} , and
Let ( ) = ℓ ∪ ℓ be a partition defined by
1
−
=1
1
−
=0
1
−
=1
 =
⋃︁ {︀ 4 + 2}︀
∪
⋃︁ {︀ 3 + 2 : 0 ≤  ≤  − 1
︀{ 3 + 2}︀ , and
 = {︀ 4}︀
∪
⋃︁ {︀ 3 + 2 :  + 1 ≤  ≤  − 1
︀}
∪
︀} .</p>
          <p>︀}
︀} .
︀} .</p>
          <p>︀} , and
︀}</p>
          <p>∪
(−1)/2
⋃︁
=1
1
−
⋃︁
=(+1)/2
︀{ 3 + 2}︀ .
ℓ = {︀  · ( + 1) +  ·  +  : 0 ≤  ≤ 
ℓ = {︀  · ( + 1) +  ·  +  : 0 ≤  ≤ 
2 − 1, 0 ≤  ≤ , 2⌊/2⌋ + 1 ≤  ≤  − 1
2 − 1, 0 ≤  ≤ , 1 ≤  ≤ 2⌊/2⌋</p>
        </sec>
        <sec id="sec-3-2-2">
          <title>Now, consider the set</title>
          <p>Let 2 ( ) =  ∪  be a partition defined by
2 ( ) = {︀  · ( + 1) +  ·  +  : 0 ≤  ≤ 
2 − 1, 0 ≤  ≤ ,  | ( +  + 1)
∖ { + 1} .</p>
          <p>
            Our colouring  : [1,  ] → [
            <xref ref-type="bibr" rid="ref1 ref2">0, 1, 2</xref>
            ] will be defined by
          </p>
          <p>1 if  ∈ ℓ ∪ ,
⎪
⎪⎩0 if  ∈ ( ) ∖ 2 ( ).</p>
          <p>Proof of Theorem 1.4. A written proof of Theorem 1.4 is provided in Appendix C. The symbolic
correctness of the partition and the verification of the cases can be found in the AutoCase repository.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusion</title>
      <p>In this work, we explored the computation of 3-colour Rado numbers for certain 3-term linear
equations. Our SAT-based approach enabled us to extend the known values of 3(ℰ (3, 0; , , )) and
3(ℰ (3, 0; , , )), computing previously unknown Rado numbers and formulating new conjectures
based on observed patterns. We proved the lower bounds 3(ℰ (3, 0; , , )) ≥  3 + 2 + (2 + 1) + 1
and 3(ℰ (3, 0; , ,  + 1)) ≥  3( + 1) for certain ranges of  and . The case-based proofs were
automatically verified using a combination of symbolic computation and SMT solvers in a tool we call</p>
      <sec id="sec-4-1">
        <title>AutoCase.</title>
        <p>We did not attempt to compute Rado numbers involving more than three colours due to the rapid
growth in the SAT instances, and for simplicity we focused on linear equations with a constant term of
zero. In principle, our methods should be applicable to nonhomogeneous linear equations and to Rado
numbers involving four or more colours, though they may require more computational resources or
more advanced combinatorial optimization techniques. We leave such cases for future work.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Declaration on Generative AI</title>
      <sec id="sec-5-1">
        <title>No generative AI was used.</title>
        <p>In this section we assume  and  are positive coprime integers. Lemma 2.1 then says
{︃2</p>
        <p>if  = 1,
max(, ⌈/2⌉) if  &gt; 1.</p>
        <p>(1)
1(ℰ (3, 0; , , )) = max( + 1, ) and 1(ℰ (3, 0; , , )) =</p>
        <p>For the first equation of (1), we want to find the solution (, , ) of  +  =  that minimizes
max(, , ); then 1(ℰ (3, 0; , , )) = max(, , ). Since  and  are coprime,  must be divisible
by , so (, 1,  + 1) is the solution of  +  =  with smallest possible  and  values. Since
 = ( + )/, the solution with the smallest possible  and  will also minimize . Thus, the smallest
possible value of max(, , ) is max(, 1,  + 1) = max( + 1, ).</p>
        <p>For the second equation of (1), we want to find the solution (, , ) of  +  =  that minimizes
max(, , ); then 1(ℰ (3, 0; , , )) = max(, , ). Since  and  are coprime,  must be divisible
by , so say  = , giving  +  = . Then max(, , ) is minimized when  and  are as close to
equal as possible (i.e.,  ≈  ≈ /2).</p>
        <p>If  is even, max(, , ) is minimized when  = 1 and  =  = /2, giving max(, , ) =
max(, /2), so 1(ℰ (3, 0; , , )) = max(, /2) when  is even. If  &gt; 1 is odd, then max(, , )
is minimized when  = 1 and {, } = {⌊/2⌋, ⌈/2⌉}, so 1(ℰ (3, 0; , , )) = max(, ⌈/2⌉) when
 &gt; 1 is odd. If  = 1, then max(, , ) is minimized when  = 2 and  =  = 1 (note  +  =  has
no solutions in positive integers when  = 1) and then 1(ℰ (3, 0; , , )) = max(1, 1, 2) = 2.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>B. Written proof of Theorem 1.3</title>
      <p>Suppose there is a solution to  +  =  monochromatic in colour 0 (Dark Gray). Since gcd(, ) = 1
and there is no multiple of  in 1, the variable  must be in 2. Taking  = 2 +  +  and
 = min(1) =  + 1 as smallest possible values, we get  = 3 + 2 + ( + 1) + 1, but () = 1
(Red) for  ≥  3 + 2 + ( + 1) + 1, a contradiction.</p>
      <p>Suppose there is a solution to  +  =  monochromatic in colour 1 (Red). Since 1 does not
contain a multiple of , variable  cannot be in 1. Also, if ,  ∈ 3, then clearly  &gt; 3 +2 +(2+1).
So,  and  both cannot be in 3. Now we consider the following cases:
(a)  ∈ 2 and  ∈ 1: We have  =  +  =  +  for 1 ≤  ≤  . Since,  ̸≡ 0 (mod ) ,
we have  +  ̸≡ 0 (mod ) which implies  +  ̸≡ 0 (mod  2). Hence  +  ̸∈ 2. If
 +  ∈ 1, then since  ≥ 1 and  ≥ 1 , we have  +  &gt;  = max (1), a contradiction.
(b)  ∈ 2 and  ∈ 2: We have  ̸∈ 3 since
 ≤ ( 2)/ + 2 = 2 + 2</p>
      <p>≤  3 + 2 + ( + 1) &lt; min(3)
when 2 +  +  &gt; 2 + . Suppose  ∈ 2. In that case, 1 + 2 = 3 with 1 ≤  1, 2, 3 ≤
2 implies 1 + 2 = 3 with 1 ≤  1, 2, 3 ≤  . Then, 1 = (/)(3 −  2) has no integer
solution since gcd(, ) = 1 and 0 ≤  3 −  2 &lt; . Hence, () ̸= 1.
(c)  ∈ 3 and  ∈ 1: Consider the condition, with 3 + 2 + ( + 1) +  being the smallest
integer in 3 which is divisible by . Then, we have 2 +  +  &gt;  + 2 which can be re-written
as  (3 + 2 + ( + 1) + ) + 1 &gt;  (2 + 2 +  + ) + 1, which implies</p>
      <p>&gt; (3 + 2 + 2/ + /) &gt; max(3).</p>
      <p>Hence, () ̸= 1, a contradiction.
(d)  ∈ 3 and  ∈ 2: As in the previous case, with 3 + 2 + ( + 1) +  being the smallest
integer in 3 which is divisible by , and 2 being the smallest integer in 2, we get  &gt; max(3)
implying  ̸∈ 3 implying () ̸= 1, a contradiction.</p>
      <p>Suppose there is a solution to  +  =  monochromatic in colour 2 (Blue). Then we have the
following cases:
(i) If ,  ∈ 2, then
 =</p>
      <p>which results a contradiction since integers beyond max(2) are coloured in either colour 0 or
in colour 1.
(ii) If ,  ∈ 1, then in the equation  =  + , we have  ≡ 1, 2, . . . ,  − 1 (mod ) . Since
gcd(, ) = 1, we have  ≢ 0 (mod ) . Hence,  =  +  ̸≡ , 2, . . . , ( − 1) (mod  2)
and  ̸≡ 0 (mod ) implying () ̸= 2, a contradiction.
(iii) If  ∈ 1 and  ∈ 2, then as in the previous case, we have  ≢ 0 (mod ) . Since  ≡ 0
(mod ), we have  +  ̸≡ 0 (mod ), that is,  ̸∈  2. Hence, () ̸= 2, a contradiction.
(iv) If  ∈ 2 and  ∈ 1, then  =  +  ≥ ( 2 + )/ +  = 2 +  +  &gt; max(1). Also,
since  ̸≡ 0 (mod ), we have  ̸∈  2. Hence, () ̸= 2, a contradiction.</p>
      <p>3(ℰ (3, 0; , , )) ≥  3 + 2 + (2 + 1) + 1</p>
    </sec>
    <sec id="sec-7">
      <title>C. Written proof of Theorem 1.4</title>
      <sec id="sec-7-1">
        <title>C.1. Integrality properties</title>
        <p>Lemma C.1. Let  be a positive integer. There is no integer solution 1, 2, 3 to the equation 1 +2 =
( + 1)3 if any of the following is true:
a. 1, 2, 3 ̸≡ 0 (mod );
b. 1, 2, 3 ≡ 0 (mod ) and  1, 2, 3 ̸≡ 0 (mod  2);
c. 1, 2 ≡ 0 (mod  2) and 3 ̸≡ 0 (mod );
d. 1, 3 ≡ 0 (mod  2) and 2 ̸≡ 0 (mod );
e. 2, 3 ≡ 0 (mod  2) and 1 ̸≡ 0 (mod );
f. 1 ≡ 0 (mod  2) and 2, 3 ̸≡ 0 (mod );
g. 2 ≡ 0 (mod  2) and 1, 3 ̸≡ 0 (mod );
Proof. In each of the cases, assume that an integer solution 1, 2, 3 exists to 1 + 2 = ( + 1)3.
a. Simplifying the equation, we get 1 + 2 = 3 + 3/, which due to the integrality assumption,
implies |3, that is, 3 ≡ 0 (mod ), a contradiction.
b. For  = 1, 2, 3, since  ≡ 0 (mod ) and  ̸≡ 0 (mod  2), let  =  ·   such that  ̸≡ 0
(mod ). Upon substitution, we obtain 2 · ( 1 + 2 −  3) =  ·  3 which implies 3 ≡ 0 (mod ) ,
a contradiction.
c. Let 1 = 21 and 2 = 22. Then after substitution and simplification, we obtain 21 + 22 =
3 + 3/, which due to the integrality assumption, implies |3, that is, 3 ≡ 0 (mod ) , a
contradiction.
d. Let 1 = 21 and 3 = 23. Then after substitution and simplification, we obtain 1 + 2/ =
3 + 3, which due to the integrality assumption, implies |2, that is, 2 ≡ 0 (mod ) , a
contradiction.
e. Let 2 = 22 and 3 = 23. Then after substitution and simplification, we obtain 1/ +
2 = 3 + 3, which due to the integrality assumption, implies |1, that is, 1 ≡ 0 (mod ) , a
contradiction.
f. Let 1 = 21. Then after substitution and simplification, we obtain 21 + 2 = 3 + 3/, which
due to the integrality assumption, implies |3, that is, 3 ≡ 0 (mod ), a contradiction.
g. Let 2 = 22. Then after substitution and simplification, we obtain 1 + 22 = 3 + 3/, which
due to the integrality assumption, implies |3, that is, 3 ≡ 0 (mod ), a contradiction.</p>
      </sec>
      <sec id="sec-7-2">
        <title>C.2. Proof of good colouring</title>
        <p>Lemma C.2. For odd positive integer  ≥ 7 , there exists no monochromatic solution to 1 + 2 =
( + 1)3 in colour 0.</p>
        <p>Proof. If  ∈ ( ) ∖ 2 ( ), then by Lemma C.1(b), there exists no solution to 1 + 2 = ( + 1)3.
Hence there is no solution to 1 + 2 = ( + 1)3 monochromatic in colour 0.
Lemma C.3. There exists no monochromatic solution to 1 + 2 = ( + 1)3 if 1, 2, 3 ∈ .
Proof. Given 1, 2 ∈ , assume that 3 ∈  where 3 = (1 + 2)/( + 1). Let 1 = 12 and
2 = 22 for positive integers 1 and 2. Substituting for 3, we get the numerator to be 3(1 + 2).
Since 3 shares no factor with  + 1, if  + 1 does not divide 1 + 2, then 3 ̸∈ Z, a contradiction.
Assume that 1 + 2 = ( + 1) for some positive integer .</p>
        <p>Assume that 1 + 2 = ( + 1) for some positive integer . Then,  = 3, but for 1 ≤  ≤  − 1 ,
by definition of the sets  and , we have 3 ∈  and since  ∩  = ∅, we have 3 ̸∈ .
If  = 4, then  =  implying 1 + 2 = ( + 1) which is impossible since 1 + 2 ≤  +  ≤
2 − 1 &lt; ( + 1) given 0 ≤  ≤  − 1,  + 1 ≤  ≤  − 1.</p>
        <p>Lemma C.4. For odd positive integer  ≥ 7 , there exists no monochromatic solution to 1 + 2 =
( + 1)3 if 1, 2 ∈ ℓ and 3 ∈ .</p>
        <p>Proof. Since 1, 2 ∈ ℓ, let 1 = 1( + 1) + 1 and 2 = 2( + 1) + 2 with 0 ≤  1, 2 ≤  2 − 1 ,
1 ≤  1, 2 &lt; ( + 1). Also, let 3 = 23. Therefore,
3 = (1 + 2) +
1 + 2
( + 1)
.</p>
        <p>If 1 + 2 = ( + 1), then by construction of ℓ and ℓ, the integers 1 and 2 both not in the
same set, a contradiction.</p>
        <p>Lemma C.5. For odd positive integer  ≥ 7 , there exists no monochromatic solution to 1 + 2 =
( + 1)3 in colour 1.</p>
        <p>Proof. Let  = 1 ∪ 2 ∪ 3 with 1 = {︀ 4}︀ , 2 = ⋃︀=−11 ︀{ 3 + 2 :  + 1 ≤  ≤  − 1 ︀} , and
3 = ⋃︀(−1)/2 {︀ 3 + 2}︀ . There are 43 = 64 ways to select an integer for the variables 1, 2, 3
=1
from the 4 sets ℓ, 1, 2, 3. Most of these cases can be analyzed directly using Lemma C.1 as follows:
• 1, 2, 3 ∈ ℓ: No monochromatic solution by Lemma C.1 (a) covering 1 case.
• 1 ∈ ℓ, 2, 3 ∈ : No monochromatic solution by Lemma C.1 (e) covering 9 cases.
• 2 ∈ ℓ, 1, 3 ∈ : No monochromatic solution by Lemma C.1 (d) covering 9 cases.
• 3 ∈ ℓ, 1, 2 ∈ : No monochromatic solution by Lemma C.1 (c) covering 9 cases.
• 2, 3 ∈ ℓ, 1 ∈ : No monochromatic solution by Lemma C.1 (f) covering 3 cases.
• 1, 3 ∈ ℓ, 2 ∈ : No monochromatic solution by Lemma C.1 (g) covering 3 cases.
• 1, 2 ∈ ℓ, 3 ∈ : No monochromatic solution by Lemma C.4 covering 3 cases.
• 1, 2, 3 ∈ : No monochromatic solution by Lemma C.3 covering 27 cases.</p>
        <p>Hence, there exists no monochromatic solution to 1 + 2 = ( + 1)3 in colour 1.
Lemma C.6. For an odd positive integer  ≥ 7, the set   contains no solution to ℰ (3, 0; , ,  + 1).
Proof. Given 1, 2 ∈ , assume that 3 = 1+2 and 3 ∈ . Let 1 = 12 and 2 = 22
+1
for positive integers 1 and 2. Substituting for 3, we get the numerator to be 3(1 + 2). Since 3
shares no factor with  + 1, if  + 1 does not divide 1 + 2, then  ̸∈ Z, a contradiction. Assume that
1 + 2 = ( + 1) for some positive integer . Then,  = 3 and assume  ∈ . For 1 ≤  ≤  − 1 ,
4 + 2 is not an integer multiple of 3. Since min() = 3, we have 1 + 2 ≥ 2 and the smallest
integer value of  is obtained when 1 + 2 = ( + 1). This implies  ≥  4, but max(2 ∪ 3) &lt; 4.
Hence,  ̸∈ .</p>
        <p>Therefore, the set  contains no solution to 1 + 2 = ( + 1)3.</p>
        <p>Lemma C.7. For odd positive integer  ≥ 7 , there exists no monochromatic solution to 1 + 2 =
( + 1)3 if 1, 2 ∈ ℓ and 3 ∈ .</p>
        <sec id="sec-7-2-1">
          <title>Proof. Similar to the proof of Lemma C.4.</title>
          <p>Lemma C.8. For odd positive integer  ≥ 7 , there exists no monochromatic solution to 1 + 2 =
( + 1)3 in colour 2.</p>
          <p>Proof. Let  = 1 ∪ 2 ∪ 3 with partition blocks 1 = ⋃︀=−11 ︀{ 4 + 2}︀ , 2 =
⋃︀=−11 ︀{ 3 + 2 : 0 ≤  ≤  − 1 ︀} , and 3 = ⋃︀=−1(+1)/2 ︀{ 3 + 2}︀ . There are 43 = 64 ways to
select an integer for the variables 1, 2, 3 from the 4 sets ℓ, 1, 2, 3. Most of these cases can be
analyzed directly using Lemma C.1 as follows:
• 1, 2, 3 ∈ ℓ: No monochromatic solution by Lemma C.1 (a) covering 1 case.
• 1 ∈ ℓ, 2, 3 ∈ : No monochromatic solution by Lemma C.1 (e) covering 9 cases.
• 2 ∈ ℓ, 1, 3 ∈ : No monochromatic solution by Lemma C.1 (d) covering 9 cases.
• 3 ∈ ℓ, 1, 2 ∈ : No monochromatic solution by Lemma C.1 (c) covering 9 cases.
• 2, 3 ∈ ℓ, 1 ∈ : No monochromatic solution by Lemma C.1 (f) covering 3 cases.
• 1, 3 ∈ ℓ, 2 ∈ : No monochromatic solution by Lemma C.1 (g) covering 3 cases.
• 1, 2 ∈ ℓ, 3 ∈ : No monochromatic solution by Lemma C.7 covering 3 cases.
• 1, 2, 3 ∈ : No monochromatic solution by Lemma C.6 covering 27 cases.</p>
          <p>Hence, there exists no monochromatic solution to 1 + 2 = ( + 1)3 in colour 2.
D. SMT Instance via the Z3 Python API for Example 3.1
from z3 import *
# Declare symbolic variables
a = Int('a')
x1, x2, x3 = Ints('x_1 x_2 x_3')
k1, k2 = Ints('k_1 k_2')
i, j, k = Ints('i j k')
# Create the solver
s = Solver()
# Global assumptions
s.add(a &gt;= 1)
# Equation constraint
# Non-divisibility: not(a^2 | x2)
s.add(ForAll([k2], And(k2&gt;0, x2 != a**2 * k2)))
# Format expression for x3
s.add(x3 == a*(a + 1)*i + a*j + k)
# Bounds for x1, x2, x3
s.add(x1 &gt;= 1, x1 &lt;= a**2)
s.add(x2 &gt;= 1, x2 &lt;= a**2)
s.add(x3 &gt;= 1, x3 &lt;= a**2)</p>
        </sec>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>R.</given-names>
            <surname>Rado</surname>
          </string-name>
          , Studien zur Kombinatorik,
          <source>Mathematische Zeitschrift</source>
          <volume>36</volume>
          (
          <year>1933</year>
          )
          <fpage>242</fpage>
          -
          <lpage>280</lpage>
          . doi:
          <volume>10</volume>
          .1007/ BF01188632.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>D.</given-names>
            <surname>Schaal</surname>
          </string-name>
          ,
          <article-title>A family of 3-color Rado numbers</article-title>
          ,
          <source>Congressus Numerantium</source>
          <volume>111</volume>
          (
          <year>1995</year>
          )
          <fpage>150</fpage>
          -
          <lpage>160</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>S. D.</given-names>
            <surname>Adhikari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Boza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Eliahou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Marin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. P.</given-names>
            <surname>Revuelta</surname>
          </string-name>
          ,
          <string-name>
            <surname>M. I. Sanz</surname>
          </string-name>
          , On the
          <article-title>-color Rado number for the equation</article-title>
          1 + 2 + · · · +   +  = +1, Mathematics of Computation
          <volume>85</volume>
          (
          <year>2016</year>
          )
          <fpage>2047</fpage>
          -
          <lpage>2064</lpage>
          . doi:
          <volume>10</volume>
          .1090/
          <year>mcom3034</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Chang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. A.</given-names>
            <surname>De Loera</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W. J.</given-names>
            <surname>Wesley</surname>
          </string-name>
          ,
          <article-title>Rado numbers and SAT computations</article-title>
          ,
          <source>in: Proceedings of the 2022 International Symposium on Symbolic and Algebraic Computation</source>
          ,
          <source>ISSAC '22</source>
          ,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          ,
          <year>2022</year>
          , p.
          <fpage>333</fpage>
          -
          <lpage>342</lpage>
          . doi:
          <volume>10</volume>
          .1145/3476446.3535494.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>K.</given-names>
            <surname>Myers</surname>
          </string-name>
          ,
          <article-title>Computational advances in Rado numbers</article-title>
          ,
          <source>Ph.D. thesis</source>
          , Rutgers The State University of New Jersey - New Brunswick,
          <year>2015</year>
          . doi:
          <volume>10</volume>
          .7282/T3GH9KTT.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A.</given-names>
            <surname>Meurer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. P.</given-names>
            <surname>Smith</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Paprocki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Čertík</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. B.</given-names>
            <surname>Kirpichev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Rocklin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kumar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Ivanov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. K.</given-names>
            <surname>Moore</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Singh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Rathnayake</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Vig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. E.</given-names>
            <surname>Granger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. P.</given-names>
            <surname>Muller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Bonazzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Gupta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Vats</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Johansson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Pedregosa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Curry</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. R.</given-names>
            <surname>Terrel</surname>
          </string-name>
          , v. Roučka,
          <string-name>
            <given-names>A.</given-names>
            <surname>Saboo</surname>
          </string-name>
          , I. Fernando,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kulal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Cimrman</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . Scopatz, SymPy: Symbolic computing in Python,
          <source>PeerJ Computer Science</source>
          <volume>3</volume>
          (
          <year>2017</year>
          )
          <article-title>e103</article-title>
          . doi:
          <volume>10</volume>
          .7717/peerj-cs.
          <volume>103</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7] L. de Moura, N. Bjørner,
          <source>Z3: An Eficient SMT Solver</source>
          , Springer Berlin Heidelberg,
          <year>2008</year>
          , p.
          <fpage>337</fpage>
          -
          <lpage>340</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>540</fpage>
          -78800-3_
          <fpage>24</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>E.</given-names>
            <surname>Ábrahám</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Abbott</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Becker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. M.</given-names>
            <surname>Bigatti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Brain</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Buchberger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cimatti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. H.</given-names>
            <surname>Davenport</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>England</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Fontaine</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Forrest</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Griggio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kroening</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W. M.</given-names>
            <surname>Seiler</surname>
          </string-name>
          , T. Sturm,
          <source>SC2: Satisfiability Checking Meets Symbolic Computation (Project Paper)</source>
          , Springer International Publishing,
          <year>2016</year>
          , p.
          <fpage>28</fpage>
          -
          <lpage>43</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -42547-
          <issue>4</issue>
          _
          <fpage>3</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>C.</given-names>
            <surname>Bright</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Kotsireas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Ganesh</surname>
          </string-name>
          ,
          <article-title>When satisfiability solving meets symbolic computation</article-title>
          ,
          <source>Communications of the ACM</source>
          <volume>65</volume>
          (
          <year>2022</year>
          )
          <fpage>64</fpage>
          -
          <lpage>72</lpage>
          . doi:
          <volume>10</volume>
          .1145/3500921.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>C.</given-names>
            <surname>Bright</surname>
          </string-name>
          ,
          <string-name>
            <surname>K. K. H. Cheung</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Stevens</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          <string-name>
            <surname>Kotsireas</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Ganesh</surname>
          </string-name>
          ,
          <article-title>A SAT-based resolution of Lam's problem</article-title>
          ,
          <source>Proceedings of the AAAI Conference on Artificial Intelligence</source>
          <volume>35</volume>
          (
          <year>2021</year>
          )
          <fpage>3669</fpage>
          -
          <lpage>3676</lpage>
          . doi:
          <volume>10</volume>
          .1609/aaai.v35i5.
          <fpage>16483</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>M.</given-names>
            <surname>Kirchweger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Peitl</surname>
          </string-name>
          ,
          <string-name>
            <surname>S. Szeider,</surname>
          </string-name>
          <article-title>Co-certificate learning with SAT modulo symmetries</article-title>
          ,
          <source>in: Proceedings of the Thirty-Second International Joint Conference on Artificial Intelligence, IJCAI2023</source>
          ,
          <source>International Joint Conferences on Artificial Intelligence Organization</source>
          ,
          <year>2023</year>
          , p.
          <fpage>1944</fpage>
          -
          <lpage>1953</lpage>
          . doi:
          <volume>10</volume>
          .24963/ijcai.
          <year>2023</year>
          /216.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bright</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Ganesh</surname>
          </string-name>
          ,
          <article-title>A SAT solver + computer algebra attack on the minimum Kochen-Specker problem</article-title>
          ,
          <source>in: Proceedings of the Thirty-Third International Joint Conference on Artificial Intelligence, IJCAI-2024, International Joint Conferences on Artificial Intelligence Organization</source>
          ,
          <year>2024</year>
          , p.
          <fpage>1898</fpage>
          -
          <lpage>1906</lpage>
          . doi:
          <volume>10</volume>
          .24963/ijcai.
          <year>2024</year>
          /210.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>M.</given-names>
            <surname>Kouril</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. L.</given-names>
            <surname>Paul</surname>
          </string-name>
          , The van der Waerden number (
          <issue>2</issue>
          , 6) is 1132,
          <source>Experimental Mathematics</source>
          <volume>17</volume>
          (
          <year>2008</year>
          )
          <fpage>53</fpage>
          -
          <lpage>61</lpage>
          . doi:
          <volume>10</volume>
          .1080/10586458.
          <year>2008</year>
          .
          <volume>10129025</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>P. R.</given-names>
            <surname>Herwig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. J. H.</given-names>
            <surname>Heule</surname>
          </string-name>
          ,
          <string-name>
            <surname>P. M. van Lambalgen</surname>
            ,
            <given-names>H. van Maaren</given-names>
          </string-name>
          ,
          <article-title>A new method to construct lower bounds for van der Waerden numbers</article-title>
          ,
          <source>The Electronic Journal of Combinatorics</source>
          <volume>14</volume>
          (
          <year>2007</year>
          ). doi:
          <volume>10</volume>
          .37236/925.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>T.</given-names>
            <surname>Ahmed</surname>
          </string-name>
          ,
          <article-title>Some new van der Waerden numbers and some van der Waerden-type numbers</article-title>
          ,
          <source>Integers</source>
          <volume>9</volume>
          (
          <year>2009</year>
          )
          <fpage>65</fpage>
          -
          <lpage>76</lpage>
          . doi:
          <volume>10</volume>
          .1515/INTEG.
          <year>2009</year>
          .
          <volume>007</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>T.</given-names>
            <surname>Ahmed</surname>
          </string-name>
          , Two new van der Waerden numbers:
          <source>(2; 3</source>
          , 17) and (
          <issue>2</issue>
          ;
          <fpage>3</fpage>
          ,
          <issue>18</issue>
          ),
          <source>Integers</source>
          <volume>10</volume>
          (
          <year>2010</year>
          )
          <fpage>369</fpage>
          -
          <lpage>377</lpage>
          . doi:
          <volume>10</volume>
          .1515/integ.
          <year>2010</year>
          .
          <volume>032</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>T.</given-names>
            <surname>Ahmed</surname>
          </string-name>
          ,
          <article-title>On computation of exact van der Waerden numbers</article-title>
          ,
          <source>Integers</source>
          <volume>12</volume>
          (
          <year>2012</year>
          )
          <fpage>417</fpage>
          -
          <lpage>425</lpage>
          . doi:
          <volume>10</volume>
          .1515/integ.
          <year>2011</year>
          .
          <volume>112</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>T.</given-names>
            <surname>Ahmed</surname>
          </string-name>
          ,
          <article-title>Some more van der Waerden numbers</article-title>
          ,
          <source>Journal of Integer Sequences</source>
          <volume>16</volume>
          (
          <year>2013</year>
          ).
          <source>Article 13.4</source>
          .4.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>T.</given-names>
            <surname>Ahmed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Kullmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Snevily</surname>
          </string-name>
          , On the van der Waerden numbers w(
          <volume>2</volume>
          ;
          <fpage>3</fpage>
          , ),
          <source>Discrete Applied Mathematics</source>
          <volume>174</volume>
          (
          <year>2014</year>
          )
          <fpage>27</fpage>
          -
          <lpage>51</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.dam.
          <year>2014</year>
          .
          <volume>05</volume>
          .007.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>T.</given-names>
            <surname>Ahmed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. J.</given-names>
            <surname>Schaal</surname>
          </string-name>
          ,
          <article-title>On generalized Schur numbers</article-title>
          ,
          <source>Experimental Mathematics</source>
          <volume>25</volume>
          (
          <year>2016</year>
          )
          <fpage>213</fpage>
          -
          <lpage>218</lpage>
          . doi:
          <volume>10</volume>
          .1080/10586458.
          <year>2015</year>
          .
          <volume>1070776</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>T.</given-names>
            <surname>Ahmed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Boza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. P.</given-names>
            <surname>Revuelta</surname>
          </string-name>
          ,
          <string-name>
            <surname>M. I. Sanz</surname>
          </string-name>
          ,
          <article-title>Exact values and lower bounds on the -color weak Schur numbers for  = 2, 3</article-title>
          ,
          <source>The Ramanujan Journal</source>
          <volume>62</volume>
          (
          <year>2023</year>
          )
          <fpage>347</fpage>
          -
          <lpage>363</lpage>
          . doi:
          <volume>10</volume>
          .1007/ s11139-023-00760-y.
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>M. J. H. Heule</surname>
          </string-name>
          ,
          <article-title>Schur number five</article-title>
          ,
          <source>in: Proceedings of AAAI-18</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>6598</fpage>
          -
          <lpage>6606</lpage>
          . doi:
          <volume>10</volume>
          . 1609/aaai.v32i1.
          <fpage>12209</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>A.</given-names>
            <surname>Biere</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Faller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Fazekas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Fleury</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Froleyks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Pollitt</surname>
          </string-name>
          , CaDiCaL
          <volume>2</volume>
          .0, in: A.
          <string-name>
            <surname>Gurfinkel</surname>
          </string-name>
          , V. Ganesh (Eds.),
          <source>Computer Aided Verification - 36th International Conference, CAV 2024</source>
          , Montreal, QC, Canada,
          <source>July 24-27</source>
          ,
          <year>2024</year>
          , Proceedings,
          <string-name>
            <surname>Part</surname>
            <given-names>I</given-names>
          </string-name>
          , volume
          <volume>14681</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2024</year>
          , pp.
          <fpage>133</fpage>
          -
          <lpage>152</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>031</fpage>
          -65627-
          <issue>9</issue>
          _
          <fpage>7</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>A.</given-names>
            <surname>Biere</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Faller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Fazekas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Fleury</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Froleyks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Pollitt</surname>
          </string-name>
          , CaDiCaL, Gimsatul,
          <source>IsaSAT and Kissat entering the SAT Competition</source>
          <year>2024</year>
          , in: M.
          <string-name>
            <surname>Heule</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Iser</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Järvisalo</surname>
          </string-name>
          , M. Suda (Eds.),
          <source>Proc. of SAT Competition 2024 - Solver, Benchmark and Proof Checker Descriptions, volume B-2024-1 of Department of Computer Science Report Series B</source>
          , University of Helsinki,
          <year>2024</year>
          , pp.
          <fpage>8</fpage>
          -
          <lpage>10</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>A.</given-names>
            <surname>Ignatiev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Morgado</surname>
          </string-name>
          , J. Marques-Silva,
          <article-title>PySAT: A Python toolkit for prototyping with SAT oracles</article-title>
          , in: SAT,
          <year>2018</year>
          , pp.
          <fpage>428</fpage>
          -
          <lpage>437</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -94144-8_
          <fpage>26</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>J.</given-names>
            <surname>Shallit</surname>
          </string-name>
          ,
          <article-title>Say no to case analysis: Automating the drudgery of case-based proofs</article-title>
          ,
          <source>in: CIAA</source>
          <year>2021</year>
          , volume
          <volume>12803</volume>
          <source>of LNCS</source>
          ,
          <year>2021</year>
          , pp.
          <fpage>14</fpage>
          -
          <lpage>24</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>030</fpage>
          -79121-
          <issue>6</issue>
          _
          <fpage>2</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>