Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Динамическая логика - это расширение модальной логики, изначально предназначенной для рассуждений о компьютерных программах, а затем примененной к более общим сложным формам поведения, возникающим в лингвистике , философии , искусственном интеллекте и других областях.

Язык [ править ]

Модальная логика характеризуется модальными операторами (рамка p), утверждающими, что это обязательно так, и (ромб p), утверждающими, что , возможно, так. Динамическая логика расширяет это, связывая с каждым действием модальные операторы и тем самым делая его мультимодальной логикой . Смысл в том, что после совершения действия обязательно имеет место, то есть должно произойти . Смысл в том, что после выполнения возможно, что удержание, то есть может вызвать . Эти операторы связаны между собой и, аналогично соотношению между кванторами универсального ( ) и экзистенциального ( ).

Динамическая логика позволяет создавать сложные действия из более мелких. В то время как основные операторы управления любого языка программирования можно были бы использовать для этой цели, Клини «s регулярные выражения операторы хорошо соответствуют модальной логике. Данные действия и , составное действие , выбор , также записанное или , выполняется путем выполнения одного из или . Сложное действие , последовательность , выполняется сначала, а затем . Составное действие , итерация , выполняется путем последовательного выполнения нуля или более раз. Постоянное действие илиBLOCK ничего не делает и не завершается, тогда как постоянное действие или SKIP или NOP , определяемое как , ничего не делает, а завершается.

Аксиомы [ править ]

Эти операторы могут быть аксиоматизированы в динамической логике следующим образом, принимая как уже заданную подходящую аксиоматизацию модальной логики, включая такие аксиомы для модальных операторов, как упомянутая выше аксиома и два правила вывода: modus ponens ( и подразумевает ) и необходимость ( подразумевает ).

А1.

A2.

A3.

A4.

А5.

А6.

Аксиома A1 дает пустое обещание, что после завершения BLOCK будет выполнено, даже если предложение является ложным . (Таким образом, BLOCK абстрагирует сущность действия замораживания ада.) A2 говорит, что NOP действует как функция тождества в предложениях, то есть он трансформируется в себя. A3 говорит, что если выполнение одного из или должно вызывать , то должно вызывать и то же самое , и наоборот. A4 говорит, что если действие и затем должно вызвать , то должно вызвать ситуацию, в которой должно произойти .



А5 является очевидным результатом применения А2, А3 и А4 к уравнению из клиниевской алгебры . А6 утверждает, что если выполняется сейчас, и независимо от того, как часто мы выполняем, остается таковым, что истинность после этого выполнения влечет за собой его истинность после еще одного выполнения , то должно оставаться верным независимо от того, как часто мы выполняем . A6 можно распознать как математическую индукцию с действием n: = n + 1 увеличения n, обобщенного на произвольные действия .

Производные [ править ]

Аксиома модальной логики позволяет вывести следующие шесть теорем, соответствующих вышеизложенному:

Т1.

Т2.

Т3.

Т4.

Т5.

Т6.

T1 заявляет о невозможности чего-либо добиться, выполняя BLOCK .
T2 снова отмечает, что NOP ничего не меняет, имея в виду, что NOP и детерминирован, и завершается откуда и имеет одинаковую силу. T3 говорит, что если выбор или может привести , то либо либо, либо в одиночку, может привести . Т4 такой же, как А4. T5 объясняется как для A5. T6 утверждает, что если можно добиться , выполняя достаточно часто, то либо верно сейчас, либо можно выполнять неоднократно, чтобы вызвать ситуацию, когда



(все еще) ложно, но может произойти еще одно исполнение .

Коробка и ромб полностью симметричны по отношению к примитиву. Альтернативной аксиоматизацией было бы принять теоремы T1-T6 в качестве аксиом, из которых мы могли бы затем вывести A1-A6 в качестве теорем.

Разница между импликацией и умозаключением в динамической логике такая же, как и в любой другой логике: тогда как импликация утверждает, что если истинно, то так и есть , а умозаключение утверждает, что если действительно, то так и есть . Однако динамический характер динамической логики перемещает это различие из области абстрактной аксиоматики в обыденный опыт постоянно меняющихся ситуаций. Правило вывода , например, является правильным, потому что его предпосылка утверждает, что оно выполняется всегда, откуда бы мы ни вели нас, там будет истинным. Однако импликация недействительна, потому что истинность в настоящий момент не является гарантией ее истинности после выполнения. Например, будет истинным в любой ситуации, когда ложно, или в любой ситуации, когда истинно, но утверждение ложно в любой ситуации, когда имеет значение 1 и, следовательно, недействительно.

Производные правила вывода [ править ]

Что касается модальной логики, то правила вывода modus ponens и необходимости также достаточны для динамической логики как единственные необходимые ей примитивные правила, как отмечалось выше. Однако, как обычно в логике, с помощью аксиом из них можно вывести гораздо больше правил. Примером такого производного правила в динамической логике является то, что если один раз ударить сломанный телевизор ногой невозможно, то его нельзя исправить, то неоднократные удары ногой тоже не могут его исправить. Написание для действия удара ногой по телевизору и для утверждения о том, что телевизор сломан, динамическая логика выражает этот вывод как , имея как предпосылку, так и заключение . Смысл в том, что гарантировано, что после удара по телевизору он сломается. Отсюда посылкаозначает, что если телевизор сломается, то после одного удара ногой он все равно сломается. обозначает действие удара ногой по телевизору ноль или более раз. Отсюда следует вывод, что если телевизор сломан, то после ноль или более ударов ногами он все равно сломается. Ведь если нет, то после предпоследнего удара телевизор окажется в состоянии, когда повторный удар по нему все исправит, что, как утверждает предпосылка, не может произойти ни при каких обстоятельствах.

Вывод верен. Однако импликация неверна, потому что мы можем легко найти ситуации, в которых выполняется, но не выполняется. В любой такой контрпримерной ситуации должно выполняться, но должно быть ложным, но должно быть истинным. Но это могло произойти в любой ситуации, когда телевизор сломался, но его можно оживить двумя ударами. Импликация терпит неудачу (недействительна), потому что она требует этого удержания только сейчас, тогда как вывод успешен (является правильным), потому что он требует этого удержания во всех ситуациях, а не только в текущей.

Пример правильного импликации - это предложение . Это говорит о том, что , если больше или равно 3, то после увеличения , должно быть больше или равно 4. В случае детерминированных действий , которые гарантированно прекратить, например , сусло и может иметь ту же силу, что есть, и имеют то же значение. Таким образом, выше предположение эквивалентно утверждать , что , если больше или равно 3 , то после выполнения , может быть больше или равно 4.

Назначение [ править ]

Общая форма оператора присваивания - это где - переменная, а это выражение, построенное из констант и переменных с любыми операциями, предоставляемыми языком, такими как сложение и умножение. Аксиома Хоара для присваивания не дана как отдельная аксиома, а скорее как схема аксиом.

А7.

Это схема в том смысле, что ее можно создать с помощью любой формулы, содержащей ноль или более экземпляров переменной . Значение заключается в тех вхождениях, которые встречаются свободно в , т. Е. Не связаны каким-либо квантификатором, например , заменяется на . Например, мы можем создать экземпляр A7 с помощью или с помощью . Такая схема аксиом позволяет записать бесконечное количество аксиом, имеющих общую форму, в виде конечного выражения, обозначающего эту форму.

Экземпляр А7 позволяет рассчитать механически , что пример встречается несколько абзацев назад эквивалентно , в свою очередь , эквивалентно по элементарной алгебре .

Примером, иллюстрирующим назначение в сочетании с, является предложение . Это утверждает, что можно путем достаточно частого приращения сделать равным 7. Это, конечно, не всегда верно, например, если 8 для начала или 6.5, поэтому это утверждение не является теоремой динамической логики. Однако если имеет целочисленный тип, то это утверждение верно тогда и только тогда, когда для начала не более 7, то есть это просто окольный способ выражения .

Математическая индукция может быть получена как пример A6, в котором предложение реализуется как , действие as и as . Первые два из этих трех экземпляров просты и преобразуют A6 в . Однако якобы простая замена for не так проста, поскольку она выявляет так называемую ссылочную непрозрачность модальной логики в том случае, когда модальность может мешать замене.

Когда мы заменили на , мы думали о символе пропозиции в качестве жесткого целеуказателя по отношению к модальности , а это означает , что одно и то же предложение после приращения , как и раньше, несмотря на то, увеличивающиеся может повлиять на его истинность. Точно так же действие остается тем же действием после увеличения , даже если увеличение приведет к его выполнению в другой среде. Однако сам по себе не является жестким обозначением в отношении модальности ; если он обозначает 3 до увеличения , это означает 4 после. Таким образом , мы не можем просто заменить на повсюду в A6.

Один из способов справиться с непрозрачностью модальностей - устранить их. С этой целью расширить как бесконечное вместе , то есть, в сочетании над всеми из . Теперь примените A4, чтобы превратить в , имея модальности. Затем примените к нему время аксиомы Хоара, чтобы получить , а затем упростите это бесконечное соединение до . Все это сокращение должно применяться к обоим экземплярам в A6, уступая . Оставшаяся модальность теперь может быть устранена еще одним использованием аксиомы Хоара .

С непрозрачных модальностей теперь из пути, можно смело заменить на в обычной манере логики первого порядка , чтобы получить Пеано знаменитую аксиому «s , а именно математической индукции.

Одна тонкость, которую мы здесь упустили, заключается в том, что ее следует понимать как переход по натуральным числам, где - верхний индекс в разложении как объединение всех натуральных чисел . Важность сохранения этой типизированной информации становится очевидной, если бы она была целочисленной или даже реальной , для любого из которых A6 совершенно справедливо в качестве аксиомы. В качестве примера, если - действительная переменная, а предикат - натуральное число , то аксиома A6 после первых двух замен, то есть, так же действительна, то есть истинна в каждом состоянии независимо от значения в том состоянии, как когда он типа натуральное число . Если в данном состоянии находится натуральное число, то антецедент основного импликации A6 выполняется, но тогда также является натуральным числом, так что консеквент также имеет место. Если не является натуральным числом, то антецедент ложен, и поэтому A6 остается верным независимо от истинности консеквента. Мы могли бы усилить A6 до эквивалентности, не влияя ни на что из этого. Другое направление доказуемо из A5, из которого мы видим, что если антецедент A6 действительно где-то ложен, то консеквент должен быть ложным.

Тест [ править ]

Динамическая логика связывает каждое предложение с действием, называемым тестом. Когда удерживается, тест действует как NOP , ничего не меняя, позволяя действию продолжить. Когда ложно, действует как БЛОК . Аксиоматизировать тесты можно следующим образом.

А8.

Соответствующая теорема для :

Т8.

Конструкция if p then a else b реализуется в динамической логике как . Это действие выражает защищенный выбор: если hold, то эквивалентно , тогда как эквивалентно BLOCK и эквивалентно . Следовательно, когда истинно, исполнитель действия может взять только левую ветвь, а когда ложно - правую.

Конструкция while p do a реализуется как . Это выполняется ноль или более раз, а затем выполняется . Пока остается истинным, в конце блокирует исполнитель от преждевременного завершения итерации, но как только оно становится ложным, дальнейшие итерации тела блокируются, и исполнитель не имеет другого выбора, кроме как выйти через тест .

Количественная оценка как случайное присвоение [ править ]

Оператор случайного присвоения обозначает недетерминированное действие установки произвольного значения. затем говорит, что сохраняется независимо от того, что вы устанавливаете , а говорит, что можно установить значение, которое делает истинным. таким образом, имеет то же значение, что и универсальный квантор , и аналогично соответствует экзистенциальному квантору . То есть логику первого порядка можно понимать как динамическую логику программ формы .

Дейкстра утверждал, что продемонстрировал невозможность программы, которая устанавливает значение переменной x в произвольное положительное целое число. [1] Однако в динамической логике с присваиванием и оператором *, x может быть установлено в произвольное положительное целое число с помощью программы динамической логики : следовательно, мы должны либо отклонить аргумент Дейкстры, либо признать, что оператор * неэффективен.

Семантика возможного мира [ править ]

Модальная логика обычно интерпретируется с точки зрения возможного мира.семантика или структуры Крипке. Эта семантика естественным образом переносится в динамическую логику, интерпретируя миры как состояния компьютера в приложении для проверки программы или состояния нашей среды в приложениях к лингвистике, искусственному интеллекту и т. Д. Одна из ролей возможной семантики мира - формализовать интуитивные понятия истина и обоснованность, которые, в свою очередь, позволяют определить понятия разумности и полноты для систем аксиом. Правило вывода является правильным, когда действительность его посылок подразумевает обоснованность его вывода. Система аксиом является правильной, когда все ее аксиомы верны и правила вывода верны. Система аксиом считается полной, когда каждая действительная формула выводится как теорема этой системы. Эти концепции применимы ко всем системам логики, включая динамическую логику.

Пропозициональная динамическая логика (PDL) [ править ]

Обычная логика или логика первого порядка имеет два типа терминов, соответственно, утверждения и данные. Как видно из приведенных выше примеров, динамическая логика добавляет третий тип терминов, обозначающих действия. Динамическая логика утверждение содержит все три типа: , , и является данные, это действие, и и является утверждение. Логика высказываний выводится из логики первого порядка путем исключения терминов данных и аргументов только об абстрактных предложениях, которые могут быть простыми пропозициональными переменными или атомами, или составными предложениями, построенными с такими логическими связками, как и , или , и not .

Пропозициональная динамическая логика, или PDL, была выведена из динамической логики в 1977 году Майклом Дж. Фишером и Ричардом Ладнером. PDL сочетает идеи, лежащие в основе логики высказываний и динамической логики, добавляя действия, опуская данные; следовательно, термины PDL - это действия и предложения. Приведенный выше пример TV выражен в PDL, тогда как следующий пример с участием - в DL первого порядка. PDL относится к динамической логике (первого порядка) так же, как логика высказываний относится к логике первого порядка.

Фишер и Ладнер показали в своей статье 1977 года, что выполнимость PDL имела вычислительную сложность в большинстве случаев с недетерминированным экспоненциальным временем и, по крайней мере, с детерминированным экспоненциальным временем в худшем случае. Этот пробел был закрыт в 1978 году Воаном Праттом, который показал, что PDL разрешима за детерминированное экспоненциальное время. В 1977 году Кристер Сегерберг предложил полную аксиоматизацию PDL, а именно любую полную аксиоматизацию модальной логики K вместе с аксиомами A1-A6, как указано выше. Полнота доказательства для аксиом Segerberg были найдены Gabbay (неопубликованное примечание), Парикх (1978), Pratt (1979), и Кодзэн и Парикх (1981).

История [ править ]

Динамическая логика была разработана Воганом Праттом в 1974 году в заметках для класса по верификации программ как подход к приданию значения логике Хоара путем выражения формулы Хора как . Позже этот подход был опубликован в 1976 году как самостоятельная логическая система . Эта система параллельна системе алгоритмической логики Анджея Салвицкого [2] и концепции преобразователя предикатов с самым слабым предварительным условием Эдсжея Дейкстры , соответствующей системе Дейкстры., самая слабая либеральная предпосылка. Однако эта логика не связана ни с модальной логикой, ни с семантикой Крипке, ни с регулярными выражениями, ни с исчислением бинарных отношений; поэтому динамическую логику можно рассматривать как уточнение алгоритмической логики и преобразователей предикатов, которое связывает их с аксиоматикой и семантикой Крипке модальной логики, а также с исчислениями бинарных отношений и регулярных выражений.

Проблема параллелизма [ править ]

Логика Хоара, алгоритмическая логика, слабейшие предварительные условия и динамическая логика - все они хорошо подходят для рассуждений и рассуждений о последовательном поведении. Однако распространение этой логики на параллельное поведение оказалось проблематичным. Существуют различные подходы, но всем им не хватает элегантности последовательного случая. Напротив, система темпоральной логики Амира Пнуэли 1977 г., другой вариант модальной логики, имеющий много общих черт с динамической логикой, отличается от всех вышеупомянутых логик тем, что Пнуэли охарактеризовал как «эндогенную» логику, а остальные - «экзогенные» логики. Под этим Пнуэли имел в виду, что утверждения временной логики интерпретируются в рамках универсальной поведенческой структуры, в которой одна глобальная ситуация изменяется с течением времени, тогда как утверждения других логик производятся извне по отношению к множеству действий, о которых они говорят. Преимущество эндогенного подхода состоит в том, что он не делает никаких фундаментальных предположений о том, что вызывает то, что окружающая среда изменяется со временем. Вместо этого временная логическая формула может говорить о двух несвязанных частях системы, которые, поскольку они не связаны между собой, неявно развиваются параллельно.По сути, обычное логическое соединение темпоральных утверждений является параллельным оператором композиции темпоральной логики. Простота этого подхода к параллелизму привела к тому, что темпоральная логика стала модальной логикой выбора для рассуждений о параллельных системах с ее аспектами синхронизации, интерференции, независимости, взаимоблокировки, динамической блокировки, справедливости и т. Д.

Эти проблемы параллелизма кажутся менее важными для лингвистики, философии и искусственного интеллекта, областей, в которых динамическая логика наиболее часто встречается в настоящее время.

Подробное описание динамической логики см. В книге Дэвида Харела и др. цитируется ниже.

См. Также [ править ]

  • Временная логика
  • Временная логика в проверке с конечным числом состояний
  • Временная логика действий
  • Модальное μ-исчисление

Сноски [ править ]

  1. Перейти ↑ Dijkstra, EW (1976). Дисциплина программирования . Энглвудские скалы: Prentice-Hall Inc.,  стр.221 . ISBN 013215871X.
  2. ^ Mirkowska, Grayna; Сальвицкий А. (1987). Алгоритмическая логика (PDF) . Варшава и Бостон: PWN & D. Reidel Publ. п. 372. ISBN.  8301068590.

Ссылки [ править ]

  • Воан Пратт , "Семантические соображения по логике Флойда-Хора", Proc. 17-й ежегодный симпозиум IEEE по основам компьютерных наук, 1976, 109–121.
  • Давид Харел , Декстер Козен и Ежи Тюрин , «Динамическая логика». MIT Press, 2000 (450 стр.).
  • Дэвид Харел , «Динамическая логика», Д. Габбей и Ф. Гентнер, редакторы, Справочник по философской логике, том II: Расширения классической логики, глава 10, страницы 497-604. Рейдел, Дордрехт, 1984.
  • Дэвид Харел , Декстер Козен и Ежи Тюрин , «Динамическая логика», Д. Габбай и Ф. Гентнер, редакторы, Справочник по философской логике, том 4: страницы 99–217. Kluwer, 2-е издание, 2002 г.

Внешние ссылки [ править ]

  • Семантические соображения по логике Флойда-Хора (оригинальная статья по динамической логике)