(Or "map", "mapping") If D and C are sets (the domain and codomain) then a function f from D to C, normally written "f : D -> C" is a subset of D x C such that:

1. For each d in D there exists some c in C such that (d,c) is an element of f. I.e. the function is defined for every element of D.

2. For each d in D, c1 and c2 in C, if both (d,c1) and (d,c2) are elements of f then c1 = c2. I.e. the function is uniquely defined for every element of D.

See also image, inverse, partial function.


Computing usage derives from the mathematical term but is much less strict. In programming (except in functional programming), a function may return different values each time it is called with the same argument values and may have side effects.

A procedure is a function which returns no value but has only side-effects. The C language, for example, has no procedures, only functions. ANSI C even defines a type, void, for the result of a function that has no result.

Last updated: 1996-09-01

Nearby terms:

fumFunfunctionfunctionalfunctional databasefunctional dependency

Try this search on Wikipedia, OneLook, Google