Сетевой логический вывод
.pdf
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
