VAR

  a[8]
  b[8]
  c[8]
  d[8]
  turn[2]

INIT 
  
  a = 0 & b = 0 & c = 0 & d = 0

TRANS
  
  a = 255 & b = 255 & c = 255 & d =255
  &
  next(a) = 0 & next(b) = 0 & next(c) = 0 & next(d) = 0
  |
  a = 50 & b = 50 & c = 50 & d =50
  &
  next(a) = 150 & next(b) = 150 & next(c) = 150 & next(d) = 150
  |
  a = 150 & b = 150 & c = 150 & d =150
  &
  next(a) = 20 & next(b) = 20 & next(c) = 20 & next(d) = 20
  |
  a = 20 & b = 20 & c = 20 & d =20
  &
  next(a) = 99 & next(b) = 99 & next(c) = 99 & next(d) = 99
  |
  a = 99 & b = 99 & c = 99 & d =99
  &
  next(a) = 50 & next(b) = 50 & next(c) = 50 & next(d) = 50
  |
  !(a = 255 & b = 255 & c = 255 & d =255)
  &
  (
    turn = 0
    &
    next(b) = b & next(c) = c & next(d) = d
    &
    (
      a = 255 & next(a) = a
      |
      !a = 255 & next(a) = inc(a)
    )
    |
    turn = 1
    &
    next(a) = a & next(c) = c & next(d) = d
    &
    (
      b = 255 & next(b) = b
      |
      !b = 255 & next(b) = inc(b)
    )
    |
    turn = 2
    &
    next(a) = a & next(b) = b & next(d) = d
    &
    (
      c = 255 & next(c) = c
      |
      !c = 255 & next(c) = inc(c)
    )
    |
    turn = 3
    &
    next(a) = a & next(b) = b & next(c) = c
    &
    (
      d = 255 & next(d) = d
      |
      !d = 255 & next(d) = inc(d)
    )
  )

SPEC
  
  AF (a = 255 & b = 255 & c = 255 & d =255)
