Сетевой логический вывод
.pdf3. СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД
привести к возможности выполнения новых упрощающих преобразований и поэтому может быть использовано при доказательстве нашего утвержде-
ния. При этом важно, что отождествление точек не лишает всю систему свойства нетеровости, т.к. его осуществление хотя и приводит к появле-
нию новой сети в рассматриваемом множестве, но эта сеть является более простой (в ней меньше точек при одинаковых других условиях) по отно-
шению к сети, уже имеющейся в рассматриваемом множестве. Однако разнообразие случаев применения этого преобразования может и должно быть существенно ограничено. Во-первых, чтобы возникла возможность применения преобразования, связанного со свойством функциональности,
отождествляемые точки должны быть одинаковыми по номеру входными точками элементов одного и того же сорта. Во-вторых, т.к. только преоб-
разование, связанное с тотальностью, может привести к уменьшению ко-
личества различных сортов элементов в сети, то достаточно применять отождествление входных точек элементов одного сорта только тогда, ко-
гда эти элементы имеют общую выходную точку. В силу того, что выде-
ленный случай отождествления точек при преобразовании S в S гаран-
тирует эквивалентность S S только тогда, когда связанный с этим пре-
образованием сорт элементов интерпретируется как конструктор (что, со-
гласно определению допустимых интерпретаций логического языка перво-
го порядка, конечно, не является обязательным), то исходная сеть S тоже должна остаться в рассматриваемом множестве сетей.
Наконец, равносильное свойству дополнительности сортов P и P
элементов сетей требование к предикатам, чтобы они, как это предполага-
ется при интерпретации предикатных переменных в логическом языке первого порядка, были всюду определены на D , может быть выражено в форме сетевой эквивалентности так, как показано на рис. 3.2 d . Это огра-
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 21
3. СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД
ничение на интерпретацию предикатных символов находит отражение в известной теореме
|
|
|
|
|
|
|
(m) |
|
|
& P |
(m) |
|
A & A |
&t1 |
t1 |
&...& tm |
tm |
(A & P |
t1... tm |
A |
t1... tm ) , |
реализуемой в теории доказательств в форме так называемого правила ре-
золюции (мы приводим здесь только одну из двух двойственных формули-
ровок правила резолюции):
z
1
z
1
z
1
z
2
z
2
z
2
|
|
|
|
|
|
|
|
|
|
|
...(A & P t1 |
...tm ) z1 z2 ...(A |
& Pt1...tm ) |
||||||||
|
|
|
|
|
|
|
|
|
|
|
...(A & P t1 |
...tm ) z1 z2 ...(A |
& Pt1...tm ) |
||||||||
|
|
|
|
|
|
|
|
|
|
|
... z1 z |
2 ...(A & A |
& t1 |
t1 |
& ...& tm |
tm ). |
|
Новый дизъюнктивный член называется резольвентой двух исходных.
Для сетевого представления логических формул в теории направлен-
ных отношений это правило имеет вид, показанный на рис. 3.3. Его спра-
ведливость нетрудно показать следующим образом. Пусть P и P – сорта элементов, интерпретируемые как ортогональные и дополнительные
направленные отношения арности |
m,0 . Тогда для любой интерпрета- |
|||||||||||
ции |
терминального базиса |
|
|
|
|
|
|
|
||||
|
(k |
|
|
1 |
k |
|
S |
1 |
|
S |
|
и |
|
k ) S |
P |
|
P |
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
(k k ) S1P k S1P S ,
т.к. сети в левых частях получены добавлением новых элементов к сетям в правых частях включений. Здесь S1P , S1P – элементарные одноэлементные сети с элементами сортов P и P . Объединяя левые и правые части, по-
лучим
(k k ) S1P (k k ) S1P {S , S }
и далее, используя дистрибутивность объединения относительно операции последовательной композиции, получим
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 22
3. СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД
|
(k |
|
|
|
1 |
, S |
1 |
} |
|
|
(k |
|
|
|
|
|
k ) {S |
|
P |
P |
|
k ) |
|||||||||
|
|
|
|
|
|
|
|
по условию |
|
|
|
|
по построению |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
S |
|
|
|
|
|
|
|
|
|
|
|
|||
{S , S } . |
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S'
P K'
S"
P
K"
|
S' |
P |
S |
|
|
K' |
|
|
K' |
|
S" |
P |
K" |
K" |
|
Рис. 3.3. Правило сетевой резолюции.
Отсюда непосредственно следует приведенное выше правило сетевой резолюции.
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 23
3. СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД
Заметим теперь, что резольвента |
S может быть получена как резуль- |
||||||||
тат подстановки сети Q |
в сеть S |
вместо элемента сорта P или под- |
|||||||
становкой сети Q в сеть |
S вместо элемента сорта |
|
(рис. 3.4). |
||||||
P |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
Q |
|
|
|
|
Q |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
K |
|
|
K |
|
|||
|
|
|
|
|
|
|
|
|
|
Рис. 3.4. Сети Q и Q .
Это позволяет сделать равносильное для доказательства преобразова-
ние представляющего рассматриваемую логическую формулу множества
сетей {S1 , S2 ,...} |
арности 0,0 в сетевой язык, индуцированный сете- |
||||||||||||||||||
вой |
|
грамматикой |
(Bт , Bн , a, P) , |
где |
терминальный |
базис |
|||||||||||||
B {F , F ,...,Y ,Y ,...}, нетерминальный базис |
B {a, P , P ,..., |
|
, |
|
,...}, |
||||||||||||||
P |
P |
||||||||||||||||||
т |
1 |
2 |
1 |
2 |
|
|
|
н |
|
1 2 |
1 |
2 |
|||||||
аксиома |
a – новый нетерминальный сорт арности 0,0 , а |
правила P |
|||||||||||||||||
имеют вид: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
a S1 , |
a S2 , …, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
P S 1 , |
|
i 1,2,... и |
|
j (S |
|
S |
|
) , |
|
|
|
|
|
||||||
для всех |
S , таких, что |
j |
P |
|
|
|
|
|
|||||||||||
|
|
i |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|||
|
|
S 1 , |
|
i 1,2,... и |
|
j (S |
|
S P ) . |
|
|
|
|
|
||||||
P |
для всех |
S , таких, что |
j |
|
|
|
|
|
|||||||||||
|
|
i |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|||
|
|
|
Заметим, что если ни одна из сетей |
S1 , S2 ,... в отдельности не реду- |
цируема к пустой сети, то в качестве правил для аксиомы грамматики
|
a P |
|
|
a P |
|
|
, … . |
||
можно взять правила |
P |
, |
P |
||||||
|
|
1 |
1 |
2 |
2 |
||||
Определим теперь общую идею построения процедуры доказатель- |
|||||||||
|
|
|
|
|
|
|
|
||
ства утверждения u1 |
u1 |
,u2 |
u2 ,... {S1 , S2 |
,...} { }. |
|||||
Построим сетевую |
КС-грамматику описанным выше способом. Оче- |
видно, что порождаемый ею язык эквивалентен в интерпретации исходно-
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 24
3. СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД
му множеству сетей {S1 , S2 ,...}: по построению грамматики он, с одной стороны, включает все Si , а, с другой стороны, все порождаемые подста-
новками сети (фактически, резольвенты) не расширяют интерпретацию.
Рассмотрим вариант базового языка исчисления предикатов первого порядка (без равенства), т.е. случай, когда среди квазиэлементарных фор-
мул нет формул вида z z .
Для всякой сети в терминальном (теперь чисто функциональном) ба-
зисе можно утверждать, что либо она трансформируется (редуцируется) к
нормальной форме рассмотренными выше преобразованиями, либо будет доказано, что она имеет пустую интерпретацию при любой интерпретации элементов терминального базиса. Можно показать, что
1)интерпретация любого конечного множества непустых сетей в нор-
мальной форме пуста для некоторой удовлетворяющей необходимым требованиям интерпретации элементов базиса и
2)это же свойство сохраняется и для любого рекурсивно-перечислимого множества сетей в нормальной форме, не содержащего пустую сеть
. Следовательно, доказываемое утверждение истинно тогда и только тогда, когда в порождаемый язык входит сеть, редуцируемая к пустой сети , также являющейся сетью в нормальной форме. Таким обра-
зом, проблема является полуразрешимой – множество сетей, порождае-
мых сетевой КС-грамматикой, рекурсивно-перечислимо, а система
правил редукции имеет свойство нетеровости, т.е. любая сеть приводи-
ма к нормальной форме за конечное число шагов.
Т е о р е м а 3 . 6 . Если исходное множество сетей реляционно эквива-
лентно (в сильном смысле) сети , то сеть будет получена в резуль-
тате редукции одной из сетей языка, порожденного описанной выше сете-
вой КС-грамматикой.
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 25
3.СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД
Вкачестве основы процедуры доказательства можно взять любую корректную процедуру порождения языка по сетевой КС-грамматике. Ес-
ли это – процедура дедуктивного вида, то, исходя из особенностей задачи,
имеется немало возможностей существенного сокращения числа вариантов вывода сетей из аксиомы грамматики. Рассмотрим некоторые из этих си-
туаций.
1. Если в сети (здесь и далее, возможно, содержащей нетерминальные элементы) обнаружен фрагмент (подсеть) вида рис. 3.2 c , то такая сеть ис-
ключается из множества выводимых из аксиомы сетей.
Описываемые далее ситуации 2 и 3 справедливы только для чистого языка исчисления предикатов первого порядка без равенства – в этом слу-
чае среди квазиэлементарных формул в оконечном представлении рас-
сматриваемой формулы не будет неравенств вида z z и, следовательно,
при доказательстве не выполняется каким-то особым образом резолюция по равенству.
2. Если в сети имеется цикл (из элементов терминальных сортов, т.к.
нетерминальные сорта имеют арность m,0 и, таким образом, не могут входить в циклы), то цикл не может быть устранен в любой порожденной сети в процессе рекурсивного вывода из аксиомы и при дальнейшей ре-
дукции. Сеть с циклом, следовательно, не может привести к порождению пустой сети и без ущерба для целей нашего доказательства может быть исключена из процесса вывода. Циклом мы называем фрагмент сети
Рис. 3.5. Цикл в сети.
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 26
3. СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД
вида, показанного на рис.3.5.
3. Если в сети имеется точка, являющаяся одновременно выходной
точкой двух элементов различных терминальных сортов, то эта ситуация
сохраняется во всех порождаемых из этой сети сетях и, следовательно, то-
же не может привести к порождению пустой сети и подлежит исклю-
чению из процесса вывода.
4. Наиболее сложной в реализации является проверка для каждой но-
вой выведенной сети S включения |
S S для любой из ранее выве- |
денных сетей S , хотя, если это будет установлено (это отношение между
сетями предполагает включение интерпретаций при любой интерпретации элементов базиса), то S может не включаться в число выводимых из ак-
сиомы сетей. Проблема состоит в том, что эта проверка может оказаться более трудоемкой, нежели избыточное продолжение вывода и для S .
3.8.Пример.
Описанная выше схема доказательства методом сетевой резолюции иллюстрируется на примере, логическая формулировка которого позаимствована из книги [Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем // Москва. Наука. 1983].
1) Исходная формула включает три аксиомы и утверждение:
x(E(x) & V (x) y(S(x, y) & C( y))) &x(P(x) & E(x) & y(S(x, y) P( y))) &x(P(x) V (x))
x(P(x) & C(x))
2) элиминируя импликацию, получим
x( E(x) V (x) y(S(x, y) & C( y)))x(P(x) & E(x) & y( S (x, y) P( y)))
x( P(x) V (x))
x(P(x) & C(x))
3) опускаем отрицание до уровня элементарных формул
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 27
3. СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД
x(E(x) & V (x) & y( S (x, y) C( y)))x( P(x) E(x) y(S (x, y) & P( y)))
x(P(x) &V (x))
x(P(x) & C(x))
4) для отдельных дизъюнктов строим пренексную нормальную форму
x y(E(x) & V (x) & ( S(x, y) C( y)))x y( P(x) E(x) S(x, y) & P( y))
x(P(x) &V (x))
x(P(x) & C(x))
5) проводя скулемизацию дизъюнктивных членов, получим
Y x(E(x) & V (x) & ( S(x,Y (x)) C(Y (x))))X y( P( X ) E( X ) S( X , y) & P( y))
x(P(x) &V (x))
x(P(x) & C(x))
6)приводя матрицы дизъюнктивных членов к ДНФ, внося кванторы суще-
ствования под знак дизъюнкции и удаляя лишние из них, окончательно сформулируем доказываемое утверждение:
E V S C P Y X
( x(E(x) & V (x) & S (x,Y (x)))
x(E(x) & V (x) & C(Y (x)))
P( X )E( X )
y (S ( X , y) & P( y)))
x (P(x) & V (x))
x (P(x) & C(x)).
На рис. 3.6 показаны сети – результаты трансляции дизъюнктов полу-
ченной формулы. Построим сетевую грамматику с множеством нетерми-
нальных символов {E,V , S,C, P, E ,V , S ,C , P, a}, множеством терминальных символов {Y , X} и аксиомой a . Вид правил для аксиомы показан на
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 28
3. СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД
рис. 3.7 (для всех Q {E,V , S,C, P}), а все остальные правила – на рис. 3.8.
Последовательность подстановок и применений правил редукции, приво-
дящая к построению пустой сети, приведена на рис. 3.9. Следовательно,
рассматриваемая формула является общезначимой.
1 |
E |
2 |
E |
|
|
V |
V |
|
|
S |
|
Y |
Y |
C |
|
|
5 |
X |
|
6 |
7 |
|
S |
|
P |
|
|
|
|
|
V |
P |
3 |
X |
P |
|
||
4 |
X |
E |
|
P |
С |
Рис. 3.6. Пример. Сетевое представление дизъюнктов.
a |
Q |
|
Q |
Рис. 3.7. Пример.
Вид правил для аксиомы a .
E |
V |
|
|
|
S |
|
Y |
V |
E |
|
Y |
C |
P |
X |
|
E |
|
|
|
|
V |
|
P |
P |
|
|
|
|
P |
|
V |
|
|
|
|
V |
E |
|
S |
E |
|
|
|
||
|
|
|
|
|
|
|
S |
|
V |
|
|
|
|
|
|
Y |
|
|
|
|
|
|
|
Y |
E |
V |
|
|
|
|
|
|
|
|
|
|
|
С |
E |
|
Y |
C |
|
|
|
|
|
||
|
S |
|
|
V |
X |
|
|
|
|
|
X |
|
|
|
|
|
|
Y |
|
|
|
|
|
|
|
|
|
P |
|
X |
S |
|
C |
|
|
|
P |
||
|
|
|
|
|
|
|
|
P |
С |
|
|
|
|
Рис. 3.8. Пример. Правила грамматики.
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 29
3. СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД
-элемент, вместо которого выполняется подстановка
-компоненты сети – редексы (вида левых частей правил редукции).
|
|
E |
P |
P |
|
|
|
V |
|
|
|
P |
С |
|
|
|
Y |
X |
V |
|
|
Y |
P |
P |
|
X |
P |
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
Y |
P |
|
X |
Y |
|
P |
X |
|
S |
|
|
|
|
S |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
X |
Y |
|
|
X |
Y |
|
|
|
E |
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
X |
V |
|
X |
V |
|
X |
V |
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
|
X |
Y |
P |
|
|
E |
X |
V |
|
|
|
Y |
Y |
|
X |
P |
|
Рис. 3.9. Пример. Процесс вывода
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 30