Advanced Theorem Proving Techniques in PVS and Applications
نویسندگان
چکیده
The Prototype Verification System (PVS) is an interactive verification environment that combines a strongly typed specification language with a classical higher-order logic theorem prover. The PVS type system supports: predicate subtypes, dependent types, abstract data types, compound types such as records, unions, and tuples, and basic types such as numbers, Boolean values, and strings. The PVS theorem prover includes decision procedures for a variety of theories such as linear arithmetic, propositional logic, and temporal logic. This paper surveys advanced PVS features, including: types for specifications, implicit induction, iterations, rapid prototyping, strategy writing, and computational reflection. These features are illustrated with simple examples taken from NASA PVS developments.
منابع مشابه
A PVS Prover Strategy Package for Common Manipulations
Low-level sequent manipulations are sometimes needed when using the PVS prover. A preliminary package of strategies and Emacs functions is provided to make such manipulations less tedious. Included are strategies aimed at real number theorem proving as well as techniques applicable in a more general setting.
متن کاملTranslation Templates to Support Strategy Development in PVS
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 syst...
متن کاملSystem Description : A Nuprl - PVS Connection : Integrating Libraries of Formal Mathematics ∗
∗ This work was supported by ONR Grant N00014-01-1-0765 (Building Interactive Digital Libraries of Formal Algorithmic Knowledge) and by NSF Grant CCR 0204193 (Proof Automation in Constructive Type Theory). Abstract. We describe a link between the Nuprl and PVS proof systems that enables users to access PVS from the Nuprl theorem proving environment, to import PVS theories into the Nuprl library...
متن کاملIncremental Verification of Owicki/Gries Proof Outlines Using PVS
Verifications of parallel programs are frequently based on automated state-space exploration techniques known as model checking. To avoid state-space explosion problems, theorem proving techniques can be used, for example by manually annotating programs with suitable assertions and using these assertions to prove their correctness (e.g. using the Owicki/Gries theory). We propose a method to sup...
متن کاملBatch Proving and Proof Scripting in PVS
The batch execution modes of PVS are powerful, but highly technical, features of the system that are mostly accessible to expert users. This paper presents a PVS tool, called ProofLite, that extends the theorem prover interface with a batch proving utility and a proof scripting notation. ProofLite enables a semi-literate proving style where specification and proof scripts reside in the same fil...
متن کامل