75 research outputs found
Bisimilarity of Open Terms in Stream GSOS
Stream GSOS is a specification format for operations and calculi on infinite
sequences. The notion of bisimilarity provides a canonical proof technique for
equivalence of closed terms in such specifications. In this paper, we focus on
open terms, which may contain variables, and which are equivalent whenever they
denote the same stream for every possible instantiation of the variables. Our
main contribution is to capture equivalence of open terms as bisimilarity on
certain Mealy machines, providing a concrete proof technique. Moreover, we
introduce an enhancement of this technique, called bisimulation up-to
substitutions, and show how to combine it with other up-to techniques to obtain
a powerful method for proving equivalence of open terms
Stream differential equations: Specification formats and solution methods
Streams, or infinite sequences, are infinite objects of a very simple type, yet they have a rich theory partly due to their ubiquity in mathematics and computer science. Stream differential equations are a coinductive method for specifying streams and stream operations, and their theory has been developed in many papers over the past two decades. In this paper we present a survey of the many results in this area. Our focus is on the classification of different formats of stream differential equations, their solution methods, and the classes of streams they can define. Moreover, we describe in detail the connection between the so-called syntactic solution method and abstract GSOS
Contract agreements via logic
We relate two contract models: one based on event structures and game theory,
and the other one based on logic. In particular, we show that the notions of
agreement and winning strategies in the game-theoretic model are related to
that of provability in the logical model.Comment: In Proceedings ICE 2013, arXiv:1310.401
Guarded recursion in Agda via sized types
In type theory, programming and reasoning with possibly non-terminating programs and potentially infinite objects is achieved using coinductive types. Recursively defined programs of these types need to be productive to guarantee the consistency of the type system. Proof assistants such as Agda and Coq traditionally employ strict syntactic productivity checks, which often make programming with coinductive types convoluted. One way to overcome this issue is by encoding productivity at the level of types so that the type system forbids the implementation of non-productive corecursive programs. In this paper we compare two different approaches to type-based productivity: guarded recursion and sized types. More specifically, we show how to simulate guarded recursion in Agda using sized types. We formalize the syntax of a simple type theory for guarded recursion, which is a variant of Atkey and McBride\u27s calculus for productive coprogramming. Then we give a denotational semantics using presheaves over the preorder of sizes. Sized types are fundamentally used to interpret the characteristic features of guarded recursion, notably the fixpoint combinator
Denotational semantics for guarded dependent type theory
We present a new model of Guarded Dependent Type Theory (GDTT), a type theory
with guarded recursion and multiple clocks in which one can program with, and
reason about coinductive types. Productivity of recursively defined coinductive
programs and proofs is encoded in types using guarded recursion, and can
therefore be checked modularly, unlike the syntactic checks implemented in
modern proof assistants.
The model is based on a category of covariant presheaves over a category of
time objects, and quantification over clocks is modelled using a presheaf of
clocks. To model the clock irrelevance axiom, crucial for programming with
coinductive types, types must be interpreted as presheaves orthogonal to the
object of clocks. In the case of dependent types, this translates to a lifting
condition similar to the one found in homotopy theoretic models of type theory,
but here with an additional requirement of uniqueness of lifts. Since the
universes defined by the standard Hofmann-Streicher construction in this model
do not satisfy this property, the universes in GDTT must be indexed by contexts
of clock variables. We show how to model these universes in such a way that
inclusions of clock contexts give rise to inclusions of universes commuting
with type operations on the nose.Comment: This is the third version of the paper representing a minor revision
over the second version. The paper has 40 page
- …