3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-16 22:05:36 +00:00
Commit graph

12170 commits

Author SHA1 Message Date
Lev Nachmanson 525f747e3c cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson c2cead4fb6 cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson b5fc9635c4 cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson 3b00b34c6f cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson 80467f1400 cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson 431bb36cf5 cheap_eqs tree
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson f7f9c15676 cheap_eqs tree
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Nikolaj Bjorner 274323b818 fix reset order for #4533
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-19 16:07:45 -07:00
Nikolaj Bjorner 1204671595 fix #4534
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-19 14:10:49 -07:00
Arie Gurfinkel 07a1aea689 fix(spacer): bug in assign_bounds to Farkas conversion
The fix is to remove a hack that used a theory rewriter to simplify
the conversion. Now the conversion happens less often than possible.
Will need more thinking to fix properly.

The unsoundness at this point would cause SPACER to generate lemmas
that do not block a proof obligation and then get stuck in an infinite loop
blocking and generating the same lemma.
2020-06-18 21:19:53 -04:00
Nuno Lopes 38d4418f94 simplify string_buffer::append 2020-06-18 19:55:34 +01:00
Nuno Lopes fdeba2102c fix deref of free'd memory in mk_fresh_const 2020-06-18 19:25:32 +01:00
Nikolaj Bjorner 3b1149330d enable theory propagation of regex accept condition
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-17 13:42:40 -07:00
Nikolaj Bjorner be36a8fd80 fix for SPACER models using bit2bool
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-16 10:45:11 -07:00
Nikolaj Bjorner 48d4d8d7af fix tracking of bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-15 17:36:20 -07:00
Lev Nachmanson f882219081 fix a bug in cheap_eqs with table
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-15 13:30:45 -07:00
Lev Nachmanson 09516d74f6 change the default for cheap eqs to table
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-15 13:30:45 -07:00
Lev Nachmanson d13e584706 simplify the fixed var table
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-15 13:30:45 -07:00
Nikolaj Bjorner d09e6eccf0 re-enable proofs for qe-lite #3153
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-15 12:03:15 -07:00
Nikolaj Bjorner 395a304262 add optional feature to bound search within ranges
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-14 21:34:54 -07:00
Nikolaj Bjorner 180fb3abf6 tidy
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-14 11:36:09 -07:00
Nikolaj Bjorner 7387fc9dec avoid some bignum overhead in addmul
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-14 11:20:05 -07:00
Nikolaj Bjorner 53e49eb428 neatify
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-13 15:20:21 -07:00
Nikolaj Bjorner 5ee9edf46b fix incorrect bound in order-lemma
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-13 14:28:42 -07:00
Lev Nachmanson 23c12b75af remove a duplicate option gb==grobner
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-13 10:03:19 -07:00
Lev Nachmanson e5632736d2 review comments
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson fbfcc6796a fix the build
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 66701de157 fix the test build
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 06826adec3 fix the race in add_var_bound and add_def_constraint
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson fe0e042e40 move m_fixed_var_table to lar_solver
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 3b87cdfd0f remove the debug output
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 67eaff4490 testing cheap equalities
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 6c115bf896 cheap eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 94263167ec cheap eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 50b9915c57 avoid big nums in is_offset_row in cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 713eb6319d fix
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 1587497562 cheap equalities
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson ccc8651800 cheap eqs on table
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson b3bdce7837 make lp_bound_propagator a field of theory_lra::imp
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson dd30b5e3af some simplifications in cheap eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 4de38d09e2 cheap eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 4f0bd93124 debug cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 110ab5e6ef debug cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 9c078c6d59 relaxing asserts in column_to_reported_index
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 6a678fd5be rename in lar_solver and memory corruption bug in cheap_eq
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 4936ace7cd more guards on cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 0ff18dd5a7 a small example passing with cheap eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 54921d08dc cheap_eq debug
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 4a9f031502 cheap_eqs progress
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 62bd19242e replace graph by a tree in cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 5d3070bc2d implement graph integrality
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson 1e4e887221 propagate cheap eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Nikolaj Bjorner 865dfe0590 own refs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-12 17:07:06 -07:00
Jack Yao 55cd1e996c
add sat option for doing a global simplification before the bounded search and the main CDCL search loop. The option is also used for the sat-preprocess tacitc (#4514)
Co-authored-by: rainoftime <rainoftime@gmail.com>
2020-06-12 16:45:50 -07:00
Nikolaj Bjorner 41430cd128 register unhandled expressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-12 16:12:24 -07:00
Nikolaj Bjorner 2613f74baa fix #4494 2020-06-11 00:05:19 -07:00
Nikolaj Bjorner 5a2b6d9c92 bounds on loop expressions 2020-06-11 00:04:41 -07:00
Nikolaj Bjorner b0da5409c1 substitute into non-ground regexes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-09 14:58:25 -07:00
Nikolaj Bjorner bac4726531 remove redundant method
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-09 14:40:17 -07:00
Nikolaj Bjorner 571e345d07 add mkStringSort
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-09 14:39:02 -07:00
Nikolaj Bjorner e3d45b9850 refcount leaks
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-09 14:19:26 -07:00
Nikolaj Bjorner 4fdfc65b37 tune seq rewriting
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-09 13:30:39 -07:00
Nikolaj Bjorner 08cc5bc2e5 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-09 11:39:26 -07:00
calebstanford-msr 1fd567d1e9
fix bug in seq rewriter op_cache::find (#4509)
* remove unneeded reverse case in derivative; placeholder for generalized lifted derivative

* experimental tweaks to RE rewriter to improve performance

* if-then-else lifting
(broken code -- preserving this commit in case this idea is useful later)

* if-then-else derivative optimizations: new approach templates

* implement if-then-else BDD normal form for derivatives
(code compiles but is still buggy)

* remove std::cout debugging for PR

* Revert "remove std::cout debugging for PR"

This reverts commit c7bdc44d31.

* debugging

* fix derivative interaction with reverse; add flags for left/right derivative and lifting over union/intersection

* remove debugging statements for PR

* Revert "remove debugging statements for PR"

This reverts commit 38e85a7288.

* revert some purely cosmetic changes from upstream; fix a bug

* revert unnecessary changes

* remove some redundant rewrites and add a new one for str.in_re(s, comp(r))

* add disabled rewrite for complement

* fix bug in op cache find (result was not saved)

* remove debugging std::cout for PR
2020-06-09 11:36:31 -07:00
Nuno Lopes ec1e733ef2 fix crash in qe_array ref counting due to wrong assignment operator of ptr_vector being called
thanks to Arie Gurfinkel for reporting this
2020-06-09 10:02:27 +01:00
Nikolaj Bjorner 5f9973d8c4 fix #4508
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-07 16:28:53 -07:00
Nikolaj Bjorner d2a12f6db5 tuning
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-07 12:52:13 -07:00
FabianWolff cfed69caae
Remove __DATE__ to make the build more reproducible (#4505) 2020-06-07 12:28:39 -07:00
Nuno Lopes 1809ee5107 fix regression in FPA internalization 2020-06-07 15:50:53 +01:00
Nikolaj Bjorner ba1ca33637 normalization of union/intersection
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-06 12:54:44 -07:00
Nikolaj Bjorner ccea27de35 add nullable propagation instead of waiting for length assignment
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-06 12:11:04 -07:00
Nikolaj Bjorner 65b6ccd651 add nullable propagation instead of waiting for length assignment
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-06 11:32:43 -07:00
Nikolaj Bjorner 1b9fcc7098 integrate ite-normalized derivatives
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-05 17:28:48 -07:00
Nikolaj Bjorner 4dbf7b183d inline conditions with derivative computation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-05 13:51:31 -07:00
Nikolaj Bjorner a32fabf5ee fix #4403
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-05 13:51:31 -07:00
Nikolaj Bjorner 59e388ece1 handle bind proof constructor and print lambda
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-04 11:59:59 -07:00
Nikolaj Bjorner e52eed325c close #4450
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-04 09:22:38 -07:00
Nikolaj Bjorner 57086edc42 close #4432
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-04 03:06:58 -07:00
Nikolaj Bjorner f999c14a1e close #4429
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-04 01:33:28 -07:00
Nikolaj Bjorner 278e004385 fix #4428, and then there were none, almost
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-04 01:28:26 -07:00
Nikolaj Bjorner 80d5d66158 handling cancelation #4425
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-04 01:12:04 -07:00
Nikolaj Bjorner 9f8887cc2e throw from push #4425
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-04 01:05:23 -07:00
Nikolaj Bjorner b013df9a9f fix #4431
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-04 00:47:27 -07:00
Nikolaj Bjorner b29d5f9b5d fix #4436
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 21:21:01 -07:00
Nikolaj Bjorner 9ca5b3f304 fix #4449
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 21:10:07 -07:00
Nikolaj Bjorner cbf089e10d fix #4448
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 19:41:25 -07:00
Nikolaj Bjorner ae2f0ca85b fix #4448
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 19:40:26 -07:00
Nikolaj Bjorner 743573aac5 fix #4447, or mask it
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 19:32:05 -07:00
Nikolaj Bjorner af90992858 fix #4404
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 17:01:36 -07:00
Nikolaj Bjorner f986ae97bd fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 15:12:08 -07:00
Nikolaj Bjorner d50fc6976b fix #4430
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 13:47:59 -07:00
Andrew V. Jones 9fac010d8e
Fixing build errors when building test-z3 (#4496)
Signed-off-by: Andrew V. Jones <andrew.jones@vector.com>
2020-06-03 13:34:43 -07:00
Nuno Lopes e844aef896 remove a few more copy constructors, though still not enough to enable the assertion in vector
I give up for now; there are too many copies left for little return..
2020-06-03 20:32:13 +01:00
Nikolaj Bjorner e2b2b7f82e na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 12:29:29 -07:00
Nikolaj Bjorner 3a7df2c6ef fix various nullability checks in seq_regex
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 12:28:32 -07:00
Nikolaj Bjorner 377dbad3b9 fix #4435
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 10:27:08 -07:00
Nikolaj Bjorner 8ae42b5ae1 fix #4433
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 10:23:26 -07:00
Nikolaj Bjorner f5cd4e3ac0 janitor services
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 10:15:55 -07:00
Nikolaj Bjorner 38176256c4 fix #4434
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 10:12:49 -07:00
Nikolaj Bjorner 6e47499e26 fix #4434
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 10:09:18 -07:00
Andrew V. Jones a23ca1792b
Ensure that Z3 uses the correct SMT-LIB2 syntax for push and pop (#4495)
* When pretty-printing SMTLIB2, ensure that Z3 uses the correct syntax for 'push'

Signed-off-by: Andrew V. Jones <andrew.jones@vector.com>

* When pretty-printing SMTLIB2, ensure that Z3 uses the correct syntax for 'pop'

Signed-off-by: Andrew V. Jones <andrew.jones@vector.com>
2020-06-03 09:35:14 -07:00
Nikolaj Bjorner 0bc33e9c9d correct the type returned by mkNth #4454
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 09:10:58 -07:00
Nuno Lopes 7ac2791482 remove a bunch of constructors to avoid copies
still not enough to guarantee that vector::expand doesnt copy (WIP)
2020-06-03 17:09:27 +01:00
Nuno Lopes 98b5abb1d4 buffer: require a move constructor to avoid copies
remove unneded copy constructors from several classes
2020-06-03 11:57:49 +01:00
Nuno Lopes 3d98bccc33 fix mem leak in buffer and remove copies in interval (#4458) 2020-06-03 10:26:00 +01:00
Nikolaj Bjorner 04829e6b7a fix #4437, not really interesting bug as debug assertion is really for non-interrupted flow
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 18:41:26 -07:00
Nikolaj Bjorner df75792e9c fix #4454
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 18:35:38 -07:00
Nikolaj Bjorner 3f2dafe047 fix $4457
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 18:32:01 -07:00
Nikolaj Bjorner d3e20d41b2 fix $4457
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 18:31:28 -07:00
Nikolaj Bjorner f645ef7677 fix #4461
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 18:08:42 -07:00
Nikolaj Bjorner bfb5c95b9a use op-cache for is-nullable
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 13:30:18 -07:00
Nikolaj Bjorner e388055a33 connecting op-cache
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 13:13:32 -07:00
Nikolaj Bjorner 320cd81140 fix #4476
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 13:00:55 -07:00
Nikolaj Bjorner 4ef480e2a5 add op cache
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 12:52:42 -07:00
Nuno Lopes 023b630b5a remove unused class fields in BV theory 2020-06-02 16:36:38 +01:00
Nuno Lopes b9ecf2512f more tweaks to BV internalizer & remove dead code 2020-06-02 15:26:57 +01:00
Lev Nachmanson 742be83503
Lpbounds (#4492)
* remove inheritance from bound propagation

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* less inheritance

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* less inheritance

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* fix the build

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-02 01:00:06 -07:00
Nikolaj Bjorner 29ce22cfb1 fix #4493, use standard model evaluation for variables that have not been regiestered with solver (e.g., they are non-shared and unconstrained)
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 00:57:49 -07:00
Nikolaj Bjorner 48f07932f7 reset zero before resetting nlsat #4493b
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 00:40:54 -07:00
Nikolaj Bjorner 2da7a8dd70 fix #4491
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-01 20:12:41 -07:00
Murphy Berzish 99f20c59e4
Merge pull request #4490 from mtrberzi/issue4486
z3str3: construct proper cex for str.at model construction
2020-06-01 20:06:51 -05:00
Nikolaj Bjorner 7343783efe finetune
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-01 15:40:02 -07:00
Nikolaj Bjorner 8849cef4b7 add stub for equality propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-01 15:33:52 -07:00
Murphy Berzish f395c8643c z3str3: construct proper cex for str.at model construction 2020-06-01 14:55:44 -04:00
Nuno Lopes e079af9d0d
add context::internalize() API that takes multiple expressions at once (#4488) 2020-06-01 11:51:39 -07:00
Andrew V. Jones e634f2987c
Ensuring correct 'set' call is used when setting 'smtlib2_log' (#4487)
Signed-off-by: Andrew V. Jones <andrew.jones@vector.com>
2020-06-01 10:55:48 -07:00
trinhmt 48a2d3d5b6
fix #4481 (#4484) 2020-06-01 09:02:50 -07:00
Lev Nachmanson c967b4aead more efficient patching
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson c355ee025a fix bugs in patching
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson e7bb8e57cb fixes in patch blocking
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson 4728a1fb0c fix in cautious remove_basis
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson a6040a1f3d cautious remove_basis
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson 91d9b0319e toward full patching in nl
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson c58bd3105b adding more aggressive patching in nl
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson 6a5579341d add restore_patched_values
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson 47d5515b78 change try_patch to a template
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson 4b76e213a5 move declarations closer to usage
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson 9b7f97fab9 change try_patch to a template
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson a53ed5bddd change try_patch to a template
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson 2de79be31b change try_patch to a template
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson b84585beeb more aggressive patching
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson e5503cdc65 change try_patch to a template
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson 2710afbea1 change try_patch to a template
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson 18016a7100 rename
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Nikolaj Bjorner c424165d94 block deep based on condition for internalization #4192
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-31 13:31:16 -07:00
Nikolaj Bjorner 7d4c9e6126 fix #4480
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-31 12:40:04 -07:00
Nikolaj Bjorner 084cd335eb add (disabled) stubs for decomposing re-membership on regex
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-31 12:25:21 -07:00
Nikolaj Bjorner 7f7663a3b4 fix #4478
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-31 11:16:21 -07:00
Nuno Lopes 31e75d1401 minor simplifications 2020-05-31 13:26:27 +01:00
Nikolaj Bjorner d372af4782 add stub for cheap equality propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-30 15:36:27 -07:00
Nuno Lopes 6a45c5d17c fix build with prehistorical compilers because of pip/manylinux 2020-05-30 11:42:27 +01:00
Nikolaj Bjorner ce4e1d3cbb fresh index
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-29 19:54:50 -07:00
Nikolaj Bjorner c92a63690d enable parsing (_ char ..)
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-29 17:47:24 -07:00
Nikolaj Bjorner d41ecda03e skip non-overlap simplification in rewriter
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-29 17:27:54 -07:00
Nikolaj Bjorner e68c72755a fix leak
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-29 14:49:53 -07:00
Nikolaj Bjorner f381d51c83 update badge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-29 14:04:12 -07:00
calebstanford-msr c939195c10
add regex support for reverse and left/right derivative rewriting (#4477)
* partial work on adding 'reverse' (broken code)

* new op codes for derivative and reverse + associated rewrite rules

* incorporate reverses and derivatives in rewriter + some fixes

* enable rewriting str.in_re constraints with right derivative
2020-05-29 13:00:37 -07:00
Nikolaj Bjorner 3d9d52f742 add detection of string equalities
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-29 10:40:47 -07:00
Nikolaj Bjorner e0130f5cf4 remove Kleene naming as it is a misnomer in this context
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-28 20:41:03 -07:00
Nikolaj Bjorner 0911a06d81 bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-28 20:05:32 -07:00
Nikolaj Bjorner ea1f50b77e simplify extended contains patterns
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-28 19:11:29 -07:00
Nikolaj Bjorner 6a90072a98 bug in non-member disjunction
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-28 12:03:40 -07:00
Nikolaj Bjorner 220b8afd97 m is now an attribute on theory_smt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-28 10:36:51 -07:00
Nikolaj Bjorner 6d17c656bd merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-28 10:32:38 -07:00
trinhmt 4aa1e60daa
fix branch_variable() (#4472)
* fixed branch_variable()

* add docs
2020-05-28 10:21:50 -07:00
Murphy Berzish e9eec5349d
z3str3: improve vector handling in simplify_parent (#4413) 2020-05-28 09:59:42 -07:00
Murphy Berzish 882777fc1d
z3str3: track the scope of library-aware terms for axiom setup (#4420) 2020-05-28 09:59:28 -07:00
Murphy Berzish 3b0c8a7ff9
fix logic for disabling theory case split heuristic (#4397) 2020-05-28 09:57:44 -07:00
Murphy Berzish 71ea7287bb
z3str3: detect and give up when symbolic automaton construction fails (#4384)
typically this will happen due to non-constant terms in a RegLan expression
2020-05-28 09:57:33 -07:00
Murphy Berzish ccebd4db59
z3str3: allow leading zeroes in str.to_int (#4381) 2020-05-28 09:57:22 -07:00
Murphy Berzish f3b2a082ae
z3str3: make counterexamples less naive, and check regex membership more efficiently (#4358)
* z3str3: make counterexamples less naive, and check regex membership more efficiently

* z3str3: construct even better counterexamples for regex membership
2020-05-28 09:57:08 -07:00
Nikolaj Bjorner 56bf4c144b fix #4471
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-27 14:19:59 -07:00
Nikolaj Bjorner f0178a87f5 remove old README
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-27 14:04:43 -07:00
Nikolaj Bjorner 90708576fe from #4468
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-27 14:04:30 -07:00
Nikolaj Bjorner 87f8da022e fix non-empty -> empty typo
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-27 12:13:25 -07:00
Nikolaj Bjorner dbd90e5f86 dbg proagate_eq
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-27 10:33:45 -07:00
Nikolaj Bjorner 9dd8ebb474 fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-27 10:10:25 -07:00
Nikolaj Bjorner 94ffd63b51 change to iterative unfolding left build broken for some time
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-26 21:25:53 -07:00
Nikolaj Bjorner 9764007c97 lorem ipsum
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-26 20:55:02 -07:00
Nikolaj Bjorner 0c2c1861f1 add general purpose emptiness/non-emptiness check
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-26 20:50:18 -07:00
Nikolaj Bjorner 88e36c6bf3 add general purpose emptiness/non-emptiness check
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-26 20:42:21 -07:00
Nikolaj Bjorner 33cdc06eb4 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-26 13:37:49 -07:00
Nikolaj Bjorner a1991d803f add some notes to regex
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-26 13:30:52 -07:00
Nikolaj Bjorner 5e79eb62fd add some notes to regex
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-26 13:30:52 -07:00
Lev Nachmanson 9336e823ed make propagating on bounds on monomials and calling nra the default options
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-26 12:44:47 -07:00
Lev Nachmanson 52fdb4d291 fix issue https://github.com/Z3Prover/z3/issues/4438
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-26 12:44:47 -07:00
Lev Nachmanson caa384f6c9 make m_inf_set private and cosmetic improvements in nla patching
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-26 12:44:47 -07:00
Nuno Lopes d8cea7c8d5 fix a few warnings & simplify debug.h header 2020-05-26 13:49:13 +01:00
Nikolaj Bjorner a97bc65af4 hoist co-factors eagerly without adding axioms
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-25 15:10:45 -07:00
Nikolaj Bjorner e938ee33bb na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-25 14:11:59 -07:00
Nikolaj Bjorner 4e01d5b5c1 tune axioms for derivatives
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-25 14:11:59 -07:00
Lev Nachmanson 97b480ded3
Expl (#4462)
* cleaner API for explanation

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* remove an unnecessery check

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* expl

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-24 17:06:39 -07:00
Nikolaj Bjorner d6ad371934 avoid div/mod axioms on 0
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-23 16:37:40 -07:00
Nuno Lopes 7a12cebd41 remove unused file 2020-05-24 00:10:40 +01:00
Nikolaj Bjorner 24df35a83e guard derivative code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-23 16:02:10 -07:00
Nikolaj Bjorner eb3f20832e initial pass at using derivatives in regex unfolding
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-23 11:53:07 -07:00
Nuno Lopes 903725314c fix gcc 9/10 warnings 2020-05-23 16:39:09 +01:00
Nikolaj Bjorner d1d14111cb turn on Unicode parsing when they fit in 8 bits
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-22 10:41:19 -07:00
Hari Govind V K b7d7ff38cb
bug fix. Handle unknown without model (#4443) 2020-05-22 10:12:42 -07:00
Nikolaj Bjorner 9eedd4ecd6 gate mk_bool_app by existence of regex
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-22 10:09:16 -07:00
Nikolaj Bjorner 82fb7573d7 more rewrites for emptiness
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-22 09:56:21 -07:00
Margus Veanes 5d6be3f17f
adding regex simplification rewriter (#4440) 2020-05-22 09:55:29 -07:00
Nikolaj Bjorner 18bb90f93d fix #4426
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-21 21:27:26 -07:00
Nikolaj Bjorner 9da0b61d30 na 2020-05-21 21:04:48 -07:00
Nikolaj Bjorner 131dfc2101 na 2020-05-21 21:04:48 -07:00
Nikolaj Bjorner ce1fd26b19 #4424 2020-05-21 21:04:48 -07:00
Nikolaj Bjorner 698d300511 na 2020-05-21 21:04:48 -07:00
Nikolaj Bjorner 5307797c32 #4424 2020-05-21 21:04:48 -07:00
Nikolaj Bjorner 4c9517260c #4427 2020-05-21 21:04:48 -07:00
Hari Govind V K ed92b8437c
fix #4054 (#4277)
* flag when quantified lemmas are added to smt_context

* When solver returns unknown but cannot create child, return unknown

* handle unknowns when qlemmas and weak_abs are turned on
2020-05-21 09:58:09 -07:00
Lev Nachmanson bfd2407e0f
Debug (#4415)
* fix it explanation.h

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* fix explanation.h

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* add options to run bound propagation on monomials etc.

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-21 09:55:01 -07:00
Nikolaj Bjorner 1729232254 fix #4414 2020-05-20 14:28:41 -07:00
Nikolaj Bjorner f2d3160181 try different field order for Mac build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-20 01:06:56 -07:00
Nikolaj Bjorner 1dcbde4ecb fix #4401
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-19 19:55:39 -07:00
Nikolaj Bjorner 6381cfdc05 remove old functionality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-19 16:34:21 -07:00
Nikolaj Bjorner 209f6a9e2e regression free behavior
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-19 16:21:19 -07:00
Nikolaj Bjorner 287bccde30 disable new incomplete functionality for master
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-19 15:56:57 -07:00
Nikolaj Bjorner 1ce63363ba fix #4400
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-19 15:56:08 -07:00
Nikolaj Bjorner 7756e2c6d5
in progress (#4386)
* initial work on replacing str in regex check

* finish rewriter for empty string in regex

* remove unnecessary argument in mk_regexp_contains_emptystr; initial template for eval_regexp_derivative

* progress on string in regexp general check using derivatives

* added recursive nullable and derivative funcitons, partially working

* remove tests from z3test

* fix rewriting infinite loop and some failing simplify checks

* several fixes addressing comments for z3 main branch PR #4386

* redo derivative to return an expr_ref, and null on failure

Co-authored-by: calebstanford-msr <t-casta@microsoft.com>
2020-05-19 15:55:19 -07:00
Nikolaj Bjorner fca44ff3f2 fix #4394
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-19 13:40:03 -07:00
Nikolaj Bjorner 72d129eb75 #4396
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-19 13:13:09 -07:00
Lev Nachmanson af2f74c05f
smarter explanation.h (#4385)
* smarter explanation.h

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* clean explanation API

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* suppress warnings

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* disable the warnings

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-19 12:38:44 -07:00
Alexey Vishnyakov 3b0c40044f
SINGLE_THREAD: do not use pthread if possible (#4382) 2020-05-19 09:45:41 -07:00
Nikolaj Bjorner 5fe0eeda63 disable regressions in ST mode
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-19 09:37:06 -07:00
Nuno Lopes 232f1b5fbe fix a gcc 10 warning 2020-05-19 14:44:14 +01:00
Nikolaj Bjorner 0f8f886389 use single return pattern
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 20:27:50 -07:00
Nikolaj Bjorner bc03ffb800 typing error
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 20:19:33 -07:00
Nikolaj Bjorner 7f22eb594e don't pretend to handle new operators #4387
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 20:04:43 -07:00
Nikolaj Bjorner e525543bd0 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 19:47:13 -07:00
Nikolaj Bjorner d26ef08c69 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 19:41:37 -07:00
Nikolaj Bjorner ff34d84b35 ranges are never nullable
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 19:41:04 -07:00
Nikolaj Bjorner 6e55880601 constant folding
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 19:38:21 -07:00
Nikolaj Bjorner 5bbf05c93c kleene
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 19:35:31 -07:00
Nikolaj Bjorner 55225824ee remove std::mutex, replace by util/mutex.h in api_solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 19:15:11 -07:00
Nikolaj Bjorner 10edee48f3 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 19:11:59 -07:00
Nikolaj Bjorner 9d6c870e97 remove case with hi = 0
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 19:11:35 -07:00
Nikolaj Bjorner f8d328b1fb add nullable, get-head-tail with Caleb
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 19:10:00 -07:00
Nikolaj Bjorner c40c4313a4 parens
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 18:07:40 -07:00
Nikolaj Bjorner 5844964d95 rename temporary macro
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 17:17:51 -07:00
Nikolaj Bjorner 8e8e9be25f st
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 16:49:43 -07:00
Nikolaj Bjorner c2a59a89af thanks to https://github.com/Z3Prover/z3/pull/4382#issuecomment-630468832_
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 15:32:23 -07:00
Nikolaj Bjorner 801eb47fae remove thread dependency in symbol.cpp on single thread #4382
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 15:16:08 -07:00
Nikolaj Bjorner ff10afd226 remove thread dependency in symbol.cpp on single thread #4382
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 15:11:24 -07:00
Nikolaj Bjorner f538ee3fe2 another module level ifdef for #4382
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 15:07:39 -07:00
Nikolaj Bjorner fd57faee7c another module level ifdef for #4382
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 15:03:58 -07:00
Nikolaj Bjorner c8c02060ee another module level ifdef for #4382
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 15:01:27 -07:00
Nikolaj Bjorner d603bd7e3b disable selected functionality in SINGLE_THREAD mode
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 14:47:33 -07:00
Nikolaj Bjorner 1072bf1536 deal with unsigned / bignum #4361
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 14:42:06 -07:00
Nikolaj Bjorner 78a4717c06 fix #4359 and regression to #3270 2020-05-18 12:41:42 -07:00
Murphy Berzish 1c760b04cf
re.range with non-unit arguments is the empty language (#4360) 2020-05-17 19:08:50 -07:00
Murphy Berzish 152d6338f8
fix hex digit radix in unicode escape (#4356) 2020-05-17 19:07:51 -07:00
Nikolaj Bjorner 1def58bc9f optional unicode mode
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-17 19:06:34 -07:00
Nikolaj Bjorner 30f17b1509 fix #4355
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-17 12:28:30 -07:00
Nikolaj Bjorner 951c769fc9 fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-17 12:20:33 -07:00
Nikolaj Bjorner 1bfc12d6e6 initial stab at independent unicode module
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-17 11:42:39 -07:00
Nikolaj Bjorner fc8dfe3e40 seq
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-17 05:35:32 -07:00
Nikolaj Bjorner 34cc60410f additional str/re operators, remove encoding option from zstring
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-17 05:08:36 -07:00
Nikolaj Bjorner b2bfb1faea fix nla_monotone lemmas again
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-16 17:26:54 -07:00
Murphy Berzish 3147be66fe
z3str3: fix up regex heuristics (#4342)
fixes #4308, partially fixes #4309
2020-05-16 17:17:32 -07:00
Nikolaj Bjorner bfb38451d1 add unicode encoding back 2020-05-16 17:11:47 -07:00
Nikolaj Bjorner cd64967706 fix #4317 2020-05-16 17:11:47 -07:00
Lev Nachmanson aaf05f18ab fix a bug in an simplifying interval expressions with terms
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-16 15:19:32 -07:00
Nikolaj Bjorner 363690791a update TBD
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-16 14:34:39 -07:00
Murphy Berzish 6f0a367357
add SMTLIB2.6 names for QF_SLIA and string-int conversion operators (#4341) 2020-05-16 14:31:47 -07:00
Nikolaj Bjorner 21c4d451d8 parse RegLan
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-16 14:26:53 -07:00
Nikolaj Bjorner 4753d93bb7 add some of the SMTLIB2.6 conventions and features to strings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-16 14:00:02 -07:00
Nikolaj Bjorner 1ab2ad07be outline of unicode parsing #4333
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-16 13:36:43 -07:00
Nikolaj Bjorner 937afbf95b draft rewrite 2020-05-16 12:43:26 -07:00
Nikolaj Bjorner 843b6cf149 fix #4336 - check return values of eval, they can be null due to cancelation 2020-05-16 12:43:26 -07:00
Nikolaj Bjorner a3f56f0d95 revert 'fix'
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-16 12:43:26 -07:00
Nikolaj Bjorner 2822922d36 fix regression with mainintaing signs for monotonicity lemmas
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-16 11:17:40 -07:00
Nikolaj Bjorner d352c61e01 fix regression with mainintaing signs for monotonicity lemmas
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-16 11:17:39 -07:00
Lev Nachmanson cd833e892f avoid iterations on std::unordered_set
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-16 08:55:15 -07:00
Murphy Berzish ce07138008
Merge pull request #4325 from mtrberzi/issue4322
ignore true/false/null literals during theory case split propagation
2020-05-15 20:42:33 -05:00
Murphy Berzish fcbcad6c10
Merge pull request #4320 from mtrberzi/mc-rational
z3str3: use rational in place of unsigned during model construction
2020-05-15 20:42:19 -05:00
Murphy Berzish ba40b36176
Merge pull request #4319 from mtrberzi/disable-get-grounded-concats
Z3str3: disable compute_contains() and get_grounded_concats() checks
2020-05-15 20:42:07 -05:00
Murphy Berzish 8b4929ccda
Merge pull request #4313 from mtrberzi/issue2111
Z3str3: address crashes and timeouts related to int.to.str
2020-05-15 20:41:51 -05:00
Nikolaj Bjorner ccda9d56d7 fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-15 15:57:38 -07:00
Nikolaj Bjorner 90f5595067 fix order lemma bug see 30ce6f20f2
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-15 15:38:55 -07:00
Nikolaj Bjorner 31a96b3afa review of monotonicity lemma
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-15 15:16:46 -07:00
Lev Nachmanson 30ce6f20f2 move nla stats to nla_core
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-15 13:03:18 -07:00
Lev Nachmanson 01279582ff move nla stats to nla_core
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-15 12:58:34 -07:00
Lev Nachmanson 82fd2a062d make calling nra from nla optional
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-15 12:16:40 -07:00
Lev Nachmanson 08940cff8f comment out the call to nra_solver
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-15 11:26:40 -07:00
Nikolaj Bjorner 9c9fe712ad disable nra in master
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-15 10:36:53 -07:00
Nikolaj Bjorner 7e4b232ac4 fix comment
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-15 10:36:21 -07:00
Lev Nachmanson 6a4062809d
Nra add term (#4331)
* n

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* do not create assumptions

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* disable nra_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-15 10:35:42 -07:00
Nikolaj Bjorner 0c91109577 order lemmas on also rationals 2020-05-15 10:12:06 -07:00
Nikolaj Bjorner 146fd77e0f pretty print 2020-05-15 10:12:06 -07:00
Nikolaj Bjorner c4204d3365 fix #4330 2020-05-15 10:12:06 -07:00
Nikolaj Bjorner b43ed70874 extend monomial bounds to handle powers
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-14 19:13:17 -07:00
Murphy Berzish ae18150d87 ignore true/false/null literals during theory case split propagation 2020-05-14 12:51:20 -04:00
Nikolaj Bjorner 73fa5995d4 fix #4316
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-13 19:35:17 -07:00
Nikolaj Bjorner 4e51633e6f adding monomial bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-13 18:45:47 -07:00
Lev Nachmanson bdecbe4ed7 remove a duplicate method
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-13 15:38:20 -07:00
Nikolaj Bjorner fff1426556 remove unreferenced label
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-13 13:54:47 -07:00
Lev Nachmanson 6b28973799
nla review (#4321)
* simplify the nla_solver interface

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* more simplifications

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* init m_use_nra_model

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* work on NSB comments

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* work on NSB comments

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-13 13:52:42 -07:00
Nikolaj Bjorner 16aec328f1 add comments, fix mixup between lower/upper
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-13 13:42:50 -07:00
Nikolaj Bjorner 33042268b5 bounds propagation functionality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-13 13:36:22 -07:00
Murphy Berzish 5e7806c4a4 z3str3: use rational in place of unsigned during model construction 2020-05-13 14:32:44 -04:00