The finite and the infinite in temporal logic
SIGACT News Logic Column 11 The Finite and the In nite in Temporal Logic Riccardo Pucella Cornell University Ithaca, NY 14853 USA riccardo@cs.cornell.edu Note from the Editor: I am always looking for contributions. If you have any suggestion concerning the content of the Logic Column, or even better, if you would like to contribute by writing a survey or tutorial on your own work or topic related to your area of interest, feel free to get in touch with me. At the last TACAS in Barcelona, already almost a year ago, Alur, Etessami, and Madhusudan [2004] introduced CaRet, a temporal logic framework for reasoning about programs with nested procedure calls and returns. The details of the logic were themselves interesting (I will return to them later), but a thought struck me during the presentation, whether an axiomatization might help understand the new temporal operators present in CaRet. Thinking a bit more about this question quickly led to further questions about the notion of niteness and in nity in temporal logic as it is used in Computer Science. This examination of the properties of temporal logic operators under nite and in nite interpretations is the topic that I would like to discuss here. I will relate the discussion back to CaRet towards the end of the article, and derive a sound and complete axiomatization for an important fragment of the logic. Temporal logic is commonly used in Computer Science to reason about temporal properties of state sequences [Pnueli 1977; Gabbay, Pnueli, Shelah, and Stavi 1980]. Generally, these state sequences are the states that arise during the execution of a program. Temporal logic lets one write down properties such as an acquired lock is eventually released or it is never the case that the value of such variable is zero . These kinds of properties become even more important in concurrent programs, where properties such as every process eventually executes its critical section , or no two...