Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS203 Discrete Mathematical Structures Logic (2).

Similar presentations


Presentation on theme: "CS203 Discrete Mathematical Structures Logic (2)."— Presentation transcript:

1 CS203 Discrete Mathematical Structures Logic (2)

2 Predicate Logic - everybody loves somebody Proposition, YES or NO? 3 + 2 = 5 X + 2 = 5 X + 2 = 5 for any choice of X in {1, 2, 3} X + 2 = 5 for some X in {1, 2, 3} YESNO YES

3 Predicates Ahmed eats pizza at least once a week. Define: EP(x) = “x eats pizza at least once a week.” Universe of Discourse - x is a student in CS203 A predicate is a function that takes some variable(s) as arguments and returns True or False. Note that EP(x) is not a proposition, EP(Hassan) is. …

4 Predicates A predicate is a property or description of subjects in the universe of discourse. The following predicates are all italicized : –Johnny is tall. –The bridge is structurally sound. –17 is a prime number. Java: predicates are boolean- valued method calls- –someLinkedList.isEmpty() –isPrime(17)

5 Quantifiers There are two quantifiers Existential Quantifier “  ” reads “ there exists ” Universal Quantifier “  ” reads “ for all ” Each is placed in front of a propositional function and binds it to obtain a proposition with semantic value.

6 Predicates - the universal quantifier Suppose P(x) is a predicate on some universe of discourse. Ex. B(x) = “x is carrying a backpack,” x is set of CS203 students. The universal quantifier of P(x) is the proposition: “P(x) is true for all x in the universe of discourse.” We write it  x P(x), and say “for all x, P(x)”  x P(x) is TRUE if P(x) is true for every single x.  x P(x) is FALSE if there is an x for which P(x) is false.  x B(x)?

7 Predicates - the existential quantifier Suppose P(x) is a predicate on some universe of discourse. Ex. C(x) = “x has a cat,” x is set of CS203 students. The existential quantifier of P(x) is the proposition: “P(x) is true for some x in the universe of discourse.” We write it  x P(x), and say “for some x, P(x)”  x P(x) is TRUE if there is an x for which P(x) is true.  x P(x) is FALSE if P(x) is false for every single x.  x C(x)?

8 Predicates - the existential quantifier B(x) = “x is wearing sneakers.” L(x) = “x is at least 16 years old.” Y(x)= “x is less than 24 years old.” Are either of these propositions true? a)  x B(x) b)  x (Y(x)  L(x)) A: only a is true B: only b is true C: both are true D: neither is true Universe of discourse is people in this room.

9 Predicates - more examples Universe of discourse is all creatures. L(x) = “x is a lion.” F(x) = “x is fierce.” C(x) = “x drinks coffee.” All lions are fierce. Some lions don’t drink coffee. Some fierce creatures don’t drink coffee.  x (L(x)  F(x))  x (L(x)   C(x))  x (F(x)   C(x))

10 Predicates - more examples Universe of discourse is all creatures. B(x) = “x is a hummingbird.” L(x) = “x is a large bird.” H(x) = “x lives on honey.” R(x) = “x is richly colored.” All hummingbirds are richly colored. No large birds live on honey. Birds that do not live on honey are dully colored.  x (B(x)  R(x))  x (L(x)  H(x))  x (  H(x)   R(x))

11 Fundamentals of Logic The Use of Quantifiers Ex x=4 x=1 x=5,6,... x=-1 universe: real numbers

12 Predicates - the universal quantifier B(x) = “x is wearing sneakers.” L(x) = “x is at least 18 years old.” Y(x)= “x is less than 24 years old.” Are either of these propositions true? a)  x (Y(x)  B(x)) b)  x (Y(x)  L(x)) A: only a is true B: only b is true C: both are true D: neither is true Universe of discourse is people in this Hall.

13 Predicates - quantifier negation Not all large birds live on honey.  x P(x) means “P(x) is true for every x.” What about  x P(x) ? Not [“P(x) is true for every x.”] “There is an x for which P(x) is not true.”  x  P(x) So,  x P(x) is the same as  x  P(x).  x (L(x)  H(x))  x  (L(x)  H(x))

14 Predicates - quantifier negation No large birds live on honey.  x P(x) means “P(x) is true for some x.” What about  x P(x) ? Not [“P(x) is true for some x.”] “P(x) is not true for all x.”  x  P(x) So,  x P(x) is the same as  x  P(x).  x (L(x)  H(x))  x  (L(x)  H(x))

15 Predicates - quantifier negation So,  x P(x) is the same as  x  P(x). So,  x P(x) is the same as  x  P(x). General rule: to negate a quantifier, move negation to the right, changing quantifiers as you go.

16 Fundamentals of Logic Ex. p(x): x is odd. q(x): x 2 -1 is even. Negate (If x is odd, then x 2 -1 is even.) There exists an integer x such that x is odd and x 2 -1 is odd. (a false statement, the original is true)

17 Predicates - quantifier negation No large birds live on honey.  x (L(x)  H(x))   x  (L(x)  H(x))Negation rule   x (  L(x)   H(x))DeMorgan’s   x (L(x)   H(x))Subst for  What’s wrong with this proof?

18 Fundamentals of Logic multiple variables

19 Fundamentals of Logic BUT Ex. p(x,y): x+y=17. : For every integer x, there exists an integer y such that x+y=17. (TRUE) : There exists an integer y so that for all integer x, x+y=17. (FALSE) Therefore,

20 20 Order matters Set the universe of discourse to be all natural numbers {0, 1, 2, 3, … }. Let R (x,y ) = “ x < y ”. Q1: What does  x  y R (x,y ) mean? Q2: What does  y  x R (x,y ) mean?

21 21 Order matters R (x,y ) = “ x < y ” A1:  x  y R (x,y ): “ All numbers x admit a bigger number y ” A2:  y  x R (x,y ): “ Some number y is bigger than all x ” Q: What ’ s the true value of each expression?

22 More Practice for Predicate Logic Nermin likes all movies that Rehab likes (and possibly more).  x [Movie(x)  Likes(Rehab, x)  Likes(Nermin, x)] There is exactly one AU professor who won a Nobel prize  x[AU_Prof(x)  Wins(x, NobelPrize)]   y,z[y  z  AU_Prof(y)  AU_Prof(z)  Wins(y, NobelPrize)  Wins(z, NobelPrize)]

23 23 Review of Boolean algebra Not is a horizontal bar above the number –0 = 1 –1 = 0 Or is a plus –0+0 = 0 –0+1 = 1 –1+0 = 1 –1+1 = 1 And is multiplication –0*0 = 0 –0*1 = 0 –1*0 = 0 –1*1 = 1

24 NOT A A’ or -A Logic Gate: (also called an inverter) Single-throw Double-pole Switch: A A-A 01 10 Truth Table: A’ or -A Y = ~X Y = !X Y = not X Y = X’ not(Y,X)

25 AND A B A*B Logic Gate: Series Circuit: ABABA*B000 010 100 111Truth Table: A*B

26 X & Y (Verilog and ABEL) X and Y (VHDL) X Y X * Y XY(textbook) and(Z,X,Y)(Verilog) AND U V

27 A B A+B Logic Gate: Parallel Circuit: A B ABA+B 000 011 101 111 Truth Table: A+B OR

28 X | Y(Verilog) X # Y(ABEL) X or Y(VHDL) X + Y(textbook) X V Y X U Y or(Z,X,Y) (Verilog)

29 NAND Gate NAND X Y Z X Y Z 0 0 1 0 1 1 1 0 1 1 1 0 Z = ~(X & Y) nand(Z,X,Y)

30 NOR Gate NOR X Y Z X Y Z 0 0 1 0 1 0 1 0 0 1 1 0 Z = ~(X | Y) nor(Z,X,Y)

31 Exclusive-OR Gate X Y Z XOR X Y Z 0 0 0 0 1 1 1 0 1 1 1 0 Z = X ^ Y xor(Z,X,Y)

32 XOR X ^ Y(Verilog) X $ Y(ABEL) X @ Y xor(Z,X,Y) (Verilog)

33 Logic Circuits ≡ Boolean Expressions All logic circuits are equivalent to Boolean expressions and any boolean expression can be rendered as a logic circuit. AND-OR logic circuits are equivalent to sum-of-products form. Consider the following circuits: A C B abc aBc Ab y=abc+aBc+Ab y A B C Y y=aB+Bc

34 34 question Find the output of the following circuit Answer: (x+y)y –Or (x  y)  y x+yx+y y (x+y)y(x+y)y__

35 question Write the circuits for the following Boolean algebraic expressions (x+y)x _______ x+yx+y x+yx+y (x+y)x(x+y)x

36 36 Draw a circuit diagram for  = (xy' + x'y)z.

37 37

38 38

39 Let’s compare the resulting circuits Here are two different but equivalent circuits. In general the one with fewer gates is “better”: –It costs less to build –It requires less power –But we had to do some work to find the second form


Download ppt "CS203 Discrete Mathematical Structures Logic (2)."

Similar presentations


Ads by Google