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
1
Fahrplan
ITeil I: Grundlagen der Formalen Logik ITeil 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 ITeil III: Modellierung imperative Programme
2
Fahrplan
IGrundlagen:
Ider getypteλ-Kalk¨ul
IUnifikationundResolution
IBeweisenin Isabelle
3
Der λ-Kalk¨ ul
IIn den 30’ern vonAlonzo Churchals theoretisches Berechhnungsmodellerfunden.
IIn den 60’ern Basis vonLisp(John McCarthy)
IMathematische Basis von funktionalen Sprachen (Haskelletc.) IHier: Grundlage derSyntax(“higher-order abstract syntax”)
I Typisierung
I GebundeneVariablen
I Warum?
4
Der polymorph getypte λ-Kalk¨ ul
ITypenTypegegeben durch
ITypkonstanten:c∈ CType
ITypvariablen:α∈ VType(MengeVTypegegeben)
IFunktionen:s,t∈ Typedanns⇒tinType ITermeTermgegeben durch
IKonstanten:c∈ C
IVariablen:v∈ V
IApplikation:s,t∈ Termdanns t∈ Term
IAbstraktion:x∈ V, τ∈ Type,t∈ Termdannλxτ.t∈ Term
ITypτkann manchmal berechnet werden.
ISignaturenth¨altCType,C
5
Typisierung
ISignatur: Σ =hCType,C,ari,ar:C → Type
I Typisierung derKonstanten
I Notation: Σ ={c1:τ1, . . . ,cn:τn}f¨urar(ci) =τi
ITermthatTypτin einemKontextΓ und einerSignaturΣ:
Γ`Σt:τ
IKontext:x1:τ1, . . . ,xn:τn(xi∈ V)
I Typisierung vonVariablen IVergleicheHaskelletc.
6
Typisierung
IDie Regeln:
c:τ∈Σ Γ`Σc:τ CONST
x:τ∈Γ Γ`Σx:τ VAR Γ`Σs:σ⇒τ Γ`Σt:σ
Γ`Σs t:τ APP Γ,x:σ`Σt:τ
Γ`Σλxσ.t:σ⇒τ ABST
7
Einbettungen
IBeispiel: Einbettung derPr¨adikatenlogikmit PA IBasistypen:
CType={i,o}
IKonstanten:
Σ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
IBeispiel:∀x.∃y.(x=y)←→all(λx.ex(λy.(eq x)y))
8
Substitution
Ist x
ist Ersetzung vonxdurchtins IDefiniert 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,y6∈FV(t) λz.(shz
y i
)t x
x6=y,y∈FV(t) mitz6∈FV(t) (zfrisch)
9
Reduktion und ¨ Aquivalenzen
Iβ-Reduktion: (λx.s)t→βst x
Iβ-¨Aquivalenz: =β
def= (→∗β∪∗β←)∗
I s=βtiff.∃u.s→∗βu,t→∗βu(Church-Rosser) Iα-¨Aquivalenz:λx.t=αλy.ty
x
,y6∈FV(t)
I Name von gebundenen Variablen unerheblich
I In IsabelleImplizit(deBruijn-Indizes) Iη-¨Aquivalenz:λx.tx=ηt,x6∈FV(t)
I “punktfreie” Notation
10
Unifikation
IF¨urs,t∈ Termoders,t∈ Typeist SubstitutionσUnifikatorwenn sσ=tσ
IAllgemeinster Unifikatorτ: alle anderen Unifikatoren sind Instanzen vonτ
IAllgemeinster Unifikatoreindeutig, wenn erexistiert IUnifikationsalgorithmus:
τ(f t,g s) = false τ(f t,f s) = τ(t,s)
τ(t,x) = t x
x6∈FVt τ(y,s) = y
x
y6∈FVs
IMatching:einseitige Unifikation (σmitsσ=t)
11
Grundlagen von Isabelle
IGrundlage:getypter Λ-Kalk¨ul
IUnifikation und Matching (apply (rule r)) IAquivalenzen:¨
I β-Reduktionautomatisch
I α-¨Aquivalenzeingebaut(deBruijn-Indexing)
I η-¨Aquivalenzautomatisch IVariablen, Formeln, Resolution
12
Variablen
IMeta-Variablen: k¨onnenunifiziertund beliebiginstantiiertwerden Ifreie Variablen(fixed):beliebigaberfest
IGebundeneVariablen: Name beliebig (α-¨Aquivalenz) IMeta-Quantoren: IsabellesEigenvariablen
Vx.P(x)
∀x.P(x) allI !!x. P x ==> ALL x. P x
IBeliebiginstantiierbar
IG¨ultigkeitauf diese (Teil)-Formelbegrenzt
13
Formeln
IFormelnin Isabelle:
φ1, . . . , φn
ψ [[φ1, . . . , φn]] =⇒ψ
I φ1, . . . , φnFormeln,ψatomar
I Theoreme:ableitbareFormeln
I Ableitungvon Formeln:Resolution,Instantiierung,Gleichheit IRandbemerkung:
I =⇒,V
,≡formenMeta-Logik
I EinbettungandererLogiken als HOL m¨oglich —generischer Theorembeweiser
14
Resolution
IEinfache Resolution (rule)
IAchtung: LiftingvonMeta-QuantorenundBedingungen
IRandbemerkung: Unifikation h¨oherer Stufeunentscheidbar
IEliminationsresolution(erule)
IDestruktionsresolution(drule)
15
R¨ uckw¨ artsbeweis
IAusgehend vonBeweiszielψ
IBeweiszustandist [[φ1, . . . , φn]] =⇒ψ
Iφ1, . . . , φn:subgoals
IBeweisverfahren:Resolution,Termersetzung,Beweissuche
16
Zusammenfassung
IGetypterλ-Kalk¨ul als Grundlage der Metalogik, Modellierung von Logiken durchEinbettung
IIsabelle:KorrektheitdurchSystemarchitektur IBeweis:R¨uckw¨arts, Resolution
IAnmerkung: auchVorw¨artsbeweism¨oglich
IDonnerstag: Logikh¨oherer Ordnungin Isabelle
17