Лекція 2. Алгебра відношень
Огляд
Множини, які ми вивчали в Лекції 1, описують сукупності об’єктів. Проте майже кожне змістовне твердження математики чи інформатики стосується не окремих об’єктів, а зв’язків між ними: « менше за », «студент отримав оцінку з предмета », «шрифт містить гліф », «сторінка посилається на сторінку », «операцію треба виконати перед операцією ». Математичний об’єкт, що вловлює саме ідею зв’язку між елементами, — це відношення (англ. relation). Не більше й не менше.
Уся тема виростає з одного скромного поняття з попередньої лекції — упорядкованої пари . На відміну від множини , пара пам’ятає не лише які два об’єкти беруть участь, а й котрий іде першим. Відношення — це просто множина таких пар, вибрана з декартового добутку. Усе інше в цьому розділі — матриці, орграфи, класи еквівалентності, порядки, таблиці баз даних — випливає з того, що ми серйозно поставимося до цього означення.
Три наскрізні мотиви проходять крізь усю лекцію:
- Один об’єкт — три обличчя. Одне й те саме відношення можна подати як множину пар, як булеву матрицю і як орієнтований граф. Кожне з облич робить певні запитання очевидними: матриця перетворює «чи є двокроковий шлях?» на арифметику, граф робить досяжність видимою, а перелік пар робить прозорими операції над множинами.
- Структура через властивості. Жменька властивостей (рефлексивність, симетричність, транзитивність, …) виокремлює два найважливіші види відношень: еквівалентності, що формалізують «однакове для наших потреб», і часткові порядки, що формалізують «упорядкування, у якому дещо може лишатися непорівнянним».
- Від теорії до систем. Узагальнення до -арних відношень — не забаганка: це буквально модель даних кожної реляційної бази даних, а операції над множинами з Лекції 1 знову з’являються як ядро реляційної алгебри й, отже, мови SQL.
Про позначення й строгість. Кілька результатів нижче оформлені як леми, твердження чи теореми й супроводжуються доведенням між позначками Доведення. … . Читайте доведення активно: більшість із них — це акуратний перебір випадків або застосування логічної форми означення. Означення ми виділяємо жирним терміном, а нумеровані приклади й твердження нумеруємо наскрізно в межах лекції (Приклад 2., Теорема 2.).
2.1 Кортежі та декартів добуток
Мотивація: коли порядок має значення
Множина «сліпа» до порядку й повторень: і . Але щоб записати, що «Косач склав Дизайн прототипів на A», нам потрібен об’єкт, у якому порядок компонент істотний: перша компонента — студент, друга — предмет, третя — оцінка, і їх не можна переставляти. Таким об’єктом є кортеж.
Означення (кортеж, упорядкована пара). Кортеж (упорядкований набір) довжини — це послідовність з компонент, у якій порядок істотний, а повторення дозволені. Кортеж довжини називають упорядкованою парою , довжини — трійкою тощо. Два кортежі рівні тоді й лише тоді, коли рівні їхні відповідні компоненти:
Саме критерій рівності відрізняє кортеж від множини. Для пари він означає:
Історична довідка. Хоч упорядковану пару зручно вважати первісним поняттям, її можна означити суто через множини формулою Куратовського . З цього означення критерій рівності пар доводять як теорему. Отже, відношення (а з ними — функції, графи, бази даних) остаточно зводяться до мови множин Лекції 1.
Декартів добуток
Означення (декартів добуток). Декартів (прямий) добуток множин і — це множина всіх упорядкованих пар, перша компонента яких належить , а друга — :
Аналогічно для кількох множників , і взагалі . Добуток скорочено позначають .
Для скінченних множин розмір добутку дає правило добутку:
Це елементарний, але наріжний факт комбінаторики (докладніше — у відповідній лекції про комбінаторику).
Приклад 2.1 (декартів добуток трьох множин). Нехай , , . Тоді , і повний перелік трійок такий:
Зручно уявляти це як систематичний перебір: фіксуємо першу компоненту, потім другу, потім третю. Декартів добуток — це «всесвіт» усіх мислимих кортежів; відношення (§2.2) вибирає з нього лише ті, що нас справді цікавлять.
Зауваження (порядок і повторення істотні). Пара — це не пара , а — цілком законна пара, хоча множина «злипається». Саме тому відношення здатні виражати несиметричні зв’язки на кшталт « є батьком », яких симетрична двоелементна множина ніколи не змогла б записати. Загалом (якщо ).
Типова помилка (кортеж проти множини). Не плутайте з . По-перше, лише коли , тоді як завжди. По-друге, дужки різні: круглі — для кортежів, фігурні — для множин. Порожньої «пари» не буває, а порожня множина — буває.
2.2 Відношення як підмножина декартового добутку
Тепер головне означення лекції.
Означення (бінарне відношення). Бінарним відношенням з множини у множину називають будь-яку підмножину декартового добутку: . Якщо , кажуть, що — відношення на (тоді ). Елементи — це впорядковані пари .
Два записи означають абсолютно те саме:
і читають їх « перебуває у відношенні з ». Вони взаємозамінні, бо і є своєю множиною пар: інфіксний запис — лише зручне скорочення для належності . Інфіксна форма наслідує звичні чи і зазвичай читабельніша.
Два способи задати відношення
Як і множину (Лекція 1), відношення задають двома стандартними способами:
- Переліком пар (екстенсіонально) — коли пар небагато;
- Предикатом (інтенсіонально) — характеристичною властивістю , якій мають задовольняти пари: .
Приклад 2.2 (одне відношення — два записи). Нехай , а — відношення «строго менше». Переліком:
предикатом:
Обидва записи описують ті самі шість пар. Перевага предикатної форми — вона працює й для нескінченних множин (відношення на ), де перелік неможливий.
Приклад 2.3 (-арне відношення: навчальні записи). Відношення бувають не лише бінарними. Нехай
Екзаменаційний протокол — це тернарне (тримісне) відношення , наприклад
До цього прикладу ми повернемося в §2.9: це і є таблиця бази даних. Загальне означення таке: -арним (або -місним) відношенням називають підмножину .
Типова помилка (відношення — не обов’язково «формула»). Відношення не мусить задаватися жодною акуратною формулою. На множині набір — цілком законне відношення, хоча жодна арифметична умова не виокремлює саме ці три пари. І навпаки: два різні предикати можуть задавати те саме відношення (наприклад, «» і « — додатне ціле» на ).
Область визначення та область значень
Означення (область визначення й значень). Для відношення областю визначення називають множину тих перших компонент, що справді зустрічаються:
а областю значень (образом) — множину других компонент:
Приклад 2.4. Для відношення «строго менше» з Прикладу 2.2 маємо (число не менше за жодне в ) і (ніщо не менше за ). Обидві множини — підмножини ; жодна не мусить збігатися з усім .
2.3 Способи запису відношення
Одне й те саме відношення на скінченній множині можна записати трьома взаємозамінними способами; вдалий вибір часто перетворює складне на вигляд запитання на просте.
Перелік пар
Найпряміший спосіб — виписати пари: . Він компактний для розріджених відношень (мало пар) і робить прозорими операції над множинами ().
Матриця відношення
Означення (матриця відношення). Для відношення на скінченній множині матрицею відношення називають булеву (нуль-одиничну) таблицю розміру , де
Рядок індексовано першою компонентою, стовпець — другою. Для відношення «строго менше» на матриця така:
| 1 | 2 | 3 | 4 | |
|---|---|---|---|---|
| 1 | 0 | 1 | 1 | 1 |
| 2 | 0 | 0 | 1 | 1 |
| 3 | 0 | 0 | 0 | 1 |
| 4 | 0 | 0 | 0 | 0 |

Матрична форма ідеальна для перевірки структурних властивостей «на око» (§2.5): уся інформація про відношення — це бітів, незалежно від того, скільки пар присутньо, тож вона найзручніша для щільних відношень.
Орієнтований граф (орграф)
Означення (орграф відношення). Відношення на зображують орієнтованим графом: кожному елементу відповідає вершина, а кожній парі — дуга (стрілка) . Пара дає петлю при вершині .

Орграф робить видимою досяжність: щоб дізнатися, чи пов’язані елементи ланцюжком, ми просто йдемо стрілками. Матриця відношення — це і є матриця суміжності цього орграфа.
Зауваження (місток до теорії графів). Відношення на множині — це рівно те саме, що орієнтований граф на її елементах. Більше того, симетричне відношення без петель — це неорієнтований граф. Тому теорію графів (пізніша лекція) можна читати як вивчення відношень з наочного, комбінаторного боку.
Приклад 2.5 (одне відношення — три обличчя). Відношення на (саме його зображено орграфом вище) має такі три записи. Переліком — як щойно виписано. Матрицею:
| 1 | 2 | 3 | 4 | |
|---|---|---|---|---|
| 1 | 0 | 1 | 0 | 1 |
| 2 | 0 | 0 | 1 | 0 |
| 3 | 0 | 0 | 1 | 0 |
| 4 | 0 | 1 | 0 | 0 |
Орграфом — із петлею при вершині (бо ) та стрілками для решти чотирьох пар. Усі три записи несуть однакову інформацію; переходити між ними треба вміти вільно, бо кожен зручний для свого класу задач.
2.4 Особливі відношення
Три відношення трапляються так часто, що заслуговують на власні назви; усі три миттєво впізнавані за матрицею.
Означення (повне, пусте, тотожне). Нехай — множина, .
- Повне (універсальне) відношення пов’язує кожну пару; його матриця складається суцільно з одиниць.
- Пусте (порожнє) відношення не пов’язує жодної пари; його матриця складається суцільно з нулів.
- Тотожне (діагональне) відношення
пов’язує кожен елемент лише із самим собою; його матриця — одинична (одиниці на головній діагоналі, нулі поза нею), а орграф — це петля при кожній вершині й більше нічого.

Тотожне відношення (його ще звуть відношенням рівності) стане в нагоді постійно: саме через нього найкоротше формулюють рефлексивність і антисиметричність (§2.5).
2.5 Властивості відношень
Далі всюди — відношення на одній множині (тобто ). Наведені властивості класифікують «поведінку» ; у кожної є чітке логічне означення й матрична ознака, за якою її видно з таблиці.
Означення (властивості відношення). Відношення на називають:
- рефлексивним, якщо . Матрична ознака: уся головна діагональ складається з одиниць.
- антирефлексивним (іррефлексивним), якщо . Матрична ознака: уся головна діагональ складається з нулів.
- арефлексивним (нерефлексивним), якщо воно не є ні рефлексивним, ні антирефлексивним. Матрична ознака: діагональ мішана — є принаймні одна одиниця () і принаймні один нуль ().
- симетричним, якщо . Матрична ознака: матриця симетрична, (дзеркальна відносно діагоналі).
- антисиметричним, якщо . Матрична ознака: немає жодної симетричної пари одиниць поза діагоналлю (тобто при неможливо).
- асиметричним, якщо . Матрична ознака: нульова діагональ і немає симетричних пар одиниць.
- транзитивним, якщо . Матрична ознака: усюди, де існує двокроковий шлях , присутня й пряма одиниця .
- антитранзитивним, якщо . Матрична ознака: там, де є двокроковий шлях , прямої одиниці немає (напр. відношення «бути батьком»: дід не є батьком онука).
Щоб компактно записати ці ознаки алгебраїчно, введемо ще одне природне поняття.
Означення (обернене відношення). Оберненим до називають відношення
тобто . У матричній формі (транспонування), в орграфі — розворот кожної стрілки.
Рефлексивність, симетричність, антисиметричність алгебраїчно
Теорема 2.6 (алгебраїчні характеризації). Для відношення на :
- рефлексивне ;
- симетричне (рівносильно );
- антисиметричне .
Доведення. (1) Включення означає « для кожного », тобто для всіх , — це рівно означення рефлексивності.
(2) () Нехай симетричне й . Тоді , звідки за симетричністю ; отже, . Обернене включення доводиться симетрично (міняємо ролі й ), тож . () Нехай і . Тоді , а це за означенням оберненого означає , тобто ; отже, симетричне.
(3) () Нехай антисиметричне й . Тоді (тобто ) і (тобто ); за антисиметричністю , отже . () Нехай і водночас та . Тоді і , звідки , а це й означає .
Асиметричність = антирефлексивність + антисиметричність
Асиметричність на перший погляд схожа на антисиметричність, але вона строго сильніша. Наступне твердження показує, як саме.
Твердження 2.7. Відношення асиметричне тоді й лише тоді, коли воно водночас антирефлексивне й антисиметричне.
Доведення. () Нехай асиметричне. Підставивши в означення, дістаємо ; імплікація, у якій висновок заперечує засновок, змушує засновок бути хибним, тобто для кожного — це антирефлексивність. Для антисиметричності припустимо і ; але асиметричність, застосована до , дає — суперечність. Отже, засновок «» ніколи не виконується, і імплікація «» істинна порожньо-істинно. () Нехай антирефлексивне й антисиметричне, і нехай . Якби ще й , то антисиметричність дала б , звідки — усупереч антирефлексивності. Тому , тобто асиметричне.
Класичний асиметричний приклад — строгий порядок на : якщо , то неодмінно .
Приклади перевірки властивостей за матрицею
Приклад 2.8 (перевіряємо властивості за матрицею). Розгляньмо на :
| 1 | 2 | 3 | 4 | |
|---|---|---|---|---|
| 1 | 0 | 0 | 1 | 1 |
| 2 | 1 | 0 | 1 | 1 |
| 3 | 0 | 0 | 0 | 0 |
| 4 | 0 | 0 | 0 | 0 |
тобто .
- Рефлексивне? Ні — діагональ суцільно нульова (насправді антирефлексивне).
- Симетричне? Ні — , але .
- Антисиметричне? Так — немає жодної дзеркальної пари одиниць поза діагоналлю.
- Транзитивне? Так. Єдині двокрокові ланцюжки починаються у вершині : з і потрібне — присутнє; з і потрібне — теж присутнє. Усі інші ланцюжки обриваються одразу, бо рядки і порожні. Оскільки всі потрібні «прямі стрілки» на місці, транзитивне.

Приклад 2.9 (симетричне відношення). Матриця
| 1 | 2 | 3 | 4 | |
|---|---|---|---|---|
| 1 | 0 | 1 | 1 | 0 |
| 2 | 1 | 0 | 0 | 0 |
| 3 | 1 | 0 | 0 | 0 |
| 4 | 0 | 0 | 0 | 0 |
задовольняє , тож симетричне: кожній стрілці відповідає зворотна , і в орграфі дуги ходять двонапрямленими парами. Транзитивним воно не є: і , але .

Рефлексивність теж найлегше впізнати за орграфом — це петля при кожній вершині:

Типова помилка (рефлексивне й антирефлексивне — не протилежності). Відношення може бути ні тим, ні тим. На відношення має , але не має , тож воно не рефлексивне (бракує ) і не антирефлексивне (є ). «Не рефлексивне» означає «якоїсь одиниці на діагоналі бракує»; «антирефлексивне» означає «на діагоналі немає жодної одиниці». Так само симетричність і антисиметричність — не протилежності: тотожне відношення є водночас симетричним і антисиметричним, а — ні тим, ні тим.
2.6 Типи відношень
Комбінуючи властивості §2.5, дістаємо найважливіші «породи» відношень. Три з них особливо помітні:
| Тип відношення | Рефлексивність | Симетричність | Антисиметричність | Транзитивність |
|---|---|---|---|---|
| Еквівалентності | + | + | + | |
| Часткового порядку | + | + | + | |
| Толерантності | + | + |
Кожна з цих порід описує окремий спосіб мислення про множину: еквівалентність групує однакове, порядок ранжує різне, толерантність фіксує схожість (близькість), що не мусить бути транзитивною.
2.6.1 Відношення еквівалентності
Означення (еквівалентність). Відношення на , яке водночас рефлексивне, симетричне й транзитивне, називають відношенням еквівалентності. Зазвичай його позначають (або ) і читають як « еквівалентне ».
Еквівалентності формалізують ідею «однаковості для наших потреб»: мати ту саму остачу при діленні на , той самий колір, той самий колірний профіль, ту саму останню цифру. Це інструмент, яким ми свідомо забуваємо неістотні розрізнення.
Означення (клас еквівалентності). Нехай — еквівалентність на і . Класом еквівалентності елемента називають множину всіх еквівалентних йому елементів:
Будь-який називають представником цього класу.
Нам знадобиться і множинне поняття-супутник.
Означення (розбиття). Розбиттям множини називають сім’ю її підмножин (їх звуть блоками або класами) таку, що (i) кожен блок непорожній; (ii) різні блоки попарно неперетинні; (iii) блоки покривають , тобто їх об’єднання дорівнює .
Головна теорема цього параграфа стверджує, що еквівалентності й розбиття — це та сама річ, висловлена двома мовами. Спершу — дві леми, на яких усе тримається.
Лема 2.10. Нехай — еквівалентність на . Для всіх :
Доведення. () Нехай . Покажемо : якщо , то ; разом з транзитивність дає , тобто . За симетричністю з маємо й , і той самий доказ дає . Отже, . () Нехай . За рефлексивністю , тож , а це означає .
Лема 2.11 (класи або збігаються, або не перетинаються). Нехай — еквівалентність на . Для всіх виконано або , або .
Доведення. Припустимо, що класи перетинаються; покажемо, що вони збігаються. Візьмемо . Тоді і . За симетричністю , і разом з транзитивність дає ; за Лемою 2.10 звідси . Отже, тільки-но класи мають спільний елемент, вони рівні, — а це рівно сформульована альтернатива.
Теорема 2.12 (основна теорема про відношення еквівалентності). Нехай .
- Якщо — еквівалентність на , то множина класів є розбиттям множини .
- Навпаки, якщо — розбиття , то відношення , задане правилом
є еквівалентністю на , а його класи — це рівно блоки .
- Ці дві побудови взаємно обернені: вони встановлюють бієкцію між еквівалентностями на і розбиттями .
Доведення частини 1. Перевіримо три умови означення розбиття для . Непорожність. За рефлексивністю , тож ; отже, жоден клас не порожній. Покриття. Кожен клас , і кожен елемент лежить у своєму класі , тому об’єднання всіх класів дорівнює . Неперетинність. Два різні класи не перетинаються за Лемою 2.11 (якби перетиналися — збіглися б, усупереч тому, що вони різні). Отже, різні класи утворюють розбиття .
Доведення частини 2. Оскільки блоки покривають й попарно неперетинні, кожен лежить у точно одному блоці; позначимо його . Тоді за означенням . Рефлексивність: , тож . Симетричність: з випливає . Транзитивність: з і випливає . Отже, — еквівалентність. Її клас елемента є , тобто саме блок, що містить .
Доведення частини 3 (ескіз). Вирушивши від еквівалентності , побудувавши розбиття і взявши його «відношення спільного блоку», ми повертаємось до (два елементи ділять блок за Лемою 2.10). Навпаки, вирушивши від розбиття, за частиною 2 його класи — це вихідні блоки. Отже, побудови взаємно обернені.
Зауваження (навіщо це важить). Теорема 2.12 каже, що «еквівалентність» і «розбиття» — це дві мови для одного явища. Щойно ви розсортували об’єкти на категорії, які не перетинаються й разом охоплюють усе, — ви, хочете того чи ні, задали еквівалентність, і навпаки. Саме тому теорему застосовують усюди: компоненти зв’язності графа, класи лишків цілих чисел, групування шрифтів за гарнітурою — і, у майбутній лекції з імовірності, розклад простору елементарних подій на несумісні події, за якими підсумовують імовірності. Множину класів називають фактор-множиною за .
Приклад 2.13 (три обличчя однієї еквівалентності). На означимо («конгруентні за модулем »). Це відношення рефлексивне (), симетричне (якщо , то ) і транзитивне (якщо і , то ), — отже, еквівалентність. Його класи —
що дає розбиття множини . І навпаки, оголосивши два числа еквівалентними, коли вони в одному блоці цього розбиття, ми відновимо саме конгруентність за модулем — «замкнене коло», обіцяне частиною 3 Теореми 2.12.

2.6.2 Відношення часткового порядку
Замінивши в переліку властивостей симетричність на антисиметричність, дістаємо відношення зовсім іншого характеру — не «групування рівних», а «упорядкування нерівних».
Означення (частковий порядок, ЧУМ). Відношення на , яке рефлексивне, антисиметричне й транзитивне, називають частковим порядком, а пару — частково впорядкованою множиною (ЧУМ). Запис означає « і » (відповідний строгий порядок).
Часткові порядки моделюють ранжування з можливою непорівнянністю: передування задач, уточнення специфікацій, включення підмножин, подільність.
Означення (порівнянність, лінійний порядок). У ЧУМ елементи порівнянні, якщо або ; інакше вони непорівнянні. Якщо порівнянна кожна пара, порядок називають лінійним (повним, тотальним), а — ланцюгом.
Порядок на , чи лінійний; лексикографічний порядок на рядках лінійний; а от включення підмножин і подільність — лише часткові.
Приклад 2.14 (подільність — частковий порядок). На множині (додатні дільники числа ) відношення « ділить », позначене , є частковим порядком: (рефлексивність); для додатних чисел і разом дають (антисиметричність); з і випливає (транзитивність). Порядок лише частковий: і обидва хибні, тож і непорівнянні; так само непорівнянні і .
Малювати всі стрілки часткового порядку марнотратно: рефлексивні петлі й дуги, вимушені транзитивністю, захаращують картину. Діаграма Гассе прибирає все зайве.
Означення (покриття; діаграма Гассе). У ЧУМ кажуть, що покриває (запис ), якщо і немає проміжного з . Діаграма Гассе зображує по одній вершині на елемент і по одному відрізку на кожну пару покриття, причому менший елемент розміщують нижче; напрямок читають з висоти, тож стрілки не потрібні. Рефлексивні петлі й транзитивно вимушені дуги опускають.
Приклад 2.15 (діаграма Гассе для ). Для пари покриття такі:
Наприклад, покриттям не є, бо ; так само не є покриттям, бо . Унизу стоїть , угорі — ; решту зв’язків (як-от ) відновлюють, ідучи відрізками вгору й користуючись транзитивністю.

Наостанок розрізнимо чотири близькі, але різні поняття крайніх елементів.
Означення (мінімальний/максимальний, найменший/найбільший). Нехай — ЧУМ.
- — мінімальний елемент, якщо жоден не задовольняє (нічого строго нижчого немає).
- — максимальний, якщо жоден не задовольняє .
- — найменший елемент, якщо для кожного .
- — найбільший, якщо для кожного .
Твердження 2.16 (єдиність найменшого). ЧУМ має щонайбільше один найменший елемент.
Доведення. Нехай і — обидва найменші. Оскільки найменший, а , то . Оскільки найменший, а , то . Антисиметричність дає .
Типова помилка (мінімальний найменший). Мінімальний означає «нижче нього нічого немає»; найменший означає «він нижчий за все». ЧУМ може мати кілька мінімальних елементів і жодного найменшого. У вся множина має найменший елемент і найбільший ; але підмножина має два мінімальні елементи ( і ) і жодного найменшого, а також два максимальні ( і ) і жодного найбільшого.
2.6.3 Відношення толерантності
Означення (толерантність). Відношення на , яке рефлексивне й симетричне (транзитивність не вимагається), називають відношенням толерантності.
Толерантність — це послаблена еквівалентність: ми зберігаємо « схоже саме на себе» (рефлексивність) і «схожість взаємна» (симетричність), але відмовляємось від транзитивності. Саме відмова від транзитивності робить толерантність придатною для моделювання близькості, подібності, нерозрізнюваності, які накопичуються й тому не є транзитивними.
Приклад 2.17 (нерозрізнюваність відтінків). Нехай елементи — відтінки сірого, а означає «людське око не відрізняє від » (різниця яскравостей нижча за поріг). Це відношення рефлексивне (кожен відтінок нерозрізнюваний із собою) і симетричне (нерозрізнюваність взаємна), але не транзитивне: сусідні відтінки і попарно нерозрізнювані, і та теж, — а от крайні і вже помітно різні. Це класичний «парадокс купи»: багато малих непомітних кроків дають помітну відмінність. Отже, ми маємо толерантність, що не є еквівалентністю. Подібні відношення виникають у поліграфії скрізь, де йдеться про допустиму відмінність кольору чи розміру (див. §2.10).
Зауваження. Кожна еквівалентність є толерантністю (вона додатково транзитивна), але не навпаки. Толерантність не породжує розбиття: її «класи схожості» можуть перекриватися — і в цьому вся суть.
2.7 Функціональні відношення та функції
Серед усіх відношень особливо важливі ті, що пов’язують кожен вхід не більш ніж з одним виходом.
Означення (функціональне відношення). Відношення називають функціональним (однозначним), якщо кожен перебуває у відношенні щонайбільше з одним :
Наочно: у матриці функціонального відношення в кожному рядку не більше однієї одиниці; в орграфі (двочастковому) з кожної вершини зліва виходить не більше однієї стрілки.
Означення (функція). Якщо функціональне відношення додатково пов’язує кожен рівно з одним , його називають функцією (відображенням) з у і пишуть , а замість — звичне . При цьому областю визначення є вся , тобто , а областю значень — образ .
Отже, функція є відношенням — таким, що задовольняє умову однозначності. Це не формальність: саме як графік функцію строго означують у теорії множин і саме так її зберігають у пам’яті комп’ютера — таблицею «ключ — значення».
Приклад 2.18 (які відношення не є функціями). На :
- Відношення не є функцією: вхід має два виходи — однозначність порушено.
- Відношення є функцією (частковою), хоча два входи ділять один вихід : однозначність обмежує кількість виходів на вхід, а не входів на вихід.
- Щоб бути всюди визначеною функцією , треба ще, щоб і вхід мав (рівно один) вихід.
2.8 Відображення: ін’єкції, сюр’єкції, бієкції
Функції класифікують за тим, як вони «накривають» цільову множину .
Означення (ін’єкція, сюр’єкція, бієкція). Нехай .
- ін’єктивне (ін’єкція, взаємно однозначне в), якщо різні входи дають різні виходи: (рівносильно ).
- сюр’єктивне (сюр’єкція, відображення на), якщо кожен є образом принаймні одного входу: .
- бієктивне (бієкція, взаємно однозначна відповідність), якщо воно водночас ін’єктивне й сюр’єктивне.

Приклад 2.19. Нехай .
- , , — ін’єктивне (виходи різні), але не сюр’єктивне (значення не досягається).
- , , — сюр’єктивне (обидва значення досягаються), але не ін’єктивне ( і мають один образ).
- , , — бієкція.
Зауваження (бієкція й обернена функція). Функція має обернену функцію тоді й лише тоді, коли вона бієктивна; при цьому обернене відношення (§2.5) саме є функцією. Саме бієкції задають рівнопотужність множин , з якою ми познайомилися в Лекції 1: дві скінченні множини рівнопотужні тоді й лише тоді, коли між ними існує бієкція, а отже, мають однакову кількість елементів.
2.9 Реляційна структура даних і реляційна алгебра
Узагальнення до -арних відношень (§2.2) — не абстрактна забаганка: це буквально модель даних кожної реляційної бази даних.
Означення (реляційна таблиця). -арне відношення — це таблиця: кожен кортеж — це рядок (запис), кожен множник — це стовпець (атрибут) зі своєю областю значень (доменом), а число — арність таблиці (кількість стовпців).
Повернімося до Прикладу 2.3. Тернарне відношення навчальних записів — це таблиця:
| СТУДЕНТ | ПРЕДМЕТ | ОЦІНКА |
|---|---|---|
| Шевченко | Інформатика | B |
| Косач | Дизайн прототипів | A |
| Франко | ОДМ | E |

Зауваження (множина не має ані порядку, ані повторів). Оскільки відношення — це множина кортежів, у цій ідеалізованій моделі таблиця не має ані повторюваних рядків, ані наперед заданого порядку рядків — точнісінько як і множини невпорядковані. Реальні системи SQL це послаблюють (працюють з мультимножинами), але теорія — множинна.
Операції реляційної алгебри
Оскільки відношення — це множини, до двох таблиць однакової форми (з тією самою послідовністю атрибутів) застосовні операції з Лекції 1: об’єднання , перетин та різниця . Додавши кілька специфічних для таблиць операцій, дістаємо реляційну алгебру — теорію, що лежить в основі SQL.
- Декартів добуток — зчіплює кожен рядок з кожним рядком (той самий добуток, що й у §2.1).
- Проєкція — лишає тільки вказані стовпці, відкидаючи
решту (і злипаючи однакові рядки, що виникли); це вибір підмножини атрибутів
(відповідник
SELECTконкретних стовпців у SQL). - Вибірка (селекція) — лишає тільки рядки, що задовольняють
умову ; це вибір підмножини кортежів (відповідник
WHEREу SQL). - Натуральне з’єднання — поєднує ті рядки і , що збігаються на спільних атрибутах; це відфільтрований, узгоджений декартів добуток. Саме з’єднання «зшиває» дані, розкидані по кількох таблицях.
Приклад 2.20 (проєкція, вибірка, з’єднання). Нехай задано дві таблиці:
| ЗАПИС: СТУДЕНТ | КУРС |
|---|---|
| Косач | Алгебра |
| Косач | ОДМ |
| Франко | ОДМ |
| АУДИТОРІЯ: КУРС | КІМНАТА |
|---|---|
| Алгебра | 101 |
| ОДМ | 205 |
Тоді:
- Проєкція (повтор «Косач» злипається).
- Вибірка лишає два рядки з курсом ОДМ.
- Натуральне з’єднання за спільним атрибутом КУРС дає:
| ЗАПИС АУДИТОРІЯ: СТУДЕНТ | КУРС | КІМНАТА |
|---|---|---|
| Косач | Алгебра | 101 |
| Косач | ОДМ | 205 |
| Франко | ОДМ | 205 |
— кожен запис зіставлено з кімнатою, де відбувається його курс.
Історична довідка. Реляційну модель даних запропонував Едґар Ф. Кодд (IBM) у статті «A Relational Model of Data for Large Shared Data Banks» (1970). Ідея була радикальною: подати дані не як заплутану мережу вказівників, а як прості математичні відношення — таблиці, — з якими працює строга алгебра операцій. На цьому фундаменті побудовано мову SQL і практично всі сучасні бази даних. Абстрактне поняття -арного відношення виявилося, можливо, найкомерційніше успішним застосуванням дискретної математики.
2.10 Застосування у видавництві та поліграфії
Мова відношень безпосередньо описує задачі фаху:
- Бази даних видавництва. Каталог видань (автор, назва, ISBN, наклад, рік), облік замовлень і клієнтів, склад матеріалів — усе це реляційні таблиці, тобто -арні відношення. Кожен звіт («усі книжки автора за 2025 рік») — це комбінація вибірки, проєкції та натурального з’єднання (§2.9).
- Толерантність кольору. Відношення «два зразки кольору візуально збігаються в межах допуску » рефлексивне й симетричне, але не транзитивне (Приклад 2.17): саме тому колірні допуски задають попарно, а не «класами». Це відношення толерантності, а не еквівалентності.
- Частковий порядок технологічного процесу. Етапи виробництва — препрес, кольороподіл, спуск шпальт, друк, фальцювання, різання, оправлення — впорядковані відношенням передування «має бути виконане раніше». Це частковий порядок: деякі етапи непорівнянні (їх роблять паралельно). Діаграма Гассе такого порядку — це, по суті, мережевий графік робіт, а лінійне впорядкування, узгоджене з ним, дає коректну послідовність операцій.
- Еквівалентність і групування. Розбиття зображень за колірним профілем (sRGB, Adobe RGB, CMYK) або шрифтів за гарнітурою — це класи еквівалентності; за Теоремою 2.12 таке групування є відношенням еквівалентності, і навпаки.
- Функції перетворення. Відповідності «символ гліф» у шрифті та «колір RGB колір CMYK» у растровому процесорі — це функції ; коли перетворення оборотне без втрат, воно бієктивне (§2.8).
Підсумок
- Відношення — це підмножина декартового добутку; бінарне відношення — це , а пишуть як . Задають його переліком пар або предикатом; записують як множину пар, булеву матрицю або орграф.
- Опорні відношення: повне (усі одиниці), пусте (усі нулі), тотожне (одинична матриця).
- Основні властивості — рефлексивність, антирефлексивність, симетричність, антисиметричність, асиметричність, транзитивність — мають матричні ознаки й алгебраїчні форми: ; ; (Теорема 2.6). Асиметричність антирефлексивність антисиметричність (Твердження 2.7).
- Еквівалентність (рефлексивне + симетричне + транзитивне) відповідає розбиттю — це основна теорема (Теорема 2.12), доведена в обидва боки; прообраз — конгруентність за модулем .
- Частковий порядок (рефлексивне + антисиметричне + транзитивне) малюють діаграмою Гассе за парами покриття. Розрізняйте мінімальний/максимальний і найменший/найбільший (найменший єдиний — Твердження 2.16).
- Толерантність (рефлексивне + симетричне) — послаблена еквівалентність без транзитивності; моделює схожість і нерозрізнюваність.
- Функція — це однозначне (функціональне) відношення; всюди визначену функцію пишуть . Відображення бувають ін’єктивні, сюр’єктивні й бієктивні; бієкції задають рівнопотужність (Лекція 1).
- -арні відношення — це таблиці реляційної моделі даних; ними керує реляційна алгебра (об’єднання, перетин, різниця, декартів добуток, проєкція, вибірка, натуральне з’єднання) — математична основа SQL.
Далі, у Лекції 3, ми переходимо до булевої алгебри — числення над двома значеннями (1 і 0), у якому операції , , дзеркалять перетин, об’єднання й доповнення множин, а самі множини кодуються бітовими векторами.
Вправи
Для розігріву
- Нехай , . Випишіть повністю і . Скільки елементів у кожному? Чи рівні ці множини?
- Для відношення на : (а) побудуйте матрицю ; (б) знайдіть і ; (в) визначте, чи воно рефлексивне, симетричне, антисиметричне, транзитивне.
- Для кожного з відношень на визначте, яке з властивостей (рефлексивність, симетричність, антисиметричність, транзитивність) воно має: (а) ; (б) ; (в) .
- Випишіть класи еквівалентності конгруентності за модулем на і запишіть відповідне розбиття.
- Побудуйте орграф відношення на . Скільки петель і скільки звичайних дуг він має?
Стандартні
- Доведіть, що відношення на не є ані симетричним, ані антисиметричним. Який найменший набір пар треба додати, щоб зробити його симетричним?
- На означимо і мають однакову парність. Доведіть, що — відношення еквівалентності, і опишіть його класи як розбиття .
- Розгляньте подільність на . (а) Поясніть, чому це ЧУМ. (б) Випишіть усі пари покриття й накресліть діаграму Гассе. (в) Укажіть найменший, найбільший, мінімальні й максимальні елементи.
- Наведіть приклад відношення на , яке рефлексивне й симетричне, але не транзитивне (тобто толерантність, що не є еквівалентністю). Поясніть, яка саме трійка елементів порушує транзитивність.
- Розбиття множини породжує еквівалентність . Випишіть усі пари і знайдіть (кількість пар).
- Для кожної з функцій визначте, чи вона ін’єктивна, сюр’єктивна, бієктивна: (а) ; (б) ; (в) .
- З таблицями ЗАПИС і АУДИТОРІЯ з Прикладу 2.20 випишіть (а) ; (б) ; (в) натуральне з’єднання , — і поясніть одним реченням, що означає кожен результат.
Підвищеної складності
- Доведіть, що коли і — транзитивні відношення на , то теж транзитивне. Потім наведіть конкретний приклад на двох транзитивних відношень, об’єднання яких не транзитивне.
- На множині з елементів порахуйте кількість (а) усіх відношень; (б) рефлексивних відношень; (в) симетричних відношень; (г) відношень, що водночас рефлексивні й симетричні. Обчисліть кожну відповідь для . (Підказка: відношення — це заповнення сітки бітами.)
- Доведіть, що якщо ЧУМ має найменший елемент , то — єдиний мінімальний елемент. Чи правильне обернене твердження для скінченних ЧУМ? Для нескінченних? Обґрунтуйте або спростуйте прикладом.
- (Замикання до еквівалентності.) Нехай — довільне відношення на . Доведіть, що перетин будь-якої непорожньої сім’ї еквівалентностей на знову є еквівалентністю. Виведіть звідси, що існує найменша еквівалентність , яка містить .