eprintid: 1371 rev_number: 10 eprint_status: archive userid: 40 dir: disk0/00/00/13/71 datestamp: 2012-09-24 12:48:57 lastmod: 2013-03-07 12:56:25 status_changed: 2012-09-24 12:48:57 type: article metadata_visibility: show creators_name: Senni, Valerio creators_name: Pettorossi, Alberto creators_name: Proietti, Maurizio creators_id: valerio.senni@imtlucca.it creators_id: creators_id: title: A Folding Rule for Eliminating Existential Variables from Constraint Logic Programs ispublished: pub subjects: QA75 divisions: CSA full_text_status: none keywords: Program transformation; folding rule; variable elimination; constraint logic programming abstract: The existential variables of a clause in a constraint logic program are the variables which occur in the body of the clause and not in its head. The elimination of these variables is a transformation technique which is often used for improving program efficiency and verifying program properties. We consider a folding transformation rule which ensures the elimination of existential variables and we propose an algorithm for applying this rule in the case where the constraints are linear inequations over rational or real numbers. The algorithm combines techniques for matching terms modulo equational theories and techniques for solving systems of linear inequations. Through some examples we show that an implementation of our folding algorithm has a good performance in practice. date: 2009 date_type: published publication: Fundamenta Informaticae volume: 96 number: 3 pagerange: 373-393 id_number: 10.3233/FI-2009-183 refereed: TRUE issn: 1875-8681 official_url: http://iospress.metapress.com/content/W8321H1111314738 related_url_url: http://map.uniroma2.it/papers/IASI_08-03_revised.pdf related_url_type: author citation: Senni, Valerio and Pettorossi, Alberto and Proietti, Maurizio A Folding Rule for Eliminating Existential Variables from Constraint Logic Programs. Fundamenta Informaticae, 96 (3). pp. 373-393. ISSN 1875-8681 (2009)