当前位置: X-MOL 学术arXiv.cs.PL › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Proving Equivalence Between Complex Expressions Using Graph-to-Sequence Neural Models
arXiv - CS - Programming Languages Pub Date : 2021-06-01 , DOI: arxiv-2106.02452
Steve Kommrusch, Théo Barollet, Louis-Noël Pouchet

We target the problem of provably computing the equivalence between two complex expression trees. To this end, we formalize the problem of equivalence between two such programs as finding a set of semantics-preserving rewrite rules from one into the other, such that after the rewrite the two programs are structurally identical, and therefore trivially equivalent.We then develop a graph-to-sequence neural network system for program equivalence, trained to produce such rewrite sequences from a carefully crafted automatic example generation algorithm. We extensively evaluate our system on a rich multi-type linear algebra expression language, using arbitrary combinations of 100+ graph-rewriting axioms of equivalence. Our machine learning system guarantees correctness for all true negatives, and ensures 0 false positive by design. It outputs via inference a valid proof of equivalence for 93% of the 10,000 equivalent expression pairs isolated for testing, using up to 50-term expressions. In all cases, the validity of the sequence produced and therefore the provable assertion of program equivalence is always computable, in negligible time.

中文翻译:

使用图到序列神经模型证明复杂表达式之间的等价性

我们的目标是可证明地计算两个复杂表达式树之间的等价性的问题。为此,我们将两个这样的程序之间的等价问题形式化为找到一组从一个到另一个的保留语义的重写规则,这样重写后两个程序在结构上是相同的,因此非常等价。 然后我们开发一个用于程序等效的图到序列神经网络系统,经过训练,可以从精心设计的自动示例生成算法中生成此类重写序列。我们在丰富的多类型线性代数表达式语言上广泛评估我们的系统,使用 100 多个图重写等价公理的任意组合。我们的机器学习系统保证所有真阴性的正确性,并通过设计确保 0 假阳性。它通过推理输出 10,000 个隔离用于测试的等效表达式对中的 93% 的有效等效证明,使用最多 50 个术语表达式。在所有情况下,产生的序列的有效性以及程序等效性的可证明断言总是可计算的,时间可忽略不计。
更新日期:2021-06-07
down
wechat
bug