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

79 commits

Author SHA1 Message Date
Jakob Rath
7468b2326c inequality 2022-11-28 18:00:17 +01:00
Jakob Rath
fdc186b204 Simplify constraint evaluation 2022-11-23 12:19:03 +01:00
Jakob Rath
6e72a97727 Refactor assignment and search state 2022-11-21 17:25:15 +01:00
Jakob Rath
abc4cc5295 Simplify boolean propagation level 2022-11-09 16:59:51 +01:00
Jakob Rath
7662427d92 Split constraint_manager into separate file 2022-11-07 13:33:48 +01:00
Jakob Rath
6715058876 Simplify equations into canonical form
Also simplify constraints that are always false due to parity
2022-09-28 13:22:17 +02:00
Jakob Rath
618b3945c1 log 2022-08-05 11:23:02 +02:00
Jakob Rath
48c6bea331 umul 2 2022-07-21 12:38:00 +02:00
Jakob Rath
2345fb6428 Support watching inactive constraints
This allows us to handle non-redundant clauses (like we get from quot_rem)
2022-05-27 15:49:54 +02:00
Jakob Rath
63031548cb Store only literals in the conflict state 2022-04-11 15:00:06 +02:00
Jakob Rath
509a007ed7 Integrate univariate solver in polysat 2022-03-18 15:43:06 +01:00
Nikolaj Bjorner
1faccffd0d add smul over and underflow predicate
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-02-20 11:39:45 +02: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
cd11b70864 add value-propagate flag to patch regression
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-23 12:09:49 +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
Nikolaj Bjorner
adb3d68743 fixes to literal propagation exposed by bitwise and unit test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-19 15:21:12 -08:00
Nikolaj Bjorner
c1d5111159 add first test for band
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-18 12:28:59 -08:00
Nikolaj Bjorner
a2aa1170f9 rename to op-constraint to give space for other operations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-15 09:20:11 -08:00
Nikolaj Bjorner
79bc33b88e na 2021-12-14 19:42:19 -08:00
Nikolaj Bjorner
6eb6eb39a4 more of shr 2021-12-14 19:23:31 -08:00
Nikolaj Bjorner
83efb1413a na 2021-12-11 08:41:04 -08:00
Nikolaj Bjorner
bf258ee29d add bit shorthand 2021-12-09 15:25:44 -08:00
Nikolaj Bjorner
a4fc63c542 initial overflow test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-09 14:39:00 -08:00
Nikolaj Bjorner
0dcaf9b9f9 add ovfl constraint
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-09 09:05:23 -08:00
Nikolaj Bjorner
57c40e480b na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-08 05:08:57 -08:00
Nikolaj Bjorner
813674087e wip 2021-10-04 14:43:33 -07:00
Nikolaj Bjorner
95e2d174c7 fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-25 17:26:18 -07:00
Nikolaj Bjorner
a574eebd05 fixes, tests 2021-09-25 08:38:48 -07:00
Nikolaj Bjorner
e6c413b249 add variable minimization 2021-09-22 14:27:05 -07:00
Nikolaj Bjorner
c82bbaad7d update todos, working on assignment minimization 2021-09-22 13:29:36 -07:00
Nikolaj Bjorner
ce12c51083 remove last references to unit clauses
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-20 17:36:07 -07: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
bb5ff8db24 rename conflict_core to conflict:
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-20 14:05:55 -07:00
Nikolaj Bjorner
c69c316b27 enable reduce_by, more tests 2021-09-19 13:41:39 -04:00
Nikolaj Bjorner
58c66ffee8 remove propagate_bool_at, it is technically not propagating but assigning 2021-09-19 08:47:14 -04:00
Nikolaj Bjorner
02a38009b9 remove disjunctive lemma feature 2021-09-19 07:33:20 -04:00
Nikolaj Bjorner
fa3886136b adding Boolean propagation, watch; and factoring 2021-09-18 22:18:15 -04:00
Nikolaj Bjorner
689c5b4e12 generalize level
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-15 16:46:30 +01:00
Jakob Rath
43fef8e8ba External constraints need to remember their sign 2021-09-14 09:50:07 +02:00
Jakob Rath
18710a86d7 print clauses 2021-09-13 17:44:19 +02:00
Nikolaj Bjorner
c082ea4357 update dep
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-13 17:35:36 +02:00
Nikolaj Bjorner
b36bc11b85 remove eq constraint, fix gc for external constraints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-11 20:09:28 +02:00
Nikolaj Bjorner
f8a3857adb comments
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-11 16:55:49 +02:00
Nikolaj Bjorner
516ca06c28 levels take 1
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-10 15:40:25 +02:00
Nikolaj Bjorner
cfe4b30419 admit inequalities as premises
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-09 17:06:32 +02:00
Jakob Rath
56b33b1b3e resolve_bailout etc. 2021-09-06 14:08:07 +02:00
Jakob Rath
9f387f5738
Polysat: conflict resolution updates (#5534)
* variable elimination / saturation sketch

* conflict resolution updates
2021-09-03 10:17:06 -07:00
Jakob Rath
dc547510db
Polysat: conflict resolution wip (#5529)
* conflict_core doesn't need gc() anymore

* update comments, ensure_bvar for new constraints

* Make sure constraints can only be created through constraint_manager

* fix constraint::display if no boolean variable is assigned

* Move clause into separate file

* Add conflict_core binary resolution

* conflict_core additions

* reactivate conflict resolution outer loop

* wip

* seems commented includes break CI build
2021-09-01 09:10:10 -07:00
Nikolaj Bjorner
978bd9e560 remove scoped
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-31 08:55:48 -07:00
Jakob Rath
dde8fb0c37
Polysat updates (#5524)
* Move boolean resolution into conflict_core

* Move store() into dedup functionality

* comments

* Call gc()

* Add inference_engine sketch
2021-08-31 08:16:45 -07:00