Ph.D.


Solving Higher-Order Equations\: From Logic to Programming


Author(s): Christian Prehofer
Year: 1995
Publisher: Technical Report TUM-I9508
Editor:
CR Classification:
CR General Terms:
Keywords:
Abstract:We present methods for higher-order equational reasoning which aim for the integration of higher-order functional and logic programming. The underlying computation rule for this integration, called narrowing, is lifted to the higher-order case. We develop several notions of higher-order narrowing and give first completeness results. Higher-order narrowing employs higher-order unification instead of first-order unification as in logic programming. Although undecidable in general, we show that second-order unification as required for functional-logic programming is decidable. We further introduce several refinements for narrowing which utilize properties of functional programs\: left-linearity and convergence, which entails uniqueness of normal forms. These refinements can be combined to a narrowing strategy which generalizes call-by-need as in functional programming. This forms a new basis for higher-order functional-logic programming with functional programs, possibly with conditions.


Available as compressed Postscript

BibTeX-Entry:

@phdthesis{ TUM-I9508, author = {Christian Prehofer}, title = {Solving Higher-Order Equations\: From Logic to Programming}, type = {PHDrep}, school = {Technische Univerit\"at M\"unchen}, year = {1995}, url = {http://www4.informatik.tu-muenchen.de/reports/TUM-I9508.html}, abstract = {We present methods for higher-order equational reasoning which aim for the integration of higher-order functional and logic programming. The underlying computation rule for this integration, called narrowing, is lifted to the higher-order case. We develop several notions of higher-order narrowing and give first completeness results. Higher-order narrowing employs higher-order unification instead of first-order unification as in logic programming. Although undecidable in general, we show that second-order unification as required for functional-logic programming is decidable. We further introduce several refinements for narrowing which utilize properties of functional programs\: left-linearity and convergence, which entails uniqueness of normal forms. These refinements can be combined to a narrowing strategy which generalizes call-by-need as in functional programming. This forms a new basis for higher-order functional-logic programming with functional programs, possibly with conditions. }, CRClassification = {}, CRGenTerms = {} }