• Keine Ergebnisse gefunden

Der λ-Kalk¨ ul

N/A
N/A
Protected

Academic year: 2022

Aktie "Der λ-Kalk¨ ul"

Copied!
3
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

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: Σ ={c11, . . . ,cnn}f¨urar(ci) =τi

ITermthatTypτin einemKontextΓ und einerSignaturΣ:

Γ`Σt:τ

IKontext:x11, . . . ,xnn(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

(2)

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

(3)

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

Referenzen

ÄHNLICHE DOKUMENTE

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

Universit¨ at T¨ ubingen, WSI Sommersemester

Universit¨ at T¨ ubingen, WSI Sommersemester

(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

I Getypter λ-Kalk¨ ul als Grundlage der Metalogik, Modellierung von Logiken durch Einbettung. I Isabelle: Korrektheit