summaryrefslogtreecommitdiff
path: root/src/theory/uf
diff options
context:
space:
mode:
authorAndres Noetzli <andres.noetzli@gmail.com>2021-07-28 14:11:55 -0700
committerGitHub <noreply@github.com>2021-07-28 14:11:55 -0700
commit1377cede4b223a5b6a68d7d9194b7e3346a2d51a (patch)
treeface9b6f6b46f663a38115c6ca11fb7415acbd10 /src/theory/uf
parent5067dee413caf5f5bda4e666d877841f936d74b0 (diff)
parente6747735d2074fc2651c5edc11fa8170fc13663e (diff)
Merge branch 'master' into docsLinkdocsLink
Diffstat (limited to 'src/theory/uf')
-rw-r--r--src/theory/uf/eq_proof.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/theory/uf/eq_proof.cpp b/src/theory/uf/eq_proof.cpp
index 6b2fae389..27b61e87d 100644
--- a/src/theory/uf/eq_proof.cpp
+++ b/src/theory/uf/eq_proof.cpp
@@ -1049,6 +1049,13 @@ Node EqProof::addToProof(CDProof* p,
}
// build constant application (f c1 ... cn) and equality (= (f c1 ... cn) c)
Kind k = d_node[0].getKind();
+ std::vector<Node> cargs;
+ cargs.push_back(ProofRuleChecker::mkKindNode(k));
+ if (d_node[0].getMetaKind() == kind::metakind::PARAMETERIZED)
+ {
+ constChildren.insert(constChildren.begin(), d_node[0].getOperator());
+ cargs.push_back(d_node[0].getOperator());
+ }
Node constApp = NodeManager::currentNM()->mkNode(k, constChildren);
Node constEquality = constApp.eqNode(d_node[1]);
Trace("eqproof-conv") << "EqProof::addToProof: adding "
@@ -1060,11 +1067,7 @@ Node EqProof::addToProof(CDProof* p,
Trace("eqproof-conv") << "EqProof::addToProof: adding " << PfRule::CONG
<< " step for " << congConclusion << " from "
<< subChildren << "\n";
- p->addStep(congConclusion,
- PfRule::CONG,
- {subChildren},
- {ProofRuleChecker::mkKindNode(k)},
- true);
+ p->addStep(congConclusion, PfRule::CONG, {subChildren}, cargs, true);
Trace("eqproof-conv") << "EqProof::addToProof: adding " << PfRule::TRANS
<< " step for original conclusion " << d_node << "\n";
std::vector<Node> transitivityChildren{congConclusion, constEquality};
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback