ulrich berger, andrew lawrence, monika seisenberger

21
Towards the extraction of clause learning 1 Ulrich Berger, Andrew Lawrence, Monika Seisenberger Swansea University/Siemens Mobility Continuity, Computability, Constructivity - From Logic to Algorithms (CCC 2020) Faro (Portugal), August 31 - September 4, 2020 1 This research was supported by the International Research Staff Exchange Schemes (IRSES) CORCON and COMPUTAL of the European Commission, the JSPS Core-to-Core Program, A. Advanced research Networks and JSPS KAKENHI, the Marie Curie RISE project CID and the Hausdorff Research Institute for Mathematics. http://www-compsci.swan.ac.uk/csulrich/slides.html 1 / 22

Upload: others

Post on 12-Dec-2021

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ulrich Berger, Andrew Lawrence, Monika Seisenberger

Towards the extraction of clause learning 1

Ulrich Berger, Andrew Lawrence, Monika SeisenbergerSwansea University/Siemens Mobility

Continuity, Computability, Constructivity -From Logic to Algorithms (CCC 2020)

Faro (Portugal), August 31 - September 4, 2020

1This research was supported by the International Research Staff ExchangeSchemes (IRSES) CORCON and COMPUTAL of the European Commission,the JSPS Core-to-Core Program, A. Advanced research Networks and JSPSKAKENHI, the Marie Curie RISE project CID and the Hausdorff ResearchInstitute for Mathematics.http://www-compsci.swan.ac.uk/∼csulrich/slides.html

1 / 22

Page 2: Ulrich Berger, Andrew Lawrence, Monika Seisenberger

The Boolean satisfiability problem (SAT)

Given a propositional formula in conjunctive normal form (CNF), isit satisfiable?

For example,

(A ∨ B) ∧ (¬B ∨ A) ∧ ¬Bis satisfied by the assignment Γ = [A,¬B],

(A ∨ B) ∧ (¬B ∨ A) ∧ ¬A is unsatisfiable.

SAT is the prototypical NP-complete problem. It has importantapplications in many scientific and industrial contexts.

2 / 22

Page 3: Ulrich Berger, Andrew Lawrence, Monika Seisenberger

SAT solvers and their correctness

A SAT solver is a program that decides whether a CNF issatisfiable.

Modern SAT solvers are highly optimized and implementsophisticated data structures and algorithms whose correctness isnot obvious. In fact, SAT solvers often are

I incomplete (unable to give an answer to certain CNFs),

I incorrect (wrongly claim a CNF to be unsatisfiable).

To address this, SAT competitions now usually require SAT solversto provide certificates for unsatisfiability results.

Creating such certificates may require considerable effort as theexample of the recent solution of the Pythagorean triples problemby a SAT solver shows [Heule/Kullmann/Marek 2016,Cruz-Filipe/Schneider-Kamp 2017].

3 / 22

Page 4: Ulrich Berger, Andrew Lawrence, Monika Seisenberger

Proving correctness

Certificates only guarantee the correctness of single results but notthe overall correctness of the SAT solver.

So far, only a few SAT solvers have been formally verified[Lescuyer/Conchon 2008, Maric 2010].

In earlier work, we have shown how a SAT solver can be extractedfrom a completeness proof for the DPLL proof system. Thealgorithm is generated automatically and correct by construction[B/Lawrence/Nordvall-Forsberg/Seisenberger 2015].

4 / 22

Page 5: Ulrich Berger, Andrew Lawrence, Monika Seisenberger

DPLL [Davis/Putnam/Logeman/Loveland 1962]

Γ ` ∆ means that no assignment extending Γ satisfies the CNF ∆.

Proof search is done in a backwards fashion.

Γ, l ` ∆(Unit)

Γ ` ∆, {l}Γ, l ` ∆,C

(Red)Γ, l ` ∆, (C , l)

Γ, l ` ∆(Elim)

Γ, l ` ∆, (C , l)

(Conflict)Γ ` ∆, ∅

Γ, l ` ∆ Γ, l ` ∆(Split)

Γ ` ∆

l means ¬l (opposite literal),clauses and CNFs are regarded as sets,

comma means insertion of a new element.

5 / 22

Page 6: Ulrich Berger, Andrew Lawrence, Monika Seisenberger

Extracting a SAT solver

Theorem(Soundness)If Γ ` ∆, then no assignment extending Γ satisfies ∆.

Theorem(Completeness)Γ ` ∆ or ∆ can be satisfied by an assignment extending Γ.

From a constructive proof of the Completeness Theorem carriedout in the Minlog system [Schwichtenberg 2006], we extracted aprovably correct SAT solver.

6 / 22

Page 7: Ulrich Berger, Andrew Lawrence, Monika Seisenberger

Conflict driven clause learning (CDCL)

CDCL analyzes the structure of unsatisfiability proofs of sub-goals:If a branch of the DPLL proof search starting with ` ∆ ends up ina conflict

Γ ` ∆′, ∅

then ΓS ` ∆ holds where ΓS consists of the decision literals, thatis, those literals that entered Γ through the Split rule.

Hence, the clause ΓS = {l | l ∈ ΓS} follows from ∆ and can beadded to all other branches of the proof search.

But one can do better: The above conflict branch of the proofsearch determines a unit resolution derivation of a conflict fromΓS , and all cuts through this derivation define clauses that followfrom ∆ as well. These are called learned clauses.

7 / 22

Page 8: Ulrich Berger, Andrew Lawrence, Monika Seisenberger

SAT solvers with clause learning

Clause learning can improve the performance of SAT solverssignificantly [Pipatsrisawat/Darwiche 2014].

Most contemporary SAT solvers implement some form of clauselearning, e.g.,

Chaff [Moskewicz-etal 2001] and

Clucose [Audemard/Simon 2009].

8 / 22

Page 9: Ulrich Berger, Andrew Lawrence, Monika Seisenberger

Unit resolution

Given a CNF ∆0, one derives sequents of the form

Γ∆0

Ul (meaning Γ,∆0 |= l) and

Γ∆0

U∅ (meaning Γ contradicts ∆0).

l∆0

Ul

Γ1

∆0

Ul1 . . . Γn

∆0

Uln{l1, . . . , ln, l} ∈ ∆0

Γ1, . . . , Γn

∆0

Ul

Γ1

∆0

Ul1 . . . Γn

∆0

Uln{l1, . . . , ln} ∈ ∆0

Γ1, . . . , Γn

∆0

U∅

Γ1

∆0

Ul Γ2

∆0

Ul

Γ1, Γ2

∆0

U∅

9 / 22

Page 10: Ulrich Berger, Andrew Lawrence, Monika Seisenberger

Small-step unit resolutionIn the following an equivalent small-step variant of unit resolutionwill be more convenient:

Γ ∪ C ∈ ∆+0

Γ∆0

SC

Γ1

∆0

SC , l Γ2

∆0

Sl

Γ1 ∪ Γ2

∆0

SC

where ∆+0 = {C | ∃C ′ ∈ ∆ (C ′ ⊆ C ) ∨ ∃l ({l , l} ⊆ C )}

LemmaFor clauses C of size ≤ 1:

(a) If Γ∆0

UC , then Γ

∆0

SC .

(b) If Γ∆0

SC , then Γ′

∆0

UC for some Γ′ ⊆ Γ.

10 / 22

Page 11: Ulrich Berger, Andrew Lawrence, Monika Seisenberger

Implication graphs, cuts, learned clauses

Unit resolution derivations (relative to a given CNF ∆0) withsharing of subderivations can be represented by implication graphs.

A conflict graph is an implication graph representing a derivationof the empty clause.

A cut through a conflict graph determines a derivation of theempty clause from the literals on the cut.

Hence, the negation of these literals follows from ∆0.

11 / 22

Page 12: Ulrich Berger, Andrew Lawrence, Monika Seisenberger

Example

12 / 22

Page 13: Ulrich Berger, Andrew Lawrence, Monika Seisenberger

DPLL with clause learning (preliminaries)

∆0 B ∆ means that all clauses in ∆ are learned form ∆0.

∆ ∧∆′ means the union (conjunction) of ∆ and ∆′ removingredundancies (subsumptions, i.e. inclusions).

redelim(Γ,∆) = {{l ∈ C | l 6∈ Γ} | C ∈ ∆,C ∩ Γ = ∅}

The function redelim replaces the rules Red and Elim. It is alsoknown as hyper-unit propagation [Kusper 2002].

DPLL with clause learning derives sequents of the form

Γ∆0

`DPLLCL

∆ whose intended meaning is means that no assignment

extending Γ satisfies the subsumption free CNFs ∆0 and ∆.

13 / 22

Page 14: Ulrich Berger, Andrew Lawrence, Monika Seisenberger

DPLL with clause learning (proof rules)Conflict

Γ∆0

`DPLLCL

{∅}

Γ, l∆0

`DPLLCL

redelim(l ,∆) {l} ∈ ∆

Unit

Γ∆0

`DPLLCL

Γ, l∆0

`DPLLCL

redelim(l ,∆) Γ, l∆0

`DPLLCL

redelim(l ,∆)

Split

Γ∆0

`DPLLCL

Γ∆0∧∆′

`DPLLCL

∆ ∧∆′′ ∆0 B ∆′ ∆′′ ⊆ redelim(Γ,∆′)

Learn

Γ∆0

`DPLLCL

14 / 22

Page 15: Ulrich Berger, Andrew Lawrence, Monika Seisenberger

Completeness of DPLL with clause learning (preliminaries)

A goal is a triple (Γ, Γ,∆) where Γ and Γ are variable disjointassignments and ∆ is a non-redundant formula that is variabledisjoint from Γ ∪ Γ. A goalstack ~G is a finite set of goals. The ideais that Γ consists of the decision literals, Γ consists of the forcedliterals, and ∆ is the set of remaining clauses to be solved.

~G is satisfiable if ∆ is satisfiable for some goal (Γ, Γ,∆) ∈ ~G .

∆0

S

~G means ∀(Γ, Γ,∆) ∈ ~G (Γ∆0

SΓ ∪∆).

Note that∆0

S(∅, ∅,∆0) holds trivially.

∆0

`DPLLCL

~G means ∀(Γ, Γ,∆) ∈ ~G (Γ ∪ Γ∆0

`DPLLCL

∆).

15 / 22

Page 16: Ulrich Berger, Andrew Lawrence, Monika Seisenberger

Completeness of DPLL with clause learning

Theorem (Completeness of DPLL with clause learning)

If∆0

S

~G , then ~G is satisfiable or∆0

`DPLLCL

~G .

Proof by induction on a measure µ( ~G ).

During the inductive proof an incomplete DPLL derivation iscreated in a backwards fashion whose leaves are the goalstack.

Simultaneously, small-step unit resolutions are created in a forwardfashion. These derivation share premises and constitute the currentimplication graph.

Whenever a conflict is reached (Conflict), the implication graphcontains a corresponding conflict graph from which learned clausescan be read-off and added to the remaining goals (Learn).

16 / 22

Page 17: Ulrich Berger, Andrew Lawrence, Monika Seisenberger

Logical representation of data

Data such as implication graphs and operations such as cuts donot need to be formalized but are created automatically byprogram extraction.

All that is required are inductive definitions of derivability relations(learning requires an additional variant of small-step unitresolution).

On the other hand, basic data structures such as finite sets aretreated like abstract data types whose implementation is left open.This gives us the flexibility to add efficient implementationsexternally.

The formalization in Minlog is ongoing work.

17 / 22

Page 18: Ulrich Berger, Andrew Lawrence, Monika Seisenberger

Pebbling graphs

*Pebble> gpgfor 3 2

[["-a1","-b1","d1","d2"],["-a1","-b2","d1","d2"],["-a2","-b1","d1","d2"],["-a2","-b2","d1","d2"],

["-b1","-c1","e1","e2"],["-b1","-c2","e1","e2"],["-b2","-c1","e1","e2"],["-b2","-c2","e1","e2"],

["-d1","-e1","f1","f2"],["-d1","-e2","f1","f2"],["-d2","-e1","f1","f2"],["-d2","-e2","f1","f2"],

["-f1"],["-f2"],

["a1","a2"],["b1","b2"],["c1","c2"]]

18 / 22

Page 19: Ulrich Berger, Andrew Lawrence, Monika Seisenberger

A (hacked) prototype SAT solver with clause learning

In order to see whether we can expect a useful extracted program Iwrote (in Haskell) a SAT solver with clause learning applying’manual program extraction’.

See demo.

19 / 22

Page 20: Ulrich Berger, Andrew Lawrence, Monika Seisenberger

References

M. Heule, O. Kullmann, V. Marek. Solving and verifying the booleanpythagorean triples problem via cube-and-conquer. InternationalConference on Theory and Applications of Satisfiability Testing, 2016.

L. Cruz-Filipe, P. Schneider-Kamp. Formally Proving the BooleanPythagorean Triples Conjecture. LPAR 21, 2017.

S. Lescuyer, S. Conchon. A Reflexive Formalization of a SAT Solver inCoq. TPHOLs, LNCS, 5170, 2008.

F. Maric. Formal verification of a modern SAT solver by shallowembedding into Isabelle/HOL. TCS, 411, 2010.

A Lawrence. Verification of Train Control Systems: Tools andTechniques. PhD thesis, Swansea University, 2015.

20 / 22

Page 21: Ulrich Berger, Andrew Lawrence, Monika Seisenberger

References

B., A Lawrence, F. Nordvall-Forsberg, M. Seisenberger. ExtractingVerified Decision Procedures: DPLL and Resolution. LMCS, 11, 2015.

H. Schwichtenberg. Minlog. The Seventeen Provers of the World,Lecture Notes in Artificial Intell., 3600, 2006.http://www.mathematik.uni-muenchen.de/~logik/minlog/

K. Pipatsrisawat, A. Darwic. On the Power of Clause-Learning SATSolvers with Restarts. LNCS, 5732, 2009.

M.W. Moskewicz, C.F. Madigan, Y. Zhao, L. Zhang, S. Malik. Chaff:Engineering an Efficient SAT Solver. ACM IEEE Design AutomationConference, 2001.

G. Audemard, L. Simon. Glucose: a solver that predicts learnt clausesquality. SAT Competition, 2009.

21 / 22