Personal tools
You are here: Home Projects Prolog University of Edinburgh Source code Prolog programs donated by Alan Bundy
Document Actions

Prolog programs from the Mecho/Press project

by Paul McJones last modified 2023-05-29 08:54

Programs from Alan Bundy's Mathematical Reasoning Group within the Department of Artificial Intelligence at the Unversity of Edinburgh, 1975-1985.


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]?


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?


  • Bob Welham. Equation solving-program. Alan Bundy's listing -- and his examples? Files: Equation solving, Legal Moves, Examples 1, 2, and 3. November 1975. equation_solving_1975_11_14.pdf
  • Alan Bundy. Prolog Additions. PLADD. September 1975. pladd_1975_09_25.pdf

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


  • SVMMCH.CMD - List of these files
  • USVW.OLD - Utilities for SVW Prolog, January 1976
  • XTRACT.OLD - Mechanics equation extraction routines, 8/9/76
  • MOTION.OLD - Motion inference rules, 29/12/76
  • SCHEMA.OLD - Schemata (and cues), 28/2/77
  • FUNCC.OLD - Function call predicate call, February 1977
  • CNVERT.OLD - Mechanics unit conversion routines, 8/9/76
  • II - A single query, :- II.
  • OLDXRT - Frames and GO, old bits of XTRACT

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


  • PRB.CMD - List of these files
  • BLOC.PRB - Problem 3, Stage 4 / de Kleer's Sliding Block Problem / Alan Bundy September 1976
  • PULLEY.PRB - G. Luger November 1977 Problem 1
  • DOME.PRB - Problem 5, Stage 4 / de Kleer's Great Dome Problem / Alan Bundy 30 December 1976
  • LOOP.PRB - Problem 4, Stage 4 / de Kleer's Loop the Loop Problem / Alan Bundy 30 December 1976
  • TRAIN.PRB - Train Problem / Alan Bundy April 1978
  • CAR.PRB - Simple Car Problem / Alan Bundy April 1978
  • LEVER.PRB - First Lever Problem / Alan Bundy April 1978

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


(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


  • PRESS cross reference
  • O'Keefe. [File formatting conventions.]
  • Byrd. Utility procedures. [Mentions the old USVW.PL.]

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


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

Listings of Mecho Prolog programs and documentation from the EMAS system, circa 1981. emas_1981.pdf

The contents include some documentation for the EMAS system itself, a 7-page document "EMAS Prolog for bluffers", and listings of a number of Prolog programs:

  • Alan Bundy. Evan's Geometric Analogy Program - Rational Reconstruction. October 26, 1979.
  • Alan Bundy. A sequence of theorem provers using a variety of approaches (SIMPLE, BOYER, HERUIS, SEMANT, MODEL, REWRIT, SKOLEM, UNIFY, etc.). Circa 1981.
  • Alan Bundy. Generation of random sentences from an ATN. 19 November 1979.
  • Alan Bundy. Planning???
  • Alan Bundy. LOGO type inference package. November 16, 1979.
  • Alan Bundy Rational Reconstruction of Winston Learning Program. 1 December 1980.

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


  • Group information files, including staff of Mathematical Reasoning Group
  • Path definitions
  • Program maintenance
  • Cross reference generation
  • Prolog documentation
  • Prolog bibliography
  • Special SCRIBE formats
  • Change directory command (documentation and source code (40 pages in all)
  • Prolog parser writtin Pascal. 29 July 1982.

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


  • UTIL.HLP, UTIL.CNG, UTIL.TXT: utilities by module, and alphabetically by name
  • bag document
  • writef document
  • UTIL document (Scribe source), old UTIL document

MBASE - Mecho Support System

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

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


  • Directory, loading and running, cross reference
  • Problem solver: top level, Marples algorithm, soughts/givens/intermediates, simple problem solving steps, generation of applicable formulae, loading formulae
  • Object level database
  • Inference engine
  • Meta level database
  • Utilities

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.


  • Directory, consult files, continuous measure systems, algebraic definitions of ideal objects, meta level knowledge, type hierarchy, inference rules for lengths and areas, general knowledge, formulae for masses, ...
  • MOFI problems 1-11; solutions
  • Various older code, etc.

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


  • Directory, consult files, top level, prediction, paths, inference ruiles for angles and inclinations, conservation of energy, parity switching, motion schemas, instant hack, meta level knowledge, save/restore shorthands, type hierarchy
  • Problems and solutions (threaded versions and original versions)
  • Notes and paper
    • Alan Bundy. Finding the Quadrant of Angles. Mecho note 48, 15 January 1979.
    • Alan Bundy. Will it Reach the Top? Prediction in th Mechanics World. Artificial Intelligence 10, 1978, pages 129-146.
  • Old problems. 1976.
  • Related code. 1977.

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


  • Springs, weight and strings (including one by Alan Borning)
  • Age problems
  • More problems: Barge, Bench, Ladder, Jill Larkin's problem, Pulley, Scaffold, Tower, etc.
  • Motion problems (including some by Chris Mellish)
  • Moment of inertia problems (compare with Moments of Inertia binder)
  • Thermo problems (by Wouter?)
  • Mecho problem areas (Forces, Rigid Body Equilibrium, Pulley, Constant acceleration, Relative motion, Projectile, Collision, Spring and energy, Work and power, Rob's 30 problems for parser

Related digital files:

Various teaching examples

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

Various programs, 1979-1981. teach_1981.pdf


  • Evan's Geometric Analogy Program - Rational Reconstruction, October 1979.
  • Rational Reconstruction of Winston Learning Program, Deecember 1980. Plus notes.
  • Alan Bundy. Unification procedure for first-order logic (with occurs check). July 1981.
  • Alan Bundy. Breadth first search theorem prover. June 1981.
  • Alan Bundy. Heuristic search theroem prover. June 1981.
  • Alan Bundy. A depth first theorem prover with vetting by use of interpretations and incorporating input restriction. June 1981.
  • Alan Bundy. A Simple depth first search rewrite rule system. July 1981.
  • Alan Bundy. Skolem Normal Form Procedure. March 1979.
  • Leon Sterling. A simple Boyer-Moore theorem prover. July 1981.
  • Alan. Bundy. Production Rule System for AI1. September 1981.
  • Peter Hammond (and Richard O'Keefe). Mycin (Prolog) - a Prolog rational reconstruction, 1980-1981.

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:

  • Alan Bundy. Specializing the General Cubic. Note 84, 11 May 1981.
  • Alan Bundy. Cardan's Method. Note 83, 8 May 1981.
  • Alan Bundy. Adapting the Borning Matcher to Handle the Cubic. Note 74, 15 December 1981.
  • Alan Bundy. Solving the General Cubic. Note 69, 12 September 1980.
  • Alan Borning to Alan Bundy. Email on solving the cubic using the trig collection rule. 24 February 1981.
  • Alan Borning. A Powerful Matcher for Algebraic Equation Solving. DAI Working Paper No. 67, May 1980.

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


  • Prolog code
  • Situation files
  • Various additional code files

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:

  • Alan Borning's Agenda-Based Expression Generator, including a copy of: Alan Borning. Conjecturing and Proving New Rewrite Rules in Press. Note 58, 3 December 1979.
  • Alan Borning's Backtracking-Based Generator. Undated.
  • Alan Borning? The use of Lemmas in Proving Theorems. January 13, 1983.

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, directory listing, clause counts, cross reference, junk
  • SIM
  • INEQ
  • Methods
  • Axioms
  • Packages
  • Misc

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


  • Help, cross reference
  • Top levels
  • Conjecture
  • Tables
  • Flags and I/O
  • Miscellaneous
  • Method Stuff
  • Utilities
  • Miscellaneous

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


[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
[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
[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 /
[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
« June 2023 »
Su Mo Tu We Th Fr Sa
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: