Programming Really Is Simple Mathematics

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. 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]

0

Turn this paper into a full lesson

ArcXiv compiles a staged curriculum from this paper: 8-12 lessons across beginner → advanced, synthesised section guides, visuals, flashcards, a quiz, exercises, and on-demand deep dives per section. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…