**University of Virginia, Department of Computer Science**

**CS655: Programming Languages, Spring 2000**
**Manifest: Thursday 2 March 2000**

**Readings**

No new readings. Read Necula & Lee paper before Tuesday
(see 29 Feb Manifest).

**Questions**

- What are the comparative advantages and disadvantages of axiomatic semantics, operational semantics and static semantics?
- How to use axiomatic semantics to find the weakest pre-condition for some post-condition and code.
- What is the difference between partial correctness and total correctness?
- How to do a total correctness proof for a simple
**while** loop.

**Useful Proof Methods**

**Proof by intimidation**: "Trivial" or "obvious."

**Proof by exhaustion**: An issue or two of a journal devoted to your proof is useful.

**Proof by omission**: ``The reader may easily supply the details'', ``The other 253 cases are analogous''

**Proof by obfuscation**: A long plotless sequence of true and/or meaningless syntactically related statements.

**Proof by funding**: How could three different government agencies be wrong?

**Proof by lack of funding**: How could anything funded by those bozos be correct?

**Proof by democracy**: A lot of people believe it's true: how could they all be wrong?

**Proof by reference to inaccessible literature**: The author cites a simple corollary of a theorem to be found in a privately circulated memoir of the Icelandic Philological Society, 1883. This works even better if the paper has never been translated from the original Icelandic.

**Proof by forward reference**: Reference is usually to a forthcoming paper of the author, which is often not as forthcoming as at first.

**Proof by flashy graphics**: A moving sequence of shaded, 3D color models will convince anyone that your object recognition algorithm works. An SGI workstation is helpful here.

**Proof by vehement assertion**: It is useful to have some kind of authority relation to the audience, so this is particularly useful in classroom settings.

**Proof by vigorous handwaving**: Works well in a classroom, seminar, or workshop setting.

**Proof by cumbersome notation**: Best done with access to at least four alphabets, special symbols, and the newest release of LaTeX.

**Proof by lack of space**:
"The proof is not detailled due to lack of space in this proceedings..." works well in conjunction with proof by forward reference.

Selected from *http://www.ai.sri.com/~luong/research/proof.html*.

None of these proof methods are suggested in your problem sets or project reports.