Computation on Abstract Data Types: The Extensional Approach, with an Application to Streams

Abstract 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 functional 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.

[1]  Wolfgang Thomas,et al.  Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics , 1990 .

[2]  John C. Shepherdson,et al.  Effective operations on partial recursive functions , 1955 .

[3]  D. Dalen Review: Georg Kreisel, Godel's Intepretation of Heyting's Arithmetic; G. Kreisel, Relations Between Classes of Constructive Functionals; Georg Kreisel, A. Heyting, Interpretation of Analysis by Means of Constructive Functionals of Finite Types , 1971 .

[4]  Gerald J. Sussman,et al.  Structure and interpretation of computer programs , 1985, Proceedings of the IEEE.

[5]  Christine Paulin-Mohring,et al.  Programming with Streams in Coq - A Case Study: the Sieve of Eratosthenes , 1994, TYPES.

[6]  Solomon Feferman Inductive Schemata and Recursively Continuous Functionals , 1977 .

[7]  G. Winskel The formal semantics of programming languages , 1993 .

[8]  Glynn Winskel,et al.  The formal semantics of programming languages - an introduction , 1993, Foundation of computing series.

[9]  Yiannis N. Moschovakis,et al.  The formal language of recursion , 1989, Journal of Symbolic Logic.

[10]  Vladimir Yu. Sazonov Degrees of Parallelism in Computations , 1976, MFCS.

[11]  S. C. Kleene,et al.  Introduction to Metamathematics , 1952 .

[12]  A. Nerode,et al.  Review: S. C. Kleene, Recursive Functionals and Quantifiers of Finite Types I , 1962 .

[13]  Solomon Feferman A New Approach to Abstract Data Types II: Computation on ADTs as Ordinary Computation , 1991, CSL.

[14]  J. Vuillemin Proof techniques for recursive programs , 1973 .

[15]  N. P. Mendler,et al.  Recursive Types and Type Constraints in Second-Order Lambda Calculus , 1987, LICS.

[16]  John McCarthy,et al.  Mathematical Theory of Computation , 1991 .

[17]  Lawrence C. Paulson,et al.  Co-induction and co-recursion in higher-order logic , 1993 .

[18]  D. Normann The countable functionals , 1980 .

[19]  Yu. L. Ershov Computable functionals of finite types , 1972 .

[20]  S. C. Kleene,et al.  Recursive functionals and quantifiers of finite types. II , 1959 .

[21]  Jan van Leeuwen,et al.  Handbook of Theoretical Computer Science, Vol. B: Formal Models and Semantics , 1994 .

[22]  J. V. Tucker,et al.  Computable Functions on Stream Algebras , 1995 .

[23]  Solomon Feferman,et al.  A new approach to abstract data types, I Informal development , 1992, Mathematical Structures in Computer Science.

[24]  R. Platek Foundations of recursion theory , 1966 .

[25]  J. H. Geuvers,et al.  Inductive and Coinductive Types with Iteration and Recursion , 1992 .