1 Predicates and Quantifiers CS 202, Spring 2007 Epp, Sections 2.1 and 2.2 Aaron Bloomfield.

Slides:



Advertisements
Similar presentations
Nested Quantifiers Needed to express statements with multiple variables Example 1: “x+y = y+x for all real numbers”  x  y(x+y = y+x) where the domains.
Advertisements

Chapter 1, Part II: Predicate Logic With Question/Answer Animations.
Section 1.3. More Logical Equivalences Constructing New Logical Equivalences We can show that two expressions are logically equivalent by developing.
Chapter 1: The Foundations: Logic and Proofs 1.1 Propositional Logic 1.2 Propositional Equivalences 1.3 Predicates and Quantifiers 1.4 Nested Quantifiers.
Predicates and Quantifiers
© by Kenneth H. Rosen, Discrete Mathematics & its Applications, Sixth Edition, Mc Graw-Hill, 2007 Chapter 1: (Part 2): The Foundations: Logic and Proofs.
22C:19 Discrete Structures Logic and Proof Spring 2014 Sukumar Ghosh.
CSE 311 Foundations of Computing I Lecture 6 Predicate Logic Autumn 2011 CSE 3111.
Predicate Logic and Quantifies
CS 202 Rosen section 1.5 Aaron Bloomfield
Predicates and Quantifiers
Section 1.3: Predicates and Quantifiers
Predicates and Quantifiers
Chapter 1: The Foundations: Logic and Proofs
CSci 2011 Discrete Mathematics Lecture 3 CSci 2011.
The Foundations: Logic and Proofs
Logical Equivalence & Predicate Logic
Formal Logic Mathematical Structures for Computer Science Chapter Copyright © 2006 W.H. Freeman & Co.MSCS SlidesFormal Logic.
CS 103 Discrete Structures Lecture 05
1 Predicates and Quantifiers CS/APMA 202, Spring 2005 Rosen, section 1.3 Aaron Bloomfield.
1 Basic Proof Methods I Basic Proof Methods II Proofs Involving Quantifiers.
1 Methods of Proof. 2 Consider (p  (p→q)) → q pqp→q p  (p→q)) (p  (p→q)) → q TTTTT TFFFT FTTFT FFTFT.
Section 1.5. Section Summary Nested Quantifiers Order of Quantifiers Translating from Nested Quantifiers into English Translating Mathematical Statements.
Chapter 1, Part II: Predicate Logic With Question/Answer Animations.
Chapter 1, Part II With Question/Answer Animations Copyright © McGraw-Hill Education. All rights reserved. No reproduction or distribution without the.
First Order Logic Lecture 2: Sep 9. This Lecture Last time we talked about propositional logic, a logic on simple statements. This time we will talk about.
Chapter 1, Part II: Predicate Logic With Question/Answer Animations.
Chapter 1, Part II: Predicate Logic With Question/Answer Animations 1.
Lecture 1.2: Equivalences, and Predicate Logic* CS 250, Discrete Structures, Fall 2011 Nitesh Saxena *Adopted from previous lectures by Cinda Heeren, Zeph.
Section Predicates & Quantifiers. Open Statement 2 x > 8 p < q -5 x = y + 6 Neither true nor false.
Discrete Mathematics. Predicates - the universal quantifier 11/28/2015 Suppose P(x) is a predicate on some universe of discourse. Ex. B(x) = “x is carrying.
(CSC 102) Lecture 8 Discrete Structures. Previous Lectures Summary Predicates Set Notation Universal and Existential Statement Translating between formal.
Predicates and Quantified Statements
Nested Quantifiers Section 1.5.
CompSci 102 Discrete Math for Computer Science January 24, 2012 Prof. Rodger Slides modified from Rosen.
1 Sections 1.3 and 1.4 Predicates & Quantifiers. 2 Propositional Functions In a mathematical assertion, such as x < 3, there are two parts: –the subject,
1 Introduction to Abstract Mathematics Predicate Logic Instructor: Hayk Melikya Purpose of Section: To introduce predicate logic (or.
Chapter 1, Part II: Predicate Logic With Question/Answer Animations 1.
1 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Lecture 02: QUANTIFIERS Sections 1.3 and 1.4 Jarek Rossignac CS1050:
Lecture Predicates and Quantifiers 1.4 Nested Quantifiers.
Fall 2008/2009 I. Arwa Linjawi & I. Asma’a Ashenkity 1 The Foundations: Logic and Proofs Predicates and Quantifiers.
Discrete Structures – CNS 2300
Chapter 2 Symbolic Logic. Section 2-1 Truth, Equivalence and Implication.
CS 285- Discrete Mathematics Lecture 4. Section 1.3 Predicate logic Predicate logic is an extension of propositional logic that permits concisely reasoning.
Discrete Structures Predicate Logic 1 Dr. Muhammad Humayoun Assistant Professor COMSATS Institute of Computer Science, Lahore.
1 Course Summary CS 202 Aaron Bloomfield. 2 Outline A review of the proof methods gone over in class Interspersed with the most popular demotivators from.
1 CMSC 250 Chapter 2, Predicate Logic. 2 CMSC 250 Definitions l Subject / predicate John / went to the store. The sky / is blue. l Propositional logic-
CSci 2011 Recap ^Propositional operation summary not andorconditionalBi-conditional pq ppqqpqpqpqpqpqpqpqpq TTFFTTTT TFFTFTFF FTTFFTTF FFTTFFTT.
Predicate Logic One step stronger than propositional logic Copyright © Curt Hill.
CSci 2011 Discrete Mathematics Lecture 4 CSci 2011.
321 Section, Week 2 Natalie Linnell. Extra Credit problem.
1 Outline Quantifiers and predicates Translation of English sentences Predicate formulas with single variable Predicate formulas involving multiple variables.
Mathematics for Comter I Lecture 3: Logic (2) Propositional Equivalences Predicates and Quantifiers.
1 Introduction to Abstract Mathematics Chapter 3: The Logic of Quantified Statements. Predicate Calculus Instructor: Hayk Melikya 3.1.
Section 1.4. Propositional Functions Propositional functions become propositions (and have truth values) when their variables are each replaced by a value.
Section 1.5. Section Summary Nested Quantifiers Order of Quantifiers Translating from Nested Quantifiers into English Translating Mathematical Statements.
CSci 2011 Discrete Mathematics Lecture 5 CSci 2011.
Chapter 1, Part II: Predicate Logic With Question/Answer Animations 1.
رياضيات متقطعة لعلوم الحاسب MATH 226. Chapter 1 Predicates and Quantifiers 1.4.
In this slide set… Rules of inference for propositions
Chapter 1 The Foundations: Logic and Proofs
The Foundations: Logic and Proofs
CS201: Data Structures and Discrete Mathematics I
CS 220: Discrete Structures and their Applications
Nested Quantifiers Nested quantifiers are often necessary to express the meaning of sentences in English as well as important concepts in computer science.
Information Technology Department SKN-SITS,Lonavala.
Predicates and Quantifiers
The Foundations: Logic and Proofs
CS201: Data Structures and Discrete Mathematics I
Presentation transcript:

1 Predicates and Quantifiers CS 202, Spring 2007 Epp, Sections 2.1 and 2.2 Aaron Bloomfield

2 Terminology review Proposition: a statement that is either true or false –Must always be one or the other! –Example: “The sky is red” –Not a proposition: x + 3 > 4 Boolean variable: A variable (usually p, q, r, etc.) that represents a proposition

3 Propositional functions Consider P(x) = x < 5 –P(x) has no truth values (x is not given a value) –P(1) is true The proposition 1<5 is true –P(10) is false The proposition 10<5 is false Thus, P(x) will create a proposition when given a value

4 Propositional functions 2 Let P(x) = “x is a multiple of 5” –For what values of x is P(x) true? Let P(x) = x+1 > x –For what values of x is P(x) true? Let P(x) = x + 3 –For what values of x is P(x) true?

5 Anatomy of a propositional function P(x) = x + 5 > x variablepredicate

6 Propositional functions 3 Functions with multiple variables: –P(x,y) = x + y == 0 P(1,2) is false, P(1,-1) is true –P(x,y,z) = x + y == z P(3,4,5) is false, P(1,2,3) is true –P(x 1,x 2,x 3 … x n ) = …

7 So, why do we care about quantifiers? Many things (in this course and beyond) are specified using quantifiers –In some cases, it’s a more accurate way to describe things than Boolean propositions

8 Quantifiers A quantifier is “an operator that limits the variables of a proposition” Two types: –Universal –Existential

9 Universal quantifiers 1 Represented by an upside-down A:  –It means “for all” –Let P(x) = x+1 > x We can state the following: –  x P(x) –English translation: “for all values of x, P(x) is true” –English translation: “for all values of x, x+1>x is true”

10 Universal quantifiers 2 But is that always true? –  x P(x) Let x = the character ‘a’ –Is ‘a’+1 > ‘a’? Let x = the state of Virginia –Is Virginia+1 > Virginia? You need to specify your universe! –What values x can represent –Called the “domain” or “universe of discourse” by the textbook

11 Universal quantifiers 3 Let the universe be the real numbers. –Then,  x P(x) is true Let P(x) = x/2 < x –Not true for the negative numbers! –Thus,  x P(x) is false When the domain is all the real numbers In order to prove that a universal quantification is true, it must be shown for ALL cases In order to prove that a universal quantification is false, it must be shown to be false for only ONE case

12 Universal quantification 4 Given some propositional function P(x) And values in the universe x 1.. x n The universal quantification  x P(x) implies: P(x 1 )  P(x 2 )  …  P(x n )

13 Universal quantification 5 Think of  as a for loop:  x P(x), where 1 ≤ x ≤ 10 … can be translated as … for ( x = 1; x <= 10; x++ ) is P(x) true? If P(x) is true for all parts of the for loop, then  x P(x) –Consequently, if P(x) is false for any one value of the for loop, then  x P(x) is false

14 Existential quantification 1 Represented by an bacwards E:  –It means “there exists” –Let P(x) = x+1 > x We can state the following: –  x P(x) –English translation: “there exists (a value of) x such that P(x) is true” –English translation: “for at least one value of x, x+1>x is true”

15 Existential quantification 2 Note that you still have to specify your universe –If the universe we are talking about is all the states in the US, then  x P(x) is not true Let P(x) = x+1 < x –There is no numerical value x for which x+1<x –Thus,  x P(x) is false

16 Existential quantification 3 Let P(x) = x+1 > x –There is a numerical value for which x+1>x In fact, it’s true for all of the values of x! –Thus,  x P(x) is true In order to show an existential quantification is true, you only have to find ONE value In order to show an existential quantification is false, you have to show it’s false for ALL values

17 Existential quantification 4 Given some propositional function P(x) And values in the universe x 1.. x n The existential quantification  x P(x) implies: P(x 1 )  P(x 2 )  …  P(x n )

18 A note on quantifiers Recall that P(x) is a propositional function –Let P(x) be “x == 0” Recall that a proposition is a statement that is either true or false –P(x) is not a proposition There are two ways to make a propositional function into a proposition: –Supply it with a value For example, P(5) is false, P(0) is true –Provide a quantifiaction For example,  x P(x) is false and  x P(x) is true –Let the universe of discourse be the real numbers

19 End of lecture on 26 January 2007

20 Binding variables Let P(x,y) be x > y Consider:  x P(x,y) –This is not a proposition! –What is y? If it’s 5, then  x P(x,y) is false If it’s x-1, then  x P(x,y) is true Note that y is not “bound” by a quantifier

21 Binding variables 2 (  x P(x))  Q(x) –The x in Q(x) is not bound; thus not a proposition (  x P(x))  (  x Q(x)) –Both x values are bound; thus it is a proposition (  x P(x)  Q(x))  (  y R(y)) –All variables are bound; thus it is a proposition (  x P(x)  Q(y))  (  y R(y)) –The y in Q(y) is not bound; this not a proposition

22 Negating quantifications Consider the statement: –All students in this class have red hair What is required to show the statement is false? –There exists a student in this class that does NOT have red hair To negate a universal quantification: –You negate the propositional function –AND you change to an existential quantification –¬  x P(x) =  x ¬P(x)

23 Negating quantifications 2 Consider the statement: –There is a student in this class with red hair What is required to show the statement is false? –All students in this class do not have red hair Thus, to negate an existential quantification: –Tou negate the propositional function –AND you change to a universal quantification –¬  x P(x) =  x ¬P(x)

24 Translating from English Consider “For every student in this class, that student has studied calculus” Rephrased: “For every student x in this class, x has studied calculus” –Let C(x) be “x has studied calculus” –Let S(x) be “x is a student”  x C(x) –True if the universe of discourse is all students in this class

25 Translating from English 2 What about if the unvierse of discourse is all students (or all people?) –  x (S(x)  C(x)) This is wrong! Why? –  x (S(x)→C(x)) Another option: –Let Q(x,y) be “x has stuided y” –  x (S(x)→Q(x, calculus))

26 Translating from English 3 Consider: –“Some students have visited Mexico” –“Every student in this class has visited Canada or Mexico” Let: –S(x) be “x is a student in this class” –M(x) be “x has visited Mexico” –C(x) be “x has visited Canada”

27 Translating from English 4 Consider: “Some students have visited Mexico” –Rephrasing: “There exists a student who has visited Mexico”  x M(x) –True if the universe of discourse is all students What about if the universe of discourse is all people? –  x (S(x) → M(x)) This is wrong! Why? –  x (S(x)  M(x))

28 Translating from English 5 Consider: “Every student in this class has visited Canada or Mexico”  x (M(x)  C(x) –When the universe of discourse is all students  x (S(x)→(M(x)  C(x)) –When the universe of discourse is all people Why isn’t  x (S(x)  (M(x)  C(x))) correct?

29 Translating from English 6 Note that it would be easier to define V(x, y) as “x has visited y” –  x (S(x)  V(x,Mexico)) –  x (S(x)→(V(x,Mexico)  V(x,Canada))

30 Translating from English 7 Translate the statements: –“All hummingbirds are richly colored” –“No large birds live on honey” –“Birds that do not live on honey are dull in color” –“Hummingbirds are small” Assign our propositional functions –Let P(x) be “x is a hummingbird” –Let Q(x) be “x is large” –Let R(x) be “x lives on honey” –Let S(x) be “x is richly colored” Let our universe of discourse be all birds

31 Translating from English 8 Our propositional functions –Let P(x) be “x is a hummingbird” –Let Q(x) be “x is large” –Let R(x) be “x lives on honey” –Let S(x) be “x is richly colored” Translate the statements: –“All hummingbirds are richly colored”  x (P(x)→S(x)) –“No large birds live on honey” ¬  x (Q(x)  R(x)) Alternatively:  x (¬Q(x)  ¬R(x)) –“Birds that do not live on honey are dull in color”  x (¬R(x) → ¬S(x)) –“Hummingbirds are small”  x (P(x) → ¬Q(x))

32 Prolog A programming language using logic! Entering facts: instructor (bloomfield, cs202) enrolled (alice, cs202) enrolled (bob, cs202) enrolled (claire, cs202) Entering predicates: teaches (P,S) :- instructor (P,C), enrolled (S,C) Extracting data ?enrolled (alice, cs202) Result: yes

33 Prolog 2 Extracting data ?enrolled (X, cs202) Result: alice bob claire Extracting data ?teaches (X, alice) Result: bloomfield

34 Multiple quantifiers You can have multiple quantifiers on a statement  x  y P(x, y) –“For all x, there exists a y such that P(x,y)” –Example:  x  y (x+y == 0)  x  y P(x,y) –There exists an x such that for all y P(x,y) is true” –Example:  x  y (x*y == 0)

35 Order of quantifiers  x  y and  x  y are not equivalent!  x  y P(x,y) –P(x,y) = (x+y == 0) is false  x  y P(x,y) –P(x,y) = (x+y == 0) is true

36 Negating multiple quantifiers Recall negation rules for single quantifiers: –¬  x P(x) =  x ¬P(x) –¬  x P(x) =  x ¬P(x) –Essentially, you change the quantifier(s), and negate what it’s quantifying Examples: –¬(  x  y P(x,y)) =  x ¬  y P(x,y) =  x  y ¬P(x,y) –¬(  x  y  z P(x,y,z)) =  x¬  y  z P(x,y,z) =  x  y¬  z P(x,y,z) =  x  y  z ¬P(x,y,z)

37 End of lecture on 29 January 2007

38 Negating multiple quantifiers 2 Consider ¬(  x  y P(x,y)) =  x  y ¬P(x,y) –The left side is saying “for all x, there exists a y such that P is true” –To disprove it (negate it), you need to show that “there exists an x such that for all y, P is false” Consider ¬(  x  y P(x,y)) =  x  y ¬P(x,y) –The left side is saying “there exists an x such that for all y, P is true” –To disprove it (negate it), you need to show that “for all x, there exists a y such that P is false”

39 Translating between English and quantifiers The product of two negative integers is positive –  x  y ((x 0)) –Why conditional instead of and? The average of two positive integers is positive –  x  y ((x>0)  (y>0) → ((x+y)/2 > 0)) The difference of two negative integers is not necessarily negative –  x  y ((x<0)  (y<0)  (x-y≥0)) –Why and instead of conditional? The absolute value of the sum of two integers does not exceed the sum of the absolute values of these integers –  x  y (|x+y| ≤ |x| + |y|)

40 Translating between English and quantifiers  x  y (x+y = y) –There exists an additive identity for all real numbers  x  y (((x≥0)  (y 0)) –A non-negative number minus a negative number is greater than zero  x  y (((x≤0)  (y≤0))  (x-y > 0)) –The difference between two non-positive numbers is not necessarily non-positive (i.e. can be positive)  x  y (((x≠0)  (y≠0)) ↔ (xy ≠ 0)) –The product of two non-zero numbers is non-zero if and only if both factors are non-zero

41 Negation examples Rewrite these statements so that the negations only appear within the predicates a)  y  x P(x,y)  y  x P(x,y)  y  x  P(x,y) b)  x  y P(x,y)  x  y P(x,y)  x  y  P(x,y) c)  y (Q(y)   x  R(x,y))  y  (Q(y)   x  R(x,y))  y (  Q(y)   (  x  R(x,y)))  y (  Q(y)   x R(x,y))

42 Negation examples Express the negations of each of these statements so that all negation symbols immediately precede predicates. a)  x  y  z T(x,y,z)  (  x  y  z T(x,y,z))  x  y  z T(x,y,z)  x  y  z T(x,y,z)  x  y  z T(x,y,z)  x  y  z  T(x,y,z) b)  x  y P(x,y)   x  y Q(x,y)  (  x  y P(x,y)   x  y Q(x,y))  x  y P(x,y)   x  y Q(x,y)  x  y P(x,y)   x  y Q(x,y)  x  y  P(x,y)   x  y  Q(x,y)

43 Rules of inference for the universal quantifier Assume that we know that  x P(x) is true –Then we can conclude that P(c) is true Here c stands for some specific constant –This is called “universal instantiation” Assume that we know that P(c) is true for any value of c –Then we can conclude that  x P(x) is true –This is called “universal generalization”

44 Rules of inference for the existential quantifier Assume that we know that  x P(x) is true –Then we can conclude that P(c) is true for some value of c –This is called “existential instantiation” Assume that we know that P(c) is true for some value of c –Then we can conclude that  x P(x) is true –This is called “existential generalization”

45 Example of proof Given the hypotheses: –“Linda, a student in this class, owns a red convertible.” –“Everybody who owns a red convertible has gotten at least one speeding ticket” Can you conclude: “Somebody in this class has gotten a speeding ticket”? C(Linda) R(Linda)  x (R(x)→T(x))  x (C(x)  T(x))

46 Example of proof 1.  x (R(x)→T(x))3 rd hypothesis 2.R(Linda) → T(Linda)Universal instantiation using step 1 3.R(Linda)2 nd hypothesis 4.T(Linda)Modes ponens using steps 2 & 3 5.C(Linda)1 st hypothesis 6.C(Linda)  T(Linda)Conjunction using steps 4 & 5 7.  x (C(x)  T(x))Existential generalization using step 6 Thus, we have shown that “Somebody in this class has gotten a speeding ticket”

47 Example of proof Given the hypotheses: –“There is someone in this class who has been to France” –“Everyone who goes to France visits the Louvre” Can you conclude: “Someone in this class has visited the Louvre”?  x (C(x)  F(x))  x (F(x)→L(x))  x (C(x)  L(x))

48 Example of proof 1.  x (C(x)  F(x))1 st hypothesis 2.C(y)  F(y)Existential instantiation using step 1 3.F(y)Simplification using step 2 4.C(y)Simplification using step 2 5.  x (F(x)→L(x))2 nd hypothesis 6.F(y) → L(y)Universal instantiation using step 5 7.L(y)Modus ponens using steps 3 & 6 8.C(y)  L(y)Conjunction using steps 4 & 7 9.  x (C(x)  L(x))Existential generalization using step 8 Thus, we have shown that “Someone in this class has visited the Louvre”