Nikolaj Bjorner
0d65b19c20
cr
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-17 14:27:47 -07:00
Nikolaj Bjorner
4b35c75712
add code review and replacement for mk_int
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-17 14:19:17 -07:00
Nikolaj Bjorner
572197aede
add some code review comments, stubs for ule
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-16 12:43:23 -07:00
Nikolaj Bjorner
9df7e9a029
add outline for ule constraints, change bit to var constraints
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-16 12:31:11 -07:00
Nikolaj Bjorner
5706c7a93b
addition
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-16 10:37:53 -07:00
Nikolaj Bjorner
c7868579c0
add sample bdd vector operations
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-16 10:22:48 -07:00
Nikolaj Bjorner
af2376e9e4
fix build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-16 10:00:44 -07:00
Jakob Rath
f72e30e539
Add BDD utilities; use them for narrowing/propagation of linear equality constraints ( #5192 )
...
* Add a few helper methods for encoding sets of integers as BDDs
* Use BDD functions in solver
* Add bdd::find_int
* Use bdd::find_int in solver
* Add narrowing for linear equality constraints
* Simplify code for linear propagation
* Add test for later
* Narrowing can only handle linear constraints with a single variable
* Need to push_cjust
2021-04-16 08:44:18 -07:00
Nikolaj Bjorner
e970fe5034
sketch bit-constraints
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-15 23:04:25 -07:00
Nikolaj Bjorner
dce9740a38
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-15 21:53:27 -07:00
Nikolaj Bjorner
12ccd99e84
trail
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-15 17:39:00 -07:00
Nikolaj Bjorner
549b984c88
move to self-contained trail instructions
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-15 17:38:36 -07:00
Nikolaj Bjorner
2eadcd586a
add new file for eq_constraint
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-15 14:34:01 -07:00
Nikolaj Bjorner
c733789467
move more equality functionality
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-15 14:24:50 -07:00
Nikolaj Bjorner
5163492d5b
move constraint handler functionality to self-contained / separate classes.
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-15 13:08:25 -07:00
Nikolaj Bjorner
0d78a10630
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-15 12:11:33 -07:00
Jakob Rath
55a908e357
Fix Windows build ( #5188 )
2021-04-15 09:18:20 -07:00
Jakob Rath
cb9dda19dd
Polysat ( #5187 )
...
* test_l2 works now
* Linear propagation: test whether a is odd
* Linear propagation with even coefficients (wip)
2021-04-15 08:37:14 -07:00
Jakob Rath
feb31045f5
Add more logging to polysat ( #5186 )
...
* Add polysat logging support
* Don't really need the usual log levels
* Indent log headings
* Add display method to ptr_vector
* Add some logging to solver
* Use __FUNCSIG__ on MSVC
2021-04-15 08:35:57 -07:00
Jakob Rath
7067fc16ae
Test and fix PDD subst_val ( #5185 )
2021-04-15 08:35:46 -07:00
Nikolaj Bjorner
bb7754a767
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-14 22:41:56 -07:00
Nikolaj Bjorner
9a2b7677bf
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-14 22:03:28 -07:00
Nikolaj Bjorner
034132d245
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-14 21:46:59 -07:00
Nikolaj Bjorner
ce75656e2b
del-var
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-14 21:46:13 -07:00
Nikolaj Bjorner
e6c9f27de4
misc fixes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-14 14:15:43 -07:00
Jakob Rath
8a260d89cd
Small polysat fixes ( #5183 )
...
* Add some display functions
* Add new variables to free vars
2021-04-14 10:29:58 -07:00
Nikolaj Bjorner
3730a0373d
Merge branch 'master' of https://github.com/z3prover/z3 into polysat
2021-04-14 05:08:26 -07:00
Nikolaj Bjorner
892e6d9ed5
build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-14 05:06:46 -07:00
Nikolaj Bjorner
a45687d5db
add very basic unit tests
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-14 05:03:44 -07:00
Nikolaj Bjorner
de66c12b93
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-14 04:53:13 -07:00
Nikolaj Bjorner
8c9aae5640
Merge branch 'polysat' of https://github.com/z3prover/z3 into polysat
2021-04-14 04:49:00 -07:00
Nikolaj Bjorner
332c123244
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-14 04:48:53 -07:00
Jakob Rath
324d9ed461
Add more PDD utilities (div, pow) ( #5180 )
...
* Expose 'inv' on rationals to get reciprocal value
* Align parameter names with implementation
* Add cached operation that divides PDD by a constant
* Fix display for constant PDDs
* operator^ should probably call ^ instead of + (mk_xor instead of add)
* Add helper function 'pow' on PDDs
2021-04-14 04:48:42 -07:00
Nikolaj Bjorner
2f7069a8b7
move include path in test
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-14 04:06:50 -07:00
Nikolaj Bjorner
57486f0b3d
split into parts, add stats
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-14 04:05:35 -07:00
Nikolaj Bjorner
21baa2a70a
Merge branch 'master' of https://github.com/z3prover/z3 into polysat
2021-04-14 03:51:12 -07:00
Nikolaj Bjorner
4a6083836a
call it data instead of c_ptr for approaching C++11 std::vector convention.
2021-04-13 18:17:35 -07:00
Nikolaj Bjorner
a0d112b7b0
general form migration
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-13 13:00:47 -07:00
Nikolaj Bjorner
7025d85da3
migrating to general form
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-04-13 11:21:41 -07:00
Nuno Lopes
524dcd35f9
reorder fields of context_params to save memory
...
plus improve error checking in context_params::set_uint
2021-04-13 18:35:58 +01:00
Nuno Lopes
49906a5a58
api_context: remove basic&arith fids fields
...
these are now constant,s o we can save some space
the remaining ones need to be made constant as well..
2021-04-13 17:42:42 +01:00
Nuno Lopes
afdf80509a
remove api_context::m_search as it's always constant (false)
2021-04-13 17:32:17 +01:00
Nuno Lopes
853ce099ec
api_context: consolidate ast trail vectors
...
a context never changes between user rc/non-user rc, so we can reuse the trail for both options
and save memory & smallish speedup
2021-04-13 17:21:42 +01:00
Zachary Wimer
f4127bd6f3
Remove function arg names for deleted functions ( #5176 )
2021-04-12 14:37:44 -07:00
Zachary Wimer
8e6ab5b1bf
prefer parent operator= to manually copying parent data for extensibi… ( #5177 )
...
* prefer parent operator= to manually copying parent data for extensibility reasons
* typos fixed
2021-04-12 14:37:27 -07:00
Zachary Wimer
dd3be32b98
Cpp api general minor improvements ( #5175 )
...
* Added noexcepts, deleted trivial copy functions that can be implcit, small things
* Add back in virtual destructor. This has rule of 5 side effects, but move semantics are not supported yet so it is *mostly* ok. The move PR will address this.
2021-04-12 14:03:20 -07:00
Zachary Wimer
70604a6856
Explicitly delete private constructors ( #5174 )
2021-04-12 13:46:55 -07:00
Zachary Wimer
973f79dc4d
rename final to register_final since final is a specifier in C++11+ ( #5172 )
2021-04-12 13:38:03 -07:00
Zachary Wimer
4625454a38
Fix fixedpoint rc bug and fix optimize non-const bug ( #5173 )
...
* Fix fixedpoint rc bug and fix optimize non-const bug
* Fix indentation
2021-04-12 13:37:05 -07:00
Zachary Wimer
d73b883b38
array uses unique_ptr ( #5171 )
...
* array uses unique_ptr
* Constructor initalize m_array over set it
* prefer arr.get() to &arr[0]
2021-04-12 13:01:24 -07:00