I am new to logic but I believe this is not a difficult problem, yet I am still soo confused, and the reason for that is because there are so many gaps in my knowledge or maybe I have overlooked so many "obvious" argument. I truly appreciate any explanations.

I am thinking of a problem whether we can add to Peano Arithmetic a new predicate T such that for every sentence A of the old vocabulary, the new theory PAT proves T(Godel numeric number of A) iff A. In other words, can we consistently extend Peano Arithmetic with a truth predicate for sentences in the old vocabulary? I am trying to find any ways to show we can or show why is it impossible.

Notation: I mean T(Godel numeric number of A) as T() where the thing inside the bracket is the usual top left and top right square corner of A, hope it is clear.

My reasoning might be too short or maybe even incorrect, but I will try my best:

We cannot consistently extend Peano Arithmetic with a truth predicate, since consistent deductively defined extensions of Peano Arithmetic are incomplete, so the predicate might be neither true nor false.

I am really doubtful about my approach, I will really appreciate any helps! Thanks!

  • 1
    The headline needs an edit.
    – iphigenie
    Commented Jun 5, 2013 at 13:10

3 Answers 3


Yes, you can do this! The case you're thinking of is very similar to Tarski's original idea of defining a Truth predicate that was Materially Adequate, and a paper by Henryk Kotlarski, Stanislav Krajewski and Alistair Lachlan in 1981 showed that we can conservatively define a Truth predicate over the sentences of Peano Arithmetic. Their trick is to explicitly include as a condition on each of the Truth axioms they specify that our theory's objects of interest concerning Truth are codes of PA sentences, thus excluding any proper PAT sentences. (You can see the basics of this on the SEP article for Axiomatic Truth Theories)

Because the predicate only covers PA sentences, it doesn't include instances of the induction schema that themselves feature the Truth predicate. If we were to try to add these to the theory, we'd lose the definability result for 2nd Godel reasons; that's probably why you thought it would be impossible to define a predicate satisfying the T-schema.

You're right, though, to think the predicate is incomplete, because when you show you can define Truth as a predicate, you also make it so that this predicate can be used in PA inductions! So the language as a whole seems to say true arithmetic things that are outside of its account of what it thinks is arithmetically True. But I think that's okay, since there's a sense in which it doesn't miss out anything that it didn't bring into the language by adding the truth predicate.


Your question is a little confusing - but I'll give it a go.

I think the substantative part of what you're asking is this:

We cannot consistently extend Peano Arithmetic with a truth predicate, since consistent deductively defined extensions of Peano Arithmetic are incomplete, so the predicate might be neither true nor false.

The short answer is that the predicate you are using to extend PA is actually a new axiom appended to PA. So it is automatically true by definition.

However before you add this predicate one should check its truth value in PA. If it is true, there is no point adding it. If it is false, then by adding it you are rendering the new system inconsistent. Hence you must choose a predicate that is cannot be proven to be true or false - that is it is independent of the axioms of PA. Now when you add this predicate, it becomes true by virtue of it being an axiom.

Now, with your new axiom appended the language of PA becomes larger (there are more sentences) and Godels incompleteness still applies to this system (because it obviously contains PA) so there is a new sentence in the language of PA which is true (that is true in every model of PA) but which the deduction system attached to the theory of PA will not prove (here proof is purely formal - there is no neccessary connection with truth; truth is established in a model).

Thus it is still incomplete.

It will still remain sound: That is a sentence that can be proved - is actually true (that is true in every model).

  • This doesn't really address the question of propositions of the old theory. Commented Jun 5, 2013 at 22:59
  • I'm not sure what you're exactly querying, can you explain a little further? Commented Jun 5, 2013 at 23:06
  • I noticed something that I had missed before, perhaps my edited answer addresses what you were querying? Commented Jun 5, 2013 at 23:13
  • In first order logic, you cannot quantify over formulas. However, you can quantify over Godel numbers for formulas.

  • To say meaningful things about the Godel numbers for formulas, you need to use a proof predicate. Let's assume that you can define such a predicate for any coding of a set of axioms.

The closest I can get to what you want: use the Diagonal Lemma to create a self-referential sentence A that is equivalent to for all #X. PA + A proves [ T(#X) <-> X ].

This is not want you want because the quantifier is outside of the proof predicate and we are not saying that T(#X) <-> X, we are rather using a proof predicate to say that PA + A proves [ T(#X) <-> X ].

The next question, is PA + A consistent? Well, we can show that PA + A proves Not Con(PA+A). Use the Diagonal Lemma to define a sentence s such that PA + A proves Not T(#s) <-> s. Assuming A, we also have PA + A proves s <-> T(#s). Therefore, assuming A, PA + A proves a contradiction.

Also, I would like to talk further if you are still interested in this topic. Thanks!

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .