We use cookies to distinguish you from other users and to provide you with a better experience on our websites. Close this message to accept cookies or find out how to manage your cookie settings.
To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
Categorical structures suitable for describing partial maps, viz. domain structures, are introduced and their induced categories of partial maps are defined.
The representation of partial maps as total ones is addressed. In particular, the representability (in the categorical sense) and the classifiability (in the sense of topos theory) of partial maps are shown to be equivalent (Theorem 3.2.6).
Finally, two notions of approximation, contextual approximation and specialisation, based on testing and observing partial maps are considered and shown to coincide. It is observed that the approximation of partial maps is definable from testing for totality and the approximation of total maps; providing evidence for taking the approximation of total maps as primitive.
Categories of Partial Maps
To motivate the definition of a partial map, observe that a partial function u : A ⇀ B is determined by its domain of definition dom(u) ⊆ A and the total function dom(u) → B induced by the mapping a ↦ u(a). Thus, every partial function A ⇀ B can be described by a pair consisting of an injection D ↣ A and a total function D → B with the same source.
In this chapter we study the categorical constructions for interpreting data types. We start by observing that the notion of pairing in a category of partial maps (with a minimum of structure) cannot be the categorical product. The appropriate interpretation for product types (partial products) is the categorical product in the category of total maps endowed with a pairing operation on partial maps extending the pairing of total maps. Once the notion of product is established, partial exponentials are defined as usual, and some properties of Poset-partial-exponentials are presented. Next colimits are studied. The situation is completely different from that of limits. For example, an object is initial in the category of total maps if and only if it is so in the category of partial maps. A characterisation of certain colimits (including coproducts) in a category of partial maps, due to Gordon Plotkin, is given. We further relate colimits in the category of total maps and colimits in the category of partial maps by means of the lifting functor. Finally, we provide conditions on a Cpo-category of partial maps under which ω-chains of embeddings have colimits. This is done in the presence of the lifting functor, and for arbitrary categories of partial maps.
Partial Binary Products
The data type for pairing in pΚ cannot be the categorical product because, under reasonable assumptions, this would lead to inconsistency.
We have initiated an abstract approach to domain theory as needed for the denotational semantics of deterministic programming languages. To provide an explicit semantic treatment of non-termination, we decided to make partiality the core of our theory. Thus, we focussed on categories of partial maps. We have studied the representability of partial maps and shown its equivalence with classifiability. We have observed that, once partiality is taken as primitive, a notion of approximation may be derived. In fact, two notions of approximations based on testing and observing partial maps have been considered and shown to coincide. Further we have characterised when the approximation relation between partial maps is domain-theoretic in the (technical) sense that the category of partial maps Cpo-enriches with respect to it.
Concerning the semantics of type constructors in categories of partial maps we have: presented a characterisation of colimits of diagrams of total maps due to Gordon Plotkin; studied order-enriched partial cartesian closure; and provided conditions to guarantee the existence of the limits needed to solve recursive type equations. Concerning the semantics of recursive types we have: made Peter Freyd's notion of algebraic compactness the central concept; motivated the compactness axiom; established the fundamental property of parameterised algebraically compact categories (slightly extending a previous result of Peter Freyd); and shown that in algebraically compact categories recursive types reduce to inductive types. Special attention has been paid to Cpo-algebraic compactness, leading to the identification of a 2-category of kinds with very strong closure properties.
We thoroughly study the semantics of inductive and recursive types. Our point of view is that types constitute the objects of a category and that type constructors are bifunctors on the category of types. By a bifunctor on a category we mean a functor on two variables from the category to itself, contravariant in the first, covariant in the second.
First, following Peter Freyd, the stress is on the study of algebraically complete categories, i.e. those categories admitting all inductive types (in the sense that every endofunctor on them has an initial algebra—this is understood in a setting in which the phrase “every endofunctor” refers to a class of enriched endofunctors—see Definition 6.1.4). After observing that algebraic completeness guarantees the existence of parameterised initial algebras, we identify, under the name of parameterised algebraically complete categories, all those categories which are algebraically complete and such that every parameterised inductive type constructor gives rise to a parameterised inductive type (see Definition 6.1.7). Type constructors on several variables are dealt with by Bekič's Lemma, from which follow both the Product Theorem for Parameterised Algebraically Complete Categories (Theorem 6.1.14) and also the dinaturality of Fix (the functor delivering initial algebras).
Second, again following Peter Freyd, algebraic completeness is refined to algebraic compactness by imposing the axiom that, for every endofunctor, the inverse of an initial algebra is a final coalgebra. The compactness axiom is motivated with a simple argument showing that every bifunctor on an algebraically compact category admits a fixed-point.
We investigate Cpo-algebraic completeness and compactness. This is a particularly well behaved setting. For example, we show that Cpo-algebraic completeness and parameterised Cpo-algebraic completeness coincide; whilst, for Cppo⊥-categories, we further show the coincidence of Cpo-algebraic completeness and parameterised Cpo-algebraic compactness. As a by-product, we identify a 2-category of kinds, called Kind, all of whose objects are parameterised Cpo-algebraically ω-compact categories. Kind is 2-cartesian-closed, op-closed, closed under the formation of categories of algebras and coalgebras with lax homomorphisms, and has a unique (up to isomorphism) uniform fixed-point operator. Thus, Kind is appropriate for interpreting type systems with kinds built by recursion from products, exponentials, algebras and coalgebras; but neither such a system nor its interpretation will be discussed here.
Cpo-Algebraic Completeness
Cpo-algebraic completeness is studied. First, we focus on those Cpo-categories for which the initial object embeds in every object of the category. The reason being that in this case the presence of colimits of ω-chains of embeddings guarantees algebraic ω-completeness which turns out to coincide with algebraic completeness. Further, an equational characterisation of initial algebras becomes available. Second, we explore categories of algebras and lax homomorphisms to finally show that algebraic completeness and parameterised algebraic completeness coincide.
Definition 7.1.1 In a Poset-category, an e-initial object is an initial object such that every morphism with it as source is an embedding. The dual notion is called a p-terminal object. An object which is both e-initial and p-terminal is called an ep-zero.