Find all functions $f : \mathbb N \mapsto \mathbb N$ such that the following identity 
$$f^{x+1}(y)+f^{y+1}(x)=2f(x+y)$$
holds for all $x,y \in \mathbb N$
1. **Initial Setup and Substitution:**
   We start with the given functional equation:
   \[
   f^{x+1}(y) + f^{y+1}(x) = 2f(x+y)
   \]
   where \( f^n(z) \) denotes the \( n \)-th iterate of \( f \) at \( z \). 

2. **Substitution \( y = 1 \):**
   Plugging \( y = 1 \) into the equation, we get:
   \[
   f^{x+1}(1) + f^2(x) = 2f(x+1)
   \]
   Let's call this assertion \( Q(x) \).

3. **Induction Hypothesis:**
   We aim to prove by induction that \( f(n) = f^n(1) \) for all \( n \in \mathbb{N} \).

4. **Base Case:**
   For \( n = 1 \), we have:
   \[
   f(1) = f^1(1)
   \]
   which is trivially true.

5. **Inductive Step:**
   Assume \( f(n) = f^n(1) \) holds for some \( n \geq 1 \). We need to show that \( f(n+1) = f^{n+1}(1) \).

6. **Using \( Q(n) \):**
   From \( Q(n) \), we have:
   \[
   f^{n+1}(1) + f(f(n)) = 2f(n+1)
   \]
   By the induction hypothesis, \( f(n) = f^n(1) \), so:
   \[
   f^{n+1}(1) + f(f^n(1)) = 2f(n+1)
   \]
   Since \( f(f^n(1)) = f^{n+1}(1) \), we get:
   \[
   2f^{n+1}(1) = 2f(n+1)
   \]
   Dividing both sides by 2, we obtain:
   \[
   f^{n+1}(1) = f(n+1)
   \]
   Thus, by induction, \( f(n) = f^n(1) \) for all \( n \in \mathbb{N} \).

7. **Conversely:**
   Any function satisfying \( f^n(1) = f(n) \) is a solution because both sides of the original identity are equal to \( 2f^{x+y}(1) \).

8. **Implication of \( Q(n) \):**
   From \( Q(n) \), we also have:
   \[
   f(f(n)) = f(n+1)
   \]
   for all \( n \in \mathbb{N} \).

9. **Conclusion:**
   Therefore, the problem is equivalent to finding functions such that:
   \[
   f(f(n)) = f(n+1) \quad \forall n \in \mathbb{N}
   \]
   This functional equation has many solutions, and finding a general form for all such functions might be complex.

\(\blacksquare\)

The final answer is \( \boxed{ f(f(n)) = f(n+1) } \) for all \( n \in \mathbb{N} \).