Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы по мат логике.doc
Скачиваний:
144
Добавлен:
20.05.2014
Размер:
1.17 Mб
Скачать

16. Скалемизация. Скалемовская нормальная форма

Дальнейшее преобразование предполагает полное исключение из формулы кванторов. При этом необходимо сохранить семантику. Это достигается за счет введения скалемовских функций.

Для описания этой функции рассмотрим следующий пример:

(x)(y)подсистема(x,y),

для каждого xсуществуетyтакой, чтоx его подсистема.

Это означает, что если выделить конкретное x, то для этогоxсуществуетy, удовлетворяющее функцииподсистема(x, y). Иными словами,y зависит отx, то есть, если заданоx, то и существует соответствующее емуy. Отсюда следует, чтоy можно заменить на функциюf(x), которая задает отношение междуx иy. Посколькуf(x) возникло из-за того, что переменнаяyквантифицирована, при подстановке функции на местоy, кванторуже не требуется. Таким образом, исходную логическую формулу можно переписать:

(x) подсистема(x, f(x).

Такая функция называется скалемовской.

Приоритетность действия кванторов, имеющихся в префиксной форме, определяется слева направо. Например: (x)(y)(z)F(x, y, z) (x)(z)F(x, f(x), z).А для случая: (x)(z)(y)F(x, y, z) (x)(z)F(x, f(x, y), z).

Таким образом, переменной, которая в логической формуле влияет на связанную квантором существования переменную, является любая переменная с квантором общности, которая стоит левее переменной из квантора существования. Если переменная связанная квантором существования является крайней слева, такую формулу можно заменить функцией без аргументов (константой):

(x)(y)подсистема(x, y) =подсистема.

Если проделать эту операцию для примера, получим:

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

(x)(y)(z)(w)F(x ,y ,z, w) = (x)(z)F(x, f(x), z, g(x, z)).

Если подобным образом исключить связанные квантором существования переменные, то любые другие переменные будут связаны только квантором общности и не надо пояснять, что преременные связаны этим квантором. Следовательно, квантор общности можно исключить. Для примера получим:

Такое представление и есть сколемовская нормальная форма.

Теперь можем определить алгоритм получения сколемовской формы:

  1. Составить список L переменных, связанных квантором общности. Сначала списокL пуст.

  2. Пусть Ci – рассматриваемое предложение,j – номер использующейся сколемовской функцииSij. Положимj = 1.

  3. Удалить кванторы , начиная с самого левого и применяя в зависимости от необходимости правила а или б.

а. Если рассматривается квантор x, то удалить его и добавитьxк спискуL.

17. Приведение к клаузальной нормальной форме.

б. Если рассматривается квантор x, то удалить его и заменитьxво всем предложенииCiтермомSij(x1, …, xk),гдеx1, …, xkпеременные, находящиеся в этот момент в спискеL. Увеличитьjна 1.

Следующим шагом является переход к конъюнктивной нормальной форме, а затем к клаузальной форме, то есть форме предложений.

Приведение к конъюнктивной нормальной форме осуществляется заменой пока это возможно (AB)C на (AC)(BC).В результате получим выражения видаA1An, гдеAi имеет вид (, причеместь терм или атомарный предикат или атомарная формула или их отрицание. Целесообразно осуществить и минимизацию по следующим правилам:

Наконец, исключаем связку , заменяяABна две формулыA, B.В результате многократной замены получим множество формул, каждая из которых является предложением. Это и есть клаузальная нормальная форма.