Помощник доказательства - Proof assistant

Интерактивный сеанс доказательства в CoqIDE, показывающий сценарий доказательства слева и состояние доказательства справа.

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

Сравнение систем

название Последняя версия Разработчики) Язык реализации Характеристики
Логика высшего порядка Зависимые типы Маленькое ядро Доказательство автоматизации Доказательство отражением Генерация кода
ACL2 8,2 Мэтт Кауфманн и Джей Стротер Мур Common Lisp Нет Нетипизированный Нет да да Уже исполняемый
Агда 2.6.0.1 Ульф Норелл, Нильс Андерс Даниэльссон и Андреас Абель ( Чалмерс и Гётеборг ) Haskell да да да Нет Частичное Уже исполняемый
Альбатрос 0,4 Гельмут Брандл OCaml да Нет да да Неизвестно Еще не реализовано
Coq 8.11.0 INRIA OCaml да да да да да да
F * хранилище Microsoft Research и INRIA F * да да Нет да да да
HOL Light хранилище Джон Харрисон OCaml да Нет да да Нет Нет
HOL4 Кананаскис-13 (или репо) Майкл Норриш, Конрад Слинд и другие Стандартный ML да Нет да да Нет да
Изабель Isabelle2020 (апрель 2020 г.) Ларри Полсон ( Кембридж ), Тобиас Нипков ( Мюнхен ) и Макариус Венцель Стандартный ML , Scala да Нет да да да да
Опираться v3.4.2 Microsoft Research C ++ да да да да да Неизвестно
LEGO (не связан с компанией LEGO) 1.3.1 Рэнди Поллак ( Эдинбург ) Стандартный ML да да да Нет Нет Нет
Мицар 8.1.05 Белостокский университет Free Pascal Частичное да Нет Нет Нет Нет
NuPRL 5 Cornell University Common Lisp да да да да Неизвестно да
ПВС 6.0 SRI International Common Lisp да да Нет да Нет Неизвестно
Двенадцать 1.7.1 Франк Пфеннинг и Карстен Шюрманн Стандартный ML да да Неизвестно Нет Нет Неизвестно
  • ACL2  - язык программирования, логическая теория первого порядка и средство доказательства теорем (с интерактивным и автоматическим режимами) в традиции Бойера – Мура.
  • Coq  - который позволяет выражать математические утверждения, механически проверяет доказательства этих утверждений, помогает находить формальные доказательства и извлекает сертифицированную программу из конструктивного доказательства ее формальной спецификации.
  • Устройство доказательства теорем HOL  - семейство инструментов, в конечном итоге созданное на основе средства доказательства теорем LCF . В этих системах логическим ядром является библиотека их языка программирования. Теоремы представляют собой новые элементы языка и могут быть введены только с помощью «стратегий», которые гарантируют логическую корректность. Составление стратегии дает пользователям возможность создавать важные доказательства при относительно небольшом взаимодействии с системой. Члены семьи включают:
  • IMPS, Интерактивная система математических доказательств
  • Изабель - интерактивная программа доказательства теорем, преемница HOL. Основная кодовая база лицензируется BSD, но дистрибутив Isabelle включает в себя множество дополнительных инструментов с разными лицензиями.
  • Jape  - на основе Java.
  • ЛЕГО
  • Matita  - система освещения, основанная на исчислении индуктивных конструкций.
  • MINLOG  - Помощник доказательства, основанный на минимальной логике первого порядка.
  • Мицар  - Помощник по доказательству, основанный на логике первого порядка, в стиле естественной дедукции и теории множеств Тарского – Гротендика .
  • PhoX  - помощник проверки, основанный на расширяемой логике высшего порядка.
  • Система проверки прототипов (PVS) - язык и система доказательств, основанная на логике высшего порядка.
  • TPS и ETPS  - интерактивные средства доказательства теорем, также основанные на простом типизированном лямбда-исчислении, но основанные на независимой формулировке логической теории и независимой реализации.
  • Typelab
  • Тысячелистник

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

Пользовательские интерфейсы

Популярным интерфейсом для помощников по доказательству является основанная на Emacs Proof General, разработанная в Эдинбургском университете . Coq включает CoqIDE, основанный на OCaml / Gtk . Isabelle включает Isabelle / jEdit, основанную на jEdit, и инфраструктуру Isabelle / Scala для обработки документов, ориентированных на проверку. Совсем недавно Макариус Венцель разработал расширение Visual Studio Code для Isabelle.

Смотрите также

Ноты

Ссылки

внешние ссылки

Каталоги