A system for proving equivalences of recursive programs

  • Laurent Kott
Tuesday Afternoon
Part of the Lecture Notes in Computer Science book series (LNCS, volume 87)


We present a system for proving equivalences of recursive programs based on program transformations, namely the fold/unfold method and a generalisation of this method.


Function Symbol Program Transformation Recursive Program Initial Algebra Directed Subset 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    ADJ "Initial algebra semantics and continuous algebras", J. of ACM, 24, 1, pp. 68–95 (1977)Google Scholar
  2. [2]
    J. Arsac, Y. Kodratoff "Some methods for transformation of recursive procedures into iterative ones", LITP Report, Université Paris VI (1979)Google Scholar
  3. [3]
    D. Begay, L. Kott "Preuve de programme sans induction", 5th Coll. de Lille, Rapport de l'Université de Poitiers (1980)Google Scholar
  4. [4]
    G. Boudol, L. Kott "Recursion induction principle revisited", submitted to TCS (1980)Google Scholar
  5. [5]
    R. Burstall, J. Darlington "A transformation system for developping recursive programs", J. of ACM, 24, 1, pp. 44–67 (1977)CrossRefGoogle Scholar
  6. [6]
    B. Courcelle "Infinite trees in normal form and recursive equations having a unique solution", L.A. 226 Report 79-06, Université de Bordeaux (1979)Google Scholar
  7. [7]
    B. Courcelle, M. Nivat "Algebraic families of interpretations", 17th FOCS, Houston (1976)Google Scholar
  8. [8]
    M. Feather "ZAP program transformation system", Ph. D. Thesis, Edinburgh University (1979)Google Scholar
  9. [9]
    I. Guessarian "Semantic equivalence of program schemes and its syntactic characterisation", 3rd ICALP, Edinburgh (1976)Google Scholar
  10. [10]
    G. Huet, B. Lang "Proving and applying program transformations with second order patterns", Acta Inf., 11, pp. 31–55 (1978)Google Scholar
  11. [11]
    L. Kott "About transformation system: a theoretical study" in "Transformations de Programmes", B. Robinet ed., pp. 232–247 (1978)Google Scholar
  12. [12]
    L. Kott "Des substitutions dans les systèmes d'équations algébriques sur le magma", Doctoral Dissertation, Université Paris VII (1979)Google Scholar
  13. [13]
    L. Kott "Second order subtree replacements", submitted to 21st FOCS (1980)Google Scholar
  14. [14]
    Z. Manna, R. Waldinger "Knowledge and reasoning in program synthesis", Artif. Intel. J., 6, 2, pp. 175–208 (1975)Google Scholar
  15. [15]
    J. Mac Carthy "A basis for a mathamatical theory of computation", in "Computer Programming and Formal Systems" (1963)Google Scholar
  16. [16]
    M. Nivat "Interprétation universelle d'un schéma de programme récursif", Informatica, 7, 1, pp. 9–16 (1977)Google Scholar
  17. [17]
    Z. Manna, R. Waldinger "A deductive approach to program synthesis", ACM ToPLaS, 2, 1, pp. 90–121 (1980)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1980

Authors and Affiliations

  • Laurent Kott
    • 1
  1. 1.L.A. du CNRS 248 "Informatique Théorique et Programmation"UER de Mathématiques, Université Paris VIIParis Cedex 05

Personalised recommendations