
Метод резолюций
Методику продемонстрируем на примере. Пусть требуется доказать:
.
Сначала поступают точно так же, как и по методике Вонга, только необходимо преобразовать клаузу таким образом, чтобы слева от символа был ноль :
Затем из дизъюнктов составляют резолюции до тех пор, пока не получится ноль.
Выпишем по порядку все посылки и далее начнем их «склеивать». Дизъюнкты можно перебирать автоматически в соответствии с возрастанием порядковых номеров. Такая стратегия поиска нуля очень непродуктивна. К решению данной задачи можно подойти творчески.
В итоге получим:
1. А В |
5.
(1; 4)
|
2. С А |
6. (2; 4) С |
3.
|
7.
(3; 5)
|
4.
|
8. (6; 7) |
Иначе, произведенные раннее преобразования, можно представить в следующем виде:
Алгоритм вывода по принципу резолюции:
Шаг 1: принять отрицание заключения, т.е. В;
Шаг 2: привести все формулы посылок и отрицания заключения к конъюнктивной нормальной форме;
Шаг 3: выписать множество дизъюнктов всех посылок и отрицания заключения: K = {D1; D2; . . . Dk };
Шаг 4: выполнить анализ пар множества K по правилу:
“если существуют дизъюнкты Di и Dj, один из которых (Di) содержит пропозициональную переменную А, а другой (Dj) - контрарную ей переменную А, то соединить эту пару логической связкой дизъюнкции (Di Dj) и сформировать новый дизъюнкт - резольвенту, исключив контрарные литеры А и А; резольвенту включить в множество К,;
Шаг 5: если в результате соединения дизъюнктов, содержащих контрарные предикаты, будет получена пустая резольвента (пустой дизъюнкт) - , то конец (доказательство подтвердило противоречие), иначе включить резольвенту в множество дизъюнктов K и перейти к шагу 4; по закону идемпотентности любой дизъюнкт и любую резольвенту КНФ можно использовать неоднократно.
Пример: Доказать истинность заключения
(AB); (AB);
(AB).
1
)
(AB)
- посылка;
2
)
(AB)=(AB)(BA)
- посылка;
3)(AB)=(AB) –отрицание заключения;
4) K = {(AB); (AB); (BA); (AB)};
5) (AB)(AB)= A - резольвента;
6) A(AB)=B - резольвента;
7) B(BA)=A - резольвента;
8) AA= - пустая резольвента.
A
0
Пример: доказать истинность заключения
(AB)(CD);
(DBM);
M
(AC).
(AB)(CD)=(AB)(CD) - посылка;
DBM=(DB)M=(DBM) - посылка;
M - посылка;
( A C ) = A C - отрицание заключения;
множество дизъюнктов:
K ={A; C; M; (AB); (CD); (DBM)};
A(AB)=B - резольвента;
множество дизъюнктов:
K ={A; C; M; (AB); (CD); (DBM); B};
B(DBM)=(DM) - резольвента;
множество дизъюнктов:
K ={A; C; M; (AB); (CD); (DBM); B; (DM)};
(DM)(CD)=(CM) - резольвента;
множество дизъюнктов:
K ={A; C; M; (AB); (CD); (DBM); B; (DM); (CM)};
(
CM)M=C - резольвента;
CC= - пустая резольвента.
Так доказана истинность заключения (AC).
Пример: доказать истинность заключения
(
ABС
);
(CD
M);
(
N
DM
)
ABN.
ABC=(AB)C=(ABC) – посылка (один дизъюнкт);
CDM=(CD)M=(CDM) –посылка (один дизъюнкт);
NDM=(N)DM=( N D )( N M ) – посылка (два дизъюнкта);
((AB)N)=ABN - отрицание заключения (три однолитерных дизъюнкта);
множество дизъюнктов:
K={(ABC); (CDM); (ND); (NM); A; B;N};
(MN)N=М - резольвента;
множество дизъюнктов:
K1={(ABC); (CDM); (ND); (NM); A; B; M; N};
(CDM)M =(CD) - резольвента;
множество дизъюнктов:
K2={(ABC); (CDM); (ND); (NM);A; B; M;N; (CD)};
(ABC)(CD) =(ABD) – резольвента;
множество дизъюнктов:
K3={(ABC); (CDM); (ND); (NM); A; B; M; N; (CD); (ABD)};
(ABD)A=(BD) - резольвента;
множество дизъюнктов:
K4={(ABC); (CDM); (ND); (NM); A; B; M; N; D; (CD); (ABD)}; (BD) };
(BD)B=D - резольвента;
множество дизъюнктов:
K5={(ABC); (CDM); (ND); (NM); A; B; M; N; D; (CD); (ABD)}; (BD); D};
D(ND)=N - резольвента;
множество дизъюнктов:
K6={(ABC); (CDM); (ND); (NM);A; B; M; N; D; (CD); (ABD)}; (BD); D}; N};
N N = - пустая резольвента.
Для демонстрации удобно использовать граф типа дерево, корнем которого является один из дизъюнктов отрицания заключения, а вершинами – дизъюнкты всех посылок и отрицания заключения. Узлами графа типа дерево являются резольвенты.
Достоинством принципа резолюции является то, что при доказательстве истинности заключения применяют только одно правило: поиск и удаление контрарных литер на множестве дизъюнктов до получения пустой резольвенты.
Алгоритм резолюции основан на том, что выводимость формулы В из множества посылок F1; F2; F3; . . . Fn равносильна доказательству теоремы
(F1F2F3. . .FnB),
формулу которой можно преобразовать так:
(F1F2F3. . .FnB) =
((F1F2F3. . .Fn)B) =
(F1F2F3. . .Fn( B)).
Следовательно, заключение В истинно тогда и только тогда, когда формула (F1F2F3...Fn(B))=л. Это возможно при значении “л” хотя бы одной из подформул Fi илиB.
Для анализа этой формулы все подформулы Fi иB должны быть приведены в конъюнктивную нормальную форму и сформировано множество дизъюнктов, на которые распадаются все подформулы. Два дизъюнкта этого множества, содержащие пропозициональные переменные с противоположными знаками (контрарные атомы) формируют третий дизъюнкт - резольвенту, в которой будут исключены контрарные пропозициональные переменные. Неоднократно применяя это правило к множеству дизъюнктов и резольвент, стремятся получить пустой дизъюнкт. Наличие пустого дизъюнкта свидетельствует о выполнении условия F1F2F3...FnB=л.