On Non-Canonical Solving the Satisfiability Problem
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
CS 512, Spring 2017, Handout 10 [1Ex] Propositional Logic: [2Ex
CS 512, Spring 2017, Handout 10 Propositional Logic: Conjunctive Normal Forms, Disjunctive Normal Forms, Horn Formulas, and other special forms Assaf Kfoury 5 February 2017 Assaf Kfoury, CS 512, Spring 2017, Handout 10 page 1 of 28 CNF L ::= p j :p literal D ::= L j L _ D disjuntion of literals C ::= D j D ^ C conjunction of disjunctions DNF L ::= p j :p literal C ::= L j L ^ C conjunction of literals D ::= C j C _ D disjunction of conjunctions conjunctive normal form & disjunctive normal form Assaf Kfoury, CS 512, Spring 2017, Handout 10 page 2 of 28 DNF L ::= p j :p literal C ::= L j L ^ C conjunction of literals D ::= C j C _ D disjunction of conjunctions conjunctive normal form & disjunctive normal form CNF L ::= p j :p literal D ::= L j L _ D disjuntion of literals C ::= D j D ^ C conjunction of disjunctions Assaf Kfoury, CS 512, Spring 2017, Handout 10 page 3 of 28 conjunctive normal form & disjunctive normal form CNF L ::= p j :p literal D ::= L j L _ D disjuntion of literals C ::= D j D ^ C conjunction of disjunctions DNF L ::= p j :p literal C ::= L j L ^ C conjunction of literals D ::= C j C _ D disjunction of conjunctions Assaf Kfoury, CS 512, Spring 2017, Handout 10 page 4 of 28 I A disjunction of literals L1 _···_ Lm is valid (equivalently, is a tautology) iff there are 1 6 i; j 6 m with i 6= j such that Li is :Lj. -
Boolean Algebra
Boolean Algebra Definition: A Boolean Algebra is a math construct (B,+, . , ‘, 0,1) where B is a non-empty set, + and . are binary operations in B, ‘ is a unary operation in B, 0 and 1 are special elements of B, such that: a) + and . are communative: for all x and y in B, x+y=y+x, and x.y=y.x b) + and . are associative: for all x, y and z in B, x+(y+z)=(x+y)+z, and x.(y.z)=(x.y).z c) + and . are distributive over one another: x.(y+z)=xy+xz, and x+(y.z)=(x+y).(x+z) d) Identity laws: 1.x=x.1=x and 0+x=x+0=x for all x in B e) Complementation laws: x+x’=1 and x.x’=0 for all x in B Examples: • (B=set of all propositions, or, and, not, T, F) • (B=2A, U, ∩, c, Φ,A) Theorem 1: Let (B,+, . , ‘, 0,1) be a Boolean Algebra. Then the following hold: a) x+x=x and x.x=x for all x in B b) x+1=1 and 0.x=0 for all x in B c) x+(xy)=x and x.(x+y)=x for all x and y in B Proof: a) x = x+0 Identity laws = x+xx’ Complementation laws = (x+x).(x+x’) because + is distributive over . = (x+x).1 Complementation laws = x+x Identity laws x = x.1 Identity laws = x.(x+x’) Complementation laws = x.x +x.x’ because + is distributive over . -
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. -
Logic and Proof
Logic and Proof Computer Science Tripos Part IB Michaelmas Term Lawrence C Paulson Computer Laboratory University of Cambridge [email protected] Copyright c 2007 by Lawrence C. Paulson Contents 1 Introduction and Learning Guide 1 2 Propositional Logic 3 3 Proof Systems for Propositional Logic 13 4 First-order Logic 20 5 Formal Reasoning in First-Order Logic 27 6 Clause Methods for Propositional Logic 33 7 Skolem Functions and Herbrand’s Theorem 41 8 Unification 50 9 Applications of Unification 58 10 BDDs, or Binary Decision Diagrams 65 11 Modal Logics 68 12 Tableaux-Based Methods 74 i ii 1 1 Introduction and Learning Guide This course gives a brief introduction to logic, with including the resolution method of theorem-proving and its relation to the programming language Prolog. Formal logic is used for specifying and verifying computer systems and (some- times) for representing knowledge in Artificial Intelligence programs. The course should help you with Prolog for AI and its treatment of logic should be helpful for understanding other theoretical courses. Try to avoid getting bogged down in the details of how the various proof methods work, since you must also acquire an intuitive feel for logical reasoning. The most suitable course text is this book: Michael Huth and Mark Ryan, Logic in Computer Science: Modelling and Reasoning about Systems, 2nd edition (CUP, 2004) It costs £35. It covers most aspects of this course with the exception of resolution theorem proving. It includes material (symbolic model checking) that should be useful for Specification and Verification II next year. -
Solving QBF by Combining Conjunctive and Disjunctive Normal Forms
Solving QBF with Combined Conjunctive and Disjunctive Normal Form Lintao Zhang Microsoft Research Silicon Valley Lab 1065 La Avenida, Mountain View, CA 94043, USA [email protected] Abstract of QBF solvers have been proposed based on a number of Similar to most state-of-the-art Boolean Satisfiability (SAT) different underlying principles such as Davis-Logemann- solvers, all contemporary Quantified Boolean Formula Loveland (DLL) search (Cadoli et al., 1998, Giunchiglia et (QBF) solvers require inputs to be in the Conjunctive al. 2002a, Zhang & Malik, 2002, Letz, 2002), resolution Normal Form (CNF). Most of them also store the QBF in and expansion (Biere 2004), Binary Decision Diagrams CNF internally for reasoning. In order to use these solvers, (Pan & Vardi, 2005) and symbolic Skolemization arbitrary Boolean formulas have to be transformed into (Benedetti, 2004). Unfortunately, unlike the SAT solvers, equi-satisfiable formulas in Conjunctive Normal Form by which enjoy huge success in solving problems generated introducing additional variables. In this paper, we point out from real world applications, QBF solvers are still only an inherent limitation of this approach, namely the able to tackle trivial problems and remain limited in their asymmetric treatment of satisfactions and conflicts. This deficiency leads to artificial increase of search space for usefulness in practice. QBF solving. To overcome the limitation, we propose to Even though the current QBF solvers are based on many transform a Boolean formula into a combination of an equi- different reasoning principles, they all require the input satisfiable CNF formula and an equi-tautological DNF QBF to be in Conjunctive Normal Form (CNF). -
Transformation of Boolean Expression Into Disjunctive Or Conjunctive Normal Form
Central European Researchers Journal, Vol.3 Issue 1 Transformation of Boolean Expression into Disjunctive or Conjunctive Normal Form Patrik Rusnak Abstract—Reliability is an important characteristic of many systems. One of the current issues of reliability analysis is investigation of systems that are composed of many components. Structure of such systems can be defined in the form of a Boolean function. A Boolean function can be expressed in several ways. One of them is a symbolic expression. Several types of symbolic representations of Boolean functions exist. The most commonly known are disjunctive and conjunctive normal forms. These forms are often used not only in reliability analysis but also in other fields, such as game theory or logic design. Therefore, it is very important to have software that is able to transform any kind of Boolean expression into one of these normal forms. In this paper, an algorithm that allows such transformation is presented. Keywords—reliability, Boolean function, normal forms. I. INTRODUCTION Investigation of system reliability is a complex problem consisting of many steps. One of them is creation of a model of the system. Since the system is usually composed of several components, a special map defining the dependency between operation of the components and operation of the system has to be known. This map is known as structure function and, for a system consisting of 푛 components, it has the following form [1]: 푛 휙(푥1, 푥2, … , 푥푛) = 휙(풙): {0,1} → {0,1}, (1) where set {0,1} is a set of possible states at which the components and the system can operate (state 1 means that the component/system is functioning while state 0 agrees with a failure of the component/system), 푥푖 is a variable defining state of the 푖-th system component, for 푖 = 1,2, … , 푛, and 풙 = (푥1, 푥2, … , 푥푛) is a vector of components states (state vector). -
Lecture 4 1 Overview 2 Propositional Logic
COMPSCI 230: Discrete Mathematics for Computer Science January 23, 2019 Lecture 4 Lecturer: Debmalya Panigrahi Scribe: Kevin Sun 1 Overview In this lecture, we give an introduction to propositional logic, which is the mathematical formaliza- tion of logical relationships. We also discuss the disjunctive and conjunctive normal forms, how to convert formulas to each form, and conclude with a fundamental problem in computer science known as the satisfiability problem. 2 Propositional Logic Until now, we have seen examples of different proofs by primarily drawing from simple statements in number theory. Now we will establish the fundamentals of writing formal proofs by reasoning about logical statements. Throughout this section, we will maintain a running analogy of propositional logic with the system of arithmetic with which we are already familiar. In general, capital letters (e.g., A, B, C) represent propositional variables, while lowercase letters (e.g., x, y, z) represent arithmetic variables. But what is a propositional variable? A propositional variable is the basic unit of propositional logic. Recall that in arithmetic, the variable x is a placeholder for any real number, such as 7, 0.5, or −3. In propositional logic, the variable A is a placeholder for any truth value. While x has (infinitely) many possible values, there are only two possible values of A: True (denoted T) and False (denoted F). Since propositional variables can only take one of two possible values, they are also known as Boolean variables, named after their inventor George Boole. By letting x denote any real number, we can make claims like “x2 − 1 = (x + 1)(x − 1)” regardless of the numerical value of x. -
Conjunctive Normal Form Algorithm
Conjunctive Normal Form Algorithm Profitless Tracy predetermine his swag contaminated lowest. Alcibiadean and thawed Ricky never jaunts atomistically when Gerrit misuse his fifers. Indented Sayres douses insubordinately. The free legal or the subscription can be canceled anytime by unsubscribing in of account settings. Again maybe the limiting case an atom standing alone counts as an ec By a conjunctive normal form CNF I honor a formula of coherent form perform A. These are conjunctions of algorithms performed bcp at the conjunction of multilingual mode allows you signed in f has chosen symbolic logic normals forms. At this gist in the normalizer does not be solved in. You signed in research another tab or window. The conjunctive normal form understanding has a conjunctive normal form, and is a hence can decide the entire clause has constant length of sat solver can we identify four basic step that there some or. This avoids confusion later in the decision problem is being constructed by introducing features of the idea behind clause over a literal a gender gap in. Minimizing Disjunctive Normal Forms of conduct First-Order Logic. Given a CNF formula F and two variables x x appearing in F x is fluid on x and vice. Definition 4 A CNF conjunctive normal form formulas is a logical AND of. This problem customer also be tagged as pertaining to complexity. A stable efficient algorithm for applying the resolution rule down the Davis- Putnam. On the complexity of scrutiny and multicomniodity flow problems. Some inference routines in some things, we do not identically vanish identically vanish identically vanish identically vanish identically can think about that all three are conjunctions. -
Logic and Computation – CS 2800 Fall 2019
Logic and Computation – CS 2800 Fall 2019 Lecture 12 Propositional logic continued CNF, DNF, complete Boolean bases Stavros Tripakis Discuss homework 02 survey • How many courses are you taking? • How many hours per course would you like to be spending, ideally? — Including everything: attending lectures, reading, homeworks, projects, piazza, … • How many of those hours on homework? Tripakis Logic and Computation, Fall 2019 2 Outline • Properties of Boolean operators: read and assimilate Section 3.3 of lecture notes! • Normal forms, DNF and CNF • Complete Boolean bases Tripakis Logic and Computation, Fall 2019 3 Properties of Boolean operators • Review lecture notes, section 3.3 Tripakis Logic and Computation, Fall 2019 4 Normal forms, CNF, DNF Tripakis Logic and Computation, Fall 2019 5 Negation Normal Form (NNF) • “Push” all negations all the way to the leaves of the syntax tree of the formula (literals) • Eliminate double negations • Examples: Tripakis Logic and Computation, Fall 2019 6 Negation Normal Form (NNF) • “Push” all negations all the way to the leaves of the syntax tree of the formula (literals) • Eliminate double negations • Examples: Tripakis Logic and Computation, Fall 2019 7 Disjunctive Normal Form (DNF) • A formula is in DNF if it is a disjunction of conjunctions of literals • Literal = either a variable or a negated variable • Examples: which formulas below are in DNF? Tripakis Logic and Computation, Fall 2019 8 Conjunctive Normal Form (CNF) • A formula is in CNF if it is a conjunction of disjunctions of literals • A disjunction of literals is also called a clause • Examples: which formulas below are in CNF? Tripakis Logic and Computation, Fall 2019 9 Can we transform any Boolean formula into DNF? • Yes • Brute‐force method: 1. -
Propositional Logic: Conjunctive Normal Form & Disjunctive Normal Form
CS2209A 2017 Applied Logic for Computer Science Lecture 8, 9 Propositional Logic: Conjunctive Normal Form & Disjunctive Normal Form Instructor: Yu Zhen Xie 1 Conjunctive Normal Form (CNF) • Resolution works best when the formula is of the special form: it is an ∧ of ∨s of (possibly negated, ¬) variables (called literals ). • This form is called a Conjunctive Normal Form, or CNF . – is a CNF – ( ) is a CNF. So is . – is not a CNF • An AND () of CNF formulas is a CNF formula . – So if all premises are CNF and the negation of the conclusion is a CNF, then AND of premises AND NOT conclusion is a CNF. 2 CNF • To convert a formula into a CNF. – Open up the implications to get ORs. – Get rid of double negations. – Convert to //distributivity • Example: → ( ) ( ) • In general, CNF can become quite big, especially when have . There are tricks to avoid that ... 3 Boolean functions and circuits • What is the relation between propositional logic and logic circuits ? – View a formula as computing a function (called a Boolean function ), • inputs are values of variables, • output is either true (1) or false (0) . – For example, ,, = when at least two out of , , are true, and false otherwise. – Such a function is fully described by a truth table of its formula (or its circuit: circuits have truth tables too). 4 Boolean functions and circuits • What is the relation between propositional logic and logic circuits ? – So both formulas and circuits “compute” Boolean functions – that is, truth tables . – In a circuit, can “ reuse ” a piece in several places, so a circuit can be smaller than a formula . -
Logic in Computer Science Chapter 7
Logic in Computer Science Chapter 7 Antonina Kolokolova January 31, 2014 7.1 Normal forms of propositional formulas. Any formula has an equivalent one in a normal form. In computer science, the two normal forms we are interested in are conjunctive normal form (CNF) and disjunctive normal form (DNF). The first one is a ^ of _s, where _ is over variables or their negations (literals), the second is a _ of ^s of literals. A _ of literals is also called a clause, and a ^ of literals a term. Example 1. •: p, x, s are examples of literals, whereas ::p or (x _ y) is not a literal • (x _:y _ z), (:p) are clauses, • (x ^ :y ^ z), (:p) are terms. • (x _:z _ y) ^ (:x _:y) ^ (:y) is a CNF. • (x ^ z) _ (:y ^ z ^ x) _ (:x ^ z) is a DNF. • (x ^ :(y _ z) _ u) is neither a CNF nor a DNF, but it is equivalent to the following DNF: (x ^ :y ^ :z) _ u. Why do we need CNFs and DNFs? Other than the fact that they are convenient normal forms, they are very useful for constricting formulas given a truth table. In particular, DNFs can be constructed from truth table by taking a disjunction (that is, _) of all satisfying truth assignments and CNFs by taking a conjunction (^) of negations of falsifying truth assignments Example 2. Recall the truth table for (p ! q) ^ q ! p. Suppose that you are given just the first two and the last column. How do you construct a formula that would have such a truth table? 20 Let us start by constructing a DNF formula. -
Equivalence and Normal Forms 1 Equational Reasoning
Logic and Proof Hilary 2016 Equivalence and Normal Forms James Worrell 1 Equational Reasoning A \brute-force" method to show that two formulas are logically equivalent is to use truth tables. In this lecture we introduce an alternative approach that is more practical in many cases, namely equational reasoning. The idea is to start from some basic equivalences (the Boolean algebra axioms) and derive new equivalences using the closure of logical equivalence under substitution. 1.1 Boolean Algebra Axioms Proposition 1. The following equivalences hold for all formulas F , G and H: F ^ F ≡ F F _ F ≡ F (Idempotence) F ^ G ≡ G ^ F F _ G ≡ G _ F (Commutativity) (F ^ G) ^ H ≡ F ^ (G ^ H) (F _ G) _ H ≡ F _ (G _ H) (Associativity) F ^ (F _ G) ≡ F F _ (F ^ G) ≡ F (Absorption) F ^ (G _ H) ≡ (F ^ G) _ (F ^ H) F _ (G ^ H) ≡ (F _ G) ^ (F _ H) (Distributivity) ::F ≡ F (Double negation) :(F ^ G) ≡ (:F _:G) :(F _ G) ≡ (:F ^ :G) (De Morgan's Laws) F _:F ≡ true F ^ :F ≡ false (Complementation) F _ true ≡ true F ^ false ≡ false (Zero Laws) F _ false ≡ F F ^ true ≡ F (Identity Laws) Proof. These can all be shown using truth tables. Notice that the Boolean algebra axioms come in pairs: the equivalences in each pair are dual to each other in the sense that one is obtained from the other by by interchanging _ and ^ and interchanging true and false. Exercise 2. Given a formula F , define the De Morgan dual F by induction as follows.