PVS GUI

This is an alpha version of a GUI for the PVS verification system. If you find any bugs or have suggestions for improvement, mail us at pvs-bugs@csl.sri.com.

Table of contents:

Running the GUI

The GUI communicates with PVS via XML-RPC. The GUI and PVS can be launched in any order. By default, the GUI assumes that PVS is running on localhost:22334. Start PVS with the -port flag, e.g.,

  pvs -port 22334

and the GUI with

  pvs-gui

For more information on how to run the GUI, try "pvs-gui --help".

GUI Overview

The GUI has a very flexible and configurable design. Different parts of the GUI can be detached from the main frame and become a floating box, or be re-attached back to different parts of the frame based on user's preference. Similarly, each open PVS file can be dragged out of the frame and be placed back by closing the floating box.

The GUI configuration by default is in the file PVS/python/src/pvside.cfg, where PVS is the pvs installation directory. At startup, this file is read, then the ~/pvside.cfg file is read, if it exists. This should have the same form as the default file, but should include only those sections and attributes that you wish to modify.

Entering Lisp commands

When the GUI is up and running, you can enter any lisp command (e.g. typecheck, change-context) using the console that appears at the bottom of the GUI by default. (This is primarily for debugging; you need to consult the Common Lisp manual and PVS sources to know what functions are available.)

Menus

The GUI provides a main menu with a number of options to communicate with PVS (e.g. changing the context). Furthermore, you can right-click on the open files and contexts to view a context menu with proper options. For instance, you can change the context by righ-clicking on any context/directory on the file tree and choose "Make Active Context". You can also typecheck a file in the active context by right-clicking on the file name and choosing "Typecheck".

Typechecking

You can typecheck a file in the active context simply by right-clicking on its name and choosing the typecheck option. You will see an error message, along with a red mark if the typecheck fails. Otherwise, you may see a list of theories and formulas as a subtree under the file name. Furthermore, you will be able to hover the mouse pointer over different words in the PVS file to see the declarations as a tooltip. You could also right-click on the words and choose "Show Declaration" to see the original declaration.

Proof Manager

The GUI hides and shows the different boxes according to the PVS mode. Once a formula is selected to be proved, the GUI enters the proof mode with the Proof Manager appearing on the right side. You will be able to enter different proof commands using the Proof Manager.

Note that the GUI does not yet support showing proof scripts, with the possibility rerun or step through the proofs, so the GUI is not really ready to support serious proof development. This should be available in the near future.