13.4. Эрбрановский универсум множества дизъюнктов
По определению, множество дизъюнктов невыполнимо тогда и только тогда, когда оно ложно при всех интерпретациях па всех областях. Так как невозможно рассматривать все интерпретации на всех областях, было бы удобно, если бы мы могли фиксировать одну такую специальную область H, что S невыполнимо тогда и только тогда, когда S ложно при всех интерпретациях на этой области. Эрбран показал, что такая область существует. Ее называют эрбрановским универсумом множества дизъюнктов S и определяют следующим образом.
Определение 13.4. Пусть H0 — множество констант, встречающихся в S. Если никакая константа не встречается в S, то H0 состоит из одной произвольной константы, например, H0={а}. Для i = 1, 2, ... пусть Hi+1 есть объединение Hi и множества всех термов вида fn(t1, …, tn) (при всех n) для всех функций fn, встречающихся в S, где tj (j = 1, ..., n) принадлежит Нi. Тогда каждое Hi называется множеством констант i-го уровня для S и Н называется эрбрановским универсумом для S.
Примеры.
1. Пусть S1={Р(а), P(x)Р(f(х))}. Тогда
H0={a};
H1={a, f(a)};
H2={a, f(a), f(f(a))};
……………………………………………..
H={a, f(a), f(f(a)), f(f(f(a))), …}.
2. Пусть S2 = {Р(x)(Q(х), R(z), R(у)(Q(y)). Так как не существует никаких констант в S, положим H0 = {а}. Поскольку не существует никаких функциональных символов в S, то H=H0=H1=…={a}.
Определение 13.5. Пусть S есть множество дизъюнктов. Тогда множество атомов вида Рn(t1, ..., tn) для всех n-местных предикатов Рn, встречающихся в S, где t1, ..., tn – элементы эрбра-новского универсума S, называется множеством атомов множества S, или эрбрановским базисом S.
Пример. Эрбрапонский базис множества дизъюнктов S={Р(а), P(х)Р(f(х))}:
A={P(a), P(f(a)), P(f(f(f(a)))), …}.
Эрбрановский базис множества дизъюнктов S2 = {Р(х)Q(х), R(z)Q(x)}:
А={P(a), Q(a), R(a)}.
Определение 13.6. Основной пример дизъюнкта С множества дизъюнктов S есть дизъюнкт, полученный заменой переменных в С на элементы эрбрановского универсума S.
Пример. Пусть S={Р(х), Q(f(у))R(y)}, С=Р(х) - дизъюнкт в S и H={а, f(a), f(f(a)), ...} - эрбрановский универсум S. Тогда P(a), P(f(a)), P(f(f(a))) есть основные примеры С.
Определение 13.7. Пусть S — множество дизъюнктов, H - эрбрановский универсум S и I интерпретация S над H. Говорят, что I есть H-интерпретация множества S, если она удовлетворяет следующим условиям:
1. I отображает все константы из S в самих себя;
2. пусть f есть n-местный функциональный символ и h1, …, hn – элементы H. В I через f обозначается функция, которая отображает (h1, …, hn) (элемент из Hn) в f(h1, ...., hn) ( элемент из H). При этом не возникает никаких ограничений при придании значения любому n-местному предикатному символу в S. Пусть А={А1, А2, ..., Аn, ...} - эрбрановский базис множества S. H-интерпретацию I удобно представлять в виде: I={m1, m2, ..., mn, ...}, где mj есть Аj или Аj для j=1, 2, ... Смысл этого множества в том, что если mj есть Аj, то атому Аj {присвоено значение «истинно», в противном случае - значение «ложно».
Пример. Рассмотрим множество S={Р(х)Q(х), R(f(y))}. Эрбрановский универсум H для S есть Н={а, f(а), f(f(а)), ...}. В S входят три предикатных символа: Р, Q, и R. Следовательно, эрбрановский базис S есть А={P(a), Q(а), R(a), Р(f(а)), Q(f(а)), R(f(a)), …}.
Некоторые H интерпретации множества S:
I1={Р(а), Q(a), R(а), Р(f(а)), Q(f(a)), R(f(a)), ...},
I2={Р(а), Q(a), R(а), Р(f(а)), Q(f(a)), R(f(a)), ...},
I3={Р(а), Q(a), R(а), Р(f(а)), Q(f(a)), R(f(a)), ...}, и т.д.
Можно показать, что для любой интерпретации найдется соответствующая ей H-интерпретация.
Теорема 13.3. Множество дизъюнктов S невыполнимо тогда и только тогда, когда S ложно при всех H-интерпретациях в S.
Доказательство. Первая половина теоремы очевидна, так как по определению S невыполнимо тогда и только тогда, когда S ложно при всех интерпретациях на этой области. Чтобы доказать вторую половину теоремы, предположим, что S ложно при всех H-интерпретациях в S. Положим, что S выполнимо. Тогда существует такая интерпретация I на некоторой области D, что S истинно при I. Пусть I* есть H-интерпретация, соответствующая I. Тогда S истинно при I*. Это противоречит предположению, что S ложно при всех H-интерпретациях в S. Следовательно, S должно быть невыполнимо, что и требовалось доказать.
Таким образом, мы достигли цели, установленной в начале этого параграфа, т.е. нам необходимо рассматривать только интерпретации над эрбрановским универсумом, точнее, H-интерпретации, для проверки того, выполнимо множество дизъюнктов или нет. Поэтому впредь, упоминая интерпретацию, мы будем иметь в виду H-интерпретацию.
H-интерпретации можно представлять в виде семантических деревьев. Как будет видно впоследствии, нахождение доказательства невыполнимости множества дизъюнктов эквивалентно построению семантического дерева. Без потери общности можно рассматривать только бинарные семантические деревья.
Определение 13.8. Если А – атом, то говорят, что две литеры А и А контрарны друг другу, и множество {А, А} называют контрарной парой.
Отметим, что дизъюнкт есть тавтология, если он содержит контрарную пару, так как ААТ. и множество дизъюнктов невыполнимо, если оно содержит два единичных контрарных дизъюнкта, так как А&АF.
Определение 13.9. Пусть S – множество дизъюнктов и A - его эрбрановский базис. Семантическое (бинарное) дерево для S есть растущее вниз дерево T, в котором каждому ребру приписан атом из А или его отрицание таким образом, что из каждого узла N выходит дна ребра, помеченные контрарными литерами, и каждая ветвь дерева не содержит контрарных литер.
Обозначим через I(N) объединение всех литер, приписанных ребрам ветви, ведущей к узлу N. Тогда для каждого узла N I(N) не содержит контрарных пар.
Определение 13.10. Пусть А={А1, А2, ..., Аn, ...) - эрбрановский базис множества S. Говорят, что семантическое дерево для S будет полным тогда и только тогда, когда для каждого i(i = 1, 2, ...) и каждого конечного узла N семантического дерева (т. е. для узла, из которого не выходит никаких ребер) I(N) содержит либо Ai либо Ai. Таким образом, в полном семантическом дереве каждая ветвь соответствует одной H-интерпретации.
Когда эрбрановский базис множества S бесконечен, всякое полное семантическое дерево для S будет тоже бесконечно. Полное семантическое дерево для S соответствует исчерпывающему перебору всех возможных интерпретаций для S. Если S невыполнимо, то S не сможет быть истинным в каждой из этих интерпретаций. Таким образом, мы можем остановить рост дерева из узла N, если I(N) опровергает S. Это порождает следующие определения.
Определение 13.11. Узел N называется опровергающим, если I(N) опровергает некоторый основной пример дизъюнкта в S, но для любого предшествующего узла NI(N) не опровергает никакого основного примера дизъюнкта в S.
Определение 13.12. Говорят, что семантическое дерево Т замкнуто тогда и только тогда, когда каждая ветвь T оканчивается опровергающим узлом.
Примеры.
1. Пусть S={Р, QR, РQ, PR}
Эрбрановский базис множества S есть A={Р, Q, R}, невыполнимое множество основных примеров: {Р, QR, РQ, PR}. Семантическое дерево для S показано на рис. 13.1, замкнутое поддерево выделено более жирными линиями.
2. Пусть S={Р(х), Р(x)Q(f(x)), Q(f(x))}. Эрбрановский базис A={Р(a), Q(a), Р(f(а)), Q(f(a))}. Невыполнимое множество основных примеров: {Р(a), Р(а)Q(f(a)), Q(f(a))}.
Семантическое дерево для 5 будет бесконечным (см. рис. 13.2); замкнутое поддерево выделено более жирными линиями.