const int k; // States with k tokens - where only k processes have the same value as the process to its left label "k_tokens" = (x1=x2?1:0)+(x2=x3?1:0)+(x3=x4?1:0)+(x4=x5?1:0)+(x5=x6?1:0)+(x6=x7?1:0)+(x7=x8?1:0)+(x8=x9?1:0)+(x9=x1?1:0) = k; // Stable states - where only one process has a token label "stable" = (x1=x2?1:0)+(x2=x3?1:0)+(x3=x4?1:0)+(x4=x5?1:0)+(x5=x6?1:0)+(x6=x7?1:0)+(x7=x8?1:0)+(x8=x9?1:0)+(x9=x1?1:0) = 1; // A stable state is reached with probability 1 "init" => P>=1 [ true U "stable" ] // Maximum expected time to reach a stable state (for all configurations) R=? [ F "stable" {"init"}{max} ] // Maximum expected time to reach a stable state (for all k-token configurations) R=? [ F "stable" {"k_tokens"}{max} ] // Minimum expected time to reach a stable state (for all k-token configurations) R=? [ F "stable" {"k_tokens"}{min} ]