Предположим, я хотел формализовать доказательство Тьюринга относительно проблемы остановки, чтобы машина могла его проверить. Некоторые из известных автоматизированных систем доказательства теорем включают Mizar, Coq и HOL4. Я скачал и экспериментировал с Coq, но у него нет библиотеки для машин Тьюринга. Я думал сам написать один код, но обнаружил, что учебника не хватает, а язык трудно подобрать.
Мой вопрос таков: есть ли автоматический доказатель теорем, который, как правило, хорошо доказывает теоремы, связанные с машинами Тьюринга? Я бы посчитал такой доказатель теоремы «хорошим», если бы он мог формализовать доказательство неразрешимости проблемы остановки, используя уже существующие библиотеки. Я бы посчитал это еще лучше, если его относительно легко подобрать. (Кстати, у меня обычно нет проблем с языками программирования.)
Благодарность,
Филипп
Ответы:
Вот библиотека Изабель / HOL, содержащая теорему Райса, которая заявляет о неразрешимости широкого круга задач. Поскольку эта библиотека моделирует вычислимость с помощью рекурсивных функций, вы должны закодировать универсальную машину Тьюринга как рекурсивную функцию, чтобы использовать эту теорему для доказательства неразрешимости проблемы остановки машин Тьюринга. Однако существенные части доказательства неразрешимости уже сделаны.
http://afp.sourceforge.net/browser_info/current/HOL/Recursion-Theory-I/index.html
источник