Fen—an axiomatic basis for program semantics
- 1 August 1973
- journal article
- Published by Association for Computing Machinery (ACM) in Communications of the ACM
- Vol. 16 (8), 468-474
- https://doi.org/10.1145/355609.362316
Abstract
A formal system is presented which abstracts the notions of data item, function, and relation. It is argued that the system is more suitable than set theory (or its derivatives) for the concise and accurate description of program semantics. It is shown how the system can be used to build composite data types out of simpler ones with the operations of rowing, structuring, and uniting. It is also demonstrated that completely new primitive types can be introduced into languages through the mechanism of singleton data types. Both deterministic and nondeterministic functions are shown to be definable in the system. It is described how the local environment can be modeled as a data item and how imperative statements can be considered functions on the environment. The nature of recursive functions is briefly discussed, and a technique is presented by which they can be introduced into the system. The technique is contrasted with the use of the paradoxical combinator, Y . The questions of local and global environments and of various modes of function calling and parameter passing are touched upon. The theory is applied to the proof of several elementary theorems concerning the semantics of the assignment, conditional, and iterative statements. An appendix is included which presents in detail the formal system governing webs and fen , the abstractions used informally in the body of the paper.Keywords
This publication has 13 references indexed in Scilit:
- Derived semantics for some programming language constructsCommunications of the ACM, 1972
- Recursive definitions of partial functions and their computationsACM SIGPLAN Notices, 1972
- Inductive methods for proving properties of programsACM SIGACT News, 1972
- Data types and extensible languagesACM SIGPLAN Notices, 1971
- Generalized data structures in Madcap VIACM SIGPLAN Notices, 1971
- The lattice of flow diagramsPublished by Springer Nature ,1971
- Some Completeness Results in the Mathematical Theory of ComputationJournal of the ACM, 1968
- The next 700 programming languagesCommunications of the ACM, 1966
- Correspondence between ALGOL 60 and Church's Lambda-notationCommunications of the ACM, 1965
- Die Axiomatisierung der MengenlehreMathematische Zeitschrift, 1928