817 research outputs found
Monoidal computer III: A coalgebraic view of computability and complexity
Monoidal computer is a categorical model of intensional computation, where
many different programs correspond to the same input-output behavior. The
upshot of yet another model of computation is that a categorical formalism
should provide a much needed high level language for theory of computation,
flexible enough to allow abstracting away the low level implementation details
when they are irrelevant, or taking them into account when they are genuinely
needed. A salient feature of the approach through monoidal categories is the
formal graphical language of string diagrams, which supports visual reasoning
about programs and computations.
In the present paper, we provide a coalgebraic characterization of monoidal
computer. It turns out that the availability of interpreters and specializers,
that make a monoidal category into a monoidal computer, is equivalent with the
existence of a *universal state space*, that carries a weakly final state
machine for any pair of input and output types. Being able to program state
machines in monoidal computers allows us to represent Turing machines, to
capture their execution, count their steps, as well as, e.g., the memory cells
that they use. The coalgebraic view of monoidal computer thus provides a
convenient diagrammatic language for studying computability and complexity.Comment: 34 pages, 24 figures; in this version: added the Appendi
Legal socialization effects on democratization
As is the case with all our joint publications, this article represents a genuine research collaboration between the authors, with equal contributions. Therefore, neither is first or second author. This article uses data from a collaborative project that grew out of the Law and Society Associations Working Group on Orientations toward Law and Normative Ordering‘. Ellen S. Cohn, lames L. Gibson, Susan O. White, Joseph Sanders, Joan McCord, and Felice Levine were responsible for the development and implementation of the research design. Funding for the project was provided by the (US) National Science Foundation (SE 13237 and SIR 11403). Our European collaborators include Chantal Kourilsky-Augeven (France), Grazyna Skapska, Iwona Jakubowska-Branicka, and Maria Barucka-Arctowa (Poland), Andras Sajo (Hungary), Rosemary Barberet (Spain), and Stefka Naoumova (Bulgaria). Pam Moore, Kris Guffey, Marika Litras, Julie Nadeau, John Kraft, and Kimberly Smirles provided valuable research assistance
Representation and duality of the untyped lambda-calculus in nominal lattice and topological semantics, with a proof of topological completeness
We give a semantics for the lambda-calculus based on a topological duality
theorem in nominal sets. A novel interpretation of lambda is given in terms of
adjoints, and lambda-terms are interpreted absolutely as sets (no valuation is
necessary)
Categories of Timed Stochastic Relations
AbstractStochastic behavior—the probabilistic evolution of a system in time—is essential to modeling the complexity of real-world systems. It enables realistic performance modeling, quality-of-service guarantees, and especially simulations for biological systems. Languages like the stochastic pi calculus have emerged as effective tools to describe and reason about systems exhibiting stochastic behavior. These languages essentially denote continuous-time stochastic processes, obtained through an operational semantics in a probabilistic transition system. In this paper we seek a more descriptive foundation for the semantics of stochastic behavior using categories and monads. We model a first-order imperative language with stochastic delay by identifying probabilistic choice and delay as separate effects, modeling each with a monad, and combining the monads to build a model for the stochastic language
From Proof Nets to the Free *-Autonomous Category
In the first part of this paper we present a theory of proof nets for full
multiplicative linear logic, including the two units. It naturally extends the
well-known theory of unit-free multiplicative proof nets. A linking is no
longer a set of axiom links but a tree in which the axiom links are subtrees.
These trees will be identified according to an equivalence relation based on a
simple form of graph rewriting. We show the standard results of
sequentialization and strong normalization of cut elimination. In the second
part of the paper we show that the identifications enforced on proofs are such
that the class of two-conclusion proof nets defines the free *-autonomous
category.Comment: LaTeX, 44 pages, final version for LMCS; v2: updated bibliograph
Sepia: a Framework for Natural Language Semantics
Source code and technical descriptionTo help explore linguistic semantics in the context of computational natural language understanding, Sepia provides a realization the central theoretical idea of categorial grammar: linking words and phrases to compositional lambda semantics. The Sepia framework provides a language in
which to express complex transformations from text to data structures, and tools surrounding that language for parsing and machine learning. Lambda semantics are expressed as arbitrary Scheme programs, unlimited in the semantic representations they may build, and the rules for transformation are expressed in Combinatory Categorial Grammar, though the details of grammar formalism may be easily changed. This report explains the major design decisions, and is meant to teach the reader how to understand Sepia semantics and how to create lexical items for a new language understanding task
TreatJS: Higher-Order Contracts for JavaScript
TreatJS is a language embedded, higher-order contract system for JavaScript
which enforces contracts by run-time monitoring. Beyond providing the standard
abstractions for building higher-order contracts (base, function, and object
contracts), TreatJS's novel contributions are its guarantee of non-interfering
contract execution, its systematic approach to blame assignment, its support
for contracts in the style of union and intersection types, and its notion of a
parameterized contract scope, which is the building block for composable
run-time generated contracts that generalize dependent function contracts.
TreatJS is implemented as a library so that all aspects of a contract can be
specified using the full JavaScript language. The library relies on JavaScript
proxies to guarantee full interposition for contracts. It further exploits
JavaScript's reflective features to run contracts in a sandbox environment,
which guarantees that the execution of contract code does not modify the
application state. No source code transformation or change in the JavaScript
run-time system is required.
The impact of contracts on execution speed is evaluated using the Google
Octane benchmark.Comment: Technical Repor
- …