3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-07 07:45:46 +00:00
Commit graph

360 commits

Author SHA1 Message Date
Nikolaj Bjorner
babb90832c initial u256
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-02 16:24:23 -07:00
Nikolaj Bjorner
c053c7f1c8 virtual
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-02 13:30:15 -07:00
Nikolaj Bjorner
cc4354ffd5 warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-02 13:27:00 -07:00
Nikolaj Bjorner
c54b9305b5 viable
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-02 11:26:17 -07:00
Nikolaj Bjorner
0fc9d7ad0d viable
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-02 11:26:05 -07:00
Nikolaj Bjorner
0520180846 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-02 03:49:23 -07:00
Nikolaj Bjorner
9e69e1614e na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-02 03:33:51 -07:00
Nikolaj Bjorner
788de7d614 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-02 02:48:45 -07:00
Nikolaj Bjorner
1defbc8aa4 Merge branch 'polysat' of https://github.com/z3prover/z3 into polysat 2021-06-30 01:05:42 -04:00
Nikolaj Bjorner
a374e739f1 prepare for tuned viable sets
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-30 01:05:34 -04: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
Nikolaj Bjorner
a0b0c1f428 with a fix
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-23 17:50:33 -07:00
Nikolaj Bjorner
4f0ec82957 functionally complete viable, needs to be debugged
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-23 17:44:52 -07:00
Nikolaj Bjorner
db242c28c6 make it C++17 friendly
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-23 15:20:59 -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
Nikolaj Bjorner
dec37aee34 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-22 21:01:17 -07:00
Nikolaj Bjorner
01c81405af remove var-constraint alltogether
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-22 20:58:32 -07:00
Nikolaj Bjorner
b9719768a0 more viable scaffolding
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-22 20:55:56 -07:00
Nikolaj Bjorner
8f0c408c0a prepare for new viable
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-22 20:44:21 -07:00
Jakob Rath
d7b8ea2f7f
Polysat: minor fixes (#5364)
* update include paths

* bdd fixes

* update/fix some tests

* work around assertion failure when constraint from clause becomes unit

* Remove old code

* use clause_builder

* Verify model when returning SAT

* log

* fix
2021-06-22 09:27:18 -07:00
Nikolaj Bjorner
52eb473c63 prepare viable
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-21 21:55:20 -07:00
Nikolaj Bjorner
f18dccebc2 move tbv
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-21 21:12:46 -07:00
Nikolaj Bjorner
ce5c8b3066 rename to some saner name
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-21 16:19:37 -07:00
Nikolaj Bjorner
63f3c841d8 remove var_constraint to get rid of bdd dependencies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-21 16:14:30 -07:00
Nikolaj Bjorner
9173306adc na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-21 16:00:13 -07:00
Nikolaj Bjorner
6f93ed8dc2 moving out viable functionality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-21 15:50:04 -07:00
Nikolaj Bjorner
19099244c4 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-20 12:38:20 -07:00
Nikolaj Bjorner
4fad0385de tune multiplication slightly
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-20 11:07:06 -07:00
Nikolaj Bjorner
d78313e001 more pp
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-20 10:13:59 -07:00
Nikolaj Bjorner
4066087138 pretty printing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-20 09:49:31 -07:00
Nikolaj Bjorner
4bcfcecbbb fix initialization/finalization order for bdd
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-19 23:11:06 -07:00
Nikolaj Bjorner
3da37f4fb5 add unit test driver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-18 10:58:42 -07:00
Jakob Rath
c4963f4381
Polysat: add two more prototype rules (#5355)
* Add try_div to PDDs

* x>y is false when x==y

* First version of the other two prototype rules

* More band-aid fixes...
2021-06-18 08:48:50 -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
Jakob Rath
1fe7dc40fe
Polysat: add simpler monotonicity unit test + minor changes (#5348)
* Add simpler versions of monotonicity puzzle

* band-aid fix to conflicts during revert_decision

* minor changes
2021-06-15 12:18:37 -05: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
Nikolaj Bjorner
5fd3ef6580 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-23 16:50:47 -07:00
Nikolaj Bjorner
befc47902e track
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-22 17:57:23 -07:00
Nikolaj Bjorner
79e38c6477 notes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-22 17:47:48 -07:00
Nikolaj Bjorner
52ad5aaa58 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-22 14:39:31 -07:00
Nikolaj Bjorner
b22928bfc9 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-22 14:16:50 -07:00
Nikolaj Bjorner
5ad486901e na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-21 18:03:05 -07:00
Nikolaj Bjorner
8ba0fb5b58 rounding mode sort removed for incompatibility
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-21 16:18:43 -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
Nikolaj Bjorner
7a1a2b2525 make unit types generic 2021-05-20 15:28:26 -07:00
Nikolaj Bjorner
973a32a015 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-16 13:50:41 -07:00
Nikolaj Bjorner
eaca24ac01 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-15 17:00:49 -07:00
Nikolaj Bjorner
88bbe9d54e na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-15 10:12:11 -07:00
Nikolaj Bjorner
683ce27c8f linear solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-14 17:10:01 -07:00
Nikolaj Bjorner
17fcf79c04 interleave linear solver calls
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-14 11:31:35 -07:00