Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Let’s get started with... Logic! Spring 2003 CMSC 203 - Discrete Structures 1 Logic • Crucial for mathematical reasoning • Important for program design • Used for designing electronic circuitry • Logic is a system based on propositions. • 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). • Corresponds to 1 and 0 in digital circuits Spring 2003 CMSC 203 - Discrete Structures 2 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 Spring 2003 CMSC 203 - Discrete Structures 3 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 Spring 2003 CMSC 203 - Discrete Structures 4 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. Spring 2003 CMSC 203 - Discrete Structures 5 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 Spring 2003 CMSC 203 - Discrete Structures 6 The Statement/Proposition Game “Please do not fall asleep.” Is this a statement? no It’s a request. Is this a proposition? no Only statements can be propositions. Spring 2003 CMSC 203 - Discrete Structures 7 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 Spring 2003 CMSC 203 - Discrete Structures 8 The Statement/Proposition Game “x < y if and only if y > x.” Is this a statement? yes Is this a proposition? yes … because its truth value does not depend on specific values of x and y. What is the truth value of the proposition? Spring 2003 CMSC 203 - Discrete Structures true 9 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. Spring 2003 CMSC 203 - Discrete Structures 10 Logical Operators (Connectives) We will examine the following logical operators: • Implication ) (AND, ) (OR, ) (XOR, ) (if – then, ) • Biconditional (if and only if, • Negation • Conjunction • Disjunction • Exclusive-or (NOT, ) Truth tables can be used to show how these operators can combine propositions to Spring 2003 CMSC 203 - Discrete Structures compound propositions. 11 Negation (NOT) Unary Operator, Symbol: Spring 2003 P P true (T) false (F) false (F) true (T) CMSC 203 - Discrete Structures 12 Conjunction (AND) Binary Operator, Symbol: Spring 2003 P Q P Q T T T T F F F T F F F F CMSC 203 - Discrete Structures 13 Disjunction (OR) Binary Operator, Symbol: Spring 2003 P Q P Q T T T T F T F T T F F F CMSC 203 - Discrete Structures 14 Exclusive Or (XOR) Binary Operator, Symbol: Spring 2003 P Q P Q T T F T F T F T T F F F CMSC 203 - Discrete Structures 15 Implication (if - then) Binary Operator, Symbol: Spring 2003 P Q P Q T T T T F F F T T F F T CMSC 203 - Discrete Structures 16 Biconditional (if and only if) Binary Operator, Symbol: Spring 2003 P Q P Q T T T T F F F T F F F T CMSC 203 - Discrete Structures 17 Statements and Operators Statements and operators can be combined in any way to form new statements. P Q P Q (P)( Q) T T F F F T F F T T F T T F T F F T T T Spring 2003 CMSC 203 - Discrete Structures 18 Statements and Operations Statements and operators can be combined in any way to form new statements. (P)( Q) P Q T T T F F T F F T T F T F T T F F F T T Spring 2003 PQ (PQ) CMSC 203 - Discrete Structures 19 Exercises • 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. • School is closed if more than 2 feet of snow falls or if the wind chill is below -100. Spring 2003 CMSC 203 - Discrete Structures 20 Equivalent Statements (P)(Q (PQ) ( P)( ) Q) P Q (PQ) T T F F T T F T T T F T T T T F F T T T The statements (PQ) and ( P) ( Q) are logically equivalent, since they have the same truth table, or put it in another way, (PQ) ( P) ( Q) is always Spring 2003 CMSC 203 - Discrete Structures 21 true. Tautologies and Contradictions A tautology is a statement that is always true. Examples: – R (R) – (PQ) (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. Spring 2003 CMSC 203 - Discrete Structures 22 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) Spring 2003 CMSC 203 - Discrete Structures 23 Equivalence Equivalence laws – – – – – – – – – Identity laws, Domination laws, Idempotent laws, Double negation law, Commutative laws, Associative laws, Distributive laws, De Morgan’s laws, Law with implication Spring 2003 P T P, P F F, P P P, ( P) P P Q Q P, P (Q R) (P Q) R, P (Q R) (P Q) (P R), (PQ) ( P) ( Q) P Q PQ CMSC 203 - Discrete Structures 24 Exercises • Show that P Q P Q: by truth table • Show that (P Q) (P R) P (Q R): by equivalence laws (q20, p27): – Law with implication on both sides – Distribution law on LHS Spring 2003 CMSC 203 - Discrete Structures 25 Summary, Sections 1.1, 1.2 • Proposition • Truth value • Truth table • Operators and their truth tables • Equivalence of propositional statements – Definition – Proving equivalence (by truth table or equivalence laws) Spring 2003 CMSC 203 - Discrete Structures 26 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) ? false What is the truth value of P(9) ? true Spring 2003 CMSC 203 - Discrete Structures 27 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. true What is the truth value of Q(2, 3, 5) ? 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. Spring 2003 CMSC 203 - Discrete Structures 28 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.) Spring 2003 CMSC 203 - Discrete Structures 29 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) Spring 2003 CMSC 203 - Discrete Structures 30 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).” (Note: x P(x) is either true or false, so it is a proposition, but no propositional function.) Spring 2003 CMSC 203 - Discrete Structures 31 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.” Spring 2003 CMSC 203 - Discrete Structures 32 Quantification Another example: Let the universe of discourse be the real numbers. What does xy (x + y = 320) mean ? “For every x there exists a y so that x + y = 320.” Is it true? yes Is it true for the natural numbers? no Spring 2003 CMSC 203 - Discrete Structures 33 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. Spring 2003 CMSC 203 - Discrete Structures 34 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 Spring 2003 CMSC 203 - Discrete Structures 35 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” Spring 2003 CMSC 203 - Discrete Structures 36 Summary, Sections 1.3, 1.4 • Propositional functions (predicates) • Universal and existential quantifiers, and the duality of the two • When predicates become propositions • Nested quantifiers • Logical expressions formed by predicates, operators, and quantifiers Spring 2003 CMSC 203 - Discrete Structures 37 Let’s proceed to… Mathematical Reasoning Spring 2003 CMSC 203 - Discrete Structures 38 Mathematical Reasoning We need mathematical reasoning to • determine whether a mathematical argument is correct or incorrect and • 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). Spring 2003 CMSC 203 - Discrete Structures 39 Terminology 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. Spring 2003 CMSC 203 - Discrete Structures 40 Terminology 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. Spring 2003 CMSC 203 - Discrete Structures 41 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: The two hypotheses p and p q are p written in a column, and the conclusion p q below a bar, where means “therefore”. ____ q Spring 2003 CMSC 203 - Discrete Structures 42 Rules of Inference The general form of a rule of inference is: p1 p2 . . . pn ____ q Spring 2003 The rule states that if p1 and p2 and … and pn 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. CMSC 203 - Discrete Structures 43 Rules of Inference p _____ Addition pq q p q Modus _____ tollens p pq _____ Simplification p p q q r _____ p r pq p _____ q p q _____ Conjunction pq Spring 2003 CMSC 203 - Discrete Structures Hypothetical syllogism Disjunctive syllogism 44 Arguments 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 Spring 2003 CMSC 203 - Discrete Structures 45 Arguments Example: “If 101 is divisible by 3, then 1012 is divisible by 9. 101 is divisible by 3. Consequently, 1012 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 1022 is divisible by 9. Spring 2003 CMSC 203 - Discrete Structures 46 Arguments Which rule of inference was used in the last argument? p: “101 is divisible by 3.” q: “1012 is divisible by 9.” p p q Modus _____ ponens q Unfortunately, one of the hypotheses (p) is false. Therefore, the conclusion q is incorrect. Spring 2003 CMSC 203 - Discrete Structures 47 Arguments 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. Spring 2003 CMSC 203 - Discrete Structures 48 Arguments 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 q r Hypothetical ______ syllogism P r Spring 2003 CMSC 203 - Discrete Structures 49 Arguments 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.” Spring 2003 CMSC 203 - Discrete Structures 50 Arguments i: “Gary is intelligent.” a: “Gary is a good actor.” c: “Gary can count from 1 to 10.” Step Step Step Step Step 1: 2: 3: 4: 5: c i c i ai a Hypothesis Hypothesis Modus tollens Steps 1 & 2 Hypothesis Disjunctive Syllogism Steps 3 & 4 Conclusion: a (“Gary is a good actor.”) Spring 2003 CMSC 203 - Discrete Structures 51 Arguments 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. Spring 2003 CMSC 203 - Discrete Structures 52 Rules of Inference for Quantified Statements x P(x) __________ P(c) if cU Universal instantiation P(c) for an arbitrary cU ___________________ x P(x) Universal generalization x P(x) ______________________ P(c) for some element cU Existential instantiation P(c) for some element cU ____________________ x P(x) Existential generalization Spring 2003 CMSC 203 - Discrete Structures 53 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.” Spring 2003 CMSC 203 - Discrete Structures 54 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 Step 3: U(George) Hypothesis Step 4: G(George) Modus ponens using Steps 2 & 3 x P(x) __________ P(c) if cU Spring 2003 Universal instantiation CMSC 203 - Discrete Structures 55 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 n2 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 (n2 is odd). Spring 2003 CMSC 203 - Discrete Structures 56 Proving Theorems n is odd. Then n = 2k + 1, where k is an integer. Consequently, n2 = (2k + 1)2. = 4k2 + 4k + 1 = 2(2k2 + 2k) + 1 Since n2 can be written in this form, it is odd. Spring 2003 CMSC 203 - Discrete Structures 57 Proving Theorems Indirect proof: An implication p q is equivalent to its contrapositive 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). Spring 2003 CMSC 203 - Discrete Structures 58 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). Spring 2003 CMSC 203 - Discrete Structures 59 Summary, Section 1.5 • Terminology (axiom, theorem, conjecture, etc.) • Rules of inference (Tables 1 and 2) • Valid argument (hypotheses and conclusion) • Construction of valid argument using rules of inference • Direct and indirect proofs • Other proof methods (e.g., induction, pigeon hole) will be introduced in later chapters Spring 2003 CMSC 203 - Discrete Structures 60 … and now for something completely different… Set Theory Actually, you will see that logic and set theory are very closely related. Spring 2003 CMSC 203 - Discrete Structures 61 Set Theory • Set: Collection of objects (“elements”) • aA “a is an element of A” “a is a member of A” • aA “a is not an element of A” • A = {a1, a2, …, an} “A contains a1, …, an” • Order of elements is insignificant • It does not matter how often the same element is listed. Spring 2003 CMSC 203 - Discrete Structures 62 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=B • A = {dog, cat, horse}, B = {cat, horse, squirrel, dog} : AB • A = {dog, cat, horse}, B = {cat, horse, dog, dog} : A=B Spring 2003 CMSC 203 - Discrete Structures 63 Examples for Sets “Standard” Sets: • Natural numbers N = {0, 1, 2, 3, …} • Integers Z = {…, -2, -1, 0, 1, 2, …} • Positive Integers Z+ = {1, 2, 3, 4, …} • Real Numbers R = {47.3, -12, , …} • Rational Numbers Q = {1.5, 2.6, -3.8, 15, …} (correct definitions will follow) Spring 2003 CMSC 203 - Discrete Structures 64 Examples for Sets • A= “empty set/null set” • A = {z} Note: zA, but z {z} • A = {{b, c}, {c, x, d}} • 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 | x N x > 7} = {8, 9, 10, …} “set builder notation” Spring 2003 CMSC 203 - Discrete Structures 65 Examples for Sets We are now able to define the set of rational numbers Q: Q = {a/b | aZ bZ+}, or Q = {a/b | aZ bZ b0} 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. Spring 2003 CMSC 203 - Discrete Structures 66 Subsets AB “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 (xA xB) Examples: AB? true A = {3, 3, 3, 9}, B = {5, 9, 1, 3}, A B ? true A = {1, 2, 3}, B = {2, 3, 4}, false A = {3, 9}, B = {5, 9, 1, 3}, Spring 2003 CMSC 203 - Discrete Structures AB? 67 Subsets Useful rules: • A = B (A B) (B A) • (A B) (B C) A C (see Venn Diagram) U B Spring 2003 A C CMSC 203 - Discrete Structures 68 Subsets Useful rules: • A for any set A • A A for any set A Proper subsets: A B “A is a proper subset of B” A B x (xA xB) x (xB xA) or A B x (xA xB) x (xB xA) Spring 2003 CMSC 203 - Discrete Structures 69 Cardinality of Sets If a set S contains n distinct elements, nN, 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 = { xN | x 7000 } |D| = 7001 E = { xN | x 7000 } E is infinite! Spring 2003 CMSC 203 - Discrete Structures 70 The Power Set P(A) “power set of A” (also written as 2A) 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 Spring 2003 CMSC 203 - Discrete Structures 71 The Power Set Cardinality of power sets: | P(A) | = 2|A| • Imagine 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) A x y z 1 x y z 2 x y z 3 x y z 4 x y z 5 x y z 6 x y z 7 x y z 8 x y z • For 3 elements in A, there are 222 = 8 elements in P(A) Spring 2003 CMSC 203 - Discrete Structures 72 Cartesian Product The ordered n-tuple (a1, a2, a3, …, an) is an ordered collection of n objects. Two ordered n-tuples (a1, a2, a3, …, an) and (b1, b2, b3, …, bn) are equal if and only if they contain exactly the same elements in the same order, i.e. ai = bi for 1 i n. The Cartesian product of two sets is defined as: AB = {(a, b) | aA bB} Spring 2003 CMSC 203 - Discrete Structures 73 Cartesian Product Example: A = {good, bad}, B = {student, prof} AB = { (good, student), (good, prof), (bad, student), (bad, prof)} BA = { (student, good), } (prof, good), (student, bad), (prof, bad) Example: A = {x, y}, B = {a, b, c} AB = {(x, a), (x, b), (x, c), (y, a), (y, b), (y, c)} Spring 2003 CMSC 203 - Discrete Structures 74 Cartesian Product Note that: • A = • A = • For non-empty sets A and B: AB AB BA • |AB| = |A||B| The Cartesian product of two or more sets is defined as: A1A2…An = {(a1, a2, …, an) | aiA for 1 i n} Spring 2003 CMSC 203 - Discrete Structures 75 Set Operations Union: AB = {x | xA xB} Example: A = {a, b}, B = {b, c, d} AB = {a, b, c, d} Intersection: AB = {x | xA xB} Example: A = {a, b}, B = {b, c, d} AB = {b} Spring 2003 CMSC 203 - Discrete Structures 76 Set Operations Two sets are called disjoint if their intersection is empty, that is, they share no elements: AB = The difference between two sets A and B contains exactly those elements of A that are not in B: A-B = {x | xA xB} Example: A = {a, b}, B = {b, c, d}, A-B = {a} Spring 2003 CMSC 203 - Discrete Structures 77 Set Operations The complement of a set A contains exactly those elements under consideration that are not in A: Ac = U-A Example: U = N, B = {250, 251, 252, …} Bc = {0, 1, 2, …, 248, 249} Spring 2003 CMSC 203 - Discrete Structures 78 Set Identity Table 1 in Section 1.7 shows many useful equations How can we prove A(BC) = (AB)(AC)? Method I: logical equivalent xA(BC) xA x(BC) xA (xB xC) (xA xB) (xA xC) (distributive law) x(AB) x(AC) x(AB)(AC) Every logical expression can be transformed into an equivalent expression in set theory and vice versa. Spring 2003 CMSC 203 - Discrete Structures 79 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” A B C BC A(BC) AB AC (AB) (AC) 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 Spring 2003 CMSC 203 - Discrete Structures 80 … and the following mathematical appetizer is about… Functions Spring 2003 CMSC 203 - Discrete Structures 81 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: AB (note: Here, ““ has nothing to do with if… then) Spring 2003 CMSC 203 - Discrete Structures 82 Functions If f:AB, 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:AB is the set of all images of elements of A. We say that f:AB maps A to B. Spring 2003 CMSC 203 - Discrete Structures 83 Functions Let us take a look at the function f:PC 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. Spring 2003 CMSC 203 - Discrete Structures 84 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 What is its range? Spring 2003 {Moscow, Boston, Hong Kong} CMSC 203 - Discrete Structures 85 Functions Other ways to represent f: x f(x) Linda Moscow Max Boston Kathy Hong Kong Peter Boston Spring 2003 Linda Boston Max New York Kathy Hong Kong Peter Moscow CMSC 203 - Discrete Structures 86 Functions If the domain of our function f is large, it is convenient to specify f with a formula, e.g.: f:RR f(x) = 2x This leads to: f(1) = 2 f(3) = 6 f(-3) = -6 … Spring 2003 CMSC 203 - Discrete Structures 87 Functions Let f1 and f2 be functions from A to R. Then the sum and the product of f1 and f2 are also functions from A to R defined by: (f1 + f2)(x) = f1(x) + f2(x) (f1f2)(x) = f1(x) f2(x) Example: f1(x) = 3x, f2(x) = x + 5 (f1 + f2)(x) = f1(x) + f2(x) = 3x + x + 5 = 4x + 5 (f1f2)(x) = f1(x) f2(x) = 3x (x + 5) = 3x2 + 15x Spring 2003 CMSC 203 - Discrete Structures 88 Functions We already know that the range of a function f:AB is the set of all images of elements aA. If we only regard a subset SA, the set of all images of elements sS is called the image of S. We denote the image of S by f(S): f(S) = {f(s) | sS} Spring 2003 CMSC 203 - Discrete Structures 89 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} Spring 2003 CMSC 203 - Discrete Structures 90 Properties of Functions A function f:AB is said to be one-to-one (or injective), if and only if x, yA (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. Spring 2003 CMSC 203 - Discrete Structures 91 Properties of Functions And again… f(Linda) = Moscow f(Max) = Boston f(Kathy) = Hong Kong f(Peter) = Boston g(Linda) = Moscow g(Max) = Boston g(Kathy) = Hong Kong g(Peter) = New York Is f one-to-one? Is g one-to-one? No, Max and Peter are mapped onto the same element of the image. Yes, each element is assigned a unique element of the image. Spring 2003 CMSC 203 - Discrete Structures 92 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, yA (f(x) = f(y) x = y) Example: f:RR f(x) = x2 Disproof by counterexample: f(3) = f(-3), but 3 -3, so f is not one-to-one. Spring 2003 CMSC 203 - Discrete Structures 93 Properties of Functions … and yet another example: f:RR f(x) = 3x One-to-one: x, yA (f(x) = f(y) x = y) To show: f(x) f(y) whenever x y xy 3x 3y f(x) f(y), so if x y, then f(x) f(y), that is, f is one-to-one. Spring 2003 CMSC 203 - Discrete Structures 94 Properties of Functions A function f:AB with A,B R is called strictly increasing, if x,yA (x < y f(x) < f(y)), and strictly decreasing, if x,yA (x < y f(x) > f(y)). Obviously, a function that is either strictly increasing or strictly decreasing is one-to-one. Spring 2003 CMSC 203 - Discrete Structures 95 Properties of Functions A function f:AB is called onto, or surjective, if and only if for every element bB there is an element aA with f(a) = b. In other words, f is onto if and only if its range is its entire codomain. A function f: AB 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|. Spring 2003 CMSC 203 - Discrete Structures 96 Properties of Functions Examples: In the following examples, we use the arrow representation to illustrate functions f:AB. In each example, the complete sets A and B are shown. Spring 2003 CMSC 203 - Discrete Structures 97 Properties of Functions Linda Boston Max New York Kathy Hong Kong Peter Moscow Spring 2003 Is f injective? No. Is f surjective? No. Is f bijective? No. CMSC 203 - Discrete Structures 98 Properties of Functions Linda Boston Max New York Kathy Hong Kong Peter Moscow Is f injective? No. Is f surjective? Yes. Is f bijective? No. Paul Spring 2003 CMSC 203 - Discrete Structures 99 Properties of Functions Linda Boston Max New York Kathy Hong Kong Peter Moscow Is f injective? Yes. Is f surjective? No. Is f bijective? No. Lübeck Spring 2003 CMSC 203 - Discrete Structures 100 Properties of Functions Linda Boston Max New York Kathy Hong Kong Peter Moscow Is f injective? No! f is not even a function! Lübeck Spring 2003 CMSC 203 - Discrete Structures 101 Properties of Functions Linda Boston Max New York Kathy Hong Kong Peter Moscow Helena Lübeck Spring 2003 Is f injective? Yes. Is f surjective? Yes. Is f bijective? Yes. CMSC 203 - Discrete Structures 102 Inversion An interesting property of bijections is that they have an inverse function. The inverse function of the bijection f:AB is the function f-1:BA with f-1(b) = a whenever f(a) = b. Spring 2003 CMSC 203 - Discrete Structures 103 Inversion Example: The inverse function f-1 is given by: f(Linda) = Moscow f(Max) = Boston f(Kathy) = Hong Kong f(Peter) = Lübeck f(Helena) = New York f-1(Moscow) = Linda f-1(Boston) = Max f-1(Hong Kong) = Kathy f-1(Lübeck) = Peter f-1(New York) = Helena Clearly, f is bijective. Inversion is only possible for bijections (= invertible functions) Spring 2003 CMSC 203 - Discrete Structures 104 Inversion Linda Boston f Max New York f-1 Kathy Hong Kong Peter Moscow Helena Lübeck Spring 2003 f-1:CP is no function, because it is not defined for all elements of C and assigns two images to the preimage New York. CMSC 203 - Discrete Structures 105 Composition The composition of two functions g:AB and f:BC, denoted by fg, is defined by (fg)(a) = f(g(a)) This means that • first, function g is applied to element aA, mapping it onto an element of B, • 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. Spring 2003 CMSC 203 - Discrete Structures 106 Composition Example: f(x) = 7x – 4, g(x) = 3x, f:RR, g:RR (fg)(5) = f(g(5)) = f(15) = 105 – 4 = 101 (fg)(x) = f(g(x)) = f(3x) = 21x - 4 Spring 2003 CMSC 203 - Discrete Structures 107 Composition Composition of a function and its inverse: (f-1f)(x) = f-1(f(x)) = x The composition of a function and its inverse is the identity function i(x) = x. Spring 2003 CMSC 203 - Discrete Structures 108 Graphs The graph of a function f:AB is the set of ordered pairs {(a, b) | aA and f(a) = b}. The graph is a subset of AB that can be used to visualize f in a two-dimensional coordinate system. Spring 2003 CMSC 203 - Discrete Structures 109 Floor and Ceiling Functions The floor and ceiling functions map the real numbers onto the integers (RZ). The floor function assigns to rR the largest zZ with z r, denoted by r. Examples: 2.3 = 2, 2 = 2, 0.5 = 0, -3.5 = -4 The ceiling function assigns to rR the smallest zZ with z r, denoted by r. Examples: 2.3 = 3, 2 = 2, 0.5 = 1, -3.5 = -3 Spring 2003 CMSC 203 - Discrete Structures 110 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:RR have in common? Spring 2003 CMSC 203 - Discrete Structures 111