Local Reasoning for Robust Observational Equivalence

07/02/2019
by   Dan R. Ghica, et al.
0

We propose a new core calculus for programming languages with effects, interpreted using a hypergraph-rewriting abstract machine inspired by the Geometry of Interaction. The intrinsic calculus syntax and semantics only deal with the basic structural aspects of programming languages: variable binding, name 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 yields natural concepts of locality and robustness for equational properties and reduction rules, which enable a novel flexible and powerful reasoning methodology about (type-free) languages with effects. We illustrate and motivate the technique with challenging examples from the literature.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset