Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Брошюра FLOGOL-1

.pdf
Скачиваний:
23
Добавлен:
28.06.2014
Размер:
1.28 Mб
Скачать

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

d -отношений d -отношений
R Dбаз

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