
- •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.