Type systems for concurrent programs guarantee such desirable properties as communication safety and type refinements facilitate the verification of program invariants. Yet, type-based termination of recursive concurrent programs has been largely unexplored. On the other hand, sized types enable termination checking of functional programs with complex patterns of recursion in the presence of mixed inductive and coinductive types. In this paper, we adapt sized types to the concurrent setting. In particular, we extend a core language for persistent shared memory concurrency based on the semi-axiomatic sequent calculus with recursive types and arithmetic refinements to express size indexing. To prove termination of program reduction, we first define a novel semantic model that reflects persistence in the type system and admits a straightforward generalization to substructural typing. We then develop a compositional validity condition for recursive concurrent programs viewed as circular proofs that guarantees termination.
翻译:同时程序的类型系统保证了通信安全和类型改进等可取特性,有助于核查程序变异性。然而,以类型为基础的重复性同时程序终止类型基本上尚未探索。另一方面,在混合感应和硬币类型存在的情况下,规模的大小可以对具有复杂循环模式的功能程序进行终止检查。在本文中,我们根据同时的设置调整了大小类型。特别是,我们根据循环类型和计算精细的半轴序列计算法,为持续共享记忆共通计算法提供了一种核心语言,以表示尺寸索引化。为了证明程序缩减的终止,我们首先定义了一个新的语义模型,反映类型系统中的持久性,并承认对亚结构打字的直截了当的一般化。然后,我们为循环性同时程序制定了一种构成有效性条件,作为保证终止的循环证明。