Skip to main content
QUICK REVIEW

[论文解读] Semantics, Logic, and Verification of "Exact Real Computation"

Franz Brauße, Pieter Collins|arXiv (Cornell University)|Aug 20, 2016
Computability, Logic, AI Algorithms参考文献 10被引用 1
一句话总结

本文通过一种用于实数的小型命令式编程语言,形式化了精确实数计算(ERC),结合代数ADT操作与可靠、基于近似的语义。证明了该语言对递归分析中可计算的部分实函数具有图灵完备性,通过扩展的霍尔逻辑实现严格的正确性验证,并建立了一个关于整数和实数的可判定、模型完备的一阶理论,用于指定和验证非扩展性计算。

ABSTRACT

This work formalizes Exact Real Computation (ERC): a paradigm combining (i) ALGEBRAIC imperative programming of/over abstract data types (ADTs) for CONTINUOUS structures with (ii) a selection and sound semantics of primitives computable in the sense of Recursive ANALYSIS, that is, by means of approximations -- yet presented to the user as exact. We specify a small imperative programming language for the ADT of real (i.e., including transcendental) numbers with rigorous semantics: arguments are provided, passed to and received from calls to functions (like $e^x$), and operated on EXACTLY -- with partial inequality predicate and multivalued binary SELECT and continuous conditional (aka PARALLEL-IF) operations -- yet REALIZING a function (again like $e^x$) requires only to APPROXIMATE its return value up to guaranteed absolute error $2^p$ for any given integer $p$: closure under composition is implicit. We prove this language Turing-COMPLETE: it can express precisely those partial real functions computable in the sense of Recursive Analysis; similarly for functionALs. Three basic numerical problems demonstrate both the convenience and novel control-flow considerations of this approach to Reliable Numerics: multivalued integer rounding, solving systems of linear equations, and simple root finding. For rigorously specifying and arguing about such (non-extensional) computations, we propose a first-order theory over two sorts: integers and reals; and prove it both decidable and 'model complete': thus reflecting the elegance inherent to real (as opposed to rational/floating point) numbers. Rules of Hoare Logic are extended to support formal correctness proofs in ERC.

研究动机与目标

  • 通过实数和超越数的抽象数据类型(ADT)形式化一种用于连续结构的精确计算编程范式。
  • 将递归分析中的可计算函数——通过近似计算——集成到具有精确用户端语义的命令式语言中。
  • 为涉及部分相等、多值选择和连续条件的非扩展性计算提供严谨的推理基础。
  • 证明该语言对递归分析中可计算的部分实函数类具有图灵完备性。
  • 开发一个关于整数和实数的可判定且模型完备的一阶理论,用于指定和验证ERC程序。

提出的方法

  • 设计一种支持实数ADT的小型命令式语言,支持精确操作(如 $e^x$)和部分不等式谓词。
  • 引入多值二元 SELECT 操作和连续条件(PARALLEL-IF)操作,以处理实数计算中的非扩展性行为。
  • 通过近似定义可计算性:任何函数必须能对任意给定整数 $p$ 在 $2^p$ 范围内被逼近,确保误差有界。
  • 通过构造保证函数复合下的封闭性,保持程序各组件的可计算性。
  • 提出一个包含两种类型(整数和实数)的一阶理论,该理论既可判定又模型完备,支持形式化验证。
  • 扩展霍尔逻辑,增加适用于ERC的规则,支持涉及实数计算的程序的正式正确性证明。

实验结果

研究问题

  • RQ1能否设计一种实用的命令式编程语言,以支持实数上的精确计算,同时依赖基于近似的实现?
  • RQ2如何将非扩展性操作(如多值选择和连续条件)正式集成到计算上可靠的整体框架中?
  • RQ3是否可能定义一个关于整数和实数的可判定且模型完备的一阶理论,以支持对精确实数计算的推理?
  • RQ4需要何种逻辑和语义基础,才能确保该语言精确捕获递归分析中可计算的部分实函数类?
  • RQ5如何将形式化验证中的霍尔逻辑扩展,以支持精确实数计算所特有的控制流和语义特性?

主要发现

  • 所提出的语言对递归分析中可计算的部分实函数类具有图灵完备性,确立了其表达能力。
  • 该语言支持用户层面的实数精确操作(包括 $e^x$ 等超越函数),同时在内部依赖具有误差保证的近似计算。
  • 关于整数和实数的一阶理论是可判定且模型完备的,支持对ERC程序的严谨规格说明和验证。
  • 对霍尔逻辑的扩展支持了涉及连续条件和多值操作的程序的正式正确性证明。
  • 三个基本数值问题——多值整数舍入、线性系统和根的求解——展示了该语言的表达力及其新颖的控制流需求。
  • 该框架为使用精确实数计算的可靠数值计算提供了坚实、优雅且形式化基础。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。