3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-01-18 08:18:55 +00:00
Commit graph

292 commits

Author SHA1 Message Date
Nikolaj Bjorner
151be6ac9a statistics and configuable
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-11-22 16:48:15 -08:00
Nikolaj Bjorner
fdac93fff3 v0.1 of nla saturation 2025-10-31 08:36:15 -07:00
Nikolaj Bjorner
cf54e985e8 separate out bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-10-29 11:19:10 -07:00
Nikolaj Bjorner
ff975e49f2 use model-based FM strategy for saturation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-10-10 16:34:58 -07:00
Arie Gurfinkel
599e9da8a9 optionally limit linearization 2025-10-06 16:40:06 -04:00
Nikolaj Bjorner
ad11e4626e household
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-27 16:59:22 +03:00
Nikolaj Bjorner
88844a84aa mul-saturation wip
fixup conflict explanations in mul_saturation, add parameter to enable it, add statistics
2025-09-27 12:17:40 +03:00
Nikolaj Bjorner
ef27e38d5f v0.1 of nla saturation 2025-09-26 23:05:02 +03:00
Nikolaj Bjorner
6adb234673 outline for adding monomials 2025-09-26 12:03:26 +03:00
Nikolaj Bjorner
a6ea667776 fix access to k'th emon
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-23 11:31:23 +03:00
Nikolaj Bjorner
08ef4de4a6 introduce shuffle
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-23 11:24:50 +03:00
Nikolaj Bjorner
3c9ab28731 remove secondary random traversal
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-23 11:16:16 +03:00
Nikolaj Bjorner
9579064671 setup
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-22 15:19:40 +03:00
Nikolaj Bjorner
dcdae5a61c add smt debug output for nla_core 2025-09-21 19:24:13 +03:00
Nikolaj Bjorner
2517b5a40a port improvements from ilana branch to master regarding nla
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-19 12:28:31 -07:00
Nikolaj Bjorner
866393a842 update defaults for new grobner featuers
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-05 14:34:03 -07:00
Nikolaj Bjorner
d7718623a4 handle case where all variables are bounded
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-04 12:58:03 -07:00
Nikolaj Bjorner
98a9a34f2b add option to reduce pseudo-linear monomials
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-04 11:04:12 -07:00
Nikolaj Bjorner
e91e432496 add option to propagation quotients
for equations x*y + z = 0,
with x, y, z integer, enforce that x divides z
It is (currently) enabled within Grobner completion
and applied partially to x a variable, z linear, and
only when |z| < |x|.
2025-08-31 14:41:23 -07:00
Nikolaj Bjorner
a28f55a3bc log scope level of lemma 2025-07-01 14:14:30 -07:00
Lev Nachmanson
d717dae3ac remove the parameter for throttling nla lemmas 2025-06-26 16:33:16 -07:00
Lev Nachmanson
2b6c73af82 add stats for throttling 2025-06-26 16:33:16 -07:00
Lev Nachmanson
899677e626 fix a warning
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-06-26 16:33:16 -07:00
Lev Nachmanson
832cfb3c41 consolidate throttling 2025-06-26 16:33:16 -07:00
Lev Nachmanson
5caa7f1a29 throttle lemmas in nla_solver untested 2025-06-26 16:33:16 -07:00
Lev Nachmanson
4e33b44d27 add lemma.is_empty()
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-06-26 16:33:16 -07:00
Lev Nachmanson
5bda42e104 rename new_lemma to lemma_builder
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-06-26 16:33:16 -07:00
Nikolaj Bjorner
7f5427b839 disable assertion that checks nl lemmas if using nra core 2025-05-30 14:47:31 +01:00
LeeYoungJoon
0a93ff515d
Centralize and document TRACE tags using X-macros (#7657)
* Introduce X-macro-based trace tag definition
- Created trace_tags.def to centralize TRACE tag definitions
- Each tag includes a symbolic name and description
- Set up enum class TraceTag for type-safe usage in TRACE macros

* Add script to generate Markdown documentation from trace_tags.def
- Python script parses trace_tags.def and outputs trace_tags.md

* Refactor TRACE_NEW to prepend TraceTag and pass enum to is_trace_enabled

* trace: improve trace tag handling system with hierarchical tagging

- Introduce hierarchical tag-class structure: enabling a tag class activates all child tags
- Unify TRACE, STRACE, SCTRACE, and CTRACE under enum TraceTag
- Implement initial version of trace_tag.def using X(tag, tag_class, description)
  (class names and descriptions to be refined in a future update)

* trace: replace all string-based TRACE tags with enum TraceTag
- Migrated all TRACE, STRACE, SCTRACE, and CTRACE macros to use enum TraceTag values instead of raw string literals

* trace : add cstring header

* trace : Add Markdown documentation generation from trace_tags.def via mk_api_doc.py

* trace : rename macro parameter 'class' to 'tag_class' and remove Unicode comment in trace_tags.h.

* trace : Add TODO comment for future implementation of tag_class activation

* trace : Disable code related to tag_class until implementation is ready (#7663).
2025-05-28 14:31:25 +01:00
Nikolaj Bjorner
a39efbb008 fix #7607 2025-04-05 11:58:47 -07:00
Nikolaj Bjorner
551cc53a2f fix un-intialized variable warnings 2024-09-30 15:08:33 -07:00
Nikolaj Bjorner
7b8980f82d fix regression introduced when testing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-04-09 11:17:03 -07:00
Nikolaj Bjorner
8d0e66b3e3 fix regression introduced when testing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-04-09 11:16:34 -07:00
Nikolaj Bjorner
9a681b1a37 reorg sls
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-04-09 10:44:53 -07:00
Nikolaj Bjorner
bdb9106f99
Api (#7097)
* rename ul_pair to column

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

* t

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

* simple test passed

* remove an assert

* relax an assertion

* remove an obsolete function

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

* access a term by the term column

* remove the column index from colunm.h

* remove an unused method

* remove debug code

* fix the build of lp_tst

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

---------

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
Co-authored-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-24 16:05:18 -08:00
Nikolaj Bjorner
2c55aa5466 remove unused code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-17 18:04:08 -08:00
Nikolaj Bjorner
4d1d067d42 fix divergence reported by Guido Martinez 2023-12-07 13:34:35 -08:00
Nikolaj Bjorner
25dd29907b refine no-effect predicate to include value of ret 2023-12-03 12:41:21 -08:00
Nikolaj Bjorner
4350bd77ac check cancel flag to avoid unsound conflicts 2023-11-19 11:43:52 -08:00
Lev Nachmanson
ca6cb0af95 add changes in lp with validate_bound and maximize_term
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-11-02 09:59:03 -07:00
Nikolaj Bjorner
bd8e5eee4b add simplification experiment (disabled) for tracking, some reshuffling of equation/fixed_equation structs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-29 10:21:31 -07:00
Nikolaj Bjorner
5622fd1362 initialize delay bound
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-26 03:26:41 -07:00
Nikolaj Bjorner
20c54048f7 use cone of influence reduction before calling nlsat. 2023-10-25 16:19:23 -07:00
Nikolaj Bjorner
e2db2b864b add hook for in-processing simplification for NLA
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-25 15:09:21 -07:00
Nikolaj Bjorner
55775bdc20 incremnet log level for debug output on cancelation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-25 13:15:15 -07:00
Nikolaj Bjorner
53ce18ef34 update backoff for bounded_nla 2023-10-21 19:57:06 -07:00
Nikolaj Bjorner
97058b0d5d allow for propagations the trigger make-feasible check 2023-10-19 16:08:44 -07:00
Nikolaj Bjorner
c9c5dbc347 #6523 2023-10-16 09:27:22 -07:00
Nikolaj Bjorner
4a870966ad add code to enable unit propagation of bounds
set UNIT_PROPAGATE_BOUNDS 1 to use the unit propagation version. It applies unit propagation eagerly (does not depend on checking LIA consistency before final check) and avoid creating new literals in most cases
2023-10-09 16:04:39 +09:00
Lev Nachmanson
edd1761ff3 restore the scheme of m_columns_with_changed_bounds
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-10-04 11:06:24 -07:00