AM is a program that discovers concepts in elementary mathematics and set theory.

AM has 2 inputs:

- A description of some concepts of set theory (in LISP form).
*E.g.*set union, intersection, the empty set. - Information on how to perform mathematics.
*E.g.*functions.

Given the above information AM *discovered*:

**Integers**- -- it is possible to count the elements of this set and this is an the image of this counting function -- the integers -- interesting set in its own right.
**Addition**- -- The union of two disjoint sets and their counting function.
**Multiplication**- -- Having discovered addition and multiplication as laborious set-theoretic operations more effective descriptions were supplied by hand.
**Prime Numbers**- -- factorisation of numbers and numbers with only one
factor were discovered.

**Golbach's Conjecture**- -- Even numbers can be written as the sum of 2
primes.
*E.g.*28 = 17 + 11. **Maximally Divisible Numbers**- -- numbers with as many factors as
possible. A number
*k*is maximally divisible is*k*has more factors than any integer less than*k*.*E.g.*12 has six divisors 1,2,3,4,6,12.

**How does AM work?**

AM employs many general-purpose AI techniques:

- A frame based representation of mathematical concepts.
- AM can create new concepts (slots) and fill in their values.

- Heuristic search employed
- 250 heuristics represent
*hints*about activities that might lead to interesting discoveries. - How to employ functions, create new concepts, generalisation
*etc.*

- 250 heuristics represent
- Hypothesis and test based search.
- Agenda control of discovery process.

dave@cs.cf.ac.uk