Интерпретация формулы логики предикатов: как задать смысл

Сама по себе формула логики предикатов - вроде - ничего не утверждает. Это пустой синтаксический скелет: символы , , не привязаны ни к чему конкретному. Чтобы у формулы появился смысл и можно было спросить «истинна она или ложна», её нужно интерпретировать: выбрать область, договориться, что означает каждый предикатный и функциональный символ, какой объект обозначает каждая константа. Ниже разберём, из чего складывается интерпретация, как по ней вычислять истинность формулы с кванторами и как искать модель или контрпример. Если нужно разобрать конкретную формулу - соберите запрос в форме сразу под введением.
Что такое интерпретация
Интерпретация (или структура) для языка логики предикатов - это способ наделить смыслом все нелогические символы языка. Формально интерпретация состоит из двух частей:
- Область интерпретации (она же носитель, универсум, domain) - непустое множество объектов, о которых идёт речь. Это могут быть натуральные числа, люди, точки плоскости, строки - что угодно, лишь бы множество было непустым.
- Означивание символов - правило, которое каждому нелогическому символу сопоставляет объект нужного типа над областью :
- каждой константе - конкретный элемент ;
- каждому -местному функциональному символу - функцию ;
- каждому -местному предикатному символу - отношение , то есть множество тех наборов, на которых предикат истинен.
Логические символы - связки , кванторы , равенство - смысла не меняют: они интерпретируются всегда одинаково. Меняется только трактовка предметных символов. Поэтому одна и та же формула в разных интерпретациях может быть и истинной, и ложной.

Область интерпретации задаёт горизонт
Выбор области - первый и решающий шаг. Кванторы и пробегают именно по области , и от её состава напрямую зависит истинность.
Рассмотрим формулу - «для всякого найдётся больший ». На области натуральных чисел она истинна: для любого числа есть следующее. На конечной области, скажем с обычным порядком, она уже ложна: для большего элемента нет. Сама формула не изменилась - изменился горизонт, по которому бегает квантор.
Отсюда практическое правило: прежде чем оценивать истинность, всегда явно фиксируйте, какое множество вы взяли за область. Большинство студенческих ошибок в задачах на интерпретацию - это молчаливая подмена области (например, переход от целых к натуральным) уже по ходу рассуждения.
Означивание предикатов, функций и констант
Когда область выбрана, нужно расшифровать каждый символ. Удобно держать в голове три типа объектов.
Константы обозначают конкретные элементы. Если в формуле есть , мы говорим: «пусть ». Теперь всюду, где встречается , имеется в виду нуль.
Функциональные символы превращают объекты в объекты. Двухместный на интерпретируется обычным сложением: . Важно, что функция должна быть тотальной - определена на всех наборах из , иначе это не интерпретация в классическом смысле.
Предикатные символы превращают объекты в истину или ложь. Одноместный задаёт подмножество области (те , для которых истинно); двухместный задаёт отношение - множество пар. Например, на людях предикат «» - это множество всех пар, где первый действительно родитель второго.
Удобный приём: выписывайте предикат таблицей или списком истинных наборов. Тогда проверка $P(c)$ сводится к вопросу «есть ли $c^{\mathcal{I}}$ в этом списке».

Оценка истинности: от атомов к кванторам
Имея полную интерпретацию, истинность формулы вычисляют рекурсивно, снизу вверх - это и называют семантикой Тарского.
- Терм оценивается в элемент области. Константа даёт ; переменная - текущее присвоенное ей значение; составной терм - результат применения к значениям подтермов.
- Атомарная формула истинна, если набор значений термов попал в отношение . Равенство истинно, когда термы означивают один и тот же элемент.
- Связки считаются как в логике высказываний: применяются к уже вычисленным истинностным значениям подформул.
- Кванторы перебирают область. истинна, если истинна при каждом значении из . истинна, если хотя бы при одном.
Ключевой момент с кванторами: при и мы временно подставляем вместо всевозможные элементы области и смотрим на истинность тела. Поэтому для конечной области оценку можно довести до конца механически, перебором. Та же логика лежит в основе перевода формулы в предварённую нормальную форму - там кванторы выносят в префикс, не меняя смысла.
Свободные переменные истинность не имеют сами по себе. Формула $P(x)$ с несвязанной $x$ оценивается только при заданном присвоении $x$. Замкнутая формула (предложение, без свободных переменных) истинна или ложна в интерпретации однозначно.
Модель, контрмодель и общезначимость
Через интерпретацию определяются центральные понятия семантики.
Интерпретация называется моделью формулы , если в ней истинна. Записывают . Если истинна ложна - это контрмодель (контрпример).
Дальше - три уровня «силы» формулы:
- Выполнима (satisfiable) - есть хотя бы одна модель. Чтобы доказать выполнимость, достаточно предъявить одну подходящую интерпретацию.
- Опровержима - есть хотя бы одна контрмодель.
- Общезначима (валидна, тавтология предикатов) - истинна в любой интерпретации. Например, общезначима (область непуста, потому из «все» следует «существует»).
Чтобы опровергнуть общезначимость, нужен ровно один контрпример: одна интерпретация, где формула ложна. А чтобы доказать общезначимость, перебором не обойтись - интерпретаций бесконечно много, нужен синтаксический вывод или семантическое рассуждение в общем виде.

Как строить интерпретацию под задачу
В типовых заданиях просят либо «найти интерпретацию, в которой формула истинна (ложна)», либо «проверить, общезначима ли формула». Рабочий порядок действий такой.
- Выпишите все нелогические символы формулы: константы, функции, предикаты с их местностью. Это список того, что предстоит означить.
- Выберите минимальную область. Часто хватает двух-трёх элементов - на маленькой конечной области всё проверяется перебором. Не берите , если задача решается на .
- Подберите означивание под цель. Хотите истинность - настройте предикаты так, чтобы тело квантора выполнялось; хотите ложность - наоборот, оставьте «дырку», на которой срывается.
- Проверьте оценкой по Тарскому, начиная с атомов. Особое внимание - порядку кванторов: и задают разные условия.
Этот цикл - «выписать символы, взять малую область, означить под цель, проверить перебором» - закрывает почти все учебные задачи на интерпретацию.
Частые ошибки
- Пустая область. В классической логике предикатов область обязана быть непустой, иначе ломаются законы вроде . Не берите .
- Подмена области по ходу. Начали с целых, незаметно перешли к натуральным - и истинность «поплыла». Фиксируйте один раз.
- Частичная функция. Функциональный символ должен быть определён на всех наборах. «Деление» на области с нулём - типичная ловушка.
- Путаница порядка кванторов. («у каждого свой ») слабее, чем («один на всех»). При интерпретации это разные проверки.
- Свободная переменная как утверждение. Формулу со свободной переменной нельзя называть истинной или ложной в интерпретации без присвоения значения этой переменной.
FAQ
Чем интерпретация отличается от модели? Интерпретация - это любая структура (область плюс означивание символов). Моделью формулы она становится только тогда, когда формула в ней истинна. То есть «модель» - это «интерпретация, согласованная с данной формулой».
Зачем нужна область, разве нельзя обойтись предикатами? Без области кванторы не определены: и бессмысленны, пока не сказано, по какому множеству бегает . Область задаёт сам диапазон значений переменных, и от неё прямо зависит истинность.
Как доказать, что формула не общезначима? Достаточно одного контрпримера - построить интерпретацию, в которой формула ложна. Обычно берут маленькую конечную область и подбирают означивание предикатов так, чтобы формула сорвалась хотя бы в одной точке.
Коротко
Интерпретация формулы логики предикатов - это выбор непустой области и означивание всех констант, функций и предикатов над ней. Только после этого у формулы появляется истинностное значение, которое вычисляется по Тарскому: термы дают элементы, атомы проверяются по отношениям, связки считаются как в логике высказываний, а кванторы перебирают область. Если формула истинна - интерпретация её модель; если ложна - контрмодель. Истинная во всех интерпретациях формула общезначима; чтобы опровергнуть общезначимость, хватает одного контрпримера на малой конечной области.
Читайте также

Кванторы всеобщности и существования в логике предикатов
Кванторы всеобщности и существования в логике предикатов: что значат символы для всех и существует, как читать формулы, почему важен порядок кванторов и как строить отрицание по правилам де Моргана.

Предварённая нормальная форма: приведение предикатов
Предварённая нормальная форма в логике предикатов: как вынести все кванторы вперёд, переименовать переменные, убрать импликации и привести формулу к виду префикс плюс матрица по шагам.

Абстрактный класс и интерфейс: в чём отличие
Абстрактный класс и интерфейс: чем отличаются в ООП, когда наследовать поведение, а когда задавать контракт, как выбрать на примерах Java, C# и Python.