# Function

The fundamental concept of a function, that is a mechanism that takes an input and returns a result, tends to have a context-dependent name. In set-theory functions are mappings, in linear algebra they are linear transformations, in arithmetic they are functions, and in category theory they are morphisms. While this context-dependence may seem to imply that functions are secondary structures that are defined by the objects upon which they operate, the opposite is true; functions may be treated as first class objects. This is the basis for functional programming in languages like Haskell[1], and the concept of Natural Transformations in Category Theory.[2]

## Formal Definition

Let $X$ and $Y$ be sets. We say that a relation $f \colon X \rightarrow Y$ is a function if the relation associates to each $x \in X$ exactly one $f(x) \in Y$. We say that $f$ is one-to-one (or injective) if for all $x_1,x_2 \in X$, $f(x_1)=f(x_2)$ implies $x_1=x_2$. We say that $f$ is onto (or surjective) if for all $y \in Y$ there exists $x \in X$ so that $f(x)=y$. We say that $f$ is a bijection if it is both one-to-one and onto.

### Continuity

The continuity of a function is a central component in the study of Topology, because geometrically, one of the main ideas of Topology is to determine whether two spaces have the same "shape." In this context, the concept is generalized much more broadly than when considering homeomorphisms.[3] To determine the "shape" of a space, continuous maps called paths are deformed to determine whether they are homotopic to one another. Two maps, $f_1$ and $f_2$, are homotopic if there exists a homotopy $f_t$ connecting them, written as $f_1 \simeq f_2$.

## Implications of the Function's Domain

A function $f$ is a total function if it is defined for all $x \in X$ and all $y \in Y$. When a function is not defined for all $x \in X$, it is called a partial function. Category Theory-related research in Computer Science has led to functional programming languages like Haskell extending the domain of a partial function through the use of Monads. In Mathematics, analytic continuation is the process of extending the domain of a function to the field of complex Numbers, $\mathbb{C}$.

## Related definitions

• Fundamental Group
• If $f$ is one-to-one then there exists a unique function $f^{-1} \colon Y \rightarrow X$ called the inverse function of $f$ with the property that for all $x \in X$ and $y \in Y$, $f^{-1}(f(x)) = x$ and $f(f^{-1}(y)) = y$.
• Continuous functions
• Homeomorphisms
• Let $O \subset Y$. We define $f^{-1}[O]$, the inverse image of $O$, by the formula $f^{-1}[O] = \left\{ x \in X \colon f(x) \in O \right\}.$

## References

1. Sammut, Claude. 2018. "Higher Order Functions - Map Fold And Filter". Cse.Unsw.Edu.Au. http://www.cse.unsw.edu.au/~en1000/haskell/hof.html.
2. Mac Lane, Saunders. Categories for the Working Mathematician. 2nd ed. Graduate Texts in Mathematics 5. New York: Springer, 1998.
3. Hatcher, Allen. Algebraic Topology. Cambridge ; New York: Cambridge University Press, 2002.