mirror of
https://github.com/Z3Prover/z3
synced 2025-11-19 12:20:49 +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 | ||