18c0693f

Парадокс Эпименида


Рассмотрим следующий пример:

Вероятно, вы уже поняли, что этот пример воспроизводит в реляционной форме известный парадокс Эпименида. И конечно, корнем проблемы является ссылка на самого себя: предикат P ссылается сам на себя.

На тот случай, если вам неудобно полагаться на аргументы, основанные на специальных отношениях TABLE_DEE и TABLE_DUM, позвольте привести другой пример, иллюстрирующий тот же случай. Этот пример представляет собой существенно упрощенный вариант примера, приведенного Дэвидом Макговерном (David McGoveran) и опубликованного мной в колонке журнала DBP&D [2]. Пусть r – это отношение с единственным атрибутом N типа INTEGER, и пусть предикатом для r является «Мощность r есть N». Если r пусто, то мощность r равна нулю, и, следовательно, в r должен входить кортеж t = TUPLE {N 0}, и поэтому r не должно быть пусто. Но если кортеж t = TUPLE {N 0} действительно входит в r, то r не является пустым, и, следовательно, кортеж t не должен входить в r. То есть снова имеется некоторая разновидность того же парадокса.