We propose a semantics of operating on real numbers that is sound, Turing-complete, and practical. It modifies the intuitive but super-recursive Blum-Shub-Smale model (formalizing Computer ALGEBRA Systems), to coincide in power with the realistic but inconvenient Type-2 Turing machine underlying Computable Analysis: reconciling both as foundation to a Computer ANALYSIS System. Several examples illustrate the elegance of rigorous numerical coding in this framework, formalized as a simple imperative programming language ERC with denotational semantics for REALIZING a real function $f$: arguments $x$ are given as exact real numbers, while values $y=f(x)$ suffice to be returned approximately up to absolute error $2^p$ with respect to an additionally given integer parameter $p\to-\infty$. Real comparison (necessarily) becomes partial, possibly 'returning' the lazy Kleenean value UNKNOWN (subtly different from $\bot$ for classically undefined expressions like 1/0). This asserts closure under composition, and in fact 'Turing-completeness over the reals': All and only functions computable in the sense of Computable Analysis can be realized in ERC. Programs thus operate on a many-sorted structure involving real numbers and integers, the latter connected via the 'error' embedding $Z\ni p\mapsto 2^p\in R$, whose first-order theory is proven decidable and model-complete. This logic serves for formally specifying and formally verifying correctness of ERC programs.
翻译:我们建议对真实数字进行正确、图灵完整和实用操作的语义。 它修改直观但超精确的布卢姆- Shub- Smaly 模型( 正规化计算机ALGEBRA系统), 使其与现实但不方便的 2 型图灵机 Compublic Annable 分析: 将两者作为基础与计算机 ANALISIS 系统调和起来。 几个例子说明在这个框架中严格的数字编码的优雅性, 正式化为一种简单需要的编程语言 ERC, 正式化为实现真实功能 $2 : 将 美元=f(x) 足够返回到绝对错误 ALGEBRA 系统 。 真实性比较( 必然的) 可能是部分, 可能返回懒惰的 Kleenenean 值 UNKNOWN( 与 典型的未定义的表达式 $\boticle 值不同) : 美元=xx$x