Lecture 4: Mu-calculus

Download Report

Transcript Lecture 4: Mu-calculus

CS 267: Automated Verification
Lectures 4: -calculus
Instructor: Tevfik Bultan
-Calculus
-Calculus is a temporal logic which consist of the following:
• Atomic properties AP
• Boolean connectives: 
,,
• Precondition operator: EX
• Least and greatest fixpoint operators:  y . F y and  y. F y
– F must be syntactically monotone in y
• meaning that all occurrences of y in within F fall
under an even number of negations
-Calculus
• -calculus is a powerful logic
– Any CTL* property can be expressed in -calculus
• So, if you build a model checker for -calculus you would
handle all the temporal logics we discussed: LTL, CTL,
CTL*
• One can write a -calculus model checker using the basic
ideas about fixpoint computations that we discussed
– However, there is one complication
• Nested fixpoints!
Mu-calculus Model Checking Algorithm
eval(f : mu-calculus formula) : a set of states
case: f  AP
case: f  p
case: f  p q
case: f  p  q
return {s | L(s,f)=true};
return S - eval(p);
return eval(p)  eval(q);
return eval(p)  eval(q);
case: f  EX p
return EX(eval(p));
Mu-calculus Model Checking Algorithm
eval(f)
…
case: f   y . g(y)
y := False;
repeat {
yold := y;
y := eval(g(y));
} until y = yold
return y;
Mu-calculus Model Checking Algorithm
eval(f)
…
case: f   y . g(y)
y := True;
repeat {
yold := y;
y := eval(g(y));
} until y = yold
return y;
Nested Fixpoints
• Here is a CTL property
EG EF p =  y . ( z . p  EX z)  EX y
– The fixpoints are not nested.
– Inner fixpoint is computed only once and then the outer
fixpoint is computed
– Fixpoint characterizations of CTL properties do not have
nested fixpoints
• Here is a CTL* property
EGF p =  y .  z . ((p  EX z)  EX y)
– The fixpoints are nested.
– Inner fixpoint is recomputed for each iteration of the
outer fixpoint
Nested Fixpoint Example
0
1
EF p
p
EF p
0 |= EG EF p
2
F2
EG EF p =  y . ( z . p  EX z)  EX y
F1
EF p fixpoint
EG {0,1} fixpoint

F1() = {1}
F12() = {0,1}
F13() = {0,1}
S={0,1,2}
F2(S) = {0,1}
F22(S) = {0}
F23(S) = {0}
EG EF p = {0}
0 |= EGF p
EGF p =  y .  z . ((p  EX z)  EX y)
F3
nested fixpoint
F3
y
0,0
{0,1,2}
0,1
0,2
0,3
1,0
{0,1}
1,1
2,0

2,1
3,0

EGF p = 
z

{1}
{0,1}
{0,1}



