Чому деяким двигунам висновку потрібна допомога людини, а інші - ні?


16

Я самостійно навчаюсь автоматизованому доказуванню теореми / розв'язкам SMT / кореспондентам і розміщую низку питань про цей процес, починаючи тут .

Чому це , що автоматизовані доведення теорем, тобто ACL2 і SMT вирішувачі не потрібна людська допомога при вибухозахищені асистенти, тобто Isabelle і Coq , робити?

Знайдіть серіал 'Наступне питання тут .

Відповіді:


14

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

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

Зауважте, що існують підходи, які дозволяють помічникам доказування знайти важливі леммати, наприклад, IsaPlanner . Інструмент здогадується (індуктивні) леммати шляхом перерахування та випадкового тестування, а потім намагається їх довести. Ітерацією процесу багато леммат, наприклад, типових визначень типів даних, можна знайти автоматично.


Малий ABC

  • валідність - формула є дійсною, вона містить усе, що ви присвоюєте вільним змінним.
  • вільні змінні - ті змінні, які не пов'язані кванторами, такими як і
  • рішучість - властивість (булева) є (Turing) рішучою, якщо існує алгоритм, який відповідає "так" або "ні" (правильно) через обмежений час.
  • логіка пропозицій - також логіка нульового порядку ; не дозволяється кількісне визначення.
  • перший логічний порядок - Кількісне дозволено тільки над особами, тобто ви можете зробити але неf . f ( 4 ) >х.П(х)f.f(4)>0
  • логіка вищого порядку - ви можете кількісно оцінити (і «побудувати») довільно складні об'єкти, наприклад, функції вищого порядку (функції, що приймають функції).

@GuyCoder: Я не впевнений, що це можливо. Ми не можемо написати кожну відповідь такою, що вона засвоюється без попереднього знання. АТФ - це передові речі; Я б не рекомендував нікому навчати їх без міцного досвіду логіки. Написання відповідей так, як ви, здається, бажаєте, може лише створити ілюзію розуміння, але насправді не допоможе, імхо. Тож усі, хто цікавиться вашою серією, спершу повинні зробити деякі логіки, з якими ми також можемо допомогти - в інших питаннях.
Рафаель

7

Я б сказав, що класичне відмінність "автоматизованого доведення теореми" (ATP) від "доведення інтерактивної теореми" (ITP) потрібно переглянути. Якщо взяти відому систему ITP, як Isabelle / HOL сьогодні (Isabelle2013 від лютого 2013 року), вона інтегрує досить багато додаткових інструментів з портфеля ATP:

  • Бортові загальні автоматизовані інструменти доказування: старі шкільні інструменти Ізабель, як fastі blast(Л. Полсон) та новіші автоматизовані докази типу metis(Дж. Херд).

  • Зовнішні АТП для логіки першого порядку, які викликаються через кувалду: E prover, SPASS, Vampire. Доказ, який знайдено, аналізується, щоб з'ясувати, які леми сприяли цьому, скоротивши 10000 до 10 секунд, і підсиливши результат metis.

  • Зовнішні ЗМТ з частковою реконструкцією, зокрема для Z3 (автор S. Boehme).

  • Інструменти для пошуку зустрічних прикладів недоведених тверджень: Nitpick / Kodkodi (J. Blanchette) та Quickcheck (L. Bulwahn).

Чи всі ці автоматизовані речі роблять Ізабел автоматизованою теоремою?

Зрештою, я вважаю, що відмінність "ATP" від "ITP" - це лише якась "мітка", яка говорить про те, як ви хочете позиціонувати або "продавати" вашу систему: АТФ претендують на "кнопкові інструменти", але в На практиці вам доведеться взаємодіяти (опосередковано), надаючи параметри чи підказки або переформулюючи свою проблему. Це насправді може бути досить складним через довгі тривалості виконання, які є звичними для спільноти ATP.

На противагу цьому, система ІТП створена для людей, які чекають на місці, з напівпристойним доступом до внутрішніх доказів, щоб побачити, чого не вистачає, щоб закінчити доказ. Система ITP, яка завершує використання інструментів ATP, як Ізабел, може виявитись більш привабливою для більшої кількості користувачів та більше додатків, ніж лише ITP чи ATP.


Минув час, але якщо я правильно пам’ятаю, fastні blastдокази; в основному вони є евристикою з використанням певних правил, які можуть знайти доказ. (Звичайно, вони є підтвердженням відповідного невеликого підмножини формул, що справедливо для будь-якого методу перерахування доказів.)
Рафаель

2
Якщо ви говорите "доказ", чи ви фактично маєте на увазі "процедуру прийняття рішення" для певної фіксованої мови? Більшість СПС «випробувачі» є процедурами статі-рішення, як ви охарактеризувати fastі blast. Зауважимо, що він blastбув представлений Л. Полсоном як «Загальний доказ Табау та його інтеграція з Ізабеллою» на якомусь семінарі CADE - документ з'явився пізніше у J. UCS 1999. також процедури прийняття рішень для деяких спеціальних мов (підмножини арифметики).
Макарій
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.