We study the notion of subtyping for session types in a logical setting, where session types are propositions of multiplicative/additive linear logic extended with least and greatest fixed points. The resulting subtyping relation admits a simple characterization that can be roughly spelled out as the following lapalissade: every session type is larger than the smallest session type and smaller than the largest session type. At the same time, we observe that this subtyping, unlike traditional ones, preserves termination in addition to the usual safety properties of sessions. We present a calculus of sessions that adopts this subtyping relation and we show that subtyping, while useful in practice, is superfluous in the theory: every use of subtyping can be "compiled away" via a coercion semantics.
翻译:我们研究逻辑设置中会话类型子类型化的概念,其中会话类型是具有最小和最大不动点的乘法/加法线性逻辑命题。结果的子类型关系具有一个简单的特征化,可以粗略地概括为:每个会话类型都比最小的会话类型大,比最大的会话类型小。同时,我们观察到,与传统子类型化不同,这种子类型化除了会话的常规安全性质外,还保留终止性质。我们提出了一种会话演算,它采用了这种子类型化关系,并且我们展示了子类型化虽然在实践中很有用,但在理论中是多余的:每个子类型化使用都可以通过强制性语义“编译”掉。