Disable arithmetic static learning when unsat cores are enabled (#8830)
The arithmetic static learner uses non-local reasoning and does not have proof support. Thus it may rewrite A ^ B to A ^ B' where ( A ^ B ) => B', but the preprocessor by default assumes that the replacement is such that B => B'.
This disables the arithmetic static learner when unsat cores are enabled. Other static learning appears to be local and is still enabled.
This further corrects an issue in set_defaults that checked incompatibility with unsat cores based on whether proofs are enabled. We now check compatibility independent of whether proofs are enabled. This also corrects several restrictions on things that previously were treated as being incompatible with unsat cores (but not proof unsat cores) that were spurious.
Fixes #8822.
14 files changed: