1,170 research outputs found

    Towards a Convenient Category of Topological Domains

    Get PDF
    We propose a category of topological spaces that promises to be convenient for the purposes of domain theory as a mathematical theory for modelling computation. Our notion of convenience presupposes the usual properties of domain theory, e.g. modelling the basic type constructors, fixed points, recursive types, etc. In addition, we seek to model parametric polymorphism, and also to provide a flexible toolkit for modelling computational effects as free algebras for algebraic theories. Our convenient category is obtained as an application of recent work on the remarkable closure conditions of the category of quotients of countably-based topological spaces. Its convenience is a consequence of a connection with realizability models

    Reflection using the derivability conditions

    Get PDF
    Reflection principles are a way to build non-conservative true extensions of a theory. However the application of a reflection principle needs a proof predicate, and the effort needed to provide this is so great as to be not really practical. We look at a possible way to avoid this effort by using, instead of a proof predicate, a predicate defined using only necessary `modal' properties. Surprisingly, we can produce powerful non-conservative extensions this way. But a reflection principle based on such a predicate is essentially weaker, and we also consider its limitations

    A generic operational metatheory for algebraic effects

    Get PDF
    We provide a syntactic analysis of contextual preorder and equivalence for a polymorphic programming language with effects. Our approach applies uniformly across a range of algebraic effects, and incorporates, as instances: errors, input/output, global state, nondeterminism, probabilistic choice, and combinations thereof. Our approach is to extend Plotkin and Power’s structural operational semantics for algebraic effects (FoSSaCS 2001) with a primitive “basic preorder” on ground type computation trees. The basic preorder is used to derive notions of contextual preorder and equivalence on program terms. Under mild assumptions on this relation, we prove fundamental properties of contextual preorder (hence equivalence) including extensionality properties and a characterisation via applicative contexts, and we provide machinery for reasoning about polymorphism using relational parametricity

    Clearing Contamination in Large Networks

    Full text link
    In this work, we study the problem of clearing contamination spreading through a large network where we model the problem as a graph searching game. The problem can be summarized as constructing a search strategy that will leave the graph clear of any contamination at the end of the searching process in as few steps as possible. We show that this problem is NP-hard even on directed acyclic graphs and provide an efficient approximation algorithm. We experimentally observe the performance of our approximation algorithm in relation to the lower bound on several large online networks including Slashdot, Epinions and Twitter. The experiments reveal that in most cases our algorithm performs near optimally

    Kripke Semantics for a Logical Framework

    Get PDF
    We present a semantics (using Kripke lambda models) for a logical framework (minimal implicational predicate logic with quantification over all higher types). We apply the semantics to obtain straightforward adequacy proofs for encodings of logics in the framework. 1 Introduction There has been much recent interest in the development and use of logical frameworks. A logical framework is a formal system within which many different logics can be easily represented. It is hoped that such frameworks will facilitate the rapid development of proof assistants for the wide variety of different logics used in computer science and other fields. In this paper we give a semantic analysis (using Kripke lambda models) of the use of minimal implicational predicate logic (with quantification over all higher types) as a logical framework. We choose this framework because it is relatively straightforward to give it a useful semantics. The use of such a logic as a framework is not new. Similar logics ha..
    corecore