1. Trang chủ
  2. » Công Nghệ Thông Tin

Applied Mathematics for Database Professionals phần 3 docx

41 239 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Quantifiers and Finite Sets
Trường học University of Information Technology and Communication
Chuyên ngành Applied Mathematics
Thể loại Lecture notes
Năm xuất bản 2007
Thành phố Hanoi
Định dạng
Số trang 41
Dung lượng 426,37 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

So we have two important quantifier rewrite rules, as shown in Listing 3-15.Listing 3-15.Rewrite Rules for Negation of Quantifiers ¬ ∀x∈S: Px ⇔ ∃x∈S: ¬Px ¬ ∃x∈S: Px ⇔ ∀x∈S: ¬Px Do

Trang 1

Quantifiers and Finite Sets

Although databases grow larger and larger these days, they are always finite by definition—asopposed to sets in mathematics, which are sometimes infinite If you work with finite setsonly, you can always treat the existential and universal quantifiers as iterated OR and iteratedAND constructs, respectively Iteration is done over all elements of the set from which the quan-tifier parameter is drawn; for each element value, the occurrences of the variable inside thepredicate are replaced by that value This alternative way of interpreting quantified expres-sions might help when you investigate their truth values

For example, suppose P is the set of all prime numbers less than 15:

P := {2,3,5,7,11,13}

Then these two propositions

∃x∈P: x > 12

∀y∈P: y > 3are logically equivalent with the following two propositions:

Iterate x over all elements in P: 2>12∨3>12∨5>12∨7>12∨11>12∨13>12Iterate y over all elements in P: 2>3 ∧3>3 ∧5>3 ∧7>3 ∧11>3 ∧13>3You could now manually compute the truth value of both predicates If you evaluate thetruth value of every disjunct, the first proposition becomes FALSE∨FALSE∨ ∨FALSE∨TRUE,which results in TRUE If you do the same for the conjuncts of the second proposition, you getFALSE∧FALSE∧TRUE∧ ∧TRUE, which results in FALSE

Quantification Over the Empty Set

The empty set (∅) contains no elements Because it still is a set, you can quantify over theempty set The following two expressions are valid propositions:

∃x∈∅: P(x)

∀y∈∅: Q(y)But what does it mean to say that there exists an element x in the empty set for whichP(x) holds? Clearly, the empty set has no elements Therefore, regardless of the involved predi-cate P, whenever we propose that there’s such an element in the empty set, we must be statingsomething that’s unmistakably FALSE, because it’s impossible to choose an element from theempty set

The second proposition—universal quantification over the empty set—is less intuitive Bytreating universal quantification as an iterated AND, you’ll notice that a universal quantificationover the empty set delivers no conjunct Such quantification adds no predicate at all, and cantherefore be considered the weakest predicate possible, which is TRUE (recall the paragraph onpredicate strength in the “Truth Tables” section in Chapter 1) As you’ll see when we discusssome additional rewrite rules regarding the negation of quantifiers in the section “Negation ofQuantifiers,” it makes complete sense Table 3-2 lists these two important rewrite rules regard-ing quantification over the empty set

C H A P T E R 3 S O M E M O R E L O G I C

54

Trang 2

Table 3-2.Quantification Over the Empty Set—Rewrite Rules

Quantification Evaluates to

(∃x∈∅: P(x) ) FALSE, regardless of predicate P(x)

(∀y∈∅: Q(y) ) TRUE, regardless of predicate Q(y)

Nesting Quantifiers

Quantifiers can be nested That is, you can use multiple quantifiers in a single predicate Let’s

look at an example first Suppose the following two sets are given:

S := {1,2,3,4}

T := {1,2}

Now look at the following four (very similar) propositions:

• (∀x∈S: (∃y∈S: y = x )) (For all x in S there exists a y in S for which y = x)

• (∃y∈S: (∀x∈S: y = x )) (There exists a y in S for which all x in S y = x)

• (∀x∈S: (∃y∈T: y = x )) (For all x in S there exists a y in T for which y = x)

• (∀x∈T: (∃y∈S: y = x )) (For all x in T there exists a y in S for which y = x)

If you compare the first two propositions, you’ll see that they refer to the set S only; over, the two quantifiers are interchanged In the last two examples, the two sets S and T are

more-interchanged Now if you check these propositions against the given two sets to investigate

their truth value, you can draw the following conclusions:

• The first proposition is obviously TRUE, because you can simply choose the same valuefor y as the one you chose for x

• The second proposition is FALSE; there is no such value y As soon as you’ve bound able y by selecting a value, there is only one choice for x (namely the same value)

vari-• The third proposition is FALSE too; the counter examples are x = 3 and x = 4

• The last proposition is TRUE, because T is a subset of S

Interchanging Nested Quantifiers

From the first two examples in the previous section, you can draw this important conclusion:

sometimes you can safely interchange nested quantifiers in your expressions, but sometimes

you can’t—without changing the meaning of the expression

■ Caution Nested quantifications cannot always be interchanged without risk

C H A P T E R 3 S O M E M O R E L O G I C 55

Trang 3

You can safely interchange two successive quantifiers in a formula if the following twoconditions are met:

• Both quantifications are of the same type; that is, they must be either both universal or

both existential

• None of the sets over which you quantify is dependent on the variable bound to theother set; that is, the set for the inner quantifier is not influenced by the value youchoose for the variable in the outer quantifier

For example, the following two expressions are tautologies:

if you interchange the quantifiers, because now you have a reference to the variable x in

∀y∈(B∪{x}) before x is introduced in the second quantifier To be more precise, the sion is not illegal, but rather confusing If you bind a variable by quantification, the scope of

expres-that variable is the quantified expression; the variable is unknown outside the quantified

expression In other words, in the expression ∀y∈(B∪{x}):∀x∈A: Q(x,y) the first x is not thesame as the other ones So, you might as well say ∀y∈(B∪{x}):∀z∈A: Q(z,y) But then, thisexpression is not a proposition but a predicate, because it contains a free variable x

Abbreviation of Consecutive Nested Quantifiers

If you have two consecutive quantifiers of the same type over the same set, it’s common to

abbreviate your formulas as follows:

∃x∈N: ∃y∈N: x + y > 42The preceding existential quantification over the same set becomes

∃x,y∈N: x + y > 42And likewise for universal quantification:

∀x∈N: ∀y∈N: x + y > 42The preceding universal quantification over the same set becomes

∀x,y∈N: x + y > 42

C H A P T E R 3 S O M E M O R E L O G I C

56

Trang 4

Distributive Properties of Quantifiers

Listing 3-13 shows the distributive properties of the universal and existential quantifiers

Listing 3-13.Distributive Properties of Quantifiers

doesn’t quantify over a predicate whose parameter gets bound by the quantifier Something

similar can occur with an existential quantification Take a look at Listing 3-14, which

intro-duces two rewrite rules for these situations

Listing 3-14.Rewrite Rules for Quantification Over Propositions

1. ¬(∀x∈S: P(x)) means that P is not TRUE for all elements x of S.

2. Therefore, there must be (at least) one value for which P is not TRUE; in other words:

(∃x∈S: ¬P(x))Likewise, adding the negation to an existential quantification results in the following:

1. ¬(∃x∈S: P(x)) means that there is no element x of S for which P is TRUE

2. Therefore, P must be FALSE for all values x in S; in other words:

(∀x∈S: ¬P(x))

C H A P T E R 3 S O M E M O R E L O G I C 57

Trang 5

So we have two important quantifier rewrite rules, as shown in Listing 3-15.

Listing 3-15.Rewrite Rules for Negation of Quantifiers

¬( ∀x∈S: P(x) ) ⇔ ( ∃x∈S: ¬P(x) )

¬( ∃x∈S: P(x) ) ⇔ ( ∀x∈S: ¬P(x) )

Do you remember the discussion about quantification over the empty set in the previoussection “Quantification Over the Empty Set” (see Table 3-2)? We don’t want the empty set tocause any exceptions to the rules Therefore

• Given (∃x∈∅: P(x))⇔FALSE, we can transform this into ¬(∀x∈∅:¬P(x))⇔FALSE(using the first rewrite rule in Listing 3-15)

• But then ¬¬(∀x∈∅:¬P(x))⇔TRUE (negation of predicates at both sides ofequivalence)

• So (∀x∈∅:¬P(x))⇔TRUE, regardless of the predicate (strike out the double negation

in front of the universal quantifier)

So you see it’s logically correct that universal quantification over the empty set alwaysresults in TRUE, regardless of the actual predicate after the colon

If you’re still not fully convinced, here’s an alternative reasoning The universal quantifiercorresponds with an iterated AND construct, as explained in the paragraph on quantifiers insection “Quantifiers and Finite Sets.” Therefore, you can set up the following series of logicalequivalences:

∀x∈S: P(x)

⇔ P(x1) ∧ P(x2) ∧ P(x3) ∧ ∧ P(xn-1) ∧ P(xn)

⇔ TRUE ∧ P(x1) ∧ P(x2) ∧ P(x3) ∧ ∧ P(xn-1) ∧ P(xn)The prefix TRUE∧is allowed according to one of the “special case” rewrite rules listed inTable 1-12 As you can see, you start with a set S containing n values Now if you start removingthe elements of set S one by one, you can remove ∧ P(xn) from the end, followed by ∧P(xn-1),and so on, until you will eventually end up with the empty set—because you removed the lastelement of set S However, then the equivalence is reduced to ∀x∈∅: P(x) which is equivalent

to TRUE

Rewrite Rules with Quantifiers

The previous sections already introduced a few rewrite rules with regard to quantification.Listing 3-16 lists the most commonly used rewrite rules for quantifiers

Listing 3-16.Rewrite Rules With Quantifiers

Trang 6

vice versa This means that you don’t need one of the quantifiers to express any arbitrary

quantified predicate However, it’s convenient to have the two quantifiers available, because

we use both in natural language

You’ll prove one of these rewrite rules in the exercises at the end of this chapter

Normal Forms

Normal forms (also referred to as canonical forms) are often used in mathematics The English

word “normal” here is being used in the sense of conforming to a norm (that is a standard) as

opposed to the meaning “usual.”

Normal forms are typically used to rewrite expressions in such a way that you can solve(or further analyze) them easily A characteristic example is the well-known normal form for

quadratic equations: ax2 + bx + c = 0 Once you have rewritten your quadratic equations

to this format, you can use the quadratic formula to find the values for x In logic, there are

similar normal forms; we’ll discuss two of them in the sections that follow In general, normal

forms are useful in automated theorem proving The disjunctive and conjunctive normal

forms discussed in the following sections are particularly useful to verify whether a predicate

is a tautology or a contradiction

■ Note Normal forms are also useful for comparing two predicates By rewriting two seemingly similar

predicates into the same normal form, you can examine more closely what exactly the difference is between

the two Or maybe after having transformed both into a normal form, you discover that they are in fact the

same predicate This is one of the applications in Part 2 of this book when data integrity rules are specified

as formal predicates

Conjunctive Normal Form

A predicate is in conjunctive normal form (CNF) if it consists of one or more members

sepa-rated by AND; that is, if the predicate, say P-CNF, has the following format:

P-CNF := C1 ∧ C2 ∧ C3 ∧ ∧ Cn

In this formula, C1, C2, Cnare known as the conjunction members—or just conjuncts for short Each conjunction member is an iterated OR of simple predicates only (note that zero

C H A P T E R 3 S O M E M O R E L O G I C 59

Trang 7

iteration is allowed too, which results in a conjunction member containing no invocation ofOR); a simple predicate is a predicate that cannot be further decomposed into a disjunction

or conjunction (that is, it cannot be a compound predicate) These simple predicates mayoptionally be preceded by a negation connective Note that the set {∨,∧,¬} is functionallycomplete, as explained in Chapter 1; therefore, you don’t need other connectives to expressany arbitrary predicate Also, as we’ll demonstrate shortly, CNF is always achievable for anyarbitrary predicate

CNF in full detail looks as shown in Listing 3-17

Listing 3-17.Conjunctive Normal Form (CNF)

P-CNF := (SP11 ∨ SP12 ∨ SP13 ∨ ∨ SP1a) ∧

(SP21 ∨ SP22 ∨ SP23 ∨ ∨ SP2b) ∧(SP31 ∨ SP32 ∨ SP33 ∨ ∨ SP3c) ∧

A CNF predicate is a tautology (always TRUE) if and only if each conjunction member contains a simple predicate P and its negation.

Listing 3-18 shows four examples of predicates in CNF (P, Q, R, and S are simple predicates)

Listing 3-18.Examples of Predicates in CNF

Disjunctive Normal Form

A predicate is in disjunctive normal form (DNF) if it consists of one or more members

sepa-rated by OR; that is, if the predicate, say P-DNF, has the following format:

P-DNF := D ∨ D ∨ D ∨ ∨ D

C H A P T E R 3 S O M E M O R E L O G I C

60

Trang 8

In this formula, D1, D2, , Dnare known as the disjunction members—or just disjuncts for short Each disjunction member is an iterated AND with simple predicates only (zero iteration

allowed) So DNF in full detail looks as shown in Listing 3-19

Listing 3-19.Disjunctive Normal Form (DNF)

P-DNF := (SP11 ∧ SP12 ∧ SP13 ∧ ∧ SP1a) ∨

(SP21 ∧ SP22 ∧ SP23 ∧ ∧ SP2b) ∨(SP31 ∧ SP32 ∧ SP33 ∧ ∧ SP3c) ∨

(SPn1 ∧ SPn2 ∧ SPn3 ∧ ∧ SPnd)

In Listing 3-19, each SPijis allowed to be prefixed with a negation connective Compoundpredicates in DNF are easy to check for contradictions For a predicate in DNF to be a contra-

diction, all disjunction members must be FALSE—because the predicate is written as an

iterated OR construct Following the same reasoning as we did for predicates in CNF, we can

say the following about predicates in DNF:

A DNF predicate is a contradiction if and only if each disjunction member contains a simple predicate P and its negation.

See Listing 3-20 for examples of predicates in DNF

Listing 3-20.Examples of Predicates in DNF

Finding the Normal Form for a Given Predicate

In this section we’ll investigate how you can transform a given predicate into DNF or CNF

Finding the DNF for a Given Predicate

There are several methods to rewrite existing predicates into DNF Normally, you try to use

existing rewrite rules to move your expression into the “right” direction until it has the desired

format: an iterated OR where the disjuncts are iterated ANDs with simple predicates only

An interesting alternative technique is based on using a truth table For example, supposethis is the original predicate:

P ⇒ ( Q ⇔ ¬P )

C H A P T E R 3 S O M E M O R E L O G I C 61

Trang 9

Table 3-3 shows the corresponding truth table.

Table 3-3.Using a Truth Table to Rewrite Predicates to DNF

As you can see from the last column of Table 3-3, the given predicate is TRUE for the last

three truth combinations of (P,Q): (t,f), (f,t), and (f,f) You can represent those three

truth combinations with the following corresponding conjunctions:

(t,f): C1 := P ∧ ¬Q(f,t): C2 := ¬P ∧ Q(f,f): C3 := ¬P ∧ ¬QNow, if you combine these three conjunctions into the iterated disjunction C1∨C2∨C3,

you end up with a rewritten predicate in DNF that precisely represents the truth table of the

■ Note This DNF rewrite algorithm using a truth table is relatively easy to automate You could write aprogram that does the conversion for you, without the need for inspiration and creativity; DNF is alwaysachievable

FUNCTIONAL COMPLETENESS REVISITED

Do you remember the discussion of functional completeness in Chapter 1? Clearly, you can use the precedingtechnique to rewrite any arbitrary predicate (optionally containing any nonstandard connectives from thehuge set of theoretical connective possibilities) to produce a predicate in DNF Regardless of the complexity

of the original predicate and regardless of which connectives it contains, you end up with a truth table umn that “represents” the truth value of the expression for all given truth value combinations of its variables.The preceding technique uses this information to generate a logically equivalent expression containing con-junctions, disjunctions, and negations only; therefore, {∧,∨,¬} is functionally complete

col-C H A P T E R 3 S O M E M O R E L O G I C

62

Trang 10

Finding the CNF for a Given Predicate

To find the CNF for a given predicate—which is also always achievable—you first apply the

preceding method using the truth table to find the DNF of the predicate You then apply the

distributive laws to convert the iterated disjunction into an iterated conjunction Here’s an

example derivation that converts the predicate ( P∧Q )∨( R∧S ), which is in DNF, into CNF:

( P ∧ Q ) ∨ ( R ∧ S )

⇔ ( P ∨ ( R ∧ S ) ) ∧ ( Q ∨ ( R ∧ S ) )

⇔ ( P ∨ R ) ∧ ( P ∨ S ) ∧ ( Q ∨ R ) ∧ ( Q ∨ S )We’ll revisit CNF in Part 2 of this book when we discuss specification and implementationguidelines for data integrity constraints

Chapter Summary

This section contains a summary of the contents of this chapter, formatted as a bulleted list—

just like the previous chapter Again, if you don’t feel comfortable about one of the following

concepts, you might want to revisit certain chapter sections before continuing with the

exer-cises in the next section

• Just like regular arithmetic operators, logical connectives can also have certain

algebraic properties, such as commutativity, associativity, distributivity, reflexivity,

transitivity, idempotence, and absorption

• You can turn predicates into propositions in two ways, one of them being by bindingparameters through quantification.

• There are two quantifiers:

• The existential quantifier allows you to express statements such as “There exists ”

using the symbol ∃

• The universal quantifier allows you to express statements such as “For all ” usingthe symbol ∀

• Because sets are finite by definition in databases, you can always interpret predicates

with an existential quantifier over some set in the database as an iterated OR construct;

similarly, you can interpret predicates with a universal quantifier as an iterated ANDconstruct

• Be careful when quantifying over the empty set The existential quantifier will always

return FALSE, regardless of the predicate, whereas the universal quantifier willalways return TRUE when applied to the empty set

• Quantifiers can be nested Sometimes you can interchange quantifiers in your

expres-sions, but in many cases you’ll change the meaning of the expression In general, youmay interchange quantifiers if they are of the same type and none of the sets overwhich you quantify are dependent on the variable bound by the other set

C H A P T E R 3 S O M E M O R E L O G I C 63

Trang 11

• You can apply many rewrite rules to quantified expressions For example, you can

always rewrite a universal quantifier expression to an existential quantifier expression,and vice versa

Normal forms are often used to rewrite expressions in such a way that you can easily

solve them, automate the process of proving theorems, or investigate predicates,whether they are tautologies or contradictions This chapter introduced two normalforms:

• Conjunctive normal form (CNF): Predicate written as iterated AND CNF is useful

when you are investigating tautologies

Disjunctive normal form (DNF): Predicate written as iterated OR DNF is useful

when checking for contradictions

Exercises

1. Prove the two absorption equivalences from Listing 3-11, using a truth table:

P ∨ ( P ∧ Q ) ⇔ P

P ∧ ( P ∨ Q ) ⇔ P

2. The following two sets are given: A := {2,4,6,8} and B := {1,3,5,7,9}

Which of the following propositions are TRUE?

3. Give a formal representation of the following statements:

a. Each element of A is divisible by 2

b. Each number in B is less than 9

c A contains three different numbers of which the sum is 18.

C H A P T E R 3 S O M E M O R E L O G I C

64

Trang 12

4. Eliminate the negation from the following propositions; that is, rewrite the formalrepresentations without using the negation symbol (¬):

Hint: First, try to find the DNF of the negation of the preceding predicate; when found,

apply one of De Morgan’s laws

7. Prove the last rewrite rule from Listing 3-16, using other rewrite rules:

Trang 14

Relations and Functions

Chapter 2 laid down the basics of set theory This fourth chapter will build on those basics

and introduce some more set-theory concepts that will be used in Part 2 of this book as tools

to define a database design formally—including all constraint specifications

In the section “Binary Relations,” we’ll revisit ordered pairs and the Cartesian product tointroduce the concept of a binary relation between two sets As you’ll see, such a binary rela-

tion is in fact a subset of the Cartesian product of two sets

The section “Functions” then introduces the important concept of a function A function

is a special kind of binary relation—one that conforms to certain properties In this section

we’ll also establish some terminology around the (set-theory) concept of a function

The section “Operations on Functions” revisits the union, intersection, and differenceset operators and takes a closer look at how these behave when applied to functions as their

operands You’ll also be introduced to a new (dyadic) set operator called limitation of a

function

This chapter then continues by introducing another important concept that we call a

set function A set function holds a special kind of ordered pair: one where the second

coordi-nate of the pair is always a set We’ll reveal the link that a set function has with specifying a

database design: it can be used to characterize an external predicate An external predicate

describes something about the real world that we want to represent in a database If a set

function is used for this purpose, we’ll refer to it as a characterization In the same section,

you’ll be introduced to a new monadic set operator called the generalized product The

generalized product takes a set function—or rather a characterization—as its operand and

produces a new set of functions The concept of a generalized product is the second key

step-ping stone (next to the concept of a powerset that was introduced in Chapter 2) that will be

used in Part 2 of this book when we’ll demonstrate how to define a database design formally

We conclude this chapter with the notion of function composition, which will be applied

in Chapter 5 (operations on tables) when we investigate the join in a formal way

You’ll find a “Chapter Summary” at the end followed by an “Exercises” section You’restrongly advised to spend sufficient time on these exercises before moving on to the other

chapters

67

C H A P T E R 4

Trang 15

Binary Relations

Before we start dealing with binary relations, take a look at this quote from Chapter 1:

The importance of data management being based on logic was envisioned by E F (Ted) Codd (1923–2003) in 1969, when he first proposed his famous relational model in the IBM research report “Derivability, Redundancy and Consistency of Relations Stored in Large Data Banks.” The relational model for database management introduced in this research report has proven to be an influential general theory of data management and remains his most memorable achievement.

The word Relations, as used by E F Codd in the preceding quote in the title of his research report, created the name of the general theory we now refer to as the relational model of data.

■ Note It is a common misconception that the word relational in “the relational model of data” refers to

“relationships” (many-to-one, many-to-many, and so on) that can exist between different “entity types,”

as you too probably have designed at some point using the pervasive design technique known as

entity-relationship diagrams (ERDs) The word relational in “the relational model of data” has nothing to do with the

R of ERD The word refers to the mathematical concept of a (n-ary) relation, which is totally different fromthe “relationship” concept in ERD The former is a mathematical—set-theory—concept; the latter eventuallymaps to certain cases of data integrity constraints (loosely speaking)

In this chapter, you’ll be introduced to the set-theory concept of a relation—the meaning

used by E F Codd More specifically, you’ll be introduced to a certain type of relation: a binary

relation We’ll deal with relationships in the ERD sense—as data integrity constraints—inPart 2 of this book

Ordered Pairs and Cartesian Product Revisited

Let’s first recall a bit from Chapter 2 That chapter ended with the following two definitionsregarding ordered pairs and the Cartesian product:

• An ordered pair is a pair of elements, also referred to as the coordinates of the ordered

pair The notation is (a;b)

• The Cartesian product of two given sets, say A and B, is defined as follows:

A×B = { (a;b) | a∈A ∧ b∈B }This definition shows that the result of the Cartesian product of two given sets is in fact aset of ordered pairs It holds every possible combination of an element from the first set andone from the second set

Listing 4-1 illustrates the Cartesian product with an example

C H A P T E R 4 R E L AT I O N S A N D F U N C T I O N S

68

Trang 16

Listing 4-1.Example Cartesian Product

A×B=B×A ⇔ A=BThese properties illustrate the following facts:

• The order of the coordinates of an ordered pair is important

• The Cartesian product is not a commutative operator.

This enables us to introduce the mathematical concept of a binary relation in the nextsection

Binary Relations

A binary relation from set A to set B is defined as a subset of the Cartesian product A×B It’s called

abinary relation because it deals with two sets (A and B) Let’s start with a small example,

based on the same two sets in Listing 4-1:

A := {X,Y,Z}

B := {1,2}

Take a look at the set R1 shown here:

R1 := { (X;1), (X;2), (Y;1), (Z;2) }Note that set R1 does not hold every possible combination of an element from set A andone from set B; set R1 only holds four ordered pairs as its elements Every ordered pair is also

an element of the Cartesian product of sets A and B, as shown in Listing 4-1 Formally, this can

be expressed as follows:

( ∀p∈R1: p∈A×B )This makes R1 a subset of the Cartesian product of sets A and B, and therefore a binaryrelation from set A to set B Definition 4-1 illustrates another way to define a binary relation

and uses the important powerset operator that was introduced in Chapter 2

■ Definition 4-1: Binary Relation “Ris a binary relation from set Ato set B”⇔R∈℘(A×B)

The powerset of a given set holds every possible subset of that set In the preceding case,the powerset holds every possible subset of the Cartesian product of set A and set B Conse-

quently, every element of this powerset is a binary relation from set A to set B

C H A P T E R 4 R E L AT I O N S A N D F U N C T I O N S 69

Trang 17

■ Note In the small example relation R1, every Avalue appears in the ordered pairs, as does every Bvalue.This is not always true, of course There are other binary relations from Ato Bwhere this is not the case.

You can draw a picture of a binary relation This is done by visualizing (as in a Venn gram) the two sets separately and connecting the paired elements of both sets with arrows.Figure 4-1 shows binary relation R1 as a picture, where the four arrows represent the orderedpairs

dia-Figure 4-1.Picture of binary relation R1

You can instantly see in the picture of binary relation R that two arrows depart fromelement X of set A, and only one arrow each departs from elements Y and Z You can alsoimmediately see that both elements 1 and 2 of set B have two arrows arriving In the next sec-tion, a limit will be imposed on the number of arrows departing from each element to get tothe definition of a function

■ Note Instead of declaring a binary relation to be from set Ato set B, other textbooks might declare binary

relations to be over set Aand on set B

Functions

A function is a binary relation that doesn’t have two elements that have the same first

coordi-nate; or said in another way, in a function two distinct ordered pairs always have different firstcoordinates From the picture point of view, this limits the number of arrows departing from

an element of the set at the left-hand side to one arrow at most

Furthermore, if every element in the set at the left-hand side has exactly one arrowdeparting, then we say that the binary relation is a function over this set (at the left-hand side).

C H A P T E R 4 R E L AT I O N S A N D F U N C T I O N S

70

Trang 18

Definition 4-2 illustrates how to define this additional limitation formally It employs the

π1operator introduced in Chapter 2 (it selects the first coordinate of an ordered pair)

■ Definition 4-2: Function “Fis a function over set Ainto set B”⇔

F∈℘(A×B) ∧ ( ∀p1,p2∈F: p1≠p2 ⇒ π1(p1)≠ π2(p2) ) ∧ {π1(p) | p∈F } = A

The second conjunct at the right-hand side of the equivalence in Definition 4-2 tutes the additional limitation mentioned earlier: for all ordered pairs p1 and p2 that are in

consti-function F, if p1 and p2 are different pairs then they should hold different first coordinates Put

in another way (using the result of Exercise 4a of Chapter 1), if p1 and p2 have the same first

coordinate then they must be the same pair The last conjunct states that for F to be a function

over A, every element of A must appear as a first coordinate.

Most of the time, we’re interested in the fact that the first coordinates of the function inate from set A (and much less that the second coordinates originate from set B) Instead of

orig-saying that “F is a function over A into B,” we say that “F is a function over A.”

Now take a look at the following examples:

F1 := { (X;1), (X;2), (Y;1), (Z;2) }F2 := { (X;2), (Y;1), (Z;2) }F3 := { (X;1), (Y;1), (X;1), (Z;1) }F4 := { (Z;2) }

F5 := ∅F6 := { (empno;126), (ename;'Lex de Haan'), (born;'11-aug-1954') }The first example F1 is not a function because it holds two distinct pairs—(X;1) and(X;2)—that have the same first coordinate X The second binary relation F2 is indeed a func-

tion: no two distinct pairs have the same first coordinate The third one F3 is also a function

Although two pairs are enumerated that have the same first coordinate (the first and the third

pair), they are in fact the same pair One of these pairs need not have been enumerated and

can be left out without changing set F3 Example F4 is also a function, and the empty set (F5)

is indeed a function too It is a subset of the Cartesian product of any two sets (the empty set is

a subset of every set) The additional limitation given in Definition 4-2 also holds You might

want to revisit the second rewrite rule in Table 3-2 for this The last example binary relation F6

is a function too Through this example, you can begin to see how functions can be used (as

building blocks) to specify database designs We’ll come back to this at the end of the section

“Set Functions.”

We continue with the introduction of various terminologies around the set-theory cept of a function

con-Domain and Range of Functions

The set of all first coordinates of a function, say F, is called the domain of that function; the

notation is dom(F) The set of all second coordinates of a function is called the range of that

function; the notation is rng(F) These two concepts are rather trivial; to find the domain or

range of a function you simply enumerate all first or second coordinates of the ordered pairs

C H A P T E R 4 R E L AT I O N S A N D F U N C T I O N S 71

Trang 19

of that function Listing 4-2 lists the domains of the five functions F2 through F6 introduced inthe preceding section.

Listing 4-2.Domains of the Example Functions

dom(F2) = dom(F3) = {X,Y,Z}

dom(F4) = {Z}

dom(F5) = ∅

dom(F6) = {empno,ename,born}

Listing 4-3 gives the ranges of these five functions

Listing 4-3.Ranges of the Example Functions

Figure 4-2.Binary relation F7 from set A to set B

We define a function to be over a set A and into a set B, if the following two properties hold:

• dom(F) = A

• rng(F)⊆B

C H A P T E R 4 R E L AT I O N S A N D F U N C T I O N S

72

Trang 20

Because F is a function over A into B, by definition the set of all first coordinates—thedomain of F—is equal to A And because every ordered pair in a function over A into B has an

element of B as its second coordinate, the range of F will be a subset of set B; often it will be a

proper subset of B

■ Note You probably have noticed that the set-theory concept of a domain introduced here is quite different

from the usual meaning of the word “domain” in other database textbooks In other textbooks, a domain

usually represents the set of possible values—or if you will, the type—of a “column” in a “table.” In this

book, there’s a similar concept for that meaning of the word domain (we’ll call this an attribute value set)

that will be precisely defined in the section “Set Functions.”

Given that a function never has two pairs with the same first coordinate, you can biguously determine the range element that is paired to a given domain element of a function

unam-(remember from every domain element exactly one arrow is departing) Mathematicians have

a special way of denoting that single range element for a given domain element If F is a

func-tion and x is an element of dom(F), then F(x) (pronounce it as “F of x,” or “F applied to x”)

denotes the range element that is paired to x in function F This notation is called function

application We’ll illustrate this using function F7 introduced in Figure 4-2 Following is the

formal specification of F7:

F7 := { (A;2), (C;2), (D;4), (E;4) }Another valid way of specifying function F7 is by using the function application notation;

just specify for each domain element what its range element is:

F7(A) = 2F7(C) = 2F7(D) = 4F7(E) = 4You might already be familiar with this notation from your mathematics classes in thepast Here’s a typical example specification for some function F:

F(x) := 3x2 - 2x + 1Given function F, you’d write expressions such as F(2), which would in this case evaluate

to 9 (three times four, minus two times two, plus one)

The set-theory specification of the same function F would be as follows (assuming we

want to specify this function over set Z into set Z):

F := { (x; 3x2 - 2x + 1) | x∈Z }

Here we’ve used the substitutive method to specify function F in a set-theory way

C H A P T E R 4 R E L AT I O N S A N D F U N C T I O N S 73

Ngày đăng: 08/08/2014, 18:21