2007
DOI: 10.1145/1216374.1216378
|View full text |Cite
|
Sign up to set email alerts
|

Termination analysis of logic programs through combination of type-based norms

Abstract: This article makes two contributions to the work on semantics-based termination analysis for logic programs. The first involves a novel notion of type - based norm where for a given type, a corresponding norm is defined to count in a term the number of subterms of that type. This provides a collection of candidate norms, one for each type defined in the program. The second enables an analyzer to base termination proofs on the combination of several different norm… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
5

Citation Types

0
62
0

Year Published

2007
2007
2023
2023

Publication Types

Select...
10

Relationship

3
7

Authors

Journals

citations
Cited by 56 publications
(62 citation statements)
references
References 36 publications
0
62
0
Order By: Relevance
“…Still, virtually all existing techniques only prove universal termination of definite logic programs, which do not use the cut "!". 3 But most realistic Prolog programs make use of the cut or related operators such as negation as failure ("\+") or if then else ("−> ... ; ..."), which can be expressed using cuts. In [18] we introduced a non-termination preserving automated transformation from logic programs with cut to definite logic programs.…”
Section: Introductionmentioning
confidence: 99%
“…Still, virtually all existing techniques only prove universal termination of definite logic programs, which do not use the cut "!". 3 But most realistic Prolog programs make use of the cut or related operators such as negation as failure ("\+") or if then else ("−> ... ; ..."), which can be expressed using cuts. In [18] we introduced a non-termination preserving automated transformation from logic programs with cut to definite logic programs.…”
Section: Introductionmentioning
confidence: 99%
“…In particular, type information is useful in this context. When used as a basis for determining the possible calls to the program, it leads to compiler optimisations [11], more precise termination conditions [4,7] and more refined interpretations for proving termination [1,9].…”
Section: Introductionmentioning
confidence: 99%
“…[13] presents a survey of the extensive amount of work up till 1994. But, most of the more powerful approaches and techniques have been introduced in the last decade: the constraint-based approach to termination analysis [5], the local approaches [4], the use of types in termination analysis [2], powerful transformational approaches [12], termination inference [7], and the porting of TRS-techniques to the LP-context [14], [9], [8].…”
Section: Introductionmentioning
confidence: 99%