| J. Roger Hindley and Jonathan P. Seldin. Introduction to Combinatory Logic and Lambda Calculus. Cambridge University Press, 1986. |
....terms here: abstraction is represented by the binary function symbol abst, and application similarly by app. There is still a question of whether variables 3 We assume a familiarity in the rest of this section with basic notions in the lambda calculus. The reader unfamiliar with these may consult [7] or some similar source. 9 in lambda term are to be represented by Prolog variables or constants. A brief consideration of this question leads to the conclusion that Prolog variables are not the right choice: if this is the representation chosen, then a term such as xy( x; y) could, in ....
J. Roger Hindley and Jonathan P. Seldin. Introduction to Combinatory Logic and Lambda Calculus. Cambridge University Press, 1986.
....s. Let r be the expression obtained from t by replacing the subexpression s 1 by s. It must then be the case that t 1 r and t 2 r. 2 6 3 The de Bruijn notation Conventional presentations of the lambda calculus utilize a scheme that requires names for bound (and free) variables (e.g. see [HS86] This choice is well motivated from the perspective of human readability but it not well suited to machine implementations for at least two reasons. First, care needs to be exercised during fi reduction to prevent inadvertent capture of free variables. Second, the determination of identity of ....
J. Roger Hindley and Jonathan P. Seldin. Introduction to Combinatory Logic and Lambda Calculus. Cambridge University Press, 1986.
....for constructing derivations. One of these is the notion of equality assumed in our language. Two terms are considered equal if they can be made identical using the rules of conversion. We assume a familiarity on the part of the reader with a presentation of these rules such as that found in [5]. We need a substitution operation on formulas. Formally, we think of a substitution as a finite set of pairs of the form 1 This definition is more general than the one usually employed in that existential quantification is permitted over D formulas appearing to the left of implications in goals. ....
J. Roger Hindley and Jonathan P. Seldin. Introduction to Combinatory Logic and Lambda Calculus. Cambridge University Press, 1986.
....in Section 5 we illustrate by example how rewrite systems can be specified in this language. Finally, Section 6 concludes. 2 A Metalanguage for Rewriting The terms of the metalanguage are the simply typed terms. We present the notation used here and some basic properties. See Hindley and Seldin [7] for a fuller discussion. We assume a fixed set of primitive types. The set of types is the smallest set of expressions that contains the primitive types and is closed under the construction of function types, denoted by the binary, infix symbol . The Greek letter is used as a syntactic ....
J. Roger Hindley and Jonathan P. Seldin. Introduction to Combinatory Logic and Lambda Calculus. Cambridge University Press, 1986.
....the usual way using constants, variables, applications, and abstractions. Equality between terms is taken to mean fij convertible. We shall assume that the reader is familiar with the usual notions and properties of substitution and ff, fi, and j conversion for the simply typed calculus. See [7] for a fuller discussion of these basic properties. The logical connectives are defined by introducing suitable constants as in [1] The constants (conjunction) and oe (implication) are both of type o o o, and 8 (universal quantification) is of type ( o) o, for all types not ....
J. Roger Hindley and Jonathan P. Seldin. Introduction to Combinatory Logic and Lambda Calculus. Cambridge University Press, 1986.
....constants, variables, applications, and abstractions. Equality between terms is taken to mean fij convertibility. We shall assume that the reader is familiar with the usual notions and properties of substitution and ff, fi, and j conversion for the simply typed calculus. See Hindley and Seldin [10] for a fuller discussion of these basic properties. If x is a variable and t is a term then [t=x] denotes the operation of substituting t for all free occurrences of x, systematically changing bound variables in order to avoid variable capture. A constant or variable p of type 1 Delta Delta ....
J. Roger Hindley and Jonathan P. Seldin. Introduction to Combinatory Logic and Lambda Calculus. Cambridge University Press, 1986.
....of the form ht 1 : t n having primitive type. The term h is called the head of this subterm. A term is in fij long form if it is in fi normal form and every variable and constant occurrence is fully applied. All terms fij convert to a term in fij long form, unique up to ff conversion. See [13] for a fuller discussion of these basic properties of the simply typed calculus. Let Sigma be a signature. A term is a Sigma term if all of its free variables and nonlogical constants are members of Sigma. Similarly, a formula is a Sigma formula if all of its free variables and nonlogical ....
J. Roger Hindley and Jonathan P. Seldin. Introduction to Combinatory Logic and Lambda Calculus. Cambridge University Press, 1986.
....and the corresponding inference system for equality modulo a rewrite system. 2 Higher Order Rewrite Systems As stated, the meta language used to define higher order rewrite systems is the simply typed calculus. We present the notation used here and some basic properties. See Hindley and Seldin [13] for a fuller discussion. We assume a fixed set of primitive types. The set of types is the smallest set of expressions that contains the primitive types and is closed under the construction of function types, denoted by the binary, infix symbol . The Greek letter is used as a syntactic ....
J. Roger Hindley and Jonathan P. Seldin. Introduction to Combinatory Logic and Lambda Calculus. Cambridge University Press, 1986.
....and application. Application associates to the left. In this language, equality between terms is taken to mean fij convertibility. We shall assume that the reader is familiar with the usual notions and properties of ff, fi, and j conversion for the simply typed calculus. See Hindley and Seldin [22] for a fuller discussion. We just review some basic notions and our notation here. The relation of convertibility up to ff is written as = up to ff and fi as = fi , and up to ff, fi, and j as = fij . We say that a term is in fi normal form if it contains no beta redexes, that is, subterms of the ....
J. Roger Hindley and Jonathan P. Seldin. Introduction to Combinatory Logic and Lambda Calculus. Cambridge University Press, 1986.
....to (3 2) by fi reduction, while (Xn (sin X) is equal to sin by j reduction. A term is said to be normal if it is fi and j irreducible (i.e. that no fi or j reduction on the term exists) It is well known that every simply typed term has a normal form, which is unique up to ff conversion [13]. The unification of terms can now be defined based on the above notion of equality among terms. Higher order programming can be achieved by allowing predicates and functions as variables. For example type mappred (A B o) list A) list B) o. mappred P nil nil. mappred P (X: L1) ....
J. Roger Hindley and Jonathan P. Seldin. Introduction to Combinatory Logic and Lambda Calculus. Cambridge University Press, 1986.
....often used and cited. We sometimes take the liberty of slightly restating the borrowed results to better incorporate them here. We assume basic familiarity with the following concepts: ffl First order Horn Clause Prolog [31, 51] and first order unification [49, 33] ffl The simply typed calculus [3, 25]. ffl Gentzen style sequent calculus and natural deduction for intuitionistic logic, and the cut elimination result [16] Summaries of much of this basic material can be found in [35] which also discusses the relationship between these concepts and the higher order logic programming language in ....
J. Roger Hindley and Jonathan P. Seldin. Introduction to Combinatory Logic and Lambda Calculus. Cambridge University Press, 1986.
....s. Let r be the expression obtained from t by replacing the subexpression s 1 by s. It must then be the case that t 1 r and t 2 r. 2 3 The de Bruijn notation Conventional presentations of the lambda calculus utilize a scheme that requires names for bound (and free) variables (e.g. see [19]) This choice is well motivated from the perspective of human readability but is not well suited to machine implementations for at least two reasons. First, it is difficult to systematize the care that must be exercised within this notation in preventing the inadvertent capture of free ....
J. Roger Hindley and Jonathan P. Seldin. Introduction to Combinatory Logic and Lambda Calculus. Cambridge University Press, 1986.
....type of( int (int int) type of(app(E1,E2) T1) type of(E1,T2 T1) type of(E2,T2) type of(abst(X,E) T1 T2) type of(X,T1) oe type of(E,T2) 3 We assume a familiarity in the rest of this section with basic lambda calculus notions. The reader unfamiliar with these may consult [8] or some similar source. We have assumed a first order representation of lambda terms in this program, with abstraction and application being represented by the binary function symbols abst and app respectively, and (object language) constants by suitably chosen constant symbols. A question that ....
J. Roger Hindley and Jonathan P. Seldin. Introduction to Combinatory Logic and Lambda Calculus. Cambridge University Press, 1986.
....reduction relation, then if a normal form exists for any expression, it must be unique. 2.2 The de Bruijn notation for lambda terms We begin by identifying the class of de Bruijn terms. These terms are intended to correspond to lambda terms whose conventional syntax is given, for example, in [HS86] Definition 2.2 The collection of de Bruijn terms, denoted by the syntactic category hDTermi, is given by the rule hDTermi : hConsi j #hIndexi j (hDTermi hDTermi) j ( hDTermi) where hConsi is a category corresponding to a predetermined set of constant symbols and hIndexi is the category of ....
J. Roger Hindley and Jonathan P. Seldin. Introduction to Combinatory Logic and Lambda Calculus. Cambridge University Press, 1986.
....given recursively as follows: Each term is a subterm of itself. If t is of the form ( t 0 ) then each subterm of t 0 is also a subterm of t. If t is of the form (t 1 t 2 ) then each subterm of t 1 and of t 2 is also a subterm of t. Lambda terms in the notation described, for instance, in [HS86] can be translated into de Bruijn terms by the following process. Let the level of a subterm in a term be the number of abstractions in the term within which the subterm is embedded. Further, assume that there is a fixed listing of variable names with respect to which we can talk of the n th ....
J. Roger Hindley and Jonathan P. Seldin. Introduction to Combinatory Logic and Lambda Calculus. Cambridge University Press, 1986.
No context found.
J. Roger Hindley and Jonathan P. Seldin. Introduction to Combinatory Logic and Lambda Calculus. Cambridge University Press, 1986.
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