Hilbert–Bernays provability conditions

From testwiki
Jump to navigation Jump to search

In mathematical logic, the Hilbert–Bernays provability conditions, named after David Hilbert and Paul Bernays, are a set of requirements for formalized provability predicates in formal theories of arithmetic (Smith 2007:224).

These conditions are used in many proofs of Kurt Gödel's second incompleteness theorem. They are also closely related to axioms of provability logic.

The conditions

Let Template:Math be a formal theory of arithmetic with a formalized provability predicate Template:Math, which is expressed as a formula of Template:Math with one free number variable. For each formula Template:Math in the theory, let Template:Math be the Gödel number of Template:Math. The Hilbert–Bernays provability conditions are:

  1. If Template:Math proves a sentence Template:Math then Template:Math proves Template:Math.
  2. For every sentence Template:Math, Template:Math proves Template:Math
  3. Template:Math proves that Template:Math and Template:Math imply Template:Math

Note that Template:Math is predicate of numbers, and it is a provability predicate in the sense that the intended interpretation of Template:Math is that there exists a number that codes for a proof of Template:Math. Formally what is required of Template:Math is the above three conditions.

In the more concise notation of provability logic, letting Tφ denote "T proves φ" and φ denote Prov(#(φ)):

  1. (Tφ)(Tφ)
  2. T(ϕϕ)
  3. T((φψ)φψ)

Use in proving Gödel's incompleteness theorems

The Hilbert–Bernays provability conditions, combined with the diagonal lemma, allow proving both of Gödel's incompleteness theorems shortly. Indeed the main effort of Godel's proofs lied in showing that these conditions (or equivalent ones) and the diagonal lemma hold for Peano arithmetics; once these are established the proof can be easily formalized.

Using the diagonal lemma, there is a formula ρ such that Tρ¬Prov(#(ρ)).

Proving Godel's first incompleteness theorem

For the first theorem only the first and third conditions are needed.

The condition that Template:Math is ω-consistent is generalized by the condition that if for every formula Template:Math, if Template:Math proves Template:Math, then Template:Math proves Template:Math. Note that this indeed holds for an Template:Math-consistent Template:Math because Template:Math means that there is a number coding for the proof of Template:Math, and if Template:Math is Template:Math-consistent then going through all natural numbers one can actually find such a particular number Template:Math, and then one can use Template:Math to construct an actual proof of Template:Math in Template:Math.

Suppose T could have proven ρ. We then would have the following theorems in Template:Math:

  1. Tρ
  2. T¬Prov(#(ρ)) (by construction of ρ and theorem 1)
  3. TProv(#(ρ)) (by condition no. 1 and theorem 1)

Thus Template:Math proves both Prov(#(ρ)) and ¬Prov(#(ρ)). But if Template:Math is consistent, this is impossible, and we are forced to conclude that Template:Math does not prove ρ.

Now let us suppose Template:Math could have proven ¬ρ. We then would have the following theorems in Template:Math:

  1. T¬ρ
  2. TProv(#(ρ)) (by construction of ρ and theorem 1)
  3. Tρ (by ω-consistency)

Thus Template:Math proves both ρ and ¬ρ. But if Template:Math is consistent, this is impossible, and we are forced to conclude that Template:Math does not prove ¬ρ.

To conclude, Template:Math can prove neither ρ nor ¬ρ.

Using Rosser's trick

Using Rosser's trick, one needs not assume that Template:Math is Template:Math-consistent. However, one would need to show that the first and third provability conditions holds for Template:Math, Rosser's provability predicate, rather than for the naive provability predicate Prov. This follows from the fact that for every formula Template:Math, Template:Math holds if and only if Template:Math holds.

An additional condition used is that Template:Math proves that Template:Math implies Template:Math. This condition holds for every Template:Math that includes logic and very basic arithmetics (as elaborated in Rosser's trick#The Rosser sentence).

Using Rosser's trick, Template:Math is defined using Rosser's provability predicate, instead of the naive provability predicate. The first part of the proof remains unchanged, except that the provability predicate is replaced with Rosser's provability predicate there, too.

The second part of the proof no longer uses ω-consistency, and is changed to the following:

Suppose Template:Math could have proven ¬ρ. We then would have the following theorems in Template:Math:

  1. T¬ρ
  2. TProvR(#(ρ)) (by construction of ρ and theorem 1)
  3. T¬ProvR(#(¬ρ)) (by theorem 2 and the additional condition following the definition of Rosser's provability predicate)
  4. TProvR(#(¬ρ)) (by condition no. 1 and theorem 1)

Thus Template:Math proves both ProvR(#(¬ρ)) and ¬ProvR(#(¬ρ)). But if Template:Math is consistent, this is impossible, and we are forced to conclude that Template:Math does not prove ¬ρ.

The second theorem

We assume that Template:Math proves its own consistency, i.e. that:

T¬Prov(#(1=0)).

For every formula Template:Math:

T¬φ(φ(1=0)) (by negation elimination)

It is possible to show by using condition no. 1 on the latter theorem, followed by repeated use of condition no. 3, that:

TProv(#(¬φ))(Prov(#(φ))Prov(#(1=0)))

And using Template:Math proving its own consistency it follows that:

TProv(#(¬φ))¬Prov(#(φ))

We now use this to show that Template:Math is not consistent:

  1. TProv(#(¬Prov(#(ρ)))¬Prov(#(Prov(#(ρ))) (following Template:Math proving its own consistency, with φ=Prov(#(ρ)))
  2. Tρ¬Prov(#(ρ)) (by construction of ρ)
  3. TProv(#(ρ¬Prov(#(ρ))) (by condition no. 1 and theorem 2)
  4. TProv(#(ρ))Prov(#(¬Prov(#(ρ))) (by condition no. 3 and theorem 3)
  5. TProv(#(ρ))¬Prov(#(Prov(#(ρ))) (by theorems 1 and 4)
  6. TProv(#(ρ))Prov(#(Prov(#(ρ))) (by condition no. 2)
  7. T¬Prov(#(ρ)) (by theorems 5 and 6)
  8. T¬Prov(#(ρ))ρ (by construction of ρ)
  9. Tρ (by theorems 7 and 8)
  10. TProv(#(ρ)) (by condition 1 and theorem 9)

Thus Template:Math proves both Prov(#(ρ)) and ¬Prov(#(ρ)), hence is Template:Math inconsistent.

References

  • Smith, Peter (2007). An introduction to Gödel's incompleteness theorems. Cambridge University Press. Template:ISBN