Programs as proofs
J{\o}rgen Steensgaard-Madsen

TL;DR
This paper explores the Curry-Howard correspondence, proposing a semantics for internal definitions in programming languages that links operations to logical axioms, enhancing understanding of program verification.
Contribution
It introduces a transformer-like semantics for internal definitions, connecting programming language constructs with logical inference rules and theories.
Findings
Semantics for internal definitions derived from defining computations.
Applications of defined operations correspond to logical axioms.
Languages can be viewed as logical theories based on their semantics.
Abstract
The Curry-Howard correspondence is about a relationship between types and programs on the one hand and propositions and proofs on the other. The implications for programming language design and program verification is an active field of research. Transformer-like semantics of internal definitions that combine a defining computation and an application will be presented. By specialisation for a given defining computation one can derive inference rules for applications of defined operations. With semantics of that kind for every operation, each application identifies an axiom in a logic defined by the programming language, so a language can be considered a theory.
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.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Logic, Reasoning, and Knowledge
