To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
The built-in resources of LA– the first-order language of basic arithmetic which we first introduced in Section 5.2 – are minimal: there are no non-logical predicates, and just three primitive functions, successor, addition and multiplication.
We have previously noted, though, a few examples of what else LAcan express (‘express’ in the sense of Section 5.4). We now radically extend our list of examples by proving that LAcan in fact express any primitive recursive function.
Starting the proof
Our target, then, is to prove
Theorem 15.1 Every p.r. function can be expressed in LA.
The proof strategy Suppose that the following three propositions are all true:
LAcan express the initial functions.
If LAcan express the functions g and h, then it can also express a function f defined by composition from g and h.
If LAcan express the functions g and h, then it can also express a function f defined by primitive recursion from g and h.
Now, any p.r. function f must be specifiable by a chain of definitions by composition and/or primitive recursion, building up from initial functions. So as we follow through the full chain of definitions which specifies f, we start with initial functions which are expressible in LA, by (1). By (2) and (3), each successive definitional move takes us from expressible functions to expressible functions. So, given (1) to (3) are true, f must therefore also be expressible in LA.
In Chapter 7, we defined a theory to be ‘sufficiently strong’ iff it captures all effectively decidable numerical properties. We later remarked that even Q turns out to be sufficiently strong. We can't show that yet, however, because we do not have to hand a general account of effective computability, and hence of effective decidability.
However, we do now know about a large class of effectively computable numerical functions, namely the primitive recursive ones; and we know about a correspondingly large class of the effectively decidable numerical properties, again the primitive recursive ones. And in this chapter, we take a big step towards showing that Q is indeed sufficiently strong, by showing that it can in fact capture all p.r. functions and properties. In a phrase, Q is p.r. adequate.
The idea of p.r. adequacy
(a) As we have said before, the whole aim of formalization is to systematize and regiment what we can already do. Since we can informally calculate the value of a p.r. function for a given input in an entirely mechanical way – ultimately by just repeating lots of school-arithmetic operations – then we will surely want to aim for a formal arithmetic which is able to track these informal calculations. So it seems that we will want a formal arithmetic T worth its keep to be able to calculate the values of p.r. functions for specific arguments. And it seems a very modest additional requirement that it can also recognize that those values are unique. Which motivates the following definition:
A theory T is p.r.adequate iff, for every p.r. function f, there is a corresponding φ that captures f in T.
It immediately follows (from the definition of a p.r. property and Theorem 16.1) that if T is p.r. adequate, then it also captures every p.r. property and relation.
We start by fixing some entirely standard notation and terminology for talking about functions (worth knowing anyway, quite apart from the occasional use we make of it in coming chapters). We next introduce the useful little notion of a ‘characteristic function’. Then we explain the idea of enumerability and give our first example of a ‘diagonalization argument’ – an absolutely crucial type of argument which will feature repeatedly in this book.
Kinds of function
(a) Functions, and in particular functions from natural numbers to natural numbers, will feature pivotally in everything that follows.
Note though that our concern will be with total functions. A total one-place function maps each and every element of its domain to some unique corresponding value in its codomain. Similarly for many-place functions: for example, the total two-place addition function maps any two numbers to their unique sum.
For certain wider mathematical purposes, especially in the broader theory of computation, the more general idea of a partial function can take centre stage. This is a mapping f which does not necessarily have an output for each argument in its domain (for a simple example, consider the function mapping a natural number to its natural number square root, if it has one). However, we won't need to say much about partial functions in this book, and hence – by default – plain ‘function’ will henceforth always mean ‘total function’.
With a bit of help from Church's Thesis, our Theorem 39.2 – Q is recursively adequate – very quickly yields two new Big Results: first, any nice theory is undecidable; and second, theoremhood in first-order logic is undecidable too.
The old theorem that Q is p.r. adequate is, of course, the key result which underlies our previous incompleteness theorems for theories that are p.r. axiomatized and extend Q. Our new theorem correspondingly underlies some easy (but unexciting) generalizations to recursively axiomatized theories that extend Q. More interestingly, we can now prove a formal counterpart to the informal incompleteness theorem of Chapter 7.
Some more definitions
We pause for some reminders, interlaced with definitions for some fairly self-explanatory bits of new jargon.
(a) First, recall from Section 3.2 the informal idea of a decidable property, i.e. a property P whose characteristic function cP is computable. In Section 14.6 we introduced a first formal counterpart to this idea, the notion of a p.r. property, i.e. one with a p.r. characteristic function. However, there can be decidable properties which aren't p.r. (as not all effective computations deliver primitive recursive functions). We now add:
A numerical property P is recursively decidable iff its characteristic function cP is μ-recursive.
That it is to say, P is recursively decidable iff there is a μ-recursive function which, given input n, delivers a 0/1, yes/no, verdict on whether n is P. The definition obviously extends in a natural way to cover recursively decidable numerical relations.
We now bring together Church's Thesis and Turing's Thesis into the Church- Turing Thesis, explain what the Thesis claims when properly interpreted, and say something about its history and about its status.
Putting things together
Right back in Chapter 3 we stated Turing's Thesis: a numerical (total) function is effectively computable by some algorithmic routine if and only if it is computable by a Turing machine. Of course, we initially gave almost no explanation of the Thesis. It was only very much later, in Chapter 41, that we eventually developed the idea of a Turing machine and saw the roots of Turing's Thesis in his general analysis of the fundamental constituents of any computation.
Meanwhile, in Chapter 38, we introduced the idea of a μ-recursive function and noted the initial plausibility of Church's Thesis: a numerical (total) function is effectively computable by an algorithmic routine if and only if it is μ-recursive. Then finally, in Chapter 42, we outlined the proof that a total function is Turing-computable if and only if it is μ-recursive. Our two Theses are therefore equivalent. And given that equivalence, we can now talk of
The Church–Turing Thesis The effectively computable total numerical functions are the μ-recursive/Turing-computable functions.
Crucially, this Thesis links what would otherwise be merely technical results about μ-recursiveness/Turing-computability with intuitive claims about effective computability; and similarly it links claims about recursive decidability with intuitive claims about effective decidability.
This chapter introduces the notion of a μ-recursive function – which is a natural extension of the idea of a primitive recursive function. Plausibly, the effectively computable functions are exactly the μ-recursive functions (and likewise, the effectively decidable properties are exactly those with μ-recursive characteristic functions).
Minimization and μ-recursive functions
The primitive recursive functions are the functions which can be defined using composition and primitive recursion, starting from the successor, zero, and identity functions. These functions are computable. But they are not the only computable functions defined over the natural numbers (see Section 14.5 for the neat diagonal argument which proves this). So the natural question to ask is: what other ways of defining new functions from old can we throw into the mix in order to get a broader class of computable numerical functions (hopefully, to get all of them)?
As explained in Section 14.4, p.r. functions can be calculated using bounded loops (as we enter each ‘for’ loop, we state in advance how many iterations are required). But as Section 4.6 illustrates, we also count unbounded search procedures – implemented by ‘do until’ loops – as computational. So, the obvious first way of extending the class of p.r. functions is to allow functions to be defined by means of some sort of ‘do until’ procedure. We'll explain how to do this in four steps.
We have achieved our initial goal, namely to prove Gödel's First Incompleteness Theorem, and to do so in Gödelian style. Other proofs will come later. But it will do no harm to pause to survey what we've established so far and how we established it. Equally importantly, we should make it clear what we have not proved. The Theorem attracts serious misunderstandings: we will briefly block a few of these. Finally in this interlude, we will outline the next block of chapters which explore further around and about the First Theorem.
What we have proved
We begin, then, with the headlines about what we have proved (we are going to be repeating ourselves, but – let's hope! – in a good way).
Suppose we are trying to regiment the truths of basic arithmetic, meaning the truths expressible in terms of successor, addition, multiplication, together with the apparatus of first-order logic (so these are the truths that can be rendered in LA). Ideally, we would like to construct a formally defined consistent theory T whose language includes LA and which proves all the truths of LA (and which entails no falsehoods). So we would like T to be negation-complete, at least for sentences of LA. But the First Theorem tells us that, given some entirely natural assumptions, there just can't be such a negation-complete theory.
The first required assumption is that T should be set up so that it is effectively decidable whether a putative T-proof really is a well-constructed derivation from T's axioms.
Theorem 6.3, our first shot at an incompleteness theorem, applies to sound theories. But we have already remarked in Section 1.2 that Gödel's arguments show that we don't need to assume soundness to prove incompleteness. In this chapter we see how to argue from consistency to incompleteness.
But if we are going to weaken one assumption (from soundness to mere consistency) we'll need to strengthen another assumption: we'll now consider theories that don't just express enough but which can capture, i.e. prove, enough.
Starting in Chapter 10, we'll begin examining various formal theories of arithmetic ‘from the bottom up’, in the sense of first setting down the axioms of the theories and then exploring what the different theories are capable of proving. For the moment, however, we are continuing to proceed the other way about. In the previous chapter, we considered theories that have sufficiently expressive languages, and so can express what we'd like any arithmetic to be able to express. Now we introduce the companion concept of a sufficiently strong theory, which is one that by definition can prove what we'd like any moderately competent theory of arithmetic to be able to prove about decidable properties of numbers. We then establish some easy but deep results about such theories.
The idea of a ‘sufficiently strong’ theory
Suppose that P is some effectively decidable property of numbers, i.e. one for which there is an algorithmic procedure for deciding, given a natural number n, whether n has property P or not.
An algorithm, we said, is a sequential step-by-step procedure which can be fully specified in advance of being applied to any particular input. Every minimal step is to be ‘small’ in the sense that it is readily executable by a calculator with limited cognitive resources. The rules for moving from one step to the next must be entirely determinate and self-contained. And an algorithmic procedure is to deliver its output, if at all, after a finite number of computational steps. The Church–Turing Thesis, as we are interpreting it, is then the claim that a numerical function is effectively computable by such an algorithm iff it is μ- recursive/ Turing-computable (note, we continue to focus throughout on total functions).
The Thesis, to repeat, is not a claim about what computing ‘machines’ can or can't do. Perhaps there can, at least in principle, be ‘machines’ that out-compute Turing machines – but if so, such hypercomputing set-ups will not be finitely executing algorithms (see Section 44.4).
And as we also stressed, it is enough for our wider purposes that we accept the Thesis's link between effective computability by an algorithm and μ- recursiveness/Turing computability; we don't have to take a particular stance on the status of the Thesis. But all the same, it is very instructive to see how we might go about following Turing (and perhaps Gödel) in defending a bolder stance by trying to give an informal proof that the intuitive and formal concepts are indeed coextensive. So in this chapter I attempt such a demonstration.
In 1931, the young Kurt Gödel published his First and Second Incompleteness Theorems; very often, these are referred to simply as ‘Gödel's Theorems’ (even though he proved many other important results). These Incompleteness Theorems settled – or at least, seemed to settle – some of the crucial questions of the day concerning the foundations of mathematics. They remain of the greatest significance for the philosophy of mathematics, though just what that significance is continues to be debated. It has also frequently been claimed that Gödel's Theorems have a much wider impact on very general issues about language, truth and the mind.
This book gives proofs of the Theorems and related formal results, and touches – necessarily briefly – on some of their implications. Who is the book for? Roughly speaking, for those who want a lot more fine detail than you get in books for a general audience (the best of those is Franzen, 2005), but who find the rather forbidding presentations in classic texts in mathematical logic (like Mendelson, 1997) too short on explanatory scene-setting. I assume only a modest amount of background in logic. So I hope philosophy students will find the book useful, as will mathematicians who want a more accessible exposition. But don't be misled by the relatively relaxed style; don't try to browse through too quickly. We do cover a lot of ground in quite a bit of detail, and new ideas often come thick and fast. Take things slowly!