深入理解π类型与会话类型
1. π类型基础
- 语法 :
- 标准多元π - 演算的语法中,P、Q 代表进程,x、y 代表变量,l 代表标签,v 代表值(包括变量、布尔值、其他基础值如整数、字符串等以及变体值)。
- 输出进程
x!⟨˜v⟩.P
在通道 x 上发送值元组 ˜v 后继续执行进程 P;输入进程x?( ˜y).P
从通道 x 接收值元组并替换 P 中的占位符 ˜y。 - 条件进程
if v then P else Q
为标准形式;P | Q
是进程 P 和 Q 的并行组合;0
是终止进程;(νx)P
创建新变量 x 并将其作用域限定为 P;case v of {li_xi ▷Pi}i∈I
根据值 v 提供不同行为。 - 进程的自由变量用
fv(P)
表示,绑定变量用bv(P)
表示,所有变量用vars(P) = fv(P) ∪ bv(P)
表示。 - 变量替换和 α - 转换规则如下:
- 若变量 x 不在进程 P 中出现,
P[x/y]
是将 P 中所有 y 替换为 x 的进程。 - 进程 P 中绑定变量的 α - 转换包括:
- 若变量 x 不在进程 P 中出现,