Non-Obfuscated Unprovable Programs & Many Resultant Subtleties
John Case, Michael Ralston

TL;DR
This paper explores programs that are easily verified as correct but cannot be proven within certain formal theories, revealing surprising subtleties about program verifiability, non-constructivity, and the impact of programming system choices.
Contribution
It introduces new theorems demonstrating the existence of unprovable yet verifiable programs and analyzes how different acceptable systems affect provability and program properties.
Findings
Unverifiable programs need not be obfuscated.
Certain acceptable systems eliminate some non-constructivity.
Provability of program properties varies with system choice.
Abstract
The \emph{International Obfuscated C Code Contest} was a programming contest for the most creatively obfuscated yet succinct C code. By \emph{contrast}, an interest herein is in programs which are, \emph{in a sense}, \emph{easily} seen to be correct, but which can\emph{not} be proved correct in pre-assigned, computably axiomatized, powerful, true theories {\bf T}. A point made by our first theorem, then, is that, then, \emph{un}verifiable programs need \emph{not} be obfuscated! The first theorem and its proof is followed by a motivated, concrete example based on a remark of Hilary Putnam. The first theorem has some non-constructivity in its statement and proof, and the second theorem implies some of the non-constructivity is inherent. That result, then, brings up the question of whether there is an acceptable programming system (numbering) for which some non-constructivity of the…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
