Part I of this two-part paper presented a new semantics of programs. Each program is considered to be a predicate, in a restricted notation, that specifies the observable behavior of a computer executing the program. We considered a variety of notations, including assignment, composition (semicolon), deterministic choice (if), nondeterministic choice, definition (nonrecursive and recursive), and variable declaration. We did not consider any input or output notations, or concurrency; that is the subject of Part II. We assume the reader is familiar with Part I, so that we can build on ideas presented there.
The Latest from CACM
Shape the Future of Computing
ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.
Get InvolvedCommunications of the ACM (CACM) is now a fully Open Access publication.
By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.
Learn More
Join the Discussion (0)
Become a Member or Sign In to Post a Comment