VAR

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

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

TRANS
  
  a = 15 & b = 15 & c = 15 & d =15
  &
  next(a) = 0 & next(b) = 0 & next(c) = 0 & next(d) = 0
  |
  !(a = 15 & b = 15 & c = 15 & d =15)
  &
  (
    turn = 0
    &
    next(b) = b & next(c) = c & next(d) = d
    &
    (
      a = 15 & next(a) = a
      |
      !a = 15 & next(a) = inc(a)
    )
    |
    turn = 1
    &
    next(a) = a & next(c) = c & next(d) = d
    &
    (
      b = 15 & next(b) = b
      |
      !b = 15 & next(b) = inc(b)
    )
    |
    turn = 2
    &
    next(a) = a & next(b) = b & next(d) = d
    &
    (
      c = 15 & next(c) = c
      |
      !c = 15 & next(c) = inc(c)
    )
    |
    turn = 3
    &
    next(a) = a & next(b) = b & next(c) = c
    &
    (
      d = 15 & next(d) = d
      |
      !d = 15 & next(d) = inc(d)
    )
  )

SPEC
  
  AG ! (a = 15 & b = 15 & c = 15 & d =15)
