perm filename NSF1[1,VDS] blob sn#061236 filedate 1973-12-19 generic text, type C, neo UTF8
C00001 00001
C00005 00002	
C00007 00003	ABSTRACT:
C00016 00005	2. WHAT WE PROPOSE TO DO.
C00022 00006		The micro language  is composed of  a small set  of primitive
C00028 00007		Besides language inputs,  a  geometric modeling system should
C00033 00008	An Itemized Shopping List.
C00049 00012	
C00051 00013	8. BUDGET 
C00054 00014	6.  BIOGRAPHIES.
C00056 00015		Organized and directs Stanford Artificial Intelligence
C00058 00016	7.  BIBLIOGRAPHY.
C00061 00017	       11.  "Time-Sharing Computer Systems" in Management and the
C00064 00018	       23.  (with J. Painter) "Correctness of a Compiler for
C00067 ENDMK



                     Computer Science Department

                  School of Humanities and Sciences

                         Stanford University



                    Co-Principal Investigators: 

                            JOHN McCARTHY

                    Professor of Computer Science

                            BRUCE BAUMGART

                Research Associate in Computer Science

                      This is a new request to NSF
             The desired starting date is January 1, 1974.
          The total amount requested for 24 months is $ 214,881

This is  a request for  a grant of  $ 214,881 to  support a  two year
research program  in  computer  aided  mechanical  drawing of  three-
dimensional objects.










ENCLOSURE: (with orginal copy of Proposal only)

	    Flip book of mechanical arm animation.


	The proposed work  is based on  the following ideas  and work
already done:

i. Explicit 3-D Object Representation.

	An effective  way of  obtaining 2-D mechanical drawings of  a
three-dimensional  object is to derive the  drawings from an explicit
computer model of  the three-dimensional  object.  The  orthographic,
isometric  and perspective  projections  of the  object are  obtained
automatically  from  the  three-dimensional   description,  with  the
hidden lines  of the object  either eliminated,   dashed  or  thinned 
and  with  the  appropriate labels,    dimensions,    comments,   and
arrowheads indicated. (Figure 1) (all figures follow this section).

ii. Object Generation from Physical Description.

	A convenient way of  making an explicit computer model  of an
object  is to simulate  the process of building the object.  That is,
the  description  of   how  to  build  an   object  is  an   implicit
representation of the  object.  For example it is  easier to describe
Figure 2  as a  dodecahedron with a regular five  pointed star shaped
hole cut through it,  than it is to draw the figure  with a light pen
or to list the loci of its vertices.

iii. Language Extension.

	Rather than developing  new languages for  geometric modeling
and  mechanical drawing,   we believe  it is  best to extend  the old
languages: FORTRAN,    ALGOL and  LISP.    The elements  of  language
extension  include new  data types  for  the language,   general  low
level  primitives  for  manipulating  the  new  data  types,   and  a
convenient set of higher level operations.  The division  of the work
into high  level operations defined in terms  of low level primitives
is an  important part  of the  design because  it isolates  the  data
structure manipulating code.

iv. Object Representation from Physical Measurement,

	Another way to  get an explicit  computer model of  an object
is to derive  it from measurements made on an actual physical object,
2-D drawing, or picture.  For example, the physical object might be a
clay model  of the  thing being  designed. We  believe that  only the
lack  of appropriate  software  is preventing  the use  of television
cameras as an inexpensive, accurate, and automatic  means of entering
graphical data into a computer. (Figure 3)

v. Prejudice against Pens for Interactive Graphics Control.

	It has been  our recent experience that a  distinction should
be  made between using a  light pen (or sonic pen, Rand tablet, etc.)
for graphics input and using it for graphics editing and  control. We
observe  that when  adequate  keyboard edit,    control and  language
conventions  are provided the use  of the light pen diminishes to the
point where it is  only demonstrated to visitors who  expect graphics
to involve light  pens. One reason for this is  that when an operator
can do something exactly in a few keystrokes he does not bother  with
picking up the pen,  acquiring the pen tracker, and drawing.  A second
reason  is that a pen  is necessarily based on 2-D screen coordinates
in which overlapping  portions of a  3-D drawing can not be  directly
distinguished with a  light pen. Pen based editing  systems require a
keyboard  or button box in  any event,  so we  argue that an operator
who can  control and alter  a drawing  with his  hands always in  the
locality of the keyboard will  be more efficient than an operator who
has to use both a keyboard and a  pen. However, the use of a pen  (or
Rand  Tablet)  for  graphics  input,    such  as  tracing  chromosome
photographs into  the computer, is justifiable  and expedient but not
directly relevant to  editing a 3-D mechanical design.  That is, pens
are functionally replaceable by either cameras or keyboards.

vi. Mechanical Simulation.

	Information, such as the  degrees of  freedom  of  motion, is
included in  the object description and  can be used to  get pictures
of  objects  in  different  positions.  This is  demonstrated  in the
A.I.Laboratory's flip book animation of a  mechanical  arm  turning a
block over. Mechanical information can also be used  to constrain the       
shape of a  part   in  its  desired   place,  or  to  find  the space            
potentially occupied by a moving part.

vii. Photometric Simulation.

	Photometric information  such as the  location and  nature of
light  sources and  the light scattering  properties of  the objects'
surfaces can be included in the  model and used to compute the actual
appearance of solid opaque objects. (Figure 4)

	We  propose to  represent  and simulate  solid  objects in  a
computer  for the sake  of mechanical design  and mechanical drawing.
Our two year goal  will be to automate as  much as possible the  task
of  creating  and altering   three-dimensional  data structures  from
which  mechanical drawings  can  be derived.  The overall  project to
date has  been called  "geometric modeling" a  term which  we use  to
refer to  our particular combination of computer  graphics,  physical
world modeling,   image processing  and geometry.   Accordingly,  the
details of the  work we propose doing  will be presented in  terms of
the elements comprising a Geometric Modeling System.      

	Like  a computer,    the four  main elements  of  a geometric
modeling  system are memory, process, input and output. Starting with
memory, there are  the problems of representation (how  to describe a
physical object),  accessing (how to find a particular description by
name,   by location,  or by  whether it  is currently  in view),  and
efficiency (how  to keep the  size of storage  space down and  how to
dynamically allocate fast and slow memory resources).
	The presently  implemented explicit object  representation is
based on  polyhedron models of solid rigid  objects.  A simple object
called a body  is defined by  a surface  shell composed of  vertices,
edges and  faces that satisfy  the   Euler equation, V  - E + F  = 2.
Such  polyhedron bodies  are combined to  form compound  objects.  At
present,  curved objects are represented by  approximating them using
a  polyhedron  composed of  a  sufficient  number  of flat  polygonal
faces.   We propose  to  further develop   the appearance  of  curved
objects by automating the  assignment of polygonal facets to  a given
curved  surface.   Other  current  representation  problems  that  we
propose working on  include constructing  efficient (and  compatible)
object labelling, handling  mechanical properties  of an  object, and
better representing compound and flexible objects.

	A final  representation issue  we would  study is  that of  a
format   for  communication  of   three-dimensional   models  between
modeling systems.   Although   we  believe  that it is  too early  to
propose a standard  format, it is desirable to  design and promulgate
a  format  as  simple,  but  as  inclusive  as  possible;  it is also
desirable to  develop  formatible  I/O routines so  that new  formats
can be sent or received.

	The  usual  input  devices  to  a geometric  modeling  system
include keyboards,  light-pens,   joy-sticks,  buttons,  cameras  and
film scanners, of  which the most  important to this proposal  is the
keyboard, because it is currently the best device for language input.
Indeed, we believe  that we can  demonstrate that  a system based  on
keyboards can do  geometric control and editing better  than a system
based on  both a light pen and a keyboard.  With respect to language,
we are proposing two projects: first, we would extend the programming
languages  FORTRAN,   ALGOL and LISP  and second,   we would continue
to develop  our interactive edit  and control language. The  elements
of a language extension  include new data types (the  "memory" of our
system),  a  micro  language  of  primitive  operations and  a  macro
language of more complex operations.

	The micro language  is composed of  a small set  of primitive
functions  that  invoke  the  only  subroutines  allowed to  directly
create and alter the data  structure.  All the geometric  processors,
editors,    input,    output   and  higher  language  operations  are
implemented  in  terms of  these fewer  than  fifty primitives.   The
reason for having a two-level  system is to isolate and  minimize the
amount of  code that is  necessarily dependent on  the implementation
details of the particular higher  level language. Furthermore, it  is
possible to construct  primitives that are complete and  general with
respect   to  fundamental  principles  in   polyhedron  topology  and
geometry. For example,   we now have a  set of Euler primitives  that
can generate  any Eulerian  polyhedron (and only  Eulerian polyhedra)
as  well as a set  of Euclidean primitives for  applying the group of
Euclidean transformations.    With  more good  luck,   we  intend  to
isolate sets of primitives for mechanics and for image formation.

	The  macro  level  of  language  extension  is  comprised  of
operations that make it convenient to simulate building a  mechanical
model of  an object. The  present macro  level includes an  operation
for  "sweeping"  edges  into  faces,    and  faces  into  solids;  an
operation for "glueing" surfaces  together; an operation for  passing
"cutting"  planes  thru  an  object;  and a  most  powerful  trio  of
operations   for  forming   the  volume  union,     intersection  and
difference of two  given polyhedra. Since  polyhedra can be taken  as
either bounding  a finite solid volume  or a finite  empty volume, we
have found it convenient to draw some objects indirectly by  building
their  holes and  intersecting  the  holes  with their  simple  outer
shape.   Further macro  operations we  propose to code  would include
more  "imaginary"  ones  for   bending,    constraining,     filling,
enveloping,   and expanding  upon a  skeleton; as  well as  some more
"realistic"  operations that  would model regular  machine shop tools
such as  a lathe,   punch  and milling  machine; as  well as  machine
building processes such as welding, fastening and assembly. 

	Our  second language  project  is oriented  towards  edit and
control.   The  main  differences  between  an  interactive  graphics
editor  and  a  graphics programming  language  are  that  an  editor
carries along its  working context so that most arguments and data do
not have to be  explicitly named (because they  happen to be "at  the
top  of  the  stack")  and  that  they  are  visibly  intensified  or
otherwise  indicated on  the display  screen.   The advantage  of the
interactive editor is  that the  user is relieved  of having to  coin
and  call names of  things.   However,  the  disadvantage is  that he
cannot develop subroutines  of the power  available in a  programming
language, which  provides notation  for procedures,  arguments,   and
variables.   We plan to keep the  programming language level distinct
from the  control and  edit  language level;  although it  should  be
clear  that  both language  levels  are  calling the  same  primitive
execution routines.
	Besides language inputs,  a  geometric modeling system should
have  a way of  reading data that  is already in  graphical form. For
such input,  we propose using  a television camera. For example,   we
already have developed video  intensity contouring to rapidly provide
the  edges of  an  image in  a form  available for  graphics editing.
Although video  input  per  se is  of  secondary importance  to  this
proposal,  we happen to  have such hardware and software available at
Stanford and can make good use  of it with little additional  effort.
Furthermore,   video  (or  visual)  computer input  has  considerable
promise as a major input device of future computers.

	The  third element  of a  geometric  modeling system  is  its
(software) processors.   There are  language processors,   mechanical
simulators,  locus solvers,  image  analysis and image synthesis,  as
well  as  that  process, quite central  to three-dimensional drawing,
which is hidden  line (and  surface) elimination.   We have a  hidden
line  eliminator which  combines several  of the  existing techniques
and which can generate both line  drawings and video images; also  we
have reason to believe  that further work on our design  will yield a
hidden   eliminator  that  can  handle   apparently  curved  objects,
generate shadows,  use the coherence between successive images,   and
still be  fast without special  purpose hardware.  Since  the purpose
of  the processors  just  mentioned should  be sufficiently clear, we
shall skip  detailing their algorithms  and implementation,  although
this will  comprise the bulk of  the work and  publication we propose
to do.

	The fourth and final  element of our  modeling system is  the
output,    which  includes  dynamic  CRT  display,    video  display,
hardcopy  printing,   and  magnetic  tape.  Although  mundane,    the
numerical object descriptions  on conventional (nondisplay)  computer
media like  magnetic tape  is important  in making  the output  of an
interactive   display   system   available   for   further  automatic
processing or communication.  On the other  hand, a high quality  CRT
that can display  characters and vectors is now  and shall remain the
primary tool requisite to  developing interactive graphics  software.
Consequently,   nearly  a  third of  the  budget included  with  this
proposal is allocated  to aquiring such a CRT to enhance our existing
display system. The most  promising alternative to  a CRT is a  video
display. However, present  day video display systems  would require a
very  large computer  and fast memory  to achieve  the resolution and
speed of a CRT display.
An Itemized Shopping List.

	Ignoring the overall system organization and fine details,
the goals of the proposed project are summarized in the following
shopping list:

Items partially in hand.

	1. Representation of solid rigid three-dimensional polyhedra.
	2. Language extension of geometric primitives.
	3. Language extension of object building operations.
	4. Polyhedron object hidden line (and surface) eliminator.
	5. Geometric editor.

Items within one year's work.
	6. Generation of mechanical drawings from geometric models.
	7. Representation for the appearance of curved objects.
	8. Representation for flexible objects.
	9. Video acquisition of two-dimensional  drawings.
	10. Mechanical simulation and animation.

Second year and/or elective items.

	11. Generation of high quality mechanical drawings.
	12. Development of a remote display terminal version.
	13. Development of a standard FORTRAN version.
	14. Mechanical drawings for a special area of engineering 
	    (pipefitting, screw threading, mining, or whatever).

Basic research items.

	15. Video acquisition of three-dimensional objects.
	16. Photometric simulation - shadows, multiple light sources 
	    for generation of high quality video appearance.

	Since substantial  work has  already been  done on items  one
through  five,  they  would  be  included  in the  most  conservative
estimate of  our  potential achievements  over  the next  two  years.
Intermediate  expectations include  making considerable  progress and
original contribution  with respect to items one through ten, as well
as doing one of the  five items numbered eleven through  fourteen. An
optimistic  expectation would  be to  finish everything  through item

	This proposal  is based  on work  by Bruce  G. Baumgart as  a
graduate  student. Mr. Baumgart expects  to complete his dissertation
titled "Geometric  Vision"  in early  1974  and  will continue  as  a
research associate upon receiving his degree.

	This work includes GEOMED,   a Geometric Editor,  which would
be  the  prototype of  the mechanical  drawing  system we  propose to
build.   GEOMED  is  a  3-D  drawing program  (controlled  mostly  by
keyboard)  that  can   construct  arbitrary  polyhedral  objects  and
display them with hidden  lines eliminated.   GEOMED also accepts  TV
images and can form polyhedron models consistent with such images.

	The  subroutines and  data  structures  of GEOMED  have  been
embedded  in  LISP and  SAIL  (Stanford Algol)  to  provide geometric
languages  for   physical   world  modeling   and   physical   action
simulation. The  current embedded  version of  GEOMED falls  short in
that  adequate  error  recovery and  memory  allocation  is currently

	The image processing part of  Mr.  Baumgart's work lies  in a
program  named CRE,    standing for  Contour,   Region,   Edge  image
representation.   CRE  converts  a  sequence  of  digital  television
images  into a  contour  edge data  structure  for interpretation  by
other programs.   Finally, there is TVFONT, which is a version of CRE
for making  type font  bit arrays  from television  images,   or  for
re-scaling existing fonts.

	The work  proposed here has  been strongly influenced  by the
pioneering computer graphics  work of Larry Roberts, Steven Coons and
Ivan Sutherland done  at the  Massachusetts Institute of  Technology,
Lincoln  Laboratory, and  Harvard  University; as  well  as the  more
recent  work of Sutherland, Evans,   Warnock, Watkins,  Archuleta and
Gouraud at the University  of Utah.  In  fact,  Mr. Baumgart  did his
undergraduate thesis  (at Harvard, 1968)  with Prof.   Sutherland, on
development  of  a   three-dimensional  display   system  which   was
subsequently moved  to Utah. Another  influence on the  proposed work
has been  the research in Artificial  Intelligence,  computer vision,
programming languages and time  sharing done at Stanford  University,
Massachusetts   Institute  of   Technology   and  Stanford   Research

	In  general, research work similar to  that described in this
proposal is being  conducted at  the University of  Utah and at  IBM.
However, the  recent research work  at Utah has  been mainly directed
toward the  development  of  special  purpose  high  quality  display
hardware; whereas  the  work outlined  in this  proposal is  directed
toward  the  problem  of  3-D  representation  and graphics  language
development. The  relationship between our  work and  the work  being
done  at the  University of  Utah  is like  the relationship  between
software and hardware, the two are overlapping but different.  

	The   development   and   application   of  three-dimensional
computer design systems has  also been underway for several  years at
companies such  as General Motors  and Lockheed. The  relation of our
work to the graphics done in  industry is symbiotic and is, in  fact,
accurately described  by the  hackneyed comparisons  of a  university
vs.  a corporation,  theory vs.  practice, knowledge  vs. production,
generality vs. practicality,   etc.  Thus,  it is not too  surprising
that  the   General  Motors   and  Lockheed  systems   have  produced
mechanical  drawings  of  cars  and  airplanes.  However,   with  the
exception  of  Appel's  hidden  line  eliminator  developed  at  IBM,
Yorktown,    these  systems   have  not  produced  new  languages  or
algorithms.  For the most part the graphics software technology  used
by industry began in university and government research.

	Another area of  related work is computerized  2-D mechanical
drawing.    At present,    there are  several  commercially available
automatic drafting systems (Cal Comp, Gerber, and so on)  which allow
a mechanical drawing  to be entered into a computer  and to be edited
word for  word and line for line.  Such systems are indeed an advance
over manual drafting,   however, the  research work we are  proposing
would be a further  advance directed at producing many 2-D mechanical
drawings from  the  human design  effort  required to  make  one  3-D

	Finally, there  are many  commercially available  engineering
programs   that   generate   mechanical   drawings   for   particular
applications.   For example,    the Control  Data Corporation  has  a
system that  does structural steel detailing  which produces graphics
in   accord  with  the  drawing  standards   of  the  American  Steel
Association.   Such special  purpose drawing  programs require  input
decks  specifying the exact  shape, dimensions  and location  of each
steel beam. The input decks are prepared off line,  largely by  hand.
A three-dimensional  design  program,   such as  the  one we  propose
creating,  would  allow interactive design and specification of steel
structures and  would  allow easy  interfacing  (in effect,    FORMAT
statements)  for creating  particular  data required  by an  existing
program.   Therefore,  the relation of a  3-D design program to a 3-D
drafting program is  simply sequential,   the one would generate  the
input of the other.

The computer  facilities  at  the  Stanford  Artificial  Intelligence
Laboratory include the following:          

Central Processors:  Digital Equipment Corporation PDP-10 and PDP-6

Primary Store:       65K words of 1.7 microsecond DEC Core
	             65K words of 1 microsecond Ampex Core
                     131K words of 1.6 microsecond Ampex Core

Swapping Store:      Librascope disk (5 million words, 22 million
                     bits/second transfer rate)

File Store:          IBM 3330 disc file, 6 spindles (leased)

Peripherals:         4 DECtape drives, 2 mag tape drives (7 Chan. IBM),
	             line printer, Calcomp plotter, Xerox Graphics

    Processor:	     BBN IMP (Honeywell DDP-516) connected to the
		     ARPA network.

Terminals:           58 TV displays, 6 III displays, 3 IMLAC displays,
	             1 ARDS display, 15 Teletype terminals,
		     4 Texas Instrument terminals

Special  Equipment:  Audio  input  and  output  systems, hand-eye
                     equipment (4 TV cameras, 3 arms), remote-
                     controlled cart

The  bulk of  this  equipment  has  been purchased  through  contract
research   supported  by the  Advanced Research Projects Agency, with     
some additional funds provided by the National Science Foundation and    
the National Institutes of Mental  Health.     These  facilities  are
generally adequate, but lack precision display  terminals of the sort
needed  to support  this project.  Consequently,  two  such terminals
have been budgeted in this proposal.

5A.  References

1)  Newman,  W.M.  and   Sproull, R.F.,   "Principals of Interactive 
    Computer Graphics", McGraw-Hill Book Company, New York, 1973.


		------------    ------------    ----------      ------------

NAME		J. McCarthy	B. Baumgart	R. Floyd	          

SIGNATURE	_____________	_____________	_____________	_____________

TITLE		Professor,	Research	Chairman,	         
		Computer 	Associate	Computer	
		Science Dept.	A.I. Lab.	Science Dept.	

TELEPHONE NO.	(415) 321-2300	(415) 321-2300	(415) 321-2300	(415) 321-2300
		Ext. 4430	Ext. 3824	Ext. 2273	Ext. 2883

		Home: 321-7580	Home: 378-6038	Home: 493-5195	






	McCarthy, John,				       $     0 	       $     0 
	Principal Investigator

	Baumgart, Bruce G.,			        13,200		13,200
	Research Associate

	Mock, John S.,					 9,000		 9,000
	Research Programmer

	________,					 5,070		 5,304
	Student Research Ass't.,
	50% Acad. Yr., 100% Summer

	Baur, Q.,					 1,834		 1,834
	Secretary, 20%

	Reserve For Salary Increases			 1,601		 3,316
	@ 5.5% per year
                                                       _______         _______
  TOTAL SALARIES				       $30,705         $32,654


	1-1-74 to 8-31-74 @ 17.0%			 3,480
	9-1-74 to 8-31-75 @ 18.3%			 1,873		 3,984
	9-1-75 thereafter @ 19.3%			    	 	 2,101
						       _______         _______
							$5,353		$6,085


		Local		150
		East Coast	450
				---			  $600		  $600


	(2) System Concepts Delta 1
	    Display Terminals or equivalent	       $75,000		     0

V. EQUIPMENT RENTAL (IBM DISK)				$7,500		$7,500


	A. Telephone Service	480
	B. Office supplies	600
				---			$1,080		$1,080


	2 Papers @ 500ea				$1,000		$1,000


	(Items I thru VII less IV)		       $46,238         $48,919


	On Campus - 47% of NTDC			       $21,732	       $22,992


	(Items IV+VIII+IX)			      $142,970	       $71,911
						      --------         -------
						      --------         -------


BORN:	September 4, 1927 in Boston, Massachusetts


	B.S., (Mathematics) California Institute of Technology, 1948.

	Ph.D. (Mathematics) Princeton University, 1951.


	American Mathematical Society

	Association for Computing Machinery

	Sigma Xi

	Sloan Fellow in Physical Science, 1957-59

	ACM National Lecturer, 1961



	Proctor Fellow, Princeton University, 1950-51.

	Higgins Research Instructor in Mathematics,
	  Princeton University, 1951,53.

	Acting Assistant Professor of Mathematics,
	  Stanford University, Sept. 1953 - Jan. 1955.

	Assistant Professor of Mathematics, Dartmouth
	  College, Feb. 1955 - June 1958.

	Assistant Professor of Communication Science,
	  M.I.T., 1958 - 196l.

	Associate Professor of Communication Science,
	  M.I.T., 1961 - 1962.

	Professor of Computer Science
	  Stanford University, 1962 - present


	With Marvin Minsky organized and directed the Artificial
	  Intelligence Project at M.I.T.

	Organized and directs Stanford Artificial Intelligence

	Developed the LISP programming system for computing with
	  symbolic expressions, participated in the development
	  of the ALGOL 58 and the ALGOL 60 languages.

	Present scientific work is in the fields of Artificial
	  Intelligence, Computation with Symbolic Expressions,
	  Mathematical Theory of Computation, Time-Sharing
	  computer systems.



BORN:	August 7, 1946 in Chicago, Illinois


	B.A. (Applied Math - Cum Laude) Harvard University, 1968.


	Research Assistant, Harvard University, Physics Department,
	  1965 - 1968.

	Research Programmer, Stanford Artificial Intelligence
	  Laboratory, 1968 - 1972.

	Research Assistant, Stanford University, Computer Science
	  Department, Artificial Intelligence Laboratory, 1972 - present.

JOHN McCARTHY					                               

	1.  "Projection Operators and Partial Differential 
		Equations", Ph.d. Thesis, Princeton University, 

	2.  "A Method for the Calculation of Limit Cycles by
		Successive Approximation" in Contributions
		to the Theory of Nonlinear Oscillations II,
		Annals of Mathematics Study No. 29,
		Princeton University, 1952, pp. 75-79.

	3.  "An Everywhere Continuous Nowhere Differentiable
		Function", American Mathematical Monthly,
		December 1953, p. 709.

	4.  "A Nuclear Reactor for Rockets", Jet Propulsion Lab,
		January 1954.

	5.  "The Inversion of Functions Defined by Turing
		Machines", in Automata Studies, Annals of
		Mathematics Study No. 34., Princeton University
		1956, pp. 177-181.

	6.  Coeditor with Dr. Claude E. Shannon of Automata
		Studies, Annals of Mathematical Study No. 34,
		Princeton University, 1956.

	7.  "Recursive Functions of Symbolic Expressions and
		their Computation by Machine", Comm. ACM,
		April 1960.

	8.  "Programs with Common Sense", Proc. Teddington Conf.
		on Mechanization of Thought Processes", H.M.
		Stationary Office, 1960.

	9.  (with 12 others) "ALGOL 60", Comm. ACM, May 1960
		and Jan. 1963, and Numerische Mathematik,
		March 1960.

       10.  "A Basis for Mathematical Theory of Computation",
		Proc. Western Joint Computer Conf., May 1961,
		pp. 225-238, and in Braffort and Hirschberg (eds.)
		Computer Programming and Formal Systems, North-
		Holland, Amsterdam, 1963.

       11.  "Time-Sharing Computer Systems" in Management and the
		Computer of the Future (Greenberger, ed.), MIT
		Press, 1962.

       12.  (with Abrahams, Edward, Hart, and Levin) LISP 1.5
		Programmers Manual, MIT Press, 1962.

       13.  "Computer Programs for Checking Mathematical Proofs",
		Amer. Math. Soc. Proc. Symposia in Pure Math.,
		Vol. 5, 1962.

       14.  (with Boilen, Fredkin, and Licklider) "A Time-Sharing
		Debugging System for a Small Computer", Proc.
		AFIPS 1963 Spring Joint Computer Conf., Spartan,
		Detroit, 1963.

       15.  (with F. Corbato and M. Daggett) "The Linking Segment
		Subprogram Language and Linking Loader 
		Programming Languages", Comm. ACM, July 1963.

       16.  "Towards a Mathematical Theory of Computation", Proc.
		IFIP Congress 62, North-Holland, Amsterdam, 1963.

       17.  "Problems in the Theory of Computation", Proc. IFIP
		Congress 65, 1965.

       18.  "Time-Sharing Computer Systems" in Conversational
		Computers (W. Orr, ed.), Wiley, 1966.

       19.  "Information", Scientific American, Sept. 1966.

       20.  "A Formal Description of a Subset of Algol", pp. l-12
		of Formal Language Description Languages for
		Computer Programming, T.B. Steel, Jr. (editor),
		North-Holland Publishing Co., Amsterdam, 1966.

       21.  (with D. Brian, G. Feldman, and J. Allen) "THOR - A
		Display Based Time-Sharing System", AFIPS Conf.
		Proc., Vol. 30 (FJCC), Thompson, Washington, D.C.,

       22.  "Computer Control of a Hand and Eye", Proc. Third
		All-Union Conference on Automatic Control
		(Technical Cybernetics), Nauka, Moscow, Russia,

       23.  (with J. Painter) "Correctness of a Compiler for
		Arithmetic Expressions", in Amer. Math. Soc.
		Proceedings of Symposia in Applied Mathematics,
		Mathematical Aspects of Computer Science, New
		York, 1967.

       24.  "Programs with Common Sense", in Semantic Information
		Processing (M. Minsky, ed.), MIT Press, 1968.

       25.  (with Earnest, Reddy, and Vicens) "A Computer with
		Hands, Eyes and Ears", Proc. AFIPS Conf., 1968

       26.  (with P. Hayes) "Some Philosophical Problems from
		the Standpoint of Artificial Intelligence",
		in Machine Intelligence 4 (D. Michie, ed.),
		American Elsevier, New York, 1969.

       27.  (with Z. Manna and A. Pneuli) "Formalization of
		Properties of Recursively Defined Functions",
		Proc. ACM Symposium on Computing Theory, May 1969.
		Also appeared in the Journal of the ACM, July 1970.

       28.  (with Z. Manna) "Properties of Programs and Partial
		Function Logic", in Machine Intelligence 5,
		Edinburgh University Press, 1970.



	1.  "GEOMED -- A Geometric Editor", Stanford Artificial
		Intelligence Laboratory Operating Note,
		No. SAILON-68, May 1972.

   	2.  "Winged Edge Polyhedron Representation", Stanford
		Artificial Intelligence Laboratory Memo No. AIM-179,
		October 1972.

	3.  "Image Contouring and Comparing", Stanford Artificial
		Intelligence Laboratory Memo No. AIM-199, June 1973.