Jakob Rath
0d56edb65c
Fix missing boolean propagation after boolean conflict
...
Usually in SAT solving, the conflict clause has at least two false literals at the max level (otherwise, the last literal would have been propagated at an earlier level).
But here we are adding clauses on demand; so after backtracking we may have the case that the conflict clause has exactly one undefined literal that must be propagated explicitly.
2023-02-01 15:02:56 +01:00
Clemens Eisenhofer
783bd60598
Merge branch 'polysat' of https://github.com/Z3Prover/z3 into polysat
2023-02-01 11:28:15 +01:00
Clemens Eisenhofer
8db575ea3b
Division monotonicity
2023-02-01 11:27:46 +01:00
Jakob Rath
975fb25221
Fix to bench15 bug was unsound
2023-02-01 11:17:29 +01:00
Jakob Rath
f0625b604a
Promote assertions to release mode
2023-02-01 11:12:13 +01:00
Jakob Rath
576e0b70b2
stub for conflict::find_deps
2023-02-01 10:53:49 +01:00
Jakob Rath
1bb68a4fc1
track dependency of base-level conflict
2023-02-01 10:47:26 +01:00
Jakob Rath
3c822117d1
assert before deref
2023-02-01 10:41:02 +01:00
Jakob Rath
9314ad3808
minor changes to bounds propagation
2023-02-01 10:36:49 +01:00
Clemens Eisenhofer
63f7001117
Justify shift-premis in variable_elimination
2023-01-31 15:50:42 +01:00
Jakob Rath
9916a76543
try_eval constraints when adding clause
...
(fix assertion in bench15)
2023-01-31 15:15:51 +01:00
Nikolaj Bjorner
304b316314
move bounded division lemmas to nla solver/ nla_divisions.
2023-01-30 11:11:04 -08:00
Nikolaj Bjorner
03ca330926
fix division filter
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-30 08:23:17 -08:00
Nikolaj Bjorner
2c4a9c2f5c
fix division filter
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-30 08:20:26 -08:00
Nikolaj Bjorner
8e37e2f913
handle non-linear division axioms, consolidate backtracking state in nla_core
...
this update enables new incremental linear axioms based on division terms.
It also consolidates some of the backtracking state in nla_core / emons to use stack traces instead of custom backtracking state.
2023-01-29 17:22:57 -08:00
Nikolaj Bjorner
8ea49eed8e
convert reduce-args to a simplifier
...
- convert reduce-args to a simplifier. Currently exposed as reduce-args2 tactic until the old tactic code gets removed.
- bug fixes in model_reconstruction trail
- allow multiple defs to be added with same pool of removed formulas
- fix tracking of function symbols instead of expressions to filter replay
- add nla_divisions to track (cheap) divisibility lemmas.
-
2023-01-28 20:12:14 -08:00
Nikolaj Bjorner
fb1f4f3a2c
add pragma
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-27 18:03:06 -08:00
Nikolaj Bjorner
91d6082f2f
Move modular interval to interval directory
2023-01-27 17:55:36 -08:00
Clemens Eisenhofer
e8163b1769
Removed wrong assertion
2023-01-27 08:32:44 +01:00
Nikolaj Bjorner
ae24b73b19
bugfixes to incremental linearization for expanding power
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-26 21:19:45 -08:00
Nikolaj Bjorner
8be43ca68b
reshuffle pre-conditions for powers
2023-01-25 13:51:19 -08:00
Nikolaj Bjorner
e41dd91893
add module for handling axioms for powers
2023-01-25 13:34:13 -08:00
Jakob Rath
88d11c9381
skip always-true constraints
2023-01-25 12:34:01 +01:00
Jakob Rath
223f9fffed
avoid unused variable warning
2023-01-25 12:32:04 +01:00
Jakob Rath
f91bb12f0e
Add warning to not trust the unsat cores yet
2023-01-25 12:30:27 +01:00
Jakob Rath
4dc05447ad
verify model also in release mode
2023-01-25 11:42:34 +01:00
Jakob Rath
b460150f98
tried logic ALL for univariate solver
...
Allows us to solve bench25 but some others turn into unknown
2023-01-25 11:42:02 +01:00
Jakob Rath
7fbf27309b
rename
2023-01-25 11:42:02 +01:00
Nikolaj Bjorner
cf1ce4cea2
promote assertion to verify so it triggers in release mode, triggers for bench15
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-24 20:15:40 -08:00
Nikolaj Bjorner
2ae476416c
initial outline of exponentiation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-23 17:38:34 -08:00
Nikolaj Bjorner
d9f9cceea4
use intervals for tracking bounds on arithmetic variables
...
leverage interval propagation for bounds.
merge functionality with propagate-ineqs tactic
remove the new propagate-bounds tactic and instead use propagate-ineqs
2023-01-23 14:13:03 -08:00
Jakob Rath
a2ff185187
Put (arbitrary) bound on number of refinements
2023-01-23 16:33:07 +01:00
Jakob Rath
3dc8ef6337
parity edge case
2023-01-23 15:07:35 +01:00
Jakob Rath
07de75cd12
fix and-propagation
2023-01-23 15:04:13 +01:00
Jakob Rath
58ab342029
Add missing and-lemma; fix condition on existing one
2023-01-23 14:56:46 +01:00
Jakob Rath
46147c2fc3
Fix unsoundness in ule_constraint lemma
2023-01-23 13:59:00 +01:00
Nikolaj Bjorner
eb751bec4c
fix riscv/aarch/powerpc build warnings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-22 23:57:59 -08:00
Nikolaj Bjorner
806a4772bc
revert effect of filtering unsupported
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-20 17:28:24 -08:00
Jakob Rath
c6cd35508b
fix
2023-01-19 19:09:46 +01:00
Jakob Rath
2056d392ba
Detect gap in has_max_forbidden
2023-01-19 13:48:06 +01:00
Jakob Rath
d1ef8029a9
simpler condition
2023-01-19 13:43:50 +01:00
Jakob Rath
f9f61249e1
debug output
2023-01-19 13:42:33 +01:00
Jakob Rath
a7ad1f0bfb
fix build
2023-01-18 19:29:22 +01:00
Jakob Rath
85a8d8b005
debug output
2023-01-18 18:46:40 +01:00
Jakob Rath
905144cdbb
assert
2023-01-18 18:43:41 +01:00
Jakob Rath
8385452d91
simplify interval
2023-01-18 18:40:48 +01:00
Jakob Rath
c62ba26cf4
simplify
2023-01-18 18:38:44 +01:00
Jakob Rath
3e42dbe591
Fix assertions
2023-01-18 18:30:25 +01:00
Jakob Rath
c954e82503
assertion should hold now after recent fix
2023-01-16 16:51:16 +01:00
Jakob Rath
015fcb457c
avoid warnings
2023-01-16 16:50:36 +01:00