80 likes | 198 Views
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
E N D
CS 267: Automated VerificationLectures 4: -calculusInstructor: 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 return {s | L(s,f)=true}; case: f p return S - eval(p); case: f p q return eval(p) eval(q); case: f p 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 |= EGF p 0 1 2 EGF p = y . z . ((p EX z) EX y) p EF p EF p F3 F2 0 |= EG EF p nested fixpoint F3y z 0,0 {0,1,2} 0,1 {1} 0,2 {0,1} 0,3 {0,1} 1,0 {0,1} 1,1 2,0 2,1 3,0 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} EGF p =