Automated verification of refinement laws

Article

Abstract

Demonic refinement algebras are variants of Kleene algebras. Introduced by von Wright as a light-weight variant of the refinement calculus, their intended semantics are positively disjunctive predicate transformers, and their calculus is entirely within first-order equational logic. So, for the first time, off-the-shelf automated theorem proving (ATP) becomes available for refinement proofs. We used ATP to verify a toolkit of basic refinement laws. Based on this toolkit, we then verified two classical complex refinement laws for action systems by ATP: a data refinement law and Back’s atomicity refinement law. We also present a refinement law for infinite loops that has been discovered through automated analysis. Our proof experiments not only demonstrate that refinement can effectively be automated, they also compare eleven different ATP systems and suggest that program verification with variants of Kleene algebras yields interesting theorem proving benchmarks. Finally, we apply hypothesis learning techniques that seem indispensable for automating more complex proofs.

Keywords

Refinement calculus Kleene algebras Automated deduction Action systems 

Mathematics Subject Classifications (2000)

06A99 16Y60 68Q10 68Q55 68Q60 68T15 

References

  1. 1.
    Bachmair, L., Ganzinger, H.: Ordered chaining calculi for first-order theories of transitive relations. J. ACM 45(6), 1007–1049 (1998)MATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Back, R.-J.: A method for refining atomicity in parallel algorithms. In: Odijk, E., Rem, M., Syr, J.-C. (eds.) Parallel Architectures and Languages Europe. Lecture Notes in Computer Science, vol. 366, pp. 199–216. Springer, New York (1989)Google Scholar
  3. 3.
    Back, R.-J., von Wright, J.: Refinement Calculus: A Systematic Introduction. Graduate Texts in Computer Science. Springer, New York (1998)MATHGoogle Scholar
  4. 4.
    Back, R.-J., von Wright, J.: Reasoning algebraically about loops. Acta Inform. 36(4), 295–334 (1999)MATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Claessen, K.: Equinox, A New Theorem Prover for Full First-Order Logic with Equality (2005)Google Scholar
  6. 6.
    Cohen, E.: Omega algebra: the good, the bad, and the ugly. In: Backhouse, R., Kozen, D., Möller, B. (eds.) Applications of Kleene Algebra. Report of the Dagstuhl Seminar 01081, p. 5 (2001)Google Scholar
  7. 7.
    Contejean, E., Courtieu, P., Forest, J., Pons, O., Urbain, X.: Certification of automated termination proofs. In: Konev, B., Wolter, F. (eds.) Frontiers of Combining Systems, 6th International Symposium. Lecture Notes in Artificial Intelligence, vol. 4720, pp. 148–162. Springer, New York (2007)Google Scholar
  8. 8.
    de Nivelle, H., Meng, J.: Geometric resolution: a proof procedure based on finite model search. In: Furbach, U., Shankar, N. (eds.) Proceedings of the 3rd International Joint Conference on Automated Reasoning. Lecture Notes in Artificial Intelligence, vol. 4130, pp. 303–317. Springer, New York (2006)Google Scholar
  9. 9.
    de Roever, W.-P., Engelhardt, K.: Data Refinement: Model-Oriented Proof Methods and their Comparison. Cambridge University Press, Cambridge (2001)Google Scholar
  10. 10.
    Desharnais, J., Struth, G.: Domain axioms for a family of near-semirings. In: Meserguer, J., Roşu, G. (eds.) Algebraic Methodology and Software Technology (AMAST 2008). Lecture Notes in Computer Science, vol. 5140, pp. 330–345. Springer, New York (2008)CrossRefGoogle Scholar
  11. 11.
    Desharnais, J., Struth, G.: Modal semirings revisited. In: Audebaud, P., Paulin-Mohrig, C. (eds.) Mathematics of Program Construction (MPC 2008). Lecture Notes in Computer Science, vol. 5133, pp. 360–387. Springer, New York (2008)CrossRefGoogle Scholar
  12. 12.
    Ebert, M., Struth, G.: Diagram chase in relational system development. Electr. Notes Theor. Comp. Sci. 127, 87–105 (2005)CrossRefGoogle Scholar
  13. 13.
    Höfner, P.: Automated reasoning for hybrid systems—two case studies. In: Berghammer, R., Möller, B., Struth, G. (eds.) Relations and Kleene Algebra in Computer Science. Lecture Notes in Computer Science, vol. 4988, pp. 191–205. Springer, New York (2008)CrossRefGoogle Scholar
  14. 14.
    Höfner, P., Struth, G.: Automated reasoning in Kleene algebra. In: Pfenning, F. (ed.) Automated Deduction (CADE 21). Lecture Notes in Artificial Intelligence, vol. 4603, pp. 279–294. Springer, New York (2007)CrossRefGoogle Scholar
  15. 15.
    Höfner, P., Struth, G.: Can refinement be automated? Electr. Notes Theor. Comp. Sci. 201, 197–222 (2007)CrossRefGoogle Scholar
  16. 16.
    Höfner, P., Struth, G.: Algebraic reasoning with Prover9 (proof database). http://www.dcs.shef.ac.uk/~georg/ka (2008)
  17. 17.
    Höfner, P., Struth, G.: On automating the calculus of relations. In: Armando, A., Baumgartner, P., Dowek, G. (eds.) Automated Deduction (IJCAR 2008). Lecture Notes in Computer Science, vol. 5196, pp. 50–66. Springer, New York (2008)Google Scholar
  18. 18.
    Hurd, J.: First-order proof tactics in higher-order logic theorem provers. In: Archer, M., Di Vito, B., Munoz, C. (eds.) Proceedings of the 1st International Workshop on Design and Application of Strategies/Tactics in Higher Order Logics, Number NASA/CP-2003-212448 in NASA Technical Reports, pp. 56–68 (2003)Google Scholar
  19. 19.
    Korovin, K.: Implementing an instantiation-based theorem prover for first-order logic. In: Benzmüller, C., Fischer, B., Sutcliffe, G. (eds.) Proceedings of the 6th International Workshop on the Implementation of Logics, Number 212 in CEUR Workshop Proceedings, pp. 63–63 (2006)Google Scholar
  20. 20.
    Kozen, D.: A completeness theorem for Kleene algebras and the algebra of regular events. Inf. Comput. 110(2), 366–390 (1994)MATHCrossRefMathSciNetGoogle Scholar
  21. 21.
    McCune, W.W.: Otter 3.3 reference manual. Technical Report ANL/MSC-TM-263, Argonne National Laboratory, Argonne (2003)Google Scholar
  22. 22.
    McCune, W.W.: Prover9 and Mace4. http://www.cs.unm.edu/~mccune/prover9 (2008). Accessed 10 September 2008
  23. 23.
    McIver, A.K., Gonzalia, C., Cohen, E., Morgan, C.C.: Using probabilistic Kleene algebra pKA for protocol verification. JLAP 76(1), 90–111 (2008)MATHMathSciNetGoogle Scholar
  24. 24.
    Otten, J., Bibel, W.: LeanCoP: lean connection-based theorem proving. J. Symb. Comput. 36(1–2), 139–161 (2003)MATHCrossRefMathSciNetGoogle Scholar
  25. 25.
    Pelletier, F.J., Sutcliffe, G., Suttner, C.B.: The development of CASC. AI Commun. 15(2–3), 79–90 (2002)MATHGoogle Scholar
  26. 26.
    Podelski, A., Rybalchenko, A.: Transition invariants. In: LICS ’04: Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science, pp. 32–41. IEEE Computer Society, Piscataway (2004)Google Scholar
  27. 27.
    Ranise, S., Tinelli, C.: Satisfiability modulo theories. Trends and controversies. IEEE Intell. Syst. Mag. 21(6), 71–81 (2006)CrossRefGoogle Scholar
  28. 28.
    Riazanov, A., Voronkov, A.: The design and implementation of vampire. AI Commun. 15(2–3), 91–110 (2002)MATHGoogle Scholar
  29. 29.
    Schulz, S.: E: a brainiac theorem prover. AI Commun. 15(2–3), 111–126 (2002)MATHGoogle Scholar
  30. 30.
    Struth, G.: Deriving focused calculi for transitive relations. In: Middeldorp, A. (ed.) Rewriting Techniques and Applications, 12th International Conference. Lecture Notes in Computer Science, vol. 2051, pp. 291–305. Springer, New York (2001)CrossRefGoogle Scholar
  31. 31.
    Struth, G.: Abstract abstract reduction. JLAP 66(2), 239–270 (2006)MATHMathSciNetGoogle Scholar
  32. 32.
    Struth, G.: Reasoning automatically about termination and refinement. In: Ranise, S. (ed.) 6th International Workshop on First-Order Theorem Proving. Technical Report ULCS-07-018, Department of Computer Science, pp. 36–51. University of Liverpool (2007)Google Scholar
  33. 33.
    Struth, G.: Modal tools for separation and refinement. Theor. Comp. Sci. 214C, 81–101 (2008) (electronic notes)Google Scholar
  34. 34.
    Sutcliffe, G.: Semantic derivation verification. Int. J. Artif. Intell. Tools 15(6), 1053–1070 (2006)CrossRefGoogle Scholar
  35. 35.
    Sutcliffe, G.: The CADE-21 automated theorem proving competition. AI Commun. 21(1), 71–82 (2008)MATHMathSciNetGoogle Scholar
  36. 36.
    Sutcliffe, G., Puzis, Y.: SRASS—a semantic relevance axiom selection system. In: Pfenning, F. (ed.) Proceedings of the 21st International Conference on Automated Deduction. Lecture Notes in Artificial Intelligence, vol. 4603, pp. 295–310. Springer, New York (2007)CrossRefGoogle Scholar
  37. 37.
    Sutcliffe, G., Suttner, C.: The state of CASC. AI Commun. 19(1), 35–48 (2006)MATHMathSciNetGoogle Scholar
  38. 38.
    Sutcliffe, G., Suttner, C.B.: The TPTP problem library: CNF release v1.2.1. J. Autom. Reason. 21(2), 177–203 (1998)MATHCrossRefMathSciNetGoogle Scholar
  39. 39.
    Sutcliffe, G., Suttner, C.B.: Evaluating general purpose automated theorem proving systems. Artif. Intell. 131(1–2), 39–54 (2001)MATHCrossRefMathSciNetGoogle Scholar
  40. 40.
    Terese (ed.): Term Rewriting Systems. Cambridge University Press, Cambridge (2003)Google Scholar
  41. 41.
    Urban, J.: MaLARea: a metasystem for automated reasoning in large theories. In: Urban, J., Sutcliffe, G., Schulz, S. (eds.) Proceedings of the CADE-21 Workshop on Empirically Successful Automated Reasoning in Large Theories, pp. 45–58 (2007)Google Scholar
  42. 42.
    von Wright, J.: From Kleene algebra to refinement algebra. In: Boiten, E.A., Möller, B. (eds.) Mathematics of Program Construction. Lecture Notes in Computer Science, vol. 2386, pp. 233–262. Springer, New York (2002)CrossRefGoogle Scholar
  43. 43.
    von Wright, J.: Towards a refinement algebra. Sci. Comput. Program. 51(1–2), 23–45 (2004)MATHGoogle Scholar
  44. 44.
    Weidenbach, C., Gaede, B., Rock, G.: SPASS and FLOTTER. In: McRobbie, M., Slaney, J.K. (eds.) Proceedings of the 13th International Conference on Automated Deduction. Lecture Notes in Artificial Intelligence, vol. 1104, pp. 141–145. Springer, New York (1996)Google Scholar
  45. 45.
    Weidenbach, C., Schmidt, R., Hillenbrand, T., Rusev, R., Topic, D.: SPASS version 3.0. In: Pfenning, F. (ed.) Proceedings of the 21st International Conference on Automated Deduction. Lecture Notes in Artificial Intelligence, vol. 4603, pp. 514–520. Springer, New York (2007)CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media B.V. 2009

Authors and Affiliations

  1. 1.Institute of Computer ScienceUniversity of AugsburgAugsburgGermany
  2. 2.Department of Computer ScienceUniversity of SheffieldSheffieldUK
  3. 3.Department of Computer ScienceUniversity of MiamiMiamiUSA

Personalised recommendations