- •2 . Сетевые языки функционального и логического программирования
- •Сетевые языки функционального и логического программирования
- •Графические представления схем -отношений.
- •Базисы и сети.
- •Элементарные сети.
- •Операции композиции сетей.
- •Свободные и связанные сети. Вложение сетей.
- •Сетевые языки.
- •Сетевая интерпретация рекурсивных схем -отношений.
- •Реляционная интерпретация сетевых языков.
- •Примеры задания сетевых языков и их реляционной интерпретации.
- •Формализация отношений реляционного включения и эквивалентности сетевых языков.
- •Литература
- •Оглавление
- •41 F logol:язык и система функционально-логического программирования
2 . Сетевые языки функционального и логического программирования
Сетевые языки функционального и логического программирования
Графические представления схем -отношений.
Графические представления различного рода схем, например, схем программ, в теоретическом программировании известны давно. Графическая форма представления функциональных схем была введена еще в [1], а в [2] сетевое представление схем отношений уже играло заметную роль при проведении доказательств и определении моделей вычислений.
Ниже
описаны две формы графического
представления схем
-отношений,
помогающие раскрыть сущность базисных
операций композиции
-отношений
и облегчающие решение проблем сильной
эквивалентности и включения схем
-отношений,
введенных в первой главе.
Первое
из них, так называемое "лоскутное"
(
)
представление (сокращенно,
-представление)
связано с особенностями базисных
операций последовательной и параллельной
композиции
-отношений
и, как нам кажется, поясняет выбор их
названий. В
-представлении
адекватно отражаются как собственные
свойства этих операций (см. аксиомы 1,4
),так
и их связь между собой (аксиома 7) и с
константами
(аксиомы 2,3,5,6).
Рассмотрим
простые схемы
-отношений,
полученные
-компози-цией
констант и переменных.
-Представление
таких схем определим индуктивно:
элементарные схемы – константы и переменные – изображаются прямоугольниками, внутри которых помещаются соответствующие символы – констант или переменных; для всех случаев, кроме констант
,
-представления
элементарных схем имеют произвольные
ненулевые значения размеров представляющих
их прямоугольников; для констант
длина, а при
и высота могут быть равны нулю, более
того, всякий раз, когда это возможно,
будем выбирать для них именно нулевые
размеры;если
и известны
-представления
схем
и
с внешними границами в форме
прямоугольников, то путем соответствующей
трансформации (сжимания или растягивания)
в вертикальном направлении они приводятся
к одинаковой, в общем случае ненулевой
высоте (исключение составляет случай
),
после чего правая граница
-представления
совмещается с левой границей
-представления
(рис. 2.1a);е
сли
,
то путем трансформации
-представлений
и
в горизонтальном направлении они
приводятся к одинаковой, в общем случае,
ненулевой (кроме случая
)
длине, после чего нижняя граница
-представления
совмещается с верхней границей
-представления
(рис. 2.1b).На
рис. 2.1c
показан пример
-представления
схемы

,
где
имеет арность
,
а
– арность
.
На рис. 2.1d
дано
графическое пояснение аксиомы 7.
Р
ис.
2.2 иллюстрирует на примере уже рассмотренной
ранее схемы несколько более информативное
"лоскутное"
представление, отражающее арности всей
схемы и отдельных ее подсхем. Такое
представление получается в результате
отказа от прямоугольной формы
-представлений,
полагая, что всякая схема арности
имеет жесткие только вертикальную
левую и вертикальную правую границы,
размерами
и
некоторых выбранных заранее единиц,
соответственно, а соединение попарно
их верхних и нижних концов осуществляется
идеальными пружинами с ненулевой (а для
констант
– нулевой) начальной длиной.
К
неявному использованию
-представлений
простых схем (например, для доказательства
непротиворечивости аксиом 8-15) мы вернемся
после того, как введем так называемое
сетевое
(
)
представление, или, сокращенно,
-представление
схем
-отношений,
базирующееся на специальном уточнении
понятия сети в некотором базисе элементов
и понятия сетевого языка. Последнее
понятие является обобщением известного
понятия формального языка, для которого
в качестве элементов языка выступают
не слова в некотором алфавите, а сети в
некотором базисе элементов 1.
