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

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

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

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

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