## Dependent Types for a Nominal Logical Framework (2012)

### BibTeX

@MISC{Fairweather12dependenttypes,

author = {Elliot Fairweather and Maribel Fernández and Nora Szasz and Alvaro Tasistro},

title = {Dependent Types for a Nominal Logical Framework},

year = {2012}

}

### OpenURL

### Abstract

We present a logical framework based on the nominal approach to representing syntax with binders. First we extend nominal terms, which have a built-in name-abstraction operator and a first-order notion of substitution for variables, with a capture-avoiding substitution operator for names. We then build a dependent type system for this extended syntax

### Citations

558 | Lambda calculi with types
- Barendregt
- 1992
(Show Context)
Citation Context ...→ τ ′. In more sophisticated type systems, the language of terms and the language of types might be interdependent. For the λ-calculus, type systems can be classified in a cube as shown by Barendregt =-=[4]-=-: λ2 ✻ ✚ ✚❃ λω ✻ ✲ ✲ λP 2 ✚✚❃ ✻ λC ✻ ✚ ✚❃ λ→ ✲ ✲ λP ✚✚❃ The simply typed calculus (λ→) is on the bottom left corner, and the most expressive system, the Calculus of Constructions (λC), is on the top r... |

328 | System description: Twelf - a meta-logical framework for deductive systems
- Pfenning, Schürmann
- 1999
(Show Context)
Citation Context ...a types . . . . . . . . . . . . . . . . . . . . . . . . 27 8 Adequacy 28 9 Related work 31 10 Conclusions and future work 33 1 Introduction Logical frameworks and proof assistants (see, for instance, =-=[30, 2, 31, 35, 40, 37, 36]-=-) are used to specify formal systems, such as programming languages, mathematical structures, and logics (see [38]). Many formal systems involve binders, which induce a notion of α-equivalence on term... |

206 |
The Lambda Calculus: its Syntax and Semantics, revised edn
- Barendregt
- 1984
(Show Context)
Citation Context ...{a ↦→ s} · M ′ for any atom substitution {a ↦→ s}. The first is straightforward. To prove the second, we use Lemma 1. The following observation (reminiscent of the substitution lemma in the λcalculus =-=[3]-=-, used to compose substitutions) justifies the definition of canonical form for φ (Definition 5). 11Property 3. Let M denote a pseudo-term s or pseudo-type τ. • ∆ ⊢ π · ({a ↦→ t} · M) ≈α {π(a) ↦→ π ·... |

153 | A new approach to abstract syntax involving binders
- Gabbay, Pitts
- 1999
(Show Context)
Citation Context ... 10 concludes the paper. 2 Preliminaries In this section we recall the basic notions of nominal syntax and type systems to make the paper self-contained. 32.1 The nominal approach Nominal techniques =-=[27]-=- were introduced to facilitate the specification of systems with binders. In nominal syntax [49], there are two kinds of variables: atoms, which are names representing the variables of the object lang... |

101 | Programming in MartinLof’s Type Theory
- Nordstrom, Petersson, et al.
- 1990
(Show Context)
Citation Context ...a types . . . . . . . . . . . . . . . . . . . . . . . . 27 8 Adequacy 28 9 Related work 31 10 Conclusions and future work 33 1 Introduction Logical frameworks and proof assistants (see, for instance, =-=[30, 2, 31, 35, 40, 37, 36]-=-) are used to specify formal systems, such as programming languages, mathematical structures, and logics (see [38]). Many formal systems involve binders, which induce a notion of α-equivalence on term... |

96 |
The ALF proof editor and its proof engine
- Magnusson, Nordström
- 1994
(Show Context)
Citation Context ...a types . . . . . . . . . . . . . . . . . . . . . . . . 27 8 Adequacy 28 9 Related work 31 10 Conclusions and future work 33 1 Introduction Logical frameworks and proof assistants (see, for instance, =-=[30, 2, 31, 35, 40, 37, 36]-=-) are used to specify formal systems, such as programming languages, mathematical structures, and logics (see [38]). Many formal systems involve binders, which induce a notion of α-equivalence on term... |

82 | FreshML: Programming with binders made simple
- Shinwell, Pitts, et al.
- 2003
(Show Context)
Citation Context ...etween capture-avoiding substitution and name abstraction needs to be controlled carefully. We deal with this by using name swappings and fresh names, following the nominal approach (see for instance =-=[48, 49, 7, 9, 14, 29]-=-), instead of relying on explicit lists of arities and η-long normal forms as in [34, 1]. Variables in nominal terms may have suspended swappings and atom substitutions, and substitutions for variable... |

58 |
Synthesis of ML programs in the system Coq
- Paulin-Mohring, Werner
- 1993
(Show Context)
Citation Context |

44 | The Nuprl open logical environment
- Allen, Constable, et al.
(Show Context)
Citation Context |

44 | C.: Inductively defined types in the calculus of constructions
- Pfenning, Paulin-Mohring
- 1989
(Show Context)
Citation Context ...ining λ-calculus and nominal features is also investigated by Pitts [43] to define a nominal version of Gödel’s System T. More recently, Westbrook [50] extends the Calculus of Inductive Constructions =-=[39]-=- with a name-abstraction construct in the style of [12]. Although, as in [47, 12, 43, 50], we aim at endowing nominal abstract syntax with a powerful type system that can serve as a basis for a logica... |

42 | Alpha-Prolog: A Logic Programming Language with Names
- CHENEY, URBAN
(Show Context)
Citation Context ...etween capture-avoiding substitution and name abstraction needs to be controlled carefully. We deal with this by using name swappings and fresh names, following the nominal approach (see for instance =-=[48, 49, 7, 9, 14, 29]-=-), instead of relying on explicit lists of arities and η-long normal forms as in [34, 1]. Variables in nominal terms may have suspended swappings and atom substitutions, and substitutions for variable... |

26 | The complexity of equivariant unification
- Cheney
- 2004
(Show Context)
Citation Context ...stants. Equivariant matching takes into account also renamings of free atoms in patterns; it is a more general notion of matching which, already for standard nominal terms, is known to be NP-complete =-=[9]-=-. To avoid the exponential cost, the solution proposed in [22, 20] is to restrict matching problems to closed patterns. In closed patterns, there 15are no unabstracted atoms, and all occurrences of a... |

22 | Nominal rewriting
- Fernández, Gabbay
(Show Context)
Citation Context ...is encoded. It would be interesting to consider an extension of the logical framework including a user-defined nominal equational theory, specified as a set of equality axioms or rewriting rules (see =-=[25, 15, 20, 21]-=-). Overview of the paper In Section 2 we recall basic concepts and notations that will be needed in the rest of the paper. In Section 3 we present the syntax of the type system, and define freshness, ... |

22 | A sequent calculus for nominal logic
- Gabbay, Cheney
- 2004
(Show Context)
Citation Context ...niques). Nominal sets have been used to give semantics to systems based on nominal abstract syntax (see, for instance, [41, 42, 23, 11]) and proof theories for nominal logic have also been considered =-=[24, 10]-=-). Nominal equational theories have been investigated in [25, 15, 20] amongst others, and type systems for nominal terms and equational theories, using rank-1 polymorphic types, are defined in [19, 18... |

21 | A simpler proof theory for nominal logic
- Cheney
- 2005
(Show Context)
Citation Context ...niques). Nominal sets have been used to give semantics to systems based on nominal abstract syntax (see, for instance, [41, 42, 23, 11]) and proof theories for nominal logic have also been considered =-=[24, 10]-=-). Nominal equational theories have been investigated in [25, 15, 20] amongst others, and type systems for nominal terms and equational theories, using rank-1 polymorphic types, are defined in [19, 18... |

17 | A universe of binding and computation
- Licata, Harper
- 2009
(Show Context)
Citation Context .... Other logics designed with the aim to facilitate the specification of systems with binders, such as G [28], oneand-a-half order logic [26], permissive nominal logic [16] and the pronominal approach =-=[33]-=-, among others, also include mechanisms to deal with name abstraction. In this paper, we design a type theory that follows the nominal approach [27], and use it to formalise systems with binding. The ... |

15 |
and Aad Mathijssen, One-and-a-halfth-order logic
- Gabbay
- 2007
(Show Context)
Citation Context ...ses name-abstraction and α-equivalence using name-swappings [41]. Other logics designed with the aim to facilitate the specification of systems with binders, such as G [28], oneand-a-half order logic =-=[26]-=-, permissive nominal logic [16] and the pronominal approach [33], among others, also include mechanisms to deal with name abstraction. In this paper, we design a type theory that follows the nominal a... |

15 | A dependent type theory with names and binding
- Schöpp, Stark
- 2004
(Show Context)
Citation Context ...tant role in all of these works, none of these systems deal explicitly with proof terms, and do not yield directly a nominal type theory. Nominal type theory has been investigated by Schöpp and Stark =-=[47]-=-, using categorical models of nominal logic. The nominal dependent type theories developed following this approach are very expressive, but it is not clear whether their computational properties make ... |

12 |
Nominal rewriting systems
- Fernández, Gabbay, et al.
- 2004
(Show Context)
Citation Context ...s of free atoms in patterns; it is a more general notion of matching which, already for standard nominal terms, is known to be NP-complete [9]. To avoid the exponential cost, the solution proposed in =-=[22, 20]-=- is to restrict matching problems to closed patterns. In closed patterns, there 15are no unabstracted atoms, and all occurrences of a variable X are under abstractions for the same atoms. Below we gi... |

10 | Completeness and Herbrand theorems for nominal logic
- Cheney
(Show Context)
Citation Context ...n a unifier exists (see [8, 5, 32] for complexity results and implementation techniques). Nominal sets have been used to give semantics to systems based on nominal abstract syntax (see, for instance, =-=[41, 42, 23, 11]-=-) and proof theories for nominal logic have also been considered [24, 10]). Nominal equational theories have been investigated in [25, 15, 20] amongst others, and type systems for nominal terms and eq... |

8 |
Complexity and Implementation of Nominal Algorithms
- Calvès
- 2010
(Show Context)
Citation Context ...seen as an extension of the nominal abstract syntax presented in [49], where nominal unification problems are shown to be decidable and to have unique most general unifiers when a unifier exists (see =-=[8, 5, 32]-=- for complexity results and implementation techniques). Nominal sets have been used to give semantics to systems based on nominal abstract syntax (see, for instance, [41, 42, 23, 11]) and proof theori... |

8 | A dependent nominal type theory
- Cheney
(Show Context)
Citation Context ...he nominal approach and the set of types includes types depending on terms) and use it to formalise systems with binding operators. In contrast with previous work on nominal type theories (see, e.g., =-=[12, 13, 43]-=-), we do not use λ-calculus based theories. Instead, we design a system where the basic syntactical ingredients are names, variables, name-abstraction, name swapping, and substitution operators for bo... |

7 |
Matching and alpha-equivalence check for nominal terms
- Calvès, Fernández
- 1979
(Show Context)
Citation Context ...etween capture-avoiding substitution and name abstraction needs to be controlled carefully. We deal with this by using name swappings and fresh names, following the nominal approach (see for instance =-=[48, 49, 7, 9, 14, 29]-=-), instead of relying on explicit lists of arities and η-long normal forms as in [34, 1]. Variables in nominal terms may have suspended swappings and atom substitutions, and substitutions for variable... |

7 |
and Aad Mathijssen. Nominal Algebra
- Gabbay
(Show Context)
Citation Context ...is encoded. It would be interesting to consider an extension of the logical framework including a user-defined nominal equational theory, specified as a set of equality axioms or rewriting rules (see =-=[25, 15, 20, 21]-=-). Overview of the paper In Section 2 we recall basic concepts and notations that will be needed in the rest of the paper. In Section 3 we present the syntax of the type system, and define freshness, ... |

6 | Nominal system T
- Pitts
- 2010
(Show Context)
Citation Context ...he nominal approach and the set of types includes types depending on terms) and use it to formalise systems with binding operators. In contrast with previous work on nominal type theories (see, e.g., =-=[12, 13, 43]-=-), we do not use λ-calculus based theories. Instead, we design a system where the basic syntactical ingredients are names, variables, name-abstraction, name swapping, and substitution operators for bo... |

5 | Lambda-free logical frameworks
- Adams
(Show Context)
Citation Context ... applied functions in the meta-language), and there may be more than one representative in the framework for a given object entity. These 2issues motivated the work on λ-free logical frameworks (see =-=[1, 34, 44, 46]-=- and also [45] for a recent survey). In this paper we explore the use of nominal syntax as an alternative for the definition of λ-free logical frameworks. Our aim is to define a nominal type theory (w... |

5 | Permissive nominal terms and their unification: an infinite, co-infinite approach to nominal techniques, in "Logic
- DOWEK, GABBAY, et al.
(Show Context)
Citation Context ...ffer syntax to declare freshness of names if freshness is needed (as in [49, 7, 14]). An alternative approach to deal with freshness assumptions consists of using global declarations, as described in =-=[17]-=-. 3210 Conclusions and future work We have extended nominal syntax to include types that depend on terms, with a primitive notion of substitution for atoms. We have shown that freshness and α-equival... |

5 | Nominal abstraction
- Gacek, Miller, et al.
(Show Context)
Citation Context |

5 |
An algebraic framework for logics and type theories. Talk given at LFMTP’06
- Plotkin
- 2006
(Show Context)
Citation Context ... applied functions in the meta-language), and there may be more than one representative in the framework for a given object entity. These 2issues motivated the work on λ-free logical frameworks (see =-=[1, 34, 44, 46]-=- and also [45] for a recent survey). In this paper we explore the use of nominal syntax as an alternative for the definition of λ-free logical frameworks. Our aim is to define a nominal type theory (w... |

3 |
Permissive nominal logic, in
- Dowek, Gabbay
- 2010
(Show Context)
Citation Context ...valence using name-swappings [41]. Other logics designed with the aim to facilitate the specification of systems with binders, such as G [28], oneand-a-half order logic [26], permissive nominal logic =-=[16]-=- and the pronominal approach [33], among others, also include mechanisms to deal with name abstraction. In this paper, we design a type theory that follows the nominal approach [27], and use it to for... |

3 | Curry-style types for nominal terms
- Fernández, Gabbay
- 2006
(Show Context)
Citation Context ...s. We follow a Church-style approach: we annotate atom-abstractions with types. Curry-style type systems (without type annotations) for nominal terms, using ML-style polymorphic types, are defined in =-=[19, 18]-=-. Here we prefer to use type annotations since we will have types that depend on terms. We do not consider polymorphism in this paper. We define first the sets of pseudo-terms, pseudo-types and kinds,... |

3 |
The Coq proof assistant, a tutorial. http://pauillac.inria.fr/coq/doc/tutorial.html. LogiCal Project
- Huet, Kahn, et al.
(Show Context)
Citation Context |

3 | An efficient nominal unification algorithm
- LEVY, VILLARET
- 2010
(Show Context)
Citation Context ...seen as an extension of the nominal abstract syntax presented in [49], where nominal unification problems are shown to be decidable and to have unique most general unifiers when a unifier exists (see =-=[8, 5, 32]-=- for complexity results and implementation techniques). Nominal sets have been used to give semantics to systems based on nominal abstract syntax (see, for instance, [41, 42, 23, 11]) and proof theori... |

3 |
Logical frameworks - a brief introduction
- Pfenning
- 2002
(Show Context)
Citation Context ...on Logical frameworks and proof assistants (see, for instance, [30, 2, 31, 35, 40, 37, 36]) are used to specify formal systems, such as programming languages, mathematical structures, and logics (see =-=[38]-=-). Many formal systems involve binders, which induce a notion of α-equivalence on terms. For example, the let construct, well-known in functional languages, binds a name, and its operational semantics... |

3 |
Equivariant syntax and semantics
- Pitts
- 2002
(Show Context)
Citation Context ...n a unifier exists (see [8, 5, 32] for complexity results and implementation techniques). Nominal sets have been used to give semantics to systems based on nominal abstract syntax (see, for instance, =-=[41, 42, 23, 11]-=-) and proof theories for nominal logic have also been considered [24, 10]). Nominal equational theories have been investigated in [25, 15, 20] amongst others, and type systems for nominal terms and eq... |

2 |
Equational logic for names and binding
- Clouston
- 2009
(Show Context)
Citation Context ...is encoded. It would be interesting to consider an extension of the logical framework including a user-defined nominal equational theory, specified as a set of equality axioms or rewriting rules (see =-=[25, 15, 20, 21]-=-). Overview of the paper In Section 2 we recall basic concepts and notations that will be needed in the rest of the paper. In Section 3 we present the syntax of the type system, and define freshness, ... |

2 |
Two-level nominal sets and semantic nominal terms: an extension of nominal set theory for handling meta-variables
- Gabbay
(Show Context)
Citation Context ...n a unifier exists (see [8, 5, 32] for complexity results and implementation techniques). Nominal sets have been used to give semantics to systems based on nominal abstract syntax (see, for instance, =-=[41, 42, 23, 11]-=-) and proof theories for nominal logic have also been considered [24, 10]). Nominal equational theories have been investigated in [25, 15, 20] amongst others, and type systems for nominal terms and eq... |

2 |
Gopalan Nadathur. A twolevel logic approach to reasoning about computations
- Gacek, Miller
(Show Context)
Citation Context ... first-order logic that axiomatises name-abstraction and α-equivalence using name-swappings [41]. Other logics designed with the aim to facilitate the specification of systems with binders, such as G =-=[28]-=-, oneand-a-half order logic [26], permissive nominal logic [16] and the pronominal approach [33], among others, also include mechanisms to deal with name abstraction. In this paper, we design a type t... |

2 |
Theoretical and Implementation Aspects in the Mechanization of the Metatheory of Programming Languages
- Ricciotti
- 2011
(Show Context)
Citation Context ... applied functions in the meta-language), and there may be more than one representative in the framework for a given object entity. These 2issues motivated the work on λ-free logical frameworks (see =-=[1, 34, 44, 46]-=- and also [45] for a recent survey). In this paper we explore the use of nominal syntax as an alternative for the definition of λ-free logical frameworks. Our aim is to define a nominal type theory (w... |

2 | Higher-Order Encodings with Constructors - Westbrook - 2008 |

1 |
The first-order nominal link
- Calvès, Fernández
(Show Context)
Citation Context ...seen as an extension of the nominal abstract syntax presented in [49], where nominal unification problems are shown to be decidable and to have unique most general unifiers when a unifier exists (see =-=[8, 5, 32]-=- for complexity results and implementation techniques). Nominal sets have been used to give semantics to systems based on nominal abstract syntax (see, for instance, [41, 42, 23, 11]) and proof theori... |

1 | Closed nominal rewriting and efficiently computable nominal algebra equality - Fernández, Gabbay - 2010 |

1 |
a lambda-free logical framework
- AL
(Show Context)
Citation Context |

1 |
Some recent logical frameworks. Slides available at homepages.inf.ed.ac.uk/rpollack
- Pollack
(Show Context)
Citation Context ... meta-language), and there may be more than one representative in the framework for a given object entity. These 2issues motivated the work on λ-free logical frameworks (see [1, 34, 44, 46] and also =-=[45]-=- for a recent survey). In this paper we explore the use of nominal syntax as an alternative for the definition of λ-free logical frameworks. Our aim is to define a nominal type theory (where the set o... |