ACL2

ACL2 (Eine Rechenbetonte Logik für das Applicative Allgemeine Lispeln) ist ein Softwaresystem, das aus einer Programmiersprache, einer ausziehbaren Theorie in einer Logik der ersten Ordnung und einem mechanischen Lehrsatz prover besteht. ACL2 wird entworfen, um das automatisierte Denken in induktiven logischen Theorien, größtenteils zum Zweck der Software und Hardware-Überprüfung zu unterstützen. Auf die Eingangssprache und Durchführung von ACL2 wird auf Allgemeinem Lispeln gebaut. ACL2 ist freie, offene Quelle (GPL) Software.

Die ACL2 Programmiersprache ist ein applicative (Nebenwirkung frei) Variante des Allgemeinen Lispelns. ACL2 wird ungetippt. Alle ACL2-Funktionen sind ganz — d. h. jede Funktion stellt jeden Gegenstand im ACL2 Weltall zu einem anderen Gegenstand in seinem Weltall kartografisch dar.

ACL2's stützen Theorie axiomatizes die Semantik seiner Programmiersprache und seiner eingebauten Funktionen. Benutzerdefinitionen auf der Programmiersprache, die einen definitorischen Grundsatz befriedigen, erweitern die Theorie in einem Weg, der die logische Konsistenz der Theorie aufrechterhält.

Der Kern des ACL2's Lehrsatzes prover basiert auf dem Begriff-Neuschreiben, und dieser Kern ist darin ausziehbar benutzerentdeckte Lehrsätze können als ad hoc Probetechniken für nachfolgende Vermutungen verwendet werden.

ACL2 ist beabsichtigt, um eine "Industriekraft" Version des Lehrsatzes von Boyer-Moore prover, NQTHM zu sein. Zu dieser Absicht hat ACL2 viele Eigenschaften, um saubere Technik von interessanten mathematischen und rechenbetonten Theorien zu unterstützen. ACL2 leitet auch Leistungsfähigkeit davon ab, Allgemeines Lispeln gebaut zu werden; zum Beispiel kann dieselbe Spezifizierung, die die Basis für die induktive Überprüfung ist, kompiliert und heimisch geführt werden.

2005 haben die Autoren der Familie von Boyer-Moore von provers, der ACL2 einschließt, den ACM Softwaresystempreis "für das Wegbahnen und die Technik ein wirksamster Lehrsatz prover (...) als ein formelles Methode-Werkzeug erhalten, um sicherheitskritische Hardware und Software nachzuprüfen."

Beweise

ACL2 ist auf zahlreichen Anwendungen verwendet worden. Zum Beispiel haben J Strother Moore und Matt Kaufmann ACL2 verwendet, um die Genauigkeit der Schwimmpunkt-Abteilungsoperationen des AMD K5 Mikroprozessor im Gefolge des Pentiums FDIV Programmfehler zu beweisen.

Links


Hans von Bartels / Thomas Arne
Impressum & Datenschutz