
Брошюра FLOGOL-1
.pdf
1. ВВЕДЕНИЕ В ТЕОРИЮ НАПРАВЛЕННЫХ ОТНОШЕНИЙ
|
|
... ( # |
#... # |
# ) (x#...#x) ci )}, |
|
||||||
|
|
|
|
|
|
|
|
ni раз |
|
|
|
|
|
|
|
|
|
ni 1 |
ni 1 |
|
|
|
|
{x |
(сi' сi" ) (ci ( x # |
|
|
|
|||||||
|
|
ci ' ,ci" C |
ci C |
|
|
|
|
|
|
|
|
|
|
i' i" |
|
|
|
|
|
|
|
|
|
|
|
ni 2 |
ni 2 |
|
|
ni 1 |
ni 1 |
|
|
|
|
# x # |
|
... # x) ci )} , |
|
|
|||||||
с0 c0 с0 c0 , |
|
|
|
|
|
|
|
|
|
||
{x 0,0 |
x}. |
|
|
|
|
|
|
|
|
|
|
Т е о р е м а 1.8. График любого |
d -отношения, принадлежащего RC , ре- |
||||||||||
курсивно перечислим. |
|
|
|
|
|
|
|
|
|
||
Доказательство этой теоремы является простым следствием рассмат- |
|||||||||||
риваемых в главе 4 моделей вычислений |
d -отношений. |
|
|
||||||||
Т е о р е м а 1.9. Любая рекурсивная функция представима |
в |
RC , если |
|||||||||
множество конструкторов |
C |
содержит хотя бы один n,1 -арный кон- |
|||||||||
структор с , такой, что |
n 0 . |
|
|
|
|
|
|
|
|||
Доказательство. Пусть |
1) |
Null (0) c , 2) если |
n 1, |
то |
Succ(1) c , |
||||||
|
|
|
|
|
|
|
0 |
|
|
|
|
иначе |
Succ(1) ( ( # (... ( # |
)... ))) c . Тогда, оче- |
|||||||||
|
|
|
Nat |
|
|
|
|
|
|
|
|
видно, |
d -отношение {x Null x Succ} |
представляет множество |
|||||||||
натуральных чисел при соглашении, что константа |
Null |
представляет |
|||||||||
ноль, а Succ(Null) , Succ(Succ(Null)) ,… |
соответствуют единице, двойке и |
||||||||||
т.д. Таким образом, константа |
0 |
и функция прибавления 1 (интерпретант |
|||||||||
конструктора Succ ) выразимы в |
RC . Базисные рекурсивные функции вы- |
||||||||||
бора аргумента представляются как комбинаторные |
d -отношения – про- |
||||||||||
екции на соответствующую координату (см. 1.6). |
|
|
|
|
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 21

1. ВВЕДЕНИЕ В ТЕОРИЮ НАПРАВЛЕННЫХ ОТНОШЕНИЙ
|
m -Арная функция |
f |
, |
m 0 , |
полученная оператором суперпозиции |
||||||||||||||
: |
f [g (n) , h(m) ,..., h(m) ] x ,...,x . g(h (x ,...,x |
m |
),...,h (x ,...,x )) |
пред- |
|||||||||||||||
|
|
|
1 |
n |
|
|
|
1 |
|
m |
1 |
1 |
|
|
|
n 1 |
m |
|
|
ставляется в |
R C |
как (m,1) -арное |
|
d -отношение |
F |
следующим образом: |
|||||||||||||
F (H1 ... Hn ) G , |
где |
|
|
G, H1 ,...,Hn – d -отношения, представляющие |
|||||||||||||||
функции g, h1 ,...,hn , соответственно. |
|
|
|
|
|
|
|
|
|
||||||||||
|
m -Арная функция |
f |
, |
m 0 , |
полученная оператором примитивной |
||||||||||||||
рекурсии |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
: |
|
f [g (m 1) ,h(m 1) ] x ,...,x |
m |
. if x |
0 then g(x ,...,x |
m |
1) else h(x , |
|
|||||||||||||
|
|
|
|
1 |
|
|
m |
|
|
|
|
1 |
|
|
|
1 |
|
||
...,xm 1 , xm 1, f (x1 ,...,xm 1 , xm 1)) |
имеет следующее представление в |
R C : |
|||||||||||||||||
|
m 1 |
|
|
|
|
|
m 1 |
|
|
|
m |
|
|
|
|
|
|
||
F |
{x ( # Null) G ( # Succ) |
|
( x) H }. |
|
|
||||||||||||||
|
m -Арная функция |
f , |
m 0 , |
полученная оператором минимизации |
|||||||||||||||
: |
f [g |
(m 1) ] x ,...,x |
m |
.(наименьшее |
a , |
такое, |
что |
g(x ,...,a) 0) , |
|||||||||||
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
представляется |
|
|
в |
|
|
|
|
|
|
R C |
|
|
|
|
|
так: |
|||
|
m |
|
|
|
|
|
m 1 |
|
|
|
|
|
|
|
|
|
|
|
|
F |
( # |
Null ) {x (G * ) (Null # |mm 11 |
|
|
|
|
|
|
|
||||||||||
|
|
m |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(Succ ( # |
( # Succ) x)}. |
|
|
|
|
|
|
|
|
|
|
||||||||
1.10. Иерархия классов |
|
d -отношений. |
|
|
|
|
|
|
|
|
|
Пусть R Dбаз – некоторое
отношений на носителе |
D . |
О п р е д е л е н и е 1.8. |
[R баз ] |
|
D 0 |
множество исходных или базисных d -
назовем классом рекурсивных относитель-
но R баз |
d -отношений, [R баз ] |
|
|
|
|
, где "0 (R кпэ ,{ ,#, ,{}}) , назовем клас- |
|||||
D |
D |
"0 |
|
|
|
сом регулярных (итеративных) относительно |
R баз |
d -отношений, [R баз ] |
|||
|
|
|
D |
D |
0 |
назовем классом ациклических относительно |
R баз |
d -отношений, [R баз ] |
|||
|
|
|
D |
D |
00 |
назовем классом простых относительно R Dбаз d -отношений.
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 22

1. ВВЕДЕНИЕ В ТЕОРИЮ НАПРАВЛЕННЫХ ОТНОШЕНИЙ
Возвращаясь к замечанию в 1.2 об альтернативной возможности вве-
дения в языки схем d -отношений оператора наименьшей фиксированной точки, заметим, что любое регулярное относительно d -отношение может быть получено как компонент минимального решения системы уравнений:
xi (Rij |
x j |
) Ri0 |
для всех i 1..n , |
|
|
||
j 1..n |
|
|
|
|
|
|
|
где все R |
и |
R |
|
– простые относительно |
R баз |
d -отношения. |
|
ij |
i 0 |
|
|
D |
|
Т е о р е м а 1.10. Перечисленные в определении 1.7 классы образуют систему вложенных (в том же порядке) классов для любого множества R Dбаз базисных d -отношений.
1.11. Исчисления включения и эквивалентности схем d -отношений.
В этом разделе мы рассмотрим формализацию таких фундаменталь-
ных взаимных свойств d -отношений, как включение и эквивалентность.
1.11.1.Отношения включения и эквивалентности схем d -
отношений. Рассмотрим схемы d -отношений A1 и A2 одной и той же
арности. |
|
|
|
|
|
|
|
|
О п р е д е л е н и е 1.9. Схема |
d -отношений A1 |
включает схему |
d - |
|||||
отношений |
A2 |
в интерпретации |
, если |
A2 A1 . Схема |
d - |
|||
отношений |
A1 |
эквивалентна схеме d -отношений |
A2 |
в интерпретации |
||||
, если |
A2 A1 . |
|
|
|
|
|
|
|
О п р е д е л е н и е 1.10. Схема |
A1 |
включает схему |
A2 |
в сильном смысле, |
||||
если A2 A1 для любой интерпретации |
|
переменных. Схе- |
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 23

1. ВВЕДЕНИЕ В ТЕОРИЮ НАПРАВЛЕННЫХ ОТНОШЕНИЙ
ма |
A1 |
эквивалентна схеме |
A2 |
в |
сильном |
смысле, если |
||
A2 A1 для любой интерпретации |
|
переменных. |
||||||
|
Очевидно, отношение эквивалентности схем |
A1 |
и |
A2 |
выполняется, |
|||
если выполняются отношения включения между |
A1 |
и |
A2 |
в обе стороны. |
Отношения сильного включения и эквивалентности будем обозначать че-
рез и , соответственно.
1.11.2.Исчисление сильного включения ациклических схем d -
отношений. Ниже приведены аксиомы и правила вывода исчисления сильного включения, сокращенно обозначенного RIC
( Relation Inclusion Calculus ), для языка A |
|
ациклических схем d - |
|
|
|
0 |
|
отношений. |
|
|
|
В этом исчислении |
A , B , C , возможно, с индексами, обозначают |
||
произвольные схемы d -отношений. Запись |
A B есть сокращение для |
||
пары схем аксиом A B |
и B A. Там, где не указаны арности схем d - |
отношений, предполагается, что они могут быть любыми, при условии, что соблюдается правильность согласования арностей при построении соот-
ветствующих схем и формул исчисления.
Схемы аксиом :
1. A (B C) ( A B) C .
n
2. A n ,n A .
n
3. A n ,n A .
4. A#(B #C) ( A# B) #C .
5. A# A .
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 24

1.ВВЕДЕНИЕ В ТЕОРИЮ НАПРАВЛЕННЫХ ОТНОШЕНИЙ
6.# A A .
7.(A # B ) (A # B ) (A A ) #(B B ) .
8. |
n |
n |
n ,n |
|
# B |
n ,n |
|
) |
n |
n |
B A ( A |
A A |
|
B B |
|
A B B # A. |
9..
10..
11.( # ) ( # ) .
12.( # ) ( # ) .
13.( # ) .
14.( # ) ( # ) .
15.1 1 .
16.. 1 1
17. ( A A) A.
18. A n ,n |
n n . |
19.A B B A.
20.(A B) С A (B C) .
21.A A A.
22.n n A n,n n n .
23.A n ,n n n n n .
24.n n A n ,n .
25. A |
n |
,n |
|
# |
n |
|
n |
|
n |
n |
|
n n |
. |
|
||||||
A |
A |
|
|
|
|
|
A |
|
|
A |
|
|||||||||
26. |
n |
|
n |
# A |
n |
,n |
|
|
n |
n |
n n |
. |
||||||||
|
|
|
A |
|
A |
|
|
A |
|
|
A |
|
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 25

1.ВВЕДЕНИЕ В ТЕОРИЮ НАПРАВЛЕННЫХ ОТНОШЕНИЙ
27.(A B) C A C B C .
28.A (B C) A B A C .
29.(A B) #C A#C B #C .
30.A#(B C) A# B A#C .
Правила вывода:
П1. |
A B, B C |
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
A C |
|
|
|
|
|
|
|
|
|
П2. |
A B |
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
E [B / A]E |
|
|
|
|
|
|
|
|||
|
Здесь [B / A]E – результат замены в схеме |
|
E |
некоторого вхождения |
||||||
схемы A на схему B . |
|
|
|
|
|
|||||
|
Истинность аксиом и непротиворечивость правил вывода поддаются |
|||||||||
непосредственной проверке. |
|
|
|
|
|
|||||
Т е о р е м а 1.11 |
. Исчисление RIC полно |
|
на |
множестве схем d - |
||||||
отношений языка |
A |
(т.е. RIC A B ( |
|
A |
|
B ) для всех |
||||
|
|
|
|
|
0 |
|
|
|
||
схем A, B A |
|
. Доказательство этой теоремы будет дано в главе 2 (по- |
||||||||
|
|
0 |
|
|
|
|
|
|
|
сле введения сетевого представления схем d -отношений).
1.11.3.Отношение включения рекурсивных схем d -отношений. При
формализации отношения включения для схем d -отношений языка |
A |
, |
|
|
0 |
т.е. построенных с использованием оператора наименьшей фиксирован-
ной точки, исчисление RIC расширяется добавлением аксиомы фиксиро-
ванной точки и правила индукции:
31. {x E} [{x E}/ x]E (аксиома фиксированной точки),
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 26

1. ВВЕДЕНИЕ В ТЕОРИЮ НАПРАВЛЕННЫХ ОТНОШЕНИЙ
П3. |
S [? ? / x]P; S & P [E / x]P |
(правило индукции), |
|
|
|
S [{x E}/ x]P |
|
||
|
|
|
|
|
|
где |
P – формула исчисления (т.е. формула вида A B или |
A B ), |
S – множество формул-посылок, не содержащих свободных вхождений
переменной x .
Однако, добавление этой аксиомы и правила вывода по индукции, не-
смотря на их теоретическую оправданность и практическую полезность, не приводит к построению исчисления включения d -отношений, обладаю-
щего статусом полноты, что справедливо для RIC. Более того, множество истинных формул сильного включения для класса рекурсивных схем d -
отношений не является рекурсивно-перечислимым.
1.11.4.Отношение сильного включения схем конструктивных d -
отношений. Множество элементарных констант в языках схем конструк-
тивных d -отношений состоят из символов с1 ,...,cm конструкторов и сим-
волов деструкторов с1 ,...,cm . Комбинаторные константы вводятся по определению.
Исчисление включения для схем конструктивных d -отношений со-
держит аксиомы 1 8, 18 31 и аксиомы, определяющие свойства конструк-
торов:
32. с ni ,1 |
c |
|
|
ni |
|
|
|
|
|
|||
, для всех i 1.. m . |
|
|||||||||||
|
i |
|
|
i |
|
|
|
|
|
|
|
|
33. |
с |
n ,1 |
c |
1,n j |
|
n |
n j |
, для всех |
i, j 1..m, |
и i j . |
||
i |
|
j |
|
i |
|
|||||||
|
i |
|
|
|
|
|
|
|
|
|
||
34.[ |
|
(nji |
| ci )] 1 1 . |
|
|
|||||||
|
сi C |
j 1..ni |
|
|
|
|
|
|
|
|
К правилам вывода присоединяется правило П4 вывода по контексту:
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 27

1. ВВЕДЕНИЕ В ТЕОРИЮ НАПРАВЛЕННЫХ ОТНОШЕНИЙ
i ... i |
n |
j ... j |
n |
((с |
i |
#...#c |
i |
|
) E n ,n (c |
j |
#...#c |
j |
|
) (c |
i |
#...#c |
i |
|
) E n ,n (c |
j |
#...#c |
j |
|
)) |
1 |
1 |
|
|
n |
1 |
|
n |
|
|
n |
2 |
|
n |
|
||||||||||
|
|
|
|
|
1 |
|
|
|
1 |
|
|
|
1 |
|
|
|
1 |
|
|
|
E1 E2
Нижеследующие утверждения (выводимые в этом исчислении) рас-
крывают другие важные свойства конструкторов сi , i 1..m :
|
ni |
|
|
|
1) |
(ci |
#ci ) ci |
(функциональность конструктора сi ), |
|
|
|
|
ni |
|
2) |
(ci #ci ) |
ci |
(функциональность деструктора сi ), |
|
|
|
|
ni |
|
3) |
сi (тотальность конструктора сi ), |
|||
4) |
(с #c |
) ni n j 1 , |
i j (неунифицируемость различных кон- |
|
|
i j |
|
|
|
структоров).
В практическом плане для доказательства включения схем конструк-
тивных d -отношений, вероятно, более полезным является другое правило индукции, которое выводимо из выше сформулированного правила П3:
|
П5. |
S [E (0) |
/ x]P;( k 0)(S & [E (0) / x]P & ...& [E (k 1) / x]P [E (k ) / x]P |
|
|
|
S [{x E}/ x]P |
||
|
|
|
||
, |
|
|
|
|
где |
E(0) n n , |
E(i 1) [E(i) / x]E , а x n ,n не входит свободно в S . |
||
|
|
|||
1.12. |
Бестиповые направленные отношения. |
|
1.12.1.Сигнатуры языков схем бестиповых d -отношений.
Рассмотренные ранее типизированные d -отношения являются част-
ным случаем бестиповых d -отношений (определения 1.1 и 1.2), более то-
го, все введенные операции композиции d -отношений и оператор рекур-
сии были определены так, что они в полной мере применимы и к бестипо-
вым d -отношениям. Сохраняют свое значение и ограничения на интер-
претацию элементов универсальных сигнатур, в том числе и определение
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 28

1. ВВЕДЕНИЕ В ТЕОРИЮ НАПРАВЛЕННЫХ ОТНОШЕНИЙ
комбинаторных констант как неподвижных точек относительно любых пе-
рестановок элементов носителя, за исключением того, что произвольная бестиповая комбинаторная константа тоже может быть представлена как объединение простых комбинаторных констант, но не обязательно конеч-
ное. Таким образом, для бестиповых d -отношений мы сохраним основ-
ные определения
универсальных сигнатур, в том числе и основных,
общих принципов построения языков схем направленных отноше-
ний.
Изменение касается определения регулярных схем.
Языки регулярных схем d -отношений вместо оператора рекурсии
имеют сигнатуры, расширенные операциями параллельной и последова-
тельной итерации (первая из них допустима только для языков схем бести-
повых d -от-ношений).
Параллельная итерация:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R# R(#k ) , где |
R(#0) , |
R(#1) |
R и |
R(#(i 1)) |
R(#i) # R , |
|
|
||||
|
|
k 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
или |
R# {x x# R}. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
Последовательная итерация: |
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
|
||
|
R R( k ) , где |
R( 0) { , | D*} (тождественное бес- |
||||||||||
|
|
k 0 |
|
i 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
типовое d -отношение), R( 1) |
R и |
R( (i 1)) |
R( i) R , |
|
||||||
|
|
|
|
|
|
|
||||||
|
или |
R {x ( )# x R}. |
|
|
|
|
|
|
Заметим, что результат применения операции (последовательной)
итерации к типизированной схеме d -отношений R ранее обозначался
как {R}.
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 29

1. ВВЕДЕНИЕ В ТЕОРИЮ НАПРАВЛЕННЫХ ОТНОШЕНИЙ
Пусть Fр – основная универсальная сигнатура F0 , расширенная опе-
рациями последовательной и параллельной итерации. Класс [Rбаз ]
D F0
назовем классом регулярных относительно RDбаз d -отношений.
Для конструктивных базисов, при условии наличия в нем хотя бы од-
ного конструктора арности, большей 1, проблема типизации d -отношений
вообще не имеет принципиального значения, т.к. возможность конструи-
рования в них, например, списков позволяет ограничиться рассмотрением
только d -отношений арности 1,1 . Этот подход в явной форме был ис-
пользован Дж. Бэкусом при |
определении его функциональной системы. |
|
|
|
|
|
|
||
|
Одним из основных |
преимуществ типизированных схем |
d - |
отношений является возможность их наглядного и «технологичного» представления сетевыми языками. Сохранение сетевого представления в сочетании с более высокой выразительностью языков бестиповых d -
отношений в определенной мере реализовано в языке функционально-
логического программирования FLOGOL , описанию которого посвящена
часть 4.
Рассмотрим частный случай языков бестиповых схем d -отношений,
в которых свободные переменные интерпретируются как типизированные d -отно-шения, т.е. как обладающие определенной арностью, а связанные переменные являются, в общем случае, бестиповыми. Введение такого ограничения позволяет использовать сетевое представление схем такого языка при условии, что сети – элементы сетевого языка – не обязательно должны иметь одинаковую арность. Однако, основной проблемой остается вопрос использования сетевых грамматик для задания таких языков, так как нетерминальные сорта (элементы нетерминального базиса) уже не бу-
дут иметь фиксированную арность, и не ясно, как их использовать в каче-
стве сортов элементов сетей.
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 30