Advertisement

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

  • Klaus Schneider
  • Dirk W. Hoffmann
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1690)

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.

Unable to display preview. Download preview PDF.

References

  1. [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. [2]
    K.L. McMillan. Symbolic Model Checking. Kluwer Academic Publishers, Norwell Massachusetts, 1993.Google Scholar
  3. [3]
    G. Holzmann. The model checker SPIN. IEEE Transactions on Software Engineering, 23(5):279–295, May 1997.MathSciNetCrossRefGoogle Scholar
  4. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [23]
    L. Lamport. The temporal logic of actions. Technical Report 79, Digital Equipment Cooperation, 1991.Google Scholar
  24. [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. [25]
    K.M. Chandy and J. Misra. Parallel Program Design. Addison-Wesley, Austin, Texas, May 1989.Google Scholar
  26. [26]
    F. Andersen. A Theorem Prover for UNITY in Higher Order Logic. PhD thesis, Horsholm, Denmark, March 1992.Google Scholar
  27. [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. [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. [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. [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. [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. [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. [33]
    P. Wolper. Temporal logic can be more expressive. Information and Control, 56:72–99, 1983.MathSciNetCrossRefzbMATHGoogle Scholar
  34. [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. [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. [36]
    S. Safra. On the complexity of ω automata. In IEEE Symp.on Foundations of Computer Science, pages 319–327, 1988.Google Scholar
  37. [37]
    M. Vardi. An automata-theoretic approach to linear temporal logic. In Banff’ 94, 1994.Google Scholar
  38. [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. [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. [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. [41]
    M. Norrish, L. Dennis, and R. Boulton. Prosper plug-in interface design. Prosper project report D3.2a, October 1998.Google Scholar
  42. [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

Authors and Affiliations

  • Klaus Schneider
    • 1
  • Dirk W. Hoffmann
    • 1
  1. 1.Department of Computer Science Institute for Computer Design and Fault ToleranceUniversity of KarlsruheKarlsruheGermany

Personalised recommendations