Lecture Notes for Concurrent Programming

12 June 2003 - Safety, Liveness, and Fairness


This is an outright lie; the proof technique that follows is way too simple to actually prove liveness properties. For example, P doesn't have to be true every time execution hits it; it just has to be true one of those times. Also, you can assume that all previous times that execution hit P, it was equivalent to false (otherwise, you would have completed the proof).

The methods and techniques required to prove general liveness properties are involved and subtle. It will be enough for this class, and for concurrent programming in general, that you remember what liveness properties are and be able to argue their liveness with hand-waving, but convincing, arguments.


This page last modified on 25 June 2003.