раздел 44

Логика и типы

Курс от школьной алгебры до книги Пирса «Types and Programming Languages». Ты стажёр Седьмого отдела в портовом Сольске: машина Арбитр, которая тридцать лет помогает суду, впервые зависла на деле, а на первой странице её Кодекса написано, почему так не бывает. Чтобы закрыть дело, научишься разбирать показания формулами, искать контрпримеры, писать доказательства, которые принимает судья, собирать вычислитель и интерпретатор λ-исчисления на Haskell и проверять типы. Финал: читаешь Кодекс целиком и доказываешь, что допущенное дело не зависает. Формулы и выводы проверяет движок прямо в браузере, доказательства читает строгий AI-судья.

81 урок81 тем · 13 кластеров

Начать раздел
Хочу пройти

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

«Логика и типы» покупается один раз и остаётся навсегда: 500 ₽. Оплата пока не подключена, доступ открывается промокодом. ввести промокод

Уроки раздела

  1. Дело Арбитра: зачем учить логикуJ~20 минкурс
  2. Высказывания и связкиJ~25 минкурс
  3. Таблицы истинностиJ~20 минкурс
  4. Равносильные формулыJ~25 минкурс
  5. Нормальные формыJ~20 минкурс
  6. SAT и DPLLJ~20 минкурс
  7. Босс: три свидетеля у переулкаJ~90 минкурс
  8. Предикаты и кванторы: «все» и «кто-то»J~25 минкурс
  9. Перевод с кванторами: устав порта в формулахJ~25 минкурс
  10. Отрицание и игра: докажи или опровергниJ~25 минкурс
  11. Модели и общезначимость: истинно где?J~20 минкурс
  12. Свободные и связанные переменные: кто такой «он»J~20 минкурс
  13. Босс: устав противоречит сам себеJ~90 минкурс
  14. Множества: картотека Тимофея ИльичаJ~30 минкурс
  15. Кортежи и отношения: карточки связейJ~20 минкурс
  16. Свойства отношений и эквивалентность: бригадыJ~25 минкурс
  17. Порядки: кто старше по допускуJ~20 минкурс
  18. Функции: у каждого ключа один владелецJ~25 минкурс
  19. Замыкания: у кого мог оказаться ключJ~20 минкурс
  20. Счётность и диагональ: дело, которого нет в спискеJ~25 минкурс
  21. Как читать математический текстJ~25 минкурс
  22. Способы доказательства: алиби тремя путямиJ~25 минкурс
  23. Кванторы в доказательствах: пять утверждений ВельскогоJ~25 минкурс
  24. Как писать доказательство: записка для судьиJ~25 минкурс
  25. Босс: предварительное слушаниеJ~120 минкурс
  26. Индукция: все грузчики заодно?M~25 минкурс
  27. Сильная индукция: кончится ли описьM~20 минкурс
  28. Индуктивные определения: правильно оформленное делоM~25 минкурс
  29. Структурная рекурсия: первая программа отделаM~25 минкурс
  30. Индукция по выводу: лист из блокнота АрбенинойM~20 минкурс
  31. Босс: опись вложенных уликM~120 минкурс
  32. Суждения и правила: черта в блокноте АрбенинойM~25 минкурс
  33. Деревья вывода: ступенька за ступенькойM~20 минкурс
  34. Натуральная дедукция: протокол, где каждая строка по правилуM~20 минкурс
  35. Правила для кванторов: произвольный грузчик и безымянный свидетельM~20 минкурс
  36. Корректность и полнота: только правда и вся правдаM~20 минкурс
  37. Босс: опечатанные протоколыM~120 минкурс
  38. Абстрактный синтаксис: лента и деревоM~25 минкурс
  39. Малый шаг: как Арбитр переписывает делоM~25 минкурс
  40. Значения и застрявшие термы: у зависания есть имяM~20 минкурс
  41. Большой шаг: вердикт одним махомM~25 минкурс
  42. Босс: воспроизвести зависаниеM~120 минкурс
  43. Синтаксис λ: поручение с пропускомM~20 минкурс
  44. Подстановка без захвата: поддельная доверенностьM~20 минкурс
  45. β-редукция и стратегии: поручение, которое не кончаетсяM~25 минкурс
  46. Кодировки Чёрча: числа и «да/нет» из одних функцийM~25 минкурс
  47. Индексы де Брёйна: имена, которые нельзя подменитьM~20 минкурс
  48. Босс: подделка доверенностиM~120 минкурс
  49. Типизированная арифметика: ярлык на каждой уликеS~25 минкурс
  50. Безопасность: продвижение и сохранение типаS~25 минкурс
  51. Простое типизированное λ-исчисление: ярлык для порученияS~25 минкурс
  52. Сохранение типа и лемма подстановки: почему Допуск выключили зряS~25 минкурс
  53. Расширения: папки, описи и «либо одно, либо другое»S~25 минкурс
  54. fix и нормализация: почему Арбенина не дала машине «повторяй, пока не получится»S~25 минкурс
  55. Реконструкция типов: ярлыки, которые стёрлиS~25 минкурс
  56. Let-полиморфизм и Хиндли-Милнер: одна процедура на все уликиS~25 минкурс
  57. Босс I. Допуск снова работаетS~140 минкурс
  58. Интуиционистская логика: а чем докажете, каким из двухS~25 минкурс
  59. Curry-Howard: типы как высказывания, программы как доказательстваS~25 минкурс
  60. Lean: доказательства термамиS~25 минкурс
  61. Lean: тактики и индукцияS~30 минкурс
  62. Lean: арифметика Арбитра и детерминизм шагаS~25 минкурс
  63. Финал. Кодекс прочитанS~160 минкурс
  64. Структурные правила: что будет, если их убратьS~25 минкурс
  65. Линейная логика: монета не берётся из воздухаS~30 минкурс
  66. Аффинная логика и Rust: отдал, значит, потратилS~30 минкурс
  67. Линейные типы в Haskell: сейф закрывают ровно один разS~35 минкурс
  68. Логика Хоара: монета не берётся из воздухаS~30 минкурс
  69. Логика разделения: две бирки на одной полкеS~30 минкурс
  70. Босс: касса монетного двораS~130 минкурс
  71. Модальная логика: необходимо и возможноS~30 минкурс
  72. Системы K, T, S4, S5: аксиома как форма стрелокS~30 минкурс
  73. LTL: всегда, когда-нибудь, до тех пор, покаS~25 минкурс
  74. CTL: время, которое ветвитсяS~25 минкурс
  75. Проверка моделей: перебрать всё, найти лассоS~25 минкурс
  76. Босс: две стрелкиS~130 минкурс
  77. Немонотонный вывод: по умолчанию и отрицание как неудачаS~30 минкурс
  78. Паранепротиворечивость: противоречие без взрываS~30 минкурс
  79. Вероятностная логика: сколько верить источникуS~30 минкурс
  80. Нечёткость, вероятность и машины, которые пишут гладкоS~25 минкурс
  81. Босс: «Сольские ведомости»S~140 минкурс

Понятия курса

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

Допросы: высказывания

  • Босс: три свидетеля у переулкаТри свидетеля ночи кражи, часть из них лжёт. Формализовать показания, найти единственный непротиворечивый вариант и объяснить ответ судье.урок 7 · Босс: три свидетеля у переулкаопираются: урок 8
  • Высказывания и связкиВысказывание как утверждение, которое истинно или ложно. Связки ¬, ∧, ∨, →, ↔ и перевод показаний с русского: «если», «только если», «либо», «ни ... ни».урок 2 · Высказывания и связкиопираются: урок 3
  • Дело Арбитра: зачем учить логикуМашина суда Сольска зависла, а Кодекс обещает, что так не бывает. Как устроен курс, кто такие Сомова, Вельский и судья, и первое учебное дело о правдивом и лжеце, решённое перебором случаев.урок 1 · Дело Арбитра: зачем учить логикуопираются: урок 2
  • Нормальные формыКНФ и ДНФ: любую формулу можно записать как список требований или как список сценариев. Функциональная полнота и одна связка NAND, из которой собирается всё.урок 5 · Нормальные формыопираются: урок 6
  • Равносильные формулыЗаконы де Моргана, дистрибутивность, импликация через ¬A ∨ B и контрапозиция. Как поймать подмену смысла при пересказе и почему ложь влечёт что угодно.урок 4 · Равносильные формулыопираются: урок 5
  • Таблицы истинностиТаблица как перебор всех случаев. Тавтология, выполнимость, противоречие и следование; строка-контрмодель как доказательство того, что следования нет.урок 3 · Таблицы истинностиопираются: урок 4, урок 79
  • SAT и DPLLЗадача выполнимости: когда строк в таблице слишком много. Резолюция, единичные дизъюнкты, чистые литералы и откат в алгоритме DPLL; расписание дежурств как SAT.урок 6 · SAT и DPLLопираются: урок 7

Устав порта: предикаты и кванторы

Картотека: множества и отношения

Слушание: доказательства

Цепочка улик: индукция

Протокол: правила вывода

Машинный зал: вычисление

Шифр Арбениной: λ-исчисление

Допуск: типы

Механический прокурор: Curry-Howard и Lean

Командировка на Монетный двор: субструктурные логики и ресурсы

Командировка в диспетчерскую: модальная и временная логика

  • Босс L: две стрелкиВзаимное исключение двух постов: требования в LTL, гонка и взаимная блокировка как ленты проверяльщика, нечестное расписание, алгоритм Петерсона на Haskell и индуктивный инвариант у судьи; отказ в безопасную сторону.урок 76 · Босс: две стрелкиопираются: урок 77
  • Ветвящееся время: CTLСистемы переходов и дерево вычислений, кванторы путей A и E, восемь операторов CTL, алгоритм разметки через неподвижные точки и почему LTL и CTL несравнимы: F G p против AG EF p.урок 74 · CTL: время, которое ветвитсяопираются: урок 75
  • Линейная временная логика LTLТрассы и лассо, операторы X, F, G, U и слабое W, двойственность, шаблоны требований (отсутствие, ответ, предшествование, повторение), LTLf на конечных журналах, безопасность и живучесть.урок 73 · LTL: всегда, когда-нибудь, до тех пор, покаопираются: урок 74
  • Модальная логикаОператоры □ и ◇ на моделях Крипке: возможные миры, отношение доступности, истинность в мире, тупики, двойственность ◇ = ¬□¬ и прочтения коробки как необходимости, знания, обязанности и времени.урок 71 · Модальная логика: необходимо и возможноопираются: урок 72
  • Проверка моделейЯвный перебор состояний: инвариант обходом в ширину с кратчайшим контрпримером, живучесть через лассо, наблюдатель и автомат Бюхи, взрыв состояний и борьба с ним, справедливость, мост к TLC и TLA+; свой проверяльщик на Haskell.урок 75 · Проверка моделей: перебрать всё, найти лассоопираются: урок 76
  • Системы K, T, S4, S5Аксиома K и правило необходимости, рамки и верность на рамке, соответствие аксиом D, T, B, 4, 5 свойствам доступности, системы K, D, T, S4, S5, логика знания, убеждений и обязанностей.урок 72 · Системы K, T, S4, S5: аксиома как форма стрелокопираются: урок 73

Командировка в редакцию: логики неполного знания

  • Босс M: «Сольские ведомости»Иск к газете за заметку из противоречивых источников: формализация, сводка Белнапа и правило печати, расчёт доверия к двум источникам по Байесу, немонотонный пересмотр и поправка, записка судье против двух возражений: взрыва и «снять всё».урок 81 · Босс: «Сольские ведомости»
  • Вероятностная логикаВероятность формулы как сумма весов строк таблицы истинности, законы вероятности, границы для конъюнкции и отсутствие истинностной функциональности, условная вероятность, правило Байеса, байесовские сети и почему P(A → B) не P(B | A).урок 79 · Вероятностная логика: сколько верить источникуопираются: урок 80
  • Немонотонный выводМонотонность и ослабление, правила по умолчанию Рейтера, предположение о замкнутом мире, отрицание как неудача, Datalog снизу вверх до неподвижной точки, стратификация и безопасность правил; мини-Datalog на Haskell.урок 77 · Немонотонный вывод: по умолчанию и отрицание как неудачаопираются: урок 78
  • Нечёткость, вероятность и AIПарадокс кучи и нечёткие множества Заде, связки min, max и 1 − x, степень истинности против вероятности, карта логик в рассуждающих машинах, коэффициенты уверенности MYCIN и почему языковая модель не логика: модель предлагает, движок проверяет.урок 80 · Нечёткость, вероятность и машины, которые пишут гладкоопираются: урок 81
  • Паранепротиворечивые логикиВзрыв и дизъюнктивный силлогизм, четырёхзначная логика Белнапа: истина, ложь, оба, ничего как то, что сказали источники; связки через флажки, выделенные значения, следование без взрыва, потеря modus ponens и тавтологий, Клини и SQL NULL, сводка источников.урок 78 · Паранепротиворечивость: противоречие без взрываопираются: урок 79