• Keine Ergebnisse gefunden

Formale Methoden der Softwaretechnik 1 Vorlesung vom 16.11.09: Grundlage von Isabelle

N/A
N/A
Protected

Academic year: 2022

Aktie "Formale Methoden der Softwaretechnik 1 Vorlesung vom 16.11.09: Grundlage von Isabelle"

Copied!
19
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

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

(2)

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

(3)

Fahrplan

I Grundlagen:

I der getypteλ-Kalk¨ul

I UnifikationundResolution

I Beweisenin Isabelle

(4)

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?

(5)

Der polymorph getypte λ-Kalk¨ ul

I TypenType gegeben durch

I Typkonstanten: c∈ CType

I Typvariablen:α∈ VType (Menge VType gegeben)

I Funktionen:s,t ∈ Typedannst 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

(6)

Typisierung

I Signatur: Σ =hCType,C,ari,ar:C → Type

I Typisierung derKonstanten

I Notation: Σ ={c1:τ1, . . . ,cn:τn} urar(ci) =τi

I Termt hat Typτ in einemKontextΓ und einerSignatur Σ:

Γ`Σt :τ

I Kontext:x11, . . . ,xnn (xi ∈ V)

I Typisierung vonVariablen

I VergleicheHaskelletc.

(7)

Typisierung

I Die Regeln:

c :τ ∈Σ

Γ`Σc :τ CONST x:τ ∈Γ

Γ`Σx :τ VAR Γ`Σs :σ⇒τ Γ`Σt :σ

Γ`Σs t :τ APP Γ,x:σ`Σt:τ

Γ`Σλxσ.t:σ⇒τ ABST

(8)

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))

(9)

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)

(10)

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

(11)

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)

(12)

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

(13)

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 ultigkeitauf diese (Teil)-Formel begrenzt

(14)

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 ultigkeitauf diese (Teil)-Formel begrenzt

(15)

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

(16)

Resolution

I Einfache Resolution (rule)

I Achtung: LiftingvonMeta-QuantorenundBedingungen

I Randbemerkung: Unifikation h¨oherer Stufeunentscheidbar

I Eliminationsresolution(erule)

I Destruktionsresolution(drule)

(17)

Resolution

I Einfache Resolution (rule)

I Achtung: LiftingvonMeta-QuantorenundBedingungen

I Randbemerkung: Unifikation h¨oherer Stufeunentscheidbar

I Eliminationsresolution(erule)

I Destruktionsresolution(drule)

(18)

R¨ uckw¨ artsbeweis

I Ausgehend vonBeweiszielψ

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

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

I Beweisverfahren:Resolution,Termersetzung,Beweissuche

(19)

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¨artsbeweisoglich

I Donnerstag: Logikh¨oherer Ordnung in Isabelle

Referenzen

ÄHNLICHE DOKUMENTE

Formale Methoden der Softwaretechnik Vorlesung vom 13.05.2011: Isabelle — eine Einführung.. Till Mossakowski & Christoph Lüth Universität Bremen

I Isabelle: LCF-Architektur mit logischem Kern und Meta-Logik I Konservative Erweiterung: erhält Konsistenz. I Typdefinitionen: Einschränkung bestehender Typen I Der Typ

I Logik h¨ oherer Stufe (HOL): alle endlichen Quantoren. I Keine wesentlichen Vorteile von

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

(Hinweis: Am besten zeigt man die Aussage dadurch, daß man beweist, daß [x].X nicht mit Substitution vertr¨

Universit¨ at T¨ ubingen, WSI Sommersemester

Universit¨ at T¨ ubingen, WSI Sommersemester

Universit¨ at T¨ ubingen, WSI Sommersemester