  We next define the class of Primitive Recursive Functions. This is a very interesting class of functions  described a in paper by Skolem (1923) and used by Gödel in his proof of the Incompleteness Theorem. We are interested in functions \(f\) from \(\mathbf{N}^{r}\) to \(\mathbf{N}\), for \(r = 0, 1, 2,\ldots\) . Here \(r\) is called the arity of the function \(f\), i.e., the number of arguments that it takes. Gödel started with three very simple functions, the initial functions, and two natural closure operations, composition and primitive recursion, each of which take some already defined functions and use them to define a new one. We next explain his definitions in detail. This section is technical and can be safely skipped. The important idea is that the primitive recursive functions comprise a very large and powerful class of computable functions, all generated in an extremely simple way.