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
Nikolaj Bjorner
d1118cb178
cc
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-30 11:45:41 -07:00
Nikolaj Bjorner
7cff3d4236
more code review
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-30 11:37:08 -07:00
Nikolaj Bjorner
7ea1bf12b6
add code review to constraint
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-30 11:11:55 -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
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
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
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
ce5c8b3066
rename to some saner name
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-06-21 16:19:37 -07:00