Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zadachnik_11.doc
Скачиваний:
100
Добавлен:
10.09.2019
Размер:
3.19 Mб
Скачать

3.4. Процедура вывода Эрбрана

Ранее мы установили, что множество дизъюнктов S невыполнимо тогда и только тогда, когда оно принимает значение ложь при всех интерпретациях на любых областях. Однако в силу невозможности рассмотрения всех интерпретаций на любых областях хорошо бы найти такую специальную область интерпретации, установив на которой факт невыполнимости множества дизъюнктов, можно было бы сделать вывод о невыполнимости этого множества на любых других областях интерпретаций.

Такая область, к счастью, имеется, и она называется универсумом Эрбрана. Определим его.

Пусть Н0 – множество констант, появляющихся во множестве дизъюнктов S. Если в S нет констант, то в Н0 включается некоторая константа, например, Н0 = {a}. Для i = 1, 2, … Hi+1 = Hi  {fn(t1, t2, …, tn)}, где fn – все n-местные функциональные символы, встречающиеся в S, а t1, t2, …, tn – элементы множества Hi. Тогда будем Н = Н называть универсумом Эрбрана для S, а Hi – его уровнем i.

Пример 3.11. Пусть S = {P(x, a, g(y))  Q(x), P(f(x), a, y)  Q(a)}. Тогда H0 = {a};

H1 = {a, f(a), g(a)};

H2 = {a, f(a), g(a), f(f(a)), f(g(a)), g(f(a)), g(g(a))};

H = {a, f(a), g(a), f(f(a)), …}.

Пример 3.12. Пусть S = {Q(x)  R(y), P(y)  Q(x)}. Тогда H = H0 = H1 = … = H = {a}.

Если под выражением понимать терм, множество термов, атом, множество атомов, литеру, множество литер, дизъюнкт или множество дизъюнктов, то под фундаментальным выражением будем понимать выражение, в котором все переменные заменены элементами универсума Эрбрана. Так, фундаментальным примером дизъюнкта будем называть дизъюнкт, полученный заменой всех переменных в этом дизъюнкте элементами универсума Эрбрана таким образом, что все вхождения одной и той же переменной в дизъюнкт заменяются одним и тем же элементом универсума.

Множество фундаментальных атомов вида Pn(t1, t2, … tn), где Pn – все n-местные предикатные символы, встречающиеся во множестве дизъюнктов S и t1, t2, … tn – элементы универсума Эрбрана, называется атомарным множеством или эрбрановской базой для S. Обозначим Эрбрановскую базу через А.

Пример 3.13. Пусть S = {Q(x), P(f(x))  Q(x)}. Тогда H = {a, f(a), f(f(a)), …}, A = {Q(a), P(a), Q(f(a)), P(f(a)), Q(f(f(a))), …}.

Фундаментальные примеры: Q(a), P(f(a))  Q(a) и т.п.

Определим теперь интерпретацию на универсуме Эрбрана и назовем ее Н-интерпретацией. Говорят, что интерпретация IH является Н-интерпретацией для множества дизъюнктов S, если выполнены следующие соответствия:

  • каждому предикатному символу соответствует некоторое n-местное отношение в Н;

  • каждому функциональному символу соответствует некоторая n-местная функция в Н (т.е. функция отображающая Нn в Н);

  • каждой предметной константе ai из S соответствует некоторая константа из Н (т.е. все константы отображаются на самих себя).

Пусть A = {A1, A2, …, Ak, …} является эрбрановской базой для S. Тогда Н-интерпретация IH может быть представлена множеством IH = {m1, m2, …, mk, …}, в котором mj есть Aj или Aj для j = 1, 2, … При этом, если mj есть Aj, то Aj имеет значение И, в противном случае – Л.

Пример 3.14. Пусть S= {P(f(x))  Q(x), R(x)}. Тогда H = {a, f(a), f(f(a)), …}. A = {P(a), Q(a), R(a), P(f(a)), Q(f(a)), R(f(a)), …}.

Примеры Н-интерпретаций: = {P(a), Q(a), R(a), P(f(a)), Q(f(a)), R(f(a)), …}, = {P(a), Q(a), R(a), P(f(a)), Q(f(a)), R(f(a)), …}, = {P(a), Q(a), R(a), P(f(a)), Q(f(a)), R(f(a)), …}.

При оба дизъюнкта выполнимы, при первый дизъюнкт выполним, второй нет, при оба дизъюнкта невыполнимы, т.е. принимают значение Л.

В случае если интерпретация задана не на универсуме Эрбрана, а на произвольной области D, то можно установить следующее соответствие между этими интерпретациями. Пусть дана интерпретация I на некоторой области D. Говорят, что Н-интерпретация IH соответствует интерпретации I, если имеет место следующее: пусть h1, h2, …, hn, … – элементы Н и пусть каждый hi отображается на некоторый элемент di области D, тогда, если любой P(d1, d2, …, dn) принимает значение И (Л) при интерпретации I, то P(h1, h2, …, hn) также принимает значение И (Л) при IH. Имеет место следующая теорема.

Теорема 3.4. Множество дизъюнктов S невыполнимо тогда и только тогда, когда S ложно при всех Н-интерпретациях.

Доказательство «тогда» очевидно, а «только тогда» легко доказывается от противного введением соответствия между Н-интерпретацией и некоторой произвольной интерпретацией. В дальнейшем будем рассматривать только Н-интерпретации, и называть их просто интерпретациями I.

Таким образом, для установления невыполнимости множества дизъюнктов необходимо и достаточно рассмотреть только Н-интерпретации.

Процедура вывода Эрбрана основывается на его теореме.

Теорема 3.5. (теорема Эрбрана). Множество дизъюнктов S невыполнимо тогда и только тогда, когда существует конечное невыполнимое множество S фундаментальных примеров дизъюнктов S.

Таким образом, для установления невыполнимости множества дизъюнктов необходимо образовать множества S1, S2, …, Sn фундаментальных примеров дизъюнктов и последовательно проверять их на ложность. Теорема Эрбрана гарантирует, что, если множество дизъюнктов S невыполнимо, то данная процедура обнаружит такое n, что Sn является ложным.

Процедура вывода Эрбрана состоит из двух этапов: сначала находится множество всех фундаментальных примеров дизъюнктов и затем, используя мультипликативный метод, из КНФ получают ДНФ.

Пример 3.15. Пусть S = {P(x)  Q(x, g(x)), P(f(a)), Q(yz)}. Находим H = {a, f(a), g(a), f(f(a)), f(g(a)), g(f(a)), g(g(a)), …} и фундаментальные примеры дизъюнктов: S10 = {P(f(a))  Q(f(a), g(f(a))), P(f(a)), Q(f(a), g(f(a)))}. Затем с помощью мультипликативного метода убеждаемся в невыполнимости S: (P(f(a))  Q(f(a), g(f(a)))) & P(f(a)) & Q(f(a), g(f(a))) = P(f(a)) & P(f(a)) & Q(f(a), g(f(a)))  Q(f(a), g(f(a))) & P(f(a)) & Q(f(a), g(f(a))) =    = .

Недостаток процедуры вывода Эрбрана состоит в экспоненциальном росте множестве фундаментальных промеров Si при увеличении i. Мультипликативный метод, использованный Гилмором при машинной реализации этой процедуры, также неэффективен. Как легко видеть, даже для малого множества из десяти двухлитерных фундаментальных промеров дизъюнктов существует 210 конъюнкций в ДНФ. Вот почему Гилмор смог доказать только простые теоремы. Иной поход предложил Дж. Робинсон, который ввел принцип резолюции, являющийся теоретической базой для построения большинство методов автоматического доказательства теорем.