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

44 commits

Author SHA1 Message Date
Nikolaj Bjorner
30a2c32c3b add placeholder for simplification 2021-12-12 14:52:09 -08:00
Nikolaj Bjorner
f1d46b58a4 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-11 17:38:09 -08:00
Nikolaj Bjorner
59acd77981 n
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-11 13:01:08 -08:00
Nikolaj Bjorner
83efb1413a na 2021-12-11 08:41:04 -08:00
Nikolaj Bjorner
90bd5f186b tune based on test_l5
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-26 20:14:00 +01:00
Nikolaj Bjorner
7b85afbe9c na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-26 18:27:44 +01:00
Nikolaj Bjorner
3f3bd5948f fixes/debugging
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-02 14:48:19 -07:00
Nikolaj Bjorner
a574eebd05 fixes, tests 2021-09-25 08:38:48 -07:00
Nikolaj Bjorner
c82bbaad7d update todos, working on assignment minimization 2021-09-22 13:29:36 -07:00
Nikolaj Bjorner
3447d80310 fix todo on enforcing premises
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-22 12:26:45 -07:00
Nikolaj Bjorner
0426b23d0c fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-21 09:44:37 -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
fa3886136b adding Boolean propagation, watch; and factoring 2021-09-18 22:18:15 -04:00
Nikolaj Bjorner
c25fd71bf4 fixes 2021-09-16 10:10:50 +01:00
Jakob Rath
66a41383e8 remove remove_var 2021-09-14 14:45:03 +02:00
Jakob Rath
d9eca1f40f reset/set on successful superposition 2021-09-14 11:08:57 +02:00
Jakob Rath
b6c478c2ca fix iterator 2021-09-13 15:34:06 +02:00
Nikolaj Bjorner
e365ad0e9e merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-12 18:14:25 +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
Jakob Rath
00cc81d1a4 remove another cm 2021-09-12 16:09:13 +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
Jakob Rath
6e9e8999dc fix 2021-09-09 11:00:01 +02:00
Jakob Rath
ec882d10da add condition that degree is reduced 2021-09-09 10:54:33 +02:00
Jakob Rath
64ce6cb5c1 notes 2021-09-08 18:21:09 +02:00
Jakob Rath
ba8fa1f072 update polynomial superposition 2021-09-08 14:01:41 +02:00
Nikolaj Bjorner
eddc03b2eb add some validation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-07 23:44:30 +02:00
Nikolaj Bjorner
d8f0926620 re-adding saturation for inequalities
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-07 23:20:17 +02:00
Jakob Rath
24f96acf4f build_lemma returns clause_builder; adjust reason in revert_bool_decision 2021-09-07 15:02:29 +02:00
Jakob Rath
733c21bb20 update 2021-09-07 14:06:32 +02:00
Jakob Rath
7d58296ad2 Begin reorganizing resolve_value 2021-09-07 11:40:50 +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
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
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
8a773d2bee
Polysat updates (#5444)
* Simplify adding lemmas

* Remove misleading constructor from tmp_assign.

The idea is that tmp_assign is only created on the stack and
short-lived.  Instead of having a convenience constructor that takes a
constraint_ref, it's clearer to have an explicit .get() at the call
site.

* Remove some log messages

* bugfix

* fix

* Add stub for conflict_core

* wip

* Add example by Clemens
2021-07-30 11:14:19 -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
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
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