Reasoning in interval temporal logic
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.
Unable to display preview. Download preview PDF.
- 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.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.E. A. Ashcroft and W. W. Wadge. Lucid, the Data Flow Programming Language. To be published.Google Scholar
- 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.R. Kowalski. Logic for Problem Solving. Elsevier North Holland, Inc., New York, 1979.Google Scholar
- 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.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.B. Moszkowski. Reasoning about Digital Circuits. PhD Thesis, Department of Computer Science, Stanford University, 1983.Google Scholar
- 9.B. Moszkowski and Z. Manna. Temporal logic as a programming language. In preparation.Google Scholar
- 10.N. Rescher and A. Urquart. Temporal Logic. Springer-Verlag, New York, 1971.Google Scholar
- 11.D. Scott. “Data types as lattices.” SIAM Journal of Computing 5, 3 (Sept. 1976), 522–587.Google Scholar
- 12.J. E. Stoy. Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. MIT Press, Cambridge, Masachusetts, 1977.Google Scholar