Translation Templates to Support Strategy Development in PVS

Hongping Lim, Myla Archer
2007 Electronical Notes in Theoretical Computer Science  
In presenting specifications and specification properties to a theorem prover, there is a tension between convenience for the user and convenience for the theorem prover. A choice of specification formulation that is most natural to a user may not be the ideal formulation for reasoning about that specification in a theorem prover. However, when the theorem prover is being integrated into a system development framework, a desirable goal of the integration is to make use of the theorem prover as
more » ... asy as possible for the user. In such a context, it is possible to have the best of both worlds: specifications that are natural for a system developer to write in the language of the development framework, and representations of these specifications that are well matched to the reasoning techniques provided in the prover. In a tactic-based prover, these reasoning techniques include the use of tactics (or strategies) that can rely on certain structural elements in the theorem prover's representation of specifications. This paper illustrates how translation techniques used in integrating PVS into the TIOA (Timed Input/Output Automata) system development framework produce PVS specifications structured to support development of PVS strategies that implement reasoning steps appropriate for proving TIOA specification properties. Open access under CC BY-NC-ND license. Relation to related work Problem formulation. The notion that the formulation of a problem is important in automated reasoning is hardly new. It is discussed by Arvo [5] in the context of problem solving. In the context of theorem proving, it has generally been discussed in terms of best formulation for automatic theorem proving. For example, Kerber [15] considers how to formulate higher order theorems in first order logic, Kerber and Präcklein [16] consider how to best formulate first order logic problems for resolution theorem proving, and Ramachandran and Amir [25] study how to compactly represent certain first order theories in propositional logic. The work in [16] is, like our work, concerned with transforming a human-friendly representation of a problem into a form better for a theorem prover. However, rather than focusing on formulating problems for better automatic theorem proving, our work is concerned with better supporting development of strategies to simplify interactive theorem proving in a higher order logic. Translation to a theorem prover. Various tools have been previously developed for translating specifications in the IOA (Input/Output Automata) language [8, 10] , the predecessor of the TIOA language, into the language of different theorem provers, including the Larch Prover [6, 11] , Isabelle [28, 24, 22, 23] , and PVS [7] . A previous translator from TIOA (and hence IOA) to PVS is described in [18] . The translator described in this paper, which is derived from the translator in [18] , is the first TIOA-to-PVS translator designed especially to support strategy development.
doi:10.1016/j.entcs.2007.01.057 fatcat:owksjrcgbfccvk7nhsmygelcze