Nominal Type Theory by Nullary Internal Parametricity
Antoine Van Muylder, Andreas Nuyts, Dominique Devriese
TL;DR
This work introduces nullary internally parametric type theory (nullary PTT) as a foundation for nominal dependent type theory, enabling universal name abstractions, nominal data types, and pattern matching within a cubical-type setting. It defines a first-class Nm type with a name-induction principle and establishes the Structure Abstraction Principle (SAP) to ensure parametricity translations commute with type formers, thereby recovering nominal pattern matching. The paper shows how key nominal primitives—existential/universal name quantification, typal freshness, name swapping, and locally scoped names—can be implemented in nullary PTT, and provides concrete examples including a pi-calculus datatype and a HOAS-inspired encoding linked to Kripke parametricity. By connecting nominal syntax to internal parametricity, the authors lay the groundwork for a practical nominal framework with a path toward implementation. The work also sketches semantic models and discusses how this approach relates to existing nominal theories and the transpension perspective.
Abstract
There are many ways to represent the syntax of a language with binders. In particular, nominal frameworks are metalanguages that feature (among others) name abstraction types, which can be used to specify the type of binders. The resulting syntax representation (nominal data types) makes alpha-equivalent terms equal, and features a name-invariant induction principle. It is known that name abstraction types can be presented either as existential or universal quantification on names. On the one hand, nominal frameworks use the existential presentation for practical reasoning since the user is allowed to match on a name-term pattern where the name is bound in the term. However inference rules for existential name abstraction are cumbersome to specify/implement because they must keep track of information about free and bound names at the type level. On the other hand, universal name abstractions are easier to specify since they are treated not as pairs, but as functions consuming fresh names. Yet the ability to pattern match on such functions is seemingly lost. In this work we show that this ability and others are recovered in a type theory consisting of (1) nullary ($0$-ary) internally parametric type theory (nullary PTT) (2) a type of names and a novel name induction principle (3) nominal data types. This extension of nullary PTT can act as a legitimate nominal framework. Indeed it has universal name abstractions, nominal pattern matching, a freshness type former, name swapping and local-scope operations and (non primitive) existential name abstractions. We illustrate how term-relevant nullary parametricity is used to recover nominal pattern matching. Our main example involves synthetic Kripke parametricity.
