Lecture 14: Basic Fixpoint Theorems (cont) Predicate Transformers Monotonicity and Continuity Existence of Fixpoints Computing Fixpoints Fixpoint Characterization of CTL Operators 1
2 E M Clarke and E A Emerson Synthesis of synchronization skeletons for branching time temporal logic In Logic of Programs: Workshop, Yorktown Heights, NY, May 1981, volume 131 of Lecture Notes in Computer Science Springer-Verlag, 1981 A functional is called a predicate transformer Thus, the least element in the lattice is the empty set, denoted by the lattice is the set of all states, denoted by, and the greatest element in make it true The ordering is set inclusion is the lattice of predicates over Each predicate is identified with the set of states that Let be an arbitrary finite Kripke structure Predicate Transformers
Let 1 2 3 3 is -continuous provided that implies is -continuous provided that implies ; is monotonic provided that implies ; be a predicate transformer, then Monotonicity and Continuity
gfp gfp lfp lfp If 4 whenever is also -continuous whenever is monotonic whenever is also -continuous; whenever is monotonic is monotonic, then it has a least fixpoint, lfp, and a greatest fixpoint, gfp Basic Fixpoint Theorems
such that lfp such that for every -continuous and 5 There is an integer such that gfp is 4 There is an integer is There is an integer, 3 There is an integer such that for every, 2 For every, and 1 The functional is both -continuous Let be a finite Kripke structure and let be a monotonic predicate transformer on Some seful Lemmas
6 end end; return( ) ; while begin do ; ; functionlfp(tau: PredicateTransformer) begin As a consequence of the preceding lemmas, if the following program is monotonic, its least fixpoint can be computed by Least Fixpoint Algorithm
7 It follows directly that lfp and that the value returned is the least fixpoint When the loop terminates, we have and lfp It is easy to see that at the beginning of the Lemma 2 implies that -th iteration, and So, the number of iterations before the loop terminates is bounded by the cardinality of lfp The invariant for the while loop is given by the assertion Correctness of Algorithm
8 end end; return ( ) ; while begin do ; ; functiongfp(tau: PredicateTransformer) begin The greatest fixpoint of may be computed in a similar manner Essentially the same argument can be used to show that the procedure terminates and that the value it returns is gfp Greatest Fixpoint Algorithm
9 We will only prove the characterization for E EG gfp AG gfp EF lfp AF lfp E EX EX AX lfp AX EX AX A lfp Each CTL operator can be characterized as a least or greatest fixpoint of a predicate transformer: Fixpoint Characterizations for CTL
10 4 Conclude from steps 2 and 3 that E is the least fixpoint of EX 3 Show that E See next page 2 Observe that is -continuous and that lfp 1 Prove that EX is monotonic Additional steps are required to show that E is the least such fixpoint It is straightforward to prove that E is a fixpoint of Proof: E is the least fixpoint of the functional EX Lemma Fixpoint Characterization of E
11 Hint: If, E, then there is a path Show that such that and for all Next, show that E Hint: Prove by induction that for all fixpoint of, E se the fact that E First, show that E Next, we show that E We break this step into two parts: Characterization of E (Cont) is a
12 E since The figures demonstrate that the sequence of approximations EX In this case the functional is given by may be computed for a simple Kripke structure The next four figures show how E Simple Example for E converges to E
E? s 13 0 Simple Example for E (Cont) p
E? s 14 0 Simple Example for E (Cont) p
E? s 15 0 Simple Example for E (Cont) p
E? s 16 0 Simple Example for E (Cont) p