You are on page 1of 84

Artificial Intelligence: Foundations & Applications

Temporal Logic and Applications

Prof. Partha P. Chakrabarti & Arijit Mondal


Indian Institute of Technology Kharagpur

IIT Kharagpur 1
CTL example
S
req

req req req

gr gr gr req gr gr

gr gr

• From S the system always makes a request in future:

IIT Kharagpur 2
CTL example
S
req

req req req

gr gr gr req gr gr

gr gr

• From S the system always makes a request in future: AF req

IIT Kharagpur 2
CTL example
S
req

req req req

gr gr gr req gr gr

gr gr

• From S the system always makes a request in future: AF req


• All requests are eventually granted:

IIT Kharagpur 2
CTL example
S
req

req req req

gr gr gr req gr gr

gr gr

• From S the system always makes a request in future: AF req


• All requests are eventually granted: AG(req → AF gr)

IIT Kharagpur 2
CTL example
S
req

req req req

gr gr gr req gr gr

gr gr

• From S the system always makes a request in future: AF req


• All requests are eventually granted: AG(req → AF gr)
• Sometimes requests are immediately granted:

IIT Kharagpur 2
CTL example
S
req

req req req

gr gr gr req gr gr

gr gr

• From S the system always makes a request in future: AF req


• All requests are eventually granted: AG(req → AF gr)
• Sometimes requests are immediately granted: EF(req → EX gr)

IIT Kharagpur 2
CTL example
S
req

req req req

gr gr gr req gr gr

gr gr

• From S the system always makes a request in future: AF req


• All requests are eventually granted: AG(req → AF gr)
• Sometimes requests are immediately granted: EF(req → EX gr)
• Requests are held till grant is received:

IIT Kharagpur 2
CTL example
S
req

req req req

gr gr gr req gr gr

gr gr

• From S the system always makes a request in future: AF req


• All requests are eventually granted: AG(req → AF gr)
• Sometimes requests are immediately granted: EF(req → EX gr)
• Requests are held till grant is received: AG(req → A(req U gr))

IIT Kharagpur 2
CTL example
• True properties: EFr, AFr, AGs, AG EF r, E[p U q], E[E(p U r) U q], E[p U E(q U r)]
• False properties: AFq, EGr, AG EF p, E[p U E(r U q)]

s,p

s,p s,r

s,q s,r

s,r

s,p

IIT Kharagpur 3
CTL Model Checking
• It checks whether a given CTL formula f holds on a given Kripke structure M i.e., M |= f

• Need to have modalities for EX, EU and EG


• Other modalities can be expressed using EX, EU and EG
• AF f ≡ ¬EG ¬f
• AG f ≡ ¬EF ¬f
• A(f U g) ≡ (¬EG ¬g) ∧ (¬E[¬g U (¬f ∧ ¬g)])

• Basic procedure
• The set Sat(f) of all states satisfying f is computed recursively
• M |= f if and only if S0 ⊆ Sat(f)

IIT Kharagpur 4
CTL Model Checking: EX f
function CheckEX(f)
1. Sf = {s ∈ S | f ∈ L(s)}
2. while Sf , ∅
3. Choose s ∈ Sf
4. Sf = Sf − {s}
5. for all t such that (t, s) ∈ T
6. if f < L(t)
7. L(t) = L(t) ∪ {EXf}
8. endif
9. end for
10. end while

IIT Kharagpur 5
CTL Model Checking: EF f

f0 = p

IIT Kharagpur 6
CTL Model Checking: EF f

f0 = p

IIT Kharagpur 6
CTL Model Checking: EF f

f1 = p∨
f0 = p
EXf0

IIT Kharagpur 6
CTL Model Checking: EF f

f1 = p∨
f0 = p
EXf0

IIT Kharagpur 6
CTL Model Checking: EF f

f2 = p∨ f1 = p∨
f0 = p
EXf1 EXf0

IIT Kharagpur 6
CTL Model Checking: EF f

f2 = p∨ f1 = p∨
f0 = p
EXf1 EXf0

IIT Kharagpur 6
CTL Model Checking: EF f
f3 = p ∨ EXf2

f2 = p∨ f1 = p∨
f0 = p
EXf1 EXf0

IIT Kharagpur 6
CTL Model Checking: EF f
f3 = p ∨ EXf2

f2 = p∨ f1 = p∨
f0 = p
EXf1 EXf0

IIT Kharagpur 6
CTL Model Checking: EF f
f3 = p ∨ EXf2

f2 = p∨ f1 = p∨
f0 = p
EXf1 EXf0

Least Fix Point

IIT Kharagpur 6
CTL Model Checking: EF p
function CheckEF(p)
1. Sp = {s ∈ S | p ∈ L(s)}
2. for all s ∈ Sp do L(s) = L(s) ∪ {EFp}
3. while Sp , ∅
4. Choose s ∈ Sp
5. Sp = Sp − {s}
6. for all t such that (t, s) ∈ T
7. if {EFp} < L(t)
8. L(t) = L(t) ∪ {EFp}
9. Sp = Sp ∪ t
10. endif
11. end for
12. end while

IIT Kharagpur 7
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c ∅
S6 S7

a,b,c a
S0 S3

S4 S5 a,c
b

b,c S2 S1 a,b

Let p = ((a ⊕ c) ∧ (a ⊕ b)) Sp = {} {} |= g

IIT Kharagpur 8
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c ∅
S6 S7

a,b,c a
S0 S3

g S4 S5 a,c
b

b,c S2 S1 a,b

S4 |= g. Sp = {S4} {S4} |= g

IIT Kharagpur 8
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c ∅
S6 S7

a,b,c a
S0 S3

g S4 g S5 a,c
b

b,c S2 S1 a,b

S5 |= g. Sp = {S4, S5} {S4, S5} |= g

IIT Kharagpur 8
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c ∅
S6 S7

a,b,c a
S0 S3

g S4 g S5 a,c
b

b,c S2 S1 a,b

Choose S4. Sp = {S5} {S4, S5} |= g

IIT Kharagpur 8
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c ∅
g S6 S7

a,b,c a
S0 S3

g S4 g S5 a,c
b

b,c S2 S1 a,b

S6 |= g. Sp = {S5} {S4, S5} |= g

IIT Kharagpur 8
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c ∅
g S6 S7

a,b,c a
S0 S3

g S4 g S5 a,c
b

b,c S2 S1 a,b

Sp = {S5, S6} {S4, S5, S6} |= g

IIT Kharagpur 8
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c ∅
g S6 S7

a,b,c a
S0 S3

g S4 g S5 a,c
b

b,c S2 S1 a,b

Choose S5. Sp = {S6} {S4, S5, S6} |= g

IIT Kharagpur 8
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c ∅
g S6 S7

a,b,c a
S0 S3

g S4 g S5 a,c
b

b,c S2 S1 a,b

No predecessor. Sp = {S6} {S4, S5, S6} |= g

IIT Kharagpur 8
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c ∅
g S6 S7

a,b,c a
S0 S3

g S4 g S5 a,c
b

b,c S2 S1 a,b

Choose S6. Sp = {} {S4, S5, S6} |= g

IIT Kharagpur 8
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c g ∅
g S6 S7

a,b,c a
S0 S3

g S4 g S5 a,c
b

b,c S2 S1 a,b

S7 |= g. Sp = {} {S4, S5, S6} |= g

IIT Kharagpur 8
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c g ∅
g S6 S7

a,b,c a
S0 S3

g S4 g S5 a,c
b

b,c S2 S1 a,b

Sp = {S7} {S4, S5, S6, S7} |= g

IIT Kharagpur 8
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c g ∅
g S6 S7

a,b,c a
S0 S3

g S4 g S5 a,c
b

b,c S2 S1 a,b

Choose S7. Sp = {} {S4, S5, S6, S7} |= g

IIT Kharagpur 8
Example: g = EF((a ⊕ c) ∧ (a ⊕ b))
c g ∅
g S6 S7

a,b,c a
S0 S3

g S4 g S5 a,c
b

b,c S2 S1 a,b

Done. {S4, S5, S6, S7} |= g

IIT Kharagpur 8
CTL Model Checking: EG p

f0 = p

IIT Kharagpur 9
CTL Model Checking: EG p

f0 = p f1 = p ∧ EXf0

IIT Kharagpur 9
CTL Model Checking: EG p

f2 = p∧
f0 = p f1 = p ∧ EXf0
EXf1

IIT Kharagpur 9
CTL Model Checking: EG p

f2 = p∧ f3 = p∧
f0 = p f1 = p ∧ EXf0
EXf1 EXf2

IIT Kharagpur 9
CTL Model Checking: EG p

f2 = p∧ f3 = p∧
f0 = p f1 = p ∧ EXf0
EXf1 EXf2

IIT Kharagpur 9
CTL Model Checking: EG p

f2 = p∧ f3 = p∧
f0 = p f1 = p ∧ EXf0
EXf1 EXf2

Greatest Fix Point

IIT Kharagpur 9
CTL Model Checking: EG p
function CheckEG(p)
1. Sp = {s ∈ S | p ∈ L(s)}
2. SCC =Ø {C | C is nontrivial SCC of Sp }
3. R = {s | s ∈ C}
C ∈SCC
4. for all s ∈ R do L(s) = L(s) ∪ {EGp}
5. while R , ∅
6. Choose s ∈ R
7. R = R − {s}
8. for all t such that (t, s) ∈ T and t ∈ Sp
9. if {EGp} < L(t)
10. L(t) = L(t) ∪ {EGp}
11. R = R ∪ {t}
12. endif
13. end for
14. end while

IIT Kharagpur 10
Example: g = EG b
c φ
S6 S7

a,b,c a
S0 S3

S4 a,c S5
b

b,c S2 S1 a,b

Let p = b

IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7

a,b,c a
S0 S3

S4 a,c S5
b

b,c S2 S1 a,b

Find states =b
Let psatisfying b.

IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7

a,b,c a
S0 S3

S4 a,c S5
b

b,c S2 S1 a,b

=b
Let psatisfying
Find states b. Sp = {S0}

IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7

a,b,c a
S0 S3

S4 a,c S5
b

b,c S2 S1 a,b

=b
Let psatisfying
Find states b. SpSp=={S0,
{S0}S1}

IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7

a,b,c a
S0 S3

S4 a,c S5
b

b,c S2 S1 a,b

=b
Let psatisfying
Find states b. SpSp=
Sp={S0,
={S0,
{S0}
S1,S1}
S2}

IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7

a,b,c a
S0 S3

S4 a,c S5
b

b,c S2 S1 a,b

=b
Let psatisfying
Find states b. SpSp=Sp= p=={S0,
S{S0,
{S0,
{S0}
S1,
S1,
S2,
S1}
S2}
S4}

IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7

a,b,c a
S0 S3

S4 a,c S5
b

b,c S2 S1 a,b

Find
Find = b Sp . b.
SCCpsatisfying
states
Let using SpSp=Sp= p=={S0,
S{S0,
{S0,
{S0}
S1,
S1,
S2,
S1}
S2}
S4}

IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7

a,b,c a
S0 S3

S4 a,c S5
b

b,c S2 S1 a,b

Find
Find = b Sp . b.
SCCpsatisfying
states
Let using SpSp=Sp= p=={S0,
S{S0,
{S0,
{S0}
S1,
S1,
S2,
S1}
S2}
S4}

IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7

a,b,c a
S0 S3

S4 a,c S5
b

b,c S2 S1 a,b

Find
Find = b Sp . b.
SCCpsatisfying
states
Let using SpSp=SRp==p={S0,
S{S0,={S0,
{S0}
S1,
{S0,S1,
S2,
S1}
S2}
S2} S4}

IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7

a,b,c a
g S0 S3

S4 a,c S5
b
g
b,c S2 S1 a,b

Find
Find = b Sp . b.
SCCpsatisfying
states
Let using SpSp=SRp==p={S0,
S{S0,={S0,
{S0}
S1,
{S0,S1,
S2,
S1}
S2}
S2} S4} Sg = {S0, S2}

IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7

a,b,c a
g S0 S3

S4 a,c S5
b
g
b,c S2 S1 a,b

Find
Find =S0.
b Sp . b.
SCCpsatisfying
states
Let
Choose using SpSp=SRp=R=p={S0,
S{S0,=={S0,
{S0}
S1,
{S0,S1,
{S2}S2,
S1}
S2}
S2} S4} Sg = {S0, S2}

IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7

a,b,c a
g S0 S3

g S4 a,c S5
b
g
b,c S2 S1 a,b

Find
Find SCC
S4 p|=
states
Let
Choose =g.
b Sp . b.
using
satisfying
S0. SpSp=SRp=R=p={S0,
S{S0,=={S0,
{S0}
S1,
{S0,S1,
{S2}S2,
S1}
S2}
S2} S4} Sg = {S0, S2}

IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7

a,b,c a
g S0 S3

g S4 a,c S5
b
g
b,c S2 S1 a,b

Find
Find SCC
S4 p|=
states
Let
Choose =g.
b Sp . b.
using
satisfying
S0. SpSp=SRp=R=p={S0,
S{S0,=={S0,
{S0}
S1,
{S0,
{S2,S1,
{S2}S2,
S1}
S2}
S4}
S2} S4} SgSg= ={S0,
{S0,
S2,S2}
S4}

IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7

a,b,c a
g S0 S3

g S4 a,c S5
b
g
b,c S2 S1 a,b

Find
Find SCC
S4 p|=
states
Let
Choose =g.
b Sp . b.
using
satisfying
S0.
S2. SpSp=SRp=R=p={S0,
S{S0,=={S0,
{S0}
S1,
{S0,
{S2,S1,
{S4}
{S2}S2,
S1}
S2}
S4}
S2} S4} SgSg= ={S0,
{S0,
S2,S2}
S4}

IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7

a,b,c a
g S0 S3

g S4 a,c S5
b
g
b,c S2 S1 a,b

Find
Find SCC
Nothing
states
Let
Choosep|=
S4 to =explore.
b Sp . b.
using
g.
satisfying
S0.
S2. SpSp=SRp=R=p={S0,
S{S0,=={S0,
{S0}
S1,
{S0,
{S2,S1,
{S4}
{S2}S2,
S1}
S2}
S4}
S2} S4} SgSg= ={S0,
{S0,
S2,S2}
S4}

IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7

a,b,c a
g S0 S3

g S4 a,c S5
b
g
b,c S2 S1 a,b

Find
Find SCC
Nothing
states
Let
Choosep|=
S4 to =explore.
b Sp . b.
using
g.
satisfying
S0.
S4.
S2. SpSp=SRp=R=p=
S{S0,==={S4}
R{S0,
{S0,
{S0}
S1,
{S0,
{S2,S1,
{S2}
{} S2,
S1}
S2}
S4}
S2} S4} SgSg= ={S0,
{S0,
S2,S2}
S4}

IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7

a,b,c a
g S0 S3

g S4 a,c S5
b
g
b,c S2 S1 a,b

Find
Find SCC
Nothing
states
Let
Choosep|=
S4 to =explore.
b Sp . b.
using
g.
satisfying
S0.
S4.
S2. SpSp=SRp=R=p=
S{S0,==={S4}
R{S0,
{S0,
{S0}
S1,
{S0,
{S2,S1,
{S2}
{} S2,
S1}
S2}
S4}
S2} S4} SgSg= ={S0,
{S0,
S2,S2}
S4}

IIT Kharagpur 11
Example: g = EG b
c φ
S6 S7

a,b,c a
g S0 S3

g S4 a,c S5
b
g
b,c S2 S1 a,b

Find
Find SCC
NothingS4
states
Let p|=
to =explore.
b Sp . b.
using
g.
satisfying
Done.
Choose S0.
S4.
S2. SpSgp=SR= R=p= ==={S4}
R{S0,
pS{S0, S2,
{S0,
{S0}
S1,
{S0,
{S2,S1,
{S2}
{} S4}
S2,
S1}
S2}
S4}
S2} S4} SgSg= ={S0,
{S0,
S2,S2}
S4}

IIT Kharagpur 11
CTL Model Checking: E(p U q)

f0 = q

IIT Kharagpur 12
CTL Model Checking: E(p U q)

f1 = q∨
f0 = q
(p ∧ EXf0 )

IIT Kharagpur 12
CTL Model Checking: E(p U q)

f2 = q∨ f1 = q∨
f0 = q
(p ∧ EXf1 ) (p ∧ EXf0 )

IIT Kharagpur 12
CTL Model Checking: E(p U q)
f3 = q ∨ (p ∧ EXf2 )

f2 = q∨ f1 = q∨
f0 = q
(p ∧ EXf1 ) (p ∧ EXf0 )

IIT Kharagpur 12
CTL Model Checking: E(p U q)
f3 = q ∨ (p ∧ EXf2 )

f2 = q∨ f1 = q∨
f0 = q
(p ∧ EXf1 ) (p ∧ EXf0 )

Least Fix Point

IIT Kharagpur 12
CTL Model Checking: E(p U q)
function CheckEU(p,q)
1. Sq = {s ∈ S | q ∈ L(s)}
2. for all s ∈ Sq do L(s) = L(s) ∪ {E(p U q)}
3. while Sq , ∅
4. Choose s ∈ Sq
5. Sq = Sq − {s}
6. for all t such that (t, s) ∈ T
7. if {E(p U q)} < L(t) and p ∈ L(t)
8. L(t) = L(t) ∪ {E(p U q)}
9. Sq = Sq ∪ {t}
10. endif
11. end for
12. end while

IIT Kharagpur 13
Nested CTL query
EF(p ∧ AG¬q)

IIT Kharagpur 14
Nested CTL query
EF(p ∧ AG¬q)

EF

p ∧ AG¬q

IIT Kharagpur 14
Nested CTL query
EF(p ∧ AG¬q)

EF

p ∧ AG¬q

IIT Kharagpur 14
Nested CTL query
EF(p ∧ AG¬q)

EF

p ∧ AG¬q

IIT Kharagpur 14
Nested CTL query
EF(p ∧ AG¬q)

EF

p ∧ AG¬q

p AG¬q

IIT Kharagpur 14
Nested CTL query
EF(p ∧ AG¬q)

EF

p ∧ AG¬q

p AG¬q

AG

¬q

IIT Kharagpur 14
Nested CTL query
EF(p ∧ AG¬q)

EF

p ∧ AG¬q

p AG¬q

AG

¬q

IIT Kharagpur 14
Nested CTL query
EF(p ∧ AG¬q)

EF

p ∧ AG¬q

p AG¬q

AG

¬q

IIT Kharagpur 14
Nested CTL query
EF(p ∧ AG¬q)

EF

p ∧ AG¬q


p AG¬q

AG

¬q

IIT Kharagpur 14
Nested CTL query
EF(p ∧ AG¬q)

EF

p ∧ AG¬q


p AG¬q

AG

¬q

IIT Kharagpur 14
Real Time properties
• Real time systems
• Predictable response time are necessary for correct operation
• Safety critical systems like controller for aircraft, industrial machinery are a few examples

• It is difficult to express complex timing properties


• Simple: “event p will happen in future”
• Fp

• Complex: “event p will happen within at most n time units”


• p ∨ (Xp) ∨ (XXp) ∨ . . . ([XX . . . n times]p)

IIT Kharagpur 15
Bounded Temporal Operators
• Specify real-time constraints
• Over bounded traces

• Various bounded temporal operators


• G[m,n] p – p always holds between mth and nth time step
• F[m,n] p – p eventually holds between mth and nth time step
• X[m] p – p holds at the mth time step
• p U[m,n] q – q eventually holds between mth and nth time step and p holds until that point of time

IIT Kharagpur 16
Examples
0 1 2 3 4
G [2,4] p

p holds

• p holds always between 2nd and 4th time step

IIT Kharagpur 17
Examples
0 1 2 3 4
F [2,4] p

p holds

• p holds eventually between 2nd and 4th time step

IIT Kharagpur 18
Examples
0 1 2 3 4
X3 p

p holds

• p holds in the 3rd time step

IIT Kharagpur 19
Examples
0 1 2 3 4
pU [2,4] q

p holds q holds

• q holds eventually between 2nd and 4th time step and p holds until q holds

IIT Kharagpur 20
Timing properties
• Whenever request is recorded grant should take place within 4 time units
• AG(posedge(req) → AF[0,4] posedge(gr))

• The arbiter will provide exactly 64 time units to high priority user in each grant
• AG(posedge(hpusing) →
A(¬negedge(hpusing) U[64,64] negedge(hpusing)))

IIT Kharagpur 21
Than« y¯µ!

IIT Kharagpur 22

You might also like