# Re: Function

From: Kira Yamato <kirakun_at_earthlink.net>

Date: Tue, 15 Jan 2008 14:25:56 -0500

Message-ID: <2008011514255675249-kirakun_at_earthlinknet>

>> On 2008-01-15 09:26:01 -0500, mAsterdam <mAsterdam_at_vrijdag.org> said:

>> This seems right. A domain is just a set of values. In relational

>> On the other hand, mathematics does not require a domain to be non-empty.

>> No, there is always just one meaning of function in database.

>> Essentially correct, although to be rigorous you need to define how

>> Yea. It's really an abused use of the term in software design.

>> Fair.

Date: Tue, 15 Jan 2008 14:25:56 -0500

Message-ID: <2008011514255675249-kirakun_at_earthlinknet>

On 2008-01-15 13:22:50 -0500, Bob Badour <bbadour_at_pei.sympatico.ca> said:

> Kira Yamato wrote: >

>> On 2008-01-15 09:26:01 -0500, mAsterdam <mAsterdam_at_vrijdag.org> said:

*>>*>>> vldm10 wrote: >>>> [...] >>>>> >>>>> 2. A domain is a set of values: for example >>>>> "integers between 0 and 255", >>>>> "character strings less than 10 characters long", >>>>> "dates". >>>>> Sometimes used synonymously with type.

*>>**>>*>> This seems right. A domain is just a set of values. In relational

*>> algebra, this set is required to be non-empty since attributes are**>> non-null.*> > Theoretically, the universal subtype has an empty set of values and the > union of all operations.

Can you explain a bit more what you mean here?

What is the universal subtype? If it is an empty set, where is it used?

What do you mean by union of all operations?

> > >>>>> 3. Domain of a function. See function, math context.

*>>*>> On the other hand, mathematics does not require a domain to be non-empty.

*>>*>>>>> [Function] >>>>> For now we have to live with different meanings >>>>> of _function_ when talking about databases: >>>>> "The function of this function is to get the tuples from B >>>>> that are functionally dependant on A."

*>>*>> No, there is always just one meaning of function in database.

> > I got "and", "but", and "or". They'll get you pretty far. (Apologies to > our European friends and the younger crowd in the audience for the > inside joke.)

Hmm... Apparently, I'm an outsider. :)

> > >>>>> Three different contexts, but just about the same meaning: >>>>> >>>>> 1. General >>>>> A purpose or use. >>>>> >>>>> 2. Math >>>>> A binary mathematical relation over two sets D and C that associates >>>>> with each element in D exactly one element in C. >>>>> Set D is called the domain of the function, C its codomain.

*>>*>> Essentially correct, although to be rigorous you need to define how

*>> such binary relation can define the meaning of "associating each**>> element in D exactly one element in C."**>>**>> Not all binary relation has this property.**>>*>>>>> 3. Software >>>>> A subroutine, procedure, or method.

*>>*>> Yea. It's really an abused use of the term in software design.

*>> Subroutines in software has no clear domain since same input arguments**>> can product different outputs.*> > If one considers internal state an input, I am not entirely sure what > you said is true.

> > >>>>> In both the math and software context, there is a sense of >>>>> direction from domain (input) to codomain (output). >>>>> For most purposes, this intuitive picture is good enough: >>>>> >>>>> |------------| >>>>> --- x ---- >| f-machine |------ f(x) ----- > >>>>> |------------| >>>>> >>>>> Where x is input in the "f-machine" and f(x) is output.

*>>*>> Fair.

*>>*>>>>> >>>>> notes: >>>>> every operator is a function >>>>> every function is a relation

*>>**>> Yes.*> > Technically, in the standard vocabularies, every operator is a symbol > not a function.

But every operator is also a function though.

For example, take the addition operator on a set of integers Z. Then for every pair of values x1, x2 in Z there exists a value y in Z such that

x1 + x2 = y.

So, I can define the function

f : Z x Z --> Z

by the formula

f(a, b) = a + b.

This is certainly a function. So, every operator is indeed a function also.

-- -kiraReceived on Tue Jan 15 2008 - 20:25:56 CET