Adding partial functions to constraint logic programming with sets

From MaRDI portal
Publication:4593005

DOI10.1017/S1471068415000290zbMATH Open1379.68053arXiv1507.06852OpenAlexW3103318063WikidataQ57840329 ScholiaQ57840329MaRDI QIDQ4593005FDOQ4593005


Authors: Maximiliano Cristiá, Gianfranco Rossi, Claudia Frydman Edit this on Wikidata


Publication date: 9 November 2017

Published in: Theory and Practice of Logic Programming (Search for Journal in Brave)

Abstract: Partial functions are common abstractions in formal specification notations such as Z, B and Alloy. Conversely, executable programming languages usually provide little or no support for them. In this paper we propose to add partial functions as a primitive feature to a Constraint Logic Programming (CLP) language, namely {log}. Although partial functions could be programmed on top of {log}, providing them as first-class citizens adds valuable flexibility and generality to the form of set-theoretic formulas that the language can safely deal with. In particular, the paper shows how the {log} constraint solver is naturally extended in order to accommodate for the new primitive constraints dealing with partial functions. Efficiency of the new version is empirically assessed by running a number of non-trivial set-theoretical goals involving partial functions, obtained from specifications written in Z.


Full work available at URL: https://arxiv.org/abs/1507.06852




Recommendations




Cites Work


Cited In (5)

Uses Software





This page was built for publication: Adding partial functions to constraint logic programming with sets

Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q4593005)