This article is about a method for avoiding naming bound variables in lambda calculus. For an alternative syntax for lambda expressions, see De Bruijn notation.
In mathematical logic, the de Bruijn index is a tool invented by the Dutch mathematician Nicolaas Govert de Bruijn for representing terms of lambda calculus without naming the bound variables.[1] Terms written using these indices are invariant with respect to α-conversion, so the check for α-equivalence is the same as that for syntactic equality. Each de Bruijn index is a natural number that represents an occurrence of a variable in a λ-term, and denotes the number of binders that are in scope between that occurrence and its corresponding binder. The following are some examples:
The term λx. λy. x, sometimes called the K combinator, is written as λ λ 2 with de Bruijn indices. The binder for the occurrence x is the second λ in scope.
The term λx. λy. λz. xz (yz) (the S combinator), with de Bruijn indices, is λ λ λ 3 1 (2 1).
The term λz. (λy. y (λx. x)) (λx. zx) is λ (λ 1 (λ 1)) (λ 2 1). See the following illustration, where the binders are colored and the references are shown with arrows.
De Bruijn indices are commonly used in higher-order reasoning systems such as automated theorem provers and logic programming systems.[2]
^de Bruijn, Nicolaas Govert (1972). "Lambda Calculus Notation with Nameless Dummies: A Tool for Automatic Formula Manipulation, with Application to the Church-Rosser Theorem" (PDF). Indagationes Mathematicae. 34: 381–392. ISSN 0019-3577. Archived (PDF) from the original on 2011-05-20.
^Gabbay, Murdoch J.; Pitts, Andy M. (1999). "A New Approach to Abstract Syntax Involving Binders" (PDF). 14th Annual IEEE Symposium on Logic in Computer Science. pp. 214–224. doi:10.1109/LICS.1999.782617. Archived (PDF) from the original on 2004-07-27.
In mathematical logic, the deBruijnindex is a tool invented by the Dutch mathematician Nicolaas Govert deBruijn for representing terms of lambda calculus...
In combinatorial mathematics, a deBruijn sequence of order n on a size-k alphabet A is a cyclic sequence in which every possible length-n string on A...
Nicolaas Govert "Dick" deBruijn (Dutch: [nikoːˈlaːs ˈxoːvərt də ˈbrœyn]; 9 July 1918 – 17 February 2012) was a Dutch mathematician, noted for his many...
DeBruijn is a Dutch surname meaning "the brown". Notable people with the surname include: Adrianus Cornelis deBruijn [de; nl] (1887–1968), Dutch politician...
variables with the argument expression in the body of the abstraction. If DeBruijnindexing is used, then α-conversion is no longer required as there will be...
machine in OCaml, representing lambda terms with deBruijn indices: type term = IND of int (* deBruijnindex *) | ABS of term | APP of term * term Values...
functions (cf Boolos-Burgess-Jeffrey 2002:74-77). Association list DeBruijnindex McCarthy 1960. Minsky (1967) does not include the identity operator...
substitution avoid variable names altogether by using a so-called "name-free" DeBruijnindex notation. Explicit substitutions were sketched in the preface of Curry's...
it on the top of the environment. This closure corresponds to the deBruijnindex 0 in the new environment. The transition Zero takes the first closure...
European Commissioner Nicolaas Govert deBruijn, Dutch mathematician, known for DeBruijn graph and DeBruijnindex Martinus Willem Beijerinck, Dutch microbiologist...
metalanguage for embedding object languages with name binding constructs. DeBruijnindex Higher order abstract syntax Murdoch J. Gabbay and Andrew M. Pitts...
are De Bruin, De Bruijn, and De Bruyn. People with this surname include: Kevin De Bruyne (born 1991), Belgian footballer Donatien de Bruyne (1871–1935)...
assembler can then be used to create a deBruijn graph, which can be used in various ways to find errors. In a deBruijn graph, there is a possibility of 4^k...
assembly methods is combining Bloom filters and deBruijn graphs into a structure called a probabilistic deBruijn graph, which optimizes memory usage at the...
older Dutch it meant farmer Braam – Blackberry Brouwer – Brewer Bruin, de (Bruijn, de) – brown Buskirk, van – literally "bush church", or "church in the woods"...
De Bruyn is a Dutch and Afrikaans surname. "Bruyn" or "bruijn" is an archaic spelling of "bruin", meaning "brown". People with the name include: Aad de...
Lyndon words that have length dividing a given number n, the result is a deBruijn sequence, a circular sequence of symbols such that each possible length-n...
Urbina, Walter de Gruyter, 2003 Ph Bloemhoff-deBruijn, Anderhalve Eeuw Zwols Vocaalveranderingsprocessen in de periode 1838-1972. IJsselacademie (2012)....