Abstract
Using program transformation techniques from the field of partial evaluation an automatic tool for generating very efficient conversions from equality-stating theorems has been implemented.
In the situation where a Hol user would normally employ the built-in function GEN_REWRITE_CONV, a function that directly produces a conversion of the desired functionality, this article demonstrates how producing the conversion in the form of a program text instead of as a closure can lead to significant speed-ups.
The Hol system uses a set of 31 simplifying equations on a very large number of intermediate terms derived, e.g., during backwards proofs. For this set the conversion generated by the two-step method is about twice as fast as the method currently used. When installing the new conversion, tests show that the overall running times of Hol proofs are reduced by about 10%. Apart from the speed-up this is completely invisible to the user. With cooperation from the user further speed-up is possible.
On leave from Department of Computer Science, University of Copenhagen, Denmark. Partially supported by The Danish Research Academy.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Richard J. Boulton. Efficiency in a Fully-Expansive Theorem Prover. PhD thesis, University of Cambridge Computer Laboratory, New Museums Site, Pembroke Street, Cambridge CB2 3QG, United Kingdom, May 1994.
Lars Birkedal and Morten Welinder. Partial evaluation of Standard ML. Technical Report 93/22, DIKU, Department of Computer Science, University of Copenhagen, October 1993.
Lars Birkedal and Morten Welinder. Handwriting program generator generators. In Manuel Hermenegildo and Jaan Penjam, editors, Programming Language Implementation and Logic Programming. 6th International Symposium, PLILP '94, Madrid, Spain, volume 844 of Lecture Notes in Computer Science, pages 198–214. Springer Verlag, September 1994.
Eugene Charniak, Christopher K. Riebeck, Drew V. McDermott, and James R. Meehan. Artificial intelligence programming. Lawrence Erlbaum Associates, 2nd edition, 1987.
Michael J. C. Gordon and Thomas F. Melham. Introduction to HOL. Cambridge University Press, 1993.
Neil D. Jones, Carsten K. Gomard, and Peter Sestoft. Partial Evaluation and Automatic Program Generation. Prentice-Hall, 1993.
Lawrence Paulson. A higher-order implementation of rewriting. Science of Computer Programming, 3:119–149, 1983.
Ralf Reetz and Th. Kropf. Simplifying deep embedding: A formalised code generator. In Thomas F. Melham and Juanito Camilleri, editors, Proc. of the 7th International Workshop on Higher Order Logic Theorem Proving and its Applications, volume 859 of Lecture Notes in Computer Science, pages 378–390. Springer Verlag, September 1994.
Konrad Slind. Hol-90.7, 1995. An implementation of the Higher-Order Logic Theorem Prover in Srandard ML.
Morten Welinder. Towards efficient conversions by use of partial evaluation. In Thomas F. Melham and Juanito Camilleri, editors, Supplementary Proceedings of the 7th International Workshop on Higher Order Logic Theorem Proving and its Applications, September 1994.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Welinder, M. (1995). Very efficient conversions. In: Thomas Schubert, E., Windley, P.J., Alves-Foss, J. (eds) Higher Order Logic Theorem Proving and Its Applications. TPHOLs 1995. Lecture Notes in Computer Science, vol 971. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60275-5_75
Download citation
DOI: https://doi.org/10.1007/3-540-60275-5_75
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60275-0
Online ISBN: 978-3-540-44784-9
eBook Packages: Springer Book Archive