Program equivalence is the fulcrum for reasoning about and proving properties of programs. For noninterference, for example, program equivalence up to the secrecy level of an observer is shown. A powerful enabler for such proofs are logical relations. Logical relations only recently were adopted for session types--but exclusively for terminating languages. This paper scales logical relations to recursive session types. It develops a logical relation for progress-sensitive noninterference for linear session types, tackling the challenges non-termination and concurrency pose. The contributions include secrecy-polymorphic processes and the logical relation with metatheory. A distinguishing feature is the choice of "step index" of the logical relation, allowing for a natural proof of transitivity and soundness.
翻译:程序等同是程序推理和验证特性的支点。 例如,对于不干涉,可以显示到观察者保密程度的等同程序。 这种证明的强大促进因素是逻辑关系。 逻辑关系只是最近才被采纳用于会话类型,但完全用于终止语言。 本文将逻辑关系缩放为循环会话类型。 它为对进步敏感的不干预线性会话类型发展了逻辑关系, 解决了非消化和通货构成的挑战。 贡献包括保密多变过程和与元理论的逻辑关系。 一个显著特征是选择逻辑关系的“ 分步指数 ”, 允许自然证明过渡性和稳健。