- •6. Проблема разрешимости. Теория автоматического вывода
- •6.1. Пренексная нормальная форма
- •1. Исключить из а все логические связки ““ (эквива-лентность).
- •2. Исключить из а все логические связки “ “ (импли-кация).
- •3. Внести отрицание ( ) вглубь формулы.
- •4. Вынести кванторы в начало формулы. Для этого используются законы
- •5. Раскрыть в матрице все конъюнкции, содержащиеся внутри дизъюнкций.
- •6.2. Скулемовская форма
- •6.3. Эрбрановский универсум и базис.
- •По индукции можно строго доказать, что
- •6.4. Семантические деревья. Теорема Эрбрана
- •6.5. Метод резолюций
- •6.5.1. Метод резолюций в исчислении высказываний
- •6.5.2 Операции подстановки, унификации и склейки
- •6.5.3. Правило и метод резолюции в теориях первого порядка
- •Заключение к разделу “математическая логика”
1. Исключить из а все логические связки ““ (эквива-лентность).
Для этого используем тавтологию (ВС) (В С)&(С В). В примере после замены
(Q(x,у) Р(х)) (Q(x,у) Р(х))&( Р(х)) Q(x,у))
получим:
А= х Р(х) y((Q(x,у) Р(х))&( Р(х)) Q(x,у))).
2. Исключить из а все логические связки “ “ (импли-кация).
Для этого используем правило замены (ВС) ( В С). Во всех заменах необходимо учитывать очередность вы-полнения операций, предписанную структурой формулы. В примере вначале выполняем замены в области действия квантора y:
(Q(x,у) Р(х)) (Q(x,у) Р(х)),
(Р(х) Q(x,у)) (Р(х) Q(x,у)).
При этом получаем формулу вида:
А= х Р(х) y((Q(x,у) Р(х)) & (Р(х) Q(x,у))).
Заменяя оставшуюся импликацию , в итоге получим:
А= (хР(х)) y((Q(x,у) Р(х)) & (Р(х) Q(x,у))).
После применения пунктов 1 и 2 в формуле остаются только логические связки , и & .
216
3. Внести отрицание ( ) вглубь формулы.
После выполнения операции отрицание не должно стоять перед скобками либо перед кванторами, а может быть только перед предикатами. Для этого используются законы де Моргана и следующие равносильности формул ИП:
х B(х) x B( x),
х B(х) x B( x).
В примере, используя закон 1), получим:
А = х( Р(х)) y((Q(x,у) Р(х)) & (Р(х) Q(x,у))).
4. Вынести кванторы в начало формулы. Для этого используются законы
1) Q(x)B(x) C Q(x) (B(x) C),
2) Q(x)B(x) & C Q(x) (B(x) & C),
3) Q1(x)B(x) Q2(x)D(x) Q1(x)Q2(у) (B(x) D(у)),
4) Q1(x)B(x) & Q2(x)D(x) Q1(x)Q2(у) (B(x) & D(у)).
В формулах 1)-4) под Q(x) понимается любой из кван-торов и , подформула С не должна содержать перемен-ную x. Для того, чтобы при вынесении в начало формулы не изменялись первоначальные области действия кванторов и не нарушалась эквивалентность преобразований, необходи-мо производить переименование связанных переменных так, как в формулах 3)-4). Смысл переименования заклю-чается в том, что фактически первое и второе вхождение связанных переменных независимы - переменные играют роль индексов, принимающих предписанные им значения.
Рассмотрим применение данного преобразования на примере. Для того, чтобы вынести вперед квантор х, необ-ходимо заменить все вхождения переменной х в подфор-муле y((Q(x,у) Р(х)) & (Р(х) Q(x,у))), иначе окажут-ся связанными все свободные вхождения х в нее. Заменяя в этой подформуле х на z и вынося квантор, получим:
А = х(( Р(х) y((Q(z,у) Р(z)) & (Р(z) Q(z,у))) .
217
При вынесении квантора у изменения области дей-ствия квантора не происходит. В результате формула приоб-ретает следующий вид:
А = х y (( Р(х)) ((Q(z,у) Р(z)) & (Р(z) Q(z,у))) .
После вынесения кванторов в начало формулы её можно представить в виде:
А= (Q1 (x1) Q2 (x2)...Qn (xn))M(x1, x2 ,...,xn ).
Матрица M(x1, x2 ,...,xn ) не содержит кванторов и логи-ческих операций, помимо (,, &).
5. Раскрыть в матрице все конъюнкции, содержащиеся внутри дизъюнкций.
Цель операции - представить матрицу в виде конъ-юнкции дизъюнктов.
Для раскрытия применяем правило:
B (C&D) (BC) & (BD).
В примере применение этого правила к матрице при-водит её к виду:
M= (( Р(х)) ((Q(z,у) Р(z)) & (Р(z) Q(z,у)))= ( Р(х) Q(z,у) Р(z)) & ( Р(х) Р(z) Q(z,у)).
В итоге у рассмотренной формулы пренексная нор-мальная форма будет следующей:
А =х y ((Р(х)Q(z,у)Р(z)) & ( Р(х) Р(z) Q(z,у))).
Отметим, что пренексная нормальная форма с матри-цей в виде конъюнкции дизъюнкций с точностью до обо-значения переменных эквивалентна исходной формуле.
Задачи.
1.Указать, в каких случаях необходимо произвести пере-именование переменных при вынесении кванторов:
а)xy(Р(х,y)Q(x)) zR(x,y,z); б)xy zuR (х, y, z,u) &yB(х, y); в) xyA(x, y)& xy B(х, y); г) xyA(x,y,z) xyB(х,y); д) xy A(x,y) xy((B(х,y) C(x,z)); е) xyz(A(х,y) B(x,z))zC(x, y, z) ; ж) xyu A(x, y, z, u) xy B(х, y, z, u).
218
