Higher-Order Termination: From Kruskal to Computability

  • Frédéric Blanqui
  • Jean-Pierre Jouannaud
  • Albert Rubio
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4246)


Termination is a major question in both logic and computer science. In logic, termination is at the heart of proof theory where it is usually called strong normalization (of cut elimination). In computer science, termination has always been an important issue for showing programs correct. In the early days of logic, strong normalization was usually shown by assigning ordinals to expressions in such a way that eliminating a cut would yield an expression with a smaller ordinal. In the early days of verification, computer scientists used similar ideas, interpreting the arguments of a program call by a natural number, such as their size. Showing the size of the arguments to decrease for each recursive call gives a termination proof of the program, which is however rather weak since it can only yield quite small ordinals. In the sixties, Tait invented a new method for showing cut elimination of natural deduction, based on a predicate over the set of terms, such that the membership of an expression to the predicate implied the strong normalization property for that expression. The predicate being defined by induction on types, or even as a fixpoint, this method could yield much larger ordinals. Later generalized by Girard under the name of reducibility or computability candidates, it showed very effective in proving the strong normalization property of typed lambda-calculi with polymorphic types, dependent types, inductive types, and finally a cumulative hierarchy of universes. On the programming side, research on termination shifted from programming to executable specification languages based on rewriting, and concentrated on automatable methods based on the construction on well-founded orderings of the set of terms. The milestone here is Dershowitz’s recursive path ordering (RPO), in the late seventies, whose well-foundedness proof is based on a powerful combinatorial argument, Kruskal’s tree theorem, which also yields rather large ordinals. While the computability predicates must be defined for each particular case, and their properties proved by hand, the recursive path ordering can be effectively automated.


Function Symbol Computability Property Typing Judgment Type Declaration Recursive Path 
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.
    Barbanera, F.: Adding algebraic rewriting to the calculus of constructions: Strong normalization preserved. In: Okada, M., Kaplan, S. (eds.) CTRS 1990. LNCS, vol. 516. Springer, Heidelberg (1991)Google Scholar
  2. 2.
    Barbanera, F., Fernández, M., Geuvers, H.: Modularity of strong normalization and confluence in the λ-algebraic-cube. In: Proc. 9th IEEE Symp. Logic in Computer Science, pp. 406–415 (1994)Google Scholar
  3. 3.
    Blanqui, F., Jouannaud, J.-P., Okada, M.: The Calculus of Algebraic Constructions. In: Narendran, P., Rusinowitch, M. (eds.) RTA 1999. LNCS, vol. 1631, p. 301. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  4. 4.
    Blanqui, F., Jouannaud, J.-P., Okada, M.: Inductive-Data-Type Systems. Theoretical Computer Science 272(1-2), 41–68 (2002)zbMATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Blanqui, F.: Rewriting modulo in Deduction modulo. In: Nieuwenhuis, R. (ed.) RTA 2003. LNCS, vol. 2706. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  6. 6.
    Blanqui, F.: Definitions by rewriting in the Calculus of Constructions. Mathematical Structures in Computer Science 15(1), 37–92 (2005)zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Blanqui, F.: Inductive types in the Calculus of Algebraic Constructions. Fundamenta Informaticae 65(1-2), 61–86 (2005)zbMATHMathSciNetGoogle Scholar
  8. 8.
    Blanqui, F., Riba, C.: Combining typing and size constraints for checking the termination of higher-order conditional rewrite systems. In: Hermann, M., Voronkov, A. (eds.) LPAR 2006. LNCS, vol. 4246, pp. 105–119. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  9. 9.
    Blanqui, F.: (HO)RPO revisited (manuscript, 2006)Google Scholar
  10. 10.
    Blanqui, F.: Higher-order dependency pairs. In: Proceedings of the 8th International Workshop on Termination (2006)Google Scholar
  11. 11.
    Borralleras, C., Rubio, A.: A monotonic, higher-order semantic path ordering. In: Proceedings LPAR. LNCS. Springer, Heidelberg (2006)Google Scholar
  12. 12.
    Breazu-Tannen, V., Gallier, J.: Polymorphic rewriting conserves algebraic strong normalization. Theoretical Computer Science (1990)Google Scholar
  13. 13.
    Cook, A.P.B., Rybalchenko, A.: Termination proofs for systems code (manuscript, 2004)Google Scholar
  14. 14.
    Coq Development Team: The Coq Proof Assistant Reference Manual, Version 8.0. INRIA Rocquencourt, France (2004),
  15. 15.
    Dershowitz, N., Jouannaud, J.-P.: Rewrite systems. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, vol. B, pp. 243–309. North-Holland, Amsterdam (1990)Google Scholar
  16. 16.
    Jones, N.D., Bohr, N.: Termination analysis of the untyped λ-calculus. In: van Oostrom, V. (ed.) RTA 2004. LNCS, vol. 3091, pp. 1–23. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  17. 17.
    Jouannaud, J.-P., Okada, M.: Executable higher-order algebraic specification languages. In: Proc. 6th IEEE Symp. Logic in Computer Science, Amsterdam, pp. 350–361 (1991)Google Scholar
  18. 18.
    Jouannaud, J.-P., Okada, M.: Abstract data type systems. Theoretical Computer Science 173(2), 349–391 (1997)zbMATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    Jouannaud, J.-P., Rubio, A.: The higher-order recursive path ordering. In: Longo, G. (ed.) Fourteenth Annual IEEE Symposium on Logic in Computer Science, Trento, Italy (July 1999)Google Scholar
  20. 20.
    Jouannaud, J.-P., Rubio, A.: Higher-order orderings for normal rewriting. In: Pfenning, F. (ed.) RTA 2006. LNCS, vol. 4098, pp. 387–399. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  21. 21.
    Jouannaud, J.-P., Rubio, A.: Polymorphic higher-order recursive path orderings. Journal of the ACM (submitted)Google Scholar
  22. 22.
    Jürgen Giesl, P.S.-K., Swiderski, S., Thiemann, R.: Automated termination analysis for haskell: From term rewriting to programming languages. In: Pfenning, F. (ed.) RTA 2006. LNCS, vol. 4098, pp. 297–312. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  23. 23.
    Okada, M.: Strong normalizability for the combined system of the typed lambda calculus and an arbitrary convergent term rewrite system. In: Proc. of the 20th Int. Symp. on Symbolic and Algebraic Computation, Portland, Oregon, USA (1989)Google Scholar
  24. 24.
    Paulin-Mohring, C.: Inductive definitions in the system COQ. In: Bezem, M., Groote, J.F. (eds.) TLCA 1993. LNCS, vol. 664, pp. 328–345. Springer, Heidelberg (1993)CrossRefGoogle Scholar
  25. 25.
    Sakai, M., Kusakari, K.: On dependency pairs method for proving termination of higher-order rewrite systems. IEICE-Transactions on Information and Systems E88-D(3), 583–593 (2005)Google Scholar
  26. 26.
    Wałukiewicz-Chrzaszcz, D.: Termination of rewriting in the Calculus of Constructions. In: Proceedings of the Workshop on Logical Frameworks and Meta-languages. Satellite workshop of LICS 2000, Santa Barbara, California (2000)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Frédéric Blanqui
    • 1
  • Jean-Pierre Jouannaud
    • 2
  • Albert Rubio
    • 3
  1. 1.INRIA & LORIAVilliers-lés-NancyFrance
  2. 2.LIX, École PolytechniquePalaiseauFrance
  3. 3.Technical University of CataloniaBarcelonaSpain

Personalised recommendations