Formale Methoden der Softwaretechnik 1 Vorlesung vom 16.11.09:
Grundlage von Isabelle
Christoph L¨uth, Lutz Schr¨oder
Universit¨at Bremen
Wintersemester 2009/10
Fahrplan
I Teil I: Grundlagen der Formalen Logik
I Teil II: Arbeiten mit Isabelle
I Grundlagen von Isabelle
I Logik h¨oherer Ordnung
I Isabelle/HOL
I Beweise ¨uber funktionale Programme in Isabelle/HOL
I Beweisen mit Isabelle: Simplifikation, Taktiken
I Teil III: Modellierung imperative Programme
Fahrplan
I Grundlagen:
I der getypteλ-Kalk¨ul
I UnifikationundResolution
I Beweisenin Isabelle
Der λ-Kalk¨ ul
I In den 30’ern vonAlonzo Churchals theoretisches Berechhnungsmodellerfunden.
I In den 60’ern Basis vonLisp(John McCarthy)
I Mathematische Basis von funktionalen Sprachen (Haskell etc.)
I Hier: Grundlage derSyntax (“higher-order abstract syntax”)
I Typisierung
I GebundeneVariablen
I Warum?
Der polymorph getypte λ-Kalk¨ ul
I TypenType gegeben durch
I Typkonstanten: c∈ CType
I Typvariablen:α∈ VType (Menge VType gegeben)
I Funktionen:s,t ∈ Typedanns⇒t inType
I TermeTerm gegeben durch
I Konstanten:c ∈ C
I Variablen:v ∈ V
I Applikation:s,t ∈ Termdann s t∈ Term
I Abstraktion:x∈ V, τ ∈ Type,t ∈ Termdann λxτ.t ∈ Term
I Typτ kann manchmal berechnet werden.
I Signatur enth¨altCType,C
Typisierung
I Signatur: Σ =hCType,C,ari,ar:C → Type
I Typisierung derKonstanten
I Notation: Σ ={c1:τ1, . . . ,cn:τn} f¨urar(ci) =τi
I Termt hat Typτ in einemKontextΓ und einerSignatur Σ:
Γ`Σt :τ
I Kontext:x1:τ1, . . . ,xn:τn (xi ∈ V)
I Typisierung vonVariablen
I VergleicheHaskelletc.
Typisierung
I Die Regeln:
c :τ ∈Σ
Γ`Σc :τ CONST x:τ ∈Γ
Γ`Σx :τ VAR Γ`Σs :σ⇒τ Γ`Σt :σ
Γ`Σs t :τ APP Γ,x:σ`Σt:τ
Γ`Σλxσ.t:σ⇒τ ABST
Einbettungen
I Beispiel: Einbettung derPr¨adikatenlogik mit PA
I Basistypen:
CType ={i,o}
I Konstanten:
ΣT = {0 :i,s :i ⇒i,plus:i ⇒i ⇒i}
ΣA = {eq:i ⇒i ⇒o,false:o,and:o ⇒o⇒o, . . . , all: (i ⇒o)⇒o,ex: (i ⇒o)⇒o}
Σ = ΣT ∪ΣA
I φ∈ Form←→ `Σ t:o
I Beispiel: ∀x.∃y.(x=y)←→all(λx.ex(λy.(eq x) y))
Substitution
I st
x
ist Ersetzung vonx durcht in s
I Definiert durch strukturelle Induktion:
ct
x
def
= c yt
x
def
=
t x=y y x6=y (r s)t
x
def
= rt
x
st
x
(λy.s)t
x
def
=
λy.s x=y
λy.st
x
x6=y,y 6∈FV(t) λz.(s
hz y
i )t
x
x6=y,y ∈FV(t)
mitz 6∈FV(t) (z frisch)
Reduktion und ¨ Aquivalenzen
I β-Reduktion: (λx.s)t→βst
x
I β-¨Aquivalenz: =βdef= (→∗β∪∗β ←)∗
I s=βt iff.∃u.s→∗βu,t→∗βu(Church-Rosser)
I α-¨Aquivalenz:λx.t=αλy.ty
x
,y 6∈FV(t)
I Name von gebundenen Variablen unerheblich
I In IsabelleImplizit (deBruijn-Indizes)
I η-¨Aquivalenz:λx.tx=ηt,x 6∈FV(t)
I “punktfreie” Notation
Unifikation
I F¨urs,t ∈ Termoders,t ∈ Typeist Substitution σ Unifikator wenn sσ =tσ
I Allgemeinster Unifikatorτ: alle anderen Unifikatoren sind Instanzen vonτ
I Allgemeinster Unifikatoreindeutig, wenn erexistiert
I Unifikationsalgorithmus:
τ(f t,g s) = false τ(f t,f s) = τ(t,s)
τ(t,x) = t
x
x 6∈FVt τ(y,s) = y
x
y 6∈FVs
I Matching:einseitige Unifikation (σ mit sσ =t)
Grundlagen von Isabelle
I Grundlage:getypter Λ-Kalk¨ul
I Unifikation und Matching (apply (rule r))
I Aquivalenzen:¨
I β-Reduktionautomatisch
I α-¨Aquivalenzeingebaut(deBruijn-Indexing)
I η-¨Aquivalenzautomatisch
I Variablen, Formeln, Resolution
Variablen
I Meta-Variablen: k¨onnenunifiziert und beliebiginstantiiert werden
I freie Variablen(fixed): beliebigaberfest
I GebundeneVariablen: Name beliebig (α-¨Aquivalenz)
I Meta-Quantoren: Isabelles Eigenvariablen Vx.P(x)
∀x.P(x) allI !!x. P x ==> ALL x. P x
I Beliebiginstantiierbar
I G¨ultigkeitauf diese (Teil)-Formel begrenzt
Variablen
I Meta-Variablen: k¨onnenunifiziert und beliebiginstantiiert werden
I freie Variablen(fixed): beliebigaberfest
I GebundeneVariablen: Name beliebig (α-¨Aquivalenz)
I Meta-Quantoren: Isabelles Eigenvariablen Vx.P(x)
∀x.P(x) allI !!x. P x ==> ALL x. P x
I Beliebiginstantiierbar
I G¨ultigkeitauf diese (Teil)-Formel begrenzt
Formeln
I Formelnin Isabelle:
φ1, . . . , φn
ψ [[φ1, . . . , φn]] =⇒ψ
I φ1, . . . , φn Formeln,ψatomar
I Theoreme:ableitbareFormeln
I Ableitungvon Formeln:Resolution,Instantiierung,Gleichheit
I Randbemerkung:
I =⇒,V
,≡formenMeta-Logik
I EinbettungandererLogiken als HOL m¨oglich —generischer Theorembeweiser
Resolution
I Einfache Resolution (rule)
I Achtung: LiftingvonMeta-QuantorenundBedingungen
I Randbemerkung: Unifikation h¨oherer Stufeunentscheidbar
I Eliminationsresolution(erule)
I Destruktionsresolution(drule)
Resolution
I Einfache Resolution (rule)
I Achtung: LiftingvonMeta-QuantorenundBedingungen
I Randbemerkung: Unifikation h¨oherer Stufeunentscheidbar
I Eliminationsresolution(erule)
I Destruktionsresolution(drule)
R¨ uckw¨ artsbeweis
I Ausgehend vonBeweiszielψ
I Beweiszustandist [[φ1, . . . , φn]] =⇒ψ
I φ1, . . . , φn:subgoals
I Beweisverfahren:Resolution,Termersetzung,Beweissuche
Zusammenfassung
I Getypterλ-Kalk¨ul als Grundlage der Metalogik, Modellierung von Logiken durchEinbettung
I Isabelle:Korrektheitdurch Systemarchitektur
I Beweis:R¨uckw¨arts, Resolution
I Anmerkung: auchVorw¨artsbeweism¨oglich
I Donnerstag: Logikh¨oherer Ordnung in Isabelle