论文标题
游戏语义:轻松如pi
Game Semantics: Easy as Pi
论文作者
论文摘要
事实证明,游戏语义是一种强大的方法,可以为各种高阶编程语言提供构图语义。但是,由于大多数游戏模型的复杂性,游戏语义对于非专家来说仍然无法接近。 在本文中,我们旨在通过将游戏语义视为句法翻译为会话键入Pi-Calculus(称为Metalanguage),然后将其语义解释为特定的游戏模型,然后将其视为典型的Pi-Calculus。可以为多种编程语言定义句法翻译,而无需了解所使用的特定游戏模型。可以在模型上的简单推理(声音和充分性)在金属语言的层面上进行,从而逃脱了游戏语义中通常发现的乏味的技术证明。我们称此方法论编程游戏语义。 我们设计了一个灵感来自差分线性逻辑(DILL)的术语(Pidill),该逻辑(DILL)简洁但表现力足以支持并发游戏语义所需的功能。然后,我们通过产生CML的第一个因果关系,非角度和交互式游戏模型来证明我们的方法,这是一种具有共享内存并发性的高阶呼叫语言。我们将CML转换为Pidill,并表明翻译足够。我们使用事件结构提供了一个因果和非角化游戏语义模型,该模型支持对Pidill的简单语义解释。结合了这两个结果,我们获得了这种表达性的同时语言的第一个交互模型,该模型相对于标准的弱分配而言是足够的,并且完全抽象了二阶术语的上下文等效性。 我们已经实施了一个可以从OCAML子集中探索生成的因果对象的原型。
Game semantics has proven to be a robust method to give compositional semantics for a variety of higher-order programming languages. However, due to the complexity of most game models, game semantics has remained unapproachable for non-experts. In this paper, we aim at making game semantics more accessible by viewing it as a syntactic translation into a session typed pi-calculus, referred to as metalanguage, followed by a semantics interpretation of the metalanguage into a particular game model. The syntactic translation can be defined for a wide range of programming languages without knowledge of the particular game model used. Simple reasoning on the model (soundness, and adequacy) can be done at the level of the metalanguage, escaping tedious technical proofs usually found in game semantics. We call this methodology programming game semantics. We design a metalanguage (PiDiLL) inspired from Differential Linear Logic (DiLL), which is concise but expressive enough to support features required by concurrent game semantics. We then demonstrate our methodology by yielding the first causal, non-angelic and interactive game model of CML, a higher-order call-by-value language with shared memory concurrency. We translate CML into PiDiLL and show that the translation is adequate. We give a causal and non-angelic game semantics model using event structures, which supports a simple semantics interpretation of PiDiLL. Combining both of these results, we obtain the first interactive model of a concurrent language of this expressivity which is adequate with respect to the standard weak bisimulation, and fully abstract for the contextual equivalence on second-order terms. We have implemented a prototype which can explore the generated causal object from a subset of OCaml.