Чи є розумна автоматизована система доказів для теорем TCS?


28

Припустимо, я хотів формалізувати доказ Тьюрінга щодо проблеми зупинки, щоб машина могла її перевірити. Деякі з відомих автоматизованих систем доведення теорем включають Mizar, Coq та HOL4. Я завантажував і експериментував з Coq, але він не має бібліотеки для машин Тьюрінга. Я думав сам кодувати його, але знайшов, що підручник не вистачає, а мову важко підібрати.

Моє запитання: чи існує автоматизований доказ теореми, який, як правило, добре доводить теореми, що стосуються машин Тьюрінга? Я вважаю, що така теорема є «доброю», якщо вона може формалізувати доказ нерозбірливості проблеми зупинки за допомогою вже існуючих бібліотек. Я вважаю це ще краще, якщо підібрати його відносно просто. (Для запису у мене зазвичай не виникає труднощів з мовами програмування.)

Спасибі,

Філіп


Ви можете перевірити цю сторінку, але цей список не містить проблеми з зупинкою.
Каве

10
Смію сказати, що вам потрібно наполегливо наполягати на чомусь схожим на Coq, перш ніж це стане природним. І вам потрібно бути на терміналі, працюючи через проблеми, а не читаючи книгу. Допоможіть "Інтерактивне доведення теореми та розробка програми: Coq'Art: Обчислення індуктивних конструкцій" допоможе. Підручники з кок : cis.upenn.edu/~bcpierce/sf та adam.chlipala.net/cpdt досить хороші (хоча й не спрямовані безпосередньо на те, що ви хочете).
Дейв Кларк

5
Формалізація доказу може бути досить складною, якщо вибрати "неправильну" його версію. Для проблеми зупинки я б запропонував спочатку довести більш загальну та абстрактну версію. Тоді ви зможете довести пізніше, що машини Тьюрінга - це особливий випадок абстрактної версії, якщо ви все ще хочете робити це (буде дуже багато нудних деталей про машини Тьюрінга, тому, можливо, час краще витратити на щось інше). Я подумаю про хороший спосіб довести це в Coq. Слідкуйте за налаштуваннями.
Андрій Бауер

5
Якщо ви добре володієте математикою та добре програмуєте, тоді у вас є необхідні умови, щоб навчитися користуватися асистентом з перевірки. Вам справді потрібно ставитися до цього як до нового вміння. (Це, однак, дуже корисно.)
Ніл Кришнасвамі

Схоже, відповідь на питання "ні". Така система була б дуже корисною, я думаю - чи можу я попросити, якщо ви формалізуєте машини Тьюрінга, чи можете ви трохи поміркувати над поліноміально-часовою еквівалентністю?
Колін МакКійлан

Відповіді:


17

Ось бібліотека Ізабел / HOL, що містить теорему Райса, яка говорить про нерозбірливість широкого кола проблем. Оскільки ця бібліотека моделює обчислюваність за допомогою рекурсивних функцій, вам доведеться кодувати універсальну машину Тьюрінга як рекурсивну функцію, щоб використовувати цю теорему для доказу невирішеності проблеми зупинки машин Тьюрінга. Однак основні частини доказу невідповідності вже зроблені.

http://afp.sourceforge.net/browser_info/current/HOL/Recursion-Theory-I/index.html

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.