# Prototype Verification System (PVS)

• Last Updated : 26 Aug, 2020

The main important part of inspection process is to check completeness and consistency of tables. For this purpose, we need to be very careful regarding proving theorems. Therefore, choosing good theorem prover system is very important task. A theorem prover system must fulfill the following points in order to be considered as good theorem prover system :

• Must be capable enough to deal and interact with partial function and various types of data.
• Must be formulated in an easy way as compared to others.
• Must be verified automatically.

Why Prototype Verification System (PVS) is chosen?
PVS is generally specification language that is integrated with support tools and an automated theorem prover. It is developed since 1993 at computer science laboratory of SRI International in Menlo Park, California. It is basically research prototype as it evolves and improves when we create or apply new capabilities, and as stress of real use exposes all of new requirements. PVS specification language is commonly based on classical, typed higher-order logic. This specification language is required to specify libraries of theories.

Prototype Verification System (PVS) also includes type checkers, built-in theories, and theorem provers that are used for verification. Therefore, different application has used PVS simply to provide formal verification support to their system properties. PVS theorem prover is basically collection of basic inference rules and high-level proof strategies. It is applied interactively among sequent calculus framework. Following are some reasons that are considered important in choosing PVS over others :

• PVS automatically generate different theorems that are relevant to completeness and consistency in checking of tabular specification. In PVS, theorems are formulated in an easy way with the help of different types of constructors.
• PVS generally gets verified automatically. With this verification, PVS can simply verify various theorems that are relevant to completeness and consistency.
• It also takes help of classical logic and total functions. On other hand, it also provides predicate and dependent types that are useful in constraining domains of what would otherwise be partial functions.
• It also parses and type-check the theory as it creates Type-Checking Conditions (TCCs).
• It also generates documentation i.e. theories and proofs in PostScript, HTML, etc.

PVS Prover Commands :
PVS usually contains huge number of commands. These commands are also known as rules. Some of them are given below :

1. Control command :
This command is required to control and handle proof execution and proof tree exploration.
2. Structural command :
This command is required to implement contraction rules and hide formulae that are not used in sequence.
3. Propositional command :
This command is required to implement inference rules just fir connectives, for complex operators and also for cut.
4. Quantifiers command :
This command is required to implement inference rules for quantifiers.
5. Equality command :
This command is required to implement different inference rules in addition to some of the basic sequent calculus, along with some rules for equality, records, tuples, etc.
6. Strategy command :
This command used to apply all pre-defined sequences of rules.
7. Definition and Lemma Handling command :
This command is required to invoke and apply lemmas along with definitions.

My Personal Notes arrow_drop_up