3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-25 12:35:59 +00:00
Commit graph

56 commits

Author SHA1 Message Date
Jakob Rath
48c6bea331 umul 2 2022-07-21 12:38:00 +02:00
Nikolaj Bjorner
a623865a82 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-04-06 05:44:31 +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
32edbfa28e two bugs: check for always false, adjust start of list was incorrect during re-insert 2022-02-02 07:37:35 -08:00
Jakob Rath
cbed3bfde4 fi: match_non_zero_linear 2022-01-26 11:09:37 +01:00
Jakob Rath
1cb7ca8dfc match additional cases in forbidden intervals 2022-01-24 14:15:10 +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
417a5320c7 forbidden intervals for strict inequalities
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-22 11:14:53 +01:00
Jakob Rath
fa75a9109e Test forbidden intervals, disequal case 2022-01-19 19:06:35 +01:00
Jakob Rath
28864e563c First version of refine_disequal_lin 2021-12-23 18:36:27 +01:00
Nikolaj Bjorner
934564882c na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-14 12:34:34 -08:00
Nikolaj Bjorner
8c2735e68b prepare for diseq_lin viable 2021-12-13 12:00:19 -08:00
Nikolaj Bjorner
651b41f8c0 refactor fi functionality 2021-12-13 11:39:15 -08:00
Nikolaj Bjorner
c7da31a67d na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-13 10:24:42 -08:00
Nikolaj Bjorner
f3ac879fa4 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-09 08:25:52 -08:00
Nikolaj Bjorner
98a0f37eec update viable
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-04 02:23:21 -08:00
Nikolaj Bjorner
4d0f55febd update viable
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-03 17:57:08 -08:00
Nikolaj Bjorner
a81a00a93c add support for non-unit coefficients
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-30 09:53:09 -08:00
Nikolaj Bjorner
8db711bc3c retire deprecated functionality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-22 18:14:15 +01:00
Nikolaj Bjorner
de424713e4 if you are really reading this commit message, you must be a programmer who has no life. 2021-11-18 10:10:50 -08:00
Nikolaj Bjorner
69a17d0c60 test and fix viable2 2021-11-14 20:55:12 -08:00
Nikolaj Bjorner
c9f5ce43b2 viable 2 with dlist
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-10 14:43:10 -08:00
Nikolaj Bjorner
0bec8520e1 adding new viable using forbidden intervals
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-10 08:23:45 -08:00
Nikolaj Bjorner
931e1624b2 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-10 02:58:35 -08:00
Nikolaj Bjorner
d0b47d23f6 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-10 00:43:57 -08:00
Nikolaj Bjorner
d0c8240560 refactor forbidden intervals
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-09 10:34:11 -08:00
Nikolaj Bjorner
4c81f8676c backtrack
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-10 18:23:25 -07:00
Nikolaj Bjorner
0d9d4bb46e wip 2021-10-04 14:44:05 -07:00
Nikolaj Bjorner
813674087e wip 2021-10-04 14:43:33 -07:00
Nikolaj Bjorner
fd8b2ba596 clear regressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-29 15:56:01 -07:00
Nikolaj Bjorner
a574eebd05 fixes, tests 2021-09-25 08:38:48 -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
7e7f88ae3d fix backtracking from fi
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-15 09:28:59 +01:00
Jakob Rath
d36a658139 forbidden intervals fixes 2021-09-14 10:15:10 +02:00
Nikolaj Bjorner
f5fd295e01 reorganize variable tracking for lemmas
this is going to break a bunch
2021-09-12 18:05:29 +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
516ca06c28 levels take 1
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-10 15:40:25 +02:00
Nikolaj Bjorner
7980b05cc1 forbidden intervals create a lemma
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-08 06:54:36 +02:00
Nikolaj Bjorner
146d107961 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-07 17:04:32 +02:00
Nikolaj Bjorner
a6643955e6 forbidden interval update
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-07 17:00:46 +02:00
Nikolaj Bjorner
e6c4ae19c6 stab at forbidden intervals
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-07 15:49:29 +02:00
Nikolaj Bjorner
9450ac0d18 Merge branch 'polysat' of https://github.com/z3prover/z3 into polysat 2021-09-07 15:09:28 +02:00
Nikolaj Bjorner
f48e0498d0 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-07 15:09:25 +02:00
Jakob Rath
24f96acf4f build_lemma returns clause_builder; adjust reason in revert_bool_decision 2021-09-07 15:02:29 +02:00
Nikolaj Bjorner
978bd9e560 remove scoped
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-31 08:55:48 -07:00
Jakob Rath
0c1e44da77
Polysat: constraint refactor cont'd, deduplicate constraints (#5520)
* Assign boolean variables only to long-lived constraints, and deduplicate constraints when they are created

* scoped_signed_constraint

* update other classes

* fix

* Don't use scoped_ptr<constraint> with dedup()
2021-08-30 10:00:27 -07:00
Jakob Rath
ebaea2159e
Polysat: use constraint_literal and begin move to core-based conflict representation (#5489)
* Rename solver_scope for fixplex tests

(otherwise the wrong constructor is called for polysat's solver_scope)

* Update conflict_core

* simplify

* Be clearer about constraint_literal lifetime

* remove old comment

* Remove status (positive/negative) from constraint

* Use constraint_literal in the solver

* Fix build (constraint -> get_constraint)
2021-08-18 11:02:46 -07:00
Jakob Rath
3436b52c4a
Polysat: refactor constraints (#5372)
* Refactor: remove sign and dep from constraint

* fix some bugs

* improve log messages

* Add missing premises to lemma

* Rename getter in an attempt to fix linux build
2021-06-25 11:04:25 -07:00
Jakob Rath
20a5baeb70
Polysat: expand conflict explanation rules (#5366)
* update example to match slides

* Add normalized view of inequalities

* workaround

* Add a conflict explanation rule

* unit clauses should be asserted at the base level

* Add src constraint to interval

* support non-strict case in first rule

* print conflict constraints only once

* update second rule

* update third rule as well
2021-06-23 10:12:39 -07:00
Jakob Rath
3e1cfcd538
Polysat: conflict explanation prototype (#5353)
* display constraint's extra info in one place

* Add stub for conflict explainer

* Add helper functions to check whether constraint is active at base level

* Add helper class tmp_assign

* Add clause_builder; it skips unnecessary literals during clause creation

* some fixes

* Use clause_builder for forbidden intervals

* remove old comments

* fixes/comments in solver

* print redundant clauses

* First pass at conflict_explainer

* remove unused model class

* Choose value for k

* also print min/max k
2021-06-17 10:35:32 -05:00