My Slides for a Course on Satisfiability

Total Page:16

File Type:pdf, Size:1020Kb

My Slides for a Course on Satisfiability Satisfiability Victor W. Marek Computer Science University of Kentucky Spring Semester 2005 Satisfiability – p.1/97 Satisfiability story ie× Á Satisfiability - invented in the ¾¼ of XX century by philosophers and mathematicians (Wittgenstein, Tarski) ie× Á Shannon (late ¾¼ ) applications to what was then known as electrical engineering ie× ie× Á Fundamental developments: ¼ and ¼ – both mathematics of it, and fundamental algorithms ie× Á ¼ - progress in computing speed and solving moderately large problems Á Emergence of “killer applications” in Computer Engineering, Bounded Model Checking Satisfiability – p.2/97 Current situation Á SAT solvers as a class of software Á Solving large cases generated by industrial applications Á Vibrant area of research both in Computer Science and in Computer Engineering ¯ Various CS meetings (SAT, AAAI, CP) ¯ Various CE meetings (CAV, FMCAD, DATE) ¯ CE meetings Stressing applications Satisfiability – p.3/97 This Course Á Providing mathematical and computer science foundations of SAT ¯ General mathematical foundations ¯ Two- and Three- valued logics ¯ Complete sets of functors ¯ Normal forms (including ite) ¯ Compactness of propositional logic ¯ Resolution rule, completeness of resolution, semantical resolution ¯ Fundamental algorithms for SAT ¯ Craig Lemma Satisfiability – p.4/97 And if there is enough of time and will... Á Easy cases of SAT ¯ Horn ¯ 2SAT ¯ Linear formulas Á And if there is time (but notes will be provided anyway) ¯ Expressing runs of polynomial-time NDTM as SAT, NP completeness ¯ “Mix and match” ¯ Learning in SAT, partial closure under resolution ¯ Bounded Model Checking Satisfiability – p.5/97 Various remarks Á Expected involvement of Dr. Truszczynski Á An extensive set of notes (> 200 pages), covering most of topics will be provided f.o.c. to registered students (in installments) Á No claim to absolute correctness made Á Syllabus: http://www.cs.uky.edu/ marek/htmldid.dir/686.html Á Homeworks every other week Á Midterm Á Individually-negotiated project a ¯ Write your own SAT solver ¯ Modify Chaff ¯ Use SAT solver for some reasonable task Á Questions? aHic Rhodes, Hic Salta Satisfiability – p.6/97 Basic concepts Á Sets and operations on sets Á Relations Á Partial orderings (posets) Á Elements’ classification Á Lattices Á Boolean Algebras Á Chains in posets, Zorn Lemma Á Well-orderings, ordinals, induction Á Inductive proofs Á Inductive definability Satisfiability – p.7/97 Fixpoint theorem Á Complete Lattices Á Monotone operators (functions) in lattices Á (Knaster-Tarski Fixpoint Theorem) If Ä is a complete lattice and Ä ! Ä is monotone operator in Ä then possesses a fixpoint. In fact fixpoints of form a complete lattice under the ordering of Ä, and thus there is a least and largest fixpoint of Á Continuous monotone functions Á The least fixpoint (but not the largest fixpoint) of a continuous operator reached in or less steps Á Generalizations of fixpoint theorem Satisfiability – p.8/97 Syntax of propositional logic Á Variables of some (problem-dependent) set Var Á For each set Var a separate propositional logic Á ÓÖÑ Inductive definition of the set of formulas ÎaÖ Á Thinking about formulas as binary trees, the rank of formula Satisfiability – p.9/97 Semantics Á Valuations of variables Á Partial valuations of variables Á Two-valued logic and valuations Á Type Bool Á Tables for operations in Bool Á Valuations acting on formulas Á Valuations uniquely extend from variables to formulas Á Characterizing valuations as complete sets of literals Á Characterizing valuations as sets of variables Á Ú Two-valued truth function ¾ Á Satisfaction relation j Á Consistent theories Satisfiability – p.10/97 Localization and joint-consistency Á Interactions between sets of variables Á Restrictions of valuations Á ÎÖ ÎÖ ³ ¾ Ä Ú ÎÖ Localization theorem: If ½ ¾ and ÎaÖ , is a valuation of ¾ , ½ ¼ ¼ Ú Ú ÎÖ j ³ Ú j ³ Ú j ³ is the restriction of to ½ then if and only if Á Complete sets of formulas Á Lemma: Complete sets of formulas determine valuations and conversely, valuations determine completes sets of formulas Á Ì Ì ÎÖ ÎÖ (Robinson joint-consistency) Let ½ , ¾ are two sets of formulas in ½ , ¾ ÎÖ ÎÖ \ ÎÖ Ì Ì resp. Let us assume that ½ ¾ and that both ½ , ¾ are complete ÎÖ Ì [ Ì for and coincide. Then ½ ¾ is consistent Satisfiability – p.11/97 Partial valuations, 3-valued logic Á Need for partial valuations? Á Partial valuation as complete valuations but in f¼ ½ Ùg Á Post ordering and Kleene ordering in the set f¼ ½ Ùg Á Product ordering Á f¼ ½ Ùg Post ordering and Kleene ordering in the multiple-copies product of , Ô and Á Getting Kleene and Post orderings of partial valuations Á Valuations as maximal partial valuations Satisfiability – p.12/97 Tables for Kleene 3-valued logic Á Ú Three-valued truth function ¿ Á Ú Ú Ú ¾ and ¿ coincide if is a (two-valued) valuation Á Ú Û ³ Ú ´³µ Û ´³µ If then for every formula , ¿ ¿ Á Autarkies Á Fundamental effect of this result in SAT Á Restriction result for 3-valued valuations Satisfiability – p.13/97 Tautologies and Satisfiability Á A tautology - formula true under all valuation of its variables Á Satisfiable formulas Á A formula ³ is satisfiable if and only if :³ is not a tautology Á Consequences of this fact: satisfiability checkers as tautology checkers Á Common tautologies Á How many are there tautologies? Satisfiability – p.14/97 Substitutions to formulas Á Substitution ! Ô Ô ½ Ò ½ Ò Á Valuations acting on substitutions Á Substitution Lemma ³ ¾ ÓÖÑ : Let fÔ Ô g be a formula in propositional ½ Ñ Ô Ô h i variables ½ Ñ and let ½ Ñ be a sequence of propositional Ú formulas. Let be a valuation of all variables occurring in ½ Ñ . Finally, ¼ ¼ Ú Ô Ô Ú ´Ô µ Ú ´ µ let be a valuation of variables ½ Ñ defined by , ½ Ñ. Then !! Ô Ô ½ Ò ¼ Ú ´³µ Ú ³ ½ Ò Satisfiability – p.15/97 Substitutions to formulas, cont’d Á ³ ³ Ô Ô Let be a tautology, with variables of among ½ Ò . Then for every ! Ô Ô ½ Ò h i ³ choice of formulas ½ Ò , the formula is a tautology. ½ Ò Á There are infinitely many tautologies Satisfiability – p.16/97 Lindenbaum Algebra Á Relation : ³ if for all valuations Ú (of all variables occurring in ³, ) Ú ´³µ Ú ´ µ Á is an equivalence relation Á ³ iff the formula ³ is a tautology Á We can form the cosets ÓÖÑ Á Operations in ÓÖÑ Á Independence from the choice of representatives Á Lindenbaum Algebra Á Lindenbaum Algebra is a Boolean Algebra Satisfiability – p.17/97 Permutations of atoms and literals Á Permutations of atoms Á Permutations of literals, consistent permutations of literals Á Shifts Á Consistent permutations form a group Á Decomposing consistent permutations of literals into shifts and permutation of variables Ò Á There is ¾ ¡ Ò of consistent permutations of literals over a set ÎÖ of size Ò Á Consistent permutations of literals (and thus permutations of variables) preserve completeness of sets of literals Á Every consistent and complete set of literals can be mapped onto any other consistent and complete set of literals by a suitably chosen consistent permutation of literals Satisfiability – p.18/97 Permutations and formulas Á Permutations act on formulas Á (Permutation Theorem) If ³ is a formula, Ú is a valuation and a consistent permutation of literals then Ú j ³ if and only if ´Ú µ j ´³µ Á Set-representation of valuations and permutation Satisfiability – p.19/97 Semantical consequence Á Operation Cn, entailment of the (sets of) formulas Ò ´ µ f³ 8 ´Ú j µ Ú j ³µg Ú Á Ò is an operator in the complete Boolean algebra of sets of formulas Á For all sets , Ò ´ µ Á Ò is monotone and idempotent Á Ò is continuous (but we have no means to prove it, yet) Á Ò ´;µ consists of tautologies and nothing else Satisfiability – p.20/97 Deduction Theorem Á Implication functor and consequence operation Á The following are equivalent ¯ ³ µ ¾ Ò ´ µ ¯ ¾ Ò ´ [ f³gµ Satisfiability – p.21/97 Operations Mod and Th Á From sets of formulas to valuations: ÅÓ ´ µ fÚ Ú j g Á From sets of valuations to formulas Ì ´Î µ f³ for all Ú ¾ Î , Ú j ³g Á Connection: Let Ú be a valuation and Î a set of valuations. Then Ú ¾ ÅÓ ´Ì ´Î µµ if and only if for every finite set of variables there is a Û ¾ Î Ú j Û j valuation such that . Á Let be a finite set of propositional variables. Let Î be a collections of valuations of set and Ú be a valuation of . Then Ú j ÅÓ ´Ì ´Î µµ if and only if Ú ¾ Î . Á ÅÓ ´Ì ´ÅÓ ´ µµµ ÅÓ ´Ò ´ µµ ÅÓ ´ µ Á Ì ´ÅÓ ´Ì ´Î µµµ Ì ´Î µ Satisfiability – p.22/97 Functors and formulas Á An Ò-ary functor is a Ò-ary function in ÓÓÐ Ò ¾ Á There are ¾ n-ary functors Á Table - Boolean function of finite number of variables Á Altogether there is infinitely many tables C Á Given a set C of names for functors we can form ÓÖÑ - the set of formulas based on C (obvious syntactic restrictions) Satisfiability – p.23/97 Completeness of sets of functors Á Valuations as before, functions on ÎÖ into Bool Á Assigning tables to well-formed formulas (i.e. trees, but no longer binary trees) Á Ì ³ ³ table associated with C Á C Ì Ì ³ ¾ ÓÖÑ is complete if every table is equal to ³ for some Satisfiability – p.24/97 Completeness of sets of functors, cont’d Á C C C C C C If ½ are two sets of functors, is complete and ½ then ½ is also complete. Á The set f: ^ _g is a complete set of functors. Á Thus f: ^ _ µ g is a complete set of functors.
Recommended publications
  • “The Church-Turing “Thesis” As a Special Corollary of Gödel's
    “The Church-Turing “Thesis” as a Special Corollary of Gödel’s Completeness Theorem,” in Computability: Turing, Gödel, Church, and Beyond, B. J. Copeland, C. Posy, and O. Shagrir (eds.), MIT Press (Cambridge), 2013, pp. 77-104. Saul A. Kripke This is the published version of the book chapter indicated above, which can be obtained from the publisher at https://mitpress.mit.edu/books/computability. It is reproduced here by permission of the publisher who holds the copyright. © The MIT Press The Church-Turing “ Thesis ” as a Special Corollary of G ö del ’ s 4 Completeness Theorem 1 Saul A. Kripke Traditionally, many writers, following Kleene (1952) , thought of the Church-Turing thesis as unprovable by its nature but having various strong arguments in its favor, including Turing ’ s analysis of human computation. More recently, the beauty, power, and obvious fundamental importance of this analysis — what Turing (1936) calls “ argument I ” — has led some writers to give an almost exclusive emphasis on this argument as the unique justification for the Church-Turing thesis. In this chapter I advocate an alternative justification, essentially presupposed by Turing himself in what he calls “ argument II. ” The idea is that computation is a special form of math- ematical deduction. Assuming the steps of the deduction can be stated in a first- order language, the Church-Turing thesis follows as a special case of G ö del ’ s completeness theorem (first-order algorithm theorem). I propose this idea as an alternative foundation for the Church-Turing thesis, both for human and machine computation. Clearly the relevant assumptions are justified for computations pres- ently known.
    [Show full text]
  • Automated Theorem Proving Introduction
    Automated Theorem Proving Scott Sanner, Guest Lecture Topics in Automated Reasoning Thursday, Jan. 19, 2006 Introduction • Def. Automated Theorem Proving: Proof of mathematical theorems by a computer program. • Depending on underlying logic, task varies from trivial to impossible: – Simple description logic: Poly-time – Propositional logic: NP-Complete (3-SAT) – First-order logic w/ arithmetic: Impossible 1 Applications • Proofs of Mathematical Conjectures – Graph theory: Four color theorem – Boolean algebra: Robbins conjecture • Hardware and Software Verification – Verification: Arithmetic circuits – Program correctness: Invariants, safety • Query Answering – Build domain-specific knowledge bases, use theorem proving to answer queries Basic Task Structure • Given: – Set of axioms (KB encoded as axioms) – Conjecture (assumptions + consequence) • Inference: – Search through space of valid inferences • Output: – Proof (if found, a sequence of steps deriving conjecture consequence from axioms and assumptions) 2 Many Logics / Many Theorem Proving Techniques Focus on theorem proving for logics with a model-theoretic semantics (TBD) • Logics: – Propositional, and first-order logic – Modal, temporal, and description logic • Theorem Proving Techniques: – Resolution, tableaux, sequent, inverse – Best technique depends on logic and app. Example of Propositional Logic Sequent Proof • Given: • Direct Proof: – Axioms: (I) A |- A None (¬R) – Conjecture: |- ¬A, A ∨ A ∨ ¬A ? ( R2) A A ? |- A∨¬A, A (PR) • Inference: |- A, A∨¬A (∨R1) – Gentzen |- A∨¬A, A∨¬A Sequent (CR) ∨ Calculus |- A ¬A 3 Example of First-order Logic Resolution Proof • Given: • CNF: ¬Man(x) ∨ Mortal(x) – Axioms: Man(Socrates) ∀ ⇒ Man(Socrates) x Man(x) Mortal(x) ¬Mortal(y) [Neg. conj.] Man(Socrates) – Conjecture: • Proof: ∃y Mortal(y) ? 1. ¬Mortal(y) [Neg. conj.] 2. ¬Man(x) ∨ Mortal(x) [Given] • Inference: 3.
    [Show full text]
  • Logic and Proof Computer Science Tripos Part IB
    Logic and Proof Computer Science Tripos Part IB Lawrence C Paulson Computer Laboratory University of Cambridge [email protected] Copyright c 2015 by Lawrence C. Paulson Contents 1 Introduction and Learning Guide 1 2 Propositional Logic 2 3 Proof Systems for Propositional Logic 5 4 First-order Logic 8 5 Formal Reasoning in First-Order Logic 11 6 Clause Methods for Propositional Logic 13 7 Skolem Functions, Herbrand’s Theorem and Unification 17 8 First-Order Resolution and Prolog 21 9 Decision Procedures and SMT Solvers 24 10 Binary Decision Diagrams 27 11 Modal Logics 28 12 Tableaux-Based Methods 30 i 1 INTRODUCTION AND LEARNING GUIDE 1 1 Introduction and Learning Guide 2008 Paper 3 Q6: BDDs, DPLL, sequent calculus • 2008 Paper 4 Q5: proving or disproving first-order formulas, This course gives a brief introduction to logic, including • resolution the resolution method of theorem-proving and its relation 2009 Paper 6 Q7: modal logic (Lect. 11) to the programming language Prolog. Formal logic is used • for specifying and verifying computer systems and (some- 2009 Paper 6 Q8: resolution, tableau calculi • times) for representing knowledge in Artificial Intelligence 2007 Paper 5 Q9: propositional methods, resolution, modal programs. • logic The course should help you to understand the Prolog 2007 Paper 6 Q9: proving or disproving first-order formulas language, and its treatment of logic should be helpful for • 2006 Paper 5 Q9: proof and disproof in FOL and modal logic understanding other theoretical courses. It also describes • 2006 Paper 6 Q9: BDDs, Herbrand models, resolution a variety of techniques and data structures used in auto- • mated theorem provers.
    [Show full text]
  • Boolean Satisfiability Solvers: Techniques and Extensions
    Boolean Satisfiability Solvers: Techniques and Extensions Georg WEISSENBACHER a and Sharad MALIK a a Princeton University Abstract. Contemporary satisfiability solvers are the corner-stone of many suc- cessful applications in domains such as automated verification and artificial intelli- gence. The impressive advances of SAT solvers, achieved by clever engineering and sophisticated algorithms, enable us to tackle Boolean Satisfiability (SAT) problem instances with millions of variables – which was previously conceived as a hope- less problem. We provide an introduction to contemporary SAT-solving algorithms, covering the fundamental techniques that made this revolution possible. Further, we present a number of extensions of the SAT problem, such as the enumeration of all satisfying assignments (ALL-SAT) and determining the maximum number of clauses that can be satisfied by an assignment (MAX-SAT). We demonstrate how SAT solvers can be leveraged to solve these problems. We conclude the chapter with an overview of applications of SAT solvers and their extensions in automated verification. Keywords. Satisfiability solving, Propositional logic, Automated decision procedures 1. Introduction Boolean Satisfibility (SAT) is the problem of checking if a propositional logic formula can ever evaluate to true. This problem has long enjoyed a special status in computer science. On the theoretical side, it was the first problem to be classified as being NP- complete. NP-complete problems are notorious for being hard to solve; in particular, in the worst case, the computation time of any known solution for a problem in this class increases exponentially with the size of the problem instance. On the practical side, SAT manifests itself in several important application domains such as the design and verification of hardware and software systems, as well as applications in artificial intelligence.
    [Show full text]
  • Deduction (I) Tautologies, Contradictions And
    D (I) T, & L L October , Tautologies, contradictions and contingencies Consider the truth table of the following formula: p (p ∨ p) () If you look at the final column, you will notice that the truth value of the whole formula depends on the way a truth value is assigned to p: the whole formula is true if p is true and false if p is false. Contrast the truth table of (p ∨ p) in () with the truth table of (p ∨ ¬p) below: p ¬p (p ∨ ¬p) () If you look at the final column, you will notice that the truth value of the whole formula does not depend on the way a truth value is assigned to p. The formula is always true because of the meaning of the connectives. Finally, consider the truth table table of (p ∧ ¬p): p ¬p (p ∧ ¬p) () This time the formula is always false no matter what truth value p has. Tautology A statement is called a tautology if the final column in its truth table contains only ’s. Contradiction A statement is called a contradiction if the final column in its truth table contains only ’s. Contingency A statement is called a contingency or contingent if the final column in its truth table contains both ’s and ’s. Let’s consider some examples from the book. Can you figure out which of the following sentences are tautologies, which are contradictions and which contingencies? Hint: the answer is the same for all the formulas with a single row. () a. (p ∨ ¬p), (p → p), (p → (q → p)), ¬(p ∧ ¬p) b.
    [Show full text]
  • Logic and Proof
    Logic and Proof Computer Science Tripos Part IB Lent Term Lawrence C Paulson Computer Laboratory University of Cambridge [email protected] Copyright c 2018 by Lawrence C. Paulson I Logic and Proof 101 Introduction to Logic Logic concerns statements in some language. The language can be natural (English, Latin, . ) or formal. Some statements are true, others false or meaningless. Logic concerns relationships between statements: consistency, entailment, . Logical proofs model human reasoning (supposedly). Lawrence C. Paulson University of Cambridge I Logic and Proof 102 Statements Statements are declarative assertions: Black is the colour of my true love’s hair. They are not greetings, questions or commands: What is the colour of my true love’s hair? I wish my true love had hair. Get a haircut! Lawrence C. Paulson University of Cambridge I Logic and Proof 103 Schematic Statements Now let the variables X, Y, Z, . range over ‘real’ objects Black is the colour of X’s hair. Black is the colour of Y. Z is the colour of Y. Schematic statements can even express questions: What things are black? Lawrence C. Paulson University of Cambridge I Logic and Proof 104 Interpretations and Validity An interpretation maps variables to real objects: The interpretation Y 7 coal satisfies the statement Black is the colour→ of Y. but the interpretation Y 7 strawberries does not! A statement A is valid if→ all interpretations satisfy A. Lawrence C. Paulson University of Cambridge I Logic and Proof 105 Consistency, or Satisfiability A set S of statements is consistent if some interpretation satisfies all elements of S at the same time.
    [Show full text]
  • Satisfiability 6 the Decision Problem 7
    Satisfiability Difficult Problems Dealing with SAT Implementation Klaus Sutner Carnegie Mellon University 2020/02/04 Finding Hard Problems 2 Entscheidungsproblem to the Rescue 3 The Entscheidungsproblem is solved when one knows a pro- cedure by which one can decide in a finite number of operations So where would be look for hard problems, something that is eminently whether a given logical expression is generally valid or is satis- decidable but appears to be outside of P? And, we’d like the problem to fiable. The solution of the Entscheidungsproblem is of funda- be practical, not some monster from CRT. mental importance for the theory of all fields, the theorems of which are at all capable of logical development from finitely many The Circuit Value Problem is a good indicator for the right direction: axioms. evaluating Boolean expressions is polynomial time, but relatively difficult D. Hilbert within P. So can we push CVP a little bit to force it outside of P, just a little bit? In a sense, [the Entscheidungsproblem] is the most general Say, up into EXP1? problem of mathematics. J. Herbrand Exploiting Difficulty 4 Scaling Back 5 Herbrand is right, of course. As a research project this sounds like a Taking a clue from CVP, how about asking questions about Boolean fiasco. formulae, rather than first-order? But: we can turn adversity into an asset, and use (some version of) the Probably the most natural question that comes to mind here is Entscheidungsproblem as the epitome of a hard problem. Is ϕ(x1, . , xn) a tautology? The original Entscheidungsproblem would presumable have included arbitrary first-order questions about number theory.
    [Show full text]
  • Mathematical Logic, an Introduction
    Mathematical Logic, an Introduction by Peter Koepke Bonn, Winter 2019/20 Wann sollte die Mathematik je zu einem Anfang gelangen, wenn sie warten wollte, bis die Philosophie über unsere Grundbegrie zur Klarheit und Einmüthigkeit gekommen ist? Unsere einzige Rettung ist der formalistische Standpunkt, undenirte Begrie (wie Zahl, Punkt, Ding, Menge) an die Spitze zu stellen, um deren actuelle oder psychologische oder anschauliche Bedeutung wir uns nicht kümmern, und ebenso unbewiesene Sätze (Axiome), deren actuelle Richtigkeit uns nichts angeht. Aus diesen primitiven Begrien und Urtheilen gewinnen wir durch Denition und Deduction andere, und nur diese Ableitung ist unser Werk und Ziel. (Felix Hausdor, 12. Januar 1918) Table of contents 1 Introduction . 4 I First-order Logic and the Gödel Completeness Theorem . 4 2 The Syntax of rst-order logic: Symbols, words, and formulas . 4 2.1 Motivation: a mathematical statement . 5 2.2 Symbols . 5 2.3 Words . 6 2.4 Terms . 7 2.5 Formulas . 8 3 Semantics . 9 4 The satisfaction relation . 11 5 Logical implication and propositional connectives . 14 6 Substitution and term rules . 15 7 A sequent calculus . 20 8 Derivable sequent rules . 22 8.1 Auxiliary derived rules . 22 8.2 Introduction and elimination of ; ; ::: . 23 8.3 Formal proofs about . ._. .^. 24 9 Consistency . 25 1 2 Section 10 Term models and Henkin sets . 27 11 Constructing Henkin sets . 30 12 The completeness theorem . 34 13 The compactness theorem . 35 II Herbrand's Theorem and Automatic Theorem Proving . 38 14 Normal forms . 38 14.1 Negation normal form . 39 14.2 Conjunctive and disjunctive normal form .
    [Show full text]
  • Solving the Boolean Satisfiability Problem Using the Parallel Paradigm Jury Composition
    Philosophæ doctor thesis Hoessen Benoît Solving the Boolean Satisfiability problem using the parallel paradigm Jury composition: PhD director Audemard Gilles Professor at Universit´ed'Artois PhD co-director Jabbour Sa¨ıd Assistant Professor at Universit´ed'Artois PhD co-director Piette C´edric Assistant Professor at Universit´ed'Artois Examiner Simon Laurent Professor at University of Bordeaux Examiner Dequen Gilles Professor at University of Picardie Jules Vernes Katsirelos George Charg´ede recherche at Institut national de la recherche agronomique, Toulouse Abstract This thesis presents different technique to solve the Boolean satisfiability problem using parallel and distributed architec- tures. In order to provide a complete explanation, a careful presentation of the CDCL algorithm is made, followed by the state of the art in this domain. Once presented, two proposi- tions are made. The first one is an improvement on a portfo- lio algorithm, allowing to exchange more data without loosing efficiency. The second is a complete library with its API al- lowing to easily create distributed SAT solver. Keywords: SAT, parallelism, distributed, solver, logic R´esum´e Cette th`ese pr´esente diff´erentes techniques permettant de r´esoudre le probl`eme de satisfaction de formule bool´eenes utilisant le parall´elismeet du calcul distribu´e. Dans le but de fournir une explication la plus compl`ete possible, une pr´esentation d´etaill´ee de l'algorithme CDCL est effectu´ee, suivi d'un ´etatde l'art. De ce point de d´epart,deux pistes sont explor´ees. La premi`ereest une am´eliorationd'un algorithme de type portfolio, permettant d'´echanger plus d'informations sans perte d’efficacit´e.
    [Show full text]
  • 12 Propositional Logic
    CHAPTER 12 ✦ ✦ ✦ ✦ Propositional Logic In this chapter, we introduce propositional logic, an algebra whose original purpose, dating back to Aristotle, was to model reasoning. In more recent times, this algebra, like many algebras, has proved useful as a design tool. For example, Chapter 13 shows how propositional logic can be used in computer circuit design. A third use of logic is as a data model for programming languages and systems, such as the language Prolog. Many systems for reasoning by computer, including theorem provers, program verifiers, and applications in the field of artificial intelligence, have been implemented in logic-based programming languages. These languages generally use “predicate logic,” a more powerful form of logic that extends the capabilities of propositional logic. We shall meet predicate logic in Chapter 14. ✦ ✦ ✦ ✦ 12.1 What This Chapter Is About Section 12.2 gives an intuitive explanation of what propositional logic is, and why it is useful. The next section, 12,3, introduces an algebra for logical expressions with Boolean-valued operands and with logical operators such as AND, OR, and NOT that Boolean algebra operate on Boolean (true/false) values. This algebra is often called Boolean algebra after George Boole, the logician who first framed logic as an algebra. We then learn the following ideas. ✦ Truth tables are a useful way to represent the meaning of an expression in logic (Section 12.4). ✦ We can convert a truth table to a logical expression for the same logical function (Section 12.5). ✦ The Karnaugh map is a useful tabular technique for simplifying logical expres- sions (Section 12.6).
    [Show full text]
  • Logic, Proofs
    CHAPTER 1 Logic, Proofs 1.1. Propositions A proposition is a declarative sentence that is either true or false (but not both). For instance, the following are propositions: “Paris is in France” (true), “London is in Denmark” (false), “2 < 4” (true), “4 = 7 (false)”. However the following are not propositions: “what is your name?” (this is a question), “do your homework” (this is a command), “this sentence is false” (neither true nor false), “x is an even number” (it depends on what x represents), “Socrates” (it is not even a sentence). The truth or falsehood of a proposition is called its truth value. 1.1.1. Connectives, Truth Tables. Connectives are used for making compound propositions. The main ones are the following (p and q represent given propositions): Name Represented Meaning Negation p “not p” Conjunction p¬ q “p and q” Disjunction p ∧ q “p or q (or both)” Exclusive Or p ∨ q “either p or q, but not both” Implication p ⊕ q “if p then q” Biconditional p → q “p if and only if q” ↔ The truth value of a compound proposition depends only on the value of its components. Writing F for “false” and T for “true”, we can summarize the meaning of the connectives in the following way: 6 1.1. PROPOSITIONS 7 p q p p q p q p q p q p q T T ¬F T∧ T∨ ⊕F →T ↔T T F F F T T F F F T T F T T T F F F T F F F T T Note that represents a non-exclusive or, i.e., p q is true when any of p, q is true∨ and also when both are true.
    [Show full text]
  • Logic, Sets, and Proofs David A
    Logic, Sets, and Proofs David A. Cox and Catherine C. McGeoch Amherst College 1 Logic Logical Statements. A logical statement is a mathematical statement that is either true or false. Here we denote logical statements with capital letters A; B. Logical statements be combined to form new logical statements as follows: Name Notation Conjunction A and B Disjunction A or B Negation not A :A Implication A implies B if A, then B A ) B Equivalence A if and only if B A , B Here are some examples of conjunction, disjunction and negation: x > 1 and x < 3: This is true when x is in the open interval (1; 3). x > 1 or x < 3: This is true for all real numbers x. :(x > 1): This is the same as x ≤ 1. Here are two logical statements that are true: x > 4 ) x > 2. x2 = 1 , (x = 1 or x = −1). Note that \x = 1 or x = −1" is usually written x = ±1. Converses, Contrapositives, and Tautologies. We begin with converses and contrapositives: • The converse of \A implies B" is \B implies A". • The contrapositive of \A implies B" is \:B implies :A" Thus the statement \x > 4 ) x > 2" has: • Converse: x > 2 ) x > 4. • Contrapositive: x ≤ 2 ) x ≤ 4. 1 Some logical statements are guaranteed to always be true. These are tautologies. Here are two tautologies that involve converses and contrapositives: • (A if and only if B) , ((A implies B) and (B implies A)). In other words, A and B are equivalent exactly when both A ) B and its converse are true.
    [Show full text]