Asystent weryfikacji - Proof assistant
W informatyce i logiki matematycznej , A dowód asystent lub interaktywny twierdzenie Prover to narzędzie, aby pomóc w rozwoju formalnych dowodów poprzez współpracę człowieka z maszyną. Wiąże się to z jakimś rodzajem interaktywnego edytora dowodów lub innym interfejsem , za pomocą którego człowiek może kierować wyszukiwaniem dowodów, których szczegóły są przechowywane, a niektóre kroki zapewnia komputer .
Porównanie systemów
Nazwa | Ostatnia wersja | Deweloper(zy) | Język implementacji | Cechy | |||||
---|---|---|---|---|---|---|---|---|---|
Logika wyższego rzędu | Typy zależne | Małe jądro | Dowód automatyzacji | Dowód przez odbicie | Generowanie kodu | ||||
ACL2 | 8,3 | Matt Kaufmann i J Strother Moore | Wspólne seplenienie | Nie | Nieopisane | Nie | tak | tak | Już wykonywalny |
Agda | 2.6.2 | Ulf Norell, Nils Anders Danielsson i Andreas Abel ( Chalmers i Göteborg ) | Haskell | tak | tak | tak | Nie | Częściowy | Już wykonywalny |
Albatros | 0,4 | Helmut Brandl | OCaml | tak | Nie | tak | tak | Nieznany | Jeszcze nie zaimplementowane |
Coq | 8.13.2 | INRIA | OCaml | tak | tak | tak | tak | tak | tak |
F* | magazyn | Microsoft Research i INRIA | F* | tak | tak | Nie | tak | tak | tak |
Światło HOL | magazyn | John Harrison | OCaml | tak | Nie | tak | tak | Nie | Nie |
HOL4 | Kananaskis-13 (lub repo) | Michael Norrish, Konrad Slind i inni | Standardowy ML | tak | Nie | tak | tak | Nie | tak |
Idrys | 2 0.4.0. | Edwin Brady | Idrys | tak | tak | tak | Nieznany | Częściowy | tak |
Izabela | Isabelle2021 (luty 2021) | Larry Paulson ( Cambridge ), Tobias Nipkow ( München ) i Makarius Wenzel | Standardowy ML , Scala | tak | Nie | tak | tak | tak | tak |
Pochylać się | v3.4.2 | Badania firmy Microsoft | C++ | tak | tak | tak | tak | tak | Nieznany |
LEGO (nie jest powiązany z Lego ) | 1.3.1 | Randy Pollack ( Edynburg ) | Standardowy ML | tak | tak | tak | Nie | Nie | Nie |
Mizar | 8.1.05 | Uniwersytet Białostocki | Bezpłatny Pascal | Częściowy | tak | Nie | Nie | Nie | Nie |
NuPRL | 5 | Uniwersytet Cornella | Wspólne seplenienie | tak | tak | tak | tak | Nieznany | tak |
PVS | 6,0 | SRI Międzynarodowy | Wspólne seplenienie | tak | tak | Nie | tak | Nie | Nieznany |
dwanaście | 1.7.1 | Frank Pfenning i Carsten Schürmann | Standardowy ML | tak | tak | Nieznany | Nie | Nie | Nieznany |
- ACL2 – język programowania, teoria logiczna pierwszego rzędu i dowodzenie twierdzeń (w trybie interaktywnym i automatycznym) w tradycji Boyer-Moore.
- Coq – który umożliwia wyrażenie twierdzeń matematycznych, mechanicznie sprawdza dowody tych twierdzeń, pomaga znaleźć dowody formalne i wyodrębnia certyfikowany program z konstruktywnego dowodu jego formalnej specyfikacji.
-
Dowódcy twierdzenia HOL – Rodzina narzędzi wywodząca się ostatecznie z dowodzenia twierdzenia LCF . W tych systemach rdzeń logiczny stanowi biblioteka ich języka programowania. Twierdzenia stanowią nowe elementy języka i mogą być wprowadzane tylko poprzez „strategie”, które gwarantują logiczną poprawność. Kompozycja strategii daje użytkownikom możliwość tworzenia znaczących dowodów przy stosunkowo niewielkiej liczbie interakcji z systemem. Członkowie rodziny to:
- HOL4 – „pierwotny potomek”, wciąż aktywnie rozwijany. Wsparcie dla Moscow ML i Poly/ML . Posiada licencję w stylu BSD .
- HOL Light – kwitnący „minimalistyczny widelec”. OCaml oparty.
- ProofPower – przeszedł na własność, a następnie wrócił do open source. Na podstawie standardowego uczenia maszynowego .
- IMPS, interaktywny system dowodu matematycznego
- Isabelle jest interaktywnym dowodzicielem twierdzeń, następczynią HOL. Główna baza kodu jest na licencji BSD, ale dystrybucja Isabelle zawiera wiele dodatkowych narzędzi z różnymi licencjami.
- Jape – oparty na Javie.
- Pochylać się
- KLOCKI LEGO
- Matita – Lekki system oparty na rachunku konstrukcji indukcyjnych.
- MINLOG – Asystent dowodu oparty na logice minimalnej pierwszego rzędu.
- Mizar – Asystent dowodu oparty na logice pierwszego rzędu, w stylu dedukcji naturalnej i teorii mnogości Tarskiego-Grothendiecka .
- PhoX – Asystent dowodu oparty na logice wyższego rzędu, która jest rozszerzalna.
- Prototype Verification System (PVS) – język dowodowy i system oparty na logice wyższego rzędu.
- TPS i ETPS – Interaktywne dowodzenie twierdzeń również oparte na prostym rachunku lambda, ale oparte na niezależnym sformułowaniu teorii logicznej i niezależnej implementacji.
- Typelab
- Krwawnik pospolity
Twierdzenie Prover Muzeum to inicjatywa w celu zachowania źródła twierdzenia systemów Prover analizy przyszłych, ponieważ są one istotne / artefakty kultury naukowej. Posiada źródła wielu z wyżej wymienionych systemów.
Interfejsy użytkownika
Popularnym interfejsem dla asystentów dowodu jest oparty na Emacs Proof General, opracowany na Uniwersytecie w Edynburgu . Coq zawiera CoqIDE, który jest oparty na OCaml/ Gtk . Isabelle zawiera Isabelle/jEdit, która jest oparta na jEdit i infrastrukturze Isabelle/ Scala do przetwarzania dowodów zorientowanych na dokumenty. Niedawno Makarius Wenzel opracował również rozszerzenie Visual Studio Code dla Isabelle.
Zobacz też
- Zautomatyzowane dowodzenie twierdzeń
- Dowód wspomagany komputerowo
- Manifest QED
- Weryfikacja formalna
- Teorie modulo spełnialności
- Metamath – język do opracowywania sformalizowanej matematyki wraz ze sprawdzaniem dowodu dla tego języka i kilkoma bazami danych tysięcy udowodnionych twierdzeń.
Uwagi
Bibliografia
- Henk Barendregt i Herman Geuvers (2001). „Asystenty sprawdzające wykorzystujące systemy typu zależnego” . W Podręczniku Zautomatyzowanego Wnioskowania .
- Franka Pfenninga (2001). „Struktury logiczne” . W Podręczniku Zautomatyzowanego Wnioskowania .
- Franka Pfenninga (1996). „Praktyka ram logicznych”.
- Robert L. Constable (1998). „Typy w informatyce, filozofii i logice”. W podręczniku teorii dowodu .
- H. Geuversa. „ Asystenci dowodu: historia, idee i przyszłość ”.
- Freeka Wiedijka. „ Siedemnastu Dowodzących Świata ”
Zewnętrzne linki
- "Wprowadzenie" w Certyfikowanym Programowaniu z Typami Zależnymi .
- Wprowadzenie do Coq Proof Assistant (z ogólnym wprowadzeniem do interaktywnego dowodzenia twierdzeń)
- Interaktywne dowodzenie twierdzeń dla użytkowników Agda
- Lista narzędzi do dowodzenia twierdzeń
- Katalogi
- Matematyka cyfrowa według kategorii: Tactic Provers
- Zautomatyzowane systemy i grupy odliczeń
- Dowodzenie twierdzeń i automatyczne systemy wnioskowania
- Baza danych istniejących zmechanizowanych systemów wnioskowania
- NuPRL: inne systemy
- Konkretne ramy logiczne i implementacje
- DMOZ : Nauka: Matematyka: Logika i podstawy: Logika obliczeniowa: Ramy logiczne