Theorem Reuse by Proof Term Transformation

  • Einar Broch Johnsen
  • Christoph Lüth
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3223)


Proof reuse addresses the issue of how proofs of theorems in a specific setting can be used to prove other theorems in different settings. This paper proposes an approach where theorems are generalised by abstracting their proofs from the original setting. The approach is based on a representation of proofs as logical framework proof terms, using the theorem prover Isabelle. The logical framework allows type-specific inference rules to be handled uniformly in the abstraction process and the prover’s automated proof tactics may be used freely. This way, established results become more generally applicable; for example, theorems about a data type can be reapplied to other types. The paper also considers how to reapply such abstracted theorems, and suggests an approach based on mappings between operations and types, and on systematically exploiting the dependencies between theorems.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Anderson, P., Basin, D.: Program development schemata as derived rules. Journal of Symbolic Computation 30(1), 5–36 (2000)MATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Astesiano, E., Bidoit, M., Kirchner, H., Krieg-Brückner, B., Mosses, P.D., Sannella, D., Tarlecki, A.: Casl: The Common Algebraic Specification Language. Theoretical Computer Science 286(2), 153–196 (2002)MATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Autexier, S., Hutter, D., Mossakowski, T., Schairer, A.: The development graph manager MAYA. In: Kirchner, H., Ringeissen, C. (eds.) AMAST 2002. LNCS, vol. 2422, pp. 495–501. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  4. 4.
    Berghofer, S., Nipkow, T.: Proof terms for simply typed higher order logic. In: Aagaard, M.D., Harrison, J. (eds.) TPHOLs 2000. LNCS, vol. 1869, pp. 38–52. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  5. 5.
    Bertot, Y., Pons, O., Rideau, L.: Notions of dependency in proof assistants. In: User Interfaces in Theorem Provers, Eindhoven Univ. of Technology (1998)Google Scholar
  6. 6.
    Felty, A., Howe, D.: Generalization and reuse of tactic proofs. In: Pfenning, F. (ed.) LPAR 1994. LNCS, vol. 822, pp. 1–15. Springer, Heidelberg (1994)Google Scholar
  7. 7.
    Giunchiglia, F., Villafiorita, A., Walsh, T.: Theories of abstraction. AI Communications 10(3-4), 167–176 (1997)Google Scholar
  8. 8.
    Harper, R., Honsell, F., Plotkin, G.: A framework for defining logics. Journal of the ACM 40(1), 143–184 (1993)MATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Hutter, D., Kohlhase, M.: Managing structural information by higher-order colored unification. Journal of Automated Reasoning 25, 123–164 (2000)MATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Johnsen, E.B., Lüth, C.: Abstracting refinements for transformation. Nordic Journal of Computing 10(4), 313–336 (2003)MATHMathSciNetGoogle Scholar
  11. 11.
    Lüth, C., Wolff, B.: TAS – a generic window inference system. In: Aagaard, M.D., Harrison, J. (eds.) TPHOLs 2000. LNCS, vol. 1869, pp. 405–422. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  12. 12.
    Magaud, N.: Changing data representation within the coq system. In: Basin, D., Wolff, B. (eds.) TPHOLs 2003. LNCS, vol. 2758, pp. 87–102. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  13. 13.
    Magaud, N., Bertot, Y.: Changing data structures in type theory: A study of natural numbers. In: Callaghan, P., Luo, Z., McKinna, J., Pollack, R. (eds.) TYPES 2000. LNCS, vol. 2277, pp. 181–196. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  14. 14.
    Melis, E., Whittle, J.: Analogy in inductive theorem proving. Journal of Automated Reasoning 22(2), 117–147 (1999)MATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Miller, D., Nadathur, G., Pfenning, F., Scedrov, A.: Uniform proofs as a foundation for logic programming. Annals of Pure and Applied Logic 51, 125–157 (1991)MATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Nipkow, T., Paulson, L.C., Wenzel, M.T.: Isabelle/HOL – A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002)MATHGoogle Scholar
  17. 17.
    Paulson, L.C.: Isabelle: The next 700 theorem provers. In: Odifreddi, P. (ed.) Logic and Computer Science, pp. 361–386. Academic Press, London (1990)Google Scholar
  18. 18.
    Pfenning, F.: Logic programming in the LF logical framework. In: Huet, G., Plotkin, G. (eds.) Logical Frameworks, pp. 149–181. Cambridge Univ. Press, Cambridge (1991)CrossRefGoogle Scholar
  19. 19.
    Pfenning, F.: Logical frameworks. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, pp. 1063–1147. Elsevier Science Publishers, Amsterdam (2001)CrossRefGoogle Scholar
  20. 20.
    Pons, O.: Generalization in type theory based proof assistants. In: Callaghan, P., Luo, Z., McKinna, J., Pollack, R. (eds.) TYPES 2000. LNCS, vol. 2277, pp. 217–232. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  21. 21.
    Prawitz, D.: Ideas and results in proof theory. In: Fenstad, J.E. (ed.) Proceedings of the Second Scandinavian Logic Symposium, Studies in Logic and the Foundations of Mathematics, vol. 63, pp. 235–307. North-Holland, Amsterdam (1971)CrossRefGoogle Scholar
  22. 22.
    Reif, W., Stenzel, K.: Reuse of proofs in software verification. In: Shyamasundar, R.K. (ed.) FSTTCS 1993. LNCS, vol. 761, pp. 284–293. Springer, Heidelberg (1993)Google Scholar
  23. 23.
    Smith, D.: Constructing specification morphisms. Journal of Symbolic Computation 15, 571–606 (1993)MATHCrossRefMathSciNetGoogle Scholar
  24. 24.
    Smith, D.R., Lowry, M.R.: Algorithm theories and design tactics. Science of Computer Programming 14, 305–321 (1990)MATHCrossRefMathSciNetGoogle Scholar
  25. 25.
    Srinivas, Y.V., Jullig, R.: Specware: Formal support for composing software. In: Möller, B. (ed.) MPC 1995. LNCS, vol. 947, Springer, Heidelberg (1995)Google Scholar
  26. 26.
    Walther, C., Kolbe, T.: Proving theorems by reuse. Artificial Intelligence 116(1-2), 17–66 (2000)MATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Einar Broch Johnsen
    • 1
  • Christoph Lüth
    • 2
  1. 1.Department of InformaticsUniversity of OsloNorway
  2. 2.FB 3 – Mathematics and Computer ScienceUniversität BremenGermany

Personalised recommendations