3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 09:05:31 +00:00
Commit graph

1690 commits

Author SHA1 Message Date
Lev Nachmanson
eaf2f7f165 remove disabling return 2025-02-11 12:23:00 -10:00
Lev Nachmanson
8aeba62802 remove more warnings
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
552a504f72 remove a warning
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
4bd815852d fix ubuntu's build
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
ea50208ad6 prepare using fresh vars in cuts
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
06faf03eaa use cuts from proofs, remove gcc warnings
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
2ebb957cc8 enable cuts from proofs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
44fd0e48a8 fixes in dio
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
a8e667c643 do not eliminate fresh variables when tightening
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
52b0b8d5d5 fixed dio
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
5ac428fcc9 comment out global_max_change
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
89e4f59df2 debug dio
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
798f0e2e8a test tightening with S
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
193116bf84 handle sat with tightening 2025-02-11 12:23:00 -10:00
Lev Nachmanson
b1be8c0957 cosmetics
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
5db46c1d81 use u_dependency in eprime_pair
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
1408fe60ab work on tighten_with_S
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
f0b5cd1066 remove a throw
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
be8f3e9c3e bug fix
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
0b1e923d2a small optimization
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
66c6bad01c optimize dio changes
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
18c75e6333 less eager dio
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
bbeecc6f7c fix the build 2025-02-11 12:23:00 -10:00
Lev Nachmanson
3d5ee82bd1 handle zero rows correctly 2025-02-11 12:23:00 -10:00
Lev Nachmanson
78a58b06aa dio passes regression\smt2 tests with limited functionality
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
245d448c66 fix term_o init
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
a796d48264 debug dio
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
df18885f97 debug dio 2025-02-11 12:23:00 -10:00
Lev Nachmanson
cd13890650 fix in substitution of fresh variables, clean column.h 2025-02-11 12:23:00 -10:00
Lev Nachmanson
f5e646cbcb bug fix in init and getting explanations
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
59e2dab69a create a conflict explanation
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
52653e6e43 a version with less pointers: got a conflict
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
5a36e02c58 in the middle 2025-02-11 12:23:00 -10:00
Lev Nachmanson
122e0135d2 use std::list 2025-02-11 12:23:00 -10:00
Lev Nachmanson
3b22d3b19d fix the crash 2025-02-11 12:23:00 -10:00
Lev Nachmanson
abf29b57aa crash
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
a5dd59fdfb fix the build 2025-02-11 12:23:00 -10:00
Lev Nachmanson
a1a01b9da6 move some functionality from int_solver to int_solver::imp 2025-02-11 12:23:00 -10:00
Lev Nachmanson
889292472e fix the build 2025-02-11 12:23:00 -10:00
Lev Nachmanson
3d6cc64e2e prepare for calling diophantine equations 2025-02-11 12:23:00 -10:00
Lev Nachmanson
097a25ebfe add parameter to control calling diophantine equations
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Nikolaj Bjorner
648cf9602e fix uninitialized variable warnings 2025-01-14 13:54:05 -08:00
Lev Nachmanson
27cc928631 try m_fixed_var_eh
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-01-14 07:11:53 -10:00
Nikolaj Bjorner
89ed4d6c8b use monomial variable, not the fixed variable 2025-01-14 07:27:59 -08:00
Nikolaj Bjorner
c01336553e move fixed variable propagation to nla_core/monomial_bounds 2025-01-13 18:18:53 -08:00
Nikolaj Bjorner
8d2b9b41fd fix compiler warnings 2025-01-12 13:39:13 -08:00
Nikolaj Bjorner
85356c5548 enable propagation when there are changed columns
- to fix bug reported by Nikhil Swamy/F*
- deal with some compiler warnings by adding annotations
2025-01-12 13:30:31 -08:00
Nikolaj Bjorner
9a237d55ca fix misc build warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-11 17:41:24 -08:00
Nikolaj Bjorner
270c127407 sketch fixed variable callback mechanism 2025-01-08 12:50:46 -08:00
Nikolaj Bjorner
87f7a20e14 Add (updated and general) solve_for functionality for arithmetic, add congruence_explain to API to retrieve explanation for why two terms are congruent Tweak handling of smt.qi.max_instantations
Add API solve_for(vars).
It takes a list of variables and returns a triangular solved form for the variables.
Currently for arithmetic. The solved form is a list with elements of the form (var, term, guard).
Variables solved in the tail of the list do not occur before in the list.
For example it can return a solution [(x, z, True), (y, x + z, True)] because first x was solved to be z,
then y was solved to be x + z which is the same as 2z.

Add congruent_explain that retuns an explanation for congruent terms.
Terms congruent in the final state after calling SimpleSolver().check() can be queried for
an explanation, i.e., a list of literals that collectively entail the equality under congruence closure.
The literals are asserted in the final state of search.

Adjust smt_context cancellation for the smt.qi.max_instantiations parameter.
It gets checked when qi-queue elements are consumed.
Prior it was checked on insertion time, which didn't allow for processing as many
instantations as there were in the queue. Moreover, it would not cancel the solver.
So it would keep adding instantations to the queue when it was full / depleted the
configuration limit.
2024-12-19 23:27:57 +01:00