We propose a new approach to defining programming languages with effects, and proving observational equivalence. Operational machinery is given by a hypergraph-rewriting abstract machine inspired by Girard's Geometry of Interaction. It interprets a graph calculus of only three intrinsic constructs: variable binding, atom binding, and thunking. Everything else, including features which are commonly thought of as intrinsic, such as arithmetic or function abstraction and application, must be provided as extrinsic operations, with associated rewrite rules. The graph representation naturally leads to two new principles about equational reasoning, which we call \emph{locality} and \emph{robustness}. These concepts enable a novel flexible and powerful reasoning methodology about (type-free) languages with effects. The methodology is additionally capable of proving a generalised notion of observational equivalence that can be quantified over syntactically restricted contexts instead of all contexts, and also can be quantitatively constrained in terms of the number of reduction steps. We illustrate the methodology using the call-by-value lambda-calculus extended with (higher-order) state.
翻译:我们提出一种新的方法来界定具有效果的编程语言,并证明观测等同。 操作机制是由一种由Girard的“ 交互” 几何学学所启发的高写抽象机器提供的。 它解释一个只有三种内在构造的图形微微积分: 可变的、 原子绑定、 和填充。 所有其他, 包括通常被认为是内在的特征, 如算术或函数抽象和应用, 必须作为外源操作提供, 并附带相关的重写规则。 图形表达方式自然导致两个关于方程推理的新原则, 我们称之为 emph{ locity} 和\emph{robustness。 这些概念使得能够对( type- defree) 语言产生新的灵活而有力的推理方法, 并产生效果。 该方法还能够证明一种一般的观测等同概念, 该等同概念可以被量化到合成限制环境而不是所有环境, 并在削减步骤的数量上受到量化限制。 我们用按呼号计算法说明方法。 我们用延展( 高阶) 状态。