discrete computational structures cse 2353 fall 2011 most slides modified from discrete mathematical...

216
DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

Upload: madison-sanders

Post on 03-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

DISCRETE COMPUTATIONAL STRUCTURES

CSE 2353

Fall 2011Most slides modified from

Discrete Mathematical Structures: Theory and Applications

Page 2: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 OUTLINE

1. Sets 2. Logic3. Proof Techniques4. Integers and Induction5. Relations and Posets6. Functions7. Counting Principles8. Boolean Algebra

Page 3: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 OUTLINE

1.Sets 2. Logic3. Proof Techniques4. Integers and Induction5. Relations and Posets6. Functions7. Counting Principles8. Boolean Algebra

Page 4: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Sets: Learning Objectives

Learn about sets

Explore various operations on sets

Become familiar with Venn diagrams

CS:

Learn how to represent sets in computer memory

Learn how to implement set operations in programs

Page 5: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Sets

Definition: Well-defined collection of distinct objectsMembers or Elements: part of the collectionRoster Method: Description of a set by listing the

elements, enclosed with bracesExamples:

Vowels = {a,e,i,o,u}Primary colors = {red, blue, yellow}

Membership examples “a belongs to the set of Vowels” is written as: a Vowels “j does not belong to the set of Vowels: j Vowels

Page 6: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Sets

Set-builder method

A = { x | x S, P(x) } or A = { x S | P(x) }

A is the set of all elements x of S, such that x satisfies the property P

Example:

If X = {2,4,6,8,10}, then in set-builder notation, X can be described as

X = {n Z | n is even and 2 n 10}

Page 7: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Sets Standard Symbols which denote sets of numbers

N : The set of all natural numbers (i.e.,all positive integers) Z : The set of all integers Z+ : The set of all positive integers Z* : The set of all nonzero integers E : The set of all even integers Q : The set of all rational numbers Q* : The set of all nonzero rational numbers Q+ : The set of all positive rational numbers R : The set of all real numbers R* : The set of all nonzero real numbers R+ : The set of all positive real numbers C : The set of all complex numbers C* : The set of all nonzero complex numbers

Page 8: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Sets

Subsets

“X is a subset of Y” is written as X Y

“X is not a subset of Y” is written as X Y

Example:

X = {a,e,i,o,u}, Y = {a, i, u} and z = {b,c,d,f,g}

Y X, since every element of Y is an element of X

Y Z, since a Y, but a Z

Page 9: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Sets

SupersetX and Y are sets. If X Y, then “X is contained in

Y” or “Y contains X” or Y is a superset of X, written Y X

Proper SubsetX and Y are sets. X is a proper subset of Y if X

Y and there exists at least one element in Y that is not in X. This is written X Y.

Example: X = {a,e,i,o,u}, Y = {a,e,i,o,u,y}

X Y , since y Y, but y X

Page 10: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Sets Set Equality

X and Y are sets. They are said to be equal if every element of X is an element of Y and every element of Y is an element of X, i.e. X Y and Y X

Examples:{1,2,3} = {2,3,1}X = {red, blue, yellow} and Y = {c | c is a primary

color} Therefore, X=Y

Empty (Null) SetA Set is Empty (Null) if it contains no elements.The Empty Set is written as The Empty Set is a subset of every set

Page 11: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Sets

Finite and Infinite SetsX is a set. If there exists a nonnegative integer n

such that X has n elements, then X is called a finite set with n elements.

If a set is not finite, then it is an infinite set.

Examples: Y = {1,2,3} is a finite set

P = {red, blue, yellow} is a finite set

E , the set of all even integers, is an infinite set

, the Empty Set, is a finite set with 0 elements

Page 12: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Sets

Cardinality of Sets

Let S be a finite set with n distinct elements, where n ≥ 0. Then |S| = n , where the cardinality (number of elements) of S is n

Example:If P = {red, blue, yellow}, then |P| = 3

Singleton A set with only one element is a singleton

Example:H = { 4 }, |H| = 1, H is a singleton

Page 13: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Sets

Power Set

For any set X ,the power set of X ,written P(X),is the set of all subsets of X

Example:

If X = {red, blue, yellow}, then P(X) = { , {red}, {blue}, {yellow}, {red,blue}, {red, yellow}, {blue, yellow}, {red, blue, yellow} }

Universal Set

An arbitrarily chosen, but fixed set

Page 14: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Sets

Venn DiagramsAbstract visualization of

a Universal set, U as a rectangle, with all subsets of U shown as circles.

Shaded portion represents the corresponding set

Example: In Figure 1, Set X,

shaded, is a subset of the Universal set, U

Page 15: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Set Operations and Venn Diagrams

Union of Sets

Example: If X = {1,2,3,4,5} and Y = {5,6,7,8,9}, then XUY = {1,2,3,4,5,6,7,8,9}

Page 16: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Sets

Intersection of Sets

Example: If X = {1,2,3,4,5} and Y = {5,6,7,8,9}, then X ∩ Y = {5}

Page 17: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Sets

Disjoint Sets

Example: If X = {1,2,3,4,} and Y = {6,7,8,9}, then X ∩ Y =

Page 18: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Sets

Page 19: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Sets

Page 20: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Sets

Difference

• Example: If X = {a,b,c,d} and Y = {c,d,e,f}, then X – Y = {a,b} and Y – X = {e,f}

Page 21: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Sets

Complement

Example: If U = {a,b,c,d,e,f} and X = {c,d,e,f}, then X’ = {a,b}

Page 22: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Sets

Page 23: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Sets

Page 24: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Sets

Page 25: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

SetsOrdered Pair

X and Y are sets. If x X and y Y, then an ordered pair is written (x,y)

Order of elements is important. (x,y) is not necessarily equal to (y,x)

Cartesian ProductThe Cartesian product of two sets X and Y ,written

X × Y ,is the setX × Y ={(x,y)|x ∈ X , y ∈ Y}

For any set X, X × = = × XExample:

X = {a,b}, Y = {c,d} X × Y = {(a,c), (a,d), (b,c), (b,d)}Y × X = {(c,a), (d,a), (c,b), (d,b)}

Page 26: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Computer Representation of Sets

A Set may be stored in a computer in an array as an unordered listProblem: Difficult to perform operations on the set.

Linked ListSolution: use Bit Strings (Bit Map)

A Bit String is a sequence of 0s and 1sLength of a Bit String is the number of digits in the

stringElements appear in order in the bit string

A 0 indicates an element is absent, a 1 indicates that the element is present

A set may be implemented as a file

Page 27: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Computer Implementation of Set Operations

Bit Map

File

OperationsIntersection

Union

Element of

Difference

Complement

Power Set

Page 28: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Special “Sets” in CS

Multiset

Ordered Set

Page 29: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 OUTLINE

1. Sets 2.Logic

3. Proof Techniques4. Relations and Posets

5. Functions6. Counting Principles

7. Boolean Algebra

Page 30: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Logic: Learning Objectives

Learn about statements (propositions)

Learn how to use logical connectives to combine statements

Explore how to draw conclusions using various argument forms

Become familiar with quantifiers and predicates

CS

Boolean data type

If statement

Impact of negations

Implementation of quantifiers

Page 31: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Mathematical Logic

Definition: Methods of reasoning, provides rules and techniques to determine whether an argument is valid

Theorem: a statement that can be shown to be true (under certain conditions)

Example: If x is an even integer, then x + 1 is an odd integer

This statement is true under the condition that x is an integer is true

Page 32: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Mathematical Logic

A statement, or a proposition, is a declarative sentence that is either true or false, but not both

Lowercase letters denote propositionsExamples:

p: 2 is an even number (true)

q: 3 is an odd number (true)

r: A is a consonant (false)

The following are not propositions:p: My cat is beautiful

q: Are you in charge?

Page 33: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Mathematical Logic Truth value

One of the values “truth” (T) or “falsity” (F) assigned to a statement

NegationThe negation of p, written ~p, is the statement obtained by

negating statement p Example:

p: A is a consonant~p: it is the case that A is not a consonant

Truth Table

Page 34: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Mathematical Logic

ConjunctionLet p and q be statements.The

conjunction of p and q, written p ^ q , is the statement formed by joining statements p and q using the word “and”

The statement p ^ q is true if both p and q are true; otherwise p ^ q is false

Truth Table for Conjunction:

Page 35: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Mathematical Logic

DisjunctionLet p and q be statements. The disjunction of p

and q, written p v q , is the statement formed by joining statements p and q using the word “or”

The statement p v q is true if at least one of the statements p and q is true; otherwise p v q is false

The symbol v is read “or”

Truth Table for Disjunction:

Page 36: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Mathematical Logic Implication

Let p and q be statements.The statement “if p then q” is called an implication or condition.

The implication “if p then q” is written p q

“If p, then q””p is called the hypothesis, q is called the

conclusionTruth Table for

Implication:

Page 37: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Mathematical Logic

ImplicationLet p: Today is Sunday and q: I will wash the car. p q :

If today is Sunday, then I will wash the carThe converse of this implication is written q p

If I wash the car, then today is SundayThe inverse of this implication is ~p ~q

If today is not Sunday, then I will not wash the carThe contrapositive of this implication is ~q ~p

If I do not wash the car, then today is not Sunday

Page 38: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Mathematical Logic

BiimplicationLet p and q be statements. The statement “p if and

only if q” is called the biimplication or biconditional of p and q

The biconditional “p if and only if q” is written p q“p if and only if q”Truth Table for the

Biconditional:

Page 39: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Mathematical Logic

Statement Formulas Definitions

Symbols p ,q ,r ,...,called statement variables

Symbols ~, ^, v, →,and ↔ are called logical

connectives1) A statement variable is a statement formula2) If A and B are statement formulas, then the

expressions (~A ), (A ^ B) , (A v B ), (A → B )

and (A ↔ B ) are statement formulas Expressions are statement formulas that are

constructed only by using 1) and 2) above

Page 40: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Mathematical Logic

Precedence of logical connectives is:

~ highest

^ second highest

v third highest

→ fourth highest

↔ fifth highest

Page 41: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Mathematical Logic

Tautology

A statement formula A is said to be a tautology if the truth value of A is T for any assignment of the truth values T and F to the statement variables occurring in A

Contradiction

A statement formula A is said to be a contradiction if the truth value of A is F for any assignment of the truth values T and F to the statement variables occurring in A

Page 42: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Mathematical Logic

Logically ImpliesA statement formula A is said to logically imply a

statement formula B if the statement formula A → B is a tautology. If A logically implies B, then symbolically we write A → B

Logically EquivalentA statement formula A is said to be logically

equivalent to a statement formula B if the statement formula A ↔ B is a tautology. If A is logically equivalent to B , then symbolically we write A ≡ B

Page 43: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Mathematical Logic

Page 44: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Validity of Arguments

Proof: an argument or a proof of a theorem consists of a finite sequence of statements ending in a conclusion

Argument: a finite sequence of statements.

The final statement, , is the conclusion, and the statements are the premises of the argument.

An argument is logically valid if the statement formula is a tautology.

AAAAA nn,...,,,,

1321

An

AAAA n 1321...,,,,

AAAAA nn

1321...,,,,

Page 45: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Validity of Arguments

Valid Argument FormsModus Ponens:

Modus Tollens :

Page 46: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Validity of Arguments

Valid Argument FormsDisjunctive Syllogisms:

Hypothetical Syllogism:

Page 47: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Validity of ArgumentsValid Argument Forms

Dilemma:

Conjunctive Simplification:

Page 48: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Validity of Arguments

Valid Argument FormsDisjunctive Addition:

Conjunctive Addition:

Page 49: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Quantifiers and First Order Logic

Predicate or Propositional Function

Let x be a variable and D be a set; P(x) is a sentence

Then P(x) is called a predicate or propositional function with respect to the set D if for each value of x in D, P(x) is a statement; i.e., P(x) is true or false

Moreover, D is called the domain of the discourse and x is called the free variable

Page 50: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Quantifiers and First Order Logic

Universal Quantifier

Let P(x) be a predicate and let D be the domain of the discourse. The universal quantification of P(x) is the statement:

For all x, P(x) or

For every x, P(x)

The symbol is read as “for all and every”

Two-place predicate:

)( xPx),( yxPyx

Page 51: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Quantifiers and First Order Logic

Existential Quantifier

Let P(x) be a predicate and let D be the domain of the discourse. The existential quantification of P(x) is the statement:

There exists x, P(x)

The symbol is read as “there exists”

Bound VariableThe variable appearing in: or

)( xPx

)( xPx )( xPx

Page 52: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Quantifiers and First Order Logic

Negation of Predicates (DeMorgan’s Laws) Example:

If P(x) is the statement “x has won a race” where the domain of discourse is all runners, then the universal quantification of P(x) is , i.e., every runner has won a race. The negation of this statement is “it is not the case that every runner has won a race. Therefore there exists at least one runner who has not won a race. Therefore:

and so,

)(~ )( ~ xPxxPx

)( xPx

)(~ xPx

)(~ )( ~ xPxxPx

Page 53: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Quantifiers and First Order Logic

Negation of Predicates (DeMorgan’s Laws)

)(~ )( ~ xPxxPx

Page 54: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11 54

Arguments in Predicate Logic

Universal SpecificationIf is true, then F(a) is true

Universal GeneralizationIf F(a) is true then is true

Existential SpecificationIf is true, then where F(a) is true

Existential GeneralizationIf F(a) is true then is true

)( xFx

Ua )( xFx

)( xFx

Ua

Ua

Ua

)( xFx

Page 55: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Logic and CS

Logic is basis of ALULogic is crucial to IF statements

ANDORNOT

Implementation of quantifiersLooping

Database Query LanguagesRelational AlgebraRelational CalculusSQL

Page 56: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 OUTLINE

1. Sets 2. Logic

3. Proof Techniques4. Integers and Inductions

5. Relations and Posets6. Functions

7. Counting Principles8. Boolean Algebra

Page 57: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Proof Technique: Learning Objectives

Learn various proof techniques

Direct

Indirect

Contradiction

Induction

Practice writing proofs

CS: Why study proof techniques?

Page 58: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Proof Techniques

Theorem

Statement that can be shown to be true (under certain conditions)

Typically Stated in one of three ways

As Facts

As Implications

As Biimplications

Page 59: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Proof Techniques

Direct Proof or Proof by Direct MethodProof of those theorems that can be

expressed in the form ∀x (P(x) → Q(x)), D is the domain of discourse

Select a particular, but arbitrarily chosen, member a of the domain D

Show that the statement P(a) → Q(a) is true. (Assume that P(a) is true

Show that Q(a) is trueBy the rule of Universal Generalization (UG), ∀x (P(x) → Q(x)) is true

Page 60: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Proof Techniques

Indirect Proof

The implication p → q is equivalent to the implication (∼q → ∼p)

Therefore, in order to show that p → q is true, one can also show that the implication (∼q → ∼p) is true

To show that (∼q → ∼p) is true, assume that the negation of q is true and prove that the negation of p is true

Page 61: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Proof Techniques

Proof by Contradiction Assume that the conclusion is not true and then

arrive at a contradictionExample: Prove that there are infinitely many prime

numbersProof:

Assume there are not infinitely many prime numbers, therefore they are listable, i.e. p1,p2,…,pn

Consider the number q = p1p2…pn+1. q is not divisible by any of the listed primes

Therefore, q is a prime. However, it was not listed.Contradiction! Therefore, there are infinitely many

primes.

Page 62: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Proof Techniques

Proof of Biimplications To prove a theorem of the form ∀x (P(x) ↔

Q(x )), where D is the domain of the discourse, consider an arbitrary but fixed element a from D. For this a, prove that the biimplication P(a) ↔ Q(a) is true

The biimplication p ↔ q is equivalent to (p → q) ∧ (q → p)

Prove that the implications p → q and q → p are trueAssume that p is true and show that q is trueAssume that q is true and show that p is true

Page 63: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Proof Techniques

Proof of Equivalent Statements

Consider the theorem that says that statements p,q and r are equivalent

Show that p → q, q → r and r → p Assume p and prove q. Then assume q

and prove r Finally, assume r and prove p

What other methods are possible?

Page 64: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Other Proof Techniques

Vacuous

Trivial

Contrapositive

Counter Example

Divide into Cases

Constructive

Page 65: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Proof Basics

You can not prove by example

Page 66: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Proofs in Computer Science

Proof of program correctness

Proofs are used to verify approaches

Page 67: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 OUTLINE

1. Sets 2. Logic

3. Proof Techniques

4. Integers and Induction5. Relations and Posets

6. Functions7. Counting Principles

8. Boolean Algebra

Page 68: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Learning Objectives

Learn how the principle of mathematical induction is used to solve problems and proofs

Learn about the basic properties of integers

Explore how addition and subtraction operations are performed on binary numbers

CS

Become aware how integers are represented in computer memory

Looping

Page 69: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Mathematical Deduction

Page 70: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Mathematical Deduction

Proof of a mathematical statement by the principle of mathematical induction consists of three steps:

Page 71: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Mathematical DeductionAssume that when a domino is knocked over, the next domino

is knocked over by itShow that if the first domino is knocked over, then all the

dominoes will be knocked over

Page 72: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Mathematical Deduction

Let P(n) denote the statement that then nth domino is knocked over

Show that P(1) is trueAssume some P(k) is true, i.e. the kth domino is

knocked over for some

Prove that P(k+1) is true, i.e.

1k

)1()( kPkP

Page 73: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Mathematical Deduction

Assume that when a staircase is climbed, the next staircase is also climbed

Show that if the first staircase is climbed then all staircases can be climbed

Let P(n) denote the statement that then nth staircase is climbed

It is given that the first staircase is climbed, so P(1) is true

Page 74: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Mathematical Deduction

Suppose some P(k) is true, i.e. the kth staircase is climbed for some

By the assumption, because the kth staircase was climbed, the k+1st staircase was climbed

Therefore, P(k) is true, so

1k

)1()( kPkP

Page 75: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Mathematical Deduction

Page 76: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Mathematical Deduction

We can associate a predicate, P(n). The predicate P(n) is such that:

Page 77: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Integers

Properties of Integers

Page 78: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Integers

Page 79: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Integers

The div and mod operatorsdiv

a div b = the quotient of a and b obtained by dividing a on b.

Examples:8 div 5 = 113 div 3 = 4

moda mod b = the remainder of a and b obtained by dividing

a on b8 mod 5 = 313 mod 3 = 1

Page 80: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Integers

Page 81: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Integers

Page 82: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Integers

Relatively Prime Number

Page 83: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Integers

Least Common Multiples

Page 84: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Representation of Integers in Computers

Digital Signals0s and 1s – 0s represent low voltage, 1s high

voltageDigital signals are more reliable carriers of

information than analog signalsCan be copied from one device to another

with exact precisionMachine language is a sequence of 0s and 1s

The digit 0 or 1 is called a binary digit , or bit A sequence of 0s and 1s is sometimes referred to

as binary code

Page 85: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Representation of Integers in Computers

Decimal System or Base-10The digits that are used to represent numbers in base 10

are 0,1,2,3,4,5,6,7,8, and 9 Binary System or Base-2

Computer memory stores numbers in machine language, i.e., as a sequence of 0s and 1s

Octal System or Base-8Digits that are used to represent numbers in base 8 are

0,1,2,3,4,5,6, and 7Hexadecimal System or Base-16

Digits and letters that are used to represent numbers in base 16 are 0,1,2,3,4,5,6,7,8,9,A ,B ,C ,D ,E , and F

Page 86: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Representation of Integers in Computers

Page 87: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Representation of Integers in Computers

Two’s Complements and Operations on Binary NumbersIn computer memory, integers are

represented as binary numbers in fixed-length bit strings, such as 8, 16, 32 and 64

Assume that integers are represented as 8-bit fixed-length strings

Sign bit is the MSB (Most Significant Bit) Leftmost bit (MSB) = 0, number is positiveLeftmost bit (MSB) = 1, number is negative

Page 88: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Representation of Integers in Computers

Page 89: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Representation of Integers in Computers

One’s Complements and Operations on Binary Numbers

Page 90: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Representation of Integers in Computers

Page 91: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Prime Numbers

Example:Consider the integer 131. Observe that 2 does not divide 131. We now find all odd primes p such that p2 131. These primes are 3, 5, 7, and 11. Now none of 3, 5, 7, and 11 divides 131. Hence, 131 is a prime.

Page 92: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Prime Numbers

Page 93: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Prime Numbers

Factoring a Positive Integer

The standard factorization of n

Page 94: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Prime Numbers

Fermat’s Factoring Method

Page 95: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Prime Numbers Fermat’s Factoring Method

Page 96: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 OUTLINE

1. Sets 2. Logic

3. Proof Techniques4. Integers and Induction

5.Relations and Posets6. Functions

7. Counting Principles8. Boolean Algebra

Page 97: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Learning Objectives

Learn about relations and their basic properties

Explore equivalence relations

Become aware of closures

Learn about posets

Explore how relations are used in the design of relational databases

Page 98: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Relations

Relations are a natural way to associate objects of various sets

Page 99: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Relations

R can be described in

Roster form

Set-builder form

Page 100: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Relations

Arrow Diagram

Write the elements of A in one column

Write the elements B in another column

Draw an arrow from an element, a, of A to an element, b, of B, if (a ,b) R

Here, A = {2,3,5} and B = {7,10,12,30} and R from A into B is defined as follows: For all a A and b B, a R b if and only if a divides b

The symbol → (called an arrow) represents the relation R

Page 101: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Relations

Page 102: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Relations

Directed Graph

Let R be a relation on a finite set A

Describe R pictorially as follows:

For each element of A , draw a small or big dot and label the dot by the corresponding element of A

Draw an arrow from a dot labeled a , to another dot labeled, b , if a R b .

Resulting pictorial representation of R is called the directed graph representation of the relation R

Page 103: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Relations

Page 104: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

RelationsDomain and Range of the Relation

Let R be a relation from a set A into a set B. Then R ⊆ A x B. The elements of the relation R tell which element of A is R-related to which element of B

Page 105: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Relations

Page 106: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Relations

Page 107: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Relations

Let A = {1, 2, 3, 4} and B = {p, q, r}. Let R = {(1, q), (2, r ), (3, q), (4, p)}. Then R−1 = {(q, 1), (r , 2), (q, 3), (p, 4)}

To find R−1, just reverse the directions of the arrows

D(R) = {1, 2, 3, 4} = Im(R−1), Im(R) = {p, q, r} = D(R−1)

Page 108: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Relations

Page 109: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Relations

Constructing New Relations from Existing Relations

Page 110: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Relations

Example:Consider the relations R and S as given in Figure 3.7.The composition S ◦ R is given by Figure 3.8.

Page 111: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Relations

Page 112: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Relations

Page 113: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Relations

Page 114: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Relations

Page 115: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Relations

Page 116: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Relations

Page 117: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Relations

Page 118: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Relations

Page 119: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Partially Ordered Sets

Page 120: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Partially Ordered Sets

Page 121: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Partially Ordered Sets

Page 122: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Partially Ordered Sets

Page 123: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Partially Ordered Sets

Hasse DiagramLet S = {1, 2, 3}. Then

P(S) = {, {1}, {2}, {3}, {1, 2}, {2, 3}, {1, 3}, S}

Now (P(S),≤) is a poset, where ≤ denotes the set inclusion relation. The poset diagram of (P(S),≤) is shown in Figure 3.22

Page 124: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Partially Ordered Sets

Page 125: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Partially Ordered Sets

Hasse DiagramLet S = {1, 2, 3}. Then

P(S) = {, {1}, {2}, {3}, {1, 2}, {2, 3}, {1, 3}, S}

(P(S),≤) is a poset, where ≤ denotes the set inclusion relation

Draw the digraph of this inclusion relation (see Figure 3.23). Place the vertex A above vertex B if B ⊂ A. Now follow steps (2), (3), and (4)

Page 126: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Partially Ordered Sets

Page 127: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Partially Ordered Sets

Hasse DiagramConsider the poset (S,≤), where

S = {2, 4, 5, 10, 15, 20} and the partial order ≤ is the divisibility relation.

2 and 5 are the only minimal elements of this poset.

This poset has no least element.20 and 15 are the only maximal

elements of this poset.This poset has no greatest

element.

Page 128: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Partially Ordered Sets

Page 129: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Partially Ordered Sets

Page 130: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Partially Ordered Sets

Page 131: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Partially Ordered Sets

Page 132: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Partially Ordered Sets

Page 133: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Partially Ordered Sets

Page 134: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Partially Ordered Sets

Page 135: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Application: Relational Database

A database is a shared and integrated computer structure that storesEnd-user data; i.e., raw facts that are of interest

to the end user;Metadata, i.e., data about data through which

data are integratedA database can be thought of as a well-organized

electronic file cabinet whose contents are managed by software known as a database management system; that is, a collection of programs to manage the data and control the accessibility of the data

Page 136: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Application: Relational Database

In a relational database system, tables are considered as relations

A table is an n-ary relation, where n is the number of columns in the tables

The headings of the columns of a table are called attributes, or fields, and each row is called a record

The domain of a field is the set of all (possible) elements in that column

Page 137: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Application: Relational Database

Each entry in the ID column uniquely identifies the row containing that ID

Such a field is called a primary key

Sometimes, a primary key may consist of more than one field

Page 138: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Application: Relational Database

Structured Query Language (SQL)Information from a database is retrieved via a

query, which is a request to the database for some information

A relational database management system provides a standard language, called structured query language (SQL)

A relational database management system provides a standard language, called structured query language (SQL)

Page 139: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Application: Relational Database

Structured Query Language (SQL)An SQL contains commands to create tables,

insert data into tables, update tables, delete tables, etc.

Once the tables are created, commands can be used to manipulate data into those tables.

The most commonly used command for this purpose is the select command. The select command allows the user to do the following:Specify what information is to be retrieved and from

which tables.Specify conditions to retrieve the data in a specific form.Specify how the retrieved data are to be displayed.

Page 140: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 OUTLINE

1. Sets 2. Logic

3. Proof Techniques4. Integers and Induction5. Relations and Posets

6.Functions7. Counting Principles

8. Boolean Algebra

Page 141: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Learning Objectives

Learn about functions

Explore various properties of functions

Learn about binary operations

Page 142: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Functions

Page 143: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 144: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 145: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

FunctionsEvery function is a relationTherefore, functions on

finite sets can be described by arrow diagrams. In the case of functions, the arrow diagram may be drawn slightly differently.

If f : A → B is a function from a finite set A into a finite set B, then in the arrow diagram, the elements of A are enclosed in ellipses rather than individual boxes.

Page 146: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Functions

To determine from its arrow diagram whether a relation f from a set A into a set B is a function, two things are checked: 1) Check to see if there is an arrow from each

element of A to an element of B This would ensure that the domain of f is the set

A, i.e., D(f) = A

2) Check to see that there is only one arrow from each element of A to an element of B This would ensure that f is well defined

Page 147: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Functions

Let A = {1,2,3,4} and B = {a, b, c , d} be sets

The arrow diagram in Figure 5.6 represents the relation f from A into B

Every element of A has some image in B

An element of A is related to only one element of B; i.e., for each a ∈ A there exists a unique element b ∈ B such that f (a) = b

Page 148: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Functions

Therefore, f is a function from A into B

The image of f is the set Im(f) = {a, b, d}

There is an arrow originating from each element of A to an element of B D(f) = A

There is only one arrow from each element of A to an element of B f is well defined

Page 149: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Functions

The arrow diagram in Figure 5.7 represents the relation g from A into B

Every element of A has some image in B D(g ) = A

For each a ∈ A, there exists a unique element b ∈ B such that g(a) = b g is a function from A into

B

Page 150: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Functions

The image of g is Im(g) = {a, b, c , d} = B

There is only one arrow from each element of A to an element of B g is well defined

Page 151: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Functions

Page 152: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Functions

Page 153: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Functions Let A = {1,2,3,4} and B = {a, b,

c , d}. Let f : A → B be a function such that the arrow diagram of f is as shown in Figure 5.10

The arrows from a distinct element of A go to a distinct element of B. That is, every element of B has at most one arrow coming to it. If a1, a2 ∈ A and a1 = a2, then

f(a1) = f(a2). Hence, f is one-one.

Each element of B has an arrow coming to it. That is, each element of B has a preimage. Im(f) = B. Hence, f is onto B. It

also follows that f is a one-to-one correspondence.

Example 5.1.16

Page 154: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

FunctionsLet A = {1,2,3,4} and

B = {a, b, c , d, e} f : 1 → a, 2 → a, 3 → a,

4 → aFor this function the

images of distinct elements of the domain are not distinct. For example 1 2, but f(1) = a = f(2) .

Im(f) = {a} B. Hence, f is neither one-one nor onto B.

Example 5.1.18

Page 155: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

FunctionsLet A = {1,2,3,4} and

B = {a, b, c , d, e}

f : 1 → a, 2 → b, 3 → d, 4 → e

f is one-one. In this function, for the element c of B, the codomain, there is no element x in the domain such that f(x) = c ; i.e., c has no preimage. Hence, f is not onto B.

Page 156: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Functions

Page 157: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Functions

Let A = {1,2,3,4}, B = {a, b, c , d, e},and C = {7,8,9}. Consider the functions f : A → B, g : B → C as defined by the arrow diagrams in Figure 5.14.

The arrow diagram in Figure 5.15 describes the function h = g ◦ f : A → C.

Page 158: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Special Functions and Cardinality of a Set

Page 159: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Special Functions and Cardinality of a Set

Page 160: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Special Functions and Cardinality of a Set

Page 161: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Special Functions and Cardinality of a Set

Page 162: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Special Functions and Cardinality of a Set

Page 163: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Special Functions and Cardinality of a Set

Page 164: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Special Functions and Cardinality of a Set

Page 165: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Special Functions and Cardinality of a Set

Page 166: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Special Functions and Cardinality of a Set

Page 167: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Special Functions and Cardinality of a Set

Page 168: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 169: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Special Functions and Cardinality of a Set

Page 170: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Binary Operations

Page 171: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 172: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 173: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 OUTLINE

1. Sets 2. Logic

3. Proof Techniques4. Integers and Induction5. Relations and Posets

6. Functions

7.Counting Principles8. Boolean Algebra

Page 174: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Learning Objectives

Learn the basic counting principles—multiplication and addition

Explore the pigeonhole principle

Learn about permutations

Learn about combinations

Page 175: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Basic Counting Principles

Page 176: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Basic Counting Principles

Page 177: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Pigeonhole Principle

The pigeonhole principle is also known as the Dirichlet drawer principle, or the shoebox principle.

Page 178: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Pigeonhole Principle

Page 179: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Permutations

Page 180: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Permutations

Page 181: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Combinations

Page 182: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Combinations

Page 183: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Generalized Permutations and Combinations

Page 184: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 OUTLINE

1. Sets 2. Logic

3. Proof Techniques4. Integers and Induction5. Relations and Posets

6. Functions7. Counting Principles

8.Boolean Algebra

Page 185: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Two-Element Boolean AlgebraLet B = {0, 1}.

Page 186: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 187: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 188: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 189: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Two-Element Boolean Algebra

Page 190: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Two-Element Boolean Algebra

Page 191: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 192: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 193: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 194: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 195: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 196: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Boolean Algebra

Page 197: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Boolean Algebra

Page 198: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Logical Gates and Combinatorial Circuits

Page 199: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Logical Gates and Combinatorial Circuits

Page 200: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Logical Gates and Combinatorial Circuits

Page 201: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Logical Gates and Combinatorial Circuits

Page 202: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 203: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 204: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 205: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 206: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 207: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 208: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 209: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 210: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 211: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 212: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 213: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Logical Gates and Combinatorial Circuits

The Karnaugh map, or K-map for short, can be used to minimize a sum-of-product Boolean expression.

Page 214: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 215: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11

Page 216: DISCRETE COMPUTATIONAL STRUCTURES CSE 2353 Fall 2011 Most slides modified from Discrete Mathematical Structures: Theory and Applications

CSE 2353 f11