Математическая логика (318, 319/2, 241, 242) — различия между версиями

Материал из Кафедра математической кибернетики
Перейти к: навигация, поиск
(не показаны 28 промежуточные версии 1 участника)
Строка 1: Строка 1:
Обязательный курс для студентов 318 группы 6 семестра обучения, ''а также для студентов 241 и 242 групп (Математическая логика и теория алгоритмов)''. Курс читает [[Подымов Владислав Васильевич|В. В. Подымов]].
+
Обязательный курс для студентов групп 318 и 319/2, ''а также 241 и 242 (Математическая логика и теория алгоритмов)''. Курс читает [[Подымов Владислав Васильевич|В. В. Подымов]].
  
 +
Актуальность информации: весенний семестр 2020/2021 учебного года.
 +
 +
<!--
 
'''Объявления'''
 
'''Объявления'''
  
''В этом разделе будут выкладываться объявления о текущих изменениях в курсе и на странице курса''
+
''В этом разделе будут выкладываться объявления об изменениях на странице курса''
  
* 2020.06.28 23:53 Обновлена информация о принятых решениях бонусных задач
+
* 2021.02.04 16:00 Страница курса подготовлена к весеннему семестру 2020/2021 учебного года
* 2020.05.24 19:09 Появилась последняя бонусная задача (14)
+
-->
* 2020.05.24 19:04 Выложены слайды последней лекции (17)
+
* 2020.05.08 11:46 Обновлены правила проведения экзамена и зачёта
+
* 2020.05.03 22:05 Обновлены материалы семинара 5
+
* 2020.04.17 15:50 Статистика предоставленных решений бонусных задач переехала из подразделов 6.1, 6.2, ... в единую таблицу в разделе 6
+
* 2020.02.10 13:05 Страница подготовлена к началу весеннего семестра 2019/2020 учебного года
+
  
 
= Слайды лекций =
 
= Слайды лекций =
Строка 17: Строка 15:
 
''Слайды будут выкладываться по мере проведения занятий''
 
''Слайды будут выкладываться по мере проведения занятий''
  
'''[[Media: Mathlog_318_lecture_1.pdf|Лекция 1]]''' (вводная). Что такое логика? Содержание лекций. История логики. Логические парадоксы.
+
'''[[Media: Mathlog_318_b1.pdf|Блок 1]]''' (вводный). Что такое логика. Содержание лекций. Несколько логических парадоксов.
  
'''[[Media: Mathlog_318_lecture_2.pdf|Лекция 2.]]''' Логика высказываний: синтаксис, семантика, выполнимость, общезначимость. Метод семантических таблиц в логике высказываний.
+
'''[[Media: Mathlog_318_b2.pdf|Блок 2]]'''. Логика высказываний: синтаксис, семантика, выполнимость, общезначимость.
  
'''[[Media: Mathlog_318_lecture_3.pdf|Лекция 3.]]''' Логика предикатов: синтаксис (термы, формулы), семантика (интерпретации, отношение выполнимости).
+
'''[[Media: Mathlog_318_b3.pdf|Блок 3]]'''. Логика предикатов: синтаксис, семантика.
  
'''Лекции [[Media: LectLog_3.pdf|4]] и [[Media: LectLog4.pdf|5]] (рассказывал [[Захаров Владимир Анатольевич|В. А. Захаров]]; желающие могут посмотреть [[Media: Mathlog_318_lecture_4_5.pdf|то же самое другими словами]] от В. В. Подымова).''' Выполнимые и общезначимые формулы. Модели. Логическое следствие. Проблема общезначимости формул. Подстановки. Метод семантических таблиц в логике предикатов. Корректность табличного вывода.
+
'''[[Media: Mathlog_318_b4.pdf|Блок 4]]'''. Как формализовать предложение на языке логики предикатов (пример).
  
'''[[Media: Mathlog_318_lecture_6.pdf|Лекция 6.]]''' Полнота табличного вывода в логике предикатов. Теорема Лёвенгейма-Сколема. Теорема компактности Мальцева. Равносильные формулы. Теорема о равносильной замене.
+
'''[[Media: Mathlog_318_b5.pdf|Блок 5]]'''. Логика предикатов: выполнимые и общезначимые формулы; модели формул; логическое следствие; проблема общезначимости формул (постановка).
  
'''[[Media: Mathlog_318_lecture_7.pdf|Лекция 7.]]''' Общая схема метода резолюций. Предварённая нормальная форма. Сколемовская стандартная форма. Системы дизъюнктов. Задача унификации.
+
'''[[Media: Mathlog_318_b6.pdf|Блок 6]]'''. Логика предикатов: почему бы не проверять общезначимость формул "в лоб"?
  
'''[[Media: Mathlog_318_lecture_8.pdf|Лекция 8.]]''' Алгоритм унификации атомарных формул. Теорема об унификации.
+
'''[[Media: Mathlog_318_b7.pdf|Блок 7]]'''. Метод семантических таблиц в логике высказываний.
  
'''[[Media: Mathlog_318_lecture_9.pdf|Лекция 9.]]''' Резолютивный вывод. Корректность резолютивного вывода. Применение метода резолюций. Эрбрановские интерпретации. Теорема об эрбрановских интерпретациях. Теорема Эрбрана.
+
'''[[Media: Mathlog_318_b8.pdf|Блок 8]]'''. Метод семантических таблиц в логике предикатов: семантические таблицы.
  
'''[[Media: Mathlog_318_lecture_10.pdf|Лекция 10.]]''' Полнота резолютивного вывода. Задачи и проблемы. Алгоритмы. Разрешимость. M-сводимость.
+
'''[[Media: Mathlog_318_b9.pdf|Блок 9]]'''. Подстановки (основные определения).
  
'''[[Media: Mathlog_318_lecture_11.pdf|Лекция 11.]]''' Машины Тьюринга. Теорема Чёрча. Как устроены математические доказательства. Логические исчисления.
+
'''[[Media: Mathlog_318_b10.pdf|Блок 10]]'''. Метод семантических таблиц в логике предикатов: табличный вывод.
  
'''[[Media: Mathlog_318_lecture_12_13.pdf|Лекция 12-13.]]''' Натуральное исчисление высказываний. Натуральное исчисление предикатов. Исчисление предикатов гильбертовского типа.
+
'''[[Media: Mathlog_318_b11.pdf|Блок 11]]'''. Метод семантических таблиц в логике предикатов: корректность табличного вывода.
  
'''[[Media: Mathlog_318_lecture_14.pdf|Лекция 14.]]''' Модальные логики. Эпистемические логики. Темпоральные логики.
+
'''[[Media: Mathlog_318_b12.pdf|Блок 12]]'''. Метод семантических таблиц в логике предикатов: полнота табличного вывода.
  
'''[[Media: Mathlog_318_lecture_15.pdf|Лекция 15.]]''' Формальная верификация программ. Императивные программы. Корректность императивных программ. Логика Хоара. Автоматизация проверки правильности программ.
+
'''[[Media: Mathlog_318_b13.pdf|Блок 13]]'''. Теорема Лёвенгейма-Сколема. Теорема компактности Мальцева. Автоматизация доказательства теорем.
  
'''[[Media: Mathlog_318_lecture_16.pdf|Лекция 16.]]''' Верификация распределённых систем. Логика линейного времени (LTL). Размеченные системы переходов. Задача верификации (model checking) для LTL.
+
'''[[Media: Mathlog_318_b14.pdf|Блок 14]]'''. Общая схема метода резолюций.
  
'''[[Media: Mathlog_318_lecture_17.pdf|Лекция 17.]]''' Табличный алгоритм верификации для LTL. Замыкание Фишера-Ладнера. Системы Хинтикки.
+
'''[[Media: Mathlog_318_b15.pdf|Блок 15]]'''. Равносильность формул логики предикатов.
  
== Временный архив слайдов: 2018-2019 учебный год ==
+
'''[[Media: Mathlog_318_b16.pdf|Блок 16]]'''. Предварённая нормальная форма (ПНФ).
  
'''[[Media: Mathlog_318_lecture_12.pdf|Лекция 12.]]''' Логические исчисления. Исчисление высказываний гильбертовского типа. Корректность и полнота исчисления высказываний.
+
'''[[Media: Mathlog_318_b17.pdf|Блок 17]]'''. Сколемовская стандартная форма (ССФ).
  
'''[[Media: Mathlog_318_lecture_13.pdf|Лекция 13.]]''' Исчисление предикатов гильбертовского типа. Теорема Гёделя о полноте (формулировка). Натуральное исчисление высказываний, его корректность и полнота. Натуральное исчисление предикатов, его корректность и полнота. Натуральный вывод формул.
+
'''[[Media: Mathlog_318_b18.pdf|Блок 18]]'''. Системы дизъюнктов.
  
== Временный архив слайдов: 2017-2018 учебный год ==
+
'''[[Media: Mathlog_318_b19.pdf|Блок 19]]'''. Композиция подстановок. Постановка задачи унификации.
  
'''[[Media: Mathlog_318_lecture_11_12.pdf|Лекция 11-12.]]''' Аксиоматические теории. Основные свойства теорий. Формальная арифметика. Арифметика Пеано. Теорема Гёделя о неполноте. Определимость. Арифметика Пресбургера.
+
'''[[Media: Mathlog_318_b20.pdf|Блок 20]]'''. Алгоритм унификации атомарных формул логики предикатов.
  
'''[[Media: Mathlog_318_lecture_14_15.pdf|Лекция 14-15.]]''' Модальные логики. Эпистемические логики. Темпоральные логики. Логика линейного времени (LTL). Логика деревьев вычислений (CTL). Верификация распределённых систем. Задача верификации для LTL. Табличный алгоритм верификации для LTL.
+
'''[[Media: Mathlog_318_b21.pdf|Блок 21]]'''. Резолютивный вывод. Корректность резолютивного вывода.
  
== Временный архив слайдов: 2016-2017 учебный год ==
+
'''[[Media: Mathlog_318_b22.pdf|Блок 22]]'''. Обоснование общезначимости формулы методом резолюций (пример).
  
'''[[Media: Mathlog_318_lecture_16_17.pdf|16-17]]'''.
+
'''[[Media: Mathlog_318_b23.pdf|Блок 23]]'''. Эрбрановские интерпретации. Теорема об эрбрановских интерпретациях.
 +
 
 +
'''[[Media: Mathlog_318_b24.pdf|Блок 24]]'''. Теорема Эрбрана. Полнота резолютивного вывода.
 +
 
 +
'''[[Media: Mathlog_318_b25.pdf|Блок 25]]'''. Метод резолюций: заключительный пример.
 +
 
 +
'''[[Media: Mathlog_318_b26.pdf|Блок 26]]'''. Как устроены математические доказательства. Логические исчисления.
 +
 
 +
'''[[Media: Mathlog_318_b27.pdf|Блок 27]]'''. Натуральное исчисление высказываний: основные определения.
 +
 
 +
'''[[Media: Mathlog_318_b28.pdf|Блок 28]]'''. Натуральное исчисление высказываний: правило монотонности, закон исключённого третьего, корректность.
 +
 
 +
'''[[Media: Mathlog_318_b29.pdf|Блок 29]]'''. Натуральное исчисление высказываний: правило сечения, правило полного перебора, правило приведения к абсурду, полнота.
 +
 
 +
'''[[Media: Mathlog_318_b30.pdf|Блок 30]]'''. Натуральное исчисление предикатов: основные определения, корректность.
 +
 
 +
'''[[Media: Mathlog_318_b31.pdf|Блок 31]]'''. Гильбертовское исчисление предикатов. Теорема Гёделя о полноте (формулировка).
 +
 
 +
'''[[Media: Mathlog_318_b32.pdf|Блок 32]]'''. Натуральное исчисление предикатов: полнота.
 +
 
 +
'''[[Media: Mathlog_318_b33.pdf|Блок 33]]'''. Задачи и проблемы. Алгоритмы. Разрешимость. M-сводимость.
 +
 
 +
'''[[Media: Mathlog_318_b34.pdf|Блок 34]]'''. Машины Тьюринга (МТ). Проблема останова МТ.
 +
 
 +
'''[[Media: Mathlog_318_b35.pdf|Блок 35]]'''. Теорема Чёрча.
 +
 
 +
'''[[Media: Mathlog_318_b36.pdf|Блок 36]]'''. Аксиоматические теории первого порядка. Проблема общезначимости формул в теории.
 +
 
 +
'''[[Media: Mathlog_318_b37.pdf|Блок 37]]'''. Основные свойства аксиоматических теорий.
 +
 
 +
'''[[Media: Mathlog_318_b38.pdf|Блок 38]]'''. Арифметические интерпретации и теории.
 +
 
 +
'''[[Media: Mathlog_318_b39.pdf|Блок 39]]'''. Определения и выразимость.
 +
 
 +
'''[[Media: Mathlog_318_b40.pdf|Блок 40]]'''. Формальная арифметика. Теорема Гёделя о неполноте.
 +
 
 +
'''[[Media: Mathlog_318_b41.pdf|Блок 41]]'''. Арифметика Пресбургера.
 +
 
 +
'''[[Media: Mathlog_318_b42.pdf|Блок 42]]'''. Модальные логики.
 +
 
 +
'''[[Media: Mathlog_318_b43.pdf|Блок 43]]'''. Эпистемические логики.
 +
 
 +
'''[[Media: Mathlog_318_b44.pdf|Блок 44]]'''. Темпоральные логики.
 +
 
 +
== Слайды прошлых лет ==
 +
 
 +
'''[[Media: Mathlog_318_lecture_1.pdf|Лекция]]''' (вводная). Что такое логика? Содержание лекций. История логики. Логические парадоксы.
 +
 
 +
'''[[Media: Mathlog_318_lecture_2.pdf|Лекция.]]''' Логика высказываний: синтаксис, семантика, выполнимость, общезначимость. Метод семантических таблиц в логике высказываний.
 +
 
 +
'''[[Media: Mathlog_318_lecture_3.pdf|Лекция.]]''' Логика предикатов: синтаксис (термы, формулы), семантика (интерпретации, отношение выполнимости).
 +
 
 +
'''[[Media: Mathlog_318_lecture_4_5.pdf|Лекция.]]''' Выполнимые и общезначимые формулы. Модели. Логическое следствие. Проблема общезначимости формул. Подстановки. Метод семантических таблиц в логике предикатов. Корректность табличного вывода.
 +
 
 +
'''[[Media: Mathlog_318_lecture_6.pdf|Лекция.]]''' Полнота табличного вывода в логике предикатов. Теорема Лёвенгейма-Сколема. Теорема компактности Мальцева. Равносильные формулы. Теорема о равносильной замене.
 +
 
 +
'''[[Media: Mathlog_318_lecture_7.pdf|Лекция.]]''' Общая схема метода резолюций. Предварённая нормальная форма. Сколемовская стандартная форма. Системы дизъюнктов. Задача унификации.
 +
 
 +
'''[[Media: Mathlog_318_lecture_8.pdf|Лекция.]]''' Алгоритм унификации атомарных формул. Теорема об унификации.
 +
 
 +
'''[[Media: Mathlog_318_lecture_9.pdf|Лекция.]]''' Резолютивный вывод. Корректность резолютивного вывода. Применение метода резолюций. Эрбрановские интерпретации. Теорема об эрбрановских интерпретациях. Теорема Эрбрана.
 +
 
 +
'''[[Media: Mathlog_318_lecture_10.pdf|Лекция.]]''' Полнота резолютивного вывода. Задачи и проблемы. Алгоритмы. Разрешимость. M-сводимость.
 +
 
 +
'''[[Media: Mathlog_318_lecture_11.pdf|Лекция.]]''' Машины Тьюринга. Теорема Чёрча. Как устроены математические доказательства. Логические исчисления.
 +
 
 +
'''[[Media: Mathlog_318_lecture_12_13.pdf|Лекция.]]''' Натуральное исчисление высказываний. Натуральное исчисление предикатов. Исчисление предикатов гильбертовского типа.
 +
 
 +
'''[[Media: Mathlog_318_lecture_14.pdf|Лекция.]]''' Модальные логики. Эпистемические логики. Темпоральные логики.
 +
 
 +
'''[[Media: Mathlog_318_lecture_15.pdf|Лекция.]]''' Формальная верификация программ. Императивные программы. Корректность императивных программ. Логика Хоара. Автоматизация проверки правильности программ.
 +
 
 +
'''[[Media: Mathlog_318_lecture_16.pdf|Лекция.]]''' Верификация распределённых систем. Логика линейного времени (LTL). Размеченные системы переходов. Задача верификации (model checking) для LTL.
 +
 
 +
'''[[Media: Mathlog_318_lecture_17.pdf|Лекция.]]''' Табличный алгоритм верификации для LTL. Замыкание Фишера-Ладнера. Системы Хинтикки.
 +
 
 +
'''[[Media: Mathlog_318_lecture_11_12.pdf|Лекция.]]''' Аксиоматические теории. Основные свойства теорий. Формальная арифметика. Арифметика Пеано. Теорема Гёделя о неполноте. Определимость. Арифметика Пресбургера.
 +
 
 +
'''[[Media: Mathlog_318_lecture_16_17.pdf|Лекция.]]'''.
  
 
= Семинары =
 
= Семинары =
Строка 73: Строка 149:
 
[[Media:Mathlog_318_seminar_natural_inference.pdf| Материалы семинара 5 (натуральное исчисление).]]
 
[[Media:Mathlog_318_seminar_natural_inference.pdf| Материалы семинара 5 (натуральное исчисление).]]
  
= Контрольная работа =
+
[[Media:Mllp_318_seminar_definability.pdf| Материалы семинара 6 (выразимость).]]
  
Формат проведения и длительность контрольной работы: письменно, 95 минут.
+
= Экзамен =
  
В рамках контрольной работы требуется решить
+
Формат проведения и длительность экзамена: письменно, 120 минут.
  
* '''три задачи''':
+
Экзаменационная работа оценивается по шкале от 0 до 33 технических баллов.
** построить формулу логики предикатов, адекватно описывающую высказывание, записанное на естественном языке;
+
К оценке за эту работу прибавляются технические баллы, полученные за работу в семестре (выполнение премиальных задач).
** доказать общезначимость формулы логики предикатов, используя метод семантических таблиц
+
Согласно набранной сумме технических баллов выставляется оценка:
*** (правила табличного вывода будут выданы вместе с заданием контрольной);
+
* хотя бы 27: '''отлично''';
** доказать общезначимость формулы логики предикатов, используя метод резолюций;
+
* хотя бы 21, но менее 27: '''хорошо''';
* '''девять теоретических вопросов''', проверяющих знание материала, изложенного в лекциях вплоть до конца обсуждения метода резолюций.
+
* хотя бы 15, но менее 21: '''удовлетворительно''';
 +
* менее 15: '''неудовлетворительно'''.
  
Контрольная работа оценивается по шкале '''от 0 до 15 баллов'''.
+
Баллы за экзаменационную работу складываются из баллов за каждую задачу, предложенную в работе:
Итоговые баллы за работу - это сумма баллов за задачи и теоретические вопросы.
+
* Каждая из задач 1-5 оценивается в 3 балла. Темы задач:
 +
*# Формализовать в логике предикатов предложение, записанное на естественном языке.
 +
*# Проверить общезначимость формулы логики предикатов методом семантических таблиц.
 +
*# Проверить общезначимость формулы логики предикатов методом резолюций.
 +
*# Доказать общезначимость формулы логики предикатов в натуральном исчислении.
 +
*# Предложить аксиому, определяющую заданное понятие в заданной интерпретации.
 +
* Каждая из задач 6-8 оценивается в 2 балла и состоит из двух частей:
 +
*# Сформулировать утверждение, определение и т.п.
 +
*# Ответить на вопрос "на понимание", так или иначе связанный с формулировкой.
 +
* Каждая из задач 9-12 оценивается в 3 балла и устроена так:
 +
** Из нескольких предложенных вариантов ответа выбрать правильные (один, несколько или ни одного) и '''обосновать''' выбранные ответы.
 +
** Невыбранные ответы обосновывать не нужно.
  
Правильно решённая задача оценивается в '''2 балла'''.
+
= Зачёт =
Задача, решённая с ошибками, может быть оценена числом баллов от 0 до 2 в зависимости от качества и количества ошибок.
+
  
Правильно решённый теоретический вопрос оценивается в '''1 балл'''.
+
На зачёте оцениваются результаты, относящиеся к решению типовых задач, знанию теории и работе в семестре.
В каждом теоретическом вопросе предлагается несколько вариантов ответа.
+
Среди этих ответов может быть один, ни одного или несколько правильных.
+
Для правильного решения теоретического вопроса следует отметить '''все''' правильные ответы и только их.
+
Обоснование того, почему выбраны или не выбраны те или иные ответы, '''не требуется'''.
+
  
'''Группы 241, 242:''' баллы, набранные за контрольную работу, суммируются с другими баллами, требуемыми для получения зачёта.
+
В курсе встретится 5 типовых задач:
 +
# Формализовать в логике предикатов предложение, записанное на естественном языке.
 +
# Проверить общезначимость формулы логики предикатов методом семантических таблиц.
 +
# Проверить общезначимость формулы логики предикатов методом резолюций.
 +
# Доказать общезначимость формулы логики предикатов в натуральном исчислении.
 +
# Предложить аксиому, определяющую заданное понятие в заданной интерпретации.
  
'''Группа 318:''' по результатам контрольной работы определяется <span style="background:#DDFFDD">бонус</span> или <span style="background:#FFDDDD">штраф</span>, суммирующийся с баллами за экзаменационную работу:
+
При проставлении зачёта учитывается 7 технических оценок:
* набрано хотя бы 14 баллов: бонус <span style="background:#DDFFDD">+3 балла</span>;
+
* Пять оценок за типовые задачи, по одной за каждую задачу. Максимальная оценка за каждую задачу - 3 балла.
* набрано хотя бы 12, но менее 14 баллов: бонус <span style="background:#DDFFDD">+2 балла</span>;
+
* Оценка за знание теории. Максимум - 15 баллов.
* набрано хотя бы 10, но менее 12 баллов: бонус <span style="background:#DDFFDD">+1 балл</span>;
+
* Оценка за решение премиальных задач.
* набрано хотя бы 8, но менее 10 баллов: бонус <span style="background:#DDFFDD">+0 баллов</span>;
+
* набрано хотя бы 6, но менее 8 баллов: штраф <span style="background:#FFDDDD">-1 балл</span>;
+
* набрано хотя бы 4, но менее 6 баллов: штраф <span style="background:#FFDDDD">-2 балла</span>;
+
* набрано менее 4 баллов: штраф <span style="background:#FFDDDD">-3 балла</span>;
+
* контрольная работа пропущена по неуважительной причине: штраф <span style="background:#FFDDDD">-3 балла</span>;
+
* контрольная работа пропущена по уважительной причине: бонус <span style="background:#DDFFDD">+0 баллов</span>.
+
  
= Экзамен =
+
Для получения зачёта требуется достичь следующих результатов:
 +
# Хорошо решить типовые задачи:
 +
#* четыре задачи не менее чем на 2 балла, или
 +
#* две задачи на 3 балла и одну задачу на не менее чем 2 балла.
 +
#** "3 балла" = "правильно"
 +
#** "не менее чем 2 балла" = "правильно или с незначительными недочётами"
 +
# Набрать хотя бы 20 баллов суммарно за всё (типовые задачи, теория, премиальные задачи).
  
Формат проведения и длительность экзамена: письменно, 120 минут.
+
В курсе планируются две контрольные работы: первая - в середине семестра, вторая - после завершения лекций.
 +
Контрольные работы и попытки зачёта проводятся письменно, длительность каждого мероприятия - 90 минут (одна пара).
  
Экзаменационная работа оценивается по шкале '''от 0 до 27 баллов''' (''промежуточные баллы'').
+
== Сдача типовых задач ==
Итоговые баллы за экзаменационную работу - это сумма промежуточных баллов, бонусов и штрафов по итогам контрольной работы, а также других бонусов, если удалось их получить.
+
В зависимости от полученных итоговых баллов за экзаменационную работу выставляется оценка за экзамен:
+
* набрано хотя бы 22 балла: '''отлично''';
+
* набрано хотя бы 16, но менее 22 баллов: '''хорошо''';
+
* набрано хотя бы 10, но менее 16 баллов: '''удовлетворительно''';
+
* набрано менее 10 баллов: '''неудовлетворительно'''.
+
  
Промежуточные баллы складываются из баллов, полученных за решение каждой задачи в работе.
+
Для решения каждой типовой задачи будет предложено несколько попыток.
Описание задач и оценки за их безошибочное решение:
+
При проставлении зачёта учитывается '''максимальная''' оценка за задачу среди всех попыток её решить.
* '''Задача 1 (3 балла)''': предложить формулу логики предикатов, адекватно описывающую заданное утверждение, записанное на естественном языке.
+
* '''Задача 2 (3 балла)''': проверить общезначимость формулы логики предикатов методом семантических таблиц.
+
* '''Задача 3 (3 балла)''': проверить общезначимость формулы логики предикатов методом резолюций.
+
* '''Задача 4 (3 балла)''': предложить доказательство общезначимости формулы логики предикатов в натуральном исчислении.
+
* '''Задачи 5-7 (2 балла за каждую)''' состоят из двух частей: а) сформулировать теорему или определение, рассказанные в лекциях; б) ответить на вопрос, так или иначе связанный с первой частью, '''без пояснений''' (как правило - "да" или "нет", либо привести какой-либо пример).
+
* '''Задачи 8-10 (3 балла за каждую)''': из предложенных вариантов ответа на заданный вопрос выбрать правильные (один, несколько или ни одного), правильность каждого выбранного ответа обосновать ('''невыбранные ответы обосновывать не нужно''').
+
  
= Зачёт =
+
На первой контрольной работе будут предложены типовые задачи 1-3.
 +
На второй контрольной работе и на каждой попытке зачёта будут предложены все типовые задачи.
  
После завершения лекций будет проведена вторая контрольная работа. Эта работа будет содержать
+
== Сдача теории ==
* Одну задачу: предложить доказательство общезначимости формулы логики предикатов в натуральном исчислении. Задача оценивается в 2 балла.
+
* Пять теоретических вопросов того же устройства, что и на первой контрольной работе, но по темам лекций, не вошедшим в первую контрольную. Каждый теоретический вопрос оценивается в 1 балл.
+
  
Для получения зачёта необходимо набрать не менее '''14 баллов''' по итогам двух контрольных работ и сдачи других
+
Теоретические вопросы даются в форме теста с множественным выбором: из предложенных вариантов ответа требуется выбрать правильные (один, несколько или ни одного), обоснование не требуется.
 +
Правильно решённый теоретический вопрос оценивается в 1 балл.
  
На каждой попытке зачёта имеется возможность повысить набранные баллы:
+
На первой контрольной работе будет предложено 9 теоретических вопросов.
* Повторно решить любую задачу. Если удалось улучшить оценку задачи, то старая (низкая) оценка заменяется на новую (высокую).
+
На второй контрольной работе будет предложено 6 теоретических вопросов.
* Повторно ответить на теоретические вопросы по темам первой контрольной. Если суммарно за все ответы набрано больше баллов, чем было до этого, то старая (низкая) суммарная оценка заменяется на новую (высокую).
+
Оценка за знание теории складывается из оценок за эти 15 теоретических вопросов.
* Повторно ответить на теоретические вопросы по темам второй контрольной. Если суммарно за все ответы набрано больше баллов, чем было до этого, то старая (низкая) суммарная оценка заменяется на новую (высокую).
+
  
= Дополнительные бонусы к экзамену и зачёту =
+
На каждой попытке зачёта также будет предложено 15 теоретических вопросов.
 +
При проставлении зачёта учитывается '''максимальная''' оценка среди полученных за контрольные работы и за каждую из попыток зачёта.
  
Общие условия сдачи решений задач на дополнительные бонусы:
+
= Премиальные задачи =
* По умолчанию решения сдаются лично устно. Другие варианты (например, письменное решение на бумаге или по почте) следует обсудить в индивидуальном порядке.
+
* При подготовке к сдаче и во время сдачи решений можно пользоваться любыми материалами.
+
* При сдаче проверяется понимание каждой детали решения задачи - следует быть к этому готовым.
+
* Задача считается решённой, если не осталось неотвеченных вопросов по обоснованию всех шагов решения.
+
  
'''Бонусы за решение задач сформулированы для одной учебной группы''' и получаются внутри одной группы независимо от другой (например, "''первый''" трактуется как "''первый из группы 318, а также первый из группы 241, а также первый из группы 242''").
+
''По ходу проведения курса в подразделах этого раздела будут появляться премиальные задачи''
  
{| class="wikitable"
+
Общие условия сдачи решений премиальных задач:
|colspan=2|Номер задачи
+
* Можно как прислать письменное решение, так и обсудить решение устно. Если прислано письменное решение и к нему есть вопросы, то для их решения может потребоваться дополнительное устное обсуждение.
|1
+
* При подготовке решения и во время его сдачи можно пользоваться любыми материалами.
|2
+
* При сдаче может быть проверено понимание '''каждой''' детали предложенного решения - следует быть к этому готовым.
|3
+
* Решение принимается, когда по нему не остаётся неотвеченных вопросов.
|4
+
|5
+
|6
+
|7
+
|8
+
|9
+
|10
+
|11
+
|12
+
|13
+
|14
+
|-
+
|colspan=2|Сколько решений оценивается
+
|3
+
|2
+
|2
+
|3
+
|3
+
|2
+
|4
+
|3
+
|2
+
|3
+
|4
+
|3
+
|4
+
|
+
|-
+
|rowspan="3"|Сколько решений сдано в группе
+
<!--
+
|241
+
|0
+
|2
+
|1
+
|0
+
|1
+
|0
+
|0
+
|1
+
|0
+
|0
+
|0
+
|0
+
|0
+
|0
+
|-
+
|242
+
|0
+
|0
+
|0
+
|0
+
|0
+
|0
+
|0
+
|1
+
|0
+
|0
+
|0
+
|0
+
|0
+
|0
+
|-
+
-->
+
|318
+
|0
+
|2
+
|2
+
|0
+
|0
+
|1
+
|1<sup>*</sup>
+
|1
+
|1
+
|0
+
|0
+
|0
+
|0
+
|0
+
|}
+
  
<sup>*</sup> Правило удаления всеобщности
+
'''Бонусы за решение задач сформулированы для одной учебной группы''' и получаются внутри одной группы независимо от другой.
 +
Например, "''первый''" трактуется как "''первый из группы 318, а также первый из группы 319/2, а также ...''".
  
''Задачи будут появляться по мере проведения занятий''
+
== (1) Свойства семантических таблиц в логике высказываний ==
  
== (1) Полнота табличного вывода в логике предикатов ==
+
Доказать три утверждения в блоке 7, доказательство которых помечено словами "А попробуйте сами", '''или''' два утверждения в блоке 8, помеченные теми же словами.
 +
 
 +
Бонус за решение задачи: <span style="background:#DDFFDD">+1 балл</span> первым '''двум''' предоставившим решение задачи
 +
 
 +
== (2) Полнота табличного вывода в логике предикатов ==
  
 
Адаптировать доказательство теоремы о полноте табличного вывода в логике предикатов к более общему случаю:
 
Адаптировать доказательство теоремы о полноте табличного вывода в логике предикатов к более общему случаю:
 
* сигнатура алфавита состоит из
 
* сигнатура алфавита состоит из
** не более чем счётно-бесконечного числа констант,
+
** не более чем счётного числа констант,
** не более чем счётно-бесконечного числа функциональных символов каждой местности,
+
** не более чем счётного числа функциональных символов произвольных местностей,
** не более чем счётно-бесконечного числа предикатных символов каждой местности;
+
** не более чем счётного числа предикатных символов произвольных местностей;
 
* формулы исходной таблицы могут содержать свободные переменные;
 
* формулы исходной таблицы могут содержать свободные переменные;
* исходная таблица содержит не более чем счётно-бесконечное число формул.
+
* исходная таблица содержит не более чем счётное число формул.
  
 
Бонусы за решение задачи:
 
Бонусы за решение задачи:
Строка 258: Строка 257:
 
* '''второй''' и '''третий''' сдавшие: <span style="background:#DDFFDD">+2 балла</span>
 
* '''второй''' и '''третий''' сдавшие: <span style="background:#DDFFDD">+2 балла</span>
  
== (2) Утверждения об отношении равносильности ==
+
== (3) Утверждения об отношении равносильности ==
  
Обосновать три утверждения об отношении равносильности в лекции 6, помеченные словом "Самостоятельно" рядом со словом "Доказательство".
+
Обосновать два утверждения об отношении равносильности в блоке 15, помеченные словами "Попробуйте самостоятельно" рядом со словом "Доказательство".
  
 
Бонус за решение задачи: <span style="background:#DDFFDD">+2 балла</span> первым '''двум''' предоставившим решение задачи
 
Бонус за решение задачи: <span style="background:#DDFFDD">+2 балла</span> первым '''двум''' предоставившим решение задачи
  
== (3) Фундированность троек чисел ==
+
== (4) Сколемизация ==
  
Доказать фундированность троек неотрицательных целых чисел относительно лексикографического порядка (лемма в лекции 8, сформулированная в рамках доказательства завершаемости алгоритма унификации, обоснование которой помечено словами "Попробуйте сами").
+
Обосновать или опровергнуть
 +
* необходимость ("=>") и
 +
* достаточность ("<=")
 +
теоремы о сколемизации, в которой свойство выполнимости заменено на свойство общезначимости (как сказано в вопросе под теоремой).
  
Бонус за решение задачи: <span style="background:#DDFFDD">+2 балла</span> первым '''двум''' предоставившим решение задачи
+
Бонус за решение задачи:
 +
* '''первый''' сдавший: <span style="background:#DDFFDD">+3 балла</span>
 +
* '''второй''' сдавший: <span style="background:#DDFFDD">+2 балла</span>
  
== (4) Стратегия построения резолютивного вывода ==
+
== (5) Первая головоломка о мощностях интерпретаций ==
  
Сформулировать (с обоснованием) список правил, которых достаточно придерживаться, чтобы в резолютивном выводе, строящемся произвольно в рамках этих правил для противоречивой системы дизъюнктов, рано или поздно появился пустой дизъюнкт.
+
Придумать (с обоснованием) необщезначимое предложение, истинное в любой интерпретации, содержащей не более чем 4 предмета.
  
Бонусы за решение задачи:
+
Бонус за решение задачи: <span style="background:#DDFFDD">+2 балла</span> первым '''двум''' предоставившим решение задачи
* '''первый''' сдавший: <span style="background:#DDFFDD">+3 балла</span>
+
* '''второй''' и '''третий''' сдавшие: <span style="background:#DDFFDD">+2 балла</span>
+
  
== (5) Вычислительные возможности метода резолюций ==
+
== (6) Вторая головоломка о мощностях интерпретаций ==
  
Сформулировать и обосновать утверждение, дающее ответ на вопрос, поставленный в конце "заключительного примера для метода резолюций" лекции 10.
+
Доказать, что если предложение истинно в любой интерпретации, содержащей не менее чем 4 предмета, то оно общезначимо.
  
 
Бонусы за решение задачи:
 
Бонусы за решение задачи:
Строка 286: Строка 288:
 
* '''второй''' и '''третий''' сдавшие: <span style="background:#DDFFDD">+2 балла</span>
 
* '''второй''' и '''третий''' сдавшие: <span style="background:#DDFFDD">+2 балла</span>
  
== (6) Исчисление семантических таблиц ==
+
== (7) Фундированность троек чисел ==
  
Определить аксиомы и правила вывода логического исчисления со следующими свойствами:
+
Доказать фундированность троек неотрицательных целых чисел относительно лексикографического порядка (лемма в блоке 20, обоснование которой помечено словами "Попробуйте сами").
* формулы исчисления - семантические таблицы логики предикатов;
+
* таблица выводима в исчислении тогда и только тогда, когда для неё существует успешный табличный вывод,
+
* из доказательства для таблицы T можно получить успешный табличный вывод для T, взяв некоторое неразмеченное дерево и доразметив вершины этого дерева таблицами из доказательства.
+
  
 
Бонус за решение задачи: <span style="background:#DDFFDD">+2 балла</span> первым '''двум''' предоставившим решение задачи
 
Бонус за решение задачи: <span style="background:#DDFFDD">+2 балла</span> первым '''двум''' предоставившим решение задачи
  
== (7) Корректность натурального исчисления ==
+
== (8) Про эрбрановские интерпретации ==
  
Выбрать одно из 4-х правил работы с кванторами в натуральном исчислении (введение/удаление существования/всеобщности) и обосновать корректность этого правила: если формулы над чертой общезначимы, то и формула под чертой общезначима (см. лекцию 12-13).
+
Останется ли справедливой теорема об эрбрановских интерпретациях, если вместо "Система дизъюнктов" в её формулировке написать "Формула логики предикатов"?
 +
Ответ обосновать.
  
Для каждого из правил принимается только одно решение, и от одного студента принимается решение только для одного правила.
+
Бонус за решение задачи:
Бонус за решение: <span style="background:#DDFFDD">+1 балл</span>
+
* '''первый''' сдавший: <span style="background:#DDFFDD">+3 балла</span>
 +
* '''второй''' сдавший: <span style="background:#DDFFDD">+2 балла</span>
  
== (8) Теорема Гёделя о полноте ==
+
== (9) Полная стратегия построения успешного резолютивного вывода ==
  
Доказать теорему Гёделя о полноте (см. лекцию 12-13).
+
Предложить (с обоснованием) список правил построения резолютивного вывода, гарантирующих получение пустого дизъюнкта из конечной невыполнимой системы дизъюнктов.
 +
 
 +
(Как это делалось, например, в доказательстве теоремы о полноте табличного вывода.)
  
 
Бонусы за решение задачи:
 
Бонусы за решение задачи:
* '''первый''' сдавший: <span style="background:#DDFFDD">+10 баллов</span>
+
* '''первый''' сдавший: <span style="background:#DDFFDD">+3 балла</span>
* '''второй''' и '''третий''' сдавшие: <span style="background:#DDFFDD">+7 баллов</span>
+
* '''второй''' и '''третий''' сдавшие: <span style="background:#DDFFDD">+2 балла</span>
  
== (9) Свойства шкал Крипке ==
+
== (10) Вычислительные возможности метода резолюций ==
  
Доказать утверждения о рефлексивности, транзитивности и симметричности шкал Крипке, сформулированные в разделе "Эпистемические логики" '''лекции 14'''
+
Ответить (с обоснованием и для достаточно широкого семейства резолютивных выводов) на вопрос, поставленный в конце "заключительного примера для метода резолюций" блока 25.
  
Бонус за решение задачи:
+
Бонусы за решение задачи:
 
* '''первый''' сдавший: <span style="background:#DDFFDD">+3 балла</span>
 
* '''первый''' сдавший: <span style="background:#DDFFDD">+3 балла</span>
* '''второй''' сдавший: <span style="background:#DDFFDD">+2 балла</span>
+
* '''второй''' и '''третий''' сдавшие: <span style="background:#DDFFDD">+2 балла</span>
  
== (10) Задача о трёх мудрецах ==
+
== (11) Исчисление семантических таблиц ==
  
Записать и пояснить ход рассуждений мудрецов в ''задаче о трёх мудрецах'' ('''лекция 14''') в терминах эпистемической логики.
+
Определить (с пояснениями) аксиомы и правила вывода логического исчисления со следующими свойствами:
 +
* формулы исчисления - семантические таблицы логики предикатов;
 +
* таблица доказуема в исчислении тогда и только тогда, когда для неё существует успешный табличный вывод;
 +
* из доказательства для таблицы T в исчислении можно получить успешный табличный вывод для T, расположив таблицы в вершинах дерева согласно применению правил исчисления.
  
Бонус за решение задачи: <span style="background:#DDFFDD">+2 балла</span> первым '''трём''' предоставившим решение.
+
Бонус за решение задачи: <span style="background:#DDFFDD">+2 балла</span> первым '''двум''' предоставившим решение задачи
  
== (11) Корректность логики Хоара ==
+
== (12) Корректность натурального исчисления предикатов ==
  
Доказать корректность одного из правил логики Хоара ('''лекция 15, лемма о корректности правил'''), кроме правил для пустой команды и для присваивания.
+
Выбрать одно из четырёх правил вывода НИП для кванторов (введение/удаление существования/всеобщности) и обосновать корректность этого правила согласно разобранному в доказательстве теоремы о корректности НИВ.
  
 
Для каждого из правил принимается только одно решение, и от одного студента принимается решение только для одного правила.
 
Для каждого из правил принимается только одно решение, и от одного студента принимается решение только для одного правила.
Бонус за решение: <span style="background:#DDFFDD">+2 балла</span>
+
Бонус за решение: <span style="background:#DDFFDD">+1 балл</span>
  
== (12) Слабейшие предусловия ==
+
== (13) Теорема Гёделя о полноте ==
  
Доказать теорему о слабейшем предусловии ('''лекция 15''').
+
Доказать теорему Гёделя о полноте, сформулированную в блоке 31, для исчисления, изложенного в этом же блоке.
  
 
Бонусы за решение задачи:
 
Бонусы за решение задачи:
* '''первый''' сдавший: <span style="background:#DDFFDD">+3 балла</span>
+
* '''первый''' сдавший: <span style="background:#DDFFDD">+10 баллов</span>
* '''второй''' и '''третий''' сдавшие: <span style="background:#DDFFDD">+2 балла</span>
+
* '''второй''' и '''третий''' сдавшие: <span style="background:#DDFFDD">+7 баллов</span>
  
== (13) Законы темпоральных логик ==
+
== (14) Непротиворечивая конечная полная теория ==
  
В '''лекции 16''' на слайде под заголовком "законы дистрибутивности" выбрать пару строк (1+2, 3+4, 5+6 или 7+8) и доказать либо опровергнуть равносильность в каждой из этих двух строк.
+
Привести пример (с обоснованием) непротиворечивой конечной полной аксиоматической теории первого порядка.
  
Для каждой пары строк принимается только одно решение, и от одного студента принимается решение только для одной пары строк.
+
Бонус за решение задачи:
Бонус за решение: <span style="background:#DDFFDD">+1 балл</span>
+
* '''первый''' сдавший: <span style="background:#DDFFDD">+2 балла</span>
 +
* '''второй''' сдавший: <span style="background:#DDFFDD">+1 балл</span>
  
== (14) Табличный алгоритм верификации для LTL ==
+
== (15) О подстановке определения ==
  
Ответить на существенную часть вопросов, сформулированных на последнем слайде последней лекции (17)
+
Оформить пропущенные части доказательства теоремы о подстановке определения: доказательство для функции кси и часть доказательства, скрытая в отсылке к теореме о равносильной замене.
  
Бонус за решение задачи: '''обсуждается индивидуально'''.
+
Бонус за решение задачи:
 +
* '''первый''' сдавший: <span style="background:#DDFFDD">+3 балла</span>
 +
* '''второй''' сдавший: <span style="background:#DDFFDD">+2 балла</span>
  
<!--
+
== (16) Теорема Гёделя о неполноте ==
  
== Изоморфизм и элементарная эквивалентность интерпретаций ==
+
Доказать теорему Гёделя о неполноте в формулировке, представленной в блоке 40: либо адаптировать представленный там эскиз доказательства к общему случаю и доказать леммы об арифметизации и о диагонали, либо предоставить независимое доказательство.
  
=== Описание задачи ===
+
Бонусы за решение задачи:
 +
* '''первый''' предоставивший решение: <span style="background:#DDFFDD">+14 баллов</span>
 +
* '''второй''' предоставивший решение: <span style="background:#DDFFDD">+11 баллов</span>
 +
* '''третий''' предоставивший решение: <span style="background:#DDFFDD">+8 баллов</span>
  
Доказать утверждение на слайде 24 лекции 10 о соотношении понятий изоморфизма и элементарной эквивалентности интерпретаций.
+
== (17) Арифметика Пресбургера ==
 +
 
 +
Доказать полноту системы аксиом арифметики Пресбургера, представленной на последнем слайде блока 41.
  
 
Бонусы за решение задачи:
 
Бонусы за решение задачи:
* '''первый''' предоставивший решение: <span style="background:#DDFFDD">+2 балла</span>
+
* '''первый''' предоставивший решение: <span style="background:#DDFFDD">+4 балла</span>
* '''второй''' предоставивший решение: <span style="background:#DDFFDD">+1 балл</span>
+
* '''второй''' предоставивший решение: <span style="background:#DDFFDD">+3 балла</span>
 +
* '''третий''' предоставивший решение: <span style="background:#DDFFDD">+2 балл</span>
  
=== Количество предоставленных решений ===
+
== (18) Определение экспоненты ==
  
'''Группа 318:''' 1
+
Предложить (с обоснованием) определение одноместной функции 2^x (два в степени икс) в арифметической интерпретации на целых неотрицательных числах с сигнатурой <{0}, {+, x, s}, {=}> (семинар 5, задача 1, пункт 21).
  
== <s>Теорема Гёделя о неполноте</s> ==
+
''Если в обосновании будут содержаться китайская теорема об остатках, малая теорема Ферма или что-либо другое нетривиальное, то обоснование этого - часть решения''
 
+
=== Описание задачи ===
+
 
+
Доказать теорему Гёделя о неполноте ('''лекция 10'''): либо адаптировать доказательство в лекции к общему случаю и доказать лемму о диагонали и утверждение об арифметизуемости графика, либо предоставить независимое доказательство.
+
  
 
Бонусы за решение задачи:
 
Бонусы за решение задачи:
* '''первый''' предоставивший решение: <span style="background:#DDFFDD">+14 баллов</span>
+
* '''первый''' предоставивший решение: <span style="background:#DDFFDD">+4 баллов</span>
* '''второй''' предоставивший решение: <span style="background:#DDFFDD">+11 баллов</span>
+
* '''второй''' предоставивший решение: <span style="background:#DDFFDD">+3 балла</span>
* '''третий''' предоставивший решение: <span style="background:#DDFFDD">+8 баллов</span>
+
* '''третий''' предоставивший решение: <span style="background:#DDFFDD">+2 балла</span>
  
=== Количество предоставленных решений ===
+
== (19) Свойства шкал Крипке ==
  
'''Группа 318:''' 3 (все баллы розданы)
+
Доказать утверждения о рефлексивности, транзитивности и симметричности шкал Крипке, сформулированные в блоке 43.
  
== Арифметика Пресбургера и математическая индукция ==
+
Бонус за решение задачи:
 +
* '''первый''' сдавший: <span style="background:#DDFFDD">+3 балла</span>
 +
* '''второй''' и '''третий''' сдавшие: <span style="background:#DDFFDD">+2 балла</span>
  
=== Описание задачи ===
+
== (20) Задача о трёх мудрецах ==
  
Указать все места в доказательстве разрешимости арифметики Пресбургера ('''лекция 11'''), в которых существенно используется наличие схемы аксиом индукции в этой арифметике, и объяснить способ использования.
+
Записать и пояснить ход рассуждений мудрецов в ''задаче о трёх мудрецах'', представленной в конце блока 43, в терминах эпистемической логики.
  
Бонусы за решение задачи:
+
Бонус за решение задачи: <span style="background:#DDFFDD">+2 балла</span> первым '''трём''' предоставившим решение.
* '''первый''' предоставивший решение: <span style="background:#DDFFDD">+3 балла</span>
+
* '''второй''' предоставивший решение: <span style="background:#DDFFDD">+2 балла</span>
+
* '''третий''' предоставивший решение: <span style="background:#DDFFDD">+1 балл</span>
+
  
=== Количество предоставленных решений ===
+
<!--
  
'''Группа 318:''' 0
+
== (11) Корректность логики Хоара ==
  
== <s>Определение экспоненты</s> ==
+
Доказать корректность одного из правил логики Хоара ('''лекция 15, лемма о корректности правил'''), кроме правил для пустой команды и для присваивания.
  
=== Описание задачи ===
+
Для каждого из правил принимается только одно решение, и от одного студента принимается решение только для одного правила.
 +
Бонус за решение: <span style="background:#DDFFDD">+2 балла</span>
  
Предложить (с обоснованием) определение одноместной функции 2^x (два в степени икс) в арифметической интерпретации на целых неотрицательных числах с сигнатурой <{0}, {+, x, s}, {=}> (семинар 5, задача 1, пункт 19).
+
== (12) Слабейшие предусловия ==
  
''Если в обосновании будут содержаться китайская теорема об остатках, малая теорема Ферма или что-либо другое нетривиальное, то обоснование этого - часть решения''
+
Доказать теорему о слабейшем предусловии ('''лекция 15''').
  
 
Бонусы за решение задачи:
 
Бонусы за решение задачи:
* '''первый''' предоставивший решение: <span style="background:#DDFFDD">+5 баллов</span>
+
* '''первый''' сдавший: <span style="background:#DDFFDD">+3 балла</span>
* '''второй''' предоставивший решение: <span style="background:#DDFFDD">+4 балла</span>
+
* '''второй''' и '''третий''' сдавшие: <span style="background:#DDFFDD">+2 балла</span>
* '''третий''' предоставивший решение: <span style="background:#DDFFDD">+3 балла</span>
+
  
=== Количество предоставленных решений ===
+
== (13) Законы темпоральных логик ==
  
'''Группа 318:''' 3 (все баллы розданы)
+
В '''лекции 16''' на слайде под заголовком "законы дистрибутивности" выбрать пару строк (1+2, 3+4, 5+6 или 7+8) и доказать либо опровергнуть равносильность в каждой из этих двух строк.
  
 +
Для каждой пары строк принимается только одно решение, и от одного студента принимается решение только для одной пары строк.
 +
Бонус за решение: <span style="background:#DDFFDD">+1 балл</span>
 +
 +
== (14) Табличный алгоритм верификации для LTL ==
 +
 +
Ответить на существенную часть вопросов, сформулированных на последнем слайде последней лекции (17)
 +
 +
Бонус за решение задачи: '''обсуждается индивидуально'''.
 +
-->
 +
 +
<!--
 
== Полнота семантической резолюции ==
 
== Полнота семантической резолюции ==
  
Строка 457: Строка 478:
  
 
= Программа курса =
 
= Программа курса =
 +
 +
''Программа будет обновляться по ходу чтения курса''
  
 
== Классические логики ==
 
== Классические логики ==

Версия 08:31, 7 мая 2021

Обязательный курс для студентов групп 318 и 319/2, а также 241 и 242 (Математическая логика и теория алгоритмов). Курс читает В. В. Подымов.

Актуальность информации: весенний семестр 2020/2021 учебного года.


Содержание

Слайды лекций

Слайды будут выкладываться по мере проведения занятий

Блок 1 (вводный). Что такое логика. Содержание лекций. Несколько логических парадоксов.

Блок 2. Логика высказываний: синтаксис, семантика, выполнимость, общезначимость.

Блок 3. Логика предикатов: синтаксис, семантика.

Блок 4. Как формализовать предложение на языке логики предикатов (пример).

Блок 5. Логика предикатов: выполнимые и общезначимые формулы; модели формул; логическое следствие; проблема общезначимости формул (постановка).

Блок 6. Логика предикатов: почему бы не проверять общезначимость формул "в лоб"?

Блок 7. Метод семантических таблиц в логике высказываний.

Блок 8. Метод семантических таблиц в логике предикатов: семантические таблицы.

Блок 9. Подстановки (основные определения).

Блок 10. Метод семантических таблиц в логике предикатов: табличный вывод.

Блок 11. Метод семантических таблиц в логике предикатов: корректность табличного вывода.

Блок 12. Метод семантических таблиц в логике предикатов: полнота табличного вывода.

Блок 13. Теорема Лёвенгейма-Сколема. Теорема компактности Мальцева. Автоматизация доказательства теорем.

Блок 14. Общая схема метода резолюций.

Блок 15. Равносильность формул логики предикатов.

Блок 16. Предварённая нормальная форма (ПНФ).

Блок 17. Сколемовская стандартная форма (ССФ).

Блок 18. Системы дизъюнктов.

Блок 19. Композиция подстановок. Постановка задачи унификации.

Блок 20. Алгоритм унификации атомарных формул логики предикатов.

Блок 21. Резолютивный вывод. Корректность резолютивного вывода.

Блок 22. Обоснование общезначимости формулы методом резолюций (пример).

Блок 23. Эрбрановские интерпретации. Теорема об эрбрановских интерпретациях.

Блок 24. Теорема Эрбрана. Полнота резолютивного вывода.

Блок 25. Метод резолюций: заключительный пример.

Блок 26. Как устроены математические доказательства. Логические исчисления.

Блок 27. Натуральное исчисление высказываний: основные определения.

Блок 28. Натуральное исчисление высказываний: правило монотонности, закон исключённого третьего, корректность.

Блок 29. Натуральное исчисление высказываний: правило сечения, правило полного перебора, правило приведения к абсурду, полнота.

Блок 30. Натуральное исчисление предикатов: основные определения, корректность.

Блок 31. Гильбертовское исчисление предикатов. Теорема Гёделя о полноте (формулировка).

Блок 32. Натуральное исчисление предикатов: полнота.

Блок 33. Задачи и проблемы. Алгоритмы. Разрешимость. M-сводимость.

Блок 34. Машины Тьюринга (МТ). Проблема останова МТ.

Блок 35. Теорема Чёрча.

Блок 36. Аксиоматические теории первого порядка. Проблема общезначимости формул в теории.

Блок 37. Основные свойства аксиоматических теорий.

Блок 38. Арифметические интерпретации и теории.

Блок 39. Определения и выразимость.

Блок 40. Формальная арифметика. Теорема Гёделя о неполноте.

Блок 41. Арифметика Пресбургера.

Блок 42. Модальные логики.

Блок 43. Эпистемические логики.

Блок 44. Темпоральные логики.

Слайды прошлых лет

Лекция (вводная). Что такое логика? Содержание лекций. История логики. Логические парадоксы.

Лекция. Логика высказываний: синтаксис, семантика, выполнимость, общезначимость. Метод семантических таблиц в логике высказываний.

Лекция. Логика предикатов: синтаксис (термы, формулы), семантика (интерпретации, отношение выполнимости).

Лекция. Выполнимые и общезначимые формулы. Модели. Логическое следствие. Проблема общезначимости формул. Подстановки. Метод семантических таблиц в логике предикатов. Корректность табличного вывода.

Лекция. Полнота табличного вывода в логике предикатов. Теорема Лёвенгейма-Сколема. Теорема компактности Мальцева. Равносильные формулы. Теорема о равносильной замене.

Лекция. Общая схема метода резолюций. Предварённая нормальная форма. Сколемовская стандартная форма. Системы дизъюнктов. Задача унификации.

Лекция. Алгоритм унификации атомарных формул. Теорема об унификации.

Лекция. Резолютивный вывод. Корректность резолютивного вывода. Применение метода резолюций. Эрбрановские интерпретации. Теорема об эрбрановских интерпретациях. Теорема Эрбрана.

Лекция. Полнота резолютивного вывода. Задачи и проблемы. Алгоритмы. Разрешимость. M-сводимость.

Лекция. Машины Тьюринга. Теорема Чёрча. Как устроены математические доказательства. Логические исчисления.

Лекция. Натуральное исчисление высказываний. Натуральное исчисление предикатов. Исчисление предикатов гильбертовского типа.

Лекция. Модальные логики. Эпистемические логики. Темпоральные логики.

Лекция. Формальная верификация программ. Императивные программы. Корректность императивных программ. Логика Хоара. Автоматизация проверки правильности программ.

Лекция. Верификация распределённых систем. Логика линейного времени (LTL). Размеченные системы переходов. Задача верификации (model checking) для LTL.

Лекция. Табличный алгоритм верификации для LTL. Замыкание Фишера-Ладнера. Системы Хинтикки.

Лекция. Аксиоматические теории. Основные свойства теорий. Формальная арифметика. Арифметика Пеано. Теорема Гёделя о неполноте. Определимость. Арифметика Пресбургера.

Лекция..

Семинары

Материалы семинаров будут обновляться по мере проведения занятий

Семинары 1-4 проводятся по этому сборнику задач.

Желающие более глубоко проработать материал первых четырёх семинаров могут обратиться к расширенному сборнику задач

Материалы семинара 5 (натуральное исчисление).

Материалы семинара 6 (выразимость).

Экзамен

Формат проведения и длительность экзамена: письменно, 120 минут.

Экзаменационная работа оценивается по шкале от 0 до 33 технических баллов. К оценке за эту работу прибавляются технические баллы, полученные за работу в семестре (выполнение премиальных задач). Согласно набранной сумме технических баллов выставляется оценка:

  • хотя бы 27: отлично;
  • хотя бы 21, но менее 27: хорошо;
  • хотя бы 15, но менее 21: удовлетворительно;
  • менее 15: неудовлетворительно.

Баллы за экзаменационную работу складываются из баллов за каждую задачу, предложенную в работе:

  • Каждая из задач 1-5 оценивается в 3 балла. Темы задач:
    1. Формализовать в логике предикатов предложение, записанное на естественном языке.
    2. Проверить общезначимость формулы логики предикатов методом семантических таблиц.
    3. Проверить общезначимость формулы логики предикатов методом резолюций.
    4. Доказать общезначимость формулы логики предикатов в натуральном исчислении.
    5. Предложить аксиому, определяющую заданное понятие в заданной интерпретации.
  • Каждая из задач 6-8 оценивается в 2 балла и состоит из двух частей:
    1. Сформулировать утверждение, определение и т.п.
    2. Ответить на вопрос "на понимание", так или иначе связанный с формулировкой.
  • Каждая из задач 9-12 оценивается в 3 балла и устроена так:
    • Из нескольких предложенных вариантов ответа выбрать правильные (один, несколько или ни одного) и обосновать выбранные ответы.
    • Невыбранные ответы обосновывать не нужно.

Зачёт

На зачёте оцениваются результаты, относящиеся к решению типовых задач, знанию теории и работе в семестре.

В курсе встретится 5 типовых задач:

  1. Формализовать в логике предикатов предложение, записанное на естественном языке.
  2. Проверить общезначимость формулы логики предикатов методом семантических таблиц.
  3. Проверить общезначимость формулы логики предикатов методом резолюций.
  4. Доказать общезначимость формулы логики предикатов в натуральном исчислении.
  5. Предложить аксиому, определяющую заданное понятие в заданной интерпретации.

При проставлении зачёта учитывается 7 технических оценок:

  • Пять оценок за типовые задачи, по одной за каждую задачу. Максимальная оценка за каждую задачу - 3 балла.
  • Оценка за знание теории. Максимум - 15 баллов.
  • Оценка за решение премиальных задач.

Для получения зачёта требуется достичь следующих результатов:

  1. Хорошо решить типовые задачи:
    • четыре задачи не менее чем на 2 балла, или
    • две задачи на 3 балла и одну задачу на не менее чем 2 балла.
      • "3 балла" = "правильно"
      • "не менее чем 2 балла" = "правильно или с незначительными недочётами"
  2. Набрать хотя бы 20 баллов суммарно за всё (типовые задачи, теория, премиальные задачи).

В курсе планируются две контрольные работы: первая - в середине семестра, вторая - после завершения лекций. Контрольные работы и попытки зачёта проводятся письменно, длительность каждого мероприятия - 90 минут (одна пара).

Сдача типовых задач

Для решения каждой типовой задачи будет предложено несколько попыток. При проставлении зачёта учитывается максимальная оценка за задачу среди всех попыток её решить.

На первой контрольной работе будут предложены типовые задачи 1-3. На второй контрольной работе и на каждой попытке зачёта будут предложены все типовые задачи.

Сдача теории

Теоретические вопросы даются в форме теста с множественным выбором: из предложенных вариантов ответа требуется выбрать правильные (один, несколько или ни одного), обоснование не требуется. Правильно решённый теоретический вопрос оценивается в 1 балл.

На первой контрольной работе будет предложено 9 теоретических вопросов. На второй контрольной работе будет предложено 6 теоретических вопросов. Оценка за знание теории складывается из оценок за эти 15 теоретических вопросов.

На каждой попытке зачёта также будет предложено 15 теоретических вопросов. При проставлении зачёта учитывается максимальная оценка среди полученных за контрольные работы и за каждую из попыток зачёта.

Премиальные задачи

По ходу проведения курса в подразделах этого раздела будут появляться премиальные задачи

Общие условия сдачи решений премиальных задач:

  • Можно как прислать письменное решение, так и обсудить решение устно. Если прислано письменное решение и к нему есть вопросы, то для их решения может потребоваться дополнительное устное обсуждение.
  • При подготовке решения и во время его сдачи можно пользоваться любыми материалами.
  • При сдаче может быть проверено понимание каждой детали предложенного решения - следует быть к этому готовым.
  • Решение принимается, когда по нему не остаётся неотвеченных вопросов.

Бонусы за решение задач сформулированы для одной учебной группы и получаются внутри одной группы независимо от другой. Например, "первый" трактуется как "первый из группы 318, а также первый из группы 319/2, а также ...".

(1) Свойства семантических таблиц в логике высказываний

Доказать три утверждения в блоке 7, доказательство которых помечено словами "А попробуйте сами", или два утверждения в блоке 8, помеченные теми же словами.

Бонус за решение задачи: +1 балл первым двум предоставившим решение задачи

(2) Полнота табличного вывода в логике предикатов

Адаптировать доказательство теоремы о полноте табличного вывода в логике предикатов к более общему случаю:

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

Бонусы за решение задачи:

  • первый сдавший: +3 балла
  • второй и третий сдавшие: +2 балла

(3) Утверждения об отношении равносильности

Обосновать два утверждения об отношении равносильности в блоке 15, помеченные словами "Попробуйте самостоятельно" рядом со словом "Доказательство".

Бонус за решение задачи: +2 балла первым двум предоставившим решение задачи

(4) Сколемизация

Обосновать или опровергнуть

  • необходимость ("=>") и
  • достаточность ("<=")

теоремы о сколемизации, в которой свойство выполнимости заменено на свойство общезначимости (как сказано в вопросе под теоремой).

Бонус за решение задачи:

  • первый сдавший: +3 балла
  • второй сдавший: +2 балла

(5) Первая головоломка о мощностях интерпретаций

Придумать (с обоснованием) необщезначимое предложение, истинное в любой интерпретации, содержащей не более чем 4 предмета.

Бонус за решение задачи: +2 балла первым двум предоставившим решение задачи

(6) Вторая головоломка о мощностях интерпретаций

Доказать, что если предложение истинно в любой интерпретации, содержащей не менее чем 4 предмета, то оно общезначимо.

Бонусы за решение задачи:

  • первый сдавший: +3 балла
  • второй и третий сдавшие: +2 балла

(7) Фундированность троек чисел

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

Бонус за решение задачи: +2 балла первым двум предоставившим решение задачи

(8) Про эрбрановские интерпретации

Останется ли справедливой теорема об эрбрановских интерпретациях, если вместо "Система дизъюнктов" в её формулировке написать "Формула логики предикатов"? Ответ обосновать.

Бонус за решение задачи:

  • первый сдавший: +3 балла
  • второй сдавший: +2 балла

(9) Полная стратегия построения успешного резолютивного вывода

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

(Как это делалось, например, в доказательстве теоремы о полноте табличного вывода.)

Бонусы за решение задачи:

  • первый сдавший: +3 балла
  • второй и третий сдавшие: +2 балла

(10) Вычислительные возможности метода резолюций

Ответить (с обоснованием и для достаточно широкого семейства резолютивных выводов) на вопрос, поставленный в конце "заключительного примера для метода резолюций" блока 25.

Бонусы за решение задачи:

  • первый сдавший: +3 балла
  • второй и третий сдавшие: +2 балла

(11) Исчисление семантических таблиц

Определить (с пояснениями) аксиомы и правила вывода логического исчисления со следующими свойствами:

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

Бонус за решение задачи: +2 балла первым двум предоставившим решение задачи

(12) Корректность натурального исчисления предикатов

Выбрать одно из четырёх правил вывода НИП для кванторов (введение/удаление существования/всеобщности) и обосновать корректность этого правила согласно разобранному в доказательстве теоремы о корректности НИВ.

Для каждого из правил принимается только одно решение, и от одного студента принимается решение только для одного правила. Бонус за решение: +1 балл

(13) Теорема Гёделя о полноте

Доказать теорему Гёделя о полноте, сформулированную в блоке 31, для исчисления, изложенного в этом же блоке.

Бонусы за решение задачи:

  • первый сдавший: +10 баллов
  • второй и третий сдавшие: +7 баллов

(14) Непротиворечивая конечная полная теория

Привести пример (с обоснованием) непротиворечивой конечной полной аксиоматической теории первого порядка.

Бонус за решение задачи:

  • первый сдавший: +2 балла
  • второй сдавший: +1 балл

(15) О подстановке определения

Оформить пропущенные части доказательства теоремы о подстановке определения: доказательство для функции кси и часть доказательства, скрытая в отсылке к теореме о равносильной замене.

Бонус за решение задачи:

  • первый сдавший: +3 балла
  • второй сдавший: +2 балла

(16) Теорема Гёделя о неполноте

Доказать теорему Гёделя о неполноте в формулировке, представленной в блоке 40: либо адаптировать представленный там эскиз доказательства к общему случаю и доказать леммы об арифметизации и о диагонали, либо предоставить независимое доказательство.

Бонусы за решение задачи:

  • первый предоставивший решение: +14 баллов
  • второй предоставивший решение: +11 баллов
  • третий предоставивший решение: +8 баллов

(17) Арифметика Пресбургера

Доказать полноту системы аксиом арифметики Пресбургера, представленной на последнем слайде блока 41.

Бонусы за решение задачи:

  • первый предоставивший решение: +4 балла
  • второй предоставивший решение: +3 балла
  • третий предоставивший решение: +2 балл

(18) Определение экспоненты

Предложить (с обоснованием) определение одноместной функции 2^x (два в степени икс) в арифметической интерпретации на целых неотрицательных числах с сигнатурой <{0}, {+, x, s}, {=}> (семинар 5, задача 1, пункт 21).

Если в обосновании будут содержаться китайская теорема об остатках, малая теорема Ферма или что-либо другое нетривиальное, то обоснование этого - часть решения

Бонусы за решение задачи:

  • первый предоставивший решение: +4 баллов
  • второй предоставивший решение: +3 балла
  • третий предоставивший решение: +2 балла

(19) Свойства шкал Крипке

Доказать утверждения о рефлексивности, транзитивности и симметричности шкал Крипке, сформулированные в блоке 43.

Бонус за решение задачи:

  • первый сдавший: +3 балла
  • второй и третий сдавшие: +2 балла

(20) Задача о трёх мудрецах

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

Бонус за решение задачи: +2 балла первым трём предоставившим решение.


Программа курса

Программа будет обновляться по ходу чтения курса

Классические логики

  1. Логика высказываний: синтаксис, семантика; выполнимость, невыполнимость, общезначимость формул. Проблема общезначимости формул логики высказываний.
  2. Метод семантических таблиц в логике высказываний: семантическая таблица, табличный вывод, теорема о табличном выводе.
  3. Логика предикатов: синтаксис (термы, формулы, свободные и связанные переменные), семантика (интерпретации, отношение выполнимости).
  4. Выполнимость, общезначимость и противоречивость формул логики предикатов. Модели. Логическое следование. Теорема о логическом следствии. Проблема общезначимости формул логики предикатов.
  5. Пример выполнимой формулы логики предикатов, не имеющей конечных моделей.
  6. Метод семантических таблиц в логике предикатов: семантическая таблица, табличный вывод, теорема о табличной проверке общезначимости, теоремы о корректности и полноте табличного вывода.
  7. Теорема Лёвенгейма-Сколема. Теорема компактности Мальцева. Теорема Чёрча.
  8. Равносильные формулы. Теорема о равносильной замене.

Метод резолюций в логике предикатов

  1. Предварённая нормальная форма. Теорема о предварённой нормальной форме.
  2. Сколемовская стандартная форма. Алгоритм сколемизации предварённой нормальной формы. Теорема о сколемизации.
  3. Дизъюнкты. Сведение проблемы общезначимости формул к проблеме противоречивости систем дизъюнктов.
  4. Подстановки. Композиция подстановок. Унификатор. Наиболее общий унификатор. Задача унификации выражений логики предикатов.
  5. Лемма о связке. Алгоритм унификации. Теорема об унификации.
  6. Правило резолюции. Правило склейки. Резолютивный вывод. Теорема о корректности резолютивного вывода.
  7. Эрбрановский универсум. Эрбрановский базис. Эрбрановские интерпретации. Теорема об эрбрановских интерпретациях. Теорема Эрбрана.
  8. Лемма об основных дизъюнктах. Лемма о подъёме. Теорема о полноте резолютивного вывода.
  9. Метод резолюций: общая схема, применение.

Логические исчисления

  1. Логические исчисления. Исчисления высказываний и исчисления предикатов. Доказуемость (выводимость) формул.
  2. Натуральное исчисление высказываний. Корректность и полнота исчисления.
  3. Натуральное исчисление предикатов. Корректность и полнота исчисления.
  4. Исчисление предикатов гильбертовского типа. Теорема Гёделя о полноте.

Неклассические прикладные логики

  1. Модальные логики. Шкалы и модели Крипке для модальных логик. Эпистемические логики. Темпоральные логики. Логика линейного времени. Логика деревьев вычислений.
  2. Формальная верификация программ. Модель императивных программ: синтаксис, операционная семантика. Предусловия и постусловия. Корректность и частичная корректность программ. Тройки Хоара. Логика Хоара. Корректность вывода в логике Хоара. Слабейшее предусловие. Инвариант цикла.
  3. Верификация распределённых систем. Логика линейного времени: синтаксис, семантика. Основные равносильности в логике линейного времени. Применение темпоральных логик для спецификации поведения распределённых систем.
  4. Размеченные системы переходов. Моделирование программ системами переходов. Семантика чередующихся вычислений. Задача верификации (проверки моделей; model checking) для логики линейного времени.
  5. Табличный алгоритм верификации для логики линейного времени. Упрощение формул. Замыкание Фишера-Ладнера. Согласованные предположения. Система Хинтикки. Сведение задачи верификации к графовым задачам.

Рекомендованная литература

Основная литература

  1. Клини С. Математическая логика. М.:Мир, 1973, 480 с.
  2. Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем. М.:Мир, 1983. 360 с.
  3. Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. Москва, "Физико-математическая литература", 1995 г., 250 с.
  4. Метакидес Г., Нероуд А., Принципы логики и логического программирования. Москва, "Факториал", 1998, 288 с.
  5. Братко И. Программирование на Прологе для искусственного интеллекта. М.:Мир, 1990, 560 с.
  6. Набебин А.А. Логика и Пролог в дискретной математике. М., Изд-во МЭИ, 1997.
  7. Кларк Э.М., Грамберг О., Пелед Д. Верификация моделей программ: model checking. Изд-во МЦНМО, Москва, 2002, 405 с.

Дополнительная литература

  1. Мендельсон Э. Введение в математическую логику. М.:Наука, 1984. 319 с.
  2. Верещагин Н.К., Шень А. Языки и исчисления. 2004.
  3. Успенский В.А., Верещагин Н.К., Плиско В.Е. Вводный курс математической логики. 2004. 128 с.
  4. Лавров И.А. Математическая логика. Учебное пособие для вузов. М.: Академия, 2006.
  5. Колмогоров А.Н., Драгалин А.Г. Математическая логика. Серия "Классический университетский учебник". Изд.3, 2006, 240 с.
  6. Ершов Ю.Л., Палютин Е.А. Математическая логика - М.: 1979.
  7. Непейвода Н. Н. Прикладная логика. Новосибирск. 2000 г.
  8. Хоггер К., Введение в логическое программирование. М.:Мир, 1988. 348 с.
  9. Клоксин У., Меллиш К. Программирование на языке Пролог. М.:Мир, 1987. 336 с.
  10. Кларк К.Л., Маккейб Ф.Г. Микро-Пролог: введение в логическое программирование. Москва, "Радио и связь". 1987, 311 с.
  11. Стерлинг Л., Шапиро Э., Искусство программирования на языке ПРОЛОГ. Москва, "Мир", 1990, 235 с.
  12. Ковальский Р. Логика в решении проблем. М.: Наука, 1990. 277 с.
  13. Логический подход к искусственному интеллекту (от модальной логики к логике баз данных). М.:Мир, 1998. 495 с.