3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-09-04 00:58:07 +00:00
Commit graph

56 commits

Author SHA1 Message Date
Jakob Rath
a37536e0ae clarify unsat_core 2023-02-06 17:52:52 +01:00
Jakob Rath
579275a17d cleanup 2023-02-03 16:33:02 +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
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
3b3636b30e Remove conflict::set 2022-12-16 14:25:41 +01:00
Jakob Rath
06e6f27614 refactor 2022-12-16 14:22:50 +01:00
Jakob Rath
afde0e993c Add bitblasting fallback to viable::query
(integration between conflict/viable is still messy)
2022-12-16 13:02:54 +01:00
Jakob Rath
5ad961029d Rename revert_decision -> revert_pvar, and enable it.
Also rename resolve_with_assignment to resolve_evaluated
2022-12-08 16:19:11 +01:00
Nikolaj Bjorner
754cb540d0 disable new code paths for commit
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-07 02:23:43 -08:00
Nikolaj Bjorner
f2c228f160 update function that propagates bounds on x*y = 0 to be more comprehensive
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-05 01:19:26 -08:00
Jakob Rath
4aa04fa475 Lemma names 2022-11-28 19:13:38 +01:00
Jakob Rath
2787a22007 Backtrack/backjump based on accumulated lemmas 2022-11-23 12:49:36 +01:00
Jakob Rath
38a43bd087 Remove conflict_kind 2022-11-17 12:25:28 +01:00
Jakob Rath
00e8c53f9a Remove unused code 2022-11-17 12:22:40 +01:00
Jakob Rath
aa59de9056 Track max jump level from side lemmas 2022-11-14 15:43:46 +01:00
Jakob Rath
cd83a6ec69 Remove bailout state from conflict 2022-11-14 15:15:35 +01:00
Jakob Rath
e2804c3db2 Remove bail_vars 2022-11-14 15:02:58 +01:00
Jakob Rath
01af25ca02 Remove backjump state from conflict 2022-11-14 14:33:19 +01:00
Jakob Rath
7662427d92 Split constraint_manager into separate file 2022-11-07 13:33:48 +01:00
Jakob Rath
4cdd3bf77d Add overload for conflict::add_lemma 2022-10-31 15:19:36 +01:00
Jakob Rath
6a03df9017 Track set of variables that occur in conflict constraints 2022-10-31 15:18:48 +01:00
Nikolaj Bjorner
2d8b7b5ac6 deal with compiler warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-10-13 17:55:47 +02:00
Jakob Rath
4406652c7b Narrow conflicting constraint after backjumping 2022-10-07 18:01:54 +02:00
Jakob Rath
8333664433 Simplify handling of side lemmas in conflict 2022-10-07 16:19:41 +02:00
Jakob Rath
dcd6c01a90 revive polynomial superposition (wip) 2022-10-07 10:34:07 +02:00
Jakob Rath
155b746e03 side lemmas 2022-10-07 10:18:29 +02:00
Jakob Rath
a4f0e3a228 Add level to conflict
- reset conflict at correct level when popping user scopes
- functions as flag when handling inconsistent input (e.g., opposite literals)
- now all constraints in the conflict core should have bvalue == l_true
2022-09-23 16:06:14 +02:00
Jakob Rath
86d00b536a move todo notes to cpp file 2022-09-23 15:45:53 +02:00
Jakob Rath
1020f38e1a reconnect saturation 2022-09-21 16:47:16 +02:00
Jakob Rath
6abe0c9be8 set, lemma, minor 2022-09-21 16:29:36 +02:00
Jakob Rath
b43971bb4a Connect conflict2 2022-09-21 12:14:44 +02:00
Jakob Rath
a978604a7e move files (conflict2 -> conflict) 2022-09-20 10:26:38 +02:00
Jakob Rath
acf9976df9 make it compile 2022-08-26 16:28:52 +02:00
Jakob Rath
d473c23e5b bailout for saturation lemmas 2022-07-01 11:51:52 +02:00
Jakob Rath
0fb8c72f50 print more information 2022-06-29 14:26:25 +02:00
Jakob Rath
6bf897aad8 backtrack_fi 2022-04-25 17:39:07 +02:00
Jakob Rath
88a17ef33e print more 2022-04-13 11:42:41 +02:00
Jakob Rath
be488f75ab Add some fi info 2022-04-13 09:34:59 +02:00
Jakob Rath
9fa5096776 conflict logging 2022-04-12 16:06:20 +02:00
Jakob Rath
63031548cb Store only literals in the conflict state 2022-04-11 15:00:06 +02:00
Nikolaj Bjorner
c48f14e537 updated conflict state
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-02-01 11:47:33 -08:00
Nikolaj Bjorner
486cc632d0 notes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-31 09:16:48 -08:00
Nikolaj Bjorner
697b561c7a update comments
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-30 17:34:00 -08:00
Nikolaj Bjorner
b488a1fadd WIP revamp conflict state
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-29 16:17:58 -08:00
Nikolaj Bjorner
0677eb1c05 fixing up missing dependencies during resolution
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-27 16:58:16 -08:00
Jakob Rath
c4c9c84aeb Treat eval'd literals as propagations (not as decisions) 2022-01-21 15:56:16 +01:00
Nikolaj Bjorner
83efb1413a na 2021-12-11 08:41:04 -08:00
Nikolaj Bjorner
d86570ce75 prepare for new viable 2021-11-21 06:18:35 +01:00
Nikolaj Bjorner
57c40e480b na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-08 05:08:57 -08:00