π-演算终止性分析:使用精化类型改进转换
1. 引言
在π - 演算的终止性分析中,之前的基本转换方法存在信息丢失的问题,尤其是非复制输入接收到的值的信息会完全丢失。为了解决这个问题,我们引入精化类型系统对基本转换进行改进。
2. 精化类型系统
2.1 精化通道类型
精化通道类型集合由κ表示,其定义如下:
κ :: = chρ(˜x; φ; ˜κ)
其中,φ是整数算术公式。有时我们会将chρ(˜x; φ; ϵ)简写成chρ(˜x; φ)。直观地说,chρ(˜x; φ; ˜κ)描述了用于传输元组(˜x; ˜y)的通道,其中:
- ˜x是满足φ的整数。
- ˜y是类型为˜κ的通道。
例如,类型chρ1(x; true; chρ2(z; z < x))描述了用于传输对(x, y)的通道,其中x可以是任意整数,而y必须是类型为chρ2(z; z < x)的通道,即用于传递小于x的整数z的通道。因此,如果u具有类型chρ1(x; true; chρ2(z; z < x)),那么进程u?(n; r).r!(n - 1)是允许的,但u?(n; r).r!(n)是不允许的。
2.2 类型判断
进程和表达式的类型判断形式为Γ; Φ; Δ ⊢ P和Γ; Φ; Δ ⊢ v : σ,其中Φ是公式序列。直观地说,Γ; Φ; Δ ⊢ P表示在假设Φ中的所有公式都成立的情况下,进程P在环境Γ和Δ下是类型良好的。
以下是部分选择的类型规则:
Γ; Φ; Δ