Claude’s A Time Algorithm for 3-SAT, released by Anthropic, presents a deterministic algorithm that counts satisfying assignments in subexponential time. Its consequences extend to exact graph counting and circuit lower bounds. Integer factorization is a useful test of the scope of the result: a reduction to satisfiability exists, but the size of that reduction determines whether the resulting algorithm is an improvement. (Claude, 2026)
🏷️ Boolean formulas and exponential time
A literal is a Boolean variable or its negation . A clause is a disjunction of literals. A formula in conjunctive normal form, or CNF, is a conjunction of clauses. A -CNF has at most literals in each clause.
Write for the number of variables and for the number of clauses. The decision problem -SAT asks whether at least one assignment satisfies the formula. The counting problem -SAT asks for the integer
An exact counting algorithm also decides satisfiability: test whether its answer is positive. Counting is more demanding than finding one witness because different successful assignments must retain their correct multiplicities.
All logarithms below have base two unless written . A running time has an exponent whose ratio to tends to zero. For example, is subexponential in , but it grows faster than every fixed polynomial in . A theorem giving this bound therefore does not settle whether .
To state the hypotheses precisely, let consist of the real numbers for which some deterministic algorithm decides -SAT in time . Define
Here formulas have no repeated clauses, so their length is polynomial in for fixed . Polynomial input-processing factors do not affect this infimum. The Exponential Time Hypothesis, ETH, asserts . The Strong Exponential Time Hypothesis, SETH, asserts
ETH says that some positive exponential rate is unavoidable even for width three; SETH says that the optimal rate approaches exhaustive search as the fixed width increases. The sparsification theory of Impagliazzo, Paturi, and Zane relates the different fixed widths and implies that SETH entails ETH. (Impagliazzo & Paturi, 2001; Impagliazzo, Paturi & Zane, 2001)
🏷️ The counting theorem and its scale
Define the two exponents
Main theorem of the paper
One deterministic algorithm counts the satisfying assignments of a -CNF with distinct clauses and occurring variables in time
The implicit constant is absolute, independent of . The asymptotic formula applies away from the small values at which the logarithms degenerate. The Lean statement specifies , , and . (Claude, 2026)
For every fixed , the first bound is , regardless of clause density. If for a fixed constant , the second bound improves this to
The distinction between and matters. A graph reduction can have only variables but clauses. In that situation the variable bound can be much stronger.
The main body first proves a weaker statement: for every , there is an algorithm for -SAT taking time. Its algorithm and hidden constant may depend on . The appendices construct the single algorithm and the specified rate in the theorem above.
Repeated clauses can be removed before running the algorithm. Variables that never occur can be removed as well; if there are such variables, multiply the final count by . Reading and normalizing an arbitrary input list still costs time in the length of that list. An arbitrarily padded encoding cannot be processed in a bound depending only on its distinct variables.
An asymptotic theorem
For arbitrary 3-CNF formulas with , the paper’s proved bound does not improve on unless . This is a necessary threshold in that analysis, not a claim that a practical implementation becomes fast there. The paper explicitly presents no practical SAT improvement. (Claude, 2026)
🏷️ Earlier algorithms and the obstruction to a fixed decomposition
Earlier exponential-time SAT algorithms improved the base of an exponential. Branching eliminates variables by cases; Schöning’s local search randomly changes variables in unsatisfied clauses; the PPSZ method combines a random variable order with deductions that reduce the number of guesses. These methods and their refinements produced important savings while retaining a positive coefficient of in the exponent. The PPSZ paper is a central example. (Paturi et al., 2005)
Another approach is to express the answer as a sum of products and choose a good order for summation. Dynamic programming on a graph decomposition and contraction of a tensor network both fit this description.
The difficulty is structural. Sparse graphs can be expanders: any partition into two large parts leaves linearly many consistency bits crossing between them. Enumerating all values of those boundary bits is exponentially expensive. The work of Austrin, Kaski, and Kubjas makes related limitations precise for algorithms that evaluate a tensor network along one contraction tree. (Austrin, Kaski & Kubjas, 2022)
The new construction changes the algebraic expression before choosing the decomposition. It writes the original network as a signed sum of networks, then chooses a favorable grouping separately for each summand. Cancellations allow this transformation to preserve the exact answer. The recursive problem must consequently allow negative integer weights.
🏷️ From clauses to weighted networks
Give each clause its own local assignment . Let be one when that assignment satisfies the clause and zero otherwise. If two clauses share a variable, compare their local copies using an equality constraint .
The number of satisfying assignments of the occurring variables is
The sum ranges over all local assignments. A nonzero summand is precisely a globally consistent satisfying assignment.
One need not compare every pair of occurrences of a variable. If a variable appears in clauses, a chain of comparisons enforces agreement among all its copies. For a 3-CNF this uses fewer than equality bits in total.
The recursion extends this expression to arbitrary integer-valued . Its central cost measure is the number of bits needed to factor an interaction across a cut.
Factorization through bits
An integer-valued function factors through bits if there are integer-valued functions such that
Fixing separates the two sides. Thus the factorization replaces their interaction by an enumeration of possibilities.
Equality of two -bit strings has such a factorization: let be their common value. Products of interactions add their bit costs. Conversely, any displayed factorization can be converted into an equality edge by giving each endpoint a copy of and absorbing into its local weight.
This is an explicit factorization over the integers. Matrix rank gives intuition and lower bounds, but a rank estimate alone would not account for constructing the factors, evaluating them, or handling their bit lengths.
Merging vertices multiplies their internal factors together and eventually sums out their local variables. It removes interactions from the boundary, but it does not make their evaluation free. The proof tracks that cost throughout the recursion.
🏷️ Crossing equalities and the eight-square identity
Place four strings at the corners of a rectangle:
The diagonal interaction is
where brackets denote indicators. If each string has bits, both the row partition and the column partition cut two equality edges. Each partition therefore costs bits.
For three-bit strings, there is a sign function
coming from the classical eight-square identity. This identity expresses the product of two sums of eight squares as another sum of eight squares. Equivalently, it expresses multiplicativity of the octonion norm. (Baez, 2002)
Set , where is bitwise exclusive or. Define two functions of by
The identity gives the exact relation
The row factorization of uses only three bits, namely . The column factorization of likewise uses three bits. In the opposite direction either function can be factored through six bits by enumerating an entire side.
The original crossing needs six bits across either partition. In the signed decomposition , has a three-bit row factorization and a three-bit column factorization. The shaded groups show those favorable partitions. The pieces may be negative; the picture denotes an algebraic identity, not a disjoint union of satisfying assignments.
Proof of the finite cancellation identity
Write and . One explicit choice is , with the following expression computed modulo two:
Both and vanish unless . When that parity condition holds and , we also have , and both signs are .
Otherwise write . Expanding the four sign exponents modulo two gives
The two signs are therefore opposite. Thus is two on the crossing equalities and zero everywhere else. This is a finite identity on inputs; the accompanying script checks every input using exact integer arithmetic.
🏷️ Grouping the expansion without losing the saving
Applying separately to many three-bit blocks would create exponentially many terms. That would impose a positive exponential cost before recursion even begins.
The paper groups terms by the number of blocks using . Pad each -bit string with zeros to bits, where . Define by the polynomial identity
For a fixed input, all coefficients can be computed by ordinary polynomial multiplication in time polynomial in . There are only pieces.
To factor by rows, specify which blocks use . Naming that subset costs at most bits. The remaining indices cost three bits for each block and six for each block. Consequently,
Adding the two bounds eliminates :
The original crossing costs across the two partitions together. The new pieces have a combined cost at most a fraction of that, up to rounding.
The extra bits naming the subset are essential. Ignoring them would overstate the saving. This elementary accounting also explains the choice of eight squares: for two-bit blocks, the four-square identity gives bits against an original cost of eight. Three-bit blocks give against twelve. The paper notes that finer rank calculations can improve other constructions; the comparison here concerns this explicit factorization.
🏷️ A recursion with a vanishing exponential coefficient
The recursive input is a complete graph on vertices, with equality bits on each edge and arbitrary integer weights at its vertices. Smaller edges can be padded with bits forced to zero. Its total number of independent edge bits is .
Call achievable when this weighted counting problem can be evaluated using
operations and weight queries, where bounds the bit length of each supplied weight. The tables are accessed through evaluation procedures, and the cost of those procedures is charged when this intermediate bound is applied. Constants may depend on the fixed pair . Exhaustive enumeration makes achievable.
Put vertices on a grid. Every edge joining different rows and different columns belongs to the diagonal pair of exactly one rectangle. Apply the grouped identity to each rectangle. For a fixed choice of pieces, compare the total row and column costs and merge in the cheaper direction.
The normalization is retained exactly. If is the number of rectangles, the expansion gives , where chooses a piece for each rectangle. After evaluating and adding the recursive terms, divide by . The identity guarantees that this division has an integer result.
The combined-cost inequality ensures that one direction saves a constant fraction of the diagonal bits. Edges already lying in a row or column form a lower-order contribution when is large.
The resulting edges need not have equal lengths. Padding immediately to the largest length could erase the saving. A second grouping balances the load: merge the vertices into groups whose sizes and pairwise boundary costs are controlled. A probabilistic existence argument proves that a good grouping exists; exhaustive search over groupings makes the construction deterministic.
Exponent improvement, Proposition 3
If is achievable and , then is achievable, where
The last term includes the cost of evaluating the weights created by merging. It cannot be dropped.
Starting from and , define
Then grows rapidly and . Indeed, the multiplicative coefficient is eventually bounded by a constant less than one, while the additive term tends to zero. Iterating this inequality bounds the tail by a decaying geometric term plus an arbitrarily small geometric sum.
At a fixed level, the number of rectangles is fixed. The number of expanded terms,
is therefore polynomial in , although its degree is enormous. This order of quantifiers is the reason the expansion does not defeat the qualitative theorem: choose the recursion level for the desired , then let the input size grow.
A preliminary balanced grouping converts the clause network into one of these complete-graph instances. The clause count is evaluated in time with exponent , apart from factors polynomial in the input for fixed . Since both coefficients vanish, the algorithm achieves every positive exponential rate in .
To pass to arbitrary clause density, use count-preserving sparsification. For fixed width and every , it decomposes a formula into at most sparse formulas with disjoint sets of satisfying assignments. Their counts can therefore be added. The disjointness is important: a decision-only disjunction would not by itself preserve counts. (Impagliazzo, Paturi & Zane, 2001; Dell et al., 2014)
🏷️ The sharper rate and the role of partition numbers
The elementary recursion establishes the failure of ETH, but does not yet yield the main theorem’s square-root logarithmic saving. When the level grows with the input, previously hidden constants and polynomial degrees must be counted explicitly.
Appendices A and B make two additional improvements. Sharper concentration bounds let the next graph size be essentially the square of the previous one, up to polylogarithmic factors. A different family of crossing decompositions improves the contraction factor to
These decompositions use operators on the polynomial ring , graded by . The weight- component has dimension , the number of integer partitions of . Choose the least such that ; the Hardy–Ramanujan estimate makes . The construction has pieces, with factorization dimensions controlled by partition counts.
The new relation between level and graph size gives
Accounting for all construction costs and choosing as a suitable small power of the input size yields the clause bound .
The variable bound needs more than substituting a sparsification estimate for . As tends to zero, the maximum occurrence count produced by sparsification grows too quickly for that substitution. Appendix D constructs a network based on variables, with only boundary bits. It combines truncated inclusion–exclusion with sparse parity checks that eliminate assignments violating too many clauses. With the chosen sparsification parameters, in the relevant range, producing the factor .
These appendices supply substantial additional arguments. The eight-square calculation explains the mechanism of the ETH refutation; the stronger theorem also needs the partition-based decomposition and the improved treatment of dense formulas. (Claude, 2026)
🏷️ Consequences for counting, search, and graph problems
For every fixed , the theorem gives . Hence ETH and SETH are false, as is their counting analogue . Since the algorithm is deterministic, allowing randomization cannot restore a positive exponential lower bound for these problems.
After establishing satisfiability, search follows by fixing variables one at a time. Ask whether a satisfying assignment exists with the next variable zero; retain zero if it does, and otherwise retain one. At most further calls recover a witness. This polynomial overhead preserves the stated subexponential rates.
For graph consequences, let be the number of vertices, a requested set size, and a fixed number of colors. Section 7 proves that for every the following counts can be computed in time:
| Count | Encoding or reduction |
|---|---|
| Independent sets of size | One variable per vertex; forbid choosing both ends of an edge |
| Cliques of size | Independent sets in the complement graph |
| Vertex covers of size | Complements of independent sets of size |
| Dominating sets of size | Domination clauses, followed by a controlled reduction of wide clauses |
| Proper -colorings | A fixed number of Boolean indicators per vertex |
Here an independent set contains no edge; a vertex cover meets every edge; and a dominating set contains, or has a neighbor of, every vertex. In a proper coloring, adjacent vertices receive different colors. The sets and colorings being counted are labeled.
For independent sets, the clauses are simply
There are selection variables even if the graph is dense. Requiring exactly selected vertices can be implemented with an -gate bounded-fan-in circuit: a balanced addition tree sums the input bits, followed by comparison with .
Introduce a variable for each gate and clauses enforcing its equivalence to its Boolean function. Every input assignment then has exactly one extension to the gate variables. This gives a count-preserving 3-CNF with variables, plus the edge clauses. The variable bound handles its possible quadratic clause count.
For fixed , color indicators use variables. Each vertex must have exactly one color, and each edge forbids equal colors at its endpoints. The resulting width is bounded in terms of , so the theorem applies.
Wide clauses for dominating sets
Domination is expressed by one clause per vertex:
These clauses can have unbounded width. Fix a constant threshold and choose literals of a clause that is too long. Partition the assignments into two cases: at least one chosen literal is true, or all chosen literals are false.
In the first branch replace that clause by the disjunction of its chosen literals. In the second fix those variables to false and simplify. These cases are disjoint. Along a branch there are at most first choices, one for each original clause, and at most second choices, since each fixes previously unassigned variables.
The resulting search tree has at most leaves. Each leaf has bounded-width clauses and variables, including the exact-cardinality circuit. Choose large enough to spend less than half the desired exponent on branching, then apply the fixed-width counting algorithm with the remaining budget. Adding the leaf counts gives . (Claude, 2026, p.C orollary 7)
Testing whether these counts are positive gives decision algorithms. Trying the possible sizes gives optimization algorithms with the same qualitative rate. None of these statements asserts fixed-parameter tractability in the requested clique size: subexponential dependence on the total vertex count and a bound of the form are different requirements.
🏷️ Circuit lower bounds and conditional hardness
There is also a consequence in the opposite direction: a faster algorithm implies that some functions need larger circuits.
Let be the class of languages decidable in deterministic time with an NP oracle. Let denote languages whose length- membership functions have Boolean circuits of linear size, with a possibly different circuit at every length.
Williams proved that failure of ETH implies
His argument assumes small circuits, uses them to encode witnesses for long computations, and checks their validity through a sufficiently fast satisfiability algorithm. The resulting nondeterministic simulation would violate a time hierarchy theorem. The new SAT algorithm supplies the missing hypothesis of that implication. (Williams, 2013)
This conclusion concerns linear-size circuits for a language in . It does not assert superpolynomial circuit lower bounds for NP or resolve versus .
The effect on earlier conditional lower bounds requires equal care. A theorem of the form
remains a valid implication. Once ETH is false, that implication supplies no reason for believing its conclusion. The conclusion itself may still hold for another reason; it must be examined separately.
Likewise, SETH implies the Orthogonal Vectors Hypothesis, which posits the absence of truly subquadratic algorithms for detecting an orthogonal pair between two sets of Boolean vectors in specified growing dimensions. Refuting SETH does not refute this weaker hypothesis. Thus an edit-distance hardness result independently based on Orthogonal Vectors does not disappear merely because its SETH-based justification does. The paper explicitly distinguishes these cases.
🏷️ Integer factorization and the size of a reduction
Let be a positive integer of bit length
To find a nontrivial factor, encode the relation
Use Boolean variables for the bits of and a circuit that checks multiplication and the inequalities. A Tseitin encoding introduces gate variables and constant-width clauses enforcing the circuit. With equivalences at every gate, each valid factor pair has a unique extension. Decision and successive bit fixing therefore recover factors.
The essential parameter is the number of variables and clauses after introducing those gates.
Suppose a polynomial-time construction supplies a verification circuit with bounded-fan-in gates, including the comparisons and with . Its encoding has variables and clauses. Applying the clause bound gives
with polynomial overhead absorbed into the exponent. Repeatedly finding factors, until all remaining factors are prime, also adds only polynomially many calls. This bound is a consequence obtained by composing reductions; it is not a factoring theorem stated in the paper.
For the elementary schoolbook multiplier, , so this calculation gives
That bound does not improve even on exhaustive trial division, which takes time. Faster multiplication circuits can reduce the encoding size, but their gate count must be inserted into the formula; a polynomial reduction alone is insufficient. In general, need not be subexponential in .
Even a hypothetical linear-size multiplication encoding would only yield the displayed guarantee
which is still far from polynomial time. For comparison, the classical general number field sieve already has the heuristic running-time scale
or in terms of bit length. That is a smaller asymptotic exponent than the guarantee from the hypothetical linear-size encoding. Its analysis is heuristic, whereas the SAT theorem is a proved worst-case bound, so these are distinct kinds of guarantees. (Pomerance, 1996)
Consequence for factoring and cryptography
The paper supplies a new general method for solving Boolean constraint problems. It does not supply a practical large-integer factorization algorithm, a polynomial-time classical factoring algorithm, or an RSA attack. Establishing an improvement through SAT requires an efficient encoding and a complete comparison with existing factoring algorithms.
The same accounting applies to other cryptographic searches. If a key has bits but checking it requires circuit gates, the SAT theorem is controlled by after encoding. It does not automatically turn a key search into a subexponential search in .
🏷️ The Lean theorem and the verification boundary
The accompanying formalization separates a readable statement file from the proofs. At the reviewed commit, the principal declarations in Solution.lean are
theorem MainResults.ethIsFalse :
MainResults.ETHIsFalse := ...
theorem MainResults.mainTheorem :
MainResults.MainTheorem := ...The ellipses here abbreviate the supplied proof terms; they are not holes in those declarations.
MainTheorem quantifies over one deterministic machine and one absolute constant before quantifying over and the input formula. It counts steps of Mathlib’s finite-program, multi-stack Turing machine, requires every stack alphabet to be finite, and specifies the binary output encoding of the exact count. Its input conditions include distinct clauses, occurrence of all variables, and the small-parameter bounds stated earlier.
The successful CI run for commit 16a5ce4 built the development and ran Comparator. Its downloaded configuration permits only propext, Quot.sound, and Classical.choice; its log records acceptance by both Lean’s default kernel and the independent nanoda kernel. The two sorry warnings come from Challenge.lean, which contains the reference statements for comparison. They are not dependencies accepted in the solution proofs.
There are still precise boundaries to the claim. The formal machine model and input encoding are explicit. Their conventional simulation on a word RAM and translation from the paper’s ordinary formula representation are described in the statement file but are outside the formalized propositions. Appendix E also records differences between the paper’s exposition and the Lean development.
For this note, the theorem statements, selected proof mechanisms, and published CI artifacts were checked; the full development was not independently rebuilt. The finite algebra below is an additional local check, not a substitute for the complexity proof. The paper attributes discovery of the core algorithm to an internal Claude model and describes subsequent human collaboration on the presentation.
🏷️ Exact finite verification
The accompanying Python script evaluates the explicit sign formula and verifies on all 4096 three-bit inputs. It also computes the two matrix ranks of each piece using exact rational elimination:
| Function | Row rank | Column rank |
|---|---|---|
| 64 | 64 | |
| 8 | 64 | |
| 64 | 8 |
These ranks agree with the three-bit and six-bit factorizations used above. The script checks a two-block grouped expansion as well, including inputs on which nonzero signed pieces cancel, and generates the figure. All identity and rank checks use exact arithmetic.
The computation verifies the small algebraic component and illustrates the source of the saving. It does not benchmark the full SAT algorithm or establish its asymptotic recurrence experimentally.
Links
- Exact quantum factoring over a fixed finite gate set discusses factoring in a quantum computational model. Its resource guarantees must be distinguished from classical SAT reductions.
- Depth-three circuits beyond the square-root exponent studies size lower bounds for restricted circuits. It provides a comparison with the unrestricted linear-size lower bound for obtained here through Williams’s implication.