Skip to content

Commit

Permalink
[alethe] Update processing of ProofRule::FORALL_INST
Browse files Browse the repository at this point in the history
  • Loading branch information
HanielB committed Aug 2, 2024
1 parent 7ee7051 commit cca80e3
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions src/proof/alethe/alethe_post_processor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1437,7 +1437,7 @@ bool AletheProofPostprocessCallback::update(Node res,
// See proof_rule.h for documentation on the INSTANTIATE rule. This
// comment uses variable names as introduced there.
//
// ----- FORALL_INST, (= x1 t1) ... (= xn tn)
// ----- FORALL_INST, t1 ... tn
// VP1
// ----- OR
// VP2 P
Expand All @@ -1450,15 +1450,15 @@ bool AletheProofPostprocessCallback::update(Node res,
// ^ the corresponding proof node is F*sigma
case ProofRule::INSTANTIATE:
{
for (size_t i = 0, size = children[0][0].getNumChildren(); i < size; i++)
{
new_args.push_back(children[0][0][i].eqNode(args[0][i]));
}
Node vp1 = nm->mkNode(
Kind::SEXPR, d_cl, nm->mkNode(Kind::OR, children[0].notNode(), res));
Node vp2 = nm->mkNode(Kind::SEXPR, d_cl, children[0].notNode(), res);
return addAletheStep(
AletheRule::FORALL_INST, vp1, vp1, {}, new_args, *cdp)
return addAletheStep(AletheRule::FORALL_INST,
vp1,
vp1,
{},
std::vector<Node>{args[0].begin(), args[0].end()},
*cdp)
&& addAletheStep(AletheRule::OR, vp2, vp2, {vp1}, {}, *cdp)
&& addAletheStep(AletheRule::RESOLUTION,
res,
Expand Down

0 comments on commit cca80e3

Please sign in to comment.