We investigate program equivalence for linear higher-order(sequential) languages endowed with primitives for computational effects. More specifically, we study operationally-based notions of program equivalence for a linear $\lambda$-calculus with explicit copying and algebraic effects \emph{\`a la} Plotkin and Power. Such a calculus makes explicit the interaction between copying and linearity, which are intensional aspects of computation, with effects, which are, instead, \emph{extensional}. We review some of the notions of equivalences for linear calculi proposed in the literature and show their limitations when applied to effectful calculi where copying is a first-class citizen. We then introduce resource transition systems, namely transition systems whose states are built over tuples of programs representing the available resources, as an operational semantics accounting for both intensional and extensional interactive behaviors of programs. Our main result is a sound and complete characterization of contextual equivalence as trace equivalence defined on top of resource transition systems.
翻译:更具体地说,我们研究一个直线 $\ lambda$- calculu 的基于操作的等效程序概念,该等值具有明确的复制和代数效应 \ emph ⁇ a la} Plotkin 和 Power。这样的微积分明确了复制和线性之间的相互作用,这是计算中具有强化性的方面,其效果是 \ emph{ extensional} 。我们审查了文献中提议的线性计算等值概念的一些概念,并展示了在将第一等公民复制为一等公民的产生效果的计算中应用这些等同程序时的局限性。我们随后引入了资源过渡系统,即过渡系统,其状态建于代表现有资源的方案图示之上,作为计算程序内向性和扩展互动行为的操作性语义学。我们的主要结果是将环境等同作为资源转换系统顶部的痕量等进行正确和完整的描述。