3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-03-15 09:39:59 +00:00
Commit graph

21982 commits

Author SHA1 Message Date
Copilot
cb13fa2325
fix: create missing agentics/qf-s-benchmark.md agent prompt (#8989)
* Initial plan

* fix: create missing agentics/qf-s-benchmark.md agent prompt

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-14 12:42:11 -07:00
Copilot
b8ac856bd3
qf-s-benchmark: debug build + seq tracing + seq-fast/nseq-slow trace analysis (#8988)
* Initial plan

* Update qf-s-benchmark: debug build, seq tracing, trace analysis

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-14 12:21:42 -07:00
Copilot
21bfb115ea
Fix high and medium priority API coherence issues (Go, Java, C++, TypeScript) (#8983)
* Initial plan

* Add missing API functions to Go, Java, C++, and TypeScript bindings

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-14 10:46:03 -07:00
Angelica Moreira
b8e15f2121
Add missing AST query methods to Java API (#8977)
* add Expr.isGround() to Java API

Expose Z3_is_ground as a public method on Expr. Returns true when the
expression contains no free variables.

* add Expr.isLambda() to Java API

Expose Z3_is_lambda as a public method on Expr. Returns true when the
expression is a lambda quantifier.

* add AST.getDepth() to Java API

Expose Z3_get_depth as a public method on AST. Returns the maximum
number of nodes on any path from root to leaf.

* add ArraySort.getArity() to Java API

Expose Z3_get_array_arity as a public method on ArraySort. Returns
the number of dimensions of a multi-dimensional array sort.

* add DatatypeSort.isRecursive() to Java API

Expose Z3_is_recursive_datatype_sort as a public method on
DatatypeSort. Returns true when the datatype refers to itself.

* add FPExpr.isNumeral() to Java API

Expose Z3_fpa_is_numeral as a public method on FPExpr. Returns true
when the expression is a concrete floating-point value.

* add isGroundExample test to JavaExample

Test Expr.isGround() on constants, variables, and compound
expressions.

* add astDepthExample test to JavaExample

Test AST.getDepth() on leaf nodes and nested expressions to verify
the depth computation.

* add arrayArityExample test to JavaExample

Test ArraySort.getArity() on single-domain and multi-domain array
sorts.

* add recursiveDatatypeExample test to JavaExample

Test DatatypeSort.isRecursive() on a recursive list datatype and a
non-recursive pair datatype.

* add fpNumeralExample test to JavaExample

Test FPExpr.isNumeral() on a floating point constant and a symbolic
variable.

* add isLambdaExample test to JavaExample

Test Expr.isLambda() on a lambda expression and a plain variable.
2026-03-14 10:13:42 -07:00
Nikolaj Bjorner
6e5971641f
Merge pull request #8955 from Z3Prover/copilot/convert-injectivity-to-simplifier
Convert `injectivity` tactic to a dependent_expr_simplifier
2026-03-12 17:07:19 -07:00
Nikolaj Bjorner
ca9992c751
Merge pull request #8954 from Z3Prover/copilot/convert-special-relations-tactic
Convert `special-relations` tactic to a `dependent_expr_simplifier`
2026-03-12 17:07:02 -07:00
Nikolaj Bjorner
225b3c1f30
Merge pull request #8972 from Z3Prover/copilot/fix-deep-api-bugs
Fix input validation and null-safety bugs in Z3 C API
2026-03-12 17:03:55 -07:00
copilot-swe-agent[bot]
682fa3f815 Fix indentation: use spaces instead of tabs in api_model.cpp CHECK_NON_NULL
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-12 23:00:07 +00:00
copilot-swe-agent[bot]
f413a24408 Fix API bugs exercised by test/deep_api_bugs.cpp
- api_fpa.cpp: add RETURN_Z3(nullptr) after SET_ERROR_CODE in Z3_mk_fpa_sort to prevent fall-through to mk_float_sort with invalid params
- api_seq.cpp: add null check for str in Z3_mk_string; add null check for str when sz>0 in Z3_mk_lstring; add lo<=hi validation in Z3_mk_re_loop
- api_array.cpp: add explicit n==0 validation in Z3_mk_array_sort_n
- api_solver.cpp: rename local variable 'c' to avoid shadowing Z3_context param in Z3_solver_propagate_created/decide/on_binding; move init_solver call inside file-exists branches of Z3_solver_from_file
- api_ast.cpp: add null check for target in Z3_translate; add null check for _from/_to arrays when num_exprs>0 in Z3_substitute
- api_model.cpp: add CHECK_NON_NULL(m) in Z3_add_func_interp; add CHECK_NON_NULL(a) in Z3_model_get_const_interp; add null check for target in Z3_model_translate
- api_opt.cpp: add null check for weight string in Z3_optimize_assert_soft
- api_quant.cpp: add num_patterns==0 validation in Z3_mk_pattern

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-12 22:58:53 +00:00
copilot-swe-agent[bot]
e6c082e6e8 Initial plan 2026-03-12 22:19:41 +00:00
Nikolaj Bjorner
397e3d404a add bugs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-03-12 15:18:38 -07:00
Nikolaj Bjorner
d3626fee64 fixup release-notes-updater
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-03-12 14:11:02 -07:00
Nikolaj Bjorner
8ba5fb6698 compile updated workflows
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-03-12 13:33:37 -07:00
Nikolaj Bjorner
d772503b25
Merge pull request #8968 from Z3Prover/copilot/aw-no-op-runs-tracking
Suppress no-op agentic workflow runs from posting to tracking issue
2026-03-12 13:32:31 -07:00
copilot-swe-agent[bot]
3bc7623f03 Add noop report-as-issue: false to all agentic workflow frontmatter
Prevents no-op workflow runs from posting comments to the [aw] No-Op
Runs tracking issue by setting safe-outputs.noop.report-as-issue: false
in all 13 agentic workflow .md files.

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-12 20:01:30 +00:00
copilot-swe-agent[bot]
30afc4ab5a Initial plan 2026-03-12 19:58:18 +00:00
Nikolaj Bjorner
1e7f3e2a5f
Merge pull request #8967 from Z3Prover/copilot/fix-mark-prs-ready-review
Fix "Mark PRs Ready for Review" workflow: use PAT instead of GITHUB_TOKEN for GraphQL mutation
2026-03-12 12:55:38 -07:00
copilot-swe-agent[bot]
56c88022e2 Fix build: use unquoted TRACE tag identifier instead of string literal
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-12 18:27:36 +00:00
copilot-swe-agent[bot]
f8a8d62587 Fix mark-prs-ready-for-review workflow: use GH_AW_GITHUB_TOKEN for GraphQL mutation
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-12 18:18:45 +00:00
copilot-swe-agent[bot]
036047f725 Initial plan 2026-03-12 18:12:34 +00:00
copilot-swe-agent[bot]
646016742b Fix Python build: move special_relations_simplifier.h to tactic/core to resolve expr_pattern_match.h dependency
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-12 18:02:43 +00:00
Nikolaj Bjorner
97e652156a
Merge pull request #8963 from Z3Prover/copilot/add-zipt-solver-to-benchmark
Add ZIPT solver to QF_S benchmark workflow
2026-03-12 10:39:39 -07:00
copilot-swe-agent[bot]
d4d72767d9 add ZIPT solver to QF_S benchmark workflow
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-12 17:36:48 +00:00
Nikolaj Bjorner
588b07f5ad
Merge pull request #8959 from Z3Prover/copilot/create-workflow-mark-prs-ready
Add workflow to mark all draft PRs ready for review
2026-03-12 10:30:56 -07:00
copilot-swe-agent[bot]
248800c3e4 Initial plan 2026-03-12 17:29:12 +00:00
copilot-swe-agent[bot]
f461876e8a Add pull_request trigger to mark-prs-ready-for-review workflow
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-12 16:30:09 +00:00
copilot-swe-agent[bot]
7692dfc7d6 Delete injectivity_tactic.cpp (deprecated, replaced by injectivity_simplifier.h)
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-12 16:25:04 +00:00
Lev Nachmanson
11309424b3
Merge pull request #8944 from Z3Prover/feas
Fix the regression in maximize of theory_lra.
2026-03-12 06:10:26 -10:00
copilot-swe-agent[bot]
995e0e1f14 Deprecate injectivity_tactic.cpp: forward mk_injectivity_tactic to simplifier-based impl
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-12 05:32:32 +00:00
copilot-swe-agent[bot]
ec9fee969d Remove old special_relations_tactic class, use simplifier-based tactic as the sole special-relations tactic
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-12 05:30:57 +00:00
Lev Nachmanson
3176151cc2 rename bhn_opt to max_reg
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2026-03-11 19:18:45 -10:00
Nikolaj Bjorner
664c8ca73a compiled workflows
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-03-11 21:39:28 -07:00
copilot-swe-agent[bot]
fb31b689ea Add special_relations_simplifier: new simplifier and tactic registration
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-12 04:39:05 +00:00
copilot-swe-agent[bot]
c303b56f04 Add injectivity_simplifier and register injectivity2 tactic + injectivity simplifier
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-12 04:37:17 +00:00
Lev Nachmanson
b8d6952e9e Enable som (sum of monomials) in optimizer simplification
The optimizer's simplification pass did not expand products of sums
into sum-of-monomials form. This caused mathematically equivalent
expressions like (5-x)^2 vs (x-5)^2 to simplify into different
internal forms, where the former produced nested multiplies
(+ 5.0 (* -1.0 x)) that led to harder purification constraints
and solver timeouts.

Enabling som=true in the first simplification tactic normalizes
polynomial objectives into canonical monomial form, making the
optimizer robust to operand ordering.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-11 18:28:40 -10:00
copilot-swe-agent[bot]
a1af82ee63 Initial plan 2026-03-12 04:16:04 +00:00
Lev Nachmanson
ce7c7f458e Add max_rev test: BNH with reversed argument order in f1/f2
Same as test_bnh_optimize but constructs f1 and f2 with reversed
parameter order in mk_add, mk_mul, mk_sub calls. Exposes optimizer
sensitivity to expression structure.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-11 18:15:57 -10:00
copilot-swe-agent[bot]
7a00cb4e01 Initial plan 2026-03-12 04:15:56 +00:00
copilot-swe-agent[bot]
0060608d73 Add workflow to mark all draft pull requests ready for review
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-12 02:27:32 +00:00
copilot-swe-agent[bot]
4364b9865e Initial plan 2026-03-12 02:25:22 +00:00
Nikolaj Bjorner
9c2d34ce43
Merge pull request #8948 from angelica-moreira/z3-skill-exploration
Add Copilot skills and agent for Z3
2026-03-11 19:20:31 -07:00
Nikolaj Bjorner
faf888d35c
Merge pull request #8945 from Z3Prover/vect_fix
Fixed the assertion violation in `mpz.cpp:602` when running with `-tr…
2026-03-11 17:52:27 -07:00
Angelica Moreira
f120cc6903 add per-skill @z3 usage examples to agent readme 2026-03-12 00:16:06 +00:00
Angelica Moreira
68ea8d3a43 move agent readme to repo root as Z3-AGENT.md 2026-03-12 00:11:28 +00:00
Lev Nachmanson
610527ec1a
Merge pull request #8946 from Z3Prover/copilot/sub-pr-8945
[WIP] [WIP] Address feedback on assertion violation fix in mpz.cpp
2026-03-11 13:58:40 -10:00
copilot-swe-agent[bot]
01f9709ff6 Add vector::resize tests including vector<rational>
Co-authored-by: levnach <5377127+levnach@users.noreply.github.com>
2026-03-11 23:54:01 +00:00
copilot-swe-agent[bot]
385b11f55b Initial plan 2026-03-11 23:18:26 +00:00
Lev Nachmanson
8e47c0d842 Fixed the assertion violation in mpz.cpp:602 when running with -tr:arith.
**Root cause**: `vector::resize(SZ s, Args args...)` in `src/util/vector.h` took `args` by value and used `std::forward<Args>(args)` in a loop. The first iteration moved from `args`, leaving all subsequent elements with a moved-from state (`rational{0/0}` instead of
`rational{0/1}`). This corrupted the coefficient vector in the pretty printer, causing a division-by-zero assertion when multiplying.

**Fix**: Changed `resize` to take `Args const& args` and copy-construct each element instead of forwarding/moving.
2026-03-11 12:43:59 -10:00
Angelica Moreira
4e0a41252a
Merge branch 'Z3Prover:master' into z3-skill-exploration 2026-03-11 15:08:12 -07:00
Angelica Moreira
14276fb193 ignore .z3-agent runtime directory 2026-03-11 22:04:15 +00:00