Freedom251 › Formal Verification Tools
PVS

What PVS is
PVS is a mechanized environment for formal specification and verification, used for mathematical formalization, hardware and algorithm verification, and as a backend for computer algebra and code verification systems. It combines a typed higher-order logic language 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 using 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 and animation through PVSio, and random testing during proofs. GNU or X Emacs is the integrated interface, with Tcl/Tk displays for proof trees and theory hierarchies. Noncommercial use is listed as free. Sources are under GPL, while the Allegro runtime has a separate click-through license. Commercial entities need a current PVS license or must contact SRI about licensing before downloading that runtime.
Who it suits
It suits users working on formal specifications, mathematical formalization, or hardware and algorithm verification. Commercial users should check licensing requirements, particularly for the Allegro runtime.
What it does well
- Includes an interactive theorem prover and symbolic model checker.
- Supports batch re-proving of theories and libraries.
- Yices SMT solver integration is listed.
- Noncommercial plan is free.
What to know first
- Commercial use requires a current license or licensing inquiry.
- Allegro runtime has a separate click-through license.
- Building from GitHub sources can depend on platform environment.
- VSCode interface is described as experimental.
Limits
The noncommercial plan costs nothing, subject to the Allegro runtime click-through license. Commercial use of the Allegro runtime requires a current PVS license or contacting SRI for licensing.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| PVS (noncommercial) | Noncommercial use; Allegro runtime requires accepting a click-through license | Free |
| PVS (commercial) | Commercial users need a current PVS license or must contact SRI for licensing | On request |
As pvs.csl.sri.com lists them, read 30 Sept 2026. The maker's own page has the final word.
Getting started
- Visit the PVS website and review the system, language, and prover guides.
- Choose the download route for Linux, macOS, or Windows.
- For noncommercial use, accept the Allegro runtime click-through license if using that runtime.
- For commercial use, confirm you have a current PVS license or contact SRI about licensing.
- Use GNU or X Emacs as the integrated interface; the downloads page also links to an experimental VSCode plugin.
Overview
PVS is a self-hosted environment for writing formal specifications and checking them through theorem proving, symbolic model checking, and evaluation. It suits researchers and engineers working on mathematical formalization or hardware and algorithm verification. Its breadth is compelling for noncommercial verification work, while commercial licensing and a platform-sensitive build process call for planning.
Key features
The typed higher-order logic language supports predicate subtypes, dependent types, and parameterized theories, giving specialists room to express nuanced properties. Predefined theories, a type checker, libraries, examples, and documentation round out the environment. This is a focused formal-methods toolkit, not a lightweight general-purpose development environment.
Interactive proof procedures cover induction, rewriting, simplification with decision procedures, abstraction, and symbolic model checking. Counterexamples and proof artifacts help users inspect verification results. Proof scripts and command-line tools can re-prove theories and libraries in batch mode, a practical advantage for repeatable checks across larger bodies of work.
Evaluation and testing broaden the workflow: 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 display proof trees and theory hierarchies. A VSCode plugin and NASA PVS Library are linked as integrations, though the VSCode interface is described as experimental.
Pricing
PVS (noncommercial): free. It is for noncommercial use, and the Allegro runtime requires acceptance of a separate click-through license. The free plan makes the system accessible for academic, personal, or other noncommercial work, subject to that runtime term.
PVS (commercial): custom pricing. Commercial users need a current PVS license or should contact SRI about licensing before downloading the Allegro runtime. The free noncommercial terms are not a substitute for commercial authorization.
Platforms
PVS supports Linux, macOS, and Windows and is self-hosted. Building from GitHub sources can depend on the platform environment, so teams should account for setup variability. Its GNU or X Emacs interface may also be a consideration for users expecting a conventional standalone graphical application.
Who it's for
PVS is a strong candidate for formal-methods specialists who need to specify mathematical properties and verify hardware or algorithms, or for teams using it as a backend for computer algebra and code-verification systems. Its combination of interactive and batch proving is useful where checks must be revisited systematically. It is a weaker fit for commercial teams that cannot first resolve licensing, or for users seeking a general software-development tool.
Pros and cons
- Pro: A rich typed specification language and integrated theories, libraries, and examples support detailed formalization.
- Pro: Interactive proving, symbolic model checking, counterexamples, and proof artifacts cover several parts of a verification workflow.
- Pro: Batch re-proving, Yices support, ground evaluation, and random testing provide ways to automate and explore beyond interactive proof.
- Con: Commercial use depends on a current license or direct licensing arrangements, so the noncommercial free plan does not make business adoption frictionless.
- Con: Source builds can be platform-sensitive, and the VSCode interface is experimental; neither is ideal for teams expecting a turnkey modern editor setup.
- Con: The integrated interface relies on GNU or X Emacs, which may not suit every user's preferred workflow.
Alternatives
Browse formal verification tools for a wider comparison. Choose Lean for a free option spanning Linux, macOS, Windows, and the web. Rocq is another free interactive theorem prover and dependently typed programming language. Choose Z3 if MIT-licensed downloads and source code better fit the need. HOL4 is free software under the Modified (3-clause) BSD licence. Alloy Analyzer offers a free, self-contained executable. CBMC is a free option under a 4-clause BSD license, while CPAchecker is free Apache 2.0 software with binary release 4.2.2. Isabelle is distributed for free under open-source licenses, with its main code-base subject to BSD-style regulations.
Verdict
Choose PVS if your work calls for expressive formal specification, mechanized proof, and repeatable verification runs in a self-hosted environment. Its strongest case is the breadth of proof, model-checking, evaluation, and batch capabilities in one system. Look elsewhere if you need frictionless commercial licensing or a less specialized interface and build workflow.
Verdict
PVS combines formal specification and verification tools with proof automation and batch workflows. Users should account for its licensing terms and platform-sensitive build process.
Questions
How much does PVS cost?
The noncommercial plan is free. Commercial users need a current PVS license or must contact SRI about licensing.
Which operating systems does PVS support?
PVS is listed for Linux, macOS, and Windows.
Is PVS open source?
PVS sources are under GPL. The Allegro runtime has a separate click-through license.
What can PVS verify?
Listed applications include mathematical formalization, hardware and algorithm verification, and backend use for computer algebra and code verification systems.
Does PVS have a VSCode integration?
The downloads page links to a VSCode PVS Plugin, and the documentation describes the interface as experimental.
How can users get support?
Users can report bugs by email or GitHub and ask questions through a Google Group or moderated help mailing list.
Facts from PVS's own pages
- Additional capabilities
- PVS supports the Yices SMT solver, PVSio evaluation of ground expressions, and random testing during proofs. · pvs.csl.sri.com, 29 Sept 2026
- Batch proving
- PVS includes proof scripts and command-line tools to re-prove theories and libraries in batch mode. · pvs.csl.sri.com, 30 Sept 2026
- Build limitation
- The download page says building from GitHub sources can be sensitive to the platform environment. · pvs.csl.sri.com, 29 Sept 2026
- Commercial licensing limit
- Commercial entities need an existing current PVS license or should contact the licensing address before downloading the Allegro runtime. · pvs.csl.sri.com, 30 Sept 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. · pvs.csl.sri.com, 29 Sept 2026
- Documentation
- The site provides system, language, and prover guides, tutorials, examples, and release notes, while noting that manuals may not cover newer features. · pvs.csl.sri.com, 30 Sept 2026
- Evaluation and testing
- PVS includes a ground evaluator, random testing capability, and integration with the Yices SMT solver. · pvs.csl.sri.com, 30 Sept 2026
- Founded
- 1946 · pvs.csl.sri.com, 28 Sept 2026
- Headquarters
- Menlo Park, California, USA · pvs.csl.sri.com, 28 Sept 2026
- Integration
- The downloads page links a VSCode PVS plugin and the NASA PVS library; the documentation describes the VSCode interface as experimental. · pvs.csl.sri.com, 30 Sept 2026
- Integrations and libraries
- The downloads page links to a NASA PVS Library and a VSCode PVS Plugin. · pvs.csl.sri.com, 29 Sept 2026
- License and commercial use
- PVS sources are under GPL; commercial entities without a current PVS license are directed to contact PVS licensing. · pvs.csl.sri.com, 29 Sept 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. · pvs.csl.sri.com, 30 Sept 2026
- 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. · pvs.csl.sri.com, 30 Sept 2026
- Proof automation
- The prover includes inference procedures for induction, rewriting, simplification using decision procedures, abstraction, and symbolic model checking. · pvs.csl.sri.com, 29 Sept 2026
- Proof capabilities
- The interactive prover includes inference procedures for induction, rewriting, simplification, decision procedures, and symbolic model checking. · pvs.csl.sri.com, 30 Sept 2026
- Purpose
- PVS is a verification system combining a specification language, support tools, and a theorem prover. · pvs.csl.sri.com, 30 Sept 2026
- PVSio
- PVSio supports evaluation and animation with features including input/output, floating-point arithmetic, exception handling, and parsing. · pvs.csl.sri.com, 30 Sept 2026
- Security contact
- The PVS developers' contact address is listed for licensing questions, security concerns, feature requests, and suggestions. · pvs.csl.sri.com, 29 Sept 2026
- Specification language
- Its language is based on typed higher-order logic and supports predicate subtypes, dependent types, and parameterized theories. · pvs.csl.sri.com, 30 Sept 2026
- Support
- Support is offered through developer and bug-report email addresses, GitHub issues, Google Groups, and moderated mailing lists. · pvs.csl.sri.com, 30 Sept 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. · pvs.csl.sri.com, 29 Sept 2026
- User interface
- PVS uses GNU or X Emacs as an integrated interface and can display proof trees and theory hierarchies with Tcl/Tk. · pvs.csl.sri.com, 29 Sept 2026
Where PVS stands on Freedom251
- Formal Verification Tools#20 of 34