Formale Methoden der Softwaretechnik
Vorlesung vom 16.06.11: Isabelle: Automatische Beweisprozeduren
Till Mossakowski & Christoph Lüth
Universität Bremen
Sommersemester 2011
Rev. 1489 1 [13]
Fahrplan
I Aussagenlogik
I Prädikatenlogik
I Isabelle I: Grundlagen
I Aussagenlogik und natürlisches Schließen
I Prädikatenlogik und Quantoren
I Logik höherer Stufe
I Isabelle: Definitionen und konservative Erweiterung
I Isabelle: Automatische Beweisprozeduren
I Isabelle II: Anwendungen
Überblick
I Grundlagen derTermersetzung
I AutomatischeBeweisprozedurenim Überblick
3 [13]
Grundlagen der Termersetzung
I Gegeben: Menge von GleichungenE ={si =ti}i=1,...,n
I Problem: Wann folgtu =v ausE durchGleichungsumformung?
Grundlagen der Termersetzung
I Gleichungens =t zuRegelns →t orientieren
I Ableitungsrelations ⇒Rt definieren
I Äquivalenzabschlussbilden s1⇐Rs2 ⇒Rs3⇒Rs4. . .sn
I Frage: Wann ists ⇔Rt dasselbe wie s =t?
5 [13]
Termersetzung
I Gegeben: Menge vonRegelnR={si →ti}i=1,...,n Signatur Σ, Variablen X
I EinKontext istC ∈TΣ(X∪ {}), der genau einmal enthält.
I Für KontextC, Termt ∈TΣ(X)ist C[t] =σ(C) mitσ() =t und σ(x) =x (für x 6=).
I Ein-Schritt-Ersetzungsrelation:
s →Rt ⇐⇒ ∃l →r ∈ R,
∃Kontext C, σ:X →TΣ(X) s =C[σ(l)],t =C[σ(r)]
Relationen und Abschlüsse
I Für RelationenR,S ist Komposition R◦S ={(a,c)| ∃b.(a,b)∈R,(b,c)∈S}
I Für RelationR ist die inverse RelationR−1={(b,a)|(a,b)∈R}
I R transitiv wennR◦R ⊆R
I R reflexivwenn ∀x.(x,x)∈R
I R symmetrischwennR−1 ⊆R
I Transitiv-reflexiver Abschluss:
R∗=\
S
R⊆S,S reflexiv und transitiv
I Äquivalenzabschluss:
R==\
S
R ⊆S,S reflexiv, transitiv und symmetrisch
I Notation:⇒R=→∗R,⇔R=→=R
7 [13]
Eigenschaften von ⇒
RI t ist in Normalform, wennt ⇒Rs =⇒s =t
I s istNormalform vont (NF(t)), wenn t⇒Rs und s in Normalform
I s undt sind reduzierbar(s ↓t), wenn ∃u.s ⇒Ru,t⇒Ru
I Eigenschaften von⇒R:
I Church-Rosser:s⇔Rt dann s↓t
I Konfluenz:s1⇐Rt ⇒Rs2 danns1↓s2
I Termination: Keine unendliche Kettes1→Rs2→R s3. . .sn
(⇒R wohlfundiert)
Sätze
I Lemma:⇒R Church-Rosser gdw.⇒R konfluent
I Lemma: Wenn⇒R terminierend und konfluent, dann
1. Normalform eindeutig
2. s⇔Rt gdw.NF(s) =NF(t)
I Satz:s ⇔Rt gdw. s =E t
9 [13]
Kriterien für Konfluenz und Termination
I ⇒R konfluent, wenn alle kritischen Paarereduzierbar
I ⇒R terminierend, wennTerminationsordnung existiert
Simplifikation
I Simplifikation istTermersetzung:
I Gegeben Theorems=t, ersetzes durcht.
I Benutzung:apply (simp)
I Nutzt Gleichungen und Ungleichungen:
I Funktionsdefinitionen
I Vereinfachungsregeln fürDatentypen
I DeklarierteTheoreme
I Annahmendes lokalen Subgoals
I Benutztbedingte Gleichungen:s1=t1, . . . ,sn=tn=⇒s =t
I Ersetzts durcht, wenn Gleichungens1=t1. . .sn=tnrekursiv gezeigt werden können.
I Instantiiertkeine Meta-Variablen
I Erzeugtkeine neuen Subgoals, nur Vereinfachung
11 [13]
Klassische Beweiser
I Beweisplaner:blast
I Konstruiert Beweis durch Suche
I Gelingt oder schlägt fehl:keineneuen Subgoals
I Klassischer Beweiser:clarify
I Wendet Einführungs- und Eliminationsregeln systematisch an
I Keineneuen Subgoals, nur Vereinfachung
I Sicher:keine unbeweisbaren Subgoals
I clarsimp: Kombination mit Simplifikation
I Vollautomatisch:auto
I Kombination verschiedener Beweiser
I InstantiiertMeta-Variablen, erzeugt neue Subgoals
Zusammenfassung
I Automatische Beweisprozeduren in Isabelle:
simp,blast,clarify,auto
I Wann welche benutzen?
I Gleichungsumformung, Reduktion:simp
I Regeln der Logik (Quantoren und Junktoren):clarify,blast
I “Triviale” Schritte:auto (nur alsletzte Methode!)
13 [13]