First-order universality for real programs

T. Anberree
2011 Journal of Logic and Computation  
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 : R → R we consider is the extension of the denotation M f of some program M f :
more » ... Real → Real, in a model based on powerdomains, 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.
doi:10.1093/logcom/exr044 fatcat:4kgltq5h2re75pzqqhzoncrspm