CSE 311: Foundations of Computing. Lecture 6: More Predicate Logic

Similar documents
cse 311: foundations of computing Fall 2015 Lecture 6: Predicate Logic, Logical Inference

Adam Blank Spring 2017 CSE 311. Foundations of Computing I

x P(x) x P(x) CSE 311: Foundations of Computing announcements last time: quantifiers, review: logical Inference Fall 2013 Lecture 7: Proofs

CSE 311: Foundations of Computing. Lecture 7: Logical Inference

About the course. CSE 321 Discrete Structures. Why this material is important. Topic List. Propositional Logic. Administration. From the CSE catalog:

Predicate Calculus lecture 1

Today. Proof using contrapositive. Compound Propositions. Manipulating Propositions. Tautology

Section Summary. Section 1.5 9/9/2014

Predicate Logic. CSE 191, Class Note 02: Predicate Logic Computer Sci & Eng Dept SUNY Buffalo

PREDICATE LOGIC. Schaum's outline chapter 4 Rosen chapter 1. September 11, ioc.pdf

COMP 182 Algorithmic Thinking. Proofs. Luay Nakhleh Computer Science Rice University

Formal Logic: Quantifiers, Predicates, and Validity. CS 130 Discrete Structures

Supplementary Logic Notes CSE 321 Winter 2009

Sample Problems for all sections of CMSC250, Midterm 1 Fall 2014

MAT2345 Discrete Math

Propositional Logic Not Enough

EECS 1028 M: Discrete Mathematics for Engineers

Discrete Mathematics and Its Applications

3. The Logic of Quantified Statements Summary. Aaron Tan August 2017

Predicate Logic. Andreas Klappenecker

Propositional and Predicate Logic

Lecture 3 : Predicates and Sets DRAFT

3/29/2017. Logic. Propositions and logical operations. Main concepts: propositions truth values propositional variables logical operations

Proposi'onal Logic Not Enough

Propositional and Predicate Logic

CSCE 222 Discrete Structures for Computing. Predicate Logic. Dr. Hyunyoung Lee. !!!!! Based on slides by Andreas Klappenecker

Logic Overview, I. and T T T T F F F T F F F F

Logic. Propositional Logic: Syntax. Wffs

Review. Propositional Logic. Propositions atomic and compound. Operators: negation, and, or, xor, implies, biconditional.

2/2/2018. CS 103 Discrete Structures. Chapter 1. Propositional Logic. Chapter 1.1. Propositional Logic

Examples: P: it is not the case that P. P Q: P or Q P Q: P implies Q (if P then Q) Typical formula:

Mat 243 Exam 1 Review

CS100: DISCRETE STRUCTURES. Lecture 5: Logic (Ch1)

Logic, Sets, and Proofs

ECOM Discrete Mathematics

Why Learning Logic? Logic. Propositional Logic. Compound Propositions

Review. Propositions, propositional operators, truth tables. Logical Equivalences. Tautologies & contradictions

Logic and Proofs. (A brief summary)

First order Logic ( Predicate Logic) and Methods of Proof

Discrete Mathematics & Mathematical Reasoning Predicates, Quantifiers and Proof Techniques

Tools for reasoning: Logic. Ch. 1: Introduction to Propositional Logic Truth values, truth tables Boolean logic: Implications:

Logic. Propositional Logic: Syntax

CS1021. Why logic? Logic about inference or argument. Start from assumptions or axioms. Make deductions according to rules of reasoning.

ICS141: Discrete Mathematics for Computer Science I

Logical Operators. Conjunction Disjunction Negation Exclusive Or Implication Biconditional

Conjunction: p q is true if both p, q are true, and false if at least one of p, q is false. The truth table for conjunction is as follows.

Predicate Calculus - Syntax

Manual of Logical Style

A. Propositional Logic

Discrete Structures CRN Test 3 Version 1 CMSC 2123 Autumn 2013

Logic. Logic is a discipline that studies the principles and methods used in correct reasoning. It includes:

02 Propositional Logic

COMP 2600: Formal Methods for Software Engineeing

Logic: The Big Picture

Today s Lecture. ICS 6B Boolean Algebra & Logic. Predicates. Chapter 1: Section 1.3. Propositions. For Example. Socrates is Mortal

CSE 20: Discrete Mathematics

CSE Discrete Structures

Introduction to Sets and Logic (MATH 1190)

Predicates, Quantifiers and Nested Quantifiers

Quantifiers Here is a (true) statement about real numbers: Every real number is either rational or irrational.

Logic and Proof. Aiichiro Nakano

CITS2211 Discrete Structures Proofs

2-4: The Use of Quantifiers

Unit I LOGIC AND PROOFS. B. Thilaka Applied Mathematics

MCS-236: Graph Theory Handout #A4 San Skulrattanakulchai Gustavus Adolphus College Sep 15, Methods of Proof

1 The Foundation: Logic and Proofs

Part I: Propositional Calculus

software design & management Gachon University Chulyun Kim

CPSC 121: Models of Computation. Module 6: Rewriting predicate logic statements

Math.3336: Discrete Mathematics. Nested Quantifiers/Rules of Inference

Predicate Logic - Deductive Systems

1.1 Statements and Compound Statements

Mathematical Logic Part Two

Computational Logic. Recall of First-Order Logic. Damiano Zanardini

1 The Foundation: Logic and Proofs

Packet #2: Set Theory & Predicate Calculus. Applied Discrete Mathematics

Propositional Logic. Spring Propositional Logic Spring / 32

CS 220: Discrete Structures and their Applications. Predicate Logic Section in zybooks

MATH 22 INFERENCE & QUANTIFICATION. Lecture F: 9/18/2003

Transparencies to accompany Rosen, Discrete Mathematics and Its Applications Section 1.3. Section 1.3 Predicates and Quantifiers

Predicate Logic & Quantification

Propositional Logic: Syntax

Discrete Mathematics and Probability Theory Spring 2014 Anant Sahai Note 1

Argument. whenever all the assumptions are true, then the conclusion is true. If today is Wednesday, then yesterday is Tuesday. Today is Wednesday.

MATH 2001 MIDTERM EXAM 1 SOLUTION

Math.3336: Discrete Mathematics. Nested Quantifiers

Thinking of Nested Quantification

Chapter 16. Logic Programming. Topics. Logic Programming. Logic Programming Paradigm

Proofs: A General How To II. Rules of Inference. Rules of Inference Modus Ponens. Rules of Inference Addition. Rules of Inference Conjunction

Stanford University CS103: Math for Computer Science Handout LN9 Luca Trevisan April 25, 2014

Example ( x.(p(x) Q(x))) ( x.p(x) x.q(x)) premise. 2. ( x.(p(x) Q(x))) -elim, 1 3. ( x.p(x) x.q(x)) -elim, x. P(x) x.

Inference and Proofs (1.6 & 1.7)

Logic and Proof. On my first day of school my parents dropped me off at the wrong nursery. There I was...surrounded by trees and bushes!

Propositional and First-Order Logic

CSE 311: Foundations of Computing. Lecture 2: More Logic, Equivalence & Digital Circuits

Proofs. Introduction II. Notes. Notes. Notes. Slides by Christopher M. Bourke Instructor: Berthe Y. Choueiry. Fall 2007

1.1 Language and Logic

Announcements. CS311H: Discrete Mathematics. Introduction to First-Order Logic. A Motivating Example. Why First-Order Logic?

COMP9414: Artificial Intelligence First-Order Logic

Discrete Structures for Computer Science

Transcription:

CSE 311: Foundations of Computing Lecture 6: More Predicate Logic

Last class: Predicates Predicate A function that returns a truth value, e.g., Cat(x) ::= x is a cat Prime(x) ::= x is prime HasTaken(x, y) ::= student x has taken course y LessThan(x, y) ::= x < y Sum(x, y, z) ::= x + y = z GreaterThan5(x) ::= x > 5 HasNChars(s, n) ::= string s has length n Predicates can have varying numbers of arguments and input types.

Last class: Domain of Discourse For ease of use, we define one type / domain that we work over. This set of objects is called the domain of discourse. For each of the following, what might the domain be? (1) x is a cat, x barks, x ruined my couch (2) x is prime, x = 0, x < 0, x is a power of two (3) x is a pre-req for z

Domain of Discourse For ease of use, we define one type / domain that we work over. This set of objects is called the domain of discourse. For each of the following, what might the domain be? (1) x is a cat, x barks, x ruined my couch mammals or sentient beings or cats and dogs or (2) x is prime, x = 0, x < 0, x is a power of two numbers or integers or integers greater than 5 or (3) x is a pre-req for z courses

Last Class: Quantifiers We use quantifiers to talk about collections of objects. x P(x) P(x) is true for every x in the domain read as for all x, P of x x P(x) There is an x in the domain for which P(x) is true read as there exists x, P of x

Last class: Statements with Quantifiers Domain of Discourse Positive Integers Predicate Definitions Even(x) ::= x is even Odd(x) ::= x is odd Prime(x) ::= x is prime Determine the truth values of each of these statements: x Even(x) x Odd(x) x (Even(x) Odd(x)) x (Even(x) Odd(x)) x Greater(x+1, x) x (Even(x) Prime(x)) Greater(x, y) ::= x > y Equal(x, y) ::= x = y Sum(x, y, z) ::= x + y = z

Statements with Quantifiers Domain of Discourse Positive Integers Predicate Definitions Even(x) ::= x is even Odd(x) ::= x is odd Prime(x) ::= x is prime Determine the truth values of each of these statements: Greater(x, y) ::= x > y Equal(x, y) ::= x = y Sum(x, y, z) ::= x + y = z x Even(x) x Odd(x) x (Even(x) Odd(x)) x (Even(x) Odd(x)) x Greater(x+1, x) x (Even(x) Prime(x)) T e.g. 2, 4, 6,... F e.g. 2, 4, 6,... T every integer is either even or odd F no integer is both even and odd T adding 1 makes a bigger number T Even(2) is true and Prime(2) is true

Statements with Quantifiers Domain of Discourse Positive Integers Predicate Definitions Even(x) ::= x is even Odd(x) ::= x is odd Prime(x) ::= x is prime Translate the following statements to English Greater(x, y) ::= x > y Equal(x, y) ::= x = y Sum(x, y, z) ::= x + y = z x y Greater(y, x) x y Greater(x, y) x y (Greater(y, x) Prime(y)) x (Prime(x) (Equal(x, 2) Odd(x))) x y (Sum(x, 2, y) Prime(x) Prime(y))

Statements with Quantifiers (Literal Translations) Domain of Discourse Positive Integers Predicate Definitions Even(x) ::= x is even Odd(x) ::= x is odd Prime(x) ::= x is prime Translate the following statements to English Greater(x, y) ::= x > y Equal(x, y) ::= x = y Sum(x, y, z) ::= x + y = z x y Greater(y, x) For every positive integer x, there is a positive integer y, such that y > x. x y Greater(x, y) For every positive integer x, there is a positive integer y, such that x > y. x y (Greater(y, x) Prime(y)) For every positive integer x, there is a pos. int. y such that y > x and y is prime. x (Prime(x) (Equal(x, 2) Odd(x))) For each positive integer x, if x is prime, then x = 2 or x is odd. x y (Sum(x, 2, y) Prime(x) Prime(y)) There exist positive integers x and y such that x + 2 = y and x and y are prime.

Statements with Quantifiers (Natural Translations) Domain of Discourse Positive Integers Predicate Definitions Even(x) ::= x is even Odd(x) ::= x is odd Prime(x) ::= x is prime Translate the following statements to English Greater(x, y) ::= x > y Equal(x, y) ::= x = y Sum(x, y, z) ::= x + y = z x y Greater(y, x) There is no greatest integer. x y Greater(x, y) There is no least integer. x y (Greater(y, x) Prime(y)) For every positive integer there is a larger number that is prime. x (Prime(x) (Equal(x, 2) Odd(x))) Every prime number is either 2 or odd. x y (Sum(x, 2, y) Prime(x) Prime(y)) There exist prime numbers that differ by two.

English to Predicate Logic Domain of Discourse Mammals Predicate Definitions Cat(x) ::= x is a cat Red(x) ::= x is red LikesTofu(x) ::= x likes tofu Red cats like tofu Some red cats don t like tofu

English to Predicate Logic Domain of Discourse Mammals Predicate Definitions Cat(x) ::= x is a cat Red(x) ::= x is red LikesTofu(x) ::= x likes tofu Red cats like tofu x ((Red(x) Cat(x)) LikesTofu(x)) Some red cats don t like tofu y ((Red(y) Cat(y)) LikesTofu(y))

English to Predicate Logic Domain of Discourse Mammals Red cats like tofu When there s no leading quantification, it means for all. Some red cats don t like tofu Predicate Definitions Cat(x) ::= x is a cat Red(x) ::= x is red LikesTofu(x) ::= x likes tofu When putting two predicates together like this, we use an and. When restricting to a smaller domain in a for all we use implication. When restricting to a smaller domain in an exists we use and. Some means there exists.

Negations of Quantifiers Predicate Definitions PurpleFruit(x) ::= x is a purple fruit (*) x PurpleFruit(x) ( All fruits are purple ) What is the negation of (*)? (a) there exists a purple fruit (b) there exists a non-purple fruit (c) all fruits are not purple Try your intuition! Which one feels right? Key Idea: In every domain, exactly one of a statement and its negation should be true.

Negations of Quantifiers Predicate Definitions PurpleFruit(x) ::= x is a purple fruit (*) x PurpleFruit(x) ( All fruits are purple ) What is the negation of (*)? (a) there exists a purple fruit (b) there exists a non-purple fruit (c) all fruits are not purple Key Idea: In every domain, exactly one of a statement and its negation should be true. Domain of Discourse {plum} Domain of Discourse {apple} Domain of Discourse {plum, apple} (*), (a) (b), (c) (a), (b)

Negations of Quantifiers Predicate Definitions PurpleFruit(x) ::= x is a purple fruit (*) x PurpleFruit(x) ( All fruits are purple ) What is the negation of (*)? (a) there exists a purple fruit (b) there exists a non-purple fruit (c) all fruits are not purple Key Idea: In every domain, exactly one of a statement and its negation should be true. Domain of Discourse {plum} Domain of Discourse {apple} Domain of Discourse {plum, apple} (*), (a) (b), (c) (a), (b) The only choice that ensures exactly one of the statement and its negation is (b).

De Morgan s Laws for Quantifiers x P(x) x P(x) x P(x) x P(x)

De Morgan s Laws for Quantifiers x P(x) x P(x) x P(x) x P(x) There is no largest integer x y ( x y) x y ( x y) x y ( x y) x y (y > x) For every integer there is a larger integer

Scope of Quantifiers x (P(x) Q(x)) vs. x P(x) x Q(x)

scope of quantifiers x (P(x) Q(x)) vs. xp(x) xq(x) This one asserts P and Q of the same x. This one asserts P and Q of potentially different x s.

Scope of Quantifiers Example: NotLargest(x) y Greater (y, x) z Greater (z, x) truth value: doesn t depend on y or z bound variables does depend on x free variable quantifiers only act on free variables of the formula they quantify x( y(p(x,y) xq(y, x)))

Quantifier Style x( y(p(x,y) xq(y, x))) This isn t wrong, it s just horrible style. Don t confuse your reader by using the same variable multiple times there are a lot of letters

Nested Quantifiers Bound variable names don t matter x y P(x, y) a b P(a, b) Positions of quantifiers can sometimes change x (Q(x) yp(x, y)) x y(q(x) P(x, y)) But: order is important...

Quantifier Order Can Matter Domain of Discourse Integers OR {1, 2, 3, 4} Predicate Definitions GreaterEq(x, y) ::= x y There is a number greater than or equal to all numbers. x y GreaterEq(x, y))) Every number has a number greater than or equal to it. y x GreaterEq(x, y))) x 1 2 3 4 y 1 2 3 4 T F F F T T F F T T T F T T T T The purple statement requires an entire row to be true. The red statement requires one entry in each column to be true.

Quantification with Two Variables expression when true when false x y P(x, y) Every pair is true. At least one pair is false. x y P(x, y) At least one pair is true. All pairs are false. x y P(x, y) Wecan find a specific y for each x. (x 1, y 1 ), (x 2, y 2 ), (x 3, y 3 ) y x P(x, y) Wecan find ONE y that works no matter what x is. (x 1, y), (x 2, y), (x 3, y) Some x doesn t have a corresponding y. For any candidate y, there is an x that it doesn t work for.

Logical Inference So far we ve considered: How to understand and express things using propositional and predicate logic How to compute using Boolean (propositional) logic How to show that different ways of expressing or computing them are equivalent to each other Logic also has methods that let us infer implied properties from ones that we know Equivalence is a small part of this

Applications of Logical Inference Software Engineering Express desired properties of program as set of logical constraints Use inference rules to show that program implies that those constraints are satisfied Artificial Intelligence Automated reasoning Algorithm design and analysis e.g., Correctness, Loop invariants. Logic Programming, e.g. Prolog Express desired outcome as set of constraints Automatically apply logic inference to derive solution

Proofs Start with hypotheses and facts Use rules of inference to extend set of facts Result is proved when it is included in the set

An inference rule: Modus Ponens If p and p q are both true then q must be true Write this rule as p, p q q Given: If it is Monday then you have a 311 class today. It is Monday. Therefore, by Modus Ponens: You have a 311 class today.

My First Proof! Show that r follows from p, p q, and q r 1. p Given 2. p q Given 3. q r Given 4. 5.

My First Proof! Show that r follows from p, p q, and q r 1. p Given 2. p q Given 3. q r Given 4. q MP: 1, 2 5. r MP: 3, 4

Proofs can use equivalences too Show that p follows from p q and q 1. p q Given 2. q Given 3. q p Contrapositive: 1 4. p MP: 2, 3

Inference Rules Each inference rule is written as:...which means that if both A and B are true then you can infer C and you can infer D. For rule to be correct (A B) C and (A B) D must be a tautologies A, B C,D Sometimes rules don t need anything to start with. These rules are called axioms: e.g. Excluded Middle Axiom p p

Simple Propositional Inference Rules Excluded middle plus two inference rules per binary connective, one to eliminate it and one to introduce it p q p, q p q, p q p, p q q p, q p q p x p q, q p p q p q Direct Proof Rule Not like other rules

Proofs Show that r follows from p, p q and (p q) r How To Start: We have givens, find the ones that go together and use them. Now, treat new things as givens, and repeat. p, p q q p q p, q p, q p q

Proofs Show that follows from,, and Two visuals of the same proof. We will use the top one, but if the bottom one helps you think about it, that s great! MP Intro MP 1. Given 2. Given 3. MP: 1, 2 4. Intro : 1, 3 5. Given 6. MP: 4, 5

Important: Applications of Inference Rules You can use equivalences to make substitutions of any sub-formula. Inference rules only can be applied to whole formulas (not correct otherwise). e.g. 1. p q given 2. (p r) q intro from 1. Does not follow! e.g. p=f, q=f, r=t