In mathematics, a function from a set to a set assigns to each element of exactly one element of .[1] The set is called the domain of the function and the set is called the codomain of the function.
Functions were originally the idealization of how a varying quantity depends on another quantity. For example, the position of a planet is a function of time. Historically, the concept was elaborated with the infinitesimal calculus at the end of the 17th century, and, until the 19th century, the functions that were considered were differentiable (that is, they had a high degree of regularity). The concept of a function was formalized at the end of the 19th century in terms of set theory, and this greatly enlarged the domains of application of the concept.
A function is often denoted by a letter such as, or . The value of a function at an element of its domain (that is the element of the codomain that is associated to) is denoted by ; for example, the value of at is denoted by . Commonly, a specific function is defined by means of an expression depending on, such as
f(x)=x2+1;
f(x)=x2+1,
f(4)=42+1=17.
Given its domain and its codomain, a function is uniquely represented by the set of all pairs, called the graph of the function, a popular means of illustrating the function.[2] [3] When the domain and the codomain are sets of real numbers, each such pair may be thought of as the Cartesian coordinates of a point in the plane.
Functions are widely used in science, engineering, and in most fields of mathematics. It has been said that functions are "the central objects of investigation" in most fields of mathematics.
A function from a set to a set is an assignment of one element of to each element of . The set is called the domain of the function and the set is called the codomain of the function.
If the element in is assigned to in by the function, one says that maps to, and this is commonly written
y=f(x).
A function, its domain, and its codomain are often specified by the notation
f:X\toY.
x\mapstoy
y=f(x)
\mapsto
x\mapstox2.
The domain and codomain are not always explicitly given when a function is defined. In particular, it is common that one might only know, without some (possibly difficult) computation, that the domain of a specific function is contained in a larger set. For example, if
f:\R\to\R
x\mapsto1/f(x)
The range or image of a function is the set of the images of all elements in the domain.
A function on a set means a function from the domain, without specifying a codomain. However, some authors use it as shorthand for saying that the function is .
thumb|Diagram of a functionthumb|Diagram of a relation that is not a function. One reason is that 2 is the first element in more than one ordered pair. Another reason is that neither 3 nor 4 are the first element (input) of any ordered pair therein
The above definition of a function is essentially that of the founders of calculus, Leibniz, Newton and Euler. However, it cannot be formalized, since there is no mathematical definition of an "assignment". It is only at the end of the 19th century that the first formal definition of a function could be provided, in terms of set theory. This set-theoretic definition is based on the fact that a function establishes a relation between the elements of the domain and some (possibly all) elements of the codomain. Mathematically, a binary relation between two sets and is a subset of the set of all ordered pairs
(x,y)
x\inX
y\inY.
X x Y.
A function with domain and codomain is a binary relation between and that satisfies the two following conditions:
x
X
y
Y
(x,y)\inR.
(x,y)\inR
(x,z)\inR
y=z.
Still more formally, without referring explicitly to the concept of a relation, but using more notation (including set-builder notation):
A function is formed by three sets, the domain
X,
Y,
R
R\subseteq\{(x,y)\midx\inX,y\inY\}
\forallx\inX,\existsy\inY,\left(x,y\right)\inR
(x,y)\inR\land(x,z)\inR\impliesy=z
See main article: Partial function.
Partial functions are defined similarly to ordinary functions, with the "total" condition removed. That is, a partial function from to is a binary relation between and such that, for every
x\inX,
(x,y)\inR.
Using functional notation, this means that, given
x\inX,
f(x)
The set of the elements of such that
f(x)
In several areas of mathematics the term "function" refers to partial functions rather than to ordinary functions. This is typically the case when functions may be specified in a way that makes difficult or even impossible to determine their domain.
In calculus, a real-valued function of a real variable or real function is a partial function from the set
\R
f:x\mapstof(x)
x\mapsto1/f(x)
Similarly, a function of a complex variable is generally a partial function with a domain of definition included in the set
\Complex
z\mapsto1/\zeta(z)
In computability theory, a general recursive function is a partial function from the integers to the integers whose values can be computed by an algorithm (roughly speaking). The domain of definition of such a function is the set of inputs for which the algorithm does not run forever. A fundamental theorem of computability theory is that there cannot exist an algorithm that takes an arbitrary general recursive function as input and tests whether belongs to its domain of definition (see Halting problem).
Function (mathematics) should not be confused with Multivalued function.
A multivariate function, multivariable function, or function of several variables is a function that depends on several arguments. Such functions are commonly encountered. For example, the position of a car on a road is a function of the time travelled and its average speed.
Formally, a function of variables is a function whose domain is a set of -tuples.[5] For example, multiplication of integers is a function of two variables, or bivariate function, whose domain is the set of all ordered pairs (2-tuples) of integers, and whose codomain is the set of integers. The same is true for every binary operation. Commonly, an -tuple is denoted enclosed between parentheses, such as in
(1,2,\ldots,n).
f(x1,\ldots,xn)
f((x1,\ldots,xn)).
Given sets
X1,\ldots,Xn,
(x1,\ldots,xn)
x1\inX1,\ldots,xn\inXn
X1,\ldots,Xn,
X1 x … x Xn.
Therefore, a multivariate function is a function that has a Cartesian product or a proper subset of a Cartesian product as a domain.
f:U\toY,
U\subseteqX1 x … x Xn.
If all the
Xi
\R
\C
There are various standard ways for denoting functions. The most commonly used notation is functional notation, which is the first notation described below.
The functional notation requires that a name is given to the function, which, in the case of a unspecified function is often the letter . Then, the application of the function to an argument is denoted by its name followed by its argument (or, in the case of a multivariate functions, its arguments) enclosed between parentheses, such as in
f(x), \sin(3), or f(x2+1).
x2+1
f(x)=\sin(x2+1)
When the symbol denoting the function consists of several characters and no ambiguity may arise, the parentheses of functional notation might be omitted. For example, it is common to write instead of .
Functional notation was first used by Leonhard Euler in 1734.[6] Some widely used functions are represented by a symbol consisting of several letters (usually two or three, generally an abbreviation of their name). In this case, a roman type is customarily used instead, such as "" for the sine function, in contrast to italic font for single-letter symbols.
The functional notation is often used colloqually for referring to a function and simultaneously naming its argument, such as in "let
f(x)
Arrow notation defines the rule of a function inline, without requiring a name to be given to the function. It uses the ↦ arrow symbol, pronounced "maps to". For example,
x\mapstox+1
\R
The domain and codomain can also be explicitly stated, for example:
\begin{align} \operatorname{sqr}\colon\Z&\to\Z\\ x&\mapstox2.\end{align}
This defines a function from the integers to the integers that returns the square of its input.
As a common application of the arrow notation, suppose
f:X x X\toY; (x,t)\mapstof(x,t)
X\toY
x\mapstof(x,t0)
x\mapstof(x,t0)
Index notation may be used instead of functional notation. That is, instead of writing, one writes
fx.
This is typically the case for functions whose domain is the set of the natural numbers. Such a function is called a sequence, and, in this case the element
fn
The index notation can also be used for distinguishing some variables called parameters from the "true variables". In fact, parameters are specific variables that are considered as being fixed during the study of a problem. For example, the map
x\mapstof(x,t)
ft
ft
ft(x)=f(x,t)
x,t\inX
In the notation
x\mapstof(x),
For example,
a( ⋅ )2
x\mapstoax2
There are other, specialized notations for functions in sub-disciplines of mathematics. For example, in linear algebra and functional analysis, linear forms and the vectors they act upon are denoted using a dual pair to show the underlying duality. This is similar to the use of bra–ket notation in quantum mechanics. In logic and the theory of computation, the function notation of lambda calculus is used to explicitly express the basic notions of function abstraction and application. In category theory and homological algebra, networks of functions are described in terms of how they and their compositions commute with each other using commutative diagrams that extend and generalize the arrow notation for functions described above.
In some cases the argument of a function may be an ordered pair of elements taken from some set or sets. For example, a function can be defined as mapping any pair of real numbers
(x,y)
x2+y2
f(x,y)=x2+y2
f(w,x,y)
f(w,x,y,z)
Term | Distinction from "function" | |
---|---|---|
Map/Mapping | None; the terms are synonymous.[7] | |
A map can have any set as its codomain, while, in some contexts, typically in older books, the codomain of a function is specifically the set of real or complex numbers.[8] | ||
Alternatively, a map is associated with a special structure (e.g. by explicitly specifying a structured codomain in its definition). For example, a linear map. | ||
Homomorphism | A function between two structures of the same type that preserves the operations of the structure (e.g. a group homomorphism).[9] | |
Morphism | A generalisation of homomorphisms to any category, even when the objects of the category are not sets (for example, a group defines a category with only one object, which has the elements of the group as morphisms; see for this example and other similar ones). |
A function may also be called a map or a mapping, but some authors make a distinction between the term "map" and "function". For example, the term "map" is often reserved for a "function" with some sort of special structure (e.g. maps of manifolds). In particular map may be used in place of homomorphism for the sake of succinctness (e.g., linear map or map from to instead of group homomorphism from to ). Some authors[10] reserve the word mapping for the case where the structure of the codomain belongs explicitly to the definition of the function.
Some authors, such as Serge Lang,[8] use "function" only to refer to maps for which the codomain is a subset of the real or complex numbers, and use the term mapping for more general functions.
In the theory of dynamical systems, a map denotes an evolution function used to create discrete dynamical systems. See also Poincaré map.
Whichever definition of map is used, related terms like domain, codomain, injective, continuous have the same meaning as for a function.
Given a function
f
x
f
f(x)
f
x
x
f(x)
f
On a finite set a function may be defined by listing the elements of the codomain that are associated to the elements of the domain. For example, if
A=\{1,2,3\}
f:A\toR
f(1)=2,f(2)=3,f(3)=4.
Functions are often defined by an expression that describes a combination of arithmetic operations and previously defined functions; such a formula allows computing the value of the function from the value of any element of the domain.For example, in the above example,
f
f(n)=n+1
n\in\{1,2,3\}
When a function is defined this way, the determination of its domain is sometimes difficult. If the formula that defines the function contains divisions, the values of the variable for which a denominator is zero must be excluded from the domain; thus, for a complicated function, the determination of the domain passes through the computation of the zeros of auxiliary functions. Similarly, if square roots occur in the definition of a function from
R
R,
For example,
f(x)=\sqrt{1+x2}
f:R\toR
R,
1+x2
f(x)=\sqrt{1-x2}
Functions can be classified by the nature of formulas that define them:
f(x)=ax2+bx+c,
f(x)=x3-3x-1
f(x)=(x-1)(x3+1)+2x2-1
x
f(x)=
x-1 | |
x+1 |
,
f(x)=
| |||||||
A function
f:X\toY,
f-1:Y\toX
y\inY
x\inX
If a function
f:X\toY
E\subseteqX
F\subseteqY
More generally, given a binary relation between two sets and, let be a subset of such that, for every
x\inE,
y\inY
x\inE,
f:E\toY,
x2+y2=1
In this example, the equation can be solved in, giving
y=\pm\sqrt{1-x2},
y5+y+x=0
R
The implicit function theorem provides mild differentiability conditions for existence and uniqueness of an implicit function in the neighborhood of a point.
Many functions can be defined as the antiderivative of another function. This is the case of the natural logarithm, which is the antiderivative of that is 0 for . Another common example is the error function.
More generally, many functions, including most special functions, can be defined as solutions of differential equations. The simplest example is probably the exponential function, which can be defined as the unique function that is equal to its derivative and takes the value 1 for .
Power series can be used to define functions on the domain in which they converge. For example, the exponential function is given by . However, as the coefficients of a series are quite arbitrary, a function that is the sum of a convergent series is generally defined otherwise, and the sequence of the coefficients is the result of some computation based on another definition. Then, the power series can be used to enlarge the domain of the function. Typically, if a function for a real variable is the sum of its Taylor series in some interval, this power series allows immediately enlarging the domain to a subset of the complex numbers, the disc of convergence of the series. Then analytic continuation allows enlarging further the domain for including almost the whole complex plane. This process is the method that is generally used for defining the logarithm, the exponential and the trigonometric functions of a complex number.
See main article: Recurrence relation. Functions whose domain are the nonnegative integers, known as sequences, are sometimes defined by recurrence relations.
The factorial function on the nonnegative integers (
n\mapston!
n!=n(n-1)! for n>0,
0!=1.
A graph is commonly used to give an intuitive picture of a function. As an example of how a graph helps to understand a function, it is easy to see from its graph whether a function is increasing or decreasing. Some functions may also be represented by bar charts.
See main article: Graph of a function.
Given a function
f:X\toY,
G=\{(x,f(x))\midx\inX\}.
In the frequent case where and are subsets of the real numbers (or may be identified with such subsets, e.g. intervals), an element
(x,y)\inG
x\mapstox2,
(x,x2)
x\in\R,
x\mapstox2,
(r,\theta)=(x,x2),
See main article: Mathematical table. A function can be represented as a table of values. If the domain of a function is finite, then the function can be completely specified in this way. For example, the multiplication function
f:\{1,\ldots,5\}2\toR
f(x,y)=xy
1 | 2 | 3 | 4 | 5 | ||
---|---|---|---|---|---|---|
1 | 1 | 2 | 3 | 4 | 5 | |
2 | 2 | 4 | 6 | 8 | 10 | |
3 | 3 | 6 | 9 | 12 | 15 | |
4 | 4 | 8 | 12 | 16 | 20 | |
5 | 5 | 10 | 15 | 20 | 25 |
On the other hand, if a function's domain is continuous, a table can give the values of the function at specific values of the domain. If an intermediate value is needed, interpolation can be used to estimate the value of the function. For example, a portion of a table for the sine function might be given as follows, with values rounded to 6 decimal places:
1.289 | 0.960557 | |
1.290 | 0.960835 | |
1.291 | 0.961112 | |
1.292 | 0.961387 | |
1.293 | 0.961662 |
Before the advent of handheld calculators and personal computers, such tables were often compiled and published for functions such as logarithms and trigonometric functions.
See main article: Bar chart. A bar chart can represent a function whose domain is a finite set, the natural numbers, or the integers. In this case, an element of the domain is represented by an interval of the -axis, and the corresponding value of the function,, is represented by a rectangle whose base is the interval corresponding to and whose height is (possibly negative, in which case the bar extends below the -axis).
This section describes general properties of functions, that are independent of specific properties of the domain and the codomain.
There are a number of standard functions that occur frequently:
\varnothing\toX
\varnothing\toY
X\neY
f:X\toY,
f(X)=\{f(x)\midx\inX\}
See main article: Function composition.
Given two functions
f:X\toY
g:Y\toZ
g\circf:X → Z
(g\circf)(x)=g(f(x)).
That is, the value of
g\circf
The composition
g\circf
g\circf
f\circg
g\circf
f\circg
g(f(x))=x2+1
f(g(x))=(x+1)2
x=0.
The function composition is associative in the sense that, if one of
(h\circg)\circf
h\circ(g\circf)
(h\circg)\circf=h\circ(g\circf).
h\circg\circf.
The identity functions
\operatorname{id}X
\operatorname{id}Y
f\circ\operatorname{id}X=\operatorname{id}Y\circf=f.
See main article: Image (mathematics). Let
f:X\toY.
f(A)=\{f(x)\midx\inA\}.
The image of is the image of the whole domain, that is, . It is also called the range of, although the term range may also refer to the codomain.[13]
On the other hand, the inverse image or preimage under of an element of the codomain is the set of all elements of the domain whose images under equal . In symbols, the preimage of is denoted by
f-1(y)
f-1(y)=\{x\inX\midf(x)=y\}.
f-1(B)
f-1(B)=\{x\inX\midf(x)\inB\}.
\{4,9\}
\{-3,-2,2,3\}
By definition of a function, the image of an element of the domain is always a single element of the codomain. However, the preimage
f-1(y)
f-1(0)=Z
If
f:X\toY
A\subseteqB\Longrightarrowf(A)\subseteqf(B)
C\subseteqD\Longrightarrowf-1(C)\subseteqf-1(D)
A\subseteqf-1(f(A))
C\supseteqf(f-1(C))
f(f-1(f(A)))=f(A)
f-1(f(f-1(C)))=f-1(C)
The preimage by of an element of the codomain is sometimes called, in some contexts, the fiber of under .
If a function has an inverse (see below), this inverse is denoted
f-1.
f-1(C)
f-1
f(A)
f-1(C)
\{x,\{x\}\}.
f[A],f-1[C]
See main article: Bijection, injection and surjection.
Let
f:X\toY
The function is injective (or one-to-one, or is an injection) if for every two different elements and of . Equivalently, is injective if and only if, for every
y\inY,
f-1(y)
g:Y\toX
g\circf=\operatorname{id}X,
x0
g(y)=x
y=f(x)
g(y)=x0
y\not\inf(X).
g\circf=\operatorname{id}X,
y=f(x),
x=g(y),
f-1(y)=\{x\}.
The function is surjective (or onto, or is a surjection) if its range
f(X)
Y
y
x
f(x)=y
f-1(y)
y\inY
g:Y\toX
f\circg=\operatorname{id}Y,
g(y)=x,
x
f-1(y).
The function is bijective (or is a bijection or a one-to-one correspondence) if it is both injective and surjective. That is, is bijective if, for every
y\inY,
f-1(y)
g:Y\toX
g\circf=\operatorname{id}X
f\circg=\operatorname{id}Y.
Every function
f:X\toY
i\circs
"One-to-one" and "onto" are terms that were more common in the older English language literature; "injective", "surjective", and "bijective" were originally coined as French words in the second quarter of the 20th century by the Bourbaki group and imported into English.[15] As a word of caution, "a one-to-one function" is one that is injective, while a "one-to-one correspondence" refers to a bijective function. Also, the statement " maps onto " differs from " maps into ", in that the former implies that is surjective, while the latter makes no assertion about the nature of . In a complicated reasoning, the one letter difference can easily be missed. Due to the confusing nature of this older terminology, these terms have declined in popularity relative to the Bourbakian terms, which have also the advantage of being more symmetrical.
See main article: Restriction (mathematics). If
f:X\toY
f
f|S
f|S(x)=f(x)
f
f|S
f|S
f|S(S)=f(S)
f(S)
Function restriction may also be used for "gluing" functions together. Let be the decomposition of as a union of subsets, and suppose that a function
fi:Ui\toY
Ui
i,j
fi
fj
Ui\capUj
f:X\toY
f| | |
Ui |
=fi
An extension of a function is a function such that is a restriction of . A typical use of this concept is the process of analytic continuation, that allows extending functions whose domain is a small part of the complex plane to functions whose domain is almost the whole complex plane.
Here is another classical example of a function extension that is encountered when studying homographies of the real line. A homography is a function
h(x)= | ax+b |
cx+d |
-d/c,
a/c.
h(infty)=a/c
h(-d/c)=infty
The idea of function, starting in the 17th century, was fundamental to the new infinitesimal calculus. At that time, only real-valued functions of a real variable were considered, and all functions were assumed to be smooth. But the definition was soon extended to functions of several variables and to functions of a complex variable. In the second half of the 19th century, the mathematically rigorous definition of a function was introduced, and functions with arbitrary domains and codomains were defined.
Functions are now used throughout all areas of mathematics. In introductory calculus, when the word function is used without qualification, it means a real-valued function of a single real variable. The more general definition of a function is usually introduced to second or third year college students with STEM majors, and in their senior year they are introduced to calculus in a larger, more rigorous setting in courses such as real analysis and complex analysis.
See also: Real analysis. A real function is a real-valued function of a real variable, that is, a function whose codomain is the field of real numbers and whose domain is a set of real numbers that contains an interval. In this section, these functions are simply called functions.
The functions that are most commonly considered in mathematics and its applications have some regularity, that is they are continuous, differentiable, and even analytic. This regularity insures that these functions can be visualized by their graphs. In this section, all functions are differentiable in some interval.
Functions enjoy pointwise operations, that is, if and are functions, their sum, difference and product are functions defined by
\begin{align} (f+g)(x)&=f(x)+g(x)\\ (f-g)(x)&=f(x)-g(x)\\ (f ⋅ g)(x)&=f(x) ⋅ g(x)\\ \end{align}.
| ||||
, |
The polynomial functions are defined by polynomials, and their domain is the whole set of real numbers. They include constant functions, linear functions and quadratic functions. Rational functions are quotients of two polynomial functions, and their domain is the real numbers with a finite number of them removed to avoid division by zero. The simplest rational function is the function
x\mapsto
1x, | |
The derivative of a real differentiable function is a real function. An antiderivative of a continuous real function is a real function that has the original function as a derivative. For example, the function is continuous, and even differentiable, on the positive real numbers. Thus one antiderivative, which takes the value zero for, is a differentiable function called the natural logarithm.
A real function is monotonic in an interval if the sign of
f(x)-f(y) | |
x-y |
Many other real functions are defined either by the implicit function theorem (the inverse function is a particular instance) or as solutions of differential equations. For example, the sine and the cosine functions are the solutions of the linear differential equation
y''+y=0
\sin0=0, \cos0=1,
\partial\sinx | |
\partialx |
(0)=1,
\partial\cosx | |
\partialx |
(0)=0.
See main article: Vector-valued function and Vector field.
When the elements of the codomain of a function are vectors, the function is said to be a vector-valued function. These functions are particularly useful in applications, for example modeling physical properties. For example, the function that associates to each point of a fluid its velocity vector is a vector-valued function.
Some vector-valued functions are defined on a subset of
Rn
Rn
See main article: Function space and Functional analysis. In mathematical analysis, and more specifically in functional analysis, a function space is a set of scalar-valued or vector-valued functions, which share a specific property and form a topological vector space. For example, the real smooth functions with a compact support (that is, they are zero outside some compact set) form a function space that is at the basis of the theory of distributions.
Function spaces play a fundamental role in advanced mathematical analysis, by allowing the use of their algebraic and topological properties for studying properties of functions. For example, all theorems of existence and uniqueness of solutions of ordinary or partial differential equations result of the study of function spaces.
See main article: Multi-valued function. Several methods for specifying functions of real or complex variables start from a local definition of the function at a point or on a neighbourhood of a point, and then extend by continuity the function to a much larger domain. Frequently, for a starting point
x0,
For example, in defining the square root as the inverse function of the square function, for any positive real number
x0,
\sqrt{x0},
-\sqrt{x0}.
In the preceding example, one choice, the positive square root, is more natural than the other. This is not the case in general. For example, let consider the implicit function that maps to a root of
x3-3x-y=0
0,\sqrt3,or-\sqrt3
Usefulness of the concept of multi-valued functions is clearer when considering complex functions, typically analytic functions. The domain to which a complex function may be extended by analytic continuation generally consists of almost the whole complex plane. However, when extending the domain through two different paths, one often gets different values. For example, when extending the domain of the square root function, along a path of complex numbers with positive imaginary parts, one gets for the square root of −1; while, when extending through complex numbers with negative imaginary parts, one gets . There are generally two ways of solving the problem. One may define a function that is not continuous along some curve, called a branch cut. Such a function is called the principal value of the function. The other way is to consider that one has a multi-valued function, which is analytic everywhere except for isolated singularities, but whose value may "jump" if one follows a closed loop around a singularity. This jump is called the monodromy.
The definition of a function that is given in this article requires the concept of set, since the domain and the codomain of a function must be a set. This is not a problem in usual mathematics, as it is generally not difficult to consider only functions whose domain and codomain are sets, which are well defined, even if the domain is not explicitly defined. However, it is sometimes useful to consider more general functions.
For example, the singleton set may be considered as a function
x\mapsto\{x\}.
These generalized functions may be critical in the development of a formalization of the foundations of mathematics. For example, Von Neumann–Bernays–Gödel set theory, is an extension of the set theory in which the collection of all sets is a class. This theory includes the replacement axiom, which may be stated as: If is a set and is a function, then is a set.
In alternative formulations of the foundations of mathematics using type theory rather than set theory, functions are taken as primitive notions rather than defined from other kinds of object. They are the inhabitants of function types, and may be constructed using expressions in the lambda calculus.[17]
See main article: Function (computer programming) and Lambda calculus. In computer programming, a function is, in general, a piece of a computer program, which implements the abstract concept of function. That is, it is a program unit that produces an output for each input. However, in many programming languages every subroutine is called a function, even when there is no output, and when the functionality consists simply of modifying some data in the computer memory.
Functional programming is the programming paradigm consisting of building programs by using only subroutines that behave like mathematical functions. For example, if_then_else
is a function that takes three functions as arguments, and, depending on the result of the first function (true or false), returns the result of either the second or the third function. An important advantage of functional programming is that it makes easier program proofs, as being based on a well founded theory, the lambda calculus (see below).
Except for computer-language terminology, "function" has the usual mathematical meaning in computer science. In this area, a property of major interest is the computability of a function. For giving a precise meaning to this concept, and to the related concept of algorithm, several models of computation have been introduced, the old ones being general recursive functions, lambda calculus and Turing machine. The fundamental theorem of computability theory is that these three models of computation define the same set of computable functions, and that all the other models of computation that have ever been proposed define the same set of computable functions or a smaller one. The Church–Turing thesis is the claim that every philosophically acceptable definition of a computable function defines also the same functions.
General recursive functions are partial functions from integers to integers that can be defined from
via the operators
Although defined only for functions from integers to integers, they can model any computable function as a consequence of the following properties:
Lambda calculus is a theory that defines computable functions without using set theory, and is the theoretical background of functional programming. It consists of terms that are either variables, function definitions (-terms), or applications of functions to terms. Terms are manipulated through some rules, (the -equivalence, the -reduction, and the -conversion), which are the axioms of the theory and may be interpreted as rules of computation.
In its original form, lambda calculus does not include the concepts of domain and codomain of a function. Roughly speaking, they have been introduced in the theory under the name of type in typed lambda calculus. Most kinds of typed lambda calculi can define fewer functions than untyped lambda calculus.