Higher Order Rippling in IsaPlanner [chapter]

Lucas Dixon, Jacques Fleuriot
2004 Lecture Notes in Computer Science  
We present an account of rippling with proof critics suitable for use in higher order logic in Isabelle/IsaPlanner. We treat issues not previously examined, in particular regarding the existence of multiple annotations during rippling. This results in an efficient mechanism for rippling that can conjecture and prove needed lemmas automatically as well as present the resulting proof plans as Isar style proof scripts. IsaPlanner IsaPlanner 1 is a generic framework for proof planning in the
more » ... tive theorem prover Isabelle. It facilitates the encoding of reasoning techniques, which can be used to conjecture and prove theorems automatically. A salient characteristic of IsaPlanner is its derivation of fully formal proofs, expressed in readable Isar style proof scripts as part of the proof planning process. Proof planning in Isabelle/IsaPlanner is split into a series of reasoning states which capture 'snapshots' of the planning process. Each reasoning state contains the current partial proof plan, the next reasoning technique to be applied, and any appropriate contextual information. Reasoning techniques are encoded as functions from a reasoning state to a sequence of reasoning states, where each state in the resulting sequence represents a possible way in which the technique can be applied. This encoding of techniques allows the reasoning process to be decomposed into steps which are evaluated in a 'lazy' fashion. The contextual information captures any knowledge that might be applicable to the current proof process and can be modified during proof planning. Contextual information also facilitates the design and definition of reasoning techniques by providing a data structure to hold knowledge derived during proof planning. Examples of such information include a conjecture database, annotations for rippling, and a high level description of the proof planning process. Proof planning is performed by searching through the possible ways a reasoning technique can be applied. It terminates when a desired reasoning state is found, or when the search space is exhausted. Search mechanisms such as Depth First, Iterative Deepening, Breadth First and Best First have been implemented in IsaPlanner. Moreover, search strategies can be attached to a technique and used locally within its application. This allows us to take advantage of the heuristic measure given by rippling to choose the 'most promising' future state by using best first search, for example.
doi:10.1007/978-3-540-30142-4_7 fatcat:wr7wwhdxbfeedfwsg326sfdxpi