A Formalization of the Semantics of Functional-Logic Programming in Isabelle

Francisco J. López-Fraguas, Stephan Merz, and Juan Rodríguez-Hortalá
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.
TPHOLs 2009 (emerging trends session)
Available as: PDF
Reference
@InProceedings{fraguas:formalization,
  author = 	 {Francisco J. {L\'opez Fraguas} and Stephan Merz and Juan {Rodr\'{\i}guez Hortal\'a}},
  title = 	 {A Formalization of the Semantics of Functional-Logic Programming in Isabelle},
  booktitle = {22nd Intl. Conf. Theorem Proving in Higher-Order Logics (TPHOLs 2009, Emerging Trends Session)},
  pages = 	 {???},
  year = 	 2009,
  editor = 	 {???},
  series = 	 {Technical Report},
  address = 	 {Munich, Germany},
  publisher = {TU Munich},
}

Stephan Merz