Walther recursion

  • David McAllester
  • Kostas Arkoudas
Session 8B
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1104)


Primitive recursion is a well known syntactic restriction on recursive definitions which guarantees termination. Unfortunately many natural definitions, such as the most common definition of Euclid's GCD algorithm, are not primitive recursive. Walther has recently given a proof system for verifying termination of a broader class of definitions. Although Walther's system is highly automatible, the class of acceptable definitions remains only semi-decidable. Here we simplify Walther's calculus and give a syntactic criterion on definitions which guarantees termination. This syntactic criteria generalizes primitive recursion and handles most of the examples given by Walther. We call the corresponding class of acceptable definitions “Walther recursive”.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    A. Aiken, E. Wimmers, and T.K. Lakshman. Soft typing with conditional types. In ACM Symposium on Principles of Programming Langages, pages 163–173. Association for Computing Machinery, 1994.Google Scholar
  2. 2.
    Robert S. Boyer and J Struther Moore. A Computational Logic. ACM Monograph Series. Academic Press, 1979.Google Scholar
  3. 3.
    N. Dershowitz and J.P. Jouannaud. Rewrite systems. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics, pages 243–320. MIT Press, 1990.Google Scholar
  4. 4.
    Nachum Dershowitz. Orderings for term-rewriting systems. Theoretical Computer Science, August 1979.Google Scholar
  5. 5.
    Thom Frühwirth, Ehud Shapiro, Moshe Vardi, and Eyal Yardeni. Logic programs as types for logic programs. In Proceedings, Sixth Annual IEEE Symposium on Logic in Computer Science, pages 75–83. IEEE Computer Society Press, 1991.Google Scholar
  6. 6.
    N. Heintze. Set based analysis of ML programs. In ACM Conference on Lisp and Functional Programming, pages 306–317, 1994.Google Scholar
  7. 7.
    M. O. Rabin. Decidability of second order theories and automata on infinite trees. Trans. of Amer. Math. Soc., 141:1–35, 1969.Google Scholar
  8. 8.
    W. Thomas. Automata on infinite objects. In Handbook of Theoretical Computer Science, Volume B, Formal Methods and Semantics, pages 133–164. MIT Press, 1990.Google Scholar
  9. 9.
    Cristoph Walther. On proving termination of algorithms by machine. Artificial Intelligence, 71(1):101–157, 1994.CrossRefGoogle Scholar
  10. 10.
    webmaster@cli.com. Home page for computational logic incorporated. http://www.cli.com/index.html.Google Scholar
  11. 11.
    Javier Thayer, William Farmer, Joshua Guttman. Imps: An interactive mathematical proof system. In CADE-10, pages 653–654. Springer-Verlag, 1990.Google Scholar

Copyright information

© Springer-Verlag 1996

Authors and Affiliations

  • David McAllester
    • 1
  • Kostas Arkoudas
    • 2
  1. 1.ATT ResearchMurray Hill
  2. 2.MIT Artificial Intelligence LaboratoryCambridge

Personalised recommendations