Main Page | See live article | Alphabetical index

How to specify a function

In mathematics, functions can be specified in several ways. In practice, most functions that relate (combinations of) numbers with numbers are specified by one or more equation. For example, the dist function can be specified with

dist(x,y) := (x2 + y2)1/2
or
z := (x2 + y2)1/2,
where z is called the dependent variable and x and y are called the independent variables. This type of specification is sometimes called specification by intension. A function defined in this way is called an explicit function, as it is a function being stated explicitly.

Another way of specifying functions is by specifying the set of ordered pairs that form the function's graph by either enumerating it or specifying it in set theory. The wght function, for example, might be specified by

wght := {(Larry,160), (Jimmy,165), (Ruth,125), (Cindy,120), ...}
and nlog might be specified by
nlog := {(x,y) ∈ R × R : x = ey}.
This type of specification is sometimes also called specification by extension. A function defined in this way is called an implicit function, as its definition is stated implicitly.

Another example of specification by extension is, given a function φ on two variables, we may define a function f by

f={(x,y) : f((x,y))=0}.
Note that we use the word "may" as it is possibly that f is not a well-defined function. This is one reason why this type of specification is used. Another reason is that, even we know f is well-defined, we may not present f explicitly in a simple way or the implicit form is more convenient to use.

A third way of specifying functions that is often used in computer science is specification by computation, where it is indicated how the result of the function is computed from the arguments. An example of this are Lambda expressions in Lambda calculus where the function max(a,b) with a and b integers might be specified as

max := λ (a,b) ∈ Z × Z . if a < b then b else a.

Functions may also be specified by recursion. The canonical example is the Fibonacci sequence; we are given that f(1) = 1, f(2) = 1, and the recurrence that for all n>2, f(n) = f(n − 1) + f(n − 2). The conclusion of the recurrence theorem is that each recurrence there exists a unique function which satisfies the recurrence and the initial conditions.