Results 1 -
5 of
5
Logical Loops
, 2002
"... We present a concrete proposal for enhancing Prolog and Prolog based Constraint Logic Programming languages with a new language construct, the logical loop. This is a shorthand notation for the most commonly used recursive control structure: the iteration or tail recursion. ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
We present a concrete proposal for enhancing Prolog and Prolog based Constraint Logic Programming languages with a new language construct, the logical loop. This is a shorthand notation for the most commonly used recursive control structure: the iteration or tail recursion.
Partial Deduction System
- In Proc. of the ILPS'97 Workshop on Tools and Environments for (Constraint) Logic Programming, U.P
, 1997
"... We present the fully automatic partial deduction system ecce, which can be used to specialise and optimise logic programs. We describe the underlying principles of ecce and illustrate some of the potential application areas. Interesting possibilites of crossfertilisation with other fields such as r ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
We present the fully automatic partial deduction system ecce, which can be used to specialise and optimise logic programs. We describe the underlying principles of ecce and illustrate some of the potential application areas. Interesting possibilites of crossfertilisation with other fields such as reachability analysis of concurrent systems and inductive theorem proving are highlighted and substantiated. 1 Introduction Program specialisation, also called partial evaluation or partial deduction, is an automatic technique for program optimisation. The central idea is to specialise a given source program for a particular application domain. Program specialisation encompasses traditional compiler optimisation techniques, such as constant folding and in-lining, but uses more aggressive transformations, yielding both the possibility of obtaining (much) greater speedups and more difficulty in controlling the transformation process. In addition to achieving important speedups, program special...
Equational Reasoning for Prolog
"... Abstract. Equational Reasoning is a feature of Functional Programming much envied by Logic Programmers. We argue that logic programmers should not shy away from adopting equational reasoning because of perceived pitfalls, but rather embrace it to indulge in its many benefits. We propose and illustra ..."
Abstract
- Add to MetaCart
Abstract. Equational Reasoning is a feature of Functional Programming much envied by Logic Programmers. We argue that logic programmers should not shy away from adopting equational reasoning because of perceived pitfalls, but rather embrace it to indulge in its many benefits. We propose and illustrate two approaches: a cumbersome indirection via Haskell and a more insightful approach directly in Prolog. 1
difficult problems. Root Isolation of Zero-dimensional Polynomial Systems with Linear Univariate Representation(Abstract) ∗
"... Methods for computing triangular decompositions of polynomial systems can be classified into two groups. First, those computing a series of regular chains C1...,Ce such that for each irreducible component V of the variety of the input system, one of the Ci’s encodes a generic zero of V. An example i ..."
Abstract
- Add to MetaCart
Methods for computing triangular decompositions of polynomial systems can be classified into two groups. First, those computing a series of regular chains C1...,Ce such that for each irreducible component V of the variety of the input system, one of the Ci’s encodes a generic zero of V. An example is the algorithm of Michael Kalkbrener in his PhD thesis. Secondly are those methods computing a series of characteristic sets C1...,Cf (in the sense of Wu Wen Tsün) such that the variety of the input system is the union of the quasi-components of the Ci’s. A large variety of methods fall in the second family, in particular the one proposed in 1987 by Wu Wen Tsün in the 1st volume of the MM Research Preprints. Some methods belong to both families, this is the case for those proceeding in an incremental manner, that is, solving one equation after another. These latter methods rely on an operation for computing the intersection of an hypersurface and the quasi-component of a regular chain. This is an attractive operation since its input can be regarded as well-behaved geometrical objects. However, known algorithms (the one of Daniel Lazard in 1991 and the one of the second author in 2000) are quite involved and difficult to analyze. We revisit this intersection operation. We show that under “genericity assumptions” a simple algorithm can be stated and analyzed. In this context, it follows a classical projection-extension scheme. However, we shall see that the cost of the extension step can be neglected in comparison to that of the projection, which itself “essentially” reduces to a cost that all such intersection algorithms have to pay. In our experimental results, realized with the RegularChains library in Maple, our new intersection outperforms the one of the second author by several orders of magnitude on sufficiently

