Download presentation
Presentation is loading. Please wait.
1
Modal, Dynamic and Temporal Logics
SWE 623 SWE 623 Duminda Wijesekera
2
Modal Logic Logic of Necessity and Possibility
Has a philosophical background Syntax has two extra symbols [] read as necessity ([] X is “necessarily X”) Also called “box X” <> read as possibility (<> X “possibly X”) Also called “diamond X” See SWE 623 Duminda Wijesekera
3
Kripke Semantics of Modal Logic
The “universe” seen as a collection of worlds. Truth defined “in each world”. Say U is the universe. I.e. each w e U is a prepositional or predicate model. W4 W1 W2 W3 SWE 623 Duminda Wijesekera
4
Kripke Semantics of Modal Logic
W1 satisfies [] X if X is satisfied in each world accessible from W1. If W3 and W4 satisfy X. Notation: W1 |= [] X if and only if W3 |= X and W4 |= X W1 W1 satisfies <> X if X is satisfied in at least one world accessible from W1. W4 W1 W2 W3 Notation: W1 |= <> X if and only if W3 |= X or W4 |= X SWE 623 Duminda Wijesekera
5
Proof Rules for Modal Logic
Modal Generalization A [] A Monotonicity of A B A B Monotonicity of [] A []B SWE 623 Duminda Wijesekera
6
An Axiom System for Prepositional Logic
(A (B C)) (A B) (A C) A (B A) (( A false ) false ) A Modus Ponens A, A -> B B SWE 623 Duminda Wijesekera
7
An Axiom System for Predicate Logic
x (A(x) B(x)) (xA(x) xB(x)) x A(x) A[t/x] provided t is free for x in A A x A(x) provided x is not free in A Modus Ponens A, A -> B B Generalization A x A(x) SWE 623 Duminda Wijesekera
8
Some Facts About Modal Logic
A couple of Valid Modal Formulas: (A B ) <-> ( A) ( B) [](A B ) <-> ([] A) ([] B) (false) (false) ( A) ([]B) (A B ) Counter-examples to invalid modal formulas ( A) ( [] A ) SWE 623 Duminda Wijesekera
9
Proving Modal Formulas
SWE 623 Duminda Wijesekera
10
A counter-example in Modal Logic
SWE 623 Duminda Wijesekera
11
Dynamic Logic A special kind of Modal Logic where each world is a system state. Definition of State The set of variables x1, … xn. x1= a1, … xn= an. is a state, where each variable takes a value. Accessibility is state change perhaps due to executing code. x1= a1, … xn= an is changed to x1= b1, … xn= an by the program (x1 := b1). SWE 623 Duminda Wijesekera
12
Dynamic Logic Issues: Two Levels
What kind of program constructs result in what type of state change What is the logic Two Levels Prepositional: Only deals with state change at (abstract) symbolic level Predicate: Details of variables, values and programming operators Deals well with non-determinism, concurrency etc. SWE 623 Duminda Wijesekera
13
Prepositional Dynamic Logic Syntax
If A, B propositions and a, b programs, Following are formulas A /\ B, A B, A, A B, [a]A, < a>A are formulas. Following are programs U b = non-deterministic choice a; b = sequential composition (A?) a = test. a* = non-deterministic iteration SWE 623 Duminda Wijesekera
14
Prepositional Dynamic Logic Semantics
A collection of states: S = {si : i >= 0}. For each state si a notion of satisfiability of atomic prepositions. I.e. si |= A for each A. For each each atomic program a, a relation Ra on SxS. Raub = Ra u Rb R(A?) = { (s,s) : s |= A } Ra;b = Ra ; Rb ={ (s1,s3) : s2 (s1,s2) e Ra and (s2,s3) e Rb } Ra* = U {Rai : i >=0 }. Where Rai is defined inductively as Ra(i+1) = Rai ; Ra and Ra0 = Identity. SWE 623 Duminda Wijesekera
15
PDL Semantics - Satisfaction
Prepositional connectives as usual: I.e. si |= A /\ B if si |= A and si |= B I.e. si |= A B if si |= A or si |= B Modal Connectives as in Modal Logic I.e. si |= [a]A, if for all states sj such that (si , sj) e Ra sj |= A I.e. si |= <a>A, there is a state sj with (si , sj) e Ra and sj |= A SWE 623 Duminda Wijesekera
16
PDL Axiom System Axioms of prepositional logic
[a] (A B) ([a]A [a]B) [a] (A /\ B) <-> ([a]A /\ [a]B) [a U b]A <-> ([a] A /\ [b] A) [a ; b]A <-> [a] [b] A [B?]A <-> (B /\ A) B /\ [a] [a*] A <-> [a*] A B /\ [a*]( A [a]A) [a*] A SWE 623 Duminda Wijesekera
17
PDL Axiom System: Rules
Modus Ponens A, A -> B B Modal Generalization A [a] A SWE 623 Duminda Wijesekera
18
Some Derived Rules for PDL
Monotonicity of <a> A -> B <a>A -> <a>B Monotonicity of [a] [a]A -> [a]B SWE 623 Duminda Wijesekera
19
Some Provable Properties
[a] (A /\ B) ([a]A /\[a]B) <a> (A \/ B) <-> (<a>A \/ <a>B) (<a>A /\ [a] B) <a>(A /\ B) [a ]A <-> ( <a>( A)) <a>false <-> false <a><b>A <-> <a;b>A, [a][b]A <-> [a;b] A < a U b>A <-> (<a>A \/ <b>B) [ a U b]A <-> ([a]A /\ [b]B) SWE 623 Duminda Wijesekera
20
Translating Gires’s Style Pre/Post Conditions to PDL
Skip == True? Fail == false? If A then a else b == (A?;a) U (A?;b) While A do a == (A?;a)*; (A?) SWE 623 Duminda Wijesekera
21
First-Order Dynamic Logic
Syntax: The same definition as predicate logic except for the additions If A is a formula and a is a program, then [a]A, <a>A are formulas. If A is a formula, then A? is a test. (I.e. a program) If A is quantifier free then its said to be a basic test, and otherwise a rich test. SWE 623 Duminda Wijesekera
22
First-Order Dynamic Logic
Semantics: Transitions between states defined as R(X :=a) = { (S, S’) : if S’(x) = S(a) and S’(y) = S(y) for Y != X } R(A?) = {(S,S) : S |= A } Definitions of U, ; are same as in the prepositional case. SWE 623 Duminda Wijesekera
23
Axiomatization Axioms All axioms for predicate logic
All axioms for PDL A[t/x] <-> < x:= t>A(x) A <-> A’, A’ is obtained by replacing any program a by z:=x; a’; x:=z, where a’ is a with all occurrences of x replaced by z, and z does not appear in a SWE 623 Duminda Wijesekera
24
Axiomatization: Rules
modus ponens A, A -> B B Generalization A A [a] A x A(x) Infinitary convergence A -> [an]B for all n B -> [a*]B SWE 623 Duminda Wijesekera
25
Some Example Reductions I
Reduce: X:=X+1; ((X:=a) U (X:=b)) A(X) Step1: X=X+1; (X=a) (X=b) A(X) Step2: X=X+1 (X=a) A(X) <X=X+1 (X=b) A(X) Step3: X=X+1 A Step4: A(a) A(b) SWE 623 Duminda Wijesekera
26
Some Example Reductions II
Reduce: [x:=x+1;(x:=a U x:=b)] B(X) Step1: [x:=a+1 U x:=b+1]B(x) Step 2: [x:=a+1]B(x) /\ [x:=b+1]B(x) Step 3: B(a+1) /\ B(b+1) SWE 623 Duminda Wijesekera
27
Temporal Logic Special kind of modal logic to reason about time.
There are many kinds of Temporal Logics Linear and Branching Time Future and Past times Discrete and Continuous time Operators in Temporal Logics (MacMillan’s Notation) O = next time F [] = always G = some times X = until U SWE 623 Duminda Wijesekera
28
Prepositional Syntax Atomic Proposition letters p, q etc.
If p, q are propositions then so are. Meaning Logical Notation Model Checking Next Time p: Op Xp All ways p: []p Gp In the future p: p Fp p until q: p q pUq SWE 623 Duminda Wijesekera
29
Prepositional Semantics
A collection of Kripke Worlds including the current one. Accessibility relation is evolution of time. SWE 623 Duminda Wijesekera
30
Prepositional Semantics II
|= Op if some world accessible from the current satisfies p. |= []p if every world accessible from the current satisfies p. |= p if some world in the future from the current satisfies p. SWE 623 Duminda Wijesekera
31
PTL Axioms and Rules I Axioms [](A ->B) ->([]A -> []B)
O(A ->B) -> (OA -> OB) (O A) <-> (OA) []A -> (A /\ O[]A) [](A -> OA) -> (A -> []A) A B -> B A B <-> B \/ (A /\ O(A B )) SWE 623 Duminda Wijesekera
32
PTL Axioms and Rules II Rules modus ponens generalization A [] A O A
SWE 623 Duminda Wijesekera
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.