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

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).В результате получим выражения видаA1 … An, гдеAi имеет вид (, причеместь терм или атомарный предикат или атомарная формула или их отрицание. Целесообразно осуществить и минимизацию по следующим правилам:

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