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
>> algebra, this set is required to be non-empty since attributes are
>> non-null.
>>
>> 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
>> 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.
>>
>>
>> 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.
>>
>> Fair.
>>
>>
>> Yes.
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