Сетевой логический вывод
.pdf3.СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД
3.СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД
3.1.Введение.
Часть 3 цикла работ по теории направленных отношений посвящена изложению результатов, раскрывающих взаимосвязь теории направленных отношений и логики, прежде всего, логики первого порядка с равенством,
на подмножестве которой – логике «хорновских» дизъюнктов – базируют-
ся многие языки логического программирования, в том числе Пролог.
Как уже отмечалось в части 1, многие виды семантических объектов в конструктивной математике вообще и в математической логике, в частно-
сти, могут рассматриваться как специальные подклассы d -отношений,
различающиеся как арностью, так и наличием у этих d -отношений осо-
бых свойств. В качестве основных таких свойств выступают тотальность и функциональность d -отношений, введенные в разделе 1.1 и более по-
дробно рассмотренные в главе 2.
Для того, чтобы представить себе возможные применения теории направленных отношений для решения задач, традиционно относящихся к приложениям математической логики, достаточно вспомнить, что суще-
ствуют всего два логических d -отношения арности (0,0) : пустое (пустое подмножество пар пустых кортежей) и {(,)} – множество, содержащее единственный элемент (пару пустых кортежей), которые в основных при-
ложениях теории направленных отношений играют роль истинностных значений false и true , соответственно.
Используемое нами определение языка исчисления предикатов (с ра-
венством) дано в разделе 3.2 и согласовано по стилю с определением язы-
ков схем d -отношений. Нетрудно видеть, что все необходимые для опре-
деления интерпретации логических формул семантические объекты также могут быть представлены в терминах теории направленных отношений.
FLOGOL – ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ
3. СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД
Последующие разделы этой главы посвящены проблеме взаимной транс-
ляции логических формул первого порядка и схем d -отношений, а в раз-
делах 3.7 - 3.9 рассматриваются механизмы логического вывода, реализо-
ванные средствами предлагаемой теории, причем для задания схем d -
отношений, как правило, будет использоваться их сетевое представление
(глава 2).
3.2.Язык исчисления предикатов первого порядка с равенством.
Вотличие от большинства известных формулировок, в определении языка исчисления предикатов первого порядка мы отказываемся от поня-
тия константа, полагая, что роль констант могут играть нульарные связ-
ки, а также связанные кванторами существования нульарные функцио-
нальные и предикатные переменные. При теоретическом рассмотрении бу-
дем использовать более «экономную» префиксную нотацию, а в примерах
– общепринятую функциональную нотацию для термов и вызовов преди-
катов.
В общем случае, в сигнатуру языка исчисления предикатов первого порядка с равенством входят:
-неограниченное (счетное) количество символов предикатных перемен-
ных любых арностей n 0; предикатные переменные арности 0 назы-
ваются логическими (пропозициональными) переменными;
-неограниченное количество символов функциональных переменных лю-
бых арностей m 0 ; функциональные переменные арности 0 назы-
ваются индивидными переменными;
-связки для обозначения логических функций произвольных арностей,
присоединенные функции которых образуют полную систему логиче-
ских функций; связки арности 0 называются логическими константа-
ми;
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 2
3. СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД
- связка « » для обозначения предиката равенства;
-унарно-унарные операторы – кванторы общности и существования,
применимые в языках первого порядка к логическим формулам (далее – просто к формулам) только по индивидным и пропозициональным пе-
ременным.
Термом называется конструкция вида |
F |
(n)t ...t |
n |
, где F (n) – n -арная |
|
|
|
|
1 |
|
|
функциональная переменная, n 0, а |
t1 ,...,tn |
– термы. В частности, от- |
|||
дельно взятая индивидная переменная является термом. |
|||||
Элементарная формула это либо |
t t |
– результат применения связ- |
|||
ки равенства к термам t и t , либо конструкция |
|
P(m)t1...tm , где P(m) – |
|||
m -арная предикатная переменная, m 0 , а |
t1 ,...,tm |
– термы. В частности, |
отдельно взятая пропозициональная переменная является элементарной формулой.
Формула – либо элементарная формула, либо результат применения k -арной логической связки к k формулам, k 0 , либо одна из конструк-
ций x A или x A – результатов применения кванторов общности и су-
ществования к формуле A по индивидной или пропозициональной пере-
менной x .
Далее будем придерживаться следующих соглашений:
1) для обозначения связанных (операторных) переменных будем использо-
вать строчные буквы, возможно, с индексами: x, y, z – для индивидных и p, q, r – для пропозициональных;
2) для обозначения свободных переменных будем использовать заглавные буквы, возможно, с индексами: F,G, H, X ,Y, Z – для функциональных и
P,Q, R – для предикатных;
3) самые внешние и группирующие скобки при применении логических связок могут быть частично опущены согласно приоритетам этих связок
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 3
3. СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД
(перечислим некоторые из них их в порядке убывания приоритета: (от-
рицание) и кванторы, (конъюнкция), (импликация), (дизъюнкция), (логическая эквивалентность)).
Пусть D – универсум и – произвольная допустимая интерпрета-
ция переменных: для всякой функциональной переменной F (n) F -
всюду определенная на D n -арная функция, для всякой предикатной пе-
ременной P(m) P – всюду определенный на D m -арный предикат.
Истинностная интерпретация всякой формулы определяется общеприня-
тым образом. |
|
|
A |
обозначает интерпретацию формулы |
A |
при ин- |
||||
|
|
|
|
|
|
|
|
|
|
|
терпретации |
|
|
переменных. Очевидно, что интерпретация всякой фор- |
|||||||
мулы зависит только от интерпретации ее свободных переменных. |
|
|||||||||
Интерпретация |
свободных переменных формулы A |
называется |
||||||||
ее моделью, если |
|
|
A true . Формула |
A называется общезначимой, |
||||||
|
|
|
|
|
|
|
|
|
|
|
если любая допустимая интерпретация |
|
свободных переменных форму- |
||||||||
лы A является ее моделью. Формула |
A |
называется выполнимой, если |
||||||||
она имеет хотя бы одну модель. Формула |
A называется противоречием, |
|||||||||
если не имеет моделей. Формула A называется опровергаемой, |
если она |
не является общезначимой (то есть если существует хотя бы одна интер-
претация , не являющаяся моделью формулы A ).
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 4
3.СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД
3.3.Приведение формул языка исчисления предикатов первого по-
рядка с равенством к канонической форме.
Известные полуразрешимые процедуры доказательства общезначимо-
сти произвольной формулы языка исчисления предикатов первого порядка с равенством базируются на понятиях пренексной нормальной формы, ску-
лемизации и резолюции. Напомним, как осуществляется приведение фор-
мулы к пренексной (предваренной) нормальной форме и ее скулемизация с учетом предполагаемого применения теории направленных отношений для доказательства общезначимости этой формулы.
Пусть A – заданная формула.
1.Преобразуем A к представлению в логическом базисе ,&, , изба-
вившись одновременно от кванторов по пропозициональным перемен-
ным.
2.Используя преобразование де Моргана, приведем формулу к виду, ко-
гда знак отрицания применим только к элементарным формулам. Обо-
|
P |
(m) |
|
|
|
|
|
|
(m) |
|
|
(t |
|
|
|
|
|
|||
значим |
t1 |
...tm |
как P |
t1...tm , а |
|
(t |
||||||||||||||
|
|
|
|
|
t ) как |
|
t ) . Формулы |
|||||||||||||
|
(m) |
|
|
|
|
|
|
(m) |
|
|
|
|
|
|
|
|
|
|
|
|
вида P |
t1 |
...tm , |
P |
t1...tm , (t |
|
назовем квазиэлементарны- |
||||||||||||||
|
|
|
t ) , (t |
|
t ) |
|
ми.
3.Используя правило замены операторной переменной, коммутативность операций &, и аксиому (или, возможно, теорему в конкретной фор-
мулировке исчисления |
предикатов) |
|
|
|
|
? xA |
A |
? x( A |
A ) , где |
||
? { , }, {&, }, если |
x не является свободной переменной форму- |
||||
|
|
A к пренексной форме, т.е. |
|||
лы A , преобразуем заданную формулу |
представим ее как результат применения различных кванторов к бес-
кванторной формуле (матрице).
4. Используя вторую, двойственную известной основной, форму скулеми-
зации: x ... x |
yA Y (n) x ... x |
[Y (n) x ...x |
n |
/ y]A , где Y (n) |
– не входя- |
||
1 |
n |
1 |
n |
1 |
|
|
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 5
3. СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД
щая в A n -арная функциональная переменная, преобразуем получен-
ную в п.3 формулу к эквивалентному представлению в языке второго порядка: Y1 Y2 ... y1 y2 ... B , где B – бескванторная часть формулы
(матрица), Y1 ,Y2 ,... – функциональные переменные, y1 , y2 ,... – индивид-
ные переменные.
5.Проведем декомпозицию элементарных формул в матрице путем введе-
ния дополнительных кванторов существования.
Используя, если необходимо, симметричность равенства, нетрудно
избавиться от формул вида |
(x |
|
|
|
в случае, когда |
x |
|
и |
x |
|
– связан- |
|||||||
|
x ) |
|
|
|||||||||||||||
ные кванторами существования переменные: |
|
|
|
|
|
|
||||||||||||
|
|
x |
|
x |
|
|
|
|
|
|
|
true , где A B обозначает фор- |
||||||
x A |
x A |
|
|
x A [x |
/ x ]A |
|||||||||||||
мулу |
A с конкретным вхождением подформулы |
B , а |
|
[ A/ x]B – ре- |
зультат подстановки A вместо (свободных) вхождений переменной x
в B .
Пусть x, x , x – переменные, не входящие (свободно) в некоторую квазиэлементарную формулу. Тогда для всех возможных видов этой формулы имеют место логические эквивалентности:
t t x(x t & x t ) ;
t t x x (x t & x t & x x ) ;
P(m)t1...ti ...tm x(P(m)t1...x...tm & x ti ) ;
P (m)t1...ti ...tm x(P (m)t1...x...tm & x ti ) ;
y F (n)t1...ti ...tn x( y F (n)t1...x...tn & x ti ) .
Применяя эти эквивалентности в случаях, когда термы t ,t ,ti не представляют собой связанных кванторами существования индивид-
ных переменных, и используя симметричность равенства, можно до-
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 6
3. СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД
стичь того, что всякая квазиэлементарная формула в матрице будет иметь один из четырех возможных видов:
1)x F (n) x1...xn ;
2)x x ;
3)P(m) x1...xm ;
4)P (m) x1...xm ;
где x, x , x , x1 ,... – связанные кванторами существования, не обязатель-
но различные, индивидные переменные.
6.Вынося в префикс появившиеся в процессе выполнения п.4 кванторы существования (аналогично тому, как это делалось в п.3) и преобразуя бескванторную часть формулы в дизъюнктивную нормальную форму,
получим в результате представление заданной формулы в виде
Y1 Y2 ... z1 z2 ... &Bij ,
i j
где Bij – квазиэлементарные формулы одного из перечисленных в п.5
видов.
Внеся кванторы существования под знак операции дизъюнкции и оставив только те из них, которые имеют вхождения операторной пе-
ременной в соответствующую конъюнкцию, получим окончательное представление:
Y1 Y2 ... zi1 zi 2 ...&Bij , где zi1 , zi 2 ,... – связанные кванторами су-
i j
ществования индивидные переменные, входящие в одну из квазиэле-
ментарных формул Bij .
Общезначимость исходной формулы означает истинность формулы
zi1 zi 2 ...&Bij для любой допустимой в языке первого порядка ин-
i j
терпретации свободных предикатных переменных |
P , P ,... |
и свобод- |
|
|
1 |
2 |
|
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 7
3. СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД
ных функциональных переменных F1 , F2 ,... исходной формулы и функциональных переменных Y1 ,Y2 ,..., появившихся в процессе скуле-
мизации.
3.4. Трансляция схем направленных отношений в логический язык
первого порядка. |
|
|
|
|
|
|
|
|
|
|
|
|||||
Сопоставим произвольному d -отношению R |
арности |
|
|
|
|
|||||||||||
|
n , n |
, |
n , |
|||||||||||||
|
, |
|
|
|
|
R , такой, что |
( |
|
D |
n |
)( |
|
D |
n |
) |
|
n 0 |
(n |
n ) -арный предикат |
|
|
|
|
||||||||||
|
|
|
|
|
R). |
|
|
|
|
|
|
|
|
|
|
|
(R( ) , |
|
|
|
|
|
|
|
|
|
|
|
|
||||
Пусть задана произвольная рекурсивная схема |
A(n ,n ) |
d -отношений с |
||||||||||||||
помощью сетевой КС-грамматики |
G (Bт , Bн , a, P) , где |
|
|
Bт |
– терминаль- |
ный базис (множество сортов элементов), составленный из символов сво-
бодных реляционных переменных схемы A , Bн – вспомогательный (не-
терминальный) базис, элементы которого ассоциируются со связанными
операторами рекурсии реляционными переменными, a Bн |
– аксиома |
|||
грамматики, |
P - множество правил сетевой грамматики (см. 2.6). Это |
|||
означает, что |
|
A S (G) для любой интерпретации |
пере- |
|
|
|
|
|
|
менных, где |
S (G) – сетевой язык, порожденный грамматикой |
G . Сопо- |
ставим различным элементам терминального и нетерминального базисов различные символы предикатных переменных таким образом, что каждому
сорту |
b(m ,m ) |
|
||
будет соответствовать предикатный символ b(m m ) арности |
||||
|
|
|
, причем в искомой логической формуле элементам терминаль- |
|
m |
m |
ного базиса будут соответствовать свободные предикатные переменные, а
элементам нетерминального базиса – связанные.
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 8
3. СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД
Пусть tr |
A |
обозначает результат описанной |
трансляции схемы |
A(n ,n ) в язык исчисления предикатов первого порядка |
с равенством. В со- |
ответствии с определением реляционной интерпретации сетевого языка,
порожденного КС-сетевой грамматикой |
G , положим: |
|||||||||||
tr |
|
A |
|
|
& |
|
|
|
|
|
p1... pk |
|
|
|
|||||||||||
|
|
x1... xn' x1... xn ( |
||||||||||
|
|
|
|
b |
n ,n |
Bн |
|
|
|
|
b S P , |
|
|
|
|
|
|
|
|
|
|
где |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S ( P,I,O,E,G), |
|
|
|
|
|
|
|
|
|
|
|
|
P { p1 ,..., pk } |
|
|
& ...& prn' (I ) |
(pr1 (I ) x1 |
&Re ( Re ) ( Re
e E ,
где
e R( ( Re ), ( Re )) ,I |
O , |
|||
e |
|
|
|
e e |
Ie pi |
... pi |
|
, |
|
1 |
( Re ) |
|
|
|
Oe pi |
... pi |
|
|
. |
1 |
( Re ) |
|
x & pr (O)
n' 1
) pi ...pi
1 '( Re )
|
|
x1 |
& ...& prn (O) xn & |
pi ...pi |
|
1 |
"( Re ) |
& |
& p j p j ) b |
(n n ) |
|
|
|
|
|
|
|
|
|
|
||
x1...xn x1...xn ), |
|
|
|
|
|
|
|
|
||||||
{ j , j } G |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
где pri |
– функция выделения |
i -го элемента кортежа. |
|
|
|
|
|
||||||
Т е о р е м а |
3 .1. Для любой рекурсивной схемы A |
d -отношений и про- |
||||||||||||
извольной интерпретации |
ее свободных переменных предикат |
|
A |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a , |
|
|
|
|
|||||||||
может быть получен как |
где |
a – предикатный символ, соответ- |
||||||||||||
ствующий |
аксиоме |
, |
представляющей схему |
|
A |
сетевой |
КС- |
|||||||
грамматики, а – |
минимальная модель формулы |
tr |
|
, такая, что для |
||||||||||
A |
||||||||||||||
всех терминальных сортов |
b Bт |
b b . |
|
|
|
|
|
|
|
|||||
|
|
|
|
|
||||||||||
|
Если для некоторого сорта b Bт |
рассматриваются только такие ин- |
||||||||||||
терпретации, при которых |
b – функциональное |
d -отношение арно- |
||||||||||||
сти |
n,1 , то b |
можно сопоставить в логической формуле такой же |
символ функциональной переменной арности n , полагая, что b – это
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 9
3. СЕТЕВОЙ ЛОГИЧЕСКИЙ ВЫВОД
график функции b . |
|
В этом случае при построении результата транс- |
||||
ляции вместо R(n 1) p ...p |
n |
p |
используется формула R(n) p ... p |
n |
p . |
|
1 |
|
|
1 |
|
||
П р и м е р . На рис. 2.9 |
были приведены правила сетевой грамматики с |
|||||
терминальным базисом |
|
|
B {N 0,1 , S 1,1 }, нетерминальным базисом |
|||
|
|
|
т |
|
|
|
B {P 2,1 , A 1,1 } и аксиомой |
P . При интерпретации элементов тер- |
|||||
н |
|
|
|
|
|
|
минального базиса как конструкторов на эрбрановском универсуме реля-
ционная интерпретация индуцированного этой грамматикой сетевого язы-
ка представляет собой конструктор Pair 2,1 упорядоченной пары. Ниже приводится результат трансляции этого d -отношения в язык исчисления предикатов первого порядка. Заметим, что, согласно нашим построениям,
эта формула никак не отражает свойств рассматриваемой интерпретации терминальных сортов элементов как конструкторов. Этот вопрос будет рассмотрен в следующем разделе этой главы. В рассматриваемом и после-
дующих примерах, как уже указывалось, для наглядности будем использо-
вать скобочную функциональную нотацию, а не префиксную:
tr A
x1 x2 x3 (
z(x1 z & x2 z & x1 z & N z)
z1 z2 z3 z4 z5 z6 (x1 z1 & x2 z2 & x3 z3 & S (z4 ) z1 & P(z4 , z5 , z6 ) &
S (z2 ) z5 & S (z6 ) z3 )
z1 z2 z3 z4 z5 (x1 z1 & x2 z2 & x3 z3 & N z1 & P(z1 , z4 , z5 ) &
S (z4 ) z2 & A(z5 , z2 , z3 )) &
x1 x2 x3 (
z1 z2 (x1 z1 & x2 z2 & x3 z3 & N z2 )
z1 z2 z3 z4 z5 (x1 z1 & x2 z2 & x3 z3 & S (z4 ) z2 & A(z1 , z4 , z5 ) &
S (z5 ) z3 A(x1 , x2 , x3 ))
P(x1 , x2 , x3 )).
FLOGOL: ЯЗЫК И СИСТЕМА ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 10