40 NIC 24934 Part of NIC 24980

STANFORD ARTIFICIAL INTELLIGENCE LABORATORY *" 1974 ARPA Project Summary Prepared for: ARPA IPTO Principal Investigators Meeting March 12-14, 1975 Prepared by: John McCarthy Department Stanford, California 94305

Formal Reasoning - John McCarthy, Richard Weyhrauch, et al

Using our LCF proof-checker, we have produced an axiomatizationof the PASCAL. This represents a major step toward using LCF as a practical program verification system.

Newey in his thesis used LCF to prove the partial correctness of the LISP 1.5 interpreter and began a project to prove the correctness of a LISP (called LCOMO). This compiler is actually more than a toy in that it is used in the LISP course here at Stanford. This thesis as a whole represented a kind of case study which demonstrated our ability to check the correctness large LISP programs.

Automatic Deduction - David Luckham, et al

A successful new automatic programming system accepts descriptions of library routines, " programming methods, and program specifications in a high level semantic definition language?. It returns programs written in a subset of ALGOL that satisfy the given specifications. Experimental applications include computing arithmetical functions and planning robot strategies.

Another system works with algorithms expressed in a higher-level language and automatically chooses an efficient representation for the data structure. It then produces a program that uses this representation. Representations considered include certain kinds of linked-lists, binary trees, and hash tables.

Program Understanding Systems - Cordell et al

The EXAMPLE program that infers recursive list-processing functions from example input- output pairs was completed during 1974. This system demonstrates the possibility of using fairly natural methods uf program specification.

The PUP system was our first to show a rudimentary "program understanding" behavior. By following a simple chain of reasoning, it can synthesize a few short programs, such as interchange of elements, three-element sort, and integer square root.

A system was completed which, given a program expressed in terms of high-level information structures such as sets, ordered sets, and relations, automatically chooses efficient implementation- " level representations and produces an equivalent program that uses these representations.

Green, A very comprehensive dialog was completed which exhibits a knowledge base of rules for the » synthesis of sorting programs. Although not all the necessary synthesis rules have been codified, it is reasonably dear how to do so. This work is aimed at the deepest understanding of a simple program synthesis yet attempted.

Work was completed on a pilot system that interactively synthesizes what is essentially Winston's concept formation program. This system points toward the feasibility of systems for writing long, domain-specific programs. Natural Language Understanding - Terry Winograd, et al

A system was completed that links natural language understanding, inference, and generation of natural language output. This is the first such system with a strong theoretical basis, namely conceptual dependency.

Work was begun on a knowledge representation language for natural language systems which combines the advantages of procedural and declarative formalisms. It will be developed over the next three years as the basis for several understander projects.

Hand-eye Research - Tom Binford, Lynn Quam, et al

We have used near and far field stereo vision and motion parallax to locate objects spatially and to automatically generate contour maps.

We completed design of a manipulation system AL, which combines a control language with a planning system to aid in extended tasks such as assembly. AL has new features such as: ALGOL-like control; interrupts and control monitors; simultaneous coordinted motion of two or more arms; and a planning system. The implementation is well underway. The planning system includes a subsystem for keeping track of the locus of parts, translating semantic constraints into " mathematical constraints.

We completed assembly of a hinge using two arms in coordinated non-simultaneous motion. We have carried out two subassemblies of a two stroke gasoline engine.

We have completed some modules of a visual system to be used for control of assembly. The system has facilities fqr, manual generation of 2D symbolic models, matching of curves in an image with those of the model. The system has the facility for using 3D models, as in CAD, predicting symbolic 2D models from 3D.

We have also completed recognition of complex objects such as a doll and a toy horse using the spine-cross section representation. The system forms its own models, and matches in a way suitable for a large visual memory, by making summary descriptions which it uses to find a subclass of models similar to the test object.

Training

During the last year, eleven members of our staff published Ph.D. dissertations and another 32 graduate students received direct support. " Part of : ' IC 249^0

Automatic Programming 1974 ARPA Project Summary

Prepared for. ARPA IPTO Principal Investigators Meeting March 12-14, 1 975 Cheatham, Jr. PreDaredP by-V Thomas E . Aiken Computation Laboratory, Room 17, Harvard University 33 Oxford Street, Cambridge, MA 02138 falls into three The ARPA supported work at Harvard during the past year continued development of the ECL System, automatic programming, catenories: work in these and supportive work in computer networking. We discuss the three areas in turn. PEVELHPMENT CP THE ECL SYSTEM , ~~" b>oo7anittTng~systen. has been operational now for over three years TTFTCLl of our work ard is providing the basis, through various extensions, for much in Automatic Programming. and its the past year we have had a major cleanup of the system The cleanup involved some language changes as well as documentation. making the modifying a number of things to gain efficiency. These Include "expandable dynamically, introducing a powerful CASE statement, stacks procedure in-line), Intrcducina parallel declarations (to permit expanding a improvinr context editor and adding several new features to it, improving ""tie a linking and compiler interface, reworking the I/O package, providing tho compiled modules, and loadlno prooram to facilitate handling separating 1 1 the changes were all several minor language modifications. By late fa complete and a new ECL Programming Manual was produceo and distributed. being at a The system itself has now been distributed and is maintained number of installations. User Pefined_ M.ode Behavj or . . , T_7ir"deTi ned mode behavior facility (basically, giving a user control The including selection of a aspects of dealing with a data structure, of all parts printing, and component, assignment, generation of an object from its conversion) has been modified and extended, on the basis of experience with years ago. Wl th the the first version which became available some two usinr has been in making ELL a present facility we feel that a major advance made truly extendable language. this Is has continued on developing a formal model for ECL. While WoTk has been made. In at present, complete, considerable progress not in order we a major revision in the structure of the model particular, made previous a "real" implementation more faithfully than did the that it model compiled The parts which have been developed have been successfully version will be complete by this and executed and it is our expectation that the model summer . Tvery^powerful and efficient hash coding facility has been added to the unique entry We have Any form can be hashed leading to a table svsten bookkeeping facilities for cxnloi ted this to provide general but efficient maintaining data enabling various kinds of program Catherine and automatic transformations and manipulations required in the various programming projects. SPECL (Systems Programming ECL) has continued and The development of fall. the SPECL compiler is now anticipated ror this completion of and c pECL a restricted version of ECL plus a highly modular r«L lanv Is code for a machine with a tlble ?r yen compiler which can compile efficient minimal run-time environment. Part of rIC S'i9BP

. . _. AUTOMATIC PPsCGPvAMMING developing . r anda have a of different projects tools ;-7T,rrr^tlw number var.ous aspects of concerned in one way or another with automating techr.nu-s following. programing. The major efforts underway ere the S " system for the synthesis and verification of -YNVt^YNVER is ■ a semi-automatic in -concurrent s. During the past year an solutfons to prSbVems .control as high level description of these prob ems, using ECL assertion lanauace for zer programmed and undcrlyinc language, has been developed and the synthesi the targetted for late tested. The verifier has been designed; completion is spring. C whose rf, we refer to a collection of techniques and facilities ° c i osure" aoout transform some program, given a collection of assertions purpose is to During the past year It Ft, into an equivalent but highly efficient version. developing efficient closure mechanisms which operate ha^ become clear that Thus, our automatically simply beyond the present state-of-the-art. is which will very much have turned and we are now- desi gni ng a mechanism Efforts It is hoped that an the user in ouiding the closure mechanism. involve along by overall, design will be finished and implementation well summer. ££££ £ experl mentati on with various Property Hr P>ototype system which perrrl ts. interpretations was completed last summer. Since that time s^-ts and weak property sets tion has to the problem of constructing well founded atten turned appear to be a number of general for Car ous applications. At this time there specific models for constructing well founded- property sets and nc "J well into the mpl ementat on r : s. By summer we expect to be . initially . have will of a g-eneral property extraction mechanism , which seyera to analysis property sets Including those, relevant the .^inequalities ng ) , dead variables, common (rebui red to eliminate subscript bounds check! sub-expressions, and so on. Structured Programming, System System currently refers to a col ect. on of of a complex devised to aid a user in the top down. construct lon Program tools At the present time we have proposed a by modular zat l on and refinement. several. tools and actually constructed prototype versions of number of these algorithms, characterized by We have con" dercd the implementation of several requTrfnn Cory careful choice of data representations to achieve efficiency. provisional choices, trying The implementation of these is usually by making back to make more 1 1 ghtened chol ces based on ana y [he line en a sharpened experimentation, and so on. This process has led to -nd/er the th kinds of tools which. would aid and/or automate Process system which could acutally be used We expect to have the tools melded into a to implement algorithms by summer.

first is have been pursued in computer networking. The I£L^^ Tsitl^Trli resources aiding the process of rhpthe l]Se of the network as a collection of USW).j We completed the development. (i.e.,M « asn^ a= nonnon-automated. automatec proaram * last£ summer Dyb 11 4- ~f rnmn i P t-p rri_ppL systemi_cm for the PDP-11/^o c pvp 1 opment of a complete sya ditcc 11 CMU, CCA, MIT, and Harvard for data storage BLIS -11 employinc computers at task at simulation, and so on, using each computer for the. compl inn, 11/45 accomplished in The development and debugging was °h t was best. ARPANET had an excel 1 ent exceUent Um.e, suggesting that this use of the eff cC P graphics a2tfvUy has involved the development of a PDP-11 Throther 0 over a facl'll-ty i as a dua 1 processor .PDP- 11 interfaced to the PDP- hardware and software are st. l being on baud line At the present. time the of of complete we anticipate investigating various methods 'When sharing between the two ; n interchanoe faction interchange, and mac hi res .

"

'