We present a bounded equivalence verification technique for higher-order programs with local state. This technique combines fully abstract symbolic environmental bisimulations similar to symbolic game semantics, novel up-to techniques, and lightweight state invariant annotations. This yields an equivalence verification technique with no false positives or negatives. The technique is bounded-complete, in that all inequivalences are automatically detected given large enough bounds. Moreover, several hard equivalences are proved automatically or after being annotated with state invariants. We realise the technique in a tool prototype called Hobbit and benchmark it with an extensive set of new and existing examples. Hobbit can prove many classical equivalences including all Meyer and Sieber examples.
翻译:我们为高阶方案提供了一种与当地状态相连接的等同核查技术。 这种技术将完全抽象的象征性环境平衡模拟与象征性游戏语义学、新到技术、轻量级状态变异说明相结合。 这产生了一种无假正数或负数的等同核查技术。 这种技术是相互连接的, 因为它所有的等同都自动检测到足够大的界限。 此外, 一些硬等值被自动证明或者在被国家变异剂附加说明之后。 我们在一个名为Hobbbit的工具原型中发现了这种技术, 并以大量新的和现有的例子作为基准。 Hobbbit可以证明许多古典等同, 包括所有Myer和Sieber的例子。