3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-18 14:49:01 +00:00
Commit graph

12000 commits

Author SHA1 Message Date
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
Nikolaj Bjorner bda29ca26a outline for monomial bound propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-13 10:37:46 -07:00
Murphy Berzish 3c606ea9b2 z3str3: disable compute_contains() and get_grounded_concats() checks 2020-05-13 11:53:26 -04:00
Nikolaj Bjorner 127ef59ce4 push explanation to where it is used
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-12 19:55:07 -07:00
Nikolaj Bjorner 8b546867f0 move lemma creation into nra_solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-12 19:47:29 -07:00
ahumenberger d706d43712
Update README with infos about Julia bindings (#4298)
* Update README for Julia bindings

* Fix links in readme

* Add hash of z3_jll

* Fix typo
2020-05-12 19:34:47 -07:00
Lev Nachmanson b2dc21b107
simplify the nla_solver interface (#4312)
* 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>

Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-12 19:34:03 -07:00
Murphy Berzish 51beeec92f z3str3: heuristics for predicates over int-to-string terms 2020-05-12 21:35:24 -04:00
Nikolaj Bjorner 7a6c66a085 add stubs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-12 17:38:16 -07:00
Nikolaj Bjorner be1a1dd7c2 add stubs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-12 17:36:46 -07:00
Murphy Berzish 22d0dd863b z3str3: properly handle the case when an int.to.str term isn't fully assigned by string/arith theories 2020-05-12 19:36:04 -04:00
Nikolaj Bjorner 32055a31db pass resource limits by reference
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-12 10:49:16 -07:00
Nikolaj Bjorner bea0d45e6a disable new nlsat connection from master until debugged
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-12 09:38:17 -07:00
Lev Nachmanson a14c2a3051 enable nlsat solver call from nla
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-11 19:12:02 -07:00
Lev Nachmanson 6b433b54e2 disable the call to nlsat from nla_solver
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-11 19:12:02 -07:00
Lev Nachmanson 3e4a4c6df2 rebase with master branch
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-11 19:12:02 -07:00
Lev Nachmanson 4b68d98b2a work on nra to nla
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-11 19:12:02 -07:00
Lev Nachmanson 8c92cf1b32 restore the tactics with nlsat
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-11 19:12:02 -07:00
Lev Nachmanson 279d55a2c7 nra to nla
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-11 19:12:02 -07:00
Lev Nachmanson e32a6714a5 call nlsat
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-11 19:12:02 -07:00
Lev Nachmanson 151397a067 nra to nla
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-11 19:12:02 -07:00
Lev Nachmanson dae67987b5 add nla_lemma.h
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-11 19:12:02 -07:00
Lev Nachmanson 7a79397769 nra to nla
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-11 19:12:02 -07:00
Murphy Berzish bd0180925b
z3str3: don't crash when finding initial bounds for a regex that has no solutions (#4276) 2020-05-11 17:41:55 -07:00
pjneary e254e890a1
Fix compile error GCC 6.3.1 (#4274)
auto deduce compile error
2020-05-11 17:41:34 -07:00
Nikolaj Bjorner 1be22a80f6 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-11 17:20:18 -07:00
Nikolaj Bjorner 884a68251b fix #4266
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-11 16:53:59 -07:00
Nikolaj Bjorner 754bafc95e fix #4267
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-11 13:54:52 -07:00
Nikolaj Bjorner 16478b415b disable order and tangent lemmas on reals
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-11 13:46:25 -07:00
Nikolaj Bjorner 81b3c440ce fix mixup between constraint indices and lpvar explanations fixes various newly reported unsoundness bugs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-11 13:07:28 -07:00
Nikolaj Bjorner 9c972521c4 priority code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-10 21:09:14 -07:00
Nikolaj Bjorner 99043399ce na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-10 20:28:35 -07:00
Nikolaj Bjorner 179c9c2da2 consolidate methods that add lemma specific information to under "new_lemma" 2020-05-10 18:31:57 -07:00
Nikolaj Bjorner caee936af5 build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-10 13:42:19 -07:00
Nikolaj Bjorner e74faf42ad code review 2020-05-10 12:58:05 -07:00
Nikolaj Bjorner 1ecc6a21fa na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-10 11:21:15 -07:00
Nikolaj Bjorner d774ba9da1 fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-10 09:57:24 -07:00
Nuno Lopes 6c72f39142 fix build 2020-05-10 10:35:46 +01:00
Nikolaj Bjorner 0a6908cd15 abbreviate
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-09 21:54:58 -07:00
Nikolaj Bjorner 086331a24b null
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-09 21:27:45 -07:00
Nikolaj Bjorner 30de76b529 add occurs check to other nla_basic lemmas
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-09 20:50:27 -07:00
Nikolaj Bjorner 4890c3ce31 fix #4230
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-09 18:49:00 -07:00
Nikolaj Bjorner f044071f5e fix #4260
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-09 18:13:12 -07:00
Nikolaj Bjorner fdc87f286f
na (#4254)
* remove level of indirection for context and ast_manager in smt_theory

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* add request by #4252

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* move to def

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* int

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix #4251

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix #4255

* fix #4257

* add code to debug #4246

* restore new solver as default

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix #4246

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-09 17:40:02 -07:00
Nikolaj Bjorner becf423c77
remove level of indirection for context and ast_manager in smt_theory (#4253)
* remove level of indirection for context and ast_manager in smt_theory

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* add request by #4252

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* move to def

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* int

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-08 16:46:03 -07:00
Nikolaj Bjorner cceae2e3f0 old solver as default
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-07 17:27:22 -07:00
Nikolaj Bjorner 2e714fca7c expose uninterpreted op versions for ad-hoc parsing 2020-05-07 13:53:10 -07:00
Nikolaj Bjorner e459cf4cc1 na 2020-05-07 11:04:24 -07:00
Nikolaj Bjorner 54f38d004b fix #4235 2020-05-07 10:50:56 -07:00
Nikolaj Bjorner 6a61e8dd5b fix #4234 2020-05-07 10:47:46 -07:00
Nikolaj Bjorner da9b037f2a fix #4233 2020-05-07 10:40:41 -07:00
Nikolaj Bjorner fc6bdb9708 fix #4232 2020-05-07 10:36:53 -07:00
Nikolaj Bjorner aa3749f678 fix #4231 2020-05-07 10:34:38 -07:00
Nikolaj Bjorner eda2eb5124 fix #4245 2020-05-07 10:24:03 -07:00
Nikolaj Bjorner 0acaf1ca0f fix #4218 2020-05-07 08:43:56 -07:00
Murphy Berzish 1f15033ca2
z3str3: remove legacy code (#4215)
* z3str3: remove legacy fixed-length overlap testing

parameter smt.str.fixed_length_overlap_models has been deprecated

* z3str3: remove legacy length/value testing algorithm and binary search heuristic

the following parameters are deprecated:
smt.str.use_binary_search
smt.str.binary_search_start
smt.str.fixed_length_models (the fixed-length model construction is now always used)

* z3str3: remove legacy regex unroll methods

* z3str3: remove unused methods and member variables
2020-05-06 13:07:04 -07:00
Nikolaj Bjorner 691759c9e2 fix #4227 2020-05-06 12:56:46 -07:00
Nikolaj Bjorner 603b5552fa port progation from cons branch 2020-05-06 12:21:01 -07:00
Nikolaj Bjorner 2d08baf3d5 fix #4219 2020-05-06 12:20:40 -07:00
Nikolaj Bjorner 1a642b4311 na 2020-05-06 10:36:03 -07:00
Nikolaj Bjorner 93004a9d49 fix #4225 2020-05-06 10:35:16 -07:00
Nikolaj Bjorner bbaedbcccc fix #4224 2020-05-06 10:34:59 -07:00
Nikolaj Bjorner 6f6c8d76eb fix #4216
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-06 09:45:38 -07:00
Lev Nachmanson f2449df06e introduce ul_pair associated_with_row
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-05 15:59:09 -07:00
Nikolaj Bjorner d20259b57a remove stdout
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-05 14:42:50 -07:00
Nikolaj Bjorner 82236d44c6 some simplifications in theory_bv 2020-05-05 12:27:15 -07:00
Nikolaj Bjorner 911d23af1a fix #4210 2020-05-05 12:26:21 -07:00
Nikolaj Bjorner 7b1aee48dd fix #4203
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-05 10:40:09 -07:00
Nikolaj Bjorner 2104624dfa updated release notes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-05 10:33:25 -07:00
Nikolaj Bjorner 3985943eec na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-05 09:51:33 -07:00
Lev Nachmanson a34c5a9450 bail out on big rational numbers in nla monotone lemmas
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-04 14:21:48 -07:00