EVERYTHING XIAOMI
Get listed

PVS

PVS is a mechanized environment for formal specification and verification.

Place
#5 of 34
Score
6.6
PVS's website

What PVS is

PVS is a mechanized environment for formal specification and verification. It combines a specification language based on typed higher-order logic with predefined theories, a type checker, an interactive theorem prover, a symbolic model checker, utilities, libraries, documentation, and examples. The language supports predicate subtypes, dependent types, and parameterized theories. 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 supports the Yices SMT solver, ground-expression evaluation through PVSio, and random testing during proofs. PVSio includes input/output, floating-point arithmetic, exception handling, and parsing. GNU or X Emacs serves as the integrated interface, while Tcl/Tk can display proof trees and theory hierarchies. Listed applications include mathematical formalization, hardware and algorithm verification, and use as a backend for computer algebra and code verification systems. The noncommercial plan is free. Sources are under GPL, but the Allegro runtime has a separate click-through license; commercial entities need a current PVS license or should contact SRI about licensing.

Good

  • Includes an interactive prover and symbolic model checker.
  • Supports batch re-proving of theories and libraries.
  • Includes Yices integration and random testing during proofs.
  • Provides guides, tutorials, examples, and release notes.

Watch out

  • Building from source can depend on platform environment.
  • VSCode interface is described as experimental.
  • Commercial entities need a current PVS license or licensing contact.
  • Allegro runtime has a separate click-through license.

Who it suits

PVS may suit people formalizing mathematics or verifying hardware and algorithms, as well as teams using formal methods in computer algebra or code-verification systems. Commercial users should review the separate runtime licensing requirement.

Verdict

PVS brings specification, proof, evaluation, and testing capabilities into one formal verification environment. Noncommercial use is free, but commercial users must account for licensing requirements, including the separate Allegro runtime terms.

Plans and prices

From PVS's own pricing page, checked 30 Sep 2026.

All about pricing
PlanPriceWhat it gives you
PVS (noncommercial)FreeNoncommercial use; Allegro runtime requires accepting a click-through license
PVS (commercial)Priced on requestCommercial users need a current PVS license or must contact SRI for licensing

The facts

Each one read from PVS's own pages, with the date it was checked.

What it does

Additional capabilities
PVS supports the Yices SMT solver, PVSio evaluation of ground expressions, and random testing during proofs.checked 29 Sep 2026
Batch proving
PVS includes proof scripts and command-line tools to re-prove theories and libraries in batch mode.checked 30 Sep 2026
Build limitation
The download page says building from GitHub sources can be sensitive to the platform environment.checked 29 Sep 2026
Commercial licensing limit
Commercial entities need an existing current PVS license or should contact the licensing address before downloading the Allegro runtime.checked 30 Sep 2026
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.checked 29 Sep 2026
Documentation
The site provides system, language, and prover guides, tutorials, examples, and release notes, while noting that manuals may not cover newer features.checked 30 Sep 2026
Evaluation and testing
PVS includes a ground evaluator, random testing capability, and integration with the Yices SMT solver.checked 30 Sep 2026
Integration
The downloads page links a VSCode PVS plugin and the NASA PVS library; the documentation describes the VSCode interface as experimental.checked 30 Sep 2026
Integrations and libraries
The downloads page links to a NASA PVS Library and a VSCode PVS Plugin.checked 29 Sep 2026
License and commercial use
PVS sources are under GPL; commercial entities without a current PVS license are directed to contact PVS licensing.checked 29 Sep 2026
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.checked 30 Sep 2026
Proof automation
The prover includes inference procedures for induction, rewriting, simplification using decision procedures, abstraction, and symbolic model checking.checked 29 Sep 2026
Proof capabilities
The interactive prover includes inference procedures for induction, rewriting, simplification, decision procedures, and symbolic model checking.checked 30 Sep 2026
Purpose
PVS is a verification system combining a specification language, support tools, and a theorem prover.checked 30 Sep 2026
PVSio
PVSio supports evaluation and animation with features including input/output, floating-point arithmetic, exception handling, and parsing.checked 30 Sep 2026
Security contact
The PVS developers' contact address is listed for licensing questions, security concerns, feature requests, and suggestions.checked 29 Sep 2026
Specification language
Its language is based on typed higher-order logic and supports predicate subtypes, dependent types, and parameterized theories.checked 30 Sep 2026
Support
Support is offered through developer and bug-report email addresses, GitHub issues, Google Groups, and moderated mailing lists.checked 30 Sep 2026
User interface
PVS uses GNU or X Emacs as an integrated interface and can display proof trees and theory hierarchies with Tcl/Tk.checked 29 Sep 2026

The company

Founded
1946checked 28 Sep 2026
Headquarters
Menlo Park, California, USAchecked 28 Sep 2026

Where it runs

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.checked 30 Sep 2026
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.checked 29 Sep 2026
The full review of PVS

Overview

PVS is a self-hosted formal verification environment for researchers and engineers who need to specify and reason about mathematical, hardware, or algorithmic systems. It brings specification, proof, model checking, and evaluation together, but its Emacs-centered interface and commercial licensing terms narrow its appeal for general software teams.

Key features

PVS uses a typed higher-order logic language with predicate subtypes, dependent types, and parameterized theories. That expressiveness suits users who need to state detailed properties precisely; it also assumes comfort with formal methods rather than offering a lightweight route to ordinary application development. Predefined theories, libraries, examples, a type checker, and documentation give projects a substantial starting toolkit.

The interactive prover includes procedures for induction, rewriting, simplification and decision procedures, alongside symbolic model checking. Counterexamples and proof artifacts support examining results, while proof scripts and command-line tools can re-prove theories and libraries in batch mode. That combination makes PVS useful both for interactive proof work and repeatable verification runs.

Evaluation complements proof: PVS supports the Yices SMT solver, ground-expression evaluation, and random testing during proofs. PVSio adds evaluation and animation with input/output, floating-point arithmetic, exception handling, and parsing. GNU or X Emacs is the integrated interface; Tcl/Tk can show proof trees and theory hierarchies. A VSCode plugin is linked, but its interface is experimental, so it should not be treated as a mature replacement for the Emacs workflow.

Pricing

PVS (noncommercial): free. Noncommercial entities may download PVS subject to accepting the Allegro runtime click-through license. The free plan is compelling for academic and other noncommercial work, but the runtime agreement is an additional condition, not an optional detail.

PVS (commercial): custom pricing. Commercial entities need a current PVS license or must contact SRI about licensing before downloading the Allegro runtime. Businesses should resolve that requirement before adopting PVS; the free noncommercial terms do not extend to commercial use.

PVS sources are under GPL, while the Allegro runtime has a separate license. The distinction matters when planning deployment or distribution, so commercial teams should confirm applicable terms with the licensing contact.

Platforms

PVS supports Linux, macOS, and Windows and is deployed self-hosted. Building from GitHub sources can be sensitive to the platform environment, which may add setup work for teams compiling their own builds.

Who it's for

PVS is best suited to formal-methods researchers and engineering teams doing mathematical formalization, hardware or algorithm verification, or using a verification backend in computer algebra and code-verification systems. Its batch proving, evaluator, and testing capabilities also suit teams maintaining proof libraries. It is a poor fit for users seeking a conventional desktop productivity app or businesses unwilling to manage licensing and a specialist interface.

Pros and cons

  • Pro: Specification, interactive proving, symbolic model checking, evaluation, and random testing are integrated, giving verification work several complementary methods in one environment.
  • Pro: Batch tools can re-prove theories and libraries, supporting repeatable maintenance rather than only one-off interactive sessions.
  • Pro: Noncommercial use is free, with documentation, tutorials, examples, and libraries supporting adoption.
  • Con: Commercial users must secure a current license or contact SRI, and the Allegro runtime carries separate click-through terms.
  • Con: The integrated interface relies on GNU or X Emacs; the linked VSCode interface is experimental.
  • Con: Source builds may be sensitive to platform environment, which can complicate setup.

Alternatives

Choose Rocq instead if an interactive theorem prover and dependently typed programming language better matches the work. Z3 is a free, MIT-licensed option for readers seeking a solver rather than PVS's combined specification and proving environment. Isabelle is another free theorem-proving environment; SPIN is a free source-and-executable option. UPPAAL may suit eligible non-commercial academic users under its academic license. Alloy Analyzer offers an open-source, self-contained executable, while CBMC is a free, BSD-licensed alternative. ACL2 is another free option.

Browse the Formal Verification Tools directory for more choices.

Verdict

PVS is a strong choice for noncommercial specialists who need expressive formal specifications, interactive and batch proving, and evaluation or testing in one self-hosted system. Its breadth is the main reason to choose it; the Emacs-centered workflow and commercial runtime licensing are the clearest reasons to look elsewhere.

Alternatives to PVS

All alternatives
  1. 1Lean logo

    Lean

    Free planWebLinuxmacOSWindows
    6.9Free plan
  2. 2Rocq logo

    Rocq

    Free planWebExtensionLinuxmacOS
    6.9Free plan
  3. 3cvc5 logo

    cvc5

    Free planWebAPILinuxmacOS
    6.8Free plan
  4. 4

    Why3

    Free planWebAPILinuxSelf-hosted
    6.8Free plan
  5. 5

    Z3

    Free planAndroidWebAPILinux
    6.6Free plan
  6. 6

    HOL4

    Free planLinuxmacOSSelf-hostedWindows
    6.5Free plan