Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS203 Discrete Mathematical Structures

Similar presentations


Presentation on theme: "CS203 Discrete Mathematical Structures"— 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} YES NO YES 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. Mnemonics:  -- reverse E signifies “there Exists”  -- upside-down A signifies “for All”

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
Universe of discourse is people in this room. 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? x B(x) x (Y(x)  L(x)) A: only a is true B: only b is true C: both are true D: neither is true

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
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. Universe of discourse is all creatures. x (B(x)  R(x)) x (L(x)  H(x)) x (H(x)  R(x))

11 Fundamentals of Logic The Use of Quantifiers Ex universe: real numbers

12 Predicates - the universal quantifier
Universe of discourse is people in this Hall. 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? x (Y(x)  B(x)) x (Y(x)  L(x)) A: only a is true B: only b is true C: both are true D: neither is true

13 Predicates - quantifier negation
x (L(x)  H(x)) 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))

14 Predicates - quantifier negation
x (L(x)  H(x)) 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))

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): x2-1 is even. Negate
(If x is odd, then x2-1 is even.) There exists an integer x such that x is odd and x2-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 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 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 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 Y = ~X Y = !X Y = not X Y = X’ not(Y,X) Logic Gate: A A’ or -A
(also called an inverter) A A’ or -A Truth Table: Single-throw Double-pole Switch: A A -A 1 A’ or -A Y = ~X Y = !X Y = not X Y = X’ not(Y,X)

25 AND A Logic Gate: A*B Truth Table: B A B A*B 1 A B Series Circuit: A*B

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

27 OR A Logic Gate: A+B Truth Table: B A B A+B 1 A Parallel Circuit: B
1 A Parallel Circuit: B A+B

28 OR 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 0 0 1 0 1 1 X 1 0 1 1 1 0 Z Y Z = ~(X & Y)
X Z Y Z = ~(X & Y) nand(Z,X,Y)

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

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

32 XOR X ^ Y (Verilog) X $ Y (ABEL) 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 y=aB+Bc abc B C A B C Y aBc y Ab y=abc+aBc+Ab

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

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

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

37

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

40


Download ppt "CS203 Discrete Mathematical Structures"

Similar presentations


Ads by Google