Cooperating Reasoning Processes: More than just the Sum of their Parts
Using the achievements of my research group over the last 30+ years, I provide evidence to support the following hypothesis:
By complementing each other, cooperating reasoning process can achieve much more than they could if they only acted individually.
Most of the work of my group has been on processes for mathematical reasoning and its applications, e.g.~to formal methods. The reasoning processes we have studied include:
- Proof Search: by meta-level inference, proof planning, abstraction, analogy, symmetry, and reasoning with diagrams.
- Representation Discovery, Formation and Evolution: by analysing, diagnosing and repairing failed proof and planning attempts, forming and repairing new concepts and conjectures, and forming logical representations of informally stated problems.
- Other: learning of new proof methods from example proofs, finding counter-examples, reasoning under uncertainty, the presentation of and interaction with proofs, the automation of informal argument.
In particular, we have studied how these different kinds of process can complement each other, and cooperate to achieve complex goals.
We have applied this work to the following areas: proof by mathematical induction and co-induction; analysis; equation solving, mechanics problems; the building of ecological models; the synthesis, verification, transformation and editing of both hardware and software, including logic, functional and imperative programs, security protocols and process algebras; the configuration of hardware; game playing and cognitive modelling.