Add heap-trail partitioning strategy, checks between partitions, and cubes with zero...
authorAmalee Wilson <amalee@cs.stanford.edu>
Fri, 13 May 2022 20:26:51 +0000 (13:26 -0700)
committerGitHub <noreply@github.com>
Fri, 13 May 2022 20:26:51 +0000 (20:26 +0000)
commit2a397ba9a749839474b7fd209d909049a79f6bfc
tree1f7bf47c5f7d4a9310944b363d6ba29b0f83232a
parentead6d41a4cbfd0d99a80201cd1197943c63428ee
Add heap-trail partitioning strategy, checks between partitions, and cubes with zero-level learned literals (#8703)

These changes extend the partition generator to be able to do the following:

Access the order_heap in MiniSat and make partitions from those literals.
Specify a number of checks between partitions. This is relevant for only the revised and strict-cube strategies.
Append zero-level learned literals to the partitions.
14 files changed:
src/api/cpp/cvc5_types.h
src/options/parallel_options.toml
src/prop/minisat/core/Solver.cc
src/prop/minisat/core/Solver.h
src/prop/minisat/minisat.cpp
src/prop/minisat/minisat.h
src/prop/prop_engine.cpp
src/prop/prop_engine.h
src/prop/sat_solver.h
src/prop/theory_proxy.cpp
src/prop/theory_proxy.h
src/prop/zero_level_learner.h
src/theory/partition_generator.cpp
src/theory/partition_generator.h