Program Equivalence by Circular Reasoning
Type de document :
Article dans une revue scientifique: Article original
Titre :
Program Equivalence by Circular Reasoning
Auteur(s) :
Lucanu, Dorel [Auteur]
Department of Computer Science [Lasi]
Rusu, Vlad [Auteur]
Dynamic Reconfigurable Massively Parallel Architectures and Languages [DREAMPAL]
Department of Computer Science [Lasi]
Rusu, Vlad [Auteur]
Dynamic Reconfigurable Massively Parallel Architectures and Languages [DREAMPAL]
Titre de la revue :
Formal Aspects of Computing
Pagination :
701-726
Éditeur :
Springer Verlag
Date de publication :
2015
ISSN :
0934-5043
Discipline(s) HAL :
Informatique [cs]/Langage de programmation [cs.PL]
Informatique [cs]/Logique en informatique [cs.LO]
Informatique [cs]/Logique en informatique [cs.LO]
Résumé en anglais : [en]
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 ...
Lire la suite >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.Lire moins >
Lire la suite >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.Lire moins >
Langue :
Anglais
Comité de lecture :
Oui
Audience :
Internationale
Vulgarisation :
Non
Collections :
Source :
Fichiers
- https://hal.inria.fr/hal-01065830/document
- Accès libre
- Accéder au document
- http://hal.inria.fr/docs/00/77/33/51/PDF/program-equivalence-by-circular-reasoning.pdf
- Accès libre
- Accéder au document
- https://hal.inria.fr/hal-01065830/document
- Accès libre
- Accéder au document
- https://hal.inria.fr/hal-01065830/document
- Accès libre
- Accéder au document
- document
- Accès libre
- Accéder au document
- ifm-faoc.pdf
- Accès libre
- Accéder au document
- program-equivalence-by-circular-reasoning.pdf
- Accès libre
- Accéder au document
- document
- Accès libre
- Accéder au document
- ifm-faoc.pdf
- Accès libre
- Accéder au document