Trace-Based Coinductive Operational Semantics for While
- Cite this paper as:
- Nakata K., Uustalu T. (2009) Trace-Based Coinductive Operational Semantics for While. In: Berghofer S., Nipkow T., Urban C., Wenzel M. (eds) Theorem Proving in Higher Order Logics. TPHOLs 2009. Lecture Notes in Computer Science, vol 5674. Springer, Berlin, Heidelberg
We present four coinductive operational semantics for the While language accounting for both terminating and non-terminating program runs: big-step and small-step relational semantics and big-step and small-step functional semantics. The semantics employ traces (possibly infinite sequences of states) to record the states that program runs go through. The relational semantics relate statement-state pairs to traces, whereas the functional semantics return traces for statement-state pairs. All four semantics are equivalent. We formalize the semantics and their equivalence proofs in the constructive setting of Coq.
Unable to display preview. Download preview PDF.