Presentation is loading. Please wait.

Presentation is loading. Please wait.

Spring 2003CMSC 203 - Discrete Structures1 Let’s get started with... Logic !

Similar presentations


Presentation on theme: "Spring 2003CMSC 203 - Discrete Structures1 Let’s get started with... Logic !"— Presentation transcript:

1 Spring 2003CMSC 203 - Discrete Structures1 Let’s get started with... Logic !

2 Spring 2003CMSC 203 - Discrete Structures2 Logic Crucial for mathematical reasoningCrucial for mathematical reasoning Important for program designImportant for program design Used for designing electronic circuitryUsed for designing electronic circuitry Logic is a system based on propositions.Logic is a system based on propositions. A proposition is a (declarative) statement that is either true or false (not both).A proposition is a (declarative) statement that is either true or false (not both). We say that the truth value of a proposition is either true (T) or false (F).We say that the truth value of a proposition is either true (T) or false (F). Corresponds to 1 and 0 in digital circuitsCorresponds to 1 and 0 in digital circuits

3 Spring 2003CMSC 203 - Discrete Structures3 The Statement/Proposition Game “Elephants are bigger than mice.” Is this a statement? yes Is this a proposition? yes What is the truth value of the proposition? true

4 Spring 2003CMSC 203 - Discrete Structures4 The Statement/Proposition Game “520 < 111” Is this a statement? yes Is this a proposition? yes What is the truth value of the proposition? false

5 Spring 2003CMSC 203 - Discrete Structures5 The Statement/Proposition Game “y > 5” Is this a statement? yes Is this a proposition? no Its truth value depends on the value of y, but this value is not specified. We call this type of statement a propositional function or open sentence.

6 Spring 2003CMSC 203 - Discrete Structures6 The Statement/Proposition Game “Today is January 27 and 99 < 5.” Is this a statement? yes Is this a proposition? yes What is the truth value of the proposition? false

7 Spring 2003CMSC 203 - Discrete Structures7 The Statement/Proposition Game “Please do not fall asleep.” Is this a statement? no Is this a proposition? no Only statements can be propositions. It’s a request.

8 Spring 2003CMSC 203 - Discrete Structures8 The Statement/Proposition Game “If the moon is made of cheese, then I will be rich.” Is this a statement? yes Is this a proposition? yes What is the truth value of the proposition? probably true

9 Spring 2003CMSC 203 - Discrete Structures9 The Statement/Proposition Game “x x.” Is this a statement? yes Is this a proposition? yes What is the truth value of the proposition? true … because its truth value does not depend on specific values of x and y.

10 Spring 2003CMSC 203 - Discrete Structures10 Combining Propositions As we have seen in the previous examples, one or more propositions can be combined to form a single compound proposition. We formalize this by denoting propositions with letters such as p, q, r, s, and introducing several logical operators or logical connectives.

11 Spring 2003CMSC 203 - Discrete Structures11 Logical Operators (Connectives) We will examine the following logical operators: Negation (NOT,  ) Negation (NOT,  ) Conjunction (AND,  ) Conjunction (AND,  ) Disjunction (OR,  ) Disjunction (OR,  ) Exclusive-or (XOR,  ) Exclusive-or (XOR,  ) Implication (if – then,  ) Implication (if – then,  ) Biconditional (if and only if,  ) Biconditional (if and only if,  ) Truth tables can be used to show how these operators can combine propositions to compound propositions.

12 Spring 2003CMSC 203 - Discrete Structures12 Negation (NOT) Unary Operator, Symbol:  P  P P P P true (T) false (F) true (T)

13 Spring 2003CMSC 203 - Discrete Structures13 Conjunction (AND) Binary Operator, Symbol:  PQ P QP QP QP Q TTT TFF FTF FFF

14 Spring 2003CMSC 203 - Discrete Structures14 Disjunction (OR) Binary Operator, Symbol:  PQ P  Q TTT TFT FTT FFF

15 Spring 2003CMSC 203 - Discrete Structures15 Exclusive Or (XOR) Binary Operator, Symbol:  PQ P QP QP QP Q TTF TFT FTT FFF

16 Spring 2003CMSC 203 - Discrete Structures16 Implication (if - then) Binary Operator, Symbol:  PQ P QP QP QP Q TTT TFF FTT FFT

17 Spring 2003CMSC 203 - Discrete Structures17 Biconditional (if and only if) Binary Operator, Symbol:  PQ P QP QP QP Q TTT TFF FTF FFT

18 Spring 2003CMSC 203 - Discrete Structures18 Statements and Operators Statements and operators can be combined in any way to form new statements. PQ  P P P P QQQQ (  P)  (  Q) TTFFF TFFTT FTTFT FFTTT

19 Spring 2003CMSC 203 - Discrete Structures19 Statements and Operations Statements and operators can be combined in any way to form new statements. PQ PQPQPQPQ  (P  Q) (  P)  (  Q) TTTFF TFFTT FTFTT FFFTT

20 Spring 2003CMSC 203 - Discrete Structures20 Exercises To take discrete mathematics, you must have taken calculus or a course in computer science.To take discrete mathematics, you must have taken calculus or a course in computer science. When you buy a new car from Acme Motor Company, you get $2000 back in cash or a 2% car loan.When you buy a new car from Acme Motor Company, you get $2000 back in cash or a 2% car loan. School is closed if more than 2 feet of snow falls or if the wind chill is below -100.School is closed if more than 2 feet of snow falls or if the wind chill is below -100.

21 Spring 2003CMSC 203 - Discrete Structures21 Equivalent Statements PQ  (P  Q) (  P)  (  Q )  (P  Q)  (  P)  (  Q) TTFFT TFTTT FTTTT FFTTT The statements  (P  Q) and (  P)  (  Q) are logically equivalent, since they have the same truth table, or put it in another way,  (P  Q)  (  P)  (  Q) is always true.

22 Spring 2003CMSC 203 - Discrete Structures22 Tautologies and Contradictions A tautology is a statement that is always true. Examples: –R  (  R) –  (P  Q)  (  P)  (  Q) A contradiction is a statement that is always false. Examples: –R  (  R) –  (  (P  Q)  (  P)  (  Q)) The negation of any tautology is a contradiction, and the negation of any contradiction is a tautology.

23 Spring 2003CMSC 203 - Discrete Structures23 Equivalence Definition: two propositional statements S1 and S2 are said to be (logically) equivalent, denoted S1  S2 if –They have the same truth table, or –S1  S2 is a tautology Equivalence can be established by –Constructing truth tables –Using equivalence laws (Table 5 in Section 1.2)

24 Spring 2003CMSC 203 - Discrete Structures24 Equivalence Equivalence laws –Identity laws, P  T  P, –Domination laws, P  F  F, –Idempotent laws, P  P  P, –Double negation law,  (  P)  P –Commutative laws, P  Q  Q  P, –Associative laws, P  (Q  R)  ( P  Q)  R, –Distributive laws, P  (Q  R)  ( P  Q)  (P  R), –De Morgan’s laws,  (P  Q)  (  P)  (  Q) –Law with implication P  Q   P  Q

25 Spring 2003CMSC 203 - Discrete Structures25 Exercises Show that P  Q   P  Q: by truth tableShow that P  Q   P  Q: by truth table Show that (P  Q)  (P  R)  P  (Q  R): by equivalence laws (q20, p27):Show that (P  Q)  (P  R)  P  (Q  R): by equivalence laws (q20, p27): –Law with implication on both sides –Distribution law on LHS

26 Spring 2003CMSC 203 - Discrete Structures26 Summary, Sections 1.1, 1.2 PropositionProposition Truth valueTruth value Truth tableTruth table Operators and their truth tablesOperators and their truth tables Equivalence of propositional statementsEquivalence of propositional statements –Definition –Proving equivalence (by truth table or equivalence laws)

27 Spring 2003CMSC 203 - Discrete Structures27 Propositional Functions & Predicates Propositional function (open sentence): statement involving one or more variables, e.g.: x-3 > 5. Let us call this propositional function P(x), where P is the predicate and x is the variable. What is the truth value of P(2) ? false What is the truth value of P(8) ? What is the truth value of P(9) ? false true

28 Spring 2003CMSC 203 - Discrete Structures28 Propositional Functions Let us consider the propositional function Q(x, y, z) defined as: x + y = z. Here, Q is the predicate and x, y, and z are the variables. What is the truth value of Q(2, 3, 5) ? true What is the truth value of Q(0, 1, 2) ? What is the truth value of Q(9, -9, 0) ? false true A propositional function (predicate) becomes a proposition when all its variables are instantiated.

29 Spring 2003CMSC 203 - Discrete Structures29 Universal Quantification Let P(x) be a predicate (propositional function). Universally quantified sentence: For all x in the universe of discourse P(x) is true. Using the universal quantifier  :  x P(x) “for all x P(x)” or “for every x P(x)” (Note:  x P(x) is either true or false, so it is a proposition, not a propositional function.)

30 Spring 2003CMSC 203 - Discrete Structures30 Universal Quantification Example: Let the universe of discourse be all people S(x): x is a UMBC student. G(x): x is a genius. What does  x (S(x)  G(x)) mean ? “If x is a UMBC student, then x is a genius.” or “All UMBC students are geniuses.” If the universe of discourse is all UMBC students, then the same statement can be written as  x G(x)

31 Spring 2003CMSC 203 - Discrete Structures31 Existential Quantification Existentially quantified sentence: There exists an x in the universe of discourse for which P(x) is true. Using the existential quantifier  :  x P(x) “There is an x such that P(x).” “There is at least one x such that P(x).” “There is at least one x such that P(x).” (Note:  x P(x) is either true or false, so it is a proposition, but no propositional function.)

32 Spring 2003CMSC 203 - Discrete Structures32 Existential Quantification Example: P(x): x is a UMBC professor. G(x): x is a genius. What does  x (P(x)  G(x)) mean ? “There is an x such that x is a UMBC professor and x is a genius.” or “At least one UMBC professor is a genius.”

33 Spring 2003CMSC 203 - Discrete Structures33 Quantification Another example: Let the universe of discourse be the real numbers. What does  x  y (x + y = 320) mean ? “For every x there exists a y so that x + y = 320.” Is it true? Is it true for the natural numbers? yes no

34 Spring 2003CMSC 203 - Discrete Structures34 Disproof by Counterexample A counterexample to  x P(x) is an object c so that P(c) is false. Statements such as  x (P(x)  Q(x)) can be disproved by simply providing a counterexample. Statement: “All birds can fly.” Disproved by counterexample: Penguin.

35 Spring 2003CMSC 203 - Discrete Structures35 Negation  (  x P(x)) is logically equivalent to  x (  P(x)).  (  x P(x)) is logically equivalent to  x (  P(x)). See Table 2 in Section 1.3. This is de Morgan’s law for quantifiers

36 Spring 2003CMSC 203 - Discrete Structures36 Nested Quantifier A predicate can have more than one variables. –S(x, y, z): z is the sum of x and y –F(x, y): x and y are friends We can quantify individual variables in different ways –  x, y, z (S(x, y, z)  (x <= z  y <= z)) –  x  y  z (F(x, y)  F(x, z)  (y != z)   F(y, z) Exercise: translate the following English sentence into logical expression “There is a rational number in between every pair of distinct rational numbers”

37 Spring 2003CMSC 203 - Discrete Structures37 Summary, Sections 1.3, 1.4 Propositional functions (predicates)Propositional functions (predicates) Universal and existential quantifiers, and the duality of the twoUniversal and existential quantifiers, and the duality of the two When predicates become propositionsWhen predicates become propositions Nested quantifiersNested quantifiers Logical expressions formed by predicates, operators, and quantifiersLogical expressions formed by predicates, operators, and quantifiers

38 Spring 2003CMSC 203 - Discrete Structures38 Let’s proceed to… Mathematical Reasoning

39 Spring 2003CMSC 203 - Discrete Structures39 Mathematical Reasoning We need mathematical reasoning to determine whether a mathematical argument is correct or incorrect and determine whether a mathematical argument is correct or incorrect and construct mathematical arguments. construct mathematical arguments. Mathematical reasoning is not only important for conducting proofs and program verification, but also for artificial intelligence systems (drawing logical inferences from knowledge and facts).

40 Spring 2003CMSC 203 - Discrete Structures40Terminology An axiom is a basic assumption about mathematical structured that needs no proof. We can use a proof to demonstrate that a particular statement is true. A proof consists of a sequence of statements that form an argument. The steps that connect the statements in such a sequence are the rules of inference. Cases of incorrect reasoning are called fallacies.

41 Spring 2003CMSC 203 - Discrete Structures41Terminology A theorem is a statement that can be shown to be true. A lemma is a simple theorem used as an intermediate result in the proof of another theorem. A corollary is a proposition that follows directly from a theorem that has been proved. A conjecture is a statement whose truth value is unknown. Once it is proven, it becomes a theorem.

42 Spring 2003CMSC 203 - Discrete Structures42 Rules of Inference Rules of inference provide the justification of the steps used in a proof. One important rule is called modus ponens or the law of detachment. It is based on the tautology (p  (p  q))  q. We write it in the following way: p p  q ____  q q q q The two hypotheses p and p  q are written in a column, and the conclusion below a bar, where  means “therefore”.

43 Spring 2003CMSC 203 - Discrete Structures43 Rules of Inference The general form of a rule of inference is: p 1 p 1 p 2 p 2... p n p n____  q q q q The rule states that if p 1 and p 2 and … and p n are all true, then q is true as well. These rules of inference can be used in any mathematical argument and do not require any proof.

44 Spring 2003CMSC 203 - Discrete Structures44 Rules of Inference p_____  pq pq pq pq Addition pq pq pq pq_____  p p p p Simplification p q_____  pq pq pq pq Conjunction q q q q p  q p  q_____   p  p  p  p Modus tollens p  q p  q q  r q  r_____  pr pr pr pr Hypothetical syllogism pq pq pq pq  p  p  p  p_____  q q q q Disjunctive syllogism

45 Spring 2003CMSC 203 - Discrete Structures45Arguments Just like a rule of inference, an argument consists of one or more hypotheses (or premises) and a conclusion. We say that an argument is valid, if whenever all its hypotheses are true, its conclusion is also true. However, if any hypothesis is false, even a valid argument can lead to an incorrect conclusion. Proof: show that hypotheses  conclusion is true using rules of inference

46 Spring 2003CMSC 203 - Discrete Structures46ArgumentsExample: “If 101 is divisible by 3, then 101 2 is divisible by 9. 101 is divisible by 3. Consequently, 101 2 is divisible by 9.” Although the argument is valid, its conclusion is incorrect, because one of the hypotheses is false (“101 is divisible by 3.”). If in the above argument we replace 101 with 102, we could correctly conclude that 102 2 is divisible by 9.

47 Spring 2003CMSC 203 - Discrete Structures47Arguments Which rule of inference was used in the last argument? p: “101 is divisible by 3.” q: “101 2 is divisible by 9.” p p  q p  q_____  q Modus ponens Unfortunately, one of the hypotheses (p) is false. Therefore, the conclusion q is incorrect.

48 Spring 2003CMSC 203 - Discrete Structures48Arguments Another example: “If it rains today, then we will not have a barbeque today. If we do not have a barbeque today, then we will have a barbeque tomorrow. Therefore, if it rains today, then we will have a barbeque tomorrow.” This is a valid argument: If its hypotheses are true, then its conclusion is also true.

49 Spring 2003CMSC 203 - Discrete Structures49Arguments Let us formalize the previous argument: p: “It is raining today.” q: “We will not have a barbecue today.” r: “We will have a barbecue tomorrow.” So the argument is of the following form: p  q p  q q  r q  r______  P  r Hypothetical syllogism

50 Spring 2003CMSC 203 - Discrete Structures50Arguments Another example: Gary is either intelligent or a good actor. If Gary is intelligent, then he can count from 1 to 10. Gary can only count from 1 to 3. Therefore, Gary is a good actor. i: “Gary is intelligent.” a: “Gary is a good actor.” c: “Gary can count from 1 to 10.”

51 Spring 2003CMSC 203 - Discrete Structures51Arguments i: “Gary is intelligent.” a: “Gary is a good actor.” c: “Gary can count from 1 to 10.” Step 1:  cHypothesis Step 2: i  c Hypothesis Step 3:  i Modus tollens Steps 1 & 2 Step 4: a  iHypothesis Step 5: aDisjunctive Syllogism Steps 3 & 4 Conclusion: a (“Gary is a good actor.”)

52 Spring 2003CMSC 203 - Discrete Structures52Arguments Yet another example: If you listen to me, you will pass CS 320. You passed CS 320. Therefore, you have listened to me. Is this argument valid? No, it assumes ((p  q)  q)  p. This statement is not a tautology. It is false if p is false and q is true.

53 Spring 2003CMSC 203 - Discrete Structures53 Rules of Inference for Quantified Statements  x P(x)  x P(x)__________  P(c) if c  U Universal instantiation P(c) for an arbitrary c  U ___________________   x P(x) Universal generalization  x P(x)  x P(x)______________________  P(c) for some element c  U Existential instantiation P(c) for some element c  U ____________________   x P(x) Existential generalization

54 Spring 2003CMSC 203 - Discrete Structures54 Rules of Inference for Quantified Statements Example: Every UMB student is a genius. George is a UMB student. Therefore, George is a genius. U(x): “x is a UMB student.” G(x): “x is a genius.”

55 Spring 2003CMSC 203 - Discrete Structures55 Rules of Inference for Quantified Statements The following steps are used in the argument: Step 1:  x (U(x)  G(x))Hypothesis Step 2: U(George)  G(George)Univ. instantiation using Step 1  x P(x)  x P(x)__________  P(c) if c  U Universal instantiation Step 3: U(George)Hypothesis Step 4: G(George)Modus ponens using Steps 2 & 3

56 Spring 2003CMSC 203 - Discrete Structures56 Proving Theorems Direct proof: An implication p  q can be proved by showing that if p is true, then q is also true. Example: Give a direct proof of the theorem “If n is odd, then n 2 is odd.” Idea: Assume that the hypothesis of this implication is true (n is odd). Then use rules of inference and known theorems of math to show that q must also be true (n 2 is odd).

57 Spring 2003CMSC 203 - Discrete Structures57 Proving Theorems n is odd. Then n = 2k + 1, where k is an integer. Consequently, n 2 = (2k + 1) 2. = 4k 2 + 4k + 1 = 4k 2 + 4k + 1 = 2(2k 2 + 2k) + 1 = 2(2k 2 + 2k) + 1 Since n 2 can be written in this form, it is odd.

58 Spring 2003CMSC 203 - Discrete Structures58 Proving Theorems Indirect proof: An implication p  q is equivalent to its contra- positive  q   p. Therefore, we can prove p  q by showing that whenever q is false, then p is also false. Example: Give an indirect proof of the theorem “If 3n + 2 is odd, then n is odd.” Idea: Assume that the conclusion of this implication is false (n is even). Then use rules of inference and known theorems to show that p must also be false (3n + 2 is even).

59 Spring 2003CMSC 203 - Discrete Structures59 Proving Theorems n is even. Then n = 2k, where k is an integer. It follows that 3n + 2 = 3(2k) + 2 = 6k + 2 = 2(3k + 1) Therefore, 3n + 2 is even. We have shown that the contrapositive of the implication is true, so the implication itself is also true (If 2n + 3 is odd, then n is odd).

60 Spring 2003CMSC 203 - Discrete Structures60 Summary, Section 1.5 Terminology (axiom, theorem, conjecture, etc.)Terminology (axiom, theorem, conjecture, etc.) Rules of inference (Tables 1 and 2)Rules of inference (Tables 1 and 2) Valid argument (hypotheses and conclusion)Valid argument (hypotheses and conclusion) Construction of valid argument using rules of inferenceConstruction of valid argument using rules of inference Direct and indirect proofsDirect and indirect proofs Other proof methods (e.g., induction, pigeon hole) will be introduced in later chaptersOther proof methods (e.g., induction, pigeon hole) will be introduced in later chapters

61 Spring 2003CMSC 203 - Discrete Structures61 … and now for something completely different… Set Theory Actually, you will see that logic and set theory are very closely related.

62 Spring 2003CMSC 203 - Discrete Structures62 Set Theory Set: Collection of objects (“elements”)Set: Collection of objects (“elements”) a  A “a is an element of A” “a is a member of A”a  A “a is an element of A” “a is a member of A” a  A “a is not an element of A”a  A “a is not an element of A” A = {a 1, a 2, …, a n } “A contains a 1, …, a n ”A = {a 1, a 2, …, a n } “A contains a 1, …, a n ” Order of elements is insignificantOrder of elements is insignificant It does not matter how often the same element is listed.It does not matter how often the same element is listed.

63 Spring 2003CMSC 203 - Discrete Structures63 Set Equality Sets A and B are equal if and only if they contain exactly the same elements. Examples: A = {9, 2, 7, -3}, B = {7, 9, -3, 2} : A = {9, 2, 7, -3}, B = {7, 9, -3, 2} : A = B A = {dog, cat, horse}, B = {cat, horse, squirrel, dog} : A = {dog, cat, horse}, B = {cat, horse, squirrel, dog} : A  B A = {dog, cat, horse}, B = {cat, horse, dog, dog} : A = {dog, cat, horse}, B = {cat, horse, dog, dog} : A = B

64 Spring 2003CMSC 203 - Discrete Structures64 Examples for Sets “Standard” Sets: Natural numbers N = {0, 1, 2, 3, …}Natural numbers N = {0, 1, 2, 3, …} Integers Z = {…, -2, -1, 0, 1, 2, …}Integers Z = {…, -2, -1, 0, 1, 2, …} Positive Integers Z + = {1, 2, 3, 4, …}Positive Integers Z + = {1, 2, 3, 4, …} Real Numbers R = {47.3, -12, , …}Real Numbers R = {47.3, -12, , …} Rational Numbers Q = {1.5, 2.6, -3.8, 15, …}Rational Numbers Q = {1.5, 2.6, -3.8, 15, …} (correct definitions will follow)

65 Spring 2003CMSC 203 - Discrete Structures65 Examples for Sets A =  “empty set/null set”A =  “empty set/null set” A = {z} Note: z  A, but z  {z}A = {z} Note: z  A, but z  {z} A = {{b, c}, {c, x, d}}A = {{b, c}, {c, x, d}} A = {{x, y}} Note: {x, y}  A, but {x, y}  {{x, y}}A = {{x, y}} Note: {x, y}  A, but {x, y}  {{x, y}} A = {x | P(x)} “set of all x such that P(x)”A = {x | P(x)} “set of all x such that P(x)” A = {x | x  N  x > 7} = {8, 9, 10, …} “set builder notation”A = {x | x  N  x > 7} = {8, 9, 10, …} “set builder notation”

66 Spring 2003CMSC 203 - Discrete Structures66 Examples for Sets We are now able to define the set of rational numbers Q: Q = {a/b | a  Z  b  Z + }, or Q = {a/b | a  Z  b  Z  b  0} And how about the set of real numbers R? R = {r | r is a real number} That is the best we can do. It can neither be defined by enumeration or builder function.

67 Spring 2003CMSC 203 - Discrete Structures67 Subsets A  B “A is a subset of B” A  B if and only if every element of A is also an element of B. We can completely formalize this: A  B   x (x  A  x  B) Examples: A = {3, 9}, B = {5, 9, 1, 3}, A  B ? true A = {3, 3, 3, 9}, B = {5, 9, 1, 3}, A  B ? false true A = {1, 2, 3}, B = {2, 3, 4}, A  B ?

68 Spring 2003CMSC 203 - Discrete Structures68 Subsets Useful rules: A = B  (A  B)  (B  A)A = B  (A  B)  (B  A) (A  B)  (B  C)  A  C (see Venn Diagram)(A  B)  (B  C)  A  C (see Venn Diagram) U A B C

69 Spring 2003CMSC 203 - Discrete Structures69 Subsets Useful rules:   A for any set A   A for any set A A  A for any set AA  A for any set A Proper subsets: A  B “A is a proper subset of B” A  B   x (x  A  x  B)   x (x  B  x  A) or A  B   x (x  A  x  B)   x (x  B  x  A)

70 Spring 2003CMSC 203 - Discrete Structures70 Cardinality of Sets If a set S contains n distinct elements, n  N, we call S a finite set with cardinality n. Examples: A = {Mercedes, BMW, Porsche}, |A| = 3 B = {1, {2, 3}, {4, 5}, 6} |B| = 4 C =  |C| = 0 D = { x  N | x  7000 } |D| = 7001 E = { x  N | x  7000 } E is infinite!

71 Spring 2003CMSC 203 - Discrete Structures71 The Power Set P(A) “power set of A” (also written as 2 A ) P(A) = {B | B  A} (contains all subsets of A) Examples: A = {x, y, z} P(A) = { , {x}, {y}, {z}, {x, y}, {x, z}, {y, z}, {x, y, z}} A =  P(A) = {  } Note: |A| = 0, |P(A)| = 1

72 Spring 2003CMSC 203 - Discrete Structures72 The Power Set Cardinality of power sets: | P(A) | = 2 |A| Imagine each element in A has an “on/off” switchImagine each element in A has an “on/off” switch Each possible switch configuration in A corresponds to one subset of A, thus one element in P(A)Each possible switch configuration in A corresponds to one subset of A, thus one element in P(A) zzzzzzzzz yyyyyyyyy xxxxxxxxx87654321A For 3 elements in A, there are 2  2  2 = 8 elements in P(A)For 3 elements in A, there are 2  2  2 = 8 elements in P(A)

73 Spring 2003CMSC 203 - Discrete Structures73 Cartesian Product The ordered n-tuple (a 1, a 2, a 3, …, a n ) is an ordered collection of n objects. Two ordered n-tuples (a 1, a 2, a 3, …, a n ) and (b 1, b 2, b 3, …, b n ) are equal if and only if they contain exactly the same elements in the same order, i.e. a i = b i for 1  i  n. The Cartesian product of two sets is defined as: A  B = {(a, b) | a  A  b  B}

74 Spring 2003CMSC 203 - Discrete Structures74 Cartesian Product Example: A = {good, bad}, B = {student, prof} A  B = { (good, student), (good, prof), (bad, student), (bad, prof) } (prof, bad) } (student, good), (prof, good), (student, bad), B  A = { Example: A = {x, y}, B = {a, b, c} A  B = {(x, a), (x, b), (x, c), (y, a), (y, b), (y, c)}

75 Spring 2003CMSC 203 - Discrete Structures75 Cartesian Product Note that: A  =  A  =   A =   A =  For non-empty sets A and B: A  B  A  B  B  A For non-empty sets A and B: A  B  A  B  B  A |A  B| = |A|  |B| |A  B| = |A|  |B| The Cartesian product of two or more sets is defined as: A 1  A 2  …  A n = {(a 1, a 2, …, a n ) | a i  A for 1  i  n}

76 Spring 2003CMSC 203 - Discrete Structures76 Set Operations Union: A  B = {x | x  A  x  B} Example: A = {a, b}, B = {b, c, d} A  B = {a, b, c, d} A  B = {a, b, c, d} Intersection: A  B = {x | x  A  x  B} Example: A = {a, b}, B = {b, c, d} A  B = {b} A  B = {b}

77 Spring 2003CMSC 203 - Discrete Structures77 Set Operations Two sets are called disjoint if their intersection is empty, that is, they share no elements: A  B =  The difference between two sets A and B contains exactly those elements of A that are not in B: A-B = {x | x  A  x  B} Example: A = {a, b}, B = {b, c, d}, A-B = {a}

78 Spring 2003CMSC 203 - Discrete Structures78 Set Operations The complement of a set A contains exactly those elements under consideration that are not in A: A c = U-A Example: U = N, B = {250, 251, 252, …} B c = {0, 1, 2, …, 248, 249} B c = {0, 1, 2, …, 248, 249}

79 Spring 2003CMSC 203 - Discrete Structures79 Set Identity Table 1 in Section 1.7 shows many useful equations How can we prove A  (B  C) = (A  B)  (A  C)? Method I: logical equivalent x  A  (B  C) x  A  (B  C)  x  A  x  (B  C)  x  A  (x  B  x  C)  (x  A  x  B)  (x  A  x  C) (distributive law)  x  (A  B)  x  (A  C)  x  (A  B)  (A  C) Every logical expression can be transformed into an equivalent expression in set theory and vice versa.

80 Spring 2003CMSC 203 - Discrete Structures80 Set Operations Method II: Membership table 1 means “x is an element of this set” 0 means “x is not an element of this set” 11111 1 1 1 11110 1 1 0 11110 1 0 1 11110 1 0 0 11111 0 1 1 00100 0 1 0 01000 0 0 1 00000 0 0 0 (A  B)  (A  C) ACACACAC ABABABAB A  (B  C) BCBCBCBC A B C

81 Spring 2003CMSC 203 - Discrete Structures81 … and the following mathematical appetizer is about… Functions

82 Spring 2003CMSC 203 - Discrete Structures82 Functions A function f from a set A to a set B is an assignment of exactly one element of B to each element of A. We write f(a) = b if b is the unique element of B assigned by the function f to the element a of A. If f is a function from A to B, we write f: A  B (note: Here, “  “ has nothing to do with if… then)

83 Spring 2003CMSC 203 - Discrete Structures83 Functions If f:A  B, we say that A is the domain of f and B is the codomain of f. If f(a) = b, we say that b is the image of a and a is the pre-image of b. The range of f:A  B is the set of all images of elements of A. We say that f:A  B maps A to B.

84 Spring 2003CMSC 203 - Discrete Structures84 Functions Let us take a look at the function f:P  C with P = {Linda, Max, Kathy, Peter} C = {Boston, New York, Hong Kong, Moscow} f(Linda) = Moscow f(Max) = Boston f(Kathy) = Hong Kong f(Peter) = New York Here, the range of f is C.

85 Spring 2003CMSC 203 - Discrete Structures85 Functions Let us re-specify f as follows: f(Linda) = Moscow f(Max) = Boston f(Kathy) = Hong Kong f(Peter) = Boston Is f still a function? yes {Moscow, Boston, Hong Kong} What is its range?

86 Spring 2003CMSC 203 - Discrete Structures86 Functions Other ways to represent f: BostonPeter Hong Kong Kathy BostonMax MoscowLindaf(x)x LindaMax Kathy PeterBoston New York Hong Kong Moscow

87 Spring 2003CMSC 203 - Discrete Structures87 Functions If the domain of our function f is large, it is convenient to specify f with a formula, e.g.: f:R  R f(x) = 2x This leads to: f(1) = 2 f(3) = 6 f(-3) = -6 …

88 Spring 2003CMSC 203 - Discrete Structures88 Functions Let f 1 and f 2 be functions from A to R. Then the sum and the product of f 1 and f 2 are also functions from A to R defined by: (f 1 + f 2 )(x) = f 1 (x) + f 2 (x) (f 1 f 2 )(x) = f 1 (x) f 2 (x) Example: f 1 (x) = 3x, f 2 (x) = x + 5 (f 1 + f 2 )(x) = f 1 (x) + f 2 (x) = 3x + x + 5 = 4x + 5 (f 1 f 2 )(x) = f 1 (x) f 2 (x) = 3x (x + 5) = 3x 2 + 15x

89 Spring 2003CMSC 203 - Discrete Structures89 Functions We already know that the range of a function f:A  B is the set of all images of elements a  A. If we only regard a subset S  A, the set of all images of elements s  S is called the image of S. We denote the image of S by f(S): f(S) = {f(s) | s  S}

90 Spring 2003CMSC 203 - Discrete Structures90 Functions Let us look at the following well-known function: f(Linda) = Moscow f(Max) = Boston f(Kathy) = Hong Kong f(Peter) = Boston What is the image of S = {Linda, Max} ? f(S) = {Moscow, Boston} What is the image of S = {Max, Peter} ? f(S) = {Boston}

91 Spring 2003CMSC 203 - Discrete Structures91 Properties of Functions A function f:A  B is said to be one-to-one (or injective), if and only if  x, y  A (f(x) = f(y)  x = y) In other words: f is one-to-one if and only if it does not map two distinct elements of A onto the same element of B.

92 Spring 2003CMSC 203 - Discrete Structures92 Properties of Functions And again… f(Linda) = Moscow f(Max) = Boston f(Kathy) = Hong Kong f(Peter) = Boston Is f one-to-one? No, Max and Peter are mapped onto the same element of the image. g(Linda) = Moscow g(Max) = Boston g(Kathy) = Hong Kong g(Peter) = New York Is g one-to-one? Yes, each element is assigned a unique element of the image.

93 Spring 2003CMSC 203 - Discrete Structures93 Properties of Functions How can we prove that a function f is one-to-one? Whenever you want to prove something, first take a look at the relevant definition(s):  x, y  A (f(x) = f(y)  x = y) Example: f:R  R f(x) = x 2 Disproof by counterexample: f(3) = f(-3), but 3  -3, so f is not one-to-one.

94 Spring 2003CMSC 203 - Discrete Structures94 Properties of Functions … and yet another example: f:R  R f(x) = 3x One-to-one:  x, y  A (f(x) = f(y)  x = y) To show: f(x)  f(y) whenever x  y x  y  3x  3y  f(x)  f(y), so if x  y, then f(x)  f(y), that is, f is one-to-one.

95 Spring 2003CMSC 203 - Discrete Structures95 Properties of Functions A function f:A  B with A,B  R is called strictly increasing, if  x,y  A (x < y  f(x) < f(y)), and strictly decreasing, if  x,y  A (x f(y)). Obviously, a function that is either strictly increasing or strictly decreasing is one-to-one.

96 Spring 2003CMSC 203 - Discrete Structures96 Properties of Functions A function f:A  B is called onto, or surjective, if and only if for every element b  B there is an element a  A with f(a) = b. In other words, f is onto if and only if its range is its entire codomain. A function f: A  B is a one-to-one correspondence, or a bijection, if and only if it is both one-to-one and onto. Obviously, if f is a bijection and A and B are finite sets, then |A| = |B|.

97 Spring 2003CMSC 203 - Discrete Structures97 Properties of Functions Examples: In the following examples, we use the arrow representation to illustrate functions f:A  B. In each example, the complete sets A and B are shown.

98 Spring 2003CMSC 203 - Discrete Structures98 Properties of Functions Is f injective? No. Is f surjective? No. Is f bijective? No.LindaMax Kathy PeterBoston New York Hong Kong Moscow

99 Spring 2003CMSC 203 - Discrete Structures99 Properties of Functions Is f injective? No. Is f surjective? Yes. Is f bijective? No.LindaMax Kathy PeterBoston New York Hong Kong Moscow Paul

100 Spring 2003CMSC 203 - Discrete Structures100 Properties of Functions Is f injective? Yes. Is f surjective? No. Is f bijective? No.LindaMax Kathy PeterBoston New York Hong Kong Moscow Lübeck

101 Spring 2003CMSC 203 - Discrete Structures101 Properties of Functions Is f injective? No! f is not even a function! LindaMax Kathy PeterBoston New York Hong Kong Moscow Lübeck

102 Spring 2003CMSC 203 - Discrete Structures102 Properties of Functions Is f injective? Yes. Is f surjective? Yes. Is f bijective? Yes. Linda Max Kathy Peter Boston New York Hong Kong Moscow Lübeck Helena

103 Spring 2003CMSC 203 - Discrete Structures103 Inversion An interesting property of bijections is that they have an inverse function. The inverse function of the bijection f:A  B is the function f -1 :B  A with f -1 (b) = a whenever f(a) = b.

104 Spring 2003CMSC 203 - Discrete Structures104 Inversion Example: f(Linda) = Moscow f(Max) = Boston f(Kathy) = Hong Kong f(Peter) = Lübeck f(Helena) = New York Clearly, f is bijective. The inverse function f -1 is given by: f -1 (Moscow) = Linda f -1 (Boston) = Max f -1 (Hong Kong) = Kathy f -1 (Lübeck) = Peter f -1 (New York) = Helena Inversion is only possible for bijections (= invertible functions)

105 Spring 2003CMSC 203 - Discrete Structures105 Inversion Linda Max Kathy Peter Boston New York Hong Kong Moscow Lübeck Helenaf f -1 f -1 :C  P is no function, because it is not defined for all elements of C and assigns two images to the pre- image New York.

106 Spring 2003CMSC 203 - Discrete Structures106 Composition The composition of two functions g:A  B and f:B  C, denoted by f  g, is defined by (f  g)(a) = f(g(a)) This means that first, function g is applied to element a  A, mapping it onto an element of B, first, function g is applied to element a  A, mapping it onto an element of B, then, function f is applied to this element of B, mapping it onto an element of C. then, function f is applied to this element of B, mapping it onto an element of C. Therefore, the composite function maps from A to C. Therefore, the composite function maps from A to C.

107 Spring 2003CMSC 203 - Discrete Structures107 Composition Example: f(x) = 7x – 4, g(x) = 3x, f:R  R, g:R  R (f  g)(5) = f(g(5)) = f(15) = 105 – 4 = 101 (f  g)(x) = f(g(x)) = f(3x) = 21x - 4

108 Spring 2003CMSC 203 - Discrete Structures108 Composition Composition of a function and its inverse: (f -1  f)(x) = f -1 (f(x)) = x The composition of a function and its inverse is the identity function i(x) = x.

109 Spring 2003CMSC 203 - Discrete Structures109 Graphs The graph of a function f:A  B is the set of ordered pairs {(a, b) | a  A and f(a) = b}. The graph is a subset of A  B that can be used to visualize f in a two-dimensional coordinate system.

110 Spring 2003CMSC 203 - Discrete Structures110 Floor and Ceiling Functions The floor and ceiling functions map the real numbers onto the integers (R  Z). The floor function assigns to r  R the largest z  Z with z  r, denoted by  r . Examples:  2.3  = 2,  2  = 2,  0.5  = 0,  -3.5  = -4 The ceiling function assigns to r  R the smallest z  Z with z  r, denoted by  r . Examples:  2.3  = 3,  2  = 2,  0.5  = 1,  -3.5  = -3

111 Spring 2003CMSC 203 - Discrete Structures111 Exercises I recommend Exercises 1 and 15 in Section 1.6. It may also be useful to study the graph displays in that section. Another question: What do all graph displays for any function f:R  R have in common?


Download ppt "Spring 2003CMSC 203 - Discrete Structures1 Let’s get started with... Logic !"

Similar presentations


Ads by Google