Formale Methoden der Softwaretechnik 1 Vorlesung vom 02.12.09:
Beweisprozeduren und Funktionsdefinitionen
Christoph L¨uth, Lutz Schr¨oder Universit¨at Bremen Wintersemester 2009/10
1
Fahrplan
ITeil I: Grundlagen der Formalen Logik ITeil II: Arbeiten mit Isabelle
I Grundlagen von Isabelle
I Logik h¨oherer Ordnung in Isabelle
I Isabelle/HOL
I Beweise ¨uber funktionale Programme in Isabelle/HOL
I Beweisen mit Isabelle: Simplifikation, Taktiken
ITeil III: Modellierung imperative Programme
2
Uberblick ¨
IAutomatischeBeweisprozedurenim ¨Uberblick
IDefinition vonFunktionen
3
Simplifikation
ISimplifikation istTermersetzung:
I Gegeben Theorems=t, ersetzesdurcht.
IBenutzung:apply (simp)
INutzt Gleichungen und Ungleichungen:
I Funktionsdefinitionen
I Vereinfachungsregeln f¨urDatentypen
I DeklarierteTheoreme
I Annahmendes lokalen Subgoals
IBenutztbedingteGleichungen:s1=t1, . . . ,sn=tn=⇒s=t
I Ersetztsdurcht, wenn Gleichungens1=t1. . .sn=tnrekursiv gezeigt werden k¨onnen.
IInstantiiertkeineMeta-Variablen
IErzeugtkeineneuen Subgoals, nur Vereinfachung
4
Klassische Beweiser
IBeweisplaner:blast
IKonstruiert Beweis durch Suche
IGelingt oder schl¨agt fehl:keineneuen Subgoals IKlassischer Beweiser:clarify
IWendet Einf¨uhrungs- und Eliminationsregeln systematisch an
IKeineneuen Subgoals, nur Vereinfachung
ISicher:keine unbeweisbaren Subgoals
Iclarsimp: Kombination mit Simplifikation IVollautomatisch:auto
IKombination verschiedener Beweiser
IInstantiiertMeta-Variablen, erzeugt neue Subgoals
IUnsicher:kann unbeweisbare Subgoals erzeugen
5
Definition von Funktionen
IIn HOL: alle Funktionentotal
I Need-to-know-Prinzip: unbeweisbar ist undefiniert
IDer einfache Fall:primitiv rekursiv
IDer allgemeinere Fall
IImmer mitTerminationsbeweis
6
Einfache Rekursion
funf:: τ where
equations
7
Volle Rekursion
functionf :: τ where
equations
bycompleteness-proof
termination bytermination-proof
8
Zusammenfassung
IAutomatische Beweisprozeduren:simp,blast,clarify,auto
IFunktionsdefinition:funundfunction
IFast wie in Haskell, aber immertotal.
9