5 research outputs found

    The computability path ordering

    Get PDF
    This paper aims at carrying out termination proofs for simply typed higher-order calculi automatically by using ordering comparisons. To this end, we introduce the computability path ordering (CPO), a recursive relation on terms obtained by lifting a precedence on function symbols. A first version, core CPO, is essentially obtained from the higher-order recursive path ordering (HORPO) by eliminating type checks from some recursive calls and by incorporating the treatment of bound variables as in the com-putability closure. The well-foundedness proof shows that core CPO captures the essence of computability arguments \'a la Tait and Girard, therefore explaining its name. We further show that no further type check can be eliminated from its recursive calls without loosing well-foundedness, but for one for which we found no counterexample yet. Two extensions of core CPO are then introduced which allow one to consider: the first, higher-order inductive types; the second, a precedence in which some function symbols are smaller than application and abstraction

    The computability path ordering

    Full text link

    RPO constraint solving is in NP

    No full text
    A new decision procedure for the existential fragment of ordering constraints expressed using the recursive path ordering is presented. This procedure is nondeterministic and checks whether a set of constraints is solvable over the given signature, i.e., the signature over which the terms in the constraints are defined. It is shown that this nondeterministic procedure runs in polynomial time, thus establishing the membership of this problem in the complexity class NP for the first time
    corecore