Rewriting and narrowing for constructor systems with call-time choice semantics
dc.contributor.author | López Fraguas, Francisco Javier | |
dc.contributor.author | Martín Martín, Enrique | |
dc.contributor.author | Rodríguez Hortalá, Juan | |
dc.contributor.author | Sánchez Hernández, Jaime | |
dc.date.accessioned | 2023-06-19T14:59:58Z | |
dc.date.available | 2023-06-19T14:59:58Z | |
dc.date.issued | 2014-03 | |
dc.description.abstract | Non-confluent and non-terminating constructor-based term rewrite systems are useful for the purpose of specification and programming. In particular, existing functional logic languages use such kind of rewrite systems to define possibly non-strict non-deterministic functions. The semantics adopted for non-determinism is call-time choice, whose combination with non-strictness is a non trivial issue, addressed years ago from a semantic point of view with the Constructor-based Rewriting Logic (CRWL), a well-known semantic framework commonly accepted as suitable semantic basis of modern functional logic languages. A drawback of CRWL is that it does not come with a proper notion of one-step reduction, which would be very useful to understand and reason about how computations proceed. In this paper we develop thoroughly the theory for the first order version of letrewriting, a simple reduction notion close to that of classical term rewriting, but extended with a let-binding construction to adequately express the combination of call-time choice with non-strict semantics. Let-rewriting can be seen as a particular textual presentation of term graph rewriting. We investigate the properties of let-rewriting, most remarkably their equivalence with respect to a conservative extension of the CRWL-semantics coping with let-bindings, and we show by some case studies that having two interchangeable formal views (reduction/semantics) of the same language is a powerful reasoning tool. After that, we provide a notion of let-narrowing which is adequate for call-time choice as proved by soundness and completeness results of let-narrowing with respect to letre writing. Moreover, we relate those let-rewriting and let-narrowing relations (and hence CRWL) with ordinary term rewriting and narrowing, providing in particular soundness and completeness of let-rewriting with respect to term rewriting for a class of programs which are deterministic in a semantic sense. | |
dc.description.department | Depto. de Sistemas Informáticos y Computación | |
dc.description.faculty | Fac. de Informática | |
dc.description.refereed | TRUE | |
dc.description.sponsorship | Comunidad de Madrid | |
dc.description.sponsorship | Ministerio de Economía y Competitividad (MINECO) | |
dc.description.sponsorship | Universidad Complutense de Madrid | |
dc.description.status | pub | |
dc.eprint.id | https://eprints.ucm.es/id/eprint/36061 | |
dc.identifier.doi | 10.1017/S1471068412000373 | |
dc.identifier.issn | 1471-0684 | |
dc.identifier.officialurl | http://journals.cambridge.org/action/displayFulltext?type=1&fid=9188677&jid=TLP&volumeId=14&issueId=02&aid=9188675&bodyId=&membershipNumber=&societyETOCSession= | |
dc.identifier.uri | https://hdl.handle.net/20.500.14352/35084 | |
dc.issue.number | 14.2 | |
dc.journal.title | Theory and Practice of Logic Programming | |
dc.language.iso | eng | |
dc.page.final | 213 | |
dc.page.initial | 165 | |
dc.publisher | Cambridge University Press | |
dc.relation.projectID | PROMETIDOS-CM (S2009TIC-1465) | |
dc.relation.projectID | FAST-STAMP (TIN2008-06622-C03- 01/TIN) | |
dc.relation.projectID | GPD-UCM (UCM-BSCH-GR58/08-910502) | |
dc.rights.accessRights | open access | |
dc.subject.cdu | 004.415.2 | |
dc.subject.cdu | 519.768 | |
dc.subject.cdu | 004.432.4 | |
dc.subject.keyword | Term rewriting systems | |
dc.subject.keyword | constructor-based rewriting logic | |
dc.subject.keyword | narrowing | |
dc.subject.keyword | nondeterminism | |
dc.subject.keyword | call-time choice semantics | |
dc.subject.keyword | sharing | |
dc.subject.keyword | local bindings | |
dc.subject.ucm | Lenguajes de programación | |
dc.subject.ucm | Sistemas expertos | |
dc.subject.unesco | 1203.23 Lenguajes de Programación | |
dc.title | Rewriting and narrowing for constructor systems with call-time choice semantics | |
dc.type | journal article | |
dc.volume.number | March | |
dspace.entity.type | Publication | |
relation.isAuthorOfPublication | 9f1acb56-806e-4ab4-b939-8b692d5629bd | |
relation.isAuthorOfPublication | 8c7dbac8-1093-454e-a0cf-e7b2f316cf09 | |
relation.isAuthorOfPublication | 19b4fb29-4f3e-4062-a5bd-59e19e25c448 | |
relation.isAuthorOfPublication | f0eee9a9-5f99-4e32-8f7e-db6418a011bc | |
relation.isAuthorOfPublication.latestForDiscovery | 8c7dbac8-1093-454e-a0cf-e7b2f316cf09 |
Download
Original bundle
1 - 1 of 1
Loading...
- Name:
- TPLP-final version rewr.pdf
- Size:
- 734.63 KB
- Format:
- Adobe Portable Document Format