Логические модели M = <T, P, A, B> , где: ◦ T — счетное множество базовых символов (алфавит) П(T); ◦ P — множество, называемое формулами П(P); ◦ A — выделенное подмножество априори истинных формул (аксиом) П(А); ◦ B — конечное множество отношений между формулами, называемое правилами вывода П(B). (x)F(x)P (x)F(x)P (x)F(x)P (x)F(x)P = = = = (x)(F(x)P); (x)(F(x)P); (x)(F(x)P); (x)(F(x)P). (x)F(x)(x)P(x) = (x)(F(x)P(x)), (x)F(x)( x)P(x) = (x)(F(x)P(x)). (x)F(x)(x)P(x) (x)(F(x)P(x)), (x)F(x)(x)P(x) (x)(F(x)P(x)). (x)F(x)(x)P(x) = (x)F(x)(y)P(y) = (x)(y)(F(x)P(y)), (x)F(x)(x)P(x) = (x)F(x)(y)P(y) = (x)(y)(F(x)P(y)) при условии, что переменная y не появляется в F(x). Шаг 1. Исключение логических связок и с помощью известных правил. Шаг 2. Продвижение связки до атома с использованием законов де Моргана. В результате выполнения этого шага получается формула, у которой знаки могут стоять только перед атомами. Шаг 3. Переименование связных переменных. Шаг 4. Вынесение кванторов с помощью формул (*) (y)(x)P(x,y) ◦ «Для всех y существует некоторый x (возможно зависящий от y), такой, что P(x,y)» (y)P(f(y),y) (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, z),z) (x)P(x) становится P(A) (x1x2) {x1,x2} Q(A, f(g(B)))-Q(x, y) P1P2…PN и P1Q2…QM P1, P1 Родительские предложения P и PQ(т.е. PQ) PQ и PQ Резольвенты Комментарии PQ и PQ QQ PP P и P NIL PQ и QR (т.е. P Q и Q R) PR (т.е. PR) Q Q Модус поненс Предложение QQ «сворачивается» в Q. Эта резольвента называется слиянием. Здесь две возможные резольвенты; в данном случае обе являются тавтологиями. Пустое предложение, является признаком противоречия Цепочка. L(x) и L(A), где x – переменная, а A – константа {t/x} {t1/x1; t2/x2; …, tn/xn} Условия, допускающие подстановку, состоят в следующем: ◦ xi является переменной, а ti – термом (константа, переменная, функция), отличным от xi. ◦ для любой пары элементов из группы подстановок в правых частях символов «/» не содержатся одинаковые переменные. S – группа подстановок {t1/x1; t2/x2;…,tn/xn} LS S – унификатор {L1, L2, …, Lm}L1S = L2S =… LmS Множество {L(x), L(A)} – унифицируемо, при этом унификатором является подстановка {A/x} {L(x, y)}, L{z, f(x)} S = {x/z, f(x)/y} S' = {A/x; A/z; f(A)/y} , что все другие унификаторы являются подстановками, выражаемыми в виде S Множество литералов Наиболее общие подстановочные частные случаи {P(x), P(A)} P(A) {P(f(x), y, g(y)), P(f((x), z, g(x))} {P(f(x, g(A, y)),g(A, y)), P(f(x, z), z)} P(f(x), x, g(x)) P(f(x, g(A, y)), g(A, y)) {Li} и {Mi} {li} - подмножество {Li} {mi} – подмножеством {Mi} для объединения множеств {li} и {mi} существует НОУ S P(x, f(A)) P(x, f(y)) Q(y) P(z, f(A)) Q(z) Если {li} = {P(x, f(A))} и {mi} = {P(z,f(A))}, получаем резольвенту ◦ P(z, f(y)) Q(z) Q(y), S = {z/x}. При {li} = {P(x, f(A)), P(x, f(y)) и {mi} = P(z, f(A))} получаем резольвенту ◦ Q(A) Q(z), S = {z/x, A/y}. S - ППФ {A1, A2, …, An} W - ППФ, для которой требуется выяснить, является ли она теоремой (A1 A2 … An W) (A1 A2 … An W) Ci = Pi1 Pi2 … Pim Q = C1 C2 … Ck . {Pi1, Pi2, …, Pim} 1. 2. 3. 4. Кто умеет читать, тот грамотный (x)(Ч(x)Г(x)) Дельфины не грамотны (x)(Д(x) Г(x)) Некоторые дельфины обладают интеллектом (x)(Д(x) И(x)) Некоторые из тех, кто обладает интеллектом, не умеет читать (x)(И(x)Ч(x)) 1. Ч(x) Г(x). 2. Д(y) Г(y). 3а. Д(А). 3б. И(А). 4. И(z)Ч(z). 5. Ч(A) резольвента 3б и 4. 6. Г(А) резольвента 5 и 1. 7. Д(А) резольвента 6 и 2. 8 NIL резольвента 7 и 3а. конъюнктивная нормальная форма (conjunctive normal form— CNF) полная фразовая форма (full clausal form) и фраза Хорна (Horn clause) 1. ¬(pvq)→(-p^-q) Исходное выражение. 2. ¬¬(pvq)v(-p^-q) Исключение →. 3. (pvq)v(-p^-q) Ввод - внутрь скобок. 4. (¬pv(pvq)) ^ (¬qv(pvq)) Занесение v внутрь скобок. 5. {{-p, р, q}, {¬q, р, q} } Отбрасывание ^ и v в конъюнктивной нормальной форме. p,q←p и p,q←q p1, …, pm ← q1, …, qn, m=>0 и n=>0 p1, ..., рm <— q1,...qn х1,..., хk, n=0 m=0 ◦ для всех x1, ..., хk p1 или ... или pm является истинным, если q1 и ... и qn являются истинными. ◦ для всех x1, ..., xk p1 или ... или рm является истинным ◦ для всех x1, ..., xk не имеет значения, что q1 и ... и qn являются истинными р <— q1,...qn. р :- q1,...,qn. «Для всех значений переменных в фразе p истинно, если истинны q1 и ... и qn», т.е. пара символов «:-» читается как «если», а запятые читаются как «и».