22 citations found. Retrieving documents...
Christian Prehofer. Higher-order narrowing. In Proceedings of the Ninth Annual IEEE Symposium on Logic in Computer Science, pages 507--516, Paris, France, July 1994. IEEE Computer Society Press.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Curry: A Truly Functional Logic Language - Hanus, Kuchen, Moreno-Navarro (1995)   (41 citations)  (Correct)

....the goal equation map F [1 2] 2 3] which has, for instance, a solution F=inc if inc is the increment function on natural numbers. There are different proposals to deal with higher order logical variables. In general, higher order unification is necessary to compute all solutions to such goals [25, 30]. If logical variables at function positions are quantified over all (partial applications of) defined functions instead of all lambda expressions, higher order unification can be avoided and replaced by an enumeration of all (type conform) function symbols [9, 34] A third alternative is to delay ....

.... in arguments of left hand sides of function definitions provide for efficient evaluation strategies (see [13] for a survey of different strategies and the importance of constructor based rules) The restriction to patterns in left hand sides ensure that full higher order unification is rarely used [30]. Moreover, the evaluation restrictions permit the definition of application specific evaluation strategies. However, in this case the programmer is responsible to ensure the completeness of his strategy. 6 Conclusions From the (informal) description of Curry in the previous sections it should ....

C. Prehofer. Higher-order narrowing. In Proc. Ninth Annual IEEE Symposium on Logic in Computer Science, pages 507--516, 1994.


Higher-Order Narrowing with Definitional Trees - Hanus (1999)   (25 citations)  (Correct)

....with Case Expressions In order to extend this strategy to higher order functions, another representation is useful since an explicit representation of the structure of de nitional trees in the rewrite rules provides more explicit control which leads to a simpler calculus. Also, it is shown in (Prehofer, 1994) that the direct application of narrowing steps to inner subterms should be avoided in the presence of bound variables. This new representation will lead to an interesting comparison of needed rewrite sequences and leftmost outermost rewriting with case expressions. 14 M. Hanus and C. Prehofer ....

....rst order case, locally bound variables may occur and must be correctly handled during uni cation. Therefore, all rewrite rules applied by Case Eval must be lifted into its correct binding context which is necessary to compute solutions for function variables with locally bound variables (see also (Prehofer, 1994)) Since free variables cannot be instantiated to bound variables, it is necessary to add the variables bound in the current context to all free variables of a rewrite rule so that they can be later instantiated by projection functions to identify them with the appropriate bound variables. A more ....

Prehofer, C. (1994). Higher-order narrowing. Pages 507-516 of: Proc. Ninth Annual IEEE Symposium on Logic in Computer Science. IEEE Computer Society Press.


Final CCL report - Jouannaud   (Correct)

.... and partially defined values [43] TUM made important progress in the theory of higher order rewriting, in which higher order rules are fired via higher order pattern matching [73] This resulted in the design of a framework integrating functional and logic programming in a simple core calculus [83, 84, 86]. UPS and UCB completed this proposal by designing a recursive path ordering for proving termination of this kind of higher order rewriting [51] A third framework is investigated at UPS, in which higher order rewriting is integrated into typed lambda calculi by means of first order pattern ....

....first order case. Furthermore, functional evaluation via normalization is shown to be complete and a partial answer to the eager variable elimination problem is presented. Frameworks for combining logics and constraints The work in [87] of which several parts have been published separately in [84, 86], presents methods for higher order equational reasoning which aim for the integration of higherorder 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 ....

Christian Prehofer. Higher-order narrowing. In Proc. 9th IEEE Symposium on Logic in Computer Science, pages 507--516. IEEE Computer Society Press, 1994.


Curry: A Truly Functional Logic Language - Hanus, Kuchen, Moreno-Navarro (1995)   (41 citations)  (Correct)

....the goal equation map F [1 2] 2 3] which has, for instance, a solution F=inc if inc is the increment function on natural numbers. There are different proposals to deal with higher order logical variables. In general, higher order unification is necessary to compute all solutions to such goals [30, 35]. If logical variables at function positions are quantified over all (partial applications of) defined functions instead of all lambda expressions, higher order unification can be avoided and replaced by an enumeration of all (type conform) function symbols [10, 40] A third alternative is to ....

.... in arguments of left hand sides of function definitions provide for efficient evaluation strategies (see [15] for a survey of different strategies and the importance of constructor based rules) The restriction to patterns in left hand sides ensure that full higher order unification is rarely used [35]. Moreover, the evaluation restrictions permit the definition of application specific evaluation strategies. However, in this case the programmer is responsible to ensure the completeness of his strategy. 6 Conclusions From the (informal) description of Curry in the previous sections it should ....

C. Prehofer. Higher-order narrowing. In Proc. Ninth Annual IEEE Symposium on Logic in Computer Science, pages 507--516, 1994.


Lazy Type Checking in Functional Logic Programming - Almendros-Jiménez   (Correct)

.... I O rather than built ins with side e ects) The basic ideas in functional logic programming consist in lazy narrowing [49] as operational mechanism, following some class of narrowing strategy [7, 39, 42, 24] combined with some kind of constraints solving [40, 52] and higher order features [48, 33, 6, 22, 23, 36]. On the other hand, it is common knowledge the usefulness of type systems in a wide range of areas in computer science in order to increase the reliability of software systems: detecting programming errors, getting more readable and structured programs, optimizing run times, among many others. ....

Ch. Prehofer. Higher-order narrowing. In LICS'94, pages 507-516. IEEE Press, 1994. 66


Towards the Uniform Implementation of Declarative Languages - Chakravarty, Lock (1997)   (4 citations)  (Correct)

....domain. Terms and unification are a simple instance of this general notion. It is currently open whether a smooth integration of the other five concepts presented here with this general notion of partial data exists. Regarding the semantic level, solutions have been proposed [JL87,Guo94a,LMS94,Pre94] Furthermore, we restrict the arguments of unification instructions to firstorder terms and guarantee this by means of the equality types. Thus we avoid entering the realm of higher order unification which is known to be undecidable [Hue73] although interesting special cases exist ....

Christian Prehofer. Higher-order narrowing. In Proceedings of the Ninth Annual IEEE Symposium on Logic in Computer Science, pages 507--516. IEEE Computer Society Press, July 1994.


Towards a Relational Programming Language - McPhee (1995)   (Correct)

....unification which is computationally expensive. ALF was developed as a first order language since such elaborate semantics were deemed unnecessary for application programming. However, the inclusion of higher order unification into functional logic languages is an active area of research [Pre94, Qia94] Of course, ALF could have adopted the same syntactic notion of higher order variables found in some functional languages whereby such a variable may only be a formal parameter to a function and during a call to this function it is necessarily instantiated. This clearly avoids the ....

C. Prehofer. Higher-order narrowing. In Proceedings of the Ninth Annual IEEE Symposium on Logic in Computer Science, pages 507--516. IEEE Computer Society Press, 1994.


A Complete Narrowing Calculus for Higher-Order.. - Nakahara, Middeldorp.. (1995)   (14 citations)  (Correct)

....Applicative term rewriting is a natural first order framework for dealing with higher order functions in the setting of functional (logic) programming with lazy semantics. Because of the absence of ( abstraction, applicative term rewriting cannot express all higher order features. Prehofer [13] describes a full higherorder lazy narrowing calculus. Although nca and nca s have been designed to deal efficiently with applicative terms, there remains some room for improvement. In order to ensure completeness of the calculi, the various inference rules have to be applied don t know ....

C. Prehofer, Higher-Order Narrowing, Proceedings of the 9th IEEE Symposium on Logic in Computer Science, Paris, pp. 507--516, 1994.


Higher-Order Functional-Logic Programming: A Systematic Development - Prehofer (1997)   Self-citation (Prehofer)   (Correct)

No context found.

Christian Prehofer. Higher-order narrowing. In Proc. Ninth Annual IEEE Symposium on Logic in Computer Science. IEEE Computer Society Press, July 1994.


Higher-Order Narrowing with Convergent - Systems Christian Prehofer (1995)   Self-citation (Prehofer)   (Correct)

No context found.

Christian Prehofer. Higher-order narrowing. In Proceedings, Ninth Annual IEEE Symposium on Logic in Computer Science, pages 507--516. IEEE Computer Society Press, 1994.


Higher-Order Narrowing with Definitional Trees - Michael Hanus And (1996)   (25 citations)  Self-citation (Prehofer)   (Correct)

No context found.

Christian Prehofer. Higher-order narrowing. In Proc. Ninth Annual IEEE Symposium on Logic in Computer Science, pages 507--516. IEEE Computer Society Press, 1994.


Higher-Order Equational Logic - Prehofer (1997)   Self-citation (Prehofer)   (Correct)

No context found.

C. Prehofer. Higher-order narrowing. In Proc. Ninth Annual IEEE Symposium on Logic in Computer Science. IEEE Computer Society Press, July 1994.


Higher-Order Narrowing with Definitional Trees - Hanus, Prehofer (1996)   (25 citations)  Self-citation (Prehofer)   (Correct)

....with Case Expressions In order to extend this strategy to higher order functions, another representation is useful since an explicit representation of the structure of definitional trees in the rewrite rules provides more explicit control which leads to a simpler calculus. Also, it is shown in [30] that the direct application of narrowing steps to inner subterms should be avoided in the presence of bound variables. This new representation will lead to an interesting comparison of needed rewrite sequences and leftmost outermost rewriting with case expressions. For this purpose we transform ....

Christian Prehofer. Higher-order narrowing. In Proc. Ninth Annual IEEE Symposium on Logic in Computer Science, pages 507--516. IEEE Computer Society Press, 1994.


Higher-Order Narrowing with Definitional Trees - Hanus, Prehofer (1996)   (25 citations)  Self-citation (Prehofer)   (Correct)

....needed narrowing [2] and is the currently best narrowing strategy due to its optimality w.r.t. the length of derivations (if terms are shared) and the number of computed solutions. In order to extend this strategy to higher order functions, another representation is required since it is shown in [17] that the direct application of narrowing steps to inner subterms should be avoided in the presence of bound variables. For this purpose we transform the needed narrowing calculus into a lazy narrowing calculus in the spirit of Martelli Montanari s inference rules. In a first step, we integrate ....

Christian Prehofer. Higher-order narrowing. In Proc. Ninth Annual IEEE Symposium on Logic in Computer Science, pages 507--516. IEEE Computer Society Press, 1994.


Higher-Order Narrowing with Convergent Systems - Prehofer (1995)   (2 citations)  Self-citation (Prehofer)   (Correct)

.... and has been extensively studied in the first order case, for a survey see [10] Motivated by functional programming, there exist several higher order extensions for such languages [7, 18, 32] Even more expressive than the latter is the language Escher, proposed in [17] Higher order narrowing [29] can be used as an operational semantics for such languages. The basis for narrowing are higher order rewrite rules. Examples are the function map with map(F; XjR] F (X)jmap(F; R) or a rule for pushing quantifiers inside: 8x:P Q(x) P 8x:Q(x) In the latter example the quantifier 8 is ....

....Technische Universitat Munchen, 80290 Munchen, Germany. E mail: prehofer informatik.tu muenchen.de variables have to be computed via higher order unification. To show the expressiveness of this method, we give an example for program transformation. The framework for higher order narrowing in [29] serves as a basis for the refinements of lazy narrowing we present here. For convergent higher order rewrite systems, we show several techniques that use the determinism of convergent systems. The main contributions are as follows: We disallow narrowing at variable positions, generalizing the ....

[Article contains additional citation context not shown here]

Christian Prehofer. Higher-order narrowing. In Proceedings, Ninth Annual IEEE Symposium on Logic in Computer Science, pages 507--516. IEEE Computer Society Press, 1994.


Decidable Higher-Order Unification Problems - Prehofer (1994)   (9 citations)  Self-citation (Prehofer)   (Correct)

....unification as long as the left hand sides of the used rules are linear patterns. This is in fact a common restriction for constructor based narrowing [ 32 ] and for functional logic languages [ 19 ] Using the results of this work, different versions of higher order narrowing are developed in [ 28 ] . Usually, the lhs s of the rewrite rules in these applications are restricted and fulfill the requirement for linear patterns. For instance, we could use rules such as map(F; cons(X; Y ) Gamma cons(F (X) map(F; Y ) Notice that systems which work only with higher order patterns cannot ....

Christian Prehofer. Higher-order narrowing. In Proceedings, Ninth Annual IEEE Symposium on Logic in Computer Science. IEEE Computer Society Press, 1994. To appear.


A Call-by-Need Strategy for Higher-Order Functional-Logic.. - Prehofer (1995)   (7 citations)  Self-citation (Prehofer)   (Correct)

....is deterministic. Correspondingly, goals of the form c( v( where v is not a variable and v 6= c are unsolvable, since evaluation proceeds from left to right. 4 Left Linear Programs and Simple Systems In this section we examine a particular class of goal systems, Simple Systems [17], which suffice for programming and have several interesting properties. We assume in the following NCHRS with left linear rules. A rule l r ( l n r n is left linear, if no free variable occurs repeatedly in l. Definition 4.1 We write s s 0 t t 0 , if FV(s 0 ) FV(t) 6= ....

....ffl every variable occurs at most once in the right hand sides t n . We show next that this class is closed under the rules of CLN. Theorem 4.3 Assume a left linear NCHRS R. If G n is a Simple System, then applying CLN with R preserves this property. The following results on solved forms from [17] will be crucial later. 1 Detailed proofs can be found in [19] Theorem 4.4 A Simple System S = fX 1 t 1 ; X n t n g has a solution if all X n are distinct. The following corollary is needed for the new narrowing strategy developed later. Corollary 4.5 A Simple System of ....

[Article contains additional citation context not shown here]

Christian Prehofer. Higher-order narrowing. In Proc. Ninth Annual IEEE Symposium on Logic in Computer Science. IEEE Computer Society Press, July 1994.


Some Applications of Functional-Logic Programming - Prehofer (1996)   (1 citation)  Self-citation (Prehofer)   (Correct)

....We show in several examples that the advanced concepts of functional and (higher order) logic programming can nicely complement each other, leading to new applications. In particular, we focus on the newly developed concepts for a truly higher order integration of functional and logic programming [14, 16, 17, 15]. Roughly speaking, we extend a higher order functional core language by logic variables as in Prolog. These logic variables may be higher order. Thus we need in general higher order uni cation, as e.g. in Prolog [10] The language is based on higher order rewrite rules, which model functional ....

....conversions of calculus. Particularly, bound variables must be treated correctly: the uni cation problem x:sin(F (x) x:sin(cos(x) has solution fF 7 y:cos(y)g, whereas x:F = x:sin(cos(x) is unsolvable. 3 Lazy Narrowing In this section, we introduce the central narrowing calculus [14] which is used for functional logic programming. Our setting for goal directed lazy narrowing is as follows. We start with a goal s t, where a substitution is a solution if s Gamma R t. This goal may be simpli ed to smaller goals by the narrowing rules. Let s t stand for one ....

Christian Prehofer. Higher-order narrowing. In Proc. Ninth Annual IEEE Symposium on Logic in Computer Science. IEEE Computer Society Press, July 1994.


Higher-Order Functional-Logic Programming: A Systematic Development - Prehofer (1997)   Self-citation (Prehofer)   (Correct)

....rules, called normal conditional rules. In a higher order setting this class is sufficiently expressive for programming, although we do not permit extra variables on the right hand sides of conditions, as discussed in Section 7.1. This paper combines and summarizes several earlier papers [27, 29, 28]; more details and proofs can be found in [30] 2. Preliminaries We briefly introduce simply typed calculus (see e.g. 12] We assume the following variable conventions: ffl F; G; H; X; Y denote free variables, ffl a; b; c; f; g (function) constants, and ffl x; y; z bound variables. Type ....

....deterministic. Correspondingly, goals of the form c( v( where v is not a variable and v 6= c are unsolvable, since evaluation proceeds from left to right. 5. Left Linear Programs and Simple Systems In this section we examine a particular class of goal systems, Simple Systems [27], which suffice for programming and have several interesting properties. We assume in the following an HRS with left linear rules. A rule l r ( l n r n is left linear, if no free variable occurs repeatedly in l. Definition 5.1 We write s s 0 t t 0 , if FV(s 0 ) FV(t) 6= ....

[Article contains additional citation context not shown here]

Christian Prehofer. Higher-order narrowing. In Proc. Ninth Annual IEEE Symposium on Logic in Computer Science. IEEE Computer Society Press, July 1994.


Higher-Order Rewriting with Dependent Types - Virga (1999)   (24 citations)  (Correct)

No context found.

Christian Prehofer. Higher-order narrowing. In Proceedings of the Ninth Annual IEEE Symposium on Logic in Computer Science, pages 507--516, Paris, France, July 1994. IEEE Computer Society Press.


Hierarchical Contextual Reasoning - Autexier (2003)   (Correct)

No context found.

Prehofer, Christian. (1994). Higher-order narrowing. In Proceedings of the 9th Annual IEEE Symposium on Logic in Computer Science, pages 507--516, Paris, France. IEEE Computer Society Press.


Implementation Issues for Functional Logic Programming - Kuchen   (Correct)

No context found.

C. Prehofer. Higher Order Narrowing, Proc. LICS'94, IEEE, 507-- 516, 1994.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC