# 31
| |||

| |||

## |

I think it will be good to have two definitions for the functions in your glossary. Definition1 A function from A to B is a rule that assigns, to each member of set A, exactly one member of set B. And second definition is similar to Jan's suggestion, but slightly changed: Definition2 A function from A to B is a relation between A and B that associates each element of A with exactly one element of B. First definition says that a function do something. You can call it intutive definition of a function. Here the function in fact is a procedure as you mentioned. Second definition is set theoretic. |

How about this:

cdt glossary proposal:

Quote:

[Codomain] See function, math context. [Domain] 1. Given a relation R, a domain is a set Sn such that for each tuple (A1, A2, ...An, ...Am) in R, An is an element of Sn. 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. 3. Domain of a function. See function, math context. [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." 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. 3. Software A subroutine, procedure, or method. 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. notes: every operator is a function every function is a relation |

--

What you see depends on where you stand.

# 32
| |||

| |||

## |

I think it will be good to have two definitions for the functions in your glossary. Definition1 A function from A to B is a rule that assigns, to each member of set A, exactly one member of set B. And second definition is similar to Jan's suggestion, but slightly changed: Definition2 A function from A to B is a relation between A and B that associates each element of A with exactly one element of B. First definition says that a function do something. You can call it intutive definition of a function. Here the function in fact is a procedure as you mentioned. Second definition is set theoretic. |

How about this:

cdt glossary proposal:

Quote:

[Codomain] See function, math context. [Domain] 1. Given a relation R, a domain is a set Sn such that for each tuple (A1, A2, ...An, ...Am) in R, An is an element of Sn. 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. 3. Domain of a function. See function, math context. [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." 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. 3. Software A subroutine, procedure, or method. 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. notes: every operator is a function every function is a relation |

--

What you see depends on where you stand.

# 33
| |||

| |||

## |

I think it will be good to have two definitions for the functions in your glossary. Definition1 A function from A to B is a rule that assigns, to each member of set A, exactly one member of set B. And second definition is similar to Jan's suggestion, but slightly changed: Definition2 A function from A to B is a relation between A and B that associates each element of A with exactly one element of B. First definition says that a function do something. You can call it intutive definition of a function. Here the function in fact is a procedure as you mentioned. Second definition is set theoretic. |

How about this:

cdt glossary proposal:

Quote:

[Codomain] See function, math context. [Domain] 1. Given a relation R, a domain is a set Sn such that for each tuple (A1, A2, ...An, ...Am) in R, An is an element of Sn. 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. 3. Domain of a function. See function, math context. [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." 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. 3. Software A subroutine, procedure, or method. 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. notes: every operator is a function every function is a relation |

--

What you see depends on where you stand.

# 34
| |||

| |||

## |

Jan Hidders wrote: [snip] (cdt glossary [Function] ... Math A binary mathematical relation with at most one b for each a in (a,b). This "at most one b for each a in (a,b)" makes me cringe! Irritation about the status quo is a starting point to many improvements. I am sure the "Software" subentry (you snipped it) makes functional programming adepts curl their toes as well - I'll keep it until somebody provides a better text. Moreover, it seems to describe partial functions, which is not what is usually understood under "function". I would make that: "A binary mathematical relation over two sets D and C that associates with each element in D exactly one element in C." I like it. I'll post a proposal for replacement in my answer to Vladimir. To the native english speakers: is 'that' correct in Jan's sentence? |

There are different kinds of things that variously get called

functions:

total functions, partial functions, multifunctions, aggregate

functions

Often "function" by itself means "total function" but sometimes it

doesn't.

It seems the difference between a total function and a partial

function is

just in what we want to call the domain. Division over the domain

(integer, integer) is partial; division over the domain (integer,

nonzero integer)

is total. What's up with that?

Some things out there produce more than one result, or a stream of

results. Sometimes these are called multifunctions and sometimes

generators.

Then we have things like sum() avg() etc. Aggregate functions.

Marshall

# 35
| |||

| |||

## |

Jan Hidders wrote: [snip] (cdt glossary [Function] ... Math A binary mathematical relation with at most one b for each a in (a,b). This "at most one b for each a in (a,b)" makes me cringe! Irritation about the status quo is a starting point to many improvements. I am sure the "Software" subentry (you snipped it) makes functional programming adepts curl their toes as well - I'll keep it until somebody provides a better text. Moreover, it seems to describe partial functions, which is not what is usually understood under "function". I would make that: "A binary mathematical relation over two sets D and C that associates with each element in D exactly one element in C." I like it. I'll post a proposal for replacement in my answer to Vladimir. To the native english speakers: is 'that' correct in Jan's sentence? |

There are different kinds of things that variously get called

functions:

total functions, partial functions, multifunctions, aggregate

functions

Often "function" by itself means "total function" but sometimes it

doesn't.

It seems the difference between a total function and a partial

function is

just in what we want to call the domain. Division over the domain

(integer, integer) is partial; division over the domain (integer,

nonzero integer)

is total. What's up with that?

Some things out there produce more than one result, or a stream of

results. Sometimes these are called multifunctions and sometimes

generators.

Then we have things like sum() avg() etc. Aggregate functions.

Marshall

# 36
| |||

| |||

## |

Jan Hidders wrote: [snip] (cdt glossary [Function] ... Math A binary mathematical relation with at most one b for each a in (a,b). This "at most one b for each a in (a,b)" makes me cringe! Irritation about the status quo is a starting point to many improvements. I am sure the "Software" subentry (you snipped it) makes functional programming adepts curl their toes as well - I'll keep it until somebody provides a better text. Moreover, it seems to describe partial functions, which is not what is usually understood under "function". I would make that: "A binary mathematical relation over two sets D and C that associates with each element in D exactly one element in C." I like it. I'll post a proposal for replacement in my answer to Vladimir. To the native english speakers: is 'that' correct in Jan's sentence? |

There are different kinds of things that variously get called

functions:

total functions, partial functions, multifunctions, aggregate

functions

Often "function" by itself means "total function" but sometimes it

doesn't.

It seems the difference between a total function and a partial

function is

just in what we want to call the domain. Division over the domain

(integer, integer) is partial; division over the domain (integer,

nonzero integer)

is total. What's up with that?

Some things out there produce more than one result, or a stream of

results. Sometimes these are called multifunctions and sometimes

generators.

Then we have things like sum() avg() etc. Aggregate functions.

Marshall

# 37
| |||

| |||

## |

Jan Hidders wrote: [snip] (cdt glossary [Function] ... Math A binary mathematical relation with at most one b for each a in (a,b). This "at most one b for each a in (a,b)" makes me cringe! Irritation about the status quo is a starting point to many improvements. I am sure the "Software" subentry (you snipped it) makes functional programming adepts curl their toes as well - I'll keep it until somebody provides a better text. Moreover, it seems to describe partial functions, which is not what is usually understood under "function". I would make that: "A binary mathematical relation over two sets D and C that associates with each element in D exactly one element in C." I like it. I'll post a proposal for replacement in my answer to Vladimir. To the native english speakers: is 'that' correct in Jan's sentence? |

There are different kinds of things that variously get called

functions:

total functions, partial functions, multifunctions, aggregate

functions

Often "function" by itself means "total function" but sometimes it

doesn't.

It seems the difference between a total function and a partial

function is

just in what we want to call the domain. Division over the domain

(integer, integer) is partial; division over the domain (integer,

nonzero integer)

is total. What's up with that?

Some things out there produce more than one result, or a stream of

results. Sometimes these are called multifunctions and sometimes

generators.

Then we have things like sum() avg() etc. Aggregate functions.

Marshall

# 38
| |||

| |||

## |

Jan Hidders wrote: [snip] (cdt glossary [Function] ... Math A binary mathematical relation with at most one b for each a in (a,b). This "at most one b for each a in (a,b)" makes me cringe! Irritation about the status quo is a starting point to many improvements. I am sure the "Software" subentry (you snipped it) makes functional programming adepts curl their toes as well - I'll keep it until somebody provides a better text. Moreover, it seems to describe partial functions, which is not what is usually understood under "function". I would make that: "A binary mathematical relation over two sets D and C that associates with each element in D exactly one element in C." I like it. I'll post a proposal for replacement in my answer to Vladimir. To the native english speakers: is 'that' correct in Jan's sentence? |

There are different kinds of things that variously get called

functions:

total functions, partial functions, multifunctions, aggregate

functions

Often "function" by itself means "total function" but sometimes it

doesn't.

It seems the difference between a total function and a partial

function is

just in what we want to call the domain. Division over the domain

(integer, integer) is partial; division over the domain (integer,

nonzero integer)

is total. What's up with that?

Some things out there produce more than one result, or a stream of

results. Sometimes these are called multifunctions and sometimes

generators.

Then we have things like sum() avg() etc. Aggregate functions.

Marshall

# 39
| |||

| |||

## |

Jan Hidders wrote: [snip] (cdt glossary [Function] ... Math A binary mathematical relation with at most one b for each a in (a,b). This "at most one b for each a in (a,b)" makes me cringe! Irritation about the status quo is a starting point to many improvements. I am sure the "Software" subentry (you snipped it) makes functional programming adepts curl their toes as well - I'll keep it until somebody provides a better text. Moreover, it seems to describe partial functions, which is not what is usually understood under "function". I would make that: "A binary mathematical relation over two sets D and C that associates with each element in D exactly one element in C." I like it. I'll post a proposal for replacement in my answer to Vladimir. To the native english speakers: is 'that' correct in Jan's sentence? |

There are different kinds of things that variously get called

functions:

total functions, partial functions, multifunctions, aggregate

functions

Often "function" by itself means "total function" but sometimes it

doesn't.

It seems the difference between a total function and a partial

function is

just in what we want to call the domain. Division over the domain

(integer, integer) is partial; division over the domain (integer,

nonzero integer)

is total. What's up with that?

Some things out there produce more than one result, or a stream of

results. Sometimes these are called multifunctions and sometimes

generators.

Then we have things like sum() avg() etc. Aggregate functions.

Marshall

# 40
| |||

| |||

## |

Jan Hidders wrote: [snip] (cdt glossary [Function] ... Math A binary mathematical relation with at most one b for each a in (a,b). This "at most one b for each a in (a,b)" makes me cringe! Irritation about the status quo is a starting point to many improvements. I am sure the "Software" subentry (you snipped it) makes functional programming adepts curl their toes as well - I'll keep it until somebody provides a better text. Moreover, it seems to describe partial functions, which is not what is usually understood under "function". I would make that: "A binary mathematical relation over two sets D and C that associates with each element in D exactly one element in C." I like it. I'll post a proposal for replacement in my answer to Vladimir. To the native english speakers: is 'that' correct in Jan's sentence? |

There are different kinds of things that variously get called

functions:

total functions, partial functions, multifunctions, aggregate

functions

Often "function" by itself means "total function" but sometimes it

doesn't.

It seems the difference between a total function and a partial

function is

just in what we want to call the domain. Division over the domain

(integer, integer) is partial; division over the domain (integer,

nonzero integer)

is total. What's up with that?

Some things out there produce more than one result, or a stream of

results. Sometimes these are called multifunctions and sometimes

generators.

Then we have things like sum() avg() etc. Aggregate functions.

Marshall