Lecture Notes for Concurrent Programming

6 June 2003 - Avoiding Interference


To simplify the predicate

(x0 = 0  or  x0 = 1)  and  x1 = 0

use the property that and distributes over or to get the predicate

(x0 = 0 and  x1 = 0)  or  (x0 = 1  and  x1 = 0)  

The right-hand or operand can be simplified by noting it's identical to false: x can never be equal to both 0 and 1 at the same time (because x is global, the subscripts only clarify which thread is referencing x).

(x0 = 0 and  x1 = 0)  or  false  

The left-hand or operand can be simplified by using the and property A and A == A.

x = 0  or  false  

The last simplification involves the or identity property: A or false == false or A == A.

x = 0


This page last modified on 11 June 2003.