Problem Solving with Boolean Satisfiability

Total Page:16

File Type:pdf, Size:1020Kb

Problem Solving with Boolean Satisfiability Problem Solving with Boolean SATisfiability J. Larrosa September 26, 2017 Abstract This notes complement the course slides. While class slides are more oriented to examples and motivation, here we give more formal definitions. They are working notes, not completely checked for errors and typos. 1 Overview and Motivation Propositional Logic is an extremely simple, but surprisingly powerful language for modeling (and reasoning about) complex systems. The intuitive idea is that it can be used to model systems that can be expressed as propositions (i.e, statements that can only be either true or false). A propositional formula describes the possible states of some part of a world that is being modeled and it specifies how some of those states are unfea- sible or unwanted in the system. The model might be of your house, your car, your body, your community, an ecosystem, a stock-market, etc. The language allows us to specify from all the possible worlds that could hypothetically ex- ist (i.e, all the possible ways that the parts or states can be configured) those states that can really exist (i.e, the car engine cannot run with a dead battery, the car cannot be used with flat tires, your body in order to be healthy cannot have any disorder symptoms such as temperature, headache, caugh,...). The language also allows to proof (or disproof) properties of the system. Propositional Logic is a declarative representations. In this approach, we construct with the language a model of the system about which we would like to reason about. This model encodes our knowledge of how the system works in a computer readable form. The key property of a declarative representation is the separation of knowledge and reasoning. The representation has its own clear semantics, separated from the algorithms that one can apply to it. Thus, we can develop a general suite of algorithms that apply to any model within a broad class. The main advantage of using Propositional Logic is that it provides a com- pact representation of an exponentially large boolean function. Additionally, many algorithms have been design to work with this representation, bypassing the huge boolean function. 1 In this notes we first describe the basics of the propositional logic language and show how it can be used to model problems. We show how the boolean sat- isfiability query (SAT) is general enough as to include many other queries (e.g. entailment or equivalence). Then we introduce CNF, a subset of the language that is as expressive as propositional logic (i.e, every formula in propositional logic can be transformed into an equivalent one in CNF). The interest of CNF is that it facilitates the development of efficient algorithms. .... Finally, we present Max-SAT and #SAT, two popular extensions of SAT. 2 Basic Definitions A boolean variable takes values from the boolean domain B = f0; 1g, which are usually referred to as false and true, respectively. In this notes we will make the usual convention of denoting boolean variables with lower case letters (possibly subscripted) such as p; q; x1; xi; :::. We assume that the reader is fa- miliar with the usual boolean operators _ (logical or, also called disjunction), ^ (logical and, also called conjunction), : (not, also called negation), ! (logical implication), $ (logical equivalence). A boolean formula F is a syntactically well constructed expression with boolean values, variables and operators. There is a precedence order for eval- uation purposes which is (:; ^; _; !; $) where priority goes from left to right. When needed, parenthesis can be used to overrule the default precedence rules. For example, if P = fp; q; rg a valid formula is F = p _ (:q ^ p _ r) ^ 1 Note: Since F $ G is equivalent to (F ! G) ^ (G ! F ), and F ! G is equivalent to :F _ G, they are not really necessary. We can think of these two operators as syntactical sugar and, when needed, assume that formulas only contain disjunction, conjunction and negation An interpretation I of a set of variables X is a mapping from each vari- able to a boolean value (i.e, either 0 or 1). Note that the number of different interpretations is 2jXj. We say that an interpretation I satisfies a formula F (noted I j= F ) if replacing in F variables by their associated values evaluates to 1. For instance if I maps all the variables to 0, it does not satisfy formula p _ (:q ^ p _ r) ^ 1 because 0 _ (:0 ^ 0 _ 0) ^ 0 evaluates to 0. If interpretation I satisfies a formula F , we say that I is a model of F . A formula F is satisfiable if it has at least one model. It is a contradiction (or unsatisfiable) if it does not have any model. Finally, it is a tautology if every interpretation is a model. Formula F entails formula G (noted F j= G) if every model of F is also a model of G. Two formulas are equivalent (noted F ≡ G) if they entail each other. Sometimes it is useful to think of a boolean formula F as a binary tree where leaves are variables and internal nodes are operators (see Figure 3, left). The tree associated to a given formula is unique. Furthermore, two different formulas have different associated trees. The size of a formula F , noted jF j, is the size of its tree as the number of leaves and internal nodes (e.g. the formula in Figure 2 Figure 1: Some logical equivalences 3, left has size 12) It is often useful to think of a boolean formula F over X = fx1; x2; ··· ; xng as a boolean function F (X): Bn −! B. The truth table of a formula F (X) (see Figure 2, bottom) is a table containing F (X) for each possible instantiation of X. Property. • Every truth table over a set of variables X can be expressed as a proposi- tional formula F (X) • Two different formulas may have the same truth table. 2.1 A first modeling example Consider that we want to model the possible scenarios of a surveillance system consisting in r robots and p surveillance spots along t different time slots (note that here r; p; t are not boolean variables, but problem parameters). We want to consider how to schedule the robots (i.e, where to place each robot at each time slot) knowing that we never want two robots in the same spot. One possibility is to use variables xijk (with 1 ≤ i ≤ r; 1 ≤ j ≤ p; 1 ≤ k ≤ t) associated to the statement robot i is in spot j at time k. As you can see, we prefer to write a model in terms of the problem parameters r; p; t, rather than a particular model for some fixed parameters. This is good for modeling purposes, because shows the generality of the model and helps understand how the model would look 3 for different scenarios. However, if we want to use this model in a particular setting, we will need to write the formula for the corresponding values. Let's start defining with some useful sub-formulas, • On day k, robot i is at some spot, which can be written as, Gik = xi1k _ xi2k _···_ xipk Note that the size of Gik is O(p). Now it is easy to define formula G = = G11 ^ G12 ^ · · · ^ G1p G21 ^ G22 ^ · · · ^ G2p ··· Gr1 ^ Gr2 ^ · · · ^ Grp which specifies that every day, every robot has to be at some spot (there is one model for each feasible assignment). The size of G is O(rtp). • On day k, spot j is occupied by at most one robot, which can be written as, Hjk = :(x1jk ^ x2jk) ^ :(x1jk ^ x3jk) ^ · · · ^ :(x1jk ^ xrjk) 2 The size of Hjk is O(r ). Now, formula H = = H11 ^ H12 ^ · · · ^ H1t H21 ^ H22 ^ · · · ^ H2t ··· Hp1 ^ Hp2 ^ · · · ^ Hpt denotes that every day, every spot holds at most one robot (there is one model for each feasible assignment). Its size is O(ptr2). The complete formula is F = G ^ H which contains one model for each possible scheduling of the robots according to the system requirements. The model can be used to identify different properties about the system. For instance, it is easy to see that in any instantiation of the formula with p < r (i.e, there are more robots than surveillance spots) the formula is unsatisfiable formula, meaning that it is not possible to place r robots in less than r places without overlapping. This example shows that propositional formulas can sometimes be pretty large, which may be a serious drawback. For instance, the size of the previous formula is O(ptr2), which may be a large number even for moderate values of p; t; r. Note that this is a very simple example. In a more realistic one, additional el- ements would be added to take into account additional conditions about robots, spots and time slots. For instance, if different robots have different capabilities and different spots have different priorities, we could augment the formula to 4 force the best robots to be placed in the most critical spots. One way to do that is to enrich the model associating to each spot and to each robot a priority and then add to the formula a third sub-formula encoding that: for every time slot k, for each pair of spots (j; j0) such that j has more priority than j0, and for each pair of robots (i; i0) such that i has more priority than i0, the more powerful robot cannot be place in the spot with less priority (that is, :(xij0k ^ xi0jk)).
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.
    [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]
  • 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]
  • 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
    [Show full text]
  • 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.
    [Show full text]
  • 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.
    [Show full text]
  • (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.
    [Show full text]