Primitive recursive functions are functions from natural numbers to natural numbers, defined as follows (from here on we will write "p.r." for primitive recursive):
Take as axioms the initial set of numbers and functions:
Where the "successor function" takes the number k and returns the number one greater than k on the natural [number line]?, and the "projection functions" Pin take n arguments and return the ith one.
Now consider the following operations:
The closure of the operations over the initial set of numbers and functions forms the set of p.r. functions.
(Note that the projection functions allow us to get around the apparent rigidity in terms of the arity of the functions above, as via composition we can pass any subset of the arguments.)
Example P.R. definitions
(need actual definitions)
P.R. functions are a subset of the recursive functions
Primitive recursive functions tend to correspond very closely with our intuition of what a computable function must be. Certainly the initial set of functions are intuitively computable (in their very simplicity), and the two operations by which one can create new p.r. functions are also very straight-forward. However the set of p.r. functions does not include every possible computable function -- this can be seen with a variant of Cantor's diagonalization argument.
(need outline of proof)