next_inactive up previous


A formal system
for incrementing binary numerals

The ceremony

alphabet
The alphabet for incrementing binary numbers is the set

$\displaystyle \Sigma=\{0,1,\mathord{\uparrow},\mathord{=}\}$

terms
The set $ T$ of terms is defined recursively as follows

  1. 0 and $ 1$ are terms.

  2. If $ \tau$ is a term, then $ \tau 0$, $ \tau 1$, $ \tau\mathord{\uparrow}$, and $ \mathord{\uparrow}\tau$ are terms.

  3. Nothing is a term unless required to be by rules 1 and 2.

formulae
The set $ \Phi$ of formulae is defined as follows

  1. If $ \tau_1$ and $ \tau_2$ are terms, then $ \tau_1=\tau_2$ is a formula.

  2. Nothing is a formula unless required to be by rule 1.

derivations
A derivation is a finite sequence of formulae satisfying the following rules.

  1. The first formula in a derivation has the form $ \tau=\tau$, for some term $ \tau$.

  2. If $ \Delta$ is a derivation ending in the formula $ \tau=\alpha
0\mathord{\uparrow}\beta$, then $ \Delta$ followed by $ \tau=\alpha 1\beta$ is also a derivation.

  3. If $ \Delta$ is a derivation ending in the formula $ \tau=\alpha
1\mathord{\uparrow}\beta$, then $ \Delta$ followed by $ \tau=\alpha\mathord{\uparrow}0\beta$ is also a derivation.

  4. If $ \Delta$ is a derivation ending in the formula $ \tau=\mathord{\uparrow}\beta$, then $ \Delta$ followed by $ \tau=1\beta$ is also a derivation.

What the ceremony tells us

Through these lectures, I will try to make it clear essentially what the formal system for binary increment is, and in what senses it and its description are ``formal.'' First, let's just see what sorts of arrangements of symbols and what derivations it allows.

The terms in the system are just finite nonempty linear sequences of the symbols 0, $ 1$, and $ \mathord{\uparrow}$, containing at least one 0 or $ 1$ (that is, $ \mathord{\uparrow}$ by itself is not a term). Convince yourself that the stilted sounding rules really allow you to construct every such sequence.

The formulae in the system look like equations between terms. Keep in mind, though, that in the formal system ``$ =$'' is just a formal symbol, and you are not allowed to use your knowledge of its conventional meaning. Oops. You noticed that the symbol ``$ =$'' is also used in the definition of the alphabet: $ \Sigma=\{0,0,\mathord{\uparrow},\mathord{=}\}$. The ``$ =$'' after the $ \Sigma$ is a real live meaningful equality sign, used in the description of the formal system's alphabet. The ``$ =$'' inside the set braces is just a formal symbol. Some writers make a point of using a variant on the equal sign for one of these purposes, or using different fonts. Others just expect the reader to figure things out by context.

Many writers would call the class of formulae the formal language of this formal system. But such a formal language is not a language in the conventional sense, since it carries no notion of meaning. A so-called formal language is analogous to the class of grammatically correct sentences in a natural language, such as English. Different definitions of formal systems call the individual items in their formal languages words, sentences, terms, formulae. These names often carry some hint of the intended useful application of the formal system. But they should be understood as mere tags, and not according to their usual dictionary definitions.

Figure 1 describes the derivation rules in a different way--more understandable I hope.

Figure 1: Derivation rules for a formal system for incrementing integers

  $\displaystyle \qquad\Longrightarrow\qquad x=x$  
You may start with two copies of the same sequence of `0's `$ 1$'s and ` $ \mathord{\uparrow}$'s, with `=' between them.
   
$\displaystyle 0\mathord{\uparrow}$ $\displaystyle \qquad\Longrightarrow\qquad 1$  
Anywhere to the right of $ =$, you may replace the pair `0' followed immediately by ` $ \mathord{\uparrow}$' with `$ 1$'.
   
$\displaystyle 1\mathord{\uparrow}$ $\displaystyle \qquad\Longrightarrow\qquad \mathord{\uparrow}0$  
Anywhere to the right of $ =$, you may replace the pair `$ 1$' followed immediately by ` $ \mathord{\uparrow}$' with ` $ \mathord{\uparrow}0$'.
   
$\displaystyle =\mathord{\uparrow}$ $\displaystyle \qquad\Longrightarrow\qquad =1$  
You may replace ` $ \mathord{\uparrow}$' by `$ 1$' when it follows immediately after `$ =$'.
   

The left column presents the rules schematically, and the right column provides an alternate presentation in English. In this formal system we may derive ` $ 11\mathord{\uparrow}=100$' as follows:

$\displaystyle 11\mathord{\uparrow}$ $\displaystyle =11\mathord{\uparrow}$    
$\displaystyle 11\mathord{\uparrow}$ $\displaystyle =1\mathord{\uparrow}0$    
$\displaystyle 11\mathord{\uparrow}$ $\displaystyle =\mathord{\uparrow}00$    
$\displaystyle 11\mathord{\uparrow}$ $\displaystyle =100$    

This formal system may be understood as a presentation of the theory of nonnegative integers expressed in binary notation, with the operation of adding one indicated by placing ` $ \mathord{\uparrow}$' to the right of an integer. The derivation in the example may be understood to demonstrate, in more familiar notation, that $ 3+1=4$.

How complete is the definition?

Is the definition presented at the beginning of this section absolutely complete and self-contained? Not at all. To understand the definition thoroughly, the reader must already know roughly what a formal system is, must understand the technical uses of words such as ``sequence,'' must recognize the uses of ``0'', ``$ 1$'', and `` $ \mathord{\uparrow}$'' to denote formal identities in the formal system, and the contrary use of ``$ \tau$'', ``$ \phi$'', etc. as meaningful metasymbols used to describe the formal system but not participating in the system itself. She must even recognize the dual use of ``$ =$'' in some contexts as a formal symbol and in other contexts as a metasymbol.

The incompleteness of the definition is OK as long as it works. No communication is really complete and self-contained--we must always refer to some prior shared assumptions in order to understand one another. What's crucial is that we succeed in reaching a mutual understanding. The particular level of detail in the description of the formal system is determined by the needs of the mathematicians and mathematical apprentices who read it. In the case of apprentices, it is often accompanied by additional explanation. That additional explanation suffices, not when it reaches some level of completeness defined a priori, but when the parties to the discussion reach mutual understanding of the nature of the formal system. Notice that I do not admit that any incompleteness in the definition constitutes an incompleteness in the formal system--rather, it constitutes a failure to communicate the nature of that formal system.

Formal in what senses?

In the previous section I drew your attention to various meanings for the word ``formal.'' In this discussion, I use ``formal'' in the sense of referring only to the abstract forms of things, and I use ``ceremonial'' to refer, only somewhat facetiously, to other senses of formal.

The formal system for incrementing binary numerals is really an abstract system of identities and relations. The printed symbols ``0'', ``$ 1$'', `` $ \mathord{\uparrow}$'', and ``$ =$'' are merely one possible set of tags for the symbolic identities of this system. The practice of writing the finite linear sequences constituting formulae by concatenating copies of these printed symbols from left to right in a line of printing is merely one possible way to display the abstract arrangements of symbols in the system. The practice of writing formulae vertically down a printed page is merely one possible way to display a derivation. What qualifies a particular system of presentation of this abstract formal system? Merely the facts that we agree to use it, and that we achieve a mutual understanding of the symbols, formulae, and derivations that we refer to. The success of this mutual understanding imposes certain structural requirements on the presentation, but there are no other limitations.

Although we have the freedom to choose any comprehensible presentation of the formal system that suits our needs and tastes, mathematicians have developed certain conventional ceremonies for presenting them. The sequence of definitions of alphabet, formal language, and derivation follows the conventions of one of the popular ceremonies. The particular recursive style of each of these individual definitions also follows a ceremonial convention. The words ``alphabet,'' ``term,'' ``formula,'' and ``derivation'' follow a ceremonial convention. The use of Greek letters follows a ceremonial convention. Even the phrase ``formal system'' follows a ceremonial convention.

Adherence to the style of a conventional ceremony has some utility. It provides a signal to other mathematicians that I intend to present a formal system. It invokes all sorts of useful assumptions about the intended use of different sorts of metasymbols and terminology, such as the use of the metasymbols ``$ \tau$'', ``$ \tau_1$'', and ``$ \tau_2$'' as variables standing for unspecified terms. Because of the widespread use of such ceremonies, and the frequent failure of clear communication when people omit the ceremonies, many people (including mathematicians themselves) confuse the ceremony with the formality of the system. This is very unfortunate, since the use of ceremony in mathematics is very similar to its use elsewhere, while the use of formality is quite special in the world.

About this document ...

A formal system
for incrementing binary numerals

This document was generated using the LaTeX2HTML translator Version 99.2beta6 (1.42)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -split 3 -show_section_numbers -local_icons binary_increment.tex

The translation was initiated by Mike O'Donnell on 2001-05-14



next_inactive up previous
Mike O'Donnell 2001-05-14