
7c16dc3a51ee000ef180329045a2e8ba.ppt
- Количество слайдов: 53
CS 104 : Discrete Structures Chapter I Introduction & Logic Theory
Introduction to Discrete Structures 2
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 3
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! 4
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 …… 5
Tentative Syllabus & Text Book Ø Ø Ø Logic Theory Fundamental Structures Proof Techniques Basics of Counting Graph Theory Discrete Probability Text Books 1. Discrete Mathematics and Its Applications, 7 th edition by Kenneth H. Rosen, Mc. Graw Hill, 2007. 6
Logic Theory 7
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. Propositions 1. Riyadh is the capital of Saudi Arabia Not Propositions 1. How many students in this class? 2. Every cow has 4 legs. 3. 3 + 2 = 32 4. 4 + 3 = 7 2. Bring me coffee! 3. X + 2 = 3 4. Y + Z = X 8
Propositional Logic - Applications Ø We are using propositional logic as a foundation 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. ” 9
Propositional Logic - Negation 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: p p Ø Ø Notice that p is a proposition! F T T F 10
Propositional Logic - Conjunction Ø 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: p q F F T T F T 11 F F F T
Propositional Logic - Disjunction Ø 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: p q F F T T F T 12 F T T T
Propositional Logic – Exclusive Or Ø 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: p q p ⊕q F F T T F T 13 F T T F
Propositional Logic – Conditional Statement Ø 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+. p q Ø Truth table for implication: F F T T 14 T F T
Propositional Logic - Special Definitions Ø 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 15
Propositional Logic - Questions Ø Q 1: Give some examples of p q, then tell what is § q p § q p § p q Ø Q 2: 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. 16
Propositional Logic – Biconditional Statement Ø 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” p q p↔q q : “You buy a ticket” F F T p↔q : “You can take the F T F flight if and only if T F F you buy a ticket” T T 17 T
Propositional Logic – Precedence Ø Precedence of Logical Operators: Operator Precedence p p F T T F T F ¬ Λ ν → ↔ 1 2 3 4 5 Ø 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. 18
Propositional Logic – Compound Propositions Ø Construct truth table for (p q) → (p q). p q q p q (p q) → (p q) F T F F T T F F F T T Ø Q 3: Construct truth table for Ø (p q) ↔ (p q). Ø (p ⊕ q) → (p ⊕ q). 19
Propositional Equivalences – Logical Equivalences Ø 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 : p q F T F F T T p q (p q) F T T F F F p q T F T T F F F 20
Propositional Equivalences – Logical Equivalences Ø Example: p q. Ø Truth tables for p q and p q: p q p p q F T F F T T T F T F T T Ø Q 4: Show that p (q r) (p q) (p r) 21
Propositional Equivalence – Prove the following Logical Equivalences Equivalence Name p Λ T p and p ν F p Identity laws p ν T T and p Λ F F Domination laws p ν p p and p Λ p p Idempotent laws ¬( ¬ p) p Double negation law p ν q q ν p and p Λ q q Λ p Commutative laws (p ν q) ν r p ν (q ν r) and (p Λ q) Λ r p Λ (q Λ r) Associative laws p (q r) (p q) (p r) Distributive laws ¬(p ν q) ¬p Λ ¬q and ¬(p Λ q) ¬p ν ¬q De Morgan’s laws p (p q) p and p (p q) p Absorption laws p ν ¬p T and p Λ ¬p F Negation laws 22
Propositional Equivalence – Prove the following Logical Equivalences 23
Propositional Logic – Translating English Sentences Ø The sentence “The automated reply cannot be sent when the file system is full” can be translated as q → p where 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) → p where p: “You can drive a car ” q: “You are under 4 feet tall ” r: “You are older than 16 years old” 24
Propositional Logic – Translating English Sentences Ø 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” Ø Q 5: 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” 25
Propositional Equivalences – Logic and Bit Operations Ø 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. 26
Propositional Equivalences – Logic and Bit Operations Ø Truth table for bitwise OR, AND, and XOR: x y x y x ⊕y 0 0 1 1 0 1 0 1 1 1 0 0 0 1 1 0 Ø Q 6: Find bitwise OR, AND, and XOR of the bit strings Ø 01 0011 0100 and 10 1001 0101 Ø 00 1011 1010 and 11 1010 0101 Ø 11 0101 0110 and 10 1101 0010 27
Predicates and Quantifiers - Predicates Ø 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 28
Predicates and Quantifiers - Predicates Ø 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(x 1, x 2, …. , xn) is the value of the propositional function P at the n-tuple (x 1, x 2, …. , xn), and P is called n-ary predicate 29
Predicates and Quantifiers- Predicates Ø 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 Ø Q 7: Let R(x, y, z) = “x + y = z”, what are the truth values of R(1, 2, 3) and R(0, 0, 1)? 30
Predicates and Quantifiers - Quantifiers Ø 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 consideration Ø Existential 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 31
Predicates and Quantifiers – Universal Quantifiers Ø 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: Statement When True? When False? x P(x) is true for every x There is an x for which P(x) is false x P(x) There is an x for which P(x) is false for every x P(x) is true 32
Predicates and Quantifiers – Universal Quantifiers Ø 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). 33
Predicates and Quantifiers – Universal Quantifiers Ø Q 8: Let P(x) = “x 2 > 0”. What is the truth value of the quantification x P(x), where the domain consists of all real numbers? Ø Q 9: Let Q(x) = “x 2 < 10”. What is the truth value of the quantification x Q(x), where the domain consists of positive integers less than 4? Ø Q 10: Let R(x) = “x 2 ≥ 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? 34
Predicates and Quantifiers – Existential Quantifiers Ø 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. 35
Predicates and Quantifiers – Existential Quantifiers Ø 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. Ø Q 11: Let Q(x) = “x 2 > 10”. What is the truth value of the quantification x Q(x), where the domain consists of positive integers not exceeding 4? Ø Q 12: Let R(x) = “x 2 ≥ 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? 36
Predicates and Quantifiers – Translating English into Logical Expression Ø 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 x. P(x). Ø Q 13: 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. 37
Predicates and Quantifiers – Quantifiers with Restricted Domain Ø Example: What do the statements x < 0(x 2 > 0), y≠ 0(y 3 ≠ 0), and z > 0(z 2 = 2) mean, where the domain in each case consists of all real numbers? Ø Sol: The statement x < 0(x 2 > 0) states that for every number x with x < 0, x 2 > 0. That is, it states “The square of a negative real number is positive”. The statement is the same as x (x < 0 → x 2 > 0). The statement y ≠ 0(y 3 ≠ 0) states that for every real number y with y ≠ 0, we have y 3 ≠ 0. That is, it states “The cube of every nonzero real is nonzero”. The statement is the same as y (y ≠ 0 → y 3 ≠ 0). Finally, the statement z > 0(z 2 = 2) states that there exist a real number z with z > 0 such that z 2=2. That is, it states “There is positive square root of 2”. The statement is the same as z (z > 0 ⌃z 2 = 2). 38
Predicates and Quantifiers – Quantifiers with Restricted Domain Ø Note: The restriction of a universal quantification is the same as the universal quantification of a conditional statement. For instance, x < 0(x 2 > 0) is another way of expressing x (x < 0 → x 2 > 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(z 2=2) can be expressed as z (z > 0 ⌃ z 2 = 2). Ø Precedence of Quantifiers: The quantifiers and have higher precedence then all logical operators from propositional calculus. For example, x. P(x) v Q(x) is the disjunction of x. P(x) and Q(x). In other words, it means ( x. P(x)) v Q(x) rather than x (P(x) v Q(x)) 39
Predicates and Quantifiers – Negating Quantified Expression Ø 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). 40
Predicates and Quantifiers – Negating Quantified Expression Ø De Morgan’s laws for quantifiers: Negation Equivalent When is Statement Negation True? x P(x) For every x, P(x) is false x P(x) When False? There is an x for which P(x) is true There is an x for P(x) is true which P(x) is for every x false 41
Predicates and Quantifiers – Negating Quantified Expression Ø 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”= x. P(x), where the domain consists of all men Now, x. P(x) = x P(x) =“Every man is nonreligious”. Next, let Q(x) = “x eats Rice” => “All Saudi eat Rice” = x. Q(x), where the domain consists of all Saudi Now, x. Q(x) = x Q(x) = “Some Saudi does not eat rice”. Ø Q 14: What are the negations of the statements x (x 2 > x) and x (x 2 = 2)”? 42
Predicates and Quantifiers – Negating Quantified Expression Ø 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)) Ø Q 15: 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. 43
Predicates and Quantifiers – Logical Equivalences Ø Example: Show that x (P(x) Q(x)) and x. P(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 => x. P(x) and x. Q(x) are true => x. P(x) x. Q(x) is true So, they are logically equivalent. Ø Q 16: Show that x(P(x) Q(x)) and x(P(x) Q(x)) are logically equivalent. 44
Nested Quantifiers – Definition Ø Def: Two quantifiers are said to be nested if one is within the scope of the other, such as x y (x + y = 0) Ø Note that x y (x + y = 0) is same as x. Q(x), where Q(x) is y. P(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 x y (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. 45
Nested Quantifiers – Example Ø Example: Ø Similarly, the statement x y (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 x y z (x + (y + z) = (x + y) + z) is associative law for addition of real numbers. 46
Nested Quantifiers – Order of Quantifiers Ø Example: Let P(x, y) be the statement “x + y = y + x”. What are the truth values of the quantifications x y. P(x, y) and y x. P(x, y), where the domain for all variables consists of all real numbers? Ø Sol: x y. P(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 x y. P(x, y) is also true. Also, y x. P(x, y) = “For all real numbers y, for all real numbers x, x + y = y + x” = x y. P(x, y). Ø Note: Order of nested universal quantifiers in a statement without other quantifiers can be changed without changing meaning of quantified statement. 47
Nested Quantifiers – Order of Quantifiers Ø Example: Let Q(x, y) be the statement “x + y = 0”. What are the truth values of the quantifications y x. Q(x, y) and x y. Q(x, y), where the domain for all variables consists of all real numbers? Ø Sol: y x. Q(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 y x. Q(x, y) is false. x y. Q(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, x y. Q(x, y) is true. 48
Nested Quantifiers – Quantification of Two Variables Statement When True? x y. P(x, y) is true for every y x. P(x, y) pair x, y. When False? There is a pair x, y for which P(x, y) is false x y. P(x, y), For every x there is a y for There is an x such that P(x, which P(x, y) is true y) is false for every y x y. P(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 x y. P(x, y) There is a pair x, y for y x. P(x, y) which P(x, y) is true P(x, y) is false for every pair x, y. Ø Q 17: Let Q(x, y) = “x + y = y”. What are the truth values of the quantifications y x. Q(x, y) and x y. Q(x, y), where the domain for all variables consists of all real numbers? 49
Nested Quantifiers – Order of Quantifiers Ø Example: Let Q(x, y, z) be the statement “x + y = z”. What are the truth values of the quantifications x y z. Q(x, y, z) and z x y. Q(x, y, z), where the domain for all variables consists of all real numbers? Ø Sol: x y z. Q(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 z x y. Q(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 real numbers x and y 50
Nested Quantifiers – Translating Statements Ø 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 x y((x > 0) ⌃ (y > 0) → (x + y > 0)), where the domain for both variables consists of integers. We can also express this as x y(x + y > 0), where the domain for both variables consists of positive integers. Ø Q 18: Translate the statement “Every real number except zero has a multiplicative inverse” into a logical expression. 51
Nested Quantifiers – Translating From Nested Quantifiers Ø 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. Ø Q 19: Translate the statement x y z((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. 52
End of Chapter I 53