Advertisement

Abstract

Researchers in formal methods have emphasized the need to make specification analysis as automatic as possible and to provide an array of tools in a uniform setting. Athena is a new interactive proof system that supports specification, structured natural deduction proofs, and trusted tactics. It places heavy emphasis on automation, seamlessly incorporating off-the-shelf state-of-the-art tools for model generation and automated theorem proving. We use a case study of railroad safety to illustrate several aspects of Athena. A formal specification of a railroad system is given in Athena’s multi-sorted first-order logic. Automatic model generation is used abductively to develop from scratch a policy for controlling the movement of trains on the tracks. The safety of the policy is proved automatically. Finally, a structured high-level proof of the policy’s correctness is presented in Athena’s natural deduction calculus.

Keywords

Model Check Theorem Prove Natural Deduction Open Gate Automate Theorem Prove 
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.
  2. 2.
    Arkoudas, K.: Denotational Proof Languages. PhD dissertation, MIT (2000)Google Scholar
  3. 3.
    Arkoudas, K., Khurshid, S., Marinov, D., Rinard, M.: Integrating model checking and theorem proving for relational reasoning. In: Proceedings of the 7th International Seminar on Relational Methods in Computer Science (RelMiCS 7), Malente, Germany (May 2003)Google Scholar
  4. 4.
    Arvizo, T.: A virtual machine for a type-ω denotational proof language. Masters thesis, MIT (June 2002)Google Scholar
  5. 5.
    Ball, T., Rajamani, S.: Automatically validating temporal safety properties of interfaces. In: Dwyer, M.B. (ed.) SPIN 2001. LNCS, vol. 2057, p. 103. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  6. 6.
    Claessen, K., Sorensson, N.: New techniques that improve Mace-style finite model building. In: Model Computation—principles, algorithms, applications, Miami, Florida, USA (1973)Google Scholar
  7. 7.
    Cyrluk, D., Rajan, S., Shankar, N., Srivas, M.K.: Effective theorem proving for hardware verification. In: Kumar, R., Kropf, T. (eds.) TPCD 1994. LNCS, vol. 901, pp. 203–222. Springer, Heidelberg (1995)Google Scholar
  8. 8.
    Gordon, M.J.C., Melham, T.F.: Introduction to HOL, a theorem proving environment for higher-order logic. Cambridge University Press, Cambridge (1993)MATHGoogle Scholar
  9. 9.
    Halpern, J.Y., Harper, R., Immerman, N., Kolaitis, P.G., Vardi, M.Y., Vianu, V.: On the unusual effectiveness of logic in computer science. The Bulletin of Symbolic Logic 7(2), 213–236 (2001)MATHMathSciNetCrossRefGoogle Scholar
  10. 10.
    Heitmeyer, C.L.: On the need for practical formal methods. In: Proceedings of the 5th International Symposium on Formal Techniques in Real-Time and Fault- Tolerant Systems, pp. 18–26. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  11. 11.
    Hurd, J.: Integrating Gandalf and HOL. In: Theorem proving in higher-order logics, pp. 311–321 (1999)Google Scholar
  12. 12.
    Jackson, D.: Railway Safety (2002), http://alloy.mit.edu/case-studies.html
  13. 13.
    Jackson, D.: Alloy: a lightweight object modelling notation. Software Engineering and Methodology 11(2), 256–290 (2002)CrossRefGoogle Scholar
  14. 14.
    Jackson, D., Sullivan, K.: COM revisited: Tool-assisted modeling of an architectural framework. In: Proc. 8th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE), San Diego, CA (2000)Google Scholar
  15. 15.
    Josephson, J.R., Josephson, S.G. (eds.): Abductive Inference: Computation, Philosophy, Technology. Cambridge University Press, Cambridge (1994)MATHGoogle Scholar
  16. 16.
    Kakas, C., Denecker, M.: Abduction in logic programming. In: Kakas, A.C., Sadri, F. (eds.) Computational Logic: Logic Programming and Beyond. LNCS (LNAI), vol. 2407, pp. 402–436. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  17. 17.
    Kaufmann, M., Manolios, P., Moore, J.S. (eds.): Computer-Aided Reasoning: ACL2 Case Studies. Kluwer Academic Press, Dordrecht (2000)Google Scholar
  18. 18.
    Khurshid, S., Jackson, D.: Exploring the design of an intentional naming scheme with an automatic constraint analyzer. In: 15th IEEE ASE (2000)Google Scholar
  19. 19.
    Lamport, L.: How to write a proof. Research Report 94, Systems Research Center, DEC (February 1993)Google Scholar
  20. 20.
    Manna, Z., Waldinger, R.: The logical basis for computer programming. Addison Wesley, Reading (1985)MATHGoogle Scholar
  21. 21.
    Manzano, M.: Extensions of first-order logic. Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, Cambridge (1996)Google Scholar
  22. 22.
    McCune, W.: A Davis-Putnam program and its application to finite first-order model search. Technical Report ANL/MCS-TM-194, ANL (1994)Google Scholar
  23. 23.
    Owre, S., Shankar, N., Rushby, J.M.: The PVS specification language (draft). Research report, Computer Science Laboratory, SRI International, Menlo Park, California (February 1993)Google Scholar
  24. 24.
    Paulson, L.: Isabelle, A Generic Theorem Prover. LNCS. Springer, Heidelberg (1994)MATHGoogle Scholar
  25. 25.
    Pelletier, F.J.: A Brief History of Natural Deduction. History and Philosophy of Logic 20, 1–31 (1999)MATHMathSciNetCrossRefGoogle Scholar
  26. 26.
    Schumann, J.: Automated theorem proving in high-quality software design. In: Hölldobler, S. (ed.) Intellectics and Computational Logic. Applied Logic Series, vol. 19, Kluwer, Dordrecht (2000)Google Scholar
  27. 27.
    Spivey, J.M.: The Z Notation: A Reference Manual. Prentice-Hall, Inc., Englewood Cliffs (1992)Google Scholar
  28. 28.
    Suttner, C., Sutcliffe, G.: Technical Report on the TPTP Problem Library, http://www.cs.miami.edu/~tptp/TPTP/TR/TPTPTR.shtml
  29. 29.
  30. 30.
    Voronkov, A.: The anatomy of Vampire: implementing bottom-up procedures with code trees. Journal of Automated Reasoning 15(2) (1995)Google Scholar
  31. 31.
    Weidenbach, C.: Combining superposition, sorts, and splitting. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, vol. 2, North-Holland, Amsterdam (2001)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Konstantine Arkoudas
    • 1
  1. 1.MIT Computer Science and AI Lab 

Personalised recommendations