Abstract data types and rewriting systems : Application to the programming of Algebraic Abstract Data Types in PROLOG

  • Marc Bergman
  • Pierre Deransart
Contributed Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 112)


The aim of the paper is to present the operational semantics of Algebraic Abstract Data Types (AAT) in terms of rewriting systems and their programming in PROLOG respectively.

An AAT is considered as an interpretor, the semantical actions of which are rewrite rules.

The power of the methodology makes it possible to construct one and many-sorted types, and may be used as an aid for proofs of properties.

This approach leads to a clean, rapid, and accurate programming close to the abstract specification of the type. Proofs by "constructor induction" or Knuth-Bendix algorithm of equational properties valid in initial or final models may be programmed in PROLOG.


Abstract Data Type rewriting systems operational semantics PROLOG proof of equational properties Knuth-Bendix algorithm 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Fu-Ve 80.
    A.L. FURTADO, P.A.S. VELOSO Procedural Verification and Implementations for Abstract Data Types, Pontificia Universidade Catolica do Rio de Janeiro. Private communication.Google Scholar
  2. Gau 80.
    M.C. GAUDEL Compiler Proof and Generation based on semantics of programming Languages (French) Thèse de Doctorat — 10 th March 1980 — Nancy —Google Scholar
  3. Gog 80.
    J.A. GOGUEN. How to prove algebraic inductive hypotheses without induction with applications to the correctness of data type implementation. 5th Conference on Automated Deduction. Les Arcs, France, Juillet 1980. (LNCS 87, pp. 356–373).Google Scholar
  4. Go-Ta 79.
    J.A. GOGUEN, J.J. TARDO, "An introduction to OBJ, A Language for writing and testing Formal Algebraic Program Specification". Specification of Reliable Software. Boston Apr. 1979. pp. 170–189.Google Scholar
  5. Gu-ho 78.
    J.V. GUTTAG, J.J. HORNING, The Algebraic Specification of Abstract Data Types. Acta Informatica 10 (1978), 27–52.Google Scholar
  6. Gut 78.
    J. GUTTAG Abstract Data Types and the Development of Data Structures. CACM — V20 — N6 — June 1977 — pp 396–404.Google Scholar
  7. Hu-Hu 80.
    G. HUET, J.M. HULLOT, Proofs by Induction in Equational Theories with Constructors. Rapport INRIA no28.Google Scholar
  8. Hu-Op 80.
    G. HUET, D. OPPEN Equations and Rewrite Rules: a Survey. "Formal Languages: Perspectives and Open Problems". Ed. Book R, Academic Press 1980. Also TR-CSL-111, SRI International, Jan. 1980.Google Scholar
  9. Ma-Se 80.
    E. MADELAINE, S. SENESI, On using LCF and PROLOG to prove Correctness of Abstract Data Type Representation (French). Ecole Polytechnique — INRIA — July 1980.Google Scholar
  10. Mus 77.
    D.R. MUSSER "A Data Type Verification System Based on Rewrite Rules". Proceedings of the Sixth Texas ConferenceGoogle Scholar
  11. Mus 78.
    D.R. MUSSER, Convergent Set of Rewrite Rules for Abstract Data Types. USC — ISI. Californie. Déc. 78 — Nov. 79.Google Scholar
  12. Pai 80.
    C. PAIR On the Models of Algebraic Abstract Data Types (French) Centre de Recherche en Informatique de Nancy — Report 80 P 052, May 1980.Google Scholar
  13. Rou 75.
    P. ROUSSEL PROLOG Reference Manual (French) Université d'Aix — Marseille II — Septembre 1975.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1981

Authors and Affiliations

  • Marc Bergman
    • 2
  • Pierre Deransart
    • 1
  1. 1.INRIALe Chesnay Cédex
  2. 2.Faculté des Sciences de LUMINY Case 901Marseille

Personalised recommendations