Указатели для CS приложений логики

17

Я аспирант по математике с твердым опытом в логике. Я прошел годичный курс для выпускников по логике вместе с курсами для выпускников по теории конечных моделей и другим курсам по принуждению и теории множеств. Большинство текстов CS, кажется, предполагают только очень скромный фон в логике, который в основном охватывает основы логики высказываний и логики первого порядка.

Я хотел бы получить некоторые подсказки о том, куда идти для приложений CS, где используется более тяжелый материал из логики. Одним из моих интересов будет теория типов и формальные методы в целом. Кто-нибудь может предложить несколько хороших чтений после вводных книг по проверке моделей и языкам программирования?

evf
источник
Я сделал это CW, так как список очень длинный. Достаточно взглянуть на 11 томов «Справочника по логике в области компьютерных наук» и «Справочника по логике в области ИИ».
Каве
Хорошей точкой для начала является следующая статья: - Сэмюэль Р. Бусс, Александр А. Кечрис, Ананд Пиллэй и Ричард А. Шор, « Перспективы математической логики в XXI веке », 2001. В частности, раздел Сэм Бусс.
Каве
Этот вопрос может быть расширен, и ответы будут равномерно структурированы, так что эта страница в конечном итоге станет полезным исходным ресурсом по вычислительной логике. Пожалуйста, присоединяйтесь к обсуждению на мета.
Виджай Д

Ответы:

15

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

Теория конечных моделей

Самым простым ограничением классической теории моделей с точки зрения информатики является изучение структур над конечной вселенной. Эти структуры встречаются в форме реляционных баз данных, графов и других комбинаторных объектов, возникающих повсюду в компьютерной науке. Первое наблюдение состоит в том, что некоторые фундаментальные теоремы теории моделей первого порядка терпят неудачу, когда ограничиваются конечными моделями. К ним относятся теорема компактности, теорема полноты Годеля и ультрапроизведенные конструкции. Трахтенброт показал, что в отличие от классической логики первого порядка выполнимость над конечными моделями неразрешима.

Основными инструментами в этой области являются местность Ханф, местность Гайфмана и многочисленные вариации игр Эренфойхта-Фрейсса. Изучаемые темы включают бесконечную логику, логику со счетом, логику с фиксированной точкой и т. Д., Всегда с упором на конечные модели. Существует работа, сфокусированная на выразительности во фрагментах с конечными переменными логики первого порядка, и эти логики имеют характеристики в играх с галькой. Другое направление исследований - выявить свойства классических логик, которые выдерживают ограничение на конечные модели. Недавний результат Россмана в этом направлении показывает, что некоторые теоремы о сохранении гомоморфизма все еще сохраняются над конечными моделями.

  1. Теория конечных моделей , Эббингхаус и Флум
  2. Элементы теории конечных моделей , Либкин
  3. О выигрышных стратегиях в играх Ehrenfeucht-Fraisse , Arora и Fagin, 1997.
  4. Теоремы сохранения гомоморфизма , Россман

μ

μμμ

μμμμμ

  1. μ
  2. μ
  3. μ
  4. μ
  5. Модальная иерархия мю-исчисления строгая , Брэдфилд, 1996
  6. Строгая иерархия мю-исчисления , Бервангер, Э. Гредель и Г. Лензи, 2005

Линейная временная логика

Линейная временная логика была перенята из философской логики в информатику для рассуждений о поведении компьютерных программ. Это считалось хорошей логикой, поскольку оно могло выражать такие свойства, как неизменность (отсутствие ошибок) и завершение. Теория доказательств временной логики была развита Манной и Пнуэли (и другими позже) в их статьях и книгах. Проверка модели и проблема выполнимости для LTL могут быть решены в терминах автоматов над бесконечными словами.

Pnueli также доказал фундаментальные результаты о LTL в своей оригинальной статье, вводя логику рассуждений о программах. Варди и Вулпер дали гораздо более простую компиляцию формул LTL в автоматы Бучи. Связь с временной логикой привела к интенсивному изучению алгоритмов для эффективного извлечения автоматов из LTL, а также для определения и дополнения автоматов Бучи. Теорема Кэмпа показывает, что LTL с тех пор и доωμμ

  1. Временная логика программ , Pnueli 1977
  2. От церкви и до PSL , Варди, 2008
  3. Автоматно-теоретический подход к линейной темпоральной логике , Варди и Вольпер, 1986
  4. Временная логика реактивных и параллельных систем: спецификация , манна и пнуэли
  5. Иерархия До и другие применения игры Эренфойхта-Фрайссе для временной логики , Etessami and Wilke, 2000

Логика вычислительного дерева

μ

Задача проверки модели для CTL над конечными структурами находится за полиномиальное время. Задача проверки модели для CTL * завершена. Аксиоматизация CTL * была сложной открытой проблемой, которая была окончательно решена Рейнольдсом 2001. Аналог теоремы ван Бентема для модальной логики и теоремы Кэмпа для LTL дан для CTL * по теореме Хефера и Томаса, показывающей, что CTL * соответствует фрагмент монадической логики второго порядка над двоичными деревьями. Более поздняя характеристика Хиршфельдом и Рабиновичем заключается в том, что CTL * явно эквивалентен бизимуляционно-инвариантному фрагменту MSO с количественным определением пути.

  1. «Иногда» и «не никогда» вновь: временная логика ветвления и линейного времени , Эмерсон и Халперн, 1986
  2. О выразительной силе ЦТЛ , Моллер, Рабинович, 1999
  3. Логическое дерево вычислений CTL * и кванторы путей в монадической теории двоичного дерева , Хейфер и Томас, 1987
  4. Аксиоматизация полной логики дерева вычислений , Рейнольдс, 2001

Языки бесконечных слов

Связь с LTL и необходимость моделирования бесконечного поведения привели к интенсивному изучению ω

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

  1. Бесконечные слова: автоматы, полугруппы, логика и игры , Перрин и Пин, 2004
  2. ω , Staiger, 1997
  3. ω , Bojanczyk, 2010
  4. О синтаксических конгруэнциях для ω-языков , Малер и Стайгер, 1993

Автоматы на бесконечные слова

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

ω

  1. Разрешимость теорий и автоматов второго порядка на бесконечных деревьях , Рабин, 1969
  2. Автоматы на бесконечных объектах , Томас, 1988
  3. Автоматы: от логики к алгоритмам , Варди, 2007

Бесконечные игры

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

Как и в случае с критериями приемлемости автоматов, у нас разные условия выигрыша для игр, и многие из них могут быть эквивалентны. Поскольку вы спрашивали о классических результатах, теорема детерминированности Бореля и игры Гейла-Стюарта часто незаметно лежат в основе нескольких игровых моделей, которые мы изучаем. Одним из актуальных вопросов нашего времени был вопрос о сложности решения паритетных игр. Юрдзински дал алгоритм улучшения стратегии и показал, что определение победителя находится на пересечении классов сложности UP и coUP. Точная сложность алгоритма Юрдзинского была открыта до тех пор, пока Фридман не дал ему нижнюю границу экспоненциального времени в 2009 году.

  1. Определение победителя в паритетных играх в UP ∩ co-UP , Jurdzinski, 1998
  2. Игры для μ-исчисления , Niwinski и Walukiewicz, 1996
  3. Экспоненциальная нижняя граница для алгоритма улучшения стратегии паритетной игры в том виде, в каком мы его знаем , Фридман, 2009
Виджай Д
источник
10

Эдмунд М. Кларк, Орна Грумберг, Дорон А. Пелед: Проверка модели . MIT Press 1999, хорошая книга (для меня) по проверке моделей.

Глинн Винскель: Формальная семантика языков программирования: введение . MIT Press 1994, является одним из стандартных учебников по языкам программирования.

Мордехай Бен-Ари: Математическая логика для информатики . Springer 2001, возможно, то, что вы ищете.

Vb le
источник
7

Теория баз данных - это обширное поле, обеспечивающее множество применений логики. Описательная сложность и теория конечных моделей - тесно связанные области. Насколько я могу судить, все эти области имеют тенденцию использовать алгебраические стили логики (следуя по стопам Биркгофа и Тарского), а не теорию доказательств. Тем не менее, некоторые работы Питера Бунемана , Леонида Либкина , Вэньфея Фана , Сьюзен Дэвидсон , Лимсуна Вонга , Ацуши Охори и других исследователей, которые работали в UPenn в 1980-х-90-х годах, действительно стремились объединить теорию языка программирования и базы данных. Кажется, для этого нужно быть уверенным в обоих стилях логики. То же самое касается более поздней работы Джеймса Чейни.иФилип Уодлер .

Что касается конкретных ссылок, стандартный учебник доступен онлайн для удобной ссылки:

  • Серж Абитебул, Ричард Халл, Виктор Виану. Основы баз данных , 1995 г. http://webdam.inria.fr/Alice/

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

  • Ян Ван ден Буссе, Применение идей Альфреда Тарского в теории баз данных , CSL 2001. doi: 10.1007 / 3-540-44802-0_2

показывает, как соединить точки между Tarski и определенным подполем, базами данных ограничений. Во-вторых,

выдвигает теорию баз данных (в стиле 1996 года) на теоретиков конечных моделей и в процессе выдвигает на первый план много интересных приложений логики в базах данных. Для более поздних работ (таких как теория XML, провенанс, потоковые модели или графовые базы данных) чтение цитируемых исследовательских работ является разумным подходом.

Андраш Саламон
источник
6

Майкл Хут и Марк Райан: логика в информатике , издательство Кембриджского университета, 2004.

Я рекомендую эту книгу как общее введение о том, как логика играет роль в информатике.

Андрей Бауэр
источник
4

Ключевое использование логики в CS - логика программы, также называемая логикой Хоара.

2(π17)

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

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

В работе Т. Хоара « Аксиоматическая основа компьютерного программирования » часто рассматривается как основательная основа для изучения логики программы, она проста для чтения и, вероятно, является хорошим способом начать рискованное дело. Эта же логика более подробно изучена в книге Винскеля «Формальная семантика языков программирования», упоминаемой @vb le.

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

Недавний и современный текст, который вводит программную логику с теоретико-типовым оттенком, - Software Foundations от Pierce et al. Это приведет вас прямо к (а) передовым исследованиям в области верификации программ и, как учебник, вероятно, даст представление о том, как будут преподаваться информатика и математика в будущем.

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

Мартин Бергер
источник
3

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

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

Вот цитата Джона Баеза о логике и информатике. Я не придерживаюсь абсолютно той же точки зрения, потому что я не очень знаком с продвинутой математической логикой.

Когда я был студентом, я был весьма заинтересован в логике и основах математики - я всегда искал самые умопомрачительные концепции, которые я мог достать, и теорема Гёделя, теорема Лёвенхайма-Сколема и т. Д. прямо там с квантовой механикой и общей теорией относительности, насколько мне было интересно. [...] Я помню чувство в то время, что логика стала менее революционной, чем в начале века. Мне казалось, что логика, как и любая другая, стала разделом математики, изучая непонятные свойства моделей аксиом Цермело-Френкеля, вместо того, чтобы подвергать сомнению основные предположения, заложенные в этих аксиомах, и осмеливаться искать новые, разные подходы. [...]

Во всяком случае, теперь мне совершенно ясно, что я просто не читал нужные вещи. Я думаю, что Рота сказал, что действительно интересная работа в области логики теперь называется «информатика», [...] - Неделя 40, На этой неделе, Джон Баез

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

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

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

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

Обзорная статья

О необычной эффективности логики в информатике

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

  1. Теория конечных моделей
  2. Доказательство сложности
  3. Алгоритмический вывод (процедуры принятия решений для логических теорий)
  4. Логика программ
  5. Динамическая логика
  6. Линейная темпоральная логика и ее варианты
  7. Вычислительная древовидная логика и ее варианты
  8. Эпистемическая логика
  9. Теория баз данных
  10. Теория типов
  11. Автоматы над бесконечными словами
  12. Категориальная логика
  13. Теория параллелизма и алгебра процессов
  14. Теория предметной области
  15. Линейная логика
  16. Описательная сложность
  17. Проверка модели
  18. Исчисление с фиксированной точкой и логика транзитивного замыкания
Виджай Д
источник
1

область сильного совпадения между логикой и информатикой - автоматическое доказательство теорем , например [4]. также, например, ссылка [1] - это использование средства доказательства теорем Бойера-Мура для проверки / проверки теоремы Годельса. другой недавний крупный / впечатляющий результат - недавнее завершение программной проверки теоремы о четырех цветах (и других, таких как Odd Order и Feit-Thompson [3]) в исследовании Microsoft Gonthier [2].

[1] Метаматематика, машины и доказательство Гёделя (Кембриджские трактаты в теоретической информатике Шанкара

[2] Проверенное компьютером доказательство теоремы о четырех цветах Жоржа Гонтье

[3] Интересные алгоритмы в формализации теоремы Фейт-Томпсона? tcs.se

[4] Где и как компьютеры помогли доказать теорему? tcs.se

оборота взн
источник