Logic of Programs 1983: Logics of Programs pp 371-382 | Cite as

Reasoning in interval temporal logic

  • Ben Moszkowski
  • Zohar Manna
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 164)


Predicate logic is a powerful and general descriptive formalism with a long history of development. However, since the logic's underlying semantics have no notion of time, statements such as “I increases by 2” cannot be directly expressed. We discuss interval temporal logic (ITL), a formalism that augments standard predicate logic with operators for time-dependent concepts. Our earlier work used ITL to specify and reason about hardware. In this paper we show how ITL can also directly capture various control structures found in conventional programming languages. Constructs are given for treating assignment, iteration, sequential and parallel computations and scoping. The techniques used permit specification and reasoning about such algorithms as concurrent Quicksort. We compare ITL with the logic-based programming languages Lucid and Prolog.


Predicate Logic Great Common Divisor Programming Concept Greatest Common Divisor Temporal Formula 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    E. A. Ashcroft and W. W. Wadge. “Lucid: A formal system for writing and proving programs.” SIAM Journal of Computing 5, 3 (Sept. 1976), 336–354.Google Scholar
  2. 2.
    E. A. Ashcroft and W. W. Wadge. “Lucid, a nonprocedural language with iteration.” Communications of the ACM 20, 7 (July 1977), 519–526.Google Scholar
  3. 3.
    E. A. Ashcroft and W. W. Wadge. Lucid, the Data Flow Programming Language. To be published.Google Scholar
  4. 4.
    J. Halpern, Z. Manna and B. Moszkowski. A hardware semantics based on temporal intervals. Proceedings of the 10-th International Colloquium on Automata, Languages and Programming, Barcelona, Spain, July, 1983.Google Scholar
  5. 5.
    R. Kowalski. Logic for Problem Solving. Elsevier North Holland, Inc., New York, 1979.Google Scholar
  6. 6.
    Z. Manna and A. Pnueli. Verification of concurrent programs: The temporal framework. In R. S. Boyer and J. S. Moore, editors, The Correctness Problem in Computer Science, pages 215–273, Academic Press, New York, 1981.Google Scholar
  7. 7.
    B. Moszkowski. A temporal logic for multi-level reasoning about hardware. Proceedings of the 6-th International Symposium on Computer Hardware Description Languages, Pittsburgh, Pennsylvania, May, 1983, pages 79–90.Google Scholar
  8. 8.
    B. Moszkowski. Reasoning about Digital Circuits. PhD Thesis, Department of Computer Science, Stanford University, 1983.Google Scholar
  9. 9.
    B. Moszkowski and Z. Manna. Temporal logic as a programming language. In preparation.Google Scholar
  10. 10.
    N. Rescher and A. Urquart. Temporal Logic. Springer-Verlag, New York, 1971.Google Scholar
  11. 11.
    D. Scott. “Data types as lattices.” SIAM Journal of Computing 5, 3 (Sept. 1976), 522–587.Google Scholar
  12. 12.
    J. E. Stoy. Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. MIT Press, Cambridge, Masachusetts, 1977.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1984

Authors and Affiliations

  • Ben Moszkowski
    • 1
  • Zohar Manna
    • 1
    • 2
  1. 1.Department of Computer ScienceStanford UniversityStanfordUSA
  2. 2.Applied Mathematics DepartmentWeizmann Institute of ScienceRehovotIsrael

Personalised recommendations