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} 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 (xy)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.
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.