In
mathematics, function application is the act of applying a
function to an argument from its
domain
Domain may refer to:
Mathematics
*Domain of a function, the set of input values for which the (total) function is defined
** Domain of definition of a partial function
**Natural domain of a partial function
**Domain of holomorphy of a function
*Do ...
so as to obtain the corresponding value from its
range. In this sense, function application can be thought of as the opposite of function
abstraction
Abstraction in its main sense is a conceptual process wherein general rules and concepts are derived from the usage and classification of specific examples, literal ("real" or " concrete") signifiers, first principles, or other methods.
"An a ...
.
Representation
Function application is usually depicted by juxtaposing the variable representing the function with its argument encompassed in
parentheses
A bracket is either of two tall fore- or back-facing punctuation marks commonly used to isolate a segment of text or data from its surroundings. Typically deployed in symmetric pairs, an individual bracket may be identified as a 'left' or 'r ...
. For example, the following expression represents the application of the function ''ƒ'' to its argument ''x''.
:
In some instances, a different notation is used where the parentheses aren't required, and function application can be expressed just by
juxtaposition
Juxtaposition is an act or instance of placing two elements close together or side by side. This is often done in order to compare/contrast the two, to show similarities or differences, etc.
Speech
Juxtaposition in literary terms is the showin ...
. For example, the following expression can be considered the same as the previous one:
:
The latter notation is especially useful in combination with the
currying
In mathematics and computer science, currying is the technique of translating the evaluation of a function that takes multiple arguments into evaluating a sequence of functions, each with a single argument. For example, currying a function f tha ...
isomorphism. Given a function
, its application is represented as
by the former notation and
(or
with the argument
written with the less common angle brackets) by the latter. However, functions in curried form
can be represented by juxtaposing their arguments:
, rather than
. This relies on function application being
left-associative.
As an operator
Function application can be trivially defined as an
operator
Operator may refer to:
Mathematics
* A symbol indicating a mathematical operation
* Logical operator or logical connective in mathematical logic
* Operator (mathematics), mapping that acts on elements of a space to produce elements of another ...
, called
apply or
, by the following definition:
:
The operator may also be denoted by a
backtick
The backtick is a typographical mark used mainly in computing. It is also known as backquote, grave, or grave accent.
The character was designed for typewriters to add a grave accent to a (lower-case) base letter, by overtyping it atop that le ...
(`).
If the operator is understood to be of
low precedence and
right-associative, the application operator can be used to cut down on the number of parentheses needed in an expression. For example;
:
can be rewritten as:
:
However, this is perhaps more clearly expressed by using
function composition
In mathematics, function composition is an operation that takes two functions and , and produces a function such that . In this operation, the function is applied to the result of applying the function to . That is, the functions and ...
instead:
:
or even:
:
if one considers
to be a
constant function
In mathematics, a constant function is a function whose (output) value is the same for every input value. For example, the function is a constant function because the value of is 4 regardless of the input value (see image).
Basic properti ...
returning
.
Other instances
Function application in the
lambda calculus
Lambda calculus (also written as ''λ''-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. It is a universal model of computation t ...
is expressed by
β-reduction
Lambda calculus (also written as ''λ''-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. It is a universal model of computation th ...
.
The
Curry–Howard correspondence
In programming language theory and proof theory, the Curry–Howard correspondence (also known as the Curry–Howard isomorphism or equivalence, or the proofs-as-programs and propositions- or formulae-as-types interpretation) is the direct relat ...
relates function application to the logical rule of
modus ponens.
See also
*
Polish notation
Polish notation (PN), also known as normal Polish notation (NPN), Łukasiewicz notation, Warsaw notation, Polish prefix notation or simply prefix notation, is a mathematical notation in which operators ''precede'' their operands, in contrast ...
Functions and mappings
{{mathanalysis-stub