39178

ТЕОРІЯ ПРОГРАМНИХ АЛГЕБР КОМПОЗИЦІЙНОГО ТИПУ ТА ЇЇ ЗАСТОСУВАННЯ

Диссертация

Информатика, кибернетика и программирование

Перераховані стилі виділяють певний (звичайно, дуже важливий, але один з багатьох) аспект та уточнюють саме його. Так, у структурному програмуванні це каталогізація методів побудови програм, у функціональному – опис програм системами функціональних рівнянь, у логічному – визначення програм специфікаціями певних формальних мов, як правило, першого порядку, в об‘єктно-орієнтованому (модульному) – трактування розмаїтості даних

Украинкский

2013-10-01

3.84 MB

6 чел.

2


Київський національний університет імені Тараса Шевченка

На правах рукопису

Буй Дмитро Борисович

УДК 681.3.06

ТЕОРІЯ ПРОГРАМНИХ АЛГЕБР КОМПОЗИЦІЙНОГО ТИПУ

ТА ЇЇ ЗАСТОСУВАННЯ

01.05.03 – Математичне та програмне забезпечення обчислювальних машин

та систем

Дисертація на здобуття наукового ступеня

доктора фізико-математичних наук

Науковий консультант

Редько Володимир Никифорович,

доктор фіз.-мат. наук, професор, академік НАНУ

Київ – 2002


Зміст

Перелік умовних позначень 6

Вступ 18

Розділ 1. Нерухомі точки монотонної функції на частково впорядкованій множині 33

1.1. Основні поняття 34

1.2. Основні властивості та еквівалентні завдання монотонних функцій 36

1.2.1. Ланцюги елемента відносно функції 44

1.2.2. Ланцюги елементів і нерухомі точки 51

1.2.3. Структура нерухомих точок монотонної функції на індуктивній множині 55

1.2.4. Монотонні та зростаючі функції, конструкція Тарського 59

1.2.5. Ординальні зображення нерухомих точок 61

1.2.6. Нерухомі точки неперервної функції на індуктивній множині 65

1.2.7. Обернення теорем про нерухомі точки 66

Розділ 2. Композиція суперпозиції 69

2.1. Допоміжні результати 69

2.2. Неперервність суперпозиції та суміжні факти 79

2.2.1. Зображення суперпозиції, колекція та добуток 79

1.3.1. Неперервність суперпозиції 81

2.3. Часткові функції: підстановка та інші програмологічні операції 84

2.3.1. Частково впорядкована множина часткових функції 84

2.3.2. Неперервність операцій на часткових функціях 86

2.3.3. Підстановка, добуток та колекція часткових функцій 88

2.3.4. Вкладення часткових функцій у тотальні 91

2.3.5. Розгалуження часткових функцій за предикатом 97

Розділ 3. Композиція рекурсії 102

3.1. Рекурсія, індукована рівнянням 103

3.1.1. Теореми про нерухомі точки монотонних та неперервних функцій 103

3.1.2. Означення та зображення рекурсії 107

3.1.3. Монотонність рекурсії, замкненість класу монотонних функцій відносно рекурсії 110

3.1.4. Неперервність обмежень рекурсії, замкненість класу неперервних функцій відносно рекурсії 111

3.1.5. Інші означення рекурсії 115

3.2. Рекурсія, індукована системами рівнянь 118

3.2.1. Розв’язки систем рівнянь з монотонними (неперервними) функціями правих частин 118

3.2.2. Розв'язки систем рівнянь з параметром, багатомісна композиція рекурсії та її зображення 122

3.2.3. Властивості багатомісної рекурсії 127

3.2.4. Випадок декількох параметрів 130

3.3. Розв’язування систем рівнянь в індуктивних множинах 131

3.3.1. Допоміжні леми 131

3.3.2. Розв’язки систем спеціального вигляду, метод Гаусса 134

3.3.3. Розв’язки систем з суперпозиціями та рекурсіями у правих частинах 139

3.3.4. Підстановка значень функцій замість параметрів 145

3.3.5. Перетворення, що зберігають найменші розв’язки 147

3.3.6. Взаємозв’язок між операціями суперпозиції та рекурсії 152

3.3.7. Похідність багатомісної рекурсії 156

3.3.8. Оцінки найменших розв‘язків 158

Розділ 4. Маніпулювання даними 163

4.1. Функції, що зберігають денотати 164

4.1.1. Основні поняття та властивості 164

4.1.2. Характеристики функцій та програмологічних операцій 168

4.1.3. Функції, що зберігають денотати, та обчислювані функції 174

4.2. Примітивні програмні алгебри функцій та предикатів на оціненому універсумі 180

4.2.1. Основні означення 180

4.2.2. Необхідні умови повноти 184

4.2.3. Повнота класів обчислюваних функцій, що зберігають денотати 191

4.2.4. {true, false}-Породжуючі ППА 195

4.3. Програмні алгебри іменних функцій, що зберігають денотати, та предикатів 199

4.3.1. Оцінений універсум іменних даних 199

4.3.2. Програмні алгебри іменних функцій та предикатів 206

4.3.3. Необхідні умови повноти 212

4.3.4. Сильне збереження денотатів 217

4.3.5. Проблеми повноти в класах іменних функцій, що зберігають денотати 219

Розділ 5. Програмні алгебри та реляційні бази даних 240

5.1. Загальнозначні семантичні структури реляційних баз даних, змістовна семантика мови SQL 241

5.1.1. Загальна характеристика мови SQL 241

5.1.2. Моделі реляційних структур 247

5.2. Табличні алгебри 251

5.2.1. Основні означення 251

Розділ 6. Взаємна похідність та виразна сила сигнатурних операцій 256

6.1. SQL-орієнтовані програмні алгебри 279

6.1.1. Операції на таблицях 279

6.1.2. Композиції фільтрації та повного образу 285

6.1.3. Композиції для випадку мультимножин 287

6.1.4. Впорядковані таблиці 293

6.1.5. Агрегатні функції, композиція агрегування 295

6.1.6. Групування 301

6.1.7. Оновлення даних 305

Розділ 7. Визначення семантики операторів маніпулювання даними 305

Висновки 309

Список використаних джерел 312

Додаток А. Доведення деяких лем та тверджень; означення агрегатних функцій мови SQL 329

Перелік умовних позначень

порожня множина

супремум множини

інфімум множини

верхній конус множини

нижній конус множини

сім’я всіх тотальних функцій з множини в множину

сім’я всіх монотонних функцій з ч. в. м. у ч. в. м.

сім’я всіх неперервних функцій з індуктивної множини в індуктивну множину

множина натуральних чисел або ординал цієї множини при стандартному впорядкуванні

за означенням

дорівнює за означенням

найменший елемент ч. в. м., дно, нуль

найбільший елемент ч. в. м., одиниця

доповнення множини

верхній конус елемента

нижній конус елемента

замикання множини у топології

елемент ц. у. м. , наступний за елементом

 -ланцюг з найбільшим елементом

частковий порядок на множинах:

сім’я всіх -ланцюгів для зафіксованого елемента

множина найбільших елементів всіх -ланцюгів для зафіксованого елемента

інтервал ч. в. м.

відношення конфінальності на множинах

узагальнена рівність

обмеження бінарного відношення за множиною

повний образ множини відносно бінарного відношення

початковий відрізок ц. у. м.

елемент ц. у. м., що передує елементу

множина всіх елементів, на яких функція зростає

множина нерухомих точок функції (розд. 1), найменша нерухома точка функції (розд. 3)

стрілка для запису часткових операцій

композиція бінарних відношень

область значень операції

проекція множини кортежів довжини за -тою компонентою

множина натуральних чисел

 -арна селекторна функція вибору -того аргументу

 -арна операція колекції тотальних функцій

 -арна композиція суперпозиції тотальних функцій

добуток тотальних функцій і :

добуток часткових функцій і :

всюди невизначена функція

сім’я часткових функцій з множини у множину

бінарне відношення сумісності функцій

область означеності функції

 -арна композиція суперпозиції часткових функцій (підстановка)

 -арна операція колекції часткових функцій

діагональ на множині

  – підіндуктивна множина індуктивної множини

підсім’я всіх функцій з сім’ї , які є природними розширеннями

підсім’я всіх строгих функцій з сім’ї

невизначене булеве значення

істинне булеве значення

хибне булеве значення

тернарна композиція розгалуження функцій (предикатів) за предикатом

булеан множини

множина всіх скінченних підмножин множини

бінарне відношення, обернене (інверсне) відношенню

бінарна операція обмеження бінарного відношення за множиною

бінарна операція взяття повного образу множини відносно бінарного відношення (розд. 2); композиція взяття повного образу (розд. 5)

підклас функцій класу , монотонних за другим аргументом; – ч. в. м.

підклас функцій класу , неперервних за -тим аргументом; – індуктивна множина, ; – індуктивна множина для , – індуктивна множина для

унарна композиція рекурсії для випадку одного параметра

операція абстракції (розд. 3)

значення абстракції на функції

операція аплікації

підклас функцій класу , монотонних за -им аргументом; – ч. в. м.

*, бінарна композиція циклування функції за предикатом

унарна композиція рекурсії для випадку параметрів

множина всіх скінченних функціональних відношень на парі множин

, допоміжні унарні операції, що будують бінарні функції за -арними;

 -арна композиція рекурсії для випадку одного параметра

підклас функцій класу , монотонних за аргументами ; – ч.в.м;

підклас функцій класу , неперервних за аргументами ; – індуктивні;

композиція суперпозиції замість змінних для функцій, заданих термально

терм будується з терму заміною деяких входжень змінних на терми (підстановка згідно з системою формальних рівностей

транзитивне замикання відношення

 -арна композиція рекурсії для випадку параметрів

 -характеристика функції

константна функція вигляду

приведення бінарного відношення за множиною

клас функцій на оціненому універсумі, що зберігають -денотати

клас частково рекурсивних (partially recursive) функцій на універсумі

клас частково рекурсивних функцій на оціненому універсумі, що зберігають -денотати

арність функції (предиката)  

 -арна композиція циклування функцій арності за -арним предикатом,

клас всіх функцій на оціненому універсумі, що сильно зберігають -денотати

ППА функцій, що зберігають денотати, та предикатів

ППА функцій, що сильно зберігають денотати, та предикатів

ППА частково рекурсивних функцій, що зберігають денотати, та частково рекурсивних предикатів

ППА частково рекурсивних функцій та предикатів

ППА частково рекурсивних функцій, що сильно зберігають денотати, та частково рекурсивних предикатів

носій алгебри

сигнатура ППА

замикання множини операціями сім’ї

ППА всіх функцій, які зберігають множину , та всіх предикатів

функція виділення першої компоненти вектора

функція вилучення першої компоненти вектора

функція конкатенації векторів

функція відміток

порожній вектор (розд. 4)

множина векторів натуральних чисел

клас всіх функцій, які зберігають множину

клас всіх предикатів, які у випадку визначеності на елементах множини приймають значення , де – деяке булеве значення

ППА з носієм ; – підмножина універсуму, – булеве значення

підмножина оціненого універсуму, яка містить елементи, що не використовують праелементів

 -сплінтер функції

клас іменних множин

клас -множин, тобто скінченних множин іменних даних (п. 4.3.1)

порожня іменна множина (розд. 4); рядок порожньої схеми (розд. 5)

бінарне відношення на іменних даних:

рефлексивно-транзитивне замикання відношення

два виділених (стандартних) імені

іменна множина зі стандартними іменами

сім’я всіх іменних множин, які відповідають індексуванню

сім’я (розд. 4)

омноження

іменування

розіменування

об’єднання сумісних іменних множин

об’єднання -множин

різниця -множин

клас іменних функцій

клас іменних предикатів

сигнатура програмних алгебр іменних функцій

клас всіх іменних функцій, що зберігають -денотати

ПА іменних функцій, що зберігають -денотати, та іменних предикатів

клас всіх іменних функцій, що сильно зберігають -денотати

клас всіх іменних чр-функцій

клас всіх іменних чр-предикатів

клас всіх іменних чр-функцій, що зберігають -денотати

параметрична функція іменування, – ім’я

параметрична функція розіменування за іменем

іменний предикат рівності іменних даних

замикання множини іменних функцій та предикатів операціями сигнатури

функція поповнення вектора зліва нульовою компонентою

функція збільшення першої компоненти вектора на одиницю (п. 4.3.5); множина всіх рядків (розд. 5)

функція дублювання першої компоненти вектора

іменна множина вигляду для та порожня іменна множина для

суперпозиція за значенням

null спеціальне значення універсального домену

A множина атрибутів

R схема (рядка, таблиці)

S(R) множина рядків схеми R

T(R) множина таблиць схеми R

T множина всіх таблиць

, , відповідно об‘єднання, перетин, різниця таблиць схеми R

селекція за предикатом

проекція за множиною атрибутів

з‘єднання, еквіз‘єднання, внутрішнє природне з‘єднання

ділення таблиць схеми на таблиці схеми

активний домен атрибута відносно таблиці ;

C(t) насичення таблиці t

~ активне доповнення

перейменування рядків, що відповідає функції перейменування атрибутів :AA

множина всіх таблиць, схеми яких -допустимі; :AAфункція перейменування атрибутів

перейменування, що відповідає ін'єктивній частковій функції перейменування атрибутів :AA

порожня таблиця

таблиця, що містить єдиний рядок порожньої схеми;

відношення односхемності (таблиць),

відношення односхемності рядків

відповідно операції об‘єднання, перетину, різниці односхемних таблиць

операція декартова з‘єднання (cross join, Cartesian join)

операція внутрішнього з’єднанням за атрибутами , (inner join using )

операція внутрішнього з’єднанням за предикатом (inner join on )

тризначний предикат рівності мови SQL

Fl композиція фільтрації

характеристична функція мультимножини

основа мультимножини

ранг мультимножини

теоретико-числова функція сигнум

теоретико-числова функція зрізаної різниці

, , операції над мультимножинами, які ігнорують кількість дублікатів елементів основ та виступають аналогами відповідно теоретико-множинних операцій об‘єднання, перетину та різниці

, , операції над мультимножинами, які використовують кількість дублікатів елементів основ та виступають аналогами відповідно теоретико-множинних операцій об‘єднання, перетину та різниці

Dist операція над мультимножиною, яка будує 1-мультимножину з основою аргументу

операція декартова з‘єднання мультимножин

повний образ мультимножини відносно функції

мультимножина вигляду

, , ,

, , функції над таблицями, які уточнюються як мультимножини; ігнорують кількість дублікатів елементів основ (нижній індекс – 1) або навпаки враховують цю кількість (нижній індекс – All); виступають аналогами теоретико-множинних операцій

функція декартова з‘єднання таблиць, які уточнюються як мультимножини

функція вилучення дублікатів рядків у таблицях

 часткова бінарна операція об’єднання сумісних рядків; , ,

параметрична функція побудови у-таблиць

, агрегатні функції знаходження суми елементів множини та мультимножини

, агрегатні функції вибору найбільшого та найменшого елементів множини

агрегатна функція знаходження кількості елементів множини, відмінних від null

 агрегатна функція знаходження середнього арифметичного значення

агрегатна функція знаходження кількості рядків таблиці

предикат перевірки таблиці на непорожність

квантор загальності відносно предиката

квантор існування відносно предиката

предикат перевірки належності елемента множині,

, композиції агрегування для множин та мультимножин

множина всіх таблиць з групуванням

параметрична функція групування

БНФ Бекуса-Наура форма

ПА програмна алгебра

ППА примітивна програмна алгебра

п. ч. в. м. повна частково впорядкована множина

СУБД система управління базою даних

у-таблиця упорядкована таблиця

УЗЛ умова обриву зростаючих ланцюгів

т. д. і. топологія додатньої інформації

ц. у. м. цілком упорядкована множина

ч. в. м. частково впорядкована множина

чр-предикат частково рекурсивний предикат

чр-функція частково рекурсивна функція

Вступ

Актуальність теми. Об’єктивна тенденція розвитку сучасного суспільства характеризується застосуванням інформаційних технологій у різноманітних сферах. Розробка, впровадження та супровід програмних систем, що реалізують інформаційні технології, наштовхуються на значні труднощі, які носять принциповий характер. Вимоги надійності, ефективності, відкритості, передбачуваності до програмних систем потребують формальних моделей на всіх етапах життєдіяльності програмного забезпечення. Труднощі застосування формальних моделей пов‘язані, по-перше, з абсолютизацією інтуїтивної основи при уточненні визначальних категорій (програм та програмування як процесу синтезу програм) та, по-друге, з використанням формальних моделей, неадекватних у повному обсязі предметній області. Сам факт наявності багатьох стилів програмування (наприклад, структурного [84, 117]; функціонального чи, за іншою термінологією, денотаційного [64, 168, 208]; логічного [101, 118, 171]; об‘єктно-орієнтованого [63]; візуального [83]; модульного чи, за сучасною термінологією, компонентно-орієнтованого [80]) свідчить не лише про безсумнівні досягнення сучасної комп‘ютерної науки, а й про відсутність загальноприйнятої концептуальної платформи. Спроби виходу з такого незадовільного становища робилися В. М. Глушковим, К. Л. Ющенко, А. П. Єршовим, В. Н. Редьком та їх учнями.

Перераховані стилі виділяють певний (звичайно, дуже важливий, але один з багатьох) аспект та уточнюють саме його. Так, у структурному програмуванні це каталогізація методів побудови програм, у функціональному – опис програм системами функціональних рівнянь, у логічному – визначення програм специфікаціями певних формальних мов, як правило, першого порядку, в об‘єктно-орієнтованому (модульному) – трактування розмаїтості даних, функцій та керуючих структур як об‘єктів (модулів). Тим самим моделі програм, що лежать в основі названих стилів, не є повністю адекватними інтуїтивному змісту основних категорій програмування.

Труднощі застосування існуючих моделей до реального програмування, пов‘язані в першу чергу з нехтуванням вимоги експлікативності моделей предметній області (експлікативність у розумінні Р. Карнапа: по-перше, формальність моделей у загальноприйнятому розумінні та, по-друге, їх адекватність предметній області, що моделюється), добре усвідомлюються та здійснюються спроби їх подолання: створюються нові стилі програмування об‘єднанням існуючих (функціонального з логічним, алгебраїчного з логічним та ін.), розробляються нові формалізми. Аналіз причин сучасного критичного стану в застосуванні формальних моделей до створення складних промислових програмних систем дозволяє сформулювати наступні вимоги, яким повинні задовольняти сучасні моделі програм:

  1. експлікативність;
  2. композиційність (уточнення семантичних структур програм у вигляді композицій – спеціальних алгебраїчних операцій у класах функцій, що виступають семантиками програм);
  3.  інтенсіональність (зміст понять, їхня структура);
  4. явне використання структур іменування;
  5.  чітка витримка рівнів абстракції моделей.

Серед потенційно можливих моделей, які задовольняють наведеним вимогам, у дисертації обрані програмні алгебри композиційного типу, які базуються на композиційному програмуванні, закладеному в працях академіка В. Н. Редька у 70-х роках минулого століття [135, 140, 145, 146]. За поставленими задачами та методами їх вирішення робота розвиває експлікативне програмування [133, 136, 138, 141, 142, 143, 151, 152]. Реальні теоретико-практичні досягнення побудованій у дисертації теорії програмних алгебр композиційного типу і можливість застосування цієї теорії до нагальних потреб практичного програмування  і визначають актуальність дисертаційного дослідження.

Зв‘язок роботи з науковими програмами, планами, темами. Дисертаційна робота є складовою частиною наукових робіт, які ведуться на кафедрі теорії програмування факультету кібернетики Київського національного університету імені Тараса Шевченка (КНУ) при виконанні фундаментальних та прикладних тем: “Дослідження універсальних та спеціалізованих програмних логік” (№ 0197U003444, 1997-2000 рр.), “Побудова і дослідження програмних логік, що лежать в основі сучасних CASE-технологій” (№ 0101U002163, 2001-2005 рр.), “Дескриптивні CASE-технології генерації професійних систем програмування” (№ 0195U016803, 1995-1997 рр.), “Дослідження програмних алгебр композиційного типу” (№ 0198U002032, 1998-2000 рр.), “Еталонування семантичних структур мов CASE-середовищ програмологічними засобами” (№ 0101U005770, 2001-2003 рр.), “Розробка та реалізація підсистеми віддаленої актуалізації даних в засобах обліку державних службовців” (№ 0198U007174, 1998 р.).

Мета і задачі дослідження. Метою дисертаційної роботи є конструювання формальних моделей програмних систем засобами програмних алгебр композиційного типу на абстрактному та іменному рівнях абстракції:

  1. побудова програмних алгебр, які виступають моделями загальнозначних дескриптивних та декларативних структур програм, моделями маніпуляційних дій у базах даних, зокрема, в реляційних базах даних;
  2.  математичні дослідження таких алгебр, орієнтовані на їх подальше застосування до потреб практичного програмування;
  3. застосування отриманих результатів до опису повної семантики підмов маніпулювання даними (DML мов) у SQL-подібних мовах.
  4. Відповідно до цієї мети в роботі ставляться такі задачі:
  5. побудувати та дослідити на абстрактному рівні програмні алгебри суперпозицій та рекурсій, які виступають моделями загальнозначних дескриптивних (суперпозиція) та декларативних (рекурсія) структур  програм;
  6. побудувати та дослідити на абстрактному та іменному рівнях абстракції програмні алгебри зберігаючих денотати функцій, які виступають моделями маніпуляційних дій в базах даних; абстрактному рівню відповідають примітивні програмні алгебри, іменному – програмні алгебри іменних функцій;
  7.  побудувати та дослідити табличні алгебри, які уточнюють маніпуляції коддовського типу;
  8.  побудувати програмну алгебру іменних функцій та застосувати її до визначення повної формальної семантики DML мов у SQL-подібних мовах.

Наукова новизна одержаних результатів. Побудована узагальнююча теорія розв‘язування систем рівнянь, асоційованих з рекурсіями, і отримані такі нові результати цієї теорії:

  1. встановлена структура множини всіх розв‘язків, залежність розв‘язків від початкового наближення, параметрів та функцій правих частин;
  2. отримані нижні та верхні оцінки найменших розв‘язків, які узагальнюють оцінки відомих теорем теорії рекурсивних програм – теорем Парка (Park) про індукцію нерухомої точки, Кадью (Cadiou) та Війємана (Vuillemin) про безпечні правила обчислення;
  3. обґрунтована коректність застосування методу Гаусса (послідовного виключення невідомих) до розв‘язування систем;
  4. досліджені загальнозначні перетворення систем типу підстановки, які зберігають найменші розв‘язки; останній результат є узагальненням важливої теореми Війємана про інваріантні перетворення нерухомої точки в теорії рекурсивних програм.

Побудована і досліджена з нових позицій програмна алгебра суперпозицій та рекурсій:

  1. досліджена монотонність і неперервність суперпозиції за окремими аргументами, монотонність рекурсії та неперервність обмежень рекурсії на класи неперервних функцій;
  2. доведена замкненість класів монотонних (неперервних) функцій відносно рекурсії;
  3. встановлений взаємозв‘язок між сигнатурними операціями.

У дисертаційній роботі узагальнена модель маніпуляційних дій Редька-Басараба шляхом введення поняття функцій, які зберігають денотати відносно оцінок-параметрів універсуму даних. Побудовані і досліджені програмні алгебри функцій, які зберігають денотати. Розв‘язані проблеми повноти для програмних алгебр обчислюваних функцій, що зберігають денотати для основних оцінок універсуму іменних даних.

На основі узагальнення класичних реляційних алгебр Кодда побудована таблична алгебра, яка уточнює інформаційний та маніпуляційний аспект реляційних баз даних. Повністю вирішена проблема взаємної похідності сигнатурних операцій табличної алгебри. Побудована SQL-орієнтована програмна алгебра іменних функцій, засобами якої адекватно задана повна формальна семантика операторів маніпулювання даними SQL-подібних мов.

Практичне значення одержаних результатів. Дисертація має теоретико-прикладну спрямованість. Результати роботи по теорії програмних алгебр композиційного типу та по її застосуванню для еталонування мовних засобів у реляційних базах даних використовувались при проведенні ряду проектів, пов‘язаних з дослідженням універсальних і спеціалізованих програмних логік, програмологічних засобів інформаційних технологій, семантичних структур CASE-середовищ (замовники – КНУ, Фонд фундаментальних досліджень Міністерства освіти і науки України); зі створенням дескриптивних CASE-технологій генерації професійних систем програмування (ДНТП 05.10 “Нові технології програмування та універсальні інструментальні програмні засоби створення комп‘ютерних систем”); з програмною реалізацією компонент Єдиної державної комп’ютерної системи “Кадри” (замовник – Головне управління державної служби України). Результати дисертаційного дослідження щодо формальних моделей програм можуть також використовуватись при створенні складних програмних систем, які ґрунтуються на реляційних СУБД.

Результати роботи щодо формальної семантики SQL-подібних мов були впроваджені у навчальний процес на факультеті кібернетики КНУ (спецкурси для студентів 4-5 курсів за спеціальністю “Інформатика”).

Особистий внесок здобувача. Всі результати, які складають суть дисертаційної роботи, отримані здобувачем самостійно. З праць, виконаних зі співавторами, на захист виносяться лише результати, отримані особисто здобувачем.

У спільно виконаних роботах науковому консультанту В. Н. Редьку належить загальна постановка проблеми побудови і дослідження програмних алгебр різних рівнів абстракції [60, 61, 132, 134, 137, 144, 147, 148, 149], обговорення та інтерпретація результатів; С. П. Загорському – встановлення нескорочуваності систем породжуючих програмних алгебр іменних функцій [137]; Ю. Й. Броні – проведення доведень еквівалентності різних означень іменних даних [47], дослідження властивостей сигнатурних операцій табличних алгебр [46, 132, 134, 144, 147, 148]; С. А. Полякову, С. П. Загорському та Ю. Й. Броні – опис змістовної семантики операторів маніпулювання даними мови SQL, опрацювання промислових версій СУБД MS SQL Server, Informix, Oracle, Sybase SQL Server, еталонування операторів цієї мови засобами SQL-орієнтованої програмної алгебри [15, 16, 17, 24, 25, 148, 186, 187].

У спільно виконаних роботах Бую Д.Б. належать: параметризація збереження денотатів за оцінкою, дослідження властивостей характеристик функцій, встановлення взаємного розташування класу функцій, що зберігають денотати, та класу обчислюваних функцій, введення поняття -оцінки та встановлення її властивостей, знаходження систем породжуючих програмних алгебр обчислюваних іменних функцій, що зберігають денотати для основних оцінок [137]; встановлення структури множини нерухомих точок монотонної функції на індуктивній множини шляхом узагальнення конструкції Тарського [61] та шляхом побудови відповідного оператора замикання [60]; розробка різних способів визначення іменних даних [47]; побудова табличних алгебр, розробка допоміжного теоретико-множинного апарату, необхідного для дослідження табличних алгебр [46, 134, 144, 147, 148, 149]; введення характеристичних властивостей сигнатурних операцій табличних алгебр (збереження спеціальних множин, стабільність спеціальних відношень, збереження денотатів, схемна обмеженість, зобразимість, абстрактність) [132]; проведення доведень щодо взаємної похідності та виразної сили сигнатурних операцій табличних алгебр [148]; введення композицій повного образу та фільтрації для таблиць без дублікатів рядків [24, 148, 186, 187] та з дублікатами рядків [25, 148, 186, 187]; уточнення агрегатних функцій SQL-подібних мов, введення композиції агрегування [16, 148]; моделювання в програмних алгебрах механізмів упорядкування таблиць [25, 148, 186, 187], групування таблиць [17, 148, 186, 187]; встановлення структури операцій з‘єднання таблиць [15, 148].

Апробація результатів дисертації. Основні результати роботи доповідались у провідних наукових колективах України, Росії, Словаччини: на семінарах КНУ, Інституту кібернетики НАН України, Московського державного університету ім. М.В. Ломоносова, на Всесоюзних конференціях з прикладної логіки (Новосибірськ, 1985 р., 1988 р.), X Всесоюзному семінарі “Параллельное программирование и высокопроизводительные системы: методы представления знаний в информационных технологиях” (Уфа, 1990 р.), на Міжнародних конференціях “Ителлектуальные системы” (Росія, Красновідово, 1991 р., 1993 р.), Всеукраїнських наукових конференціях “Застосування обчислювальної техніки, математичних моделей та математичних методів у наукових дослідженнях” (Львів, 1995 р., 1997 р., 1998 р.), XI та XII Міжнародних конференціях “Проблемы теоретической кибернетики” (Ульянівськ, 1996 р.; Нижній Новгород, 1999 р.), Міжнародній конференції “Питання оптимізації обчислень” (Київ, 1997 р.), Міжнародному симпозіумі “Питання оптимізації обчислень – XXVIII” (Київ, 1999 р.), першій та другій Міжнародних науково-практичних конференціях з програмування УкрПРОГ’98, УкрПРОГ’2000 (Київ, 1998 р., 2000 р.), IV Міжнародній конференції “Electronic Computers and Informatics’2000” (Kosice-Herlany, Slovakia, 2000 р.) та V Міжнародній конференції “Information Theories & Applications” (Varna, Bulgaria, 2000 р.) [18, 20, 22, 23, 26, 27, 32, 36, 38, 39, 40, 43, 45, 52, 186, 187, 189].

Публікації. Результати дисертації опубліковані у одній монографії, 27 статтях у наукових журналах і збірниках наукових праць, 2 тезах конференцій; з них 25 статей опубліковані у фахових виданнях, затверджених ВАК України, серед яких 10 одноосібних праць.

Структура і обсяг роботи. Дисертаційна робота складається з переліку умовних позначень, вступу, п’яти розділів (15 підрозділів), висновків, списку використаних джерел (209 найменувань на 17 с.) і додатків (37 с., доведення технічних тверджень, формальні визначення агрегатних функцій мови SQL). Загальний обсяг дисертації становить 364 с., основний зміст викладено на 294 с. Праця містить 9 рисунків та 6 таблиць загальним обсягом 8 с.

Основний зміст. Наведемо огляд основних положень роботи, даючи огляд літератури з відповідної проблематики.

Перший розділ присвячений нерухомим точкам монотонної функції на частково впорядкований множині. Мета розділу полягає у визначенні і дослідженні формальних моделей загальнозначних декларативних структур мов програмування. Під декларативними (денотативними, неявними) структурами розуміються структури, пов‘язані з специфікацією об‘єктів через їхні властивості; саме ця обставина відрізняє ці структури від дескриптивних (коннотативних, явних) структур, коли об‘єкти вводяться за допомогою певних процедур завдання.

Об‘єкт дослідження – формальні моделі декларативних структур, якими виступають рівняння з розв‘язною відносно невідомого лівою частиною та монотонною правою частиною: , де – монотонна функція на частково впорядкованому універсумі даних. Іншими словами, мова йде про метод нерухомої точки у програмології.

Основна увага приділяється топологічній характеристиці монотонних функцій, структурі нерухомих точок монотонної функції на довільній ч. в. м., зокрема, на індуктивній множині; ітераційним процесам знаходження розв‘язків відповідних рівнянь.

При дослідженнях використовуються топологічні методи, апарат -ланцюгів елемента відносно функції Абіана-Брауна, техніка Тарського щодо розгляду спеціальних обмежень вихідної функції, оператори замикання та трансфініти.

Основні результати розділу: встановлення топологічної характеристики монотонних функцій; критерію власного включення класу неперервних функцій у клас монотонних функцій у термінах умови обриву зростаючих ланцюгів; опис множини нерухомих точок монотонної функції на довільній ч. в. м., зокрема, на індуктивній множині.

Перший розділ у цілому носить допоміжний характер, у третьому розділі його результати використовуються при розгляді рекурсії.

Метод нерухомої точки складає ядро денотаційного програмування. В літературі розглядалися, як правило, неперервні функції на конкретних індуктивних множинах (див. огляд [206]) та обмежувалися фактом існування хоча б одної нерухомої точки [180], зокрема, в дослідженнях з денотаційної семантики, найменшої. Класичне питання про опис множини всіх нерухомих точок навіть і не ставиться. Тут треба тільки згадати результат Тарського про успадкування структури нерухомих точок монотонної функції на повній решітці [209], значення якого підсилюється природними інтерпретаціями не тільки найменших, а й найбільших нерухомих точок при визначенні денотаційної семантики логічних програм [182; 171, розд. VIII, с. 281-286] та денотаційної семантики передумов програм [2, розд. I, §3, с. 31, теорема 2].

Другий розділ присвячений стандартній суперпозиції тотальних функцій, яка виступає моделлю загальнозначних дескриптивних структур програмування. Об‘єкт дослідження – суперпозиції тотальних функцій та програмологічні операції над частковими функціями – підстановка, колекція, розгалуження. Основна проблематика полягає у дослідженні монотонності та неперервності операцій.

При дослідженнях використовуються топологічні методи, апарат індуктивних та підіндуктивних множин; останні дозволяють природно переносити результати з абстрактного рівня та більш конкретні рівні.

Основні результати розділу: встановлення монотонності та неперервності суперпозиції за окремими аргументами; опис структури часткових функцій, впорядкованих за включенням графіків; встановлення еквівалентності різних означень неперервних операцій над частковими функціями; дослідження зв‘язків між частковими та тотальними функціями, суперпозицією та підстановкою, розгалуженням та функцією вибору.

Суперпозиція розглядається на максимально абстрактному рівні, необхідному для постановки питання про її монотонність та неперервність. Це дало можливість висвітлити принципово різну інтенсіональну роль функцій-аргументів суперпозиції, яка проявляється в властивостях монотонності чи немонотонності суперпозиції за різними аргументами (один є активним, він “викликає” інші аргументи; дуально, інші аргументи є пасивними, вони “викликаються”). Аналогічна ситуація виконується і для неперервності. Разом з тим, розглядаючи суперпозицію тільки над монотонними (неперервними) функціями, як це і робиться (див., наприклад, класичну роботу [123]), розрізнити ці ролі неможливо, бо така суперпозиція є монотонною (неперервною) за всіма аргументами.

Оскільки є дві близькі операції над функціями – суперпозиція тотальних функцій та підстановка часткових функцій – то треба встановити зв‘язок між ними, що і робиться у цьому розділі (підрозд. 2.3). Сама методика вкладання часткових функцій у тотальні добре відома у літературі [123, 197], але питання про адекватність такого моделювання та про взаємозв‘язок між суперпозицією та підстановкою навіть не ставиться.

У третьому розділі вводиться рекурсія та досліджується разом з суперпозицією; таким чином, тут будується програмна алгебра суперпозицій та рекурсій.

Унарні та багатомісні рекурсії індуковані рівняннями та системами рівнянь з розв‘язними відносно невідомих лівими частинами та монотонними правими частинами:

  

де , , – монотонні функції, а – індуктивні множини; Праві частини систем рівнянь можуть містити параметри. Між рекурсіями та системами існує двосторонній зв‘язок: рекурсії індуковані системами, а для розв‘язування систем треба застосовувати саму рекурсію.

Функції та предикати систем алгоритмічних алгебр Глушкова (САА) [69, 70], рекурсивні програми та функції [123, 155], формальні мови [4, 66, 67, 68, 139], композиції [129], типи даних (див., наприклад, [9, 161, 162, 208]), функціональні програми [64], взаємодіючі послідовні процеси Хоара [20, 170] природно задаються як розв’язки таких систем в конкретних індуктивних множинах; таким чином, зазначені системи виступають потужним декларативним засобом специфікації об’єктів. Саме тому доцільно розвивати загальну теорію розв’язування систем рівнянь зазначеного вигляду.

Для випадку формальних мов рекурсія розглядалась у [139], під назвою метакомпозиції найменшої нерухомої точки для неперервного випадку рекурсія наводилась у [129].

Основна проблематика полягає у дослідженні монотонності та неперервності рекурсії, замкненості класів монотонних (неперервних) функцій відносно неї; розвиненні загальних методів розв‘язування систем рівнянь, встановленні взаємозв‘язку між суперпозиціями та рекурсіями.

При дослідженнях використовуються ординальні зображення найменших розв‘язків, зображення рекурсії через більш прості операції абстракції та добутку, техніка підіндуктивних множин, властивості суперпозиції, встановлені у розд. 2. Таким чином, у третьому розділі, використовуючи результати першого, основні властивості суперпозиції переносяться на рекурсію.

Основні результати третього розділу: встановлення монотонної залежності найменшого розв‘язку від функції правої частини та параметру; доведення монотонності рекурсії, неперервності її обмежень на неперервні функції, замкненості класів монотонних та неперервних функцій відносно рекурсії; опис зв‘язку між суперпозицією та рекурсією у вигляді системи співвідношень, коли аргументи операцій побудовані у свою чергу суперпозиціями та рекурсіями; розвиток теорії розв‘язування рівнянь зазначеного вигляду в індуктивних множинах (метод Гаусса; розв‘язування систем рівнянь з суперпозиціями та рекурсіями у правих частинах; загальнозначні перетворення систем, що зберігають найменші розв‘язки; нижні та верхні оцінки найменших розв‘язків). В цілому цей розділ носить інтегруючий характер та завершує дослідження перших двох розділів.

У четвертому розділі розглядаються примітивні програмні алгебри (ППА) та програмні алгебри (ПА) іменних функцій. Носіями ППА виступають класи багатомісних часткових функцій, а сигнатури складаються з композицій підстановки, розгалуження та циклувань. Носіями ПА виступають класи іменних функцій, а сигнатури містять композиції добутку, розгалуження, циклування та суперпозиції за значенням. При цьому сигнатурні операції зазначених алгебр являються моделями загальнозначних керуючих структур мов програмування. Зауважимо, що ці сигнатурні операції є адекватними уточненнями і тому мають аналоги серед, наприклад, операцій над нормальними алгорифмами Маркова [124], сигнатурних операції САА Глушкова [69, 70, 73], операцій над функторами граф-схем Заславського [93], операцій структурованих схем програм [107, 108, 117].

Мета розділу полягає у визначенні формальних моделей маніпуляційних дій в базах даних та вирішенні проблеми синтеза таких дій. Під мініпуляційними розуміються дії, пов‘язані насамперед з перебудовою структури аргументів, а не з обчисленням компонент структур даних.

Об‘єкт дослідження – формальні моделі маніпуляційних дій, якими виступають функції, що зберігають денотати, та відповідні програмні алгебри. В цьому випадку універсум даних розглядається як оцінений – фіксується відображення, яке зіставляє даному множину його компонент. Основна проблематика для програмних алгебр пов‘язана з синтезом: дослідження повноти класів функцій, що зберігають денотати, тобто в знаходження систем породжуючих алгебр. Методика дослідження – формальне уточнення характеристичної властивості маніпуляційності у вигляді вимоги скінченності так званої характеристики функції та встановлення зв‘язків між характеристиками функцій при застосування до функцій основних програмологічних операцій. При розв’язуванні проблем повноти різних класів обчислюваних функцій, що зберігають денотати, класична нумераційна обчислюваність моделюється функціями, що зберігають денотати.

Основні результати розділу: уточнення маніпуляційності дії у вигляді функції, що зберігає денотати; введення основного поняття – характеристики функції – та встановлення основних властивостей характеристик, зокрема, зв‘язків між характеристиками функцій-аргументів та функцій-результатів для основних програмологічних операцій (підстановка, розгалуження, циклування, рекурсія); розповсюдження поняття збереження денотатів з функцій на композиції та встановлення збереження (чи незбереження) денотатів для основних композицій; визначення взаємного положення класів функцій, що зберігають денотати, та обчислюваних функцій; встановлення природних необхідних умов повноти для програмних алгебр у випадку оціненого універсуму; знаходження систем породжуючих для ППА обчислюваних векторних функцій, що сильно зберігають денотати, та низки ПА іменних обчислюваних функцій, що зберігають денотати відносно природних оцінок універсуму іменних даних.

Вихідними даними для досліджень розділу є робота [10], в якій було введене поняття функції маніпулювання даними – по суті це збереження денотатів відносно конкретної оцінки. В дисертаційній роботі це поняття параметризується, причому допускаються і нескінченні оцінки. Остання обставина дала змогу поставити і вирішити питання збереження денотатів не тільки для функцій, але і для основних програмологічних операцій.

Серед близьких робіт по визначенню різних класів функцій, індукованих запитами в базах даних, відмітимо [6, 7, 116, 156, 157, 190], а також результати І. В. Редька по вирішенню проблем повноти для ППА обчислюваних функцій, що зберігають денотати для природних оцінок універсумів векторів, матриць, реляцій та таблиць [56].

Нарешті, заключний п‘ятий розділ присвячений застосуванню теорії програмних алгебр в реляційних базах даних. Мета розділу полягає у визначенні формальних моделей маніпуляційних дій в СУБД реляційного типу.

Об‘єкт дослідження – формальні моделі маніпуляційних дій у таких СУБД, якими виступає, по-перше, таблична алгебра та, по-друге, спеціальна програмна алгебра іменних функцій, орієнтована на визначення семантики операторів маніпулювання даними SQL-подібних мов. Таблична алгебра будується на основі відомих реляційних алгебр Кодда; її носій складають таблиці, а сигнатуру – операції об‘єднання, перетину, різниці, селекції, проекції, з‘єднання, ділення, перейменування та активного доповнення. Носій SQL-орієнтованої програмної алгебри містить часткові іменні функції на універсальному домені, рядках, таблицях, а сигнатура складається з композицій фільтрації, взяття повного образу, агрегування та підстановки.

Основна проблематика для табличних алгебр полягає у дослідженні взаємної похідності та виразної сили сигнатурних операцій. Методика дослідження – виділення характеристичних властивостей табличних операцій. Проблематика для SQL-орієнтованої програмної алгебри полягає у адекватній побудові самого цього об‘єкта та його застосуванні для визначення повної експлікативної семантики мов маніпулювання даними.

Основні результати розділу: побудова табличної алгебри; встановлення непохідності операцій об‘єднання, селекції, проекції, з‘єднання, перейменування, активного доповнення відносно решти сигнатурних операцій та довільних констант; побудова SQL-орієнтованої програмної алгебри та її застосування для опису повної семантики операторів маніпулювання даними, включаючи таблиці з дублікатами рядків та без дублікатів, упорядковані таблиці, внутрішні та зовнішні операції з‘єднання таблиць, агрегатні функції (зокрема, квантифікація), групування.

Таблична алгебра будується на основі відомих реляційних алгебр Кодда, п. 5.1.2 містить розгорнутий огляд літератури, а зараз тільки відзначимо, що в табличних алгебрах явно вводяться структури іменування як на рівні даних, так і на рівні сигнатурних операцій. Проекція розглядається як тотальна операція, параметром селекції виступає довільний предикат на рядках, з‘єднання уточнюється як еквіз‘єднання та нетривіально вводиться перейменування атрибутів. Традиційно вважається, що формалізми типу коддовських алгебр (числення на кортежах, доменах) можуть служити моделями при визначенні семантики мов у реляційних СУБД, але в роботі показано, що низка суттєвих особливостей реальних СУБД (дублікати рядків, впорядкування та групування рядків, зовнішні з‘єднання, агрегатні функції) не моделюється такими формалізмами. Отже виникає проблема побудови відповідних більш потужних моделей, яка і вирішується розглядом SQL-орієнтованої програмної алгебри.

Проблематиці взаємної похідності та виразної сили основних табличних операцій не приділялося достатньої уваги (слід тільки відзначити роботи [181, 184], виконані для класичних коддовських уточнень операцій); таке становище приводить до того, що вимоги до повноти реляційних мов формулюються в змістовних термінах (неформальна прагматична повнота) чи в термінах виразності основних коддовських операцій [195]. Власні підалгебри алгебри табличних операцій з операцією підстановки, побудовані у дисертації при дослідженнях з непохідності, дозволяють по-новому підійти до проблем повноти реляційних мов.

Наприкінці зробимо декілька зауважень щодо форми викладення матеріалу. Основна частина складається з розділів, розділи – з підрозділів, підрозділи – з пунктів, а пункти – з підпунктів. Означення, леми, твердження, теореми, наслідки мають наскрізну нумерацію в межах розділів, їхні номери складаються з номеру розділу та номеру об‘єкту в розділі. Знак □ означає кінець формулювання означення, леми, твердження, теореми, наслідку, кінець доведення, а знак ▫ – кінець логічної частини доведення.

Нерухомі точки монотонної функції на частково впорядкованій множині

Мета розділу полягає у визначенні і дослідженні формальних моделей загальнозначних декларативних структур мов програмування. Під декларативними (денотативними, неявними) структурами розуміються структури, пов‘язані з специфікацією об‘єктів через їхні властивості. Саме ця обставина відрізняє ці структури від дескриптивних (коннотативних, явних) структур, коли об‘єкти вводяться за допомогою певних процедур завдання.

Об‘єкт дослідження – формальні моделі декларативних структур мов програмування, якими виступають рівняння з розв‘язною відносно невідомого лівою частиною та монотонною правою частиною: , де – монотонна функція на частково впорядкованому універсумі даних. Іншими словами, мова йде про метод нерухомої точки у програмології. Основна проблематика полягає у дослідженні загальних властивостей монотонних функцій; встановленні структури нерухомих точок монотонної функції на довільній ч. в. м., зокрема, на індуктивній множині; уточненні ітераційних процесів знаходження розв‘язків відповідних рівнянь. При дослідженнях використовуються топологічні методи, апарат -ланцюгів елемента відносно функції Абіана-Брауна, техніка Тарського щодо розгляду спеціальних обмежень вихідної функції, оператори замикання та трансфініти.

Основні результати розділу: встановлення топологічної характеристики монотонних функцій; критерію власного включення класу неперервних функцій у клас монотонних функцій; опис множини нерухомих точок монотонної функції на довільній ч. в. м., зокрема, на індуктивній множині.

Основні результати розділу опубліковані в [27, 45, 60, 61, 189]. У спільно виконаних роботах науковому консультанту В. Н. Редьку належить загальна постановка проблеми встановлення структури множини нерухомих точок монотонної функції, ідея застосування операторів замикання [60, 61].

Основні поняття

Означення 1.1. Скажемо, що функція , де , – частково впорядковані множини (ч. в. м.), монотонна, якщо виконується імплікація для всіх елементів . □

Означення 1.2. Скажемо, що ч. в. м. індуктивна, якщо її довільний ланцюг має точну верхню грань (супремум). □

Зауважимо, що в індуктивній множині існує найменший елемент (нуль за термінологією теорії решіток або дно за термінологією [5, розд. 1, § 1.2], оскільки він дорівнює супремуму порожньої множини , яка є ланцюгом (а верхнім конусом виступає вся вихідна ч.в.м). Супремум (інфімум) множини будемо позначати (відповідно ); найменший (найбільший) елемент – (відповідно ).

Клас індуктивних множин збігається з класом повних частково впорядкованих множин (п. ч. в. м.), тобто ч.в.м, в яких направлені підмножини мають супремум. Для злічених множин цей факт перевіряється елементарно з огляду на те, що довільна злічена направлена множина містить ланцюг як конфінальну підмножину. Зауважимо, що в загальному випадку це не так (відповідний приклад наведений у [1, розд. 1, § 2, приклад 1.2.4, с. 24], і тому для встановлення рівності класів індуктивних множин і п. ч. в. м. для випадку незлічених потужностей потрібно скористатись твердженням 5.9 з [102, розд. І, § 5] про еквівалентність у довільній ч.в.м двох умов: (1) довільний непорожній ланцюг має супремум, (2) довільна непорожня направлена множина має супремум. Зазначимо, що доведення спирається на аксіому вибору.

Як і у багатьох працях (див., наприклад, [71, 96, 123, 170]), надалі надаватиметься перевага індуктивним множинам, оскільки при описі нерухомих точок природно виникають саме ланцюги (точніше кажучи, цілком упорядковані множини), а не направлені множини. Симптоматично, що у сучасній монографії [197, розд. 4] при викладенні класичних теорем про нерухому точку п. ч. в. м. розуміються саме як індуктивні множини.

Означення 1.3. Скажемо, що функція , де – індуктивні множини, неперервна, якщо для довільного непорожнього ланцюга виконується рівність , де – повний образ множини відносно функції . □

Таким чином, з визначеності лівої частини рівності означення (тобто з існування відповідного супремума) випливає визначеність і правої частини (тобто існування супремума повного образу), а також збіжність значень цих частин.

Добре відомо, що з неперервності функції випливає її монотонність (для цього треба розглянути в означенні неперервності двоелементний ланцюг, див, наприклад, [96, § 9, с. 43; 5, розд. 1, § 1.2, доведення твердження 1.2.6]). Крім того, неважко перевірити, що повний образ ланцюга відносно монотонної функції знову буде ланцюгом. Тому часто неперервні функції визначаються як монотонні функції, які задовольняють рівності означення неперервності [71; 123, п. 5.1.2; 155, § 11.5, теорема ХІ]. При такому підході обидві частини рівності одночасно визначені, а неперервність просто вимагає збіжності значень частин.

Зробимо декілька зауважень щодо термінології. Монотонні функції [5, розд. 1, § 1.2; 197, розд. 1, с. 10; 71; 96] називаються також ізотонними [159, § 1; 13, розд. V, § 1]; монотонними гомоморфізмами [102, розд. І, § 4] або зростаючими [62, розд. ІІІ, § 1, п. 5]. У [65, § 69] індуктивні множини називаються замкненими, в [129] злічені індуктивні множини називаються сч. в. м., а в [62, розд. ІІІ, § 2, п. 4; 13, розд. VIII, § 7] під індуктивними розуміються ч.в.м, в яких ланцюги обмежені, тобто мають хоча б одну верхню грань. Наше використання цього терміну збігається з [71; 96, розд. 1, § 9], тільки в цих працях розглядаються злічені ланцюги, і у другій не вимагається існування найменшого елементу.

Сім’ю всіх тотальних (тобто всюди визначених функцій) з множини у множину будемо позначати через , сім’ю всіх монотонних функцій з ч. в. м. в ч. в. м. – через , а сім’ю всіх неперервних функцій з індуктивної множини в індуктивну множину – через . У цих позначеннях взаємне розташування класів неперервних і монотонних функцій записується як включення .

Основні властивості та еквівалентні завдання монотонних функцій

Для неперервних функцій на п. ч. в. м. у розумінні збереження супремумів (або, за іншою термінологією, дистрибутивності відносно супремумів направлених множин) відома їх характеристика як неперервних функцій у відповідній топології. Це топологія Скотта, яка спочатку вводилася для повних решіток [130, розд. V, § 5, п. 5.2; 160, с. 114; 201], а потім була перенесена і на п. ч. в. м. [5, розд. 1, § 1.2, твердження 1.2.6]. Цей результат залишається вірним і для індуктивних множин, тобто при розгляді ланцюгів замість направлених множин.

Топологія Скотта для індуктивної множини вводиться так: множина називається відкритою, якщо виконуються імплікації

 ,

 .

Отже, функція неперервна у розумінні означення 1.3 тоді і тільки тоді, коли вона неперервна у так модифікованій топології Скотта.

Зробимо декілька зауважень про топологію Скотта, даючи природну інтерпретацію умов відкритості. Нижче поняття зростаючих та спадних множин використовуються у звичайному розумінні [130, розд. V, § 5, п. 5.2; 197, розд. 1, п. 1.19]. Перша умова відкритої множини означає, що множина зростаюча, а друга, очевидно, еквівалентна замкненості доповнення відносно операції взяття супремумів непорожніх ланцюгів. Таким чином, топологію Скотта формують зростаючі множини, доповнення яких замкнені відносно взяття супремумів непорожніх ланцюгів.

Дамо аналогічну характеристику монотонних функцій, а також сформулюємо критерій власного включення сімей функцій .

Очевидно, що функція монотонна тоді і тільки тоді, коли вона монотонна відносно оберненого (інверсного) порядку; тому нижче часто будемо застосовувати принцип двоїстості.

Твердження 1.1 (критерій монотонності в термінах повних образів конусів). Розглянемо функцію , де – ч. в. м. Тоді наступні твердження еквівалентні

  – монотонна,

 ,  (1.1)

 ,  (1.2)

 , (1.3)

 . □ (1.4)

Доведення проводиться безпосередньо. Так імплікація (1.1)(1.2) тривіальна, а обернена імплікація встановлюється з використанням стандартних властивостей конусів та повних образів: . ▫

Імплікації (1.3) та (1.4) доводяться за допомогою принципу двоїстості. □

Звідси безпосередньо випливає наслідок.

Наслідок 1.1. Нехай функція , де – ч.в.м, монотонна. Тоді для всіх множин , що мають супремум, виконується належність ; зокрема, якщо існує супремум , то . Якщо – найбільший елемент множини , то – найбільший елемент повного образу . □

Природно, виконується двоїстий аналог цього наслідку для інфімумів та нижніх конусів.

Критерій власного включення класів неперервних та монотонних функцій формулюється у термінах умови обриву зростаючих ланцюгів (УЗЛ); за термінологією [13, розд. VIII, § 1] це нетеревість. Тому наведемо основні потрібні далі властивості ч. в. м., що задовольняють УЗЛ.

Твердження 1.2. Виконуються наступні твердження:

  1. ч. в. м. задовольняє УЗЛ тоді і тільки тоді, коли довільна непорожня підмножина вихідної ч. в. м. має хоча б один максимальний елемент;
  2. для довільної непорожньої підмножини ч. в. м., що задовольняє УЗЛ, виконується еквівалентність: – направлена множина тоді і тільки тоді, коли має найбільший елемент; зокрема, довільний непорожній ланцюг ч. в. м., що задовольняє УЗЛ, має найбільший елемент;
  3. ч. в. м., що має найменший елемент та задовольняє УЗЛ, є індуктивною;
  4.  , де – індуктивні множина, причому задовольняє УЗЛ. □

Доведення наведене у додатку А. □

Важливим прикладом ч. в. м., що задовольняє УЗЛ, є стандартне розширення області даних [96, розд. 3, § 1, с. 102] або за термінологією [197, розд. 1, с. 16] плоска ч. в. м. (flat): дискретно впорядкована множина, поповнена найменшим елементом.

Тому з останнього твердження (п. 4) випливає відомий факт про збіжність понять неперервності та монотонності для стандартних розширень областей даних [96, розд. 3, § 1, с. 104].

Теорема 1.1 (критерій власного включення класу неперервних функцій у клас монотонних). Нехай – індуктивні множини. Включення виконується тоді і тільки тоді, коли множина не задовольняє умові обриву зростаючих ланцюгів, а множина не є дискретно впорядкованою.2 □

Доведення. Достатність. Нехай в існує злічений ланцюг , , , а у множині елементи , причому . Покладемо ; очевидно, що (інакше ланцюг стабілізується). Розглянемо функцію

 

і покажемо, що вона монотонна, але не неперервна. Дійсно, , а . Монотонність встановимо від супротивного. Нехай існують елементи такі, що , а . Очевидно, що , . За визначенням функції виконується нерівність , але тоді і , тобто – протиріччя. ▫

Необхідність. Від супротивного. Нехай у виконується УЗЛ або множина дискретно впорядкована. У першому випадку приходимо до протиріччя з огляду на п. 4 твердження 1.2. Розглянемо другий випадок. Нехай – довільний непорожній ланцюг, а – довільна монотонна функція; тоді враховуючи наслідок 1.1, маємо нерівність (супремум зліва існує, оскільки – ланцюг як повний образ ланцюга відносно монотонної функції). Але порядок на множині дискретний, тобто остання нерівність переходить у рівність. Отже, функція неперервна. □

Наведений критерій включення посилює достатню умову збіжності класів монотонних та неперервних функцій у термінах УЗЛ, наведену в п. 4 твердження 1.2; ця достатня умова зазначалася в [197, розд. 3, с. 56].

Сформулюємо аналог твердження 1.1 у термінах повних прообразів. Нам знадобиться наступна загальна властивість конусів ч. в. м., а також зростаючі (тобто фільтри) і спадні (тобто ідеали) множини у ч. в. м.

Лема 1.1. Верхні конуси ч. в. м. замкнені відносно (часткової) операції взяття супремумів непорожніх підмножин та (часткової) операції взяття інфімумів довільних підмножин; дуально нижні конуси замкнені відносно операції взяття інфімумів непорожніх підмножин та операції взяття супремумів довільних підмножин. □

Доведення. Розглянемо випадок верхніх конусів. Згідно з принципом двоїстості цього достатньо. Отже нехай та існує інфімум (випадок супремуму тривіальний). Згідно зі стандартними властивостями конусів (див., наприклад, [159, § 1, теорема 3] маємо включення ; далі за означенням інфімума. □

Означення 1.4. Підмножину ч. в. м. назвемо зростаючою (спадною), якщо (відповідно ). □

Наведемо потрібні далі властивості зростаючих та спадних множин.

Лема 1.2 (властивості зростаючих та спадних множин). У довільній ч. в. м. виконуються наступні твердження:

  1.   – зростаюча множина тоді і тільки тоді, коли ;
  2.   – спадна множина тоді і тільки тоді, коли ;
  3.  клас зростаючих (спадних) множин замкнений відносно довільних об’єднань або перетинів;
  4.   – зростаюча множина, а – спадна множина;
  5.   – зростаюча множина тоді і тільки тоді, коли її доповнення  – спадна множина;
  6.   тоді і тільки тоді, коли , де – направлена множина (ланцюг), а множини спадні (або одночасно спадні, або одночасно зростаючі). □

Доведення наведене у додатку А. 

Зазначимо, що з п. 4 доведеної леми та замкненості нижнього конуса відносно взяття супремумів (лема 1.1) випливає відкритість множини в топології Скотта [5, розд. 1, § 1.2, лема 1.2.4].

Зауважимо, що аналоги п. 5 про зв’язок між зростаючими та спадними множинами добре відомі для сім’ї множин, впорядкованої відношенням теоретико-множинного включення (див., наприклад, [111, § 1, п. VII]).

Як показано в наступному наслідку, те, що відкриті за Скоттом множини дійсно задають топологію, випливає безпосередньо зі встановлених загальних властивостей зростаючих та спадних множин.

Наслідок 1.2. Сім’я зростаючих множин, доповнення яких замкнені відносно взяття супремумів непорожніх направлених множин (ланцюгів), тобто сім’я відкритих за Скоттом множин, замкнена відносно довільних об’єднань та скінченних перетинів. □

Доведення. Розглянемо випадок довільних об’єднань. Нехай – відповідні зростаючі множини, . Згідно з п. 3 леми 1.2 про властивості зростаючих та спадних множин – зростаюча множина, Очевидно, , де доповнення замкнені відносно взяття супремумів направлених множин (ланцюгів). Але сім’я всіх множин, які задовольняють цій умові замкненості, сама замкнена відносно довільних перетинів, що перевіряється безпосередньо (за термінологією [13, розд. V, § 1] ця сім’я є мурівською). ▫

Перейдемо до скінченних перетинів. Нехай , де – відповідні зростаючі множини. Згідно з п. 3 леми 1.2 множина зростає, і залишається перевірити замкненість доповнення відносно взяття супремумів. Нехай – непорожня направлена множина (ланцюг), причому . Але за п. 5 леми 1.2 спадні множини, тому згідно з п. 6 цієї ж леми , або . Залишається скористатися замкненістю доповнень. □

Таким чином, на індуктивній множині, яка є і п. ч. в. м., як зазначалося на початку цього розділу, можна ввести дві топології Скотта: перша топологія використовує направлені множини, а друга – ланцюги. Виявляється, що ці дві топології збігаються. Наведемо відповідні міркування.

Очевидно, що друга топологія (топологія ланцюгів) є більш тонкою, ніж перша (для направлених множин), Тому залишається встановити, що зі замкненості доповнення вигляду , де зростаюча множина, відносно операції взяття супремумів непорожніх ланцюгів випливає замкненість цього ж доповнення відносно операції взяття супремумів непорожніх направлених множин.

Розглянемо множину за індукованим порядком. Замкненість , індуктивність універсуму та відомий зв’язок між вихідним та індукованим порядками означають, що в існує супремум довільного непорожнього ланцюга. Отже, з огляду на [102, розд. І, § 5, твердження 5.9], в існує супремум довільної непорожньої направленої множини – , . Але існує і супремум вигляду , причому , так як для верхніх конусів . Враховуючи, що множина спадна (лема 1.2, п. 5), приходимо до належності .

Повернемося до загальних властивостей монотонних функцій.

Твердження 1.3 (критерій монотонності в термінах повних прообразів). Розглянемо функцію , де – ч. в. м. Тоді наступні твердження еквівалентні:

– монотонна;  (1.5)

 – зростаюча множина – зростаюча множина); (1.6)

– зростаюча множина); (1.7)

 – спадна множина – спадна множина); (1.8)

– спадна множина). □ (1.9)

Доведення наведене у додатку А. □

Тепер дамо топологічну характеристику монотонних функцій. Це дасть змогу подивитись на вже встановлені властивості монотонних функцій з єдиних позицій.

Розглянемо наступну топологію на ч.в.м: множина називається відкритою, якщо вона зростаюча. Згідно з п. 3 леми 1.2 це означення дійсно задає топологію; ця топологія будується просто опущенням другої умови на відкриті множини у топології Скотта. Назвемо цю більш тонку топологію -топологією Скотта. Зважаючи на п. 1 згаданої леми 1.2, її базис складають верхні конуси всіх елементів.

Переходячи до двоїстих понять (до спадних множин та нижніх конусів) приходимо до -топології Скотта, базис якої складають всі нижні конуси вигляду .

Ці дві топології пов’язані природним чином, беручи до уваги зв’язок між зростаючими та спадними множинами (лема 1.2, п. 5): множина відкрита (замкнена) в -топології тоді і тільки тоді, коли її доповнення відкрите (замкнене) в -топології; іншими словами клас множин, відкритих в -топології збігається з класом множин, замкнених в -топології. Основні властивості введених топологій та зв’язок з топологією Скотта наведені в наступній лемі.

Лема 1.3. Для замикань множини відповідно в -топології та в -топології виконуються відповідно рівності , . Топологія Скотта на індуктивній множині збігається з -топологією тоді і тільки тоді, коли вихідна індуктивна множина задовольняє УЗЛ. □

Доведення наведене у додатку А. □

Що стосується зв’язку введених топологій з монотонністю, то він розкривається у наступному твердженні.

Твердження 1.4 (критерій монотонності у термінах топологій). Розглянемо функцію , де , – ч. в. м. Функція монотонна тоді і тільки тоді, коли вона неперервна в -топології Скотта (-топології), введеній на множинах . □

Доведення спирається на критерій монотонності у термінах повних прообразів (твердження 1.3) та стандартні властивості неперервних функцій (див., наприклад, [3, розд. 4, § 2, твердження 1]). □

Тепер дамо топологічну інтерпретацію властивостей монотонних функцій. Включення імплікацій (1.2), (1.4) означають включення повного образу замикання одноелементної множини в замикання повного образу (скористались лемою 1.3); імплікації (1.7), (1.9) означають, що повний прообраз кожного елемента деякої бази топології відкритий. Це стандартні властивості неперервних функцій (див, наприклад, [99, розд. 3, с. 121, теорема 1]). Нарешті, рівність , де задовольняє УЗЛ (п. 4 твердження 1.2) та критерій власного включення для цих класів функцій по суті випливають зі співвідношень між топологією Скотта та -топологією (лема 1.3).Нерухомі точки монотонної функції на довільній частково впорядкованій множині

У цьому підрозділі, спираючись на апарат -ланцюгів (елемента ч. в. м. відносно функції) дамо опис нерухомих точок монотонної функції, яка дія на довільній ч. в. м. Основні властивості -ланцюгів вивчались у [180], у [62, розд. ІІІ, § 2, с. 181] наводиться інше еквівалентне означення цього поняття, в [65, розд. IX, § 69, с. 240] вводились природні конфінальні підмножини -ланцюгів під назвою -ланцюгів, причому тільки для індуктивних множин.

Ланцюги елемента відносно функції

Зафіксуємо ч. в. м. , функцію вигляду та елемент . Нижче наведене означення слідує [180].

Означення 1.5. -Ланцюгом (елемента відносно функції ) назвемо множину таку, що

  1.   – цілком упорядкована множина (ц. у. м.) за індукованим порядком з найменшим елементом та деяким найбільшим елементом;
  2. для довільного елемента , відмінного від найбільшого в , значення функції – наступний елемент за в (тобто );
  3. для довільної непорожньої підмножини існує супремум , який належить підмножині . □

Наприклад, якщо елементи та непорівнянні, або , або (тобто ), то існує єдиний -ланцюг – .

Через позначимо -ланцюги з найбільшими елементами відповідно . Наведемо в наступних чотирьох лемах елементарні властивості -ланцюгів згідно з [180], при цьому формулювання наступних лем 1.4, 1.6, 1.7 дещо модифіковані.

Лема 1.4. Нехай , тоді – -ланцюг вигляду . □

Доведення. Покладемо та перевіримо для три пункти означення -ланцюга. Перший пункт очевидно виконується, причому – найбільший елемент ; перейдемо до другого. Нехай та . Очевидно, що і тому . Звідси ; значить . Отже . Розглянемо останній пункт. ▫

Нехай , , тоді , звідки ; але , а конуси замкнені відносно операцій взяття точних граней (лема 1.1), тому . □

Зауважимо, що множина є по суті початковим відрізком множини і тому успадковує її властивості.

Лема 1.5. Якщо , то – -ланцюг вигляду . □

Доведення проводиться безпосередньо. □

Лема 1.6 (про порівняння). Для довільних -ланцюгів виконується : або . □

Доведення. Очевидно або . У першому випадку лема тривіально істинна, розглянемо другий випадок. Отже, нехай . Покладемо . Очевидно (бо принаймні ), , . Тому за п. 3 означення -ланцюга існує супремум , причому , тобто . Очевидно, – найбільший елемент множини .

Розглянемо елемент : , тобто . Якщо , то , що не виконується; отже, , тому (за п. 2 означення -ланцюга) . Далі, , тобто . Покажемо, що . Від супротивного: нехай , тоді ; значить , що суперечить тому, що – найбільший елемент в . Таким чином, маємо: , , тобто . □

Лема 1.7 (про однозначність). Виконується рівність

 .

З рівності найбільших елементів -ланцюгів випливає рівність самих -ланцюгів.  □

Доведення. Друге твердження леми очевидно випливає з першого; його і доведемо. Нехай , тоді , а за лемою 1.4 виконується рівність . Отже, ліва частина рівності входить в праву. Встановимо обернене включення. Нехай та існує -ланцюг , Застосуємо лему 1.6 про порівняння до ланцюгів : або ; але друга нерівність не виконується. □

Далі знадобиться наступний частковий порядок на булеані універсума [159, § 2, с. 27]: .

Наслідок 1.3. Для довільних -ланцюгів виконується еквівалентність . На сім’ї всіх -ланцюгів порядки та збігаються.  □

Доведення. Перше твердження випливає безпосередньо з леми 1.7 про однозначність. Доведемо імплікацію . Розглянемо довільний елемент . Оскільки , то ці елементи порівнянні. З першого твердження від супротивного випливає, що ; значить . Оскільки – найбільший елемент множини , то . □

Сім’ю всіх -ланцюгів (при фіксованому ) позначимо через , множину найбільших елементів всіх -ланцюгів – через [180]; таким чином, , . Розглянемо відображення , . Очевидно, що це сюр’єкція; з леми 1.7 про однозначність випливає її ін’єктивність. Нарешті, з наслідку 1.3 безпосередньо випливає твердження.

Твердження 1.5.  – ізоморфізм ч. в. м. () на ч. в. м. . □

Мета подальшого розгляду полягає у встановленні структури множини ; згідно з встановлення твердженням для цього треба дослідити структуру сім’ї -ланцюгів.

Лема 1.8.  – ц. у. м. з найменшим елементом . □

Доведення. Лінійність порядку випливає з леми 1.6 про порівняння та наслідку 1.3. Перевіримо, наприклад, умову обриву спадних ланцюгів. Від супротивного: нехай – строго спадний злічений ланцюг. Обираючи елементи , …, , , згідно з означенням порядку отримаємо строго спадний злічений ланцюг елементів ц. у. м. – протиріччя. Те, що – найменший -ланцюг, очевидно. □

З цієї леми та твердження 1.5 безпосередньо випливає, що – ц. у. м. з найменшим елементом . Це істотна властивість множини . Цей факт наведений у [180] як один з пунктів теореми 1; при цьому доведення безпосередні.

Подальші властивості множини будуть отримані з рівності

 , (1.10)

яка випливає з леми 1.7 про однозначність, та загальних властивостей порядку , наведених у наступній лемі.

Отже, розглянемо об’єднання -ланцюгів. Зауважимо, що випадок перетину -ланцюгів очевидний, беручи до уваги лему 1.8: перетин довільної сім’ї -ланцюгів просто дорівнює найменшому елементу сім’ї.

Далі знадобиться наступне технічне поняття: множину назвемо -замкненою, якщо її довільна непорожня підмножина має супремум, який належить множині . У цих термінах п. 3 означення -ланцюга означає, що множина є -замкненою.

Лема 1.9 (загальні властивості порядку ). Нехай – непорожній ланцюг за непорожніх множин, покладемо . Тоді

  1. якщо всі множини сім’ї є ц. у. м., то і множина цілком упорядкована; при цьому найменші елементи всіх цих множин збігаються;
  2. для всіх елементів виконується еквівалентність: інтервал простий у тоді і тільки тоді, коди інтервал простий у деякій множині . Зокрема, якщо всі множини сім’ї цілком упорядковані, то для всіх елементів виконується еквівалентність ;
  3. всяка підмножина множини , обмежена зверху в ній (тобто така, що ), є підмножиною деякої підмножини з сім’ї ;
  4. якщо всі множини з сім’ї є -замкненими, то наступні твердження еквівалентні:

сім’я містить найбільший елемент; (1.11)

  є -замкненою множиною; (1.12)

існує супремум , який належить множині .□ (1.13)

Доведення наведене в додатку А. □

Звідси, леми 1.8 та рівності (1.10) безпосередньо випливає твердження для -ланцюгів.

Наслідок 1.4. Нехай – довільна непорожня підсім’я -ланцюгів, покладемо . Тоді виконуються такі твердження:

  1.   є ц. у. м. з найменший елементом ;
  2.  , де довільний елемент з множини , що має наступний елемент в ;
  3.  , де довільна непорожня підмножина множини , обмежена зверху в (тобто );
  4. нижче наведені твердження еквівалентні: – -ланцюг; існує супремум , що належить ; сім’я містить найбільший елемент.

Зокрема, твердження 1-4 виконуються для множини . □

Прокоментуємо встановлений наслідок. Перша умова означення -ланцюга, крім існування найбільшого елемента, виконується для об’єднання -ланцюгів; друга умова також виконується. Нарешті, третя умова виконується для обмежених зверху підмножин; необмежені підмножини є конфінальними підмножинами об’єднання, отже їх супремуми існують одночасно з супремумом об’єднання. Значить, для існування найбільшого елементу об’єднання та виконання третьої умови (означення -ланцюга) необхідно і достатньо існування супремума об’єднання, який належить цьому об’єднанню.

Згідно з встановленим наслідком об’єднання сім’ї -ланцюгів є -ланцюгом тоді і тільки тоді, коли вихідна сім’я задовольняє дуже простій умові: серед -ланцюгів сім’ї є найбільший. Разом з цим, об’єднання, що не є -ланцюгом, може входити до іншого -ланцюга. Як буде показано далі для цього достатньо (і необхідно) існування супремуму об’єднання3. В подальших конструкціях дуже часто буде використовуватися поняття конфінальності. Враховуючи деякий різнобій у термінології, наведемо означення та основні властивості для цього випадку.

На булеані універсума введемо наступне бінарне відношення:

 .

Якщо та , то назвемо конфінальною підмножиною множини . Зауважимо, що за термінологією [130, розд. І, § 2, с. 39] співвідношення означає, що множина конфінальна множині .

Лема 1.10 (про конфінальність). Нехай такі підмножини, що . Тоді за умови існування супремумів виконується нерівність . Зокрема, якщо конфінальна підмножина , то виконується узагальнена рівність (тобто супремуми або існують і збігаються, або не існують). □

Доведення. Нехай , тоді за означенням відношення . Далі за означенням супремума. ▫

Нехай тепер – конфінальна підмножина , тоді , звідки . Але , тому за загальними властивостями конусів [159, § 1, теорема 5, п. (і)]. Отже, . □

Лема 1.11. Нехай – довільна непорожня підсім’я -ланцюгів та існує супремум , де . Тоді множина є -ланцюгом (з найбільшим елементом ). □

Доведення наведене у додатку А. □

З останньої леми випливає замкненість множини відносно часткової операції взяття супремумів непорожніх підмножин. Заразом встановимо замкненість відносно функції , – обмеження вихідної функції на множину , де . Таким чином, – множина всіх елементів, на яких вихідна функція є зростоючою. Ці факти будуть потрібні далі для встановлення еквівалентності означень -ланцюга в розумінні Абіана-Брауна (Abian-Brown) [180] та Бурбакі [62, розд. ІІІ, § 2, с. 181].

Наслідок 1.5 (про замкненість ). Множина замкнена відносно функції (тобто для повних образів ) та (часткової) операції взяття супремумів непорожніх підмножин. Зокрема, якщо існує супремум , то він належить множині . Множина є -ланцюгом тоді і тільки тоді, коли існує супремум . □

Доведення. Замкненість відносно функції перевіряється очевидним чином з використанням леми 1.5. ▫

Нехай тепер , та існує супремум . Покладемо . Очевидно, – конфінальна підмножина множини . Тоді (згідно з лемою 1.10) існує супремум . Нарешті, беручи до уваги лему 1.11, . ▫

Нарешті, критерій того, що множина є -ланцюгом, випливає з доведеного твердження про замкненість множини та останнього твердження наслідку 1.4. □

З леми 1.11 випливає також наступне твердження про точні верхні грані підмножин ц. у. м. та (випадок точних нижніх граней очевидний, оскільки множини цілком упорядковані).

Твердження 1.6. Супремуми непорожніх підмножин та знаходяться за узагальненими рівностями , де ; . □

Доведення наведене у додатку А. □

Ланцюги елементів і нерухомі точки

Перейдемо безпосередньо до опису нерухомих точок в термінах -ланцюгів. Розглянемо більш детально устрій ц.у.м з найменшим елементом . Нижче – початковий відрізок ц.у.м , а – найбільший елемент відрізка для неграничного елемента .

Лема 1.12 (про трансфінітну індукцію для ). Нехай – довільний елемент множини , відмінний від найменшого елемента . Тоді для граничного елемента та для неграничного . □

Доведення. Із загальних властивостей трансфінітів (див., наприклад, [159, § 2] випливає, що для неграничного елемента та для граничного . Залишається використати зв’язок між елементом та його послідовником у (п. 2 наслідку 1.4) у першому випадку, а також рівність для супремумів у множині (твердження 1.6) у другому випадку. □

Далі знадобиться лема про властивості замкненості множини – аналог наслідку 1.5.

Лема 1.13 (про замкненість ). Якщо функція монотонна, то множина замкнена відносно функції та (часткової) операції взяття супремумів підмножин. □

Доведення. Замкненість відносно функції перевіряється безпосередньо. ▫

Нехай тепер , причому існує супремум . Покажемо, що . Випадок очевидний (дійсно, ; отже, найменший елемент завжди належить множині у випадку його існування).

Розглянемо довільний елемент , тоді . Звідси з огляду на монотонність випливає, що . Таким чином , тобто . □

Очевидно, виконується аналог цієї леми у дуальних термінах: множина замкнена відносно та часткової операції взяття інфімумів підмножин за умови монотонності функції .

Далі встановлені властивості щодо замкненості множини будуть часто використовуватися. А зараз покажемо, як з останньої леми дуже просто і природно випливає відома теорема Тарського про нерухому точки монотонної функції на повній решітці [209] (див. також [159, § 3, теорема 3; 13, розд. V, § 3, теорема 11; 102, розд. І, § 4, твердження 4.2.]).

Теорема (Тарського про нерухомі точки монотонної функції на повній решітці). Нехай – монотонна функція, де – повна решітка. Тоді – найбільша нерухома точка функції , а – найменша нерухому точка. □

Доведення. З леми 1.13 про замкненість випливає, що , тобто . З цієї ж леми випливає, що ; звідки , оскільки – найбільший лемент множини . З останніх двох нерівностей і випливає шукана рівність . Те, що – найбільша нерухома точка очевидно (бо містить всі нерухому точки). ▫

Випадок найменшої нерухомої точки розглядається повністю аналогічно з використанням дуального аналога леми 1.13. □

З встановлених властивостей множини випливає, що для всіх елементів , що мають наступний елемент; тобто у випадку існування найбільшого елемента множини ця нерівність виконується для всіх елементів крім найбільшого. Наступна лема стосується ситуації для найбільшого елемента множини .

Лема 1.14. Нехай існує елемент , тоді . Якщо ж додатково функція монотонна та , то і . □

Доведення. Перше твердження доведемо від супротивного: нехай . З наслідку 1.5 (про замкненість ) випливає, що , отже – найбільший елемент множини . Очевидно, , тобто (нагадаємо, що за означенням). Таким чином, з цього ж наслідку випливає, що , що суперечить найбільшості елемента . ▫

Нехай тепер функція монотонна та . Включення доводиться трансфінітною індукцією за (лема 1.12) з використанням властивостей замкненості множини (лема 1.13). ▫

Нарешті, встановимо рівність . Дійсно, , тобто згідно з доведеним; отже . Залишається врахувати, що . □

Звідси безпосередньо випливає теорема.

Теорема 1.2 (опис множини нерухомих точок монотонної функції на довільній ч. в. м.). Множина нерухомих точок монотонної функції збігається з множиною найбільших елементів -ланцюгів для :

 . □

Доведення. Те, що права частина включається в ліву, випливає з леми 1.14. Нехай тепер , тоді . □

Таким чином, нерухомі точки монотонної функції і тільки вони збігаються з найбільшими елементами ц. у. м. спеціального вигляду – ц. у. м. , де ; іншими словами з супремумами деяких ц. у. м. Саме тому особливе місце займають ч. в. м., в яких всі цілком упорядковані підмножини мають супремуми. Але добре відомо, що всякий ланцюг містить конфінальну цілком упорядковану підмножину [159, § 2, теорема 5]; отже, клас ч. в. м., в яких всі цілком упорядковані підмножини мають супремуми, збігається з класом ч.в.м, в яких всі ланцюги мають супремуми. Якщо ж додатково вимагати існування найменшого елемента (в еквівалентній формі: існування супремума порожнього ланцюга), то приходимо до класу індуктивних множин.

Резюмуючи: нерухому точки монотонної функції на довільній ч. в. м. природно описуються у термінах супремумів ланцюгів і з огляду на цей факт індуктивні множини займають особливе місце.

Наприкінці встановимо еквівалентність означень множини за [180] і за [62, розд. ІІІ, § 2, с. 181].

Нехай – сім’я всіх підмножин універсума , які замкнені відносно функції та (часткової) операції взяття супремумів непорожніх підмножин, тобто у термінах повних образів , де – взагалі кажучи, часткова операція, така, що ; – булеан універсуму. Стрілку будемо використовувати при записі часткових операцій. Сім’я містить і замкнена відносно довільних перетинів, тобто вона за термінологією [13, розд. V, § 1] є мурівською сім’єю. Дійсно, належність очевидна, перевіримо замкненість. Нехай , – деякі множини з , тоді для перетинів маємо:

 ;

 .

Тут використали стандартні властивості булеанів та повного образу. Тепер покладемо – найменша множина сім’ї , яка містить елемент . Саме так визначаються -ланцюги у [62, розд. ІІІ, с. 181].

Твердження 1.7. Означення -ланцюга за Абіаном-Брауном (Abian-Brown) та Бурбакі еквівалентні: для всіх . □

Доведення наведене у додатку А. □

Структура нерухомих точок монотонної функції на індуктивній множині

У цьому пункті покладається, що – індуктивна множина. З теореми 1.2 безпосередньо випливає зображення множини нерухомих точок монотонної функції, що діє на індуктивній множині:

 . (1.14)

Таким чином, оскільки множина непорожня (принаймні ), то монотонна функція завжди має хоча б одну нерухому точку – . Подальша задача полягає у встановленні структури множини нерухомих точок за індукованим порядком – . Основна ідея подальших конструкцій полягає у побудові оператора замикання з множини на множину . При цьому будуть використовуватися загальні властивості операторів замикання, наведені у наступному твердженні та його наслідку.

Зауважимо, що нерухомі точки оператора замикання називаються -замкненими елементами. Крім того неважко перевірити наступний критерій ідемпотентності довільного оператора : – ідемпотентний оператор (тобто для всіх або в операторній формі ) тоді і тільки тоді, коли .

Твердження 1.8 (про оператори замикання). Нехай оператор замикання на ч. в. м. , – область значень оператора (тобто множина всіх -замкнених елементів). Тоді для точних граней множин у ч. в. м. за індукованим порядком виконуються рівності

 , (1.15)

за умови існування точних граней у правих частинах цих рівностей. Зокрема, якщо існує найбільший елемент множини , то існує і найбільший елемент множини , причому ; якщо існує найменший елемент множини , то існує і найменший елемент множини , причому . □

Доведення наведене у додатку А. 

Звідси безпосередньо випливає наслідок.

Наслідок 1.6. Множина значень оператора замикання на індуктивній множині (повній решітці) є індуктивною множиною (повною решіткою) за індукованим порядком. □

Таким чином, при переході до області значень оператора замикання тип вихідної ч. в. м. успадковується. Зауважимо, що аналогічна ситуація має місце для ретрактів при розгляді неперервних функцій [5, розд. 1, § 1.2, твердження 1.221; 178]. Крім того, останнє твердження та його наслідок узагальнюють відомі твердження теорії повних решіток (див., наприклад, [159, § 3, теореми 5,6, с. 46]).

Розглянемо оператор ; , . Індуктивність множини , цілком упорядкованість -ланцюга , включення для всіх та замкненість -ланцюгів (або множини ) відносно взяття супремумів гарантують коректність введення цього оператора.

Твердження 1.9. Оператор , , є оператором замикання з областю значень . □

Доведення. Те, що , випливає безпосередньо з рівності (1.14). ▫

Перевіримо три умови оператора замикання. Зростання оператора випливає з його означення, ідемпотентність – з того, що , звідки (можна також скористатися згаданим критерієм ідемпотентності та очевидно рівністю ). ▫

Отже, залишається перевірити монотонність оператора . Нехай , покажемо, що . З огляду на основну властивість відношення конфінальності (лема 1.10) достатньо встановити, що . Зробимо це трансфінітною індукцією за (лема 1.12). Базис індукції очевидний: – відповідний елемент для . Розглянемо індуктивний крок. Тут можливі два випадки.

Нехай спочатку – не граничний елемент множини . Тоді , причому за індуктивним припущенням для елемента існує елемент такий, що . Застосуємо до останньої нерівності монотонну функцію , тоді . Залишається скористатися замкненістю -ланцюгів відносно функції (наслідок 1.5).

Нехай тепер – граничний елемент множини , тоді ; за індуктивним припущенням для кожного елемента існує елемент такий, що . Розглянемо множину ; очевидно, що , – ланцюг, . З огляду на індуктивність вихідної множини існує супремум , звідси за властивостями конфінальності . Залишається врахувати замкненість -ланцюгів відносно операції взяття супремумів: , отже цей супремум є шуканим елементом для . □

З останнього твердження випливає, що оператор взяття супремума вигляду монотонно залежить від початкового елемента -ланцюга; в цей супремум вихідна монотонна функція входить як параметр, і далі покажемо монотонну залежність і від цієї функції (для найменшої нерухомої точки це теорема 3.1). Повернемося до структури множини нерухомих точок.

Теорема 1.3 (опис множини нерухомих точок монотонної функції на індуктивній множині). Нерухомі точки монотонної функції на індуктивній множині збігаються з найбільшими елементами -ланцюгів для : . Множина нерухомих точок є індуктивною множиною за індукованим порядком з найменшим елементом . Для довільної множини нерухомих точок виконується рівність за умови існування супремума у правій частині рівності; зокрема, ця рівність завжди виконується, якщо – ланцюг нерухомих точок. □

Доведення. Перше твердження випливає з рівності (1.14) та з замкненості -ланцюгів відносно операції взяття супремумів (наслідок 1.5). ▫

Встановимо структуру множини та рівність для супремумів. По-перше множина є індуктивною за індукованим порядком, причому за умови існування супремума у правій частині (це, у свою чергу, випливає зі замкненості множини відносно взяття супремумів, встановленої у лемі 1.13, та відомого зв’язку між точними гранями за вихідним та індукованим порядками). По-друге, треба скористатися загальними властивостями операторів замикання (твердження 1.8 та наслідок 1.6), зокрема, рівностями (1.15) та основним твердженням 1.9 про конкретний оператор замикання, що діє з множини на множину . □

Нарешті наведемо аналог останньої теореми для повних решіток, який узагальнює відому теорему Тарського (про структуру нерухомих точок монотонної функції на повній решітці) рівностями для точних граней множин нерухомих точок.

Теорема 1.3′ (про точні грані множин нерухомих точок монотонної функції на повній решітці). Для найменшої (найбільшої) нерухомої точки ( відповідно) монотонної функції на повній решітці виконуються рівності

 , .

Для точних граней множин нерухомих точок виконуються рівності:

 , . □

Доведення повністю аналогічне теоремі 1.3. □

Монотонні та зростаючі функції, конструкція Тарського

У цьому пункті торкнемося класичних теорем про нерухомі точки зростаючих функцій та встановимо природний зв’язок між зростаючими та монотонними функціями. Зростання функції , де – ч. в. м., розуміється стандартно, тобто виконується нерівність для всіх елементів (це поняття вже зустрічалося раніше при розгляді операторів замикання).

Отже нехай – зростаюча функція на індуктивній множині. Якщо прийняти аксіому вибору, то за лемою Куратовсько-Цорна (див., наприклад, [159, § 2, теорема 4]) універсум містить хоча б один максимальний елемент, нехай для визначеності. Тоді , а з огляду на максимальність елемента . Таким чином, питання про існування нерухомих точок зростаючої функції на індуктивній множині розв’язується тривіально. Інша справа, що при такому вирішенні проблеми існування треба спиратися на аксіому вибору. Апарат -ланцюгів (-ланцюгів за термінологією Кнезера (Kneser)) саме і використовувався у працях [62, розд. ІІІ, § 2, с. 181; 65, розд. IX, § 69, так звана “основна теорема Бурбакі”; 180; 205] для встановлення існування нерухомих точок зростаючої функції на індуктивній множині без спирання на аксіому вибору.

Перейдемо до монотонних функцій на індуктивній множині, зводячи такі функції до зростаючих. Дійсно, розглянемо обмеження . З леми 1.13 про замкненість множини випливає, по-перше, що функцію можна розглядати як функцію вигляду , і, по-друге, що множина за індуктивним порядком буде індуктивною. Крім того, очевидно, що . Таким чином, за монотонною функцією на індуктивній множині будується зростаюча функція знову ж на індуктивній множині, яка успадковує всі нерухомі точки вихідної функції і тільки їх.

З наведеного випливає, що для встановлення “чистих” теорем існування можна обмежитися розглядом зростаючих функції на індуктивних множинах; саме так і робиться при класичному погляді на проблему.

Наприкінці пункту розглянемо конструкцію Тарського, що може використовуватися для встановлення структури множини нерухомих точок (у праці Тарського [209] розглядалися повні решітки, в [61] конструкція була поширена на індуктивні множини). Суть конструкції Тарського полягає у розгляді спеціальних обмежень вихідної функції.

Нехай – монотонна функція на індуктивній множині, зафіксуємо елемент і розглянемо верхній конус . Легко перевірити, що цей конус замкнений відносно функції та (часткової) операції взяття супремумів підмножин (остання властивість є загальною властивістю конусів – див. лему 1.1). Зауважимо, що замкнені відносно верхні конуси вигляду , .

Отже, – індуктивна множина за індукованим порядком з найменшим елементом і обмеження вигляду діє на верхньому конусі , маючи нерухомими точками деякі нерухомі точки вихідної функції.

Нехай тепер – деяка непорожня множина, причому існує супремум . Позначимо і розглянемо обмеження вигляду . Це монотонна функція на індуктивній множині (суттєво, що як випливає з леми 1.13 про замкненість), отже вона має найменшу нерухому точку, яку позначимо через . Покажемо, що . Очевидно, що , звідки ; враховуючи, що , отримуємо належність . Таким чином, залишилося показати, що – найменший елемент останнього конуса. Дійсно, нехай , тоді , тобто . Звідки – нерухома точка обмеження і, значить, за вибором .

Аналіз наведеної узагальненої конструкції Тарського показує, що вона дуже близька до побудов на основі операторів замикання. Спочатку шукається супремум множини нерухомих точок у вихідній множині, а потім будується нерухома точка, починаючи з цього супремуму як початкового наближення.

Разом з тим, підхід на основі відповідних обмежень вихідної функції є дуже корисним при встановленні, наприклад, існування найменшої нерухомої точки монотонної функції на індуктивній множині, виходячи з існування нерухомої точки зростаючої функції на індуктивній множині. Так, у [197] розглядається обмеження на множину . Ця множина має найменшим елементом та замкнена відносно операції взяття супремумів (лема 1.13 для та загальні властивості конусів, перетин також має цю властивість замкненості); отже множина є індуктивною (за індукованим порядком). Що ж стосується замкненості множини відносно , то з огляду на загальні властивості повного образу та монотонність функції (формула (1.3)) маємо:

 .

У останньому переході використана очевидна рівність . Таким чином, обмеження діє на індуктивній множині , вона має нерухому точку згідно з [197, розд. 4, теорема ІІ]. Оскільки ця нерухома точка належить перетину , то вона є найменшою нерухомою точкою вихідної функції.

Зауважимо, що цю конструкцію можна спростити і розглядати обмеження просто на множину . Міркування ті ж самі, це обмеження є монотонною функцією на індуктивній множині .

Ординальні зображення нерухомих точок

У встановлених теоремах 1.2, 1.3 наведений опис усіх нерухомих точок монотонної функції у термінах найбільших елементів -ланцюгів вигляду ; оскільки -ланцюги є ц. у. м., то звідси легко перейти до ординальних зображень нерухомих точок.

Твердження 1.10 (ординальні зображення -ланцюгів). Нехай – ординал -ланцюга . Тоді , де , для неграничного ординала та для граничного ординала , . Якщо додатково , вихідна функція монотонна та існує найбільший елемент множини , то наведене зображення можна розповсюдити на всі ординали: , де елементи визначаються як вище; при цьому трансфінітна послідовність стабілізується, починаючи з елемента . Зокрема, якщо вихідна функція діє на індуктивній множині, то для всіх . □

Доведення наведене у додатку А. □

Таким чином, теореми 1.2, 1.3 можна переформулювати у термінах ординалів; найпростіша буде редакція теореми 1.3 щодо вигляду нерухомих точок: нерухомі точки монотонної функції на індуктивній множині збігаються з найбільшими елементами неспадних трансфінітних послідовностей, які стабілізуються, вигляду , де , для неграничного ординала, для граничного ординала, .

Існує і інше, з технічної точки зору більш привабливе, ординальне зображення нерухомих точок монотонної функції на індуктивній множині. Розглянемо його і покажемо, що на цьому шляху виходять просто конфінальні підмножини -ланцюгів.

Отже, далі – монотонна функція на індуктивній множині . Зафіксуємо елемент та розглянемо таку трансфінітну послідовність за усіма ординалами: , де , .

Спочатку покажемо, що ця послідовність будується коректно; тут достатньо встановити, що множина є ланцюгом для всіх ординалів . Зробимо це за допомогою трансфінітної індукції, додатково встановлюючи включення .

Базис індукції тривіальний, оскільки , перейдемо до індуктивного кроку. Нехай для всіх ординалів, менших за , твердження має місце, встановимо його для . Очевидно, що для множини виконуються рівності , якщо – неграничний ординал; , якщо – граничний ординал.

Розглянемо спочатку випадок граничного ординала. За індуктивним припущенням для всіх , отже це включення виконується і для об’єднання всіх множин , . Знову ж за індуктивним припущенням , – ланцюги. Залишається врахувати, що множини , порівнянні відносно звичайного включення для всіх ординалів (зауважимо, що цей факт є аналогом п. 1 леми 1.9 про загальні властивості порядку ).

Розглянемо випадок неграничного ординала. За індукивним припущенням , звідси згідно з лемою 1.13 (про замкненість ) , тобто за тією ж лемою , . Значить – верхня грань ланцюга ; отже і об’єднання є ланцюгом.

Таким чином, з наведених міркувань випливає, що послідовність будується коректно. Що стосується зв’язку між зображеннями та , то має місце наступне твердження. Далі будемо використовувати очевидну рівність для неграничних ординалів .

Твердження 1.11. Нехай , де – монотонна функція на індуктивній множині. Тоді – конфінальна підмножина -ланцюга . □

Доведення наведене у додатку А. □

Таким чином, оскільки при переході до конфінальних підмножин супремуми зберігаються, то теореми 1.2, 1.3 можна сформулювати у термінах ординальних зображень вигляду . І знову ж найпростішим буде формулювання теореми 1.3: нерухомі точки монотонної функції на індуктивній множині збігаються з найбільшими елементами неспадних трансфінітних послідовностей, які стабілізуються, вигляду , де , , .

Зробимо декілька загальних зауважень про ординальні зображення нерухомих точок. Можна проводити безпосереднє доведення зображення нерухомих точок, зокрема найменших, у вигляді найбільших елементів трансфінітних послідовностей вигляду або (див., наприклад, [61; 197, розд. 4; 206, теорема 6]). Але повне доведення потребує використання теореми Хартогса про існування для кожної множини ординала, який не рівнопотужний жодній підмножині цієї множини (див., наприклад, [11, с. 296; 112, розд. VIII, § 2]).

Далі, як оцінити потужність ординалу, на якому послідовність , стабілізується? Очевидно, вона не перевищує потужності універсуму ; саме ця тривіальна оцінка наведена, наприклад, у [206, теорема 6]. Але з огляду на включення , цю оцінку можна зменшити до потужності множини [61, теорема 1]. Нарешті, з означень зображення , , випливає, що , тоді і тільки тоді, коли – найбільший елемент зображення (аналогічно для зображення ).

Зручність ординальних зображень продемонструємо при встановленні верхньої оцінки найменшої нерухомої точки.

Твердження 1.12 (верхня оцінка найменшої нерухомої точки). Нехай – монотонна функція на індуктивній множині, а – деякий елемент такий, що . Тоді для найменшої нерухомої точки функції виконується нерівність . Зокрема, за умови існування інфімума у правій частині. □ 

Доведення. Скористаймося ординальним зображенням , де , , і трансфінітною індукцією перевіримо нерівність . Базис тривіальний, проведемо індуктивний крок. Нехай для всіх . Значить, ; застосуємо до цієї нерівності монотонну функцію , тоді . ▫

Друге твердження безпосередньо випливає з першого. □

Встановлена оцінка у комбінації з теоремою 1.3 дозволяє зробити важливий висновок про роль елементів , порівнянних зі значенням : якщо (тобто ), то елемент є початковим нижнім наближенням до деякої нерухомої точки, а якщо , то – верхня оцінка найменшої нерухомої точки.

Зауважимо, що в теорії рекурсивних програм встановлена оцінка відома як теорема Парка про індукцію нерухомої точки [123, теорема 5.8]. Крім того, з теореми 1.3´ про точні грані множин нерухомих точок монотонної функції на повній решітці випливає, що встановлена верхня оцінка досягається на повних решітках.

Нерухомі точки неперервної функції на індуктивній множині

Оскільки неперервні функції, як добре відомо, є монотонними, то опис їх нерухомих точок наведений у теоремі 1.3. Разом з тим неперервність призводить до спрощення зображення нерухомих точок: так добре відоме зображення найменшої нерухомої точки неперервної функції у вигляді , де, як звичайно, , , тобто у вигляді супремуму -сплінтера функції (поняття сплінтера вводилося, наприклад, у [94]), або у термінах -ітерацій вихідної функції [96, розд. 1, § 9, с. 44]. Сформулюємо аналог теореми 1.3.

Теорема 1.3´´ (опис множини нерухомих точок неперервної функції на індуктивній множині). Нерухомі точки неперервної функції на індуктивній множині збігаються з супремумами -сплінтерів для : . Множина нерухомих точок має супремум найменшим елементом і замкнена відносно операції взяття супремумів непорожніх ланцюгів, тобто , де – довільний непорожній ланцюг нерухомих точок. □

Доведення. Покажемо, що , де . Тут – -сплінтер функції . Для цього треба скористатися ординальним зображенням та показати, що – нерухома точка, тобто трансфінітна послідовність стабілізується, починаючи з елемента . Робиться це стандартно:

 .

Зауважимо тільки, що на останньому кроці використовується той очевидний факт, що – конфінальна підмножина множини . ▫

Нехай тепер , та – ланцюг. Тоді за означенням неперервності: , іншими словами, . Залишається скористатися відомим зв’язком між точними гранями за вихідним та індукованим порядками: . ▫

Нарешті, зображення найменшої нерухомої точки випливає з теореми 1.3 та встановленого спрощеного вигляду -ланцюгів у термінах -сплінтерів. □

Обернення теорем про нерухомі точки

Зробимо декілька зауважень щодо обернення теорем про нерухомі точки монотонних функцій на ч. в. м. різних класів.

Обернення теореми про нерухомі точки монотонних функцій на повних решітках не має місце, відповідним прикладом може служити довільна індуктивна множина, яка не є повною решіткою (найпростіший приклад можна знайти у [159, § 3, с. 43]). Що ж до інших класів ч. в. м., то виконуються:

а) теорема Девіс: якщо кожна монотонна функція на решітці має нерухому точку, то ця решітка є повною решіткою [159, § 4, теорема 15, с. 71; 198];

б) теорема Когаловського: якщо кожна монотонна функція на ч. в. м. має нерухому точку, то кожний максимальний ланцюг вихідної ч. в. м. є повною решіткою [159, § 3, теорема 4];

в) якщо кожна монотонна функція на ч. в. м. має найменшу нерухому точку, то ця ч. в. м. є індуктивною [197, розд. 4, теорема 4.17; 207].

Основні результати розд. 1 наступні.

  1. Дана топологічна характеристика монотонних функцій в термінах - топології Скотта (твердження 1.1, твердження 1.3, твердження 1.4).
  2. Наведений критерій власного включення класу неперервних функцій в клас монотонних функцій в термінах умови обриву зростаючих ланцюгів (теорема 1.1).
  3. Наведений опис множини нерухомих точок монотонної функції на довільній ч. в. м. в термінах супремумів -ланцюгів (теорема 1.2).
  4. Встановлена еквівалентність означення -ланцюгів за Бурбакі та Абіаном-Брауном (твердження 1.7).
  5. Побудований оператор замикання на множину нерухомих точок монотонної функції на індуктивній множині (твердження 1.9).
  6. Встановлена структура множини нерухомих точок монотонної функції на індуктивній множині за індукованим порядком (теорема 1.3).
  7. Посилена теорема Тарського про нерухомі точки монотонної функції на повній решітці шляхом явного завдання вигляду точних граней множин нерухомих точок за індукованим порядком (теорема 1.3’). Конструкція Тарського щодо розгляду спеціальних обмежень вихідної функції поширена з класу повних решіток на клас індуктивних множин (п. 1.3.4).
  8. Відомі ординальні зображення нерухомих точок встановлені як наслідок їхнього зображення в термінах -ланцюгів (твердження 1.10, твердження 1.11).
  9. Дана верхня оцінка найменшої нерухомої точки монотонної функції на індуктивній множині, яка узагальнює теорему Парка про індукцію нерухомої точки в теорії рекурсивних програм (твердження 1.12); ця верхня оцінка досягається на класі повних решіток (теорема 1.3’).
  10. Встановлена структура множини нерухомих точок неперервної функції на індуктивній множині за індукованим порядком в термінах супремумів сплінтеров як наслідок аналогічних результатів для монотонних функцій (теорема 1.3’’).

З цих результатів випливають такі висновки.

  1. Умова обриву зростаючих ланцюгів є визначальною для власного включення класу неперервних функцій у клас монотонних функцій.
  2. Тип вихідної ч. в. м. спадковується при розгляді множини нерухомих точок монотонної функцій на індуктивній множині.
  3. Для устрою множини нерухомих точок монотонної функції на індуктивній множині суттєва монотонність вихідної функції; її ж неперервність забезпечує додаткові властивості: спрощення вигляду -ланцюгів (вони переходять у сплінтери), множина нерухомих точок є підструктурою вихідної індуктивної множини.
  4. Нерухомі точки монотонної функції на індуктивній множині монотонно залежать від початкових наближень – елементів , таких, що .
  5. Елементи, які порівняні з значенням функцій на них, мають суттєву властивість: якщо , то елемент є початковим наближенням до деякої нерухомої точки монотонної функції на індуктивній множині; якщо ж навпаки , то елемент є верхньою оцінкою для найменшої нерухомої точки.


Композиція суперпозиції

Мета розділу полягає у визначенні і дослідженні формальних моделей загальнозначних дескриптивних структур мов програмування.

Об‘єкт дослідження – формальні моделі дескриптивних структур мов програмування, якими виступають суперпозиція тотальних функцій та програмологічні операції над частковими функціями – підстановка, колекція, розгалуження. Основна проблематика полягає у дослідженні властивостей монотонності та неперервності операцій. При дослідженнях використовуються топологічні методи, апарат індуктивних та підіндуктивних множин; останні дозволяють природно переносити результати з абстрактного рівня та більш конкретні рівні.

Основні результати розділу: встановлення монотонності та неперервності суперпозиції за окремими аргументами; опис структури ч. в. м. часткових функцій, впорядкованих за включенням графіків; встановлення еквівалентності різних означень неперервних операцій над частковими функціями; дослідження зв‘язків між частковими та тотальними функціями, суперпозицією та підстановкою, розгалуженням та функцією вибору.

Основні результати розділу опубліковані в [19, 28, 30, 32, 33]. У спільно виконаній роботі Ю. Й. Броні належить доведення леми про характеристичну властивість відкритих множин у топології додатної інформації [19, лема 2].

Допоміжні результати

У наступній лемі наведені потрібні далі властивості повних образів множин відносно монотонних функцій; нижче – бінарне відношення конфінальності між множинами, введене в п. 1.3.1.

Лема 2.1. Виконуються такі твердження:

  1.  повний образ ланцюга (направленої множини) відносно монотонної функції є ланцюгом (направленою множиною);
  2. якщо , то , де функція монотонна, а – довільні підмножини множини ; зокрема, якщо – конфінальна підмножина множини , а функція – монотонна, то повний образ є конфінальною підмножиною повного образу . □

Доведення проводиться безпосередньо. □

Таким чином, властивості бути ланцюгом (направленою множиною), знаходитись у відношенні конфінальності (зокрема, бути конфінальною підмножиною) зберігаються при взятті повного образу відносно монотонної функції. Зауважимо, що всі імплікації леми не обертаються, як показують прості приклади.

Знадобиться також твердження про супремуми об’єднання множин за умови існування супремумів вихідних множин.

Лема 2.2. Нехай сім’я підмножин універсуму , причому існують супремуми для всіх . Тоді виконується узагальнена рівність . □

Доведення проводиться безпосередньо (див., наприклад, [62, розд. ІІІ, § 1, п. 9, твердження 6; 72, розд. 2, § 2.5, с. 60-61; 159, § 1, теорема 9]). Зауважимо, що у згаданих працях наводиться послаблене формулювання: стверджується рівність супремумів у двох частинах рівності леми за умови існування супремумів не тільки вихідних множин, а і їхнього об’єднання (у [62] по суті наведена узагальнена рівність для випадку сім’ї двоіндексованих елементів). □

Ця лема є аналогом для ч. в. м. відомих фактів з аналізу стосовно сум повторних та подвійних рядів [119, розд. 3, § 1, п. 1.8, теорема та формули Фубіні; 169, розд. ІХ, § 5]. Сформулюємо останню лему у термінах множин індексованих елементів.

Наслідок 2.1. Нехай – підмножина універсуму, причому існують супремуми для всіх . Тоді виконується узагальнена рівність . Нехай – підмножина універсуму, ; тоді виконується рівність за умови існування всіх супремумів правої частини. □

Доведення. Перша твердження випливає безпосередньо з леми 2.2; друге доводиться з використанням цієї ж леми індукцією за  □

Для подальшого розгляду неперервності багатомісних функцій, тобто функцій, областю визначення яких є декартів (прямий) добуток множин, розглянемо операцію декартова добутку в класі індуктивних множин. Це стандартна теоретико-множинна конструкція добутку ч. в. м. (див., наприклад, [62, розд. ІІІ, § 1, п. 4]): порядок на , де ,…, – ч. в. м., вводиться покомпонентно, тобто .

Крім того, далі знадобиться операція узагальненого добутку ч. в. м. Це пов’язане з тим, що області визначення операцій суперпозиції та рекурсії, які будуть далі вводитися та досліджуватися, являють собою декартові добутки класів функцій вигляду , тобто класів усіх всюди визначених функцій з деякої множини у деяку множину . Скористаймося відомим зображенням , де для всіх (див., наприклад, [62, розд. ІІІ, § 1, п. 4]) та зведемо випадок цього класу функцій до узагальненого добутку ч. в. м. Таким чином, порядок на множині функцій , де – ч.в.м з порядком , а – абстрактна множина, вводиться точково: .

Підкреслимо, що множина – область визначення функцій – розглядається як абстрактна множина, і можливий порядок на ній не використовується при точковому порядку на функціях.

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

 , (2.1)

де , – проекція множини кортежів за -тою компонентою.

Супремум існує тоді і тільки тоді, коли для всіх існує супремум ; причому у випадку існування супремуму маємо

  для всіх . (2.2)

Доведення цих тверджень можна знайти, наприклад, у [62, розд. ІІІ, § 1, п. 9, твердження 7]. Нарешті, будуть потрібні факти наступної леми.

Лема 2.3. Нехай – ч. в. м., а – абстрактна множина, тоді

  1. якщо – ланцюг (направлена множина) в , то – ланцюг (направлена множина) в для ;
  2.   – конфінальна підмножина добутку , де – ланцюг (направлена множина) в ;
  3. якщо – ланцюг (направлена множина) в , то – ланцюг (направлена множина) в для всіх . □

Доведення наведене у додатку А. 

Особливо просто виглядає друге твердження цієї леми для злічених зростаючих ланцюгів , де , , оскільки для [96, розд. 3, § 1]. Зауважимо, що третє твердження цієї леми випливає з монотонності аплікації за першим аргументом (твердження 3.1). Повернемося до індуктивних множин.

Твердження 2.1. Клас індуктивних множин замкнений відносно операцій добутків та узагальнених добутків; зокрема, точково впорядкована сім’я функцій , де – індуктивна множина, а – абстрактна, є індуктивною множиною. Підсім’я монотонних (неперервних) функцій , де – ч. в. м. (, де множини – індуктивні), замкнена відносно взагалі кажучи часткової операції взяття супремумів. □

Доведення. Перше твердження випливає з критеріїв існування точних граней підмножин добутку або узагальненого добутку (формули (2.1) та (2.2)) та з того, що при проектуванні ланцюги переходять у ланцюги ж (пп. 1,3 леми 2.3). Зауважимо, що в згаданих формулах випадок порожньої множини відповідає найменшому елементу; отже, кортеж найменших елементів (функція, що фіксує найменші елементи відповідних множин) є найменшим елементом добутку (узагальненого добутку). ▫

Покажемо замкненість класу монотонних функцій відносно операції взяття супремумів. Отже, нехай та існує ; встановимо монотонність останньої функції. Нехай та . За формулами (2.2) маємо , . Але (відповідним елементом для виступає просто , зважаючи на монотонність функції ) і залишається застосувати лему 1.10 про конфінальність. Зауважимо, що випадок відповідає константній функції . ▫

Встановимо аналогічний факт для неперервних функцій. Отже, нехай та існує супремум ; встановимо неперервність останньої функції. Зафіксуємо непорожній ланцюг . Згідно з формулою (2.2), неперервністю функцій сім’ї та наслідком 2.1 послідовно маємо:

 

Підкреслимо, в четвертому переході цього ланцюжка рівностей при повторному застосуванні наслідку 2.1 істотно існування супремумів для всіх , що випливає з існування супремуму . □

Зауважимо, що в [5, розд. 1, § 1.2, лема 1.2.10] при доведенні неперервності супремуму направленої сім’ї неперервних функцій наслідок 2.1 про повторні та кратні супремуми використовується “за умовчанням”. В [197, розд. 3, теорема 3.17] при встановленні аналогічного факту властивість повторних та кратних супремумів взагалі не використовується, що досить ускладнює доведення.

Наслідок 2.2. Три сім’ї функцій

  1.  , де – індуктивна множина;
  2.  , де – ч.в.м, а – індуктивна множина;
  3.  , де множини – індуктивні;

впорядковані точково, є індуктивними. Найменшим елементом цих індуктивних множин виступає константна функція, яка фіксує найменший елемент множини . У всіх трьох випадках супремуми ланцюгів функцій знаходяться згідно з формулою (2.2). □

Доведення. Твердження наслідку для сім’ї функцій наведене у твердженні 2.1; твердження для сім’ї монотонних (неперервних) функцій випливає із замкненості цієї сім’ї відносно взяття супремумів (зокрема, супремумів ланцюгів функцій, які завжди існують) та відомого зв’язку між вихідним та індукованим порядками. □

Далі знадобиться критерій неперервності багатомісних функцій вигляду , де всі множини – індуктивні. При цьому за означенням покладається, що порядок на вводиться покомпонентно (тобто це добуток індуктивних множин).

Лема 2.4 (критерій неперервності багатомісних функцій). Функція , де множини індуктивні, , неперервна тоді і тільки тоді, коли для довільних непорожніх ланцюгів таких, що , …, , а – конфінальна підмножина добутку , виконується рівність . □

Доведення. Необхідність. Нехай функція неперервна, ланцюги такі, як у формулюванні леми. Тоді згідно з формулою для супремумів (2.1), властивостями конфінальних підмножин (лема 1.10) та означенням неперервності маємо:

 . ▫

Достатність. Розглянемо довільний непорожній ланцюг ; враховуючи, що – конфінальна підмножина добутку ланцюгів (пп. 1, 2 леми 2.3), згідно з формулою для супремумів (2.1) та припущенням маємо:

 . □

Зауважимо, що для випадку злічених множин цей критерій спрощується: функція неперервна тоді і тільки тоді, коли для довільних зростаючих ланцюгів , …, , причому для , виконується рівність [96, розд. 1, § 9; розд. 3, § 1]. Причина спрощення полягає у природному виборі конфінальної підмножини кортежів для даного випадку.

Зробимо декілька загальних зауважень щодо неперервності багатомісних функцій. По-перше, на декартовому добутку індуктивних множин можна ввести дві топології: топологію Скотта, індуковану покомпонентною впорядкованістю кортежів, та топологію, яка отримується добутком (у розумінні Тихонова) топологій Скотта на вихідних множинах. По-друге, для багатомісних функцій можливий розгляд неперервності за сукупністю аргументів (тобто коли область визначення – декартів добуток – розглядається як той чи інший топологічний простір) та за окремими аргументами, зокрема, за всіма аргументами. В останньому випадку фіксуються деякими значеннями всі аргументи, крім одного, та ставиться питання про неперервність відповідної унарної функції.

Для двох топологій на добутку ситуація така: топологія Скотта на добутку є більш тонкою, ніж добуток топологій Скотта. Зауважимо, що -топологія Скотта, введена у підрозділі 1.2, на добутку збігається з добутком -топологій Скотта на вихідних множинах; це випливає з очевидної рівності (природно, для -топології цілком аналогічно).

Розглядаючи для спрощення позначень випадок двох співмножників, покажемо, що відкрита множина в топології Скотта на добутку, де – відкриті множини в топології Скотта на вихідних множинах.

Перевіримо умови відкритості. По-перше, встановимо, що зростає; дійсно, згідно з п. 1 леми 1.2 про властивості зростаючих та спадних множин, маємо

 .

По-друге, встановимо, що доповнення замкнене відносно взяття супремумів непорожніх ланцюгів.

Отже, нехай – ланцюг, , . За властивостями зростаючих та спадних множин (п. 5 леми 1.2) множина спадає в , а множина спадає в ; отже множини , спадають в . Звідси або . Розглянемо, наприклад, перший випадок. Тоді ланцюг є підмножиною доповнення відкритої множини , звідки (друга умова для відкритих множин у топології Скотта). Таким чином,.

У [5, розд. 1, § 1.2, с. 32] можна знайти приклад власного включення добутку топологій Скотта у топологію Скотта на добутку вихідних індуктивних множин.

Що ж стосується неперервності за сукупністю аргументів (при цьому на області визначення розглядається топологія Скотта, індукована покомпонентно впорядкованістю) та за кожним з аргументів, то ці поняття збігаються. Ці факти добре відомі та широко використовуються (див., наприклад, [5, розд. 1, § 1.2, лема 1.2.12; 96, розд. 3, § 1, с. 104]). Нижче наведене доведення просто акцентує увагу на суттєві моменти: повторні та кратні супремуми, конфінальність, критерій неперервності багатомісних функцій (лема 2.4), еквівалентність понять монотонності за сукупністю аргументів та за кожним аргументом (останнє твердження перевіряється безпосередньо; див., наприклад, [96, розд. 3, § 1, с. 104].

Лема 2.5. Функція , де множини індуктивні, неперервна за сукупністю аргументів тоді і тільки тоді, коли вона неперервна за кожним аргументом. □

Доведення. Необхідність. Покажемо неперервність, наприклад, за першим аргументом, зафіксувавши інші аргументи значеннями . Нехай – довільний непорожній ланцюг, тоді за лемою 2.4 маємо:

 ,

оскільки – ланцюг, а відношення конфінальності рефлексивне. ▫

Достатність. Нехай неперервна за кожним аргументом. Скористаймося лемою 2.4, для чого розглянемо довільні непорожні ланцюги , …, , , причому – конфінальна підмножина добутку ланцюгів . За властивостями кратних та повторних супремумів (наслідок 2.1) маємо

 .

Функція неперервна за кожним аргументом, значить, вона монотонна за кожним із аргументів, отже і за сукупністю аргументів. Далі, конфінальна підмножина добутку , значить, згідно з лемою 2.1 повний образ також є конфінальною підмножиною повного образу ; звідси їхні супремуми збігаються (лема 1.10). Залишається скористатися лемою 2.4. □

Підрозділ завершимо розглядом поняття підіндуктивних множин, близького до класичного поняття підструктури [159, § 4] (для п. ч. в. м. використовується термін sub-CPO [197, розд. 3, підрозділ 3.12]).

Означення 2.1. Підмножину індуктивної множини назвемо підіндуктивною множиною множини  і позначимо це через , якщо множина містить найменший елемент та замкнена відносно операції взяття супремумів довільних непорожніх ланцюгів4. □

З відомого зв’язку між вихідним та індукованим порядками випливає, що підіндуктивна множина сама буде індуктивною множиною (за індукованим порядком) з тим самим найменшим елементом, причому для всіх ланцюгів , . Приклади підіндуктивних множин та їхні деякі потрібні далі властивості наведені у наступній лемі.

Лема 2.6 (про підіндуктивні множини). Виконуються наступні твердження:

  1.  , де – ч. в. м., а – індуктивна множина;
  2.  , де – індуктивні множини;
  3.  ; нехай , – деякі індексування, причому всі множини , індуктивні та ; тоді ; зокрема, якщо зафіксувати множину , індуктивну множину та індексування , причому , для всіх , то

 ;

  1. нехай – функція вигляду , де – індуктивні множини, а множини такі, що , , причому ; тоді якщо неперервна, то і її обмеження вигляду неперервне. □

Доведення. Перші два пункти випливають безпосередньо з твердження 2.1 про замкненість сім’ї монотонних (неперервних) функцій відносно операції взяття супремумів. ▫

Третій пункт випливає безпосередньо з формул (2.1), (2.2) для супремумів підмножин добутку та узагальненого добутку ч. в. м. ▫

Нехай довільний непорожній ланцюг. Беручи до уваги підіндуктивність множин та очевидні твердження , маємо рівності

 . □

Таким чином, клас підіндуктивних множин замкнений відносно декартових добутків (п. 3), а неперервність успадковується при переході до обмежень за підіндуктивними множинами (п. 4).

Інші властивості підіндуктивних множин будуть наведені далі; а зараз зауважимо, що сім’я всіх підіндуктивних множин деякої індуктивної множини є мурівською, що перевіряється безпосередньо [197, розд. 3, підрозділ 3.12].

Неперервність суперпозиції та суміжні факти

Зображення суперпозиції, колекція та добуток

Під суперпозицією розуміємо, як звичайно, (див., наприклад, [121, розд. І, § 2]) операцію вигляду

 , ,

таку, що для всіх функцій відповідних сімей та елементів .

Кажучи більш точно, суперпозиція параметризована не тільки за арністю , а й за конкретними множинами .

У цьому підрозділі розглядаються тотальні функції, частковим функціям присвячений підрозділ 2.3.

При дослідженні суперпозиції загального вигляду основна ідея полягає у редукції до суперпозиції вигляду (тобто звичайного добутку чи, за іншою термінологією, композиції унарних функцій) та спеціальної операції колекції.

Означення 2.2. Під колекцією розуміється операція вигляду , така, що для довільних функцій відповідних сімей та елементів . □

Зазначимо, що по суті колекція вводилася у загальній топології при розгляді діагональних добутків відображень (див., наприклад, [3, розд. 6, § 4; 178, § 2.3]); зауважимо також, що колекція близька до операції конструкції Бекуса [64, с. 12] та операції зіставлення (juxtaposition) [185, с. 29].

Позначаючи суперпозицію через (порядок застосування функцій такий: , тобто , з означень операцій випливає зображення суперпозиції

 , (2.3)

яке і є обґрунтуванням вищезгаданої редукції.

Властивості добутку щодо замкненості стандартні: клас монотонних (неперервних) функцій замкнений відносно нього. Це твердження перевіряється безпосередньо (див., наприклад, для монотонності [123, розд. 5, п. 5.1.1, с. 45], а також [96, розд. 3, § 1, с. 104]) або можна просто скористатися елементарним фактом загальної топології з огляду на те, що монотонність (неперервність) є неперервністю відносно відповідних топологій (топології Скотта та -топології Скотта).

Що ж стосується колекції, то має місце наступна лема, яка властивості функцій з однаковою областю визначення зводить до властивостей їхньої колекції і, дуально, властивості вектор-значної функції – до властивостей покомпонентних функцій.

Лема 2.7. Функції , …, монотонні (неперервні) тоді і тільки тоді, коли їхня колекція монотонна (неперервна). Вектор-значна функція монотонна (неперервна) тоді і тільки тоді, коли всі функції вигляду , монотонні (неперервні). □

Доведення наведене у додатку А. □

Аналоги твердження останньої леми стосовно неперервності добре відомі у загальній топології, де вони з’являються при розгляді діагональних добутків відображень (див., наприклад, [3, розд. 6, § 4, твердження 2; 178, § 2.3, твердження 2.3.6]). Але скористатись безпосередньо цими класичними фактами неможливо, оскільки в них йде мова про добуток топологій у розумінні Тихонова, а добуток топологій Скотта, як було зазначено вище, не збігається з топологією Скотта на добутку вихідних індуктивних множин (зазначимо, що для монотонності можна застосувати діагональні добутки, так як для -топологій Скота відповідні топології збігаються).

Зазначимо також, що саме з цієї властивості колекції та зображення суперпозиції (2.3) і випливає добре відоме твердження (що має статус професійного фольклору (folk theorem) за термінологією [203]) про замкненість сім’ї неперервних (монотонних) функцій відносно суперпозиції.

  1.  Неперервність суперпозиції

Як і раніше, скористаймося зображенням суперпозиції (2.3) та проведемо редукцію до більш простих операцій колекції та добутку.

Твердження 2.2. Колекція вигляду

 ,

де множини – ч. в. м. (індуктивні), а – абстрактна множина, є монотонною (неперервною за сукупністю аргументів). □

Доведення наведене у додатку А. 

Наслідок 2.3. Колекція вигляду

 ,

де множини індуктивні, а – ч. в. м., неперервна; колекція вигляду

 ,

де всі множини індуктивні, також неперервна. □

Доведення випливає з неперервності колекції загального вигляду (твердження 2.2), замкненості сімей монотонних (неперервних) функцій відносно колекції (лема 2.7), підіндуктивності сімей монотонних та неперервних функцій (пп. 1, 2 леми 2.6), стабільності відношення підіндуктивності відносно декартова добутку (п. 3 леми 2.6) та успадкування неперервності при переході до обмежень за підіндуктивними множинами (п. 4 леми 2.6). □

Переходячи до добутку функцій, почнемо з монотонності. Тут виявляється, що на відміну від колекції аргументи добутку несиметричні.

Лема 2.8. Нехай – ч. в. м., а – абстрактна множина. Добуток загального вигляду монотонний за другим аргументом. Добуток вигляду монотонний за всіма аргументами. □

Доведення проводиться безпосередньо. Встановимо, наприклад, імплікацію , де – довільна функція з . Дійсно, для довільного елемента маємо

 . ▫

Імплікація , де – довільна монотонна функція відповідної сім’ї встановлюється аналогічно: . □

Зазначимо, що добуток загального вигляду не є монотонним за першим аргументом; відповідний приклад неважко навести. Отже, такий добуток тим більше не буде неперервним за першим аргументом.

Що стосується неперервності добутку, то має місце наступний аналог останньої леми.

Твердження 2.3 (про неперервність добутку). Нехай – індуктивні множини, а – абстрактна множина. Добуток загального вигляду неперервний за другим аргументом. Добуток вигляду неперервний за всіма аргументами. □

Доведення наведене у додатку А. □

З цього твердження за допомогою апарату підіндуктивних множин (лема 2.6) з урахуванням замкненості сімей монотонних (неперервних) функцій відносно добутку безпосередньо випливає наслідок.

Наслідок 2.4. Добуток вигляду неперервний за другим аргументом; добуток вигляду неперервний; нарешті, добуток вигляду також неперервний. □

Зі встановлених властивостей добутку та колекції щодо їхньої монотонності та неперервності (для колекції – твердження 2.2, наслідок 2.3; для добутку – лема 2.8, твердження 2.3 та наслідок 2.4), а також рівності (2.3), що зв’язує суперпозицію, колекцію та добуток, безпосередньо випливають наступні дві теореми.

Теорема 2.1 (про монотонність суперпозиції). Суперпозиція загального вигляду , де – ч. в. м., монотонна за першим аргументом. Суперпозиція вигляду , де – ч. в. м., монотонна; зокрема суперпозиція вигляду , де всі множини – ч. в. м., також монотонна. □

Теорема 2.2 (про неперервність суперпозиції) Суперпозиція загального вигляду , де множини індуктивні, неперервна за першим аргументом. Суперпозиція вигляду

 ,

де множини індуктивні, неперервна, зокрема суперпозиції вигляду , де множини індуктивні, а – ч. в. м., і

 ,

де всі множини індуктивні, неперервні. □

Часткові функції: підстановка та інші програмологічні операції

Частково впорядкована множина часткових функції

Розглянемо ч. в. м. часткових функцій на універсумі , впорядкованих за включенням їхніх графіків – , де . Тут як і раніше при записі часткових функцій будемо використовувати стрілку ; сам клас часткових функцій позначимо як . Як добре відомо, ця ч. в. м. є індуктивною з найменшим елементом всюди невизначеною функцією і, більш того, за термінологією [5, розд. 1, § 1.2] когерентною, тобто в ній довільна сумісна підмножина має супремум (сумісність множини означає, що її довільна скінченна підмножина обмежена зверху). Зауважимо, що в [197, розд. 3, формулювання леми 3.20, с. 58] використовується у тому ж розумінні поняття сумісної повноти (consistency complete).

Наступне твердження висвітлює устрій ч. в. м. часткових функцій; нижче – бінарне відношення сумісності часткових функцій, тобто , де – перетин областей означеності функцій.

Нижче поняття умовно повної ч. в. м. використовується згідно з [13, розд. V, § 3] (ч. в. м. умовно повна, якщо її довільна обмежена зверху та знизу підмножина має обидві точні грані), а поняття повної піврешітки (complete semilattice) – згідно з [197, розд. 3, п. 3.19] (п. ч. в. м. є повною піврешіткою, якщо, наприклад, її довільна обмежена зверху підмножина, має супремум).

Твердження 2.4 (устрій ч. в. м. часткових функцій). Виконуються наступні твердження:

  1.   для довільної непорожньої множини функцій ;
  2. наступні твердження еквівалентні для довільної множини :

а) супремум існує,

б) множина обмежена зверху,

в) множина сумісна,

г) всі функції сім’ї попарно сумісні: ,

д) відношення функціональне;

  1. для довільної множини : якщо існує супремум , то він збігається з об’єднанням ;
  2. ч.в.м є індуктивною, когерентною, умовно повною ч. в. м., є повною піврешіткою. □

Доведення наведене у додатку А. □

Таким чином, в ч. в. м. часткових функцій існують супремуми і сумісних множин (когерентність) і обмежених зверху множин (повна піврешітка). Цей факт не є випадковим, він є наслідком загального твердження про збіжність вказаних понять на класі індуктивних множин ([197, розд. 3, лема 3.20]; більш того, згідно з цією ж лемою для індуктивних множин властивості когерентності та бути повною піврешіткою еквівалентні існуванню інфімума довільної непорожньої множини. Останній факт безпосередньо випливає з відомого зв’язку між точними гранями та конусами: ; , .

Неперервність операцій на часткових функціях

Отже множина часткових функцій є індуктивною, тому на ній за стандартною схемою вводиться топологія Скотта. Але на цій множині можна ввести і іншу природну топологію – так звану топологію додатної інформації, діючи аналогічно теорії рекурсії при розгляді ефективних операторів на множині часткових функцій натурального аргументу і значення [97, розд. 10, § 1; 155, розд. 11, § 11.5, с. 279; 166; 167, част. І, § 1.13, с. 103]. Розглянемо цю топологію і покажемо, що вона збігається з топологією Скотта.

Нижче скінченні часткові функції позначаються  Топологія додатної інформації (т. д. і.) задається своєю базою , яка складається з порожньої множини та верхніх конусів всіх скінченних функцій. Те, що ця сім’я множин дійсно задає топологію, тобто її замкненість відносно скінченних перетинів, випливає з наступної кускової схеми, яка безпосередньо перевіряється

де – довільні часткові функції.

Лема 2.9 (характеристика відкритих множин т. д. і.). Наступні твердження еквівалентні для довільної сім’ї часткових функцій :

  1.   – відкрита множина в т. д. і.;
  2.  ;
  3.  . □

Доведення проводиться безпосереднім встановленням ланцюжка імплікацій 1=>2=>3=>1. □

Твердження 2.5. Для індуктивної множини часткових функцій топологія Скотта збігається з топологією додатної інформації. □

Доведення наведене у додатку А. □

Зауважимо, що в рівності топології Скотта та т. д. і. нема нічого несподіваного. П. ч. в. м. часткових функцій є алгебричною, компактними елементами якої є скінченні функції, а базисом топології Скотта для алгебричних п. ч. в. м. є сім’я верхніх конусів компактних елементів [5, розд. 1, § 1.2, твердження 1.2.25], У наведеному вище прямому доведенні (друга частина) по суті використана компактність скінченних функцій: якщо скінченна функція включається в об’єднання ланцюга (направленої множини) функцій, то існує функція ланцюга (направленої множини), яка включає вихідну скінченну функцію.

Отже, розглянуті топології збігаються, але розгляд т. д. і. приводить до ще одного природного і корисного означення неперервності операції на часткових функціях, як це робиться в теорії рекурсії (див., наприклад, [97, розд. 10, § 1, означення 1.3; 155, розд. 9, § 9.8, теорема XXI]). Для спрощення позначень розглянемо випадок унарних операцій.

Означення 2.3. Операцію назвемо неперервною, якщо для всіх функцій та елементів виконується еквівалентність

 . □

Це означення має просту природну інтерпретацію: значення функції у випадку визначення обчислюється на основі скінченної кількості значень вихідної функції на деяких елементах (саме цю “додатну” інформацію і дає скінченна підфункція ).

Безпосередньо перевіряється, що операція буде неперервною в розумінні цього означення тоді і тільки тоді, коли для всіх функцій виконується рівність

 . (2.4)

У доведення наступного твердження будемо використовувати добре відомий факт, що неперервність відносно топології Скотта означає дистрибутивність відносно супремумів ланцюгів або направлених множин (див. означення 1.3).

Твердження 2.6. Неперервність операцій над частковими функціями у розумінні означення 2.3 збігається з неперервністю відносно топології Скотта (т. д. і.). □

Доведення. Нехай операція неперервна у розумінні означення 2.3. Покажемо її неперервність відносно, наприклад, топології Скотта. Для цього треба встановити рівність , де – довільний непорожній ланцюг функцій.

Операція монотонна, це безпосередньо випливає з рівності (2.4). Тому із загальних властивостей монотонних операцій (наслідок 1.1) випливає включення , і залишається встановити обернене включення, яке випливає з рівності (2.4) та компактності скінченних функцій: . ▫

Нехай тепер операція неперервна відносно топології Скотта. Тоді рівність (2.4) випливає безпосередньо з того, що довільна функція збігається з об’єднанням направленої множини своїх скінченних підфункцій (по суті це алгебричність): . □

Всі наведені вище конструкції модифікуються очевидним чином на багатомісні операції над частковими функціями та на класи часткових функцій вигляду (що потрібно, наприклад, для природного розгляду часткових предикатів).

Підстановка, добуток та колекція часткових функцій

Розглянемо тепер операцію суперпозиції часткових функцій. Щоб розрізнити випадки часткових і всюди визначених (тотальних) функцій, цю операцію будемо називати підстановкою.

Означення 2.4. Під підстановкою розуміємо операцію вигляду , , таку, що для всіх функцій відповідних сімей та елементів . □

Для розв’язання питання про неперервність підстановки доцільно діяти як і для тотальних функцій: провести редукцію до операцій добутку часткових функцій (це просто підстановка вигляду ) та колекції часткових функцій.

Під колекцією часткових функцій (див. означення 2.3) розуміється операція вигляду , , така, що для довільних функцій відповідних сімей та елементів ; іншими словами, .

Очевидно, що аналог рівності (2.3) залишається вірним і для часткових функцій:

 , (2.5)

а аналог рівності (А.1) з доведення леми 2.7, яка (рівність) дозволяє відновлювати функцію за її колекцією з іншими функціями, з огляду на частковість – ні.

З рівності (2.5) випливає, що підстановка будується з добутку часткових функцій та колекції часткових функцій (а також, звичайно, з селекторів) суперпозицією. Тому властивості монотонності та неперервності підстановки випливають з цих самих властивостей добутку та колекції часткових функцій.

Що стосується добутку часткових функцій, то його неперервність (за всіма аргументами, тобто за сукупністю аргументів, згідно з лемою 2.5) випливає з добре відомого класичного факту про дистрибутивність за кожним аргументом операції добутку бінарних відношень відносно теоретико-множинного об’єднання відношень (див., наприклад, [113, розд. І, § 2, с. 15]). Формальне доведення можна провести або безпосередньо, або скористатись неперервністю операції добутку бінарних відношень та технікою підіндуктивних множин (сім’я часткових функцій, тобто сім’я функціональних бінарних відношень, є підіндуктивною множиною множини всіх відношень).

Що ж стосується колекції часткових функцій, то її монотонність і неперервність встановлюється безпосередньо.

Зауважимо, що в [123, розд. 5, п. 5.1.2, теорема 5.1. про неперервність функціоналів] по суті доводиться неперервність підстановки за аргументами, які відповідають функціям, значення яких підставляються. Іншими словами, доводиться рівність , де – ланцюги функцій, . Зауважимо, що у лемі 2.4 наведена узагальнена ситуація. У цій праці часткові функції, впорядковані за включенням їхніх графіків, моделюються впорядкованими точково тотальними функціями на плоских (flat) множинах (або за іншою термінологією на стандартних розширеннях областей), і тому цей очевидний факт про неперервність підстановки потребує досить громіздких доведень.

Наступне твердження у деякій мірі узагальнює властивість неперервності (або відповідної дистрибутивності) добутку часткових функцій.

Твердження 2.7. Для операції добутку часткових функцій виконуються наступні рівності , де – довільна функція, а – довільна сім’я функцій, така, що існує її супремум; , де – довільна функція, а – довільна сім’я функцій така, що існує її супремум. □

Доведення. Перевіримо, наприклад, першу рівність. Оскільки існує супремум , то згідно з твердження 2.4 про устрій ч. в. м. часткових функцій множина має деяку верхню грань . Очевидно, що з огляду на монотонність добутку множина також має верхню грань – , отже існує супремум цієї множини – об’єднання (твердження 2.4). Тому, використовуючи дистрибутивність добутку, маємо

 . □

Отже, з визначеності лівих частин рівностей останнього твердження випливає визначеність і правих частин, а також збіжність значень цих частин. Зауважимо, що з визначеності правих частин визначеність лівих не випливає у загальному випадку (наприклад, – всюди невизначена функція, а множина необмежена зверху). Аналог цього твердження для колекції та підстановки також виконується.

Нарешті, зауважимо, що неперервність підстановки, добутку та колекції часткових функцій безпосередньо випливає з означення 2.3 та означення цих операцій.

Зафіксуємо отримані результати у наступному твердженні.

Твердження 2.8. Операція підстановки часткових функцій неперервна. □

Зауважимо, що про підстановку можна сказати істотно більше, звузивши клас неперервних операцій. Ідея полягає у тому, що для підстановки можна дати верхню оцінку потужності скінченних функцій у рівності типу (2.4) (або в означенні 2.3). Ця оцінка не залежить від вихідних функцій (та елементів в означенні 2.3), тобто є рівномірною. Дійсно, можна безпосередньо перевірити рівність

 .

На цьому шляху приходимо до класу так званих рівномірно неперервних операцій [49, 50, 51]. Саме ця властивість і виділяє операції типу підстановки, колекції, розгалуження (означення див. у п. 2.3.5) від операцій циклування різних типів.

Вкладення часткових функцій у тотальні

Встановимо зв’язок між твердженнями про неперервність суперпозиції тотальних функцій та підстановки часткових функцій (теорема 2.2 та твердження 2.8 відповідно). Для цього треба часткові функції промоделювати тотальними. Робиться це стандартно (див., наприклад, [96, розд. 3, § 1; 123, підрозд. 5.1, с. 40; 197, розд. 1, підрозд. 1.20]). Почнемо з унарних функцій і розглянемо клас часткових функцій вигляду .

Абстрактну множину (область значень часткових функцій) вкладаємо в плоску множину , де , з порядком , де – діагональ на . Іншими словами, множина , по-перше, розглядається як дискретно впорядкована і, по-друге, поповнюється найменшим елементом. Розглянемо відображення таке, що

  

для всіх відповідних функцій та елементів . Безпосередньо перевіряється, що є ізоморфізмом між ч. в. м. та [197, підрозд. 1.29]. Підкреслимо, що часткові функції впорядковуються за включенням (графіків), а тотальні – точково. Ці дві ч. в. м. є індуктивними (твердження 2.4 для часткових та наслідок 2.2 для тотальних функцій; крім того, істотно, що плоскі множини мають найменший елемент, задовольняють УЗЛ і тому вони, згідно з п. 3 твердження 1.2, є індуктивними). З огляду на необхідність підстановок значень часткових функцій у функції ж необхідно провести розширення не тільки множини значень, але й множини визначення: від множини перейти до відповідної плоскої множини з найменшим елементом .

Для цього розглядається відображення таке, що , тобто вихідна функція розповсюджується на дно множини , приймаючи на ньому значенням дно множини . Функції між ч. в. м., які переводять дно у дно ж називають строгими (strict) [197, підрозд. 3.14, с. 56], отже – строге розширення. Очевидно, що є ізоморфізмом між ч. в. м. та ч.в.м всіх строгих функцій , впорядкованих точково.

Нарешті, очевидно, що композиція є ізоморфізмом між ч. в. м. та . Зауважимо, що відображення , а отже і , параметричні (параметрами виступають вихідні множини). Таким чином, добуток часткових функцій вигляду моделюється добутком тотальних функцій вигляду (очевидно, що клас строгих функцій замкнений відносно добутку). Моделювання та його коректність випливають з рівності , яка безпосередньо перевіряється і виконується для всіх відповідних часткових функцій. В останній рівності для спрощення позначень три, взагалі кажучи, різних відображення записані без параметрів.

Виконання рівностей такого типу вимагається при ізоморфізмі структур. Розглядаючи багатоосновні алгебри [72, розд. 3, § 2.6, с. 108; 115], можна сформулювати відповідне точне твердження про ізоморфізм ; у найпростішому ж випадку, коли розглядаються часткові функції на універсальному домені , відображення є ізоморфізмом між алгебричними системами та .

Таким чином, для моделювання часткових функцій тотальними треба розглядати тотальні функції на плоских множинах, причому строгі функції.

Наступне твердження містить критерій монотонності унарних і багатомісних функцій, які діють на плоских множинах, а також найважливіші властивості строгих функцій та багатомісних функцій, які є природними розширеннями у звичайному розумінні: функція , де ч. в. м. мають найменші елементи відповідно, називається природним розширенням, якщо виконується імплікація [123, розд. 5, с. 44]. Зауважимо, що у цій праці природні розширення розглядаються тільки для функцій на плоских множинах; це пов’язано з тим, що природні розширення виникають при моделюванні багатомісних часткових функцій тотальними. Через позначимо сім’ю природних розширень (ne – natural extension).

Твердження 2.9. Виконуються твердження:

  1. для функції , де – плоскі множини з найменшими елементами , нижче наведені твердження еквівалентні:

а) – монотонна,

б) ,

в) – константна функція або строга (тобто );

  1.  , де – плоскі множини;
  2. для функції , де – плоскі множини, нижченаведені твердження еквівалентні:

а) – монотонна,

б) для довільних та елементів , ..., , , ..., функція , яка отримується фіксацією всіх аргументів, крім -го, відповідними елементами, константна або строга;

  1.  , де – плоскі множини. □

Доведення наведене у додатку А. □

Зауважимо, що критерій монотонності унарних функцій на плоских множинах у формі еквівалентності а)в) першого пункту вищенаведеного твердження відомий у літературі (див, наприклад, [123, розд. 5, п. 5.1.2, с. 43]; включення б) цього ж твердження виступає природним містком між загальним критерієм монотонності у термінах повних конусів та твердженням в) (дійсно, просто розглядаються два випадки: вихідна функція строга або ні).

З критерію монотонності у термінах повних образів конусів випливає, що включення є необхідною умовою монотонності функції , де – найменший елемент ч. в. м. . Як випливає з встановленого твердження для унарних функцій на плоских множинах ця умова є і достатньою, а для багатомісних функцій на плоских множинах – тільки необхідною. Причина цих розбіжностей полягає у тому, що плоска множина має єдиний немаксимальний елемент (найменший), а добуток плоских множин, залишаючись ч.в.м, яка задовольняє УЗЛ, уже має декілька немаксимальних елементів.

З останнього твердження також випливає, що природні розширення взагалі кажучи не вичерпують клас монотонних функцій на плоских множинах. Найбільш важливими і відомими монотонними функціями, які не є природними розширеннями, є відповідним чином розширені булеві функції кон’юнкції та диз’юнкції (так звана тризначна логіка Кліні [100; 103, с. 545], яка застосовувалася також у системах алгоритмічних алгебр Глушкова [69; 72, розд. 4, § 4.2, с. 127]), а також функція вибору або за іншою термінологією функція “якщо ..., то ..., інакше” (див., наприклад, [123, розд. 5, п. 5.1.1, с. 45; 96, розд. 3, § 1, с. 101]). Ця функція , де , – плоскі множини з найменшими елементами відповідно (unknown) та , причому – стандартне розширення множини булевих значень (істина) та (хибність), уточнюється так:

 

для всіх , .

Повернемося до моделювання часткових багатомісних функцій тотальними функціями. Діючи аналогічно випадку унарних функція, для цього розглядається відображення , де – плоскі множини з найменшими елементами відповідно , які (плоскі множини) будуються при стандартних розширеннях вихідних абстрактних множин, таке, що

 

для всіх , . Очевидно, що – ізоморфізм між індуктивними множинами та. Крім того, як і для добутку унарних часткових функцій, виконуються наступні рівності, які уточнюють моделювання підстановки часткових функцій суперпозицією тотальних функцій:

 , (2.6)

 ,

для всіх функцій відповідних сімей. Отже, підстановка вигляду моделюється суперпозицією вигляду

 .

Таким чином, з рівності (2.6) та того, що є ізоморфізмом між відповідними індуктивними множинами часткових і тотальних функцій, випливає, що неперервність підстановки часткових функцій (твердження 2.8) є формальним наслідком загального твердження про неперервність суперпозиції тотальних функцій (теорема 2.2). Дійсно, треба тільки скористатися підіндуктивністю сімей строгих функцій та природних розширень (пп. 2, 4 твердження 2.9), успадкуванням неперервності при переході до обмежень за підіндуктивними множинами (лема 2.6) та, нарешті, еквівалентністю понять монотонності і неперервності функцій на плоских множинах (п. 4 твердження 1.2).

Але уявляється, що встановлення неперервності підстановки безпосередньо (особливо зважаючи на твердження 2.6) є більш природним, оскільки на цьому шляху не треба ускладнювати розгляд деталями вкладення часткових функцій у тотальні.

Розгалуження часткових функцій за предикатом

Розглянемо більш детально вади, які виникають при моделюванні часткових функцій тотальними на прикладі уточнення такої керуючої структури як розгалуження. Як зазначалося вище, для цього можна використовувати функцію вибору . Але є і принципово інший шлях – розглядати відповідну операцію над функціями – так звану композицію розгалуження (див., наприклад, [140, 145, 135, 136, 141, 133]). Ця операція уточнюється наступним чином:

 ,

 

для всіх (часткових) предикатів та функцій відповідних сімей, а також елементів . Іншими словами, виконуються такі рівності

 , (2.7)

де , – області істинності та хибності предиката (відповідні повні прообрази), – діагональ на множині , а – як і раніше обмеження функції за множиною. Ці рівності, зокрема, зображають композицію розгалуження через теоретико-множинні конструкції інверсії (переходу до оберненого відношення), повного образу та обмеження.

Функція вибору та композиція розгалуження природно пов’язані: безпосередньо перевіряється наступна рівність, яка аналогічна рівності (2.6):

 ,

де – суперпозиція вигляду

 .

Звідси випливає, що композиція розгалуження моделюється суперпозицією зазначеного вигляду, коли її перший аргумент фіксується функцією вибору, яка є монотонною, а з огляду на плоскість всіх множин, і неперервною. Отже, неперервність композиції розгалуження формально випливає зі загальних фактів про неперервність суперпозиції (теорема 2.2) з урахуванням апарату підіндуктивних множин5.

Таким чином, ефективність розгалуження як керуючої структури проявляється в монотонності (неперервності) функції вибору та у неперервності композиції розгалуження; але останній факт є більш змістовно інформативним.

Як і для підстановки часткових функцій, неперервність розгалуження більш природно встановлюється безпосередньо. Це можна зробити, спираючись на означення 2.3, модифіковане очевидним чином для багатомісних операцій, а можна використати зображення композиції розгалуження (2.7) та властивості дистрибутивності теоретико-множинних конструкцій цього зображення. Дійсно, неперервність композиції розгалуження за першим аргументом випливає з наступних рівностей:

 

а неперервність, наприклад, за другим – з таких:

 

Крім того, можна скористатися неперервністю всіх операцій зображення (2.7), а саме операцій обмеження , інверсії , повного образу , об’єднання сумісних функцій (та константних функцій, які фіксують одноелементні множини , ):

 , ;

 , ;

 , ;

 , .

Очевидно, що композиція розгалуження будується суперпозиціями саме з наведених операцій. Що стосується перших трьох операцій обмеження, інверсії та повного образу, то їх неперервність випливає з дистрибутивності відповідних теоретико-множинних конструкцій. Що ж стосується операцій , то її неперервність дослідимо окремо. Зауважимо, що ця операція є цікавим і важливим прикладом багатомісної неперервної операції, область означеності якої не є прямим добутком (по суті операція часткова). Введемо позначення: , – множина пар сумісних функцій.

Лема 2.10. Нехай – ланцюг пар сумісних функцій, тоді , причому об’єднання у обох частинах цієї рівності є функціями. □

Доведення наведене у додатку А. □

Наслідок 2.5. Множина пар сумісних функцій є підіндуктивною множиною множини пар всіх функцій – . Операція об’єднання пар сумісних функцій неперервна. □

Доведення. Почнемо з підіндуктивності. Очевидно, . Нехай тепер – ланцюг пар сумісних функцій. Тоді маємо:

 . Покладемо , (ці об’єднання є функціями як об’єднання ланцюгів функцій). Згідно з лемою 2.10 ; отже згідно з п. 2 твердження 2.4 про устрій ч. в. м. часткових функцій, тобто . ▫

Неперервність операції випливає з неперервності операції об’єднання функцій , підіндуктивності множини () і множини () та загальної схеми успадкування неперервності при переході до обмежень за підіндуктивними множинами (лема 2.6 про підіндуктивні множини). □

Основні результати розд. 2 наступні.

  1. Встановлені основні властивості підіндуктивних множин, які дозволяють переносити результати з абстрактних рівнів на більш конкретні (лема 2.6).
  2. Досліджена монотонність та неперервність суперпозиції за окремими аргументами (теореми 2.1, 2.2).
  3. Даний опис устрою множини часткових функцій, впорядкованих за включенням їхніх графіків (твердження 2.4).
  4. Доведена збіжність топології Скотта на ч. в. м. часткових функцій з топологією додатної інформації. Встановлена еквівалентність різних означень неперервності операцій над частковими функціями (твердження 2.6).
  5. Встановлений зв‘язок між частковими та тотальними функціями, суперпозицією тотальних функцій та підстановкою часткових функцій, композицією розгалуження та функцією вибору (пункти 2.3.4, 2.3.5).
  6. Сформульовані критерії монотонності унарних та багатомісних функцій на плоских множинах; встановлені основні властивості строгих функцій та функцій, які є природними розширеннями (твердження 2.9).

З цих результатів випливають такі висновки.

  1. Підіндуктивні множини є природним і потужним апаратом для розповсюдження результатів на більш конкретні рівні абстракції.
  2. Принципова різна інтенсіональна роль функцій-аргументів суперпозиції проявляється в властивостях монотонності чи немонотонності цієї операції за різними аргументами (один є активним, він “викликає” інші аргументи; дуально, інші аргументи є пасивними, вони “викликаються”). Аналогічна ситуація виконується при розгляді неперервності суперпозиції. Разом з тим, розглядаючи суперпозицію тільки над монотонними (неперервними) функціями, розрізнити ці ролі неможливо, бо така суперпозиція є монотонною (неперервною) за всіма аргументами.
  3. Неперервність підстановки та розгалуження часткових функцій є формальним наслідком неперервності суперпозиції та монотонності функції вибору, але безпосередній розгляд підстановки та розгалуження є більш адекватним, оскільки при цьому не привносяться ірелевантності, пов‘язані з вкладенням часткових функцій у тотальні.

Композиція рекурсії

Мета розділу полягає у визначенні і дослідженні формальних моделей загальнозначних декларативних структур мов програмування.

Об‘єкт дослідження – формальні моделі декларативних структур мов програмування, якими виступають спеціальні програмні алгебри. Носії цих алгебр складають функції, а сигнатури містять суперпозиції та рекурсії. Рекурсії індуковані рівняннями та системами рівнянь з розв‘язними відносно невідомих лівими частинами та монотонними правими частинами:

  

де , , – монотонні функції, а – індуктивні множини; Праві частини систем рівнянь можуть містити параметри.

Функції та предикати систем алгоритмічних алгебр Глушкова (САА), рекурсивні програми та функції, формальні мови, композиції, типи даних, функціональні програми, взаємодіючі послідовні процеси Хоара природно задаються як розв’язки таких систем в конкретних індуктивних множинах; таким чином, зазначені системи виступають потужним засобом специфікації об’єктів. З огляду на цю прагматику доцільно розвивати загальну теорію розв’язування систем рівнянь зазначеного вигляду.

Основна проблематика полягає у дослідженні монотонності та неперервності рекурсії, замкненості класів монотонних (неперервних) функцій відносно неї, розвиненні методів розв‘язування систем рівнянь, встановленні взаємозв‘язку між суперпозиціями та рекурсіями. При дослідженнях використовуються ординальні зображення найменших розв‘язків; зображення унарної рекурсії через більш прості операції абстракції та добутку, зображення багатомісної рекурсії через унарну; техніка підіндуктивних множин; властивості суперпозиції, встановлені у розд. 2. У цілому можна сказати, що у розділі, використовуючи результати розд. 1, основні властивості суперпозиції переносяться на рекурсію.

Основні результати розділу: встановлення монотонної залежності найменшого розв‘язку від функції правої частини та параметру; доведення монотонності рекурсії, неперервності її обмежень на неперервні функції, замкненості класів монотонних та неперервних функцій відносно рекурсії; опис зв‘язку між суперпозицією та рекурсією у вигляді системи співвідношень, коли аргументи операцій побудовані у свою чергу суперпозиціями та рекурсіями; розвиток теорії розв‘язування рівнянь зазначеного вигляду в індуктивних множинах (метод Гаусса; розв‘язування систем рівнянь з суперпозиціями та рекурсіями у правих частинах; загальнозначні перетворення систем, що зберігають найменші розв‘язки; нижні та верхні оцінки найменших розв‘язків). Деякі з зазначених тверджень є узагальненнями результатів, встановлених для конкретних індуктивних множин, як правило, в припущенні неперервності функцій правих частин рівнянь – САА, рекурсивних програм, формальних мов, семантичних алгебр і типів даних [4, 9, 66, 68, 70, 71, 96, 123, 129, 139].

Основні результати розділу опубліковані в [21, 29, 31, 32, 34, 36, 38, 39, 40, 41, 43, 44, 45, 189].

Рекурсія, індукована рівнянням

Теореми про нерухомі точки монотонних та неперервних функцій

Рекурсія базується на наступній теоремі 3.1 про нерухомі точки монотонних функцій. Її доведення спирається на властивостях операції аплікації, наведених у двох наступних твердженнях.

Означення 3.1. Під аплікацією розуміємо операцію вигляду таку, що для всіх , . 

Це є стандартне тлумачення аплікації (див., наприклад, [5, § 1.2]) або за термінологією [136] класичне (в згаданій роботі розглядаються також неокласичні та некласичні аплікації). Особливість же цього означення полягає у розгляді аплікації над абстрактними тотальними функціями, а не тільки над неперервними функціями.

Твердження 3.1 (про монотонність аплікації). Аплікація вигляду , де ч. в. м., монотонна за першим аргументом. Аплікація вигляду , де ч. в. м., монотонна за сукупністю аргументів. 

Доведення випливає безпосередньо з означення точкового порядку на функціях та еквівалентності монотонності за сукупністю аргументів монотонності за кожним аргументом. 

Зауважимо, що аплікація загального вигляду не монотонна за другим аргументом; відповідні приклади неважко навести (достатньо зафіксувати перший аргумент немонотонною функцією). Таким чином, беручи до уваги відомий зв'язок між монотонністю та неперервністю, аплікація загального вигляду тим більше не неперервна за другим аргументом. Що ж стосується неперервності за першим аргументом то виконується наступне твердження.

Твердження 3.2 (про неперервність аплікації). Аплікація вигляду , де індуктивні множини, неперервна за першим аргументом. Аплікація вигляду , де індуктивні множини, неперервна за сукупністю аргументів. 

Доведення. Перше твердження випливає з формули для знаходження значень супремумів ланцюгів функцій (формула (2.2)), друге – з формули для знаходження значень супремумів ланцюгів неперервних функцій (або можна скористатись неперервністю за першим аргументом аплікації загального вигляду, підіндуктивністю сім‘ї неперервних функцій та загальною схемою успадкування неперервності при переході до обмежень) та означення неперервної функції; крім того використовується еквівалентність неперервності за сукупністю аргументів неперервності за кожним аргументом (лема 2.5). 

Зауважимо, що по суті наведені факти про неперервність аплікації – це переформулювання рівності формули для знаходження значень супремумів сімей функцій при точковому впорядкуванні (неперервність за першим аргументом аплікації) та означення неперервної функції (неперервність за другим аргументом).

Теорема 3.1 (про нерухому точку монотонних функцій). Всяка монотонна функція вигляду , де індуктивна множина, має найменшу нерухому точку 6, причому

 , (3.1)

де трансфінітна послідовність , задається наступним чином: , . Відображення , , що зіставляє монотонній функції її найменшу нерухому точку, монотонне. 

Доведення. Існування найменшої нерухомої точки та її зображення (3.1) випливають з ординального зображення найменшої нерухомої точки монотонної функції на індуктивній множині (твердження 1.10, 1.11), тому встановимо монотонність відображення . ▫

Для цього розглянемо сім'ю наступних відображень ,. З властивостей ординальних зображень випливає, що множина значень є ланцюгом в множині для всіх функцій . Звідси випливає, що множина відображень є ланцюгом в множині відображень . Оскільки остання множина індуктивна (твердження 2.1), то існує супремум , який, беручи до уваги рівність (3.1), співпадає з відображенням . Таким чином, монотонність відображення випливає з монотонності відображень для всіх ординалов (те саме твердження 2.1), і залишається встановити останнє твердження трансфінітною індукцією.

Базис тут тривіальний, проведемо індуктивний крок. Для встановлення монотонності відображення розглянемо дві функції , такі, що виконується нерівність . Маємо рівності та . Оскільки відображення монотонні для всіх ординалів за індуктивним припущенням, то виконується нерівність для всіх ординалів , тобто у позначеннях відношення конфінальності (підрозділ 1.3) маємо нерівність . Звідси та леми 1.10 (про конфінальність) випливає нерівність для супремумів . Нарешті, застосовуючи монотонність функції та вихідну нерівність послідовно отримуємо нерівності

 .

Монотонність відображення можна встановити і іншим шляхом. Дійсно, оскільки відображення будується суперпозицією з аплікації (над монотонними функціями) та відображення , де , тобто , то його монотонність випливає з монотонності такої аплікації, індуктивного припущення та замкненості сім’ї монотонних функцій відносно операції взяття супремумів (твердження 2.1). 

З останньої теореми випливає, що найменша нерухома точка монотонно залежить від вихідної функції. Це твердження доповнює відомий факт про неперервну залежність найменшої нерухомої точки від вихідної неперервної функції (див., наприклад, [5, підрозд. 1.2, теорема 1.2.17]): всяка неперервна функція вигляду , де індуктивна множина, має найменшу нерухому точку , причому , де , ; відображення , , що зіставляє неперервній функції її найменшу нерухому точку, неперервне.

Зауважимо тільки, що повне доведення неперервності відображення використовує замкненість класу неперервних функцій відносно суперпозиції багатомісних функцій (п. 2.2.1). Дійсно, неперервність цього відображення випливає з неперервності всіх відображень , ,, яка встановлюється індукцією по .

Базис тривіальний, а індуктивний шаг проводиться наступним чином: з означень випливають рівності ; перепишемо останню рівність у операторній формі та отримаємо зображення , де ; залишається скористатися неперервністю аплікації , селектора, індуктивним припущенням та замкненістю класу неперервних функцій відносно суперпозиції.

Означення та зображення рекурсії

Для введення рекурсії розглянемо наступне рівняння відносно невідомого x з параметром y:

  (3.2)

де , – абстрактна множина, а D – індуктивна множина, яка є областю зміни невідомого . Якщо функція f монотонна за другим аргументом, то при кожному значенні параметру y це рівняння має за теоремою 3.1 єдиний найменший розв'язок, який, взагалі кажучи, залежить від значення параметру. Саме ці міркування покладені в основу означення рекурсії.

Нижче через позначимо підклас всіх функцій з класу , які монотонні за другим аргументом; позначення розуміється аналогічно для неперервних функцій.

Означення 3.2. Під рекурсією розуміємо операцію вигляду , де абстрактна множина, а індуктивна множина, таку, що довільне значення , , є найменшим розв'язком рівняння (3.2) при вказаному значенні параметру . 

В термальній формі згідно з теорією рекурсії [155] та, наприклад, [170] будемо писати . Таким чином, рекурсія дозволяє формально розв’язувати рівняння вигляду (3.2).

Наведемо приклади рекурсії в конкретних індуктивних множинах. Спочатку розглянемо множину бінарних відношень, впорядковану за теоретико-множинним включенням, з операціями об’єднання та композицією відношень , а також константною операцією , яка фіксує діагональ. Далі розглянемо рівняння відносно невідомого та параметра : .

Неважко перевірити, що найменшим розв’язком цього рівняння при значенні параметра буде рефлексивно-транзитивне замикання відношення – . Отже, рекурсія функції правої частини рівняння зіставляє функцію, яка будує рефлексивно-транзитивне замикання відношень: .

Розглянемо множину формальних мов, впорядкованих за теоретико-множинним включенням з операціями об’єднання та конкатенації, а також константою , що фіксує мову з порожнього слова. Неважко перевірити, що найменшим розв’язком рівняння при значенні параметра буде ітерація мови . Таким чином, у даному випадку значенням рекурсії буде операція ітерації мов .

За означенням рекурсія діє з однієї індуктивної множини в іншу; дійсно, неважко показати з використанням властивостей відношення конфінальності, що . Тому природне питання про її монотонність та неперервність. Крім того, будемо цікавитись питанням про замкненість класів монотонних (неперервних) функцій відносно рекурсії.

Для дослідження цих властивостей рекурсії встановимо її зображення через добуток, основні властивості якого наведені у пункті 2.2.2, та абстракцію ; згідно з [5], замість будемо писати .

Означення 3.3. Під абстракцією розуміємо операцію вигляду таку, що її довільне значення являє собою наступну функцію: для всіх функція задається рівністю , . 

Іншими словами, в λ-нотації значення функції знаходиться за формулою . Це стандартне тлумачення абстракції (див., наприклад, [5]), але при розгляді цієї операції (як і для аплікації) не обмежуємося неперервними функціями.

Властивості абстракції стосовно монотонності наведені у наступному твердженні. Зауважимо, що монотонність абстракції в літературі не розглядалась; це пов'язане з розглядом абстракції тільки над неперервними функціями.

Твердження 3.3 (про монотонність абстракції). Абстракція вигляду , де D – ч. в. м., монотонна. В припущенні часткової впорядкованості множин виконується еквівалентність: функція f монотонна за другим аргументом тоді і тільки тоді, коли функція є функцією вигляду . В припущенні часткової впорядкованості множин виконується еквівалентність: функція f монотонна за першим аргументом тоді і тільки тоді, коли функція монотонна. Зокрема, в припущенні часткової впорядкованості всіх множин виконується еквівалентність: функція f монотонна (за всіма аргументами) тоді і тільки тоді, коли функція є монотонною функцією вигляду . 

Доведення наведене у додатку А. 

З попереднього твердження випливає, що абстракція зводить поняття монотонності багатомісних функцій до монотонності унарних функцій. Як буде показане далі, для неперервності має місце аналогічна ситуація.

Твердження 3.4 (про зображення рекурсії). Для довільної функції , де D індуктивна множина, має місце рівність

 , (3.3)

де відображення  розуміється як в теоремі 3.1. 

Доведення випливає з означень та твердження 3.3 про монотонність абстракції. 

Встановлене зображення рекурсії дає змогу провести редукцію питань про її властивості до аналогічних питань для більш простих операцій абстракції та добутку.

Монотонність рекурсії, замкненість класу монотонних функцій відносно рекурсії

Зі зображення рекурсії (3.3) випливають дві наступні теореми.

Теорема 3.2 (про монотонність рекурсії). Рекурсія є монотонною операцією. 

Доведення. Перепишемо зображення (3.3) в операторному вигляді

 , (3.4)

де ; , ; .

Залишається скористатися монотонністю добутку (лема 2.8; зазначимо істотність того, що областю зміни другого аргументу добутку є клас монотонних функцій), абстракції (твердження 3.3), константи Fix (теорема 3.1) і замкненістю класу монотонних функцій відносно суперпозиції. 

Теорема 3.3. Клас монотонних функцій замкнений відносно рекурсії. 

Доведення випливає із зображення (3.3), монотонності константи Fix, а також замкненості класу монотонних функцій відносно абстракції (твердження 3.3) і добутку. 

Таким чином, найменший розв‘язок рівняння з монотонною функцією правої частини залежить монотонно від значення параметра (додатково до монотонної залежності від вихідної функції згідно з теоремою 3.1).

Неперервність обмежень рекурсії, замкненість класу неперервних функцій відносно рекурсії

Як і для випадку монотонності зображення рекурсії (3.3) (у операторному вигляді це рівність (3.4)) зводить дослідження її неперервності до того ж питання для операцій добутку та абстракції. В наступному твердженні говориться про неперервність останньої операції.

Твердження 3.5 (про неперервність абстракції). Абстракція вигляду , де D індуктивна множина, неперервна. В припущенні індуктивності множин виконується еквівалентність: функція f неперервна за другим аргументом тоді і тільки тоді, коли функція є функцією вигляду . В припущенні індуктивності множин виконується еквівалентність: функція f неперервна за першим аргументом тоді і тільки тоді, коли функція неперервна. Зокрема, в припущенні індуктивності всіх множин виконується еквівалентність: функція f неперервна (за всіма аргументами) тоді і тільки тоді, коли функція є неперервною функцією вигляду . 

Доведення. Встановимо неперервність абстракції. Розглянемо довільний непорожній ланцюг . Мета полягає у перевірці рівності

 . (3.5)

Зазначимо, що існування супремуму в правій частині рівності (3.5) випливає з монотонності абстракції (твердження 3.3): множина – є ланцюгом в як повний образ ланцюга F відносно монотонної операції (лема 2.1).

Для встановлення рівності (3.5) зафіксуємо довільні елементи і . Зазначимо, що множина є ланцюгом у множині функцій в силу леми 2.3, п. 3. За означенням абстракції, формули для значень супремумів сімей функцій і зазначеного факту про множину функцій маємо ланцюжок рівностей:

 

Внаслідок довільності елементу y звідси випливає рівність двох функцій сім'ї : . Враховуючи, що

за формулою для значень супремумів сімей функцій, отримуємо, що функції з правої і лівої частин рівності (3.5), яка перевіряється, мають однакові значення на довільному елементі x; значить, ці функції рівні, і рівність (3.5) дійсно має місце. ▫

Критерій неперервності за другим аргументом випливає безпосередньо з означень. ▫

Встановимо критерій неперервності за першим аргументом. Необхідність. Нехай функція f неперервна за першим аргументом, покажемо, що функція неперервна. Для цього розглянемо довільний непорожній ланцюг і перевіримо рівність

 . (3.6)

Почнемо з обґрунтування існування супремума в правій частині (3.6). Вихідна функція f неперервна за першим аргументом; значить, вона монотонна за ним. З властивостей абстракції (твердження 3.3) функція є монотонною і, відповідно, множина є ланцюгом як повний образ ланцюга відносно монотонній функції. Оскільки в (3.6) йде мова про рівність функцій з сім'ї , то покажемо рівність їх значень на довільному елементі . Дійсно, з означення абстракції, неперервності f за першим аргументом, формули для значень супремума ланцюга функцій послідовно маємо:

 .

Достатність. Нехай функція неперервна, покажемо неперервність функції f за першим аргументом. Для цього зафіксуємо другий аргумент довільним значенням і розглянемо довільний непорожній ланцюг . За означенням абстракції, неперервності функції і формули для значень супремума ланцюга функцій (остання сім'я функцій є ланцюгом внаслідок монотонності функції ) послідовно маємо:

 . 

З останнього твердження випливає, що абстракція зводить поняття не тільки монотонності, а й неперервності багатомісних функцій до неперервності унарних функцій. Зауважимо також, що в літературі обмежувались розглядом абстракції в класі неперервних функцій; ця обставина, зокрема, не давала змогу розділити неперервність за окремими аргументами (першим та другим): так, наприклад, в [5, підрозд. 1.2, твердження 1.2.14] йде мова тільки про замкненість класу неперервних функцій відносно абстракції та про неперервність абстракції на класі неперервних функцій.

Для встановлення властивостей рекурсії скористаємося апаратом підіндуктивних множин. В наступній лемі, яка доповнює лему 2.6 про підіндуктивні множини, наведені потрібні далі властивості.

Лема 3.1. Якщо підіндуктивна множина множини , то множина функцій підіндуктивна множина множини функцій . Множина функцій , , підіндуктивна множина множини , де індуктивна множина, індуктивна множина для випадку та індуктивна множина для випадку . Зокрема, підіндуктивна множина множини , , де всі множини , , індуктивні. 

Доведення наведене у додатку А. 

З цієї леми безпосередньо випливає наступне твердження.

Наслідок 3.1. Множина підіндуктивна множина множини , де – індуктивні множини; множина – підіндуктивна множина множини , де всі множини індуктивні. 

З успадкування неперервності при переході до обмежень за підіндуктивними множинами (лема 2.6, п. 4), леми 3.1, наслідку 3.1 та неперервності абстракції загального вигляду (твердження 3.5) безпосередньо випливає наступна лема про неперервність обмежень абстракції.

Лема 3.2. Абстракції вигляду , де , індуктивні множини, та , де всі множини ,, індуктивні, неперервні. 

У наступних двох теоремах наведені головні властивості рекурсії щодо неперервності.

Теорема 3.4. Клас неперервних функцій замкнений відносно рекурсії. 

Доведення випливає з зображення рекурсії (3.3), неперервності відображення (заключна частина п. 3.1.1), замкненості класу неперервних функцій відносно абстракції (твердження 3.5) та добутку. 

Таким чином, найменший розв‘язок рівняння з неперервною функцією правої частини залежить неперервно від значення параметра (додатково до неперервної залежності від вихідної функції).

Теорема 3.5. Операція рекурсії вигляду неперервна; зокрема, операція рекурсії вигляду також неперервна. 

Доведення. Друге твердження теореми з огляду на п. 4 леми 2.6 (про підіндуктивні множини) та лему 3.1 випливає з першого; його і доведемо. ▫

Перше твердження випливає з зображення рекурсії (3.3), неперервності відображення , неперервності обмеження абстракції (лема 3.2), неперервності добутку при фіксації другого аргументу неперервною функцією (твердження 2.3 про неперервність добутку) та замкненості класу неперервних операцій відносно суперпозиції. 

Інші означення рекурсії

Означення 3.2 можна модифікувати з метою визначення явної залежності розв‘язку рівняння не тільки від функції правої частини рівняння, а й від значення параметра.

Означення 3.2’. Під рекурсією розуміємо операцію вигляду , де абстрактна множина, а індуктивна множина, таку, що довільне значення , де , , є найменшим розв'язком рівняння (3.2) при вказаному значенні параметру . 

Очевидно, що введені рекурсії пов‘язані наступним чином: , тобто рекурсія будується суперпозиціями з рекурсії та аплікації, а рерурсія – з рекурсії абстракцією: . Таким чином, основні властивості рекурсії вигляду переносяться і на рекурсію вигляду (і навпаки).

Крім того, вихідне означення можна модифікувати, вводячи до розгляду декілька параметрів. Для цього розглянемо наступне рівняння відносно невідомого x з параметрами :

  (3.7)

де , – абстрактні множина, а D – індуктивна множина, яка є областю зміни невідомого . Якщо функція f монотонна за останнім аргументом (-першим), то при довільних значеннях параметрів рівняння (3.7) має за теоремою 3.1 єдиний найменший розв'язок, який, взагалі кажучи, залежить від значень параметрів.

Нижче через позначимо підклас всіх функцій з класу , які монотонні за -першим аргументом.

Означення 3.4. Під рекурсією розуміємо операцію вигляду , де абстрактні множини, а індуктивна множина, таку, що довільне значення , де , є найменшим розв'язком рівняння (3.7) при вказаних значеннях параметрів. 

Так введені рекурсії природно пов’язані з рекурсією в розумінні вихідного означення 3.2: .

Наведемо приклад важливої рекурсії з декількома параметрами в індуктивній множині часткових функцій, впорядкованих за включенням графіків, з операціями добутку часткових функцій та розгалуження функцій за предикатом (див. п.2.3.5), а також константою , що фіксує діагональ (тобто тотожню функцію). Розглянемо рівняння відносно невідомого та параметрів ; причому значеннями параметра є часткові предикати, а значеннями параметра – часткові функції:

 . (3.8)

Неважко перевірити, що найменшим розв’язком цього рівняння коли значеннями параметрів виступають відповідно предикат та функція є циклування функції за предикатом – (дивись означення циклування, наприклад, в [9, 48]). Отже, рекурсія операції правій частині рівняння (3.8) зіставляє композицію циклування: .

Другий приклад стосується іменних даних [47, 48, 140]. Для цього розглянемо сім‘ю множин, впорядковану за теоретико-множинним включенням, з операцією теоретико-множинного об‘єднання множин , операцією побудови множини всіх скінченних підмножин множини-аргумента та операцією побудови множини всіх скінченних функціональних відношень на парі вихідних множин (дві останні операції задані в термальній формі).

Тепер розглянемо рівняння . Можна переконатися (подробиці див. у [47]), що найменшим розв‘язком цього рівняння, коли значенням параметра є множина імен , а значенням параметра – множина денотатів , буде множина -іменних даних.

Повернемося до унарної рекурсії вигляду . Основні властивості рекурсії щодо неперервності її обмежень та замкненості класів монотонних (неперервних) функцій переносяться на рекурсію вигляду . Це робиться за допомогою спеціальної операції , , яка довільній -арній функції вигляду зіставляє бінарну функцію вигляду , значення якої задаються рівністю для всіх , , .

Можна переконатися, що для довільної функції вигляду , де – абстрактні множина, а – індуктивна множина, монотонної за аргументом, виконується рівність . Формальні доведення наводити тут не будемо, оскільки аналогічна операція , буде вводитись і досліджуватися у наступному підрозділі при побудові багатомісної рекурсії.

Рекурсія, індукована системами рівнянь

У цьому підрозділі вивчається багатомісна композиція рекурсії, індукована системами рівнянь певного вигляду. Властивості унарної рекурсії, яка досліджувалась в попередньому підрозділі, переносяться на n-арний випадок. Невідомі або параметри систем будемо позначати можливо з індексами, а їхні значення –

Розв’язки систем рівнянь з монотонними (неперервними) функціями правих частин

Зафіксуємо множини , , та розглянемо наступну систему рівнянь

  (3.9)

де для , а областями зміни невідомих є відповідно множини . Таким чином, всі рівняння мають розв'язні відносно своїх невідомих ліві частини, а кількість невідомих дорівнює кількості рівнянь. Проведемо редукцію рішення системи (3.9) до рішення одного рівняння вигляду

  (3.10)

де , , – операція колекції, що вводилась у пункті 2.2.1 (тут і надалі для спрощення позначень арність колекції явно вказувати не будемо), декартів добуток  – область зміни невідомого . Зазначимо, що порядок функцій при побудові відображення визначається порядком множин в декартовому добутку множин , тобто порядком на невідомих.

Очевидно, що зв'язок між розв'язками системи (3.9) та рівняння (3.10) наступний – для довільних значень невідомих виконується еквівалентність: є розв'язком системи (3.9) тоді і тільки тоді, коли кортеж є розв'язком рівняння (3.10). Таким чином, множина розв'язків вихідної системи рівнянь збігається з множиною нерухомих точок функції (при певному порядку на невідомих).

Нехай тепер множин частково впорядковані; тоді можна порівнювати розв'язки і говорити про найменші розв'язки (як і раніше порядок вводиться покомпонентно). Очевидно, що для довільних значень невідомих виконується еквівалентність: є найменшим розв'язком системи (3.9) тоді і тільки тоді, коли кортеж є найменшим розв'язком рівняння (3.10) (тобто найменшою нерухомою точкою функції ).

Сформулюємо тепер основну теорему про найменші розв'язки системи рівнянь вигляду (3.9) – аналог теореми 3.1 про нерухому точку монотонної функції.

Теорема 3.6 (ординальне зображення найменшого розв’язку системи рівнянь). Система рівнянь (3.9), де множини індуктивні, а функції монотонні, має найменший розв'язок , причому , ..., , де трансфінітна послідовність , ; – ординал, задається наступним чином

 , ..., ; ,

де , ..., – найменші елементи відповідних індуктивних множин. Відображення , що зіставляє монотонним вихідним функціям найменший розв'язок системи (3.9), монотонне. 

Доведення. Перше твердження теореми випливає з відміченого вище зв‘язку між системою та рівнянням, замкненості класу індуктивних множин відносно декартова добутку (твердження 2.1), замкненості класу монотонних функцій відносно колекції (лема 2.7), а також з теореми про нерухомі точки монотонної функції (теорема 3.1). Дійсно, скористаймося ординальним зображенням найменшого розв’язку рівняння (3.10): , де , . Оскільки – кортеж, то покладемо і трансфінітною індукцією доведемо рівності , . Базис тривіальний, а індуктивний крок проводиться з врахуванням формули для супремумів в добутках індуктивних множин:

 

Отже, , . ▫

Друге твердження випливає з рівності для довільних монотонних функцій . Дійсно, переписавши її в операторному вигляді

 , (3.11)

залишається скористатись монотонністю операцій (твердження 2.2, наслідок 2.3) та відображення (теорема 3.1, друге твердження), а також замкненістю класу монотонних операцій відносно добутку. 

Для випадку неперервних функцій попередня теорема має наступний вигляд.

Теорема 3.7. Система рівнянь (3.9), де множини індуктивні, а функції неперервні (за всіма аргументами), має найменший розв'язок вигляду

 , ..., ,

де послідовність задається наступним чином:

 , , , .

Відображення , яке зіставляє неперервним вихідним функціям найменший розв'язок системи рівнянь (3.9), неперервне. 

Доведення. Існування найменшого розв'язку випливає з попередньої теореми 3.6 та відомого зв'язку між монотонністю і неперервністю. Покажемо, що найменший розв'язок дійсно має вигляд, вказаний в теоремі. Для цього треба скористатись добре відомим зображенням найменшої нерухомої точки неперервної функції, формулою

 ,

яка є наслідком загальної формули для супремумів множин кортежів (формула (2.1) у підрозділі 2.1), та наступними очевидними рівностями для

  ▫

Нарешті, останнє твердження теореми про неперервність відображення випливає з зображення (3.11), неперервності обмеження колекції на клас неперервних функцій (наслідок 2.3), неперервності відображення (заключна частина пункту 3.1.1), а також замкненості класу неперервних функцій відносно добутку. 

З цієї теореми випливають відомі зображення найменших розв'язків систем рівнянь вигляду (3.9) в повних решітках формальних мов [4, розд. 2, п. 2.4.5, с. 184-186; 66; 67; 68; 139], а також в індуктивних множинах часткових функцій та предикатів, впорядкованих за включенням їхніх графіків [70, 71, 96, 123].

Зауважимо, що наведене в цій теоремі зображення найменшого розв‘язку систем рівнянь з неперервними правими частинами відоме [96, розд. 1, § 9, теорема 9.4]; при цьому використовується конструкція так званої ї сумісної ітерації функцій, яка по суті об‘єднує операцію колекції та формулу для знаходження супремумів множин кортежів.

Розв'язки систем рівнянь з параметром, багатомісна композиція рекурсії та її зображення

Зафіксуємо множину і розглянемо систему вигляду (3.9) з параметром

  (3.12)

де , для , . В цих системах – невідомі, а – параметр. Ця система відповідає випадку “неструктурованого” параметру. Як буде показано далі, це не обмежує загальності як і для унарних рекурсій (підрозд. 3.1).

Проведемо аналогічно випадку систем (3.9) редукцію розв’язків систем до розв’язків певних рівнянь. Представити функцію такого рівняння просто як колекцію неможливо, оскільки областями значень та визначення цієї функції є відповідно множини і , які неузгоджені; отже, не можна розглядати нерухомі точки останньої функції. Саме для узгодження областей визначення та значень функцій треба ввести до розгляду наступну допоміжну операцію над функціями.

Означення 3.5. Через , позначимо операцію, яка довільній -арній функції вигляду зіставляє бінарну функцію вигляду , значення якої задаються рівністю для всіх , , . 

Як бачимо, операція змінює тільки структуру елементів області визначення вихідної функції. Розглянемо рівняння з невідомим та параметром вигляду

 , (3.13)

де , , , . Очевидно, що останні система рівнянь та рівняння пов‘язані наступним чином – для довільних значень невідомих і параметра виконується еквівалентність: є розв’язком системи (3.12) при значенні параметра тоді і тільки тоді, коли кортеж є розв’язком рівняння (3.13) при тому самому значенні параметра (тобто кортеж є нерухомою точкою функції ). Доведення проводиться безпосередньо; наприклад, необхідність випливає з рівностей

 

Якщо ж множини розглядати як частково впорядковані, то зв’язок між найменшими розв’язками системи та рівняння зберігається – для довільних значень невідомих і параметра виконується еквівалентність: є найменшим розв’язком системи (3.12) при значенні параметра тоді і тільки тоді, коли кортеж є найменшим розв’язком рівняння (3.13) при тому самому значенні параметра .

Таким чином, з останнього факту та теореми про нерухомі точки монотонних функцій випливає, що треба встановити умови на вихідні функції , при яких функція буде монотонною за другим аргументом. Зробимо це в два прийоми: спочатку для операції колекції , а потім для операції .

Для колекції узагальнимо лему 2.7 на випадок монотонності (неперервності) за деякими аргументами. Це можна зробити безпосередньо, але краще скористатись цікавим зв‘язком між колекцією та добутком – дистрибутивністю добутку за другим аргументом відносно колекції, звідки у свою чергу випливає дистрибутивність суперпозиції за першим аргументом відносно колекції.

Лема 3.3. Виконується рівність , де , , . За умови визначеності лівої та правої частин виконується рівності

 ,

 , де ,

для всіх відповідних -арних функцій та . 

Доведення наведене у додатку А. 

Наведені рівності є аналогами відповідних рівностей для конструкції та композиції у функціональному програмуванні [64, доповнення перекладача, с. 56].

Лема 3.4. Функції , монотонні (неперервні) за -тим аргументом тоді і тільки тоді, коли функція монотонна (неперервна) за тим самим -тим аргументом, . 

Доведення наведене у додатку А. 

Застосуємо останню лему до системи (3.12).

Наслідок 3.2. Функції системи (3.12) монотонні (неперервні) за аргументами тоді і тільки тоді, коли функція монотонна (неперервна) за тими ж аргументами . 

Доведення випливає безпосередньо з леми 3.4. 

Перейдемо тепер до необхідних властивостей операції . Тут має місце лема.

Лема 3.5. Функція монотонна (неперервна) за аргументами тоді і тільки тоді, коли функція монотонна (неперервна) за другим аргументом; тут множини або ч. в. м. для випадку монотонності, або індуктивні для випадку неперервності. 

Доведення наведене у додатку А. 

Таким чином, операція зводить монотонність (неперервність) за декількома аргументами до монотонності (неперервності) за одним аргументом, що має структуру декартова добутка. Зауважимо, що аналогічну роль виконує абстракція (твердження 3.3 та 3.5).

Застосуємо останню лему і наслідок до функцій системи (3.12).

Наслідок 3.3. Функції , , монотонні (неперервні) за аргументами тоді і тільки тоді, коли функція монотонна (неперервна) за другим аргументом. 

Доведення випливає безпосередньо з наслідку 3.2 і леми 3.5. 

Тепер, нарешті, можна сформулювати твердження про найменші розв’язки системи (3.12). Нижче через позначимо підклас класу функцій , монотонних за аргументами ; , на ч. в. м. . Аналогічне позначення з використанням квадратних дужок буде далі використовуватися для підкласу неперервних функцій.

Теорема 3.8. Система рівнянь (3.12), де множини індуктивні, а функції монотонні за аргументами , має найменший розв’язок для довільних значень параметра . Відображення

,

яке зіставляє монотонним за аргументами функціям найменший розв’язок системи при довільному фіксованому значенні параметра , має зображення

  (3.14)

де – відповідна унарна операція рекурсії (підрозділ 3.1). 

З останньої теореми випливає коректність наступного основного означення – означення багатомісної операції рекурсії, індукованої системами рівнянь з параметром (див. також однойменну операцію в [139], а також метакомпозицію найменшої нерухомої точки [129]).

Означення 3.6. Під рекурсією , розуміємо операцію вигляду

,

де індуктивні множини, таку, що довільне значення , , є значенням невідомого в найменшому розв’язку системи (3.12) при вказаному значенні параметра . 

Очевидно, що фіксація саме невідомого у цьому означенні загальності не обмежує. Зазначимо, що так введена рекурсія і унарна рекурсія , індукована одним рівнянням з параметром, мають природній зв’язок – при відповідних вихідних множинах (областях значень невідомих і параметрів).

Із зображення (3.14), вказаного в теоремі 3.8, і означення рекурсії безпосередньо випливає твердження про її зображення.

Твердження 3.6. Для довільних функцій , ..., має місце рівність:

 , (3.15)

де – селектор. 

Зауважимо, що допоміжна операція , незважаючи на свою “штучність”, явно входить у зображення багатомісної рекурсії. Скориставшись встановленим зображенням багатомісної рекурсії , встановимо для неї аналоги основних властивостей унарної рекурсії.

Властивості багатомісної рекурсії

Запишемо зображення (3.15) в операторному вигляді:

 ,  (3.16)

де операції мають наступні області визначення та значень

 

 ,

 ,

 ,

 .

Вище – константне відображення, що фіксує відповідний селектор. Зауважимо також, що три входження добутку позначають різні операції, що відрізняються областями визначення та значень (вище докладно розписане тільки перше входження). З зображення (3.16) випливає, що встановлення відповідних властивостей рекурсії зводиться до встановлення аналогічних властивостей допоміжних операцій .

Лема 3.6. Операція

,

де – ч. в. м., монотонна; зокрема, операція вигляду

,

де всі множини – ч. в. м., також монотонна. Клас монотонних функцій замкнений відносно операції . 

Доведення. Почнемо з встановлення зображення операції . А саме, очевидно, для всіх функцій виконується рівність

 , (3.17)

де , для всіх відповідних елементів .

Змістовно кажучи, функція поповнює кортеж новим першим елементом. Таким чином, з рівності (3.17) і монотонності добутку за другим аргументом (лема 2.8) випливає монотонність операції загального вигляду; монотонність обмеження цієї операції випливає з монотонності вихідної операції. ▫

Замкненість класу монотонних функцій відносно операції випливає з зображення (3.17), монотонності функції в припущенні, що – ч. в. м. (це перевіряється безпосередньо), і замкненості класу монотонних функцій відносно добутку. 

Теорема 3.9 (про монотонність рекурсії). Багатомісна рекурсія загального вигляду

 ,

де множини індуктивні, монотонна за всіма аргументами. Клас монотонних функцій замкнений відносно рекурсії. 

Доведення випливає з зображення рекурсії (3.16) і монотонності всіх операцій цього зображення (добуток – лема 2.8, зазначимо істотність того, що область визначення другого аргументу є класом монотонних функцій; колекція – твердження 2.2; операція – лема 3.6; рекурсія – теорема 3.2), а також замкненості класу монотонних функцій відносно суперпозиції. ▫

Замкненість класу монотонних функцій відносно рекурсії випливає з рівності (3.15) і аналогічних властивостей операцій , що в ній фігурують. 

Переходимо до вивчення неперервності рекурсії. Тут будемо використовувати апарат підіндуктивних множин. Першою метою є встановлення неперервності обмеження рекурсії вигляду

 ,

де через позначений підклас функцій класу , неперервних за аргументами ; ; множини індуктивні.

Аналіз зображення (3.16) показує, що для цього достатньо встановити неперервність наступних обмежень:

 

 

Ці факти встановлюються в наступних двох лемах.

Лема 3.7. Колекція наступного вигляду неперервна

Доведення наведене у додатку А. 

Переходимо до операції .

Лема 3.8. Операція загального вигляду

 ,

де індуктивна множина, і її обмеження вигляду

 ,

де – індуктивні множини, неперервні. 

Техніка доведення та ж, що і в попередній лемі. 

Теорема 3.10 (про неперервність рекурсії). Операція рекурсії вигляду

 

неперервна. Клас неперервних функцій замкнений відносно рекурсії. Операція рекурсії вигляду

 

також неперервна. 

Доведення. Перше твердження теореми випливає з зображення (3.16), модифікованого очевидним чином для рекурсії вказаного вигляду, а також з двох попередніх лем 3.7, 3.8. Підкреслимо істотність того, що в цьому модифікованому зображенні використовується неперервність добутку, коли областю зміни його другого аргументу є клас саме неперервних функцій (твердження 2.3), тобто використовується неперервність селектора. ▫

Друге твердження теореми випливає з рівності (3.15) і збереження класу неперервних функцій всіма операціями цього зображення. ▫

Третє твердження випливає з перших двох з врахуванням того, що області визначення і значень рекурсії, вказані у третьому твердженні, є підіндуктивними множинами областей визначення і значень рекурсії, вказаної в першому твердженні (доведення аналогічні лемі 3.7). 

Як зазначалося у п. 3.1.5, для унарної рекурсії випадок декількох параметрів зводиться до випадку одного параметра (але “структурованого”) за допомогою операції . Для цієї операції виконуються аналоги лем 3.6 (монотонність) та 3.8 (неперервність), які і обґрунтовують успадкування властивостей при переході від одного параметра до декількох.

Випадок декількох параметрів

Як і унарна рекурсія багатомісна рекурсія має аналог для випадку декількох параметрів. Для введення цієї операції розглянемо наступну систему

  (3.18)

де , – монотонні функції за аргументами ; множини – індуктивні та є областями зміни невідомих відповідно.

Означення 3.6’. Під рекурсією розуміється операція, яка функціям системи (3.18) зіставляє функцію , довільне значення якої дорівнює значенню невідомого в найменшому розв’язку системи (3.18) при вказаних значеннях параметрів. 

Зауважимо, що на класі неперервних функцій по суті саме таке означення рекурсії під назвою метакомпозиції найменшої нерухомої точки розглядалося у [129] (еквівалентність цих двох означень випливає з властивостей операції колекції, яка зводить розв’язування системи рівнянь до розв’язування одного рівняння).

Для так введеної рекурсії виконуються аналоги теореми 3.9 про монотонність та теореми 3.10 про неперервність. Ці аналоги доводяться за допомогою природного зображення рекурсії через рекурсію та допоміжну операцію типу операцій , , яка дозволяє перші аргументів вихідної функції розглядати як одне ціле.

Розв’язування систем рівнянь в індуктивних множинах

Допоміжні леми

Найменші розв’язки систем (3.9) з монотонними правими частинами можна знаходити методом послідовного виключення невідомих (методом Гаусса). Для конкретних індуктивних множин це продемонстровано, наприклад, у [4, розд. 2, п. 2.2.1, с. 124-131; 70; 71; 96, § 9, с. 45-46]. В методі Гаусса треба застосовувати операції рекурсії, що вводились у підрозділах 3.1, 3.2.

Для обґрунтування застосування методу Гаусса найважливіше значення має наступне твердження про властивість найменших розв’язків систем. Сформулюємо його для випадку , тобто розглянемо систему

  (3.19)

де , , індуктивні множини, функції монотонні.

Лема 3.9 (про балансування). Нехай – найменший розв’язок системи (3.19), тоді – найменший розв’язок рівняння , а – найменший розв’язок рівняння . Іншими словами, ,

Доведення наведене у додатку А. 

Зауважимо, що в [39, 44] лема про балансування формулювалася і доводилася за умови неперервності правих частин рівнянь.

Крім того при рішенні систем дуже корисне наступне елементарне твердження, яке виконується для довільних систем вигляду (3.9). Розглянемо наступну систему, яка отримується з системи (3.9) заміною в правих частинах деяких рівнянь невідомого на свою праву частину :

  (3.20)

де зафіксоване.

Лема 3.10 (про підстановку). Нехай в системах (3.9) і (3.20) – довільні функції на абстрактних множинах. Тоді множини розв’язків цих систем збігаються. 

Лема доводиться безпосередньо. 

Таким чином, системи (3.9), (3.20) еквівалентні. Характеристичною ознакою розглянутого перетворення є заміна виділеного невідомого на свою праву частину в правих частинах довільних рівнянь, крім рівняння, що відповідає обраному невідомому. Зауважимо, що це обмеження можна зняти, але тоді будуть збігатися тільки найменші розв’язки, а множина розв’язків при перетворенні буде, очевидно, розширюватися; відповідне твердження буде наведене далі.

Переходимо безпосередньо до методу Гаусса. Для спрощення позначень застосуємо його до рішення систем вигляду (3.19). Розглянемо наступні системи, які відповідають послідовним формальним крокам методу Гаусса

  (3.21)

  (3.22)

Перший крок полягає у явному виразі обраного невідомого через решту невідомих, а другий – у підстановці у праві частини рівнянь цього явного виразу замість обраного невідомого. Зауважимо, що згідно з лемою 3.10 (про підстановку) останні дві системи еквівалентні. При переході ж від початкової системи (3.19) до системи (3.21) множина розв’язків, взагалі кажучи, звужується. Дійсно, як приклад можна розглянути системи

  

Для першої системи – розв’язок при довільних , а для другої – , де знову ж – довільне.

Далі, системи (3.21) і (3.22) мають спеціальний вигляд, а саме права частина другого рівняння системи (3.21) не містить невідомого (), який відповідає лівій частині, а для системи (3.22) ситуація дуальна – права частина першого рівняння не містить невідомого (), який відповідає другому рівнянню системи; змістовно кажучи, в системі (3.22) невідомі відокремлені, тобто з неї можна виділити підсистему (перше рівняння) та розв’язувати його окремо.

Розв’язки систем типу (3.21), (3.22) будуть розглянуті в наступному пункті, а зараз наведемо твердження про перехід від системи (3.19) до системи (3.21).

Лема 3.11. Множина розв’язків системи (3.21) є підмножиною множини розв’язків системи (3.19), але найменші розв’язки цих двох систем збігаються. 

Доведення. Перше твердження леми випливає безпосередньо з вигляду систем та означення рекурсії, доведемо збіжність найменших розв’язків систем. Нехай та – найменші розв’язки систем (3.19), (3.21) відповідно. З першого твердження леми випливає нерівність . Обернена ж нерівність випливає з того, що згідно з лемою 3.9 про балансування є розв’язком системи (3.21). Отже, найменші розв’язки збігаються. 

Таким чином, при проведенні першого кроку методу Гаусса – формального розв’язування одного з рівнянь, тобто визначення одного виділеного невідомого через решту невідомих, – множина розв’язків, взагалі кажучи, звужується, але найменший розв’язок зберігається.

Розв’язки систем спеціального вигляду, метод Гаусса

Для обґрунтування всіх кроків методу Гаусса розглянемо системи спеціального вигляду, які з’являлися при застосуванні цього методу; з метою спрощення запису, як і раніше, обмежимося випадком :

  (3.23)

  (3.24)

Змістовно кажучи, в системі (3.23) один невідомий має явний вираз через решту невідомих, а в системі (3.24) невідомі відокремлені. Розв’язування системи (3.23) зводиться до розв’язування системи вигляду (3.24); дійсно, застосуємо до першої з цих систем перетворення леми 3.10 та прийдемо до еквівалентної системи, яка має вигляд системи (3.24), навіть дещо спрощений:

  (3.25)

Тому і почнемо з системи (3.24). Повний опис множини розв’язків цієї системи для довільних абстрактних функцій містить наступне твердження.

Твердження 3.7 (про відокремлені невідомі). Для довільних функцій виконується: – розв’язок системи (3.24) тоді і тільки тоді, коли – розв’язок рівняння , а – розв’язок рівняння . Зокрема, для монотонних функцій правих частин нехай – найменший розв’язок системи (3.24), тоді , . 

Прокоментуємо це твердження. Система (3.24) розв’язується (шукається найменший розв’язок) у два кроки: спочатку розв’язується рівняння (знаходиться найменший розв‘язок), потім знайдений (найменший) розв’язок підставляється як значення параметра і розв’язується рівняння (шукається найменший розв’язок). Отже, системи такого вигляду припускають редукцію до рівнянь.

Доведення наведене у додатку А. 

Переходимо до систем вигляду (3.23). Повний опис множини розв’язків цієї системи для довільних абстрактних функцій містить наступне твердження.

Твердження 3.8 (про похідні невідомі). Для довільних функцій виконується: – розв’язок системи (3.23) тоді і тільки тоді, коли – розв’язок рівняння , а . Зокрема, для монотонних функцій правих частин нехай – найменший розв’язок системи (3.23), тоді , . 

Доведення. Розглянемо систему (3.25), за лемою 3.10 про підстановку вона еквівалентна системі (3.23). Але система (3.25) має вигляд системи (3.24) (навіть ще спрощений) і залишається використати твердження 3.7 про відокремлені невідомі. 

Отже, системи типу (3.23) також припускають редукцію до рівнянь. Тепер сформулюємо твердження про застосування методу Гаусса послідовного виключення невідомих. Почнемо з систем двох рівнянь вигляду (3.19).

Теорема 3.11 (метод Гаусса для монотонних правих частин системи двох рівнянь). Системи рівнянь (3.19), (3.21), (3.22) мають однакові найменші розв’язки. Для найменшого розв’язку системи (3.22) виконується: – найменший розв’язок рівняння , а . 

Доведення першого твердження випливає з леми 3.11 та леми 3.10 (про підстановку). Друге твердження теореми випливає з твердження 3.7 (про відокремлені невідомі). 

Таким чином, метод Гаусса зводить розв’язування системи двох рівнянь до розв’язування одного рівняння. Сформулюємо тепер твердження про застосування методу Гаусса для систем рівнянь. Для цього знадобиться унарна операція рекурсії та допоміжна операція , які вводилась у останньому пункті підрозділу 3.1. Основна властивість цих операцій для даного випадку – це збереження класу монотонних функцій. Наведемо аналоги систем (3.21), (3.22) для випадку :

  (3.26)

  (3.27)

Теорема 3.12 (метод Гаусса для монотонних правих частин системи рівнянь). Системи рівнянь (3.9), (3.26), (3.27) мають однакові найменші розв’язки. Для найменшого розв’язку системи (3.27) виконується: – найменший розв’язок підсистеми, яку складають перші рівнянь цієї системи, а . 

Доведення. Проведемо редукцію до розглянутого випадку системи двох рівнянь (попередня теорема 3.11). Для цього розглянемо наступну систему

  (3.28)

де , , . Очевидно, що вихідна система (3.9) та система (3.28) еквівалентні. До останньої системи застосуємо процедуру редукції на основі колекції аналогічно п. 3.2.2 та перейдемо до системи двох рівнянь відносно двох невідомих

  (3.29)

де , ; причому областями зміни невідомих та є відповідно множини і .

Вихідна система (3.9) (а також еквівалентна їй проміжна система (3.28)) та система (3.29) пов’язані природним чином, що перевіряється безпосередньо: є розв’язком системи (3.9) тоді і тільки тоді, коли та є розв’язком системи (3.29). Залишається до останньої системи (3.29) застосувати метод Гаусса для системи двох рівнянь, отримати системи типу (3.21), (3.22) та переписати їх відносно невідомих , повернувшись до систем (3.26), (3.27). 

Зауважимо, що метод Гаусса застосовувався для розв’язування систем рівнянь в САА, зокрема при доведенні принципово важливої теореми про регуляризацію мікропрограм [70; 71; 96, розд. 1, § 9, с. 46], та в повній решітці формальних мов [4, 67].

Зробимо одне загальне зауваження. Розгляд систем двох рівнянь та “неструктурованого” параметра в основному означенні рекурсії – означенні 3.2 – не обмежує загальності, оскільки за допомогою колекції та допоміжних операцій типу випадок зводиться до випадків . Техніка такої редукції продемонстрована в доведенні останньої теореми 3.12 та в підрозд. 3.2 при розгляді багатомісної рекурсії. Тому і надалі будемо розглядати, як правило, випадок . Це дозволяє, не ускладнюючи позначення, нотувати основні найважливіші положення: наприклад, вже були наведені метод Гаусса, лема про балансування, твердження про відокремлені та похідні невідомі.

Розглянемо ще один цікавий клас систем, що припускають редукцію до систем з меншим числом невідомих. Системи такого класу будуть потрібні далі при розгляді перетворень, що зберігають найменший розв’язок систем (інваріантні перетворення нерухомої точки за термінологією [123]).

Зафіксуємо в системі (3.9) деяке . Припустимо, що множини збігаються, та розглянемо систему відносно невідомих для певного , де , наступного вигляду:

  (3.30)

Отже, при система (3.30) переходить в рівняння відносно , а при вона просто збігається з вихідною системою (3.9) (тільки невідомий позначений як ).

Твердження 3.9 (семантична ознака). Припустимо, що множини збігаються і покладемо . Припустимо далі, що для функцій системи (3.9) виконуються рівності , де довільні елементи множин   відповідно. Тоді найменший розв’язок системи (3.9) та найменший розв’язок системи (3.30) пов’язані наступним чином: ,..., , . 

Доведення наведене у додатку А. 

Розглянемо один важливий частковий випадок, а саме систему наступного вигляду для деяких , де , :

  (3.31)

де функція – монотонна, а індекси невідомих не обов’язково різні та обираються з множини . Характеристична ознака системи типу (3.31) полягає в тому, що деякі рівняння мають одну й ту ж саму функцію в правій частині, невідомі розпадаються на дві частини – невідомі, що мають в правій частині рівняння саме цю функцію, та решта невідомих, причому праві частини рівнянь мають саме наведений вигляд (змістовно кажучи, залежність від невідомих першої частини регламентується).

Згідно з семантичною ознакою твердження 3.9 система (3.31) редукується до такої системи відносно невідомих та

  (3.31')

Наслідок 3.4 (про однакові функції правих частин, синтаксична ознака). Для найменшого розв’язку системи (3.31) виконується: , причому , – найменший розв’язок системи (3.31'). 

Отже, в системах вигляду (3.31) можна проводити формальну заміну невідомих на один невідомий (), найменший розв’язок при цьому зберігається.

Розв’язки систем з суперпозиціями та рекурсіями у правих частинах

Перейдемо до спеціальних рівнянь інших класів. Оскільки основними композиціями над функціями є добуток та рекурсія, то й розглянемо рівняння, функції правих частин яких побудовані саме зазначеними операціями. При цьому спираємось на замкненість класу монотонних функцій відносно добутку та рекурсії. Почнемо з рівняння, яке має добуток функцій у правій частині

 , (3.32)

де , – монотонні функції на відповідних індуктивних множинах, множина є областю зміни невідомого . Від рівняння (3.32) перейдемо до наступного рівняння, переставляючи функції у правій частині

 , (3.32')

причому множина є областю зміни невідомого . В наступному твердженні встановлюється зв’язок між множинами розв’язків рівняння (3.32) та рівняння (3.32').

Твердження 3.10. Для довільних функцій та довільного значення виконується еквівалентність: розв’язок рівняння (3.32) тоді і тільки тоді, коли для деякого розв’язку рівняння (3.32'); іншими словами, множини розв’язків пов’язані конструкцією повного образу . Зокрема, у випадку монотонності функцій правих частин рівнянь для найменших розв’язків маємо рівність . □

Доведення. Перше твердження доводиться безпосередньо або можна скористатися наступною допоміжною системою спеціального вигляду, в якій невідомі симетричні,

 

та застосувати до неї твердження 3.8 про похідні невідомі. ▫

Друге твердження безпосередньо випливає з першого або можна знову застосувати твердження 3.8 для випадку монотонності. □

Розглянемо цікавий частковий випадок рівняння (3.32), коли функції збігаються; цей випадок відповідає степеню функції.

Наслідок 3.5. Найменші розв’язки рівнянь , , де – монотонна функція на індуктивній множині , та збігаються; тобто в термальній формі –

Доведення. Позначимо , . Оскільки є розв’язком рівняння (що очевидно), то . Залишається довести обернену нерівність. З твердження 3.10, якщо замість функцій та у його формулюванні підставити функції та відповідно, випливає, що . Звідси випливає нерівність . □

Далі наведемо друге доведення останнього наслідку з використанням більш загальних міркувань. Крім того, зауважимо, що наслідок 3.5 доповнює лему 3.10 про підстановку, оскільки відповідні рівняння пов’язані саме перетворенням підстановки.

Розглянемо рівняння з рекурсією в правій частині

 , (3.33)

де – монотонна функцій на індуктивній множині , яка є областю зміни невідомого. Дійсно, оскільки клас монотонних функцій замкнений відносно рекурсії (теорема 3.3), то функція також монотонна, і можна говорити про її нерухомі точки. Розглянемо допоміжну систему

  (3.33')

де областями зміни невідомих виступає множина . Твердження 3.11 містить опис найменшого розв’язку рівняння (3.33).

Твердження 3.11. Нехай – найменший розв’язок рівняння (3.33). Тоді – найменший розв’язок системи (3.33'); зокрема, – найменший розв’язок рівняння . Навпаки, якщо – найменший розв’язок системи (3.33') (тобто ), то – найменший розв’язок рівняння (3.33). □

Доведення. Почнемо з першого твердження. Те, що – розв’язок системи (3.33'), випливає безпосередньо з вигляду рівняння, системи та означення рекурсії. Доведемо, що – найменший розв’язок. Для цього найменший розв’язок системи (3.33') позначимо через . Очевидно, що . З леми 3.9 (про балансування) випливає, що ; тобто, враховуючи рівність , маємо . Отже, – розв’язок рівняння (3.33), а – його найменший розв’язок; таким чином, встановлена нерівність ; значить, виконується рівність . Рівність випливає з встановленої рівності тривіально. ▫

Те, що , випливає з доведеного твердження та твердження 3.8 (про похідні невідомі), оскільки система (3.33') має тип системи (3.23). Нарешті, останнє твердження випливає з першого та єдності найменших розв’язків. □

Сформулюємо аналог останнього твердження для системи двох рівнянь. Розглянемо наступні три системи

  (3.34)

де , – монотонні функції на відповідних індуктивних множинах, множина область зміни невідомого , а множина область зміни невідомих , (точніше говорячи, у системі (3.34) є зв’язаною змінною, а в наступній – невідомим);

  (3.34')

  (3.34'')

Зауважимо, що друге рівняння системи (3.34) має операторну форму запису .

Твердження 3.12. Нехай – найменший розв’язок системи (3.34), тоді – найменший розв’язок системи (3.34'), а – найменший розв’язок системи (3.34''). Навпаки, якщо – найменший розв’язок системи (3.34') (або – найменший розв’язок системи (3.34'')), то – найменший розв’язок системи (3.34). □

Доведення проводиться аналогічно як для попереднього твердження 3.11. При переході від системи (3.34') до (3.34'') застосовується твердження 3.8 про похідні невідомі (невідомий виключається, а потім невідомий перепозначається знову як ). □

Сформулюємо аналоги наведених тверджень для довільних систем з рекурсіями у правих частинах, зокрема з багатомісними рекурсіями, що відповідають декільком параметрам. Для цього розглянемо системи рівнянь з цією рекурсією в правих частинах; в загальному випадку такі системи мають вигляд

  (3.35)

де – монотонні функції, , множини – індуктивні; – також монотонні функції, , множини індуктивні, причому . Оскільки клас монотонних функцій замкнений відносно рекурсії, то згідно з означенням багатомісної рекурсії в останньому рівнянні системи маємо , причому ця функція монотонна. Отже система (3.35) має вигляд вихідної системи (3.9). Для опису найменшого розв’язку системи (3.35) розглянемо наступну систему відносно невідомих та її підсистему відносно невідомих та параметрів :

  (3.35')

  (3.35'')

В наступному твердженні встановлюється зв’язок між найменшими розв’язками останніх трьох систем.

Твердження 3.13. Нехай – найменший розв’язок системи (3.35), а – найменший розв’язок системи (3.35'') при значеннях параметрів . Тоді , – найменший розв’язок системи (3.35'). Навпаки, якщо , – найменший розв’язок системи (3.35'), то – найменший розв’язок системи (3.35), а – найменший розв’язок системи (3.35'') при значеннях параметрів . 

Доведення в цілому успадковує схему доведення твердження 3.11. Встановимо першу частину твердження 3.13. Нехай , – такі як у формулюванні, доведемо, що це найменший розв’язок системи (3.35'), який позначимо через ,. Спочатку покажемо, що , – розв’язок системи (3.35'). Перші та останні рівнянь системи задовольняються тривіально, а рівність випливає з означення рекурсії. Отже ,...,. Доведемо обернені нерівності. З леми 3.9 (про балансування) випливає, що – найменший розв’язок системи (3.35'') при значеннях параметрів , тобто . Враховуючи рівність , маємо . Звідси випливає, що – розв’язок системи (3.35); але – найменший розв’язок тієї ж системи; таким чином ,...,. Рівності ,...,. встановлені. Рівності ,...,. випливають з встановлених рівностей очевидним чином. ▫

Друга частина твердження 3.13 випливає з першої та єдності найменшого розв’язку. □

Нарешті, зі застосуванням твердження 3.8 про похідні невідомі можна дещо спростити систему (3.35'); а саме виключити невідомий та розглядати наступну систему (кажучи більш детально, згідно з твердженням 3.8 виключається невідомий , а потім невідомий перепозначається знову як ):

  (3.35''')

З очевидними модифікаціями твердження 3.13 залишається вірним при заміні системи (3.35') на систему (3.35''').

Зауважимо, що твердження 3.13 уточнює такий метод перетворення рекурсивних схем програм, як розкриття рекурсивних викликів функцій [105].

Підстановка значень функцій замість параметрів

Зробимо декілька елементарних зауважень про підстановку функцій замість параметрів у рівняннях та в системах рівнянь. Розглянемо наступне рівняння відносно невідомого з параметром

 , (3.36)

де функція, монотонна за другим аргументом, а (абстрактна) функція; тут деяка індуктивна множина, а деяка (абстрактна) множина. Розв’язування цього рівняння зводиться до розв’язування рівняння загального вигляду . Дійсно, очевидно, що множина розв’язків рівняння (3.36) при довільному значенні параметра збігається з множиною розв’язків рівняння при значенні параметра . Зокрема, для найменших розв’язків в термальній формі запису маємо

 . (3.37)

Вище позначає операцію суперпозиції замість змінної для функцій, заданих термально.

Для рівняння з декількома параметрами вигляду (3.7) маємо наступний аналог останньої рівності функцій

   (3.37')

зокрема, для константних функцій

  (3.37'')

Тут позначає операцію суперпозиції замість змінних .

Нарешті, для систем рівнянь з декількома параметрами також має місце аналог рівнянь (3.37)-(3.37''). А саме, розглянемо систему (3.18), причому значеннями параметрів виступають значення відповідно функцій однакової арності для визначеності; іншими словами, треба розглянути систему відносно невідомих та параметрів :

  (3.37''')

Системи (3.18) та (3.37''') пов’язані природним очевидним чином – для довільних значень параметрів виконується: множина розв’язків системи (3.37''') збігається з множиною розв’язків вихідної системи (3.18), в якій значеннями параметрів є відповідно значення функцій ,...,; зокрема, в припущенні монотонності функцій, найменший розв’язок системи (3.37''') при довільних значеннях параметрів збігається з найменшим розв’язком системи (3.18) при вказаних значеннях параметрів.

Перетворення, що зберігають найменші розв’язки

Наведемо друге доведення наслідку 3.5 про збереження найменшого розв’язку при перетворенні підстановки для рівнянь, тобто покажемо, що найменші розв’язки двох наступних рівнянь збігаються:

 , (3.38)

 . (3.38')

Рівняння (3.38') отримується з рівняння (3.38) формальною заміною невідомого на свою праву частину. Очевидно, що множина розв’язків при цьому, взагалі кажучи, розширюється.

Твердження 3.14. Найменші розв’язки рівнянь (3.38), (3.38') збігаються. □

Доведення. Розглянемо дві допоміжні системи рівнянь

  (3.39)

  (3.39')

Згідно з лемою 3.10 (про підстановку) системи (3.39) і (3.39') еквівалентні. Система (3.39') має спеціальний вигляд, тому згідно з твердженням 3.7 (про відокремлені невідомі) її найменший розв’язок має ту властивість, що є найменшим розв’язком рівняння (3.38'). Залишається застосувати наслідок 3.4 (про однакові функції правих частин) при до системи (3.39), яка теж має спеціальний вигляд: для її найменшого розв’язку виконується рівність , причому є найменшим розв’язком рівняння (3.38). Отже, найменші розв’язки рівнянь (3.38), (3.38') дійсно збігаються. □

Розгляд систем рівнянь не вносить нічого принципово нового. Сформулюємо відповідне твердження для системи двох рівнянь (3.19); для цього розглянемо наступну систему

  (3.40)

яка отримується заміною у правій частині другого рівняння невідомого на свою праву частину.

Твердження 3.15. Найменші розв’язки систем (3.19) та (3.40) збігаються. □

Доведення. Розглянемо наступну допоміжну систему

  (3.40')

Ця система має спеціальний вигляд; застосуємо до її найменшого розв’язку твердження 3.8 (про похідні невідомі); тоді – найменший розв’язок системи (3.40). Далі, застосуємо до тієї ж системи (3.40') наслідок 3.4 (про однакові функції правих частин) при , тоді , причому – найменший розв’язок системи (3.19). □

Нарешті, дослідимо перетворення підстановки при розгляді різних входжень однакових невідомих; почнемо з випадку двох входжень і розглянемо рівняння

 , (3.41)

 , (3.41')

де монотонна функція на індуктивній множині .

Твердження 3.16. Найменші розв’язки рівнянь (3.41), (3.41') збігаються. □

Доведення проводиться аналогічно твердженням 3.14, 3.15; треба тільки розглянути допоміжну систему

 □

Розглянемо тепер заміну деяких входжень невідомого на найменший розв’язок. Отже, нехай , і від рівняння (3.41) переходимо до наступного рівняння

 . (3.41'')

Очевидно, що при такому перетворенні треба розглядати різні входження одного невідомого та заміну одного входження, бо інакше (тобто при заміні всіх входжень) будується тривіальне рівняння вигляду .

Твердження 3.17. Найменші розв’язки рівнянь (3.41) та (3.41'') збігаються. □

Доведення. Розглянемо дві допоміжні системи відносно невідомих

  (3.42)

  (3.42')

Згідно з лемою 3.10 (про підстановку) ці системи еквівалентні. Оскільки система (3.42') має спеціальний вигляд (невідомі відокремлені), то, зважаючи на твердження 3.7, – найменший розв’язок системи (3.42'), а, значить, і системи (3.42). Застосуємо лему 3.9 (про балансування) та рівність до системи (3.42): ; отже – розв’язок рівняння (3.41''). □

Аналогічно розглядається випадок більшої кількості входжень невідомого. Наприклад, для рівняння , де , треба перейти до такої допоміжної системи відносно невідомих  

 

Дослідимо подібні перетворення для систем. Для спрощення запису почнемо з випадку двох невідомих. Отже, розглянемо систему (3.19), через позначимо її найменший розв’язок та перейдемо до наступних систем, що отримуються заміною в правих частинах рівнянь невідомих на свої значення в найменшому розв’язку

  (3.43)

  (3.43')

  (3.43'')

  (3.44)

  (3.44')

  (3.44'')

Групування систем при нумерації цілком природне: в системах (3.43) – (3.43'') замінюються невідомі, які відрізняються від невідомого у лівій частині; в системах (3.44)-(3.44''), навпаки, замінюються невідомі лівих частин рівнянь. Далі, оскільки невідомі рівноправні, то системи (3.43), (3.43'), а також (3.44), (3.44') по суті збігаються. Нарешті, системи (3.43'') та (3.44'') будуються двома послідовними перетвореннями, які відповідають замінам окремих невідомих.

Твердження 3.18. Найменші розв’язки систем (3.43)-(3.44'') збігаються з найменшим розв’язком вихідної системи (3.19). Іншими словами, при замінах в правих частинах рівнянь невідомих на їх значення в найменшому розв’язку вихідної системи найменший розв’язок системи не змінюється. 

Доведення. Випадок систем (3.43)-(3.43'') очевидний, бо треба просто застосувати лему 3.9 про балансування та твердження 3.7 про відокремлені невідомі. ▫

Розглянемо систему (3.44); як зазначалося вище, цього цілком достатньо. Застосуємо метод Гаусса (теорема 3.11) до систем (3.19), (3.44) і від цих систем перейдемо до наступних, що мають ті ж найменші розв’язки:

  (3.19*)

  (3.44*)

Найменший розв’язок системи (3.44*) позначимо як . За тим же методом Гаусса маємо , , залишається застосувати твердження 3.17 про заміну входження невідомого на найменший розв’язок. Отже, , рівність випливає з доведеної рівності тривіально.

Доведення для систем можна проводити і іншим шляхом. Наприклад, для системи (3.44) треба розглянути таку проміжну систему

  (3.45)

Ця система за лемою 3.10 про підстановку еквівалентна наступній системі

 

В останній системі невідомі відокремлені, тому її найменший розв‘язок має вигляд , де – як і раніше найменший розв‘язок вихідної системи (3.19), а . Залишається застосувати до системи (3.45) лему про балансування та врахувати встановлену рівність :  – найменший розв‘язок системи (3.44). 

Наведемо узагальнення наведених результатів про інваріантні перетворення. Для цього введемо декілька означень. Нехай – множина формальних рівностей, де – невідомі (змінні), а – терми, побудовані з функціональних символів і невідомих Запис означає, що терм будується з терму заміною деяких входжень змінних на терми (підстановка згідно системі рівностей ). Транзитивне замикання відношення позначимо через . Розглянемо систему вигляду

   (3.46)

де функції правих частин зображаються термами, побудованими з символів монотонних функцій на індуктивних множинах та невідомих . Нехай – найменший розв‘язок системи (3.46). Розглянемо наступну систему

  (3.47)

де , ; .

Теорема 3.13 (інваріантні перетворення найменшого розв’язку системи рівнянь). Найменші розв‘язки систем (3.46) і (3.47) збігаються. Іншими словами, при многократних замінах невідомих на свої праві частини або на свої найменші розв‘язки найменший розв‘язок системи не змінюється. 

Доведення проводиться індукцією по числу застосувань підставок; при цьому використовується техніка, продемонстрована при доведенні тверджень цього пункту. 

Частковий випадок цієї теореми для і відомий для рекурсивних програм як теорема Війемана (Vuillemin) про інваріантні перетворення нерухомої точки [123, теорема 5.7]:

Взаємозв’язок між операціями суперпозиції та рекурсії

Наступні три твердження за суттю є переформулюванням встановлених у попередніх пунктах фактів для систем рівнянь щодо підстановки значень функцій замість параметрів, розв‘язування систем з відокремленими невідомими та з рекурсією в правих частинах рівнянь. Для спрощення ситуації почнемо з дослідження взаємозв’язку між добутком та найпростішою рекурсією вигляду . Почнемо з випадку, коли у добутку друга функція є значенням операції рекурсії.

Твердження 3.19. Для довільної функції та довільної функції , монотонної за другим аргументом, виконується рівність , де функція зображується термом (порядок змінних – ; – параметр, – невідомий). □

Доведення випливає з рівності (3.37) про підстановку значень функцій замість параметрів у рівняння. 

Розгляд суперпозиції загального вигляду та рекурсій , не вносить нічого принципово нового. Наприклад, для аналогічної редукції виразу треба просто скористатись встановленим раніше зв’язком між системами рівнянь (3.18) та (3.37'''). Зауважимо, що коли записати рекурсію, індуковану системою (3.37'''), в операторному вигляді при порядку параметрів та невідомих , то отримуємо одну з рівностей доведення теореми про нормальну форму похідних композицій [129].

Нехай тепер порядок функцій у добутку змінюється на інверсний.

Твердження 3.20. Для довільної функції , монотонної за другим аргументом, та довільної монотонної функції виконується рівність , де функції та мають наступні термальні зображення , (порядок змінних – ; далі буде параметром, а – невідомими саме в такому порядку). 

Доведення. Покажемо, що значення функцій лівої та правої частин рівності, яка встановлюється, збігаються на довільному значенні . Для лівої частини маємо . Згідно з означенням багатомісної рекурсії та визначеннями функцій значення правої частини є значенням у найменшому розв’язку системи рівнянь відносно невідомих , вигляду

 

Але наведена система має спеціальний вигляд (невідомі відокремлені), і треба тільки застосувати твердження 3.7: . 

Як і в попередньому випадку розгляд суперпозиції та рекурсії загального вигляду не вносить нічого принципово нового. Наприклад, для аналогічної редукції виразу , де – -арна, , – -арні, а – -арні функції, треба розглянути наступну систему відносно невідомих та параметрів , в якій невідомі відокремлені

 

І знову ж, зафіксувавши порядок параметрів та невідомих і переписавши функції останньої системи в операторній формі, отримаємо другу рівність з доведення теореми про нормальну форму похідних композицій [129].

Переходячи до рекурсій, спочатку розглянемо редукцію виразів вигляду . Для спрощення позначень, як і раніше, почнемо з випадку .

Твердження 3.21. Для довільної функції , монотонної за другим та третім аргументами, де множина індуктивна, виконується рівність , де функція має термальне зображення (порядок змінних – ; – параметр, – невідомий); іншими словами, в термальній формі

 . □

Доведення. Розглянемо довільне значення та встановимо збіжність значень функцій правої та лівої частин рівності, яка перевіряється. Значення функції лівої частини на дорівнює найменшому розв’язку рівняння

 . (3.48)

Зведемо це рівняння до рівняння типу (3.33) з рекурсією у правій частині. Для цього позначимо функцію у правій частині рівняння (3.48) через . Але ця функція отримується з бінарної функції підстановкою константи замість першого аргументу; тому згідно з рівністю (3.37'') маємо наступне термальне зображення функції – , де функція має термальний вигляд . Отже, рівняння (3.48) має вигляд та залишається застосувати до нього твердження 3.11 про найменші розв’язки рівнянь з рекурсією у правій частині:

 . □

Як і у двох розглянутих випадках багатомісна рекурсія не вносить нічого нового – просто треба скористатись твердженням про розв’язки систем рівнянь з рекурсією у правих частинах (твердження 3.13). Зокрема, для редукції виразу , де функції мають арність , а функції – арність , треба згідно з твердженням 3.13 перейти до наступної системи рівнянь з параметрами та невідомими

  (3.49)

Записавши функції в правих частинах цієї системи в операторній формі при порядку на параметрах і невідомих ,, як і раніше отримуємо останню рівність з теореми про нормальну форму похідних композицій. Зауважимо, що останню систему та відповідно згадувану рівність можна дещо спростити шляхом виключення похідного невідомого з системи (3.49).

Похідність багатомісної рекурсії

З методу Гаусса, який зводить розв’язування систем рівнянь до розв’язування окремих рівнянь, випливає похідність багатомісної рекурсії відносно унарної рекурсії, суперпозиції, а також селекторів.

Теорема 3.14 (про похідність багатомісної рекурсії). Рекурсія , , , є похідною відносно рекурсії , унарної рекурсії , суперпозиції та селекторів. 

Доведення. Розглянемо спочатку випадок багатомісної рекурсії вигляду та покажемо її похідність відносно унарних рекурсій , , суперпозиції та селекторів (таким чином, розглядається випадок , ). Отже, треба дослідити систему відносно невідомих та параметра

  (3.50)

Застосуємо поки що формально метод Гаусса до цієї системи та послідовно перейдемо до наступних систем

  (3.51)

  (3.51')

Тепер покажемо, що при довільному значенні параметра найменші розв’язки систем (3.51) та (3.50) збігаються (тобто метод Гаусса можна застосовувати при розв’язуванні систем з параметрами). При фіксуванні значення параметра початкова система (3.50) переходить в наступну систему

  (3.50')

де функції та отримуються з функцій фіксацією першого аргументу вказаним значенням. До системи (3.50') застосуємо метод Гаусса (теорема 3.11) та перейдемо до наступної системи з тим самим найменшим розв’язком

 

З вигляду системи (3.51) випливає, що достатньо встановити рівність функції та функції, що отримується з функції правої частини другого рівняння системи (3.51) фіксацією першого аргументу значенням – в термальній формі . Але ця рівність випливає з рівності (3.37'') про підстановки констант замість параметрів у рівняння (вона була також встановлена при доведенні твердження 3.21). Таким чином, при довільному значенні параметра найменші розв’язки системи (3.50) та (3.51) збігаються.

Що стосується систем (3.51) та (3.51'), то при довільному значенні параметра їх множини розв’язків збігаються. Цей факт доводиться безпосередньо з використанням леми 3.10 про підстановку. Нарешті, при довільному значенні параметра згідно з теоремою 3.11 (метод Гаусса) для значення невідомого в найменшому розв’язку систем (3.50), (3.51') виконується рівність . Звідси за означенням багатомісної рекурсії в термальній формі маємо рівність . Залишається переписати останню рівність в операторній формі – (порядок параметра та невідомого – ). Оскільки – довільні фіксовані функції, а всі переходи між системами не залежать від цих функцій, тобто переходи здійснюються рівномірно за , то останнє операторне рівняння і доводить твердження про похідність рекурсії . ▫

Розгляд загального випадку рекурсії не привносить нічого нового, просто від вихідної системи (3.18) за методом Гаусса треба перейти до наступної системи

  

З доведеної теореми безпосередньо випливає наступний наслідок.

Наслідок 3.6. Багатомісна рекурсія , , є похідною відносно унарних рекурсій , , суперпозицій та селекторів. □

Оцінки найменших розв‘язків

Дамо верхню оцінку найменшого розв’язку системи рівнянь вигляду (3.9) для монотонних функцій правих частин рівнянь. Ця оцінка узагальнює оцінку твердження 1.12, у якому наведена верхня оцінка найменшої нерухомої точки монотонної функції на індуктивній множині.

Наслідок 3.7 (верхня оцінка найменшого розв’язку системи рівнянь). Нехай довільні значення, такі, що , . Тоді в припущенні монотонності функцій правих частин , , має місце така верхня оцінка найменшого розв’язку системи (3.9): , . □

Доведення проводиться аналогічно доведенню твердження 1.12 з використанням ординального зображення найменшого розв’язку системи рівнянь, наведеного у теоремі 3.6. □

У теорії рекурсивних програм для рівнянь (тобто для індуктивної множини часткових функцій, упорядкованих за включенням їхніх графіків, ) наведена у останньому наслідку верхня оцінка відома як теорема Парка (Park) про індукцію нерухомої точки [123, розд. 5, теорема 5.8].

Дамо нижню оцінку найменшої нерухомої точки монотонної функції на індуктивній множині для випадку, коли функція зображається деяким термом , побудованим із символів монотонних функцій на індуктивних множинах та змінної : .

Теорема 3.15 (нижня оцінка найменшої нерухомої точки монотонної функції, зображеної термом). Нехай терми , такі, що , , , де . Тоді виконуються нерівності:

 ; , ; . □

Доведення. За побудовою термів функція, що зображається термом , будується суперпозицією з функцій, які зображаються термами , , . Тому всі функції, що зображаються термами , монотонні. Перша нерівність випливає з монотонності всіх цих функцій та побудови термів; дійсно, виділяючи у термі всі входження змінної, які замінювались при побудові терму з терму , можна записати . Звідси та з очевидної нерівності випливає шукана нерівність

 . ▫

Перша нерівність другого ланцюжка нерівностей очевидна ( – початкове наближення до розв‘язку , а друга нерівність випливає з імплікації для всіх , яка доводиться індукцією за (тобто множина розв’язків рівняння – це надмножина множини розв’язків початкового рівняння , і тому найменший розв’язок першого з цих рівнянь менший найменшого розв’язку другого рівняння). Зауважимо, що має місце більш сильне твердження , яке випливає з теореми 3.13 про інваріантні перетворення. Перейдемо до останньої нерівності. ▫

Існування супремуму випливає з того, що множина ланцюг за встановленою першою нерівністю. Залишається врахувати, що згідно зі встановленим другим ланцюжком нерівностей розв’язок є верхньою гранню цього ланцюга. 

Для рекурсивних програм теорема 3.15 відома як теорема Кадью (Cadiou) [123, теорема 5.3].

Добре відомо, що у випадку, коли терм будується зі символів неперервних функцій. Тут, як звичайно, , , . Наведемо верхню оцінку елементів , використовуючи відношення конфінальності , яке вводилося у п. 1.3.1.

Теорема 3.16. Нехай терми такі, що , , , де . У кожному термі виділимо всі входження змінної, які замінювались при побудові терму за термом : . Тоді виконується нерівність , де . □

Доведення проводиться індукцією за . Основна ідея доведення полягає у тому, що розгляд множини термів забезпечує зростання відповідних дерев, які апроксимують значення , “у глибину”, а наявність в оцінці найменшого розв’язку – “у глибину та ширину”. □

Складність застосування цієї оцінки полягає у використанні в ній найменшого розв’язку . Зауважимо, що якщо терм будується за термом згідно з правилом повної підстановки (тобто замінюються всі входження невідомого), то найменший розв’язок узагалі не присутній в оцінці, а сама оцінка вироджується – її права частина збігається з лівою. Отже, для встановлення відомого твердження про те, що правило повної підстановки є правилом обчислення нерухомої точки (за термінологією [123, п. 5.2.2, с. 66]), достатньо скористатися тільки зображенням найменшої нерухомої точки неперервних функцій.

Верхня оцінка теореми 3.16 робить зрозумілим і природним означення безпечної підстановки у теорії рекурсивних програм; крім того, ця оцінка ключова при встановленні теореми Війємана (Vuillemin) про безпечні правила обчислення в теорії рекурсивних програм [123, розд. 5, теорема 5.4].

Основні результати розд. 3 наступні.

  1. Встановлена монотонна залежність найменшої нерухомої точки від вихідної монотонної функції на індуктивній множині (теорема 3.1).
  2. Встановлена монотонність рекурсії та замкненість класу монотонних функцій відносно рекурсії (теореми 3.2, 3.3 для унарної рекурсії, теорема 3.9 для багатомісної).
  3. Доведена неперервність обмежень рекурсій на неперервні функції та замкненість класу неперервних функцій відносно рекурсії (теореми 3.4 та 3.5 для унарної рекурсії, теорема 3.10 для багатомісної).
  4. Обґрунтована коректність застосування методу розв‘язування систем шляхом послідовного виключення невідомих – методу Гаусса (теореми 3.11, 3.12).
  5. Наведені описи найменших розв‘язків систем рівнянь з суперпозиціями та рекурсіями у правих частинах (твердження 3.10, 3.11, 3.12, 3.13, наслідок 3.5).
  6. Доведено, що перетворення, пов‘язані з замінами невідомих на свої праві частини або на значення у найменшому розв‘язку, не змінюють найменший розв‘язок (твердження 3.14, 3.15, 3.16, 3.17, 3.18 та їхнє узагальнення – теорема 3.13).
  7. Встановлений взаємозв‘язок між суперпозицією та рекурсією (твердження 3.19, 3.20, 3.21), показана похідність багатомісної рекурсії відносно унарних рекурсій та суперпозицій (теорема 3.14 та наслідок 3.6).
  8. Наведені нижні та верхні оцінки найменших розв‘язків, які узагальнюють оцінки Парка, Кадью та Війємана в теорії рекурсивних програм (наслідок 3.7, теореми 3.15 та 3.16).

З цих результатів випливають такі висновки.

  1. Розв‘язки монотонно залежать від монотонної функції правої частини, параметру та початкового наближення; розв‘язки неперервно залежать від неперервної функції правої частини, параметру та початкового наближення. Отже, властивість монотонності чи неперервності тут успадковується.
  2. Розв‘язування систем рівнянь з рекурсіями та суперпозиціями у правих частинах зводиться до розв‘язування систем з вихідними функціями у правих частинах, але сплачувати за це треба збільшенням кількості невідомих і рівнянь. Звідси у свою чергу випливає, що операцію, побудовану рекурсіями та суперпозиціями, можна побудувати однократним застосуванням рекурсії, причому на останньому кроці синтезу.
  3. Багатократні перетворення підстановки не змінюють найменший розв‘язок системи рівнянь з монотонними правими частинами.
  4. Низка важливих фактів теорії рекурсивних програм (теорема Парка про індукцію нерухомої точки, теорема Кадью, теореми Війємана про безпечні правила обчислення та про інваріантні перетворення нерухомої точки) залишаються вірними для монотонних функцій на довільних індуктивних множинах.


Маніпулювання даними

Мета розділу полягає у заданні формальних моделей маніпуляційних дій в базах даних. Під мініпуляційними діями розуміються дії, пов‘язані тільки з перебудовою структури аргументів, а не з обчисленням компонент структур даних.

Об‘єкт дослідження – формальні моделі маніпуляційних дій, якими виступають функції, що зберігають денотати, та програмні алгебри композиційного типу таких функцій. В цьому випадку універсум даних розглядається як оцінений, тобто фіксується відображення, яке зіставляє даному множину його компонент. До програмних алгебр відносяться примітивні програмні алгебри та програмні алгебри іменних функцій. Носіями примітивних програмних алгебр виступають класи багатомісних часткових функцій та предикатів, а сигнатури складаються з композицій підстановки, розгалуження та циклувань. Носіями програмних алгебр іменних функцій виступають класи іменних функцій та предикатів, а сигнатури містять композиції добутку, розгалуження, циклування та суперпозиції за значенням. При цьому сигнатурні операції зазначених алгебр являються моделями загальнозначних керуючих структур мов програмування.

Основна проблематика для програмних алгебр полягає у дослідженні повноти класів функцій, що зберігають денотати, тобто в знаходженні систем породжуючих алгебр. Методика дослідження – формальне уточнення характеристичної властивості маніпуляційності у вигляді вимоги скінченності так званої характеристики функції та встановлення зв‘язків між характеристиками функцій при застосування до функцій основних програмологічних операцій. При розв’язуванні проблем повноти різних класів обчислюваних функцій, що зберігають денотати, методика полягає у моделюванні класичної обчислюваності функціями, що зберігають денотати, та встановленні зображень таких функцій.

Основні результати розділу: уточнення маніпуляційності дії у вигляді функції, що зберігає денотати; введення основного поняття – характеристики функції – та встановлення основних властивостей характеристик, зокрема, зв‘язків між характеристиками функцій-аргументів та функцій-результатів для основних програмологічних операцій (підстановка, розгалуження, циклування, рекурсія); розповсюдження поняття збереження денотатів з функцій на композиції та встановлення збереження (чи незбереження) денотатів для основних композицій; визначення взаємного положення класів функцій, що зберігають денотати, та обчислюваних функцій; встановлення природних необхідних умов повноти для програмних алгебр у випадку оціненого універсуму; знаходження систем породжуючих для примітивної програмної алгебри обчислюваних векторних функцій, що зберігають денотати, та низки програмних алгебр іменних обчислюваних функцій, що зберігають денотати відносно природних оцінок універсуму іменних даних.

Основні результати розділу опубліковані в [22, 23, 26, 35, 42, 47, 54, 56, 137]. У спільно виконаних роботах науковому консультанту В. Н. Редьку належить загальна постановка проблеми, характеристична властивість маніпуляційності для головної оцінки універсуму іменних даних, визначення сигнатурних операцій програмних алгебр [137], С. П. Загорському – встановлення нескорочуваності систем породжуючих програмних алгебр іменних функцій [23, 137], Ю.Й.Броні – проведення доведень еквівалентності різних означень іменних даних [47] та І. В. Редьку – знаходження систем породжуючих примітивних програмних алгебр функцій, що зберігають денотати, для оцінених універсумів матриць, реляцій та таблиць [54, 56].

Функції, що зберігають денотати

Основні поняття та властивості

Зафіксуємо універсум , елементи якого позначимо , під функціями (предикатами) будемо розуміти часткові -арні операції (предикати) на ; Як і раніше, функції позначатимемо , предикати – ; для випадку, коли не істотно, що мається на увазі – функція чи предикат, застосовуватимемо позначення ,...

Зафіксуємо множину та відображення вигляду , яке назвемо оцінкою; універсум назвемо оціненим. Елементи булеану позначатимемо ,…

Основна інтерпретація оцінки: елементи універсуму будуються з елементів множини (іншими словами, – множина початкових елементів), і – множина елементів множини , які використовуються при побудові елементу . Елементи множини назвемо праелементами (urelements) [175, розд. 9, с. 348] згідно з термінологією аксіоматичної теорії множин.

Природні оцінки з’являються при розгляді структурних об’єктів: векторів, матриць, таблиць, іменних даних. Останні два випадки найбільш цікаві і будуть розглядатися окремо у наступних підрозділах 5.2, 4.3.

Вперше поняття функції, що зберігає денотати, з’явилося у роботі [10], в якій розглядався універсум іменних даних і конкретна оцінка , що зіставляла іменному даному скінченну множину його денотатів. У наступному означенні узагальнюється означення з [10] шляхом розширення поняття збереження денотатів на багатомісні функції та розглядом довільної фіксованої оцінки.

Означення 4.1. Скажемо, що -арна функція  зберігає -денотати (або є функцією, що зберігає -денотати), якщо існує скінченна множина така, що виконується

 . □ (4.1)

Основна інтерпретація збереження денотатів: функція, що зберігає денотати, формує результат, змінюючи структуру своїх аргументів, можливо поповнюючи результат праелементами зі скінченної фіксованої для функції множини (множина означення). Так, загальнозначні функції над векторами типу конкатенації, вилучення (виділення) першої компоненти, поповнення вектора фіксованим елементом, дублювання якоїсь компоненти і т.і. зберігають денотати при природній оцінці, яка вектору зіставляє множину його компонентів. Всі сигнатурні операції табличних алгебр (об’єднання, перетин та різниця, селекція, проекція, з’єднання, ділення, перейменування, активне доповнення) зберігають денотати при аналогічній оцінці; ці алгебри будуть докладно розглядатися у наступному розділі.

Для кожної функції розглянемо сім’ю множин , де через позначена формула (4.1), та множину праелементів . Останню множину назвемо -характеристикою функції .

У наступній лемі наведений зв’язок між сім’єю та множиною . Оскільки оцінка зафіксована, то в очевидних випадках явно згадувати про неї не будемо.

Лема 4.1. Сім’я множин є верхнім конусом в булеані  -характеристики . □

Доведення наведене у додатку А. □

Таким чином, з встановленої леми випливає, що характеристика є найменшою (за теоретико-множинним включенням) множиною, для якої виконується формула (4.1). З цієї ж леми випливає наслідок про устрій сім’ї множин .

Наслідок 4.1. Ч. в. м. є повною підрешіткою повної решітки , маючи нулем (тобто найменшим елементом) характеристику та одиницею (тобто найбільшим елементом) множину ; зокрема, . □

Таким чином, довільна множина сім’ї є верхньою оцінкою (тобто надмножиною) для характеристики функції. Тепер можна сформулювати критерій збереження денотатів.

Твердження 4.1 (критерій збереження денотатів у термінах характеристик). Функція зберігає денотати тоді і тільки тоді, коли її характеристика скінченна. □

Доведення. Необхідність. Нехай функція зберігає -денотати, тоді сім’я містить хоча б одну скінченну множину, яка згідно з лемою 4.1 є надмножиною характеристики; отже, характеристика також скінченна. Достатність також випливає з цієї леми (точніше з належності ). □

Означення 4.2. Скажемо, що функція сильно зберігає -денотатифункцією, яка сильно зберігає -денотати), якщо її -характеристика є порожньою множиною. □

Таким чином, з леми 4.1 випливає, що функція сильно зберігає денотати тоді і тільки тоді, коли виконується формула (4.1) при ; саме так і водилося поняття сильного збереження денотатів у [10].

Цікаво зауважити, що поняття збереження носія аргументу, яке розглядається в [156, 157], по суті збігається з поняттям сильного збереження денотатів при відповідному виборі оціненого універсуму.

Основна інтерпретація сильного збереження денотатів: функція, що сильно зберігає денотати, формує результат тільки змінюючи структуру своїх аргументів без додавання жодних нових праелементів. Усі наведені вище приклади функцій над векторами, крім функції поповнення вектора фіксованим елементом, сильно зберігають денотати при вказаній оцінці; аналогічна ситуація має місце і для сигнатурних операцій табличних алгебр.

Очевидно, що найпростішим прикладом функції, яка сильно зберігає денотати при довільній оцінці, є селекторна функція та всюди невизначена функція . Найпростішим прикладом функції, яка, взагалі кажучи, не є функцією, що сильно зберігає денотати, виступає часткова константна функція. Ситуацію прояснює наступна лема, в якій йдеться мова при характеристики часткових константних функцій вигляду , де множина – область означеності функції.

Лема 4.2 (про характеристики константних функцій). Виконується рівність ; зокрема, якщо , то . □

Доведення. За означенням характеристики та стандартною теоретико-множинною рівністю маємо: . Друге твердження випливає з доведеної рівності, оскільки у цьому випадку існує елемент такий, що . □

Зауважимо, що рівність цієї леми виконується і для випадку , тобто для всюди невизначеної функції (природно, якщо прийняти стандартну домовленість про перетин за порожньою множиною індексів).

Таким чином, згідно з лемою 4.2, збереження денотатів константними функціями цілком визначається оцінкою ; зокрема, якщо оцінка є сюр’єктивним відображенням вигляду , де як і раніше – сім’я всіх скінченних підмножин множини , то всі константні функції зберігають денотати, причому для характеристик тотальних константних функцій виконується рівність .

Характеристики функцій та програмологічних операцій

Перейдемо до властивостей характеристик функцій. Поряд з загальними властивостями характеристик будемо цікавитися характеристиками функцій, які задаються основними програмологічними операціями – підстановкою часткових функцій (див. п. 2.3.3, означення 2.4), розгалуженням унарних часткових функцій за унарним предикатом (див. п. 2.3.5), циклуванням унарної часткової функції за унарним частковим предикатом * (це циклування співпадає з циклуванням , яке вводиться у п. 4.2.1 при розгляді ППА; див. також [9, 48]) та рекурсіями різних видів (див. розд. 3, означення 3.2, 3.4, 3.6, 3.6’). Для рекурсій з метою спрощення позначень розглянемо випадок рекурсії вигляду ; зрозуміло, що множина при цьому покладається індуктивною.

Теорема 4.1 (властивості характеристики). Виконуються наступні твердження:

  1. характеристика дистрибутивна відносно об’єднань сумісних сімей функцій: , де всі функції сім’ї мають однакову арність, а сама сім’я функцій сумісна7;
  2. характеристика монотонна відносно теоретико-множинного включення: ;
  3.  , де – -арна функція, а функції мають однакову арність;
  4.  , де предикат і функції унарні;
  5.  , де предикат і функція унарні;
  6. якщо оцінка є неперервною функцією з індуктивної множини у повну решітку , то , де рекурсія має вигляд , а – дно індуктивної множини . □

Доведення. Перше твердження доводиться безпосередньо, виходячи з означення характеристики, друге твердження випливає з першого. ▫

Розглянемо третє твердження щодо підстановки. Однакову арність функцій позначимо як , покладемо . Випадок, коли тривіальний (нагадаймо, що ); тому розглянемо довільний кортеж . Згідно з лемою 4.1 маємо ланцюжок включень:

 

Оскільки кортеж довільний, то , тобто об’єднання характеристик вихідних функцій є верхньою оцінкою характеристики ; отже . ▫

Четверте твердження можна довести безпосередньо аналогічно попередньому твердженню, а можна скористатися вже встановленими властивостями характеристик та зображенням розгалуження через об’єднання та обмеження (див. п. 2.3.5, формула (2.7)). Дійсно, згідно з встановленими дистрибутивністю та монотонністю характеристик маємо:

 . ▫

Твердження щодо характеристик функцій, отриманих циклуванням, можна встановити безпосередньо аналогічно випадку підстановки. Крім того, можна скористатись наступним цікавим зображенням циклування через теоретико-множинні конструкції рефлективно-транзитивного замикання, обмеження бінарного відношення за множиною та приведення бінарного відношення за множиною. Остання конструкція задається так . Очевидно, що конструкції обмеження та приведення пов’язані наступним чином за допомогою інверсії: .

Що ж до зображення функції , то неважко перевірити рівність

 . (4.2)

Тепер, виходячи з монотонності та дистрибутивності характеристик, монотонності підстановки, а також встановленого твердження для підстановки8, маємо:

 ▫

Переходячи до останнього твердження теореми, покладемо . Оскільки за означенням рекурсії функція всюди визначена, розглянемо довільний елемент та оцінимо множину . Для цього скористаймося ординальним зображенням значення , яке випливає з теореми 3.1 про нерухому точку монотонних функцій: , де , .

Трансфінітною індукцією встановимо включення для всіх ординалів. Базис тривіальний, а індуктивний крок проводиться так:

 

Вище скористалися властивостями характеристики, неперервністю оцінки та індуктивним припущенням. Тепер оцінимо множину : . Нарешті, зважаючи на довільність аргументу , маємо включення . □

З цієї теореми прямо випливає важливий наслідок про замкненість класу функцій, що зберігають денотати, відносно основних програмологічних операцій.

Наслідок 4.2. Клас функцій, що зберігають денотати, замкнений відносно підстановки, розгалуження та циклування. Клас функцій, що сильно зберігають денотати, також замкнений відносно цих композицій. □

Що ж до аналогічного твердження відносно рекурсії, то згідно з останньою теоремою тут суттєвим є неперервність оцінки та значення оцінки на найменшому елементі універсуму; зокрема, замкненість має місце за умови неперервності оцінки та рівності .

Аналог шостого твердження теореми 4.1 виконується і для загального випадку багатомісної рекурсії, яка відповідає декільком параметрам, тобто для рекурсії вигляду (див. означення 3.6’)

 

Тут треба розглядати всі множини як оцінені універсуми зі своїми оцінками та вимагати неперервності оцінок індуктивних множин (ці множини відповідають невідомим відповідних систем, а множини – параметрам). Зрозуміло, що всі попередні означення (збереження денотатів, сильного збереження денотатів, характеристики) природним чином узагальнюються на класи функцій, аргументи і значення котрих належать різним множинам зі своїми оцінками. Хоча, оскільки з самого початку розглядалися часткові функції, можна йти і альтернативним шляхом: розглядати один універсум та одну оцінку, яка продовжує всі початкові оцінки (очевидно, що треба вимагати рівності значень початкових оцінок на спільних елементах9; останнє обмеження, зокрема, буде виконуватися, якщо вихідні універсуми будуть попарно не перетинатися). Перший чи другий шлях визначається зручностями опрацювання конкретних ситуацій. Так, у наступному твердженні, яке узагальнює попередню теорему 4.1 для багатомісних рекурсій, розглядаються різні оцінки; це пов’язане з необхідністю формулювання властивості неперервності оцінок (інакше треба буде говорити про неперервність обмежень однієї оцінки, додатково вимагаючи підіндуктивності початкових універсумів у їх об’єднанні). При розгляді декількох оцінок будемо розглядати одну спільну множину праелементів , яка виступає “спільним знаменником” при порівнянні денотатів результатів та аргументів функцій.

Розглянемо абстрактні множини з оцінками , ..., , а також індуктивні множини з оцінками , ..., і найменшими елементами ,…,.

Твердження 4.2. Якщо всі оцінки неперервні, то для довільних відповідних функцій виконується включення

 . □

Доведення проводиться аналогічно шостому твердженню теореми 4.1 з використанням ординального зображення найменшого розв’язку системи рівнянь (теорема 3.6). □

Характеристика (при зафіксованій оцінці універсуму даних ) зіставляє функціям множини праелементів . Іншими словами, оцінка універсуму індукує оцінку класу функцій на ньому, яку позначимо , і можна ставити питання про збереження -денотатів основними програмологічними операціями. Оскільки аргументами цих операцій виступають не тільки функції на універсумі, а й предикати на ньому, то треба домовитись, що розуміти під характеристикою предиката. Покладемо за означенням, що -характеристикою предикату є порожня множина .

Зауважимо, що можна до того ж результату стововно характеристик предикатів прийти і іншим шляхом, розширюючи оцінку на булевські значення: за умови, що . Тоді за загальним означенням характеристики маємо для всіх предикатів . Отже, оцінка робить універсум часткових функцій та предикатів оціненим.

Твердження 4.3. Підстановка, розгалуження та циклування сильно зберігають -денотати. □

Доведення безпосередньо випливає з пп. 3-5 теореми 4.1 та домовленості про характеристики предикатів. □

Зауважимо, що останнє твердження залишається вірним і при інших природних оцінках функцій та предикатів: наприклад, при оцінці та оцінці , . Для перевірки збереження денотатів для вказаних оцінок треба використати елементарні включення, що пов’язують області означеності та значень функцій, які будуються підстановкою, розгалуженням і циклуванням, з областями означеності та значень функцій-аргументів.

Повернемося до теореми 4.1 та проілюструємо природність її твердження щодо рекурсії, встановивши властивість циклування (п. 5) як наслідок властивості рекурсії (п. 6). Для цього покладемо , і скористаймося тим фактом, що циклування є значенням відповідної рекурсії на операції , де , – діагональ на універсумі (див. п. 3.1.5). Що ж до самої рекурсії, то в цих позначеннях вона має вигляд . Отже, .

Зафіксувавши оцінку універсуму даних , для довільних предиката та функцій , згідно з теоремою 4.1 (пп. 3, 4) маємо

 ,

оскільки . Таким чином, операція сильно зберігає -денотати, тобто . Для застосування п. 6 теореми 4.1 залишилося перевірити неперервність оцінки та знайти значення оцінки на найменшому елементі множини . Маємо , а неперервність випливає з дистрибутивності характеристики (теорема 4.1, п. 1). Отже, . Значить, циклування * сильно зберігає -денотати, тобто для довільних виконується включення , яке і представляє собою п. 5 теореми 4.1.

Функції, що зберігають денотати, та обчислювані функції 

Наприкінці підрозділу встановимо взаємне положення класів функцій, які зберігають денотати, та обчислюваних функцій при нумераційному підході до обчислюваності за термінологією огляду [90]. Тому далі покладається, що універсум – злічена множина. Крім того, накладемо додаткові обмеження на оцінку: далі вважається, що оцінка є сюр’єкцією вигляду , де також злічена множина.

Виходячи з міркувань ефективності (так, у наступних підрозділах будуть розглядатися обчислювані функції, які зберігають денотати) інтерпретація природна: універсум складають фінітні об’єкти, що будуються з праелементів; причому для довільної скінченної множини праелементів існує елемент універсуму даних, який будується з усіх праелементів саме цієї множини.

Зробимо декілька загальних зауважень щодо нумераційної обчислюваності. Для введення такої обчислюваності фіксується деяка нумерація універсуму, тобто сюр’єктивне відображення , де множина , називається номерною множиною нумерації. Далі поняття обчислюваної функції на вводиться за допомогою арифметичної функції на , яка представляє функцію на (для предикатів аналогічно) [122, п. 2.1].

Будемо розглядати тільки ефективні нумерації у наступному інтуїтивному розумінні: а) номерна множина ефективно задана; б) по довільному числу ефективно будується об’єкт ; в) по любому об’єкту ефективно будується якийсь його -номер (тобто число з повного прообразу ); г) існує ефективна процедура перевірки рівності об’єктів з множини .

Твердження а) уточнимо, вимагаючи рекурсивної перераховності номерної множини . З тверджень б) та г) випливає правомірність розгляду тільки розв’язних нумерацій, тобто нумерацій, для яких існує алгоритм перевірки рівності для довільних .

Отже, ефективні нумерації універсуму розв’язні та мають рекурсивно перераховні номерні множини. За теоремою 2.3.1 з [122] всяка така нумерація частково рекурсивно еквівалентна (чр-еквівалентна) однозначній простій нумерації (тобто ін’єктивній нумерації, номерною множиною якої є множина всіх натуральних чисел).

З тверджень б) і в) випливає, що довільні ефективні нумерації універсуму чр-еквівалентні. Врахування відомого факту про інваріантність поняття обчислюваності на відносно чр-еквівалентних нумерацій [122, теорема 2.1.5] дозволяє зробити такі основні висновки щодо ефективних нумерацій: обчислюваність інваріантна відносно конкретних ефективних нумерацій універсуму; зокрема, без обмеження загальності, можна розглядати однозначні прості ефективні нумерації. Разом з тим зрозуміло, що проведення доведень вимагає наявності конкретної нумерації.

Зрозуміло, що нумераційна обчислюваність має низку принципових обмежень. Так, універсум часткових функцій на зліченій множині взагалі незлічений, тому для розгляду обчислюваних функціоналів, зокрема вищих типів, треба застосовувати більш загальні підходи до обчислюваності (див., наприклад, [97, розд. 10; 98; 128, розд. 3; 155, §9.8, §15.3; 165, §11; 166; 167, §1.13; 176]). Універсум обчислюваних дійсних чисел злічений, але не має ефективної нумерації [127, §9; 165, §12]; головні так звані геделеві нумерації сімей частково-рекурсивних арифметичних функцій обчислювані, але не розв’язні (з цього приводу цікаво відзначити результат Фрідберга про існування однозначної обчислюваної нумерації сім’ї унарних арифметичних частково-рекурсивних функцій [121, п. 7.4]). Однак нумераційна обчислюваність у деякому розумінні “вкладається” в обчислюваність, яка ґрунтується на більш загальних засадах; про це свідчать, наприклад, факти про обмеження рекурсивних функціоналів на обчислювані функції, які ввійшли в літературу під назвою теорем Майхілла-Шепердсона [97, розд. 10, підрозд. 2, теореми 2.1, 2.3; 166].

Повернемося до збереження денотатів і почнемо з прикладу функції, яка не зберігає -денотати при довільній оцінці . Далі буде зручно розширити оцінку на множини елементів універсуму: , де , . Розширена оцінка має такі властивості:

 , (4.3)

 , (4.4)

 , (4.5)

де – довільні підмножини . Рівність (4.3) випливає з сюр’єктивності оцінки, включення (4.4) очевидне; нарешті, включення (4.5) можна встановити безпосередньо, а можна скористатися зображенням і властивостями повного образу:

 .

Твердження 4.4 (достатня ознака незбереження денотатів). Якщо існує елемент такий, що – злічена множина, де – -сплінтер функції , то ця функція не зберігає -денотати. □

Доведення. Очевидно, що сплінтер – злічена множина, бо інакше згідно з включенням (4.4) множина була б скінченною. Покладемо , , ; у цих позначеннях , а для значення розширеної оцінки виконуються рівності

 .

Оскільки множина скінченна за означенням оцінки, то, очевидно, множина злічена. Залишається зауважити, що ; отже функція має злічену характеристику і тому не зберігає -денотати. □

З цього твердження випливає, що аналоги арифметичної функції наступності для векторів, матриць та реляцій – відповідно функції – не зберігають денотати при відповідних природних оцінках [55]. Зауважимо також, що у твердженні 4.4 наведена достатня, але не необхідна умова незбереження денотатів: неважко побудувати таку унарну функцію , яка не зберігає денотати, але для довільного елементу сплінтер скінченний.

Означення 4.3. Скажемо, що унарна функція  -перераховуюча, якщо існує елемент такий, що множина скінченна. □

Як бачимо, це поняття взагалі не використовує інформації щодо оцінки на універсумі. Отже, якщо  -перераховуюча функція, то для деякого елемента множина збігається з універсумом з точністю до скінченної множини елементів. Наприклад, арифметична функція наступності є -перераховуючою. З достатньої ознаки незбереження денотатів випливає наслідок.

Наслідок 4.3 (властивості перераховуючих функцій). -перераховуючі функції не зберігають денотати при довільній оцінці10, існують обчислювані та необчислювані -перераховуючі функції. □

Доведення. Розглянемо довільну оцінку вигляду , де злічена множина, та оцінимо -характеристику для -перераховуючої функції . За означенням 4.3 існує елемент такий, що множина є скінченною. Тому з огляду на формули (4.3) та (4.5) маємо включення . Таким чином, оскільки множина скінченна (див. формулу (4.4)), то і множина є зліченою. Залишається застосувати твердження 4.4. ▫

Існування обчислюваних перераховуючих функцій випливає з самого введення нумераційної обчислюваності на універсумі . Дійсно, як зазначалося вище, без втрати загальності можна розглядати однозначні прості нумерації універсуму. Тоді очевидно, що унарна функція на , представляючою функцією якої є функція наступності, є обчислюваною -перераховуючою функцією. ▫

Існування необчислюваних перераховуючих функцій випливає з міркувань про потужність множини перераховуючих функцій; так, застосовуючи канторовський діагональний метод, неважко показати, що множина таких функцій незлічена. □

Взаємне розташування класів функцій, що зберігають денотати при оцінці , та класу обчислюваних функцій розкриває наступне твердження.

Твердження 4.5. Класи функцій, які зберігають -денотати, та обчислюваних функцій мають непорожній перетин, непорівнювані за включенням та не вичерпують клас всіх функцій . □

Доведення. Очевидно, що селекторні функції , тотальні константні функції , всюди невизначена функція є обчислюваними функціями, які зберігають денотати при довільній оцінці. Прикладом обчислюваної функції, яка не зберігає -денотати, виступає обчислювана -перераховуюча функція (див. наслідок 4.3). Очевидно, що довільна скінченнозначна функція зберігає денотати (дійсно, ), тому прикладом функції, яка зберігає денотати та не є обчислюваною, виступає довільна скінченнозначна необчислювана функція (добре відома континуальність сім’ї скінченнозначних функцій, тому і існують такі функції). Нарешті, необчислювані перераховуючі функції, існуючі в силу наслідку 4.3, не належать ні класу , ні класу . □

необчислювані перераховуючі функції

необчислювані скінченнозначні функції

обчислювані

перераховуючі

функції

Рис. 4.1. Взаємне розташування класів функцій , , (твердження 4.5)

Графічно твердження 4.5 проілюстроване на рис. 4.1. Зауважимо, що класи функцій , злічені, а клас континуальний, де – клас обчислюваних функцій, які зберігають -денотати.

Примітивні програмні алгебри функцій та предикатів на оціненому універсумі

Основні означення

Розглянемо примітивні програмні алгебри (далі ППА) для випадку оціненого універсуму. Такі алгебри були вперше введені в [146] як адекватний апарат для розв’язування проблем повноти в різних класах функцій, тобто для завдання класів функцій як замикань у цих алгебрах. Головна особливість сигнатурних операцій ППА полягає в їх загальнозначності та абстрактності: операції, по-перше, використовують тільки властивості бути функцією чи предикатом і, по-друге, інваріантні відносно природи множини, якій належать аргументи та значення функцій (на відміну від операцій класичної теорії рекурсії типу мінімізації, примітивної рекурсії чи операцій типу словарної рекурсії та словарної мінімізації11 [121, розд. V, §11, п. 11.2]). Конкретні дослідження показали доцільність використання ППА для завдання різноманітних класів обчислюваних функцій. Так, розглядалися наступні універсуми даних: натуральні, цілі та раціональні числа [57, 58, 59]; слова в скінченному алфавіті [59]; вектори, матриці, реляції, таблиці, компоненти яких належать множині натуральних чисел чи деякій скінченній множині12 [26, 53, 55, 81, 82]. Характерна особливість вказаних результатів полягає у тому, що були знайдені не просто скінченні системи породжуючих (скінченні з точністю до селекторних функцій), а системи породжуючих, що містять прості природні функції та предикати.

Наведемо основні означення для ППА. Носій складається з часткових -арних функцій на універсумі та часткових -арних предикатів на універсумі, Сигнатура містить підстановку часткових функцій однакової арності в -арну функцію (-арний предикат), ; розгалуження функцій (предикатів) однакової арності за предикатом тієї ж арності та параметризовані циклування   функцій арності за -арним предикатом, Таким чином, позначаючи арність функції (предиката) як маємо для підстановки , де , , для всіх елементів ; вище для визначеності однакова арність функцій та функції (предиката) позначається як .

Для розгалуження аналогічно унарному випадку (див. п. 2.3.5) маємо , де , причому або функції, або предикати; значення ж функції (предикату) знаходиться за кусковою схемою

для всіх елементів , де через позначена однакова арність. Таким чином, розгалуження функцій є функцією, а розгалуження предикатів – предикатом.

Нарешті, циклування , задається так: , де , а значення функції покладається рівним першій компоненті першого кортежу послідовності кортежів , де , ; , ; такого, що значення предиката на ньому хибне в припущенні визначення значень предиката на всіх попередніх кортежах. Якщо ж такого кортежу в послідовності не існує, то значення покладається невизначеним.

За допомогою колекції та добутку часткових функцій (див. п. 2.3.3) циклування можна задати більш компактно, зводячи циклування -арних функцій до циклування * в унарному випадку: безпосередньо з означень циклувань у попередніх позначеннях випливає рівність , де як і раніше селектор на універсумі .

Циклування , як і циклування *, можна задати як значення рекурсії вигляду . Дійсно, можна безпосередньо перевірити наступну узагальнену рівність для всіх елементів :

 

Звідси випливає, що для функції виконується рівність . Таким чином, функція – значення композиції циклування – є розв’язком рівняння

 , (4.6)

де виступають параметрами, а область зміни невідомого – . І знову ж можна перевірити, що функція є не тільки розв’язком, а найменшим розв’язком (в індуктивній множині часткових -арних функцій, впорядкованих за включенням графіків). Отже, рекурсія операції правої частини рівняння (4.6) зіставляє циклування : , тобто .

Зазначимо, що в перших працях у сигнатуру ППА входила одна бінарна композиція циклування; змістовно кажучи, у відповідному означенні “в циклі” змінювалося значення тільки однієї змінної [57, 146]. Але будувати конкретні функції в таких ППА дуже важко; особливо це пов’язане з випадком словарної ППА [37, §7], в якій, на відміну від арифметичної ППА, синтез аналогів канторовських нумераційних функцій ускладнений. Для подолання таких суто технічних труднощів і була проведена модифікація циклування, починаючи з роботи [55]. Зауважимо, що циклування по суті збігається з операцією повторення першого роду функторів за предикатом [93, §6].

Отже, – сигнатура ППА. Розглянемо збереження денотатів для ППА. Як і раніше, – деяка оцінка універсуму, яка індукує оцінку функцій та предикатів: , . Клас всіх функцій (предикатів) на позначимо як (відповідно ); клас всіх функцій, що зберігають -денотати, – як ; клас всіх функцій, що сильно зберігають -денотати, – як .

Теорема 4.2. Для довільної сигнатурної операції виконується:

 .

Класи , замкнені відносно всіх операцій з . Всі сигнатурні операції ППА сильно зберігають -денотати. □

Доведення. Очевидно, що друге і третє твердження теореми випливають з першого. Перше твердження для підстановки випливає з п. 3 теореми 4.1. Що ж стосується розгалуження та циклування , то перше твердження для них можна довести безпосередньо, а можна знову ж використати відповідні пункти згаданої теореми. Для того, щоб це зробити (тобто провести редукцію до унарного випадку, про який і йдеться в теоремі 4.1), треба тільки розповсюдити оцінку на кортежі елементів за правилом: , Тоді, наприклад, для циклування з врахуванням його зображення через колекцію часткових функцій маємо:

 

Вище скористалися рівністю та включенням, яке пов’язує -характеристику колекції з -характеристиками вихідних функцій: . Це включення перевіряється безпосередньо: □

З цієї теореми випливає, що дійсно можна розглядати ППА функцій, які зберігають денотати (функцій, які сильно зберігають денотати), та предикатів (відповідно ). Якщо додатково накласти умову обчислюваності на функції та предикати носіїв, то, оскільки клас частково рекурсивних функцій і частково рекурсивних предикатів замкнений відносно всіх операцій ППА [57], приходимо до ППА , .

Необхідні умови повноти

Подальша мета полягає у встановленні необхідної умови повноти для ППА з використанням інформації про оцінку універсуму даних . З цієї умови, зокрема, буде випливати, що ППА , не є скінченнопородженими. Зробимо це для ППА трьох сімей.

Носії алгебр , містять всі тотальні константні функції. Рівність (див. лему 4.2) та сюр’єктивність оцінки роблять природним наступне означення.

Означення 4.4. Скажемо, що ППА  -повна, якщо для її носія виконується рівність , тобто об’єднання характеристик всіх функцій носія дорівнює множині праелементів . □

Так, ППА , , а також ППА всіх чр-функцій та чр-предикатів є -повними, а ППА , не відносяться до цієї сім’ї.

Твердження 4.6 (критерій -повноти). ППА є -повною тоді і тільки тоді, коли для її довільної системи породжуючих виконується рівність . □

Доведення. Достатність тут тривіальна (носій – найпростіша система породжуючих), а необхідність доводиться від супротивного, спираючись на перше твердження теореми 4.2, з якого випливає включення , де – замикання множини функцій та предикатів операціями сім’ї . □

З критерію -повноти безпосередньо випливає наслідок.

Наслідок 4.4 (необхідна умова повноти -повних ППА). Якщо – система породжуючих -повної ППА, то . Зокрема, якщо – скінченна система породжуючих такої ППА, то містить хоча б одну функцію зі зліченою характеристикою; отже, ППА не є скінченнопородженими. □

Очевидно, що умова останнього наслідку необхідна, але не достатня. Це випливає з того, що в ній нічого не говориться про предикати системи породжуючих. Це не дивно, оскільки за означенням предикати мають порожні характеристики. Далі буде показано, що для сильного збереження денотатів цей наслідок не виконується.

Розглянемо другу природну сім’ю ППА, яка вводиться взагалі без використання оцінок універсуму, та отримаємо для неї аналог наслідку 4.4. Це буде додатковим обґрунтуванням природності поняття -повноти.

Нехай ; скажемо, що функція  зберігає множину , якщо для повного образу виконується включення (див., наприклад, [74, 93]). Іншими словами, функція зберігає множину , якщо відношення  стабільне відносно функції (стабільне в стандартному розумінні [120, п. 2.3]).

Очевидно, що множина всіх функцій, які зберігають множину , і всіх предикатів замкнена відносно всіх сигнатурних операцій ППА; відповідну ППА позначимо через . Також очевидно, що ППА є власною підалгеброю ППА всіх функцій та предикатів тоді і тільки тоді, коли та . Дійсно, достатність випливає з того, що константна функція , де , не зберігає множну , а необхідність – з того, що всі функції зберігають множини і .

Означення 4.5. Скажемо, що ППА  -породжуюча, якщо вона не є підалгеброю ніякої ППА вигляду для всіх – непорожніх власних підмножин універсуму. □

Міркування щодо природності цього поняття аналогічні попередньому поняттю -повноти і ґрунтуються на незбереженні множин тотальними константними функціями. ППА , , – -породжуючі.

Твердження 4.7 (критерій -породності). ППА є -породжуючою тоді і тільки тоді, коли для довільної її системи породжуючих виконується: довільна непорожня множини є системою породжуючих алгебричної системи 13. □

Доведення. Розглянемо наступні три твердження про систему функцій та предикатів :

 , (4.7)

алгебрична система не має власних непорожніх підсистем, (4.8)

  – система породжуючих алгебраїчної системи ). (4.9)

Ці три твердження еквівалентні; це випливає з імплікацій (4.7)(4.8), (4.8)(4.9), (4.9)(4.7), які очевидним чином встановлюються від супротивного. ▫

Тепер повернемося до самого твердження 4.7, позначаючи ППА . Достатність доводиться від супротивного. Нехай для довільної системи породжуючих ППА виконується твердження (4.9), але ППА не є породжуючою. Тоді ППА є підалгеброю деякої ППА вигляду , де , . Отже всі функції з носія , який є системою породжуючих ППА , зберігають непорожню власну підмножину . Але – система породжуючих алгебраїчної системи ; прийшли до протиріччя. ▫

Необхідність також доводиться від супротивного. Нехай ППА  -породжуюча, але знайшлась деяка її система породжуючих , для якої не виконується твердження (4.9). Але тоді для системи породжуючих не виконується і твердження (4.7), а це означає, що всі функції з зберігають деяку непорожню власну підмножину універсуму; прийшли до протиріччя. □

Саме згідно з наведеним критерієм і був обраний термін “-породжуюча ППА”. Зробимо одне загальне зауваження щодо повноти. ППА всіх чр-функцій та всіх чр-предикатів на різноманітних універсумах (числові системи, вектори, матриці та ін.) є -породжуючими. Отже, їхні системи породжуючих повинні задовольяти твердженню (4.9). Аналіз систем породжуючих конкретних ППА для перелічених універсумів [53, 57, 58, 59, 81, 82] показує, що твердження (4.9) виконується за рахунок тотальної константної функції, що фіксує елемент, виходячи з якого можна побудувати всі елементи універсуму іншими функціями з системи породжуючих. Наприклад, для універсуму натуральних чисел це тотальна константна нуль-функція та функція наступності , ; для універсуму векторів натуральних чисел це тотальна константна функція , яка фіксує однокомпонентний вектор , функція збільшення першої компоненти вектора на одиницю, а також функція конкатенації векторів.

В силу критерію -породності побудова систем породжуючих ППА зводиться у деякому розумінні до побудови систем породжуючих алгебри даних. Саме тому і з’являються в системах породжуючих конкретних ППА дуже прості природні функції.

Встановимо взаємне розташування сімей -породжуючих та -повних ППА. Для цього знадобиться наступна лема.

Лема 4.3. Функція зберігає повний прообраз для довільної множини такої, що ; зокрема, якщо функція сильно зберігає денотати, то вона зберігає повний прообраз . □

Доведення проводиться безпосередньо. Нехай має арність , покладемо . У випадку функція тривіально зберігає множину . Тепер розглянемо довільні елементи з області означеності функції такі, що , . Тоді , тобто . □

Твердження 4.8 (необхідна умова повноти для -породжуючих ППА). Якщо – система породжуючих -породжуючої ППА, то . □

Доведення проведемо від супротивного. Покладемо і припустимо, що . З попередньої леми 4.3 випливає, що всі функції системи зберігають повний прообраз . Залишається зауважити, використовуючи загальні властивості сюр’єкцій14 (а відображення саме таке), що множина є власною непорожньою підмножиною універсуму . Прийшли до протиріччя з властивістю -породності. □

З останнього твердження та критерію -повноти (твердження 4.6) випливає, що всяка -породжуюча ППА буде -повною. Обернене твердження, як стверджує наступна лема, хибне.

Лема 4.4. -породжуючі ППА утворюють власну підсім’ю сім’ї -повних ППА. □

Доведення наведене у додатку А. □

Розглянемо третю сім’ю ППА, звужуючи поняття -повноти. Мотивування аналогічне випадкам -повноти та -породності, воно спирається на міркування про характеристики тотальних константних функцій.

Означення 4.6. Скажемо, що ППА  -регулярна, якщо для її носія виконується включення , тобто довільна скінченна множина праелементів є характеристикою підходящої функції носія алгебри. □

Так, ППА , , – -регулярні. Очевидно, що з -регулярності випливає -повнота. Обернене твердження не виконується, як випливає з наступної леми, яка насправді стверджує істинність більш сильного твердження.

Лема 4.5. Сім’ї -породжуючих та -регулярних ППА не вичерпують сім’ю -повних ППА. □

Доведення наведне у додатку А. □

Очевидно, що сім’ї -породжуючих та -регулярних ППА мають непорожній перетин (який містить, наприклад, алгебри , , ). Що ж до порівняння цих двох сімей, то наступні дві леми саме і описують цю ситуацію.

Лема 4.6. Існує -регулярна ППА, яка не є -породжуючою. □

Доведення. Скористаймося позначеннями леми 4.4. Покладемо . Очевидно, що для характеристик виконуються рівності

 ; , якщо . (4.10)

Зафіксуємо елемент і покладемо . Сім’я (нагадаємо, що – сім’я всіх унарних часткових константних предикатів, що фіксують істинне значення ) замкнена відносно всіх операцій сигнатури ; доведення проводиться повністю аналогічно лемі 4.4. Отже, – ППА. Покажемо, що ця алгебра шукана. В силу рівностей (4.10) та сюр’єктивності оцінки маємо рівності

 .

Таким чином, ППА  -регулярна. Те, що вона не є -породжуючою, випливає зі збереження всіма функціями її носія довільної множини , такої, що , (слід врахувати очевидну рівність ). □

На жаль, поки що не відомий приклад -породжуючої ППА, яка не є -регулярною. Наступна лема прояснює труднощі на шляху побудови прикладу такої ППА. Ця лема стверджує, що у дуже природній підсім’ї -породжуючих ППА шуканого об’єкту просто не існує.

Введемо допоміжні позначення. Через , для зафіксованого елемента позначимо такий тотальний і частковий предикати: , для всіх ; . По суті предикат зображає характеристичну функцію одноелементної множини , а предикат – часткову характеристичну функцію цієї ж множини. Предикати , вводяться повністю аналогічно зі заміною значення на значення хибності .

Означення 4.7. Скажемо, що ППА  підходяща, якщо, по-перше, її носій містить тільки унарні функції або містить діагональ (формально ), і, по-друге, виконується наступне підтвердження:

  □

Вище – діагональ на універсумі , а – діагональ на одноелементній множині . Зауважимо, що всі ППА, які розглядалися вище, були підходящими. Основна властивість підходящої ППА полягає в тому, що її носій разом з довільною унарною функцією містить і обмеження цієї функції за множиною , де – елемент, який існує в силу підтвердження з означення: . Дійсно, треба просто врахувати рівності, які відповідають різним членам диз’юнкції підтвердження:

 

Крім того, далі суттєво, що елемент належить саме множині , тобто .

Лема 4.7. Всяка -породжуюча підходяща ППА є -регулярною. □

Доведення наведене у додатку А. □

З останньої леми випливає: якщо -породжуюча та не -регулярна ППА й існує, то вона не є підходящою. Отже, шукана ППА у випадку існування штучна і досить складна. Взаємне розташування введених трьох сімей ППА відображене на рис. 4.2 та зафіксоване у наступному твердженні.

-повні

D-породжуючі

не підходящі

-регулярні

Рис. 4.2. Взаємне розташування сімей ППА

Твердження 4.9. Сім’ї -порождуючих і -регулярних ППА мають непорожній перетин і не покривають сім’ю -повних ППА. Існують -регулярні ППА, які не є -породжуючими. Всяка -породжуюча і не -регулярна ППА не є підходящою.  □

Повнота класів обчислюваних функцій, що зберігають денотати

Дамо огляд результатів по повноті класів обчислюваних функцій, які зберігають денотати, у різних оцінених універсумах [35, 54, 56]. Оскільки класи таких функцій та обчислюваних предикатів замкнені відносно сигнатурних операцій ППА, то ці алгебри і виступають природним інструментом розв’язання проблем повноти: в точних термінах йдеться мова про пошук систем породжуючих відповідних ППА.

Щодо конкретних класів функцій та предикатів, то класифікація проводиться по універсуму та його оцінці. У згаданих роботах були розглянуті універсуми векторів, матриць, реляцій і таблиць натуральних чисел. При цьому під реляціями розумілися скінченноарні відношення на множині натуральних чисел, а у таблицях явно вводилися до розгляду імена (атрибути за іншою термінологією). Остання обставина носить принциповий характер; випадок універсуму таблиць буде докладно висвітлюватися у наступному розділі при розгляді табличних алгебр. Оцінки цих універсумів обиралися з огляду на уточнення маніпуляціних дій [10]: оцінки зіставляють зазначеним структурам даних множини їхніх компонентів.

 , ,

 , ,

де для останнього випадку таблиць через позначена схема таблиці – однакова область визначення всіх рядків , які утворюють таблицю.

Конкретні системи породжуючих відповідних ППА наведені у роботах [54, 56], І. В. Редьку належать результати для універсумів матриць, реляцій і таблиць. Дамо характеристику особливостей систем породжуючих. Оскільки всі ці алгебри є -повними (множиною праелементів оцінок виступає множина натуральних чисел ), то вони не є скінченнопородженими. Ця особливість проявляється у тому, що системи породжуючих включають злічену кількість тотальних константних функцій; наприклад, для універсумів векторів і матриць це функції вигляду , де Причому оскільки решта функцій або сильно зберігають денотати, або мають за характеристику15 одноелементну множину , то, з огляду на необхідну умову повноти у -повних ППА (наслідок 4.4), жодну таку константну функцію не можна вилучити з системи породжуючих без втрати властивості повноти.

Друга особливість всіх систем породжуючих полягає в тому, що вони містять так звані функції відміток, які потрібні для розпізнавання натуральних чисел функціями, що зберігають денотати. Наприклад, для випадків векторів, матриць і реляцій функції відмітки такі: , – рядкова матриця, , . Як бачимо, всі ці функції відміток мають характеристикою множину .

Нарешті, третя особливість стосується випадків реляцій і таблиць. Тут суттєвою є та обставина, що ці структури даних уточнюються як множини елементів (кортежів чи рядків), і тому потрібні функції, які моделюють вибір елементу реляції чи таблиці за деяким ефективним критерієм; наприклад, для таблиць це функція вигляду , де . Зауважимо, що функції вибору потрібні і при розв’язанні проблем повноти у класі обчислюваних іменних функцій [48] та у класі обчислюваних реляційних функцій [55], але у цих випадках вони досить легко будуються з інших більш простих функцій. Складність полягає у тому, що функції, потрібні для побудови функцій вибору, не зберігаються денотати. Тому і приходиться вводити функції вибору безпосередньо в системи породжуючих.

Що стосується решти функцій систем породжуючих, то вони досить природні. Ці функції перераховані нижче для універсумів відповідно векторів, матриць, реляцій і таблиць:

  1. виділення першої компоненти, вилучення першої компоненти, конкатенація;
  2. виділення першого стовпця, вилучення першого стовпця, транспонування, горизонтальна конкатенація матриць з однаковою кількістю рядків16;
  3. виділення першого стовпця реляції, вилучення першого стовпця реляції, конкатенація реляцій17, теоретико-множинне об’єднання і різниця;
  4. проекція таблиці за першим атрибутом схеми, проекція таблиці за всіма атрибутами її схеми крім першого, з’єднання таблиць, теоретико-множинне об’єднання і різниця таблиць однієї схеми, так звані функція ініціалізації імені та функція наступності за іменами18.

Зауважимо, що для таблиць іменами (атрибутами) виступають натуральні числа зі стандартним порядком, і тому можна говорити про перший атрибут схеми і наступний атрибут. Крім того, всі системи породжуючих містять всі селекторні функції. Що ж до предикатів, то потрібен тільки один предикат перевірки рівності двох елементів універсуму.

Вище розглядалося збереження денотатів. Переходячи до сильного збереження денотатів, зупинимося на результаті [35], який вирішує проблему повноти для векторних обчислювальних функцій, що сильно зберігають денотати. Якщо зняти вимогу збереження денотатів, то відповідний результат щодо повноти також має місце [26, 55]. Наведемо необхідні означення.

Отже, розглянемо універсум векторів (кортежів) натуральних чисел , де , – вектор нульової довжини, порожній вектор, і задамо оцінку : , . Функції та предикати у цьому випадку називаються векторними. Знадобляться такі векторні функції та предикати:

  1.  , , ; функція виділяє першу компоненту вектора, якщо вона існує;
  2.  , , , ; функція вилучає першу компоненту вектора;
  3.  , ; функція конкатенації векторів; при цьому вектор – права і ліва одиниця;
  4. функція відміток вигляду , , ;
  5.   – тотальні бінарні предикати перевірки відповідно рівності та нерівності двох векторів.

Покладемо . Головний результат щодо повноти, доведений в [35], такий.

Теорема 4.3. – система породжуючих ППА всіх векторних чр-функцій, які сильно зберігають -денотати, та всіх чр-предикатів. Причому з системи без втрати властивості повноти не можна вилучити жодного елемента, крім можливо селекторних функцій. □

Як бачимо, система породжуючих для сильного збереження денотатів містить два предикати на відміну від збереження денотатів. Причому ці предикати дуже близькі (рівність і нерівність). Виявляється, що ця обставина носить принциповий характер. Для прояснення ситуації треба ввести нову сім’ю ППА. Розглянемо загальний випадок, а потім повернемося до сильного збереження денотатів.

{true, false}-Породжуючі ППА

Нехай – деяка підмножина універсуму, а – деяке булеве значення. Введемо наступні класи функцій та предикатів: , . Отже, – клас всіх функцій, що зберігають множину , а – клас всіх предикатів, що на елементах множини або невизначені, або результатом мають булеве значення .

Безпосередньо зі застосуванням елементарних включень , перевіряється, що клас замкнений відносно всіх сигнатурних операцій ППА; отже, – ППА, яку позначимо як . Очевидно, що введена ППА є власною підалгеброю ППА всіх функцій та предикатів на універсумі тоді і тільки тоді, коли . Необхідність встановлюється від супротивного і використовує той очевидний факт, що при об’єднання збігається з класом всіх функцій і предикатів на універсумі. Достатність встановлюється розглядом двох предикатів таких, що . Очевидно, що існують навіть обчислювані предикати з такою властивістю; крім того, якщо множина має щонайменше два елементи, то предикати не обов’язково різні.

Означення 4.8. Скажемо, що ППА -породжуюча, якщо вона не є підалгеброю ніякої ППА вигляду для всіх – непорожніх підмножин універсуму. □

Нехай – деяка множина функцій та предикатів; через (відповідно ) позначимо підмножину , яка складається з усіх функцій (предикатів) множини . Через позначимо заперечення булевого значення , тобто , .

Твердження 4.10 (критерій -породності). ППА є -породжуючою тоді і тільки тоді, коли для довільної її системи породжуючих та всіх непорожніх підмножин виконується імплікація

 . □ (4.11)

Доведення. Спочатку зазначимо, що вірна еквівалентність

 , (4.12)

яка доводиться безпосередньо. ▫

Доведемо необхідність. Нехай ППА є -породжуючою, – її довільна система породжуючих, а – довільна непорожня підмножина універсуму. Імплікація (4.11) встановлюється від супротивного. Дійсно, якщо вона хибна, то згідно з еквівалентністю (4.12) маємо включення ; тобто ППА є підалгеброю ППА – протиріччя. ▫

Достатність також встановлюється від супротивного. Нехай ППА не -породжуюча, значить, вона є підалгеброю ППА для деякої множини , . Звідси для носія виконується , . Оскільки носій – система породжуючих, то згідно з імплікацією (4.11) має місце належність ; з іншого боку, в силу еквівалентності (4.12) виконується заперечення . Прийшли до протиріччя. □

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

Означення 4.9. Скажемо, що ППА -породжуюча, якщо вона -породжуюча та -породжуюча. □

Твердження 4.11 (критерій -породності). ППА є -породжуючою тоді і тільки тоді, коли для довільної її системи породжуючих та всіх непорожніх підмножин виконується імплікація

 . □ (4.13)

Доведення. Необхідність. Нехай – довільна система породжуючих ППА, а – довільна непорожня підмножина. Імплікацію (4.13) встановимо від супротивного. З хибності її висновку випливає, що існує булеве значення , для якого виконується заперечення . Звідси за еквівалентністю (4.12) має місце включення . Отже, вихідна ППА є підалгеброю ППА , що суперечить її -породності. ▫

Достатність також доведемо від супротивного. Нехай ППА не є -породжуючою. Тобто вона не є -породжуючою для деякого булевого значення . Згідно з критерієм -породності (твердження 4.10) існує деяка система породжуючих та непорожня множина такі, що , але . За припущенням виконується імплікація (4.13), тобто . Прийшли до протиріччя. □

Повертаючись до проблематики збереження денотатів, зауважимо, що ППА, які не накладають ніяких обмежень, крім можливо обчислюваності, на предикати своїх носіїв, є -породжуючими. Отже, ППА , , , , є саме такими алгебрами, і до них можна застосувати критерій -породності. Але застосовувати цей критерій до алгебр , , з огляду на їхню -породність не результативно. Причина полягає у тому, що імплікація (4.13) тривіально істинна при (тобто її посилання хибне), а єдиний нетривіальний випадок виникає при і, по-суті, не несе інформації про предикати системи породжуючих.

При переході до сильного збереження денотатів ситуація змінюється: з огляду на лему 4.3 всі функції, що сильно зберігають денотати, зберігають і множину – множину всіх елементів універсуму, які будуються без використання праелементів. Згідно з наступним наслідком тут суттєвим є потужність множини .

Наслідок 4.5. Нехай – система породжуючих -породжуючої ППА, носій якої складають функції, що сильно зберігають денотати. Тоді виконується рівність . Зокрема, якщо множина одноелементна, то система містить щонайменше два предикати , причому значення , , де , визначені і не рівні між собою. □

Доведення випливає з критерію -породності та леми 4.3. □

Останній наслідок можна безпосередньо застосовувати до універсуму векторів натуральних чисел (теорема 4.3), оскільки в цьому випадку . Система породжуючих, указана в теоремі 4.3, тому і містить предикати рівності і нерівності, що вони розрізняються значеннями, коли аргументи збігаються з : , .

Програмні алгебри іменних функцій, що зберігають денотати, та предикатів

Оцінений універсум іменних даних

Розглянемо випадок універсуму іменних даних, побудованих на основі довільних фіксованих множин та , де множина виступає в ролі множини імен, а множина – множини денотатів. Цей універсум будується так: , де , , . Тут, як і раніше, – множина всіх скінченних підмножин множини , а – множина всіх скінченних функціональних відношень на парі множин ; такі функціональні відношення називаються іменними множинами (на парі множин ).

Покладемо , . Очевидно, що , причому . Таким чином, порожня множина є і порожньою іменною множиною (всюди невизначеною функцією), яку позначимо через . Елементи множини назвемо іменними множинами, елементи множини – -множинами. Іменні дані позначимо через , іменні множини – , -множини – . Для імен використаємо позначення , для денотатів –

Зауважимо, що іменні дані можна вводити різними еквівалентними способами: як найменшу множину, що задовольняє визначеним умовам; за допомогою індуктивного означення; як найменший розв’язок відповідного рівняння на множинах. Подробиці наведені в [47], а вище скористались індуктивним означенням.

За означенням універсум іменних даних складають фінітні об’єкти, які будуються конструктивно, виходячи з імен і денотатів; множини імен і денотатів виступають параметрами побудови. Для введення оцінок на іменних даних розглянемо бінарне відношення на , яке є рефлексивно-транзитивним замиканням наступного відношення на :

 .

Змістовна інтерпретація цього відношення: означає, що елемент використовується при побудові елемента . У термінах цього відношення задамо низку оцінок з різними множинами праелементів:

, ;  , ;

, ;

 , .

Основна інтерпретація: , – відповідно множина денотатів та множина імен, з яких будується іменне дане ; – множина денотатів чи імен, з яких будується ; нарешті, – множина імен, які в процесі побудови іменного даного використовуються саме як імена, тобто щось іменують в .

Зауважимо, що ч. в. м. при любих множинах задовольняє умові обриву спадаючих ланцюгів. Це випливає, наприклад, з аксіоми регулярності [91, §14], яка припускається виконаною. Саме тому області значень введених оцінок містять скінченні множини праелементів. У термінах нижніх конусів у ч. в. м. оцінки множна задати більш компактно: , , , для всіх .

Ці оцінки будуть основними у подальших розглядах, особливо це стосується оцінки , тому що саме вона уточнює маніпуляціний аспект. Разом з тим можна розглядати на універсумі іменних даних і інші природні оцінки:

 , ;

 , ;

 , ;

, .

Як бачимо, цей універсум припускає багато різних оцінок з різноманітними множинами праелементів; це є аргументом на користь розвитку теорії для довільних оцінок. Зауважимо, що всі наведені вище оцінки є сюр’єкціями.

Всюди далі будемо розглядати тільки унарні часткові функції та предикати; це пов’язане з тим, що іменні дані допускають природне моделювання кортежів іменних даних, тому введення до розгляду багатомісних іменних функцій є зайвим і обтяжливим.

Отже, під іменними функціями будемо розуміти унарні часткові функції на , а під іменними предикатами – унарні часткові предикати на .

Для введення конкретних іменних функцій та предикатів покладемо, що множина імен має щонайменше два елементи, які позначимо через 1,2; зауважимо, що у протилежному випадку апарат іменування, який формує ядро композиційного підходу, вироджується. Промоделюємо іменними множинами впорядковані пари та декартові добутки: ; , де ; . Множину можна задавати у термінах іменних множин, які відповідають індексуванню [148, підрозд. 1.3, 149]. Наведемо загальне означення.

Нехай – деяке індексування підмножин денотатів іменами зі скінченної множини імен . Під іменною множиною, яка відповідає даному індексуванню розуміється іменна множина на парі , проекція котрої за першою компонентою дорівнює множині , а значення (денотат) довільного імені належить множині . Сім’ю всіх таких іменних множин позначимо . Покладемо за означенням, що існує єдина іменна множина, яка відповідає всюди невизначеному індексуванню, – порожня іменна множина . Таким чином, . Тепер очевидно, що для індексування , .

Розглянемо наступні іменні функції та предикат:

 , ;

 , ;

 , ;

 ,, ;

 , ;

 , ;

 ,

Згідно з термінологією робіт [135, 140, 145], в яких були закладені основи композиційного програмування, функція називається омноженням (омножествлением), – іменуванням,  – розіменуванням. Функція є по суті обмеженням теоретико-множинного об’єднання на пари сумісних іменних множин (нагадаймо, що згідно з твердженням 2.4 про устрій ч. в. м. часткових функцій об’єднання іменних множин буде іменною множиною тоді і тільки тоді, коли ці іменні множини сумісні), функції та – теж обмеженням теоретико-множинного об’єднання та різниці на пари -множин.

Характеристики розглянутих основних іменних функцій наведені в табл. 4.1. У цій же таблиці наведені характеристики двох функцій , , які будуть надалі виступати аналогами арифметичної функції наступності ; точні означення будуть наведені пізніше, а зараз будемо вимагати тільки, щоб для всіх і для функції аналогічно19. Саме ці властивості функцій є суттєвими для знаходження їхніх характеристик.

Коректність заповнення табл. 4.1 перевіряється безпосередньо. При цьому використовуються наступні рівності, які, змістовно кажучи, пов’язують значення оцінок складних іменних даних зі значеннями оцінок компонентів цих даних. З метою скорочення запису в рівностях використовуються оцінки, розширені на скінченні множини іменних даних. Розширення проводиться аналогічно підрозд. 4.1: наприклад, та для розширених оцінок аналогічно. Далі будемо використовувати дистрибутивність розширених оцінок відносно теоретико-множинного об’єднання.

 , ; (4.14)

 , ; (4.15)

 , ; (4.16)

 , ; (4.17)

 , . (4.18)

Що ж стосується значень оцінок на найпростіших іменних даних – іменах та денотатах, – то ці значення такі:

 , ; , ;

 , ; . (4.19)

При знаходженні характеристик зручно скористатися дистрибутивністю оцінок відносно теоретико-множинного об’єднання, наприклад, для оцінки маємо: , у припущенні сумісності сім’ї іменних множин . Рівності (4.14) – (4.18) перевіряються безпосередньо, виходячи з означень оцінок. Дистрибутивність оцінок випливає з цих рівностей. Наприклад, для оцінки з урахуванням дистрибутивності розширеної оцінки та проекції:

.

Проілюструємо знаходження характеристик для деяких функцій у табл. 4.1. Для іменування маємо

;

;

;

.

Таблиця 4.1 – Характеристики основних іменних функцій

Функції

Оцінки

омноження

set

іменування

cp

розіменування

ap

об’єднання сумісних іменних множин

об’єднання

s-множин

різниця

s-множин

наступності на іменах

наступності на денотатах

Для знаходження остаточного виразу -характеристики іменування дамо верхню та нижню оцінки останнього об’єднання:

 , .

Звідси випливає шукана рівність .

Найбільш цікавим є випадок знаходження -характеристики іменування:

Остання рівність ланцюжка перевіряється безпосередньо. При цьому використовуються заперечення та еквівалентність

,

які виконуються для всіх імен та іменних даних .

Перейдемо до характеристик функцій . Маємо

Тут скористалися рівностями (4.19) та очевидною рівністю , яка випливає з рівностей (4.19) та з того, що функція не має нерухомих точок. Решта оцінок розглядається аналогічно; наприклад, для оцінки виконуються рівності

.

Аналіз заповнення табл. 4.1 приводить до наступного твердження.

Твердження 4.12 (про збереження денотатів основними іменними функціями). Функції сильно зберігають денотати при оцінках . Функція іменування сильно зберігає денотати при оцінках ; іменування зберігає -денотати (сильно зберігає -денотати) тоді і тільки тоді, коли є скінченною множиною (); іменування не зберігає -денотати при довільних множинах . □

Доведення спирається на критерій збереження денотатів у термінах характеристик (твердження 4.1) та характеристики функцій, наведені у табл. 4.1. Прокоментуємо тільки твердження щодо незбереження -денотатів іменуванням. Дійсно, очевидно, що множина , де – -сплінтер функції омноження , є зліченою підмножиною -характеристики іменуванням, причому для довільних20 . □

Таким чином, основні іменні функції сильно зберігають денотати при оцінках ; іменування займає особливе місце: воно зберігає денотати при одних природних оцінках і не зберігає при інших оцінках. Змістовна семантична причина полягає у тому, що серед всіх розглянутих функцій саме іменування кардинально змінює структуру іменування свого аргументу , переводячи ім’я зі статусу денотата стандартного імені 1 в статус імені, яке використовується для іменування (іменного даного в іменній множині ). Ця інтенсіональна особливість іменування проявляється у тому, що воно не зберігає -денотати при нескінченній множині імен і, більш того, не зберігає -денотати при довільних множинах .

Програмні алгебри іменних функцій та предикатів

Перейдемо до розгляду основних програмологічних операцій над іменними функціями і предикатами. Клас іменних функцій позначимо через , а клас іменних предикатів – : , . На об’єднанні будуть розглядатися бінарна композиція підстановки функції у функцію чи в предикат (тобто добуток часткової функції на часткову функцію чи предикат), тернарна композиція розгалуження функцій (предикатів) за предикатом , бінарна композиція циклування функції за предикатом *. Всі ці композиції є абстрактними у тому розумінні, що вони не використовують специфічний устрій універсуму іменних даних. Наступна композиція як раз і відображає конкретику іменного випадку.

Означення 4.10. Нехай – кортеж попарно різних імен, Під суперпозицією за значенням розуміється -арна операція така, що , де . □

Таким чином, ; причому здійснюється суперпозиція функцій або у функцію ж або в предикат. Характеристична властивість цієї суперпозиції часткових функцій та її головна відмінність від стандартної суперпозиції часткових функцій 21  полягає у тому, що значення функцій перед підстановкою іменуються за допомогою імен, які виступають параметрами суперпозиції за значенням.

Покладемо у цьому підрозділі . Очевидно, що – алгебра іменних функцій та предикатів; саме ця алгебра й буде виступати інструментом розв’язання проблем повноти класів іменних функцій, які зберігають денотати.

Для розгляду відповідних підалгебр треба виявити зв’язок між характеристиками функцій-аргументів та функцій-результатів стосовно всіх композицій сигнатури . Очевидно, що для композицій питання розв’язує теорема 4.1 про властивості характеристики (а саме пп. 3-5 цієї теореми) та твердження 4.3: для цих композицій характеристика функції-результату є підмножиною об’єднання характеристик функцій-аргументів, тобто вказані композиції сильно зберігають -денотати при домовленості, що -характеристикою предикатів є порожня множина. Таким чином, залишається розглянути випадок суперпозиції за значенням. На жаль тут не можна сформулювати загальне твердження, бо для довільної оцінки нічого не можна сказати про відношення множини і множин , , де , (змістовно кажучи, нічого не відомо про зв’язок між значенням оцінки на іменній множині та значеннями оцінки на іменах і денотатах цієї іменної множини). Щоб розглянути більш менш загальну ситуацію (а не конкретні вище введені оцінки), перейдемо до природного підкласу оцінок. Нижче , як і раніше, множина праелементів.

Означення 4.11. Нехай – відображення вигляду . Скажемо, що оцінка  є -оцінкою, якщо для довільної іменної множини виконується включення . □

Таким чином, для -оцінок зв’язок між оцінками іменної множини та компонент іменної множини дуже простий. Зауважимо, що оцінки є -оцінками, а оцінка є -оцінкою, де для всіх множин . Це випливає з рівностей (4.14)-(4.17). Що ж стосується оцінки , то вона взагалі не є -оцінкою для довільного відображення ; це випливає з рівності (4.18) та того очевидного факту, що іменна множина не відтворюється за своїми іменами (тобто проекція не ін’єктивна).

Лема 4.8. Нехай оцінка є -оцінкою для деякого відображення , тоді для суперпозиції за значенням виконується включення для всіх функцій та функції чи предиката . □

Доведення. Випадок, коли суперпозиція будує предикат, тривіальний, тому покладемо і розглянемо довільний елемент з області означеності . Тоді за означенням характеристики та включенням з означення -оцінок маємо

Звідси та леми 4.1, зважаючи на довільність елемента , випливає, що множина є надмножиною характеристики . □

Застосовуючи ще раз лему 4.1 вже для оцінки універсуму функцій та предикатів, приходимо до наступного аналога твердження 4.3 та теореми 4.2 стосовно -характеристики суперпозиції за значенням.

Наслідок 4.6. Якщо оцінка універсума іменних даних є -оцінкою для підходящого відображення , то виконується включення . □

Позначимо через клас всіх іменних функцій, що зберігають -денотати. Тоді з леми 4.8 (чи з останнього наслідку) і з теореми 4.2 про -характеристики абстрактних композицій випливає ще один наслідок про замкненість.

Наслідок 4.7. Клас замкнений відносно всіх композицій з у припущенні, що оцінка є -оцінкою для деякого відображення . □

Отже, є алгеброю іменних функцій, які зберігають -денотати, та іменних предикатів. Конкретні алгебри виникають при розгляді оцінок з огляду на те, що ці оцінки є -оцінками при своїх значеннях параметра .

Зауважимо, що при переході до оцінок, які не є -оцінками, замкненість класів , взагалі кажучи, порушується. Розглянемо як приклад оцінку . Покладемо , де – діагональ на , і знайдемо -характеристику цієї функції:

Тут скористалися рівністю (4.18) та запереченням, яке застосовувалося і раніше при знаходження -характеристики іменування. Таким чином, за селектором з порожньою характеристикою суперпозиція за значенням будує функцію з нескінченною характеристикою (злічена множина – підмножина характеристики).

Виходячи з того, що властивість бути -оцінкою є достатньою умовою для замкненості класу функцій, які зберігають денотати, відносно суперпозиції за значенням сформуємо сім’ю відображень та відображення , які визначаються тільки оцінкою :

; , де .

Отже, є -оцінкою для деякого тоді і тільки тоді, коли сім’я відображень непорожня. Переходячи до відображення , по-перше, зауважимо, що , оскільки існує єдина іменна множина з порожньою множиною імен – порожня іменна множина (формально для всіх ), причому . По-друге, зауважимо, що значення відображення на непорожніх множинах імен обчислюється за формулою, подібною до означення характеристики. Ця обставина не є випадковою. Дійсно, зафіксуємо деякий лінійний порядок на множині імен (за лемою Цорна це завжди можна зробити) та нехай – довільна скінченна множина імен; покладемо , де – кількість елементів множини , причому елементи записані згідно з фіксованим порядком на іменах. Тепер розглянемо допоміжну параметричну -арну функцію на іменних даних , . Очевидно, що , звідки безпосередньо випливає рівність . З останньої рівності слідує включення, що виконується для всіх іменних множин

 . (4.20)

Перевіримо його. Випадок розглядається безпосередньо з врахуванням попередніх міркувань щодо значення , а для , тобто для , покладаючи та обираючи не обов’язково різні іменні дані так, щоб виконувалася рівність , маємо:

 ;

вище скористалися рівністю та означенням розширеної оцінки .

З включення (4.20) випливає, що відображення аналогічне відображенням , тільки значеннями відображення можуть бути і нескінченні множини праелементів. Точніше роль відображення розкриває наступне твердження.

Теорема 4.4 (критерій властивості оцінки бути -оцінкою). Наступні три твердження еквівалентні для довільної оцінки :

  є -оцінкою для деякого відображення , (4.21)

 , (4.22)

 . □ (4.23)

Доведення. Встановимо імплікацію (4.21)(4.22). Належність (4.22) означає, що відображення є -оцінкою, а для цього з огляду на включення (4.20) достатньо встановити, що всі значення , де , є скінченними множинами. Зафіксуємо таку множину імен і перевіримо це. Виберемо якесь відображення з сім’ї . Розглянемо довільну іменну множину з властивістю . Згідно з означенням -оцінки виконується включення , тобто . Отже, зважаючи на довільність , всякий доданок зі значення включається в скінченну множину праелементів . ▫

Імплікації (4.22)(4.23), (4.23)(4.21) очевидні з урахуванням включення (4.20). □

З цього критерію випливають безпосередньо твердження для конкретних оцінок , , , , щодо властивості бути -оцінкою. Так, наприклад, для оцінки згідно з рівністю (4.18) маємо:

 

оскільки (що випливає зі заперечення ). Отже, значення не є скінченною множиною праелементів, тому згідно з теоремою 4.4 оцінка не є -оцінкою при довільних .

Необхідні умови повноти

Сформулюємо аналоги необхідних умов повноти, що задавалися у підрозділі 4.2 стосовно ППА, для іменного випадку, тобто для алгебр, носії яких містять іменні функції та іменні предикати, а сигнатура збігається з . Такі алгебри будемо називати програмними алгебрами (ПА).

Необхідну умову повноти сформулюємо для -повних ПА, діючи повністю аналогічно випадку ППА: ПА назвемо -повною, якщо для її носія виконується рівність .

ПА іменних функцій, що зберігають -денотати, та іменних предикатів ; ПА обчислюваних іменних функцій та обчислюваних іменних предикатів; ПА обчислюваних іменних функцій, що зберігають денотати, та обчислюваних предикатів всі є -повними за умови сюр’єктивності початкової оцінки. Як і для ППА -повнота випливає з належності константних функцій носіям ПА та вигляду характеристик цих функцій ( – див. лему 4.2).

Нехай всюди далі оцінка є -оцінкою для певного відображення . Покладемо . Для іменного випадку маємо наступний аналог необхідної умови повноти -повних ППА (наслідок 4.4).

Твердження 4.13. Якщо – система породжуючих -повної ПА, то , де . □

Доведення проводиться від супротивного як і для випадку ППА (твердження 4.6). При цьому треба використати включення . Це включення встановлюється на основі сильного збереження -денотатів добутком , розгалуженням , циклуванням * (твердження 4.3) та леми 4.8, яка відображає специфіку суперпозиції за значенням. Замість леми 4.8 можна скористатися наслідком 4.6, у якому дається верхня оцінка -характеристики цієї суперпозиції. □

Зауважимо, що у множині доданок відсутній в силу того, що кортеж імен, який виступає параметром суперпозиції за значенням , не може бути порожнім. Зважаючи на цю обставину, в означенні -оцінки (означення 4.11) можна вимагати непорожності іменної множини , і тому значення взагалі може бути довільним22.

З твердження 4.13 випливає, що вибір відображення з сім’ї дуже важливий; дійсно, якщо множина збігається з множиною всіх праелементів , то розклад множини з твердження 4.13 взагалі не несе ніякої інформації про функції системи породжуючих. Виявляється, що серед відображень сім’ї відображення є найкращим у тому точному розумінні, що множина є найменшою за включенням серед множин , . Щоб встановити цей факт, дослідимо структуру ч. в. м. , впорядковану точково (тобто ). Оскільки ця ч. в. м. виникає з ч. в. м. за допомогою конструкції узагальненого прямого добутку, то основні властивості успадковуються, як випливає з наступної леми.

Лема 4.9 (устрій ч. в. м. ). Ч. в. м. є повною нижньою піврешіткою з нулем ; інфімуми непорожніх множин знаходять за формулою для всіх . Ця ж ч. в. м. є верхньою піврешіткою і більш того умовно повною верхньою піврешіткою, тобто обмежені зверху непорожні множини мають супремуми; при цьому супремуми знаходяться за формулою для всіх . □

Доведення наведене у додатку А. □

Таким чином, за термінологією [13, розд. V, підрозд. 3, с. 153] ч.в.м є умовно повною решіткою з нулем .

Тепер можна сформулювати посилення твердження 4.13, позбавившись залежності від параметра та вибираючи найменший доданок у розкладі.

Твердження 4.13’ (необхідна умова повноти для -повних ПА). Якщо – система порождуючих -повної ПА, то , причому в указаному розкладі множини праелементів перший доданок є найменшим за включенням серед всіх множин , . □

Доведення. Застосуємо твердження 4.13 при ; тоді, зважаючи на рівність , вказаний розклад множини дійсно має місце. ▫

Тепер покажемо, що доданок є найменшим. Це випливає з рівності . Дійсно, використовуючи лему 4.9 про устрій ч.в.м та стандартні теоретико-множинні співвідношення маємо:

.

Таким чином, виконується включення , а обернене включення випливає з належності . □

Як випливає з доведеного твердження, відображення грає особливу роль, яка посилюється тим фактом, що в термінах цього відображення можна точно задати -характеристику суперпозиції за значенням, причому для довільних оцінок (нагадаймо, що у наслідку 4.6 наведена тільки надмножина характеристики за умови, що вихідна оцінка є -оцінкою).

Нижче, як і в попередньому підрозділі, – множина елементів універсуму, на яких оцінка приймає значенням порожню множину.

Твердження 4.14 (-характеристика суперпозиції за значенням). Нехай – довільна оцінка універсуму іменних даних, така, що . Тоді виконується рівність для всіх непорожніх кортежів попарно різних імен. □

Доведення. Діючи аналогічно доведенню леми 4.8 та наслідку 4.6, а також використовуючи включення (4.19), встановлюється включення ; тому залишається перевірити обернене включення. ▫

Розглянемо довільний праелемент такий, що , тоді за означенням відображення існує деяка іменна множина з властивостями: , . Тому можна покласти для деяких необов’язково різних іменних даних , причому з огляду на означення розширеної оцінки виконується включення . Зафіксуємо деякий елемент з множини і розглянемо функції , графіки яких містять по одній парі елементів: , . Тепер покладемо ; очевидно, що графік функції містить теж одну пару – . Знайдемо -характеристики введених функцій : очевидно, що , , та . Таким чином, суперпозиція за функціями з -характеристиками будує функцію з -характеристикою (у побудові задіяний селектор , але його -характеристика порожня). Звідси за означенням -оцінки та -характеристики, множина є підмножиною -характеристики суперпозиції . Залишається нагадати про належність . □

Таблиця 4.2 – -Характеристики композицій, -характеристики функції ; відображення , множини

-Характеристики композицій

Оцінки

добуток

розгалуження

циклування *

суперпозиція за значенням

відображення

множина

характеристика функції

У табл. 4.2. наведені -характристики композицій ПА, відображення  та множини для основних оцінок. Заповнення рядків 1-3 випливає з сильного збереження -денотатів композиціями добутку, розгалуження та циклування (твердження 4.3). Згідно з твердженням 4.14 та означенням множини заповнення рядків 4 та 6 визначається заповненням рядка 5. Заповнення ж рядка 5 таблиці перевіряється безпосередньо з використанням рівностей (4.14)-(4.18) (для оцінки явний вигляд відображення вже знаходився зразу ж після доведення критерію непорожності сім’ї (теорема (4.4)).

Сильне збереження денотатів

Розглянемо відповідні ПА для сильного збереження денотатів. Через позначимо клас всіх іменних функцій, що сильно зберігають -денотати, тобто мають порожню -характеристику. Нас цікавить замкненість класу відносно композицій з сигнатури . З огляду на сильне збереження -денотатів композиціями добутку, розгалуження та циклування це об’єднання замкнене відносно вказаних композицій. Що ж стосується суперпозиції за значенням, то серед основних оцінок тільки для оцінки замкненість має місце за умови, що . Ці факти щодо замкненості випливають з сильного збереження -денотатів всіма суперпозиціями за значенням при (див. четвертий рядок табл. 4.2) та з непорожності -характеристики функції для оцінок (див. сьомий рядок табл. 4.2; явний вигляд характеристик наведений у цьому рядку, перевіряється безпосередньо).

Таким чином, суперпозиція за значенням за функціями з порожніми характеристиками (селектор саме така функція) будує функцію з непорожньою характеристикою, скінченною (оцінки ) чи навіть нескінченною (оцінка ). Причина такої особливої ролі суперпозиції за значенням полягає в тому, що саме ця композиція підтримує механізм іменування, нав’язуючи явне використання імен при обчисленні значень функцій. Отже, інтенсіонал іменування проявляється як на рівні іменних функцій, так і на рівні основних програмологічних композицій. На рівні функцій – це непорожність характеристик функції іменування для оцінок (точніше кажучи, -характеристика нескінченна при нескінченній множині імен , а -характеристика нескінченна при довільній множині імен23). На рівні композицій – це непорожність -характеристики суперпозиції за значенням для оцінок (і знову ж, якщо говорити точніше, то -характеристика скінченна для оцінок та нескінченна для оцінки 24).

Повернемося до сильного збереження денотатів. Наступне твердження вирішує питання про замкненість для суперпозиції за значенням.

Твердження 4.15 (критерій замкненості класу функцій, що сильно зберігають денотати, та предикатів відносно суперпозиції за значенням у термінах []-характеристики). Клас замкнений відносно суперпозиції за значенням тоді і тільки тоді, коли обмеження суперпозиції вигляду має порожню -характеристику. □

Це твердження буде безпосередньо випливати з наступної леми, яка для довільного оціненого універсума встановлює зв’язок між двома основними поняттями для функцій: збереження денотатів і збереження множини; щоправда для випадку, коли множиною виступає повний прообраз булеана , де . Отже, в наступній лемі – деяка оцінка універсума .

Лема 4.10 (про зв’язок між збереженням денотатів та збереженням множини). Нехай – деяка підмножина множини праелементів , покладемо і розглянемо довільну -арну функцію . Тоді функція зберігає множину тоді і тільки тоді, коли виконується включення . Зокрема, функція зберігає множину тоді і тільки тоді, коли виконується рівність . □

Доведення наведене у додатку А. 

Зауважимо, що остання лема узагальнює лему 4.3. Твердження 4.15 випливає безпосередньо з леми 4.10, якщо її застосувати до оцінки та скористатися тим очевидним фактом, що об’єднання збігається з множиною елементів оціненого універсума , на яких значенням оцінки є порожня множина.

Підводячи підсумок щодо замкненості класу функцій, які сильно зберігають денотати, та предикатів відносно суперпозиції за значенням, можна з огляду на останнє твердження сказати, що незамкненість є наслідком досягнення непорожньої -характеристики суперпозиції на функціях з порожньою -характеристикою. Сьомий рядок табл. 4.2. саме і ілюструє це положення для основних оцінок на селекторі: , .

Зауважимо, що згідно з цим же твердженням умова є не тільки достатньою для замкненості у випадку оцінки , але й необхідною.

Проблеми повноти в класах іменних функцій, що зберігають денотати

Цей пункт присвячений знаходженню природних систем породжуючих ПА, носії яких складаються з обчислюваних іменних функцій, які зберігають -денотати, та обчислюваних іменних предикатів. Значеннями параметра будуть основні оцінки ; загальний метод знаходження систем породжуючих буде демонструватися для оцінки . Таким чином, позначаючи клас обчислюваних іменних функцій (предикатів) через (відповідно ), далі шукаються системи породжуючих ПА вигляду , де – клас обчислюваних іменних функцій, які зберігають -денотати.

Як і у підрозд. 4.2, присвяченому ППА функцій та предикатів на оціненому універсумі, обислюваність на універсумі іменних даних вводиться згідно з нумераційним підходом. При цьому буде зручно звести обчислюваність на іменних даних до обчислюваності не на множині натуральних чисел , як це робиться у класичній теорії нумерацій [92, 122], а до обчислюваності на множині всіх скінченних слів у ефективно-зліченому алфавіті, тобто до обчислюваності на множині векторів натуральних чисел. Це пов’язане з тим, що побудова конкретної ефективної нумерації універсуму іменних даних спрощується25, що у свою чергу полегшує моделювання нумерації в ПА. Разом з тим зрозуміло, що поняття обчислюваності інваріантне відносно конкретних ефективних нумерацій (подробиці щодо нумераційної обчислюваності див. у п. 4.1.3).

Тому нехай , де , – деяке ефективне (в інтуїтивному розумінні) кодуюче відображення.. Конкретне відображення , потрібне для проведення доведень, буде побудоване пізніше, а поки що будемо вимагати лише рекурсивну перераховність номерної множини . Маючи нумерацію у такому розширеному розумінні, далі діємо стандартно: іменна функція називається частково рекурсивною (чр-функцією), якщо існує частково рекурсивна векторна функція , яка її представляє: для всіх виконується узагальнена рівність . Що до іменних предикатів, то тут також стандартний підхід на основі характеристичних функцій. Всюди далі під векторними функціями розуміються унарні векторні функції.

Промоделюємо обчислюваність на і почнемо з моделювання іменними даними векторів натуральних чисел. Для цього діючи аналогічно [48, 150], розглянемо відображення , , , де через позначений вектор з першою компонентою26 . Таким чином, відображення задається індукцією за довжиною вектора-аргументу. Рис. 4.3 ілюструє структуру значення цього відображення на векторі .

Обчислюваність на моделюється за допомогою наступного поняття: іменна функція називається іменним образом векторної функції , якщо для всіх кортежів виконується узагальнена рівність . Зауважимо, що введене поняття повністю відповідає нумераційному поняттю функції, яка представляє початкову функцію, якщо розглянути обернене відображення як нумерацію множини векторів з номерною множиною .

seta1+1()

seta2+1()

setan+1()

1

1

1

2

2

2

Рис. 4.3. Значення – кодування векторів натуральних чисел іменними множинами

Для побудови іменних образів векторних функцій знадобляться наступні допоміжні іменні функції та предикати: , ; , ; , для всіх , де ім’я виступає параметром. Отже, () – тотальний предикат, що фіксує істинне (відповідно хибне) значення; предикат відповідає характеристичній функції одноелементної множини ; нарешті, параметричні функції отримуються з функцій іменування і розіменування фіксацією імені.

Тотальні константні функції, які фіксують елемент , позначаються, як і раніше, через . Нижче 1,2 позначають імена, що використовуються для формування областей означення основних іменних функцій. Покладемо ; замикання множини функцій та предикатів операціями з позначимо як .

Лема 4.11. Виконуються належності: , де . □

Доведення. Покладемо . Тоді, очевидно, що ; ; ; ; ; ; для ; . □

Далі при побудовах функцій та предикатів будуть використовуватися булеві операції диз’юнкції, кон’юнкції та заперечення над предикатами; це не потребує розширення сигнатури , оскільки вказані операції легко моделюються розгалуженням:

, ,

.

Зауважимо, що згідно з цими означеннями, значення , визначені тоді і тільки тоді, коли визначені обидва значення , ; іншими словами, та для кон’юнкції аналогічно. Саме ця обставина відрізняє наведене моделювання булевих операцій над частковими предикатами від тризначної логіки Кліні [100, 103] та від булевих операцій над умовами систем алгоритмічних алгебр Глушкова [69, 73, розд. 4, §4.1, с. 110].

При побудові іменних образів векторних чр-функцій будемо спиратися на алгебраїчну характеристику цього класу функцій як замикання множини векторних функцій операціями добутку часткових функцій , лівої циліндрифікації та спеціального циклування [200, с. 136]. Наведемо означення цих функцій та операцій.

– функція поповнення вектора зліва нулем: ; – функція збільшення першої компоненти вектора на одиницю: , ; – функція дублювання першої компоненти вектора: , ; – функція вилучення першої компоненти вектора: , .

Ліва циліндрифікація визначається так: , де , , а спеціальне циклування – так: , де , , тут – природним чином розширений оператор мінімізації теорії рекурсії. Змістовно кажучи, – найменше натуральне число таке, що у вектора збігаються друга та перша компоненти.

Лема 4.12 (про іменний образ). Замикання містить іменний образ кожної векторної чр-функції. □

Доведення проводиться індукцією за довжиною термів згідно з наведеною алгебраїчною характеристикою векторних чр-функцій. Іменний образ векторної функції позначається .

Базис. Згідно з означенням відображення (див. також рис. 4.3) безпосередньо перевіряються рівності

 ,

 ,

, . □

Індуктивний крок. Безпосередньо перевіряється, що , . Для розгляду спеціального циклування покладемо , , . Очевидно, що функція моделює виділення першої компоненти вектора, а предикат – предикат, істинний на векторах довжини не менше двох. Тепер маємо , де . Залишається скористатися лемою 4.11 про допоміжні функції та предикати. □

Зробимо одне загальне важливе зауваження. Відомо, що клас векторних чр-функцій містить у звичайному теоретико-множинному розумінні клас арифметичних багатомісних чр-функцій [200, теорема 4], тому з леми 4.12 про іменний образ безпосередньо випливає наступний наслідок.

Наслідок 4.8. Замикання множини операціями добутку , розгалуження , циклування * та суперпозиції за значенням вигляду містить іменний образ кожної арифметичної багатомісної чр-функції. □

Для доведення слід тільки зауважити, що всі побудови в доведеннях лем 4.11 та 4.12 використовували тільки суперпозицію . □

Саме цей наслідок уточнює твердження про моделювання в ПА класичної обчислюваності, він є аналогом твердження 1 з [150].

За означенням нумераційної обчислюваності іменним чр-функціям відповідають векторні чр-функції, які їх представляють. Згідно з лемою 4.12 про іменний образ такі векторні функції моделюються в ПА. Для вирішення проблеми повноти залишається промолелювати нумерацію іменних даних , за допомогою відображення . Всі результати щодо повноти для ППА (див. наприклад, [55]) та ПА обчислюваних іменних функцій [48] отримувалися саме за такою загальною схемою. Але у даному випадку є складність, яка полягає у тому, що моделювання нумерації треба провести в класі функцій, які зберігають денотати (точніше -денотати). Моделювання нумерації включає і моделювання оберненого відображення , яке виступає в ролі кодуючої функції. Відображення моделюється функцією з класу . Усі функції цього класу зберігають -денотати, оскільки . Змістовно кажучи, причина полягає у тому, що іменні множини з множини значень використовують тільки імена 1,2 (див. рис. 4.3).

Сама ж нумерація моделюється сюр’єктивною функцією з класу , а всі такі функції мають характеристику, яка включає множину , що перевіряється безпосередньо. Дійсно,

за умови сюр’єктивності функції . Очевидно, що при . Отже, на цьому шляху виникають функції з, узагалі кажучи, нескінченними характеристиками, і тому моделювання треба проводити по-іншому.

Через , позначимо такі функції, що

 , ;

 

тут , , – довільні елементи вказаних множин. Наведені функції , як раз і моделюють нумерацію та обернене до неї відображення. Те, що моделювання проводиться коректно, підтверджується наступною лемою, яка є визначальною при розв’язанні проблеми повноти.

Лема 4.13 (про зображення). Для довільної іменної функції , яка зберігає -денотати, існує такий іменний образ деякої векторної чр-функції, що для всіх виконується узагальнена рівність ; іншими словами, функція будується добутком та суперпозицією з функцій та константної функції . □

Вище запис є скороченням запису , який у свою чергу позначає значення функції об’єднання -множин на іменній множині . Надалі, керуючись міркуваннями спрощення позначень, також будемо використовувати аналогічні інфіксні записи.

Доведення. Нехай – векторна чр-функція, яка представляє вихідну іменну функцію в нумерації . Оскільки – взагалі кажучи, власна підмножина множини , то значенням для може бути і визначеним при невизначеному значенні , але тоді . Розглянемо приведення функції за номерною множиною . Оскільки – чр-функція, а множина рекурсивно перераховна, то, очевидно, функція також чр-функція. Очевидно, для приведення виконується на всіх векторах : якщо значення визначене, то і значення визначене, причому ; якщо ж значення невизначене, то і значення невизначене.

Нехай – іменний образ векторної функції ; безпосередньо з означень функцій , випливає, що функція шукана (на рис. 4.4 наведена відповідна комутативна діаграма). □

g

D

D

M

M

F’

D

D

f

ΘN*

ΘN*

ν

ν

Рис. 4.4. Комутативна діаграма до леми 4.13

З доведеної леми та леми 4.12 про іменний образ випливає, що для конкретизації системи породжуючих залишається провести побудову функцій , . Покажемо, що ця задача зводиться до побудови такої функції , що

 

для всіх , . Функція моделює нумерацію як і функція , але вона завжди визначена, і друга компонента результату фіксує порушення властивості збереження денотатів.

Перш ніж проводити побудови в ПА, введемо більш компактну форму запису для іменних функцій ніж константні терми мови першого порядку ПА (операторна форма запису за термінологією [121, розд. I, §2, п. 2.1, с. 32]). Ідея полягає в переході до термальної форми запису. Не будемо проводити детальну побудову відповідної мови, обмежимося характерними прикладами (термальна форма запису вже застосовувалася у формулюванні леми 4.13). Крім того, оскільки сигнатура містить розгалуження, то будемо записувати іменні функції кусковими схемами, діючи аналогічно класичній теорії рекурсії (див., наприклад, [121, розд. II, §3, п. 3.1, с. 51; розд. III, §6, п. 6.3, теорема 4; 175, §6.3]).

У лемі 4.12 про іменний образ функцію можна задати рівністю , а функції , , для непорожнього аргументу – рівностями , , .

Тут має місце аналог теореми 1 з [121, розд. І, §2, п. 2.1] про еквівалентність термальної та операторної форм запису; в іменному випадку роль селекторів грають функції розіменування та їхні добутки.

Покладемо для ; . У цих позначеннях значення відображення можна задати так: , ,

Лема 4.14. Виконуються належності . □

Доведення. Очевидно, функція задається через функцію такою кусковою схемою для всіх :

 □

Перейдемо до побудови функції . Номерна множина є нескінченною рекурсивно перераховною множиною. Значить, існує елемент та векторна чр-функція такі, що . Цю рівність неважко вивести з [121, розд. ІІІ, §6, п. 6.3, теорема 3], яка стверджує, що клас нескінченних рекурсивно перераховних множин збігається з класом областей значень загальнорекурсивних ін’єктивних функцій27.

Нехай – деякий іменний образ векторної функції , який існує в силу леми 4.12. Очевидно, що , де . Розглянемо функції та предикат , які задаються (у термальній формі) виразами

, ,

 .

Тепер можна перевірити, що . Дамо змістовні пояснення. Функція готує початковий стан, який включає початковий елемент множини кодів , оцінку аргументу і сам аргумент . В циклі йде перевірка поточного стану і за потреби здійснюється перехід до наступного елемента множини кодів . Перебір елементів множини кодів здійснюється до тих пір, поки не знайдеться код -номера вихідного іменного даного . Нарешті, функція розіменування виділяє цей код після закінчення перебору кодів.

Залишається ще зауважити, що, очевидно, константна функція будується з функцій добутком та суперпозицією ; а всі ці функції або входять у множину , або будуються з функцій множини (лема 4.11). □

З леми 4.13 про зображення, леми 4.12 про іменний образ та леми 4.11 безпосередньо випливає, що множина – система породжуючих ПА ; звідси та з останньої леми випливає аналогічне твердження для множини . Однак мета полягає не просто у знаходженні системи породжуючих, а системи породжуючих, яка містила б найпростіші та природні функції і предикати. Реалізації саме цієї мети і присвячена подальша частина пункту.

З огляду на лему 4.14 для цього залишилося побудувати функцію . У силу того, що розглядається оцінка універсуму іменних даних, множина денотатів повинна допускати ефективне задання (конструктивізацію). Оскільки у випадку скінченної множини функції, що зберігають -денотати, взагалі не виділяють власний підклас у множині всіх функцій, то множина денотатів покладається ефективно зліченою. Це приводить до деякої однозначної простої нумерації , ефективної в інтуїтивному розумінні. Ця нумерація індукує функцію відміток , де , а є -номером денотата , . Крім того, далі знадобиться функція вибору , де , для всіх непорожніх -множин .

Очевидно, що введені функції сильно зберігають -денотати (дійсно, ; для функції вибору треба скористатися рівностями (4.14)), а функція відміток є ін’єктивною чр-функцією. Функція вибору також буде чр-функцією, якщо вимагати здійснення вибору елемента скінченної множини за деяким ефективним критерієм. Для цих обчислювальних функцій встановимо наступну лему, в формулюванні якої через , позначені функція і предикат, які задовольняють вимогам для всіх , :

  

Змістовно кажучи, функція відновлює денотат за його -відміткою, а предикат моделює належність денотата, заданого своєю -відміткою, скінченній множині денотатів.

Лема 4.15. Виконуються належності . □

Доведення. Очевидно, що побудова функції та предиката зводиться до побудови функції , яка задовольняє умові

 

для всіх , . Побудуємо таку функцію . Нехай функції і предикат задаються виразами:

;

 

Неважко перевірити, що можна покласти . Дамо змістовні пояснення. Зрозуміло, що функція вибору індукує зображення скінченної множини у вигляді послідовності. Елементи цієї послідовності в циклі по черзі перевіряються; поточний елемент вилучається, якщо його -відмітка не збігається з -відміткою-аргументом. □

Для подальших побудов треба мати конкретну нумерацію . Для цього треба провести конструктивізацію множини імен : – скінченна множина або ефективно злічена множина. Для визначеності розглянемо другий випадок. Тоді фіксується однозначна проста нумерація множини імен – , причому ефективна в інтуїтивному розумінні. Ця нумерація індукує функцію наступності на іменах , де , ; та константну функцію , яка фіксує ім’я з нульовим -номером. Ці дві функції виступають аналогами арифметичних функцій теорії рекурсії – функції наступності та нуль-функції .

Далі, треба домовитися про взаємне розташування множин та , оскільки це суттєво для устрою системи породжуючих ПА . Дійсно, якщо, наприклад, перетин злічений, то функція , маючи злічену характеристику (див. табл. 4.1), -денотати не зберігає. Тому далі покладається, що . Нагадаймо, що саме ця умова є необхідною і достатньою для замкненості класу функцій, що сильно зберігають -денотати, відносно суперпозиції за значенням.

Нехай – часткова алгебра іменних даних, де – бінарні аналоги відповідних іменних функцій28 (наприклад, , ). Основна ідея побудови нумерації полягає в кодуванні іменних даних константними термами цієї алгебри. Тому знайдемо систему породжуючих алгебри . Нижче поняття базису алгебри використовується стандартно, як мінімальної за теоретико-множинним включенням системи породжуючих.

Лема 4.16. Для алгебри іменних даних виконуються наступні твердження:

  1. якщо – система порождуючих алгебри , то ;
  2. алгебра не має скінченних систем породжуючих;
  3. множина – базис алгебри , де – ім’я з нулевим -номером. □

Доведення наведене у додатку А. □

Нехай – збагачення алгебри за рахунок введення в її сигнатуру зліченої кількості нуль-арних функцій, які фіксують індивіди , та денотати. Фіксуємо деяку мову першого порядку алгебри і домовимося через позначати букву алфавіту цієї мови, яка відповідає сигнатурній функції .

Сигнатуру алгебри складають чр-функції з рекурсивними областями означеності, тому очевидно, що множина всіх константних термів зазначеної мови, які мають значення при інтерпретації на алгебрі , є рекурсивно перераховною29.

Нехай – відображення інтерпретації, тобто є значенням терму при інтерпретації на алгебрі . Очевидно, з огляду на лему 4.16 (п. 3), що це сюр’єкція; причому ефективна (в інтуїтивному розумінні). Зауважимо, що відображення має суттєву для подальшого властивість:

  буква входить у терм (4.24)

для всіх , .

З метою вкладення множини термів у множину домовимося про порядок букв алфавіту мови алгебри , який наведений у табл. 4.3.

Таблиця 4.3 – Порядок букв алфавіту мови алгебри

0

1

2

3

4

5

6

7

...

7+i

...

Нумерацію будуємо за відображенням шляхом ототожнення букв з їхніми номерами згідно з табл. 4.3. Маючи конкретну нумерацію універсуму іменних даних, повернемося до виводу в ПА функції .

Лема 4.17. Виконується належність . □

Доведення почнемо з неформальних пояснень. Функція моделює алгоритм знаходження значень термів, записаних в оберненому польському записі30 (див., наприклад, [4, розд. 3, п. 3.1.1, с. 244]. Іменні функції, що далі вводяться, працюють над іменними даними вигляду . Тут спочатку збігається з , , а потім “у циклі це слово читається зліва-направо буква за буквою”; моделює стек з вершиною зліва, та в залежності від “прочитаної букви” над його вершиною проводяться маніпуляції: запис елемента в стек; взяття одного чи двох елементів, застосування до них відповідної унарної або бінарної функції алгебри і запис результату знову ж у стек. Множина – скінченна множина денотатів і не змінюється; нарешті, грає роль “коду завершення”: якщо , то властивість збереження денотатів не порушується при розкодуванні (; іншими словами, всі денотати іменного даного належать множині ); якщо , то ця властивість порушується (, тобто іменне дане містить деякий денотат, що не належить множині ).

Нижче функції , розуміються як і в доведенні леми 4.12 про іменний образ; вони моделюють виділення та вилучення вершини стека. Для спрощення запису -множини вигляду , , що відповідають буквам згідно з відображенням та порядком табл. 4.3, позначимо відповідно .

Тепер покладемо , де функція і предикат задаються виразами

;  ;

а функції і – наступними кусковими схемами:

 

 

В останній кусковій схемі функція задається виразом

 ; (4.25)

функція – виразом (4.25) з заміною на ; функція задається виразом

 ; (4.26)

функція – виразом (4.26) з заміною на ; функція задається виразом

 ,  (4.27)

де (моделюється виділення другого елемента стека), (моделюється вилучення перших двох елементів стека); функція задається виразом (4.27) з заміною на ; функція задається виразом (4.27) з заміною на ; нарешті, функція задається кусковою схемою, в якій функція і предикат використовуються як у лемі 4.15:

 

Ці побудови обґрунтовуються властивостями функції і предиката (лема 4.15), еквівалентністю (4.24) та рівністю , яка випливає з означення відображення та порядку букв, наведеного у табл. 4.3. □

ПА для злічених множин позначимо , а для скінченної -елементної множини імен та зліченої множини – , . Покладемо

,,

де .

Теорема 4.5. Множини , – системи породжуючих ПА , відповідно; причому без втрати повноти з систем не можна вилучити жодної константної функції , . □

Доведення. Для зліченої множини імен треба скористатися лемою 4.13 (про зображення), лемою 4.12 (про іменний образ) і лемами 4.11, 4.14, 4.17, в яких проводиться побудова допоміжних функцій (зокрема, розкодуючої функції і кодуючої функції ). Крім того, очевидно, що константні функції , належать замиканню множини . Устрій системи породжуючих ілюструє рис. 4.5. ▫

іменні чр-функції, що зберігають -денотати

лема 4.13

лема 4.14

лема 4.17

лема 4.15

іменні образи векторних

чр-функцій

лема 4.12

лема 4.11

Рис. 4.5. Побудова системи породжуючих ПА

Той факт, що без втрати повноти з системи породжуючих не можна вилучити константні функції вигляду для , випливає з твердження 4.13’ (необхідна умова повноти для -повних ПА). Дійсно, всі функції системи породжуючих, крім константних функцій , сильно зберігають -денотати, тобто мають порожні характеристики, а характеристики цих константних функцій згідно з лемою 4.2 мають вигляд – ; крім того, доданок у розкладі множини праелементів порожній, оскільки (див. рядок 6 у табл. 4.2). ▫

Доведення теореми для випадку скінченної множини імен проводиться аналогічно. □

Аналогічні результати мають місце і для оцінок . Виходячи з міркувань ефективного задання, множини імен і денотатів скінченні або ефективно злічені. Крім того, для першої оцінки множина повинна були зліченою, а для другої – хоча б одна з множин , , бо тільки при виконанні цієї вимоги класи функцій, що зберігають денотати, утворюють власні підкласи. Таким чином, приходимо до ПА: ; , ; ; , ; , . Тут у дужках як і для оцінки позначені порядкові типи множин , саме у такому порядку. Розглянемо наступні множини

;  ;

;  ;

 .

Вище функція відміток імен , індукована деякою однозначною простою нумерацією множини імен , вводиться повністю аналогічно функції відміток денотатів .

Теорема 4.6. Множини , , , , – системи породжуючих відповідно ПА , , ; та , причому для ПА, що відповідають оцінці , без втрати повноти з систем породжуючих не можна вилучити жодної константної функції , , за умови . □

Розглянемо тепер проблематику повноти для ПА іменних чр-функцій, що сильно зберігають -денотати, та іменних чр-предикатів. Відповідні ПА позначимо через та ; як і раніше перша ПА відповідає ефективно зліченим множинам , а друга – скінченній множині імен та ефективно зліченій множині денотатів. Множини, що отримуються з систем породжуючих , вилученням всіх константних функцій вигляду , , позначимо відповідно , .

Теорема 4.7. Множини , – системи породжуючих ПА та відповідно. □

Доведення проводиться аналогічно теоремі 4.5. Слід тільки врахувати, що, по-перше, всі функції множини , а також функції сильно зберігають -денотати, і, по-друге, в лемі 4.13 про зображення -характеристику функції можна вилучити з огляду на її порожність для сильного збереження денотатів. □

Таким чином, на відміну від ПА функцій, що зберігають денотати, ПА функцій, що сильно зберігають денотати, скінченнопороджені. Разом з тим система породжуючих ПА містить єдиний предикат рівності. Застосувати у даному випадку аналог наслідку 4.5 (про системи породжуючих ППА функцій, що сильно зберігають денотати) не можна, оскільки множина іменних даних, що не містять взагалі праелементів, не одноелементна.

Основні результати розд. 4 наступні.

  1. Дане формальне уточнення маніпуляційних дій у вигляді функцій на оціненому універсумі, які (сильно) зберігають денотати; при цьому оцінка виступає параметром та допускаються оцінки і нефінітних об‘єктів.
  2. Встановлений зв‘язок між характеристиками функцій-аргументів та функцій-результатів для основних дескриптивних та декларативних композицій – підстановки, розгалуження, циклування, рекурсії, суперпозиції за значенням (теорема 4.1, твердження 4.2, теорема 4.2, лема 4.8). Знайдені характеристики цих композицій (твердження 4.3, наслідок 4.6, твердження 4.14, таблиця 4.2); знайдені характеристики основних іменних функцій (твердження 4.12, таблиця 4.1).
  3. Встановлене взаємне положення класів функцій, що зберігають денотати, та обчислюваних функцій при нумераційному підході до обчислюваності (твердження 4.5, рис 4.1).
  4. Побудовані примітивні програмні алгебри функцій, що (сильно) зберігають денотати, та програмні алгебри іменних функцій, що (сильно) зберігають денотати (наслідок 4.2, теорема 4.2, наслідок 4.7, теорема 4.4, твердження 4.15). Наведені природні необхідні умови повноти в цих алгебрах для декількох природних сімей алгебр – -повні, -породжуючи, - породжуючи та -породжуючи примітивні програмні алгебри; програмні алгебри іменних функцій для -оцінок (наслідок 4.4, твердження 4.8, наслідок 4.5, твердження 4.13 та його посилення 4.13’).
  5. Вирішена проблема повноти для примітивної програмної алгебри векторних обчислюваних функцій, що сильно зберігають денотати відносно природної оцінки (теорема 4.3).
  6. Вирішені проблеми повноти для програмних алгебр обчислюваних іменних функцій, що (сильно) зберігають денотати для низки природних оцінок універсуму іменних даних , , , , ; , , та (теореми 4.5-4.6).

З цих результатів випливають такі висновки.

  1. Абстрактні композиції підстановки, розгалуження та циклування сильно зберігають денотати відносно довільної оцінки, індукованою характеристикою; збереження денотатів композицією суперпозиції за значенням цілком визначається вихідною оцінкою універсуму. Таким чином, інтенсіональні властивості іменування проявляються як на рівні функцій (функція іменування, характеристика якої, на відміну від інших основних іменних функцій, залежить від оцінки універсуму), так і на рівні композицій (суперпозиція за значенням).
  2. Класи функцій, що зберігають денотати, та обчислюваних функцій не порівнювані за включенням та не вичерпують клас всіх функцій.
  3. Примітивні програмні алгебри обчислюваних функцій, які зберігають денотати відносно природних оцінок, не скінченнопороджені; аналогічно для програмних алгебр іменних функцій. При переході до алгебр функцій, які сильно зберігають денотати, ситуація змінюється: такі алгебри скінченнопороджені.

Програмні алгебри та реляційні бази даних

Мета розділу полягає у заданні формальних моделей маніпуляційних дій в СУБД реляційного типу.

Об‘єкт дослідження – формальні моделі маніпуляційних дій у СУБД реляційного типу, якими виступає, по-перше, таблична алгебра та, по-друге, спеціальна програмна алгебра іменних функцій, орієнтована на задання семантики операторів маніпулювання даними SQL-подібних мов (SELECT, DELETE, UPDATE, INSERT). Таблична алгебра будується на основі відомих реляційних алгебр Кодда; її носій складають таблиці, а сигнатуру – операції об‘єднання, перетину, різниці, селекції, проекції, з‘єднання, ділення, перейменування та активного доповнення. Носій програмної алгебри, призначеної для задання семантики SQL-подібних мов, містить часткові іменні функції та предикати на універсальному домені, рядках, таблицях, а сигнатура складається з композицій фільтрації, взяття повного образу, агрегування та підстановки.

Основна проблематика для табличних алгебр полягає у дослідженні взаємної похідності та виразної сили сигнатурних операцій. Методика дослідження – виділення характеристичних властивостей табличних операцій (збереження множин, стабільність відношень, збереження денотатів, -обмеженість, схемна -обмеженість, абстрактність, зобразимість).

Проблематика для SQL-орієнтованої програмної алгебри полягає у адекватній побудові самого цього об‘єкта та застосуванні програмної алгебри для задання повної семантики мов маніпулювання даними.

Основні результати розділу: побудова табличної алгебри; встановлення непохідності операцій об‘єднання, селекції, проекції, з‘єднання, перейменування, активного доповнення відносно решти сигнатурних операцій та довільних констант; побудова SQL-орієнтованої програмної алгебри та її застосування для задання повної семантики операторів маніпулювання даними, включаючи таблиці з дублікатами рядків та без дублікатів, упорядковані таблиці, внутрішні та зовнішні операції з‘єднання таблиць, агрегатні функції, зокрема, конструкції квантифікації, групування.

Основні результати розділу опубліковані в [15, 16, 17, 18, 24, 25, 46, 52, 132, 134, 144, 147, 149, 148, 186, 187, 188]. У спільно виконаних роботах науковому консультанту В. Н. Редьку належить загальна постановка проблеми, означення моделей табличних структур даних [132, 134, 144, 147, 148, 149], Ю. Й. Броні – дослідження властивостей сигнатурних операцій табличних алгебр [46, 52, 134, 144, 147, 148], введення поняття мажорант [132], опис змістовної семантики операцій з‘єднання та агрегатних функцій мови SQL, еталонування операторів запитів цієї мови [15, 16, 17, 18, 186, 187, 188], С. А. Полякову – опис змістовної семантики операторів запитів, механізму квантифікації мови SQL, еталонування операторів цієї мови засобами програмних алгебр, опрацювання промислових версій СУБД MS SQL Server, Informix, які підтримують мову SQL [15, 16, 17, 18, 24, 25, 148, 186, 187, 188], та С. П. Загорському – змістовна семантика агрегатних функцій, групування та операторів оновлення даних мови SQL, опрацювання СУБД Oracle, Sybase SQL Server [16, 17, 18, 186, 187, 188].

Загальнозначні семантичні структури реляційних баз даних, змістовна семантика мови SQL

Загальна характеристика мови SQL

При розгляді мови SQL та її семантичних структур спираємось на [12, 14, 77, 78, 85, 86, 87, 104, 110, 114, 163, 204]. Мова SQL була створена IBM як одна з мов, які підтримують реляційну модель даних, запропоновану Коддом у 1970 році [192-196]. Перші комерційні продукти, що ґрунтувались на SQL, з’явилися на початку 80-х (див., наприклад, [87, с. 5-10; 104, підрозд. 3.1, с. 106-108, п. 13.1.2, с. 423-424]). Офіційний стандарт SQL з’явився лише в 1986 році як результат спільних зусиль Американського національного інституту стандартів ANSI і Міжнародної організації стандартів ISO. На той час на ринку програмного забезпечення вже існувала достатня кількість програмних продуктів, які використовували мову SQL, і ISO ставила за мету специфікувати і закріпити найбільш загальні характеристики готових комерційних реалізацій. У 1989 році стандарт 1986 року був переглянутий і добавлені в нього засоби, які забезпечують посилкову (referential) цілісність. Стандарт 1989 року SQL-1 досить важливі властивості мови встановлював залежними від реалізації, а деякі взагалі не розглядав. На практиці ж встановлені стандарти, як правило, не враховувались, і кожний постачальник програмного забезпечення не зважав на інших.

З часом ситуація змінилася: виросла кількість систем управління базами даних (СУБД) реляційного типу, тому і розробникам, і користувачам потрібна була можливість взаємодії з “чужими” базами даних. Таким чином виникла об’єктивна необхідність стандартизувати ті засоби, які були віддані на розсуд розробників. У 1992 році був розроблений новий стандарт SQL-2, який за загальним обсягом перевищив перший приблизно у 5 разів. Але комерційні реалізації SQL до цих пір все-рівно відрізняються одна від одної і немає жодної, яка б повністю відповідала стандарту SQL-2.

Зауважимо, що стандарт SQL-2 включає стандарт SQL-1 як підмножину з точністю до несуттєвих деталей [78, додаток Е, с. 235-257]; що ж до нових можливостей стандарту SQL-2, то вони описані, наприклад, у [78, розд. І, с. 12-32; 104, п. 14.7.1, с. 529].

На сьогодні розробляється стандарт SQL-3, який включатиме більше вбудованих типів даних, можливість конструювання типів користувача, розширені можливості роботи з невизначеним значенням, з динамічними обмеженнями цілісності; для транзакцій вводяться точки збереження і можливість повернення до початкового стану (roll back) вказаної контрольної точки та т.і. [104, п. 14.7.2, с. 529-530, підрозд. 23.4, с. 860-879].

Таким чином, не існує мови SQL у “чистому” вигляді, і можна говорити про клас мов – SQL-подібних мов, тобто мов, які підтримують той чи інший стандарт.

Згідно до термінології, що склалася, SQL-подібні мови в конкретних системах можна поділити на декілька підкласів: інтерактивні, вбудовані, динамічні та модульні мови (див., наприклад [78, додатки А, В, С, с. 225-248]).

Інтерактивний SQL містить оператори, які інтерпретуються в інтерактивному режимі. У вбудованому SQL за допомогою спеціального синтаксису в програму на традиційній мові програмування, яка у цьому випадку називається базовою (host language), “вбудовуються” оператори SQL. Модульний та динамічний SQL орієнтовані на формування та інтерпретацію при виконанні програм, написаних на базових мовах програмування, модулів, що складаються з операторів SQL, і у цьому розумінні ці мови відносяться до вбудованих. Зауважимо, що оператори вбудованого SQL можна поділяти на статичні та динамічні. Характеристична ознака полягає у заданні об’єктів бази даних – у статичному SQL вони задаються явно, а у динамічному – як значення змінних.

З точки зору семантики маніпуляцій над реляціями вбудовані, динамічні та модульні мови є похідними відносно інтерактивних, оскільки вони регламентують застосування операторів інтерактивних мов у деякому середовищі. Тому далі обмежимося розглядом тільки класу інтерактивних SQL-мов.

У мові SQL можна виділити дві підмови: мову опису даних (DDL – Data Definition Language, в стандартах SDL – Scheme Definition Language) і мову маніпуляційних дій (DML – Data Manipulation Language).

Мова DDL містить засоби для специфікації структур даних: задання, модифікація та знищення доменів, схем таблиць, індексів, зображень; опис обмежень цілісності (первинні та зовнішні ключі, обмеження за посиланнями, тригери); задання прав доступу до даних.

Мова DML включає оператори маніпулювання даними, оператори, пов‘язані з курсором, та оператори завершення транзакцій. У свою чергу оператори маніпулювання даними поділяються на оператори вибірки даних SELECT (за іншою термінологією запити) і оператори оновлення даних: вставки INSERT, редагування UPDATE і виключення DELETE.

Курсор – засіб мови SQL, який дозволяє за допомогою спеціальних операторів отримати порядковий доступ до результату запиту до бази даних. Шляхом виконання операторів завершення транзакцій можна фіксувати в базі даних зміни, проведені окремими операторами маніпулювання, або відміняти ці зміни (відповідно оператори COMMIT і ROLLBACK).

Семантичні структури операторів оновлення даних є похідними від семантичних структур запитів. Наприклад, семантика оператора редагування даних полягає в модифікації рядків таблиці, що задовольняють деякому предикату; цей предикат і функція, яка модифікує рядки, є спрощеними випадками відповідних фраз оператора SELECT.

Дамо стислу характеристику семантичних структур запитів SQL. Почнемо з структур даних. Таблиці – це сукупності рядків, причому допускається повторення рядків у таблиці; отже, можна говорити про дублікати (екземпляри) рядків у таблиці31. Для специфікації таблиць без дублікатів, тобто звичайних множин рядків, застосовується ключове слово DICTINCT. Рядки задаються своїми атрибутами та їх значеннями; значення атрибутів вибираються з доменів. Елементи всіх доменів лінійно впорядковані, причому у випадку похідних доменів порядок успадковується. Всі домени містять виділений елемент NULL – невизначене значення, яке обробляється спеціальним чином.

Розглянемо структуру запитів SQL, для цього наведемо синтаксичні конструкції в термінах БНФ.

<специфікація курсору>  ::= <запит> [<фраза order by>]

<запит>  ::= <терм запиту> | <запит> UNION [ALL] <терм запиту>

<терм запиту>  ::= <специфікація запиту> | (<запит>)

<специфікація запиту>  ::= (SELECT [ALL | DISTINCT] <список вибірки> <табличний вираз>)

<табличний вираз>  ::= <фраза from> [<фраза where>] [<фраза group by>] [<фраза having>]

Змістовну семантику запитів дамо, проводячи їх природню типізацію на три типи. Запити першого типу мають вигляд

SELECT <список вибірки>

FROM <табличний вираз> WHERE <умова>

ORDER BY <список впорядкування>,

причому агрегатні функції в списку вибірки не використовуються.

Рис. 5.1. Схема інтерпретації запитів, які не використовують агрегатні функції та групування

У цьому випадку семантика списку вибірки задається деякою функцією над рядками. Ця функція рядкам проміжної таблиці, яка є значенням табличного виразу фрази FROM, ставить у відповідність рядки результуючої таблиці. Змістовна семантика всього запиту уточнюється схемою, наведеною на рис. 5.1. Запитам першого типу відповідають -арні функції над таблицями. Таблиці-результати містять рядки, які будується за єдиним рядком проміжної таблиці.

Рис. 5.2. Схема інтерпретації запитів без групування, які використовують агрегатні функції

Запити другого типу мають той самий вигляд, що і розглянуті запити першого типу. Єдина відмінність полягає в тому, що список вибірки містить агрегатні функції, а список упорядкування відсутній. Причому, якщо агрегатні функції використовуються хоча б в одному елементі списку вибірки, то й усі інші елементи повинні також використовувати агрегатні функції. Змістовна семантика таких запитів зображена на рис. 5.2.

Запитам другого типу відповідають -арні функції над таблицями. Ці функції зіставляють вихідним таблицям однорядкові таблиці; єдиний рядок таблиць-результатів призначений для збереження значень агрегатних функцій (у загальному випадку значень виразів, які використовують агрегатні функції). Зауважимо, що внаслідок одноелементності таблиць-результатів список упорядкування в запитах цього типу зайвий.

Нарешті, запити третього типу використовують групування й агрегатні функції. Вони мають вигляд

SELECT < список вибірки >

FROM < табличний вираз > WHERE < умова >

Рис. 5.3. Схема інтерпретації запитів загального вигляду з групуванням

GROUP BY < список групування > HAVING < умова >

ORDER BY < список упорядкування >.

Змістовна семантика таких запитів зображена на рис. 5.3. Запитам третього типу відповідають -арні функції над таблицями; але на відміну від запитів попередніх типів кожний рядок результуючої таблиці будується за підтаблицею проміжної таблиці; такі рядки призначені для зберігання значень агрегатних функцій на підтаблицях. Отже, групування передбачає використання агрегатних функцій.

Підкреслимо, що всі операції проводяться над таблицями, що в загальному випадку містять рядки з дублікатами.

Результати інтерпретації декількох операторів SELECT можна об’єднувати, якщо вони сумісні. Сумісність в найпростішому випадку означає односхемність таблиць; цю вимогу можна дещо послабити, вимагаючи однакову кількість і узгодженість доменів атрибутів таблиць, що об‘єднуються; для цього між атрибутами таблиць встановлюється бієкція згідно з порядком атрибутів при створенні таблиць операторами CREATE TABLE. Кількість дублікатів у результаті залежить від використання операцій об’єднання UNION (дублікати ігноруються) чи UNION ALL (дублікати враховуються).

Що стосується фрази order by, то вона призначена для впорядкування рядків результуючої таблиці; відповідне бінарне відношення на рядках є передпорядком і по суті будується лексикографічним добутком вихідних або інверсних порядків на доменах атрибутів фрази order by.

Отже, для аналізу семантичних структур SQL-подібних мов необхідно принаймні дослідити моделі реляційних структур даних та операції з’єднання, селекції, проекції, об’єднання, перейменування, а також механізми групування.

Моделі реляційних структур

У цьому пункті аналізуються існуючі моделі реляційних структур та обґрунтовується необхідність введення саме уточнень, розглянутих в роботі. Наводиться характеристика найсуттєвіших особливостей цих уточнень, які відрізняють їх від уточнень, що розглядаються в літературі.

Добре відомо, що моделі баз даних, зокрема реляційні, мають щонайменше два аспекти: інформаційний, пов’язаний з уточненням структур даних, і маніпуляційний, пов’язаний з уточненням операцій над такими структурами. Уточнення в сукупності вказаних аспектів зводиться до побудови відповідної алгебри структур даних.

Основне поняття, яке складає суть реляційного підходу і тому підлягає уточненню в першу чергу, – це поняття реляції. Як всяке інтуїтивне поняття реляція потенційно припускає багато уточнень. Спочатку як одне з таких уточнень Коддом було вибране класичне поняття скінченномісного відношення як підмножини декартова добутку множин, взятих у деякому порядку; іншими словами, відношенням є множина кортежів фіксованої довжини, тобто впорядкованих n-ок для n=1,2,... На початковому етапі таке уточнення обумовило успішність та популярність реляційного підходу в базах даних. Дійсно, змістовні поняття уточнювались і досліджувались за допомогою добре розвинутого формального апарату (теорія відношень, фрагменти мов логіки предикатів першого порядку та ін.) [76, 79, 88, 89, 95, 109, 125, 131, 164, 173, 174].

Разом з тим, традиційне уточнення реляції має ряд недоліків. Наприклад, інформаційний зміст реляції, взагалі кажучи, не залежить від порядку слідування компонент, а для відношення цей порядок суттєвий (зокрема, не завжди є сенс розглядати обернену реляцію, або за іншою термінологією інверсну, аналогічно з поняттям симетричності реляцій).

Використання стандартних імен 1,2,... для доступу до компонент елементів реляції (кортежам у даному випадку) обтяжливе, що, зокрема, призводить до появи в метамові, а не в мові-об’єкті довільних (“мнемонічних”) імен як позначень стандартних. Крім того, при використанні тільки стандартних імен проблематика, пов’язана з перейменуванням, залишається взагалі поза розглядом.

Що стосується уточнень операцій, то за винятком теоретико-множинних, вихідні математичні операції зазнали суттєвої модифікації при перенесенні у реляційні бази даних. Навіть при розгляді бінарних теоретико-множинних операцій доводиться обмежувати їх на відношення однакової арності між одними і тими ж доменами.

Результатом традиційного декартова добутку відношень є бінарне відношення, яке складають пари кортежів відношень-аргументів, а результатом декартова добутку відношень в реляційній моделі (розширеного декартова добутку за термінологією [75] або геометричного добутку згідно з [165]) – відношення арності n+m, де n,m – арності відношень-аргументів, яке складають кортежі, що отримуються конкатенацією вихідних кортежів. Ця, на перший погляд, невелика різниця в означеннях призводить до суттєвих розбіжностей властивостей цих двох операцій: так розширений декартів добуток асоціативний, а вихідний класичний декартів добуток ні. Аналогічно класична операція проектування відношення за компонентою дає множину, а операція проектування відношення в реляційній моделі – відношення меншої арності, ніж відношення-аргумент.

Зазначимо характерний факт: операція добутку (за іншою термінологією композиція, послідовне застосування або згортання де Моргана) бінарних відношень, що складає ядро алгебри відношень (див., наприклад, [177]), не грає такої центральної ролі в реляційній моделі. Аналогами операції добутку виступають різноманітні параметричні операції з’єднання. Так, операція добутку відношень моделюється за допомогою операцій -з’єднання та проекції, де параметр  – це предикат перевірки рівності специфікованих компонент кортежів.

Крім того багато операцій над відношеннями, що традиційно розглядались в математиці, взагалі не знайшли відображення в реляційній моделі. Це стосується операцій інверсії, різних замикань та інших [154]. Саме з цього факту, наприклад, випливає відоме твердження про неповноту реляційної алгебри Кодда: операція рефлексивно-транзитивного замикання непохідна відносно сигнатурних операцій.

Враховуючи прикладний аспект, зазначимо, що розповсюджені реляційні системи управління базами даних в розумінні вказаного вище уточнення структур даних такими не є, оскільки допускають, наприклад, довільні імена компонент та дублікати елементів.

Отже, існують передумови, як теоретичного, так і практичного характеру, для інших “розширювальних” інтерпретацій реляцій. Починаючи з перших робіт Кодда і часто в неявній формі (подробиці див., наприклад, в [109, 173, 174]), такі спроби робилися в рамках базового поняття відношення.

По-перше, вводилися довільні імена (так звані імена атрибутів або просто атрибути) замість стандартних, і реляція уточнювалася як трійка, яку складають відношення, множина імен і бієкція між цими іменами і стандартними. Таким чином, формально довільні імена в уточненнях реляцій з’являються, але вони не не несуть ніякого семантичного навантаження.

По-друге, на множині відношень вводилося відношення еквівалентності, яке індукується перестановками компонент, і реляція уточнювалась як клас еквівалентності (так званий зв’язок – від англ. relationship). Змістовно кажучи, реляція при цьому є відношенням з точністю до перестановки компонент. При цьому довільні імена компонент (атрибути) взагалі відсутні в моделях реляцій, а з’являються, як і раніше, лише в метамові, і потенційна можливість маніпуляцій з ними (обчислення імен з подальшим засиланням і/або вибором за ними вмісту, тобто денотатів) залишається нереалізованою. Але розгляд таких маніпуляцій з іменами складає одну з провідних тенденцій у розвитку сучасних систем управління базами даних.

При вищезазначених уточненнях реляцій операції над ними вводяться досить громіздко (наприклад, згадувана еквівалентність в класі відношень повинна бути додатково стабільною відносно можливих операцій над відношеннями-представниками класів еквівалентностей, тобто бути конгруенцією).

При решті уточнень під реляцією розуміється множина функціональних відношень з однаковою областю визначення: відношення в розумінні [85, 86, 126], функціональні дані [172], позиційні множини [158, 202].

Уточнення реляції, запропоноване в [149] і використане у цьому розділі, найбільш близьке до згаданих уточнень у вигляді функціональних даних та позиційних множин. При такому уточненні розглядається один універсальний домен, в якому не виділяються спеціально інтерпретовані значення “не визначене”, “не відоме”, “не має смислу”. Це дозволяє дослідити загальні властивості табличних маніпуляцій, не вводячи до розгляду несуттєві деталі, та спростити міркування. В уточнення реляції також не вноситься схема32, що дозволяє спростити уточнення реляцій та операцій над ними. Треба зазначити, що при цьому доводиться розглядати спеціальну “порожню” таблицю (семантично – це порожня множина), якій можна зіставити довільну схему (аналогічно, наприклад, всюди невизначеній функції можна зіставити довільну арність).

Незважаючи на те, що традиційно під реляцією розуміється скінченна множина рядків, і ця обставина врахована у подальших означеннях, як правило, математичні твердження про стандартні властивості уточнень реляційних операцій залишаються вірними і для нескінченних реляцій. Підкреслимо, що означення операцій над уточненнями реляцій інваріантні відносно потужності аргументів; крім того, можна піти далі й розглядати нескінченні схеми.

Зазначимо, що наступні уточнення реляційних операцій мають такі найважливіші особливості. Операція селекції розглядається за довільним, всюди визначеним або частковим, предикатом, який не задається в термінах значень фіксованих атрибутів. Проекція – це тотальна, а не часткова операція, і параметр проектування зі схемою таблиці-аргументу ніяк не зв’язаний33. З’єднання – тотальна і не параметрична операція. Операція перейменування нетривіально уточнює перейменування атрибутів у реальних системах управління базами даних, тобто перейменовуються деякі атрибути, а решта залишаються незмінними.

Табличні алгебри

Основні означення

У цьому пункті вводиться основний об'єкт подальших досліджень підрозд. 5.2 – таблична алгебра. Дослідженню табличної алгебри присвячені праці [46, 106, 132, 134, 144, 147, 148]. Елементи її носія уточнюють реляційні структури даних, а сигнатурні операції побудовані на базі основних табличних маніпуляцій в реляційних алгебрах Кодда та мові SQL. Уточнюються маніпуляції, що складають ядро семантичних структур SQL-подібних мов: об’єднання, перетин, різниця, селекція, проекція, з’єднання, активне доповнення, перейменування та механізми групування на прикладі ділення. При розгляді структур даних відволікаємось від різних доменів атрибутів, від спеціального значення null, а також кількості екземплярів рядків в таблицях.

Уточнимо реляції в термінах іменних множин (див. п. 4.3.1). Зафіксуємо наступні дві множини: A, елементи якої назвемо атрибутами, і Dуніверсальний домен. Далі ці множини гратимуть роль множин імен та денотатів відповідно. Довільну скінченну множину атрибутів назвемо схемою.

Рядком схеми R називається іменна множина на парі R, D, проекція якої за першою компонентою рівна R. Таблицею схеми R називається скінченна множина рядків схеми R. Множину всіх рядків (таблиць) схеми R позначимо S(R) (відповідно T(R)), а множину всіх рядків (таблиць) – S (відповідно T). Таким чином, , , . Схема може бути порожньою; при цьому існує єдиний рядок схеми , який позначається . Рядки будемо позначати , таблиці –  

Носієм табличної алгебри є множина всіх таблиць T. Задамо операції. Визначимо спочатку теоретико-множинні операції, які використовують тільки множинну структуру таблиць, відволікаючись від структури рядків – елементів таблиць.

Під об’єднанням  (перетином , різницею ) таблиць схеми R розуміється бінарна часткова операція, отримана обмеженням теоретико-множинного об’єднання (відповідно перетину та різниці) на множину всіх таблиць схеми R. Таким чином, , , , де ; для перетину та різниці аналогічно.

Нехай – взагалі кажучи частковий предикат на множині рядків. Під селекцією за предикатом  розуміється унарна параметрична операція , яка таблиці зіставляє її підтаблицю, що містить рядки, на яких предикат істинний. Таким чином, , . На даному рівні абстракції структура предикатів-параметрів селекції не конкретизується.

Визначимо спеціальні операції, які використовують структуру елементів таблиць – структуру іменних множин. Нехай – скінченна множина атрибутів.

Під проекцією за множиною атрибутів X розуміється унарна параметрична операція , значеннями якої є таблиці, що складаються з обмежень за X рядків вихідних таблиць. Таким чином, , .

Під з’єднанням розуміється бінарна операція , значеннями якої є таблиці, що складаються з усяких об’єднань сумісних рядків вихідних таблиць. Таким чином,  . Це означення коректне, оскільки об’єднання функціональних відношень функціональне тоді і тільки тоді, коли відношення, що об’єднуються, сумісні (згідно з твердженням 2.4 про устрій ч. в. м. часткових функцій). Таким чином, в цій операції атрибути несуть семантичне навантаження: рівність атрибутів вимагає рівності їхніх значень в рядках, що формують результат з‘єднання.

Безпосередньо з означення випливає, що

,

де , . Саме так вводяться з‘єднання під назвою природного з’єднання чи еквіз’єднання в [126, розд. 2.4; 164, розд. 4.1].

Зазначимо, що з’єднання таблиць зі схемами, що не перетинаються, близьке до теоретико-множинного декартова добутку, але не збігається з ним: декартів добуток таблиць як множин рядків складається з усіх можливих пар рядків вихідних таблиць, а з’єднання – з усіх можливих об’єднань таких рядків.

Нехай – схеми, причому . Під діленням таблиць схеми на таблиці схеми розуміється бінарна параметрична часткова операція з областю означеності , значення якої задаються таким чином:

, де .

Введемо операцію активного доповнення так само, як і в [126]. Відповідне обмеження теоретико-множинного доповнення в множині всіх рядків відповідної схеми не вводилося, оскільки доповнення скінченної таблиці, взагалі кажучи, нескінченне, і тому не є таблицею. Активне доповнення, яке вводиться далі, апроксимує в деякому розумінні (подробиці див. у [148, підрозділ 2.2]) теоретико-множинне доповнення. Зазначимо, що ця операція, на відміну від звичайного доповнення, має властивість маніпуляційності в розумінні збереження денотатів відносно природних оцінок універсуму таблиць (див. подальший п. 5.2.2).

Почнемо з введення декількох допоміжних понять. Нехай A – атрибут, t – таблиця схеми R, тоді за означенням активний домен атрибута A відносно таблиці t за термінологією [126, розд. 2, підрозд. 2.1, с. 20]; покладемо , причому для порожньої таблиці (порожньої множини рядків) слід вибирати непорожню схему34. Відповідно до [172] C(t) назвемо насиченням таблиці t. Неважко перевірити, що C(t) – таблиця, причому . Зазначимо, що насичення таблиці близьке до прямокутного замикання бінарного відношення [154].

Під активним доповненням розуміється унарна операція ~, яка таблиці зіставляє доповнення в її насиченні; таким чином, , .

Нарешті, введемо операцію перейменування. Під перейменуванням розуміється унарна, взагалі кажучи часткова, параметрична операція , де :AA – ін’єктивне відображення на множині атрибутів, що здійснює тільки перейменування атрибутів вихідних таблиць згідно з відображенням-параметром .

Формальне означення перейменування потребує введення допоміжних понять. Змістовно кажучи, перейменування таблиці – це перейменування атрибутів її схеми; тому перейменування таблиці зводиться до перейменування її рядків; при цьому два цих перейменування зв'язані конструкцією повного образу. В свою чергу перейменування рядка – це перейменування тільки перших компонентів пар – елементів рядка. Дамо точні означення.

Нехай :AA– деяка функція перейменування атрибутів. Сім'ю всіх скінченних бінарних відношень на парі множин A, позначимо (зазначимо, що множина всіх рядків S збігається з множиною всіх скінченних функціональних бінарних відношень на парі множин A, ; таким чином, ). Під перейменуванням рядків, що відповідає функції перейменування атрибутів , розуміється наступне відображення

.

Очевидно, що при перейменуванні рядків може порушитись властивість функціональності рядків. Тепер вимагатимемо, щоб функція перейменування атрибутів  мала таку структуру: зафіксуємо ін'єктивну часткову функцію вигляду :AA і покладемо . Змістовно кажучи, атрибути з множини dom перейменовуються, а з різниці A\dom – залишаються незмінними. Наведене уточнення відповідає ситуації, коли глобально перейменовується частина атрибутів таблиць бази даних, а решта атрибутів залишається незмінними. Зазначимо, що = за умови тотальності функції .

Схему R назвемо -допустимою, якщо . Множину всіх таблиць, схеми яких -допустимі, позначимо . Можна показати, що при перейменуванні -допустимих рядків властивість функціональності не порушується (див. [148, підрозд. 2.14, леми 2.14.1, 2.14.2]).

Під перейменуванням, що відповідає ін'єктивній частковій функції перейменування атрибутів :AA, розуміється унарна параметрична операція з областю означеності , значення якої задаються таким чином: , , , де, як і раніше,.

Покладемо ,

де P,  – множини параметрів. Часткову алгебру <T; > назвемо табличною алгеброю.

Зазначимо, що ділення та перетин похідні відносно решти операцій (з приводу проблематики похідності п. 5.2.2). Розглянемо більш детально питання про схеми таблиць та особливі таблиці. Порожня множина рядків, очевидно, є таблицею; назвемо її порожньою таблицею і позначимо . Оскільки існує єдина іменна множина на парі , D – а саме порожня іменна множина , то існує і єдиний рядок схеми  – ; значить, . Що стосується таблиць схеми , то їх дві – і ; дійсно, . Очевидно, що за непорожньою таблицею її схема відновлюється однозначно, а порожній таблиці можна приписати довільну схему (підкреслимо, що має єдину схему – ).

  1.  Взаємна похідність та виразна сила сигнатурних операцій

У пункті розглядається питання про взаємну похідність сигнатурних операцій табличних алгебр, а також про виразну силу цих операцій; похідність операцій розуміється стандартно: операція називається похідною відносно деяких операцій, якщо її можна побудувати підстановкою з цих операцій і селекторів. Метод дослідження полягає у виділенні характеристичних властивостей операцій, тобто класів табличних операцій, які містять довільні селектори та замкнені відносно підстановки. Відповідні характеристичні властивості наведені у наступних підпунктах.

Збереження множини. Скажемо, що багатомісна таблична операція  зберігає множину таблиць , якщо для повного образу виконується .Очевидно, що операції, які зберігають множину , утворюють непорожній власний підклас у класі всіх табличних операцій тоді і тільки тоді, коли непорожня власна підмножина множини всіх таблиць . Також очевидно, що константна операція вигляду , зберігає непорожню множину тоді і тільки тоді, коли . Нарешті очевидно, що клас операцій, які зберігають множину, містить всі селектори та замкнений відносно підстановки.

Для дослідження збереження множини таблиць , тобто множини таблиць, що мають непорожні схеми, знадобиться лема, в якій наведені критерії рівності значення табличних операцій особливій таблиці .

Лема 5.1 (про ). Для довільних таблиць та схем виконуються наступні твердження:

  1.  ;
  2.  ;
  3.  ;
  4.  , де – довільний предикат-параметр;
  5.  , де – довільна множина атрибутів;
  6.  ;
  7.  , де – довільна функція-параметр;
  8.  ;
  9.  ;
  10.  .□

Доведення. Пункти 1-4, 7 леми випливають безпосередньо з означень операцій. Пункт 5 – це п. 4 [148, твердження 2.4.1, с. 42], а п. 6 – [148, п. 9 твердження 2.7.1, с. 52]. Достатність у п. 8 безпосередньо випливає з п. 7 [148, твердження 2.13.1, с. 82], а необхідність випливає з того ж пункту того ж твердження та з того факту, що ділення за таблицями схем будує таблицю схеми , причому . Пункт 9 – це п. 1 [148, лема 2.2.1, с. 35], а п. 10 – [148, п. 2 твердження 2.2.1, с. 37]. □

Звідси безпосередньо випливає наслідок про похідність операцій.

Наслідок 5.1 (про збереження множини ). Табличні операції , зберігають множину , операції не зберігають цю множину. □

Твердження 5.1 (про непохідність проекції та ділення). Операція проекції (ділення) не є похідною відносно операцій , та довільних констант, які фіксують таблиці, відмінні від .□

Далі для проекції посилимо це твердження про непохідність: знімемо обмеження на константи та розширимо список операцій діленням.

Дослідимо питання про збереження множини – множини таблиць, які містять щонайбільше один рядок. Для цього знадобиться лема, в якій через позначений числовий оператор добутку, причому добуток нуля співмножників покладається рівним одиниці за означенням.

Лема 5.2. Для довільних таблиць та схем таких, що визначені ліві частини відповідних нерівностей, виконуються наступні твердження:

  1.  ;
  2.  ;
  3.  ;
  4.  , де – довільний предикат-параметр;
  5.  , де – довільна скінченна множина атрибутів;
  6.  ; причому для таблиць, схеми яких не перетинаються, має місце рівність;
  7.  ;
  8.  ;
  9.  ; , де – схема таблиці , причому для порожньої таблиці слід обирати довільну непорожню схему;
  10.  , де – схема таблиці . □

Доведення. Пункти 1-4, 7 випливають безпосередньо з означень операцій. ▫

Пункти 5,6 випливають із зображень проекції та з’єднання через повний образ: ; , де – часткова бінарна операція об’єднання сумісних рядків; , , .▫

Пункт 8 випливає з включення та доведеного п. 5 для проекції. ▫

Розглянемо перше твердження п. 9. Тут треба скористатись рівністю , де – схема таблиці [148, твердження 2.9.5, с. 65], встановленим п. 6 та очевидною рівністю . Друге твердження п. 9 випливає з першого. ▫

Пункт 10 випливає з попереднього пункту та означення активного доповнення. □

Зі встановленої леми випливає, що всі операції, окрім об’єднання, зберігають множину . Таким чином, об’єднання не є похідним відносно операцій ,,,~ та довільних констант, які фіксують порожню таблицю або таблиці з одним рядком. Зрозуміло, що це обмеження на константи є дуже обтяжливим, тому встановлене твердження не дуже цікаве. Нижче знімемо обмеження на константи, будуючи відповідну множину таблиць більш складним чином. Почнемо з докладного дослідження активного домену атрибута відносно таблиці.

Лема 5.3 (про активний домен). Для довільного атрибута , довільних таблиць та схем таких, що визначені ліві частини наведених нижче виразів, виконуються наступні твердження:

  1.  ;
  2.  ;
  3.  ;
  4.  , де – довільний предикат-параметр;
  5.  , де – довільна скінченна множина атрибутів;
  6.  

де – схеми таблиць відповідно;

  1.  

де – -допустима схема таблиці , а , як і раніше;

  1.  ;
  2.  ;
  3.  . □

Доведення наведене у додатку А. □

Зафіксуємо деяку підмножину універсального домену, денотати та розглянемо сім’ю множин , яка складається з одноелементних множин , та всіх підмножин множини . Ця сім’я множин за термінологією [111, §1, п. VII] спадкова (містить довільну підмножину своєї множини), але, взагалі кажучи, не адитивна (не містить об’єднання своїх довільних множин). Адитивність порушується при , . Розглянемо множину таблиць

 .

Наслідок 5.2. Операції , зберігають множину ; операція , взагалі кажучи, не зберігає цю множину; якщо всі денотати таблиці містяться у множині (тобто ), то константна функція зберігає множину . □

Доведення. Твердження про збереження множини таблиць випливає з леми 5.3 про активний домен та спадковості множини . Для об’єднання слід розглянути однорядкові таблиці , та покласти, що денотати різні і не належать множині . Достатня умова збереження для константної функції перевіряється безпосередньо. □

Таким чином, розглянута конструкція множини має ту суттєву властивість, що за умови нескінченності універсального домену для довільних таблиць можна так підібрати параметр , що всі константні функції будуть зберігати множину ; тут довільне, але фіксоване. Для непохідності маємо наступне твердження.

Твердження 5.2 (про непохідність об’єднання). Якщо універсальний домен нескінченний, то операція об’єднання не є похідною відносно операцій , та довільних констант. □

Доведення проведемо від супротивного. Нехай об’єднання є похідним відносно вказаних операцій, тобто існує відповідний терм, в якому використовуються константи . Покладемо – множина денотатів всіх цих таблиць. Оскільки – скінченна множина, а універсальний домен – нескінченний, то оберемо різні денотати з доповнення . З наслідку 5.2 випливає, що всі функції зберігають множину , отже і об’єднання її зберігає; прийшли до протиріччя. □

Зауважимо, що якщо у твердженні 5.2 вилучити операції перейменування, то означення множини таблиць можна дещо спростити: треба зафіксувати атрибут та покласти .□

Застосуємо техніку збереження множин для встановлення непохідності з’єднання. Почнемо з очевидної леми про зв’язок між схемами таблиць-аргументів та таблиць-результатів.

Лема 5.4 (про схеми). Операції , ,~ не змінюють (однакові) схеми таблиць-аргументів; операція за таблицею схеми будує таблицю схеми ; операція за таблицями схем – таблицю схеми; операція за таблицею -допустимої схеми – таблицю схеми ; операція за таблицями схем – таблицю схеми .□

Доведення. Для операцій , твердження про схеми очевидні; для проекції, з’єднання та перейменування твердження про схеми були встановлені у [148, відповідно твердження 2.4.1, п. 1, с. 42; твердження 2.7.1, п. 1, с. 52; твердження 2.14.1, п. 1, с. 90]. □

Зафіксуємо та розглянемо множину таблиць, схеми яких містять щонайбільше атрибутів . З попередньої леми 5.4 про схеми безпосередньо випливає наслідок про збереження множини .

Наслідок 5.3. Операції , зберігають множину . Константна операція зберігає множину тоді і тільки тоді, коли для таблиці існує схема, яка містить не більше атрибутів. Якщо множина атрибутів нескінченна, то операція не зберігає множину . □

Твердження 5.3 (про непохідність з’єднання). Якщо множина атрибутів нескінченна, то операція з’єднання не є похідною відносно операцій , та довільних констант. □

Доведення проведемо від супротивного. Нехай з’єднання є похідним відносно вказаних операцій та деяких констант , . Нехай – схеми цих таблиць (для порожньої таблиці фіксуємо довільну схему), покладемо . З наслідку 5.3 випливає, що всі операції, відносно яких з’єднання є похідним, зберігають множину , отже і з’єднання її зберігає. Прийшли до протиріччя. □

Мажоранти. Розглянемо іншу характеристичну властивість операцій, що базується на лемі 5.2. Функцію натурального аргумент та значення будемо називати арифметичною.

Арифметичну функцію назвемо мажорантою табличної операції  тієї ж арності ( для визначеності), якщо для довільних таблиць з області означеності операції виконується нерівність .

Змістовно кажучи, мажоранта за потужностями таблиць-аргументів будує верхню оцінку потужності таблиці-результату. З леми 5.2 випливає наведене нижче твердження про мажоранти основних табличних операцій, які будемо записувати в термальній формі зі змінними .

Лема 5.5 (про мажоранти). Мажорантою для операції є функція ; мажорантою для операцій , є функція ; мажорантою для операції є функція ; мажорантою селекторної (константної) табличної операції є селекторна (константна) арифметична функція; якщо множина атрибутів скінченна, то мажорантою для операцій та є функція , де ; якщо ж множина нескінченна, а універсальний домен має хоча б два елементи, то насичення і активне доповнення взагалі не мають мажорант. □

Доведення. Твердження про вказані мажоранти табличних операцій випливають з леми 5.2. ▫

Доведемо, що насичення не має мажоранти за вказаних умов на множини та . Ідея полягає в тому, що, по-перше, згідно з п. 9 леми 5.2 потужність залежить від потужностей вихідної таблиці та її схеми, по-друге, потужність схеми таблиці не відновлюється за потужністю таблиці, по-третє, мажоранта залежить тільки від потужності таблиці. Формальне доведення проведемо від супротивного. Нехай – мажоранта насичення. Зафіксуємо натуральне так, щоб виконувалася нерівність і розглянемо таблицю зі схемою та двома константними рядками вигляду

 ,

де – деякі різні денотати. Тоді згідно з п. 9 леми 5.2 маємо – протиріччя. З не існування мажоранти насичення випливає аналогічний факт для активного доповнення: дійсно, якщо – мажоранта для активного доповнення , то – мажоранта для насичення , а вона не існує. □

Щоб застосувати мажоранти для встановлення похідності операцій, розглянемо питання про мажоранти підстановок. Нижче монотонність арифметичних функцій розуміється стандартно (як стабільність теоретико-числового порядку відносно функцій).

Лема 5.6 (про мажоранту підстановки). Мажорантою підстановки табличних операцій є підстановка мажорант вихідних табличних операцій за умови монотонності мажоранти операції, в яку здійснюється підстановка. □

Доведення. Нехай , де операція має арність , а операції мають однакову арність, яку позначимо через . Нехай далі – мажоранти відповідних табличних операцій, причому – монотонна функція. Для довільних таблиць з області означеності операції маємо:

 

Нехай – деякий клас арифметичних монотонних функцій. Табличну операцію назвемо -обмеженою, якщо вона має в класі мажоранту. Повертаючись до питання про похідність табличних операцій, розглянемо такі значення параметра : – клас всіх арифметичних монотонних функцій, – клас всіх лінійних арифметичних функцій, тобто функцій вигляду , де – натуральні числа. З останньої леми безпосередньо випливає наслідок.

Наслідок 5.4. Якщо клас замкнений відносно підстановки, то і клас всіх -обмежених табличних операцій замкнений відносно підстановки. Зокрема, класи -обмежених та -обмежених табличних операцій замкнені відносно підстановки. □

Доведення випливає з замкненості класів та відносно підстановки та з монотонності лінійних арифметичних функцій. □

Що стосується належності табличних операцій до класів - та -обмежених операцій, то виконується лема.

Лема 5.7. Табличні операції , селектори та константні операції є -обмеженими, отже й -обмеженими. Якщо множина атрибутів нескінченна, а універсальний домен містить хоча б два елементи, то операції не є -обмеженими. Операція є -обмеженою; операція не є -обмеженою тоді і тільки тоді, коли множина містить не менше двох елементів, а – нескінченна множина, або, навпаки, містить не менше двох елементів, а – нескінченна множина. □

Доведення наведене у додатку А. □

З цієї леми та наслідку 5.4 безпосередньо випливає твердження, яка доповнює твердження 5.3.

Твердження 5.4 (про непохідність насичення, активного доповнення, з’єднання). Якщо множина атрибутів нескінченна, а універсальний домен містить хоча б два елементи, то операції насичення та активного доповнення не є похідними відносно операцій , та довільних констант. Якщо множина атрибутів містить хоча б два атрибути, а універсальний домен нескінченний, або навпаки, містить хоча б два денотати, а множина нескінченна, то операція з’єднання не є похідною відносно операцій , та довільних констант. □

Схемні мажоранти. Операції над множиною назвемо схемними операціями. Скажемо, що схемна операція  зображає табличну операцію  тієї ж арності ( для визначеності), якщо для довільних таблиць з області означеності операції має місце імплікація

 .

Змістовно кажучи, ця схемна операція за довільними схемами таблиць-аргументів будує схему таблиці-результату. Зауважимо, що таблична операція не індукує єдину схемну операцію, яка її зображає, оскільки порожній таблиці можна зіставити довільну схему. В наступній лемі в термальній формі запису наведені схемні операції, які зображають основні табличні операції.

Лема 5.8 (про зображаючі). Константна схемна операція вигляду зображає операцію ; не існує схемної операції, яка зображає всі операції об’єднання , . Схемна операція зображає всі операції та (змінна відповідає першому аргументу). Тотожна схемна операція зображає всі операції селекції , а також операції . Схемні операції , , , зображають відповідно операції , , , . Не існує схемної операції, яка зображає всі операції ділення , . □

Доведення наведене у додатку А. □

Поняття схемної мажоранти вводиться аналогічно випадку мажорант. Арифметичну функцію назвемо схемною мажорантою схемної операції  тієї ж арності, якщо для довільних схем з області означеності операції виконується нерівність ; тут – однакова арність функцій та .

Наведемо мажоранти схемних операцій, вказаних у попередній лемі, бо нас цікавлять саме схемні мажоранти операцій, які зображають табличні операції.

Лема 5.9 (про схемні мажоранти). Схемними мажорантами операцій , , , де є функції , , відповідно. Схемними мажорантами константних та селекторних схемних операцій є константні та селекторні арифметичні функції. □

Наступна лема відповідає на запитання про операції, які зображають підстановки, та про схемні мажоранти підстановки.

Лема 5.10 (про операцію, яка зображає підстановку, та її мажоранту). Схемна операція, яка зображає підстановку табличних операцій, будується підстановкою схемних операцій, що зображають вихідні табличні операції. Схемною мажорантою підстановки схемних операцій є підстановка схемних мажорант вихідних схемних операцій за умови монотонності схемної мажоранти операції, в яку здійснюється підстановка. □

Доведення для операції, яка зображає підстановку, проводиться безпосередньо. Випадок схемних мажорант розглядається аналогічно випадку мажорант (лема 5.6). □

Нехай – деякий клас арифметичних монотонних функцій. Табличну операцію назвемо схемно -обмеженою, якщо у класі існує схемна мажоранта деякої схемної операції, яка зображає вихідну табличну операцію.

Повертаючись до похідності табличних операцій, розглянемо таке значення параметра :  – клас всіх селекторних та константних арифметичних функцій. З останньої леми безпосередньо випливає наслідок.

Наслідок 5.5. Якщо клас замкнений відносно підстановки, то і клас всіх схемно -обмежених табличних операцій замкнений відносно підстановки. Зокрема, це виконується для класу схемно -обмежених табличних операцій. □

Доведення випливає з монотонності селекторних та константних функцій, а також із замкненості відносно підстановки класу.□

Нарешті, застосуємо наведене поняття до похідності табличних операцій.

Твердження 5.5 (про непохідність з’єднання). Табличні операції , , константні та селекторні операції є схемно -обмеженими. З’єднання не є схемно -обмеженою операцією за умови нескінченності множини атрибутів . З’єднання не є похідним відносно операцій , та довільних констант, якщо множина нескінченна. □

Доведення. Друге твердження випливає з першого та наслідку 5.5. Перше твердження випливає з леми 5.8 про зображаючі операції та леми 5.9 про схемні мажоранти.□

Таким чином, за допомогою поняття схемної обмеженості отримали друге доведення твердження 5.3 про непохідність з’єднання, в якому використовувалася техніка збереження множини.

Збереження денотатів. Для дослідження похідності перейменування розглянемо конкретну оцінку: , , де – зафіксований атрибут. Універсальний домен покладається нескінченним.

Лема 5.11 (про збереження -денотатів). Операції , сильно зберігають -денотати. Для операції перейменування виконуються імплікації:

сильно зберігає -денотати;

не зберігає -денотати.□

Доведення. Сильне збереження -денотатів вказаними операціями безпосередньо випливає з леми 5.3 про активний домен. ▫

Доведемо першу імплікацію для перейменування. Розглянемо довільну таблицю , схема якої є -допустимою, та оцінимо множину . Таблиця має схему . Якщо , то згідно з п. 7 леми 5.3 . Тому далі розглянемо випадок .

У свою чергу, якщо , то, з огляду на п. 7 леми 5.3, . Отже, залишається розглянути належність .

Повернемося до посилки імплікації, що доводиться. Отже, , тобто або . У першому випадку , що суперечить умові ; у другому – очевидно, що , значить за п. 7 леми 5.3 маємо . Таким чином, довільний доданок характеристики операції порожній, тому ця операція сильно зберігає -денотати (див. означення 4.2). ▫

Доведемо другу імплікацію. Нехай , тобто для деякого атрибута , причому . Оцінимо -характеристику перейменування:

 .

Вище скористалися тим, що одноелементна схема є -допустимою, а також тим, що таблиця зі схемою після перейменування має схему . Отже, -характеристика перейменування збігається з нескінченним універсальним доменом. залишається застосувати твердження 4.1 – критерій збереження денотатів у термінах характеристик. □

З доведеної леми випливає, що перейменування або сильно зберігає -денотати, або взагалі не зберігає денотати. Таким чином, перейменування не може мати скінченну непорожню -характеристику. Крім того, характеристична ознака збереження -денотатів полягає в існуванні атрибута такого, що , . З леми про збереження -денотатів безпосередньо випливає твердження.

Твердження 5.6 (про непохідність перейменування). Якщо універсальний домен нескінченний, а відображення-параметр не є діагоналлю, то операція перейменування не є похідною відносно операцій , та довільних констант. □

Доведення. Якщо не діагональ, то існують різні атрибути такі, що . Залишається застосувати попередню лему 5.11 про збереження -денотатів при виборі саме цього атрибута . □

Зауважимо, що в припущенні нескінченності універсального домену умова на відображення є не тільки достатньою, а й необхідною. Дійсно, якщо – діагональ, то перейменування вироджується в тотожну операцію.

Абстрактність. Характеристична властивість бути абстрактною операцією призначена для дослідження похідності селекції. Абстрактні операції не використовують жодної інформації про денотати таблиць, зокрема інформації про рівність деякому виділеному елементу. Щоб дати точне означення, зафіксуємо на універсальному домені ін’єкцію і розповсюдимо її наступним чином на множину всіх рядків і таблиць

, , ,, .

Очевидно, що відображення ін’єктивні. Таблична -арна операція  називається -абстрактною, якщо для довільних таблиць з її області означеності виконується рівність [35]; іншими словами, операція – -абстрактна, якщо відображення є ізоморфізмом (часткової) алгебри в себе. Очевидно, що селектори є -абстрактними операціями, а тотальна константна операція є -абстрактною тоді і тільки тоді, коли . Остання рівність виконується зокрема, якщо всі денотати таблиці є нерухомими точками вихідної ін’єкції . Безпосередньо перевіряється, що клас -абстрактних операцій замкнений відносно підстановки. Для встановлення абстрактності основних табличних операцій знадобиться технічна лема.

Лема 5.12. Виконуються наступні твердження:

1. для довільної множини атрибутів ;

2. , де , а – довільна функція-параметр;

3. для довільних рядків ;

4. для довільних рядків таких, що ;

5. для довільного атрибута та таблиці ;

6. для довільного індексування .□

Доведення проводиться безпосередньо. В останньому пункті леми йде мова про розповсюдження відображення і на нескінченні таблиці. □

Лема 5.13 (про абстрактність). Табличні операції , є -абстрактні для довільного . Селекція  -абстрактна тоді і тільки тоді, коли для предиката-параметра виконується еквівалентність .□

Доведення. -Абстрактність об’єднання випливає з дистрибутивності повного образу відносно об’єднань; -абстрактність перетину та різниці також випливає з дистрибутивності повного образу відносно перетину та різниці за умови ін’єктивності. ▫

Для проекції з врахуванням загальних властивостей повного образу та п. 1 леми 5.12 маємо:

 .▫

Випадок перейменування розглядається аналогічно з використанням п. 2 леми 5.12.▫

Для насичення за його означенням та пунктами 5,6 леми 5.12 маємо:

 ,

де – довільна таблиця, а – її схема. ▫

-Абстрактність активного доповнення випливає з його означення, встановленої -абстрактності насичення та різниці, а також із замкненості -абстрактних операцій відносно підстановки. ▫

Встановимо рівність для довільних таблиць . Нехай . Тоді для деякого рядка . Для цього рядка існують рядки , такі, що , . Отже, з огляду на пункти 3,4 леми 5.12, маємо , причому . Залишається врахувати, що , а . Включення встановлене, а обернене включення доводиться аналогічно. ▫

Випадок ділення розглядається аналогічно випадку активного доповнення з урахуванням відомого зображення ділення через операції .▫

Доведемо критерій -абстрактності селекції. Необхідність легко встановлюється від супротивного, переходимо до достатності. Неважко перевірити, що умова на область істинності предиката еквівалентна рівності . За властивостями повного образу з урахуванням ін’єктивності маємо рівності

 

Вище врахували очевидне включення . □

Скажемо, що таблична операція абстрактна, якщо вона -абстрактна при всіх . З останньої леми про абстрактність випливає, що всі основні табличні операції, крім селекції, абстрактні. Що стосується селекції, то її -абстрактність (абстрактність) цілком визначається предикатом . Так, селекція за всюди істинним (хибним) предикатом (відповідно ) абстрактна, а селекція за предикатом , де не є абстрактною.

Предикат-параметр цілком визначає і похідність селекції . Так, оскільки , , то ці селекції є похідними відносно з’єднання та константи .

Твердження 5.7 (про похідність селекції). Селекція вигляду не є похідною відносно операцій ,. Якщо універсальний домен нескінченний, то існує предикат такий, що селекція не є похідною відносно операцій , та довільних констант. □

Доведення. Перше твердження випливає з того, що селекція  -абстрактна тоді і тільки тоді, коли (треба застосувати лему 5.13 про абстрактність), Отже, ця селекція не є абстрактною. З іншого боку, решта вказаних операцій абстрактні.▫

З огляду на нескінченність універсального домену оберемо його нескінченну підмножину з нескінченним доповненням. Розглянемо предикат на рядках: для всіх рядків . Припустимо, що селекція похідна відносно вказаних операцій, та нехай – константи відповідного терму. Покладемо – скінчення множина всіх денотатів таблиць . Зафіксуємо два денотати так, щоб виконувалося: , ; зважаючи на нескінченність множин та скінченність множини це завжди можна зробити. Розглянемо функцію

 

де . Змістовно кажучи, функція міняє місцями тільки денотати .

Очевидно, що ін’єктивна і . Отже, можна говорити про -абстрактність операцій. З останньої рівності випливає, що константні операції  -абстрактні. Таким чином, за лемою 5.13, з огляду на похідність, і селекція є -абстрактною. Але за критерієм абстрактності селекції операція не є -абстрактною: дійсно, , але . □

Зауважимо, що , де , для всіх таблиць , схеми яких містять атрибут (у загальному випадку35 ). Таким чином, обмеження селекції на множину всіх таблиць, схеми яких містять атрибут , є обмеженням на цю ж множину операції, похідної відносно з’єднання і константи .

Зобразимість. Посилимо твердження 5.1 стосовно проекції: знімемо обмеження на застосування константи та розширимо список вихідних операцій діленням. Через позначимо множину бінарних відношень на множині атрибутів, що отримується замиканням сім’ї функцій операціями композиції та теоретико-множинного об’єднання. Вище – порожнє бінарне відношення, – діагональ на множині , – множина значень параметра перейменування. За означенням множина замкнена відносно композиції та об’єднання.

Скажемо, що схемна -арна операція  зобразима, якщо існує терм вигляду , де , , такий, що виконується рівність для всіх значень (тобто терм зображає схемну операцію).

Лема 5.14 (про зобразимість). Клас зобразимих схемних операцій замкнений відносно підстановки. □

Доведення наведене у додатку А. □

Скажемо, що таблична операція зобразима, якщо в класі зобразимих схемних операцій існує операція, яка зображає цю табличну операцію. З останньої леми та леми 5.10 про операцію, яка зображає підстановку, безпосередньо випливає наслідок.

Наслідок 5.6. Клас табличних зобразимих операцій замкнений відносно підстановки. □

Наступна лема говорить про зобразимість основних табличних операцій.

Лема 5.15. Операції ,, константні та селекторні операції зобразимі. Проекція не є зобразимою. □

Доведення. Зобразимість випливає з леми 5.8 про зображаючі. Зауважимо, що для перейменування відповідний терм має вигляд . Те, що проекція не є зобразимою, перевіряється від супротивного. □

Твердження 5.8 (про похідність проекції). Проекція не є похідною відносно операцій , та довільних констант. □

Доведення. Твердження випливає безпосередньо з наслідку 5.6 та леми 5.15. □

Стабільність відношень. Нехай – деяке бінарне рефлексивне відношення на множині таблиць . Будемо розглядати табличні операції, відносно яких відношення стабільне. Безпосередньо перевіряється, що відношення стабільне відносно селекторів та константних операцій (саме для випадку констант на вихідне відношення накладається умова рефлексивності); крім того, неважко перевірити, що клас операцій, відносно яких відношення стабільне, замкнений відносно підстановки. Будемо розглядати далі такі два значення параметра : звичайне теоретико-множинне включення і відношення односхемності . У першому випадку приходимо до класу монотонних функцій.

Лема 5.16. Табличні операції , є монотонними (відносно ), операції , не є монотонними (більш точно операції , є монотонними за першим аргументом і антимонотонними за другим). Відношення односхемності стабільне відносно всіх вказаних операцій. □

Доведення. Твердження щодо монотонності операцій , перевіряються безпосередньо; щодо монотонності інших вказаних операцій встановлені у [148]: насичення – лема 2.2.1, п. 5, с. 35; селекція – твердження 2.3.1, п. 3, с. 39; проекція – твердження 2.4.1, п. 6, с. 42; з’єднання – твердження 2.7.1, п. 12, с. 52; перейменування – твердження 2.14.1, п. 3, с. 90; ділення – твердження 2.13.1, пункти 1, 2, с. 82. Твердження щодо стабільності відношення односхемності перевіряється безпосередньо (зауважимо, що це твердження уточнює той факт, що схема таблиці-результату визначається тільки схемами, а не вмістом таблиць-аргументів). □

Звідси безпосередньо випливає таке твердження.

Твердження 5.9 (про непохідність різниці, ділення, активного доповнення). Операції різниці , ділення , активного доповнення не є похідними відносно операцій , та довільних констант. □

Взаємна похідність основних табличних операцій. Таким чином, у попередніх підпунктах розв’язане питання про непохідність об’єднання (характеристична властивість – не збереження множини , де ), з’єднання (характеристичні властивості – не збереження множини , не -обмеженість, не схемна -обмеженість), перейменування (не збереження -денотатів), селекції (не абстрактність), насичення та активного доповнення (не -обмеженість), проекції (не зобразимість).

Залишається розглянути операції ділення, перетину та різниці. Відомий вираз ділення через проекцію, різницю та з’єднання . З леми 5.16 випливає, що у цьому виразі різниця присутня з огляду на немонотонність різниці та ділення, а проекція забезпечує діленню не збереження множини , де (лема 5.1). Що ж стосується перетину, то відома рівність , якщо [148, твердження 2.7.1, п. 6, с. 52]. Отже перетин збігається з обмеженням з’єднання на множину таблиць схеми . Крім того для всіх , тобто перетин похідний відносно різниці. Питання про непохідність різниці прояснює твердження 5.9.

Виразна сила операцій. За допомогою наведених у попередніх підпунктах характеристичних властивостей наведемо приклади природних операцій, що не є похідними відносно сигнатурних операцій табличних алгебр.

Нижче – клас арифметичних функцій, які зображаються поліномами. Оскільки цей клас функцій замкнений відносно підстановки, то і клас -обмежених табличних операцій замкнений відносно підстановки (згідно з наслідком 5.4). Аналогічно замкненим відносно підстановки є і клас схемно -обмежених табличних операцій.

Надалі нам знадобиться оцінка , . Універсальний домен покладається нескінченним. Можна безпосередньо перевірити, що має місце наступний факт.

Лема 5.17. Всі операції ,, сильно зберігають -денотати. □

Лема уточнює той факт, що вказані операції тільки перебудовують аргументи, тобто операції є маніпуляційними. Наступне твердження окреслює границі виразних можливостей табличної алгебри.

Твердження 5.10. Довільна операція, яка не є -обмеженою, не може бути похідною відносно операцій , та довільних констант. Довільна операція, яка не є схемно -обмеженою (не зберігає -денотати, відношення односхемності не є стабільним відносно цієї операції), не може бути похідною відносно операцій , та довільних констант. □

Доведення проводиться від супротивного з використанням лем 5.16-5.17 та замкненості відповідних класів табличних операцій. □

Саме з останнього твердження випливає непохідність у табличній алгебрі агрегатних функцій; операцій, які обчислюють схеми результатів за вмістом аргументів, та інших подібних операцій.

В табл. 5.1 наведені характеристичні властивості операцій. Стовпці таблиці відповідають властивостям, рядки – операціям. Знак “+” означає, що операція має властивість, знак “–“ – не має. Отже, ця таблиця містить всі сформульовані вище твердження щодо взаємної похідності та виразної сили операцій.

Таблиця 5.1 – Характеристичні властивості табличних операцій

Операція

Збереження множини

Стабіль-ність відношення

Збере-ження денотатів

-обме-женість

Схемна

-обме-женість

Абст-ракт-ність

Зоб-рази-мість

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

~

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+


SQL-орієнтовані програмні алгебри

Операції на таблицях

У цьому підрозділі будується програмна алгебра, орієнтована на моделювання семантичних структур операторів маніпулювання даними SQL-подібних мов. Почнемо з уточнення основних операцій на таблицях.

Теоретико-множинні операції. Об’єднання, перетин і різниця таблиць . Областю означеності цих операцій є множина пар односхемних таблиць , а значення знаходяться, відповідно, як теоретико-множинний перетин, об’єднання і різниця таблиць-аргументів. Очевидно, що схема результуючої таблиці збігається зі схемами вихідних таблиць.

Зауважимо, що при введенні табличної алгебри (п. 5.2.1) розглядалися параметризовані за схемою теоретико-множинні операції на таблицях. Очевидно, що з точки зору виразних можливостей ці два підходи еквівалентні36.

Операції внутрішнього з’єднання. Під декартовим з’єднанням (cross join, Cartesian join) розуміється часткова операція вигляду ,

,

.

Під внутрішнім природним з’єднанням (inner natural join), а за іншою термінологією з’єднання (п. 5.2.1) або еквіз’єднанням, розуміється всюди визначена операція вигляду ,

.

Отже, з’єднання табличних алгебр у SQL-подібних мовах з’являється під назвою внутрішнього природного з’єднання; з’єднання докладно вивчається у [148 підрозд. 2.7-2.10].

Під внутрішнім з’єднанням за атрибутами , (inner join using ) розуміється часткова параметрична операція вигляду ,

,

.

Нехай – взагалі кажучи, частковий бінарний предикат на множині всіх рядків , такий, що виконується імплікація

 .

Під внутрішнім з’єднанням за предикатом  (inner join on ) розуміється, взагалі кажучи, часткова операція вигляду ,

,

.

Зауважимо, що в мові SQL декартове з’єднання – це тотальна операція, тотальність досягається попереднім перейменуванням спільних атрибутів. При з’єднанні за атрибутами перетин схем таблиць-аргументів включає перелічені атрибути. Спільні атрибути таблиць-аргументів, які відрізняються від атрибутів , перед з’єднанням також перейменовуються.

Маючи наведене вище уточнення операцій внутрішнього з’єднання, можна зробити два висновки. По-перше, операція з’єднання займає особливе місце, оскільки вона є розширенням довільної іншої операції внутрішнього з’єднання у наступному розумінні:

 , ,

за умови визначення значень операцій у лівих частинах цих виразів37. По-друге, параметрична операція з’єднання за предикатом також займає особливе місце, бо решта операцій є операціями з’єднання за відповідними нижче наведеними предикатами:

, , ;

 , ;

 ,,

 .

Іншими словами, – частковий константний предикат, істинний на рядках зі схемами, які не перетинаються; – тотальний предикат, істинний на сумісних рядках; нарешті, – частковий предикат, істинний на рядках, які мають однакові значення всіх атрибутів ; причому предикат визначений тільки на рядках, спільними атрибутами яких є вказані атрибути .

Операції зовнішнього з’єднання. Всі операції зовнішнього з’єднання підпорядковані своїм операціям внутрішнього з’єднання і задаються за однією логічною схемою. Опишемо цю схему. Нехай – деяка часткова операція на множині таблиць, причому виконується включення для всіх . Нагадаємо, що операції внутрішнього з’єднання саме такі.

Зафіксуємо таблиці з області означеності операції . Тоді перша (ліва в інфіксному записі) таблиця припускає наступне розбиття:

 ,

де ,

 .

Кажучи змістовно, рядки з підтаблиці використовуються в формуванні результату з’єднання, а рядки з підтаблиці не використовуються, оскільки їх продовжень в результаті з’єднання немає. Зауважимо, що за термінологією [104, п. 3.4.1, с. 130] таблиця називається напівз’єднанням таблиць . Операції лівого, правого і повного зовнішнього з’єднання якраз і призначені для врахування рядків таблиць-аргументів, які не попали в результат вихідного внутрішнього з’єднання. Але при цьому виникає питання: як розширити рядки до надсхеми. Для цього в SQL використовується особливий елемент універсального домену .

Нижче через позначимо наступний константний рядок . Задамо безпосередньо операції зовнішнього з’єднання, індуковані операцією внутрішнього з’єднання . Для цього знадобляться наступні природні з’єднання, в яких – схеми таблиць відповідно:

 ,

 .

Під зовнішнім лівим з’єднанням, індукованим операцією  (outer left join), розуміється операція вигляду

, ,.

Під зовнішнім правим з’єднанням (outer right join) розуміється операція вигляду

, , .

Під повним зовнішнім з’єднанням (outer full join) розуміється операція вигляду

, ,

.

Під зовнішнім з’єднанням об’єднанням (union join) розуміється операція вигляду

, ,

.

Таким чином, ліве з’єднання призначене для врахування рядків першої таблиці, які не беруть участі у внутрішньому з’єднанні, праве з’єднання – для врахування рядків другої таблиці, які не беруть участі у внутрішньому з’єднанні, повне з’єднання – для врахування рядків обох таблиць-аргументів, які не беруть участь у внутрішньому з’єднанні. Нарешті, з’єднання об’єднанням, на відміну від попередніх операцій, не поповнює результат внутрішнього з’єднання, а будує лише відповідним чином розширені рядки таблиць-аргументів, які не беруть участі у внутрішньому з’єднанні.

Зауважимо, що в мові SQL при зовнішніх з’єднаннях спільні атрибути в разі потреби попередньо перейменовуються, як і для вихідних операцій внутрішнього з’єднання.

Структура операцій з’єднання. Повернемося до операцій внутрішнього з’єднання SQL. Для декартового з’єднання зовнішні з’єднання не має сенсу вводити, тому що ліве, праве і повне з’єднання збігаються з ним, а з’єднання об’єднанням завжди будує порожню таблицю. Крім того, у сучасному SQL, включаючи останні версії, зовнішнє з’єднання об’єднанням підтримується тільки для природного з’єднання (аналізувались доступні джерела). Структура сім’ї операцій з’єднання мов типу SQL наведена в табл. 5.2.

Зауважимо, що попередні конструкції треба модифікувати для врахування особливої ролі елемента при визначенні сумісних рядків: рядки сумісні, якщо спільні атрибути мають однакові значення у рядках, причому значення відрізняються від . Тієї ж мети можна досягти, розглядаючи наступне уточнення рівності у тризначній логіці:

 

для всіх ; тут – невизначене логічне значення (unknown). Тоді відношення сумісності, якому відповідає вже тризначний предикат, модифікується так: , де – схема рядка , . Зауважимо, що у SQL-подібних мовах рівність уточнюється саме як предикат . Крім того, наведене означення є проявом загальної ситуації при розширенні предикатів на -значення: предикати зберігають -значення, тобто якщо хоча б один аргумент дорівнює , то результатом є невизначене булеве значення .

Аналогічно функції при розширенні на -значення зберігають його: якщо хоча б один аргумент збігається з , то результат є . Отже, ситуація подібна природним розширенням часткових функцій (п. 2.3.4), але у SQL розширені функції розглядаються як часткові (наприклад, ділення).

Таблиця 5.2 – Структура операцій з’єднання

Внутрішні

Предикат опера-

Зовнішні з’єднання

з’єднання

ції з’єднання за предикатом

ліве

праве

повне

об’єд-нанням

декартове

природне (еквіз’єднання)

+

+

+

+

з’єднання за атрибутами 

+

+

+

з’єднання за предикатом

+

+

+

Композиції фільтрації та повного образу

З точки зору композиційного підходу семантиками програм мов маніпулювання даними є функції, визначені на таблицях, значеннями яких виступають знову таблиці, зокрема впорядковані. Такі функції будуються з атомарних (вихідних) функцій за допомогою спеціальних засобів, що називаються композиціями, котрі є спеціальними операціями над функціями. Специфіку реляційних мов складає те, що ці мови орієнтовані на роботу з множинами у вигляді таблиць, на відміну від універсальних мов типу Pascal або C, що орієнтовані на обробку даних по елементах. Тому композиції, виділені і досліджені в цих мовах, такі як циклування, послідовне застосування, розгалуження та інші, неадекватні для опису семантики реляційних мов38. Останні вимагають спеціальних композицій, суть яких полягає в перенесенні рядкових функцій (функцій, які працюють з елементами) на таблиці (множини).

Розглянемо основні композиції, що використовуються в реляційних мовах типу SQL. Ці композиції будуть задаватися на багатомісних функціях, аргументи і значення яких належать одній з множин – . Іншими словами, позначаючи множини сім’ї як , будемо розглядати часткові функції вигляду , .

Певна річ, семантиками операторів запитів є функції вигляду , , тобто багатомісні операції над таблицями. Але в процесі побудови таких функцій будуть використовуватись функції, що визначені на універсальному домені, рядках, таблицях.

Предикатами назвемо функції вигляду , . Використання тризначної логіки викликане тим, що в SQL задіяна саме така логіка. Елементи множин позначимо літерою з індексами. При записі рівностей значень часткових функцій, будемо використовувати узагальнену рівність .

Композиція фільтрації Fl предикату вигляду ставить у відповідність функцію , , довільне значення якої задається узагальненою рівністю

  (5.1)

для всіх , ; . У випадку, коли хоча б одне значення вигляду , де , невизначене, то і значення в лівій частині рівності (5.1) покладається невизначеним.

Композиція взяття повного образу Im функції вигляду ставить у відповідність функцію вигляду , n0, довільне значення якої задається узагальненою рівністю

   (5.2)

для всіх , ; . При цьому значення покладається невизначеним, якщо хоча б одне значення вигляду , де , невизначене. Як і у випадку композиції фільтрації це уточнення диктується алгоритмічною природою інтерпретації операторів SQL. В реалізації, як правило, видається повідомлення про помилку.

Для забезпечення коректності означення композиції взяття повного образу множина в правій частині рівності (5.2) повинна бути таблицею. Для цього на вихідну функцію накладемо наступне обмеження. Будемо вимагати, щоб відношення односхемності рядків , яке визначається аналогічно відношенню односхемності таблиць (див п. 5.2.2), було стабільним відносно функції за останнім аргументом: для всіх .

Приклади визначення семантики низки представницьких запитів за допомогою введених композицій, а також підстановки можна знайти в [148, підрозд. 3.3].

Композиції для випадку мультимножин

Мультимножини. Визначення таблиці як множини рядків однієї схеми припускає, що кожний елемент таблиці може зустрічатися точно один раз, що, взагалі кажучи, не має місце у сучасних СУБД. Так, навіть якщо у початковій таблиці кожний елемент зустрічається не більш, ніж один раз, то після виконання проекції або об’єднання можуть з’явитися дублікати, причому кількість дублікатів суттєво впливає на остаточний результат. Тому подальше уточнення таблиць буде проведене на основі поняття мультимножини, тобто множини з дублікатами.

Для уточнення цього поняття позначимо – множина натуральних чисел з нулем, покладемо . Зафіксуємо деяку множину .

Під мультимножиною  з основою будемо розуміти відображення вигляду .

Змістовно пара означає, що елемент має дублікатів у мультимножині . Зауважимо, що мультимножини близькі до комбінаторного поняття комбінацій з повтореннями [179, ч. ІІ, § 1, п. 5, с. 172]. Цікаво зазначити, що поняття мультимножини з’являється і у теорії -числення [5, розд. 12, с. 310].

Мультимножини будемо позначати грецькими літерами можливо з індексами. Мультимножини, областю значень яких є порожня множина або одноелементна множина вигляду , назвемо 1-мультимножинами. Очевидно, що для непорожніх 1-мультимножин число дублікатів елементів основи рівне 1, тобто ці мультимножини є аналогами звичайних множин.

Перейдемо тепер до завдання таблиць на основі мультимножин. Під таблицею в цьому пункті будемо розуміти скінченну мультимножину, основою якої є множина рядків однієї схеми. Відповідно під схемою такої таблиці будемо розуміти схему її основи. Як і раніше, множину всіх таблиць схеми позначимо .

Для введення операцій над таблицями у вказаному розумінні попередньо розглянемо аналоги основних теоретико-множинних операцій над мультимножинами. Зафіксуємо – універсум елементів основ мультимножин, тоді булеан є універсумом основ мультимножин. Діючи аналогічно, наприклад [111, 121], під характеристичною функцією мультимножини  розуміємо функцію вигляду , значення якої задається наступною кусковою схемою для всіх :

 

Очевидно, що між мультимножинами і їх характеристичними функціями існує бієкція, тому операції над мультимножинами зручно вводити у термінах їхніх характеристичних функцій. Зокрема, характеристичні функції 1-мультимножин і тільки вони мають областю значень підмножину множини .

Перейдемо безпосередньо до операцій над мультимножинами. Нижче теоретико-числові функції і (сигнум і зрізана різниця) розуміються в звичайному смислі (див., наприклад, [121, розд. І, § 2, с. 37]).

Операція мультимножинам зіставляє мультимножину , значення характеристичної функції якої на аргументі задається виразом

 .  (5.3)

Зазначимо, що цю ж функцію можна задати і виразами , .

Операція мультимножинам зіставляє мультимножину , значення характеристичної функції якої на аргументі задається виразом

 .  (5.4)

Операція мультимножинам зіставляє мультимножину , значення характеристичної функції якої на аргументі задається виразом

 .  (5.5)

Очевидно, що операції будують 1-мультимножину, основа якої отримується відповідно теоретико-множинним об’єднанням, перетином і різницею основ вихідних мультимножин.

Операція мультимножинам зіставляє мультимножину , значення характеристичної функції якої на аргументі задається виразом

 .  (5.6)

Операція мультимножинам зіставляє мультимножину , значення характеристичної функції якої на аргументі задається виразом

 .  (5.7)

Операція мультимножинам зіставляє мультимножину , значення характеристичної функції якої на аргументі задається виразом

 .  (5.8)

Неважко перевірити, що основами мультимножин , є, відповідно, множини , , де і  – основи мультимножин . Для визначення основи мультимножини введемо наступну множину . Тоді основа мультимножини задається виразом , що перевіряється безпосередньо. Кількість дублікатів для трьох останніх операцій задається наступними кусковими схемами:

де ;

,

де ;

де .

Зауважимо, що основу мультимножини можна задати виразом . Зазначимо також зв’язок між рівностями (5.3) і (5.6), (5.4) і (5.7), (5.5) і (5.8): рівності (5.6) – (5.8) отримуються з рівностей (5.3) – (5.5) вилученням операції , яка, по суті, потрібна лише для побудови 1-мультимножин.

Операція мультимножині зіставляє мультимножину , значення характеристичної функції якої на аргументі задається виразом . Очевидно, що мультимножина є 1-мультимножиною, основа якої збігається з основою вихідної мультимножини. Неважко перевірити виконання для всіх мультимножин наступної рівності ; отже, операція є похідною відносно операції .

Операція декартова з’єднання мультимножин  мультимножинам з основами і відповідно зіставляє мультимножину , основою якої є множина , а характеристична функція задається рівністю , 39.

Введемо аналог повного образу для мультимножин. Повним образом мультимножини  відносно функції назвемо мультимножину , значення характеристичної функції якої на аргументі задається рівністю у припущенні, що сума порожньої множини доданків дорівнює нулю. Очевидно, що основою мультимножини є повний образ , де – основа мультимножини . Легко перевірити, що якщо функція ін’єктивна, то кількість дублікатів елементів основи при побудові повного образу не змінюється.

Надалі домовимося мультимножину записувати у вигляді . Розглянемо низку прикладів. Нехай задані дві мультимножини і , основи яких складаються з слів у алфавіті літер . Тоді

 , , ,

 , , ,

 .

Нехай функція повертає першу літеру слова-аргумента Тоді , .

Функції над таблицями. Перейдемо до функцій над таблицями, що розуміються як мультимножини, основами яких є множини односхемних рядків.

Функції об’єднання, перетину та різниці таблиць вводяться як обмеження однойменних операцій над мультимножинами , , , , , на множину пар односхемних таблиць. Позначати їх будемо аналогічно операціям на мультимножинах з індексом T зверху. Наприклад, , , .

Функція декартова з’єднання таблиць  вводиться за допомогою операції декартова з’єднання мультимножин та взяття повного образу відносно операції об’єднання сумісних рядків ; остання операція вводилась у доведенні леми 5.2. Ця часткова фун