[CS Dept., U Chicago]

Michael J. O'Donnell (Mike)

The Teacher


Organization of Knowledge by Formal Systems

Definition of formal system

The definition of formal system is not itself a purely formal affair. It depends on the meanings of terms such as ``abstract'' and ``formal.'' It is also widely misunderstood, even by mathematicians who profess formalist foundations for their work (but most of whom have never studied such a definition). Finally, the definition is disturbing, because there seems to be no absolutely direct way to express it---rather, we define a formal system to be the abstraction of something that can be described in a certain way. On the other hand, with careful study it appears to be one of the most precise and robust definitions that I can find for any concept.

Formal alphabet

A formal alphabet is a finite discrete collection of identities. We call these identities symbols, although strictly speaking they are abstract identities referred to by symbols.

Formal language
A formal language is a class of abstract formal arrangements of symbols from a formal alphabet, delimited by a precise objective description of the relations that may hold among the abstract identities constituting elements of an arrangement, and between those elements and the formal symbols, but allowing for the unlimited free addition of elements in the allowed relations. Arrangements in a formal language are sometimes called words, and sometimes called sentences, for no particular sensible reason other than convention. Formal languages are not languages in the usual sense of systems of meaning. They are similar to the classes of sentences that are considered grammatically correct in particular languages.

Formal rule

A formal rule is a precisely and objectively described rule allowing certain sentences from a formal language to be written in the presence of certain other arrangements. We usually speak of a collection of rules, but there is no important distinction between a collection of rules and the single rule comprising the collection. A sequence or other arrangement of sentences allowed by a formal rule is called a derivation.

Formal system

A formal system is an abstract system of identities and relations that can be described by specifying a formal alphabet, a formal language over that alphabet, and a formal rule for constructing derivations of sentences in the formal language.

Having written the definition above, I'm not very impressed by it. But I hope that it can serve as a guide to figuring out what is and is not essential to the nature of a formal system. In essence, I've only been able to describe the abstract formal nature of a system in terms of the concrete ceremonies that we go through to specify it, while encouraging you to see through those ceremonies into the systems that lie behind them. In particular, notice that the distinction between the ``description'' that ``delimits'' the arrangements in a formal language and the ``rule'' that ``allows'' certain sentences to be introduced in a derivation is not very precise. Derivations are just formal abstract arrangements. We can rearrange the description of a particular formal system by moving information between the description of its formal language and the description of its formal rule without affecting the essence of the system. There are lots of other rearrangements of description that don't affect the underlying abstract system.

Derivation = Computation

A formal system is exactly the same thing as a computational system. The two phrases merely emphasize different applications and desirable qualities for systems, they do not distinguish different defining characters. Programming languages are particular formal languages, computations are derivations. There's really no difference. Although the idea of formal/computational system arose and had great conceptual value long before the construction of automated computing engines (what we now call ``computers''), widespread familiarity with computers probably helps a lot in spreading an understanding of formal systems.

Before computers, many very intelligent thinkers were amazed at the sense of a priori certainty derived from formal systems, and perhaps let their amazement distract them from a clearer understanding of the essential nature of those systems. The notion of formal certainty conveyed an almost mystical feeling to many (e.g., consider the greek attitude toward number). Familiarity with computers does not by any means automatically bring a correct understanding of formal systems. In many cases it may do the reverse. But I think that familiarity at least gives more people the gumption to think seriously about computation/derivation, and I expect such serious thought to eventually produce some insight.

Valid HTML 4.0!

Last modified: Mon Dec 5 19:14:29 CST 2005