###keys gstat #ucvs crossing? mode turn lane[through] lane[nonThrough] v[dv(0)] v[dv(1)] v[v(0)] v[v(1)] v[v(2)] v[v(3)] v[v(4)] v[v(5)] ###textDisplay lane[through]::::QUEUE::::left::::;::::visualdisplay::::v[_]#1 lane[nonThrough]::::QUEUE::::left::::;::::visualdisplay::::v[_]#1 v[v(0)]::::EXT v[v(0)]#1 v[v(1)]::::EXT v[v(1)]#1 v[v(2)]::::EXT v[v(2)]#1 v[v(3)]::::EXT v[v(3)]#1 v[v(4)]::::EXT v[v(4)]#1 v[v(5)]::::EXT v[v(5)]#1 v[v(6)]::::EXT v[v(6)]#1 v[v(7)]::::EXT v[v(7)]#1 v[dv(0)]::::EXT v[dv(0)]#1 v[dv(1)]::::EXT v[dv(1)]#1 ###states (gstat: nFin #ucvs: 6 crossing?: false mode: prioritized turn: through (lane[through]: empq) (lane[nonThrough]: empq) (v[dv(0)]: through,unspace) (v[dv(1)]: through,unspace) (v[v(0)]: through,running) (v[v(1)]: through,running) (v[v(2)]: through,running) (v[v(3)]: through,running) (v[v(4)]: nonThrough,running) v[v(5)]: nonThrough,running) || (gstat: nFin #ucvs: 6 crossing?: false mode: prioritized turn: through (lane[through]: empq) (lane[nonThrough]: v(4)) (v[dv(0)]: through,unspace) (v[dv(1)]: through,unspace) (v[v(0)]: through,running) (v[v(1)]: through,running) (v[v(2)]: through,running) (v[v(3)]: through,running) (v[v(4)]: nonThrough,approaching) v[v(5)]: nonThrough,running) || (gstat: nFin #ucvs: 6 crossing?: false mode: prioritized turn: through (lane[through]: empq) (lane[nonThrough]: v(4)) (v[dv(0)]: through,unspace) (v[dv(1)]: through,unspace) (v[v(0)]: through,running) (v[v(1)]: through,running) (v[v(2)]: through,running) (v[v(3)]: through,running) (v[v(4)]: nonThrough,stopped) v[v(5)]: nonThrough,running) || (gstat: nFin #ucvs: 6 crossing?: false mode: prioritized turn: through (lane[through]: v(3)) (lane[nonThrough]: v(4)) (v[dv(0)]: through,unspace) (v[dv(1)]: through,unspace) (v[v(0)]: through,running) (v[v(1)]: through,running) (v[v(2)]: through,running) (v[v(3)]: through,approaching) (v[v(4)]: nonThrough,stopped) v[v(5)]: nonThrough,running) || (gstat: nFin #ucvs: 6 crossing?: false mode: prioritized turn: through (lane[through]: v(3) ; v(1)) (lane[nonThrough]: v(4)) (v[dv(0)]: through,unspace) (v[dv(1)]: through,unspace) (v[v(0)]: through,running) (v[v(1)]: through,approaching) (v[v(2)]: through,running) (v[v(3)]: through,approaching) (v[v(4)]: nonThrough,stopped) v[v(5)]: nonThrough,running) || (gstat: nFin #ucvs: 6 crossing?: false mode: prioritized turn: through (lane[through]: v(3) ; v(1) ; dv(0)) (lane[nonThrough]: v(4)) (v[dv(0)]: through,space) (v[dv(1)]: through,unspace) (v[v(0)]: through, running) (v[v(1)]: through,approaching) (v[v(2)]: through,running) (v[v(3)]: through,approaching) (v[v(4)]: nonThrough, stopped) v[v(5)]: nonThrough,running) || (gstat: nFin #ucvs: 6 crossing?: false mode: fair turn: through (lane[through]: v(3) ; v(1) ; dv(0) ; v(0)) (lane[nonThrough]: v(4)) (v[dv(0)]: through,space) (v[dv(1)]: through,unspace) (v[v(0)]: through,approaching) (v[v(1)]: through,approaching) (v[v(2)]: through,running) (v[v(3)]: through,approaching) (v[v(4)]: nonThrough,stopped) v[v(5)]: nonThrough,running) || (gstat: nFin #ucvs: 6 crossing?: true mode: fair turn: nonThrough (lane[through]: v(3) ; v(1) ; dv(0) ; v(0)) (lane[nonThrough]: v(4)) (v[dv(0)]: through,space) (v[dv(1)]: through,unspace) (v[v(0)]: through,approaching) (v[v(1)]: through,approaching) (v[v(2)]: through,running) (v[v(3)]: through,crossing) (v[v(4)]: nonThrough,stopped) v[v(5)]: nonThrough,running) || (gstat: nFin #ucvs: 6 crossing?: true mode: fair turn: nonThrough (lane[through]: v(3) ; v(1) ; dv(0) ; v(0) ; dv(1)) (lane[nonThrough]: v(4)) (v[dv(0)]: through,space) (v[dv(1)]: through,space) (v[v(0)]: through,approaching) (v[v(1)]: through,approaching) (v[v(2)]: through,running) (v[v(3)]: through,crossing) (v[v(4)]: nonThrough,stopped) v[v(5)]: nonThrough,running) || (gstat: nFin #ucvs: 6 crossing?: true mode: fair turn: nonThrough (lane[through]: v(3) ; v(1) ; dv(0) ; v(0) ; dv(1) ; v(2)) (lane[nonThrough]: v(4)) (v[dv(0)]: through,space) (v[dv(1)]: through,space) (v[v(0)]: through,approaching) (v[v(1)]: through,approaching) (v[v(2)]: through,approaching) (v[v(3)]: through,crossing) (v[v(4)]: nonThrough,stopped) v[v(5)]: nonThrough,running) || (gstat: nFin #ucvs: 5 crossing?: false mode: fair turn: nonThrough (lane[through]: v(1) ; dv(0) ; v(0) ; dv(1) ; v(2)) (lane[nonThrough]: v(4)) (v[dv(0)]: through,space) (v[dv(1)]: through,space) (v[v(0)]: through, approaching) (v[v(1)]: through,approaching) (v[v(2)]: through,approaching) (v[v(3)]: through,crossed) (v[v(4)]: nonThrough,stopped) v[v(5)]: nonThrough,running) || (gstat: nFin #ucvs: 5 crossing?: true mode: fair turn: through (lane[through]: v(1) ; dv(0) ; v(0) ; dv(1) ; v(2)) (lane[nonThrough]: v(4)) (v[dv(0)]: through,space) (v[dv(1)]: through,space) (v[v(0)]: through,approaching) (v[v(1)]: through,approaching) (v[v(2)]: through,approaching) (v[v(3)]: through,crossed) (v[v(4)]: nonThrough,crossing) v[v(5)]: nonThrough,running) || (gstat: nFin #ucvs: 5 crossing?: true mode: fair turn: through (lane[through]: v(1) ; dv(0) ; v(0) ; dv(1) ; v(2)) (lane[nonThrough]: v(4)) (v[dv(0)]: through,space) (v[dv(1)]: through,space) (v[v(0)]: through,approaching) (v[v(1)]: through,stopped) (v[v(2)]: through, approaching) (v[v(3)]: through,crossed) (v[v(4)]: nonThrough,crossing) v[v(5)]: nonThrough,running) || (gstat: nFin #ucvs: 4 crossing?: false mode: fair turn: through (lane[through]: v(1) ; dv(0) ; v(0) ; dv(1) ; v(2)) (lane[nonThrough]: empq) (v[dv(0)]: through,space) (v[dv(1)]: through,space) (v[v(0)]: through,approaching) (v[v(1)]: through,stopped) (v[v(2)]: through,approaching) (v[v(3)]: through,crossed) (v[v(4)]: nonThrough,crossed) v[v(5)]: nonThrough,running) || (gstat: nFin #ucvs: 4 crossing?: true mode: fair turn: nonThrough (lane[through]: v(1) ; dv(0) ; v(0) ; dv(1) ; v(2)) (lane[nonThrough]: empq) (v[dv(0)]: through,space) (v[dv(1)]: through,space) (v[v(0)]: through, approaching) (v[v(1)]: through,crossing) (v[v(2)]: through,approaching) (v[v(3)]: through,crossed) (v[v(4)]: nonThrough,crossed) v[v(5)]: nonThrough,running) || (gstat: nFin #ucvs: 4 crossing?: true mode: fair turn: nonThrough (lane[through]: v(1) ; dv(0) ; v(0) ; dv(1) ; v(2)) (lane[nonThrough]: v(5)) (v[dv(0)]: through,space) (v[dv(1)]: through,space) (v[v(0)]: through,approaching) (v[v(1)]: through,crossing) (v[v(2)]: through,approaching) (v[v(3)]: through,crossed) (v[v(4)]: nonThrough,crossed) v[v(5)]: nonThrough,approaching) || (gstat: nFin #ucvs: 3 crossing?: false mode: prioritized turn: nonThrough (lane[through]: dv(0) ; v(0) ; dv(1) ; v(2)) (lane[nonThrough]: v(5)) (v[dv(0)]: through,space) (v[dv(1)]: through,space) (v[v(0)]: through,approaching) (v[v(1)]: through,crossed) (v[v(2)]: through,approaching) (v[v(3)]: through,crossed) (v[v(4)]: nonThrough,crossed) v[v(5)]: nonThrough,approaching) || (gstat: nFin #ucvs: 3 crossing?: false mode: prioritized turn: nonThrough (lane[through]: dv(0) ; v(0) ; dv(1) ; v(2)) (lane[nonThrough]: v(5)) (v[dv(0)]: through,space) (v[dv(1)]: through,space) (v[v(0)]: through,approaching) (v[v(1)]: through,crossed) (v[v(2)]: through,approaching) (v[v(3)]: through,crossed) (v[v(4)]: nonThrough,crossed) v[v(5)]: nonThrough,stopped) || (gstat: nFin #ucvs: 3 crossing?: false mode: prioritized turn: nonThrough (lane[through]: v(0) ; dv(1) ; v(2)) (lane[nonThrough]: v(5)) (v[dv(0)]: through,yield) (v[dv(1)]: through,space) (v[v(0)]: through, approaching) (v[v(1)]: through,crossed) (v[v(2)]: through,approaching) (v[v(3)]: through,crossed) (v[v(4)]: nonThrough, crossed) v[v(5)]: nonThrough,stopped) || (gstat: nFin #ucvs: 3 crossing?: true mode: prioritized turn: nonThrough (lane[through]: v(0) ; dv(1) ; v(2)) (lane[nonThrough]: v(5)) (v[dv(0)]: through,yield) (v[dv(1)]: through,space) (v[v(0)]: through,crossing) (v[v(1)]: through,crossed) (v[v(2)]: through,approaching) (v[v(3)]: through,crossed) (v[v(4)]: nonThrough,crossed) v[v(5)]: nonThrough,stopped) || (gstat: nFin #ucvs: 2 crossing?: false mode: prioritized turn: nonThrough (lane[through]: dv(1) ; v(2)) (lane[nonThrough]: v(5)) (v[dv(0)]: through,yield) (v[dv(1)]: through,space) (v[v(0)]: through,crossed) (v[v(1)]: through,crossed) (v[v(2)]: through,approaching) (v[v(3)]: through,crossed) (v[v(4)]: nonThrough,crossed) v[v(5)]: nonThrough,stopped) || (gstat: nFin #ucvs: 2 crossing?: true mode: prioritized turn: nonThrough (lane[through]: v(2)) (lane[nonThrough]: v(5)) (v[dv(0)]: through,yield) (v[dv(1)]: through,yield) (v[v(0)]: through,crossed) (v[v(1)]: through,crossed) (v[v(2)]: through,approaching) (v[v(3)]: through,crossed) (v[v(4)]: nonThrough,crossed) v[v(5)]: nonThrough,crossing) || (gstat: nFin #ucvs: 2 crossing?: true mode: prioritized turn: nonThrough (lane[through]: v(2)) (lane[nonThrough]: v(5)) (v[dv(0)]: through,yield) (v[dv(1)]: through,yield) (v[v(0)]: through,crossed) (v[v(1)]: through,crossed) (v[v(2)]: through,stopped) (v[v(3)]: through,crossed) (v[v(4)]: nonThrough, crossed) v[v(5)]: nonThrough,crossing) || (gstat: nFin #ucvs: 1 crossing?: false mode: prioritized turn: nonThrough (lane[through]: v(2)) (lane[nonThrough]: empq) (v[dv(0)]: through,yield) (v[dv(1)]: through,yield) (v[v(0)]: through, crossed) (v[v(1)]: through,crossed) (v[v(2)]: through,stopped) (v[v(3)]: through,crossed) (v[v(4)]: nonThrough,crossed) v[v(5)]: nonThrough,crossed) || (gstat: nFin #ucvs: 1 crossing?: true mode: prioritized turn: nonThrough (lane[through]: v(2)) (lane[nonThrough]: empq) (v[dv(0)]: through,yield) (v[dv(1)]: through,yield) (v[v(0)]: through,crossed) (v[v(1)]: through,crossed) (v[v(2)]: through,crossing) (v[v(3)]: through,crossed) (v[v(4)]: nonThrough,crossed) v[v(5)]: nonThrough,crossed) || (gstat: nFin #ucvs: 0 crossing?: false mode: prioritized turn: nonThrough (lane[through]: empq) (lane[nonThrough]: empq) (v[dv(0)]: through,yield) (v[dv(1)]: through,yield) (v[v(0)]: through,crossed) (v[v(1)]: through,crossed) (v[v(2)]: through,crossed) (v[v(3)]: through,crossed) (v[v(4)]: nonThrough,crossed) v[v(5)]: nonThrough,crossed) || (gstat: fin #ucvs: 0 crossing?: false mode: prioritized turn: nonThrough (lane[through]: empq) (lane[nonThrough]: empq) (v[dv(0)]: through,yield) (v[dv(1)]: through,yield) (v[v(0)]: through,crossed) (v[v(1)]: through,crossed) (v[v(2)]: through,crossed) (v[v(3)]: through,crossed) (v[v(4)]: nonThrough,crossed) v[v(5)]: nonThrough,crossed)