cvc5 / cvc5-projects

1 stars 0 forks source link

Fatal failure in cvc5::internal::theory::quantifiers::CegisCoreConnective::constructSolutionFromPool() at src/theory/quantifiers/sygus/cegis_core_connective.cpp:781 #656

Closed cvc5-bot closed 8 months ago

cvc5-bot commented 1 year ago

cvc5/cvc5@1b649b4877c77c878e2865e19cad531309dc9a4d murxla/murxla@3c45751cb73ce5ff0157aff6783aec3c9000f0f7

#include <cvc5/cvc5.h>

using namespace cvc5;
int main(void)
{
Solver solver;
solver.setOption("incremental", "false");
solver.setOption("produce-abducts", "true");
Sort s0 = solver.getIntegerSort();
Sort s1 = solver.mkUninterpretedSort("_u0");
Term t2 = solver.mkConst(s1, "_x7");
Term t3 = solver.mkInteger(28601551);
Term t4 = solver.mkTerm(SEQ_UNIT, {t2});
Sort s5 = t4.getSort();
Term t6 = solver.mkTerm(BAG_MAKE, {t2, t3});
Sort s7 = t6.getSort();
Term t8 = solver.mkTerm(BAG_UNION_DISJOINT, {t6, t6});
Op o9 = solver.mkOp(BAG_CARD);
Term t10 = solver.mkTerm(o9, {t8});
Op o11 = solver.mkOp(SEQ_UPDATE);
Term t12 = solver.mkTerm(o11, {t4, t10, t4});
Op o13 = solver.mkOp(SEQ_CONTAINS);
Term t14 = solver.mkTerm(o13, {t4, t12});
Sort s15 = t14.getSort();
Term t16 = solver.getAbduct(t14);

return 0;
}

error:

Fatal failure within cvc5::internal::Node cvc5::internal::theory::quantifiers::CegisCoreConnective::constructSolutionFromPool(cvc5::internal::theory::quantifiers::CegisCoreConnective::Component&, std::vector<cvc5::internal::NodeTemplate<true> >&, std::vector<cvc5::internal::NodeTemplate<true> >&) at ../src/theory/quantifiers/sygus/cegis_core_connective.cpp:781
Check failure

 false
ajreynol commented 1 year ago

The issue is due to generating an empty unsat core due to handling of bag.card.

mudathirmahgoub commented 8 months ago

Fixed by https://github.com/cvc5/cvc5/commit/234ff9c0427ac537b3f309501918ecfbf7653c7e