Variables: 
bool[1]: "a" 
bool[2]: "b" 
bool[3]: "c" 

Event graph: 
event[0]: fork: null, #pred: 0, succ: 1 

# process[0]:
event[1]: assign: a := true, pid: 0, #pred: 1, succ: 18 
event[2]: null: null, pid: 0, #pred: 1, succ: 18 
event[3]: join: , pid: 0, #pred: 2, succ: 2 
event[4]: assign: b := true, pid: 0, #pred: 1, succ: 3 
event[5]: assign: c := true, pid: 0, #pred: 1, succ: 3 
event[6]: fork: , pid: 0, #pred: 1, succ: 4 5 
event[7]: assign: a := false, pid: 0, #pred: 1, succ: 6 
event[8]: join: , pid: 0, #pred: 2, succ: 2 
event[9]: assign: c := true, pid: 0, #pred: 1, succ: 8 
event[10]: assign: a := true, pid: 0, #pred: 1, succ: 8 
event[11]: fork: , pid: 0, #pred: 1, succ: 9 10 
event[12]: assign: b := false, pid: 0, #pred: 1, succ: 11 
event[13]: join: , pid: 0, #pred: 2, succ: 2 
event[14]: assign: a := true, pid: 0, #pred: 1, succ: 13 
event[15]: assign: b := true, pid: 0, #pred: 1, succ: 13 
event[16]: fork: , pid: 0, #pred: 1, succ: 14 15 
event[17]: assign: c := false, pid: 0, #pred: 1, succ: 16 
event[18]: select: [ a -> ... : b -> ... : c -> ... ], pid: 0, #pred: 1, succ: 7 12 17 
bool deps: 1 2 3 

