From idea to project.

LYBRHED@delphi.com
Date: Fri, 02 Jul 1993 02:16:02 -0400 (EDT)
From: LYBRHED@delphi.com
Subject: From idea to project.
To: qed@mcs.anl.gov
Message-id: <01H01TQ89PE08ZFOWH@delphi.com>
X-Vms-To: INTERNET"qed@mcs.anl.gov"
Mime-Version: 1.0
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-Transfer-Encoding: 7BIT
Sender: qed-owner
Precedence: bulk


 Explanatory note.  

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.


Dear Bob, 

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 
point.  

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 
comment applies.  

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 
it.  

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 
programs.  

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 
mathematics.  

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.  

Lyle