Logik in der Informatik IV Michael Schenke | Logik in der Informatik 01/12/18 | Seite 1
Inhalt Temporale Logik Metrische Temporale Logik Intervall Temporale Logik Duration Calculus
Temporale Logik Zeitliche Abläufe
IV. Temporale Logik Betrachtung potentiell unendlicher Abläufe Explizite Rechnungen mit der Zeit sollen vermieden werden. Einführung von Temporal-Operatoren Anwendung bei der Verifikation von Realzeit-Systemen
IV. Temporale Logik Temporale Modal-Operatoren F p : „p wird sein“ (Zukunft) G p : „p wird immer sein“ (Generalisierung davon) P p : „p war einmal“ (Vergangenheit) H p : „p war immer“ (Generalisierung davon)
IV. Temporale Logik Minimal Tense Logik (MTL) Axiome von MTL (Übernahme aus T) A1 −A4 (für AL) G p→q → Gp→Gq H p→q → Hp→Hq p Gp , p Hp Dazu Modus Ponens und Formelsubstitution, nicht jedoch Gp → p oder Hp → p
IV. Temporale Logik Minimal Tense Logik (MTL) Axiome über T hinaus: p H F p Fp Fp Fp p t p G P p p Pp Pp Pp t Temporales S4: Gp GGp Hp HHp
IV. Temporale Logik Minimal Tense Logik (MTL) Beispiel: Seien T= ℝ + 0 und R die<−Relation Behauptung: Es gilt Gq GGq Sei tT. Es gelte M,t ⊨Gq Daher F.a. t‘T mit tt‘ gilt M,t′ ⊨q Sei t‘‘T mit t‘t‘‘. Dann gilt tt‘‘, folglich gilt M,t′′ ⊨q. Daher gilt M,t′ ⊨Gq. Also gilt M,t ⊨GGq für alle Zeitpunkte t. Also gilt auch M⊨Gq →GGq.
IV. Temporale Logik Minimal Tense Logik (MTL) Beispiel Ampelschaltung: Voraussetzung:r →F ge und ge →F gr Durch Formelsubstitution: r→F F gr Durch temporales S4: r→F gr In manchen Systemen gilt Temporales S5: Fq GFq ◊q □◊q Pq HPq
IV. Temporale Logik a until b M,t ⊨ a until b ⟺ ∃ t′ : t <t′ : M,t′ ⊨ b und f.a. t′′ mit t< t ′′ < t ′ :M, t ′′ ⊨a a since b (analog für die Vergangenheit) ◊b true until b (◊p = p Fp) a unless b a until b oder □a Für diskrete Zeit sei „O“ der next- Operator. M,t ⊨Oa ⟺f.a. t ′ ∈succ t :M, t ′ ⊨a □a a O(□a)
Metrische Temporale Logik Die Zeit wird meßbar
V. Metrische Temporale Logik Allgemein: □5 p //p gilt immer in den nächsten 5 Sekunden ◊5 p //p gilt irgendwann in den nächsten 5 Sekunden M,t ⊨ □5 p ⟺ F.a. t′ mit t ≤ t ′ ≤ t+5 : M, t ′ ⊨ p M,t ⊨ ◊5 p ⇔ Ex. t′ mit t ≤ t′ ≤ t+5 : M,t′ ⊨p □a □b p □a+b p ◊a ◊b p ◊a+b p
Intervall Temporale Logik Beobachtung von Zeitintervallen
VI. Intervall Temporale Logik Mögliche Welten sind Intervalle M,I ⊨p ⟺ … Zwei Arten von Variablen Globale Variablen Temporale Variablen Modalitäten □, ◊, l (für Länge), ; (chop, Zerlegung des Intervalls) Junktoren
VI. Intervall Temporale Logik Syntax Terme: GV, TV, l, f(t1,…,tn) Formeln: p(t1,…,tn), l =x, ¬ F, F∧G, F;G, xF Die klassischen Modalitäten sind abgeleitet: ⋄F = true ; F ; true F true true □F = ¬⋄¬ F b: Beginn m: Mitte e: Ende
VI. Intervall Temporale Logik Semantik M,σ,I ⊨ v ⟺ σ I,v = 1 M,σ,I ⊨ F ∧ G ⟺ M,σ,I ⊨ F und M,σ,I ⊨ G M,σ,I ⊨ ¬F ⟺ M,σ,I ⊨ F gilt nicht M,σ,I ⊨ F ; G ⟺ Ex. b,m,e : I = b,e , m ∈ I : M,σ,[b,m] ⊨ F, M,σ, m,e ⊨ G M,σ,I ⊨ ℓ = x ⟺ I = b,e ∧ e−b = x Alle anderen Bestandteile können mit Hilfe des Extensionalitätsprinzips errechnet werden.
VI. Intervall Temporale Logik ITL ist eine S4-Logik. Außerdem gelten ℓ = x;ℓ = y ⟺ ℓ = x+y Gesetze für chop: (F ; G) ; H ⟺ F ; (G ; H) Assoziativgesetz ℓ=0;F ⟺ F ⟺ F;ℓ=0 Einselement false;F ⟺ false ⟺ F;false Nullelement □ F1 ∧ F2;F3 => (□ F1 ∧ F2); (□ F1 ∧ F3).
Intervall-Logik für Echtzeitsysteme Duration Calculus Intervall-Logik für Echtzeitsysteme
Duration Calculus (Zhou Chao Chen) VII. Duration Calculus Beispiel: In jedem Intervall der Länge 1 Min, soll höchstens für 5 Sek Gas ausströmen. Duration Calculus (Zhou Chao Chen) Schaffe Temporale Variablen ab, führe Menge ZV von Zustandsvariablen ein σ: ZV x ℝ ⟶𝔹 Führe neue Modalität ein: Damit würde aus der obigen Forderung: ℓ ≥60 ⟶ ∫Gas ≤5
VII. Duration Calculus σ:ZV x ℝ ⟶𝔹 Zustandsvariablen: ZV Zustandsausdrücke: ZA ZV ¬ZA, ZA1 ∧ZA2, ZA1∨ZA2 Formeln: A (Zustandsausdruck) ℓ op exp (op Vergleichsoperator, exp arithm. Ausdruck) F1, F1 F2, F1 F2
VII. Duration Calculus für Formeln: Semantik: für Zustandsabbildung σ σ ¬z,t =1 −σ z,t σ F1 ∧ F2, t = min (σ F1,t ,σ F2,t ) σ F1 F2, t = max (Z σ1,t ,σ F2,t ) für Formeln: M(F)(σ,I) = I σ(F,t)dt ℓ op exp und F1, F1 F2, F1 F2 werden gemäß dem Extensionalitätsprinzip errechnet.
VII. Duration Calculus Definition ⌈F⌉ M,I ⊨ F ⟺∫I F= ℓ >0 Bemerkung: Die Interpretationen der Zustandsausdrücke sind Funktionen ℝ⟶𝔹 mit endlich vielen Sprungstellen.
VII. Duration Calculus Axiom: Sei F ein Zustandsausdruck, dann gelten ⌈⌉∨ F ;true ∨ ¬F ;true und ⌈⌉∨true; F ∨true; ¬F a) M,I ⊨ ⌈⌉ oder M,I ⊨ F ; true oder M,I ⊨ ¬F ;true b) M,I ⊨⌈⌉ oder M,I ⊨true ; F oder M,I ⊨true ; ¬F
VII. Duration Calculus Kalkül Axiom A0 : Sei p(t, … tn) gültig in ITL mit temporalen Variablen t. Dann ist p(F1, … , Fn) gültig in DC. Problem: Wie wird ein Zustandsausdruck auf einem Intervall ausgewertet, wenn er dort nicht konstant ist?
VII. Duration Calculus Kalkül A1: F G in Prädikatenlogik, dann gilt F=G
VII. Duration Calculus Kalkül A2: false = 0 A3: true = ℓ A4: F 0 A5: F + G = FG + FG
VII. Duration Calculus Kalkül A6: F = w1 ; F = w2 F = w1 + w2 A7: ⌈⌉ ⌈F⌉ ; true ⌈F⌉ ; true A8: ⌈⌉ true ; ⌈F⌉ true , ⌈F⌉ F w1 w2
VII. Duration Calculus Kalkül Zu A7 : Sei I ein Intervall, F eine Formel: M,I ⊨⌈⌉∨ F ;true ∨ ¬F ;true Fall 1: I ist ein Punktintervall, dann gilt M,I ⊨ ⌈⌉ Fall 2: I ist kein Punktintervall. Sei I = [b, e] Was ist lim 𝑥 →𝑏 𝐹(𝑥) ? Ist lim 𝑥 →𝑏 𝐹(𝑥) =0, so gilt am Anfang von I: F, sonst gilt dort F. Im ersten Fall heißt das M,I ⊨ ⌈F⌉ ; true sonst: M,I ⊨ ⌈F⌉ ; true
VII. Duration Calculus Kalkül A7 (und auch A8) ermöglichen ein Induktionsprinzip: Wenn gezeigt wird: H(⌈⌉) und Aus H(X) folgt H (X ∨X ; F ∨X ; ¬F ) Dann folgt H(true). Anwendung: Nachweis einer Formel E Als H wird gewählt: H(X): X E Zu zeigen: ⌈⌉E , X→E ⟹(X ∨ X; F ∨ X; ¬F ) →E