On the Completeness of Narrowing as the Operational Semantics of Functional Logic Programming

@inproceedings{Moreno1992OnTC,
  title={On the Completeness of Narrowing as the Operational Semantics of Functional Logic Programming},
  author={Juan Carlos Gonz{\'a}lez Moreno and Maria Teresa Hortal{\'a}-Gonz{\'a}lez and Mario Rodr{\'i}guez-Artalejo},
  booktitle={CSL},
  year={1992}
}
This paper is a continuation of [10]. It presents soundness and completeness results for a higher-order (HO) functional logic language which has a domain-based declarative semantics and uses conditional narrowing (for applicative, constructor based rewriting systems) as operational semantics. HO-unification is avoided by for bidding λ-abstractions in the language. However, narrowing must include a mechanism for binding HO logic variables to simple functional patterns built by partial… 
A Complete Narrowing Calculus for Higher-Order Functional Logic Programming
TLDR
It is argued that existing calculi for lazy narrowing either do not apply to applicative systems or handle applicative terms very inefficiently, and a new lazy narrowing calculus for applicative term rewriting systems is proposed and proved.
Combining Lazy Narrowing with Disequality Constraints
TLDR
This work investigates an extension of a lazy functional logic language, which uses term disequations both in programs and in computed answers, and presents an executable Prolog specification of the operational semantics, which has been implemented on top of a Prolog system.
Algebraic Semantics for Higher-order Functional-Logic Programming
TLDR
A semantics of higher-order functional-logic programming in the framework of typed universal algebra and the requirements of \minimal" for applicative Herbrand model, which means that any elements in the domain must have denotations of some terms, is discussed.
A Functional Logic Language Based on Higher Order Narrowing
  • H. Kuchen
  • Computer Science
    Functional Programming
  • 1995
TLDR
This work presents the functional logic language Higher Order Babel which provides higher order unification for parameter passing and solving equations and replaces the expensive β-reduction by the more efficient combinator reduction.
A Rewriting Logic for Declarative Programming
TLDR
An approach to declarative programming which integrates the functional and relational paradigms by taking possibly non-deterministic lazy functions as the fundamental notion is proposed and the existence of free term models which provide an adequate intended semantics for programs is proved.
A Rewriting LogicforDeclarative Programming
TLDR
An approach to declarative programming which integrates the functional and relational paradigms by taking possibly non-deterministic lazy functions as the fundamental notion is proposed and the existence of free term models which provide an adequate intended semantics for programs is proved.
Real Constraints within a Functional Logic Language
TLDR
This work proposes a translation of CFLP(R)-programs into a logic programming language supporting real arithmetic constraint solving, and shows the practicability of the proposal.
Real Constraints within a Functional Logic Language
TLDR
This work proposes a translation of CFLP(R)-programs into a logic programming language supporting real arithmetic constraint solving, and shows the practicability of the proposal.
A Higher Order Rewriting Logic for Functional Logic Programming
TLDR
It is argued that a specific rewriting logic can play this role, and the adequacy of the proposal is justified by means of proof-theoretical and model- theoretical results.
Higher-Order Narrowing with Definitional Trees
TLDR
This paper extends the needed narrowing strategy to higher-order functions and λ-terms as data structures and is the first calculus for higher- order functional logic programming which provides for such an optimality result.
...
...

References

SHOWING 1-10 OF 31 REFERENCES
BABEL: A Functional and Logic Programming Language based on Constructor Discipline and Narrowing
TLDR
The language BABEL is designed to achieve integration of functional and logic programming in a simple, flexible, and mathematically well founded way and has a lazy operational semantics which supports infinite data structures and is sound w.r.t. a declarative semantics based on Scott domains.
Higher-Order Logic Programming
TLDR
This paper uses a higher-order logic to describe a generalization to first-order Horn clauses, and shows that the familiar operational and least fixpoint semantics can be given to these clauses.
Integrating logic and functional programming
TLDR
This work proposes a computation delaying mechanism called residuation built into the unification operation which may then account forβ-reduction, and describes an operational semantics and an implementation of a prototype language called LeFun—Logic, equations, and Functions.
Counterexamples to Completeness Results for Basic Narrowing (Extended Abstract)
TLDR
It is shown that basic narrowing is not complete with respect to normalizable solutions for equational theories defined by confluent term rewriting systems, contrary to what has been conjectured.
Denotational Versus Declarative Semantics for Functional Programming
TLDR
This paper takes a restricted kind of H.O. denotational semantics and presents a natural restriction of rewriting that avoids unsoundness and proves soundness and completeness of rewriting, as well as an initiality result.
An Overview of Lambda-PROLOG
TLDR
The correspondence between each extension to Prolog and the new features in the stronger logical theory is discussed and various aspects of an experimental implementation of $\lambda$Prolog are discussed.
...
...