If definitions themselves are informally just maps from words to collections of other words. Then in order for one to define anything, they must inherently already have a notion of a function. I mean of course one could ask what the exact "things" our functions are mapping to and from, and then revert back to set theory or something else to represent those "things" but why not just define everything to be a function so we are mapping functions to functions? (perhaps with some axiom guaranteeing the existence of at least one function which we can use to recursively build up a bunch of other functions allowing us to express most of contemporary mathematics in the same way I've seen this done iteratively with the emptyset in ZFC) 


I mean how can one read any language, much less a mathematics textbook unless they are capable of mapping words to other words i.e. using functions (albeit even if one doesn't mentally recognize it, their brain is still implementing something akin to a function).


Even in formulations of ZFC it seems functions are implicitly being used, for example the Axiom of intersection says given any two sets $A$ and $B$ there exists a set containing all the elements they have in common that one denotes by $A\cap B$. 


However we essentially have just defined a function $\cap$ of two variables, taking any two sets to another set - their intersection. Similarly in propositional logic when one defines the logical conjunction $\land$ we are again defining a two variable function from truth values to other truth values. 


Pre-facing a statement about mathematical objects that are being mapped to something with the words "we represent this by" or "we denote it by" merely conceals the fact one has just defined a function by hiding it as a statement in the English language. So re-iterating I don't see how anyone can learn *anything* without having some mental grasp of what a map/function/arrow etc. is. 


For example a dictionary can be crudely expressed as a functional relation $f$ where we might have:


$$f(\texttt{apple})≡\texttt{a round fruit that grows on trees}$$


So how is it one can accept any mathematical axioms without first taking functions as a primitive, when reading and interpreting words/symbols in of itself requires their usage. If to formally define a function you must use functions then isn't that circular reasoning?


How can a person understand a simple map or visual diagram when interpreting objects, color-intensity etc. requires mentally creating a bijective map between the object being labeled and what it represents. I mean the use of any variables for that matter requires creating what amounts to a bijection, at least mentally between the letters/symbols on paper and the objects/ideas they represent. If understanding everything from written language to cave drawings requires some mental notion of a functional relation, then shouldn't it be used as a starting point?


Also from an aesthetic point of view, it seems a lot simpler to just accept some mathematical variant of a map/arrow/morphism/function etc. then to define a large number of other objects or "syntactic abbreviations" (I'm not familiar with the proper term but this is what Peter Heinig calls it) which appear to me as objects that hold almost all the same characteristics of functions. Lastly if one gets slightly looser with this idea, couldn't you argue understanding any cause and effect relationship essentially requires some mental abstraction that when modeled symbolically is functional? This could be argued as much simpler as then even non-humans would be capable of grasping similar notions, e.g. gorillas capable of rudimentary sign language can understand that by "inputting" a configuration of their hands they can "output" a banana from their owner. In any case though before I get off topic and venture into philosophy, I want to add I'm not too well versed in mathematical logic, so I'm guessing this exact thing has been covered elsewhere. In which case I would appreciate any references.



Why aren't functions used predominantly as a model for mathematics instead of set theory etc.?
Let me explain one sense in which using functions or sets provides
exactly equivalent foundations of mathematics, in a way that is
connected with some deep ideas in set theory. There is a
translation back and forth between these foundational choices.


For example, it is a standard exercise in set theory to consider
how we might construct the set-theoretic universe using
characteristic functions, rather than sets, since as you noted, the
characteristic function seems to provide all the necessary
information about a set. We want to replace every set $A$ with a
function $\chi\_A$, which will have value $1$ for the "elements" of
$A$ and value $0$ for objects outside $A$.


But notice that we don't really mean the ordinary elements of $A$,
since we want to found the entire universe using only these
functions, and so we should mean the functions that represent those
elements of $A$. So this should be a recursive transfinite
hereditary process. 


Specifically, we can build a functional version of the
set-theoretic universe as follows, in a way that perhaps fulfills the idea in your comment at the end of the first paragraph in your question. Namely, just as the set-theoretic
universe is built up in a cumulative hiearchy $V\_\alpha$ by
iterating the power set, we can undertake a similar construction
for the functional universe. We start with nothing
$V\_0^{\{0,1\}}=\emptyset$. If $V\_\alpha^{\{0,1\}}$ is defined, then
we define $V^{\{0,1\}}\_{\alpha+1}$ as the set of all functions with domain contained in $V\_\alpha^{\{0,1\}}$ and range contained in $\{0,1\}$. At limit stages,
we take unions $V\_\lambda^{\{0,1\}}=\bigcup\_{\alpha<\lambda}
V\_\alpha^{\{0,1\}}$. The final universe $V^{\{0,1\}}$ is any
function that arises in this hierarchy.


One thing to notice here is that because we allowed value $0$, we
will have the same "set" being represented or named by more than
one function, since $0$-values indicate non-membership. So we can
define by transfinite recursion a value for equality on the names
$[\![f=g]\!]$ in the natural hereditary manner: the value will be
$1$, if the "members" of $f$ and $g$ are also equivalent with value
$1$. And we can define the truth value of the membership relation $[\![f\in g]\!]$, which will be $1$ if $f$ is equivalent to some $f'$ for which $g(f')=1$. Meanwhile, every object $a$ in the original set-theoretic
universe has a canonical name $\check a$, which is the constant $1$
function on the collection $\{\check b\mid b\in a\}$. 


You can extend the truth value assignments to all assertions in the
language of set theory $[\![\varphi]\!]$, and the fundamental fact
to prove for this particular way of undertaking the functional universe construction is that a set-theoretic statement is true in the original
set-theoretic universe if and only if the value of the statement on
the corresponding names is $1$.
 $$V\models\varphi[a]\quad\iff\quad [\![\varphi(\check a)]\!]=1.$$
The truth values on the right are all about the functional universe
$V^{\{0,1\}}$, and this equivalence expresses the sense in which truth in the
set-theoretic universe is exactly copied over to the functional
universe.


Conversely, given any functional universe, one can extract a
corresponding set-theoretic universe. So the two approaches are
essentially equivalent, the set-theoretic universe or the
characteristic-functional universe.


A further thing to notice next is that the functional approach to
foundations opens up an intriguing possibility. Namely, although we
had used truth values $\{0,1\}$, which amounts to using classical
logic, suppose that we had used another logic?


For example, if we had used functions into
$\newcommand\B{\mathbb{B}}\B$, a complete Boolean algebra, then we
would have constructed the universe $V^{\B}$ of $\B$-valued sets,
which are hereditary functions into $\B$.


Set-theorists will recognize this as the core of the forcing
method, for the elements of $V^{\B}$ are precisely the $\B$-names
commonly considered in forcing. The main point is that



> 
> **Forcing is the method of using a functional foundations, but
>  where one uses a complete Boolean algebra $\B$ in place of the classical logic $\{0,1\}$.**
> 
> 
> 


The amazing thing about forcing is that it turns out that for any
complete Boolean algebra $\B$, the ZFC axioms still come out fully
true, so that $[\![\varphi]\!]=1$ for any axiom $\varphi$ of ZFC.
But meanwhile, other set-theoretic statements such as the continuum
hypothesis or what have you, can get value $0$ or intermediate
values. This is how one establishes independence results in set
theory.


I find it remarkable, a profound truth about mathematical
foundations, that the nature of set-theoretic truth, concerning the
continuum hypothesis or other set-theoretic statements, simply
flows out of the choice of which logic of truth values to have when
you are building the set-theoretic universe.


Finally, let me mention that one can undertake exactly the same
process using other algebras of truth values, which are not
necessarily Boolean algebras. For example, using a Heyting algebra
gives rise to topos theory. And using paraconsistent logics, such
as the three-element logic, gives rise to paraconsistent set
theory.


