Abstract
Proof reuse, or analogical reasoning, involves reusing the proof of a source theorem in the proof of a target conjecture. We have developed a method for proof reuse that is based on the generalisation – replay paradigm described in the literature, in which a generalisation of the source proof is replayed to construct the target proof. In this paper, we describe the novel aspects of our method, which include a technique for producing more accurate source proof generalisations (using knowledge of the target goal), as well as a flexible replay strategy that allows the user to set various parameters to control the size and the shape of the search space. Finally, we report on the results of applying this method to a case study from the realm of software verification.
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
Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1976)
Hoare, C.A.R.: An axiomatic basis for computer programming. In: Hoare, C.A.R., Jones, C.B. (eds.) Essays in Computing Science, Prentice Hall, Englewood Cliffs (1989)
Huet, G.: A unification algorithm for typed lambda-calculus. Theoretical Computer Science 1, 27–57 (1975)
Johnsen, E.B., Lüth, C.: Abstracting transformations for refinement. Nordic Journal of Computing 10, 316–336 (2003)
Kaldewaij, A.: Programming: The derivation of algorithms. Prentice Hall, Englewood Cliffs (1990)
Melis, E., Schairer, A.: Similarities and reuse of proofs in formal software verification. In: Smyth, B., Cunningham, P. (eds.) EWCBR 1998. LNCS (LNAI), vol. 1488, pp. 76–87. Springer, Heidelberg (1998)
Melis, E., Whittle, J.: Internal analogy in theorem proving. In: McRobbie, M.A., Slaney, J.K. (eds.) CADE 1996. LNCS, vol. 1104, pp. 92–105. Springer, Heidelberg (1996)
Reynolds, J.: Transformational systems and algebraic structure of atomic formulas. Machine Intelligence 5, 135–152 (1970)
Utting, M., Robinson, P., Nickson, R.: Ergo 6: a generic proof engine that uses Prolog proof technology. LMS Journal of Computation and Mathematics 5, 194–219 (2002)
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
Hunter, C., Robinson, P., Strooper, P. (2004). Flexible Proof Reuse for Software Verification. In: Rattray, C., Maharaj, S., Shankland, C. (eds) Algebraic Methodology and Software Technology. AMAST 2004. Lecture Notes in Computer Science, vol 3116. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-27815-3_19
Download citation
DOI: https://doi.org/10.1007/978-3-540-27815-3_19
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22381-8
Online ISBN: 978-3-540-27815-3
eBook Packages: Springer Book Archive