一句话:提出 ReLoC,一种用类型与结构导向规则证明高阶状态、细粒度并发、多态和递归类型程序精化的逻辑。
本文提出 ReLoC,一个用于证明具有高阶状态、细粒度并发、多态和递归类型的语言中程序精化(refinement)的逻辑。其核心判断 e ⪯ e' : τ 表示程序 e 在类型 τ 上精化程序 e'。与以往针对高阶状态和并发语言的精化工作不同,ReLoC 不是将判断展开为模型中的定义来进行证明,而是提供类型与结构导向的证明规则来操作该判断。这些更抽象的规则降低了精化证明的复杂度,使此类证明更容易开展。
We present ReLoC: a logic for proving refinements of programs in a language with higher-order state, fine-grained concurrency, polymorphism and recursive types. The core of our logic is a judgement e ⪯ e': τ, which expresses that a program e refines a program e' at type τ. In contrast to earlier work on refinements for languages with higher-order state and concurrency, ReLoC provides type- and structure-directed rules for manipulating this judgement, whereas previously, such proofs were carried out by unfolding the judgement into its definition in the model. These more abstract proof rules make it simpler to carry out refinement proofs.