Reachability Programming in HOL98 Using BDDs

  • Michael J. C. Gordon
Conference paper

DOI: 10.1007/3-540-44659-1_12

Part of the Lecture Notes in Computer Science book series (LNCS, volume 1869)
Cite this paper as:
Gordon M.J.C. (2000) Reachability Programming in HOL98 Using BDDs. In: Aagaard M., Harrison J. (eds) Theorem Proving in Higher Order Logics. TPHOLs 2000. Lecture Notes in Computer Science, vol 1869. Springer, Berlin, Heidelberg


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 ρ tb 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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Michael J. C. Gordon
    • 1
  1. 1.University of Cambridge Computer LaboratoryCambridgeUK

Personalised recommendations