Автоматическое доказательство теорем
Материал из MachineLearning.
|
Автоматическое доказательство теорем (automated theorem proving, ATP) — область искусственного интеллекта, математической логики и теории программирования, изучающая методы машинного поиска и проверки формальных доказательств. В узком смысле ATP означает полностью автоматический поиск вывода в заданной логической системе. В широком современном смысле сюда относят также интерактивные ассистенты доказательств, SMT-решатели, SAT-решатели, системы формализации математики и нейросимвольные методы, в которых нейросеть предлагает шаги, а формальный проверяющий механизм удостоверяет корректность результата.
Центральная идея состоит в том, что математическое утверждение переводится на формальный язык, после чего доказательство становится конечным объектом, который можно проверить алгоритмически. Если проверка проходит, доверие к результату переносится с длинного человеческого рассуждения на сравнительно малое ядро формальной системы.
Мотивация
Математические доказательства в обычных статьях пишутся на естественном языке, используют контекст, соглашения и эвристические пропуски. Это удобно для людей, но затрудняет машинную проверку и делает крупные доказательства уязвимыми к незамеченным пробелам. Автоматическое доказательство теорем решает несколько связанных задач.
- Проверка корректности. Формальный сертификат позволяет убедиться, что доказательство следует из явно заданных аксиом и уже доказанных лемм.
- Поиск доказательств. Машина может перебрать множество вариантов вывода, применить леммы, переписать выражения, решить арифметические подзадачи или найти контрмодель.
- Формализация больших теорий. Библиотеки вроде Mathlib в Lean и Mathematical Components в Coq/Rocq превращают фрагменты современной математики в проверяемый корпус.
- Верификация программ и аппаратуры. Те же методы применяются к спецификациям компиляторов, протоколов, микропроцессоров и критически важных программ.
- Обучение и объяснение. Ассистент доказательств делает скрытые зависимости явными и показывает, какие именно леммы нужны для вывода.
Проблема автоматического доказательства теорем отличается от обычного численного расчёта: требуется не только получить ответ, но и предъявить проверяемый вывод. Поэтому в современных системах различают поиск доказательства и проверку доказательства. Поиск может быть эвристическим, вероятностным или нейросетевым; проверка должна быть строгой.
Историческая справка
Идея механизации рассуждения восходит к проектам Лейбница, к булевой алгебре, исчислению предикатов Фреге и Гильбертовой программе формализации математики. После появления электронных компьютеров эта линия стала частью раннего искусственного интеллекта.
Обычно в истории ИИ ссылаются на Дартмутский семинар 1956 года, где был оформлен сам термин «искусственный интеллект». В тот же ранний период А. Ньюэлл, Г. Саймон и Дж. Шоу создали Logic Theorist, программу, доказывавшую теоремы из Principia Mathematica. Это был один из первых демонстрационных успехов символического ИИ.
В 1965 году Дж. Робинсон предложил метод резолюций для логики первого порядка. Вместе с унификацией он стал основой многих классических автоматических доказателей. В дальнейшем развились методы суперпозиции для равенств, табличные методы, переписывание термов, SAT и SMT-решатели, а также интерактивные системы, где человек управляет доказательством через тактики.
С конца XX века важную роль играют ассистенты доказательств: Mizar, HOL, Isabelle/HOL, Coq, Agda, Lean. Они сделали возможной формализацию крупных результатов: теоремы о четырёх красках, теоремы Фейта–Томпсона, существенных частей анализа, алгебры, топологии и теории чисел.
Формальная постановка
Пусть — множество аксиом и уже доказанных утверждений, а
— формула. Задача доказательства состоит в построении конечного объекта
, такого что
Здесь
означает выводимость в выбранной формальной системе.
Система автоматического доказательства обычно содержит:
- формальный язык для записи утверждений;
- правила вывода или типовую теорию, задающую корректные шаги;
- алгоритм поиска или интерактивные тактики;
- проверяющее ядро, принимающее или отвергающее найденный сертификат;
- библиотеку определений и лемм.
Важна разница между истинностью и выводимостью. Истинность формулы зависит от семантики модели, а выводимость — от формальных правил. Для многих логик задача доказательства алгоритмически трудна или неразрешима, поэтому практические системы комбинируют полные процедуры для ограниченных фрагментов с эвристиками для общих случаев.
Основные принципы
Формализация
Формализация переводит математическое высказывание с естественного языка в выражение формального языка. Например, утверждение «для всех натуральных сумма первых
нечётных чисел равна
» должно быть записано через конкретные определения натуральных чисел, суммы, нечётности и степени.
Формализация трудна потому, что в обычной математике многие детали не проговариваются: области определения, неявные coercion-преобразования, выбор базовой теории множеств или типов, соглашения о равенстве структур. Ассистенты доказательств заставляют эти детали указать явно или вывести автоматически.
Поиск вывода
Классические ATP-системы преобразуют задачу к форме, удобной для поиска. Для логики первого порядка часто используется сколемизация, клаузальная форма, унификация и резолюция. Для логики с равенством используются параметодуляция, суперпозиция и упорядоченное переписывание.
SAT-решатели работают с булевыми формулами, обычно в конъюнктивной нормальной форме. SMT-решатели расширяют SAT идеями из теорий: линейной арифметики, массивов, битовых векторов, неинтерпретируемых функций. Верификация программ часто сводит подзадачи именно к SMT.
Малое доверенное ядро
Многие системы строятся по архитектуре LCF: сложные тактики могут быть большими и эвристическими, но они не имеют права напрямую объявить теорему доказанной. Они должны построить объект, который принимает малое ядро. Это уменьшает доверенную часть системы.
Тактики
В интерактивных системах пользователь видит текущие цели и применяет тактики: упрощение, переписывание, индукцию, разбиение случаев, вызов решателей арифметики, поиск по библиотеке. Тактика может быть полностью автоматической, но результат всё равно проверяется ядром.
Curry–Howard
В теории типов используется соответствие Карри–Ховарда: утверждения рассматриваются как типы, а доказательства как термы этих типов. Проверить доказательство значит проверить тип терма. Этот принцип лежит в основе Coq/Rocq, Lean, Agda и ряда систем, связанных с конструктивной математикой.
Классические методы
Резолюция сводит доказательство от противного к выводу пустой дизъюнкции из множества дизъюнктов. Если отрицание цели вместе с аксиомами противоречиво, исходная цель доказана.
Унификация находит подстановки, делающие термы одинаковыми. Она необходима для применения общих лемм к конкретным выражениям.
Переписывание заменяет термы по равенствам и правилам редукции. В практических ассистентах оно используется постоянно: раскрыть определение, упростить арифметику, привести выражение к нормальной форме.
Индукция нужна для структур данных и рекурсивных определений. Автоматизация индукции остаётся сложной задачей, потому что требуется выбрать правильное утверждение и правильную обобщённую форму индукционной гипотезы.
SAT/SMT эффективны для больших дискретных и арифметических подзадач. Они часто не заменяют ассистент доказательств, а служат внешними оракулами, выдающими сертификаты или проверяемые следы.
Современный инструментарий
Lean
Lean — язык программирования и интерактивный ассистент доказательств на основе зависимой теории типов. Он используется как для формализации математики, так и для экспериментов с автоматическим доказательством. Экосистема Lean особенно известна библиотекой Mathlib, где формализованы большие разделы алгебры, анализа, топологии, комбинаторики и теории чисел.
В Lean доказательство можно строить как терм или как последовательность тактик. Типичные автоматизирующие средства включают упрощение выражений, переписывание, линейную арифметику, нормализацию колец и поиск по библиотеке. Практически важная особенность Lean — удобство взаимодействия с современными языковыми моделями: формальный синтаксис даёт ясный сигнал успеха или ошибки, а ядро проверяет найденный результат.
Coq / Rocq
Coq — историческое название системы, ныне развиваемой как Rocq Prover. Это ассистент доказательств на основе исчисления индуктивных конструкций. Он позволяет записывать определения, программы и доказательства в единой конструктивной среде и извлекать программы из доказанных спецификаций.
С Coq/Rocq связаны крупные формализации: доказательство теоремы о четырёх красках, формализация теоремы Фейта–Томпсона, сертифицированный компилятор CompCert, библиотеки Mathematical Components и Software Foundations. Система также использовалась как платформа для развития гомотопической теории типов и унивалентных оснований.
Homotopy Type Theory
Гомотопическая теория типов (homotopy type theory, HoTT) — направление, связывающее зависимую теорию типов с гомотопической топологией. В HoTT типы интерпретируются как пространства, элементы как точки, а равенства как пути. Центральную роль играет аксиома унивалентности В. Воеводского: эквивалентные структуры можно отождествлять как равные в подходящем формальном смысле.
HoTT важна для автоматического доказательства теорем по двум причинам. Во-первых, она предлагает основание математики, лучше согласованное со структурной практикой современной алгебры и топологии. Во-вторых, она показывает, что выбор основания влияет на удобство формализации: одни утверждения проще доказывать в классической теории множеств, другие — в зависимой теории типов с унивалентностью и высшими индуктивными типами.
Нейросетевые методы и IMO
Современная тенденция — соединять строгую проверку с машинным обучением. Нейросеть хорошо генерирует предположения, леммы, промежуточные шаги и формализации, но сама по себе может выдавать правдоподобные ошибки. Формальная система даёт обратную связь: шаг либо проверяется, либо нет.
В 2024 году Google DeepMind представила системы AlphaProof и AlphaGeometry 2, которые вместе решили четыре из шести задач Международной математической олимпиады 2024 года и набрали 28 баллов из 42, что соответствует уровню серебряной медали. AlphaProof использовал формальный язык Lean: языковая модель переводила задачи и варианты рассуждений в формальные утверждения, а система поиска, связанная с идеями AlphaZero, искала доказательства и получала подкрепление от успешной проверки. AlphaGeometry 2 был нейросимвольной системой для геометрии: языковая модель предлагала вспомогательные построения, а символический движок проверял геометрические следствия.
Этот пример хорошо показывает современную архитектуру ATP: нейросеть не заменяет доказательство, а помогает в поиске. Финальная надёжность возникает потому, что найденный вывод можно проверить формальным или специализированным символическим механизмом.
Формализация Великой теоремы Ферма и найденная ошибка
Проекты формализации показывают, что ассистенты доказательств полезны не только для новых доказательств, но и для проверки оснований уже известных результатов. В проекте формализации Великой теоремы Ферма в Lean возникла ситуация, описанная Кевином Баззардом в декабре 2024 года: при формализации теории разделённых степеней, необходимой для построений в кристаллической когомологии, Lean не принял человеческое изложение одного стандартного аргумента. При внимательной проверке выяснилось, что ключевая лемма в работе Н. Роби, на которую опиралась литература, в такой формулировке кажется неверной; в применении выпадал один тензорный множитель.
Важно, что речь не шла о прямом опровержении Великой теоремы Ферма или доказательства Уайлса. Проблема находилась в технической литературной базе, через которую современный формализационный маршрут строит необходимые объекты. Позднее был найден обход: Б. Конрад указал на другой подход в приложении к книге Бертло–Огюса по кристаллической когомологии, после чего «доказательство снова стало на рельсы». Этот эпизод иллюстрирует практический смысл формализации: компьютер не «понимает авторитет» стандартного текста, а требует точного проверяемого перехода.
Ограничения
Автоматическое доказательство теорем не является универсальным решателем математики. Основные ограничения таковы:
- пространство поиска доказательств огромно;
- формализация естественного текста требует труда и экспертных решений;
- большие библиотеки нуждаются в согласованной терминологии и инженерной поддержке;
- автоматизация хорошо работает в одних областях и слабо в других;
- нейросети помогают искать, но без формальной проверки не дают математической гарантии.
Поэтому современная практика всё чаще является гибридной: человек задаёт идеи и структуру, нейросеть предлагает варианты, автоматические решатели закрывают рутинные подзадачи, а ассистент доказательств проверяет итог.
См. также
- Искусственный интеллект
- Машинное обучение
- Логический вывод
- Экспертные системы
- Формальная грамматика
- Язык программирования
Ссылки
- Lean Programming Language
- Mathlib4 — библиотека формализованной математики для Lean
- The Rocq Prover, formerly Coq
- Rocq/Coq Reference Manual
- The HoTT Book: Homotopy Type Theory: Univalent Foundations of Mathematics
- The Univalent Foundations Program. Homotopy Type Theory: Univalent Foundations of Mathematics. arXiv:1308.0729, 2013.
- AlphaProof and AlphaGeometry teams. AI achieves silver-medal standard solving International Mathematical Olympiad problems. Google DeepMind, 25 июля 2024.
- Trinh T. H. et al. Solving olympiad geometry without human demonstrations. Nature, 2024.
- Chervonyi Y. et al. Gold-medalist Performance in Solving Olympiad Geometry with AlphaGeometry2. arXiv:2502.03544, 2025.
- Buzzard K. Fermat’s Last Theorem — how it’s going. Xena Project, 11 декабря 2024.
- Дартмутский семинар
- Robinson J. A. A Machine-Oriented Logic Based on the Resolution Principle. Journal of the ACM, 12(1), 23--41, 1965.
- Newell A., Shaw J. C., Simon H. A. Empirical Explorations with the Logic Theory Machine. Proceedings of the Western Joint Computer Conference, 1957.

