Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Anderson, P., Basin, D.: Program development schemata as derived rules. Journal of Symbolic Computation 30(1), 5–36 (2000)
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)
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)
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)
Bertot, Y., Pons, O., Rideau, L.: Notions of dependency in proof assistants. In: User Interfaces in Theorem Provers, Eindhoven Univ. of Technology (1998)
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)
Giunchiglia, F., Villafiorita, A., Walsh, T.: Theories of abstraction. AI Communications 10(3-4), 167–176 (1997)
Harper, R., Honsell, F., Plotkin, G.: A framework for defining logics. Journal of the ACM 40(1), 143–184 (1993)
Hutter, D., Kohlhase, M.: Managing structural information by higher-order colored unification. Journal of Automated Reasoning 25, 123–164 (2000)
Johnsen, E.B., Lüth, C.: Abstracting refinements for transformation. Nordic Journal of Computing 10(4), 313–336 (2003)
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)
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)
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)
Melis, E., Whittle, J.: Analogy in inductive theorem proving. Journal of Automated Reasoning 22(2), 117–147 (1999)
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)
Nipkow, T., Paulson, L.C., Wenzel, M.T.: Isabelle/HOL – A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002)
Paulson, L.C.: Isabelle: The next 700 theorem provers. In: Odifreddi, P. (ed.) Logic and Computer Science, pp. 361–386. Academic Press, London (1990)
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)
Pfenning, F.: Logical frameworks. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, pp. 1063–1147. Elsevier Science Publishers, Amsterdam (2001)
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)
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)
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)
Smith, D.: Constructing specification morphisms. Journal of Symbolic Computation 15, 571–606 (1993)
Smith, D.R., Lowry, M.R.: Algorithm theories and design tactics. Science of Computer Programming 14, 305–321 (1990)
Srinivas, Y.V., Jullig, R.: Specware: Formal support for composing software. In: Möller, B. (ed.) MPC 1995. LNCS, vol. 947, Springer, Heidelberg (1995)
Walther, C., Kolbe, T.: Proving theorems by reuse. Artificial Intelligence 116(1-2), 17–66 (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Johnsen, E.B., Lüth, C. (2004). Theorem Reuse by Proof Term Transformation. In: Slind, K., Bunker, A., Gopalakrishnan, G. (eds) Theorem Proving in Higher Order Logics. TPHOLs 2004. Lecture Notes in Computer Science, vol 3223. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30142-4_12
Download citation
DOI: https://doi.org/10.1007/978-3-540-30142-4_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-23017-5
Online ISBN: 978-3-540-30142-4
eBook Packages: Springer Book Archive