Proving the Equivalence of Microstep and Macrostep Semantics

  • Authors:
  • Klaus Schneider

  • Affiliations:
  • -

  • Venue:
  • TPHOLs '02 Proceedings of the 15th International Conference on Theorem Proving in Higher Order Logics
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Recently, an embedding of the synchronous programming language Quartz (an Esterel variant) in the theorem prover HOL has been presented. This embedding is based on control flow predicates that refer to macrosteps of the programs. The original semantics of synchronous languages like Esterel is however normally given at the more detailed microstep level. This paper describes how a variant of the Esterel microstep semantics has been defined in HOL and how its equivalence to the control flow predicate semantics has been proved. Beneath proving the equivalence of the micro- and macrostep semantics, the work presented here is also an important extension of the existing embedding: While reasoning at the microstep level is not necessary for code generation, it is sometimes advantageous for understanding programs, as some effects like schizophrenia or causality problems become only visible at the microstep level.