
- •2 . Сетевые языки функционального и логического программирования
- •Сетевые языки функционального и логического программирования
- •Графические представления схем -отношений.
- •Базисы и сети.
- •Элементарные сети.
- •Операции композиции сетей.
- •Свободные и связанные сети. Вложение сетей.
- •Сетевые языки.
- •Сетевая интерпретация рекурсивных схем -отношений.
- •Реляционная интерпретация сетевых языков.
- •Примеры задания сетевых языков и их реляционной интерпретации.
- •Формализация отношений реляционного включения и эквивалентности сетевых языков.
- •Литература
- •Оглавление
- •41 F logol:язык и система функционально-логического программирования
Формализация отношений реляционного включения и эквивалентности сетевых языков.
Определение
2.18. Если
и
– сетевые языки одинаковой арности в
базисе
,
то язык
включает язык
в сильном смысле, обозначается
,
(соответственно, язык
эквивалентен в сильном смысле языку
,
обозначается
),
если для любой интерпретации
сортов элементов базиса
(соответственно,
,
т.е. выполняется включение в обе стороны).
В случае, когда
и
содержат в точности по одной сети:
и
,
будем писать
и
.
Теорема
2.5.
Если
и
–
-языки,
то
,
тогда и только тогда, когда для всех
сетей
существует сеть
,
такая, что
.
Теорема
2.6. Если
и
–
-языки,
то
,
тогда и только тогда, когда для всех
сетей
существует сеть
,
такая, что
.
Теорема
2.7. Если
и
– сети одинаковой арности в базисе
,
то
,
тогда и только тогда, когда
.Следствие.
Если
и
–
-сети,
то
,
тогда и только тогда, когда
– подсеть сети
.
Вернемся
теперь к описанному в первой части
статьи исчислению
сильного включения схем
-отношений.
Введение сетевой интерпретации
схем
-отношений
позволяет раздельно рассмотреть два
существенно более простых исчисления
– исчисление сетевой эквивалентности
(включения) схем
-отношений
и исчисление сильного реляционного
включения сетевых языков. Первое из
этих исчислений обозначим
(
).
В него войдут аксиомы
,
кроме аксиом 16,17,18,19, и те же правила
вывода. Доказательство правильности
аксиом, связанных с константами
(остальные, определяющие схемы как
множества сетей, очевидны), легко
осуществляется путем рассмотрения
-
и
-представлений
схем
-отношений.
Например, аксиома
15.
проверяется согласно рис. 2.17 (в центре изображена сеть, представляющая правую и левую части равенства).
Полнота
на подмножестве одноэлементных сетевых
языков легко доказывается приведением
сетей к каноническому представлению
относительно операций последовательной
и параллельной композиции с использованием
элементарных безэлементных и одноэлементных
сетей.
Перейдем
теперь к доказательству полноты
исчисления
эквивалентности ациклических схем
-отношений.
Теорема
2.8.
Если
4
, то для любого
– пустое
-отношение,
иначе
(
– основа сети
).
Напомним,
что для связанной сети
.
Теорема
2.9.
Две
различные связанные основные безэлементные
сети одинаковой арности представляют
ортогональные
-отношения.
Доказательство.
Если основные сети
и
одинаковой арности
различны, то существуют разные индексы
,
такие, что
и
,
либо
и
.
Так как сети
и
– связанные, то любая пара
,
не может быть одновременно и элементом
–отношения
,
и элементом
-отношения
,
что и требовалось доказать.
Пусть
и
– конечные множества сетей, представляющие
ациклические схемы
-отношений
и
:
,
.
Базис этих сетей есть
,
и так как в ациклических схемах нет
связанных переменных, то переменные
этих схем одновременно являются и
сортами элементов рассматриваемых
сетей.
Определение
2.19.
Нормализованным представлением
конечного множества сетей
назовем эквивалентное ему, т.е. имеющее
ту же реляционную интерпретацию при
любой реляционной интерпретации базиса,
множество связанных сетей (напомним,
что, по определению, связанные сети
имеют полные
-графы
на множествах точек этих сетей).
Построение
нормализованного представления конечного
множества сетей иллюстрирует рис. 2.18,
на котором показано, как сеть с неполным
-графом
может быть эквивалентно представлена
множеством из двух сетей, причем это
преобразование может осуществляться
до тех пор, пока все сети в рассматриваемом
множестве сетей не будут связанными.
Результативность такого построения
очевидна в силу того, что при каждой
замене в множестве сети
на пару новых сетей
и
количество точек, не связанных ребром
в
-графе,
в сетях
и
на единицу м
еньше,
чем в сети
.
Теорема
2.10. Для любого сетевого языка
существует эквивалентный ему в сильном
смысле
-язык
.
Доказательство следует по индукции из существования нормализованного представления конечных сетевых языков.
Определение
2.20.
Нормализованным представлением
ациклической схемы
-отношений
назовем эквивалентную ей схему
,
где все
– простые схемы, такие, что
– различные сети – элементы нормализованного
представления
.
Следствие
1(теоремы
2.9). Все возможные пары простых комбинаторных
-отношений
в нормализованном представлении
комбинаторного
-отношения
либо сравнимы (по отношению сильного
включения), либо ортогональны.
Определение
2.21.
Каноническим
представлением
комбинаторного
-отношения
назовем такое его нормализованное
представление
,
что все
попарно ортогональны (существование
такого представления непосредственно
выводится из следствия 1).
Следствие
2.Каноническое
представление любого комбинаторного
-отношения
– единственно.
Обозначим
через
множество всех связанных подсетей
связанной сети
.
Построить его можно, например, выбирая
в качестве множеств точек этих подсетей
всевозможные подмножества точек сети
,
содержащие все ее входные и выходные
точки, и исключая при этом произвольное
подмножество элементов
(включающее, как минимум, все те элементы
,
которые имеют в качестве своей некоторой
входной либо выходной точки хотя бы
одну точку, не включенную в выбранное
подмножество). Очевидно, что
.
Более того, любая связанная сеть
имеет единственную связанную безэлементную
подсеть
,
причем
представляет собой решетку по отношению
порядка
с наименьшим элементом
и наибольшим элементом
.
Теорема
2.11.
Необходимым и достаточным условием
сильного реляционного включения
является существование для всякой сети
из
такой сети
в
,
что
,
т.е.
.
Доказательство.
Достаточность.
Очевидно,
что если для всякой сети из
в
существует сеть, не меньшая ее в сильном
реляционном смысле, то
.
Необходимость.
Если связанные безэлементные основные
подсети
и
сетей
и
,
соответственно, не совпадают, то, согласно
теореме 2.9,
,
и, т.к.
и
,
то и
для всех
.
Отсюда для этого случая следует и условие
необходимости, т.к. для любой безэлементной
сети
.
Если же
,
то для доказательстванеобходимости
нам
потребуется понятие интерпретации,
индивидуальной
для
произвольной связанной сети
.
Обозначим задающую ее интерпретацию
элементов базиса через
.
Пусть
,
где
– полный
-граф.
Определение
2.22.
для всех сортов
элементов базиса, полагая, что в качестве
носителя выбрано множество
точек сети
.
Определение 2.23. Точка сети называется либеральной, если она не является ни входом, ни выходом одного из элементов сети.
Пусть
– подмножество либеральных точек сети
.
Лемма
1.
.
Доказательство.
Полагая, что для любой разметки
(см. определение реляционной интерпретации
сети)
для всех
,
а проекция
на подмножество либеральных точек –
произвольная перестановка
на
,
получим, что
.
Для всех других разметок условия в
определении реляционной интерпретации
сети не выполняются, и, следовательно,
выполняется утверждение леммы.
Лемма
2.
Для произвольной связанной сети
той же арности, что и
,
,
если и только если
– подсеть
.
Доказательство.
Очевидно, что для выполнения условия
леммы необходимо, чтобы в
было не меньше точек, чем в
,
иначе при мощности носителя, равной
,
,
а
.
Так как
– связанная сеть, то равенство разметок
точек
и
означает, что и
и
– одна и та же точка, а неравенство
разметок – что
и
– различные точки. Отсюда следует, что
для того, чтобы
-отношение
не оказалось пустым, все элементы сети
должны быть элементами сети
(с точностью до точечного изоморфизма).
Это означает выполнение первого условия
того, что
– подсеть
.
Второе условие – совпадение входов и,
соответственно, выходов сетей
и
– также будет выполнено, т.к. рассматривается
случай, когда
.
Из
леммы 2 следует и требуемое доказательство
необходимости для рассматриваемой
теоремы 2.11. Действительно, для каждой
сети
следует рассмотреть индивидуальную
интерпретацию
.
В соответствии с леммой 1, для любой
перестановки
на множестве либеральных точек сети
и, следовательно,
.
Так как
,
то
,
а согласно лемме 2, это возможно только
в случае, если существует сеть
,
являющаяся подсетью
,
что и требовалось доказать.
Следствие.
Исчисление
полно
на множестве ациклических схем.
Обобщенные
правила вывода второго исчисления –
сильного реляционного включения
произвольных сетевых языков –
формулируются в графической (сетевой)
форме. Первое правило равносильно
аксиомам 18,19
:
Если
и
– сетевые языки одинаковой арности, то
.
Второе правило равносильно аксиоме 17:
.
Аксиома
16 «работает» в процессе отождествления
точек сети при выполнении операций
последовательной композиции сетей и
подстановки сети в сеть вместо ее
некоторого элемента.
Примеры индуктивных доказательств эквивалентности сетевых языков в конструктивных базисах.
Пусть
и
– сетевые языки в некотором конструктивном
базисе, заданные с помощью сетевых
КС-грамматик с аксиомами
и
,
соответственно, и нам требуется доказать,
что
для эрбрановской интерпретации
элементов терминального базиса этих
грамматик. Так как деструкторы выразимы
в рекурсивном языке с основной сигнатурой
с помощью конструкторов и комбинаторных
констант, то можно считать, что терминальный
базис содержит только элементы,
интерпретируемые как конструкторы:
.
Не ограничивая общности, будем считать,
что
и
имеют арность
.
Так как комбинаторная константа
может
быть определена как
,
то, согласно правилу вывода по индукции
(правило П4 для языков рекурсивных схем),
для сетевых представлений получим
следующие правила для отношений
и
(рис. 2.19):
Воспользуемся
этим правилом для доказательство
коммутативности сложения, определенного
в примере 1 (рис. 2.7) в базисе
.
Вначале докажем равенство (задача 1),
показанное на рис. 2.20. Доказательствоиллюстрирует
рис. 2.21, откуда непосредственно следует
искомый результат. При доказательстве
используются свойства конструкторов
(тотальность, функциональность,
функциональность деструкторов,
ортогональность разных конструкторов)
и рекурсивная подстановка правых частей
правил грамматики вместо элементов
нетерминальных сортов.
Докажем
также, что имеет место эквивалентность,
представленная на рис. 2.22 (задача 2).
Доказательство представлено на рис.
2.23.
Наконец
мы уже можем доказать коммутативность
сложения (задача 3, рис.2.24). Доказательство
иллюстрирует рис. 2.25. Приводить сети к
одному входу в явном виде нет необходимости
– просто доказательство по индукции
следует проводить по одному из входов.
В общем случае, в дальнейшем может
потребоваться индукция еще по одному
входу или в
ыходу
сети и т.д.