summaryrefslogtreecommitdiff
path: root/src/theory/arith/nl
diff options
context:
space:
mode:
Diffstat (limited to 'src/theory/arith/nl')
-rw-r--r--src/theory/arith/nl/cad_solver.cpp12
-rw-r--r--src/theory/arith/nl/transcendental/sine_solver.cpp4
-rw-r--r--src/theory/arith/nl/transcendental/transcendental_solver.cpp6
3 files changed, 13 insertions, 9 deletions
diff --git a/src/theory/arith/nl/cad_solver.cpp b/src/theory/arith/nl/cad_solver.cpp
index 1cf9cbc54..aa9bce776 100644
--- a/src/theory/arith/nl/cad_solver.cpp
+++ b/src/theory/arith/nl/cad_solver.cpp
@@ -14,11 +14,12 @@
#include "theory/arith/nl/cad_solver.h"
-#include "theory/inference_id.h"
+#include "expr/skolem_manager.h"
#include "theory/arith/inference_manager.h"
#include "theory/arith/nl/cad/cdcac.h"
#include "theory/arith/nl/nl_model.h"
#include "theory/arith/nl/poly_conversion.h"
+#include "theory/inference_id.h"
namespace cvc5 {
namespace theory {
@@ -37,11 +38,10 @@ CadSolver::CadSolver(InferenceManager& im,
d_im(im),
d_model(model)
{
- d_ranVariable =
- NodeManager::currentNM()->mkSkolem("__z",
- NodeManager::currentNM()->realType(),
- "",
- NodeManager::SKOLEM_EXACT_NAME);
+ NodeManager* nm = NodeManager::currentNM();
+ SkolemManager* sm = nm->getSkolemManager();
+ d_ranVariable = sm->mkDummySkolem(
+ "__z", nm->realType(), "", NodeManager::SKOLEM_EXACT_NAME);
#ifdef CVC4_POLY_IMP
ProofChecker* pc = pnm != nullptr ? pnm->getChecker() : nullptr;
if (pc != nullptr)
diff --git a/src/theory/arith/nl/transcendental/sine_solver.cpp b/src/theory/arith/nl/transcendental/sine_solver.cpp
index c8c375096..2a1f2ad91 100644
--- a/src/theory/arith/nl/transcendental/sine_solver.cpp
+++ b/src/theory/arith/nl/transcendental/sine_solver.cpp
@@ -20,6 +20,7 @@
#include "expr/node_algorithm.h"
#include "expr/node_builder.h"
#include "expr/proof.h"
+#include "expr/skolem_manager.h"
#include "options/arith_options.h"
#include "theory/arith/arith_msum.h"
#include "theory/arith/arith_utilities.h"
@@ -55,10 +56,11 @@ SineSolver::~SineSolver() {}
void SineSolver::doPhaseShift(TNode a, TNode new_a, TNode y)
{
NodeManager* nm = NodeManager::currentNM();
+ SkolemManager* sm = nm->getSkolemManager();
Assert(a.getKind() == Kind::SINE);
Trace("nl-ext-tf") << "Basis sine : " << new_a << " for " << a << std::endl;
Assert(!d_data->d_pi.isNull());
- Node shift = nm->mkSkolem("s", nm->integerType(), "number of shifts");
+ Node shift = sm->mkDummySkolem("s", nm->integerType(), "number of shifts");
// TODO (cvc4-projects #47) : do not introduce shift here, instead needs model-based
// refinement for constant shifts (cvc4-projects #1284)
Node lem = nm->mkNode(
diff --git a/src/theory/arith/nl/transcendental/transcendental_solver.cpp b/src/theory/arith/nl/transcendental/transcendental_solver.cpp
index ed5ab4255..b3fd40ce7 100644
--- a/src/theory/arith/nl/transcendental/transcendental_solver.cpp
+++ b/src/theory/arith/nl/transcendental/transcendental_solver.cpp
@@ -19,6 +19,7 @@
#include "expr/node_algorithm.h"
#include "expr/node_builder.h"
+#include "expr/skolem_manager.h"
#include "options/arith_options.h"
#include "theory/arith/arith_msum.h"
#include "theory/arith/arith_utilities.h"
@@ -56,14 +57,15 @@ void TranscendentalSolver::initLastCall(const std::vector<Node>& xts)
}
NodeManager* nm = NodeManager::currentNM();
+ SkolemManager* sm = nm->getSkolemManager();
for (const Node& a : needsMaster)
{
// should not have processed this already
Assert(d_tstate.d_trMaster.find(a) == d_tstate.d_trMaster.end());
Kind k = a.getKind();
Assert(k == Kind::SINE || k == Kind::EXPONENTIAL);
- Node y =
- nm->mkSkolem("y", nm->realType(), "phase shifted trigonometric arg");
+ Node y = sm->mkDummySkolem(
+ "y", nm->realType(), "phase shifted trigonometric arg");
Node new_a = nm->mkNode(k, y);
d_tstate.d_trSlaves[new_a].insert(new_a);
d_tstate.d_trSlaves[new_a].insert(a);
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback