Program Equivalence is Coinductive

We describe computational models, notably Turing and counter machines, as state transition systems with side effects. Side effects are expressed via an algebraic signature and interpreted over comodels for that signature: comodels describe the memory model while the transition system captures the co...

Full description

Saved in:
Bibliographic Details
Published in:Proceedings of the 31st Annual ACM/IEEE Symposium on Logic in Computer Science pp. 337 - 346
Main Authors: Pattinson, Dirk, Schröder, Lutz
Format: Conference Proceeding
Language:English
Published: New York, NY, USA ACM 05.07.2016
Series:ACM Conferences
Subjects:
ISBN:9781450343916, 1450343910
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:We describe computational models, notably Turing and counter machines, as state transition systems with side effects. Side effects are expressed via an algebraic signature and interpreted over comodels for that signature: comodels describe the memory model while the transition system captures the control structure. Equational reasoning over comodels is known to be subtle. We identify a criterion on equational theories and classes of comodels that guarantees completeness, over the given class of comodels, of the standard equational calculus, and show that this criterion is satisfied in our leading examples. Based on a complete equational axiomatization of the memory (co)model, we then give a complete inductive-coinductive calculus for simulation between states, where a state simulates another if it has at least the same terminating computations, with the same cumulative effect on global state. Extensional equivalence of computations can then be expressed as mutual simulation. The crucial use of coinduction is to deal with non-termination of the simulated computation where the coinductive rule permits infinite unfolding.
ISBN:9781450343916
1450343910
DOI:10.1145/2933575.2934506