In mathematical logic, Gödel's β function is a function used to permit quantification over finite sequences of natural numbers in formal theories of arithmetic. The β function is used, in particular, in showing that the class of arithmetically definable functions is closed under primitive recursion, and therefore includes all primitive recursive functions.
The β function was introduced without the name in the proof of the first of Gödel's incompleteness theorems (Gödel 1931). The β function lemma given below is an essential step of that proof. Gödel gave the β function its name in (Gödel 1934).
The
\beta
\beta(x1,x2,x3)=rem(x1,1+(x3+1) ⋅ x2)=rem(x1,(x3 ⋅ x2+x2+1)),
where
rem(x,y)
x
y
The β function is arithmetically definable in an obvious way, because it uses only arithmetic operations and the remainder function which is arithmetically definable. It is therefore representable in Robinson arithmetic and stronger theories such as Peano arithmetic. By fixing the first two arguments appropriately, one can arrange that the values obtained by varying the final argument from 0 to n run through any specified (n+1)-tuple of natural numbers (the β lemma described in detail below). This allows simulating the quantification over sequences of natural numbers of arbitrary length, which cannot be done directly in the language of arithmetic, by quantification over just two numbers, to be used as the first two arguments of the β function.
For example, if f is a function defined by primitive recursion on a recursion variable n, say by f(0) = c and f(n+1) = g(n, f(n)), then to express f(n) = y one would like to say: there exists a sequence a0, a1, ..., an such that a0 = c, an = y and for all i < n one has g(i, ai) = ai+1. While that is not possible directly, one can say instead: there exist natural numbers a and b such that β(a,b,0) = c, β(a,b,n) = y and for all i < n one has g(i, β(a,b,i)) = β(a,b,i+1).
The primitive recursion schema as given may be replaced by one which makes use of fewer parameters. Let
w
\pi1,\pi2
Theorem: Any function constructible via the clauses of primitive recursion using the standard primitive recursion schema is constructible when the schema is replaced with the following.
f'(x,0)=g'(x)
f'(x,y+1)=h'(f'(x,y))
This is proven by providing two intermediate schemata for primitive recursion, starting with a function defined via the standard schema, and translating the definition into terms of each intermediate schema and finally into terms of the above schema. The first intermediate schemata is as follows:
f1(x,0)=g1(x)
f1(x,y+1)=h1(x,y,f1(x,y))
Translation of the standard definition of a primitive recursive function to the intermediate schema is done inductively, where an elementary pairing function
w
k+1
k
k=1
The second intermediate schema is as follows, with the
x
f2(x,0)=g2(x)
f2(x,y+1)=h2(y,f2(x,y))
Translation to it is accomplished by pairing
x
f1(x,y)
g2(x)=w(x,g1(x))
h2(x,z)=w(\pi1z,h1(\pi1z,x,\pi2z))
f1(x,y)
\pi2(f2(x,y))
Finally, translation of the intermediate schema into the parameter-eliminated schema is done with a similar pairing and unpairing of
y
f2(x,y)
The utility of the β function comes from the following result (Gödel 1931, Hilfssatz 1, p. 192-193), which is the purpose of the β function in Gödel's incompleteness proof. This result is explained in more detail than in Gödel's proof in (Mendelson 1997:186) and (Smith 2013:113-118).
β function lemma. For any sequence of natural numbers (k0, k1, ..., kn), there are natural numbers b and c such that, for every natural number 0 ≤ i ≤ n, β(b, c, i) = ki.
As an example, the sequence (2,0,2,1) can be encoded by b= and c=24, since
\begin{array}{llllll} rem(3412752,(1+(0+1)*24))&=&rem(3412752,25)&=&2&,\\ rem(3412752,(1+(1+1)*24))&=&rem(3412752,49)&=&0&,\\ rem(3412752,(1+(2+1)*24))&=&rem(3412752,73)&=&2&,and\\ rem(3412752,(1+(3+1)*24))&=&rem(3412752,97)&=&1&.\\ \end{array}
The proof of the β function lemma makes use of the Chinese remainder theorem.