Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.