• Keine Ergebnisse gefunden

Formale Methoden der Softwaretechnik Vorlesung vom 13.05.2011: Isabelle — eine Einführung

N/A
N/A
Protected

Academic year: 2022

Aktie "Formale Methoden der Softwaretechnik Vorlesung vom 13.05.2011: Isabelle — eine Einführung"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Formale Methoden der Softwaretechnik Vorlesung vom 13.05.2011: Isabelle — eine Einführung

Till Mossakowski & Christoph Lüth Universität Bremen Sommersemester 2011

Rev. 1445 1 [13]

Inhalt

I Heute:Übersichtauf (über) Isabelle

I Danach:systematischeEinführung

2 [13]

Isabelle

I Weit verbreiteter Theorembeweiser

I Generisch: mehr als eine Logik

I Interaktiv:Beweis wird durch den Benutzerkonstruiertund von Isabellegeprüft

I Heimatseite:http://isabelle.in.tum.de/

3 [13]

Geschichte

I Entstanden in Cambridge, entwickelt in Cambridge und München

Larry Paulson Tobias Nipkow

I Teil derLCF-Familie

I Erste Version 1988, seit Ende der 1990er weit verbreitet

4 [13]

Architektur

I Implementiert in Standard ML (SML)

I Ca. 150 kloc Standard ML

I Ca. 200 kloc Beweisskripte

I Korrekt durchLCF-Design

5 [13]

Theorien

I Isabelle-Quellcode:Theorien I Theorien bestehen aus

IDefinitionen

IBehauptungen

IBeweisen

I Isabelle liest Theorien undprüftsie I Theorien sindhierarchischstrukturiert

6 [13]

Benutzung: ProofGeneral

7 [13]

Grundlagen von Isabelle

I Grundlage:getypterλ-Kalkül

I Unifikation und Matching

I Variablen, Formeln, Resolution

8 [13]

(2)

Formeln

I Formelnin Isabelle:

φ1, . . . , φn

ψ [[φ1, . . . , φn]] =⇒ψ

I φ1, . . . , φnFormeln,ψatomar

I Theoreme:ableitbareFormeln

I Ableitungvon Formeln:Resolution,Instantiierung,Gleichheit I Randbemerkung:

I =⇒,V

,≡formenMeta-Logik

I EinbettungandererLogiken möglich —generischerTheorembeweiser

9 [13]

Variablen

I Meta-Variablen: könnenunifiziertund beliebiginstantiiertwerden I freie Variablen(fixed):beliebigaberfest

I GebundeneVariablen: Name beliebig (α-Äquivalenz) I Meta-Quantoren: IsabellesEigenvariablen

Vx.P(x)

∀x.P(x) allI !!x. P x ==> ALL x. P x

IBeliebiginstantiierbar

IGültigkeitauf diese (Teil)-Formelbegrenzt

10 [13]

Rückwärtsbeweis

I Ausgehend vonBeweiszielψ

I Beweiszustandist[[φ1, . . . , φn]] =⇒ψ

I φ1, . . . , φn:subgoals

I Beweisverfahren:Resolution,Termersetzung,Beweissuche

I Beweisendetwennn=0

11 [13]

HOL

I HOL: getypte Logik höherer Ordnung (nach Church und Gordon)

I “ HOL = Funktionale Programmierung + Logik ” I In Isabelle:

IDatentypdefinition

IFunktionsdefinitionen

I Beispiel: einfacheListenselbstgemacht

12 [13]

Zusammenfassung

I Isabelleist ein generischer,interaktiverTheorembeweiser I HOL = FP + Logik

I Beweismethoden:

I Regelkomposition

I Induktion

I Termersetzung

I Nächste Wochen: Systematische Einführung

I Aussagenlogik Prädikatenlogik Logik höherer Stufe Isabelle/HOL

I Danach: Programmverifikation mit Isabelle

13 [13]

Referenzen

ÄHNLICHE DOKUMENTE

I Interaktiv: Beweis wird durch den Benutzer konstruiert und von Isabelle geprüft. I

I Damit: Gültige (“wahre”) Aussagen berechnen..

Vorlesung vom 23.05.11: Prädikatenlogik erster Stufe.. Till Mossakowski &

Formale Methoden der Softwaretechnik Vorlesung vom 30.05.11: Logik Höherer Stufe.. Till Mossakowski &

Map ’a ~=> ’b partielle Abbildungen (’a => ’b option).

I Gelingt oder schlägt fehl: keine neuen Subgoals. I Klassischer

Map ’a ~=> ’b partielle Abbildungen (’a => ’b option). ∗ in

I Gelingt oder schl¨ agt fehl: keine neuen Subgoals. I Klassischer