3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 09:05:31 +00:00
Commit graph

1780 commits

Author SHA1 Message Date
Jakob Rath
20b5455d08 Merge branch 'master' into polysat 2023-02-01 16:28:57 +01:00
Nikolaj Bjorner
8ea49eed8e convert reduce-args to a simplifier
- convert reduce-args to a simplifier. Currently exposed as reduce-args2 tactic until the old tactic code gets removed.
- bug fixes in model_reconstruction trail
  - allow multiple defs to be added with same pool of removed formulas
  - fix tracking of function symbols instead of expressions to filter replay
- add nla_divisions to track (cheap) divisibility lemmas.
-
2023-01-28 20:12:14 -08:00
Brecht Sanders
2bd933d87f
Fix hwf.cpp for MinGW-w64 32-bit clang (#6529)
Fix src/util/hwf.cpp for building with MinGW-w64 clang targetting Windows 32-bit.
Without this fix there is an arror about `__control87_2` not being defined.
2023-01-10 13:44:11 -08:00
Nikolaj Bjorner
c3e31149a5 fix #6530
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-10 13:43:17 -08:00
Clemens Eisenhofer
79e7380ffc Pseudo-inverse op_constraint 2023-01-03 17:47:54 +01:00
Clemens Eisenhofer
74ec28201e Merge remote-tracking branch 'Z3Prover/polysat' into polysat 2022-12-25 12:41:39 +01:00
Clemens Eisenhofer
674e309fa3 ... and backtracking for bits 2022-12-25 12:23:49 +01:00
Clemens Eisenhofer
173fb9c2bd Bit-Propagation for most operations (Backtracking missing) 2022-12-24 16:37:53 +01:00
Jakob Rath
8da9850d45 Add rational::pseudo_inverse 2022-12-21 12:13:05 +01:00
Jakob Rath
69b41a7e70 Check invariant on pvars 2022-12-19 13:55:50 +01:00
Clemens Eisenhofer
ec06027515 First step towards explaining single bits 2022-12-19 12:27:37 +01:00
Clemens Eisenhofer
dc95179ae5 Merge branch 'polysat' of https://github.com/Z3Prover/z3 into polysat 2022-12-14 10:39:15 +01:00
Nikolaj Bjorner
f7269bb60a update doc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-11 10:16:17 -08:00
Jakob Rath
8d13446537 Solve boolean skeleton first 2022-12-09 17:22:51 +01:00
Nuno Lopes
9ebacd87e2 fix buggy mask (typo in my last commit..) 2022-12-09 16:16:52 +00:00
Nuno Lopes
a96f5a9b42 fix overflow in mpz::bitwise_not 2022-12-09 11:59:39 +00:00
Clemens Eisenhofer
47cb83f578 Merge branch 'polysat' of https://github.com/Z3Prover/z3 into polysat 2022-12-07 16:35:42 +01:00
Nikolaj Bjorner
7e69dab8f6 distribute forall cpp code 2022-12-06 18:15:18 -08:00
Jakob Rath
ceddb97bfd Disable asserts 2022-11-30 11:48:39 +01:00
Nikolaj Bjorner
85f9c7eefa replace restore_size_trail by more generic restore_vector
other updates:
- change signature of advance_qhead to simplify call sites
- have model reconstruction replay work on a tail of dependent_expr state, while adding formulas to the tail.
2022-11-28 11:45:56 +07:00
Clemens Eisenhofer
4f4d56eb91 Added alternative way of calculating number of trailing zeros + hamming distance 2022-11-20 17:25:04 +01:00
Jakob Rath
27d65df70b Use correct level for pvar propagations (v := val) 2022-11-09 16:58:34 +01:00
Jakob Rath
1d805807e9 Allow setting a default debug action
Helps avoiding user interaction when running a batch of unit tests.
2022-11-08 17:13:36 +01:00
Nikolaj Bjorner
4d8860c0bc wip - adding context equation solver
the solve_eqs_tactic is to be replaced by a re-implementation that uses solve_eqs in the simplifiers directory.
The re-implementation should address efficiency issues with the previous code.
At this point it punts on low level proofs. The plan is to use coarser
dependency tracking instead of low level proofs for pre-processing. Dependencies can be converted into a proof hint representation that can be checked using a stronger checker.
2022-11-05 10:34:57 -07:00
Nikolaj Bjorner
ae2672f132 fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-11-04 14:11:24 -07:00
Nikolaj Bjorner
154b09309b fixing build, wip on model reconstruction integration into dependent-expr-state 2022-11-04 14:04:44 -07:00
Nikolaj Bjorner
49d1490454 add ad-hoc any-of for cross compatibility and simplifying interface
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-11-04 12:48:30 -07:00
Nikolaj Bjorner
90490cb22f make visited_helper independent of literals
re-introduce shorthands in sat::solver for visited and have them convert literals to unsigned.
2022-11-03 03:54:39 -07:00
Clemens Eisenhofer
6790f18132
Added limit to "visit" to allow detecting multiple visits (#6435)
* Memory leak in .NET user-propagator
The user-propagator object has to be manually disposed (IDisposable), otherwise it stays in memory forever, as it cannot be garbage collected automatically

* Throw an exception if variable passed to decide is already assigned instead of running in an assertion violation

* Added limit to "visit" to allow detecting multiple visits

* Putting visit in a separate class
(Reason: We will probably need two of them in the sat::solver)

* Bugfix
2022-11-03 03:34:52 -07:00
Clemens Eisenhofer
ae707ffff7
Added 64-bit "1" counting (#6434)
* Memory leak in .NET user-propagator
The user-propagator object has to be manually disposed (IDisposable), otherwise it stays in memory forever, as it cannot be garbage collected automatically

* Throw an exception if variable passed to decide is already assigned instead of running in an assertion violation

* Added 64-bit "1" counting
2022-11-02 10:02:29 -07:00
Nuno Lopes
4431fd17ce memory_manager: add support for MacOS & Windows to the new size tracking system 2022-10-24 10:09:56 +01:00
Gleb Popov
5b76a7c2f2
Enable HAS_MALLOC_USABLE_SIZE on FreeBSD (#6402) 2022-10-17 10:14:04 -07:00
Nikolaj Bjorner
2d8b7b5ac6 deal with compiler warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-10-13 17:55:47 +02:00
Nuno Lopes
8ad480ab59 fix compiler warnings 2022-10-12 09:43:50 +01:00
Nuno Lopes
a41520acf1 mpf: fix some string copies 2022-10-11 11:59:29 +01:00
Nuno Lopes
661a1624b4 avoid string copying in mpf_manager::set 2022-10-07 14:03:13 +01:00
Jakob Rath
e18bc46de1 Move on_scope_exit to util.h 2022-10-07 14:23:26 +02:00
Nuno Lopes
a792251a82 remove old compat code 2022-10-06 17:22:17 +01:00
Jakob Rath
f184545aca Debug dlist insertion
Found because of assertion failure in
test_polysat::test_fixed_point_arith_div_mul_inverse()
2022-10-05 17:24:28 +02:00
Jakob Rath
9cc9d1fac4 count 2022-10-04 14:08:44 +02:00
Jakob Rath
cd2d197bb9 Add compact version of std::all_of 2022-10-03 10:55:13 +02:00
Jakob Rath
0bea276e82 Add dll_iterator 2022-10-03 10:54:24 +02:00
Nuno Lopes
be3c7d7115 delete dead code 2022-10-02 21:44:08 +01:00
Jakob Rath
1df749ad33 Merge branch 'master' into polysat 2022-09-23 17:14:26 +02:00
Nikolaj Bjorner
9a987237d5 don't rename uint_set but keep the original name 2022-09-18 17:22:59 -07:00
Nuno Lopes
9717dadd9f
Use glibc's malloc_usable_size when available (#6321) 2022-09-05 13:40:02 -07:00
Nikolaj Bjorner
2f8b13368d add redirect for warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-23 15:55:55 -07:00
Nikolaj Bjorner
0eea021dc3 include global parameters and fixup for HTML meta-characters 2022-08-22 14:25:18 -07:00
Nuno Lopes
d5d77dfe64 minor code simplifications 2022-08-20 12:56:45 +01:00
Nikolaj Bjorner
e83a70f9ad add newlines for description
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-19 06:57:39 -07:00