The HOMER System for Discovery in Number Theory

Download Report

Transcript The HOMER System for Discovery in Number Theory

The HOMER System for
Discovery in Number Theory
Simon Colton
Imperial College, London
Motivation

Newell and Simon:
– “Within 10 years (of 1957) a computer will discover
and prove an important mathematical theorem”

Alan Bundy:
– “His DReaM = Discovery and Reasoning in Maths”

Bob Kowalski:
– “It is more important to discover the most important
theorems than to prove unimportant ones”
An Overview of HOMER

Aim:
– To make conjectures in number theory

User supplies background knowledge:
– Number types: primes, squares, etc.
– Functions: tau, sigma, phi, etc.

HOMER makes conjectures about them
– Conjectures are meant to be interesting
– User is involved at certain stages
Otter, Maple, HR and the User
USER
OTTER
HOMER
MAPLE
Computer
Algebra System
First Order
Resolution Prover
HR
Automated Theory
Formation System
Roles of Individual Components

User: Provide Guidance
– Supply background information
– Verify/Falsify some conjectures produced

Maple: Generating Empirical Evidence
– Perform calculations

Otter: Increase Interestingness via Pruning
– Prove theorems from first principles

HR: Make Discoveries
– Invent concepts related to background
– Make conjectures relating concepts
Three Phases

Initialisation Phase
– User/Maple generate background info
• In a format suitable for HR

Discovery Cycle
– HR/Maple generate conjectures
• Using automated theory formation

Proving & Pruning Cycle
– User/Otter prove theorems
• HOMER discards any that Otter can prove
Initialisation Phase

User supplies:
– Maple code for concepts of interest
• Mathematicians don’t want to learn a language
– Integers to work with, e,g,. 1 – 250 & others

HOMER translates to HR’s input
– Calls Maple using the code and numbers
– Generates pairs of input/output
– Writes this in HR’s format
• Similar (in this case) to that for ILP systems
Example

Maple code:
isrefactorable_ := proc(num)
local output := false;
if (member(tau(num),divisors(num))=true) then output := true; fi;
output;
end:

HR input:
h01
isrefactorable_(n)
ascii:isrefactorable_(@n@)
isrefactorable_(1). isrefactorable_(2). isrefactorable_(8).
isrefactorable_(9). isrefactorable_(12). isrefactorable_(18).
Discovery Cycle:
1. Concept Formation

HR Forms concepts using production rules
– Restricted to 3 out of 10 in HOMER
– HR calls Maple again if it needs another calculation

Compose production rule
– Composes functions & predicates using conjunction
• Example1: tau(sigma(n)), Example2: odd primes

Split production rule
– Performs instantiation of variables to fixed constants
• Example: prime numbers (tau(n) = 2)

Exists production rule
– Introduces existential quantification
• Example: exists k s.t. tau(n) = k & sigma(n) = k,
Example Invention
Discovery Cycle:
2. Conjecture Making

Concepts are formed with
– Both a definition and a set of examples

Whenever a new concept is invented
 HR checks whether:
1. It has no examples
• Makes a non-existence conjecture
2. It has exactly same examples as another
• Makes an equivalence conjecture
3. The examples are subsumed by another
• Makes an implication conjecture
Example Conjecture

HR invents the concept of:
– Integers where number of divisors is prime

Later, it in invents the concept of:
– Integers where the sum of divisors is prime

Notices that the examples of latter
– Are all examples of the former

Makes the conjecture that
– isprime(sigma(n))  isprime(tau(n))
Proving and Pruning stage

The user can supply some axioms as
background knowledge, or nothing at all

Any conjecture the user proves
– Becomes an axiom of the theory

Anything Otter proves using the axioms
– Is discarded (hidden from the user)
– Because it will be “obviously” true to the user
Proving and Pruning Cycle
1. The User steps in

For each conjecture, the user is given
– The conjecture statement
– Up to two alternative conjectures
• From which the original follows

The user can choose to:
– Say the conjecture (or alternative) is true
– Supply a more general theorem
– Supply a counterexample to the conjecture
– Use HOMER to search for a counterexample
Proving and Pruning Cycle
2. Otter is employed

A set of axioms is built up
 Every new conjecture is passed to Otter
– Along with the axioms
– And ground instances of back. concepts
• E.g. isprime(2), tau(4)=3, sigma(5)=6, etc.

Any conjecture that Otter proves
–
–
–
–

Follows from the axioms (which user knows)
So it will be very easy for the user to prove it
And it won’t say much more than the axioms
So HOMER doesn’t show it to the user
After a while, Otter begins to prune many conjs
An Example (Pruned) Theorem

Tau(x) = number of divisors of x
 Sigma(x) = sum of divisors of x
 This conjecture looks interesting:
– isprime(n)  isodd(sigma(tau(n)))

But, this is actually really dull. Why?
 We know the axiom isprime(n)  tau(n)=2
– And ground instances: sigma(2)=3, isodd(3).

So, the conjecture is obviously true
 Otter proves this with no problem
– And so it is rightly discarded (user never sees it)
Design Considerations in HOMER

Background information given in a format
– Which is well known to users

Very few choices for users
– Mathematicians are notoriously uncomfortable
with mathematics software
• So, there are many defaults in HR and Otter which are set

Very simple user interface
– Asked questions they can’t ignore

Given the bare minimum of details
– Only the conjectures, nothing else
More Design Considerations

Absolute minimal number of dull results
– In PhD version of HR
• 90% of conjectures were dull
• Mostly tautologies (true regardless of semantics)

User can stop interacting at any time
– HOMER will continue to find results for them

Use of HTML format
– For improved presentation
Three Illustrative Results

Refactorable numbers
– (number of divisors is itself a divisor)
– Odd refactorables are squares
– HR’s results contributed to a maths paper

Prime sum of divisors implies prime
number of divisors
– “Level of an exercise at the end of a chapter”

Square numbers have odd sum of divisors
– Not as obvious as it might seem
A Session with
a Number Theorist

Sophie Huczynska (Math PostDoc)
– Completely new to HOMER

Session exploring totient function
– phi(n) = #integers less than and coprime to n
– Completely new to HOMER

Background information
– Integers: 1 to 50
– Functions: phi, sigma, tau
– Number types: odd, even, prime, square

~4 hours (including proving time)
– HOMER running for only a fraction of this
Session Results

Presented 59 out of thousands of conjs
– 38 have been subsequently proved,
– 4 were shown to be false
– 17 remain open

Interestingness
– None were tautologies
– 7 followed trivially from definitions (mostly at start)
– Difficulty decreased as session continued
• 2 out of first 30 settled
• 8 out of final 10 still open
– Four which are “number theoretically interesting”
Two “Number Theoretically
Interesting” Results
(a) phi(n) is odd  phi(n) = 1
 (b) phi(n) = 1  n=1 or n=2
 Combined to give:

– phi(n) is even  n > 2 [is this obvious?]

phi(n) is square  tau(n) is even
– Described as “cute”
– Proof required theorem viewed correctly
• i.e., by considering the contrapositive
An Evaluation of Potential

Sophie’s Evaluation
– After more testing with HOMER

Not ready yet for research mathematics
– Limited nature of the background concepts
• Nothing likely to surprise the user
– Complication in theorems is not a good thing
• Prefer simpler results about complicated functions

Potential Applications
– Recreational Mathematics
• User invents something new, HOMER performs exploration
– Setting of tutorial questions
• To give students a feel for number theoretic functions
Recommendations for
Future Versions

Combine with NumbersWithNames
– Program which uses Encyclopedia of integer
sequences to make conjectures
• Problem: flat file (sequences cannot be extended)
– Would possibly make surprising conjectures

Allow user defined production rules (PRs)
– Which are more domain specific
• (HR’s PRs work just as well in bioinformatics…)
– E.g., Dirichlet convolution
• Implemented yesterday!
A Demonstration…

Re-invention of Refactorable Results
– A number is refactorable if the number of divisors
is itself a divisor
– Re-invented by HR in 1998 (original 1990)
– 1, 2, 8, 9,…

Also: Anti-tau numbers
– Invented by Josh Zelinsky
• High school student inspired by refactorables
– They are coprime with the number of divisors
– 1, 3, 4, 5, 7, 11,…