int x = 1;
int y = 1;

proctype p1 {	
	do
	:: true ->
		store(x,1);		
		if
		:: load(y,1) -> skip;
		fi;
		store(x,0);
		if
		:: load(y,1) -> skip;
		fi;
	od;
}

proctype p2 {
	do
	:: true ->
		store(y,1);
		if
		:: load(x,0) -> skip;
		fi;
		store(y,0);		
		if
		:: load(x,1) -> skip;
		fi;
	od;
}
