Download PDFOpen PDF in browser

Is it possible to unify sequential programs?

11 pagesPublished: July 29, 2013

Abstract

We introduce a first-order model of imperative sequential programs and set up formally the unification problem in this model: given a pair of programs π<sub>1</sub> and π<sub>2</sub> find a pair of substitutions (θ<sub>1</sub>,θ<sub>2</sub>) such that the instances π<sub>1</sub>θ<sub>1</sub> and π<sub>2</sub>θ<sub>2</sub> of these programs are equivalent, i.e. compute the same function. Since functional equivalence of programs is undecidable, we choose its decidable approximation --- a strong equivalence, --- which is well-known in theory of program schemata. Our main result is a polynomial time unification algorithm for sequential programs w.r.t. strong equivalence of programs.

Keyphrases: equivalence checking, polynomial time, program, substitution, unification

In: Konstantin Korovin and Barbara Morawska (editors). UNIF 2013. 27th International Workshop on Unification, vol 19, pages 35-45.

BibTeX entry
@inproceedings{UNIF2013:Is_it_possible_unify,
  author    = {Tatyana Novikova and Vladimir Zakharov},
  title     = {Is it possible to unify sequential programs?},
  booktitle = {UNIF 2013. 27th International Workshop on Unification},
  editor    = {Konstantin Korovin and Barbara Morawska},
  series    = {EPiC Series in Computing},
  volume    = {19},
  publisher = {EasyChair},
  bibsource = {EasyChair, https://easychair.org},
  issn      = {2398-7340},
  url       = {/publications/paper/J4},
  doi       = {10.29007/77z3},
  pages     = {35-45},
  year      = {2013}}
Download PDFOpen PDF in browser