TL;DR
This paper introduces ERC, a formal programming language for exact real number computation with a denotational semantics, and extends Hoare logic for verifying correctness of programs involving real numbers.
Contribution
It presents ERC, a new language with a formal semantics for exact real computation, and develops an extended Hoare logic for program correctness verification.
Findings
ERC captures all computable real functions
The logic for specifications is decidable and model-complete
Examples demonstrate practical applicability of the language and logic
Abstract
We propose a simple imperative programming language, ERC, that features arbitrary real numbers as primitive data type, exactly. Equipped with a denotational semantics, ERC provides a formal programming language-theoretic foundation to the algorithmic processing of real numbers. In order to capture multi-valuedness, which is well-known to be essential to real number computation, we use a Plotkin powerdomain and make our programming language semantics computable and complete: all and only real functions computable in computable analysis can be realized in ERC. The base programming language supports real arithmetic as well as implicit limits; expansions support additional primitive operations (such as a user-defined exponential function). By restricting integers to Presburger arithmetic and real coercion to the `precision' embedding , we arrive at a…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
