28 research outputs found
Fragments of ML decidable by nested data class memory automata
The call-by-value language RML may be viewed as a canonical restriction of Standard ML to ground-type references, augmented by a “bad variable” construct in the sense of Reynolds. We consider the fragment of (finitary) RML terms of order at most 1 with free variables of order at most 2, and identify two subfragments of this for which we show observational equivalence to be decidable. The first subfragment, RMLP−Str2⊢1, consists of those terms in which the P-pointers in the game semantic representation are determined by the underlying sequence of moves. The second subfragment consists of terms in which the O-pointers of moves corresponding to free variables in the game semantic representation are determined by the underlying moves. These results are shown using a reduction to a form of automata over data words in which the data values have a tree-structure, reflecting the tree-structure of the threads in the game semantic plays. In addition we show that observational equivalence is undecidable at every third- or higher-order type, every second-order type which takes at least two first-order arguments, and every second-order type (of arity greater than one) that has a first-order argument which is not the final argument
Fragments of ML Decidable by Nested Data Class Memory Automata
The call-by-value language RML may be viewed as a canonical restriction of
Standard ML to ground-type references, augmented by a "bad variable" construct
in the sense of Reynolds. We consider the fragment of (finitary) RML terms of
order at most 1 with free variables of order at most 2, and identify two
subfragments of this for which we show observational equivalence to be
decidable. The first subfragment consists of those terms in which the
P-pointers in the game semantic representation are determined by the underlying
sequence of moves. The second subfragment consists of terms in which the
O-pointers of moves corresponding to free variables in the game semantic
representation are determined by the underlying moves. These results are shown
using a reduction to a form of automata over data words in which the data
values have a tree-structure, reflecting the tree-structure of the threads in
the game semantic plays. In addition we show that observational equivalence is
undecidable at every third- or higher-order type, every second-order type which
takes at least two first-order arguments, and every second-order type (of arity
greater than one) that has a first-order argument which is not the final
argument
Process types as a descriptive tool for interaction
We demonstrate a tight relationship between linearly typed π-calculi and typed λ-calculi by giving a type-preserving translation from the call-by-value λµ-calculus into a typed π-calculus. The λµ-calculus has a particularly simple representation as typed mobile processes. The target calculus is a simple variant of the linear π-calculus. We establish full abstraction up to maximally consistent observational congruences in source and target calculi using techniques from games semantics and process calculi
Isomorphisms of types in the presence of higher-order references
We investigate the problem of type isomorphisms in a programming language
with higher-order references. We first recall the game-theoretic model of
higher-order references by Abramsky, Honda and McCusker. Solving an open
problem by Laurent, we show that two finitely branching arenas are isomorphic
if and only if they are geometrically the same, up to renaming of moves
(Laurent's forest isomorphism). We deduce from this an equational theory
characterizing isomorphisms of types in a finitary language with higher order
references. We show however that Laurent's conjecture does not hold on
infinitely branching arenas, yielding a non-trivial type isomorphism in the
extension of this language with natural numbers.Comment: Twenty-Sixth Annual IEEE Symposium on Logic In Computer Science (LICS
2011), Toronto : Canada (2011
Abstract machines for dialogue games
The notion of abstract Boehm tree has arisen as an operationally-oriented distillation of works on game semantics, and has been investigated in two papers. This paper revisits the notion, providing more syntactic support and more examples (like call-by-value evaluation) illustrating the generality of the underlying computing device. Precise correspondences between various formulations of the evaluation mechanism of abstract Boehm trees are established
Isomorphisms of types in the presence of higher-order references (extended version)
We investigate the problem of type isomorphisms in the presence of
higher-order references. We first introduce a finitary programming language
with sum types and higher-order references, for which we build a fully abstract
games model following the work of Abramsky, Honda and McCusker. Solving an open
problem by Laurent, we show that two finitely branching arenas are isomorphic
if and only if they are geometrically the same, up to renaming of moves
(Laurent's forest isomorphism). We deduce from this an equational theory
characterizing isomorphisms of types in our language. We show however that
Laurent's conjecture does not hold on infinitely branching arenas, yielding new
non-trivial type isomorphisms in a variant of our language with natural
numbers