25 research outputs found
Relation Liftings on Preorders and Posets
The category Rel(Set) of sets and relations can be described as a category of
spans and as the Kleisli category for the powerset monad. A set-functor can be
lifted to a functor on Rel(Set) iff it preserves weak pullbacks. We show that
these results extend to the enriched setting, if we replace sets by posets or
preorders. Preservation of weak pullbacks becomes preservation of exact lax
squares. As an application we present Moss's coalgebraic over posets
Moss' logic for ordered coalgebras
We present a finitary coalgebraic logic for -coalgebras, where is a
locally monotone endofunctor of the category of posets and monotone maps that
preserves exact squares and finite intersections. The logic uses a single cover
modality whose arity is given by the dual of the coalgebra functor , and the
semantics of the modality is given by relation lifting. For the finitary
setting to work, we need to develop a notion of a base for subobjects of .
This in particular allows us to talk about a finite poset of subformulas for a
given formula, and of a finite poset of successors for a given state in a
coalgebra. The notion of a base is introduced generally for a category equipped
with a suitable factorisation system.
We prove that the resulting logic has the Hennessy-Milner property for the
notion of similarity based on the notion of relation lifting. We define a
sequent proof system for the logic and prove its completeness
Coinduction up to in a fibrational setting
Bisimulation up-to enhances the coinductive proof method for bisimilarity,
providing efficient proof techniques for checking properties of different kinds
of systems. We prove the soundness of such techniques in a fibrational setting,
building on the seminal work of Hermida and Jacobs. This allows us to
systematically obtain up-to techniques not only for bisimilarity but for a
large class of coinductive predicates modelled as coalgebras. By tuning the
parameters of our framework, we obtain novel techniques for unary predicates
and nominal automata, a variant of the GSOS rule format for similarity, and a
new categorical treatment of weak bisimilarity
Recommended from our members
Reconciling Shannon and Scott with a Lattice of Computable Information
This paper proposes a reconciliation of two different theories of information. The first, originally proposed in a lesser-known work by Claude Shannon (some five years after the publication of his celebrated quantitative theory of communication), describes how the information content of channels can be described qualitatively, but still abstractly, in terms of information elements, where information elements can be viewed as equivalence relations over the data source domain. Shannon showed that these elements have a partial ordering, expressing when one information element is more informative than another, and that these partially ordered information elements form a complete lattice. In the context of security and information flow this structure has been independently rediscovered several times, and used as a foundation for understanding and reasoning about information flow. The second theory of information is Dana Scott\u27s domain theory, a mathematical framework for giving meaning to programs as continuous functions over a particular topology. Scott\u27s partial ordering also represents when one element is more informative than another, but in the sense of computational progress - i.e. when one element is a more defined or evolved version of another. To give a satisfactory account of information flow in computer programs it is necessary to consider both theories together, in order to understand not only what information is conveyed by a program (viewed as a channel, \ue0 la Shannon) but also how the precision with which that information can be observed is determined by the definedness of its encoding (\ue0 la Scott). To this end we show how these theories can be fruitfully combined, by defining the Lattice of Computable Information (LoCI), a lattice of preorders rather than equivalence relations. LoCI retains the rich lattice structure of Shannon\u27s theory, filters out elements that do not make computational sense, and refines the remaining information elements to reflect how Scott\u27s ordering captures possible varieties in the way that information is presented. We show how the new theory facilitates the first general definition of termination-insensitive information flow properties, a weakened form of information flow property commonly targeted by static program analyses
Recommended from our members
Reasoning about effectful programs and evaluation order
Program transformations have various applications, such as in compiler optimizations. These transformations are often effect-dependent: replacing one program with another relies on some restriction on the side-effects of subprograms. For example, we cannot eliminate a dead computation that raises an exception, or a duplicated computation that prints to the screen. Effect-dependent program transformations can be described formally using effect systems, which annotate types with information about the side-effects of expressions.
In this thesis, we extend previous work on effect systems and correctness of effect-dependent transformations in two related directions.
First, we consider evaluation order. Effect systems for call-by-value languages are well-known, but are not sound for other evaluation orders. We describe sound and precise effect systems for various evaluation orders, including call-by-name. We also describe an effect system for Levy's call-by-push-value, and show that this subsumes those for call-by-value and call-by-name. This naturally leads us to consider effect-dependent transformations that replace one evaluation order with another. We show how to use the call-by-push-value effect system to prove the correctness of transformations that replace call-by-value with call-by-name, using an argument based on logical relations. Finally, we extend call-by-push-value to additionally capture call-by-need. We use our extension to show a classic example of a relationship between evaluation orders: if the side-effects are restricted to (at most) nontermination, then call-by-name is equivalent to call-by-need.
The second direction we consider is non-invertible transformations. A program transformation is non-invertible if only one direction is correct. Such transformations arise, for example, when considering undefined behaviour, nondeterminism, or concurrency. We present a general framework for verifying noninvertible effect-dependent transformations, based on our effect system for call-by-push-value. The framework includes a non-symmetric notion of correctness for effect-dependent transformations, and a denotational semantics based on order-enriched category theory that can be used to prove correctness