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
6cc9aa3562
prepare user propagator declared functions for likely Clemens use case
2021-12-16 19:37:30 -08:00
Nikolaj Bjorner
a099972354
fix #5714
...
It is not unlike other fuzz bugs: it exercises some behavior that applications are unlikely to expose. In this case, a rule body expanded into a conjunction with more than 1M formulas (with a lot of repetition). The original rule representation assumed silently that the number of constraints in a body would fit within 20 bits, but reality allowed bodies with as many as 2^{32} - 1 constraints.
So "minimizing" the bug as @agurfinkel asks for seems not to make too much sense.
Just running the samples in debug mode points to the root cause.
Since fuzz bugs are not from applications and fuzz tools have the potential for creating a large number of issues, I find it reasonable to push some basic pro-active asks on filers:
- reproduce bug in debug builds to assess whether a debug assert triggers.
- minimize or keep it simpler when possible (in this case it does not apply)
- perform basic diagnostics/triage. I am basically asking to push this part of the work on to the fuzzer. Otherwise, addressing random bugs doesn't scale. Triaging should have pointed to the root cause.
Now, there tends to be something to learn from bugs. In this case, the question was: "can we avoid constraints with duplications"? In particular, it points to a basic inefficiency of extracting conjunctions (and disjunctions). The function didn't deduplicate. So I added deduplication into this function. It is used throughout z3 code base so could expose latent issues. We will see.
2021-12-16 10:20:53 -08:00
Nikolaj Bjorner
9f2b18cac5
add tactic name
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-07 13:37:57 -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
Alexander Traud
1d45a33163
fix one typo and two misunderstandings for doxygen ( #5633 )
2021-10-29 15:35:05 +02:00
Alexander Traud
d1592c6abf
fix misspelled \brief for doxygen ( #5632 )
2021-10-29 15:34:28 +02:00
Nikolaj Bjorner
b723e1093b
misc warnings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-31 17:16:59 -07:00
Jakob Rath
46f8b15c14
ref/ref_vector minor convenience changes ( #5322 )
...
* Add ref_vector_core::push_back(ref<T>&&)
* Make operator bool() explicit
2021-05-31 10:27:46 -07: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
15a7621e27
remove template dependency for trail objects
2021-03-19 11:15:05 -07:00
Nuno Lopes
4a3d63f9e4
NNF: dont allocate act_cache separately
2021-02-21 16:34:28 +00:00
Nuno Lopes
e773e1e78d
fix a few more warnings
2021-02-19 12:16:05 +00:00
Nuno Lopes
d6ce9cce95
fix clang warnings
2021-02-19 10:59:22 +00:00
Nuno Lopes
5e034e495f
fix compiler warnings
2021-02-19 10:33:41 +00:00
Nikolaj Bjorner
00dab30ea0
remove binary_function
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-02-18 13:18:58 -08:00
Nikolaj Bjorner
a152bb1e80
remove template Context dependency in every trail object
2021-02-08 15:41:57 -08:00
Nikolaj Bjorner
0ec567fe15
integrate v2 of lns
2021-02-04 15:47:40 -08:00
Nikolaj Bjorner
fb1509d011
expose internal API for set_phase
2021-02-02 14:29:06 -08:00
Nikolaj Bjorner
8f577d3943
remove ast_manager get_sort method entirely
2021-02-02 13:57:01 -08:00
Nikolaj Bjorner
3ae4c6e9de
refactor get_sort
2021-02-02 04:45:54 -08:00
Nikolaj Bjorner
4455f6caf8
move to get_sort as method, add opt_lns pass, disable xor simplification unless configured, fix perf bug in model converter update trail
2021-02-02 03:58:19 -08:00
Nikolaj Bjorner
22b0c3aa70
add priority queue to instantiation
2021-01-31 16:17:36 -08:00
Nikolaj Bjorner
8521d2caaa
check engine configuration for unsupported engines #4898
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-12-18 14:38:42 -08:00
Nikolaj Bjorner
f71204c222
fix #4879
2020-12-12 13:37:25 -08:00
Nikolaj Bjorner
8cb30d0505
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-12-12 12:21:34 -08:00
Nikolaj Bjorner
89fb55a864
fix #4890
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-12-12 12:20:53 -08:00
Nikolaj Bjorner
43ddb08332
fix #4874
2020-12-08 12:08:07 -08:00
Nikolaj Bjorner
430b4ea252
fix #4870
2020-12-07 17:52:56 -08:00
Nikolaj Bjorner
27dac3e1a0
fix #4844
2020-12-07 05:54:50 -08:00
Nikolaj Bjorner
2f756da294
adding dt-solver ( #4739 )
...
* adding dt-solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* dt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* move mbp to self-contained module
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* files
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Create CMakeLists.txt
* dt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* rename to bool_var2expr to indicate type class
* mbp
* na
2020-10-18 15:28:21 -07:00
Nikolaj Bjorner
367e5fdd52
delay internalize ( #4714 )
...
* adding array solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use default in model construction
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* debug delay internalization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* bv
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* arrays
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* get rid of implied values and bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* redo egraph
* remove out
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove files
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-28 19:24:16 -07:00
Nikolaj Bjorner
6f63f8761c
optimizations to bv-solver and euf-egraph ( #4698 )
...
* additional bit-vector propagators
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* rename restrict (not a keyword, but well) #4694 , tune euf
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add pb rewriting to pb2bv #4697
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-20 06:47:27 -07:00
Nikolaj Bjorner
796e2fd9eb
arrays ( #4684 )
...
* arrays
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* arrays
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* arrays
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fill
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* update drat and fix euf bugs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* const qualifiers
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* reorg ba
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* reorg
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* build warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-13 19:29:59 -07:00
Nikolaj Bjorner
cfa7c733db
fixing #4670 ( #4682 )
...
* fixing #4670
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* init
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* arrays
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* arrays
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* arrays
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-10 04:35:11 -07:00
Nikolaj Bjorner
59d8895d15
add accessors for implied values to API
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-28 19:46:39 -07:00
Nikolaj Bjorner
00491148f0
string
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-20 10:22:57 -07:00
Nuno Lopes
bb26f219fe
remove unneeded constructors (last round)
2020-07-12 17:41:57 +01:00
Nuno Lopes
23e6adcad3
fix a couple hundred deref-after-free bugs due to .c_str() on a temporary string
2020-07-11 20:24:45 +01:00
Nikolaj Bjorner
d0e20e44ff
booyah
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 15:56:30 -07:00
Arie Gurfinkel
07a1aea689
fix(spacer): bug in assign_bounds to Farkas conversion
...
The fix is to remove a hack that used a theory rewriter to simplify
the conversion. Now the conversion happens less often than possible.
Will need more thinking to fix properly.
The unsoundness at this point would cause SPACER to generate lemmas
that do not block a proof obligation and then get stuck in an infinite loop
blocking and generating the same lemma.
2020-06-18 21:19:53 -04:00
Nikolaj Bjorner
f999c14a1e
close #4429
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-04 01:33:28 -07:00
Nikolaj Bjorner
743573aac5
fix #4447 , or mask it
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 19:32:05 -07:00
Nikolaj Bjorner
af90992858
fix #4404
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 17:01:36 -07:00
Nikolaj Bjorner
f986ae97bd
fix build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 15:12:08 -07:00
Nikolaj Bjorner
3a7df2c6ef
fix various nullability checks in seq_regex
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 12:28:32 -07:00
Nikolaj Bjorner
38176256c4
fix #4434
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 10:12:49 -07:00
Nikolaj Bjorner
6e47499e26
fix #4434
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 10:09:18 -07:00
Andrew V. Jones
a23ca1792b
Ensure that Z3 uses the correct SMT-LIB2 syntax for push
and pop
( #4495 )
...
* When pretty-printing SMTLIB2, ensure that Z3 uses the correct syntax for 'push'
Signed-off-by: Andrew V. Jones <andrew.jones@vector.com>
* When pretty-printing SMTLIB2, ensure that Z3 uses the correct syntax for 'pop'
Signed-off-by: Andrew V. Jones <andrew.jones@vector.com>
2020-06-03 09:35:14 -07:00