View Code? Open in Web Editor
NEW
This project forked from shd /tt2021
tt2021's Introduction
Курс теории типов, КТ, осень 2021
Лямбда-исчисление, базовые определения, примеры
Немного об истории
Лямбда-выражения, синтаксис
Булевские выражения, чёрчевские нумералы
Теорема Чёрча-Россера, Y-комбинатор
Альфа-эквивалентность, бета-редекс, бета-редукция
Бета-редуцируемость и параллельная бета-редукция
Теорема Чёрча-Россера
Комбинаторы: определение и примеры (I,S,K)
Рекурсия и Y-комбинаторы
Ленивые вычисления, нормальный порядок редукции
Просто типизированное лямбда-исчисление
Язык просто типизированного исчисления (типы, контекст)
Типизация по Чёрчу и по Карри.
Правила вывода
Теоремы о типизации редукции, Чёрча-Россера, об уникальности типизации по Чёрчу.
Импликационный фрагмент интуиционистского исчисления высказываний
Импликационный фрагмент интуиционистского исчисления высказываний
Три задачи (проверка обитаемости, проверка типа, вывод типа)
Вывод типа. Введение в исчисление предикатов второго порядка
Задача унификации
Вывод типа в просто типизированном лямбда-исчислении
Исчисление предикатов второго порядка и система F, введение
Система F. Экзистенциальные типы
Правила для кванторов существования
Экзистенциальные типы
Ранг типа
Аксиоматика
Алгоритм W
Расширения системы: экви- и изорекурсивные типы, тип для Y-комбинатора
Luis Damas and Robin Milner, Principal type-schemes for functional programs
POPL'82: Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, ACM, pp. 207–212
Robin Milner, A theory of type polymorphism in programming (1978) // Journal of Computer and System Sciences, 1978, vol. 17, pp. 348--375
https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.67.5276
Бенджамин Пирс, Типы в языках программирования. Издательство «Лямбда пресс» & «Добросвет», Москва, 2011
Обобщённые типовые системы. Лямбда-куб Барендрегта
Аксиоматика
Лямбда-куб
Зависимые типы, примеры зависимых типов в языках программирования
Языки программирования на лямбда-кубе.
Henk Barendregt, Introduction to generalized type systems.
Journal of Functional Programming 1 (2): 125-154, April 1991
Введение в гомотопическую теорию типов, язык Аренд
Интуиционистские типовые системы для формализации доказательств
Равенство, интенсиональные и экстенсиональные типовые системы
Непрерывные функции
Связные множества, линейная связность, пути
Изоморфизм Карри-Ховарда-Воеводского
Равенство в Аренд. Простейшие примеры программ на Аренд.
Магия: элиминатор для интервального типа coe
Вспомогательные функции: transport, pmap
Типы Empty и Not. Доказательство неравенства
Типы данных, специальные конструкции
Неравенство: два способа определения (через экзистенциальный тип и через обобщённый алгебраический тип)
rewrite и contradiction
Set и Prop
Документация по языку Аренд
Универсумы, гомотопические уровни, фактор-множества
Универсумы
Гомотопические уровни
Фактор-множества, способы определения нетривиальных равенств
Документация по языку Аренд
Постановка задачи, необходимость дополнительной выразительной силы теории.
Каков тип типа? Типовые системы U и U-.
Парадокс Бурали-Форте
Парадокс Бурали-Форте для парадоксальных универсумов (схема доказательства)
Воспроизведение парадокса в системе U (схема), применение правила (\square,\triangle)
Конструктивная аксиома выбора и её доказуемость.
Сетоиды, аксиома выбора для сетоидов.
Аксиома выбора в HoTT и Аренде (как аксиома о перестановке кванторов и пропозиционального обрезания).
Линейные и уникальные типы
Мотивация для линейных типов: гарантия от копирования/уничтожения значений, оптимизации.
Структурные правила (для натурального вывода) и соответствующие им комбинаторы в комбинаторном базисе BCKW.
Линейные типы
Реализация: уникальные типы
Philip Wadler. A taste of linear logic
Edsko de Vries, Rinus Plasmeijer, David M Abrahamson. Uniqueness Typing Simplified
Общие понятия (что такое подтип, ко- и контравариантность)
Система F<:
Полный и ядерный вариант системы F<:
Бенджамин Пирс, Типы в языках программирования. Издательство «Лямбда пресс» & «Добросвет». Москва, 2011
tt2021's People
Watchers