Programming Really Is Simple Mathematics
Bertrand Meyer, Reto Weber

TL;DR
This paper reconstructs the fundamentals of programming as a simple mathematical theory based on set theory, deriving key properties and laws mechanically verified using Isabelle/HOL.
Contribution
It introduces PRISM, a minimal set-theoretic framework for programming, deriving laws and properties from only three operations and a single relation, with proofs mechanized.
Findings
Derivation of classical programming laws from minimal axioms
Mechanized verification of theorems using Isabelle/HOL
Unified theory covering specifications, programs, and correctness
Abstract
A re-construction of the fundamentals of programming as a small mathematical theory (PRISM) based on elementary set theory. Highlights: Zero axioms. No properties are assumed, all are proved (from standard set theory). A single concept covers specifications and programs. Its definition only involves one relation and one set. Everything proceeds from three operations: choice, composition and restriction. These techniques suffice to derive the axioms of classic papers on the "laws of programming" as consequences and prove them mechanically. The ordinary subset operator suffices to define both the notion of program correctness and the concepts of specialization and refinement. From this basis, the theory deduces dozens of theorems characterizing important properties of programs and programming. …
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.
Taxonomy
TopicsLogic, programming, and type systems · Computability, Logic, AI Algorithms · Logic, Reasoning, and Knowledge
