About program termination and simplification

  • F. Ermine
  • I. Guessarian
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 83)


We study two usual properties of program schemes: termination and a simplification property. To this end, we introduce the notion of useless occurrence which enables us to consider these two problems in a unifying setting; algebraic semantics provides us with a quite flexible framework for this study in that we can introduce the exactly desired amount of semantic information and derive the corresponding results.

We begin with a purely syntactic step, and, working in the free interpretation, obtain very easily at this step quite worthwhile simplifications. Then we introduce some amount of semantic information, and, working in a class of interpretations defined by algebraic conditions, show how we can delete some of the useless occurrences and non-terminating procedures with respect to that class of interpretations; this is achieved by using only the algebraic specifications of the program scheme and of the class of interpretations. Finally, we show how one can, making more and more precise the specifications of the interpretations, derive in the same way more and more refined simplifications of the program scheme.


  1. [A]
    J. ARSAC, "La Construction de programmes structurés" ed. DUNOD, PARIS (1977)Google Scholar
  2. [AU]
    A.V. AHO, J.D. ULLMANN, "The theory of parsing, translation and compiling" Vol. 2, Prentice Hall, LONDON (1973)Google Scholar
  3. [BD]
    R.M. BURSTALL, J. DARLINGTON, "A transformation system for developing recursive programs" J.A.C.M. 24, p.44–67 (1977)Google Scholar
  4. [BS]
    J.P. BENSON, S.H. SAIB, "A software quality assurance experiment" ACM Software Engineering Notes, Vol. 3, No 5, p. 87–91 (November 78)Google Scholar
  5. [D]
    N. DERSHOWITZ, "Orderings for term rewriting systems" FOCS Conf., Porto-Rico (1979), p.123–131.Google Scholar
  6. [DS]
    P.J. DOWNEY, R. SETHI, "Correct computation rules for recursive languages" SIAM J. COMP. 5, p. 378–401 (1976)Google Scholar
  7. [G1]
    I. GUESSARIAN, "Program transformations and algebraic semantics" T.C.S. 9, p. 39–65 (1979)Google Scholar
  8. [G2]
    I. GUESSARIAN, "Les tests et leur caractérisation syntaxique" RAIRO 11, p. 133–156 (1977)Google Scholar
  9. [H]
    C. HENRY, "Résolution d'équations algébriques sur le magma libre — Application aux transformations de programmes" Thèse de 3ème cycle — Université de PARIS VII (1978)Google Scholar
  10. [K]
    L. KOTT, "About a transformation system: a theoretical study" in "Program transformations", 3rd ISP, Ed. DUNOD, p. 232–247 — PARIS (1978)Google Scholar
  11. [KL]
    S. KAMIN, J.J. LEVY, "Attempts for generalizing recursive path orderings" in preparationGoogle Scholar
  12. [N]
    M. NIVAT, "On the interpretation of recursive polyadic program schemes" Symp. Math. 15, p. 256–281 — ROME (1975)Google Scholar
  13. [P]
    J.F. PERROT, "Programmes, mots et arbres" Rend. sem. Mat. Univ. Politecn. Torino 36, p. 11–14 (1977–1978)Google Scholar
  14. [R]
    B. ROBINET, "Types et fonctionalité", in "Lambda-Calcul et Sémantique formelle des langages de programmation" 6e Ecole de Printemps (La Châtre 1978), p. 303–325.Google Scholar
  15. [S]
    D. SCOTT "Data types as lattices" SIAM J.COMP.5,p. 522–587 (1976)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1980

Authors and Affiliations

  • F. Ermine
    • 1
  • I. Guessarian
    • 2
  1. 1.LCR, THOMSON-CSF, Domaine de CorbevilleOrsay
  2. 2.CNRS — LITP, UER de Mathématiques de Paris 7Paris Cedex 05

Personalised recommendations