Programming Really Is Simple Mathematics

📅 2025-02-24
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
This paper addresses two key challenges in foundational programming theory: the mathematical complexity of basic programming concepts and the reliance of formal verification on redundant axioms. To resolve these, we propose PRISM—a minimalist programming theory grounded solely in naive set theory. PRISM introduces only one primitive relation, one initial set, and three fundamental operations (selection, composition, and restriction), without assuming any axioms. It unifies program semantics and specifications within a single set-theoretic framework, defining correctness, specialization, and refinement via standard subset inclusion. All core results—including over thirty program properties and classical “programming laws”—are fully mechanized and formally verified in Isabelle/HOL. Our contributions are threefold: (1) the first axiom-free programming theory framework; (2) a unified semantic–specification representation for programs; and (3) an open-source, reproducible, and extensible library of machine-checked proofs.

Technology Category

Application Category

📝 Abstract
A re-construction of the fundamentals of programming as a small mathematical theory (PRISM) based on elementary set theory. Highlights: $ullet$ Zero axioms. No properties are assumed, all are proved (from standard set theory). $ullet$ A single concept covers specifications and programs. $ullet$ Its definition only involves one relation and one set. $ullet$ Everything proceeds from three operations: choice, composition and restriction. $ullet$ These techniques suffice to derive the axioms of classic papers on the"laws of programming"as consequences and prove them mechanically. $ullet$ The ordinary subset operator suffices to define both the notion of program correctness and the concepts of specialization and refinement. $ullet$ From this basis, the theory deduces dozens of theorems characterizing important properties of programs and programming. $ullet$ 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]
Problem

Research questions and friction points this paper is trying to address.

Reconstruct programming fundamentals mathematically
Define specifications and programs with single concept
Mechanically verify theorems using Isabelle/HOL
Innovation

Methods, ideas, or system contributions that make the work stand out.

PRISM: mathematical programming theory
Mechanical verification using Isabelle/HOL
Single concept for specifications, programs
🔎 Similar Papers
No similar papers found.