Элиминация кванторов Выразимость предикатов
Пусть
– модель (где
– носитель,
– сигнатура),
–п-местный
предикат на множестве
Мы будем говорить, что предикат
выразим
в данной модели, если существует формула
логики первого порядка такая, что![]()
![]()
Рассмотрим
в качестве примера модель
![]()
гдеN
– множество действительных чисел,
дополненное нулём, равенство “=”
понимается как совпадение элементов,
а
– функция следования, т.е.
Как выразить в этой модели предикаты![]()
Ответ очевиден: первый предикат можно
выразить формулой
а второй – формулой
Конечно, не все предикаты в этой модели
являются выразимыми – хотя бы потому,
что всех формул сигнатуры
счётное число (если алфавит предметных
переменных счётный), а все предикаты на
множествеN
образуют континуальное множество.
Приведём
теперь примеры невыразимых предикатов.
Простейшим примером служит предикат
в модели
Действительно, интуитивно ясно, что
если в сигнатуре нет арифметических
операций, то все элементы множестваZ
равноправны и отличить число 0 от других
чисел невозможно. Разумеется, эти
рассуждения не доказывают невыразимость
предиката
Приведём строгое доказательство этого
факта. Докажем индукцией по длине
формулы, что истинность или ложность
формулы не изменится, если значения
всех предметных переменных увеличить
на 1. Это очевидно для атомарных формул,
так как они имеют вид
или
Предположим, что истинность или ложность
формул
и
не изменяется при увеличении значений
свободных переменных на 1. Понятно, что
то же будет верно для формул![]()
![]()
и
Если формула
имеет вид
и она истинна на наборе
то для любого
Z
формула
истинна. По предположению индукции
истинна. Так как
произвольно, то
истинна. Аналогично рассматривается
случай, когда
имеет вид
Итак, мы доказали, что истинность или
ложность формулы в
не изменяется при сдвиге
Если бы предикат
был выразим, то его истинность совпадала
бы с истинностью предиката
а это не так. Значит, предикат
нельзя выразить формулой в![]()
Приведённый
выше метод доказательства невыразимости
предиката называется методом
автоморфизмов.
Автоморфизмом
модели
называется взаимно однозначное
отображение
сохраняющее значения истинности всех
формул. В предыдущем примере автоморфизмом
было отображение![]()
Элиминация кванторов
Две
формулы УИП мы будем называть
эквивалентными,
если они имеют один и тот же набор
свободных переменных и значения
истинности этих формул будут одинаковы,
какие бы значения из множества
мы ни придали свободным переменным.
Оказывается, в некоторых моделях для всякой формулы УИП, содержащей кванторы, существует эквивалентная ей формула без кванторов. В этом случае мы будем говорить, что модель допускает элиминацию кванторов.
Теорема.
Модель
![]()
где = – отношение равенства,
– унарная операция и 0 – нульарная
операция, допускает элиминацию кванторов.
Доказательство.
Индукция по количеству кванторов в
формуле. От квантора
в любой формуле можно избавиться, заменив
формулу
на эквивалентную ей формулу
Таким образом, нам достаточно доказать,
что формула
где
не содержит кванторов, имеет эквивалентную
ей бескванторную формулу. Формула
получается из атомарных формул с помощью
логических связок. Атомарные формулы,
содержащие переменную
имеют вид
или
или
![]()
Формула
первого типа либо тождественно истинна,
либо тождественно ложна, поэтому её
можно заменить на эквивалентную формулу,
не содержащую
![]()
или
Формулы второго и третьего типа можно
кратко записать в виде
где
или
(
– константа, не обязательно положительная),
Рассмотрим формулу
![]()
Очевидно,
что если формула
истинна на каком-либо наборе
то формула
также истинна на этом наборе. Обратное
в общем случае неверно, так как
может быть сделана истинной, когда
для некоторого
отличного от всех
Но тогда все атомарные формулы
ложны. Заменим каждую из этих формул на
какую-нибудь тождественно ложную формулу
и обозначим полученную формулу через
Тогда формула
будет эквивалентна формуле![]()
Напомним,
что теория называется разрешимой,
если существует алгоритм, который для
каждой замкнутой формулы определяет,
истинна она или ложна. Выведем из только
что доказанной теоремы разрешимость
теории целых чисел с отношением равенства
=, функцией следования
и выделенным нулевым элементом 0, т.е.
что истинность или ложность формул
модели![]()
может быть установлена алгоритмически.
Действительно, как видно из доказательства
теоремы, процесс избавления от кванторов,
т.е. построение формулы
по формуле
алгоритмизуем. Далее, выяснение, является
атомарная формула истинной или ложной,
также является механической процедурой.
И, наконец, зная значения истинности
атомарных формул, установить, истинна
или ложна формула, составленная из них
с помощью логических связок
– также является автоматическим
процессом, заключающимся в применении
таблиц истинности логических связок.
Итак, с помощью машины Тьюринга или
реальной ЭВМ можно определить, истинна
или ложна формула модели![]()
![]()
