2015
DOI: 10.1007/s00165-014-0319-6
|View full text |Cite
|
Sign up to set email alerts
|

Program equivalence by circular reasoning

Abstract: We propose a logic and a deductive system for stating and automatically proving the equivalence of programs in deterministic languages having a rewriting-based operational semantics. 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 program-equivalence problem as we state it. We show that our approach is suitable for proving the equivalence of both terminating and non-terminating programs, an… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
16
0

Year Published

2015
2015
2024
2024

Publication Types

Select...
4
2
1

Relationship

3
4

Authors

Journals

citations
Cited by 16 publications
(16 citation statements)
references
References 29 publications
(29 reference statements)
0
16
0
Order By: Relevance
“…By contrast, in a deep embedding programs have to stay within the bounds of the guest language's syntax and semantics. The same dichotomy (shallow vs. deep embeddings) distinguishes the present paper with our previous work on language-parametric symbolic execution, program verification and program equivalence [11,12,13,14,15].…”
Section: Introductionmentioning
confidence: 73%
“…By contrast, in a deep embedding programs have to stay within the bounds of the guest language's syntax and semantics. The same dichotomy (shallow vs. deep embeddings) distinguishes the present paper with our previous work on language-parametric symbolic execution, program verification and program equivalence [11,12,13,14,15].…”
Section: Introductionmentioning
confidence: 73%
“…They use operational semantics (of a specific language they designed, called LPL) and proof systems, and formally prove their proof system's soundness. Symbolic programs are considered in [25] but for a different notion of program equivalence. In [14] a classification of equivalence relations used in program-equivalence research is given, one of which is full equivalence.…”
Section: Discussion Related Work and Conclusionmentioning
confidence: 99%
“…Finally, our own related work [25] gives a proof system for another equivalence relation parameterized by an observation relation and uses other technical mechanisms. The equivalence relation is based on bisimulation, with each process having some part of its state observable.…”
Section: Discussion Related Work and Conclusionmentioning
confidence: 99%
See 1 more Smart Citation
“…Whereas comparison of signatures can be performed by syntactic comparison of the signature elements -i.e., checking if the names, return types, visibility rules-, comparison of bodies can be arbitrary difficult. If we try to compare the behavior of the domain-specific actions, then we will have to address the semantic equivalence problem, which is known to be undecidable [32]. To address this issue, we conceive bodies comparison in terms of its abstract syntax tree as proposed by Biegel et al [33].…”
Section: Language Modules How To Identify Them?mentioning
confidence: 99%