Our theoretical work concerns the abstract principles necessary to build and understand representational and reasoning systems of all kinds, both artificial and natural. We attack this problem from several sides:
From within mathematical systems. e.g. in mathematical proof we observe that experienced human theorem provers follow strategies and intuitions which may yield elegant proofs of difficult theorems. We represent this knowledge; use it to control inference in abstract proofs; then apply the abstract theory to concrete problems.
Through empirical study of algorithms and methods. e.g. in adaptive systems, where we have studied how algorithms from genetic programming can allow us to build complex, near-optimal plans more quickly.
As extensions or reinterpretations of existing theories. e.g. we have produced extensions to theories of fuzzy and qualitative reasoning, and developed systems which combine strands of theory such as fuzzy reasoning and rule induction.
By opening applied areas to theory. e.g. the process of describing an ontology for a domain was little addressed by theory. We have helped to make it an area of opportunity for formal specification, automated support and rigorous method.