Infinitary Algebraic Specifications for Stream Algebras (original) (raw)

Infinitary Initial Algebra Specifications For Stream Algebras

A stream is an in nite sequence of data from a set A. A wide variety of algorithms and architectures operate continuously in time, processing streams of data, for example: hardware systems, embedded systems and emergent systems. Also many models of real number computation use streams. In this paper we study the construction of an algebra A of streams over a many-sorted algebra A of data. In particular, we show how an initial algebra specification for A can be constructed from one for A. One problem is that A is uncountable even when A is finite. To handle this, we work with infinitary terms called stream terms, and infinitary formulae that generalise conditional equations, called !-conditional stream equations. We state a Birkhoff-Mal'cev type theorem that shows conservativity for the many-sorted stream version of full infinitary first-order logic L! 1 ! over an !-conditional equational logic, and also that certain !-conditional stream equational theories have initial model...

Computable Functions on Stream Algebras

. Let A be a many-sorted algebra. A stream over A is an infinite sequence of data from A. We study classes of computable functions on streams over A. We show how models of deterministic parallel computation on A can be adapted to provide new models of computation on stream algebras over A. The primary models considered are simultaneous primitive recursion schemes, with and without the least number operator, over A. We also look at an imperative model involving concurrent assignments. 1 Introduction We will address the problem of establishing the scope and limits of deterministic computing on many-sorted algebras with streams. 1.1 The problem For simplicity, suppose that A is a single sorted algebra, say A = (A; f 1 ; : : : ; f k ) where f i : A n(i) ! A is an operation, n(i) 0 and 1 i k. A stream is an infinite sequence ¸(0); ¸(1); : : : of data from A, represented by a function ¸ : N ! A. Let [N !A] be the set of all streams. We consider computing a mapping of the form f : [...

Computation on abstract data types. The extensional approach, with an application to streams

In this paper we specialize the notion of abstract computational procedure previously introduced for intensionally presented structures to those which are extensionally given. This is provided by a form of generalized recursion theory which uses schemata for explicit definition, conditional definition and least fixed point (LFP) recursion in functionals of type level ≤ 2 over any appropriate structure. It is applied here to the case of potentially infinite (and more general partial) streams as an abstract data type.

Correctness of dataflow and systolic algorithms using algebras of streams

Acta Informatica, 2001

We present two case studies which illustrate the use of secondorder algebra as a formalism for specification and verification of hardware algorithms. In the first case study we specify a systolic algorithm for convolution and formally verify its correctness using second-order equational logic. The second case study demonstrates the expressive power of secondorder algebraic specifications by presenting a non-constructive specification of the Hamming stream problem. A dataflow algorithm for computing the Hamming stream is then specified and the correctness of this algorithm is verified by semantical methods. Both case studies illustrate aspects of the metatheory of second-order equational logic.

A coalgebraic view on bi-infinite streams

2007

Bi-infinite streams arise as a natural data structure in several contexts, such as signal processing [1], symbolic dynamics [2],(balanced) representation of real/rational numbers [3] or study of sets invariant under shift transformation [4]. In this paper, we will present a coalgebraic view of the set of bi-infinite streams which we shall denote by AZ and is formally defined as

Combinators for Streams

2020

ions represent functions on streams. (3) An algebraic characterization for the extensional ストリームのための組合せ子 中澤巧爾,京都大学大学院情報学研究科, Graduate School of Informatics, Kyoto University. stream models is given. It is induced by the structure of CLμext , and gives another definition of the extensional stream models independent of the syntax of the λμ-calculus. 2 Untyped λμ-calculus First, we remind the untyped λμ-calculus. We are following the notation of [4], because it is suitable to see the λμ-calculus as a calculus for streams. Definition (λμ-calculus). Suppose that there are two disjoint sets of variables: one is the set VarsT of term variables, denoted by x, y, · · · , and the other is the set VarsS of stream variables, denoted by α, β, · · · . Terms and axioms of the λμcalculus are given in the Fig. 1. We use the following abbreviations: (i) λx1x2 · · ·xn.M denotes λx1.(λx2.(· · · (λxn.M) · · · )) (and similarly for μ), (ii) (M)A1 · · ·An denotes (· · · ((M)A1) · · · )An, in which each Ai...

Computability of Operators on Continuous and Discrete Time Streams

Computability, 2014

A stream is a sequence of data indexed by time. The behaviour of natural and artificial systems can be modelled by streams and stream transformations. There are two distinct types of data stream: streams based on continuous time and streams based on discrete time. Having investigated case studies of both kinds separately, we have begun to combine their study in a unified theory of stream transformers, specified by equations. Using only the standard mathematical techniques of topology, we have proved continuity properties of stream transformers. Here, in this sequel, we analyse their computability. We use the theory of computable functions on algebras to design two distinct methods for defining computability on continuous and discrete time streams of data from a complete metric space. One is based upon low-level concrete representations, specifically enumerations, and the other is based upon high-level programming, specifically while programs, over abstract data types. We analyse when these methods are equivalent. We demonstrate the use of the methods by showing the computability of an analog computing system. We discuss the idea that continuity and computability are important for models of physical systems to be "well-posed".

Representations of Stream Processors Using Nested Fixed Points

Logical Methods in Computer Science, 2009

We define representations of continuous functions on infinite streams of discrete values, both in the case of discrete-valued functions, and in the case of stream-valued functions. We define also an operation on the representations of two continuous functions between streams that yields a representation of their composite. In the case of discrete-valued functions, the representatives are well-founded (finitepath) trees of a certain kind. The underlying idea can be traced back to Brouwer's justification of bar-induction, or to Kreisel and Troelstra's elimination of choice-sequences. In the case of stream-valued functions, the representatives are non-wellfounded trees pieced together in a coinductive fashion from well-founded trees. The definition requires an alternating fixpoint construction of some ubiquity.

Well-definedness of Streams by Transformation and Termination

Logical Methods in Computer Science, 2010

Streams are infinite sequences over a given data type. A stream specification is a set of equations intended to define a stream. We propose a transformation from such a stream specification to a term rewriting system (TRS) in such a way that termination of the resulting TRS implies that the stream specification is well-defined, that is, admits a unique solution. As a consequence, proving well-definedness of several interesting stream specifications can be done fully automatically using present powerful tools for proving TRS termination. In order to increase the power of this approach, we investigate transformations that preserve semantics and well-definedness. We give examples for which the above mentioned technique applies for the transformed specification while it fails for the original one.

Well-definedness of Streams by Termination

Streams are infinite sequences over a given data type. A stream specification is a set of equations intended to define a stream. We propose a transformation from such a stream specification to a TRS in such a way that termination of the resulting TRS implies that the stream specification admits a unique solution. As a consequence, proving such well-definedness of several interesting stream specifications can be done fully automatically using present powerful tools for proving TRS termination.