Nikolaj Bjorner
abd16740ce
inherit more exceptions from std::exception
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-04 13:52:14 -08:00
Nikolaj Bjorner
a38bf3e22f
port to inherit from std::exception
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-04 13:25:14 -08:00
Nikolaj Bjorner
92065462b4
use std::exception as base class to z3_exception
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-04 11:08:15 -08:00
Nuno Lopes
8061765574
remove default destructors & some default constructors
...
Another ~700 KB reduction in binary size
2024-09-04 22:30:23 +01:00
Nikolaj Bjorner
6a68cc55bb
#7353 - clear pointer when existing stack
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-26 09:59:56 -07:00
Nikolaj Bjorner
33c35b0c31
fix #6851
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-13 14:49:25 -07:00
Nikolaj Bjorner
e87fa1c299
remove stale file
2023-02-28 17:40:08 -08:00
Nikolaj Bjorner
d263b373ed
update release notes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-31 12:19:33 -08:00
Nikolaj Bjorner
6022c17131
Add simplification customization for SMTLIB2
...
Add the ability to customize incremental pre-processing simplification for the SMTLIB2 front-end. The main new capability is to use pre-processing tactics in incremental mode that were previously not available. The main new capabilities are
- solve-eqs
- reduce-args
- elim-unconstrained
There are several more. Documentation and exposed simplifiers are populated incrementally. The current set of supported simplifiers can be inspected by using z3 with the --simplifiers flag or referring to https://microsoft.github.io/z3guide/docs/strategies/simplifiers
Some pending features are:
- add the ability to update parameters to simplifiers similar to how tactics can be controlled using parameters.
- expose simplification solvers over the binary API.
2023-01-30 22:38:51 -08:00
Nikolaj Bjorner
d9f9cceea4
use intervals for tracking bounds on arithmetic variables
...
leverage interval propagation for bounds.
merge functionality with propagate-ineqs tactic
remove the new propagate-bounds tactic and instead use propagate-ineqs
2023-01-23 14:13:03 -08:00
Nikolaj Bjorner
273aff5ed6
remove debug out
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-22 22:21:23 -08:00
Nikolaj Bjorner
db79346ef7
Add new tactic bound-simplifier for integer-based bit-vector reasoning.
2023-01-22 22:07:28 -08:00
Nikolaj Bjorner
e2a6376ddf
detect bounds from mod
2023-01-22 14:40:36 -08:00
Nuno Lopes
37652e7e17
fix tactic name in docs
2023-01-20 17:30:40 +00:00
Nikolaj Bjorner
7368f9f7d3
increase build version, better propagation in euf-egraph, handle assumptions in sat.smt
...
- increase build version to 4.12.1. This prepares updated release for MacOs-11 build on x86
- move literal propagation mode in euf-egraph to a callback and traversal of equivalence class. Track antecedent by newest equality instead of root. This makes equality propagation to literals have similar behavior as in legacy solver and appears to result in a speedup (10% fewer conflicts on QF_UF/QG-classification/qg5/iso_icl478.smt2 in preliminary testing)
- fix interaction of pre-processing and assumptions. Pre-processing has to freeze assumption literals so they don't get eliminated. This is similar to dependencies that are already frozen.
2023-01-17 14:07:07 -08:00
Nikolaj Bjorner
25b0b1430c
move bound_manager to simplifiers, add bound manager to extract_eqs for solve-eqs #6532
2023-01-12 12:42:28 -08:00
Nikolaj Bjorner
95cb06d8cf
add quasi macro detection
2023-01-06 19:53:55 -08:00
Nikolaj Bjorner
25112e47b4
bugfix to flatten-clases simplifier
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-05 20:59:28 -08:00
Nikolaj Bjorner
13920c4772
more doc
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-15 11:42:02 -08:00
Nikolaj Bjorner
d5316e017e
add tactic descriptions
2022-12-14 20:38:28 -08:00
Nikolaj Bjorner
aed3d76a88
add doc
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-14 16:45:58 -08:00
Nikolaj Bjorner
7afcaa5364
update doc
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-12 18:56:21 -08:00
Nikolaj Bjorner
e648e68d36
add doc
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-12 17:29:58 -08:00
Nikolaj Bjorner
a9f52b0069
doc fixes
2022-12-11 10:04:01 -08:00
Nikolaj Bjorner
527fb18366
add doc for card2bv
2022-12-11 09:51:49 -08:00
Nuno Lopes
eb8c53c164
simplify factory of dependent_expr_state_tactic
...
And as a side-effect, remove heap allocations for factories
2022-12-05 14:07:57 +00:00
Nikolaj Bjorner
59fa8964ca
minor code cleanup
2022-12-04 03:53:31 -08:00
Nikolaj Bjorner
dd1ca8f6bd
move qhead to attribute on the state instead of the simplifier,
...
- add sat.smt option to enable the new incremental core (it is not ready for mainstream consumption as cloning and other features are not implemented and it hasn't been tested in any detail yet).
- move "name" into attribute on simplifier so it can be reused for diagnostics by the seq-simplifier.
2022-11-29 16:36:02 +07:00
Nikolaj Bjorner
db74e23de1
make card2bv a simplifier
2022-11-25 11:07:31 +07:00
Nikolaj Bjorner
1dca6402fb
move model and proof converters to self-contained module
2022-11-03 05:23:01 -07:00
Nikolaj Bjorner
1fae3aa152
rename set-flat to set-flat-and-or to allow to differentiate parameters
2022-10-27 11:22:57 -07:00
Nikolaj Bjorner
4a1baa7d2d
fix #6165
2022-07-30 17:10:01 +02:00
Bruce Mitchener
5d0dea05aa
Remove empty leaf destructors. ( #6211 )
2022-07-30 10:07:03 +01:00
Nikolaj Bjorner
6d71d9e816
update coding style to C++11
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-29 23:30:33 +02:00
Nuno Lopes
73a24ca0a9
remove '#include <iostream>' from headers and from unneeded places
...
It's harmful to have iostream everywhere as it injects functions in the compiled files
2022-06-17 14:10:19 +01:00
Nikolaj Bjorner
34272152bb
add stubs to control memory usage
2022-04-02 17:52:54 -07:00
Nikolaj Bjorner
4b495e4b96
nits
2022-04-02 17:50:45 -07:00
Nikolaj Bjorner
d0ef5948aa
nits
2022-04-02 17:49:03 -07:00
Nikolaj Bjorner
25feb0ebed
#5938 catch also rewriter_exception that can be raised on cancelation and memory pressure
2022-04-02 17:43:12 -07:00
Nikolaj Bjorner
f3fc6a50f3
formatting
2022-01-31 11:57:42 -08:00
Nikolaj Bjorner
d02235fe08
#5778
...
not really specific to euf.true, but about rem(x,0) semantics that should align with mod semantics. It also reproduces without sat.euf=true.
2022-01-22 16:16:48 +01: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
9f2b18cac5
add tactic name
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-07 13:37:57 -08:00
Nikolaj Bjorner
2891ac7dec
merge
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-03 19:47:38 -07:00
Nikolaj Bjorner
40f5270ae2
fix #5452
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-03 17:23:41 -07:00
Nikolaj Bjorner
50f5cafb50
fix #5446
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-01 05:09:58 -07:00
Nikolaj Bjorner
7af2309fae
#5331
2021-07-19 16:09:13 -07:00
Nikolaj Bjorner
29a2838bc9
#5338 #5349
2021-06-16 16:01:42 -05:00
Nikolaj Bjorner
f95d0b7216
#5349 #5338
2021-06-16 16:01:42 -05:00
Nikolaj Bjorner
83e2e7200c
fix #5316
2021-05-30 11:28:31 -07:00