Skip to content

SRI-CSL/PVS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

213d9b0 · Mar 5, 2025
Jul 2, 2014
Apr 8, 2024
May 17, 2023
Apr 8, 2024
Sep 26, 2012
Feb 20, 2025
May 24, 2024
Apr 27, 2022
Feb 21, 2025
Mar 29, 2024
Dec 9, 2015
Mar 5, 2025
Oct 20, 2017
May 11, 2018
Sep 26, 2023
Oct 13, 2015
May 11, 2017
Jun 7, 2023
Dec 9, 2015
Nov 22, 2006
Apr 24, 2020
Jun 8, 2024
May 17, 2023
Oct 18, 2023
Oct 5, 2015
Sep 10, 2021
Jun 21, 2023
Jun 21, 2023
Mar 31, 2023
Mar 31, 2023
Sep 1, 2020
May 9, 2024
Feb 6, 2025
Jan 30, 2025
Feb 20, 2025
Feb 18, 2015
Apr 4, 2017
Feb 20, 2025
Jan 9, 2025
Mar 16, 2011
Feb 15, 2022
Oct 5, 2015
Nov 13, 2020
Sep 28, 2020

Repository files navigation

PVS Specification and Verification System

Build Status

PVS is a verification system: that is, a specification language integrated with support tools and a theorem prover. It is intended to capture the state-of-the-art in mechanized formal methods and to be sufficiently rugged that it can be used for significant applications. PVS is a research prototype: it evolves and improves as we develop or apply new capabilities, and as the stress of real use exposes new requirements.

For documentation and pre-built binaries, please visit http://pvs.csl.sri.com/.

Making PVS 8.0 from sources

In short: 0. For Macs, you'll need to install xcode, in Ubuntu, apt-get install build-essential

  1. Use your favorite package manager to get SBCL and Emacs
  2. git clone https://github.com/SRI-CSL/PVS.git
  3. cd PVS
  4. Run ./configure, use your package manager if, e.g., curl is missing
  5. Run make

Notes:

  1. This works for Mac M1 natively
  2. For some reason the make on Intel Macs pauses a long time at the compile for list-decls; just be patient.
  3. There is a Dockerfile that will create a Docker image for PVS; this can be used on a Windows platform.
  4. If you're using the current version of NASA's pvslib, you will get some errors. You can temporarily use the pvs8.0 branch of https://github.com/samowre/pvslib.git, which is a fork of it upgraded to work with PVS 8.0 and SBCL.

Let us know at pvs@csl.sri.com if you have problems or suggestions.

Source layout

Files:

  • README - this file
  • pvs - the shell script for invoking pvs
  • pvsio-web - the shell script for invoking the pvsio-web prototyping tool
  • pvs.sty - the style file supporting LaTeX output
  • pvs-tex.sub - the default substitution file for generating LaTeX

Directories:

  • Examples - some simple example specifications
  • emacs - Emacs files.
  • wish - Tcl/Tk files
  • bin - shell scripts and executables
  • lib - prelude, help files, and libraries
  • pvsio-web - PVSio-web prototyping tool and example prototypes
  • javascript - experimental javascript front-ends for PVS. See javascript/README.md for more info on how to run the tools.