⊢
or ⊨
(varies which of these is taken to be definitional, but for classical FOL and the appropriate proof systems, we know they coincide)consistent
complete/exhaustive
T ⊢ φ
or T ⊢ ~φ
φ
or ~φ
will ∈ T
axiomatizable
The axiomatizable formal arithmetics we’re working with are axiomatizable in the more restricted senses; and that’s also the notion Gödel originally worked with. But generally, the results we discuss also apply when “axiomatizable” is understood in the more general sense (though proving some of the results is then harder).
decidable (there’s an effective test for what the theory’s members/theorems are)
Earlier in the class discussed formal automata, the most powerful of which are Turing machines.
There are other models of computation, including:
the system of General or μ-recursive functions developed by Kleene, which will be summarized below
Church’s lambda calculus
Markov algorithms, which are a kind of rewriting system
For general reading about efforts to develop rigorous models of the intuitive notion of a mechanical/effective algorithm:
Starting Functions
Zero(x) = 0
Succ(x) = x + 1
Combining Functions
Generalized composition: for n-adic g
and j-adic f₁...fn functions, g ∘ (f₁...fn) maps arguments (x₁...xj) to g(f₁(x₁...xj)...fn(x₁...xj))
Primitive recursion (sometimes written as ρ
): for j-adic base
and (j+2)-adic step
functions:
j = 0
. There are various ways to handle this. Generally, the base function will then be Zero
or Succ ∘ Zero
or something like that. We’ll say in those cases Zero
is called with no argument, or with some arbitrary argument which it then ignores.Variations in how these are formulated. With these formulations, the base
function for factorial
would be Succ ∘ Zero
. The step
function would map arguments (k, kResult)
to Succ(k) ⋅ kResult
.
What you can build with the above resources are called the primitively recursive functions (sometimes abbreviated “p.r.”, but unfortunately that abbreviation is also sometimes used for a different notion, mentioned below). When I talk elsewhere in these notes of “primitive” resources, I mean functions that are definable in this restricted system. (To detect important syntactic properties, do syntactic manipulations, detect if some string constitutes a proof of a given conclusion in the theories we’re interested in: in practice primitively recursive resources are enough to do all this. That will involve encoding strings and proofs — sequences of strings — into numbers; complicated but the principles are straightforward.)
All primitively recursive functions are total (when j-adic, they’re defined for all j-tuples of ℕ
).
Within the primitively recursive system, can define a kind of “bounded minimization”, which transforms a (j+1)-adic function f
into a function that maps arguments (x₁...xj, b) to the least y < b
(if there is one) where f(x₁...xj, y) = 0; else to b
(meaning no such y
was found below the bound).
There’s a more general system of fully or generally recursive functions. (Usually these are just called “recursive,” without “fully.”) All primitively recursive funtions count as fully recursive. In addition, there’s one more way to combine functions, and this is:
μ
): transforms a (j+1)-adic function f
into a function that maps arguments (x₁...xj) (now no bound is supplied) to the least y
(if there is one) where f(x₁...xj, y) = 0 and for all lower y′, f(x₁...xj, y′) is defined (and so > 0
); else this function is undefined.These functions can also be combined using composition, primitive recursion, and minimization.
With this new operation, we’ve introduced into the system functions that might not be defined for some arguments. Some fully recursive functions (that aren’t also primitively recursive) are total, but others aren’t; so we can talk about “total” and “merely partial” recursive functions. (Unfortunately, some authors use “p.r.” to mean “partial recursive” rather than “primitively recursive”.)
It is undecidable whether an arbitrary fully recursive function is total.
There’s a result known as “Kleene’s Normal Form Theorem” that implies that any fully recursive function is equivalent to at most a single application of unbounded minimization applied to a (total) primitive recursive function.
we’ll be considering whether formal theories of arithmetic can “express” or “define” various relations or functions (a variety of terminology is used here, including also “represent,” “capture”)
relations can include 1-place relations which are also known as, or can at least stand in for, properties and/or sets
k-adic functions can be understood as (k+1)-adic relations, but for some purposes it’s useful to treat them separately
semantic notion of a (k+1)-adic relation being “expressed” in a particular language by open formula φ
:
if Rm₁...mk+1 then ⟦φ[x₁ ← Sm₁Z, ..., xk+1 ← Smk+1Z]⟧std is true, where std
is the language’s “standard/intended model”
if ~Rm₁...mk+1 then ⟦~φ[x₁ ← Sm₁Z, ..., xk+1 ← Smk+1Z]⟧std is true
The two clauses could be combined into “Rm₁...mk+1 iff ⟦φ[x₁ ← Sm₁Z, ..., xk+1 ← Smk+1Z]⟧std is true”, but we put them in the above form to make their relation to the next notion clearer.
The notion of a k-adic function being expressed by φ
is understood in the same way.
provability notion of a (k+1)-adic relation being “definable” in a theory T
by open formula φ
:
if Rm₁...mk+1 then T ⊢ φ[x₁ ← Sm₁Z, ..., xk+1 ← Smk+1Z] if ~Rm₁...mk+1 then T ⊢ ~φ[x₁ ← Sm₁Z, ..., xk+1 ← Smk+1Z]
for k-adic functions, the analogue would be:
if f(m₁...mk) = n then T ⊢ φ[x₁ ← Sm₁Z, ..., xk ← SmkZ, xk+1 ← SnZ] if f(m₁...mk) ≠ n′ then T ⊢ ~φ[x₁ ← Sm₁Z, ..., xk ← SmkZ, xk+1 ← Sn′Z]
but in fact, for functions, it’s most useful to work with a stronger provability notion instead. We want T
not just to be able to prove, for each n′
that isn’t the value of f(m₁...mk), that ~φ[x₁ ← Sm₁Z, ..., xk ← SmkZ, xk+1 ← Sn′Z]. We want it to be able to prove the generalization of this, namely:
T ⊢ ∀y(y ≠ SnZ ⊃ ~φ[x₁ ← Sm₁Z, ..., xk ← SmkZ, xk+1 ← y])
This can be combined with the first clause to get:
if f(m₁...mk) = n then T ⊢ ∀y(y = SnZ ⊂⊃ φ[x₁ ← Sm₁Z, ..., xk ← SmkZ, xk+1 ← y])
we’ll be considering whether the language of a theory “can express,” or the theory itself “can define,” primitive and fully recursive functions (for some results, we want them to do this in a “canonical” way)
so now we’ll have two translations: first from syntactic operations on strings and proofs into a regimented formulation in terms of the system of recursive functions, second into some formal arithmetic’s way of expressing/defining that
Δ₀
or “rudimentary” formulas: include only bounded quantification, that is formulas of the structure ∀x(x < b ⊃ φ)
or ∃x(x < b ∧ φ)
, where b
is either a numeral, or a variable bound by a larger bounded quantifier, or terms built out of these
Bounded quantification usually abbreviated as (∀x < b)φ
and (∃x < b)φ
.
Σ₁
or “∃
-rudimentary” formulas: include Δ₀
, preceded by a chain of zero or more unbounded ∃
Π₁
or “∀
-rudimentary” formulas: include Δ₀
, preceded by a chain of zero or more unbounded ∀
Negation of a Π₁
formula is equivalent to a Σ₁
formula, and vice versa
ω
-complete and ω
-consistentA theory is ω
-incomplete when it can prove φ(n)
for each n ∈ ℕ
, but not ∀xφ(x)
ω
-incompleteness entails but isn’t entailed by regular incompleteness. (So ω
-completeness is entailed by regular completeness.)
Our middling arithmetics have this property. They have as an axiom ∀x(x + Z) = x
, and for any m
, can prove the instance of the converse Z + SmZ = SmZ, but they cannot prove the generalization ∀x(Z + x) = x
. (Neither can they prove its negation.)
A theory is ω
-inconsistent when it can prove φ(n)
for each n ∈ ℕ
, but can also prove ~∀xφ(x)
.
ω
-inconsistency is entailed by but doesn’t entail regular inconsistency. (So ω
-consistency entails regular consistency.)
Our “middling” arithmetics (like Robinson/Q) are chosen precisely because they are strong enough to define all recursive functions.
Their Languages:
<
, otherwise only the logical relation =
Z
S
+
, ⋅
, perhaps ↑
As we proceed, we’ll regularly be talking about “any extension of middling arithmetic that has such-and-such properties.” Usually the properties include being consistent; sometimes but not always they include being “axiomatizable.”
We’ll also sometimes be talking about “any theory in the language of middling arithmetic that has such-and-such properties.” Here the theories we’re discussing might not include all or even any of the theorems of middling arithmetic.
Middling arithmetics are finitely axiomatized, and are obviously incomplete. (As mentioned above, they’re ω
-incomplete and can’t even prove ∀x(Z + x) = x
, but nor do they prove its negation.)
Stronger arithmetics like first-order Peano arithmetic have (infinitely many) induction axioms, but these axioms are still effectively decidable (in fact even “primitively” decidable). In our discussion it’s not yet obvious whether Peano may be complete — but it will turn out that it isn’t.
We mentioned “standard/natural/true/complete” arithmetic, which is the set of all and only those sentences true in the standard model of the language we’re working with. By construction, this theory will be complete. In our discussion it’s not yet obvious whether it may be effectively axiomatizable — but it will turn out that it isn’t.
All of these count as “extensions” of the middling arithmetic one starts with. (Any theory counts as an “extension” of itself; other extensions are obtained by adding further theorems. If one adds enough theorems, it may be that one goes from theory that’s axiomatizable to one that isn’t; by adding other theorems, it may be that one goes from a theory that’s consistent to one that isn’t. These still count as extensions.)
The different middling arithmetics I described in earlier notes are, as best I can tell, none of them extensions of the others. But any of them can play the role of the “middling arithmetic” in this discussion.
As we’ve discussed in earlier classes, if a theory is (even just effectively, needn’t be in any more restricted sense) axiomatizable, complete, and consistent, it’s decidable.
(If it’s axiomatizable, then its theorems are effectively enumerable. If it’s complete, for any φ
eventually it or its negation will be listed. If it’s consistent, guaranteed that the other will never be listed.)
If the theory is inconsistent, it’s also decidable, because in that case the theory includes every closed formula, and the set of such strings is decidable. (In our discussion it’s not yet obvious whether it’s decidable whether an arbitrary theory is consistent; nor will our discussion settle this.)
The diagonalization of a formula is the application of that formula to itself (or to the number that encodes it).
The fixed point of a formula φ
is a value n
such that n = φ(n)
.
For any extension T
of middling arithmetic, and any formula φ
in its language: There is a sentence D
such that T ⊢ D ⊂⊃ φ[x ← ⌜D⌝]
. (D
“says” “I am an x
such that φ
.”)
Let H(x)
be the formula that defines in T
the relation “x
encodes a formula whose self-application is encoded by a number that is φ
”. (H
“says” “x
’s self-application is φ
.”)
The diagonal/self-application of formula H
(that is, H[x ← ⌜H⌝]
) will be our sentence D
.
D
is a fixed point for φ
in theory T
.
Here’s a list of important results in the neighborhood of “Gödel’s First Incompleteness Theorem,” organized by which theories they hold for. Generally the proofs are omitted; but I include some of the short and interesting proofs.
T
of middling arithmetic that’s consistent (need not be axiomatizable): T
’s set of theorems won’t be definable in T
. [GIVE PROOF, using Diagonal Lemma]. So T
’s set of theorems can’t be recursive/effectively decidable, because such sets will be definable in T
.Earlier in the course we discussed one strategy for demonstrating that the set of validities of classical FOL isn’t effectively decidable. Namely, there was a way to translate claims about the behavior of Turing Machines into a first-order language, in such a way that if we could decide the first-order validities then we could decide whether an arbitrary Turing Machine would halt when provided with a description of itself as input; but as we discussed, this “Halting Problem” can’t be decidable in general.
Another route to demonstrating that the set of validities of classical FOL isn’t effectively decidable builds on the current result. Because the theorems of middling arithmetics would be decidable if classical FOL were.
This is because standard arithmetic is a theory T
as described in Result 2. Also it’s constructed in such a way that properties/sets are definable in the theory iff they’re expressible in its language.
Even though standard arithmetic is complete by construction, that is, it decides every sentence in its language, it’s undecidable. A theory’s “deciding some sentence(s)” not the same as the theory being decidable.
T
in the language of middling arithmetic that is “sound” (only has theorems that are true on standard model, or in other words, is a subset of standard arithmetic, this will include our middling arithmetics and first-order Peano): there is a Π₁
formula true on the standard model that T
doesn’t prove (and nor does it prove its negation, since by stipulation T
’s theorems are all true on the standard model).Prfd(x, y)
be a formula that expresses “x
encodes a proof in T
of the diagonal/self-application of the formula that y
encodes”H(y)
be ~∃x Prfd(x,y)
(H
“says” “y
’s self-application has no proof in T
”)H
will be true in standard model iff unprovable in T
.T
of middling arithmetic that’s consistent and axiomatizable: cannot be complete, because by the Decidability Lemma that would make it decidable but by Result 2 it can’t be.T
of middling arithmetic that’s consistent and axiomatizable: has a Gödel sentence G
that T
cannot prove; if T
is also ω
-consistent, it can’t prove ~G
either. If we work with the (more complicated) Rosser sentence R
instead, T
is unable to either prove R
or prove ~R
even if it’s (still consistent but) ω
-inconsistent.Result 6 extends Result 5 by constructing particular sentences that T
can’t decide.
One or the other of Results 5/6 are what’s standardly called “Gödel’s First Incompleteness Theorem”
Difference between Gödel sentences, Rosser sentences, and Liar sentences?
T
: T
can prove is true iff it’s not provable, glossed as it “saying” “I am unprovable/There’s no proof of me.”T
: glossed as “saying” “If there’s a number that encodes a proof of me, there’s a smaller number that encodes a proof of my negation.” Why not just say, “There’s no proof of me”? or “If my theory is consistent there’s no proof of me”? For technical reasons, the more complex Rosser sentence turns out to have some advantages.T
: glossed as “saying” “I am not true”. Why does this generate a “paradox” whereas the analogous Gödel (and Rosser) sentences generate important Theorems? Because a truth predicate for T
’s language is not expressable/definable in that same language, if the background logic is classical FOL. (That is, no predicate expressable/definable in that language can have the properties we expect a truth predicate for the language to have.) Whereas the provability predicates for a theory T
used in the Gödel and Rosser sentences are expressible in that theory’s language, and definable in that same theory. (We can prove both of these things, for theories that are extensions of middling arithmetic.)