Текст
                    ЛОГИЧЕСКИЙ
подход
К ИСКУССТВЕННОМУ
ИНТЕЛЛЕКТУ
От модальной логики к логике
баз данных
Издательство «Мир»


ЛОГИЧЕСКИЙ ПОДХОД К ИСКУССТВЕННОМУ ИНТЕЛЛЕКТУ
АРРКОСНЕ ЮСЮ11Е йЕ Ш\1ТЕШ6Е1\1СЕ АРТ1Р1С1ЕИЕ 2. йе 1а 1од1дие тос1а1е а 1а 1од|дие с1ез Ьазез с1е с1оппёез Апс1гё ТЬаузе, Ра8са1 СпЬогтюгП, Сиу НиПп, А1ат РкоПе, Оогттяие Пое1атз, Оогттяие Зпуегз, Маге \/аис1а1г, РЫИрз КезеагсЬ 1_аЬога№гу, ВгихеИез Раи1 СосНе*, Р'югге \Л/о1рег, 1)туегзКё с1е Неде Епс Сгедсже, 11п|уегзкё с1е Ьоиуат Ц)иуа'т-1а-№иуе ауес 1а соИаЬогайоп с1е РЫИрре Ое1заг1е, РЫИрз КезеагсЬ ЬаЬогаЮгу, ВгихеИез отчею тйэгтайдие
ЛОГИЧЕСКИЙ подход К ИСКУССТВЕННОМУ ИНТЕЛЛЕКТУ От модальной логики к логике баз данных Перевод с французского Г. П. Гаврилова, П. П. Пермякова и А. А. Ивановой под редакцией Г. П. Гаврилова Москва «Мир» 1998
УДК 681.3 ББК 32.973 Л 69 Авторы: А. Тейз, П. Грибомон, Г. Юлен, А. Пирот, Д. Ролан, Д. Снайерс, М. Воклер, П. Гоше, П. Вольпер, Э. Грегуар, Ф. Дельсарт Логический подход к искусственному интеллекту: От модальной логики к логике баз данных: Пер. с франц./Тейз А., Грибомон П., Юлен Г. и др. - М.: Мир, 1998.-494 с, ил. 18ВЫ 5-03-002519-7 Монография французских математиков, представляющая собой продолжение книги с тем же названием, но другим подзаголовком (М.: Мир, 1990). Она включает основы модальных и временных логик, анализ естественных языков, семантики Монтегю, немонотонных логик и логической теории баз данных. Изложение живое и наглядное, сопровождаемое графическими иллюстрациями, практическими рекомендациями. Для всех изучающих и применяющих методы искусственного интеллекта и логического программирования. ББК 32.973 Р$И Издание осуществлено при поддержке Российского фонда фундаментальных исследований по проекту № 97-01-14005 Редакция литературы по математическим наукам I8ВN 5-03-002519-7 (русск.) I8ВN 02-04-018757-Х (франц.) © Вогйаз, Раш, 1989 © перевод на русский язык, Г.П. Гаврилов, П.П. Пермяков, А.А. Иванова, 1998
ПРЕДИСЛОВИЕ РЕДАКТОРА ПЕРЕВОДА Искусственный интеллект (ИИ) естественно сравнить [ с художественной выставкой: чего в нем только не сыщется ^интересного, любопытного и занимательного!.. Авторы дан- I ного (второго) тома приглашают читателя заглянуть еще | в кое-какие павильоны, обозреть новые экспозиции. Чита- 1 т^ль должен сам решать, насколько полезны для него конк- ? ретные направления исследований в ИИ, и самостоятельно [оценивать перспективность в своей работе всего того, что [ предстанет его взору. Можно, конечно, спорить, сомневать- [ ря, взвешивая значимость различных разделов ИИ. Однако I лучше взглянуть повнимательнее на имеющиеся результаты IИ прикинуть, не окажется ли данное направление исследований весьма кстати и не удастся ли применить подходы | и методы, присущие ему, в ваших изысканиях. | Со времени проведения первых работ, относящихся к ИИ | (40-50 гг. нашего столетия), не утихают споры о ценности, [полезности и действенности ИИ, а также о том, что, собственно, следует в него включить и каковы его приемы, идеи, [приложения... Попытки обстоятельного разъяснения всех | ртих «что и почему» к успеху пока не привели. Приемлемым I кажется лишь один аргумент: накопление приемов ИИ и рас- •щирение областей его конкретных приложений-ценное I и важное занятие! [ В данном томе представлены модальные логики, семан- 1тика Монтегю, модифицируемые рассуждения, логики баз ^данных. (Детали отражены в предисловии авторов.) | Перевод настоящего тома был сопряжен со значитель- [ными трудностями, вызванными в основном терминоло-
6 Предисловие редактора перевода гическими и логико-философскими нюансами, а также разношерстностью стилей многочисленных авторов. Глава 3 переведена Пермяковым П. П., гл. 6 Ивановой А. А. Остальное переведено Гавриловым Г. П. и Пермяковым П. П. В настоящее время существуют уже 3-й и 4-й тома и мы надеемся, что в ближайшем будущем русскоязычному читателю удастся заглянуть еще в несколько залов собрания ценностей ИИ. Отметим в заключение, что, на наш взгляд, книга будет полезна всем тем, кого интересуют проблемы логики и современного программирования. Г. 77. Гаврилов
ПРЕДИСЛОВИЕ В настоящей книге мы продолжаем начатое в т. 1 изучение понятий и методов искусственного интеллекта, привлекая в качестве определяющего логический подход. Из т. 1 известно, что центральные проблемы искусствен- [ного интеллекта связаны с представлением знаний. Компьютерная программа, чтобы быть эффективной для заданного [контекста, должна располагать знанием о нем, представленном в используемом этой программой формализме. ^Проблема представления знаний состоит главным образом [В выяснении того, каковы наиболее адекватные формализмы !для представления знаний и каковы наиболее эффективные методы манипулирования этими формализмами. Особенно важно прочувствовать, что проблема представления знаний тесно связана с проблемой их обработки, ибо, очевидно, информация, которая представлена, но не поддается обработке, для искусственного интеллекта бесполезна. Просматривая используемые людьми способы представления знаний, замечаем, что основополагающим средством формирования, развития и передачи знаний является язык. Он предназначен для обеспечения возможности построения связных, вразумительных, понятных представлений и сообщений. Без понимания произносимого язык абсолютно ни к чему. Научные знания преимущественно представляются в некотором формальном языке, таком, как алгебраический, геометрический, логический или язык дифференциального и интегрального исчисления. Самым распространенным посредником для передачи воззрений, не связанных с наукой, является естественный язык. Таким образом, подавляющая
8 Предисловие часть знаний представлена либо формальным языком (включая также язык геометрических фигур), либо неким естественным языком. (Очевидно также, что существуют иные формы знаний, которые лучше передаются такими средствами, как живопись, музыка и т. д.) Впрочем, можно считать даже, что формальный язык-это всего лишь переложение естественного языка, более удобное для представления познаний определенного типа. Довольно часто научное знание (теория), такое, как евклидова геометрия, развивается поначалу на базе естественного языка. И только позже происходит обращение к более специализированным (и, следовательно, более адекватным) формулировкам - а именно, привлекаются язык геометрических фигур и язык алгебры. Таким образом, поскольку знание становится достаточным при посредстве естественных и формальных языков, то проблема представления знаний в искусственном интеллекте может пониматься как проблема перевода с этих языков в понятный компьютеру формализм. Именно здесь вовлекается в действие особый формальный язык, язык логики. Назначение логики состоит в формализации рассуждений и, следовательно, в предоставлении средства, позволяющего отличать корректные выводы от некорректных. Для формализации рассуждений нужно уметь представлять те утверждения, которые являются исходными гипотезами в рассуждении. Логика как раз и являет собой формализм представления знаний, снабженный средствами манипулирования с целью установления истинности утверждений: решающие процедуры и различные типы дедуктивных систем позволяют выводить истинные утверждения на основе предполагаемых корректными исходных гипотез. Поэтому совсем не удивительно, что логика играла и играет центральную роль в искусственном интеллекте, а также что большая часть существующих формализмов представления знаний более или менее прямо основана на математической логике. В равной мере эту роль логики можно подтвердить автоматическим характером процедур вывода и универсальностью языка логики. Знания любого типа можно (по крайней мере в принципе) описать на логическом языке. (Однако существующие логические формализмы еще далеки от того, чтобы полностью удовлетворить нужды представления знаний.)
Предисловие 9 Общий наш подход к только что затронутым большим темам (представление знаний, естественные и формальные языки, логический язык) состоит в следующем. Проблему представления знаний в искусственном интеллекте можно понимать как двуединую проблему перевода. ; Сначала происходит перевод с тех естественных и формаль- ных языков, которыми описаны знания, на язык формальной | логики. Затем следует перевод с формальнологического язычка в понятный компьютеру формализм, т.е. на один из [языков программирования. ■ Теперь о том, как этот подход реализован в главах данного тома. Первая глава служит введением в изучение характеристик естественных и формальных языков. В ней же описывается I формализм модальной логики. Логику нельзя рассматривать как единый язык. Это, скорее всего, совокупность языков, обладающих различными свойствами. В частности, в т. 1 были представлены классические логики, а именно логика высказываний и логика предикатов. Здесь мы продолжим изложение логики, обратившись к модальной логике. Те исследователи, которые поработали в области классической логики, наверняка почувствовали неадекватность этого формализма для целей представления некоторых форм знаний и для осуществления некоторых типов рассуждений. Это особенно касается приблизительных, интроспективных или меняющихся со временем знаний. В т. 1 было показано, что для представления таких приблизительных или изменчивых знаний подходят некоторые логики знания и веры. Они же позволяют проводить модифицируемые здравые рассуждения, касающиеся упомянутых знаний. Эти логики знания и веры составляют часть класса логик, называемых модальными логиками. Перовая глава посвящена систематическому изложению модальной логики и ее различных интерпретаций в терминах эпи- стемической логики, деонтической логики, временной логики и динамической логики. Продолжено также начатое в первом томе формальное изложение классической логики. Проиллюстрировано возможное применение логики для представления знаний и рассуждений о них. Например, использованы классические задачи «о трех советниках» и о «рабах и 2-4465
10 Предисловие сеньорах» для моделирования интроспективных рассуждений на основе логики предикатов и модальной логики. Вводится также логическое представление аксиом теории множеств для автоматического доказательства некоторых теорем названной теории. Вторая глава посвящена представлению естественного языка посредством особого логического языка-языка интенсиональной логики. Формальное представление естественного языка уже было начато в т. 1 на окольных путях грамматик структуры фразы, предложенных Хомским. Эти грамматики структуры фразы состоят из множества синтаксических правил, которые аппроксимирующим образом описывают синтаксические правила грамматик естественных языков. Показано, как формальную операцию переписывания, на которой основаны синтаксические правила грамматик Хомского, можно интерпретировать, привлекая правило резолюций логики первого порядка. И вообще продемонстрирован перевод формализма грамматик структуры фразы на логический язык хорновских дизъюнктов. А это подводит к формализму логического программирования. При таком подходе перевод с естественного языка на логический происходит, стало быть, посредством перевода синтаксиса. Здесь применяется существенно иная методология: мы имеем дело с переводом, базирующимся на логической формализации семантики естественного языка. Труды Тарского по формальной семантике формализованных языков, работы Крипке по семантике возможных миров и исследования Монтегю по интенсиональной логике послужили основой методов строгого анализа семантики естественных языков. В гл. 2 существенно проработаны идеи Монтегю, касающиеся интенсиональной логики. Эта логика является формальным языком, грамматическая структура которого позволяет поддерживать тесную параллельность (изоморфизм) между синтаксическо- семантическим анализом фраз естественного языка. Предполагается, что формула представляет фразу. Приняв развитые Тарским и Карнапом понятия, Монтегю приписал интенсиональной логике индексную (т.е. типизированную) семантику, в которой операторы «учета значения» позволяют принять во внимание контекст. В этой логике деонтические
Предисловие 11 и временные модальные системы соответствуют некоторым ограничениям возможных интерпретаций языка. Итак, развит формальный язык (интенсиональная логика), близкий, насколько возможно, к естественному языку. После этого речь идет о заполнении оставшегося промежутка между этими двумя языками путем увязывания с естественным языком некой грамматики, изоморфной грамматике интенсиональной логики. В третьей главе вводится понятие категориальной грамматики. При этом в качестве типичного примера используется грамматика подмножества английского языка, описанная Монтегю. Схематически это выглядит так: описание естественного языка с помощью категориальной грамматики дает возможность обрабатывать этот язык и формальный язык интенсиональной логики в рамках одной и той же теории; причем фразы естественного языка переводятся в формулы интенсиональной логики. Теория моделей интенсиональной логики позволяет тогда семантически интерпретировать рассматриваемые формулы. Таким образом, для Монтегю не существует теоретической разницы между естественным и формальным языками. Оказывается возможным рассматривать оба этих языка как алгебраические структуры, общность которых достаточна для того, чтобы осуществлять единообразную обработку синтаксиса и семантики обоих этих языков. Кроме того, возможен «вычислительный» перевод с первого языка на второй. Следует заметить, что в настоящее время перевод с естественного языка на формальный с использованием семантики (как показано в гл. 2 и 3) представляет собой более богатый процесс, т. е. при этом тонкости естественного языка переходят в формальный язык. Вместе с тем этот процесс более кустарный, т. е. менее автоматизируемый, нежели рассмотренный в т. 1 перевод «через синтаксис». Четвертая глава посвящена изложению временной логики и ее важнейших приложений в информатике. В гл. 1 развивается формализм модальной логики и показывается, как можно интерпретировать его в терминах деонтической, эпистемической (т. е. знания и веры), динамической и временной логик. На этой стадии выясняются лишь потен- 2*
12 Предисловие циальные возможности каждой из этих логик, выраженные синтаксисом, семантикой, аксиомами и правилами вывода. Однако примеров эффективного применения выявленных возможностей не приводится. Предметом гл. 4 является более глубокое и конкретное изложение вышеназванных логик. В ней обрисовывается специфика временной логики вместе с ее наиболее характерными применениями (точно так же, как в гл. 4 т. 1 излагались теория и приложения эписте- мической логики). Временная логика в своей линейной версии позволяет описывать последовательности ситуаций и рассуждать о них. Эти последовательности можно интерпретировать разными способами. В собственно временной интерпретации последовательность ситуаций отражает эволюцию состояния мира с течением времени. Интерпретация, которую мы рассматриваем, трактует эту последовательность ситуаций как последовательность состояний компьютерной программы в ходе ее выполнения. Такая интерпретация позволяет использовать временную логику для спецификации, синтеза и верификации программ. Иногда (особенно в рамках представления недетерминированных программ) интересно рассматривать нелинейную логику, называемую древовидной, для которой заданный начальный момент может давать множественные варианты будущего. Здесь формулируется синтаксис и аксиоматика для такого типа временной логики. Приведены наиболее значительные ее применения. Пятая глава посвящена возможному использованию логического формализма для моделирования модифицируемых рассуждений в искусственном интеллекте. Содержание этой главы продолжает и дополняет материал, изложенный в т. 1. Прояснено то обстоятельство, что рассматриваемое в искусственном интеллекте моделирование рассуждений не должно ограничиваться формализацией некоего безупречного интеллекта. В частности, имея дело с неполной, приблизительной и изменчивой информацией, наши рассуждения часто оказываются предположительными, всего лишь правдоподобными и поэтому подлежащими пересмотру. Этот тип рассуждений встречается в многочисленных областях искусственного интеллекта, особенно при формализации таких специализированных интеллектуальных за-
Предисловие 13 дач высокого уровня, как диагностика (медицинская или иная), а также при формализации рассуждений, касающихся планов и действий, при анализе диалогов, при обработке неполной информации в базах данных и при организации иерархических знаний с исключениями. Все это говорит о необходимости построения формализованной теории модифицируемых рассуждений. В т. 1 были представлены три семейства немонотонных логик: логика умолчаний Рейтера, модальные немонотонные логики Мак-Дермотта и авто- эпистемическая логика Мура. Назначение гл. 5 состоит в описании различных логических методов формализации модифицируемых рассуждений, которые были бы прило- жимы в вышеперечисленных областях. Эти методы записываются на языке классической логики и базируются на анализе, опирающемся на теорию моделей. Суть подхода состоит в следующем. Рассуждения могут эволюционировать, в том случае когда они опираются на ограниченное, но изменяющееся множество сведений. В частности, когда в них вовлечены пока еще не уточненные сведения. Для того чтобы быть эффективными, такие рассуждения требуют использования стратегии, подходящей к информации такого типа. Показано, как можно применять такую стратегию формализованным образом с помощью гипотезы замкнутого мира, метода предикатного пополнения или метода очерчивания. Наконец, заметим, что для корректного использования неполной, негативной или неявной информации в базах данных и логическом программировании требуется еще и формализация некоторых разновидностей модифицируемых рассуждений. Итак, та теория и ее приложения, которые изложены в гл. 5, служат вполне естественным введением в логику баз данных, исследуемую в заключительной главе. В шестой главе логика используется для придания семантики реляционным базам данных и некоторым их обобщениям. Базы данных описываются с помощью некоторого языка первого порядка. Доступ (в смысле извлечения информации) к этим базам данных осуществляется посредством формул языка первого порядка, называемых запросами. Изучение баз данных зиждется на двух подходах, один из которых квали-
14 Предисловие филируется как семантический, а другой-как аксиоматический. Семантический подход проистекает из традиционных воззрений на реляционные базы данных. Суть его в сопоставлении базе данных некоторой модели; ответы на запрос являются конкретизациями свободных переменных, для которых запрос истинен в рассматриваемой модели. Аксиоматический подход стал развиваться позже, когда возникла идея увязать определенные дедуктивные механизмы с базами данных. При таком подходе вместо модели базе данных сопоставляется некоторая теория. Тогда ответы на сделанный запрос будут конкретизациями свободных переменных, для которых запрос представляет собой теорему теории. Семантику реляционной базы данных можно полностью описать такой моделью, которая по существу сама является базой данных. Эта модель-также единственная модель теории, сопоставленной базе данных при аксиоматическом подходе. Различие между двумя этими подходами становится более плодотворным, когда рассматриваются дедуктивные базы данных. Дедуктивной базой данных называется реляционная база данных, которой придано множество правил (они могут быть и рекурсивными), определяющих новые отношения. Когда правила вывода оказываются хорновскими дизъюнктами, то еще можно построить единственную модель, характеризующую ту информацию, которая содержится в базе данных. Более того, существует такая теория, для которой эта модель является единственной. Если правила нерекурсивны, то для теории легко удается построить эффективный алгоритм оценки запросов. В более интересном случае-при наличии рекурсивных правил-алгоритм, строящийся на основе данной теории, гораздо более сложен и оценка запросов опирается на (частичное) построение модели, сопоставляемой базе данных при семантическом подходе. Если же правила не ограничиваются хорновскими дизъюнктами, то приходится, вообще говоря, сопоставить базе данных уже не одну, а несколько моделей, каждая из которых представляет некий возможный мир, выполнимый вместе с содержащимися в базе данных сведениями. В некоторых частных случаях, особенно в случае баз данных, называемых стратифицированными, все же оказывается воз-
Предисловие 15 можным выделить одну детерминированную модель, которая более естественна, чем все остальные. При этом развитие механизмов оценки запросов оставляет желать много лучшего. Глава завершается изучением представления неполной информации в реляционных базах данных. В этом случае при семантическом подходе приходится строить множество таких моделей, которые приемлемы в равной степени. Неполную информацию можно также изящно моделировать в рамках аксиоматического подхода. Однако сопоставленные теории оказываются здесь неполными. Алгоритмы оценки, выведенные из двух подходов, корректны, но не являются полными. Взаимосвязи между главами двух томов отражены на рисунке в конце этого предисловия. Как и в т. 1, мы старались изложить (настолько цельно, насколько это возможно) совокупность логических языков, которые обычно используются в искусственном интеллекте и информатике. Различные главы данного тома были написаны следующими авторами. 1. Языки и логики (Доминик Снайерс и Андре Тейз). 2. Интенсиональная логика и естественный язык (Поль Гоше и Андре Тейз). 3. Семантика Монтегю (Поль Гоше и Андре Тейз). 4. Временная логика (Паскаль Грибомон и Пьер Вольтер). 5. Формализация модифицируемых рассуждений (Эрик Грегуар). 6. Логика и базы данных (Ги Юлен, Ален Пирот, Доминик Ролан и Марк Воклер). Предполагается издание тома 3, который будет посвящен в основном примерам применения логики в наиболее значительных приложениях искусственного интеллекта и информатики. В нем будут представлены следующие темы: 1) обработка естественного языка, 2) распознавание речи, 3) построение баз знаний для экспертных систем, 4) практическое применение модифицируемых рассуждений,
16 Предисловие 5) определение формального языка для анализа запросов. Брюссель, ноябрь 1988 Андре Тейз Мы благодарны всем, кто помог нам в работе: Даниэль Дзиржовски, Кристин Фруадво, Жан Пирней, Мишель Синцофф, Пьер-Ив Шоббенс и Филипп Смете согласились прочесть и прокомментировать отдельные части этой книги. 1. Логика ^.Представление знаний и рассуждений 2.Аксиомати- - ческие системы -**4. Логика и модифицируемые рассуждения 1. Языки и логики »»5. Формализация модифицируемых рассуждений 1 2. Интенсиональная \ 6. Логика и логика и \ вазы данных естественный язык 3.Семантика 4. Временная логика Монтегю ►5. Формальные грамматики т 6. Пролог и логическое программирование Михаэль Миллер и Дональд Перлис дали свое согласие на частичное воспроизведение их статей; издательство Рей- дел санкционировало это воспроизведение.
Предисловие 17 Таблицы на рис. 3.1 и 3.7 заимствована из работы «Введение в семантику Монтегю» Давида Доути, Роберта Уолла и Стенли Цетерса; издательство Рейдел санкционировало это заимствование. Анна Мари Де Сестер и Эди Моэс участвовали в редактировании текста. Эрик Грегуар благодарит Бельгийский институт научных исследований в промышленности и сельском хозяйстве за оказанную поддержку (Конвенция 4856: Общее направление исследований в искусственном интеллекте). Ги Юлен, Ален Пирот, Доминик Ролан и Марк Воклер благодарят Европейское Сообщество за оказанную поддержку (Проект Эспри, Эстем 316). 3-4465
1. ЯЗЫКИ И ЛОГИКИ 1.1. Логическое исследование языков /. 7.7. Введение Предполагается, что существуют главным образом два класса языков, а именно естественные языки и формальные. Естественные языки, такие, как французский и английский, возникли и развивались естественным образом, т.е. независимо от каких-либо теорий. Теории естественных языков, например их грамматики, были созданы апостериори, т.е. после того, как языки достигли своей зрелости. Формальные же языки, такие, как математические и логические, развивались, вообще говоря, отправляясь от некой заданной априори теории, которая служила для них фундаментом. Назначение этого раздела состоит в том, чтобы выявить наиболее характерные свойства двух названных классов языков. Кроме того, будут указаны причины, которые побудили исследователей задаться вопросом о существовании общих принципов для естественных и формальных языков. Это позволит нам заложить основы теории, предназначенной для обеспечения перевода (или формулирования) с естественного или формального языка на особый формальный язык, а именно на логический язык. Конечная цель этой операции состоит в том, чтобы обеспечить возможность исследования естественных и формальных языков такими средствами информатики, как язык Пролог. На самом деле, известно, что языки логического программирования, такие, как Пролог, навеяны формальным языком логики. Пролог выполняет инструкции, которые являются фразами чрезвычайно элементарного логического языка, а именно языка хорновских дизъюнктов. Связь,
1.1. Логическое исследование языков 19 существующая между логикой и Прологом, была изучена и прокомментирована в т. 1, гл. 5 и 6. 7.1.2. Естественные и формальные языки Язык состоит из множества фраз. Чаще всего это множество бесконечно. Различают два класса языков, а именно естественные языки (такие, как французский и английский) и формальные языки (например, логические и математические). Французский язык можно определить как (теоретически бесконечное) множество всех французских фраз. Эти фразы составляют естественным образом на основе практики человеческого опыта, который самоорганизовывался одновременно с самим языком [117]. Французская фраза является конечной последовательностью французских слов. Известно, что множество этих слов конечно. Следовательно, французская фраза может рассматриваться как конечная последовательность элементов данного конечного множества. Между тем разрешены не все комбинации слов. Нужно, чтобы эти комбинации были корректны относительно некоторого синтаксиса и осмысленны относительно некой семантики. Эти синтаксис и семантика составляют, так сказать, теорию французского языка, которая позволяет определить все французские фразы и, следовательно, французский язык. В случае естественного языка, подобного французскому, построение в нем фраз предшествовало его формализации с помощью некой теории или грамматики. По этой причине такой язык называется естественным, т.е. неискусственным, «несконст- руированным». Термин «естественный» противопоставляет упомянутые языки формальным языкам, которые «сконструированы», а значит, являются искусственными. Формальный язык (такой, как язык логики) состоит из множества фраз, называемых обычно формулами или правильно составленными {построенными) выражениями. Их можно получить, применяя законы логики. Такой язык называют искусственным потому, что он создается путем формализации с использованием аксиом и правил построения. Впадая в крайность, можно, конечно, утверждать, что аксиомы и правила нового формального языка возникают просто как плод чистой фантазии 3*
20 1. Языки и логики некоего теоретика. Термином «формальный» подчеркивается одно специфическое свойство языков. Дело в том, что, будучи составленными из некоторого списка символов (логических или математических), фразы таких языков допускают различные интерпретации. В противоположность естественным языкам, в которых слова обладают вполне определенным смыслом, символы формального языка поначалу смысла не имеют. Числом или символом можно обозначить все что угодно. Конкретный смысл придается им в том или ином их применении. Соответствующий смысл должен быть строго определен посредством методов интерпретации формальных систем. Упомянутые методы составляют семантику формального языка. Таким образом, мы имеем дело с двумя типами языков; их происхождение и области применения существенно различны. Прежде всего попытаемся очертить наиболее важные свойства указанных типов языков. Это подведет нас к рассмотрению одного из вопросов, побудивших разрабатывать искусственный интеллект. А именно: «В какой мере естественные языки могут быть представлены (т. е. выражены) средствами формальных языков?» Мы особенно интересуемся применениями логических языков с точки зрения представления и исследования естественных языков. Замечание 1. Это деление множества языков на два четко очерченных класса до определенной степени условно. Нетрудно указать такие языки (например, евклидова геометрия), которые обладают гибридными характеристиками. Евклидова геометрия с самого начала создавалась и развивалась на основе использования естественного языка, пополненного языком геометрических фигур. В дальнейшем она превратилась в полностью аксиоматизированную теорию, не порывая при этом тесной связи с естественным языком и языком геометрических фигур. Аналитическая геометрия является переводом аксиоматической теории Евклида на формальный язык алгебры. Со времен введения аналитической геометрии Декартом эти два формализма (алгебраический язык и язык естественный) использовались совместно. Ни один из них никогда не вытеснял другого. Теория функций действительного переменного дает пример существенно иного развития.
1.1. Логическое исследование языков 21 Поначалу она развивалась на основе использования естественного языка. Это приводило ко все более тяжеловесным «словесным» конструкциям. Однако постепенно осуществился переход к формализации с привлечением алгебраических обозначений (алгебраического языка). Применение формального языка дало возможность теории функций действительного переменного достичь такой стадии развития, какой она никогда не достигла бы, используя естественный язык. В этом случае формальный язык постепенно вытеснил естественный язык. Замечание 2. Язык является средством, позволяющим выражать и передавать мысли, общим для некоторой социальной группы (например, для лингвистического или научного сообщества) способом. Речь же есть процесс выражения и передачи мыслей, осуществляемый с помощью системы звуковых символов (устная реализация) или системы графических символов (письменная реализация). Каждая из этих систем является языком. Таким образом, термин «язык» означает систему, тогда как термин «речь» относится к любому примеру реализации этой системы. На практике не всегда придерживаются подобных строгих определений речи и языка (например, в случаях, когда говорят о французском, английском, математическом, логическом языках или языке программирования). Чтобы приспособиться к такому явлению, будем в дальнейшем в данном томе использовать всюду термин «речь» вместо термина «язык». Надеемся, что двусмысленности при этом не возникнет. 1.1.3. Характеристики естественных языков Язык является средством выражения мыслей и инструментом общения между людьми. Применение этого средства осуществляется с помощью системы звуковых символов (устная реализация) или, в случае необходимости, системы графических символов (письменная реализация). Такая система и есть естественный язык. Как средство выражения мыслей, речь относится к существенным элементам формирования
22 1. Языки и логики личности. В нашем реальном мире функция речи двоякая: во-первых, она наделяет нас способностью присваивать имена реальным вещам и, следовательно, рассуждать о них и, кроме того, позволяет создавать «систему значений». Вопреки мнению, распространившемуся под влиянием некоторых лингвистических теорий-формализаторов, основой языка послужила отнюдь не какая-то априорная рациональная истина (иначе бы ее идеальным оформлением был формальный язык), а, скорее всего, практическая деятельность людей и развитие человечества, которые самоорганизовывались вместе с самим языком. В своей теперешней форме такие естественные языки, как французский и английский, обладают большой выразительной силой. Они позволяют анализировать с высокой точностью весьма сложные ситуации и рассуждать с учетом тончайших нюансов. Основой мощных выразительных возможностей этих языков и их способности служить опорой тонких рассуждений являются богатство семантической компоненты естественных языков и укоренение этих языков в прагматике контекста их использования. В дальнейшем мы достаточно аргументированно обоснуем, что именно семантическая компонента естественного языка (т. е. именно то, благодаря чему фразы имеют или обретают смысл) формализуется труднее всего [62]. Напротив, синтаксис естественного языка смоделировать в формальном языке (наподобие логического или математического) гораздо легче. Другим характерным свойством естественных языков является полисемия, т. е. свойство, состоящее в том, что слово или фраза имеют несколько смыслов, несколько значений. Полисемия языка несомненно обогащает его семантическую компоненту. Однако это свойство языка затрудняет его формализацию, а может быть, делает ее невозможной. Полисемия естественных языков зачастую считается недавним приобретением [10]. Первоначальные формы естественных языков были ближе к формальным языкам, а полисемия явилась результатом их дальнейшего обогащения. Полисемия может возникать на различных уровнях текста. Она может проявиться в словах, фразах или в целых текстах. Например, слово «мастер» может означать не только «специалист», «мастак», но и «искусник», «виртуоз», «худож-
24 1. Языки и логики однозначными (т.е. слово сохраняет один и тот же смысл в различных контекстах или применениях). Более того, знаки имеют лишь тот смысл, который придан им синтаксисом. Исключены ссылки на какое бы то ни было семантическое содержание. Переменная, функция и формула могут обозначать все что угодно. Смысл имеют лишь связки и отношения, позволяющие записывать эти формулы. Таковы знаки равенства, неравенства, принадлежности, включения, логические связки V, Л, ~~] и т. д. и алгебраические связки +, х, у/ и т.д. Таким образом, формальные языки априори лишены какой бы то ни было семантической компоненты помимо той, что ассоциирована с их связками или отношениями. И вновь это не согласуется с полисемическим характером естественных языков. Между тем именно благодаря отсутствию априори приписанного какого-то особенного значения формализм формальных языков может использоваться для моделирования в различных областях - в механике, электротехнике, лингвистике или иной теории, которая обретет тем самым статус семантической компоненты, связанной с этими языками. Иными словами, с появлением концепции формальных языков, в которых никакой двусмысленности быть не может, все происходит так, как если бы сведение к единственному и недвусмысленному значению осуществлялось путем элиминации мира значений в процессе построения формул. Во всяком случае, до тех пор, пока мы остаемся на абстрактном уровне этого построения [10]. Придание смысла формулам происходит на более позднем этапе. Именно тогда мы получаем возможность оценивать истинность/ложность любой формулы. Мир значений, т.е. семантическая компонента, не существует вне теории, которую мы пытаемся заставить работать с помощью формального языка. Например, семантической компонентой, которую обычно связывают с формальным языком теории конических сечений, является кинематика небесных тел. Другой пример: (конечные) линейные системы всевозможных типов служат допустимыми семантическими компонентами для теории матриц. В этой книге нас больше всего будет интересовать приписывание семантической компоненты естественных языков формальным логическим языкам. Один из фундаментальных
1.1. Логическое исследование языков 25 принципов искусственного интеллекта состоит в исследовании естественных языков средствами информатики. Это исследование базируется как раз на приписывании семантической компоненты естественного языка (или некоторого его подмножества) определенным логическим языкам, таким, как языки первого порядка или модальные языки. Нельзя обойти молчанием важность понятия числа для формальных языков. Являясь элементами и системы нумерации, и системы вычислений, числа всегда сохраняют способность отсылать к содержанию, которое становится частью семантической компоненты языка, а именно к содержанию возможных объектов, в том случае, когда их можно пересчитать или измерить. Приписывание смысла числу или результату вычисления не всегда однозначно. Полезно вспомнить, что в физике после завершения вычислений при интерпретации результатов сохраняют только те из них, которые выражаются положительными числами. Отрицательные или мнимые решения уравнений, по предположению описывающих реальность, чаще всего отвергаются как не соответствующие «физической реальности». Подведем итоги: формальные языки характеризуются следующими свойствами: • Построение на основе априори заданной теории. • Семантическая компонента минимальна. • Возможность увеличения семантической компоненты с помощью формализуемой теории. • Синтаксис, порождающий однозначные фразы. • Важность использования чисел. • Полная формализация и, следовательно, возможность реализации с помощью компьютера. /. 1.5. Логическое исследование естественных языков Одно из основных назначений искусственного интеллекта состоит в исследовании естественных языков средствами информатики. При такой точке зрения различные логические языки играют первостепенную роль, поскольку они часто являются вынужденными посредниками между естествен- 4-4465
26 1. Языки и логики ными языками и их автоматической обработкой. Прежде всего припомним, что такой язык программирования, как Пролог, является средством, предназначенным для написания компьютерных программ. Создание Пролога навеяно формальной логикой. Пролог выполняет инструкции, которые являются не чем иным, как фразами некоторого чрезвычайно элементарного логического языка. А именно, это язык хор- новских дизъюнктов. Впрочем, один парадоксальный тезис формальной семантики заключается в следующем. Он гласит, что нет существенной разницы между естественными и формальными языками ([172], [173], [174], [175], [176], [183]). Этот тезис ничего не говорит о возможном отождествлении формальных и естественных языков, например логики первого порядка или модальной логики, с одной стороны, и французского или английского языков-с другой. В предыдущих разделах был по существу выявлен контраст между бедностью (синтаксической и семантической) формальных языков и богатством естественных языков. Можно согласиться с тем, что естественные языки гораздо сложнее формальных языков логики. Вместе с тем следует попытаться представить фрагменты (все возрастающего размера) этих языков путем придания логическим системам все более выразительных компонент. Это достигается переходом от логики высказываний к логике предикатов и модальной логике. Имеется второе фундаментальное различие между естественными и логическими языками. Его следует учесть в процессе представления первых вторыми. Оно является следствием той центральной роли, которую играет в логике понятие истинности. Прежде всего роль логического анализа состоит в том, чтобы определить, является ли некоторая фраза (формула) данного языка общезначимой (истинной при всех своих интерпретациях) или же просто выполнимой (истинной хотя бы при одной из своих интерпретаций). Весьма часто фразы естественного языка являются невнятными, смутными или неопределенными, такими, как: «понял ли Павел?», «Яков молод» или «быть может, я приду», которым на первый взгляд представляется затруднительным приписать определенное значение истинности (истинно или ложно). Способ обойти трудность, вытекающую из важности согла-
1.1. Логическое исследование языков 27 сованности или несогласованности некоторой фразы с понятием истинности, состоит во введении понятий высказывания и выжатого высказывания [183]. Под высказыванием подразумевается содержание фразы, отождествленное с множеством ситуаций (возможных миров), в которых эта фраза истинна. В понятии высказывания учитывается тот факт, что одна из важнейших функций естественного языка состоит в ссылке на объекты и ситуации, т.е. в установлении корреляции между любым фрагментом действительности и некоторой фразой. Значение истинности некоторого высказывания зависит не только от отношений, существующих между словами языка, с одной стороны, и объектами данного мира-с другой. Оно зависит также от конкретного состояния этого мира и от знаний, касающихся состояния. Значение истинности фразы «Павел бежит» зависит не только от лица, называемого Павлом, но и от того, что означает глагол «бежать», а также от того момента, когда сформулирована эта фраза. Вероятно, Павлу приходилось бегать, но он наверняка не бежит постоянно. Значение истинности фразы «Петр думает, что Павел бежит» зависит помимо всего прочего и от состояния знаний Петра. Вероятно, Петр иногда ошибается. Если осуществляется перевод с естественного языка, предварительно коррелированного с действительностью, на логический язык, последний автоматически унаследует соответствующую интерпретацию. По крайней мере следует убедиться в полной формализации этого приклеивания ярлыков, например посредством такой формальной семантики, как семантика возможных миров. Анализ истинности, осуществляемый в отношении фраз (формул) логического языка, позволяет рассуждать также и по поводу той действительности, которую он представляет. Рассмотрим различие между высказываниями и выжатыми высказываниями. Отнюдь не всегда необходимо, чтобы некий субъект имел возможность сказать, является ли сформулированная им фраза истинной или ложной относительно определенного состояния действительности. Не следует требовать, чтобы язык выполнял лишь функцию ссылки на действительный или возможный мир. Что касается формализации какого-то естественного языка с помощью некоего логического языка, то при этом требуется достаточная 4*
28 1. Языки и логики выразительность второго для учета всех тонкостей первого. Другими словами, при формализации логических языков надо учитывать не только их функцию отражения взаимосвязи с внешним миром, но и все другие функции, по своей сложности ее превосходящие. Под «выжатым высказыванием» понимается то, что соответствует внутреннему смыслу данного высказывания, независимо ни от каких ссылок на анализ истинности. 1.1.6. Логическая обработка формальных языков Упомянутые в предыдущем разделе трудности, присущие представлению естественных языков посредством логических языков, не обнаруживаются в процессе перевода с формального языка на логический. Это связано в основном с тем, что логика предикатов создавалась с целью представления и изучения математических языков. Логические фразы и выражения из математических текстов не зависят от содержащих их контекстов. Следовательно, в этом случае исчезает одна из узловых проблем, возникшая при представлении естественного языка с помощью логики. А именно, это проблема, связанная с проблемами референции. Исторически одна из целей формулирования математических докладов в логической форме несомненно состояла в стремлении воспользоваться строгостью и точностью логического языка для обоснования и развития некоторых областей математики. Например, именно с такой целью Гёдель формализовал теорию множеств посредством конечного числа формул логики первого порядка [85]. Подлинные мотивы логического представления связаны преимущественно с механизмами автоматического доказательства теорем. В недавней статье Бойера с соавторами предложена переформулировка логических аксиом теории множеств на язык дизъюнктов [23]. Эти дизъюнкты непосредственно применимы в методах доказательства теорем, основанных на методе резолюций. Авторы иллюстрируют выразительные возможности языка дизъюнктов, используя его для формулирования некоторых гипотез теории чисел, например гипотезы Гольдбаха и гипотезы о бесконечности множества простых чисел-близнецов. Кроме
1.1. Логическое исследование языков 29 того, с помощью метода резолюций они доказывают теорему, утверждающую, что композиция двух гомоморфизмов является гомоморфизмом. Упомянем также (относящиеся к тому же кругу идей) многочисленные работы, касающиеся представления элементарных геометрий с использованием логического языка [26], [42], [34], [32], [252]. Большая часть указанных работ посвящена переформулированию евклидовой геометрии на язык хорновских дизъюнктов. Это делает возможным использование языка логического программирования, такого, как Пролог, для автоматического доказательства теорем геометрии. Особого внимания заслуживают работы Ву Венцуна [252]. Среди теорем, доказанных этим автором посредством упомянутых методов, назовем теорему Паскаля, теорему об окружности с девятью точками, теорему Фейербаха, а также гипотезу Тебо (которая доказана лишь в 1983 г.-через сорок лет после ее выдвижения). По мнению некоторых авторов, методы Ву Венцуна являются важным вкладом не только в автоматическое доказательство теорем, но и в саму геометрию [179], [33]. 7.7.7. Заключение Одна из центральных проблем искусственного интеллекта и «композиционной лингвистики» касается представления и исследования естественных и формальных языков средствами логики. В самом деле, естественные и формальные языки образуют главную опору для представления знаний и для рассуждений по поводу знаний. Благодаря языкам логического программирования формальные языки логики предоставляют возможность автоматизировать дедуктивные процессы, сопутствующие формализации рассуждений. Таким образом, перевод с естественных и формальных языков на логический формализм является разновидностью возможного подхода к автоматической обработке знаний. Раздел 1.2 содержит введение в логики, используемые для формализации рассуждений. Стало быть, этот раздел представляет собой продолжение гл. 1 и 4 первого тома.
30 1. Языки и логики 1.2. Модальная логика 7.2.7. Введение Исследователи, которым довелось поработать в области классической логики (логики высказываний и логики предикатов), выяснили непригодность этого формализма для моделирования и решения целого ряда проблем. Изучение этих ограничений подвело к разработке других логических систем, которые обычно называются неклассическими логиками. Существует великое разнообразие неклассических логик. Мы ограничимся изучением тех из них, которые используются в области искусственного интеллекта. Им и посвящена эта книга. Существуют две группы неклассических логик: одни конкурируют с классическими логиками, а другие являются их расширениями. В первой группе находятся многозначные логики [48], [210], частичная логика, интуиционистская логика [66] и нечеткая логика [254]. Во вторую группу входят модальные логики, которые подразделяются на временную, динамическую и другие логики [67]. Эти логики являются расширениями классических логик в том смысле, что их языки и теоремы обобщают языки и теоремы классических логик. Название модальная логика отражает тот факт, что в соответствующих логических системах используются операторы модальности, действующие в высказываниях и формулах. В разд. 1.2.2 и 1.2.13 мы напоминаем синтаксис, семантику и аксиоматику классических логик. Эти два параграфа содержат очень сжатое изложение того материала, которому были посвящены гл. 1 и 2 первого тома. Следующие за этими разделы посвящены определению синтаксиса, семантики и аксиоматики модальных логик, наиболее употребительных в области искусственного интеллекта. 7.2.2. Логика высказываний Логика высказываний изучает предложения (декларативные фразы), которые могут быть либо истинными, либо ложными. Высказывания составляют элементарные фразы логического языка, называемые также атомарными форму-
1.2. Модальная логика 31 лами или атомами. Фразы логического языка получаются рекурсивно на основе высказываний и множества синтаксических правил. Эти фразы называются формулами. Синтаксис • Базис: всякое высказывание является формулой. • Индукционный шаг: если X и Уявляются формулами, то -I X,(X Л У),(X V У),(ХзУ)й(Х= У)суть формулы. • Ограничение: формула однозначно получается с помощью правил, описанных в базисе и индукционном шаге. Этот синтаксис позволяет распознавать формулы среди произвольных соединений символов. Семантика же представляет собой множество законов, которые дают возможность приписывать формулам определенные значения. Уже отмечалось, что высказывание может быть либо истинным, либо ложным. Это подводит к введению семантической области {И, Л} (которая обозначается также {1, 0}). Интерпретация формулы состоит в приписывании ей одного из двух значений истинности: И (истинно) или Л (ложно). Семантика должна быть композиционной: значение некоторой формулы будет функцией значений ее компонент. Точнее, приписываемое формуле значение истинности будет зависеть только от структуры этой формулы и от значений истинности, приписанных составляющим ее высказываниям. Семантика отрицания (""I) и бинарных связок (Л, V, =э, =) приводится ниже. Семантика • Всякое высказывание интерпретируется как истинное или ложное. • Если X является формулой, то ~1Х истинна тогда и только тогда, когда X ложна. • Если X и Уявляются формулами, то: (X Л У) истинна тогда и только тогда, когда X и У истинны; (X V У) истинна тогда и только тогда, когда X или У истинны; (X => У) ложна только в том случае, когда X истинна, а У ложна;
32 1. Языки и логики (X = У) истинна тогда и только тогда, когда X и У либо обе истинны, либо обе ложны. Интерпретация есть функция, которая сопоставляет каждому высказыванию р определенное значение истинности. Эта функция, область определения которой является множеством высказываний, продолжается на множество формул с помощью правил семантики. Соответствующее продолжение тоже называется интерпретацией. Интерпретация, при которой формула истинна, называется моделью (для) этой формулы. Формула называется общезначимой, если она всегда истинна, независимо от значений истинности, приписанных составляющим ее высказываниям. Формула называется выполнимой, если существует хотя бы одна интерпретация, при которой она истинна. Формула, которая не является выполнимой, называется невыполнимой или противоречивой. Формула, не являющаяся ни общезначимой, ни противоречивой, называется нейтральной. Таким образом, множество формул естественным образом разбивается на три подмножества, содержащие соответственно общезначимые, нейтральные и невыполнимые формулы. Общезначимые формулы языка иначе называют тавтологиями. Если А -формула, то запись выражает тот факт, что А является тавтологией. Более общо, если #-множество формул, то запись Е\=А означает, что все интерпретации, обращающие в истинные все формулы из Е, обращают в истинную и формулу А. При этом А называется логическим следствием (из) Е. Существует более старый и более традиционный способ характеризапии понятий общезначимой формулы и логического следствия для формальных языков. Эта характеризация может осуществляться через посредство некой аксиоматической системы или системы натурального вывода. Аксиоматическая система состоит из множества аксиом, т.е. из предложений, рассматриваемых как общезначимые, и множества правил вывода, т.е. из механизмов, позволяющих
1.2. Модальная логика 33 строить (выводить) новые общезначимые предложения из аксиом и уже полученных общезначимых предложений. В таком контексте общезначимые предложения, построенные указанным образом, называются теоремами. Доказательство (вывод) теоремы-это упорядоченный список аксиом, правил вывода и уже известных теорем, позволяющих получить (вывести) данную теорему. Пусть задана некоторая аксиоматическая система. Тогда факт доказуемости (вывода) в ней формулы А записывается как \-А. Более общо, если Е является множеством формул, то выражение Е\-А означает, что А доказуема с использованием формул из Е (выводима из Е); при этом элементы множества Е рассматриваются как дополнительные аксиомы. В таком контексте элементы из Е являются гипотезами. От аксиоматической системы требуется, чтобы она была адекватной в том смысле, что все ее теоремы должны быть общезначимыми формулами. Требуется также и полнота, т. е. взаимность адекватности: всякая общезначимая формула должна быть теоремой. При этих предположениях символы (= и |- являются совершенно эквивалентными. Соответствие между определениями, базирующимися на понятии семантики, и определениями, базирующимися на понятии аксиоматической системы, проиллюстрировано таблицей на рис. 1.1. Упомянем в качестве примера адекватную и полную аксиоматическую систему, содержащую три схемы аксиом (А1 — АЗ) и одно правило вывода (МР). (А\)(Х^(У^Х% (А2) ((X =э (У^ 7)) =э ((X ^У)^(Х^ 2))\ (АЗ) ((-IX ^ "Л У) ^ ((-IX ^ У) ^ X)). Каждый раз, когда в одной из этих схем аксиом X, У и 2, заменяются произвольными формулами, получается тавтология. 5-4465
34 1. Языки и логики Семантические определения Аксиоматические определения Формула общезначима, если она Формула является теоремой, если истинна для всех ее интерпрета- она представляет собой резуль- ций тат доказательства на основе некоторых схем аксиом Формула невыполнима, если она Формула невыполнима, если ее ложна для всех ее интерпрета- отрицание является теоремой ций Формула А является логическим Формула А доказуема на основе следствием некоторого множест- некоторого множества формул ва формул Е, если все интерпре- Е, если она является результатами, при которых истинны все том некоего доказательства на формулы из Е, обращают в ис- основе каких-то схем аксиом и тинную и формулу А формул из множества Е Две формулы логически эквива- Две формулы логически эквивалентны, если они истинны при лентны, если каждая из них до- одних и тех же интерпретациях казуема на основе другой формулы Рис. 1.1. Семантические и аксиоматические определения. (МР) Если X и(Х => У)-теоремы, то У-теорема. Правило вывода (МР) называется тоёш ропет. 1.2.3. Синтаксис и семантика модальной логики В отличие от языка классической логики высказываний в языке модальной логики высказываний используются два дополнительных символа: □ и О. Они называются соответственно модальным оператором общности и модальным оператором существования. Эти операторы воздействуют на формулы логики высказываний, изменяя их смысл. Синтаксис • Все синтаксические правила логики высказываний являются также синтаксическими правилами модальной логики.
1.2. Модальная логика 35 • Если А -формула, то □ А и О А- формулы. На операторы □ и О накладывается соотношение двойственности: ОА = ,е/-1П-1А. (1.1) Эту связь можно рассматривать как определение оператора О через оператор □, так что модальные формулы всегда можно записывать, используя лишь оператор □. Точно так же, как связки логики высказываний могут быть «прочитаны» в естественном языке ("~~1-не, V -или, Л -и, => -если..., то ..., =-тогда и только тогда), модальным операторам □ и О обычно приписывают определенные значения. В действительности каждому из этих операторов можно придать бесконечное множество значений, которые должны попарно соответствовать друг другу согласно соотношению (1.1). Соответствие, существующее между некоторыми прочтениями формул \ЗА и О А, проиллюстрировано таблицей, представленной на рис. 1.2. Определим теперь понятия структуры и модели, которые послужат нам для осуществления семантического анализа модальных формул. Структурой называется пара «^ = (ЩЯ), где \У- непустое множество, а Я-бинарное отношение на множестве Щ т.е. некоторое подмножество из \У х Ж Элементы из IV называются «точками». Трактовки оператора С\А Трактовки оператора <}А Необходимо, чтобы А Возможно, что А Всегда будет истинно, что А Иногда будет истинно, что А Требуется, чтобы А Разрешается, чтобы А Предполагается, что А Противоположное к А не предполагается Известно, что А Противоположное к А неизвестно Любое выполнение программы Существует такое выполнение дает результат А программы, которое дает результат А Рис. 1.2. Словесное выражение модальных операторов.
36 1. Языки и логики Пусть Р- множество атомов (или высказываний) модального языка &. Тогда Р-моделью на структуре (Щ Я) называется тройка Л = {ЩЯ,У\ где К-отображение из Р в 2ТГ1), сопоставляющее каждому высказыванию р из Р подмножество У(р) из Ж Говоря неформально, У(р) интерпретируется как множество точек из Щ в которых высказывание р оказывается истинным. Если контекст не приводит ни к какой двусмысленности, то префикс Р в определении модели опускают и говорят просто о модели. Пусть м>-элемент из IVи А -модальная формула в языке &. Запись М \=„А отражает семантику формулы А и означает, что «А истинна в точке м> в модели М». Эта семантика определяется следующим образом. Семантика ЛГ !=„/>, если меУ(р); М^^А^^ А2, если из М^^А^ следует Л\=„А2\ Л\=„\1]А, если из юЯ1 вытекает, что Л\=ХА для всех г е Ж Последнее правило выражает тот факт, что формула □ А истинна в точке и> модели М, если формула А истинна во всех точках *, находящихся в отношении Я с точкой и>. Эти определения задают базовые семантические отношения. Семантическая оценка2) формул И, ~~\А, О А, (А1У А2), (А1 Л А2) и (А1 = А2) получается из базовых семантических отношений с помощью эквивалентных преобразований, позволяющих записать константу И, оператор О и связки V, Л, = в виде формул, построенных из константы Л, оператора □ и связок ~1 и =>. Например, из соотношений ~~\А = = йе](А => Л) и (1.1) выводятся следующие семантические правила: 1} Так принято обозначать множество всех подмножеств множества IV-Прим. перев. 2) Иное название-семантическое означивание.- Прим. перев.
1.2. Модальная логика 37 М^У)~ЛА, если М^^А', Л\=„ О А, если М\^ХА хотя бы для одного 1е Щ такого, что \нК1. Определив анализ истинности модальных формул посредством семантических правил, можно ввести понятия формулы, истинной в модели, формулы, истинной в структуре, и общезначимой формулы. • Формула А истинна в модели Л, если она истинна во всех точках этой модели, т. е. если М ^= ^ А для всех и> е Ж Это обозначается так: М ^= А. • Формула А истинна в структуре &* = (\У, К), если А истинна в любой модели (Щ К, V), т. е. если Л\=А для всех моделей М = (Щ Я, V). Это обозначается следующим образом: &\= А. • Формула А общезначима, если она истинна во всех структурах (Щ К). Это обозначается так: ^= А. 1.2.4. Примеры и приложения Следующие формулы истинны во всех моделях и, следовательно, истинны во всех структурах: П(А^В)^(ПА^ПВ), 0(А =>В)=> (ОА ^ ОВ), П(ААВ) = (ПАЛПВ), 0(А V В) = (ОА V ОД), □ (А => 0(В => С)) => 0(В => (П А => ОС)). Докажем первую из этих формул. Будет использоваться подход, основанный на методе доказательства от противного. Попытаемся найти модель, в которой эта формула ложна. Импликативная формула ложна только в том случае, когда ее антецедент истинный, а консеквент ложный. Следовательно, требуется отыскать модель, в которой формула □ (А => В) истинна и формула (□ А => □ В) ложна. (В отдельных частях текста вместо символов И и Л мы для удобочитаемости используем слова истинно и ложно.)
38 1. Языки и логики Применяя аналогичные рассуждения к консеквенту исходной формулы, получаем дополнительные ограничения: □ А истинна, □ В ложна. Условие «□ А истинна» влечет условие «А истинна во всех точках», которое, будучи соединенным с условием «□ (А => В) истинна», дает: формула □ В истинна во всех точках. Но это не может иметь места в силу второго ограничения (а именно что □ В ложно). Значит, утверждение доказано. Следующие формулы истинны в некоторых, но не во всех структурах: а а => а, ПА^ППА, 0(А V В)^(ПА V ОВ). В таблице, изображенной на рис. 1.2, были указаны различные «возможные прочтения» модальных формул □ А и О А. Эти разнообразные прочтения лежат в основе разных применений модальной логики. Введем предварительно терминологию семантики возможных миров. Непустое множество Щ фигурирующее в определении модели ([131] и § 1.2.3), называется универсумом. Элементы меЩ первоначально называвшиеся «точками», будут называться теперь возможными мирами универсума. Бинарное отношение К будем называть отношением достижимости. Таким образом, структура состоит из множества IV возможных миров, связанных отношением достижимости К. Если два мира 5 и г принадлежат универсуму Щ то достижимость мира I из мира 5 обозначается так: 8К1. • Логики возможного и необходимого Предполагается, что отношение достижимости К рефлексивно, т. е. л&у справедливо для всех зе\У.. Необходимой истиной в мире 5 называется формула, которая подтверждается во всех мирах г, достижимых из 5. Формула □ А читается так: «А необходимо истинна». Возможной истиной в мире 5 называется формула, которая подтверждается хотя бы в одном из миров, достижимых из 5. Формула О А читается так: «возможно, что А истинна».
1.2. Модальная логика 39 Часто оказывается полезным выделить один из миров универсума в качестве «реального мира». Формула А, которая необходимо истинна в реальном мире, будет истинна и во всех мирах, достижимых из реального мира, а значит, в частности, и в самом реальном мире. Таким образом, формула ал => а истинна в рассматриваемой структуре. Если формула А истинна в реальном мире, то она будет истинной хотя бы в одном из миров, достижимых из реального мира. Значит, формула А => О А истинна в рассматриваемой структуре. Можно вводить различные виды необходимости. Например, логическая необходимость отличается от физической необходимости, в рамках которой формула □ А означает: «А является следствием законов физики». Если г представляет абсолютную температуру, то формула □ (I > — 273) истинна в реальном мире при условии, что □ означает физическую необходимость. В действительности полагают, что законы физики подтверждаются во всех мирах, достижимых из реального мира. Но тем не менее логически возможно, чтобы формула {I > — 273) была ложной. • Временные логики Во временной логике возможные миры представляют состояния некоторого мира в различные моменты его эволюции. Реальным миром является состояние рассматриваемого мира в некоторый исходный момент, принятый за точку отсчета. Отношение достижимости зШ указывает на то, что «I следует за 5». Формула □ А читается так: «во все будущие моменты произойдет А», тогда как формула О А читается: «по крайней мере в один из будущих моментов совершится А». Если отношение достижимости зК1 указывает на то, что «I предшествует л», то формулы \ЗА и О А читаются соответственно «во все прошлые моменты было А» и «по крайней мере в один прошлый момент было А». Для временной логики естественными являются те струк-
40 1. Языки и логики туры (Щ Я\у которых IV- одно из множеств N (натуральные числа), Ъ (целые числа), <2 (рациональные числа) или К (действительные числа), а отношение К совпадает с одним из линейных порядков <, ^, >, ^. Классическим образом времени считается тот, который используется в ньютоновской физике. В ней время рассматривается как «одномерный линейный континуум». Дело дошло до использования в ряде физических теорий нелинейной модели времени, в которой, например, данный момент может иметь многочисленные варианты будущего, не связанные между собой отношением достижимости [211], [86], [239]. • Динамические логики Динамическая логика [193] основана на сопоставлении некоторого модального оператора каждой команде некоего языка программирования. В этом контексте множество IV интерпретируется как совокупность возможных состояний в ходе вычислений. Отношение зЯ1 указывает на то, что вычисления начинаются в состоянии 5 и заканчиваются в состоянии г. Недетерминированная программа может приводить к многочисленным результатам. Формула \ЗА означает тогда, что «все выполнения программы оканчиваются тем, что А истинна». Формула О А означает, что «хотя бы одно выполнение программы оканчивается тем, что А истинна». • Логики веры и знания Если главная функция модальной логики состоит в формализации модальностей «необходимости» и «возможности», то одним из прочих направлений ее преимущественного применения являются моделирование и анализ парадигм «знания» и «веры». С этой целью различные логические системы используют формальные языки, содержащие операторы «веры» и «знания». В рамках логик веры и знания оператор □ принимает соответственно значения «предполагается» и «известно». Двойственный ему оператор О принимает соответственно значения «противоположное не
1.2. Модальная логика 41 предполагается» и «противоположное неизвестно». Эти логики рассматривались в т. 1, гл. 4. Пример интроспективных рассуждений, основанных на этих логиках, будет разобран в разд. 1.3.2. 1.2.5. Бинарные отношения и схемы формул Следующий список содержит перечень интересных свойств, которыми может обладать бинарное отношение Я. 1. Рефлексивность: 2. Симметричность: 3. Репродуктивность: 4. Транзитивность: 5. Евклидовость: 6. Частичная функциональность: 7. Функциональность: 8. Слабая плотность: 9. Слабая связность: 10. Слабая направленность УфДу) УзЧ1{8К1 => 1Кз) УяЭфД*) УзУМи(8К1 Л 1Яи => зЯи) \/ММи(5К1 Л зЯи => 1Яи) \/5\/Ми(5К1 Л зЯи => 1 = и) №\фЯ1) УМ1(зЯ1 => Зи(зЯи Л иЩ) \/ММи(зЯ1 Л зЯи =>1ЯиУ 1 = = и V иЯ1) .: ЧМ№{$К1 Л лДм => Щ1Яо Л мЛ»)) (Обозначение 3! I означает: существует одно и только одно I.) Этому списку свойств соответствует список схем формул. 1. ПА ^А 2. А => □ О А 3. ПА => ОА 4. □ А => □ □ А 5. ОА^ПОА 6. ОЛ => □ А 7. ОЛ = □ А 8. ППЛ^ПЛ 9. П(АЛПВ=>В)У П(ВА ПВ^А) 10. ОПЛ => ПОЛ (Т) (В) (О) (4) (5) (Ь) 6-4465
42 1. Языки и логики Некоторые из приведенных схем формул принимаются в качестве схем аксиом в аксиоматических системах. В скобках справа (около некоторых схем формул) указаны исторические названия соответствующих схем аксиом. Следующая теорема, доказанная в [86], дает точное описание вышеупомянутого соответствия. Теорема 1.1. Если задана структура & = (Щ К), то отношение К тогда и только тогда обладает конкретным из свойств 1 — 10, когда соответствующая схема формул истинна в ЗР'. Теорема 1.1 имеет фундаментальное значение. Именно ею объясняется тот успех, который имела реляционная семантика с тех пор, как ее ввел Крипке [130]. Такие структуры хорошо приспособлены для применений. Кроме того, важные свойства отношения К, входящего в определение модели, отражаются многочисленными модальными схемами. Следует, однако, заметить, что есть и такие достаточно привычные свойства бинарного отношения К, которые не соответствуют общезначимости никакой модальной схемы. Таковы, например, следующие три свойства: Иррефлексивность У$~-|(.уЛу) Антисимметричность Ул V 1(зЯ1 Л 1К$ => 5 = г) Асимметричность V л V 1(8Ш => ~П (1Щ) 1.2.6. Оценки и тавтологии В этом и следующем разделах вводится набор понятий, которые служат для строгого определения классических аксиоматических систем модальной логики. Можно воздержаться от чтения этих двух разделов тем, кого интересует лишь интуитивное восприятие значения и области действия модальных аксиоматических систем. Множество 5/(^4) всех подформул формулы А определяется посредством обычной рекурсии: • Если /7-атом, то 8/(р) = {/?}. • 5/(Л) = {Л}.
1.2. Модальная логика 43 • 5/(А1 => А2) = {А, => А2} и 5/(Ах) и 8/(А2). • 8/(ОА) = {ПА}и5/(А). При заданных модели М, элементе 5 из \У и множестве высказываний Р оценка (функция оценки1)) У8 определяется как отображение из Р в {истинно, ложно}, такое, что У8{р) = истинно, если зе У{р), У8(р) = ложно, если зф У{р). Функция У8: Р -*• {истинно, ложно} дает оценку атомарным формулам (или атомам) множества Р. Эта функция продолжается на множество всех формул, построенных из высказываний, принадлежащих Р, и логических связок (за исключением оператора □) посредством семантических правил логики высказываний (разд. 1.2.2). Таким образом, модель М — (Щ Я, V) на данной структуре служит основой множества {К8:5еЖ} оценок для Р. И наоборот, такое множество определяет модель, для которой функция К задается соотношением У(р) = {зе IV.У8(р) = истинно}. Формула А называется квазиатомарной, если она либо атомарна (т. е. А е Р), либо начинается с символа □ (т. е. если А = □ В, где В-формула). Через Р9 обозначим множество всех квазиатомарных формул. Любую формулу А можно построить из элементов множества Р9 и {Л} и связки =>. Оказывается, что, используя семантическое определение этой связки (т. е. (X =э У) истинна тогда и только тогда, когда X ложна или Уистинна) и оценки квазиатомарных формул У8:РЯ -*• {истинно, ложно}, где зе \У, легко распространить оценки Уа на все формулы А модального языка У?, порожденного множеством Р. Таким способом получаются оценки У8: У -*• {истинно, ложно}. Формула А е У является тавтологией, если У8 (А) = ис- 1) Иное название -функция означивания- Прим. перев. 6*
44 1. Языки и логики тинно для всех оценок У8 ее квазиатомарных подформул. Можно доказать, что всякая модальная тавтология получается из подходящей тавтологии логики высказьюании (т.е. некоторой тавтологии, не содержащей оператора □) путем одновременной подстановки в нее соответствуюпщх формул. Например, модальная тавтология (П{р => Пд) => П"Пг) => (-1П1Г => 1П(Р => П?)) может быть получена из следующей тавтологии логики высказываний: {р^^)^(-^^^—[р). Подходящая подстановка такова: р заменяется на □ {р => □ а\ а ц заменяется на □ "Иг. 1.2.7. Логики При наличии языка «5?, основанного на множестве атомов Р, логика (или теория) Л определяется как подмножество формул, порожденных на основе Р и удовлетворяющим следующим условиям: • Л содержит все тавтологии; • если А и А => В -элементы из Л, то В -элемент из Л; • если А - элемент из Л, то всякая формула А', получаемая из А одновременной подстановкой в нее формул вместо атомов, тоже является элементом из Л. Двумя примерами логик служат сам язык Л? и все тавтологии из У. Элементы логики называются теоремами. Будем писать Н- л А для обозначения того факта, что формула А есть теорема логики Л. Таким образом, имеем эквивалентность \~аАоАеА. Пусть #-модель или структура. Тогда логика Л называется адекватной по отношению к #, если любая теорема А из Л является формулой, истинной в #, т. е. если имеем 1-лл=>#нл.
1.2. Модальная логика 45 Логика Л называется полной по отношению к #, если каждая формула А, истинная в #, является теоремой логики Л, т. е. если справедливо соотношение #[= А=>\-АА. Логика Л называется детерминированной посредством #, если она одновременно адекватна и полна по отношению к #, т. е. если \-ААо<$Ъ=А. Логика Л нормальна, если она содержит схему формулы К:П(А^В)^(ПА^ПВ\ и снабжена модальным правилом вывода необходимости: Приведенное правило утверждает, что если А-теорема логики Л, то и □ А -теорема из Л. Это можно записать так: А\-АПА. Если {Л; | /е/ } -какое-либо множество нормальных логик, то их пересечение п{\\1е1} является нормальной логикой. В частности, логика К, определенная соотношением К = п {Л41 Л,- есть нормальная логика}, т.е. пересечение всех нормальных логик есть наименьшая нормальная логика. Следующая теорема, доказанная в [86], показывает важность этой «минимальной» логики. Теорема 1.2. Формула А является теоремой логики К тогда и только тогда, когда А общезначима (т. е. истинна во всех структурах). Следующие отношения выполняются в любой нормальной логике: ьЛл =>д=>1-лпл з ив и \-аоа^ов, у-аа = д=>1-лпл = ив и \-аоа = ов,
46 1. Языки и логики \-\ПЛ Л ПВ=П(А Л В), \-А0(А V В)= ОА V ОД \-апа\/пв^п(а\/ в\ НЛ 0(А Л В) => ОА Л ОА 7.2.8. Аксиоматические системы Аксиоматическая система (для) нормальной логики состоит из трех следующих элементов: • Некоторая аксиоматическая система логики высказываний. • Схема аксиом О (А => В) => (О А => □!?), обозначаемая К. • Модальное правило вывода необходимости. Обычно принято представлять наименьшую нормальную логику, содержащую схемы Х15 ... , Хп, с помощью обозначения А = ХЕ1...2„. Эта логика определяется так: Л = п {Л; | Л; нормальна и Ххи ... иХп с Л,}. Классическими обозначениями для некоторых схем являются следующие: И: ПА => ОА, Т: ПА^А, 4: ПА^ППЛ, В: А^ПОЛ, 5: ОА^ПОА, Ь: П((А Л ПА) => 5) V ЩД Л ПД) => Л), Ж:- П(ПЛ=>Л)=> ПЛ. Для некоторых широко используемых логик применяются такие обозначения: 54: КТ4, 55: КТ45.
1.2. Модальная логика 47 Теорема 1.3. Формула А является теоремой логики КТ тогда и только тогда, когда А истинна во всех структурах, в которых К рефлексивно. Теорема 1.4. Формула А является теоремой логики 84 тогда и только тогда, когда А истинна во всех структурах, в которых Я рефлексивно и транзитивно. Теорема 1.5. Формула А является теоремой логики 55 тогда и только тогда, когда А истинна во всех структурах, в которых К рефлексивно, транзитивно и евклидово (т.е. К - отношение эквивалентности). Теоремы 1.3-1.5 (а также аналогичные теоремы, ориентированные на теорию доказательств в других логиках) можно обосновать с использованием следующей леммы (доказываемой, например, в [86]). Лемма 1.6. Если нормальная логика А содержит какую-либо из схем 1-10 разд. 1.2.5, то существует отношение ЯА (называемое каноническим для А), обладающее соответствующим свойством из разд. 1.2.5. В т. 1, гл. 4 была показана важность логик КТ, 54 и 55 в рамках формализации систем знания и веры, при которой модальный оператор □ принимал соответственно значения «известно» и «предполагается». По определению знание есть истинная информация. Таким образом, схема Т требует, чтобы «то, что известно, является истинным». Эта схема будет добавлена к нормальной логике, если хочется, чтобы оператор □ означал «известно». Напротив, схема Т не будет фигурировать в системе аксиом, формализующих веру. Причина здесь в том, что вера иногда может быть ошибочной. Если модальный оператор □ означает «предполагается», то схема 4 гласит: «если я верю, что А подтверждается, то я верю, что я верю, что А подтверждается». Описанная схемой 4 способность к позитивной интроспекции необходима для формализации совершенного интроспективного интеллекта. Схема 5 формализует совершенную негативную интроспекцию. Эта схема означает: «если я не верю, что А подтверждается, то
48 1. Языки и логики я верю, что я не верю, что А подтверждается». Этим свойством выражено совершенное знание наших пределов веры. Аксиоматические системы для логик К Т, 54 и 55 получаются добавлением соответственно схем Т, 4 и 5 в качестве схем аксиом к аксиоматической системе нормальной логики. Выбор модальной системы зависит от моделируемого понятия. Если нужно охарактеризовать знания некоего разумного субъекта, обладающего совершенной способностью к логической интроспекции по поводу того, что «известно» и что «неизвестно», то выбирают модальную систему 55. Если же надо моделировать предположения некоторого идеально разумного субъекта (т.е. такого субъекта, кое-какие предположения которого могут оказаться ошибочными, но который тем не менее обладает совершенной способностью к логической интроспекции относительно того, во что он верит и во что не верит), то будет выбрана система К 45. Ее называют также слабой 55 системой. Каждая из этих различных модальных систем индуцирует синтаксическое отношение выводимости, которое ей свойственно. Оно обозначается символом Н5, где 5-название рассматриваемой модальной системы. 7.2.5. Мультимодальные языки Существуют и такие языки, которые содержат достаточно большой набор модальных операторов. При этом используют совокупность символов {[/]|/е/}, сопоставляя каждый ее элемент некоторому оператору общности. Оператор существования, двойственный оператору [/], обозначается символом <7> и определяется как выражение вида "н [/] "н • Если в логике более одного модального оператора (общности), то она называется мулыпимодальной. Синтаксис • Все синтаксические правила логики высказываний являются также синтаксическими правилами мультимо- дальной логики. • Если А -формула, то \_(]А и (С) А -формулы. Структура &* для модального языка определяется следую-
1.2. Модальная логика 49 щим образом: ^ = (ВД|/е/}), где Ж-непустое множество и {Л,}-набор бинарных отношений ]?,.с^х Ж Модель М = {&, V) на структуре & определяется, как и прежде, через отображение V из Р в 2Ж, где Р означает множество атомов данного языка. Семантика мультимодального языка определяется почти так же, как в разд. 1.2.3. Отличие состоит в том, что последнее из приводимых там правил заменяется нижеследующим множеством правил (где /е/). Семантика Л\=а[(]А, если для всякого ^е^из 8Кг1 следует Л\=% А. Определения формулы (А), истинной в модели (М |= А), истинной в структуре (& \= А) и общезначимой (|= А), остаются неизменными. К тому же логика Л опять-таки определяется как подмножество мультимодального языка. Оно содержит все тавтологии и замкнуто относительно правил тоёш ропепз и одновременной подстановки. Логика Л называется нормальной, если она содержит схемы теорем К1:М(А^В)^(МА^ЫВ) и если ей приданы правила необходимости Ьл^ЬЛ[/]Л (для всех /еТ). Наименьшая нормальная логика обозначается через К^ 1.2.10. Временная логика Язык временной логики, рассматриваемой в этом параграфе, получается из языка классической логики высказываний путем добавления двух модальных операторов. А именно, операторов [Е] и [77], означающих соответственно «всегда в будущем» и «всегда в прошлом». Им отвечают модальные операторы существования {Б} и <77>, которые соответственно значат «иногда в будущем» и «иногда в прошлом». 7-4465
50 1. Языки и логики Структура для этого языка имеет вид (Щ ЯБ, Яп). Если ^-модель, то М\=3\Б\А, если из зЯБ1 следует М^ХА для всех 1еЩ Л^\=&1ЩА, если из зЯп1 следует М\=ХА для всех Свойства зЯБ1 и зЯп1 интерпретируются соответственно как «г находится в будущем относительно 5» и «I находится в прошлом относительно 5». Очевидно, требуется, чтобы I было в прошлом относительно 5 в том и только том случае, когда 5 находится в будущем относительно *, т. е. 8Кп1о1КБ8. (Таким образом, отношения Яп и ЯБ взаимно обратны.) При заданной структуре & = (Щ ЯБ, Яп) можно доказать следующие утверждения: • У \= А => [Б] <Я> А о УлУ ф7^* => 1КП8). • & \= А => [77](Б) Ао\/М1(5Кп1 => 1КБз). • Если нормальная логика Л содержит схему теорем А^1Щ(Б)А, то канонические отношения 7?^ и 7?^ обладают свойством • Если нормальная логика Л содержит схему теорем А^1Б](П)А, то канонические отношения обладают свойством Эти предложения формализуют следующие факты. • Если формула А истинна в настоящем, то существует такое прошлое, относительно которого А истинна в будущем. • Если формула А истинна в настоящем, то существует такое будущее, относительно которого А истинна в прошлом.. Как уже отмечалось, отношения ЯБ и Яп можно определить одно через другое. Таким образом, можно с равным успехом
1.2. Модальная логика 51 выбрать одно из этих отношений в качестве первичного1} и использовать структуры ^ = (Щ Я), где Я а IV х IVи Л\=а[Б]Ао(5Я1=>Л\=гА), Л\=а[ЩАо(1Яз=>Л\=гА). Если на отношение Я не наложено никаких ограничений, то получается нормальная временная логика. Аксиоматическая система нормальной временной логики состоит из трех следующих частей. • Аксиоматическая система классической логики высказываний. • Схемы аксиом КБ: 1Е](А^В)^(1Е]А^1В]В), Кп: 1Л](А^В)^(1ЩА^1ЩВ), СБ: А^1В](П)А, Сп: А^1Щ(Б)А. • Правила вывода необходимости А\-[Б]А, А\-[ЩА. Следовательно, нормальная временная логика является нормальной логикой с языком операторов [Е] и [77]. Наименьшая нормальная временная логика обозначается через Кг. Все остальные временные логики получаются из некоторой нормальной логики наложением ограничений на отношение Я. Наложение тех или иных ограничений на отношение Я определяет выбор тех схем (формул), которые следует присоединить к нормальной аксиоматической системе. Отношение Я называется линейным слева, если УМУи((/Ди Л зЯи) => 1Яз V I = з V зЯ1). Это свойство означает, что если I предшествует и и 5 предшествует и, то либо I предшествует з, либо I совпадает с 5, либо 5 предшествует I. Налагая на отношение Я условия Обозначив его просто К-Прим. перев. 7*
52 1. Языки и логики линейности слева и транзитивности (т. е. свойство 4 из разд. 1.2.5), приходим к понятию «древовидного времени»1*. По- английски это называется «ЬгапсЫп^ шпе». Рассмотрим последовательность событий Е19 Е2, ЕА. Можно допустить, что эта последовательность является некоторой чередой событий среди множества других физически возможных последовательностей. Например, в это множество может входить последовательность Е19 Е3, Е5. Это множество последовательностей можно представить диаграммой, изображенной на рис. 1.3. Основная идея «древовидности вре- О О Еч Е\ Рис. 1.3. Последовательности во временной древовидной структуре. мени» состоит в том, что каждому событию Е{ непосредственно предшествует единственное событие (прошлое однозначно), но непосредственно за ним может следовать много событий (будущее многозначно). Для обеспечения свойства транзитивности отношения К в аксиоматическую систему временной логики надо ввести следующие две схемы аксиом: [77] Л^ [77] [77] Л. Свойство линейности слева описывается нижеприводимой схемой аксиом: Иное название -«ветвящееся время».-Прим. перев.
1.2. Модальная логика 53 ([77](А V В) Л [77](Л V [77]5) Л [77] ^[77] А V 5)) э =э ([77] Л V [77] 5). Используя оператор существования <77>, эту схему можно записать в иной (эквивалентной) форме: «Я> А Л (П)В) => «77>(Л Л Д) V <77>(Л Л <Я> Д) V У<Я>(7?Л<Я>Л)). Полученная схема аксиом формализует следующий факт: если события А и В осуществились в прошлом, то либо они реализовались одновременно, либо А предшествовало В, либо В предшествовало А. Таким образом, мы видим, что аксиоматическую систему временной логики, формализующей понятие «древовидного времени», можно построить посредством добавления трех предыдущих схем аксиом к аксиоматической системе минимальной временной логики Кг Полученная в результате этого логика обозначается Къ^\ Это логика полна [211]. В большинстве физических и механических приложений (классического толка) время является линейным: уникально не только прошлое (как в случае «ветвящегося времени»), но и будущее. Тогда отношение 7? должно обладать свойством линейности: УЛЛфЛ* V 8=14 1Кз). (Отношение 7? называется линейным, если оно линейно одновременно и справа, и слева). Итак, аксиоматическая система для линейного времени строится из аксиоматической системы для логики Кь присоединением схемы аксиом ([Б](А У В) А [Б](А V [Б]В) Л [Б]([Б] А V В)) => Полученная при этом логика обозначается Кг. Можно доказать, что эта логика полна [211]. Приведенное определение логики Кг оставляет непроясненными многие фундаментальные вопросы, касающиеся феномена времени. Имеет ли время начало и конец? Всегда ли между двумя различными моментами времени существует От английского ЪгапсЫп§.-Я/иш. перев.
54 1. Языки и логики еще один момент? Является ли время непрерывным (подобно множеству действительных чисел)? Прежде всего, если время не имеет ни начала, ни конца, то оно должно обладать свойством репродуктивности, т. е. УяЭф/И) и \/з31(1Щ. Обобщение временной логики Кг, которое включает это свойство, обозначается К8. Аксиоматизация Ка получается присоединением к схемам логики Кг двух следующих схем: 1Е]А^(Б)А, Всегда ли между двумя моментами существует еще один? Утвердительный ответ на этот вопрос приводит к такому пониманию структуры времени, которое уподобляет его множеству рациональных чисел. Говорят при этом, что время является «плотным». Свойство плотности описывается формулой У5У/Зи(5/г/ => (зЯи Л иЯ1)). Плотность времени выражается схемами аксиом 1Б]1Б]А=>1Б]А, [77] [77] А =э [77] А. Связь, существующую между понятием плотности и первой из этих аксиом, можно пояснить следующим образом. Будем рассуждать в соответствии с формулой (Б) А => <7>> <7>> А, которая эквивалентна первой схеме. Если {В} А истинна в момент времени I, то найдется момент *', в будущем относительно *, в который А истинна. Кроме того, если время плотно, то имеется момент *", расположенный между I и ^, в который (Б) А истинна. Следовательно, (Б) (Б) А истинна в момент I. Логика плотного времени обозначается Ки. В противоположность свойству плотности можно потребовать дискретности времени. При этом множество моментов времени изоморфно множеству целых чисел. Эта дискретность времени требует введения в аксиоматическую систему более сложных схем, таких, как
1.2. Модальная логика 55 иЦЩА^А)^ЦЕ]А^1ЩА\ где О А определяется в виде [Б~\ А Л \_ГГ\А Л А. Цель этого параграфа состояла в том, чтобы представить основные понятия (синтаксис, семантику, аксиоматику) некоторых из наиболее широко используемых временных логик. Более подробное изложение временных логик и их применение в искусственном интеллекте будут даны в гл. 4. 1.2.11. Динамическая логика Язык динамической логики является мультимодальным языком, который каждой команде а некоторого языка программирования сопоставляет модальный оператор [а]. При этом формула [а] А означает «после каждого завершения выполнения команды а формула А истинна». Двойственная формула <а)Л означает «имеется хотя бы одно выполнение команды, которое заканчивается превращением формулы А в истинную». Этот тип модального оператора позволяет построить теорию, формализующую свойства составных программ с помощью модальных операторов и элементарных программ (называемых также «атомарными программами»). По сравнению с изученными прежде логическими языками язык динамической логики использует множество дополнительных основных символов а, которые представляют элементарные программы. Пусть через П обозначено множество элементарных программ, а через Р- множество высказываний данного языка. Синтаксис • Все синтаксические правила мультимодальной логики являются также синтаксическими правилами динамической логики. Модальные операторы суть [а] и <а>, где а-некоторая программа. • Синтаксис программ. - Базис: любая атомарная программа является программой. - Индукционный шаг: если а, а1 и а2-программы и А -логическая формула, то (ах; а2), (ах и а2), а* и А1
56 1. Языки и логики тоже являются программами. - Ограничение: программа получается только с помощью правил, описанных в базисе и индукционном шаге. Операции над программами интерпретируются следующим образом: Программа Значение [а] А А истинна после а ах; а2 выполнить ах и затем а2 а1 и а2 выполнить либо а15 либо а2 (недетерминированность) а* выполнить а конечное число раз А1 тестировать А: если А истинна, то продолжать, иначе прервать Эти элементарные операции позволяют определить классические инструкции языков программирования: КЛЛепаекер = <,в/(Л?; а)и(п А1\ р) МШеЛёоа = Ш(А1\ а)*;-| А1 гереа^аипШЛ = ае/а;(—\ А1; а)* Моделью М для языка динамической логики называется тройка Л.=(Щ{Яа\аеТ1},П где Ка - бинарное отношение на У/ и V- отображение из Р в 2Ж. Семантика Л\=8[а]А, если зКа1 влечет Л\=гА. Очевидно, бинарное отношение Ла должно отражать значения программ а. Модель М называется стандартной, если соответствующее бинарное отношение удовлетворяет следующим условиям: *а;Р ={(М)|Эи(*ЛаИЛиДрОЬ
1.2. Модальная логика 57 /?а* = (/?а)* (рефлексивное и транзитивное замыкание отношения /?„), ЯА1 ={(5,5)\Л\=аА}- Рассмотрим наименьшую нормальную логику, содержащую следующие схемы аксиом. Аксиомы [а;р;м =[а]»]^, [аир]^1 = [а]Л Л [р]Л, 1А1-\В = (А^В), [а*] Л ^ (Л Л [а] [а*] Л), [а*] (А => [а] А)=>(А=> [а*] А). Можно доказать, что эта логика определена классом стандартных моделей [86]. 1.2.12. Логики веры и знания Очевидно, что логики, предметом исследования которых являются предположения или знания многих субъектов, суть мультимодальные логики. Формула [1]А означает: «1-й субъект верит, что А» или «1-й субъект знает, что А». В разд. 1.3.2 будет разобран пример интроспективных рассуждений, базирующихся на таких логиках. 1.2.13. Логика предикатов (первого порядка) Напомним теперь основные понятия логики предикатов, которые подробно излагались в т. 1, гл. 1 и 2. Прежде всего нужно определить атомы логики предикатов (вполне аналогично тому, как это делалось для логики высказываний). Атомы этой логики составлены из символов четырех видов: • переменные (обозначаемые х, у, г и т. д.); • индивидные константы (обозначаемые а, Ь, с и т. д.); 8-4465
58 1. Языки и логики • функциональные константы или имена функций (обозначаемые/, д, Н и т.д.); • предикатные константы или имена предикатов (обозначаемые Р, б, Я и т. д.). Индивидные, функциональные и предикатные константы являются нелогическими константами языка. Эти основные символы используются при формировании следующих четырех понятий. • Терм есть переменная или функциональная форма. • Функциональная форма -это функциональная константа, соединенная с подходящим числом термов. Если / является функциональной «-местной константой и *!,..., 1п-термы, то соответствующая форма обычно обозначается через/(*19..., *„)• Если п = 0, то функциональная форма /( )-индивидная константа. • Предикатной формой называется-предикатная константа, соединенная с подходящим числом термов. Если Р является предикатной т-местной константой и *1> •••' гт~термы, то соответствующая форма обычно обозначается через Р(1^ ..., О- При т = О предикатная форма Р( ) обозначается через Р и называется высказыванием. • Атомом является предикатная форма или некоторое равенство, т. е. выражение вида (5 = г\ где 5 и г-термы. Слова «функция» и «предикат» иногда используются соответственно вместо выражений «функциональная форма» и «предикатная форма». Формулы логического языка строятся по индукции из атомов в соответствии с некоторым множеством синтаксических правил. В этих синтаксических правилах используются связки —I, V, Л, =>, = из логики высказываний и еще два символа V и 3, которые называются соответственно квантором общности и квантором существования. Названные связки и кванторы являются логическими константами языка. Если лс-переменная, то V* читается «для всех х» и Зх читается «хотя бы для одного х».
1.2. Модальная логика 59 Синтаксис • Базис: любой атом является формулой. • Индукционный шаг: если X и У-формулы и лс-переменная, то -1 X, (X Л У), (X V У), (X => У), (X = У), Ух* и ЗхУ- формулы. • Ограничение: формула получается только с помощью правил, описанных в базисе и индукционном шаге. Формулы исчисления предикатов (как и формулы исчисления высказываний) могут быть проинтерпретированы, т. е. могут получить некоторые значения истинности. Однако составные части формулы исчисления предикатов являются не только подформулами, но и термами. Поэтому необходимо интерпретировать еще и термы. Интуитивно терм означает объект. Таким образом, интерпретация должна указывать множество объектов, называемое областью интерпретации. Точнее, интерпретация I есть тройка (5,1С, /Д где: • 5-непустое множество (область интерпретации). • 1С~функция, сопоставляющая каждой л-местной функциональной константе/ функцию 1С(/) из 5П в 5. Она также каждой т-местной предикатной константе ставит в соответствие функцию 1С(Р) из 5т в {И, Л}. • /ю- функция, сопоставляющая каждой переменной некий элемент из 5. Осталось ввести одно обозначение, которое послужит для интерпретации двух видов квантифицированных формул. Если /-некоторая интерпретация с областью 57, лс-переменная и </-элемент из 5/5 то 1х/а означает такую интерпретацию 3, что 5, = 57, Зс = 1С, 7у(х) = а1 и 7У(» = 1„{у) для всех переменных у, отличных от х. Теперь для каждой интерпретации / = (5,1С, /у) можно задать такие правила интерпретации, которые каждой формуле А сопоставляют значение истинности 1(А) и каждому терму г сопоставляют элемент 1(1) из 5. Эти правила интерпретации образуют семантику языка логики предикатов. 8*
60 1. Языки и логики Семантика • Если лс-переменная, то 1(х) = йе;1„(х). • Если /-функциональная «-местная константа и *!,..., *й-термы, то Щ^, ... , О) = *Л(/Ж'Д ••• ..,/(0). • Если Р-предикатная т-местная константа и *х,..., гт- термы, то /(Р(^,..., О) = л//сО(^Д ••• > ДО)- • Если 5 и Г-термы, то 7(5 = I) есть И, если /($) = 1(г\ в противном случае это будет Л. • Если А и 5-формулы, то —\ А,(А Л В), (А V В), (А => В) и (А = В) интерпретируются так же, как в исчислении высказываний. • Если А -формула и лс-переменная, то 1(УхА) есть И, если 1х/л(А) есть И для всех элементов а1 из 5. • Если А -формула и лс-переменная, то 1(3хА) есть И, если 1х/а(А) есть И хотя бы для одного элемента а1 из 5. Формула А исчисления предикатов называется истинной при интерпретации I, если 1(А) = И. Понятия общезначимой, выполнимой, невыполнимой формул, тавтологии, логического следствия и модели для формулы, теоремы, доказательства, правила вывода, аксиоматической системы, которые были введены в контексте логики высказываний, таким же образом определяются и в логике предикатов. Аксиоматическую систему, описанную в разд. 1.2.2, можно приспособить к исчислению предикатов без равенства. Схемы аксиом (А\), (А2), (АЗ) и правило (МР) (т.е. тоёш ропепз) остаются без изменений. Дополнительные две схемы и одно правило вывода (О) (т.е. правило обобщения) позволяют манипулировать с кванторами. Прежде всего введем одно сокращение, которое будет использоваться при записи схем. Говорят, что терм I свободен для переменной х в формуле б, если ни х, ни произвольная переменная из I не квалифицированы в 6. При этом через 0,х/( обозначается формула, полученная из 6 путем одновременной замены всех вхождений х на I.
1.2. Модальная логика 61 Аксиоматическая система (А2) ((Р з(бэ Я)) =э ((Р ^ <2) ^ (Р ^ К))\ (^з)((-1Р=>-1е)=>((-1Р=>е)=>р)х (Л4) Ух(Р^0^(Р^У*е) (х не содержится вРине является связанной в"б). {А 5) (У*б => бх/г) (х свободна для I в 0. (МР)Если 1и(1з У)-теоремы, то У-теорема. (О) Если Р- теорема и лс не связана в Р, то У хР - теорема. В этом контексте квантор существования не вводился потому, что формула ЗхА считается сокращением для -I V* -1 А. 1.2.14. Модель логики первого порядка Семантика, определенная в предыдущем параграфе, базируется на понятии интерпретации. Семантические правила заимствованы из теории логики предикатов, изложенной в т. 1, разд. 1.2. Можно также определить семантику, опираясь на понятие модели. Оба этих определения эквивалентны. Они отличаются лишь видами используемых словарей и обозначениями. Поскольку семантика модальной логики обычно определяется на основе понятия модели, полезно также развить такой же подход в теории предикатов первого порядка без равенства. Логикой первого порядка (или теорией первого порядка) называется логика (т. е. множество формул), основанная на исчислении предикатов. Правила интерпретации из разд. 1.2.13 определяют семантику языка предикатов. Эти правила базируются на интерпретации /, заданной как тройка (5,1С, /у), где 5-непустое множество элементов (т. е. область интерпретации), ^-функция (т.е. оценка), которая приписывает определенные значения предикатным и функциональным константам, /у -функция (назначения), которая каждой индивидной переменной ставит в соответствие некий элемент из 5. Моделью М логики первого порядка У? (без равенства) называется пара (5, V), где 5-область интерпретации и К-функция, совпадающая с функцией 1С интерпретации /. Роль функции К состоит в том, чтобы интерпретировать функцио-
62 1. Языки и логики нальные и предикатные константы языка в терминах элементов области 5. Определение семантики в рамках этой модели требует еще и определения некой функции, которая присваивает значения переменным языка. Эта функция обозначается через д. Она соответствует функции /у интерпретации /. (Следует заметить, что функция присваивания д не является частью модели М. Эта функция никоим образом не входит в способ интерпретации основных констант языка.) Семантика формул из У! описывается с помощью обозначения которое означает «А истинна в модели М для присваивания д». Если а-выражение из &, то через [а]*^'61 будет обозначаться семантическое значение выражения а в модели М для присваивания д. Таким образом, имеем следующие эквивалентные обозначения для любой формулы А из логики У!\ Л\=дАоЩ-*>е=1, 1(А)= 1о[^»= 1. Семантика • Если лс-переменная, то [лс]**^ = йе^д(х\ • Если / является «-местной функциональной константой И *!,..., *„-ТерМЫ, ТО [Д*!, ... , О]"*' = йеГ • Если Р является «-местной предикатной константой и *!,..., гп-термы, то \Р(!ь ..., О]-*»' = йе1 • Л\=дР(119 ..., О тогда и только тогда, когда \Р{1^ ... ... , ?Л'**в истинна. • М1=^ -I А тогда и только тогда, когда М \^дА. • М\=дА Л В тогда и только тогда, когда М\=дА и л\=дв. • (Аналогично для формул А У В, А => В и А — В.) • М \=дМхА тогда и только тогда, когда М \=д>А для всех присваиваний д', которые отличаются от присваивания д только сопоставлением значения переменной х.
1.2 Модальная логика 63 Формула А общезначима тогда и только тогда, когда Л\=дА для всех моделей Л и всех присваиваний д. 1.2.15. Модальная логика предикатов В разд. 1.2.3-1.2.8 были представлены модальные логики высказываний. Область модальных операторов □ и О-это высказывания, значение истинности которых зависит не только от самого сформулированного высказывания, но также, например, и от момента формулирования этого высказывания. Займемся теперь изучением действия модальных операторов на предикатные формы, значения истинности которых суть функции от значений, принимаемых их составляющими. Если составляющие-индивидные переменные, то они обычно будут находиться в области действия квантора общности или существования. Переменная х принимает значения из вполне определенной области, и квантификации Ух и Зх означают соответственно: «для любого значения из данной области» и «хотя бы для одного значения из данной области». Первоочередная задача модальной логики предикатов состоит в том, чтобы четко очертить упомянутую область. При этом универсум \У возможных миров (разд. 1.2.3) вводит дополнительную степень свободы, которую надо будет учесть при определении области значений переменных, входящих в составляющие части предикатов. Из наиболее очевидных определений такой области можно назвать следующие. 1. Множество Гг всех элементов, существующих в реальном мире. 2. Множество Г5 всех элементов, существующих в некотором мире 5 универсума Ж 3. Множество Г всех элементов, существующих в произвольном мире (т. е. Г = II Г5). неУУ Кванторы общности и существования, отвечающие этим областям, определяются следующим образом:
64 1. Языки и логики 1. Угх означает «для всех х в реальном мире»; Згх означает «хотя бы для одного х в реальном мире». 2. Уах означает «для всех х в мире з»; 38х означает «хотя бы для одного х в мире 5». 3. V** означает «для всех х»; 3*л: означает «хотя бы для одного х». Например, если в различных возможных мирах задать временную интерпретацию, то формулу Ух(Человек (х) => Смертен(х)) можно интерпретировать тремя следующими различными способами-в соответствии с тем, какое определение дано квантору V: 1. Все ныне живущие люди смертны. 2. Все люди, жившие в определенную эпоху, смертны. 3. Все люди смертны. Третья интерпретация может принять более ограничительное значение при переходе к временной логике прошлого или будущего: 3'. Все люди, жившие до настоящего момента, смертны. 3". Все люди, которые будут жить после настоящего момента, смертны. Существует особая форма модальных операторов, которая позволяет легко включить их в формализм логики предикатов. Введем выражение №а(р% означающее: «высказывание р истинно в мире 5». Оно позволяет определить модальные операторы □ и О следующим образом: □/> = У5И5(р), Ор = 1Ж8{р). Эти определения применимы непосредственно в контексте логики предикатов. Символ р, который ранее обозначал высказывание, здесь может обозначать, вообще говоря, предикатную форму. (Заметим, что мы уже вышли за пределы логики первого порядка.) В модальной логике предикатов должна иметься возмож-
1.2. Модальная логика 65 ность построения каждой из следующих восьми формул (для каждой из них приводится квантифицированная версия модальных операторов): 1. ПУхА(х) = \/та(УхА(х)) 2. V* □ А (х) = УхУяИДЛ (*)) 3. Зх\ЗА(х) = Зх\/5Ма(А(х)) 4. П1хА(х) = У5Иа(1хА(х)) 5. ОУхА(х) = ЗЖ8(УхА(х)) 6. УхОА(х) = Ух1Жа(А(х)) 7. <ЯхА(х) = ЗзИа(1хА(х)) 8. ЭхОЛ(л:) = ЗхЗЖа(А(х)) Предположим, что выполняются следующие эквивалентности: И8(УхА(х)) ее УхИ,(Л(х)), (1.2) И5(Э*Л(х)) = Э*И5(Л(х)). (1.3) С помощью этих эквивалентностей из формул 1-8, выписанных выше, выводятся следующие соотношения: ПУхА(х) = ЧхПА(х), 0\/хА(х) =>\/хОА(х), <ЯхА(х) =ЗхОА(х), Зх\ЗА(х) => \ЗЗхА(х). Однако эквивалентности (1.2) и (1.3) выполняются не всегда; все зависит от той интерпретации, которая выбрана цля кванторов V и 3. Например, можно принять интерпретацию Углс, т. е. «для всех х в реальном мире». Беря некоторый конкретный предикат А(х), получаем такую последовательность интерпретаций: • А(х): если лс-человек, то х смертен. • УгхА(х): все ныне живущие люди смертны. • И5(Угл: А (х)): «все ныне живущие люди смертны» истинно в момент времени 5. • Иа(А(х)): «если лс-человек, то х смертен» истинно в момент времени 5. • \/гх(И.а(А(х))): для всех ныне живущих людей истинно, что человек смертен в момент времени 5. Н4465
66 1. Языки и логики Формула №8(УгхА(х)) утверждает, таким образом, что «в момент времени 5 все люди смертны». Вместе с тем формула Vгх(И8(А(х))) гласит, что «все ныне живущие люди смертны в момент времени 5». Значит, мы имеем два различных по смыслу утверждения. Следовательно, эквивалентности (1.2) и (1.3) для интерпретаций Уг и Зг не верны. Доказательство некорректности формул (1.2) и (1.3) можно найти в [211]. Очевидно, что приведенное замечание об общезначимости соотношений (1.2) и (1.3) порождает вопрос об условиях общезначимости формул Баркан СвхА(х) => ЗхОА(х), УхП А(х) => ПУхЛ(х), (1.4) входящих в ряд аксиоматических систем модальной логики предикатов. Прокомментируем первую из этих формул. Например, допустим, что формула А(х) представляет фразу «кто-то пришел». В этом случае формула <ЯхА(х) означает: «возможно, что кто-то пришел», причем существование этого «кого-то» и его приход представляются проблематичными. В то же время формула Зх О А (х) означает: «существует кто-то, кто, может быть, придет». Следовательно, здесь существование этого «кого-то» гарантируется и проблематичен лишь его приход. Синтаксис модальной логики предикатов и аксиоматическая система для этой логики определяются следующим образом. Синтаксис • Все синтаксические правила обычной логики предикатов являются также синтаксическими правилами модальной логики предикатов. • Если А -формула, то \ЗА и ОА-формулы. Аксиоматическая система • Схемы аксиом обычной логики предикатов. • Схемы модальных аксиом, иногда включающие схемы Баркан. • Правила вывода логики предикатов. • Модальное правило вывода необходимости, к которому иногда добавляются специальные правила для формализации некоторых видов рассуждений. Например,
1.2. Модальная логика 67 немонотонное правило вывода «нельзя вывести —\р» Ь Ор присоединяют для моделирования «веры» (том 1, § 4.5.3). В следующем параграфе будет изложена семантика модальной логики предикатов. При решении некоторых прикладных задач, связанных с исследованиями естественного языка, используют специфические модальные логики. Их терминами бывают только индивидные константы или индивидные переменные. Семантика для этого специфического класса логик будет введена в гл. 2. 1.2.16. Модель и семантика модальной логики предикатов Моделью Л модальной логики предикатов & называется четверка {Щ Я, 5, V), составленная следующим образом. • Ж-непустое множество возможных миров. • Я - бинарное отношение достижимости на множестве Щ т. е. подмножество декартова произведения IVх Ж • 5-непустое множество элементов. • К-функция оценки, которая - каждой паре, состоящей из элемента и; из IV и «-местной функциональной константы/, сопоставляет некую функцию из 5П в 5; -каждой паре, состоящей из элемента и> из Жи «-местной предикатной константы Р, сопоставляет некоторую функцию из 5П в {1, 0}. Для любого мира XV функция К каждой функциональной константе/ сопоставляет то, что называется расширением в и>. Точно таким же образом она действует на каждую предикатную константу Р. На самом деле, некоторые предикаты могут принимать различные значения истинности в разных возможных мирах универсума Ж В модели самого общего вида можно допустить, что значения индивидных констант могут различаться в разных мирах. Такие модели будут рассмотрены в разд. 2.2, где построение некоего логического 9*
68 1. Языки и логики языка окажется средством представления фрагмента естественного языка. Интерпретация формул модального языка отличается от интерпретации формул языка первого порядка той ролью, которую играет универсум возможных миров Ж Однако интерпретация всегда осуществляется относительно некой функции д, которая присваивает индивидным переменным элементы из 5. Семантика формул из У? описывается с помощью символики которая означает «А истинна в модели М в мире и; при функции присваивания д». Если а-некоторое выражение из У, то семантическое значение для а в модели М в мире и; при функции присваивания д будет также обозначаться через [а]*** ™гв. Таким образом, имеем следующую эквивалентность: для всех формул А из &. Если с-какая-то константа (предикатная или функциональная), то справедливо соотношение 1сУ^9 = у(м, с). Интерпретация формул модального языка осуществляется тогда в соответствии с семантическими правилами языка логики предикатов (§ 1.2.14), в котором все вхождения д заменяются на и>, д. Нужно еще добавить правила, касающиеся модальных операторов □ и О. Семантика • Л\=„д[ЗА тогда и только тогда, когда Л\=„.дА для всех таких и/ е Щ что (и>, и/) е Я. • М1=^ д ОА тогда и только тогда, когда М \=„. д А хотя бы для одного такого м'еЩ что (и>, и/) е К. Формула А общезначима тогда и только тогда, когда Л\=^дА для любой модели Л, любого назначения д и любого мира и>.
1.2. Модальная логика 69 1.2.17. Динамическая логика первого порядка В этом параграфе вводится некоторый язык, получающийся от слияния динамической логики (§ 1.2.11) и некоторого языка первого порядка. В языке динамической логики первого порядка атомарные программы П заменяются на команды присваивания, которые записываются в виде [х: = а]. Здесь х-индивидная переменная, а а-терм. Такая команда читается: «переменной х присвоить текущее значение а». Существует тесная связь между вычислительным процессом присваивания значения переменной и синтаксическим процессом подстановки переменной. Если через Ах: = ° обозначить результат замещения всех свободных вхождений переменной х ее значением а в формуле первого порядка А, то формула |>: = сг]Л = Ах: = ° общезначима. Следовательно, модальные формулы вида [х: = а] А можно использовать во всех тех случаях, когда в логике первого порядка применяется выражение Ах: = °. В этом формализме формулы неклаузальных резолюций (т. 1, § 1.1.15) записываются так: Т,(^1, Л2) = йе1 [*: = 0] Ах Л [х: = 1] А2, 1,(^1, Л2) = Л/[х: = 0]^ V [х: = 1]Л2. Например, этот формализм позволяет избежать обязательной разработки некоторой теории синтаксических подстановок в модальной логике. В контексте вычисления (или программы) можно определить понятие состояния как множество значений совокупности всех переменных. Следовательно, можно отождествить состояние с означиванием всех индивидных переменных. В таком контексте программу можно интерпретировать как бинарное отношение между означиваниями. Для этого нужно определить отношение эквивалентности следующим образом: оно означает, что состояния 5 и г отличаются только тем значением, которое присвоено переменной
70 1. Языки и логики х. Тогда семантические определения, касающиеся кванторов 3 и V (§ 1.2.13), можно записать в виде \=8ЗхА тогда и только тогда, когда существует такое состояние I, что \=гА и 5 ~ х1\ ^=5УхА тогда и только тогда, когда имеет место \=(А для всех состояний I, таких, что 5 ~ х1. Отсюда видно, что кванторы логики первого порядка ведут себя как модальные операторы. (Это напоминает выражение И5(лс), определенное в § 1.2.15. Оно позволяло определить модальные операторы в терминах квантифици- рованных формул.) С формальной точки зрения выражения Зх и V х ведут себя как операторы О и □ в модальной логике 55. Ниже приводится список схем аксиом, применяемых в аксиоматизации некой динамической логики первого порядка [86]. 1. Ух(А => В) => (Ух А => Ух В) 2. А => Ух А (х не входит в А) 3. УхА => [х: = а] А 4. У у [лс: = у] А => Ух А (х не входит в А и х ф у) 5. Ух А => [лс: = а] Ух А 6. У у [лс: = а] А => [лс: = а] У у А (у не входит в [х: = а]) 7. (х: = а) А = [лс: = а] А 8. [х: = а]Л = Л*: = СТ 9. [х: = а] [>: = т] А => =>[>: = Т*: = СТ]Л 10. [х: = а][>:=т]Л => =э [^; = т*: = °] [лс: = а] Л (у не входит в [лс: = а]) 11. а = т => ([лс: = а] А = ^[х:=т]Л) Польза модальных языков, основанных на динамической логике, главным образом обусловлена их большой выразительной силой. По существу эти языки дают подходящие рамки, в которых можно выразить большинство формальных
1.3. Примеры и приложения 71 свойств, относящихся к языкам программирования. Таковыми являются свойства частичной корректности или за- вершаемости программ. Если читатель заинтересовался этими вопросами, то ему можно порекомендовать [86], [96] и [239]. 1.3. Примеры и приложения 1.3.1. Введение В этом разделе будут рассмотрены три примера применения логики в области формализации знаний и рассуждений. Пример использования модальной логики высказываний в контексте формализации знаний различных субъектов, рассуждающих по поводу своих знаний, описан в § 1.3.2. Примеру приложения логики предикатов с точки зрения формализации самоссылочных рассуждений посвящен § 1.3.3. Обзор перевода некоторых аксиом и теорем теории множеств на язык логических дизъюнктов дан в § 1.3.4. 1.3.2. Модальная логика и формализация веры Предмет данного параграфа состоит в том, чтобы проиллюстрировать, как можно применить модальную логику в контексте формализации знаний различных субъектов и рассуждений, которые эти субъекты способны вести по поводу своих знаний. В частности, эти субъекты смогут задаваться вопросами по поводу своих собственных знаний, а значит, дойти до постижения знаний о знаниях. В подобных случаях речь идет об «интроспективных рассуждениях». Формализация такого рода будет проиллюстрирована на классическом примере задачи «о трех советниках» (или «о трех мудрецах»). Задача о трех советниках формулируется следующим образом. Один король, желая узнать, какой из трех его советников самый проницательный, нарисовал на лбу у каждого из них по
72 1. Языки и логики белому пятну. Затем король сказал им, что у каждого из них на лбу нарисовано либо белое, либо черное пятно. При этом, добавил король, хотя бы одно из пятен белое. Далее король предложил каждому советнику определить цвет его собственного пятна.1} Поразмыслив некоторое время, первый советник ответил, что он этого сделать не может. Услышав это, второй советник сказал, что он также не знает, каков цвет пятна на его лбу. Послушав ответы первых двух, третий советник заявил, что его пятно белое. Эту задачу использовал Маккарти [158] для тестирования моделей знаний. Тип рассуждений, который следует учесть при решении этой проблемы, является очень сложным. В частности, каждому советнику требуется обладать средством для рассуждения по поводу знаний остальных советников. Рассуждения, которые провел третий советник, состоят в следующем. Допустим, что мое пятно черное. Тогда второй из нас должен был бы знать, что его пятно белое, потому что ему известно, что если бы его пятно было черным, то первый советник увидел бы два черных пятна и тотчас сделал бы вывод о том, что его собственное пятно белое. Но так как ни один из двух первых советников не сумел определить цвет своего пятна, то мое собственное пятно непременно белое. Трудность логического исследования этой проблемы существенно связана с наличием «вложенности» тех рассуждений, которые предстоит провести. Третий советник должен рассуждать о том, чего не знает второй (а именно о цвете пятна на лбу второго советника). Он должен также делать умозаключения с учетом того, что второй советник рассуждает по поводу таких вещей, какие не знает сам третий советник (т.е. о цвете своего пятна). Особенно трудно вспомнить после нескольких вложенных рассуждений, кто же знает то, чего не знает другой, и т. д. Человеческому разуму очень тяжело, когда он оказывается в лабиринте перекры- 1} При этом подразумевается выполнение двух следующих условий. Во-первых, каждый из советников был напрочь лишен возможности узнать цвет своего пятна иначе, как путем рассуждений. Во-вторых, каждый из них имел возможность видеть цвет пятен у своих коллег.- Прим. перев.
1.3. Примеры и приложения 73 вающихся гипотетических и фактических утверждений. В этом состоит одна из причин, которые заставляют нас пытаться автоматизировать рассуждения, применяя логические модели. Логики веры и знания составляют один из возможных подходов к решению этого вопроса. Задача трех советников послужила для Маккарти [158] эталоном при тестировании различных логик веры и знания. Конолиге [126] использовал некоторое логическое семейство неинтроспективных предположений для моделирования одного варианта проблемы трех советников. В этом варианте ответ третьего советника таков: Я также не знаю цвет своего пятна. Но если бы второй из нас был более проницательным, то я бы знал свой цвет. Теперь займемся формализацией классической задачи трех советников с помощью некой мультимодальной логики знания. В этой логике оператор [/] означает «/-й советник знает, что...». Она должна обладать следующими схемами аксиом и правилами вывода: [/] (X => У) => ([/] X => [/] У) (дистрибутивность). [г] X => X (знание) X —I [/] X (необходимость) X => У, X \- У (тоёш ропепз) Аксиома дистрибутивности и эти два правила вывода (т.е. тоёш ропепз и правило необходимости) позволяют сделать заключение о том, что некий субъект знает все логические следствия из своих знаний. Это свойство можно выразить в виде нового правила вывода: (X \- У), [г] X \- [/] У (логическое всезнание). Для того чтобы дать более короткую формулировку, будем рассматривать упрощенную версию. Предположим, что советников лишь двое. Обозначим их через А и В. Информация, которой мы располагаем, может выражаться в виде следующих гипотез: (1) А и В знают, что каждый из них может видеть пятно на лбу у другого, следовательно: (1а) Если у А нет белого пятна, то В знает, что у А нет белого пятна. 10-4465
74 1. Языки и логики Пусть Белое (х)- предикат, принимающий значение истинно, если советник х оказывается с белым пятном, и значение ложно в противном случае. Гипотеза (1а) формализуется следующим образом: -1 Белое (А) => [Д](-1 Белое (А)). (16) А знает (1а): [Л](-1 Белое (А) => [5](~1 Белое (А))). (2) А и В оба знают, что хотя бы у одного из них пятно белое, причем каждый из них знает, что и другому это известно. Следовательно: (2а) А знает, что В знает, что, если у А пятно не белое, то у В пятно белое. Таким образом, [Л]([#](-1 Белое (А) => Белое (В))). (3) В заявляет, что ему неизвестно, белое ли у него пятно. Следовательно, А знает, что В неизвестен цвет его пятна. Запишем это в виде 1А](11В](Белое(В))У Гипотезы (16), (2а) и (3) выписаны также в трех первых строках доказательства теоремы [Л] (Белое (А)). В приведенном ниже списке формул, который представляет собой доказательство этой теоремы, каждая строка является резольвентой (вьюодится из) предыдущих строк и аксиом. Номера используемых строк и названия примененных аксиом указываются справа от полученной резольвенты. 1. {А\(-^Белое(А)^ => [#](-1 Белое (А))) 2. [А]([ВТЦ-1Белое(А)=> Белое (В))) 3. [А](-1[И](Белое(В))) 4. -]Белое(А)=>[В](-]Белое(А)) 5. [Д](-л Белое(А) => Белое(В)) 6. \_В-]{~\Белое{А))^ ^\_В~\{Белое{В)) 7. -1 Белое {А) => \_В~] {Белое (В)) 1, аксиома знания 2, аксиома знания 5, аксиома дистрибутивности 4, 6, транзитивность переформулировка строки 7
1.3. Примеры и приложения 75 8. -1 [Я] (Белое (В)) => Белое (А) 9- М ("л [Д] (Белое(В)) => 1, 2, 4, 5, 8 правило ло- => Белое (А)) гического всезнания 10. [Л](~1 [Б] (Белое (В))) => 9, аксиома дистрибу- => \_А~] (Белое (А)) тивности 11. \_А~] (Белое (А)) 3, 10, тоёш ропепз Строка 9 этого доказательства может пониматься следующим образом. Гипотезы 1 и 2 означают, что А знает формулы 4 и 5. Из формул 4 и 5 выводится формула 8. Правило логического всезнания позволяет, таким образом, вывести, что А знает формулу 8. Все это можно записать в виде (1,2НМ(4,5)),(4,5Н8)Н[Л](8). Формализация гипотез 1-3 была предложена в [77]. В версии задачи о трех советниках появляется дополнительный уровень вложенных знаний. Однако стратегия доказательства по существу та же. 1.3.3. Логика предикатов и формализация рассуждений Задачу о «рабах и сеньорах» можно сформулировать следующим образом [228]. «Некоторый остров заселен исключительно рабами и сеньорами. На этом острове царствует некая принцесса. Сеньоры всегда говорят правду, а рабы все время лгут. Некоторые сеньоры бедны, другие богаты. Рабы также делятся на богатых и бедных. Принцесса желает выйти замуж: за богатого раба. Каким же образом раб может всего лишь одним заявлением убедить принцессу в том, что он достоин быть ее супругом!» Изложенное ниже решение заимствовано из [165]. Решение этой задачи должно быть получено в виде доказательства теоремы в логике первого порядка. Следовательно, прежде всего нужно выразить данную проблему посредством логической формулы, содержащей переменные под квантором существования. Тем самым будет построено то утверждение 10*
76 1. Языки и логики (или теорема), которое надо суметь вывести из гипотез. Конкретизация переменных под знаком квантора существования даст решение этой проблемы. Сформулируем проблему следующим образом: «Какая фраза могла бы убедить принцессу в том, что говорящий эту фразу является богатым рабомЪ Миллер и Перли [165] предложили формализовать это высказывание средствами некой теории первого порядка, содержащей следующие элементы: • Я: индивидная константа, представляющая слово «я». • раб: функциональная константа; раб(р) представляет высказывание «р является рабом». • сеньор: функциональная константа; сеньор (р) представляет высказывание «р является сеньором». • богатый: функциональная константа; богатый (р) представляет высказывание «р является богатым». не: функциональная константа; не(х) представляет высказывание «х не является...». и: функциональная константа; и(х,у) представляет высказывание «х и у». Можсказ: предикатная константа; Можсказ (р, и) означает «р может сказать, что и». ИП: предикатная константа; ИП(р,и) означает «терм и становится истинным после замены всех вхождений константы Я в и на терм р». И: предикатная константа; И{1) означает, что терм г является истинным. Формула С: ЗмУр(Можсказ(р,и) = И(и{богатый{р\раб{р)))) представляет собой предложение «существует некоторая фраза и, которая может быть произнесена лишь тем, кто является богатым и рабом». Эта формула интерпретируется как утверждение (или теорема), которое нужно доказать на основе следующих гипотез. (1): УрУи(И(раб(р)) = (Можсказ(р,и) = ~1 ИП{р,и))\
1.3. Примеры и приложения 77 (р является рабом тогда и только тогда, когда все те утверждения м, которые может высказать р, в точности совпадают с теми утверждениями, которые оказываются ложными, если их высказывает р); (2): ЧуЧ2(И(и(у,2)) = И(у) Л ВД (описание функции «и»); (3): Чз(И(з)=-\И(не(з))) (назначение функции «не»); (4): Чр(ИП(р,ДЯ)) = И(/(р))У Гипотеза (4) является схемой формулы, конкретизация которой может быть такой: ИП (Поль, богатый (Я)) = И (богатый (Поль)). Четыре следующие формулы суть допустимые конкретизации гипотезы (4) для всех тех функций, которые можно взять в качестве второго аргумента предиката МП. VиVVVр (ИП(р, ф, V)) = (ИП(р, и) Л ИП(р, V))) УиУр(ИП(р, не (и)) = ИП(р,и)) Ур(ИП(р, богатый (Я)) = И (богатый (р))) Чр(ИП(р,раб(Я)) ее И(раб(р))) Итак, полный перечень гипотез таков: (1), (2), (3), (4М), (4нв), (4<>огаты& (4Раб)- Утверждение (или теорема), которое надо доказать на основе этих гипотез, есть не что иное, как формула С. Следовательно, нужно установить истинность формулы ((1) Л (2) Л (3) Л (4И) Л (4нв) Л (4богаты} Л (4^)) =э С. Прежде всего займемся преобразованием гипотез и отрицания заключения С к таким выражениям, которые состоят только из дизъюнктов. Осуществив эту процедуру, мы сможем воспользоваться методом резолюций (т. 1, § 1.2.14). Этот метод будет играть роль правила вывода. В ходе выполнения выкладок мы будем указывать в колонке справа номера использованных дизъюнктов. Список дизъюнктов с присвоенными им номерами приводится ниже. \ богатый
78 1. Языки и логики Дизъюнкты, порождаемые гипотезой (1): ДН Д12: Д13 -1 И(раб(р)) V Можсказ(р,и) V ~1 ИП(р,и) 1 И (раб(р)) V Можсказ(р,и) V ИП(р,и) И{раб{р)) V ~1 Можсказ (р, и) V ИП(р,и) Дизъюнкты, порождаемые гипотезой (2): Д21 Д22: Д23 -\И(и(у,2))УИ{у) -\Щи(у9г))Ч И(г) И(и(у,г))У И(у)Ч -\И(г) Дизъюнкты, порождаемые гипотезой (3): Д31: И(з) У И(не(з)) Д32: -1И(з) V -\И(не(з)) Дизъюнкты, порождаемые четырьмя конкретизациями схемы (4): Д41 Д42 Д43 Д44: Д45: Д46 Д47 Д48 Д49 ИП(р,и(и^)) V -| ИП(р,и) V п (р^) -1ИЛ(р,и(и^))Ч ИЛ(р,и) -}ИП(р,и(и,г))У ИП(р^) ИЛ(р,не(и))У ИП(р,и) -1 ИЛ (р, не (и)) V ~1 ИЛ(р,и) ИЛ(р, богатый (Я)) V ~1 И (богатый (р)) 1 ИЛ(р, богатый (Я)) V И (богатый(р)) ЙП(р,раб(Я)) V -1 {раб{р)) -1 ИЛ (р, раб (Я)) V И(раб(р)) Обозначим через д сколемовскую функцию (т. 1, § 1.2.8), получаемую после исключения квантора общности в отрицании заключения С. Дизъюнкты, порождаемые отрицанием заключения С: Д 51: Можсказ (д (и), и) У И (и (богатый (д (и)), раб (д(и)))) Д52: -1 Можсказ (д (и), и) V "I И (и (богатый (д (и)), раб (д (и)))) Стремясь доказать, что заключение С выводимо из гипотез, будем использовать метод резолюций. Для обозна-
1.3. Примеры и приложения 79 чения функций и предикатов будут применяться следующие сокращения: богатый = б, сеньор = с, раб = р, не = н, Можс- каз = МС. Каждая строка проводимого доказательства содержит резольвентный дизъюнкт вместе с метками предшествующих дизъюнктов, которые использовались при получении этого резольвентного дизъюнкта. Некоторые строки1} содержат помимо этого наиболее значительные подстановки, осуществленные при применении правила резолюции. РЕЗОЛЬВЕНТНЫЙ ДИЗЪЮНКТ ПРЕДШЕСТВУЮЩИЕ ДИЗЪЮНКТЫ Р1 Р2 РЗ Р4 Р5 Р6 Р7 Р8 Р9 Р10: ПИ: МС(д(и),и)\/И(б(д(и))) МС(д(и),и)У^И(н(б(д(и)))) МС(д(и),и)У И(и{н{б{д{и))\ *)) МС(д(и),и)Ч пЯ(н№(«))))У -]Щг) МС(д(и\и)М -| Щн(б(д(и)))) V ^ИП(р,р(Я)) МС(д(и),(и)Ч^И(бШ))Ч ^ИП(р,р(Я)) МС{д(и\{и)У ИЩд{и\б{Я))У ^ИЛ(р,р(Я)) МС(д(и),и) V ^ИЩд(и),н(б(Я))) V -л ИЛ(р,р(Я)) МС(д(и),и) V 1 ИП(д(и\н(б(Я))) \1-\ИП{р9иУ>РШ МС(д(и),и) V -| ИП(д(и), и(н(б (Я))^))\/^ИП(рМи\р(Я))) МС(д(и),и)УИП(д(и),ф) {(1/Мб№)Лър(Я)),(р,д(и))} (Здесь и далее используется сокращение «ф» во втором аргументе предиката ЯП для представления терма и(н(б(Я)), р (Я)). Д51, Д21 Д32, Р1 Д21, Р2 Д23, РЗ Д39, Р4 Д31, Р5 Д46, Р6 Д45, Р7 Д43, Р8 Д42, Р9 Р10, унификация 1( Метки таких строк будут начинаться с «Я» вместо обычного <Р». Сами подстановки записываются в фигурных скобках.- Прим. герев.
80 1. Языки и логики Р12 ШЗ Р14 Р15 Р16 Р17 Р18 Р19 Р20 Р21 Р22 Р23 Р24 Р25 Р26 Р27 Р28 Р29 Р30 Р31 Р32 РЗЗ Р34 Р35 Р36 Оно означает фразу «я небогатый, и я раб».) МС(д(и),и)У МС(д(и),ф)У -|Я(ф(«))) : МС(д(ф),ф)Ы^ИШф))\ {(«,*)} МС(д(и),и)ЧЩс(д(и))) МС(д(ф),Ф) ^Щи(б(д(ф)),с(д(ф)))) -лИ(6(д(ф)))У -*(с(д(ф))) Щн(б(д(ф)))) V -л Щс(д(ф))) -лМС{д(ф),1)\/ ИП{д{ф),1)У Щн(б(д(Ф)))) МС(д(ф),ф)ЧИ(н(б(д(ф)))) ИП(д(ф), н(б(Я))) V Щн(б(д(ф)))) -. ИЩд(ф),б(Я)) V Щн(б(д(ф)))) ^И(бШ)))ЧЩнШФ)))) Щн(б(д(ф)))) ^ИШф)))Ч^ИП(д(ф),ф) -! Щс(д(ф))) V л ИЩд(ф), с(Я))У^ИП(д(ф),н(б(Я))) ^Щс(д(ф)))Ч -пИЛ(д(ф), с{Я))М ИЛ(д(Ф),б(Я)) -1 Щс(д(ф))) V -1 ИП(д(ф), с{Я)) V Щб(д(ф))) л Щс(д(ф))) V -1 ИП(д(ф), с(Я)) V л И(н(б(д(ф)))) -1 И(с(д(Ф))) V -1 ИП(д(ф),с(Щ л #(ф(0))) И(с{д(ф)))Ы ИП(д(ф),ф) ИП(д(ф),ф) ИП(д(ф),с(Я) ИШФ))) Л Д12, ПИ Р12, унификация Д51, Д22 П12, Р14 Д52, Р15 Д23, Р16 Д31, Р17 Д13, Р18 ШЗ, Р19 Д42, Р20 Д45, Р21 Д46, Р22 Д31, Р23 Р15, ДП Д41, Р25. Д44, Р26 Д47, Р27 Д32, Р28 Р24, Р29 Д38, РЗО Р15, Д13 Р31, Р32 Д43, РЗЗ Д49, Р34 Р31, Р35 Таким образом, теорема доказана. Ответ принцессе должен быть таким: «я небогатый, и я раб».
1.3. Примеры и приложения 81 1.3.4. Логика предикатов и математика Математика предоставляет почти неограниченное разнообразие проблем, которые могут быть формализованы средствами логики предикатов. Логическая формулировка некой теории может явиться первым шагом к автоматизированному решению некоторых проблем этой теории. Например, некоторые предположения можно проверять с помощью стратегий, основанных на методе резолюций. Бойер и его соавторы [23] предложили некое клаузальное1* представление аксиом теории множеств. Это представление позволяет заложить основы для формализации большей части математических теорем в форме, приемлемой для некоего дока- зывателя логических теорем (см. комментарии на эту тему в конце данного параграфа). По существу теория множеств является системой представления, позволяющей выразить логику большинства функций, используемых в математике. Бойер и его соавторы [23] предложили в качестве приложения некое логическое доказательство теоремы о гомоморфизмах. Согласно этой теореме, любая композиция гомоморфизмов является гомоморфизмом. В данном параграфе мы ограничимся более простым примером. Аксиомы теории множеств обычно принято делить на четыре класса. Краткости ради мы здесь дадим логическую формулировку только аксиом первого класса, обозначаемого через А. Первоначальная логическая формулировка осуществляется в терминах квантифицированных формул логики предикатов. Эти формулы преобразуются затем к виду, позволяющему применять правило резолюций. В рассматриваемых формулах будет применяться унарная предикатная константа, которая обозначается М. Выражение М(ё) означает «е является малым множеством). АКСИОМЫ КЛАССА А И ОПРЕДЕЛЕНИЕ ПОДМНОЖЕСТВА • Аксиома А-1: Малые множества являются множествами. • Аксиома А-2: Элементы множеств являются малыми множествами; То есть с помощью дизъюнктов.- Прим. перев. 11-4465
82 1. Языки и логики УхУу(хеу=>М(х)). • Аксиома А-Ъ\ Принцип расширения; УхУу(Уи(М(и) => (иех = иеу)) => х = у). • Аксиома А-4: Существование неупорядоченных пар; ЧиЧхЧу{ие{х,у} = М(и) Л (и = х V и = у)); >/х>/у(М({х9у})). • Определение подмножества; Ух\/у(х а у = Уи(М(и) => {цех => иеу))). Теперь займемся преобразованием приведенных выше формул к произведениям дизъюнктов. Прежде всего каждая из формул, представляющих аксиомы класса А, а также определение подмножества должны быть преобразованы к сколемовской форме. Затем предстоит их разложение в произведения дизъюнктов. Через ^ в этих дизъюнктах обозначены сколемовские функции. • Аксиома А-2: 1. хфу\1 М(х). • Аксиома А-Ъ: 2. М{ГЦх,у))Ух = у, 3./Цх,у)ехЧ/Цх,у)еуЧх = у, 4./Цх,у)фх\//\(х,у)фу\/х = у. • Аксиома А-4: 5. иф{х,у) Уи = хУи = у, 6. ие {х,у} V ~1 М(и) V и Ф х9 7. ие{х,у} V ~1 М(и) V и Фу, 8. М{х,у}. • Определение подмножества: 9. х ф у V ифх V иеу, 10. х с у V/2(х,у)ех, 11. хс>>У/2(х,>0^.
1.3. Примеры и приложения 83 Используя некоторые из дизъюнктов 1-11, можно доказать следующую лемму. Лемма. Ух\/у((х а у А у с х) => (х = у)). Докажем, что конъюнкция некоторых из дизъюнктов 1-11 и отрицания этой леммы порождают пустой дизъюнкт. Отрицание леммы представляется выражением ЗхЗу((х с у А у с х) А (х Ф у)). Сколемовская форма этого выражения эквивалентна конъюнкции трех дизъюнктов 12-14 (см. ниже). Отрицание леммы: 12. /3 с/4, 13./4 с Л, 14. /3 */4. ДОКАЗАТЕЛЬСТВО ЛЕММЫ РЕЗОЛЬВЕНТНЫЙ ПРЕДШЕСТВУЮЩИЕ ДИЗЪЮНКТ ДИЗЪЮНКТЫ 15. иф/3 V ие/4 9, 12 16. иф/4 V ие/3 9, 13 17. /1 (/-3, /4) е/3 V /1 (/3, /4) е/4 3, 14 18. Я(/3,/4)*/3 У/1(А/4)*/4 4, 14 19. /1 (/-3, /4)#3 15, 18 20. Я (А Я) е/3 16, 17 21. Л 19, 20 Таким образом, аксиомы класса Л теории множеств вместе с определением подмножества представлены посредством двенадцати дизъюнктов. Бойер и др. [23] предложили клаузальное представление для всех аксиом теории множеств вместе с основными определениями, относящимися к этой теории. (Такими, как определения из абстрактной алгебры и теории чисел.) Если к этому добавить формулировки фундаментальных лемм полученной теории, то придем к множеству, состоящему примерно из тысячи дизъюнктов. Это клаузальное представление теории множеств было получено с помощью некой программы, преобразующей исходные и*
84 1. Языки и логики логические формулы сперва в сколемовскую форму, а затем в конъюнктивную нормальную форму. Основная цель перехода к клау зальному представлению- сделать возможным проведение автоматизации исследований на базе некоего языка логического программирования. Однако следует заметить, что автоматизация исследований сопряжена с многочисленными проблемами, проистекающими из следующих обстоятельств. • Число дизъюнктов велико и большинство из них не являются хорновскими. При доказательстве данной теоремы реально используется весьма незначительная часть дизъюнктов. • Математик довольно быстро понимает, как нужно строить доказательство, чуть только появляется общая идея, которой нужно следовать. В принципе такой тип компетенции должен быть включен в стратегию некоего доказывателя теорем. • Язык Пролог при теперешнем его уровне развития не является универсальным доказывателем теорем.
2. ИНТЕНСИОНАЛЬНАЯ ЛОГИКА И ЕСТЕСТВЕННЫЙ ЯЗЫК 2.1. Логическое исследование естественных языков 2.1.1. Введение Под влиянием предыдущей главы может сложиться впечатление, что современная логика предназначена исключительно для нужд математики. Ее методы и результаты априори не представляются интересными для исследования естественных языков. Привлечение сложного формального аппарата несомненно заставило забыть, что истоки логики находятся в философии и грамматике. Логический формализм, развитый в гл. 1 и 2 в [232], а также в гл. 1 настоящей книги, можно еще использовать и для описания и исследования естественных языков (например, для французского или английского). Действительно, развитие семантики формальных языков, предпринятое Тарским, а также разработанная Крипке для нужд модальной логики семантика возможных миров и, наконец, исследования Монтегю по интенсиональной логике-все это предоставило семантике естественных языков весьма мощные средства для проведения точного анализа соответствующих структур. В этом разделе мы познакомим читателя с логическим подходом к исследованию естественных языков и на неформальном уровне представим рекурсивную семантику, предложенную Монтегю для описания фрагмента английского языка. (Содержание данного раздела заимствовано из [81].) В разд. 2.2 абсолютно формально вводится семантика некой модальной логики, очень хорошо приспособленной для описания естественного языка. Эта модальная логика будет обогащена в разд. 2.3 понятием интенции, которое приведет к определению интенсиональной логики. В гл. 3 будет изучен
86 2. Интенсиональная логика и естественный язык перевод фрагмента естественного языка на язык интенсиональной логики. 2.1.2. Формальная семантика и естественный язык Способ построения синтаксиса формального языка хорошо известен [27]. В разд. 1.2 уже говорилось о тех требованиях, которые должен выполнить логик при определении синтаксиса логического языка. Надлежит проделать следующее: • перечислить базисные символы; • определить понятие формулы, т.е. объявить правила построения; • выделить аксиомы; • специфицировать правила вывода. Способ построения семантики формального языка тоже хорошо известен. Тарский [231] показал, что можно дать строгое определение семантических понятий истинности, логического следствия и общезначимости для формального языка. Таким языком может быть логика высказываний или логика предикатов. Все эти определения были собраны в разд. 1.2. Там же была введена семантика возможных миров для модальной логики высказываний. Понятие «истинности в модели» было введено посредством этой семантики (§ 1.2.3). Это понятие является более общим, чем понятие «абсолютной истинности». Будет показано, что оно играет первостепенную роль в семантике Монтегю. Создатели формальных синтаксиса и семантики оказались первыми, кто задался вопросом о том, являются ли методы, изобретенные ими для изучения синтаксиса и семантики формальных языков, приложимыми к естественным языкам. Ответ этих исследователей был поначалу отрицательным. Между 1968 и 1970 гг. Монтегю (американский математик, сформировавшийся в школе Тарского) написал три статьи, целью которых было доказательство несуществова-
2.1. Логическое исследование естественных языков 87 ния важных теоретических различий между естественными языками и формальными логическими языками [173], [174], [175] (последняя из этих статей переведена в [183] 1)). Отправной точкой исследований Монтегю послужили некоторые результаты Девидсона [47]. Чтобы осмыслить область действия тезисов Девидсона, удобно начать прямо с задачи, которую требуется решить. Ее можно сформулировать следующим образом. Всякому говорящему субъекту известно значение конечного числа слов и то, как применять конечное число правил построения. Возникает вопрос: как в этой ситуации он может понимать потенциально бесконечное число фраз? Эта задача является перенесением задачи, исследуемой специалистами в области грамматики в рамках синтаксиса, в область семантики. Всякий говорящий субъект в качестве лексических элементов соответствующего языка распознает конечное число слов и умеет применять конечное число правил построения. Каким образом при таких условиях он может распознавать свойства «правильной построенное™», «грамматичности» или «осмысленности» бесконечного множества фраз? Если ограничиться формальными языками, то задачу синтаксической компетенции решить легко. Достаточно в число правил построения ввести определенное количество рекурсивных правил. Однако эта простота сопряжена с определенными трудностями при формулировании правил построения на естественном языке. Дело в том, что, в то время как формальный язык обладает всеми свойствами, какие хотели ему придать его создатели, естественный язык является бесконечным множеством правильно построенных фраз, существовавшим до тех правил построения, которые формулирует лингвист. Но все же предположим, что проблема синтаксической компетенции уже решена. Возникает следующий вопрос: достаточно ли для решения проблемы семантической компетенции добавить к имеющемуся синтаксису некую интерпретацию атомарных выражений? На этот узловой вопрос Девидсон ответил отрицательно. Если семантика должна содержать теорию значения в том смысле, С английского на французский.- Прим. перев.
88 2. Интенсиональная логика и естественный язык который мы вкладываем в это понятие, то значение структурных характеристик, которые учитывают грамматику фразы, с одной стороны, и знание значения простейших частей фраз, с другой-не объединяются, чтобы дать нам значение всей фразы. 2.1.3. Рекурсивная семантика Дев ид со на Кац и Фодор [120], которые были создателями первой рекурсивной семантики, ввели механизм, предназначенный для объяснения того, каким образом значения слов, скомбинированных синтаксически, комбинируются семантически. Такой механизм формализуется с помощью правил проекции. Однако при более пристальном рассмотрении можно заметить, что правила проекции играют чисто негативную роль, а именно при выборе определенных смысловых значений в тех ситуациях, когда слова, которые по отдельности полисемичны, комбинируются с помощью некой синтаксической конструкции. Например, в английской фразе "1пе тап Ы18 1пе со1огш1 Ьа1Г1) правило проекции проявляется следующим образом. Оно комбинирует значения слов "со1огшГ и "ЪаП", сопоставляя слову "со1огш1" значение «цветной» в том случае, когда слово "ЪаП" имеет значение «мячик», а не «бал» 2). Исключение смыслового значения «бал» происходит само собой, когда комбинируется слово "ЪаП" со словом "Ы18". Достаточно удовлетворительных общих правил сочетания значений Кац и Фодор не сформулировали. Что же следует добавить к рекурсивному синтаксису, чтобы получить такую рекурсивную семантику, которая бы описывала позитивно (а не негативно) явление композиции смысловых значений («смыслов»)? Девидсон предложил добавить к этому синтаксису рекурсивное определение истины. Теория «смысла» (для &), которая содержит рекурсивное определение истинности в 52, разъясняет, каким образом значение фраз зависит от значения (смысла) слов [47]. 1} Перевод: «человек (1пе тап) бьет (ЫЧа) по цветному (1пе со1огГи1) мячику (ЬаИ)». Подразумеваются какие-то конкретные человек и мячик.- Прим. перев. 2) Речь идет об игре слов "ЬаИ" (англ. «мячик»), "Ьа11е" (франц. «мячик») и "ЬаГ (франц. «бал»).- Прим. перев.
2.1. Логическое исследование естественных языков 89 Так как слово «значение» («смысл») не является синонимом слова «истина», то определение истины не будет 1рзо Гас1о1) определением значения (смысла). Тем самым тезис Девидсона отнюдь не очевиден. Однако его довольно легко обосновать. Следует начинать с сопоставления смысловым значениям повествовательных предложений условий их истинности. Например, можно сослаться на такой факт. Кресс- уэлл [45], когда писал о понимании смысла фразы «снег белый», между прочим, знал, при каких условиях (или обстоятельствах) она истинна, а при каких ложна. Приняв уравнение «значение повествовательного предложения = условия истинности этого предложения», мы должны наложить следующее требование: если в определении говорится о том, каким образом условия истинности сложного предложения зависят от условий истинности составляющих его простых предложений, то в этом определении должно говориться также и о том, как значение сложного предложения зависит от значений составляющих его простых предложений. Но это в точности то же самое, что дает рекурсивное определение истины. При этом определении для каждой пропозициональной связи можно найти такой дизъюнкт, который описывает условия истинности сложного предложения в терминах условий истинности простых предложений. Однако от рекурсивного определения значения (смысла) требуется больше. Нужно, чтобы оно говорило также и о том, каким образом значение простого предложения (т. е. его условия истинности) зависит от значений составляющих его слов. Между тем здесь появляется одна существенная трудность. Дело в том, что значение такой синтаксической компоненты, которая не является предложением, нельзя соотнести с ее условиями истинности. Ведь лишь предложения могут оказываться истинными или ложными. Например, можно говорить об условиях истинности фразы «все любят кого-то». Однако не может идти речи об условиях истинности сказуемого «любят». То же самое относится к открытой формуле «х± любит х2». Ведь сказуемое (как и имя собствен- Тем самым (лат.)-Прим. перев. 12-4465
90 2. Интенсиональная логика и естественный язык ное) не может рассматриваться как истинное или ложное. (В этом разделе мы приписываем термину «сказуемое» лингвистическое значение этого слова. Сказуемое есть то, что в предложении утверждается по поводу некоторого денотата, обозначенного другим термом (подлежащим). Например: «Лошадь (подлежащее) скачет (сказуемое)».) Главное открытие Тарского состояло в том, что он показал, каким образом преодолеть упомянутые трудности. Его подход состоял из двух этапов. Сначала было введено понятие сатисфакции, более общее, чем понятие истины, и с равным успехом приложимое как к открытым формулам, так и к замкнутым (т.е. фразам). Затем с помощью понятия сатисфакции "было определено понятие истины. Условия сатисфакции накладываются на каждую открытую атомарную формулу, состоящую из примитивного предиката (т.е. предикатной константы) и стольких переменных, сколько мест в предикате. Таких формул лишь конечное число. К упомянутым условиям присоединяют рекурсивные правила, которые указывают, каким образом сатисфакция произвольной открытой формулы зависит от сатисфакций ее составляющих (т. е. предикатов и аргументов). Можно продемонстрировать, как условия сатисфакции базисных элементов (или атомов) вносят свой вклад в условия истинности фраз [186]. Например, можно показать, каким образом предикаты (т. е. сказуемые) «любят» и «ненавидят» влияют на значение фразы «все любят или ненавидят кого-нибудь». Формальное определение понятия сатисфакции будет дано в § 2.2.4 (см. заключительное замечание). Девидсон оспаривал, что рекурсивный синтаксис в сочетании со словарем образует рекурсивную семантику. Тарский внес то, чего не хватало у Каца и Фодора: автономную рекурсивную семантику. Эта рекурсивная семантика, будучи автономной, тем не менее обладает полным параллелизмом с рекурсивным синтаксисом: каждому синтаксическому правилу построения сложного выражения определенного типа соответствует семантическое правило, указывающее условия сатисфакции рассматриваемого выражения.
2.1. Логическое исследование естественных языков 91 2.1.4. Нововведения Монтегю Девидсон намеревался сблизить рекурсивную теорию истинности с исчислением предикатов первого порядка. Монтегю тоже верил, что методы формальной семантики могут быть приложены к естественному языку. Но он отказался от исчисления предикатов первого порядка, предпочтя ему категориальную грамматику. Она включает в себя те категории, которые специалисты по грамматике традиционно использовали при описании естественного языка. Например, таковы категории наречия и предлога. Подход Монтегю противоположен подходу Девидсона. Автономное семантическое значение (называемое также денотацией) придается всем выражениям всех категорий. Затем происходит систематическое обращение к теории множеств для построения семантических значений выражений изучаемого языка. Кроме того, в отличие от Девидсона Монтегю заменил понятие абсолютной истины на понятие относительной истины в модели. Это позволило ему определить понятия «логической истины» и «следствия» для того фрагмента естественного языка, который он формализовал. Наконец, он осознал необходимость пополнения экстенсиональной логики с помощью интенсиональной логики. Экстенсиональная логика позволяет вычислить значения истинности некоторой фразы. Это значение истинности является функцией реальности (модели), к которой относится эта фраза. В общем случае мы не знаем экстенции (денотата, денотации) составных частей фразы, а знаем лишь их интенции (их смысл, их понимание). Именно по этой причине мы способны понимать фразу, не зная, истинна ли она. Таким образом, Монтегю в своем методе семантического анализа значения выделил два элемента: интенцию (или смысл) и экстенцию (или денотат). Он приложил понятия интенции и экстенции к сказуемым, подлежащим и фразам. Интенция сказуемого, его смысл, является соответствующим свойством, его экстенция есть класс тех объектов, которые имеют то свойство или находятся в том отношении, которое выражено сказуемым. Экстенция подлежащего или индивидного выражения (например, «естественный спутник Земли») есть тот индивид, к которому она относится. Его интенция совпадает с тем индивидным 12*
92 2. Интенсиональная логика и естественный язык понятием, который она выражает. Экстенция фразы-это ее значение истинности. Ее интенция является тем высказыванием, которое она выражает. Для того чтобы иметь возможность формализовать понятия интенции и экстенции, Монтегю ввел интенсиональную логику. Экстенсиональная логика позволяет только приписывать значения истинности фразам. Интенсиональная же логика позволяет сверх того приписывать им еще и смысл. Интенсиональная логика Монтегю имеет дело с наклонениями необходимо/возможно и с прошлым/будущим временами. Следовательно, формализация некоторого языка должна включать соответствующие модальные операторы. Однако Монтегю сохранил одно фундаментальное требование Девидсона, а именно требование полного соответствия между синтаксисом и семантикой. В действительности он потребовал, чтобы каждое правило синтаксического комбинирования дублировалось правилом семантического комбинирования денотаций. Так, он не считал, что рекурсивная семантика состоит из рекурсивного синтаксиса вместе с интерпретацией атомарных выражений; это совпадало с точкой зрения Девидсона. Сопоставления синтаксических и семантических правил, работающих параллельно,-в этом состоит применение принципа Фреге, называемого иначе принципом композиции. Он заключается в следующем [63]: Значение фразы является функцией значений ее частей и способа комбинирования этих частей. В разд. 2.2 и 2.3 будет показано, каким образом формализуется этот принцип в рамках экстенсиональной и интенсиональной логик. Формализацию этого принципа можно ввести следующим образом. Рассмотрим, например, синтаксическое правило вида: «Если а принадлежит синтаксической категории А, Ь принадлежит синтаксической категории В, ..., т принадлежит синтаксической категории М, то /(а, Ъ, ..., т) принадлежит синтаксической категории М>. Функция /указывает тот способ, которым соединяются аргументы а, Ъ, ..., т для того, чтобы появился некий элемент синтаксической категории N. Обозначим через [а] семантическое значение выражения а. Свяжем с предыдущим синтаксическим правилом семантическое правило вида «если а принадлежит кате-
2.1. Логическое исследование естественных языков 93 гории А, Ь принадлежит категории В, ..., т принадлежит категории М, то [/(а, Ъ, ..., т)] трактуется как дЦа}, ВД,..., [т])». Функция д определяет «способ семантического комбинирования» аргументов [а],..., [т], т. е. семантических значений переменных а, Ъ, ..., т. Таким образом, синтаксическому правилу построения п =/(а, Ь, ..., т) сопоставлено семантическое правило построения И = 1Г(*. Ъ, ..., т)] = Значит, существует гомоморфизм из синтаксиса в семантику. 2.7.5. Подход, предложенный Монтегю Теория истинности Тарского применяется к формальным языкам, например к булевой алгебре и исчислению предикатов. Девидсон предложил распространить ее на естественный язык. Но он лишь набросал эскиз плана такого распространения. Монтегю возобновил осуществление этого плана. В этом параграфе мы укажем различные этапы, которые имели место в ходе попытки Монтегю дать формальное представление семантики одного из естественных языков. Подробно эти этапы будут рассмотрены в разд. 2.2 и 2.3, а также в гл. 3- Монтегю прежде всего рассмотрел некий синтаксис, состоящий из множества правил 5,. Они порождают фрагмент естественного языка (для Монтегю это английский). Затем Монтегю для каждого синтаксического правила задал правило перевода 7], которое позволяет рекурсивным образом перевести любое предложение с естественного языка на заданный логический язык. Если известно состояние мира, то семантика, приданная этому логическому языку, позволяет приписывать значения истинности фразам формального языка, а следовательно, посредством правил перевода приписывать значения также и фразам естественного языка. В ходе осуществления своего подхода Монтегю осознал необходимость поддержания тесного параллелизма между
94 2. Интенсиональная логика и естественный язык грамматической структурой и семантической интерпретацией фразы. Этот параллелизм достигается за счет придания естественному языку некоторого категориального синтаксиса. Кроме того, логическому языку (на который нужно переводить фразы естественного языка) должна быть придана семантика, опирающаяся на теорию типов. Грамматический синтаксис фрагмента английского языка, описанного Монтегю, является категориальной грамматикой. Она будет определена в разд. 3.2. (Грамматика такого рода позволяет представить синтаксис естественного языка посредством рекурсивных правил, подобных тем, которые используются в синтаксисе логического языка.) Соответствие между синтаксическими правилами естественного языка и семантическими правилами логического языка устанавливается путем придания логическому языку некой семантики, связанной с теорией типов. Типизированные логические языки снабжены семантикой такого рода. Они описаны в разд. 2.2 и 2.3. Раздел 2.2 посвящен одной упрощенной версии некоторого типизированного логического языка. В том частном случае, когда учитывается только денотат или экстенция фразы (т.е. ее значение истинности), используемый формальный язык является типизированной экстенсиональной логикой. Если же принимать во внимание не только экстенцию, но также еще и интенцию (т.е. смысл), то экстенсиональную логику следует обогатить интенсиональной составляющей. Это приводит к типизированной интенсиональной логике. Интенсиональная логика, полученная на основе экстенсиональной логики из разд. 2.2, описана в разд. 2.3. Дав понятию интенции точное определение и разработав рекурсивную и композиционную семантику экстенции и интенции, Монтегю тем самым полностью реализовал семантическую программу Фреге. Стремясь благополучно завершить установление систематического соответствия между синтаксическими и семантическими категориями естественного и формального языков, Монтегю четко, по пунктам, представил свой естественный язык с помощью категориальной грамматики, а свою интенсиональную логику-на основе теории типов, подключив еще и Х-исчисление Чёрча. При этом Х-исчисление
2.2. Типизированная экстенсиональная логика 95 участвует в процедуре перевода (с помощью правил 7]) с естественного языка на формальный язык. В разд. 2.2 и 2.3 будет показано, что Х-исчисление представляет возможность исследовать естественный и формальный языки в рамках одной и той же теории, используя для этого перевод фраз с естественного языка на язык формул интенсиональной логики; фразы и соответствующие им формулы анализируются синтаксически изоморфным образом. 2.2. Типизированная экстенсиональная логика 2.2.1. Введение Формальный язык, использованный Монтегю для представления естественного языка, можно вводить постепенно: начать с языка высказываний и затем демонстрировать, как последовательное введение новых составляющих приводит к типизированной модальной логике, которая весьма хорошо приспособлена к исследованию естественного языка. В данном разделе вводится типизированная экстенсиональная логика, которую Монтегю использовал для представления «референциальной» (или «экстенсиональной») части некоторого фрагмента английского языка. Следовательно, эта логика позволит вычислять значения истинности повествовательных предложений. Полученный язык расширяется в разд. 2.3 до языка «интенсиональной логики», позволяющего (помимо всего прочего) понимать «смысл» или «значение» английских фраз. Построение некоторой типизированной интенсиональной логики путем постепенного обогащения некоторого языка высказываний выполнено в духе того подхода, который изложен в [54]. 2.2.2. Синтаксис и семантика языка высказываний Прежде всего рассматриваем такой язык высказываний, в котором высказывания записываются в виде предикатов. Обозначим его через У0. Каждое высказывание языка пред-
96 2. Интенсиональная логика и естественный язык ставляется предикатом, аргументы которого принимают значения из множества индивидных констант. (Язык &0 не содержит, следовательно, ни переменных, ни функциональных констант, отличных от индивидных констант.) Интерес к такого рода языку высказываний обусловлен тем, что высказывания здесь уже не являются атомами данного языка (в отличие от классического языка высказываний (§ 1.2.2)). Каждое высказывание образовано из предикатной константы и индивидных констант, которые становятся новыми атомами этого языка. Такая переформулировка языка позволит ввести семантическое понятие сатисфакции (для формулы), обобщающее понятие истины (§ 2.1.3 и замечание в конце § 2.2.4). Суть формализма упомянутого языка продемонстрируем на примере, в котором совокупность индивидных констант представляет собой некоторое множество писателей и литературных произведений, а высказывания описывают отношения, существующие между писателями и произведениями. Индивидные константы этого языка будут обозначаться через Су Запись [с,-] представляет семантическое значение индивидной константы с у Для нужд нашего примера выделим шесть таких констант. Константа сБ Сф СП % сс СГА Семантическое значение [сБ] = Бодлер [сф] = Флобер Ы = По Цсцз] = Цветы зла |сс| = Саламбо \сса\ = Гротески и арабески Индивидные константы являются символами объектного языка, а семантические значения-сущностями, представляемыми символами метаязыка (здесь-русского1*), которым описан универсум рассуждения. Язык содержит также предикатные константы (обозначаемые Рк). Семантические значения предикатных констант являются множествами. Семантическое значение предикат- В оригинале, разумеется, французского.- Прим. перев.
2.2. Типизированная экстенсиональная логика 97 ной константы Рк обозначим символом [Рк\ Среди таких констант выделим пять. Константа Семантическое значение Рис И^псЗ = Множество писателей РПр |^пр] = Множество произведений Рпп [^пп] = Множество упорядоченных пар, удовлетворяющих условию: первый элемент пары является автором произведения, название которого есть второй элемент пары Рпсп [^псп] = Множество упорядоченных пар, таких, что первый элемент пары является фамилией писателя, скончавшегося раньше писателя, фамилия которого есть второй элемент пары Ршт [Лшп] = Множество упорядоченных троек, таких, что первый элемент тройки указывает писателя, осуществившего перевод произведения, автор которого есть второй элемент тройки, а название-третий ее элемент Синтаксис рассматриваемого языка определяется индивидными константами, предикатными константами и синтаксическими правилами из § 1.2.2 (базис синтаксиса описывается условием: любой предикат является формулой). Семантические значения индивидных и предикатных констант позволят нам вычислять семантические значения высказываний, а через них и формул языка. Чтобы осуществить это в рамках рассматриваемого примера, достаточно до- 5авить к семантическим правилам из § 1.2.2 следующие [гоавила. Семантика • Если Р1 -одноместная предикатная константа и с,-ин- 13-4465
98 2. Интенсиональная логика и естественный язык дивидная константа, то формула Р± (су) истинна тогда и только тогда, когда [с^еЦТ^]. • Если Р2_ДвУхместная предикатная константа и ср ск-индивидные константы, то формула Р2(ср ск) истинна тогда и только тогда, когда ([с,-], [ск])б[Р2]- • Если Ръ - трехместная предикатная константа и ср ск, с,-индивидные константы, то формула Р3(ср ск, сг) истинна тогда и только тогда, когда <[сД {ск}, [с,]б[Р3]. Наше знание о мире (или, точнее, об универсуме рассуждений) позволяет нам определить множества [Рпс]> [^пр]> [Лш]> [Лют]» [Лшп]- Следовательно, можно приписать значение истинности каждому предикату языка. Рпс(^) истинно тогда и только тогда, когда [с,-] е Ц/пс]5 где [Лгс] = аег {Бодлер, Флобер, По}. Рпр(С]) истинно тогда и только тогда, когда [су] е Ц/пр]> где [Лгр] = ёег {Цветы зла, Саламбо, Гротески и арабески}. Рпп(ср ^к) истинно тогда и только тогда, когда ([су], Ы>е[^пп], где [Рпп] = <1ег {(Бодлер, Цветы зла), (Флобер, Саламбо), (По, Гротески и арабески)}. Рпсп(ср ск) истинно тогда и только тогда, когда ([с,], Ы>е[РПсп], где [Рпсп] = а* {(По, Бодлер), (По, Флобер), (Бодлер, Флобер)}. Лшп(с/> ск, сг) истинно тогда и только тогда, когда (ЦсД \ск\ Ы^е^ппп]. где [РПпп] = аег {(Бодлер, По, Гротески и арабески)}. Как отмечалось в начале данного раздела, через &0 обозначается любой язык высказываний, в котором высказывания записьюаются в виде «-местных предикатных констант, за которыми следуют п индивидных констант. Предикатные и индивидные константы составляют множество нелогических констант языка &0. Семантика предикатов определяется следующим правилом. • Если Р является «-местной предикатной константой и сх, с2,..., сл-индивидные константы, то формула Р(с±, с2,...,
2.2. Типизированная экстенсиональная логика 99 сп) истинна тогда и только тогда, когда {{с^, [с2], ..., Ы>бИ. Подведем итоги. При построении семантической составляющей логического языка &0 используются следующие компоненты. 1. Множество семантических значений, которые могут быть: • объектами из области (или универсума) рассуждений, • значениями истинности, • функциями, приписывающими упомянутые объекты и значения истинности базисным выражениям данного языка (т. е. индивидным и предикатным константам). 2. Множество спецификаций, которые для каждой синтаксической категории указывают тип приписываемого ей семантического значения. Например: • индивидным константам приписываются объекты, • «-местным предикатным константам приписываются множества л-ок концептов или объектов, • формулам приписываются значения истинности. 3. Множество семантических правил, которые указывают, каким образом можно вычислить семантическое значение формулы, исходя из семантических значений ее элементарных составляющих. 4. Специфическое приписывание каждому базисному выражению семантического значения подходящего типа. 2.2.3. Абсолютная истина и истина в модели Под интерпретацией формализованной теории обычно понимается установление соответствия между этой теорией и некоторой математической реальностью, внешней по отношению к данной теории. Далее, иногда с математической реальностью можно связать эмпирическую реальность (де- 13*
100 2. Интенсиональная логика и естественный язык нотат или универсум рассуждения). Так, например, аксиоматическая формализованная теория равновесия поначалу была интерпретирована на множестве действительных чисел. Затем они были поставлены в соответствие с классами объектов, чьи веса выражаются каждым из этих чисел [229]. Когда интерпретируют некоторую логику, то тоже пользуются математической реальностью, которая представляет в идеализированном виде реальный мир. В основу семантического анализа естественного языка Монтегю положил теорию истины. Этот анализ опирается не на понятие абсолютной истины, а истины относительно интерпретации в модели. В теории моделей формулы языка интерпретируются в универсуме рассуждений. Он служит областью интерпретации и обозначается 5. Понятие формулы, истинной в модели, было введено в § 1.2.3 в рамках модальной логики высказываний. Сейчас мы представим модель, которая более «атомарна», чем модель, использованная в разд. 1.2. Эту новую элементарную модель мы будем постепенно обогащать - одновременно с языком высказываний из § 2.2.2. Модель для языка представляет некоторое состояние мира. Она включает в себя непустое множество 5 и функцию интерпретации V, сопоставляющую каждой константе языка (индивидной или предикатной) подходящую относительно 5 экстенцию. Множество 5 состоит из объектов, т.е. из элементов универсума рассуждений. Вновь обратимся к примеру из § 2.2.2. Универсумом рассуждений является множество 5 = {Бодлер, Флобер, По, Цветы зла, Саламбо, Гротески и арабески}. Функция интерпретации К определяется следующим образом: п0)=иипл)=м для всех ] и к. В нашем примере это дает: У(сБ) = Бодлер, К(РПс) = {Бодлер, Флобер, По}, У(^ппп) = {(Бодлер, По, Гротески и арабески)} и т.д.
2.2. Типизированная экстенсиональная логика 101 Модель для языка высказываний &0, определенного в § 2.2.2, является парой Л = (8, V), где V- отображение Ы множества констант языка &0 в множество $ II25 II 25 х 5 II .... При этом: • У(с^е8 для всех индивидных констант ср • У(Рк) с 8п для всех л-местных предикатных констант Л- Пусть задан язык &0. Различные модели, которые можно выбрать для этого языка, представляют различные способы приписывания значений базисным выражениям языка. Семантика формального языка содержит фиксированную часть и часть, зависящую от выбранной модели языка. Фиксированную часть семантики образуют: приписывание некоторого типа семантических значений каждой синтаксической категории, а также правила, которые определяют семантическое значение формулы как функцию семантических значений ее составляющих (композиционная семантика). Часть семантики, которая зависит от выбранной модели, состоит из функции V, сопоставляющей каждой константе языка подходящую относительно области рассуждений экстенцию. Семантические значения индивидной константы с] и предикатной константы Рк относительно модели М обозначаются [су]-* и \Рк\м (вместо [су] и [/*]). Понятие модели позволяет заменить семантическую концепцию истины на концепцию истины в модели. Функция интерпретации К позволяет присваивать формулам языка значения истинности относительно выбранной модели М. Для получения соответствующих правил нужно все определения вида «формула Р(с) истинна тогда и только тогда, когда [с] е [Р]», которые встречались в семантических правилах в § 2.2.2, заменить на определения вида «формула Р(с) истинна в модели М тогда и только тогда, когда И-*е[р]"». Формула может оказаться истинной в одной модели и ложной в другой. Формула языка называется общезначимой, если она истинна во всех моделях языка, и называется противоречивой, если она ложна во всех таких моделях. Две
102 2. Интенсиональная логика и естественный язык формулы одного и того же языка логически эквивалентны, если они истинны одновременно в одних и тех же моделях. Формула/некоторого языка есть логическое следствие какого-то множества формул тогда и только тогда, когда формула / истинна в каждой модели, в которой истинны все формулы данного множества. Выявление таких свойств составляет главную цель семантики. Замечание. Обычно принято делать различие между формулами и фразами логического языка. Фразой называется формула, в которой все вхождения переменных связанные. В этом смысле все формулы языка высказываний, который рассматривался в § 2.2.2, являются фразами. Начиная с § 2.2.4 (где определяется семантика для языка первого порядка), обычно будет соблюдаться явное разграничение фраз и формул. 2.2.4. Синтаксис и семантика логического языка первого порядка Займемся обогащением языка высказываний &0 из разд. 2.2.2, присоединяя к нему в качестве базисных элементов индивидные переменные и кванторы. Полученный при этом язык первого порядка обозначим через ^1. Таким образом, словарь языка ^1 состоит из следующих множеств: • множество индивидных констант, обозначенных Су, и множество индивидных переменных, обозначаемых через х{, упомянутые константы и переменные вместе образуют множество термов; • множество предикатных констант. Множество нелогических констант состоит из индивидных и предикатных констант. Синтаксис языка первого порядка был определен в § 1.2.13. Определение семантики языка осуществляется путем приписывания некоторых значений формулам, содержащим переменные. Интерпретация предикатного языка &± осуществляется точно так же, как в случае языка высказывании
2.2. Типизированная экстенсиональная логика 103 &0. А именно задается область 5, состоящая из индивидов (т.е. объектов), и функция К интерпретации констант. Кроме того, определяется функция присваивания значений (которая обозначается д), отображающая множество переменных в множество объектов. Обратимся вновь к примеру из § 2.2.2. Синтаксис языка ^ порождает формулы вида Ртт(х1, х2), где ^-индивидные переменные. Язык У0 из § 2.2.2 порождал исключительно фразы, подобные Рцц(с^ сг)» семантическое значение которой могло быть вычислено как функция семантических значений констант Рпп, с1 и с2. Мы хотим иметь процедуру, приписывающую значение истинности формуле РиТ1(х1г х2). Эта формула должна быть истинной тогда и только тогда, когда литературное произведение х2 создано писателем х±. Представляется затруднительным приписать значение «истинно» или «ложно» некоторому предикату, пока его переменным не приписаны какие-то объекты из множества 5. Один из способов осуществить приписывание значения истинности состоит в том, чтобы сделать все переменные в формулах связанными. Формула Ух2Зх1Ртт(х1, х2) гласит: «всякое литературное произведение (х2) написано некоторым автором (*!)». Удобно приписать этой формуле значение «истинно», если для всех значений с2 переменной х2 из множества литературных произведений существует (хотя бы одно) значение с1 переменной ^! из множества писателей, такое, что предикат РПП(с1, сг) принимает значение «истинно». Однако такая процедура несовместима с принципом композиции, согласно которому семантическое значение сложной формулы является функцией семантических значений ее составляющих. Формула \/х2Зх1РПП(х1, х2) построена из предиката Рпп(х1, х2) путем добавления выражения Зх1 (для получения формулы Зх1Рпп(х1, х2)), а затем выражения Улс2. Принцип композиции требует, чтобы семантическое значение формулы Зх1Рпп(х1, х2) было функцией от семантического значения формулы Рпп(х1, х2). Поэтому возникает необходимость приписывать семантические значения предикатам, содержащим свободные переменные, а значит, и самим свободным переменным.
104 2. Интенсиональная логика и естественный язык Как мы только что видели, приходится определять такое присваивание значений переменным, которое указывает, что каждая свободная переменная представляет определенный объект из множества 5. Об этом объекте на данном этапе больше ничего не известно. Только начиная со следующих далее квантификаций (т.е. начиная с процесса композиции элементарных формул, применяемого для построения сложных выражений), эти переменные получат вполне определенное значение. Следовательно, то, что требуется нам в дополнение к правилам семантики из § 2.2.2, так это функция, присваивающая каждой переменной х из языка ^1 некоторое значение, взятое из множества 5. Для представления упомянутой функции будет использоваться символ д. Понятие истины в модели будет определяться нами постепенно (в несколько этапов). Прежде всего определим рекурсивно понятие формулы, истинной в модели относительно функции присваивания д. Это определение в дальнейшем позволит нам определить понятие фразы, истинной в модели. Заметим, что функция присваивания д никоим образом не является частью модели Л. Эта функция не участвует в интерпретации (индивидных и предикатных) констант данного языка. Пусть д-какая-либо функция присваивания значений индивидным переменным из языка ^1. Она сопоставляет каждой переменной х из &± определенный объект из 5. Назовем х-вариантом функции д (и обозначим через д') такую функцию, которая совпадает с д всюду, кроме переменной х. Через [а]-** будем обозначать семантическое значение выражения а модели Л с функцией присваивания д. Семантика • Интерпретация термов: -если лс-переменная из У^ то М**^ = д(х); -если с-константа (индивидная или предикатная) из 15 то \с\м,д = К(с), где К-функция интерпретации модели М = (Б, V). • Интерпретация атомов: -если *х и г2-термы из ^15 то \г± = 121'*'9 истинно тогда и только тогда, когда [^1])^г^ = [^И^
2.2. Типизированная экстенсиональная логика 105 -если *15 ..., *л-термы и Р-предикатная «-местная константа из &19 то [Р(*15 ..., О]"*'*7 истинно тогда и только тогда, когда <[^]^ ..., [*„]■**>е Ц*}*41- • Интерпретация формул: -если А и В -формулы, то семантическое значение каждой из формул ~\А, (А А В), (А V В), (А => В) и (А = В) определяется по обычным правилам (разд. 1.2.2); -если А -формула и лс-переменная, то {УхА}-*-9 истинно тогда и только тогда, когда [Л]***' истинно для всех лс-вариантов д' функции д; -если А -формула и лс-переменная, то рЬсЛ]**^ истинно тогда и только тогда, когда [Л]-*^ истинно хотя бы для одного лс-варианта д' функции д. Введя эти правила семантики, позволяющие находить значения истинности для формул из &19 можно определить теперь понятия формулы, истинной в модели, и общезначимой формулы (§ 1.2.3). • Формула А называется истинной в модели Л, если [Л]*^ истинно для любого назначения д. • Формула А называется общезначимой, если она истинна во всех моделях, т. е. если [Л]**^ истинно для всех моделей М при всех назначениях д. Замечание. Понятие сатисфакции формулы относительно некоторого присваивания объектов переменным [231] в точности соответствует понятию истинности формулы относительно некоторого присваивания значений переменным, имеющемуся у Монтегю и рассмотренному нами в этом разделе. В § 2.1.3 отмечалось, что понятие сатисфакции (относительно некоторой функции присваивания) фундаментальнее понятия истины (так же, как понятие истины в модели общее понятия абсолютной истины). Именно в понятии истинности формулы относительно функции присваивания д состоит своеобразие интерпретации языка ^1 по сравнению с интерпретацией языка У0. Истина является частным случаем сатисфакции: она соответствует ситуации, когда речь идет о сатисфакции относительно всех присваиваний. 14-4465
106 2. Интенсиональная логика и естественный язык 2.2.5. Пример Обратимся вновь к примеру из § 2.2.2. Рассмотрим множество 5, состоящее только из писателей. Модель М- это пара (5, V), где 5-множество {Бодлер, Флобер, По} и К-функция, определяемая следующим образом: У(сБ) = Бодлер К(сф) = Флобер У(сп) = По ^СРпс) = {Бодлер, Флобер, По} У(Рпсп) = {<Бодлер, Флобер), <По, Флобер), <По, Бодлер)} (Здесь совершенно излишне задавать значения функции К для констант, таких, как сцз, сс, сГА и т.д., представляющих литературные произведения.) Функцию назначения д определим следующим образом: д{х1) = Бодлер д(х2) = Флобер д(х3) = По Вычислим, например, семантическое значение формулы ^РпсС*!) в Л относительно назначения д. Так как д(х±) = Бодлер и [Рпс]*^ = {Бодлер, Флобер, По}, то заключаем, что Рпс(х1) истинно относительно М и д, т.е. что [Рис^Л'*'9 = истинно. Чтобы найти семантическое значение формулы ^х1Рпс(х1), нужно вычислить семантическое значение выражения Рпс(*1) Для всех х1-вариантов функции присваивания д. Так как множество 5 содержит три объекта, то имеется только два х 1 -варианта для д (отличных от самой функции д). Обозначим эти назначения через д' и д" и определим их следующим образом: л: х-вариант §' л: х-вариант §" д' (х±) = Флобер д" (х^) = По Я' (*г) = Флобер д" (х2) = Флобер д'(х3) = 11о д"(х3) = 11о
2.2. Типизированная экстенсиональная логика 107 Так как {РпсУ* = {РисУ* = {Бодлер, Флобер, По}, то ясно, что 1_Рис(х1Й^^ = истинно и [-РпсС*!)]**^" = истинно. Следовательно, формула Ул^Рпс СО истинна относительно М и д. Кстати, очевидно, что это заключение не зависит от выбора присваивания д. Значит, формула Ух1РПс(^1) истинна в модели М. Можно проверить, что эта формула перестает быть истинной в расширенной модели М, в которой множество 5 состоит из авторов и литературных произведений, т. е. если 5 = {Бодлер, Флобер, По, Саламбо, Цветы зла, Гротески и арабески}. Действительно, выражение Р\\с(х^) ложно для всех таких х1-вариантов д* функции д, что 0* (*1)-«какое-то литературное произведение» из принадлежащих 5. Значит, формула Ух1РПс(^1) не является истинной во всех моделях и, стало быть, не общезначима. 2.2.6. Функциональное определение семантики Семантика языка высказываний &0 была определена в § 2.2.2 в терминах множеств. Например, семантическое значение предикатной константы РПс есть множество писателей, извлеченное из области рассуждений. А именно: [Лгс] = {Бодлер, Флобер, По}. Это множество является подмножеством множества объектов 5, представляющего область рассуждений. Пусть задано подмножество А множества 5. Характеристическая функция подмножества А относительно множества 5 определяется как функция УА: Б -> {1, 0}, значения которой таковы: УА(з) = 1 для зеА, Уа(з) = 0 для яе5\Л. Семантическое значение предикатной константы РПс можно определить как характеристическую функцию подмножества {Бодлер, Флобер, По} относительно множества 5, указанного в § 2.2.3. Функция является множеством пар, в которых первый элемент принадлежит области определения функции, 14*
108 2. Интенсиональная логика и естественный язык а второй - области ее значений. Следовательно, функцию [Рпс] можно представить так: [Лгс] = «Бодлер -> 1>, (Флобер -> 1>, (По -+ 1), (Цветы зала -+ 0), (Саламбо -+ 0), (Гротески и арабески -+ 0>} . Общепринятые для функций обозначения позволяют написать 1Рпс(сБЦ = [РпсКЫ) = [Рпс] (Бодлер) = 1, 1Рис(ссЦ = [ЛгсКЫ) = [Лгс] (Саламбо) = 0. Вообще если Р1 представляет одноместную предикатную константу и с является индивидной константой, то будем писать [Л(с)]-[Л](М)- Перейдем к функциональному определению семантики для двухместных предикатов. В § 2.2.2 семантика предикатной константы РПп была определена в виде множества пар [^пп] = {(Бодлер, Цветы зала), (Флобер, Саламбо), (По, Гротески и арабески)}. Ту же самую семантику можно задать как функцию с областью определения 5 и областью значений, являющейся множеством характеристических функций УА для некоторых подмножеств А множества 5. Получаем такое представление: [Лт] = {(Бодлер -> К{Цве1Ъ13ла}>, (Флобер ->К{Саламбо}>, \1Ю ~"* "{Гротески и арабески}/ ' (Цветы зла-►()>, (Саламбо -+ 0), (Гротески и арабески -+ 0)}. Здесь 0 означает характеристическую функцию пустого множества, а нетривиальные функции УА имеют вид, подобный нижеследующему:
2.2. Типизированная экстенсиональная логика 109 ^{Цвсты зла} = «Цветы зла - 1), (Саламбо -+ 0>, (Гротески и арабески -► 0>, <Бодлер -► 0>, /Флобер -► 0>, <По-0>}. Если воспользоваться теми же обозначениями, которые применялись в случае одноместного предиката, то можно написать: [Лт] (Флобер) = ^{Саламбо} * Так как характеристическая функция ^саламбо} представляет одноместную предикатную константу, которая обозначается 1/пп] (Флобер), то можно также написать: И/пп (Флобер, Саламбо)] = [[РПп] (Флобер)] (Саламбо) = = ^{саламбо} (Саламбо) = 1. Вообще если с1 и с2 представляют индивидные константы, то функциональное определение семантики двухместного предиката, чье имя есть Р2, задается выражением 1Р2(с1,с2)} = аР2ШсЛ)Шс21)- Определение семантики «-местного предиката можно дать с помощью итерации по числу мест в предикате: Одноместные и двухместные предикаты играют особую роль в семантике Монтегю. Они представляют соответственно непереходные и переходные глаголы. Единственный аргумент одноместного предиката представляет подлежащее непереходного глагола. Что касается двух аргументов двухместного предиката, то они представляют подлежащее и дополнение, управляемое переходным глаголом. Предыдущие определения формализуют семантику высказываний языка &0 в функциональной форме. Семантика предикатов языка &± допускает похожую формализацию.
ПО 2. Интенсиональная логика и естественный язык Можно переформулировать интерпретацию языка предикатов &\ следующим образом (см. также семантические правила из § 2.2.4). • Если Р± - одноместная предикатная константа и а-терм, то {Р^У'9 = [Л1"**(М"**)- • Если Р2-двухместная предикатная константа и а15 а2-термы, то [Р2(а15 а2)]*^^ = • Если Рп является «-местной предикатной константой и а19 ..., аи-термы, то {Рл(а19 ..., а,)]-** = = [«. №РшУ<{1*1У<)1 ([«УИ •••] {1*шУ<). Семантику языков &0 и &± можно сделать полностью функциональной, определив следующим образом семантические значения для логических связок: [-.] = {<1->0>, <0->1», [Л] = {<1-{<1-1>, <0-0>}>, <0^{<1-0>, <0-0>}>}, [У] = {<1-{<1-1>, <0-1>}>, <0-{<1->1>, <0-0>}>}, [ = ] = {<!-{<!-О, <0-0>}>, <0 —{<1 —1>, <0-1>}>}, [ = 1 = {<1-{<1-1>, <0-0>}>, <0-{<1-0>, <0-1>}>}. Семантика оператора отрицания позволяет, например, увидеть, что семантическое значение [~1 А\ формулы ~1 А получается композицией семантических значений ее составляющих: [-■л] = [-|](М). Синтаксические и семантические правила, имеющие отношение к формулам языков &0 и У19 можно переформулировать следующим образом: Синтаксис • Если А -формула и а-унарная связка, то аА-формула. • Если А и В -формулы и а-бинарная связка, то АаВ- формула.
2.2. Типизированная экстенсиональная логика 111 Семантика • Если А -формула и а-унарная связка, то выполняется равенство [аЛ]-** = [а] ([Л]-**). • Если А и В -формулы и а-бинарная связка, то 1А*ву* = [_Ы(1АУ'ШВУ'9У Замечание. Если рассматривается только язык &0, то запись И]-** означает просто \Х\*. 2.2.7. Типизированная форма языка &± Язык первого порядка, описанный в разд. 2.2.4, построен с использованием некоторого множества базисных выражений. Это были индивидные и предикатные константы, а также переменные. Формулы этого языка получались из базисных выражений с помощью логических связок и синтаксических правил. Базисные выражения и формулы образуют синтаксические категории языка «^'1. В данном разделе мы хотим переопределить язык «^15 используя иные синтаксические категории, а именно -логические типы. Эта переформулировка синтаксиса языка первого порядка сделает возможным строгий перевод с естественного языка на некоторый формальный язык. Подход, который применил Монтегю (и который будет изложен в гл. 3), можно описать следующим образом. Сначала устанавливается строгое соответствие (гомоморфизм) между категориями выражений естественного языка (такими, как переходные и непереходные глаголы, нарицательные существительные, наречия и т.д.) и синтаксическими категориями формального языка, т.е. типами. Чтобы это осуществить, Монтегю предложил некоторую категориальную грамматику для некоторого фрагмента английского языка. Затем он показал, как систематически переводить выражения из этого фрагмента на определенный формальный язык ^представляющий собой интенсиональную логику, являющуюся, как мы увидим, продолжением типизированной формы языка в^71). Для этого формального языка семантика задавалась в подобающей удобной форме (рекурсивное определение истины, определение общезначимости и логичес-
112 2. Интенсиональная логика и естественный язык кого следствия). Перенести на естественный язык строгую семантику формального языка позволяют два обстоятельства. Во-первых, строгое соответствие между синтаксическими категориями естественного языка и логическими типами формального языка, а во-вторых, такое же соответствие между правилами построения, перевода и интерпретации. Это строгое соответствие позволяет также представить условия истинности фраз естественного языка, т.е. сделать то, что и специалисты по математической логике, и философы, и лингвисты уже были склонны считать неразрешимой задачей. Прежде всего определим множество синтаксических категорий для языка первого порядка У?±. Исходные определения являются довольно абстрактными. Их подлинный смысл будет проявляться постепенно по ходу изложения. Пусть I и е-два базисных символа, представляющие соответственно английские слова «1ги1Ь» и «епйгу»1*. Типы определяются по индукции следующим образом. • Базис: е и г являются типами. • Индукционный шаг: если а и Ь являются типами, то (ау Ь} есть тип. • Тип получается только с помощью правил, описанных в базисе и индукционном шаге. Исходя из сформулированных базиса и индукционного шага, легко заключаем, что (е, е}, <е, *>, <7, е) и <7, *> являются типами. Повторное использование индукционного шага формирует типы (е, <е, *», (е, <е, (е, *>>>, «е, *>, *> и т.д. Синтаксические категории формального языка являются «множествами выражений». Например, множество переменных, множество «-местных предикатных констант и множество формул-это синтаксические категории. Припишем каждому из таких множеств синтаксическую метку, которая является типом. Наряду с выполнением роли помечивания типы должны указывать способ комбинирования различных элементарных синтаксических категорий при построении 1} По-русски о'значают «истина» и «сущность» соответственно.- Прим. перев.
2.2. Типизированная экстенсиональная логика 113 категорий высших порядков. Поэтому необходимо задать правила (законы) комбинирования типов. Типы характеризуют комбинаторные возможности формул языка. Вводимый далее закон аннулирования позволит осуществлять процедуру постепенного упрощения типа. Этот закон связан с операцией функционального толка и формулируется следующим образом: Если а принадлежит синтаксической категории типа <а, Ь}> а Р принадлежит синтаксической категории типа а, то конкатенация оф принадлежит синтаксической категории типа Ь. В символической форме это записывается так: а<*,А> + Ра = (а(Р))ь. Синтаксис языка У?\ можно переформулировать следующим образом. Синтаксис • Синтаксическая категория индивидных констант с} и переменных хх является типом е. • Синтаксическая категория предикатных констант является -типом (е, 1} для одноместных констант, -типом (е, (е, *)> для двухместных констант, -типом (е, <(..., еу (е, *).»)), где е появляется п раз, для «-местных констант. • Синтаксическая категория формул является типом I. Связки (или логические контакты) —I, Л, V, =>, = также можно считать базисными синтаксическими выражениями. • Синтаксическая категория связки ~1 является типом <*, *>• • Синтаксическая категория связок Л, V, =>, = является ТИПОМ (I, <*, *». • Если а-элемент категории <7, *> и А- элемент категории *, то аА- элемент синтаксической категории I. • Если Р-элемент категории <*, <*, *>> и А-элемент категории I, то А$-элемент синтаксической категории 15-4465
114 2. Интенсиональная логика и естественный язык • Если А -элемент синтаксической категории I и лс-переменная (которая есть элемент категории ё), то УхА и ЗхА- элементы синтаксической категории I. Этот синтаксис позволяет строить формулы языка У? ±. Он же дает возможность проверить, является ли некоторая последовательность символов А формулой в У?и т.е. принадлежит ли А синтаксической категории л Например, рассмотрим утверждение «все люди смертны». Его, как известно, можно представить формулой Ух(Н(х)=>М(х)). Последовательность синтаксических правил, необходимых для доказательства того факта, что указанное сочетание символов действительно образует формулу данного языка, можно получить из синтаксического дерева, изображенного на рис. 2.1. Чх(Н(х)эМ(х)): I V* (Н(х) Э М(х)) : г (Н(х)э): (М> Н(х): I #:(е,*) х:е Э: (*,(*,*» М:(е,*) х: е Рис. 2.1. Синтаксическое дерево формулы Ух(Н(х) з М(х)).
2.2. Типизированная экстенсиональная логика 115 2.2.8. Логический язык порядка выше 1 Базисными выражениями языка У?\ являются индивидные константы Су индивидные переменные x^ и предикатные константы Ру Каждому из этих базисных выражений был приписан определенный тип. Введем теперь для них явное обозначение. Индивидные константы (они имеют тип ё) будут обозначаться Суе. В то же время индивидные переменные, которые тоже имеют тип е, обозначим через Хуе. Первый индекс в этих обозначениях является натуральным числом и выполняет роль номера. Второй индекс характеризует тип (или синтаксическую категорию рассматриваемого выражения). Обозначения такого рода позволят очень просто определить типизированный логический язык (он обозначается Уг, и порядок его выше 1). Синтаксис • Базисными выражениями языка Уг являются -индивидные константы любого типа а, обозначаемые Суа (/-целое положительное число); -индивидные переменные любого типа а, обозначаемые Хуа (/-целое положительное число). • Множество Еа выражений типа а определяется для всех типов а рекурсивно следующим образом: -любая константа типа а принадлежит множеству -любая переменная типа а принадлежит множеству -если а принадлежит множеству Е^ь ау и Р принадлежит множеству Еь, то аф)еЕа; -если А и В принадлежат множеству Ег, то —\А, АУ В, А А В, А=> В и А = В тоже принадлежат Ех\ -если А принадлежит множеству Е( и х является переменной (неважно, какого типа), то УхА и ЗхА также принадлежат Ег. Этот синтаксис позволяет, например, записать формулу ^Хие, /> [*/.<«. '> (С1.*) ^ ХЯе, /> (С2,е)] , 15*
116 2. Интенсиональная логика и естественный язык которая гласит: для всех одноместных предикатов Р из истинности Р(с1)в) вытекает истинность Р(с2,е)- В определенном выше языке предикатные константы могут быть переменными. В таком случае говорят о предикатных переменных. Такой язык составляет частицу класса логических языков второго порядка. Они содержат, в частности, предикаты, аргументы которых сами являются предикатами. Языки, располагающие предикатами от предикатов, принадлежат к классу логических языков третьего порядка. Например, следующая формула принадлежит языку третьего порядка: У**«е. '>, '> [*/.«*. '>. 1)(Хи<е, />) 3 */,«<?, />, />(*2,<е, />)] * Эта формула гласит: для всякого предиката Р, зависящего от каких-либо предикатов, из истинности Р для предиката *1,<<?,/> вытекает истинность Р для предиката х1у^ ,>. Мы уже говорили о необходимости поддержания тесного параллелизма между грамматической структурой и семантической интерпретацией формул языка (разд. 2.1). Поэтому в грамматике типизированного языка У?г предстоит установить точный параллелизм между синтаксическими правилами и правилами семантики. В рамках типизированных языков для обозначения возможного семантического значения некоторого выражения, принадлежащего определенному типу, принято использовать специальный термин -возможную денотацию [54]. Символом Иа будем обозначать множество возможных денотаций для выражений типа а. Возможная денотация относительно непустого множества 5 определяется рекурсивно следующим образом: • Я, = <1ег{1, 0}, • й(агьу = Ле{Оьа, т.е. множество функций из йа в йь для всех типов а и всех типов Ь. Рассмотрим, например, выражения типа (е, I) (т.е. одноместные предикатные константы). Вышеприведенное определение показывает, что возможной денотацией /)<«,,,> является /)?«= {1, О}5, т.е. множество всех функций, которые
2.2. Типизированная экстенсиональная логика 117 каждому элементу из 5 сопоставляют некоторое значение истинности. Точно так же проверяется справедливость соотношения !><..<*.» = аег^/> = ({1,0}5)5. Возможная денотация для двухместных предикатных констант соответствует семантическому значению таких констант (§ 2.2.4, 2.2.6). Оператор отрицания принадлежит типу (I, I) (§ 2.2.6). Возможной денотацией для выражений этого типа является %,> = ^{,-0» = {1,0}{1-°>, т.е. множество всех функций, сопоставляющих значение истинности значению истинности. Семантика для типизированного языка основывается на понятиях: модели для языка (§ 2.2.3), функции присваивания значений индивидным переменным (§ 2.2.4) и возможной денотации. Моделью типизированного языка называется пара Л = (5, V), где К-функция интерпретации, приписывающая каждой нелогической константе с^а типа а из данного языка некоторую денотацию, взятую из множества Оа. Функция присваивания значений переменным обозначается через д. Она каждой переменной х^а типа а присваивает некую денотацию, взятую из множества Эа. (Это осуществляется для всех } и для всех а.) Денотация выражения а из данного языка относительно модели М при функции присваивания д обозначается через [а]-**. Она определяется рекурсивно с помощью нижеследующих семантических правил. Семантика • Если х-переменная, то \х\** = д(х). • Если с-нелогическая константа, то [с]-*-* = У(с). • Если аеЕиЬ> и $еЕа, то [а(Р)]-*' = [а]^[Р]^). • Если АеЕг и ВеЕ„ то семантика выражений пЛ, АУВ, ААВ, А^>ВиА = В определяется по обычным правилам. • Если АеЕ( и лс-переменная типа а, то - [УхЛ]-** = 1 тогда и только тогда, когда для всех г из Эа выполняется равенство [Л]*^^г = 1, где д*
118 2. Интенсиональная логика и естественный язык является лс-вариантом функции д, полученным присвоением значения г переменной х (§ 2.2.4). - рлсЛ]**^ = 1 тогда и только тогда, когда для некоторого г из йа выполняется равенство [Л]**^ = 1, где дг является лс-вариантом функции д, полученным присвоением значения г переменной х. • Формула А (т.е. элемент из Ег) называется истинной в модели М, если для всех назначений д выполняется равенство [Л]*^^ = 1. В качестве примера снова возьмем формулу Она гласит: для всех одноместных предикатных констант Р из истинности Р(с1)в) вытекает истинность Р(с2,е)- Семантика этой формулы показывает, что индивидные константы С\,е и С2,е должны представлять один и тот же объект (из 5). 2.2.9. Ламбда-исчисление и язык У?1 Обогатим типизированный язык &± из § 2.2.7, добавляя новый оператор, который будет действовать на логические переменные. Это - ламбда-оператор (или, проще, Х-опера- тор). Он уже вводился в § 3.1.18 в [232]. Читатель несомненно знаком со способом задания множеств. Например, множество писателей можно представить выражением {х\х является писателем}. Такое обозначение является выражением, обеспечивающим однозначное задание множества. При этом переменная, которая лежит в основе характеризации множества, должна быть указана явно. Можно поискать замену для неформального выражения, определяющего множество, среди выражений формального языка (такого, как логический язык). Это приводит к обозначениям ламбда-исчисления, в которых множество представляется следующим образом: Хх [логическая формула, содержащая переменную х~\. Если А является логической формулой, то выражение Хх [Л], называемое Х-выражением, представляет множество тех х,
2.2 Типизированная экстенсиональная логика 119 для которых формула А истинна. Например, в модели М, где РПп представляет авторство литературных произведений, а сф представляет Флобера, Х-выражение Ъс[РппЫ(*)] представляет множество произведений, которые написаны Флобером. Точнее, Х-выражение отождествляется с характеристической функцией (§ 2.2.6) рассматриваемого множества, взятой относительно множества 5 всех объектов. Совершенно естественно, что Х-выражения получают ту же самую денотацию, что и одноместные предикатные константы в языке &1. Следовательно, каждому Х-выражению приписываем тип (е, I). Некое Х-выражение (совершенно так же, как любая одноместная предикатная константа) при построении выражения типа I, т.е. формулы, может комбинироваться с термами. Л-выражение Хх [Лш (сф) (*)] читается следующим образом: «такое х, что [Лш(сф) (*)]»• Так как Хх [Рпп (сф) (*)] ~ одноместная предикатная константа, то выражение Хх [Рпп (сф) х х (лс)] (сс) является формулой. Прочтение этой формулы таково: «сс есть такое х, что 17гт(сф)(*)]»• Имеются два различных способа выразить одно и то же: Ьс[Рпп(сФ)(х)](сс) и Рпп(сф)(сс). И вообще, любое выражение такого рода может записываться двумя способами: Хх[...х...](а) и [...а...]. Правило, которое позволяет перевести выражение Ъс[...*...](а) в эквивалентное ему выражение [...а...], называется правилом Х-конверсии. Второе выражение [...а...] является результатом замены всех свободных вхождений переменной х в [...*...] на а. Обратное преобразование называется абстракцией [35,], [36], [14]. Логическую формулу Н(х)=>М(х)
120 2. Интенсиональная логика и естественный язык можно прочитать так: «если х является человек, то х является смертным». Формализм Х-исчисления позволяет написать конкретизацию этой формулы двумя способами: Хх[Н(х) => М(х)] (сф) и [Я(сф) => М(сф)] . Если в качестве семантического значения сф выступает «Флобер», то эти выражения означают: «если Флобер-человек, то Флобер является смертным». Для формального определения синтаксиса и семантики языка, полученного из ^1 добавлением Х-оператора, нужно ввести дополнительно одно синтаксическое правило и одно семантическое. Синтаксис Если А -формула (т.е. элемент синтаксической категории г) и лс-переменная (т. е. элемент синтаксической категории е), то выражение Хх [Л] есть элемент синтаксической категории (е, *>• Семантика Если А -формула и лс-переменная, то выражение ЦХх [Л]]*** является функцией ке{0, I}5, определенной соотношением Н(г) = [Л]*^^г, где дг означает лс-вариант функции д, полученный присвоением значения г переменной х (разд. 2.2.4). 2.2.10. Ламбда-исчисление и язык 2?г Синтаксические и семантические правила языка ^ можно приспособить к более общему языку У?х, определенному в § 2.2.8. Действие ламбда-оператора будет распространяться не только на переменные категории е, но и на переменные всех других категорий. Синтаксис Если а является выражением синтаксической категории а и х есть переменная синтаксической категории Ь> то выражение Хх [а] принадлежит синтаксической категории (Ь, а).
2.2. Типизированная экстенсиональная логика 121 Семантика Если а является выражением синтаксической категории а и х есть переменная синтаксической категории Ь, то [Ъс [а]]**'** является функцией И: Эъ -► йа, заданной соотношением Н(г) = [а]**'0г для всех объектов геОь. Упомянутые в семантическом определении «объекты» могут иметь различную природу. Это зависит от соответствующих типов Ь. А именно они могут быть либо элементами из 5, как в случае семантического определения языка &\ (2.2.8), либо значениями истинности, либо функциями различных видов. Ламбда-исчисление послужит для вычисления семантических значений, которые следует приписать некоторым синтаксическим составляющим такого выражения, семантическое значение которого уже известно. Чтобы проиллюстрировать такое использование ламбда-исчисления, рассмотрим русскую1) версию примеров, которые навеяли название основополагающей статьи Монтегю «Ргорег Тгеа*- теп1 оГ (2иап1Шса1юп т Огётагу Еп§И8П»2) [172]. Русские фразы Логический перевод 1. Каждый человек прогуливается Ух(Н(х) => Р(х)) 2. Каждый человек любит Мари Ух(Н(х) => А(т)(х)) 3. Хотя бы один человек прогуливается Зх(Н(х) Л Р(х)) 4. Хотя бы один человек любит Мари Зх(Н(х) Л А{т)(х)) 5. Ни один человек не прогуливается ~\Зх(Н(х) Л Р(х)) 6. Ни один человек не любит Мари -]Зх(Н(х) Л А(т)(х) Фразы 1 и 2 являются конкретизациями более общей фразы, перевод которой есть формула логики второго порядка: 7. Каждому человеку присуще свойство У Ух(Н(х) => У(х)\ здесь У-предикатная переменная. Х-выражение ХУ[Ух(Н(х) => У(х))] читается следующим образом: «такое У, что каждый человек обладает свойством 1} В оригинале, разумеется, французскую.- Прим. перев. 2) «Специальное исследование квалификации в повседневном английском языке» (англ.).- Прим. перев. 16-4465
122 2. Интенсиональная логика и естественный язык У». Это Х-выражение является, стало быть, именем одноместного предиката. Справедливы соотношения Г. ХУ[Ух(Н(х)=> У(х))](Р). 2'. ХУ[Ух(Н(х)=> У{х))](А(т)). Они являются Х-выражениями, принимающими те же самые значения, что и приведенные выше фразы 1 и 2 соответственно. Выражения Р и А (т), будучи конкретизациями предикатных переменных, имеют тип (е, *>. Следовательно, Х-выра- жение ХУ[Ух(Н(х) => У(х))~\ имеет тип «е, *>, *>. Оно эквивалентно русской фразе «каждый человек». Механизм преобразования логической формулы в Х-выражение допускает многократное использование. Ниже приводится множество фраз, которые этот механизм позволяет породить, исходя из некоторой «начальной фразы». Указаны также тип каждой фразы и ее перевод на формальный язык. Фраза: Переводы: Фраза: Переводы: Фраза: Перевод: Фраза: Перевод: Фраза: Перевод: Фраза: Перевод: Фраза: Перевод: Фраза: Перевод: Фраза: Перевод: Каждый человек прогуливается. Тип 1. Чх(Щх)^Р(х)), ХУ^х(Ч(х)^У(х))](Р). Каждый человек. Тип ((е, *>, *>. ХУ[Ух(Н(х)=> У(х))1 Х2[_ХУ\Ух(2(х) ^ У(хЩ](Н). Каждый. Тип <<е, *>, <<е, *>, *». Х2\_ХУ\Ух{2(х)^ У(х))]]. Каждый человек прогуливается. Тип 1. 12 [_1У[Ух (2(х) =э У(х))] (Щ (Р). Хотя бы один человек прогуливается. Тип и ХУ[_Зх(Н(х) Л У(х)ШР). Хотя бы один человек. Тип «е, *>, *>. ХУ[Зх(Н(х)Л У(х))]. Хотя бы один. Тип ((е, *>, ((е, *>, *». Х2[ХУ[1х(2(х)Л У(х))]]. Ни один человек не прогуливается. Тип г. ХУ[-13х(Н(х) Л У(х))](Р). Ни один человек. Тип {{е, *>, *>. ХУ[-13х(Н(х) Л У(х))1
2.2. Типизированная экстенсиональная логика 123 Фраза: Ни один. Тип «е, *>, «е, *>, *». Перевод: А.2[АТ[-пЭл:(2(л:) Л У(х))]]. Типы, приписанные различным Х-выражениям, позволяют построить синтаксическое дерево типов (рис. 2.2). Рассматриваемое дерево связано со следующей формулой из языка Х2[ХУ[Ух(2(х) => У(х))](Я)](М). Эта типизированная формула эквивалентна формуле Ух[Я(х)=>М(л;)] \2 XV Ух 2 х э у х н М Рис. 2.2. Синтаксическое дерево формулы кг[XV[Vх (2(х) з У (*))] (Я)] (М). из языка ^1. Эквивалентность понимается здесь в том смысле, что обе формулы представляют одну и ту же фразу в некоторой модели. Соответствующая фраза-«все люди смертны». На рис. 2.3 изображена упрощенная версия синтаксического дерева, связанного с указанной формулой из языка &х. В рассматриваемом Х-выражении нет ни одной 16*
124 2. Интенсиональная логика и естественный язык составляющей, которая представляла бы неопределенное прилагательное «каждый». Зато представлены «переводы» формальных выражений. Это дает нам возможность прочувствовать одно из требований, выдвинутых Монтегю по поводу перевода фразы естественного языка в формулу логики. Речь идет о необходимости установления изоморфизма между синтаксическим анализом фразы и синтаксическим анализом формулы. (В гл. 3 будет показано, что изоморфизм существует только для случая недвусмысленных фраз естественного языка.) г \2[\У[1х(2(х) Э У(х)](Н)](М) каждый человек смертен ((«,*>,*> "" ^—^_ I ^^ \2[\У[Чх(2(х) Э У{х))](Н) каждый человек ((«А ((М).*» (е,*> (е,«) \2[\У[Чх(2(х) Э У(х))] Н М I I I каждый человек смертен Рис. 2.3. Упрощенное синтаксическое дерево. 2.2.11. Мультимодольный язык У!т Желательно придать формальному языку большую выразительность, и хотелось бы включить в него понятия «истинности в данный момент» и «возможной истинности в данный момент». Чтобы этого достичь, введем в формальный язык &х набор модальных операторов. Тем самым
2.2. Типизированная экстенсиональная логика 125 будет построен типизированный мультимодальный язык (§ 1.2.9). Хорошо бы иметь возможность выражать две разновидности модальности, а именно-временную и модальность возможного. Это позволит учитывать то обстоятельство, что некоторые значения истинности могут изменяться с течением времени. Будет также принято во внимание, что некоторые утверждения истинны лишь при определенных условиях. Язык, который мы сейчас определим, обозначается &т. Он содержит три пары модальных операторов: \Е\\ всегда истинно в будущем, {Б}: иногда истинно в будущем, [77]: всегда истинно в прошлом, <77>: иногда истинно в прошлом, □: необходимо истинно, О: возможно истинно. Синтаксис языка Л?т содержит все синтаксические правила из языка У?%, а также нижеследующие правила: Синтаксис • Если [М] представляет один из модальных операторов общности [Б], [77] или □ и А является формулой, то \М\ А есть формула. • Если (му представляет один из модальных операторов существования <(!>>, {17} или О и А является формулой, то (М}А есть формула. Семантические правила этого языка основаны на понятии модели, которое было введено в разд. 2.2.3 при рассмотрении языка высказываний &0. Модель М была нами определена как пара (5, К), состоящая из множества 5 объектов универсума рассуждений и функции V, отображающей индивидные константы языка на элементы из 5, а /1-местные предикатные константы-на подмножества множества 5я. Если рассматриваемая логика содержит модальные операторы необходимости и временные операторы, то следует обогатить упомянутую модель, снабдив ее множеством воз-
126 2. Интенсиональная логика и естественный язык можных миров IV и множеством моментов времени Т. На множестве Т будет определено отношение порядка для указания следования моментов времени. Посмотрим, каким образом можно формализовать такую модель. Для описания семантики возможных миров нужно ввести универсум Щ являющийся множеством миров и>. Модель М определяется как тройка Л = (5, Щ V), состоящая из множества объектов 5, универсума IV и функции V, которая каждой паре, составленной из элемента множества IV и нелогической константы данного языка, сопоставляет подходящую денотацию. В рамках логики возможного универсум IV состоит из реального мира и множества возможных миров. Каждый из них представляет некоторое состояние мира, которое осуществилось бы при каком-то ином ходе развития событий. Добавим еще одно измерение к модели Л, соответствующее предположению, что каждый из миров данного универсума может развиваться во времени. Различные моменты I, на которые можно будет ссылаться, принадлежат множеству моментов времени Т. Тогда модель М является четверкой М = (Б, Щ Т, V), где К-функция, которая каждой тройке, состоящей из мира и; универсума Щ момента времени I из Т и нелогической константы данного языка, сопоставляет подходящую денотацию (разд. 2.2.8). Вообще координаты «мир и момент» записывают в виде пары (мир, момент). Значение К(и>, I, с)-как К«У, *>, с), где и; и I-две координаты универсума IV х Т. Наконец, предполагается, что множество Т вполне упорядочено. Время является «линейным», т. е. для любой пары элементов 5 и г из Т выполняется следующее соотношение (см. также разд. 1.2.10): (5 < I) V (5 = I) V (/ < 5) . Чтобы явно подчеркнуть линейность времени, добавим отношение неравенства «<». Получающаяся при этом модель представляет собой пятерку М = (8, Щ Т, <, V). Семантика мультимодального языка &т определяется относительно именно такой модели М. Пусть с-некоторая нелогическая константа из У?т. Через [с]**4" обозначим семантическое значение для с относительно модели М в
2.2. Типизированная экстенсиональная логика 127 мире и; на момент времени I. Это семантическое значение определяется следующим образом: И^'=К(<и;, *>, с). Семантические правила из Л?т рекурсивным образом определяют денотацию [а]-*•и'Х9 для каждого выражения а относительно модели М в мире и; на момент времени I при функции назначения д. Семантические правила из У?т включают в себя семантические правила из У?г (в которых обозначения \й\м<9 должны быть заменены на \а\^^Х9), а также следующие правила. Семантика • Если А -формула, то {ПА}-*1™'*'9 = 1 тогда и только тогда, когда \А~\*,н/'*-9 = 1 для всех и/ из IV и всех г' из Т. • Если А -формула, то [(^А^'™'*-9 = 1 тогда и только тогда, когда [А\*^-^-9 = 1 для некоторого н>' из \Уи некоторого г' из Т. • Если А -формула, то ЦБ] А}-*'™'*'9 = 1 тогда и только тогда, когда [А~\*•и'>г'9 = 1 для всех ^, следующих за I. • Если А -формула, то [(БуА\*'™Хв = 1 тогда и только тогда, когда [А^*•",г,в = 1 для некоторого ^, следующего за г. • Если А -формула, то [[77]А\м*л-9 = 1 тогда и только тогда, когда \А\*,н,у-9 = 1 для всех г\ предшествующих • Если А -формула, то \{Л)А\М*Х9' = 1 тогда и только тогда, когда [Л]**'4''''-9 = 1 для некоторого ?, предшествующего I. (Словосочетания «*', следующий за I» и «*', предшествующий I» означают здесь соответственно <а' > I» и «^ < *».) Эта семантика отвечает вполне определенным отношениям достижимости КБ и Кп (которые являются взаимно обратными) на универсуме IV х Т. Имеем (IV, I)Кп<и/, *'>о(1 = О или (/</'ии' = м;'). (См. по этому поводу разд. 1.2.10.)
128 2. Интенсиональная логика и естественный язык Модальный оператор □, который означает здесь «необходимо и всегда», оказывается сильнее, чем временные операторы [7Г| и [77], означающие соответственно «всегда в будущем» и «всегда в прошлом». Отсюда можно заключить, что следующие формулы истинны во всех моделях, где время не имеет ни начала, ни конца: Ш^[ЩА, 1В]ПА = ПА, [77] ПА = ПА . 2.2.12. Пример В качестве иллюстрации рассмотрим модель ЛГ = (5, 1У={щ, м>2}, Т={113 12, 1Ъ},<У). Здесь двумя возможными мирами являются и^! и и^2. Эти миры рассматриваются в три момента времени гх, г2 и 1Ъ. Данные моменты связаны линейным отношением достижимости, таким, что *х < г2 < 1Ъ. (То есть *х предшествует моменту г2У который сам предшествует *3) Отношение достижимости между различными элементами <и>, I) универсума IV х Г схематически показано на рис. 2.4. Пусть множество 5 состоит из трех собственных имен существительных: 5 = {Кеннеди, Джонсон, Никсон}. Реальный мир 1Д, Возможный мир ы2 Момент *, Момент 1г (настоящее) Момент *3 »1. *1 »1» А «1» А I - иг,*2 — - »2 , *з Рис. 2.4. Элементы универсума \Ух Т.
2.2. Типизированная экстенсиональная логика 129 Припишем константам с1( с2 и с3 данного языка следующие семантические значения: К«и>, *>, сх) = [с1]*/*'н''Л0 = Кеннеди для всех и; и всех I, К«и>, *>, с2) = [с2],*'1М'в' = Джонсон для всех и; и всех I, К«и>, *>, съ) = 1с3]-*'™'''9 = Никсон для всех и; и всех I. Семантическими значениями констант сх, с2 и с3 являются конкретные личности. Эти семантические значения не зависят от мира, в котором происходит действие и от момента времени, на который делается ссылка. Например, личность до фамилии «Кеннеди» так и останется «Кеннеди» во всех мирах и при любых моментах времени. Формальный язык располагает еще и константой с4, с которой связывается имя совокупности «президент», которое представляет некую функцию в данном мире. Значение этой функции, т.е. та личность, которая занимает должность «президента», зависит от момента времени, когда происходит действие, а также от того мира, в котором развиваются события. Р«М>,с4) Ш1 ыг *1 '*2 <3 1 Кеннеди Джонсон Никсон Никсон Никсон Джонсон Рис. 2.5. Семантическое значение индивидной константы с. В реальном мире и^ Кеннеди был предшественником Джонсона, который сам был предшественником Никсона. Можно Также вообразить некоторую последовательность президентов в возможном мире и>2, где Никсон взял бы верх над Кеннеди на президентских выборах 1960 г. Семантические значения константы с4 заданы на рис. 2.5. Пусть одноместная предикатная константа Рс имеет своим семантическим значением множество тех людей, которые обладают недвижимостью в американском штате Калифорния. Семантические значения этой предикатной константы 17-4465
130 2. Интенсиональная логика и естественный язык определяются функцией К«У, *>, Рс), которая задана таблицей на рис. 2.6. Эта функция V позволяет вычислить семантические значения формул данного языка. Давайте перенесемся в реальный мир (и^) по состоянию на настоящий момент времени (*2). Зная значения К«у, />, с3) и К«у, *>, Рс), заключаем, что [/>с(с3)]'4Г,и'1,'2в'= 1, т.е. чт#о Никсон действительно обладает недвижимостью в Калифорнии. Можно задаться и таким вопросом: «владеет ли президент какой-либо недвижимостью в Калифорнии?» Для получения ответа нужно найти значение выражения |[/>с(с4)]]*4Г'и'1''*0. Так как равенство У({^1, *2)>, с4) = Джонсон не принадлежит множеству У({\^1, *2>, Рс) = {Никсон}, то [Рс(с4)]^г,н'1'/2'0 = 0. То есть оказывается, что президент не располагает какой-либо недвижимостью в Калифорнии. Значением выражения {{Б} Рс(с4)]-^,н'1'/2^ является 1, потому что РКи>19 13}, Рс) совпадает с множеством {Джонсон, Никсон}. В нем содержится множество {Никсон}, т.е. значение функции У((м1, 13), с4). Значения выражений [V*{Б) Ре(х)]-*-™»**в и 1Чх(1Г)Рс(х)У>»^е равны 0, ибо ни У((щ, 13), Рс), ни У«щГ>Л) {Кеннеди, Джонсон} {Джонсон, НИКСОН} {Никсон} {Кеннеди} (Джонсон, Никсон} {Кеннеди, джонсон, Никсон} Рис. 2.6. Семантическое значение предикатной константы Рс. У(™1> ^)» Л) не равны множеству 5 = {Кеннеди, Джонсон, Никсон}. Следовательно, значение выражения 1\/х(Б)Рс(х) V V Ух^ГГуР^хЦ-*'™*'1*9 тоже 0. Напротив, значение выражения 1Ух[(Б)Рс(х) V (П)Рс(х)\у-»^ есть 1, потому что каждый элемент из 5 входит либо в У((^^, *3)» Ре) ~ = {Джонсон, Никсон}, либо в ККи^, ^>, Рс = {Кеннеди, Джонсон}.
2.3. Интенсиональная логика 131 2.3. Интенсиональная логика 2.3.1. Введение Со времен Фреге (основателя современной семантики) вопрос о значении составляет центральную тему философских исследований, ведущихся в аналитических традициях. Этот вопрос представляет интерес как для философии, так и для логики и лингвистики. В самом деле, некоторые разработки позволили бросить свежий взгляд на фундаментальные понятия теории значений, понятия денотата и истины. И это сделало вновь актуальными некоторые традиционные вопросы философии. Такими разработками явились: развитие Тарским формальной семантики формализованных языков, исследование Крипке семантики возможных миров модальной логики, труды Монтегю по интенсиональной логике. Кроме того, эти разработки предоставили семантике естественных языков средства для строгого анализа соответствующих структур. Монтегю дал понятию интенции точное определение и разработал композиционную рекурсивную семантику как для экстенции, так и для интенции. Тем самым он реализовал семантическую программу Фреге и построил формальный язык (интенсиональную логику), который послужил ему средством для представления и исследования естественного языка. 2.3.2. Смысл и денотат Проиллюстрируем разницу между понятиями смысл и денотат на примере. Если мы рассмотрим два утверждения: тавтологию «утренняя звезда есть утренняя звезда» и высказывание «утренняя звезда есть вечерняя звезда», то известно, что в обоих случаях содержащиеся в них обозначаемые выражения обозначают один и тот же объект. Это планета Венера. Однако в отличие от первого второе утверждение не является простой тавтологией. Действительно, оба высказывания «утренняя звезда» и «вечерняя звезда>> не означают одно и то же. Будь это не так, достаточно было бы уяснить 17*
132 2. Интенсиональная логика и естественный язык для себя этот факт, чтобы узнать а рпоп, что утренняя звезда является вечерней звездой. Однако тождественность объектов, обозначаемых этими двумя фразами, долгое время игнорировалась произносящими их. Именно чтобы учесть смысловой (или отличный от информативного) аспект этих фраз, Фреге ввел различие между их смыслом и их денотатом. Эти выражения обозначают один и тот же объект или имеют один и тот же денотат (планета Венера), но они коннотируют различные свойства, т.е. имеют различный смысл. Фреге распространил это различие на все фразы и все предикаты. Смыслом фразы является высказывание, т. е. та мысль, крторую выражает фраза. Денотатом же фразы является ее значение истинности. 2.3.3. Принцип композиции в контексте без денотата Семантика для мультимодального языка &т была определена в разд. 2.2.11. Семантические правила определяют денотацию для модальных формул, таких, как □ А и О А. Желательно иметь возможность приписывать денотацию самим операторам □ и О таким образом, чтобы денотация формул О А и О А могла определяться в терминах денотаций их составляющих □, О и А. Мы применим подход, подобный разработанному в разд. 2.2.6 (например, для отрицания). Там унарной связке приписывалась некая денотация, а затем было показано, что семантическое значение {~\А} формулы —\А является композицией семантических значений [~1] и [Л] ее составляющих. (То есть [~1Л] = [~1][Л].) Очевидно, что этот подход связан с использованием принципа семантической композиции (разд. 2.2.4). Процедура, приемлемая для логических связок, на модальные операторы непосредственно не распространяется. Действительно, денотация формулы (Б)А представляет собой значение истинности, не являющееся функцией значений истинности формулы А. Формула (Б} А может быть истинной в тот момент, когда формула А ложна. Например, если А представляет высказывание «Рейган является президентом Соединенных Штатов», то формула А ложна в момент г = 1960 г., тогда как формула (Б} А истинна в тот же самый
2.3. Интенсиональная логика 133 момент. На этом примере видно, что денотация формулы {Б} А зависит от денотации формулы А в другие моменты. Это контрастирует с тем, что наблюдалось в случае с отрицанием, ибо денотация формулы —\А в каждый момент зависит только от денотации формулы А в этот же самый момент. Именно по этой причине оператор ~п называется «истинностно-функциональным», тогда как модальные операторы так не называются. Существуют многочисленные фразы, денотация которых не может быть определена в терминах денотации их частей. Например, рассмотрим словосочетание «серый дом». Легко согласиться с тем, что денотацией существительного «дом» является множество домов, а денотацией прилагательного «серый»-множество объектов серого цвета. Денотация для словосочетания «серый дом» есть пересечение двух упомянутых множеств. Однако дело сразу усложняется, как только прилагательное «серый» заменяется на прилагательное «следующий». Весьма затруднительно построить множество, элементы которого были бы «следующими объектами». Значит, допускать и далее, что денотация словосочетания «следующий дом» является пересечением «множества домов» и «множества следующих объектов», нельзя. Именно для решения проблем, связанных с некомпозиционностью денотации, Фреге предложил делать различие между смыслом выражения и его денотатом [63]. Денотат (по Фреге) некоторого выражения соответствует тому, что мы уже назвали денотацией этого выражения. Слова «денотат», «денотация» и «экстенция» являются синонимами. Смысл же некоего выражения соответствует тому пониманию, которое можно придать данному выражению. Фреге иллюстрировал «смысл фразы» как «идею, выраженную этой фразой». Слова «смысл», «понимание» и «интенция» используются как синонимы. Все же известна не экстенция составляющих некоторой фразы, а только их интенция. Именно поэтому оказывается возможным понимать фразу, не зная, истинна ли она. Например, денотат некоторого сложного выражения остается неизменным, если какое-то из его подвыражений заменить другим с тем же самым денотатом. (В этом состоит лейбницев принцип неразличимости тождественного.)
134 2. Интенсиональная логика и естественный язык Однако в косвенной речи, которая порождает нессылочные контексты, этот принцип общезначимым уже не является, ибо при замене выражений, составляющих фразу, выражениями, имеющими те же самые денотаты, денотат фразы может иногда изменяться. Например, значение истинности фразы «Коперник верил, что орбиты планет являются круговыми» не является функцией от значения истинности (здесь это ложна) подчиненной части предложения. Она не может быть заменена каким угодно ложным предложением. Фреге не считал, что он упустил из виду ограничить область действия принципа композиционное™ смысла, который гласит: значение целого есть функция значений его частей. Он просто заключил, что в контекстах без денотата (или косвенных) термы (в нашем примере-подчиненная часть предложения) не имеют своих обычных денотатов, а отсылают к тому, что обычно является их смыслом. Следовательно, в таких контекстах денотат фразы, приведенной выше, является функцией смыслов составляющих ее выражений. Однако сам Фреге не развил интенсиональную логику, или логику смысла, которая позволила бы ему исследовать эти «интенсиональные контексты». 2.3.4. Интенция и экстенция Установив различие между «смыслом» и «денотатом», Фреге попытался решить проблемы, связанные с нессылочными контекстами без денотата (модальные контексты, контексты верований и т.д.). Он допускал, что выражения естественного языка содержат некоторую разновидность «двусмысленности», обусловленную следующим обстоятельством. Выражение обладает некоторой «нормальной» дено- тацией (т. е. денотацией, подобной той, которая была определена для формальных языков). Однако в некоторых случаях это выражение «денотирует» (или представляет) то, что является его смыслом. Например, словосочетание «президент Соединенных Штатов» в некоторых случаях может означать ту личность, которая является президентом Соединенных Штатов, а в других случаях-исполнение функций президента Соединенных Штатов. Первое значение отсылает
2.3. Интенсиональная логика 135 к некоторой личности (это «нормальная» денотация), тогда как второе отсылает к некой функции. Никто иной как Карнап [27] первым попытался формализовать понятие смысла. (В контексте некой рассмотренной им формализации используются термины интенция и экс- тенция вместо слов смысл и денотат.) Карнап предложил определить интенцию некоторого выражения как множество всех экстенций, которые может иметь это выражение. У Монтегю это множество представляется в виде некоторой функции, область определения которой является множеством всех возможных состояний данного мира (в смысле семантики Крипке), а область значений-множеством экстенций. Если возможные миры обозначаются парами <у, 1} (см. разд. 2.2.11), то интенция есть функция, отображающая множество таких пар в множество экстенций. Константа представляет объект. Интенция константы является, следовательно, функцией, действующей из множества пар в подмножество элементов из 5. Одноместный предикат имеет в качестве денотации множество объектов. Значит, интенция одноместного предиката есть функция, отображающая множество пар в множество подмножеств из 5. Формула обладает денотацией в виде некоторого значения истинности. Следовательно, интенция формулы является функцией, действующей из множества пар в множество значений истинности. Иногда интенцию формулы называют «высказыванием». Введем одно обозначение для представления интенции. • Если а-некое выражение, «^-некоторая модель и д-функция присваивания (для переменных), то запись Ми* означает интенцию выражения а относительно модели М при присваивании д. 2.3.5. Пример Для иллюстрации понятия интенции обратимся снова к примеру из разд. 2.2.12. Используя таблицы, представленные на рис. 2.5 и 2.6, получаем интенции для константы с4
136 2. Интенсиональная логика и естественный язык и предикатного имени Рс: {с*}?*9 = {<>!, *!> -► Кеннеди, (м1, *2> -► Джонсон, (^1* 1ъ) ~* Никсон, <и>2, ^> -► Никсон, <(и>2, *2> -* Никсон, <(и>2, *3) ~* Джонсон}, И^ = {015 *!> -► {Кеннеди, Джонсон}, <>!, 12) -► {Никсон}, 0^1» *з) ~* {Джонсон, Никсон}, (у>г> 11)-* {Джонсон, Никсон}, <(и>2, *2> -> {Кеннеди}, <(и>2, *3> -► {Кеннеди, Джонсон, Никсон}}. Из интенций для с4 и Рс выводим интенцию для формулы Рс(с <>2> *1> ~> Ь <>2> *2> ~> °> <>2> *2> ~> !}• 2.3.5. Формализация интенции Пусть с-нелогическая (или индивидная, или предикатная) константа. Вычисление интенции \с\&в сводится к оценке той денотации, которую функция К приписывает константе с в каждый допустимый момент и в каждом из миров, входящих в модель М. Значит, определение интенции и экс- \ тенции можно вывести одно из другого: интенция является ) набором экстенций, а экстенция получается путем оценива- | ния некоторой интенции в какой-то отдельной точке. Все это 1 можно записать формально следующим образом (здесь а ^ есть некое выражение): ] ЫАв = {<*, 0 - И*^'"'^ I * € ж ге т}. | В частности, если а-нелогическая константа (обозначим ее | буквой с), то ] Ы& = йег {<*, />, - »«*, />, с)| *е Щ 1е Т} . Интенцию какого угодно выражения данного языка можно 1 вычислить, исходя из приведенного определения и используя 1 семантические правила интенсиональной логики (см. | разд. 2.3.9). 1
2.3. Интенсиональная логика 137 В частности, интенция некоторой формулы данного язы- жа получается так. Сперва определяется денотация этой формулы для каждой пары (у?, *> (по семантическим правилам). Затем вычисленный указанным способом результат записывается в виде некоторой функции, сопоставляющей подходящее значение истинности каждой из упомянутых пар. Например, в § 2.3.5. было показано, каким образом можно найти интенцию формулы Рс(с4), исходя из интенций для Рс и с4. Она однозначно получается из экстенции для Рс и с4 с ^использованием некоего семантического правила, гласящего, что [Рс(с^)\а(^Х9 = 1 тогда и только тогда, когда [с4р'^€[Ре]^. Интенсиональная логика Монтегю является формальным языком, который состоит из выражений, обозначающих денотации интенций, и выражений, обозначающих денота- ции экстенции. Монтегю предложил сопоставить каждому выражению данного языка другое выражение, которое обозначает денотацию интенции первоначального выражения. Точнее говоря, он взял оператор интенции, который обозначается символом Л и определяется следующим образом. • Если а-некоторое выражение, то Ла является таким выражением, денотация которого (или семантическое значение) ра]^*1^ есть [аЦ-*. Так как выражение Рс(с4) является формулой языка ^т, то выражение ЛРс(с4) есть формула интенсионального языка, полученного из У?т. Денотация этой формулы, а именно [ЛРс(с4)]]Жн"'0, в силу данного определения равна \Рс(с4)]и,в. Следовательно, она не зависит от и; и I (см. разд. 2.3.5). Поскольку понятие интенции определено для всех выражений данного языка, то, исходя из Ла, можно строить такие выражения, как лла, ллла и т.д. Выражение [ла]^Гн'/^ не зависит от пары <и>, *>, а поэтому денотация для ЛЛа (т.е. [ла]^^) является константной функцией, единственное значение которой равно [а];*'*. Отсюда следует, что рассмотрение выражений наподобие ЛЛа, ллла и т. д. интереса не представляет. 18-4465
138 2. Интенсиональная логика и естественный язык Монтегю ввел еще и оператор экстенции, который обозначается через у и является обратным к оператору интенции Л. Он определяется следующим образом. • Если а-выражение, денотирующее некоторую интенцию, то уа есть такое выражение, интенция которого является экстенцией выражения а, т.е. Легко усмотреть, что оператор экстенции действительно является обратным к оператору интенции, т. е. выполняется тождество 2.3.7. Синтаксис интенсиональной логики Интенсиональная логика Монтегю является таким формальным языком, который комбинирует все составляющие, введенные нами в разд. 2.2 и 2.3. Интенсиональный язык представляет собой типизированный язык, базирующийся на рекурсивном определении типов (разд. 2.2.7) и использующий кванторы существования и общности, ламбда-оператор (разд. 2.2.9), модальные операторы □, 0> М> (Б}, 174 и <77> (разд. 2.2.11), а также операторы интенции л и экстенции у (разд. 2.3.6). Как и в случае типизированной формы языка &х (разд. 2.2.7), определение синтаксиса начнем с рекурсивного определения некоторого множества типов. Базисными символами здесь будут г (для «1ги1Ь»), е (для «епйгу») и 5 (для «зепзе») Ч Символ 5 позволит сопоставить каждому типу а некий новый тип <$, а). Выражения, относящиеся к типу <$, а), имеют в качестве экстенции интенции, а именно интенции выражений типа а. Так, например, выражение типа <$, *> имеет в качестве экстенции некое высказывание, т.е. функцию, сопоставляющую парам значения истинности. Выражение типа <$, е) 1} В переводе с английского эти слова означают соответственно: «истина», «сущность» и «смысл».- Прим. перев.
2.3. Интенсиональная логика 139 цмеет в качестве экстенции индивидный концепт, а выражение Шт <5, (е, *» обладает в качестве экстенции неким свойством и т. д. О значениях этих новых типов более подробно будем говорить в следующем параграфе, посвященном интенсиональной семантике. А пока опишем правила построения. • Базис: е и г являются типами. • Индукционный шаг: - если а и 6-типы, то выражение (а, Ь} является типом; -если а-тип, то выражение <$, а) является типом. • Тип определяется только правилами, описанными в базисе и индукционном шаге. Синтаксическими правилами интенсионального языка (который обозначается ^7) являются синтаксические правила языка Л?т, а также правило для оператора интенции А и правило для оператора экстенции у. Интенсиональный язык &1 в точности совпадает с тем формальным языком, который использовал Монтегю. Теперь самое время описать полное множество синтаксических правил этого языка. • Базисными выражениями данного языка являются: -нелогические константы любых типов а (они обозначаются через с,->Л, где } означает целое положительное число); -переменные любых типов а (они обозначаются через лсу>Л, где У означает целое положительное число). • Множество Еа выражений типа а для всех типов а определяется рекурсивно: -любая константа типа а принадлежит множеству Еа\ -любая переменная типа а принадлежит множеству Еа\ -если выражение а принадлежит множеству Еа и х является переменной типа Ь, то выражение Хх[а] принадлежит множеству Е(Ьау\ -если выражение а принадлежит множеству Е^аЬу и выражение Р принадлежит множеству Еа, то выражение а(Р) принадлежит множеству Еь\
140 2. Интенсиональная логика и естественный язык -если выражения аир принадлежат множеству Еа, то равенство а = Р принадлежит множеству Е%\ -если формула А принадлежит множеству ЕЁ, то и формула —\А принадлежит множеству Е%\ -если формулы А и В принадлежат множеству Е{, то формулы А У В, А А В, А => В и А = В тоже принадлежат множеству Ех\ -если формула А принадлежит множеству Е{и х является переменной (какого угодно типа), то формулы УхА и ЗлсУ принадлежат множеству Ех\ -если формула А принадлежит множеству Е„ то формулы иЛ9 <М, \_Б\А, (Б)А, [ЩА и (П)А тоже принадлежат множеству Е%\ -если выражение а принадлежит множеству Еа, то выражение Ла принадлежит множеству К^ау, -если выражение а принадлежит множеству Е^5ау, то выражение уа принадлежит множеству Еа. Следует отметить, что это множество правил является избыточным. Можно было бы обойтись меньшим числом логических связок и модальных операторов. 2.3.8. Интерпретация интенсиональной логики Монтегю, когда он еще не вступил на путь формального исследования семантики естественного языка, был озабочен тем, чтобы соблюсти принцип композиции в семантических правилах интенсиональной логики. Этот принцип формулируется следующим образом: Экстещия некоторой формулы является функцией от элементарных экстенций для тех выражений, которые не входят в нессылочные контексты, и функцией от интенций для тех выражений, которые входят в контексты без денотата. (Речь идет о выражениях, являющихся частями рассматриваемой формулы.) (Здесь Монтегю намекает-это прослеживалось и у Фре- ге-на контексты веры и вообще на все контексты, вводимые косвенной речью.)
2.3. Интенсиональная логика 141 Моделью М для интенсионального языка &1 называется пятерка (5, Щ Т, <, К), состоящая из множества объектов 5, множества \У возможных миров и>, множества Т моментов времени *, отношения полной упорядоченности < на Т и функции интерпретации V, которая каждому базисному выражению данного языка приписывает некоторую денотацию (или семантическое значение). Задаются рекурсивные правила, которые показывают, каким образом денотация сложного выражения строится как функция от денотаций его частей. Это именно те правила, Хоторые приводят в действие принцип композиции. Пусть а-какой-либо тип. Через Эа обозначим множество возможных денотаций для выражений типа а. Определение (обобщающее определение из разд. 2.2.8) состоит в следующем: • Ое = <*<*$> • • В, = а*{1,0}, Соотношение 0(а,ьу = &ьа следует читать так: денотация выражения типа (а, Ь} является функцией, аргументы которой берутся из денотаций йа и которая принимает значения из денотаций йь. Соотношение 0(5,ау = &?* т надлежит произносить следующим образом: денотация выражения типа <$, а) (т. е. выражения, которое денотирует какую-то интенцию) является функцией, аргументы которой берутся из множества IV х Г пар <и>, *> и которая принимает значения из денотаций йа. Рассмотрим в качестве примера фразу «Земля шарообразная». Она является интенсиональным выражением типа ^л, *>, а ее денотация, т. е. ее смысл (потому что речь идет об интенсиональном выражении), является высказыванием, т.е. некоторой функцией из IV х Г в {1, 0}. В данном случае эта функция принимает значение 1 во всех возможных мирах ж во все те моменты времени, когда Земля шарообразна. Например, это выполняется в нашем мире в текущий мо-
142 2. Интенсиональная логика и естественный язык мент. Упомянутая функция принимает значение 0 в возможных мирах в те моменты времени, когда Земля не является шарообразной. Например, такое осуществляется в мире, описанном в древнеегипетской мифологии, согласно которой Земля имеет якобы форму плоского диска. Таким же способом можно показать, что интенция одноместного предиката, непереходного глагола или нарицательного имени является функцией, аргументы которой принадлежат множеству \Ух Т и которая принимает значения из экстенции данного предиката. То есть это его характеристическая функция (разд. 2.2.6). Различие, существующее между экстенцией и интенцией, предоставляет возможность понять, каковы причины того, что коэкстенсивные1} предикаты не являются синонимами; например, предикаты «пассажиры с корабля «Мейфлауэр» и «основатели города Плимут в американском штате Массачусетс». Они не обладают одной и той же интенцией, так как не существует множества, соответствующего им обоим во всех возможных мирах и во все моменты времени. Множество возможных интенций для выражений типа а определяется как 0^хау2). Функция К приписывает каждой нелогической константе типа а некоторый элемент из #<5>а>. По причинам удобства и следуя тем формулировкам, которые используются в Х-исчислении, произведем модификацию выражения для функции К В § 2.2.11 была определена функция интерпретации V как функция двух аргументов (а именно пары (м, *> и нелогической константы с), принимающая семантические значения. Это записьюается так: Займемся преобразованием этой функции К в другую функцию, которая будет обозначаться тоже через К и единственный аргумент которой будет нелогической константой с. Значением У(с) будет какая-то интенция, т.е. функция, отображающая пары <и>, *> в множество подходящих денота- 1} То есть обладающие общей экстенцией.- Прим. перев. 2) То есть как множество возможных денотаций для выражени! типа (з, а}-Прим. перев.
2.3. Интенсиональная логика 143 ций. Определение выглядит следующим образом: И(с)«^/» = И^^. Рассмотрим теперь некоторую функцию назначения д, отображающую множество переменных в множество денотаций. Для переменной х типа а значением д (х) является элемент из множества Эа. Отметим, что функция д приписывает каждой переменной некоторую экстенцию, а функция К-каждой нелогической константе некую интенцию. Функции V и д позволяют определить рекурсивным образом экстенции всех выражений а из языка 5^1 относительно модели М в мире и>е И'на момент времени 1е Тдля функции присваивания д. Упомянутая экстенция обозначается через 2.3.9. Семантика интенсиональной логики • Если с является нелогической константой, то экстенция для с относительно М, и>, г, д1} получается вычислением интенции К (с) для пары <у, *>, т.е. М^^ = К(с)«^/>). • Если х—переменная, то [*]•*• "^ = д(х). • Если а-элемент из Еа и х-переменная типа Ь, то выражение [Хх [а]]-*'1"'''* есть функция И: Эь -+ Эа, определяемая соотношением И (г) = [а]**4'''^ для всех геЪь, где дг означает х-вариант функции д, полученный присваиванием переменной х значения г. • Если а-элемент из Е^аЬу и 0- элемент из Еа, то • Если а и Р-элементы из Еа, то [а = $\*-™-*-0 = 1 тогда и только тогда, когда [а]-*'1"'''* = [Р]-*'1^. ■ • Если А -элемент из Ег, то [-иЛТЦ**'1"'''* равно 1 или О в соответствии с тем, 0 или 1 равно [Л]**'1"'''*. 1} Сокращенный оборот «относительно М, н\ I, д» расшифровывается как «относительно модели М в мире н> е Н^на момент времени 1бТ для функции присваивания д».-Прим. перев.
144 2. Интенсиональная логика и естественный язык • Если А и В -элементы из Е{, то [А V вУ'™Хв = 1, если [А\*'™'1'9 = 1 или если [В\*-™Х9 = 1; аналогично определяется семантика для формул А А В, А=>ВиА = В. • Если А -элемент из Ег и х-переменная (какого угодно типа), то {УхА}-*'™'*-д = 1 тогда и только тогда, когда [Л]^'н''/'9' = 1 для всех присваиваний д', являющихся лс-вариантами функции д\ семантика для ЗхА определяется двойственным образом. • Семантика модальных формул О А, О А, 1Б}А, {В} А, [77]А и <77)Л, где А -элемент из Е(, определена в разд. 2.2.11. • Если а-элемент из Еа, то [Ла]-4Г'иав' есть функция к: \Ух Т-*йа, определяемая соотношением й(<и/, *'» = = 1аУ-*-<-* для всех м'еЩ ГеТ. • Если а-элемент из 7?<5>а>, то [Чау.*ш = [а]-*^(<н>,/>). • Если А -формула (т.е. элемент из Е{), то А называется истинной в модели М для пары <и>, *>, если [Л]**'1"'''* = 1 для всех присваиваний д. • Если а-элемент из Еа, то интенцией для а относительно модели Л при присваивании д (это обозначается через М^) является функция к: IV х Т-+Оа, определяемая соотношением А«и>, *)) = [а]-*'1"'''* для всех Это последнее правило вместе с определением функции [Ла]**н''''0 позволяет записать два равенства, которые уже встречались в разд. 2.3.6: [а];*'* = [Ла]-*'иав' и 2.3.10. Краткое повторение интенсиональной логики Здесь мы приводим все те определения, которые относятся к логическим языкам, введенным в разд. 2.2 и 2.3. Нам кажется, что это позволит читателю быстрее находить основные определения и осуществлять их привязку в соответствующем контексте. Если а является неким выражением
2.3. Интенсиональная логика 145 некоторого языка какой-то интенсиональной логики, то запись представляет семантическое значение выражения а. Это семантическое значение вычисляется относительно модели Л, функции присваивания д, мира и; и момента времени I. Модель М является пятеркой (5, Ж Т, <, V), где • 5-множество элементов (или объектов), которые образуют область интерпретации данного формального языка (множество 5 называется также универсумом рассуждений)\ • IV- множество возможных миров и>; • Т- множество, состоящее из моментов времени 1\ • < -отношение полной упорядоченности на Т, • V-функция интерпретации, которая сопоставляет элементы из 5 индивидным константам, а множества л-ок элементов из 5-предикатным л-местным константам, причем это осуществляется для всех юе\Уи всех г е Т. Функция назначения д сопоставляет элементы из 5 индивидным переменным данного языка. В случае логики порядка выше 1 эта функция д сопоставляет переменным некоторого данного типа такие значения, которые являются дено- тациями для этого типа (подробности см. ниже). Например, если лс-предикатная переменная, то ее денотация д(х) есть элемент множества {1, О}5. Семантическое значение выражения а данного формального языка получают с помощью рекурсивной процедуры, исходя из семантических значений базисных элементов данного языка (нелогических констант и переменных) и используя правила, определяющие семантику логических связок (или логических констант) —\, V, Л, => и =, кванторов V и 3, а также модальных операторов □, 0> [^\]> (Б}, [77] и <Я>. Семантика базисных элементов определяется следующим образом: • если с-нелогическая константа, то 19-4465
146 2. Интенсиональная логика и естественный язык • если лс-переменная, то В рамках типизированной экстенсиональной логики синтаксическая категория всякого выражения определяется как тип. Семантическое значение выражения называется также его денотацией. Всякому типу (а следовательно, и каждой синтаксической категории) сопоставляется множество «возможных денотаций», т.е. «возможных семантических значений». Это множество образует то, что можно назвать се- мантическои категорией, связанной с данной синтаксической категорией. Типы определяются рекурсивно: • е является типом (индивидные переменные и константы); • г является типом (формулы); • если а и Ь-типы, то и (а, Ь} является типом. Одноместным предикатным константам приписывается тип (е, I}, двуместным предикатным константам сопоставляется тип (е, (е, *>> и т.д. Множество возможных денотаций типа а обозначается йа. Множества йа определяются рекурсивно с помощью следующих правил: • ое = 5; • Я, ={1,0}; • !><«,*> = !>?«. Одноместным предикатным константам сопоставляется множество {1, О}5, двухместным предикатным константам приписывается множество (({1, О})5)5 и т.д. В рамках интенсиональной логики важную роль играет различие между смыслом выражения и его денотатом. Денотат выражения является тем, что в случае экстенсионального языка было названо его семантическим значением. Следующие слова и словосочетания являются синонимами,
2.3. Интенсиональная логика 147 когда они употребляются в качестве атрибутов выражений некоего формального языка: денотат = семантическое значение = денотация = = экстенция. Смысл выражения соответствует тому, что было привычно рассматривать как его значение, не зависящее от всех ссылок на контекст. Следующие два слова являются синонимами, когда они употребляются в качестве атрибутов выражений некоторого формального языка: смысл = интенция. Теперь каждому выражению а интенсионального языка соответствует уже не одно, а два выражения семантической коннотации: во-первых, экстенция выражения а, которая в точности соответствует семантическому значению выражения а в некотором экстенсиональном контексте; во-вторых, интенция выражения а. Интенция выражения а обозначается через и определяется как функция, действующая из множества IV х Т в множество экстенций выражения а и удовлетворяющая соотношению И™*«У '» = л*М-**'''' Для всех кеЩ 1еТ. Каждому выражению а сопоставляется выражение, обозначаемое через Ла и определяемое посредством следующей семантики: Ла является таким выражением (интенсионального языка), экстенция которого совпадает с интенцией выражения а. Формально это записывается следующим образом: Символ Л называется оператором интенции. Вводится также [оператор экстенций, который обозначается символом у. Щели через а обозначим некоторую интенцию, то интенция выражения уа определяется как экстенция выражения а, т. е. Ь*
148 2. Интенсиональная логика и естественный язык (Если а-интенция, то выражение [а]-^н'Л^ не зависит от выбора пары <(и>, *>.) Из этих определений вытекает закон аннулирования для оператора Л: Если с-нелогическая константа, то, полагая (по определению) и используя определение интенции, получаем равенство И^«>, *» = К«>, *>, с) для всех меЩ 1еТ. \ Экстенцию У((м, *>, с) можно записывать в виде значения, \ принимаемого функцией У(с) в точке <и>, *>. Для этого I следует положить У{сЖшУ) = мУ«»,0,с). \ Это позволяет также записывать интенцию нелогической ] константы следующим образом: * 1с}А< = У(с). | Экстенция произвольного выражения из языка интенсио-] нальной логики получается с помощью рекурсивной процедуры: начинают с экстенций для базисных элементов данного языка (они идентичны базисным элементам экстенсиональной логики), затем используются правила, касаю-] щиеся связок, кванторов и модальных операторов (как и для | экстенсиональной логики), а также правила, управляющие] операторами интенции л и экстенций у. | В рамках типизированной интенсиональной логики синтаксическая категория некоторого выражения определяется как! тип. Типы определяют рекурсивно, исходя из трех базисных] элементов: е, I и 5. Первые два из них являются элементар-1 ными типами. Они уже использовались в рамках экстенсио-1 нальных языков. Третий символ-новый; он сопоставляется! понятию интенции. Рекурсивное определение типов, начатое! выше, завершается формулировкой следующего правила: \ • если а-тип, то <д, а) является типом. з
2.3. Интенсиональная логика 149 Если а-выражение типа а, то Ла есть выражение типа <$, а). Если же а является выражением типа <$, а), то уа есть выражение типа а. Множество возможных денотаций (или экстенций) тип& а обозначается через Эа. Множества йа определяются рекурсивно с помощью вышеприведенных правил и следующего дополнительного правила: л П — П^х Т • и(5.а> — иа Если а есть некоторое выражение типа а, то его экстенция, которая обозначается [а]**-1"'^, является элементом множества ^а. Экстенция выражения Ла принадлежит, стало быть, множеству /)<5>а>. Эта экстенция, обозначаемая через [^ а\" •™Х9, тождественная интенции [а]^ выражения а. Каждому выражению а типа <$, а) (которое, следовательно, обозначает некоторую интенцию) сопоставляется выражение уа типа а. Его интенция, обозначаемая через Ра]т^ тождественна значению экстенций [а]-*'™Хв выражения а, вычисленному в точке <и>, *>. Как отмечалось в начале данного раздела, Монтегю смог реализовать семантическую программу Фреге, введя точное определение понятия интенции и разработав рекурсивную композиционную семантику для экстенций и интенции. Смысл (или интенция) определяется как функция, действующая из множества пар <и>, *> в множество экстенций. Экстенция выражения, рассматриваемая относительно пары (и;, *>, определяется как оператор, отображающий интенцию этого выражения в пару (м, *>. Монтегю, следовательно, заботится о том, чтобы сохранился композиционный принцип Фреге и чтобы, даже в нессылочных контекстах, соблюдалось правило, что экстенция целого является функцией его частей. Однако ему пришлось назначать этим составным частям такие экстенций, которые слагаются из интенсиональных элементов. Принцип Фреге в нессылочном контексте формулируется следующим образом. Экстенция фразы является функцией от экстенций ее
150 2. Интенсиональная логика и естественный язык частей, задействованных в ссылочном контексте, интенций ее частей, участвующих в нессылочном контексте, и от способа согласования этих частей. Формализм интенсиональной логики позволяет определить интенцию выражения а данного языка как экстенцию некоторого другого выражения Ла того же самого языка. В рамках формального языка интенсиональной логики принцип Фреге можно сформулировать следующим образом. Денотация формулы является функцией от денотаций ее частей, способа их согласования с помощью логических связок и от семантических правил, ассоциированных с этими связками. В указанной форме этот принцип эффективно учитывает такие конструкции, в которых экстенция целого является функцией от экстенций некоторых из его частей и от интенций каких-то других его частей. Чтобы учесть эту дихотомию в семантике данного языка, достаточно использовать логические выражения, которые денотируют интенции, т.е. выражения, начинающиеся с оператора интенции. Два следующих параграфа вместе с § 3.2.15 посвящены рассмотрению примеров, демонстрирующих использование оператора интенции. В этих параграфах продолжается исследование наречия «необходимо» и атрибутивных прилагательных, которые послужили в § 2.3.2 для иллюстрации ограничений, встречающихся в чисто экстенсиональной семантике. В дальнейшем мы часто будем обозначать множество функций с областью определения Э и областью значений С через (О -+ С). Таким образом, имеет место тождество: ф - С) = С°. 2.3.11. Наречие «необходимо», относящееся к фразе Если слово «необходимо» трактуется как функтор, который согласовывается не с р, а с Ар, то предложения вида «необходимо р» могут рассматриваться как конструкции, в которых экстенция целого является функцией от экстенций его частей. При такой трактовке оператор в в^7/, соответст-
2.3. Интенсиональная логика 151 вующий наречию «необходимо», будет выражением типа <($, *>, *>, а не типа (г, *>. Обозначим этот оператор через 1Чес1}. Его денотация-функция/из множества ((1ГхГ-{1,0})-{1,0}), т.е. /: {к IVх Г-> {1, 0}} -► {1, 0}. Оператору N60 приписывают семантическое значение |[Г4ес]*4Г,и',,,в', определяемое как функция/, действующая из множества высказываний в множество значений истинности, причем/равна 1 тогда и только тогда, когда аргумент И, представляющий высказывание, принимает значение 1 для всех пар из \У х Т. Модальную формулу □/? можно в этом случае рассматривать как сокращенную запись формулы N60(Ар). В § 3.2.15 будет показано, каким образом Монтегю использовал модальный оператор □ для перевода наречия «необходимо», принадлежащего созданной им грамматике /Т6, на логический язык. 2.3.12. Атрибутивные и предикативные прилагательные Благодаря введению интенций семантика Монтегю способна учитывать разницу между выводными возможностями, которые ассоциируются с конструкцией атрибутивное прилагательное + имя нарицательное (например, «хороший президент»), и теми, которые ассоциируются с конструкцией предикативное прилагательное + имя нарицательное (например, «американский президент»). Очевидно, что словосочетание «американский президент» означает «американский» и «президент», тогда как словосочетание «хороший президент» уже не означает «хороший» и «президент» 2). С синтаксической точки зрения прилагательные являются х) От английского "песеззагПу", что в переводе как раз и означает «необходимо».- Прим. перев. 2) То есть свойство «быть американским» автоматически переносится на всё присущее той личности, о которой идет речь, а свойство «быть хорошим» вообще говоря, не обладает такой переносимостью. Примеры приводятся далее в тексте.- Прим. перев.
152 2. Интенсиональная логика и естественный язык такими словами, которые в сочетании с именами нарицательными порождают синтагмы, опять-таки принадлежащие категории имен нарицательных. (В грамматике РТО, из § 3.2.2 эта категория обозначается через СМ.) Сказанное относится и к атрибутивным прилагательным (например, «хороший» и «бывший»), и к предикативным прилагательным (например, «вегетарианский» и «французский»). С семантической точки зрения предикативные прилагательные (например, «вегетарианский») являются функциями. Их аргументами служат классы, представленные характеристическими функциями вида 5 -+ {1, 0}. Эти функции принимают значения из других классов. Иначе говоря, например, «вегетарианский» является функцией/: {1, 0}5->{1, О}5. В сочетании с именем нарицательным (например, «президент»), которое означает некоторый класс (или, точнее, характеристическую функцию этого класса), предикативное прилагательное образует составное имя нарицательное. В данном случае это «вегетарианский президент» Ч Его экстенцией опять-таки будет некоторый класс. (А именно класс тех существ, которые являются одновременно вегетарианцами и президентами, или точнее, соответствующая характеристическая функция.) Этот анализ нельзя распространить на атрибутивные прилагательные. Недопустимо говорить, что они тоже имеют своими экстенциями функции, аргументами которых являются классы. Действительно, если бы это было так, то замена некоторого имени нарицательного, являющегося аргументом некоего атрибутивного прилагательного, на другое имя нарицательное, которое коэкстенсивно заменяемому имени нарицательному, не изменяла бы значения истинности. Однако это не так. Даже если имя нарицательное «президент» коэкстенсивно имени нарицательному «автомобилист», это отнюдь не значит, что составное имя нарицательное «хороший президент» коэкстенсивно составному имени на- 1} Строго по-русски следовало бы писать «президент-вегетарианец», хотя вполне допустимо сочетание «вегетарианское блюдо». Мы вынуждены поступиться отчасти литературной стороной ради соблюдения заданных формальных рамок.- Прим. перев.
I 2.3. Интенсиональная логика 153 [' ! рицательному «хороший автомобилист». (Хотя было бы 5 справедливо заключить, что составное имя нарицательное ! «вегетарианский президент» коэкстенсивно составному име- | ни нарицательному «вегетарианский автомобилист».) Для атрибутивных прилагательных оказывается подхо- [ дящей следующая семантика. Говорят, что эти прилагатель- | ные принимают свои экстенции не среди функций из мно- 1 жества ((5 -+ {1, 0}) -+ (5 -+ {1, 0})), а среди функций из множества ((ЖхТ->(5-^{1, 0}))->(5->{1, 0})). То есть среди тех функций, аргументами которых являются свойства (иными словами, это функции, аргументы которых суть функции, зависящие от пар <и>, 1} и принимающие значения I среди классов объектов). Те функции, о которых первоначально шла речь, принимают значения также среди классов объектов. Например, атрибутивное прилагательное «бывший» в [54] определяется следующим образом. Экстенция для «бывший» может пониматься как функция, которая принимает в качестве аргумента некоторое свойство. (В частности, свойство быть президентом.) В качестве же значения эта функция выдает класс тех объектов, которые больше не являются, но которые были когда-то элементами экстенции, соответствующей этому свойству. Экстенции для фраз наподобие «бывший президент» можно тогда определить в терминах экстенции для «президент» и для «бывший». А именно следует согласовывать «бывший» не с выражением, представляющим предикат (т. е. выражением типа (е, *», а с тем выражением, которое представляет определенное свойство (т.е. выражением типа (я, (е, *»). Чтобы это осуществить, вводится некоторое выражение, обозначенное в [54] через Рог (от слова «юг- теггу»1*). Оно имеет тип «л, (е, *>>, (е, *». Следовательно, экстенция этого выражения принадлежит множеству РхГ-(5-{1,0}Ь(5-{150})). 1} В переводе с английского означает «прежде».- Прим. перев. 20-4465
154 2. Интенсиональная логика и естественный язык Таким образом, [Рог]-*'1"'''* является функцией (совсем как 1Мес}-*-™-''д), которая имеет доступ не только к текущей экстенции рассматриваемого одноместного предиката, с которым она согласовывается, но и ко всем другим экстенциям этого предиката. По определению [Рог]-*'1^ будет функцией, которая принимает в качестве аргумента некоторое свойство (например, свойство быть президентом) и выдает в качестве значения множество тех объектов, которые прежде находились в экстенции для этого свойства. Тогда можно определить функцию [Рог];^ как такую функцию И, что для любого свойства к множество к((хи, 1})(к) совпадает с множеством к «и>, О) при некотором I' <г. Иначе говоря, для любого объекта хе8 равенство [Л «у, *»(&)] (х) = 1 имеет место тогда и только тогда, когда М^У» ОН*) = 1 для некоторого г' < г. Обратимся вновь к примеру из §§ 2.2.12 и 2.3.5. Одноместная предикатная константа Рс имеет в качестве семантического значения множество тех личностей, которые владеют той или иной недвижимостью в Калифорнии. В § 2.3.5 были произведены вычисления для функции [Рс]вд^, а именно: ИДК* = {<>1> *1> -* {Кеннеди, Джонсон}, <У15 *2> -* {Никсон}, {^2' 'з) "> {Джонсон, Никсон}, (™г-> ^) ~* {Джонсон, Никсон}, <и>2, *2> -+ {Кен- неди}, (^2» *з) ~* {Кеннеди, Джонсон, Никсон}}. Отсюда выводим: [Р0ГЛ/»с]^ = {<*!, I,) -> 0, <>2, /х> -> 0, <и>15 *2) ~* {Кеннеди, Джонсон}, <и>2, *2) -* {Джонсон, Никсон}, (™и *ъ) ~* {Кеннеди, Джонсон, Никсон}, <и>2, *3> -* {Кеннеди, Джонсон, Никсон}}.
2.3. Интенсиональная логика 155 2.3.13. Наведение единообразия в семантическом исследовании Выше уже говорилось, что Монтегю описал однозначное отображение (т. е. гомоморфизм) из синтаксиса в семантику. То есть он задал функцию, соотносящую синтаксическим категориям типы сущностей. Различные синтаксические категории могут соответствовать одному и тому же типу сущностей. Однако разные сущности не должны сопоставляться одной и той же синтаксической категории, иначе это соответствие не будет функцией. Для синтаксической категории прилагательных приходится все же нарушить этот запрет и сопоставить ей два типа сущностей: одни сущности берутся из множества функций ((5->{1, 0})->(5->{1, 0})), другие-из множества функций ((^х Т->(5->{1, 0}))-> ->(5->{1,0})). Итак, надлежит унифицировать семантическое исследование атрибутивных и предикативных прилагательных. Подравнивать ли при этом первые ко вторым или же вторые к первым? Предпочтение надо отдать последнему. Действительно, понятие свойства является более насыщенным, чем понятие класса; так что никогда нельзя получить свойство, исходя из класса. В порядке компенсации, обратное оказывается возможным. Ведь всегда удается получить нечто простое из чего-то сложного путем упрощения. Именно в этом месте у Монтегю появляются постулаты значения. Они являются такими аксиомами, в которые в качестве примитивных термов входят (внелогические) термы естественного языка. Приведем два примера постулатов значения: УхУу [х отец субъекта у => х старше, чем у\, Ух [х холостой => х неженатый] . Постулаты значения служат как раз для стирания излишка насыщенности, что приходится делать для получения единообразного подхода к исследованию некоторого класса фактов данного языка. Например, все переходные глаголы будут предусматривать некоторую семантику, которая сопоставляет им интенсиональные сущности в качестве объектов. Это 20*
156 2. Интенсиональная логика и естественный язык делается по причине существования таких глаголов, как «искать», объект которых может быть чисто фиктивным. Но так как некоторые переходные глаголы (например, «находить») требуют, кроме того, вполне реальных объектов, то вводят некий постулат значения. Он уточнит, что для всех глаголов определенной категории оказывается возможным свести интенсиональный объект к рангу экстенсионального объекта. Это является решением для рассматриваемого типа, которое кажется применимым в случае предикативных прилагательных.
3. СЕМАНТИКА МОНТЕГЮ 3.1. Представление естественных языков 3.1.1. Введение Эта глава начинается с раздела, описывающего философскую и логическую среду, в которой развивалась семантика Монтегю, и определяющего ее исторический контекст. В этом разделе продолжается и развивается изложение материала, начатое в разд. 2.1. Если же читатель интересуется исключительно продолжением изучения логического формализма, которому уже были посвящены разд. 2.2 и 2.3, то он может сразу переходить к разд. 3.2. Рассел утверждал, что «упорная зависимость от повседневного языка в нашем индивидуальном мьшшении является одним из принципиальных препятствий для прогресса в философии». Он сетовал на то, что этот язык страдает от «двусмысленностей... и отвратительного синтаксиса» [217], [215]. Философы, разделяющие это мнение, не выходят за рамки конструкций на формальных языках, полагая, что «повседневный язык не годится для логических доводов» [124]. Наиболее терпимые среди них принялись формулировать такие обозначения, которые объединили бы естественный язык с одним из уже существующих формальных языков, например с исчислением предикатов. В особенности это относится к Куайну [200], [201]. Высказанные Расселом претензии неравнозначны. Можно, конечно, согласиться с тем, что естественный язык является двусмысленным и потому должен быть реформирован, однако не очевидно, что все то, что отличает синтаксис естественного языка от синтаксиса формального языка, отвратительно. Попытка ввести в естественный язык канонические обозначения силовым приемом, будучи оправдан-
158 3. Семантика Монтегю ной с точки зрения метафизика или эпистемолога, тем не менее остается процедурой, неоправданно обедняющей запас общезначимых выводов естественного языка. Монтегю отстаивал процедуру, которая полностью противоположна объединению. Она состоит в моделировании логических исчислений средствами синтаксиса естественного языка, цель которого - формализовать общезначимые рассуждения, не поддающиеся упомянутому «объединению». Указанная идея присутствовала уже у Куайна [201] в его определении логической истинности. Это определение проложило дорогу для экстенции формализации общезначимых рассуждений. Заслуга доказательства реализуемости такой программы принадлежит Монтегю. Он начал осуществление своей программы в трех статьях. Наиболее известная из них, "Тпе Ргорег Тгеа1теп1 оГ (Зиап1Шса1юп т ОкНпагу ЕпеНзп"1* [172], доступна на французском в антологии, подготовленной под редакцией Нёфа [183]. Действовал он довольно естественным образом-подобно тому, как, скажем, при попытке продемонстрировать идею движения можно прибегнуть к примеру обычной ходьбы. Целью данного раздела является подготовка к чтению упомянутой статьи (для этого мы выделяем ее основные положения), а также подготовка к формальному определению некой категориальной грамматики для определенного фрагмента английского языка. Читатель, заинтересовавшийся формальным представлением семантики естественных языков, найдет более полное изложение этих вопросов в [82], [84], [94], [116], [118], [122] и [137]. 3.1.2. Программа Монтегю Монтегю намеревался сформулировать синтаксис и семантику для некоторого фрагмента естественного языка, чтобы они обладали такими же строгостью и точностью, как у синтаксиса и семантики формальных языков. Программу, которую определил себе Монтегю, можна вкратце изложить в следующих пяти пунктах. См. примечание в § 2.2.10.- Прим. перев.
3.1. Представление естественных языков 159 1. Разрыв между естественным и формальным языками можно сократить так, чтобы сделать приложимыми к первому те понятия семантики, которые были разработаны для второго. 2. Семантика как естественного, так и формального языков должна быть композиционной и рекурсивной. 3. Можно построить некоторую теорию интенции, которая была бы продолжением теории экстенции и являлась бы столь же строгой, как и последняя. 4. Можно придать постулатам значения такую роль, при которой эти постулаты давали бы общие обоснования для семантических фактов. 5. При придании выводу некоторой логической формы следует как можно меньше отклоняться от внешней грамматической формы. Эти пять пунктов рассматриваются в гл. 2 и 3. Сделаем несколько уточнений на этот счет. 1. В гл. 2 был построен формальный язык (интенсиональная логика), выразительные возможности которого близки к возможностям естественного языка. В данной главе естественный язык будет адаптирован в такой степени, что его перевод на язык интенсиональной логики может рассматриваться как некая алгебраическая операция. 2. По своей природе семантика интенсиональной логики является композиционной и рекурсивной. Тот процесс перевода с естественного языка на язык интенсиональной логики, который будет описан в разд. 3.2, позволяет перенести эту семантику на естественный язык. 3. Теория интенции была развита в разд. 2.3. 4. Роль постулатов значения развита в § 3.2.13 и 3.2.14. 5. Некоторая категориальная грамматика для естественного языка вводится в § 3.2.2. и 3.2.3. Этот тип грамматики позволяет фразам естественного языка поставить в соответствие такие логические формулы, которые как можно меньше отклонялись бы от их внешней грамматической формы. Иными словами, категориальная грамматика позволяет построить синтаксическое дерево фразы естественного языка изоморфным синтаксическому дереву ее перевода на логический язык.
160 3. Семантика Монтегю 3.1.3. Естественный и формальный языки Очевидное о противоположности между естественным и формальным языками Монтегю не отрицал, отлично сознавая, что естественный язык отличается от формального языка и характером эволюционирования, и теми функциями, которые он выполняет в жизни человека. Однако Монтегю отвергал, что эти практические различия соответствуют какой-то теоретической разнице. Сколько-нибудь важных различий между формальным и естественным языками вовсе не существует. Естественный язык в противоположность формальным языкам содержит семантические бессмыслицы. Например, «бесцветные зеленые идеи яростно спят». Есть в нем и двусмысленные выражения. К примеру, слово «кран». Даже взятое в своем прямом смысле оно имеет два значения. На пути построения определения истинности для естественных языков, удовлетворяющего требованиям Тарского, возникают только эти препятствия. Но их можно устранить. Один из способов состоит в том, чтобы работать не с естественным языком, а с некоторым фрагментом естественного языка. В нем запрещены все лексически двусмысленные выражения. Например, такие, как «кран» в русском языке1* и "сгапе" в английском. Именно этот способ принял Монтегю в статье "ТЬе Ргорег Тгеа1теп1 оГ (Зиап1Шса1юп ш ОгсИпагу Еп§И8п". Другой же способ состоит в том, чтобы сразу обосноваться в некотором полуформальном языке. (Например, это может быть исчисление предикатов, обогащенное термами из естественного языка.) Именно так поступал Куайн [199]. Некоторые возражают, что, занимаясь предварительной регуляризацией и нормализацией естественного языка в манере Монтегю, мы вступаем на скользкую дорожку. Как определить, где кончается нормализация естественного языка и начинается «объединение» в манере Куайна, то есть построение канонических полуформальных обозначений? Как только мы вводим в свою лексику переменные, то, конечно, это приводит к выходу за пределы естественного В оригинале французское слово "§гие"'.- Прим. перев.
3.1. Представление естественных языков 161 языка. Однако Монтегю обогатил свой фрагмент посредством занумерованных местоимений, которые фактически являются переменными (см. § 3.2.2). Не утратится ли при таком способе действия утверждение о том, что не существует важного теоретического различия между естественным и формальным языками? Не превратится ли то предложение, которое рассматривалось как синтетическое утверждение, в простую тавтологию, полностью лишенную интереса? Ответ на это возражение будет зависеть от критериев тождества и индивидуальности языков. Если считать, что в определении некоторого языка синтаксис важнее лексики, то упомянутое возражение может быть снято. Будет показано, что рассмотренный в статье "ТЬе Ргорег Тгеа1теп1 оГ 0иап(шса1юп т Огшпагу Еп§И8п" фрагмент английского языка обладает теми синтаксическими категориями, которые широко используются для описания естественных языков. Это имена нарицательные, непереходные и переходные глаголы, наречия, предлоги и т.д. Им отдано предпочтение перед синтаксическими категориями исчисления предикатов (одноместные предикаты, двухместные предикаты и т.д.). Монтегю принял следующий критерий для определения значения некоторой семантики. Данная теория должна обладать способностью систематического и корректного сопоставления повествовательным предложениям их условий истинности и их бюджета вывода (по-английски "еп1аПтеп1 сошШюпв"). Логики всегда стремятся осознать возможности вывода повествовательных предложений. Но те логики, которые вписываются в традиции Рассела (как, например, Куайн), полагают, что они для этого должны различать грамматическую форму и логическую форму, при этом оставлять без внимания первую, чтобы сосредоточиться на второй. Тогда логическая форма оказывается грамматической формой некоторого идеального языка. Монтегю никоим образом не оспаривал результатов анализа, проведенного Расселом. Напротив, он включил этот анализ в свою семантику. Но Монтегю заметил, что классическая логика, которую составляет исчисление предикатов, является слишком бедной и не позволяет осознать контраст между следующими выводами. С одной стороны, это формально общезначимые выводы: 21-4465
162 3. Семантика Монтегю • «все военные являются автомобилистами; следовательно, все французские военные являются французскими автомобилистами», • «все военные являются автомобилистами; следовательно, все военные-вегетарианцы являются автомобилистами-вегетарианцами» . А с другой стороны, это выводы, которые не являются общезначимыми: • «все военные являются автомобилистами; следовательно, все высококвалифицированные военные являются высококвалифицированными автомобилистами», • «все военные являются автомобилистами; следовательно, все бывшие военные являются бывшими автомобилистами». При переходе от исчисления одноместных предикатов к исчислению двухместных предикатов происходит увеличение числа тех рассуждений, которые можно осознать. Точно так же разработка формальной семантики естественного языка позволяет обзавестись таким средством, которое способно осознать выводы, ускользающие от классической логики. 3.1.4. Условия адекватности семантики Для удобства фиксируем условия адекватности, которым должна удовлетворять семантическая теория, чтобы быть приемлемой. Начиная с трудов Хомского, от синтаксиса требуется, чтобы он порождал с помощью конечных средств все фразы (т. е. правильно построенные выражения) и снабжал их структурными описаниями. Аналогично от семантики требуется, чтобы она сопоставляла бесконечному множеству фраз такие интерпретации, какие им приписывает лингвистически компетентный собеседник. Поэтому семантика должна удовлетворять двум следующим условиям. • Быть композиционной. То есть должна в определенной степени подчиняться композиционному принципу Фреге. Согласно этому принципу, значение целого является функцией значений его частей (§ 2.1.4, 2.3.10).
3.1. Представление естественных языков 163 • Быть рекурсивной. То есть должна содержать такие правила, которые можно применять итерационно неограниченное число раз. А зачем эта семантика должна быть композиционной? Затем, чтобы учитывать способность понимания новых фраз при любой теме разговора. Эту способность Рассел следующим образом описал в Анализе разума: «Если заданы значения отдельных слов и правила синтаксиса, то определено значение всей фразы». Именно по этой причине мы оказываемся способны понять такую фразу, которую никогда прежде не слышали. Например, вероятно, вам не доводилось слышать высказывание: «Жители Андаманских островов едят на обед рагу из гиппопотама». Однако нет никаких затруднений при понимании этого высказывания. Шлик, основатель Венского кружка, уточнил механизм композиции еще больше: «Множество знаков, которое использовалось для описания определенного обстоятельства, посредством перестановки (знаков в цепочке) может быть применено для описания совершенно иного обстоятельства, причем значение новой комбинации мы узнаем без предварительных объяснений». Механизм, состоящий в синтаксическом соединении (т. е. в упорядочении слов), играет несомненно семантическую роль. Более того, вклад синтаксиса сводится (в основном) к построению (порождению, конструированию) фраз и упорядочению слов в них. Так, например, различие смысла двух следующих истинных фраз: «Земля притягивает Луну» и «Луна притягивает Землю» всецело определяется различием в порядке следования именных синтагм «Земля» и «Луна». Однако действие синтаксиса может проявляться и в ином ракурсе. Например, фраза1* «Иван планирует» может передавать два различных смысловых оттенка. Все зависит от того, переходным или непереходным считается глагол «планирует». Хотя порядок следования слов одинаков в обоих случаях, фраза сама по себе двусмысленна. «Планирует» может означать «разрабатывает план» или же «плавно 1) В оригинале была другая фраза. Ее перевод на русский язык сути обсуждаемого явления не вскрывал.- Прим. ред. 21*
164 3. Семантика Монтегю опускается». Таким образом, синтаксис все же не сводится только к конструированию фраз и упорядочению слов в них, но и отражает принадлежность элементов фраз к синтаксическим категориям. Только что говорилось о том, почему семантика должна быть композиционной -и в случае, когда механизм композиции понимается как механизм, порождающий целое путем комбинирования отдельных частей, и в случае, когда он понимается как механизм, который расчленяет целое на части. Однако это требование сопровождается другим требованием, а именно требованием рекурсивности. Это требование диктуется уже не способностью говорящего понимать новые фразы, а способностью «понимать неограниченное количество фраз» (об этом часто напоминал Хомский [31]). Допустим, опять же следуя Хомскому [30], что «фундаментальная цель анализа некоторого языка состоит в том, чтобы отделить грамматические последовательности, являющиеся фразами языка, от неграмматических последовательностей, которые не являются фразами языка, а также в том, чтобы изучить структуру грамматических последовательностей». Каким образом это можно применить для порождения неограниченного множества фраз конечными средствами? Ответ ясен: «требуется порождающая грамматика». То есть, еще раз цитируя Хомского [31], «множество правил, которые можно применять итеративно для порождения неограниченного числа структур». Теперь можно определить предмет семантики. Речь идет о приписывании смысла бесконечному множеству фраз и синтагм. Как и синтаксис, семантика должна, следовательно, быть рекурсивной. Но не могла бы семантика заимствовать из синтаксиса механизмы рекурсивного построения и ограничивать свой собственный вклад приданием значений изолированным словам? Девидсон [47] напомнил о таком способе быстрого построения рекурсивной семантики: «Предположим, что имеется некоторая удовлетворительная теория синтаксиса для нашего языка, состоящая в эффективном (т. е. рекурсивном) средстве, позволяющем сказать по поводу какого угодно произвольно выбранного выражения, является ли оно выражением, лишенным автономного значения (т.е. является ли оно фразой); предположим также, что из этого
3.1. Представление естественных языков 165 следует, что каждая фраза считается составленной [...] из конечного набора синтаксических элементов. Остается надеяться на то, что понимаемый в таком смысле синтаксис создаст и семантику, когда к нему будет добавлен словарь, задающий значение каждого синтаксического атома». Несомненно, что рекурсивные правила, по которым порождаются правильно построенные выражения, отчасти объясняют, каким способом комбинируются значения слов для порождения глобального значения всей фразы. Следует заметить, что с помощью синтаксических правил построения фраз иногда производится выбор среди омонимов. Так, например, в предложении «повар замесил тесто и начал печь пироги» синтаксические ограничения указывают на выбор глагола «печь» и на отбрасывание имени существительного, которое является омонимом этого глагола. Зато эти синтаксические ограничения оказываются неспособными объяснить, почему лишь один смысл слова «кран» выбран в ущерб всем другим смыслам в предложении «кран - бытовое название трубопроводного вентиля». Действительно, фраза, полученная путем замены слова «кран» на «грузоподъемную машину», семантически бессмысленна, но она остается синтаксически правильно построенной. Следовательно, придется вместе с Девидсоном допустить, что «знание структурных характеристик... некоторой фразы и знание значений ее неделимых частей не суммируются, чтобы дать в результате знание того, что же означает эта фраза». Вместе с ним заключаем, что «рекурсивный синтаксис, к которому добавлен некий словарь, не обязан давать рекурсивную семантику». Таким образом, лингвисты будут вынуждены снабдить семантику некоторым рекурсивным механизмом порождения составных значений, который был бы отличен от рекурсивного механизма порождения синтагм. 3.7.5. Формальная семантика естественного языка Строгую семантику исчисления предикатов можно с пользой применить по меньшей мере двумя способами для естественного языка. Первый состоит в том, чтобы дать
166 3. Семантика Монтегю прямую интерпретацию естественного языка в некоторой модели. Именно это сделали Кинен и Фальц [122]. Другой-непрямая интерпретация-состоит в переводе естественного языка на формальный и последующей интерпрета-| ции формального языка. Если принята вторая процедура,] строгая семантика исчисления предикатов или интенсио-1 нальной логики может рассматриваться как средство косвен \ ного сопоставления интерпретации выражениям естествен-] ного языка, которые являются переводами выражений! интерпретируемого формального языка. Однако свойство! строгости семантики формального языка будет перенесено на естественный язык только в той мере, в какой сам перевод 1 будет строгим и систематичным. Однако вообще перевод с естественного языка на фор-1 мальный осуществляется путем некоторой несистематиче-1 ской операции. Говоря о задаче, состоящей в выявлении! логических структур естественного языка, являющейся частью процесса перевода с естественного языка на фор-1 мальный, Куайн [200] сказал, что это «переводческая работа, | а не... вычислительная». Для того чтобы строгость семан-1 тики формального языка полностью переходила в семантику] естественного языка, нужно придать переводу свойство вычисляемости. Например, именно такой случай имеет место] при переводе из десятичной системы счисления в двоичную.«] Можно ли изучать перевод с естественного языка (или по] меньшей мере значительного фрагмента естественного] языка) на этой модели? Монтегю намеревался дать утвер-;] дательный ответ на этот вопрос. } Чтобы обеспечить регулярность и систематичность при! переводе с естественного языка на формальный, Монтегю! наложил на этот перевод чрезвычайно сильное требование:! если тот фрагмент естественного языка, который подлежит! переводу на формальный язык, полностью очищен от всякой! лексической неоднозначности, то требуется следующее.! Во-первых, каждое простое выражение естественного языка] должно переводиться одним-единственным выражением! (возможно, составным) формального языка. Во-вторых,! каждая синтаксическая операция естественного языка! должна быть сопоставлена одной конечной комбинации! синтаксических операций формального языка. 1
I 3.1. Представление естественных языков 167 I* Было показано, что посредством перевода семантика юормального языка может послужить в качестве семантики шйя некоторого фрагмента естественного языка. Формальная семантика, о которой думал Монтегю, очевидно, июляется формальной семантикой Тарского. Но здесь важно рнести одно уточнение. Тарский представил две (впрочем, [близкие) версии определения истинности: определение, называемое «абсолютным», и определение «по отношению к некоторой модели» (§ 2.2.3). Монтегю [172] использовал именно вторую версию: «Как и Дональд Девидсон, я рассматриваю построение некоторой теории истинности (или, |<жорее, теорию понятия, более общего, чем истинность, для гароизвольной интерпретации, т. е. для произвольной модели) [Как главную цель некоторого синтаксиса и некоторой серьез- |яой семантики...». Разница же заключается в следующем. |В естественном языке пункты рекурсивного определения шстинности дают не только объяснение вклада примитивных рредикатов, связок и кванторов в содержащих их фразах рформального языка. Они делают больше, сопоставляя вы- |ражениям некие внелингвистические объекты, построенные |с помощью объектов, входящих в данную модель. (См. |5 3.2.5-3.2.7 по поводу процесса перевода.) } Основное достижение Монтегю состоит в том, что он наложил очень сильные ограничения гомоморфизма не |только на отношение перевода между фрагментом естест- 1венного языка и формальным языком, но и на отношение [интерпретации, которое сопоставляет изолированным [выражениям и комбинациям выражений некие объекты из 1модели и комбинации таких объектов соответственно. [ Требование гомоморфизма является краеугольным кам- |нем всего сооружения. Это требование оказывает влияние на (концепцию Монтегю синтаксиса естественного языка, а [также синтаксиса формального языка, семантики и даже тех внелингвистических объектов, которые эта семантика сопоставляет выражениям языка. Множество выражений естественного языка, множество выражений формального [языка, которые переводят выражения первого множества, |и множество внелингвистических объектов, которые им сопоставлены, снабжаются операциями. Эти три множества, [снабженные операциями, будут рассматриваться как алгебры.
168 3. Семантика Монтегю Для того чтобы эти алгебры были связаны между собой гомоморфизмами, нужно должным образом понимать не только синтаксис, но и объекты, приписанные выражениям в качестве интерпретаций. Принятие некоторой категориальной грамматики в качестве синтаксиса и некой теории типов, объектами которой являются функции, диктуется требованием гомоморфизма. Не следует думать, что это является единственным способом удовлетворить указанному требованию (см. § 2.2.7, 3.2.2 и [43]). 3.1.6. Категориальная грамматика К началу исследований Монтегю, приведших к возникновению грамматики, описанной в статье "ТЬе Ргорег Тгеа1- теп1 оГ (ЗиапШюаИоп т ОкНпагу Еп^НзЬ" (сокращенно: грамматика РТ(3), уже имелись многочисленные виды композиционных и рекурсивных синтаксисов естественного языка. Например, категориальная грамматика проявляет обе эти черты. Она композиционна в том смысле, что грамматическое содержание целого является функцией грамматических содержаний составных частей и способа композиции. Действительно, в категориальной грамматике синтагмы данного языка распределены по категориям, из которых одни являются базисными категориями, а другие -производными категориями. Айдукевич [4] назвал последние очень выразительно-функтор-категориями. Однако они перегруппировывают выражения сообразно их комбинаторным возможностям. Что касается операции синтаксического построения, которая порождает составные выражения, исходя из составляющих выражений, то она будет представлена как некая операция функционального отображения (см. § 3.2.2). Пусть через з4 и ^ обозначены синтаксические категории данного языка. Правило комбинирования синтаксических категорий формулируется следующим образом: .я//#, скомбинированное с $, дает яй. Например, если выражение «Альдебаран» категории 1/(1/е) комбинируется с выражением «сияет» категории 1/е, то получается фраза «Альдебаран сияет», которая является выражением категории г. Этот синтаксис не только композиционный, но еще и рекурсивный.
3.1. Представление естественных языков 169 Действительно, он содержит правила, в которых функциональные отображения берут в качестве аргументов и выдают ш качестве значений выражения одной и той же категории. € этого момента данная операция может повторяться неограниченно. Например, наречие, относящееся к фразе (т.е. некоторый элемент категории 1/1), скомбинированное с какой-либо фразой (т. е. с элементом категории I), дает некую фразу. Так, например, наречие «вероятно» (категории ф), скомбинированное с фразой «Альдебаран сияет» (категории 1\ дает фразу «вероятно, Альдебаран сияет» (категории I). Причем полученную фразу можно снова комбинировать с наречием «вероятно». 3.1.7. Рекурсивная семантика Категориальная грамматика удовлетворяет условиям, которые предполагаются фиксированными. Она является композиционной и рекурсивной. Эти два требования также налагаются на семантику при определении тех сущностей, которые служат значениями. При каких условиях (в математическом смысле этого слова) может считаться функцией значение фразы «Альдебаран сияет» от значения слова «Альдебаран», от значения слова «сияет» и от синтаксической операции комбинирования имени существительного и непереходного глагола? Ответ ясен. Необходимо (и достаточно), чтобы были выполнены три следующих условия. 1. Значение, приписываемое фразе, должно соответствовать значению некоторой функции. 2. Значение, приписываемое словам «Альдебаран» и «сияет», должно соответствовать аргументу функции. Ъ. Зависимость между значением фразы «Альдебаран сияет» и значениями слов «Альдебаран» и «сияет» должна допускать возможность описания с помощью некоторой операции или функции, принимающей в качестве аргументов значения слов «Альдебаран» и «сияет», а в качестве ре- зультата или значения выдающей значение фразы «Альдебаран сияет». Если мы хотим, чтобы значение целого являлось функцией от значений составных частей, то следует ограничиться 22-4465
170 3. Семантика Монтегю выбором в качестве значений определенных объектов, которые обладают подходящими математическими свойствами. Разумеется, должна существовать возможность выявлять с помощью некоторого точного критерия идентификации, можно ли эти значения рассматривать в качестве аргументов или значений математических функций. Этот критерий должен позволять устанавливать, имеем ли мы дело с одним и тем же значением или же с двумя близкими значениями. Если обратиться к той части значения, которая исследовалась в куайновской «теории денотата», а именно к экстен- ции, то обыкновенные экстенции должны удовлетворять условиям, предъявляемым к ним, для того чтобы они могли быть аргументами или значениями функций. Вообще индивидному терму наподобие «Альдебаран» приписывают в качестве экстенции некий элемент, принадлежащий области денотата или универсуму рассуждений. Это множество обозначается через 5 (гл. 2). Обычно непереходному глаголу, такому, как «сияет», сопоставляют некоторый класс, который является неким подмножеством в 5, а именно класс сияющих предметов. Такой глагол трактуется в исчислении предикатов как одноместный предикат. Можно также вместо класса сияющих предметов сопоставить этому глаголу характеристическую функцию, принимающую значение1* истинно, когда ее аргумент является элементом из класса сияющих предметов, и значение ложно во всех остальных случаях (§ 2.2.6). Наконец, некоторой фразе будет приписано в качестве экстенции значение истинности. Однако объекты из области денотатов, характеристические функции множества и значения истинности не создают никаких трудностей в том, что касается критерия идентификации. Следовательно, эти понятия полностью подходят на роли аргументов и значений некоторой функции. Поскольку рассмотренная ситуация оставалась на уровне экстенции, композиционная семантика немедленно получится, если выражениям, принадлежащим некоторой определенной синтаксической категории (например, именам собственным, непереходным глаголам, деепричастным оборо- 1} Следует различать омонимы в словосочетаниях «значение функции» и «значение фразы», «значение слова».- Прим. перев.
3.1. Представление естественных языков 171 там) сопоставить экстенции, принадлежащие подходящему логическому типу (например, объекты, характеристические функции, значения истинности). Но этого недостаточно, поскольку (как подчеркивал Девидсон) рекурсивный синтаксис, скомбинированный с некоторым словарем, не дает автоматически какой-нибудь рекурсивной семантики. Следовательно, придется ввести аналог правил проекции Катца и Фодора, т.е. семантических правил композиции смысла (см. § 2.1.3). В самом деле, Монтегю требовал от семантики (как уже подчеркивалось), чтобы она была- гомоморфна синтаксису. Эта цель будет достигнута при двух следующих условиях. 1. Должно существовать соответствие между синтаксическими категориями выражений (простых или составных) и логическими типами понятий, сопоставленных этим выражениям в качестве их значений. 2. Должно существовать соответствие между синтаксическими правилами, которые управляют комбинированием выражений, и семантическими правилами, управляющими композицией значений (здесь они сводятся к экстенциям). В классификации Монтегю слово «Альдебаран» принадлежит категории 1/{1/е), а слово «сияет» - категории {1/е). Следовательно, непереходный глагол «сияет» обозначает^ характеристическую функцию, сопоставляющую значение истинно тем объектам, которые сияют, а значение ложно объектам, которые не сияют. В свою очередь имя собственное «Альдебаран» означает функцию, которая приписывает значение истинно множествам, содержащим звезду Альдебаран, а значение ложно множествам, не содержащим ее. Отсюда, если функции, означающей «сияет», придать в качестве аргумента множество сияющих объектов и если Альдебаран входит в это множество, то значение функции Альдебаран, примененной к аргументу сияет, будет (как этого и хотелось) истинно. Эта семантика является не только композиционной, но и рекурсивной. В самом деле, рекурсивным правилам синтаксической композиции соответствуют рекурсивные правила семантической композиции. Например, следующему правилу синтаксической композиции: «(Вероятно),/, + (Альдебаран сияет), = (Вероятно, Альдебаран сияет),» будет со- 22*
172 3. Семантика Монтегю ответствовать семантическое правило, описанное чуть ниже. Экстенция для «вероятно» является функцией, которая принимает свои аргументы и значения из множества {истинно, ложно). Если задать в качестве аргумента этой функции экстенцию для «Альдебаран сияет» (т. е. некоторое значение истинности), то в качестве значения получится экстенция для «вероятно, Альдебаран сияет» (т.е. опять значение истинности). Таким образом, операция семантической композиции является, как и операция синтаксической композиции, некой операцией функционального отображения. 3.2. Грамматика Монтегю 3.2.1. Введение Синтаксические правила, описывающие фразы из фрагмента английского языка в основополагающей статье Монтегю, составляют некую категориальную грамматику. Для изучаемого фрагмента Монтегю использовал базисную лексику, составленную из девяти классов слов. Это: 1) непереходные глаголы, 2) термы (имена собственные, числительные, местоимения), 3) переходные глаголы, 4) приглагольные наречия (т. е. сочетающиеся часто с глаголами), 5) имена нарицательные, 6) фразовые наречия (т.е. относящиеся к предложению в целом, например очевидно, несомненно, фактически), 7) предлоги, 8) пропозициональные глаголы (например: верю, что...; утверждаю, что...) и 9) глаголы (такие, как пытаться, желать), которые в составных глагольных сказуемых сочетаются с инфинитивом (и/или герундием) других глаголов. Элементы десятого класса, а именно артикли (определенные и неопределенные), вводятся по некоторым синкате- горематическим1) правилам точно так же, как связки и квант торы в классических изложениях исчисления предикатов (см. гл. 1 в [232]). Категориальная грамматика Монтегю будет описана в § 3.2.2-3.2.4. 1} То есть относящимся к описанию или характеризации несо& ственных (не имеющих самостоятельного содержания) символов, слов - Прим. ред.
3.2. Грамматика Монтегю 173 Как уже говорилось в § 3.1.5, интерпретация в формализме РТО, не осуществляется непосредственно. Под интерпретацией понимается, во-первых, сопоставление денотации простым выражениям (или словам из словаря), принадлежащим рассматриваемому фрагменту естественного языка, до-вторых, представление правил проекции для учета денотации сложных выражений. Иными словами, Монтегю не сразу сформулировал условия сатисфакции для элементарных фраз естественного языка. Он начал с построения некоторого формального языка и только потом снабжает этот язык подходящей семантикой. Речь идет об интенсиональной логике, описанной в разд. 2.3. Затем Монтегю ввел некоторый метод, позволяющий осуществлять систематический перевод из фрагмента естественного языка на формальный язык интенсиональной логики. Именно это придает косвенную интерпретацию данному фрагменту естественного языка. Перевод с фрагмента естественного языка на язык интенсиональной логики описан в § 3.2.5-3.2.15. 3.2.2. Категориальная грамматика Монтегю Грамматический синтаксис для фрагмента английского языка, описанный в формализме РГ<2, является категориальной грамматикой одного из тех типов, какие построил Айдукевич [4]. Понятие синтаксической категории определяется рекурсивно: • г является синтаксической категорией таких выражений, которым свойственно некоторое значение истинности (по-английски, 1ш1Ь-уа1ие), т. е. категорией фраз; • е является синтаксической категорией таких выражений, которым можно сопоставить именованные объекты; • если «я/ и ^-синтаксические категории, то .я//# и «я///^ являются синтаксическими категориями. В категориальной грамматике, комбинируя выражение категории $0/31 (или д///&; различие будет разъяснено позже) с неким выражением категории ^, получают выра-
174 3. Семантика Монтегю жение категории з4. Это правило позволяет порождать рекурсивным образом бесконечное множество категорий. Монтегю в рассматриваемом им фрагменте оперировал с композиционной лексикой слов (или базисных выражений), разделенных на десять базисных категорий. Первая категория из этого «репертуара»-категория непереходных глаголов. К ней относятся, например, следующие глаголы: бежит, идет, говорит, поднимается. Эта категория обозначается через г/е. Второй категорией является категория термов. Она содержит имена собственные (например, Жан, Мари, Робер, Аль- дебаран), числительные (например, девяностый) и занумерованные местоимения (например, он0, онх, он2). Эта категория обозначается через г/(г/е). Синтаксические категории имеют строение «функция-аргумент». Они очень ясно указывают возможные комбинации, как только становится известным правило комбинирования. Запись правила скопирована с алгебраического закона: (х/у)-у = х. Правило синтаксического комбинирования гласит: «я//^, скомбинированное с ^, дает «я/. Способ его применения с использованием знаков « + » и « = » разъясняется нижеследующими примерами. Жанг/(г/е) + идетг/е = (Жан идет)г, Альдебаранг/(г/е) + + сияетг/е = (Альдебаран сияет),. Таким образом, здесь видно, что удалось строго охарактеризовать понятие фразы. Из какой бы рекурсивной комбинации базисных выражений ни получалась фраза, после конечного числа применений закона аннулирования она становится выражением категории г. Фразы не принадлежат какой-либо базисной категории, поскольку в лексике отсутствуют фразы, а есть только слова. Синтаксис категориальной грамматики не только композиционный, но также и рекурсивный. Действительно, он содержит такие случаи, при которых по правилу синтаксического комбинирования строятся составные выражения, синтаксическая категория которых тождественна синтаксической категории одного из выражений-компонентов. Например, рассмотрим фразовое наречие «вероятно». Оно принадлежит категории г/г. Если его скомбинировать с ка-
3.2. Грамматика Монтегю 175 кой-либо фразой, т. е. с некоторым выражением категории *, снова получим фразу. Например: Вероятног/г + (Альдебаран сияет), = (Вероятно, Альде- баран сияет),. Таким образом, I появляется как синтаксическая категория одного из выражений-компонентов, а также и всего составного выражения. Это правило можно применять итерационно: Вероятног/г + (вероятно, Альдебаран сияет), = (Вероятно, вероятно, Альдебаран сияет),. Интереснее примеры с пропозициональными глаголами (такими, как «известно, что» и «полагаем, что»). Эти глаголы относятся к категории, обозначаемой через (1/е)/1. Можно рассматривать конструкции, подобные следующей: Жан,/(,/е) + (полагает, что)(,/е)/, + (Альдебаран сияет), = = (Жан полагает, что Альдебаран сияет),. Эта схема построения вновь содержит компоненту той же самой синтаксической категории (*), что и результат. Схема допускает неограниченную итерацию: «Альбер полагает, что Бернару известно, что...». Заметим, что закон построения синтаксических категорий формально идентичен закону построения типов (§ 2.2.7), за исключением некоторых деталей в обозначениях. Действительно, выражение синтаксической категории <$//& комбинируется с выражением синтаксической категории 3& для построения выражения синтаксической категории з4. В то же время выражение типа (а^Ъ) комбинируется с выражением типа а для получения выражения типа Ь. (Имеют место «упрощение вправо» для синтаксических категорий и «упрощение влево» для типов.) Существующий между синтаксическими категориями естественного языка и типами формального языка параллелизм делает возможным систематический перевод с первого на второй. Однако имеется один фактор, который может
176 3. Семантика Монтегю затруднить этот перевод. Монтегю заметил, что в некоторых случаях различные синтаксические категории естественного языка соответствуют при переводе одному и тому же логическому типу формального языка. Именно по этой причине было введено обозначение Д0Ц81. Символами «я//^ и д///& обозначены две различные синтаксические категории, которым соответствует один и тот же логический тип. На рис. 3.1 представлены различные синтаксические категории, применяемые в грамматике РТ(^. Используемые сокращения введены Монтегю и стали уже классическими. Например, IV представляет г/е (IV является сокращением от английского "т1гап8Шуе уегЪ рпгазе", что означает «непереходная глагольная синтагма»), Т представляет *//К= */(*/е) (Г есть сокращение от английского 'Чеггп рпгазе", что означает «синтагма существительного») и ТУ представляет 1У/Т= {{IIе)111(11 е)) (Появляется сокращением от английского 'ЧгапзШуе уегЪ", означающего «переходный глагол»). Базисными выражениями или словами из словаря являются слова английского языка. Эти слова выделены жирным шрифтом. 3.2.3. Синтаксис категориальной грамматики Пусть .я/- некоторая синтаксическая категория фрагмента английского языка, о котором говорилось в предыдущем параграфе. Обозначим через В^ множество «слов из словаря» (или базисных выражений), которые принадлежат категории «я/. В частности, если ни одно из базисных выражений не принадлежит категории .я/, то В^ является пустым множеством. Именно этот случай имеет место для синтаксической категории I, которая объединяет фразы. Действительно, ни одна из единиц словаря не является фразой. Множество синтагм (или групп слов) категории зй обозна-, чим через Р^. Это множество образовано в результате объединения множества В^ и множества составных выражений категории .я/, которые рекурсивно определяются с помощью синтаксических правил грамматики РТО,. Первое из этих правил, обозначаемое через 57, иницшк лизирует рекурсию и является базисом формального опреде-: ления данной грамматики.
Синтаксические категории Базисные выражения *Имя Категориаль- Обычное ное опреде- определение ление е г IV Т ТУ 1АУ СЫ Ф 1АУ/Т 1У/1 1У//1У ЪЕТ Че 1/1У 1У/Т 1У/1У Ще т/сы Фраза Глагольная синтагма, непереходный глагол Синтагма существительного, имя собственное (Терм) Переходный глагол Приглагольное наречие (модифицирующее элемент категории IV) Имя нарицательное Фразовое наречие (модифицирующее смысл фразы) Предлог Пропозициональный глагол (или глагольная синтагма, принимающая фразы в качестве дополнений) Интенсиональный глагол (или глагольная синтагма, принимающая глагольные синтагмы в качестве дополнений) Артикль пш, то1к, Ык, пае, спап§е ЛоЬп, Магу, ВШ, Ье0, Ье19 Ье2 Япё, 1ове, еа1, 1оуе, <Ые, веек, сопсеоте гармЦу, §1ст1у, УокнйагНу, аПе^есЦу тап, тотап, рагк, ЯвЬ, ишсогп, рпсе, (етрега(иге песеввагЦу ш, аЪои( ЬеНеуе, а$$ег( *гу, т§Ь еуегу, (Ье, а, ап Рис. 3.1. Синтаксические категории и базисные предложения.
178 3. Семантика Монтегю • 51: Множество В^ является подмножеством множества Р^ для каждой категории $4. Иначе говоря, любое слово, принадлежащее данной синтаксической категории, может рассматриваться как синтагма этой же самой категории. В действительности слова и синтагмы какой-либо категории можно заменять другими элементами той же категории и при этом грамматическое строение выражения останется прежним. Например, синтагма «любит Жана» и непереходный глагол «идет» взаимозаменяемы, ибо принадлежат одной и той же категории. Другие синтаксические правила касаются составных выражений. Каждое из этих правил содержит информацию трех видов: - спецификацию синтаксических категорий составных частей, - определение осуществляемой синтаксической операции, - спецификацию синтаксической категории результата. Таким образом, все синтаксические правила имеют следующую общую форму. • Если аеР^ и реР^, то Г(а$)еР#. Определение функции Г будет приведено далее. Некоторые из синтаксических правил, предложенных Монтегю, приведены ниже. Речь идет о базисных правилах (52-53), правилах функционального воздействия (54-510) и правиле квантификации (514). Правила функционального воздействия должны подчиняться правилу синтаксического комбинирования: комбинирование Л/Я с 8& дает «я/. Нумерация правил совпадает с нумерацией в оригинальной статье Монтегю. • 52: Составные выражения категории Г (термы). Если аеРт/С1ц и реРСЛГ, то Р2(а,Р)еРг. Значением функции Р2(а,Р) является а*р, где а* равно а, кроме случая, когда а равно а и первое слово из р начинается с гласной. В этом случае а* равно ап. • 53: Составные выражения категории С7У (имена нарицательные). Если аеРСЛг и АеР(, то Р3 (а, А) е Рск.
3.2. Грамматика Монтегю 179 Значением функции Р3п(а,А) является а §исЬ Ла* А*, где Л* получается из А путем замены каждого вхождения слова Ье„ или слова Ышп на слово Не, вЬе или й или на слово Ыш, Ьег или И в соответствии с тем, является ли род первого имени нарицательного из а мужским, женским или средним. • 54: Составные выражения категории г (фразы). Если аеРт и реР/к, то Р4,(а,р)еР1. Значением функции /ч(а,р) является ар*, где р* получается из р путем замены первого глагола (элемента одной из категорий В1У, ВТУ, В1У111у или В1У/Т) этим же глаголом в третьем лице единственного числа. • 55: Составные выражения категории IV (непереходные глаголы). Если а е Рту и р е Рт, то Р5 (а,Р) е Р1У. Значением функции Р5 (а,р) является ар, если р не равно Неп, а значением функции Р5 (а,Ье„) является аЫтп. • 56: Составные выражения категории 1А V (приглагольные наречия). Если а е Р1АУ!Т и р е Рт, то Р6 (а,р) е Р1АУ. Функция Р6 определяется точно так же, как и функция • 57: Составные выражения категории IV (непереходные глаголы). Если аеР1У/т и АеР{, то Р7(а,А)еР1У. Значением функции Р7(а,$) является а(Ьа(р. • 58: Составные выражения категории IV (непереходные глаголы). Если аеР1У/1У и реР/к, то Р8(а,$)еР1У. Значением функции Рв(а,$) служит а*ор. • 59: Составные выражения категории I (фразы). Если аеР1/г и АеР{, то Р9 (а, А) е Рг. Значением функции Р9(а,А) служит аА. • 510: Составные выражения категории /^(непереходные глаголы). Если аеР1У/1У и $еР1У, то Р10(а,$)еР1У. Значением функции ^10(а,р) служит ра. • 514: Правило квантификации. - Если аеРт и АеР{, то Р14п(а,А)еРг. Значение РЫп(а,А) определяется двумя различными способами в зависимости от значения выражения а: - Если а отлично от Ъек, то Р14_ „ (а,А) получается из А путем замены первого вхождения слова Ье„ или слова Ыт„ на а. При этом все остальные вхождения слова Ье„ или слова Ышп заменяются соответственно 23*
180 3. Семантика Монтегю на слово Ье, §Ье или И или слово Ыт, Ьег или И в зависимости от того, какого рода (мужского, женского или среднего) первый элемент, который каталогизирует категорию ВС1^ или категорию Вт в выражении а. - Если а равно Ъек, то Р14п(а,А) получается из А путем замены каждого вхождения слова Ье„ или слова Ь1тп соответственно словом Ъек или 1шпк. 3.2.4. Примеры В качестве первой иллюстрации проверим, что последовательность слов "еуегу теотап §исЬ 1Ьа( вЬе >?а1к§ 1а1к$" является английской фразой, т. е. элементом из Рг. (В переводе с английского эта фраза означает: «каждая женщина, которая прогуливается, балагурит» или, более дословно, «каждая женщина, такая, что прогуливается, балагурит».) По существу именно для упрощения перевода на формальный язык Монтегю выбрал фразу не слишком идиоматического вида. Он сумел приспособить свою систему перевода и к более обычным фразам наподобие следующей: "еуегу тотап тоЬо 1Уа1к8 1а1к§", используя местоимения тоЬо, тоЬот, тоЬове. Посмотрим, каким образом строится рассматриваемая фраза с помощью синтаксических правил из предыдущего параграфа. По 51: у/ъХкеР1У и Ъе5еРт. По 54: Г4 (Ье5, теа1к) = Ье5 теа1кв е Р{. По 51: теотап е РСЛГ. По 53: 773,5(^отап^е5^а1к8) = ш)тап §исЬ (Ьа( §Ье 1Уа1к8бРслг. По 51: еуегу б Рт1си^ • По 52: Р2 (еуегу, теотап §исЬ (Ьа( §Ье ^а!к§) = еуегу 1Уотап 8исЬ 1Ьа( §Ье 1Уа1к8еРг. По 51: 1ъУкеР1У. По 54: Р4 (еуегу иготап 8исЬ 1Ьа( §Ье >?а1к§, (а1к) = еуегу теотап §исЬ 1Ьа1 §Ье ^а!к§ (а!к$ е Рх. Процедуру построения этой фразы можно представить в виде синтаксического дерева, приведенного на рис. 3.2.
3.2. Грамматика Монтегю 181 Второй пример демонстрирует выявление двусмысленности фраз естественного языка. В дальнейшем мы покажем, Как различные смыслы, которые можно приписать данной фразе (которая будет анализироваться), приводят к различным переводам на язык интенсиональной логики. Получится ровно столько возможных переводов, сколько имеется возможных смыслов для фразы. Иначе говоря, выбор перевода в интенсиональной логике равносилен выбору определенного смысла для двусмысленной фразы. Следовательно, операция перевода будет давать в качестве побочного эффекта устранения двусмысленностей естественного языка. еуегу \Уотап зисЬ 1Ьа1 зЬе \уа1кз 1а1кз, (Р+) еуегу мготап зисЬ 1Ьа1 зЬе \уа1кз, (^) 1а1к еуегу \уотап зисЬ 1Ьа1 зЬе \уа1кз, (Гг,ъ) луотап Ьв5 1Уа1кз, (Р^) Ьв5 1Уа1к Рис. 3.2. Синтаксическое дерево фразы "еуегу иготап висЬ (Ьа( §Ье ^а1к$ 1а1к§". Будем анализировать фразу: "1оЬп 8еек§ а ишсогп", которая в переводе означает: «Джон ищет единорога». Эта фраза может быть понята двояко. Прежде всего ей можно придать
182 3. Семантика Монтегю смысл (к (Нао^, из которого не следует существования некоего единорога. Джон может искать животное, называемое «единорог», даже если он незнаком с конкретной особью этого вида. Фраза «Джон ищет единорога» может оказаться истинной даже в том мире (действительном мире), где не существует единорогов. Например, эту фразу можно представить в логике с помощью предикатной формы 8еек (Зокп, ипкогп). Однако этой фразе может быть придан и гораздо более сильный смысл, т.е. смысл йе ге2), который требует существования единорога. Джон может искать единорога, которого он уже видел. Представление этого смысла в логике предикатов может быть задано формулой Зх (11т- согп (х) Л 8еек^оИп,х)), выражающей то, что существует некая особь х породы «единорог» и что Джон ищет эту особь. Покажем, каким образом строятся указанные два смысла рассматриваемой фразы с помощью синтаксических правил, сформулированных в предыдущем параграфе. По 51 По 52 По 51 По 55 По 51 По 54: а е РТ/См и ишсогп е Р^. Г 2 (а, ишсогп) = а ишсогп е Рт. Р5 (веек, а ишсогп) = веек а ишсогп еР1У. 1оЬп е Рт. Г^ (1опп, веек а ишсогп) = 1оЬп веекв а ишсогп е Р(. Проведенный сейчас нами анализ представлен синтаксическим деревом на рис. 3.3. В § 3.2.12 будет показано, что это синтаксическое дерево связано с переводом рассматриваемой фразы в смысле йе (Нею. Та же самая фраза может быть проанализирована другим способом, соответствующим смыслу де ге. 8еекеР/к/г и Ье1еРг. ^5 (веек, ш^) = веек Мп^ е Р1У. Р4(Зо1ш, веек Мп^) = «1оЬп зеекв Ыт1еР1. Г 2 (а, ишсогп) = а ишсогп е РТ. ^141(а ишсогп, 1оЬп веекв Ып^) = <1оЬп §еек§ а ишсогп е Рг. 1} То есть «на словах».- Прим. ред. 2) То есть «на деле».- Прим. ред. По По 51 55 По 54 По 52 По 514:
3.2. Грамматика Монтегю 183 Этот анализ представлен синтаксическим деревом на рис. 3.4. Наконец проанализируем еще одну (уже третью) фразу в соответствии с обоими смыслами йе сНао и йе ге. Фраза для анализа следующая: "ЛоЬп ЬеНеуев (Ьа( а теотап 1а1к8". При прочтении йе йШо смысл этой фразы заключается в том, что «Джон верит, что существует хотя бы одна женщина, которая балагурит», но эта вера не относится ДоЬп зеекз а ишсогп, (Га) 1оЬп зеек а ишсогп, (^5) зеек а ишсогп, {Ег) а ишсогп Рис. 3.3. Синтаксическое дерево анализа ее ёгс1о фразы "Лопп 8еек8 а ишсогп". к какой-то определенной женщине. Этот смысл анализируется следующим образом. По 51: а 6 Рт/см и ^ошап е Рея* По 52: Г2(*> ^отап) = а теотап е Рг. По 51: ЫкеР/к. По 54: Р4 (а ттап, (а1к) = а тотап 1а1к8еРг. По 51: ЬеНеуе е Р1У/(. По 57: ^7(ЬеИеуе, а тотап 1а1к§) = ЬеНеуе (Ьа( а то>тап глУк&еР1У. По 51: Зо)шеРт.
184 3. Семантика Монтегю По 54: Г4 (ЛоЬп, ЬеНеуе Ла* а тотап 1а1к§) = ЛоЬп ЪеНеуез (Ьа( а теотап !а1к§ е Рг. Этот анализ представлен синтаксическим деревом на рис. 3.5. Перевод смысла ск (Нею данной фразы на язык логики предикатов может выглядеть, например, так: Ве^^еVе(^оНп, Зх(ПЬтап(х) Л Та1к(х)). При прочтении же йе ге смысл данной фразы таков: «Джон верит, что существует вполне определенная женщина, 1оЬп зеекз а ишеогп, (^14,1) ДоЬп зеекз Ыт, (Р^) Рис. 3.4. Синтаксическое дерево анализа ее ге фразы "ЛоЬп зеекз а ишеогп". которая балагурит». Соответствующий анализ осуществляется следующим образом. По 51 По 54: По 51 По 57 По 51 Ъе5еРт и 1эХкеР1У. Р4 (Ье5, *а1к) = Ье5 *а1кв е Рг. ЬеНеуе е Р1У1Х. ^7(Ье11еуе, Ье5 1а1к§) = ЬеНеуе (Ьа( Ье5(а1к8еР/К. ЛоЬп е Рт.
3.2. Грамматика Монтегю 185 По 54: Г^ЗоЪп, ЪеНеуе 1Ьа1 Ье5 Ыкв) = ЛоЬп ЪеНеуев (Ьа( Ье5 ЫквеР,. По 51: аеРт/см и теотап е Рслг. По 52: Г2 (а, жотап) = а теотапеРг. По 514: ^14,5(а ^отап, ЛоЬп, ЬеНеуев (Ьа( Ье5 Ык§) = = <1оЬп ЪеНеуез йа* а тотап (а1к$. ДоЬп ЬеНеуез 1Ьа1 а \Уотап 1а1кз, (Р^) ДоЬп ЬеНеуе 1Ьа1 а \Уотап 1а1кз, (.Р7) ЬеИеуе а \Уотап 1а1кз, (Р^) 1а1к Рис. 3.5. Синтаксическое дерево анализа ее ёгс1о фразы "ЛоЬп ЬеНеуез (Ьа( а ^отап 1а1к§". Этот анализ представлен синтаксическим деревом на рис. 3.6. Перевод смысла йе ге данной фразы на язык логики предикатов может выглядеть, например, таким образом: Зх[ттап(х) Л Ве^^еVе(^оНп, 7Ь/к (*))]. 24-4465
186 3. Семантика Монтегю ДоЬп ЪеНеуез 1Ьа1 а \Уотап 1а1кз, (^14,5) а луотап, (.Рг) ДоЬп ЪеНеуез 1Ьа1 Ьв5 1а1кз, (.Р7) а \Уотап ДоЬп ЬеИеуе 1Ьа1 Ьв5 1а1кз, (Еа) ЬеИеуе Ье5 1а1кз, (ГА) Ье5 1а1к Рис. 3.6. Синтаксическое дерево анализа ее ге фразы "ЛоЬп ЬеИеуе» (Ьа( а ^отап 1а1к8". 3.2.5. Введение в формализм перевода Перевод с естественного языка на некоторый формальный язык традиционно относили скорее к области искусства, а не к сфере строгой науки. Напротив, существуют примеры строгого перевода с одного формального языка на другой. К таковым относится перевод чисел из десятичной системы счисления в двоичную. Монтегю стремился придать такую же строгость переводу с естественного языка на формальный язык. Однако ему не удалось придать переводу математический статус некой функции, так как иногда может оказаться, что одно и то же выражение из естественного языка соответствует многим различным логическим формам. (Можно сослаться на прочтения йе (Нею и (к ге, упомянутые в предыдущем параграфе.) Именно это будет иметь место, если данное выражение естественного языка окажется двусмысленным. Впрочем, причиной возможного появления двусмысленности служит как раз то, что Монтегю переводил с естественного языка (или с фрагмента, который он изучал)
3.2. Грамматика Монтегю 187 на формальный язык (интенсиональную логику). В действительности он хотел определить понятия логического следования и логической истинности для выражений естественного языка. Однако это недостижимо, поскольку для указанных понятий остается возможность двусмысленности. Так, например, следующий вывод нельзя отнести с полной уверенностью к классу общезначимых: «Жан ищет рыбу, следовательно, Жан ищет рыбу». Действительно, ничто в естественном языке не запрещает придать смысл йе аЧс1о первому вхождению словосочетания «Жан ищет рыбу». Этот смысл не влечет за собой существования какой-либо рыбы. А второму вхождению этого словосочетания не запрещено придать гораздо более сильный смысл, т.е. смысл ае ге, который влечет за собой существование рыбы. Перевод с фрагмента естественного языка, обозначаемого через «5^, на язык интенсиональной логики &1 осуществляется в несколько этапов. Сначала каждой синтаксической категории из «5^ сопоставляют некоторый тип из &1. С этой целью задают подходящую функцию /, значения аргументов которой принадлежат множеству синтаксических категорий фрагмента Ум. Значения же самой функции берутся из множества типов языка У?1. Определение этой функции имеет рекурсивную природу и формулируется следующим образом: 1. ДО = ', 2./(*) = *, для всех синтаксических категорий «я/ и Я. Если принять это правило, то выражение синтаксической категории 1/е (например, «идет») будет иметь логический тип ((з,/(е)},/(I)} = ({5,е},1}, а имя собственное (например, «Жан»), относящееся к синтаксической категории */(*/е), будет иметь логический тип «л, «5,е>, *>>, I). Рекурсивным определением функции / «интенсиональные типы» <5,а> вводятся и в тех случаях, когда синтаксис естественного языка их не требует. Например, непереходные глаголы и имена нарицательные переводятся на формальный язык такими выражениями, денотация которых является 24*
188 3. Семантика Монтегю множеством индивидных концептов, а не множеством индивидов, как это правомерно было бы ожидать. Чтобы избежать этого ненужного усложнения, Беннетт [17] предложил свой вариант для рекурсивного определения функции /. Базисными синтаксическими категориями в определении Беннетта являются I, IVи СМ. При этом любое выражение л//Я, полученное рекурсивно, исходя из этих категорий, тоже является синтаксической категорией. Соответствие между этими синтаксическими категориями и логическими типами Синтаксическая Логический тип категория Денотация для типа сы IV Т 1АУ <*<> <*<> «* <«. '»• <> «5, {е. <», (е, *» ТУ т/сы Значение истинности Множество объектов Множество объектов Множество свойств объектов Функция, отображающая свойства объектов на множества объектов Функция, отображающая свойства объектов на множества объектов Функция, отображающая свойства объектов на множества свойств объектов ф IV/1 IV//IV 1АУ/Т «'. «'. «'. ш '>.«> «>. <е. <» <е. '»• <е. 1» ШЫ} Множество высказываний Функция, отображающая высказывания на множества объектов Функция, отображающая свойства объектов на множества объектов- Функция, отображающая свойства свойств объектов на функции, отображающие свойства объектов на множества объектов Рис. 3.7. Соответствие между синтаксическими категориями и логическими типами.
3.2. Грамматика Монтегю 189 получается с помощью функции/, определяемой следующим образом: 1-/(0 = ', 2. ДСЛГ)=/(/К) = <*,/>, 3./(лГ/Л)=/(лГ//Л)) = «д,/(Л)>,/(лГ)> для всех синтаксических категорий .я/ и 01. Соответствия между синтаксическими категориями и логическими типами, заданные с помощью функции Беннетта /, указаны в таблице на рис. 3.7 (заимствовано из [54]). Легко заметить, что это определение (а именно оно и будет принято в дальнейшем изложении) позволяет избежать преждевременного введения интенсиональных типов. 3.2.6. Перевод базисных выражений После установления тесной корреляции между классами выражений одного языка (синтаксических категорий естественного языка) и классами выражений другого языка (логическими типами формального языка) следует связать между собой индивидные выражения. Для этого начинают с определения некоторой функции, обозначаемой через ', отображающей базисные выражения естественного языка на нелогические константы интенсионального языка &1. Такие константы должны принадлежать подходящему типу. Например, базисные выражения тап и т1к следующим образом переводятся двумя константами из &г типа <е,*>: тап переводится как тап', теа1к переводится как теа1к'. Общий же метод таков. Если а-базисное выражение синтаксической категории .я/, то через а' обозначается перевод выражения а. По определению а' является константой из &1 типа /С*/). Только что сформулированное правило перевода определено для всех базисных выражений, за исключением имен собственных, т.е. элементов множества Вт. Имена собственные (например, ЛоЬп и Магу) принадлежат категории Г «терминов» (рис. 3.1). Логическим типом,
190 3. Семантика Монтегю соответствующим этой синтаксической категории, является <Х$,<(е,*>>>0 (рис. 3.7.) Имя семантического объекта, дено- тированного этим типом, является «множеством свойств индивидов (объектов)». Таким образом, слово ЛоЬп следует переводить некоторым выражением, которое денотирует множество свойств какого-то определенного объекта. Пусть Р представляет в нашем метаязыке предикатную константу, значениями которой являются свойства объектов. Через ] и т обозначим нелогические константы типа е, которые денотируют соответственно личности ЛоЬп и Магу. Переводы имен собственных и занумерованных местоимений Ье„ задаются следующими определениями: ЛоЬп переводится в А,Р[ УР(/)], Магу переводится в А,Р[ уР(т)~\, Ьел переводится в А,Р[ уР(хп)~\. Подчеркиваем, что эти переводы должны содержать выражения вида УР0)9 а не просто Р{]). Действительно, Р денотирует некоторое свойство, т. е. функцию от индекса на функции, отображающие объекты на значения истинности. Чтобы иметь возможность брать в качестве аргументов объекты, придется преобразовать ее в функцию от объектов на значения истинности, т.е. в функцию, которая обозначается через у Р. Таким образом, именно выражение УР, а не просто выражение Р, будет комбинироваться с ]. Подытожим наши рассуждения. Слово ЛоЬп, которое является элементом категории Г, должно обрести в качестве перевода некое выражение типа <«.у,<(е,*>>,*>. Это выражение строится с помощью символов Р, у ,} и X по следующей схеме. ФОРМАЛЬНОЕ ВЫРАЖЕНИЕ Р Ур V^•) СООТВЕТСТВУЮЩИЙ тип <*> е I
3.2. Грамматика Монтегю 191 3.2.7. Перевод правил функционального воздействия В § 3.2.3 были сформулированы синтаксические правила, называемые «правилами функционального воздействия». Речь идет о правилах 54-510. Эти правила имеют следующую общую форму: 5/: Если аеР^^и реР^, то Р}{а$)еР^. Синтаксическому правилу 5/ ставится в соответствие следующее правило перевода Г/: Ту. Если а е Р^1Я, р е Р& и переводами выражений аир являются а'иР', то перевод для ^(а,р) есть а'(Лр'). Правила перевода всех синтаксических правил функционального воздействия имеют одну и ту же форму. А именно нужно взять перевод а' выражения категории я#1$ и скомбинировать его с переводом р' выражения категории ^, перед которым следует поставить оператор интенцииЛ . Получится выражение а'(Лр'). Снова подчеркиваем, что для перевода пришлось взять выражение а'(Лр'), а не просто а'(Р')- Действительно, перевод на язык интенсиональной логики некоторого выражения категории я&1$ принадлежит типу ((5,/(@У) ,/(я/)У. Поэтому требуется комбинировать выражение категории я//@ с таким выражением, перевод которого принадлежит типу <$,/(^)>, и, таким образом, с выражением, которое денотирует интенцию некоторого выражения категории $. Рассмотрим простой пример. Магуе1?г, и, следовательно, по 51, МагуеРг; 1я\кеВ1У, и, следовательно, по 51, 1а1кеР/к. Стало быть, по 54, Магу ЫквеР,. Переводом для Магу является А,Р[уР(т)]; переводом для 1а1к является 1а1к'; переводом для Магу (аПю является ХР[У Р(тУ\(А^2^к'). Пусть л1а1к'-выражение типа <$,<е,*>> и ХР^уР(т)~\- выражение типа <$,<е,*>, *>. Тогда составное выражение
192 3. Семантика Монтегю А,Р[уР(т)](л1а1к') имеет тип I, т.е. является формулой интенсиональной логики. Эту формулу можно упростить в два этапа следующим образом. Принцип ^-преобразования (§ 2.2.9): А,Р[уР(т)](Л1а1к')оУЛ*а1кЧт). Элиминация последовательности УЛ (§ 2.3.6): лу1а1к'(т)о*а1к'(т). Первый перевод, т.е. А,Р[уР(т)](л1а1к'), является формулой интенсиональной логики. Второй же перевод, т.е. Ык'(т), является формулой логики первого порядка. Эти две формулы эквивалентны. Имена собственные (такие, как Магу и ЛоЬп) и непереходные глаголы (такие, как пш и 1а1к) принадлежат экстенсиональной части1* естественного языка. Эти фразы называются «экстенсиональными фразами». Остальные фразы называются «интенсиональными фразами» фрагмента английского языка. Следовательно, можно было бы, естественно, надеяться на то, что английская фраза Магу 1а1к§ поддается переводу на язык логики первого порядка. Так оно и есть. Упрощения, привнесенные в первый перевод, уже позволяют преобразовать его в эквивалентную формулу логики первого порядка. При переводе более сложных фраз требуется перевод артиклей (таких, как 1Ье и а), а также естественных эквивалентов кванторов (подобных еуегу и песе&запгу). Правильный перевод соответствующих синтаксических категорий связан с определенными условиями адекватности некоторой «логики естественного языка». Эти условия адекватности будут введены и прокомментированы в § 3.2.8. Правила же перевода будут сформулированы в § 3.2.9. 1} Под «экстенсиональной частью фрагмента английского языка» понимается множество английских фраз, перевод каждой из которых является формулой логики первого порядка.- Прим. ред.
3.2. Грамматика Монтегю 193 3.2.8. Критерий адекватности логики естественного языка Существует некоторая логика, присущая естественному языку, т.е. множество отношений логического следования. Задача же специалиста по семантике и теоретика в той области, которая иногда называется «естественной логикой», заключается в следующем. Надо построить теорию, учитывающую условия истинности повествовательных предложений и отношения логического следования, существующие между этими фразами. Минимальное условие, которое следует наложить на семантику и логику естественного языка, состоит в задании конечного числа правил, которые позволяют сопоставить условия истинности всем фразам из фрагмента естественного языка, настолько большого, насколько это возможно. Требуется также построить отношения логического следования, которые связывают эти фразы между собой. Речь идет о минимальном критерии дескриптивной адекватности, которому должны удовлетворять семантика и логика естественного языка. Кинен и Фальц [122] добавили новый критерий, позволяющий одновременно понять мотивации попытки Монтегю и оценить то, что он осуществил. Этот критерий формулируется следующим образом. Пусть заданы две логики английского языка, которые эквивалентны или сравнимы в том, что касается дескриптивной адекватности. Тогда следует предпочесть ту из них, которая дает лучшую корреляцию между элементами (составляющими) логических структур и элементами внешних форм, логические свойства которых как раз и представлены этими структурами. Проще говоря, нужно предпочесть ту логику, при условии выполнения требований дескриптивной адекватности которой обеспечивается как можно меньшее отклонение от внешней формы фраз из того фрагмента английского языка, для представления которого предназначена эта логика. В идеальном случае синтаксические деревья фраз естественного языка и синтаксические деревья их переводов на логический язык должны быть изоморфны. То, как Монтегю предполагал обращаться с квантифи- 25-4465
194 3. Семантика Монтегю цированными выражениями (такими, как «одна лошадь», «все единороги» и т.д.), хорошо иллюстрирует его заботу о соблюдении двух принципов, которые только что были сформулированы. Известно, что в обычной формальной логике (наподобие исчисления предикатов) имена собственные имеют статус, который совершенно отличен от статуса имен нарицательных, которым предшествует неопределенный или определенный артикль. Первым приписывается статус индивидных констант, а вторым-статус кванторов, связывающих переменные. Слово «Жан» представлено в логике некой индивидной константой, в то время как «все» представлено квантором общности по переменной х. Индивидные константы являются категорематическими выражениями, т. е. снабжаемыми (наделяемыми) автономными значениями. Кванторы же относятся к синкатегорематическим выражениям, значения которых лишь косвенны. Следовательно, здесь наблюдается разрыв меж!цу грамматической формой и логической. Логик оправдывает это различие, ссылаясь на то, что выводы, которые имеют право делать, существенно различаются в зависимости от того, оперируют ли с именем собственным или с именем нарицательным, перед которым стоит неопределенное прилагательное. Так, например, из истинности двух фаз «Жан знаком с Хиллари» и «Хиллари является покорителем Эвереста» вытекает истинность фразы «Жан знаком с покорителем Эвереста», но, однако, из того факта, что «Жан знаком кое с кем» и «кое-кто является покорителем Эвереста», еще не следует с очевидностью знакомство Жана с покорителем Эвереста. Одна из заслуг Монтегю состоит в том, что он показал возможность примирения логики с грамматикой. Тем самым был положен конец существованию разрыва между логической и грамматической формами, и при этом все, что было накоплено логиками, не было утеряно. Кроме того, не подвергалась опасности дескриптивная адекватность логики, которая должна позволять учесть разницу между общезна* чимыми и необщезначимыми выводами. Действительно, в грамматике Монтегю имена нарицательные, которым пред* шествуют неопределенные или определенные артикли, при-
3.2. Грамматика Монтегю 195 надлежат, как и хотелось этого специалисту по грамматике, той же самой синтаксической категории, что и имена собственные. И те и другие-элементы категории Т. 3.2.9. Правила перевода артиклей В § 3.2.6 было показано, каким образом Монтегю переводил некоторые базисные выражения естественного языка в соответствующие логические константы формального языка. Именно на этом этапе появляется то нововведение, о котором говорилось в предыдущем параграфе,-сопоставление неопределенному артиклю некоторого логического перехода, что позволяет в одно и то же время продолжать, как это делают специалисты в области грамматики, классифицировать слово «человек» как терм той же самой категории, что и слово «Жан», и продолжать, как это делают логики, признавать, что кванторы обладают возможностями вывода, весьма отличными от возможностей вывода для имен собственных. Пусть через У и 2 обозначены две переменные типа <$, <е,*>> . Неопределенное прилагательное еуегу, а также артикли 1Ье и а переводим следующим образом: 1Ье переводится как Х2, [А, УЗу [V* [ у 2, (х) = х = = у-\АуУ(у)В, еуегу переводится как Х2[ХУУх[у2,(х) => у У(х)]], а переводится как \Х[ХУЗх[у7,(х) Л у У(х)]]. (Подобные переводы уже появлялись в конце разд. 2.2.10. Переводы, которые предложены здесь, учитывают интенции.) Внимательное рассмотрение позволяет проверить, что речь действительно идет о выражениях интенсиональной логики, имеющих подходящий тип, чтобы служить переводом английских выражений категории Т/СМ, являющейся синтаксической категорией артиклей и неопределенного прилагательного еуегу. В самом деле, имеем ДТ/СМ)=М1/1У)/СМ) = «*,/(САГ)>,/(///У)> = = «5,<^»,«5,/(/РО>,/(0» = 25*
196 3. Семантика Монтегю Теперь проверим, что предлагаемые переводы действительно имеют этот тип. Выражение Улс[у2Т(лс) => уУ(х)~\ являете* формулой, т.е. выражением типа I. Так как У-переменна* типа <$,<е,*>>, то выражение гкУ^х\УТ,(х) => у У(х)~\ принадлежит типу «$,<е,*>>,*>. Далее, ^-переменная того же типа, что и У; отсюда вытекает принадлежность выражения ^[ЬУУхГад^у(х)Т] ТИпу «*,<*,/», «5,<е,*»,*>>, т.е. типу /(Т/СМ). Такой же способ рассуждений применяется и для двух других переводов. Чтобы иметь возможность использовать переводы дл* 1Ье, еуегу и а в переводах фраз, следует пополнить список правил перевода, связанных с синтаксическими правилами категориальной грамматики, сформулированными в § 3.2.3. Перевод правил функционального воздействия (54-510) был дан в § 3.2.7. Нужно еще определить правила перевода, связанные с остальными синтаксическими правилами: 52, 53 и 514. Это будет сделано в следующем параграфе. 3.2.10. Дополнительные правила Правила перевода Г2, ТЪ и Г14, связанные соответственно с синтаксическими правилами 52, 53 и 514, определяются следующим образом. Г2: Если аеРт/Сн, $еРсм и переводами выражений а и 0 являются а' и р', то переводом выражения Р2(<Ъ$) является а'(лр'). ТУ. Если аеРСЛИ АеРг и переводами выражений а и А являются а' и Л', то переводом выражения Р3п(а,А) является Ххп [а'(хп) Л А'\. Г14: Если аеРт, АеРг и переводами этих выражений являются соответственно а' и А\ то переводом выражения Р14п(а,А) является а'(АХхпА'). Рассмотрим перевод фразового наречия песежагЫу. Это на^ речие обрабатывается как элемент синтаксической категории, 1/1. Следовательно, оно комбинируется с некоторой фразой для формирования новой фразы. Чтобы удовлетворить требованиям композиционного принципа Фреге при интерпретации фразы "песежагНу А" (где
3.2. Грамматика Монтегю 197 А представляет фразу естественного языка), следует, как мы видели в § 2.3.11, применить перевод наречия песе$$ап1у к такому выражению, которое денотирует интенцию перевода А' фразы А, а не к самому переводу А'. Можно переводить наречие песежагНу функтором '^ес", а песе$$ап1у А"-формулой N60(Л А'). Чтобы сообразоваться с традицией модальной логики, зададим перевод наречия песе$$ап1у, использованный Монтегю, не в виде «нелогической константы», а в терминах модального оператора □. Пусть р-переменная, представляющая некоторую формулу, начинающуюся с оператора интенции Л (т.е. высказывание; см. § 2.3.4). Упомянутое правило перевода формулируется так: песе88ап1у переводится как А,/?[ПУ/?]. Поскольку наречие песе$$ап1у фразовое, т. е. относится ко всей фразе в целом, то оно является элементом синтаксической категории 1/1 и при переводе должно переходить в выражение, логический тип которого есть «V) > 0 • Это выражение строится с помощью символов р, у, □ и X в соответствии со следующей схемой. ФОРМАЛЬНОЕ СООТВЕТСТВУЮЩИЙ ВЫРАЖЕНИЕ ТИП Выпишем для полной картины оставшиеся синтаксические правила грамматики Р'Щ, а также соответствующие им правила перевода. В противоположность правилам из § 3.2.3 эти правила не будут проиллюстрированы примерами. • 511а: Если АеР( и ВеР(, то Р11а(А,В)еРг. Функция Р11а(А,В) имеет значение "Л апё В". • Т\\а: Если переводами для А и В являются соответственно А' и В\ то переводом для Р11а(А,В) является (А'/\В>). • 8ПЬ: Если АеРг и ВеРг, то Г11Ь(А,В)еРг. Функция Р11Ь(А,В) имеет значение "Л ог В".
8 3. Семантика Монтегю • Т\\Ъ: Если переводами для А и В являются соответственно А' и В\ то перевод для Р11Ь(А,В) есть (А'\/В'). • 512а: Если аеР1У и ре/*/к , то Р12а(а^)е^1У Функция Р12а определяется так же, как и Р11а. • Г12а: Если переводами для аир являются соответственно а'ир', то переводом для Р12а(а$), т-е- Для "а апД р", служит Хх[а'(х) Л р'(*)]« • 512^: Если аеР1У и реР/к, то Р12Ь(а$)еР1У. Функция Р12Ь определяется так же, как и Р11Ь. • Т\2Ъ: Если переводами для аир являются соответственно а' и р', то переводом для Р12Ь(а$), т-е- Для "а ог р", служит Хх[а'(х) V р'(*)]« • 513: Если аеРг и реРг, то Р13Ь(а$)еРт. Функция р13 определяется так же, как и Р11Ь. • ПЗ: Если переводами для аир являются соответственно а' и р', то переводом для Р13(а,р) служит ХР[а'(Р) V р'(Р)], где через Р обозначена переменная типа <5, <е,*>>. • 515: Если аеРт и реРСЛГ, то Р15п(а$)еРсм. Функция Р15п определяется так же, как и Р10,„- • Г15: Если переводами для аир являются соответст- < венно а' и р', то переводом для Р15п(а,р) служит ! ^а'(Нхй[р'(>0]). ' | • 516: Если аеРт и реР/к, то Р16п(а,Р)еР1У. Функция Р16п определяется так же, как и ^10,„. • Г16: Если переводами для аир являются соответст- ] венно а' и р', то переводом для Р16п(а,р) служит I ^а'(ЛК[Р'(Я1). ' ] • 517: Если аеРт и $еР1У, то Р17а(а,Р), Г11ЬШ, : ^17с(а,Р), *\7Ла,Р) и ^17в(а,Р)бЛ- Функция Р11а(а#) \ имеет значение ара, где ра получено путем замены 1 первого глагола в р на отрицание этого же глагола ] в третьем лице единственного числа настоящего вре- 1 мени. | Значение функции ^17Ь(а,р) равно арь, где рь полу- '] чено путем замены первого глагола в р на этот же глагол в третьем лице единственного числа будущего 1 времени. Значение функции ^17с(а,р) равно арс, где рс полу- ] чено путем замены первого глагола в р на отрицание 1
3.2. Грамматика Монтегю 199 этого же глагола в третьем лице единственного числа будущего времени. Функция ^17«*(а,р) имеет значение ар*, где р* получено путем замены первого глагола в р на этот же глагол в третьем лице единственного числа прошедшего времени. Функция ^17е(а>Р) имеет значение арв, где рв получено путем замены первого глагола в р на отрицание этого же глагола в третьем лице единственного числа прошедшего времени. • Г17: Если переводами для аир являются соответственно а' и Р', то - переводом для ^17а(а,р) служит ~1 а'(Лр'); - переводом для ^17Ь(а,р) служит </7)а'(Лр'); - переводом для ^17с(а,р) служит ~1 <5'>а'(Лр'); - переводом для ^17Да,р) служит <77>а'<ЛР'); - переводом для Р11е(а,Р) служит ~1 <77>а'(Лр'). 3.2.11. Перевод экстенсиональных фраз Прежде всего рассмотрим простой пример, который иллюстрирует преимущества интенсиональной логики перед логикой предикатов. Если применить правила перевода, сформулированные в предыдущих параграфах, то придем к представлению фразы "а теотап 1а1к§" языка <РК посредством следующей формулы интенсиональной логики: Х2[ХУЗхС2(х) Л уУ(х)]](Л^отап')(Л1а1к'). Эта формула языка ^1 имеет то же самое синтаксическое дерево, что и фраза из Ук, которую она представляет (см. рис. 3.8). Напротив, формула из исчисления предикатов Злс(Ж?- тап (х) Л Та1к (х)\ представляющая ту же самую фразу, обладает совершенно иной синтаксической декомпозицией. Однако с помощью правил преобразования (т.е. правила ^-преобразования и правила аннулирования оператора УЛ) можно показать, что обе эти логические формулы (т.е. формула интенсиональной логики и формула исчисления предикатов) эквивалентны.
200 3. Семантика Монтегю Нетрудно видеть, что перевод на язык интенсиональной логики ничуть не уступает переводу на язык классической логики и даже имеет некоторые преимущества. Ведь вместо описания естественного языка с помощью не очень подходящего для него формализма его переводят в форму, удовлетворяющую критерию адекватности, сформулированному в § 3.2.8. Рассмотрим перевод фразы из первого примера § 3.2.4, т. е. будем переводить фразу "еуегу жотап висЬ 1Ьа1 §Ье ^а1к§ 1а1к8". \2[\У[Чх(~2(х) Л -У(ж)](А^отап')(Ча1к') а мготап 1а1кз Х2[ХУ[^х^2(х) Л -У(ж))](^отап') а \Уотап <(5,(е,*))г(|*,(М>>,')> (*,(М>> (*,М>> \2[\У[Чх("2(х) Л ~У{х))] А^готап' Ча1к' I I 1а1к Рис. 3.8. Синтаксическое дерево. Символ => будет обозначать высказывание «переводится как». Перевод базируется на синтаксическом анализе, которому соответствует дерево, изображенное на рис. 3.2. У каждого шага перевода будем указывать его обоснование; иногда в обосновании будет стоять номер параграфа, в котором оно описано. Например, запись ('; § 3.2.6) означает, что перевод обращается к функции ', определенной в § 3.2.6; запись (1, 2, 74; § 3.2.7) означает, что данный перевод использует переводы 1, 2 и правило Т4, определенное в § 3.2.7. Правило ^-преобразования будет обозначаться при
3.2. Грамматика Монтегю 201 ссылках через X, а правило исключения экстенции и интенции-через ЛУ 1. Ъе5=>ХР1"/Р(х5)] (§ 3.2.6) 2. та1к=>™а1к' ('; § 3.2.6) 3. Ье5 ^а1к8=>А,Р[уР(л:5)](л^а1к') (1,2, Г4; § 3.2.7) 4. ул *а1к' (х5) (к; § 2.2.9) 5. *а1к'(х5) (л*;§ 2.3.6) 6. ичнпап=>и'отап' (') 7. жотап висЬ 1Ьа1 §Ье жа1к8 => А,х5 |>отап'(л:5) Л теа1к'(*5)] (5> 6> гз; § 3.2.10) 8. еуегу =>Х2ХУУх["Х(х) => уУ(х)] (§ 3.2.9) 9. еуегу жотап висЬ 1Ьа1 вЬе теа1кв (7, 8, Г2; § 3.2.10) (лА,л:5[^отап'(л:5) Л теа1к'(лс5)]) 10. ХУУх [ л у А,х5 |>отап'(х5) Л ™а1к'(*5Ш*)^ "У&У] 0) 11. ХУУх [Хх5 |>отап' (х5) Л *№'(х5)](х)=> уУ(х)] (лу) 12. АУУх[(*отмГ(*)Л (Л) *а1к'(*))=> у У(*)] 13. 1а1к=>1а1к' (') 14. еуегу теотап §исЬ 1Ьа1 §Ье тПю 1а1к8=>А,УУл:[(^отапЧл:) Л (12, 13, ТА) *а1к'(*))=> у У(х)](л1а1к') 15. Улс[(теотап'(л:) Л теа1к'(лс)) => 1а1к'(*)] (ЬЛЛ) 3.2.72. Перевод интенсиональных фраз В § 3.2.4 было показано, что фраза "ЛоЬп 8еек§ а ишсогп" может пониматься двумя различными способами. Прежде всего ей можно придать смысл (к (Вс1о9 который не влечет существования единорога. Перевод этого первого смысла базируется на синтаксическом анализе, представленном деревом, изображенным на рис. 3.3. Остановимся на деталях этого анализа. В процессе перевода используется следующий принцип переписывания: Р(у,х)^Р(х)(у), 26-4465
202 3. Семантика Монтегю где через Р обозначено некое предикатное имя. Этот принцип будем называть Р-трансформацией. Он означает, что бинарный предикат Р(у,х) может интерпретироваться как унарный предикат Р(х)9 снабженный аргументом у. Ниже через (Р) в колонке справа будет отмечаться тот факт, что Р -трансформация использовалась в качестве обоснования на очередном этапе процесса перевода. 1. веек =з> веек' 2. а=>Х.2[лУЗ;с[ у 2(х) Л у У(х)]] 3. ШИСОГП => ШШСОПГ 4. а шисогп =>л2[л УЗ* [у 2(х) Л у У(х)]](Л шисогп) 5. ХУЭ* [шисогп'(х) Л у У(х)] 6. веек а шисогп => веек'(ллЗл: [шисогп'(х) Л чу(х)Ъ 7. ]Лл*>кР[*/»(/)] 8. ЛоЬп веекв а шисогп => ХРС />(/)] (лвеек'(л>.УЭ;с [шисогп'(л) Л уУ(х)])) 9. веек' (лЯ.У1с [шисогп' (х) Л УГ(*)])(/) 10. веек'(//лУЗх [шисогп'(х) Л 7 У(х)]) С) (§ 3.2.9) С) (2, 3, Т2) (X., УА) 0, 5, Т5) (§ 3.2.6) (6, 7, Т4, § 3.2.7) (К ул) С) Той же самой фразе можно придать смысл де ге, влекущий за собой существование единорогов. Перевод этого второго смысла основан на синтаксическом анализе, который представлен с помощью синтаксического дерева на рис. 3.4. 1. 2. 3. 4. 5. 6. 7. Ье1=>Л/>[^(х1)] веек =» веек' веек Ыш, => веек' (Л Р {хЛ) 1оЬп=>а/>[у/>{/)] ЛоЬп веекв пиПх => "КР [ уР(/)](л веекв'(лхР[уР(х веекЧПРГРЮЖ/) веек'(/,ллР[у/>(х1)]) 1)])) (§ 3.2.6) С) 0, 2, Г5) (§ 3.2.6) (3, 4, Г4) <*, УА) 0»)
3.2. Грамматика Монтегю 203 8. а ишсогп => А, УЗх (предыдущий пример) [ишсопГ(х) Л уУ(х)] 9. ЛоЬп веекв а ишсогп =>АТ (7, 8, Т 14, § 3.2.10) Зх[ишсопГ(х)Л у У(х)] (лЬ:1[8еек'аА^[у^(^1)])]) 10. Зх[ип1СОГп'(;с) Л Ххх [■в*'аА^[у^(*1))](*ш <ьул) 11. Зх [ишсогп'(х) Л жА'О'^ХР^ Р(х)Ш (X) Таким образом, получены следующие два перевода фразы «Джон ищет единорога». Перевод <к сИс1о\ 8еек'(/, Л А,Их [ишсогп'(х) Л у У(х)]). Перевод (к ге: Зх[ишсогп' (х) Л 8еек'(/, л ЬР[ У ^ (*)])]. В переводе йе сИс1о перед единорогом, которого ищет Джон, стоит оператор интенции л . Это означает, что, во-первых, существует некоторый объект х, обладающий свойством «быть единорогом», а, во-вторых, х принадлежит области «интенсионального поиска» для Джона. Напротив, в переводе в смысле (к ге квантор 3, связывающий переменную х, находится в «экстенсиональной» позиции. В той же позиции стоит и подформула ишсогп'(х). Все это подразумевает, что единорог действительно существует. Следовательно, перевод <к ге должен быть эквивалентным некоторой формуле первого порядка. Чтобы убедиться в справедливости этого факта, осуществим цепочку преобразований над следующей интенсиональной формулой: Зх [ишсогп'(*) Л 8еек'(/, Л А1>[ уР(х)])] . Прежде всего применим Р-трансформацию. Получаем Зх [ишсогп'(х) Л 8еек'(Л М>[ УР(*)](/)] • Два последовательных применения ^-преобразования приводят к формулам Зх[шисопГ(х) Л [^[8еекЧЛ^Р[уР(л:)])(2)]С/Ш, Зх [ишсогп'(х) Л [^[^[8еекЧл^Р[уР(л:)])(2)]](л:)(/)]]. 26*
204 3. Семантика Монтегю Пусть задано предикатное имя 8, принадлежащее множеству Е/(ТУ) выражений типа/(7У). Тогда ^-выражение 5% определяется следующим образом: Монтегю доказал, что выражение 8% допускает интерпретацию в качестве предикатного имени в логике первого порядка (см. также [54], с. 223). Это позволяет получить такую формулу первого порядка: Зле [шисопГ (лс) Л [веек +(х)(/)]]• Применяя, наконец, Р-трансформацию, получаем следующую формулу, эквивалентную первоначальной: Зх [шнсопГ (х) Л [веек'„,(/,*)]]. Таким образом, перевод йе ге фразы «Джон ищет единорога» описан нами в виде формулы логики первого порядка. 3.2.13. Постулаты осмысления Категориальная грамматика позволяет породить по два структурных описания для каждой из двух следующих фраз: (1) Джон ищет единорога, (2) Джон находит единорога. Сперва приведем описание йе Лс1о\ (1а) Джон ищет единорога (гипотетического), (1Ь) Джон находит единорога (гипотетического). А теперь дадим описание <к ге: (2а) Существует единорог, и Джон его ищет, (2Ь) Существует единорог, и Джон его находит. Итак, наблюдается следующее явление. С одной стороны, для глагола «искать» разница смыслов соответствует различию структур (§ 3.2.4) и, следовательно, отличию переводов (§ 3.2.12). С другой стороны, для глаголов «находить)! это не так. Действительно, невозможно находить «гипотетический» объект: если его нашли, то он в самом деле существует. Значит, два перевода из предыдущего параграфа должны стать эквивалентными между собой, если в них1 заменить глагол "веек" глаголом "ПшГ. Формула Г1шГ(/, ЛА,гас[ишсогп'(л:) Л у У(х)])
3.2. Грамматика Монтегю 205 поэтому должна получить ту же самую интерпретацию, что и формула Зх [шнсопГ (х) Л ЯшГ (/, Л ХР [ у Р(хШ . Именно в этом месте у Монтегю появляется специальный инструментарий, называемый «постулаты осмысления». Наилучший способ постигнуть суть этого инструментария состоит в толковании его как некоторого ограничения, накладываемого на класс возможных моделей. Например, рассмотрим следующий постулат осмысления: «все холостяки являются неженатыми субъектами». Его роль можно описать такими словами: «рассматривая модели (т.е. возможные интерпретации) для нашего языка, будем ограничиваться моделями, в которых данная формула является истинной». Обратимся снова к глаголу ПпД. Он выбран как пример экстенсионального глагола. Отличие от случая «холостой/ неженатый» таково. Там постулат осмысления связывает смыслы (т.е. смысловые значения двух различных слов), а в случае с экстенсиональными глаголами роль постулата осмысления состоит в уменьшении различия между смыслами слов, чтобы обеспечить эквивалентность двух возможных переводов1*. Монтегю предложил следующую формализацию постулата осмысления (обозначается через Р81) для экстенсиональных глаголов: Р8\: УхУ^П[8(л:,^) = у^(Л^[8„(л:,<у)])], где переводом для 8 являются глаголы Ппё, 1оуе, 1о8е, еа! или ёа!е2); 8% есть ^-выражение, которое определено в предыдущем параграфе, а ^-переменная типа <$,«л,(е,*>>,*>> . (Читатель, заинтересовавшийся ходом исследований, приведших к этой формализации, может обратиться к [54], с. 236.) 1) То есть переводы в смысле йе (Нею и йе ге-Прим. перев. 2) Русские эквиваленты этих английских слов соответственно таковы: «находить», «любить», «терять», «кушать», «датировать».- Прим. перев.
206 3. Семантика Монтегю Конкретизация постулата Р81 может быть, например, такой: Эта конкретизация позволяет доказать эквивалентность двух переводов фразы «Джон находит единорога». 1. ОшГ (/, Л ХУЗх [ишсопГ (х) Л у У(х)]) : (к (ИсЮ 2. улА,гас[ишсопГ(*) Л у У(х)] (л^[Яш1;а^)]) (^51) 3. Зх [ишсогп' (х) Л (А.У[Я*Г* (/,*)])(*)] (*>у А) 4. Зх [ишсогп'(х) Л йшГ% (/, *)] : Л ге Таким образом, благодаря постулату осмысления удалось доказать, что фраза «Джон находит единорога» является неоднозначной. 3.2.14. Пример постулата осмысления Мы уже отмечали, что Монтегю отводил постулатам осмысления роль, состоящую в отражении общих причин семантических фактов (см. § 3.1.2). Если между значениями, которые могут приниматься примитивными предикатами некоторой системы, существуют логические отношения (например, импликация или логическая несовместимость), то для каждого из этих отношений нужно сформулировать постулат осмысления. Например, если обнаружится, что значения для «холостой» и «женатый» находятся в отношении взаимного исключения, то будет принят следующий постулат осмысления: V*{Холостой(х) з ~1 Женатый(х)). Однако вплоть до настоящего времени общая теория «смысловых значений» игнорируется и обращение к постулатам осмысления подверглось критике со стороны Хом- ского: «Эта процедура разработана ай кос для классификации и характеризации элементов отдельных языков, и очевидно, что она не будет полезна для лингвистов, которые хотели бы знать общие причины соответствующего явления, чтобы в каждом отдельном случае иметь возможность уста-
3.2. Грамматика Монтегю 207 навливать эти классы и эти отношения». Можно выдвинуть еще одно возражение против постулатов осмысления: попытка составить их перечень является безнадежной затеей. Монтегю занялся формализацией постулатов осмысления, проявляющихся в том фрагменте естественного языка, который он рассматривал. (Один из них был приведен в качестве первого примера в предыдущем параграфе.) Лексика данного фрагмента естественного языка содержит глаголы, означающие некую интенцию, например глагол 1гу («пытаться»). Следовательно, важно формализовать семантическую эквивалентность между веек и (ту (о йпй (т.е. синонимию между «искать» и «пытаться найти»). Монтегю классифицировал по категории 1У//1У глаголы *гу и товЬ1*, т.е. те глаголы, которые можно комбинировать с неопределенной формой глаголов. Эквивалентность между 8еек и (ту (о йпй поддается формализации благодаря следующему постулату: Р82: УхУ^П[8еекЧх,^) = 4гуЧ^л[йпйЧ^)])]. Этот постулат позволяет, например, преобразовать перевод смысла (к (Нею фразы «Джон ищет единорога» (§ 3.2.12), т. е. 1. 8еек'С/,А^^^[итсоп|Чх)Л уУ(х)]), в эквивалентную версию 2. *гу' (/, Л [ЯшГ (л ХУЗх [ишеога (х) Л у У(х)])]. Последнее выражение можно преобразовать так, чтобы сделать его значение более осязаемым: 3. йу'0;^[Г1п<Г(АЬгас (X) [ишсогп'(*)Л уУ(х)])(2)]) 4. йу'ал^№<1'&лЬгас (Р) [ишсопГ(*)Л уУ{хЩ) 5. Ъу'и,*Ь21*уЬуЗх[шпсотп'(х)(Р51;§ 3.2.13) Л у У(х)] (л^[0пё;(2,^)])]) 1} В переводе с английского последнее слово означает «желать».- Прим. перев.
208 3. Семантика Монтегю 6. *гу' (/, л кг [Зх [ишсогп' (х) Л (X) ^[Гшё;(*,Я1 (*)]]) 7. *гу' (/, л Хг [Зх [ишсогп' (х) Л (X) Яш1;(2,х)]]) 3.2. /5. Примеры перевода фраз, содержащих модальности Контексты веры располагаются в области действия глагола ЬеНеуе («верить»), относящегося к синтаксической категории IV/1. Следовательно, этот глагол комбинируется с какой-либо фразой (категории I) и получается выражение категории IV. Принцип композиции Фреге требует, чтобы комбинирование глагола ЬеНеуе с выбранной фразой осуществлялось только после приписывания к ней (в качестве префикса) оператора интенции. Таким образом, если выражение рпгаве' является переводом выражения рЬгаж, то для учета того факта, что эта фраза погружена в модальный контекст веры, следует писать Ъе11еуе'(ЛрЬга8е'), а не Ье- иеуе'(рпга$е). В § 3.2.4. анализировалась фраза 'МоЬп Ъеиеуе§ 1па! а теотап Ыкв". Ее перевод в смысле йе сИс1о выглядит следующим образом: ЪеНеуе'(Л Зх |>отап'(х) Л Ык' (х)])(/) • После осуществления Р-трансформации придем к такому выражению: ЪеНеуе' (/, Л Зх [тотап' (х) Л *а1к' (х)]). Отметим также сходство с прочтением йе (Ис1о фразы "ЛоЬп §еек§ а ишсогп": веек'С/, АХУЗх [ишсогп (х) Л у У(х)]). Перевод же в смысле йе ге той же самой фразы "Лопп ЬеНеуез 1па! а теотап 1а1к§" будет таким: Зх [тотап' (х) Л ЬеНете'(/, Л Ык'(х))]. Заметно сходство с прочтением йе ге фразы "Лопп зеекв а ишсогп": Зх [ишсогп' (х) Л веек^ (у, х)] .
3.3. Заключение и дополнения 209 Подробный анализ двух переводов фразы "ЛоЬп ЬеНеуев (Ьа( а ттап (а1кв" весьма похож на тот анализ, который был проведен в § 3.2.12 для фразы "ЛоЬп §еек§ а ишсогп". Было бы излишне здесь задерживаться на этом. Наречие песежагИу, относящееся к фразе в целом, зачислено в синтаксическую категорию г/г. Значит, комбинируя его с какой-либо фразой, получаем новую фразу. И опять принцип композиции Фреге требует, чтобы комбинирование наречия песе88ап1у с выбранной фразой осуществлялось только после приписывания к ней в качестве префикса оператора интенции. Проанализируем фразу песежагНу ЛоЬп жа1к8 с целью ее перевода: 1. Ьех та1к8=>та1к'(*1) 2. песежагНу => Хр [ □ у р ] 3. песе88ап1у Ьех та1к8=>А,/?[П У/?](Л [^аи*'^)]) 4. □|>а1к'(*1)] 5. ЗоЪп^ХР^ РУ)] 6. песеввагИу ЛоЬп теа1к8 => ХР [ у Р(/)3 (л ^1 □ 1>*1к' (*!>]) 7. цаЕшй'^ш) 8. П[>а1к'(/)] Преобразование строки 7 в строку 8 требует введения дополнительного постулата осмысления, а именно постулата Зх □ (х = Д чтобы был возможен переход константы } в область действия оператора □. (См. по этому поводу [54], с. 233.) 3.3. Заключение'и дополнения 3.3.1. Трудности, присущие семантике Монтегю Один из наиболее оригинальных вкладов Монтегю заключается в привлечении композиционной и рекурсивной семантики как для интенции, так и для экстенции. Толчком послужила семантика возможных миров Крипке, плодотворность которой Монтегю подметил сразу же. В сущности, Монтегю прибегнул именно к понятию возможного 27-4465
210 3. Семантика Монтегю мира1} относительно других миров, чтобы придать понятию интенции строгий статус внутри расширенной теории денотата. Однако семантика возможных миров в том виде, в каком ее использовал Монтегю, не способна учесть некоторые явления, свойственные естественному языку. Понятие интенции, полученное в результате обобщения понятия экстен- ции с помощью идеи возможного мира, является слишком элементарным. Оно не отражает в достаточной степени структуру и иногда плохо сочетается с принципом композиции. Приведем один очень простой пример. Рассмотрим два причастия прошедшего времени: «купленный» и «проданный». Они имеют не только общую экстенцию, но и общую интенцию, так как во всех возможных мирах, в которых истинна открытая фраза «х является купленным», истинной будет для того же самого объекта и открытая фраза «х является проданным». Теперь рассмотрим две следующие синтагмы: «купленный Марией» и «проданный Марией». Хотелось бы иметь возможность сказать, что эти две синтагмы получены путем композиции соответственно слов «купленный» с «Марией» и «проданный» с «Марией». Но если интенция для «купленный» и «проданный» одна и та же, то ожидается, что и интенция для двух этих синтагм будет одной и той же. Однако это не так. Таким образом, мы сталкиваемся со следующей дилеммой. Либо придется отказаться от принципа композиции, либо следует прекратить попытки свести свойства синтагм к интенциям, определенным в духе Монтегю. Причина другого недостатка семантики Монтегю в том, что эти две фразы, имеющие одно и то же значение истинности во всех возможных мирах, рассматриваются как идентичные. Поэтому все тавтологии оказываются синонимами и все противоречия оказываются синонимами. Ясно, что это следствие неприемлемо. Нужно рассматривать отношение «р имеет ту же самую интенцию, что ид» лишь как необхо- 1} «Возможный мир» служит здесь синонимом для пары <и>, 1).-Прим. ред.
3.3. Заключение и дополнения 211 димое, но отнюдь не достаточное условие для идентичности высказываний. Третий упрек, который можно высказать в адрес Монтегю, связан с тем обстоятельством, что предложенная семантика предполагает исчерпывающее знание говорящими содержимого всех возможных миров. Однако здесь следует остерегаться одной ошибки. Монтегю не постулировал фактическое всезнание. И поэтому если говорящий знает композицию всех, возможных миров, включая и реальный мир, то отсюда еще не следует знание реальности грзо/аао^. Ему для этого не хватает умения выделить именно тот мир, который является нашим, т. е. распознать реальный мир как таковой. Хотя Монтегю и не предполагал фактического всезнания, он все же предполагал слишком много знания у говорящего. Его семантика позволяет учесть различие между лингвистическим знанием и фактическим знанием. Но зато она не может учесть «динамизм» наращивания знаний. 3.3.2. Теория представления наборов фраз2) Теория представления наборов фраз, разработанная Кампом [118], является примером семантической теории, основанной на понятии частичной модели. Семантические представления являются упрощенными моделями (их называют «частичными моделями»), области которых конечны и ограничены. Представление фразы включает условия, которым должен удовлетворять выбираемый мир, чтобы рассматриваемая фраза была истинна. Эти условия представляются частичной моделью, которая должна быть совместимой с моделью, описывающей реальный мир [212]. Следующая фраза семантически двусмысленна: «Каждый фермер, который владеет ослом, седлает осла». В первом варианте толкования (осмысления, восприятия) этой фразы квантифицированное выражение «каждый фермер» содержит в своей области действия квантифицированное выражение «некий осел». Получаем такой парафраз: «Для любого фермера существует некий осел, которым фермер владеет и п 1р80 /ас(о (лат.)-на деле.-Прим. ред. 2) В оригинале: сИзсоигз- Прим. ред. 11*
212 3. Семантика Монтегю которого он седлает». (Эти ослы могут быть разные!) Во втором варианте толкования фразы, менее естественном, квантифицированное выражение «некий осел» содержит в своей области действия квантифицированное выражение «каждый фермер». Это приводит к парафразу: «Существует такой осел, что любой фермер, который им владеет, седлает его». С помощью формализма грамматики РГ<2 породить дерево данной фразы в первом варианте ее толкования и отразить ее смысл, соответствующий первому парафразу, не удается. Препятствие кроется в анафорическом местоимении «его». Чтобы пролить свет на природу этого препятствия, попытаемся сделать перевод первого парафраза на язык логики предикатов. Получается выражение Ух [[Фермер (х) => Зу (Осел (у) Л Владеет (х, у))) => Седлает (х, уУ], которое, к сожалению, не отражает существа дела, ибо квантор Зу не связывает второго вхождения переменной у, содержащегося в подформуле Седлает (х, у). Можно попытаться первый парафраз в исчислении предикатов записать так: Ух [Фермер (х) => Уу ((Осел (у) Л Владеет (х, у)) => Седлает (х, у))]. Но эта форма записи искажает представляемое выражение: неопределенное прилагательное «некий» заменено здесь квантором «для всех». Фразы такого рода будем называть ёопкеу-8еп1епсе81). Трудности, которые они вызывают, связаны с интерпретацией анафорических местоимений. Так как анафорическое местоимение может иметь свое предшествующее слово в предыдущей фразе, то проблема, вызванная наличием «ослиных предложений», требует выхода за рамки семантики фразы на уровень исследования текста или, наоборот, фраз. Рассмотрим текст (или набор фраз), образованный такой последовательностью слов: «Проходит человек, он напевает». Так как этот текст можно отнести к «ослиным предложениям», то существует возможность представить данную последовательность слов на языке исчисления предикатов; но х) В переводе с английского это означает «ослиные предложения» -Прим. перев.
3.3. Заключение и дополнения 213 это представление приведет к основательному искажению естественного языка. Динамическая последовательность фраз (т.е. их набор), в которой первая фраза служит контекстом для второй фразы, будет представлена одной фразой: Зх[ Человек (х) Л Проходит (х) Л Напевает (х)] . Ни исчисление предикатов, ни формализм Монтегю не способны адекватно отражать лингвистический контекст. Что же касается ситуационного контекста, то с ним дело обстоит совсем иначе. Благодаря указателю времени, к которому можно добавить указатель места, указатель собеседника и т.д., имеется возможность учесть деиктическую зависимость («здесь», «я» и т.д.) относительно ситуационного контекста [80]. Обогатив модель посредством добавления подходящих указателей, можно представить, модифицируя функцию назначения, деиктическую зависимость семантического значения относительно ситуационного контекста. Этот метод нельзя обобщить на интерпретацию анафорических местоимений. Причем трудности возрастают из-за того, что ситуационный контекст, сопоставляющий денотат деиктическому местоимению, может быть заменен лингвистическим контекстом, придающим предшествующее слово как раз тому анафорическому местоимению, которое заменяет деиктическое местоимение. Проиллюстрируем эту ситуацию на примере. Вообразим администратора универсального магазина, который, показывая пальцем на фотографию подозреваемого, предъявленную ему полицейским, заявляет: «Он украл вещь а». Эту фразу, в которой местоимение «он» является деиктическим, можно заменить с сохранением того же смысла следующей фразой, в которой местоимение «он» анафорическое: «Некто был сфотографирован камерой в магазине. Он украл вещь а». Именно для решения одновременно проблемы «ослиных предложений» и проблемы дискурсивной анафории Камп разработал свою теорию представления наборов фраз. Она нашла интересные приложения при использовании реляционных баз данных [118]. Каждая фраза представ-
214 3. Семантика Монтегю ляется таблицей. Пусть одна (первая) фраза служит контекстом для другой (второй) фразы; тогда таблица, соответствующая второй фразе, вставлена в таблицу, отвечающую первой фразе. Построение этих таблиц осуществляется с помощью некоторого алгоритма. При этом исходят из новой концепции осмысления. А именно, значение (дискурсивное) фразы должно позволить осуществить продолжение представления того набора фраз, частью которого она является, на новое его представление, в которое это исходное представление будет «вставлено». Рассмотрим, например, фразу: «он тут же снова вышел». Эта фраза поддается интерпретации, если она следует за фразой: «Кто-то вошел». Но она не поддается интерпретации, если ее поставить за фразой: «Неправда, что никто не вошел». А ведь эта последняя фраза логически эквивалентна предыдущей. Таким образом, функция значения в понимании Кампа является лишь частично определенной. Теория Кампа отличается также от теории Монтегю тем, что она вводит некоторый промежуточный уровень между синтаксическим представлением (т.е. деревом анализа) и интерпретацией в некой модели. Это промежуточное представление менее значимо по своей роли, чем перевод синтаксического представления в интенсиональной логике, предложенный Монтегю. Кроме того, теория Кампа представления наборов фраз в определенной мере нарушает принцип композиции. У Кампа нельзя восстановить отдельные части, обладая знанием целого и располагая сведениями о способе построения. Например, невозможно восстановить и интерпретировать подфразу «фермер, который владеет ослом», исходя из фразы «каждый фермер, который владеет ослом, седлает его». 3.3.3. Семантика ситуаций В семантике ситуаций, разработанной Барвайсом и Перри, понятие возможного мира уже не принадлежит к числу ключевых понятий. [15], [83]. Учитывается исключительно реальный мир, в котором мы находимся и который представлен некоторой моделью М. Ситуациями назы-
3.3. Заключение и дополнения 215 ваются частичные подмодели модели М. Следовательно, это фрагменты данного мира. Ключевым понятием является понятие множества всех ситуаций, которое в мире, представленном моделью М, определяло бы истинность фраз. Ситуации, т.е. конгломераты (соединения, скопления) объектов, свойств и отношений, не являются отнюдь лишь предикатными формами (или упорядоченными кортежами). Ситуации суть объекты, обладающие (наделенные) свойствами и связанные (объединенные) взаимными отношениями, например: «бумага на столе», «сани в снегу». Ситуация, описываемая синтагмой «бумага на столе», отличается от того состояния (явления), которое характеризуется фразой «бумага находится на столе». Состояние (явление)-это «ситуация, обогащенная языком». Барвайс и Перри несомненно усмотрели в сказуемом «находится», расположенном внутри фразы, след некоторого мыслительного акта суждения, который отсутствует в лишенной глагола синтагме «бумага на столе». Семантика ситуаций заменяет возможные миры (из интенсиональной логики) ситуациями, т.е. комплексами объектов, находящихся в некотором отношении между собой. Ситуации являются фрагментами, или частями, данного мира, т.е. «частичными моделями». При интерпретации выражениям назначаются денотации. При этом учитывается и контекст изложения, и та связь, которая существует между говорящим и описываемой ситуацией, и некий ход событий, т.е. учитывается описание некоторой части данного мира, специфицирующее отношение, в котором находятся объекты [212]. Некоторые ситуации, названные Барвайсом и Перри сценами, позволяют придать точную семантику фразам, которые касаются восприятий. Барвайс и Перри обосновывают введение этого нового средства, показывая, что старых средств недостаточно. Рассмотрим следующее высказывание из естественного языка: 1. Уайтхед увидел, как Рассел подмигнул. Пытаясь представить эту фразу в логике предикатов, получаем следующее выражение: Увидел(У,Р)/\Подмигнул(Р),
216 3. Семантика Монтегю где Увидел означает соответствующее отношение, Подмигнул отражает свойство подмигивания, через У обозначен Уайт- хед, а через Р- Рассел. Записанную формулу можно читать следующим образом: 2. Уайтхед увидел Рассела, и Рассел подмигнул. Очевидно, что эта фраза не передает в точности содержание первой фразы. Фразы 1 и 2 не эквивалентны: первая фраза имплицирует вторую, но не наоборот. В самом деле, фраза 2 может оказаться истинной, в то время как фраза 1 будет ложной. Это произойдет в том случае, когда Уайтхед увидит Рассела, Рассел подмигнет, но Уайтхед не увидит, как Рассел подмигнул. Здесь можно было бы подумать, что вполне достаточно ввести слово «что» и перевести его посредством оператора интенции. Тогда можно было бы представить фразу 1 следующей формулой интенсиональной логики: Увидел(У,Р)/\ Увидел(У, Л Подмигнул(Р')). Выписанную формулу можно читать так: 3. Уайтхед увидел Рассела, и Уайтхед увидел, что Рассел подмигнул. Эта фраза тоже не эквивалентна исходной фразе 1. Разница заключается в следующем. Поскольку конструкция «увидеть, как + глагол в 3-м лице» эпистемических оттенков не передает, то логика глагола «увидеть» не является рефе» ренционно непроницаемой, т.е. не погружается в логику не~ референционного контекста или косвенного контекста (§ 2.3.3.),-в противоположность логике глаголов «верить» и «знать». Однако, не будучи референционно непроницаемой, логика глаголов восприятия (т.е. сочетаний вида «видеть (слышать), как + глагол в 3-м лице») является все же интенсиональной, ибо она не допускает применения к глаголам в 3-м лице правила замены логически эквивалентным (другими словами, две логически эквивалентные фразы с гла* голами в 3-м лице не являются, вообще говоря, взаимоза* меняемыми в произвольном контексте). Так, например, приводимые ниже фразы 4 и 5 логически эквивалентны, на в контексте фразы 6 невзаимозаменяемы (знаком ( —) указано место для фразы с глаголом в 3-м лице). 4. Мари вошла через парадный ход дома.
3.3. Заключение и дополнения 217 5. Мари вошла через парадный ход дома, а Браун то ли вошел через черный ход дома, то ли не вошел через него. 6. Фред видел, как (—). Очевидно, что смысл фраз, получаемых после подстановки 4 и 5 в фразу 6, различен. Фраза, построенная из фразы 6 путем замены знака (—) фразой 5, имеет дополнительный нюанс, говорящий о том, что Фред находится, по-видимому, в такой позиции, что Браун не появляется в поле его зрения. Для учета таких различий между «сходственными» фразами Барвайс и Перри выделили из множества ситуаций весьма примечательное подмножество, образованное ситуациями, доступными для органов чувств (т.е. сценами). 3.3.4. Булево семантика В булевой семантике, разработанной Киненом и Фальцем [122], используются обозначения и понятия булевой алгебры (или логики высказываний). Работы Кинена и Фальца базировались на классическом подходе к семантике, использующем теорию моделей. То фундаментальное отношение, которое эти авторы стремились формализовать, привлекая понятия и методы булевой алгебры, называется отношением логического еле- дования. Фраза Ф\ называется логическим следствием фразы Ф2 тогда и только тогда, когда фраза Ф\ истинна во всех тех моделях, в которых истинна фраза Ф2. Это понятие «логического следования» совпадает с понятием, лежащим в основе большинства работ, касающихся формализации семантики естественных языков. В частности, это относится к трудам Монтегю. Оригинальность булевой семантики состоит в распространении понятия логического следования на синтаксические категории, отличные от категории фраз. Например, будем считать, что глагол «работать» является логическим следствием глагольной синтагмы «р ютать и идти». Точно так же слово «некоторые» отнесем к логическим следствиям словосочетания «некоторые, но не все», а имя нарицательное «студент»-к логическим следствиям именной синтагмы «блестящий студент». Очевидно, в каждом из этих случаев второе выражение содержит больше 28-4465
218 3. Семантика Монтегю информации, чем первое. Понятие логического следования! как раз и предназначено для формализации этого интуи-1 тивного понятия. Основная идея булевой семантики состоит в следующем. ] Во всех представлениях естественного языка, базирующихся 1 на теории моделей, каждой синтаксической категории С со-1 поставляют множество возможных денотации; оно образует | тип (для) категории С. Возможные денотации определяются I с привлечением примитивных семантик. В экстенсиональной ] логике эти денотации образуют множество объектов 5 и] множество значений истинности или булевых значений | {1,0Г>. | Отметим, что множества 5 и {1,0} имеют существенно] различный статус. Множество 5 в общем случае не снабжено | никакой структурой (т.е. между его элементами никакое! отношение не установлено). | В то же время множество {1,0} обладает структурой | булевой алгебры. Это означает, что соответствующий тип (или множество возможных семантических значений), назна-1 ченный фразам, является булевой алгеброй. Напомним, что] на основном множестве (домене) булевой алгебры задается) некоторое отношение частичного порядка, которое ее струк-1 турирует. Булева семантика отличается от семантики экстен-] сиональной логики Монтегю тем, что все типы являются! множествами, снабженными структурой булевой алгебры.] Следовательно, они оснащены некоторым отношением час-] точного порядка, которое может рассматриваться как отно-| шение вложенности множеств. Тогда отношение логического] следования между выражениями естественного языка можно] формально определить следующим образом. Пусть через] а и Р обозначены два выражения, принадлежащие одной] и той же синтаксической категории. Будем говорить, что! а является логическим следствием (из) р, если, какова бы] ни была модель, денотация выражения а в этой модели| оказывается вложенной (в смысле отношения частичного^ порядка, структурирующего рассматриваемый тип) в де-| нотацию для р в той же самой модели. В рамках естест^ венного языка допустим вывод ] 1} См. также § 2.2.8.- Прим. перев. !
3.3. Заключение и дополнения 219 «Жан поет в саду, следовательно, Жан находится в саду», а также вывод «Жан видит Мари в саду, следовательно, Мари находится в саду», но не является обоснованным следующий вывод: «Жан видит Мари в саду, следовательно, Жан находится в саду». Булева семантика Кинена и Фальца позволяет, например, уловить общность предлога места «в». Этот предлог может с равным успехом комбинироваться как с переходными, так и с непереходными глаголами. В то же время он позволяет учесть (отразить) тот «бюджет вывода», который предоставляют эти две конструкции. Семантический тип, который Кинен и Фальц сопоставляют синтаксической категории непереходных глаголов, не совпадает с тем, что был у Монтегю. Это уже не множество функций, аргументы которых пробегают область объектов 5 и которые принимают значения из множества значений истинности. Теперь это всего лишь собственное подмножество множества таких функций, а именно подмножество гомоморфизмов, принимающих значения из булевой алгебры высказываний, с аргументами, пробегающими специальную область индивидов / (ее здесь не представляется возможным охарактеризовать формально). Семантический же тип переходных глаголов будет множеством гомоморфизмов, принимающих значения из алгебры непереходных глаголов, с аргументами, пробегающими ту же область индивидов /. Чтобы оценить плодотворность этого, более структурного определения типов, достаточно заметить, что оно позволяет корректно проанализировать и вышеприведенные выводы, и нижеследующие (которые, за исключением самого последнего, являются общезначимыми): «Мари не находится в саду, следовательно, никто не видит Мари в саду», 28*
220 3. Семантика Монтегю «Мари не находится в саду, следовательно, Жан не видит Мари в саду», «Жан не находится в саду, следовательно, Жан не поет в саду», «Жан не находится в саду, следовательно, никто не поет в саду». Алгебраические свойства типов позволяют учесть различие «бюджетов вывода» между глаголами «видеть» и «петь», комбинируемыми с предложной синтагмой «в саду». Булева семантика Кинена и Фальца иллюстрирует утверждение Болдуина [11]: «Какие возможности предоставляет теория моделей? Она позволяет показать, каким образом понятие истинности фраз определенной разновидности переносит вместе с собой понятие общезначимых выводов, в которых участвуют эти фразы, и наоборот». 3.3.5. Обобщенные грамматики структуры фразы Интерес лингвистов к формальным языкам вызван главным образом их желанием выяснить, в какой мере использование логических методов может сделать более точным и более строгим описание естественного языка. В свою очередь информатики интересуются выявлением общих свойств произвольных языков и проблематикой перевода с одного языка на другой. С этих позиций вполне естественным выглядит привлечение грамматики Монтегю в исследованиях и лингвистов, и информатиков, ибо она предоставляет в распоряжение исследователя общую теорию языков и их переводов, базирующихся на формализации их синтаксических и семантических свойств одновременно. Семантика Монтегю интересна тем (особенно для специалистов по искусственному интеллекту), что она задает композиционные и рекурсивные рамки для изучения значений, которые учитывали бы одновременно и содержание, и потенциально бесконечный характер значений. Все это многократно подчеркивалось в гл. 2 и 3. Композиционность
3.3. Заключение и дополнения 221 и рекурсивность опираются на требование гомоморфизма, являющееся центральным в теории Монтегю. Этот гомоморфизм применяется в работах Газдара и его соавторов [72]; определяется он с помощью особого вида грамматик, которые называются обобщенными грамматиками структуры фразы. Грамматические правила являются парами правил, состоящими (каждая) из двух следующих элементов: (1) правило грамматики структуры фразы; (2) семантическое правило, которое указывает перевод синтаксической категории, определенной правилом (1), на язык интенсиональной логики. Приведем пример такого грамматического правила: {фраза -+ глагольная синтагма, именная синтагма; именная синтагма' (глагольная синтагма')} . Подобные пары правил соответствуют парам правил синтаксиса 5/ и перевода Г/ в формализме Монтегю (§ 3.2.7). Следовательно, грамматическое правило в формализме Газдара является парой {5/; Г/}, где 5/ имеет вид правила грамматики структуры фразы, а Г/ есть правило перевода в том виде, как он определен в формализме Монтегю (т.е. в виде функции). Правило, стоящее слева в этой паре, строит последовательность слов, которая образует синтаксически корректную фразу грамматики Монтегю, а правило, стоящее справа, строит семантическую интерпретацию (или перевод) этой фразы, которая позволяет ее понять. Цель, поставленная Газдаром и его соавторами, состоит в интеграции грамматики Монтегю в формализм грамматики структуры фразы. Последнюю же можно довольно непосредственно перевести на язык логического программирования Пролог (как показано в гл. 5 в [232]). Дальнейшее развитие исследований Монтегю содержится в работах Янссена [113], [114]. Он использует двухуровневые грамматики (т. е. грамматики, позволяющие порождать другие грамматики), что дает ему возможность обобщить синтаксис грамматики Монтегю.
4. ВРЕМЕННАЯ ЛОГИКА 4.1. Линейная временная логика высказываний 4.1.1. Введение Линейная временная логика позволяет описывать последовательности ситуаций и рассуждать об их свойствах. Эти последовательности ситуаций можно интерпретировать несколькими способами. В собственно временной интерпретации последовательность ситуаций представляет эволюцию состояния мира с течением времени. В другой рассмотренной нами интерпретации последовательность ситуаций интерпретируется как следующие друг за другом состояния некоторой программы (в ходе ее выполнения). Эта интерпретация позволит нам использовать временную логику для документирования и отладки программ. Существуют многочисленные версии линейной временной логики. Мы изложим одну из них, которая получила широкое распространение для параллельного документирования и отладки программ. По всей видимости, именно в этой области информатики временная логика оказалась наиболее полезной. 4.1.2. Синтаксис линейной временндй логики Языком временной логики высказываний является язык исчислений высказываний, пополненный следующими четырьмя символами, обозначающими временные операторы: 1. О, читается «в следующий момент», 2. □, читается «всегда», 3. О» читается «неизбежно» или «хотя бы однажды», 4. О, читается «вплоть до» (обозначение II происходит от английского слова "ипШ").
4.1. Линейная временная логика высказываний 223 Три первых оператора-унарные, оператор II-бинарный. Синтаксис • Все правила синтаксиса логики высказываний. • Если А и В -формулы, то О А, □ А, О А, А 1)В являются формулами. Обозначения, используемые для операторов «всегда» (□) и «неизбежно» (О); совпадают с применявшимися в модальной логике (разд. 1.2.3). Это мотивируется тем, что изучаемая здесь временная логика может рассматриваться как обобщение частного случая модальной логики. 4.1.3. Семантика линейной временндй логики Временной структурой называется пара & = (5, Я), где 5-непустое конечное или счетное множество и Я -функциональное отношение. Таким образом, временная структура есть частный случай модальной структуры, когда отношение доступности удовлетворяет формуле 7 из разд. 1.2.5. Как указывает приведенная ниже семантика, отношение Я будет служить для интерпретации оператора О, а операторы □ и <> будут интерпретироваться с помощью рефлексивного и транзитивного замыкания отношения Я. При заданном множестве атомов Р временндй интерпретацией называется тройка (5, Я, /), где пара (5, Я) является временной структурой, а I-функцией временндй интерпретации, т. е. отображением из 5 х Р в {И, Л}, которое каждому состоянию зе5 и всякому высказыванию реР сопоставляет значение истинности 1(з, р). Для временной интерпретации ./ = (5, Я, I) задаются правила приписывания значений истинности каждой паре, образованной из состояния зе 5 и формулы А. В случае атомарного высказывания имеем • ^(5,р) = йе{1 (з, р). Семантика логических связок определяется так же, как для исчисления высказываний (разд. 1.2.3). Например,
224 4. Временная логика • ^(з, А Л В) = ёеГ</(я, А) Л ^(а, В). • /(5,п^) = йеГп/(5,4 При описании семантики временных операторов будем использовать обозначение Я1(з) для /-го после 5 последователя при / = О, 1, 2 и т.д., т.е. для (/+ 1)-го элемента последовательности 5, К (5), Л (Л (5)), Л (К (К (5))),.... Тогда имеем • Лз,ОА) = мЛЯ(з)9А), • »/ (я, □ А) = И тогда и только тогда, когда * (Л'(4 Л), = И для всех / > О, • ./ (5, О Л) = И тогда и только тогда, когда./ (Л1 (5), Л) = = И для некоторого / ^ О, • </($, А1)В) = И тогда и только тогда, когда — У (Я](з), А) = И для всех ] ^ 0, или же — ^(Я((з),В) = И для некоторого / ^ 0 и 1(/^($),Л) = И для всех у, таких, что 0 <у < /. Формула О А имеет такую же самую интерпретацию в состоянии 5, что и формула А в состоянии В (л). Оператор <%, который мы только что определили, часто называют «слабым ипШ». Формула А % В интерпретируется как истинная в двух случаях: когда формула А всегда истинна и когда формула В становится (но не обязательно остается) истинной самое позднее в тот момент времени, когда формула А становится ложной. Часто встречающийся вариант оператора %, «сильный ипШ», исключает возможность, когда формула А всегда истинна. Ее семантическое определение таково: • ./ (з, А Ш В) = И тогда и только тогда, когда * (Л* (5) В) = И для некоторого />0и/ (Я* (я), А) = И для всех у, таких, что 0 ^) < и В дальнейшем будет использоваться исключительно слабая версия оператора °11. Интерпретация ./ называется моделью (для) формулы А, если У (з, А) = И для любого состояния 5. Формула А назы-
4.1. Линейная временная логика высказываний 225 вается общезначимой, если все ее интерпретации являются моделями формулы А. Как и в классической логике ([232], § 1.1.6), запись М означает, что формула А общезначима. Если 2?-множество формул, то запись Е\=А означает, что любая модель для Е является моделью и для А. При этом А называют логическим следствием из Е. Выражение Л\=А означает, что интерпретация У есть модель для формулы А. В качестве обобщения используют также обозначение '\ = ША, чтобы показать, что интерпретация У превращает А в истинную в состоянии 5. Следовательно, это обозначение эквивалентно записи У{з, А) = И. Семантику временной логики можно определить и несколько иным способом. Поскольку отношение К является функциональным, а множество состояний 5 конечное или счетное, легко доказать, что если формула временной логики имеет какую-то модель, то существует для нее и такая модель, у которой 5 есть множество N натуральных чисел, , а К-просто функция следования (т.е. функция п\-+п + 1) на этом множестве. Таким образом, семантика временной логи- } ки часто описывается исключительно в терминах отображе- гния п из N х Р в {И, Л} и при этом отношение следования I подразумевается. Значит, в такой семантике временная ин- I* терпретация п является бесконечной последовательностью ^присваиваний значений истинности атомарным высказыва- | ниям. Семантика временных операторов может определяться непосредственно в терминах последовательностей, напри- ймер для Щ: • п (з, А 41 В) = И тогда и только тогда, когда -к (з + 7, А) = И для всех 7'^ О, или же -к(з + /, В) = И для некоторого / ^ 0 и я (л + / Л) = И для любого 7, такого, что 0 ^ ] < /. 29-4465
226 4. Временная логика Как и прежде, обозначение п\=аА вводится как эквивалент выражения к (з, А) = И. Говорят, что временная формула А истинна для последовательности к, и пишут п \= А, если интерпретация п превращает формулу А в истинную в начальный момент времени (0). Значит, запись к\=А эквивалентна выражению п\=0А. Из я |= Л не следует истинность выражения к\=5А для всех целых неотрицательных чисел 5. Рассмотренные семантики (временная структура и последовательность) эквивалентны в том смысле, что превращают в общезначимые одни и те же формулы временной логики. Более формально: соотношение к \= А справедливо для любой последовательности к тогда и только тогда, когда для любой временной интерпретации ./ выполняется ./1 = А. Семантика, введенная первой,* обладается тем преимуществом, что в ней хорошо отражена связь между временной и модальной логиками. В то же время семантика, введенная второй, более явно демонстрирует природу структур линейной временной логики. Замечание. Используемые в модальных логиках терминологии и обозначения весьма разношерстны. Это приводит] иногда к недоразумениям. Такая же ситуация во временной! логике, которую можно рассматривать как частный случай] модальной логики (см. гл. 1). Предпочтение отдают тер-1 минологии, связанной с понятием модели. Это слово иногда? употребляется для обозначения временной структуры (5, Л| или временной интерпретации (5, К, I). В настоящей глава слово «модель» толкуется более ограничительно: модеЩ формулы-это интерпретация, в которой данная формула! истинна.
4.1. Линейная временная логика высказываний 227 4.1.4. Примеры 1. Формула р выполняется для любой последовательности, в которой первое состояние подтверждает формулу р. 2. Формула □(р=>0#) выполняется для любой последовательности, в которой за каждым состоянием, где истинно р, непосредственно следует состояние, где истинно ^. 3. Формула П(р=>0(^Я^г)) выполняется для любой такой последовательности, что если р истинно в некотором состоянии, то ^ будет ложным, начиная со следующего состояния и вплоть до первого состояния, где истинно г. 4. Формула ПО/* выполняется для любой последовательности, где р оказывается истинным бесконечно часто. 5. Формула □/? Л О —\р не выполняется ни для какой последовательности. 6. Формула —\р%р выполняется для любой последовательности (стало быть, она общезначима). 4.1.5. Аксиоматизация Аксиоматизацию только что введенной временной логики высказываний можно начать от аксиоматизации модальной логики, изложенной в разд. 1.2.8. Значит, наша аксиоматическая система содержит (АО) все конкретизации общезначимых схем аксиом логики высказываний. Далее выясняем, как можно аксиоматизировать оператор О- Временная логика является нормальной (разд. 1.2.8), и оператор О оказывается функциональным. Следовательно, имеем схему аксиомы К и схему аксиомы, характеризующую существование и единственность «преемника»: (А1) 0(А^В)^(ОА^ОВ), (А2) -1<ЭЛ = 0-1Л. 29*
228 4. Временная логика Теперь рассмотрим операторы П и <>. Они удовлетворяют аксиоме двойственности и аксиоме К: (АЗ) ОЛ = -пП-пЛ, | (А4) П(А=>В)=>(ПА=>ПВ). I Вместо того чтобы вводить аксиомы, характеризующие] свойства оператора □ (рефлексивность, транзитивность, ли-1 нейность и т.д.), удобнее использовать аксиомы, устанав-1 ливающие связь между модальностями П и О- ') (А5) ПА => (А Л О А Л ОПА), (А6) П(А=> О А) =>(А=> ПА). \ Наконец, оператор ^ характеризуется двумя следующими аксиомами: ] (А7) А<ШВ => (В V (А Л О (А<%В))\ I (А8) IX Л □ (X => (В V (А Л О*)))] => АШВ. В последней аксиоме (которая, как и все остальные,] является в действительности схемой аксиомы) X означает! произвольную формулу. Чтобы завершить описание нашей] аксиоматической системы, нужно задать правила вывода.] Как и в модальной логике, таковыми будут, тоёш ропепз! и правило необходимости'. 1 (МР) если \-А и \-А=>В, то \-В, ■] (ПН) если \-А, то \~ПА. ] Аксиоматическая система линейной временной логикю высказьгааний является адекватной и полной. Выражаясь! точно, следует сказать, что имеет место следующий результат (см., например, [65], [249], [13]). | Теорема 4.1. Формула доказуема в аксиоматической си-| стеме линейной временной логики высказываний тогда и толь*} ко тогда, когда она общезначима в этой логике. \ Чтобы проиллюстрировать использование описанной аю- ] сиоматической системы, докажем прежде всего, что для]
4.1. Линейная временная логика высказываний 229 оператора □ выполняется соотношение ОА=>\3\ЗА, характеризующее транзитивность отношения достижимости. Для упрощения доказательств мы не будем объяснять чисто пропозициональные этапы (т.е. этапы, которые можно выполнить с помощью аксиом (АО) и правила (МР)). Такие этапы будем обозначать символом (ПР). 1. \-ПА=>ОПА 2. \-П{ПА=>ОПА) 3. НП(ПЛ=>ОСМ): 4. \~ПА=>ППА. >(ПА=>ПС\А) ГА5, ПР) (1, ПН) (А6) (2, 3, МР) Далее докажем, что операторы П и О перестановочны, т. е. выводимы формулы ПО^=>ОП^4 и ОП-^=>ПО^- Для первой из этих формул имеем 1. \гП{ОА=>{А=>ОА)) (АО, ПН) 2. \-ПОА=>(А=>ОА) (1, А4, МР) 3. \-П{А=>ОА)=>ОП{А=>ОА) (А5, ПР) 4. \-ПОА=>ОП(А=>ОА) (2, 3, ПР) 5. \~ПОА=>ОА (А5, ПР) 6. НП [П(А => О А) =>(А=> ПА)] (А6, ИН) 1. \-ОЮ(А=>ОА)=>(А=>ПА)~] (6, А5, ПР) 8. \-ОП(А=>ОА)=>0{А=>ПА) (7, А1, МР) 9. У-ОП(А=>ОА)=>(ОА=>ОПА) (8, А1, ПР) 10. 1-ПОЛ=>ОСИ (4, 5, 9, ПР) Вывод второй формулы: 1. \-\ЗА=>А (А5, ПР) 2. \~П(ПА=>А) (1, ПН) 3. \~0(ПА=>А) (2, А5, ПР) 4. \~ОПА=»ОА (3, А1, ПР) 5. \-ПОПА=>ПОА (4, ПН, А4) 6. \~ПА=>ОПА (А5, ПР) 7. \~П(ПА=>ОПА) (6, ПН) • 8. \-0(ПА=>ОПА) (7, А5, ПР) 9. \-ОПА^>ООПА (8, А1, ПР) Ю, НП(ОП^ = ООП^) (9, ПН) 11- *-П(ОПА=>ООПА)=>(ОПА=>П ОПА) (А6)
230 4. Временная логика 12. НОПЛ=>ПОПЛ (10, 11, МР) 13. НОСЫ =>ПОЛ (12, 5, ПР) Чтобы продемонстрировать использование аксиом, характеризующих ^, выведем формулу ~\А%А\ 1. К4У-1Л ГАО) 2. НП(ЛУ-пЛ) (1, ПН) 3. \~0(А V-! А) (2, А5, ПР) 4. НО(^-лЛ)^[(ЛУ-|Л)^(ЛУ(-|Л ЛО(Л^Л)))] (АО) 5. Н(ЛУ-|Л)^(ЛУ(-|ЛЛО(^-|Л)))(3, 4, МР) 6. НП[(ЛУ-|Л)=>(ЛУ(-|ЛЛО(^-| Л)))] (5, ПН) 7. Н(ЛУ-|Л)ЛП[(ЛУ-|Л)=>(ЛУ(-|Л ЛО(Л^Л)))] (1, 6, ПР) 8. Н[(ЛУ-пЛ)ЛП[(ЛУ-|Л)^(ЛУ(-1 Л Л ОМ V -1 Л))]] ^ (-1АША) (А8) 9. Н-|Л^4 (7, 8, МР) 4.2. Временная логика и конечные автоматы Мы только что представили ряд понятий временной логики высказываний, присущих всякой логике: синтаксис, семантику и аксиоматическую систему. Кажется естественным перейти далее к приложениям этой логики и к изучению временной логики первого порядка. Однако мы займемся сейчас рассмотрением фундаментальной и весьма полезной взаимосвязи между временной логикой и конечными автоматами. Основная теорема, которую мы здесь приведем, устанавливает существование перевода с языка временной логики на язык некоторого обобщения конечных автоматов ([232], § 5.2.3). Будет показано, что такие автоматы могут распознавать не только конечные, но и бесконечные слова. Упомянутый перевод предоставит нам сведения о выразительных возможностях временной логики высказываний, и у нас появится возможность получить разрешающую процедуру для этой логики. Следовательно, можно будеть создать средство автоматизации доказательств того типа, который
? 4.2. Временная логика и конечные автоматы 231 | I встречался в примерах предыдущего раздела. Тот же перевод [послужит основой для приложения временной логики высказываний к отладке параллельных программ. \ 4.2.1. Конечные автоматы над бесконечными \ словами Пусть задан алфавит (множество символов) Е. Конечное слово-это конечная последовательность символов из Е. Например, если Ъ = {а, Ь}, то последовательность и> = аЬааЬаЬаЪЬЬа есть конечное слово над алфавитом Ъ. Более формальный способ определения конечного слова таков: конечное слово длины «-это функция из множества {0, ... ,п— 1} в алфавит Е. В приведенном выше примере слово и> имеет длину 12 и соответствует функции и; из множества {0, ... , 11} в множество {а, Ь}, такой, что и>(0) = а, и>(1) = Ь, и; (2) = а, ... и и>(11) = а. Бесконечное слово над алфавитом Ъ является просто бесконечной последовательностью элементов из Ъ. Более формально: это функция из множества натуральных чисел (которое обозначается через гЧ) в алфавит Ъ. Например, функция Г а, если х четное, ">(*) = 1 , I 0, если х нечетное, определяет бесконечное слово, в котором чередуются а и Ъ. Очевидно, что записать бесконечное слово целиком невозможно. Но его часто удается представить «конечным образом». Например, так, как только что было продемонстрировано. Для представления множеств бесконечных слов будет использоваться некое обобщение регулярных выражений 1}, в которых применяется оператор бесконечного повторения, обозначаемый через со. Кроме этого оператора со будут использоваться (в соответствии с обычными соглашениями о регулярных выражениях): написание слов вплотную друг за другом для представления конкатенации, оператор Называемых «©-регулярными выражениями» (см. § 4.2.2).
232 4. Временная логика У для представления объединения и оператор * для представления конечного повторения. В этом языке выражение (аЪ)® представляет множество слов, содержащих только одно бесконечное слово, в котором чередуются а и Ь. Теперь можно ввести понятие конечного автомата над бесконечными словами, или автомата Бюхи [25]. Этот тип автоматов следует понимать как формализм, позволяющий абстрактным образом определить множества бесконечных слов. В самом деле, определение автоматов Бюхи влечет за собой манипуляцию с бесконечными последовательностями, что, очевидно, на практике не реализуемо. Формально конечный недетерминированный автомат над бесконечными словами составлен из тех же элементов, что и конечный автомат над конечными словами. Такой автомат является пятеркой А = (Е, 5, р, 50, Г), где • Е-алфавит (конечное множество символов), • 5-конечное множество состояний^ • р: 5 х Ъ -+ 25 есть функция переходов (для каждого состояния и всякой буквы алфавита она указывает возможные последователи данного состояния), • 50 - множество начальных состояний (50 с 5), • Р-множество воспринимающих состояний (Г с 5). Автомат Бюхи определяет множество слов, которые называются словами, воспринимаемыми автоматом. Это множество описывается с помощью понятия реакция автомата на слове. Реакцией автомата А на бесконечном слове и> = а0а1... называется бесконечная последовательность а = 505152... элементов из 5, такая, что: • 50е50 (первое состояние реакции является начальным состоянием), • ^ер^-!, а1-1) для всех /^ 1 (каждое состояние из последовательности получается из предыдущего состояния с помощью функции переходов). Только что определенное понятие реакции является обобщением на случай бесконечных слов аналогичного понятия для автоматов над конечными словами ([232], § 5.2.3). Заме-
4.2. Временная логика и конечные автоматы 233 там, что автоматы Бюхи-недетерминированные, значит, бесконечному слову соответствуют, вообще говоря, несколько реакций автомата, которые получаются при разных вариантах выбора последователей, указываемых функцией переходов. Для автомата над конечными словами реакция называется допустимой, если она заканчивается одним из воспринимающих состояний. При рассмотрении бесконечных слов это определение нельзя использовать, так как реакция будет бесконечной последовательностью, а значит, последнего состояния в ней не существует. Говорят, что реакция автомата Бюхи является допустимой, если она содержит бесконечно много вхождений одного и того же воспринимающего состояния. Более формально: реакция а = з0, з1... называется допустимой, если для некоторого состояния зеГ найдется бесконечно много натуральных чисел /егЧ, таких, что з( = 5. Слово называется воспринимаемым автоматом Бюхи, если существует допустимая реакция этого автомата на данном слове. Язык, воспринимаемый автоматом А,- это множество бесконечных слов, воспринимаемых автоматом А. Этот язык обозначается через Ь (А). Следуя установившейся традиции, будем представлять автомат в виде ориентированного графа, в котором вершины соответствуют состояниям, а дуги-переходам данного автомата. Начальные состояния будут помечаться символом >, располагаемым рядом с ними. Воспринимающие состояния будут изображаться двойными кружочками. На рис. 4.1 изображен автомат, который воспринимает язык (а [) Ь)®, т. е. язык, содержащий все бесконечные слова над алфавитом {а, Ъ). Автомат, показанный на рис. 4.2, а, Ь Рис. 4.1. Автомат, воспринимающий (а [) Ь)®. 30-4465 •
234 4. Временная логика Рис. 4.2. Автомат, воспринимающий а*Ь(а 11 Ь)®. воспринимает язык а*Ь(а [} Ь)®, образованный всеми бесконечными словами над {а, Ь}, которые содержат хотя бы один символ Ь. На рис. 4.3 представлен автомат, воспринимающий язык, составленный из слов, в которых имеется бесконечно много вхождений буквы Ь. Для обозначения этого Рис. 4.3. Автомат, воспринимающий (а*ЬЬ*)а. языка можно использовать со-регулярное выражение (а*^*)ш. Автомат, изображенный на рис. 4.4, воспринимает все слова, в которые бесконечно много раз входит последовательность аЪ (или, что то же самое, все слова, которые содержат бесконечно много вхождений каждого из символов а и Ъ). Рис. 4.4. аЬ повторяется бесконечно много раз.
4.2. Временная логика и конечные автоматы 235 42.2. ^-регулярные языки Языки, воспринимаемые автоматами Бюхи, образуют класс (нерегулярных языков. Как и множество классических регулярных языков, этот класс допускает разнообразные харак- теризации. Например, он в точности соответствует множеству языков, которые можно описать ©-регулярными выражениями, т.е выражениями вида » где а, и р;- классические регулярные выражения (определяемые исключительно в терминах операторов конкатенации, объединения и конечного повторения), причем р, ф е. Среди наиболее интересных свойств класса со-регулярных языков отметим следующее: этот класс замкнут относительно операций объединения, пересечения и дополнения. Иными словами, если заданы два автомата Бюхи А1 и А2, воспринимающие соответственно языки Ь(А1) и Ь(А2), то существуют и автоматы Бюхи, которые воспринимают языки Ь (Ах) [} Ь (А2\ Ь (Ах) Л ЦА2) и Ъ&\Ь(А1). Докажем это утверждение для операций объединения и пересечения. Рассмотрение операции дополнения требует более сложного построения1* (см., например, [226]). Еще одно свойство, которым мы будем интересоваться далее, касается существования алгоритма, позволяющего получать ответ на вопрос- пуст или нет язык, воспринимаемый данным автоматом Бюхи. 1} В случае конечного автомата над конечными словами построение его дополнения проводится в два этапа: сначала автомат задается подмножествами Рабина и Скотта, а затем в получившемся детерминированном автомате все воспринимающие состояния полагают невоспринимающими и, наоборот, все невоспринимающие состояния считают воспринимающими. Вообще же построение таких подмножеств не позволяет сделать автоматы Бюхи детерминированными, ибо детерминированные автоматы Бюхи образуют собственный подкласс класса со-регулярных языков. Но все же оказывается возможным определить некоторый класс конечных детерминированных автоматов, естественно соответствующий классу со-регулярных языков. Однако это требует привлечения достаточно сложного условия для определения допустимых реакций. 30*
236 4. Временная логика Теорема 4.2. Если заданы автоматы Бюхи А^ = (Е, 5Х, рх, 501, ^1) и ^2 = №> 52, р2> 502, ^г)> то можно построить автомат Бюхи А = (Е, 5, р, 50, Г), который воспринимает язык Ь{А1) \) Ь(А2). Доказательство. Автомат А является просто объединением автоматов А1 и А2. В самом деле, эти автоматы недетерминированные, и, значит, можно взять подходящую реакцию автомата А± (выбирая соответствующее начальное состояние в А^) или подходящую реакцию автомата А2 (выбирая начальное состояние в А2) и воспринять тем самым произвольное слово, воспринимаемое автоматом А1 или автоматом А2. Формально автомат А определяется следующим образом (в предположении, что множества состояний 5Х и 52 не пересекаются): • 5 = 5Х II 52, 50 = 501 У 502, ^ = ^^ ^2> Г либо 1ер1(з, а) и .уеЗ*, • 1ер(з, а), если < / Л . С либо *ер2(.у, а) и зе52 Читателю предоставляется (в качестве упражнения) проверить, что построенный автомат действительно воспринимает язык Ь{А1) V Ь(А2). Ш Для доказательства замкнутости класса со-регулярных языков относительно операции пересечения введем некоторое обобщение автоматов Бюхи и покажем, что эти обобщенные автоматы можно свести к обычным автоматам. Обобщение касается множества воспринимающих состояний. Обобщенным автоматом Бюхи называется пятерка А = (Е, 5, р, 50, ^), в которой первые четыре элемента такие же, как и у автоматов Бюхи. Последний элемент пятерки есть множество подмножеств состояний (а не множество состояний). Иными словами, & = {Р19... , Рк}, где ^-подмножество состояний (т.е. подмножество множества 5),7 = 1,..., к. Для таких автоматов реакция допустима, если она бесконечно много раз содержит некоторое состояние из каждого Ту Более формально: реакция а = з0з1... является допустимой, если для каждого ] ' (1 ^]'< к) существует такое зеГ]х что 5; = 5 для бесконечно многих /егЧ. Обобщенные авто-
4.2. Временная логика и конечные автоматы 237 | маты Бюхи определяются более сложно, чем автоматы | Бюхи, но они позволяют иногда проще описывать некоторые [■ языки. Например, автомат, изображенный на рис. 4.5, где \-& = {Г1, Р2}, ^1 = (5о} и ^2 = {51}> воспринимает язык, I содержащий бесконечно много вхождений букв а и Ь. (Номер [урядом с состоянием указывает то множество Р]9 которому принадлежит данное состояние.) | Докажем теперь, что обобщенный автомат Бюхи можно [преобразовать в автомат Бюхи, воспринимающий тот же | самый язык. а Рис. 4.5. Обобщенный автомат Бюхи. Лемма 4.3. Если задан обобщенный автомат Бюхи А = (Е, 5, р, 50, ^), где & = {Р1, ... , Рк}, то можно построить автомат Бюхи А' = (Е, 5', р\ 5о, Р'), воспринимающий язык НА). Доказательство. Берем к «экземпляров» автомата А. Начальное состояние реакции выбирается в первом экземпляре; переход из /-го экземпляра в (/ + 1)-й (по тоё к) осуществляется в тот момент, когда встречается некоторое состояние из Р]. Множеством воспринимающих состояний автомата А' является подмножество тех состояний из первого экземпляра, которые принадлежат Р1. Прежде чем ^обосновать наше построение, дадим его формальное описание. Автомат Бюхи определяется следующим образом. [ 5' = 5х{1, ..., к}. Каждое состояние из 5' является парой, первый элемент которой есть состояние, принадлежащее множеству 5, а второй элемент - число из множества {1, ... , к}. Это число показывает, в каком
238 4. Временная логика «экземпляре» автомата А мы находимся. Например, состояние (л, 3) «указывает» на состояние 5 третьего экземпляра автомата А. 5о = 50 х {1}. Начальные состояния автомата А' совпадают с начальными состояниями первого экземпляра автомата А. На самом же деле этот выбор произволен. Можно было бы взять в качестве начальных состояний начальные состояния из какого угодно экземпляра. Отношение переходов р' определяется так: (*, /)ер'(($, &0), если \ 1=) При 5фРр I *=7 +1 (той к) при зеР]. Это означает, что если мы находимся в 7-м экземпляре и текущее состояние не принадлежит множеству Г^, то мы остаемся в том же 7-м экземпляре и переход (в новое состояние) осуществляется в соответствии с отношением переходов автомата А. Но если текущее состояние принадлежит Р^ то мы перемещаемся в очередной экземпляр и в нем переходим в новое состояние, следуя отношению переходов автомата А. • Р' = Рг х {1}. Воспринимающими состояниями являются состояния из Р19 находящиеся в первом экземпляре. Заметим, что первый экземпляр оказался наделенным особой ролью лишь по нашему произволу. С тем же успехом можно было бы определить воспринимающие состояния как состояния из Р]9 находящиеся в 7-м экземпляре (для какого угодно значения индекса А Чтобы убедиться в том, что проведенное выше построение обладает желаемым свойством, достаточно обратить внимание на то, что единственный способ пройти бесконечно много раз через некоторое воспринимающее состояние автомата А' состоит в бесконечно многих прохождениях через все элементы автомата А, Следовательно, будет бесконечно много прохождений хотя бы через одно состояние из каждого множества Р-. ■
4.2. Временная логика и конечные автоматы 239 На рис. 4.6 изображен результат применения описанного выше построения к автомату, приведенному на рис. 4.5. Перейдем к обещанной теореме. Теорема 4.4. Если заданы автоматы Бюхи А1 = (2, 5Х, рх, $оь ^Ч) и А2 = (2, 52, р2, ^ог, ^гХ т<> можно построить автомат Бюхи, воспринимающий язык Ь{А±) П Ь{А2). Рис. 4.6. Иллюстрация леммы 4.3. Доказательство. Построим обобщенный автомат Бюхи А = (2), 5, р, 50, «^), воспринимающий язык Ь (А±) Л 1> (Л2), а затем воспользуемся леммой 4.3. Обобщенный автомат А должен имитировать одновременно реакции обоих авто- матов-и А19 и А2. Поэтому его состояниями являются пары состояний двух исходных автоматов, а в качестве переходов берутся те, которые возможны одновременно в обоих этих автоматах. Что касается воспринимающих состояний, то множество 9* конструируемого автомата содержит два элемента, отвечающих соответственно множествам Р1 и Р2 автоматов А1 и А2. Формально автомат А определяется компонентами: • 5 = 5^ х э2, 50 == 5(н х "'огэ
240 4. Временная логика • (и, V)ер(($, 1\ а), если мер^л, а) и 1?ер2(*, а). Осталось убедиться в том, что для произвольного заданного слова допустимая реакция автоматов А± и А2 существует тогда и только тогда, когда существует допустимая реакция автомата А. Установление этого факта предоставляется читателю в качестве упражнения. ■ Перейдем теперь к алгоритмической проблеме, относящейся к выяснению того, является ли пустым язык, распознаваемый автоматом Бюхи. (Выражаясь кратко, нужно «распознать, пуст автомат или нет».) Чтобы сформулировать интересующий нас результат, следует ввести понятие достижимости для состояний автомата Бюхи. Интуитивно ясно, что состояние 82 следует считать достижимым из состояния $! в автомате Бюхи, если в графе, представляющем данный автомат, существует некий путь из 5Х в з2. Более формально: состояние з2 автомата Бюхи А = (2), 5, р, 50, Г) достижимо из состояния з19 если существуют такое конечное слово ю = а± ... ак (к^ 1) и такая последовательность состояний 119 ... , **+1, что • /,+ 1ер(*,-, а,) при7= 1, 2, ... к. Теорема 4.5. Автомат Бюхи А = (2), 5, р, 50, Г) непуст тогда и только тогда, когда некоторое состояние зеР, достижимое из состояния з0 е 50, достижимо из себя самого. Доказательство. Предположим сначала, что условие достижимости выполнено. Тогда воспринимаемое автоматом слово можно получить, проходя по пути, соединяющему! начальное состояние $0 с состоянием л, и затем бесконечное число раз совершая путь, соединяющий состояние 5 с ним самим. Для доказательства достаточности сформулированного условия предположим, что автомат воспринимает каков*! либо слово и>. Следовательно, существует допустимая реак4 ция нашего автомата на слове и>. Чтобы быть допустимой! эта реакция должна начинаться с начального состояния 5^
4.2. Временная логика и конечные автоматы 241 и содержать бесконечно много вхождений некоторого состояния зеР. Таким образом, упомянутое состояние 5 должно быть достижимым из состояния 50 и самого 5. ■ Теорема 4.5 предоставляет легко применимый критерий, позволяющий выяснить, является ли некоторый автомат Бюхи непустым. В самом деле, чтобы проверить выполнимость условий этой теоремы, достаточно в графе, представляющем данный автомат, найти компоненты сильной связности. Это можно сделать, например, применяя алгоритм, описанный в [2]. Указанный алгоритм весьма эффективен: время его выполнения является линейной функцией от размера графа. Отметим, что во всех приводимых ранее примерах автоматы непусты. Соответствующие проверки выполняются непосредственно. Выгода, предоставляемая алгоритмом тестирования непустоты автомата, проявляется только тогда, когда автомат достаточно велик и не поддается «визуальному инспектированию». Именно такой будет ситуация при рассмотрении автоматов, построенных на основе формул линейной временной логики. 4.2.3. От временндй логики к автоматам Бюхи В разд. 4.1.3 мы видели, что семантику линейной временной логики можно задавать в терминах некоторого отображения из N х Р в {И, Л}. Но это отображение можно записать как элемент из множества ^ -+ (Р -> {И, Л})), т. е. как бесконечную последовательность, составленную из значений истинности атомарных высказываний. Значит, соответствующая временная интерпретация является бесконечным словом над алфавитом (Р -+ {И, Л}), т. е. над алфавитом 2Р. (Напомним, что выражение 2 означает множество всех подмножеств множества Р. Это множество изоморфно множеству отображений из Р в {И, Л}. Элементу зе2р соответствует отображение^-Р-+ {И, Л}, такое, что для любого атомарного высказывания ^ оно принадлежит 5 тогда и только тогда, когда /а (д) = И.) 31-4465
242 4. Временная логика С этой точки зрения формула временной логики определяет язык, состоящий из бесконечных слов, а именно множество тех временных интерпретаций, которые превращают эту формулу в истинную. Рассмотрим пример. Формула <)р истинна на всякой такой последовательности, где р неизбежно истинно. Значит, эта формула задает множество бесконечных слов над алфавитом Е = {0, {/?}}, в которых буква {р} появляется хотя бы один раз. Это множество слов совпадает с множеством слов, воспринимаемых автоматом Бюхи, изображенным на рис. 4.7. Рис. 4.7. Автомат для О р. То обстоятельство, что множество моделей для формулы О/? оказывается воспринимаемым некоторым автоматом Бюхи, отнюдь не случайно. Будет доказано, что для любой формулы временной логики высказываний можно построить автомат Бюхи, воспринимающий именно те бесконечные слова, которые доказывают данную формулу. Этот результат позволяет оценить выразительные возможности временной логики высказываний: используя ее, можно самое большее описывать множества последовательностей, образующих со-регулярные языки. Естественно спросить: «Всякое ли со-регулярное множество бесконечных слов задается подходящей формулой временной логики?» Ответ, оказывается, отрицательный. Однако будет показано (разд. 4.2.10), что при соответствующем обобщении временной логики можно установить точное соответствие Ч 1} Временная логика, определенная нами, соответствует в сущности некоторому4 подмножеству множества ©-регулярных языков, называемых ©-регулярными языками без счетчиков. Они характеризуются подклассом автоматов Бюхи (подробности см. в [234]).
4.2. Временная логика и конечные автоматы 243 Прежде чем излагать формально ту конструкцию, которая позволит перейти от временной логики к автоматам Бюхи, дадим набросок интуитивной идеи этой конструкции. Вообразим, что мы намерены построить модели для некоторой формулы /. Это можно осуществлять шаг за шагом, извлекая из / то, что должно быть истинным в начальный момент, а также то, что должно быть истинным, начиная со следующего момента. Например, если / является формулой □/?, то можно прибегнуть к тождеству Пр = (рАООр). (4.1) Значит, чтобы проверить, что некоторая последовательность удовлетворяет формуле □/?, достаточно проверить истинность высказывания р в начальный момент и истинность формулы □/?, начиная со следующего момента. Имеются тождества, аналогичные (4.1), и для других временных операторов: 0р = (рЧО0р), (4.2) /И^ = (*У(рЛО(*ЯГ*))). (4.3) Для построения автомата Бюхи, соответствующего произвольной заданной формуле, сначала надо, используя тождества (4.1-4.3), преобразовать ее так, чтобы каждый временной оператор находился в области действия хотя бы одного оператора О- Тогда будет ясно, какие значения истинности можно приписывать атомарным высказываниям в начальный момент времени. Эти значения не должны превращать данную формулу в тождественно ложную. Формула, которая должна быть истинной начиная со следующего момента времени, получается заменой высказываний, не входящих в область действия никакого временного оператора, выбранными значениями истинности. Например, формула П0/> преобразуется так: П0/> = (0/>ЛОП0/>), = ({руоор)/\оаору В начальный момент времени значением высказывания р может быть И или Л. Если значение р равно И, то нужно еще удовлетворить и формулу О □ Ор, т. е. удовлетворить фор- 31*
244 4. Временная логика мулу □ 0/>> начиная со следующего момента времени. Если же значение высказывания р равно Л, то требуется еще удовлетворить формулу О0/>ЛОП0/>> те- удовлетворить формулу <>/> А □ 0/>> начиная со следующего момента времени. На этом примере видно, что те формулы, которые должны быть удовлетворены при «движении» по рассматриваемой последовательности, являются булевыми комбинациями подформул исходной формулы1}. Таких комбинаций существует лишь конечное число. Следовательно, на каком-то шаге встретится уже рассмотренная комбинация. Это означает, что ограничения, налагаемые данной формулой, можно представить в виде конечного автомата, у которого состояния являются булевыми комбинациями подформул рассматриваемой формулы. Заметим, что можно ограничиться конъюнкциями подформул, ибо (см. [232], § 1.1.10) любая булева функция реализуема подходящей дизъюнктивной формой, и поскольку строится недетерминированный автомат, то конъюнктивные члены этой формы могут быть представлены различными состояниями автомата. Для формулы □ О/* соответствующий автомат изображен на рис. 4.8. ООр {Р} Рис. 4.8. Эскиз автомата для □<>р. Описанная процедура построения дает, вообще говоря, неполностью определенный автомат: не хватает множества воспринимающих состояний. Может показаться, что доста- 1} Булевой комбинацией формул /х, ... , /к называется любая формула, которая может быть построена из формул /х, ..., /к с помощью логических связок (Д, \/, *~|).
4.2. Временная логика и конечные автоматы 245 точно определить это множество как множество всех состояний и, следовательно, рассматривать любую бесконечную реакцию данного автомата как допустимую. К сожалению, это определение не годится по следующей причине. Процесс декомпозиции формулы О/7 приводит к дизъюнкции рУООР- Значит, высказывание р может быть истинным либо немедленно (выбор подформулы р), либо в некоторый следующий момент (выбор подформулы О О/О- Но нам ничто не мешает оттягивать этот момент до бесконечности и тем самым не позволить высказыванию р стать истинным. Формулы вида О/7 называются фатальностями. Та проблема, которую мы только что высветили, называется проблемой конкретизации фатальностей. Фатальности являются формулами вида О/ и> что менее очевидно, формулами вида ~1 (Д^/г)- В самом деле, применяя тождество (4.3) к последней формуле, получаем -I №/2) = (1Л Л -|/2) V (-|/2 Л О^ (А^Л))- Формула ""•(А^/г) не является истинной для последовательности, на которой формула (пД Л —\/2) не может быть нигде истинной (потому что формула (/^У2) в этом случае истинна). Следовательно, для конкретизации фатальности ~1 (/^/г) необходимо, чтобы формула (-1/! Л —\/2) была неизбежно истинной. Заметим, что для формул вида /^/2 такой проблемы не существует, ибо по самому семантическому определению временного оператора ^ формула /х ^/2 является истинной, если подформула /х всегда истинна. (Если принять сильное определение временного оператора Щ, то формула вида $1а11^ стала бы фатальностью, а формула вида ~|(/,1<%/2) фатальностью уже не была бы.) 4.2.4. Автомат Бюхи, ассоциированный с формулой Приступим теперь к более полному и формальному описанию процедуры построения автомата Бюхи для произвольной формулы временной логики Ч Из приведенного 1} Читатель при желании может пропустить это подробное описание и без ущерба для понимания дальнейшего материала данной главы перейти сразу к чтению § 4.2.10.
246 4. Временная логика выше обсуждения следует, что нам понадобятся подформулы рассматриваемой формулы. Поэтому полезно ввести понятие ансамбля формулы /. Ансамблем формулы / (обозначение с/ (/)) называется наименьшее множество формул, удовлетворяющее следующим условиям: • /ее/СО, • ЛЛ/2бС/СО=*Л,/2бс/СЛ, •/Л/2бс/СЯ^Л,/2бс/(Л •Л^Лес/СЛ=*Л,/2бс/(/), • -тАес/СО^Лес/СЯ, • А е с/ (/) => —\/г е с1 (/), если /± не является формулой вида -тА • ОЛес/СО^Лбс/СО, • ПГ^сЦЛ^АесЦ/), • ОЛес/(Л=>Лбс/(Л, •Л^Лес/(/-)=*Л,/2бс/(/"). Таким образом, ансамбль формулы / есть множество, состоящее из отрицания формулы / и всех ее подформул. Например, ансамбль формулы <$р таков: с1(0р) = {0р, -^Ор,р> -!/>}■ Заметим, что максимально возможное число элементов в ансамбле формулы/есть 21/|, где |/|- длина формулы/, т.е. количество символов (высказываний, связок и операторов), входящих в рассматриваемое представление формулы/. Теперь можно сформулировать следующую теорему. Теорема 4.6. Если /- формула линейной временной логики высказываний, то молено построить такой автомат Бюхи, который воспринимает только бесконечные последовательности, подтверждающие формулу / Приводимое нами доказательство этого результата снабжено достаточно подробным комментарием. Оно протянется вплоть до конца § 4.2.8. Нужный автомат проще всего построить из двух. Один будет проверять, удовлетворяет ли данная последовательность всем условиям, налагаемым рассматриваемой формулой, кроме конкретизации фаталь-
4.2. Временная логика и конечные автоматы 247 ностей. Другой будет проверять конкретизацию фаталь- ностей. Первый автомат будем называть локальным автоматом, ибо тестируемые им условия требуют только пошагового просмотра (т.е. локального) данной последовательности. Второй подавтомат по вполне очевидным причинам будет называться автоматом фатальности. Отделение локального автомата от автомата фатальности наталкивается на небольшую трудность, порождаемую тем обстоятельством, что между этими двумя автоматами имеется определенная взаимосвязь. В самом деле, автомат фатальности должен обладать способностью распознавать, какие фатальности подлежат конкретизации, хотя эта информация находится в некотором состоянии локального автомата. Преодолеть указанную трудность несложно. Достаточно построить локальный автомат и автомат фатальности так, чтобы они оперировали не с последовательностями элементов из алфавита 2Р (т.е. интерпретациями временной логики), а с последовательностями элементов из 2с/(/). Те бесконечные последовательности элементов из 2с/(/), которые будут распознаваться нашими автоматами, получаются из последовательностей элементов алфавита 2Р, подтверждающих формулу /, путем сопоставления каждому моменту времени (т.е. позиции в данной последовательности) тех элементов из 2с/ (Л, которые оказываются истинными в текущий момент времени. При таком способе действия информация, необходимая автомату фатальности, находится в данной последовательности, и, следовательно, эту информацию больше не нужно извлекать из соответствующего состояния локального автомата. Значит, возможна композиция двух наших автоматов. Осуществив ее, легко преобразовать рассматриваемый автомат таким образом, чтобы он распознавал последовательности элементов не из алфавита 2с/(Л, а из алфавита 2Р. 4.2.5. Построение локального автомата Локальным автоматом, ассоциированным с формулой /, называется пятерка Ь = (2с/(/), Л^, р^, Ы/9 Ыь), определяемая следующим образом:
248 4. Временная логика • Алфавит 2с*(/) является множеством подмножеств ансамбля формулы/. • Множество ^-это множество состояний, включающее все такие подмножества 8 из с/(/), которые не содержат пропозициональных инкогерентностей (бессвязностей). Другими словами, состояния 8 удовлетворяют следующим условиям: -для всех/! е с1 (/) отношение/! е8 справедливо тогда и только тогда, когда ■п/1ев1). - если/! Л/2 е с1 (/), то/! Л/2 е 8 тогда и только тогда, когда /1 е 8 и /2 е 8. - если/1 Ч/г е ^ (/)> т°/1 ^/2 ее тогда и только тогда, когда /^8 или /2 е 8. - если /х =>/2ес/(/), то /г =>/2е8 тогда и только тогда, когда -\^ е 8 или /2 е 8. Например, для формулы О/? множество ДОЬ состояний соответствующего локального автомата имеет вид мь = {{Ор,р}> {Ор, -1р}, ЬОр. р), {-чОр, -!/>}}• • Функция переходов рь должна проверять, действительно ли читаемое в последовательности совместимо с данным состоянием рассматриваемого автомата и является ли очередное состояние совместимым с семантикой временных операторов. Первое из этих свойств выполняется лишь в том случае, когда множество рь (8, а) непусто только при условии 8 = а. Иначе говоря, переход оказывается возможным лишь тогда, когда прочитанная буква совпадает с (фиктивной) меткой текущего состояния. Для второго свойства требуется еще, чтобы 1 было элементом из рь(8, а) исключительно при выполнении следующих условий: -если О/х^сН)), то ОЛев тогда и только тогда, когда/хе 4; -если □/1ес/(/), то ОД ее тогда и только тогда, когда/^8 и РДе*; 1} Отметим следующее обстоятельство. Из этого условия следует, что для любой пары формул /х, ~\/г, принадлежащих множеству с1 (/), состояние 8 содержит либо /х, либо -\/х.
4.2. Временная логика и конечные автоматы 249 -если ОЛ^С/Х то ОЛ^8 тогда и только тогда, когда либо /х е 8, либо ОЛ е I; - если /х ^/2 е с/ (/), то /х ^/2 е 8 тогда и только тогда, когда либо /2 е 8, либо /х 6 8 и /г %/2 6*- ? • Множество Ы^ начальных состояний включает те состояния, которые содержат формулу / (потому что желательно распознавать те последовательности, начальные состояния которых подтверждают формулу/). • Множество воспринимающих состояний совпадает с множеством Мь всех состояний. Следовательно, любая бесконечная реакция данного автомата является допустимой. Локальный автомат для формулы 0/7 показан на рис. 4.9. При этом подразумевается, что метка каждого перехода совпадает с меткой того состояния, которое является началом соответствующего перехода. Рис. 4.9. Локальный автомат для О/7- 4.2.6. Построение автомата фатальности Автомат фатальности должен проверить конкретизацию фатальностей. Для осуществления этой проверки нужно убедиться в том, что всякий раз, когда появляется формула вида О/ (или вида -л (/*! ^/2)), найдется последующий момент 32-4465
250 4. Временная логика ] 1 времени, в который появляется формула / (или соответст-1 венно формула -тД Л ~~|/2). Трудность состоит в том, что! такая проверка дожна повторяться беспрерывно, ибо фаталь-1 ности могут иметь место в любой момент времени и появ-| ляться вновь неограниченное число раз. Например, если| рассматривается формула ПО/7» то придется в каждый! момент времени проверять, что фатальность <>/> является! конкретизированной. К счастью, фатальности обладают! одним свойством, которое делает проверку их конкрети-1 заций довольно легкой: если некоторая фатальность не! является конкретизированной в данный момент времени, то! она появится вновь в последующий момент времени. Дейст-1 вительно, фатальность О/ подтверждает формулу! О/ = (/V О ОУ) и точно так же фатальность ~1(/1^/2) под-] тверждает формулу ~1 (/^/2) = (1/1 Л ~1/2) V (~1/2 Л 0~т] Благодаря этому оказывается достаточным периодически] проверять, являются ли рассматриваемые фатальности конк-1 ретизированными. Именно это и делает автомат фаталь-1 ности. 1 Сперва он выясняет, какие фатальности должны быть] конкретизированы в начальный момент времени. Проверяет,! конкретизированы ли они. Затем опять начинает цикл, опре-| деляя те фатальности, которые должны быть конкретизированы в очередной момент времени. Такое функционирование повторяется без каких-либо изменений. Определим автомат фатальности следующим образом. I Через/а/(/) обозначим множество фатальностей формулы/,] т. е. множество элементов из с1 (/), которые имеют вид ОЛ ] или же вид "н^^/г). Автомат фатальности есть пятерка] Г = (2сМ/), 2/а'(Л, рР, {0}, {0}), в которой: ] • Алфавит (как и для локального автомата) есть мно-] жество 2С/(Л всех подмножеств ансамбля данной фор-] мулы. • Множество состояний есть совокупность 2/а*{/) всех] подмножеств множества фатальностей формулы/ Ин-1 туитивно это толкуется так: оказаться в некотором] состоянии {е1г ... , ек} означает, что фатальности е1г ... , ек необходимо конкретизировать.
4.2. Временная логика и конечные автоматы 251 • Функция переходов рр определяется следующим образом: *ерг(8, а) тогда и только тогда, когда выполнено одно из следующих условий: -8 = 0 И * для всех 0/еа имеет место 0/е* тогда и только тогда, когда /ф а. * для всех п(/,Д/2)еа имеет место ~~| (Л^Л)6* имеет место тогда и только тогда, когда {~\^ Л Л-1/2)фа. Находясь в пустом состоянии, автомат фатальности просматривает данную последовательность, выясняя, какие фатальности должны быть конкретизированы, и переходит в то состояние, которое характеризуется этими фатальностями. * для всех 0/е 8 отношение 0/е I имеет место тогда и только тогда, когда /ф а; * для всех "1(^^/2)^8 отношение ~1(/1^/2)е* имеет место тогда и только тогда, когда ("пЛ Л-п/2)^а (находясь в непустом состоянии, автомат фатальности выясняет, какие из фатальностей, которые должны быть конкретизированы, можно конкретизировать в настоящий момент времени; затем он переходит в состояние, содержащее все фатальности текущего состояния, кроме тех, которые только что были конкретизированы. • Единственным начальным состоянием является состояние 0 (т. е. пустое множество фатальностей). В самом деле, прежде чем начать функционировать, автомат фатальности должен выяснить, какие фатальности подлежат конкретизации. • Единственным воспринимающим состоянием является тоже 0. Действительно, если этот автомат попадает в воспринимающее состояние, то это означает, что осуществлена проверка конкретизации всех фатальностей, появившихся при последнем таком проходе. Если же это состояние проходится неограниченное число раз, то фатальности, появляющиеся в данной последовательности бесконечно часто, будут конкретизированы. Как было показано выше, этого достаточ- 32*
252 4. Временная логика но, чтобы все фатальности оказались конкретизированными. Автомат фатальности для формулы 0/7 изображен на рис. 4.10. {Ор,р} Ь<>Р,Р} {Ор^р} Ьор^р} {Ор^р} Ьор^р} • :© {Ор,р} Ь<>р>р} Рис. 4.10. Автомат фатальности для <>/>• 4.2.7. Композиция двух автоматов Следующий этап построения автомата Бюхи для формулы временной логики-композиция локального автомата и автомата фатальности. Получим автомат, распознающие модели данной формулы. Его называют автоматом моде»\ лей. Этот автомат воспринимает пересечение двух языков-? воспринимаемого локальным автоматом и воспринимаемо*; го автоматом фатальности. Значит, его можно получить с помощью построения, описанного в теореме 4.4. Заметим, что так как множество воспринимающих состояний локаль- ного автомата является множеством всех его состояний, То; в обобщенном автомате, фигурирующем в теореме 4.4, одно; из двух множеств воспринимающих состояний совпадает^ с множеством всех состояний. Следовательно, это не нала-] гает никаких ограничительных условий на допустимые реак*] ции и может быть проигнорировано. Автомат Бюхи таким] способом получается непосредственно без применения лем-]
4.2. Временная логика и конечные автоматы 253 мы 4.3. Говоря формально, этот автомат является пятеркой | М = (2й <", Ям, рм, ЛГМ0, *■„), где • ым = Ыь х 2""<л, • (р, ^) е рм ((I, х), а) тогда и только тогда, когда р е рь (я, а) | и яерг(*, а), • ЛГМ0 = Я, х {0}, • Рм = Мх {0}. Композиция локального автомата и автомата фатальности для формулы О/7 изображена на рис. 4.11. Метки переходов на этом рисунке не показаны. По определению метка неко- | торого перехода, началом которого является состояние (1, 8), совпадает с компонентой 1 (взятой из локального автомата) этого состояния. Р. о- Воспринимающее состояние: Ор Воспринимающее состояние : 0 -*Ор Рис. 4.11. Автомат моделей для О/7-
254 4. Временная логика 4.2.8. Автомат над алфавитом 2Р Последний этап нашего построения состоит в преобразовании автомата М над алфавитом 2с1(/) в автомат М' над алфавитом 2Р, где Р означает множество атомарных высказываний формулы /. Автомат М' совпадает с автоматом М во всем, за исключением алфавита, который теперь есть 2Р, и функции перехода, которая определяется так: 1е $ц, (8, а) тогда и только тогда, когда существует такое Ъе2с1{*\ что а = Ь(]Р и 1ерм(8, Ъ). Это означает, что автомат М' получается из автомата М путем замены меток переходов на их пересечения с множеством Р. На рис. 4.12 изображен Рис. 4.12. Финальный автомат для <>/>• результат этого последнего преобразования после удаления тех состояний и тех переходов, которые не могут вести к допустимым реакциям. На этом рисунке меткой перехода следует считать метку того состояния, которое является началом соответствующего перехода.
4.2. Временная логика и конечные автоматы 255 Для завершения доказательства теоремы 4.6 следовало бы еще обосновать наше построение и строго доказать, что последовательности, воспринимаемые построенным автоматом, в точности совпадают с теми, которые превращают исходную формулу в истинную. Такое доказательство довольно нудно и почти не нужно ввиду того, что легко убедиться в соблюдении семантики временной логики в ходе проведения описанного построения. Читатель найдет полное доказательство в [246]. 4.2.9. Алгоритмические аспекты Следует сделать несколько замечаний о размере (т.е. о числе состояний) автомата Бюхи, который можно построить исходя из заданной формулы временной логики. Прежде всего отметим, что конструкция, использованная в доказательстве теоремы 4.6, была выбрана из-за ее простоты и общности. Она заведомо не всегда дает автомат минимального размера. Чтобы убедиться в этом, достаточно сравнить автоматы, изображенные на рис. 4.12 и 4.7. Если проанализировать проведенное построение, то обнаружится, что размер получаемого автомата экспоненциально зависит от «сложности формулы» и может в принципе достигать величины 23'Л Действительно, размер локального автомата ограничен числом 2е1 (/), которое не больше, чем 22'^', а размер автомата фатальности равен 2/аМ/), что не больше 2"' (максимально возможное число фатальностей формулы равно ее длине). Однако независимо от того, оптимально наше построение или нет, экспоненциальный характер размера автомата все- таки неизбежен. В самом деле, можно доказать, что существует такое семейство формул, для которых размеры автоматов Бюхи растут как экспоненциальная функция от длины формул. Техника, использованная нами для доказательства теоремы 4.6, является довольно общей и применима к многочисленным вариациям временных и модальных логик. Более того, соответствие, только что установленное между временной логикой и автоматами Бюхи, является обильным
256 4. Временная логика источником результатов, касающихся временной логики. Например, в § 4.4.9 мы применим это соответствие для верификации параллельных программ. А пока воспользуемся им, чтобы получить решающую процедуру для временной логики. Имеем следующую теорему. Теорема 4.7. Пусть /- формула временной логики высказываний. Тогда ее выполнимость алгоритмически распознаваема. Доказательство. Применив процедуру из теоремы 4.6 к формуле/, получаем автомат А/9 воспринимающий только те бесконечные слова, которые превращают формулу / в истинную. Для доказательства существования таких слов (и, следовательно, обоснования выполнимости формулы /) достаточно с помощью теоремы 4.6 установить непустоту языка, воспринимаемого автоматом Аг Ш Распознавание же непустоты автомата Бюхи можно осуществить за время, линейное относительно размера этого автомата. Для установления выполнимости или невыполнимости формулы временной логики высказываний описанная разрешающая процедура требует, вообще говоря, экспоненциального времени Ч 4.2.10. Обобщенная временндя логика В предыдущих параграфах было доказано, что любую линейную временную формулу можно преобразовать в автомат Бюхи. Было также отмечено, что обратное преобразование (автомата в формулу) иногда оказывается невозможным: существуют такие множества последовательностей, которые воспринимаются подходящими автоматами Бюхи, х) Можно доказать, что проблема выполнимости для линейной временной логики высказываний является полной в классе тех проблем, которые могут быть решены с использованием объема памяти, полиномиально зависящего от размера задачи. При существующем состоянии развития теории сложности представляется маловероятным, что найдутся неэкспоненциальные алгоритмы для решения полных задач этого класса.
4.2. Временная логика и конечные автоматы 257 но не могут быть описаны никакими формулами линейной временной логики. Например, рассмотрим множество последовательностей, для которых высказывание р является истинным во всех состояниях с четными номерами. (На состояния с нечетными номерами никаких требований не накладывается.) Это множество содержит, в частности, последовательности 0123456789 10... ^= р ~\р р ~\р р ~\р р ~\р р ~\р р ... з2= р р р ~\р р ~\р р ~\р р ~\р р ... Но не содержит последовательности 0123456789 10... Зъ=-\Р~-\Р Р -!/> Р ~^Р Р ~^Р Р -!/> Р ••• *4= Р Р -1/>-1/> Р -1/> Р Р Р -1/> Р ••• Довольно удивительно, что свойство, определяющее это множество (обозначим это свойство через четндмер (р)), невозможно охарактеризовать с помощью какой-либо формулы временной логики. Казалось бы, может подойти одна из формул МП(Р=>О-1/>)ЛП(-1/>:эО/0 или/7ЛП(р=>00/>). Однако надежды не оправдываются: обе эти формулы ложны для последовательности д2, которая принадлежит рассматриваемому множеству. Можно доказать, что это множество не описывается никакой формулой временной логики. Справедлив и более общий результат, содержащийся в следующей лемме [249], [250] (его мы приводим без доказательства). Лемма 4.8. Любая временная формула, построенная с использованием атомарного высказывания р и содержащая не более п операторов О, принимает одно и то лее значение истинности на всех последовательностях вида ак = рк(~^р)р(0 при к> п. Лемма 4.8 позволяет легко установить, что свойство четномер (р) не является выразимыми средствами временной 33-4465
258 4. Временная логика логики. Действительно, предположим противное, т.е. что оно выразимо. Тогда его можно описать некоторой формулой /, содержащей определенное количество временных операторов О- Согласно лемме 4.8, эта формула имеет одно и то же значение истинности на последовательностях ал+1 и ал+2- Однако свойство четндмер (р) истинно на одной из этих последовательностей и ложно на другой. Приведенное рассуждение допускает обобщение. В частности, можно показать, что для всех т ^ 2 свойство, состоящее в истинности высказывания р во все моменты времени, кратные числу т, во временной логике невыразимо. Ниже будет описано некоторое обобщение временной логики, которое позволяет выразить свойство четндмер (р). В действительности будет обоснована выразимость любого свойства, которое можно задать с помощью некоторого автомата Бюхи. 4.2.11. Определение обобщенной логики Займемся поиском путей обобщения временной логики с целью обретения возможности выразить свойство четндмер (р), введенное в предыдущем параграфе. Сразу же легко усматривается, что формула, выражающая свойство четндмер (р), удовлетворяет соотношению четндмер (р)=р/\ О О четндмер (р), (4.4) которое очень напоминает выражение □/7=/>ЛОП/>, (4.5) имеющее место для формулы □/?. Сходство между (4.4) и (4.5) наводит на мысль, что оператор «четномер» можно определить точно так же, как был определен оператор «всегда» (т.е. □). Поэтому полагаем четндмер (р) истинным в точке * некой последовательности, если высказывание р истинно во всех точках * + 2к из этой последовательности, где /сеМ. Кроме того, соотношение (4.4) может служить основой для аксиоматизации оператора «четномер» и позволяет обобщить процесс построения автомата Бюхи, описанный в § 4.2.4-4.2.8, на формулы, содержащие оператор «четномер». Таким образом,
4.2. Временная логика и конечные автоматы 259 мы можем обобщить временную логику, сохранив все ее достоинства: и полноту аксиоматизации, и алгоритмичность конструирования автоматов Бюхи. Указанный подход применим не только с оператором «четнбмер». Можно, например, использовать операторы «3-кратномер», «4-кратномер» и т.п. Легкость трактовки операторов типа «четнбмер» определяется тем обстоятельством, что они характеризуются индуктивными соотношениями, подобными (4.4). Такие соотношения аналогичны продукциям регулярных грамматик и переходам конечных автоматов. Это наталкивает на мысль осуществить обобщение временной логики систематическим образом: путем присоединения к ней всех операторов, поддающихся определению с помощью конечных автоматов. Получаемую указанным способом временную логику будем называть обобщенной временной логикой и обозначать ОВЛ. Осталось дать точные определения. Первым возникает вопрос о том, какой вид конечных автоматов следует использовать: конечные автоматы над конечными словами или автоматы Бюхи? Поскольку рассматриваемые во временной логике последовательности бесконечны, то выбор автоматов Бюхи представляется неизбежным. Однако будет показано, что обобщенную временную логику можно определить либо с помощью довольно ограниченного класса автоматов Бюхи, либо с помощью конечных автоматов над конечными словами. Тем не менее начнем с общего определения временного оператора, исходя из автомата Бюхи. Пусть имеется автомат Бюхи А = (Е, 5, р, 50, Р). Для задания временного оператора, соответствующего этому автомату, каждому элементу из алфавита Е сопоставим подходящую формулу. Эти формулы станут аргументом конструируемого оператора А: если И = {а1, ... , ап}, то оператор А имеет п аргументов, и, применяя его к формулам /х/... » /н, получаем А^, ... , /„). Аргументами оператора А могут быть, разумеется, произвольные формулы обобщенной временной логики. Семантика выражения А^, ... , /„) определяется в терминах слов, воспринимаемых автоматом А. Интуитивно это выглядит так: последовательность подтверждает выражение А (^,... ,/п), когда она содержит слово (подпоследовательность), воспринимаемое автоматом, при- 33*
260 4. Временная логика чем если в этом слове нау'-м месте стоит буква а(, то формула /| истинна на указанном месте. Более формально: • /^^([р ... , /„), если существует такое бесконечное слово н> = а„ а„ а„ ... , воспринимаемое автоматом А> что ^ И кл (8Х. для 'всех } ^ 0. Если семантика временной логики описывается в терминах некоторой последовательности к: N х Р -► {И, Л}* то приведенную только что фразу надо заменить на следующую: • п\=яА{[1, ... , /„), если существует такое бесконечное слово и> = а„ а„ а„ ... , воспринимаемое автоматом А* что 7С \=,+/„°для всех } ^ 0. В остальном семантика обобщенной временной логики совпадает с семантикой классической временной логики. В качестве первого примера рассмотрим автомат А^ изображенный на рис. 4.13. Оператор А1Ц'1)9 определяемый о Рис. 4.13. Автомат, определяющий оператор □• этим автоматом, является оператором □. Действительное автомат А1 воспринимает только одно слово-а®. Значит; некоторая последовательность подтверждала выражение А\ (Л) только в том случае, если формула^ истинна в любой! момент времени. Но это как раз характеристическое свойст*] во оператора □. Аналогичным образом могут быть опре*1 делены (с помощью автоматов) и другие операторы класси*! ческой временной логики. Оператор О является двойствен*; ным оператору □, следовательно, 0/= "1^1 ("!/)• Для опв-' ратора °и имеем /х^/2 = А2Ц1г /2, И), где А2-автомату
4.2. Временная логика и конечные автоматы 261 изображенный на рис. 4.14. Наконец, получаем 0/= Аъ для оператора О (И,/ И); автомат Аъ приведен на рис. 4.15. Свойство четндмер (р) описывается аналогичным образом с использованием оператора А+, определяемого автоматом, представленным на рис. 4.16. Этот автомат воспринимает только слово (а1а2)(0, и поэтому формула ААр{^1,/2) истинна лишь на такой последовательности, на которой формула^ истинна во всех состояниях с четными номерами, а формула /2 истинна во всех состояниях с нечетными номерами. Следовательно, свойство четндмер (р) можно задать формулой А^{р, И). 0.2 Рис. 4.14. Автомат, определяющий оператор <%. а\ -*Ч(*1] а2 <*з о ""*л(52] Рис. 4.15. Автомат, определяющий оператор О- Рис. 4.16. Автомат, позволяющий выразить свойство четное (р).
262 4. Временная логика Во всех приведенных выше примерах автоматы имели одну характерную особенность: все их состояния были воспринимающими. Будем называть автоматы такого типа автоматами, воспринимающими на зацикливании1}, через ОВЛц обозначим обобщенную временную логику, в которой все операторы определены автоматами, воспринимающими на зацикливании 2). Примечательно, что этой логики достаточно для описания всех множеств последовательностей, характеризуемых автоматами Бюхи. С точки зрения выразительных возможностей она, следовательно, эквивалентна обобщенной временной логике. Однако построение, позволяющее перейти от формулы из ОВЛ к формуле из ОВЛц, весьма сложное [249], [246]. Одно из преимуществ ОВЛц- гораздо большая легкость ее применения по сравнению с ОВЛ [226], [246]; оно является следствием того, что автоматы, воспринимающие на зацикливании, можно дополнять подмножествами Рабина - Скотта. Для автоматов Бюхи это невозможно. В частности, для ОВЛц предложена полная аксиоматизация [250], [13], тогда как для ОВЛ никакой простой аксиоматизации не известно. 4.2.12. Автоматы над конечными словами Существует еще ограниченная версия обобщенной временной логики. Она вполне естественна и позволяет выразить все то, что можно описать автоматами Бюхи. В этой логике операторы задаются конечными автоматами над конечными, словами. Конечные автоматы над бесконечными словами здесь не используются. Обозначим эту логику через ОВЛк. Семантика автоматных операторов из ОВЛк определяется подобно семантике автоматных операторов из ОВЛц. Пусть А = (Е, 5, р, 50, Р)- автомат над конечными словами и 2, = {а1, ... , ап). Семантика выражения А(/1г ... , /я) определяется в терминах конечных слов, воспринимаемых х) Поскольку все состояния этого автомата являются воспринимающими, то для того, чтобы некоторая реакция была допустимой, достаточно, чтобы она была бесконечной, т.е. зацикливалась в автомате. 2) В сущности, это та же логика, что и введенная в [249] и [250].
4.2. Временная логика и конечные автоматы 263 автоматом А. Интуитивно это выглядит так: некоторая бесконечная последовательность подтверждает выражение ^(А» ••• >/Д когда она содержит конечное слово длины /, воспринимаемое данным автоматом, причем если в этом слове на у-м месте при } < I стоит буква а(, то формула ^ истинна на указанном месте. На элементы последовательности, находящиеся на местах, начиная с /-го, никакие ограничения не накладываются. Более формально: • ./[= 8А (/*!, ... , /л), если существует конечное слово и? = аща„а„ ... о^_, воспринимаемое автоматом А, такое, °что У|= &(5)^ для ) = 0, 1, ...,/-1. Как и логика ОВЛц, логика ОВЛк позволяет выразить любое свойство, которое можно определить, используя автоматы Бюхи. Между этими двумя логиками существует некая двойственность, похожая на двойственность между операторами П и О во временной логике. Любой оператор из ОВЛц выразим через подходящий оператор из ОВЛк и отрицание. Аналогичное представление осуществимо и для операторов из ОВЛк через операторы из ОВЛц. Проиллюстрируем это на примере. Рассмотрим автомат А5, изображенный на рис. 4.17. Оператор О можно определить, используя соотношение 0/=Л5(И,/), а сильную версию оператора "ипШ" можно задать соотношением/^/2 = А5 (Д, /2). В ОВЛц оба этих оператора получаются с помощью отрицания, примененного к некоторому автоматному оператору. Ц(*1 ] Рис. 4.17. Автомат, определяющий оператор О- 4.2.13. Заключение В этом разделе временная логика обобщалась с привлечением операторов, описываемых конечными автоматами. Были рассмотрены три обобщения:
264 4. Временная логика • ОВЛ: операторы определяются автоматами Бюхи; • ОВЛц: операторы определяются автоматами, воспринимающими на зацикливании; • ОВЛк: операторы определяются автоматами над конечными словами. Каждое из трех перечисленных обобщений позволяет.выразить все свойства, определимые автоматами Бюхи. Это утверждение очевидно в случае ОВЛ, но требует довольно сложного обоснования при рассмотрении двух других логик (см. [246]). Оказывается возможным построить автомат Бюхи, отправляясь от формулы, принадлежащей любой из этих трех логик. Сложность конструируемого автомата является при этом экспоненциальной функцией от сложности исходной формулы. Для логик ОВЛк и ОВЛц соответствующее построение похоже на проводившееся в § 4.2.4-4.2.8. Для логики ОВЛ оно значительно сложнее. Процесс построения автомата представляет нам разрешающую процедуру и в случае обобщенных логик (для классической временной логики это отражено в теореме 4.7). Отметим еще, что для ОВЛц и ОВЛк существуют относительно простые полные аксиоматизации (см. [250], [13]), а для ОВЛ это не так. Обобщение временной логики с привлечением автоматов не только усиливает ее выразительные возможности, но и показывает, каким образом можно объединить эти два различных с виду формализма. В заключение отметим, что метод обобщения временной логики, рассматривавшийся нами здесь, не является единственно возможным. Вот еще два подхода: использование операторов с неподвижной точкой (см. [13] и [244]) и применение специальной квантификации к высказываниям [226]. Интересно, что выразительные возможности этих двух обобщений такие же, как и того обобщения, которое основано на автоматах Бюхи.
4.3. Линейная временная логика предикатов 265 4.3. Линейная временная логика предикатов 4.3.1. Введение Линейную временную логику высказываний можно обобщить, введя переменные, функции и предикаты. Тогда получится временная логика предикатов. Выразительные возможности при этом значительно возрастают, как и в классической логике (см. [232]). Однако правила вывода становятся более сложными и, кроме того, не обеспечивают соответствующей полноты. Временная логика предикатов применяется в настоящее время в основном при исследовании систем, связанных с параллельными процессами [1]. При построении языка линейной временной логики предикатов используются символы двух видов: одни обозначают «глобальные объекты», другие - «локальные объекты». Интерпретация глобальных объектов не зависит от данного состояния (от заданного момента времени). Например, глобальным объектом является некоторый субъект; символ, обозначающий его, сохраняет одно и то же значение во всех состояниях. Примером локального объекта служит обладатель некоторой должности. Эту должность могут последовательно занимать разные лица. Символ, обозначающий лицо, занимающее данную должность, в разных состояниях представляет, вообще говоря, разных людей. 4.3.2. Синтаксис Язык линейной временной логики предикатов (или язык первого порядка) строится на основе множеств символов): 1. Множество логических связок (~1, Л, V, => и =). 2. Множество временных операторов (П, О» О и %). 3. Множество кванторов (V, 3). 4. Символ равенства (=). 5. Множество Р глобальных предикатных констант. 6. Множество Р глобальных функциональных констант. 7. Множество 6 локальных констант. 8. Множество Ь локальных индивидных констант. 9. Множество V глобальных переменных. 34-4465
266 4. Временная логика Эти множества не пересекаются. Каждой функциональной или предикатной константе соответствует некоторое целое неотрицательное число, называемое числом мест или арностью. Элементы рассматриваемого языка получаются по правилам построения, аналогичным, с одной стороны, правилам построения, применявшимся в логике предикатов, и, с другой стороны, правилам построения, применявшимся во временной логике высказываний. • Термом называется всякая переменная, всякая индивидная локальная константа и всякая функциональная форма., • Функциональная форма представляет собой последовательность символов, состоящую из функциональной константы, скобок и подходящего числа термов. Точнее, если /-(глобальная) функциональная константа с числом мест п и /1? ... , /„-термы, то соответствующая форма имеет вид/(/1, .... /„). Если п равно О, то вместо /( ) пишут / и говорят о (глобальной) индивидной константе. • Предикатная форма есть последовательность символов, состоящая из предикатной константы, скобок и подходящего числа термов. Если р-(глобальная) предикатная константа, у которой число мест т, и 11,..., 1т суть термы, то соответствующая форма имеет вид рЬ\> ••• » О- Если т равно 0, то пишут р вместо р( ) и говорят о (глобальной) пропозициональной константе. • Атомом называется всякая предикатная форма, всякое локальное высказывание и всякое равенство. • Равенством называется выражение вида (^ = I), где 5 и /-термы. • Понятие формулы определяется рекурсивно посредством следующих правил: -атом является формулой; -если А -формула, то ~\А, [ЗА, О А и О А -формулы;
4.3. Линейная временная логика предикатов 267 -если А и В -формулы, то (А А В), (АУ В), (А=>В), (А = В) и (А<ШВ)- формулы; -если А есть формула и л:-некоторая переменная, тогда УхА и ЗхА являются формулами. Отметим, что в той логике, которую мы только что определили, все символы являются глобальными, за исключением некоторых индивидных констант и некоторых высказываний, которые могут быть локальными. Можно было бы ввести локальные элементы всех типов, но мы ограничимся индивидными константами и высказываниями ввиду того, что только эти локальные элементы используются на практике. 4.3.3. Семантика Пусть заданы множества глобальных и локальных символов, которые только что были введены. Тогда временной интерпретацией называется пятерка (5, К, Д 1С, /Д обладающая следующими свойствами. • (5, К)-линейная временная структура (§ 4.1.3). • И-непустое множество; это область интерпретации. • 1С-функция интерпретации констант, которая сопоставляет -каждой функциональной глобальной «-местной константе /еГ некоторую функцию /с(0» действующую из 1)" в Д -каждой предикатной глобальной т-местной константе р е Р некую функцию 1С (р), действующую из йт в {И, Л}1}; -каждому состоянию деЗ и каждой индивидной локальной константе 1еЬ некоторый элемент /с(.у, 0еХ>; -каждому состоянию ^е5 и каждому локальному высказыванию де() некоторое значение истинности /«(*. я)- 1} По соглашению функция из Г>° в В является просто элементом из В. 34*
268 4. Временная логика • /„ является функцией интерпретации переменных, которая сопоставляет каждой переменной хеУ некий элемент 1„(х)ей. Замечание. Понятие временной предикатной интерпретации обобщает, с одной стороны, классическое понятие предикатной интерпретации, введенное в [232, § 1.2.5], и, с другой стороны, понятие пропозиционной временной интерпретации, введенное в § 4.1.3 данной книги. Пусть заданы временная интерпретация У = (5, К, й, 1С, 1У) и состояние де$, тогда с помощью следующих правил интерпретации можно приписать каждому терму некоторьш элемент из И и каждой формуле-некоторое значение истинности. • Если л:-переменная, то «/(^, л:) = йе{1„(х). • Если /-локальная индивидная константа, то «/(^, I) = • Если/-функциональная «-местная константа и 11г ... , /„-термы, то Л(з, /{11$ ... , О) = <1ег/сЮ С(* 'Д .... '(* О). • Если р-предикатная т-местная константа и 11г ... , 1т суть термы, то ^(з, р(*1#... , 1т)) = деГ/с(р)(^(з, ^),..., </(*, О). • Если #- локальное высказывание, то «/(^, а) = м!с(з, #)- • Если гх и /2-термы, то «/(5, ^ = /2) есть И, если «/(я, ^) = ./(я, /Д а иначе Л. • Если А и В суть формулы, то ~\А, (А А В), (А У В\ (А=>В) и (А = В) интерпретируются, как в логике высказываний. • Если А и Д-формулы, то ОА, ПА, <}А и (А<ШВ) интерпретируются, как во временной логике высказываний. • Если А -формула и л:-переменная, то </(з, Ух А) есть И, если ./х/Д.у, А) равняется И для всех */е!>, и «/(^, ЗхА) есть И, если «/х/Д.у, А) равняется И хотя бы для одного </е!>. Запись </х/а означает некую интерпретацию, совпадающую с «/ всюду, за исключением переменной х, для которой /„ (л:) = й.
4.3. Линейная временная логика предикатов 269 Отметим, что, как и в рамках логики высказываний, можно ограничиться случаем, когда 5 есть множество неотрицательных целых чисел, а Я -функция следования. Тогда временная интерпретация представляется в виде бесконечной последовательности классических интерпретаций, в которых глобальные символы интерпретируются единообразно. Подчеркнем тот факт, что временной аспект этой логики не меняет роли переменных. В частности, их можно квалифицировать как свободные или связанные, что имело место в классической логике предикатов. Если А -формула, «/-интерпретация и к - последовательность, то часто пишут «/(=я^4 и п^=8А вместо «/(я, А) = И и к (8, А) = И соответственно. Как и в логике высказываний (§ 4.1.3), если имеет место ^^=8А для всех состояний ^ модели «/, то пишут с/1= А. Точно так же запись п\= А является сокращением для к |= 0 А. Формула А называется общезначимой, если выполняется «/ (= А для любой временной интерпретации «/ или выполняется к |= А для любой последовательности п. (Эти два условия эквивалентны.) Терминология и обозначения, используемые для определения семантики временной логики предикатов, варьируются сообразно вкусам авторов, как это уже наблюдалось в случае временной логики высказываний. Многообразно здесь и толкование понятия модели. В зависимости от ситуации это слово может обозначать простую временную структуру (5, К) или фрагмент интерпретации (5, К, Д /с) или же интерпретацию (5, Я, Д 1С, /Д Напомним, что в данной главе модель формулы А всегда означает интерпретацию, делающую эту формулу истинной. 4.3.4. Аксиоматическая система Эффективное использование временной логики первого порядка для формализации рассуждений практически возможно только при наличии некоторой аксиоматической системы. Естественная идея состоит в комбинировании аксиоматической системы для классической логики первого порядка
270 4. Временная логика [232, §2.1.8], включая аксиомы, касающиеся отношения равенства [232, § 2.1.10], с той системой, которая построена для временного исчисления высказываний (§4.1.5). Однако следует проявлять осторожность. Прежде всего схема ЧхА(х)=>А(1), общезначимая в классической логике, общезначима во временной логике тогда и только тогда, когда замена пере* менной х термом I не вводит локальную константу в область действия некоторого временного оператора. Если это уело* вие соблюдается, то говорят, что терм I заменяем на х в А [154], [132]. Аналогичное замечание относится и к правилам вывода, моделирующим равенство, а именно правилам подстановки р{х1,Х2,... ,Хт)=р{11г12,... ,/т) Х1 = 1У Л Х2 = 12 Л ... Л Хп = 1п /(Х1,Х2,... ,Хл)=/{11,12,... ,1п) Эти правила справедливы тогда и только тогда, когда термы являются заменяемыми на лг^ в формуле р(хх, х2, ... , хм) и в терме/{хх, х2, ... , л:л). Следует также уточнить связи между временными операторами и кванторами. Имеют место соотношения УхОА = ОУхА, УхШ = ПУхА. В литературе описаны многочисленные аксиоматические системы (см., например, [154], [132], [1]). Аксиоматическая система, которую мы используем (см. [132]), содержит (рекурсивное) множество аксиом, определяемых следующими правилами. • Любая конкретизация схемы общезначимой формулы временной логики высказываний является аксиомой Ч 1} Здесь и в классической логике используется тот факт, что временное исчисление высказываний является разрешимым (§ 4.2.4).
4.3. Линейная временная логика предикатов 271 • Если А -формула, не содержащая локальных объектов, то импликация (А => О А) является аксиомой. • Если л:-глобальная переменная, А (х) - формула и I- терм, заменяемый на л: в А(х), то импликация (УхА(х)=>А(ф есть аксиома. • Если А -формула и л:-глобальная переменная, то формула (Зх—\А = ~]УхА) является аксиомой. • Если Л-формула и л:-глобальная переменная, то импликация (УхОА => ОУхА) есть аксиома. Принимаются следующие правила вывода. • Если А и А => В -теоремы, то В является теоремой (тоёш ропепз). • Если А -теорема, то О А является теоремой (Необходимость). • Если А не содержит свободных вхождений глобальной переменной х и А => В -теорема, то импликация А=>УхВ является теоремой (Обобщение). Для получения аксиоматизации временного исчисления предикатов с равенством добавляют аксиому рефлексивности равенства и те правила подстановки с ограничением, которые описаны в начале этого параграфа. В противоположность классическому исчислению предикатов временное исчисление предикатов не допускает полную аксиоматизацию [1]. Тем не менее представленная здесь аксиоматическая система позволяет осуществлять вывод многочисленных полезных теорем. Как и в классической логике, здесь удобно ввести производные правила вывода. Это позволяет получать более короткие и более четкие доказательства. Производные правила и интересные теоремы устанавливаются на основе утверждений, выражающих соотношения между временными операторами и кванторами. Например, если А и В -формулы и л:-глобальная переменная, не входящая свободно в В, то формулы Ух(ОААВ) и ОУхААВ эквивалентны.
272 4. Временная логика 4.3.5. Временные теории первого порядка В [232, гл. 2] мы продемонстрировали, как можно применять логику первого порядка в некоторых частных ситуациях. Делается это путем построения некой теории первого порядка, имеющей два компонента: сигнатуру и множество аксиом (или постулатов). Сигнатура состоит из предикатных и функциональных констант. Они дают возможность представлять свойства элементов из рассматриваемой области, и только эти константы могут появляться в формулах данной теории. Аксиомы - это суть такие формулы, которые накладывают ограничения на возможные интерпретации констант из сигнатуры, т. е. очерчивают рамки соответствий, сопоставляющих константам элементы из рассматриваемой области. Аналогично определяются и временные теории первого порядка, предназначенные для изучения некоторых специфических областей. Сигнатура временной теории содержит, вообще говоря, кроме глобальных констант локальные индивидные константы и локальные высказывания. Пример на эту тему будет подробно рассмотрен в § 4.4.5. 4.4. Приложения временнбй логики 4.4.1. Введение Временная логика оказалась эффективным средством для спецификации и верификации параллельных процессов. Одно из ее достоинств состоит в возможности предоставления свойств вида «что-то закончится после осуществления чего-то» (например, окончание программы), которые не являются легковыразимыми в других формализмах. В этом разделе мы займемся проблемой формального доказательства того факта, что данной спецификации во временнбй логике соответствует подходящая система с параллельными процессами. Будут последовательно рассмотрены два подхода. Первый базируется на временнбй логике предикатов, а второй опирается на временную логику высказываний. Первый подход является более общим и обеспечивает интуитивное понимание доказываемых программ. В свою очередь второй подход позволяет (когда он оказы-
4.4. Приложения временной логики 273 вается применимым) полностью автоматизировать процесс доказательства. Для начала введем (на очень простом примере) те понятия, которые позволяют специфицировать и верифицировать системы с параллельными процессами. Этот пример рассматривается в рамках временной логики предикатов. Затем перейдем к подробному изучению обоих методов верификации систем с параллельными процессами. 4.4.2. Вводный пример Параллельное программирование предназначено для систем информатики, составленных из интерактивных процессов. Слово «интерактивный» указывает на то, что действие, выполняемое одним процессом, в данный момент времени может зависеть от действий, совершенных ранее другими процессами. Для задания взаимодействия между процессами используется несколько приемов. Широко употребляется так называемое разделение памяти. Информация, помещенная в разделенную память, доступна для нескольких процессов. Другой прием - связь путем передачи сообщений. Этот прием позволяет вести явный обмен информацией между различными процессами. С теоретической точки зрения его можно рассматривать как частный случай разделения памяти. На практике разделение памяти зачастую применяют в централизованном режиме, когда единственным процессором выполняются параллельно несколько процессов. Напротив, в распределенном режиме процессы «отдалены друг от друга» и выполняются разными процессорами. Каждый из процессоров обладает собственной памятью и может обмениваться с другими процессорами сообщениями по каналам связи. Рассмотрим случай двух процессов. Один из них производит информацию, другой потребляет ее. Эта схема «Производитель-Потребитель» встречается во многих ситуациях. Например, результаты сперва получаются, а затем печатаются. Требуется определенная синхронизация между этими двумя процессами: процесс «Потребитель» должен идти с некоторой задержкой по отношению к процессу «Производитель». Однако величина этой задержки не должна превы- 35-4465
274 4. Временная логика шать определенного предела, отражающего способность системы к накапливанию уже произведенной, но еще не потребленной информации. В классических обозначениях [184] процессы «Производитель» (Р) и «Потребитель» (О1* можно смоделировать следующим образом: Р: С: \уЫ1е 1гие ёо \уЫ1е Хгие ёо Ъе§1П Ъе§1п а\уаИ р — с < Ыйо произвести; а\уаИ р > с сю потребить; р: = р 4- 1 с: = с 4- 1 епё епё Переменные рис являются счетчиками, показания которых могут считаться процессами. В каждый момент времени их показания представляют соответственно число произведенных и число потребленных элементов. Следовательно, начальные значения переменных рис нулевые. Инструкции произвести и потребить представляют соответственно действия процессора Р по производству и действия процессора С по потреблению. В подробности этих действий мы здесь не вникаем. Единственной нашей целью является изучение синхронизации между процессами Р и С. Тем не менее предполагается, что эти действия не меняют показания счетчиков рис. Инструкция "а\уаИ В ёо 5" означает «дождаться, когда В станет истинным, и тогда выполнить 5». Если же условие В будет всегда ложным, то соответствующая инструкция должна получить бесконечную задержку. Оба процесса, Р и С, представлены на рис. 4.18 в виде графа. Каждая вершина этого графа помечена. Каждой дуге соответствует атомарная инструкция или (что то же самое) переход. Слово «атомарная» означает, что эта инструкция выполняется как неделимое целое. В каждый момент времени выполняется переход из того или иного процесса. Если в данный момент времени являются выполнимыми несколь- 1} По-французски соответственно Ргоёис1еиг и Сопзотта1еиг.- Прим. перев.
4.4. Приложения временной логики 275 ко переходов, то выбор перехода, подлежащего осуществлению, будет произвольным. Действия произвести и потребить, истинная природа которых нас здесь не интересует, смоделированы посредством оператора зЫр. По соглашению это обозначение представляет некое действие, которое не оказывает влияния на состояние памяти. ур — с < N / \р> с р:=р + 1| ] —► с:=с+1 Процесс Р Процесс С Рис. 4.18. Система «Производитель - Потребитель». Исполнение программы на некоторой машине характеризуется последовательностью состояний этой машины, которые следуют одно за другим. Эта последовательность состояний может рассматриваться как временная интерпретация. Именно это соответствие между временной интерпретацией и последовательностью состояний некоторой машины позволяет использовать временную логику для верификации программы. Параллельной называется такая программа, для которой существует несколько возможных исполнений. Эта множественность исполнений проистекает из того факта, что чаще всего имеется возможность выбора между исполнениями инструкций того или иного процесса. При описании ситуации с несколькими исполнениями, связанными с выбором переходов, обычно говорят о недетерминизме. Очевидно, что такая недетерминированная программа соответствует некоторой спецификации только при 35*
276 4. Временная логика условии, что все ее исполнения соответствуют этой спецификации. Рассматриваемая здесь система «Производитель - Потребитель» (вернее, абстрактная версия этой системы) использует только две переменные -р и с. Шаг исполнения заключается в модификации значений этих переменных сообразно одной из инструкций одного из процессов. Эти исполнения подчинены следующему ограничению: для каждого процесса должны попеременно исполняться те две инструкции, которые его составляют. Состояние исполнения нашей системы «Производитель- Потребитель» может рассматриваться как конкретизация четверки (ЬР, Ьс, р, с), в которой ЬР является одной из двух меток Р0 и Рх; Ьс есть одна из двух меток С0 и С1? а р и с суть текущие значения счетчиков рис соответственно. (Допустимость присвоения одного и того же имени переменной и ее значению относится к общепринятым соглашениям в информатике. Однако следует проявлять внимательность и не путать два разных понятия.) Наличие метки / в позиции, соответствующей данному процессу состояния исполнения, показывает, что этот процесс находится в контрольной точке /. Это означает, что последняя инструкция, исполненная нашим процессом, приводит его к метке /. В начальном состоянии каждый процесс находится в некоторой фиксированной контрольной точке (в начале программы). Первая инструкция, исполняемая каждым процессом, будет исходить из этой контрольной точки. Ниже приводится список первых нескольких состояний некоторого возможного исполнения системы «Производитель-Потребитель». Предполагается, что константа N равняется 2. 0. 1. 2. 3. 4. 5. 6. Ь, Л> Л Л. Л Л Л> Л, Ьс Со Со С0 С0 с, с, С0 Р 0 0 1 1 1 2 2 с 0 0 0 0 0 0 1
4.4. Приложения временной логики 277 7. Р0 С, 2 1 О. Л д Сд ^ 2* 9. Рх С0 2 2 10. Р0 С0 3 2 Первые два действия (переход из состояния 0 в состояние 1, а затем из состояния 1 в состояние 2) должны быть неизбежно осуществлены «Производителем», так как не выполняется неравенство р > с, определяющее условия выполнения очередной инструкции «Потребителем». В таких случаях принято говорить, что в состояниях 0 и 1 «Потребитель» оказывается блокированным. Точно так же действие, позволяющее покинуть состояние 5, должно непременно осуществляться «Потребителем». В противном случае (например, в состоянии 6) выбор процесса, подлежащего выполнению в ходе очередного действия, оказывается произвольным. В рассматриваемом контексте этот выбор часто приписывают некоторой особой сущности, называемой упорядочивателем или супервизором. Критерии выбора, используемые упорядочивателем, нас мало интересуют, ибо хорошее функционирование параллельных систем в принципе от них зависеть не может. Предъявляется, естественно, одно минимальное требование; упорядочиватель не может выбрать блокированный процесс. Иногда вводят и дополнительные требования. В последующем мы еще вернемся к этой теме. Система «Производитель - Потребитель» допускает бесконечно много различных реакций. Кроме того, сами эти реакции являются бесконечными. Чтобы иметь возможность верифицировать эту систему, нужно располагать конечным представлением ее реакций и свойств, которым они должны обладать. Для описания исполнений нашей программы будем использовать некоторое множество формул временной логики. Их называют обычно аксиомами программы. Эти аксиомы характеризуют бесконечные последовательности, являющиеся реакциями данной программы, и составляют временную теорию программы. В § 4.4.5 будет изложен метод, позволяющий строить такую теорию, отправляясь от текста конкретной программы.
278 4. Временная логика С тем же успехом будут описываться временными формулами и свойства программ. Эти свойства классифицируются на многочисленные виды сообразно структуре той формулы, которую они представляют. Наиболее важные виды будут введены в § 4.4.6. В качестве примера рассмотрим вновь программу «Производитель - Потребитель». Существенным ее свойством является то, что два составляющих систему процесса остаются достаточно синхронизированными, лишь бы исполнение начиналось в приемлемом состоянии. Это свойство можно выразить формулой (1пИ=> □ 2), если положить 1пИ :(шР0АшС0Ар = О Л с = 0), 2:(0</7-с^ЛО, где "Ш Р0" и "ш б0" являются локальными высказываниями, а р и с представляют собой локальные переменные. Формула 1пИ не содержит временных операторов, так как выражает только лишь свойство начального состояния. Формула 7, выражает общее свойство всех состояний данной реакции программы; а именно это тот факт, что количество единиц информации, уже произведенных, но еще не потребленных, заключено между 0 и N. Рассмотрим также следующую формулу: /:[а1Р0-=>р - с < ЩК[а1Р^р - с < К] Л \аг С0 з/7 ^ с] Л \а1 Сх =>/? > с]. Легко видеть, что если формула / подтверждается в некотором состоянии какой-либо реакции данной программы, то она подтвердится и в очередном состоянии этой реакции. (Далее мы увидим, каким образом можно доказать утверждения такого рода.) Отсюда по индукции немедленно следует, что если формула / истинна в начальном состоянии некоторой реакции, то формула / будет истинной и для всех состояний этого исполнения. Это, в частности, позволяет установить свойство, моделируемое формулой (7ш7зП2). Проблема верификации программы состоит в доказательстве того факта, что некоторая программа соответствует своим спецификациям. В том контексте, который мы рассматриваем, программа моделируется некой временной тео-
4.4. Приложения временной логики 279 рией, тогда как ее спецификации представлены формулами языка этой теории. Следовательно, проблема верификации сводится к классической проблеме логики: является ли некая формула (описывающая спецификации) теоремой некоторой теории (описывающей данную программу)? 4.4.3. Моделирование программы Перейдем к формальному определению того языка программирования, который будет использоваться в дальнейшем. При этом ограничимся элементарным, но часто встречающимся случаем программы, содержащим конечное и постоянное число процессов, сообщающихся между собой через разделение переменных. Программа (или система) содержит множество процессов {Р1,..., Рп}. Они используют конечное множество переменных X = {хх, ..., хк}, которые будут называться переменными программы (за исключением тех случаев, когда контекст исключает малейшую двусмысленность), чтобы отличать их от логических переменных. Каждая переменная программы является типизированной. Множество X называется памятью системы. Процесс представляется некоторой органиграммой, т.е. конечным ориентированным связным графом. Каждая вершина этого графа снабжена меткой или контрольной точкой. Одна из вершин является начальной. Каждой дуге графа сопоставлена некоторая инструкция. Начало и конец одной и той же дуги могут совпадать. Несколько дуг могут иметь одно и то же начало и один и тот же конец1}. Инструкция 5 представляет собой пару (С, А), которая часто обозначается через С-+А. Здесь С-некоторое условие и А -некоторое присваивание. Условие С есть неквалифицированная формула логики первого порядка, и переменные, входящие в нее, являются переменными программы. Присваивание А имеет следующий вид: (.*!, ..., хк): = (^, ..., 1к). Здесь 1г,..., 1к-термы, построенные из глобальных констант и переменных программы. Если для некоторой переменной То есть допускаются петли и кратные дуги.- Прим. перев.
280 4. Временная логика лс, имеет место равенство 1^ — х^ то эта переменная в присваивании А не упоминается. Например, если переменными программы являются х, у и г, то присваивание (х,у):={Г(х\д(х.2)) переменную г не модифицирует. Тождественное присваивание (которое не модифицирует никакую переменную программы) обозначается через хШр. Будем писать "С ?" вместо "С-».у/с1/Л Аналогично вместо "1гие-+А" будем писать просто А. Графическое представление оказывается не всегда удобным. Часто бывает предпочтительнее задавать граф списком упорядоченных троек следующего вида: (начальная вершина, дуга, конечная вершина). Такая тройка сопоставляется каждой дуге данного графа. В случае блок-схем вершины являются метками, а дуги - инструкциями. Точнее, органиграмма представляется списком ее переходов. Переход, сопоставленный инструкции (С, А), обозначается так: (/, С-> А, /'), где /-метка начала дуги, соответствующей данной инструкции, а /'-метка конца этой дуги. Множество меток некоторого процесса Р обозначается через ЬР, а множество его переходов-через ТгР. Условие выхода из некоторого элемента /, принадлежащего множеству ЬР, является дизъюнкцией ои1(1) условий переходов, исходящих из вершины, помеченной символом /. (Это условие тождественно ложно, если вершина / не является началом ни одного из переходов.) Теперь дадим набросок операционной семантики для того типа программ, который мы только что определили. Эта семантика обеспечит нам ссылки для представления программ с помощью временной логики. Пусть имеется некоторая система с памятью X, содер- жащая процессы Рх, ..., Рп. Состоянием памяти называют любую тотальную1) функцию а на области X, сопоставляющую каждой переменной некоторое значение подходящего типа. Множество состояний памяти обозначается через X. Состояние управляющего устройства является элементом То есть всюду определенную.- Прим. перев.
4.4. Приложения временной логики 281 декартова произведения Г = ЬР х ... х ЬРп. Чтобы избежать всяческой двусмысленности, будем предполагать, что множества ЬР. попарно не пересекаются. Состояние системы, или, проще, состояние является парой 5 = (Ь, а), где Ь - состояние управляющего устройства и а-состояние памяти. Состояние 5 = ((/х ,...,/„), а) называется терминальным, если дизъюнкция ом/(/,)((!) оказывается ложной для всех *. Переход Т= (/, С-> А, Г) из произвольного процесса Р1 определяет некоторое преобразование состояния данной программы. Это преобразование характеризуется некоторой (частичной) функцией, обозначаемой также через Т, действующей из множества Гх! в него же. Пусть 5 = (Ь, а) и / = (1/, т)-два состояния системы. Равенство I = Т(у) выполняется при соблюдении следующих трех условий. • Сомножители произведений Ь и I/ попарно тождественны, за исключением /-го сомножителя (здесь /- некоторое целое число, заключенное между 1 и п). На 1-м месте в Ь стоит символ /, а в Ь'- символ /'. • Состояние памяти а удовлетворяет условию С. • Состояние памяти т совпадает с А (а); именно состояние памяти определяется равенством А(а)(х^ = ^(<у), где ^^(о) означает терм *., вычисленный при значениях переменных программ, задаваемых состоянием а. Например, для присваивания А: (х, у):={[(х), д(х, г)) имеем А (а) (л:) = / (а (л:)), А (а) (у) = д (а (л:), а (г)) и Л(а)(г) = а(г). Реакцией системы называется последовательность состояний (у0, $!, 82, ...). Состояние 50 = ((/?, ..., /?), а0) является начальным, состоянием данной реакции. Все /? суть метки начальных состояний процессов Р(. Кроме того, если существует Хк+1, то существует и такой переход Т, что хк + 1 = = Т(зк). Реакция может быть конечной или бесконечной, но последнее состояние конечной реакции должно быть терминальным. В связи с тем что последовательности ситуаций рассматриваемые в линейной временной логике, являются бесконечными, целесообразно конечную реакцию сделать бесконечной, повторяя, например, бесконечное число раз ее последнее состояние. 36-4465
282 4. Временная логика 4.4.4. Пример: алгоритм Петерсона Проблема взаимного исключения часто встречается при работе с параллельными системами. Предположим, что несколько процессов должны иметь доступ (перемежающимся образом) к одному-единственному ресурсу (например, к печатающему устройству). В любом случае этот доступ осуществляется при взаимном исключении: в каждой момент времени только один из процессов может пользоваться данным ресурсом. Алгоритм Петерсона позволяет получить простое решение проблемы взаимного исключения в частном случае для двух процессов, сообщающихся через разделение переменных [189]. Здесь мы не интересуемся тем, что происходит внутри процессов, а изучаем только механизм взаимодействия, гарантирующий взаимное исключение. Этот механизм использует три разделенные переменные. Две из них являются булевскими переменными тРи тО,. Третья представляет собой двоичную переменную Юиг, которая может принимать лишь значения /> и #- Для начала приведем текст этого алгоритма в обычных обозначениях. Р: 6: \уЫ1е 1гие йо \уЫ1е 1гие йо Ъе§1п Ъе§1п некритический участок; некритический участок; тР:=И; /«б:=И; Юиг: = а\ Юиг: = р; а\уаЦ-1 т б V Юиг = р йо а\уак~1 т Р V Юиг = # ёо хШр; хШр; критический участок; критический участок; тР:=Л /«б:=Л епй епй Этот алгоритм симметричен: переход от Р к () и обратно осуществляется взаимной перестановкой переменных тР и ш@> а также значений р и #. Суть этого алгоритма чрезвычайно проста. Рассмотрим, например, процесс Р. В начальный момент времени он осуществляется без привлечения разделенного ресурса. При этом говорят, что процесс
4.4. Приложения временной логики 283 ку V—/(-цпф V 1оиг = р)?х Процесс Р 1оиг := д 1оиг := р (-1 Р V ^оиг = д)? Процесс <? Рис. 4.19. Формальная модель. находится на некритическом участке. Если же упомянутый ресурс становится необходимым, то выполняется протокол входа. Сначала переменная т Р принимает значение И, что указывает на необходимость осуществления доступа к ресурсу. Затем переменная Юиг принимает значение а\ процесс 6 получает право на использование ресурса. Наконец, доступ откладывется до того момента, когда значение переменной 36*
284 4. Временная логика шб станет равно Л (т.е. процесс 6 не требует доступа к ресурсу) или когда значение переменной гот станет равно р (т. е. переменная гот показывает, какой из процессов имеет приоритет в случае столкновения их интересов). В этот момент процесс Р вступает на свой критический участок и может использовать ресурс. После чего осуществляется протокол выхода и рассматриваемый процесс возвращается на некритический участок. Формальное описание алгоритма Петерсона приведено на рис. 4.19. В начальный момент времени процессы находятся в начале некритического участка (т. е. в вершинах р0 и #0 соответственно), значения переменных тРътО, равны Л, а переменная гот получает значение р или #. Замечание. Поскольку присутствуют булевские переменные программы, то в программе могут появляться логические связки. Но это затруднений не вызывает, ибо они имеют такую же семантику, как и в логике. 4.4.5 Временндя теория программы Для того чтобы выразить и доказать во временной логике свойства некоторой параллельной программы, придется перенестись в некоторую временную теорию первого порядка, связанную с данной программой. Сигнатура рассматриваемой теории должна будет содержать глобальные и локальные объекты. В качестве глобальных объектов будут выступать функциональные и предикатные константы, связанные с типами переменных программы. Будут также иметься в некотором, априори неограниченном, количестве логические (глобальные) переменные. Локальные объекты служат для описания состояний изучаемой системы. Для каждой контрольной точки / процессов системы мы введем локальное высказывание "агГ\ которое окажется истинным во всех состояниях той системы, состояние управляющего устройства которой содержит точку /. Для каждого перехода Т будет введено локальное высказывание "Ыехг (ТУ9; оно истинно в некотором состоянии 5 из некоторой реакции, если очередное состояние является Т-последователем состояния 5. Если Р- некоторый процесс,
4.4. Приложения временной логики 285 то "]Уех/ (Р)" определяется как дизъюнкция высказываний вида "Иех! (Т)", соответствующих переходам Тиз Р. Следовательно, высказывание "Ыех{ (Р)" является истинным в некотором состоянии, если какой-то переход из процесса Р приводит к очередному состоянию. Наконец, каждой переменной программы х сопоставляется локальная (логическая) константа с тем же самым именем л:. Ее значением в данном состоянии будет значение переменной программы в этом состоянии. Следовательно, в нашем контексте можно смешать понятия переменной программы и локальной константы 1}. После описания сигнатуры нашей теории нужно указать тот набор аксиом, который позволит доказать соответствующие свойства рассматриваемой системы. Аксиомы эти разнотипные. Одни из них являются аксиомами временного исчисления предикатов (§ 4.3.4), ограниченными тем языком, который мы рассматриваем. Другие задают характеризации предикатных и функциональных констант данного языка. Например, если некоторые локальные переменные принадлежат типу целых, то данный язык содержит арифметическую символику (скажем, бинарную предикатную константу «<» и бинарную функциональную константу «4-»), и поэтому в систему будут включены аксиомы арифметики. Обычно удобнее предположить, что все истинные утверждения арифметики являются аксиомами данной теории 2). Отметим, что эти аксиомы представляют собой формулы классической логики. Третье семейство аксиом имеет отношение к локальным объектам языка. Эти аксиомы задают в сущности исчерпывающее описание изучаемой программы. Каждому переходу 1} Смешение понятий переменной программы и локальной константы может показаться отчасти неприличным. Но на это пришлось пойти из-за того, что у нас было намерение одновременно учесть нужды логики и нужды информатики, а эти нужды не совпадают. 2) Тогда аксиомы образуют нерекурсивное множество, что, вообще говоря, нежелательно. Впрочем, этот способ действий является всего лишь концептуальным и сводится к изучению проблем доказательства программ при абстрагировании от тех трудностей, которые связаны с аксиоматизацией области данных, обрабатываемых программой.
286 4. Временная логика сопоставляется некоторая схема аксиомы; имеются, кроме того, дополнительные аксиомы, характеризующие семантику предикатов, связанных с процессами и контрольными точ« ками. Наконец, специальная аксиома описывает механизм осуществления реакции. Для каждого процесса Р и каждого перехода Г:(/, С->(*!, ...,хк):=«19 •••> к\П принадлежащего множеству ТгР, вводится схема аксиомы Вт: □([ЛГел:/ (Т)А2(х1/{1, ..., хк/1к, аг Г <- И)] => [Ш1А С Л 0(аИ Л 2)]). Конкретизация этой схемы получается путем замены формулы 7, на какую угодно формулу, не содержащую временных связок. Запись 2(х1/{1, ...9хк1гк9аИ'+-1Х) обозначает выражение, получаемое из формулы 2, путем замены переменных программы х1, ..., хк термами гх, ..., 1к соответственно и замены локального высказывания "шГ" на И. При этом остальные локальные высказывания "ш1", относящиеся к тому же самому процессу Р, заменены на Л. Очевидно, что схема Вт указывает условия, когда переход Т является выполнимым. Она же выражает эффект его выполнения. В качестве примера рассмотрим переход Г: (Л,/>: = />+!, Л)) в программе «Производитель-Потребитель». Конкретиза-* ция схемы Вт, для которой 2Г является формулой /, введенной в § 4.4.2, совпадает с аксиомой П(№ех1(Т)АЦр/р+ 1, а1Р0<г-Щ\^[а1Р1АУ1А Л О И Л) Л/)]). Эта аксиома преобразуется в формулу П{Нех1 (Т)Ар -с<ЫА (шС0^р + 1 > с)Л Л (ШС1 =>/? ^ с)^>1шР1 АО(а1Р0 Ар - с < ЛГЛ Л \_а1 С0 =>/? ^ с] А \а% Су =>/? > с])]).
4.4. Приложения временной логики 287 Чтобы записать аксиомы, касающиеся локальных высказываний, связанных с контрольными точками, мы будем использовать одно необщепринятое, но очень удобное обозначение. Если а, Ъ и с-высказывания, то формула а 4- Ъ 4- + с = 1 выражает тот факт, что одно, и только одно, из этих трех высказываний истинно. Более общо: если Ь-конечное множество и для всех геЬ заданы высказывания а(, то формула 1*1 = *' истинна только тогда, когда в множестве {а,:/еЬ} ровно к истинных высказываний. (Это обозначение выглядит вполне естественно, если значения истинности И и Л записывать в виде чисел 1 и 0 соответственно.) Теперь выпишем аксиомы, касающиеся контрольных точек и глобального механизма реакции. Для каждого процесса Р берется аксиома □ [ I «'/>=!], реЬР выражающая тот факт, что в любой момент времени процесс «находится» в одной, и только одной, контрольной точке. Точно так же для каждого процесса Р берем аксиому □ [ЛГ«с*(Р)= X ЛГ«с*(Т)], ГеТгР отражающую то обстоятельство, что в любой момент времени истинно не более чем одно высказывание среди тех, которые связаны с одним из переходов процесса Р. Если Р1 и /^-различные процессы, то аксиома □ -|[№?х* (Р()АМех{ (Р,)] выражает тот факт, что в любой момент времени только один из процессов может совершить некоторое действие. Осталось более точно смоделировать механизм реакции. Чтобы это сделать, сопоставим каждому состоянию управляющего устройства (/х, ..., /„) следующую аксиому: П{И/1Л...Лл//в)=>[(У?=1АГб^ (Л)Л Лои1(/|))У(ЛГ.1-|ои/(/|))]}.
288 4. Временная логика Она отражает то обстоятельство, что очередной шаг реакции формируется каким-то одним процессом, исключая тот случай, когда все процессы блокированы; тогда реакция заканчивается. Корректное функционирование некоторых программ требует правильного поведения со стороны упорядочивателя (§ 4.4.2). Понятие правильности имеет в таком контексте несколько смыслов; самый расхожий из них состоит в следующем: упорядочиватель является правильным, если все процессы, выполнение которых может прогрессировать бесконечно, часто и действительно прогрессируют. Свойство правильности формализуется путем сопоставления каждому процессу Р данной программы следующей аксиомы: П[0Яех1(Р)Л V (я*/Л-нПО ои*(/))]. 1еЬР 4.4.6. Свойства программы Во временном языке, связанном с некоторой программой, оказывается возможным специфицировать многочисленные свойства этой программы. Начальные условия будут зада* ваться формулой, обозначенной 1пИ и не содержащей временных операторов. Например, в алгоритме Петерсона формула 1пН будет выглядеть так: а1р0 Аа1д0 А-]тРА-]т()А (Юиг — р\1 Юиг — а). Свойство инвариантности является свойством, которое под* тверждается всеми состояниями данного исполнения. Оно моделируется формулой вида где 2 не содержит временных операторов. Чтобы установить свойство такого вида, будем искать! некоторый инвариант, т. е. некую формулу / без временных) операторов, для которой общезначимы три следующие фор-) мулы: /ш/=>/, П[/=>0/], /=>2. | Формулы / и (7ш7=>П7), введенные в § 4.4.2 в связи с проН
4.4. Приложения временной логики 289 граммой «Производитель-Потребитель», являются соответственно примером инварианта и примером моделирования свойства инвариантности. Взаимное исключение, затронутое нами при рассмотрении алгоритма Петерсона, является свойством инвариантности. Оно будет формализовано и доказано в следующем параграфе. Кроме свойств инвариантности в спецификациях параллельных программ часто появляется другой вид свойств. Это так называемые свойства живучести. Такое свойство указывает, что некоторое условие в конце концов становится истинным, и переводится формулой следующего вида: /«//=> П[У=> 0^], где подформулы У и 7, не содержат временных операторов. Обычно формулы, отражающие свойства живучести, доказываются с помощью двух таких схем аксиом: (Л=>ОЛ)=>(Л=>0Л) ((Л=>0Д)Л(Л=>0Р)=>(Л=>0О. *■ Понятия свойств инвариантности и живучести могут обобщаться таким образом, что любое свойство, выразимое во временной логике, было бы конъюнкцией некоторого свойства инвариантности и некоего свойства живучести [5], [6]. Впрочем, существует определенная двойственность между этими двумя видами свойств. Интуитивно свойство инвариантности является отражением того факта, что нежелательное условие никогда не осуществляется, а свойство живучести выражает тот факт, что ожидаемое условие в конце концов осуществляется. Временная логика позволяет специфицировать и доказать эти два вида свойств, но применимые методы доказательства существенно различны в этих двух случаях. 4.4.7. Свойства инвариантности алгоритма Петерсона Взаимное исключение, затронутое в § 4.4.4, задается формулой 37-4465
290 4. Временная логика и, значит, действительно является свойством инвариантности. Другим свойством инвариантности оказывается отсутствие взаимной блокировки, т. е. тот факт, что все реакции являются бесконечными. Условия выхода из вершин тождественно истинны, кроме случаев, когда рассматриваются вершины ръ и #3- Однако дизъюнкция [рш(ръ) Уош(д3)] тождественно истинна, т.е. справедливо правило: терминальное состояние не существует. Взаимное исключение доказывается с помощью инварианта /, определяемого формулой /: ((а1р0Уа1ру) = -1тР)/\((Шд0Уа1д1) = -|ш())Л Л (Юиг = р V Юиг = а) Л ((а1 #3 V а/ #4 V а1д5)=> (Юиг = = р V а1ръ)) Л ((а1ръ V сйр^ V а1р5) => (Юиг = = <7Уа/<73))- Легко показать, что / действительно является инвариантом. Прежде всего формула [//и7з/] оказывается общезначимой. В самом деле, когда 1пИ истинно, то / сводится к формуле ((ИУЛ) = И)Л((ИУЛ) = И)ЛИЛ (Л\'ЛЧЛ)Ъ(Юиг = р\1'Л) Л (Л УЛ V Л)Ъ(Н>иг = ?УЛ), которая, в свою очередь, преобразуется в И. Осталось доказать общезначимость формулы П[/=Ю/]. При заданных аксиомах, касающихся управления программой, это сводится к доказательству того, что для всех переходов Т: (/, С-+А, /') каждого процесса выполняется импликация [7ЛДОех*(Т):эО/]. Рассмотрим в качестве примера следующий переход: Г$: (р2, Юиг:=д, р3). Используем схему аксиомы, связанную с тгим переходом. Заменив формулу 2 на /, получаем □ { Ц1ех1 (ТР2)М(Юиг/?, а1ръ <- И)] => [а1р2/\0(а1ръМ)~]}.
4.4. Приложения временной логики 291 Для доказательства желаемого свойства достаточно установить общезначимость формулы А: [/ЛЛГех/ (Г$)]=>[ЛГех/ (Т^АЦЮиг/д, Шр3 «- И)]. Если принять во внимание общезначимую импликацию {N6x1 (Т2)=>я//?2), антецедент формулы А преобразуется в формулу Ыех1 {Тр2) Л тРА((ш?0\/ аг^ = -|ш())Л А {гот = р V /омг = ^) Л Л (а/^ъ Vа/ #4 Vя* <75) =>/омг = /7, тогда как консеквент формулы А преобразуется в формулу N6X1 (Тр2) Л ш Р Л ((а/ #0 V а* 44) = -| ш б). Это позволяет нам сделать заключение об общезначимости формулы А. Остальные переходы обрабатываются аналогичным образом. Покажем, что инвариантность формулы / влечет взаимное исключение. Для этого достаточно доказать формулу [_1^-\{{а1р/,Уа1р5)А{а1яАУа1д5)У\. Ее отрицание имеет вид [1А(а1рАг Ушр5) Л {а^^^ Уа*#5)]- Проводя несложные преобразования, получаем (сйрь У а1р5) Л(а/<?4\/а/<75)Л А тРАт б Л (юш* = рМ Юиг = #) Л Л(Иэ(^мг=рУЛ))Л Л(И:э(ЛИ1г = дУЛ)). Эта формула влечет противоречие \гоиг — р А юиг = #] и, следовательно, является тождественно ложной. Тем самым общезначимость исходной формулы доказана. 4.4.8. Правильность алгоритма Петерсона Итак, мы показали, что алгоритм Петерсона гарантирует взаимное исключение. Далее, так как все реакции этого алгоритма бесконечны, то взаимная блокировка отсутствует. Докажем теперь, что отсрочка при ожидании доступа к кри- 37*
292 4. Временная логика тическому участку всегда оказывается конечной. Для процесса Р все вышесказанное можно записать в виде формулы П[а//?з=><>а//?4] или, поскольку формула / является инвариантом данной программы, с помощью утверждения П[(а1р3А1)=>0а1рЛ. Для доказательства этого утверждения сперва выпишем несколько теорем, справедливость которых очевидна: 1. П[(а1р3 Ла^з А1 Ают = р)=>Оа1рА~], 2. □ [_(а1р3 Л а/ <?3 Л / А гот = <?) => <Э(сИр3 А а/ <?4 Л /)], 3. □ [(Шр3 Л а/ ?4 Л /) :э 0{а1р3 Л а/ ?5 Л/)], 4. П \_{а1р3 А Шд5 АI) => ОИ/>3 Л а/ #о л /)], 5. П [(а//>3 Л а/?0 Л /) => ОИ/>4 V (а//>3 Л а/^ Л/))], 6. П[(а//>3 Ла1ду АI) =>ОИ/>4 VИ/>з Л а/ ?2 Л/))], 7. □ [(я//?3 Л а/ #2 Л /) :э0(а1рАг V(а//?3 Л а/ #3 Л / ЛЮт = = />))]• Обоснование приведенного утверждения теперь осуществляется так: 8. □ 1(Шр3 АШд3А1А Ют = = />)=> 0я'/>4] (1) 9. □ [(я//?3 Л а1д2 АI) => Оя'/ч] (7, 8) 10. □[(я//>3 Л а/44 Л/)=><>а//?4] (6, 9) 11. П[(а//>3Ла/?0Л/):э<>а//>4] (5, 10) 12. П[(а//>3Ла/?5Л/):э<>а//?4] (4, 11) 13. П[(^/73Ла^4Л/)=)С>^/74] (3, 12) 14. П[(а1р3Аа1д3А1)=><>а1р4\ (8, 2, 13) 15. П[(сир3 А1)^Оа1РА] (9, 10, 11,12,13,14) Свойство правильности алгоритма Петерсона было доказано без обращения к гипотезе о правильности упорядо- чивателя. Следует, однако, отметить, что эта гипотеза становится необходимой для доказательства более сильного свойства, моделируемого формулой П1а1р0^<)а1рА].
4.4. Приложения временной логики 293 Принимая во внимание установленный сейчас результат, заключаем, что можно ограничиться доказательством формулы П[а*/\)=>Оя'/>з] и™ тРех следующих формул: П[я'/>о=>Оя'/>1], П[я*/>1=><>а*/>2], П[а1р2=><)а1ръ]. Это легко сделать, предполагая правильность упорядочи- вателя. Аксиома правильности, отвечающая процессу Р, такова: □ [<>Яех1{Р) V (шр3 А -I □ 0(1 т б V Юиг = />))]. Для первой из доказываемых формул имеем 1. П[а1р0=>С>Мех{(Р)'] (правильность) 2. □ [а1р0 Л N6X1 (Р)) => Оа1рг ] (семантическая аксиома) 3. □|>*А>=><>в'/>1] (1, 2) Две другие формулы доказываются аналогично. Формальное доказательство алгоритма Петерсона (вне рамок временной логики) имеется в [52] (оригинальная статья [189] содержит неформальное доказательство). При верификации программ основная трудность состоит в поиске подходящего инварианта. Для успеха дела разработчик программы должен одновременно строить программу и ее инвариант. Для алгоритма Петерсона такое построение осуществлено в [93]. Более полные изложения линейной временной логики и ее приложений к верификации параллельных программ имеются в [155] и [132]. 4.4.9. Верификация во временндй логике высказываний Доказательство свойств программ во временной логике предикатов представляет собой довольно общий и широко применимый метод. Однако он неудобен тем, что требует изобретательности (например, при поиске подходящего инварианта) и приводит к таким доказательствам, которые могут оказаться нудными. Существует альтернативный метод, приложимый к таким системам с процессами, в которых число различных воз-
294 4. Временная логика можных состояний конечно. Такая система называется конечной по числу состояний. Это условие выполняется, если все переменные, используемые процессами, могут принимать только конечное число значений. Действительно, состояние системы характеризуется, с одной стороны, состоянием управляющего устройства, а с другой стороны, значениями переменных. Однако для управляющего устройства всегда имеется лишь конечное число различных возможных значений. Отметим, что алгоритм Петерсона конечен по числу состояний, потому что переменные т Ри /л @ могут принимать лишь значения И и Л, а переменная Юиг- только значения р и ^. Покажем, что любая конечная по числу состояний программа может быть представлена автоматом Бюхи, воспринимающим те и только те слова, которые отвечают реакциям программы. При этом существует очень простой метод для проверки выполнимости на данной программе некоторой формулы временной логики высказываний. Все сводится к проверке того, что все реакции данной программы (т.е. все слова, воспринимаемые автоматом, описывающим эту программу) удовлетворяют рассматриваемой временной формуле. Теорема 4.6 позволяет, исходя из формулы временной логики, построить автомат, который воспринимает последовательности, удовлетворяющие этой формуле. Итак, можно действовать следующим образом: 1. Построить автомат, реализующий отрицания данной формулы. (Причина, по которой рассматривают отрицание формулы вместо самой формулы, будет указана ниже.) 2. Построить автомат, который является пересечением автомата, описывающего данную программу, и автомата, построенного для отрицания данной формулы (теорема 4.4). 3. Проверить, что построенный описанным образом автомат является пустым (теорема 4.5). Если полученный в конце этих манипуляций автомат окажется в самом деле пустым, то можно заключить, что не существует такого выполнения программы, которое превращает отрицание данной формулы в истину. Значит, все выполнения рассматриваемой программы удовлетворяют этой формуле. Отметим, что если бы мы построили автомат,
4.4. Приложения временной логики 295 соответствующий той формуле, которую нужно удовлетворить, а не ее отрицание, то нам, чтобы осуществлять верификацию, понадобилось бы надлежащее дополнение этого автомата. Однако процедура дополнения автомата Бюхи чрезвычайно трудоемка, и поэтому мы хотели избежать ее. Рассмотрим теперь подробнее, как с помощью автомата Бюхи можно моделировать систему процессов и как применять тот метод, который только что был описан. 4.4.10. Моделирование программ с помощью конечных автоматов Вместо изложения в общем виде тех принципов, которые позволяют представить программу с помощью конечного автомата, покажем, каким образом можно получить автоматное представление алгоритма Петерсона. Наша задача оказывается сравнительно несложной, ибо описание алгоритма Петерсона, приведенное на рис. 4.19, уже почти что представлено в форме конечного автомата. В самом деле, в описании каждого процесса легко усматривается автоматная структура: вершины соответствуют состояниям автомата, а дуги, помеченные инструкциями,- переходам. Алфавит таких автоматов является множеством инструкций данной программы. Впрочем, здесь недостает двух элементов, необходимых для корректного моделирования алгоритма Петерсона автоматом Бюхи: • Надлежит представить переменные и их значения. • Нужно скомбинировать два процесса в едином автомате. Будем решать эти две проблемы одновременно. Для этого определим операцию над конечными по числу состояний процессами, моделирующую их параллельное выполнение, и переменные представим с помощью различных процессов. Тогда автомат, соответствующий алгоритму Петерсона, будет результатом параллельного выполнения автоматов,
296 4. Временная логика представляющих процессы Р и 6, а также автоматов, представляющих переменные тР, 1п(^ и Юиг. Когда два процесса выполняются параллельно, каждое состояние такого выполнения является комбинацией состояний двух процессов. Переход от одного состояния к другому осуществляется посредством некоторого действия (выполнения инструкции) того или иного из процессов. Определим операцию над автоматами, соответствующую описанной ситуации (впрочем, будет представлена дополнительная возможность: можно потребовать, чтобы некоторые из действий процессов были идентичны и, следовательно, выполнялись всегда одновременно). В частности, эта возможность окажется полезной при моделировании взаимодействия между некоторым процессом и автоматом, представляющим некую переменную, используемую этим процессом. Пусть заданы два автомата Бюхи Ах =(21? 5Х, рх, 50ь Рх) и А2 = (И2, 82, р2, $02, Рг)- Частично синхронизированным произведением автоматов Ах и А2 называется обобщенный автомат Бюхи А = (Е, 5, р, 50, Р), определяемый следующими соотношениями: • Е = 2! II Е2, • О = О! X 52, 5>0 = О01 X О02» • Р = {*\ х52, Р2 х5х}, • (и, V)ер ((я, /), а) в каждом из трех нижеперечисленных случаев: -аеЪ1 ПХ2, иер1(5, а) и Vер2(^, а), -ае21\22, иер^я, а) и V — /, -аеИ2\Е1, и = 5 и гер2(/, а). Результат частично синхронизированного произведения можно неформально описать следующим образом. • Если 2Х = 22, то частично синхронизированное произведение автоматов Ах и А2 идентично автомату, построенному (теорема 4.4) для пересечения языков, воспринимаемых автоматами Ах и А2. • Если 2^ п Х2 = 0, то частично синхронизированное произведение автоматов А1 и А2 воспринимает бесконечные слова, получаемые сплетением слов, воспри-
4.4. Приложения временной логики 297 нимаемых автоматом А19 и слов, воспринимаемых автоматом А2. Отметим, что сплетение слов строится из слова, воспринимаемого каким-то одним из автоматов, и конечного префикса слова, воспринимаемого другим автоматом. • Если И1 Л Х2 ф 0 и 2^ ф Е2, то частично синхронизированное произведение автоматов А1 и А2 воспринимает бесконечные слова, получаемые сплетением слов, воспринимаемых автоматом А г, и слова, воспринимаемого автоматом А2, но здесь должна быть ко- инцидентность элементов из 1,1 П22. Отметим, что частично синхронизированное произведение автоматов Бюхи является ассоциативной и коммутативной операцией. Следовательно, можно недвусмысленно говорить о частично синхронизированном произведении нескольких автоматов. Заметим также, что частично синхронизированное произведение, в том числе, как оно было здесь определено, является обобщенным автоматом Бюхи. Однако лемма 4.3 позволяет легко преобразовать этот обобщенный автомат в автомат Бюхи. Укажем еще, как можно смоделировать алгоритм Петер- сона. Надо подходящим образом перемножить следующие пять автоматов: • по одному автомату для каждого из процессов Р ъ (±\ • по одному автомату для каждой из переменных тР, 1п0, и Ют. 4.4.11. Автоматы для процессов Автоматы, соответствующие процессам Р ъ 0,, почти идентичны блок-схемам на рис. 4.19. Эти автоматы изображены на рис. 4.20. Рассмотрим автомат, соответствующий процессу Р. Множество его состояний таково: {р0, рх, р2, р3, р*, р5}. Его алфавитом является множество {/>:НКУ, Р:тР:= И, 38-4465
4. Временная логика Р:1оиг: = #, Р:(тй/\и>иг = ?)?, Р.-лтф, РЛоиг =/7?, Р:КУ, Р:тР:=Л). Р:НКУ /^Ч Р:*лР:=И РО )) Й( Р1 )) Ц( Р2 Р:глР:=Л Р : -./лд? р : КУ ^^*<^Р : 1оиг = р?^ Процесс Р Р :1оиг := ? Р: {т<2Моиг = д)'! д:нку /^\ д:шд:=и 9о )) К 91 » 4 Яг д : тд :=Л д : -ч/лР? д :*оиг:=р Процесс д Рис. 4.20. Автоматы для Р и б.
4.4. Приложения временной логики 299 Оно составлено из таких инструкций (присваиваний и проверок), которые может выполнять процесс Р. Чтобы отличить эти инструкции от инструкций процесса @, мы используем префикс "Р:". Начальным состоянием автомата, представляющего процесс Р, является состояние р0. Переходы хорошо видны на рис. 4.20. Множеством воспринимающих состояний является множество всех состояний. Это означает, что любое бесконечное исполнение допустимо. Единственное различие между переходами автомата на рис. 4.20 и переходами органиграммы на рис. 4.19 касается переходов, исходящих из состояния р3. Переход между состояниями р3 и /74 мы с самого начала разложили на два перехода. Это облегчит нам задачу моделирования взаимодействия между процессом и переменными, не внося никаких изменений в возможные реакции самого процесса. Мы еще добавили переход из состояния р3 в него же, приписав этому переходу в качестве метки отрицание условия выхода из состояния р3. Благодаря такому добавлению исключается возможность блокировки в состоянии р3, что позволяет при верификации алгоритма Петерсона считать все его реакции бесконечными. Эта гипотеза неявно присутствует в моделировании с помощью автомата Бюхи. Блокировка в состоянии р3 при некоторой реакции осуществится в том случае, если спустя какое-то время действие Р: (ш 6 Л Юиг = #)? будет единственным действием, выполняемым процессом Р. 4.4.12. Автоматы для переменных Автомат, описывающий переменную, строится следующим образом. Число состояний этого автомата равно числу возможных значений данной переменной. Переходы соответствуют действиям процессов, касающимся данной переменной. Действие, представляющее проверку, возможно только в тех состояниях, для которых данная проверка приводит к успешному исходу и не меняет состояния переменной. Действие, представляющее присваивание, возможно во всех состояниях и имеет своим назначением состояние, дающее значение данной переменной после присваивания. Начальным является состояние, соответствующее начальному значению переменной. Множеством воспринимающих состоя- 38*
4.4. Приложения временной логики 301 <? : Хоиг := р Р : 1оиг = р? Р:*оцг := д Р :1оиг := д <? : 1оиг = д? Р:(ш<?л&оиг = д)? Я :1о\1Г :=р Рис. 4.23. Автомат для 1оиг. 4.4.13. Моделирование гипотезы правильности Во всех автоматах, которые мы только что рассматривали, множеством воспринимающих состояний является множество всех состояний. Следовательно, все бесконечные реакции этих автоматов допустимы. Поэтому естественно спросить, какой интерес представляет использование автоматов Бюхи для моделирования параллельных программ. В этом параграфе будет показано, что моделирование параллельных программ автоматами Бюхи позволяет сформулировать гипотезу правильности, необходимую для проверки некоторых свойств живучести. Гипотеза правильности, которую мы здесь представляем, выражает то обстоятельство, что всякий неб локированный процесс закончится выполнением некоторого действия. При моделировании процессов Р и @ мы, чтобы избежать блокировок, добавляли новые переходы. Это позволяет использовать более простую гипотезу правильности: всякий процесс завершается выполнением некоторого действия. Другая формулировка этой гипотезы отражает тот факт, что из совокупности бесконечных реакций данной системы процессов нужно исключить те, которые не содержат бесконечно часто действия каждого процесса. В случае алгоритма Петер- сона это означает, что разрешены только те бесконечные
302 4. Временная логика реакции, в которых бесконечно часто появляются действия процесса Р и действия процесса (X Такое ограничение удобнее всего реализовать, присоединяя обобщенный автомат Бюхи, изображенный на рис. 4.24, с & — {{хР} {зо.}} к частично синхронизированному произведению тех автоматов, которые представляют алгоритм Петерсона. Можно считать, что указанный автомат является супервизором (упорядочивателем)-он управляет параллельным выполнением двух процессов: Р и (). В рассматриваемом автомате переход с меткой {действие процесса Р} (соответственно с меткой {действие процесса О}) представляет множество переходов, ассоциируемых с элементами алфавита автомата для процесса Р (соответственно для процесса 0. Переходы, снабженные метками {выбора процесса Р} и {выбор процесса (?}, соответствуют внутренним действиям в супервизоре. Они используются для корректного отражения того обстоятельства, что выбор процесса, который может выполнить некоторое действие, осуществляется супервизором независимо от процессов Р и О. выбор процесса Я выбор процесса Р [действие процесса <?} [действие процесса Р} Рис. 4.24. Автомат для гипотезы правильности. 4.4.14. Спецификация и верификация Для завершения верификации алгоритма Петерсона остается выразить желаемые свойства с помощью формул временной логики высказываний, затем построить автомат Бюхи, соответствующий отрицаниям этих формул, и наконец, удостовериться, что пересечение каждого из этих автоматов с автоматом, представляющим алгоритм Петерсона, пусто.
4.4. Приложения временной логики 303 При вышеописанном моделировании алгоритма Петер- сона реакция этого алгоритма является бесконечным словом над алфавитом, содержащим действия процесса 6, процесса Р и супервизора. Следовательно, нужно будет выразить свойства, которые подлежат проверке, в терминах элементов этого алфавита. Чтобы сделать это, будем использовать элементы алфавита как атомарные высказывания (в формулах, которые еще предстоит написать). Однако автомат, построенный на основе формулы такого типа, будет иметь в качестве алфавита множество подмножеств действий процессов. Проблему рассогласованности между алфавитами можно решить двумя способами. Первый состоит в применении тривиального преобразования к автомату, представляющему программу, чтобы его алфавит был идентичен алфавиту автомата, построенного на основе рассматриваемой формулы. Второй способ-модифицировать конструкцию автомата, соответствующего формуле, так, чтобы только одно высказывание было истинно в каждый момент времени. Преимущество первого способа состоит в его элементарности, преимущество второго способа-в упрощении автомата, сгенерированного на основе рассматриваемой формулы. Имеются два свойства, которые хотелось бы проверить для алгоритма Петерсона. Первое из них соответствует взаимному исключению и в рассматриваемом здесь контексте может выражаться в том, что действие "Р: КУ" не будет сопровождаться действием "(?: КУ", хотя процесс Р не покинет своего критического участка, выполнив инструкцию "Р:тР:= Л". В виде формулы это записывается так: П1(Р.КУ)=>{-\{<2:КУ)<Ш{Р:тР: = Л))]. Необходимо, конечно, и симметричное условие: П№-КУ)^{-\{Р:КУ)Щ{<2:т(2:= Л))]. Второе интересующее нас свойство-это свойство живучести. Его мы можем выразить следующим образом: если процесс Р обнаружил намерение войти на свой критический участок путем выполнения действия "Р:тР:= И", то он завершится выполнением действия "Р:КУ\ Это условие можно записать в виде формулы
304 4. Временная логика Мы не будем здесь применять алгоритм верификации, так как речь идет о методе, созданном не для «ручного» использования, а для применения с привлечением автоматических средств информатики. Возникает, естественно, вопрос о сложности обсуждаемого метода. Размер частично синхронизированного произведения автоматов может быть равен произведению количеств состояний автоматов сомножителей. Следовательно, если число параллельных процессов увеличивается, то размер частично синхронизированного произведения рискует стать неприемлемым. Это явление хорошо известно и присуще всем методам верификации, основанным на свойстве программ быть конечными по числу состояний. Далее, как было показано, размер автомата, сгенерированного на основе временной формулы, может расти экспоненциально (как функция длины формулы). Это, несомненно, ограничивает возможности применения обсуждаемого метода. Отметим, однако, что формулы спецификации часто бывают довольно короткими и нередко имеют вид конъюнкции, члены*которой можно обработать по отдельности. Обратим внимание и на позитивный штрих: если (обобщенный) автомат Бюхи сгенерирован путем взятия пересечения автомата, представляющего программу, с автоматом, полученным на основе формулы, то алгоритм проверки этого сгенерированного автомата на свойство «быть пустым» весьма эффективен (имеет линейную сложность от размера автомата). Дальнейшие подробности, касающиеся автоматической проверки временных свойств программ, можно найти в [141], [245], [3]. 4.5. Древовидная временная логика высказываний 4.5.7. Введение В линейной временной логике моделью времени является естественно упорядоченное множество целых неотрицательных чисел (разд. 4.1). В частности, для каждого момента
4.5. Древовидная временная логика высказываний 305 времени допускается один и только один последующий момент. В некоторых контекстах предпочтительнее считать, что данный момент времени обладает несколькими последователями. Тогда модель времени представляет собой финитно бесконечное дерево, т. е. дерево, каждая вершина которого имеет конечное ненулевое число последователей. Последовательность соответствует частному случаю, когда это число всегда равно единице. Существует несколько вариантов древовидной временной логики; они изучают финитно бесконечные деревья ситуаций и/или состояний. В линейной временной логике формулы можно интерпретировать не только на последовательностях, но и на модальных структурах, в которых отношение достижимости (доступности) является функциональным (разд. 4.1). Преимущество второго подхода заключается в том, что эти модальные структуры могут быть конечными. В древовидной временной логике наличествуют обе эти возможности. Неформальные рассуждения удобнее бывает проводить в терминах, относящихся к финитно бесконечным деревьям. Для формальных рассуждений, однако, предпочтительнее терминология, индуцированная древовидными временными структурами, т. е. такими модальными структурами (5, К), у которых отношение доступности удовлетворяет условию тотальности, отражающему тот факт, что у любого состояния имеется последователь Щзе8=>Зя'№е8Л(я, 5')еК]). (4.6) Операторы линейной временной логики дают возможность точно указывать те состояния последовательности, на которых рассматриваемые формулы должны оказаться истинными. В древовидной временной логике ситуация аналогична, но несколько сложнее. В самом деле, чтобы локализовать состояние на дереве, нужно определить два элемента: ветвь, или цепь, на дереве и состояние на этой цепи, рассматривая ее как последовательность. Эта ситуация как раз и отражается древовидной временной логикой. В этой логике различают формулы цепи и формулы состояния. Формулы цепи являются в сущности формулами линейной временной логики и, следовательно, интерпретируются на цепях дерева. Что касается формул 39-4465
306 4. Временная логика состояния, то они указывают, на каких цепях дерева должны интерпретироваться формулы цепи, и, кроме того, сами интерпретируются в соответствующем состоянии рассматриваемого дерева. Пусть, например, ^-высказывание, а 5-состояние. Формула ЗП/7 будет истинна в некоторой интерпретации, если для этой интерпретации существует исходящая из 5 цепь, все состояния которой подтверждают р. Более общо, если ср- формула цепи, то Уф и Зф-формулы состояний и при фиксированном состоянии 50 финитно бесконечного дерева они интерпретируются так: (1) формула Уф истинна, если ф истинна для всех цепей, исходящих из 50; (2) формула Зф истинна, если ф истинна хотя бы для одной из этих цепей. 4.5.2. Синтаксис Пусть Р- заданное множество высказываний; синтаксис древовидной временной логики высказываний можно описать следующим образом. • Формулой состояния является: -всякое высказывание реР, -всякое выражение вида ~\Ъ, ЬАс, ЬМ с, Ь=>с или Ь = с, где Ь и с являются формулами состояния, -всякое выражение вида У 6 и ЗЬ, где Ъ есть формула цепи. • Формулой цепи является: -всякая формула состояния; -всякое выражение вида ~\Ь, ЬАс, ЬМ с, Ь=>с или Ь = с, где Ь и с являются формулами цепи, -всякое выражение вида О^, П\Ь, <$Ь или ЬШс, где Ь и с-формулы цепи. Замечание. В контексте древовидной временной логики линейные временные операторы О, □, О и <% часто заменяют на X, О, Р и II соответственно. Эти обозначения навеяны английскими словами "пеХГ, "ОепегаПу", "РиШге" (или "Рогшагё") и "ШШ". Кроме того, здесь используется
4.5. Древовидная временная логика высказываний 307 сильная версия оператора "ШШ" (§ 4.1.3). Заботясь о единообразии, мы будем, однако, применять обозначения и определения, введенные в первой части этой главы. 4.5.3. Семантика Древовидной временной структурой называется пара ЗР = = (5, Я), где 5-непустое множество, конечное или счетно бесконечное, а Я-тотальное отношение на 5. Следовательно, древовидная временная структура является частным случаем модальной структуры (§ 1.2.3), а линейная временная структура (§ 4.1.3) является частным случаем древовидной временной структуры. Пусть Р- множество высказываний. Древовидной временной интерпретацией называется тройка «/ = (5, Я, /), где (5,К)-древовидная временная структура, /-функция из 8 х Р в {И, Л}, называемая функцией интерпретации, Я- отношение доступности. Цепь # есть такая бесконечная последовательность (5Л: ле1Ч), что 50е8 и (зп, зп+1)еЯ для всех п. Через ^{^) обозначается цепь, полученная удалением первых * элементов из #, т.е. я® = (ъ, 5|+1, ...)• Семантические правила позволяют находить значение истинности «/(5, Ь), приписываемое формуле состояния Ь в состоянии 5 при интерпретации «/ = (5, Я, /), а также значение истинности ,/(<7, с), приписываемое формуле цепи с для цепи # = Су0> ^1. • • )• Сначала рассмотрим случай атомарных формул. • Если р - высказывание, то </(з0, Р) — аег^о» Р)- Семантика логических связок такая же, как в исчислении высказываний. Например, если Ь1 и Ь2-формулы состояния, а ^! и с2-формулы цепи, то • *{50, Ь1ЛЬ2) = йс1*(5о. Ь^А^^о, Ь2\ • ./(?, сх Лс2) = йсГ^(д, с1)А^(я, с2). Семантика линейных временных операторов определяется следующим образом. Если с и */-две формулы цепи, то • *(д, Ос) = Ле^(д{1\ с), 39*
308 4. Временная логика • «/(^, Пс) = И тогда и только тогда, когда «/(#(1), с) = И для всех / ^ 0, • ^(д, Ос) — И тогда и только тогда, когда «/(#(,), с) = И для некоторого / ^ 0, • «/ (#, сШД) = И тогда и только тогда, когда -«/(^01, с) = И для всех у ^ 0 или -«/(^(0, </) = И для некоторого г>0и «/((701, с) = И для всех таких У, что 0 ^у ^ *. Для операторов цепи (V и 3) имеем следующие правила. Если Ь является формулой цепи, то • «/(^0, У6) = И тогда и только тогда, когда «/(г, Ь) = И для любой цепи г, исходящей из 50, • «/(^о, 36) = И тогда и только тогда, когда «/(г, Ь) = И для некоторой цепи г, исходящей из 50. Если Ь-формула состояния, то она является также и формулой цепи; имеем • «/(^, Ь) = аег^^о» *)» гДе •У0_начало Цепи <7- Это последнее определение показывает, что описанная здесь семантика для линейных временных операторов обобщает семантику, изложенную в § 4.1.3. Формулы древовидной временной логики являются формулами состояния; в дальнейшем мы их называем просто «формулами». Формулы цепи появляются как дополнительные объекты, введенные для облегчения изложения семантики формул состояния. Формула называется выполнимой, если она истинна хотя бы в одном состоянии какой-либо интерпретации, и называется общезначимой, если она истинна в каждом состоянии любой интерпретации. Формула невыполнима, если она не является выполнимой. Отрицание общезначимой формулы невыполнимо, и наоборот. Пусть Ь и с-две формулы; тогда примерами общезначимых формул будут: -|УО* = 30"|*.
4.5. Древовидная временная логика высказываний 309 У(-нМ№), 3(-|ИГ6), 4.5.4. Логика СТЬ Существует несколько вариантов древовидной временной логики. Вариант, который только что был описан, обозначается аббревиатурой СТЬ* [38]. Он является весьма общим, и это дает ему большую выразительную силу. Однако в нем очень сложна проблема распознавания выполнимости формулы [57], [55]. По этой причине полезно рассмотреть одно естественное ограничение логики СТЬ*, в котором разрешается применять временные операторы только к формулам состояния, но не к произвольным формулам цепи. Опишем теперь этот ограниченный вариант, обозначаемый СТЬ (от английского "Сотри1а1юпа1 Тгее Ьо|рс"), более формально. Синтаксис логики СТЬ задается нижеприведенными правилами, где Р означает фиксированное множество высказываний. Отметим, что единственное различие между этими правилами и правилами логики СТЬ* касается определения формул цепи. • Формулой состояния является: -всякое высказывание реР, -всякое выражение вида ~\Ь, Ы\с, ЬМс, Ь^>с или Ь = с, где Ь и с-формулы состояния, -всякое выражение вида У6 и ЗЬ, где Ъ-формула цепи. • Формулой цепи является всякое выражение вида О^, [ЗЬ, (}Ь или Ъ*Шс, где Ь и с-формулы состояния. Понятия древовидной временной структуры и древовидной временной интерпретации, введенные для СТЬ* в § 4.5.3, переносятся и на СТЬ. То же самое относится и к семантическим правилам, поэтому мы их здесь выписывать не будем.
310 4. Временная логика Как и в логике СТЬ*, формулы в СТЬ являются формулами состояния. Понятие формулы цепи из СТЬ можно исключить, ибо любая правильно построенная формула в СТЬ составлена из невременных формул и составных операторов 3<0, VО, 3<>, VО, ЗП, УП, 3<Ш и т Шесть первых составных операторов унарные, а два последних- бинарные. Записи У(с4М) и сШа1 (а также 3(с<%4) и сЗЩф означают одно и то же. Чтобы лучше прочувствовать разницу между логиками СТЬ* и СТЬ, рассмотрим пример. Формула УП<>/> содержится в СТЬ*, но не принадлежит СТЬ. В самом деле, формула ПО/7 есть подформула цепи в формуле УПО/7 и, следовательно, содержит перекрывающиеся временные операторы. Напротив, УПУО/? является формулой из СТЬ: в ней единственный временной оператор (□), приложенный к формуле состояния (УОр). В состоянии н>0 древовидной временной структуры, изображенной на рис. 4.25, формула ЗПЗО/7 из СТЬ является истинной. Напротив, формула ЗПО/7 из СТЬ* не является истинной в этом состоянии, ибо не существует выходящей из него цепи, на которой р оказывалось бы истинным бесконечно часто. Однако есть цепь (бесконечно много раз проходящая через н>0), которая содержит все вершины и такая, что некоторая ее подцепь включает Рис. 4.25. Модель для ЗЩЗО/?. состояние, где р истинно. В состоянии н>0 древовидной временной интерпретации, изображенной на рис. 4.26, истинными являются формула УПУ<>/? из СТЬ, и формула УПф/> из СТЬ*.
4.5. Древовидная временная логика высказываний 311 Рис. 4.26. Модель для УПОр. 4.5.5. Применение к верификации программ В § 4.4.9 мы видели, как можно использовать линейную временную логику высказываний для верификации программ. Метод базировался на представлении программ конечными автоматами, сопровождаемом проверкой того, подтверждают ли спецификацию (т. е. являются ли моделями этой спецификации) все бесконечные выполнения данной программы. Подобный подход возможен и в случае древовидной временной логики. В данном контексте можно считать (после некоторых незначительных преобразований), что автомат, представляющий программу, является древовидной временной интерпретацией. Проверка того, что все исполнения программы удовлетворяют спецификации ср в линейной временной логике, сводится к проверке того, что древовидная временная структура, представляющая рассматриваемую программу, превращает древовидную формулу Уф в истинную (т. е. является моделью этой формулы). Если мы используем древовидную логику, нет смысла ограничиваться рассмотрением формулы вида Уф: можно проверять, удовлетворяет ли данная программа формуле вида УфЛЗ\|/, т.е. выяснять, все ли выполнения программы удовлетворяют спецификации ф и есть ли хотя бы одно выполнение, удовлетворяющее спецификации \|/. Алгоритм, который позволяет осуществить верификацию такого вида, очевидно, сложнее алгоритма, позволяющего проверять чисто линейные свойства (т. е. свойства, выражен-
312 4. Временная логика ные древовидной формулой Уф). По существу он состоит в многократном применении алгоритма, относящегося к линейному случаю [56]. Если ограничиться логикой СТЪ (ценой некоторого сокращения совокупности тех свойств, которые будем способны выразить), то можно указать очень удобный алгоритм верификации [38]. Формально проблема, подлежащая решению, состоит в следующем: Пусть заданы конечное множество высказываний Р, интерпретация </ и формула а, содержащая только высказывания из Р; требуется выяснить, является ли интерпретация «/ моделью для формулы а. Опишем схематично алгоритм, позволяющий решить эту проблему. Прежде всего представим У графом, вершинами которого являются состояния, а дуги описывают отношение достижимости (доступности) между состояниями. Каждой вершине-состоянию 5 сопоставляется таблица значений истинности для элементов из Р в состоянии 5. Значение истинности каждого высказывания в любом состоянии можно получить простым просмотром таблиц. Чтобы выяснить, является ли </ моделью для а, ищут такие пополнения таблиц, сопоставленных вершинам, которые содержат значения истинности не только для высказываний, но и для всех подформул формулы а (включая саму формулу а). Начинают с подформул формулы а, имеющих только одну логическую связку или только один составной временной оператор. Пусть, например, формула а содержит подформулу У Ор. Значение истинности этой подформулы в состоянии 5 будет равно И тогда и только тогда, когда значение истинности для р равно И во всех состояниях, непосредственно следующих за 5. Очевидно, что нахождение значений истинности, сопоставляемых подформуле, содержащей п 4- 1 связок и операторов, осуществляется простым просмотром таблиц, значений истинности, соответствующих таким подформулам, в каждой из которых не более п связок и операторов. Тем самым имеем несложный алгоритм, позволяющий выяснить, является ли «/ моделью для а. Если а содержит п связок
4.5. Древовидная временная логика высказываний 313 и операторов, то построение соответствующих таблиц требует не более чем п шагов. В зависимости от того, насколько эффективно осуществляются обходы графа, время выполнения алгоритма проверки модели (по-английски: "Моёе1 спескт§ а1§оп1пт"), эскиз которого мы набросали выше, пропорционально произведению размеров формулы а и интерпретации «/. Подробное описание этого алгоритма имеется в [38]. 40-4465
5. ФОРМАЛИЗАЦИЯ МОДИФИЦИРУЕМЫХ РАССУЖДЕНИЙ 5.1. Введение 5.1.1. Модифицируемые рассуждения в искусственном интеллекте Классическая логика связана с формализацией строго корректных рассуждений. Однако моделирование рассуждений в искусственном интеллекте не должно ограничиваться формализацией лишь непогрешимого интеллекта. Важной чертой нашего интеллекта является способность вырабатывать здравые суждения, хотя они могут быть и недостоверными. В частности, при неполной,'неточной и изменчивой информации наши рассуждения зачастую бывают предположительными, всего лишь правдоподобными и, следовательно, подлежащими пересмотру (модификации). Например, можно провести следующие рассуждения. «Зная, что большинство птиц может летать и что Тити является птицей, я заключаю, что Тити может летать». Этот вывод кажется приемлемым. Однако его нельзя признать абсолютно корректным, так как не учитываются возможные исключения. Следовательно, он апокрифичен и может оказаться подвергнутым пересмотру. В частности, если будет уточнено, что Тити-страус и что страусы не летают, то утверждение «Тити может летать» следует отвергнуть. Несмотря на явную тривиальность, этот пример рассуждений трудно формализуется в рамках логики. По этой причине на него часто ссылаются как на канонический пример при анализе различных методов формализации модифицируемых рассуждений. Формальная теория модифицируемых рассуждений может быть полезна в многочисленных областях искусственного интеллекта. В первую очередь при формализации определенных функций, присущих нашим элементарным перцепционным способностям (например, зрению) и реализуемых
5.1. Введение 315 посредством последовательных приближений и корректировок [169]. Другая крайность-специализированные интеллектуальные задачи высокого уровня (например, диагностика) тоже могут требовать обращения к модифицируемым формам рассуждений [207]. Задачами, для которых необходимы теории модифицируемых рассуждений, являются: формализация рассуждений, которые можно проводить по поводу планов и действий [78], [24]; представление информации в духе прототипов [169]; организация иерархических знаний, подверженных исключениям [237], [58]; наконец, рассуждения на тему этих различных форм знаний. Подобные теории следует признать существенными для анализа диалогов [188], [7], так как очень часто коммуникация зиждется на неявных сведениях и соглашениях [157]. Наконец, для правильного управления неполной, отрицательной или неявной информацией, содержащейся в реляционных или дедуктивных базах данных и в логическом программировании, опять- таки требуется формализация определенных разновидностей модифицируемых рассуждений. 5.1.2. Разновидности модифицируемых рассуждений С эпистемологической точки зрения рассуждения могут оказаться модифицируемыми по многим причинам. Можно выделить две фундаментальные разновидности модифицируемых рассуждений. С одной стороны, рассуждения оказываются модифицируемыми, когда они являются предположительными и всего лишь правдоподобными. Такие рассуждения неточны, так как они зависят от неполной, неточной и изменчивой информации или потому, что они неточны и модифицируемы по самой своей природе. Можно назвать многочисленные разновидности предположительных рассуждений, среди которых-рассуждения по умолчанию, рассуждения с прототипами и статистические рассуждения. С другой стороны, рассуждения могут быть модифицируемыми, когда им присущ индексированный характер. Поясним это. Наши рассуждения могут быть модифицируемыми, когда они зависят от знаний, предполагаемых полными, но 40*
316 5. Формализация модифицируемых рассуждений которые таковыми не являются или же перестают быть таковыми. Более общо, мы часто выдвигаем модифицируемые (и иногда неявные) соглашения для наращивания наших знаний по поводу неполной или неизвестной информации. Проводимые нами рассуждения могут быть логически корректными по отношению к этим добавленным знаниям. Однако эти рассуждения оказываются модифицируемыми, так как они основываются на изменчивом состоянии знаний. Подчеркнем, что некоторые корректные формы вывода, которые формализует классическая логика, могут оказаться модифицируемыми в этом контексте. Действительно, они применяются к базе знаний, которая зачастую наращивается всего лишь правдоподобным образом. Следовательно, можно выделить два больших семейства модифицируемых рассуждений. С одной стороны, наши рассуждения неточны и модифицируемы по самой своей природе или из-за той информации, на основании которой они построены. С другой стороны, корректные по своей природе рассуждения могут пересматриваться, когда они основаны на таких соглашениях, которые выходят за рамки информации, на основе которой они приняты. В этой главе мы изложим разнообразные логические методы формализации модифицируемых рассуждений, применимые в различных областях, перечисленных в § 5.1.1, и касающиеся второго из вышеупомянутых семейств модифицируемых рассуждений. Теоретический фундамент этих методов опирается на логический анализ вышеупомянутых соглашений. Чаще всего эти соглашения принимают форму минимизации (некоторых) данных. Естественнее всего изучать их с помощью семантического анализа, а точнее-посредством теории моделей (§ 1.2.14). Однако подчеркнем, что проведенное выше различие между двумя фундаментальными формами модифицируемых рассуждений действенно лишь на уровне эпистемологического анализа. Когда же предпринимается попытка логически характеризовать системы, формализующие упомянутые виды рассуждений, это различие зачастую становится поверхностным.
5.1. Введение 317 5.1.3. Свойства немонотонных логик Для распространения области действия классической логики на модифицируемые формы рассуждений были предложены различные формализмы. В [232] мы уже рассматривали свойства новых формальных систем, разработанных для этой цели. Сейчас мы их вкратце повторим. Эти системы должны быть немонотонными. При росте числа посылок количество выводимых заключений может и уменьшаться. Используя одно и то же множество исходных сведений, можно прийти к нескольким несовместимым множествам заключений. Эта характеристика называется свойством полиэкстенсиональности. Упомянутые множества называются экстенциями. Характеризация и построение экстенций часто оказываются трудноосуществимыми, ибо некоторые модифицируемые рассуждения зацикливаются: отдельные заключения можно вывести лишь после того, как будет установлена невыводимость каких-то других результатов. Когда моделируемые рассуждения являются осторожными, немонотонная система должна разрешать вывод только тех формул, которые подтверждаются во всех экстен- циях. Напротив, в приложениях, где исследуется лишь один частный ход рассуждений, логическая система должна позволять строить желаемую экстенцию. С семантической точки зрения ожидаемые в результате немонотонных рассуждений выводы являются часто всего-навсего выполнимыми (непротиворечивыми, корректными) по отношению к посылкам. Это отражает то обстоятельство, что модифицируемые рассуждения не обязательно логически «корректны»; могут быть выведены правдоподобные, но не обязательно достоверные заключения. Подчеркнем, наконец, что для формализации модифицируемых рассуждений надо создать такие формальные рамки, которые обладали бы необходимой гибкостью при формализации рассуждений, осуществляемых с привлечением неполной информации. От этих формальных рамок также потребуется определенная робастность (устойчивость), достаточная для того, чтобы позволить моделируемым рассуждениям гармонично приспосабливаться к эволюции пред-
318 5. Формализация модифицируемых рассуждений ставляемых знаний. Подобные формальные рамки должны давать возможность динамически ограничить знания, действительно необходимые для рассуждений. В частности, следует разрешить рассуждения, проводимые при отсутствии подробных сведений. 5.1.4. Подходы, изложенные в [232] В [232] были представлены три семейства немонотонных логик. Приведем сейчас краткое описание этих логик. Логики умолчаний [203]. Они позволяют формализовать модифицируемые рассуждения с помощью правил вывода, присущих области применения. Эти правила выражают знания вида «большинство птиц летает» в форме «если непротиворечив (выполним) вывод, что некая отдельная птица может летать, то можно вывести, что она летает». Таким образом, мы получаем возможность выражать правила с исключениями, не перечисляя сами эти исключения. Модальные немонотонные логики Мак-Дермотта [160]. Эти логики базируются на аксиоматических системах модальной логики и предназначены для характеризации множеств взаимно «выполнимых» утверждений, которые можно вывести из какого-то задаваемого множества посылок. Автоэпистемические логики [178], [180]. Это реконструкции немонотонных логик Мак-Дермотта. Взяв какую-либо систему модальной логики, предполагают, что некий идеально разумный субъект рассуждает интроспективным образом в рамках выбранной системы и на основе своих собственных предположений. Рассуждения, проводимые субъектом, являются модифицируемыми, ибо относятся к определенному состоянию знаний, которое может оказаться изменчивым. Логики умолчаний были предложены для формализации рассуждений по умолчанию. Автоэпистемические логики, будучи реконструкциями модальных логик «выполнимых» рассуждений, рассматривают «совершенные» рассуждения, т.е. базирующиеся на знании, которое предполагается полным. Хотя эти два формализма создавались для различных применений, их выразительные возможности часто бывают равносильными [128].
5.1. Введение 319 5.7.5. Подходы через минимизацию В этой главе мы рассматриваем еще одно, четвертое семейство логических методов, предназначенных для формализации модифицируемых рассуждений.* Эти методы естественно вписываются в рамки классической логики. Основной принцип, на котором они базируются, состоит в следующем. Когда рассуждение осуществляется на основе ограниченного, но изменчивого множества сведений, в частности когда оно опирается на еще неизвестные сведения, оно может эволюционировать. Чтобы подобное рассуждение могло быть проведено, нужно выбрать подходящую стратегию обращения с такими сведениями. Чаще всего эта стратегия представляется в виде так называемых минимизационных соглашений, основывающихся на определенных критериях минимальности и позволяющих выделить те неявные сведения, которые могут быть сопоставлены множеству исходных знаний. Проводимое затем рассуждение зачастую относится к разряду рассуждений классической логики. Опишем на интуитивном уровне применение минимизационных соглашений к базам данных и базам знаний. Будучи примененным к базам данных, содержащим только сведения в элементарной логической форме (например, факты из некоторой реляционной базы данных), такое соглашение состоит в опровержении всей еще незаписанной информации; истинной предполагается только информация, явно присутствующая в базе данных, а вся остальная позитивная информация считается ложной. Отметим, что сформулированное сейчас предположение часто оказывается чересчур сильным; подчас предположение о полноте имеющейся в распоряжении позитивной информации бывает чрезмерным. При обобщении на базы знаний эти соглашения состоят в более громоздких условиях минимальности, связанных с множествами определенных сущностей, удовлетворяющих некоторым формулам данной базы знаний. В качестве иллюстрации обратимся вновь к каноническому примеру и предположим, что все доступные нам сведения заключены в элементарном факте «Тити является птицей» и правиле «птицы, за некоторыми исключениями, могут
320 5. Формализация модифицируемых рассуждений летать». Эти сведения легко представить посредством формул логики предикатов: Птица (Тити) и V* (~\ Исключение (х) Д Птица (х) => Летает (х)). Чтобы иметь возможность вывести Летает (Тити), нужно интерпретировать формулу Исключение (Тити) со значением ложно. Между тем значение истинности этой формулы не определено. Однако по соглашению можно принять решение ограничить одними только известными случаями множество сущностей, позволяющих удовлетворить предикат Исключение. (В нашем примере такие случаи отсутствуют.) Не имея возможности вывести Исключение (Тити) из основных сведений, мы интерпретируем эту формулу со значением ложно и выводим Летает (Тити). Тот принцип, который только что применялся, опирается на предположение, что если бы Тити была исключением, то сведения об этом были бы сообщены или, по меньшей мере, могли быть выведены. Отметим, что, минимизируя множество сущностей, удовлетворяющих некоторому предикату (здесь это предикат Исключение), мы расширяем область, в которой удовлетворяются другие формулы (здесь это множество элементов, которые удовлетворяют предикату Летает). Действительно, было выведено утверждение Летает (Тити), хотя эта формула не могла быть выведена прямо из известных сведений. Рассматриваемые рассуждения не монотонны, так как могут быть снова подвергнуты сомнению в связи с новыми фактами. Если принять, что Тити является исключением из правила «птицы летают», то к данной системе придется добавить информацию Исключение (Тити) и больше уже нельзя будет вывести утверждение Летает (Тити). Таким образом, при формализации некоторых модифицируемых рассуждений могут происходить обращения к определенным минимизационным соглашениям. В области баз данных и баз знаний такое соглашение устанавливается гипотезой замкнутого мира (разд. 5.3). Это соглашение формулируется в виде принципов и методов, позволяющих управлять запросами базы знаний немонотонным образом по отношению к эволюции содержимого этой базы. Соглашения могут также принимать вид аксиом или схем аксиом, которые должны быть добавлены к рассматриваемой базе знаний (например, в виде аксиом пополнения (разд. 5.4) или
5.2. Логические рамки 321 в виде схемы аксиомы очерчивания (разд. 5.6)). В логическом программировании специальные операторы аппроксимируют логическое отрицание с помощью некоторой конечной процедуры отрицания через неудачу (§ 5.5.1). Эти операторы позволяют доказать модифицируемым образом, что некое утверждение нельзя вывести на основе знаний, имеющихся в логической программе. В наиболее общем виде эти соглашения представляются различными операциями разграничения областей истинности предикатов и формул из базы знаний, а также разграничения множеств и областей констант и функций этой базы. Эти операции взаимодействуют согласно определенным приоритетам и являются выразителями специфической рациональности рассуждающего субъекта (§ 5.7.5). Большинство методов формализации модифицируемых рассуждений обосновывается с помощью логического семантического анализа, часто с привлечением ослабленных отношений семантического следования, свойственных логическим системам, позволяющим осуществлять вывод утверждений в определенных моделях посылок. Установив логические рамки методов формализации модифицируемых рассуждений, мы займемся анализом этих методов, представляя их в соответствующих областях применения, таких, как реляционные базы данных, дедуктивные базы данных, логическое программирование, формализация модифицируемых рассуждений как самостоятельная область исследования и, наконец, формализация рассуждений, проводимых по поводу планов и действий. 5.2. Логические рамки 5.2.7. Логический язык В этом разделе определяется логический язык, пригодный для наших целей. Затем определяются основные элементы логики, участвующие в немонотонной формализации,-из теории доказательств и теории моделей. Более подробное изложение этих средств логики можно найти в первых двух главах в [232], а также в гл. 1 настоящей книги. Наконец, будут определены различные подмножества логического 41-4465
322 5. Формализация модифицируемых рассуждений языка, на базе которых можно построить немонотонные системы варьируемой сложности. Формальный язык, который предлагается здесь использовать, является языком первого порядка. Обозначим его через &. Язык У? состоит из формул, он строится следующим образом (§ 1.2.13-1.2.14). • Пусть У", & и ^-конечные множества переменных, функциональных констант и предикатных констант соответственно. Функциональные константы, не имеющие аргументов, называются индивидными константами. • Множество термов определяется рекурсивно следующим образом. Терм является либо переменной из "К, либо выражением/(^, ... , 1п), где/-функциональная константа с п аргументами из & и /1? ... , /„-термы. Терм, не имеющий переменных, называется конкретным термом. • Атомарная формула из 2? есть выражение Р(1±,..., /т), где Р- предикатная константа с т аргументами из 0> и /1? ..., гт-термы. Атомарную формулу и ее отрицание называют литералами (или литерами). Литерал, не имеющий переменных, носит название конкретного литерала. • Множество формул из У? определяется рекурсивно следующим образом. Формула из У? является либо атомарной формулой из У?, либо выражением вида (~1 А), где А -формула из &, либо выражением (А =э В), где А и В -формулы из У?, либо выражением (VV)А, где А- формула из У и у-переменная из т^. Будем использовать классические обозначения: (А V В) для ((-1 А) => В), (А А В) для -| ((~1 А) V (~1 В)), (А = В) для ((А => В) А (В => А)), (IV) А для ~1 ((Уу)(~1 А)). Будут также соблюдаться обычные соглашения, касающиеся использования и опускания скобок. В данной главе мы будем обычно предполагать, что множество функциональных констант содержит только индивидные константы. Оно будет обозначаться через (€. Термы выбираются из множества # (совпадающего с ^)
5.2. Логические рамки 323 индивидных констант и множества переменных У. Примем соглашение использовать обозначение А не только для представления какого-то множества формул из ^, но и для представления логической конъюнкции формул, содержащихся в этом выбранном множестве. 5.2.2. Теория доказательств и семантический подход Языку У? можно сопоставить декларативную функциональную семантику истинности, основанную на понятиях интерпретации и модели (т.е. композиционную семантику в смысле § 1.2.2). Напомним, что интерпретацией I называется тройка (5, 1С, /Д где 5-непустое множество, называемое областью интерпретации; 1С-функция, которая сопоставляет каждой «-местной функциональной константе / некоторую функцию /с(/), действующую из 5я в 5, и каждой ди-местной предикатной константе Р некоторую функцию 1С(Р), действующую из 5т в {И, Л}; /у-функция, называемая присваиванием, которая каждой переменной ставит в соответствие элемент из 5. Правила интерпретации подчиняются композиционному принципу и определяются обычным образом (§ 1.2.13). Они сопоставляют каждой формуле АеЗ? при интерпретации / = (5, /с, /у) некоторое значение истинности 1(А)е{И, Л}. Экстенцией «-арного предиката Р при интерпретации / называется множество «-ок конкретных термов (*1? ... , /„), таких, что 1(Р(11, ..., 1п)) = И. (Здесь термин ««-арный предикат» используется как синоним для словосочетания «предикатная константа с « аргументами».) Отметим, что при рассмотрении вопросов, связанных с реляционными и дедуктивными базами данных, привлекается понятие отношения (разд. 6.2). Отношение Я с « аргументами может отождествляться с подходящим «-арным предикатом Р. Тогда экстенцию отношения Я при интерпретации / тоже можно отождествить с соответствующей экстенцией предиката Р при интерпретации /. Если формула А подтверждается (выполнима), т. е. если 1(А) = И для некоторой данной интерпретации / = (5, /с, /„), 41*
324 5. Формализация модифицируемых рассуждений то говорят, что / является моделью для А. Именно это определение термина «модель» будет использоваться в настоящей главе. Заметим, что оно не совпадает с определением, данным в § 1.2.14. Отношение семантического следования между множеством А формул из У и формулой А из У? обозначается через |= и определяется следующим образом. • А (= А, если любая модель для множества формул А является моделью и для формулы А. Так определенное отношение семантического следования обеспечивает моделирование корректных рациональных рассуждений, т. е. могут быть получены только такие сведения, которые с достоверностью выводимы из посылок. Немонотонные логики позволяют формализовать следующее ослабленное отношение семантического следования: заключение выводимо, если оно подтверждается в некоторых моделях для посылок. Одной из целей настоящей главы является описание таких специфических моделей для различных немонотонных логик. Семантической характеризации логической системы очень часто соответствует некая теория доказательств. Эта теория определяет чисто синтаксическую систему вывода, в которой теоремы получаются из посылок с использованием аксиом и правил вывода. Определяется отношение выводимости между множеством А посылок и формулой А, обозначаемое символом I-. (Синтаксическая) система вывода для языка У? называется адекватной и полной, если между отношением семантического следования и отношением синтаксической выводимости существует точное соответствие (см. также § 1.2.2), т.е. если • А (= А тогда и только тогда, когда АI- А. Это свойство надо адаптировать к немонотонным логикам, ибо они покоятся на синтаксической системе вывода и неявно определяют ослабленное отношение семантического следования. Подчеркнем, что семантическая характеризация желательна даже тогда, когда методы формализации модифици-
5.2. Логические рамки 325 руемых рассуждений не конкретизированы и не объяснены полностью на объектном синтаксическо-логическом уровне, но хотя бы частично объяснены на метатеоретическом уровне. Заметим, наконец, что теорией мы будем называть замыкание множества формул из У? , получаемое с помощью отношения логического следования. Теория называется полной^ если, каков бы ни был конкретный литерал рассматриваемого языка, либо он сам, либо его отрицание принадлежит данной теории. 5.2.3. Эрбрановские канонические модели Чтобы охарактеризовать семантику реляционных или дедуктивных баз данных, часто можно ограничиться эрбра- новскими моделями для А (в таких моделях отражена природа этих баз данных). Напомним, что эрбрановская интерпретация (и эрбра- новская модель)-это интерпретация (и соответственно модель), у которой область интерпретации включает множество (предполагаемое непустым) конкретных термов рассматриваемого языка, причем любому конкретному терму сопоставляется он сам ([232], § 1.2.9). Эрбрановская модель полностью характеризуется множеством конкретных атомов, истинных в рассматриваемой модели. Значит, эрбра- новскую модель можно отождествлять с упомянутым множеством и сравнивать эрбрановские модели между собой, пользуясь теоретико-множественным отношением включения. Из множества эрбрановских моделей для А часто выбирают одну особенную модель, называемую канонической моделью для А. Конкретный атом является выводимым тогда и только тогда, когда он подтверждается (выполним) в этой модели. Для монотонных рассуждений будет показано, что каноническая модель-единственная минимальная эрбрановская модель (§ 5.5.2 и гл. 6) для А, т.е. она является пересечением всех эрбрановских моделей для А, причем каждая из этих моделей представлена множеством тех конкретных атомов, которые в ней выполнимы. Таким образом, каноническая
326 5. Формализация модифицируемых рассуждений модель представляет те конкретные атомы, которые подтверждаются (выполнимы) во всех моделях для А и могут быть выведены в соответствии с определением отношения семантического следования. Для немонотонной системы построение канонической модели значительно труднее. Такая система может иметь несколько минимальных эрбрановских моделей, т.е. несколько различных эрбрановских моделей, у каждой пары которых соответствующие множества конкретных атомов не содержат собственного подмножества, соответствующего какой-либо другой эрбрановской модели. Упомянутые два случая следует четко разграничивать. В первом случае имеется некий субъект, принимающий во внимание какой-то частный ход рассуждений, и тогда надо выделить одну минимальную частную модель. В другом же случае, когда желательно иметь дело со свойством полиэкстенсиональности (§ 5.1.3) немонотонной системы, нужно будет выбрать несколько специфических моделей, которые представляют то, что можно вывести из совокупности формул А. Более углубленное изучение предмета настоящей главы, т. е. харак- теризации немонотонных систем, в аспекте дедуктивных баз данных будет продолжено в гл. 6. 5.2.4. Клаузальные формы В искусственном интеллекте довольно часто бывает полезно представлять формулы из 2? в специальной так называемой клаузальной форме. Это позволяет иногда упростить алгоритмы доказательства (вывода) теорем (см. гл. 1 и 2 в [232]). Напомним ряд понятий. Говорят, что формула из У задана в предваренной нормальной форме, если все кванторы находятся в передней части формулы ([232], § 1.2.7). Всегда есть возможность записать формулу из & в предваренной нормальной форме, логически эквивалентной исходной формуле. Предваренную нормальную форму можно преобразовать в сколемовскую нормальную форму, нужно исключить кванторы существования, вводя специальным образом сколемовские функции и константы ([232], § 1.2.8). Однако это преобразование сохраняет лишь выполнимость формулы, не гарантируя логической эквивалентности. На-
5.2. Логические рамки 327 конец, формулу, представленную в сколемовской нормальной форме, можно преобразовать к клаузальной форме, т. е. записать в виде множества дизъюнктов. (Дизъюнкт-это дизъюнкция литер, причем переменные в них неявным образом универсально квантифицированы ([232], § 1.2.8).) Общий вид дизъюнкта таков: Здесь Р{ и й,-позитивные литеры (т.е. атомарные формулы и все переменные в них универсально квантифицированы неявным образом). Дизъюнкт без переменных (т. е. не имеющий вхождений переменных) называется конкретным дизъюнктом. Приведенный выше дизъюнкт можно записать в виде следующей формулы: р1л...лрт=,е1у...уей. В зависимости от числа литер, содержащихся в антецеденте (или заголовке, посылке) и в консеквенте (или теле, заключении) этой импликации, имеем различные по своим выразительным возможностям подмножества языка У? : это и логический эквивалент языка реляционных баз данных, и логический язык, используемый в Прологе, и очень выразительный язык, который позволяет описывать свойство выполнимости дизъюнкции позитивных литер (без уточнения, какая именно литера является выполнимой). Разнообразные немонотонные системы разной сложности можно получить, варьируя типы дизъюнктов, допустимых в рассматриваемом логическом языке. В следующем параграфе мы дадим некоторые уточнения и комментарии по этому поводу. 5.2.5. Различные подъязыки • Дизъюнктивная информация Когда число п позитивных литералов, допустимых в дизъюнкте, строго больше 1, мы имеем дело с дизъюнктивной информацией (возможно, условной). В частности, если т = 0 и л > 1, то дизъюнкт содержит лишь позитивные литералы и имеет вид 0,\У ..-V 0,п.
328 5. Формализация модифицируемых рассуждений Дизъюнкты такого типа позволяют представлять неполные сведения. Например, дизъюнкт Летает (Тити) V Летает (Коко) является формулой, интерпретация которой такова: «хотя бы одна из птиц Тити и Коко летает» (но не уточняется, летает ли только Тити, летает ли только Коко или же обе эти птицы летают). Если т ^ 1 и п > 1, то дизъюнкт имеет весьма общий вид: Р1А...АРт=>0,1У...У0,п и представляет условную дизъюнктивную информацию. Как будет показано, наличие дизъюнктивной информации усложняет формализацию модифицируемых рассуждений. Дизъюнктивная информация позволяет выражать неполные знания о мире. При наличии такого рода знаний формализовывать рациональные рассуждения трудно независимо от того, общезначимые они или модифицируемые. Чтобы избежать проблем концептуального характера и не уменьшать эффективности систем выводимости, в традиционных системах логического программирования и в простых дедуктивных базах данных использование «дизъюнктивных дизъюнктов» запрещают. • Хорновские дизъюнкты В языках логического программирования, подобных Прологу, ограничиваются так называемыми хорновскими дизъюнктами ([232], § 1.1.16), т.е. дизъюнктами, содержащими не более одной позитивной литеры. Усиление выразительности языка может осуществляться только за счет (зачастую неприемлемого) снижения производительности системы выводимости. • Точные хорновские дизъюнкты Дизъюнкт, содержащий ровно одну позитивную литеру, называется точным хорновским дизъюнктом. При т ^ 1 и п = 1 точный хорновский дизъюнкт имеет вид Р^А.^АРм^О,. Такой дизъюнкт позволяет осуществлять представление условной информации; например, он может выступать в качестве правила в прологовской программе. Примером условного правила может служить формула: Птица (х) А Свободная (х) => Летает (х). Напротив,
5.2. Логические рамки 329 если антецедент рассматриваемой импликации не содержит ни одного литерала, то мы имеем дело с безусловной информацией. Такой дизъюнкт является просто позитивным литералом (2, который называется унитарным позитивным дизъюнктом. Различают следующие два случая. • Литерал 6 не содержит переменных. Тогда он представляет один позитивный конкретный литерал, например: Птица (Тити) или Летает (Тити). Такой дизъюнкт называют элементарным. Элементарными фактами являются, например, конкретизации схем отношений реляционной базы данных или факты без переменных прологовской программы. • Литерал 6 содержит одну или несколько переменных. Тогда он представляет более общую информацию обо всех термах языка. В дизъюнкте переменные рассматриваются как универсально квантифицированные. Например, литерал Летает (х) является формулой, которая интерпретируется как «все объекты летают». • Негативные хорновские дизъюнкты Дизъюнкт, не имеющий ни одного позитивного литерала, называется негативным. Негативный дизъюнкт, содержащий только один негативный литерал ~1 Р, представляет элементарную негативную информацию. • Если литерал п Р не содержит переменных, то он представляет негативный факт. Элементарные негативные факты редко встречаются в конвенциональных базах данных. Они получаются неявно, с привлечением гипотезы замкнутого мира (разд. 5.3), при отсутствии соответствующих позитивных фактов. Элементарным негативным фактом является, например, литерал ■л Летает (Тити). • Если литерал ~1 Р содержит одну или несколько переменных, то он представляет некоторую негативную информацию обо всех индивидных константах языка. В рамках баз данных этот последний тип информации должен обрабатываться в качестве ограничений целостности (гл. 6). Например, негативный дизъюнкт 42-4465
330 5. Формализация модифицируемых рассуждений ~| Летает (х) является формулой, интерпретируемой как «никто и ничто не летает». Дизъюнкт, имеющий более одного негативного литерала, представляет более сложную негативную информацию, допускающую запись вида ~](Р1 Л ... Л Рт). Например, дизъюнкт -л (Летает (х) Л Ныряет (х)) является формулой, интерпретация которой такова: «ни один объект не может быть одновременно и летающим, и ныряющим». В базах данных информация такого характера обрабатывается как ограничения целостности. В логическом программировании негативный хорновский дизъюнкт предстает в виде вопроса, задаваемого системе выводимости. Чаще всего позитивная информация, для которой сформулировано отрицание, обосновывается методом «от противного». • Пустой дизъюнкт Случай т = п = 0 соответствует тому, что называется пустым дизъюнктом. Пустой дизъюнкт означает значение истинности Л и, следовательно, никогда не бывает представлен в базе данных. В логическом программировании все системы выводимости, использующие метод доказательства от противного, ориентированы на установление противоречия путем получения пустого дизъюнкта. Методы формализации модифицируемых рассуждений можно довольно легко разработать для подъязыков языка «^, в которых допустимы только формулы, являющиеся конкретными позитивными литералами, или, более общо, хорновскими дизъюнктами, или, как это будет показано, стратифицированными множествами дизъюнктов. Принятие во внимание дизъюнктивной информации служит источником возрастания сложности. Подчеркнем, что на практике в логическом программировании используется более выразительный язык, нежели язык хорновских дизъюнктов. Зачастую разрешается применять внутри условных частей дизъюнктов оператор отрицания через конечную неудачу (§ 5.5.1), которой дает некую несовершенную аппроксимацию логического отрицания.
5.3. Гипотеза замкнутого мира 331 Отметим также, что и в дедуктивных базах данных, и в логическом программировании иногда приходится расширять логический язык, первоначально состоящий из хор- новских дизъюнктов. Включают, например, так называемые расширенные дизъюнкты, которые, будучи представленными в виде импликаций, содержат в своих антецедентах негативные литералы. Множество расширенных дизъюнктов называется стратифицированным, если оно допускает упорядочение, удовлетворяющее следующим условиям: каждому предикату присвоен номер; номер предиката всякого позитивного литерала, появляющегося в антецеденте некоторого дизъюнкта А, не превосходит номера предиката консеквента дизъюнкта А; номер предиката каждого негативного литерала, присутствующего в антецеденте дизъюнкта А, меньше номера предиката консеквента дизъюнкта А. В рамках этой главы, носящей вводный характер, мы ограничимся упоминанием-в синтетической манере-тех результатов формализации модифицируемых рассуждений, которые связаны с упомянутыми расширенными системами. Более подробное изложение, опирающееся в основном на результаты из [8], [87], [148], [195] и [243], можно найти в гл. 6. 5.3. Гипотеза замкнутого мира 5.3.7. Введение Рассмотрим базу данных А, представляющую авиалинии между несколькими городами: Рейс (Париж, Брюссель) Рейс (Лион, Париж;) Рейс (Лондон, Брюссель) Рейс (Париж, Амстердам) Речь идет об элементарной базе данных в том смысле, что она составлена из позитивных конкретных литералов. Эти литералы являются конкретизациями схемы отношений Рейс(х, у). Существует ли рейс, связывающий Лондон с Амстердамом? Хотя содержащаяся в А информация не позволяет 42*
332 5. Формализация модифицируемых рассуждений логически установить или опровергнуть литерал Рейс (Лондон, Амстердам), можно попытаться ответить отрицательно на этот вопрос. Естественный способ запроса базы данных по существу постулирует опровержение некоторого факта, когда этот факт не зарегистрирован в базе данных. В дедуктивных логических системах этот принцип непосредственно не записывают. Он носит название (реляционной) гипотезы замкнутого мира и гласит, что те факты, которые не отнесены к разряду истинных, могут считаться ложными. Используя эту гипотезу, можно избежать явного представления негативной информации. Имплицируемое рассуждение является немонотонным, потому что поступление новой информации может потребовать его пересмотра. Этот принцип широко применяется при использовании элементарных баз данных. 5.3.2. Формальное определение Займемся более точным определением принципа замкнутого мира. Напомним, что теорией Т(А), ассоциированной с множеством А (или соответствующей множеству А) формул языка «^, называется совокупность всех логических следствий из А. Пусть имеется множество А сведений, сформулированных в логическом языке первого порядка &. Обозначим через А' множество конкретных негативных литералов, соответствующих конкретным позитивным литералам, не принадлежащим теории Т(А). Гипотеза замкнутого мира пополняет (§ 5.2.2) теорию Т(А) и приводит определение новой теории Т(А и А'), обозначаемой ГЗМ (А). По определению ГЗМ (А) является, следовательно, логическим замыканием объединения базы данных А и множества А'. Теория ГЗМ (А) представляет собой расширенное множество сведений, которые можно вывести из базы данных А с использованием гипотезы замкнутого мира. Проверка выводимости формулы А, с использованием гипотезы замкнутого мира из базы данных А, состоит в проверке принадлежности А к ГЗМ (А).
5.3. Гипотеза замкнутого мира 333 5.3.3. Свойство и ограничения Гипотеза замкнутого мира может применяться к элементарным базам данных, т.е. к базам данных, составленным из конкретных позитивных литералов. Эта гипотеза, вообще говоря, не может применяться к базам данных с более выразительным языком представления. Рассмотрим, например, следующую логическую базу данных А: Мужчина (х) V Женщина(х) Профессор (Доминик) Эта база данных содержит дизъюнктивную информацию: любой человек является либо мужчиной, либо женщиной.^ Конкретные позитивные литералы Мужчина (Доминик) и Женщина (Доминик) не могут быть логически выведены из этой базы данных. Теория ГЗМ (А) будет, следовательно, содержать все логические следствия из объединения базы данных А и некоторого множества, содержащего негативные литералы —I Мужчина (Доминик) и -и Женщина (Доминик). Однако множество ГЗМ (А) является невыполнимым, так как оно содержит невыполнимое подмножество из трех формул: Мужчина(х) V Женщина(х), —\ Женщина (Доминик) и ~1 Мужчина (Доминик). Имеется критерий, формулирующий условия, при которых логическая выполнимость сохраняется после применения гипотезы замкнутого мира. • Пусть задано множество А выполнимых формул из &. Теория ГЗМ (А) выполнима тогда и только тогда, когда любой дизъюнкт Р1 V ... V Рп, построенный из конкретных позитивных литералов Рь и выводимый из А, содержит хотя бы один конкретный позитивный литерал Р(, выводимый из А [218]. Необходимость очевидна. Достаточность докажем методом от противного. Предположим, что теория ГЗМ (А) невыполнима и в любом выводимом из А дизъюнкте, построенном из конкретных позитивных литералов, найдется выводимый из А литерал. Так как множество ГЗМ (А) является логическим замыка-
334 5. Формализация модифицируемых рассуждений \ нием множества А и А', то ГЗМ (А) невыполнимо тогда и только тогда, когда невыполнимо А и А'. Используя теорему компактности ([232], § 1.2.9), получаем: существует] конечное подмножество А" множества А', которое противо-] речит множеству А, т. е. А и А" невыполнимо. Пусть А" = ] = {п ^ —\Рп}. Отрицание конъюнкции элементов! этого множества должно быть выводимо из А. Это можно записать так: А |= Рх V ... V Рп. Поскольку каждое -| Р1 \ принадлежит А', то ни одно Р{ вывести из А нельзя. Это] противоречит сделанному предположению. Следовательно,] утверждение доказано. В приведенной теореме компактно сформулированы! условия, при которых дизъюнктивная информация с ис-1 пользованием гипотезы замкнутого мира влечет за собой ] невыполнимые в совокупности сведения. Нижеприводимое! следствие из этой теоремы обладает большой практической: важностью. • Если клаузальная форма в совокупности1] А является выполнимой и состоит из хорновских дизъюнктов, то теория ГЗМ (А) выполнима [202]. При применении гипотезы замкнутого мира логическая выполнимость во многих случаях сохраняется. В частности, привлекая принцип замкнутого мира при оперировании с базами данных, состоящими только из элементарных позитивных фактов, или выполнимыми базами данных, составленными из хорновских дизъюнктов, можно не опасаться столкновения с невыполнимостью. Отметим, что ограничение логического языка одними лишь хорновскими дизъюнктами является достаточным, но отнюдь не необходимым условием, обеспечивающим сохранение выполнимости при применении гипотезы замкнув того мира. Рассматривая в предыдущем примере (в базе данных А) формула Мужчина (х) V Женщина (х) хорновским дизъюнктом не является. Если к А добавить факт Мужчина (До* 1) То есть объединение клаузальных форм (как множесп дизъюнктов) всех формул из А.-Прим. ред.
5.3. Гипотеза замкнутого мира 335 миник), то теория ГЗМ (А) будет выполнимой. В действительности, если Доминик является единственной индивидной константой языка, то больше не существует выводимого из А дизъюнкта Рх V ... V Рп, состоящего из конкретных невыводимых из А позитивных литералов Р(. В разд. 5.7 будет показано, что гипотеза замкнутого мира равносильна минимизации экстенции предикатов, осуществляемой по всем предикатам из базы знаний. Для того чтобы гипотеза замкнутого мира сохраняла выполнимость, требуется существование единственной минимальной модели. Синтаксическое ограничение, эквивалентное этому семантическому условию, было предложено для случая высказываний [185]. Речь идет о непосредственном следствии теоремы, сформулированной в данном параграфе. Слабо обусловленным множеством языка У называется множество формул, логически эквивалентное множеству &19 представляющему собой объединение некоторого множества &>2 высказываний и множества ^3 дизъюнкций высказываний, каждая из которых содержит хотя бы одно высказывание с отрицанием, причем само это высказывание (без отрицания) в 0>2 отсутствует. Единственная минимальная модель существует только у слабо обусловленного выполнимого множества, и лишь такое множество после «оснащения его» гипотезой замкнутого мира не порождает невыполнимость. Подчеркнем еще, что гипотеза замкнутого мира может проявить некорректность при наличии нулевых значений (гл. 6) или сколемовских констант ([232], § 1.2.8). Гипотеза замкнутого мира обрабатывает такую информацию фактически как простые индивидные константы. Поэтому существует опасность вывести нежелательные ограничения, связанные с такой информацией. Отметим наконец, что гипотеза замкнутого мира зависит от синтаксической формы базы данных А, ибо конкретный негативный литерал является выводимым, когда конкретный позитивный литерал не может быть выведен из А. В самом деле, заменим в А каждое вхождение предиката Р1 на ~1 & (положив по определению Р4 = —I ()^. Получим новое множество Аг сведений, эквивалентное базе данных А. Оно, однако, не обязательно даст тот же самый результат при применении гипотезы замкнутого мира. Следовательно, при
336 5. Формализация модифицируемых рассуждений записи базы знаний нужно заботиться о том, чтобы число позитивных фактов было меньше числа негативных фактов, которые мы хотим представить неявно. 5.3.4. Дополнительные соглашения Гипотеза замкнутого мира зачастую ассоциируется с еще одним соглашением, называемым гипотезой о замыкании области. Эта гипотеза ограничивает область интерпретации лишь теми объектами, которые можно определить с помощью функциональных констант, используемых в базе знаний. Таким образом, при отсутствии функциональных констант ненулевой арности переменные можно конкретизировать только при помощи индивидных констант из &. В этом частном случае гипотеза о замыкании области может быть записана в виде аксиомы Чх((х = С1)У...У(х = сЛ))9 где с19 ..., сл-все имеющиеся в рассматриваемом языке индивидные константы. Используя гипотезу о замыкании области в приведенном выше примере, следует ограничить область интерпретации базы данных А одним элементом Доминик, так как это единственная индивидная константа в А и ни одной функциональной константы ненулевой арности в А нет. Третий принцип получается путем применения гипотезы замкнутого мира к предикату равенства. Конкретными термами (их можно считать равными) являются только такие термы, которые можно использовать в качестве разных имен, присваиваемых тем или иным объектам. Этот принцип называется принципом единственности имен. При отсутствии функциональных констант ненулевой арности его можно выразить посредством множества аксиом {-л (с( = с,.)}, где * <у, * = 1,..., п — 1,у = 2,..., п. В данной главе мы систематически используем этот принцип. Чтобы полностью охарактеризовать рассуждения, осу* ществляемые при манипулировании с базами знаний, нужно ввести аксиомы, описывающие свойства используемого нами предиката равенства. При отсутствии функциональных кон-
5.3. Гипотеза замкнутого мира 337 стант ненулевой арности эти аксиомы таковы: • V х(х = х)-свойство рефлексивности; • V х V у ((х — у) => (у = х)) - свойство симметричности; • V х V у V г((х = у) Л (у = г) => (л: = г))-свойство транзитивности; • У^.-.У^У^... л(Р(х1? ..., хп)А(х1 =^)Л... Л (лг„ = }>„) => Р(У!> ... , уп))-принцип подстановки равных термов. В последней из этих аксиом Р есть произвольный «-арный предикат из рассматриваемой базы знаний. Итак, нам удалось формализовать некоторые принципы и соглашения, привлекая для этого дополнительные аксиомы (называемые также аксиомами партикуляризации), которые были добавлены к первоначальному множеству сведений. Следовательно, мы выбрали формальный метод характе- ризации рассуждений, используя дедуктивную классическую систему первого порядка, действующую синтаксически на расширенном множестве сведений. Однако на практике, вообще говоря, неэффективно вводить эти аксиомы как таковые в базу знаний и подчинять ее некоему «доказывателю теорем». Эти аксиомы заменяют в прагматических целях на соглашения и оперативные приемы, эквивалентность которых аксиомам пытаются доказать. Семантический эффект аксиом партикуляризации заключается в следующем. Аксиома о замыкании области позволяет ограничиться рассмотрением одних лишь эрбрановских моделей, тогда как аксиомы равенства и аксиома единственности имен позволяют ограничиться такими моделями, область интерпретации которых находится во взаимно однозначном соответствии с множеством констант из У?. Заметим, что гипотеза единственности имен иногда оказывается слишком сильной в том смысле, что она запрещает присутствие синонимов в базе данных. Эти дополнительные соглашения более углубленно будут рассматриваться в гл. 6. Отметим, что гипотеза замкнутого мира вкупе с этими разнообразными дополнительными соглашениями сводится к заданию уникальной модели для ГЗМ (А)-в том случае, когда эта теория выполнима. Действительно, область интер- 43-4465
338 5. Формализация модифицируемых рассуждений ) претации совпадает с множеством конкретных термов и значение истинности каждого конкретного литерала одно- ] значно определено [221]. ] 5.3.5. Ограниченная гипотеза замкнутого ] мира I Есть возможность несколько смягчить гипотезу замкнутого мира, применяя ее либо к одному-единственному пре-1 дикату, либо к подмножеству предикатов, входящих в рас- ] сматриваемую базу данных. Это может быть, например, | в том случае, когда накопленная информация является _| полной лишь для выделенных отношений. ] Рассмотрим в качестве примера следующее множество] сведений А: Профессор (х) V Студент (х) Профессор (Дюпон) Студент (Дюран) ] Студент (Мартен) \ Дочь (Эврар) Предположим, что оно содержит полный список всех про-] фессоров, но не обязательно включает в себя список всех) студентов. Действуя в рамках ограниченной гипотезы замк-| нутого мира, запросим множество А по поводу предиката] Профессор. Можно будет заключить (без какой-либо не-] выполнимости), что Эврар является студенткой. Действи-1 тельно, информация Профессор (Эврар) не может выводиться^ из А, и мы выводим -л Профессор (Эврар). Первая формула^ из А позволяет тогда вывести Студент (Эврар)х). Заметим^ что, если бы мы пользовались гипотезой замкнутого мира*! то вывели бы, что Эврар не является ни студенткой, ни] профессором, а это с множеством А невыполнимо. Разумеется, это означает Студентка (Эврар).-Прим. перев.
5.4. Пополнение предиката 339 5.4. Пополнение предиката 5.4.7. Введение Определить понятие - значит задать необходимые и достаточные условия, которым это понятие должно удовлетворять. Однако в повседневной речи при определении понятия мы зачастую привлекаем лишь достаточные условия, характеризующие его. Например, рассмотрим фразу: «Если я прихожу после 9 часов, то я опаздываю». Формально эта фраза выражает лишь достаточные условия того, что я опаздываю; могут существовать и другие достаточные условия. Между тем представляется естественным толковать отмеченное частное достаточное условие как единственно возможное и, следовательно, как необходимое и достаточное условие того, что имеет место опоздание. Иными словами, зачастую мы отождествляем эту фразу со следующим утверждением: «Я опаздываю тогда и только тогда, когда прихожу позже 9 часов». Ясно, что это всего-навсего экстраполяция: вполне возможно, что приход между восемью и девятью часами опять-таки означает опоздание. Подход, при котором ограничиваются только достаточными для описания понятия условиями, по самой своей природе является источником модифицируемых рассуждений. При новом достаточном условии приемлемость старых рассуждений оказывается под вопросом. Возникает проблема пополнения предиката. Множество А формул логики предикатов, построенных для характериза- ции некоторых предикатов Р(, представляет определенные условия, обеспечивающие выполнимость этих предикатов. Иногда бывает вполне естественно считать, что формулы из А описывают все достаточные для точной характеристики предикатов Р{ условия. Стало быть, эти условия интерпретируются как необходимые и достаточные для подтверждения предикатов Р{. Это соглашение можно выразить на формальном уровне-используя дополнительные аксиомы, гласящие, что тот или иной предикат удовлетворяется только тогда, когда удовлетворено одно из достаточных условий, характеризующих этот предикат. Такой способ называется 43*
340 5. Формализация модифицируемых рассуждений методом пополнения предиката. Опишем его на интуитивном уровне, рассмотрев два простых примера. Предположим, что множество А состоит из единственного конкретного литерала Р(а). Этот литерал можно записать в следующем виде, эквивалентном исходному: V х((х = а)=>Р(х)). Данная формула описывает достаточное условие подтверждения предиката Р; говорят, что она характеризует (или написана по поводу) Р. Преобразование этого достаточного условия в необходимое и достаточное условие можно осуществить путем введения в А «двойственной» формулы V х(Р(х)=>(х = а)). Эта формула называется формулой пополнения предиката Р в А. Вводя формулу пополнения предиката Р в базу знаний А, получаем базу знаний, пополненную относительно предиката Р. Эта новая база знаний обозначается через #(А, Р). Ясно, что #(А, Р) эквивалентна базе знаний, состоящей из единственной формулы V х(Р(х) = (х = а)). В этом простом примере пополнение базы знаний относительно Р сводится, таким образом, к преобразованию тех импликаций, которые содержат Р в качестве консеквента в эквивалентности. Рассмотрим еще один пример. Пусть база знаний А содержит только конкретные литералы Р(а) и Р(Ь). Формула пополнения предиката Р в А записывается как V х(Р(х) => (х = а) V (х = Ь)), а база знаний #(А, Р) содержит единственную формулу V х(Р(х) = (х = а) V (х = Ь)). Пополнение базы знаний А состоит в ее пополнении относительно всех предикатов, по поводу которых написана хотя бы одна формула из А. Пополненная база знаний А будет обозначаться через #(А).
5.4. Пополнение предиката 341 5.4.2. Формальное определение Пусть А является множеством дизъюнктов вида Р, Л ... Л Рп => Р, где Р-позитивный литерал и ^-позитивный или негативный литералы (/= 1, ... , п). Дизъюнкт такого вида называется дизъюнктом, написанным по поводу Р (короче: дизъюнктом по поводу Р). Его можно переписать в следующей эквивалентной форме: Уу(Рх Л... Л Ри =>/>(*)), (1) где 1-кортеж термов *1?... , гк\ литералы Р{ и Р(1) содержат переменные из множества у19 ..., угиУ у есть сокращенное обозначение для V у1 ... V уг. Выражение (1) эквивалентно такому: V у V х((х = г) Л Рг Л ... Л Рп => />(х)), (2) где х-кортеж переменных х19 ..., хк, не входящих в литералы Р( и Р(1), и (х = 1) служит сокращением для (хх = 1Х) Л ... А(хк = 1к). Так как переменные у19 ..., уг входят только в антецедент импликации выражения (2), то оно эквивалентно каждой из формул V х V у(-1 ((х = 1) Л Рх Л ... Л Рп) V Р(х)), V х(3у((х = I) Л Р, Л ... Л Рп) => Р(х)). Последняя из них называется нормальной формой исходного дизъюнкта. Если база знаний А содержит } дизъюнктов по поводу Р, то соответствующими } нормальными формами этих дизъюнктов будут Ух^э/Чх)), Ух(Д,=>Р(х)), так что имеем 7 х(^ V ... V Е] => Р(х)). Здесь ^-конъюнкция 3-квантифицированных литералов. Формула пополнения для Р в А такова: Ух(Р(х)э^ V... V Е}).
342 5. Формализация модифицируемых рассуждений База знаний А, пополненная относительно предиката Р, обозначается через #(А, Р); она получается путем введения в А формулы пополнения для РвА. Пополненная база знаний, которая обозначается #(А), получается введением в А формул пополнения всех предикатов, по поводу которых в А написана хотя бы одна формула. Отметим частный случай, когда А не содержит ни одного дизъюнкта по поводу Р. В этом случае формула пополнения для Р в А выглядит как Ух(Р(х)) => Л). Ее можно'записать также в виде Улг(-и Р(х)). Поскольку А не содержит никаких указаний по поводу предиката Р, то мы заключаем, что Р никогда не подтверждается. Наконец, уместно подчеркнуть, что пополнение предиката было определено Кларком [37] в специфическом контексте определения некой формальной семантики для оператора отрицания в языке Пролог (§ 5.5.1). 5.4.3. Пример Прежде чем излагать свойства и ограничения, относящиеся к пополнению предиката, рассмотрим для иллюстрации этого метода один канонический пример. Пусть имеется следующая база знаний: А = {Птица(х) => Летает(х), Летает(Икар), ~1 Птица(Коко)}. Пополним А относительно предиката Летает. Достаточные условия, описанные в А по поводу того, что некое существо обладает способностью летать, заключаются в том, что речь должна идти либо о птице, либо об Икаре. Следовательно, формула пополнения предиката Летает в А записывается в виде V х(Летает (х) => Птица(х) V (л: = Икар)), а база знаний А, пополненная относительно предиката Летает, т.е. #(А, Летает), совпадает с множеством {Ух(Летает(х) = Птица(х) V (л: = Икар)), —\ Птица(Коко)}. Достаточные условия по поводу предиката Летает стали необходимыми и достаточными условиями по поводу этого
5.4. Пополнение предиката 343 предиката. Можно запрашивать базу знаний А, пополненную относительно предиката Летает. При гипотезе уникальности имен можно, например, извлечь из #(А, Летает) информацию -л Летает (Коко). Это заключение может стать модифицируемым, когда в А поступит новая информация. Так, например, если в А явно вводится информация Летает (Коко), то формула пополнения предиката Летает в А' превращается в выражение Зх(Летает(х) => Птица(х) V (л: = Икар) V (л: = Коко)). Из базы знаний, пополненной относительно предиката Летает, больше уже нельзя вывести негативный конкретный литерал -и Летает(Коко). 5.4.4. Свойство и ограничения Выводы, допустимые на основе пополненной базы знаний #(А), становятся модифицируемыми, когда в А поступает новая информация. База знаний А, пополненная относительно предиката Р, ограничивает расширение предиката Р только теми достаточными условиями, которые сформулированы в А по поводу подтверждения предиката Р. Поступление в А новой информации по поводу предиката Р модифицирует пополненную базу знаний и те выводы, которые она позволяет сделать. Опишем кратко свойства и ограничения, присущие методу пополнения предиката. Сначала напомним, что этот метод был предложен для специфического множества дизъюнктов из &, а именно для дизъюнктов, содержащих хотя бы один позитивный литерал. Само по себе это является первым ограничением. Кроме того, метод пополнения предиката не гарантирует сохранение выполнимости. Поэтому его применение необходимо очень жестко ограничить. Рассмотрим, например, базу данныхХ) А, содержащую 1} Авторы используют как синонимы выражения «база данных» и «база знаний», имея в виду лишь чисто логический аспект и не вникая в архитектуру тех и других баз в их полном смысле.- Прим. перев.
344 5. Формализация модифицируемых рассуждений единственную формулу —\Р=>Р. (Эта формула является выполнимой, она логически эквивалентна атомарному высказыванию Р.) Очевидно, что #(А) содержит невыполнимую формулу ~1 Р = Р. Однако база данных А = {Р}, пополненная относительно предиката Р, является выполнимой. Следовательно, пополнение предиката зависит не только от логического содержания формул базы знаний, подлежащей пополнению, но также и от ее синтаксической формы. Отметим еще такую проблему. Некоторые дизъюнкты, написанные по поводу предиката Р, или множества таких дизъюнктов могут содержать в своих антецедентах все тот же самый предикат Р. Поскольку дизъюнкты, написанные по поводу предиката Р, оказываются интерпретируемыми как участвующие в определении предиката Р, то имеется опасность зацикливания этого определения (гл. 6). Чтобы избежать эту опасность и сохранить выполнимость, принято ограничивать применение пополнения предиката. Например, базу данных (базу знаний) А пополняют относительно предиката Р только в том случае, когда всякий дизъюнкт из А является унипозитивным относительно Р [77], т. е. если он содержит позитивное вхождение предиката Р, то вхождение этого предиката в него единственное. Если множество унипозитивных относительно Р дизъюнктов выполнимо, то при пополнении его относительно Р выполнимость сохраняется. Подчеркнем, что приведенное свойство уни- позитивности дизъюнктов является достаточным, но отнюдь не необходимым условием сохранения выполнимости. В частности, пополнение относительно предиката Р множества точных хорновских дизъюнктов [221] или стратифицированного множества дизъюнктов [8] является выполнимым. Отметим, что, привлекая некую трехзначную логику, можно предложить метод, аналогичный методу пополнения предиката, который всегда бы обеспечивал сохранение выполнимости [133]. Заметим также, что очерчивание и его разновидности, которые служат предметом изучения в разд. 5.6, расширяют и обобщают метод пополнения предиката в различных направлениях.
5.4. Пополнение предиката 345 5.4.5. Гипотеза замкнутого мира и пополнение предиката Если вникать в существо дела, то метод, использующий гипотезу замкнутого мира, и метод пополнения предиката кажутся весьма похожими. Оба они преобразуют такие модифицируемые рассуждения, при которых при невозможности «доказательства» позитивного элемента информации на основе А полагают значение этого элемента равным ложно. Между тем эти методы зачастую приводят к существенно разным результатам [218], [219], [221]. Существуют ситуации, когда гипотеза замкнутого мира сохраняет выполнимость, а пополнение предиката ее не сохраняет. В примере с базой знаний А = {~1 Р => Р) было показано, что пополненная база знаний #(А) является невыполнимой, хотя, если к этому множеству А приложить гипотезу замкнутого мира, это позволило бы сохранить выполнимость (потому что формула —\Р-=>Р логически эквивалентна атомарному высказыванию Р). Наоборот, метод пополнения предиката может сохранить выполнимость, тогда как гипотеза замкнутого мира приводит к невыполнимому результату. Например, если А = {-и Р => 6}, то ГЗМ(А) содержит три взаимно невыполнимые формулы -] Р, -\ б и -л Р => (). Наконец, применение этих двух методов может сохранить выполнимость, но при этом получаются несовместимые результаты. Рассмотрим пример, в котором действие ограниченной гипотезы замкнутого мира сильнее, чем пополнение предиката, представляющего неявную позитивную информацию, которую можно присоединить к базе знаний. Пусть А = = {Р(а) => Р(Ь\ Р(Ь) => Р(а)}. Если базу А запросить в условиях действия гипотезы замкнутого мира, то можно вывести -] Р(а) и —\ Р(Ь). Пополнение предиката допустимо при наличии такой модели, в которой Р(а) и Р(Ь) истинны, ибо пополненная база знаний выглядит так: Ух(Р(х) = = ((л: = Ь) Л Р(а)) V ((л: = а) Л Р(Ь))). В действительности гипотеза замкнутого мира зачастую избыточна; всякий элемент неопределенности истолковывается негативным образом [8]. 44-4465
346 5. Формализация модифицируемых рассуждений 5.5. Специфические области применения 5.5.7. Применение в логическом программировании Логическое программирование представляет собой семейство таких методов решения проблем, в которых используются приемы логического вывода для манипулирования со знаниями, представленными в декларативной форме. Системы логического вывода не позволяют осуществлять формализацию модифицируемых рассуждений непосредственно. Однако имеющиеся в языках логического программирования специальные операторы дают возможность проводить некоторые выводы, чувствительные к изменению представленных знаний. Эти операторы позволяют нарастить выразительную мощь логического языка путем аппроксимации (зачастую несовершенным образом) логической связки «отрицание». В языках, похожих на Пролог, такие операторы позволяют отвергнуть конкретный позитивный литерал Р, как только обнаружится несуществование конечного доказательства литерала Р из текущего состояния рассматриваемой базы знаний. Когда же в эту базу знаний поступит новая информация, может оказаться возможным осуществить вывод литерала Р. Напомним вкратце основные положения логического программирования (более подробное изложение имеется в гл. 6 в [232]). Обычные системы логического программирования, подобные языку Пролог, пользуются язьпсом хорновских дизъюнктов (дизъюнкт называется хорновским, если в нем не более одного позитивного литерала). Прологовская программа состоит из набора точных хорновских дизъюнктов (§ 5.2.4), т. е. дизъюнктов, в которых по одному позитивному литералу. Дизъюнкт без антецедента называется унитарным дизъюнктом', если к тому же в нем нет переменных, то он представляет элементарный факт. Дизъюнкт с антецедентом представляет (условное) правило. Интерпретатор Пролога является системой выводимости, которая в качестве единственного правила вывода исполь-
5.5. Специфические области применения 347 зует правило резолюций. Доказательства (обоснования выводимости) осуществляют от противного. Чтобы установить, что формула Зу1...уг(Я1А...АЯп) является «логическим» следствием программы на Прологе, интерпретатор пытается доказать, что присоединение отрицания этой формулы к рассматриваемой базе знаний, которую образует прологовская программа, приводит к противоречию. Это эквивалентно тому, что добавление к программе хорновского дизъюнкта без консеквента ~1 Ях V ... V ~1 Яп (он эквивалентен формуле -](Я1 А... А Яп)) позволяет вывести пустой дизъюнкт. Алгоритм Пролога мы здесь не приводим; его подробное описание содержится в [232]. Напомним только, что он использует поиск в глубину и слева направо. Хотя логическая система, на которой основан Пролог, адекватна и полна, все же алгоритм Пролога полным не является. Чтобы увеличить выразительность Пролога, идут на допущение присутствия «негативных» выражений в антецедентах правил. С этой целью используют специальный оператор по1. Это встроенный предикат. При его конструировании использовался принцип отрицания через конечную неудачу, формулируемый следующим образом. Пусть задан конкретный позитивный литерал С, тогда предикат по1(0) достигается и принимает значение истинности И, если не удается найти конечного доказательства для О на основе информации, имеющейся в рассматриваемой системе. Во всех остальных случаях предикат по1(С) принимает значение истинности Л. Рассмотрим пример программы на Прологе, содержащей встроенный предикат по1. летает (X):- птица (X), по! (аномалия (X)). аномалия (X):- страус (X). птица (тити). С этой программой может состояться следующий диалог1}: Х) Англоязычные версии Пролога отвечают уев или по-Прим. перев. 44*
348 5. Формализация модифицируемых рассуждений ? - аномалия (тити). ► нет ?-летает (тити). ► да Заключение аномалия (тити) не удается вывести на основании имеющейся информации; но в то же время предикат по! (аномалия (тити)) достигается и получает значение И. Если к вышеприведенной программе добавится информация страус (тити), то предикат по1 (аномалия (тити)) потерпит неудачу, так как достигается предикат аномалия (тити). Утверждение летает (тити) будет отвергнуто. Итак, добавляем факт: страус (тити). После наращивания нашей программы возможен следующий диалог: ? - аномалия (тити). ► да ?- летает (тити). ► нет Встроенный предикат по1 базируется на принципе, аналогичном гипотезе замкнутого мира (разд. 5.3). Общая идея заключается в следующем. Если конкретный позитивный литерал «доказать» не удается, то логически противоположный ему считается «истинным». Однако имеется существенная разница между ГЗМ и рассматриваемым принципом. Гипотеза замкнутого мира опирается на «чистое» понятие логического доказательства, тогда как отрицание через конечную неудачу зиждется на концепции доказательства, подразумеваемой алгоритмом Пролога. Кларк [37] предполагает, что отрицание через конечную неудачу можно интерпретировать как результат некоторой операции дедукции, действующей на пополненной базе знаний Пролога. Шефердсон [218], [219] между тем показал, что для характе- ризации отрицания через неудачу в Прологе ни пополнение предиката, ни гипотеза замкнутого мира не являются вполне
5.5. Специфические области применения 349 удовлетворительными. Дело в том, что предикат пог из Пролога основывается на специфическом алгоритме Пролога, а не на автономном логическом определении. Заинтересованный читатель найдет в [221] и [133] более глубокое исследование проблемы отрицания в логическом программировании. Были предложены многочисленные подходы для характеризации семантики различных классов логических программ (с отрицанием через неудачу или без оного). В числе наиболее свежих из них упомянем семантику, которая основывается на некой трехзначной логике [61], семантику устойчивых моделей [74], семантику совершенных моделей [196] и слабо совершенных моделей [198]. Более классический подход, основанный на методе неподвижной точки [9], [8], [149], излагается в § 6.3.6. Отметим, что особая разновидность очерчивания (метода, который будет описан в следующем разделе) также позволяет осуществить семантическую характеризацию некоторых логических программ [148]. Для достижения той же цели с равным успехом можно пользоваться логикой умолчаний [20]. В самом деле, некоторые фрагменты немонотонных логик поддаются переводу в стратифицированные логические программы [197]. 5.5.2. Обобщение на дедуктивные базы данных Дедуктивные базы данных-это естественное и обширное поле для применения методов формализации модифицируемых рассуждений. При изучении под логическим углом зрения дедуктивные базы данных обобщают простые реляционные базы данных вполне естественным и изящным образом. Представление знаний, дотоле ограниченное элементарными логическими фактами, обобщается на более сложные логические формулы. Процесс запрашивания базы данных, состоящий в попытке доказать или опровергнуть элементарные факты, становится процессом дедукции, касающимся менее элементарных формул. Дедуктивным базам данных посвящена гл. 6. А сейчас мы ограничимся интуитивным описанием тех методов формализации моди-
350 5. Формализация модифицируемых рассуждений фицируемых рассуждений, которые специфичны для упомянутой области. Во введении подчеркивалось, что рассуждения модифицируемы обычно тогда, когда приходится иметь дело с дизъюнктивной, неполной, негативной или неявной информацией. Гипотеза замкнутого мира может нас удовлетворить, когда рассматриваемое представление касается только элементарной информации и когда запросы базы данных ограничиваются простыми логическими фактами. Но если мы хотим представлять или уметь выводить дизъюнктивную информацию, приходится обращаться к более сложным методам. В настоящем параграфе на интуитивном уровне вводится некое обобщение гипотезы замкнутого мира, которое было предложено для эффективной обработки некоторой дизъюнктивной информации. Этот метод называется обобщенной гипотезой замкнутого мира [166] и основывается на следующих семантических рассмотрениях. В рамках дедуктивных баз данных принимаются во внимание только эрбрановские модели рассматриваемой базы данных. Представим эрбрановскую модель Л базы данных А с помощью множества конкретных атомарных формул, подтверждающихся для Л (§ 5.2.3). Как следует из определения, логические базы данных, состоящие из хорновских дизъюнктов, не содержат дизъюнктивной информации. Будучи интерпретированными как множества логических формул, эти базы данных обладают свойством пересечения моделей, которое формулируется следующим образом. • Пересечение всех эрбрановских моделей базы данных, состоящей из конечного множества хорновских дизъюнктов, является моделью этой базы данных. Такая модель называется наименьшей моделью ([232], § 1.1.16). Интуитивно: наименьшая модель выявляет достоверную информацию, которую можно соотнести с рассматриваемой базой данных. В этой модели всякая недостоверная информация признается ложной. Запрос к базе данных Л,
5.5. Специфические области применения 351 составленной из хорновских дизъюнктов, в условиях гипотезы замкнутого мира сводится к запросу к ней относительно наименьшей модели. Наименьшая модель является канонической эрбрановской моделью базы данных А (§ 5.2.3). Дизъюнктивные базы данных, т.е. содержащие дизъюнктивную информацию, не обладают свойством пересечения моделей. Рассмотрим, например, базу данных А = {Р(а) V Р(Ь)}. Она имеет три эрбрановские модели. В первой - только один конкретный позитивный выполнимый литерал Р{а). Во второй модели подтверждается только литерал Р{Ь). В третьей же модели подтверждаются одновременно Р(а) и Р(Ь). Пересечение этих трех моделей пусто и, значит, моделью для А не является. Опишем метод работы с дизъюнктивными базами данных, предложенный Минкером [166]. Минимальной моделью базы данных А называется любая эрбрановская модель для А, не содержащая собственного подмножества, являющегося моделью для А. Дизъюнктивная база данных может обладать несколькими минимальными моделями. В вышеприведенном примере {Р{а)} и {Р(Ь)} -минимальные модели для А, а {Р(а\ Р{Ь)} таковой не является. На интуитивном уровне формула, подтверждающаяся во всех минимальных моделях для А, истинна в А, тогда как формула, которая не подтверждается ни в одной минимальной модели для А, ложна в А. Значение истинности формулы, подтверждающейся только в некоторых минимальных моделях для А, неизвестно. Рассмотрим совокупность всех минимальных моделей какой-либо базы данных А. Пересечение всех этих моделей является множеством формул. Будем обозначать его через Г (А). Из определения следует, что Г (А) содержит конкретные атомарные формулы, истинные во всех минимальных моделях для А. Двойственным образом для каждой минимальной модели для А рассматриваем множество конкретных атомарных формул, которые не подтверждаются в этой модели. Пересечение всех этих множеств обозначается через Г (А)'. Как видно из определения, Г (А)' содержит конкретные атомарные формулы, ложные во всех минимальных моде-
352 5. Формализация модифицируемых рассуждений лях. Конкретная атомарная формула интерпретируется как истинная (соответственно как ложная или как неопределенная), если она принадлежит Г (А) (соответственно принадлежит Г (А)' или не содержится ни в одном из этих двух множеств). Если использовать обобщенную гипотезу замкнутого мира, конкретная атомарная формула может быть выведена из базы данных А тогда и только тогда, когда эта формула принадлежит Г (А). Отрицание этой формулы удается вывести тогда и только тогда, когда сама формула содержится во множестве Г (А)'. Более формальное представление обобщенной гипотезы замкнутого мира будет изложено в § 6.5.3. Были предложены различные алгоритмы для запроса к базе данных в условиях действия обобщенной гипотезы замкнутого мира (см., например, [89]). Имеется несколько вариантов обобщенной гипотезы замкнутого мира. Упомянем метод применения отрицания через неудачу, основанный на обобщенной гипотезе замкнутого мира, ограниченной некоторыми предикатами из рассматриваемой базы данных [76]. К сожалению, эти алгоритмы зачастую имеют экспоненциальную сложность. В литературе были предложены различные расширения обобщенной гипотезы замкнутого мира. При этом стремились в основном получить возможность выводить логические формулы возрастающей сложности. Рассматривалась, например, так называемая продолженная обобщенная гипотеза замкнутого мира [253]. Эта гипотеза позволяет выяснить, можно ли вывести конкретную дизъюнктивную формулу вида -л Рх V ... V -л Рп. Увы, алгоритмы доказательства, которые связаны с подобными продолженными соглашениями, имеют экспоненциальную сложность. Альтернативным является метод субимплицирования [22]. Его можно толковать как разрешимую форму обобщенной гипотезы замкнутого мира. Этот метод связан с наложением специфических синтаксических ограничений на языки представления данных и языки запросов баз знаний.
5.6. Очерчивание 353 5.6. Очерчивание 5.6.1. Введение Метод очерчивания1* (или, короче, очерчивание) - это некий механизм формализации рассуждений, являющийся обобщением метода пополнения предиката и соглашений, опирающихся на одну из разновидностей гипотезы замкнутого мира. Этот метод, предложенный Маккарти [156], [157], представляет собой одно из весьма плодотворных и наиболее перспективных направлений исследования в области формализации модифицируемых рассуждений. Метод очерчивания остается предметом многочисленных работ, нацеленных на установление его свойств, расширение его применимости и устранение его недостатков. В первую очередь следует выделить работы Лифшица [142]-[145], [147], [148] и Бенара, Уилбина, Роллена [18]. Метод очерчивания основывается на следующем принципе. Очертить некоторое свойство в базе знаний А-значит ограничить область проверки этого свойства лишь той частью, которая требуется для А. Очерчивание некоего свойства в базе знаний А осуществляется путем введения в А дополнительной аксиомы, которую называют аксиомой очерчивания. Вообще речь идет о формуле второго порядка. Эта формула на синтаксическом уровне выражает минимизацию области проверки очерчиваемого свойства. Существуют многочисленные формы очерчивания. В настоящей книге представлено только очерчивание формул [157]. Мы ограничиваемся рассмотрением баз знаний, написанных на языке первого порядка &. Так как метод очерчивания основывается на введении дополнительной аксиомы и манипулировании с ней, то он является существенно синтаксическим. Однако из педагогических соображений мы сначала рассмотрим его с семантических позиций. х) Иное название-метод циркумскрипции.- Прим. перев. 45-4465
354 5. Формализация модифицируемых рассуждений 5.6.2. Минимальные модели С точки зрения семантики метод очерчивания позволяет минимизировать область проверки некоторых формул, фигурирующих в базе знаний. В разд. 5.7 будут установлены формальные рамки, позволяющие описать различные подходы к формализации модифицируемых рассуждений, использующие методы семантической минимизации. А в настоящем параграфе мы ограничимся лишь интуитивным рассмотрением семантической роли метода очерчивания. Пусть база знаний А состоит из формул, принадлежащих языку первого порядка &. Разобьем множество предикатных констант, входящих в формулы из А, на три попарно непересекающихся семейства ^1? ^2 и ^з- Семейство &у содержит очерченные предикаты, т.е. такие предикаты, у которых расширения должны быть минимизированы. Семейство ^2 состоит из предикатов, чьи расширения могут варьироваться в ходе очерчивания. В семейство 0>ъ входят остальные предикаты. База знаний А будет обозначаться через А(^1; ^2). Напомним, что моделью для множества А формул логики предикатов называется интерпретация, подтверждающая все формулы из А (§ 5.2.2). Пусть Л1 и е^2~Две модели для А. Говорят, что модель Л^ слабее модели М'2 при множестве 0>у очерченных предикатов и множестве 0>2 варьируемых предикатов, если удовлетворяются следующие три условия. 1. Модели Мх и М2 имеют одну и ту же область интерпретации, и в них функциональные константы и переменные интерпретируются идентично. 2. В^и Л2 предикатные константы из множества 0>ъ интерпретируются идентично. 3. Для каждого предиката Р, принадлежащего множеству 0>х очерченных предикатов, его расширение в модели Мх является подмножеством его расширения в модели М2. Интуитивно эти условия можно толковать следующим образом. Модели Мх и М2 «почти идентично» интерпретируют формулы из множества А. Модель Л\ «менее часто», чем
5.6. Очерчивание 355 модель М'2, подтверждает предикаты из 0>1. Поведение моделей Л1 и М2 в отношении предикатов из 0>2 может быть различным. Если в базе знаний А очерчиваются только предикаты из множества ^1? а предикаты из множества &2 остаются варьируемыми, то интерес представляют те модели А, которые являются минимальными относительно определенного только что упорядочения. Формула выводима из очерченной базы знаний, если она подтверждается во всех минимальных моделях. Другими словами, формула, выводимая из очерченной базы знаний А(&>1; &2), удовлетворяет ограничению минимальности, касающемуся расширения очерченных предикатов, т.е. предикатов из ^>1. Очерчивание базы знаний А можно провести только в том случае, если у нее есть минимальные модели. Но их может и не быть. Действительно, существование минимальных моделей гарантировано только при условии подчинения формул из А определенным ограничениям. В § 5.6.5 будут сформулированы достаточные условия сохранения выполнимости при очерчивании. 5.6.3. Формальное определение Метод очерчивания обычно представляется в синтаксической форме. При этом к базе знаний присоединяют некую формулу второго порядка, называемую аксиомой очерчивания. Очерчивание предикатов из множества 0*^ в базе знаний А(01; &2) при оставлении варьируемыми предикатов из множества 0>2 определяется следующей формулой: А(^; 0>2) Л ((У^ У^'2) -1 (&>\; &>'2) Л ^ < ^1)). Интуитивный смысл этой формулы таков. Второй конъюнктивный член требует, чтобы расширения предикатов из &х в А(^1; ^2) нельзя было «уменьшить», даже оставляя варьируемыми предикаты из 0>2. Другими словами, расширения предикатов из 0>у должны быть минимизированы в базе знаний А(^1; &2) при варьировании расширений предикатов из 0>2. Дадим пояснения различных частей приведенной фор- 45*
356 5. Формализация модифицируемых рассуждений мулы. Выражение УМ означает универсальную квантифика- цию второго порядка, относящуюся к множеству & предикатов. Если Р и Р- предикаты одной и той же арности, то выражение Р < Р представляет формулу Ух(Р(х) => Р(х)) Л Л -л (У(х)(Р(х) => Р(х))). Если Р ^ Р есть краткая запись формулы У(х)(Р(х) => Р(х)% то выражение Р < Р логически эквивалентно формуле Р ^ Р Л -| (Р ^ Р). Пусть & и &- соответственно кортежи (Р19 ..., Рп) и (Р1? ..., Р„) предикатов подходящих арностей. Тогда 0? < & определяется формулой Л < Л А ... Л Л < Л Л -I (Рх < Л Л ... Л Ря ^ Л), а ^' ^ ^ определяется формулой Р\ ^ /\ Л ... Л Рп ^ Рп. 5.6.4. Пример Проиллюстрируем использование метода очерчивания на каноническом примере [157]. При очерчивании базы знаний необходимо сделать* несколько шагов: выбрать предикаты, которые должны быть очерчены, и предикаты, расширение которых может варьироваться; выбрать специфические предикаты для конкретизации формулы очерчивания и эффективного вычисления с помощью логики первого порядка всего того, что можно вывести из очерченной базы знаний. Выбор предикатов для очерчивания можно проводить, используя довольно простую стратегию. Когда осуществляется концептуализация области рассуждений, вполне естественно пользоваться общими законами, допускающими исключения (такие законы описывают нормальные ситуации и по умолчанию не учитывают особых случаев). Исключения представляются специфическими унарными предикатами, которые обозначаются через Аномалия{ и являются объектами очерчивания. Опишем с помощью формул логики предикатов следующие знания. Пусть нормальный объект не летает; птица является таким объектом, который оказывается исключением из этого первого правила; нормальная птица летает; страус-такая птица, которая не летает. • V х (Объект (х) Л ~1 Аномалия 1(х) => ~1 Летает (х)) • V х (Птица (х) => Объект (х) Л Аномалия 1(х))
5.6. Очерчивание 357 • Ух (Птица (х) Л ~1 Аномалия 2(х) Летает (х)) • Ух (Страус (х) => Птица (х) Л ~1 Летает (х)) Эти четыре формулы образуют базу знаний А. Мы можем очертить предикаты Аномалия 1 и Аномалия2 в А. Минимизируем исключения в правилах, выраженных первой и третьей формулами. Аномальные объекты и птицы могут быть только в случаях, явно предусмотренных в А. Что касается предиката Летает, то он остается варьируемым в процессе очерчивания. Аксиома очерчивания записывается следующим образом: (V Аномалия^ У Аномалия^ У Летает') —\ (А ({Аномалия^, Аномалия^}; {Летает'}) Л (Аномалия^ ^ Аномалияг) Л Л (Аномалия'2 ^ Аномалия2 Л ~1 ((Аномалия 1 ^ Аномалия'^ Л (Аномалия2 ^ Аномалия2))). Отметим, что это выражение является формулой второго порядка; кванторы общности действуют на предикаты Аномалия^, Аномалия^ и Летает!. Для эффективного использования формулы очерчивания надлежит конкретизировать каждую из предикатных переменных. Трудность осуществления процесса очерчивания заключается главным образом в выборе предикатов, подлежащих конкретизации. В нашем примере интуиция подсказывает выбор следующих конкретизации: • Аномалия\ (х) = Птица (х) • Аномалия'2(х) = Страус (х) • Летает' (х) = Птица (х) Л ~1 Страус (х) В этом случае процедура вывода в логике первого порядка (простая, но громоздкая) позволяет получить следующие формулы, используя базу знаний А и конкретизированную формулу очерчивания: • V х (Аномалия 1(х) = Птица (х)) • Ух (Аномалия 2(х) = Страус (х))
358 5. Формализация модифицируемых рассуждений • Ух (Объект (х) Л ~1 Птица (х) => ~1 Летает (х)) • V* (Птица (х) Л ~1 Страус (х) => Летает (х)) Единственными исключениями из правила, гласящего, что объекты не летают, являются птицы. Единственными птицами, которые не летают, являются страусы. Объекты, которые не являются птицами, не летают. Птицы, которые не являются страусами, летают. 5,6.5. Свойство В этой книге мы ограничимся изложением лишь некоторых свойств и результатов, касающихся очерчивания, не приводя никаких доказательств. Аксиома очерчивания является выражением из логики второго порядка. Это обстоятельство затрудняет эффективное использование метода очерчивания. Напомним, что множество формул, выводимых из базы знаний, содержащей формулы второго порядка, вообще говоря, не является рекурсивно перечислимым. При подборе удачной конкретизации схемы очерчивания полезно бывает руководствоваться интуицией (как в примере из § 5.6.4). Аксиома очерчивания имеет характер аксиомы индукции (второго порядка) и может интерпретироваться как таковая. Как подчеркивал Нильсон [140, с. 203], применение метода очерчивания может потребовать знания решения поставленной проблемы. Однако для некоторых классов формул аксиома очерчивания может «съехать» с уровня формул второго порядка до уровня формул первого порядка. В этом случае были предложены достаточно систематические методы для применения очерчивания. Рассмотрим элементарный пример, в котором должен быть очерчен только один предикат и никакой предикат не варьируется. Говорят, что формула А из У обладает позитивным вхождением предиката Р, если Р входит позитивно в клаузальную форму формулы А. В случае когда все вхождения предиката, подлежащего очерчиванию, позитивны в А, аксиома очерчивания редуцируется к формуле первого порядка. Можно обобщить и понятие унипозитивного относитель-
5.6. Очерчивание 359 но Р дизъюнкта (§ 5.4.4), которое использовалось в методе пополнения предиката, и говорить об унипозитивных относительно Р формулах (для некой предикатной константы Р). Формула называется унипозитивной относительно Р, если ее можно записать в нормальной форме N (Р) Л (Е ^ Р), где М(Р) не имеет позитивных вхождений предиката Р, а Е- формула, не содержащая ни одного вхождения предиката Р. Очерчивание предиката Р в базе знаний, которое может быть записано с использованием некоторой унипозитивной относительно Р формулы в виде выражения N (Р) А (Е < Р), является формулой первого порядка ДО(Е) Л (Е = Р). Здесь N (Е) получается из N (Р) заменой каждого вхождения предиката Р на Е, а равенство Е—Р есть сокращенная запись соотношения # ^ Р Л Р ^ #. В частности, очерчивание предиката Р в множестве унипозитивных относительно Р дизъюнктов представляет собой просто пополнение Р. Другая интересная ситуация возникает при рассмотрении формул, сепарабельных относительно предиката Р [142], т.е. формул, которые: • либо не содержат ни одного позитивного вхождения предиката Р, • либо имеют вид Е ^ Р, где Е не содержит ни одного вхождения Р, • либо получены из сепарабельных формул посредством операций конъюнкции и дизъюнкции. Отметим, что унипозитивные относительно Р формулы сепарабельны относительно Р. В сепарабельной форме можно представить многочисленные формулы. Аксиома очерчивания для сепарабельных формул может упроститься до формулы первого порядка. Если выражаться точнее, то речь идет о следующем результате. Если А сепарабельна1} относительно предиката Р, то А можно записать в ассоциированной нормальной форме Х/Д^-СР) Л (Ег ^ Р)), где Л^СР)- формула, не содержащая позитивных вхождений предиката Р, а Е{ не имеет ни одного х) То есть все формулы из базы знаний А сепарабельны относительно предиката Р.-Прим. перев.
360 5. Формализация модифицируемых рассуждений вхождения предиката Р. Очерчивание предиката Р в Л эквивалентно формуле \/4- (2>4- А(Р = Е{))\ здесь ^^ определяется формулой Э( = М^) Л А^^^-](N^(Е^) Л (Я,) < Я,)), где ЛГД/Г) получается как результат замены в М((Р) всех вхождений предиката Р на Е [142]. Имеются также разнообразные результаты, позволяющие довольно систематически искать очерчивание упорядоченного множества предикатов для специфических классов формул [77]. Иногда оказывается возможным свести очерчивание с варьируемыми предикатами к очерчиванию без таковых. Пусть &х и &>2-два множества предикатов. Если А можно переписать в виде #(^2) Л ($ ^ ^2), где N не содержит позитивных вхождений предикатов из ^2, а $ не имеет ни одного вхождения предикатов из ^2, то очерчивание в Л множества ^\ предикатов при множестве ^2 варьируемых предикатов сводится к очерчиванию без варьируемых предикатов. Очерчивание оказывается эквивалентным логической конъюнкции очерчивания в N(3) множества ^1 предикатов и формулы ЛГ(^2) Л ($ < ^2). Как и в случаях гипотезы замкнутого мира и метода пополнения предиката, встает задача нахождения условий, обеспечивающих сохранение выполнимости при использовании метода очерчивания. Некоторые выполнимые множества формул1} могут стать невыполнимыми в ходе процесса очерчивания. Это связано с отсутствием уникальной минимальной модели для базы знаний А; минимальных моделей может быть несколько или ни одной. Мы приведем здесь только одно достаточное условие сохранения выполнимости при очерчивании множества предикатов. • Если А является выполнимой и состоит из формул, почти универсальных относительно предиката Р, то очерчивание предиката Р в базе знаний А будет выполнимым [144]. (Формула называется почти универсальной относительно То есть множества выполнимых формул.- Прим. перев.
5.7. Доказательства в избранных моделях 361 предиката Р, если она имеет вид Ух(ср), где х-кортеж переменных и ф не содержит позитивных вхождений предиката Р в область действия некоторого квантора.) Заметим, что формулы, сепарабельные относительно некоторого предиката Р, являются почти универсальными относительно этого предиката. Если же имеются предикаты, остающиеся варьируемыми при очерчивании, то приведенное утверждение, вообще говоря, неверно. Однако если А является выполнимым множеством универсальных формул (т.е. если А является множеством дизъюнктов или же конъюнктивная нормальная форма каждой формулы из А не содержит сколемовских функций), то очерчивание множества предикатов при наличии таких предикатов, которые остаются варьируемыми, является выполнимым [144]. Закончим это краткое обозрение свойств метода очерчивания замечанием о том, что для очерчивания можно определить понятие полноты. Интуитивно: полнота очерчивания имеет место в том случае, если из очерченной базы знаний можно вывести любую формулу, истинную во всех минимальных моделях посылок. Бенар, Удбин и Ролан [18] нашли общие условия полноты и неполноты для метода очерчивания. В данной книге, являющейся вводным руководством, не представляется возможным изучить многочисленные варианты метода очерчивания, описанные в литературе. Ограничимся упоминанием таких развитых форм метода очерчивания, как поточечное очерчивание [145] и очерчивание с приоритетами [157]. Отличная подборка свойств разнообразных вариаций метода очерчивания имеется в [59]. Подробные примеры применения теорем, сформулированных в этом параграфе, приводятся в [77]. 5.7. Доказательства в избранных моделях 5.7.7. Введение В классической логике некое заключение удается доказать (вывести), когда оно подтверждается во всех моделях посылок. В немонотонной же логике формула может быть доказу- 46-4465
362 5. Формализация модифицируемых рассуждений емой (выводимой), когда она подтверждается лишь в некоторых «привилегированных» моделях посылок. Большинство немонотонных логик, изученных в этой главе, можно сравнивать между собой с помощью следующего семантического анализа. В рассматриваемой логике дается характеризация множества тех моделей посылок, в которых (моделях) позволяется осуществлять выводы (доказательства) [22], [223], [224], [19]. Эти специфические модели называются избранными моделями [19]. Они переводят на логический язык специфический анализ посылок, проводимый субъектом, осуществляющим модифицируемые выводы (доказательства). Сравнивая избранные модели каждой из логик, выявляют имеющиеся преимущества записи в рамках классических рекомендаций теории моделей. Соглашения минимизации, изложенные в настоящей главе, определяют те избранные модели, в которых предикаты имеют минимальную экстенцию. По самой своей природе избранные модели отражают особую рациональность некоего специфического субъекта. Эта рациональность не всегда соответствует тому, что было бы идеальной и «корректной» логической способностью. Действительно, существуют различные виды рациональности, направляющие модифицируемые рассуждения. До того как сформулировать и проанализировать различные вопросы, касающиеся природы тех систем, которые должны формализовывать упомянутые рассуждения, займемся кратким описанием метода избранных моделей. Напомним еще раз, что его целью является сравнение различных немонотонных логик. 5.7.2. Избранные модели Для сравнения немонотонных логик были предложены различные методы, базирующиеся на теории моделей. Здесь мы опишем метод избранных моделей [19]. Этот метод сравнения выделяется своей простотой. По-видимому, его легче всего распространить за пределы его первоначальной области применения (§ 5.7.4). Теория избранных моделей основывается на следующей
5.7. Доказательства в избранных моделях 363 идее. Немонотонное рассуждение соответствует выводам на множестве специфических моделей посылок. Выбор таких моделей зависит от рациональности субъекта. Чаще всего эта рациональность выражается в виде соглашений о минимизации неявной позитивной информации, которая может ассоциироваться с заданными посылками. В семантических терминах она конкретизируется посредством предпочтения тех моделей посылок, которые: 1) минимизируют экстенции первого семейства предикатов; 2) максимизируют экстенции второго семейства предикатов; 3) сохраняют неизмененными экстенции третьего семейства предикатов; 4) не налагают никаких ограничений на все остальные предикаты. Чтобы отразить шкалу удовлетворения этих ограничений, будет задано отношение предпорядка (или, короче, нредпорядок) между моделями базы знаний А. Напомним, что отношение предпорядка является рефлексивным и транзитивным. Подчеркнем, что если модель Л «уступает» модели N и наоборот, то Л и N необязательно идентичны. Модели, минимальные относительно заданного предпорядка, будут избранными моделями рассматриваемой базы знаний, т. е. моделями, которые подтверждают выводы, дозволенные системой. Характеризация избранных моделей немонотонной логики индуцирует отношение ослабленного семантического следования между множеством посылок и одним (или несколькими) множеством (множествами) заключений, которые можно из этих посылок вывести. Пусть «^-язык первого порядка, использующий множество ^ предикатных констант. Множество ^ можно разбить на четыре подмножества ^=, ^+, ^_, ^. Множество ^= состоит из предикатов, экстенции которых должны быть идентичными во всех моделях; множество ^+ содержит только такие предикаты, экстенции которых должны быть максимизированы; ^_ есть множество предикатов, экстенции которых подлежат минимизации; & -такое множество предикатов, экстенции которых могут варьироваться при переходе от одной модели к другой. Отношение предпорядка ^ ^ между моделями базы знаний А относительно выбранного разбиения множества & определяется следующим образом [19]. Пусть М и сУГ-две модели для А, имеющие одну и ту же область интерпретации 46*
364 5. Формализация модифицируемых рассуждений и идентично интерпретирующие функциональные константы и переменные. Для любого предиката Ре& обозначим через \Р\ и \Р\Л экстенции предиката Р в моделях М и Л соответственно. Будем говорить, что модель Ж предпочтительнее модели М относительно разбиения множества ^ и применять обозначение ЛГ^^М, если выполняются следующие условия: # \ру = \р\м для всех Ре&> = ; # \ру => Щ-* для всех Ре^+; # {ру с: {р}-* для всех Ре&>_; После установления отношения предпорядка между моделями базы знаний можно ввести понятие модели, минимальной относительно этого предпорядка. Модель М базы знаний А называется минимальной относительно предпорядка ^ , если, какова бы ни была модель Л для А, удовлетворяющая условию ЛГ^ Л, справедливо соотношение М ^ ^. Минимальные модели называются избранными моделями для А. 5.7.3. Применение к немонотонным логикам Используя избранные модели, можно охарактеризовать большинство немонотонных логик, описанных в этой главе. Множество предикатов используемого той или иной из этих логик языка можно подходящим образом разбить на четыре подмножества: ^=,^+,^_ и ^. Формула А немонотонно выводима из множества А формул языка У? тогда и только тогда, когда А подтверждается во всех избранных моделях для А. В качестве примера уточним природу избранных моделей, подразумеваемых при использовании гипотезы замкнутого мира. Ограничимся базами данных, содержащими только конкретные позитивные литералы. Напомним, что в эрбрановской модели областью интерпретации является множество конкретных термов рассматриваемого языка и каждый конкретный терм интерпретируется самим этим термом (§ 5.2.3). Справедливо следующее утверждение [19], [143].
5.7. Доказательства в избранных моделях 365 Конкретный литерал А выводим с использованием гипотезы замкнутого мира из базы знаний А тогда и только тогда, когда А подтверждается во всех эрбрановских моделях для А, минимальных относительно предпорядка ^ порожденного следующим разбиением множества ^: >==^+=^ = 0, ^_=^. Расширение каждого предиката минимизируется в рамках гипотезы замкнутого мира. Подход, основанный на избранных моделях, вообще говоря, не позволяет дать полную характеризацию метода пополнения предиката, ибо, как уже подчеркивалось в § 5.4.4, последний опирается не только на семантическое содержание формул, но и на их синтаксическую форму. В соответствии с разными точками зрения метод очерчивания может толковаться как обобщение и/или улучшение метода пополнения предиката. Весьма естественно метод очерчивания описывается с помощью избранных моделей. Очерчивание можно переопределить следующим образом: Формула А языка У выводима из множества А формул языка &, где множество А очерчено относительно предиката Р при варьируемых предикатах Р19 ... , Рп, когда формула А подтверждается во всех моделях, минимальных относительно предпорядка, порожденного разбиением множества & на следующие четыре подмножества: ^= = &> \ {Р, Р1,..., Рп).. Р+ = 0.&- = {Р}> ». = {Л,..., Рп}- Рассмотрим, например, такую базу знаний: А = {Птица (х) Л ~1 Аномалия (х) => Летает (х), Страус (х) => => Аномалия (х)}. Когда мы очерчиваем предикат Аномалия в базе знаний А, варьируя предикат Летает, то получается очерченная база знаний А' = А Л (V х (Аномалия (х) = Страус (х))). В терминах минимальных моделей: мы разбили множество предикатов на четыре подмножества &>= = {Птица, Страус], &+=0, &_ = {Аномалия}, &= {Летает}. Избранными моделями будут модели, минимальные относительно такого предпорядка, в котором минимизируется предикат Аномалия, варьируется предикат Летает и экстенции предикатов Птица и Страус остаются неизменными. Очерчива-
366 5. Формализация модифицируемых рассуждений ние базы знаний А осуществляется путем введения аксиом очерчивания и сводится к определению новой базы знаний, модели которой являются избранными моделями для А. Приведем еще один пример использования метода сравнения избранных моделей. Рассмотрим базу знаний А, содержащую следующую информацию: Мужчина (Кристиан) Мужчина (Франсис) V х (Мужчина (х) Л Обыкновенный (х) => ~1 (Колдун (х))) V х (Солдат (х) => Мужчина (х)) Нас будет интересовать разбиение множества предикатов & — {Мужчина, Обыкновенный, Колдун, Солдат}, задаваемое такой четверкой подмножеств: (^=, ^+, ^_, &) = ({Мужчина}, {Обыкновенный}, {Колдун}, {Солдат}). Мы выбрали это разбиение потому, что оно представляется нам вполне естественным с точки зрения оказания предпочтения тем моделям, которые максимизируют множество индивидуумов, подчиняющихся предикату Обыкновенный, и которые минимизируют экстенцию предиката Колдун, оставляя при этом без изменения экстенцию предиката Мужчина и позволяя осуществлять варьирование экстенции предиката Солдат. Рассмотрим различные модели базы знаний А. Пусть сначала две модели Л и Л' определяются следующим образом: {Мужчина}'" = {Мужчина}*" = {Кристиан, Франсис}, {Обыкновенный}"" = 0, {Обыкновенный}*" = {Кристиан}, {Колдун}*" = {Франсис}, {Колдун}*"' = 0, {Солдат}*" = {Франсис}, {Солдат}*"' = {Кристиан}. Модель Л' предпочтительнее модели Л относительно пред- порядка, порожденного выбранным разбиением множества & (т.е. Л'^ ^Л). Однако существуют модели, которые предпочтительнее обеих этих моделей относительно того же предпорядка. Рассмотрим, например, модель Л": {Мужчина}*" — {Кристиан, Франсис},
5.7. Доказательства в избранных моделях 367 {Обыкновенный}^ = {Кристиан, Франсис}, [Колдун}*" = 0, [Солдат^" = {Кристиан}. Она является избранной моделью для базы знаний Л относительно предпорядка, порожденного выбранным разбиением множества &. Не существует модели для А, которая была бы предпочтительнее модели Л" относительно рассматриваемого нами сравнения между моделями. 5.7.4. Возможные обобщения Мы изложим метод сравнения, предложенный Бенаром и Зигелем, не только потому, что он примечателен своим названием. Этот простой метод можно различными способами обобщить. Например, оказывается возможным учесть допустимость приоритетов между минимизируемыми или максимизируемыми предикатами. В частности, семантику форм очерчивания с приоритетами [157], [145] можно охарактеризовать посредством оказания предпочтения тем моделям, которые получаются в результате упорядоченной минимизации предикатов [148]. С другой стороны, основанный на избранных моделях подход дает возможность увидеть характеризацию других типов рациональности помимо описанных выше. Напомним, что описанные выше формы касались субъектов, которые минимизируют или иногда максимизируют некую неявную информацию. Хотя такая рациональность управляет очень многими рассуждениями, тем не менее интересно рассмотреть и другие типы рациональности. Субъекты, рассуждающие модифицируемым образом, могут выводить заключения, всего лишь выполнимые относительно их основных предположений. Для совокупности посылок субъекты выбирают модель или множество избранных моделей. Этот выбор осуществляется сообразно специфической рациональности субъекта. Избранные модели представляют видение мира, присущее субъекту. Они соответствуют некоему специальному разбиению множеств формул, предикатов, функций и переменных рассматриваемого языка и зависят от специфических операций, касаю-
368 5. Формализация модифицируемых рассуждений щихся экстенций, значений и областей значений. Это разбиение и эти операции являются конкретизацией специфической рациональности субъекта. В следующем параграфе будут кратко проанализированы возможные разновидности природы рациональности субъекта, который рассуждает модифицируемым образом. Однако следует подчеркнуть, что «корректное» рассуждение, которое некий посторонний субъект может проводить по поводу того, каковы в действительности предположения субъекта, чье рассуждение является модифицируемым, должно оставаться строгим логическим умозаключением (или, по меньшей мере, «осторожным» умозаключением). Стало быть, это рассуждение должно налагать некоторые ограничения минимальности на все то, что можно вывести по поводу предположений рассматриваемого субъекта (даже если этот субъект сам не осуществляет специальной операции минимизации). 5.7.5. Рациональность модифицируемого рассуждения Существуют различные формы рациональности, направляющие модифицируемое рассуждение. Само собой разумеется, что подходящая логика должна учитывать специфическую рациональность того субъекта, чье рассуждение надо моделировать. Природа этой рациональности зачастую зависит от рассматриваемых применений. Ее влияние проявляется на различных уровнях разработки логической системы. Сейчас мы бегло проанализируем разнообразные типы рациональности модифицируемых рассуждений. В природе подобных типов рациональности будем различать две составляющие: логическую и прагматическую. Логическая составляющая позволяет выявить природу, а также всю гамму рассуждений, которые теоретически доступны моделируемому субъекту. Прагматический аспект дает возможность эффективно выбрать рассуждение в упомянутой гамме для рассматриваемого применения. • Логическая составляющая рациональности Прежде всего проанализируем логическую составляю-
5.7. Доказательства в избранных моделях 369 щую различных типов рациональности, которые позволяют управлять модифицируемым рассуждением. Проводимое в этой книге исследование мы ограничиваем лишь такими формами модифицируемых рассуждений, которые сохраняют выполнимость. Значит, из рассмотрения исключается моделирование субъектов, могущих выводить одновременно заключения, невыполнимые в совокупности. Сохранение выполнимости является критерием, ограничивающим область применимости немонотонных логик. В наибольшей общности это звучит так: субъект, подчиняющийся только указанному ограничению (о сохранении выполнимости), обладает всего лишь выполнимым относительно основных предположений видением мира. Теоретически ему доступны различные видения мира, но его специфическая прагматическая рациональность диктует ему какое- то особенное видение. Этот выбор является модифицируемым по самой своей природе и при поступлении новой информации может быть подвергнут пересмотру. Принимая во внимание природу таких рассуждений, их относят к разряду предположительных. Рассмотрим другую крайность. Пусть субъект способен осуществлять идеально рациональные рассуждения. Такой субъект выводит только тавтологические следствия из своих исходных предположений. Подчеркнем, что эпитет «идеально рациональные» не служит обозначением какой-то абсолютной реальности. Хотя его обычно резервируют для классических тавтологических рассуждений, он иногда используется и при рассмотрении иных действий (например, интуиционистских рассуждений, которые отвергают принцип исключенного третьего). Идеально рациональный субъект соблюдает все законы классической логики. По самой своей природе «идеально рациональные» рассуждения окончательны и немодифицируемы. Однако они могут стать модифицируемыми, если будут базироваться на соглашениях, касающихся неполных или пока еще неизвестных знаний (§ 5.1.2). Действительно, рациональный субъект может осуществлять интроспективное рассуждение и учитывать границы своих знаний. Такое рассуждение требует соглашений относительно обработки неизвестной или неполной информа- 47-4465
370 5. Формализация модифицируемых рассуждений ции. Эти соглашения могут быть осторожными или предположительными. Например, обобщенную гипотезу замкнутого мира, введенную Минкером (§ 5.5.2), можно квалифицировать как осторожное соглашение, поскольку за истинную принимается только та информация, которая подтверждается во всех минимальных моделях посылок, а недостоверная информация рассматривается как таковая. Тем не менее большинство подходов, основывающихся на какой-либо разновидности минимизации неявной информации, являются предположительными по своей природе, поскольку, что касается неизвестной информации, модифицируемые соглашения и к ней применимы. Эпитет «идеально рациональные» иногда сохраняют и в тех случаях, когда рассуждения остаются «логически корректными» по отношению к посылкам. При этом используется дополнительное соглашение о том, что в наличии имеется вся информация (§ 5.1.2). Таким образом, идеально рациональные рассуждения могут быть модифицируемыми, когда они основываются на принципах и соглашениях, исключающих наличие неполных или неизвестных знаний. Формализация осторожного интроспективного рассуждения, рассматриваемая в полной общности, соответствует введению нового силлогизма. Этот силлогизм соответствует применению некоего строгого логического умозаключения о знании, предполагаемом полным (но которое не обязательно является полным). Наконец, существуют различные формы логических составляющих, которые могут присутствовать в том типе рациональности, который управляет модифицируемыми рассуждениями. В немонотонных логиках логическая составляющая подчиняется условию сохранения выполнимости. Что же касается всего остального, то надо выделить раз-1 личные случаи. Рассуждение может быть чисто предположи-- тельным. В этом случае субъект выводит всего лишь выпол! нимые заключения сообразно прагматической составляющей своего типа рациональности. Другой случай состоит в тому что субъект стремится к идеально рациональному рассуждению. Это рассуждение осуществляется интроспективным образом с учетом спефицических соглашений, касающихся обработки неполной или неизвестной информации. Именно
5.7. Доказательства в избранных моделях 371 эти соглашения являются источником модифицируемости рассматриваемых рассуждений. Чаще всего речь идет о соглашениях минимизации. Может оказаться, вообще говоря, что осуществимы взаимно несовместные рассуждения. Однако подчеркнем, что различие между всего лишь выполнимым рассуждением, с одной стороны, и дедуктивным рассуждением, проводимым на основе базы знаний, пополненной соглашениями, касающимися неполной информации,-с другой, существенны исключительно в контексте некоего эпистемологического анализа. Действительно, можно установить точное соответствие между определенными логическими средствами, обеспечивающими формализацию этих двух типов рассуждений [128]. Совершенное дедуктивное рассуждение, осуществляемое на основе пополненной базы знаний, может соответствовать чисто предположительному рассуждению, проводимому на основе исходной базы знаний. • Прагматическая составляющая типа рациональности и выбор специфического расширения Прагматическая составляющая рациональности субъекта влияет на его позицию по отношению ко всей гамме рассуждений, которая доступна ему благодаря логической составляющей его рациональности. Возможны различные стратегии выбора. Например, осторожный субъект выводит только то, что подтверждается всем ходом рассуждения. В логиках умолчаний моделируемое рассуждение обычно является предположительным, так как вообще исследуется только одна экстенция. Различные возможные формы прагматической составляющей рациональности могут, кроме того, строиться с привлечением средств, принадлежащих каким-то определенным уровням рассматриваемой логической системы. По мнению одних авторов, прагматическая составляющая должна формулироваться непосредственно на объектном логическом уровне, т.е. в рассматриваемой логической системе как таковой. По мнению же других авторов, она должна описываться на более абстрактном уровне на некоем метаязыке [248], [255]. 47*
372 5. Формализация модифицируемых рассуждений Рассмотрим затронутый выше вопрос для трех типов немонотонных систем: дедуктивных баз данных, логик умолчаний и автоэпистемических логик. В дедуктивных базах данных на практике запросами управляют метасоглашения. В логиках умолчаний для описания правил предположения обращаются к примитивам, принадлежащим рассматриваемому метаязыку. Соответствующая прагматическая составляющая рациональности субъекта имеет два уровня. Первая ее часть выражается через правила предположения. Зачастую эти правила определяют первое подмножество возможных экстенций по отношению к различным вариантам видения мира, которые можно было бы построить на основании имеющихся посылок. По отношению к первоначальным предположениям рассуждения сами оказываются предположительными только посредством «правил предположения». Вторая часть прагматической составляющей рациональности субъекта выражается в том выборе, который этот субъект осуществляет между различными возможными экстенциями рассматриваемой исходной базы знаний. Иными словами, прагматическая составляющая рациональности рассматриваемого субъекта выражается в выборе правил умолчания и в установлении очередности применения этих правил. Однако подчеркнем, что очень редко язык предназначен для явного выражения этой рациональности в использовании правил предположения. Проблема выбора специфической экстенций, как можно заметить, не всегда напрямую решается в логике умолчаний. Некоторые авторы предложили организовывать знания и логическую систему так, чтобы предпочтение оказывалось специфической ветви рассматриваемых рассуждений (см. [64], [150], [152], [170], [192], [236] и [255]). В автоэпистемических логиках моделируемые рассужде* ния называются «идеально рациональными». Однако возможны различные альтернативы рассуждений. В первона? чальной версии автоэпистемической логики выбор устойчи* вой экстенций не исследовался [178], [180]. Иначе говоря* прагматическая составляющая рациональности рассматри-? ваемого субъекта не описывалась в этой логической систему Скорее представлялось, что она должна подключиться лишь
5.7. Доказательства в избранных моделях 373 в ходе использования системы. Однако отметим, что иногда оказывается возможным ограничить множество исходных предположений интроспективного субъекта так, чтобы имелась только одна устойчивая экстенция. Например, Гельфонд [73] описал класс автоэпистемических теорий, называемых стратифицированными автоэпистемическими теориями, которые обладают единственной устойчивой экстенцией. Известно, что большинство немонотонных логик обладают свойством полиэкстенсионалъности: можно получить различные экстенции, исходя из одного и того же множества посылок. На практике субъект будет выбирать некую специфическую экстенцию. Большинство немонотонных логик не позволяет явно и прямо выразить прагматическую составляющую рациональности субъекта, которая диктует выбор хода рассуждений [95]. Однако существуют различные методы усиления системы, которые наделяют ее способностью выбирать специфический вид рассуждений при наличии нескольких возможностей. Как уже отмечалось, в некоторых системах (таких, как логика умолчаний) этот выбор может напрямую управляться подходящей информацией, содержащейся в правилах умолчания [209]. Например, можно упорядочить знания сообразно их специфике и их синтаксической сложности [150], [170]. Более общо, немонотонная логика может принимать во внимание упорядоченность поступающей информации, очередность применяемых правил или специфическую направленность отбора минимизируемых предикатов. Например, стратегия очерчивания, которая определяет, какие предикаты надо минимизировать, а какие варьируются, а также приоритеты рассмотрения этих предикатов, поддается описанию с помощью метаязыка или даже объектного логического языка посредством аксиом [147]. Еще один пример касается системы вывода Пролога. Эта система* учитывает порядок поступающих дизъюнктов. Отметим, что это представляет собой нарушение фундаментального принципа логического программирования, который восхваляет строгое различие между знаниями и рассуждениями. Порядок дизъюнктов не должен влиять на ответы на те вопросы, которые задаются рассматриваемой системе. Идеально было бы, если бы для необходимого учета
374 5. Формализация модифицируемых рассуждений этого порядка он должен был выражаться и использоваться либо в виде поступающих в систему метазнаний в форме дизъюнктов, либо на уровне метаязыка. Для стратифицированных множеств дизъюнктов (рассматриваемых как логические программы или как дедуктивные базы данных) выбор желаемой экстенции управляется неявным образом. Условие стратификации позволяет определить избранную модель {совершенную модель в терминологии семантики из [196]), которая соответствует той специфической интерпретации, которую хотелось бы связать с рассматриваемой базой знаний [8], [148], [197]. Напомним, что фрагменты логики умолчаний [20], очерчивания с приоритетами [197], [75] и автоэпистемической логики [73], если бы их перевели в стратифицированные логические программы, могли бы обладать этим свойством. В некоторых приложениях выбором альтернатив рассуждений управляют специфические факторы исследуемой области. Например, когда поднимается вопрос о рассуждениях по поводу планов и действий, то существенную роль играет фактор времени. Явное задействование этого фактора в представленных знаниях и углубленное исследование теорий причинности наблюдаемых явлений иногда позволяют правильно определить выбор желательной экстенции [121], [146], [224]. В настоящем параграфе мы только >и сделали, что осуществили анализ различных форм рациональности, которые позволяют управлять модифицируемыми рассуждениями. Наконец подчеркнем, что естественная рациональность модифицируемых рассуждений может отличаться во многих других пунктах от классических дедуктивных рассуждений. Например, транзитивность между выводами не всегда желательна в рассуждениях с умолчаниями [208]. 5.8. Заключение Формализация модифицируемых рассуждений является главной темой исследований в искусственном интеллекте. Формализация «строго корректных» рассуждений может реализовываться и напрямую через классическую логику. Но формализация модифицируемых или неопределенных рас-
5.8. Заключение 375 суждений настоятельно требует развития и совершенствования подходящих формальных рамок. Формализация модифицируемых рассуждений должна учитывать логическую составляющую рациональности моделируемого субъекта. Эта составляющая определяет целую гамму взаимно несовместимых рассуждений, которые кажутся доступными для субъекта. Прагматическая составляющая рациональности этого субъекта характеризует его эффективную способность осуществлять выбор (возможных) альтернатив. Например, субъект будет рассматривать лишь то, что является общим для всех возможных рассуждений. Или же, напротив, он предпочитает одну специфическую альтернативу рассуждений. Различные возможные рациональности модифицируемых рассуждений зачастую покоятся на неявных соглашениях, которые не включаются напрямую в дедуктивные логические системы. В настоящей главе мы изучили несколько вариантов естественной рациональности, которые мотивируют большинство наших рассуждений и которые управляют нашим привычным способом обработки информации. Эта рациональность выражается в различных операциях минимизации неявной позитивной информации, которую можно ассоциировать с множеством исходных знаний. С позиций логики рассуждению соответствует вывод. Мы проиллюстрировали, каким образом различные формы модифицируемых рассуждений могут моделироваться посредством специфических систем вывода. На семантическом уровне принятие во внимание этих законов и этих соглашений, касающихся модифицируемых рассуждений, подвело нас к определению отношений ослабленного семантического следования. В таких системах удается вывести определенные заключения, если они подтверждаются в некоторых моделях посылок, называемых избранными моделями. Классическая логика является преимущественно средством оценки истинности высказываний. Немонотонные же логики вписываются в более дерзновенный проект: разработку языков и систем вывода, область действия которых более обширна, нежели область действия классической логики. А ведь это позволяет выражать и формализовывать рассуждения здравого смысла.
6. ЛОГИКА И БАЗЫ ДАННЫХ 6.1. Введение Используя логический подход, мы излагаем в этой главе два способа описания семантики реляционных баз данных и некоторых их экстенций. В основе первого подхода лежит традиционная семантика реляционных баз данных, т.е. такая, которая отражает управление базами данных в реляционных системах научно- исследовательских разработок и промышленности. С позиций логики этот подход сводится к 1) сопоставлению реляционной базе данных логического языка первого порядка и 2) описанию базы данных как эрбрановской модели некоторых формул этого языка. Выполнение запроса состоит в отборе тех фундаментальных конкретизации, которые истинны в обсуждаемой модели. Позже, когда проявился интерес к обогащению реляционной модели механизмом дедукции, чтобы соединить воедино Пролог и реляционные базы данных, было предложено другое представление базы данных-не в виде модели, а ч: привлечением подходящей теории, сформулированной на языке первого порядка. При таком подходе выполнение запроса сводится к отбору тех фундаментальных конкретизации, которые являются теоремами теории. Подход на основе традиционной точки зрения мы назовем семантическим, а другой, который связан с описанием базы данных как логической теории, назовем аксиоматическим. Англоязычные авторы, следуя работам Рейтера, первым четко сформулировавшего указанную альтернативу [205], используют чаще всего термины тоАеИНеогеНс
6.1. Введение 377 арргоаск (для «семантического подхода») и ргоо/-1кеогеИс арргоаск (для «аксиоматического подхода»). Раздел 6.2 посвящен обычной реляционной модели. Базовый реляционный жаргон стал уже классическим, но на практике он не всегда используется с абсолютной точностью; что касается логического подхода, то он должен опираться на строгие определения основных реляционных понятий (§6.2.2). Поэтому мы даем подробное описание реляционной алгебры (§6.2.3) и реляционного языка (§6.2.4) и уделяем пристальное внимание их взаимосвязи (§6.2.6). Реляционный язык из § 6.2.4 проистекает непосредственно из логики первого порядка, оставаясь все еще очень близким существующим языкам реляционной модели. Его семантика служит мостом между реляционной моделью и логическими рамками баз данных, которые представлены в разд. 6.3 и изучаются во всей оставшейся части главы. В §6.3.1 дается логическое определение понятия базы данных. Затем описываются семантический (§6.3.2) и аксиоматический (§6.3.3) подходы к проблеме характеризации информации, моделируемой посредством реляционной базы данных. Для классических реляционных баз данных между двумя подходами существуют прямое соответствие и очевидная эквивалентность (§6.3.4): модель для характеризации информации базы данных, получаемая при семантическом подходе, является единственной моделью для теорий, возникающих при аксиоматическом подходе. В случае дедуктивных баз данных (они обсуждаются в разд. 6.4 и 6.5) соответствие будет уже не столь непосредственным, а значит, более интересным. Эти более сложные базы данных содержат экстенсиональную часть (классическую реляционную базу данных) и интенсиональную часть (состоящую из виртуальных отношений или предикатов, получаемых с помощью правил вывода из обычных отношений и других виртуальных отношений). В разд. 6.4 обсуждаются строгие дедуктивные базы данных; для них при получении виртуальных отношений по правилам вывода можно использовать рекурсию, но нельзя применять отрицание. В этом случае база данных допускает наименьшую эрбрановскую модель; поэтому при семанти- 48-4465
378 6. Логика и базы данных ческом подходе для выполнения запросов представляют интерес эффективные методы вычисления в такой модели. Аксиоматический подход, напротив, реально осуществим только при отсутствии рекурсии, так как рекурсивные правила значительно усложняют построение теорий. В разд. 6.5 рассматриваются дедуктивные базы данных более общего типа. В них для получения виртуальных отношений может использоваться не только рекурсия, но и отрицание. В этом случае при семантическом подходе нужно рассматривать явным образом несколько минимальных моделей (каждая из них представляет какое-либо возможное состояние мира); среди этих моделей и осуществляется выбор. При семантическом подходе для выполнения запросов приходится тем или иным способом просматривать различные модели. Однако существует такой класс дедуктивных баз данных, что семантика каждой из входящих в него баз данных выражается естественным образом посредством единственной модели; это стратифицированные базы данных (§6.5.4). В разд. 6.6 обсуждаются базы данных, которые представляют неполное знание о мире. Здесь при семантическом подходе также сталкиваются с проблемой множественности моделей базы данных. Показано, как в некоторых случаях неполное знание можно точно представить теорией первого порядка, привлекая аксиоматический подход, который проявляет себя при этом во всей полноте. В самом деле, он позволяет дать единообразное и естественное представление всего знания о познанной неполностью действительности. Тем не менее обработка неполной информации остается задачей многообразной и сложной; в этой главе мы коснемся ее только слегка, чтобы показать, как некоторые из существующих подходов можно описать с помощью нашего логического формализма. Логическое моделирование баз данных-это бурно развивающаяся и обширная область исследований, в определенных отношениях близкая логическому программированию. В настоящей главе мы стремились представить систематическое введение в этот предмет и свести воедино часть касающихся его разрозненных результатов, фигурирующих в литературе в той или иной форме.
6.2. Реляционная модель 379 Для полноты картины следует заметить, что логика используется также в качестве формального языка для описания и изучения многих других аспектов баз данных, таких, как создание схем баз данных (например, функциональные зависимости), создание языков для пользователя (запросы, упорядочивания), управление целостностью, особенно выполнение транзакций. Эти вопросы здесь не затрагиваются. В настоящее время известно несколько работ, содержащих вводный материал по логическому моделированию баз данных и дающих представление о положении вещей в этой области. Укажем (с небольшими комментариями) три из них. Работа [70] самая ранняя из трех; в ней меньше деталей, чем в нашем изложении, и нет более поздних результатов (что вполне естественно). В [71] рассматривается главным образом архитектура систем; с логикой эта статья связана меньше, чем то, что предлагаем читателю мы. С затронутой точки зрения наше изложение весьма близко к [29], но мы больше интересуемся унифицируемым подходом. 6.2. Реляционная модель 6.2.1. Значение реляционной модели Модель1] данных -это некий общий подход, а также набор формализмов и более или менее формализованных методов, служащих для описания баз данных и манипуляций, которым их можно подвергнуть. Реляционная модель- понятие относительно недавнее [40]. Его появление знаменовало превращение области баз данных из эмпирической дисциплины в научную (в этом и состоит особая его значимость). Введение понятия реляционной модели было явной удачей и для практиков, и для теоретиков; оно предоставило возможность тесно сплотить эти две сферы деятельности. Для практиков отношение является поразительно простой структурой данных по сравнению со структурами Это понятие (модели) отлично от употребляемого в логике. 48*
380 6. Логика и базы данных данных, преобладавшими ранее. Его можно толковать как простую абстракцию понятия плоской картотеки, не зависящую от физических структур и методов доступа. Оно позволило определять языки манипулирования базами данных, а простота таких языков эффектно контрастирует со сложностью программ доступа к базам данных предыдущих поколений. У теоретиков успех реляционной модели был вызван тем обстоятельством, что она позволила создать единую математическую и логическую основу реляционной теории [153]. Был впервые точно описан целый ряд понятий, касающихся баз данных и систем управления ими. Это оказалось возможным потому, что отношение самым естественным образом можно рассматривать как логический предикат. Многие языки манипулирования данными связаны в большей или меньшей степени с прикладными исчислениями предикатов, точнее с исчислениями предикатов, интерпретации которых основываются на базах данных [190]. Наконец, как мы увидим, с помощью логического формализма очень естественно представляются обобщения понятия реляционной базы данных. 6.2.2. Основные реляционные понятия Основополагающие понятия реляционной модели ныне уже стали классическими; однако единообразия в подходах здесь нет [46], [240]. Имеются различия, касающиеся уровня формализации понятий, некоторых специфических ограничений в определении базы (рассматриваемых или не рассматриваемых как существенные), значимости доменов. Мы не вступаем здесь в подобного рода дискуссии. Домен -это конечное (непустое) множество атомарных значений. Отношение задается схемой и/или значением. Они определяются ниже. Значением или экстенсионалом (экстенцией, протяженностью) отношения является подмножество декартова произведения доменов, т. е. множество л-наборов1* (сх,..., сп\ х) Иное название: п-кортеж (или П'Ка).-Прим. ред.
6.2. Реляционная модель 381 таких, что с^й^ где />4- домены (необязательно разные). Аргументы декартова произведения различаются индексами / (1 < I ^ л), которые называются атрибутами отношения. Аргументы отношения бывает удобно различать не по их расположению, а по обеспечивающим их идентификацию символическим именам. Тогда значение отношения определяют через обобщенное или индексированное декартово произведение, не зависящее от порядка аргументов-множеств [191]. В этой главе мы будем пользоваться обоими представлениями, т.е. будем идентифицировать атрибуты либо по их расположению, либо по их именам (не противопоставляя одно представление другому). Значение отношения иногда для большей наглядности задают в форме таблицы значений, в которой каждый столбец имеет имя (атрибут), и все значения, фигурирующие отец Отец Ребенок мать супруги Диор Тюор Эрендил Эрендил Мать Нимлот Идриль Элвин Элвин Супруг Финарфин Элронд Эрендил Диор Тюор Элвин Эрендил Элронд Элрос Ребенок Элвин Эрендил Элронд Элрос Супруга Эрвен Целебриан Элвин Нимлот Идриль * Дети 5 3 2 1 1
382 6. Логика и базы данных в одном столбце, принадлежат одному и тому же домену базы данных. Пример 6.1. Отношения отец, мать и супруги можно определить следующим образом1*: Домены базы данных: ^женщина = {Эрвен, Целебриан, Элвин, Нимлот, Идриль}, ^мужчина = {Финарфин, Элронд, Элрос, Эрендил, Диор, Тюор], ^человек = {Эрвен, Целебриан, Элвин, Нимлот, Идриль, Финарфин, Элронд Элрос, Эрендил, Диор, Тюор}, Ддесяхка = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}. Таким образом, Г>десят1са есть домен атрибута «# Дети» (количество детей) отношения супруги, а #женщина_Домен атрибута «Супруга» отношения супруги и атрибута «Мать» отношения мать. Схема отношения {интенсиональная) описывает информацию, которая не Зависит от значения отношения; эта информация состоит из имени отношения и множества пар атрибут/домен. Схема отношения г обозначается так: г(Ах1В19 ..., Ап/йп\ или, опуская домены: г(А19 ..., Ап\ или г {А), где А =(А19 ..., Ап\ или еще проще: г, если атрибуты А{ являются числовыми индексами, заключенными между 1 и п. Пример 6.2. Схемами отношений, определенных в примере 6.1, являются: отец (Отец/1>мужчина, Ребенок/1>человек), мать (Мать/1>женщина, Ребенок/Ячелове1С), супруги (Супруг/Ямужчина, Супруга/Я женщина' # Дети/Ядесятка). Для фиксированной схемы отношения, вообще говоря, 1} Эти примеры взяты из фантастической вселенной Толкина [235].
6.2. Реляционная модель 383 существует много возможных значений рассматриваемого отношения, совместных с этой схемой. Напротив, каждому конкретному значению отношения отвечает одна схема отношения. База данных включает множество доменов, множество отношений (схема + значение) и ограничения целостности. Экстенция (экстенсионал) базы данных состоит из значений отношений. Схема базы данных включает домены, схемы отношений и ограничения целостности. Ограничение целостности -это некое условие, налагаемое на экстенцию базы данных. Пример 6.3. Вот ограничение на отношения из примера 6.1: Если два человека являются соответственно отцом и матерью одного и того же ребенка, то они состоят в отношении супруги. Совокупность данных выше определений схематически представлена на рис. 6.1. Как и в случае отношений для конкретной базы данных, существует вообще много экстенций, совместимых конкрет- Отношение Схема отношения Значение отношения База данных Схема базы данных Экстенция базы данных = схема отношения + значение (или экстенция) отношения = имя отношения + пары атрибут/домен = множество л-наборов = домены + отношения + ограничения = домены + схемы отношений + ограничения = значения отношений Рис. 6.1. Основные реляционные понятия.
384 6. Логика и базы данных ной схемой, но, говоря об экстенции базы данных, мы имеем в виду какую-то одну схему для этой БД. База данных эволюционирует во времени в результате операций обновления схемы (например, операций порождение и удаление отношений и/или ограничений) и/или операций, изменяющих экстенцию базы данных (например, операций добавление, удаление и модифицирование «-наборов в отношениях). Изменение экстенции базы данных при ее функционировании происходит гораздо чаще, чем обновление ее схемы. Иными словами, схема базы данных представляет информацию, более устойчивую во времени, нежели та, которая отражается экстенцией этой базы данных. Напомним, что ограничения целостности, которые относятся к схеме базы данных, имеют динамический и статический аспекты. Динамический аспект ограничения выражает условие, которому должны удовлетворять обновления экстенции базы данных. Пример 6.4. Для примера 6.1 с ограничением из примера 6.3 нельзя будет ввести в отношения отец и мать информацию «а-отец с» и «Ь-мать с», не введя в отношение супруги информацию «а-супруг Ьсп детьми» для некоторогоп (если этой информации еще там нет). В дальнейшем мы почти не говорим об обновлениях и, следовательно, не занимаемся этим динамическим аспектом ограничений. В статическом аспекте ограничения кратко представляют в схеме базы данных некоторую часть информации, находящейся в экстенции. Эта информация, вообще говоря, является лишней в рамках экстенции базы данных (так, ограничение из примера 6.3 можно логически вывести из отношений примера 6.1); однако ограничения, как правило, выражаются в более абстрактной форме, приемлемой для целого ряда частных экстенции. Мы вернемся к этому вопросу в §6.4.1. С реляционной моделью ассоциируются различные языки манипулирования данными. Запросы в таких языках определяют отношение ответ, исходя из других отношений. Но может быть и так, что просто запрашивается выполнимость
6.2. Реляционная модель 385 некоторого условия, и ответ тогда получается в форме «да-нет». Пример 6.5. Запрос первого рода, адресованный отношениям примера 6.1, таков: Кто дедушки (т.е. отцы отца и матери) Элроса? Пример 6.6. Запрос типа «да-нет»: Истинно ли, что все дети Эрендила имеют супруга(у)? Для отношений примера 6.1 ответ «нет». Базовые языки манипулирования данными, предназначенные для реляционной модели, включают реляционную алгебру и исчисления доменов и кортежей (по-английски: йотат геШюпаХ са1си1ш и Шр1е ге1аМопа1 са1си1их). Эти языки имеют приблизительно одинаковые выразительные возможности. Определения основных операций реляционной алгебры приведены в §6.2.3. Исчисление доменов основывается непосредственно на реляционном языке, описанном в §6.2.4. При выполнении запросов и ограничений целостности привлекаются разнообразные гипотезы, позволяющие точно определить универсум референции и четко, недвусмысленно формулировать правила обработки негативной информации. Эти гипотезы содержатся чаще всего в негативной форме в определениях реляционных моделей и вносят эффективный вклад в процесс реализации реляционных систем. • Гипотеза замкнутого мира (короче, ГМЗ) гласит, что всякая информация, не являющаяся истинной в базе данных (т.е. не представленная явным образом в экстенции отношений), рассматривается как ложная (см. также разд. 5.3). Пример 6.7. Для базы данных из примера 6.1 ГЗМ позволяет заключить, что Тюор-не отец Элвина. • Гипотеза однозначности имен (короче, ГОИ) утверждает, что двумя различными константами (в базе данных или в языке манипулирования данными) обозначаются обязательно различные объекты. 49-4465
386 6. Логика и базы данных Пример 6.8. Для базы данных из примера 6.1, принимая ГОИ, имеем: Тюор и Элвин- различные индивидуумы. • Гипотеза замкнутости домена (короче, ГЗД) гласит, что в универсуме нет других объектов, кроме обозначенных константами из базы данных. Пример 6.9. Для базы данных из примера 6.1, применяя ГЗД, получаем: известно только о существовании тех объектов, которые принадлежат МНОЖеСТВу Яженщина У Дмужчина У Дчелове1С У ^десятка' 6.2.3. Реляционная алгебра Формулы реляционной алгебры строятся из множества основных операторов с привлечением операции композиции. Запросы, адресованные базе данных, являются формулами этой алгебры, а ответы на них получают путем оценивания этих формул. Исходные (примитивные) операторы имеют в качестве операндов, в зависимости от обстоятельств, одно или два отношения, а в качестве результата одно отношение. Обычно определение оператора состоит из описания значения отношения результата [240]. Здесь мы проводим именно такие определения операторов. Более полные определения, ясно и точно выражающие схему отношения результата, несколько сложнее [191]. Основные из исходных операторов реляционной алгебры определены ниже. Для выражения комбинаций этих операторов можно использовать разнообразные синтаксисы. Введем оператор, который в некой новой форме представляет атрибуты отношения. Его ввести, вообще говоря, необходимо. • Операторы множеств. Поскольку значением отношения является множество «-наборов, в реляционной алгебре должны быть операторы, действующие на множества (например, объединение, пересечение, разность, декартово произведение). Они, естественно, должны удовлетворять каким-то достаточно очевидным условиям совместимости тех отношений, которые выступают в качестве аргументов.
6.2. Реляционная модель 387 • Оператор проекции. Пусть г (А, ^-отношение с множествами атрибутов, А, В. Проекцией отношения г на множество атрибутов А является отношение кА(г, А, В)) = {а\(а, Ь)ег для некоторого Ь). Если отношение г (А, В) задано в виде таблицы, то действие оператора кА состоит в сохранении столбцов, соответствующих атрибутам из А. Пример 6.10. Беря проекцию отношения супруги из примера 6.1 на атрибут супруга, получаем ^супруга (супруги) = п2 (супруги) = = {Эрвен, Целебриан, Элвин, Нимлот, Идрилъ). • Оператор выбора (или селекции, ограничения). Пусть А = (А1,..., А0 ..., Ар ..., ;4л)-атрибуты отношения г (А). Следующие отношения являются результатами применения двух операторов выбора: ^а1ва^г(А)) = {«ег|л,ел,.}, ОлгеЛПА)) ={аег\а(вс}. Здесь а есть «-набор констант (а1$ ..., а{, ..., ау ..., ап), с-константа и 0-оператор сравнения (= или ф, а также для числовых атрибутов или числовых кортежей-операторы <, ^, >, ^). Оператор отбирает в отношении г такие «-наборы (а1, ..., а(, ..., йр ..., ап), для которых истинно условие 0,00; (соответственно а{ дс). Это определение естественным образом распространяется на любую формулу Р{А), построенную с использованием логических связок Л, V и выражений вида А1$А] и А,0с. Формула Р(А) называется квалификацией выбора аР(Ау Пример 6.11. Снова обратимся к примеру 6.1. «-наборы отношения отец, имеющие Эрендила в качестве отца, образуют множество а2 = эрендил (отец) = {(Эрендил, Элрос), (Эрендил, Элронд)}. 49*
388 6. Логика и базы данных • Оператор соединения. Этот оператор определяет отношение, исходя из двух других, на основе равенства некоторых значений в «-наборах отношений-аргументов. Пусть даны два отношения гг(А9 С) и г2(С, В), такие, что Ап В= 0. Соединение отношений г1 и г2-это отношение г1Ы2 = {(а, с, Ь)\(а, с)егу и (с, Ь)ег2}. Этот оператор строит «-набор (а, с, Ь), исходя из пары наборов (а, с)ег1 и (с, Ь)ег2, содержащих одно и то же с. Если отношения гг и г2 не имеют необходимых общих атрибутов, то можно или переопределить атрибуты, или, как в приводимом ниже примере, указать явно (под символом соединения й) соответствие атрибутов, значения которых должны быть равными. Пример 6.12. Дедушки, их дети и их внуки получаются комбинированием оператора соединения с объединением (см. пример 6.1): отец^=! (отец II мать) = = {(Тюор, Эрендил, Элрос), (Тюор, Эрендил, Элронд), (Диор, Элвин, Элронд), (Диор, Элвин, Элрос)}. • Оператор деления Этот оператор выражает в ограниченной форме универсальную квантификацию. Пусть даны два отношения г1(А9 В) и г2(В). Деление первого на второе определяется следующим образом: г^А, В) ч- г2(В) = {а\(а, Ь)ег1 для всех Ьег2} или так: гх(А, В) - г2(В) = {а\г2 <= пваА=а(Г1))}. Пример 6.13. Запрос из примера 6.6 (Истинно ли, что все дети Эрендила имеют супруга(у)?) выражается следующим образом: ОЧ (супруги) У к2 (супруги)) ч- (п2 (а, = Эрсндил (отец))) = { }.
6.2. Реляционная модель 389 6.2.4. Реляционный язык В этом параграфе определяется язык первого порядка, очень близкий к исчислению доменов обычной реляционной модели (такому, как в [134] и [240]). Мы будем называть его реляционным языком (как в [205]). Он соответствует схеме некоторой базы данных, или, точнее, поскольку ограничения не входят в его определение, доменам и схемам отношений некоторой схемы базы данных. • Синтаксис Реляционный язык 2? получают, применяя синтаксис исчисления предикатов (см. гл. 1 в [232]) к схеме 5 базы данных следующим образом [190]: • Число констант в 2? ограничено;'множеством констант является объединение доменов, входящих в 5. • Функции отсутствуют (за исключением обычных констант, рассматриваемых как функции, не содержащие аргументов). • Число предикатов в & ограничено. • Среди предикатов, входящих в &, имеется особый бинарный предикат, называемый равенством и обозначаемый символом = . • Каждый предикат из У, кроме равенства, сопоставляется некоторой схеме отношения из 5, и наоборот, каждой схеме отношения из 5 соответствует некоторый предикат из &. Каждый атрибут схемы отношения соответствует какому-то аргументу сопоставленного схеме предиката. Такой предикат называется реляционным. Реляционному предикату и отношению, которому он соответствует, присваивают для простоты одно и то же имя. • Формулы реляционного языка строятся так же, как формулы исчисления предикатов. Реляционный язык У? служит основой для языка запросов. Запрос-это выражение вида <х|б(х)>,
390 6. Логика и базы данных где • х = (х!,..., хп) есть «-набор переменных, которые называются переменными целями запроса, • б (х)-формула из &, в которой свободными переменными являются только переменные, входящие в х. В частности, запросы «да-нет» имеют вид <1е>, где б-замкнутая формула (не имеющая свободных переменных). Пример 6.14. Запрос из примера 6.5 на реляционном языке можно записать следующим образом: (х\3у (ртец(х, у) Л (отец (у, Элрос) V мать (у, Элрос)))} Ограничениями целостности являются какие-то замкнутые формулы из &. Пример 6.15. Ограничение из примера 6.3 на реляционном языке можно выразить следующей формулой: V/? Ут Уе ((отец (р, ё) Л мать (т, ё) з> Зп (супруги (р, т, «))). Отсутствие функций и ограниченность числа констант значительно упрощают логическую природу наших рассмотрений. В частности, эрбрановский универсум (или, иначе, эрбранов домен, область Эрбрана) всего множества формул языка У сокращается до констант, появляющихся в этих формулах. Напомним, что в общем случае эрбрановский универсум %р множества формул & включает в себя все термы, получаемые при всевозможных применениях символов функций, появляющихся в формулах, к константам множества формул и к другим термам эрбрановского универсума (см. гл. 1 в [232]). Конечен и эрбрановский базис множества формул языка У?. Напомним, что эрбрановский базис 0$^ множества формул «^-это множество предикатов, построенных путем всевозможных применений символов предикатов, появляющихся в «^, к наборам констант из эрбрановского универсума
6.2. Реляционная модель 391 • Семантика Как и в случае исчисления предикатов, семантика реляционного языка 52 задается посредством интерпретаций и моделей для формул из 52. Интерпретация языка 52 есть тройка / = <^, 1С, /у), где • ^-непустое множество констант, • 1С-функция, которая каждой константе из 52 сопоставляет элемент из Ъ и каждому «-арному предикату из 52, кроме равенства, сопоставляет отображение множества Я>п в {истинно, ложно], • /„-функция, которая всякой переменной из 52 ставит в соответствие элемент из О). Как и в исчислении предикатов с равенством, предикату равенства сопоставляется здесь отношение тождества. В каждой интерпретации / языка 52 всякая формула Р из 52 принимает, как обычно, одно значение истинности: 1(Р). Если формула истинна в данной интерпретации, то говорят, что эта интерпретация является моделью (для) формулы. Интерпретация Эрбрана (или эрбрановская интерпретация) множества формул & получается при присвоении одного значения истинности каждой формуле из эрбрановского базиса Яр. Иногда, злоупотребляя терминологией, интерпретацией Эрбрана для & называют также подмножество атомов Яр, которые в этой интерпретации получают значение истинно. На практике среди всех интерпретаций языка 52 интерес представляют только интерпретации Эрбрана, находящиеся в точном соответствии с экстенциями таких баз данных, у которых схемы 5 ассоциированы с 52. В частности, в разд. 6.3 мы увидим, что запрос <х|б(х)> характеризует множество таких «-наборов С, состоящих из констант, для которых 6 (С) истинно в некоторой интерпретации языка 52 или, что эквивалентно, для которых 6 (С) является теоремой некоторой теории с языком 52.
392 6. Логика и базы данных 6.2.5. Замечание по поводу запросов Как мы видели в предыдущем параграфе, запрос-это, в сущности, любая формула из 52. К сожалению, такое определение запроса является чересчур широким, о чем свидетельствует следующий пример. Пример 6.16. Запрос «Кто не отец Элвина?» на реляционный язык переводится так: <л:| ~1 отец(х, Элвин)}. Используя гипотезу замкнутого мира (§ 6.2.2), получаем СЛеДуЮЩИЙ ОТВеТ: (Рмужчина\{ДиОр}) и Васятка и ^> женщина^ Т-е- множество всех констант базы данных, за исключением константы Диор. Ясно, что наличие в решении множества Вдесятка и> возможно, еще множества ТУженщина является обстоятельством неудовлетворительным. Сопоставление типов переменным, входящим в запросы,-это естественное средство, ставшее классическим в языках программирования. Для баз данных типы можно определять, исходя из доменов баз данных [135, 190, 205]. Приведенный выше пример 6.16 не порождает никаких проблем, если считать, что х-переменная некоторого типа, соответствующего домену Очеловек (или Омужчина-ъ зависимости от точного смысла запроса). Другое решение состоит в том, чтобы, исключив запросы с неудовлетворительными ответами, ограничиться запросами приемлемой формы [50, 240]. Постараемся кратко описать основные формы «неразумных» запросов. • Запрос (х\-] Р(х)У, как показано в примере 6.16, не является разумным. Напротив, запрос (х \ Т(х) Л Л -]Е(х)} приемлем, если предикат Т ограничивает домен переменной л:. • Запрос {у | V хР (х, у)} приемлем только тогда, когда Г является импликацией, ограничивающей квантифи- кацию по л:. В этом случае запрос имеет по сути форму (у\Чх(1\х)=>Г'(х))У
6.2. Реляционная модель 393 • Запрос <лг, у, г\Р1 (х, у) V Р2(У> 2)У не будет разумным, если Рх не содержит переменной г или Р2 не содержит переменной х, так как ответ на него включает наборы (а, Ь, с), где (а, &)-элемент ответа на запрос С*, .И ^1 (*,>>)) и с-любая константа из универсума (аналогично для Р2). Запрос (х, у, г \ Р {х, г) Л Л (Р1(х, у) V Г2 (У» 2)) никаких проблем не вызывает, если ,Р(лг, 2) ограничивает домены переменных х и г. В дальнейшем будем предполагать, что запросы являются формулами реляционного языка, надлежащим образом адаптированного путем введения типов и/или наложения синтаксических ограничений. Можно показать, что все это не уменьшает в принципе выразительных возможностей языка запросов. 6.2.6. От реляционного языка к реляционной алгебре Выполнение запросов системами управления реляционных баз данных осуществляется посредством выполнения исходных операторов алгебры. По сравнению с исчислениями кортежей и доменов реляционная алгебра позволяет формулировать запросы в такой форме, когда преобладает процедурный аспект, т.е. более четко указывается порядок выполнения соответствующих шагов. Тем не менее существует весьма простое прямое соответствие (говорящее об эквивалентности алгебры и исчисления доменов) между алгебраическими операциями, с одной стороны, и логическими связками и кванторами-с другой. В настоящем параграфе представлен некий способ перевода запросов (он не является единственно возможным; см., например, [151], [240]) с реляционного языка, описанного в § 6.2.4, на язык операций реляционной алгебры. Этот перевод не претендует на эффективность. В частности, в нем не приняты в расчет желательные ограничения, очевидность которых продемонстрирована в § 6.2.5. Запросы, сформулированные на языке реляционной алгебры, чаще всего далеки от оптимальных. (В оптимизации запросов состоит главное предназначение реляционных систем [115], [125]; эта тема, 50-4465
394 6. Логика и базы данных однако, выходит за рамки нашего изложения.) Основная идея рассматриваемого способа перевода заключается в следующем: каждому запросу (х\Г(х)} реляционного языка нужно поставить в соответствие отношение, атрибутами которого являются как раз переменные х. Значение этого отношения, называемого алгебраическим представлением запроса, будем обозначать через |<х|*-(х)>|. Приводимые ниже правила перевода позволяют постепенно строить алгебраические представления формул языка &. В этих правилах через И обозначено множество констант из У. 1. Реляционные предикаты При определении реляционного языка мы видели, что всякому отношению в реляционном языке соответствует реляционный предикат с тем же именем. Запросу вида <х|г(х)>, где г-реляционный предикат, сопоставляется отношение г с атрибутами х (эти атрибуты являются, по существу, просто переобозначениями атрибутов А, соответствующих г в схеме базы данных). Итак, имеем1) |<х|г(х)>| = г. Для запроса вида <х|г(х, а)), где г-реляционный предикат и а-список констант, алгебраическое представление получается с использованием операторов выбора (а) и проекции (я), применяемых к отношению базы г с атрибутами (х, у). Имеем \<х\г(х,а))\ = кх(оу = а(г))- 2. Добавление атрибутов к значениям формул Если у не входит свободно в формулу Г(х), то алгебраическим представлением запроса (у, х \ Р (х)) является отношение с атрибутами (у, х) и его значение определяется так: \(у,х\Р(х)У\=Ох\(х\Р(х)}\. 1) Здесь и далее символ г означает значение отношения г.-Прим. перев.
6.2. Реляционная модель 395 3. Конъюнкция Рассмотрим запрос (<х\Р1(х1) А Р2(Х2)У- Добавляя атрибуты, всегда можно добиться того, чтобы х = хх и их2. Тогда алгебраическое представление этого запроса будет отношением с атрибутами х и значением | (х | Р1 (х,) А Р2 (х2)> | = | <хх \Р, (х,)) | IX | х21Р2 (х2)> |. 4. Дизъюнкция |<х|Р1(Х1) V ^2(*2)>| = |<х|Рг(х,))\и\(х\Р2(х2)>|. 5. Квантор общности |<х|ЧуР(х,у))\ = \ <х,>>|Р(х,у))| - I). Как было показано в предыдущем параграфе, среди • приемлемых запросов имеются запросы вида (х\Уу(Т(у) => Р(х, у))}. В этом случае получаем | <х| ЧуСЦу) => Р(х, у))) | = | <х, у | Р(х, у)}\ + | (у | Т(у)> |. 6. Квантор существования \(х\ЗуР(х,у)}\=Кх(\<Х,у\Р(х,у)}\). 7 Отрицание Если «-число мест в наборе х, то |<Х|-1^(Х)>|=РЙ\|<Х|^(Х)>|. Как было показано в предыдущем параграфе, к приемлемым запросам относятся запросы вида {х\Р1(х)А А -] Р2 (х)}. В этом случае имеем \(х\Р1(х) А -1 Г2(х)У\ = \(х\Р1(х))\\\(х\Р2(х))\. 8. Эквивалентность и импликация Надо заменить а = рнаа=>рлр=>а, а => Р на ~1 а V р. 9. Равенство • |<х|х = х>| = Д • \(х\х = а)\ = {(а)}, • \<х,у\х = у}\ = {(а, а)\{а)еВ}. 50*
396 6. Логика и базы данных 10. Запросы «да-нет» 1<1/>М>1 = {( )Ь ее™ ле/>> { }, если а$р. 6.3. Логический подход к базам данных 6.3.1. Определение В § 6.2.4 мы продемонстрировали, как можно сопоставить реляционный язык ^ схеме базы данных. Теперь мы покажем, как с базой данных связать некоторую теорию, базирующуюся на языке У? и являющуюся определенным логическим представлением базы данных. Существует естественное непосредственное соответствие между набором а из значения отношения г базы данных, с одной стороны, и фундаментальной конкретизацией г (а) из языка &, сопоставленного этой базе данных,-с другой. Определение. Логическое представление базы данных- это логическая теория первого порядка, в рамках которой дается непосредственное описание всех отношений рассматриваемой базы данных. В число аксиом этой теории (записанных на реляционном языке, сопоставленном схеме базы данных) включается для каждого отношения г и каждого л-набора (с1э ...,0 из значения отношения г формула где г означает реляционный предикат, соответствующий отношению г. (Мы не будем делать различия между реляционным предикатом и соответствующим ему отношением.) Итак, база данных допускает два эквивалентных определения: • Согласно определению, которое в § 6.2.2 названо классическим (потому что оно прочно утвердилось в работах по базам данных независимо от привлекаемых при этом логических моделей), база данных
6.3. Логический подход к базам данных 397 включает домены, схемы отношений, экстенции (или значения) отношений и ограничения целостности. • Согласно определению, названному логическим, база данных есть множество формул (некая теория) первого порядка, записанных на реляционном языке и представляющих отношения из этой базы данных. Понятия схемы и ограничения переносятся из классического определения. Мы будем точно указывать, если это неясно из контекста, какое определение имеется в виду. 6.3.2. Семантический подход При семантическом подходе интерес представляют модели базы данных, вводимой с помощью логического определения. База данных допускает много моделей, но интерес представляет лишь одна из них-содержащая в точности ту информацию, которую стремятся эффективно описать, привлекая базы данных. Каждая из моделей Эрбрана для базы данных обладает следующим свойством: множество «-наборов, для которых реляционный предикат является истинным, содержит множество «-наборов соответствующего отношения из базы данных. База данных допускает, таким образом, наименьшую эрбрановскую модель (являющуюся пересечением всех ее эрбрановских моделей). Эту модель можно отождествлять с рассматриваемой базой данных. Выбор среди всех существующих моделей для представления базы данных этой наименьшей эрбрановской модели можно охарактеризовать с логических, позиций, привлекая для этого гипотезы, введенные в § 6.2.2 (ГЗМ, ГОИ и ГЗД). • При выборе наименьшей эрбрановской модели ГЗМ принимается в расчет. Отбрасывая любую другую модель, минимизируют положительную информацию и рассматривают всякую фундаментальную конкретизацию, не фигурирующую в базе данных, как ложную.
398 6. Логика и базы данных • Считают, что имеет место ГОИ. Тогда в интерпретации Эрбрана константы языка совпадают с константами области интерпретации, а поэтому отношение равенства толкуется как тождество. • Используется ГЗД. Тогда ограничиваются только эрбрановской моделью базы данных: в области интерпретации нет других констант, кроме констант языка. Поскольку ограничения целостности должны быть истинными в базе данных, то наименьшая эрбрановская модель базы данных должна быть также моделью для ограничений. В дальнейшем через В обозначим базу данных, а через Мъ-наименьшую эрбрановскую модель для В. Запрос (х\()(х)У определяет множество «-наборов с, состоящих из констант и удовлетворяющих условию: 6 (с) истинно в Мв. Это множество обозначается через ||<х|б(х)>||. Формальная запись данного определения выглядит так: ||<^1е(^)>||={^||=^е(^)}. В частности, для запросов «да-нет» имеем 1) 1К1б)Н = {( )}> гДе ( )-пустой «-набор, означает, что 6 истинно в Мв\ ответом на < | (У) в этом случае будет «да»; 2)1К16)Н = { } означает, что 6 не является истинным В Л1 в\ 3) 1КI ~| 6) II = {( )} означает, что 6 ложно в Мв. Заметим, что случаи 2) и 3) эквивалентны и в каждом из них ответом на запрос < | б) будет «нет». 6.3.3. Аксиоматический подход При семантическом подходе выбираются такие модели базы данных, которые представляют информацию наилучшим образом. С той же самой целью-лучше отразить информацию и ее использование при выполнении запросов- при аксиоматическом подходе добавляют к базе данных новые аксиомы. Получается теория с аксиомами, сформу-
6.3. Логический подход к базам данных 399 лированными на реляционном языке (мы перечисляем их ниже). • Аксиомы теории, сопоставленной базе данных (В), определяются как в § 6.3.1: для каждого отношения г и каждого «-набора сег теория включает аксиому г (с). • Аксиомы, соответствующие гипотезе замкнутого мира (ГЗМ (В)), или аксиомы пополнения (АП(В)). Желательно, чтобы теория включала аксиомы, позволяющие, например, доказать формулу ~1 г (а) в случае, если а не принадлежит г. Можно аксиоматизировать ГЗМ двумя эквивалентными способами: либо явным образом, исключая негативную информацию в теории, либо сформулировав аксиомы пополнения. - Явная негативная информация. Соответствующая формулировка ГЗМ звучит так: вся негативная информация описывается явным образом с помощью фундаментальных конкретизации. Если ^в-эрбрановский базис реляционных предикатов базы данных В, то негативная информация включает отрицания литер из &в, отсутствующих в В. Стало быть, явную негативную информацию (ее мы обозначим через ГЗМ (В)) можно определить формально следующим образом: ГЗМ(В) = {-\Р\Ре@в и Р$В}. (6.1) - Аксиомы пополнения Они отражают тот факт, что положительной информацией является в точности та, которая содержится в базе данных В. Для каждого отношения г имеем: если с1 = (с{,..., с^), ..., ср — (с*,..., с^)-все «-наборы из г, то аксиома пополнения для г выглядит так: Ух(г,(х) =>*=*! У...Ух=ср), (6.2)
400 6. Логика и базы данных где х = (*!,..., лгп). Комбинируя (6.2) с утверждениями, касающимися г в базе данных, можно импликацию заменить на эквивалентность: Ух(г(х)) = х = с, V ... V х = ср. (6.3) В дальнейшем аксиомой пополнения для г будем называть обе формулы-и (6.2), и (6.3). В случае когда в базе данных отношение г пусто, аксиома пополнения запишется так: УХ"! Г(х). • Аксиомы единственности имен (обозначение: ЛЕИ (В)). Они в явной форме выражают, что все объекты с!,..., сч базы данных В различны: схФ с, для 1 ^ / <у<#. • Аксиома замкнутости домена (обозначение: АЗД (В)). Она гласит, что не существует других объектов, кроме явно представленных в базе данных: Ул:(л: = су V ... V х = с^. Эта аксиома отражает тот факт, что число элементов рассматриваемого универсума конечно, что они все известны и их именами являются константы базы данных. Таким образом, имеются две теории: ^п и Угвшг. Согласно первой из них, негативная информация моделируется аксиомами пополнения АП; согласно второй теории, она связывается с негативной информацией, получаемой с привлечением ГЗМ. Эти теории определяются следующим образом: ГАВП = Ви ар(л и ЛЕИ (В) и АЗД (В), (6.4) $-гвзм = Ви ГЗМ (В) и АЕИ(В) и АЗД(В). (6.5) Отметим, что если аксиомы пополнения не содержат импликаций (т.е. в них входят только эквивалентности), то слагаемое В в формуле (6.4) можно опустить.
6.3. Логический подход к базам данных 401 • Запросы Ответ на запрос <х|6(х)> для х = (хи..., хп) есть множество «-наборов с = (с1?..., сп), для которых ()(с) является теоремой теории &~в (это общее обозначение теорий Угвш и ^в11)- На формальном уровне можно записать следующее равенство: 11<х|е(*)>н = {с|*-я1-ем}. (6-6) Другими словами, получение ответа на запрос сводится к нахождению всех фундаментальных конкретизации запроса, являющихся теоремами теории. В частности, для запросов «да-нет» имеем: 1) 1КI б) II = {( )} означает, что б-теорема в У в\ в этом случае ответом на <( | б) будет «да»; 2) 1КI б ) II = { } означает, что б не является теоремой; 3) II < I ~1 б) II = {( )} означает, что ~1 6 есть теорема в Ув\ в этом случае ответом на запрос будет «нет». Заметим, что случаи 2) и 3) эквивалентны (если || < | б ) II = = { }, то || < | -л б) || = {( )}). Это вытекает из полноты теории ?в (§ 6.3.4). • Ограничения Ограничение С удовлетворяется в базе данных В, если 2ГВ \- С, т. е. если оно является теоремой теории. 6.3.4. Соответствие между семантическим и аксиоматическим подходами В этом параграфе мы покажем, что семантический и аксиоматический подходы эквивалентны. Следующая лемма даетхарактеризацию моделей теорий &~ввм и ^'вш. Лемма 6.1. Наличие в теориях Ргвм и ЗГ^аксиом АО И и АЗД приводит к тому, что эти теории допускают только такие модели, которые изоморфны эрбрановским. 51-4465
402 6. Логика и базы данных Доказательство. Пусть ^-модель одной из этих теорий. Эта модель определяется областью интерпретации Л и функцией интерпретации 1С для констант и предикатов языка ^. Напомним (§ 6.2.4), что в интерпретации равенство трактуется как тождественность. Обозначим через Э множество констант из 2? и через # ^-количество элементов в множестве Е. • Сначала докажем неравенство # Л ^ # 1>. Предположим, что # А > # 1>. Тогда существует элемент 8еА, такой, что 8ф/с(1>). Значит, 8 ф 1с(а*) для любого с1еО, что противоречит аксиоме замкнутости домена. • Теперь докажем неравенство # А ^ # й. Пусть # А < # И. Тогда существуют а11еО, </2е^ и 8еА, такие, что /с(^) =/с(^2) = 8. Это противоречит аксиоме однозначности имен (а11 ф а12). Таким образом, # А = # й. Значит, модель Л изоморфна эрбрановской модели, получаемой из Л заменой каждой константы 8еА на константу 1~1(8)ей. Ш Теорема 6.2. Теории 2ГГВМ и $~вП допускают единственную (с точностью до изоморфизма) модель, а именно наименьшую эрбрановскую модель базы данных, выбранную при семантическом подходе. Доказательство. В силу леммы 6.1 теории &~вЗМи $~вП (обозначаемые в дальнейшем через &~в) допускают только эрбрановские модели. Покажем, что единственной (с точностью до изоморфизма) эрбрановской моделью теории &~в является В. С одной стороны, всякая эрбрановская модель теории 2ГЪ должна быть согласована с утверждениями базы данных В и, следовательно, должна содержать эти утверждения. С другой стороны, в эрбрановской модели теории 3~в не может быть больше «-наборов, чем в базе данных В, ибо в противном случае хотя бы одна из аксиом пополнения или некоторая явная негативная информация из ГЗМ(2?) (в
6.3. Логический подход к базам данных 403 зависимости от выбранной теории) не будет истинной в этой модели. ■ Стоит, пожалуй, кратко перечислить наиболее важные свойства теорий ЗГ™ и «^"д^для случая обычных реляционных баз данных. Для дедуктивных баз данных некоторые из этих свойств истинными уже не являются. • Теории ЗГ^1 и 2ГГЪШ эквивалентны, т. е. множества их теорем совпадают. • Теории «^"д77 и &~вШ непротиворечивы, т.е. в них нельзя вывести противоречивые утверждения. • Теории $~$п и ЗГВЗМ категоричны, т. е. они допускают единственную модель. • Теории ЗГВП и &~вШ полны, т.е. какова бы ни была формула Г реляционного языка, либо Г, либо ~1 Г является теоремой рассматриваемой теории. Эти свойства вытекают непосредственно из теоремы 6.2. Следующая теорема показывает, что при соответствии, установленном в § 6.2.6 между реляционным языком и реляционной алгеброй, семантика баз данных (в смысле ее определения при семантическом и аксиоматическом подходах) сохраняется хорошо. Теорема 6.3. Если Г (х)-формула языка У, то ||<х|^(х)>|| = |<х|^(х)>|. Доказательство. Утверждение достаточно обосновать для каждого правила перевода из § 6.2.6. Оно очевидно при семантическом подходе, когда наименьшая эрбрановская модель отождествляется с экстенцией базы данных (§ 6.3.2). ■ Иными словами, приведенная теорема утверждает, что ответы на запрос, получаемые при семантическом и аксиоматическом подходах, совпадают со значением отношения, являющегося алгебраическим представлением рассматриваемого запроса (значение этого отношения строится при выполнении запроса). 51*
404 6. Логика и базы данных 6.3.5. Резюме Итак, мы сопоставляем классической реляционной базе данных реляционный язык 2? и, используя его, даем логическое определение базы данных, формализующее традиционное определение. Затем при семантическом подходе выбираем некоторую модель этой базы данных. Наконец, при аксиоматическом подходе мы сопоставляем ей две эквивалентные теории, У%п и У~ГвМ, полностью аксиоматизирующие имеющуюся информацию и ее обработку при выполнении запросов. Для реляционных баз данных, описанных в этом разделе, семантический и аксиоматический подходы, очевидно, эквивалентны, и, в рамках этих баз, различие не будет очень большим. Информация, которую можно вывести из реляционной базы данных, при соответствующей аксиоматизации будет по существу опять базой данных. В дальнейшем это будет не так. Как и в § 6.3.1, мы будем продолжать называть «базами данных» любые логические теории, аксиомы которых характеризуют непосредственно те или иные отношения. В настоящем разделе такая теория (для реляционной базы данных) состояла из утверждений базы, описывающих значения отношений. В случае дедуктивной базы данных (см. разд. 6.4 и 6.5) теория содержит и утверждения базы, и некоторое множество правил, определяющих виртуальные отношения и/или предикаты. Наконец, при обработке неполной информации (в разд. 6.6) база данных включает, кроме утверждений базы, формулы, которые описывают имеющуюся (неполную) информацию о значениях отношений. При семантическом подходе мы будем интересоваться моделями баз данных перечисленных выше типов и будем отбирать одну или несколько из этих моделей, наилучшим образом представляющих информацию, которую хотим смоделировать, используя ту или иную базу данных. При аксиоматическом подходе к базе данных будут добавляться аксиомы для построения теорий, представляющих содержание информации и технику выполнения запросов.
6.4. Строгие дедуктивные базы данных 405 6.4. Строгие дедуктивные базы данных 6.4.1. Введение Согласно определению из § 6.3.1, экстенция реляционной базы данных представляет собой теорию, содержащую фундаментальные конкретизации реляционных предикатов, соответствующих значениям отношений. Реляционная база данных включает также ограничения целостности, кратко обобщающие в своем статическом аспекте (единственном, который мы здесь рассматриваем; см. § 6.2.2) часть информации, выраженной значениями отношений. Пример 6.17. Пусть имеются три реляционных предиката: родитель, отец и мать (из некоторой реляционной базы данных), и два ограничения целостности УлгУу (отец (х, у) :э родитель (х, у), УлгУу (мать (х, у) :э родитель (х, у). Очевидно, что эти ограничения можно вывести из значений отношений отец, мать и родитель. Идея, лежащая в основе дедуктивных баз данных, состоит в том, чтобы устранить всю избыточность в данных, которая порождается взаимосвязью между информацией, выражаемой имеющимися ограничениями, и информацией, содержащейся в значениях отношений. Так, в приведенном выше примере можно без потери информации изъять из базы данных всякую конкретизацию родитель (а, Ь), для которой в базе данных присутствует либо конкретизация отец (а, Ь), либо конкретизация мать (а, Ь). Действуя в рамках дедуктивных баз данных, мы можем устранять из теории (т. е. из базы данных) значения некоторых предикатов через другие предикаты. Это приводит нас к более компактной теории, причем информация не теряется, т. е. новая теория позволяет доказывать те же теоремы, что и первоначальная. Говоря точнее, мы преобразуем некоторые ограничения в правила вывода, а некоторые предикаты-в виртуальные
406 6. Логика и базы данных предикаты, т.е. в такие, значения которых представляются только в неявной форме-через правила вывода. Пример 6.18. В примере 6.17 оба ограничения целостности можно «перевести» в правила вывода и, используя их во «взаимопонимании», определить виртуальный предикат родитель. Очевидно, что отношение родитель выводится с помощью этих правил из отношений отец и мать. Поэтому включать его в базу данных в явной форме не нужно. Если запрос отсылает к предикату родитель, то значение этого предиката (или часть значения) можно получить из отношений отец и мать при помощи правил вывода. В настоящем разделе мы прежде всего дадим формальное определение понятий правила вывода и дедуктивной базы данных. Затем будет введено понятие строгой дедуктивной базы данных. Такие базы данных образуют достаточно простой и интересный подкласс дедуктивных баз данных. Будет продемонстрировано, как сопоставить строгой дедуктивной базе данных модель и теорию и как в ней осуществлять выполнение запроса. 6.4.2. Дедуктивные базы данных Определение. Правило вывода, определяющее предикат к, есть логическая формула вида Ъаг{<){к(<)+-Зу{Ь1Л...АЬЛ (6.7) в которой логическая связка «- означает обратную импликацию (т.е. А<г-В = мВ=>А), п является целым положительным числом, Ь( суть литеры, г состоит из аргументов (т. е. переменных и констант) из к, Vа^(^) состоит из переменных, входящих в Г, у состоит из переменных, содержащихся в Ь1 А ... А Ьп, но отсутствующих в Vа^(^). Заметим, что в Vа^(^) и у содержатся все переменные данного правила.
6.4. Строгие дедуктивные базы данных 407 к (*) называют заключением (или консеквентом) правила, а Зу (Ьг А ... А Ьп)-посылкой (или антецедентом) правила. В дальнейшем (для упрощения записи) всюду, где это возможно, кванторы будут опускаться. Пример 6.19. Следующие выражения являются правилами вывода. г1 .родитель (х, у) <- отец (х, у) г2 .родитель(х, у) <- мать(х, у) гъ .родитель-родителя (х, у)«- (родитель (х, г) А родитель (г, у)) г4:а-/{х,у)<г-друг{х,у) г5: а-/(х, у) <- (родитель (х, г) А а-/(г, у)) г6: а-1 (х, у)«- родитель (х, у) V г7: а-1(х, у) <- (родитель (х, т) А а-р (г, у)) г8 а-р(х, у) «- (родитель (х, г) А а-1 (г, у)) Заметим, что правила вывода задают отношения зависимости между предикатами (например, родитель-родителя определяется как функция от предиката родитель). Они могут быть циклическими (например, а-/ (друг семьи) определяется как функция от самого же а-Д Следующие определения формализуют эти замечания. Определения. Говорят, что предикат р зависит непосредственно от предиката ^, если д входит в посылку правила, у которого заключение является конкретизацией р. (Например, родитель зависит непосредственно от мать.) Говорят, что предикат р зависит от предиката ^, если р зависит непосредственно от д или если р зависит от предиката г, зависящего непосредственно от #. (Например, а-/ зависит от отец.) Предикат р называется рекурсивным, если р зависит от р. (Например, предикаты а-/, а-г (непара предков) и а-р (пара предков) рекурсивны.) Говорят, что предикат р зависит строго от предиката #, если р зависит от д и д не зависит от р. (Например, а-р зависит строго от родитель?)
408 6. Логика и базы данных Два предиката р и # называются взаимно рекурсивными, если р зависит от # и # зависит от р. (Например, предикаты а-1 и а-р взаимно рекурсивны.) Правило вывода называется рекурсивным, если его антецедент содержит предикат, зависящий от консеквента этого правила. (Например, правила г5, г7 и г8 рекурсивные.) Правило вывода называется линейным, если в его посылках самое большее один предикат зависит от консеквента. (Все правила в примере 6.19 линейны.) Далее определяется дедуктивная база данных. Определение. Дедуктивной базой данных В называется теория, включающая экстенсиональную базу данных (обозначаемую ВЕ) и интенсиональную базу данных (обозначаемую В,). Экстенсиональная база данных представляет собой множество фундаментальных конкретизации атомов. Эти конкретизации определяют предикаты базы в ее экстенщш. Таким образом, экстенсиональная база данных является реляционной базой данных в смысле разд. 6.2. Интенсиональная база данных-это множество правил вывода, определяющих по содержанию понятий виртуальные предикаты. Определение синтаксиса реляционного языка, рассмотренное в § 6.2.4, остается почти без изменений-добавляются только виртуальные предикаты. Предикат называется смешанным, если одна его часть определяется экстенсиональной базой данных, а другая- интенсиональной базой данных. В дальнейшем мы предполагаем, что ни один из рассматриваемых предикатов не является смешанным. Легко видеть, что это не влечет никаких ограничений целостности. Действительно, пусть имеется смешанный предикат р, определенный множеством фундаментальных конкретизации р(а1),...,р(ап) и некоторым множеством правил. Построим дедуктивную базу данных, не содержащую этого смешанного предиката, эквивалентную первоначальной базе данных. Добавим к интенсиональной базе данных правило р{х)<г-р'(х)
6.4. Строгие дедуктивные базы данных 409 и заменим в экстенсиональной базе данных р (а,) на р' (а() для 1=1,...,/!. Тогда р будет уже виртуальным предикатом, а новый предикат /?'-предикатом базы. Дедуктивные базы данных более общего вида будут рассмотрены в разд. 6.5, а сейчас мы ограничимся подклассом строгих дедуктивных баз данных, обладающих весьма примечательными свойствами. Определение. Правило вывода называется строгим, если все литеры, фигурирующие в его антецеденте, позитивные. Несмотря на ограниченность строгих правил, их можно успешно использовать при моделировании многих прикладных задач. Заметим, что строгое дедуктивное правило М')-(*1Л...лг>„) эквивалентно хорновскому дизъюнкту А (Г) V -л*! V... V -\Ъп. Определение. Дедуктивная база данных В называется строгой, если всякое правило вывода в ее интенсиональной части В1 является строгим. Для краткости мы часто будем называть строгую дедуктивную базу данных строгой базой данных. Отметим, что строгую базу данных можно рассматривать как множество хорновских дизъюнктов, так как элементы ее экстенсиональной части, содержащиеся в интенсиональной части, являются хорновскими дизъюнктами. Очевидно, что правила примера 6.19 определяют строгую базу данных. Язык, используемый для определения строгих правил вывода, часто называют Дейталогом [241]. Дейталог является чисто декларативной версией Пролога, не содержащего функций, т.е. языком хорновских дизъюнктов без функций. Множество выражений Дейталога представляет, таким образом, строгую дедуктивную базу данных. Заметим, что дедуктивные базы данных, которые не являются строгими, часто называют «нехорновскими». Мы предпочитаем избегать такой «отрицающей» терминологии и во всех случаях будем использовать термин «дедуктивная база данных». 52-4465
410 6. Логика и базы данных Класс строгих дедуктивных баз данных содержит интересный подкласс, состоящий из так называемых иерархических баз данных. Определение. Строгая дедуктивная база данных называется иерархической^, если ни один ее предикат не является рекурсивным. Правила г1$ г2 и г3 из примера 6.19 определяют иерархическую базу данных. Отметим, что иерархическими базами данных являются главным образом классические реляционные базы данных, в которых определены виды. Вид-это выражение (например, в реляционной алгебре), определяющее новое отношение как функцию других отношений [46], [240]. Далее в этом разделе мы изучаем в основном строгие базы данных, лишь кое-где касаясь иерархических баз данных. Будет показано, что строгим дедуктивным базам данных можно сопоставить одну и ту же семантику и при семантическом подходе, и при аксиоматическом. Аксиоматический подход особенно полезен в случае иерархических баз данных: он представляет простой механизм выполнения запросов. Напротив, при наличии в правилах рекурсии более плодотворным оказывается семантический подход. 6.4.3. Семантический подход Как и для реляционных баз данных (§ 6.3.2), при семантическом подходе среди моделей строгой базы данных выбирают одну, наилучшим образом представляющую семантику базы данных. В частности, эта модель должна представлять строгую базу данных при трех гипотезах, сформулированных в § 6.2.2. Гипотеза замкнутости домена и гипотеза однозначности имени приводят, разумеется, к тому, что рассматриваются только эрбрановские модели строгой базы данных. Гипотеза замкнутого мира приводит к минимизации числа элементов эрбрановского базиса, которые истинны 1} Это понятие иерархической базы данных не имеет прямого отношения к иерархической модели классической БД [46], [240].
6.4. Строгие дедуктивные базы данных 411 в модели, сопоставленной строгой базе данных. В дальнейшем мы покажем, что строгая база данных, как и реляционная база данных, допускает единственную минимальную модель. Сначала установим интересное свойство эрбрановских моделей строгой базы данных, известное под названием «свойство пересечения моделей» [242]. Теорема 6.4. Пусть В-строгая база данных. Тогда пересечение всех эрбрановских моделей базы В является эрбрановской моделью. Доказательство. Достаточно показать, что пересечение двух эрбрановских моделей базы В будет ее эрбрановской моделью. Предположим противное. Пусть Лу и ^2-две эрбрановские модели базы В, и пусть р(а) V ~) р1(а1) V ... V V ~)р„(ап)-фундаментальная конкретизация какого-либо правила из В, истинная в Л1 и Л2, но ложная в Очевидно, что этот дизъюнкт имеет значение «ложь» в Лгп Л'2 тогда и только тогда, кога р(а) ложно, а все р{(а1) истинны в Л1пЛ2. Конкретизация р (а), следовательно, ложна в Л\ или Л2, тогда как всер((а() истинны в Лги Л2. Но из этого следует, что р(а) V ~1 р1(а1) V ... V ~1 рп(ап) ложно в Л\ или Л2, что противоречит нашему предположению. ■ Пересечение всех эрбрановских моделей базы В обозначается через Лв и называется ее наименьшей эрбрановской моделью. Модель Лв содержит в точности все те фундаментальные конкретизации атомов, которые являются логическими следствиями базы В [242]. Это свойство отражено в следующей теореме. Теорема 6.5. Лв = {А е %в \ В \= А). Доказательство. В^=А оВи {-] А} невыполнимо <>Ви{-] А} не является эрбрановской моделью 52*
412 6. Логика и базы данных о-] А ложно во всех эрбрановских моделях базы В о А истинно во всех эрбрановских моделях базы В оАе Мв. Семантический подход, основанный на этих результатах, состоит в сопоставлении строгой базе данных ее наименьшей эрбрановской модели Мв и выполнении запросов путем нахождения тех из фундаментальных конкретизации, которые истинны в Мв. В § 6.4.6 мы систематизируем построение модели Мв. 6.4.4. Аксиоматический подход При аксиоматическом подходе семантику базы данных выражают посредством теории, которая к базе данных добавляет аксиомы, выражающие гипотезы, сформулированные в § 6.2.2. Как и реляционные базы данных, строгие базы данных содержат только положительную информацию: элементы экстенсиональной базы данных и атомы, которые можно вывести при помощи правил интенсиональной базы данных. Действительно, легко видеть, что эрбрановский базис &в базы В является и ее эрбрановской моделью. Значит, никакая негативная литера не может быть логическим следствием базы В. Гипотеза замкнутого мира позволяет, кроме того, вывести негативную информацию. Для реляционных баз данных всякий элемент эрбрановского базиса, не принадлежащий базе данных, рассматривается со значением ложно. Для строгих баз данных это ограничение нужно смягчить: всякий элемент, который нельзя вывести из базы данных, рассматривается со значением ложно (см. также разд. 5.3). Определение. Пусть 2?-строгая база данных и $?в-ее эрбрановский базис. Определение (6.1) из § 6.3.3 обобщим следующим образом: ГЗМ (В) = {-1/> \Ре@в и ВЪ />}. (6.8) Теория ^"доопределяется, как и в (6.5), выражением Угвш = Ви ГЗМ (В) и АЗД (В) и АОИ(В\
6.4. Строгие дедуктивные базы данных 413 где АЗД(В) означает аксиому замкнутости домена для базы В и ЛЕИ (В) означает аксиомы однозначности имен для В. Теория ^вЗМ обладает многими интересными свойствами. Следующая теорема вытекает непосредственно из приведенной выше теоремы 6.4 и теоремы 6.15 разд. 6.5. Теорема 6.6. Теория У%ш выполнима. Далее покажем, что фундаментальные конкретизации атомов, которые можно вывести из теории &~в м,-это в точности фундаментальные конкретизации атомов, выводимые из строгой базы данных В. Теорема 6.7. Ргвш \-р(а)оВ\-р (а). Доказательство. Импликация <= очевидна, поскольку В с 2ГГВШ и логика первого порядка монотонна. Импликацию => докажем от противного. Предположим, что В\~1р{а), но $-гвЗМЧр(а). Если В\-1р(а\ то ~1 р(а)еГЗМ(В) с У$ . Имеем Ргв™\-р(а) и ^з1^\--]р(а). Следовательно, Угвш невыполнима. Это противоречит теореме 6.6. ■ Установим теперь эквивалентность (относительно теории &~™М) между семантическим и аксиоматическим подходами. Теорема 6.8. Теория &~вШ категорична: ее единственной моделью является Лв~наименьшая модель базы В. Доказательство. В силу леммы 6.1 достаточно рассмотреть эрбрановские модели. Эрбрановская модель $~вЗМ с необходимостью содержит элементы из В, являющиеся логическими следствиями теории $~ГвШ и, следовательно, базы В. С другой стороны, элементы из ^в, для которых В \-/р (а), не могут принадлежать никакой модели теории $~в . Действительно, если В \-/р (а), то ~1 р (а) е ГЗМ(В) и, значит, &~вЗМ\- ~~\р(а). Таким образом, теория &~™М имеет единственную модель, причем в ней содержатся в точности все те элементы из ^в, которые являются логическими следствиями базы В. По теореме 6.5 единственной моделью &~вШ в таком случае будет Мв- ■
414 6. Логика и базы данных Из теоремы 6.8 непосредственно вытекает Следствие 6.9. Теория Угвш полна. Наконец, заметим, что построение теории &~вШ не так просто, как для реляционных баз данных. Действительно, нужно явно построить все фундаментальные конкретизации атомов, не выводимых из базы данных, чтобы включить их отрицания в &~™м. Это построение представляет скорее теоретический, нежели практический интерес. В последующих параграфах будет показано, как можно получить практически полезные алгоритмы для выполнения запросов. 6.4.5. Иерархические базы донных Иерархические базы данных представляют собой простое обобщение реляционных баз данных, и результаты, полученные для последних, без особых затруднений распространяются на случай иерархических баз данных. Определение теории У~гвш, данное выше, приемлемо для любой строгой базы данных. В частном случае иерархических баз данных (т.е. не имеющих рекурсивных правил) можно построить теорию, эквивалентную У~ГвМ, привлекая аксиомы пополнения, как для реляционных баз данных (§ 6.3.3). Эта теория приводит к практически полезному алгоритму выполнения запросов (см. также разд. 5.4). • Пополнение Для реляционной базы данных мы видели, как при помощи аксиом пополнения построить полную теорию (которая обозначалась &~в*П), эквивалентную теории 2ГГВШ1 основанной непосредственно на гипотезе замкнутого мира (§ 6.3.3). Обобщим теорию У^ на случай иерархических баз данных. Для экстенсиональной части такой базы теория строится абсолютно так же, как для реляционной базы данных. Поэтому сосредоточим внимание на интенсиональной части. Интенсиональная база данных В1 содержит множество правил вывода, определяющих виртуальные предикаты. Эти
6.4. Строгие дедуктивные базы данных 415 правила вывода суть импликации. Убедимся в том, что включение обратных импликаций в ^п обеспечивает полноту теории. Пусть имеется правило вывода VVа^{^)(р{^)+-Зу{Ъ^^...^Ън)\ где г содержит, вообще говоря, и переменные, и константы. Это правило можно переписать в нормальной форме, т.е. так, чтобы все аргументы консеквента были переменными: Чх{р(х) - Зу (х, = /х Л ... Лхт = 1тАЬ1... Л *>„)), где /1?..., /т-все константы, содержащиеся в %, а х получается из % заменой /4 на новые переменные х( для * = 1,..., т. Если предикат р содержится в консеквентах к правил, записываемых (после переобозначения переменных в консек- венте) в нормальной форме: Чх(р{х)+-Е}), 1^У<*. то эквивалентность1) Ух(р(х) = Я1 V... V Ек) включается в теорию &~^п. Эта эквивалентность называется пополнением предиката р. В дальнейшем квантор общности, стоящий перед внешней скобкой в пополнении, будем опускать. Определение. &1П = ВиАП(В)иАЗД(В)иАОИ(В), где АП(В) означает множество пополнений базы В. Очевидно, что теория ^п получена заменой в 9~ГВШ явной негативной информации из ГЗМ(В) на пополнение предикатов. Пример 6.20. Пусть В -иерархическая часть базы данных из примера 6.19. Для построения теории &~%п добавим к В следующие эквивалентности: и В противоположность предикатам базы формула Ух-1/?(х) не может быть пополнением виртуального предиката.
416 6. Логика и базы данных родитель-родителя (х, у) = Зг (родитель (х, г) Л родитель (г, у)) (6.9) и родитель (х, у) = мать(х, у) V отец(х, у). (6.10) Первая эквивалентность означает, что все бабушки и дедушки являются родителями-родителей (об этом говорится в правиле вывода) и что не существует бабушки или дедушки, не являющихся родителем-родителя (это отражено в пополнении). Вторая эквивалентность означает, что все отцы и матери являются родителями и других родителей не существует. Мы покажем в данном параграфе, что теории У%п и &~ГъМ эквивалентны. Сначала установим, что &~\ допускает единственную модель. Теорема 6.10. Теория У^1 является категоричной. Доказательство. Принимая во внимание лемму 6.1, мы можем ограничиться эрбрановскими моделями. Достаточно показать, что при любой фундаментальной конкретизации р (а) либо «^"вЯ1-р(а), либо ^п\- ~1р(а). Действительно, это означает, что эрбрановский базис можно разбить на два подмножества, одно из которых состоит из элементов р (а), истинных во всех моделях, а другое-из элементов р (а), ложных во всех моделях. Отсюда, очевидно, вытекает существование единственной модели. Доказательство проведем по индукции. Для предикатов базы наличие свойства, которое нужно установить, следует из наличия соответствующего свойства в реляционных базах данных (теорема 6.2). Предположим, что требуемое свойство присуще всем предикатам, от которых р зависит строго. Пусть Ух(р(х) = = Еу V ... V /^-пополнение р. Тогда для всех фундаментальных конкретизации р (а) имеем р{а) = (Е,У ...УЕк)1х/а]. (6.11) С другой стороны, АЗД(В) влечет (для любой формулы Г) эквивалентность Зу(Г(у) =Р(а1)У...Р(ат)),
6.4. Строгие дедуктивные базы данных 417 где «!,..., ат-всевозможные «-наборы констант, а у -«-набор переменных. Следовательно, в формуле (6.11) каждое выражение /ьДх/а], 1 ^у ^ к, можно заменить на полностью конкретизированную формулу, содержащую только предикаты, от которых р зависит строго. Используя индуктивное предположение, заключаем, что либо Р^ \-(Е1 V ... V Ек) \_х/а], либо ^п\- -1 (Е, V ... V Ек) 1х/а] и, значит, либо Р$п\-р(а\ либо Р$п\--\р(а). Ш Далее покажем, что всякий элемент, принадлежащий базису &в, выводим из ^п тогда и только тогда, когда он выводим из В. Теорема 6.11. ^п\-р(а)оВ\-р(а). Доказательство. Импликация В \- р (а) => У^п I- р (а) истинна в силу монотонности логики первого порядка. Остается доказать обратную импликацию: ^п\-р(а)=> ^В\-р(а). Применим индукцию. Если р-предикат базы, то наличие устанавливаемого свойства вытекает из наличия соответствующего свойства в реляционных базах данных (§ 6.3.4). Предположим теперь, что требуемое свойство присуще каждому предикату, от которого р зависит строго. Пусть р(х) = Ег V ... V Ек является пополнением р, где Е{ = Зу(хп = Гц Л ... Л хш. = ит1 Л Ьп Л ... Л Ьш) для /= \,...,к. Пусть р(*1)+-Зу(ЬпА...АЬы) (6.12) есть правило вывода в базе В, соответствующее формуле Е(. Так как &~^\-р(а\ то, учитывая вид пополнения р, имеем ^П\-(Е^ V ... V Ек) [х/а]. Поскольку теория ^ категоричная, то &~%пI-Е{[х/а] для некоторого *е{1,..., к}. Из определения Ех вытекает, что ^п\~Ьц Ыа, у/Ъ~\ для некоторого Ь и всех /е {1,..., /!|}, а также ^ I- а^ = /у для всех ] е {1,..., т^. Воспользовавшись свойствами равенства, получаем <Г^П \- Ьа [г^а, у/Ь]. Применяя затем индуктивное предположение, заключаем, что В\-Ьа\_Ё1/а9у/Ь']. Наконец, правило вывода (6.12) позволяет нам прийти к нужному результату: В\- р (а). Ш 53-4465
418 6. Логика и базы данных Доказанные теоремы позволяют нам установить эквивалентность теорий ЯГ™*4 и 2Г^П. Теорема 6.12. ЗГ^ \- Р о ЗГГВЗМ \- В для всякой формулы В. Доказательство. Если 2Г^П и У™м-дре категоричные теории, то в силу теорем 6.7 и 6.11 модели этих теорий равны, а, значит, теории эквивалентны. ■ Таким образом, мы определили полную теорию ^ВШ, которая при принятии гипотезы замкнутого мира предоставляет иерархической базе данных некую семантику и обладает важным преимуществом-она легко строится. Кроме того, как будет показано ниже, эта теория приводит к практически полезному алгоритму выполнения запроса в иерархической базе данных. • Выполнение запроса Из теорем 6.8 и 6.12 непосредственно вытекает, что выполнение запросов при семантическом подходе равносильно выполнению запросов при аксиоматическом подходе относительно теории ув . Ответ на запрос (х\()(х)У определяется так же, как в случае реляционной базы данных (см. соотношение (6.6) в § 6.3.3), но только с привлечением теории &~$п: \\<х\аШ = {с\<гАвп\-д(с)}. Из этого определения следует, что ответ на запрос можно, в принципе, получить путем доказательства теорем; но, как известно, такой метод является, вообще говоря, слишком трудоемким. К счастью, как мы увидим, существует более эффективная методика. Для выполнения запроса в иерархической базе данных В каждый виртуальный предикат, фигурирующий в запросе, заменяют выражением, стоящим в правой части его пополнения в 3~в • Эту процедуру повторяют до тех пор, пока в запросе не останутся только предикаты базы. Тогда он может быть выполнен, как в реляционной базе данных.
6.4. Строгие дедуктивные базы данных 419 Пример 6.21. Возьмем снова пополнения предикатов родитель и родитель-родителя из примера 6.20. Рассмотрим запрос (х | родитель-родителя (х, Элррс)} (6.13) (найдем всех бабушек и дедушек Элроса). Заменяя в запросе (6.13) предикат родитель-родителя выражением из правой части эквивалентности (6.9), получаем эквивалентный запрос (х\3г (родитель (х, т) Л родитель(г, Элрос))}. (6.14) Виртуальный предикат родитель определяется в нашей теории эквивалентностью (6.10). Запрос (6.14) преобразуется в выражение (х\Зг((отец(х, т) V мать(х, г)) Л Л (отец (г, Элрос) V мать (г, Элрос)))}, содержащее только предикаты базы; его можно выполнить как запрос в реляционной базе данных, например, на языке реляционной алгебры. 6.4.6. Рекурсивные правила в строгих базах данных Строгие базы данных являются обобщением иерархических баз данных, допускающим наличие рекурсивных правил. В настоящем параграфе показывается, что внесение в базы данных рекурсивных правил порождает новые проблемы: простое построение пополненной теории (как в случае иерархических баз данных) здесь уже становится невозможным. Алгоритм выполнения запросов, представленный в §' 6.4.5, применить непосредственно к рекурсивным запросам нельзя. По этой причине мы затронем проблему выполнения запросов при семантическом подходе; будет предоставлен способ построения наименьшей эрбрановской модели, дающий алгоритм выполнения. • Проблемы, связанные с пополнением рекурсивных правил 53*
420 6. Логика и базы данных В § 6.4.5 мы видели, как при помощи аксиом пополнения можно построить для иерархической базы данных полную теорию ^в, эквивалентную 9~гвт- Следующий пример показывает, что наличие рекурсивных правил значительно усложняет этот Способ построения. Пример 6.22. Пусть супруг является предикатом базы. Конкретизация супруг (а, Ь) означает, что а-супруг Ь. Виртуальный предикат состоящий в браке (х, у) (х состоит в браке с у) вводится при помощи двух правил: состоящий в браке (х, у) <- супруг (х, у), состоящий в браке (х, у) <- состоящий в браке {у, х). Это определяет строгую базу данных В, не относящуюся к иерархическому типу. Пополняя правила, как для иерархических баз данных (§ 6.4.5), получаем эквивалентность состоящий в браке (х, у) = супруг (х, у) V состоящий в браке у, (х) и включаем ее в «^"д77. Эта теория неполна и, значит, некатегориальна. Действительно, если для двух констант а и Ь ни супруг (а, Ь), на супруг (Ь, а) не входят в экстенсиональную базу данных ВЕ, то невозможно вывести ни конкретизацию состоящий в браке (а, Ь), ни ее отрицание: ■л состоящий в браке (а, Ь). В одних моделях теории конкретизация состоящий в браке (а, Ь) истинна, а в других она ложна. В то же время теория УвШ всегда категориальна. В нашем примере имеем: если супруг (а, Ь)$ВЕ и супруг (Ь, а)$ВЕ, то &~в\- ~1 состоящий в браке (а, Ь). Приведенный пример показывает, что если пополнять строгую базу данных так, как это делалось в случае иерархической базы данных, то, вообще говоря, эквивалентность теорий ^"д77 и &~вШ нарушается. Таким образом, способ пополнения, приемлемый для иерархических баз данных, для строгих баз данных (в общем случае) не годится. Заметим, что при наличии рекурсивных предикатов даже если привлекается теория, использующая пополнение, алгоритм из § 6.4.5 применять уже нельзя. Напомним, что этот
6.4. Строгие дедуктивные базы данных 421 алгоритм состоит в замене предикатов запроса их определениями; а поэтому, как только мы дойдем до рекурсивного предиката, круг неминуемо замкнется. Следовательно, нужно искать другой способ выполнения запроса. С этой целью вернемся к семантическому подходу и опишем, как строить наименьшую эрбрановскую модель. • Построение наименьшей эрбрановской модели Результаты, представленные здесь, принадлежат Ван Эмдену и Ковальски (в [242] они излагаются в более широком контексте, чем у нас). Мы приводим упрощенные доказательства, приспособленные специально для баз данных. Для построения наименьшей эрбрановской модели определим оператор, действующий на множестве эрбранов- ских интерпретаций. Определение. Пусть В -строгая база данных и ^в-ее эрбрановский базис. Оператор непосредственного следования Тв: 2Л* -► 2^* задается соотношением Тв(1) = 1и{Ае&в\А<- А1 Л ... Л Ап есть фундаментальная конкретизация некоторого правила из базы В и Мх 4,}=»/}, где / с <%в (т. е. является эрбрановской интерпретацией). Эрбрановские модели можно охарактеризовать при помощи оператора Тв. Следующая теорема утверждает, что эрбрановские модели базы данных В суть такие эрбрановские интерпретации этой базы, которые содержат экстенсиональную базу данных ВЕ и являются неподвижными точками оператора Тв [149]. Теорема 6.13. Пусть В-строгая база данных, а 1-ее интерпретация. I является моделью базы В тогда и только тогда, когда база ВЕ содержится в I и Тв(1) = I, т.е. I есть неподвижная точка оператора Тв.
422 6. Логика и базы данных Доказательство. Если ВЕ<^1, то /-модель базы ВЕ. Верна и обратная импликация. Таким образом, остается доказать, что I является моделью базы В1 тогда и только тогда, когда 7^(7) = 7. Это можно сделать так. Интерпретация 7 является моделью базы данных В1 тогда и только тогда, когда для каждой фундаментальной конкретизации А <^-А1 Л ... Л Ап произвольного правила из В1 гипотеза {А19..., Ап} с 7 влечет соотношение А е7, т. е. в том и только том случае, если выполняется включение Тв (7) с 7. Поскольку соотношение 7 с Тв (7) истинно по построению, то 7 будет моделью тогда и только тогда, когда Тв (7) = 7. ■ Исходя из оператора Т, определим операторы Та: Т°(7) = 7, Тп{1) = Т(Тл-1(7)) для п = 1,2,..., Г°>(/) = 1*^0 Т"(/). Заметим, что оператор Тв монотонный, т. е. гипотеза 1Х с 72 влечет включение 7^(7^ с Тв(12). Значит, свойство 7 с 7^ (7) имплицирует для всякого п ^ 1 отношения Т5(7)<=Т5+1(Д Поскольку множество <%в конечное, то найдется натуральное число «0, такое, что ТЧр(ВЕ) = Т#> + 1(2?Е) и, значит, Тво(ВЕ) = П(ВЕ). Следующая теорема дает характеризацию наименьшей эрбрановской модели Мв в терминах оператора Тв. Теорема 6.14. Мв = Т%(ВЕ). Доказательство. Пусть п0- указанное выше натуральное число, так что Тп^(ВЕ) = Т%{ВЕ). Поскольку ВЕ с Тп^{ВЕ) и ТпвО(ВЕ) = ТЧр + 1(ВЕ) = Тв(ТвО(ВЕ)), то, в силу теоремы 6.13, заключаем, что Тп^(ВЕ) является моделью базы данных В. Из определения модели Мв следует, что Мв с Т#> (ВЕ). Для доказательства теоремы осталось установить, что обратное включение Тпв(ВЕ)аЛв справедливо для всех натуральных чисел п. Рассуждаем по индукции. В случае
6.4. Строгие дедуктивные базы данных 423 п = О имеем ТВ(ВЕ) = ВЕ с ^в. Затем, предполагая, что ТВ~'{ВЕ) с ЛГВ, получаем ГВ(ДЕ) = ГВ(ГГ Ч**)) с ^(.4^ в силу монотонности оператора Тв. Итак, поскольку ^в является моделью, то ТВ(ЛВ) — Мв (теорема 6.13). Отсюда получаем желаемый результат: ТВ(ВЕ) с Мв (для всех п). Ш • Выполнение запроса в строгой базе данных В § 6.2.6 мы показали, как выраженный на реляционном языке запрос можно преобразовать в выражение реляционной алгебры. Запросы строгой базы данных содержат виртуальные предикаты. Мы введем новый оператор (оператор неподвижной точки, обозначаемый НТ), чтобы иметь возможность получать выражения реляционной алгебры для всех запросов. Определение. Пусть /?-виртуальный предикат базы данных В. Тогда НТ(р) задается соотношением НТ(р) = {а\р{а)еТ%{ВЕ)}. Алгебраическое представление запроса, относящегося к виртуальному предикату, определяется следующим образом: \(х\р(х,а))\ = кхоу=аНТ(р(х,у)). Пример 6.23. Для виртуального предиката а — / из примера 6.19 имеем I (У \а - ДЭрендил, у)) \ = пуах = Эрендил НТ(а-/(х, у)). В дальнейшем мы продемонстрируем, как можно найти неподвижную точку НТ(р) виртуального предиката р. Построение неподвижной точки в ряде случаев предваряется процедурами выбора и/или проектирования, дающими точно такой же ответ, как и на соответствующий запрос при семантическом подходе; другими словами, || СИ а-ДЭрендил, у)}\\= ку ох ш Эрендил НЦа-Дх, у)). Ответ на данный отдельный запрос можно получить, отбирая в наименьшей эрбрановской модели элементы, удовлетворяющие этому запросу. Такая процедура требует явного и полного построения наименьшей эрбрановской
424 6. Логика и базы данных модели, что при большом объеме базы данных является крайне трудоемкой задачей. Для преодоления возникающих трудностей пытались развить методы выполнения запросов, не требующие полного построения наименьшей эрбранов- ской модели. При этих изысканиях было получено несколько интересных алгоритмов. Так называемый наивный метод выполнения отдельного запроса очень прост, но обычно малоэффективен. Идея этого метода состоит в построении некоторого подмножества наименьшей модели, определенным образом связанного с запросом. Пример 6.24. Для строгой базы данных из примера 6.19 рассмотрим запрос <у\а-/(Эрендил, у)}. Оператор Та-Г можно определить для подмножества базы данных, относящегося к предикату а-/, т.е. для подмножества, содержащего правила <*-Ах,у)<г-друг(х,у\ а-/(х, у)«- (родитель (х, г) А а-/(г, у)). При наивном методе вычисляют НТ(а-/) = Та./(ВЕ). Поскольку подмножество, относящееся к а-/, само составляет строгую базу данных, все доказанное в настоящем параграфе справедливо и для этого подмножества, и для оператора Та-Х. Следовательно, существует натуральное число «0, такое, что Т1г(ВЕ) = Та9ЛВЕ\ • Это означает, что для нахождения множества Таш/(В^ достаточно применять оператор Та.г до тех пор, пока нельзя будет получить ни одной новой фундаментальной конкретизации предиката а-/(х, у). Предположим, что в ВЕ содержатся следующие данные: друг(Еадан, Арагорн) родитель (Элронд, Еадан), друг(Эрендил, Финрод) родитель (Эрендил, Элронд), друг(Элвин, Галадриэл) родитель (Нимлот, Элвин).
6.4. Строгие дедуктивные базы данных 425 Построение множества Та./(ВЕ) осуществляется так: Та-/(ВЕ) = ВЕ, Та./(ВЕ) = ВЕ II {а-ДЕадан, Арагорн), а-/(Эрендил, Финрод), а-/(Элвин, Галадриэл)} Та./(ВЕ) = ВЕ II {а-/(Еадан, Арагорн), а-/(Эрендил, Финрод), а-/(Элвин, Галадриэл), а-/(Элронд, Арагорн), а-/(Нимлот, Галадриэл)} Та./(ВЕ) = ВЕ II {а-/(Еадан, Арагорн), а-/(Эрендил, Финрод), а-/(Элвин, Галадриэл), а-/(Элронд, Арагорн), а-/(Нимлот, Галадриэл\ а-/(Эрендил, Арагорн)} тЫвЕ) = т3а_лвЕ). Чтобы получить ответ, достаточно отобрать в Т1 _ х (ВЕ) элементы, удовлетворяющие запросу, и спроектировать их на второй атрибут; это дает | (у\а-/(Эрендил, у)} \ = {(Арагорн), (Финрод)}. Очевидно, что наивный метод имеет следующее неудобство: на очередном шаге нужно вновь вычислять все конкретизации, полученные на предыдущих шагах. Очевидное усовершенствование состоит в том, чтобы повторять выполнение запроса только для рекурсивных правил. В нашем примере такое усовершенствование позволяет избежать многократных построений конкретизации а-/(Еадан, Арагорн), а-/(Эрендил, Финрод) и а-/(Элвин, Галадриэл). В то же время конкретизации, порождаемые рекурсивным правилом на некотором шаге, всегда пересчитываются на следующих этапах. Чтобы избежать этого, применяют дифференциальный метод [12]. Суть его состоит в том, что стараются главным образом использовать на каждом шаге по возможности только новые конкретизации предыдущего шага. В нашем примере это ведет к применению оператора (на каждом шаге) только к новым конкретизациям предыду- 54-4465
426 6. Логика и базы данных щего шага; таким образом, на соответствующих шагах получаем {а-/(Еадан, Арагорн), а-/(Эрендил, Финрод), а-/(Элвин, Галадриэл)}, {а-/(Элронд, Арагорн), а-/(Нимлот, Галадриэл),} а-/(Эрендил, Арагорн)}. Ответ находят в множестве конкретизации, полученных за весь процесс. Другое неудобство наивного метода, не устраняемое дифференциальным методом, состоит в появлении большого числа ненужных конкретизации. В нашем примере, как мы видели, Ку\<*-/(Эрендил, у)} \ = куох = ЭрендилНТ(а-/(х - у)). Поэтому, прежде чем производить отбор, надо оценить НТ(а-/(х, у)), а для этого требуется вычислить полное значение предиката а-/, хотя необходимо на самом деле только одно его подмножество. К сожалению, оператор отбора обычно не коммутирует с оператором неподвижной точки, так что, вообще говоря, нельзя конкретизировать правила и использовать конкретизированные версии при выполнении запроса. Например, правила а-/(Эрендил, у) <- друг (Эрендил, у) а-/(Эрендил, у) <- родитель (Эрендил, 2) Л а-/(г, у)) порождают только факт а-/(Эрендил, Финрод) и, значит, не дают полного ответа на запрос. В последнее время разработано большое число алгоритмов, которые в основном комбинируют отбор и оператор неподвижной точки. Некоторые из них применимы только в случае правил определенной формы; чаще всего это линейные правила [28], [98]. Известны алгоритмы, функционирование которых не заканчивается при наличии цикла1 ] 1} Цикл в экстенсиональной базе данных для предиката друг образуют, например, факты друг (Эрендил, Финрод) и друг (Финрод, Эрендил).
6.5. Отрицание в дедуктивных базах данных 427 в экстенсиональной базе данных [28], [98], [216]. Упомянем, наконец, о существовании алгоритмов, дающих полные ответы во всех случаях и порождающих только существенные конкретизации [247], [214], [16], [104]. Эти алгоритмы достаточно сложные, и здесь они не приводятся. Их синтетическое изложение представлено в работах [213] и [51]. 6.5. Отрицание в дедуктивных базах данных 6.5.1. Введение Форма, в которой могут находиться правила интенсиональных составляющих строгих дедуктивных баз данных, ограничивается хорновскими дизъюнктами. Мы видели в предыдущем разделе, что у этих баз данных есть интересные свойства, такие, как существование естественной семантики и реально осуществляемых, корректных и полных механизмов выполнения запросов реляционного языка. С другой стороны, нужно сказать, что у этих баз данных относительно ограниченные выразительные возможности. Но, как мы убедимся, их можно значительно увеличить, допуская использование отрицаний в посылках правил. Пример 6.25. Рассмотрим раскрашенный граф, определенный предикатами базы дуга и раскрашенный. Выражение дуга (а, Ь) означает, что вершина Ъ является непосредственным преемником вершины а; событие раскрашенный (а, V) означает, что вершина а имеет цвет V. Говорят, что дуга допустима, если она соединяет вершины разных цветов. Покидая рамки хорновских дизъюнктов и опираясь на интуитивное представление об отрицании, запишем дуга-допустимая (х, у) <- дуга (х, у) Л раскрашенный (х, т) Л Л -л раскрашенный {у, т). Путь -это последовательность допустимых дуг, в которой конец одной дуги совпадает с началом следующей. Принадлежность двух вершин одному и тому же пути выражается хорновским дизъюнктом: путь (л:, у) <- дуга-допустимая (л:, у), путь (л:, у) <- дуга-допустимая (х, 2) Л путь (г, у). 54*
428 6. Логика и базы данных То, что две вершины связаны путем, но не принадлежат одному и тому же контуру (т.е. ориентированному циклу), можно записать следующим образом: путь-ациклический (х, у) <~ путь(х, у) Л -| путь (у, х). Вершина а называется звездной вершиной графа, если все пути, выходящие из а, расходятся как лучи звезды, т.е. расходятся из а, не образуя контуров, разветвлений и кратных соединений. Эти три исключительных случая представлены на рис. 6.2. Дуга (а, Ь) трактуется как путь из а в Ь. ^ /с (а) (Ь) (с) Рис. 6.2. (а) контур, (Ь) разветвление, (с) кратное соединение. Все это можно выразить следующими правилами: неудача-звезда (х) <- путь (х, т) Л путь (г, у) Л путь {у, г), неудача-звезда (х) <- путь(х, т) Л дуга-допустимая (г, г^ Л Л дуга-допустимая (г, г2) Л 2Х ф г2, неудача-звезда(х) <- путь(х, 2г) Л путь(х, г2) Л Л дуга-допустимая (гх, т) Л дуга-допустимая (г2, г) А Л 2Х Ф 22, звезда {х) <- ~1 неудача-звезда {х\ Первые три правила выражают три условия неудачи, четвертое правило говорит о том, что если не выполняется ни одно из условий неудачи, то в графе есть звезда и вершина л:-звездная. Отметим, что выразительная способность базы данных действительно возросла, ибо звезда (х) определяется условиями, которые должны быть выполнены для всех ^
6.5. Отрицание в дедуктивных базах данных 429 путей, выходящих из вершины л:. В тесных рамках хор- новских дизъюнктов такое определение невозможно. Цель данного раздела состоит в том, чтобы интенсиональной базе данных, построенной указанным способом, придать (сопоставить, приписать) такую семантику, которая адекватно отражает интуитивные представления. Присутствие отрицания в посылках правил приводит иногда к не вполне корректным определениям. Пример 6.26. Рассмотрим в качестве предиката базы предикат свойство-база, истинный в таких вершинах графа, которые обладают некоторым «выделенным» свойством. Далее, предикат раскрашенный определим правилами раскрашенный (у) <- свойство-база (у), раскрашенный (у) <- дуга (х, у) Л ~1 раскрашенный (х). Кажется, что данное нами определение предиката раскрашенный отражает «чередовательную природу» в раскраске вершин графа: конец дуги, выходящей из нераскрашенной вершины, должен быть раскрашен. Однако интуитивно это правило не совсем понятно: действительно, как трактовать его, если база данных содержит факты дуга (а, Ь) и дуга (Ъ, а), но не содержит ни свойство-база (а), ни свойство-база (Ъ)! Можно раскрасить вершину а или можно раскрасить вершину Ь или обе эти вершины. Проблема состоит в том, чтобы выяснить, можно ли придать некую адекватную семантику правилам из примера 6.26 и как ее приспособить к расплывчатому (нечеткому) понятию чередования в раскрашивании, выражаемому вроде бы этими правилами. 6.5.2. ГЗМ и дедуктивные базы данных Когда в посылках правил имеются отрицания, гипотеза замкнутого мира приводит в общем случае к невыполнимым (т.е. противоречивым) теориям. Пусть у базы данных В экстенсиональная часть есть множество {дуга (а, Ь), раскрашенный (а, V)}, правила вывода
430 6. Логика и базы данных взяты из примера 6.25. Эти правила не позволяют получить никакую новую фундаментальную конкретизацию для предикатов из В. Если определить ГЗМ(В) так же, как это было сделано в (6.8) для строгих дедуктивных баз данных, т.е. положить ГЗМ(В) = {-]Р\Ре@в и В\-1Р}9 то ГЗМ(В) будет содержать, кроме прочих объектов, негативные литеры —I раскрашенный (Ь, V) и —I дуга-допустимая {а, Ь). Тогда теория В \] ГЗМ (В) невыполнима, ибо, например, из литер дуга (а, V), раскрашенный (Ь, V) и —I раскрашенный (Ь, V) выводится фундаментальная конкретизация дуга-допустимая (а, Ь). Аналогичный феномен можно обнаружить в примере 6.26. Указанная невыполнимость объясняется тем, что, пользуясь негативными литерами, порожденными ГЗМ, можно, при наличии негативных литер в посылках правил, вывести новые позитивные литеры, противоречащие ГЗМ (В). Обстоятельства, приводящие к неудаче, представлены в следующей теореме. Ее мы доказываем для теорий1*, которые состоят из конечных множеств дизъюнктов, не содержащих функций. (Эту теорему легко можно обобщить.) Теорема 6.15. Если В-конечное множество дизъюнктов, не содержащих функций, то следующие три утверждения эквивалентны: (1) теория В II ГЗМ (В) невыполнима; (2) существуют фундаментальные конкретизации атомов А1,...,Ап, такие, что В\- А1У ... V Ап и В\-^А( для (3) пересечение всех эрбрановских моделей для множества В не является эрбрановской моделью множества В (свойство пересечения эрбрановских моделей из теоремы 6.4 не выполняется) . 1} Эти теории могут содержать дизъюнкты, построенные только из негативных литералов, но не являющиеся ни фактами, ни правилами дедуктивной базы данных.
6.5. Отрицание в дедуктивных базах данных 431 Доказательство. Убедимся сначала, что (1)=>(3). Докажем, что из отрицания утверждения (3) следует отрицание утверждения (1), т.е. если пересечение Л всех эрбрановских моделей множества В является эрбрановской моделью, то теория В II ГЗМ(В) выполнима. Легко устанавливается (как в теореме 6.5), что Л есть множество фундаментальных конкретизации атомов, являющихся логическими следствиями из В. Значит, Л есть модель теории ГЗМ(В), ибо ни один атом, отрицание которого принадлежит ГЗМ(В), не входит в Л. Если предположить, что Л является моделью для В, то Л будет моделью и для теории В II ГЗМ(В), которая, таким образом, будет выполнимой. Обоснуем теперь импликацию (3)=>(2). Пусть Л19..., «^Гт-эрбрановские модели для В и Л = П 7=1 Л]-их пересечение. Предположим, что Л не является моделью для В. Пусть С-дизъюнкт, представляющий собой дизъюнкцию атомов из (117=1 Л^\Л. Множество В II {~1 С} невыполнимо. В самом деле, поскольку Л не является моделью для В, то ни одно из множеств Л^Л не пусто и, следовательно, С содержит хотя бы по одному элементу из каждой эрбрановской модели множества В. Отсюда вытекает невыполнимость множества В V {—\ С}, ибо клаузальная форма невыполнима тогда и только тогда, когда она лцжна во всех эрбрановских интерпретациях (см. § 1.2.9 в [232]). Итак, В\- С. Далее, если с-атом из С, то В \~1 с. Значит, с не может принадлежать каждому Лр так как иначе он принадлежал бы Л, и, следовательно, он не принадлежит С. Докажем, наконец, что (2)=>(1). Если В^А^ то -] А(еГЗМ(В) для / = 1,...,«. Значит, формула —\(А1У... V Ап) является логическим следствием из В II ГЗМ(В), а это не противоречит гипотезе В\-Аг V ... V Ап только в том случае, если В II ГЗМ(В) невыполнима. ■ Заметим, что условие (2) можно выразить в следующей эквивалентной форме: существует фундаментальная конкретизация дизъюнкта, не редуцируемого до литеры, выводимая из В и такая, что ни один из ее поддизъюнктов из В невыводим. Этот тип несокращаемой дизъюнктивной информации представим в базе данных в том случае, если в посылках
432 6. Логика и базы данных правил содержатся отрицания. Очевидно, что правило, определяющее путь-ациклический в примере 6.25, можно записать эквивалентным образом: путь {у, х) V путь-ациклический (х, у) «- путь(х, у). Оно порождается, следовательно, дизъюнктивной информацией, которая делает теорию В II ГЗМ(В) невыполнимой. Теорема 6.15 выносит приговор также и классическому семантическому подходу: чаще всего понятие наименьшей эрбрановской модели не имеет смысла для нестрогих дедуктивных баз данных. Рекурсивное правило примера 6.26 эквивалентным образом записывается так: раскрашенный (х) V раскрашенный (у)«- дуга (х, у). Оно говорит о том, что начало и конец каждой дуги должны быть окрашенными. Если ВЕ = {дуга(а, Ь)}, то множества {дуга (а, Ь), раскрашенный (а)} и {дуга (а, Ъ), раскрашенный (Ъ)} суть модели для В, но их пересечение моделью для В не является. Таким образом, наименьшей эрбрановской модели для этой базы данных не существует. Однако всегда имеются минимальные модели, т. е. модели, у которых нет собственных подмоделей. Для рассмотренной базы данных существуют только две минимальные модели (они приводятся ниже). Возможны два подхода для придания семантики дедуктивным базам данных. Первый состоит в ослаблении ГЗМ для исключения негативных литер, приводящих к невыполнимости. При этом появляются неполные теории: некоторый элемент эрбрановского базиса и его отрицание не являются логическими следствиями. Именно с этим подходом связано введение обобщенной гипотезы замкнутого мира (ОГЗМ) [166], [221], о которой говорится дальше. Отметим, что ОГЗМ применима ко всем дедуктивным базам данных. Другой подход состоит в выделении одной минимальной модели, расцениваемой как более «естественная», чем остальные. Этот подход позволяет сохранить свойство полноты, но он применим только к некоторым классам баз данных. Мы изучим один из них, а именно класс стратифицированных баз данных [8], [195].
6.5. Отрицание в дедуктивных базах данных 433 6.5.3. Обобщенная гипотеза замкнутого мира Из теоремы 6.8 видно, что, добавляя гипотезу замкнутого мира к строгой дедуктивной базе данных, мы приходим к процедуре выполнения запросов в ее наименьшей эрбра- новской модели. Обычно, как мы уже отмечали, дедуктивная база данных не имеет наименьшей эрбрановской модели, но у нее существует несколько минимальных эрбрановских моделей. Такая множественность говорит о неполноте знаний о мире, моделируемом базой данных. Наличие в ней несокращаемой дизъюнктивной информации предоставляет много способов минимизации положительной информации (а не один, как это было при исследовании реляционных или строгих дедуктивных баз данных). Каждую минимальную эрбра- новскую модель можно рассматривать как возможное представление мира, моделируемого имеющейся базой данных, причем такое представление, в котором положительная информация минимизирована. При использовании обобщенной гипотезы замкнутого мира (ОГЗМ) оценивание формул реляционного языка проводят с привлечением множества минимальных моделей базы данных. Говоря точнее, формула рассматривается как - истинная, если она истинна во всех минимальных эрбрановских моделях, - ложная, если она ложна во всех минимальных эрбрановских моделях, - неопределенная, если она истинна в одних и ложна в других моделях. Это обобщение ГЗМ связано с тем семантическим подходом к базам данных, который представлен в § 6.3.2. • Семантическое и синтаксическое определения Придерживаясь изложения материала в духе работ [166] и [221], мы примем такую формулировку ОГЗМ, которая относится к аксиоматическому подходу и сопоставляет каждой дедуктивной базе данных В теорию 3~%ГШ. Мы 55-4465
434 6. Логика и базы данных убедимся в дальнейшем, что семантический и аксиоматический подходы с использованием ОГЗМ не являются эквивалентными. Для дедуктивной базы данных В ОГЗМ определяется следующим образом: ОГЗМ (В) = {-] А\Ае&в и А не содержится ни в одной минимальной эрбрановской модели В}. Это определение ОГЗМ (В) является семантическим, так как в нем используется понятие модели базы данных. Очевидно, что ОГЗМ(В) есть обобщение ГЗМ(В). Действительно, если В1 является множеством хорновских дизъюнктов, то каждая минимальная модель редуцируется в наименьшей эрбрановской модели. При принятии ОГЗМ запросы, адресованные базе данных, рассматриваются в рамках теории р°вгш = ви огзм(В) и азд(В) и аои(В). В примере 6.26 с ВЕ = {дуга (а, Ъ\ дугаф, с), раскрашенный (Ь)} не существует других минимальных эрбрановских моделей, кроме самой ВЕ. В этом случае ОГЗМ (В) состоит из отрицаний элементов $В\ВЕ и совпадает с ГЗМ(В). Теорема 6.15 гарантирует выполнимость В II ГЗМ(В). Если добавить к ВЕ факт дуга (а1, а), то будут две минимальные модели: ВЕ II {раскрашенный (а)} и ВЕ II {раскрашенный(а)}. Теория ^-огзм уЖе не полна? и50 0на не позволяет судить о значениях истинности для раскрашенный (а) и раскрашенный (а*). Отметим, что тем не менее 9~%гш V- -\ раскрашенный (с). Если взять ВЕ = {дуга (а, Ь)}, то будут существовать две минимальные модели: {дуга (а, Ь\ раскрашенный (а)} и {дуга (а, Ь), раскрашенный (Ь)}. Отсюда следует, что ОГЗМ(В) не содержит ни раскрашенный (а), ни раскрашенный (Ь), которые, таким образом, не определены. Значит, ОГЗМ не добавляет предикату раскрашенный никакой информации. Приведенные примеры позволяют сделать заключение о малой приемлемости семантического определения ОГЗМ (В) для практики, так как определение всех минимальных эрбрановских моделей рискует оказаться слишком дорогостоящим. Чтобы устранить это неудобство, необходимо охарактеризовать ОГЗМ с более синтаксических пози-
6.5. Отрицание в дедуктивных базах данных 435 ций. Следующая теорема, изящное доказательство которой можно найти в [221], составляет основу такой характериза- ции. Теорема 6.16. Если В-дедуктивная база данных, то фундаментальная конкретизация атома А содержится по меньшей мере в одной минимальной эрбрановской модели для В тогда и только тогда, когда существуют фундаментальные конкретизации атомов А1..., Ап (где п ^ 0), такие, что В\-(А V Аг V,..., V Ап) и ВЬ(А1 V ... V Ап). Отметим, что в случае л = 0 имеем В\-А, так что А принадлежит всем эрбрановским моделям. Обозначим через (€в множество фундаментальных конкретизации атомов, удовлетворяющих условию теоремы 6.16. Очевидно, что (€в является объединением всех минимальных эрбра- новских моделей В, что позволяет записать равенство ОГЗМ(В) = {~1А\ Ае@в\<$в}. Полученное таким путем определение ОГЗМ(В) является синтаксическим. По сравнению с теоремой 6.15 оно дает возможность избежать добавления к В фундаментальных конкретизации негативных литер, приводящих к невыполнимости. В самом деле, если В\-А1 V ... V Л„, но В\-\А{ для 1=1,...,/!, то никакая литера ~1 А{ не содержится в ОГЗМ(В). Для иллюстрации вновь обратимся к примеру 6.26 с ВЕ = {дуга (а, Ь), дуга(Ь, с), дуга (а1, а), раскрашенный (Ь)}. Рекурсивное правило, определяющее предикат раскрашенный, записывается (эквивалентным образом) так: раскрашенный (х) V раскрашенный (у) <- дуга (х, у). Из факта дуга (а1, а) можно вывести раскрашенный (ф V V раскрашенный (а), и, поскольку ни одна из литер этой дизъюнкции невыводима из В, они обе принадлежат #в. Легко убедиться, что справедливо равенство с€в = ВЕ II II {раскрашенный (а), раскрашенный (а)}. • Свойства ОГЗМ 55*
436 6. Логика и базы данных Нижеследующие теоремы, полученные в основном Минкером [166], дают характеризацию обобщенной гипотезы замкнутого мира. Мы приводим такие их версии, которые относятся к дедуктивным базам данных и имеют значительно более простые доказательства. Теорема 6.17. Множества минимальных эрбрановских моделей В и для теории 2Г%ГШсовпадают. Доказательство. Как показывает семантическое определение, никакая минимальная эрбрановская модель для В не содержит ни одного атома, отрицание которого принадлежит ОГЗМ(В). Следовательно, все минимальные эрбранов- ские модели для В являются также моделями теории 2Г%пм. Ясно, что эти модели минимальны. Обратно, минимальная модель Л теории ^%гъм является минимальной моделью для В, ибо в противном случае нашлась бы минимальная модель Л' для В, строго содержащаяся в Л, и она была бы моделью для теории ОГЗМ(В). Это противоречит предположению о минимальности Л. Ш Следующая теорема показывает, что введение ОГЗМ исключает ту опасность невыполнимости, о которой говорилось выше в связи с ГЗМ. Теорема 6.18. Если В-дедуктивная база данных, то теория ^%гзм выполнима. Доказательство. Очевидно, что у В есть по меньшей мере одна эрбрановская модель, а именно ее эрбрановский базис. Поскольку рассматриваемая модель конечна, то в ней найдется подмножество, являющееся минимальной эрбра- новской моделью теории &~%гзм. Ш Так как логика предикатов монотонна, то всякая формула, истинная в В, истинна и в 2Г%ГШ. В случае формул, не содержащих отрицаний, это утверждение можно обратить.
6.5. Отрицание в дедуктивных базах данных 437 Теорема 6.19. Пусть В-база данных и Р- замкнутая формула, содержащая только связки Л и V. Тогда если ЗГ$Гзк\-Е, то В\-Р. Доказательство. Предположим, что $'%пм\-Г. Применяя аксиому замкнутости домена, заменяем кванторы общности и существования, появляющиеся в Р, на конъюнкции и дизъюнкции, действующие на элементы домена. Тем самым формула Р будет представлена «на языке» конъюнкций и дизъюнкций, связывающих атомы эрбрановской области. Рассуждая от противного, предположим, что В\-/Р. Тогда теория В II {-л Г} выполнима и, следовательно, допускает минимальную модель Л, которая будет также минимальной моделью для В. Действительно, если ^'-модель для В, строго содержащаяся в Л, то Л' представляет больше ложных полностью конкретизированных атомов и, стало быть, сохраняет истинность формулы ~1 Р. Значит, множество Л' будет моделью и для В II {~1 Г}. Это противоречит минимальности модели Л. Далее, применяя теорему 6.17, заключаем, что «^-минимальная модель теории 2Г%ГШ. Однако это невозможно, поскольку формула Р в Л ложна. ■ Теорема 6.19 показывает, таким образом, что ОГЗМ не прибавляет никакой новой положительной информации к базе данных. Для сравнения с ГЗМ напомним, что негативные литеры из ГЗМ (В) могут зачастую использоваться в посылках правил вывода для получения новых фундаментальных конкретизации заключений этих правил, а на таком пути можно столкнуться с невыполнимостью. С другой стороны, следует заметить, что семантический и аксиоматический подходы к ОГЗМ приводят к разным результатам. Из теоремы 6.17 непосредственно вытекает, что если какая-либо формула выводима из ар-огзм^ ^ она истинна во всех минимальных эрбрановских моделях. Однако обратное, к сожалению, неверно. Если, например, база данных В редуцируется к дизъюнкту р V </, то формула (р Л ~1 #) V (~1/7 Л а) будет истинной во всех минимальных эрбрановских моделях для В, не являясь логическим следствием теории р%гш (поскольку ОГЗМ (В) = { }). Причина
438 6. Логика и базы данных этого несоответствия в том, что &~% допускает другие модели, кроме минимальных моделей для В. Здесь как раз и кроется существенное различие между семантическим и аксиоматическим подходами к ОГЗМ: полная процедура оценивания формул в 2Г%ГШ (ее получение является к тому же весьма сложной задачей [22], [253], [100]) не позволяет обнаружить все те формулы, которые истинны во всех минимальных моделях базы данных В. Кроме того, семантика, ограниченная ОГЗМ, не всегда передает удовлетворительным образом интуитивные представления об отрицании. Вновь обратимся к примеру 6.25 с ВЕ = {дуга (а, Ь), дугаф, с), раскрашенный (а, г) раскрашенный^, V), раскрашенный (с, /)} и запишем правило, определяющее предикат дуга-допустимая, в следующей форме: дуга-допустимая (х, у) V раскрашенный (у, х) <- дуга(х, у) Л Л раскрашенный (х, г). Очевидно, что появились два новых логических следствия: В \- дуга-допустимая (а, Ь) V раскрашенный (Ъ, г), В \- дуга-допустимая (Ь, с) V раскрашенный (с, у), в которых ни один атом не выводим из В. В силу синтаксического определения ОГЗМ значения истинности этих атомов в &~вМ не определены. Это противоречит интуитивному представлению, исходя из которого мы определяли предикат дуга-допустимая. Ввиду отсутствия в ВЕ фактов раскрашенный {Ь, г) и раскрашенный (с, V) можно предположить, что они ложны, и затем вывести факты дуга-допустимая (а, Ь) и дуга-допустимая (Ь, с). Причина такого пробела в том, что индивидуум, выписывающий правило, обычно интерпретирует его только в одной минимальной модели, а не в более мощном множестве минимальных моделей. В дальнейшем мы постараемся дать характеризацию такой модели.
6.5. Отрицание в дедуктивных базах данных 439 6.5.4. Стратифицированные базы данных • Стратификация базы данных. Отметим, что ОГЗМ(В) зависит только от логического содержания базы данных В. В самом деле, хотя дизъюнкт р V д можно записать и в виде /? <- "и #, и в виде д «- ~1 р, но различные формы записи базы данных В не оказывают никакого влияния на ОГЗМ(В). Однако случается, что форма записи правил выражает некое «надлогическое» содержание, которое чисто логической интерпретацией этих правил передать не всегда удается. Пусть, например, В-дедуктивная база данных, интенсиональная составляющая которой содержит первоначальные правила примера 6.25: дуга-допустимая (х, у) <- дуга (х, у) Л раскрашенный (х, т) Л Л -\раскрашенный(у, г), путь (х, у) <- дуга-допустимая (х, у), путь (х, у) <- дуга-допустимая (х, т) Л путь (г, у), путь-ациклический (х, у) <- путь (х, у) Л ~1 путь (у, х). Посмотрим, как форма, в которой записаны правила, может ставить рамки семантике базы данных В. Поскольку предикат раскрашенный входит в посылку правила, определяющего предикат дуга-допустимая, с отрицанием, то наиболее естественной манипуляцией кажется следующая: расширить базу данных В, добавив к ней ГЗМ (ВЕ), и лишь затем оценивать предикаты дуга-допустимая и путь. Исходя из ВЕ = {дуга (а, Ь), дуга (Ъ, с), раскрашенный (а, г), раскрашенный (Ь, V), раскрашенный (с, /)}, среди прочих фактов в ГЗМ(ВЕ) получаем пару {~1 раскрашенный (Ь, г), 1 раскрашенный (с, V)}. Следуя указанной стратегии, можно (в данном случае) вывести факты дуга-допустимая (а, Ь), дуга-допустимая (Ь, с), а также путь (а, Ь), путь (Ь, с) и путь (а, с). В силу того что предикат путь входит с отрицанием в посылку правила, определяющего предикат путь-ацикли-
440 6. Логика и базы данных ческий, мы добавим к базе данных, прежде чем оценивать это правило, отрицания недоказуемых фундаментальных конкретизации предиката путь, в частности такие факты, как ■л путь(Ь, а), ~л путь (с, а) и ~1 путь (с, Ь). Исходя из них, можно вывести факты путь-ациклический (а, Ь), путь-ациклический (Ь, с) и путь-ациклический (а, с), которые согласуются с интуитивными представлениями. Следовательно, предикаты дуга, раскрашенный, дуга- допустимая, путь и путь-допустимый можно так разбить на три последовательных «слоя» {дуга, раскрашенный), {дуга- допустимая, путь) и {путь-допустимый}, что негативные литеры, входящие в определение предиката данного слоя, будут конкретизациями предиката из предшествующего слоя. Дадим формальное определение. Дедуктивная база данных называется стратифицированной, если множество К ее предикатов можно разбить на попарно не пересекающиеся подмножества 51,...,5Г, обладающие указанными ниже свойствами (запись гапд (/) =) означает, что / является конкретизацией - позитивной или негативной-предиката из 5;). На каждое правило /?<-11 Л,..., Л 1Ч накладываются следующие условия: • для всякой позитивной литеры 1( (конкретизации виртуального предиката) гап§(/,) ^ гап§(р) (1 ^ / ^ а), • для всякой негативной литеры /, (конкретизации виртуального предиката) гап§(Ц < гап§(р) (1 ^ / < а). Набор (5!,..., 5Г) называется стратификацией базы данных В, а подмножества 5,- слоями в В. Очевидно, что 5! = {дуга, раскрашенный), 82 = {дуга- допустимая, путь}, 83 = {неудача-звезда, путь-ациклический), 54 = {звезда} образуют стратификацию базы данных из примера 6.25. Это не единственно возможная стратификация; есть и такая: $! = {дуга}, 82 = {раскрашенный}, 83 = {дуга- допустимая, путь, неудача-звезда), 54 = {звезда}, 85 = {путь- ациклический}. Сформулированное нами определение стратифицированной базы данных является конструктивным: требуется найти только одну стратификацию. Можно дать более синтакси-
6.5. Отрицание в дедуктивных базах данных 441 ческое определение, прибегнув к понятию взаимной рекурсии, введенному в § 6.4.2. Заметим, что на множестве Vвиртуальных предикатов базы данных В взаимная рекурсия индуцирует отношение эквивалентности. Упомянутая синтаксическая характеризация отражена в следующей теореме. Теорема 6.20. База данных В является стратифицированной тогда и только тогда, когда для каждого класса эквивалентности М ={р!,..., рп} отношения эквивалентности, индуцированного взаимной рекурсией, ни одно правило в В, имеющее в качестве заключения конкретизацию предиката р{, не содержит в своей посылке негативную конкретизацию предиката р^ (1 ^ /, ) ^ п). Доказательство. Если база данных стратифицированная, то конкретизации ее взаимно рекурсивных предикатов в силу определения будут одного и того же ранга. Тем самым необходимость очевидна. Для доказательства достаточности определим на классах эквивалентности отношение зависимости «, полагая М1 « М2, если М2 содержит предикаты, зависящие от предикатов, входящих в Мг. Ясно, что это отношение является частичным порядком. Пусть 5! есть совокупность всех классов, минимальных относительно порядка «, а ^+1 -совокупность всех классов, зависящих от классов из 5|(1</<г). Легко видеть, что (51,...,5Г)- стратификация базы данных В. Ш Иногда, выражаясь образно, говорят, что база данных стратифицирована, если отрицание не пересекается с рекурсией, т.е. если не существует предикатар19 который определен с использованием соотношений, включающих литеру -1/?2, и при этом предикат р2 сам определяется через выражения, содержащие р1. Заметим, что строгая дедуктивная база данных является очевидным образом стратифицируемой и что база данных из примера 6.26 нестратифициро- ванная (ибо определение предиката раскрашенный включает его отрицание —I раскрашенный). • Семантика стратифицированной базы данных 56-4465
442 6. Логика и базы данных Пусть 5 = (5 х,..., 5Г) - стратификация базы В. Пусть 2Рд-подмножество из ВЕ, состоящее из фундаментальных конкретизации предикатов, входящих в 5^, и Я(-множество правил, определяющих виртуальные предикаты из 5^. Тогда в1 = и (вЕ и я,), где / = 1,..., г, называются частными базами данных базы В. С каждой частной базой данных В{ ассоциируется частная теория 3~\р определяемая индуктивно: &*В1 = вх[) гзм(в1) и азд(В) и аощв\ $-% = вЕ и я, и я~8в._1 [} гзм{&Е и я^ *%_х) для I = 2,..., г. Полагают &% = 2Г%г. В теории &~%, определенной таким образом, выполняются запросы, адресованные дедуктивной базе данных В. Заметим, что Вг-строгая дедуктивная база данных и, следовательно, &"\ = &"$№. Такое определение сопровождается непосредственно механизмом вывода, формализующего механизм, проиллюстрированный в начале этого параграфа на примере: ГЗМ применяется последовательно к предикатам каждого слоя, учитывая при этом фундаментальные конкретизации негативных литер, полученные при ее применении к предьщущим слоям. Следует также упомянуть о важности экстралогической информации, заключенной в форме записи правил. Рассмотрим базу данных {р V а). Если записать ее в эквивалентной форме {р <- -л а), то {{а}, {/?}) является единственной возможной стратификацией и 2ГВ \- р Л —I #. Записав ту же базу в форме {<7<-~1/>}, получаем другую (единственно возможную) стратификацию: ({/?}, {а}) и Р\ \- ~\ р Л #. Определение семантики стратифицированных баз данных, приведенное выше, относится к аксиоматическому подходу. Можно также дать определение в рамках семантического подхода. Вот несколько предварительных определений, которые будут при этом полезны. Оператор непосредственного следования, определенный в § 6.4.6, обобщается таким образом, чтобы вычислять
6.5. Отрицание в дедуктивных базах данных 443 непосредственные следствия из подмножества дедуктивных правил базы данных. Определение. Если Я -множество дедуктивных правил базы В, то оператор непосредственного следования Тк есть отображение из 2т* в 2&в, определяемое следующим образом: т*(/) = в\ существует фундаментальная конкретизация правила Я, имеющая вид А<-В1А...АВЧ и такая, что - позитивные литеры среди В19..., ВЙ принадлежат /, - негативные литеры среди В19..., Вя не принадлежат П- Затем обычным образом (см. § 6.4.6) определяются операторы Тпк(1) (для всех натуральных п) и ТЩ. Некоторые результаты, полученные в § 6.4.6, нетрудно обобщить. Мы представим эти обобщения в следующей теореме, приводимой здесь без доказательства. Теорема 6.21 (1) Множество I является моделью для Я тогда и только тогда, когда I = Тк (/). (2) Для любого I существует целое натуральное п0, такое, что 7^0 + 1(/) = Тк°(/) и, следовательно, 1%{1) = Т*°(/). (3) Множество 1%(1) является моделью для Я. Пусть В -база данных, а 5 = (51?..., 5г)-ее стратификация. При аксиоматическом подходе базе В сопоставляется модель Мв, определяемая по индукции: ^1=Тк1(#Еи Лъ-г) ДЛЯ / = 2,..., г, Следующая теорема устанавливает эквивалентность между семантическим и аксиоматическим подходами для стратифицированных баз данных. 56*
444 6. Логика и базы данных Теорема 6.22. Множество М{ является единственной моделью теории $~%{ для * = 1,..., г. Доказательство. При * = 1 утверждение справедливо в силу теорем 6.8, 6.14 и того факта, что Вх -строгая дедуктивная база данных. Предположим, что оно верно для /, и установим его истинность для /4-1. Положим Т1 = В^1 [] Я1+1 [] ^|.. Нужно доказать, что Ль+1 -единственная модель для Т{ \] ГЗМ(Т^. Покажем сначала, что множество ^+1- модель для 7]. Поскольку ^ + 1 = Т^+1 №+1 и ^д, то на основании теоремы 6.21 заключаем, что М^ 1 - модель для Е^1 II Я1+1. С другой стороны, Я(+! не определяет никакого предиката из и^^^8^, а значит, подмножество Л^и состоящее из фундаментальных конкретизации предикатов из 11^,5^, совпадает с Мх. В силу индуктивного предположения множество Мц.^ является моделью теорий &~%{, а следовательно, и моделью для 7]. Убедимся теперь, что всякий элемент множества Л^(+1 является логическим следствием теории 7]. Действительно, поскольку Л{- единственная эрбрановская модель для ^|., то элементы из М{ суть логические следствия теории ^"|, а значит, и теории 7]. Легко установить, что и множество ^1+1 = 1к.и№+1 и ^д состоит из логических следствий теории 7]. Так как всякая эрбрановская модель теории содержит множество всех атомов вполне конкретизированных следствий этой теории, то Л(+1 является наименьшей эрбра- новской моделью для 7]. Свойство пересечения моделей, стало быть, выполняется для теории 7], и ее, следовательно, можно пополнить ГЗМ, сохраняя выполнимость. Пополненная теория ^%+1 = 7] II ГЗМ(Т^ является в таком случае категоричной и допускает Мц.^ в качестве единственной модели. ■ Следствие 6.23. Если В-стратифицированная база данных и 0,-замкнутая формула, то категоричность теории 2Г% и справедливость отношения 2Г%\~0, имеют место тогда и только тогда, когда Мв \= ().
6.5. Отрицание в дедуктивных базах данных 445 Может показаться (если исходить из приведенного нами определения), что семантика стратифицированной базы данных зависит от выбора стратификации. Ведь, как мы убедились, стратифицированная база данных может допускать много различных стратификации и ни одна из них не кажется «естественнее» других. Однако мы докажем ниже, что семантика, принятая здесь, в сущности, не зависит от выбранной стратификации. Этот фундаментальный результат установлен Аптом, Блейром и Уолкером [8]. Мы приведем сейчас новое и значительно более короткое его доказательство. Теорема 6.24. Семантика стратифицированной базы данных не зависит от выбора стратификации. Доказательство. Если р-предикат базы данных В, то множество предикатов, от которых зависит р, обозначим через Р, а множество предикатов, от которых р зависит строго, обозначим через Р<. Если 7-эрбрановская интерпретация базы В и #-какое- либо множество предикатов из В, то через \1\Е обозначим подмножество атомов из /, являющихся фундаментальными конкретизациями предикатов подмножества Е. Заметим сначала, что если предикат р принадлежит /-му слою стратификации, то |Мв\? = \Л{|Р. Действительно, М{ с Мв, и по построению в Мв не содержатся те фундаментальные конкретизации предикатов множества Р, которые не принадлежат М{. Пусть ($!,..., 5Г) и (51,..., З'г>)-две стратификации базы В, а Мв и М'в-соответствующие модели, сопоставленные базе В при этих стратификациях. Утверждение будет обосновано, если мы докажем, что | Мв |Р = | Жв \Р для любого предиката р. Доказательство проведем по индукции относительно частичного порядка, определяемого отношением зависимости. Если Ъ-предикат базы, то имеем \Мв\щ = \М'В\^ = = \ве\{ьу Пусть р-виртуальный предикат. Индуктивное предположение имеет вид \^в\р< — \^в\р<- (ИП.1)
446 6. Логика и базы данных Надо установить, что справедливо равенство | Лв \р = IЛ'в |Р. Существует индекс /, таксой, что ре8{. В силу сделанного выше предварительного замечания достаточно доказать включение | Л{ \ Р с | Л'в |Р. Снова рассуждаем по индукции. Полагаем Л0 = { }. Имеем \вЕ и ль-х\Р ^\&Еи ль-х\Р< с (Л^< с 5,) с \ЛВ\Р< с (#е II Л1-1 с Л в) с|иГЫР<с (ИП.1) Пусть теперь выполнено индуктивное предположение I П<№ и ^-1)1р с \^'в\р- (ИП.2) Надо доказать, что | Т^Х(^Е II Л1-1)\Р с \ЛВ\Р. Пусть у-предикат из Р\Р<. Если 1?(в)е(Г^1(Бя II II ^-1)|Р\| ^№ и ^1-1)\р\ то существует конкретизация правила Я; вида ь(а) «- »!(«!) Л ... Л ^(о,) Л -л V^+^(а^+^) Л ... Л -| ь^), такая, что (1) Vт(ат)е\Ткк^(В^Е и Л^)^ для т = 1,...,;, (2) и>и)ф|Г%№ и ^-1)1р Для я=У+ 1,...,/. В таком случае имеем (1) »ш(Ое|^Гв1р Для т = 1,...,У (в силу (ИП.2)), (2) ьп(а^$\Лв\Р для « =У 4- 1,..., /, ибо, используя стратификацию, получаем, что Vпе 1Л=155 и, следовательно, ДЛЯ У= {^-+1,..., V^} I 7%№ V Л1-1)\у = \Л1-1 \у (определение ТЛ0 = \-#'в\у (УаР< и (ИП.1) Принимая во внимание, что Л'в-модель для 5, имеем у(а)е^в и, следовательно, | Т**1^ и ^х-\)\р с \^'в\р- Отсюда вытекает, что \Л(\Р= 11*°=о1 Т1* № 11 Л1-1\Рс ^\Л'В\Р. ■
6.6. Неполная информация 447 • Выполнение запросов в стратифицированной базе данных Выполнение запросов может производиться способом, очень похожим на тот, который мы рассмотрели в случае строгих дедуктивных баз данных. Модифицируется только оператор неподвижной точки. Вместо вычисления отношения, соответствующего виртуальному предикату V в наименьшей эрбрановской модели, оператор вычисляет отношение, соответствующее V в единственной модели Мв, сопоставляемой стратифицированной базе данных, как описано выше. Это можно осуществлять более эффективно, исходя из стратификации базы данных, редуцируемой к V и тем предикатам, от которых зависит V. Модель Мв, сопоставляемая редуцированной базе данных, строится путем последовательного вычисления неподвижных точек, проводимого в слоях базы, и отношение, соответствующее V, выбирается из этой модели Мв. 6.6. Неполная информация 6.6.1. Введение Мы убедились в § 6.3.4, что при использовании гипотез замкнутого мира, замкнутости домена и однозначности имен реляционная база данных полна: всякая формула в ней либо истинна, либо ложна. Иногда представляется желательным расширить понятие реляционной базы данных1*, чтобы иметь возможность моделировать неполную информацию, т.е. информацию, которую нельзя представить в виде конъюнкции фундаментальных конкретизации литер реляционного языка. Пример 6.27. В реляционной базе данных, определяющей предикат отец, высказывание Галадриэл и Финрод имеют одного отца (но он неизвестен) 1} Исследования, относящиеся к обработке неполной информации в дедуктивных базах данных, находятся пока еще в начальной стадии [105].
448 6. Логика и базы данных записывается на реляционном языке, определенном в § 6.2.4, следующим образом: Зр(отец(р, Галадриэл) Л отец(р, Финрод)). Речь идет здесь о неполной информации. Ее нельзя выразить в базе данных при помощи фундаментальных конкретизации реляционных предикатов. В этом разделе описывается обобщение реляционных баз данных, позволяющее представлять некоторые типы неполной информации, и изучается способ, которым при этом обобщении реализуется механизм оценки запросов. Существует много типов неполной информации; некоторые из них проиллюстрированы приведенными ниже примерами. • Экзистенциальные конъюнктивные формулы Пример 6.28. Отец Нимлот неизвестен: Зротец(р, Нимлот). Значение некоторых компонент «-набора рассматриваемого отношения полностью неизвестно. Пример 6.29. Галандриэл и Финрод имеют одного отца, но он неизвестен: Зр(отец(р, Галандриэл) Л отец(р, Финрод)). Некоторые компоненты каких-либо «-наборов (некоторых отношений) имеют тождественные, но неизвестные значения. Пример 6.30. Отец Нимлот неизвестен, но известно, что это ни Эрендил, ни Элронд: Зр(отец(р, Нимлот) Л р ф Эрендил Ар ф Элронд). Значение некоторых компонент «-набора неизвестно, но оно отлично от некоторых констант. Пример 6.31. Отец Нимлот неизвестен, отец Галадриэл неизвестен, но известно, что он не является отцом Нимлот: Зрг Зр2(ртец(р1, Нимлот) Л отец(р2, Галадриэл) Л ру Фр2).
6.6. Неполная информация 449 Некоторые компоненты каких-то л-наборов (некоторых отношений) имеют неизвестные, но отличные друг от друга значения. • Дизъюнктивные формулы Пример 6.32. Отцом Галадриэла является либо Финарфин, либо Хьюрин: Зр(отец(р, Галадриэл) Л (р-Финарфин V р-Хьюрин)) или еще отец (Финарфин, Галадриэл) Л отец (Хьюрин, Галадриэл). Значение некоторых компонент л-набора рассматриваемого отношения неизвестно, но принадлежит известному множеству. Пример 6.33. Отцом Идрили является либо брат Фингона, либо дядя Жил-Галада: Зр(отец(р, Идриль) Л (брат(р, Фингон) V V дядя(р, Жил-Галад))). • Дизъюнктивная информация общего рода Для некоторых типов неполной информации построены экстенции реляционных баз данных. Мы убедимся, что достаточно просто построить экстенции, представляющие неполную информацию из примеров 6.28 и 6.29; впрочем, в дальнейшем мы и ограничимся их изучением. Экстенции более общего вида позволяют сверх того представить неполную информацию из примеров 6.30 и 6.31 [205, 206]. Для примера 6.32 существует экстенция иного типа-использующая специальные ограничения [107]. Более сложный пример 6.32 выходит за рамки возможностей экстенции, предложенных на сегодняшний день. Введение неполной информации в реляционные базы данных изучается в следующих параграфах дополнительно с трех точек зрения. 1. Синтаксическая точка зрения. Как представлять неполную информацию? В частности, как отличить ее от достоверной информации? 57-4465
450 6. Логика и базы данных 2. Семантическая точка зрения. Как формально характеризовать при семантическом и аксиоматическом подходах семантику базы данных, содержащей неполную информацию? 3. Алгоритмическая точка зрения. Как при заданных синтаксисе и семантике построить алгоритмы выполнения запросов, исходя из алгоритмов, предложенных для реляционных баз данных? 6.6.2. Синтаксис • Меченые нулевые значения В экзистенциальных конъюнктивных формулах, таких, как формулы из примеров 6.28 и 6.29, кванторы существования можно исключить, вводя сколемовские константы (см. [232], § 1.2.8): каждая переменная, квантифицированная экзистенциально, в конъюнкции заменяется на константу, обозначаемую здесь ©,(/= 1, 2,...), отличную от первоначальных констант базы данных. На жаргоне баз данных эти новые константы со,- называются мечеными нулевыми значениями^ (см. [109], [205], [206]). После сколемизации информацию можно представить в реляционной форме. Пример 6.34. Неполная информация из примеров 6.28 и 6.29 моделируется следующими экзистенциальными конъюнктивными формулами: Зротец(р, Нимлот), Зр(отец(р, Галандриэл) Л отец(р, Финрод)). После сколемизации получаем отец((о19 Нимлот), отец (со2> Галадриэл) Л отец (со2> Финрод), или в реляционной форме: отец (со 19 Нимлот), 1} В оригинале -юакипз пиИез тагаиёев. Правильнее было бы говорить о бессодержательных или неопределенных меченых значениях.- Прим. ред.
6.6. Неполная информация 451 отец((й2, Галадриэл), отец(со2, Финрод). Меченые нулевые значения отличаются от обычных констант. Они обозначают объекты моделируемого мира, которые неполностью идентифицированы в базе данных В; это может относиться к объектам, уже представленным в В, или к совершенно новым объектам. Различные вхождения одной и той же константы о^ в базе В обозначают (указывают на, выражают) один и тот же объект. Определение. База данных с мечеными нулевыми значениями состоит из фундаментальных конкретизации реляционных предикатов, как и обычная реляционная база данных (§6.3.1), но домен 2 базы данных определяется теперь следующим образом: & = <$ и {©!,..., ©„}, где #-множество первоначальных констант, {©!,..., сол}- множество меченых нулевых значений и # Л {(о19..., сол} = = { }• • Коддовские нулевые значения Способ, менее тонкий, чем техника меченых нулевых значений, состоит в следующем: для представления неполной информации используется единственный символ со0. Всякое вхождение символа со0 в базе данных обычно называют коддовским нулевым значением (см. [41], [87], [88], [21], [109], [123]). Каждое вхождение символа со0 представляет некоторое неизвестное значение (необязательно одно и то же). Неизвестное значение может отличаться от всех констант из множества # (как в случае меченых нулевых значений). Пример 6.35. Неполная информация «отец Нимлот неизвестен, и ребенок Эола тоже неизвестен» представляется так: отец (со0, Нимлот), отец (Эол, со0). 57*
452 6. Логика и базы данных Определение. База данных с коддовскими нулевыми значениями состоит из фундаментальных конкретизации реляционных предикатов с доменом @, определяемым следующим образом: з> = <е \] {ю0}, где #-множество первоначальных констант, со0-символ колдовских нулевых значений и оо0е#. Далее мы обсудим следствия этого обеднения синтаксиса и убедимся, что, используя некоторые меры предосторожности, можно рассматривать коддовские нулевые значения как частный случай меченых нулевых значений. Тем не менее впредь мы будем отдавать себе отчет в том, что коддовскими нулевыми значениями можно выразить только один и тот же неизвестный объект, появляющийся в каких-либо «-наборах базы данных. Пример 6.36. В примере 6.34 информацию «отец Нимлот неизвестен, Финрод и Галадриэл имеют одного отца, но он неизвестен» можно моделировать в реляционной форме с коддовскими нулевыми значениями только приблизительно: отец (со0, Нимлот), отец(щ, Финрод), отец (со0, Галадриэл). Утрачена информация, выражающая тот факт, что у Финрода тот же отец, что и у Галадриэл. 6.6.3. Семантический подход Семантический подход имеет целью сопоставления всякой базе данных В соответствующего множества моделей. В предыдущих разделах, за исключением контекста обобщенной гипотезы замкнутого мира (§ 6.5.3), при семантическом подходе всегда удавалось выделить единственную модель, описывающую всю информацию, содержащуюся в В. Это не удается сделать в случае баз данных с нулевыми
6.6. Неполная информация 453 значениями. Сопоставим базе данных В множество моделей, каждая из которых описывает реляционную базу данных (с полной информацией, например представленную в разд. 6.2), совместимую с информацией, содержащейся в В. Каждая модель будет описывать то, что может быть пополненным представлением базы в реальном мире. Будем говорить, что формула истинна (соответственно ложна) в В, если она истинна (соответственно ложна) во всех моделях базы В. К сожалению, подобное изобилие моделей приводит к усложнению задачи эффективного выполнения запросов. Это объясняется тем, что множественность моделей влечет за собой неполноту классических методов выполнения. • Меченые нулевые значения Для базы данных В с мечеными нулевыми значениями ©!,..., оол модели, сопоставленные В, определяются на следующем домене: &* = <${) {со?,..., со*}, где со?-константы, отличные от всех констант из (€. со* представляют возможные значения, кроме значений из #, для СО;. В домене @* роль констант со? идентична роли первоначальных констант базы данных В. Модель Мв строим путем приписывания каждому меченому нулевому значению в В значения из ^*: Мв = №, где в:{ю19...,&н}-+@*. Более точно, В& является обычной реляционной базой данных, допускающей, следовательно, единственную минимальную эрбрановскую модель, которой будет сама база данных В& [§ 6.3.2). Таким образом, имеем четко определенную модель для каждой подстановки 6. Множество моделей Мв, сопоставленных В, обозначается 5В. Пример 6.37. Пусть В -база данных с мечеными нулевыми значениями из примера 6.34: отец (со 1? Нимлот), отец((о2, Финрод), отец((й2, Галадриэл).
454 6. Логика и базы данных Здесь # = {Финрод, Нимлот, Галадриэл}. Две нижеследующие реляционные базы данных принадлежат множеству Ев: отец (Финрод, Нимлот), отец(со1[, Нимлот), отец((йХ, Финрод), отец((й%, Финрод), отец((о1, Галадриэл), отец((о%, Галадриэл), 6 = {(©!, Финрод), (со2 со?)}; 6 = {(©!, со?), (со2, ©$)}. А вот две базы данных, которые не принадлежат множеству отец (со?, Нимлот), отец (со?, Нимлот), отец(со%, Финрод), отец((й%, Финрод), отец(Финрод, Галадриэл), отец(в%, Галадриэл). Заметим, что модели, принадлежащие Ев, не содержат с необходимостью вхождение каждой из новых констант со*. В них даже может не быть ни одного вхождения ни одной из этих констант. Запрос имеет такую же форму (х\Г(х)}, как и для обычных реляционных баз данных (§ 6.2.4), но он может содержать меченые нулевые значения С0|. Ответ на запрос (х\Е(х)} определяется следующим образом: ||<х|^(х)>|| = {аеО\\=лР(а)в для всех Д6е2в}, где а = (ах,..., ак) и /> = <&к, если х = (хх,..., хк). Стало быть, ответ на запрос состоит из таких аргументов а фундаментальных конкретизации Г (а) формулы Р, для которых формула Р (а) 6 истинна во всех моделях, принадлежащих Ев. Заметим, что, вообще говоря, формула может быть истинной в одних моделях В® и ложной-в других. Пример 6.38. Пусть запрос 6, адресованный базе данных из примера 6.34, определяется следующим образом: б = (х, у\Зг(отец(г, х) А отец (г, у))}. Получаем ответ II б II = {(Финрод; Галадриэл),(Галадриэл, Финрод)}.
6.6. Неполная информация 455 • Коддовские нулевые значения Базу данных В? с мечеными нулевыми значениями получают из базы данных В с коддовскими нулевыми значениями, нумеруя вхождения символа со0 в базу В, т.е. заменяя каждое вхождение со0 в В элементом со,- из множества {©!,..., ©„}, где «-число вхождений со0 в В. Множеством Ев моделей, ассоциированных с В, является, по определению, множество моделей, ассоциированных с базой данных В0, т.е. ав = ~в°- Запрос имеет обычную форму (х\Г(х)}; единственными константами, которые он содержит, будут константы из (€. Ответ определяется следующим образом: ||<дг|*-(*)>|| = {аае/>||=*>е*»6 Для всех Я°ееЗво}. Здесь 6: {а^,..., юя} -► 0* - подстановка, преобразующая меченые нулевые значения в первоначальные константы базы данных или в константы со?, и а = {(©^ со0),..., (©„, со0)}- подстановка, которая преобразует меченые нулевые значения в колдовское нулевое значение. Запрет на использование со0 в запросе легко понять. Действительно, колдовское нулевое значение со0 в запросе нельзя с уверенностью отождествлять ни с одним вхождением со0 в базу В. Пример 6.39. Пусть имеется база данных В с коддовскими нулевыми значениями супруги (Финарфин, Эрван, со0), супруги (Элронд, со0, 3), и пусть имеется запрос «Кто супруги Элронда и Эрвена и сколько у них детей!», моделируемый так: (I = (х, у \ супруги (Элронд, х, у) V супруги (х, Эрвен, у)}. Тогда ВР = {супруги (Финарфин, Эрвен, ©Д супруги (Элронд, со2, 3)},
456 6. Логика и базы данных II б II = 1К*» УI супруги (Элронд, х, у) V супруги (х, Эрвен, у)} || = = {(<*>2> 3)> {(<°2> <°о)> («2» <*>о)}> (Финарфин, а^) {(©^ со0), (со2, со0)}} = = {(со0, 3), {Финарфин, со0)}. 6.6.4. Оценка запросов при семантическом подходе Поскольку множество 5В содержит обычно очень большое число моделей, то получение ответа на запрос путем выполнения этого запроса в каждой принадлежащей Ев модели на практике неосуществимо. Поэтому при разработке алгоритмов выполнения запросов нужно искать некий компромисс, заботясь, с одной стороны, о разумной эффективности, а с другой стороны, об обеспечении корректности и полноты для основного класса запросов. Алгоритмы выполнения, описываемые ниже, используют классические операторы реляционной алгебры, определенные в § 6.2.3, с минимумом модификаций. • Меченые нулевые значения Модифицируется только оператор выбора. Если Деквалификация выбора, то полагают оум г = {« е г | V ©х... V соп <./(«)}, где ©!,..., соЛ(а) обозначают меченые нулевые значения набора а. Пример 6.40. Для базы данных г (а, со^ с), г (а, со^ а) имеем <*(1 = а Л 2 Ф Ь) V (2 = Ь Л 3 Ф 1) М = {(а> <*>!> ^)}. В самом деле, для первого «-набора условие, подлежащее оценке, редуцируется к выполнимой формуле Усо1(со1ф ф Ъ V со! = Ь), а для второго-к невыполнимой формуле Усо^Ю! ФЬ).
6.6. Неполная информация 457 Для меченых нулевых значений располагаем в основном следующими результатами [109]. 1. Если для выполнения запроса 6 вычислить его алгебраическое представление 161, действуя так, как было указано в § 6.2.6, но используя новое определение оператора выбора, то в случае, когда |б| не содержит оператора разности множеств, получается ответ корректного характера; иными словами, имеем включение 161 с 11611- 2. Этот метод, однако, не является полным, т. е. он, вообще говоря, не обеспечивает включение 161 3 II6II- Указанное включение выполняется только для таких запросов, алгебраическое представление которых содержит лишь операторы проекции, позитивные операторы выбора1*, операторы объединения и соединения. (Позитивные конъюнктивные запросы с кванторами существования составляют часть класса приемлемых запросов.) При выполнении этих ограничений получаем равенство 161 = 11611- Отметим, что кроме реляционной алгебры существуют и другие алгебры. Они позволяют осуществлять обработку более широких классов запросов [108], [ПО]. Проиллюстрируем сформулированные только что результаты двумя простыми примерами. Пример 6.41. Пусть имеется следующая база данных В: г(а, ©!, с), г(а', ©!, с) и запрос 6 = <*, г\1у(г(х, у, с) Л г(а, у, г))}. Получаем 161 = Я15(СТз=сМХ С1=а(г)) = 2 = 2 1} Позитивный оператор выбора строится с использованием =, Д и \/ и не содержит ~1. 58-4465
458 6. Логика и базы данных = *1з({(а, Щ, с)}Х {(а, ©х, с)}) = 2 = 2 = п15({а, ©!, с, а, с)}) = {(а, с)}. Речь здесь идет о полном ответе ||б||, получаемом при семантическом подходе. В этом легко убедиться, построив множество Ев. В следующем примере обрабатывается запрос, который описывается алгебраическим выражением, содержащим проекции и негативные операторы выбора Ч Оценка этого выражения не предоставит полного ответа на запрос. Пример 6.42. Используя ту же базу данных В, что и в примере 6.41, на запрос <± = (г\3х3у(г(х, у,2)А{{х = аАу = Ъ)У{х = агАуФ *)))> получают ответ | 6 | = К3 (а(1 =аМ = Ь)\1{\=4 МФ Ь)(г)) = = «з({ }) = = { }• Ясно, что (с) е || б ||. Действительно, во всех моделях В& для В - или со? = Ь, и тогда, поскольку г (а, со? с) е 56, имеем 1=^ г (а, со?, с) А а = а А со? = Ь; -или со? Ф Ъ, и тогда, поскольку г (а', со?, с) е В®, имеем |= вьг(а!, со?, с) А а' = а! А со? ф Ь. • Коддовские нулевые значения И здесь модифицируется только определение оператора выбора. Пусть а-какой-либо «-набор некоторого отношения из В; через а0 обозначается «-набор, получаемый из набора а заменой различных вхождений символа со0 на различные меченые нулевые значения щ (для 1 ^ / ^ «(а)). Полагают а/И)(г) = {аег|Усо1,...,Усо/1(а)/(а0)}. 1} Негативный оператор выбора среди прочих связок содержит связку —|.
6.6. Неполная информация 459 Для колдовских нулевых значений располагаем в основном следующими результатами [109]. 1. Если для выполнения запроса 6 вычислить его алгебраическое представление | б I, действуя так, как было указано в § 6.2.6, но используя новое определение оператора выбора, то в случае, когда |б| не содержит оператора разности множеств, получается ответ корректного характера; иными словами, имеем включение | б I с || б ||. 2. Этот метод, однако, не является полным, т. е. он, вообще говоря, не обеспечивает включение | б | => || б ||. Указанное включение выполняется только для таких запросов, алгебраическое представление которых содержит лишь операторы проекции и выбора (позитивные и/или негативные). Для иллюстрации этих результатов рассмотрим два примера Пример 6.43. Пусть имеется база данных В= {г(с,а>0,Ь),г(а>0,Ь,с)} и запрос б = (у, Л 3 Х(Г(Х, у, 2) Л (* # С V Х = 2))>. Получаем \<2\ = К2з(01Фсч1 = 3(г)) = = {(Ь, с)}. Речь идет, конечно, об ответе, получаемом при семантическом подходе. В этом легко убедиться, построив множество 2В. В следующем примере демонстрируется явление потери полноты, которое может произойти, если алгебраическое представление запроса содержит не только операторы проекции и выбора, но и операторы соединения. Пример 6.44. Пусть база данных В = {г (а, со0, с)}, и пусть имеется запрос б = <х, г\3у(г(х, у, с) Л г (а, у, г))>. 8*
460 6. Логика и базы данных При семантическом подходе ответ имеет вид пен = {(«.*)}, а при выполнении запроса в рамках реляционной алгебры получаем 1е1 = я15(а3=с(г)Х а1=вМ) = 2 = 2 = я15({Иа>0> с)} X {(а, со0, с)}) = 2 = 2 = «15({ }) = = { }• Тот факт, что в методе колдовских нулевых значений можно без потери полноты допускать в запросах операторы негативного выбора, а в методе меченых нулевых значений это делать, вообще говоря, нельзя, отнюдь не указывает на большую адекватность колдовских нулевых значений. В самом деле, всякий негативный выбор, который можно вычислить, используя колдовские нулевые значения, можно вычислить и с мечеными нулевыми значениями. Любой негативный выбор, который влечет потерю полноты в методе меченых нулевых значений, соответствует моделированию, неосуществимому при помощи колдовских нулевых значений (см. пример 6.42) [109]. 6.6.5. Аксиоматический подход Обратимся вновь к базе данных В из примера 6.34, использованной нами для иллюстрации понятия меченого нулевого значения: отец (со 1? Нимлот), отец((д2, Финрод), отец((й2, Галадриэл). Напомним, что новые константы со1 и со2 имеют свойства, отличные от свойств первоначальных констант Нимлот, Финрод и Галадриэл. В самом деле, они представляют не-
6.6. Неполная информация 461 известные в настоящий момент объекты, отличные или нет от объектов, уже фигурирующих в В. Более точно, нельзя утверждать, например, что константа со1 отлична от константы Галадриэл или что со1 отлична от со2. В рамках аксиоматического подхода это различие между свойствами первоначальных констант и меченых нулевых значений передается через ослабление аксиом однозначности имен: из них оставляют только те, которые выражают различие объектов, представленных первоначальными константами базы В. Через АОИ^В) обозначим множество ограниченных указанным образом аксиом однозначности имен. При аксиоматическом подходе базе данных В с мечеными нулевыми значениями сопоставляют расширенную реляци- онную теорию ЗГ в , определяемую соотношением згАвп = в \] ап(В) и азд(В) и аои^в). В приведенном выше примере - АП(В) содержит аксиому УлгУ>> (ртец(х, у) = (х = а^ Л Л у = Нимлот) V (л: = со2 Л у = Финрод) V (л: = со2 Л у = = Галадриэл)), - АЗД(В) содержит аксиому Ул:(л: = со1 V х = со2 V х = = Нимлот V х = Финрод V х = Галадриэл), - АОИ(В) содержит аксиомы Нимлот ф Финрод, Финрод ф ф Галадриэл и Нимлот Ф Галадриэл. Заметим, что теория ,ТГВШ = В и ГЗМ(В) и АЗД(В) и II АОИ(0(В) не передает удовлетворительным образом содержание базы В. Действительно, в нашем примере ГЗМ(В) принадлежит, в частности, формула —I отец (Финрод, Нимлот). Поскольку В содержит формулу отец(<ьу, Нимлот), то с необходимостью $~гв\-((д1Ф Финрод). Однако желательно, чтобы утверждение о равенстве констант со! и Финрод оставалось неопределенным. При аксиоматическом подходе базе данных В с нулевыми значениями сопоставляется единственная теория ^Авп- Как показывают приводимые ниже теоремы, эта теория выполнима, но, вообще говоря, неполна, а значит, может иметь несколько моделей.
462 6. Логика и базы данных Теорема 6.25. Теория &в выполнима. Доказательство. Достаточно принять во внимание монотонность логики первого порядка и следствие из теоремы 6.2, утверждающее выполнимость теории В II АП(В) II У АЗД(В) II АОИ(В), в которой содержится РАВП. Ш Теорема 6.26. Теория &~АП неполна (в общем случае). Доказательство. Если база данных В содержит неполную информацию, то теория 3~АВП, естественно, неполна (как в примере 6.34, в котором не справедливо ни 2ГАВП \- отец (Финрод, Нимлот), ни 2ГАВП \- ~\ отец (Финрод, Нимлот)). Ш Запросы записываются на реляционном языке, как это было продемонстрировано в § 6.2.4. Поскольку теория 2ГАВП неполна, то некоторые ответы на запросы «да-нет» означают следующее: • II < I б > II = {( )} означает «да», • 1КI б ) II = { } означает неопределенность, • II < 11 """I б ) II = {( )} означает «нет» при запросе < | б )• 6.6.6. Выполнение запросов при аксиоматическом подходе Расширенные реляционные теории ^АВП являются разрешимыми (в силу отсутствия в них функций и в силу конечности множеств констант и предикатов). Значит, для каждой такой теории существуют алгоритмы, выявляющие ее непротиворечивость (или в иной терминологии, корректность) и полноту. Однако алгоритм выявления полноты теории эквивалентен «демонстратору теорем» и поэтому неприемлем с точки зрения эффективности. Чтобы выиграть в эффективности, сохранив непротиворечивость теории, идут на некоторую потерю полноты. Перевод реляционного языка в реляционную алгебру осуществляется так, как описано в § 6.2.6, за исключением преобразования, относящегося к связке -л. Формула реляционного языка сначала преобразуется в эквивалентную фор-
6.6. Неполная информация 463 мулу, в которой отрицания стоят только перед атомами (это-классическое преобразование из логики предикатов, см. [232], § 1.2.7). Для обработки отрицаний нужно рассматривать только запросы вида <х|-и/?(*)>, где р(х)-атом. Такие запросы называются негативными примитивными запросами. Объясним подробно, как с ними обращаться. • Обработка негативных примитивных запросов 1. Частный случай равенства: (а) | < |а Ф Ь) | = {( )}, если а ф ЬеАОИы или ЬфаеАОИ^ = { } в противном случае, (б) \(х\хФх)\ = { }, (в) \(х\хФа)\ = \(х\аФх)\ = = {(с)\сфаьАОИш или афсеАОИ„}, (г) \(х,у\хФу)\ = \(х,у\уФх}\ = = {(а, Ь)\Ьф аеАОИп или а ф ЬеАОИ^}. 2. Общий случай для отличного от равенства предиката: \(х\-лр{гУ)\ = Вх,г{\(х\рШ\ где йхг -новый реляционный оператор, называемый оператором разности (он заменяет классическую разность множеств) и определяемый так, как описано ниже. Пусть х-какой-либо т-набор различных переменных, а г -такой «-набор констант и/или переменных (для « ^ т), что Vа^(x)= Vа^(^)1); пусть Т- некоторое множество «-наборов констант. Тогда полагают Пх,г (Т) = {а | АОИш \-{г Фг [х/а]) для всех г е 7}. Множество Охг состоит из таких т-наборов а, что набор г [х/а\ не согласован ни с каким «-набором из Т. Два «-набора а и Ь называются несогласованными, если АОИш \- афЬ. Проиллюстрируем этот новый оператор на примере. Пример 6.45. Пусть имеется база данных В={р(со1, Ь,а), р(Ь,а,Ь)}. Vа^ (н>) означает множество переменных, имеющихся в н>.
464 6. Логика и базы данных Тогда \(х,у\ -\р{х, у, а)} | = Г>(х,у), (х.у.а) ({(©!, Ь, а), {Ъ, а, Ь)}) = = {(а, а), (Ь, а), (а, ©Д (<х>19 а)}. Здесь т = 2 и п = 3. Набор (а, а^) удовлетворяет требуемому условию, поскольку набор (а, со^ а) не согласован с (а>19 Ь, а). Действительно, в противном случае имели бы 9~АВ \-{ых = = а) А (©! = Ь) и, следовательно, ЗГАвп\-а = Ь, что невозможно. Набор ф, (ог) требуемому условию не удовлетворяет, так как набор ф, со^ а) не находится в отношении несогласованности с набором (©!, Ъ, а) ввиду того, что равенство со! = Ь не является невыполнимым в $~АВП. В настоящее время мы располагаем следующими результатами [206]. 1. Если для выполнения запроса @ вычислить его алгебраическое представление | б I, действуя так, как было указано в § 6.2.6, но преобразуя отрицание только что описанным способом, то ответ носит корректный характер; иными словами, имеем включение | б I с ||б||. 2. Этот метод, однако, не является полным, т. е. он, вообще говоря, не обеспечивает включение | б | => || б ||. Указанное включение выполняется только для универсально квалифицированных конъюнктивных запросов и позитивных запросов (т. е. построенных с использованием лишь связок Л, V и кванторов). Потеря полноты связана с особенностями процессов обработки дизъюнкции и экзистенциальной квантификации при вычислении алгебраического представления. • Обработка дизъюнкции В общем случае справедливо лишь такое включение: К^Р^х,)^ Р2(х2))\ = \(х\Р1(х1))\[) и\(х\Р2(х2))\^\\(х\Р1(х1)Ч Р2(х2)}\\. Потеря равенства влечет потерю полноты. Проиллюстрируем это на следующем примере.
6.6. Неполная информация 465 Пример 6.46. Пусть имеются база данных В = {р(Ь, а), р(а,(о1\ ?(©!, а), д{Ъ, Ь)} и запрос й = <х,у\р(х,у) V "и ?(*,}>)>. Нетрудно видеть, что \<х,у\р(х,у))\ = {(Ь,а),(а,(о1)}, \(х,у\-1д(х,у))\ = {(а,Ь)}, и, следовательно, \<2\ = {(Ь,а),(а,щ),(а,Ь)}. С другой стороны, имеем (а, я)е||б||. Действительно, ЗГАВП V {(о1Фа}\-р(а,а) и РАвП V {©1 Фа}\--лд(а,а). Отсюда $~Авп\-р(а, а) V ~1 д(а, а) и, значит, (а, а,)е||6||. • Обработка экзистенциальной квантификации Пусть в формуле Р(х, у) единственными свободными переменными будут х и у; тогда \(х\ЗуГ(х,у))\ = кх\(х,у\Г(х,у))\с1\\(х\ЗуГ(х,у))\\. Отсутствие здесь равенства влечет потерю полноты. Это явление можно рассматривать как частный случай предыдущего (из обработки дизъюнкции), либо квантификация Зу эквивалентна дизъюнкции, распространенной на все элементы домена. Приведем пример, иллюстрирующий такое явление потери полноты. Пример 6.47. Пусть имеются база данных В = {р{а, е2\ /7(0)!, еД ?(е2, ©х)} и запрос й = (х,у\Ъ2(р{х,2)К-лЧ(г,у))У 59-4465
466 6. Логика и базы данных С одной стороны, (вменен оЗГАвп\-32(р(а, 2) Л -1 Я(2, а)) оЗГАвп\-р(а,а)/\ -1я(а,а) Ур(а,е1)А -1д(е1,а) V р{а, е2)А ~\ я{е2, а) V р(а, ©^ Л -1 д((йи а) о^Авп\-р(а, ег) V -1 д(е2, а) V р(а, ©Д С другой стороны, <ГАвпи {(о1=а}\-р(а,е1) и УАП \) {©! фа}\--\д(е2,а). Отсюда &~вп\-р(а, е^ V ~1 д(е2, а) V р (а, ©^ и, следовательно, (а, я)е||6||. В то же время I б I = Я12 I <*, У, 2\Р(Х, 2) Л "Л ^(2, у)} \ = = {(©!, ех), (Ш19 е2), (©!, О), (©!, ©О}, а значит, | б | не содержит набора (а, а). 6.6.7. Сравнение семантического и аксиоматического подходов Семантический и аксиоматический подходы к базам данных с мечеными нулевыми значениями (§ 6.6.3 и 6.6.5) были развиты независимо друг от друга соответственно в [109] и [206]. Они, в сущности, эквивалентны - в том смысле, что при выполнении запроса @ ответ || б || на него будет, вообще говоря, одним и тем же при обоих подходах. Возникающее несовпадение результатов является следствием главным образом того факта, что в [109] оператор разности не переопределяется; это препятствует корректной обработке отрицания. Но зато при обработке равенства в квалификации выбора возникает возможность распозна-
6.6. Неполная информация 467 вать тавтологии, а алгоритм из работы [206] такой способностью не обладает. Довольно легко убедиться в том, что можно объединить преимущества двух методов, вычисляя алгебраическое представление запроса реляционного языка • при выполнении квалификации выбора-так, как указано в § 6.6.4, • а при наличии нового оператора разности-как описано в § 6.6.6. Полученный при этом способ был бы корректен и при аксиоматическом, и при семантическом подходах, и он был бы полон для более широкого класса запросов. 6.6.8. Другой метод выполнения запросов Можно следующим образом определить корректный, полный и «среднеэффективный» метод выполнения запросов [106]. Как мы убедились в предыдущих параграфах, имеется корректный неполный алгоритм, который вычисляет ответ ||Й||, обладающий свойством Нб11<с:11б11- Если, кроме того, в нашем распоряжении будет хотя и некорректный, но полный алгоритм, который вычисляет ответ ||б||>, удовлетворяющий условию || б || >=> || б ||, то тогда ответ || б II можно вычислить следующим образом: 11611 = НбН< V филыпр№\\>Ш\\<\ где фильтр -это функция, эквивалентная демонстратору теорем, определяющая среди «-наборов множества ||б||>\ \Н6Н< те, которые принадлежат множеству ||б||. Если есть возможность эффективно вычислить ||6Ц< и ||б||>, прибегнув, самое большее, к операциям реляционной алгебры, то предложенный метод представляет интерес в том смысле, что он ограничивает использование дорогостоящего алгоритма определенными рамками множества потенциальных ответов. 59*
468 6. Логика и базы данных 6.7. Заключение Семантический подход, унаследованный от классических баз данных, состоит в сопоставлении базе данных множества формул, которые описывают непосредственно отношения, и в изучении моделей для этого множества формул. Формула является истинной, если она истинна во всех моделях. Что касается аксиоматического подхода, то при нем базу данных представляют в форме логической теории, включающей формулы, сопоставленные базе данных (как при семантическом подходе), и включающей еще специальные аксиомы, которые необходимы для того, чтобы делать выводы из негативной информации. В этом случае формула является истинной, если она-теорема теории. При аксиоматическом подходе теория в точности представляет имеющееся знание о реальном мире. Привлекательность (теоретическая) аксиоматического подхода определяется тем, что он позволяет повышать выразительность баз данных путем расширения теорий, которые их описывают. В сущности, аксиоматический подход располагает априори всеми возможностями логики первого порядка для моделирования информации; в пределе любой набор формул может представлять базу данных. Легко понять, что рассматривать этот тип экстенции труднее при семантическом подходе, так как описать множества моделей-часто более сложная задача, чем построение теории. Однако в этой главе показано, что преимущество аксиоматического подхода перед семантическим подходом немного обманчиво. С одной стороны, богатые возможности аксиоматического подхода уравновешиваются сложностью механизмов выполнения, которые с ним сопряжены. Этот подход свидетельствует о том, что выполнение запросов может осуществляться при помощи демонстратора теорем, основанного на общих методах вывода, таких, как метод резолюций. Но, очевидно, он малоэффективен на практике при наличии большого числа фактов и правил. Реалистичными являются такие экстенции реляционных баз данных, которые допускают алгоритмы выполнения, основанные на специализированных механизмах вывода, более эффективных, чем принцип
6.7. Заключение 469 резолюций, и прибегающих к операциям уровня реляционной алгебры. Предполагается, что эти операции предоставляются системой управления базами данных. С другой стороны, реальные экстенции, рассмотренные в этой главе, к которым научный мир проявлял внимание до сих пор, могут быть все представлены в рамках семантического подхода. Это, казалось бы, указывает на то, что семантический подход имеет достаточно возможностей для описания интересующих нас экстенции, допускающих обработку посредством приемлемых алгоритмов выполнения. Классические реляционные базы данных являются с точки зрения логики весьма простыми объектами, и поэтому естественно, что два рассмотренных подхода эквивалентны. При семантическом подходе существует наименьшая эрбра- новская модель, и она как раз и есть единственная модель теорий, возникающих при аксиоматическом подходе. То же самое относится к иерархическим дедуктивным базам данных. Строгие дедуктивные базы данных и, в более общем случае, стратифицированные базы данных могут быть также описаны независимым образом с использованием двух подходов. При аксиоматическом подходе, однако, здесь наталкиваются на трудности. Как мы видели, теория, сопоставляемая такой базе данных, определяется неявным образом; она основывается на правиле вывода, позволяющем определять фундаментальные конкретизации отношений, ложных в теории. Впрочем, есть все-таки возможность описать ее конечным множеством формул языка, но это более тонкая проблема [105]. Если же строгую или стратифицированную базу данных пополнить, вводя функции, то такое описание, вообще говоря, неосуществимо, ибо экстенция базы данных может оказаться неописываемой рекурсивным множеством аксиом [8]. Обобщенную гипотезу замкнутого мира тоже можно описать, используя любой из указанных двух подходов (как видели, при этом возникают некоторые нюансы). Аксиоматизирующая ее теория также определяется неявным образом. Из указанных рамок мы не выходим и при рассмотрении неполной информации. Это остается верным, если расши-
470 6. Логика и базы данных рить строгие дедуктивные базы данных, введя в них меченые нулевые значения, подобно тому, как это было сделано для реляционных баз данных [105]. Резюмируя изложенное, можно сказать, что на современном уровне наших знаний два подхода, семантический и аксиоматический, представляют собой два различных способа использования экстенции реляционных баз данных, но в настоящее время для приемлемых экстенции ни одному из них нельзя отдать предпочтение (с точки зрения эффективности механизмов выполнения, в которых они нуждаются).
Литература 1. АЪасИ М. Тептрога1-Ьо§гс ТЬеогет Ргоуш§, РЬЭ ТЬе818, Кер. 8ТАЫС8-87-1151, 81апГогё 1Ыуеш1у, 1987. 2. АЬо А., НорсгоЛ I. апё Штап X ТЬе Ое81§п апё Апа1у818 оГ СотргЦег А1§огкЬт8, АскИ8оп->^е81еу, Кеаёш§, 1974. [Имеется перевод: Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов.-М.: Мир, 1979.] 3. А§§аг\уа1 8., СоигсоиЪейв С, )^о1рег Р. "А<1<1т§ 1луепе88 Рго- реШев 1о Соир1её Ртке-81а1е МасЫпев", (в печати). 4. А^и1ае\УЮ2 К. 8уп1ас1ю соппехюп, 1935, т, 8. Мс-Са11 (ёсИ- 1еиг), РоИзЬ Ьо§гс, 1920-1939, С1агепёоп Рге88, ОхГогё, 1967. 5. А1регп В. апё 8сЬпек1ег Р. Э. "Оеппт§ Нуепезз", 1пГогта1юп Ргосе88т§ ЬеПег8, уо1. 21, рр. 181-185, 1985. 6. А1регп В. апё 8сЬпе1ёег Р. Э. "Кесо§т2т§ 8аГе1у апё Иуепезз", 0181пЪиЫ Сотри1т& уо1. 2, рр. 117-126, 1987. 7. АрреК Э. апё КопоИ^е К. А ргас1юа1 поптопо1отс 1Ьеогу Гог геа8опт§ аЪои1 зреесЬ ас18, Ргос. 261Ь Аппиа1 АСЬ Мее1т& Ые\у Уогк, 1988. 8. Ар1 К. К., В1а1г Н. апё )^а1кег А. То\уагё8 а 1Ьеогу оГ ёес1ага- 11уе кЬо\у1её§е, ш 5. Мткег (ёёкеиг), Роип<1а1юп8 оГ Оеёисйуе Оа1аЪа8в8 апё Ьо^гс Рго§гатпип§, Мог§ап КаиГтапп, Ьоз АКо8, рр. 89-148, 1988. 9. Ар1 К. К. апё уап Етёеп М. Соп1пЪи1юп8 1о 1Ье 1Ьеогу оГ 1о§1С рго^гат, ]. АСМ, уо1. 29, по 3, рр. 841-862, 1982. 10. АНап Н. А ТоП е1 а Ка18оп, 1п1егсп^ие ее 1а 8с1епсе е1 ёи Му1Ье, ЕёШопв ёи 8еш1, Рапе, 1986. 11. ВаИ\уш Т. ТЬе РЫ1о8орЫса1 81§пШсапсе оГ нПеп8Юпа1 1о§гс, Ргос. оГ 1Ье Ап81о1еИап 8оае1у, уо1. ХЫХ, р. 51, 1975. 12. ВапсПЬоп Р. Ыа1уе Еуа1иа1юп оГ Кесигауе1у ОеГшеё КеЫюпв, Тесппгса1 КероП ЭВ-004-85, МСС, 1985. 13. ВашеяЪа1 В. апё Вагпп^ег Н. А 81иёу оГ ап Ех1епёеё Тетрога1 Ьап§иа§е апё а Тетрога! Р1хеё Рот1 Са1си1и8, ТесЬтса! КероП
472 Литература 1ШС8-86-10-2, ОераПтеп* оГ СотргЦег 8с1епсе, Шгуегеку оГ МапсЬе81ег, 1986. 14. Вагепёге§1 Н. ТЬе ЬатЪёа Са1си1и8, Не 8уп1ах апё 8етап1ю8, Мог1Ь-Но11апё, Ат81егёат, 1980. [Имеется перевод: Барен- дрегт X. Ламбда-исчисление.-М.: Мир, 1985.] 15. Ваг\У18е I. апё Реггу I. 8киа1юп8 апё Аикиёез, М1Т Рге88, СатЪпё^е, МА, 1983. 16. Вееп С. апё КатактЬпап К. Оп 1пе ро\уег оГ та§ю, ш Рго- сееёт§8 оГ 1пе 81ХЙ1 АСМ 8утро81ит оп Рпп<пр1е8 оГ Оа1аЪа&е 8у81ет8, рр. 269-283, 1987. 17. Веппеи М. А Уапа1юп апё ех(еп$юп оГ а Моп1а§ие Гга§теп1 оГ Еп^Ивп, т ВагЪага РаПее (ёё11еиг), Моп1а§ие Огаттаг, рр. 119-163, Асаёетю Рге88, Ые\у Уогк, 1976. 1&. Везпагё Р., НоиёеЫпе ]., КоИапё К. Слтсоп8спр1юп8; Са8 ее Сотр1ё1иёе е1 ё'1псотр1ё1иёе, 1К18А, ишуегзКе ее Кеппе$ I, РарроП 1п1егпе по 373, 8ер1етЪге 1987. 19. Везпагё Р. апё 81е§е1 Р. ТЬе ргеГегепИаЬтоёеЬ арргоасЬ 1о поп-топо1опю 1о§Ю8, ш Р. 8те18 е1 а1. (ёёкеигз), Ыоп-81апёагё Ьо§1С8 Гог Аи1ота1её Кеазопт^, Асаёетю Рге88, Ьопёоп, рр. 137-161, 1988. 20. В1ёоК N. апё Рго1ёеуаих С. Мшипаизт зиЬзшпез ёеГаик 1о§ю апё с1гсит8спр11оп ш 81га1Шеё 1о§ю рго§гаттт§, Ргос. ЫС8-87, рр. 89-97, 1987. 21. В18кир 5. А ГоипёаНоп оГсоёё'8 геЫюпа1 тауЬеорегаНопз, АСМ Тгап8ас1юп8 оп Оа(аЬа$е 8у81ет8, уо1. 8, по 4, рр. 608-636, ёёсетЪге 1983. 22. Во88и О. апё 81е§е1 Р. 8а1ига1юп, поп-топо1опю геавопт^ апё 1Ье с1о8её \уог1ё а88итр1юп, АлШаа! 1теШ§епсе, уо1. 25, по 1, рр. 13-65, 1985. 23. Воуег К., Ьивк Е., МсСипе XV., ОуегЪеек К., 81юке1 М. апё >Уо8 Ь. 8е11Ьеогу ш пг81-огёег 1о§ю: с1аше8 Гог ОоёеГв ахютз,X Аи1ота1её Кеа8опт§, уо1. 2, по 3, рр. 287-327, 8ер1етЪге 1986. 24. Вго\уп Р. М. (ёёКеиг) ТЬе Ргате РгоЫет ш Аг1Шс1а1 1п1еШ- §епсе (Ргос. оГ 1Ье 1987 АУогквЬор), Мог§ап КаиГтапп, Ьо8 А11о8, 1987. 25. ВйсЫ X Оп а ёеавюп те1Ъоё ш ге81пс1её весопё огёег ап1Ьте1ю, ш Ргос. 1п1егпа1. Соп§г. Ьо§ю, МеЙюё апё РЫ1о8. 8с1 1960, рр. 1-12, 81апГогё Шгуегеку Рге88, 81апГогё, 1962. 26. Випёу А. ТЬе Сотри1ег МоёеШп^ оГ Ма1Ьета1юа1 Кеа8отп& Асаёетю Рге88, Ые\у Уогк, 1983. 27. Сагпар К. ТЬе 1о§юа1 8уп1ах оГ Ьап§иа§е, Кои11её§е апё Ке§ап, Ьопёгев, 1936. 28. СЬап§ С. Ь. Оп 1Ье еуа1и1юп оГ яиепев соп1атт§ ёепуеё геЫюпв т а геЫюпа! ёа1а Ъаве, т Н. СаПаке апё 5. Мткег (ёёкеигв),
Литература 473 Аёуапсез ш Эа1а Вазе ТЬеогу, уо1. 1, рр. 235-260, Р1епшп Рге88, Ые\у Уогк, 1980. 29. СЫ&Ьо1т Р., СЬеп С, РегЪгасЬе Э., ТЬатзсЬ Р. апё \УП- Иатз М. Н. Сорт§ \укЬ тёеппке апё пе§а11Уе ёа1а ш ёеёисйуе сЫаЪавев: А зигуеу, Эа1а & Кпо\у1её§е Еп§теегт& уо1. 2, рр. 259-284, 1987. 30. ОютзкуК 8уп1ас1гс 81гис1игез, Мои1оп, Ьа Науе, 1957. [Имеется перевод: в сб. «Новое в лингвистике, вып. 11.-М.: ИЛ, 1962, с. 412-527.] 31. СЬотшку N. А8ре1с8 ее 1а ТЬёопе 8уп1аодие, Ье 8еш1, Рапе, 1965. [Имеется перевод: Хомский Н. Аспекты теории синтаксиса.- М.: Изд-во МГУ, 1972.] 32. СЬои 8. А МеЙюё Гог 1пе тесЬашса1 ёепуайоп оГ Гогти1а8 ш е1етеп1агу §еоте1гу, 5. Аи1ота1её Кеа$ошп§, уо1. 3, по 3, рр. 291-300, 8ер1етЪег 1987. 33. СЬои 8. Ап 1п1гоёисИоп 1о >Уи'8 теЙюё Гог тесЬашса1 сЬеогет рго\ап§ ш §еоте1гу, I. Аи1ота1её Кеа8опт§, уо1. 4, по 3, рр. 237-268, 8ер1етЪге 1988. 34. СЬои 8. апё 8сЬекег >У. Ргоут§ §еоте1гу 1Ьеогет8 \укЬ ге\угке ги1е8,X Аи1ота1её Кеа8опт§, уо1. 2, по 3, рр. 253-274, 8ер1етЪге 1986. 35. СЬигсЬ А. А РогтиЫюп оГ а 81тр1е 1Ьеогу оГ 1урез, 1оигпа1 оГ 8утЪоИс Ьо§гс, уо1. 5, рр. 56-68, 1940. 36. СЬигсЬ А. ТЬе Са1сиИ оГ 1атЪёа-сопуег810п, АппаЬ оГ Ма1Ьета- 1ю8 81и<Не8, уо1. 6, Рппсесоп, 1941. 37. С1агк К. Ые^аИоп а8 ГаПиге, т Н. СаПаке апё 5. Мткег (ёёкеигв), Ьо§гс апё Эа1а Вазез, Р1епш Рге88, Ые\у Уогк, рр. 293-322, 1978. 38. Оагке Е., Етегвоп Е. апё 81811а А. Аи1ота1ю УегШса1юп оГ Ртке-81а1е Сопсиггеп1 8у81ет8 ХМпе Тетрога1 Ьо§гс 8ресШса- 1юп8, АСМ Тор1а8, уо1. 8, рр. 244-263, 1986. 39. Оагке М. апё ОаЪЪау Э. Ап ЫиШошзйс Ъа818 Гог поп-топо- 1опю геа8опт& т Р. 8те18 е1 а1. (ёёкеигв), Ыоп-81апёагё Ьо§1С8 Гог Аи1ота1её Кеа$ошп§, Асаёетю Рге88, Ьопёоп, рр. 163-178, 1988. 40. Соёё Е. Р. А геЫюп тоёе1 Гог 1аг§е зЬагеё ёа1а Ъапкз, Сот- тшисайопз оГ 1Ье Аззоаасюп Гог Сотри1т§ МасЫпегу, уо1. 13, по 6, рр. 377-387, 1970. 41. СосИ Е. Р. Ех1еп<Нп§ 1Ье (ЫаЪазе ге1а1юпа1 тоёе1 1о сар1иге тоге теапт§, АСМ Тгапзассюпз оп Оа(аЬа$е 8у81ет8, уо1. 4, по 4, рр. 397-434, ёёсетЪге 1979. 42. Сое1Ьо Н. апё Регека Ь. Аи1ота1её геа8опт§ т §еоте1гу Леогет ргоут§ \укЬ Рго1о§, 5. Аи1ота1её Кеа$ошп§, уо1. 2, по 4, рр. 329-390, ёёсетЪге 1986. 43. Соорег К. апё Рагвопв Т. Моп1а§ие §гаттаг, §епегайуе зетап- 60-4465
474 Литература 1Ю8 апё 1п1егрге1аИуе 8етап1гс8, т В. РаПее (ёёкеиг), Моп1а§ие Огаттагв, Асаёетю Рге88, №\у Уогк, 1976. 44. Соиг1оу С. (ёёКеиг) Ь'аПгсиЫюп ёи га1юппе1 е1 ёи га18оппаЫе ёапв 1е8 заепсев, Кеуие ёев (^иезйопв 8с1еп1Шяие8, уо1. 158, по 1, Ыатиг (Вефяие), 1987. 45. Сге88\уе11 М. 8етап1ю сотре1епсе, т: Р. Сиеп1ппег апё М. Оиеп- 1ппег-КеиПег (ёёКеигв), Меапт§ апё ТгапзЫюп (РЫ1о8орЫса1 апё Ьш^шзйс Арргоаспез), Ые\у Уогк Шгуегеку Рге88, №\у Уогк, 1978. 46. Эа1е С. I. Ап 1п1го<1ис1юп 1о Эа1аЪа8е 8у81ет8, Аски8оп->Уе&- 1еу, Кеаёт§, 1981. [Имеется перевод: Дейт К. Введение в системы баз данных.-М.: Наука, 1980.] 47. Дажидсон Д. Трутх анд меанинг, ин: Давс, Хоцкнеы анд Вилсон (ёёКеигз), РЫ1о8орЫса1 Ьо§1с, Кек1е1, ОогёгесЪ* 1969. 48. ЬаУ18 М., Ое8сЬатр8 5. Р. апё ТЬаузе А. 018сге1е апё 8\уксЫп§ Ршюйопз, МсОга\у-НШ, Ые\у Уогк 1978. 49. Эау18 М. ТЬе таШетаИсз оГ поп-топо1опю геа8опт§, АгШгс1а1 1п1еШ§епсе, уо1. 13, рр. 73-80, 1980. 50. Оето1отЪе К. 8етап1ю спескт§ оГ яиезИопз ехргеззеё ш ргесИ- са1е са1си1и8 1ап§иа§е, т Ргосееёт§8 оГ Р1ЙЬ 1п1егпа11опа1 Соп- Гегепсе оп Уегу Оа(аЪа$е$, рр. 444-450, Кю ее 1апе1го, 1979. 51. Оето1отЪе К. апё Коуег V. Еуа1иа1юп 81га1е§1е8 Гог гесигауе ахютз: а итГогт рге8еп1а1юп, т Ас1е8 ёе8 ^игпёез Р1КТЕСН 8у81ёте8 е1 Тё1ёта11яие: Ва$е$ ее Эоппёев е1 1п1еШ§епсе Агг> Гю1еИе, рр. 227-248, Рат, ауп1 1987. 52. Эцк81га Е. Ап а88еЛюпа1 ргооГ оГ а рго^гат Ъу О. Ь. Ре1ег8оп, Е\УЭ 779, Виггоивп8 Согр., 1981. 53. Эо\у1у О. )^огё Меапт§ апё Моп1а§ие Огаттаг, Ке1ёе1, Эоп!- гесЫ, 1979. 54. Эо\у1у Э., >Уа11 К. апё Ре1ег8 8. 1п1гоёисИоп 1о Моп1а§ие 8е- тап1ю8, Кек1е1, ЭогёгесЬ1 1981. 55. Етег8оп Е. апё На1регп 1. 8оте1ппе8 апс! №>1 Ыеуег КеУ18ке<1: Оп ВгапсЫп§ Уегвш Ыпеаг Т!те, 1оигпа1 оГ 1пе АСМ, уо1. 33, рр. 151-178, 1986. 56. Етегвоп Е. апё 1л1 С. Тетрога1 тоёе1 спескт§ ипёег §епега1ь теё Га1гпе88 соп81гат18, Ргос. ШЪ На\уаи 1п1егпа1юпа1 СопГе- гепсе оп 8у81ет 8аепсе8, На\уаи, 1985. 57. Етегвоп Е. апё 81811а А. Оесщт^ Ги11 ЪгапсЫп§ йте 1о§1С, 1пГог- таНоп апё СоШго1, уо1. 61, рр. 175-201, 1984. 58. Е1пепп§1оп Э. РогтаИгт^ поптопо1опю 8у81ет8, АпШс1а1 1п1еШ§епсе, уо1. 31, по 1, рр. 41-85, ]апу1ег 1987. 59. Е1пепп§1оп Э. Кеа8опт§ \уИЬ 1псотр1е1е 1пГогтаИоп, КевеагсЬ Ыо1е8 1П Аг1Шс1а1 1п1еШ§епсе, Р11тап, Ьопёоп, 1988. 60. Е1Ьепп§1оп Э., Мегсег К. апё Ке11ег К. Оп 1пе аёеяиасу оГ
Литература 475 ргеёюа1е с1гсит8спр1юп Гог с1о8её-\уогк1 геа8ошп§, Ргос. ААА1-^огк8Ьор оп Коп-Мопо1ошс Кеа8опт§, Ые\у РаКя, Ые\у Уогк, рр. 70-81, ос1оЪге 1984. 61. Ркйод М. апё Веп-1асоЪ М. 8(га(Ше1, апё 1Ьгее-уа1иеё 1о§гс рго§гатгшп§ 8етап1ю8, Ргос. Р1М1 1п1. СопГ. 8утро8. оп Ьо§ю Рго8гаттт§, рр. 1054-1069, 1988. 62. Р1оге8 Р. апё \У1по§гаё Т. Шёегв^апётв Со^пкюп а8 Шёег- 81апё1п§, АЫех, Копуооё, 1979. 63. Рге§е О. йЪег 8тп ипё Ъеёеп1ип§, ТеКзсЪпЛ Гиг РЬПоворЫе апё рЬПоворЫвсЬе КгШк, рр. 25-50, уо1. 100, 1893; 1гаёик ёапв: Р. СеасЬ апё М. В1аск (ёёкеигв), Тгап$1а(юп Ггот 1ке РЫ1о- 8орЫса1 >УгШп§8 оГ СоШоЪ Рге§е, рр. 56-78, ВавП В1аск\уе11, ОхГогё, 1952. 64. Рго1ёеуаих С. Тахопотю ёеГаиК Шеогу, Ргос. ЕСА1-86, рр. 123-129, ВгщЫоп, .|ш11е1 1986. 65. ОаЪЪау Э., РпиеН А., 8Ъе1аЪ 8. апё 81а\а 5. ТЪе 1етрога1 апа- 1у818 оГ Га1гпе88, ш 8еуеп1Ъ АСМ 8утро8шт оп Рппс1р1е8 оГ Рго§гатгшп§ Ьап§иа§е8, рр. 163-173, Ьа8 Уе§а8, 1980. 66. ОаЪЪау ^. апё СиепШег Р. (ёёкеигв), НапёЪоок оГ РЫ1о8орЫса1 Ьо^с; Уо1ите 1: Е1етеп18 оГ С1а88юа1 Ьо§ю, Ке1ёе1, ОогёгесЪ1, 1983. 67. ОаЪЪау О. апё СиепШег Р. (ёёкеигв), НапёЪоок оГ РЫ1о8орЫса1 Ьо§1с; Уо1ите 2: Ех1еп8юп8 оГ С1а88юа1 Ьо^с, Кек1е1, ОогёгесЪ1, 1984. 68. ОаЪЪау Э. апё СиепШег Р. (ёёкеигв), НапёЪоок оГ РЫ1о8орЫса1 Ьо§ю; Уо1ите 3: Акета^уев 1о С1а88гса1 Ьо§гс, Ке1ёе1, ОогёгесЪ1, 1986. 69. ОаЪЪау Э. апё СиепШег (ёёкеигв), НапёЪоок оГ РЫ1о8орЫса1 Ьо§гс; Уо1ите 4: Торюв т 1Ъе РЫ1о8орЪу оГ Ьап§иа§е, Э. Кек1е1, ЭогёгесЫ, 1989. 70. СаПаке Н., Мткег I. апё №со1а81.-М. Ьо§гс апё (ЫаЪавев: а ёеёисйуе арргоасЪ, АСМ Сотри1т§ 8игуеу8, уо1. 16, по 2, рр. 153-185, .лип 1984. 71. Оагёапп О. апд 8ипоп Е. Ье8 8у81ёте8 ее §е81юп ее Ъавев ее ёоппёев ёёёис11Уе8, ТесЪ^ие е1 8с1епсе 1пГоппа^ие8, уо1. 6, по 5, рр. 347-382, 1987. 72. Оахёаг О., К1ет Е., РиПит О. апё 8а§ I. ОепегаИхеё РЪгаве 81гис1иге Огаттаг, ВазП В1аск\уе11, ОхГогё, 1985. 73. Ое1Гопё М. Оп 81га1Шеё аи1оер181егшс 1Ъеопе8, Ргос. ААА1-87, рр. 207-211, 1987. 74. СеЦопё М. апё Ы&сЬКг V. ТЪе 81аЪ1е тоёе1 8етап1ю8 Гог 1о§1С рго§гатщт& Ргос. РкШ 1п1. СопГ. 8утр. оп Ьо^с Рго§гатгшп§, рр. 1070-1080, 1988. 75. СеЦопё М. апё ЫЛ8сЫ12 V. Сотр1Ип§ С1гсит8спр11Уе 1Ъео- 60*
476 Литература пев т1о 1о§гс рго^гатш, Ргос. ААА1-88, Мог§ап КаиГтапп, рр. 455-459, 1988. 76. Се1Гоп<1 М. апё Рггутштвка Н. Ые^аНоп а8 Гакиге: сагет1 с1о- 8иге ргосеёиге, Аг11паа1 1п1еШ§епсе, уо1. 30, по 3, рр. 273-287, 1986. 77. Сепе$еге1к М. апё Шззоп N. Ьо§гса1 РоипёаИопз оГ АШпс1а1 1п1еШ§епсе, Мог§ап КаиГтап, Ьо8 Ако8, 1987. 78. Сеог§еЙ* М. апё Ьапзку А. (ёёкеигз), Кеа$отп§ аЪои! Ас1юп8 апс! Р1ап8 (Ргос. оГ 1ке 1986 АУогкзкор), Мог§ап КаиГтапп, Ьо8 Аков, 1986. 79. 01п8Ьег§ М. (ёёкеиг), Кеаскп§8 ш Ыоптопо1опю Кеа8ошп§, Мог§ап КаиГтапп, Ьо8 Ако8, 1987. 80. Соске* Р. Ткёопе ёез то<1ё1е8 е1 сотре1епсе рга§та^ие, т: Н. Раггек е1 а1 (ёёкеигв), Ье Ьап§а§е еп соп1ех1е, рр. 319-388, Вещ'атшз, Атш^егёат, 1980. 81. Соске* Р. Ьа 8ётап^ие гёсигауе ее Оаук18оп е* ее Моп1а§ие, ш М. Ьо1 (ёёкеиег), Репзег 1е8 Ма1ёта^ие8, Ье 8еш1, Рапе, 1982. 82. Соске* Р. Ь'оп§так*ё ее 1а зётап^ие ее Моп*а§ие, Е*иёе8 РЫ1о8орЫяие8, уо1. 2, рр. 149-175, 1982. 83. Соске* Р. Ьа зётап^ие ёез 8киа*юп8, ш Р. №Г (ёсШеиг), Н18*оке, Ер18*ёто1о§1е, Ьап§а§е, *оте 5, Га$сюи1е 2: Ьа Зётап^ие Ьо^эдие, рр. 195-212, 1983. 84. Соске* Р. А&сеп* *о Тги*к, РкПозорЫа Уег1а§, ВегИп, 1986. 85. С6ёе1 К. Тке Соп818*епсу оГ *ке Ахют оГ Скогсе апё оГ *ке Сепегакхеё соп*тишп-Нуро*ке818 \укк *ке Ахютз оГ 8е* Ткеогу, Рппсе*оп ип1уег8ку Рге88, Рппсе*оп 1940. [Имеется перевод: В УМН, том III, вып. 1 (23), 1948, 96-149.] 86. СоЫЫа** К. Ьо§гс8 оГ Т1те апё Сотри*а*юп, Ьес*иге Ыо*е8 по 7, Сеп*ег Гог *ке 8*ш1у оГ Ьап§иа§е апё 1пГогта*юп, 1987. 87. Сгап* Ь Ыи11 уа1ие8 т а ге1а*юпа1 ёа*а Ъазе, 1пГогта*юп Рго- се881п§ Ье**ег8, уо1. 6, по 5, рр. 156-157, ос*оЪге 1977. 88. Сгап*I Раг*1а1 уа1ие8 ш а 1аЪи1аг ёа*аЪа8е тоёе1, 1пГогта*юп Ргосе881п§ ЬеПегз, уо1. 9, по 2, рр. 97-99, аой* 1979. 89. Сгап* Ь апё Мткег Ь Ап8\уепп§ ^иег^е8 т тёеппке (ЫаЪазез апё *ке пик уа1ие ргоЫет, т Р. Кап1е11ак1$ (ёёкеиг), Аёуапсез ш Сотри*т§ Кезеагск, уо1. 3, рр. 247-267, 1986. 90. Сгё§о1ге Е. Ка18оппетеп* р1аш1Ые: 1пГёгепсе поп топо*опе е* 1о§1яие8 аи*оёр18*ёпи^ие8, Ргос. 1п*. СопГ. оп 1пГогта*юп Рго- се88т§ апё Мапа^етеп* оГ ипсег*ат*у т Кпо\у1её§е-Ва8ес1 8у8*ет8, Рапе, рр. 376-379, ]иШе* 1986. 91. Сгё§о1ге Е. А по*е оп Мооге'8 аи*оер18*етгс 1о§1С, ш Р. 8те*8 е1 а1. (ёёкеигв), Ыоп-81апёагё Ьо§1С8 Гог Аи1ота1её Кеа8опт§, Аса- ёепис Рге88, Ьопёоп, рр. 132-133, 1988. 92. Сгё§о1ге Е. Ыоп-топо1ошску апё га11опак1у, ипкё сПпГог-
Литература 477 таНяие, итуегвкё СаЙю1кте ее Ьоиуа1п, Ьоиуат-1а-Ыеиуе, Ве1§1яие, 1988. 93. ОпЪотогк Е. 8уп1пе818 оГ рага11е1 рго^гагш туапагкв, Ьес1иге N0^8 т Сотри1ег 8с1епсе8, уо1. 186, рр. 325-338, 8ргт§ег- Уег1а& 1985. 94. ОиепШпег Р. апд ОиепЛег-КеиНег М. Меапт§ апё Тгап$1а1юп (РЫ1о8орЫса1 апё Ып§ш81гс АрргоасЬев), Ые\у Уогк Шгуегвку Рге88, №\у Уогк, 1978. 95. Напк8 8. апё МсОеппоИ Э. ОеГашЧ геа8ошп& поптопо1отс 1о§1С8, апё 1пе Ггате ргоЫет, Ргос. ААА1-86, рр. 328-333, 1986. 96. Наге1 Э. Р1г81-огёег Е)упатю Ьо§ю, ЬесШге Ыо1е8 ш Сотри1ег 8с1епсе, уо1. 68, 8рпп§ег-Уег1а& ВегНп, 1979. 97. Неепег А. (ёсШеиг), №>п-с1а88юа11о§Ю8 Гог ехреЯ 8у81ет8, СС-А1, уо1. 3, по 1-2, 1986. 98. НепзсЬеп Ь. апё ЫаяУ1 8. Оп сотрШп§ яиепев т гесигауе Дг81 огёег ёа1аЪа8е8, 1оигпа1 оГ 1пе АСМ, уо1. 31, по 1, рр. 137-147, 1984. 99. НепвсЬеп Ь. апё Рагк Н. 1пёеПш(е апё СС>УА 1пГегепсе т тёе- Гтке ёеёисИуе ёа1аЪа8е8, Ргос. ААА1-86, рр. 191-197, 1986. 100. НепвсЬеп Ь. апё Рагк Н. СотрШп§ 1Ье СС>УА т тёеппке ёеёисйуе (ЫаЪазез, ш 5. Мткег (ёёкеиг), РоипсЫюпз оГ Эе- ёисйуе Оа(аЬа$е$ апё Ьо§гс Рго§гаттт& Мог§ап КаиГтапп, Ьо8 АКо8, СаИГогта, 1988. 101. НПЬег1 Э. апё Аскегтапп >У. Огипёхй^е ёег ШеогейзсЬеп Ьо§1к, 8рпп§ег, ВегИп, 1928; 1гаёик еп ап§1а18: Рппс1р1е8 оГ Ма1Ьета- 1юа1 Ьо§ю, СЬеЬеа РиЪ. Со., №\у Уогк, 1950. [Имеется перевод с 2-го нем. изд.: Гильберт Д., Аккерман В. Основы теоретической логики, М., 1947.] 102. Ншйкка 5. Кпо\у1её§е апё ВеИеГ: ап 1п1гоёис1юп Хо 1Ье Ьо§гс оГ те 1\уо Ыо110п8, СогпеП 1Ыуег8ку Рге88, ИЬаса, Ые\у Уогк, 1962. 103. Ншйкка I. Моёе1 тшншгайоп-ап акета^уе 1о сптит$спр1юп, 5. Аи1ота1её Кеавопт^, уо1. 4, по 1, рр. 1-13, 1988. 104. НиНп О. Ап ЕЙЫегк 1п1егргеИуе А1§огкЬт Гог Кесигауе (Зиепез, Мапизспр1, РЬШрз КезеагсЬ ЬаЪога1огу ВгиззеЬ, ]апу1ег 1988. 105. НиНп О. А РгооГ-1Ьеоге1ю Регзресйуе оШеёис11Уе Оа1аЪа8в8 \укЬ Магкеё Ыи11 Уа1ие8, Мапизспр!, РЫИрв КезеагсЬ ЬаЪога1огу ВгиззеЬ, 1988. 106. 1гше1т8к1 Т. Оп а1§еЪгаю яиегу ргосе881п§ т 1о§гса1 <1а1аЪа8е8, ш Н. СаПаке, I. Мткег, апё 5. №со1а8 (ёёкеигз), Аёуапсев ш Эа1а Вазе ТЬеогу, рр. 285-318, Р1епит Рге88, Ые\у Уогк, 1984. 107. 1гшеНп8к1 Т. Аи1ота1её ёеёис11оп 1П ёа1аЪа8е8 ш1Ъ 1Псотр1е1е 1пГогта110п, 1П 5. Мткег (ёёкеиг), Ргерпп18 оГ АУогквЬор: РоипёаИоп8 оГ БеёисНуе Оа1аЪа8е8 апё Ьо§1с Рго§гатгшп§,
478 Литература рр. 242-283, \Уа8Ып§10П, аи§Ш1 1986, ЗиЪгшиеё 1о АСМ ТСЮ8. 108. 1т1еИп8к1 Т. апё Ыр8к1 ^. 5т. ТЬе Ке1а1юпа1 Моёе1 оГ Эа1а апё СуЬпёпс А1§еЪга8, 1С8 РА8 Керог18 446, 1п81Ии1е оГ Сотри1ег 8с1епсе, РоИвЬ Асаёету оГ 8с1епсе8, аой1 1981. 109. 1гшеНп8к1 Т. апё 1лр8к1 >У. 1г., 1псотр1е1е 1пГогта11оп т ге1а1юпа1 ёа1аЪа8е8,1ошпа1 оГШе АСМ, уо1. 31, по 4, рр. 761-791, ос1оЪге 1984. ПО. 1гшеНп8к1 Т. апё Ыр8к1 >У. 1г. ТЬе геЫюпа! тоёе1 оГ (Ыа апё суНпёпс а1§еЪга8, 1ошпа1 оГ СотргЦег апё 8у81ет Заепсев, уо1. 28, рр. 80-102, 1984. 111. 18гае1 Э. ^ЬаГв \угоп§ \укЬ поп-топоктгс 1о§ю?, Ргос. ААА1-80, рр. 99-101, 1980. 112. 1ае§ег О. 8оте соп1пЪи1юп8 1о 1Ье 1о§1са1 апа1у818 оГ агсшп- зспрйоп, Ргос. 81Ь 1п1. СопГ. оп Аи1ота1её Ое<1ис1юп, Ьес- 1иге Ыо1е8 т СотргЦег 8с1епсе 230, 8рпп§ег-Уег1а§, ВегИп, рр. 154-171, 1986. 113. 1ап88еп Т. РоипсЫюпз апё АррИсасюпз оГ Моп1а§ие Огаттаг, Раг1 I: РЬПозорЬу, Ргате\уогк, СотргЦег 8с1епсе, Сепгшт уоог )^18кипёе еп 1пГогта(юа, Тгасге 19, Атзгегёат, 1986. 114. 1ап88еп Т. Роипёагюпз апё АррИсагЧопз оГ Моп1а§ие Огаттаг, Раг1 II: АррЬсаИопз 1о Ыа1ига1 Ьап§иа§е, Сепггит уоог АМзкипёе еп 1пГогта1кзд Тгасге 28, Ат81егёат, 1986. 115. 1агке М. апё КосЫ (^иегу ор11т12а1юп т (ЫаЪазе 8уз1ет8, АСМ Сотри1т§ 8игуеу8, уо1. 16, по 2, рр. 111-152, .|шп 1984. 116. 1ауег 5. Ь'тГёгепсе еп 1ап§ие па1иге11е, Негтез, Рапе, 1988. 117. 1оЬп апё ВеппеП, Ьап§иа§е а8 а 8е1Г ог^атап^ 8у81ет, СуЪегпеИсв апё 8у81ет8, уо1. 2, рр. 201-212, 1982. 118. Катр 5. А ТЬеогу оГ 1ги1Ь апё зетапИс герге8еп1аИоп, ш Огоепепёцк е1 а1., (ёёкеигз), ТггЦЬ, 11Цегрге1а1юп апё 1пГоппа1юп, Роп8 РиЪИсаИоп8, ЭогёгесЫ, 1984. 119. Ка12 I. 8етаШгс ТЬеогу, Нагрег апё Ко\у, Ые\у Уогк, 1972. 120. Ка12 ]. апё Роёог 3. ТЬе 81гис1иге оГа зетапИс 1Ьеогу, герпз ёапв: ТЬе 81гис1иге оГ Ьап§иа§е, РгеШюе На11, Еп§1е\Уооё С1Ш8 1964. 121. Каи12 Н. ТЬе 1о§1С оГ рега81епсе, Ргос. ААА1-86, рр. 401-405, 1986. 122. Кеепап Е. апё РаИх Ь. Воо1еап 8етап1ю8 Гог Ка1ига1 Ьап§иа§е, Кек1е1, ЭогёгесЫ, 1985. 123. Ке11ег А. М. 8е1-1Ьеоге1ю ргоЫетш оГ пи11 сотр1еИоп т ге1а1юпа1 (ЫаЪазез, 1пГогта1юп Ргосе881П§ ЬегЧегз, уо1. 22, рр. 261-265, ауп1 1986. 124. Кетепу 3. 8етап1ю8 а8 а ЪгапсЬ оГ1о§ю, Епсус1ораеё1а Вп1апп1са, уо1. 20, р. 311, 1957. 125. Кип )У., Ке1пег Э. апё Ва1огу Э. (ёё11еиг8), Риегу Ргосе881П§ т Оа(аЬа8е 8у81ет8, 8рпп§ег-Уег1а§, 1985.
Литература 479 126. КопоИ^е К. А Беёисйоп тоёе1 оГ ЬеИеГ апё 118 1о§гс8, 81апГогё Сотр. 8с1епсе. Мето С8-84-1022, 81апГогё 1Ыуеш1у, 1984. 127. КопоИ^е К. А БеёисИоп Моёе1 оГ ВеЬеГ, КевеагсЬ 1Чо1е8 ш Аг1пгс1а1 1п1еШ§епсе, Рктап, Ьопёоп, 1986. 128. КопоИ^е К. Оп 1пе геЫюп Ъе1\уееп ёеГаик 1пеопе8 апё аи1о- ер181егшс 1о§1с, Ргос. ПСА1-87, рр. 394-401, 1987. 129. Ко\уа18к1 К. апё 8ег§о1 М. А 1о§1С-Ъа8её са1си1и8 оГ еуеп18, №\у ОепегаИоп СотриИп§, уо1. 4, рр. 67-95, 1986. 130. Кпрке 8. 8етап1ю апа1у818 оГ тоёа1 1о§1С I: Ыогта1 ргоро81- 1юпа1 са1сиИ, 2ек. Ма1п. Ьо^к Огипё. Ма1п., уо1. 9, рр. 67-96, 1963. 131. Кпрке 8. 8етап1юа1 соп8к1ега1юп8 оп тоёа1 1о§ю, ш Ь. Ыпвку (ёсШеиг), КеГегепсе апё Моёа1ку, ОхГогё Ш1уег8ку Рге88, Ьопёоп, рр. 63-72, 1971. [Имеется перевод: В сб.: Семантика модальных и интенсиональных логик,-М.: Прогресс, 1981, с. 27-40.] 132. Кго§ег Р. Тетрога1 Ьо§гс оГ Рго^гатз, 8рпп§ег-Уег1а§, ВегИп, 1987. 133. Кипеп К. №§а1юп т 1о§1С рго§гаттт& X Ьо^гс Рго§гаттт& уо1. 4, по 4, рр. 289-308, 1987. 134. Ьаспмх М. апё Р1гоПе А. Оота1п-опеп1её ге1аИопа11ап§иа§е8,ш Ргосееёт§8 оГ 1пе ТЫгё 1п1егпа1юпа1 Согиегепсе оГ Уегу Ьаг§е Эа1аЪа8е8, рр. 370-378, Токуо, ос1оЪге 1977. 135. Ьаспмх М. апё РкоНе А. А88ос1а1т§ 1уре8 \укп ёотатв оГ ге1аИопа1 ёа1аЪазе8, АСМ 81СМСЮ Кесогё, уо1. 11, по 2, рр. 144-146, Гёупег 1981. 136. Ьакон"С Ып§ш81ю8 апё па1ига1 1о§гс, т: Э. ЭауМвоп апё О. НаПтап (ёёкеигз), 8етап1ю8 Гог №1ига1 Ьап§иа§е, Кек1е1, ЭогёгесЬ1, 1972. 137. Ьероге Е. (ёёкеиг), №\у Окес1юп8 ш 8етап1Ю8, Асаёетгс Рге88, Ьопёоп, 1987. 138. ЬеуевяиеНЛ. ТЬе 1п1егас1юп \укп тсоптр1е1е кпо\у1её§е Ъазез: а Гогша1 1геа1теп1, Ргос. ПСА1-81, рр. 240-245, 1981. 139. Ьеуезяие Н.Х Кпо\у1её§е герге8еп1а1юп апё геа8отп& Ап. Кеу. Сотри*. 8с1., уо1. 1, рр. 255-287, 1987. 140. Ьеуезяие Н. (ёёкеиг туке), Рогит: а сгШяие оГ риге геазоп, Сотри1а1юпа1 1п1еШ§епсе, уо1. 3, по 3, рр. 149-237, 1987. 141. Ьюп1еп81ет О., РпеиеИ А. "Спескт§ 1па1 Р1пке 81а1е Сопсиггеп1 Рго§гат8 8а118гу 1пек Ыпеаг 8ресШса1юп8", Ргос. 12Л АСМ 8утро8шт оп Рппс1р1е8 оГ Рго§гаттт§ Ьап§иа§е8, №\у Ог1еап8, 1апиагу 1985, рр. 97-107. 142. Ьл&спкг V. СотриИп§ С1гсшп$спр1юп, Ргос. ПСА1-85, рр. 121- 127, 1985. 143. ЬкзсЬкх V. С1о8её-\уог1ё ёасаЪавев апё си*сит$спр1юп, Аг1и1с1а1 1п1еШ§епсе, уо1. 27, рр. 229-235, 1986.
480 Литература 144. ЫГзсЬкг V. Оп 1пе зайзПаЫиЧу оГ сксшшспрИоп, АгШгс1а1 1п1еШ§епсе, уо1. 28, рр. 17-27, 1986. 145. ЫГзсЬкг V. Рот1\У18е сн*сит$спр1юп: ргеИттагу герог1, Ргос. ААА1-86, рр. 406-410, 1986. 146. ЫГ8сЫ§7 V. Рогта11Ьеопе8 оГ асйоп, т Р. М. Вго\уп (ёёкеиг), ТЬе Ргате РгоЫет т Аг1п1с1а1 1п1еШ§епсе (Ргос. оГ 1Ье 1987 >^огк- зЬор), Мог§ап КаиГтапп, рр. 35-57, 1987. 147. ШзсЬКг V. С1гсит8спр1гуе Шеопев: а 1о§ю-Ъа8её Ггате\Уогк Гог кпо\у1её§е гергевепШюп, Ргос. ААА1-87, рр. 364-368, 1987. 148. ЬНзсЬКг V. Оп 1Ье ёес1ага11уе 8етап1гс8 оГ 1о§гс рго^гатв \укЬ пе§а1юп, т X Мткег (ёёкеиг), РоипёаИопз оГ Е)еёис11уе Эа1а- Ъазез апё Ьо^с Рго§гаттт& Мог§ап КаиГтапп, Ьо8 А11о8, рр. 177-192, 1988. 149. Ыоуё 1 >У. Роипёа11оп8 оГ Ьо§ю Рго§гаттт§ 8рпп§ег-Уег1а§, ВегИп, весопё, ех1епёеё еёШоп, 1987. 150. Ьош К. ЭеГеа1 атоп§ аг§итеп18: а 8у81ет оГ ёеГеавкЯе тГегепсе, СотриОЦюпа1 1п1еШ§епсе, уо1. 3, по 2, рр. 100-106, 1987. 151. Ьошв О. апё РкоПе А. А ёепоШ1опа1 ёеплШоп оЙЬе 8етап1ю8 оГ ЭКС, 1Ье ёотат ге1а1юпа1 са1си1ш, ш Ргосее<1т§8 оГ 1Ье ЕщЫ 1п1егпа1юпа1 Согиегепсе оп Уегу Ьаг§е Оа(аЬа8е8, рр. 348-356, Мехюо, 8ер1етЪге 1982. 152. Ьика82е\У1С2 >У. Соп8к1ега1юп8 оп ёеГаи11 1о§гс, Ргос. ААА1->Уогк- 8Ьор оп Ыоп-Мопо1опю Кеа8отп§, №\у Ракх, №\у Уогк, рр. 165-193, 1984. 153. Ма1ег Э. ТЬе ТЬеогу оГ Ке1а1юпа1 Оа(аЬа8е8, Рктап РиЫ, Ьопёоп, 1983. [Имеется перевод: Мейер Д. Теория реляционных баз данных.-М.: Мир, 1987.] 154. Маппа Ъ. апё РпиеИ А. ТЬе тоёа1 1о§гс оГ рго§гат8, ЬесШге Ыо1е8 т Сотри1ег 8аепсе8, уо1. 71, рр. 385-409, 8рпп§ег-Уег1а& 1979. 155. Маппа Ъ. апё РпиеИ А. Аёеяиа1е ргооГ рппс1р1е8 Гог туапапсе апё Иуепе88 ргорегйев оГ сопсиггеп1 рго^гагш, 8с1епсе оГ Сот- ри1ег Рго§гаттт& уо1. 4, рр. 257-289, 1984. 156. МсСаг1Ьу X С1гсит8спр1юп: а Гогт оГ поп-топо1отс геа8опт& АгШ1с1а1 1п1еШ§епсе, уо1. 13, по 1-2, рр. 27-39, 1980. 157. МсСаг1Ьу X АррИсаИопв оГ скситзспрйоп 1о ГогтаЬ2т§ сот- топ-8еп8е кпо\у1её§е, АгШ1с1а1 1п1еШ§епсе, уо1. 28, рр. 89-116, 1986. 158. МсСаг1Ьу X, 8а1о М., НауавЫ Т. апё 1§ага8Ы 8. Оп 1Ье то<1е1 1Ьеогу оГ кпо\у1её§е, 81апГогё Аг1. 1п1. ЬаЪ. Мето А1М-312, 81апГогё ишуегвку, 1978. 159. МсСаг1Ьу ]. апё Науез Р. 8оте рЫ1о8орЫса1 ргоЫетз п*от 1Ье 81апёро1п1 оГ аПи1с1а11п1еШ§епсе, 1П Мектег апё КюЫе (ёёкеигз), МасЫпе 1п1еШ§епсе, Уо1. 4, Её1пЪиг§Ь ип1уег811у Рге88, ЕсИп- Ъиг§Ь, 1969.
Литература 481 160. МсОегтои Э. Ыоп-топо1ошс 1о§1С II: поп-топо1ошс тоёа1 теопез, I АСМ, уо1. 29, по 1, рр. 34-57, 1982. 161. МсОегтои О. А сгШяие оГ риге геазоп, Сотри1а11опа1 1п1е1- И§епсе, уо1. 3, по 3, рр. 151-160, 1987. 162. МсОегтои О. Ьо^с, ргоЫет-8оЫп§ апё ёеёисИоп, Апп. Кеу. Сотри*. 8а., уо1. 2, рр. 187-229, 1987. 163. МсОегтои О. апё Ооу1е I. №>п-топо1ошс 1о§гс I, Аг1и1с1а1 1п1еШ§епсе, ур1. 13, по 1-2, рр. 41-72, 1980. 164. МепёеЬоп Е. 1п1пх1ис1юп 1о Ма1ЬетаИса1 Ьо§1С, Уап Ыозггапё, Рппсе1оп, зесопё еёШоп, 1979. [Имеется перевод: Мендельсон Э. Введение в математическую логику.-М.: Наука, 1984.] 165. МШег М. апё РегИз О. Ргоуш§ $е1Г-ииегапсе8, 3. Аи1ота1ес1 Кеа8отп§, уо1. 3, по 3, рр. 329-338, 8ер1етЪге 1987. 166. Мткег 1 Оп тёейпке ёа(аЬа$е$ апё 1Ье с1овеё ^ог1д а8$итр1юп, Ргос. 6*Ь Сот", оп Аи1ота1её Е>е<1ис1юп, Ьес1иге Ыо1е8 ш Сот- ргнег 8с1епсе 138, 8ргт§ег-Уег1а& ВегЬп, рр. 292-308, 1982. 167. Мткег I. Рег8рес11уе8 ш ёеёисйуе <1а1аЪа8е8, ]. Ьо^гс Рго^гат- тт& уо1. 5, по 1, рр. 33-60, 1988. 168. Мткег 5. (ёёкеиг), Роипёайопв оГ ОеёисИуе Оа1аЪа8в8 апё Ьо^гс Рго§гаттт§, Мог§ап КаиГтапп, Ьо8 Акоз, 1988. 169. Мтзку М. А Ггате\Уогк Гог герге8еп11п§ кпо\у1её§е, ш Р. >Ут- 81оп (ёёкеиг), ТЬе Р8успо1о§у оГ Сотри1ег У18ЮП, МсОга\у-НШ, Ые\у Уогк, рр. 34-57, 1974. [Имеется перевод: в сб. Психология машинного зрения.-М.: Мир, 1978, с. 249-338.] 170. Мотагё У. Ооппег 1а ргёГёгепсе аи ёёГаи11е р1и8 8ресНЦие, Ргос. Соп§гё8 КР1А, рр. 1123-1132, АпНЪез, 1987. 171. Мотагё У. Кш8оппетеп1 Ыоп Мопокте: Соп1пЪи1юп а ГЕШёе ее 1а С1гсоп8спр1юп, ТЬёве (Шшуегекё, ишуегзкё ее Кеппез I, 1988. 172. Моп(а§ие К. ТЬе ргорег 1геа1теп1 оГ яиапШюасюп ш огсипагу Еп^ИзЬ, ш Нтйкка е1 а1. (ёсШеигз), АрргоасЬез 1о Ыа1ига1 Ьап#иа§е, рр. 221-242, Ке1ёе1, ЭогёгесЬ1, 1973. 173. Моп1а§ие К. Оп 1Ье паШге оГ сеПат рЫ1о8орЫса1 епсШез, ТЬе Моте*, уо1. 53, рр. 159-194, 1960; герпв ёапв К. ТЬотазоп (ёёкеиг), Рогта1 РЫ1о8орЬу: 8е1ес1её Рарегв оГ ШсЬагё Моп1а§ие, рр. 148-187, Уа1е 1Ыуег8ку Рге88, 1974. 174. Моп1а§ие К. Рга§та1ю8, т К. КИЪашку (ёёкеиг), СоШетрогагу РЬПоворЬу: А 8игуеу, рр. 102-122, Ьа Ыиоуа ИаЬа Еёкпсе, 1968; герпв ёапв: К. ТЬотазоп (ёёкеиг), Рогта1 РЬПоворЬу: 8е1ес1её Рарег8«оГ КюЬагё Моп1а§ие, рр. 95-118, Уа1е Ш1уег8ку Рге88, 1974. [Имеется перевод: В сб.: Семантика модальных и интенсиональных логик.-М.: Прогресс, 1981, с. 254-279.] 175. Моп1а§ие К. Еп^ИзЬ аз а югта1 1ап§иа§е, В. У18еп11ш е1 а1. (ёёкеигз), Ып§и১1 пе11а е пе11а Теспюа, рр. 189-224, Едтот <Н 61-4465
ГС2 Литература Сотгпи1а, 1970; герпв ёапв: К. ТЬотавоп (ёёкеиг), Рогта1 РЫ- 1о8орЬу: 8е1ес1её Рарегв оГ Кюпагё Моп1а§ие, рр. 108-221, Уа1е Ш1уег8Ку Рге88, 1974. 176. Моп1а§ие К. Ш1уег8а1 §гаттаг8, ТЬеопа, уо1. 36, рр. 373-398, герпв ёапв: К. ТЬотавоп (ёсШеиг), Рогта1 РЫ1о8орЬу: 8е1ес1её Рарегв оГ КюЬагё Моп1а§ие, рр. 222-246, Уа1е ХЫуегвку Рге88, 1974. 177. Мооге К. 8етап1юа1 соп81<1ега1юп8 оп поптопо1отс 1о§гс, 8К1 АгШ!с1а11п1еШ§епсе СеШег ТесЬтса1 Ыо1е 284, 8К1 1п1егпа1юпа1, Меп1о Рагк, СаИГогша, 1980. 178. Мооге К. 8етап1юа1 соп81<1ега1юп8 оп поп-топо1опю 1о§ю, АШ- Г1С1а1 1п1еШ§епсе, уо1. 25, по 1, рр. 75-94, 1985. 179. Мооге I. Еёког'8 ргеГасе 1о 'Вавю рппс1р1е8 оГтесЬатса11Ьеогет ргоу1п§ т е1етеп1агу §еоте1пс8' Ъу )^и >^еп-18ип, 3. Аи1ота1её Кеа8ошп§, уо1. 2, по 3, рр. 219-220, 8ер1етЪге 1986. 180. Мооге К. С. Аи1оер181егшс 1о§1С, т Р. 8те18 е1 а1. (ёёкеигв), Ыоп-81апёаг1 Ьо§1С8 Гог Аи1ота1её Кеа8отп& Асаёетгс Рге88, Ьопёоп, рр. 105-136, 1988. 181. МоИ Р. А 1Ьеогет оп 1пе соп8181епсу оГ С1гсит8спр1юп, Аг1Ш<па1 1теШ§епсе, уо1. 31, по 1, рр. 87-98, 1987. 182. Ыа18п Ь. №§а1юп апё Соп1го1т Рго1о§, ЬесШге Ыо1е8 ш Сотри- 1ег 8с1епсе 238, 8рпп§ег-Уег1а§, ВегИп, 1985. 183. ЫеГР. (ёёкеиг), Ь'апа1у8е Ьовдие ёе8 Ьап§ие8 Ыа1иге11е8, Еёь 110П8 ёи Сеп1ге Ыа1юпа1 ее 1а КесЬегсЬе 8с1еп1Шяие, Рапе 1984. 184. 0\у1ск1 8. апё Спев Э. Ап АхютаИс РгооГ ТесЬ^ие Гог Рага11е1 рго§гагп8, Ас1а 1пГогта1юа, уо1. 6, рр. 319-340, 1976. 185. Рара1а8кап М. апё >Ует81ет 8. Мт1та1 Сопвеяиепсе ш 8еп1еп- 1ш1 Ьо^с, Тес1гшса1 КероП М8-С18-97-43, 1Ыуег8ку оГ Репшугуаша, 1987. 186. РаПее В. Моп1а§ие Огагшпаг апё 1гап8(огта1юпа1 §гаттаг, Ьт§Ш81ю 11щшгу, уо1. 6, по 2, рр. 203-300, рпп1етр8 1975. 187. РегНв Э. апё Мткег I. Сотр1е1епе88 гевикв Гог С1гсит8спр1юп, АггШс1а1 1теШ§епсе, уо1. 28, рр. 29-42, 1986. 188. РеггаиК С. АЫ АррНсайоп оГ ОеГаик Ьо^с 1о 8реесЬ Ас1 ТЬеогу, 8К1 1п1егпа1юпа1, ТесЬпюа1 Керог1, Меп1о Рагк, 1987. 189. Ре^егвоп О. Му1к8 аЪои! 1ке ти1иа1 ехс1и8юп ргоЫет, 1пГог- та1юп Ргосезвт^ Ьеиег, уо1. 12, рр. 115-116, 1981. 190. Р1гоие А. НщЪ 1еуе1 ёа1а Ъаве яиегу 1ап§иа§е8,т Н. СаПаке апс! X Мткег (ёёкеигз), Ьо§1С апё Оа(аЬа$е$, рр. 409-436, Р1епит Рге&8, Ые\у Уогк, 1978. 191. РкоНе А. А ргеше ёеГткюп оГ Ъа^ю ге1а11опа1 по1юп8 апё оГ 1Ье ге1а1юпа1 а^еЪга, АСМ 8ЮМОЭ Кесогё, уо1. 13, по 1, рр. 30-45, 8ер1етЪге 1982.
Литература 483 192. Роо1е Э. Оп 1пе сотрапвоп оГ Шеопез: ргеГегпп§ Ше то81 зресШс ехр1апа1юп, Ргос. ПСА1-85, рр. 144-147, 1985. 193. Ргаи V. 8етап1юа1 соп8к1ега1юп8 оп Р1оуё-Ноаге 1о§1С, Ргос. 17Ш ШЕЕ 8утр. оп Роипёа1юп8 оГ Сотри1ег 8аепсе, рр. 109-121, 1976. 194. Рг2ути81П8к1 Т. <2иегу ап8\уепп§ т С1гсит8спр11уе апё с1о- 8её-\УогЫ Шеопез, Ргос. ААА1-86, рр. 186-190, 1986. 195. Рг2ути81П8к1 Т. Оп 1пе 8етап1ю8 оГ 81га1Шеё ёеёис^уе (ЫаЪазез, ш 1 Мткег (ёёкеиг), РоипёаИопз оГ Оеёисйуе Оа(аЬа$е$ апё Ьо§1С Рго§гатгшп§, Мог§ап КаиГтапп, рр. 193-216, 1988. 196. Рг2утшт8к1 Т. РегГес* тоёе1 8етап1ю8, Ргос. РкЧЬ 1п1. СопГ. 8утр. оп Ьо§ю Рго§гатгшп& рр. 1081-1096, 1988. 197. Рг2ути81П8к1 Т. Оп Ше геЫюпзЫр Ъе1\уееп 1о§1С рго8гаттт§ апё поп-топо1опгс геа8опт§, Ргос. ААА1-88, рр. 444-448, 1988. 198. Рг2ути81П8к1 Т. апё Рггутштзка С. >Уеак1у регГес1 тоёе1 8е- тап1ю8 Гог 1о§ю рго§гат8, Ргос. РиЧЪ 1п1. СопГ. 8утр. оп Ьо§ю Рго§гаттт& рр. 1106-1120, 1988. 199. (Зшпе XV. \Уогё апё ОЪуей, М1Т Рге88, СатЪгк1§е, 1960. 200. <2шпе УУ. Ьо^ие ё1ётеп1а1ге, СоИп, Рапе, 1972. 201. (^шпе УУ. МеЙю<1о1о§гса1 геЯехюпз оп сиггеп1 Нп§ш$(1с Шеогу, т и. Оа\аё8оп апё О. Нагтап (ёёкеигз), 8етап1ю8 оГ Ыа1ига1 Ьап§иа§е, Ке1ёе1, ЭогёгесЬ1, 1972. 202. Кекег К. Оп с1о8её-\Уог1ё ёа1а Ъазе, т Н. СаПаке апё X Мткег (ёёкеигз), Ьо^гс апё Эа1а Ва$е$, Р1епит Рге88, №\у Уогк, рр. 55-76, 1978. 203. Кекег К. А 1о§гс Гог ёеГаик геазопт^, Аг1Шс1а11п1еШ§епсе, уо1. 13, по 1-2, рр. 81-131, 1980. 204. Кекег К. Скситзспрйоп ипрНез рге<Иса1е сотрЫюп (зотейтез), Ргос. ААА1-^огк8Ьор оп №>п-Мопо1опгс Кеа8отп& Ые\у Ракг, Ые\у Уогк, рр. 418-420, ос1оЪге 1984. 205. Кекег К. То\уагё8 а 1о§юа1 гесоп81гис1юп оГ ге1аИопа1 (ЫаЪазе Шеогу, 1п М. ВпхКе, X Му1орои1о8, X 8скткк (ёёкеигз), Оп Сопсер1иа1 МоёеШп& рр. 191-238, 8рпп§ег-Уег1а§, ВегИп, 1984. 106. Кекег К. А 8ошк1 апё зотейтез сотр1е1е яиегу еуа1иаИоп а1§о- гкпт Гог ге1аИопа1 (ЫаЪазез \укЬ пик уа1ие8,1оигпа1 оГ Ше АСМ, уо1. 33, по 2, рр. 349-370, аугк 1986. 101. Кекег К. А Шеогу оГ <иа§по818 Ггот ЙГ81 рппс1р1е8, АгШ1с1а1 1п1еШ§епсе, уо1. 32, по 1, рр. 57-95, 1987. Ю8. Кекег К. Ыоптопо1отс геа8отп§, Ап. Кеу. Сотри*. 8с1, уо1. 2, рр. 147-186, 1987. 109. Кекег К. апё Сп8сио1о О. Оп ЫегасИп^ ёеГаикз, Ргос. ПСА1-81, рр. 270-276, 1981. ПО. КезсЬег N. Мапу-Уа1иеё Ьо§гс, МсОга\у НШ, Ые\у Уогк, 1969. В1*
484 Литература 211. КезсЬег N. апё игяиЬаг! А. Тетрога1 Ьо§ю, 8ргт§ег-Уег1а& Вег- Нп 1971. 212. ШсЬе 5. Ьоодие е1 1Ьёопе ее 1а зцриПсайоп, т: Епсус1ореё1е РЫ1о8ор1ште ишуегзеПе, Рге88е8 ХМуетЫгез ее Ргапсе, Рапе, а рагайге, 1989. 213. Кое1ап1в О. Кесигауе Ки1е8 ш Ьо^гс Оа1аЪа8е8, Мапи8спр1, РЫ- Ир8 КезеагсЬ ЬаЬога1огу ВгшзеЬ, таге 1987. 214. КоЬтегД., Ьезсоиег К. апё КепзК I. ТЬе А1ехапёег теЙюё-а (есЬшцие Гог 1Ье ргосеззт^ оГ геситуе ахютз ш деёис^уе сЫаЪазез, Ие\у Оепега1юп Сотри1т§, уо1. 4, по 3, рр. 273-285, 1986. 215. КшзеП В. Оп ёепо1т§, Мтё, уо1. 14, рр. 479-493, 1905; герпз ёапз: I. Сорр1 апё ]. СоиЫ (есШеигз), Соп1етрогагу Кеаёт^з т Ьо§гса1 ТЬеогу, рр. 93-105, МастШап, Ые\у Уогк, 1967. 216. 8асса Э. апё 2ашо1о С. ТЬе §епегаНтеё сошИш^ тетоё Гог гесш*81уе 1о§1С яиепез, ш Ргосееёт^з оГ те 1п1егпа11опа1 Соп- Гегепсе оп Оа(аЬазе ТЬеогу, Кота, &ер1етЪге 1986. 217. 8сЫ1рр Р. ТЬе РЬПоворЬу оГ ВеПгапё КиззеП, Ореп СоиЛ, Ьа 8а11е 1944. 218. 8ЬерЬегёзоп 5. Ые^аНоп а8 Миге: а сотрапзоп оГ Сагк'з сотр1е- 1её ёа1а Ъазе апё Кекег'з с1озеё \Уог1ё аззитрИоп, ]. Ьо§гс Рго§гат1Шп§, уо1. 1, по 1, рр. 51-79, 1984. 219. 8ЬерЬегёзоп 1 №§а1юп а8 ГаПиге II, I. Ьо§гс Рго§гаттт& уо1. 2, по 3, рр. 185-202, 1985. 220. 8ЬерЬегёзоп 1ШгоёисИоп 1о 1Ье теогу оГ 1о§ю рго§гаттт§, т Р. Эгаке апё I. Тгш8 (ёёкеигз), Ьо#с Со11ояшит'86, 8шшез ш Ьо§1с апё 1Ье РошкЫюпз оГ Ма1Ьета1юз, уо1. 124, рр. 277-318, Ыогт-НоЦапё, Атз1егёат, 1988. 221. 8ЬерЬегёзоп 5. С. Ые§а1юп т 1о§гс рго§гаттт§, т 5. Мткег (ёёКеиг), РошкЫюпз оГ Оеёисйуе Оа1аЬазез апё Ьо§ю ргоегат- тт§, Мог§ап Каштапп, Ьоз Ако8, рр. 19-88, 1988. 222. 8ЬоЬат V. СЬгопо1о§гса1 щпогапсе, Ргос. ААА1-86, рр. 389-393, 1986. 223. 8ЬоЬат V. А зетап1юа1 арргоасЬ 1о поптопо1ошс 1о§1С8, Ргос. 2пё 1п1. Зутрозшт оп Ьо§1с т Сотри1ег 8с1епсе (ЫС8 87), рр. 275-279, 1987. 224. 8ЬоЬат V. Кеазопт§ аЪои1 СЬап§е, М1Т Рге88, СатЪпё^е, 1988. 225. 81811а А. е1 С1агке Е. Сотр1ехку оГ ргорогзШопа1 Ипеаг 1етрога1 1о81С8, 1оигаа1 оГ АСМ, уо1. 32, рр. 733-749, 1985. 226. 81811а А., УагсН М. е1 \Уо1рег Р. ТЬе сотр1етеп1а1юп ргоЫет юг ВйсЫ аи(ота(а ^ат аррНсайопз 1о 1етрога1 1о§ю, ТЬеогейой СотргПег 8с1епсе, уо1. 49, рр. 217-237, 1987. 227. 8те18 Р., Матёап1 Е. Н., ЭиЪо18 В. апё Ргаёе Н. (еёНеигеХ Ыоп-81апёагё Ьо§1С8 Гог Аи1ота1её Кеа8оп1п§, Асаёегшс Ргез», Ьопёоп, 1988.
Литература 485 228. 8ти11уап К., \\Ъа1 1$ 1Ье Ыате оГ (Ыз Вок?, РгепИсе-НаИ, Еп§1е^ооё С1Ш8, 1978. [Имеется перевод: Смаллиан Р. Как же называется эта книга?-М.: Мир, 1981.] 229. 8ирре8 5. А 8е1 оГ тёерепёеШ ахютз Гог ех1еп8гуе яиап1Ше8, РоПи^аНае МаШетаИса, уо1. 10, рр. 163-172, 1951. 230. Таг8к1 А. ТЬе 8етапИс сопсерйоп оГ 1ги*Ьи РЬПозорпу апё Рпепотепо1о§юа1 КезеагсЬ, уо1. 4, рр, 341-375, 1944; герпв ёапз: Ь. Ыпвку (ёёкеиг), 8етап11С8 апё 1Ье РЬПозорЬу оГ Ьап§иа§е, рр. 13-47, ЬГшуегзку оГ Што18 Рге88, ЬГгЪапа, 1972. 231. Таг8к1 А. Ьовдие, 8етап11яие, Мё1ата1петаНяие (1923-1944), СоИп, Рапе, 1972. 232. ТЬаузе А., ОосЬе1 Р., Сгеясмге Е., СпЪотопх Р., Ьогш С, ЗапсЬег Е., 8пуег8 О., >Уоёоп Р. е1 Е)е18аг1;е РЬ. Арргоспе Ьоодие ее Г1п1еШ§епсе АШЙаеПе, уо1. 1: ее 1а Ьовдие С1а881яие а 1а Рго§гатта1юп Ьовдие, Эипоё, Рапе, 1988. [Имеется перевод: Тейз А. и др. Логический подход к искусственному интелекту. т. 1. От классической логики к логическому программированию.-М.: Мир, 1990.] 233. ТЫ811е\уаке Р., МсКоЪЫе М. апё Меуег К. Аи1ота1её ТЬео- гет-Рго\ап§ т Ыоп-С1а88юа1 Ьо#С8, КезеагсЬ Ыо1е8 ш Тпеоге1гса1 СотргЦег Заепсе, Р11тап, Ьопёоп, 1988. 234. ТЬотав >У. А сотЫпа1опа1 арргоасЬ 1о 1Ье 1Ьеогу оГ аьаи(ота(а, ЫогтаНоп апё Соп1го1, уо1. 48, рр. 261-283, 1981. 235. ТоШепХК.К. Ье 8ИтапШоп, Уа\ Ьи, 1978. [Имеется перевод: Толкин Дж. Р. Р. Сильмариллион.- М.: «Международная книга», 1992.] 236. Тоиге1тку Э. ГтрЬсИ огёегт§ оГ ёеГаи1(8 ш тЬегКапсе 8у81ет8, Ргос. ААА1-84, рр. 322-325, 1984. 237. Тоиге&ку Э. ТЬе Ма1ЬетаИс8 оГ ГпЬегКапсе 8у81ет8, КезеагсЬ Ыо1е8 ш АгШгс1а1 1п1еШ§епсе, РИтап, Ьопёоп, 1986. 238. Типп§ А. Оп Сотри1аЫе пшпЪегз ^а1Ь ап аррНсайоп 1о 1Ье еп18сЬе1ёип§8ргоЫет, Ргос. Ьопёоп Ма1Ь. 8ос., 8ег. 2-42, рр. 230-265, 1936. 239. Тигпег К., Ьо§1С8 Гог Аг1н1с1а11п1еШ§епсе, ЕШз Нопуооё ЫпиЧеё, СЫсЬе81ег 1984. 240. 1Л1тап I. Рппаркв оГ Оа(аЬа$е 8у81ет8, Рктап, Ьопёоп, зесопё еёШоп, 1982. [Имеется перевод: Ульман Дж. Основы систем баз данных.-М.: Финансы и статистика, 1983.] 241. Штап 5. 1тр1етеп1а1юп оГ 1о§1са1 яиегу 1ап§иа§е$ Гог ёа1а- Ъа8е8, АСМ ТгапзасИопз оп Оа(аЬа$е 8у81ет8, уо1. 10, по 3, рр. 289-321, 1986. 242. Уап Етпёеп М. Н. апё Ко\уа18к1 К. ТЬе 8етапИс8 оГ ргеё1са1е 1о§1С а8 а рго§гаттт§ 1ап&иа§е, 1оигпа1 оГ 1Ье АСМ, уо1. 23, по 4, рр. 733-742, ос1оЪге 1976.
486 Литература 243. уап СеЫег А. №§аИоп а8 ГаНиге и8Ш§ Иф1 ёеггоиюш Гог §епе- га1 1о§1С рго§гат8, ш ]. Мткег (ёёкеиг), РоипёаИош оС Ое- ёисйуе Оа(аЬа8е8 апё Ьо§гс Рго§гаттт§, Мог§ап КаиГтапп, рр. 149-176, 1988. 244. УагсИ М. А Тетрога1 Р1хрот1 Са1си1ш, ш Ргос. 13Й1 АСМ 8утр. оп Ргшар1е$ оС Рго§гаттт§ Ьап§иа§е8, 8ап 01е§о, рр. 250-259, 1988. 245. УагсИ М. V., >Уо1рег Р. "Ап Аи1ота1а-ТЬеогеИс АрргоасЬ То Аи1отаИс Рго^гат УепГюаНоп", Ргос. 8утр. оп Ьо^гс ш Сотри- 1ег 8с1епсе, СатЪпё§е, 1ипе 1986, рр. 322-331. 246. УагсИ М. V. апё )Уо1рег Р. Кеа8отп§ аЬои( шйш(е сотри1а1юп ра1Ь8, 1ВМ КевеагсЬ КероП Ю 6209 (61199), 1988. 247. У1еШе Ь. Кесигауе ахютз ш ёеёисйуе сЫаЪазез: 1Ье (Зиегу/8иЪ- Яиегу арргоасЬ, т РгосеесНп§8 оГ 1Ье Р1Г811п1егпаИопа1 СопГегепсе оп ЕхреЛ Эа1аЪа8е 8у81ет8, рр. 253-267, Со1итЫа, 8С, 1986. 248. УУеугаисЬ К. Рго1е§отепа 1о а 1Ьеогу оС тесЬашхеё (огта1 геа8отп§, АгШ1с1а11п1еШ§епсе, уо1. 13, по 1-2, рр. 133-169, 1980. 249. )Уо1рег Р. 8уп1пе818 оГ СоттипюаИп§ Ргосе88в8 Ггот Тетрога1 Ьо§1С 8ресШсаИоп8, РЬЭ 1Ье818, 81апГогё ишуегвИу, 1982. 250. )Уо1рег Р. Тетрога1 Ьо§1С сап Ъе Моге Ехрге881Уе, 1пГогта1юп апё Сотри1а1юп, уо1. 56, по 1-2, рр. 72-99, 1983. 251. )Уо1рег Р., УагсИ М. е1 81811а А. Кеа8отп§ аЬои( 1пйт1е сотри1а1юп ра1Ьв,1п Ргос. 241Ь ШЕЕ Зутровшт оп РоипёаНот оГ Сотри1ег 8с1епсе, рр. 185-194, Тисвоп, 1983. 252. )Уеп-18ип >Уи Ва8Ю рппс1р1е8 оГ тесЬашса1 1Ьеогет ргоут§ ш е1етеп1агу §еоте1пе8, 5. Аи1ота1её Кеа8отп§, уо1. 2, по 3, рр. 221-252, 8ер1етЪге 1986. 253. УаЬуа А. апё НешсЬеп Ь. ]. ЭеёисИоп т поп-Нот ёа(аЪа8е8, X Аи1ота1её Кеа8отп& уо1. 1, рр. 141-160, 1985. 254. 2ас1еЬ Ь. РКОР-а теапт§ гергезеШаНоп 1ап§иа§е Гог па1ига1 1ап§иа§е, т Е. Матёаш апё В. Сатез (ёёкеигз), Ритгу Кеа80пт§ апё Не АррИсаИош, Асаёегшс Рге88, №\у Уогк, 1981. 255. Таёгохпу )У. А Шеогу оГ ёеГаик геавотп^, Ргос. ААА1-87, рр. 385-390, 1987.
ОГЛАВЛЕНИЕ Предисловие редактора перевода 5 Предисловие 7 1. Языки и логики 18 1.1. Логическое исследование языков 18 1.1.1. Введение 18 1.1.2. Естественные и формальные языки ... 19 1.1.3. Характеристики естественных языков . . 21 1.1.4. Характеристики формальных языков ... 23 1.1.5. Логическое исследование естественных языков 25 1.1.6. Логическая обработка формальных языков 28 1.1.7. Заключение 29 1.2. Модальная логика 30 1.2.1. Введение 30 1.2.2. Логика высказываний 30 1.2.3. Синтаксис и семантика модальной логики 34 1.2.4. Примеры и приложения 37 1.2.5. Бинарные отношения и схемы формул . . 41 1.2.6. Оценки и тавтологии 42 1.2.7. Логики 44 1.2.8. Аксиоматические системы 46 1.2.9. Мультимодальные языки 48 1.2.10. Временная логика 49 1.2.11. Динамическая логика 55 1.2.12. Логики веры и знания 57 1.2.13. Логика предикатов (первого порядка) . . 57 1.2.14. Модель логики первого порядка .... 61 1.2.15. Модальная логика предикатов .... 63
488 Оглавление 1.2.16. Модель и семантика модальной логики предикатов 67 1.2.17. Динамическая логика первого порядка . . 69 1.3. Примеры и приложения 71 1.3.1. Введение 71 1.3.2. Модальная логика и формализация веры 71 1.3.3. Логика предикатов и формализация рассуждений 75 1.3.4. Логика предикатов и математика .... 81 2. Интенсиональная логика и естественный язык ... 85 2.1. Логическое исследование естественных языков . . 85 2.1.1. Введение 85 2.1.2. Формальная семантика и естественный язык 86 2.1.3. Рекурсивная семантика Девидсона ... 88 2.1.4. Нововведения Монтегю 91 2.1.5. Подход, предложенный Монтегю .... 93 2.2. Типизированная экстенсиональная логика ... 95 2.2.1. Введение 95 2.2.2. Синтаксис и семантика языка высказываний 95 2.2.3. Абсолютная истина и истина в модели 99 2.2.4. Синтаксис и семантика логического языка первого порядка 102 2.2.5. Пример 106 2.2.6. Функциональное определение семантики 107 2.2.7. Типизированная форма языка &х . . . 111 2.2.8. Логический язык порядка выше 1 . . . 115 2.2.9. Ламбда-исчисление и язык ^1 . . . . 118 2.2.10. Ламбда-исчисление и язык 52, 120 2.2.11. Мультимодальный язык У?т 124 2.2.12. Пример 128 2.3. Интенсиональная логика 131 2.3.1. Введение 131 2.3.2. Смысл и денотат 131
Оглавление 489 2.3.3. Принцип композиции в контексте без денотата 132 2.3.4. Интенция и экстенция 134 2.3.5. Пример 135 2.3.6. Формализация интенции 136 2.3.7. Синтаксис интенсиональной логики ... 138 2.3.8. Интерпретация интенсиональной логики 140 2.3.9. Семантика интенсиональной логики . . 143 2.3.10. Краткое повторение интенсиональной логики 144 2.3.11. Наречие «необходимо», относящееся к фразе 150 2.3.12. Атрибутивные и предикативные прилагательные 151 2.3.13. Наведение единообразия в семантическом исследовании 155 3. Семантика Монтегю 157 3.1. Представление естественных языков 157 3.1.1. Введение 157 3.1.2. Программа Монтегю 158 3.1.3. Естественный и формальный языки . ... 160 3.1.4. Условия адекватности семантики .... 162 3.1.5. Формальная семантика естественного языка 165 3.1.6. Категориальная грамматика 168 3.1.7. Рекурсивная семантика 169 3.2. Грамматика Монтегю 172 3.2.1. Введение 172 3.2.2. Категориальная грамматика Монтегю . . 173 3.2.3. Синтаксис категориальной грамматики . . 176 3.2.4. Примеры 180 3.2.5. Введение в формализм перевода .... 186 3.2.6. Перевод базисных выражений 189 3.2.7. Перевод правил функционального воздействия 191 3.2.8. Критерий адекватности логики естественного языка 193 62-4465
490 Оглавление 3.2.9. Правила перевода артиклей 195 3.2.10. Дополнительные правила 196 3.2.11. Перевод экстенсиональных фраз .... 199 3.2.12. Перевод интенсиональных фраз .... 201 3.2.13. Постулаты осмысления 204 3.2.14. Пример постулата осмысления 206 3.2.15. Примеры перевода фраз, содержащих модальности 208 3.3. Заключение и дополнения 209 3.3.1. Трудности, присущие семантике Монтегю 209 3.3.2. Теория представления наборов фраз . . . 211 3.3.3. Семантика ситуаций 214 3.3.4. Булева семантика 217 3.3.5. Обобщенные грамматики структуры фразы 220 4. Временная логика 222 4.1. Линейная временная логика высказываний . . . 222 4.1.1. Введение 222 4.1.2. Синтаксис линейной временной логики . . 222 4.1.3. Семантика линейной временной логики . . 223 4.1.4. Примеры 227 4.1.5. Аксиоматизация 227 4.2. Временная логика и конечные автоматы .... 230 4.2.1. Конечные автоматы над бесконечными словами 231 4.2.2. ©-регулярные языки 235 4.2.3. От временной логики к автоматам Бюхи 241 4.2.4. Автомат Бюхи, ассоциированный с формулой 245 4.2.5. Построение локального автомата .... 247 4.2.6. Построение автомата фатальности . . . 249 4.2.7. Композиция двух автоматов 252 4.2.8. Автомат над алфавитом 2Р 254 4.2.9. Алгоритмические аспекты 255 4.2.10. Обобщенная временная логика 256 4.2.11. Определение обобщенной логики .... 258 4.2.12. Автоматы над конечными словами . . . 262 4.2.13. Заключение 263
Оглавление 491 4.3. Линейная временная логика предикатов .... 265 4.3.1. Введение 265 4.3.2. Синтаксис 265 4.3.3. Семантика 267 4.3.4. Аксиоматическая система 269 4.3.5. Временные теории первого порядка . . . 272 4.4. Приложения временной логики 272 4.4.1. Введение 272 4.4.2. Вводный пример 273 4.4.3. Моделирование программы 279 4.4.4. Пример: алгоритм Петерсона 282 4.4.5. Временная теория программы 284 4.4.6. Свойства программы 288 4.4.7. Свойства инвариантности алгоритма Петерсона 289 4.4.8. Правильность алгоритма Петерсона . . . 291 4.4.9. Верификация во временной логике высказываний 293 4.4.10. Моделирование программ с помощью конечных автоматов 295 4.4.11. Автоматы для процессов 297 4.4.12. Автоматы для переменных 299 4.4.13. Моделирование гипотезы правильности 301 4.4.14. Спецификация и верификация 302 4.5. Древовидная временная логика высказываний . . 304 4.5.1. Введение 304 4.5.2. Синтаксис 306 4.5.3. Семантика 307 4.5.4. Логика СТЬ 309 4.5.5. Применение к верификации программ . . . 311 5. Формализация модифицируемых рассуждений . . . 314 5.1. Введение 314 5.1.1. Модифицируемые рассуждения в искусственном интеллекте 314 5.1.2. Разновидности модифицируемых рассуждений 315 62*
492 Оглавление 5.1.3. Свойства немонотонных логик 317 5.1.4. Подходы, изложенные в [232] 318 5.1.5. Подходы через минимизацию 319 5.2. Логические рамки 321 5.2.1. Логический язык 321 5.2.2. Теория доказательств и семантический подход 323 5.2.3. Эрбрановские канонические модели . . . 325 5.2.4. Клаузальные формы 326 5.2.5. Различные подъязыки 327 5.3. Гипотеза замкнутого мира 331 5.3.1. Введение 331 5.3.2. Формальное определение 332 5.3.3. Свойства и ограничения 333 5.3.4. Дополнительные соглашения 336 5.3.5. Ограниченная гипотеза замкнутого мира 338 5.4. Пополнение предиката 339 5.4.1. Введение 339 5.4.2. Формальное определение 341 5.4.3. Пример 342 5.4.4. Свойства и ограничения 343 5.4.5. Гипотеза замкнутого мира и пополнение предиката 345 5.5. Специфические области применения 346 5.5.1. Применение в логическом программировании 346 5.5.2. Обобщение на дедуктивные базы данных 349 5.6. Очерчивание 353 5.6.1. Введение 353 5.6.2. Минимальные модели 354 5.6.3. Формальное определение 355 5.6.4. Пример 356 5.6.5. Свойства 358 5.7. Доказательства в избранных моделях 361 5.7.1. Введение 361
Оглавление 493 5.7.2. Избранные модели 362 5.7.3. Применение к немонотонным логикам . . 364 5.7.4. Возможные обобщения 367 5.7.5. Рациональность модифицируемого рассуждения 368 5.8. Заключение 374 6. Логика и базы данных 376 6.1. Введение 376 6.2. Реляционная модель 379 6.2.1. Значение реляционной модели 379 6.2.2. Основные реляционные понятия 380 6.2.3. Реляционная алгебра 386 6.2.4. Реляционный язык 389 6.2.5. Замечание по поводу запросов 392 6.2.6. От реляционного языка к реляционной алгебре 393 6.3. Логический подход к базам данных 396 6.3.1. Определение 396 6.3.2. Семантический подход 397 6.3.3. Аксиоматический подход 398 6.3.4. Соответствие между семантическим и аксиоматическим подходами 401 6.3.5. Резюме 404 6.4. Строгие дедуктивные базы данных 405 6.4.1. Введение 405 6.4.2. Дедуктивные базы данных 406 6.4.3. Семантический подход 410 6.4.4. Аксиоматический подход 412 6.4.5. Иерархические базы данных 414 6.4.6. Рекурсивные правила в строгих базах данных 419 6.5. Отрицание в дедуктивных базах данных .... 427 6.5.1. Введение 427 6.5.2. ГЗМ и дедуктивные базы данных .... 429 6.5.3. Обобщенная гипотеза замкнутого мира . . 433
6.5.4. Стратифицированные базы данных 439 6.6. Неполная информация 447 6.6.1. Введение 447 6.6.2. Синтексис... 450 6.6.3. Семантический подход 452 6.6.4. Оценка запросов при семантическом подходе 456 6.6.5. Аксиоматический подход 460 6.6.6. Выполнение запросов при аксиоматическом подходе : 462 6.6.7. Сравнение семантического и аксиоматического подходов 466 6.6.8. Другой метод выполнения запросов 467 6.7. Заключение 468 Литература 471 Научное издание Андре Тейз, Паскаль Грибомон, Ги Юлен и др. ЛОГИЧЕСКИЙ ПОДХОД К ИСКУССТВЕННОМУ ИНТЕЛЛЕКТУ: ОТ МОДАЛЬНОЙ ЛОГИКИ К ЛОГИКЕ БАЗ ДАННЫХ Заведующий редакцией академик В.И. Арнольд Зам. зав. редакцией А.С. Попов Ведущий редактор А.А. Бряндинская Редактор Т.А. Денисова Художник В.С. Потапов Художественный редактор В.И. Шаповалов Технический редактор ТА Максимова Корректор В.И. Киселева Лицензия Л.Р. № 010174 от 20 мая 1997 г. Сдано в набор 9.08.93. Подписано к печати 17.01.98. Формат 84 х Юв^зг- Бумага офсетная. Печать офсетная. Гарнитура тайме. Объем 7,75 бум. л. Усл. печ. л. 26,04. Усл. кр.-отт. 26,17. Уч.-изд. л. 25,21. Изд. № 1/8217. Тираж 1000 экз. Зак. 4465 С 013. Издательство «Мир» Комитета Российской Федерации по печати. 129820, ГСП, Москва, И-110, 1-й Рижский пер., 2. Отпечатано с готовых диапозитивов в производственно-издательском комбинате ВИНИТИ 140010, г. Люберцы, Московской обл., Октябрьский пр-т, 403. Тел. 554-21-86