Ordinal Bounds for Programs

In this paper we use methods of proof theory to assign ordinals to classes of (terminating) programs, the idea being that the ordinal assignment provides a uniform way of measuring computational complexity “in the large”. We are not concerned with placing prior (e.g. polynomial) bounds on computation-length, but rather with general methods of assessing the complexity of natural classes of programs according to the ways in which they are constructed. We begin with an overview of the method in section 2, the crucial idea being supplied by Buchholz’s ω+–rule. Section 3 introduces a large class of higher-order programs based on Plotkin’s PCF, but with “bounded” fixed point operators controlled by given well-ordering. A Tait-style computability proof then ensures termination. In section 4 the details of the ordinal assignment method are worked out for the case where the given well-ordering is just the ordering of the natural numbers. The complexity bounds thus obtained turn out to be the slow-growing functions G α with α below the Bachmann-Howard ordinal. Thus the functions computed by PCF<–programs are just the provably recursive functions of arithmetic.