Smaus, Jan-Georg, Hill, Pat, King, Andy (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. (doi:10.1017/S1471068401001107) (KAR id:37581)
PDF
Pre-print
Language: English |
|
Download this file (PDF/1MB) |
Preview |
Request a format suitable for use with assistive technology e.g. a screenreader | |
Official URL: http://dx.doi.org/10.1017/S1471068401001107 |
Abstract
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 |
---|---|
DOI/Identification number: | 10.1017/S1471068401001107 |
Uncontrolled keywords: | verification; delay declarations; termination; modes; types; selection rule; built-ins; errors. |
Subjects: | A General Works |
Divisions: | Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing |
Depositing User: | Andy King |
Date Deposited: | 12 Dec 2013 20:02 UTC |
Last Modified: | 05 Nov 2024 10:21 UTC |
Resource URI: | https://kar.kent.ac.uk/id/eprint/37581 (The current URI for this page, for reference purposes) |
- Link to SensusAccess
- Export to:
- RefWorks
- EPrints3 XML
- BibTeX
- CSV
- Depositors only (login required):