Mechanizing UNITY in Isabelle

  • Authors:
  • Lawrence C. Paulson

  • Affiliations:
  • Univ. of Cambridge, Cambridge, UK

  • Venue:
  • ACM Transactions on Computational Logic (TOCL)
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

UNITY is an abstract formalism for proving properties of concurrent systems, which typically are expressed using guarded assignments [Chandy and Misra 1988]. UNITY has been mechanized in higher-order logic using Isabelle, a proof assistant. Safety and progress primitives, their weak forms (for the substitution axiom), and the program composition operator (union) have been formalized. To give a feel for the concrete syntax, this article presents a few extracts from the Isabelle definitions andproofs. It discusses a small example, two-process mutual exclusion. A mechanical theory of unions of programs supports a degree of compositional reasoning. Original work on extending program states is presented and then illustrated through a simple example involving an array of processes.