Questions: Primitive Recursive Functions

5 questions to test your understanding

Score: 0 / 5
Question 1 Multiple Choice

A mathematician defines function f: ℕ → ℕ that always produces a value and is defined for every natural number. She concludes: 'Since f always terminates and is total, it must be primitive recursive.' Is she correct?

AYes — every total function on the natural numbers is primitive recursive by definition
BYes — termination guarantees primitive recursiveness, since non-terminating functions are the only ones outside the class
CNo — the Ackermann function is total and always terminates but grows faster than any primitive recursive function, placing it strictly outside the class
DNo — primitive recursive functions must also be monotone increasing, which may not hold for f
Question 2 Multiple Choice

Why can't the primitive recursion operation define the Ackermann function, even though the Ackermann function is clearly computable?

AThe Ackermann function is undefined for some inputs, making it non-total and thus outside the class
BPrimitive recursive functions cannot use more than two arguments, but Ackermann requires three
CPrimitive recursion only decreases a single argument in each recursive call, but the Ackermann function uses nested recursion of unbounded depth that escapes any fixed recursion scheme
DThe Ackermann function requires integer division, which is not primitive recursive
Question 3 True / False

All primitive recursive functions are total — they return a value for every natural number input and never fail to terminate.

TTrue
FFalse
Question 4 True / False

The Ackermann function lies outside the class of primitive recursive functions because it is not computable — no Turing machine can compute it.

TTrue
FFalse
Question 5 Short Answer

Why does the class of primitive recursive functions fail to capture all computable functions, and what operation must be added to close the gap?

Think about your answer, then reveal below.