White Rose University Consortium logo
University of Leeds logo University of Sheffield logo York University logo

Verifying termination and error-freedom of logic programs with block declarations

Smaus, J.-G., Hill, P.M. and King, A. (2001) Verifying termination and error-freedom of logic programs with block declarations. Theory and Practice of Logic Programming, 1 (4). pp. 447-486. ISSN 1471-0684

Available under licence : See the attached licence file.

Download (471Kb)


We present verification methods for logic programs with delay declarations. The verified properties are termination and freedom from errors related to built-ins. Concerning termination, we present two approaches. The first approach tries to eliminate the well-known problem of speculative output bindings. The second approach is based on identifying the predicates for which the textual position of an atom using this predicate is irrelevant with respect to termination.

Three features are distinctive of this work: it allows for predicates to be used in several modes; it shows that block declarations, which are a very simple delay construct, are sufficient to ensure the desired properties; it takes the selection rule into account, assuming it to be as in most Prolog implementations. The methods can be used to verify existing programs and assist in writing new programs.

Item Type: Article
Copyright, Publisher and Additional Information: © 2001 Cambridge University Press
Keywords: verification, delay declarations, termination, modes, types, selection rule, built-ins, errors
Institution: The University of Leeds
Academic Units: The University of Leeds > Faculty of Engineering (Leeds) > School of Computing (Leeds)
Depositing User: Repository Assistant
Date Deposited: 22 May 2006
Last Modified: 17 Jun 2014 04:02
Published Version: http://dx.doi.org/10.1017/S1471068401001107
Status: Published
Publisher: Cambridge University Press
Refereed: Yes
Identification Number: 10.1017/S1471068401001107
URI: http://eprints.whiterose.ac.uk/id/eprint/1208

Actions (repository staff only: login required)