Results 1 
5 of
5
Combining Norms to Prove Termination
, 2002
"... Automatic termination analyzers typically measure the size of terms applying norms which are mappings from terms to the natural numbers. This paper illustrates how to enable the use of size functions defined as tuples of these simpler norm functions. This approach enables us to simplify the problem ..."
Abstract

Cited by 13 (5 self)
 Add to MetaCart
(Show Context)
Automatic termination analyzers typically measure the size of terms applying norms which are mappings from terms to the natural numbers. This paper illustrates how to enable the use of size functions defined as tuples of these simpler norm functions. This approach enables us to simplify the problem of deriving automatically a candidate norm with which to prove termination. Instead of deriving a single, complex norm function, it is sufficient to determine a collection of simpler norms, some combination of which, leads to a proof of termination. We propose that a collection of simple norms, one for each of the recursive datatypes in the program, is often a suitable choice. We first demonstrate the power of combining norm functions and then the adequacy of combining norms based on regulartypes.
Reuse of Results in Termination Analysis of Typed Logic Programs
 In Static Analysis, 9th International Symposium
, 2002
"... Recent works by the authors address the problem of automating the selection of a candidate norm for the purpose of termination analysis. These works illustrate a powerful technique in which a collection of simple typebased norms, one for each data type in the program, are combined together to provi ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
(Show Context)
Recent works by the authors address the problem of automating the selection of a candidate norm for the purpose of termination analysis. These works illustrate a powerful technique in which a collection of simple typebased norms, one for each data type in the program, are combined together to provide the candidate norm. This paper extends these results by investigating type polymorphism. We show that by considering polymorphic types we reduce, without sacrificing precision, the number of typebased norms which should be combined to provide the candidate norm. Moreover, we show that when a generic polymorphic typed program component occurs in one or more specific type contexts, we need not reanalyse it. All of the information concerning its termination and its e ect on the termination of other predicates in that context can be derived directly from the context independent analysis of that component based on norms derived from the polymorphic types.
When Size Does Matter  Termination Analysis for Typed Logic Programs
 Logicbased Program Synthesis and Transformation, 11th International Workshop, LOPSTR 2001, Selected Papers, volume 2372 of LNCS
, 2002
"... Proofs of termination typically proceed by mapping program states to a well founded domain and showing that successive states of the computation are mapped to elements decreasing in size. Automated termination analysers for logic programs achieve this by measuring and comparing the sizes of succ ..."
Abstract

Cited by 6 (4 self)
 Add to MetaCart
(Show Context)
Proofs of termination typically proceed by mapping program states to a well founded domain and showing that successive states of the computation are mapped to elements decreasing in size. Automated termination analysers for logic programs achieve this by measuring and comparing the sizes of successive calls to recursive predicates. The size of the call is measured by a level mapping that in turn is based on a norm on the arguments of the call. A norm maps a term to a natural number.
Analysis of Polymorphically Typed Logic Programs Using ACIUnification
 In Proceedings of the Eighth International Conference on Logic for Programming, Artificial Intelligence, and Reasoning. Lecture Notes in Artificial Intelligence
, 2001
"... . Analysis of (partial) groundness is an important application of abstract interpretation. There are several proposals for improving the precision of such an analysis by exploiting type information, including our own work [15], where we had shown how the information present in the type declarations ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
(Show Context)
. Analysis of (partial) groundness is an important application of abstract interpretation. There are several proposals for improving the precision of such an analysis by exploiting type information, including our own work [15], where we had shown how the information present in the type declarations of a program can be used to characterise the degree of instantiation of a term in a precise but finite way. This approach worked for polymorphically typed logic programs. Here, we recast this approach following [5, 11]. To formalise which properties of terms we want to characterise, we use labelling functions, which are functions that extract subterms from a term along certain paths. An abstract term collects the results of all labelling functions of a term. For the analysis, programs are executed on abstract terms instead of the concrete ones, and usual unification is replaced by unification modulo an equality theory which includes the wellknown ACItheory. Thus we generalise [5, 11] w.r.t. the type systems considered and relate those two works. 1