3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-01-05 18:42:44 +00:00
Commit graph

249 commits

Author SHA1 Message Date
Jakob Rath
40f794c5b4 test stub 2023-06-15 11:53:06 +02:00
Jakob Rath
a0df8507d9 extract/concat slicing wip 2023-06-12 21:13:20 +02:00
Jakob Rath
9e1afc5916 Remove repropagate_units as well 2023-04-03 17:12:15 +02:00
Jakob Rath
c3c9883b0a Remove repropagate 2023-04-03 15:50:47 +02:00
Nikolaj Bjorner
63ebd4fcba another unsoundness bug
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-03-31 16:13:46 -07:00
Nikolaj Bjorner
9614e428a6 wip: enabling reinit approach
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-03-30 08:41:22 -07:00
Nikolaj Bjorner
bee3320ff6 put reinit-stack code path under ENALBE_REINIT_STACK macro
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-03-29 13:03:00 -07:00
Jakob Rath
64e452e086 Add some clause names 2023-03-29 15:30:05 +02:00
Nikolaj Bjorner
d0e016c35d elaborate on clause reinitialization code path
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-03-28 12:57:34 -07:00
Nikolaj Bjorner
67efd6531b add stubs for reinit_clauses
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-03-28 12:34:09 -07:00
Jakob Rath
2804453039 resolve_conflict should stop at base index 2023-03-22 12:43:39 +01:00
Nikolaj Bjorner
da782a9dc7 remove references to linear propagate
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-03-20 09:20:00 +01:00
Nikolaj Bjorner
3dbca1042c review comments
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-03-20 09:12:07 +01:00
Jakob Rath
707a5b78f7 Print less output in non-verbose mode 2023-03-18 08:04:03 +01:00
Jakob Rath
526a55f116 Try to evaluate constraints whenever one of its variables is changed 2023-03-17 22:19:46 +01:00
Jakob Rath
cdd2dbcc41 combine different propagation functions 2023-03-17 13:25:22 +01:00
Jakob Rath
a6771eb567 bool watch: order by search index instead of decision level 2023-03-16 16:50:09 +01:00
Clemens Eisenhofer
135da9b824 Log also last conflict 2023-03-15 16:22:58 +01:00
Jakob Rath
50876a4dae Add helper for printing polysat constraints 2023-03-12 16:15:25 +01:00
Jakob Rath
d075759659 mk_clause with name 2023-03-11 10:32:19 +01:00
Jakob Rath
47f3353af6 Add int/unsigned overloads in pairs to avoid implicit conversions 2023-03-11 09:56:22 +01:00
Jakob Rath
ed03b5183e do evaluation according to pvar watchlists 2023-03-10 15:52:24 +01:00
Clemens Eisenhofer
5b35450891 Several changes:
- Extend fixed-bit FI to both directions
- really randomized restart
- MSB for fixed-bits
- Forward propagation (band, lshift, rshift) with good justifications (strengthen during saturation)
2023-03-07 15:21:14 +01:00
Clemens Eisenhofer
e343a3ecd3 Parity bug fix
Moved div_monotonicity to extra lemma
2023-03-06 10:12:32 +01:00
Jakob Rath
d8c6ab3488 split repropagate_units 2023-03-02 16:01:57 +01:00
Jakob Rath
8249a075e1 repropagate outside pop_levels 2023-03-02 15:52:58 +01:00
Jakob Rath
b6480e789f Repropagate may need to update watchlist 2023-02-20 15:06:31 +01:00
Jakob Rath
7f41761616 xnor 2023-02-20 11:56:23 +01:00
Nikolaj Bjorner
b45f42133d updates to try_div_monotonicity
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-02-04 15:55:14 -08:00
Jakob Rath
1a733a3a50 compute polysat unsat core 2023-02-03 17:37:09 +01:00
Jakob Rath
579275a17d cleanup 2023-02-03 16:33:02 +01:00
Jakob Rath
5678c1c592 We need more clause names 2023-02-03 15:54:56 +01:00
Jakob Rath
5589d3389d Drop assign_verify 2023-02-02 13:22:10 +01:00
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
Jakob Rath
1bb68a4fc1 track dependency of base-level conflict 2023-02-01 10:47:26 +01:00
Jakob Rath
3dc8ef6337 parity edge case 2023-01-23 15:07:35 +01:00
Jakob Rath
181995a4fb extend invariant check 2023-01-09 17:16:56 +01:00
Jakob Rath
c55d316c6a Rename to get_assignment to prevent clash with class name 2023-01-09 17:15:40 +01:00
Jakob Rath
0daf444cec Actually revert boolean decisions 2023-01-04 17:20:34 +01:00
Clemens Eisenhofer
79e7380ffc Pseudo-inverse op_constraint 2023-01-03 17:47:54 +01:00
Clemens Eisenhofer
6f78c33558 Generalized variable elimination 2022-12-29 22:36:04 +01:00
Clemens Eisenhofer
39a4bb025b Propagate assignment if all bits are assigned and use better justification if any found 2022-12-27 08:44:55 +01:00
Clemens Eisenhofer
74ec28201e Merge remote-tracking branch 'Z3Prover/polysat' into polysat 2022-12-25 12:41:39 +01:00
Jakob Rath
68b74ca6a7 parity debugging 2022-12-23 11:42:45 +01:00
Clemens Eisenhofer
c8b9127028 Added justifications for intermediate values [e.g., 2 * x in the pdd (2 * x) + y]
This might allow propagation in both directions
2022-12-21 13:52:27 +01:00
Nikolaj Bjorner
a8d401864b review
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-20 12:46:15 -08:00
Jakob Rath
69b41a7e70 Check invariant on pvars 2022-12-19 13:55:50 +01:00
Clemens Eisenhofer
ec06027515 First step towards explaining single bits 2022-12-19 12:27:37 +01:00
Jakob Rath
bf92fa4882 clause_iterator 2022-12-16 15:21:32 +01:00
Jakob Rath
ca373836af Merge remote-tracking branch 'origin/polysat' into polysat 2022-12-16 14:26:38 +01:00