mirror of
https://github.com/Z3Prover/z3
synced 2025-10-07 08:21:56 +00:00
* very basic setup * ensure solve_eqs is fully disabled when smt.solve_eqs=false, #7743 Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * respect smt configuration parameter in elim_unconstrained simplifier Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * indentation * add bash files for test runs * add option to selectively disable variable solving for only ground expressions Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * remove verbose output Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * fix #7745 axioms for len(substr(...)) escaped due to nested rewriting * ensure atomic constraints are processed by arithmetic solver * #7739 optimization add simplification rule for at(x, offset) = "" Introducing j just postpones some rewrites that prevent useful simplifications. Z3 already uses common sub-expressions. The example highlights some opportunities for simplification, noteworthy at(..) = "". The example is solved in both versions after adding this simplification. * fix unsound len(substr) axiom Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * FreshConst is_sort (#7748) * #7750 add pre-processing simplification * Add parameter validation for selected API functions * updates to ac-plugin fix incrementality bugs by allowing destructive updates during saturation at the cost of redoing saturation after a pop. * enable passive, add check for bloom up-to-date * add top-k fixed-sized min-heap priority queue for top scoring literals * set up worker thread batch manager for multithreaded batch cubes paradigm, need to debug as I am getting segfault still * fix bug in parallel solving batch setup * fix bug * allow for internalize implies * disable pre-processing during cubing * debugging * remove default constructor * remove a bunch of string copies * Update euf_ac_plugin.cpp include reduction rules in forward simplification * Update euf_completion.cpp try out restricting scope of equalities added by instantation * Update smt_parallel.cpp Drop non-relevant units from shared structures. * process cubes as lists of individual lits * merge * Add support for Algebraic Datatypes in JavaScript/TypeScript bindings (#7734) * Initial plan * Add datatype type definitions to types.ts (work in progress) Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> * Complete datatype type definitions with working TypeScript compilation Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> * Implement core datatype functionality with TypeScript compilation success Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> * Complete datatype implementation with full Context integration and tests Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> * chipping away at the new code structure * comments * debug infinite recursion and split cubes on existing split atoms that aren't in the cube * share lemmas, learn from unsat core, try to debug a couple of things, there was a subtle bug that i have a hard time repro'ing * merge * fix #7603: race condition in Ctrl-C handling (#7755) * fix #7603: race condition in Ctrl-C handling * fix race in cancel_eh * fix build * add arithemtic saturation * add an option to register callback on quantifier instantiation Suppose a user propagator encodes axioms using quantifiers and uses E-matching for instantiation. If it wants to implement a custom priority scheme or drop some instances based on internal checks it can register a callback with quantifier instantiation * missing new closure Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * add Z3_solver_propagate_on_binding to ml callback declarations Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * add python file Signed-off-by: Lev Nachmanson <levnach@Levs-MacBook-Pro.local> * debug under defined calls Signed-off-by: Lev Nachmanson <levnach@hotmail.com> * more untangle params Signed-off-by: Lev Nachmanson <levnach@hotmail.com> * precalc parameters to define the eval order Signed-off-by: Lev Nachmanson <levnach@hotmail.com> * remove a printout Signed-off-by: Lev Nachmanson <levnach@hotmail.com> * rename a Python file Signed-off-by: Lev Nachmanson <levnach@hotmail.com> * add on_binding callbacks across APIs update release notes, add to Java, .Net, C++ * use jboolean in Native interface Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * register on_binding attribute Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * fix java build for java bindings Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * avoid interferring side-effects in function calls Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * remove theory_str and classes that are only used by it * remove automata from python build Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * remove ref to theory_str Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * get the finest factorizations before project Signed-off-by: Lev Nachmanson <levnach@hotmail.com> * rename add_lcs to add_lc Signed-off-by: Lev Nachmanson <levnach@hotmail.com> * resolve bad bug about l2g and g2l translators using wrong global context. add some debug prints * initial attempt at dynamically switching from greedy to frugal splitting strategy in return_cubes. need to test. also there is some bug where the threads take forever to cancel? * Update RELEASE_NOTES.md * resolve bug about not translating managers correctly for the second phase of the greedy cubing, and the frugal fallback --------- Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> Signed-off-by: Lev Nachmanson <levnach@Levs-MacBook-Pro.local> Signed-off-by: Lev Nachmanson <levnach@hotmail.com> Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com> Co-authored-by: humnrdble <83878671+humnrdble@users.noreply.github.com> Co-authored-by: Nuno Lopes <nuno.lopes@tecnico.ulisboa.pt> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> Co-authored-by: Lev Nachmanson <levnach@hotmail.com> |
||
---|---|---|
.. | ||
approx_nat.cpp | ||
approx_nat.h | ||
approx_set.cpp | ||
approx_set.h | ||
array.h | ||
array_map.h | ||
backtrackable_set.h | ||
basic_interval.h | ||
bit_util.cpp | ||
bit_util.h | ||
bit_vector.cpp | ||
bit_vector.h | ||
buffer.h | ||
cancel_eh.h | ||
chashtable.h | ||
checked_int64.h | ||
CMakeLists.txt | ||
cmd_context_types.cpp | ||
cmd_context_types.h | ||
common_msgs.cpp | ||
common_msgs.h | ||
container_util.h | ||
debug.cpp | ||
debug.h | ||
dec_ref_util.h | ||
dependency.h | ||
dictionary.h | ||
distribution.h | ||
dlist.h | ||
double_manager.h | ||
ema.h | ||
env_params.cpp | ||
env_params.h | ||
error_codes.h | ||
event_handler.h | ||
ext_gcd.h | ||
ext_numeral.h | ||
f2n.h | ||
file_path.h | ||
fixed_bit_vector.cpp | ||
fixed_bit_vector.h | ||
gparams.cpp | ||
gparams.h | ||
hash.cpp | ||
hash.h | ||
hashtable.h | ||
heap.h | ||
hwf.cpp | ||
hwf.h | ||
id_gen.h | ||
id_var_list.h | ||
inf_eps_rational.h | ||
inf_int_rational.cpp | ||
inf_int_rational.h | ||
inf_rational.cpp | ||
inf_rational.h | ||
inf_s_integer.cpp | ||
inf_s_integer.h | ||
lbool.cpp | ||
lbool.h | ||
lim_vector.h | ||
list.h | ||
luby.cpp | ||
luby.h | ||
machine.h | ||
map.h | ||
max_cliques.h | ||
memory_manager.cpp | ||
memory_manager.h | ||
min_cut.cpp | ||
min_cut.h | ||
mpbq.cpp | ||
mpbq.h | ||
mpbqi.h | ||
mpf.cpp | ||
mpf.h | ||
mpff.cpp | ||
mpff.h | ||
mpfx.cpp | ||
mpfx.h | ||
mpn.cpp | ||
mpn.h | ||
mpq.cpp | ||
mpq.h | ||
mpq_inf.cpp | ||
mpq_inf.h | ||
mpz.cpp | ||
mpz.h | ||
mpzzp.h | ||
mutex.h | ||
nat_set.h | ||
numeral_buffer.h | ||
obj_hashtable.h | ||
obj_mark.h | ||
obj_pair_hashtable.h | ||
obj_pair_set.h | ||
obj_ref.h | ||
obj_ref_hashtable.h | ||
obj_triple_hashtable.h | ||
object_allocator.h | ||
optional.h | ||
page.cpp | ||
page.h | ||
params.cpp | ||
params.h | ||
parray.h | ||
permutation.cpp | ||
permutation.h | ||
plugin_manager.h | ||
pool.h | ||
prime_generator.cpp | ||
prime_generator.h | ||
ptr_scoped_buffer.h | ||
queue.h | ||
rational.cpp | ||
rational.h | ||
ref.h | ||
ref_buffer.h | ||
ref_pair_vector.h | ||
ref_util.h | ||
ref_vector.h | ||
region.cpp | ||
region.h | ||
rlimit.cpp | ||
rlimit.h | ||
s_integer.cpp | ||
s_integer.h | ||
sat_literal.h | ||
sat_sls.h | ||
scoped_ctrl_c.cpp | ||
scoped_ctrl_c.h | ||
scoped_limit_trail.h | ||
scoped_numeral.h | ||
scoped_numeral_buffer.h | ||
scoped_numeral_vector.h | ||
scoped_ptr_vector.h | ||
scoped_timer.cpp | ||
scoped_timer.h | ||
scoped_vector.h | ||
sexpr.cpp | ||
sexpr.h | ||
sign.h | ||
small_object_allocator.cpp | ||
small_object_allocator.h | ||
smt2_util.cpp | ||
smt2_util.h | ||
sorting_network.h | ||
stack.cpp | ||
stack.h | ||
stacked_value.h | ||
state_graph.cpp | ||
state_graph.h | ||
statistics.cpp | ||
statistics.h | ||
stats.h | ||
stopwatch.h | ||
str_hashtable.h | ||
stream_buffer.h | ||
string_buffer.h | ||
symbol.cpp | ||
symbol.h | ||
symbol_table.h | ||
tbv.cpp | ||
tbv.h | ||
timeit.cpp | ||
timeit.h | ||
timeout.cpp | ||
timeout.h | ||
timer.h | ||
top_sort.h | ||
total_order.h | ||
tptr.h | ||
trace.cpp | ||
trace.h | ||
trace_tags.def | ||
trace_tags.h | ||
trail.h | ||
uint_map.h | ||
uint_set.h | ||
union_find.h | ||
util.cpp | ||
util.h | ||
var_queue.h | ||
vector.h | ||
visit_helper.h | ||
warning.cpp | ||
warning.h | ||
z3_exception.cpp | ||
z3_exception.h | ||
z3_version.h.cmake.in | ||
z3_version.h.in | ||
zstring.cpp | ||
zstring.h |