Брошюра FLOGOL-1
.pdf
1. ВВЕДЕНИЕ В ТЕОРИЮ НАПРАВЛЕННЫХ ОТНОШЕНИЙ
ПРЕДИСЛОВИЕ
Предлагаемая вниманию читателей серия изданий посвящена пробле-
мам создания языков и систем программирования высокого уровня непро-
цедурного типа. Известно, что для решения многих задач, для которых не создано эффективных алгоритмов, применение методов рекурсивного функционального программирования в сочетании со средствами логиче-
ского вывода является не только удобной, но порой и единственной воз-
можностью. Основными недостатками большинства известных языков не-
процедурного программирования является их низкий, в современном по-
нимании, уровень и, как правило, невозможность органичного сочетания методов функционального и логического подходов, как в постановке задач,
так и при организации вычислительного процесса. Представленные мате-
риалы знакомят читателей с основами оригинальной теории направленных отношений [1-4,6-7](Фальк В.Н., Кутепов В.П.), как единой основы для ре-
ализации функционального, логического и реляционного подхода к реше-
нию задач, с основными принципами построения языка непроцедурного программирования высокого уровня FLOGOL [5] (Фальк В.Н.), а также с особенностями организации системы функционально-логического про-
граммирования S-FLOGOL [8-9] (Фальк В.Н., Бебчик Ал.Н., Бебчик Ан.Н.), включающей новые технологические и программные средства
поддержки как разработки, так и исполнения функционально-логических программ. В дальнейшем предполагается дополнить издание разделами,
посвященными другим приложениям теории направленных отношений – описанию денотационной семантики и верификации операторных схем программ, проблемам связи со структурной теорией графов и др., а также перспективам реализации системы функционально-логического програм-
мирования на современных вычислительных средствах с развитым парал-
лелизмом при организации вычислительного процесса.
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ
1.ВВЕДЕНИЕ В ТЕОРИЮ НАПРАВЛЕННЫХ ОТНОШЕНИЙ
1.ВВЕДЕНИЕ В ТЕОРИЮ НАПРАВЛЕННЫХ ОТНО-
ШЕНИЙ.
1.1.Основные понятия.
О п р е д е л е н и е 1.1. Направленным отношением (или, сокращенно,
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	на множестве (носителе)  | 
	D называет-  | 
|||
d -отношением) арности n ,n  | 
||||||||||||
ся график соответствия из  | 
	Dn  | 
	в  | 
	Dn .  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||||
  | 
	Здесь  | 
	Dn  | 
	– множество всевозможных кортежей элементов множества  | 
|||||||||
D  | 
	длины  | 
	n .  | 
	Иными словами, направленное отношение  | 
	
  | 
	R  | 
	арности  | 
||||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	D (точнее, его график) есть множество упорядочен-  | 
|||||||
n , n на носителе  | 
||||||||||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	назовем  | 
ных пар вида d1...dn ,d1...dn ,  | 
	где все di ,di D . Кортеж d1...dn  | 
|||||||||||
входным, а кортеж  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||
d1...dn – выходным для соответствующего элемента d -  | 
||||||||||||
отношения  | 
	R . Кортеж нулевой длины (пустой кортеж) обозначается , а  | 
|||||||||||
в случаях его использования в выражениях там, где это не приводит к недоразумениям, он представляется непосредственно пустым словом.
Арность d -отношения, при необходимости, будет указываться в виде правого верхнего индекса.
1.2.Свойства d -отношений.
Многие виды семантических объектов в конструктивной математике вообще и в теории программирования, в частности, могут рассматриваться как специальные подклассы направленных отношений, различающиеся как арностью d -отношений, так и наличием у них особых свойств. В качестве основных таких свойств рассмотрим свойства тотальности и функцио-
нальности d -отношений.
О п р е д е л е н и е 1.2.
d -Отношение R на D называется тотальным, если
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 2
1. ВВЕДЕНИЕ В ТЕОРИЮ НАПРАВЛЕННЫХ ОТНОШЕНИЙ
( Dn' ( Dn" & , R)).  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||||
О п р е д е л е н и е 1.3.  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
d -Отношение R на  | 
	D называется функциональным, если  | 
	
  | 
|||||||
' "( , ' R& , " R ' ") .  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||||
В таблице 1.1 дана классификация типизированных  | 
	d -отношений в  | 
||||||||
зависимости от их арностей, наличия у них свойств функциональности ( F )  | 
|||||||||
и тоталь-  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
ности ( T ), а также наличия этих свойств у обратных им отношений.  | 
	
  | 
||||||||
О п р е д е л е н и е 1.4. d -Отношение R 1  | 
	называется обратным d -отно-  | 
||||||||
шению R , если (( , ) R ( , ) R 1 ).1  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	Таблица 1.1  | 
|
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
  | 
	
  | 
	Арность,  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
d -Отношение R  | 
	
  | 
	
  | 
	
  | 
	
  | 
	F( R)  | 
	T( R)  | 
	
  | 
	F( R 1 )  | 
	T( R 1 )  | 
  | 
	
  | 
	n ,n 0  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
\Утверждение  | 
	
  | 
	0,0  | 
	
  | 
	
  | 
	
  | 
	2  | 
	
  | 
||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
Объект  | 
	
  | 
	0,1  | 
	+  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
Множество объектов  | 
	0,1  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
Кортеж  | 
	
  | 
	
  | 
	
  | 
	
  | 
	+  | 
	
  | 
	
  | 
	
  | 
	
  | 
  | 
	0,n  | 
	
  | 
	
  | 
||||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
Множество кортежей  | 
	0,n  | 
	
  | 
	
  | 
	
  | 
	
  | 
||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
Свойство объекта  | 
	
  | 
	1,0  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
Предикат  | 
	
  | 
	n ,0  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
Перестановка  | 
	
  | 
	1,1  | 
	+  | 
	+  | 
	
  | 
	+  | 
	+  | 
||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
Вложение  | 
	
  | 
	1,1  | 
	+  | 
	+  | 
	
  | 
	+  | 
	
  | 
||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
Подстановка (тотальная)  | 
	1,1  | 
	+  | 
	+  | 
	
  | 
	
  | 
	
  | 
|||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
Частичная подстановка  | 
	1,1  | 
	+  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
1 Знак обозначает логическую эквивалентность.
2Символ означает, что наличие соответствующего свойства автоматически следует из арности d -отношения.
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 3
1. ВВЕДЕНИЕ В ТЕОРИЮ НАПРАВЛЕННЫХ ОТНОШЕНИЙ
Переход  | 
	
  | 
	1,1  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
  | 
	
  | 
	
  | 
	
  | 
	1,1  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
Суперконструктор  | 
	n  | 
	
  | 
	+  | 
	+  | 
	
  | 
	+  | 
	+  | 
|||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
Конструктор  | 
	
  | 
	n ,1  | 
	
  | 
	+  | 
	+  | 
	
  | 
	+  | 
	
  | 
||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
  | 
	
  | 
	
  | 
	
  | 
	1,1  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
Функция (тотальная)  | 
	n  | 
	
  | 
	+  | 
	+  | 
	
  | 
	
  | 
	
  | 
|||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
  | 
	
  | 
	
  | 
	
  | 
	1,1  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
Частичная функция  | 
	n  | 
	
  | 
	+  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	1  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
Суперреконструктор  | 
	n  | 
	1,n  | 
	
  | 
	+  | 
	+  | 
	
  | 
	+  | 
	+  | 
||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	1  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
Реконструктор  | 
	n  | 
	1,n  | 
	
  | 
	+  | 
	+  | 
	
  | 
	+  | 
	
  | 
||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
Отображение (тоталь-  | 
	
  | 
	
  | 
	
  | 
	
  | 
	1  | 
	
  | 
	+  | 
	+  | 
	
  | 
	
  | 
	
  | 
|
ное)  | 
	n  | 
	1,n  | 
	
  | 
	
  | 
	
  | 
	
  | 
||||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	1  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
Частичное отображение  | 
	n  | 
	1,n  | 
	
  | 
	+  | 
	
  | 
	
  | 
	
  | 
	
  | 
||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||||||
Заметим, что существуют всего два «логических»  | 
	d -отношения ар-  | 
|||||||||||
ности 0,0 : пустое (пустое подмножество пар пустых кортежей) и  | 
	{ , }  | 
|||||||||||
– множество, содержащее единственный элемент (пару пустых кортежей),
которые в приложениях теории направленных отношений играют роль ис-
тинностных значений False и True , соответственно.
1.3.Языки схем d -отношений.
Общие принципы построения языков схем d -отношений традицион-
ны для задания интерпретированных формальных языков и предполагают задание области интерпретации, символов элементарных констант и пере-
менных, связок и операторов. Связки используются в языке для обозначе-
ния результатов применения операций, определенных на области интер-
претации, и имеющих каждая определенную положительную арность. В
связи с этим, константы иногда могут рассматриваться как связки нулевой арности. Применительно к построению языков схем d -отношений эти принципы конкретизируется нижеcледующим образом:
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 4
1. ВВЕДЕНИЕ В ТЕОРИЮ НАПРАВЛЕННЫХ ОТНОШЕНИЙ
1) область интерпретации  | 
	RD RDn ,n  | 
	( RDn ,n – множество всевоз-  | 
||||||
  | 
	
  | 
	
  | 
	n ,n 0  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
можных d -отношений на D  | 
	арности  | 
	
  | 
	
  | 
	) задается уточнением но-  | 
||||
n , n  | 
	
  | 
|||||||
сителя D ;  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
2) множество  | 
	X  | 
	переменных d -отношений содержит неограниченное  | 
||||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
количество переменных арности n ,n  | 
	для всех  | 
	n ,n  | 
	0 ;  | 
|||||
3) множество  | 
	K  | 
	элементарных констант содержит имена некоторых  | 
||||||
конкретных d -отношений на  | 
	D . Денотат константы  | 
	k K будем обо-  | 
||||||
значать k ;  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
4) каждой связке  | 
	f (l ) из множества связок  | 
	F  | 
	сопоставлена, в общем  | 
|||||
случае, частичная функция  | 
	f (l ) : (RD )l RD  | 
	в области интерпретации  | 
||||||
(операция композиции d -отношений). Предполагается, что применимость операций композиции к d -отношениям определяется только некоторыми ограничениями на арность их аргументов. Схему, полученную применени-
ем связки f (l ) к схемам A ,...,A , будем обозначать fA ...A (если не идет  | 
||
1  | 
	l  | 
	1 l  | 
речь о конкретных связках конкретных языков);  | 
	
  | 
|
5) в рассматриваемом классе языков схем  | 
	d -отношений допускается  | 
|
использование только унарно-унарного оператора наименьшей фиксиро-
ванной точки (оператора рекурсии), результат применения которого к схе-
ме A  | 
	по операторной переменной x той же арности обозначается  | 
{x A}.  | 
	В нeкоторых случаях используется альтернативная возможность  | 
применения m -арно- m -арных (для любых  | 
	m 0 ) операторов наимень-  | 
|
шей фиксированной точки, применение которых к схемам A1 ,...,Am  | 
	и опе-  | 
|
раторным переменным x1 ,...,xm обозначается  | 
	{x1 A1 ,...,xm Am } , причем  | 
|
в этом случае предполагается, что при построении схем A1 ,...,Am  | 
	опера-  | 
|
торы наименьшей фиксированной точки не используются. Доказательство
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 5
1. ВВЕДЕНИЕ В ТЕОРИЮ НАПРАВЛЕННЫХ ОТНОШЕНИЙ
равносильности этих вариантов введения в язык схем отношений операто-
ра наименьшей фиксированной точки приведено в конце параграфа 1.5.
Пусть A – язык схем d -отношений. Интерпретация формул (схем)
этого языка как d -отношений определяется заданием интерпретации пе-
ременных  | 
	: X RD , причем  | 
	x n ,n RDn ,n . Индуцированную  | 
	
  | 
||||||||||||||||||||||||||||||
интерпретацию схем языка A обозначим через  | 
	и определим так:  | 
||||||||||||||||||||||||||||||||
  | 
	
  | 
	1.  | 
	
  | 
	k k  | 
	для всех  | 
	k K ;  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||||||||||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
  | 
	
  | 
	2.  | 
	
  | 
	x x для всех  | 
	
  | 
	x X ;  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||||||||||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
  | 
	
  | 
	3.  | 
	
  | 
	
  | 
	f (l ) A ...A  | 
	
  | 
	f (  | 
	
  | 
	A ,...,  | 
	
  | 
	A  | 
	l  | 
	)  | 
	для всех f F ;  | 
	
  | 
||||||||||||||||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	1  | 
	l  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	1  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||||||||
  | 
	
  | 
	4.  | 
	
  | 
	{x A}  | 
	
  | 
	
  | 
	min  | 
	– минимальное решение уравнения  | 
	x A  | 
	в ин-  | 
|||||||||||||||||||||||
X  | 
|||||||||||||||||||||||||||||||||
терпретации, индуцированной .  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||||||||||||||||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	называется решением уравнения  | 
	
  | 
	x A  | 
	в интерпретации, индуци-  | 
|||||||||||||||||||||||||
  | 
	
  | 
	X  | 
	
  | 
	
  | 
|||||||||||||||||||||||||||||
рованной  | 
	, если  | 
	
  | 
	
  | 
	' A , где  | 
	' x  | 
	
  | 
	и ' y y  | 
	для  | 
|||||||||||||||||||||||||
  | 
	X  | 
	X  | 
|||||||||||||||||||||||||||||||
всех  | 
	
  | 
	y ,  | 
	отличных  | 
	от  | 
	
  | 
	x .  | 
	Минимальное  | 
	(относительно теоретико-  | 
|||||||||||||||||||||||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||||||||||||||||||||
множественного  | 
	включения) решение  | 
	
  | 
	
  | 
	
  | 
	X min  | 
	
  | 
	удовлетворяет условию  | 
||||||||||||||||||||||||||
  | 
	
  | 
	min  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||||||||||||||||||||||
  | 
	X  | 
	X  | 
	
  | 
	для всех других решений X  | 
	
  | 
	
  | 
	
  | 
	того же уравнения в той же ин-  | 
|||||||||||||||||||||||||
терпретации.  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||||||
  | 
	
  | 
	Следуя принципам конструктивности, мы ограничимся рассмотрени-  | 
|||||||||||||||||||||||||||||||
ем случая, когда все функции  | 
	f – интерпретанты связок  | 
	f F языка  | 
|||||||||||||||||||||||||||||||
A монотонны относительно включения  | 
	
  | 
	d -отношений как графиков. Из-  | 
|||||||||||||||||||||||||||||||
вестно,  | 
	что при этом условии для любого уравнения  | 
	x A минимальное  | 
|||||||||||||||||||||||||||||||
решение  | 
	существует,  | 
	
  | 
	
  | 
	и  | 
	оно  | 
	является  | 
	
  | 
	пределом  | 
	последовательности  | 
||||||||||||||||||||||||
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 6
1. ВВЕДЕНИЕ В ТЕОРИЮ НАПРАВЛЕННЫХ ОТНОШЕНИЙ
  | 
	
  | 
	
  | 
	(0) ,  | 
	
  | 
	(1) ,...,  | 
	
  | 
	(i) ,... при i ,  | 
	где  | 
	
  | 
	(0) – пустое d -отношение,  | 
|||||
  | 
	
  | 
	X  | 
	X  | 
	X  | 
	X  | 
||||||||||
  | 
	
  | 
	(i 1)  | 
	
  | 
	A , где ' x  | 
	
  | 
	(i)  | 
	и ' y y для всех y , отлич-  | 
||||||||
  | 
	X  | 
	'  | 
	X  | 
||||||||||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
ных от x . Отсюда очевидно, что оператор рекурсии тоже является моно-
тонным относительно включения.
1.4.Классы d -отношений.
Пару  | 
	(K, F)  | 
	назовем сигнатурой языка схем  | 
	d -отношений.  | 
||||||||
Язык с сигнатурой будем обозначать  | 
	A  | 
	или A , в зависимости от  | 
|||||||||
того, используется или нет при его построении оператор рекурсии.  | 
	
  | 
||||||||||
Множество FV ( A)  | 
	свободных переменных схемы  | 
	A определяется  | 
|||||||||
обычным образом:  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||
FV (k) для всех  | 
	k K ;  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||||
FV (x) {x}  | 
	
  | 
	для всех  | 
	x X ;  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||
FV ( f (l ) A ...A ) FV (A ) ... FV (A )  | 
	для всех f F ;  | 
	
  | 
	
  | 
||||||||
1  | 
	
  | 
	l  | 
	1  | 
	
  | 
	l  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
FV({x A}) FV (A) \ {x}.  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||||||
Схема, множество свободных переменных которой пусто, называется  | 
|||||||||||
константой языка. Обозначим через K (A )  | 
	множество  | 
	d -отношений –  | 
|||||||||
денотатов констант языка  | 
	A .  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||||
Пусть  | 
	R Dбаз – подмножество d -отношений из R D , которые могут вы-  | 
||||||||||
ступать в качестве интерпретантов переменных языка  | 
	A ? ( ? { , }).  | 
	
  | 
|||||||||
О п р е д е л е н и е 1.5 .  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||
[R баз ] ? {  | 
	
  | 
	A | A A  | 
	
  | 
	? &( x X ) x R баз }  | 
	–  | 
	класс  | 
	d -  | 
||||
D  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	D  | 
	
  | 
	
  | 
	
  | 
||
отношений, порожденных из R Dбаз языком A ? .
Как следствие этого определения, получим, что
K (A( K ,F )? ) [ ]( K ,F )? [{k | k K}]( ,F )? .
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 7
1. ВВЕДЕНИЕ В ТЕОРИЮ НАПРАВЛЕННЫХ ОТНОШЕНИЙ
Далее рассматриваются различные сигнатуры языков схем отношений и особенности классов d -отношений, порождаемых этими языками. Основ-
ное внимание будет уделено cигнатурам, в определенном смысле не зави-
сящим от выбора конкретного носителя D (некоторую роль будет играть только мощность множества D ). Более того, мы вообще ограничимся рас-
смотрением только наборов связок, отвечающих этому требованию: любая
перестановка  | 
	на носителе  | 
	D для присоединенных функций связок яв-  | 
|||||
ляется автоморфизмом, то есть для  | 
	
  | 
	справедливо утверждение  | 
	
  | 
||||
( f F) x ,...,x . ( f (l ) (x ,...,x )) x ,..., x . f (l ) ( (x ),..., (x )), где  | 
|||||||
1  | 
	l  | 
	1  | 
	l  | 
	1  | 
	l  | 
	1  | 
	l  | 
: D D распространяется на  | 
	d -отношения общепринятым образом.  | 
||||||
Константы, удовлетворяющие условию независимости от выбора носите-
ля, назовем комбинаторными, и посвятим им отдельный параграф. В даль-
нейшем будут рассмотрены и языки, сигнатура которых связана со специ-
фикой носителя, а именно, когда в качестве носителя рассматривается эр-
брановский универсум.
1.5.Операции композиции d -отношений.
Операция последовательной композиции d -отношений. Последовательная
композиция d -отношений R1 и R2  | 
	обозначается через  | 
	R1 R2  | 
	и опре-  | 
||||||
деляется как произведение графиков  | 
	R1 и R2 :  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||
R1 R2  | 
	{ , | ( , R1 & , R2 )}.  | 
	
  | 
	
  | 
	
  | 
	
  | 
||||
Если  | 
	R1  | 
	и R2 –  | 
	d -отношения арностей  | 
	
  | 
	и  | 
	
  | 
	, соот-  | 
||
n ,n  | 
	n,n  | 
||||||||
ветственно, то  | 
	R1 R2  | 
	– d -отношение арности  | 
	
  | 
	
  | 
	. Операция после-  | 
||||
n ,n  | 
	
  | 
||||||||
довательной композиции ассоциативна.  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||||
Операция параллельной композиции  | 
	d -отношений. Параллельная компо-  | 
||||||||
зиция d -отношений R1 и R2 обозначается через R1 # R2  | 
	и определяется  | 
||||||||
как раздельное декартово произведение компонентов графиков R1  | 
	и R2 :  | 
||||||||
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 8
1. ВВЕДЕНИЕ В ТЕОРИЮ НАПРАВЛЕННЫХ ОТНОШЕНИЙ
R1 # R2 { 1 2 , 1 2 | 1 , 1 R1 & 2 , 2 R2 }.  | 
	
  | 
	
  | 
	
  | 
|||||||||
  | 
	Если R1  | 
	и R2  | 
	– типизированные  | 
	d -отношения арности  | 
	n'1 , n"1 )  | 
	и  | 
||||||
  | 
	
  | 
	R1 # R2  | 
	–  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
n2 , n2 , то  | 
	d -отношение арности n1 n2  | 
	,n1 n2 . Операция  | 
||||||||||
параллельной композиции ассоциативна.  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||||||
Операция объединения  | 
	d -отношений. Объединение  | 
	
  | 
	d -отношений R1  | 
	и  | 
||||||||
R2  | 
	обозначается  | 
	через  | 
	R1 R2  | 
	и  | 
	определяется  | 
	как  | 
	теоретико-  | 
|||||
множественное объединение  | 
	d -отношений  | 
	R1 и R2  | 
	
  | 
	как графиков.  | 
	
  | 
|||||||
  | 
	Для объединения требуется равенство арностей  | 
	
  | 
	d -отношений R1  | 
	и  | 
||||||||
R2 , причем результат объединения будет иметь ту же самую арность. Опе-  | 
||||||||||||
рация объединения ассоциативна и коммутативна.  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||||||
Операция пересечения  | 
	d -отношений. Пересечение  | 
	d -отношений R1  | 
	и  | 
|||||||||
R2  | 
	обозначается  | 
	через  | 
	R1 R2  | 
	и  | 
	определяется  | 
	как  | 
	теоретико-  | 
|||||
множественное пересечение  | 
	d -отношений  | 
	R1 и R2  | 
	как графиков.  | 
	
  | 
||||||||
  | 
	Для пересечения также требуется равенство арностей d -отношений  | 
|||||||||||
R1  | 
	и R2 , причем результат пересечения имеет ту же самую арность. Опе-  | 
|||||||||||
рация пересечения ассоциативна и коммутативна.  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||||||
Операция конкатенации. Конкатенация  | 
	d -отношений R1  | 
	и  | 
	R2 опреде-  | 
|||||||||
ляется как декартово произведение вторых компонентов графиков при равных первых компонентах:
R1 R2 { , 1 2 | , 1 R1 & , 2 R2 }.
Конкатенация определена только для операндов арностей n,n1 и
n, n2 ,  | 
	соответственно. Результат операции  | 
	будет иметь  | 
	арность  | 
n,n1 n2  | 
	.  | 
	
  | 
	
  | 
Операция эквализации (унификации). Эквализация  | 
	d -отношений  | 
	R1 и R2  | 
|
определяется как декартово произведение первых компонентов графиков при равных вторых компонентах:
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 9
1. ВВЕДЕНИЕ В ТЕОРИЮ НАПРАВЛЕННЫХ ОТНОШЕНИЙ
R1 R2 { 1 2 , | 1 , R1 & 2 , R2 }.  | 
	
  | 
	
  | 
Эквализация определена только для операндов арностей  | 
	n1 ,n  | 
	и  | 
n2 , n . Результат операции будет иметь арность n1 n2 ,n .  | 
	
  | 
|
Условная композиция. Условная композиция d -отношений R1  | 
	и R2 обо-  | 
|
значается знаком и представляет собой проекцию R2  | 
	по первому  | 
|
компоненту графика на область определения d -отношения R1 :  | 
	
  | 
|
R1 R2 { , | , R2 & '( , ' R1 )}.  | 
	
  | 
	
  | 
Арности операндов условной композиции должны быть  | 
	n,n1  | 
	и  | 
n, n2 , соответственно. Результат композиции, очевидно, имеет арность
второго операнда.  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
Операция итерации. Итерация d -отношения R n,n  | 
	обозначается  | 
	{R} и  | 
||||||
определяется так:  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
{R} R(k )  | 
	, где  | 
	R(0)  | 
	{ , | Dn } (тождественное  | 
	d -отношение  | 
||||
k 0  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
  | 
	арности  | 
	n,n ), R(1) R и R(i 1) R(i) R .3  | 
	
  | 
|||||
Очевидно, что итерация  | 
	{R} d -отношения R  | 
	является наименьшим  | 
||||||
решением уравнения  | 
	x R(0)  | 
	R x , т.е. {R} {x R(0)  | 
	R x}.  | 
	
  | 
||||
Результат  | 
	применения  | 
	итерации будет иметь  | 
	ту  | 
	же  | 
	арность  | 
|||
n,n , n 0, что и ее операнд.  | 
	
  | 
	
  | 
	
  | 
	
  | 
||||
Операция повторения. Повторение d -отношения  | 
	R n,n  | 
	обозначается  | 
||||||
[R] и определяется так:  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
[R] R(k ) R {R}.
k 1
Результат применения операции повторения будет иметь ту же ар-
ность n,n , n 0, что и ее операнд.
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 10
