Upload
susanna-reynolds
View
309
Download
5
Embed Size (px)
Citation preview
3
What is Discrete Structure?
Discrete Objects Separated from each other (Opposite of
continuous) e.g., integers, people, house, Vs. Continuous objects: e.g., real number
Discrete Structures The abstract mathematical structures used to
represent discrete objects and relationships between the objects e.g. sets, relations, graphs
4
Why do we study Discrete Structures?
Information is stored and manipulated by computers in a discrete fashion. 0101101…
As a student in computer science major, you need to know the basic language and conceptual foundation for all of the computer science, i.e., Discrete Structures!
Discrete structure concepts are also widely used throughout math, science, engineering, economics, biology, etc., …
Get training for rational thought!
5
Uses of Discrete Structures in Computer Science
Networking Database Image Processing Programming Languages Compilers & Interpreters Software Engineering Artificial Intelligence Computer Architecture Operating Systems Security & Cryptography Advanced Algorithms & Data Structures Graphics & Animation ……
6
Logic Theory Fundamental Structures Proof Techniques Basics of Counting Graph Theory Discrete Probability
Text Books1. Discrete Mathematics and Its Applications, 7th
edition by Kenneth H. Rosen, McGraw Hill, 2007.
Tentative Syllabus & Text Book
Propositional Logic
Proposition: A proposition is a declarative statement ( a statement that declares a fact) that is either TRUE or FALSE, but not both.
The area of logic that deals with propositions is called propositional logic.
8
PropositionsNot Propositions
1. Riyadh is the capital of Saudi Arabia
1. How many students in this class?
2. Every cow has 4 legs.
2. Bring me coffee!
3. 3 + 2 = 324. 4 + 3 = 7
3. X + 2 = 34. Y + Z = X
Propositional Logic - Applications
9
We are using propositional logic as a foundation for formal proofs.
Propositional logic is also the key to writing good code…you can’t do any kind of conditional (if) statement without understanding the condition you’re testing.
All the logical connectives we will discuss are also found in hardware and are called “gates.”
Propositional Logic - Negation
10
We use letters to denote propositional variables Truth value of true proposition is denoted by T Truth value of false proposition is denoted by F Negation: Suppose p is a proposition. The
negation of p is written p and has meaning: “It is not the case that p.”
The proposition p is read “NOT p” Example: p: “Today is Friday”
p: “Today is NOT Friday” Truth table for negation: pp
FT
TF
Notice that p is a proposition!
Propositional Logic - Conjunction
11
Conjunction corresponds to English “and.” Conjunction: Let p and q be two propositions.
The conjunction of p and q, denoted by p q, is the proposition “p and q”. The p q is true when both p and q are true, otherwise false.
Example: p: “Today is Friday” q: “It is raining today”
p q: “Today is Friday and it is raining today”
Truth table for conjunction:pqp q
FFTT
FTFT
FFFT
Propositional Logic - Disjunction
12
Disjunction corresponds to English “or.” Disjunction: Let p and q be two propositions. The
disjunction of p and q, denoted by p q, is the proposition “p or q”. The p q is false when both p and q are false, otherwise true.
Example: p: “Today is Friday” q: “It is raining today” p q: “Today is Friday or it is raining today”
Truth table for disjunction: pqp q
FFTT
FTFT
FTTT
Propositional Logic – Exclusive Or
13
Exclusive Or: Let p and q be two propositions. The exclusive or of p and q, denoted by p ⊕ q, is the proposition that is true when exactly one of p and q is true, otherwise false.
Truth table for Exclusive Or: pqp ⊕ q
FFTT
FTFT
FTTF
Propositional Logic – Conditional Statement
14
It corresponds to English “if p then q” or “p implies q.”
Conditional: Let p and q be two propositions. The conditional statement (implication) p q is the proposition “if p, then q”. The conditional statement p q is false when p is true and q is false, otherwise true.
Example: If it is raining, then it is cloudy. If I am elected, then I will lower taxes. If you get 100% in the final, then you will get
Grade A+. Truth table for implication:
pqp q
FFTT
FTFT
TTFT
Propositional Logic - Special Definitions
15
Converse: q p is converse of p q.Ex.: p q: “If it is noon, then I am hungry.”
q p: “If I am hungry, then it is noon.”
Contrapositive: q p is contapositive of p q.Ex.: p q: “If it is noon, then I am hungry.”
q p: “If I am not hungry, then it is not noon.”
Inverse: p q is inverse of p q.Ex.: p q: “If it is noon, then I am hungry.”
p q: “If it is not noon, then I am not hungry.”p q has same truth values as q
p
Propositional Logic - Questions
16
Q1: Give some examples of p q, then tell what is q p q p p q
Q2: State the converse, contrapositive, and inverse of each of them If it rains today, then I will stay at home I come to class whenever there is going to be a
examination A positive integer is prime only if it has no divisors
other than 1 and itself.
Propositional Logic – Biconditional Statement
17
It corresponds to English “p if and only if q”. Biconditional: Let p and q be two propositions.
The biconditional statement (bi-implication) p ↔ q is the proposition “p if and only if q”. The biconditional statement p ↔ q is true when p and q have the same truth values, otherwise false.
p ↔ q has same truth value as (p q) (q p). Example: p: “You can take the flight”
q : “You buy a ticket”p ↔ q : “You can take the
flight if and only if you buy a ticket”
pqp ↔ q
FFTT
FTFT
TFFT
Propositional Logic – Precedence
18
Precedence of Logical Operators:
A compound proposition that is:(1) always true is called a tautology(2) always false is called a contradiction(3) neither a tautology nor a contradiction is called contingency or satisfiable.
OperatorPrecedenc
e
¬Λν→↔
12345
ppp p p p
FTTF
TFTF
Propositional Logic – Compound Propositions
pqqp qp q(p q) → (p q)
FTFT
FFTT
TTFF
TTFT
FFFT
FFTT
19
Construct truth table for (p q) → (p q).
Q3: Construct truth table for (p q) ↔ (p q). (p ⊕ q) → (p ⊕ q).
Propositional Equivalences – Logical Equivalences
pqp q(p q)pqp q
FTFT
FFTT
FTTT
TFFF
TFTF
TTFF
TFFF
20
Equivalence: The compound propositions p and q are logically equivalent if p↔q is a tautology. In other words, p and q are logically equivalent if their truth tables are the same. We write p q.
Example: (p q) p q. Truth tables for (p q) and p q :
Propositional Equivalences – Logical Equivalences
pqp q
pp q
FTFT
FFTT
TFTT
TFTF
TFTT
21
Example: p q p q. Truth tables for p q and p q:
Q4: Show that p (q r) (p q) (p r)
Propositional Equivalence – Prove the following Logical Equivalences
22
EquivalenceName
p Λ T p and p ν F pIdentity laws
p ν T T and p Λ F FDomination laws
p ν p p and p Λ p pIdempotent laws
¬( ¬ p) pDouble negation
law
p ν q q ν p and p Λ q q Λ pCommutative
laws
(p ν q) ν r p ν (q ν r) and (p Λ q) Λ r p Λ (q Λ r)
Associative laws
p (q r) (p q) (p r)p (q r) (p q) (p r) Distributive laws
¬(p ν q) ¬p Λ ¬q and ¬(p Λ q) ¬p ν ¬qDe Morgan’s laws
p (p q) p and p (p q) pAbsorption laws
p ν ¬p T and p Λ ¬p FNegation laws
Propositional Logic – Translating English Sentences
24
The sentence “The automated reply cannot be sent when the file system is full” can be translated as
q → pwhere p: “The automated reply can be sent ”
q: “The file system is full” The sentence “You cannot drive a car if you are
under 4 feet tall unless you are older than 16 years old” can be translated as
(q r) → pwhere p: “You can drive a car ”
q: “You are under 4 feet tall ” r: “You are older than 16 years old”
Propositional Logic – Translating English Sentences
25
The sentence “You can access the Internet from campus only if you are a computer science major or you are not a freshman” can be translated as
p → (q r)where p: “You can access the Internet from campus”
q: “You are a computer science major” r: “You are a freshman”
Q5: Translate the following sentences into logical expressions: “Access is granted whenever the user has
paid the subscription fee and enters a valid password”
“If the user has not entered a valid password but has paid the subscription fee, then access is granted”
Propositional Equivalences – Logic and Bit Operations
26
Bit: A bit is a symbol with two possible values, namely, 0 (zero) and 1 (one).
A bit can be used to represent a truth value as 1 for T and 0 for F
Bit string: A bit string is a sequence of bits. The length of the string is number of bits in the string.
Example: 10101001 is a bit string of length eight We define the bitwise OR, AND, and XOR of two
strings of same length to be the strings that have as their bits the OR, AND, and XOR of the corresponding bits in the two strings, respectively.
We use the symbols , , and ⊕ to represent bitwise OR, AND, and XOR, respectively.
Propositional Equivalences – Logic and Bit Operations
xyx yx yx ⊕
y
0011
0101
0111
0001
0110
27
Truth table for bitwise OR, AND, and XOR:
Q6: Find bitwise OR, AND, and XOR of the bit strings 01 0011 0100 and 10 1001 010100 1011 1010 and 11 1010 010111 0101 0110 and 10 1101 0010
Predicates and Quantifiers - Predicates
28
The statements “x > 3”, “x = y + 3”, and “computer x is functioning properly” are not propositions
This section discusses how proposition can be produced from such statements
The statement “x > 3” has two parts – the variables x, the subject of the statement is greater than 3, the predicate, the property
that the subject of the statement can have We denote P(x) = “x > 3”, where P denotes the
predicate “is greater than 3” and x is the variable
Once we assign a value to x, it becomes proposition
Predicates and Quantifiers - Predicates
29
Def: A predicate, or propositional function, is a function that takes some variable(s) as arguments and returns True or False.
Example: Let P(x) = “x > 3”, what are the truth values of P(2) and P(4)?
Sol: P(2) = “2 > 3” is false and P(4) = “4 > 3” is true
Example: Let Q(x, y) = “x = y + 3”, what are the truth values of Q(1, 2) and Q(3, 0)?
Sol: Q(1,2)= “1=2+3” is false, Q(3,0)= “3=0+3” is true
Def: A statement of the form P(x1, x2, …., xn) is the value of the propositional function P at the n-tuple (x1, x2, …., xn), and P is called n-ary predicate
Predicates and Quantifiers- Predicates
30
Example: Consider the statement if x > 0 then x := x + 1.
Here P(x) = “x > 0”. If P(x) is true for the value of x, then the assignment statement x := x + 1 is executed, x is increased by 1. If P(x) is false for the value of x, then the assignment statement is not executed, x remains same
The statements that describe valid input are known as preconditions, and the conditions that the output should satisfy when it has run are known as postconditions
Q7: Let R(x, y, z) = “x + y = z”, what are the truth values of R(1, 2, 3) and R(0, 0, 1)?
Predicates and Quantifiers - Quantifiers
31
Another way of changing a predicate into a proposition is called quantification
In English, the words all, some, many, none, and few are used in quantifications
Two types of quantifications:Universal quantifications – a predicate is true
for every element under considerationExistential quantifications – there is one or
more element under consideration for which predicate is true
The area of logic that deals with predicates and quantifiers is called predicate calculus
Predicates and Quantifiers – Universal Quantifiers
StatementWhen True?When False?x P(x)
x P(x)
P(x) is true for every x
There is an x for which P(x) is true
There is an x for which P(x) is falseP(x) is false for every x
32
Def: The universal quantification of P(x) is the statement “P(x) for all values of x in the domain”. The notation x P(x) denotes the universal quantification of P(x). Here is called universal quantifier. An element for which P(x) is false is called a counterexample of x P(x).
Quantifiers:
Predicates and Quantifiers – Universal Quantifiers
33
Example: Let P(x) = “x+1 > x”. What is the truth value of the quantification x P(x), where the domain consists of all real numbers?
Sol: Because P(x) is true for all real numbers x, the quantification x P(x) is true.
Example: Let Q(x) = “x < 2”. What is the truth value of the quantification x Q(x), where the domain consists of all real numbers?
Sol: Because Q(x) is not true for every real number x, because, for instance, Q(3) is false. That is, x=3 is a counterexample for the statement x Q(x).
Predicates and Quantifiers – Universal Quantifiers
34
Q8: Let P(x) = “x2 > 0”. What is the truth value of the quantification x P(x), where the domain consists of all real numbers?
Q9: Let Q(x) = “x2 < 10”. What is the truth value of the quantification x Q(x), where the domain consists of positive integers less than 4?
Q10: Let R(x) = “x2 ≥ x”. What is the truth value of the quantification x R(x), where the domain consists of all real numbers? What is the truth value of the quantification if the domain consists of all integers?
Predicates and Quantifiers – Existential Quantifiers
35
Def: The existential quantification of P(x) is the statement “There exists an element x in the domain such that P(x)”. The notation x P(x) denotes the existential quantification of P(x). Here is called existential quantifier.
Example: Let P(x) = “x > 3”. What is the truth value of the quantification x P(x), where the domain consists of all real numbers?
Sol: Because P(x) is sometimes true - for instance, when x=4 – the existential quantification of P(x), which is x P(x), is true.
Predicates and Quantifiers – Existential Quantifiers
36
Example: Let P(x) = “x = x+1”. What is the truth value of the quantification x P(x), where the domain consists of all real numbers?
Sol: Because P(x) is false for every real number x, the quantification x P(x) is false.
Q11: Let Q(x) = “x2 > 10”. What is the truth value of the quantification x Q(x), where the domain consists of positive integers not exceeding 4?
Q12: Let R(x) = “x2 ≥ x”. What is the truth value of the quantification x R(x), where the domain consists of all real numbers? What is the truth value of the quantification if the domain consists of all integers?
Predicates and Quantifiers – Translating English into Logical
Expression
37
Example: Express the statement “Every student in this class has studied calculus” using predicates and quantifiers.
Sol: We rewrite as “For every student in this class, the student has studied calculus”.=> “For every student x in this class, x has studied calculus”.Let P(x) = “x has studied calculus”, then our statement is represented by xP(x).
Q13: Express the statements “Some students in this class visited Dubai” and “Every student in this class has visited either Makkah or Madina” using predicates and quantifiers.
Predicates and Quantifiers – Quantifiers with Restricted Domain
38
Example: What do the statements x < 0(x2 > 0), y≠0(y3 ≠ 0), and z > 0(z2 = 2) mean, where the domain in each case consists of all real numbers?
Sol: The statement x < 0(x2 > 0) states that for every number x with x < 0, x2 > 0. That is, it states “The square of a negative real number is positive”. The statement is the same as x (x < 0 → x2 > 0).The statement y ≠ 0(y3 ≠ 0) states that for every real number y with y ≠ 0, we have y3 ≠ 0. That is, it states “The cube of every nonzero real is nonzero”. The statement is the same as y (y ≠ 0 → y3 ≠ 0).Finally, the statement z > 0(z2 = 2) states that there exist a real number z with z > 0 such that z2=2. That is, it states “There is positive square root of 2”. The statement is the same as z (z > 0 ⌃z2 = 2).
Predicates and Quantifiers – Quantifiers with Restricted Domain
39
Note: The restriction of a universal quantification is the same as the universal quantification of a conditional statement. For instance, x < 0(x2 > 0) is another way of expressing x (x < 0 → x2 > 0).
On the other hand, the restriction of an existential quantification is the same as the existential quantification of a conjunction. For instance, z>0(z2=2) can be expressed as z (z > 0 ⌃ z2 = 2).
Precedence of Quantifiers: The quantifiers and have higher precedence then all logical operators from propositional calculus. For example, xP(x) v Q(x) is the disjunction of xP(x) and Q(x). In other words, it means (xP(x)) v Q(x) rather than x (P(x) v Q(x))
Predicates and Quantifiers – Negating Quantified Expression
40
Example: x P(x) means “P(x) is true for every x”. What about x P(x) ?
Sol: 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 logically equivalent to x P(x). Example: x P(x) means “P(x) is true for some
x”. What about x P(x) ? Sol: 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 logically equivalent to x P(x).
Predicates and Quantifiers – Negating Quantified Expression
Negation
EquivalentStatement
When is Negation True?
When False?
x P(x)
x P(x)
x P(x)
x P(x)
For every x,P(x) is false
There is an x for which P(x) is false
There is an x for which P(x) is true
P(x) is true for every x
41
De Morgan’s laws for quantifiers:
Predicates and Quantifiers – Negating Quantified Expression
42
Example: What are the negations of the statements “There is a religious man” and “All Saudi eat Rice”?
Sol: Let P(x) = “x is a religious”, => “There is a religious man”= xP(x), where the domain consists of all menNow, xP(x) = xP(x) =“Every man is nonreligious”.Next, let Q(x) = “x eats Rice”=> “All Saudi eat Rice” = xQ(x), where the domain consists of all SaudiNow, xQ(x) = xQ(x) = “Some Saudi does not eat rice”.
Q14: What are the negations of the statements x (x2 > x) and x (x2 = 2)”?
Predicates and Quantifiers – Negating Quantified Expression
43
Example: Let L(x) = “x is a lion”, F(x) = “x is fierce”, and C(x) = “x drinks coffee”. Show the quantifiers for the statements (i) All lions are fierce, (ii) Some lions don’t drink coffee, (iii) Some fierce creatures don’t drink coffee.
Sol: (i) x (L(x) F(x)), ii) x (L(x) C(x)), and(iii) x (F(x) C(x))
Q15: Let B(x) = “x is a hummingbird”, L(x) = “x is a large bird”, H(x) = “x lives on honey”, and R(x) = “x is richly colored”. Show the quantifiers for the statements (i) All hummingbirds are richly colored, (ii) No large birds live on honey, (iii) Birds that do not live on honey are dully colored, and (iv) Not all large birds live on honey.
Predicates and Quantifiers – Logical Equivalences
44
Example: Show that x (P(x) Q(x)) and xP(x) x Q(x) are logically equivalent.
Sol: Let x (P(x) Q(x)) is true=> if a is in the domain, then P(a) Q(a) is true=> P(a) and Q(a) are true, for all a in the domain=> xP(x) and xQ(x) are true=> xP(x) xQ(x) is true So, they are logically equivalent.
Q16: Show that x(P(x)Q(x)) and x(P(x) Q(x)) are logically equivalent.
Nested Quantifiers – Definition
45
Def: Two quantifiers are said to be nested if one is within the scope of the other, such as
xy (x + y = 0) Note that xy (x + y = 0) is same as xQ(x),
where Q(x) is yP(x, y), where P(x, y) is x + y = 0.
Example: Assume that the domain for the variables x and y consists of all real numbers. The statement xy (x + y = y + x) says that x + y = y + x for all real numbers x
and y. This is commutative law for addition of real numbers.
Nested Quantifiers – Example
46
Example:Similarly, the statement
xy (x + y = 0) says that for every real number x there is a real number y such that x + y = 0. This states that every real number has an additive inverse.
Similarly, the statement xyz (x + (y + z) = (x + y) + z)
is associative law for addition of real numbers.
Nested Quantifiers – Order of Quantifiers
47
Example: Let P(x, y) be the statement “x + y = y + x”. What are the truth values of the quantifications xyP(x, y) and yxP(x, y), where the domain for all variables consists of all real numbers?
Sol: xyP(x, y) = “For all real numbers x, for all real numbers y, x + y = y + x”.Since P(x, y) is true for all real numbers x and y, the proposition xyP(x, y) is also true.Also, yxP(x, y) = “For all real numbers y, for all real numbers x, x + y = y + x” = xyP(x, y).
Note: Order of nested universal quantifiers in a statement without other quantifiers can be changed without changing meaning of quantified statement.
Nested Quantifiers – Order of Quantifiers
48
Example: Let Q(x, y) be the statement “x + y = 0”. What are the truth values of the quantifications yxQ(x, y) and xyQ(x, y), where the domain for all variables consists of all real numbers?
Sol: yxQ(x, y) = “There is a real number y such that for every real number x, x + y = 0”.Since there is no real number y such that x + y = 0, for all real numbers x, the proposition yxQ(x, y) is false.xyQ(x, y) = “For every real number x, there is a real number y such that x + y = 0”.Given a real number x, there is a real number y, namely y = -x, such that x + y =0. So, xyQ(x, y) is true.
Nested Quantifiers – Quantification of Two Variables
Statement
When True?When False?
xyP(x, y)yxP(x, y)
P(x, y) is true for every pair x, y.
There is a pair x, y for which P(x, y) is false
xyP(x, y),
For every x there is a y for which P(x, y) is true
There is an x such that P(x, y) is false for every y
xyP(x, y)
There is an x such that P(x, y) is true for every y
For every x there is a y for which P(x, y) is false
xyP(x, y)yxP(x, y)
There is a pair x, y for which P(x, y) is true
P(x, y) is false for every pair x, y.
49
Q17: Let Q(x, y) = “x + y = y”. What are the truth values of the quantifications yxQ(x, y) and xyQ(x, y), where the domain for all variables consists of all real numbers?
Nested Quantifiers – Order of Quantifiers
50
Example: Let Q(x, y, z) be the statement “x + y = z”. What are the truth values of the quantifications xyzQ(x, y, z) and zxyQ(x, y, z), where the domain for all variables consists of all real numbers?
Sol: xyzQ(x, y, z) = “For all real numbers x and for all real numbers y there is a real number z such that x + y = z” is true.The order of quantification is important here. Since zxyQ(x, y, z) = “There is a real number z such that for all real numbers x and for all real numbers y, x + y = z”, is false, because there is no z that satisfies the equation x + y = z for all for all real numbers x and y
Nested Quantifiers – Translating Statements
51
Example: Translate the statement “The sum of two positive integers is always positive” into a logical expression.
Sol: Let x and y be two positive integers, then we can write the statement as “For all positive integers x and y, x + y is positive”. This can be expressed as xy((x > 0) ⌃ (y > 0) → (x + y > 0)), where the domain for both variables consists of integers. We can also express this as xy(x + y > 0), where the domain for both variables consists of positive integers.
Q18: Translate the statement “Every real number except zero has a multiplicative inverse” into a logical expression.
Nested Quantifiers – Translating From Nested Quantifiers
52
Example: Translate the statement x(C(x) v y(C(y) ⌃ F(x, y)))
into English, where C(x)=“x has a computer”, F(x, y) = “x and y are friends”, and the domain for both x and y consists of all students in your class.
Sol: The statement says that for every student x in your class, x has a computer or there is a student y such that y has computer and x and y are friends. In other words, every student in your class has a computer or has a friend who has a computer.
Q19: Translate the statement xyz((F(x, y) ⌃ F(x, z) ⌃ (y ≠ z)) → F(y,
z))into English, where F(a, b) means a and b are friends and the domain for x, y and z consists of all students in your class.