Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Open access

Specification and correctness proof of a WAM extension with abstract type constraints

Published: 01 July 1996 Publication History

Abstract

We provide a mathematical specification of an extension of Warren's Abstract Machine (WAM) for executing Prolog to type-constraint logic programming and prove its correctness. Our aim is to provide a full specification and correctness proof of a concrete system, the PROTOS Abstract Machine (PAM), an extension of the WAM by polymorphic order-sorted unification as required by the logic programming language PROTOS-L.
In this paper, while leaving the details of the PAM's type constraint representation and solving facilities to a sequel to this work, we keep the notion of types and dynamic type constraints abstract to allow applications to different constraint formalisms like Prolog III or CLP(R). This generality permits us to introduce modular extensions of Börger's and Rosenzweig's formal derivation of the WAM. Since the type constraint handling is orthogonal to the compilation of predicates and clauses, we start from type-constraint Prolog algebras with compiled AND/OR structure that are derived from Börger's and Rosenzweig's corresponding compiled standard Prolog algebras. The specification of the type-constraint WAM extension is then given by a sequence of evolving algebras, each representing a refinement level, and for each refinement step a correctness proof is given. Thus, we obtain the theorem that for every such abstract type-constraint logic programming system L, every compiler to the WAM extension with an abstract notion of types which satisfies the specified conditions, is correct.

References

References

[1]
Aït-Kaci H. Warren's Abstract Machine: A Tutorial Reconstruction 1991 Cambridge, MA MIT Press
[2]
Beierle C. and Börger E. A WAM extension for type-constraint logic programming: Specification and correctness proof IWBS Report 200 1991 Stuttgart IBM Germany, Scientific Center, Inst. for Knowledge Based Systems
[3]
Beierle C. and Börger E. Börger E., Büning H. Kleine, Jäger G., and Richter M. M. Correctness proof for the WAM with types Computer Science Logic — CSL'91. LNCS 626 1992 Berlin Springer London
[4]
Beierle, C. and Börger, E.: Refinement of a typed WAM extension by polymorphic order-sorted types.Formal Aspects of Computing, 8(5), 1996 (to appear).
[5]
Beierle C., Böttcher S., and Meyer G. Draft report of the logic programming language PROTOS-L. IWBS Report 175 1991 Stuttgart IBM Germany
[6]
Beierle C. Logic programming with typed unification and its realization on an abstract machine IBM Journal of Research and Development 1992 36 3 375-390
[7]
Beierle C. Pehrson B. and Simon I. Formal design of an abstract machine for constraint logic programming Technology and Foundations —Proceedings of the IFIP Congress 94, volume 1 1994 Amsterdam Elsevier / North Holland 377-382
[8]
Beierle C. Beierle C. and Plümer L. Concepts, implementation, and applications of a typed logic programming language Logic Programming: Formal Methods and Practical Applications, Studies in Computer Science and Artificial Intelligence 1995 Amsterdam Elsevier Science B.V./North-Holland 139-167
[9]
Beierle C. and Meyer G. Run-time type computations in the Warren Abstract Machine Journal of Logic Programming 1994 18 2 123-148
[10]
Beierle C., Meyer G., and Semle H. Saraswat V. and Ueda K. Extending the Warren Abstract Machine to polymorphic order-sorted resolution 1991 Cambridge, MA MIT Press 272-286
[11]
Borger E. Borger E., Büning H. Kleine, and Richter M. M. A logical operational semantics of full Prolog. Part I. Selection core and control LNCS 440 1990 Berlin Springer London 36-64
[12]
Börger E. Rovan B. A logical operational semantics of full Prolog. Part II. Built-in predicates for database manipulations MFCS'90 —Mathematical Foundations of Computer Science 1990 Berlin Springer London 1-14
[13]
Börger E. and Rosenzweig D. Börger E., Büning H. Kleine, Richter M. M., and Schönfeld W. From Prolog algebras towards WAM — a mathematical study of implementation Computer Science Logic. LNCS 533 1991 Berlin Springer London 31-66
[14]
Börger, E. and Rosenzweig, D.: The WAM — definition and compiler correctness. TR-14/92, Dipartimento di Informatica, Università di Pisa, 1992. (Revised version in: C. Beierle, L. Plümer (Eds.),Logic Programming: Formal Methods and Practical Applications, North-Holland, 1995).
[15]
Borger E. and Rosenzweig D. Voronkov A. WAM algebras — a mathematical study of implementation, Part II Logic Programming. LNAI 592 1992 Berlin Springer London 35-54
[16]
Börger E. and Schmitt P. H. Börger E., Büning H. Kleine, Richter M. M., and Schönfeld W. A formal operational semantics for languages of type Prolog III Computer Science Logic. LNCS 533 1991 Berlin Springer London 67-79
[17]
Börger, E. and Salamone, R.: CLAM specification for provably correct compilation of CLP(R) programs. In E. Borger, editor,Specification and Validation Methods, pages 97–130. Oxford University Press, 1995.
[18]
Colmerauer A. An introduction to Prolog-III Communications of the ACM 1990 33 7 69-906
[19]
Ehrig H. and Mahr B. Fundamentals of Algebraic Specification 2 EATCS Monographs on Theoretical Computer Science 1989 Berlin Springer London
[20]
Goguen, J. A. and Meseguer, J.: Eqlog: Equality, types, and generic modules for logic programming. In D. DeGroot and G. Lindstrom, editors,Logic Programming, Functions,Relations, and Equations, pages 295–363. Prentice Hall, 1986.
[21]
Gurevich, Y.: Logic and the challenge of computer science. In E. Börger, editor,Trends in Theoretical Computer Science, pages 1–57. Computer Science Press, 1988.
[22]
Gurevich, Y.: Evolving algebras. A tutorial introduction.EATCS Bulletin, 43, February 1991.
[23]
Hanus, M.:Horn Clause Specifications with Polymorphic Types. PhD thesis, FB Informatik, Universität Dortmund, 1988.
[24]
Hanus M. Horn clause programs with polymorphic types: Semantics and resolution Theoretical Computer Science 1991 89 63-106
[25]
Jaffar, J. and Lassez, J.-L.: Constraint logic programming. InProceedings of the 14th ACM Symposium on Principles of Programming Languages, pages 111–119. ACM, January 1987.
[26]
Jaffar, J., Michaylov, S., Stuckey, P. and Yap, R.: The CLP(ℛ) language and system. Technical Report RC 16292, IBM Research Devision, 1990.
[27]
Mycroft A. and O'Keefe R. A. A polymorphic type system for Prolog Artificial Intelligence 1984 23 295-307
[28]
Nadathur G. and Miller D. Bowen K. and Kowalski R. An overview of λProlog 1988 Cambridge, MA MIT Press 810-827
[29]
Russinoff D. M. A verified Prolog compiler for the Warren Abstract Machine Journal of Logic Programming 1992 13 367-412
[30]
Smolka, G.: TEL (Version 0.9), Report and User Manual. SEKI-Report SR 87-17, FB Informatik, Universität Kaiserslautern, 1988.
[31]
Smolka, G.:Logic Programming over Polymorphically Order-Sorted Types. PhD thesis, FB Informatik, Univ. Kaiserslautern, 1989.
[32]
Warren, D. H. D.: An Abstract PROLOG Instruction Set. Technical Report 309, SRI, 1983.

Cited By

View all
  • (2021)Semantic Splitting of Conditional Belief BasesLogic, Computation and Rigorous Methods10.1007/978-3-030-76020-5_5(82-95)Online publication date: 4-Jun-2021
  • (2014)The abstract state machines method for modular design and analysis of programming languagesJournal of Logic and Computation10.1093/logcom/exu07727:2(417-439)Online publication date: 18-Dec-2014
  • (2007)Retrenching the Purse: The Balance Enquiry Quandary, and Generalised and (1,1) Forward RefinementsFundamenta Informaticae10.5555/2366448.236645177:1-2(29-69)Online publication date: 1-Jan-2007
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Formal Aspects of Computing
Formal Aspects of Computing  Volume 8, Issue 4
Jul 1996
120 pages
ISSN:0934-5043
EISSN:1433-299X
Issue’s Table of Contents

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 01 July 1996
Published in FAC Volume 8, Issue 4

Author Tags

  1. Constraint logic programming
  2. Abstract machine
  3. WAM
  4. Types
  5. Type constraint
  6. Correctness proof
  7. Evolving algebras

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)38
  • Downloads (Last 6 weeks)13
Reflects downloads up to 11 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2021)Semantic Splitting of Conditional Belief BasesLogic, Computation and Rigorous Methods10.1007/978-3-030-76020-5_5(82-95)Online publication date: 4-Jun-2021
  • (2014)The abstract state machines method for modular design and analysis of programming languagesJournal of Logic and Computation10.1093/logcom/exu07727:2(417-439)Online publication date: 18-Dec-2014
  • (2007)Retrenching the Purse: The Balance Enquiry Quandary, and Generalised and (1,1) Forward RefinementsFundamenta Informaticae10.5555/2366448.236645177:1-2(29-69)Online publication date: 1-Jan-2007
  • (2007)Retrenching the Purse: The Balance Enquiry Quandary, and Generalised and (1,1) Forward RefinementsFundamenta Informaticae10.5555/1365972.136597577:1-2(29-69)Online publication date: 1-Jan-2007
  • (2005)Abstract State Machines: a unifying view of models of computation and of system design frameworksAnnals of Pure and Applied Logic10.1016/j.apal.2004.10.007133:1-3(149-171)Online publication date: May-2005
  • (2004)A Practice-Oriented Course on the Principles of Computation, Programming, and System Design and AnalysisTeaching Formal Methods10.1007/978-3-540-30472-2_5(65-84)Online publication date: 2004
  • (2003)The ASM Refinement MethodFormal Aspects of Computing10.1007/s00165-003-0012-715:2-3(237-257)Online publication date: 1-Nov-2003
  • (1999)High Level System Design and Analysis Using Abstract State MachinesApplied Formal Methods — FM-Trends 9810.1007/3-540-48257-1_1(1-43)Online publication date: 1999
  • (1996)Refinement of a typed WAM extension by polymorphic order-sorted typesFormal Aspects of Computing10.1007/BF012119088:5(539-564)Online publication date: 1-Sep-1996

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media