Skip to content
SPECIFICTION
Get listed

PVS

pvs.csl.sri.com

Free plan WindowsmacOSLinux

What it is

PVS is a mechanized environment for formal specification and verification, intended for work such as mathematical formalization and hardware or algorithm verification. Its language is based on typed higher-order logic and supports predicate subtypes, dependent types, and parameterized theories. The system combines predefined theories, a type checker, interactive theorem prover, symbolic model checker, utilities, libraries, documentation, and examples. Proof support includes induction, rewriting, simplification with decision procedures, abstraction, and symbolic model checking; command-line tools can re-prove theories and libraries in batch mode. PVS also integrates the Yices SMT solver, supports random testing during proofs, and includes PVSio for evaluation and animation. GNU or X Emacs provides the integrated interface, with Tcl/Tk displays for proof trees and theory hierarchies. It runs on Linux, macOS, and Windows and is self-hosted. Noncommercial use is listed at free. Sources are under GPL, but the Allegro runtime has a separate click-through license, and commercial users need a current PVS license or must contact SRI about licensing.

Spec sheet

Purpose
PVS is a verification system combining a specification language, support tools, and a theorem prover.Read 30 Sep 2026 · pvs.csl.sri.com
Platforms
Current listed releases target 64-bit Linux and macOS; the site says Windows can run PVS 7.1 or later through Vagrant and VirtualBox.Read 30 Sep 2026 · pvs.csl.sri.com
Support
Support is offered through developer and bug-report email addresses, GitHub issues, Google Groups, and moderated mailing lists.Read 30 Sep 2026 · pvs.csl.sri.com
Headquarters
Menlo Park, California, USARead 28 Sep 2026 · pvs.csl.sri.com
Founded
1946Read 28 Sep 2026 · pvs.csl.sri.com
Additional capabilities
PVS supports the Yices SMT solver, PVSio evaluation of ground expressions, and random testing during proofs.Read 29 Sep 2026 · pvs.csl.sri.com
Batch proving
PVS includes proof scripts and command-line tools to re-prove theories and libraries in batch mode.Read 30 Sep 2026 · pvs.csl.sri.com
Build limitation
The download page says building from GitHub sources can be sensitive to the platform environment.Read 29 Sep 2026 · pvs.csl.sri.com
Commercial licensing limit
Commercial entities need an existing current PVS license or should contact the licensing address before downloading the Allegro runtime.Read 30 Sep 2026 · pvs.csl.sri.com
Core components
PVS includes a specification language, predefined theories, a type checker, an interactive theorem prover, a symbolic model checker, utilities, documentation, libraries, and examples.Read 29 Sep 2026 · pvs.csl.sri.com
Documentation
The site provides system, language, and prover guides, tutorials, examples, and release notes, while noting that manuals may not cover newer features.Read 30 Sep 2026 · pvs.csl.sri.com
Evaluation and testing
PVS includes a ground evaluator, random testing capability, and integration with the Yices SMT solver.Read 30 Sep 2026 · pvs.csl.sri.com
Integration
The downloads page links a VSCode PVS plugin and the NASA PVS library; the documentation describes the VSCode interface as experimental.Read 30 Sep 2026 · pvs.csl.sri.com
Integrations and libraries
The downloads page links to a NASA PVS Library and a VSCode PVS Plugin.Read 29 Sep 2026 · pvs.csl.sri.com
License and commercial use
PVS sources are under GPL; commercial entities without a current PVS license are directed to contact PVS licensing.Read 29 Sep 2026 · pvs.csl.sri.com
Licensing
PVS sources are under GPL, and the Allegro runtime has a separate click-through license; noncommercial entities may freely download it subject to that agreement.Read 30 Sep 2026 · pvs.csl.sri.com
Proof automation
The prover includes inference procedures for induction, rewriting, simplification using decision procedures, abstraction, and symbolic model checking.Read 29 Sep 2026 · pvs.csl.sri.com
Proof capabilities
The interactive prover includes inference procedures for induction, rewriting, simplification, decision procedures, and symbolic model checking.Read 30 Sep 2026 · pvs.csl.sri.com
PVSio
PVSio supports evaluation and animation with features including input/output, floating-point arithmetic, exception handling, and parsing.Read 30 Sep 2026 · pvs.csl.sri.com
Security contact
The PVS developers' contact address is listed for licensing questions, security concerns, feature requests, and suggestions.Read 29 Sep 2026 · pvs.csl.sri.com
Specification language
Its language is based on typed higher-order logic and supports predicate subtypes, dependent types, and parameterized theories.Read 30 Sep 2026 · pvs.csl.sri.com
Typical users and applications
Listed applications include mathematical formalization, hardware and algorithm verification, and use as a backend for computer algebra and code verification systems.Read 29 Sep 2026 · pvs.csl.sri.com
User interface
PVS uses GNU or X Emacs as an integrated interface and can display proof trees and theory hierarchies with Tcl/Tk.Read 29 Sep 2026 · pvs.csl.sri.com

Plans and prices

PVS (noncommercial) Free Noncommercial use; Allegro runtime requires accepting a click-through license Read 30 Sep 2026 · pvs.csl.sri.com
PVS (commercial) Priced on request Commercial users need a current PVS license or must contact SRI for licensing Read 30 Sep 2026 · pvs.csl.sri.com

Every PVS plan and price →

Strong points and limits

Strong points

  • Typed higher-order logic supports dependent types.
  • Batch tools re-prove theories and libraries.
  • Yices SMT solver integration is supported.
  • Runs on Linux, macOS, and Windows.
  • Noncommercial plan is free.

Limits

  • Commercial use requires licensing contact or a current license.
  • Allegro runtime has a separate click-through license.
  • VSCode interface is described as experimental.
  • Building from GitHub sources can depend on platform environment.

Who it suits

PVS suits users formalizing mathematics or verifying hardware and algorithms. It may also suit computer algebra and code verification systems that need a backend.

PVS in depth

Read the full write-up

PVS is a self-hosted formal verification environment built around a typed specification language and interactive proof. It is best suited to researchers and engineers formalizing mathematics or verifying hardware and algorithms. The range of proof and evaluation tools is substantial, but commercial users must settle licensing before relying on its runtime.

Overview

PVS brings specification, type checking, theorem proving, symbolic model checking, and evaluation into one environment. Its typed higher-order logic supports predicate subtypes, dependent types, and parameterized theories, making it a fit for properties that need precise expression rather than a lightweight way to check ordinary application code.

Predefined theories, libraries, examples, utilities, and documentation provide a foundation for formalization work. The environment is also used as a backend for computer algebra and code verification systems. Its self-hosted deployment suits teams that want verification work within their own environment, though building from GitHub sources can be sensitive to platform conditions.

Key features

The interactive prover offers procedures for induction, rewriting, simplification and decision procedures, with symbolic model checking as a complementary method. PVS supports counterexamples and proof artifacts, useful for inspecting verification outcomes. Proof scripts and command-line tools can re-prove theories and libraries in batch mode, so verification can be repeated without relying solely on an interactive session.

Evaluation and testing broaden the workflow beyond proof. PVS can evaluate ground expressions, run random testing during proofs, and use the Yices SMT solver. PVSio adds evaluation and animation, including input/output, floating-point arithmetic, exception handling, and parsing. These capabilities are valuable when a project needs to explore behavior as well as establish properties, but they do not make PVS a general-purpose software development environment.

GNU or X Emacs is the integrated interface, with Tcl/Tk displays for proof trees and theory hierarchies. The linked VSCode plugin may interest users seeking a different editor, but its interface is experimental; users should not treat it as a mature replacement for the documented Emacs workflow.

Pricing

PVS (noncommercial): free. This plan is for noncommercial use. Downloading the Allegro runtime requires accepting its separate click-through license, so free access is not permission to ignore those terms.

PVS (commercial): custom pricing. Commercial entities need a current PVS license or must contact SRI for licensing before downloading the Allegro runtime. This is the relevant route for business use, but organizations should resolve the license requirement before building a workflow around that runtime.

The sources are under GPL, while the Allegro runtime has its own click-through license. That distinction matters: the noncommercial plan is not a blanket commercial-use grant.

Platforms

PVS supports Linux, macOS, and Windows. It is self-hosted, and the platform-sensitive source build makes the supported operating systems a starting point rather than a guarantee that every local build environment will be straightforward.

Who it's for

PVS is a strong candidate for formal methods researchers, verification engineers, and teams working on mathematical formalization, hardware, algorithms, or verification backends. It is less suitable for general software teams seeking a conventional development interface, or commercial organizations that need an uncomplicated, clearly priced runtime license.

Pros and cons

Pros: A single environment combines a rich typed logic, interactive theorem proving, symbolic model checking, evaluation, random testing, and batch re-proving, supporting varied verification workflows.

Pros: PVSio and Yices support behavioral exploration alongside proof, while libraries, examples, and tutorials give formalization projects useful starting material.

Cons: The integrated interface is GNU or X Emacs, and the VSCode option is experimental, limiting the appeal for users expecting a polished modern editor workflow.

Cons: Commercial runtime use requires a current license or contact with SRI, adding a decision and licensing step for business adoption.

Cons: Source builds can be sensitive to the platform environment, which may complicate setup for teams building from GitHub.

Alternatives

For a broader list, see Formal Verification Tools. Choose Rocq instead if a free interactive theorem prover and dependently typed programming language better matches the work. Z3 is a free alternative for users who want its MIT-licensed solver rather than PVS's integrated specification and proof environment.

Alloy Analyzer is another free option, distributed as a self-contained executable. UPPAAL may suit eligible academic users who need its free academic license. Consider CBMC for free open-source software under a 4-clause BSD license, or Isabelle for a free theorem prover with BSD-style licensing for its main code base. SPIN offers free source and executables under BSD 3-Clause; ACL2 is also a free alternative.

Verdict

Choose PVS if your work calls for expressive formal specifications, interactive proof, and complementary model checking or evaluation in a self-hosted environment. Its breadth is the main reason to adopt it; the Emacs-centered workflow and commercial runtime licensing are the main reasons to look elsewhere.

Verdict

PVS offers a broad formal verification environment with theorem proving, model checking, evaluation, and batch workflows. Commercial users should resolve licensing requirements, and the documented VSCode interface is experimental.

Where Specifiction places it

Alternatives to PVSAll alternatives →