The Full Abstraction Problem for Higher Order Functional-Logic Programs
F.J. L\'opez-Fraguas, J. Rodr\'iguez-Hortal\'a

TL;DR
This paper investigates the full abstraction problem in higher order functional-logic programming languages, demonstrating that extensional semantics are unsound while an intensional approach via CRWL achieves full abstraction.
Contribution
It proves that extensional semantics are unsound for these languages and shows that the higher order CRWL semantics is fully abstract and compositional.
Findings
Extensional semantics are necessarily unsound for higher order functional-logic languages.
The higher order CRWL semantics is fully abstract and compositional.
An intensional view of functions is essential for full abstraction in this context.
Abstract
Developing suitable formal semantics can be of great help in the understanding, design and implementation of a programming language, and act as a guide for software development tools like analyzers or partial evaluators. In this sense, full abstraction is a highly desirable property, indicating a perfect correspondence between the semantics and the observable behavior of program pieces. In this work we address the question of full abstraction for the family of modern functional logic languages, in which functions can be higher order and non-deterministic, and where the semantics adopted for non-determinism is \emph{call-time choice}. We show that, with respect to natural notions of \emph{observation}, any semantics based on \emph{extensional} functions is necessarily unsound; in contrast, we show that the higher order version of \emph{CRWL}, a well-known existing semantic framework for…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Logic, Reasoning, and Knowledge · Formal Methods in Verification
