Page:AIM-453.djvu/67

 {S-expression Postulates and Notation} Pages 4, 41

S-expressions form a number system analogous to that for the natural numbers. Each can be used to encode arbitrary strings of symbols by means of "Gödelization", but the S-expression encoding is usually far more convenient than the numerical encoding.

We repeat here the informal characterization of Peano's postulates and the analogous postulates for S-expressions from [Levin]:

Zero is notated as 0, and the successor of any number N is notated as N'. As a convenience we define alternative notations for numbers other than zero, such as decimal place-value notation. Thus for 0''' we often write 13.

Atoms are notated as strings of letters and digits. The cons of two S-expressions α and β is notated (α . β). As a convenience, we define alternative notations for some commonly used forms of S-expression, such as list notation. The atom NIL is called the "empty list"; we write it as. If (α β γ ... δ) is (the notation for) a list π (where the "..." is meant as a meta-syntactic ellipsis), then the cons of ε and π is written (ε α β γ ... δ). We also define quotation notation, in which (QUOTE α) is written as 'α.

(This definition of S-expressions applies to pure LISP, which has no side effects. In Part Two, when the RPLACA and RPLACD operators are introduced, the phrase " cons of" will not be well-defined.)