Software Preservation Group of the Computer History Museum

Prolog programs from the Mecho/Press project

Introduction

In November 2022, Alan Bundy donated two boxes of Prolog programs listings as well as three sets of digital files to the Computer History Museum; they are CHM Lot #2023.0033. This is an informal catalog based on the original physical packaging (notebooks and binders) and ordered roughly chronologically based on their contents. The two older sets of digital files (mecho/ and prolog_utilities/) have been grouped with related entries in catalog. A final grouping contains a snapshot of the PRESS and Learning PRESS programs that was distributed in the mid 1980s.

Bundy was the head of the Mathematical Reasoning Group within the Department of Artificial Intelligence at the Unversity of Edinburgh. He and his group developed a series of systems, including MECHO (for solving mechanics problems stated in English), PRESS (for solving equations and doing other kinds of algebraic manipulation on transcendental expressions), IMPRESS (for reasoning about the PRESS methods, i.e., at the meta-level), and Learning PRESS (for learning the PRESS equation solving methods from examples using a form of inductive generalisation). See References for more information about these programs. See [Fateman et al. 1988] for a discussion of PRESS's artificial intelligence approach versus computer algebra systems of the time.

Unless otherwise specified, the programs are written for DECsystem 10 Prolog. [PereiraEtAl1978]

Mechanics and Equation Solving programs

(Originally: Orange line printer binder: "Current".)

These programs are written in the original Marseille Prolog, as ported to the DEC 10 by David H. D. Warren -- see Warren's "Epilog[400,400]" document below. The input language is still via the original Marseille "SVI" supervisor.

Are these programs by Welham the original version of PRESS, as described in [Bundy and Welham 1981]?

Contents:

Equation solving program

(Originally: Orange line printer binder: "Alan Bundy's Lineprinter Output 1 (Office)".)

These programs are also written in Marseille Prolog, as ported to the DEC 10 by David H. D. Warren. The input language is still via the original Marseille "SVI" supervisor.

Again, are these programs by Welham the original PRESS?

Contents:

Old SVW Mecho program

This program is apparently written in Marseille Prolog as ported to the DEC 10 by David H. D. Warren, but using his "SVW" supervisor, which introduced the Edinburgh syntax that became widespread after its use in DECsystem 10 Prolog [PereiraEtAl1978]. They use the "no lower case" option, in which variables begin with an underscore (_), which is printed as a left arrow (←) in these files.

Alan Bundy. Listing of SVWMCH.MAS, 20 April 1977. From loose listings. svwmch_mas-1977_04_20.pdf

Contents:

Mecho problems

This program is written with the Edinburgh syntax, but each file begins with

:- 'NOLC'.

and the variables begin with an actual underscore (_). So perhaps the program was originally written for Marseille Prolog with the "SVW" supervisor, and then adapted to DECsystem 10 Prolog [PereiraEtAl1978]

Alan Bundy. Listing of PRB.MAS, 28 July 1978 From loose listings. prb_mas_1978_07_28.pdf

Contents:

More Mecho problems

(Originally: Manilla folder: "Current Programs. Alan Bundy.")

Two of these files (both called RUBISH) appear to be using the "SVW" supervisor for Marseille Prolog.

Alan Bundy. Various early programs from Mecho? 1976-1978. current_programs_1978

PRESS

(Originally: Blue line printer binder: "PRESS".)

"PRESS (PRolog Equation Solving System) is a computer program for solving equations and doing other kinds of algebraic manipulation on transcendental expressions, i.e. expressions involving polynomial, trigonometric, exponential and logarithmic functions. It is based on ideas originally expounded by [Bundy 1975] and [Bundy 1979].

The program was largely written during 1975 by Bob Welham in the language Prolog (see [Pereira et al. 1978] ). It consists of approximately 250 clauses and occupies 13K, 36 bit, Dec10 words. The Prolog system itself occupies a further 20K words.

The main use of PRESS has been as the algebraic package of the MECHO program (see [Bundy et al. 1979] ). It has been extended from its original purely equation solving role to handle other problems which have arisen in the MECHO project, namely inequality handling and the use of semantic information. Suprisingly, some of the techniques originally developed for equation solving have also found application in inequality handling."

[Bundy and Welham 1981]

PRESS source code and test runs; many are very faint. Not yet scanned (need wide scanner). Circa 1980.

Various PRESS and Prolog documents

Originally: Manilla folder: "Prolog/PRESS specials".)

Various documents concerning PRESS and Prolog. Circa 1979. press_specials_1979.pdf

Contents:

Related digital files:

Various PRESS documents

(Originally: Red A4 binder: "PRESS ~ various: Matcher, Integrator, Scoap".)

Informal history of PRESS from mail messages sent about innovations, Trace, SPRWT, old versions of various things, Powerful Matcher, and Neil Davey's Identity Assimilator. Circa 1981. press_various_1981.pdf

EMAS PRESS

(Originally: Red A4 binder: "EMAS".)

The Edinburgh Multi Access System (EMAS) was a timesharing system developed at the University of Edinburgh (originally for the ICL 4/75 and later ported to the ICL 2900 series). In 1980, Luís Damas wrote a Prolog in the IMP programing language for EMAS.

Mecho Prolog programs, circa 1981.

So this series of programs were probably first developed on Edinburgh DEC-10 Prolog, then moved to EMAS Prolog? The listings were printed with a very narrow left margin, causing the scanner to miss the first character of some lines.

Project-wide information, documentation, and utility programs

(Originally: Blue A4 binder: "Mecho/Press Projects : Group Facilities".)

Mathematical Reasoning Group. Project-wide information, documentation, and utility programs. 1981. mecho_press_projects_1981.pdf

Contents:

Utilities for Mecho project

(Originally: Black A4 binder: "Mecho Project Utilities".)

Lawrence Byrd and Richard O'Keefe? Utilities for Mecho project. 1981. mecho_project_utilities_1981

Contents:

MBASE - Mecho Support System

(Originally: Blue A4 binder "MBASE - Mecho: low level".)

Lawrence Byrd? MBASE - Mecho Support System. 1981. mbase_1981.pdf

Contents:

Moments of inertia problems

(Originally: Black A4 binder "Moments of Inertia".)

Alan Bundy. Prolog programs for solving moments of inertia problems. Framework, individual problem files, and solutions (traces). 1981. moments_of_inertia_1981

I believe this a stand-alone framework, not dependent on Mecho or PRESS.

Contents:

Related digital files:

Roller Coaster problems

(Originally: Blue A4 binder: "Roller Coaster Problems".)

Alan Bundy. Prolog programs for solving Roller Coaster problems. 1981. roller_coaster_problems_1981.pdf

I believe this a stand-alone framework, not dependent on Mecho or PRESS.

See [Bundy 1978].

Contents:

Related digital files:

100 Mecho problems

(Originally: Black A4 binder: "100 Problems".)

Alan Bundy, editor and main author. Collection of problems for Mecho. Circa 1979-1981. 100_problems_1981.pdf

See [Luger Bundy 1977] and [Bundy 1978] .

Contents:

Related digital files:

Various teaching examples

(Originally: Black legal-size binder: "teach".)

Various programs, 1979-1981. teach_1981.pdf

Contents:

Interval package for PRESS

(Originally: Blue A4 binder: "Intervals".)

Alan Bundy. An interval package for PRESS, circa 1981. intervals_1981.pdf

Includes two versions of the report: Alan Bundy. A Generalized Interval Package and its Use for Semantic Checking. DAI Working Paper No. 86, 8 July 1981.

See [Bundy 1984] .

Related digital files:

Extension to PRESS for solving cubic equations

(Originally: Blue A4 binder: "Cubic".)

Alan Bundy. Listings and notes on extension to PRESS for solving cubic equations. cubic_1981.pdf

Contents include Specialize, Collection method, Borning matcher, Cardan method, and notes and letters. Notes include:

Related digital files:

Natural language parser

(Originally: Black A4 binder: "Rob's Parser".)

Rob Milne. Natural language parser. Circa 1981. rob_milne_parser_1981.pdf

See [Milne 1980]. For more on Milne, see:

A. Bundy and S. Wilson, editors. Rob Milne: A Tribute to a Pioneering AI Scientist, Entrepreneur and Mountaineer , IOS Press. 167 pages. (Frontiers in Artificial Intelligence and Applications; vol. 139).

Semantic Interpreter

(Originally: Blue A4 binder: "INTERP - semantic interpreter".)

Chris Mellish. Semantic Interpreter. 1981. semantic_interpreter_1981.pdf

Was this part of Mellish's PhD thesis: [Mellish 1981]? See also [Bundy et al. 1982].

Contents

IMPRESS Theorem Prover

(Originally: Blue A4 binder: "IMPRESS".)

IMPRESS was written by Bundy and Leon Sterling. It performed reasoning about the PRESS methods, i.e., at the meta-level. See [Bundy and Sterling 1981] and [Bundy and Sterling 1988].

Alan Bundy and Leon Sterling. IMPRESS Theorem Prover. September 1982. impress_1982.pdf

This binder also includes:

Related digital files:

PRESS source code

(Originally: Red A4 binder: "PRESS".)

Bernard Silver, Alan Bundy, Leon Sterling? PRESS source code. Circa 1982. press_1982.pdf

Contents

Learning PRESS source code

(Originally: Red A4 binder: "Learning PRESS".)

The Learning PRESS system was written by Bundy's PhD student, Bernard Silver. The idea was to learn the PRESS equation solving methods from examples using a form of inductive generalisation. See [Silver 1983] and [Silver 1984].

Bernard Silver. Learning PRESS source code. 1984. learning_press_1984.pdf

Contents

Ecological Modelling Front End Project

(Originally: Blue line printer binder: "ECO Program".)

ECO source code. Ecological Modelling Front End Project. Not yet scanned (need wide scanner). June 1984.

Is it a precursor to [Uschold et al 1984]?

Related digital files:

eco.mss in digital_files/mecho/mecho-ecology.zip explains:
"Two years ago, when Robert [Muetzelfeldt?] and I first discussed the Ecological Modelling Front End Project, I wrote a toy program, I called ECO, just to familiarize myself with the problem. This is the 0th order program mentioned in the grant. Now it has taken on a new lease of life as a practice Prolog program for incoming researchers, so I thought I had better write some documentation. This is it."

Public PRESS and Learning PRESS source code

A version of PRESS and Bernard Silver's Learning PRESS was released to the public in 1985, adapted to run on Quintus Prolog (see [Sterling et al. 1989]); Alan Bundy provided a copy of this code. In 2016, Christopher J. Sangwin of the University of Edinburgh adapted this code to run on SWI Prolog and released it on a gthub repository. In addition, in his book The Art of Prolog with Ehud Shapiro, Leon Sterling included a simplified version of the PRESS equation solver in Chapter 23.

References

[Bundy 1974]
A. Bundy. A Treatise on Elementary Equation Solving. Internal Memo, Department of Artificial Intelligence, Edinburgh, 1974. See also [Bundy 1979].
[Bundy 1975]
A. Bundy. Analysing Mathematical Proofs (or Reading between the Lines). in Proceedings of the 4th international joint conference on Artificial Intelligence, 1975. Edinburgh Research Explorer
[Bundy et al. 1975]
A. Bundy, G. Luger, and M. Stone. A program to solve mechanics problems stated in English. DAI Working paper No. 8, University of Edinburgh, May 1975. Edinburgh Research Explorer
[Bundy 1976]
A. Bundy. The role inference in the solving of mechanics problems. Department of Artificial Intelligence Working Paper No. 16, University of Edinburgh, 1976. Edinburgh Research Explorer
[Bundy et al. 1976]
A. Bundy, G. Luger, M. Stone, and R. Welham. 1976. MECHO: Year One. In Proceedings of the 2nd Summer Conference on Artificial Intelligence and Simulation of Behaviour (AISB'76). IOS Press, NLD, 94–103. ACM Digital Library
[Luger Bundy 1977]
G. Luger and A. Bundy. Representing Semantic Information In Pulley Problems. Proceedings of the 5th International Joint Conference on Artificial Intelligence (IJCAI '77). Cambridge, MA. Edinburgh Research Explorer
[Bundy 1978]
A. Bundy. Will It Reach the Top? Prediction in the Mechanics World. Artificial Intelligence. 10, 2, Apr 1978. Edinburgh Research Explorer
[Bundy et al. 1978]
A. Bundy, G. Luger, C. Mellish, M. Palmer. Knowledge about Knowledge: Making Decisions in Mechanics Problem Solving. Proceedings of the 4th European Conference on Artificial Intelligence, 1978. Edinburgh Research Explorer
[Pereira et al. 1978]
Luís Moniz Pereira, Fernando C. N. Pereira, and David H. D. Warren. User's Guide to DECsystem-10 Prolog. Technical Report 03/13/5570, Laboratório Nacional De Engenharia Civil, Lisbon, September-October, 1978. Provisional version. Interpreter version 1.32 and compiler version 1.11. PDF at unl.pt
[Bundy 1979]
A. Bundy. A Treatise on Elementary Equation Solving. Working Paper No. 51, Department of Artificial Intelligence, Edinburgh, 44 pages, 1979. Edinburgh Research Explorer
[Bundy et al. 1979a]
A. Bundy, L. Byrd, G. Luger, C. Mellish, R. Milne, M. Palmer. MECHO: A program to solve mechanics problems, Department of Artificial Intelligence, University of Edinburgh, 1979.
[Bundy et al. 1979b]
A. Bundy, L. Byrd, G. Luger, C. Mellish, and M. Palmer. Solving Mechanics Problems Using Meta-Level Inference. Proceedings of the 6th international joint conference on Artificial Intelligence - IJCAI '79. Edinburgh Research Explorer
[Milne 1980]
Rob Milne. Parsing Against Lexical Ambiguity. In COLING 1980 Volume 1: The 8th International Conference on Computational Linguistics. ACL Anthology
[Borning and Bundy 1981]
A. Borning and A. Bundy. Using Matching in Algebraic Equation SolvingProceedings of IJCAI-7, 1981. Edinburgh Research Explorer
[Bundy and Sterling 1981]
A. Bundy and L. Sterling. Meta-level inference in Algebra. Department of Intelligence Research Paper No. 164, 1981. Edinburgh Research Explorer
[Bundy and Welham 1981]
A. Bundy and B. Welham. Using meta-level inference for selective application of multiple rewrite rule sets in algebraic manipulation Artificial Intelligence. 16, 2, pages 189-212, 1981. Science Direct and DAI Research Paper No. 121. Edinburgh Research Explorer
[Mellish 1981]
C. S. Mellish. Coping with uncertainty: Noun phrase interpretation and early semantic analysis. PhD thesis, Department of Artificial Intelligence, University of Edinburgh, 1981.
[Bundy et al. 1982]
Alan Bundy, Lawrence Byrd, and Chris Mellish. Special Purpose, But Domain-Independent, Inference Mechanisms. Proceedings to the 5th European Conference on Artificial Intelligence, ECAI 82, Paris, 1982. Department of Artificial Intelligence Research Paper No. 179, 1982. Edinburgh Research Explorer
[Silver 1983]
Bernard Silver. Learning Equation Solving Methods From Examples. IJCAI 1983, pages 429-431. PDF at ijcai.org
[Silver 1984]
Bernard Silver. Using meta-level inference to constrain search and to learn strategies in equation solving. PhD thesis, University of Edinburgh, 1984. Edinburgh Research Explorer
[Bundy 1984]
A. Bundy. A Generalized Interval Package and its Use for Semantic Checking. ACM Transactions on Mathematical Software, 10(4). ACM Digital Library
[Uschold et al. 1984]
M. Uschold, N. Harding, R. Muetzelfeldt, and A. Bundy. An Intelligent Front End for Ecological Modelling, in 0 'Shea, T. (ed), Advances in Artificial Intelligence, also in Proceedings ECAI-84 available from Dept. Artificial Intelligence, Edinburgh University as Research Paper 2.
[Bundy and Sterling 1988]
Alan Bundy and Leon Sterling. Meta Level Inference: Two Applications. Journal of Automated Reasoning4, 1988, pages 15-27. SpringerLink / Academia.edu
[Fateman et al. 1988]
Richard Fateman, Alan Bundy, Richard O'Keefe, and Leon Sterling. Commentary on: solving symbolic equations with PRESS. SIGSAM Bull. 22, 2 (April 1988), 27–40. ACM Digital Library
[Sterling et al. 1989]
Leon Sterling, Alan Bundy, Lawrence Byrd, Richard O’Keefe, Bernard Silver. Solving Symbolic Equations with PRESS. J . Symbolic Computation (1989) 7, 71-84. ScienceDirect (open access)
[Bundy 2010]
Alan Bundy. The Computer Modelling of Mathematical Reasoning. Digital edition, 201. PDF at www.inf.ed.ac.uk