Formal systems are kinds of mathematical games with strings of symbols and precise rules. They mimic the idea of a ‘proof’. This chapter introduces formal systems through an example that turns out to be closely connected with König's Lemma. This simple example is based on the trees that we studied earlier. Formal systems are the ‘arguments from limited knowledge’ that we talked about earlier, and working in them is like being the ant following a tree who cannot see beyond the immediate node it happens to be at.
The particular system that we shall look at here will put some more detail on the ideas introduced earlier about ‘two ways of doing it’ and how they can be played off against each other to advantage. It is based on finite sequences, or strings, of 0s and 1s. The set of all such strings is denoted 2* or 2<ω and, as we have seen, this set can be regarded as a full binary tree. We shall write the empty string of length zero as ⊥.
Now consider a game starting from a subset ∑ ⊆ 2* with the following rules specifying when a string may be written down.
(Given Strings Rule) You may write down any string σ in ∑.
(Lengthening Rule) Once a string σ has been written down, you may also write down one or both of the strings σ0 or σ1.
(Shortening Rule) For any string σ, once you have written down both σ0 and σ1 then you may write down σ.