Propositional Logic: [2Ex] Conjunctive Normal Forms, Disjunctive Normal

Total Page:16

File Type:pdf, Size:1020Kb

Propositional Logic: [2Ex] Conjunctive Normal Forms, Disjunctive Normal CS 511, Fall 2018, Handout 06 Propositional Logic: Conjunctive Normal Forms, Disjunctive Normal Forms, Horn Formulas, and other special forms Assaf Kfoury 10 September 2018 (adjusted 25 September 2018) Assaf Kfoury, CS 511, Fall 2018, Handout 06 page 1 of 29 CNF L ::= p j :p literal D ::= L j L _ D disjunction 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 511, Fall 2018, Handout 06 page 2 of 29 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 disjunction of literals C ::= D j D ^ C conjunction of disjunctions Assaf Kfoury, CS 511, Fall 2018, Handout 06 page 3 of 29 conjunctive normal form & disjunctive normal form CNF L ::= p j :p literal D ::= L j L _ D disjunction 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 511, Fall 2018, Handout 06 page 4 of 29 I A disjunction of literals L1 _···_ Lm is valid (or a tautology) iff there are 1 6 i; j 6 m with i 6= j such that Li is :Lj. I A conjunction of disjunctions D1 ^ · · · ^ Dn is valid (or a tautology) iff for every 1 6 i 6 n it is the case that Di is valid. I CNF allows for a fast and easy syntactic test of validity. I Unfortunately, conversion into CNF may lead to exponential blow-up: (x1 ^ y1) _ (x2 ^ y2) _···_ (xn ^ yn) becomes (x1 _···_ xn−1 _ xn) ^ (x1 _···_ xn−1 _ yn) ^ · · · ^ (y1 _···_ yn−1 _ yn) i.e., the initial WFF of size O(n) becomes an equivalent WFF of size n O(2 ), because each clause in the latter contains either xi or yi for every i. I Converting a WFF into an equivalent WFF in CNF, preserving validity, is NP-hard! (However, converting a WFF into another WFF, not necessarily equivalent, preserving satisfiability can be carried out in linear time – more in a later handout.) Why CNF? Assaf Kfoury, CS 511, Fall 2018, Handout 06 page 5 of 29 I A conjunction of disjunctions D1 ^ · · · ^ Dn is valid (or a tautology) iff for every 1 6 i 6 n it is the case that Di is valid. I CNF allows for a fast and easy syntactic test of validity. I Unfortunately, conversion into CNF may lead to exponential blow-up: (x1 ^ y1) _ (x2 ^ y2) _···_ (xn ^ yn) becomes (x1 _···_ xn−1 _ xn) ^ (x1 _···_ xn−1 _ yn) ^ · · · ^ (y1 _···_ yn−1 _ yn) i.e., the initial WFF of size O(n) becomes an equivalent WFF of size n O(2 ), because each clause in the latter contains either xi or yi for every i. I Converting a WFF into an equivalent WFF in CNF, preserving validity, is NP-hard! (However, converting a WFF into another WFF, not necessarily equivalent, preserving satisfiability can be carried out in linear time – more in a later handout.) Why CNF? I A disjunction of literals L1 _···_ Lm is valid (or a tautology) iff there are 1 6 i; j 6 m with i 6= j such that Li is :Lj. Assaf Kfoury, CS 511, Fall 2018, Handout 06 page 6 of 29 I CNF allows for a fast and easy syntactic test of validity. I Unfortunately, conversion into CNF may lead to exponential blow-up: (x1 ^ y1) _ (x2 ^ y2) _···_ (xn ^ yn) becomes (x1 _···_ xn−1 _ xn) ^ (x1 _···_ xn−1 _ yn) ^ · · · ^ (y1 _···_ yn−1 _ yn) i.e., the initial WFF of size O(n) becomes an equivalent WFF of size n O(2 ), because each clause in the latter contains either xi or yi for every i. I Converting a WFF into an equivalent WFF in CNF, preserving validity, is NP-hard! (However, converting a WFF into another WFF, not necessarily equivalent, preserving satisfiability can be carried out in linear time – more in a later handout.) Why CNF? I A disjunction of literals L1 _···_ Lm is valid (or a tautology) iff there are 1 6 i; j 6 m with i 6= j such that Li is :Lj. I A conjunction of disjunctions D1 ^ · · · ^ Dn is valid (or a tautology) iff for every 1 6 i 6 n it is the case that Di is valid. Assaf Kfoury, CS 511, Fall 2018, Handout 06 page 7 of 29 I Unfortunately, conversion into CNF may lead to exponential blow-up: (x1 ^ y1) _ (x2 ^ y2) _···_ (xn ^ yn) becomes (x1 _···_ xn−1 _ xn) ^ (x1 _···_ xn−1 _ yn) ^ · · · ^ (y1 _···_ yn−1 _ yn) i.e., the initial WFF of size O(n) becomes an equivalent WFF of size n O(2 ), because each clause in the latter contains either xi or yi for every i. I Converting a WFF into an equivalent WFF in CNF, preserving validity, is NP-hard! (However, converting a WFF into another WFF, not necessarily equivalent, preserving satisfiability can be carried out in linear time – more in a later handout.) Why CNF? I A disjunction of literals L1 _···_ Lm is valid (or a tautology) iff there are 1 6 i; j 6 m with i 6= j such that Li is :Lj. I A conjunction of disjunctions D1 ^ · · · ^ Dn is valid (or a tautology) iff for every 1 6 i 6 n it is the case that Di is valid. I CNF allows for a fast and easy syntactic test of validity. Assaf Kfoury, CS 511, Fall 2018, Handout 06 page 8 of 29 Why CNF? I A disjunction of literals L1 _···_ Lm is valid (or a tautology) iff there are 1 6 i; j 6 m with i 6= j such that Li is :Lj. I A conjunction of disjunctions D1 ^ · · · ^ Dn is valid (or a tautology) iff for every 1 6 i 6 n it is the case that Di is valid. I CNF allows for a fast and easy syntactic test of validity. I Unfortunately, conversion into CNF may lead to exponential blow-up: (x1 ^ y1) _ (x2 ^ y2) _···_ (xn ^ yn) becomes (x1 _···_ xn−1 _ xn) ^ (x1 _···_ xn−1 _ yn) ^ · · · ^ (y1 _···_ yn−1 _ yn) i.e., the initial WFF of size O(n) becomes an equivalent WFF of size n O(2 ), because each clause in the latter contains either xi or yi for every i. I Converting a WFF into an equivalent WFF in CNF, preserving validity, is NP-hard! (However, converting a WFF into another WFF, not necessarily equivalent, preserving satisfiability can be carried out in linear time – more in a later handout.) Assaf Kfoury, CS 511, Fall 2018, Handout 06 page 9 of 29 I A conjunction of literals L1 ^ · · · ^ Lm is satisfiable iff fL1;:::; Lmg does not include both a propositional atom P and its negation :P. I A disjunction of conjunctions C1 _···_ Cn is satisfiable iff there is some 1 6 i 6 n such that Ci is satisfiable. I DNF allows for a fast and easy syntactic test of satisfiability. I Unfortunately, conversion into DNF may lead to exponential blow-up: (x1 _ y1) ^ (x2 _ y2) ^ · · · ^ (xn _ yn) becomes (x1 ^ · · · ^ xn−1 ^ xn) _ (x1 ^ · · · ^ xn−1 ^ yn) _···_ (y1 ^ · · · ^ yn−1 ^ yn) i.e., the initial WFF of size O(n) becomes an equivalent WFF of size n O(2 ), because each clause in the latter contains either xi or yi for every i. I Converting a WFF into an equivalent WFF in DNF, preserving satisfiability, is NP-hard! Why DNF? Assaf Kfoury, CS 511, Fall 2018, Handout 06 page 10 of 29 I A disjunction of conjunctions C1 _···_ Cn is satisfiable iff there is some 1 6 i 6 n such that Ci is satisfiable. I DNF allows for a fast and easy syntactic test of satisfiability. I Unfortunately, conversion into DNF may lead to exponential blow-up: (x1 _ y1) ^ (x2 _ y2) ^ · · · ^ (xn _ yn) becomes (x1 ^ · · · ^ xn−1 ^ xn) _ (x1 ^ · · · ^ xn−1 ^ yn) _···_ (y1 ^ · · · ^ yn−1 ^ yn) i.e., the initial WFF of size O(n) becomes an equivalent WFF of size n O(2 ), because each clause in the latter contains either xi or yi for every i. I Converting a WFF into an equivalent WFF in DNF, preserving satisfiability, is NP-hard! Why DNF? I A conjunction of literals L1 ^ · · · ^ Lm is satisfiable iff fL1;:::; Lmg does not include both a propositional atom P and its negation :P. Assaf Kfoury, CS 511, Fall 2018, Handout 06 page 11 of 29 I DNF allows for a fast and easy syntactic test of satisfiability. I Unfortunately, conversion into DNF may lead to exponential blow-up: (x1 _ y1) ^ (x2 _ y2) ^ · · · ^ (xn _ yn) becomes (x1 ^ · · · ^ xn−1 ^ xn) _ (x1 ^ · · · ^ xn−1 ^ yn) _···_ (y1 ^ · · · ^ yn−1 ^ yn) i.e., the initial WFF of size O(n) becomes an equivalent WFF of size n O(2 ), because each clause in the latter contains either xi or yi for every i.
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.
    [Show full text]
  • 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 .
    [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]
  • 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.
    [Show full text]
  • 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).
    [Show full text]
  • 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).
    [Show full text]
  • On Non-Canonical Solving the Satisfiability Problem
    On non-canonical solving the Satisfiability problem Anatoly D. Plotnikov Department of Social Informatics and Safety of Information Systems, Dalh East-Ukrainian National University, Luhansk, Ukraine Email: [email protected] Abstract We study the non-canonical method for solving the Satisfiability problem which given by a formula in the form of the conjunctive normal form. The essence of this method consists in counting the number of tuples of Boolean variables, on which at least one clause of the given formula is false. On this basis the solution of the problem obtains in the form YES or NO without constructing tuple, when the answer is YES. It is found that if the clause in the given formula has pairwise contrary literals, then the problem can be solved efficiently. However, when in the formula there are a long chain of clauses with pairwise non-contrary literals, the solution leads to an exponential calculations. Key words: Satisfiability problem, satisfying tuple, disjunction, clause, conjunction, NP- complete. 1 Introduction To uniquely understand used terminology in the article, we recall some definitions. n Suppose we have a two-element set E {0; 1} . The function f: E o E is called Boolean. n x,xx ,..., Every vector in E is considered as the tuple of values of variables 12 n of the function fx(,xx ,..., ) . 12 n A Boolean variable with negation or without negation is called literal. Literals x and x is called contrary. The conjunction of r (1 d r d n) different non-contrary literals, called elementary. Any Boolean function can be represented as a disjunction of some elementary conjunctions.
    [Show full text]
  • 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.
    [Show full text]
  • 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.
    [Show full text]
  • 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.
    [Show full text]
  • 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 .
    [Show full text]
  • 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.
    [Show full text]