3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-08-02 20:23:27 +00:00
z3/src/tactic
Nikolaj Bjorner 87551f2bb0
Add global suppress_platform_verbose parameter (#10319)
## Summary

Adds a global configuration parameter **`suppress_platform_verbose`**
(bool, default `false`).

When set to `true`, memory and time information is suppressed from
verbose output — the same behavior as the `-V` flag proposed in #10301,
but driven by a global parameter instead of a dedicated command-line
switch. This yields deterministic, platform-independent verbose output
that is useful for testing and diffing.

Usage:
```
z3 -v:2 suppress_platform_verbose=true problem.smt2
```

## Approach

Instead of introducing a `-V` command-line flag (#10301), this registers
`suppress_platform_verbose` as a global parameter via `env_params`,
wired to a lightweight `get_suppress_platform_verbose()` flag in `util`.

Verbose output sites guard only their **memory** (`mem_stat`) and
**time** (`m_watch` / `:time` / `:before-memory` / `:after-memory`)
fields on this flag. Platform-independent counters (e.g. `:cost`,
`:threshold`, `:elim-vars`) are always emitted.

Affected sites:
- SAT: asymm-branch, probing, scc, simplifier (subsumer /
blocked-clauses / resolution), solver stats (`sat.stats`, `:memory`,
`mk_stat`)
- SMT: context stats (`smt.stats`)
- Tactic report (`:time`, `:before-memory`, `:after-memory`)

## Validation

- Release build succeeds.
- `suppress_platform_verbose` appears in `z3 -pd` with the correct
type/default, and is accepted on the command line.
- All 93 `test-z3 /a` unit tests pass.

Closes the need for the `-V` switch in #10301.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 57b9b87e-950a-49ea-bbb3-ed585646a5a9
2026-07-30 20:08:25 -07:00
..
aig Make implicit switch case fall-throughs explicit (#10284) 2026-07-29 09:05:42 -07:00
arith Make implicit switch case fall-throughs explicit (#10284) 2026-07-29 09:05:42 -07:00
bv Issue 438 (#10085) 2026-07-12 13:35:57 -07:00
core Make implicit switch case fall-throughs explicit (#10284) 2026-07-29 09:05:42 -07:00
fd_solver Parallel tactic (#9824) (#9825) 2026-06-26 10:36:15 -06:00
fpa Standardize for-loop increments to prefix form (++i) (#8199) 2026-01-14 19:55:31 -08:00
portfolio Parallel tactic (#9824) (#9825) 2026-06-26 10:36:15 -06:00
sls Standardize for-loop increments to prefix form (++i) (#8199) 2026-01-14 19:55:31 -08:00
smtlogics Issue 438 (#10085) 2026-07-12 13:35:57 -07:00
ufbv Standardize for-loop increments to prefix form (++i) (#8199) 2026-01-14 19:55:31 -08:00
CMakeLists.txt move horn_subsume_model_converter to ast/converters 2022-11-03 20:26:02 -07:00
dependency_converter.cpp call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
dependency_converter.h move model and proof converters to self-contained module 2022-11-03 05:23:01 -07:00
dependent_expr_state_tactic.h add an option to register callback on quantifier instantiation 2025-08-06 21:11:55 -07:00
goal.cpp Add initializer_list overloads and update all call sites 2026-02-16 01:27:08 +00:00
goal.h Standardize for-loop increments to prefix form (++i) (#8199) 2026-01-14 19:55:31 -08:00
goal_num_occurs.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-01-14 19:55:31 -08:00
goal_num_occurs.h booyah 2020-07-04 15:56:30 -07:00
goal_proof_converter.h Fix some typos. (#7115) 2024-02-07 23:06:43 -08:00
goal_shared_occs.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-01-14 19:55:31 -08:00
goal_shared_occs.h booyah 2020-07-04 15:56:30 -07:00
goal_util.cpp port to inherit from std::exception 2024-11-04 13:25:14 -08:00
goal_util.h booyah 2020-07-04 15:56:30 -07:00
probe.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-01-14 19:55:31 -08:00
probe.h remove default destructors & some default constructors 2024-09-04 22:30:23 +01:00
tactic.cpp Add global suppress_platform_verbose parameter (#10319) 2026-07-30 20:08:25 -07:00
tactic.h fix #7404, relates to #7400. 2024-09-27 11:36:10 +01:00
tactic_exception.h add noexcept 2024-11-04 11:21:55 -08:00
tactical.cpp Remove unnecessary semicolons (Attempt 2) (#10020) 2026-07-02 12:47:29 -07:00
tactical.h booyah 2020-07-04 15:56:30 -07:00
user_propagator_base.h add an option to register callback on quantifier instantiation 2025-08-06 21:11:55 -07:00