In Bruno Poizat's book "A course in model theory" pages 35,36, he says :
"we have no difficulty proving the first part of Fraïssé's theorem, that two $p$-equivalent tuples satisfy the same formulas of quantifier rank less than or equal to $p$".
He continues, "As the for converse, which depends on Lemma 2.3 ("there are only finitely many p-equivalence classes"), it is correct only if the signature can be reduced to a finite number of relations and and constants. In fact, one $single$ $function$ of nonzero arity allows the formation of infinitely many terms, and consequently infinltely many atomic formulas.
"Therefore, if we want to reduce elementary equivalence completely to finite back-and-forth criteria, we need to reduce it to finite signatures, and to replace each $n$-ary function by its graph, which is an $(n+1)$-ary relation. Doing this would preserve elementary equivalence, but change the notions of atomic formula, formula of quantifier rank $p$, $p-isomorphism$, etc."
I don't really understand what he says about functions here, about replacing them with their graphs. Can someone please explain why this is necessary? Am I missing something?
Long comment
Theorem 2.2, page 24 (Fraïssé's theorem) is stated for a relation $R$.
Ch.3.2 Functions (page 33-on) consider a language with also function symbols $f_j$.
The "trick" is to replace an $n$-ary function symbol $f$ with an $(n+1)$-ary relation symbol $R$.
Consider the simple example of arithmetic; the sum operation is a binary function : $+ : \mathbb N \to \mathbb N$.
Thus, we need a binary function symbol : $+(x,y)=z$.
We may replace it with a ternary relation symbol $+^*(x,y,z)$ defined as follows :
Compare with : Graph of a function :
In symbols : $\text {Graph}(f) = \{ (x, y) \mid y=f(x) \}$.