In mathematics and computer science, a partial function, from the domain X to the codomain Y is a binary relation, over X and Y, which is functional, that is, associates with every element in set X with, at most, one element in set Y. If a partial function associates with every element in its domain precisely one element of its codomain, then it is a "total function". Note that with this terminology, not every partial function is a "true" function.

This above diagron does not represent a "well-defined" function; because, the element 1, in X, is associated with nothing.

The Turing Machine

Partial functions are often used in theoretical computer science: the behavior of a Turing machine for instance can be described by a partial function relating its inputs to its outputs. This is not in general a total function since a Turing machine does not always produce an output for every input: it can run into an infinite loop. Even worse, it can run into an infinite loop for different inputs.

See also: