TY - GEN
T1 - Program Equivalence is Coinductive
AU - Pattinson, Dirk
AU - Schröder, Lutz
N1 - Publisher Copyright:
© 2016 ACM.
PY - 2016/7/5
Y1 - 2016/7/5
N2 - 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.
AB - 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.
KW - Models of computation
KW - algebraic theories
KW - comodels
KW - non-wellfounded proofs
KW - program equivalence
UR - http://www.scopus.com/inward/record.url?scp=84994618745&partnerID=8YFLogxK
U2 - 10.1145/2933575.2934506
DO - 10.1145/2933575.2934506
M3 - Conference contribution
T3 - Proceedings - Symposium on Logic in Computer Science
SP - 337
EP - 346
BT - Proceedings of the 31st Annual ACM-IEEE Symposium on Logic in Computer Science, LICS 2016
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 31st Annual ACM/IEEE Symposium on Logic in Computer Science, LICS 2016
Y2 - 5 July 2016 through 8 July 2016
ER -