3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-17 14:25:35 +00:00
z3/src/smt
Nikolaj Bjorner 5c2c0ae900 force-push on new_eq, new_diseq in user propagator, other fixes to Python bindings for user propagator
This update allows the python bindings for user-propagator to handle functions that are declared to be registered with the user propagator plugin. It fixes a bug in UserPropagateBase.add to allow registering terms dynamically during search.
It also fixes a bug in theory_user_propagate as scopes were not fully pushed when the solver gets the callbacks for new equalities and new disequalities.
It also adds equality and disequality interfaces to the sat/smt solver version (which isn't being exercised in earnest yet)
2022-07-25 03:42:29 +02:00
..
params working on reconciling perf for arithmetic solvers 2022-07-11 07:38:51 -07:00
proto_model #5323 2021-07-18 05:14:14 -07:00
tactic Added missing decide-callback for tactics (#6166) 2022-07-17 10:07:52 -07:00
arith_eq_adapter.cpp call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
arith_eq_adapter.h
arith_eq_solver.cpp call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
arith_eq_solver.h
CMakeLists.txt rename files to theory_user_propagator 2021-11-29 19:44:58 -08:00
database.h Make sure all headers do #pragma once. (#6188) 2022-07-23 10:41:14 -07:00
database.smt
diff_logic.h call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
dyn_ack.cpp call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
dyn_ack.h
expr_context_simplifier.cpp call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
expr_context_simplifier.h
fingerprints.cpp call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
fingerprints.h
mam.cpp update topological sort to use arrays instead of hash tables, expose Context over Z3Object for programmability 2022-06-08 06:28:24 -07:00
mam.h
old_interval.cpp fix #5895 2022-03-12 09:17:13 -08:00
old_interval.h
qi_queue.cpp add a way to supress lambdas 2022-06-10 14:35:20 -07:00
qi_queue.h add priority queue to instantiation 2021-01-31 16:17:52 -08:00
seq_axioms.cpp move to separate axiom management 2021-02-23 18:09:45 -08:00
seq_axioms.h na 2022-01-01 17:59:31 -08:00
seq_eq_solver.cpp remove assertion - literals could be assigned but propagation incomplete 2022-01-21 03:10:41 +01:00
seq_ne_solver.cpp call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
seq_offset_eq.cpp streamline pb solver interface and naming after removal of xor 2021-02-28 12:32:04 -08:00
seq_offset_eq.h fix misspelled \brief for doxygen (#5632) 2021-10-29 15:34:28 +02:00
seq_regex.cpp remove dead code 2021-12-14 13:42:52 -08:00
seq_regex.h fix co-factoring' 2021-12-14 10:12:38 -08:00
smt2_extra_cmds.cpp
smt2_extra_cmds.h
smt_almost_cg_table.cpp streamline pb solver interface and naming after removal of xor 2021-02-28 12:32:04 -08:00
smt_almost_cg_table.h
smt_arith_value.cpp streamline pb solver interface and naming after removal of xor 2021-02-28 12:32:04 -08:00
smt_arith_value.h
smt_b_justification.h
smt_bool_var_data.h
smt_case_split_queue.cpp signed 2021-05-21 15:51:27 -07:00
smt_case_split_queue.h
smt_cg_table.cpp streamline pb solver interface and naming after removal of xor 2021-02-28 12:32:04 -08:00
smt_cg_table.h
smt_checker.cpp call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
smt_checker.h
smt_clause.cpp consolidate literals 2021-05-20 12:58:27 -07:00
smt_clause.h
smt_clause_proof.cpp call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
smt_clause_proof.h
smt_conflict_resolution.cpp #5467 2021-10-12 10:16:15 -07:00
smt_conflict_resolution.h call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
smt_consequences.cpp wip 2022-04-16 14:55:43 +02:00
smt_context.cpp force-push on new_eq, new_diseq in user propagator, other fixes to Python bindings for user propagator 2022-07-25 03:42:29 +02:00
smt_context.h Added function to select the next variable to split on (User-Propagator) (#6096) 2022-06-19 10:49:25 -07:00
smt_context_inv.cpp more useful diagnostics 2021-09-01 20:50:35 -07:00
smt_context_pp.cpp add stats for binary clause creation 2022-05-10 14:58:15 -07:00
smt_context_stat.cpp remove '#include <iostream>' from headers and from unneeded places 2022-06-17 14:10:19 +01:00
smt_enode.cpp add handling of quantifiers #5612 2021-10-20 12:27:56 -04:00
smt_enode.h reduce sizeof(enode) from 120 to 112 bytes by swapping the order of fields 2022-06-17 12:07:15 +01:00
smt_eq_justification.h
smt_failure.h flag incomplete on lambdas #5803 2022-01-31 11:54:06 -08:00
smt_farkas_util.cpp call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
smt_farkas_util.h
smt_for_each_relevant_expr.cpp
smt_for_each_relevant_expr.h
smt_implied_equalities.cpp call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
smt_implied_equalities.h
smt_induction.cpp.disabled remove dependencies on stale component 2021-08-16 17:52:36 -07:00
smt_induction.h.disabled remove dependencies on stale component 2021-08-16 17:52:36 -07:00
smt_internalizer.cpp Fixed missing assignment for binary clauses (#6148) 2022-07-11 09:24:03 -07:00
smt_justification.cpp call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
smt_justification.h streamline unicode/ascii toggling. Fix bit-width for unicode to 18 2021-01-23 11:11:44 -08:00
smt_kernel.cpp Added decide-callback to user-propagator (#5978) 2022-04-15 20:07:17 +02:00
smt_kernel.h Added decide-callback to user-propagator (#5978) 2022-04-15 20:07:17 +02:00
smt_literal.cpp consolidate literals 2021-05-20 12:58:27 -07:00
smt_literal.h consolidate literals 2021-05-20 12:58:27 -07:00
smt_lookahead.cpp
smt_lookahead.h
smt_model_checker.cpp redundant parenthesis 2022-07-13 16:20:03 -07:00
smt_model_checker.h change model evaluator to respect resource limits (#5184) 2021-04-14 11:48:39 -07:00
smt_model_finder.cpp Add and fix a few general compiler warnings. (#5628) 2021-10-29 15:42:32 +02:00
smt_model_finder.h
smt_model_generator.cpp fix #5674 2021-11-18 21:14:50 -08:00
smt_model_generator.h
smt_parallel.cpp use some suggestions from #5615 2021-10-22 12:39:55 -04:00
smt_parallel.h
smt_quantifier.cpp streamline pb solver interface and naming after removal of xor 2021-02-28 12:32:04 -08:00
smt_quantifier.h remove a hundred implicit constructors/destructors 2021-05-23 14:25:01 +01:00
smt_quantifier_instances.h
smt_quick_checker.cpp call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
smt_quick_checker.h
smt_relevancy.cpp setting roots breaks relevancy propagation 2022-01-05 21:16:25 -08:00
smt_relevancy.h fix misspelled \brief for doxygen (#5632) 2021-10-29 15:34:28 +02:00
smt_setup.cpp expose propagate created 2021-12-17 16:12:47 -08:00
smt_setup.h missing 2021-01-26 17:07:46 -08:00
smt_solver.cpp Added decide-callback to user-propagator (#5978) 2022-04-15 20:07:17 +02:00
smt_solver.h
smt_statistics.cpp
smt_statistics.h remove '#include <iostream>' from headers and from unneeded places 2022-06-17 14:10:19 +01:00
smt_theory.cpp fix regression from today, see #5676 2021-12-01 14:29:53 -08:00
smt_theory.h introduce notion of beta redex to deal with lambdas in non-extensional positions 2022-06-10 17:35:01 -07:00
smt_types.h signed 2021-05-21 15:51:27 -07:00
smt_value_sort.cpp refactor get_sort 2021-02-02 04:45:54 -08:00
smt_value_sort.h
spanning_tree.h
spanning_tree_base.h
spanning_tree_def.h
theory_arith.cpp
theory_arith.h fix #6091 2022-06-14 09:51:06 -07:00
theory_arith_aux.h working on #5614 2021-11-02 14:55:39 -07:00
theory_arith_core.h fix #6153 2022-07-12 15:49:57 -07:00
theory_arith_def.h
theory_arith_eq.h call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
theory_arith_int.h call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
theory_arith_inv.h
theory_arith_nl.h working on reconciling perf for arithmetic solvers 2022-07-11 07:38:51 -07:00
theory_arith_pp.h working on #5614 2021-11-02 14:55:39 -07:00
theory_array.cpp build warnings 2022-05-08 10:31:11 -07:00
theory_array.h fix #5812 2022-02-04 13:08:52 -08:00
theory_array_bapa.cpp remove '#include <iostream>' from headers and from unneeded places 2022-06-17 14:10:19 +01:00
theory_array_bapa.h
theory_array_base.cpp fix #6174 2022-07-20 21:22:41 -07:00
theory_array_base.h introduce notion of beta redex to deal with lambdas in non-extensional positions 2022-06-10 17:35:01 -07:00
theory_array_full.cpp fix #6128 2022-07-12 15:43:12 -07:00
theory_array_full.h fix #5812 2022-02-04 13:08:52 -08:00
theory_bv.cpp fix #6157 2022-07-13 14:37:04 -07:00
theory_bv.h Added decide-callback to user-propagator (#5978) 2022-04-15 20:07:17 +02:00
theory_char.cpp bv2char and char2bv with Clemens 2021-09-13 16:09:03 +02:00
theory_char.h bv2char and char2bv with Clemens 2021-09-13 16:09:03 +02:00
theory_datatype.cpp Move out equality use out of the loop 2022-07-04 12:42:39 -07:00
theory_datatype.h fix unsoundness in explanation handling for nested datatypes and sequences 2022-07-03 17:00:39 -07:00
theory_dense_diff_logic.cpp
theory_dense_diff_logic.h
theory_dense_diff_logic_def.h call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
theory_diff_logic.cpp
theory_diff_logic.h remove a hundred implicit constructors/destructors 2021-05-23 14:25:01 +01:00
theory_diff_logic_def.h call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
theory_dl.cpp streamline pb solver interface and naming after removal of xor 2021-02-28 12:32:04 -08:00
theory_dl.h
theory_dummy.cpp remove template Context dependency in every trail object 2021-02-08 15:41:57 -08:00
theory_dummy.h
theory_fpa.cpp strengthen contract for log_axiom_instantiation #5621 2021-10-26 09:49:44 +02:00
theory_fpa.h remove template dependency for trail objects 2021-03-19 11:15:05 -07:00
theory_lra.cpp fix #6153 2022-07-12 15:49:57 -07:00
theory_lra.h remove experimental option. Fix #4806 2020-11-20 11:46:19 -08:00
theory_opt.cpp
theory_opt.h Add and fix a few general compiler warnings. (#5628) 2021-10-29 15:42:32 +02:00
theory_pb.cpp remove '#include <iostream>' from headers and from unneeded places 2022-06-17 14:10:19 +01:00
theory_pb.h Make sure all headers do #pragma once. (#6188) 2022-07-23 10:41:14 -07:00
theory_recfun.cpp probably won't fix #6127 2022-07-03 18:10:52 -07:00
theory_recfun.h Treat arguments to recursive functions as beta redexes 2022-06-14 09:51:06 -07:00
theory_seq.cpp fix #6178 2022-07-20 20:48:23 -07:00
theory_seq.h introduce notion of beta redex to deal with lambdas in non-extensional positions 2022-06-10 17:35:01 -07:00
theory_seq_empty.h remove template Context dependency in every trail object 2021-02-08 15:41:57 -08:00
theory_special_relations.cpp fix #6082 2022-06-23 07:43:06 -07:00
theory_special_relations.h fix #4901 2021-10-12 17:10:04 -07:00
theory_str.cpp Z3str3 Debug (#6000) 2022-04-27 12:37:07 +02:00
theory_str.h Z3str3 Debug (#6000) 2022-04-27 12:37:07 +02:00
theory_str_mc.cpp remove symbol -> zstring -> symbol round-trips 2021-05-22 13:12:49 -07:00
theory_str_regex.cpp call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
theory_user_propagator.cpp force-push on new_eq, new_diseq in user propagator, other fixes to Python bindings for user propagator 2022-07-25 03:42:29 +02:00
theory_user_propagator.h force-push on new_eq, new_diseq in user propagator, other fixes to Python bindings for user propagator 2022-07-25 03:42:29 +02:00
theory_utvpi.cpp
theory_utvpi.h remove a hundred implicit constructors/destructors 2021-05-23 14:25:01 +01:00
theory_utvpi_def.h call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
theory_wmaxsat.cpp call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
theory_wmaxsat.h remove template Context dependency in every trail object 2021-02-08 15:41:57 -08:00
uses_theory.cpp
uses_theory.h
watch_list.cpp fix #4856 2020-12-06 14:06:08 -08:00
watch_list.h