3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-10-09 09:21:56 +00:00
Commit graph

2485 commits

Author SHA1 Message Date
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