Abstract
Fibrations have been widely used to model polymorphic λ-calculi. In this paper we describe the additional structure on a fibration that suffices to make it a model of a polymorphic λ-calculus with subtypes and bounded quantification; the basic idea is to single out a class of maps, the inclusions, in each fibre. Bounded quantification is made possible by a imposing condition that resembles local smallness. Since the notion of inclusion is not stable under isomorphism, some care must be taken to make everything strict.
We then show that PER models for λ-calculi with subtypes fit into this framework. In fact, not only PERs, but also any full reflective sub category of the category of modest sets (‘PERs’ in a realizability topos), provide a model; hence all the small complete categories of ‘synthetic domains’ found in various realizability toposes can be used to model subtypes.
Introduction
What this paper is about
At the core of object-oriented programming, and related approaches to programming, are the notions of subtyping and inheritance. These have proved to be very powerful tools for structuring programs, and they appear—in one form or another—in a wide variety of modern programming languages.
One way of studying these notions formally is to use the framework of typed λ-calculus. That is, we start with a formal system (say, a version of the polymorphic λ-calculus) and extend it by adding a notion of type inclusion, together with suitable rules; we obtain a larger system. We can then use the methods of mathematical logic to study the properties of the system.