# A HOL Conversion for Translating Linear Time Temporal Logic to ω-Automata

Conference paper

First Online:

## Abstract

We present an embedding of linear time temporal logic LTL in HOL together with an elegant translation of LTL formulas into equivalent ω-automata. The translation is completely implemented by HOL rules and is therefore safe. Its implementation is mainly based on preproven theorems such that the conversion works very efficiently. In particular, it runs in linear time in terms of the given formula. The main application of this conversion is the sound integration of symbolic model checkers as (unsafe) decision procedures in the HOL theorem prover. On the other hand, the conversion also enables HOL users to directly verify temporal properties by means of HOL’s induction rules.

## Keywords

Model Checker Temporal Logic Linear Temporal Logic Kripke Structure High Order Logic
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.

## Preview

Unable to display preview. Download preview PDF.

## References

- [1]E.A. Emerson. Temporal and Modal Logic. In J. van Leeuwen, editor,
*Handbook of Theoretical Computer Science*, volume B, pages 996–1072, Amsterdam, 1990. Elsevier Science Publishers.Google Scholar - [2]K.L. McMillan.
*Symbolic Model Checking*. Kluwer Academic Publishers, Norwell Massachusetts, 1993.Google Scholar - [3]G. Holzmann. The model checker SPIN.
*IEEE Transactions on Software Engineering*, 23(5):279–295, May 1997.MathSciNetCrossRefGoogle Scholar - [4]R. H. Hardin, Z. Har’El, and R. P. Kurshan. COSPAN. In Rajeev Alur and Thomas A. Henzinger, editors,
*Conference on Computer Aided Verification (CAV)*, volume 1102 of*Lecture Notes in Computer Science*, pages 423–427, New Brunswick, NJ, USA, July/August 1996. Springer Verlag.CrossRefGoogle Scholar - [5]A. Aziz, F. Balarin, S.-T. Cheng, R. Hojati, T. Kam, S.C. Krishnan, R.K. Ranjan, T.R. Shiple, V. Singhal, S. Tasiran, H.-Y. Wang, R.K. Brayton, and A.L. Sangiovanni-Vincentelli. HSIS: A BDD-Based Environment for Formal Verification. In
*ACM/IEEE Design Automation Conference (DAC)*, San Diego, CA, June 1994. San Diego Convention Center.Google Scholar - [6]R. K. Brayton, A. L. Sangiovanni-Vincentelli, A. Aziz, S.-T. Cheng, S. Edwards, S. Khatri, Y. Kukimoto, S. Qadeer, R. K. Ranjan, T. R. Shiple, G. Swamy, T. Villa, G. D. Hachtel, F. Somenzi, A. Pardo, and S. Sarwary. VIS: A system for verification synthesis. In
*Computer-Aided Verification*, New Brunswick, NJ, July-August 1996.Google Scholar - [7]M.C. Browne, E.M. Clarke, D.L. Dill, and B. Mishra. Automatic Verification of Sequential Circuits Using Temporal Logic.
*IEEE Transactions on Computers*, C-35(12):1034–1044, December 1986.CrossRefGoogle Scholar - [8]D.L. Dill and E.M. Clarke. Automatic verification of asynchronous circuits using temporal logic.
*IEE Proceedings*, 133 Part E(5):276–282, September 1986.CrossRefGoogle Scholar - [9]E.M. Clarke, O. Grumberg, H. Hiraishi, S. Jha, D.E. Long, K.L. McMillan, and L.A. Ness. Verification of the Futurebus+ Cache Coherence Protocol. In D. Agnew, L. Claesen, and R. Camposano, editors,
*IFIP Conference on Computer Hardware Description Languages and their Applications (CHDL)*, pages 5–20, Ottawa, Canada, April 1993. IFIP WG10.2, CHDL’93, IEEE COMPSOC, Elsevier Science Publishers B.V., Amsterdam, Netherland.Google Scholar - [10]M.J.C. Gordon and T.F. Melham.
*Introduction to HOL: A Theorem Proving Environment for Higher Order Logic*. Cambridge University Press, 1993.Google Scholar - [11]N. Shankar. PVS: Combining specification, proof checking, and model checking. In M. Srivas and A. Camilleri, editors,
*International Conference on Formal Methods in Computer Aided Design (FMCAD)*, volume 1166 of*Lecture Notes in Computer Science*, pages 257–264, Palo Alto, CA, USA, November 1996. Springer Verlag.CrossRefGoogle Scholar - [12]E.A. Emerson and J.Y. Halpern. “sometimes” and “not never” revisited: On branching versus linear time temporal logic.
*Journal of the ACM*, 33(1):151–178, January 1986.MathSciNetCrossRefzbMATHGoogle Scholar - [13]E.M. Clarke and E.A. Emerson. Design and Synthesis of Synchronization Skeletons using Branching Time Temporal Logic. In D. Kozen, editor,
*Workshop on Logics of Programs*, volume 131 of*Lecture Notes in Computer Science*, pages 52–71, Yorktown Heights, New York, May 1981. Springer-Verlag.CrossRefGoogle Scholar - [14]K. Schneider. CTL and equivalent sublanguages of CTL. In C. Delgado Kloos, editor,
*IFIP Conference on Computer Hardware Description Languages and their Applications (CHDL)*, pages 40–59, Toledo,Spain, April 1997. IFIP, Chapman and Hall.Google Scholar - [15]K. Schneider, T. Kropf, and R. Kumar. Why Hardware Verification Needs more than Model Checking. In
*Higher Order Logic Theorem Proving and its Applications, Malta*, 1994.Google Scholar - [16]P. Loewenstein. Formal verification of state-machines using higher-order logic. In
*IEEE/ACM International Conference on Computer Design (ICCD)*, pages 204–207, 1989.Google Scholar - [17]P. Loewenstein. A formal theory of simulations between infinite automata. In L.J.M. Claesen and M.J.C. Gordon, editors,
*Higher Order Logic Theorem Proving and its Applications*, pages 227–246, Leuven, Belgium, September 1992. IFIP TC10/WG10.2, North-Holland. IFIP Transactions.Google Scholar - [18]K. Schneider, R. Kumar, and T. Kropf. Alternative Proof Procedures for Finite-State Machines in Higher-Order Logic. In J.J. Joyce and C.-J.H. Seger, editors,
*Higher Order Logic Theorem Proving and its Applications*, volume 780 of*Lecture Notes in Computer Science*, pages 213–227, Vancouver, Canada, August 1993. University of British Columbia, Springer-Verlag, published 1994.CrossRefGoogle Scholar - [19]D. Eisenbiegler and R. Kumar. An Automata Theory Dedicated Towards Formal Circuit Synthesis. In E.T. Schubert, P.J. Windley, and J. Alves-Foss, editors,
*Higher Order Logic Theorem Proving and its Applications*, volume 971 of*Lecture Notes in Computer Science*, pages 154–169, Aspen Grove, Utah, USA, September 1995. Springer-Verlag.CrossRefGoogle Scholar - [20]K. Schneider and T. Kropf. A unified approach for combining different formalisms for hardware verification. In M. Srivas and A. Camilleri, editors,
*International Conference on Formal Methods in Computer Aided Design (FMCAD)*, volume 1166 of*Lecture Notes in Computer Science*, pages 202–217, Palo Alto, USA, November 1996. Springer Verlag.CrossRefGoogle Scholar - [21]S. Agerholm and H. Schjodt. Automating a model checker for recursive modal assertions in HOL. Technical Report DAIMI IR-92, DAIMI, January 1990.Google Scholar
- [22]J. von Wright. Mechanizing the temporal logic of actions in HOL. In M. Archer, J.J. Joyce, K.N. Levitt, and P.J. Windley, editors,
*Higher Order Logic Theorem Proving and its Applications*, Davis, California, August 1991. IEEE Computer Society, ACM SIGDA, IEEE Computer Society Press.Google Scholar - [23]L. Lamport. The temporal logic of actions. Technical Report 79, Digital Equipment Cooperation, 1991.Google Scholar
- [24]F. Andersen and K.D. Petersen. Recursive Boolean Functions in HOL. In M. Archer, J.J. Joyce, K.N. Levitt, and P.J. Windley, editors,
*Higher Order Logic Theorem Proving and its Applications*, Davis, California, August 1991. IEEE Computer Society, ACM SIGDA, IEEE Computer Society Press.Google Scholar - [25]K.M. Chandy and J. Misra.
*Parallel Program Design*. Addison-Wesley, Austin, Texas, May 1989.Google Scholar - [26]F. Andersen. A
*Theorem Prover for UNITY in Higher Order Logic*. PhD thesis, Horsholm, Denmark, March 1992.Google Scholar - [27]F. Andersen, K.D. Petersen, and J.S. Petterson. Program Verification using HOL-UNITY. In J.J. Joyce and C.-J.H. Seger, editors,
*Higher Order Logic Theorem Proving and its Applications*, volume 780 of*Lecture Notes in Computer Science*, pages 1–16, Vancouver, Canada, August 1993. University of British Columbia, Springer-Verlag, published 1994.CrossRefGoogle Scholar - [28]K. Schneider. Translating linear temporal logic to deterministic ω-automata. In M. Pfaff and R. Hagelauer, editors,
*GI/ITG/GMMWorkshop Methoden des Entwurfs und der Verifikation digitaler Systeme*, pages 149–158, 1997.Google Scholar - [29]K. Schneider. Yet another look at LTL model checking. In
*IFIP WG10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods*, Lecture Notes in Computer Science, Bad Herrenalb, Germany, September 1999. Springer Verlag.Google Scholar - [30]W. Thomas. Automata on infinite objects. In J. van Leeuwen, editor,
*Handbook of Theoretical Computer Science*, volume B, pages 133–191, Amsterdam, 1990. Elsevier Science Publishers.Google Scholar - [31]O. Lichtenstein and A. Pnueli. Checking that finite state concurrent programs satisfy their linear specification. In
*ACM Symposium on Principles of Programming Languages (POPL)*, pages 97–107, New York, January 1985. ACM.Google Scholar - [32]O. Lichtenstein, A. Pnueli, and L. Zuck. The glory of the past. In
*Conference on Logics of Programs*, volume 193 of*Lecture Notes in Computer Science*, pages 196–218, New York, 1985. Springer-Verlag.CrossRefGoogle Scholar - [33]P. Wolper. Temporal logic can be more expressive.
*Information and Control*, 56:72–99, 1983.MathSciNetCrossRefzbMATHGoogle Scholar - [34]P. Wolper. On the relation of programs and computations to models of temporal logic. In B. Banieqbal, H. Barringer, and A. Pnueli, editors,
*Temporal Logic in Specification*, pages 75–123, Altrincham, UK, 1987. Springer-Verlag.Google Scholar - [35]G.G de Jong. An automata theoretic approach to temporal logic. In K.G. Larsen and A. Skou, editors,
*Workshop on Computer Aided Verification (CAV)*, volume 575 of*Lecture Notes in Computer Science*, pages 477–487, Aalborg, July 1991. Springer-Verlag.CrossRefGoogle Scholar - [36]S. Safra. On the complexity of ω automata. In
*IEEE Symp.on Foundations of Computer Science*, pages 319–327, 1988.Google Scholar - [37]M. Vardi. An automata-theoretic approach to linear temporal logic. In
*Banff’ 94*, 1994.Google Scholar - [38]E.M. Clarke, O. Grumberg, and K. Hamaguchi. Another look at LTL model checking. In David L. Dill, editor,
*Conference on Computer Aided Verification (CAV)*, volume 818 of*Lecture Notes in Computer Science*, pages 415–427, Standford, California, USA, June 1994. Springer-Verlag.CrossRefGoogle Scholar - [39]K. Schneider. Model checking on product structures. In G.C. Gopalakrishnan and P.J. Windley, editors,
*Formal Methods in Computer-Aided Design*, volume 1522 of*Lecture Notes in Computer Science*, pages 483–500, Palo Alto, CA, November 1998. Springer Verlag.CrossRefGoogle Scholar - [40]S.D. Johnson, P.S. Miner, and A. Camilleri. Studies of the single pulser in various reasoning systems. In T. Kropf and R. Kumar, editors,
*International Conference on Theorem Provers in Circuit Design (TPCD)*, volume 901 of*Lecture Notes in Computer Science*, pages 126–145, Bad Herrenalb, Germany, September 1994. Springer-Verlag. published 1995.CrossRefGoogle Scholar - [41]M. Norrish, L. Dennis, and R. Boulton. Prosper plug-in interface design. Prosper project report D3.2a, October 1998.Google Scholar
- [42]M. Norrish, G. Collins, L. Dennis, and R. Boulton. Prosper plug-in interface user documentation. Prosper Project Report D3.2b, November 1998.Google Scholar

## Copyright information

© Springer-Verlag Berlin Heidelberg 1999