|
Синтез и преобразования программ
Polyprograms and polyprogram bisimulation
[Полипрограммы и бисимуляция полипрограмм]
S. A. Grechanik Keldysh Institute of Applied Mathematics,
4 Miusskaya sq., Moscow 125047, Russia
Аннотация:
Полипрограмма — это обобщение программы, допускающее множественность определений одной и той же
функции. Подобные объекты возникают в различных системах преобразования программ, таких как
система Бёрстолла–Дарлингтона и насыщение равенствами. В данной работе мы вводим понятие
полипрограммы на нестрогом функциональном языке первого порядка.
Мы определяем денотационную семантику полипрограмм и описываем некоторые преобразования
полипрограмм в двух разных стилях: в стиле системы Бёрстолла–Дарлингтона и в стиле насыщения
равенствами. Преобразования в стиле насыщения равенствами осуществляются над полипрограммами в
расчленённой форме, в которой стирается грань между функциями и выражениями и между подстановкой и
раскрытием вызова функции. Расчленённые полипрограммы хорошо подходят для реализации и проведения
рассуждений, но трудны для человеческого восприятия.
Мы также вводим понятие бисимуляции полипрограмм, на котором основано преобразование — слияние по
бисимуляции, соответствующее доказательству эквивалентности функций по индукции или коиндукции.
Бисимуляция полипрограмм — понятие, вдохновлённое понятием бисимуляции размеченных систем
переходов, но несколько от него отличающееся, поскольку бисимуляция полипрограмм рассматривает
каждое определение как самодостаточное, т.е. функция полипрограммы задаётся любым своим
определением, в то время как в размеченной системе переходов поведение системы в состоянии
определяется всей совокупностью переходов, которые можно осуществить из этого состояния.
Мы предлагаем алгоритм перечисления бисимуляций некоторого определённого вида. Алгоритм состоит из
двух фаз: перечисление пребисимуляций и преобразование их в бисимуляции. Такое разделение
требуется из-за того, что бисимуляции полипрограмм учитывают возможность перестановки параметров
функций. Мы доказываем корректность данного алгоритма, а также формулируем некоторую слабую форму
его полноты.
Статья публикуется в авторской редакции.
Ключевые слова:
полипрограммы, преобразование программ, насыщение равенствами, бисимуляция.
Поступила в редакцию: 10.09.2018
Образец цитирования:
S. A. Grechanik, “Polyprograms and polyprogram bisimulation”, Модел. и анализ информ. систем, 25:5 (2018), 534–548
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/mais647 https://www.mathnet.ru/rus/mais/v25/i5/p534
|
Статистика просмотров: |
Страница аннотации: | 151 | PDF полного текста: | 76 | Список литературы: | 28 |
|