To say that first-order logic is undecidable is to say that there is no
Turing machine (or equivalent formalism) that can decide whether or not
a formula
in a given first-order language is valid. Our
approach to establishing that there is no such Turing machine will be
to show that given a Turing machine M and input n to this machine
(where n is a natural number represented by a string of n 1's),
there is a set
of first-order formulas, and a first-order
formula
,
such that
In order to produce
and
given a Turing machine M,
we begin by assuming that this machine's tape has had all its squares
numbered, as in
| -2 | -1 | 0 | 1 | 2 |
The first type of arc we consider goes from state qi to qm and is
labelled with a pair sj sk. Here is the formula corresponding to
this arc (where t ranges over times, and x and y over square
numbers, and where n' is the successor of n):
Now for those arcs that indicate movement, either to the right (denoted
here by R) or to the left (L). The former, with the arc from state
qi to qm having the label sj R, is represented as follows in
first-order logic.
Here, now, is how the initial configuration of the machine M can be
captured:
We also need for make sure that the function ' works as desired, so
we need the following formulas.
| (5.1) |
| (5.2) |
Finally, what is
? This formula is the disjunction of all
symbolizations of parts of flow diagrams where there is no entry in the
left of a label for an arc, for symbol sj. So
will be a
disjunction of formulas having this form:
| (5.3) |