Primitive Recursive on Some Functions? We took an entrance exam on Set and Complexity Course, The question says:
if $g$ be a primitive recursive, 
$1)$ $f_1(0)=c_1, f_1(1)=c_2, f_1(x+2)=g(x,f_1(x),f_1(x+1))$, and 
$2)$ $f_2(x)=c, f_2(x+1)=g(x,[f_2(0),...,f_2(x)])$ are primitive recursive. 

How we can conclude $f_1$ and $f_2$ are Primitive Recursive?

Edit: I thanks from "Carl Mummert" that help me to see 1 for Course-of-values recursion but I‌ caanot adopt it to this example. anyone could point me why these are P.R.? 
 A: I would like to take the chance to answer the questions meanwhile refreshing my memory about primitive recursion.
Denote by $[-,-]\colon\mathbb{N}\times\mathbb{N}\to\mathbb{N}$ the pairing function and let $\operatorname{fst}\colon\mathbb{N}\to\mathbb{N}, \operatorname{snd}\colon\mathbb{N}\to\mathbb{N}$ be such that $\operatorname{fst}([x,y])=x, \operatorname{snd}([x,y])=y$. We know that both $[-,-]$, $\operatorname{fst}$ and $\operatorname{snd}$ are primitive recursive.


*

*Since $g$ is primitive recursive, function $h:\mathbb{N}\to\mathbb{N}$ defined by $$h(0)=[c_1, c_2], h(x+1) = [\operatorname{snd}(h(x)), g(x, \operatorname{fst}(h(x)), \operatorname{snd}(h(x)))]$$ is primitive recursive using compositions of primitive functions and primitive recursion. Clearly, $h(x) = [f_1(x), f_1(x+1)]$. Hence $f_1(x) = \operatorname{fst}(h(x))$ is primitive recursive.

*A common way to define $[x_1, x_2, \dots, x_n]$ is to define recursively by setting $[x_1, x_2, \ldots, x_n]:= [[x_1, x_2, \dots, x_{n-1}], x_n]$ for $n\geq 3$. Under this convention, $\operatorname{snd}[x_1, \ldots, x_n] = x_n$. Back to the question. Since $g$ is primitive recursive, function $h: \mathbb{N}\to \mathbb{N}$ defined by $$h(0) = c, h(x+1) = [h(x), g(x,h(x))]$$ is primitive recursive. Clearly, $h(x) = [f_2(0), f_2(1), \dots, f_2(x)]$ and so $f_2(x) = \operatorname{snd}(h(x))$ is primitive recursive.
