Skip to content

Iverson’s *Arithmetic* reviewed

Vector 8:4, page 87

reviews education

Transcribed from the printed issue; not yet reviewed. Read it in the PDF of the issue, page 87

Iverson, Kenneth E., Arithmetic.
Iverson Software Inc., 33 Major Street, Toronto M5S 2K9, Canada. 118 pp., $40.00 + 7% GST. UK Agent: I-APL Ltd (see Product Guide)

In 1889 Giuseppe Peano published his Principles of Arithmetic in which he attempted to put arithmetic on a rigorous axiomatic foundation. It is a small work of some thirty-six pages, the first twelve of which are devoted to defining the notation used and presenting an algebra of propositions. It is only then that Peano begins to construct the number system from the three primitive concepts of "zero", "non-negative whole numbers" and "is the successsor of" which satisfy the five postulates which follow. He then proceeds to lay the foundations for arithmetic as a sequence of theorems expressed and proven in symbolic form with scarcely an explanatory note in natural language. He used this symbolism in his lectures at the Military Academy in Turin. When his students rebelled and could not be satisfied by all being given passing grades, Peano resigned and returned to the University of Turin where he remained a professor until his death in 1932.

Kenneth Iverson, possibly mindful of Peano’s experiences, introduces the positive integers in the opening sentence of Arithmetic:

The list 1 2 3 4 5 6 7 8 9 10 11 12 shows the first dozen counting numbers, and any reader of this book could extend the list to tedious lengths.

He then asks the following three questions: "Do counting numbers continue forever?"; "Are there other numbers that precede the first counting number?", and "Are there other numbers between the counting numbers or elsewhere?" In the next eighteen pages the reader is introduced, as an answer to these questions, to the successor and predecessor of a counting number, zero and negative numbers, addition and subtraction, relations, function tables, multiplication as repeated addition, and raising to an integral power as repeated multiplication.

The notation used throughout is, of course, J, and by the end of the first chapter the reader becomes familiar with the terminology and syntax of the language and a selection of the primitives. Unlike Peano, however, Iverson introduces concepts and notation only as needed. In Chapter 1 only 18 verbs, many of which are familiar from conventional notation, are used, together with the adverbs insert and table represented by /, and the conjunctions atop @ and power ^:. The introduction of defined verbs, called proverbs, is simplified by tacit definition with no explicit mention of their arguments. The chapter ends, as do all chapters except Chapter 5, with a selection of exercises to be done both with pencil and paper and with a computer.

In Chapter 2 the concept of a bond is introduced which allows verbs to be ambivalent with the valency being determined from the context. Moreover, the bonding conjunction with, represented by &, allows nouns to be bonded on either the left or right to verbs to produce monadic verbs or monads, as, for example, sq=. ^&2 to give squares of the argument, and p2=. 2&^ which gives powers of 2 of the argument. The concept of bonding permits in the discussion which follows the definition of left and right distribution and left and right identities. All of this is accomplished with the introduction of only two new nouns (_ and __) for the identity elements for minimum and maximum, the two verbs take {. and drop }., and the adverb commute ~.

Chapter 3 presents the adverbs prefix \, suffix \. and oblique /., and the verbs from {, grade and sort /:, residue |, box < and open >, and word formation ;: which are required in later chapters. Chapter 4 uses the base and antibase verbs, #. and #:, in a treatment of integer representation and an analysis of integer multiplication. It is here that the important concept of a train of isolated verbs is introduced, and diagrams for monadic and dyadic forks are given although the term "fork" is not used. We might note that the use of a fork and the bonding of a noun to a verb permits the definition of a second-degree polynomial with roots 2 and 4 to be given in Chapter 8 as PARABOLA=. -&2 * -&4.

Chapter 5, "Proofs", is concerned with the nature of mathematical proofs, and the use of J in investigating informal proofs. The author has been influenced by the work of the mathematician Imre Lakatos whom he refers to in the Preface, and gives some of Lakatos’ discussion from Proofs and Refutations of the Euler-Descartes formula relating the number of vertices, edges and faces of a polyhedron.

Persons unfamiliar with Lakatos’ work, and this reviewer was one, could read the article "Lakatos and the philosophy of dubitability" in Davis and Hersch’s The Mathematical Experience. There is much of interest in this absorbing book, and readers of this review might consider the relevance to APL and J of the following two sentences which occur in the short article "Symbols" in the same book:

"Yet it seems at times that symbols return more than was put into them, that they are wiser than their creators. There are felicitous or powerful mathematical symbols that seem to have a kind of hermetic power, that carry within themselves seeds of innovation or creative development."

Each of the last four chapters gives a development of a particular topic: propositional calculus and boolean algebra in Chapter 6, permutations and combinations in Chapter 7, classifications and sets in Chapter 8, and polynomials in Chapter 9. Additional material from J is introduced as needed.

In Chapter 6, to give just one instance, the justification of the verbs or +. and and *. is followed by the introduction of the adverb boolean b. which may be used to select any one of the sixteen boolean dyads, so that, for example, and=. 1 b. defines and and and/~ 0 1 is the corresponding truth table.

Chapter 9 concludes with a discussion of a number of aspects of J not included previously, including the explicit definition of verbs, the definition of abverbs and conjunctions, and gerunds.

The theme of this monograph is the treatment of selected topics in arithmetic using J as both a notation and a programming language. Iverson states this position very clearly in Section R of Chapter 1, the first two paragraphs of which are as follows:

Notation, the term normally used to refer to the mode of expression in math, is defined [in the American Heritage Dictionary which this reviewer suspects is one of Iverson’s favourite references] as "A system of figures or symbols used in specialized fields …". An executable notation such as that used here is normally called a programming language; we will use the terms notation and language interchangeably.

Programming languages are commonly taught in specific courses, prerequisite to courses in topics that employ them. In mathematics, on the contrary, notation is not taught as such, but is introduced in passing as required by the subject. The same approach is adopted in this text.

Iverson succeeds in his aim of subordinating the notation to the subject matter so that the reader learns the language at the same time as gaining fresh insights into topics many of which are familiar from primary school. Comparison with Programming in J, which is a valuable reference for those using J, shows the advantages of introducing a programming language in a specific context. Furthermore, comparison with Iverson’s Turing Award Lecture, "Notation as a tool of thought", which covers many of the same topics as the present monograph, shows how the language has evolved in the last ten years.

Arithmetic will be of interest to any person who wishes to learn about J, to teachers who are interested in trying a different approach to introducing some basic mathematics and computing in their classes, and to those already using J who wish to polish their programming and writing styles. This reviewer found the monograph a most suggestive work in the meaning of the first definition of "suggestive" given in the AHD: "Tending to suggest thoughts or ideas". Arithmetic is an important and stimulating work, and deserves the serious attention of the APL community.

Keith Smillie
Department of Computing Science
University of Alberta
Edmonton, Alberta T6G 2H1
Canada

References

[1] Davis, Philip J. and Hersch, Reuben, 1981. The Mathematical Experience. Birkhäuser, Boston.

[2] Iverson, K. E., 1980. "Notation as a tool of thought". Communications of the Association for Computing Machinery, vol. 23, no. 8, pp. 444 - 465.

[3] Iverson, K. E., 1991. Programming in J. Iverson Software Inc., Toronto.

[4] Kennedy, Hubert C., 1973. Selected Works of Giuseppe Peano. University of Toronto Press, Toronto.

[5] Kline, Morris, 1972. Mathematical Thought from Ancient to Modern Times. Oxford University Press, New York.