Skip to content

Commit 2104624

Browse files
updated release notes
Signed-off-by: Nikolaj Bjorner <[email protected]>
1 parent 3985943 commit 2104624

File tree

3 files changed

+28
-6
lines changed

3 files changed

+28
-6
lines changed

RELEASE_NOTES

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,34 @@ RELEASE NOTES
33
Version 4.8.next
44
================
55
- Planned features
6-
- rewritten NIA (non-linear integer arithmetic) core solver
6+
- rewritten arithmetic solver replacing legacy arithmetic solver and on by default
77
- self-contained character theory, direct support for UTF8, Unicode character sets
8-
- recursive function representation without hoisting ite expressions. Issue #2601
8+
- improvements to regular expression processing
99
- specialized solver support for QF_ABV and ABV based on lazy SMT and dual reduction
10-
- model-based interpolation for quantifier-free UF, arithmetic, arrays
11-
- circuit optimization techniques for BV pre-processing
10+
- the smtfd solver and tactic implement this strategy, but is not prime for users.
11+
- introduction of simple induction lemmas to handle a limited repertoire of induction proofs.
12+
- circuit optimization techniques for BV in-processing are available as the sat.cut
13+
option, but at this point does not translate into benefits. It is currently
14+
turned off by default.
15+
16+
Version 4.8.8
17+
=============
18+
- New features
19+
- rewritten NIA (non-linear integer arithmetic) core solver
20+
It is enabled in selected theories as default.
21+
The legacy arithmetic solver remains the overall default in this release
22+
as the rewritten solver shows regressions (on mainly NRA problems).
23+
- recursive function representation without hoisting ite expressions. Issue #2601
24+
- model-based interpolation for quantifier-free UF, arithmetic
25+
- Julia bindings over the C++ API, thanks to ahumenberger
26+
- Bug fixes
27+
- numerous, many based on extensive fuzz testing.
28+
Thanks to 5hadowblad3, muchang, numairmansur, rainoftime, wintered
29+
- Notes
30+
- recursive functions are unfolded with separate increments based on unsat core
31+
analysis of blocking literals that are separate for different recursive functions.
32+
- the seq (string) solver has been revised in several ways and likely shows some
33+
regressions in this release.
1234

1335
Version 4.8.7
1436
=============

src/smt/params/smt_params_helper.pyg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def_module_params(module_name='smt',
4141
('bv.reflect', BOOL, True, 'create enode for every bit-vector term'),
4242
('bv.enable_int2bv', BOOL, True, 'enable support for int2bv and bv2int operators'),
4343
('arith.random_initial_value', BOOL, False, 'use random initial values in the simplex-based procedure for linear arithmetic'),
44-
('arith.solver', UINT, 6, 'arithmetic solver: 0 - no solver, 1 - bellman-ford based solver (diff. logic only), 2 - simplex based solver, 3 - floyd-warshall based solver (diff. logic only) and no theory combination 4 - utvpi, 5 - infinitary lra, 6 - lra solver'),
44+
('arith.solver', UINT, 2, 'arithmetic solver: 0 - no solver, 1 - bellman-ford based solver (diff. logic only), 2 - simplex based solver, 3 - floyd-warshall based solver (diff. logic only) and no theory combination 4 - utvpi, 5 - infinitary lra, 6 - lra solver'),
4545
('arith.nl', BOOL, True, '(incomplete) nonlinear arithmetic support based on Groebner basis and interval propagation, relevant only if smt.arith.solver=2'),
4646
('arith.nl.gb', BOOL, True, 'groebner Basis computation, this option is ignored when arith.nl=false, relevant only if smt.arith.solver=2'),
4747
('arith.nl.branching', BOOL, True, 'branching on integer variables in non linear clusters, relevant only if smt.arith.solver=2'),

src/smt/smt_context.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1601,7 +1601,7 @@ namespace smt {
16011601
if (inconsistent())
16021602
return false;
16031603
}
1604-
#if 1
1604+
#if 0
16051605
if (at_search_level() && induction::should_try(*this)) {
16061606
get_induction()();
16071607
}

0 commit comments

Comments
 (0)