In sequential functional languages, sized types enable termination checking of programs with complex patterns of recursion in the presence of mixed inductive-coinductive types. In this paper, we adapt sized types and their metatheory to the concurrent setting. We extend the semi-axiomatic sequent calculus, a subsuming paradigm for futures-based functional concurrency, and its underlying operational semantics with recursion and arithmetic refinements. The latter enables a new and highly general sized type scheme we call sized type refinements. As a widely applicable technical device, we type recursive programs with infinitely deep typing derivations that unfold all recursive calls. Then, we observe that certain such derivations can be made infinitely wide but finitely deep. The resulting trees serve as the induction target of our strong normalization result, which we develop via a novel logical relations argument.
翻译:在连续的功能语言中,大小类型使得能够对具有复杂循环模式的重复式程序进行终止检查,同时存在混合的感官-感官类型。在本文中,我们调整了大小类型及其元神话以适应同时的设置。我们扩展了半轴序列计算法,这是基于期货的功能共通的子集模式,其基本操作语义以循环和算术的精细化。后者使我们得以进行新的和高度一般的型号计划,我们称之为规模的改进。作为一个广泛应用的技术装置,我们输入具有无限深度的重现模型,展示了所有循环电话。然后,我们观察到某些此类衍生可以无限地进行,但有一定的深度。由此产生的树木成为我们通过新的逻辑关系论证发展出来的强有力正常化结果的诱导目标。