Characterizing Finite Kripke Structures in Propositional Temporal Logic

Abstract We show that if two finite Kripke structures can be distinguished by some CTL ∗ formula that contains both branching-time and linear-time operators, then the structures can be distinguished by a CTL formula that contains only branching-time operators. Our proof involves showing that, for any finite Kripke structure M , it is possible to construct a CTL formula F M that uniquely characterizes M . Since one Kripke structure may be a trivial unrolling of another, we use a notion of equivalence between Kripke structures that is similar to the notion of bisimulation studied by Milner [15]. Our first construction of F M requires the use of the nexttime operator. We also consider the case in which the nexttime operator is disallowed in CTL formulas. The proof, in this case, requires another notion of equivalence— equivalence with respect to stuttering and is much more difficult since it is possible for two inequivalent states to have exactly the same finite behaviors (modulo stuttering), but different infinite behaviors. We also give a polynomial algorithm for determining if two structures are stuttering equivalent and discuss the relevance of our results for temporal logic model checking and synthesis procedures.

[1]  Joseph Y. Halpern,et al.  “Sometimes” and “not never” revisited: on branching versus linear time temporal logic , 1986, JACM.

[2]  Amir Pnueli,et al.  Linear and Branching Structures in the Semantics and Logics of Reactive Systems , 1985, ICALP.

[3]  Pierre Wolper,et al.  An Automata-Theoretic Approach to Automatic Program Verification (Preliminary Report) , 1986, LICS.

[4]  Mordechai Ben-Ari,et al.  The temporal logic of branching time , 1981, POPL '81.

[5]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[6]  Edmund M. Clarke,et al.  Hierarchical Verification of Asynchronous Circuits Using Temporal Logic , 1985, Theor. Comput. Sci..

[7]  Joseph Sifakis,et al.  Specification and verification of concurrent systems in CESAR , 1982, Symposium on Programming.

[8]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

[9]  Matthew Hennessy,et al.  The Power of the Future Perfect in Program Logics , 1985, Inf. Control..

[10]  Joseph Sifakis,et al.  Frm Synchronization Tree Logic to Acceptance Model Logic , 1985, Logic of Programs.

[11]  Max J. Cresswell,et al.  A New Introduction to Modal Logic , 1998 .

[12]  Pierre Wolper,et al.  Synthesis of Communicating Processes from Temporal Logic Specifications , 1981, TOPL.

[13]  A. Prasad Sistla,et al.  Deciding Full Branching Time Logic , 1985, Inf. Control..

[14]  Pierre Wolper,et al.  Specification and synthesis of communicating processes using an extended temporal logic: (preliminary version) , 1982, POPL '82.

[15]  Leslie Lamport,et al.  What Good is Temporal Logic? , 1983, IFIP Congress.

[16]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[17]  Edmund M. Clarke,et al.  Automatic Verification of Sequential Circuits Using Temporal Logic , 1986, IEEE Transactions on Computers.

[18]  Amir Pnueli,et al.  Checking that finite state concurrent programs satisfy their linear specification , 1985, POPL.