Nikolaj Bjorner
616fc2cbd5
fix #6314
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-09-04 16:23:11 -07:00
Nikolaj Bjorner
48b13291d1
add bv-size reduce #6137
...
- add option smt.bv.reduce_size.
- it allows to apply incremental pre-processing of bit-vectors by identifying ranges that are known to be constant.
This rewrite is beneficial, for instance, when bit-vectors are constrained to have many high-level bits set to 0.
2022-08-16 16:35:14 -07:00
Nikolaj Bjorner
78eaefe5a8
move solver-params to params
2022-08-08 11:34:41 +03:00
Nikolaj Bjorner
63f48f8fd4
add options for logging learned lemmas and theory axioms
...
- add solver.axioms2files
- prints negated theory axioms to files. Each file should be unsat
- add solver.lemmas2console
- prints lemmas to the console.
- remove option smt.arith.dump_lemmas. It is replaced by solver.axioms2files
2022-08-08 11:18:56 +03:00
Bruce Mitchener
5014b1a34d
Use = default
for virtual constructors.
2022-08-05 18:11:46 +03:00
Bruce Mitchener
5d0dea05aa
Remove empty leaf destructors. ( #6211 )
2022-07-30 10:07:03 +01:00
Nikolaj Bjorner
32614722ef
fix #6176
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-20 21:19:20 -07:00
Clemens Eisenhofer
95c3dd9224
Added missing decide-callback for tactics ( #6166 )
...
* Added function to select the next variable to split on
* Fixed typo
* Small fixes
* uint -> int
* Fixed missing assignment for binary clauses
* Added missing decide-callback for tactics
2022-07-17 10:07:52 -07:00
Anthony Romano
7ae1a338a7
parallel-tactic: fix deadlocking race between shutdown and get_task ( #6152 )
...
Deadlock/Race is as follows:
1. get_task() reads m_shutdown == false and enters loop body
2. shutdown() is called; sets m_shutdown = true
3. shutdown() calls m_cond.notify_all()
4. get_task() finds no task in try_get_task()
5. get_task() calls m_cond.wait(), missing the notification
6. solve() waits forever on join()
Provided patch wraps (2) and (3) with the condition variable lock so that
step (5) cannot miss the notification.
Co-authored-by: Anthony Romano <anthony@forallsecure.com>
2022-07-11 09:26:11 -07:00
Nikolaj Bjorner
8c2ba3d47e
missing virtual functions
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-01 19:18:09 -07:00
Nikolaj Bjorner
06771d1ac5
missing virtual functions
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-01 18:31:08 -07:00
Nikolaj Bjorner
4f9ef12f34
create dummy tactics for single threaded mode
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-01 18:13:36 -07:00
Nikolaj Bjorner
b43965bf05
make user propagator work with combined solver
...
Then users don't have to specify SImpleSolver, but can use "Solver"
2022-06-28 09:42:28 -07:00
Nuno Lopes
d9fcfdab34
fix debug build
2022-06-17 14:35:33 +01:00
Nikolaj Bjorner
e3c35840bb
remove out
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-04-20 11:26:16 +01:00
Nikolaj Bjorner
ec57d3b15c
missing switch cases
2022-04-19 16:20:02 +01:00
Clemens Eisenhofer
e11496bc65
Added decide-callback to user-propagator ( #5978 )
...
* Fixed registering expressions in push/pop
* Reused existing function
* Reverted reusing can_propagate
* Added decide-callback to user-propagator
* Refactoring
* Fixed index
2022-04-15 20:07:17 +02:00
Nikolaj Bjorner
3cc9d7f443
improve pre-processing
2022-04-15 12:55:26 +02:00
Nikolaj Bjorner
2e00f2f32d
Propagator ( #5845 )
...
* user propagator without ids
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* user propagator without ids
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix signature
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* references #5818
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix c++ build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* switch to vs 2022
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* switch 2022
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Update propagator example (I) (#5835 )
* fix #5829
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* switch to vs 2022
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Adapted the example to the changes in the propagator
Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* context goes out of scope in stack allocation, so can't used scoped context when passing objects around
* parameter check
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add rewriter
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Fixed bug in user-propagator "created" (#5843 )
Co-authored-by: Clemens Eisenhofer <56730610+CEisenhofer@users.noreply.github.com>
2022-02-17 09:21:41 +02:00
Nikolaj Bjorner
3f3d058567
extract also units from search state
2022-02-07 06:16:22 +02:00
Nikolaj Bjorner
3de9d37772
fix overrides for created_eh
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-25 16:24:08 +01:00
Nikolaj Bjorner
56d3718cde
add simplification with qe-lite as an option #5767
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-12 03:41:21 -08:00
Nikolaj Bjorner
0ca5e7207e
#5746
2022-01-02 11:35:55 -08:00
Nikolaj Bjorner
e84ddb0d9a
more #5746
2022-01-02 11:33:21 -08:00
Nikolaj Bjorner
fc77345bec
breaking change. Enforce append semantics everywhere for parameter updates #5744
...
Replace semantics doesn't work with assumptions made elsewhere in code.
The remedy is to apply append (override) semantics for parameter changes.
2021-12-30 19:11:14 -08:00
Nikolaj Bjorner
f0740bdf60
move user propagte declare to context level
...
declaration of user propagate functions are declared at context level instead of at solver scope.
2021-12-18 10:56:42 -08:00
Nikolaj Bjorner
8ca023d541
expose propagate created
2021-12-17 16:12:47 -08:00
Nikolaj Bjorner
9f2b18cac5
add tactic name
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-07 13:37:57 -08:00
Nikolaj Bjorner
658a334ecf
clear tactic user propagate state on solver destructor
2021-12-07 03:14:50 -08:00
Nikolaj Bjorner
bfd61fec00
enable user propagation on tactics
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-02 08:28:52 -08:00
Nikolaj Bjorner
b5efb87118
base -> core
2021-11-29 19:55:10 -08:00
Nikolaj Bjorner
5857236f2f
introducing base namespace for user propagator
2021-11-29 19:41:30 -08:00
Henrich Lauko
96671cfc73
Add and fix a few general compiler warnings. ( #5628 )
...
* rewriter: fix unused variable warnings
* cmake: make missing non-virtual dtors error
* treewide: add missing virtual destructors
* cmake: add a few more checks
* api: add missing virtual destructor to user_propagator_base
* examples: compile cpp example with compiler warnings
* model: fix unused variable warnings
* rewriter: fix logical-op-parentheses warnings
* sat: fix unused variable warnings
* smt: fix unused variable warnings
2021-10-29 15:42:32 +02:00
Nikolaj Bjorner
125eae06bd
#4869 load datatype parsing for HORN logic
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-26 11:54:29 +02:00
Nikolaj Bjorner
3036b88f09
support threading for TRACE mode
2021-10-25 13:35:32 +02:00
Nikolaj Bjorner
f05ac8a429
updated C++ API for escaped and unescaped strings #5615
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-21 14:52:59 -04:00
Nikolaj Bjorner
34f878fb97
make it easier to debug parallel
2021-09-10 07:09:22 +02:00
Nikolaj Bjorner
a7bc4719c0
fix #5526
...
when propagation claims progress, but is a no-op.
2021-09-01 11:45:21 -07:00
Nikolaj Bjorner
39c3f34a30
remove unused dependency
2021-07-21 09:25:08 -07:00
Nikolaj Bjorner
a8b433e6ac
#5331
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-19 15:58:10 -07:00
Nikolaj Bjorner
c7a7d40a8f
remove incorrect and inefficient default model conversion
2021-07-15 18:47:25 +02:00
Nuno Lopes
f1e0d5dc8a
remove a hundred implicit constructors/destructors
2021-05-23 14:25:01 +01: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
97f560054d
Create CMakeLists.txt
2021-03-17 15:51:50 -07:00
Nikolaj Bjorner
ab0735fde2
separate component for asserted_formulas to break dependency cycles
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-03-17 15:51:38 -07:00
Nikolaj Bjorner
ddbcd08d46
move asserted_formulas to solver scope
2021-03-17 15:02:16 -07:00
Nikolaj Bjorner
377d060036
move to separate axiom management
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-02-23 18:09:45 -08:00
Nikolaj Bjorner
d9fb40602e
use theory agnostic axioms in more cases
2021-02-21 18:36:53 -08:00
Nikolaj Bjorner
4c3c15c015
Propagate reason for undef as exception to improve error reporting in scenarios such as #5009
2021-02-09 16:58:01 -08:00
Nikolaj Bjorner
8b5094fe73
provide additional diagnostics for #5009
2021-02-09 10:14:38 -08:00