This paper shows how to reason about streams concisely and precisely. Streams, infinite sequences of elements, live in a coworld: they are given by a coinductive datatype, operations on streams are implemented by corecursive programs, and proofs are typically concocted using coinduction. This paper offers an alternative to coinduction. Suitably restricted, stream equations possess unique solutions. This property gives rise to a simple and attractive proof technique, essentially bringing equational reasoning to the coworld. We redevelop the theory of recurrences, finite calculus and generating functions using streams and stream operators, building on the cornerstone of unique solutions. The paper contains a smörgåsbord of examples: we study ...
AbstractStreams are acyclic directed subgraphs of the logical flow graph of a proof representing bun...
We introduce operators and laws of an algebra of formal languages, a subalgebra of which corresponds...
Streams, or infinite sequences, are infinite objects of a very simple type, yet they have a rich the...
This paper shows how to reason about streams concisely and precisely. Streams, infinite sequences of...
Streams, infinite sequences of elements, live in a coworld: they are given by a coinductive data typ...
Based on the presence of a final coalgebra structure on the set of streams (infinite sequences of re...
AbstractBased on the presence of a final coalgebra structure on the set of streams (infinite sequenc...
Programmers happily use induction to prove properties of recursive programs. To show properties of c...
Streams, which are infinite sequences of elements, are defined by a coinductive datatype and operati...
We develop a coinductive calculus of streams based on the presence of a final coalgebra structure on...
We propose a simple calculus for processing data streams (infinite flows of data series), represente...
In this article we give an accessible introduction to stream differential equations, ie., equations ...
We present a simple tool in Haskell, QStream, implementing the technique of coinductive counting by ...
We consider recursion equations (∗) FX = t(F,X) where X ranges over streams (i.e., elements of S: = ...
We study various operations for partitioning, projecting and merging streams of data. These operatio...
AbstractStreams are acyclic directed subgraphs of the logical flow graph of a proof representing bun...
We introduce operators and laws of an algebra of formal languages, a subalgebra of which corresponds...
Streams, or infinite sequences, are infinite objects of a very simple type, yet they have a rich the...
This paper shows how to reason about streams concisely and precisely. Streams, infinite sequences of...
Streams, infinite sequences of elements, live in a coworld: they are given by a coinductive data typ...
Based on the presence of a final coalgebra structure on the set of streams (infinite sequences of re...
AbstractBased on the presence of a final coalgebra structure on the set of streams (infinite sequenc...
Programmers happily use induction to prove properties of recursive programs. To show properties of c...
Streams, which are infinite sequences of elements, are defined by a coinductive datatype and operati...
We develop a coinductive calculus of streams based on the presence of a final coalgebra structure on...
We propose a simple calculus for processing data streams (infinite flows of data series), represente...
In this article we give an accessible introduction to stream differential equations, ie., equations ...
We present a simple tool in Haskell, QStream, implementing the technique of coinductive counting by ...
We consider recursion equations (∗) FX = t(F,X) where X ranges over streams (i.e., elements of S: = ...
We study various operations for partitioning, projecting and merging streams of data. These operatio...
AbstractStreams are acyclic directed subgraphs of the logical flow graph of a proof representing bun...
We introduce operators and laws of an algebra of formal languages, a subalgebra of which corresponds...
Streams, or infinite sequences, are infinite objects of a very simple type, yet they have a rich the...