What's so special about Kruskal's theorem and the ordinal Γo? A survey of some results in proof theory

Jean H. Gallier
1991 Annals of Pure and Applied Logic  
This paper consists primarily of a survey of results of Harvey Friedman about some proof theoretic aspects of various forms of Kruskal's tree theorem, and in particular the connection with the ordinal ro. We also include a fairly extensive treatment of normal functions on the countable ordinals, and we give a glimpse of Veblen hierarchies, some subsystems of second-order logic, slow-growing and fast-growing hierarchies including Girard's result, and Goodstein sequences. The central theme of
more » ... paper is a powerful theorem due to Kruskal, the "tree theorem", as well as a "finite miniaturization" of Kruskal's theorem due to Harvey Friedman. These versions of Kruskal's theorem are remarkable from a proof-theoretic point of view because they are not provable in relatively strong logical systems. They are examples of so-called "natural independence phenomena", which are considered by most logicians as more natural than the metamathematical incompleteness results first discovered by Godel. Kruskal's tree theorem also plays a fundamental role in computer science, because it is one of the main tools for showing that certain orderings on trees are well founded. These orderings play a crucial role in proving the termination of systems of rewrite rules and the correctness of Knuth-Bendix completion procedures. There is also a close connection between a certain infinite countable ordinal called ro and Kruskal's theorem. Previous definitions of the function involved in this connection are known to be incorrect, in that, the function is not monotonic. We offer a repaired definition of this function, and explore briefly the consequences of its existence. Well Quasi-Orders (WQO's) We let N denote the set {0,1,2,. . .} of natural npmbers, and N + denote the set {1,2,. . .} of positive natural numbers. Given any n E N+, we let [n] denote the finite set {1,2,. . . , n}, and we let [0] = 0. Given a set S, a finite sequence u over S, or string over S, is a function u : [n] t S, for some n E N . The integer n is called the length of u and is denoted by lul. The special sequence with domain 0 is called the empty sequence, or empty string, and will be denoted by e. Strings can be concatenated in the usual way: Given two strings u : [m] + S and v : [n] + S , their concatenation denoted by u.v or uv, is the string uv : [m + n] + S such that, uv(i) = u(i) if 1 5 i < m, and uv(i) = v(im) if m + 1 5 i 5 m + n. Clearly, concatenation is associative and e is an identity element.
doi:10.1016/0168-0072(91)90022-e fatcat:lrq545sb5zdlffrobtqqxhvr4q