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 Nachmanson b2943c34f1 create class lemma
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 4243bd3e2a a bug fix in simple sign lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 286cebd9db bug fixes in tangent_lemma explanations and the strict case of monotone lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson 2bab591ef3 restore qfnia_tactic.cpp to expose a bug
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson 45ea23be21 add simple sign lemma
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 6071e08822 a bug fix is the sign lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson 158a3db330 cosmetics
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 228ef48628 more derived lemmas
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev d08f8a2512 fix test_basic_lemma_for_mon_zero_from_monomial_to_factors
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev d06182d199 split between derived and model based lemma generation
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson 53b6b65a16 fix the test test_basic_lemma_for_mon_neutral_from_monomial_to_factors
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson 389d2cee04 split lemma generatin on to derived and model based
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 1a788d24fd a fix in the initialization
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 1ff81ba26e a fix in the initialization
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 1dca8abc05 model based sign lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson 6b96ba3ef7 derived lemmas
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev ff1bfdbfc6 derived order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson 62772468b5 add explanations to proportional lemma
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 348faf15b1 propogation based order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 1235621610 search for the sign lemma on the equivalence class of monomials
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 7c074dc65c access by indeq from regular monomials to rooted
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 5599dc984c introduce to_refine in rooted_table
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 403743cb30 switch to constraint based sign lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson 3441f565b2 before changes is basic_sign_lemma
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 5104ec881a fix in tangent lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 9f51d91acf tangent lemma passes first tests
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 4886acfae5 tangent lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev d630b06933 tang lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev dcbb119aaf tangent lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev c814b1b17e tangent lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 9aca3bc239 change the signature of nla_solver::check() to accept lemma and explanation as vectors
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 466586bf22 extract monomial iterators to a separate file
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev d223f47526 cleaner iterator
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson bd1be96e0f isolate init_to_refine()
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev ceac1dc4f7 clear m_to_refine
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 0d5ca4edfe more efficient sign lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 4f2eb0b4eb remove an unused field
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson bc9edac913 fix in sign lemma for the zero case
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev Nachmanson abbf8c587b introduce mon_to_rooted_mon
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 14a8612779 fix a bug in order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev f57f6138b4 fix a bug in order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev fe05d1a1e8 fix the tests
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 8c876b48a7 fix the tests
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev a1851db4d5 implement order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev b948091665 implement order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 979593e2f1 create a test for order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev ea02231ef8 create a test for order lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 54edea4f37 work on monotonicity lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev ad1aaebb89 proportional lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
Lev 76d516d42c proportional lemma
Signed-off-by: Lev <levnach@hotmail.com>
2020-01-28 10:04:21 -08:00
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