Conceptual question about assuming the existence of a function in order to prove the existence of another function I would like to raise a question using an exercise from Tao's Analysis I as an example. The exercise is presented as follows:

Let $f:\mathbb N \times \mathbb N \to \mathbb N$ be a function, and let $c$ be a natural number. Show that there exists a function $a : \mathbb N \to \mathbb N$ such that $$a(0) =c $$
  and
  $$a(n++)=f(n,a(n)) \text{ for all } n \in \mathbb N$$

My question is not about how to solve this problem. Rather, I am trying to understand what exactly the assumption "$f: \mathbb N \times \mathbb N \to \mathbb N$" is trying to suggest to the reader. 
I have just learned quite a bit more detail about functions (e.g. the difference between set functions and class functions). In light of this, in the absence of providing a specific mapping rule, it seems to me that "$f: \mathbb N \times \mathbb N \to \mathbb N$" must be some sort of shorthand for: 

"$f$ is a set function... where the exact mapping rule is arbitrary...but we at least know the sets from which the first and second component of the ordered pairs come from".

Is this a correct interpretation?
If so, then is this a correct abridged formalization of the overall proof?
$\forall f \text{ such that } (\forall (x,y) \in f, x \in \mathbb N \times \mathbb N \land y \in \mathbb N)$, $\exists a \text{ such that ...}$
 A: The wording of this statement can be clarified by inserting the implied quantifiers:

For all functions $f : \mathbb N \times \mathbb N \to \mathbb N$ and for all natural numbers $c$ there exists a function $a : \mathbb N \to \mathbb N$ such that...

This is exactly analogous to other statements in mathematics which I'm sure you're comfortable with, for example this kind of statement which occurs all the time in the definition of a limit:

For all $\epsilon > 0$ and for all $x \in \mathbb R$ there exists $\delta > 0$ such that ...

With the quantifiers as expressed, once you specify the variable names, and the sets in which those variables are allowed to take their values, there is utterly no difference between the logical meaning of these two statements:


*

*In the second statement, $\epsilon$ varies over the set $(0,\infty)$; $x$ varies over the set $\mathbb R$; and $\delta$ varies over the set $(0,\infty)$. 

*In the first statement: $f$ varies over the set of functions with domain $\mathbb N \times \mathbb N$ and range $\mathbb N$; $c$ varies over the set $\mathbb N$; and $a$ varies over the set of functions with domain $\mathbb N$ and range $\mathbb N$.
A: A comment on the logical aspect of the question. 
You seem to see things like this : we want to prove the existence of function $a$ , and , to do this, we make a "risky assumption" as to the existence of a function $f$ such that... 
Here the existence of function $f$ is not a conjecture, it is simply the hypothesis of the problem. You are supposed to put yourself in the situation where such an arbitrary function $f$ exists ( satisfying the conditions given) , and , under this hypothesis, to prove the existence of at least one function satisfying the conditions for $a$. 
Although rigorously the proof amounts to proving a universally quantified conditional, your proof will be finished as soon as you have reached the existential statement ( under your initial hypothesis of course). 

The complete goal is : 
$\forall (f)(c)$ 
IF ($f$ is a binary  operation on $\mathbb N$ & $c\in \mathbb N$)
THEN ( $\exists (a)$ such that $a$ is a function from $\mathbb N$ to $\mathbb N$ & $a$ satisfies the following properties : .... ).  
As you see, the goal is not to prove the existence of $a$, period. The goal is to prove the existence of $a$, in case  we have a function $f$ having the required properties. 
The " IF part" is the hypothesis. 
Any arbitrary function $f$ will do ( as soon as you do not make any extra assuption as to $f$, beyond the fact that it is an operation on the set of natural numbers). In the same way, any arbitrary number $c$ will do. 
The arbitrariness of $f$ and of $c$ is what will allow you, in the end, to generalize and to say that what you have proved holds " for all $f$ and for all $c$". 

Let me take a stupid example to make things clear. 
You are asked to prove that : 
" For all person A and B, if (A IS 0.5 m. tall  AND B 50 times as tall as A) then ( there is a person that is taller than any elephant )." 
We do not assume anything in order to prove the actual existence of a person that is taller than any elephant. 
We simply say that : in case it happened that there were a person A being 0.5m tall and a 50 times as tall person B ( whoever A and B may be) , in that hypothetical case, B would be 25 m tall, which would imply ( hypothetically) that there is an $x$ such that $x$ is a person, and $x$ is taller than any elephant. 
A proof would go like this: 
"Let's admit that A and B are persons , that A is 0,5m talland B is 50 tims as tall as A. ( That is, you would assume the antecedent of the conditional). 
What would follow from this?" 
Then, you'd try to reach the consequent , under your assumption. 
