超限步长索引:解耦具体步骤与逻辑步骤
在编程语言的形式化验证中,步长索引(step-indexing)是一种强大的技术,用于证明类型系统和程序逻辑的性质。然而,传统的步长索引方法存在一个问题:具体步骤和逻辑步骤之间的紧密耦合,这在处理高阶抽象时会带来挑战。本文将介绍一种基于超限步长索引(transfinite step-indexing)的方法,以解耦具体步骤和逻辑步骤,从而解决这一问题。
逻辑关系的基本定理
逻辑关系的基本定理(引理12)和上下文的类似性质(引理13)是兼容性引理的推论。这些引理的证明通过对各自的类型推导进行归纳得出。
- 引理12 :如果 $\Delta; \Gamma \vdash e : \tau$,那么 $\Delta; \Gamma \vDash e \leq_{log} e : \tau$。
- 引理13 :对于任何上下文 $C$,使得 $C : (\Delta_i; \Gamma_i, \tau_i) \leadsto (\Delta_o; \Gamma_o, \tau_o)$,如果 $\Delta_i; \Gamma_i \vdash e_I \leq_{log} e_S : \tau_i$,那么 $\Delta_o; \Gamma_o \vdash C[e_I] \leq_{log} C[e_S] : \tau_o$。
定理2(可靠性) :如果 $\Delta; \Gamma \vDash e_I \leq_{log} e_S : \tau$,那么 $\Delta; \
超级会员免费看
订阅专栏 解锁全文
31

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



