Can computer programming be built on a foundation of logic? This groundbreaking paper explores the logical foundations of computer programming, drawing parallels to the axiomatic systems used in geometry and mathematics. By elucidating sets of axioms and rules of inference, the author aims to provide a rigorous framework for proving the properties of computer programs. Examples of such axioms and rules are provided, along with a formal proof of a simple theorem, illustrating the practical application of this approach. The research establishes formal methods for verifying program correctness, emphasizing theoretical underpinnings and practical applications. The paper suggests future research topics for computer programming that need expansion. Ultimately, this work argues that significant advantages, both theoretical and practical, can be gained by pursuing these topics, paving the way for more reliable and robust software development.
Published in Communications of the ACM, a leading journal for computer science, this article fits directly into the journal’s focus on advancing the theoretical and practical aspects of computing. It addresses the core principles of program construction. It is cited in many related articles and provides a foundation for future discussions.