From idea to project.LYBRHED@delphi.com
Date: Fri, 02 Jul 1993 02:16:02 -0400 (EDT)
Subject: From idea to project.
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
In April, when I was in darkest Arkansas and had no access to computers,
Bob was kind enough (or foolhardy enough) to send me a printed copy of
the first two weeks of the QED e-mail discussion. The following letter
is a slightly expanded copy of my reply, which was a handwritten letter
dated May 10.
"Objection 9" and "Objection 10" are also based on old letters and notes
written in February, March, and April. I'm just now signing on and don't
know what has happened since the last archive, so I don't know if any of
this material is still relevant... L.B.
You and Rusty opened the discussion by asking for "suggestions on how to
turn it from an idea into a project." I want to address myself to that
You sent me 76 pages of notes, which were generated in a 2-week period.
At this rate, you will soon have hundreds of pages of this stuff, with no
structure, no way to connect one remark with others on the same subject,
and no way to put it all together and arrive at a conclusion.
The very next thing you need to do is establish a structure for the
discussion. If Step 1 was to write the Manifesto, and Step 2 was to ask
for comments, then Step 3 is to appoint a librarian to organize the
comments. Actually steps 2 and 3 should have been reversed, but it's too
late for that.
The discussion itself should be a microcosm of QED, one aspect of which
is "the ability to scan the literature for relevant results."
Items should be numbered and classified as they come in. They should be
put into a text base. I would suggest putting all the comments into
Lotus "Agenda," but there are other possibilities. (Agenda is described
in CACM, July 1990, page 105.) There should be pointers from each item
to related items, and to the section of the Manifesto to which the
After about 100 - 200 pages of discussion, the participants (or the
moderator) should review what has been said and bring it to a conclusion.
The conclusion should result in an action.
In the present case, the notes you sent me end with Konrad's statement
that we should be addressing ourselves to students. If you take that to
be the conclusion of the first round of discussion, it has implications
for the Manifesto. A manifesto addressed to 18 year olds would have a
different form, tone, and content than the original one. A manifesto
addressed to students should not read like a bureaucratic document. You
don't need to go into funding agencies and career planning in a manifesto
-- imagine Jefferson discussing such things in the Declaration of
Independence! Of course that level of reality has its place, it exists,
it has to be dealt with at some point down the line. But this isn't the
place to discuss it. A manifesto should present an inspiring vision of
mathematics. If there is ever a time for unabashed enthusiasm, this is
Thus the first round of discussion should result in an action: writing
Version 2 of the Manifesto in such a way that a generation of students
are inspired to devote their lives to the creation of QED.
The next round of discussion might (for example) pursue Michael Beeson's
line of thought, arrive at a conclusion about it, and result in Version 3
of the Manifesto (or some other tangible result).
In other words the discussion should not be allowed to proceed in a
desultory fashion until it fills five feet of shelf space. It should be
divided into segments, each of which results in an action.
Each iteration of the Manifesto should have a Manifestation, which would
consist of a User's Manual for QED and a demo.
I don't know what facilities UNIX has for developing demos. In the PC
world, there are programs (such as Dan Bricklin's "Demo II") with which
you can create a mock-up of a proposed piece of software. The functions
are stubs which can only be called for one value and always return a pre-
arranged result; however, the functions are all there, and the
prospective user can see what the program looks like, put it through its
paces, and make suggestions about the next iteration.
If no such facilities exist in the UNIX world, a high priority task is to
create them. This would be Step 4. You could start with Smalltalk or
NextStep and build a workbench and a suite of tools designed specifically
for creating QED demos, and for refining those demos into working
Step 5 is to get the iterative process started. Write a user's manual
and demo according to your original vision of QED. Then rewrite the
Manifesto and the Manifestation in view of the discussion up to that
point. That would be Version 2. Have another discussion of about 200
pages, which culminates in Version 3 (or 2.1). And so forth.
After several iterations, the general idea and the general appearance of
QED will be fairly stable. Then the demo will be given more and more
functionality, until eventually it becomes a working set of programs with
a complete (or potentially complete) internal representation of
Meanwhile -- Step 6 -- you need to develop a computer science curriculum
in which QED is the central project. The students will study exactly
those topics in computer science that will prepare them to write a senior
thesis on QED.
I am assuming that QED includes not only a proof checker but also
modelling software, tools for experimentation, and all the other things
listed in Section 6 of the Manifesto; the evolutionary software
mentioned in Section 3, Problem 7; models of the material world, such as
the autonomous undersea mining operation of Motivation #2; the
searchable digital library of Motivation #1; and other software that
comes up in the course of the project, such as Michael Thayer's
Hermeneutical Daemon, and the tools for producing demos, discussed above.
I stress that this is an assumption. The Manifesto is ambiguous about
what QED actually is. In most of the Manifesto (especially Sections 2 -
5), and in the e-mail discussion, it is taken for granted that QED is
basically a proof checker. Only in Sections 1 and 6 do we get a glimpse
of a higher vision of QED. The User's Manual and demo should clarify the
question of what QED actually consists of (that is part of their
purpose). Anyway for the moment I am going to assume that QED includes
everything mentioned in the previous paragraph. What I am proposing is a
double major in math/C.S. in which the students write all that software
and use it.
And it wouldn't have to stop with math. The same idea could be extended
to other subjects.
You and your colleagues could write a series of C.S. textbooks, in which
you present Computer Science for the next century. At most universities,
the C.S. curriculum seems to have jelled 10 or 15 years ago. "Computer
Science" is an eclectic group of courses not based on any organizing
principle or idea. If someone proposes a new C.S. curriculum that is
based on an idea, it will pre-empt the field.
In the 1960's, the "New Math" took over the mathematics curriculum, and
Chomsky took over linguistics. Computer science is ripe for just such a
takeover, and the new idea wouldn't even have to be a good one. I happen
to take a dim view of both Chomsky and the New Math, but they had far
reaching effects on their respective subjects. In the case of computer
science I think the following proposal is, for better or worse, an idea
whose time has come.
Computer science could be not just one major among others, but the center
of a whole new course of study. All students would take a double major
in computer science and some other subject, and in their second subject
they would make the computer representation of knowledge in that subject
the organizing principle of their studies.
Sometimes I wonder if it would be possible to create a computer
representation of Plato's metaphysics, or Aristotle's. You could have a
philosophy major within the C.S. department, in which this question is
investigated. You could also have an economics major, in which the
students create computer models of the economy. You could include the
language transparency project. Biology could be the study of artificial
life. Chemistry could be "dry" chemistry. Math majors would work on
QED. And so forth. It would be possible to design an entire curriculum
in which the computer modelling of reality is the central idea.