
Брошюра FLOGOL-2
.pdf
2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ
F |
S |
|
|
N |
|
F |
|
S |
M |
F |
|
A
N |
M
N |
M |
|
A |
|
|
M |
||
|
S |
||
|
|
||
|
S |
A |
|
A |
S |
||
|
|||
|
|
Рис. 2.7. Пример 1.
|
|
A |
M |
Рис. 2.8. Пример 2.
P
N |
P |
P
S |
S |
P |
S |
N |
P |
|
|
|
A |
S |
|
Рис. 2.9. Пример 3. Конструктор упорядоченной пары.
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 21

2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ
С |
|
С |
N |
S |
S |
|
|
|
С |
|
|
N |
S |
S |
|
С |
A |
С |
Рис. 2.10. Пример 4.
App
Nil
App
Cons
Cons
App |
Рис. 2.11. Пример 5.
X |
Y |
Y |
|
||
Y |
Y |
A |
|
||
|
|
B |
|
|
C |
Рис. 2.12. Пример
С
|
С |
|
С |
|
|
|
|
|
|
|
|
|
|
|
С |
|
|
|
a1 |
d1 |
|
|
|
|
|
|
|
|
С |
|
|
a2 |
d2 |
С |
N |
|
|
|
|
||
|
|
|
|
|
|
m { a1 , d1 |
, a2 , d2 |
,..., an , dn }, |
|
|
|
ai ' ai" |
при i' i". |
an |
|
dn |
Рис. 2.14. Представление состояний памяти типа «куча».
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 22

2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ
IR
F |
F |
/ |
2 |
I |
|
2 |
I |
U |
U |
|
|
|
|
|
|
|
|
|
F |
|
|
|
|
| | |
|
|
|
|
|
|
|
|
|
|
2 |
|
|
U
|
2 |
I |
I |
|
I |
Рис. 2.13. Пример 7.
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 23

2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ
R
C
C |
R
C |
C |
R |
W
C |
C |
W
C |
C |
C |
C |
C |
W |
New
New |
|
|
C |
|
|
Ad |
C |
|
|
|
C |
|
N |
C |
C |
New |
Рис. 2.15. Пример 8. Операции с памятью типа «куча».
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 24

2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ
R
P
PS |
W
P
PS |
P |
PS |
R
P
PS |
I |
R |
I
S |
I |
S |
W
P
PS
I
W
PS |
I |
|
PS
New
Nat |
P |
|
|
|
PS |
|
N |
N |
S |
P |
S |
Рис. 2.16. Пример 9. Операции над памятью типа «куча» в универсуме натуральных чисел.
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 25

2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ
New
I |
Nat |
P |
P |
PS |
P |
PS |
Рис. 10. Пример 4. |
|
PS |
|
New |
P |
|
PS |
PS |
New |
I |
Рис. 2.16. Пример 9 (продолжение).
2.10. Формализация отношений реляционного включения и эквива-
лентности сетевых языков. |
|
|
|
|
О п р е д е л е н и е 2.18. Если |
S 1 и |
S 2 – сетевые языки одинаковой арно- |
||
сти в базисе B , то язык S 2 |
включает язык |
S 1 |
в сильном смысле, обо- |
|
значается S1 S 2 , (соответственно, |
язык |
S 1 |
эквивалентен в сильном |
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 26

|
2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ |
|
|||||||||||||||||||
смысле языку |
S 2 , обозначается |
S1 S 2 ), если |
для любой интерпретации |
||||||||||||||||||
|
сортов |
|
элементов базиса |
B |
|
S |
1 |
S |
2 |
(соответственно, |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
S |
1 |
|
|
|
S |
2 |
, т.е. выполняется |
включение в обе стороны). В случае, |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
когда |
|
S 1 |
и |
|
S 2 |
|
содержат в точности по одной сети: S1 {S1} и S 2 |
{S2 }, |
|||||||||||||
будем писать |
S1 S2 |
и S1 S2 . |
|
|
|
|
|
|
|
|
|
|
|||||||||
Т е о р е м а |
|
2.5. Если |
S 1 и |
S 2 |
– b -языки, то |
S1 S 2 , тогда и только то- |
|||||||||||||||
гда, |
когда для всех сетей |
S1 S1 |
существует сеть |
|
S2 S 2 , такая, |
что |
|||||||||||||||
S1 S2 . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Т е о р е м а 2.6. Если |
S 1 и |
S 2 |
– l -языки, то |
S1 S 2 , тогда и только то- |
|||||||||||||||||
гда, |
когда |
|
для всех сетей |
S1 S1 |
существует сеть |
|
S2 S 2 , такая, |
что |
|||||||||||||
S1 S2 . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Т е о р е м а 2.7. Если |
S1 и |
S2 – сети одинаковой арности в базисе |
B , то |
||||||||||||||||||
S1 S2 , тогда и только тогда, когда |
S1 S2 .С л е д с т в и е . Если S1 |
и |
S2 |
||||||||||||||||||
– b -сети, то |
|
S1 S2 , тогда и только тогда, когда |
S2 – подсеть сети S1 . |
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
= |
|
|
|
= |
|
|
|
|
|
|
|
|
|
|
|
|
|
( # ) ( # |
) |
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
Рис. 2.17. Проверка аксиомы 15. |
|
|
|||||||||
|
Вернемся теперь к описанному в первой части статьи исчислению |
||||||||||||||||||||
RIC |
|
сильного включения схем |
d -отношений. Введение сетевой интер- |
||||||||||||||||||
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ |
27 |

2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ
претации схем d -отношений позволяет раздельно рассмотреть два
существенно более простых исчисления – исчисление сетевой эквивалент-
ности (включения) схем d -отношений и исчисление сильного реляцион-
ного включения сетевых языков. Первое из этих исчислений обозначим
NEC ( Net Equivalence Calculus). В него войдут аксиомы RIC , кроме аксиом
16,17,18,19, и те же правила вывода. Доказательство правильности аксиом,
связанных с константами (остальные, определяющие схемы как множества
сетей, очевидны), легко осуществляется путем рассмотрения r - и n -
представлений схем d -отношений. Например, аксиома RIC
15. ( # ) ( # )
проверяется согласно рис. 2.17 (в центре изображена сеть, представляющая правую и левую части равенства).
Полнота NEC на подмножестве одноэлементных сетевых языков
легко доказывается приведением сетей к каноническому представлению относительно операций последовательной и параллельной композиции с использованием элементарных безэлементных и одноэлементных сетей.
Перейдем теперь к доказательству полноты исчисления |
RIC эквива- |
|||||
лентности ациклических схем |
d -отношений. |
|
|
|||
Т е о р е м а 2.8. Если |
| D | Chr(G) 4 , то |
для любого |
|
S – пустое |
||
|
|
|
|
|
|
|
d -отношение, иначе |
|
S S ( S |
– основа сети |
S ). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Напомним, что для связанной сети S |
P, I ,O, E,G |
Chr(G) | P | . |
Т е о р е м а 2.9. Две различные связанные основные безэлементные сети одинаковой арности представляют ортогональные d -отношения.
4 Chr(G) – хроматическое число графа G .
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 28

2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ
Доказательство. |
Если |
основные |
сети |
S |
|
|
|
|
|
|
|
|
|
|
и |
|||||||||
|
P , I ,O , ,G |
|
|
|
||||||||||||||||||||
S |
|
|
|
,G |
|
|
одинаковой арности m,n |
различны, то суще- |
||||||||||||||||
|
P , I ,O , |
|
||||||||||||||||||||||
ствуют разные индексы |
i1 ,i2 |
(i1 i2 ) , такие, что |
pri |
|
|
|
|
|
|
|
|
и |
||||||||||||
(I O ) pri |
(I O ) |
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
2 |
|
|
|
|
||
pri |
|
|
|
, |
|
|
|
|
|
|
|
и |
pri |
|
|
|
|
|
|
|
||||
(I O ) pri (I O ) |
либо pri (I O ) pri |
(I O ) |
|
(I O ) pri (I O ) . |
||||||||||||||||||||
|
1 |
|
2 |
|
|
|
|
|
|
1 |
2 |
|
|
|
1 |
|
|
|
2 |
|
|
|
||
Так как сети |
S |
|
|
и |
S |
|
– связанные, то |
|
любая |
пара |
|
|
|
|
|
, |
||||||||
|
|
|
|
d ,d |
|
|||||||||||||||||||
d ' Dm ,d Dn |
не может быть одновременно и элементом |
d –отношения |
||||||||||||||||||||||
S , и элементом |
d -отношения |
S , что и требовалось доказать. |
||||||||||||||||||||||
|
|
Пусть |
и |
|
– конечные множества сетей, представляющие ацик- |
|||||||||||||||||||
лические схемы |
d -отношений |
|
|
|
|
|
|
|
|
|
|
. Базис |
||||||||||||
A |
и A |
: |
A , |
A |
||||||||||||||||||||
этих сетей есть |
|
|
|
|
|
|
|
и так как в ациклических схемах нет |
||||||||||||||||
FV (A ) FV ( A ) , |
связанных переменных, то переменные этих схем одновременно являются
и сортами элементов рассматриваемых сетей.
О п р е д е л е н и е 2.19. Нормализованным представлением конечного множества сетей назовем эквивалентное ему, т.е. имеющее ту же реля-
ционную интерпретацию при любой реляционной интерпретации базиса,
множество связанных сетей (напомним, что, по определению, связанные сети имеют полные dif -графы на множествах точек этих сетей).
Построение нормализованного представления конечного множества сетей иллюстрирует рис. 2.18, на котором показано, как сеть с неполным dif -графом может быть эквивалентно представлена множеством из двух сетей, причем это преобразование может осуществляться до тех пор, пока все сети в рассматриваемом множестве сетей не будут связанными. Ре-
зультативность такого построения очевидна в силу того, что при каждой замене в множестве сети S на пару новых сетей S и S количество
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 29

2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ
точек, не связанных ребром в d i f -графе, в сетях |
|
S и |
S |
на единицу |
|||||||||||||
меньше, чем в сети |
S . |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
S |
|
|
|
|
|
S ' |
|
|
S " |
|
|
|
|
|
|
|
|
|
p' |
|
|
p" |
|
|
|
|
|
|
p' |
|
p" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
{p', p"} GS |
|
|
p' p" |
|
|
|
{p', p"} G |
|
|
|||||
|
|
|
|
|
|
|
|
|
{S} {S ', S "} |
|
|
|
S |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
Рис. 2.18. Приведение множества сетей к канонической форме. |
|
|
||||||||||||||
Т е о р е м а |
2.10. Для любого сетевого языка S 1 |
существует эквивалент- |
|||||||||||||||
ный ему в сильном смысле |
b -язык S 2 . |
|
|
|
|
|
|
|
|
||||||||
|
Доказательство следует по индукции из существования нормализован- |
||||||||||||||||
|
ного представления конечных сетевых языков. |
|
|
|
|
|
|
||||||||||
О п р е д е л е н и е |
2.20. |
Нормализованным представлением |
ацикличе- |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
k |
ской схемы |
A |
d -отношений назовем эквивалентную ей схему A |
Ai , |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
где все |
Ai |
– простые схемы, такие, что |
Ai – различные сети – эле- |
||||||||||||||
менты нормализованного представления |
A . |
|
|
|
|
|
|
||||||||||
С л е д с т в и е |
1 (теоремы 2.9). Все возможные пары простых комбина- |
||||||||||||||||
торных |
d -отношений |
|
|
в нормализованном представлении комбина- |
|||||||||||||
Ai |
|
||||||||||||||||
торного d -отношения A |
либо сравнимы (по отношению сильного вклю- |
||||||||||||||||
чения), либо ортогональны. |
|
|
|
|
|
|
|
|
|
|
|||||||
О п р е д е л е н и е |
2.21. Каноническим представлением комбинаторного |
||||||||||||||||
d -отношения |
назовем |
такое его нормализованное |
представление |
||||||||||||||
|
k |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A Ai |
, что все |
Ai попарно ортогональны (существование такого пред- |
i 1
ставления непосредственно выводится из следствия 1).
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 30