Foundations of logic programming; (2nd extended ed.)
Foundations of logic programming; (2nd extended ed.)
Deriving descriptions of possible values of program variables by means of abstract interpretation
Journal of Logic Programming
Types in logic programming
The Go¨del programming language
The Go¨del programming language
Type dependencies for logic programs using ACI-unification
Theoretical Computer Science
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Analysis of Polymorphically Typed Logic Programs Using ACI-Unification
LPAR '01 Proceedings of the Artificial Intelligence on Logic for Programming
Pos(T): Analyzing Dependencies in Typed Logic Programs
PSI '02 Revised Papers from the 4th International Andrei Ershov Memorial Conference on Perspectives of System Informatics: Akademgorodok, Novosibirsk, Russia
Mode Analysis Domains for Typed Logic Programs
LOPSTR'99 Selected papers from the 9th International Workshop on Logic Programming Synthesis and Transformation
IWWERT '90 Proceedings of the First International Workshop on Word Equations and Related Topics
CP '99 Proceedings of the 5th International Conference on Principles and Practice of Constraint Programming
Analysis of Polymorphically Typed Logic Programs Using ACI-Unification
LPAR '01 Proceedings of the Artificial Intelligence on Logic for Programming
The Head Condition and Polymorphic Recursion
FLOPS '02 Proceedings of the 6th International Symposium on Functional and Logic Programming
Hi-index | 0.00 |
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 well-known ACI-theory. Thus we generalise [5, 11] w.r.t. the type systems considered and relate those two works.