Kapitel 4: (Einige) Andere Logiken
4.1: Modale Logiken
Grundgedanke Nicht alles stimmt unabhängig vom Zeitpunkt es schneit unabhängig vom Ort man kann das Meer sehen unabhängig vom Sprecher ich bin müde Wir formulieren nicht immer ewige Wahrheiten Ich rauche vs. Ich darf/darf nicht rauchen Es gibt Leben auf dem Mars vs. Es könnte Leben auf dem Mars geben/existenz von Leben auf dem Mars ist ausgeschlossen Mein Passwort ist BLA vs X weiss/glaubt, dass mein Passwort BLA ist 308
Modallogik Lösung: Interpretieren Formeln in einer Struktur mit mehreren Welten Beispiel 1: Welt 1 = die Welt heute; Welt 2 = die Welt morgen; Welt 3 = die Welt übermorgen etc. Beispiel 2: Welt 1 = Rostock; Welt 2 = Warnemünde; Welt 3 = Schwerin etc. Beispiel 3: Welt 1 = Person 1; Welt 2 = Person 2; etc. Jede Welt liefert eigene Wahrheitswerte für elementare Aussagen Sprache stellt Ausdrucksmittel bereit, um Sachverhalte verschiedener Welten miteinander zu verknüpfen: es ist möglich, dass H: H es ist notwendig, dass H: H Ansonsten (bei uns): Aussagenlogik 309
Kripke-Struktur = Formalisierung der Idee der Welten Kripke-Struktur M besteht aus Einer abzählbar großen Menge S (States/Zustände/Welten) Einer Relation R SxS (Zugänglichkeitsrelation/Transition Relation) Einer Funktion L:S (AV {W,F}) (Labeling) Interpretation eines Ausdrucks H in einer Kripke-Struktur M und einer Welt s: Für p i AV: wert M (H,s) = L(s)(p i ) wert M (H 1 H 2,s) = et/vel/seq/aeq(wert M (H 1,s), wert M (H 2,s) ) wert M ( H,s) = non M (wert(h,s)) wert M ( H,s) = [s,s ] R wert M (H,s ) wert M ( H,s) = [s,s ] R wert M (H,s ) 310
Beispiel 1: Kind f Küche fw Bad fw Flur t Schlaf f Wohn f Abstell wert(f,wohn) = W wert( f,wohn) = W wert( f,wohn) = F wert( w,wohn) = W wert( f,wohn) = F wert( f,wohn) = W wert( f,wohn) = F wert( (f w),wohn) = W Welten = Räume Zugänglich = Nachbarzimmer f = hat Fenster t = hat Eingangstür w = hat Waschbecken 311
Beispiel 2: MutEx Prozess 1/2 : i: goto i OR goto r; r: when sem then ( sem:=sem-1;goto c;) c: sem := sem+1;goto i; Welten = Protokollzustände dargestellte Relation = im nächsten Schritt... Zugänglichkeit = Transitive Hülle der dargestellten Relation (dann: = möglicherweise in der Zukunft = garantiert für immer in der Zukunft ) (r,i,1) (i,i,1) (i,r,1) interessant: (c1 c2) c1 c2 (c,i,0) (r,r,1) (i,c,0) (c,r,0) (r,c,0) 312
Gültigkeit H gültig in M, falls wertm(h,s) = W für alle Welten s aus M H gültig, falls H gültig in allen Kripke-Strukturen Beispiele für gültige Ausdrücke: alle klassisch gültigen Ausdrücke p p (p q) ( p q) Beispiele für nicht gültige Ausdrücke: p p p p p p p p 313
Charakterisierung von ag Axiome: axa + (p q) ( p q) Regeln: Abtrennungsregel Einsetzungsregel Nezession: H H 314
Verschiedene Deutungen (Auswahl) spatial (Raum) temporal (Zeit) epistemisch (Glaube) deontisch (das Normative) Modal bedeutet Überall in der Nähe immer Man weiß Es ist verlangt Es ist notwendig bedeutet Irgendwo in der Nähe irgendwann Man glaubt Es ist erlaubt Es ist möglich (nicht im Widerspruch zu meinen Kenntnissen) 315
Temporale Deutung (Zeit) Zugänglichkeitsrelation typischerweise transitiv Zusätzliche Ausdrücke gültig: - H H - H H -Bedeutung (einschließlich der Weiterentwicklung Temporale Logik): Verifikation von Protokollen (z.b. MutEx), Hardware, Software,... Einsatz inzwischen Routine... mehr dazu später 316
Epistemische Deutung (Glaube) Zugänglichkeitsrelation typischerweise reflexiv Zusätzliche Ausdrücke gültig: - H H -Bedeutung: Verifikation von Security-Protokollen (Authentifizierung, Schlüsselaustausch,...) Grundeigenschaft der korrekten Authentifizierung: Wenn A glaubt, mit B zu reden, dann redet A mit B ( H H ) Einsatz (einer Weiterentwicklung) Routine 317
Beispiel 1 Austausch geheimer Information N A, N B (z.b. Session Key) {A,N A } PKB A {N A,N B } PKA {N B } PKB B Attacke: {A,N A } PKB {A,N A } PKC A {N A,N C } PKA {N A,N C } PKA B C {N C } PKB {N C } PKC C glaubt, mit A zu kommunizieren, anstatt mit B 318
A B: A B A: N B A B: {N B } KAS B S: {A,{N B } KAS } KBS S B {N B } KBS Beispiel 2 Attacke: C B : A C B: C B A(C): N B B C: N B C B: {N B } KCS C B: {NB } KCS B S:{A,{N B } KCS } KBS B S: {C,{N B } KCS } KBS S B:{N B } KBS S B: error 319
Modale Deutung Zugänglichkeitsrelation typischerweise reflexiv, symmetrisch und transitiv Zusätzliche Ausdrücke gültig: -H H -H H - H -Bedeutung: Agententechnologie Eine Kernanwendung modaler Logik 320
Spatiale Deutung (Raum) Zugänglichkeitsrelation typischerweise symmetrisch (x nahe bei y y nahe bei x) und reflexiv (x nahe bei x) Zusätzliche Ausdrücke gültig: -H H -H H -Bedeutung: Ubiqitous Computing (= alldurchdringend ): -u.a.:softwareprozesse wählen selbst geeignete Geräte zur Interaktion mit dem Nutzer Rauminformation muss verwaltet/verarbeitet werden Einsatz: verschiedene Kalküle in Diskussion 321
Deontische Deutung (Normativ) Zugänglichkeitsrelation typischerweise total (d.h.:von jeder Welt ist eine andere zugänglich) Zusätzliche Ausdrücke gültig: - H H -Bedeutung: Compliance (Verifikation der Übereinstimmung informationstechnischer Prozesse mit rechtlichen Rahmenbedingungen) -Meine Spekulation: Einsatz in 5-15 Jahren 322
4.2 Temporale Logik Erweiterung der temporal gedeuteten Modallogik wird interpretiert auf Kripke-Strukturen, die Listen sind (lineares Zeitmodell, deterministisches Verhalten) bzw. Bäume sind (verzweigendes Zeitmodell, nichtdeterministisches Verhalten) 323
Lineare Temporale Logik π: a a,q b c c c,d... Jeder aussagenlog. Ausdruck ist eine Pfadformel Ein Pfad erfüllt einen aussagenlog. gdw. sein erster Zustand ihn erfüllt. π ~ a π ~ c π ~ true 324
Der NACHFOLGER-Operator π: a a,q b c c c,d... Wenn φ eine Pfadformel ist, so auch X φ EinPfad(s 0 s 1 s 2 s 3... ) erfüllt X φ gdw. (s 1 s 2 s 3 s 4... ) erfüllt φ. π ~ X a π ~ X X X b Tautologien: X φ w X φ X (φ. ψ) w X φ. X ψ 325
Der IRGENDWANN-Operator π: a... a,q b c c c,d... Falls φ eine Pfadformel ist, so auch F φ EinPfad(s 0 s 1 s 2 s 3... ) erfüllt F φ gdw. (s i s i+1 s i+2 s i+3... ) erfüllt φ, für ein im0. π ~ F b π ~ X a - F( b. X c) Tautologien: φ u F φ X φ u F φ F φ w F F φ X F φ w F X φ F (φ. ψ) u F φ. F ψ F φ w φ - X F φ F (φ - ψ) w F φ - F ψ 326
Der IMMER-Operator π: a... a,q b,q a,c q,c q q... Wenn φ eine Pfadformel ist, so auch G φ EinPfad(s 0 s 1 s 2 s 3... ) erfüllt G φ gdw. (s i s i+1 s i+2 s i+3... ) erfüllt φ, für alle im0. π ~ G (a - q) Tautologien: G φ u φ G φ u X φ G φ u F φ G φ w G G φ G φ w F φ G φ - G ψ u G (φ - ψ) G φ.g ψ w G (φ. ψ) 327 G φ w φ. X G φ
Kombinationen von F and G G F φ = φ gilt unendlich oft F G φ φ φ φ φ φ = φ stabilisiert φ φ φ φ φ φ φ φ...... G ( φ u F ψ) = φ führt zu ψ φ ψ φ φ ψ φ ψ... Tautologien: F G F φ w G F φ G F G φ w F G φ 328
CTL* - Der BIS-Operator π: a a,d a,q c,q a,c q,c q q... Wenn φ und ψ Pfadformeln sind, so auch φ U ψ EinPfad(s 0 s 1 s 2 s 3... ) erfüllt φ U ψ gdw. (s i s i+1 s i+2 s i+3... ) erfüllt ψ, für ein im0, und (s j s j+1 s j+2... ) erfüllt φ, für alle j < i. π ~ a U c Tautologien: ψ u φ U ψ F φ w true U φ φ U ψ. ψ u φ φ U ψ w ψ - (φ. X (φ U ψ)) 329
LTL: Zusammenfassung Symbol X / ; engl. Name nextstep Vergangenheitsversion P / ; (previous) F / ( eventually O / ( (once) G / U always until B / (always been) S (since) 14444444244444444444443 + atomare Aussagen + Boolesche Operatoren = Linear Time Temporal Logic (LTL) 330
Computation Tree Logic (CTL*) = LTL +... Wenn φ eine Pfadformel ist, so ist E φ eine Zustandsformel s a,b a,d c s erfüllt E φ gdw. es einen Pfad π gibt, der bei s beginnt und π ~ φ Wenn φ eine Pfadformel ist, so ist A φ eine Zustandsformel s erfüllt A φ gdw. für alle Pfade π, die bei s beginnen, gilt: π ~ φ s ~ E F c s ~ A X a Tautologien: A φ w E φ A φ u E φ 331
Model Checking Neue Fragestellung: gegeben: temporallogische Formel (Spezifikation) gegeben: Kripke-Struktur (System) Frage: ist die Formel in der Struktur wahr (erfüllt das System die Spezifikation Anspruchsvoll, weil Kripke-Struktur in der Praxis astronomisch viele Zustände hat Kripke-Struktur meist implizit gegeben ist (als Generierungsvorschrift, Programm,...) Trotzdem: Anwendungen in der Praxis 332
Einige Anwendungen: international Protokolle, Hardware: IEEE Futurebus* Cache Coherence Protocol AT&T ISDN Systeme Strukturkomponente zur Erdbebensicherung Software Gerätetreiber für MS Windows... 333
Anwendungen Lehrstuhl Hazard Detection in einem asynchronen Schaltkreis Verifikation von Geschäftsprozessen Verifikation von Webservice-Choreografien Exploration biochemischer Netzwerke Verifikation verteilter Programme 334
Zusammenfassung
Logik Wechselspiel Realität formale (mengenth.) Semantik Syntax Modellieren Ausschnitt der Realität und versuchen, die in diesem Ausschnitt wahren Gegebenheiten/korrekten Schlüsse syntaktisch zu charakterisieren Folgern in (fast) allen Kalkülen einheitlich 336
Logik: Anwendungen Repräsentation und Verarbeitung von Wissen Expertsysteme deklarative Programmierung Theorembeweiser Spezifikation und Verifikation von Anforderungen Model Checking Präzisierung/Objektivierung natürlichsprachiger Konzepte Fachsprache Beweistechniken Charakterisierung von Modellmengen... 337