3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-18 22:59:02 +00:00
Commit graph

4678 commits

Author SHA1 Message Date
Murphy Berzish 7d09dbb8ec basic infrastructure for string rewriting 2016-06-12 20:46:52 -04:00
Murphy Berzish 18cd47dcd0 add flag for bailing out during a final check infinite loop in theory_str
also adds more debugging to free variable gen
2016-06-12 20:14:57 -04:00
Murphy Berzish 08328c5614 add option in theory_str to assert string constant lengths more eagerly
now passes z3str/concat-025
2016-06-12 17:16:14 -04:00
Murphy Berzish fd968783a5 fix model generation for theory_str 2016-06-09 20:35:26 -04:00
Murphy Berzish 1520760a04 string-integer integration in free var gen 2016-06-09 20:31:21 -04:00
Murphy Berzish 91d82956b2 string concat-eq type 3 integer integration 2016-06-09 16:25:19 -04:00
Murphy Berzish 6f5ee2c3ce string concat-eq type 2 integer integration 2016-06-09 16:04:13 -04:00
Murphy Berzish ae74b47924 string concat-eq type 1 integer integration 2016-06-09 15:41:31 -04:00
Murphy Berzish 6332372573 more debugging info in theory_str final check; fix variable classification bug 2016-06-08 20:01:56 -04:00
Murphy Berzish bd2b014008 debugging information for dependence analysis 2016-06-08 19:32:25 -04:00
Murphy Berzish 04fe8f66df concat-eq-concat type 1 split 0 2016-06-08 16:22:31 -04:00
Murphy Berzish 513b4922ee tracing code for string-integer integration 2016-06-07 17:40:59 -04:00
Murphy Berzish 62aeff90c5 fix string theory setup so that string-integer integration actually works 2016-06-07 17:38:57 -04:00
Murphy Berzish e0df5bc2ed fixups for string-integer 2016-06-04 16:29:10 -04:00
Murphy Berzish 33205cea71 completely bypass theory_seq; sorry! I'll put it back when I'm done 2016-06-01 17:57:00 -04:00
Murphy Berzish b5fe473c3a fix compilation errors after merge 2016-06-01 17:50:45 -04:00
Murphy Berzish d79837eed0 Merge branch 'develop' into upstream-master
Conflicts:
	.gitignore
	README
	src/ast/ast_smt2_pp.h
	src/ast/ast_smt_pp.cpp
	src/ast/reg_decl_plugins.cpp
	src/cmd_context/cmd_context.cpp
	src/parsers/smt2/smt2parser.cpp
2016-06-01 17:40:52 -04:00
Murphy Berzish bc79a73779 lower/upper bound WIP 2016-06-01 17:23:47 -04:00
Murphy Berzish f8f7014a18 use LRA instead of LIA in strings setup, so that the theory_seq integer value code works 2016-06-01 16:34:48 -04:00
Christoph M. Wintersteiger ade2dbe15a Cache cleanup fix for bv_simplifier_plugin.
Fixes #615
2016-05-31 16:47:14 +01:00
Christoph M. Wintersteiger 47e75827ee theory_fpa refactoring 2016-05-31 16:22:48 +01:00
Christoph M. Wintersteiger 302c491535 theory_fpa refactoring 2016-05-31 16:22:24 +01:00
Christoph M. Wintersteiger 03f6b465b9 comment typos 2016-05-31 16:14:50 +01:00
Nikolaj Bjorner 39acd3594a test variants for seq_solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-30 18:15:10 -07:00
Nikolaj Bjorner f03032bd09 updated seq solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-29 14:01:05 -07:00
Nikolaj Bjorner cddf8091b5 strengthen support for int.to.str and length reasoning. Issue #589
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-28 12:36:50 -07:00
Nikolaj Bjorner c3f498a640 strengthen support for int.to.str and length reasoning. Issue #589
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-28 12:26:47 -07:00
Nikolaj Bjorner 8c99d3c431 tidy unbound compressor code, add invariant checks
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-28 11:05:26 -07:00
Nikolaj Bjorner 3aea63edb1 check for cancellation before internalizing and during to avoid errors. Issue #625
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-27 17:27:37 -07:00
Nikolaj Bjorner 236f1c2a3e bypass stale rules as part of unbounded compression. Issue #624
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-27 10:31:28 -07:00
Nikolaj Bjorner 18a9b89e30 bypass stale rules as part of unbounded compression. Issue #624
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-27 09:38:23 -07:00
Nikolaj Bjorner 50d334e4e9 fix non-determinism bug in simple joins. Keys were normalized based on pointer equality not object identifier equality. Also some ptr hashtables were used with pointer hashes, and then traversed. reported in issue #619
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-27 07:51:02 -07:00
Nikolaj Bjorner cfffb0b3c5 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-05-27 07:49:45 -07:00
Nikolaj Bjorner 84ff6fd62a fix non-determinism bug in simple joins. Keys were normalized based on pointer equality not object identifier equality. Also some ptr hashtables were used with pointer hashes, and then traversed
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-27 07:49:38 -07:00
Christoph M. Wintersteiger 18340b0e95 fix for pb2bv_model_converter 2016-05-26 18:42:57 +01:00
Christoph M. Wintersteiger 1fe4a82c76 Added implementation of pb2bv_model_converter::translate
Fixes #623
2016-05-26 18:39:51 +01:00
Christoph M. Wintersteiger ec270acd32 Removed hwf.mul/hwf.div test code. 2016-05-26 15:11:21 +01:00
Christoph M. Wintersteiger 9752888704 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-05-26 15:06:02 +01:00
Christoph M. Wintersteiger e28929c72c Removed hwf.rem test code. 2016-05-26 15:05:55 +01:00
Nikolaj Bjorner cdf3c2571c Merge pull request #622 from dstaple/master
Export default tactic for use via the SMT-LIB 2 interface.
2016-05-26 06:47:27 -07:00
Christoph M. Wintersteiger 4b00ea69db refcount fix for theory_fpa 2016-05-26 14:01:06 +01:00
Douglas B. Staple 725b1c56e5 Export default tactic for use via the SMT-LIB 2 interface. 2016-05-26 09:55:08 -03:00
Christoph M. Wintersteiger 15d871cfe0 Bug and style fix for fpa2bv converter. 2016-05-26 13:39:54 +01:00
Nikolaj Bjorner b8716b3339 avoid use-before-def crashes fp-operations.smt2
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-25 14:32:39 -07:00
Nikolaj Bjorner dfbbea31b7 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-05-25 14:23:17 -07:00
Nikolaj Bjorner a07381ac19 fix regression in evaluator exposed by build failure on fp-array-6.smt2
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-25 14:23:07 -07:00
Christoph M. Wintersteiger 04a68bbb0a Eliminated a number of potential memory leaks in fpa2bv code.
Relates to #615
2016-05-25 18:50:57 +01:00
Christoph M. Wintersteiger f1c915bcf1 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-05-25 18:21:14 +01:00
Christoph M. Wintersteiger ce69072305 Made nra tactic public. 2016-05-25 18:21:04 +01:00
Nikolaj Bjorner cd441c318e add compare utility to compress common cases
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-25 09:03:24 -07:00
Nikolaj Bjorner af3cc7e578 tune array evaluation, still disabled
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-25 08:57:59 -07:00
Christoph M. Wintersteiger c4610e0423 renamed variable to avoid clashes 2016-05-24 14:37:43 +01:00
Christoph M. Wintersteiger 9717161bb8 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-05-24 10:58:23 +01:00
Nikolaj Bjorner c20b391cf7 reduce warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-23 14:32:51 -07:00
Christoph M. Wintersteiger 617e941015 fp2bv refactoring 2016-05-23 18:10:17 +01:00
Christoph M. Wintersteiger 8370bb8986 removed unused variable 2016-05-23 16:31:57 +01:00
Christoph M. Wintersteiger bf3a5effbc Fixed and refactored fp.min/fp.max for theory_fpa.
Fixes #616
2016-05-23 15:38:25 +01:00
Christoph M. Wintersteiger 184aebab59 variable naming 2016-05-23 15:08:27 +01:00
Nikolaj Bjorner cb6d008da8 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-05-22 17:03:37 -07:00
Nikolaj Bjorner c725fe7698 tune lra optimization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-22 17:03:29 -07:00
Christoph M. Wintersteiger 218e47f34b Removed unused variable 2016-05-22 18:21:28 +01:00
Christoph M. Wintersteiger d4bc8ebb70 FP to BV translation of UFs refactored. 2016-05-22 18:16:57 +01:00
Christoph M. Wintersteiger 8db17311ae fpa2bv build fixes 2016-05-22 13:13:32 +01:00
Christoph M. Wintersteiger fe3f8466b6 Partial support for fpa2bv translation in complex types. 2016-05-21 18:08:48 +01:00
Christoph M. Wintersteiger b6d90a64da fpa rewriter tidy up 2016-05-21 18:07:37 +01:00
Christoph M. Wintersteiger 8001b1f0c7 typo 2016-05-21 17:43:17 +01:00
Christoph M. Wintersteiger c77941ce54 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-05-21 12:19:09 +01:00
Christoph M. Wintersteiger 9a10d2dcee bugfix for fpa2bv model converter 2016-05-21 12:19:03 +01:00
Nikolaj Bjorner 927d714d7b Merge branch 'master' of https://github.com/Z3Prover/z3 2016-05-20 13:46:00 -07:00
Nikolaj Bjorner 339cd6e537 mbo
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-20 13:45:50 -07:00
Murphy Berzish ecb069b701 non-fixes to string length code, plus the get_length() code from new Z3 2016-05-20 16:34:11 -04:00
Christoph M. Wintersteiger 2bbca192e3 member init order 2016-05-20 20:16:45 +01:00
Christoph M. Wintersteiger 4ed2b8a0f9 Bugfix for unspecified FP model values. 2016-05-20 20:15:08 +01:00
Christoph M. Wintersteiger cae53c3ec2 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-05-20 19:55:01 +01:00
Christoph M. Wintersteiger 1cc8146aba Bugfixes for FP UFs and arrays. 2016-05-20 19:53:57 +01:00
Christoph M. Wintersteiger 80731ef364 Exposed OP_FPA_MIN/MAX_I to the API 2016-05-20 19:40:45 +01:00
Murphy Berzish 2522e35c5e start work on string-integer integration 2016-05-20 10:22:19 -04:00
Murphy Berzish 2f494a9611 fix null parent bug by making a copy of n_eq_enode->m_parents in simplify_parent 2016-05-19 16:57:01 -04:00
Murphy Berzish c8522c5b78 cleanup before attempting to fix the null enode parent bug 2016-05-19 16:51:43 -04:00
Nikolaj Bjorner d12efb6097 remove min/max, use qmax; disable cancellation during model evaluation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-19 13:10:43 -07:00
Nikolaj Bjorner 1aa3fdab8a remove min/max, use qmax; disable cancellation during model evaluation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-19 13:04:20 -07:00
Nikolaj Bjorner d2622da747 fix unused-but-set-variable warnings reported in #579
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-18 11:03:31 -07:00
Nikolaj Bjorner 3a6e6df4f5 fix unused-but-set-variable warnings reported in #579
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-18 11:02:10 -07:00
Nikolaj Bjorner 9aaee8616a Merge branch 'master' of https://github.com/Z3Prover/z3 2016-05-18 09:58:50 -07:00
Nikolaj Bjorner 85be486c1e add ite reduction to canonizer, remove it from ad-hoc routine
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-18 09:58:34 -07:00
Nikolaj Bjorner 5e7db2e3e2 disable mk_array_eq as it breaks model evaluation/validation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-18 08:29:24 -07:00
Christoph M. Wintersteiger 71a03dbeb3 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-05-18 09:58:11 +01:00
Nikolaj Bjorner cc3bfe8da2 removing warnings for unused variables, #579
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-17 16:02:08 -07:00
Nikolaj Bjorner 09b8c0e7fa removing warnings for unused variables, #579
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-17 15:59:06 -07:00
Nikolaj Bjorner 40f8e16273 removing warnings for unused variables, #579
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-17 14:00:30 -07:00
Nikolaj Bjorner 96e157e201 fix warnings for unused variables
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-17 13:54:22 -07:00
Murphy Berzish 866d97f768 fix eval_concat copy-and-paste error in simplify_parent; concat-eq-concat-case3_sat now passing 2016-05-17 16:45:53 -04:00
Murphy Berzish 2f80a9d4ae add more_len_tests, more_value_tests 2016-05-17 16:31:08 -04:00
Murphy Berzish 9fc1410495 remove incorrect not-null assertions for model gen 2016-05-17 14:53:17 -04:00
Christoph M. Wintersteiger df81ab72f5 Bug and performance fixes for FP UFs. 2016-05-17 16:35:45 +01:00
Nikolaj Bjorner ec565ae7a0 fixes to #596 and #592: use exponential step increments on integer problems, align int.to.str with canonizer and disequality checker
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-17 01:00:42 -07:00
Nikolaj Bjorner 5250c3b9ed ensure reference ownership on frame elements to avoid crashes due to nnf. Issue #588
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-16 09:37:15 -07:00
Nikolaj Bjorner 6f5785338a add line/pos information for pattern warnings. Issue #607
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-16 08:59:58 -07:00
Nikolaj Bjorner 69ccc02931 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-05-16 08:35:12 -07:00
Nikolaj Bjorner f1b63691d8 Fixing issue #605 rlimit responsiveness in mam
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-16 08:35:04 -07:00
Christoph M. Wintersteiger 89598e0141 Merge pull request #608 from wintersteiger/fprti-rna-fix
Fix for #586, RNA rounding for fp.roundToIntegral.
2016-05-16 16:21:35 +01:00
Christoph M. Wintersteiger 85366f247f Merge branch 'master' of https://github.com/Z3Prover/z3 2016-05-16 16:17:18 +01:00
Christoph M. Wintersteiger 99f5269b78 debug output fix 2016-05-16 16:15:44 +01:00
Nikolaj Bjorner 121f79b198 Merge pull request #603 from manueljacob/master
Expose Z3_mk_bv2int's is_signed parameter in Python API.
2016-05-16 07:56:37 -07:00
Nikolaj Bjorner a8fca8f77e remove unused private fields
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-15 20:28:46 -07:00
Nikolaj Bjorner cd937c07f3 return proper ast-option from get_const_interp function insetad of raising exceptions from inside the C API. Fixes discrepancy with documentation and behavior across extensions of the API. Issue #587
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-15 13:29:38 -07:00
Nikolaj Bjorner e5ca676251 initialize manager to avoid unrelated error message, issue #604
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-15 12:59:42 -07:00
Nikolaj Bjorner 7fb30c38ae disallow illegal use per #604
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-15 12:49:07 -07:00
Nikolaj Bjorner 10cdd527ca strengthening length properties for int.to.str. Issue #589
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-15 12:27:04 -07:00
Nikolaj Bjorner 99314b7252 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-05-15 11:34:55 -07:00
Nikolaj Bjorner 42726171b5 add limit checks in Grobner. Issue #599
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-15 11:34:48 -07:00
Christoph M. Wintersteiger 44b0a6ddbc Tentative fix for #586. 2016-05-14 18:42:10 +01:00
Christoph M. Wintersteiger bb2c5972c7 Bugfixes for UFs in theory_fpa.
Fixes #591, but performance issues remain.
2016-05-14 18:21:53 +01:00
Christoph M. Wintersteiger c87ffbc3a5 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-05-14 14:29:21 +01:00
Christoph M. Wintersteiger 3fde81aea6 Style 2016-05-14 14:29:13 +01:00
Manuel Jacob 7e3dfb4617 Expose Z3_mk_bv2int's is_signed parameter in Python API. 2016-05-13 23:17:05 +02:00
Christoph M. Wintersteiger b0bd848a27 Merge pull request #597 from nunoplopes/master
change Z3_get_decl_kind API to correctly identify OP_B*_I and OP_B*_NO_OVFL instead of returning Z3_OP_UNINTERPRETED
2016-05-12 18:36:14 +01:00
Christoph M. Wintersteiger 0ddf2d92fe removed unused variables 2016-05-12 15:20:50 +01:00
Christoph M. Wintersteiger 12a8d0d02b mpf debug cleanup 2016-05-12 15:12:46 +01:00
Christoph M. Wintersteiger dd83495d5d New implementation of mpf_manager::rem.
Partially addresses #561
2016-05-12 14:15:24 +01:00
Christoph M. Wintersteiger ed1861d90d Merge branch 'master' of https://github.com/Z3Prover/z3 into new-mpf-rem 2016-05-12 13:30:16 +01:00
Arie Gurfinkel d1f8b06ec4 bug fix in model_evaluator for array equality 2016-05-11 22:44:11 -04:00
Nuno Lopes d30ba3f1ad change Z3_get_decl_kind API to correctly identify OP_B*_I and OP_B*_NO_OVFL instead of returning Z3_OP_UNINTERPRETED 2016-05-11 14:30:37 +01:00
Christoph M. Wintersteiger 5a53fad41b Merge branch 'master' of https://github.com/Z3Prover/z3 into new-mpf-rem 2016-05-11 13:03:29 +01:00
Murphy Berzish f9e1ed4496 add simplify_parent() 2016-05-09 18:12:21 -04:00
Nikolaj Bjorner c35e1c9852 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-05-09 07:54:07 -07:00
Christoph M. Wintersteiger f8795f3522 Added term ITEs to bvarray2uf rewriter. 2016-05-09 14:16:51 +01:00
Murphy Berzish bcaad06061 add theory name; add debug info for freeVar_map 2016-05-07 17:47:50 -04:00
Murphy Berzish 6dfc2dd910 variables of sort String should now correctly be identified as Very Relevant to the string solver 2016-05-07 17:16:31 -04:00
Murphy Berzish 1d324877cd use theory_seq's internalize_term 2016-05-07 15:40:39 -04:00
Murphy Berzish a2d0299621 call super in push and pop 2016-05-07 14:19:12 -04:00
Christoph M. Wintersteiger 88f92660f0 Added param descrs collection to ackermannize_bv_tactic 2016-05-06 18:29:19 +01:00
Christoph M. Wintersteiger 4d11e57a33 Added param descrs collection to ackermannize_bv_tactic 2016-05-06 18:28:08 +01:00
Nikolaj Bjorner e4367803c1 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-05-05 14:11:27 -07:00
Nikolaj Bjorner 5b31f54501 max/min
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-05 14:11:13 -07:00
Christoph M. Wintersteiger 50910e5b3b Merge branch 'master' of https://github.com/Z3Prover/z3 into new-mpf-rem 2016-05-05 12:24:29 +01:00
Nuno Lopes 0286cee450 simplify th_rewriter::mk_eq_value() 2016-05-05 11:00:21 +01:00
Nikolaj Bjorner 9e4b9ea98b Merge branch 'master' of https://github.com/Z3Prover/z3 2016-05-04 11:17:18 -07:00
Nikolaj Bjorner 044e08a114 adding unit tests for qe_arith/mbo
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-04 11:17:09 -07:00
Christoph M. Wintersteiger 40b9d0871a Merge branch 'master' of https://github.com/Z3Prover/z3 into new-mpf-rem 2016-05-04 16:24:56 +01:00
Nikolaj Bjorner d11d9bd1de avoid crash on quantifiers + sequences
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-03 16:24:12 -07:00
Nikolaj Bjorner 52e367417f Merge branch 'master' of https://github.com/Z3Prover/z3 2016-05-03 11:09:14 -07:00
Nikolaj Bjorner 91af947863 adding checks for #570
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-03 11:09:05 -07:00
Christoph M. Wintersteiger a7c66356ae mpf partial remainder draft 2016-05-03 18:20:18 +01:00
Christoph M. Wintersteiger 107f50d41e Merge branch 'master' of https://github.com/Z3Prover/z3 into new-ml-api 2016-05-03 17:56:52 +01:00
Nikolaj Bjorner 6895cc7cc6 remove apostrophe, issue #582
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-03 07:21:15 -07:00
Nikolaj Bjorner e375be767d remove apostrophe, issue #582
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-03 07:20:20 -07:00
Christoph M. Wintersteiger 140f0bb794 ML API build fix 2016-05-03 13:34:20 +01:00
Christoph M. Wintersteiger 86126e2c01 Merge branch 'master' of https://github.com/Z3Prover/z3 into new-ml-api 2016-05-03 11:52:21 +01:00
Nikolaj Bjorner 67e49b4adc fixing model-based-opt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-01 17:15:20 -07:00
Nikolaj Bjorner 22507281cf fix model generation in opt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-30 12:23:46 -07:00
Nikolaj Bjorner 4b940bde11 fix compilation of unit tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-30 11:46:25 -07:00
Nikolaj Bjorner e29adbf304 fix issues #581: nested timeouts canceled each-other
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-30 11:18:34 -07:00
Nikolaj Bjorner a020b13f10 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-04-29 19:08:29 -07:00
Nikolaj Bjorner 2428bf18f1 add model correction
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-29 19:08:10 -07:00
Nikolaj Bjorner 121386779a Merge pull request #580 from yaqwsx/expr_operators_in_c++
Add srem, urem, shift, ext operators to c++ api
2016-04-29 18:51:14 -07:00
Nikolaj Bjorner c75fd02c95 qsat-opt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-28 21:31:16 -07:00
xlauko ae2821dea1 Add srem, urem, shift, ext operators to c++ api 2016-04-28 21:58:05 +02:00
Nikolaj Bjorner c414c6b5fd Merge branch 'master' of https://github.com/Z3Prover/z3 2016-04-28 09:48:04 -07:00
Nikolaj Bjorner 932ef442ae model based opt dev
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-28 09:47:55 -07:00
Christoph M. Wintersteiger 47ec3b1f87 Build fix for VS2012 2016-04-28 13:17:39 +01:00
Christoph M. Wintersteiger f3c74a06eb debug fix for mpf_manager 2016-04-28 12:54:10 +01:00
Christoph M. Wintersteiger deea4e92f2 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-04-28 12:52:49 +01:00
Christoph M. Wintersteiger cba82325de Build fix for old systems that don't have a float remainder(...) function. 2016-04-28 12:52:36 +01:00
Nikolaj Bjorner 83d84dcedd Merge branch 'master' of https://github.com/Z3Prover/z3 2016-04-27 15:09:12 -07:00
Nikolaj Bjorner 6aa6102891 factor out model-based-opt code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-27 15:08:10 -07:00
Christoph M. Wintersteiger 10cc8c3a75 Build fix for VS2012 and earlier. 2016-04-27 20:15:22 +01:00
Nikolaj Bjorner 68c7d64d00 adding model-based opt facility
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-27 11:18:20 -07:00
Christoph M. Wintersteiger bf49f81622 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-04-27 13:26:23 +01:00
Nikolaj Bjorner a1aa166ef5 adding local optimization to qsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-26 17:15:24 -07:00
Christoph M. Wintersteiger 6455bf8114 New implementation for mpf_manager::rem.
Relates to #561
2016-04-26 21:13:02 +01:00
Nikolaj Bjorner 271b56aa1b Merge branch 'master' of https://github.com/Z3Prover/z3 2016-04-24 09:21:10 -07:00
Nikolaj Bjorner d97bddc3b5 revert to legacy syntax to enable older versions of .NET
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-24 09:21:05 -07:00
Christoph M. Wintersteiger be424d9cbb Bugfixes for fp.roundToIntegral and fp.rem.
Relates to #561
2016-04-24 15:14:16 +01:00
Christoph M. Wintersteiger 952e3afb90 bugfix for hwf_manager::rem 2016-04-24 15:11:24 +01:00
Christoph M. Wintersteiger 3131f29816 whitespace 2016-04-24 15:11:03 +01:00
Nikolaj Bjorner 643a87cb5b overloading support for C# expressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-23 22:03:27 -07:00
Nikolaj Bjorner 662e43d264 overloading support for C# expressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-23 15:50:30 -07:00
Nikolaj Bjorner e4b7ac37f3 add overloading for arithmetical expressions in C# to handle common cases
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-22 13:58:02 -07:00
Nikolaj Bjorner 8ee49d16df Merge branch 'master' of https://github.com/Z3Prover/z3 2016-04-21 10:49:22 -07:00
Nikolaj Bjorner 20a6b41c5c coalescing is-int check for python 2.x, issue #572
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-21 10:49:16 -07:00
Nikolaj Bjorner d0175b96b8 guarding against null symbols creeping in. Issue #571
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-20 14:07:45 -07:00
Nuno Lopes 417c80edbc fix mem leak in quantifier_info::insert_qinfo on timeout 2016-04-19 02:17:12 -07:00
Nikolaj Bjorner b512212d41 update func_interp code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-18 17:31:36 -07:00
Nikolaj Bjorner 3a6218ac21 update func_interp code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-18 17:30:52 -07:00
Nikolaj Bjorner cff843ca59 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-04-18 17:22:54 -07:00
Nikolaj Bjorner 4cb57cd4da fix regression introduced by using ref-vectors on non-ref'ed output parameters
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-18 17:22:47 -07:00
Nikolaj Bjorner c3f4124a9f trace down recent exposed regression in goal2sat, incorporate Scott's suggestion on making vector<std::string inaccessible
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-18 14:50:10 -07:00
Nikolaj Bjorner 81232808ba add handling for int.to.str
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-18 11:17:33 -07:00
Nikolaj Bjorner 4761f4f191 add handling for int.to.str
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-18 11:14:40 -07:00
Christoph M. Wintersteiger 5d0db6d256 Fixed memory leak in goal::update.
Fixes #567
2016-04-18 17:18:16 +01:00
Christoph M. Wintersteiger 6db0a15d29 Fixed potential memory leakage issues in fpa2bv_converfter 2016-04-18 17:17:31 +01:00
Christoph M. Wintersteiger 3ffcea0fe4 whitespace 2016-04-18 16:52:12 +01:00
Martin R. Neuhaeusser 67ac1a003e Avoid conversion between mutable arrays and lists in OCaml API.
This patch eliminates the conversion between OCaml arrays and lists
from Z3's OCaml API.
2016-04-18 17:20:27 +02:00
martin-neuhaeusser 34bf4b1d3c Fix installation of custom error handler during context creation in OCaml bindings
This patch fixes a bug detected by valgrind, where a custom error handler
did not get installed correctly.
2016-04-18 17:20:12 +02:00
Nikolaj Bjorner 0094b36636 fix bounds check to fix segfault reported in issue #565
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-16 12:25:29 -07:00
Nikolaj Bjorner 1c8e0918d8 move to std::vector in replayer
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-16 10:08:29 -07:00
Nikolaj Bjorner d383fd851a move vector<std::string to std::vector<std::string
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-16 09:34:27 -07:00
Nikolaj Bjorner 4ebf392da7 Fixes #564: use std::vector on std::strings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-16 09:26:13 -07:00
Nikolaj Bjorner 0f93853a4c remove labels from evaluation result
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-12 13:17:10 -07:00
Nikolaj Bjorner aa7b5d80fe extract array terms for evaluator
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-12 09:41:50 -07:00
Nikolaj Bjorner 2033719c14 fix optimization pre-processing reported by Gereon Kremer
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-09 20:58:57 -07:00
Nikolaj Bjorner 6e57015a12 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-04-09 16:51:42 -07:00
Nikolaj Bjorner cc6f72aba7 fix handing of ite conditions that have to be included in projection, thanks to bug report by Zak
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-10 01:48:35 +02:00
Christoph M. Wintersteiger 16e487b32a Bugfix for ackermann helper 2016-04-08 17:20:09 +01:00
Christoph M. Wintersteiger bd0bd08ecf add is_considered_uninterpreted checks into acker_helper 2016-04-08 16:58:11 +01:00
Christoph M. Wintersteiger 0597b579b1 Bugfixes for bvarray2uf conversion. 2016-04-07 19:10:31 +01:00
Christoph M. Wintersteiger 5971c20653 Bugfixes for bv_trailing. 2016-04-07 13:08:17 +01:00
Christoph M. Wintersteiger 3a532c08a6 Bugfix for func_interp else-case compression 2016-04-06 19:24:08 +01:00
Christoph M. Wintersteiger 324fcc6a13 Merge branch 'master' of https://github.com/Z3Prover/z3 into new-ml-api 2016-04-06 15:40:13 +01:00
Christoph M. Wintersteiger e662427060 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-04-06 15:39:37 +01:00
Christoph M. Wintersteiger e527aca296 Bugfix for unspecified else-case in func_interps. 2016-04-06 15:39:32 +01:00
Nuno Lopes e2b7ad246a bv_trailing: fix compiler warning + use of ast_manager 2016-04-06 15:34:31 +01:00
Christoph M. Wintersteiger 7534b53bae Merge branch 'master' of https://github.com/Z3Prover/z3 2016-04-06 14:51:25 +01:00
martin-neuhaeusser 95454679e2 Another round of pretty printing 2016-04-06 12:45:21 +02:00
martin-neuhaeusser bd9d13279a Pretty printing 2016-04-06 12:39:19 +02:00
martin-neuhaeusser 1662ba8353 Add more comments on comparison functions in the C layer of the OCaml bindings 2016-04-06 12:36:11 +02:00
martin-neuhaeusser b873c6b508 Simplify OCaml API
This patch simplifies the implementation of the OCaml bindings. For example,
the applyX wrapper functions have become unnecessary in the new OCaml API.
It also removes the internal ML2C structure that was used as an intermediate
layer between the C and the OCaml layer.
2016-04-06 12:10:59 +02:00
Mikolas Janota dbffc15b98 Improvements in caching of bv_trailing. 2016-04-06 11:04:15 +01:00
mikolas 9ba5bbfd33 Re-factoring and comments in bv_trailing. 2016-04-06 11:04:13 +01:00
Mikolas Janota 248feace34 fixing the behavior in bv_trailing 2016-04-06 11:04:11 +01:00
mikolas fced47386e More work on trailing 0 analysis. 2016-04-06 11:04:09 +01:00
mikolas ddb6ae4eab More work on trailing 0 analysis. 2016-04-06 11:04:07 +01:00
mikolas 78cb1e3c7b More work on trailing 0 analysis. 2016-04-06 11:04:05 +01:00
mikolas c7f1746321 Starting to work on trailing 0 analysis. 2016-04-06 11:04:03 +01:00
Nikolaj Bjorner 493b86eca7 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-04-05 22:27:11 +02:00
Nikolaj Bjorner b97d694e5e undo model evaluation to BR_FULL pending regression in assertion violation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-05 22:26:57 +02:00
mikolas 05ce886afe Avoiding adding spurious +0 in poly_rewriter::cancel_monomials. 2016-04-05 17:26:48 +01:00
martin-neuhaeusser 71f991c5df Avoid using physical equality checks in OCaml bindings (z3.ml)
This patch avoids the use of physical equality wherever possible
and improves some details of the OCaml implementation.
2016-04-05 12:51:03 +02:00
Nikolaj Bjorner c454b81b2c special case branching
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-05 11:57:49 +02:00
Nikolaj Bjorner ed1a5797fb check that a clause was not removed to fix issue #551
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-04 20:15:49 +02:00
martin-neuhaeusser f133f478c8 Translate correctly between OCaml option values and NULL pointers
This patch refactors the update_api script and the z3.ml implementation
to properly translate between OCaml options and NULL pointers. Some
unifications and simplifications (avoidance of unnecessary value allocation)
in the script that creates the native bindings.
2016-04-04 17:16:15 +02:00
Nikolaj Bjorner ec5a4ba63d add documentation comment for evaluation, Issue #536
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-04 12:59:18 +02:00
Nikolaj Bjorner 9667185af0 issue #549, replace BoolVal by False, otherwise creates regression
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-03 12:53:50 +02:00
Nikolaj Bjorner 11e8f06272 issue #549, replace False by BoolVal
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-03 12:52:15 +02:00
Nikolaj Bjorner 33e7640645 disable mb branching pending unit test analysis
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-03 10:53:37 +02:00
martin-neuhaeusser b85516c271 Fix reference counting in the C layer of the OCaml bindings
The Z3 context and its reference counters are stored in a structure which is allocated
by the C layer outside the OCaml heap, whenever a Z3 context is created. The structure
and its Z3 context are disposed, once the last reference counter reaches zero. Reference
counters are decremented by C-level finalizers.

The OCaml representations for a Z3 context wrap only a pointer to the corresponding structure.
2016-04-03 09:41:06 +02:00
Nikolaj Bjorner 03336ab9f2 add evaluation of array equalities to model evaluator
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-02 15:07:01 +02:00
Arie Gurfinkel 44d4902bb4 typo: gt -> ge 2016-04-02 10:13:14 +02:00
Christoph M. Wintersteiger ccd18283e7 Moved extension_converter func_interp entry compression to func_interp.
Relates to #547
2016-04-01 15:38:38 +01:00
Christoph M. Wintersteiger 3b82604590 whitespace 2016-04-01 15:37:40 +01:00
Christoph M. Wintersteiger d55a6725c9 Compressed func_interps in extension_model_converter.
Fixes #547.
2016-04-01 15:17:38 +01:00
Christoph M. Wintersteiger eb9c5b7cdb Disabled bogus assertions.
Fixes #489
2016-04-01 13:25:37 +01:00
Christoph M. Wintersteiger 852dc6d190 whitespace 2016-04-01 13:22:16 +01:00
Christoph M. Wintersteiger 405650c183 bugfix for ackr_model_converter (refcounts were off due to func_interps not being copied properly). 2016-04-01 13:17:48 +01:00
Christoph M. Wintersteiger dafda681b2 Bugfix for zero-extend.
Fixes #548
2016-04-01 12:48:06 +01:00
Christoph M. Wintersteiger dcca3a9bb1 whitespace 2016-04-01 12:46:49 +01:00
Christoph M. Wintersteiger b178420797 Merge branch 'master' of https://github.com/Z3Prover/z3 into new-ml-api 2016-03-31 18:11:30 +01:00
Christoph M. Wintersteiger bf92e53688 Annotation fix for pattern/quantifier probes 2016-03-30 18:35:49 +01:00
Christoph M. Wintersteiger 1724811e1b qffp tactic cleaned up to be in line with the default behavior of other tactics. 2016-03-30 15:23:46 +01:00