• Keine Ergebnisse gefunden

Dynamische Logik

N/A
N/A
Protected

Academic year: 2022

Aktie "Dynamische Logik"

Copied!
33
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Dynamische Logik

Simon Matthias Brodt

28.5.2008

(2)

Übersicht

1 Motivation – Programm Verifikation

2 PDL

3 Filtration und Entscheidbarkeit

4 Vollständigkeit

(3)

Problem – Fehlerhafte Programme

Ursache:

Unpräzise Anforderungen

„Intuitiv richtige“ Lösungen Unklare Begriffe

Korrektheit – Was bedeutet „korrekt“ bzw. „richtig“?

Verifikation – Wann ist ein bestimmtes Programm „korrekt“?

(4)

Korrektheits-Spezifikation

Was ist das?

Formale Beschreibung des gewünschten Verhaltens eines Programms

Im Falle einer Berechnung z.B. durch Ein-/Ausgabe-Relation Schwierigkeit

Zunächst keine präzisen, formalen Anforderungen vorhanden Müssen meist durch den Programmierer selbst definiert werden

(5)

Verifikation

Wann ist ein Programm korrekt?

Ein Programm ist korrekt bzgl. einer Spezifikation, wenn es sich wie erwartet verhält (die Spezifikation erfüllt)

Im Fall einer Ein-/Ausgabe-Relation: Ein Programm ist korrekt, falls es für jede passende Eingabe, die spezifizierte Ausgabe liefert

Schwierigkeit

Programmierung erfolgt meist nicht in einer anderen weniger formalen Sprache

Passen Programm und Spezifikation nicht zusammen stellt sich die Frage: Ist das Programm oder die Spezifikation falsch?

(6)

Nutzen

Klare Vorstellung dessen, was das Programm tun soll Entdecken unerwarteter Fälle

Isolation des Kernproblems erleichtert die Implementierung Häufig einfacher anzugebenWasein Programm tun soll, als zu sagenWiees das tun soll.

Die Verifikation ermöglicht es zu überprüfen, ob definiertes Ziel (Spezifikation) und vorgeschlagene Lösung (Programm) zusammenpassen

(7)

Syntax

Atomare Formeln: p∈Φ0

Atomare Programme: a∈Π0

Formeln: φ∈Φ

Programme: α∈Π

φ::=p| ⊥ |φ1→φ2|[α]φ α::=a|α121∪α2|φ?

(8)

Intuitive Bedeutung

[α]φ nachα,φ

α12 führeα1aus und danachα2

α1∪α2 führe nicht-deterministischα1 oderα2 aus α wiederholeα endlich oft(≥0)

φ? Fahre fort fallsφ gilt, ansonsten scheitere

(9)

Abkürzungen

hαiφ ist ¬[α]¬φ

ifφthenαelseβ ist (φ?;α)∪(¬φ?;β) whileφdoα ist (φ?;α);¬φ?

repeatαuntilφ ist α; (¬φ?;α) skip ist >?

abort ist ⊥?

α0 ist skip

αn+1 ist (α;αn)

(10)

Semantik für atomare Programme und Aussagen

Ein Kripke-Rahmen ist ein Paar

K = (K,mK)

,wobeiK eine Menge von Zuständen darstellt undmK eine Funktion, die jeder atomaren Aussage und jedem atomaren Programm eine Bedeutung zuweist, und zwar folgendermaßen:

mK (p)⊆K, p∈Φ0 mK (a)⊆K×K, a∈Π0

(11)

Semantik für zusammengesetzte Programme und Aussagen

mK (φ→ψ) := (K−mK (φ))∪mK (ψ) mK (⊥) :=/0

mK ([α]φ) :=K−(mK (α)◦(K−mK (φ)))

={u| ∀v∈K : falls (u,v)∈mK (α) dannv∈mK (φ)}

mK (α;β) :=mK (α)◦mK (β)

={(u,v)| ∃w∈K : (u,w)∈mK (α) und (w,v)∈mK (β)}

(12)

Semantik für zusammengesetzte Programme und Aussagen

mK (α∪β) :=mK (α)∪mK (β)

mK) :=mK (α)= [

n≥0

mK (α)n mK (φ?) :={(u,v) |u∈mK (φ)}

(13)

Gültigkeit und Erfüllbarkeit

Schreibweise

K,uφ:⇔u∈mK (φ)

Erfüllbarkeit

φ heißt erfüllbar inK, fallsK,uφ für einu∈K φ heißt erfüllbar, falls es einK gibt in demφ erfüllbar ist Gültigkeit

φ heißt gültig inK, fallsK,uφ für alleu∈K Geschrieben:K φ

φ heißt gültig, fallsφ in gültig ist in jedem Kripke-RahmenK. Geschrieben:φ

(14)

Beispiel

Im Kripke-Rahmen

K = (K,mK) K ={u,v,w} mK (p) ={u,v}

mK (a) ={(u,v),(u,w),(v,w),(w,v)}

gilt dann z.B.:

u∈mK (hαi ¬p∧ hαip), (⇔uhαi ¬p∧ hαip) v∈mK ([a]¬p), (⇔v[a]¬p) w∈mK ([a]p), (⇔w [a]p)

(15)

Semantik von Abkürzungen

hαiφ

mK (hαiφ) :=mK (α)◦mK (φ)

={u| ∃v∈K : (u,v)∈mK (α) undv∈mK (φ)}

whileφdoα

(u,v)∈mK (whileφdoα)

∃u0,u1, . . . ,un,n≥0 mitu=u0,v=un,

ui∈mK (φ),(ui,ui+1)∈mK (α) für 0≤i <n,und un∈/mK (φ)

(16)

Nonstandard-Kripke-Rahmen

EinNonstandard-Kripke-Rahmenist eine StrukturN = (N,mN) mit allen Eigenschaften eines Standard-Kripke-Rahmens, mit folgender Ausnahme:

mN)ist lediglich eine reflexive und transitive Relation die mN (α)umfasst und die PDL Axiome fürerfüllt.

Anders ausgedrück, wird die Definition mN) :=mN (α)= [

n≥0

mN (α)n durch folgende (schwächere) Forderung ersetzt:

mN ([α]φ) =mN (φ∧[α] [α]φ)

(17)

Axiome

Axiome der Aussagenlogik . . .

Modallogische Axiome

[α] (φ→ψ)→([α]φ→[α]ψ) [α] (φ∧ψ)↔([α]φ∧[α]ψ)

(18)

Axiome

Spezielle Axiome

Alt: [α∪β]φ↔[α]φ∧[β]φ Comp: [α;β]φ↔[α] [β]φ

Test: [φ?]ψ↔(φ→ψ) Mix: φ∧[α] [α]φ↔[α

Ind: φ∧[α] (φ→[α]φ)→[α]φ Schlussregeln

φ,φ→ψ`ψ φ`[alpha]

(19)

Induktions-Axiom

Ähnlichkeit zum Induktionsaktiom der Peano-Arithmetik φ∧[α] (φ→[α]φ) →[α]φ φ(0)∧ ∀n(φ(n)→φ(n+1)) → ∀nφ(n)

(20)

Korrektheit

Logische Folgerung

ψ heißt logische Folgerung ausΣ, fallsK Σ ⇒ K ψ. Geschrieben:Σψ

Korrektheit

Eine Schlussregelφ1, . . . ,φn`φheißtkorrekt, falls{φ1, . . . ,φn}φ Die vorherigen Axiome und Schlussregeln sind korrekt.

(21)

Filtration von Nonstandard-Kripke-Rahmen

Fischer-Ladner Abschluss

Wir definieren zwei Funktionen:

FL: Φ→2Φ

FL: {[α]φ|α ∈Π,φ∈Φ} →2Φ

FL(p) :={p},peine atomare Aussage FL(φ→ψ) :={φ→ψ} ∪Fl(φ)∪Fl(ψ)

FL(⊥) :={⊥}

FL([α]φ) :=FL([α]φ)∪FL(φ)

(22)

Filtration von Nonstandard-Kripke-Rahmen

Fischer-Ladner Abschluss

FL([a]φ) :={[a]φ},aein atomares Programm FL([α∪β]φ) :={[α∪β]φ} ∪FL([α]φ)∪FL([β]φ)

FL([α;β]φ) :={[α;β]φ} ∪FL([α] [β]φ)∪FL([β]φ) FL([α]φ) :={[α]φ} ∪FL([α] [α]φ)

FL([ψ?]φ) :={[ψ?]φ} ∪FL(ψ)

(23)

Filtration von Nonstandard-Kripke-Rahmen

Fischer-Ladner Abschluss

Lemma

Fallsσ∈FL(φ), dann gilt FL(σ)⊆FL(φ).

Fallsσ∈FL([α]φ), dann gilt FL(σ)⊆FL([α]φ)∪FL(φ).

Lemma

Für jede Formelφ,|FL(φ)| ≤ |φ|. Für jede Formel[α]φ,

FL([α]φ) ≤ |α|

(24)

Filtration von Nonstandard-Kripke-Rahmen

Filtration

Sei eine PDL Aussageφ und ein Kripke-RahmenK = (K,mK) gegeben. Wir definieren einen neuen Rahmen, die „Filtration von K durchFL(φ)“, folgendermaßen:

u≡v:⇔ Für alleψ∈FL(φ) (u∈mK (ψ)⇔v∈mK (ψ)) Informell:

Zwei Zuständeuundvfallen zusammen, falls sie sich durch eine Formel ausFL(φ)nicht unterscheiden lassen.

(25)

Filtration von Nonstandard-Kripke-Rahmen

Filtration

[u] :={v|v≡u} K/FL(φ) :={[u]|u∈K}

mK/FL(φ)(p) :={[u]|u∈mK (p)},peine atomare Aussage

mK/FL(φ)(a) :={([u],[v]) |(u,v)∈mK (a)},aein atomares Programm

mK/FL(φ)wird induktiv auf zusammengesetzte Aussagen und Programme fortgesetzt.

(26)

Filtration von Nonstandard-Kripke-Rahmen

Filtrations-Lemma

SeiK ein Kripke-Rahmen und seienu,v Zustände vonK. Für alleψ ∈FL(φ),u∈mK (ψ)⇔[u]∈mK/FL(φ)(ψ) Für alle[α]ψ ∈FL(φ),

Falls(u,v)∈mK (α)dann([u],[v])∈mK/FL(φ)(α) Falls([u],[v])∈mK/FL(φ)(α)undu∈mK ([α]ψ), dann v∈mK (ψ)

(27)

Filtration von Nonstandard-Kripke-Rahmen

Satz von den Kleinen Modellen

Satz

Seiφ eine erfüllbare PDL Formel. Dann istφin einem Kripke-Rahmen mit höchstens2|φ| Zuständen erfüllbar.

Beweis.

Wennφ erfüllbar ist, dann gibt es einen Kripke-RahmenK und einen Zustandu∈K mitu∈mK (φ).

Ist nunFL(φ)der Fischer-Ladner Abschluss vonφ, so gilt nach dem Filtrations-Lemma:[u]∈mK/FL(φ)(φ).

Desweiteren hatK/FL(φ)höchstens so viele Zustände wie es konsistente Teilmengen vonFL(φ)gibt. Nach einem

vorangegangenen Lemma sind das aber höchstens 2|φ|viele.

(28)

Filtration von Nonstandard-Kripke-Rahmen

Entscheidbarkeit

Satz

Das Erfüllbarkeitsproblem für PDL ist entscheidbar.

Beweis.

Die Aussage folgt unmittelbar aus dem vorangegangen Satz von den kleinen Modellen:

Es gibt nur endlich viele Kripke-Rahmen mit maximal 2|vielen Zuständen und es ist möglich in polynomieller Zeit zu prüfen, ob eine gegebene Formel in einem bestimmten Rahmen und einem bestimmten Zustand erfüllt ist.

(29)

Filtration von Nonstandard-Kripke-Rahmen

Filtration von Nonstandard-Kripke-Rahmen

Axiome und Regeln von PDL

Gelten auch in Nonstandard-Kripke-Rahmen

Alle in diesem System hergeleiteten Sätze und Regeln gelten ebenfalls auch über Nonstandard-Kripke-Rahmen

Filtration von Nonstandard-Kripke-Rahmen N /FL(φ)ist einStandard-Kripke-Rahmen höchstens 2|φ|viele Zustände

Flitrations-Lemma

Gilt auch für Nonstandard-Kripke-Rahmen

Beweis muss nur in den Fällen diebetreffen angepasst werden

(30)

Konsistenz und maximal konsistente Formelmengen

Eine FormelmengeΣheißt konsistent, fallsΣ0⊥. Sie heißt maximal konsistent, falls für alle Formelnφ gilt:

φ∈ΣoderΣ∪ {φ} ` ⊥.

(31)

Konstruktion eines Nonstandard-Kripke-Rahmen

N = (N,mN)

N:={maximal konsistente PDL Formelmengen} mN (φ) :={s|φ∈s}

mN (α) :={(s,t) | Für alleφ,falls[α]φ∈s,dannφ∈t}

Beachte:

Die Definitionen vonmN (φ)undmN (α)beziehen sich auf alleFormeln und Programme.

Die so definierte Struktur ist ein Nonstandard-Kripke-Rahmen.

(32)

Vollständigkeit von PDL

Satz

Fallsφ, dann`φ.

Beweis.

Es ist gleichbedeutend zu zeigen, dass es fallsφkonsistent ist einen erfüllenden Standard-Kripke-Rahmen gibt.

Daφkonsitent ist gibt es eine maximal konsitente Formelmengeu dieφenthält.uist ein Zustand des zuvor konstruierten

Nonstandard-Kripke-RahmenN. Das Filtrations-Lemma (für

Nonstandard-Standard-Kripke-Rahmen) liefert uns, dassφ im Zustand[u]des endlichenStandard-Kripke-RahmensN/FL(φ)

(33)

K,up :⇔ u∈mK (p) ,fürp∈Φ0 K,uφ→ψ :⇔ K,uφ⇒K,uψ

K,u2⊥

K,u[α]φ :⇔ ∀v∈K : falls(u,v)∈mK (α)dannK,vφ

Referenzen

ÄHNLICHE DOKUMENTE

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung.. unter dem Förderkennzeichen

Korrekte Software: Grundlagen und Methoden Vorlesung 11 vom 18.06.19 Spezifikation von Funktionen. Serge Autexier, Christoph Lüth Universität Bremen

Korrekte Software: Grundlagen und Methoden Vorlesung 11 vom 19.06.18: Funktionen und Prozeduren.. Serge Autexier, Christoph Lüth Universität Bremen

Diese Spezifikation bildet zugleich die Grundlage (den Zweck), auf der man anschließend ein Modell bildet, also die Gegen- stände der realen Welt analysiert, Beziehungen zwischen

Eigenschaften, deren Gültigkeit man beweisen oder testen möchte, sind zum Beispiel sicherheitskritische Invarianten, etwa für eine Liftsteuerung, dass sie nie einen Lift mit

Verbraucherprodukte, die Laser sind oder beinhalten, dürfen nur auf dem Markt bereitgestellt werden, wenn sie nach der DIN EN 60825-1:2008-05 klassifiziert sind und den

Rum und drei mittelgroße geschälte und zerteilte Äpfel; fülle den Teig in Muffinförmchen; backe bei 175-200 Grad für etwa 30 min; bestäube die Muffins mit etwas

Und die Eheleute Inge und Hans- Dieter Krebber aus Weeze mit ih- rer noch jungen Ferienwohnung im neuen Haus Am Grafschen Hof unterstrichen: „Ohne Enga- gement für die Vermarktung