mirror of
https://github.com/Z3Prover/z3
synced 2025-08-14 14:55:25 +00:00
fixed-size min-heap for tracking top-k literals (#7752)
* very basic setup * ensure solve_eqs is fully disabled when smt.solve_eqs=false, #7743 Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * respect smt configuration parameter in elim_unconstrained simplifier Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * indentation * add bash files for test runs * add option to selectively disable variable solving for only ground expressions Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * remove verbose output Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * fix #7745 axioms for len(substr(...)) escaped due to nested rewriting * ensure atomic constraints are processed by arithmetic solver * #7739 optimization add simplification rule for at(x, offset) = "" Introducing j just postpones some rewrites that prevent useful simplifications. Z3 already uses common sub-expressions. The example highlights some opportunities for simplification, noteworthy at(..) = "". The example is solved in both versions after adding this simplification. * fix unsound len(substr) axiom Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * FreshConst is_sort (#7748) * #7750 add pre-processing simplification * Add parameter validation for selected API functions * updates to ac-plugin fix incrementality bugs by allowing destructive updates during saturation at the cost of redoing saturation after a pop. * enable passive, add check for bloom up-to-date * add top-k fixed-sized min-heap priority queue for top scoring literals --------- Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com> Co-authored-by: humnrdble <83878671+humnrdble@users.noreply.github.com>
This commit is contained in:
parent
a9b4e35938
commit
435ea6ea99
24 changed files with 762 additions and 303 deletions
32
run_local_tests.sh
Executable file
32
run_local_tests.sh
Executable file
|
@ -0,0 +1,32 @@
|
|||
#!/bin/bash
|
||||
# run from inside ./z3/build
|
||||
|
||||
Z3=./z3
|
||||
OPTIONS="-v:0 -st smt.threads=4"
|
||||
OUT_FILE="../z3_results.txt"
|
||||
BASE_PATH="../../z3-poly-testing/inputs/"
|
||||
|
||||
# List of relative test files (relative to BASE_PATH)
|
||||
REL_TEST_FILES=(
|
||||
"QF_NIA_small/Ton_Chanh_15__Singapore_v1_false-termination.c__p27381_terminationG_0.smt2"
|
||||
"QF_UFDTLIA_SAT/52759_bec3a2272267494faeecb6bfaf253e3b_10_QF_UFDTLIA.smt2"
|
||||
)
|
||||
|
||||
# Clear output file
|
||||
> "$OUT_FILE"
|
||||
|
||||
# Loop through and run Z3 on each file
|
||||
for rel_path in "${REL_TEST_FILES[@]}"; do
|
||||
full_path="$BASE_PATH$rel_path"
|
||||
test_name="$rel_path"
|
||||
|
||||
echo "Running: $test_name"
|
||||
echo "===== $test_name =====" | tee -a "$OUT_FILE"
|
||||
|
||||
# Run Z3 and pipe output to both screen and file
|
||||
$Z3 "$full_path" $OPTIONS 2>&1 | tee -a "$OUT_FILE"
|
||||
|
||||
echo "" | tee -a "$OUT_FILE"
|
||||
done
|
||||
|
||||
echo "Results written to $OUT_FILE"
|
Loading…
Add table
Add a link
Reference in a new issue