A decision algorithm for full propositional temporal logic

  • Y. Kesten
  • Z. Manna
  • H. McGuire
  • A. Pnueli
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 697)


The paper presents an efficient algorithm for checking the satisfiability of a propositional linear time temporal logic formula, which may have past as well as future operators. This algorithm can be used to check validity of such formulas over all models as well as over computations of a finite-state program (model checking). Unlike previous theoretical presentations of a decision method for checking satisfiability or validity, whose first step is to construct the full set of all possible atoms of a tableau (satisfaction graph) and immediately pay the worst case exponential complexity price, the algorithm presented here builds the tableau incrementally. This means that the algorithm constructs only those atoms that are reachable from a possible initial atom, satisfying the formula to be checked.

While incremental tableau construction for the future fragment of linear time temporal logic can be done in a single pass, the presence of past operators requires multiple passes that successively construct augmented versions of existing atoms, while still maintaining consistency and reachability.

The proof of correctness of the algorithm is based on showing that any model of the considered formula is embedded as a path in the tableau at all the construction stages, and can be delineated when the construction terminates.

The paper also describes an implementation of the algorithm with further attention to efficiency. This implementation is available as a support system for the book [8] under the name “temporal prover”. It has been used to verify all the propositional temporal formulas and to model-check all the finite-state programs appearing in the book.


temporal logic satisfiability checking validity checking model checking past and future operators incremental tableau automatic verification 


  1. 1.
    M. Ben-Ari, Z. Manna, and A. Pnueli. The temporal logic of branching time. Acta Informatica, 20:207–226, 1983.Google Scholar
  2. 2.
    M.J. Fischer and R.E. Ladner. Propositional dynamic logic of regular programs. J. Comp. Sys. Sci., 18:194–211, 1979.Google Scholar
  3. 3.
    G. D. Gough and H. Barringer. A semantic driven temporal verification. In Proceedings of ESOP'88, 1988.Google Scholar
  4. 4.
    G. D. Gough. Decision procedures for temporal logic, Master's thesis, University of Manchester, England, 1984.Google Scholar
  5. 5.
    J.A.W. Kamp. Tense Logic and the Theory of Order. PhD thesis, UCLA, 1968.Google Scholar
  6. 6.
    O. Lichtenstein and A. Pnueli. Checking that finite state concurrent programs satisfy their linear specification. In Proc. 12th ACM Symp. Princ. of Prog. Lang., pages 97–107, 1985.Google Scholar
  7. 7.
    O. Lichtenstein, A. Pnueli, and L. Zuck. The glory of the past. In Proc. Conf. Logics of Programs, volume 193 of Lect. Notes in Comp. Sci., pages 196–218. Springer-Verlag, 1985.Google Scholar
  8. 8.
    Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, New York, 1991.Google Scholar
  9. 9.
    Z. Manna and P. Wolper. Synthesis of communicating processes from temporal logic specifications. ACM Trans. Prog. Lang. Sys., 6:68–93, 1984.Google Scholar
  10. 10.
    A. Pnueli and R. Sherman. Semantic tableau for temporal logic. Technical Report CS81-21, The Weizmann Institute, 1981.Google Scholar
  11. 11.
    A.P. Sistla and E.M. Clarke. The complexity of propositional linear temporal logic. J. ACM, 32:733–749, 1985.Google Scholar
  12. 12.
    R. Sherman and A. Pnueli. Model checking for linear temporal logic: An efficient implementation. Technical report, Information Science Institute, USC, 1989.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Y. Kesten
    • 1
  • Z. Manna
    • 2
  • H. McGuire
    • 2
  • A. Pnueli
    • 1
  1. 1.Department of Computer ScienceThe Weizmann Institute of ScienceRehovotIsrael
  2. 2.Department of Computer ScienceStanford UniversityStanford

Personalised recommendations