3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-12 18:24:43 +00:00
Commit graph

28 commits

Author SHA1 Message Date
Jakob Rath
3d27ec41d0 Bring back boolean decisions (wip)
The backtracking code doesn't know about boolean decisions yet
2022-10-03 18:36:16 +02:00
Jakob Rath
0a0953ae78 Reduce log output 2022-09-23 16:12:39 +02:00
Jakob Rath
d5f20dcf0e No more boolean decisions 2022-08-04 14:12:12 +02:00
Jakob Rath
d98a93bcc8 Remove bdecide 2022-04-11 15:55:41 +02:00
Jakob Rath
613b0db4cc fix refcount issue 2022-03-19 04:19:16 +01:00
Nikolaj Bjorner
8c9835bca6 smul no overflow
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-02-16 18:55:07 +02:00
Nikolaj Bjorner
4c4f916917 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-02-02 08:24:58 -08:00
Nikolaj Bjorner
c48f14e537 updated conflict state
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-02-01 11:47:33 -08:00
Jakob Rath
5ee02ec5df Merge remote-tracking branch 'origin/polysat' into polysat 2022-01-31 15:36:22 +01:00
Nikolaj Bjorner
60248d0981 resolution is still wrong
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-29 09:32:14 -08:00
Jakob Rath
67647433ba log justifications during conflict resolution 2022-01-28 15:52:52 +01: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
Nikolaj Bjorner
ff4b471f93 resurrect Booelan decisions to deal with quot-rem and similar axioms
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-27 14:26:41 -08:00
Jakob Rath
645f190e35 Add wrapper for external dependencies to prevent accidental conversions 2022-01-26 11:44:01 +01:00
Nikolaj Bjorner
cbbf1381f7 update to use incremental substitution
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-23 03:00:25 +01:00
Jakob Rath
c4c9c84aeb Treat eval'd literals as propagations (not as decisions) 2022-01-21 15:56:16 +01:00
Nikolaj Bjorner
caef8d026f add unsat core, activity, quick pass for viable 2021-11-24 13:23:28 +01:00
Nikolaj Bjorner
57c40e480b na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-08 05:08:57 -08:00
Nikolaj Bjorner
8ee54c665a removing unit clauses and dependency manager, use minisat approach by tracking assumption literals directly also in clauses
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-20 15:10:03 -07:00
Nikolaj Bjorner
fa3886136b adding Boolean propagation, watch; and factoring 2021-09-18 22:18:15 -04:00
Nikolaj Bjorner
f01da40e49 adding watches on Booleans
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-16 22:01:34 +01:00
Jakob Rath
71e97a4098 don't need marks in bool_var_manager anymore 2021-09-13 04:35:37 +02:00
Nikolaj Bjorner
ed60cdc403 finish sketch of special case interval propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-09 12:23:03 +02:00
Jakob Rath
f2c79b851f propagate at the right level 2021-09-08 16:00:57 +02:00
Jakob Rath
ba8fa1f072 update polynomial superposition 2021-09-08 14:01:41 +02:00
Nikolaj Bjorner
04ce8ca5ef u256, separate viable_set
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-04 23:47:12 -07:00
Jakob Rath
8757f04d20
Polysat: disjunctive lemmas (#5311)
* Add macro to disable linear solver for development

* Move new_* and add_* to header

* Add ref_vector_core::push_back(ref<T>&&)

* Attempt to simplify lifetime handling

* Make operator bool() explicit

* clause improvements

* display boolean assignment

* clause::resolve

* bug fixes

* more fixes

* final case of backtrack
2021-05-28 13:53:08 -07:00
Jakob Rath
28996429df
Polysat disjunctive lemmas (WIP) (#5275)
* Extend search state by boolean literals

* Only resolve against positive equality

* mk_dep_ref

* Make clause non-owning

* scoped_clause

* Use scoped_clause

* minor

* scoped_ptr move assignment

* WIP: internal handling of disjunctive constraints

* leaf_value

* disjunctive constraints continued

* Fix bool_lit

* Actually add constraints to storage

* Some fixes

* more fixes

* constraint should have a bool_lit instead of a bool_var

* propagate(bool_lit)

* updates

* interface changes

* small fixes

* Make sat::dimacs_lit's constructor explicit

(otherwise, calling operator<< with sat::literal is ambiguous)

* Use sat::literal

* Print test name at the beginning

* Convention: constraint corresponds to the positive boolean literal

* Make constraint ownership more explicit

* clause stores literals
2021-05-21 13:50:25 -07:00