Scaling Automated Theory Exploration in Haskell

Chris Warburton Katya Komendantskaya
cmwarburton@dundee.ac.uk e.komendantskaya@dundee.ac.uk
University of Dundee
AI4FM 2015

Theory Exploration

(Σ,V)TETerms(Σ,V)(\Sigma, V) \overset{TE}{\rightarrow} \text{Terms}(\Sigma, V)

Theory Exploration describes any system for turning a "theory" (signature and variables) into terms of that theory which are well-formed, provable and interesting.

Comparison Criteria

(Interactive) Theory Exploration

Mathematical theory exploration proceeds by applying, under the guidance of a human user, various algorithmic reasoners for producing new formulae from given ones and aims at building up (large) mathematical knowledge bases in an efficient, reliable, well-structured, re-usable, and flexible way. -- (Buchberger 2004)

Example: Theorema

Automated Theory Exploration

MathematicalAutomated theory exploration proceeds by applying, under the guidance of a human user, various algorithmic reasoners for producing new formulae from given ones and aims at building up (large) mathematical knowledge bases in an efficient, reliable, well-structured, re-usable, and flexible way.

Examples: IsaCoSy, Hipster, HipSpec

Why Automated Theory Exploration?

Strengths:

Weaknesses:

Problem: Doesn't seem to align very well with general Mathematics

Why Automated Theory Exploration?

Strengths:

Weaknesses:

Solution: Aligns well with programming

Haskell

Haskell code often follows algebraic laws which Haskell is unable to express!

Identifying Improvements

HipSpec is state-of-the-art. How might it be scaled up?

Improving Term Generation

Improving "Interestingness"

Current Work: ML4HS

ML4HS

Generating Theories

Divide and Conquer

Clustering

Recurrent Clustering Example

inc x = x + 1

Clustering

Applications

Acknowlegements

Thank you to the HipSpec team at Chalmers University (Moa Johansson, Koen Claessen, Nick Smallbone, Dan Rosén and Irene Lobo Valbuena) for useful discussions of these ideas, and Ouanis Seddaoui for help with our implementation.