Results 1  10
of
33
Coalgebraic BisimulationUpTo
, 2013
"... Bisimulationupto 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
Bisimulationupto 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 statebased 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 (multiterminal) 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 (multiterminal) 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 datastructure 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.
Enhanced Coalgebraic Bisimulation
, 2013
"... We present a systematic study of bisimulationupto 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 bisimulationupto 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 bisimulationupto, 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 bisimulationupto, 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 bisimulationupto 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 namepassing 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 implemented 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 implemented by an offline source code transformation. To overcome the limitations of the JSConTest implementation, we redesigned and reimplemented effect monitoring by taking advantange of JavaScript proxies. Our new design avoids all drawbacks of the prior implementation. It guarantees full interposition; it is not restricted to a subset of JavaScript; it is selfmaintaining; and its scalability to large programs is significantly better than with JSConTest. The improved scalability has two sources. First, the reimplementation is significantly faster than the original, transformationbased implementation. Second, the reimplementation relies on the flyweight pattern and on trace reduction to conserve memory. Only the combination of these techniques enables monitoring and inference for large programs.
Coalgebraic upto techniques
"... A simple algorithm for checking language equivalence of finite automata consists 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 consists 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 nondeterministic 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 wellchosen functions f, bisimulations up to f are contained in a bisimulation, 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 algorithm 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 relation 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 common, we are aware of no projects to date that focus on program 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 common, we are aware of no projects to date that focus on program code as the created artefact. We present the Mechanic Miner tool for inventing new concepts for videogame interaction which works by inspecting, modifying and executing code. We describe the system in detail and report on an evaluation 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.