Title:
|
Dual-context multicategories as models for implicit computational complexity
|
We start by defining two basic dual-context calculi II(σ) and IL (σ) of typed terms, built using two kinds of free variables and dual-typed function symbols. In the I L(σ) calculus we use safe variables in a ‘linear’ fashion, forbidding any weakening and contraction, while, in the II (σ) calculus, contraction and weakening are allowed for both safe and normal variables. We then consider models for II (σ) and IL (σ) with basic equational judgements. Rather than following the traditional approach of encoding dual-contexts through additional structure on a category, we consider dual-context multicategories in which dual-contexts are built into the definition. The main advantage of this approach is that it covers a wider class of models, including some particularly natural models from the field of implicit computational complexity. Next we enrich our basic calculi with different type constructions such as products and sums and provide their multicategorical interpretation. We consider a dual-context list type constructor together with a type-theoretic analogue of the safe recursion of Bellantoni and Cook’s system B, which characterises polynomial time computability on natural numbers. We define an interpretation for such dual-context lists using safe list objects. We show that the polytime computable functions are exactly the functions definable in every dual-context multicategory with safe binary list object. Finally, motivated by the standard approach to the categorical interpretation of primitive recursion using the notion of initial algebra, we develop a notion of safe initial algebra, which generalises the safe recursion scheme and provides us with insights about the choice of initial functions in system B.
|