214 research outputs found
Inversion, Iteration, and the Art of Dual Wielding
The humble ("dagger") is used to denote two different operations in
category theory: Taking the adjoint of a morphism (in dagger categories) and
finding the least fixed point of a functional (in categories enriched in
domains). While these two operations are usually considered separately from one
another, the emergence of reversible notions of computation shows the need to
consider how the two ought to interact. In the present paper, we wield both of
these daggers at once and consider dagger categories enriched in domains. We
develop a notion of a monotone dagger structure as a dagger structure that is
well behaved with respect to the enrichment, and show that such a structure
leads to pleasant inversion properties of the fixed points that arise as a
result. Notably, such a structure guarantees the existence of fixed point
adjoints, which we show are intimately related to the conjugates arising from a
canonical involutive monoidal structure in the enrichment. Finally, we relate
the results to applications in the design and semantics of reversible
programming languages.Comment: Accepted for RC 201
A connection between concurrency and language theory
We show that three fixed point structures equipped with (sequential)
composition, a sum operation, and a fixed point operation share the same valid
equations. These are the theories of (context-free) languages, (regular) tree
languages, and simulation equivalence classes of (regular) synchronization
trees (or processes). The results reveal a close relationship between classical
language theory and process algebra
Kleene algebra with domain
We propose Kleene algebra with domain (KAD), an extension of Kleene algebra
with two equational axioms for a domain and a codomain operation, respectively.
KAD considerably augments the expressiveness of Kleene algebra, in particular
for the specification and analysis of state transition systems. We develop the
basic calculus, discuss some related theories and present the most important
models of KAD. We demonstrate applicability by two examples: First, an
algebraic reconstruction of Noethericity and well-foundedness; second, an
algebraic reconstruction of propositional Hoare logic.Comment: 40 page
Unguarded Recursion on Coinductive Resumptions
We study a model of side-effecting processes obtained by starting from a
monad modelling base effects and adjoining free operations using a cofree
coalgebra construction; one thus arrives at what one may think of as types of
non-wellfounded side-effecting trees, generalizing the infinite resumption
monad. Correspondingly, the arising monad transformer has been termed the
coinductive generalized resumption transformer. Monads of this kind have
received some attention in the recent literature; in particular, it has been
shown that they admit guarded iteration. Here, we show that they also admit
unguarded iteration, i.e. form complete Elgot monads, provided that the
underlying base effect supports unguarded iteration. Moreover, we provide a
universal characterization of the coinductive resumption monad transformer in
terms of coproducts of complete Elgot monads.Comment: 47 pages, extended version of
http://www.sciencedirect.com/science/article/pii/S157106611500079
Modal Kleene algebra and applications - a survey
Modal Kleene algebras are Kleene algebras with forward and backward modal operators defined via domain and codomain operations. They provide a concise and convenient algebraic framework that subsumes various other calculi and allows treating quite a variety of areas. We survey the basic theory and some prominent applications. These include, on the system semantics side, Hoare logic and PDL (Propositional Dynamic Logic), wp calculus and predicate transformer semantics, temporal logics and termination analysis of rewrite and state transition systems. On the derivation side we apply the framework to game analysis and greedy-like algorithms
Symbolic Algorithms for Language Equivalence and Kleene Algebra with Tests
We first propose algorithms for checking language equivalence of finite
automata over a large alphabet. We use symbolic automata, where the transition
function is compactly represented using a (multi-terminal) binary decision
diagrams (BDD). The key idea consists in computing a bisimulation by exploring
reachable pairs symbolically, so as to avoid redundancies. This idea can be
combined with already existing optimisations, and we show in particular a nice
integration with the disjoint sets forest data-structure from Hopcroft and
Karp's standard algorithm. Then we consider Kleene algebra with tests (KAT), an
algebraic theory that can be used for verification in various domains ranging
from compiler optimisation to network programming analysis. This theory is
decidable by reduction to language equivalence of automata on guarded strings,
a particular kind of automata that have exponentially large alphabets. We
propose several methods allowing to construct symbolic automata out of KAT
expressions, based either on Brzozowski's derivatives or standard automata
constructions. All in all, this results in efficient algorithms for deciding
equivalence of KAT expressions
- …