## A Head-to-Head Comparison of de Bruijn Indices and Names (2006)

### Cached

### Download Links

- [www4.in.tum.de]
- [www4.informatik.tu-muenchen.de]
- [wwwbroy.informatik.tu-muenchen.de]
- DBLP

### Other Repositories/Bibliography

Venue: | IN PROC. INT. WORKSHOP ON LOGICAL FRAMEWORKS AND METALANGUAGES: THEORY AND PRACTICE |

Citations: | 12 - 1 self |

### BibTeX

@INPROCEEDINGS{Berghofer06ahead-to-head,

author = {Stefan Berghofer and Christian Urban},

title = {A Head-to-Head Comparison of de Bruijn Indices and Names},

booktitle = {IN PROC. INT. WORKSHOP ON LOGICAL FRAMEWORKS AND METALANGUAGES: THEORY AND PRACTICE},

year = {2006},

pages = {46--59},

publisher = {}

}

### Years of Citing Articles

### OpenURL

### Abstract

Often debates about pros and cons of various techniques for formalising lambda-calculi rely on subjective arguments, such as de Bruijn indices are hard to read for humans or nominal approaches come close to the style of reasoning employed in informal proofs. In this paper we will compare four formalisations based on de Bruijn indices and on names from the nominal logic work, thus providing some hard facts about the pros and cons of these two formalisation techniques. We conclude that the relative merits of the different approaches, as usual, depend on what task one has at hand and which goals one pursues with a formalisation.

### Citations

1115 |
The Lambda Calculus: Its Syntax and Semantics
- Barendregt
- 1981
(Show Context)
Citation Context ... lemma in the lambda-calculus Substitution Lemma: If x �≡ y and x �∈ F V (L), then M[x := N][y := L] ≡ M[y := L][x := N[y := L]]. one might start with the following informal proof given by Barendregt =-=[4]-=-: Proof: By induction on the structure of M. Case 1: M is a variable. Case 1.1. M ≡ x. Then both sides equal N[y := L] since x �≡ y. Case 1.2. M ≡ y. Then both sides equal L, for x �∈ F V (L) implies ... |

303 | N.: Lambda Calculus Notation with Nameless Dummies, a Tool for Automatic Formula Manipulation.; Indag
- Bruijn
- 1972
(Show Context)
Citation Context ...rmalisation techniques seem to be governed mainly by personal preference than by facts (see [1]). In this paper, we will study four examples and compare two formalisation techniques—de Bruijn indices =-=[6]-=- and names from nominal logic work [10,15]—in order to shed more light on their respective strengths and weaknesses. In terms of ease and convenience the standard to which techniques for formalising l... |

226 | Formal certification of a compiler back-end or: programming a compiler with a proof assistant - Leroy - 2006 |

137 | Mechanized metatheory for the masses: The PoplMark challenge
- Aydemir, Bohannon, et al.
- 2005
(Show Context)
Citation Context ...ieve 100% correctness, to provide easy maintenance of proofs and to allow for proofs about languages where a human reasoner is overwhelmed by the sheer number of cases and subtleties to be considered =-=[3]-=-.) When engineering a formal proof in a theorem prover, blindly applying automatic proof tools often leads to a dead end. Usually more successful is the strategy to start with a rough sketch containin... |

82 | Nominal techniques in Isabelle/HOL
- Urban
(Show Context)
Citation Context ...rned mainly by personal preference than by facts (see [1]). In this paper, we will study four examples and compare two formalisation techniques—de Bruijn indices [6] and names from nominal logic work =-=[10,15]-=-—in order to shed more light on their respective strengths and weaknesses. In terms of ease and convenience the standard to which techniques for formalising lambda-calculi have to measure up is, in ou... |

81 | Isar — a generic interpretative approach to readable formal proof documents
- Wenzel
- 1999
(Show Context)
Citation Context ...ontaining a proof idea, and then to try to translate this idea into actual proof steps in the theorem prover. This style of formalising proofs is very much encouraged by the Isar-language of Isabelle =-=[16]-=-. In case of the substitution lemma in the lambda-calculus Substitution Lemma: If x �≡ y and x �∈ F V (L), then M[x := N][y := L] ≡ M[y := L][x := N[y := L]]. one might start with the following inform... |

39 | More Church-Rosser proofs (in Isabelle/HOL
- Nipkow
(Show Context)
Citation Context ...ing experts just copy these lemmas from existing formalisations. Indeed when submitting his solution of the POPLmark-Challenge, the first author only minimally adapted to System F<: the proofs Nipkow =-=[9]-=- gave in Isabelle/HOL for the lambda-calculus. Nipkow in turn got his collection of lemmas from Rasmussen [12] who worked with Isabelle/ZF. Nipkow wrote [9, Page 57]: “ Initially I tried to find and p... |

18 | A recursion combinator for nominal datatypes implemented in Isabelle/HOL
- Urban, Berghofer
(Show Context)
Citation Context ...herwise the simplifier can easily loop. As we shall see next, the proof based on names is much more robust in this respect. 2.2 Version using the Nominal Datatype Package The nominal datatype package =-=[13,15]-=- eases the reasoning with “named” alphaequivalent lambda-terms; one can define them by (7) nominal datatype lam = Var name | App lam lam | Lam 〈〈name 〉〉lam where name is a type representing atoms [10]... |

16 |
Combinatory Logic: Vol I
- Curry, Feys
- 1958
(Show Context)
Citation Context ... 2sBerghofer and Urban modulo an explicit notion of alpha-equivalence, that is one has to prove M[x := N][y := L] ≈α M[y := L][x := N[y := L]] . For the substitution operation one might follow Church =-=[5]-=- and define (2) (Var y)[x := N] def = ⎧ ⎨ ⎩ N if x ≡ y Var y otherwise (App M1 M2)[x := N] def = App (M1[x := N]) (M2[x := N]) (Lam x M1)[x := N] def = Lam x M1 (Lam y M1)[x := N] def = Lam z (M1[y :=... |

12 | A formal treatment of the Barendregt Variable Convention in rule inductions
- Urban, Norrish
- 2005
(Show Context)
Citation Context ...whenever a function is defined by recursion over the structure of alpha-equated lambda-terms. With the definition of the nominal datatype lam comes the following strong structural induction principle =-=[14,15]-=-: ∀c x. P (Var x) c ∀c M1 M2. (∀d. P M1 d) ∧ (∀d. P M2 d) ⇒ P (App M1 M2) c ∀c z M. z # c ∧ (∀d. P M d) ⇒ P (Lam z M) c P M c This induction principle states that if one wants to establish a property ... |

10 | The Church-Rosser theorem in Isabelle: A proof porting experiment
- Rasmussen
- 1995
(Show Context)
Citation Context ...OPLmark-Challenge, the first author only minimally adapted to System F<: the proofs Nipkow [9] gave in Isabelle/HOL for the lambda-calculus. Nipkow in turn got his collection of lemmas from Rasmussen =-=[12]-=- who worked with Isabelle/ZF. Nipkow wrote [9, Page 57]: “ Initially I tried to find and prove these lemmas from scratch but soon decided to steal them from Rasmussen’s ZF proofs instead, which has ob... |

6 |
Residual theory in lambda-calculus: A formal development
- Huet
- 1994
(Show Context)
Citation Context ...’s ZF proofs instead, which has obvious advantages: – I did not have to find this collection of non-obvious lemmas myself. . . ” Rasmussen seems to have gotten his lemmas from a formalisation by Huet =-=[7]-=- in Coq. In light of the subtleties and quirks in the proof based on de Bruijn indices, it might be surprising that one does not end up with a proof script of more than 100 lines of code. In fact the ... |

6 | Alpha-structural recursion and induction (extended abstract - PITTS - 2005 |

4 | Structured induction proofs in Isabelle/Isar
- Wenzel
(Show Context)
Citation Context ...ement to be proved is ∀∆ Γ M N P. ∆@Q@Γ ⊢ M <: N ⇒ Γ ⊢ P <: Q ⇒ ∆@P @Γ ⊢ M <: N and its proof procceds by an (inner) induction over the left-most subtyping relation. With the induction infrastructure =-=[17]-=- of Isabelle, we can implement this induction as stated above, without having to introduce ”seemingly pointless equalities” 6 that handle syntactic constraints, such as the typing-context being of the... |

3 |
Nominal reasoning techniques
- Aydemir, Bohannon, et al.
- 2006
(Show Context)
Citation Context ...t of theorem provers, for example Coq and Isabelle/HOL, for a long time. In contrast, the nominal datatype package has been implemented in Isabelle/HOL, only. Except some preliminary work reported in =-=[2]-=-, there is little work about replicating our results in non-HOL-based theorem provers. Another advantage of de Bruijn indices is that they do not introduce any classical reasoning into the formalisati... |

3 |
Nominal Logic: a First Order Theory
- Pitts
- 2001
(Show Context)
Citation Context ...rned mainly by personal preference than by facts (see [1]). In this paper, we will study four examples and compare two formalisation techniques—de Bruijn indices [6] and names from nominal logic work =-=[10,15]-=-—in order to shed more light on their respective strengths and weaknesses. In terms of ease and convenience the standard to which techniques for formalising lambda-calculi have to measure up is, in ou... |