Programming Really Is Simple Mathematics

3 months ago 2

[Submitted on 24 Feb 2025 (v1), last revised 27 Feb 2025 (this version, v3)]

View PDF

Abstract:A re-construction of the fundamentals of programming as a small mathematical theory (PRISM) based on elementary set theory. Highlights:
$\bullet$ Zero axioms. No properties are assumed, all are proved (from standard set theory).
$\bullet$ A single concept covers specifications and programs.
$\bullet$ Its definition only involves one relation and one set.
$\bullet$ Everything proceeds from three operations: choice, composition and restriction.
$\bullet$ These techniques suffice to derive the axioms of classic papers on the "laws of programming" as consequences and prove them mechanically.
$\bullet$ The ordinary subset operator suffices to define both the notion of program correctness and the concepts of specialization and refinement.
$\bullet$ From this basis, the theory deduces dozens of theorems characterizing important properties of programs and programming.
$\bullet$ All these theorems have been mechanically verified (using Isabelle/HOL); the proofs are available in a public repository. This paper is a considerable extension and rewrite of an earlier contribution [arXiv:1507.00723]

Submission history

From: Bertrand Meyer [view email]
[v1] Mon, 24 Feb 2025 13:40:42 UTC (738 KB)
[v2] Tue, 25 Feb 2025 12:57:17 UTC (738 KB)
[v3] Thu, 27 Feb 2025 17:44:11 UTC (738 KB)

Read Entire Article