Abstract
Relying on an derivation of the Warren Abstract Machine (WAM) by stepwise refinement of Prolog models by Börger and Rosenzweig we present a formalization of an operational semantics for Prolog. Then we develop four refinement steps towards the Warren Abstract Machine (WAM). The correctness and completeness proofs for each step have been elaborated with the theorem prover Isabelle using the logic HOL.
Research supported by DFG grant Br 887/4-3, Deduktive Programmentwicklung
Preview
Unable to display preview. Download preview PDF.
References
Hassan Aït-Kaci. Warren's Abstract Machine, A Tutorial Reconstruction. MIT Press, Cambridge, Massachusetts, 1991.
Krzysztof R. Apt. Logic programming. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, chapter 10, pages 495–574. Elsevier Science Publishers B.V., 1990.
Patrice Boizumault. The Implementation of Prolog. Princeton Series in Computer Science. Princeton University Press, Princeton, New Jersey, 1993.
E. Börger and D. Rosenzweig. The WAM-Definition and Compiler Correctness. In C. Beierle and L. Plümer, editors, Logic Programming: Formal Methods and Practical Applications. Elsevier, 1994.
Saumya K. Debray and Prateek Mishra. Denotational and Operational Semantics for Prolog. J. Logic Programming, (5):61–91, 1988.
Yuri Gurevich. Evolving Algebras 1993: Lipari Guide. In E. Börger, editor, Specification and Validation Methods, pages 9–36. Oxford University Press, 1995.
J. W. Lloyd. Foundations of Logic Programming. Springer, 1987.
L.C. Paulson. Isabelle: A Generic Theorem Prover, volume 828 of LNCS. Springer, 1994.
David M. Russinoff. A Verified Prolog Compiler for the Warren Abstract Machine. J. Logic Programming, (13):367–412, 1992.
G. Schellhorn. Von PROLOG zur WAM-Compilerverifikation mit KIV. Talk at the annual meeting of the GI section “Logic in Computer Science”, Karlsruhe, Juni 1995.
D. H. Warren. An Abstract Prolog Instruction Set. Technical Report 309, SRI International, 1083.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Pusch, C. (1996). Verification of compiler correctness for the WAM. In: Goos, G., Hartmanis, J., van Leeuwen, J., von Wright, J., Grundy, J., Harrison, J. (eds) Theorem Proving in Higher Order Logics. TPHOLs 1996. Lecture Notes in Computer Science, vol 1125. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0105415
Download citation
DOI: https://doi.org/10.1007/BFb0105415
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61587-3
Online ISBN: 978-3-540-70641-0
eBook Packages: Springer Book Archive