Results 1 - 10
of
33
Coalgebraic Bisimulation-Up-To
, 2013
"... Bisimulation-up-to enhances the bisimulation proof method for process equivalence. We present its generalization from labelled transition systems to arbitrary coalgebras, and show that for a large class of systems, enhancements such as bisimulation up to bisimilarity, up to equivalence and up to con ..."
Abstract
-
Cited by 17 (7 self)
- Add to MetaCart
Bisimulation-up-to enhances the bisimulation proof method for process equivalence. We present its generalization from labelled transition systems to arbitrary coalgebras, and show that for a large class of systems, enhancements such as bisimulation up to bisimilarity, up to equivalence and up to context are sound proof techniques. This allows for simplified bisimulation proofs for many different types of state-based systems.
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 explo ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
(Show Context)
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 com-bined with already existing optimisations, and we show in partic-ular 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 alge-braic theory that can be used for verification in various domains ranging from compiler optimisation to network programming anal-ysis. 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 con-structions. All in all, this results in efficient algorithms for deciding equiv-alence of KAT expressions.
Enhanced Coalgebraic Bisimulation
, 2013
"... We present a systematic study of bisimulation-up-to techniques for coalgebras. This enhances the bisimulation proof method for a large class of state based systems, including labelled transition systems but also stream systems and weighted automata. Our approach allows for compositional reasoning ab ..."
Abstract
-
Cited by 4 (3 self)
- Add to MetaCart
(Show Context)
We present a systematic study of bisimulation-up-to techniques for coalgebras. This enhances the bisimulation proof method for a large class of state based systems, including labelled transition systems but also stream systems and weighted automata. Our approach allows for compositional reasoning about the soundness of enhancements. Applications include the soundness of bisimulation up to bisimilarity, up to equivalence and up to congruence. All in all, this gives a powerful and modular framework for simplified coinductive proofs of equivalence. 1.
Coinductive Proof Techniques for Language Equivalence
"... Abstract. Language equivalence can be checked coinductively by establishing a bisimulation on suitable deterministic automata. We improve and extend this technique with bisimulation-up-to, which is an enhancement of the bisimulation proof method. First, we focus on the regular operations of union, c ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
(Show Context)
Abstract. Language equivalence can be checked coinductively by establishing a bisimulation on suitable deterministic automata. We improve and extend this technique with bisimulation-up-to, which is an enhancement of the bisimulation proof method. First, we focus on the regular operations of union, concatenation and Kleene star, and illustrate our method with new proofs of classical results such as Arden’s rule. Then we extend our enhanced proof method to incorporate language complement and intersection. Finally we define a general format of behavioural differential equations, in which one can define operations on languages for which bisimulation-up-to is a sound proof technique. 1
Coinductive Predicates and Final Sequences in a Fibration
"... Coinductive predicates express persisting “safety ” specifications of transition systems. Previous observations by Hermida and Jacobs identify coinductive predicates as suitable final coalgebras in a fibration—a categorical abstraction of predicate logic. In this paper we follow the spirit of a semi ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Coinductive predicates express persisting “safety ” specifications of transition systems. Previous observations by Hermida and Jacobs identify coinductive predicates as suitable final coalgebras in a fibration—a categorical abstraction of predicate logic. In this paper we follow the spirit of a seminal work by Worrell and study final sequences in a fibration. Our main contribution is to identify some categorical “size restriction ” axioms that guarantee stabilization of final sequences after ω steps. In its course we develop a relevant categorical infrastructure that relates fibrations and locally presentable categories, a combination that does not seem to be studied a lot. The genericity of our fibrational framework can be exploited for: binary relations (i.e. the logic of “binary predicates”) for which a coinductive predicate is bisimilarity; constructive logics (where interests are growing in coinductive predicates); and logics for name-passing processes.
Efficient Dynamic Access Analysis Using JavaScript Proxies
"... JSConTest introduced the notions of effect monitoring and dynamic effect inference for JavaScript. It enables the description of effects with path specifications resembling regular expressions. It is imple-mented by an offline source code transformation. To overcome the limitations of the JSConTest ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
(Show Context)
JSConTest introduced the notions of effect monitoring and dynamic effect inference for JavaScript. It enables the description of effects with path specifications resembling regular expressions. It is imple-mented by an offline source code transformation. To overcome the limitations of the JSConTest implementation, we redesigned and reimplemented effect monitoring by taking ad-vantange of JavaScript proxies. Our new design avoids all draw-backs of the prior implementation. It guarantees full interposition; it is not restricted to a subset of JavaScript; it is self-maintaining; and its scalability to large programs is significantly better than with JSConTest. The improved scalability has two sources. First, the reimple-mentation is significantly faster than the original, transformation-based implementation. Second, the reimplementation relies on the fly-weight pattern and on trace reduction to conserve memory. Only the combination of these techniques enables monitoring and infer-ence for large programs.
Coalgebraic up-to techniques
"... A simple algorithm for checking language equivalence of finite automata con-sists in trying to compute a bisimulation that relates them. This is possible because language equivalence can be characterised coinductively, as the largest bisimulation. More precisely, consider an automaton 〈S, t, o〉, whe ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
(Show Context)
A simple algorithm for checking language equivalence of finite automata con-sists in trying to compute a bisimulation that relates them. This is possible because language equivalence can be characterised coinductively, as the largest bisimulation. More precisely, consider an automaton 〈S, t, o〉, where S is a (finite) set of states, t: S → P(S)A is a non-deterministic transition function, and o: S → 2 is the characteristic function of the set of accepting states. Such an automation gives rise to a determinised automaton 〈P(S), t], o]〉, where t] : P(S) → P(S)A and o] : P(S) → 2 are the natural extensions of t and o to sets. A bisimulation is a relation R between sets of states such that for all sets of states X,Y, X R Y entails: 1. o](X) = o](Y), and 2. for all letter a, t]a(X) R t a(Y). The coinductive characterisation is the following one: two sets of states recognise the same language if and only if they are related by some bisimulation. Taking inspiration from concurrency theory [4,5], one can improve this proof technique by weakening the second item in the definition of bisimulation: given a function f on binary relations, a bisimulation up to f is a relation R between states such that for all sets X,Y, X R Y entails: 1. o](X) = o](Y), and 2. for all letter a, t]a(X) f(R) t a(Y). For well-chosen functions f, bisimulations up to f are contained in a bisimula-tion, so that the improvement is sound. So is the function mapping each relation to its equivalence closure. In this particular case, one recover the standard al-gorithm by Hopcroft and Karp [2]: two sets can be skipped whenever they can already be related by a sequence of pairwise related states. One can actually do more, by considering the function c mapping each rela-tion to its congruence closure: the smallest equivalence relation which contains
Nobody’s a critic: On the evaluation of creative code generators
- In Proceedings of the 4th International Conference on Computational Creativity, 2013. Proceedings of the Fourth International Conference on Computational Creativity 2013 224
"... Application domains for Computational Creativity projects range from musical composition to recipe design, but despite all of these systems having computational methods in com-mon, we are aware of no projects to date that focus on pro-gram code as the created artefact. We present the Mechanic Miner ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Application domains for Computational Creativity projects range from musical composition to recipe design, but despite all of these systems having computational methods in com-mon, we are aware of no projects to date that focus on pro-gram code as the created artefact. We present the Mechanic Miner tool for inventing new concepts for videogame inter-action which works by inspecting, modifying and executing code. We describe the system in detail and report on an eval-uation based on a large survey of people playing games using content it produced. We use this to raise issues regarding the assessment of code as a created artefact and to discuss future directions for Computational Creativity research.