Ù ¼ 2 Ô ØÙ ½ ÅÜ À Û ÐÄ Ñ Ñ À ³ Û À ³À ÆÀ 21 Ñ Ó Ï Ó±Ï ¹ ÐÄ Ý± ß Ð F ß Ð G B = (F, P) Ó±Ï Ó Ð WFF B B Ê Ð T B WFF B Ã Ó Ð QFF B À Ï Ð Ó±Ï ß È WFF B Ó È T B Ê 211 º Ó ± È Ó±Ï ¹ È Ñг Ó³ Ó³ ³ Ç Ó±Ï ½ ÁÂ Ð ß ß AX {:=, :, goto, if, else} ß ß LB {beg, end, l 1, l 2,, } ÐÄ B = (F, P) à РV ÄÙ (B, V ) È Â³ Ç Á l 1 : (x 1,, x n ) := (t 1,, t n ) goto l 2 l 1 : if (e) goto l 2 else goto l 3 l 1, l 2, l 3 LB ß l 1 end, t 1,, t n T B Þ n i=1 V ar(t i) V, e QFF B Þ V ar(e) V, x 1,, x n V ÞË 1 i < j n, x i x j
ß ß³ÆÄÙ ß ß»³ ßÄÙ Definition 21 à (B, V ) Û T ½ Ê È beg ¾ È end ½ ³ È end ŠȾ Ã È À½ ÐÄ B = (F, P) à РV (B, V ) È Ð L (B,V ) L B ) Ð Ã Ð V L(B,V «¹ È À º»ÐÂ ß Ãº» ß «À º» ú» V ÃĐ Ð Σ = {σ σ(x) D, x V } À º» ß V ÃĐ Ð LB Σ ¹ Ë«ÐÄ B Ó I ÐÄ Ç t (l i, σ i ) t (l i+1, σ i+1 ) Þ ÁÓ³ß t l i : (v 1,, v n ) := (t 1,, t n ) goto l i+1 Þ σ i+1 = σ i [v 1 /I(t 1 )(σ i )] [v n /I(t n )(σ i )] t l i : (if (e) goto l else goto l σ i+1 = σ i Þ σ i = I e l i+1 = l l i+1 = l ÐÄÈ T B Ó I ÄÙÈ À º» ¹ À T Á (l i, σ i ) T (l i+1, σ i+1 ) Þ ÁÓ³ß Ç t T (l i, σ i ) t (l i+1, σ i+1 ) «Ð ÇÞ (l i, σ i ) = (l i+1, σ i+1 ) ÀÎÊ ² º»«Ð ØÙ ÜÙ Í T T Í
Þ [(l i, σ i )] i 0 ÀÅ (l 0, σ 0 )(l 1, σ 1 )(l 2, σ 2 ) È T Ó º» LB Σ Ó Å [(l i, σ i )] i 0 l 0 = beg ÞË Ø i 0, (l i, σ i ) (l i+1, σ i+1 ) È T º ú» σ 0 º» Ð {(l, σ) (beg, σ 0 ) (l, σ)} º ú» σ ² Þ σ (beg, σ) (end, σ ) º Ó ± º º» ² º» À ² ϕ T º º» ψ Ë T ² º» ÑÐ ϕ ³ ÛÊ ψ ³ Ê T ËĐ ϕ ψ ÄÙ º ú» ϕ Ú ² ² ú» ψ T ËĐ ϕ ψ ÄÙ º ú» ϕ ² Þ² ú» ψ ϕ(σ) ((beg, σ) (end, σ ) ψ(σ )) ϕ(σ) ((beg, σ) (end, σ ) ψ(σ )) T ËĐ ϕ ψ = I {ϕ}t {ψ} = I [ϕ]t[ψ] Å ±µ È ÇÝ (B, V ) I
212 ÊÎ Ï º Ó ± ³Õ Ó±Ï ¹ Ñ Ñ Ð ³ Ð ÐÄ B = (F, P) Á Ð ß {:=, ;, if, then, else, fi, while, do, od, ǫ} Definition 22 Ä B = (F, P) É Ê V à (B, V ) Û ÆË Ì Ð Ã¼Â Ô Ê S Ù Ô T Ù S ::= ǫ T; ǫ T ::= x := t T; T if e then T else T fi while e do T od Ô x V t T B B Û Ö V ar(t) V e QFF B Ã Å Ö V ar(e) V ÐÄ B = (F, P) à РV (B, V ) ³Õ Ð L (B,V ) ÜÙØÙ ß Á ³ ǫ Í «¹ À º»Ð ú» ú» V ÃĐ Ð Σ = {σ σ(x) D, x V } À º» V ÃĐ Ð L (B,V ) Σ
¹ Ë«Ó ÙĐ Đ B ÐÄ B Ó I À º» ÚÕ À (L (B,V ) Σ)2 Ó» (S 0, σ 0 ) (S 1, σ 1 ) Þ ÁÓÊ S 0 S 1 σ 1 x := t; S S σ 0 [x/i(t)(σ 0 )] if (e) then S else S fi; S σ 0 = I e S; S σ 0 if (e) then S else S fi; S σ 0 = I e S ; S σ 0 while e do S od; S σ 0 = I e S; while (e) do S od; S σ 0 while e do S od; S σ 0 = I e S σ 0 ǫ ǫ σ 0 ÓÊ ² º»«Þ [(S i, σ i )] i 0 ÀÅ (S 0, σ 0 )(S 1, σ ) (S 2, σ 2 ) T Ó º» L (B,V ) Σ) Ó Å [(S i, σ i )] i 0 S 0 = T ÞË Ø i 0, (S i, σ i ) (S i+1, σ i+1 ) T º ú» σ 0 º» Ð {(T, σ) (T, σ 0 ) (T, σ)} T º ú» σ ² Þ σ (T, σ) (ǫ, σ ) º Ó ± ϕ T º º» ψ Ë T ² º» ÑÐ T ËĐ ϕ ψ ÄÙ Á ϕ(σ) ((T, σ) (ǫ, σ ) ψ(σ )) ϕ(σ) ((T, σ) (ǫ, σ ) ψ(σ ))
Å ±µ ³Õ ÇÝ (B, V ) I 213 «(FTS) º Ó ± FTS Ó±Ï ¹ FTS ¹ ÚÕ À ÑÐÂ Ñ ¼ À Åܺ Ó±Ï ½ ß Õ Á {, :=} ÐÄ B = (F, P) à РV ÄÙ (B, V ) Ú p (v 1, v 2,, v n ) := (e 1, e 2,, e n ) p QFF B Ó Ã Ó Þ V ar(p) V v 1, v 2,, v n V e 1, e 2,, e n T B B Ê Þ n i=1 V ar(e i) V Ó ÚÕ À ӻŠDefinition 23 à (B, V ) Û FTS Ð ÃÁ ¾ (T, Θ) Ô T (B, V ) ÛÕ Ê Θ QFF B ß Ð Ã Å Ö V ar(θ) V B ÄÄÚÕÀ ß Ý± ß ß ÜÙ Ã σ ÄÀ Ã Ó º» Û Ò³ σ º» º» Ð Σ Á B I = (D, I 0 ) ÖºÐÄ ¹ À º» V ÃĐ Ð Σ = {σ σ(x) D, x V }
¹ Ë«ÚÕ ϕ (v 1, v 2,, v n ) := (e 1, e 2,, e n ) º» σ Þ σ = I ϕ t ϕ (v 1, v 2,, v n ) := (e 1, e 2,, e n ) Ó ÚÕ Þ σ σ t t º» σ Þ σ = σ[v 1 /I(e 1 )(σ)] [v n /I(e n )(σ)] Þ σ σ º» σ ÚÕ t Þ σ t σ º» σ ÚÕÞ σ = σ Þ [σ i ] i 0 ÀÅ σ 0 σ 1 σ 2 σ 3 Ó±ÚÕÀ (T, Θ) Ó º» Σ Ó Å [σ i ] i 0 σ 0 = I Θ ÞË Ø i 0, σ i σ i+1 ¹ Þ σ σ t T σ σ t º» Ð A º» Ð rh(a) {σ σ σ, σ A} À º» Ð rh(θ) {σ σ σ, σ = I Θ} Ú º Ó ± ÐÄÓ º»Ó ϕ À ϕ Þ À º»Æ ϕ σ rh(θ)σ = I ϕ Æ º Ó ± ÐÄÓ Â º»Ó ϕ, ψ À ÉÝ (ϕ, ψ) Þ À Úк» ϕ «Ðº» ψ
Å ±µ Ó±ÚÕÀ ÇÝ (B, V ) I 22 Kripke Ê FTS À º» À I ¹ Ä º» º» À Ð Đ À º Ú 221 Kripke Ê (KS) FTS»Ï º» Σ ¼Äº» À Ñ Ðº» ÚÕ À À º º» º Ú Definition 24 à Kripke ÆÐ ÃÚ ¾ S,, I Ô S ¹ Ê S S S Û «Õ Ç I S ß¹ Ð Í Þ s s s s ÚÕ (s, s ) Þ [s i ] n i=0 Ð Å s 0 s 1 s 2 s n Kripke ³Õ Ð É» S Ð Å [s i ] n i=0 Ë Ø 0 i n 1, s i s i+1 Kripke ³Õ É» S Å [s i ] i 0 Ë Ø i 0, s i s i+1 Kripke ³Õ Kripke ³Õ É» [s i ] i 0 s 0 I ¹ Þ ¾Á¼ Å º» Ð A º» Ð rh(a) {σ σ σ, σ A} À º» Ð rh(i) Ú À Þº» Ð À A Þ À º»Æ A rh(i) A Ë º» Ð A Þ À º» A rh(i) A º Ú
Æ ĐÄ ÐÄÓ º» Ð S 0 S ÄÙ error state(q) q S 0 À S 0 Á S S 0 º» Ä S S 0 º» À S 0 start() { W = A = {}; for each initial state s, if (s is not in A) { add s to W; dfs(); } } dfs() { q = last element from W; add q to A; if (error state(q)) report( reachable ); else for each successor state s of q if (s is not in A) { add s to W; dfs(); } delete q from W; } ĐÄ²Û ÍÈ ÐÄÓ Kripke ³Õ Ó º» q 0 error state(q)=true Þ q = q 0 reachable Þ º» Kripke ³Õ º» È Æ º Ú º» 222 Ì KS Đ KS ËĐÀ ÛĐ KS Þº» Ã Ú Ð ½ Ä Þ Ä ÖÞ ³Õ º» Ó º» ÀÀÙ ÄÄÙ Ê º» º Ú Definition 25 Ä Ã±ºÑ Ê AP à AP Û È KS Ð Ã ¾ S,, I, L
Ô S,, I Kripke Æ L : S 2 AP ¹ Ê AP Ð Ü Ð Ó ³Õ L(s) s ¹Ð s» л p s Þ p L(s) º Ï Ó Ï» Ð AP ¹Ð Ó Ð L AP Þ Ï Ó ÐÄÓ AP ß Kripke ³Õ S,, I, L Ó º» s S ϕ L AP M, s = ϕ ÄÙ Á M, s = ϕ Þ M, s = p p AP Þ p L(s) M, s = ψ M, s = ψ M, s = ψ 0 ψ 1 M, s = ψ 0 «M, s = ψ 1 M, s = ψ 0 ψ 1 M, s = ψ 0 Þ M, s = ψ 1 M, s = ψ 0 ψ 1 M, s = ψ 0 M, s = ψ 1 M, s = ψ 0 ψ 1 M, s = ψ 0 Þ M, s = ψ 1 Ó Ó ËÝĐÓ º» Ð ϕ ËÝĐº» Ð {s M, s = ϕ} Þ [[ϕ]] º» Ð {s M, s = ϕ} Ú À ÞÓ À ϕ Þ À º»Æ ϕ s rh(i)(m, s = ϕ) rh(i) [[ϕ]] error state(q) M, s = ϕ «q [[ϕ]] Ì KS «KS FTS KS FTS KS º» Î FTS Ã Đ Ä ÐÄ B = (V, F, P) FTS (T, Θ) ÐÄ B I V = {v 1,, v n } ÞÇ v v Đ ± º» Î v 1 v 2 v n Þ n º» (a 1,, a n ) a 1,, a n v 1,, v n ÚÕ Ð FTS ÚÕ t T σ σ t ((σ(v 1 ), σ(v 2 ),, σ(v n )), (σ (v 1 ), σ (v 2 ),, σ (v n ))) º º» Ð I Ѿ Θ ÄÙ σ = I Θ (σ(v 1 ), σ(v 2 ),, σ(v n )) I Ë Ã v {a 1,, a v } Õ v {p 1,, p v } v = a 1, v = a 2,, v = a v ËÝ ÓÊ
p v,a v = a ÄÙ L Á p xi,a L((x 1,, x n )) Þ x i = a Ð ÐÓ» Ð AP ß Kripke ³Õ M (T,Θ) = S,, I, L Ê ²Û ÐÄ B = (V, F, P) FTS (T, Θ) B I = (D, I 0 ) D Ð Ð 1 σ 0 σ 1 (T, Θ) Ó Þ s 0 s 1 M (T,Θ) Ó Þ σ i (x) = a Þ p x,a L(s i ) 2 s 0 s 1 M (T,Θ) Ó Þ σ 0 σ 1 (T, Θ) Ó Þ σ i (x) = a Þ p x,a L(s i ) Šл ±µ n! ÇÝ Kripke ³Õ 0 n 5 * ± Ì KS ß KS Ê º» Ë º» Ó Definition 26 Ä Ã±ºÑ Ê AP à AP Û È KS Ð Ã ¾ S,, I, L Ô S,, I Kripke Æ L : S L AP ¹ Ê Ñ Å Ê Ü ÐÄÓ AP ß Kripke ³Õ S,, I, L Ó º» s S ϕ L AP M, s = ϕ Þ L(s) ϕ Ú À º»Æ ϕ ϕ L AP Þ À À ϕ L AP Þ ϕ º» ϕ: s rh(i)(l(s) ϕ) ϕ: s rh(i)(l(s) ϕ) º Ú 23 Ì Â Kripke ³Õ Ñ º» º» ¹ À Å º»Ï Ä Å Ò À Ó
º ¼Å Æ ¼Å Æ Ó ½ Ó Å ½ Å ¼Å Æ Û ½ ÑÅ 231 Ì «(LTS) Definition 27 à ÈÕ Ð Ã ¾ Σ, S,, I Ô Σ È Ê S ¹ Ê S Σ S Ð Ã È Õ Ç I ß¹ º ¼Å Æ Þ s a s s s a ÚÕ (s, a, s ) LTS Ó º» S Ó Å [s i ] i 0 s 0 I ÞË Ø i 0, a Σ s i a si+1 ¼Ç LTS Ó ½ º» Σ Ó Å ω = [a i ] i 0 LTS Ó π = [s i ] i 0 a i+1 Ë Ø i 0, s i si+1 π ³½ ω Ó Ð Ì «KS LTS º» ÅÓ Definition 28 Ä Ã±ºÑ Ê AP à AP Û ÈÕ ÆÐ ÃÆ ¾ Σ, S,, I, L Ô Σ, S,, I Ð Ã ÈÕ L : S 2 AP ¹ AP Ð Ü º ¼Å Æ 232 ω»â ËĐ LTS Í Ñ º»ÚÕ À º» Ž À Ó Ð ÄÒ¹ À ÑË ÓÄÅ ¼Ó º» ¹ À Ð º»Å ÑÐ Ö ¼ Ð º»Å Ñ ³Õ LTS ½ ÄÙ ω ¼ÅÆ
º Ú B uchi»â Ù ÂÄÙ ÐÓ B uchi ¼ÅÆ Definition 29 à B uchi» ÏÐ ÃÆ ¾ Σ, S,, I, F Ô Σ, S,, I Ð Ã ÈÕ F S» Ï ¹ ß B = Σ, S,, I, F B uchi ¼ÅÆ B ½ ßÚÕÀ Σ, S,, I ÄÙ inf(π) ÅÌ»Ä π º» Ð B π = [s i ] i 0 Þ ß¼Ç inf(π) F B ß Σ Ó ½ ω = [a i ] i 0 Þ ω B ½ Ð B L(B) º Ú Å Æ ĐÄ ÐÄÓ ω ¼ÅÆ Â ω ¼ÅÆ ÚÕ À ÝÁ Ú º º» Õ ÝÁ ÐÓ Ã Р¼ÅÆ º» ÐÆ ÐÔ ÄÒÞ ÏË Á  ¹ÐÝÁ Í Þ accept(q) q F º»  ܽ Èß Ä
start() { W = A = B = {}; for each initial state s I, if (s is not in A) { add s to W; dfs1(); } } dfs1() { q = last element from W; add q to A; for each successor state s of q if (s is not in A) { add s to W; dfs1(); } if (accept(q)) { add q to B; dfs2(); } delete q from W; } dfs2() { q = last element from B; for each successor state s of q if (s is in W) report( nonempty ); if (s is not in B) { add s to B; dfs2(); } } ĐÄ²Û ÍÈ ÐÄÓ B uchi ¼ÅÆ nonempty Þ ¼ÅÆ ³Ò (1) (2) B uchi ¼ÅÆ È Æ ± B uchi»â Ä Ö Ì B uchi ¼ÅÆ ÄÙ º» Ð º» Ð º Ú Definition 210 à B uchi» ÏÐ ÃÆ ¾ Σ, S,, I, F Ô Σ, S,, I Ð Ã ÈÕ F 2 S» Ï ¹ Ê ß B = Σ, S,, I, F B uchi ¼ÅÆ B ½ ßÚÕÀ Σ, S,, I B π = [s i ] i 0 Þ Ë¹Ð f F inf(π) f
º Ú ± B uchi»â B uchi»â ÐÄ B uchi ¼ÅÆ B = Σ, S,, I, {f 1,, f n } ÄÙ n(s, i) = if (i = n) then 0; else if (s f i+1 ) then i + 1; else i S = S {0,, n} = {(s, i), a, (s, n(s, i)) (s, a, s ), i {0,, n}} I = I {0} F = S {n} ÄÙ B uchi ¼ÅÆ B = Σ, S,, I, F L(B ) = L(B) B uchi ¼ÅÆ B uchi ¼ÅÆ Óл À Đ ¼ÅÆ Å ÁÄÙ B uchi ¼ÅÆ ÐÄ B uchi ¼ÅÆ B 1 = Σ, S 1, 1, I 1, F 1, B 2 = Σ, S 2, 2, I 2, F 2 Þ S 1 S 2 = F = {f S 2 f F 1 } {f S 1 f F 2 } ÄÙ B 1 B 2 = Σ, S 1 S 2, 1 2, I 1 I 2, F L(B 1 B 2 ) = L(B 1 ) L(B 2 ) ÐÄ B uchi ¼ÅÆ B 1 = Σ, S 1, 1, I 1, F 1, B 2 = Σ, S 2, 2, I 2, F 2 Þ S 1 S 2 = = {((q 1, q 2 ), a, (q 1, q 2)) (q 1, a, q 1) 1, (q 2, a, q 2) 2 } F = {f S 2 f F 1 } {S 1 f f F 2 } ÄÙ B 1 B 2 = Σ, S 1 S 2,, I 1 I 2, F L(B 1 B 2 ) = L(B 1 ) L(B 2 ) Å Ó ¼Î B uchi ¼ÅÆ Î L(A B) = L(A B) Þ A B A B Î Î ¼Î B uchi ¼ÅÆ Î L(A B) = L(A B) Þ A B A B Î ± B uchi»â À Ø ÉÖ Kripke Ê B uchi ¼ÅÆ Kripke ³Õ Ä Å Ð Ú Kripke ³ Õ ½ ÓÕ Kripke ³Õ Definition 211 ÃÅÓ Kripke ÆÐ à ¾ S,, I, F Ô S,, I Ð Ã Kripke Æ F 2 S ÅÓ Kripke Æ ¹ Ê
ÓÕ Kripke ³Õ S,, I, F Ó Kripke ³Õ S,, I Ó Ó ÓÕ Kripke ³Õ π = [s i ] i 0 ÓÕ Þ Ë¹Ð f F inf(π) f º Ú B uchi ¼ÅÆ B uchi ¼ÅÆ Ó³ B uchi ¼ÅÆ ½ «Ë Ó «ÄÙ Streett ¼ÅÆ Rabin ¼ÅÆ«Muller ¼ÅÆ º Ú Streett»Â Definition 212 à Streett» ÏÐ ÃÆ ¾ Σ, S,, I, F Ô Σ, S,, I Ð Ã ÈÕ F 2 S 2 S» Ï ¹ Ê ß B = Σ, S,, I, F Streett ¼ÅÆ B ½ ßÚÕÀ Σ, S,, I B π = [s i ] i 0 Þ Ë¹Ð (f, g) F Rabin»Â inf(π) f inf(π) g Rabin ¼ÅÆ ³Õ Streett ¼ÅÆ ÓÐ Þ Streett ¼ÅÆ Ç ÐÄÓ Rabin ¼ÅÆ B = Σ, S,, I, F B π = [s i ] i 0 Þ (f, g) F Muller»Â inf(π) f inf(π) g = Definition 213 à Muller» ÏÐ ÃÆ ¾ Σ, S,, I, F Ô Σ, S,, I Õ F 2 S» Ï ¹ Ê ß B = Σ, S,, I, F Muller ¼ÅÆ B ½ ßÚÕÀ Σ, S,, I B π = [s i ] i 0 Þ inf(π) F
Õ È B uchi ¼ÅÆ B uchi ¼Å Æ Streett ¼ÅÆ Rabin ¼ÅÆ Muller ¼ÅÆ Ç ÞÆ Å ÐÄÓ Muller ¼ÅÆ Õ Ó B uchi ¼ÅÆ B uchi ¼ÅÆ Muller ¼ÅÆ Ç À ± B uchi»â ¼ÅÆ Æ º» Ð Ò ÄÙ ÚÕ Đ ĐÚÕ B uchi ¼ÅÆ ĐÚÕ B uchi ¼ÅÆ Ó ¾ ÄÙ ĐÚÕ B uchi ¼ÅÆ Definition 214 Î Õ B uchi» ÏÐ ÃÆ ¾ S, Σ,, I, F Ô Σ, S,, I Ð Ã ÈÕ F 2 Ð Õ Ê ß Þ [(s i, a i+1, s i+1 )] i 0 (s 0, a 1, s 1 )(s 1, a 2, s 2 )(s 2, a 3, s 3 ) ÄÙ inf([(s i, a i+1, s i+1 )] i 0 ) ÅÌ»Ä [(s i, a i+1, s i+1 )] i 0 ÚÕ Ð B = Σ, S,, I, F ĐÚÕ B uchi ¼ÅÆ B ½ ßÚÕÀ Σ, S,, I B π = [s i ] i 0 Þ Ë¹Ð i 0 a i+1 Σ (s i, a i+1, s i+1 ) Þ˹Рf F ᬀ inf([(s i, a i+1, s i+1 )] i 0 ) f Ó ½ [a i ] i 0 Þ Ë Ý [s i ] i 0 Þ˹Рf F inf([(s i, a i+1, s i+1 )] i 0 ) f À ± B uchi»â B uchi»â ÄÙ ÐÄ ĐÚÕ B uchi ¼ÅÆ B = Σ, S,, I, F
n(s, a, s, i) = if (i = n) then 0; else if ((s, a, s ) f i+1 ) then i + 1; else i S = S {0,, n} = {(s, i), a, (s, n(s, a, s, i)) (s, a, s ), i {0,, n}} I = I {0} F = S {n} ÄÙ B uchi ¼ÅÆ B = Σ, S,, I, F L(B ) = L(B) B uchi ¼ÅÆ Ò Õ Ç Đ ÚÕ B uchi ¼ÅÆ ĐÚÕ B uchi ¼ÅÆ B uchi ¼ÅÆ ÓÐ º Ú 233 ÛÁ»Â ÅÛÁ»Â ω- ¼ÅÆ ÚÕÀ ÄÙÄ ¼ÅÆ Ò ËÚÕÀ Ä ¼ÅÆ Ä ¼ÅÆ Ä ¼ÅÆ º º» ÐÓ Þ ÚÕ À ÁÅ (s, a, s ), (s, a, s ) s = s ÐÄÓ ½ Ë Ä ¼ÅÆ Ð Ò Ñ Ð Ó Õ Ä Muller ¼ÅÆ Ä Muller ¼ÅÆÇ Ä B uchi ¼ÅÆ ³Ò 234 Ì Â ßÚÕÀ Å º» ÐÌ ÆÓ º» Ë ÚÕÀ Ó ³ ÆÌ º» Ð ÚÕÀ Ó º³Õ º Ú Ì «(ATS) Definition 215 Ã È Õ Ð Ã ¾ Σ, S,, I Ô Σ Ê S ¹ Ê S Σ 2 S È Õ Ç I ß¹ Ê ¼Ç ÜÀ ÐÄÓ Σ Å± ½ ω = a 0 a 1 a 2 ß ÚÕÀ ω Ó º» S Ó r r(0) r Ѳ  r(i) r À i ²Â Ð child(x) ²Â x»²â Ð Þ (x, a) Ð {y (x, a, y) } r Á
r(0) I x r(i) À i Ó ²Â child(x) (x, a i ) (x, a i ) ÅÜ x л²Â º» S Ó r ß ÚÕÀ Σ, S,, I Ó Þ Ó Σ Å± ½ ω = a 0 a 1 a 2 r ß ÚÕÀ ω Ó º Ú A Ð Ì «KS ATS º» ÅÓ Definition 216 Ä Ã±ºÑ Ê AP à AP Û È Õ Ð ÃÆ ¾ Σ, S,, I, L Ô Σ, S,, I Ð Ã È Õ L : S 2 AP ¹ AP Ð Ü º Ų B uchi»â Definition 217 à B uchi» ÏÐ ÃÆ ¾ Σ, S,, I, F Ô Σ, S,, I Ð Ã È Õ F S» Ï ¹ ß B = Σ, S,, I, F Ó B uchi ¼ÅÆ B ½ ß ÚÕÀ Σ, S,, I B Ó r Þ r ¹Ð É» ρ Õ inf(ρ) F B ½ Σ Ó Å±½ ω = [a i ] i 0 Ë B Þ ω B uchi ¼ÅÆ B uchi ¼ÅÆ Ç 24 Ý»Â Í «Ä Ö ÚÕÅ ±É Å Ñ ±
º Ú Å Ã Ó X ± à РQ à Р±Ó Ð Φ(X) Á л φ ::= x c c x φ φ φ x X ± à c Q Ã Ó ± v Ó X R ݱ Þ v + t ˹Рx X v (x) = v(x) + t ± v Þ t v ˹Рx X v (x) = t v(x) ± v Þ [Y t]v ˹Рx X \ Y v (x) = v(x) Ë ¹Ð x Y v (x) = t ± v 241 Ý «(TTS) Definition 218 ÃÝ Õ Ð ÃÆ ¾ Σ, S, C,, I Ô Σ ¼Ò S ¹ Ê C Ý Ê S Σ 2 C Φ(C) S Õ Ç I S ß¹ Ê «¹ V = C R ± Ð Ó À º» S V Ó Ý ¼Ç ÜÀ Ó ½ Σ R Å Ù Ò (σ, τ) = ([σ i ] i 1, [τ i ] i 1 ) Σ ω R ω τ ˹Рi, τ i+1 > τ i ÞË Ø t R i, τ i > t Ð Û Ñ τ i+1 > τ i τ i+1 τ i ÄÙ τ 0 = 0 ÚÕÀ Σ, S, C,, I ½ (σ, τ) = [(σ i, τ i )] i 1 (Σ R) ω Ó º» S V Ó Å [(s i, v i )] i 0 s 0 I, ˹Рx C,v 0 (x) = 0, Ë Ø i 0 λ C, ϕ Φ(C) (s i, σ i+1, λ, ϕ, s i+1 ) Þ (v i + τ i+1 τ i ) ϕ, v i+1 = [λ 0](v i + τ i+1 τ i )
S V Ó Å r ÚÕÀ Σ, S, C,, I Ó Þ Ó ½ (σ, τ) r ÚÕÀ (σ, τ) Ó ÚÕÀ º» È PSPACE º Ú º ÚÕÀ 242 Ý B uchi»â (TA) Definition 219 ÃÝ B uchi» ÏÐ Ã ¾ Σ, S, C,, I, F Ô Σ, S, C,, I Æ ÃÝ Õ F S» Ï ¹ ß B uchi ¼ÅÆ B = Σ, S, C,, I, F Ó ½ (σ, τ) B r = (s, v) Þ inf(r) F inf(r) ÅÌ»Ä r º» Ð ßÝ ¼Ç Ó ½ (σ, τ) B ³ (σ, τ) B ½ Ð B L(B) ¼ÅÆ ¼Å Æ È PSPACE º ¼ÅÆ 1 º ¼ÅÆ 2 Å ÐĐ Ìų «ß ÑÐ ß Ô Ì Đ Ì Đ Ì Þ ±È 1 Ì ±È ÎĐ 10 Đ ±È ÎĐ 10, µöì Đ ¾±È 30 Ó ß Ó Ì Đ ±È ĐÓ 243 «ÚÕÀ ÚÕÀ Ó³ ¹ X = {x 1,, x n } ± à РΦ(X) X Ð (X) : X (R n R) Óݱ Ð X = { x 1,, x n }
Definition 220 ÃÍ Õ Ð Ã ¾ Σ, S, X,, I, flow Ô Σ ¼Ò S ¹ Ê X Þ Ê S Σ (X) Φ(X) S Õ Ç I S (2 R ) n ß¹ Ê flow : S Φ(X X) ù Û Ã Ë ²Đ «¹ ͹ À V = X R Ã Ð Ó À º» S V Ó Ù Þ v V (v(x 1 ),, v(x n )) R n Ë δ R 0 Þ (s, v) δ (s, v ) v Á Ó Ý± f : [0, δ] R n Ó± ḟ : (0, δ) R n f(0) = v, f(δ) = v Þ ζ (0, δ)flow(s)[x/f(ζ)][ẋ/ḟ(ζ)] = true Þ (s, v) σ (s, v ) (s, v ) Á (s, σ, λ, ϕ, s ) Þ {z 1,, z n } = dom(λ) v ϕ Þ v = v[z 1 /λ(z 1 )(v)] [z k /λ(z k )(v)] Ý ¼Ç ÜÀ Ó ½ Σ R Å ÚÕÀ Σ, S, X,, I, flow ½ (σ, τ) = [(σ i, τ i )] i 1 (Σ R) ω Ó º» S V Ó Å [(s i, v i )] i 0 (s 0, v 0 ) I ÞË Ø i 0 v i (s i, v i ) τi+1 τi (s i, v i ) Þ (s i, v i (s )δi+1 i+1, v i+1 ) S V Ó Å r ÚÕÀ Σ, S, X,, I, flow Ó Þ Ó ½ (σ, τ) r ÚÕÀ (σ, τ) Ó º ²È 25 Petri Petri ¾Â Ï Ñ Ð ¹ ÚÕ Á ¹ ÚÕ ÐË ¹ ÚÕ ÚÕ ¹ ÚÕ» º Ú Definition 221 à Petri Ð Ã ¾ P, T, F, M 0 Ô P Ê T Õ Ê F (P T) (T P) Ê M 0 : P N ß¹ Ô N»Ø Ê
«¹ Ó À º» P N Ó Ý± ˹Р¹ Ó ÄÙ p(t) = {p P (p, t) F } p (t) = {p P (t, p) F } ÚÕ t T º» M Þ p p(t), M(p) 1 Þ M t M t T º» M Þ p P M (p) = M(p) α 0 (p, t) + α 1 (p, t) α 0 (p, t) = 1 Þ p p(t) α 1 (p, t) = 1 Þ p p (t) º Ú º Ð Ú Petri º» È ÐÄ Þ EXPSPACE Ó Petri P, T, F, M 0 k µ Þ Ë ¹Ð º» M Ð p PM(p) k 1 µ Petri ³ Petri Petri º» È PSPACE Šе A B C D Ó Ì E Þ Petri ÁÛ A Æ a B Æ b C Þ a b Æ c D Þ a c Ô d E Ì Ô d 26 «À Þ Ì Û Û Ðº» º»Ú Õ º»ÚÕ Û º Ú 261 Definition 222 Ä Ã S, N Ô S ¼Ò N»Ø à S, N m m S, N Рõ N i=0 { x 1,, x i x i S} º» Å ÐÄ σ m S, N σ(m) N i=0 { x 1,, x i x i S} º» º» Ð Σ
Þ m S, N m Ç Ð ACT(m) = {m?s s S} {m!s s S} C = {m 1,, m n } Ð C Ç Ð ACT(C) = ACT(m 1 ) ACT(m n ) {ǫ} Þ ËĐ x = x 1,, x n ÄÙ x = n, x s = x 1,, x n, s, HEAD(x) = x 1, TAIL(x) = x 2,, x n ÐÄÓ º» σ Ó m S, N ÁÓÊ a ACT(m) {ǫ} a = ǫ a = m!s Þ σ(m) < N Þ s S a = m?s Þ σ(m) > 0 Þ s = HEAD(σ(m)) ÐÄ σ Σ,m S, N,a ACT(m) Þ σ a σ a σ Þ a = ǫ σ = σ a = m!s σ = σ[m/σ(m) s] a = m?s σ = σ[m/tail(σ(m))] 262 Definition 223 à Рà ¾ Q, C,, q 0 Ô Q ¹ Ê C Ê Q {ACT(C) {ǫ}} Q È Õ Ç q 0 Q ß¹ «¹ ÐÄÓ Q, C,, q 0 À º»  (s, σ) s Q º» σ Σ º» ÚÕ (q, a, q ) (s, σ) Þ q = s Þ a σ C = {m 1,, m k } Ó Q Σ Ó Å [(z i, σ i )] i 0 z 0 = q 0, σ 0 (m 1 ) = = σ 0 (m k ) = ÞË Ø i 0, (q, a, q ) (q, a, q ) (z i, σ i ) z i+1 = q Þ σ i a σi+1
263 «Definition 224 à {P 1,, P n } Ð P 1 = Q 1, C 1, 1, q 10,, P n = Q n, C n, n, q n0 ¾ Ê Ô Q 1,, Q n Ê «¹ ÄÙ S 1 S n = {{s 1,, s n } s 1 S 1,, s n S n } À À º» Ð (Q 1 Q n ) Σ Ó ÚÕ (q, a, q ) 1 n º» (Q, σ) Þ q Q Þ a σ C 1 C n = {m 1,, m k } Ó (Q 1 Q n ) Σ Ó Å [(z i, σ i )] i 0 z 0 = {q 0,, q n }, σ 0 (m 1 ) = = σ 0 (m k ) = ÞË Ø i 0, (q, a, q ) 1 n (q, a, q ) (z i, σ i ) z i+1 = (z i \ {q}) {q } Þ σ i a σi+1 ÃĐº ÐÄ P 1 = Q 1, C 1, 1, q 10, P 2 = Q 2, C 2, 2, q 20 Þ Q 1 Q 2 = P 1 P 2 ÄÙ Á P 1 P 2 = Q 1 Q 2, C 1 C 2,, {q 10, q 20 } = {({q 1, q 2 }, a, {q 1, q 2 }) (q 1, a, q 1) 1 } {({q 1, q 2 }, a, {q 1, q 2}) (q 2, a, q 2) 2 } Ï» ³ÐË Ë º Ú º Ú 1 º Ú 2 Å ÐÄ P 1,, P n P = P 1 P n P Ð À {P 1,, P n } ÐÇ Ùµ m {0, 1, 2,, n} Þ [n] {0, 1, 2,, n} Ë m ÇĐ Þ B m = Q, M,, q 0 Ä Q = {q 0, q 1, q 2,, q n, r 0, r 1, r 2,, r n } M = {m i, m o m i, m o {0, 1, 2,, n, r}, 1 } = {(q k, m i?j, q j ) k, j [n]} {(q k, m i?r, r k ) k [n]} {(r k, m o!k, q k ) k [n]}
m 1, m 2  {0, 1, 2,, n} à c {0, 1, 2,, n}, k m 1, m 2 Ä B m1, B m2 Á ÚÕ Þ ÚÕ Ð Ä (q, c?m 1, q ) {(q, c?k, q 1k ) k [n]} {(q 1k, m i 1!k, q ) k [n]} (q, c!m 1, q ) {(q, m i 1!r, q 1 )} {(q 1, m o 1?k, q 1k ) k [n]} {(q 1k, c!k, q ) k [n]} (q, m 1 := k, q ) {(q, m i 1!k, q )} (q, m 1 := m 2, q ) {(q, m i 2!r, q 1 )} {(q 1, m o 2?k, q 1k ) k [n]} {(q 1k, m i 1!k, q ) k [n]} Ð Ä Ã Û À Ð Ã Þ Ý À º Ð Ã ¼ÅÆ 27 Ò Ñ À Ð Ó±Ú ÕÀ [Pel01] Kripke ³Õ Ðżů [CGP99] Petri Æ [NW96] ¼Å Æ [Var97, AHK97] ¼ÅÆ [AD94] ¼ÅÆ [Henzinger96] Krikpe ³Õ ¼ÅÆ À [Hol90] [AD94] Rajeev Alur and David L Dill A Theory of Timed Automata Theor Comput Sci 126(2): 183-235 (1994) [AHK97] Rajeev Alur, Thomas A Henzinger and Orna Kupferman Alternating-Time Temporal Logic COMPOS 1997: 23-60 [Hol90] Gerard J Holzmann Design and Validation of Computer Protocols Prentice Hall, 1990 [CGP99] E Clark, O Grumberg and D Peled Model Checking MIT press, 1999 [Henzinger96] Thomas A Henzinger The Theory of Hybrid Automata LICS 1996: 278-292 [Pel01] Doron A Peled Software Reliability Methods Springer- Verlag 2001 [NW96] Mogens Nielsen and Glynn Winskel Petri Nets and Bisimulation Theor Comput Sci 153(1&2): 211-244 (1996) [Var97] Moshe Y Vardi Alternating Automata: Unifying Truth and Validity Checking for Temporal Logics CADE 1997: 191-206