Abstract
We give an algorithm for deciding productivity of a large and natural class of recursive stream definitions. A stream definition is called ‘productive’ if it can be evaluated continuously in such a way that a uniquely determined stream is obtained as the limit. Whereas productivity is undecidable for stream definitions in general, we show that it can be decided for ‘pure’ stream definitions. For every pure stream definition the process of its evaluation can be modelled by the dataflow of abstract stream elements, called ‘pebbles’, in a finite ‘pebbleflow net(work)’. And the production of a pebbleflow net associated with a pure stream definition, that is, the amount of pebbles the net is able to produce at its output port, can be calculated by reducing nets to trivial nets.
This research has been partially funded by the Netherlands Organisation for Scientific Research (NWO) under FOCUS/BRICKS grant number 642.000.502.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Buchholz, W.: A term calculus for (co-)recursive definitions on streamlike data structures. Annals of Pure and Applied Logic 136(1-2), 75–90 (2005)
Coquand, T.: Infinite Objects in Type Theory. In: Barendregt, H., Nipkow, T. (eds.) TYPES 1993. LNCS, vol. 806, pp. 62–78. Springer, Heidelberg (1994)
Dijkstra, E.W.: On the productivity of recursive definitions, EWD749 (1980)
Endrullis, J., Grabmayer, C., Hendriks, D.: Productivity of Stream Definitions. Technical report, Vrije Universiteit Amsterdam (2007), Available via http://infinity.few.vu.nl/productivity/
Hughes, J., Pareto, L., Sabry, A.: Proving the correctness of reactive systems using sized types. In: POPL 1996, pp. 410–423 (1996)
Kahn, G.: The semantics of a simple language for parallel programming. Information Processing, 471–475 (1974)
Kennaway, R., Klop, J.W., Sleep, M.R., de Vries, F.-J.: Transfinite reductions in orthogonal term rewriting systems. Inf. and Comput. 119(1), 18–38 (1995)
Kennaway, R., Klop, J.W., Sleep, M.R., de Vries, F.-J.: Infinitary lambda calculus. TCS 175(1), 93–125 (1997)
Klop, J.W., de Vrijer, R.: Infinitary normalization. In: We Will Show Them: Essays in Honour of Dov Gabbay (2). College Publications, pp. 169–192 (2005), Item 95 at http://web.mac.com/janwillemklop/iWeb/Site/Bibliography.html
Lafont, Y.: Interaction nets. In: POPL 1990, pp. 95–108. ACM Press, New York (1990)
Rutten, J.J.M.M.: Behavioural differential equations: a coinductive calculus of streams, automata, and power series. TCS 308(1-3), 1–53 (2003)
Sijtsma, B.A.: On the productivity of recursive list definitions. ACM Transactions on Programming Languages and Systems 11(4), 633–649 (1989)
Tait, W.W.: Intentional interpretations of functionals of finite type I. Journal of Symbolic Logic 32(2) (1967)
Telford, A., Turner, D.: Ensuring the Productivity of Infinite Structures. Technical Report 14-97, The Computing Laboratory, Univ. of Kent at Canterbury (1997)
Terese: Term Rewriting Systems. Cambridge Tracts in Theoretical Computer Science, vol. 55. Cambridge University Press, Cambridge (2003)
Wadge, W.W.: An extensional treatment of dataflow deadlock. TCS 13, 3–15 (1981)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Endrullis, J., Grabmayer, C., Hendriks, D., Isihara, A., Klop, J.W. (2007). Productivity of Stream Definitions. In: Csuhaj-Varjú, E., Ésik, Z. (eds) Fundamentals of Computation Theory. FCT 2007. Lecture Notes in Computer Science, vol 4639. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74240-1_24
Download citation
DOI: https://doi.org/10.1007/978-3-540-74240-1_24
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-74239-5
Online ISBN: 978-3-540-74240-1
eBook Packages: Computer ScienceComputer Science (R0)