## Specialization with Clause Splitting for Deriving Deterministic Constraint Logic Programs (2002)

Venue: | In Proc. IEEE Conference on Systems, Man and Cybernetics, Hammamet |

Citations: | 5 - 5 self |

### BibTeX

@INPROCEEDINGS{Fioravanti02specializationwith,

author = {Fabio Fioravanti and Alberto Pettorossi and Maurizio Proietti},

title = {Specialization with Clause Splitting for Deriving Deterministic Constraint Logic Programs},

booktitle = {In Proc. IEEE Conference on Systems, Man and Cybernetics, Hammamet},

year = {2002},

publisher = {IEEE Press}

}

### OpenURL

### Abstract

The reduction of nondeterminism can increase efficiency when specializing programs. We consider constraint logic programs and we propose a technique which by making use of a new transformation rule, called clause splitting, allows us to generate efficient, specialized programs which are deterministic. We have applied our technique to the specialization of pattern matching programs.

### Citations

1855 |
Foundations of Logic Programming
- Lloyd
- 1987
(Show Context)
Citation Context ...ng the evaluation of every ground goal. III. Preliminaries In this section we recall some basic notions of constraint logic programming. For notions not dened here the reader may refer to [1], [14], [=-=17-=-]. A. Syntax of Constraint Logic Programs We consider asrst order language L generated by an innite set Vars of variables, a set Funct of function symbols with arity, and a set Pred of predicate symbo... |

768 | Constraint Logic Programming: A Survey
- Jaffar, Maher
- 1994
(Show Context)
Citation Context ...dies, we are able to derive ecient programs with reduced nondeterminism. The correctness of the derived programs follows from the fact that the transformation rules preserve the least model semantics =-=[14-=-]. We also present an automatic specialization strategy for guiding the application of the transformation rules. This strategy is an enhancement of the strategy presented in [19] and includes a specic... |

639 |
Partial Evaluation and Automatic Program Generation. Available online: http://www.itu.dk/people/sestoft/pebook
- Jones, Gomard, et al.
- 1993
(Show Context)
Citation Context ... transform those programs for taking advantage of the contexts of use and, indeed, by doing so, often program eciency is improved. This program transformation is usually called program specialization =-=[15]-=- and it can be performed by using well established techniques such as partial evaluation [4], [10], [15], [16], [18]. Various program specialization methods have been proposed in the literature for di... |

570 | A Transformation System for Developing Recursive Programs
- Burstall, Darlington
- 1976
(Show Context)
Citation Context ... specialization method for constraint logic programming (CLP) and we use the rules + strategies transformation approach. This approach wassrst suggested by BurstallDarlington for functional languages =-=[3]-=- and later applied to logic languages by Tamaki-Sato [21]. We will present a program transformation technique which allows us to increase program eciency by deriving deterministic, specialized program... |

416 |
Introduction to Logic Programming
- Apt
- 1990
(Show Context)
Citation Context ...s; Ys ; Zs) 4. le([ ]; [ ])s5. le([X jXs]; [Y jYs])sX Y ^ le(Xs; Ys) where a denotes the list concatenation. Now let us suppose that we want to specialize this general program w.r.t. the pattern P = [=-=1; 0; -=-2]. We start o by introducing the following denition: 6. msp (S)sm([1; 0; 2]; S) Clauses 1-6 constitute the initial program P0 from which we begin our program specialization process. We generate a seq... |

239 |
Partial evaluation in logic programming
- Lloyd, Shepherdson
- 1991
(Show Context)
Citation Context ...y is improved. This program transformation is usually called program specialization [15] and it can be performed by using well established techniques such as partial evaluation [4], [10], [15], [16], =-=[18-=-]. Various program specialization methods have been proposed in the literature for dierent programming languages. In this paper we consider a program specialization method for constraint logic program... |

213 |
Unfold/fold transformations of logic programs
- Tamaki, Sato
- 1984
(Show Context)
Citation Context ...(CLP) and we use the rules + strategies transformation approach. This approach wassrst suggested by BurstallDarlington for functional languages [3] and later applied to logic languages by Tamaki-Sato =-=[21]-=-. We will present a program transformation technique which allows us to increase program eciency by deriving deterministic, specialized programs starting from nondeterministic, general programs. The p... |

168 | The concept of a supercompiler
- Turchin
- 1986
(Show Context)
Citation Context ...lding steps. In particular, for ensuring termination it may be necessary to consider suitable generalizations of the bodies of the clauses to be folded (see, for instance, [5], [7], [10], [15], [16], =-=[22]-=-). As a consequence of Theorem 1, if the Determinization Strategy terminates, then the specialized program Psp is equivalent to the initial program P in the following sense: for every constraint d, lm... |

145 | Tutorial on specialisation of logic programs
- Gallagher
- 1993
(Show Context)
Citation Context ...ten program eciency is improved. This program transformation is usually called program specialization [15] and it can be performed by using well established techniques such as partial evaluation [4], =-=[10-=-], [15], [16], [18]. Various program specialization methods have been proposed in the literature for dierent programming languages. In this paper we consider a program specialization method for constr... |

81 | Global Analysis of Constraint Logic Programs
- Banda, Hermenegildo, et al.
- 1994
(Show Context)
Citation Context ...onstrained goal c ^A^G such that c0 ^A0 7! P c ^A^G, we have that c ^A satises M . Often the property that a program satises a mode can be automatically veried by abstract interpretation methods [11]. We say that a program P is deterministic w.r.t. a mode M i P is deterministic w.r.t. every constrained atom c0 ^A0 which satises M . Now we give a sucient condition which ensures that a program is... |

63 | Occam’s Razor in Metacomputation: the Notion of a Perfect Process Tree
- Glück, Klimov
- 1993
(Show Context)
Citation Context ...n between strings which is expressed as a constraint logic program. Our derivation generalizes the derivations of the Knuth-Morris-Pratt matcher which were presented, among others, in [8], [9], [10], =-=[13]-=-, [19], [20]. As in the case of that matcher, we derive a program which is a deterministic nite automaton with transitions labelled by constraints, rather than symbols of the strings. We improve over ... |

50 |
Generalized partial computation
- Futamura, Nogi
- 1987
(Show Context)
Citation Context ...ing relation between strings which is expressed as a constraint logic program. Our derivation generalizes the derivations of the Knuth-Morris-Pratt matcher which were presented, among others, in [8], =-=[9]-=-, [10], [13], [19], [20]. As in the case of that matcher, we derive a program which is a deterministic nite automaton with transitions labelled by constraints, rather than symbols of the strings. We i... |

41 | Conjunctive Partial Deduction: Foundations, Control, Algorihtms, and Experiments
- Schreye, Glück, et al.
- 1999
(Show Context)
Citation Context ...introduced for performing folding steps. In particular, for ensuring termination it may be necessary to consider suitable generalizations of the bodies of the clauses to be folded (see, for instance, =-=[5]-=-, [7], [10], [15], [16], [22]). As a consequence of Theorem 1, if the Determinization Strategy terminates, then the specialized program Psp is equivalent to the initial program P in the following sens... |

37 | Transformations of CLP modules
- Etalle, Gabbrielli
- 1996
(Show Context)
Citation Context ...not depend on itself in Pn . Then lm(P0 [ Defsn ; D) = lm(Pn ; D). The rules listed above are an extension of the rules for transforming logic programs and constraint logic programs presented in [2], =-=[6-=-], [7], [12], [19], [21]. In particular, the folding rules considered in [2], [6], [7], [21] allow us to fold only one clause at a time, while by using our rule R3 we can fold m (1) clauses simultaneo... |

26 | Transforming constraint logic programs - Bensaou, Guessarian - 1998 |

25 | Reducing nondeterminism while specializing logic programs
- Pettorossi, Proietti, et al.
- 1997
(Show Context)
Citation Context ...nondeterministic, general programs. The paper is structured as follows. Wesrst present the rules for transforming constraint logic programs. These rules are an extension of the ones presented in [7], =-=[19]-=-. They include extensions of the familiar unfolding and folding rules, and an extra rule, called clause splitting, which generalizes the case splitting rule presented in [19]. Given a clause HsBody an... |

21 | Partial Evaluation of Pattern Matching in Constraint Logic Programming Languages - Smith - 1991 |

12 |
An algorithm for partial evaluation with constraints
- Fujita
- 1987
(Show Context)
Citation Context ...matching relation between strings which is expressed as a constraint logic program. Our derivation generalizes the derivations of the Knuth-Morris-Pratt matcher which were presented, among others, in =-=[8]-=-, [9], [10], [13], [19], [20]. As in the case of that matcher, we derive a program which is a deterministic nite automaton with transitions labelled by constraints, rather than symbols of the strings.... |

12 | Controlling generalization and polyvariance in partial deduction of normal logic programs
- Leuschel, Martens, et al.
- 1998
(Show Context)
Citation Context ...eciency is improved. This program transformation is usually called program specialization [15] and it can be performed by using well established techniques such as partial evaluation [4], [10], [15], =-=[16-=-], [18]. Various program specialization methods have been proposed in the literature for dierent programming languages. In this paper we consider a program specialization method for constraint logic p... |

9 | Automated strategies for specializing constraint logic programs
- Fioravanti, Pettorossi, et al.
- 2000
(Show Context)
Citation Context ...from nondeterministic, general programs. The paper is structured as follows. Wesrst present the rules for transforming constraint logic programs. These rules are an extension of the ones presented in =-=[7]-=-, [19]. They include extensions of the familiar unfolding and folding rules, and an extra rule, called clause splitting, which generalizes the case splitting rule presented in [19]. Given a clause HsB... |

8 |
Unfold/fold transformations for de clause programs
- Gergatsoulis, Katzouraki
- 1994
(Show Context)
Citation Context ... on itself in Pn . Then lm(P0 [ Defsn ; D) = lm(Pn ; D). The rules listed above are an extension of the rules for transforming logic programs and constraint logic programs presented in [2], [6], [7], =-=[12-=-], [19], [21]. In particular, the folding rules considered in [2], [6], [7], [21] allow us to fold only one clause at a time, while by using our rule R3 we can fold m (1) clauses simultaneously. Our r... |