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

Брошюра FLOGOL-2

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

2.СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ

2.СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ

2.1.Графические представления схем d -отношений.

Графические представления различного рода схем, например, схем программ, в теоретическом программировании известны давно. Графиче-

ская форма представления функциональных схем была введена еще в [1], а

в [2] сетевое представление схем отношений уже играло заметную роль

при проведении доказательств и определении моделей вычислений.

Ниже описаны две формы графического представления схем d -

отношений, помогающие раскрыть сущность базисных операций компо-

зиции d -отношений и облегчающие решение проблем сильной эквива-

лентности и включения схем d -отношений, введенных в первой главе.

Первое из них, так называемое "лоскутное" ( rag ) представление (со-

кращенно, r -представление) связано с особенностями базисных операций

последовательной и параллельной композиции d -отношений и, как нам

кажется, поясняет выбор их названий. В r -представлении адекватно от-

ражаются как собственные свойства

этих операций (см. аксиомы 1,4

 

?

RIC),так и их связь между собой (аксиома 7) и с константами (акси-

омы 2,3,5,6).

 

Рассмотрим простые схемы d -отношений, полученные ( , #) -

композицией констант и переменных.

r -Представление таких схем опре-

делим индуктивно:

 

1)элементарные схемы – константы и переменные – изображаются прямоугольниками, внутри которых помещаются соответствующие символы – констант или переменных; для всех случаев, кроме кон-

FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ

2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ

n

стант , r -представления элементарных схем имеют произ-

вольные ненулевые значения размеров представляющих их прямо-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

а при n 0

 

 

 

 

 

 

 

 

 

 

угольников; для констант длина,

и высота мо-

 

гут быть равны нулю, более того, всякий раз, когда это возможно,

 

будем выбирать для них именно нулевые размеры;

 

 

 

 

 

 

 

 

 

2)

если

 

 

 

 

 

 

и известны

r -представления схем

 

и

 

 

 

с

A A

A

 

A

A

 

 

 

внешними границами в форме прямоугольников, то путем соответ-

 

ствующей трансформации (сжимания или растягивания) в верти-

 

кальном направлении они приводятся к одинаковой, в общем слу-

 

чае

ненулевой

 

 

высоте

(исключение

 

составляет

 

 

случай

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

-представления

 

 

 

 

A

A ), после чего правая граница

 

A

 

совмещается с левой границей

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r -представления A (рис. 2.1a);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A'

 

 

 

 

 

 

A

 

 

 

 

 

 

A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A'

 

 

 

 

A"

 

 

 

 

A"

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а)

 

 

 

 

 

b)

 

 

 

 

 

 

 

 

 

 

 

 

c)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2.1. r -Представление:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а) последовательная композиция:

 

 

A' A" ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b) параллельная композиция:

A' # A",

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c) пример r-представления.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3)

если

 

 

 

 

 

то путем трансформации

r -представлений

 

 

и

A A # A ,

A

 

 

 

 

в горизонтальном направлении они приводятся к одинаковой, в

 

A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

общем случае, ненулевой (кроме случая

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A A

 

 

 

 

 

 

 

FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 2

2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ

после чего нижняя граница r -представления

 

совмещается с

A

 

 

 

(рис. 2.1b).На рис. 2.1c по-

верхней границей r -представления A

казан

пример

r -представления

 

схемы

( A A # ) B # B

( A # ) ,

где

A

имеет арность

1,1 , а

B – арность

1,2 . На рис. 2.1d

дано

графическое пояснение аксиомы 7.

 

 

 

 

 

 

A' A"

"B' "B"

Рис. 2.1. r -Представление.

d) иллюстрация к аксиоме 7: ( A' # B' ) ( A"# B") A' A"# B' B" .

Рис. 2.2 иллюстрирует на примере уже рассмотренной ранее схемы несколько более информативное "лоскутное" представление, отражающее арности всей схемы и отдельных ее подсхем. Такое представление получа-

ется в результате отказа от прямоугольной формы r -представлений, пола-

гая, что всякая схема арности m,n имеет жесткие только вертикаль-

ную левую и вертикальную правую границы, размерами m и n некото-

рых выбранных заранее единиц, соответственно, а соединение попарно их верхних и нижних концов осуществляется идеальными пружинами с нену-

n

левой (а для констант – нулевой) начальной длиной.

FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 3

2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ

A

 

A

 

 

 

 

B

 

 

 

B

 

 

A

 

 

 

 

 

 

Рис. 2.2. Модифицированное

r – представление

 

 

( A(1,1) , B(1,2) )

К неявному использованию r -представлений простых схем (напри-

мер, для доказательства непротиворечивости аксиом 8-15) мы вернемся после того, как введем так называемое сетевое ( net ) представление, или,

сокращенно, n -представление схем d -отношений, базирующееся на спе-

циальном уточнении понятия сети в некотором базисе элементов и поня-

тия сетевого языка. Последнее понятие является обобщением известного понятия формального языка, для которого в качестве элементов языка вы-

ступают не слова в некотором алфавите, а сети в некотором базисе элементов 1.

2.2.Базисы и сети.

О п р е д е л е н и е

2.1. Базисом

элементов

B

назовем тройку

 

 

 

 

,

 

где

R -

конечное

множество

сортов элементов;

R, ,

 

 

 

 

: R

0..

 

 

 

 

 

 

,

 

задают арность (R), (R) элементов сорта. По опре-

 

 

 

 

 

(R)

называется количеством входов, а

 

 

делению,

(R) – количеством

выходов элементов сорта

R .

 

 

 

1 Известные определения понятия графического языка, на наш взгляд, не доведены до необходимого уровня абстракции.

FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 4

2.СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ

Со г л а ш е н и е . В дальнейшем, для краткости, базисы будем рассматри-

вать как множества сортов элементов с указанием их арностей в качестве верхних индексов.

О п р е д е л е н и е

2.2. Сетью

S арности

 

 

 

 

 

 

 

n ,n ,

n ,n

0 , в базисе

элементов

B называется пятерка

P, I,O, E,G , где

 

 

 

 

 

P – конечное множество точек сети

S ;

 

 

 

 

 

 

 

 

I ,O P *

– кортежи входных

и выходных точек сети

S ,

| I | n

 

и

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

| O | n ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E R P * –

множество элементов

сети

S ,

такое,

что

для

всех

e R,q E

 

 

 

 

;

если

 

 

 

E

 

и

| q | (R)

(R)

e R,q q

 

 

 

 

 

 

 

e

называется элементом сети S

сорта R ,

| q

| R) , | q

 

| (R) , то

q - кортежем его входных, а

q - кортежем его выходных точек;

 

 

G P {2} граф семантического различия точек сети

S

(точнее, G

множество ребер этого графа), сокращенно, dif –граф сети

S .

 

 

Сети рассматриваются с точностью до изоморфизма относительно

множеств точек:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

О п р е д е л е н и е

2.3. Сеть

 

S P, I ,O , E ,G

идентична

сети

 

 

 

 

 

 

 

1

1

1

1

1

1

 

 

 

 

 

S2 (P2 , I2 ,O2 , E2 ,G2 ) , если и только если сущеcтвует частичное взаимно-

однозначное отображение : P

P ,

такое, что I

2

(I

) ,

O

(O ) ,

 

1

2

 

1

 

2

1

E2 (E1 ) ,

G2 (G1 ) , полагая,

что

естественным образом распро-

страняется на кортежи и множества. Класс всех возможных сетей в базисе

B будем обозначать S B .

Заметим, что согласно этому определению при решении вопроса о принадлежности классу идентичных сетей автоматически не учитываются

"изолированные" точки сети, т.е. точки, не являющиеся ни компонентами

2 | A | обозначает длину кортежа A .

FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 5

2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ

кортежей I и O , ни концами ребер dif -графа, ни компонентами корте-

жей входных и выходных точек элементов сети.

Графически сеть

 

 

в базисе B

изображается в

S арности n ,n

 

виде прямоугольного контура, на левой границе которого выделено n

входов, а на правой границе – n выходов сети; внутри контура изображе-

ны неизолированные точки сети, соединенные

 

с входами и выходами сети согласно компонентам I и O ,

 

между собой согласно компоненту

G и

 

через изображения элементов соответствующих сортов согласно ком-

 

поненту

E : элемент

 

 

 

изображается прямоугольным кон-

 

e R,q q

 

С

B

 

 

A

 

С

С

С

A

Рис. 2.3. Пример графического изображения сети.

туром, внутри которого указан символ R , а | q | выделенных на левой

границе контура входов и | q | выделенных на правой границе выходов соединены (в порядке перечисления сверху вниз) с соответствующими точками – элементами кортежей q и q , соответственно. Очевидно,

что при таком определении идентичные сети изображаются одинаково с точностью до размеров и размещения их графических компонентов на плоскости.

FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 6

2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ

На рис. 2.3 приведен пример графического изображения сети S ар-

ности 4,3 в базисе {A(3,1) , B(0,2) , C(1,1) }.

2.3.Элементарные сети.

Определим (рис. 2.4) два подмножества элементарных сетей – безэле-

ментных S 0 (не зависящее от выбора базиса B ) и одноэлементных S 1B

{S1x | x B}. Для обозначения сетей из S 0

используются те же символы,

что и для элементарных комбинаторных

d -отношений (констант); далее

будет очевидна их связь и, следовательно, станет понятен сам выбор таких символов.

 

 

 

 

 

 

 

 

a) элементарные безэлементные сети (S 0 ) ,

 

 

x(n',n")

n'

n"

b) элементарная одноэлементная сеть S1x S 1, x Bн Bт .

Рис. 2.4. Элементарные сети.

2.4.Операции композиции сетей.

Пусть

здесь и далее S P, I,O, E,G ,

S P , I

,O , E ,G

и

 

 

1

1

1

1

1

1

 

S2 P2 , I2 ,

O2 , E2 ,G2 – сети в базисе B и P1

не пересекается с

P2 .

 

FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 7

2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ

Последовательная композиция.

Пусть

O1 p11... p1n

и I2

p21... p2n .

Тогда

S S

2

[I

2

/ O ] P P , I

 

,O , E E

,G G ,

где

[ / ]S S ,

1

 

 

1

1

 

2

1

 

2

 

1

2

1

2

 

 

 

 

 

 

 

 

 

 

[[ p

 

 

 

 

/[ p

 

 

 

 

 

 

 

 

 

 

[ p X

 

/ p X ]S

 

/ p ]X

 

 

 

/ p ]X ][ p

 

/ p ]S , а подстановка [ p

 

/ p ]X

доопределяется для множеств и кортежей естественным образом. Если в результате подстановки в графе G1 G2 получаются петли (это по опре-

делению сети недопустимо), то результат последовательной композиции не определен.

Графически это означает выполнение следующих действий над сетя-

ми:

 

 

1. "Приклеивание" выровненного по высоте изображения сети

S2

справа

к изображению сети S1 с попарным отождествлением для всех

i 1..n

i -ой выходной точки сети S1 с i -ой входной точкой сети

S2

и по-

следующим исключением графических компонентов, представляющих

O1 и I 2 (т.е. правой границы S1 и левой границы S2 с обозначения-

ми соответствую-щих выходов и входов вместе с их связями с точками

сетей).

2.Исключение повторных изображений элементов в полученной сети, ко-

торые могут возникнуть в результате выполнения п.1.

Пример выполнения операции последовательной композиции сетей по-

казан на рис. 2.5.

 

 

 

 

 

 

 

 

 

 

 

 

 

Параллельная композиция. S # S

2

P P , I

I

2

,O O , E E ,G G .

1

 

1

2

1

 

1

2

1

2

1

2

Графически это означает "приклеивание" выровненного по ширине

изображения сети S2 снизу к изображению сети

S1

 

с исключением об-

щей границы (нижней для S1

и верхней для

 

S2 ).

 

 

 

 

 

Т е о р е м а 2.1. Любая безэлементная сеть (т.е. сеть c пустым множеством элементов, E ) может быть получена ( , #) -композицией сетей из S 0 .

FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 8

2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ

Т е о р е м а 2.2. Любая сеть в базисе

B может быть получена ( , #) -

композицией сетей из S 0 S 1B .

 

Заметим, что исключение из S 0

отдельных элементов приводит к

получению ( , #) -композицией различных интересных подклассов сетей.

Например, исключение приводит к описанию подкласса всех "плос-

ких" сетей, т.е. сетей, допускающих их изображение на плоскости без пе-

ресечений каких-либо линий связи.

A

 

B

C

A

 

B

 

=

C

 

A

A

 

=

B

B

=

C

C

=

A

 

A

 

B

B

C

C

 

 

 

Рис. 2.5. Пример выполнения операции последовательной композиции.

2.5.Свободные и связанные сети. Вложение сетей.

О п р е д е л е н и е 2.4. Сеть называется свободной ( l -сетью), если ее

dif -

граф

G – пустой.

 

О п р е д е л е н и е 2.5. Сеть называется связанной (b -сетью), если ее

dif -

граф

G – полный.

 

FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 9

2. СЕТЕВЫЕ ЯЗЫКИ ФУНКЦИОНАЛЬНОГО И ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ

О п р е д е л е н и е

2.6.

Сеть

S2

вложима в сеть S1 (обозначается

S1 S2 ),

если и только если существует всюду определенное на P2 (то-

тальное) отображение : P P , такое, что

 

 

 

 

2

1

 

 

 

 

 

 

 

;

( {p , p } G2 ){ ( p ), ( p )} G1

 

(I2 ) I1 ;

 

 

 

 

 

(O2 ) O1 ;

 

 

 

 

 

( R,q E2 ) R, (q) E1.

 

Так как

G1 содержит только двухэлементные подмножества

P1 , то

требуемое отображение

 

 

 

 

 

 

 

 

 

таково, что ( {p , p } G2 ) ( p ) ( p ) .

О п р е д е л е н и е

2.7.

Сеть

S2 называется подсетью сети

S1 ,

если

S1 S2 и отображение

в определении вложения является взаимно од-

нозначным.

 

 

 

 

 

 

 

 

 

 

 

Т е о р е м а 2.3. Если

S1

и

S2 b -сети, то

S2

вложима в

S1

тогда и

только тогда, когда

S2

является подсетью

S1 .

 

 

 

 

 

Отметим,

что

исключение константы

 

из числа элементарных

констант позволяет с помощью операций последовательной

и параллель-

ной композиции получить в точности подкласс

l -сетей.

 

 

 

О п р е д е л е н и е

2.8.

Основными точками

сети S P, I,O, E,G

назовем ее точки, являющиеся либо ее входами, либо ее выходами, либо входами или выходами ее элементов. Множество основных точек сети

обозначается далее

 

 

 

 

 

 

 

P .

 

 

 

 

 

 

О п р е д е л е н и е

2.9. Подсеть

 

 

 

S , где

 

– про-

S

P, I ,O, E,G сети

G

 

 

 

 

S .

 

 

 

екция G на P , называется основой сети

 

 

 

О п р е д е л е н и е

2.10. Сеть, являющаяся своей основой, называется ос-

новной.

 

 

 

 

 

 

 

FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 10