A Formalization of the Semantics of Functional-Logic Programming in Isabelle
Francisco L\'opez Fraguas, Stephan Merz (INRIA Lorraine - LORIA), Juan, Rodr\'iguez Hortal\'a

TL;DR
This paper formalizes the CRWL semantics of non-strict non-deterministic functional-logic programming within Isabelle/HOL, proving key properties and offering new insights into rule linearity requirements.
Contribution
It provides a formal Isabelle/HOL proof of CRWL semantics, demonstrating properties like closedness, polarity, and compositionality, and reveals that left linearity of rules is unnecessary.
Findings
Proved CRWL properties in Isabelle/HOL
Showed left linearity is not required for key properties
Enhanced understanding of semantics in functional-logic programming
Abstract
Modern functional-logic programming languages like Toy or Curry feature non-strict non-deterministic functions that behave under call-time choice semantics. A standard formulation for this semantics is the CRWL logic, that specifies a proof calculus for computing the set of possible results for each expression. In this paper we present a formalization of that calculus in the Isabelle/HOL proof assistant. We have proved some basic properties of CRWL: closedness under c-substitutions, polarity and compositionality. We also discuss some insights that have been gained, such as the fact that left linearity of program rules is not needed for any of these results to hold.
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
