Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Сетевой логический вывод

.pdf
Скачиваний:
28
Добавлен:
28.06.2014
Размер:
1.06 Mб
Скачать

3. СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД

Эквивалентные преобразования позволяют получить более компакт-

ное представление:

tr A

P(N , N ) N & z4 (P(N , S(z4 )) A(P(N , z4 ), S(z4 ))) &z4 z2 (P(S(z4 ), z2 ) S(P(z4 , S(z2 ))))&

z1 ( A(z1 , N ) z1 ) &

z1 z4 ( A(z1 , S(z4 )) S( A(z1 , z4 )))

3.5.Представление логических формул схемами направленных от-

ношений.

Используя известные процедуры построения пренексной формы,

дизъюнктивной нормальной формы, двойственной формы скулемизации и декомпозиции конъюнктивных членов в матрице до уровня квазиэлемен-

тарных формул,

преобразуем заданную формулу A языка исчисления

предикатов

(см.

3.2)

к

эквивалентному

представлению:

Y1 Y2 ... zi1 zi 2 ...&Bij .

 

 

 

 

i

 

 

j

 

 

 

 

 

Пусть

{P , P ,...,F , F ,...}

множество свободных

предикатных

и

 

1

2

1

2

 

 

 

 

функциональных

переменных

рассматриваемой формулы (Y1 ,Y2 ,...

функциональные переменные, появившиеся в процессе скулемизации формулы).

 

Рассмотрим базис (возможные сорта элементов сетей – см. главу 2)

{P , P ,...,P , P ,...,F , F ,...,Y ,Y ,...}, элементы которого представляют все

1

2

1

2

1

2

1

2

указанные предикатные и функциональные переменные, а также новые

 

 

 

 

 

 

сорта элементов

P , P ,..., значениями которых в интерпретации будут d -

 

1

 

2

 

 

 

 

отношения-предикаты,

инверсные предикатам – значениям

P , P ,.... Во-

 

 

 

 

 

 

 

 

 

1

2

первых, это

означает,

что, арность любого элемента

сорта

G {F1 , F2 ,...,Y1 ,Y2 ,...}

 

 

равна

n,1 , если он представляет функциональ-

FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 11

3. СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД

ную переменную арности n , а арность элементов сортов P , P ,... и

1

2

 

 

,

 

,... равна m,0 , если они представляют предикатную переменную

P

P

1

2

 

 

P(m) . Во-вторых, нас интересуют только такие интерпретации

элемен-

тов

базиса, которые удовлетворяют требованиям к допустимым интерпре-

тациям

функциональных и предикатных переменных в логике первого

порядка: первые интерпретируются как всюду определенные на

D функ-

ции, а вторые – как всюду определенные на D предикаты.

 

 

 

 

 

Пусть

{S1 , S2 ,...} – конечное множество сетей арности 0,0 , кото-

рые строятся нижеследующим способом по дизъюнктивным компонентам

логической формулы zi1 zi 2 ...&Bij . Множество точек сети Si есть,

i j

по определению, множество индивидных переменных zi1 , zi 2 ,..., связанных кванторами существования и имеющих хотя бы одно вхождение хотя бы в одну квазиэлементарную формулу Bi1 , Bi 2 ,..., каждая из которых вносит в

сеть

Si

либо один элемент сети,

либо одно ребро в

dif -граф этой сети.

Если

B

 

имеет вид

y G(n) y ...y

n

, где

G {F ,

F ,...,Y ,Y ,...}, то ему со-

 

ij

 

 

 

 

 

 

1

 

 

 

 

 

1

2

1

2

 

 

 

 

 

 

 

 

 

ответствует элемент сети G, y ...y

n

y ; если

B

имеет вид

 

P(m) y ...y

m

,

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

ij

 

 

 

 

 

 

 

 

 

1

 

P {P , P ,...,

 

,

 

,...}, то ему соответствует элемент сети

P, y ...y

 

 

; ес-

P

P

m

 

1

2

1

2

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

ли Bij

имеет вид

y ' y", то ему соответствует ребро

 

 

в dif -

{y , y }

графе. Других элементов в сети

Si и других ребер в ее

dif -графе, кроме

соответствующих квазиэлементарным формулам

Bij , нет.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

О п р е д е л е н и е

3 .1. Интерпретацию

сортов

P , P ,...,P , P ,...,F ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

1

 

2

 

1

 

F2 ,...,Y1 ,Y2 ,...

элементов сетей

S1 , S2 ,...

назовем согласованной с интер-

претацией

 

 

свободных переменных формулы A

языка исчисления

предикатов первого порядка, если

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 12

3. СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД

1)

для всех

 

 

 

 

 

 

 

) Fi

(ni ,1)

Fi

(ni )

 

 

F1 , F2 ,... : ( ,

 

 

 

 

( )

) ,

2)

для всех

P , P ,... :

( , P

(mi ,0) P(mi ) ( ) true) ,

 

 

 

1

2

 

 

 

 

i

 

 

 

i

 

 

 

 

 

 

 

( ,

 

(mi ,0)

P(mi ) ( ) false) ,

 

3)

для всех

P , P ,... :

P

 

 

 

1

2

 

 

 

 

i

 

 

 

i

 

 

 

 

4)

для всех

Y ,Y ,... Y (ki ,1) – тотально и функционально (так же как для

 

 

1

2

i

 

 

 

 

 

 

 

 

 

 

 

 

 

всех F1 , F2 ,... ).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Из построения множества сетей

{S1 , S2 ,...} с учетом условий согласо-

ванности интерпретаций следует, что имеет место следующая теорема:

Т е о р е м а

3 .2. Для любой допустимой интерпретации

 

свободных

переменных формулы

A и для любой согласованной с

интерпретации

 

сортов элементов сетей

S , S

2

,...

 

{S , S

2

,...} { , }

тогда и толь-

 

 

 

 

 

1

 

 

 

1

 

 

 

 

 

ко тогда, когда – модель формулы

A .

 

 

 

 

 

 

 

3.6. Представление логических формул в исчислении сильного

включения схем направленных отношений.

Пусть

A – заданная логическая формула с множеством

{P , P ,...,

 

 

1

2

F1 , F2 ,...}

свободных предикатных и функциональных переменных.

Вы-

полним первые четыре пункта процедуры приведения, подробно описан-

ной в 3.3, и получим представление формулы A в виде Y1 Y2 ...

zi1 zi 2 ...&Bij , где Y1 ,Y2 ... – введенные при скулемизации функцио-

i j

нальные переменные, zi1 , zi 2 ... – связанные кванторами существования ин-

дивидные переменные, входящие хотя бы в одну из квазиэлементарных

FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 13

3. СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД

формул

B , которые могут быть одного из четырех видов: P(m)t ...t

m

,

 

ij

 

1

 

P(m)t1...tm , (t t ) и

(t t ) , где

t1 ,...,tm ,t ,t – термы. Далее рассмат-

ривается только часть

B zi1 zi 2 ...&Bij этого представления, являю-

 

 

i

j

 

 

щаяся формулой языка первого порядка. Если – модель формулы A , то

любое расширение

интерпретации на множество функциональных

переменных Y1 ,Y2 ...

является моделью формулы B . Рассмотрим форму-

 

 

B , которая будет иметь вид

 

 

& zi1 zi 2 ...

 

 

 

 

 

 

лу

B

Bij , где

Bij – квази-

 

 

 

 

 

 

 

i

j

 

 

 

элементарные формулы, инверсные

Bij . Если – модель формулы

A , то

для любого расширения

интерпретации

на множество функцио-

 

 

'

 

false .

 

 

 

нальных переменных

Y1 ,Y2 ...

B

Используя знак имплика-

 

 

 

 

 

 

 

 

 

 

 

 

 

ции, преобразуем

полученную

 

 

формулу

 

 

B

 

к

виду

 

 

 

 

 

 

 

 

 

 

 

и

 

 

 

 

 

 

& zi1 zi 2 ...(&Bij

Bij ) , где все

 

Bij

Bij – элементарные форму-

i

 

 

j '

 

 

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лы уже только одного из двух видов:

P

(m)

t1

...tm или

(t

 

 

 

 

 

 

t ) ; если множе-

ство значений

j

или

j – пусто, то в посылке используется константа

true , а в следствии – константа

false .

 

 

 

 

 

 

 

 

 

Пусть

 

 

 

 

,... – сетевые языки в некотором базисе, причем для

1

, 1 ,

2

, 2

всех i

 

и

 

имеют одинаковую арность.

 

 

 

 

 

 

i

i

 

 

 

 

 

 

О п р е д е л е н и е

3.2. Система включений

 

 

 

 

 

 

u { 1

1 , 2

2 ,...} вы-

полнима для реляционной интерпретации

 

 

элементов базиса, если для

всех i

имеют место включения

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

i

 

 

 

 

 

FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 14

3. СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД

О п р е д е л е н и е 3.3. Система включений

 

 

 

 

,...}

об-

u { 1

1 , 2

2

щезначима, если она выполнима для любой реляционной интерпретации

.

О п р е д е л е н и е 3 .4. Система включений

 

 

 

 

,...}

про-

u { 1

1 , 2

2

тиворечива, если она не выполнима для любой реляционной интерпрета-

ции .

Построим теперь систему (конечное множество) «включений» сете-

вых языков:

 

 

 

 

для всех

i 1,2,...,

где

 

 

– сеть –

 

Si

Sij

Si

G[&Bij ]

 

 

 

 

j"

 

 

 

 

 

 

 

 

j

 

представление

формулы

 

 

& zi1 zi 2 ...Bij

(эквивалентной

формуле

 

 

 

 

 

 

 

 

 

j

 

 

 

 

 

 

 

 

 

а

 

 

 

 

 

– сети

представления

формул

zi1 zi 2 ... &Bij ),

 

Sij"

C[Bij ]

 

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(для всех

j

 

). Правила построения этих представлений

zi1 zi 2 ...Bij

 

 

(отображения

 

 

 

G

 

 

 

и

 

C )

для

базиса

{P(m1 ,0)

, P(m2 ,0)

,...,F (n1 ,1)

, F (n2 ,1)

,...,Y (k1 ,1)

,Y (k2 ,1) ,...}

в графическом виде опре-

1

2

 

 

1

2

 

 

 

1

2

 

 

 

 

делены на рис. 3.1. Заметим, что все определяемые сети имеют одинако-

вую арность i

,0 , где

i – количество связанных кванторами общно-

сти переменных

zi1 , zi 2 ...

, и представляют в интерпретации предикаты,

аргументами которых являются переменные zi1 , zi 2 ... , а значения задают-

ся соответствующими логическими формулами.

Пусть

– интерпретация

свободных предикатных и функциональ-

ных переменных P , P ,..., F , F ,...

исходной логической формулы.

 

1

2

1

2

 

Т е о р е м а

3 .3.

является моделью исходной логической формулы A ,

если и только если построенная для нее вышеописанным способом система включений сетевых языков не выполнима ни для какой согласованной с

(см.

 

определение

 

3.4) интерпретации

 

элементов базиса

{P , P ,...,F , F ,..., Y ,Y ,...}.

 

 

1

2

1

2

1

2

 

 

FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 15

3. СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД

T [t

1

]

1

 

1

Fj

j

 

i

 

( n j )

 

 

 

 

i

 

 

 

T [ F j t

1 ...t n

 

]

 

 

 

T [t n

]

j

 

T [ z j

]

 

 

 

 

 

 

 

 

 

 

 

j

 

 

 

 

 

 

 

1

T [t1

 

Pj

i T [t m

]

1

 

j

]

i

 

 

 

T [t1 ]

Pj

T [t m j ]

С [ Pj( m j ) t1 ...t m j ]

1

 

 

T [t ]

i T [t ]

С [t t ]

С [

 

( m j ) t

 

 

 

 

P

1

...t

m

]

 

j

 

 

 

 

 

 

 

j

 

1

C [Bi1 ]

 

 

 

]

 

i

C [Bili

li

G [& Bij ]

j ' 1

Рис. 3.1. Трансляция квазиэлементарных формул.

Т е о р е м а 3 .4. Формула языка исчисления предикатов первого порядка

FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 16

3.СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД

сравенством общезначима, если и только если построенная для нее систе-

ма включений противоречива.

3.7.Метод сетевой резолюции.

Эта раздел посвящен рассмотрению реализации логического вывода средствами теории направленных отношений на примере задачи доказа-

тельства общезначимости формул языка исчисления предикатов первого порядка с равенством и основана на результатах, изложенных в предыду-

щих разделах этой главы.

Используемый нами термин сетевая резолюция относится к процеду-

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

Основными отличиями сетевой резолюции от традиционного резолютив-

ного логического вывода являются:

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

торые являются аналогом процедуры унификации;

отказ при доказательстве от явного использования эрбрановской интер-

претации и, вследствие этого, получение в ходе доказательства (воз-

можно, не успешного!) в компактной сетевой форме функциональных уравнений, решения которых представляют собой модели рассматрива-

емой формулы при любых интерпретациях предикатных символов;

использование прямого вывода истинности заданной формулы, а не до-

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

применение специальной техники доказательства формул с равенством на базе сетевого представления схем d -отношений;

FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 17

3.СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД

наконец, элиминация самой процедуры резолюции за счет использова-

ния рекурсивной подстановки на сетях, составляющей основу механиз-

мов вычислений рекурсивных d -отношений.

Ci

Ci

 

Ci

 

Fi

 

 

a) функциональность деструкторов

b) тотальность

Pi

 

 

Pi

Pi

 

Pi

 

 

,

 

 

 

 

 

 

 

 

 

c) ортогональность

 

и

 

 

.

d) дополнительность P

и

P

.

P

P

 

 

 

i

 

i

 

i

 

i

 

 

 

 

 

Рис. 3.2. Правила редукции сетей с функциональными и предикатными сортами элементов.

Как было показано в разделе 3.4, логическая формула, общезначи-

мость которой требуется установить, может быть представлена конечным

 

 

 

 

 

 

 

 

 

 

множеством сетей

{S , S

2

,...}

в базисе

{P , P ,...,P , P ,...,F , F ,...,Y , Y ,...}

 

1

 

 

1

2

1

2

1

2

1

2

с определенными ограничениями на интерпретацию элементов этого бази-

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

очевидно, что они могут быть выражены в форме сетевых эквивалентно-

FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 18

3. СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД

стей, показанных на рис. 3.2 ( a,b,c, d ). Количество таких дополнительных эквивалентностей вида ui ui конечно в силу конечности базиса.

Общезначимость рассматриваемой логической формулы, очевидно,

равносильна истинности утверждения

(

u u &...)

 

S

 

{ , }.

 

 

 

1

 

1

 

i

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

Т.к.

F { , | F ( ) },

 

т.е.

 

F

график функции

F , а

P { , | P ( ) true}, то, согласно определению ре-

ляционной интерпретации для сетей, если для

 

выполняются гипотезы

утверждения, то

S

{ , }, когда

 

 

z

i1

z

...

B – истинно и

 

 

 

i

 

 

 

 

 

 

i 2 & ij

j

Si – в противном случае. Кванторы, требующие существования

значений индивидных переменных zi1 , zi 2 ..., отражают условие существо-

вания фигурирующей в определении реляционной интерпретации сети Si

функции разметки.

Отсюда следует справедливость следующей теоремы:

Т е о р е м а 3 . 5 . Задача установления общезначимости формулы языка исчисления первого порядка с равенством сводится к проблеме выводимо-

 

 

 

,... равенства

{S1 , S2 ,...} { }

1

в исчисле-

сти из гипотез u1

u1 ,u2

u2

 

нии сильной реляционной эквивалентности конечных множеств сетей (ко-

нечных сетевых языков).

Рассмотрим процесс направленного применения эквивалентных пре-

образований, формализующих свойства функциональности и тотальности

1 Напомним, что – пустая сеть арности 0,0 .

FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 19

3. СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД

элементов базиса (см. рис.3.2 a и рис.3.2 b ). Замена в любой из сетей, вхо-

дящей в рассматриваемое множество (в начальный момент это множество

{S1 , S2 ,...}), фрагмента вида левой части эквивалентности на фрагмент вида правой части приводит к упрощению этой сети, т.к. в ней уменьшается ко-

личество элементов, и, следовательно, эти преобразования отвечают усло-

вию нетеровости. Аналогичным образом обстоит дело и с преобразовани-

ями, вытекающими из ортогональности интерпретаций элементов базиса

P и P , представляющих некоторую предикатную переменную. Вхожде-

ние с одинаковыми входными точками пары элементов таких сортов в од-

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

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

ет свойство нетеровости.

Помимо указанных преобразований, мы можем использовать сохра-

няющие реляционную интерпретацию преобразования общего вида:

 

S

 

S , т.е.

 

S

 

 

S для любой интерпрета-

{S} {S, S }, если

 

 

 

 

 

 

 

 

 

 

 

ции элементов базиса. Известны два общего вида способа получения

всех таких S для

S – включение в S новых элементов и отождествле-

ние точек в сети

S . Если целью преобразования является получение в

множестве сетей (напомним, что все сети – арности 0,0 ) пустой сети,

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

но наличие этих новых элементов не может иметь следствием удаление других элементов. Отождествление же точек может в некоторых случаях

FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 20