Исчисление предикатов первого порядка

в качестве модели представления знаний

в системах искусственного  интеллекта

Формальные системы
Формальная система (формальная теория, исчисление) - совокупность чисто абстрактных объектов (объектов, никак не связанных с реальным миром), в которой представлены правила оперирования цепочками символов в исключительно синтаксической трактовке без учета какого-либо смыслового содержания.

Формальная система (теория) S определяется как четверка

S=<T, F, A, R> ,
где
T - алфавит теории (конечное множество базовых символов);
F - множество (перечислимое) формул (называемых также правильно построенными формулами - сокращенно, ппф), построенных из элементов T с использованием некоторого набора синтаксических правил;
A - множество формул, называемых аксиомами;
R - конечное множество правил вывода.

Правило вывода - отношение вида ri(f1, f2, ... fn , g) на множестве F. При этом формула g называется непосредственно выводимой из множества формул f1, f2, ..., fn по правилу ri; формулы f1, f2, ..., fn называются посылками, а g - следствием или заключением.
Для записи правил вывода часто используют представленную ниже нотацию:

ri: f1, f2, ... fn |- g .
Различают правила вывода двух типов: Пример. Так, в математике правило вывода
x>y, y>z |- x>z
является правилом продукции.

Выводом формулы fm в теории S из множества формул {f1, f2, ..., fn} называется последовательность формул fn+1, fn+2, ..., fm такая, что для любого i = n+1...m формула fi либо аксиома, либо непосредственно выводима из множества {f1, f2, ..., fi-1} (или его подмножества) по одному из правил множества R.

Примечание. Напоминаем, что запись вида {...} используется для перечисления элементов некоторого множества.

Доказательством формулы g в S называется вывод g, в котором в качестве исходного множества формул используются только аксиомы; g называется теоремой S, если для нее существует доказательство.

Формальная теория S называется разрешимой, если существует эффективная процедура, которая для любой формулы определяет, является ли данная формула теоремой или нет.

Пример. Простая формальная система:
Алфавит T = {a, b, #};
Формулы F = {символ или любая последовательность символов алфавита T};
Аксиомы А = {a#a} (одна единственная аксиома);
Правила вывода R = {C1#C2 |- bC1#C2b} (одно единственное правило вывода), C1 и C2 обозначают любые последовательности символов a и b. Представленное правило вывода является правилом продукции.
Некоторые формулы теории (ппф): ###, aaa, bababbb, b#a#ab, a.
Формулы, не являющиеся ппф: abby, bob, baobab.
В данной теории формула babba#ab непосредственно выводима из формулы abba#a по единственному имеющемуся правилу вывода (но не является теоремой).
Теоремами здесь будут только следующие формулы:

ba#ab,
bba#abb,
bbba#abbb,
bbbba#abbbb,
и так далее.

Пример. Еще одна формальная система:
Алфавит T = {m, i, u};
Формулы F = {символ или любая последовательность символов алфавита T};
Аксиомы А = {mi} (одна единственная аксиома);
Правила вывода R = {

где C обозначает любую последовательность символов алфавита T.

Задание. Для приведенной выше формальной системы доказать теорему mu.
 

Исчисление предикатов
Наибольшее распространение в системах искусственного интеллекта получила формальная система, носящая название исчисления предикатов первого порядка (ИППП).

Алфавит ИППП состоит из:

Понятие формулы в ИППП определяется в два этапа, с использованием представленных ниже синтаксических правил.
  1. Терм:
  2. Формула:
Элементарная формула (атом) F и ее отрицание ~F называются литералами (соответственно, положительным и отрицательным).

В формулах A-1x(F) и E-1x(F) принято F называть областью действия квантора, при этом переменная x в области действия квантора характеризуется как связанная, вне области действия она свободна.
Формула называется замкнутой, если она не содержит свободных переменных.

Рассматриваемое исчисление предикатов является исчислением первого порядка, поскольку в нем допустимы кванторы лишь по переменным (в исчислении второго порядка - дополнительно по предикатным и функциональным буквам).

Пример. Несколько правильно построенных формул ИППП:

Из всех представленных формул только третья является замкнутой.

Если областью действия квантора является вся формула, то охватывающие ее круглые скобки можно опускать, поэтому третья формула может быть записана более кратко в следующем виде:

Множество (бесконечное) аксиом чистого исчисления предикатов (исчисления, не содержащего фукциональных букв и предметных констант) задается следующим множеством их схем:
A1: F->(G->F)
A2: (F->G)->((F->(G->H))->(F->H))
A3: (F&G)->F
A4: (F&G)->G
A5: F->(G->(F&G))
A6: F->(F|G)
A7: G->(F|G)
A8: ~~F->F
A9: (F->G)->((F->~G)->~F)
A10: (F->H)->((G->H)->((F|G)->H))
A11: A-1x(F(x))->F(y)
A12: F(y)->E-1x(F(x))
,где F, G и H - метапеременные, которые могут быть заменены произвольными ппф для получения конкретных аксиом, а F(x) в двух последних схемах обозначает любую ппф, содержащую свободные вхождения переменной x, при этом ни одно из них не находится в области действия квантора по y.

Примечание. Фомулы F->G и ~F|G, а также F&G и ~(F->~G) эквивалентны, т.е. являются синонимами (подробнее об эквивалентности см. ниже).
Примечание. Для ИППП возможны и другие системы аксиом, например, существует система трех схем аксиом, содержащих только знаки отрицания и импликации.
Примечание. Аксиомы ИППП A1 ... A10 совпадают с аксиомами исчисления высказываний.

В ИППП используются следующие правила вывода.

  1. Правило заключения (modus ponens)

  2. R1: F, F->G |- G
    (если F и F->G являются выводимыми формулами, то G - выводимая формула).
  3. Правило обобщения (правило A-1-введения)

  4. R2: F->G(x) |- F->A-1x(G(x))
    , где G(x) содержит свободное вхождение переменной x, а F их не содержит.
  5. Правило E-1-введения

  6. R3: G(x)->F |- E-1x(G(x))->F
    при тех же требованиях к G(x) и F, что и в предыдущем правиле.
Примечание. Представленные выше аксиомы даны в форме с метапеременными, это возможно, поскольку существует правило подстановки , где U(A) - выводимая формула, содержащая атомарную формулу A, а U(G) - формула, получающаяся из U(A) заменой всех вхождений A на произвольную ппф G.

На основе схем аксиом и указанных правил вывода могут быть доказаны "метатеоремы", пригодные для использования в качестве дополнительных правил вывода.

Двумя полезными правилами-"метатеоремами" являются представленные ниже.

  1. Правило переименования свободных переменных

  2. R4: F(x) |- F(y)
    , где F(x) содержит свободные вхождения x, ни одно из которых не находится в области действия квантора по y.
    Доказательство:
    а) |- F(x) (по условию)
    б) F(x)->(G->F(x)) (аксиома A1, где в качестве G выбирается любая доказуемая формула, не содержащая свободных вхождений x)
    в) G->F(x) (результат применения правила заключения R1 к формулам а и б)
    г) G->A-1xF(x) (правило обобщения R2 к формуле в)
    д) A-1xF(x) (правило заключения к формуле г при учете доказуемости G)
    е) F(y) (правило заключения к д и аксиоме A11)
     
  3. Правило переименования связанных переменных

  4. R5': A-1xF(x) |- A-1yF(y)
    R5": E-1xF(x) |- E-1yF(y)
    , где F(x) содержит свободные вхождения x, ни одно из которых не находится в области действия квантора по y, и не содержит свободных вхождений y.
    Доказательство для правила-"метатеоремы" R5':
    а) |- A-1xF(x) (по условию)
    б) A-1x(F(x))->F(y) (аксиома A11)
    в) A-1x(F(x))->A-1y(F(y)) (правило обобщения к б)
    г) A-1yF(y) (правило заключения к а и в)
    Интерпретация ИППП
Использование ИППП в качестве инструмента для представления знаний и манипулирования ими связано с возможностью интерпретации ппф как утверждений, касающихся предметной области.

Под интерпретацией формальной теории понимается непустое множество M (называемое областью интерпретации) и однозначное отображение, которое:

  1. каждой предикатной букве Pin ставит в соответствие n-местное отношение на M,
  2. каждой функциональной букве fjm - m-местную операцию на M,
  3. каждой предметной константе - элемент M.
При этом предметная переменная может принимать значение любого элемента M.

Всякая замкнутая (т.е. не содержащая свободных переменных) ппф представляет собой высказывание об элементах, отношениях и операциях на M, которое может быть истинным или ложным. При этом атомарной формуле Pin(t1, t2, ..., tn) приписывается значение истины, если термы t1, t2, ..., tn соответствуют элементам из M, удовлетворяющим отношению, определяемому данной интерпретацией. Значение истинности составных формул вычисляется в соответствие с входящими в них знаками связок, интепретируемых как логические операции (& - И, | - ИЛИ, ~ - НЕ, -> - импликация).

Примечание. Логическая операция "импликация" имеет следующую таблицу истинности:
 

F G F->G
ложь ложь истина
ложь истина истина
истина ложь ложь
истина истина истина

Примечание. Следует учитывать, что в случае ппф с кванторами построить разрешающий алгоритм, связанный с вычислением значений истинности ппф, не удается по причине возможной бесконечности M (отсюда бесконечные таблицы истинности).

Незамкнутая ппф соответствует некоторому отношению на M, при подстановке предметных констант она превращается в высказывание, которое может быть истинным или ложным в зависимости от того, находятся или нет в данном отношении элементы M, соответствующие предметным константам.

Незамкнутая формула называется выполнимой в данной интерпретации, если существует такая подстановка предметных констант, при которой она превращается в истинное высказывание.

Формула называется общезначимой, если она выполняется (т.е. превращается в истинное высказывание) при любой подстановке констант, и противоречивой, если она невыполнима при любой подстановке констант.

Интерпретация ставит вопрос об адекватности

  1. содержательно построенной теории предметной области, рассматриваемой как множество объектов и отношений и операций на нем, с одной стороны,
  2. и
  3. множества высказываний об этой теории, построенного как формальная система, с другой.
Внимание! Существует глубокая принципиальная разница между концепциями доказуемости некоторой формулы ИППП и истинности высказывания, представленной этой формулой.

Имеются четыре варианта взаимоотношения между доказуемостью и значением истинности, представленные следующей таблицей
 

     
    теорема
    нетеорема
    истина
    ?
    ?
    ложь
    ?
    ?
Если каждая ппф в некотором множестве ппф является истинной при одной и той же подстановке предметных констант, то говорят, что эта подстановка удовлетворяет множеству ппф.

Некоторая ппф F логически следует из множества Ф ппф, если каждая подстановка констант, удовлетворяющая Ф, также удовлетворяет и F.

Пример. Формула A-1x Q(x) логически следует из множества {A-1x(~P(x)|Q(x)), A-1xP(x)}.

Имеется важное соответствие между понятием логического следования ппф из некоторого сножества ппф и представлением о ппф как о теореме, выводимой из этого множества ппф с помощью правил вывода.

Формальная система (система правил вывода) логична, если любая ппф, выводимая из множества ппф с помощью ее правил вывода, также логически следует из этого мрожества.

Пример. Доказано, что правило заключения (modus ponens) ИППП является логичным правилом вывода.

Формальная система называется полной, если все ппф, являющиеся ее теоремами, также и логически следуют из множества ппф, являющихся ее аксиомами. Для формальной системы, обладающей полнотой, таблица соотношения между доказуемостью и истинностью имеет следующий вид.

     
    теорема
    нетеорема
    истина
    +
    -
    ложь
    -
    +

     
ИППП - полная формальная система, это дает возможность ...

Таким образом, ИППП является тем математическим аппаратом, который позволяет представлять знания о некоторой предметной области в рамках формальной системы. При этом сама предметная область выступает в качестве области интерпретации, а знания (в виде отношений над понятиями предметной области) представляются собственными специфическими аксиомами, добавляемыми к чисто логическим аксиомам ИППП.

Прикладные теории, построенные на основе ИППП, носят название теорий первого порядка. В них полностью задействованы все символы алфавита ИППП (в том числе предметные константы и функциональные буквы), вследствие чего две последние аксиомы ИППП в них принимают более общий вид:

A11': A-1x(F(x)) -> F(t)
A12': F(t) -> E-1x(F(x))
,где t - произвольный терм.

Еще одним полезным правилом-"метатеоремой" является правило специализации
R6: A-1x(F(x)) |- F(a)
, где a - любая предметная константа.
Доказательство для правила R6:
а) |- A-1xF(x) (по условию)
б) A-1xF(x) -> F(t) (аксиома A11')
в) F(t) или F(a) (правило заключения к а и б, где в качестве терма t принимается предметная константа a)

Пример. Пусть необходимо построить теорию первого порядка на базе ИППП для следующей чрезвычайно упрощенной предметной области "проектирование башен".
Башня представляет собой сооружение из крыши и поддерживающего ее ствола. Крыша может быть призматической высотой 4 м или плоской высотой 1 м. Ствол башни может состоять из 1, 2 или 3 блоков одинаковой формы. Цилиндрические блоки имеют высоту 5 и 3 м, а блоки в виде параллелепипеда - 4 и 2 м.
Основной задачей, рещаемой в этой предметной области, является создание проекта башни заданной высоты.

Предметные аксиомы теории первого порядка для представления знаний из области конструирования башен могут иметь следующий вид.

  1. КРЫША(призма,4)
  2. КРЫША(плоск,1)
  3. БЛОК(цилиндр,5)
  4. БЛОК(цилиндр,3)
  5. БЛОК(параллелепипед,4)
  6. БЛОК(параллелепипед,2)
  7. A-1x A-1h БЛОК(x,h) -> СТВОЛ(x,h)
  8. A-1x A-1h1 A-1y A-1h2 БЛОК(x,h1) & БЛОК(y,h2) & РАВНО(x,y) & НА(y,x) -> СТВОЛ(x,f2sum(h1,h2))
  9. A-1x A-1h1 A-1h2 A-1h3 БЛОК(x,h1) & БЛОК(x,h2) & БЛОК(x,h3) -> СТВОЛ(x,f3sum(h1,h2,h3))
  10. A-1x A-1hстA-1y  A-1hкр СТВОЛ(x,hст) & КРЫША(y,hкр) & НА(y,x) -> БАШНЯ(x,y,f2sum(hст,hкр))
Первые шесть формул не содержат предметных переменных, они описывают факты предметной области (конкретные конструкционные элементы) и составляют экстенсиональную часть базы знаний.
Остальные ппф, содержащие квантифицированные переменные, выражают синтаксические знания о всех возможных схемах построения башен и составляют интенсиональную часть базы знаний.
Областью действия переменных является только одна формула.
Предметные переменные x и y используются для обозначения формы элементов (крыш и блоков), узлов (стволов) и конструкции в целом (башен). Предметные переменные hi обозначают их высоты. Функциональные буквы  f2sum и f3sum определяют операцию суммирования высот (двух и трех, соответственно).
Предикат РАВНО в аксиоме 8 ограничивает построение стволов башен из двух блоков одинаковой формы. Однако, форма записи аксомы 9 показывает избыточность применения в таком контексте предиката РАВНО (эдесь одна и та же переменная x используется в качестве первого аргумента всех предикатов БЛОК, описывающих блоки одинаковой формы одного ствола).
Аксиома 9 может быть прочитана по-русски (с учетом правила заключения - modus ponens) следующим образом: ...
Отметим, что предикат НА в данной системе аксиом играет чисто иллюстративную роль, поскольку башня в нашей предметной области представляет из себя конструкцию из элементов, установленных только друг над другом (но не "слева", "справа" или "спереди").
Очевидно, что представленный вариант системы предметных аксиом является компактным, но не единственно возможным.
    Полезные теоремы
Докажем несколько полезных теорем, используемых далее в качестве вспомогательных правил вывода.

R7: |- F->F
Доказательство:
а) (F->(F->F))->((F->((F->F)->F))->(F->F)) (аксиома A2, в которой вместо G подставлена (F->F), а вместо H - F);
б) F->(F->F) (аксиома A1 с подстановкой F вместо G);
в) (F->((F->F)->F))->(F->F) (правило заключения к а и б);
г) F->((F->F)->F) (аксиома A1 с подстановкой (F->F) вместо G);
д) F->F (правило заключения к в и г).

R8: F&G |- F,G
Доказательство: применение (дважды) правила заключения к аксиомам A3 и A4.

R9: F,G |- F&G
Доказательство: двукратное применение правила заключения к аксиоме A5.

R10: (F->G)&(G->H) |- F->H (свойство "транзитивности" импликации)
Доказательство:
а) F->G (по правилу R8, примененному к исходной формуле (F->G)&(G->H))
б) G->H (по правилу R8, примененному к исходной формуле (F->G)&(G->H))
в) (F->G)->((F->(G->H))->(F->H)) (аксиома A2)
г) (F->(G->H))->(F->H) (правило заключения к а и в)
д) (G->H)->(F->(G->H)) (аксиома A1 с заменой F на (G->H) и G на F)
е) F->(G->H) (правило заключения к б и д)
ж) F->H (правило заключения к е и г)

R11: если Ф,F|-G, то Ф|-F->G (теорема дедукции),
где Ф - множество формул, а F и G - формулы.
Доказательство приведено в [1, стр. 223].

R12: если Ф,F|-G и Ф,F|-~G, то Ф|-~F (правило введения отрицания)
Доказательство:
а) Ф|-F->G (теорема дедукции R11 к первой части условия);
б) Ф|-F->~G (теорема дедукции R11 ко второй части условия);
в) Ф|-(F->~G)->~F (правило заключения к а и аксиоме A11);
г) Ф|-~F (правило заключения к б и в).
Примечание. Правило R11 лежит в основе метода доказательства от противного: предполагается, что F выводима, далее показывается одновременная выводимость G и ~G, что свидетельствует о реальной выводимости ~F.

R13: F&G|-~(F->~G)
Доказательство (от противного):
а)F->~G (предположение о выводимости);
б)F (правило R8 к посылке);
в)G (правило R8 к посылке);
г)G->(F->G) (аксиома A1);
д)F->G (правило заключения к в и г);
е)(F->~G)->~F (правило заключения к д и аксиоме A9);
ж)~F (правило заключения к а и е);
з)~(F->~G) (правило R12 к б и ж с учетом предположения а).

R14: |-F->~~F
Доказательство:
а)(F&~F)->F (аксиома A3);
б)(F&~F)->~F (аксиома A4);
в)~(F&~F) (правило R12 к а и б);
г)~~(F->~(~F)) (правило R13 к в);
д)~~(F->~~F)->(F->~~F) (аксиома A8 с заменой F на F->~~F);
е)F->~~F (правило заключения к г и д).

Задание. Самостоятельно доказать следующие теоремы:
R15: ~(F->~G)|-F&G
R16: F->G|-~F|G
R17: ~F|G|-F->G
 

Эквивалентность формул ИППП
Формулы F и G называются эквивалентными, если доказуемой является формула(F->G)&(G->F).
Для обозначения эквивалентности используется следующая нотация F=G.

Эквивалентность E1: F=~~F
Доказательство:
а) ~~F->F (аксиома A8);
б) F->~~F (правило-"метатеорема" R14);
в) (~~F->F)&(F->~~F) (правило R9 к а и б).

Ниже без доказательства приведены некоторые важные эквивалентности:
E2: F->G = ~F|G
E3: ~(F->~G) = F&G
E4: ~(F&G) = ~F|~G
E5: ~(F|G) = ~F&~G
E6: A-1F(x) = ~E-1x~F(x)
E7: F|(G&H) = (F|G)&(F|H)

Примечание. Эквивалентности E4 и E5 называются законами де Моргана.

Очень важным для проведения доказательств является следующее правило-"метатеорема":
если |-A=B, то |-F(A)=F(B),
где F(A) - формула, в которой выделены все вхождения формулы A, а F(B) - формула, полученная из F(A) заменой всех вхождений A на формулу B.
 

Правило резолюции
Правило резолюции - это правило вывода-"метатеорема", применяемое к ппф специального вида, часто называемым ппф в коньюнктивной нормальной форме (КНФ).

Правило резолюции:
R18: (P|R)&(~P|Q)&F |- (R|Q)&F ,
где P, R, Q и F обозначают произвольные ппф.
Доказательство:
а) (P|~(~R))&(~P|Q), F (по правилу R8 и в силу эквивалентности формул F и ~~F),
б) ((~R)->P)&(P->Q), F (в силу эквивалентности F->G и ~F|G),
в) ((~R->Q), F (правило R10 к б),
г) (~(~R)|Q), F (в силу эквивалентности F->G и ~F|G),
д) (R|Q)&F (по правилу R9 и в силу эквивалентности формул F и ~~F).

Примечание. Формула-следствие правила резолюции называется резольвентой.

Использование правила резолюции ставит две проблемы:

  1. приведение формулы-посылки к специальному виду "коньюнкция дизъюкций";
  2. приведение положительной и отрицательной формул в дизъюнктах к абсолютно единому виду.
На практике правило резолюции (или просто резолюция) применяется к определенному классу формул, называемых предложениями.
Преобразование множества ппф во множество предложений
Предложением (или дизъюнктом) называется дизъюнкция литералов (напомним, что литерал - это атомарная ппф или ее отрицание):
L1|L2| ... |Lm
Правило резолюции применяется к двум предложениям, называемым родительскими, и в результате дает предложение, называемое резольвентой.
Доказано, что любая произвольная ппф ИППП может быть преобразована во множество предложений. Алгоритм такого преобразования состоит из следующих шагов.
  1. Исключение символов импликации, для чего используется ~F|G вместо F->G.
  2. Ограничение области действия отрицания только атомарными ппф. Здесь используются законы (эквивалентности E4 и E5) де Моргана:
  3. ~(F&G) = ~F|~G
    ~(F|G) = ~F&~G
  4. Разделение переменных. Переименование переменных с той целью, чтобы каждый квантор имел свою переменную.
  5. Исключение кванторов существования введением т.н. сколемовских функций и констант. Например, A-1x(E-1y P(x,y)) заменяется на A-1xP(x,f(x)), где f(x) - сколемовская функция.

  6. Если исключаемый квантор существования не входит в область действия ни одного из кванторов общности, то применяется сколемовская функция без аргументов, т.е. константа. Так, E-1x P(x) преобразуется в P(a), где a - сколемовская константа.
    Важно, чтобы сколемовские функции и константы были уникальны.
  7. Вынесение кванторов в начало формулы, она получает префиксную форму.
  8. Исключение кванторов общности из формулы (считается "по умолчанию", что все переменные формулы находятся в области действия кванторов общности).
  9. Приведение ппф в коньюнктивную нормальную форму с использованием эквивалентности E7 вида F|(G&H) = (F|G)&(F|H).
  10. Исключение символов коньюнкции по правилу R8, в результате чего образуется множество предложений (дизъюнктов).
Примечание. На практике, как правило, нет необходимости в частом применении данного алгоритма, т.к. представление знаний в форме множества предложений - это наиболее естественный способ для человека.
 
Унификация
Унификацией называется процесс подстановки термов на места переменных в ппф с целью приведения этих формул к требуемому виду.

Дело в том, что при доказательстве теорем (в том числе и с помощью правила резолюции), содержащих квантифицированные переменные,  часто оказывается необходимым привести к единому виду определенные подвыражения.

Пример. Пусть необходимо из утверждений "все люди смертны" и "Сократ - человек" доказать формальным путем (используя ИППП) теорему "Сократ - смертен". Тогда предметные аксиомы будут иметь следующий вид:

    AA1: A-1x(Ч(x)->C(x))
    AA2: Ч(Сократ)
Доказательство:
а) Ч(Сократ)->С(Сократ) (правило специализации R6 к AA1);
б) С(Сократ) (правило заключения к AA2 и а).
Здесь для применения правила специализации на шаге а необходимо было найти подстановку "Сократ вместо x".

Подстановочным частным случаем некоторой ппф называется ппф, получившаяся подстановкой в эту (первоначальную) ппф термов на места переменных. При этом:

  1. каждое вхождение переменной заменяется на один и тот же терм;
  2. переменная не может быть заменена термом, содержащим ту же самую переменную.
Пример. Для ппф P(x,f(y),b) некоторыми подстановочными частными случаями будут:
  1. P(z,f(v),b)
  2. P(g(z),f(a),b)
  3. P(c,f(a),b)
при этом первая ппф является алфавитным вариантом подстановки, а третья называется основным частным случаем, поскольку не содержит переменных.

Подстановки принято представлять в виде множества пар "терм/переменная":

s={t1/v1, t2/v2, ... ,tn/vn} .
Пример. Для рассмотренного выше примера подстановки выглядят следующим образом:
    s1={z/x, v/y};
    s2={g(z)/x, a/y};
    s3={c/x, a/y}.
Для обозначения подстановочного частного случая некоторой ппф F пишут Fs.
Композиция двух подстановок s1 и s2, обозначаемая как s1s2, получается применением s2 к термам s1 с последующим добавлением тех пар из s2, которые содержат переменные, не встречающиеся среди переменных s1.

Некоторые свойства подстановок:

    (Fs1)s2 = F(s1s2)
    (s1s2)s3 = s1(s2s3)
    s1s2 не равно s2s1 в общем случае
Множество ппф {Fi} унифицируемо, если существует подстановка s такая, что
F1s = F2s = ... = Fns .
В этом случае s называется унификатором для множества {Fi}.

Наиболее общий унификатор (ноу) g обладает тем свойством, что, если s - любой унификатор для {Fi}, то существует некоторая подстановка s' такая, что

{Fi}s = {Fi}gs' .
Более того, основной частный случай, порождаемый ноу, является единственным с точностью до алфавитных его вариантов.

Существует много (не рассматриваемых здесь) алгоритмов, которые можно использовать для унификации конечного множества ппф [2].

Примечание. Унификация является более общим механизмом по сравнению с механизмом сопоставления с образцом (используемым в СУБД).

 Опровержение на основе резолюции
В типичной задаче доказательства теорем имеется множество ппф Ф={F1, F2, ..., Fn}, из которого необходимо вывести (доказать) целевую ппф W.
Согласно правилу заключения задача выводимости (доказательства) равнозначна доказательству выводимости F1&F2& ... & Fn->W .
По методу доказательства от противного (см. правило R12) доказательство выводимости формулы F1&F2& ... & Fn->W равнозначно доказательству невыводимости ее отрицания ~(F1&F2& ... & Fn->W), однако
~(F1&F2& ... & Fn->W) = ~(~(F1&F2& ... & Fn)|W) (эквивалентность E2);
~(~(F1&F2& ... & Fn)|W) = F1&F2& ... & Fn&~W (эквивалентность E5).

Напомним, что (согласно правилу R12) ппф (множество ппф) является противоречивой, если для нее существует ппф G такая, что G и ~G одновременно выводимы из этой ппф. Резолюция для двух ппф G и ~G дает пустую резольвенту nil, что и служит признаком противоречивости исходной ппф (множества ппф).

Пример. Даны следующие утверждения.
1. Каждый, кто умеет читать, - грамотный.
2. Все дельфины неграмотны.
3. Некоторые дельфины обладают интеллектом.
Необходимо доказать следующее утверждение (теорему):
4. Некоторые из тех, кто обладает интеллектом, не умеют читать.
Представим исходные утверждения и теорему в виде формул ИППП:
A1. A-1xЧ(x)->Г(x)
A2. A-1xД(x)->~Гx
A3. E-1xД(x)&И(x)
T4. E-1xИ(x)&~Ч(x)

Найдем отрицание теоремы:
Т41. ~(E-1xИ(x)&~Ч(x))
Т42. A-1x~(E-1xИ(x)&~Ч(x)) (эквивалентность E6)
Т43. A-1x(~И(x)|Ч(x)) (эквивалентности E4 и E1)

Преобразуем исходные ппф во множество предложений, используя описанный ранее алгоритм.
C1. ~Ч(x)|Г(x)
C2. ~Д(y)|~Г(y)
C3'. Д(a)
C3". И(a)
C4. ~И(z)|Ч(z)

Докажем требуемую теорему методом резолюции.
а) ~И(x)|Г(x) (резолюция к C4 и C1 с подстановкой x/z в C4)
б) ~И(x)|~Д(x) (резолюция к а и C2 с подстановкой x/y в C2)
в) ~И(a) (резолюция к б и C3' с подстановкой a/x в б)
г) nil (резолюция в и C3")

Итак, при опровержении на основе резолюции отрицание целевой ппп ~W добавляется к множеству исходных ппф (аксиом) Ф={Fi}. Это расширенное множество ппф преобразуется во множество предложений. Далее систематически используется правило резолюции с целью вывода пустого предложения nil.
Существует много различных стратегий подбора пары родительских предложений для получения резольвенты (в ширину, опорного множества, предпочтения одночленам и т.п.). В рассмотренном выше примере нами была использована простейшая линейная по входу стратегия - опровержение начинается с резолюции отрицания целевой ппф и первой встретившейся подходящей ппф из множества Ф. Далее в резолюции участвуют самая последняя резольвента и первая встретившаяся подходящая ппф из множества Ф.
Примечание. Линейная по входу стратегия подбора ппф-кандидатов на резолюцию реализована в системе программирования ПРОЛОГ.
 

Литература

  1. Кузнецов О.П., Адельсон-Вельский Г.М. Дискретная математика для инженера. - М: Энергоатомиздат, 1988. - 480с.
  2. Нильсон Н. Принципы искусственного интеллекта.
  3. Лорьер Ж-Л. Системы искусственного интеллекта. - М.: Мир, 1991. - 568с.