Results 1 
8 of
8
Redundant Argument Filtering of Logic Programs
 Logic Program Synthesis and Transformation. Proceedings of LOPSTR’96, LNCS 1207
, 1996
"... This paper is concerned with the problem of removing, from a given logic program, redundant arguments. These are arguments which can be removed without affecting correctness. Most program specialisation techniques, even though they perform argument filtering and redundant clause removal, fail to re ..."
Abstract

Cited by 42 (17 self)
 Add to MetaCart
This paper is concerned with the problem of removing, from a given logic program, redundant arguments. These are arguments which can be removed without affecting correctness. Most program specialisation techniques, even though they perform argument filtering and redundant clause removal, fail to remove a substantial number of redundant arguments, yielding in some cases rather inefficient residual programs. We formalise the notion of a redundant argument and show that one cannot decide effectively whether a given argument is redundant. We then give a safe, effective approximation of the notion of a redundant argument and describe several simple and efficient algorithms calculating based on the approximative notion. We conduct extensive experiments with our algorithms on mechanically generated programs illustrating the practical benefits of our approach.
Controlling generalization and polyvariance in partial deduction of normal logic programs
 ACM Transactions on Programming Languages and Systems
, 1998
"... Given a program and some input data, partial deduction computes a specialized program handling any remaining input more efficiently. However, controlling the process well is a rather difficult problem. In this article, we elaborate global control for partial deduction: for which atoms, among possibl ..."
Abstract

Cited by 12 (0 self)
 Add to MetaCart
Given a program and some input data, partial deduction computes a specialized program handling any remaining input more efficiently. However, controlling the process well is a rather difficult problem. In this article, we elaborate global control for partial deduction: for which atoms, among possibly infinitely many, should specialized relations be produced, meanwhile guaranteeing correctness as well as termination? Our work is based on two ingredients. First, we use the concept of a characteristic tree, encapsulating specialization behavior rather than syntactic structure, to guide generalization and polyvariance, and we show how this can be done in a correct and elegant way. Second, we structure combinations of atoms and associated characteristic trees in global trees registering “causal ” relationships among such pairs. This allows us to spot looming nontermination and perform proper generalization in order to avert the danger, without having to impose a depth bound on characteristic trees. The practical relevance and benefits of the work are illustrated through extensive experiments. Finally, a similar approach may improve upon current (online) control strategies for program transformation in general such as (positive) supercompilation of functional programs. It also seems valuable in the context of abstract interpretation to handle infinite domains of infinite height with more precision.
A Toolkit for Static Analysis of Constraint Logic Programs
, 1997
"... Generic systems for the analysis of logic programs have been proposed over the last decade or so. Considerable progress has been made in terms of frameworks, algorithms, abstract domains and implementations. A number of generic topdown procedural frameworks are widely available. However, implementa ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
Generic systems for the analysis of logic programs have been proposed over the last decade or so. Considerable progress has been made in terms of frameworks, algorithms, abstract domains and implementations. A number of generic topdown procedural frameworks are widely available. However, implementation e#orts for bottomup declarative frameworks are in a preliminary stage. In this thesis
The Generation of PreInterpretations for Detecting Unsolvable Planning Problems
 In Proc. IJCAI Workshop on Model based Automated reasoning
, 1998
"... Interpretation 1 ..."
Solving Deductive Planning Problems Using Program Analysis and Transformation
, 1995
"... Two general, problematic aspects of deductive planning, namely, detecting unsolvable planning problems and solving a certain kind of postdiction problem, are investigated. The work is based on a resource oriented approach to reasoning about actions and change using a logic programming paradigm. We s ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
Two general, problematic aspects of deductive planning, namely, detecting unsolvable planning problems and solving a certain kind of postdiction problem, are investigated. The work is based on a resource oriented approach to reasoning about actions and change using a logic programming paradigm. We show that ordinary resolution methods are insufficient for solving these problems and propose program analysis and transformation as a more promising and successful way to tackle them. In particular, a recently developed specialization technique based on partial evaluation and regular approximation is refined and adapted for the specialization of the underlying logic program modeling actions and change. Furthermore, a regular approximation is proposed as a finite description for representing and collecting infinitely many combinations of resources. The usefulness of the developed specialization techniques are demonstrated on some prototypical examples. 1 Introduction Understanding and modeli...
Effective Metaprogramming in Declarative Languages
, 1998
"... Declarative metaprogramming is vital, since it is the most promising means by which programs can be made to reason about other programs. A metaprogram is a program that takes another program, called the object program, as data. A declarative programming language is a programming language based on a ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Declarative metaprogramming is vital, since it is the most promising means by which programs can be made to reason about other programs. A metaprogram is a program that takes another program, called the object program, as data. A declarative programming language is a programming language based on a logic that has a model theory. A metaprogram operates on a representation of an object...
Code Improvements for Model Elimination Based Reasoning Systems
, 2003
"... We have been investigating ways in which the performance of model elimination based systems can be improved and in this paper we present some of our results. Firstly, we have investigated code improvements based on local and global analysis of the internal knowledge base used by the theorem prover. ..."
Abstract
 Add to MetaCart
We have been investigating ways in which the performance of model elimination based systems can be improved and in this paper we present some of our results. Firstly, we have investigated code improvements based on local and global analysis of the internal knowledge base used by the theorem prover. Secondly, we have looked into the use of a n lists to represent ancestor goal information to see if this gives a performance boost over the traditional two list approach. This n list representation might be thought of as a simple hash table. Thirdly, we conducted initial investigations into the e#ect of rule body literal ordering on performance.
Łukasiewicz Problems: Experiments Using Program Analysis and Transformation
, 1995
"... In this report we describe experiments performed on the Łukasiewicz problems with the aim of reducing the explosion of the search space experienced with even the simplest of these problems. In the experiments we apply various logic program analysis and transformation techniques to selected problems. ..."
Abstract
 Add to MetaCart
In this report we describe experiments performed on the Łukasiewicz problems with the aim of reducing the explosion of the search space experienced with even the simplest of these problems. In the experiments we apply various logic program analysis and transformation techniques to selected problems. The results of the experiments are reported and preliminary conclusions drawn about the relevance of the tried approaches.