Научная статья на тему 'Распознавание выводимости для исчисления Ламбека с одним делением'

Распознавание выводимости для исчисления Ламбека с одним делением Текст научной статьи по специальности «Математика»

CC BY
146
14
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
LAMBEK CALCULUS / ALGORITHMIC COMPLEXITY

Аннотация научной статьи по математике, автор научной работы — Саватеев Юрий Вячеславович

В работе описывается полиномиальный алгоритм для определения выводимости в исчислении Ламбека с одним делением.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Распознавание выводимости для исчисления Ламбека с одним делением»

Далее, из лемм 2, 3 и 5 мы получаем

В силу леммы 6

Ы\£п\=пЫ(а1)+0(п), где <л = eaF^\a\\q\2r рг,а(гУ, In \phn\ < п\п(а) +ô(n), где а = еаР^\/3\\д\2ггг2а+г+1.

s (а) > (а + г + 1) ln(2) + г In (г) - In |7| - 1п(уу,0(г)) 7''й' ^ aF(q) + (а + г + 1) ln(2) + г ln(r) + In \f3\ + 2г In(q)

—r^r—a

Используя неравенство рr,a(z) ^ \z\ rrr a из леммы 2 и полагая r =

In2(a)

получаем необходимую

оценку для ôj(a), что завершает доказательство теоремы.

Замечание 1. В случае p = 0, q = 1 результат теоремы был получен в [1]. При таких параметрах оценивается размерность Q-линейной оболочки чисел 1, Lii(7),... , Lia (7).

Замечание 2. В случае 7 = 1, согласно лемме 1, теорема дает оценку размерности Q-линейной

оболочки чисел 1, Ф2 ( 1, — ) ,..., Фа il, —

V qj V q

СПИСОК ЛИТЕРАТУРЫ

1. Rivoal T. Propriétés diophantiennes de la fonction zêta de Riemann aux entiers impairs: Thèse de doctorat. Université de Caen, 2001.

2. Siegel C.L. Uber einige Anwendungen Diophantischer Approximationen // Abh. Preuss. Akad. Wiss. Kl. Math., Phys. 1929-1930. N 1. 1-70.

3. Нестеренко Ю.В. О мере линейной независимости чисел // Вестн. Моск. ун-та. Матем. Механ. 1985. № 1. 46—49.

Поступила в редакцию

02.04.2007 После доработки

27.06.2008

УДК 510.66

РАСПОЗНАВАНИЕ ВЫВОДИМОСТИ ДЛЯ ИСЧИСЛЕНИЯ ЛАМБЕКА

С ОДНИМ ДЕЛЕНИЕМ

Ю. В. Саватеев1

В работе описывается полиномиальный алгоритм для определения выводимости в исчислении Ламбека с одним делением.

Ключевые слова: исчисление Ламбека, алгоритмическая сложность.

A polynomial algorithm for determination of derivability in the Lambek calculus with one division is described in the paper.

Key words: Lambek calculus, algorithmic complexity.

Введение. Исчисление Ламбека с одним делением L^ является частью полного исчисления Ламбека, введенного в [1]. Этот фрагмент, а также грамматики, им порожденные, рассматривались в [2]. Проблема выводимости для полного исчисления Ламбека NP-полна (см. [3]). До настоящего времени не было известно никаких нетривиальных сложностных оценок для проблемы выводимости в L .

1 Саватеев Юрий Вячеславович — асп. каф. математической логики и теории алгоритмов мех.-мат. ф-та МГУ, e-mail:

estlladon@gmail.com.

Определение L^. Исчисление Ламбека с одним делением L^ строится следующим образом. Пусть задано счетное множество примитивных типов P = {po,pi,...}. Определим множество L^-типов, которое будем обозначать Tp: (1) P С Tp; (2) если A,B G Tp, то (A\B) G Tp. Примитивные типы будем обозначать маленькими латинскими буквами (p , q, r, ...), L -типы — прописными латинскими буквами (A, B, C, ...), последовательности (возможно, пустые) L -типов — большими греческими буквами (П, Г, А,...). Множество всех таких последовательностей будем обозначать Tp*. Выражения вида П ^ A, где П непусто, называются L -формулами или секвенциями.

Аксиомы и правила вывода в L^ таковы:

All В П^А ГБА —» С

' Ш(А\В)А^С '

Выводимость секвенции П ^ A обозначается L^ h П ^ A.

Можно доказать, что множество выводимых секвенций не изменится, если добавить следующие ограничения на аксиомы и правила: в аксиоме должно быть A G P, а в правиле (\ должно быть C G P.

Строки из элементов. Рассмотрим множество элементов (примитивных типов с верхними индексами) El = {p(i \p G P,i G N; i,j > 0}. Будем рассматривать множество строк El* (строки будем обозначать A, B,...) из этих элементов. Через е будем обозначать пустую строку. Введем на El* операцию (-)+2 со следующими свойствами:

(е)+2 = е, (p(i))+2 = p(i+2), (AB)+2 = (A)+2 (B)+2.

Также введем обозначение: будем писать A У п, если верхние индексы всех элементов A больше п. Положим е У п для любого п G N.

Определим 7,7 : Тр —Е1* — два перевода L^-типов в последовательности элементов:

7 (р) = l{v) =

7 (А\В) = ЦАЫВ), j(A\B) = 1{В)Ш))+2.

Например, j((s\q)\(r\p)) = g(2)s(3)f(2)p(1)) а 7((s\q)\(r\p)) = p(2)f(3)s(4)g(3). Также определим 7(П) для П G Tp* следующим образом: 7(e) = е, а если П = A1A2 . ..An, то 7 (П) = y(Ai )y(A2 ) ...j(An). Очевидно, что для любого п > 0 строка y(Ai ... An) будет заканчиваться на р(1) и общее количество элементов с верхним индексом 1 равно п.

Определим следующие множества последовательностей элементов: плюс-последовательности и минус-последовательности. Символом A+ будем обозначать плюс-последовательность A, а символом B- — минус-последовательность B. Эти множества определяются следующими рекурсивными соотношениями:

е+; (р(1))+; (p(2))-; A+,]

+ .

А",В+,В = е ^ (АВ)+; А",В+ ^ (А(В)+2)".

Отображение 7 взаимно однозначно переводит строки из Тр* в плюс-последовательности. Отображение 7 взаимно однозначно переводит Тр в минус-последовательности.

Вспомогательное исчисление Я. В исчислении Я выводимыми объектами являются выражения вида ^ А, где А £ Е1*. Аксиомы и правила Я таковы:

Индукцией по правилам Я легко доказывается, что если Я Ь^ А, то А = В+С , причем такое разбиение единственно.

Таким образом, так как 7 и 7 — взаимно однозначные отображения, каждой -формуле вида П —А можно поставить в соответствие строку 7(П)7(А) и, наоборот, каждой строке вида В+С~ можно поставить

в соответствие Ь -формулу 7_1(В) —7_1(С).

Эквивалентность L^ и S. Для любых A G Tp, П G Tp

*

LX h П -»■ A S b^ 7(П)7(Л),

и, наоборот, для любых В,С € Е1*, таких, что В+,С , верно

Я 1-—ВС -<==> ЬХ I- 7_1(В) -»■ 7_1(С).

Вывод в Я строки —7(П)7(А) получается из вывода в секвенции П —А просто заменой всех использований правила (— \) на правило (81), а правила (\ —) — на правило (Я2) с соответствующими посылками.

Критерий выводимости. Пусть А, В £ Е1*, А = е, А+ , В . Тогда Я Ь— АВ тогда и только тогда, когда все элементы в записи АВ можно разбить на пары с выполнением следующих условий.

1. Пара — это р(г) и р(г+1), т.е. в пару входят элементы, соответствующие одному примитивному типу, верхние индексы отличаются на единицу и элемент с меньшим верхним индексом стоит левее (последовательность записана слева направо).

2. Линии, соединяющие элементы одной пары, можно нарисовать в одной полуплоскости так, чтобы они не пересекались. Другими словами, любые две пары могут располагаться только такими способами:

...р(г) ...р(г+1) ...д^ ...д(з+1) ...,

...р(г) ...д^ ...д(з+1) ...р(г+1) ....

3. Если верхний индекс левого элемента пары равен 21 (четен), то между элементами пары найдется элемент с верхним индексом 21 — 1.

Докажем этот критерий. Рассмотрим вывод формулы — АВ в исчислении Я. Будем объединять элементы в пары во всех строках, использующихся в выводе, следующим образом: объединим в пару элементы из одной аксиомы, а в остальных случаях разобьем на пары так, как это делалось в посылках (при применении любого правила все элементы, участвовавшие в посылках, переходят в получившуюся строку). Индукцией по правилам Я можно доказать, что это разбиение будет удовлетворять всем требуемым условиям.

Будем проводить индукцию по длине строки АВ. Для строк длины 2 утверждение тривиально. Пусть для АВ существует разбиение, удовлетворяющее всем требуемым условиям. Если В имеет вид р(2)(С+)+2, то вместо АВ рассмотрим строку САр(2) (Я Ь— САр(2) ^ Я Ь— АВ). Строка САр(2) имеет вид Вд(1)д(2)Ер(1) р(2) , причем Е >- 1. Очевидно, что если требуемое разбиение на пары существует, то последние два элемента образуют пару. Тогда если Е >- 2, то Вд(1)д(2)Е — более короткая последовательность, для которой существует разбиение на пары, причем (Вд(1))+, а (д(2)Е)-. По предположению индукции Я Ь— Вд(1)д(2)Е. Тогда Я Ь—^ Вд(1) д(2) Ер(1)р(2), а значит, Я Ь— АВ. Единственный неразобранный случай — в строке Вд(1)д(2)Ер(1) р(2) в Е есть элемент с верхним индексом 2. Пусть Е имеет вид Е''г(2)Е', причем Е'' >- 2. Для этого элемента г(2) парой может быть только какой-то элемент г(1), стоящий левее д(1). Тогда строка имеет вид В'г(1)В''д(1)д(2)Е''г(2)Е'р(1)р(2). Заметим, что (В'г(1)г(2)Е'р(1))+, (р(2)) , (В''д(1))+, (д(2)Е'')- и разбиения на пары для строк В'г(1)г(2)Е'р(1)р(2) и В''д(1)д(2)Е'', взятые из общего разбиения для В'г(1)В''д(1)д(2)Е''г(2)Е' р(1)р(2), удовлетворяют всем требуемым условиям. Тогда по предположению индукции Я Ь— В'г(1)г(2)Е'р(1)р(2) и Я Ь— В"д(1)д(2)Е", а значит, и Я Ь— АВ.

Алгоритм проверки выводимости для Ь. Рассмотрим формулу П — А. Пусть общее количество вхождений примитивных типов в ней равно п. Тогда за время 0(п2) мы можем построить строку А = 7(П)7(А). Эта строка будет состоять также из п элементов. Теперь нам необходимо определить, существует ли для нее разбиение на пары, удовлетворяющее всем условиям критерия выводимости. Очевидно, что для начала и должно быть четным. Обозначим г-й элемент строки через А(г). Для пар г] £ М, таких, что г + 2] — 1 ^ п, будем рассчитывать величину М(г;]) £ {0; 1}: если для отрезка А с началом в А(г) и длиной 2] существует разбиение, удовлетворяющее условиям критерия выводимости, то М(г; ]) = 1, а

иначе М(г; ]) = 0. Тогда Ь Ь П — А в том и только в том случае, когда М(1; п/2) = 1.

Будем подсчитывать М(г; ]) последовательно, начиная с М(г;0) для 0 <г ^ п + 1. Имеем М(г;0) = 1 для всех г. Предположим, что для всех ] ' < ] значение М(г; ]) уже посчитано. Пусть А(г) равно р(т). Если т нечетно, то должно существовать число I = 2к ^ 2], такое, что А(г +1 — 1) = р(т+1), М(г + 1;к — 1) = 1 и М(г +I; ] — к) = 1. Если т четно, то к этим условиям добавится требование, чтобы А(г +1) = д(т-1) для некоторого I' < I. Это займет 0(]) действий. Всего пар, для которых необходимо считать М(г; ]), будет 0(п2). Таким образом, для определения выводимости в Ь формулы П — А нам потребуется всего 0(п3) действий.

СПИСОК ЛИТЕРАТУРЫ

1. Ламбек И. Математическое исследование структуры предложения // Математическая лингвистика: Сб. пер. / Под ред. Ю.А. Шрейдера, И.И. Ревзина, Д.Г. Лахути, В.К. Финна. М.: Мир, 1964. 47-68.

2. Buszkowski W. The equivalence of unidirectional Lambek categorial grammars and context-free grammars // Z. math. Log. und Grundl. Math. 1985. 31, N 4. 369-384.

3. Pentus M. Lambek calculus is NP-complete // Theor. Comput. Sci. 2006. 357, N 1-3. 186-201.

Поступила в редакцию 21.04.2008

УДК 510.649

ОБ ИСЧИСЛЕНИИ ЛАМБЕКА С ОДНИМ ДЕЛЕНИЕМ И ОДНИМ ПРИМИТИВНЫМ ТИПОМ, ДОПУСКАЮЩЕМ ПУСТЫЕ АНТЕЦЕДЕНТЫ

С. Л. Кузнецов1

Доказывается следующее утверждение: правило вывода, заданное схемой, допустимо в исчислении Ламбека с одним делением L*(\), допускающем пустые антецеденты, тогда и только тогда, когда оно допустимо во фрагменте L*(\) с одним примитивным типом L*(\;pi). Для этого применяется подстановка типов, сводящая выводимость в L*(\) к выводимости в L*(\;pi).

Ключевые слова: исчисление Ламбека, допустимые правила, сети доказательства.

The following assertion is proved: a deduction rule given by a scheme is admissible in the Lambek calculus with one division L*(\) permitting empty antecedents if and only if it is admissible in the fragment of L*(\) with one primitive type L*(\;pi). To do that, a type substitution is used which reduces the derivability in L*(\) to the derivability in L*(\;pi).

Key words: Lambek calculus, admissible rules, proof nets.

Рассмотрим вариант исчисления L (см. [1]) — исчисление L*(\) (исчисление Ламбека с одним делением, допускающее пустые антецеденты). Множество Pr = {pi,p2,p3,...} называется множеством примитивных типов. Типы L*(\) строятся из примитивных с помощью связки \ (левое деление). Множество всех типов обозначается через Tp(\); множество типов, в которые входят только pi,...,pN, — через Tp(\;pi,...,pn). Типы будем обозначать прописными латинскими буквами из начала алфавита, а их конечные (возможно, пустые) последовательности — заглавными греческими буквами. Секвенции L*(\) суть выражения вида Г ^ C.

Аксиомами L*(\) являются все секвенции вида A ^ A. Правила вывода:

AU-^B 11->А ТВ А С

П -»■ А\В ^ ТЩА\В)А^С

Если в исчислении L*(\) ограничиться типами из Tp(\;pi), получится его консервативный фрагмент — исчисление L*(\; pi).

Введем еще одно исчисление — MCLL (мультипликативную циклическую линейную логику). Элементы счетного множества Var = {pi,p2,...} называются переменными. Определим множество атомов как At ^ Var U{(? \ q G Var} (символ "здесь и далее означает "равно по определению"). Формулы MCLL строятся из атомов с помощью двухместных связок ^ и Множество формул, в которых встречаются только переменные pi,... ,pn, обозначаем через Fm(pi,... ,pn); множество всех формул — через

1 Кузнецов Степан Львович — студ. каф. математической логики и теории алгоритмов мех.-мат. ф-та МГУ, e-mail: skuzn@inbox.ru.

i Надоели баннеры? Вы всегда можете отключить рекламу.