[proofs] Alethe: Bug Fix in Cong Rule (#8391)
authorLachnitt <lachnitt@stanford.edu>
Fri, 25 Mar 2022 18:59:26 +0000 (11:59 -0700)
committerGitHub <noreply@github.com>
Fri, 25 Mar 2022 18:59:26 +0000 (18:59 +0000)
cvc5 suffered a segfault in the CONG rule because the refl step, e.g. (= v0 v0), was added without the cl connector, e.g. (cl (= v0 v0))

src/proof/alethe/alethe_post_processor.cpp

index f698a5fbdd764451e5ee024076a908e77a630f4c..6e98ed8a1e48c46ba35b1ecf435ddc12d3e6b84a 100644 (file)
@@ -986,7 +986,8 @@ bool AletheProofPostprocessCallback::update(Node res,
         {
           Node vpi = children[0][0][i].eqNode(children[0][1][i]);
           new_args.push_back(vpi);
-          vpis.push_back(nm->mkNode(kind::SEXPR, d_cl, vpi));
+          vpi = nm->mkNode(kind::SEXPR, d_cl, vpi);
+          vpis.push_back(vpi);
           success &= addAletheStep(AletheRule::REFL, vpi, vpi, {}, {}, *cdp);
         }
         vpis.push_back(children[1]);