Content uploaded by Tobias Philipp

Author content

All content in this area was uploaded by Tobias Philipp on Oct 02, 2015

Content may be subject to copyright.

Generic CDCL – A Formalization of Modern

Propositional Satisﬁability Solvers

Steﬀen H¨

olldobler, Norbert Manthey, Tobias Philipp and Peter Steinke

International Center for Computational Logic

Technische Universit¨

at Dresden

Abstract. Modern propositional satisﬁability (or SAT) solvers are very

powerful due to recent developments on the underlying data structures,

the used heuristics to guide the search, the deduction techniques to in-

fer knowledge, and the formula simpliﬁcation techniques that are used

during pre- and inprocessing. However, when all these techniques are

put together, the soundness of the combined algorithm is not guaranteed

any more. In this paper we present a small set of rules that allows to

model modern SAT solvers in terms of a state transition system. With

these rules all techniques which are applied in modern SAT solvers can

be adequately modeled. Finally, we compare Generic CDCL with related

systems.

1 Introduction

Many practical problems of computer science are in the complexity class NP.

There are many well studied formalisms that can handle problems of this class,

among them are constraint satisfaction [20], answer set programming [7], or

satisﬁability checking [3]. Although the two former formalisms admit a richer

language, the latter approach is still very competitive even if the expressivity of

its language is comparatively low.

The propositional satisﬁability problem (SAT) consists of a propositional for-

mula and asks whether there is a satisfying assignment for the Boolean variables

occurring in the formula. From a complexity theory point of view SAT is NP-

complete [4] and, thus, intractable. Still, there are many industrial and academic

applications that can be solved nicely with modern SAT solvers. For instance a

SAT-based railway scheduling software outperformed the native version [9]. Like-

wise, haplotype matching [13] can be solved nicely with modern SAT solvers.

The success of the SAT approach lies in the strength of today’s SAT solvers.

SAT solvers do not operate on testing all possible variable assignments, but

on constructing an assignment by successively interleaving two processes, viz.,

guessing and propagating the assignment of literals. The main inference rule is

unit propagation, an eﬃcient form of resolution. Combined with a decision rule

it is the core of the basic algorithm known as the DPLL algorithm [5]. In the

case that a contradiction is found in the formula with respect to the current

variable assignment, advanced SAT solvers backtrack and learn a conﬂict clause

which prevents the current and similar conﬂicts. With the addition of so-called

learned clauses the basic algorithm is known as CDCL algorithm [16].

Modern systematic SAT solvers are highly tuned and complex proof pro-

cedures employing many advanced techniques like clause learning [16], non-

chronological backtracking,restarts [8], clause removal [2, 6], decision heuris-

tics [2,17], and formula simpliﬁcation techniques [12]. Specialized, cache-conscious

data structures [10] further improve the performance. This way, today’s solvers

like Riss,1MiniSAT or Lingeling can handle formulas with millions of variables

and millions of clauses.

However, the success of modern solvers carries a price tag: increased code

complexity. Successful SAT solvers like the above mentioned ones consist of mul-

tiple thousand lines of code and are written in programming languages with

side eﬀects like C or C++. Due to the code complexity, the behavior of SAT

solvers is hard to understand and state-of-the-art SAT solver internals are hard

to teach. Moreover, ﬁnding additional techniques and integrating them into a

SAT solver is getting more complex, as we have to consider the interplay with

all the remaining techniques. Consequently, abstracting from speciﬁc algorithms,

data structures, and heuristics is extremely important in order to discover and

prove properties of a modern SAT solver as well as to understand the principles

of SAT solving.

This problem was tackled by diﬀerent formalizations, notably Linearized

DPLL [1], Rule-based SAT Solver Descriptions [15], and Abstract

DPLL [18]. However, these systems do not appropriately model modern SAT

solvers anymore. In particular, preprocessing and applying preprocessing tech-

niques interleaved with search, known as inprocessing, became a crucial part in

SAT solving. Applying formula simpliﬁcation techniques also during search is an

attractive idea since it allows to use valuable formula simpliﬁcations while taking

learned clauses into account. For example, the SAT solver Lingeling beneﬁts

considerably from this approach.

The contribution of this paper is the formalism Generic CDCL that models

the computation of modern SAT solvers. Equipped with a small set of simple

state transition rules, we can model all well-established techniques like prepro-

cessing, inprocessing, restarts, clause sharing, as well as clause learning and for-

getting. This formalism allows us to reason about the behavior of SAT solvers

independently of the speciﬁc implementation. Additionally, the framework is a

ﬁrst step to explain how modern SAT solvers are working in a compact and easy

way. Besides the presentation of Generic CDCL, the main result of this paper is

the proof that Generic CDCL and, consequently, all its instances are sound.

The paper is structured as follows: In Section 2 we describe basic concepts of

satisﬁability testing. We present Generic CDCL in Section 3, where we also prove

that Generic CDCL correctly solves the satisﬁability problems. Afterwards, we

compare Generic CDCL with related formalism in Section 4 and we conclude

the paper in Section 5.

1The SAT solver Riss is freely available at tools.computational-logic.org.

2 Preliminaries

2.1 The Satisﬁability Problem

We assume a ﬁxed inﬁnite set Vof Boolean variables. A literal is a variable v

(positive literal ) or a negated variable v(negative literal). The complement xof

a positive (negative, resp.) literal xis the negative (positive, resp.) literal with

the same variable as x. The complement of a set Sof literals, denoted with S,

is deﬁned as S={x|x∈S}. Finite sets of clauses are called formulas, where

aclause is a ﬁnite set of literals. Sometimes, we write a clause {x1, . . . , xn}also

as the disjunction (x1∨. . . ∨xn) and a formula {C1, . . . , Cn}as the conjunction

(C1∧. . . ∧Cn). The empty clause is denoted by ⊥, the empty formula by >. The

formula obtained from Fby replacing all occurrences of the variable vby the

variable wis denoted by F[v7→ w]. The set of all variables occurring in a formula

F(in positive or negative literals) is denoted by vars(F); the set of all literals

occurring in Fby lits(F). For instance, if x, y ∈ V , then F={{x, y},{y}} is

a formula, its alternative representation using logical connectives is (x∨y)∧y,

vars(F) = {x, y}, and lits(F) = {x, y}.

The semantics of formulas is based on the notion of an interpretation. An

interpretation Iis a set of literals which does not contain a complementary pair

x,xof literals. An interpretation Iis total iﬀ for each v∈ V either v∈Ior v∈I.

The satisfaction relation |= is deﬁned as follows: Let Ibe an interpretation, then

I|=>,I6|=⊥,I|= (x1∨. . . ∨xn) iﬀ I|=xifor some i∈ {1, . . . , n}, and

I|= (C1∧. . . ∧Cn) iﬀ I|=Cifor all i∈ {1, . . . , n}. Interpretation Iis a model

for the formula Fiﬀ I|=F. In the case that a formula Fhas a model, then F

is satisﬁable, otherwise it is unsatisﬁable.

We relate formulas by three relations: the entailment, the equivalence and

the equisatisﬁability relation: Formula Fentails formula F0iﬀ every total model

of Fis a model of F0. Two formulas Fand F0are equivalent, in symbols F≡F0,

iﬀ Fentails F0and F0entails F. Two formulas Fand F0are equisatisﬁable, in

symbols F≡sat F0, iﬀ either both are satisﬁable or both are unsatisﬁable.

For instance, the interpretation I={x, ¬z}is a model of the formula F1=

(x∨y)∧(x∨z) and, therefore, Fis satisﬁable. The formula F2=x∧xhas

no model and, therefore, is unsatisﬁable. The formula F3=x∧zis satisﬁable

and, therefore, the formulas F1and F3are equisatisﬁable, but the formulas F1

and F2are not equisatisﬁable. In fact, F3|=F1since every total model Iof the

formula F3must contain xand zand, hence, the two clauses of F1are satisﬁed

by I. Finally, we ﬁnd for all clauses Cand formulas Fthat C∨ > ≡ > ∨ C≡ >,

C∨ ⊥ ≡ ⊥ ∨ C≡C,F∧ > ≡ > ∧ F≡F, and F∧ ⊥ ≡ ⊥ ∧ F≡ ⊥.

Let xbe a literal, C= (x∨C0) and D= (x∨D0) be two clauses. Then the

clause (C0∨D0) is the resolvent of the clauses Cand Dupon the literal x. A

linear resolution derivation from the clause Cto the clause Din the formula F

is a ﬁnite sequence of clauses (Ci|1≤i≤n) such that C1=C,Cn=Dand

Ciis a resolvent of the clause Ci−1and some clause in the formula Ffor all

i∈ {2, . . . , n −1}; one should observe that Fentails Dand that the addition of

entailed clauses to a formula preserves equivalence.

2.2 Variable Assignments and the Reduct Operator

Let Jbe a ﬁnite sequence of literals. In Jeach literal may be marked as a

decision literal by placing a dot on top like in ˙x; if a literal xis not marked, then

it is a propagation literal. Let Jbe a sequence of literals of length n. We say that

literal x∈Jiﬀ there is a k∈ {1, . . . , n}such that x=xk. Let J1= (x1, . . . , xn)

and J2= (y1, . . . , ym) be two sequences of literals; their concatenation J1J2is

the sequence (x1, . . . , xn, y1, . . . , ym). If a ﬁnite sequence Jof literals does not

contain a complementary pair of literals, then Jrepresents an interpretation. As

this condition is always met in this paper, we identify sequences of literals with

interpretations whenever appropriate.

The reduct of a formula Fw.r.t. an interpretation J, in symbols F|J, is

deﬁned as F|J:= {C|J|C∈Fand for every literal x∈Cwe ﬁnd that x6∈ J},

where C|J=C\ {x|x∈J}. Intuitively, the reduct operator expresses the state

of a SAT solver, where the formula Fis the working formula and Jis the working

assignment. For instance, let F={{x, y},{z}}, then F|x={{y},{z}},F|z=

{{x, y},⊥} and F|y z =>, where the interpretations are written as sequences

of literals. One should observe that the reduct operator does not distinguish

between propagation and decision literals.

Lemma 1 below summarizes the properties of the reduct operator: (i) The

reduct is monotone. (ii) A formula Fis satisﬁable iﬀ there exists an interpre-

tation Jsuch that the reduct of a formula w.r.t. Jis the empty formula. (iii)

If the reduct of a formula Fw.r.t. the interpretation {x}is unsatisﬁable, and

the formula Fentails the literal x, then the formula Fis unsatisﬁable. (iv) The

reduct operator is a semantic operator in the sense that it cannot distinguish

equivalent formulas.

Lemma 1 (Reduct Operator). Let F, F 0be formulas and xa literal.

(i) F|J⊆(F∪F0)|Jfor every interpretation J.

(ii) Fis satisﬁable iﬀ there exists a Jsuch that F|J=>.

(iii) If F|xis unsatisﬁable and F|=x, then Fis unsatisﬁable.

(iv) If F≡F0, then F|J≡F0|Jfor every interpretation J.

Proof. See [19, pp.10–12]. ut

3 Generic CDCL

Modern SAT solvers are based on the linearized DPLL [5] algorithm and consists

of the following components: termination criteria, a decision component that

picks the branching literals, an inference component that adds propagation lit-

erals to the working sequence of literals, a backtracking component that rolls

back wrong decisions and a formula management component that simpliﬁes the

working formula. We maintain two data structures during the execution of mod-

ern SAT solvers: the working formula, and the working set of literals. Together

they deﬁne the state. The components are modelled as a transition relation over

the set of states; the union of the rules in Fig. 1 is then the transition relation

SAT-rule: FJ;SAT SAT iﬀ F|J=>.

UNSAT-rule: FJ;UNSAT UNSAT iﬀ

⊥ ∈ F|Jand Jcontains only propagation literals.

DEC-rule: FJ;DEC FJ˙xiﬀ

x∈vars(F)∪vars(F) and {x, x} ∩ J=∅.

INF-rule: FJ;INF FJ x iﬀ

F|J≡sat F|J x and {x, x} ∩ J=∅.

LEARN-rule: FJ;LEARN F∪ {C}Jiﬀ F|=C.

FORGET-rule: FJ;FORGET F\ {C}Jiﬀ F\ {C} |=C.

BACK-rule: FJ J0

;BACK FJ.

INP-rule: Fε;INP F0εiﬀ F≡sat F0.

Fig. 1: Transition relations of Generic CDCL. These relations apply to all for-

mulas Fand F0, clauses C, literals xand lists of literals Jand J0.εdenotes the

empty sequence of literals.

of Generic CDCL: Formally, we model the computation of modern SAT solvers

by means of state transition systems as follows:

Deﬁnition 2 (Generic CDCL). Generic CDCL is a state transition system

whose sets of states is

{FJ|Fis a formula and Jis a sequence of literals}∪{SAT,UNSAT},

whose initial state for the input formula Fis init(F) = Fε, whose set of

terminal states is {SAT,UNSAT}, and whose transition relation ;is deﬁned as:

;:= {;SAT,;UNSAT,;DEC,;INF ,;LEARN,;FORGET,;BACK ,;INP}.

The SAT-rule terminates the computation with the output SAT, if the reduct of

the working formula w.r.t. the working set of literals is the empty formula. This

condition can be decided in linear time w.r.t. the size of the working formula F.

By Lemma 1 (ii) the working formula is then satisﬁable.

The UNSAT-rule terminates the computation with the output UNSAT, if no

model of the working formula exists. This is the case when a conﬂict occurs in

the top level, i.e. ⊥ ∈ F|Jand the sequence Jof literals contains only propagation

literals. These conditions can be decided in polynomial time.

The DEC-rule extends the working sequence of literals by an unassigned literal

˙xas a decision literal.

The INF-rule extends the working list of literals by a propagation literal x, if

the reducts of the working formula w.r.t. the working sequence of literals and its

extension are equisatisﬁable.

The BACK-rule models backtracking, as well as backjumping and restarts, by

deleting outermost right literals in the working sequence of literals.

The LEARN-rule adds a clause Cto the working formula, if it is entailed by

the working formula F. Deciding whether F|=Cholds, is coNP-complete.

Similarly to the INF-rule, SAT solvers avoid this check by using techniques for

creating the clause Cthat ensure this property, as for example resolution.

The FORGET-rule deletes a clause Cof the working formula F, if F\ {C} |=C.

The question whether F\ {C} |=Cholds is coNP-complete. Typically, we use

tractable algorithms to identify redundant clauses. For instance, clauses that

were introduced by the LEARN-rule but have turned out to be useless and did

not participate in the elimination of other clauses in the formula can be removed.

For more details on the deletion of clauses see [12].

The INP-rule models formula simpliﬁcations that are used in pre- and inpro-

cessing. It replaces the working formula with an equisatisﬁable formula when

the working sequence of literals is empty.

Let ∗

;be the reﬂexive and transitive closure of ;. Let x0

;xfor all states x,

and xn

;zfor all natural numbers n∈Nif and only if there exists a state ysuch

that xn−1

;y;z. In the next subsection we investigate the question whether

Generic CDCL correctly solves the SAT problem. Formally, we deﬁne Generic

CDCL to be sound iﬀ for all formulas F0we have that init(F0)∗

;SAT implies

that F0is satisﬁable and init(F0)∗

;UNSAT implies that F0is unsatisﬁable.

3.1 Generic CDCL is Sound

Before proceeding to the soundness proof of Generic CDCL, it will be necessary

to study two invariants of Generic CDCL that are presented in the proposition

below: (i) states that the rules of Generic CDCL do not change the satisﬁability

of the working formula, and (ii) states that whenever the working sequence of

literals is of the form J1x J2, where xis a propagation literal, the reducts of the

working formula w.r.t. J1and J1xare equisatisﬁable.

Proposition 3 (Invariants). Let F0, F be formulas, Jbe a sequence of literals,

and n∈N. If init(F0)n

;FJ, then

1. F0≡sat F, and

2. F|J1≡sat F|J1x, for all sequences of literals J1, J2and propagation literals x

with J=J1x J2.

Proof. The claims are proven by induction on n. For the base case n= 0, 1.

follows from F0=Fand 2. holds since the Jis empty. For the induction step,

assume that the claim holds for the state FJand suppose that FJ;RF0J0

where R∈ {DEC,INF,LEARN,FORGET,BACK,INP}:

–DEC-rule: In this case, F0=Fand J0=J˙xfor some decision literal ˙x

with {x, x} ∩ J=∅.1. follows since F0≡sat Fholds by induction. 2. holds

because the appended literal is a decision literal. Formally, let J0

1, J 0

2be literal

sequences, ybe a propagation literal such that J0=J0

1y J0

2˙x. By induction,

we conclude that F|J0

1≡sat F|J0

1y. Hence, F0|J0

1≡sat F0|J1y.

–BACK-rule: In this case, F0=Fand J=J0J00.1. follows since F0≡sat Fby

induction. 2. holds because the literal sequence J0is a preﬁx of J. Formally,

let J0

1, J 0

2be literal sequences and ybe a propagation literal such that J0=

J0

1y J0

2. By induction, we conclude that F|J0

1≡sat F|J0

1y, and consequently

we know that F0|J0

1≡sat F0|J0

1y.

–LEARN-rule: In this case, F0=F∪ {C}where F|=Cand J0=J.1. follows

since F≡F0and the addition of the entailed clause Cpreserves equivalence

of the working formula. 2. follows from the reduct operator being a semantic

operator by Lemma 1.iv and therefore F0|J0

1≡sat F0|J0

1yholds by induction

for every literal sequences J0

1, J 0

2and propagation literals ywith J0=J0

1y J0

2.

–FORGET-rule: This case can be treated as in the LEARN-rule.

–INF-rule: In this case, F0=Fand J0=J x for some propagation literal x

with {x, x} ∩ J=∅.1. follows since F0≡sat Fholds by induction. 2. follows

from the deﬁnition of the INF-rule: Consider the literal sequences J0

1, J 0

2and a

propagation literal ysuch that J0=J0

1y J0

2. In the case that y=x, we know

that J0

2is the empty sequence of literals and consequently F|J0

1≡sat F|J0

1y

holds by the deﬁnition of the INF-rule. In the case of y6=x, we can conclude

the claim by induction.

–INP-rule: In this case, F0≡sat Fand J0is the empty sequence. Consequently,

1. holds by the deﬁnition of the INP-rule, and 2. is satisﬁed as J00 =ε.ut

We can now show the main theorem in this paper.

Theorem 4 (Soundness). Generic CDCL is sound.

Proof. We divide the proof in two parts, ﬁrst proving that the output SAT is cor-

rect, and then proving that the output UNSAT is correct. Let F0, F be formulas,

Jbe a sequence of literals and suppose that

init(F0)∗

;FJ;SAT(UNSAT,resp.).

SAT By the deﬁnition of the SAT-rule, we know that F|J=>. By Lemma 1.ii,

we know that the formula Fis satisﬁable. From the result that the formula Fis

satisﬁable together with the property that the formulas F0and Fare equisatis-

ﬁable given in Prop. 3(1.), we conclude that the input formula F0is satisﬁable.

UNSAT By the deﬁnition of the UNSAT-rule, we know that ⊥ ∈ F|Jand the

working sequence of literals J= (x1. . . xn) contains only propagation literals.

Since a conﬂict occurs, F|Jis unsatisﬁable. From the result that the formula F|J

is unsatisﬁable and the literal sequence Jcontains only propagation literals we

can repeatably apply Prop. 3(2.) and we obtain that the formula Fis unsat-

isﬁable. Since the formula Fis unsatisﬁable and the formulas Fand F0are

equisatisﬁable by Prop. 3(1.), we conclude that F0is unsatisﬁable. ut

3.2 Generic CDCL Subsumes Important SAT Solving Techniques

We now describe some important SAT solving techniques, and demonstrate that

Generic CDCL can adequately model these techniques.

Subsumption For a formula F, the clause C∈Fsubsumes the clause D∈F

iﬀ C⊂D. In this case, Dcan be deleted because F\ {D} |=D. Consequently,

FJ;FORGET F\{D}Jholds for every literal sequence J. Removing subsumed

clauses is done as a preprocessing step in SAT solvers and during clause learning.

Tautologies A clause Cis a tautology if it contains a complementary pair of lit-

erals. Every formula Fentails a tautology and the LEARN-rule in Generic CDCL

subsumes this techniques. Tautologies are eliminated during preprocessing.

Conﬂict-Directed Backtracking and Learning [21] is an improvement of naive

backtracking that takes the reason of the conﬂict into account. Consider the

state FJ˙x J0and a clause C∈Fwhere C|J˙x J 0=⊥. The clause Cis the

conﬂict clause. If there is a linear resolution derivation from the conﬂict clause C

to a clause Din the formula Fsuch that D|Jis the unit clause y, the technique

rewrites the state FJ˙x J0into the state F∪ {C}J y. Conﬂict-directed

backtracking and learning can be simulated by the following transition steps:

FJ˙x J0;BACK FJ;LEARN F∪ {D}J;INF F∪ {D}J y.

Blocked Clause Elimination [11] A clause Cis blocked in the formula Fif it

contains a literal xsuch that all resolvents of the clause Cand clauses D∈F

upon xare tautological. Blocked clauses are removed from a formula during pre-

and inprocessing. If Cis blocked in F, then F≡sat F\ {C}and, therefore, the

INP-rule subsumes the blocked clause elimination technique.

Unit Propagation A clause that contains a single literal is a unit clause. Unit

propagation adds the propagation literal xto the literal sequence J, whenever

the reduct of the working formula w.r.t. Jcontains the unit clause (x). Since

F|J|=x, we know that F|J≡sat F|J x and consequently the INF-rule subsumes

unit resolution.

Pure Literal A literal xis pure in the formula F, if x6∈ lits(F). For pure

literals, it holds that F≡sat F|xand, therefore, whenever a literal xis pure in

the formula F|Jfor some literal sequence J, Generic CDCL can add the pure

literal to the working literal sequence: FJ;INF FJ x.

4 Related Work

Several attempts have been made to formalize sequential SAT solvers in terms of

transition systems or proofs calculi: Abstract DPLL [18], Linearized DPLL [1],

and Rule-based SAT solver description [15]. In general, these formalization are

based on a notion of state like Generic CDCL.

However, these formalizations cannot adequately model recent SAT solvers:

For instance, Linearized DPLL does not model the SAT solver MiniSAT, because

Linearized DPLL restricts decision literals to occur in the working formula, but

the solver MiniSAT can also select the complements of such literals. Addition-

ally, Linearized DPLL does not model formula simpliﬁcation techniques such

as blocked clause elimination, or probing-based inference techniques. Similarly,

Abstract DPLL and the Rule-based SAT solver description [15] do not model

formula simpliﬁcations that changes the semantics of formulas like blocked clause

elimination. Maric highlighted the implementation of clause learning techniques

in his Rule-based SAT solver description [15], but it does not include recent devel-

opments such as clause strengthening. All these formalizations consider DPLL-

based SAT solvers, but the ancient pure literal rule is not subsumed in these

systems. In contrast, Generic CDCL subsumes all recent SAT techniques to the

best of our knowledge.

In [12] Jarvisalo et. al. developed a formal system to model clause learning,

forgetting and formula simpliﬁcation techniques to understand the side-eﬀects

of the combination of diﬀerent rules. They drew our attention to the interplay

of the learned clause database with inprocessing techniques. The interplay of

clause sharing and formula simpliﬁcation techniques in parallel SAT solvers was

analyzed in [14], where the state of a sequential SAT solver was modelled just as

the working formula. We believe that Generic CDCL is an important fragment

to understand sequential SAT solvers with inprocessing and their cooperation in

the parallel-portfolio setting with clause sharing.

5 Conclusion

The propositional satisﬁability problem is of great practical interest and can be

eﬃciently answered by modern SAT solvers like Riss,Lingeling or MiniSAT. To-

day, modern SAT solvers are highly tuned proof procedures with many advaned

techniques. Therefore, it is desireable to investigate SAT solving techniques in

combination with each other and to abstract from implementations.

In this paper, we developed Generic CDCL, a formalism that models the

computation of modern SAT solvers in terms of a state transition system, where

each transition rule abstracts a component in a SAT solver. In particular, the

transition rules INF and INP model formula simpliﬁcation techniques like blocked

clause elimination and inference techniques such as the pure literal rule. We

have examined invariants in Generic CDCL and have shown that Generic CDCL

is sound. In contrast to previous work on formalizations of SAT solvers, we

can model all recent techniques. The ﬁndings add to our understanding of the

interplay of inprocessing techniques with the other components of SAT solvers.

A limitation of Generic CDCL is its lack of details in the learning and in-

ference component. As future work, we plan to investigate properties such as

completeness,conﬂuence and termination.

References

1. Arnold, H.: A linearized DPLL calculus with clause learning. Tech. rep., Universit¨

at

Potsdam. Institut f¨

ur Informatik (2009)

2. Audemard, G., Simon, L.: Predicting learnt clauses quality in modern SAT solvers.

In: Boutilier, C. (ed.) IJCAI 2009. pp. 399–404. Morgan Kaufmann Publishers Inc.,

Pasadena (2009)

3. Biere, A., Heule, M., van Maaren, H., Walsh, T. (eds.): Handbook of Satisﬁability.

IOS Press, Amsterdam (2009)

4. Cook, S.A.: The complexity of theorem-proving procedures. In: Harrison, M.A.,

Banerji, R.B., Ullman, J.D. (eds.) STOC 1991. pp. 151–158. ACM (1971)

5. Davis, M., Logemann, G., Loveland, D.: A machine program for theorem-proving.

Commun. ACM 5(7), 394–397 (1962)

6. E´en, N., S¨

orensson, N.: An extensible SAT-solver. In: Giunchiglia, E., Tacchella,

A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004)

7. Gelfond, M., Lifschitz, V.: The stable model semantics for logic programming. In:

Kowalski, R.A., Bowen, K.A. (eds.) ICLP 1988. pp. 1070–1080. MIT Press (1988)

8. Gomes, C.P., Selman, B., Crato, N., Kautz, H.: Heavy-tailed phenomena in satis-

ﬁability and constraint satisfaction problems. J. Autom. Reason. 24(1–2), 67–100

(2000)

9. Großmann, P., H¨

olldobler, S., Manthey, N., Nachtigall, K., Opitz, J., Steinke, P.:

Solving periodic event scheduling problems with SAT. In: Jiang, H., Ding, W.,

Ali, M., Wu, X. (eds.) IEA / AIE 2012. LNCS, vol. 7345, pp. 166–175. Springer,

Heidelberg (2012)

10. H¨

olldobler, S., Manthey, N., Saptawijaya, A.: Improving resource-unaware SAT

solvers. In: Ferm¨

uller, C.G., Voronkov, A. (eds.) LPAR 2010. LNCS, vol. 6397, pp.

519–534. Springer, Heidelberg (2010)

11. J¨

arvisalo, M., Biere, A., Heule, M.: Blocked clause elimination. In: Esparza, J., Ma-

jumdar, R. (eds.) TACAS 2010. LNCS, vol. 6015, pp. 129–144. Springer, Heidelberg

(2010)

12. J¨

arvisalo, M., Heule, M.J.H., Biere, A.: Inprocessing rules. In: Gramlich, B., Miller,

D., Sattler, U. (eds.) IJCAR 2012. LNCS, vol. 7364, pp. 355–370. Springer, Hei-

delberg (2012)

13. Lynce, I., Marques-Silva, J.: Eﬃcient haplotype inference with Boolean satisﬁabil-

ity. In: AAAI 2006. pp. 104–109. AAAI Press (2006)

14. Manthey, N., Philipp, T., Wernhard, C.: Soundness of inprocessing in clause sharing

SAT solvers. In: J¨

arvisalo, M., Van Gelder, A. (eds.) SAT 2013. LNCS, vol. 7962,

pp. 22–39. Springer, Heidelberg (2013)

15. Mari´c, F.: Formalization and implementation of modern SAT solvers. J. Autom.

Reason. 43(1), 81–119 (2009)

16. Marques Silva, J.P., Sakallah, K.A.: GRASP: A search algorithm for propositional

satisﬁability. IEEE Transactions on Computers 48(5), 506–521 (1999)

17. Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaﬀ: Engineer-

ing an eﬃcient SAT solver. In: DAC 2001. pp. 530–535. ACM, New York (2001)

18. Nieuwenhuis, R., Oliveras, A., Tinelli, C.: Abstract DPLL and abstract DPLL

modulo theories. In: Baader, F., Voronkov, A. (eds.) LPAR 2004. LNCS, vol. 3452,

pp. 36–50. Springer, Heidelberg (2005)

19. Philipp, T.: Expressive Models for Parallel Satisﬁability Solvers. Master thesis,

Technische Universit¨

at Dresden (2013)

20. Rossi, F., Beek, P.v., Walsh, T.: Handbook of Constraint Programming. Elsevier

Science Inc., New York (2006)

21. Silva, J.P.M., Sakallah, K.A.: GRASP - a new search algorithm for satisﬁability.

In: ICCAD 1996. pp. 220–227. IEEE Computer Society, Washington (1996)