Логика для вычислимых функций

редактировать

Логика для вычислимых функций (LCF ) - интерактивное автоматическое средство доказательства теорем, разработанное в Стэнфорде и Эдинбурге Робином Милнером и соавторами. в начале 1970-х годов, на основе теоретических основ логики вычислимых функций, ранее предложенных Даной Скотт. В ходе работы над системой LCF был представлен универсальный язык программирования ML, позволяющий пользователям писать тактики доказательства теорем, поддерживающие алгебраические типы данных, параметрический полиморфизм, абстрактные типы данных и исключения.

Содержание
  • 1 Основная идея
  • 2 Преимущества
  • 3 Недостатки
    • 3.1 Надежная вычислительная база
    • 3.2 Эффективность и сложность процедур проверки
  • 4 Влияния
  • 5 Примечания
  • 6 Ссылки
Основная идея

Теоремы в системе являются терминами специальной «теоремы» абстрактного типа данных. Общий механизм абстрактных типов данных ML гарантирует, что теоремы выводятся с использованием только правил вывода, заданных операциями абстрактного типа теорем. Пользователи могут писать произвольно сложные программы машинного обучения для вычисления теорем; справедливость теорем не зависит от сложности таких программ, но следует из обоснованности реализации абстрактного типа данных и корректности компилятора ML.

Преимущества

Подход LCF обеспечивает такую ​​же надежность, что и системы, которые генерируют явные сертификаты подтверждения, но без необходимости хранить объекты доказательства в памяти. Тип данных «теорема» может быть легко реализован для факультативного хранения объектов доказательства, в зависимости от конфигурации системы во время выполнения, поэтому он обобщает базовый подход создания доказательств. Проектное решение использовать язык программирования общего назначения для разработки теорем означает, что, в зависимости от сложности написанных программ, можно использовать тот же язык для написания пошаговых доказательств, процедур принятия решений или средств доказательства теорем.

Недостатки

База доверенных вычислений

Реализация базового компилятора машинного обучения добавляет к базе доверенных вычислений. Работа над CakeML привела к появлению официально проверенного компилятора ML, что частично сняло эти опасения.

Эффективность и сложность процедур доказательства

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

Влияния

Среди последующих реализаций - Cambridge LCF. Более поздние системы упростили логику, чтобы использовать общие функции вместо частичных, что привело к HOL, HOL Light и Isabelle proof assistant, которые поддерживают различные логики. По состоянию на 2019 год помощник по доказательству Изабель все еще содержит реализацию логики LCF, Isabelle / LCF.

Примечания
Список литературы
Последняя правка сделана 2021-05-28 05:32:32
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте