<!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>An SC-Square Approach to the Minimum Kochen-Specker Problem</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Zhengyu Li</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Curtis Bright</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vijay Ganesh</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Toronto</institution>
          ,
          <country country="CA">Canada</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Waterloo</institution>
          ,
          <country country="CA">Canada</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Windsor</institution>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>One of the most fundamental results in the foundations of quantum mechanics is the Kochen-Specker (KS) theorem, a 'no-go' theorem which states that contextuality is an essential feature of any hiddenvariable theory. The theorem hinges on the existence of a mathematical object called a KS vector system, and its minimum size in three dimensions has been an open problem worked on by renowned physicists and mathematicians for over fifty years. We improved the lower bound on the size of a three-dimensional KS system from 22 to 23 with a significant speed-up over the most recent computational approach. Our approach combines the combinatorial search capabilities of satisfiability (SAT) solvers, the isomorph-free exhaustive generation capabilities of computer algebra systems (CASs), and the nonlinear real arithmetic solving capabilities of SAT modulo theory (SMT) solvers. Our work therefore fits directly into the Satisfiability Checking and Symbolic Computation (SC-Square) paradigm.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Satisfiability solving</kwd>
        <kwd>symbolic computation</kwd>
        <kwd>symmetry breaking</kwd>
        <kwd>isomorph-free generation</kwd>
        <kwd>Kochen- Specker systems</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Hidden-variable theory aims to model quantum phenomenons by speculating the existence of
a theory with unobservable degrees of freedom. The formulation of such a theory has been
attempted by many accomplished physicists, including Einstein, Podolsky, and Rosen [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], and
Bohm [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. However, there are theorems describing observable properties of quantum mechanics
under assumptions of either locality or noncontextuality, asserting that any hidden-variable
theory is subject to several constraints. Two examples of such theories are Bell’s theorem [3]
and the Kochen–Specker theorem [4]. Bell’s theorem states that, given the principle of locality,
certain predictions of quantum mechanics using any hidden-variable theory are incorrect.
The Kochen–Specker (KS) theorem states that, given the principle of noncontextuality, it is
impossible to assign values to all physical observables consistently.
      </p>
      <p>A KS System is a set of 3-dimensional vectors that proves the KS theorem by demonstrating
contextuality. In this paper, we refer to the KS problem as the problem of finding the minimum
size of a three-dimensional KS system. Finding the minimum KS system not only has historical
significance, but also paves the way for near-future applications in quantum information
processing [5]. So far, the complexity of known KS systems has prevented physicists from using
them for any application. Finding the minimum 3-dimensional KS system reduces its intrinsic
complexity, and could enable applications in security of quantum cryptographic protocols based
on complementarity [6], zero-error classical communication [7], and dimension witnessing [8].</p>
      <p>Boolean satisfiability (SAT) is one of the most influential problems in computer science and
mathematics, as it has been studied intensively since it was shown to be NP-complete [9]. Over
the last two decades, the design and implementation of conflict-driven clause learning (CDCL)
SAT solving algorithms has enabled the solution of instances with millions of variables [10].
Even more surprisingly, SAT solvers frequently outperform special-purpose algorithms designed
for software engineering [11], verification [12], and AI planning [13].</p>
      <p>Despite these fantastic achievements, SAT solvers struggle on certain problems such as those
containing symmetries [14] or those requiring the usage of mathematical theories more advanced
than propositional logic [15]. Much work has been done to remedy these drawbacks, including
the development of sophisticated symmetry breaking techniques [16, 17] and the development
of solvers that support richer logics [18] (“SAT modulo theories” or SMT solvers). However,
the mathematical support of SMT solvers is quite primitive when compared with the vast
mathematical functionality available in a modern computer algebra system (CAS). A new kind
of solving methodology [19] was developed in 2015 that harnesses SAT solving in addition to the
eficient mathematical algorithms of CASs [ 20, 21]. This “SAT+CAS” solving methodology has
since been successfully applied to many diverse problems, including circuit verification [ 22, 23],
automatic debugging [24], finding circuits for matrix multiplication [ 25], computing directed
Ramsey numbers [26], finding sequences and matrices with special properties [ 27, 28], and
solving Lam’s problem from projective geometry [29]. In this paper, we use the SAT+CAS
solving methodology to dramatically improve the performance of searching for KS systems
when compared to an out-of-the-box SAT solver or an out-of-the-box CAS.</p>
      <p>Our work provides a new lower bound on the size of a three-dimensional KS system and
discovers missing candidates from Uijlen and Westerbaan’s search [30] for KS systems of size 20.
We search for KS systems using a SAT solver coupled with computer algebraic routines (to
remove symmetry from the search) and an SMT solver (to solve nonlinear real systems). The
approach is motivated by the observation that a great number of properties that a KS system
must satisfy can be converted into Boolean logic.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Background</title>
      <p>In quantum mechanics, spin is an intrinsic form of angular momentum carried by elementary
particles. Its existence can be concluded by the Stern–Gerlach experiment [31]. In this context,
a spin-1 particle is shot through a fixed inhomogeneous magnetic field and continues
nondeflected, deflects up, or deflects down. Along any given axes or directions of measurement, the
spin-1 particle has 3 possible angular momentum states, namely 0, 1, and − 1. Thus, the squared
result of such measurements along any direction is always 0 or 1. The SPIN axiom states that
given three pairwise orthogonal directions of measurement, the squared spin components of a
spin-1 particle are 1, 0, 1 in these three directions. Thus, the observable corresponding to the
question “is the squared spin 0?” measured in three mutually orthogonal directions will always
produce yes (or 1) in exactly one direction and no (or 0) in the other two directions. The SPIN
axiom follows from the postulates of quantum mechanics and is experimentally verifiable [ 32].</p>
      <p>A KS vector system can be represented in multiple ways—we describe it as a finite set of
points on a sphere. As a consequence of the SPIN axiom, the squared-spin measurements along
opposite directions must yield the same outcome, and we can restrict the domain to the northern
hemisphere. To define a KS vector system, we formally define a vector system and the notion of
010-colourability.</p>
      <sec id="sec-2-1">
        <title>Definition 1.</title>
        <sec id="sec-2-1-1">
          <title>A vector system is a finite subset of the closed northern hemisphere.</title>
        </sec>
        <sec id="sec-2-1-2">
          <title>Definition 2. A vector system is 010-colourable if there exists an assignment of 0 and 1 to each</title>
          <p>vector such that:
1. No two orthogonal vectors are assigned 1.</p>
          <p>2. Three mutually orthogonal vectors are not all assigned to 0.</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>Definition 3.</title>
        <p>A Kochen–Specker vector system is a vector system that is not 010-colourable.</p>
        <p>Exhibiting the existence of a KS vector system proves the KS theorem, which states that there
is no function from the closed northern hemisphere to {0, 1} that satisfies the 010-property.
Each KS vector system has a corresponding KS graph, defined as follows.</p>
        <p>Definition 4. For a vector system , define its orthogonality graph  = (, ), where
 = ,  = { (1, 2) : 1, 2 ∈  and 1 · 2 = 0 }.</p>
        <p>A KS graph is the orthogonality graph of a KS system. Essentially, the vertices of  are the
vectors in , and there exists an edge between two vertices if and only if their corresponding
vectors are orthogonal. We can also translate the notion of 010-colourability from a vector
system to a graph.</p>
        <p>Definition 5. A graph  is 010-colourable if there is a {0, 1}-colouring of the vertices such that
the following two conditions are satisfied simultaneously:
1. Adjacent vertices are not both coloured 1.
2. For each triangle in , there is exactly one vertex that is coloured 1.</p>
        <p>It is not guaranteed that there is a corresponding vector system for an arbitrary graph. If a
graph does have a corresponding vector system, we say that this graph is embeddable.
Definition 6. A graph  = (, ) is embeddable if it is a subgraph of an orthogonality graph
 for some vector system .</p>
        <p>Essentially, being embeddable implies the existence of a vector system  whose vectors
have a one-to-one correspondence with the vertices of  in such a way that adjacent vertices
are mapped to orthogonal vectors. It is not necessary for non-adjacent vertices to go to
nonorthogonal vectors by the definition above, though it is necessary for distinct vertices to be
mapped to distinct vectors. An example of a unembeddable graph would be the cycle graph
of order 4, as the orthogonality constraints would force a pair of opposite vertices of 4 to
be mapped to the same point. A KS graph must be both embeddable and non-010-colourable.
Every KS system corresponds to a KS graph, allowing us to translate a problem on KS systems
into a problem on KS graphs.</p>
        <p>
          Throughout the years, renowned mathematicians and physicists such as Roger Penrose, Asher
Peres, and John Conway have attempted to find a minimum three-dimensional KS system. The
current smallest known KS system contains 31 vectors and was discovered by John Conway
and Simon Kochen around 1990 [33]. This was communicated to Peres [
          <xref ref-type="bibr" rid="ref3">34</xref>
          ], who found a more
symmetric system of 33 vectors [
          <xref ref-type="bibr" rid="ref4">35</xref>
          ]. Shortly later, Penrose [
          <xref ref-type="bibr" rid="ref5 ref6">36, 37</xref>
          ] found another system of 33
vectors. In 2011, Arends, Ouaknine, and Wampler [
          <xref ref-type="bibr" rid="ref7">38</xref>
          ] proved several properties that any KS
graph must have and applied them to computationally prove that a KS system must contain at
least 18 vectors. Seven years later, Uijlen and Westerbaan [30] showed that a KS system must
have at least 22 vectors. This computational efort used around 300 CPU cores for three months
and relied on the nauty software package [
          <xref ref-type="bibr" rid="ref8">39</xref>
          ] to exhaustively search for KS vector systems.
Pavičić, Merlet, McKay, and Megill [
          <xref ref-type="bibr" rid="ref9">40</xref>
          ] have also shown that a KS system in which each vector
is part of a mutually orthogonal triple must have at least 30 vectors. However, despite these
extensive searches, the gap between the lower and upper bounds remains significant and the
minimum size of a 3-dimensional KS system remains unknown.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. SAT Encoding of the KS Problem</title>
      <p>
        A KS vector system  can be converted into a KS graph . Each vector in  can be assigned
to a vertex in , so that if two vectors are orthogonal, then their corresponding vertices are
connected. Therefore, to find a KS vector system, it is suficient to find a Kochen–Specker graph.
A KS graph is minimal if the only subgraph that is a KS graph is itself. Arends, Ouaknine,
Wampler [
        <xref ref-type="bibr" rid="ref7">38</xref>
        ] proved that a minimal three-dimensional KS graph must satisfy the following
properties:
1. The graph must not contain a subgraph isomorphic to 4.
2. Each vertex of the graph must have minimum degree 3.
      </p>
      <p>3. Every vertex is part of a triangle graph 3.</p>
      <p>We will encode these three properties above and the non-010-colourability of the KS graph in
conjunctive normal form (CNF) in order to search for KS graphs using a SAT solver. If the solver
produces solutions, these solutions are equivalent to graphs satisfying all four properties. A
simple undirected graph of order  has (︀ )︀ potential edges, and we will represent each edge
2
as a Boolean variable. The edge variable  will be true exactly when vertices  and  are
connected where 1 ≤  &lt;  ≤ . For convenience, we let both  and  denote the same
variable. We also use the (︀ )︀ triangle variables  denoting that distinct vertices , , and 
3
are mutually connected. In Boolean logic this is expressed as  ↔ ( ∧  ∧ ) which in
conjunctive normal form is expressed via the four clauses ¬ ∨  , ¬ ∨ , ¬ ∨ ,
and ¬ ∨ ¬ ∨ ¬ ∨ . Again, the indices , , and  of the variable  may be reordered
arbitrarily for notational convenience.</p>
      <p>Encoding the Squarefree Constraint To encode the property that a KS graph must be
squarefree, we construct encodings that prevent the existence of any possible squares in the
graph. Three squares can be formed on four vertices. Therefore, for each choice of four vertices
, , , , we use the three clauses ¬ ∨ ¬ ∨ ¬ ∨ ¬, ¬ ∨ ¬ ∨ ¬ ∨ ¬, and
¬ ∨ ¬ ∨ ¬ ∨ ¬. By enumerating over all possible choices of four vertices and
constructing the above CNF formula, we force the graph to be squarefree.</p>
      <p>Encoding the Minimum Degree Constraint For each vertex , to ensure that  is connected
to at least three other vertices, we take each subset  of the set {1, . . . ,  − 1,  + 1, . . . , } with
cardinality  − 3 and construct the clause ⋁︀∈  . By enumerating over all such subsets we
enforce a minimum degree of 3 on vertex . Thus, constructing similar formulae for all vertices
1 ≤  ≤  forces any vertex in the graph to have a degree of at least 3.</p>
      <p>Encoding the Triangle Constraint We now encode the property that every vertex is part
of a triangle. For each vertex , we require 2 other distinct vertices to form a triangle and there
are (︀ −2 1)︀ possible triangles containing . At least one of those triangles must be present in the
graph and this is ensured by the clause ⋁︀,∈  where  is {1, . . . ,  − 1,  + 1, . . . , } and
 &lt; . Using this clause for each 1 ≤  ≤  ensures that every vertex is part of a triangle.
Encoding the Colourability Constraint We generate clauses to block as many
010colourable graphs as possible (ideally all of them, leaving only the non-010-colourable graphs).
A graph is non-010-colourable if and only if for all {0, 1}-colourings of the graph a pair of
colour-1 vertices is connected or a set of three colour-0 vertices are mutually connected. The
idea is to consider many {0, 1}-colourings and construct clauses that block the graphs for which
those colourings form a 010-colouring.</p>
      <p>For each {0, 1}-colouring, we have a set of colour-0 vertices 0 and a set of colour-1 vertices 1.
Given a specific such colouring, the clause</p>
      <p>⋁︁  ∨
,∈1
&lt;</p>
      <p>⋁︁
,,∈0
&lt;&lt;

enforces that the colouring is not a 010-colouring of the graph since either a pair of colour-1
vertices is connected or a set of three colour-0 vertices is mutually connected. Due to the large
number of possible {0, 1}-colourings, we only consider colourings with less than or equal to
⌈ 2 ⌉ colour-1 vertices. Colourings with more than ⌈ 2 ⌉ colour-1 vertices are unlikely to be
010-colourings and in practice were not useful in blocking 010-colourable graphs.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Embeddability Checking</title>
      <p>
        We verify the embeddability of a KS graph using an SMT approach. We refer to the solutions
generated by the SAT solver as KS candidates. If a KS candidate is embeddable, then it is a
KS system. Our embeddability checking algorithm consists of two parts. The first part is a
direct integration of Uijlen and Westerbaan’s vector assignment algorithm [30], which finds all
possible interpretations to describe the orthogonal relations between the vectors. We define
free vectors as vectors that have not been fixed as the cross product of two vectors. Of all
possible interpretations, we choose the one with the least number of free vectors, since such an
assignment will likely be solved in the least amount of time. The second part of the algorithm
applies an SMT solver to determine the satisfiability of an intepretation. An interpretation
generated by Uijlen and Westerbaan’s algorithm can be converted into a set of cross and dot
product equations, and we pass these equations into the SMT solver Z3 [
        <xref ref-type="bibr" rid="ref10">41</xref>
        ].
1. If  is connected to  and , then  = ( × ) or  = ( ×  ).
2. If  are  are not connected, then  is not collinear to  , and  ×  ̸= ⃗0.
3. If  and  are connected, then  and  are orthogonal, and  ·  = 0.
To check whether a graph is embeddable, we use the Z3 theorem prover to determine whether
such a system of equations is satisfiable over the real numbers. Z3 applies a CDCL-style
algorithm to determine the satisfiability of non-linear arithmetic constraints [
        <xref ref-type="bibr" rid="ref11">42</xref>
        ]. Given a
system of equations, Z3 will attempt to find a solution for all variables. If a solution is found, it
is an assignment of vertices to vectors that satisfies all orthogonality constraints and the graph
is therefore embeddable.
      </p>
    </sec>
    <sec id="sec-5">
      <title>5. Implementation</title>
      <p>
        Directly solving a SAT instance with the above encodings is only feasible for smaller orders,
since the number of graphs in the search space increases exponentially with the order. We
implement two efective techniques to reduce runtime. One is an orderly generation technique
that generates graphs in the search space up to isomorphism, and the other is a parallelization
technique.
5.1. Orderly Generation
We use a hybrid SAT and isomorphic-free generation approach. First, we introduce the orderly
generation approach, developed independently by Igor Faradžev [
        <xref ref-type="bibr" rid="ref12">43</xref>
        ] and Ronald Read [
        <xref ref-type="bibr" rid="ref13">44</xref>
        ] in
1978. It uses the following canonical representation of a graph.
      </p>
      <p>Definition 7. An adjacency matrix  is canonical if every permutation of its rows produces
a matrix lexicographically greater or equal to  , where the lexicographical order is defined by
concatenating the above-diagonal entries of the columns of the adjacency matrix in order.</p>
      <p>The parent of an  ×  matrix  is the upper-left ( − 1) × ( − 1) submatrix of . The
orderly generation method is based on the following two consequences of Definition 7:
1. Every isomorphic class of graphs has only one canonical representative.</p>
      <p>2. If a matrix is canonical, then its parent is also canonical.</p>
      <p>Note that the second property implies that if a matrix is not canonical, then all of its children
are not canonical. Therefore, we can reject all intermediate noncanonical matrices, as they will
not lead us to a canonical matrix in the search tree and we only want to generate canonical
matrices. Orderly generation works by recording intermediate canonical objects and iteratively
extending them a row and column at a time until the matrices have been extended to a full
canonical matrix.</p>
      <p>
        In our SAT+CAS implementation, when the SAT solver finds an intermediate matrix the
canonicity of this matrix is determined by a canonicity-checking routine implemented in C++
and the MathCheck system [
        <xref ref-type="bibr" rid="ref14">45</xref>
        ]. If the matrix is noncanonical then a blocking clause is learned
which removes this matrix (and all of its children) from the search. Otherwise, the matrix
is canonical and the SAT solver proceeds as normal. We also combine this process with the
symmetry breaking clauses of Codish et al. that canonical matrices can be shown to satisfy [46,
Def. 8].
      </p>
      <p>
        We simplify the SAT instance using the SAT solver CaDiCaL [
        <xref ref-type="bibr" rid="ref16">47</xref>
        ] before solving the instance
using MapleSAT [
        <xref ref-type="bibr" rid="ref17">48</xref>
        ]. As a preprocessing step, we also run the orderly generation process on
graphs with up to 12 vertices and add the generated blocking clauses directly into the instance
provided to CaDiCaL—this allows the simplification to incorporate some of the knowledge
derived from the orderly generation process.
5.2. Parallelization
For orders above 20, parallelization is applied by dividing the instance into smaller subproblems
using the cube-and-conquer approach [49]. The approach applies a lookahead solver [50] to
partition a hard problem into many subspaces, and ofers very eficient solving time for some
combinatorial problems. During the splitting, the lookahead solver tries to find the next variable
that will split the search space the most evenly. We use the lookahead solver March_cu [51].
Each splitting variable will be added to the SAT instance as a new unit clause, generating two
subproblems (one with a positive unit clause and one with a negative unit clause) that can be
solved in parallel. We terminate the cubing process when a significant number of edge variables
have been fixed in each subproblem.
      </p>
    </sec>
    <sec id="sec-6">
      <title>6. Results</title>
      <p>Given the CNF file with the encoded constraints, we use the aforementioned techniques
combined with the SAT+CAS approach to verify all previous results on KS systems up to order 21
and improve the best known lower bound with a significant speedup factor. All computations
are done on Intel E5-2683 CPUs @ 2.1GHz administrated by Compute Canada. Table 1
summarizes our results: our computation1 on order 21 is over 1000 times faster than the previous
computational search of Uijlen and Westerbaan [30]. We apply cube-and-conquer and naive
parallel SAT solving on order 21 and 22 due to the combinatorial explosion caused by the large
order. We eliminate 75 edge variables from subproblems in order 21 and 90 edge variables in
order 22 during the cubing process. Some cubes of order 22 with 90 edge variables eliminated
define instances that are not solved within 72 CPU hours, so we perform additional cubing on
these instances until at least 125 edge variables have been eliminated.
1We provide an easy-to-use open source repository (https://github.com/BrianLi009/PhysicsCheck) for readers to
reproduce our results.</p>
      <p>Order</p>
      <p>Candidates Simplification</p>
      <p>Cubing</p>
      <p>All 90,935 KS candidates of order less than 23 are unembeddable, so a KS system must contain
at least 23 vectors. We compared our Kochen–Specker candidates with Uijlen and Westerbaan’s
results, and have verified their results up to order 21—though we obtained fewer candidates
for each order because Uijlen and Westerbaan did not require every vertex of a candidate to be
part of a triangle. However, we found four additional KS candidates in order 20 that are not
present in Uijlen and Westerbaan’s collection, indicating their search was incomplete. We have
verified that these four additional graphs satisfy the constraints of a KS candidate and therefore
would be KS systems were they embeddable. Note that not all KS candidates we discovered
are minimal. Some KS candidates of larger order contain a KS candidate of smaller order as a
subgraph.</p>
    </sec>
    <sec id="sec-7">
      <title>7. Conclusion</title>
      <p>In this paper we improved the lower bound on the size of a minimum three-dimensional KS
vector system, improved the eficiency of searching for KS systems by orders of magnitude, and
found KS candidates not present in the previous result of Uijlen and Westerbaan [30]. Compared
to previous work, our approach is less error-prone and provides robust results, since it reduces
the need for custom-purpose search algorithms. The SC-Square paradigm has resolved a number
of problems from combinatorics, number theory, and geometry that were not solvable using
either SAT solvers or CAS alone, and was proven once again to be an efective approach for
combinatorial problems. Using a completely new approach we made substantial progress on the
long-standing open problem of determining the smallest possible KS system. With this work
we extend the reach of the SAT+CAS paradigm, for the first time, to resolving combinatorial
questions in the realm of foundations of quantum mechanics.
[3] J. S. Bell, J. S. Bell, Speakable and unspeakable in quantum mechanics: Collected
papers on quantum philosophy, Cambridge university press, 2004. doi:10.1017/
CBO9780511815676.
[4] S. Kochen, E. P. Specker, The Problem of Hidden Variables in Quantum Mechanics, Journal
of Mathematics and Mechanics 17 (1967) 59–87. doi:10.1007/978-94-010-1795-4_17.
[5] G. Canas, M. Arias, S. Etcheverry, E. S. Gómez, A. Cabello, G. B. Xavier, G. Lima, Applying
the simplest Kochen-Specker set for quantum information processing, Physical review
letters 113 (2014) 090404. doi:10.1103/PhysRevLett.113.090404.
[6] A. Cabello, V. D’Ambrosio, E. Nagali, F. Sciarrino, Hybrid ququart-encoded quantum
cryptography protected by Kochen-Specker contextuality, Physical Review A 84 (2011)
030302. doi:10.1103/PhysRevA.84.030302.
[7] T. S. Cubitt, D. Leung, W. Matthews, A. Winter, Improving zero-error classical
communication with entanglement, Physical Review Letters 104 (2010) 230503. doi:10.1103/
PhysRevLett.104.230503.
[8] O. Gühne, C. Budroni, A. Cabello, M. Kleinmann, J.-Å. Larsson, Bounding the quantum
dimension with contextuality, Physical Review A 89 (2014) 062107. doi:10.1103/PhysRevA.
89.062107.
[9] S. A. Cook, The complexity of theorem-proving procedures, in: Proceedings of the
third annual ACM symposium on Theory of computing, 1971, pp. 151–158. doi:10.1145/
800157.805047.
[10] V. Ganesh, M. Y. Vardi, On the unreasonable efectiveness of SAT solvers, 2020. URL:
https://www.cs.rice.edu/~vardi/papers/SATSolvers21.pdf.
[11] C. Cadar, V. Ganesh, P. M. Pawlowski, D. L. Dill, D. R. Engler, EXE: Automatically generating
inputs of death, ACM Transactions on Information and System Security (TISSEC) 12 (2008)
1–38. doi:10.1145/1455518.1455522.
[12] E. Clarke, A. Biere, R. Raimi, Y. Zhu, Bounded model checking using satisfiability solving,</p>
      <p>Formal methods in system design 19 (2001) 7–34. doi:10.1023/A:1011276507260.
[13] H. A. Kautz, B. Selman, et al., Planning as satisfiability, in: ECAI, volume 92, Citeseer, 1992,
pp. 359–363. URL: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.35.9443&amp;rep=
rep1&amp;type=pdf.
[14] C. Bright, J. Gerhard, I. Kotsireas, V. Ganesh, Efective problem solving using SAT solvers,
in: Maple in Mathematics Education and Research, volume 1125 of Communications in
Computer and Information Science, Springer, Cham, 2020, pp. 205–219. doi:10.1007/
978-3-030-41258-6_15.
[15] E. Ábrahám, G. Kremer, Satisfiability checking: Theory and applications, in: International
Conference on Software Engineering and Formal Methods, Springer, 2016, pp. 9–23. doi:10.
1007/978-3-319-41591-8_2.
[16] F. A. Aloul, K. A. Sakallah, I. L. Markov, Eficient symmetry breaking for Boolean
satisfiability, IEEE Transactions on Computers 55 (2006) 549–558. doi:10.1109/TC.2006.75.
[17] F. A. Aloul, A. Ramani, I. L. Markov, K. A. Sakallah, Solving dificult SAT instances in the
presence of symmetry, in: Proceedings 2002 Design Automation Conference (IEEE Cat.</p>
      <p>No. 02CH37324), IEEE, 2002, pp. 731–736. doi:10.1109/DAC.2002.1012719.
[18] C. Barrett, P. Fontaine, C. Tinelli, The Satisfiability Modulo Theories Library (SMT-LIB),
www.SMT-LIB.org, 2016.
[19] E. Ábrahám, Building bridges between symbolic computation and satisfiability checking,
in: Proceedings of the 2015 ACM on International Symposium on Symbolic and Algebraic
Computation, 2015, pp. 1–6. doi:10.1145/2755996.2756636.
[20] C. Bright, I. Kotsireas, V. Ganesh, SAT solvers and computer algebra systems: A powerful
combination for mathematics, in: Proceedings of the 29th International Conference on
Computer Science and Software Engineering, 2019, pp. 323–328. URL: https://dl.acm.org/
doi/abs/10.5555/3370272.3370309.
[21] C. Bright, I. Kotsireas, V. Ganesh, When satisfiability solving meets symbolic computation,</p>
      <p>Communications of the ACM 65 (2022) 64–72. doi:10.1145/3500921.
[22] D. Kaufmann, A. Biere, M. Kauers, Verifying large multipliers by combining SAT and
computer algebra, in: 2019 Formal Methods in Computer Aided Design (FMCAD), IEEE,
2019. doi:10.23919/fmcad.2019.8894250.
[23] A. Mahzoon, D. Große, C. Scholl, A. Konrad, R. Drechsler, Formal verification of modular
multipliers using symbolic computer algebra and Boolean satisfiability, in: 59th Design
Automation Conference (DAC), 2022. URL: https://www.informatik.uni-bremen.de/agra/
doc/konf/Formal_Verification_of_Modular_Multipliers.pdf.
[24] A. Mahzoon, D. Große, R. Drechsler, Combining symbolic computer algebra and Boolean
satisfiability for automatic debugging and fixing of complex multipliers, in: 2018 IEEE
Computer Society Annual Symposium on VLSI (ISVLSI), IEEE, 2018. doi:10.1109/isvlsi.
2018.00071.
[25] M. J. H. Heule, M. Kauers, M. Seidl, New ways to multiply 3 × 3-matrices, Journal of</p>
      <p>Symbolic Computation 104 (2021) 899–916. doi:10.1016/j.jsc.2020.10.003.
[26] D. Neiman, J. Mackey, M. J. H. Heule, Tighter bounds on directed Ramsey number (7),
2020. doi:10.48550/ARXIV.2011.00683.
[27] C. Bright, I. Kotsireas, V. Ganesh, Applying computer algebra systems with SAT solvers
to the Williamson conjecture, Journal of Symbolic Computation 100 (2020) 187–209.
doi:10.1016/j.jsc.2019.07.024.
[28] C. Bright, I. S. Kotsireas, A. Heinle, V. Ganesh, Enumeration of complex Golay pairs via
programmatic SAT, in: Proceedings of the 2018 ACM on International Symposium on
Symbolic and Algebraic Computation, ISSAC 2018, New York, NY, USA, July 16–19, 2018,
2018, pp. 111–118. doi:10.1145/3208976.3209006.
[29] C. Bright, K. K. H. Cheung, B. Stevens, I. Kotsireas, V. Ganesh, A SAT-based resolution
of Lam’s problem, in: Proceedings of the Thirty-Fifth AAAI Conference on Artificial
Intelligence, 2021, pp. 3669–3676. URL: https://ojs.aaai.org/index.php/AAAI/article/view/
16483.
[30] S. Uijlen, B. Westerbaan, A Kochen-Specker system has at least 22 vectors, New Generation</p>
      <p>Computing 34 (2016) 3–23. doi:10.1007/s00354-016-0202-5.
[31] W. Gerla¯ch, O. Stern, Der experimentelle nachweis der richtungsquantelung im magnetfeld,</p>
      <p>Zeitschrift für Physik 9 (1922) 349–352. doi:10.1007/BF01326983.
[32] Y.-F. Huang, C.-F. Li, Y.-S. Zhang, J.-W. Pan, G.-C. Guo, Experimental test of the
KochenSpecker theorem with single photons, Physical Review Letters 90 (2003). doi:10.1103/
physrevlett.90.250401.
[33] J. Conway, S. Kochen, The geometry of the quantum paradoxes, in:
Quantum [Un]speakables, Springer Berlin Heidelberg, 2002, pp. 257–269. doi:10.1007/
[49] M. J. H. Heule, O. Kullmann, S. Wieringa, A. Biere, Cube and conquer: Guiding CDCL
SAT solvers by lookaheads, in: Haifa Verification Conference, Springer, 2011, pp. 50–65.
doi:10.1007/978-3-642-34188-5_8.
[50] M. J. H. Heule, H. van Maaren, Look-ahead based SAT solvers, Handbook of satisfiability
185 (2009) 155–184. doi:10.3233/FAIA200988.
[51] P. van der Tak, M. J. H. Heule, A. Biere, Concurrent cube-and-conquer, in: Theory and
Applications of Satisfiability Testing – SAT 2012, Springer Berlin Heidelberg, 2012, pp.
475–476. doi:10.1007/978-3-642-31612-8_42.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Einstein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Podolsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Rosen</surname>
          </string-name>
          ,
          <article-title>Can quantum-mechanical description of physical reality be considered complete?</article-title>
          ,
          <source>Physical review 47</source>
          (
          <year>1935</year>
          )
          <article-title>777</article-title>
          . doi:
          <volume>10</volume>
          .1103/PhysRev.47.777.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>D.</given-names>
            <surname>Bohm</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. J.</given-names>
            <surname>Hiley</surname>
          </string-name>
          ,
          <article-title>The undivided universe: An ontological interpretation of quantum theory</article-title>
          ,
          <source>Routledge</source>
          ,
          <year>2006</year>
          .
          <fpage>978</fpage>
          -3-
          <fpage>662</fpage>
          -05032-3_
          <fpage>18</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>A.</given-names>
            <surname>Peres</surname>
          </string-name>
          ,
          <article-title>Two simple proofs of the Kochen-Specker theorem</article-title>
          ,
          <source>Journal of Physics A: Mathematical and General</source>
          <volume>24</volume>
          (
          <year>1991</year>
          )
          <fpage>L175</fpage>
          -
          <lpage>L178</lpage>
          . doi:
          <volume>10</volume>
          .1088/
          <fpage>0305</fpage>
          -4470/24/4/003.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>A.</given-names>
            <surname>Peres</surname>
          </string-name>
          ,
          <source>Quantum theory: concepts and methods</source>
          , Springer,
          <year>2002</year>
          . doi:
          <volume>10</volume>
          .1007/ 0-306-47120-5.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [36]
          <string-name>
            <given-names>R.</given-names>
            <surname>Penrose</surname>
          </string-name>
          ,
          <article-title>On Bell non-locality without probabilities: some curious geometry</article-title>
          ,
          <source>Quantum Reflections</source>
          , Cambridge University Press, Cambridge (
          <year>2000</year>
          )
          <fpage>1</fpage>
          -
          <lpage>27</lpage>
          . URL: https://people. maths.ox.ac.uk/lmason/Tn/34/TN34-09.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [37]
          <string-name>
            <given-names>J.</given-names>
            <surname>Zimba</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Penrose</surname>
          </string-name>
          ,
          <article-title>On bell non-locality without probabilities: More curious geometry</article-title>
          ,
          <source>Studies in History and Philosophy of Science Part A</source>
          <volume>24</volume>
          (
          <year>1993</year>
          )
          <fpage>697</fpage>
          -
          <lpage>720</lpage>
          . doi:
          <volume>10</volume>
          .1016/
          <fpage>0039</fpage>
          -
          <lpage>3681</lpage>
          (
          <issue>93</issue>
          )
          <fpage>90061</fpage>
          -n.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [38]
          <string-name>
            <given-names>F.</given-names>
            <surname>Arends</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Ouaknine</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. W.</given-names>
            <surname>Wampler</surname>
          </string-name>
          ,
          <article-title>On searching for small Kochen-Specker vector systems</article-title>
          , in: International Workshop on Graph-Theoretic Concepts in
          <source>Computer Science</source>
          , Springer,
          <year>2011</year>
          , pp.
          <fpage>23</fpage>
          -
          <lpage>34</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>642</fpage>
          -25870-
          <issue>1</issue>
          _
          <fpage>4</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [39]
          <string-name>
            <surname>B. D. McKay</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Piperno</surname>
          </string-name>
          ,
          <article-title>Practical graph isomorphism, II</article-title>
          ,
          <source>Journal of Symbolic Computation</source>
          <volume>60</volume>
          (
          <year>2014</year>
          )
          <fpage>94</fpage>
          -
          <lpage>112</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.jsc.
          <year>2013</year>
          .
          <volume>09</volume>
          .003.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [40]
          <string-name>
            <given-names>M.</given-names>
            <surname>Pavičić</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.-P.</given-names>
            <surname>Merlet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>McKay</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. D.</given-names>
            <surname>Megill</surname>
          </string-name>
          ,
          <article-title>Kochen-Specker vectors</article-title>
          ,
          <source>Journal of Physics A: Mathematical and General</source>
          <volume>38</volume>
          (
          <year>2005</year>
          )
          <fpage>1577</fpage>
          -
          <lpage>1592</lpage>
          . doi:
          <volume>10</volume>
          .1088/
          <fpage>0305</fpage>
          -4470/38/7/013.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [41]
          <string-name>
            <surname>L. de Moura</surname>
          </string-name>
          , N. Bjørner,
          <article-title>Z3: An eficient SMT solver</article-title>
          ,
          <source>in: International conference on Tools and Algorithms for the Construction and Analysis of Systems</source>
          , Springer,
          <year>2008</year>
          , pp.
          <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="ref11">
        <mixed-citation>
          [42]
          <string-name>
            <given-names>D.</given-names>
            <surname>Jovanović</surname>
          </string-name>
          , L. de Moura,
          <article-title>Solving non-linear arithmetic</article-title>
          ,
          <source>in: International Joint Conference on Automated Reasoning</source>
          , Springer,
          <year>2012</year>
          , pp.
          <fpage>339</fpage>
          -
          <lpage>354</lpage>
          . doi:
          <volume>10</volume>
          .1007/ 978-3-
          <fpage>642</fpage>
          -31365-3_
          <fpage>27</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [43]
          <string-name>
            <surname>I. Faradžev</surname>
          </string-name>
          ,
          <article-title>Constructive enumeration of combinatorial objects</article-title>
          ,
          <source>in: Problèmes combinatoires et théorie des graphes</source>
          ,
          <year>1978</year>
          , pp.
          <fpage>131</fpage>
          -
          <lpage>135</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [44]
          <string-name>
            <given-names>R. C.</given-names>
            <surname>Read</surname>
          </string-name>
          ,
          <article-title>Every one a winner or how to avoid isomorphism search when cataloguing combinatorial configurations</article-title>
          ,
          <source>in: Annals of Discrete Mathematics</source>
          , volume
          <volume>2</volume>
          ,
          <string-name>
            <surname>Elsevier</surname>
          </string-name>
          ,
          <year>1978</year>
          , pp.
          <fpage>107</fpage>
          -
          <lpage>120</lpage>
          . URL: https://doi.org/10.1016/S0167-
          <volume>5060</volume>
          (
          <issue>08</issue>
          )
          <fpage>70325</fpage>
          -
          <lpage>X</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [45]
          <string-name>
            <given-names>C.</given-names>
            <surname>Bright</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Ganesh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Heinle</surname>
          </string-name>
          , I. Kotsireas,
          <string-name>
            <given-names>S.</given-names>
            <surname>Nejati</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Czarnecki</surname>
          </string-name>
          ,
          <article-title>MathCheck2: A SAT+CAS verifier for combinatorial conjectures</article-title>
          , in: International Workshop on Computer Algebra in Scientific Computing, Springer,
          <year>2016</year>
          , pp.
          <fpage>117</fpage>
          -
          <lpage>133</lpage>
          . doi:
          <volume>10</volume>
          .1007/ 978-3-
          <fpage>319</fpage>
          -45641-
          <issue>6</issue>
          _
          <fpage>9</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [46]
          <string-name>
            <given-names>M.</given-names>
            <surname>Codish</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Miller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Prosser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. J.</given-names>
            <surname>Stuckey</surname>
          </string-name>
          ,
          <article-title>Constraints for symmetry breaking in graph representation</article-title>
          ,
          <source>Constraints</source>
          <volume>24</volume>
          (
          <year>2019</year>
          )
          <fpage>1</fpage>
          -
          <lpage>24</lpage>
          . doi:
          <volume>10</volume>
          .1007/s10601-018-9294-5.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [47]
          <string-name>
            <given-names>A.</given-names>
            <surname>Biere</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>
          , M. Heisinger, CaDiCaL, Kissat, Paracooba,
          <source>Plingeling and Treengeling entering the SAT Competition</source>
          <year>2020</year>
          , in: T. Balyo,
          <string-name>
            <given-names>N.</given-names>
            <surname>Froleyks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. J. H.</given-names>
            <surname>Heule</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Iser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Järvisalo</surname>
          </string-name>
          , M. Suda (Eds.),
          <source>Proc. of SAT Competition 2020 - Solver and Benchmark Descriptions</source>
          , volume
          <string-name>
            <surname>B-</surname>
          </string-name>
          <year>2020</year>
          -1 of Department of Computer Science Report Series B, University of Helsinki,
          <year>2020</year>
          , pp.
          <fpage>51</fpage>
          -
          <lpage>53</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [48]
          <string-name>
            <given-names>J. H.</given-names>
            <surname>Liang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Ganesh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Poupart</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Czarnecki</surname>
          </string-name>
          ,
          <article-title>Learning rate based branching heuristic for SAT solvers</article-title>
          ,
          <source>in: Theory and Applications of Satisfiability Testing - SAT 2016 - 19th International Conference, Bordeaux, France, July 5-8</source>
          ,
          <year>2016</year>
          , Proceedings,
          <year>2016</year>
          , pp.
          <fpage>123</fpage>
          -
          <lpage>140</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -40970-
          <issue>2</issue>
          _
          <fpage>9</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>