Брошюра FLOGOL-2
.pdf
2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ
С л е д с т в и е 2 . Каноническое представление любого комбинаторного
d -отношения – единственно.
Обозначим через (S ) множество всех связанных подсетей связан-
ной сети S . Построить его можно, например, выбирая в качестве мно-
жеств точек этих подсетей всевозможные подмножества точек сети S , со-
держащие все ее входные и выходные точки, и исключая при этом произ-
вольное подмножество элементов S (включающее, как минимум, все те элементы S , которые имеют в качестве своей некоторой входной либо выходной точки хотя бы одну точку, не включенную в выбранное под-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
множество). Очевидно, что |
|
( S (S )) |
S S . Более того, любая связанная |
||||||||||||||||||||||||||||||||||
сеть |
|
|
имеет единственную связанную безэлементную подсеть |
|
0 , при- |
||||||||||||||||||||||||||||||||
S |
S |
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
чем |
|
(S ) |
представляет собой решетку по отношению порядка |
|
|
с |
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 . |
|
|
|
|
|
|
|
|
наименьшим элементом |
S |
|
и наибольшим элементом S |
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
Т е о р е м а |
2.11. Необходимым и достаточным условием сильного реля- |
||||||||||||||||||||||||||||||||||||
ционного включения |
|
|
|
|
|
является существование для всякой сети |
|
|
|||||||||||||||||||||||||||||
|
|
|
|
S |
|||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
из |
такой сети |
S |
в |
|
|
, что |
|
S |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
(S ) , т.е. |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
( S |
)( S |
|
)S |
|
(S ) . |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
Доказательство. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Достаточность. Очевидно, что если для всякой сети из |
|
в |
|
|
суще- |
||||||||||||||||||||||||||||||||
ствует сеть, не меньшая ее в сильном реляционном смысле, то |
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|||||||||||||||||||||||||||||||||
. |
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Необходимость. Если связанные безэлементные основные подсети |
|
S 0 |
и |
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
S 0 |
сетей |
S и |
S , соответственно, не совпадают, то, |
согласно теореме |
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
0 , |
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
0 , |
|
|
|
|
|||||||
2.9, S 0 S |
и, |
|
т.к. |
|
S |
|
S |
и |
S S |
|
то |
и |
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. Отсюда для этого случая следует и |
||||||||||||||||||||
S |
S |
|
для всех |
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 31
2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ
условие |
необходимости, |
т.к. для любой безэлементной сети |
S 0 |
|||
S 0 |
. Если же |
|
0 |
|
0 , то для доказательства необходимости нам |
|
S |
S |
|||||
потребуется понятие интерпретации, индивидуальной для произвольной связанной сети S . Обозначим задающую ее интерпретацию элементов ба-
зиса через . Пусть |
|
|
|
|
S |
P, I ,O, E,G , где |
G – полный dif -граф. |
||
|
S |
|
|
|
О п р е д е л е н и е 2.22. |
S R { Ie ,Oe | R, IeOe E} для всех сор- |
|||
|
|
|
|
|
тов R |
элементов базиса, полагая, что в качестве носителя выбрано мно- |
|||
жество |
P точек сети |
S . |
|
|
О п р е д е л е н и е 2.23. Точка сети называется либеральной, если она не является ни входом, ни выходом одного из элементов сети.
Пусть |
Pл – подмножество либеральных точек сети |
S . |
Л е м м а 1 . |
S { (I ), (O) | для всех перестановок на P }. |
|
|
S |
л |
Доказательство. Полагая, что для любой разметки (см. определение ре-
ляционной интерпретации сети) ( p) p для всех p P \ Pл , а проекция
|
на подмножество |
либеральных точек – произвольная перестановка |
на |
P , получим, что |
(I ), (O) S . Для всех других разметок |
|
л |
S |
условия в определении реляционной интерпретации сети не выполняются,
и, следовательно, |
выполняется утверждение леммы. |
||||
Л е м м а |
2 . |
Для произвольной связанной сети |
S той же арности, что и |
||
|
|
|
|
|
|
S , |
S |
|
S , если и только если |
S – подсеть S . |
|
S |
|
S |
|
|
|
Доказательство. |
Очевидно, что для выполнения условия леммы необхо- |
||||
|
|
|
|
|
|
димо, чтобы в S |
было не меньше точек, чем в |
S , иначе при мощности |
|||
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 32
2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ
|
|
|
|
|
|
|
|
, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
носителя, равной |
|
| P |, |
S |
а |
|
|
S |
. Так как |
S |
– |
свя- |
||||||||||||
|
|
|
|
|
|
|
S |
|
|
|
|
|
S |
|
|
|
|
|
|
|
|
|
|
занная сеть, то равенство разметок точек |
|
p1 |
|
и |
p2 означает, что и |
|
p1 и |
||||||||||||||||
p2 – одна и та же точка, а неравенство разметок – что |
p1 |
и p2 |
– различ- |
||||||||||||||||||||
ные точки. Отсюда следует, что для того, чтобы |
d -отношение |
|
S |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S |
|
|
|
|
не оказалось пустым, все элементы сети |
|
|
S должны быть элементами се- |
||||||||||||||||||||
|
(с точностью до точечного изоморфизма). Это означает выполнение |
||||||||||||||||||||||
ти S |
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
первого условия того, что S – подсеть |
|
|
S . Второе условие – совпадение |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
входов и, соответственно, выходов сетей |
|
S |
|
и |
S – также будет выпол- |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
нено, т.к. рассматривается случай, когда |
|
S 0 |
S 0 . |
|
|
|
|
|
|
|
|||||||||||||
Из леммы 2 следует и требуемое доказательство необходимости для |
|||||||||||||||||||||||
рассматриваемой теоремы 2.11. Действительно, |
для каждой сети |
|
|
|
|
||||||||||||||||||
S |
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
следует рассмотреть индивидуальную интерпретацию |
|
. В соответствии |
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S ' |
|
|
|
|
|
|
с леммой 1, для любой перестановки |
|
|
на множестве либеральных точек |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
сети |
|
S |
|
|
|
|
|
S |
|
|
и, |
следовательно, |
|||||||||||
|
|
|
(I ), |
(O ) |
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
S ' |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
(I ), (O )) |
|
. Так как |
|
, то (I ), (O ) " , а |
|||||||||||||||||||
|
|
|
|
S ' |
|
|
|
|
|
|
|
|
|
|
|
|
|
S ' |
|
|
|
|
|
согласно лемме 2, это возможно только в случае, если существует сеть
|
|
|
|
|
|
|
|
|
S |
|
, являющаяся подсетью |
S |
, что и требовалось доказать. |
||||
|
|
|
||||||
С л е д с т в и е. Исчисление |
R I C полно на множестве ациклических |
|||||||
схем. |
|
|
|
|
|
|||
Обобщенные правила вывода второго исчисления – сильного реляци-
онного включения произвольных сетевых языков – формулируются в гра-
фической (сетевой) форме. Первое правило равносильно аксиомам 18,19
RIC:
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 33
2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ
Если S1 и S 2 – сетевые языки одинаковой арности, то
( S1 S 1 )( S2 S 2 )S1 S2 .
S 1 S 2
Второе правило равносильно аксиоме 17:
|
|
|
|
|
|
|
{p , p } G |
|
. |
||
|
|
|
|
||
|
|||||
{S} S {[ p |
/ p ]S, P, I ,O, E,G {p , p } } S |
|
|||
Аксиома 16 «работает» в процессе отождествления точек сети при выполнении операций последовательной композиции сетей и подстановки сети в сеть вместо ее некоторого элемента.
' |
ci |
|
ci |
" |
|
|
|
для всех |
c(0,1) |
B ; |
|
|
|
|||
|
|
|
i |
т |
|
|
|
|
|
для всех |
c(mi ,1) |
B , m 0 , |
|
|
|
|||
|
|
|
|
|
i |
т |
|
|
|
(для всех |
|
|
|
|
|
' |
|
|
" |
x(0,1) |
B |
т |
B |
x j |
|
x j |
|
||
|
j |
|
|
н |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1 
сi
xmi 
' |
|
|
|
|
|
x1 
сi
xmi 
" |
) |
' |
|
" |
|
|
|
Рис. 2.19. Правило вывода по индукции для сетевых языков в конструктивном базисе.
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 34
2.СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ
2.11.Примеры индуктивных доказательств эквивалентности сетевых языков в конструктивных базисах.
Пусть и – сетевые языки в некотором конструктивном базисе,
заданные с помощью сетевых КС-грамматик с аксиомами |
и , соот- |
|
ветственно, и нам требуется доказать, что |
|
для эрбра- |
э |
э |
|
новской интерпретации э элементов терминального базиса этих грамма-
тик. Так как деструкторы выразимы в рекурсивном языке с основной сиг-
натурой { ,#, } с помощью конструкторов и комбинаторных констант,
то можно считать, что терминальный базис содержит только элементы, ин-
терпретируемые как конструкторы: |
B {с(n1 ,1) |
,c(n2 ,1) ,...}. |
Не ограничивая |
||
|
|
т |
1 |
2 |
|
общности, будем считать, что |
и |
|
имеют арность |
1,n . Так как |
|
комбинаторная константа |
|
|
может быть |
определена как |
|
{x(1,1) (сi x сi )}, то, согласно правилу вывода по индукции (прави-
ci C
ло П4 для языков рекурсивных схем), для сетевых представлений получим следующие правила для отношений и (рис. 2.19):
Воспользуемся этим правилом для доказательство коммутативности сложения, определенного в примере 1 (рис. 2.7) в базисе {N (0,1) , S (1,1) }.
Вначале докажем равенство (задача 1), показанное на рис. 2.20.
Доказательство иллюстрирует рис. 2.21, откуда непосредственно следует
N |
A |
|
= |
Рис. 2.20. Задача 1.
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 35
2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ
искомый результат. При доказательстве используются свойства конструк-
торов (тотальность, функциональность, функциональность деструкторов,
ортогональность разных конструкторов) и рекурсивная подстановка пра-
вых частей правил грамматики вместо элементов нетерминальных сортов.
Докажем также, что имеет место эквивалентность, представленная на рис. 2.22 (задача 2). Доказательство представлено на рис. 2.23.
N 
а)
N 
A |
N |
= |
б)
|
N |
A |
x |
|
|
|
|
= |
|
|
|
|
x |
|
|
|
|
|
|
|
|
|
|
|
|
|
N |
|
A |
|
N |
|
|
|
S |
|
A |
|
|
|
|
x |
S |
|
|
S |
|
|
|
||||
|
|
|
x |
S |
N |
A |
|
|
x |
|
S |
|
x |
S |
Рис. 2.21. Решение задачи 1.
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 36
2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ
S |
A |
|
A |
S |
|
|
= |
|
|
|
Рис. 2.22. Задача 2. |
|
|
|
S |
A |
|
|
A |
а) |
|
S |
S |
|
N |
|
|
|
N |
б)
Пусть
|
S |
A |
|
A |
|
|
|
= |
|
S |
|
|
x |
x |
|
|
|
|
|
|
|
||
|
|
Тогда |
|
|
|
|
S |
A |
S |
A |
|
|
|
|
|
||
x |
S |
|
x |
S |
= |
|
|
|
A |
S |
x |
S |
|
x |
S |
A |
S |
Рис. 2.23. Решение задачи 2.
Наконец мы уже можем доказать коммутативность сложения (задача
3, рис.2.24). Доказательство иллюстрирует рис. 2.25. Приводить сети к од-
ному входу в явном виде нет необходимости – просто доказательство по
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 37
2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ
индукции следует проводить по одному из входов. В общем случае, в
дальнейшем может потребоваться индукция еще по одному входу или вы-
A |
A |
|
= |
Рис. 2.24. Задача 3.
A
а)
N 
б) Пусть
|
|
A |
|
= |
N |
|
|
согласно решению задачи 1
A |
|
A |
x |
= |
x |
|
|
Тогда |
|
|
|
|
|
A |
|
|
A |
|
x |
S |
|
S |
|
|||
|
|
x |
S |
S |
по предположению
A
x
S |
x |
A |
= |
|
S |
= |
|
согласно решению задачи 2
x
=
S |
A |
|
S |
Рис. 2.25. Решение задачи 3.
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 38
2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ
ходу сети и т.д.
ЛИТЕРАТУРА
1.Кутепов В.П., Фальк В.Н. Функциональные граф-схемы алгоритмов и их эквивалентные преобразования // Киев: Труды Первой Всесоюзной конференции по программированию. Изд. Института Кибернетики АН УССР, 1968.
2.Фальк В.Н. Исследование эквивалентности схем программ средствами языка схем отношений // Программирование, 1982. №6.
3.Фальк В.Н. Формальная модель языков программирования FALGOL – тридцать лет спустя // Изв. РАН. Теория и системы управления. 2009. №1.
4.Фальк В.Н. Языки схем отношений // Формальные модели параллельных вычислений. Новосибирск, 1988.
5.Кутепов В.П., Фальк В.Н. Направленные отношения: теория и приложения // Изв. РАН. Техническая кибернетика, 1994. №4,5.
6.Фальк В.Н. Теория направленных отношений и ее приложения // Автореф. дисс. … докт. техн. наук. -М: МЭИ. -2001.-40 с.
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 39
2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ
ОГЛАВЛЕНИЕ |
|
2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО |
|
ПРОГРАММИРОВАНИЯ ............................................................................... |
1 |
2.1. Графические представления схем d -отношений. ........................... |
1 |
2.2. Базисы и сети. .......................................................................................... |
4 |
2.3. Элементарные сети................................................................................. |
7 |
2.4. Операции композиции сетей. ............................................................... |
7 |
2.5. Свободные и связанные сети. Вложение сетей. ................................ |
9 |
2.6. Сетевые языки....................................................................................... |
11 |
2.7. Сетевая интерпретация рекурсивных схем d -отношений.......... |
14 |
2.8. Реляционная интерпретация сетевых языков................................ |
16 |
2.9. Примеры задания сетевых языков и их реляционной |
|
интерпретации.............................................................................................. |
17 |
2.10. Формализация отношений реляционного включения и |
|
эквивалентности сетевых языков. ........................................................... |
26 |
ЛИТЕРАТУРА ................................................................................................. |
39 |
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 40
