On lazy natural numbers with applications to computability theory and functional programming

Lazy natural numbers arise by lazy evaluation of the successor function. This work investigates fundamental mathematical properties of the domain L of lazy natural numbers, and presents applications to computability theory and functional programming. It is shown that certain functions on sets of natural numbers like cardinality-finding and emptyness-testing which are not continuous (or even monotonic) when sets are given by characteristic functions N⊥ → T are both continuous and computable when sets are given by characteristic functions L → T defined in an appropriate way. These functions are definable in λ calculus based functional programming languages provided some parallel features are available.

[1]  G.D. Plotkin,et al.  LCF Considered as a Programming Language , 1977, Theor. Comput. Sci..

[2]  Lawrence C. Paulson,et al.  Logic and computation - interactive proof with Cambridge LCF , 1987, Cambridge tracts in theoretical computer science.

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

[4]  Richard S. Bird,et al.  Introduction to functional programming , 1988, Prentice Hall International series in computer science.

[5]  D. C. Cooper,et al.  Theory of Recursive Functions and Effective Computability , 1969, The Mathematical Gazette.

[6]  Loïc Colson About Primitive Recursive Algorithms , 1989, ICALP.

[7]  J. Girard,et al.  Proofs and types , 1989 .

[8]  Paul Hudak,et al.  A gentle introduction to Haskell , 1992, SIGP.

[9]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

[10]  D. A. Turner,et al.  Miranda: A Non-Strict Functional language with Polymorphic Types , 1985, FPCA.

[11]  Gordon D. Plotkin,et al.  The category-theoretic solution of recursive domain equations , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[12]  Michael B. Smyth,et al.  Effectively given Domains , 1977, Theor. Comput. Sci..

[13]  Simon L. Peyton Jones,et al.  Report on the programming language Haskell: a non-strict, purely functional language version 1.2 , 1992, SIGP.