13 research outputs found
Higher Order Implementation of Kahn Networks in Maude: Alternating Bit Protocol
We implement Kahn networks in Maude system by using behavioural theory of streams and encoding higher order function types. As an example we implement the alternating bit protocol in our framework
Coiterative Morphisms: Interactive Equational Reasoning for Bisimulation, using Coalgebras
ter: SEN 3
Abstract: We study several techniques for interactive equational reasoning with the bisimulation equivalence. Our work is based on a modular library, formalised in Coq, that axiomatises weakly final coalgebras and bisimulation. As a theory we derive some coalgebraic schemes and an associated coinduction principle. This will help in interactive proofs by coinduction, modular derivation of congruence and co-fixed point equations and enables an extensional treatment of bisimulation. Finally we present a version of the lambda-coinduction proof principle in our framework
An exercise in coinduction: Moessner's theorem
We present a coinductive proof of Moessner’s theorem. This theorem describes the construction of the stream (1^n,2^n,3^, ...) (for n > 0) out of the stream of natural numbers by repeatedly dropping and summing elements. Our formalisation consists of a direct translation of the operational description of Moessner’s procedure into the equivalence of - in essence - two functional programs. Our proof fully exploits the circularity that is present in Moessner’s procedure and is more elementary than existing proofs. As such, it serves as a non-trivial illustration of the relevance and power of coinduction
Termination Casts: A Flexible Approach to Termination with General Recursion
This paper proposes a type-and-effect system called Teqt, which distinguishes
terminating terms and total functions from possibly diverging terms and partial
functions, for a lambda calculus with general recursion and equality types. The
central idea is to include a primitive type-form "Terminates t", expressing
that term t is terminating; and then allow terms t to be coerced from possibly
diverging to total, using a proof of Terminates t. We call such coercions
termination casts, and show how to implement terminating recursion using them.
For the meta-theory of the system, we describe a translation from Teqt to a
logical theory of termination for general recursive, simply typed functions.
Every typing judgment of Teqt is translated to a theorem expressing the
appropriate termination property of the computational part of the Teqt term.Comment: In Proceedings PAR 2010, arXiv:1012.455
Coalgebraic Reasoning in Coq: Bisimulation and the lambda-Coiteration Scheme
In this work we present a modular theory of the coalgebras and bisimulation in the intensional type theory implemented in Coq. On top of that we build the theory of weakly final coalgebras and develop the -coiteration scheme, thereby extending the class of specifications definable in Coq. We provide an instantiation of the theory for the coalgebra of streams and show how some of the productive specifications violating the guardedness condition of Coq can be formalised using our library
Coalgebraic reasoning in Coq: bisimulation and lambda-coiteration scheme
In this work we present a modular theory of the coalgebras and bisimulation in the intensional type theory implemented in Coq. On top of that we build the theory of weakly final coalgebras and develop the lambda-coiteration scheme, thereby extending the class of specifications definable in Coq. We provide an instantiation of the theory for the coalgebra of streams and show how some of the productive specifications violating the guardedness condition of Coq can be formalised using our library
Sampling, Splitting and Merging in Coinductive Stream Calculus
We study various operations for partitioning, projecting and merging streams of data. These operations are motivated by their use in dataflow programming and the stream processing languages. We use the framework of \emph{stream calculus} and \emph{stream circuits} for defining and proving properties of such operations using behavioural differential equations and coinduction proof principles. We study the invariance of certain well patterned classes of streams, namely rational and algebraic streams, under splitting and merging. Finally we show that stream circuits extended with gates for dyadic split and merge are expressive enough to realise some non-rational algebraic streams, thereby going beyond ordinary stream circuits
Coinductive Predicates as Final Coalgebras
We show that coinductive predicates expressing behavioural properties of infinite objects can be themselves expressed as final coalgebras in a category of relations. The well-known case of bisimulation will simply be a special case of such final predicates. We will show how some useful pointwise and mixed properties of streams can be modelled in this way