Lean - функциональный язык программирования, который также можно использовать как инструмент интерактивного доказательства теорем. Разработка Lean началась Leonardo de Moura (Microsoft Research) в 2013 году.
В этом курсе мы познакомимся с Lean как с инструментом доказательства теорем, и разовьем базу теории нескольких сфер математики. Первая версия этого спецкурса проходила в апреле-июне 2021 года. В этом курсе используется версия Lean 3. Некоторые упражнения заимствованы из курса Formalising Mathematics от Kevin Buzzard.
Конечные множества и начало теории матроидов.
Упражнения на теорию групп и пределы последовательностей (week_2 и week_3 курса Formalising Mathematics).
Упражнения на формальные языки: конкатенация, замыкание Клини. Обновите репозиторий через git pull
, чтобы увидеть новые задания.
Четыре файла с упражнениями на множества, функции, отношения и индуктивные типы (на примере деревьев). Скачайте репозиторий с помощью leanproject get vartem/lean-itmo
и замените sorry
(кроме тех, что использованы для иллюстрации) на доказательства.
Для документации по тактикам можете обратиться к https://leanprover-community.github.io/mathlib_docs/tactics.html.
Мы решали Natural Number Game. Если вы застряли, то можно подсмотреть решения.
- NNG: Addition + Multiplication + Function + Proposition + Adv. Proposition worlds.
- Установить
Lean 3
,elan
иleanproject
по инструкции для вашей ОС (потребуютсяgit
иpip
/pip3
). Я использую Visual Studio Code с расширением для Lean, но можно использовать иemacs
сlean-mode
.
- Дорешать NNG до конца.
- Поиграть в еще одну короткую игру! Эта игра про
max a b
и неравенства. - Посмотреть на репозиторий tutorials с упражнениями
- Видео встречи на Youtube
- Лекция The Future of Mathematics? от Kevin Buzzard
- Демонстрация доказательства бесконечности простых чисел
- Youtube-плейлист с записями встреч
- Главная страница leanprover-community
- Документация API mathlib
- Zulip чат, основное место для обсуждений про Lean
- Twitter и блог Kevin Buzzard про Lean
- Репозиторий tutorials с упражнениями для начинающих
- Конференция Lean for the Curious Mathematician 2020: видео лекций и репозиторий с упражнениями с воркшопов
- Конвенции именования функций в mathlib
- Список учебных ресурсов на leanprover-community
- Theorem Proving in Lean
- Mathematics in Lean и репозиторий, который можно скачать (
leanproject get mathematics_in_lean
) и интерактивно запускать код и следить за книгой