状态化应用Pi演算与ProVerif计算可靠性研究
状态化应用Pi演算
进程转换示例
在状态化应用Pi演算中,进程的转换是一个重要的研究内容。来看进程A的转换示例:
A可以进行如下转换:
$A \xrightarrow{s:=1} \xrightarrow{\tau(s)} ({0/y, 1/z}, {s \to 1}, {(if\ 1 = 1\ then\ c\langle a\rangle, \emptyset})$
$\xrightarrow{c\langle a\rangle} ({0/y, 1/z}, {s \to 1}, {0, \emptyset})$
然而,进程B无法执行相同的输出动作。所以,$A \not\approx_l B$。
在例13中,如之前例7所示,A和B在观察上并不等价。在标记双模拟中,对A进行扩展并执行两次转换:$\xrightarrow{s:=1} \xrightarrow{\tau(s)}$,会得到进程$A’ = ({0/x, 0/z}, {s \to 0}, {(0, \emptyset)})$,而B最多只能达到进程$B’ = ({0/x, 1/z}, {s \to 0}, {(0, \emptyset)})$,且$A’ \not\approx_s B’$。
这里需要注意的是,转换$\xrightarrow{s:=N}$不包含在$\xrightarrow{\alpha}$中。只有当进程执行与解锁的公共状态单元s相关的操作时,才使用$\xrightarrow{s:=N}$来改变其值。在定义5中,将两个转换$\xrightarrow{s:=N} \xrightarrow{\tau(s)}$组合起来进行比
超级会员免费看
订阅专栏 解锁全文
20

被折叠的 条评论
为什么被折叠?



