Add bag inferences for operators: intersection, duplicate_removal, and empty bags...
authormudathirmahgoub <mudathirmahgoub@gmail.com>
Fri, 29 Jan 2021 21:44:28 +0000 (15:44 -0600)
committerGitHub <noreply@github.com>
Fri, 29 Jan 2021 21:44:28 +0000 (15:44 -0600)
commit50c3dee5c8a4855023df826e1a733ea3c6076774
tree3dd574a7e6153c9225c6abcde9085d06de057f6f
parentce1b2f2fb06150599c231bf0d59b52a07e74c3f5
Add bag inferences for operators: intersection, duplicate_removal, and empty bags (#5832)

This PR adds inferences for operators: intersection, duplicate_removal, and empty bags during post check.
It also fixes a bug in SolverState::getElements
14 files changed:
src/theory/bags/bag_solver.cpp
src/theory/bags/bag_solver.h
src/theory/bags/infer_info.cpp
src/theory/bags/inference_generator.cpp
src/theory/bags/inference_generator.h
src/theory/bags/solver_state.cpp
src/theory/bags/solver_state.h
src/theory/bags/theory_bags.cpp
test/regress/CMakeLists.txt
test/regress/regress1/bags/duplicate_removal1.smt2 [new file with mode: 0644]
test/regress/regress1/bags/duplicate_removal2.smt2 [new file with mode: 0644]
test/regress/regress1/bags/emptybag1.smt2 [new file with mode: 0644]
test/regress/regress1/bags/intersection_min1.smt2 [new file with mode: 0644]
test/regress/regress1/bags/intersection_min2.smt2 [new file with mode: 0644]