Local autarkies searching for the dynamic partition ... - ResearchGate
Local autarkies searching for the dynamic partition ... - ResearchGate
Local autarkies searching for the dynamic partition ... - ResearchGate
- No tags were found...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Local</strong> <strong>autarkies</strong> <strong>searching</strong> <strong>for</strong> <strong>the</strong> <strong>dynamic</strong> <strong>partition</strong> of CNF <strong>for</strong>mulaeÉric Grégoire Bertrand Mazure Lakhdar SaïsUniversité Lille-Nord de FranceCRIL - CNRS UMR 8188Artois, F-62307 Lens{gregoire,mazure,sais}@cril.frAbstractIn this paper an original <strong>dynamic</strong> <strong>partition</strong> of <strong>for</strong>mulaein Conjunctive Normal Form (CNF) is presented. It isbased on <strong>the</strong> autarky concept first introduced by Monienand Speckenmeyer and fur<strong>the</strong>r investigated by Kullmannand Van Gelder. Intuitively, an autarky is a partial assignmentsatisfying some clauses while not affecting any literalin any o<strong>the</strong>r clause, leading to a <strong>partition</strong> of <strong>the</strong> CNF <strong>for</strong>mula.Autarkies can play a dramatic role in <strong>the</strong> efficiency ofmodern SAT solvers. The approach in this paper aims to <strong>dynamic</strong>allyextend <strong>the</strong> current partial assignment to a localautarky thanks to an inference rule based on unit propagation.More precisely, at each node of <strong>the</strong> search tree, it ischecked whe<strong>the</strong>r <strong>the</strong> current decision literal can be mademonotone by subsuming all <strong>the</strong> clauses where it appearsnegatively. The <strong>for</strong>mal framework is detailed and its technicalfeatures discussed.1. IntroductionThe SAT problem, i.e., <strong>the</strong> problem of checking whe<strong>the</strong>ra set of Boolean clauses is satisfiable or not, is centralin many computer science and artificial intelligencedomains, including e.g. constraint satisfaction problems(CSP), planning, non-monotonic reasoning and VLSIcorrectness checking. Today, SAT has gained a considerableaudience with <strong>the</strong> advent of a new generation ofSAT solvers able to solve large complex instances encodingreal-world applications. These solvers also appearto provide crucial base-building blocks <strong>for</strong> variouso<strong>the</strong>r problem-solving technologies, like SMT solving, <strong>the</strong>oremproving, model finding and QBF solving.These solvers, called modern SAT solvers [19, 6], arebased on <strong>the</strong> standard unit propagation technique [4] combinedin a smart way with efficient data structures, toge<strong>the</strong>rwith: (i) restart policies [7, 12], (ii) activity-based variableselection heuristics (VSIDS-like) [3, 19], and (iii) clauselearning [17, 1, 19]. Modern SAT solvers can be interpretedas extended versions of <strong>the</strong> well-known DPLL-like(short <strong>for</strong> Davis, Putnam, Logemann and Loveland) procedureaugmented with <strong>the</strong>se various enhancements. Let usstress that <strong>the</strong> well-known resolution rule still plays a dramaticrole in <strong>the</strong> efficiency of modern SAT solvers whichcan be understood as a particular <strong>for</strong>m of general resolution[2]. These lookback-based SAT solvers are particularlyefficient on SAT instances encoding practical applications.O<strong>the</strong>r lookahead-based SAT solvers are designed using efficientlocal processing techniques and variable branchingheuristics (e.g. Satz [14], kcnfs [5], March-DL [8]). Thislast family of solvers are particularly efficient on randomand crafted SAT instances.The recent dramatic breakthrough in solving complexindustrial SAT instances can often be related to <strong>the</strong> presenceof hidden structures exploited in a smart way by <strong>the</strong>SAT solvers. Indeed, such instances are very suitable <strong>for</strong>decomposition-based techniques. However, most of <strong>the</strong> decompositiontechniques are much time consuming. Lightdivide-and-conquer approaches have been proposed previously,using <strong>for</strong> example structure-based variable orderingheuristics to recursively decompose <strong>the</strong> SAT instances [9].In [15], a <strong>dynamic</strong> decomposition method based on hypergraphseparators is proposed. The authors give a nice integrationof <strong>the</strong> separator decomposition into variable orderingof a modern SAT solver that speedups <strong>the</strong> searchon real-world SAT instances. O<strong>the</strong>r approaches are basedon <strong>the</strong> exploitation of autarky assignments originally proposedby Monien and Speckenmeyer [18] and fur<strong>the</strong>r investigatedby Kullmann [13] and Van Gelder [21]. Morerecently, Liffton and Sakallah [16] proposed a novel algorithmthat searches <strong>for</strong> <strong>autarkies</strong> directly using a standardsatisability solver and explore <strong>the</strong> potential of trimming <strong>autarkies</strong>in minimal unsatisable subsets (MUS) and minimalcorrection subsets (MCS) extraction flows. Let us stress that<strong>the</strong> <strong>dynamic</strong> exploitation of <strong>autarkies</strong> assignments in DPLLlikesearch procedures actually goes back to Oxusoff’s andRauzy’s work [20]. In <strong>the</strong>ir paper, <strong>the</strong>se latter authors pro-
posed several variable branching heuristics to <strong>dynamic</strong>ally<strong>partition</strong> <strong>the</strong> CNF <strong>for</strong>mula into disjoint sets of clauses. Moreprecisely, <strong>the</strong> proposed variable ordering heuristics aim to<strong>partition</strong> <strong>the</strong> <strong>for</strong>mula: <strong>the</strong> next variable to assign is selectedin such a way that its assignment leads to a new sub-<strong>for</strong>mulaincluded in previous ones at <strong>the</strong> same branch of <strong>the</strong> tree.The approach that will be presented in this paper followsthis idea but is heuristic-independent. More precisely, let xbe <strong>the</strong> next variable to assign, <strong>the</strong> proposed approach triesto subsume <strong>the</strong> clauses where ¬x appears and <strong>the</strong>n deducethat such a literal is monotone 1 . This clearly extends <strong>the</strong> localautarky assignments, using subclause deduction. Indeed,a partial assignment that is not a local autarky can be trans<strong>for</strong>medinto a local autarky.The paper is organized as follows. After some preliminarydefinitions and notations, basic and local <strong>autarkies</strong>,Oxusoff’s and Rauzy’s <strong>dynamic</strong> approach are described insection 3. Then our generalized local <strong>autarkies</strong> are <strong>for</strong>mallypresented in section 4. Finally, we conclude by introducingseveral promising perspectives opened by this framework.2. Technical background2.1. Preliminary definitions and notationsA CNF <strong>for</strong>mula Σ is a set (interpreted conjunctively) ofclauses, where a clause is a disjunction of literals. A literalis a positive (x) or negated (¬x) propositional variable.The two literals x and ¬x are called complementary. Wenote by ¯l <strong>the</strong> complementary literal of l. For a set of literalsL, ¯L is defined as {¯l | l ∈ L}. A unit clause is a clausecontaining only one literal (called unit literal), while a binaryclause contains exactly two literals. The empty clause,noted ⊥, is interpreted as false (unsatisfiable), whereas <strong>the</strong>empty CNF <strong>for</strong>mula, noted ⊤, is interpreted as true (satisfiable).We define <strong>the</strong> size |Σ| of a CNF <strong>for</strong>mula Σ as∑c∈Σ|c|, where |c| is <strong>the</strong> number of literals in c. The numberof clauses in Σ is denoted C Σ .The set of variables occurring in Σ is noted V Σ . A setof literals is complete if it contains one literal <strong>for</strong> each variablein V Σ , and fundamental if it does not contain complementaryliterals. An assignment ρ of a Boolean <strong>for</strong>mula Σis a function that associates a value ρ(x) ∈ {false,true}to some of <strong>the</strong> variables x ∈ V Σ . ρ is complete if it assignsa value to every x ∈ V Σ , and partial o<strong>the</strong>rwise. An assignmentis alternatively represented by a fundamental set of literals,in <strong>the</strong> obvious way. A model of a <strong>for</strong>mula Σ is an assignmentρ that makes <strong>the</strong> <strong>for</strong>mula true; noted ρ Σ.The following notations will also be used throughout <strong>the</strong>paper:1 A monotone literal is a literal that occurs ei<strong>the</strong>r positively or negativelyin <strong>the</strong> CNF <strong>for</strong>mula (but not in both polarities).• Σ| x will denote <strong>the</strong> <strong>for</strong>mula obtained from Σ by assigningx <strong>the</strong> truth-value true. Formally Σ| x = {c | c ∈Σ, {x, ¬x} ∩ c = ∅} ∪ {c\{¬x} | c ∈ Σ, ¬x ∈ c}(that is: <strong>the</strong> clauses containing x are removed;and those containing ¬x are simplified). This notationis extended to assignments: given an assignmentρ = {x 1 ,...,x n }, Σ| ρ is defined as(...((Σ| x1 )| x2 )...| xn ).• Σ ∗ denotes <strong>the</strong> <strong>for</strong>mula Σ closed under unit propagation,defined recursively as follows: (1) Σ ∗ = Σ if Σdoes not contain any unit clause, (2) Σ ∗ =⊥ if Σ containstwo unit-clauses {x} and {¬x}, (3) o<strong>the</strong>rwise,Σ ∗ = (Σ| x ) ∗ where x is <strong>the</strong> literal appearing in a unitclause of Σ. A clause c is deduced by unit propagationfrom Σ, noted Σ ∗ c, if (Σ|¯c ) ∗ =⊥.Let c 1 and c 2 be two clauses of a <strong>for</strong>mula Σ. We say thatc 1 (respectively c 2 ) subsumes (respectively is subsumed by)c 2 (respectively by c 1 ) iff c 1 ⊆ c 2 . If c 1 subsumes c 2 , <strong>the</strong>nc 1 c 2 (<strong>the</strong> converse is not true). Also Σ and Σ − c 2 areequivalent with respect to satisfiability.2.2. DPLL searchDPLL [4] is a tree-based backtrack search procedure; ateach node of <strong>the</strong> search tree, <strong>the</strong> assigned literals (both <strong>the</strong>decision literal and <strong>the</strong> propagated ones) are labeled with<strong>the</strong> same decision level starting from 1 and increased at eachdecision (or branching). After backtracking, some variablesare unassigned, and <strong>the</strong> current decision level is decreasedaccordingly. At <strong>the</strong> ith level, <strong>the</strong> current partial assignmentρ can be represented as a sequence of decision-propagationsteps of <strong>the</strong> <strong>for</strong>m 〈(x i k ),xi k 1,x i k 2,...,x i k nk〉 where <strong>the</strong> firstliteral x i k corresponds to <strong>the</strong> decision literal x k assigned at<strong>the</strong> ith level and each x i k j<strong>for</strong> 1 ≤ j ≤ n k represents unitpropagated literals at <strong>the</strong> ith level. Let x ∈ ρ, we note δ(x)<strong>the</strong> assignment level of x.3. Autarky assignmentsThe autarky concept has been introduced in [18].Definition 1 Let Σ be a CNF <strong>for</strong>mula and ρ a partial assignment.ρ is an autarky if Σ| ρ ⊆ Σ i.e. ∀c ∈ Σ, ¯ρ ∩ c = ∅or ρ ∩ c ≠ ∅.For a CNF <strong>for</strong>mula, computing an autarky when it existsis clearly (F)NP-complete. However, <strong>autarkies</strong> can be usedto improve <strong>the</strong> efficiency of SAT solvers [21, 13]. Indeed,<strong>the</strong> refutation of Σ| ρ leads to <strong>the</strong> proof of <strong>the</strong> unsatisfiabilityof Σ. Following definition 1, <strong>the</strong> property prop:inclusioncan be obtained.Property 1 If ρ is an autarky of <strong>the</strong> CNF <strong>for</strong>mula Σ <strong>the</strong>nΣ Σ| ρ .
2nd inclusionbetweenΣ and Σ| {l1,¬l2,l3,l4}Σ is proved unsatisfiable1st inclusionbetweenΣ| {l1} et Σ| {l1,¬l2,l3}Σ| {l1,¬l2,l3,l4,l5}l6⊥Σ| {l1,¬l2,l3,l4}l5l2⊥Σ|l1Σ| {l1,¬l2,l3}¬l6⊥l4l6⊥l1l3/ΣCut(2nd local autarky)¬l2Σ| {l1,¬l2}Cut(1st local autarky)Cut(2nd local autarky)¬l5Σ| {l1,¬l2,l3,l4,¬l5}Figure 1. DPLL search tree and local <strong>autarkies</strong>In [10, 20] <strong>the</strong> authors exploit this property to prune <strong>the</strong>search tree of DPLL-like procedures. To this end, a local autarkyconcept is defined and exploited.Definition 2 A partial assignment ρ = {l 0 ,...,l i } of aCNF <strong>for</strong>mula Σ is a local autarky if ∃ρ ′ = {l 0 ,...,l j } withj < i such that Σ| ρ ⊆ Σ| ρ ′.Property 1 also applies <strong>for</strong> local <strong>autarkies</strong>. Indeed, fromDefinition 2 and Property 1, Σ| ρ ′ Σ| ρ can be deduced.This can be used to prune <strong>the</strong> search tree of <strong>the</strong> DPLL algorithm.Indeed, if ρ is a local autarky with respect to <strong>the</strong> partialassignment ρ ′ <strong>the</strong>n Σ| ρ ′ is satisfiable if and only if Σ| ρis satisfiable. All branches not explored between ρ ′ and ρcan be pruned if Σ ρ is proved unsatisfiable.The following example illustrates this property.Example 1 Let Σ = {(l 1 ∨ l 2 ∨ ¬l 4 ),(¬l 1 ∨ l 4 ),(¬l 1 ∨l 2 ∨l 3 ),(¬l 2 ),(l 5 ∨l 6 ),(l 5 ∨ ¬l 6 ),(¬l 5 ∨l 6 ),(¬l 5 ∨ ¬l 6 )}.The search tree of <strong>the</strong> DPLL algorithm represented inFigure 1 is obtained thanks to <strong>the</strong> exploitation of local <strong>autarkies</strong>.This corresponds to <strong>the</strong> application of <strong>the</strong> local autarkypruning rule as defined by Jeannicot et al. in [10]. In<strong>the</strong> following example, <strong>the</strong> unit and monotone literals propagatedduring search are not mentioned <strong>for</strong> clarity reasons.From <strong>the</strong> search tree, <strong>the</strong> following <strong>for</strong>mulae associatedto <strong>the</strong> different nodes are obtained:• Σ| {l1} = {(l 4 ),(l 2 ∨ l 3 ),(¬l 2 ),(l 5 ∨ l 6 ),(l 5 ∨ ¬l 6 ),(¬l 5 ∨ l 6 ),(¬l 5 ∨ ¬l 6 )}• Σ| {l1,¬l 2} = {(l 4 ),(l 3 ),(l 5 ∨ l 6 ),(l 5 ∨ ¬l 6 ),(¬l 5 ∨l 6 ),(¬l 5 ∨ ¬l 6 )}• Σ| {l1,¬l 2,l 3} = {(l 4 ),(l 5 ∨ l 6 ),(l 5 ∨ ¬l 6 ),(¬l 5 ∨l 6 ),(¬l 5 ∨ ¬l 6 )}¬l6⊥//• Σ| {l1,¬l 2,l 3,l 4} = {(l 5 ∨l 6 ),(l 5 ∨¬l 6 ),(¬l 5 ∨l 6 ),(¬l 5 ∨¬l 6 )}• Σ| {l1,¬l 2,l 3,l 4,l 5} = {(l 6 ),(¬l 6 )}• Σ| {l1,¬l 2,l 3,l 4,¬l 5} = {(l 6 ),(¬l 6 )}Consequently, <strong>the</strong> following inclusion holds:Σ| {l1,¬l 2,l 3} ⊂ Σ| {l1,¬l 2}Σ| {l1,¬l 2,l 3} ⊂ Σ| {l1}Σ| {l1,¬l 2,l 3,l 4} ⊂ Σ| {l1,¬l 2,l 3}Σ| {l1,¬l 2,l 3,l 4} ⊂ Σ| {l1,¬l 2}Σ| {l1,¬l 2,l 3,l 4} ⊂ Σ| {l1}Σ| {l1,¬l 2,l 3,l 4} ⊂ Σ) First application ofpruning rules of local⎞autarkySecond application⎟⎠of pruning rules oflocal autarkyClearly, <strong>the</strong> local autarky pruning rule is a generalizationof <strong>the</strong> monotone literal pruning one. Indeed, if l is amonotone literal, <strong>the</strong>n Σ| l is <strong>the</strong> <strong>for</strong>mula obtained from Σwhere all clauses containing l are removed. In consequenceΣ| l ⊂ Σ and {l} is a local autarky <strong>for</strong> Σ. Using <strong>the</strong> pruningrule based on local autarky allows <strong>the</strong> simplification bymeans of <strong>the</strong> monotone literal rule. Let us note that monotoneliterals are not exploited in modern SAT solvers thatexploit lazy data structures like watched literals. In o<strong>the</strong>rwords, <strong>the</strong> occurrence number of a given literal at each nodeof <strong>the</strong> search tree is not recorded or updated.At a given level i of <strong>the</strong> search tree, finding <strong>the</strong> smallestlevel j < i such that Σ| {l0,...,l i} is included inΣ| {x0,x 1,...,x j} is computationally hard. However <strong>the</strong> followingproperty allows an incremental detection that ensures<strong>the</strong> best pruning.Property 2 ([20]) If Σ| {l0,...,l i} ⊆ Σ| {l0,...,l j} withj < i, <strong>the</strong>n Σ| {l0,...,l i} is also included in Σ| {l0,...,x j+1},Σ| {l0,...,l j+2}, ..., and Σ| {l0,...,l i−1}.To avoid useless inclusion tests, it is more convenient touse <strong>the</strong> following corollary.Corollary 1 If Σ| {l0,...,l i} ⊄ Σ| {l0,...,l j}, <strong>the</strong>n Σ| {l0,...,l i}is not included in all <strong>the</strong> following <strong>for</strong>mulas: Σ| {l0,...,l j−1},Σ| {l0,...,l j−2}, ..., Σ| {l0} and Σ.The efficiency of <strong>the</strong> detection of <strong>the</strong> greatest value i−j,called a <strong>partition</strong>, depends only on <strong>the</strong> efficiency of <strong>the</strong> inclusiontest between two <strong>for</strong>mulas associated to two consecutivenodes in <strong>the</strong> current branch of <strong>the</strong> search tree. Thistest can be per<strong>for</strong>med efficiently using adapted data structures.Finally, to ensure that all inclusions are detected, it isnecessary to remove subsumed clauses during <strong>the</strong> DPLLprocedure, as illustrated by <strong>the</strong> following example.Example 2 Let Σ = {(¬l 1 ∨ l 3 ),(l 2 ∨ l 4 ),(¬l 2 ∨ l 3 ∨ l 4 )},and Σ| {l 1} = {(l 3 ),(l 2 ∨ l 4 ),(¬l 2 ∨ l 3 ∨ l 4 )}Σ| {l1,l 2} = {(l 3 ),(l 3 ∨ l 4 )}
In this case no inclusion is detected. But if <strong>the</strong> subsumedclauses are removed from Σ| {l1,l 2}, <strong>the</strong>n Σ| {l1,l 2} ={(l 3 )} ⊂ Σ| {l1}.The subsumption test can be achieved efficiently using<strong>for</strong> example <strong>the</strong> recent approach by Lintao Zhang [22].In <strong>the</strong> next section, a generalization of <strong>the</strong> (local) autarkyassignments is introduced.4. Generalized (local) autarkyThe generalization is obtained by substituting <strong>the</strong> syntacticalinclusion operation (⊂) by <strong>the</strong> semantic logical consequencerelationship () in Definitions 1 and 2.Proposition 1 (Generalized (local) autarky) Let Σ be aCNF <strong>for</strong>mula, ρ = {l 0 ,...,l j ,...,l i } is a generalizedlocal autarky if <strong>the</strong>re exists ρ ′ = {l 0 ,...,l j } such thatΣ| ρ ′ Σ| ρ . If ρ ′ = ∅ <strong>the</strong>n ρ is a generalized autarky.This is clearly a generalization of <strong>the</strong> previous concept,because if Ω ⊂ Σ <strong>the</strong>n Σ Ω while <strong>the</strong> converse is false,as illustrated by <strong>the</strong> following example.Example 3 Let Σ = {(a ∨ b ∨ c),(¬a ∨ b)} and Ω =Σ| ¬a = {(b ∨ c)}, clearly Σ Ω but Ω ⊄ Σ.The most important feature of local <strong>autarkies</strong> is <strong>the</strong> incrementaldetection which ensures <strong>the</strong> greatest inclusion or<strong>partition</strong> (see Property 2). This property is preserved <strong>for</strong> <strong>the</strong>generalized autarky assignments.Property 3 If Σ| {l0,...,l j} Σ| {l0,...,l j,...,l i}, <strong>the</strong>nΣ| {l0,...,l j,...,l i} is a logical consequence of all <strong>the</strong> following<strong>for</strong>mulae: Σ| {l0,...,l j+1}, Σ| {l0,...,l j+2}, ... andΣ| {l0,...,l i−1}.As be<strong>for</strong>e, <strong>the</strong> following corollary avoids useless logicalconsequence tests (CoNP-Complete) in order to compute<strong>the</strong> greatest <strong>partition</strong>.Corollary 2 If Σ| {l0,...,l j} Σ| {l0,...,l j,...,l i}, <strong>the</strong>nΣ| {l0,...,l i} is not a logical consequence of <strong>the</strong> following<strong>for</strong>mulae: Σ| {l0,...,l j−1}, Σ| {l0,...,l j−2}, ..., Σ| {l0} andΣ.We have seen that <strong>the</strong> propagation of monotone literalsis a special case of <strong>the</strong> local autarky detection. The followingproperty shows that <strong>the</strong> classical unit propagation is alsoa special case of <strong>the</strong> generalized local <strong>autarkies</strong>.Property 4 Let Σ be a CNF <strong>for</strong>mula and l a literal occurringin a unit clause of Σ, we have Σ Σ| {l} .By extension, it can be shown that:Corollary 3 Let Σ a CNF <strong>for</strong>mula, Σ Σ ∗ .More generally, if Σ l with l a literal of <strong>the</strong> CNF <strong>for</strong>mulaΣ, <strong>the</strong>n Σ Σ| {l} . This means that <strong>the</strong> detection ofgeneralized local <strong>autarkies</strong> includes <strong>the</strong> propagation due toany implied literal.The use of generalized local <strong>autarkies</strong> within a DPLL algorithmcan be achieved in <strong>the</strong> same way than <strong>for</strong> local <strong>autarkies</strong>.Un<strong>for</strong>tunately, if <strong>the</strong> test of inclusion can be computedefficiently <strong>for</strong> local <strong>autarkies</strong>, <strong>the</strong> detection of generalized<strong>autarkies</strong> requests a CoNP-complete test.4.1. Generalized (local) autarky modulo unit propagationIn order to pratically exploit <strong>the</strong> generalized local <strong>autarkies</strong>,it is necessary to weaken <strong>the</strong> deductive relation thatis used. Accordingly, <strong>the</strong> full consequence relationship ()is weakened down to <strong>the</strong> mere unit propagation rule ( ∗ ),which can be computed in linear-time.Definition 3 Let Σ and Ω be two sets of clauses, Ω is adeductive consequence of Σ restricted to unit propagation,noted Σ ∗ Ω, if and only if ∀c ∈ Ω, Σ ∗ c.Clearly, if Σ ∗ Ω <strong>the</strong>n Σ Ω. In consequence, Proposition1 can be adapted to introduce <strong>the</strong> generalized local autarkymodulo unit propagation.Proposition 2 (Generalized (local) autarky modulounit propagation) Let Σ be a CNF <strong>for</strong>mula,ρ = {l 0 ,...,l j ,...,l i } is a generalized local autarky modulounit propagation if <strong>the</strong>re exists ρ ′ = {l 0 ,...,l j } suchthat Σ| ρ ′ ∗ Σ| ρ . If ρ ′ = ∅ <strong>the</strong>n ρ is a generalized autarkymodulo unit propagation.Earlier in <strong>the</strong> paper, it has been shown that <strong>the</strong> propagationsof monotone, unit and more generally implied literalsare special cases of local autarky detection. Likewise,<strong>the</strong> detection of local autarky modulo unit propagation automaticallycomputes <strong>the</strong> propagations of monotone and unitliterals, too. The following property proves useful in that respect:Property 5 Let Σ and Ω be two CNF <strong>for</strong>mulae. If Ω ⊆ Σ,<strong>the</strong>n Σ ∗ Ω.This property is easily proved. Indeed, each clause c of Ωis present in Σ, also (Σ|¯c ) ∗ = ⊥ because <strong>the</strong> clause c of Σ isreduced to an empty clause by <strong>the</strong> propagation of ¯c. In consequence,<strong>for</strong> each clause c of Ω Σ ∗ c and by definitionΣ ∗ Ω. The converse is false, as illustrated by <strong>the</strong> followingexample.Example 4 Let Σ = {(a ∨ b ∨ c),(a ∨ ¬b),(b ∨ ¬c),(c ∨¬a)} and Ω = Σ| b = {(a),(c ∨ ¬a)}, we have Σ ∗ Ω butΩ ⊄ Σ.
So, Property 5 ensures that all classical local <strong>autarkies</strong>are also detected by generalized local <strong>autarkies</strong> modulo unitpropagation. In consequence, <strong>the</strong> simplification of monotoneliterals is implicitly included during <strong>the</strong> detection ofgeneralized local <strong>autarkies</strong> modulo unit propagation. Similarly,<strong>the</strong> simplification by unit propagation is a specialcase of generalized local <strong>autarkies</strong> modulo unit propagations(Property 6).Property 6 For any set of clauses Σ, Σ ∗ Σ ∗ .Compared with generalized <strong>autarkies</strong>, only <strong>the</strong> simplificationby <strong>the</strong> implied literals are not included in <strong>the</strong> generalized<strong>autarkies</strong> modulo unit propagation, as illustrated by<strong>the</strong> following example:Example 5 Let Σ = {(a ∨ b ∨ c),(a ∨ b ∨ ¬c),(a ∨ ¬b ∨¬c),(¬a ∨ b ∨ ¬c),(¬a ∨ ¬b ∨ c),(a ∨ ¬b ∨ c)}. We haveΣ a but Σ ∗ a.However, <strong>the</strong> restriction has been introduced to ensurethat generalized (local) <strong>autarkies</strong> modulo unit propagationcan be computed in polynomial time. Its implementation ina DPLL-like procedure is discussed in <strong>the</strong> next section.4.2. Some useful properties and implementationIn this section, some practical properties about <strong>the</strong> generalized(local) <strong>autarkies</strong> modulo unit propagation are presented.More precisely, it is shown how <strong>the</strong> detection of<strong>the</strong>se kinds of <strong>autarkies</strong> can be computed efficiently during<strong>the</strong> computation of a DPLL-like algorithm.The first property is about <strong>the</strong> time complexity of deductionrestricted to unit propagation.Property 7 Let Σ and Ω be two sets of clauses. CheckingΣ ∗ Ω is in O(C Ω × (|Σ| + |c|)) where c is <strong>the</strong> longestclause of Ω.Un<strong>for</strong>tunately a polynomial-time complexity does notguarantee practical efficiency. In this respect, we also reducein a significant way <strong>the</strong> number of unit propagationsthat are needed to detect local <strong>autarkies</strong> modulo unit propagation.Property 8 Let Σ a set of clauses and l a literal. Σ ∗ Σ| lif and only if ∀c ∈ Σ such that ¯l ∈ c, Σ ∗ c.The above property suggests that after <strong>the</strong> assignment ofa literal l, clauses containing ¬l need to be checked, only.From properties 7 and 8, <strong>the</strong> following corollary is easilyobtained:Corollary 4 Let Σ be a set of clauses and l a literal. CheckingΣ ∗ Σ| l is in O(Occ(¯l)×C Σ ) where Occ(¯l) is <strong>the</strong> numberof occurrences of ¯l in Σ.1.11.21.31.41.51.61.71.8Algorithm 1: DPLL-autarkinput : A CNF <strong>for</strong>mula Σoutput: true if Σ is satisfiable, false o<strong>the</strong>rwiseΣ ∗ ←UnitPropagation(Σ);if Σ ∗ = ⊥ <strong>the</strong>n return false;else if Σ ∗ = ∅ <strong>the</strong>n return true;elsel←DecisionHeuristic(Σ ∗ );if DPLL-autark(Σ ∗ ∧ (l)) <strong>the</strong>n return true;else return AutarkyModuloUP(Σ ∗ ,l);endThis corollary shows that detecting a generalized localautarky modulo unit propagation between two consecutivenodes of a DPLL-like algorithm is a simple task that is verycheap w.r.t. time-complexity. However, <strong>the</strong>re can exist generalizedlocal <strong>autarkies</strong> modulo unit propagation betweentwo non-consecutive nodes. The following property and itscorollary show how useless tests can be avoided and that anincremental detection is possible.Property 9 Let Σ be a set of clauses and{l 0 ,...,l j ,...,l i } a set of literals. If Σ| {l0,...,l j} ∗Σ| {l0,...,l j,...,l i}, <strong>the</strong>n Σ| {l0,...,l j,l j+1} ∗ Σ| {l0,...,l j,...,l i},Σ| {l0,...,l j,l j+1,l j+2} ∗ Σ| {l0,...,l j,...,l i}, ... andΣ| {l0,...,l j,...,l i−1} ∗ Σ| {l0,...,l j,...,l i}.Corollary 5 Let Σ be a set of clauses and{l 0 ,...,l j ,...,l i } a set of literals. If Σ| {l0,...,l j} ∗Σ| {l0,...,l j,...,l i}, <strong>the</strong>n Σ| {l0,...,l j−1} ∗ Σ| {l0,...,l j,...,l i},Σ| {l0,...,l j−2} ∗ Σ| {l0,...,l j,...,l i}, ... and Σ ∗Σ| {l0,...,l j,...,l i}.Detecting generalized local <strong>autarkies</strong> modulo unit propagationbetween two non-consecutive nodes of a DPLL-likealgorithm depends on such a detection between two consecutivenodes. Accordingly, we insert this detection processwithin a DPLL-like procedure. It is per<strong>for</strong>med during<strong>the</strong> backtrack step. Compared with a <strong>for</strong>ward detection, thismethod avoids <strong>the</strong> useless unit propagations when <strong>the</strong> developedbranch is proved unsatisfiable. The following algorithmsdescribe this detection process (see Algorithm 2)and its integration within a DPLL-like procedure (see Algorithm1).Algorithm 1 details <strong>the</strong> DPLL-autark functionwhich is a DPLL-like algorithm using <strong>the</strong> simplificationby <strong>the</strong> generalized (local) <strong>autarkies</strong> modulo unit propagation.In this algorithm, <strong>the</strong> UnitPropagation andDecisionHeuristic functions are <strong>the</strong> DPLL-likesolvers usual ones. All kinds of decision heuristics (MOMS[11], VSIDS [19], etc.) can be used within DPLL-autark.When a call to <strong>the</strong> AutarkyModuloUP function is made,<strong>the</strong> Σ| l branch has been already explored and proved unsatisfiable.If Σ ∗ Σ| l <strong>the</strong>n <strong>the</strong> Σ|¯l branch can be pruned since
Algorithm 2: AutarkyModuloUPinput : a set of clauses Σ and a literal l such that Σ| lhas been proved unsatisfiableoutput: true if Σ|¯l is satisfiable, false o<strong>the</strong>rwise(Σ|¯l) ∗ ←UnitPropagation(Σ ∧ (¯l));if (Σ|¯l) ∗ = ⊥ <strong>the</strong>n return false;else if (Σ|¯l) ∗ = ∅ <strong>the</strong>n return true;elseautarkyFound ←true;// Σ ∗ Σ| l iff ∀c = (¯l ∨ c ′ ) ∈ Σ, Σ ∗ c ′<strong>for</strong>each c ∈ Σ s.t. c = (¯l ∨ l 1 ∨ l 2 ∨ · · · ∨ l n ) doif UnitPropagation((Σ|¯l) ∗ ∧ (¯l 1 ) ∧(¯l 2 ) ∧ · · · ∧ ( l ¯ n ))= ⊥ <strong>the</strong>n(Σ|¯l) ∗ ←(Σ|¯l) ∗ ∧ (l 1 ∨ l 2 ∨ · · · ∨ l n );endelse autarkyFound ←false;endif autarkyFound <strong>the</strong>n return true;else return DPLL-autark((Σ|¯l) ∗ );end2.12.22.32.42.52.62.72.82.92.102.112.122.132.14an autarky is detected. The AutrakyModuloUP functioncomputes this test and, depending on <strong>the</strong> result, itei<strong>the</strong>r explores or prune <strong>the</strong> branch. This function is detailedin Algorithm 2.For efficiency reasons, Algorithm 2 begins with <strong>the</strong> unitpropagation of ¯l. Indeed, each clause tested during <strong>the</strong> verificationof Σ ∗ Σ l implies <strong>the</strong> unit literal ¯l. In order toavoid several propagations of ¯l, <strong>the</strong> propagation of ¯l is doneonce at <strong>the</strong> beginning of <strong>the</strong> procedure (see line 2.1).When a clause c ′ = (l 1 ∨ l 2 ∨ · · · ∨ l n ) is proved to bea logical consequence through unit propagation of (Σ|¯l) ∗ ,it is added to (Σ|¯l) ∗ (see line 2.8). These additional clausesspeed up <strong>the</strong> computation of all unit propagations done during<strong>the</strong> rest of <strong>the</strong> procedure and reduce <strong>the</strong> size of <strong>the</strong> subtreebuilt during <strong>the</strong> exploration of <strong>the</strong> branch Σ|¯l when noautarky has been detected. Note that <strong>the</strong>se additions are per<strong>for</strong>medin constant space. Indeed, <strong>the</strong> c ′ clause is obtainedfrom a c clause of Σ that contains ¯l. This c clause is satisfiedduring <strong>the</strong> unit propagation of ¯l at <strong>the</strong> beginning of <strong>the</strong>procedure. The addition of c ′ can be done with a simple removalof <strong>the</strong> ¯l literal from c. This process can be achievedin constant time and space with an adequate data structure.Finally, even if <strong>the</strong> generalized local autarky modulo unitpropagation is not detected, this approach is able to produceseveral sub-clauses. It is also possible to stop <strong>the</strong> detectionas soon as Σ ∗ Σ| l is proved (at <strong>the</strong> line 2.10). We believethat <strong>the</strong> spent time to produce sub-clauses is offset by<strong>the</strong> time saved to explore a smaller sub-tree. Two versionscan be derived, one that only checks <strong>for</strong> generalized local<strong>autarkies</strong> modulo unit propagation and an o<strong>the</strong>r one that additionallyproduces sub-clauses. In <strong>the</strong> future, we plan toimplement <strong>the</strong>se two versions in order to measure and com-Σ| {a,b,c,d,e}ef⊥Σ| {a,b,c,d}d⊥¬fΣ| {a,b,c}cfCurrent branchΣ| {a,b}b//Σ| {a}aCut (unit literal)¬eΣCut (unit literal)¬cInexplored branchΣ| {a,b,c,d,¬e}¬f////Inexplored BranchCut (unit literal)Figure 2. Levels of literals in DPLLCNFLevels of literalsFormula δ(a) δ(ā) δ(b) δ(¯b) δ(c) δ(¯c) δ(d) δ( ¯d) δ(e) δ(ē) δ(f) δ( ¯f)Σ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞Σ| {a} 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞Σ| {a,b} 0 ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞Σ| {a,b,c} 0 ∞ 0 ∞ 1 ∞ ∞ ∞ ∞ ∞ ∞ ∞Σ| {a,b,¯c} 0 ∞ 0 ∞ ∞ 0 ∞ ∞ ∞ ∞ ∞ ∞Σ| {a,b,c,d} 0 ∞ 0 ∞ 1 ∞ 1 ∞ ∞ ∞ ∞ ∞Σ| {a,b,c,d,e} 0 ∞ 0 ∞ 1 ∞ 1 ∞ 2 ∞ ∞ ∞Σ| {a,b,c,d,e,f} 0 ∞ 0 ∞ 1 ∞ 1 ∞ 2 ∞ 3 ∞Σ| {a,b,c,d,e, ¯f} 0 ∞ 0 ∞ 1 ∞ 1 ∞ 2 ∞ ∞ 2Σ| {a,b,c,d,ē} 0 ∞ 0 ∞ 1 ∞ 1 ∞ ∞ 1 ∞ ∞Σ| {a,b,c,d,ē,f} 0 ∞ 0 ∞ 1 ∞ 1 ∞ ∞ 1 2 ∞Σ| {a,b,c,d,ē, ¯f} 0 ∞ 0 ∞ 1 ∞ 1 ∞ ∞ 1 ∞ 1Table 1. Levels of literals of <strong>the</strong> search treedepicted in Fig. 2.pare <strong>the</strong>ir practical strengths.4.3. <strong>Local</strong> <strong>autarkies</strong> and implication levelsIn <strong>the</strong> previous algorithm, only <strong>the</strong> current branchof DPLL can be cut when an autarky is found. It couldbe interesting to cut several branches to process a nonchronologicalbacktracking like it is done in modern implementationsof DPLL. In this section, it is shown that thisgoal can be reached by computing <strong>the</strong> largest jump with respectto an order of unit propagations. The standardconcepts of level <strong>for</strong> a literal (section 2.2) and implicationgraph (Definition 5) are used in that respect.We recall that δ(l) <strong>the</strong> level of a given literal l is given by<strong>the</strong> number of branches not explored be<strong>for</strong>e its assignment.All assigned literals between two calls of <strong>the</strong> decisionheuristics have <strong>the</strong> same level, as illustrated in <strong>the</strong> next example.An unassigned literal has an infinite level. In Table1, <strong>the</strong> level of all literals at each node of <strong>the</strong> search tree depictedin Figure 2 is detailed.
Definition 4 Let Σ be a CNF <strong>for</strong>mula, {l 1 ,l 2 ,...,l i } apartial assignment of Σ and c a clause of Σ| {l1,l 2,...,l i}. Thelevel of c, noted δ(c), is defined in <strong>the</strong> following way:• If c ∈ Σ, δ(c) = 0 ;• Else δ(c) = max{δ(l) s.t. l ∈ c et ¯l ∈ {l 1 ,l 2 ,...,l i }}The clause level matches <strong>the</strong> level of <strong>the</strong> last literal of <strong>the</strong>clause assigned to false.The fundamental process to detect a generalized autarkymodulo unit propagation consists in checking whe<strong>the</strong>r aclause is implied by unit propagation. The sequence ofgenerated implications can be depicted by an acyclic orientedgraph, called implication graph. Usually such a graphis used in all CDCL (conflict-driven clauses learning) approachesto learn clauses. It was first introduced in [17].Definition 5 An implication graph, noted G = (V, A) is agraph such that:1. V is <strong>the</strong> set of vertices where each vertex, noted s(l), isan assigned literal during unit propagation;2. A is <strong>the</strong> set of edges. For a vertex s(l i ) <strong>the</strong>set of predecessors is defined by <strong>the</strong> vertices{s(l 1 ),...,s(l i−1 ),s(l i+1 ),...,s(l n )} if <strong>the</strong>re existsa clause c = (¯l 1 ,..., l i−1¯ ,l i , l i+1¯ ,..., l ¯ n )and a current partial assignment ρ such that{l 1 ,...,l i−1 ,l i+1 ,...,l n } ⊆ ρ. Each arc〈s(l j ),s(l i )〉 is labeled by c.The roots of <strong>the</strong> implication graph representing <strong>the</strong> implicationof a given clause by unit propagation are <strong>the</strong> verticeslabelled by <strong>the</strong> negation of each literal of <strong>the</strong> clause. Byconstruction, it is straight<strong>for</strong>ward that this graph is acyclic.Example 6 Let Σ be <strong>the</strong> CNF <strong>for</strong>mula built on <strong>the</strong> following14 clauses:c 1 : (¬a ∨ c) c 6 : (¬b ∨ e) c 11 : (¬i ∨ l ∨ ¬k)c 2 : (¬a ∨ d) c 7 : (¬e ∨ i) c 12 : (¬i ∨ ¬l)c 3 : (¬b ∨ d) c 8 : (¬e ∨ h) c 13 : (¬k ∨ ¬l)c 4 : (¬d ∨ f) c 9 : (¬g ∨ h ∨ ¬f) c 14 : (c ∨ e)c 5 : (¬d ∨ g) c 10 : (¬h ∨ k)The implication graph corresponding to <strong>the</strong> implication byunit propagation of <strong>the</strong> clause (ā ∨ ¯b) is depicted in Fig. 3.The goal is to compute <strong>the</strong> minimum levels of implicationof <strong>the</strong> clauses that are used during <strong>the</strong> detection of <strong>the</strong>generalized local <strong>autarkies</strong> modulo unit propagation. So avalue, noted η(l), is associated to each vertex of <strong>the</strong> graphin <strong>the</strong> following way:• Roots vertices have a null value;• Let a vertex s(l) and {s(l 1,1 ),...,s(l 1,m ),s(l 2,1 ),...,s(l 2,n ),...,s(l k,1 ),...,s(l k,p )} its set of predecessorssuch that 〈s(l 1,1 ),s(l)〉,...,〈s(l 1,m ),s(l)〉 are labelledby c 1 , 〈s(l 2,1 ),s(l)〉,...,〈s(l 2,n ),s(l)〉 are labelledby c 2 , ..., and 〈s(l k,1 ),s(l)〉,...,〈s(l k,p ),s(l)〉are labelled by c k , <strong>the</strong>ncacbc1c2c3c6ccdcec4c5c7cfcgc8ciFigure 3. Implication graph representing animplication of a clause by unit propagationη(s(l))=min[max(δ(c 1 ),η(s(l 1,1 )),...,η(s(l 1,m ))),...,max(δ(c k ),η(s(l k,1 )),...,η(s(l k,p )))].Example 7 Let us consider <strong>the</strong> same CNF <strong>for</strong>mula as in example6 toge<strong>the</strong>r with <strong>the</strong> following clause levels:δ(c 1 ) = 8 δ(c 5 ) = 6 δ(c 9 ) = 12 δ(c 13 ) = 7δ(c 2 ) = 3 δ(c 6 ) = 0 δ(c 10 ) = 2 δ(c 14 ) = 5δ(c 3 ) = 7 δ(c 7 ) = 3 δ(c 11 ) = 1δ(c 4 ) = 9 δ(c 8 ) = 3 δ(c 12 ) = 4For each vertex of <strong>the</strong> implication graph depicted in Fig. 3,<strong>the</strong> following values are obtained:η(s(a)) = 0 η(s(b)) = 0 η(s(c)) = 8 η(s(d)) = 3η(s(e)) = 0 η(s(f)) = 9 η(s(g)) = 6 η(s(i)) = 3η(s(h)) = 3 η(s(¯l)) = 4 η(s(k)) = 3 η(s(¯k)) = 4So, <strong>the</strong> implication level of <strong>the</strong> clause (ā,¯b) is equal tomax(η(s(k)),η(s(¯k))) = 4.Thus, it is possible to compute an implication level <strong>for</strong>all <strong>the</strong> clauses used in <strong>the</strong> detection of generalized local <strong>autarkies</strong>modulo unit propagation. A level can be assigned to<strong>the</strong> detected autarky. It is defined as <strong>the</strong> greatest implicationlevel computed <strong>for</strong> each implied clause. In consequence, if<strong>the</strong> level of <strong>the</strong> autarky is j, it is possible to backjump safelyup to this decision level. Indeed, <strong>for</strong> a sub-<strong>for</strong>mula Σ i obtainedfrom Σ and a partial assignment {l 0 ,...,l j ,...,l i },if all <strong>the</strong> clauses of Σ i are implied modulo unit propagationat level k ≤ j, <strong>the</strong>n Σ j ∗ Σ i . All branches between jand <strong>the</strong> current level i are pruned.Fur<strong>the</strong>rmore, even when no autarky is found, we haveseen that <strong>the</strong> clauses that are proved to be implied during <strong>the</strong>autarky detection, are added to <strong>the</strong> <strong>for</strong>mula. These clausesare added only until <strong>the</strong> current decision level is achieved.Since its minimal implication level has been computed, itis possible to keep <strong>the</strong> implied clauses until backtrackingto <strong>the</strong>ir corresponding levels. This will reduce <strong>the</strong> size ofsearch tree even more.5. ConclusionThis paper presents a <strong>for</strong>mal framework <strong>for</strong> <strong>the</strong> detectionand use of autarky assignments, with <strong>the</strong> goal to im-c9c9c12chc¯lc11c10c11ckc¯k
prove <strong>the</strong> efficiency of SAT solvers. Several contributionsabout <strong>the</strong> generalization of classical <strong>autarkies</strong> have beenprovided. The first one introduces <strong>the</strong> concept of autarkymodulo unit propagation, which extends <strong>the</strong> usual definitionby substituting <strong>the</strong> syntactical inclusion operation by asemantic-one based on unit propagation. It has also beenproved that propagating unit literals are special cases ofthis generalization. A second extension introduces <strong>the</strong> conceptof implication level, aiming at detecting larger <strong>partition</strong>s.Interestingly enough, when no generalized local autarkycan be found, <strong>the</strong> approach is able to produce severalsub-clauses from <strong>the</strong> <strong>for</strong>mula. Each implied clause canbe exploited in order to reduce <strong>the</strong> search space until backtrackingto its corresponding implication level. Finally, it isshown how <strong>the</strong>se different approaches could be integratedin DPLL-like SAT solvers.As future works, we plan to investigate how to integrateand implement <strong>the</strong> approach in modern SAT solvers. Thismight prove very succesful <strong>for</strong> efficiently solving industrialrelatedSAT instances. It is well-known that many of <strong>the</strong>seinstances can be <strong>partition</strong>ed into several disconnected componentsafter assigning a small set of variables. Ano<strong>the</strong>rinteresting path of research would be to design powerfulclauses ordering heuristics <strong>for</strong> <strong>searching</strong> <strong>for</strong> local <strong>autarkies</strong>modulo unit propagation.References[1] Roberto J. Bayardo, Jr. and Robert C. Schrag. Using CSPlook-back techniques to solve real-world SAT instances. InProceedings of <strong>the</strong> Fourteenth National Conference on ArtificialIntelligence (AAAI’97), pages 203–208, 1997.[2] Paul Beame, Henry A. Kautz, and Ashish Sabharwal. Understanding<strong>the</strong> power of clause learning. In Proceedings of <strong>the</strong>Eighteenth International Joint Conference on Artificial Intelligence(IJCAI’03), pages 1194–1201, 2003.[3] Laure Brisoux, Éric Grégoire, and Lakhdar Saïs. Improvingbacktrack search <strong>for</strong> SAT by means of redundancy. In InternationalSyposium on Methodologies <strong>for</strong> Intelligent Systems,pages 301–309, 1999.[4] Martin Davis, George Logemann, and Donald W. Loveland.A machine program <strong>for</strong> <strong>the</strong>orem-proving. Communicationsof <strong>the</strong> ACM, 5(7):394–397, 1962.[5] Olivier Dubois and Gilles Dequen. A backbone-searchheuristic <strong>for</strong> efficient solving of hard 3–SAT <strong>for</strong>mulae. InProceedings of <strong>the</strong> Seventeenth International Joint Conferenceon Artificial Intelligence (IJCAI’01), 2001.[6] Niklas Eén and Niklas Sörensson. An extensible sat-solver.In Proceedings of <strong>the</strong> Sixth International Conference on Theoryand Applications of Satisfiability Testing (SAT’03), pages502–518, 2002.[7] Carla P. Gomes, Bart Selman, and Henry Kautz. Boostingcombinatorial search through randomization. In Proceedingsof <strong>the</strong> Fifteenth National Conference on Artificial Intelligence(AAAI’97), pages 431–437, 1998.[8] Marijn J.H. Heule and Hans van Maaren. March dl: Addingadaptive heuristics and a new branching strategy. Journal onSatisfiability, Boolean Modeling and Computation, 2:47–59,2006.[9] Jinbo Huang and Adnan Darwiche. A structure-based variableordering heuristic <strong>for</strong> SAT. In Proceedings of <strong>the</strong> 18thInternational Joint Conference on Artificial Intelligence (IJ-CAI), pages 1167–1172, 2003.[10] Serge Jeannicot, Laurent Oxusoff, and Antoine Rauzy.évaluation sémantique en calcul propositionnel : une propriétéde coupure pour rendre plus efficace la procédure dedavis et putnam. Revue d’Intelligence Artificielle, 2(1):41–60, 1988. (in French).[11] Robert G. Jeroslow and Jinchang Wang. Solving propositionalsatisfiability problems. Annals of Ma<strong>the</strong>matics andArtificial Intelligence, 1:167–187, 1990.[12] Henri Kautz, Eric Horvitz, Yongshao Ruan, Carla Gomes,and Bart Selman. Dynamic restart policies. In Proceedingsof <strong>the</strong> Eighteenth National Conference on Artificial Intelligence(AAAI’02), pages 674–682, 2002.[13] Oliver Kullmann. Investigations on autark assignments. DiscreteApplied Ma<strong>the</strong>matics, 107(1-3):99–137, 2000.[14] Chu Min Li and Anbulagan. Heuristics based on unit propagation<strong>for</strong> satisfiability problems. In Proceedings of <strong>the</strong>Fifteenth International Joint Conference on Artificial Intelligence(IJCAI’97), pages 366–371, 1997.[15] Wei Li and Peter van Beek. Guiding real-world SAT solvingwith <strong>dynamic</strong> hypergraph separator decomposition. In16th IEEE International Conference on Tools with ArtificialIntelligence (ICTAI 2004), 15-17 November 2004, Boca Raton,FL, USA, pages 542–548, 2004.[16] Mark H. Liffiton and Karem A. Sakallah. Searching <strong>for</strong> <strong>autarkies</strong>to trim unsatisfiable clause sets. In Proceedings of <strong>the</strong>11th International Conference on Theory and Applicationsof Satisfiability Testing (SAT’2008), volume 4996 of LNCS,pages 182–195. Springer Verlag, 2008.[17] Joao P. Marques-Silva and Karem A. Sakallah. GRASP -A New Search Algorithm <strong>for</strong> Satisfiability. In Proceedingsof IEEE/ACM International Conference on Computer-AidedDesign, pages 220–227, 1996.[18] Burkhard Monien and Ewald Speckenmeyer. Solving satisfiabilityin less than 2 n steps. Discrete Applied Ma<strong>the</strong>matics,10:287–295, 1985.[19] Mat<strong>the</strong>w W. Moskewicz, Conor F. Madigan, Ying Zhao, LintaoZhang, and Sharad Malik. Chaff: Engineering an efficientSAT solver. In Proceedings of <strong>the</strong> 38th Design AutomationConference (DAC’01), pages 530–535, 2001.[20] Laurent Oxusoff and Antoine Rauzy. L’évaluationsémantique en calcul propositionnel. Thèse de doctorat, Universitéde Provence, Marseille (France), January 1989.[21] Allen Van Gelder. Autarky pruning in propositional modelelimination reduces failure redundancy. Journal of AutomatedReasoning, 23(2):137–193, 1999.[22] Lintao Zhang. On subsumption removal and on-<strong>the</strong>-fly CNFsimplification. In Proceedings of <strong>the</strong> Eighth InternationalConference on Theory and Applications of Satisfiability Testing(SAT’05), pages 482–489, 2005.