Program equivalence by circular reasoning

Verfasser / Beitragende:
[Dorel Lucanu, Vlad Rusu]
Ort, Verlag, Jahr:
2015
Enthalten in:
Formal Aspects of Computing, 27/4(2015-07-01), 701-726
Format:
Artikel (online)
ID: 605516359
LEADER caa a22 4500
001 605516359
003 CHVBK
005 20210128100713.0
007 cr unu---uuuuu
008 210128e20150701xx s 000 0 eng
024 7 0 |a 10.1007/s00165-014-0319-6  |2 doi 
035 |a (NATIONALLICENCE)springer-10.1007/s00165-014-0319-6 
245 0 0 |a Program equivalence by circular reasoning  |h [Elektronische Daten]  |c [Dorel Lucanu, Vlad Rusu] 
520 3 |a We propose a logic and a deductive system for stating and automatically proving the equivalence of programs written in languages having a rewriting-based operational semantics. The chosen equivalence is parametric in a so-called observation relation, and it says that two programs satisfying the observation relation will inevitably be, in the future, in the observation relation again. This notion of equivalence generalises several well-known equivalences and is appropriate for deterministic (or, at least, for confluent) programs. The deductive system is circular in nature and is proved sound and weakly complete; together, these results say that, when it terminates, our system correctly solves the given program-equivalence problem. We show that our approach is suitable for proving equivalence for terminating and non-terminating programs as well as for concrete and symbolic programs. The latter are programs in which some statements or expressions are symbolic variables. By proving the equivalence between symbolic programs, one proves the equivalence of (infinitely) many concrete programs obtained by replacing the variables by concrete statements or expressions. The approach is illustrated by proving program equivalence in two languages from different programming paradigms. The examples in the paper, as well as other examples, can be checked using an online tool. 
540 |a British Computer Society, 2014 
690 7 |a Program equivalence  |2 nationallicence 
690 7 |a Proof system  |2 nationallicence 
690 7 |a Language independence  |2 nationallicence 
700 1 |a Lucanu  |D Dorel  |u Al. I. Cuza University of Iaşi, Iasi, Romania  |4 aut 
700 1 |a Rusu  |D Vlad  |u Inria Lille Nord-Europe, Lille, France  |4 aut 
773 0 |t Formal Aspects of Computing  |d Springer London  |g 27/4(2015-07-01), 701-726  |x 0934-5043  |q 27:4<701  |1 2015  |2 27  |o 165 
856 4 0 |u https://doi.org/10.1007/s00165-014-0319-6  |q text/html  |z Onlinezugriff via DOI 
898 |a BK010053  |b XK010053  |c XK010000 
900 7 |a Metadata rights reserved  |b Springer special CC-BY-NC licence  |2 nationallicence 
908 |D 1  |a research-article  |2 jats 
949 |B NATIONALLICENCE  |F NATIONALLICENCE  |b NL-springer 
950 |B NATIONALLICENCE  |P 856  |E 40  |u https://doi.org/10.1007/s00165-014-0319-6  |q text/html  |z Onlinezugriff via DOI 
950 |B NATIONALLICENCE  |P 700  |E 1-  |a Lucanu  |D Dorel  |u Al. I. Cuza University of Iaşi, Iasi, Romania  |4 aut 
950 |B NATIONALLICENCE  |P 700  |E 1-  |a Rusu  |D Vlad  |u Inria Lille Nord-Europe, Lille, France  |4 aut 
950 |B NATIONALLICENCE  |P 773  |E 0-  |t Formal Aspects of Computing  |d Springer London  |g 27/4(2015-07-01), 701-726  |x 0934-5043  |q 27:4<701  |1 2015  |2 27  |o 165