Boehm, Hans-J.2007-04-232007-04-231984-02http://techreports.library.cornell.edu:8081/Dienst/UI/1.0/Display/cul.cs/TR84-593https://hdl.handle.net/1813/6433We consider a programming language with a number of characteristics detrimental to conventional axiomatic descriptions. These include arbitrary side effects in expressions, aliasing among variables, very general recursive function declarations, and the ability to pass functions as parameters and return them as results. We give an axiomatic definition of this language based on a novel formalism. We prove the axiomatization sound and relatively complete with respect to a (somewhat nonstandard) denotational semantics. In spite of the nonstandard formalism, most conventional techniques for developing and reasoning about programs can be carried over. (ABRIDGED)6269264 bytes1796297 bytesapplication/pdfapplication/postscripten-UScomputer sciencetechnical reportA Logic for the Russell Programming Languagetechnical report