連動性2
いろいろ考えたら無限の内部遷移()のループに陥る可能性があることを
プロパティでかけばよいではないか。
prop can_livelock = min X = livelock_now \/ <->X prop livelock_now = max X = <t>X
proc X = a.b.X proc Y = c.d.Y *Zは直積です proc Z = (X | Y) set Internals_cd = {c, d} *ab,cdをそれぞれ隠蔽するためのものです proc Hide_cd = 'c.Hide_cd + 'd.Hide_cd *Zからcdを隠蔽した遷移系を得ます proc Proj_ab = (Z | Hide_cd) \ Internals_cd
これでsearchコマンドによりlivelockを判断します
cwb-nc> search Proj_ab can_livelock
これで大丈夫そうだ!