Як би я пішов на вивчення основної теорії асистента Coq?


40

Я переглядаю конспекти курсу на CIS 500: Основи програмного забезпечення та вправи дуже цікаві. Я лише на третьому наборі вправ, але хотів би дізнатися більше про те, що відбувається, коли я використовую тактику, щоб довести подібні речіforall (n m : nat), n + n = m + m -> n = m.

Відповіді:


32

Слід почати - посібник з Coq ( pdf ). У главі 4 описана основна логіка Coq, і в кінцевому підсумку все ґрунтується на цьому. Це називається обчислення (спів) індуктивних конструкцій, і багато робіт описують. Ознайомлення з програмою « Інтерактивне доведення теореми та розробка програм Coq'Art » забезпечує більш неквапливий, але не дешевий вступ до Coq.

Щоб дізнатися про те, як працює тактика, погляньте на це попереднє запитання: як "тактика" працює у помічників?

Щоб створити необхідну теорію, вам потрібно дізнатися про теорію типів . Найбільш тісно пов'язане з теорією, що лежить в основі асистента доказування, мабуть, примітки Інтуіціоністичного типу теорії (або книги ) Пер Мартіна- Лефа або книга « Програмування» в теорії типів Мартіна-Лефа , яка справді стосується написання та доведення теорем в теорії типів. Мову програмування щодо теорії типів можна отримати з типів та мов програмування Пірса . Докази та типи Жирара та ін , де також розглядаються важливості листування Кері-Говарда , є ще одним чудовим посиланням. Тоді ви, мабуть, добре і по-справжньому готові прочитати статті Кокенда та ХуетаОбчислення конструкцій . Нарешті переслідуйте деякі посилання в задній частині посібника з Coq.

Є й інші помічники HOL, NuPRL, Mizar, Twelf тощо. Вони теж мають свою теорію, тож ви можете багато чого навчитися, читаючи в цьому напрямку.

Нарешті, для огляду історії та майбутніх асистентів доказування ознайомтеся з останньою статтею Германа Джуверса.


5
Хороший список. Я додам наказ про читання. TAPL Pierce покриває тло; більшість решти не матиме сенсу, поки ви не досконало вкажете правила набору тексту. У розділі 2 ATTAPL відносно типово вводяться залежні типи. Тоді ви можете прочитати розділ 4 посібника по Coq, в якому є правила введення тексту (вам потрібно перевірити бібліографію на деякі вдосконалені матеріали, такі як точні правила рекурсії). Паралельно книга Coq'Art має більш практичний світогляд. Порада про бонус: Show Treeу кок.
Жил "ТАК - перестань бути злим"

2
Я хтось у більш-менш такому ж становищі, що і ОП, хоч трохи далі. Після деяких експериментів я нарешті знайшов порядок 1) Вивчіть функціональне програмування 2) читайте TAPL 3) Читайте про залежні типи в ATTAPL, щоб вони працювали краще, ніж інші речі. Радий знати, що я на вірному шляху.
Джон Сальватьє

1
Я теж був тут, і дістав книгу Coq'Art. Це абсолютно ідеально для розуміння, вони детально вживаються в кожну тактику і пояснюють, коли і як її використовувати. Книга також швидко проводить вас через кожне базове правило в теорії типів, навчаючи вас нотації та як їх використовувати в Coq. Люблю цю книгу.
Ленс Поллард

15

Щодо типового обчислення лямбда, інтуїтивістської логіки, різних систем доказів та ізоморфізму Керрі-Говарда, які є частинами математичної основи Кока, я настійно рекомендую "Лекції про ізоморфізм Керрі-Говарда" (П. Уржичин та М. Соренсен).


Ми, здається, сьогодні на одній довжині хвилі . ;-)
Марк Хаманн

Здається, це день Кері
Дейв Кларк

6

Книга Луо про розширене обчислення конструкцій також є хорошим посиланням. ECC був досить впливовим у розробці теорії типів Кока.


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