8 research outputs found
Denotational semantics with nominal scott domains
When defining computations over syntax as data, one often runs into tedious issues concerning
α
-equivalence and semantically correct manipulations of binding constructs. Here we study a semantic framework in which these issues can be dealt with automatically by the programming language. We take the user-friendly “nominal” approach in which bound objects are named. In particular, we develop a version of Scott domains within nominal sets and define two programming languages whose denotational semantics are based on those domains. The first language,
λν
-PCF, is an extension of Plotkin’s PCF with names that can be swapped, tested for equality and locally scoped; although simple, it already exposes most of the semantic subtleties of our approach. The second language, PNA, extends the first with name abstraction and concretion so that it can be used for metaprogramming over syntax with binders.
For both languages, we prove a full abstraction result for nominal Scott domains analogous to Plotkin’s classic result about PCF and conventional Scott domains: two program phrases have the same observable operational behaviour in all contexts if and only if they denote equal elements of the nominal Scott domain model. This is the first full abstraction result we know of for languages combining higher-order functions with some form of locally scoped names which uses a domain theory based on ordinary extensional functions, rather than using the more intensional approach of game semantics.
To obtain full abstraction, we need to add two functionals, one for existential quantification over names and one for “definite description” over names. Only adding one of them is not enough, as we give counter-examples to full abstraction in both cases.This work is supported by a Gates Cambridge Scholarship and the ERC Advanced Grant Events, Causality and Symmetry (ECSYM)This version is the author accepted manuscript. The final version is available from ACM at http://dl.acm.org/citation.cfm?id=2629529
Recommended from our members
Nominal techniques
This is the author accepted manuscript. The final version is available from the Association for Computing Machinery via http://dx.doi.org/10.1145/2893582.2893594
Programming languages abound with features making use of names in various ways. There is a mathematical foundation for the semantics of such features which uses groups of permutations of names and the notion of the
support
of an object with respect to the action of such a group. The relevance of this kind of mathematics for the semantics of names is perhaps not immediately obvious. That it is relevant and useful has emerged over the last 15 years or so in a body of work that has acquired its own name:
nominal techniques.
At the same time, the application of these techniques has broadened from semantics to computation theory in general. This article introduces the subject and is based upon a tutorial at LICS-ICALP 2015 [Pitts 2015a].
</jats:p
Completeness of Nominal PROPs
We introduce nominal string diagrams as string diagrams internal in the category of nominal sets. This leads us to define nominal PROPs and nominal monoidal theories. We show that the categories of ordinary PROPs and nominal PROPs are equivalent. This equivalence is then extended to symmetric monoidal theories and nominal monoidal theories, which allows us to transfer completeness results between ordinary and nominal calculi for string diagrams
Completeness of Nominal PROPs
We introduce nominal string diagrams as string diagrams internal in the
category of nominal sets. This leads us to define nominal PROPs and nominal
monoidal theories. We show that the categories of ordinary PROPs and nominal
PROPs are equivalent. This equivalence is then extended to symmetric monoidal
theories and nominal monoidal theories, which allows us to transfer
completeness results between ordinary and nominal calculi for string diagrams.Comment: arXiv admin note: text overlap with arXiv:1904.0753
Scalar and Vectorial mu-calculus with Atoms
We study an extension of modal -calculus to sets with atoms and we study
its basic properties. Model checking is decidable on orbit-finite structures,
and a correspondence to parity games holds. On the other hand, satisfiability
becomes undecidable. We also show expressive limitations of atom-enriched
-calculi, and explain how their expressive power depends on the structure
of atoms used, and on the choice between basic or vectorial syntax
Completeness of Nominal PROPs
We introduce nominal string diagrams as string diagrams internal in the
category of nominal sets. This leads us to define nominal PROPs and nominal
monoidal theories. We show that the categories of ordinary PROPs and nominal
PROPs are equivalent. This equivalence is then extended to symmetric monoidal
theories and nominal monoidal theories, which allows us to transfer
completeness results between ordinary and nominal calculi for string diagrams
Scalar and Vectorial mu-calculus with Atoms
We study an extension of modal -calculus to sets with atoms and we study
its basic properties. Model checking is decidable on orbit-finite structures,
and a correspondence to parity games holds. On the other hand, satisfiability
becomes undecidable. We also show expressive limitations of atom-enriched
-calculi, and explain how their expressive power depends on the structure
of atoms used, and on the choice between basic or vectorial syntax