VAR 

  a[8]
  b[8]
  c[8]
  d[8]

  turn[2]

ASSIGN

  init(a) := 0;

  next(a) := 
    case
      turn = 0 : 
        case
	  flag : inc(a);
	  1 : dec(a);
	esac;
      1 : a;
    esac;

  init(b) := 0;

  next(b) := 
    case
      turn = 1 : 
        case
	  flag : inc(b);
	  1 : dec(b);
	esac;
      1 : b;
    esac;
  
  init(c) := 0;

  next(c) := 
    case
      turn = 2 : 
        case
	  flag : inc(c);
	  1 : dec(c);
	esac;
      1 : c;
    esac;
  
  init(d) := 0;

  next(d) := 
    case
      turn = 3 : 
        case
	  flag : inc(d);
	  1 : dec(d);
	esac;
      1 : d;
    esac;
  
SPEC
  AG !(a = 2 & b = 2 & c = 2 & d = 2)
