Abstract Datatypes in PVS

S. Owre and N. Shankar

Technical Report SRI-CSL-93-9R

Abstract

PVS (Prototype Verification System) is a general-purpose environment for
developing specifications and proofs. This document deals primarily with
the abstract datatype mechanism in PVS which generates theories containing
axioms and definitions for a class of recursive datatypes. The concepts
underlying the abstract datatype mechanism are illustrated using ordered
binary trees as an example. Binary trees are described by a PVS abstract
datatype that is parametric in its value type. The type of ordered binary
trees is then presented as a subtype of binary trees where the ordering
relation is also taken as a parameter. We define the operations of
inserting an element into, and searching for an element in an ordered
binary tree; the bulk of the report is devoted to PVS proofs of some
useful properties of these operations. These proofs illustrate various
approaches to proving properties of abstract datatype operations. They
also describe the built-in capabilities of the PVS proof checker for
simplifying abstract datatype expressions.