一句话:为带状态简单类型 CBPV 给出操作式博弈语义的全抽象迹模型,并用自动机识别可判定片段。
本文为带状态的简单类型 call-by-push-value 演算建立可判定上下文等价的操作式语义基础。作者采用操作式博弈语义,以标记迁移系统 (LTS) 给出全抽象迹模型;通过分析格局形态并基于名字复用进行优化,识别出 LTS 可重铸为确定性可见下推自动机的片段。由此证明该片段上下文等价可判定,规范形式项可在指数时间内求解,并给出自动机退化为有限状态机的子片段。作者进一步用迹模型证明 call-by-name (IA) 与 call-by-value (RML) 到 CBPV 的翻译是全抽象的,使结果涵盖文献中若干可判定性结论,并体现操作式方法的简洁与直观。
We consider a simply-typed call-by-push-value calculus with state, and provide a fully abstract trace model via a labelled transition system (LTS) in the spirit of operational game semantics. By examining the shape of configurations and performing a series of natural optimisation steps based on name recycling, we identify a fragment for which the LTS can be recast as a deterministic visibly pushdown automaton. This implies decidability of contextual equivalence for the fragment identified and solvability in exponential time for terms in canonical form. We also identify a fragment for which these automata are finite-state machines.Further, we use the trace model to prove that translations of prototypical call-by-name (IA) and call-by-value (RML) languages into our call-by-push-value language are fully abstract. This allows our decidability results to be seen as subsuming several results from the literature for IA and RML. We regard our operational approach as a simpler and more intuitive way of deriving such results. The techniques we rely on draw upon simple intuitions from operational semantics and the resultant automata retain operational style, capturing the dynamics of the underlying language.