* conflict_core doesn't need gc() anymore
* update comments, ensure_bvar for new constraints
* Make sure constraints can only be created through constraint_manager
* fix constraint::display if no boolean variable is assigned
* Move clause into separate file
* Add conflict_core binary resolution
* conflict_core additions
* reactivate conflict resolution outer loop
* wip
* seems commented includes break CI build
* Assign boolean variables only to long-lived constraints, and deduplicate constraints when they are created
* scoped_signed_constraint
* update other classes
* fix
* Don't use scoped_ptr<constraint> with dedup()
* Rename solver_scope for fixplex tests
(otherwise the wrong constructor is called for polysat's solver_scope)
* Update conflict_core
* simplify
* Be clearer about constraint_literal lifetime
* remove old comment
* Remove status (positive/negative) from constraint
* Use constraint_literal in the solver
* Fix build (constraint -> get_constraint)
* Simplify adding lemmas
* Remove misleading constructor from tmp_assign.
The idea is that tmp_assign is only created on the stack and
short-lived. Instead of having a convenience constructor that takes a
constraint_ref, it's clearer to have an explicit .get() at the call
site.
* Remove some log messages
* bugfix
* fix
* Add stub for conflict_core
* wip
* Add example by Clemens
* Refactor: remove sign and dep from constraint
* fix some bugs
* improve log messages
* Add missing premises to lemma
* Rename getter in an attempt to fix linux build
* update example to match slides
* Add normalized view of inequalities
* workaround
* Add a conflict explanation rule
* unit clauses should be asserted at the base level
* Add src constraint to interval
* support non-strict case in first rule
* print conflict constraints only once
* update second rule
* update third rule as well
* display constraint's extra info in one place
* Add stub for conflict explainer
* Add helper functions to check whether constraint is active at base level
* Add helper class tmp_assign
* Add clause_builder; it skips unnecessary literals during clause creation
* some fixes
* Use clause_builder for forbidden intervals
* remove old comments
* fixes/comments in solver
* print redundant clauses
* First pass at conflict_explainer
* remove unused model class
* Choose value for k
* also print min/max k