Семантическая резолюция

Обратимся теперь к стратегии семантической резолюции, предло­женной Слэйглом. Стратегия на основе семантической резолюции так­же использует упорядочение литер, как и OL -резолюция. Кроме того, эта стратегия основывается на разделении всего множества исходных и порождаемых дизъюнктов на два непересекающихся класса, назовем их Т и F. Такое разбиение возможно, если задать некоторую интерпре­тацию I для формул исходного множества. В интерпретации I часть дизъюнктов окажется истинной, а часть ложной. Множество истинных дизъюнктов в интерпретации I - это по определению множество Т; мно­жество ложных дизъюнктов в интерпретации I - это по определению есть множество F.

При построении вывода требуется выполнение двух условий:

1) резольвента строится для дизъюнктов С1 и С2 таких, что С1 Î T, а C2 Î F

2) отсекаемая литера в дизъюнкте С2 должна быть самой правой литерой.

Пусть E1, E2, ..., Eq некоторое множество дизъюнктов, принадлежа­щих F, а N - дизъюнкт из Т.

Тогда множество {E1, E2, ..., Eq, N} называется клашем, если вы­полняется следующее условие:

(i) R1 = N;

(ii) i < 1, Ri+1 есть резольвента Ri-1 и Ei-1­; отсекаемая литера - старшая в Ei (самая правая);

(iii) Rq+1 Î F.

Rq+1 называется резольвентой данного клаша.

Пример. Пусть

C1 = R Ú Ú ,

C2 = P Ú R,

C3 = Q Ú R,

C4 = ,

P > Q > R >

Пусть в интерпретации I R - ложен, Р - ложен, Q - ложен. Тогда клашами являются множества

K1 = {С3, C4},

K2 = {C2, C4}.

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

Так резольвентой С5 клаша К1 является Q; резольвентой С6 клаша К2 является Р.

Резольвентой С5 и С1 является дизъюнкт C7 = R Ú .

Резольвентой С7 и С6 является дизъюнкт С8 = R.

Резольвентой дизъюнктов С8 и С4 является .

Резолюция в PL

Применению OL-вывода в PL предшествует подготовительный этап, предложенный Девисом и Патнемом. Он включает в себя 3 стадии:

1) преобразование формулы в ПНФ;

2) преобразование матрицы в КНФ;

3) преобразование формулы в ССФ.

С реализацией второй стадии вы хорошо знакомы, поэтому рассмотрим 1-ю и 3-ю стадии.

В L имеются две нормальные формы: ДНФ и КНФ, в PL роль нормальной формы играет ПНФ – предваренная нормальная форма.

Определение: Говорят, что формула F в PL находится в ПНФ тогда и только тогда, когда формула F имеет вид: (Q1x1)…(Qnxn)(M), где (Qixi) (i=1,…,n) есть либо ("xi), либо ($xi) и М есть формула, не содержащая кванторов.

(Q1x1)…(Qnxn) называется префиксом формулы F, М – матрицей формулы F.

Для преобразования формулы F в ПНФ используются законы эквивалентных преобразований, называемых законами принесения кванторов через Ù и Ú:

(1а) (Qx)F(x)ÚG=(Qx)(F(x)ÚG)

(1б) (Qx)F(x)ÙG=(Qx)(F(x)ÙG)

(2а) Ø(("x)F(x))=($x)(ØF(x))

(2б) Ø(($x)F(x))=("x)(ØF(x))

(3а) ("x)F(x)Ù("x)M(x)=(" x)( F(x)ÙM(x))

(3б) ($x)F(x)Ù($x)M(x)=($ x)( F(x)ÙM(x))

Однако " и $ нельзя проносить через Ú и Ù соответственно. В подобных случаях нужно поступать специальным образом. Т.к. каждая связанная переменная в формуле может рассматриваться лишь как место для подстановки какой угодно переменной, то каждую связанную переменную х можно переименовать в z и формула ("x)M(x) перейдет в ("z)M(z), т.е. ("x)M(x)= ("z)M(z). Предположим, что мы выбираем переменную z, которая не встречается в F(x). Тогда ("x)F(x)Ú ("x)M(x)= ("x)F(x)Ú ("z)M(z) путем замены всех х, входящих в ("x)M(x) на z, тогда согласно (1а):

(4а) ("x)F(x)Ú ("x)M(x)= ("x)("z)(F(x)Ú M(z))

(4б) ($x)F(x)Ú ($x)M(x)= ($x)($z)(F(x)Ú M(z)).

Преобразование формул в ПНФ:

1) используем законы, чтобы исключить логические связки ~ и É

(5) F~G=(FÉG)Ù(GÉF)

(6) FÉG=ØFÚG

2) используем законы, чтобы пронести знак отрицания внутрь формулы

(7) Ø(ØF)=F

(8) Ø(FÚG)=ØFÙØG

(9) Ø(FÙG)=ØFÚØG

(10) Ø(("x)F(x))=($x)(ØF(x))

(11) Ø(($x)F(x))=("x)(ØF(x))

3) переименовываем связанные переменные, если это необходимо

4) используем законы (1а–4б), чтобы вынести кванторы в самое начало формулы для получения формулы, находящейся в ПНФ.

Пример 1: приведем формулу ("x)P(x)É($x)Q(x).

("x)P(x)É($x)Q(x)=

=Ø(("x)P(x))Ú($x)Q(x)= по (6)

=($x)(ØP(x))Ú($x)Q(x)= по (2а)

=($x)(ØP(x)ÚQ(x)) по (3б)

где ($x) – префикс, а (ØP(x)ÚQ(x)) – матрица.

Пример 2: получить ПНФ для формулы:

("x)("y)(($z)P(x,z)ÙP(y,z))É ($u)Q(x,y,u))=

= ("x)("y)(Ø(($z)P(x,z)ÙP(y,z)))Ú ($u)Q(x,y,u))= по (6)

= ("x)("y)("z)(ØP(x,z)ÙØP(y,z))Ú ($u)Q(x,y,u))= по (2б) и (9)

= ("x)("y)("z)($u)(ØP(x,z)ÙØP(y,z))Ú Q(x,y,u)) по (1а)

где ("x)("y)("z)($u) – префикс, а (ØP(x,z)ÙØP(y,z))Ú Q(x,y,u)) – матрица.

 

Рассмотрим вопрос преобразования формулы F в скулемовскую стандартную форму (ССФ).

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

Условимся, что формула F находится в ПНФ:

(Q1x1)…(Qnxn)M, где М в свою очередь находится в КНФ, тогда:

1) выберем самый левый квантор существования Qr в префиксе (Q1x1)…(Qnxn) (1£r£n);

2) если никакой " не стоит в префиксе левее Qr, то выберем новую константу С, отличную от других констант, входящих в М, заменим все хr, встречающиеся в М, на С и вычеркнем (Qrxr) из префикса;

3) Если Qs1,…,Qsmсписок всех ", стоящих левее Qr, (1£S1<S2<…<Sm<r), то выберем новый m-местный функциональный символ f, отличный от других функциональных символов, заменим все xr в M на f(xs1,…,xsm) и вычеркнем (Qr,xr) из префикса;

4) Весь этот процесс применим для всех $ в префиксе, двигаясь слева направо (следует отметить, что порядок выбора $ из префикса несущественен).

 

Последняя из полученных формул и есть ССФ формулы F (или просто стандартная форма формулы F). Константы и функции, используемые для замены переменных $, называются скулемовскими функциями.

Пример 1: получить стандартную форму формулы ($x)("y)("z)($u)("v)($w) P(x,y,z,u,v,w).

В этой формуле левее ($x) нет ни одного ", значит заменяем х на а.

($u) находится ("y)("z), значит заменяем u на f(y,z)

($w) находится ("y)("z)("v), значит заменяем w на g(y,z,v).

Тогда ("y)("z)("v)P(a,y,z,f(y,z),v,g(y,z,v)) – стандартная форма.

При использовании процедур опровержения не происходит потери общности, поэтому при доказательстве кванторы общности можно опустить.

Рассмотрим теперь непосредственнометод резолюций,применяемый в PL при построении OL-вывода.

Как и в L здесь существенным является нахождение в дизъюнкте литеры, которая контрарна литере в другом дизъюнкте. Рассмотрим дизъюнкты: С1: P(x)ÚQ(x) и C2: ØP(f(x))ÚR(x).

С первого взгляда в С1 нет литеры, контрарной какой-либо литере в С2, однако если подставить f(0) вместо x в С1 и a вместо x в C2, то получим: С1’: P(f(a))ÚQ(f(a)) и C2’: ØP(f(a))ÚR(a).

C1и C2называются основными примерами С1 и С2 соответственно, а P(f(a)) и ØP(f(a)) контрарны друг другу. Следовательно, из C1и C2можно получить резольвенту:

C3’: Q(f(a))ÚR(a).

В общем случае, подставив f(x) вместо x в C1, получим: C1*: P(f(x))ÚQ(f(x)). Снова С1* есть пример С1. Литера P(f(x)) из С1* контрарна литере ØP(f(x)), тогда резольвента С1* и С2:

С3: Q(f(x))ÚR(x).

При этом С3является примером С3. Кроме того, дизъюнкт С3 является наибольшим общим дизъюнктом в том смысле, что все другие дизъюнкты, порожденные подобным образом, есть приме

С3 будем называть резольвентой С1 и С2. Таким образом, получение резольвенты из двух дизъюнктов в PL связано с подстановкой.

Определение: Подстановка – это конечное множество вида {t1/v1,…,tn/vn}, где каждая viпеременная, а tiтерм, отличный от vi, при этом все vi различны. Если t1,…,tnосновные термы, то подстановка называется основной. Подстановка, которая не содержит элементов, называется пустой и обозначается e. Будем использовать греческие буквы для обозначения подстановки.

Определение: Пусть q ={t1/v1,…,tn/vn} – подстановка и Е – выражение. Тогда Еq – выражение, полученное из Е заменой одновременно всех вхождений переменной vi (1£i£n) в Е на ti. Еq называют примером Е.

Определение: Пусть q ={t1/x1,…,tn/xn} и l={u1/y1,…,um/ym} – две подстановки. Тогда композиция q·l есть подстановка, которая получается из множества {t1/x1,…,tn/xn,u1/y1,…,um/ym} вычеркиванием всех элементов tjl/xj, для которых tjl = xj, и всех элементов ui/yi, таких что yiÎ{x1,…,xn}.

Пример: q ={t1/x1, t2/x2}={f(y)/x, z/y}

l ={u1/y1, u2/y2, u3/y3}={a/x, b/y, y/z}, тогда

q·l={t1/x1, t2/x2, u1/y1, u2/y2, u3/y3}={ f(y)/x, z/y, a/x, b/y, y/z}

Так как t2l=x2, а именно z/y, то этот элемент вычеркивается из множества y1 и y2Î {x1, x2, x3}, т.е. a/x и b/y должны быть тоже вычеркнуты. Таким образом, получаем:q·l={f(b)/x, y/z}.

Композиция подстановок ассоциативна, а пустая подстановка e есть одновременно и левое и правое тождество, т.е. (q·l)·m=q·(l·m) и e·q=q·e для всех m,q, l.

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

Рассмотрим унификацию выражений.

Определение: Подстановка q называется унификатором для множества {E1,…,Ek} Û E1q =E2q =…=Ekq.

Говорят, что множество {E1,…,Ek} унифицируемо, если для него существует унификатор.

Определение: Унификатор s для множества выражений {E1,…,En} будет наиболее общим унификатором (НОУ) Û для каждого унификатора q для этого множества существует такая подстановка l, что q = s·l.

Определение: Множество рассогласований D непустого множества выражений W получается выявлением первой (слева) позиции аргумента, на которой не для всех выражений из W стоит один и тот же символ.

Алгоритм унификации

1. Множество k = 0, Wk = W, sk =e.

2. Если Wkединичный дизъюнкт, то остановка, skНОУ для W, иначе найдем множество рассогласований Dk для Wk.

3. Если существуют такие элементы vk и tk в Dk, что vk – переменная, не входящая в tk,то перейдем к шагу 4. В противном случае остановка: W не унифицировано.

4. Пусть sk+1=sk·{tk/vk} и Wk+1=Wk·{tk/vk}

5. Присвоить значение k+1 и перейти к шагу 2.

Пример: Найти НОУ для W={P(a,x,f(g(y))),P(z,f(z),f(u))}.

1. v0=e и w0=w

2. D0={a,z}. Переменной в этом множестве является z, значит v0=z, а t0=a

3. v1=v0·{t0/v0} = e·{a/z}={a/z},
w1=w0·{t0/v0}={P(a, x, f(g(y))), P(z, f(z), f(u))} · {a/z} = {P(a, x, f(g(y))), P(a, f(a), f(u))}

4. w1не единичный элемент. D1={x,f(a)}

5. Из D1 следует v1=x, t1=f(a)

v2=v1·{t1/v1} = {a/z}·{f(u)/x}={a/z,f(u)/x},
w2=w1·{t1/v1}={P(a, x, f(g(y))), P(a, f(a), f(u))} · {f(a)/x} = {P(a, f(a), f(g(y))), P(a, f(a), f(u))}

6. Для w2: D2={g(y),u}, v2=u, t2=g(y)

7. v3=v2·{t2/v2} = {a/z, f(u)/x}·{g(y)/u}={a/z, f(u)/x, g(y)/u}
w3=w2·{t2/v2}={P(a, f(a), f(g(y))), P(a, f(a), f(u))} · {g(y)/u} = {P(a, f(a), f(g(y))), P(a, f(a), f(g(y)))}={P(a, f(a), f(g(y)))}

8. s3= {a/z, f(a)/x, g(y)/u} – НОУ для W.

Пример:

S={M(a, S(c), S(b)), P(a), M(x, x, S(x)), ØM(x, y, z) Ú M(y, z, x), ØM(x, y, z) Ú D(x, z), ØD(a, b), ØP(w) Ú ØM(y,z,z) Ú ØD(w,z) Ú D(w,x) Ú D(w,y)}

 

 

Введем дополнительные определения.

1. Дизъюнкт есть дизъюнкция литер. Иногда когда это удобно, мы будем рассматривать множество литер как синоним дизъюнкта. Например, P Ú Q Ú R = {P, Q, R}.

2. Дизъюнкт, содержащий r литер, называется r- литерным дизъюнктом;

3. Однолитерный дизъюнкт называется единичным дизъюнктом;

4. Когда дизъюнкт не содержит никаких литер, мы называем его пустым дизъюнктом.

Дизъюнкты ØP(x, f(x)) Ú R(x,f(x),g(x)) и Q(x,g(x)) Ú R(x, f(x), g(x)) суть дизъюнкты. Считаем, что множество дизъюнктов S есть конъюнкция всех дизъюнктов из S, где каждая переменная в S считается управляемой квантором всеобщности. Благодаря этому соглашению стандартная форма может быть просто представлена множеством дизъюнктов. Например, стандартная форма в примере 2 может быть представлена множеством

S = P(x, f(x)) Ú R(x, f(x), g(x)), Q(x, g(x)) Ú R(x, f(x), g(x))}.

Мы можем элиминировать кванторы существования, сохраняя противоречивость формулы. Формула F противоречива (не выполнена) Û не существует интерпретация, которая удовлетворяет F. Покажем это в следующей теореме.

Теорема 1. Пусть S – множество дизъюнктов, которые представляют стандартную форму формулы F. Тогда F противоречива в том и только в том случае, когда S противоречива.

Доказательство. Без потери общности можно положить, что F находится в предваренной нормальной форме, т.е. F = (Q1x1) … … (Qnxn) M [x1, …, xn]. (Мы используем M [x1, …, …, xn], чтобы указать, что матрица М содержит переменные x1, …, xn). Пусть Qr – первый квантор существования. Пусть F1 = ("x1) … ("xr-1) (Qr+1xr+1) … (Qnxn) M [x1, …, xr-1, f(x1, …, xr-1), xr+1, …, xn], где f – скулемовская функция, соответствующая xr, 1£ r £ n. Мы хотим показать, что F противоречива тогда и только тогда, когда F1 противоречива.

1. Предположим, что F противоречива, а F1 непротиворечива, если F1 непротиворечива, то существует такая интерпретация I, что F1 истинна в I. Это означает, что для всех x1, …, xr-1 существует по крайней мере один элемент , для которого формула (Qr+1xr+1) … (Qnxn) M[x1, …, …, xr-1 , f(x1, …, xr-1), xr+1 , …, xn] истинна в I. И этим элементом является f (x1, …, xr-1). Таким образом, F истинна в I, что противоречит предположению, что F ппротиворечива. Следовательно, F1 должна быть противоречива.

2. Предположим, что F1 противоречива, а F непротиворечива. Если F непротиворечива, то существует такая интерпретация I на области D, что F истинна в I, т.е. для всех x1, …, xr-1 существует такой элемент хr, что (Qr+1xr+1) … (Qnxn) M[x1, …, …, xr-1, xr, xr+1, …, xn] истинна в I.

Расширим интерпретацию I, включая функцию f, которая отображает (x1 , …, …, xr-1) на xr для всех x1, …, …, xr-1 в D, т.е. f (x1 , …, …, xr-1) = xr. Пусть это расширение I обозначается I'. Ясно, что для всех x1 , …, …, xr-1 (Qr+1xr+1) … (Qnxn) M[x1, …, …, xr-1 , f( x1 , …, …, xr-1) xr+1, …, xn] истинна в I', т.е. F1 истинна в I', что противоречит предположению, что F1 противоречива. Следовательно, F должна быть противоречивой. Мы разобрали случай, когда формула имеет один $. Предположим теперь, что в F имеется m кванторов существования. Пусть F0 = F. Пусть Fk получается из Fk -1 заменой первого квантора существования в Fk--1 скулемовской функцией, k = 1, …, m. Следовательно, мы заключаем, что F противоречива тогда и только тогда, когда S противоречива, что и требовалось доказать.

Пусть S- стандартная форма формулы F. Если F противоречива, то по теореме 1 F = S. Если F непротиворечива, заметим, что, вообще говоря, F не эквивалентна S. Например, пусть F = ($x) P(x) и S = P(a). Ясно, что S есть следующая интерпретация:

Область: D = {1, 2}.

Значения для а:

___а___

1

Значения для Р:

_________Р______

P(1) P(2)

Л И

Тогда ясно, что F истинна в I, но S ложна в I. Таким образом, F ¹ S.

Отметим, что формула может быть иметь более чем одну стандартную форму. Ради простоты, когда мы преобразуем формулу F в стандартную форму S, мы будем заменять кванторы существования скулемовскими функциями настолько простыми, насколько возможно. Дальше, если мы имеем F = F1 Ù … Ù Fn, мы можем отдельно получить множество дизъюнктов Si, i = 1, …, n. Затем пусть S =S1U …U Sn. С помощью рассуждений, подобных тем, которые даны в доказательстве теоремы 1, нетрудно увидеть, что F противоречива тогда и только тогда, когда S противоречива.

Пример 3. В этом примере покажем, как выразить следующую теорему в стандартной форме.

Если х*х = е для всех х в группе G, где * есть бинарный оператор и е есть единица группы G, то G коммутативна.

Сначала формализуем эту теорему вместе с некоторыми основными аксиомами теории групп и затем представим отрицание этой теоремы множеством дизъюнктов.

Известно, что группаG удовлетворяет следующим четырем аксиомам:

A1: x, y Î G влечет x*y ÎG (свойство замкнутости);

A2: x, y, z Î G влечет x*(y*z) = (x*y)*z (свойство ассоциативности);

A3: x*e = e*x=x для всех x Î G (свойство существования единичного элемента);

A4: для каждого элемента xÎG существует элемент x-1ÎG такой, что x*x-1 = x-1*x = e (свойство существования обратного элемента).

Пусть P(x, y, z) обозначает x*y = z и i(x) обозначает x-1. Тогда вышестоящие аксиомы примут вид:

A'1: ("x) ("y) ($z) P(x, y, z);

A'2: ("x) ("y) ("z) ("u) ("v) ("w) (P (x, y, u) Ù P(y, z, v) Ù P(u, z, w) ®P(x, v, w)) Ù("x) ("y) ("z) ("u) ("v) ("w) (P (x, y, u) Ù P(y, z, v) Ù P(x, v, w)®P(u, z, w));

A'3: ("x) P (x, e, x) Ù ("x) P (e, x, x);

A'4: ("x) P (x, i (x), e) Ù("x) P (i(x), x, e).

Заключение теоремы такое:

B: Если х*х = е для всех х ÎG, то G коммутативна, т.е. u*v = v*u для всех u, v ÎG.

В может быть представлено формулой

B': ("x) P(x, x, e) ®(("u) ("v) ("w) (P(u, v, w)®P(v, u, w))).

3. Теперь вся формула представляется формулой F = A'1 Ù …Ù A'4®B'. Таким образом, ØF = A'1 Ù A'2 Ù A'3 Ù A'4 Ù ØB'. Чтобы получить множество дизъюнктов S для ØF, сперва получим множество дизъюнктов Si для каждой аксиомы A’i = 1, 2, 3, 4, следующим образом:

S’1: {P (x, y, f(x, y))};

S’2: {ØP(x, y, u) Ú ØP(y, z, v) Ú ØP(u, z, w) Ú P(x, v, w),

ØP(x, y, u) Ú Ø P(y, z, v) Ú ØP(x, v, w) Ú P(u, z, w)};

S3: {P(x, e, x), P(e, x, x)};

S4: {P(x, i(x), e), P(i(x), x, e)}.

Так как

ØB’ = Ø (("x) P(x, x, e) ® (("u) ("v) ("w) (P(u, v, w) ® P(v, u, w))))

= Ø (Ø("x) P(x, x, e) Ú (("u) ("v) ("w) (ØP(u, v, w) Ú P(v, u, w))))

= ("x) P(x, x, e) Ù Ø (("u) ("v) ("w) (ØP(u, v, w) Ú P(v, u, w)))

= ("x) P(x, x, e) Ù (($u) ($v) ($w) (P(u, v, w) Ù Ø P(v, u, w))).

то множество дизъюнктов для Ø B’ дается ниже.

T: {P(x, x, e), P(a, b, c), Ø P(b, a, c)}.

Таким образом, множество S = S1 È S2 È S3 È S4 È T есть множество, состоящее из следующих дизъюнктов:

(1) P(x, y, F(x, y)),

(2) Ø P(x, y, u) Ú Ø P(y, z, v) Ú ØP(u, z, w) Ú P(x, v, w),

(3) Ø P(x, y, u) Ú Ø P(y, z, v) Ú Ø P(x, v, w) Ú P(u, z, w),

(4) P(x, e, x),

(5) P(e, x, x),

(6) P(x, i(x), e),

(7) P(i(x), x, e),

(8) P(x, x, e),

(9) P(a, b, c),

(10) Ø P(b, a, c).

Пример 3 показывает, как получить множество дизъюнктов S для формулы Ø F. Из теоремы 1 известно, что F общезначима тогда и только тогда, когда S противоречива. Как говорилось в начале этого параграфа, для доказательства теоремы будем использовать процедуру опровержения. Таким образом, с этого места мы будем предполагать, что на входе процедуры опровержения стоит всегда множество дизъюнктов (такое как множество S, полученное в приведенном выше примере). Дальше мы будем использовать для множества дизъюнктов термины «невыполнимо» («выполнимо») вместо «противоречиво» («непротиворечиво»).









Дата добавления: 2016-03-05; просмотров: 921;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.085 сек.