\documentclass[11pt]{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{amscd}
\usepackage{amsfonts}
\usepackage{epsfig}
\setlength{\topmargin}{-.55in}
\setlength{\oddsidemargin}{0in}
\setlength{\evensidemargin}{0in}
\setlength{\textwidth}{6.5in}
\setlength{\textheight}{9.1in}
\newcommand{\br}{\mathbf {R}}
\newcommand{\bq}{\mathbf {Q}}
\newcommand{\bz}{\mathbf {Z}}
\newcommand{\bn}{\mathbf {N}}
\newcommand{\z}{$\circ$}
\newcommand{\lph}{$\leftharpoondown$}
\begin{document}
\title{Arithmetic Backwards from Shannon to the Chinese Abacus}
\author{Jerry M. Lodder\footnote{Mathematical
Sciences; Dept. 3MB, Box 30001; New Mexico State University; Las
Cruces, NM 88003; {\tt jlodder@nmsu.edu}.}}
\date{}
\maketitle
Recall that in the 1945 white paper
``First Draft of a Report on the EDVAC'' (Electronic
Discrete Variable Automatic Computer), John von Neumann (1903--1957)
advocated the use of binary arithmetic for the digital computers of
his day. Vacuum tubes afforded these machines a speed of computation
unmatched by other calculational devices, with von Neumann writing: ``Vacuum
tube aggregates . . . have been found reliable at reaction times as short
as a microsecond . . ." \cite[p.\ 188]{JLvonNeumann}.
Predating this, in 1938 Claude Shannon (1916--2001) published a ground-breaking
paper ``A Symbolic Analysis of Relay and Switching Circuits" \cite{JLShannon1}
in which he demonstrated how electronic circuits can be used for binary
arithmetic, and more generally for computations in Boolean algebra
and logic. These relay contacts and switches performed at speeds slower
than vacuum tubes. Shannon identified an economy of
representing numbers electronically in binary notation as well as an ease
for arithmetic operations, such as addition. These advantages of
base two arithmetic are nearly identical to those cited by von Neumann.
Shannon \cite{JLShannon1} writes:
{\sf
\begin{quote}
A circuit is to be designed that will automatically add two
numbers, using only relays and switches. Although any numbering base
could be used the circuit is greatly simplified by using the scale of
two. Each digit is thus either 0 or 1; the number whose digits in order
are $a_k$, $a_{k-1}$, $a_{k-2}$, $\ldots$, $a_2$, $a_1$, $a_0$ has the
value $\sum_{j=0}^{k} a_j \, 2^j$.
\end{quote} }
\medskip
\noindent
1. Explain how the base 10 number 95 can be written in base 2 using
the above formula. In particular, compute
$a_k$, $a_{k-1}$, $a_{k-2}$, $\ldots$, $a_2$, $a_1$, $a_0$ for the number
95. What is $k$ in this case? Write
$\sum_{j=0}^{k} a_j \, 2^j$ in terms of addition symbols using the above
value for $k$ and each value of $a_j$.
\medskip
Claude Elwood Shannon was a pioneer in electrical engineering, mathematics
and computer science, having founded the field of information theory, and
discovered key relationships between Boolean algebra and computer circuits
\cite{JLSloane}. Born in the state of Michigan in 1916, he showed an
interest in mechanical devices, and studied both electrical engineering
and mathematics at the University of Michigan. Having received Bachelor
of Science degrees in both of these subjects, he then accepted
a research assistantship in the Department of Electrical Engineering
at the Massachusetts Institute of Technology. The fundamental relation
between Boolean logic and electrical circuits formed the topic of his
master's thesis at MIT, and became his first published paper
\cite{JLShannon1}, for which he received an award from the combined
engineering societies of the United States. In 1940 he earned his doctorate
in mathematics from MIT with the dissertation ``An Algebra for
Theoretical Genetics." He spent the academic year 1940--41 visiting
the Institute for Advanced Study in Princeton, New Jersey, where he began
to formulate his ideas about information theory and efficient communication
systems. The next fifteen years were productively spent at Bell Laboratories,
and in 1948 he launched a new field of study, information theory, with
the paper ``A Mathematical Theory of Communication" \cite{JLShannon2}. He
published extensively in communication theory, cryptography, game
theory and computer science. In 1956 Dr. Shannon accepted a professorship at MIT,
and retired in 1978.
Let's read a few excerpts from ``A Symbolic Analysis of Relay and Switching
Circuits" \cite{JLShannon1} with an eye toward understanding the circuitry
behind binary arithmetic.
{\sf
\begin{quote}
\centerline{A Symbolic Analysis of Relay}
\centerline{and Switching Circuits}
\medskip
\centerline{\em{Claude E. Shannon}}
\bigskip
\noindent
I. Introduction
\medskip
In the control and protective circuits of complex electrical systems
it is frequently necessary to make intricate interconnections of relay
contacts and switches. Examples of these circuits occur in automatic
telephone exchanges, industrial motor-control equipment, and in almost
any circuits designed to perform complex operations automatically.
In this paper a mathematical analysis of certain of the properties
of such networks will be made. . . .
\bigskip
\noindent
II. Series-Parallel Two-Terminal Circuits
\smallskip
\noindent
Fundamental Definitions and Postulates
\medskip
We shall limit our treatment of circuits containing only relay contacts
and switches, and therefore at any given time the circuit between two
terminals must be either open (infinite impedance) or closed (zero
impedance). Let us associate a symbol $X_{ab}$ or more simply $X$ with
the terminals $a$ and $b$. This variable, a function of time, will
be called the hindrance of the two-terminal circuit $a$--$b$. The
symbol 0 (zero) will be used to represent the hindrance of a closed
circuit and the symbol 1 (unity) to represent the hindrance of an
open circuit. Thus when the circuit $a$--$b$ is open $X_{ab} = 1$
and when closed $X_{ab} = 0$. . . . Now let the symbol + (plus) be
defined to mean the series connection of the two-terminal circuits
whose hindrances are added together. Thus $X_{ab} + X_{cd}$ is
the hindrance of the circuit $a$--$d$ when $b$ and $c$ are connected
together. Similarly the product of two hindrances $X_{ab} \cdot
X_{cd}$ or more briefly $X_{ab} X_{cd}$ will be defined to mean the
hindrance of the circuit formed by connecting the circuits $a$--$b$
and $c$--$d$ in parallel. A relay contact or switch will be represented
in a circuit by the symbol in Figure 1, the letter being the
corresponding hindrance function. Figure 2 shows the interpretation
of the plus sign and Figure 3 the multiplication sign.
\begin{picture}(500,45)
\thicklines
\put(165,12){$a$}
\put(175,15){\line(1,0){30}}
\put(204,12){$\circ$}
\put(213,23){$X_{ab}$}
\put(235,12){$\circ$}
\put(240,15){\line(1,0){30}}
\put(274,12){$b$}
\end{picture}
\centerline{Figure 1. Symbol for hindrance function.}
\begin{picture}(500,65)
\thicklines
\put(80,15){\line(1,0){30}}
\put(109,12){$\circ$}
\put(120,23){$X$}
\put(135,12){$\circ$}
\put(140,15){\line(1,0){30}}
\put(169,12){$\circ$}
\put(180,23){$Y$}
\put(195,12){$\circ$}
\put(200,15){\line(1,0){30}}
\put(250,12){$=$}
\put(280,15){\line(1,0){30}}
\put(309,12){$\circ$}
\put(313,23){$X+Y$}
\put(340,12){$\circ$}
\put(345,15){\line(1,0){30}}
\end{picture}
\centerline{Figure 2. Interpretation of addition.}
\begin{picture}(500,85)
\thicklines
\put(110,45){\line(1,0){30}}
\put(139,42){$\circ$}
\put(150,50){$X$}
\put(165,42){$\circ$}
\put(170,45){\line(1,0){30}}
\put(95,30){\line(1,0){15}}
\put(200,30){\line(1,0){15}}
\put(235,30){$=$}
\put(265,30){\line(1,0){30}}
\put(294,27){$\circ$}
\put(299,38){$X\cdot Y$}
\put(325,27){$\circ$}
\put(330,30){\line(1,0){30}}
\put(110,15){\line(0,1){30}}
\put(110,15){\line(1,0){30}}
\put(139,12){$\circ$}
\put(150,3){$Y$}
\put(165,12){$\circ$}
\put(170,15){\line(1,0){30}}
\put(200,15){\line(0,1){30}}
\end{picture}
\medskip
\centerline{Figure 3. Interpretation of multiplication.}
\end{quote} }
\noindent
2. Consider $X_{ab}$ as a Boolean variable with only two possible
values 0 or 1. If $X_{ab} = 0$, then the switch in Figure 1 is closed,
and current flows from $a$ to $b$. If $X_{ab} = 1$, then the switch is
open, and current does not flow from $a$ to $b$. Now let $X$ and $Y$ be
two Boolean variables. In a table listing all possible values for $X$
and $Y$, record the results for $X$ and $Y$ joined in series, i.e.,
$X + Y$. Be sure to justify your answer by discussing whether current
flows in the series circuit. Note that if current flows from left to right
in Figure 2, then $X + Y = 0$, while if current does not flow, then
$X + Y = 1$. To what extent does $X + Y$ represent
a usual notation of addition? To what extent does $X + Y$ represent a
construction in logic?
\medskip
\noindent
3. In a table listing all possible values for $X$ and $Y$, record the
results for $X$ and $Y$ joined in parallel, i.e., $X \cdot Y$. Justify
your answer by discussing whether current flows in the parallel circuit.
To what extent does $X \cdot Y$ represent a usual notion of
multiplication? To what extent does $X \cdot Y$ represent a
construction in logic?
\medskip
\noindent
4. These basic series and parallel circuits may be combined in any
combination, using any finite number of switches. let $X$, $Y$, $Z$ and $W$
be Boolean variables, used as switches in the picture below.
In a table listing all possible values for $X$,
$Y$, $Z$ and $W$, compute the value (0 or 1) of the circuit:
\begin{picture}(500,75)
\thicklines
\put(110,45){\line(1,0){30}}
\put(139,42){$\circ$}
\put(150,50){$X$}
\put(165,42){$\circ$}
\put(170,45){\line(1,0){30}}
\put(199,42){$\circ$}
\put(210,50){$Y$}
\put(225,42){$\circ$}
\put(230,45){\line(1,0){30}}
\put(95,30){\line(1,0){15}}
\put(260,30){\line(1,0){15}}
\put(110,15){\line(0,1){30}}
\put(110,15){\line(1,0){30}}
\put(139,12){$\circ$}
\put(150,3){$Z$}
\put(165,12){$\circ$}
\put(170,15){\line(1,0){30}}
\put(199,12){$\circ$}
\put(210,3){$W$}
\put(225,12){$\circ$}
\put(230,15){\line(1,0){30}}
\put(260,15){\line(0,1){30}}
\end{picture}
\medskip
\noindent
Explain your result in terms of a simple logical construction
involving the results for the basic circuits $X + Y$ and $Z + W$:
\begin{picture}(500,50)
\thicklines
\put(50,15){\line(1,0){30}}
\put(79,12){$\circ$}
\put(90,23){$X$}
\put(105,12){$\circ$}
\put(110,15){\line(1,0){30}}
\put(139,12){$\circ$}
\put(150,23){$Y$}
\put(165,12){$\circ$}
\put(170,15){\line(1,0){30}}
\put(260,15){\line(1,0){30}}
\put(289,12){$\circ$}
\put(300,23){$Z$}
\put(315,12){$\circ$}
\put(320,15){\line(1,0){30}}
\put(349,12){$\circ$}
\put(360,23){$W$}
\put(375,12){$\circ$}
\put(380,15){\line(1,0){30}}
\end{picture}
\medskip
Shannon continues:
{\sf
\begin{quote}
We shall now define a new operation to be
called negation. The negative of a hindrance $X$ will be written
$X'$ and is defined to be a variable which is equal to 1 when $X$
equals 0 and equal to 0 when $X$ equals 1.
\end{quote} }
\noindent
5. In a table listing both values for $X$, compute the value of the
circuit:
\begin{picture}(500,50)
\thicklines
\put(100,15){\line(1,0){30}}
\put(129,12){$\circ$}
\put(140,23){$X$}
\put(155,12){$\circ$}
\put(160,15){\line(1,0){30}}
\put(189,12){$\circ$}
\put(200,23){$X'$}
\put(215,12){$\circ$}
\put(220,15){\line(1,0){30}}
\end{picture}
\medskip
\noindent
In another table, compute the value of the circuit:
\begin{picture}(500,75)
\thicklines
\put(120,45){\line(1,0){30}}
\put(149,42){$\circ$}
\put(160,50){$X$}
\put(175,42){$\circ$}
\put(180,45){\line(1,0){30}}
\put(105,30){\line(1,0){15}}
\put(210,30){\line(1,0){15}}
\put(120,15){\line(0,1){30}}
\put(120,15){\line(1,0){30}}
\put(149,12){$\circ$}
\put(160,3){$X'$}
\put(175,12){$\circ$}
\put(180,15){\line(1,0){30}}
\put(210,15){\line(0,1){30}}
\end{picture}
\medskip
\noindent
Can you interpret these tables in terms of simple logical constructions?
\medskip
\noindent
6. Now let $a$ and $b$ be binary variables with one digit. Recall from the
project ``Binary Arithmetic: From Leibniz to von Neumann" that the
digit in the ones place (the right-hand digit) of the {\em arithmetic
sum} $a + b$ can be expressed using the ``exclusive or" operation. Find
a circuit which gives this digit. Justify your answer with a table
that lists all possible values of $a$ and $b$.
Note that the arithmetic sum $a+b$ is the result of adding the binary
values of $a$ and $b$, not $a$ and $b$ combined in series.
\medskip
\noindent
7. Let $a$ and $b$ be binary variables with one digit as in question
6. Find a circuit which gives the digit in the twos place (the left-hand digit)
of the arithmetic sum $a+b$. Justify your answer using a table listing
all possible values of $a$ and $b$.
\medskip
\noindent
8. Let $a$ and $b$ be binary variables with two possible digits. In
Shannon's notation,
$$ a = a_1 2^1 + a_0 2^0, \ \ \ b= b_1 2^1 + b_0 2^0. $$
The digits of $a$ are $a_1$, $a_0$, and the digits of $b$ are $b_1$,
$b_0$. Let $c_0$ be the result of the carried digit from $a_0 + b_0$.
Either $c_0 = 0$ or $c_0 = 1$.
In terms of the values for $a_1$, $b_1$ and $c_0$, when is the digit
in the twos place for the arithmetic sum $a+b$ equal to zero? equal
to one? Using $a_1$, $b_1$ and $c_0$ as switches, find a circuit
which gives the digit in the twos place for $a+b$. Justify your answer
using a table that lists all possible values for $a_1$, $b_1$ and $c_0$.
\medskip
\noindent
9. Let $a$ and $b$ be binary variables with two digits as in part
question 8.
Using $a_1$, $b_1$ and $c_0$ as switches, find a circuit which gives the
digit in the fours place (the left-most digit) of $a+b$. Justify your
answer using a table listing all possible values for $a_1$, $b_1$ and $c_0$.
\medskip
Recall that of binary numeration, Leibniz \cite[p.\ 225]{JLGerhardt2}
writes:
{\sf
\begin{quote}
However, I am not at all recommending this manner of
counting as a replacement for the ordinary
practice of tens. . . . [The] practice of tens is shorter, the numbers
not as long. If we were accustomed to proceed by twelves or by
sixteens, there would be even more of an advantage.
\end{quote} }
Writing large numbers by hand in binary notation easily results in
transcription errors, since there are often many digits in a number
base 2. However, entering base 10 numbers on a computer requires a
conversion to base 2 at some level, a conversion which is not readily
made, since 10 is not an integral power of 2. Let's now examine the
Chinese abacus, and remember that
Leibniz's intellectual curiosity had
led him to the study of Chinese culture and religion, with an
interpretation of the ancient text {\em Yijing} (the {\em I-ching} or
{\em Book of Changes}) in terms of binary numeration.
The Chinese abacus ({\em suan pan}) consists of bars set in a rectangular frame, with
the number of bars being 9, 11, 13, 17 or more \cite[p.\
211]{JLMartzloff}. Each bar contains two upper beads and five lower beads,
separated by a crossbar. Each upper bead counts as five units, and
each lower bead counts as one unit.
Traditionally numbers are represented positionally
using base 10. A decimal point could be arbitrarily chosen between
two bars of the abacus, and the digits are then arranged from left to
right in decreasing powers of ten,
so that the ones place is to the right of the tens place, the tens
place is to the right of the hundreds place \cite[p.\
74--75]{JLNeedham}. Before
representing a number on the abacus, all beads are moved away from the
central crossbar so that they rest against the frame.
Placing the decimal point at the far right of the frame,
the base 10 number 197 would be displayed by moving one upper
bead and two lower beads against the crossbar of the right-most bar,
one upper bead and four lower beads against the crossbar of the bar
immediately to the left of that, and one lower bead against the
crossbar of the next bar.
\begin{picture}(500,100)
\thicklines
\put(100,75){\line(1,0){240}}
\put(100,50){\line(1,0){240}}
\put(100,0){\line(1,0){240}}
\put(100,0){\line(0,1){75}}
\put(120,0){\line(0,1){75}}
\put(140,0){\line(0,1){75}}
\put(160,0){\line(0,1){75}}
\put(180,0){\line(0,1){75}}
\put(200,0){\line(0,1){75}}
\put(220,0){\line(0,1){75}}
\put(240,0){\line(0,1){75}}
\put(260,0){\line(0,1){75}}
\put(280,0){\line(0,1){75}}
\put(300,0){\line(0,1){75}}
\put(320,0){\line(0,1){75}}
\put(340,0){\line(0,1){75}}
\put(115,70){\line(1,0){10}}
\put(115,65){\line(1,0){10}}
\put(115,25){\line(1,0){10}}
\put(115,20){\line(1,0){10}}
\put(115,15){\line(1,0){10}}
\put(115,10){\line(1,0){10}}
\put(115,5){\line(1,0){10}}
\put(135,70){\line(1,0){10}}
\put(135,65){\line(1,0){10}}
\put(135,25){\line(1,0){10}}
\put(135,20){\line(1,0){10}}
\put(135,15){\line(1,0){10}}
\put(135,10){\line(1,0){10}}
\put(135,5){\line(1,0){10}}
\put(155,70){\line(1,0){10}}
\put(155,65){\line(1,0){10}}
\put(155,25){\line(1,0){10}}
\put(155,20){\line(1,0){10}}
\put(155,15){\line(1,0){10}}
\put(155,10){\line(1,0){10}}
\put(155,5){\line(1,0){10}}
\put(175,70){\line(1,0){10}}
\put(175,65){\line(1,0){10}}
\put(175,25){\line(1,0){10}}
\put(175,20){\line(1,0){10}}
\put(175,15){\line(1,0){10}}
\put(175,10){\line(1,0){10}}
\put(175,5){\line(1,0){10}}
\put(195,70){\line(1,0){10}}
\put(195,65){\line(1,0){10}}
\put(195,25){\line(1,0){10}}
\put(195,20){\line(1,0){10}}
\put(195,15){\line(1,0){10}}
\put(195,10){\line(1,0){10}}
\put(195,5){\line(1,0){10}}
\put(215,70){\line(1,0){10}}
\put(215,65){\line(1,0){10}}
\put(215,25){\line(1,0){10}}
\put(215,20){\line(1,0){10}}
\put(215,15){\line(1,0){10}}
\put(215,10){\line(1,0){10}}
\put(215,5){\line(1,0){10}}
\put(235,70){\line(1,0){10}}
\put(235,65){\line(1,0){10}}
\put(235,25){\line(1,0){10}}
\put(235,20){\line(1,0){10}}
\put(235,15){\line(1,0){10}}
\put(235,10){\line(1,0){10}}
\put(235,5){\line(1,0){10}}
\put(255,70){\line(1,0){10}}
\put(255,65){\line(1,0){10}}
\put(255,25){\line(1,0){10}}
\put(255,20){\line(1,0){10}}
\put(255,15){\line(1,0){10}}
\put(255,10){\line(1,0){10}}
\put(255,5){\line(1,0){10}}
\put(275,70){\line(1,0){10}}
\put(275,65){\line(1,0){10}}
\put(275,45){\line(1,0){10}}
\put(275,20){\line(1,0){10}}
\put(275,15){\line(1,0){10}}
\put(275,10){\line(1,0){10}}
\put(275,5){\line(1,0){10}}
\put(295,70){\line(1,0){10}}
\put(295,55){\line(1,0){10}}
\put(295,45){\line(1,0){10}}
\put(295,40){\line(1,0){10}}
\put(295,35){\line(1,0){10}}
\put(295,30){\line(1,0){10}}
\put(295,5){\line(1,0){10}}
\put(315,70){\line(1,0){10}}
\put(315,55){\line(1,0){10}}
\put(315,45){\line(1,0){10}}
\put(315,40){\line(1,0){10}}
\put(315,15){\line(1,0){10}}
\put(315,10){\line(1,0){10}}
\put(315,5){\line(1,0){10}}
\end{picture}
\bigskip
\centerline{$\ \ $ The number 197 set on a Chinese abacus.}
\bigskip
\noindent
Go to the library or the world wide web and research how (base 10) addition
is performed on an abacus. Pay particular attention to the operation
known today as ``carrying.''
Notice that representing a number in base 10 requires a minimum of ten
distinct values for bead arrangements along a given bar, which includes
the value zero.
\medskip
\noindent
10. On a Chinese abacus, how many distinct numerical values can be
represented along a given bar, including the value zero? Note that
certain numbers greater than ten can be constructed by using two five
beads on the same bar. Let $N$ denote this number of distinct values.
If the full range of values for bead arrangements is employed on each
bar, what number base is represented on a Chinese abacus?
\medskip
\noindent
11. Using $N$ as in question 10, write the base 10 numbers from 1 to 20 inclusive
in base $N$. Although you may invent any symbols that you wish for additional
digits in this new base, be sure to explain what your symbols mean.
For now, call the new digits $n_1$, $n_2$, $n_3$, etc., where
$n_1 = 10$, $n_2 = 11$, $n_3 = 12$, etc.
\medskip
\noindent
12. In a table list the base 10 numbers 1 through 32 inclusive, their binary
equivalents and their base $N$ equivalents. Is there a pattern between
the base 2 and base $N$ representations? Explain.
\medskip
\noindent
13. Consider the number $9 n_2 5 n_4$ in base $N$, where $n_4$ is in
the ones place, 5 in the $N$'s place, $n_2$ in the $N^2$'s place, and
9 in the $N^3$'s place. Explain how to perform the addition
$$ 9 n_2 5 n_4 + n_1 7 2 n_2 $$
in base $N$ on a Chinese abacus. What is the value of this sum in base $N$?
Convert the final sum to base 10, and explain the conversion process.
\medskip
\noindent
Extra Credit: What is the sum $9 n_2 5 n_4 + n_1 7 2 n_2$ in base
2? Justify your answer.
\section*{Notes to the Instructor}
The project builds naturally on the previous offering ``Binary
Arithmetic: From Leibniz to von Neumann,'' and is well suited for a
first course in discrete mathematics or computer science. The project
also includes an examination of arithmetic on a Chinese abacus, and,
in a departure from the historical record, explores base sixteen
(hexadecimal) operations on the abacus. This use results from the
full potential of all numerical values that can be represented on one
bar of the Chinese abacus, and provides as an enrichment exercise in two-power base
arithmetic. Today base sixteen is often used by computer scientists
as a shorthand for base two, since, as observed by Leibniz, larger
bases afford shorter lengths of notation in place value numeration.
\begin{thebibliography}{99}
\bibitem{JLGerhardt2} Gerhardt, C. I., (editor) {\em G. W. Leibniz
Mathematische Schriften}, Vol. VII, Olms, Hildesheim, 1962.
\bibitem{JLMartzloff} Martzloff, J.-L., {\em A History of Chinese
Mathematics}, Wilson, S.S. (translator), Springer Verlag, Berlin,
1997.
\bibitem{JLNeedham} Needham, J., {\em Science and Civilisation in
China}, vol. 3, Cambridge University Press, Cambridge, 1959.
\bibitem{JLShannon1} Shannon, C., ``A Symbolic Analysis of Relay and
Switching Circuits,'' {\em Transactions American Institute of
Electrical Engineers}, {\bf{57}} (1938), 713--723.
\bibitem{JLShannon2} Shannon, C.E., ``A Mathematical Theory of
Communication,'' {\em Bell System Technical Journal}, {\bf{27}}
(1948), 379--423 and 623--656.
\bibitem{JLSloane} Sloane, N.J.A., Wyner, A.D. (editors), {\em Claude
Elwood Shannon: Collected Papers}, The Institute of Electrical and
Electronics Engineers, Inc., New York, 1993.
\bibitem{JLvonNeumann} von Neumann, J., ``First Draft of a Report on
the EDVAC,'' in {\em From ENIAC to UNIVAC: An Appraisal of
the Eckert-Mauchly Computers}, N. Stern, Digital Press, Bedford, Massachusetts,
1981, 177--246.
\end{thebibliography}
\end{document}