Function application
   HOME

TheInfoList



OR:

In mathematics, function application is the act of applying a
function Function or functionality may refer to: Computing * Function key, a type of key on computer keyboards * Function model, a structured representation of processes in a system * Function object or functor or functionoid, a concept of object-oriente ...
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 Range may refer to: Geography * Range (geographic), a chain of hills or mountains; a somewhat linear, complex mountainous or hilly area (cordillera, sierra) ** Mountain range, a group of mountains bordered by lowlands * Range, a term used to i ...
. In this sense, function application can be thought of as the opposite of function abstraction.


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''. :f(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: :f\; x The latter notation is especially useful in combination with the currying isomorphism. Given a function f : (X \times Y) \to Z, its application is represented as f(x, y) by the former notation and f\;(x,y) (or f \; \langle x, y \rangle with the argument \langle x, y \rangle \in X \times Y written with the less common angle brackets) by the latter. However, functions in curried form f : X \to (Y \to Z) can be represented by juxtaposing their arguments: f\; x \; y, rather than f(x)(y). This relies on function application being
left-associative In programming language theory, the associativity of an operator is a property that determines how operators of the same precedence are grouped in the absence of parentheses. If an operand is both preceded and followed by operators (for exampl ...
.


As an operator

Function application can be trivially defined as an operator, called apply or \$, by the following definition: :f \mathop x = f(x) The operator may also be denoted by a backtick (`). If the operator is understood to be of low precedence and
right-associative In programming language theory, the associativity of an operator is a property that determines how operators of the same precedence are grouped in the absence of parentheses. If an operand is both preceded and followed by operators (for exampl ...
, the application operator can be used to cut down on the number of parentheses needed in an expression. For example; :f(g(h(j(x)))) can be rewritten as: :f \mathop g \mathop h \mathop j \mathop x However, this is perhaps more clearly expressed by using function composition instead: :(f \circ g \circ h \circ j)(x) or even: :(f \circ g \circ h \circ j \circ x)() if one considers x to be a constant function returning x.


Other instances

Function application in the lambda calculus 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 ...
. The Curry–Howard correspondence 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