3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-02-20 15:34:41 +00:00
Commit graph

20557 commits

Author SHA1 Message Date
Copilot
8a3c2f51c3 Refactor bv_solver to use structured bindings for var_pos patterns (#8384)
* Initial plan

* Refactor bv_solver.cpp to use C++17 structured bindings for var_pos patterns

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

* Address code review feedback: simplify bit_trail constructor and remove unnecessary pair reconstruction

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-02-18 20:57:57 -08:00
Copilot
dadd23a517 Refactor smt_context to use structured bindings for pair decomposition (#8385)
* Initial plan

* Refactor smt_context.cpp to use C++17 structured bindings for pair patterns

- Replace .first/.second access with structured bindings in reset_tmp_clauses()
- Replace .first/.second access with structured bindings in decide_clause()
- Replace .first/.second access with structured bindings in init_assumptions()
- Eliminate 3 intermediate variable assignments
- 4 refactoring sites across 3 functions
- Verified successful compilation and all tests pass

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-02-18 20:57:57 -08:00
Copilot
aab17272f1 Refactor pb_rewriter to use structured bindings for expression/coefficient pairs (#8380)
* Initial plan

* Refactor pb_rewriter to use C++17 structured 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-02-18 20:57:57 -08:00
Copilot
290cb5f811 Add polymorphic datatype support to ML API (#8378)
* Initial plan

* Add ML bindings for polymorphic datatypes (mk_type_variable and mk_polymorphic_sort)

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

* Add polymorphic datatype example for ML API

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

* Delete examples/ml/polymorphic_datatype_example.ml

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-02-18 20:57:57 -08:00
Copilot
918946a253 [WIP] Add SpecBot workflow for code annotation with assertions (#8388)
* Initial plan

* Add SpecBot agentic workflow for automatic specification mining

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

* Fix SpecBot network configuration and add documentation

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-02-18 20:57:57 -08:00
Copilot
fa34cb5ad5 Remove std::optional from Code Conventions Analyzer workflow (#8360)
* Initial plan

* Remove std::optional from Code Conventions Analysis workflow

- Remove std::optional from Exception Control Flow alternatives
- Remove std::optional from Prioritize safety guidelines
- Recompile workflow to update lock file

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-02-18 20:57:57 -08:00
Copilot
b6dab1533b Refactor sat_anf_simplifier to use C++17 structured bindings (#8358)
* Initial plan

* Refactor sat_anf_simplifier.cpp to use C++17 structured 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-02-18 20:57:57 -08:00
dependabot[bot]
531bb1c31f Bump actions/cache from 4.3.0 to 5.0.2 (#8350)
Bumps [actions/cache](https://github.com/actions/cache) from 4.3.0 to 5.0.2.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v4.3.0...v5.0.2)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: 5.0.2
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-18 20:57:57 -08:00
dependabot[bot]
0425dca1c4 Bump actions/checkout from 4 to 6 (#8351)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v4...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-18 20:57:56 -08:00
dependabot[bot]
2b5d45c832 Bump githubnext/gh-aw from 0.37.23 to 0.37.24 (#8352)
Bumps [githubnext/gh-aw](https://github.com/githubnext/gh-aw) from 0.37.23 to 0.37.24.
- [Release notes](https://github.com/githubnext/gh-aw/releases)
- [Changelog](https://github.com/githubnext/gh-aw/blob/main/CHANGELOG.md)
- [Commits](https://github.com/githubnext/gh-aw/compare/v0.37.23...v0.37.24)

---
updated-dependencies:
- dependency-name: githubnext/gh-aw
  dependency-version: 0.37.24
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-18 20:57:56 -08:00
Copilot
adb852a83c Disable std::optional refactoring in code-conventions-analyzer workflow (#8349)
* Initial plan

* Remove std::optional refactoring instructions from code-conventions-analyzer

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

* Recompile workflows after removing std::optional instructions

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

* Update workflow lock files to latest version

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-02-18 20:57:56 -08:00
Nikolaj Bjorner
ce61416432 Revert "Refactor find_tactic_cmd to use std::optional<tactic_cmd*> (#8331)"
This reverts commit 7b182c9440.
2026-02-18 20:57:56 -08:00
Nikolaj Bjorner
2bd420b8da Revert "Refactor find_probe() to use std::optional (#8334)"
This reverts commit 49817bc259.
2026-02-18 20:57:56 -08:00
Nikolaj Bjorner
bdecb98e63 Revert "Refactor find_psort_decl() to return std::optional<psort_decl*> (#8339)"
This reverts commit 445f995c54.
2026-02-18 20:57:56 -08:00
Copilot
29c583397f Expose timestamp method in sls_context (#8347)
* Initial plan

* Expose timestamp method in sls_context

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-02-18 20:57:56 -08:00
Nikolaj Bjorner
382b3d9a97 Reset timestamp for variables in sat_ddfw.cpp 2026-02-18 20:57:55 -08:00
Nikolaj Bjorner
5e485d28c2 Update timestamp on variable flip in ddfw 2026-02-18 20:57:55 -08:00
Nikolaj Bjorner
836b86f524 Update sat_ddfw.h 2026-02-18 20:57:55 -08:00
Nikolaj Bjorner
90cea870f4 Fix implicit conversion warnings: use UINT_MAX instead of -1 for unsi… (#8342)
* Fix implicit conversion warnings: use UINT_MAX instead of -1 for unsigned variables

Replace implicit conversion from negative literal to unsigned type
with explicit UINT_MAX constant to eliminate compiler warnings.

Fixed 10 instances across 6 files:
- src/ast/rewriter/bv_rewriter.cpp: 1 instance
- src/ast/sls/sls_bv_tracker.h: 2 instances
- src/math/lp/dioph_eq.cpp: 3 instances
- src/math/lp/lp_primal_core_solver.h: 2 instances
- src/muz/transforms/dl_mk_array_instantiation.cpp: 1 instance
- src/muz/transforms/dl_mk_synchronize.cpp: 1 instance

These changes preserve the exact same runtime behavior (UINT_MAX
equals the wrapped value of -1 for unsigned types) while making
the code more explicit and warning-free.

* Update bv_rewriter.cpp

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-18 20:57:55 -08:00
Nikolaj Bjorner
c008b7b228 fix underflow bug
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-02-18 20:57:55 -08:00
Copilot
e04b68813b Schedule code-conventions-analyzer to run every 3 hours (#8340)
* Initial plan

* Update code-conventions-analyzer to run every 3 hours

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-02-18 20:57:55 -08:00
Nikolaj Bjorner
9cbdb7da57 remove outdated version of cmake
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-02-18 20:57:55 -08:00
Nikolaj Bjorner
90b434f86e fix build warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-02-18 20:57:55 -08:00
Copilot
184bc08382 Refactor find_psort_decl() to return std::optional<psort_decl*> (#8339)
* Initial plan

* Refactor find_psort_decl() to return std::optional&lt;psort_decl*&gt;

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-02-18 20:57:55 -08:00
Copilot
5e8ea53c17 Refactor find_probe() to use std::optional (#8334)
* Initial plan

* Refactor find_probe() to use std::optional

- Updated tactic_manager.h: Changed return type to std::optional<probe_info*>
- Updated tactic_manager.cpp: Modified implementation to return std::nullopt or probe pointer
- Updated api_tactic.cpp: Changed 2 call sites to use optional checks and dereference
- Updated tactic_cmds.cpp: Changed 1 call site to use optional check and dereference
- Build verified successfully
- Probe functionality tested with Python 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-02-18 20:57:55 -08:00
Lev Nachmanson
cec23dcc78 revive nlsat check_lemma()
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2026-02-18 20:57:54 -08:00
Copilot
e30c3b3656 Refactor find_tactic_cmd to use std::optional<tactic_cmd*> (#8331)
* Initial plan

* Refactor find_tactic_cmd to use std::optional<tactic_cmd*>

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-02-18 20:57:54 -08:00
Copilot
46af26e72c Increase code-conventions-analyzer issue creation limit to 5 per run (#8332)
* Initial plan

* Add max: 5 to code-conventions-analyzer workflow to generate up to 5 issues per run

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-02-18 20:57:54 -08:00
Copilot
e54db3a54a Recompile agentic workflows to gh-aw v0.37.19 (#8323)
* Initial plan

* Initial plan: Recompile agentic workflows to latest gh-aw version

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

* Update gh-aw instruction files with latest features

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-02-18 20:57:54 -08:00
Copilot
63f781c350 Refactor SMT equality handlers to use C++17 structured bindings (#8321)
* Initial plan

* Refactor SMT equality handlers to use C++17 structured 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-02-18 20:57:54 -08:00
Copilot
d6a829e2a2 Use descriptive names for structured bindings in code-conventions-analyzer workflow (#8322)
* Initial plan

* Update structured binding naming convention in code-conventions-analyzer

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-02-18 20:57:54 -08:00
Lev Nachmanson
6bce4c2b81 Fix memory leak in undo_fixed_column for big numbers
The undo_fixed_column struct is region-allocated via trail_stack, so its
destructor is never called. When m_fixed_val contains a big number (one
that doesn't fit in a small int), the heap-allocated memory for the mpq
numerator/denominator was never freed.

Fix by calling m_fixed_val.reset() in undo() to explicitly free the
heap memory before the region deallocates the struct.

Verified with macOS leaks tool:
- Before: 126 leaks (6048 bytes) on convert-jpg2gif-query-1584.smt2
- After: 0 leaks on normal completion, 10 leaks on timeout (unfinished trail)
2026-02-18 20:57:54 -08:00
Copilot
392a26b619 Refactor dyn_ack propagate_eh to use structured bindings (#8317)
* Initial plan

* Refactor dyn_ack propagate_eh to use C++17 structured 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-02-18 20:57:54 -08:00
Copilot
835ac1bb6d Refactor theory_seq::find_fst_non_empty_var to use std::optional (#8315)
* Initial plan

* Refactor find_fst_non_empty_var to use std::optional

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

* Use value_or() for more idiomatic std::optional usage

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-02-18 20:57:54 -08:00
Copilot
b4b0512f8d Refactor arith_rewriter::find_nl_factor() to use std::optional (#8313)
* Initial plan

* Refactor arith_rewriter::find_nl_factor() to use std::optional

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-02-18 20:57:53 -08:00
Copilot
87bf6ca63b Fix code-conventions-analyzer to create issues instead of pull requests (#8311)
* Initial plan

* Fix code-conventions-analyzer to create issues instead of pull requests

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-02-18 20:57:53 -08:00
Copilot
de907996cc Upgrade GitHub Agentic Workflows to v0.37.15 (#8309)
* Initial plan

* Upgrade workflows to gh-aw v0.37.15

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-02-18 20:57:53 -08:00
Nikolaj Bjorner
1fd72232eb deal with build warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-02-18 20:57:53 -08:00
Copilot
102cdf9c7d [WIP] Update code conventions analyzer for initializer_list usage (#8307)
* Initial plan

* Add initializer_list pattern detection to code conventions analyzer

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

* Compile updated code conventions analyzer workflow

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

* Fix regex patterns in initializer_list search examples

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

* Fix regex pattern to match both single and double pointers

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-02-18 20:57:53 -08:00
Copilot
3554eb9ea5 [WIP] Update code convention analyzer for tuple patterns (#8306)
* Initial plan

* Add tuple pattern detection to code conventions analyzer

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

* Clarify search pattern comment for tuple pattern detection

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

* Improve examples and search patterns based on code review feedback

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-02-18 20:57:53 -08:00
Copilot
f5cdff407f Refactor theory_char::get_char_value to use std::optional (#8302)
* Initial plan

* Refactor theory_char::get_char_value to use std::optional

- Updated function signature to return std::optional<unsigned>
- Added const qualifier to function
- Updated both call sites to use modern C++17 patterns
- Used std::as_const to disambiguate overload resolution

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-02-18 20:57:53 -08:00
Lev Nachmanson
059d936e08 preserve the initial state of the solver with push/pop for multiple objectives (#8264)
* preserve the initial state of the solver with push/pop for multiple objectives

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

* Fix memory corruption in Z3_polynomial_subresultants

The API function had a memory corruption bug where allocating the result
vector while the default_expr2polynomial converter was still in scope
could corrupt the converter's internal expr2var mapping.

Fixed by restructuring the code to:
1. Complete all polynomial computation in a scoped block
2. Store results in a temporary expr_ref_vector
3. Let the converter go out of scope
4. Then allocate and populate the result vector

Also improved the test to:
- Use randomized testing with 20 iterations
- Test both cases: variable in polynomials and variable not in polynomials
- Use proper reference counting (inc_ref before dec_ref)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-18 20:57:53 -08:00
Copilot
36dc400978 Refactor seq_offset_eq::find to use std::optional (#8300)
* Initial plan

* Refactor seq_offset_eq::find to use std::optional

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-02-18 20:57:53 -08:00
Copilot
a273db43da Refactor sym_mux::find_idx to use std::optional (#8293)
* Initial plan

* Refactor sym_mux::find_idx to use std::optional

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-02-18 20:57:53 -08:00
Nikolaj Bjorner
70c0483c87 recompile
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-02-18 20:57:53 -08:00
Copilot
e57ca70bb8 Fix workflow compilation errors and relocate documentation files (#8295)
* Initial plan

* Fix workflow compilation errors and recompile all workflows

- Fixed code-conventions-analyzer.md: changed missing-tool.create-pull-request to create-issue
- Moved documentation files (CI_MIGRATION.md, CI_TESTING.md, NUGET_BUILD_README.md) from .github/workflows/ to .github/
- Recompiled all workflows successfully
- All .lock.yml files regenerated

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-02-18 20:57:52 -08:00
Nikolaj Bjorner
7eb05151a8 Change missing-tool action from issue to pull request 2026-02-18 20:57:52 -08:00
Copilot
c6e3045226 Refactor counter::get_max_positive to use std::optional (#8289)
* Initial plan

* Refactor counter::get_max_positive to use std::optional

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

* Fix C++17 compatibility by replacing transform() with has_value()/value()

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

* Address code review: avoid calling get_max_positive twice

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-02-18 20:57:52 -08:00
Copilot
8b0f9d6ce7 Regenerate workflow lock files with gh-aw v0.37.12 (#8290)
* Initial plan

* Fix workflow lock files - regenerate with gh-aw v0.37.12

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-02-18 20:57:52 -08:00
Copilot
046e1ab764 Refactor mk_and and mk_app to use std::span API (#8285)
* Initial plan

* Refactor mk_and and mk_app to use std::span

- Made mk_and(unsigned num_args, expr * const * args) private
- Added new public mk_and(std::span<expr* const> args) method
- Added new public mk_app(family_id fid, decl_kind k, std::span<expr* const> args) method
- Updated all convenience overloads to use std::span version
- Updated all external call sites to use the new std::span API

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

* Fix remaining test files to use std::span API

- Updated src/test/sorting_network.cpp
- Updated src/test/ho_matcher.cpp with explicit cast to resolve ambiguity

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

* Revert overlapping changes superseded by PR #8286

Reverted 30 files to match the state from PR #8286 (commit ebc0688) which refactored mk_and/mk_or call sites to use vector overloads. This supersedes the std::span changes in those files.

Retained std::span changes in files unique to this PR:
- Core API changes (ast.h, ast.cpp)
- Files not affected by PR #8286 (api_context.cpp, ast_util.cpp, bool_rewriter.h, datatype_rewriter.cpp, dom_simplifier.cpp, factor_rewriter.cpp, pb2bv_rewriter.cpp, quant_hoist.cpp, spacer_cluster_util.cpp, sortmax.cpp, array_axioms.cpp, smtfd_solver.cpp, goal.cpp, ho_matcher.cpp, qe_arith.cpp, sorting_network.cpp)
- Special case in hnf.cpp where both PRs modified different lines

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-02-18 20:57:52 -08:00