75 research outputs found
A Ghost at
In the final chain of the countable powerset functor, we show that the set at
index , regarded as a transition system, is not strongly extensional
because it contains a "ghost" element that has no successor even though its
component at each successor index is inhabited. The method, adapted from a
construction of Forti and Honsell, also gives ghosts at larger ordinals in the
final chain of other subfunctors of the powerset functor. This leads to a
precise description of which sets in these final chains are strongly
extensional
Broad Infinity and Generation Principles
This paper introduces Broad Infinity, a new and arguably intuitive axiom
scheme. It states that "broad numbers", which are three-dimensional trees whose
growth is controlled, form a set. If the Axiom of Choice is assumed, then Broad
Infinity is equivalent to the Ord-is-Mahlo scheme: every closed unbounded class
of ordinals contains a regular ordinal.
Whereas the axiom of Infinity leads to generation principles for sets and
families and ordinals, Broad Infinity leads to more advanced versions of these
principles. The paper relates these principles under various prior assumptions:
the Axiom of Choice, the Law of Excluded Middle, and weaker assumptions.Comment: 52 page
Call-By-Push-Value
Submitted for the degree of Doctor of PhilosophyCall-by-push-value (CBPV) is a new programming language paradigm, based on the slogan “a value is, a computation does”. We claim that CBPV provides the semantic primitives from which the call-by-value and call-by-name paradigms are built. The primary goal of the thesis is to present the evidence for this claim, which is found in a remarkably wide range of semantics: from operational semantics, in big-step form and in machine form, to denotational models using
domains, possible worlds, continuations and games.
In the first part of the thesis, we come to CBPV and its equational theory by looking critically at the call-by-value and call-by-name paradigms in the presence of general computational effects. We give a Felleisen/Friedman-style CK-machine semantics, which explains how CBPV can be
understood in terms of push/pop instructions.
In the second part we give simple CBPV models for printing, divergence, global store, errors, erratic choice and control effects, as well as for various combinations of these effects. We develop the store model into a possible world model for cell generation, and (following Steele) we develop
the control model into a “jumping implementation” using a continuation language called Jump-With-Argument (JWA).
We present a pointer game model for CBPV, in the style of Hyland and Ong. We see that the
game concepts of questioning and answering correspond to the CBPV concepts of forcing and producing respectively. We observe that this game semantics is closely related to the jumping implementation.
In the third part of the thesis, we study the categorical semantics for the CBPV equational theory. We present and compare 3 approaches:
models using strong monads, in the style of Moggi;
models using value/producer structures, in the style of Power and Robinson;
models using (strong) adjunctions.
All the concrete models in the thesis are seen to be adjunction models
Coinductive Resumption Monads: Guarded Iterative and Guarded Elgot
We introduce a new notion of "guarded Elgot monad", that is a monad equipped with a form of iteration. It requires every guarded morphism to have a specified fixpoint, and classical equational laws of iteration to be satisfied. This notion includes Elgot monads, but also further examples of partial non-unique iteration, emerging in the semantics of processes under infinite trace equivalence.
We recall the construction of the "coinductive resumption monad" from a monad and endofunctor, that is used for modelling programs up to bisimilarity. We characterize this construction via a universal property: if the given monad is guarded Elgot, then the coinductive resumption monad is the guarded Elgot monad that freely extends it by the given endofunctor
Exploring the Boundaries of Monad Tensorability on Set
We study a composition operation on monads, equivalently presented as large
equational theories. Specifically, we discuss the existence of tensors, which
are combinations of theories that impose mutual commutation of the operations
from the component theories. As such, they extend the sum of two theories,
which is just their unrestrained combination. Tensors of theories arise in
several contexts; in particular, in the semantics of programming languages, the
monad transformer for global state is given by a tensor. We present two main
results: we show that the tensor of two monads need not in general exist by
presenting two counterexamples, one of them involving finite powerset (i.e. the
theory of join semilattices); this solves a somewhat long-standing open
problem, and contrasts with recent results that had ruled out previously
expected counterexamples. On the other hand, we show that tensors with bounded
powerset monads do exist from countable powerset upwards
Limitations of Applicative Bisimulation (Preliminary Report)
We present a series of examples that illuminate an important aspect of the semantics of higher-order functions with local state. Namely that certain behaviour of such functions can only be observed by pro- viding them with arguments that contain the functions themselves. This provides evidence for the necessity of complex conditions for functions in modern semantics for state, such as logical relations and Kripke-like bisimulations, where related functions are applied to related arguments (that may contain the functions). It also suggests that simpler semantics, such as those based on applicative bisimulations where functions are ap- plied to identical arguments, would not scale to higher-order languages with local state
- …