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

1801 commits

Author SHA1 Message Date
Jakob Rath
305943a091 Add dll_elements 2023-07-27 15:31:06 +02:00
Jakob Rath
6d00d18ee4 use universal reference 2023-07-20 17:03:38 +02:00
Jakob Rath
82b1f9297b utils 2023-07-17 14:41:45 +02:00
Jakob Rath
947335e147 slicing: prepare for explain() 2023-06-28 09:59:21 +02:00
Jakob Rath
b316534df8 remove unused type parameter 2023-06-12 21:18:30 +02:00
Jakob Rath
f54f33551e Merge branch 'master' into polysat 2023-05-26 15:58:09 +02:00
Michał Górny
c9d8e646ed
fix missing <cstdint> include (#6720)
Fix missing <cstdint> include in src/util/tptr.h that causes build
failure with GCC 13:

```
In file included from /tmp/z3/src/util/region.cpp:53:
/tmp/z3/src/util/region.cpp: In member function ‘void* region::allocate(size_t)’:
/tmp/z3/src/util/tptr.h:29:62: error: ‘uintptr_t’ does not name a type
   29 | #define ALIGN(T, PTR) reinterpret_cast<T>(((reinterpret_cast<uintptr_t>(PTR) >> PTR_ALIGNMENT) + \
      |                                                              ^~~~~~~~~
/tmp/z3/src/util/region.cpp:82:22: note: in expansion of macro ‘ALIGN’
   82 |         m_curr_ptr = ALIGN(char *, new_curr_ptr);
      |                      ^~~~~
/tmp/z3/src/util/region.cpp:57:1: note: ‘uintptr_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
   56 | #include "util/page.h"
  +++ |+#include <cstdint>
   57 |
```
2023-05-13 09:37:57 -07:00
Tomasz Kłoczko
520e692a43
Fix building with gcc 13 (#6723)
Trivial fix to build with gcc 13 reported in #6722.

Signed-off-by: Tomasz Kłoczko <kloczek@github.com>
2023-05-13 09:37:35 -07:00
Nikolaj Bjorner
624907823d add tests for distribution utility and fix loose ends 2023-04-13 11:19:06 -07:00
Nikolaj Bjorner
f61168cd53 module for maintaining probability distributions 2023-04-12 19:40:31 -07:00
Nikolaj Bjorner
84b9204616 inherit and reset rlimit counter on children limits
addresses rlimit leak reported by @mtzguido
2023-04-05 16:39:21 -07:00
Nikolaj Bjorner
dcc87a682c disable assertion notification during shutdown 2023-04-01 14:59:35 -07:00
Nikolaj Bjorner
996e5b1755 fix #6655 2023-03-31 03:25:20 -07:00
igcontreras
4b3408696d
use uintptr_t instead of size_t (tptr) for portability (#6627) 2023-03-08 21:13:38 +00:00
Jakob Rath
1ef01c5042 Add vector::erase_if
(ended up unused but I didn't want to throw it away)
2023-03-05 13:02:51 +01:00
Nikolaj Bjorner
755b517001 fix #6600
ensure that semantics of last-indexof(t,"") = len(t)
2023-02-19 14:02:37 -08:00
Nikolaj Bjorner
554a9e8efe fix #6346 2023-02-16 08:53:08 -08:00
Jakob Rath
a0f5386bdd Use parity helper functions 2023-02-08 15:11:39 +01:00
Jakob Rath
d105c1c825 Allow printing other types than unsigned 2023-02-06 16:27:38 +01:00
Jakob Rath
8774952aeb Merge remote-tracking branch 'origin/master' into polysat 2023-02-06 10:50:05 +01:00
Jakob Rath
d69155b9e9
Shared features from polysat branch (#6567)
* Allow setting default debug action

* Fix dlist and add iterator

* Add var_queue iterator

* Add some helpers

* rational: machine_div2k and pseudo_inverse

* Basic support for non-copyable types in map

* tbv helpers

* pdd updates

* Remove duplicate functions

gcc doesn't like having both versions
2023-02-03 13:08:47 -08:00
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