Termination Detection in . . . (Extended Abstract)

Abstract

Progress on automated termination detection for logic programs is reported. The prospects for handling a large class of programs completely automatically appear promising, in contrast to the bleak picture for procedural languages. The methods reported are based on term size analysis of procedure arguments. Argument sizes of derivable facts involving an n-ary predicate are viewed as points in the positive orthant of R n. We describe a method of nding a nonnegative linear combination of bound argument sizes that (if it is found) is guaranteed to decrease during top-down execution of recursive rules. Duality theory of linear programming is used. This methodology can handle nonlinear recursion, mutual recursion, and cases in which no specific argument is certain to decrease; while it requires rules to have a certain form, this form is attainable by known syntactic transformations. Several programs that could not be shown to terminate by earlier published methods are handled successfully. However, it only analyzes a su cient condition; a procedure may terminate without our methodology detecting that fact

    Similar works

    Full text

    thumbnail-image

    Available Versions