General recursion — the μ-operator = Turing power
Parent: recursive-functions
Add one construct to primitive recursion and you reach all of computability — at the price of possible non-termination.
Minimization (the
μ-operator)μn. [ f(n, x) = 0 ]= the leastnsuch thatf(n,x)=0(andf(k,x)is defined and nonzero for allk<n); undefined if no suchnexists. This is an unbounded search — awhile-loop with no known bound.
General (
μ-) recursive functions basic functions + composition + primitive recursion +μ. These are the partial recursive functions.
General recursive = Turing-computableThe
μ-recursive functions are exactly the Turing-computable (= λ-definable) functions — the Church–Turing thesis made precise.
Why μ is the whole jump
for→while. Primitive recursion = boundedfor-loops (always halt, but limited, can't reach Ackermann-fast growth cheaply).μ= the unboundedwhile-loop.- Non-termination enters. The search
μn.[…]may run forever, soμ-recursive functions are partial — and "does thisμ-search halt?" is the halting-problem. - This is the phase transition. Bounded recursion is decidable and total; unbounded recursion is Turing-complete and undecidable.
μis the least-fixed-point / unbounded-search operator — the same power as the [[lambda-calculus|Ycombinator]]. Everything computable, and not one bit more, lives here.