偏序集上子类型可满足性复杂度与等价模型检查的类型系统
偏序集上有限子类型可满足性
在偏序集上的子类型可满足性研究中,有限结构子类型可满足性已被证明是PSPACE完全问题,这一结论由Tiuryn和Frey得出。现在,我们将为非结构情况建立相同的复杂度结论。
有命题表明,有限树上的非结构子类型可满足性是PSPACE困难的。为了提升这一结果,我们展示了如何将非结构子类型可满足性归约为结构子类型可满足性。
引理指出,结构子类型可满足性在多项式时间内可归约为非结构子类型可满足性(对于有限树和无限树均成立)。证明过程如下:
设Σ是一个结构签名,我们构造一个非结构签名:
(s(Σ) = {df} Σ ∪ {⊥, ⊤, a_1, a_2, a_3, a_4}),其中(a_i)是四个新常量。
此外,(\leq {s(Σ)} = {df} \leq_Σ ∪ {(a_1, c), (a_2, c), (c, a_3), (c, a_4) | c \in Σ_0})。
设(\phi)是Σ上的一个约束,我们在(s(Σ))上构造(s(\phi))。考虑(\phi)的形状约束(sh(\phi)),如果(sh(\phi))不可合一,我们令(s(\phi) = {df} ⊤ \leq ⊥)。否则,考虑(sh(\phi))的最一般合一子(\gamma)。我们令(sh(\phi)’)与(sh(\phi))相同,只是每个(\star)的出现都被一个新变量替换。我们制作(sh(\phi)’)的两个副本,(sh(\phi)’_L)和(sh(\phi)’_R)(分别表示左和右),其中每个变量(x)分别区分为(x_L)和(x_R)。对于每个变量