A polynomial algorithm for checking the equivalence in models of programs with commutation and vast operators

In this paper we study the equivalence problem in the model of sequential programs which assumes that some instructions are commutative and absorbing. Two instructions are commutative if the result of their executions does not depend on an order of their execution. An instruction b absorbs an instru...

Full description

Bibliographic Details
Main Authors: V. V. Podymov, V. A. Zakharov
Format: Article
Language:English
Published: Ivannikov Institute for System Programming of the Russian Academy of Sciences 2018-10-01
Series:Труды Института системного программирования РАН
Subjects:
Online Access:https://ispranproceedings.elpub.ru/jour/article/view/809
_version_ 1831558313332965376
author V. V. Podymov
V. A. Zakharov
author_facet V. V. Podymov
V. A. Zakharov
author_sort V. V. Podymov
collection DOAJ
description In this paper we study the equivalence problem in the model of sequential programs which assumes that some instructions are commutative and absorbing. Two instructions are commutative if the result of their executions does not depend on an order of their execution. An instruction b absorbs an instruction a if the sequential composition a;b yields the same result as the single instruction b. A.A. Letichevskij in 1971 proved the decidability of equivalence checking problem in this model of programs. Nevertheless a possibility of building polynomial time equivalence checking procedures remains an open problem till nowadays. The main result of this paper is the description of a polynomial time algorithm for checking the equivalence of sequential programs with commutative and absorbing instructions. The paper includes 9 sections. In Section 1 we introduce informally the model of programs under consideration, the equivalence checking problem, and give a brief overview of the preceding results in the study of equivalence checking problem for this model. In Sections 2 and 3 the syntax and a semigroup-based semantics of propositional model of sequential programs are formally defined. The algebraic properties of semigroups of commutative and absorbing program instructions are studied in Section 4. In Section 5 we introduce a graph of joined computations which is the key structure in designing our equivalence checking techniques. In Section 6 and 7 we show that the cumulative absorbing effect of finite sequences of commutative instructions can be specified by means of finite automata; this is another key step in building the decision procedure. In Section 8 we show that equivalence checking of two programs is reducible to a traversal of a bounded fragment of the graph of joint computations of these programs; the latter can be performed in time polynomial of the size of programs to be checked.
first_indexed 2024-12-17T05:07:43Z
format Article
id doaj.art-f5120dec7f924c2097c742e5e03a8da5
institution Directory Open Access Journal
issn 2079-8156
2220-6426
language English
last_indexed 2024-12-17T05:07:43Z
publishDate 2018-10-01
publisher Ivannikov Institute for System Programming of the Russian Academy of Sciences
record_format Article
series Труды Института системного программирования РАН
spelling doaj.art-f5120dec7f924c2097c742e5e03a8da52022-12-21T22:02:22ZengIvannikov Institute for System Programming of the Russian Academy of SciencesТруды Института системного программирования РАН2079-81562220-64262018-10-0126314516610.15514/ISPRAS-2014-26(3)-8809A polynomial algorithm for checking the equivalence in models of programs with commutation and vast operatorsV. V. Podymov0V. A. Zakharov1Факультет ВМК, МГУ имени М.В. ЛомоносоваИСП РАНIn this paper we study the equivalence problem in the model of sequential programs which assumes that some instructions are commutative and absorbing. Two instructions are commutative if the result of their executions does not depend on an order of their execution. An instruction b absorbs an instruction a if the sequential composition a;b yields the same result as the single instruction b. A.A. Letichevskij in 1971 proved the decidability of equivalence checking problem in this model of programs. Nevertheless a possibility of building polynomial time equivalence checking procedures remains an open problem till nowadays. The main result of this paper is the description of a polynomial time algorithm for checking the equivalence of sequential programs with commutative and absorbing instructions. The paper includes 9 sections. In Section 1 we introduce informally the model of programs under consideration, the equivalence checking problem, and give a brief overview of the preceding results in the study of equivalence checking problem for this model. In Sections 2 and 3 the syntax and a semigroup-based semantics of propositional model of sequential programs are formally defined. The algebraic properties of semigroups of commutative and absorbing program instructions are studied in Section 4. In Section 5 we introduce a graph of joined computations which is the key structure in designing our equivalence checking techniques. In Section 6 and 7 we show that the cumulative absorbing effect of finite sequences of commutative instructions can be specified by means of finite automata; this is another key step in building the decision procedure. In Section 8 we show that equivalence checking of two programs is reducible to a traversal of a bounded fragment of the graph of joint computations of these programs; the latter can be performed in time polynomial of the size of programs to be checked.https://ispranproceedings.elpub.ru/jour/article/view/809программаперестановочные операторыподавляемые операторыэквивалентность программконечный автоматразрешающий алгоритмполиномиальная сложность
spellingShingle V. V. Podymov
V. A. Zakharov
A polynomial algorithm for checking the equivalence in models of programs with commutation and vast operators
Труды Института системного программирования РАН
программа
перестановочные операторы
подавляемые операторы
эквивалентность программ
конечный автомат
разрешающий алгоритм
полиномиальная сложность
title A polynomial algorithm for checking the equivalence in models of programs with commutation and vast operators
title_full A polynomial algorithm for checking the equivalence in models of programs with commutation and vast operators
title_fullStr A polynomial algorithm for checking the equivalence in models of programs with commutation and vast operators
title_full_unstemmed A polynomial algorithm for checking the equivalence in models of programs with commutation and vast operators
title_short A polynomial algorithm for checking the equivalence in models of programs with commutation and vast operators
title_sort polynomial algorithm for checking the equivalence in models of programs with commutation and vast operators
topic программа
перестановочные операторы
подавляемые операторы
эквивалентность программ
конечный автомат
разрешающий алгоритм
полиномиальная сложность
url https://ispranproceedings.elpub.ru/jour/article/view/809
work_keys_str_mv AT vvpodymov apolynomialalgorithmforcheckingtheequivalenceinmodelsofprogramswithcommutationandvastoperators
AT vazakharov apolynomialalgorithmforcheckingtheequivalenceinmodelsofprogramswithcommutationandvastoperators
AT vvpodymov polynomialalgorithmforcheckingtheequivalenceinmodelsofprogramswithcommutationandvastoperators
AT vazakharov polynomialalgorithmforcheckingtheequivalenceinmodelsofprogramswithcommutationandvastoperators