Problem Solving with Boolean Satisfiability
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
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. -
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. -
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. -
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. -
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. -
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). -
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. -
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. -
Introduction to the Boolean Satisfiability Problem
Introduction to the Boolean Satisfiability Problem Spring 2018 CSCE 235H Introduction to Discrete Structures URL: cse.unl.edu/~cse235h All questions: Piazza Satisfiability Study • 7 weeks • 30 min lectures in recitation • ~2 hours of homework per week • Goals: – Exposure to fundamental research in CS – Understand how to model problems – Learn to use SAT solver, MiniSAT CSCE 235 Logic 2 Boolean Satisfiability Problem • Given: – A Boolean formula • Question: – Is there an assignment of truth values to the Boolean variables such that the formula holds true? CSCE 235 Logic 3 Boolean Satisfiability Problem a ( a b) _ ¬ ^ (a a) (b b) _ ¬ ! ^ ¬ CSCE 235 Logic 4 Boolean Satisfiability Problem a ( a b) _ ¬ ^ SATISFIABLE a=true, b=true (a a) (b b) _ ¬ ! ^ ¬ CSCE 235 Logic 5 Boolean Satisfiability Problem a ( a b) _ ¬ ^ SATISFIABLE a=true, b=true (a a) (b b) _ ¬ ! ^ ¬ UNSATISFIABLE Left side of implication is a tautology. Right side of implication is a contradiction. True cannot imply false. CSCE 235 Logic 6 Applications of SAT • Scheduling • Resource allocation • Hardware/software verification • Planning • Cryptography CSCE 235 Logic 7 Conjunctive Normal Form • Variable a, b, p, q, x1,x2 • Literal a, a, q, q, x , x ¬ ¬ 1 ¬ 1 • Clause (a b c) _ ¬ _ • Formula (a b c) _ ¬ _ (b c) ^ _ ( a c) ^ ¬ _ ¬ CSCE 235 Logic 8 Converting to CNF • All Boolean formulas can be converted to CNF • The operators can be rewritten in , , terms of ! $,⊕, ¬ _ ^ • , , can be rearranged using ¬– De Morgan_ ^ ’s Laws – Distributive Laws – Double Negative • May result in exponential -
Lecture 1: Propositional Logic
Lecture 1: Propositional Logic Syntax Semantics Truth tables Implications and Equivalences Valid and Invalid arguments Normal forms Davis-Putnam Algorithm 1 Atomic propositions and logical connectives An atomic proposition is a statement or assertion that must be true or false. Examples of atomic propositions are: “5 is a prime” and “program terminates”. Propositional formulas are constructed from atomic propositions by using logical connectives. Connectives false true not and or conditional (implies) biconditional (equivalent) A typical propositional formula is The truth value of a propositional formula can be calculated from the truth values of the atomic propositions it contains. 2 Well-formed propositional formulas The well-formed formulas of propositional logic are obtained by using the construction rules below: An atomic proposition is a well-formed formula. If is a well-formed formula, then so is . If and are well-formed formulas, then so are , , , and . If is a well-formed formula, then so is . Alternatively, can use Backus-Naur Form (BNF) : formula ::= Atomic Proposition formula formula formula formula formula formula formula formula formula formula 3 Truth functions The truth of a propositional formula is a function of the truth values of the atomic propositions it contains. A truth assignment is a mapping that associates a truth value with each of the atomic propositions . Let be a truth assignment for . If we identify with false and with true, we can easily determine the truth value of under . The other logical connectives can be handled in a similar manner. Truth functions are sometimes called Boolean functions. 4 Truth tables for basic logical connectives A truth table shows whether a propositional formula is true or false for each possible truth assignment. -
Exploring Semantic Hierarchies to Improve Resolution Theorem Proving on Ontologies
The University of Maine DigitalCommons@UMaine Honors College Spring 2019 Exploring Semantic Hierarchies to Improve Resolution Theorem Proving on Ontologies Stanley Small University of Maine Follow this and additional works at: https://digitalcommons.library.umaine.edu/honors Part of the Computer Sciences Commons Recommended Citation Small, Stanley, "Exploring Semantic Hierarchies to Improve Resolution Theorem Proving on Ontologies" (2019). Honors College. 538. https://digitalcommons.library.umaine.edu/honors/538 This Honors Thesis is brought to you for free and open access by DigitalCommons@UMaine. It has been accepted for inclusion in Honors College by an authorized administrator of DigitalCommons@UMaine. For more information, please contact [email protected]. EXPLORING SEMANTIC HIERARCHIES TO IMPROVE RESOLUTION THEOREM PROVING ON ONTOLOGIES by Stanley C. Small A Thesis Submitted in Partial Fulfillment of the Requirements for a Degree with Honors (Computer Science) The Honors College University of Maine May 2019 Advisory Committee: Dr. Torsten Hahmann, Assistant Professor1, Advisor Dr. Mark Brewer, Professor of Political Science Dr. Max Egenhofer, Professor1 Dr. Sepideh Ghanavati, Assistant Professor1 Dr. Roy Turner, Associate Professor1 1School of Computing and Information Science ABSTRACT A resolution-theorem-prover (RTP) evaluates the validity (truthfulness) of conjectures against a set of axioms in a knowledge base. When given a conjecture, an RTP attempts to resolve the negated conjecture with axioms from the knowledge base until the prover finds a contradiction. If the RTP finds a contradiction between the axioms and a negated conjecture, the conjecture is proven. The order in which the axioms within the knowledge-base are evaluated significantly impacts the runtime of the program, as the search-space increases exponentially with the number of axioms. -
(Slides) Propositional Logic: Semantics
Propositional Logic: Semantics Alice Gao Lecture 4, September 19, 2017 Semantics 1/56 Announcements Semantics 2/56 The roadmap of propositional logic Semantics 3/56 FCC spectrum auction — an application of propositional logic To repurpose radio spectrums 2 auctions: • one to buy back spectrums from broadcasters • the other to sell spectrums to telecoms A computational problem in the buy back auction: If I pay these broadcasters to go off air, could I repackage the spectrums and sellto telecoms? Could I lower your price and still manage to get useful spectrums to sell to telecoms? The problem comes down to, how many satisfiability problems can I solve in a very short amount of time? (determine that a formula is satisfiable or determine that it is unsatisfiable.) Talk by Kevin Leyton-Brown https://www.youtube.com/watch?v=u1-jJOivP70 Semantics 4/56 Learning goals By the end of this lecture, you should be able to • Evaluate the truth value of a formula • Define a (truth) valuation. • Determine the truth value of a formula by using truth tables. • Determine the truth value of a formula by using valuation trees. • Determine and prove whether a formula has a particular property • Define tautology, contradiction, and satisfiable formula. • Compare and contrast the three properties (tautology, contradiction, and satisfiable formula). • Prove whether a formula is a tautology, a contradiction, or satisfiable, using a truth table and/or a valuation tree. • Describe strategies to prove whether a formula is a tautology, a contradiction or a satisfiable formula. Semantics 5/56 The meaning of well-formed formulas To interpret a formula, we have to give meanings to the propositional variables and the connectives.