3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-15 21:38:44 +00:00
Commit graph

215 commits

Author SHA1 Message Date
Lev ace8fb6d95 improve printouts and diagnostics
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev ad98594447 disable a check
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 267457aaf4 fix a bug in factorization
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev cd33550f32 build fix
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 489da283bb avoid adding constantly false statements to the lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev dbfa3fc84a fix in order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 47d7331dd5 fix in neutral lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 5b786c428d avoid cleaning m_var_to_its_monomial
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 09f5ae7521 add a clear() method to nla_solver, fix a bug in abs values tables, add assertions, fix newtral lemma generation
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 0ff07aed3f add equivalence explanations
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 7c05d5e5d3 bug fix in order lemma, add more asserts
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 1c190c401b simplify order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 89c2ecbace add a test with equivalent variales for order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 70612fb109 more tests and fixes in order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 261c664654 improve the test for order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 98823ef8ac move some functionality from nla_solver to rooted_mons
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 00acf408bf move some functionality from nla_solver to rooted_mons
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 64a7231079 move some functionality from nla_solver to rooted_mons
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev b43a0e184c introduce rooted monomial table
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 4aa5fe1a46 cleanup
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 95ee5fa681 passing test solver::test_order_lemma()
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 5c0f76a702 fix a bug in nla_solver's divide
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev c30190f941 toward order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 7775afdcc3 order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev fc277f5648 order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev cebee656bd order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 99e21e0977 toward order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 28732b1def toward order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 254a40535e call order_lemma_on_ac_and_bd
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 4db4a8da3f toward order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev a5c146a740 toward order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 82589ad325 toward order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev c5c89704a6 remove sign from factorization
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev e5e50f8c1d bug fix in basic_lemma_for_mon_zero
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 882dd06df9 small changes
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 11dae38ae6 reimplement lemmas on rooted monomials
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev d3c9cdab4a reimplement lemmas on rooted monomials
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 7e03e900b8 reimplement lemmas on rooted monomials
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev cc6dc9e7d4 switching to rooted monomials if there is no sign lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev aefd7eefb6 simplify factorization
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 667d1be8c3 start switching to rooted monomials if there is no sign lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 2d144cd774 simplify m_monomials_by_abs_vals
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev e4cbe980e9 limit the number of tactics in qfnia
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev ca0ce579b1 work on order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 6a1c2e4766 work on order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev d63c051d20 work on order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev f926ec7f4a add TRACE statements 2020-01-28 10:04:21 -08:00
Lev 0470547842 work on test for order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 54f447d118 change the signature of int_solver::check by adding explanation* parameter
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 9dbb56fdfc toward order_lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 23a7e5e302 a bug fix for handling infeasibilities created in add_var_bound()
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev efeeabe127 check the lar_solver status more often
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev fde1cd23d5 small changes
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 19cfbb4701 strengthening test cases
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 5d50eaa0d1 strengthening test cases
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev f761335dd5 strengthening test cases
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 29710020a5 strengthening test cases
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 36587e4e91 add a test for basic sign lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev d4a426faf6 generate the basic sign lemma from the model
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev c20a04ea84 add explanations of factorizations
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 94448f36bb more cleanup in nla_solver
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 492abc1e57 cleanup
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 40ea66ff70 done with basic lemmas for only integer case
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 7e794503c0 make constructor rational(double) explicit
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev cf032db29a use mk_ineq more
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 5cdcfeecf2 simplify
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson 9db5b3d658 create helper functions
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev be0129407c add basic_lemma_for_mon_neutral_from_factors_to_monomial and its test
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 2b8b334704 add basic_lemma_for_mon_neutral_monomial_to_factor and its test
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 743e918914 fix test_basic_lemma_for_mon_zero_from_factors_to_monomial
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev c64abb2351 add more test stubs 2020-01-28 10:04:21 -08:00
Lev 0c2524fef2 add a function and a unit test basic_lemma_for_mon_zero_from_factors_to_monomial
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 9eee544366 add a unit test basic_lemma_for_mon_zero_from_monomial_to_factor
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev d1da26e176 add a unit test for the basic sign lemma with constraints
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 0a86bd14f7 start on test nla
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev ce48605d99 some renaming in nla_solver
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 6ce6922c5a cleanup nla_solver
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev ccd978e43b cleanup nla_solver
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 8d02c1ee5d some renaming in nla_solver
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 9654480842 move vars_equivalence to a separate file
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev ca0ddb42c5 cleanup
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 2fd32ce62d rename
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson 1ed9639898 Nikolaj's changes
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson e30743c2cf commit after rebase
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 7f85840a10 fixes in factorization and its testing
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev c672cf5c46 switch to general factorizations in nla_solver
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 6ce69233c7 work on nla_solver
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 301f8d40fd changes in signed_factorization
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 8c59557099 fix generation of basic sign lemmas
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 17ed9c39be add a comment
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev dd00cc89a2 simplify get_factors()
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev e7441cf01e add conflict detection for a list of monomials having the same rooted monomial
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 012131df73 tesing factorization of monomials in nla_solver
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 83dda2f162 tesing factorization of monomials in nla_solver
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 771cbb31bb test nla_solver
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev a1f572d55a generate lemma for proportional_case_ge
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 4deccebeb4 generate lemma for proportional_case_ge
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 8350d8702f generate lemma for proportional_case_le
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev f8e4f5c5c6 lemma_for_proportional_factors_on_vars_le
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 51e08188f5 simplify getting explanations functionality
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev da700c7cff move some functionality from vars_equivalence to nla_solver
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 36d587e519 fix the build
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 4ba7b6b047 progress with proportional factors
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 0e557467d7 rename minimal to rooted in nla_solver
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 85cd566e1f add right side to struct ineq in nla_solver
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev de56ead538 start using the tree for var_equivalence
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev a82316a172 rebase with z3prover
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 3cf0eae5e1 work on vars_equivalence
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 4c4f70f4bb work on vars_equivalence
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev d301a9c403 rebase with z3prover
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 4ca0ca3ce8 basic case proportionality
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 5344dedf42 going over the binary factor for basic lemmas
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 318b505a2e comments are added in nla_solver
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 96aaa8638e rename niil to nla
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 56ae577c97 rename the files
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Renamed from src/util/lp/niil_solver.cpp (Browse further)