Is there any computable real number which can not be computed by a higher order primitive recursive algorithm?

For computable real number I mean those that can be computed by a Turing machine to any desired precision in finite time. For higher order primitive recursive algorithm I mean common primitive recursive functions theory extended with first-class functions (as in Ackermann function).

Turing machines are more powerful than higher order primitive recursive functions so there exists the possibility that some computable reals numbers are not expressible by them.

  • 1
    Could you include your preferred definition of "computable real number" and "higher order primitive recursive algorithm"? That will probably make answers more relevant (and also help answerers get some context.) – 6005 May 18 '17 at 21:55
  • Interesting, I've never heard of "higher-order primitive recursion" before. Do you have a link to an authoritative definition? – gardenhead May 18 '17 at 22:46
  • @gardenhead Not really. Wikipedia's Ackermann function entry mentions category theory before introducing it. I know it due to Total Functional Programming literature. – user3368561 May 18 '17 at 22:59
up vote 4 down vote accepted

The set of higher-order primitive recursive reals is essentially the class of functions $\mathbb{N}\rightarrow\mathbb{N}$ which can be represented by a term $\mathrm{Nat}\rightarrow\mathrm{Nat}$ in Gödel's system T.

Since every such function is total, and every well-typed term in the system can be enumerated effectively, there is a relatively easy proof by diagonalization that there is some computable real which cannot be represented.

Your Answer


By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.