Reachability Programming in HOL98 Using BDDs

  • Authors:
  • Michael J. C. Gordon

  • Affiliations:
  • -

  • Venue:
  • TPHOLs '00 Proceedings of the 13th International Conference on Theorem Proving in Higher Order Logics
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

Two methods of programming BDD-based symbolic algorithms in the Hol98 proof assistant are presented. The goal is to provide a platform for implementing intimate combinations of deduction and algorithmic verification, like model checking. The first programming method uses a small kernel of ML functions to convert between BDDs, terms and theorems. It is easy to use and is suitable for rapid prototying experiments. The second method requires lower-level programming but can support more efficient calculations. It is based on an LCF-like use of an abstract type to encapsulate rules for manipulating judgements ρ t → b meaning "logical term t is represented by BDD b with respect to variable order ρ". The two methods are illustrated by showing how to perform the standard fixed-point calculation of the BDD of the set of reachable states of a finite state machine.