Results 1 
5 of
5
Nominal Unification
 Theoretical Computer Science
, 2003
"... We present a generalisation of firstorder unification to the practically important case of equations between terms involving binding operations. A substitution of terms for variables solves such an equation if it makes the equated terms #equivalent, i.e. equal up to renaming bound names. For the a ..."
Abstract

Cited by 53 (20 self)
 Add to MetaCart
We present a generalisation of firstorder unification to the practically important case of equations between terms involving binding operations. A substitution of terms for variables solves such an equation if it makes the equated terms #equivalent, i.e. equal up to renaming bound names. For the applications we have in mind, we must consider the simple, textual form of substitution in which names occurring in terms may be captured within the scope of binders upon substitution. We are able to take a `nominal' approach to binding in which bound entities are explicitly named (rather than using nameless, de Bruijnstyle representations) and yet get a version of this form of substitution that respects #equivalence and possesses good algorithmic properties. We achieve this by adapting an existing idea and introducing a key new idea. The existing idea is terms involving explicit substitutions of names for names, except that here we only use explicit permutations (bijective substitutions). The key new idea is that the unification algorithm should solve not only equational problems, but also problems about the freshness of names for terms. There is a simple generalisation of the classical firstorder unification algorithm to this setting which retains the latter's pleasant properties: unification problems involving #equivalence and freshness are decidable; and solvable problems possess most general solutions.
A logic programming language based on binding algebras
 In Proc. Theoretical Aspects of Computer Science (TACS 2001), number 2215 in Lecture
, 2001
"... Abstract. We give a logic programming language based on Fiore, Plotkin and Turi’s binding algebras. In this language, we can use not only firstorder terms but also terms involving variable binding. The aim of this language is similar to Nadathur and Miller’s λProlog, which can also deal with bindin ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
Abstract. We give a logic programming language based on Fiore, Plotkin and Turi’s binding algebras. In this language, we can use not only firstorder terms but also terms involving variable binding. The aim of this language is similar to Nadathur and Miller’s λProlog, which can also deal with binding structure by introducing λterms in higherorder logic. But the notion of binding used here is finer in a sense than the usual λbinding. We explicitly manage names used for binding and treat αconversion with respect to them. Also an important difference is the form of application related to βconversion, i.e. we only allow the form (M x), where x is a (object) variable, instead of usual application (M N). This notion of binding comes from the semantics of binding by the category of presheaves. We firstly give a type theory which reflects this categorical semantics. Then we proceed along the line of firstorder logic programming language, namely, we give a logic of this language, an operational semantics by SLDresolution and unification algorithm for binding terms. 1
A Simple Theory of Expressions, Judgments and Derivations
 ASIAN 2004, Lecture Notes in Computer Science 3321
, 2004
"... Abstract. We propose a simple theory of expressions which is intended to be used as a foundational syntactic structure for the Natural Framework (NF). We define expression formally and give a simple proof of the decidability of αequivalence. We use this new theory of expressions to define judgments ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Abstract. We propose a simple theory of expressions which is intended to be used as a foundational syntactic structure for the Natural Framework (NF). We define expression formally and give a simple proof of the decidability of αequivalence. We use this new theory of expressions to define judgments and derivations formally, and we give concrete examples of derivation games to show a flavor of NF. 1
A logical foundation for environment classifiers, in
 P.L. Curien (Ed.), Proceedings of the 9th International Conference on Typed LambdaCalculi and Applications (TLCA’09
"... Abstract. Taha and Nielsen have developed a multistage calculus λ α with a sound type system using the notion of environment classifiers. They are special identifiers, with which code fragments and variable declarations are annotated, and their scoping mechanism is used to ensure statically that ce ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Abstract. Taha and Nielsen have developed a multistage calculus λ α with a sound type system using the notion of environment classifiers. They are special identifiers, with which code fragments and variable declarations are annotated, and their scoping mechanism is used to ensure statically that certain code fragments are closed and safely runnable. In this paper, we investigate the CurryHoward isomorphism for environment classifiers by developing a typed λcalculus λ ⊲. It corresponds to multimodal logic that allows quantification by transition variables—a counterpart of classifiers—which range over (possibly empty) sequences of labeled transitions between possible worlds. This interpretation will reduce the “run ” construct—which has a special typing rule in λ α —and embedding of closed code into other code fragments of different stages— which would be only realized by the crossstage persistence operator in λ α —to merely a special case of classifier application. We prove that λ ⊲ enjoys basic properties including subject reduction, confluence, and strong normalization and that the execution of a welltyped λ ⊲ program is properly staged. Finally, we show that the proof system augmented with a classical axiom is sound and complete with respect to a Kripke semantics of the logic. 1
Firstclass substitutions in contextual type theory
"... In this paper, we revisit the theory of firstclass substitution in notion of substitution variables. This forms the basis for extending Beluga, a dependently typed proof and programming language which already supports firstclass contexts and contextual objects, with firstclass substitutions. To i ..."
Abstract
 Add to MetaCart
In this paper, we revisit the theory of firstclass substitution in notion of substitution variables. This forms the basis for extending Beluga, a dependently typed proof and programming language which already supports firstclass contexts and contextual objects, with firstclass substitutions. To illustrate the elegance and power of firstclass substitution variables, we describe the implementation of a weak normalization proof for the simplytyped lambdacalculus in Beluga. 1.