Self-Supervised Learning to Prove Equivalence Between Programs via Semantics-Preserving Rewrite Rules

09/22/2021
by   Steve Kommrusch, et al.
0

We target the problem of synthesizing proofs of semantic equivalence between two programs made of sequences of statements with complex symbolic expressions. We propose a neural network architecture based on the transformer to generate axiomatic proofs of equivalence between program pairs. We generate expressions which include scalars and vectors and support multi-typed rewrite rules to prove equivalence. For training the system, we develop an original training technique, which we call self-supervised sample selection. This incremental training improves the quality, generalizability and extensibility of the learned model. We study the effectiveness of the system to generate proofs of increasing length, and we demonstrate how transformer models learn to represent complex and verifiable symbolic reasoning. Our system, S4Eq, achieves 97 success on 10,000 pairs of programs while ensuring zero false positives by design.

READ FULL TEXT

page 5

page 18

research
06/01/2021

Proving Equivalence Between Complex Expressions Using Graph-to-Sequence Neural Models

We target the problem of provably computing the equivalence between two ...
research
02/17/2020

Equivalence of Dataflow Graphs via Rewrite Rules Using a Graph-to-Sequence Neural Model

In this work we target the problem of provably computing the equivalence...
research
02/06/2019

Neural-Network Guided Expression Transformation

Optimizing compilers, as well as other translator systems, often work by...
research
01/27/2020

Operationally-based Program Equivalence Proofs using LCTRSs

We propose an operationally-based deductive proof method for program equ...
research
11/04/2016

Learning Continuous Semantic Representations of Symbolic Expressions

Combining abstract, symbolic reasoning with continuous neural reasoning ...
research
07/09/2002

Alternative Characterizations for Strong Equivalence of Logic Programs

In this work we present additional results related to the property of st...
research
04/01/2020

SPES: A Two-Stage Query Equivalence Verifier

In database-as-a-service platforms, automated verification of query equi...

Please sign up or login with your details

Forgot password? Click here to reset