Page 23 - 《软件学报》2025年第9期
P. 23

3934                                                       软件学报  2025  年第  36  卷第  9  期


                    (2) 将  a、b、e 分别代入定理    11  的  a、b、c, 可得: perloc(a,e).
                    推论  10 (WRrR  转换). ∀a∈W, ∀b,c,d∈R, c∈R, d∈R, perloc(a,b,c,d)→perloc(a,b,d).
                    证明: 已知   a∈W, b∈R, c∈R, d∈R, perloc(a,b,c,d), 求证  perloc(a,b,d). 只需证明  perloc(b,d). 可由将  b、c、d  分别
                 代入定理   10  的  a、b、c 证明.
                    推论  11 (WwrW  转换). ∀a,b,d∈W, ∀c∈R, perloc(a,b,c,d)→perloc(a,d).
                    证明: 已知   a∈W, b∈W, c∈R, d∈W, perloc(a,b,c,d), 求证  perloc(a,d).
                    (1) 将  b、c、d  分别代入定理   13  的  a、b、c, 可得: perloc(b,d).
                    (2) 将  a、b、d  分别代入定理   14  的  a、b、c, 可得: perloc(a,d).
                    推论  12 (WWRrR  转换). ∀a,b∈W, ∀c,d,e∈R, perloc(a,b,c,d,e)→perloc(a,b,c,e).
                    证明: 已知   a∈W, b∈W, c∈R, d∈R, d∈R, perloc(a,b,c,d,e), 求证  perloc(a,b,c,e). 只需求证  perloc(c,e). 可由将  c、d、
                 e 分别代入定理    10  的  a、b、c 证明.
                    推论  13 (WwrrW  转换). ∀a,b,e∈W, ∀c,d∈R, perloc(a,b,c,d,e)→perloc(a,e).
                    证明: 已知   a∈W, b∈W, c∈R, d∈R, e∈W, perloc(a,b,c,d,e), 求证  perloc(a,e).
                    (1) 将  b、c、d、e 分别代入推论     8  的  a、b、c、d, 可得: perloc(b,e).
                    (2) 将  a、b、e 分别代入定理    14  的  a、b、c, 可得: perloc(a,e).

                 4.4   不满足  perloc 传递性的序列模式举例

                    第  4.3  节证明了  5  种满足  perloc 传递性的序列模式作为模式转换的定理基础. 实际上, 并非所有长度为                   3  的
                 序列模式都具有      perloc 传递性, 这也是引入    DFA  进行证明的原因. 本节使用反例证明了其余            3 种序列模式    (RWR、
                 WRR  和  WWR) 不满足  perloc 传递性.
                    命题  1 (RWR  模式). ∃ a,c∈R, ∃b∈W, perloc(a,b,c)→¬perloc(a,c).
                    证明: 根据表    3, 将目标替换为: 存在同时满足        a∈R, b∈W, c∈R, perloc(a,b,c), ¬poloc(a,c) 的情况.
                    通过构造反例证明. 根据        poloc 的定义, 只需构造满足     ext(a,c) 的序列即可  (见图  12).


                                                     P0             P1
                                                   a: R x=1       c: R x=2
                                                            rf
                                                  poloc
                                                   b: R x=2
                                         图 12 证明   RWR  模式不存在传递性的      Litmus 示例

                    命题  2 (WRR  模式). ∃a∈W, ∃b,c∈R, perloc(a,b,c)→¬perloc(a,c).
                    证明: 根据表    3, 将目标替换为: 存在同时满足        a∈W, b∈R, c∈R, perloc(a,b,c), ¬(rf(a,c)∨poloc(a,c)).
                    通过构造反例证明. 根据        poloc 的定义, 只需构造满足     ext(a,c) 的序列即可满足¬poloc(a,c). 根据  rf 定义, 只需
                 构造  d∈W  并满足  d≠a∧rf(d,c) 即可满足¬rf(a,c). 通过构造  co(a,d) 满足  d≠a.对应的  Litmus 示例见图  13.

                                                    P0             P1
                                                            rf
                                                  a: W x=1        b: R x=1
                                                   co       fr  poloc
                                                            rf
                                                  d: W x=2        c: R x=2
                                         图 13 证明   WRR  模式不存在传递性的      Litmus 示例

                    命题  3 (WWR  模式). ∃a,b∈W, ∃c∈R, perloc(a,b,c)→¬perloc(a,c).
                    证明: 与命题    2  中的反例类似, 区别在于可直接通过构造           d=b  满足  d≠a.对应的  Litmus 示例见图  14.
   18   19   20   21   22   23   24   25   26   27   28