PVS (Prototype Verification System) ist ein Spezifikations- und Verifikationssystem mit integriertem interaktivem Theorembeweiser, entwickelt am SRI International; es basiert auf typisierter Higher-Order-Logik und wird besonders bei der NASA (Langley) für Hardware- und Protokoll-Verifikation eingesetzt. Eine Spezifikation besteht aus Theorien in .pvs-Dateien.
Arbeiten mit Theorien
pvs # Emacs-Oberflaeche starten
M-x typecheck # Theorie typisieren (C-c C-t)
M-x prove # Formel im Beweiser bearbeiten (C-c C-p)
M-x typecheck-prove # Typecheck + Beweis in einem Schritt (tcp)
Eine Theorie definiert Typen, Konstanten und Axiome; Lemmata und Theoreme werden mit THEOREM bzw. LEMMA deklariert und mit Taktiken bewiesen.
Beweisführung im Prover
prove-it: Komplettbeweis aller offenen Beweisziele („autopilot“).grind: Standard-Mischung aus Vereinfachen, Suchen und Auto-Beweis — der wichtigste Allround-Befehl.simplify: Formel propositional vereinfachen.(skolem!)/flatten: Quantoren instanziieren bzw. Konjunktionen/Implikationen auflösen.(assert): Entscheidbare Teile (Arithmetik, Gleichheit) automatisch schließen.quit: Beweissitzung verlassen; Beweise landen als.prf-Dateien neben der Theorie.
PVS ist eng verwandt mit anderen Formale-Verifikations-Werkzeugen wie Coq, Lean und Isabelle; mit VDM teilt es die Idee der formalen Spezifikation vor der Implementierung.