Since it's not clear from the title, this is a paper by Leslie Lamport (of TLA+ and Lamport Clock fame) about using mathematical notation to describe algorithms.<p>Editor's introduction: In this column, Leslie Lamport makes the case for using the language of mathematics for describing algorithms. He argues that students should learn to think mathematically when writing code and programs.
The column is a special issue and collaboration of the distributed computing column and the education column.
Enjoy!<p>Abstract: The need to handle large programs and to produce efficient compiled code adds complexity to programming languages and limits their expressiveness. Algorithms are not programs, and they can be expressed in a simpler and more expressive language. That language is the one used by almost every branch of science and engineering to precisely describe and reason about the objects they study: the language of mathematics. Math is useful for describing a more general class of algorithms than are studied in algorithm courses.