Abstract
We introduce proof systems for propositional logic that admit short proofs of hard formulas as well as the succinct expression of most techniques used by modern SAT solvers. Our proof systems allow the derivation of clauses that are not necessarily implied, but which are redundant in the sense that their addition preserves satisfiability. To guarantee that these added clauses are redundant, we consider various efficiently decidable redundancy criteria which we obtain by first characterizing clause redundancy in terms of a semantic implication relationship and then restricting this relationship so that it becomes decidable in polynomial time. As the restricted implication relation is based on unit propagation—a core technique of SAT solvers—it allows efficient proof checking too. The resulting proof systems are surprisingly strong, even without the introduction of new variables—a key feature of short proofs presented in the proof-complexity literature. We demonstrate the strength of our proof systems on the famous pigeon hole formulas by providing short clausal proofs without new variables.
Keywords: SAT, Propositional proof systems, Proof complexity, Proof checking, Pigeon hole problem, Extended resolution, Clause redundancy
Introduction
Satisfiability (SAT) solvers are used to determine the correctness of hardware and software systems [4, 16]. It is therefore crucial that these solvers justify their claims by providing proofs that can be independently verified. This holds also for various other applications that use SAT solvers. Just recently, long-standing mathematical problems were solved using SAT, including the Erdős Discrepancy Problem [21], the Pythagorean Triples Problem [13], and the computation of the fifth Schur number [10]. Especially in such cases, proofs are at the center of attention and without them the result of a solver is almost worthless. What the mathematical problems and the industrial applications have in common is that proofs are often of considerable size—about 200 terabytes in the case of the Pythagorean Triples Problem and even two petabytes for the fifth Schur number. As the size of proofs is influenced by the strength of their underlying proof system, the search for shorter proofs goes hand in hand with the search for stronger proof systems.
In this article, we introduce highly expressive clausal proof systems that can capture most of the techniques used by modern SAT solvers. Informally, a clausal proof system allows the addition of redundant clauses to a formula in conjunctive normal form (CNF). Here, a clause is considered redundant if its addition preserves satisfiability. If the repeated addition of clauses allows us to eventually add the empty clause—which is, by definition, unsatisfiable—then the unsatisfiability of the original formula has been established.
Since the redundancy of clauses is not efficiently decidable in general, practical proof systems only allow the addition of a clause if it fulfills some efficiently decidable criterion that ensures redundancy. For instance, the popular proof system [30], which is the de-facto standard in practical SAT solving, only allows the addition of so-called resolution asymmetric tautologies [18]. Given a formula and a clause, it can be decided in polynomial time whether the clause is a resolution asymmetric tautology with respect to the formula and therefore the soundness of proofs can be checked efficiently.
We present various new redundancy criteria by introducing a characterization of clause redundancy based on a semantic implication relationship between formulas. By replacing the implication relation in this characterization with restricted notions of implication that are computable in polynomial time, we then obtain powerful redundancy criteria that are still efficiently decidable. These redundancy criteria not only generalize earlier ones such as resolution asymmetric tautologies [18] or set-blocked clauses [19], but they are also closely related to other concepts from the literature, including autarkies [24], safe assignments [29], variable instantiation [1], and symmetry breaking [6].
Proof systems based on our new redundancy criteria turn out to be highly expressive, even without allowing the introduction of new variables. This is in contrast to resolution, which is considered relatively weak as long as the introduction of new variables via definitions—as in the stronger proof system of extended resolution [9, 26]—is not allowed. The introduction of new variables, however, has a major drawback—the search space of variables and clauses we could possibly add to a proof is clearly exponential. Finding useful clauses with new variables is therefore hard in practice and resulted only in limited success in the past [2, 23].
We illustrate the strength of our strongest proof system by providing short clausal proofs for the famous pigeon hole formulas without introducing new variables. The size of the proofs is linear in the size of the formulas and the clauses added in the proof contain at most two literals. In these proofs, we add redundant clauses that are similar in nature to symmetry-breaking predicates [6, 7]. To verify the correctness of proofs in our new system, we implemented a proof checker. The checker is built on top of DRAT-trim [30], the checker used to validate the unsatisfiability results of the recent SAT competitions [3]. We compare our proofs with existing proofs of the pigeon hole formulas in other proof systems and show that our new proofs are much smaller and cheaper to validate.
This invited article is an extended version of our CADE’17 best paper [14]. Apart from several small improvements throughout the article, we extended the conference version by adding Sect. 7, which describes further interesting properties of the redundant clauses introduced in this article. We also included a new discussion of open problems in Sect. 9.
Preliminaries
We consider propositional formulas in conjunctive normal form (CNF), which are defined as follows. A literal is either a variable x (a positive literal) or the negation of a variable x (a negative literal). The complement of a literal l is defined as if and if . For a literal l, we denote the variable of l by . A clause is a disjunction of literals. If not stated otherwise, we assume that clauses do not contain complementary literals, i.e., a literal and its complement. A formula is a conjunction of clauses. Clauses can be viewed as sets of literals and formulas as sets of clauses. For a set L of literals and a formula F, we define . We sometimes write to denote .
An assignment is a function from a set of variables to the truth values 1 (true) and 0 (false). An assignment is total with respect to a formula if it assigns a truth value to all variables occurring in the formula, otherwise it is partial. We often denote assignments by the sequences of literals they satisfy. For instance, denotes the assignment that makes x true and y false. We denote the domain of an assignment by . A literal l is satisfied by an assignment if l is positive and or if it is negative and . A literal is falsified by an assignment if its complement is satisfied by the assignment. A clause is satisfied by an assignment if it contains a literal that is satisfied by . Finally, a formula is satisfied by an assignment if all its clauses are satisfied by . A formula is satisfiable if there exists an assignment that satisfies it. Two formulas are logically equivalent if they are satisfied by the same total assignments; they are satisfiability equivalent if they are either both satisfiable or both unsatisfiable.
We denote the empty clause by and the satisfied clause by . Given an assignment and a clause C, we define if satisfies C, otherwise denotes the result of removing from C all the literals falsified by . Moreover, for a formula F, we define . We say that a clause Cblocks an assignment if . A unit clause is a clause that contains only one literal. The result of applying the unit-clause rule to a formula F is the formula with being an assignment that satisfies a unit clause in F. The iterated application of the unit-clause rule to a formula, until no unit clauses are left, is called unit propagation. If unit propagation on a formula F yields the empty clause , we say that it derived a conflict on F. For example, unit propagation derives a conflict on since and .
By , we denote that F implies , i.e., every assignment that satisfies F and assigns all variables in also satisfies . Furthermore, by we denote that for every clause , unit propagation derives a conflict on . If , we say that Fimpliesvia unit propagation. As an example, , since unit propagation derives a conflict on both and . Similarly, denotes that every clause in is subsumed by (i.e., is a superset of) a clause in F. Observe that implies , implies , and implies .
Clause Redundancy and Clausal Proofs
In the following, we introduce a formal notion of clause redundancy and demonstrate how it provides the basis for clausal proof systems. We start by introducing clause redundancy [19]:
Definition 1
A clause C is redundant with respect to a formula F if F and are satisfiability equivalent.
For instance, the clause is redundant with respect to the formula since F and are satisfiability equivalent (although they are not logically equivalent). This redundancy notion allows us to add redundant clauses to a formula without affecting its satisfiability and so it provides the basis for so-called clausal proof systems.
In general, given a formula , a clausal derivation of a clause from F is a sequence of pairs where is a clause and , called the witness, is a string (for all ). Such a sequence gives rise to formulas , where . We call the accumulated formula corresponding to the ith proof step. A clausal derivation is correct if every clause () is redundant with respect to the formula and if this redundancy can be checked in polynomial time (with respect to the size of the proof) using the witness . A clausal derivation is a (refutation) proof of a formula F if it derives the empty clause, i.e., if . Clearly, since every clause-addition step preserves satisfiability, and since the empty clause is unsatisfiable, a refutation proof of F certifies the unsatisfiability of F.
By specifying in detail what kind of redundant clauses—and corresponding witnesses—can be added to a clausal derivation, we obtain concrete proof systems. This is usually done by defining an efficiently checkable syntactic criterion that guarantees that clauses fulfilling this criterion are redundant. A popular example for a clausal proof system is [30], the de-facto standard for unsatisfiability proofs in practical SAT solving. allows the addition of a clause if it is a so-called resolution asymmetric tautology [18] (, defined in the next section). As it can be efficiently checked whether a clause is a with respect to a formula, and since s cover many types of redundant clauses, the proof system is very powerful.
The strength of a clausal proof system depends on the generality of the underlying redundancy criterion. We say that a redundancy criterion is more general than a redundancy criterion if, whenever identifies a clause C as redundant with respect to a formula F, then also identifies C as redundant with respect to F. For instance, whenever a clause is subsumed in some formula, it is a with respect to that formula. Therefore, the redundancy criterion is more general than the subsumption criterion. In the next section, we develop redundancy criteria that are even more general than , thus giving rise to proof systems that are stronger than .
Clause Redundancy via Implication
In the following, we introduce a characterization of clause redundancy that reduces the question whether a clause is redundant with respect to a certain formula to a simple question of implication. The advantage of this is that we can replace the logical implication relation by polynomially decidable implication relations to derive powerful redundancy criteria that are still efficiently checkable. These redundancy criteria can then be used to obtain highly expressive clausal proof systems.
Our characterization is based on the observation that a clause in a CNF formula can be seen as a constraint that blocks those assignments that falsify the clause. Therefore, a clause can be safely added to a formula if it does not constrain the formula too much. What we mean by this is that after adding the clause, there should still exist other assignments (i.e., assignments not blocked by the clause) under which the formula is at least as satisfiable as under the assignments blocked by the clause. Consider the following example:
Example 1
Let and consider the (unit) clause which blocks all assignments that falsify x. The addition of C to F does not affect satisfiability: Let and . Then, while . Clearly, every satisfying assignment of is also a satisfying assignment of , i.e., . Thus, F is at least as satisfiable under as it is under . Moreover, satisfies C. The addition of C does therefore not affect the satisfiability of F.
This motivates our new characterization of clause redundancy presented next. The characterization requires the existence of an assignment that satisfies the clause and so it is only applicable to non-empty clauses. Note that for a given clause C, “the assignment blocked by C”, as defined above in Sect. 2, is in general a partial assignment and thus C actually rules out all assignments that extend :
Theorem 1
Let F be a formula, C a non-empty clause, and the assignment blocked by C. Then, C is redundant with respect to F if and only if there exists an assignment such that satisfies C and .
Proof
For the “only if” direction, assume that F and are satisfiability equivalent. If is unsatisfiable, then for every , hence the statement trivially holds. Assume now that is satisfiable, implying that F is satisfiable. Then, since F and are satisfiability equivalent, there exists an assignment that satisfies both F and C. Thus, since satisfies F, it holds that and so .
For the “if” direction, assume that there exists an assignment such that satisfies C and . Now, let be a (total) assignment that satisfies F and falsifies C. We show how can be turned into a satisfying assignment of . As falsifies C, it coincides with on . Therefore, since satisfies F, it must satisfy and since it must also satisfy . Now, consider the following assignment:
Clearly, since satisfies C, also satisfies C. Moreover, as satisfies and , satisfies F. Hence, satisfies .
This alternative characterization of redundancy allows us to replace the logical implication relation by restricted implication relations that are polynomially decidable. For instance, we can replace the condition by the restricted condition (likewise, we could also use relations such as “” or “” instead of “ ”). Now, if we are given a clause C—which implicitly gives us the blocked assignment —and a witnessing assignment , then we can check in polynomial time whether , which is a sufficient condition for the redundancy of C with respect to F. We can therefore use this implication-based redundancy notion to define proof systems. The witnessing assignments can then be used as witnesses in the proof.
In the following, we use the propagation-implication relation “ ” to define the redundancy criteria of Basically, the three notions differ in the way we allow the witnessing assignment to differ from the assignment blocked by a clause. The more freedom we give to , the more general the redundancy notion we obtain. We show that clauses—the least general of the three—coincide with . For the more general clauses, we show that they generalize set-blocked clauses () [19], which is not the case for clauses. Finally, clauses are the most general ones. They give rise to an extremely powerful proof system. The new landscape of redundancy notions we thereby obtain is illustrated in Fig. 1. In the figure, stands for the redundancy notion based on reverse unit propagation [8, 28], stands for subsumed clauses, for clauses with subsumed resolvents [18], and for blocked clauses [17, 22].
Fig. 1.
Landscape of redundancy notions of non-empty clauses. denotes all redundant clauses and stands for implied clauses. A path from X to Y indicates that X is more general than Y. The asterisk () denotes that the exact characterization implies the shown one, e.g., for every set-blocked clause, the property holds, but not vice versa
As we will see, when defining proof systems based on (e.g., the system) or clauses, we do not need to explicitly add the redundancy witnesses (i.e., the witnessing assignments ) to a proof. Thus, and proofs can just be seen as a sequence of clauses. In particular, a proof system based on clauses can have the same syntax as proofs, which makes it “downwards compatible”. This is in contrast to proof systems based on clauses, where in general witnessing assignments have to be added to a proof. Otherwise redundancy of a clause can not be checked in polynomial time.
We start by introducing clauses. In the following, given a (partial) assignment and a set L of literals, we denote by the assignment obtained from by making all literals in L true. If L contains only a single literal, we sometimes write to denote . In the conference paper [14], we used a slightly different definition, saying that is obtained from by flipping the truth values of all literals in L. Since we only defined for assignments that falsify all the literals in L, nothing changes. We do, however, believe that the new notion is more intuitive.
Definition 2
Let F be a formula, C a clause, and the assignment blocked by C. Then, C is literal-propagation redundant () with respect to F if there exists a literal such that .
Example 2
Let and let C be the unit clause x. Then, is the assignment blocked by C, and . Now, consider and . Clearly, and therefore C is literal-propagation redundant with respect to F.
The definition is quite restrictive since it requires the witnessing assignment to disagree with on exactly one variable. Nevertheless, this already suffices for clauses to coincide with s [18]:
Definition 3
Let F be a formula and C a clause. Then, C is a resolution asymmetric tautology () with respect to F if there exists a literal such that, for every clause , .
Theorem 2
A clause C is with respect to a formula F if and only if it is a with respect to F.
Proof
For the “only if” direction, assume that C is with respect to F, i.e., C contains a literal l such that . Now, let . We have to show that . First, note that is exactly the result of propagating the negated literals of C on F, i.e., applying the unit-clause rule with the negated literals of C but not performing further propagations. Moreover, since falsifies , it follows that . But then, since , it must hold that , hence C is a with respect to F.
For the “if” direction, assume that C is a with respect to F, i.e., C contains a literal l such that, for every clause , . Now, let for . We have to show that . Since satisfies l and falsifies C, D does neither contain l nor any negations of literals in C except for possibly . If D does not contain , then is contained in and hence the claim immediately follows.
Assume therefore that . As argued for the other direction, propagating the negated literals of C (and no other literals) on F yields . Therefore, since and does not contain any negations of literals in C (which could otherwise be the reason for a unit propagation conflict that only happens because of C containing a literal whose negation is contained in ), it must be the case that . Now, the only literals of that are not contained in are the ones falsified by , but those are anyhow not contained in . Hence, and thus C is with respect to F.
By allowing the witnessing assignments to disagree with on more than only one literal, we obtain the more general notion of set-propagation-redundant clauses, which we introduce next. In the following, for a set L of literals, we define .
Definition 4
Let F be a formula, C a clause, and the assignment blocked by C. Then, C is set-propagation redundant () with respect to F if there exists a non-empty set of literals such that .
Example 3
Let , , and . Then, is the assignment blocked by C, and . Now, consider and . Clearly, and so C is set-propagation redundant with respect to F. Note also that C is not literal-propagation redundant with respect to F.
Since L is a subset of C, we do not need to add it (or the assignment ) explicitly to an proof. By requiring that L must consist of the first literals of C when adding C to a proof (viewing a clause as a sequence of literals), we can ensure that the property is efficiently decidable. For instance, when a proof contains the clause , we first check whether the property holds under the assumption that . If not, we proceed by assuming that , and so on until . Thereby, only linearly many candidates for L need to be checked. In contrast to clauses and s, the notion of clauses generalizes set-blocked clauses [19]:
Definition 5
A clause C is set-blocked () by a non-empty set in a formula F if, for every clause , the clause contains two complementary literals.
To show that set-propagation-redundant clauses generalize set-blocked clauses, we first characterize them as follows:
Lemma 3
Let F be a clause, C a formula, a non-empty set of literals, and the assignment blocked by C. Then, C is set-blocked by L in F if and only if, for every , implies .
Proof
For the “only if” direction, assume that there exists a clause such that but . Then, since and disagree only on literals in L, it follows that D contains a literal and thus . Now, falsifies exactly the literals in and since it does not satisfy any of the literals in D, it follows that there exists no literal such that its complement is contained in . Therefore, C is not by L in F.
For the “if” direction, assume that C is not by L in F, i.e., there exists a clause such that does not contain complementary literals. Now, since falsifies L and . Since D contains no literal l such that and since falsifies exactly the literals in , it follows that does not satisfy D, hence .
Theorem 4
If a clause C is set-blocked by a set L in a formula F, it is set-propagation redundant with respect to F.
Proof
Assume that C is set-blocked by L in F. We show that , which implies that , and therefore that C is set-propagation redundant with respect to F. Let . First, note that D cannot be contained in , for otherwise and thus . Second, observe that D can also not be contained in , since that would imply that and thus, by Lemma 3, . Therefore, and so . But then, . It follows that .
We thus know that set-propagation-redundant clauses generalize both resolution asymmetric tautologies and set-blocked clauses. As there are resolution asymmetric tautologies that are not set-blocked (and vice versa) [19], it follows that set-propagation-redundant clauses are actually a strict generalization of these two kinds of clauses.
Note that is equivalent to . To see this, observe that if a clause contains no literals from , then does not assign any of its literals, in which case is also contained in . We therefore do not need to check for every whether .
By giving practically full freedom to the witnessing assignments, i.e., by only requiring them to satisfy C, we finally arrive at propagation-redundant clauses, the most general of the three redundancy notions:
Definition 6
Let F be a formula, C a clause, and the assignment blocked by C. Then, C is propagation redundant () with respect to F if there exists an assignment such that satisfies C and .
Example 4
Let , , and let be the witnessing assignment. Then, is the assignment blocked by C. Now, consider and . Clearly, unit propagation with the negated literal of the unit clause derives a conflict on . Therefore, and so C is with respect to F. Note that C is not set-propagation redundant because for , we have and so contains the two unit clauses y and z, but it does not hold that . The fact that satisfies z is crucial for ensuring propagation redundancy.
Since the witnessing assignments are allowed to assign variables that are not contained in C, we need—at least in general—to add them to a proof to guarantee that redundancy can be efficiently checked.
We can now explicitly define the proof system as an instance of a clausal proof system as defined on page 4:
Definition 7
Given a formula , a derivation of a clause from F is a sequence where for every pair , one of the following holds: (1) is an assignment that satisfies and with being the assignment blocked by , or (2) and . A derivation of from F is a proof of F.
The proof system and the proof system are defined accordingly. Note that in the definition above we treat the empty clause separately because only non-empty clauses can be propagation redundant. If we allow the mentioned proof systems to delete arbitrary clauses, we obtain the proof systems , , and . We will not consider deletion in the rest of the article.
Short Proofs of the Pigeon Hole Principle
In a landmark article, Haken [9] showed that pigeon hole formulas cannot be refuted by resolution proofs that are of polynomial size with respect to the size of the formulas. In contrast, Cook [5] proved that there are actually polynomial-size refutations of the pigeon hole formulas in the stronger proof system of extended resolution. What distinguishes extended resolution from general resolution is that it allows the introduction of new variables via definitions. Cook showed how the introduction of such definitions helps to reduce a pigeon hole formula of size n to a pigeon hole formula of size over new variables. The problem with the introduction of new variables, however, is that the search space of possible variables—and therefore clauses—that could be added to a proof is exponential.
In the following, we illustrate how the proof system admits short proofs of pigeon hole formulas without the need for introducing new variables. This shows that the system is strictly stronger than the resolution calculus, even when we forbid the introduction of new variables. A pigeon hole formula intuitively encodes that pigeons have to be assigned to n holes such that no hole contains more than one pigeon.1 In the encoding, a variable intuitively denotes that pigeon p is assigned to hole h:
Clearly, pigeon hole formulas are unsatisfiable. The main idea behind our approach is similar to that of Cook, namely to reduce a pigeon hole formula to the smaller . The difference is that in our case is still defined on the same variables as . Therefore, reducing to boils down to deriving the clauses for .
Following Haken [9], we use array notation for clauses: Every clause is represented by an array of columns and n rows. An array contains a “” (“
”) in the pth column and hth row if and only if the variable occurs positively (negatively, respectively) in the corresponding clause. Representing in array notation, we have for every clause , an array in which the pth column is filled with “
”. Moreover, for every clause , we have an array that contains two “
” in row h—one in column p and the other in column q. For instance, is given in array notation as follows:
We illustrate the general idea for reducing a pigeon hole formula to the smaller on the concrete formula . It should, however, become clear from our explanation that the procedure works for every . If we want to reduce to , we have to derive the following three clauses:
We can do so by removing the “
” from the last row of every column full of “
”, except for the last column, which can be ignored as it is not contained in . The key observation is that a “
” in the last row of the pth column can be removed with the help of so-called “diagonal clauses” of the form (). We are allowed to add these diagonal clauses since they are, as we will show, propagation redundant with respect to . The arrays below represent the diagonal clauses to remove the “
” from the last row of the first (left), second (middle), and third column (right):
We next show how exactly these diagonal clauses allow us to remove the bottom “
” from a column full of “
”, or, in other words, how they help us to remove the literal from a clause (). Consider, for instance, the clause in . Our aim is to remove the literal from this clause. Before we explain the procedure, we like to remark that proof systems based on propagation redundancy can easily simulate resolution: Since every resolvent of clauses in a formula F is implied by F, the assignment blocked by the resolvent must falsify F and thus . We explain our procedure textually before we illustrate it in array notation:
First, we add the diagonal clauses and to . Now, we can derive the unit clause by resolving the two diagonal clauses and with the original pigeon hole clauses and as follows: We obtain by resolving with . Then, we resolve this clause with to obtain , which we resolve with to obtain . Note that our proof system actually allows us to add immediately without carrying out all the resolution steps explicitly. Finally, we resolve with to obtain the desired clause .
We next illustrate this procedure in array notation. We start by visualizing the clauses , , , and that can be resolved to yield the clause . The clauses are given in array notation as follows:
We can then resolve with to obtain :
This should illustrate how a clause of the form () can be reduced to a clause . By repeating this procedure for every column p with , we can thus reduce a pigeon hole formula to a pigeon hole formula without introducing new variables. Note that the last step, in which we resolve the derived unit clause with the clause , is actually not necessary for a valid proof of a pigeon hole formula, but we added it to simplify the presentation.
It remains to show that the diagonal clauses are indeed propagation redundant with respect to the pigeon hole formula. To do so, we show that for every assignment that is blocked by a diagonal clause , it holds that for the assignment , , implying that . We also argue why other diagonal and unit clauses can be ignored when checking whether a new diagonal clause is propagation redundant.
We again illustrate the idea on . We now use array notation also for assignments, i.e., a “” (“
”) in column p and row h denotes that the assignment makes variable true (false, respectively). Consider, for instance, the diagonal clause that blocks . The corresponding witnessing assignment can be seen as a “rectangle” with two “
” in the corners of one diagonal and two “
” in the other corners:
To see that and coincide on clauses , consider that whenever and assign a variable of such a clause, they both satisfy the clause (since they both have a “
” in every column in which they assign a variable) and so they both remove it from . For instance, in the following example, both and satisfy while both do not assign a variable of the clause :
To see that and coincide on clauses of the form , consider the following: If falsifies a literal of , then the resulting clause is a unit clause for which one of the two literals is not assigned by (since does not assign two variables in the same row). Now, one can show that the same unit clause is also contained in , where it is obtained from another clause: Consider, for example, again the assignment and the corresponding witnessing assignment from above. The assignment turns the clause into the unit . The same clause is contained in , as it is obtained from since :
Note that diagonal clauses and unit clauses that have been derived earlier can be ignored when checking whether the current one is propagation redundant. For instance, assume we are currently reducing to . Then, the assignments and under consideration only assign variables in . In contrast, the unit and diagonal clauses used for reducing to (or earlier ones) are only defined on variables outside of . They are therefore contained in both and . We can also ignore earlier unit and diagonal clauses over variables in , i.e., clauses used for reducing an earlier column or other diagonal clauses for the current column: If assigns one of their variables, then satisfies them and so they are not in .
Finally, we want to mention that short proofs (without new variables) of the pigeon hole formulas can be constructed by first adding clauses of the form and then turning them into diagonal clauses using resolution. We left these proofs out since they are twice as large as the proofs and their explanation is less intuitive. A recent result shows that the conversion of a proof into a proof requires only one auxiliary variable [11]. We can thus construct short proofs without new variables from short proofs without new variables. To do so, we first eliminate a single variable from the original formula and then reuse that variable in the conversion algorithm. This is only possible because allows clause deletion. We consider it unlikely that there exist short proofs for the pigeon hole formulas in the / proof system, where no deletions are allowed.
Evaluation
We implemented a proof checker on top of DRAT-trim [30]. The tool, formulas, and proofs are available at https://www.cs.utexas.edu/~marijn/pr. Figure 2 shows the pseudo code of the checking algorithm. The first “if” statement is not necessary but significantly improves the efficiency of the algorithm. The worst-case complexity of the algorithm is , where n is the size of the final formula. The reason for this is that there are iterations of the outer for-loop and for each of these iterations, the inner for-loop is performed times, i.e., once for every clause in . Given that contains i clauses, we know that the size of F is bounded by n. It follows that the inner for-loop is performed mn times. Now, there is a unit propagation test in the inner if-statement: If k is the maximal clause size and n is an upper bound for the size of the formula, then the complexity of unit propagation is known to be at most kn. Hence, the overall worst-case complexity of the algorithm is bounded by .
Fig. 2.
Pseudo code of the -proof checking algorithm
This complexity is the same as for -proof checking. In fact, the pseudo-code for -proof checking and -proof checking is the same apart from the first if-statement, which is always true in the worst case, both for and . Although the theoretical worst-case complexity makes proof checking seem very expensive, it can be done quite efficiently in practice: For the proofs produced by solvers in the SAT competitions, we observed that the runtime of proof checking is close to linear with respect to the sizes of the proofs.
Moreover, we want to highlight that verifying the property of a clause is relatively easy as long as a witnessing assignment is given. For an arbitrary clause without a witnessing assignment, however, it is an -complete problem to decide if the clause is [15]. We therefore believe that in general, the verification of proofs is simpler than the actual solving/proving.
The format of proofs is an extension of proofs: the first numbers of line i denote the literals in . Positive numbers refer to positive literals, and negative numbers refer to negative literals. In case a witness is provided, the first literal in the clause is repeated to denote the start of the witness. Recall that the witness always has to satisfy the clause. It is therefore guaranteed that the witness and the clause have at least one literal in common. Our format requires that such a literal occurs at the first position of the clause and of the witness. Finally, 0 marks the end of a line. Figure 3 shows the formula and the proof of our running example .
Fig. 3.
Left, ten clauses of using the notation as elsewhere in this article and next to it the equivalent representation of these clauses in the DIMACS format used by SAT solvers. Right, the full refutation consisting of clause-witness pairs. A repetition of the first literal indicates the start of the optional witness
Table 1 compares our proofs with existing proofs of the pigeon hole formulas and of formulas from another challenging benchmark suite of the SAT competition that allows two pigeons per hole. For the latter suite, proofs can be constructed in a similar way as those of the classical pigeon hole formulas. Notice that the proofs do not introduce new variables and that they contain fewer clauses than their corresponding formulas. The proof of contains a copy of the formula for each . Checking proofs is also more efficient, as they are more compact.
Table 1.
The sizes (in terms of the number of variables and clauses) of pigeon hole formulas (top) and two-pigeons-per-hole formulas (bottom) as well as the sizes and validation times (in seconds) for their proofs (as described in Sect. 5) and their proofs (based on symmetry breaking [12])
Formula | Input | proofs | proofs | |||||
---|---|---|---|---|---|---|---|---|
#var | #cls | #var | #cls | Time | #var | #cls | Time | |
hole10.cnf | 110 | 561 | 110 | 385 | 0.17 | 440 | 3685 | 0.22 |
hole11.cnf | 132 | 738 | 132 | 506 | 0.18 | 572 | 5236 | 0.23 |
hole12.cnf | 156 | 949 | 156 | 650 | 0.19 | 728 | 7228 | 0.27 |
hole13.cnf | 182 | 1197 | 182 | 819 | 0.21 | 910 | 9737 | 0.34 |
hole20.cnf | 420 | 4221 | 420 | 2870 | 0.40 | 3080 | 49,420 | 2.90 |
hole30.cnf | 930 | 13,981 | 930 | 9455 | 2.57 | 9920 | 234,205 | 61.83 |
hole40.cnf | 1640 | 32,841 | 1640 | 22,140 | 13.54 | 22,960 | 715,040 | 623.29 |
hole50.cnf | 2550 | 63,801 | 2550 | 42,925 | 71.72 | 44,200 | 1,708,925 | 3158.17 |
tph8.cnf | 136 | 5457 | 136 | 680 | 0.32 | 3520 | 834,963 | 5.47 |
tph12.cnf | 300 | 27,625 | 300 | 2300 | 1.81 | 11,376 | 28,183,301 | 1396.92 |
tph16.cnf | 528 | 87,329 | 528 | 5456 | 11.16 | Not available, too large | ||
tph20.cnf | 820 | 213,241 | 820 | 10,660 | 61.69 | Not available, too large |
Properties of Propagation Redundancy
In the following, we discuss some properties of propagation redundancy and its restricted variants of literal-propagation redundancy and set-propagation redundancy. We first prove that if a clause C is either , , or with respect to a formula F, then every superclause of C (i.e., every clause D such that ) is also , , or (respectively) with respect to F. After this, we show how propagation-redundant clauses can be shortened based on unit propagation. Finally, we present an observation that clarifies the relationship between propagation-redundant clauses and their corresponding witnessing assignments.
Our strategy for showing that the superclauses of , , and clauses are also , , and is as follows: Assume, for instance, that C is a clause with respect to F and let be the assignment blocked by C. We then know that there exists an assignment such that . To show that every superclause of C is also propagation redundant with respect to F, we extend so that it becomes the assignment blocked by . After this, we extend to an assignment such that . The following example shows that we cannot simply extend without extending :
Example 5
Let and let and . Then, and both contain only the unit clause y and so it holds that . If we only extend to , then contains no clauses and thus . However, if we also extend to , then we again have .
In the following, we present several statements that help us extend in the right way. We start with a simple observation about the relation between unit propagation and variable assignments. If a formula is unsatisfiable, then the formula remains unsatisfiable after we assign some of its variables. A similar property holds when unsatisfiability can be shown by unit propagation: If unit propagation derives a conflict on a formula, then we can assign truth values to arbitrary variables of the formula and unit propagation will still derive a conflict. This property will be useful below when we prove other properties about propagation redundancy:
Proposition 5
If unit propagation derives a conflict on a formula F, then it derives a conflict on for every literal x.
Proof
Assume unit propagation derives a conflict on F. Then, there must exist a sequence of clauses from F such that is the unit clause , is the unit clause , and so on until , and finally . Now, if the variable does not occur in any of the clauses , then for each and thus unit propagation derives a conflict on . Assume now that occurs in and let be the clause with the smallest i such that . Then, and so unit propagation derives the unit clauses on . We proceed by a case distinction.
: In this case, , but we know that since cannot occur in . But then the assignment , derived by unit propagation on F, is the assignment , derived by unit propagation on . Hence, unit propagation on derives a conflict using the clauses .
: In that case, must be the unit clause . It follows that and thus . Hence, unit propagation on derives a conflict with the clauses since it derives all the unit clauses .
In Example 5, we presented a formula F with two assignments and such that . After extending to , however, we could observe that . The problem in the example is that in contrast to , the formula does not contain the unit clause x anymore while still contains x as a clause. Hence, does not imply . However, as the next statement tells us, it is guaranteed that implies all those clauses of that contain neither x nor .
In the rest of this section, given a clause , we write for the conjunction of unit clauses. In the following statement, the requirement that must not falsify x makes sure that is well-defined:
Lemma 6
Let F be formula, let be assignments such that , and let x be a literal that is not falsified by . Then, for every clause such that .
Proof
Assume that and let be a clause such that . Since , we know that unit propagation derives a conflict on , with being the conjunction of the negated literals of . Since , it follows that . Thus, . But then, since unit propagation derives a conflict on , we know, by Proposition 5, that unit propagation derives a conflict on . It follows that .
Using Lemma 6, we can show that every literal that is neither falsified by nor by can just be appended to both and :
Lemma 7
Let F be formula, and assignments, and x a literal that is neither falsified by nor by . Then, implies .
Proof
Suppose and let for . We show that . If , then . Hence, unit propagation derives a conflict on , with being the conjunction of the negated literals of . But then unit propagation derives a conflict on and thus . If , then . Now, we know that and hence . Thus, by Lemma 6, it follows that .
Assume that a clause C is with respect to a formula F. Let D be a superclause of C, be the assignment blocked by C, and the assignment blocked by D. Then, we know that there exists a literal such that . But then Lemma 7 tells us that and thus D is with respect to F. The same argument applies to clauses (but not to clauses in general) and thus we get:
Theorem 8
If a clause C is () with respect to F, then every superclause of C is (, respectively) with respect to F.
To show that the corresponding statement also holds for clauses that are not clauses, we need to show some additional properties of clauses. The next statement, which is a simple consequence of Lemma 6, tells us that the extension of to is harmless if already falsifies x:
Lemma 9
Let F be formula, let and be assignments, and let x be a literal that is not falsified by . Then, implies .
Proof
Assume that occurs in a clause . If , then does not contain x. If , then D is satisfied by and thus . Thus, by Lemma 6, .
Putting everything together, we can now show that we can always extend if we just extend accordingly:
Lemma 10
Let F be a formula, let and be two assignments such that , and let be an assignment such that . Then, there exists an assignment such that and .
Proof
Suppose is an assignment such that . Then, is of the form where . Now, starting with , we stepwise extend with to finally obtain . We just have to extend to an assignment accordingly to ensure that . We start with and proceed as follows for : If , define . In contrast, if , define .
By a simple induction on i we can now show for every : The base case, , holds by assumption. The induction hypothesis states that . Now, for the induction step, if , then is of the form . In this case, by Lemma 9, . If or , then is of the form . In that case, by Lemma 7, .
As immediate consequence we obtain one of our main statements:
Theorem 11
If a clause C is with respect to F, then every superclause of C is with respect to F.
Next, we show that we can remove certain literals from propagation-redundant clauses without violating their property of being propagation redundant. The idea is as follows: Let C be a clause that is propagation redundant with respect to a formula F and let be the assignment blocked by C. Now, if unit propagation on derives the unit clauses , then the clause that blocks only —and not the whole assignment —is propagation redundant with respect to F too. To show this, we first introduce the notion of propagation extensions. Note that in the following definition, by a consistent set of unit clauses, we mean a set of unit clauses that does not contain two complementary unit clauses x and :
Definition 8
Let F be a formula, let be an assignment, and let be a consistent set of unit clauses derived by unit propagation on . Then, is a propagation extension of on F.
Example 6
Let and let . Unit propagation on derives the unit clauses y and z. Hence, the assignments , , and are propagation extensions of on F. Now consider the formula . Then, unit propagation on derives the unit clauses y, z, and . Thus, the propagation extensions of on are the assignments and as well as all the propagation extensions of on F.
If for some propagation extension of an assignment , we can simply shorten to without modifying and it will still hold that :
Lemma 12
Let F be a formula, an assignment, and a propagation extension of on F. Then, if and only if .
Proof
The “only if” direction is an immediate consequence of Lemma 10. For the “if” direction, assume that and let . We know that unit propagation derives a conflict on where is the conjunction of the negated literals of . Since unit propagation derives from , it follows that unit propagation derives a conflict on . Hence, and thus .
Using Lemma 12, we can now show that the removal of propagated literals from clauses is harmless:
Theorem 13
Let C be a clause that is with respect to a formula F and let be the assignment blocked by C. If is a propagation extension of an assignment on F, then the clause that blocks is with respect to F.
Proof
Assume that is a propagation extension of an assignment on F and let be the clause that blocks . Then, is of the form where are all the literals derived by unit propagation on . Since C is propagation redundant with respect to F, we know that there exists some assignment such that satisfies C and . Hence, by Lemma 12, . Now, if satisfies , then is propagation redundant with respect to F.
Assume thus that does not satisfy . Then, since satisfies C, it must falsify a literal in . Let be the first literal (i.e., the one with the smallest index) of that is falsified by . Then, there exists a clause such that is the unit clause and thus falsifies D. Hence, . But then, is trivially with respect to F since it holds for every assignment (and in particular for every that satisfies C) that .
We can prove a corresponding result about clauses: If we remove propagated literals from an clause, then the resulting clause is also an clause. As we will see later, this is not the case for clauses. We start with two lemmas:
Lemma 14
Let F be a formula, and assignments, and x a literal such that . Then, implies .
Proof
Suppose to the contrary that there exists a clause such that . Then, D must contain x, for otherwise would not satisfy D, which would in turn imply . Therefore, the clause , being the conjunction of the negated literals of , must contain . But then, since unit propagation on derives x, it follows that unit propagation derives a conflict on . Hence, and thus .
Lemma 15
Let F be a formula, an assignment, a propagation extension of on F, and l a literal. Then, implies .
Proof
Assume that is a propagation extension of . Then, is of the form where make the literals true that have been derived by unit propagation on . To show that , we distinguish two cases:
: In this case, and thus . Now, since for every literal x satisfied by , we use Lemma 14 to repeatedly remove from all assignments made by to obtain .
: In that case, . Since unit propagation on derives , there exists a clause such that —which satisfies l—falsifies D. Hence, , and since , it follows that unit propagation derives a conflict on . But then unit propagation must derive a conflict on and thus implies every clause via unit propagation. We thus conclude that .
The following Theorem is now an immediate consequence of Lemma 15:
Theorem 16
Let C be a clause that is with respect to a formula F and let be the assignment blocked by C. If is a propagation extension of an assignment on F, then the clause that blocks is with respect to F.
The corresponding property does not hold for clauses, as illustrated by the following example:
Example 7
Let , , and . Then, , which is the assignment blocked by C, is a propagation extension of the assignment . Moreover, since contains no clauses, we have and thus C is set-propagation redundant with respect to F. However, and thus the subclause x of C is not set-propagation redundant with respect to F.
We conclude this section with an observation about the witnessing assignments of propagation-redundant clauses. In the case of propagation redundancy, the domain of the witnessing assignment is not constrained to a particular set of variables. Thus, if we are given a clause C and we want to find a corresponding assignment that witnesses the propagation redundancy of C, we would have to consider assignments over all possible sets of variables. It turns out, however, that there is always a witnessing assignment that assigns all variables occurring in C, and possibly more. Thus, if is the assignment blocked by C, we only need to consider assignments such that . The reason for this is that we can extend every witness to the variables of :
Proposition 17
Let F be a formula, and assignments, and x a literal such that . Then, implies .
Proof
Let . We show that . Clearly, x is not contained in D for otherwise . Therefore, the only possible difference between and is that is contained in but not in . Now, since , we know that . But then, if and only if . It thus follows that .
Related Work
Here, we discuss how the concepts in this article are related to variable instantiation [1], autarkies [24], safe assignments [29], and symmetry breaking [6]. If holds for some literal x, then variable instantiation, as described by Andersson et al. [1], allows to make the literal x true in the formula F. Analogously, our redundancy notion identifies the clause x as redundant.
As presented by Monien and Speckenmeyer [24], an assignment is an autarky for a formula F if it satisfies all clauses of F that contain a literal to which assigns a truth value. If an assignment is an autarky for a formula F, then F is satisfiability equivalent to . Similarly, propagation redundancy allows us to add all the unit clauses satisfied by an autarky, with the autarky serving as a witness:2 Let be an autarky for some formula F, for a literal x satisfied by , and the assignment blocked by C. Notice that and thus C is with respect to F.
According to Weaver and Franco [29], an assignment is considered safe if, for every assignment with , it holds that . If an assignment is safe, then is satisfiability equivalent to F. In a similar fashion, our approach allows us to block all the above-mentioned assignments . Through this, we obtain a formula that is logically equivalent to . Note that safe assignments generalize autarkies and variable instantiation. Moreover, while safe assignments only allow the application of an assignment to a formula F if holds for all assignments , our approach enables us to block an assignment as soon as .
Finally, symmetry breaking [6] can be expressed in the proof system [12] but existing methods introduce many new variables and duplicate the input formula multiple times. It might be possible to express symmetry breaking without new variables in the proof system. For one important symmetry, row-interchangeability [7], the symmetry breaking using without new variables appears similar to the method we presented for the pigeon hole formulas.
Open Problems and Future Work
In a more recent paper, we showed that there exists a polynomial-time procedure that translates proofs to proofs by introducing one new variable [11]. Moreover, we proved that extended resolution polynomially simulates the proof system [20]. The combination of these two results demonstrates that extended resolution polynomially simulates the proof system and therefore also its restricted variants. An open question is how the proof system without new variables relates to other strong proof systems for propositional logic that do not introduce new variables, such as Frege systems. Other open questions are related to the space and width bounds of the smallest proofs, again without new variables, for well-known other hard problems such as Tseitin formulas [26, 27] or pebbling games [25].
On the practical side, we want to pursue some ideas to improve SAT solving by learning short clauses. Our first approach, called satisfaction-driven clause learning, generalizes the well-known conflict-driven clause learning paradigm by checking whether certain assignments—encountered during solving—can be pruned from the search space by adding clauses [15]. Our current implementation can find short proofs of pigeon hole formulas, although the solver can only find a subset of all possible clauses. Moreover, we are still searching for efficient heuristics that help solvers with finding short clauses in general formulas. Another problem we are currently exploring is the minimization of conflict clauses by checking if a subset of a conflict clause is propagation redundant with respect to the formula under consideration. Finally, we want to implement a formally-verified proof checker for proofs.
Conclusion
We presented a clean and simple characterization of clause redundancy that is based on an implication relation between a formula and itself under different partial assignments. Replacing the implication relation by efficiently decidable notions of implication, e.g., the superset relation or implication via unit propagation, gives then rise to various polynomially-checkable redundancy criteria. One variant yields a proof system that turns out to coincide with , which together with deletion is the de-facto standard in SAT solving. We conjecture the proof systems based on the other two variants to be stronger if the introduction of new variables is not allowed. We showed that these more general proof systems admit short clausal proofs without new variables for the famous pigeon hole formulas. Experiments show that our proofs are much smaller than existing clausal proofs and that they are also much faster to check. Our new proof systems concisely simulate many other concepts from the literature such as autarkies, variable instantiation, safe assignments, and certain kinds of symmetry reasoning.
Acknowledgements
Open access funding provided by Austrian Science Fund (FWF).
Footnotes
We changed the definition of from putting n pigeons into holes to putting pigeons into n holes in order to fix a discrepancy with the formulas in the evaluation.
In the conference version [14] of this article, we wrongly stated that we can add all falsified unit clauses instead of the satisfied ones.
Disclaimer: The authors strongly disagree with Springer’s typesetting practices. A version with the intended content and typesetting is available on the authors’ websites.
This work has been supported by the National Science Foundation under Grant CCF-1526760 and by the Austrian Science Fund (FWF) under Project W1255-N23.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
References
- 1.Andersson, G., Bjesse, P., Cook, B., Hanna, Z.: A proof engine approach to solving combinational design automation problems. In: Proceedings of the 39th Annual Design Automation Conference (DAC 2002), pp. 725–730. ACM (2002)
- 2.Audemard, G., Katsirelos, G., Simon, L.: A restriction of extended resolution for clause learning sat solvers. In: Proceedings of the 24th AAAI Conference on Artificial Intelligence (AAAI 2010). AAAI Press (2010)
- 3.Balyo, T., Heule, M.J.H., Järvisalo, M.: SAT competition 2016: recent developments. To appear in: Proceedings of the 31st AAAI Conference on Artificial Intelligence (AAAI 2017). AAAI Press (2017)
- 4.Clarke EM, Biere A, Raimi R, Zhu Y. Bounded model checking using satisfiability solving. Form. Methods Syst. Des. 2001;19(1):7–34. doi: 10.1023/A:1011276507260. [DOI] [Google Scholar]
- 5.Cook SA. A short proof of the pigeon hole principle using extended resolution. SIGACT News. 1976;8(4):28–32. doi: 10.1145/1008335.1008338. [DOI] [Google Scholar]
- 6.Crawford, J., Ginsberg, M., Luks, E., Roy, A.: Symmetry-breaking predicates for search problems. In: Proceedings of the 5th International Conference on Principles of Knowledge Representation and Reasoning (KR 1996), pp. 148–159. Morgan Kaufmann (1996)
- 7.Devriendt Jo, Bogaerts Bart, Bruynooghe Maurice, Denecker Marc. Theory and Applications of Satisfiability Testing – SAT 2016. Cham: Springer International Publishing; 2016. Improved Static Symmetry Breaking for SAT; pp. 104–122. [Google Scholar]
- 8.Goldberg, E.I., Novikov, Y.: Verification of proofs of unsatisfiability for CNF formulas. In: Proceedings of the Conference on Design, Automation and Test in Europe (DATE 2003), pp. 10,886–10,891. IEEE Computer Society (2003)
- 9.Haken A. The intractability of resolution. Theor. Comput. Sci. 1985;39:297–308. doi: 10.1016/0304-3975(85)90144-6. [DOI] [Google Scholar]
- 10.Heule, M.J.H.: Schur number five. In: Proceedings of the 32nd AAAI Conference on Artificial Intelligence (AAAI 2018), pp. 6598–6606. AAAI Press (2018)
- 11.Heule Marijn J. H., Biere Armin. Tools and Algorithms for the Construction and Analysis of Systems. Cham: Springer International Publishing; 2018. What a Difference a Variable Makes; pp. 75–92. [Google Scholar]
- 12.Heule Marijn J. H., Hunt Warren A., Wetzler Nathan. Automated Deduction - CADE-25. Cham: Springer International Publishing; 2015. Expressing Symmetry Breaking in DRAT Proofs; pp. 591–606. [Google Scholar]
- 13.Heule Marijn J. H., Kullmann Oliver, Marek Victor W. Theory and Applications of Satisfiability Testing – SAT 2016. Cham: Springer International Publishing; 2016. Solving and Verifying the Boolean Pythagorean Triples Problem via Cube-and-Conquer; pp. 228–245. [Google Scholar]
- 14.Heule Marijn J. H., Kiesl Benjamin, Biere Armin. Automated Deduction – CADE 26. Cham: Springer International Publishing; 2017. Short Proofs Without New Variables; pp. 130–147. [Google Scholar]
- 15.Heule Marijn J. H., Kiesl Benjamin, Seidl Martina, Biere Armin. Hardware and Software: Verification and Testing. Cham: Springer International Publishing; 2017. PRuning Through Satisfaction; pp. 179–194. [Google Scholar]
- 16.Ivančić F, Yang Z, Ganai MK, Gupta A, Ashar P. Efficient SAT-based bounded model checking for software verification. Theor. Comput. Sci. 2008;404(3):256–274. doi: 10.1016/j.tcs.2008.03.013. [DOI] [Google Scholar]
- 17.Järvisalo M, Biere A, Heule MJH. Simulating circuit-level simplifications on CNF. J. Autom. Reason. 2012;49(4):583–619. doi: 10.1007/s10817-011-9239-9. [DOI] [Google Scholar]
- 18.Järvisalo Matti, Heule Marijn J. H., Biere Armin. Automated Reasoning. Berlin, Heidelberg: Springer Berlin Heidelberg; 2012. Inprocessing Rules; pp. 355–370. [Google Scholar]
- 19.Kiesl Benjamin, Seidl Martina, Tompits Hans, Biere Armin. Automated Reasoning. Cham: Springer International Publishing; 2016. Super-Blocked Clauses; pp. 45–61. [Google Scholar]
- 20.Kiesl Benjamin, Rebola-Pardo Adrián, Heule Marijn J. H. Automated Reasoning. Cham: Springer International Publishing; 2018. Extended Resolution Simulates DRAT; pp. 516–531. [Google Scholar]
- 21.Konev B, Lisitsa A. Computer-aided proof of Erdős discrepancy properties. Artif. Intell. 2015;224(C):103–118. doi: 10.1016/j.artint.2015.03.004. [DOI] [Google Scholar]
- 22.Kullmann O. On a generalization of extended resolution. Discrete Appl. Math. 1999;96–97:149–176. doi: 10.1016/S0166-218X(99)00037-2. [DOI] [Google Scholar]
- 23.Manthey Norbert, Heule Marijn J. H., Biere Armin. Hardware and Software: Verification and Testing. Berlin, Heidelberg: Springer Berlin Heidelberg; 2013. Automated Reencoding of Boolean Formulas; pp. 102–117. [Google Scholar]
- 24.Monien B, Speckenmeyer E. Solving satisfiability in less than steps. Discrete Appl. Math. 1985;10(3):287–295. doi: 10.1016/0166-218X(85)90050-2. [DOI] [Google Scholar]
- 25.Nordström J. A simplified way of proving trade-off results for resolution. Inf. Process. Lett. 2009;109(18):1030–1035. doi: 10.1016/j.ipl.2009.06.006. [DOI] [Google Scholar]
- 26.Tseitin GS. On the complexity of derivation in propositional calculus. Stud. Math. Math. Log. 1968;2:115–125. [Google Scholar]
- 27.Urquhart A. The complexity of propositional proofs. Bull. Symb. Log. 1995;1(4):425–467. doi: 10.2178/bsl/1203350879. [DOI] [Google Scholar]
- 28.Van Gelder A. Producing and verifying extremely large propositional refutations. Ann. Math. Artif. Intell. 2012;65(4):329–372. doi: 10.1007/s10472-012-9322-x. [DOI] [Google Scholar]
- 29.Weaver S, Franco JV, Schlipf JS. Extending existential quantification in conjunctions of BDDs. JSAT. 2006;1(2):89–110. [Google Scholar]
- 30.Wetzler Nathan, Heule Marijn J. H., Hunt Warren A. Lecture Notes in Computer Science. Cham: Springer International Publishing; 2014. DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs; pp. 422–429. [Google Scholar]