First-order universality for real programs

Thomas Anberrée · Journal of Logic and Computation · 2011

J. Raymundo Marcial–Romero and M. H. Escardó described a functional programming language with an abstract data type real for the real numbers and a non-deterministic operator rtest: real → bool. We show that this language is universal at first order, as conjectured by these authors: all computable, first-order total functions on the real numbers are definable. To be precise, we show that each computable function f: ℝ → ℝ we consider is the extension of the denotation 〚Mf〛 of some program Mf: real → real, in a model based on power domains, described in previous work. Whereas this semantics is only an approximate one, in the sense that programs may have a denotation strictly below their true outputs, our result shows that, to compute a given function, it is in fact always possible to find a program with a faithful denotation. We briefly indicate how our proof extends to show that functions taken from a large class of computable, first-order partial functions in several arguments are definable.

Read the paper · More papers on PaperTik