├── .gitignore ├── LICENSE ├── README.md ├── data ├── README.md ├── ijcai24 │ ├── benchmarks │ │ ├── .gitignore │ │ ├── download_scripts │ │ │ ├── download_fastsmt_benchmarks.sh │ │ │ ├── download_lassoranker.sh │ │ │ ├── download_qflia.sh │ │ │ ├── download_qflra.sh │ │ │ ├── download_qfnia.sh │ │ │ ├── download_qfnra.sh │ │ │ └── download_qfs.sh │ │ └── samples │ │ │ ├── 0.smt2 │ │ │ ├── 1.smt2 │ │ │ ├── 2.smt2 │ │ │ └── 3.smt2 │ ├── configs │ │ ├── eval │ │ │ ├── AProVE.json │ │ │ ├── LassoRanker.json │ │ │ ├── README.md │ │ │ ├── Sage2.json │ │ │ ├── Sage2_1min.json │ │ │ ├── Sage2_5min.json │ │ │ ├── core.json │ │ │ ├── hycomp.json │ │ │ ├── leipzig.json │ │ │ ├── qflia.json │ │ │ ├── qflra.json │ │ │ └── qfs.json │ │ └── synthesis │ │ │ ├── AProVE.json │ │ │ ├── LassoRanker.json │ │ │ ├── README.md │ │ │ ├── Sage2.json │ │ │ ├── Sage2_1min.json │ │ │ ├── Sage2_5min.json │ │ │ ├── core.json │ │ │ ├── hycomp.json │ │ │ ├── leipzig.json │ │ │ ├── qflia.json │ │ │ ├── qflra.json │ │ │ ├── qfnia.json │ │ │ ├── qfs.json │ │ │ └── sample.json │ └── results │ │ ├── QF_BV │ │ ├── Sage2 │ │ │ ├── results │ │ │ │ ├── raw_data │ │ │ │ │ ├── cvc5.csv │ │ │ │ │ ├── fastsmt_run0.csv │ │ │ │ │ ├── fastsmt_run1.csv │ │ │ │ │ ├── fastsmt_run2.csv │ │ │ │ │ ├── fastsmt_run3.csv │ │ │ │ │ ├── fastsmt_run4.csv │ │ │ │ │ ├── z3.csv │ │ │ │ │ ├── z3alpha0_run0.csv │ │ │ │ │ ├── z3alpha0_run1.csv │ │ │ │ │ ├── z3alpha0_run2.csv │ │ │ │ │ ├── z3alpha0_run3.csv │ │ │ │ │ ├── z3alpha0_run4.csv │ │ │ │ │ ├── z3alpha_run0.csv │ │ │ │ │ ├── z3alpha_run1.csv │ │ │ │ │ ├── z3alpha_run2.csv │ │ │ │ │ ├── z3alpha_run3.csv │ │ │ │ │ └── z3alpha_run4.csv │ │ │ │ └── summary.csv │ │ │ └── sample_strategies │ │ │ │ ├── strategy_fastsmt.txt │ │ │ │ └── strategy_z3alpha.txt │ │ ├── Sage2_1min │ │ │ ├── results │ │ │ │ ├── raw_data │ │ │ │ │ ├── cvc5.csv │ │ │ │ │ ├── fastsmt.csv │ │ │ │ │ ├── z3.csv │ │ │ │ │ └── z3alpha.csv │ │ │ │ └── summary.csv │ │ │ └── sample_strategies │ │ │ │ ├── strategy_fastsmt.txt │ │ │ │ └── strategy_z3alpha.txt │ │ ├── Sage2_5min │ │ │ ├── results │ │ │ │ ├── raw_data │ │ │ │ │ ├── cvc5.csv │ │ │ │ │ ├── fastsmt.csv │ │ │ │ │ ├── z3.csv │ │ │ │ │ └── z3alpha.csv │ │ │ │ └── summary.csv │ │ │ └── sample_strategies │ │ │ │ ├── strategy_fastsmt.txt │ │ │ │ └── strategy_z3alpha.txt │ │ └── core │ │ │ ├── results │ │ │ ├── raw_data │ │ │ │ ├── cvc5.csv │ │ │ │ ├── fastsmt_run0.csv │ │ │ │ ├── fastsmt_run1.csv │ │ │ │ ├── fastsmt_run2.csv │ │ │ │ ├── fastsmt_run3.csv │ │ │ │ ├── fastsmt_run4.csv │ │ │ │ ├── z3.csv │ │ │ │ ├── z3alpha0_run0.csv │ │ │ │ ├── z3alpha0_run1.csv │ │ │ │ ├── z3alpha0_run2.csv │ │ │ │ ├── z3alpha0_run3.csv │ │ │ │ ├── z3alpha0_run4.csv │ │ │ │ ├── z3alpha_run0.csv │ │ │ │ ├── z3alpha_run1.csv │ │ │ │ ├── z3alpha_run2.csv │ │ │ │ ├── z3alpha_run3.csv │ │ │ │ └── z3alpha_run4.csv │ │ │ └── summary.csv │ │ │ └── sample_strategies │ │ │ ├── strategy_fastsmt.txt │ │ │ └── strategy_z3alpha.txt │ │ ├── QF_LIA │ │ ├── results │ │ │ ├── raw_data │ │ │ │ ├── cvc5.csv │ │ │ │ ├── fastsmt.csv │ │ │ │ ├── z3.csv │ │ │ │ └── z3alpha.csv │ │ │ └── summary.csv │ │ └── sample_strategies │ │ │ ├── strategy_fastsmt.txt │ │ │ └── strategy_z3alpha.txt │ │ ├── QF_LRA │ │ ├── results │ │ │ ├── raw_data │ │ │ │ ├── cvc5.csv │ │ │ │ ├── fastsmt.csv │ │ │ │ ├── z3.csv │ │ │ │ └── z3alpha.csv │ │ │ └── summary.csv │ │ └── sample_strategies │ │ │ ├── strategy_fastsmt.txt │ │ │ └── strategy_z3alpha.txt │ │ ├── QF_NIA │ │ ├── AProVE │ │ │ ├── results │ │ │ │ ├── raw_data │ │ │ │ │ ├── cvc5.csv │ │ │ │ │ ├── fastsmt_run0.csv │ │ │ │ │ ├── fastsmt_run1.csv │ │ │ │ │ ├── fastsmt_run2.csv │ │ │ │ │ ├── fastsmt_run3.csv │ │ │ │ │ ├── fastsmt_run4.csv │ │ │ │ │ ├── z3.csv │ │ │ │ │ ├── z3alpha0_run0.csv │ │ │ │ │ ├── z3alpha0_run1.csv │ │ │ │ │ ├── z3alpha0_run2.csv │ │ │ │ │ ├── z3alpha0_run3.csv │ │ │ │ │ ├── z3alpha0_run4.csv │ │ │ │ │ ├── z3alpha_run0.csv │ │ │ │ │ ├── z3alpha_run1.csv │ │ │ │ │ ├── z3alpha_run2.csv │ │ │ │ │ ├── z3alpha_run3.csv │ │ │ │ │ └── z3alpha_run4.csv │ │ │ │ └── summary.csv │ │ │ └── sample_strategies │ │ │ │ ├── strategy_fastsmt.txt │ │ │ │ └── strategy_z3alpha.txt │ │ └── leipzig │ │ │ ├── results │ │ │ ├── raw_data │ │ │ │ ├── cvc5.csv │ │ │ │ ├── fastsmt_run0.csv │ │ │ │ ├── fastsmt_run1.csv │ │ │ │ ├── fastsmt_run2.csv │ │ │ │ ├── fastsmt_run3.csv │ │ │ │ ├── fastsmt_run4.csv │ │ │ │ ├── z3.csv │ │ │ │ ├── z3alpha0_run0.csv │ │ │ │ ├── z3alpha0_run1.csv │ │ │ │ ├── z3alpha0_run2.csv │ │ │ │ ├── z3alpha0_run3.csv │ │ │ │ ├── z3alpha0_run4.csv │ │ │ │ ├── z3alpha_run0.csv │ │ │ │ ├── z3alpha_run1.csv │ │ │ │ ├── z3alpha_run2.csv │ │ │ │ ├── z3alpha_run3.csv │ │ │ │ └── z3alpha_run4.csv │ │ │ └── summary.csv │ │ │ └── sample_strategies │ │ │ ├── strategy_fastsmt.txt │ │ │ └── strategy_z3alpha.txt │ │ ├── QF_NRA │ │ ├── LassoRanker │ │ │ ├── results │ │ │ │ ├── raw_data │ │ │ │ │ ├── cvc5.csv │ │ │ │ │ ├── fastsmt_run0.csv │ │ │ │ │ ├── fastsmt_run1.csv │ │ │ │ │ ├── fastsmt_run2.csv │ │ │ │ │ ├── fastsmt_run3.csv │ │ │ │ │ ├── fastsmt_run4.csv │ │ │ │ │ ├── z3.csv │ │ │ │ │ ├── z3alpha0_run0.csv │ │ │ │ │ ├── z3alpha0_run1.csv │ │ │ │ │ ├── z3alpha0_run2.csv │ │ │ │ │ ├── z3alpha0_run3.csv │ │ │ │ │ ├── z3alpha0_run4.csv │ │ │ │ │ ├── z3alpha_run0.csv │ │ │ │ │ ├── z3alpha_run1.csv │ │ │ │ │ ├── z3alpha_run2.csv │ │ │ │ │ ├── z3alpha_run3.csv │ │ │ │ │ └── z3alpha_run4.csv │ │ │ │ └── summary.csv │ │ │ └── sample_strategies │ │ │ │ ├── strategy_fastsmt.txt │ │ │ │ └── strategy_z3alpha.txt │ │ └── hycomp │ │ │ ├── results │ │ │ ├── raw_data │ │ │ │ ├── cvc5.csv │ │ │ │ ├── fastsmt_run0.csv │ │ │ │ ├── fastsmt_run1.csv │ │ │ │ ├── fastsmt_run2.csv │ │ │ │ ├── fastsmt_run3.csv │ │ │ │ ├── fastsmt_run4.csv │ │ │ │ ├── z3.csv │ │ │ │ ├── z3alpha0_run0.csv │ │ │ │ ├── z3alpha0_run1.csv │ │ │ │ ├── z3alpha0_run2.csv │ │ │ │ ├── z3alpha0_run3.csv │ │ │ │ ├── z3alpha0_run4.csv │ │ │ │ ├── z3alpha_run0.csv │ │ │ │ ├── z3alpha_run1.csv │ │ │ │ ├── z3alpha_run2.csv │ │ │ │ ├── z3alpha_run3.csv │ │ │ │ └── z3alpha_run4.csv │ │ │ └── summary.csv │ │ │ └── sample_strategies │ │ │ ├── strategy_fastsmt.txt │ │ │ └── strategy_z3alpha.txt │ │ └── QF_S │ │ ├── results │ │ ├── raw_data │ │ │ ├── cvc5.csv │ │ │ ├── z3.csv │ │ │ ├── z3alpha.csv │ │ │ └── z3str4.csv │ │ └── summary.csv │ │ └── sample_strategies │ │ └── strategy_z3alpha.txt └── smtcomp24 │ ├── strats │ ├── bv300.txt │ ├── bv900.txt │ ├── qfaufbv900.txt │ ├── qfax900.txt │ ├── qfbv900.txt │ ├── qfdt900.txt │ ├── qfidl900.txt │ ├── qflia300.txt │ ├── qflia900.txt │ ├── qflra300.txt │ ├── qflra900.txt │ ├── qfnia900.txt │ ├── qfnra300.txt │ ├── qfnra900.txt │ ├── qfrdl900.txt │ ├── qfs900.txt │ ├── qfslia300.txt │ ├── qfslia900.txt │ ├── qfuf900.txt │ ├── qfufbv900.txt │ ├── qfufdt900.txt │ └── ufdt900.txt │ ├── test_instances │ ├── qfidl0.smt2 │ ├── qfnia0.smt2 │ ├── qfnia1.smt2 │ ├── qfnia2.smt2 │ ├── qfnia3.smt2 │ ├── qfs0.smt2 │ └── qfslia0.smt2 │ ├── z3alpha.py │ └── z3bin │ ├── z3 │ └── z3str ├── pyproject.toml ├── scripts ├── dataset_create.py ├── exp_tester.py └── result_checker.py └── z3alpha ├── __init__.py ├── environment.py ├── evaluator.py ├── mcts.py ├── multiprocess_evaluator.py ├── parallelRun.py ├── params.py ├── parser.py ├── resource_monitor.py ├── scripts ├── __init__.py ├── synthesize_full.py ├── synthesize_para.py ├── synthesize_s1.py └── synthesize_s2.py ├── selector.py ├── strat_tree.py ├── synthesize.py └── utils.py /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | .DS_Store 3 | .vscode 4 | 5 | venv/ 6 | experiments/ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | **Z3alpha** synthesizes efficient Z3 strategies tailored to your problem set! See our IJCAI'24 paper [Layered and Staged Monte Carlo Tree Search for SMT Strategy Synthesis](https://arxiv.org/abs/2401.17159) for technical details. 2 | 3 | Our tool is built on top of the [Z3 SMT solver](https://github.com/Z3Prover/z3). 4 | 5 | 6 | ## Setup 7 | 8 | We recommend using a Python virtual environment: 9 | 10 | ```bash 11 | python -m venv venv 12 | source venv/bin/activate # Unix/macOS 13 | ``` 14 | 15 | Install Z3alpha and its dependencies: 16 | 17 | 1. **Z3 Command-line Tool** 18 | - Install Z3 from the [Z3 GitHub repository](https://github.com/Z3Prover/z3) 19 | - Verify installation by running: 20 | ```bash 21 | z3 -h 22 | ``` 23 | - If you don't see the help message, add Z3 to your system's PATH 24 | 25 | 2. **Z3 Python Bindings** 26 | - Install via pip: 27 | ```bash 28 | pip install z3-solver 29 | ``` 30 | - Verify installation: 31 | ```python 32 | try: 33 | import z3 34 | except ImportError: 35 | raise Exception("Z3 Python binding not found.") 36 | ``` 37 | 38 | 3. **Install Z3alpha** 39 | ```bash 40 | pip install -e . 41 | ``` 42 | 43 | ## A Synthesis Example 44 | 45 | Here, we provide an example of synthesizing a tailored Z3 strategy for a toy benchmark set `data/ijcai24/benchmarks/samples/`. The `z3alpha/scripts/synthesize_full.py` script performs the staged MCTS, which takes a configuration JSON file as an argument. The configuration file specifies settings such as the MCTS simulation number, training datasets, timeouts, etc. The configuration file for this toy example is provided at `data/ijcai24/configs/synthesis/sample.json`. 46 | 47 | The command for this toy example is as follows: 48 | 49 | ```bash 50 | python ./z3alpha/scripts/synthesize_full.py data/ijcai24/configs/synthesis/sample.json 51 | ``` 52 | 53 | After this command terminates, the synthesized strategy is saved to a result directory under `experiments/synthesis/`, along with the logs (if enabled). The result directory is named as `out-`. 54 | 55 | ## IJCAI-24 Reproduction 56 | 57 | ### Benchmarks 58 | 59 | The scripts in `data/ijcai24/benchmarks/download_scripts/` will download all benchmark sets used in the paper into the `data/ijcai24/benchmarks/` directory. For example, to download the original FastSMT benchmarks for the experiments in Section 5.3, run: 60 | 61 | ```bash 62 | ./data/ijcai24/benchmarks/download_scripts/download_fastsmt_benchmarks.sh 63 | ``` 64 | 65 | ### Z3alpha Strategy Synthesis 66 | 67 | We provide sample configuration JSON files for the experiments in `data/ijcai24/configs/synthesis/`. When under the repository root, run the `z3alpha/scripts/synthesize_full.py` script with the corresponding configuration file to start the synthesis. For example, to synthesize a strategy for *leipzig*, run: 68 | 69 | ```bash 70 | python ./z3alpha/scripts/synthesize_full.py data/ijcai24/configs/synthesis/leipzig.json 71 | ``` 72 | 73 | Before running the script, ensure to adjust the JSON configuration file to match your computer's specifications. 74 | 75 | ### Evaluation 76 | 77 | We provide the script `scripts/exp_tester.py` for evaluating solvers and strategies. Sample configuration files for evaluating our synthesized strategies are provided in `data/ijcai24/configs/eval`. For example, to evaluate all solvers on the *leipzig* test, run: 78 | 79 | ```bash 80 | python scripts/exp_tester.py data/ijcai24/configs/eval/leipzig.json 81 | ``` 82 | 83 | The evaluation outcomes are saved in the directory specified by the `res_dir` entry in the configuration JSON file. 84 | 85 | 86 | ### Results 87 | 88 | All experimental result data are included in `data/ijcai24/`. For each experiment, there is a subfolder (e.g., `data/ijcai24/results/QF_BV/core/`) containing all competing solvers' evaluation statistics and sample strategies synthesized by Z3alpha and FastSMT. 89 | 90 | 91 | 92 | ## SMT-COMP'24 93 | As a derived solver, Z3alpha entered [SMT-COMP 2024 (Single Query Track)](https://smt-comp.github.io/2024/results/results-single-query/) and won [some awards](https://drive.google.com/file/d/1dEeJFfzjJz4vp-mU5XiGnR-hHJdsU1QZ/view?usp=sharing). See our submitted solver along with synthesized strategies in `smtcomp24/`. Note that the executables in `smtcomp24/z3bin/` are compiled for the [competition evnvironment](https://smt-comp.github.io/2024/specs/). 94 | 95 | ## License 96 | Z3alpha is licensed under the [Apache 2.0 License](https://www.apache.org/licenses/LICENSE-2.0). 97 | 98 | 99 | ### Citing this Work 100 | ```bibtex 101 | @inproceedings{ijcai2024p211, 102 | title = {Layered and Staged Monte Carlo Tree Search for SMT Strategy Synthesis}, 103 | author = {Lu, Zhengyang and Siemer, Stefan and Jha, Piyush and Day, Joel and Manea, Florin and Ganesh, Vijay}, 104 | booktitle = {Proceedings of the Thirty-Third International Joint Conference on 105 | Artificial Intelligence, {IJCAI-24}}, 106 | publisher = {International Joint Conferences on Artificial Intelligence Organization}, 107 | editor = {Kate Larson}, 108 | pages = {1907--1915}, 109 | year = {2024}, 110 | month = {8}, 111 | note = {Main Track}, 112 | doi = {10.24963/ijcai.2024/211}, 113 | url = {https://doi.org/10.24963/ijcai.2024/211}, 114 | } 115 | 116 | -------------------------------------------------------------------------------- /data/README.md: -------------------------------------------------------------------------------- 1 | # Data Directory 2 | 3 | This directory contains the data used or produced by the project, organized by research paper/competition. 4 | 5 | ## Directory Structure 6 | 7 | ### IJCAI 2024 Data (`ijcai24/`) 8 | Contains data related to the IJCAI 2024 paper: 9 | - `benchmarks/`: Scripts to download the SMT benchmarks used in the paper 10 | - `results/`: Sample synthesized strategies and experimental results 11 | - `configs/`: Configuration files for experiments 12 | - `synthesis/`: Configuration JSON files for strategy synthesis 13 | - `eval/`: Configuration JSON files for evaluation 14 | 15 | ### SMT-COMP 2024 Data (`smtcomp24/`) 16 | Contains our submission to SMT-COMP 2024: 17 | - `z3bin/`: Z3 binary files and related executables 18 | - `strats/`: Strategy files and configurations 19 | - `z3alpha.py`: Main script/executable of our submitted solver -------------------------------------------------------------------------------- /data/ijcai24/benchmarks/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore everything by default 2 | /* 3 | 4 | # But do not ignore these directories 5 | !download_scripts/ 6 | !samples/ 7 | 8 | # Do not ignore .gitignore itself 9 | !.gitignore -------------------------------------------------------------------------------- /data/ijcai24/benchmarks/download_scripts/download_fastsmt_benchmarks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Get the directory where the script is located 4 | SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 5 | BENCHMARKS_DIR="$(dirname "$SCRIPT_DIR")" 6 | 7 | cd "$BENCHMARKS_DIR" 8 | 9 | wget http://files.srl.inf.ethz.ch/data/smt_data.tar.gz 10 | 11 | # Extract in script directory 12 | tar -xzvf smt_data.tar.gz 13 | 14 | mv smt_data/qf_bv/bruttomesso/core/train smt_data/qf_bv/bruttomesso/core/train1 15 | mv smt_data/qf_bv/bruttomesso/core/valid smt_data/qf_bv/bruttomesso/core/train2 16 | mv smt_data/qf_nia/AProVE/train smt_data/qf_nia/AProVE/train1 17 | mv smt_data/qf_nia/AProVE/valid smt_data/qf_nia/AProVE/train2 18 | mv smt_data/qf_nia/leipzig/train smt_data/qf_nia/leipzig/train1 19 | mv smt_data/qf_nia/leipzig/valid smt_data/qf_nia/leipzig/train2 20 | mv smt_data/qf_nra/hycomp/train smt_data/qf_nra/hycomp/train1 21 | mv smt_data/qf_nra/hycomp/valid smt_data/qf_nra/hycomp/train2 22 | mv smt_data/sage2/train smt_data/sage2/train1 23 | mv smt_data/sage2/valid smt_data/sage2/train2 24 | 25 | mv smt_data fastsmt_benchmarks 26 | rm smt_data.tar.gz 27 | -------------------------------------------------------------------------------- /data/ijcai24/benchmarks/download_scripts/download_lassoranker.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Get the directory where the script is located 4 | SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 5 | BENCHMARKS_DIR="$(dirname "$SCRIPT_DIR")" 6 | 7 | cd "$BENCHMARKS_DIR" 8 | 9 | # first download QF_NRA benchmarks from Zenodo 10 | # https://zenodo.org/records/10607722/files/QF_NRA.tar.zst?download=1 11 | wget "https://zenodo.org/records/10607722/files/QF_NRA.tar.zst?download=1" -O QF_NRA.tar.zst 12 | 13 | # extract the archive 14 | zstd -d QF_NRA.tar.zst 15 | tar xf QF_NRA.tar 16 | 17 | # remove the compressed files 18 | rm QF_NRA.tar.zst QF_NRA.tar 19 | 20 | # move non-incremental/QF_NRA/LassoRanker to benchmarks directory and clean up 21 | mv non-incremental/QF_NRA/LassoRanker . 22 | rm -rf non-incremental 23 | 24 | # create a all/ folder under LassoRanker 25 | mkdir -p LassoRanker/all 26 | 27 | # move all files under LassoRanker/ to all/ folder, excluding the all/ directory itself 28 | for f in LassoRanker/*; do 29 | if [ "$f" != "LassoRanker/all" ]; then 30 | mv "$f" LassoRanker/all/ 31 | fi 32 | done 33 | 34 | # run the dataset creation script 35 | python "$BENCHMARKS_DIR/../../../scripts/dataset_create.py" --split_size "250 250" \ 36 | --benchmark_dir ./LassoRanker/all/ --dataset_dir ./LassoRanker/ 37 | -------------------------------------------------------------------------------- /data/ijcai24/benchmarks/download_scripts/download_qflia.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Get the directory where the script is located 4 | SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 5 | BENCHMARKS_DIR="$(dirname "$SCRIPT_DIR")" 6 | 7 | cd "$BENCHMARKS_DIR" 8 | 9 | # Download QF_LIA benchmarks from Zenodo 10 | wget "https://zenodo.org/records/10607722/files/QF_LIA.tar.zst?download=1" -O QF_LIA.tar.zst 11 | 12 | # Extract the archive 13 | zstd -d QF_LIA.tar.zst 14 | tar xf QF_LIA.tar 15 | 16 | # Remove the compressed files 17 | rm QF_LIA.tar.zst QF_LIA.tar 18 | 19 | # Move QF_LIA from non-incremental to benchmarks directory and clean up 20 | mv non-incremental/QF_LIA . 21 | rm -rf non-incremental 22 | 23 | # create a all/ folder under QF_LIA 24 | mkdir -p QF_LIA/all 25 | 26 | # move all files under QF_LIA/ to all/ folder, excluding the all directory itself 27 | for f in QF_LIA/*; do 28 | if [ "$f" != "QF_LIA/all" ]; then 29 | mv "$f" QF_LIA/all/ 30 | fi 31 | done 32 | 33 | python "$BENCHMARKS_DIR/../../../scripts/dataset_create.py" --split_size "250 500" \ 34 | --benchmark_dir ./QF_LIA/all/ --dataset_dir ./QF_LIA/ 35 | -------------------------------------------------------------------------------- /data/ijcai24/benchmarks/download_scripts/download_qflra.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Get the directory where the script is located 4 | SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 5 | BENCHMARKS_DIR="$(dirname "$SCRIPT_DIR")" 6 | 7 | cd "$BENCHMARKS_DIR" 8 | 9 | # Download QF_LRA benchmarks from Zenodo 10 | wget "https://zenodo.org/records/10607722/files/QF_LRA.tar.zst?download=1" -O QF_LRA.tar.zst 11 | 12 | # Extract the archive 13 | zstd -d QF_LRA.tar.zst 14 | tar xf QF_LRA.tar 15 | 16 | # Remove the compressed files 17 | rm QF_LRA.tar.zst QF_LRA.tar 18 | 19 | # Move QF_LRA from non-incremental to benchmarks directory and clean up 20 | mv non-incremental/QF_LRA . 21 | rm -rf non-incremental 22 | 23 | # create a all/ folder under QF_LRA 24 | mkdir -p QF_LRA/all 25 | 26 | # move all files under QF_LRA/ to all/ folder, excluding the all directory itself 27 | for f in QF_LRA/*; do 28 | if [ "$f" != "QF_LRA/all" ]; then 29 | mv "$f" QF_LRA/all/ 30 | fi 31 | done 32 | 33 | python "$BENCHMARKS_DIR/../../../scripts/dataset_create.py" --split_size "250 500" \ 34 | --benchmark_dir ./QF_LRA/all/ --dataset_dir ./QF_LRA/ 35 | -------------------------------------------------------------------------------- /data/ijcai24/benchmarks/download_scripts/download_qfnia.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Get the directory where the script is located 4 | SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 5 | BENCHMARKS_DIR="$(dirname "$SCRIPT_DIR")" 6 | 7 | cd "$BENCHMARKS_DIR" 8 | 9 | # Download QF_NIA benchmarks from Zenodo 10 | wget "https://zenodo.org/records/10607722/files/QF_NIA.tar.zst?download=1" -O QF_NIA.tar.zst 11 | 12 | # Extract the archive 13 | zstd -d QF_NIA.tar.zst 14 | tar xf QF_NIA.tar 15 | 16 | # Remove the compressed files 17 | rm QF_NIA.tar.zst QF_NIA.tar 18 | 19 | # Move QF_NIA from non-incremental to benchmarks directory and clean up 20 | mv non-incremental/QF_NIA . 21 | rm -rf non-incremental 22 | 23 | # create a all/ folder under QF_NIA 24 | mkdir -p QF_NIA/all 25 | 26 | # move all files under QF_NIA/ to all/ folder, excluding the all directory itself 27 | for f in QF_NIA/*; do 28 | if [ "$f" != "QF_NIA/all" ]; then 29 | mv "$f" QF_NIA/all/ 30 | fi 31 | done 32 | 33 | python "$BENCHMARKS_DIR/../../../scripts/dataset_create.py" --split_size "250 500" \ 34 | --benchmark_dir ./QF_NIA/all/ --dataset_dir ./QF_NIA/ 35 | -------------------------------------------------------------------------------- /data/ijcai24/benchmarks/download_scripts/download_qfnra.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Get the directory where the script is located 4 | SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 5 | BENCHMARKS_DIR="$(dirname "$SCRIPT_DIR")" 6 | 7 | cd "$BENCHMARKS_DIR" 8 | 9 | # Download QF_NRA benchmarks from Zenodo 10 | wget "https://zenodo.org/records/10607722/files/QF_NRA.tar.zst?download=1" -O QF_NRA.tar.zst 11 | 12 | # Extract the archive 13 | zstd -d QF_NRA.tar.zst 14 | tar xf QF_NRA.tar 15 | 16 | # Remove the compressed files 17 | rm QF_NRA.tar.zst QF_NRA.tar 18 | 19 | # Move QF_NRA from non-incremental to benchmarks directory and clean up 20 | mv non-incremental/QF_NRA . 21 | rm -rf non-incremental 22 | 23 | # create a all/ folder under QF_NRA 24 | mkdir -p QF_NRA/all 25 | 26 | # move all files under QF_NRA/ to all/ folder, excluding the all directory itself 27 | for f in QF_NRA/*; do 28 | if [ "$f" != "QF_NRA/all" ]; then 29 | mv "$f" QF_NRA/all/ 30 | fi 31 | done 32 | 33 | python "$BENCHMARKS_DIR/../../../scripts/dataset_create.py" --split_size "250 500" \ 34 | --benchmark_dir ./QF_NRA/all/ --dataset_dir ./QF_NRA/ 35 | -------------------------------------------------------------------------------- /data/ijcai24/benchmarks/download_scripts/download_qfs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Get the directory where the script is located 4 | SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 5 | BENCHMARKS_DIR="$(dirname "$SCRIPT_DIR")" 6 | 7 | cd "$BENCHMARKS_DIR" 8 | 9 | # Download QF_S benchmarks from Zenodo 10 | wget "https://zenodo.org/records/10607722/files/QF_S.tar.zst?download=1" -O QF_S.tar.zst 11 | 12 | # Extract the archive 13 | zstd -d QF_S.tar.zst 14 | tar xf QF_S.tar 15 | 16 | # Remove the compressed files 17 | rm QF_S.tar.zst QF_S.tar 18 | 19 | # Move QF_S from non-incremental to benchmarks directory and clean up 20 | mv non-incremental/QF_S . 21 | rm -rf non-incremental 22 | 23 | # create a all/ folder under QF_S 24 | mkdir -p QF_S/all 25 | 26 | # move all files under QF_S/ to all/ folder, excluding the all directory itself 27 | for f in QF_S/*; do 28 | if [ "$f" != "QF_S/all" ]; then 29 | mv "$f" QF_S/all/ 30 | fi 31 | done 32 | 33 | python "$BENCHMARKS_DIR/../../../scripts/dataset_create.py" --split_size "250 500" \ 34 | --benchmark_dir ./QF_S/all/ --dataset_dir ./QF_S/ 35 | -------------------------------------------------------------------------------- /data/ijcai24/benchmarks/samples/0.smt2: -------------------------------------------------------------------------------- 1 | (set-info :smt-lib-version 2.6) 2 | (set-logic QF_NIA) 3 | (set-info :source |AProve team, see http://aprove.informatik.rwth-aachen.de/, submitted for SMT-COMP 2014|) 4 | (set-info :category "industrial") 5 | (set-info :status sat) 6 | (declare-fun a__8 () Int) 7 | (declare-fun a__3 () Int) 8 | (declare-fun a__4 () Int) 9 | (declare-fun a__5 () Int) 10 | (assert (and (>= (+ (* a__8 a__8 a__3) (* (- 0 1) (* a__8 a__3)) (* (- 0 1) a__4) (* (- 0 1) a__5)) 0) (>= (+ a__3 (- 0 1)) 0) (>= (+ a__8 (- 0 1)) 0) (>= a__8 0) (>= a__3 0) (>= a__4 0) (>= a__5 0))) 11 | (check-sat) 12 | ;;(get-assignment) 13 | ;;(get-model) 14 | (exit) 15 | -------------------------------------------------------------------------------- /data/ijcai24/benchmarks/samples/2.smt2: -------------------------------------------------------------------------------- 1 | (set-info :smt-lib-version 2.6) 2 | (set-logic QF_NIA) 3 | (set-info :source | 4 | Constraint systems stating that a matrix interpretation is 5 | compatible with a rewriting system (weakly compatible with 6 | all rules, strictly compatible with at least one). 7 | 8 | Contributed by Johannes Waldmann at HTKW Leipzig. 9 | |) 10 | (set-info :category "crafted") 11 | (set-info :status sat) 12 | (declare-fun n0 () Int) 13 | (assert (>= n0 0)) 14 | (declare-fun n1 () Int) 15 | (assert (>= n1 0)) 16 | (declare-fun n2 () Int) 17 | (assert (>= n2 0)) 18 | (declare-fun n3 () Int) 19 | (assert (>= n3 0)) 20 | (declare-fun n4 () Int) 21 | (assert (>= n4 0)) 22 | (declare-fun n5 () Int) 23 | (assert (>= n5 0)) 24 | (declare-fun n6 () Int) 25 | (assert (>= n6 0)) 26 | (declare-fun n7 () Int) 27 | (assert (>= n7 0)) 28 | (declare-fun n8 () Int) 29 | (assert (= n8 (* n7 n4))) 30 | (declare-fun n9 () Int) 31 | (assert (= n9 (+ n6 n8))) 32 | (declare-fun n10 () Int) 33 | (assert (= n10 (* n7 n5))) 34 | (declare-fun n11 () Int) 35 | (assert (= n11 (* n7 n6))) 36 | (declare-fun n12 () Int) 37 | (assert (= n12 (+ n6 n11))) 38 | (declare-fun n13 () Int) 39 | (assert (= n13 (* n7 n7))) 40 | (declare-fun n14 () Int) 41 | (assert (= n14 (* n7 n9))) 42 | (declare-fun n15 () Int) 43 | (assert (= n15 (+ n6 n14))) 44 | (declare-fun n16 () Int) 45 | (assert (= n16 (* n7 n10))) 46 | (declare-fun n17 () Int) 47 | (assert (= n17 (* n3 n12))) 48 | (declare-fun n18 () Int) 49 | (assert (= n18 (+ n2 n17))) 50 | (declare-fun n19 () Int) 51 | (assert (= n19 (* n3 n13))) 52 | (declare-fun n20 () Int) 53 | (assert (= n20 (* n1 n9))) 54 | (declare-fun n21 () Int) 55 | (assert (= n21 (+ n0 n20))) 56 | (declare-fun n22 () Int) 57 | (assert (= n22 (* n1 n10))) 58 | (declare-fun n23 () Int) 59 | (assert (= n23 (* n1 n15))) 60 | (declare-fun n24 () Int) 61 | (assert (= n24 (+ n0 n23))) 62 | (declare-fun n25 () Int) 63 | (assert (= n25 (* n1 n16))) 64 | (assert (>= n21 n24)) 65 | (assert (>= n22 n25)) 66 | (declare-fun n26 () Int) 67 | (assert (= n26 (* n3 n6))) 68 | (declare-fun n27 () Int) 69 | (assert (= n27 (+ n2 n26))) 70 | (declare-fun n28 () Int) 71 | (assert (= n28 (* n3 n7))) 72 | (assert (>= n18 n27)) 73 | (assert (>= n19 n28)) 74 | (assert (>= n18 n2)) 75 | (assert (>= n19 n3)) 76 | (declare-fun n29 () Int) 77 | (assert (= n29 (* n5 n9))) 78 | (declare-fun n30 () Int) 79 | (assert (= n30 (+ n4 n29))) 80 | (declare-fun n31 () Int) 81 | (assert (= n31 (* n5 n10))) 82 | (declare-fun n32 () Int) 83 | (assert (= n32 (* n5 n15))) 84 | (declare-fun n33 () Int) 85 | (assert (= n33 (+ n4 n32))) 86 | (declare-fun n34 () Int) 87 | (assert (= n34 (* n5 n16))) 88 | (assert (>= n30 n33)) 89 | (assert (>= n31 n34)) 90 | (declare-fun n35 () Int) 91 | (assert (= n35 (* n13 n6))) 92 | (declare-fun n36 () Int) 93 | (assert (= n36 (+ n12 n35))) 94 | (declare-fun n37 () Int) 95 | (assert (= n37 (* n13 n7))) 96 | (assert (>= n36 n12)) 97 | (assert (>= n37 n13)) 98 | (assert (or (> n21 n24) (> n18 n27) (> n18 n2))) 99 | (check-sat) 100 | (exit) 101 | -------------------------------------------------------------------------------- /data/ijcai24/benchmarks/samples/3.smt2: -------------------------------------------------------------------------------- 1 | (set-info :smt-lib-version 2.6) 2 | (set-logic QF_NIA) 3 | (set-info :source |AProve team, see http://aprove.informatik.rwth-aachen.de/, submitted for SMT-COMP 2014|) 4 | (set-info :category "industrial") 5 | (set-info :status unsat) 6 | (declare-fun b__20 () Int) 7 | (declare-fun a__2 () Int) 8 | (declare-fun a__7 () Int) 9 | (declare-fun a__3 () Int) 10 | (declare-fun b__21 () Int) 11 | (declare-fun b__22 () Int) 12 | (declare-fun b__23 () Int) 13 | (declare-fun a__8 () Int) 14 | (declare-fun a__9 () Int) 15 | (declare-fun a__5 () Int) 16 | (declare-fun a__11 () Int) 17 | (declare-fun a__14 () Int) 18 | (declare-fun a__16 () Int) 19 | (declare-fun a__12 () Int) 20 | (declare-fun a__10 () Int) 21 | (declare-fun a__4 () Int) 22 | (declare-fun a__17 () Int) 23 | (declare-fun a__18 () Int) 24 | (declare-fun a__19 () Int) 25 | (declare-fun a__13 () Int) 26 | (declare-fun a__6 () Int) 27 | (declare-fun a__15 () Int) 28 | (assert (and (>= (+ 1 (* (- 0 1) b__20)) 0) (= (+ (* b__20 a__2 a__7) (* (- 0 1) (* a__2 a__7))) 0) (= (+ (* b__20 a__3 a__7) (* (- 0 1) (* a__3 a__7))) 0) (>= (+ 1 (* (- 0 1) b__21)) 0) (= (+ (* b__21 a__2) (* (- 0 1) a__2)) 0) (= (+ (* b__21 a__3) (* (- 0 1) a__3)) 0) (>= (+ 1 (* (- 0 1) b__22)) 0) (= (+ (* b__22 a__3 a__7) (* (- 0 1) (* a__3 a__7))) 0) (>= (+ 1 (* (- 0 1) b__23)) 0) (= (+ (* b__23 a__2 a__8) (* (- 0 1) (* a__2 a__8))) 0) (= (+ (* b__23 a__2 a__9) (* (- 0 1) (* a__2 a__9))) 0) (= (+ (* b__23 a__3 a__8) (* (- 0 1) (* a__3 a__8))) 0) (= (+ (* b__23 a__3 a__9) (* (- 0 1) (* a__3 a__9))) 0) (>= (+ (* a__5 a__2) (* (- 0 1) (* a__11 a__7 a__2)) (* (- 0 1) (* a__8 a__2)) (* (- 0 1) (* a__11 a__14 a__7 a__3)) (* (- 0 1) (* a__16 a__8 a__3))) 0) (>= (+ (* a__5 a__3) (* (- 0 1) (* a__12 a__7 a__2)) (* (- 0 1) (* a__9 a__2)) (* (- 0 1) (* a__12 a__14 a__7 a__3)) (* (- 0 1) (* a__16 a__9 a__3))) 0) (>= (+ (* a__5 a__2) (* (- 0 1) a__2)) 0) (>= (+ (* a__5 a__2) a__3 (* (- 0 1) (* a__11 a__7 a__2)) (* (- 0 1) (* a__12 a__7 a__2)) (* (- 0 1) (* a__16 a__8 a__2)) (* (- 0 1) (* a__16 a__9 a__2)) (* (- 0 1) (* a__5 a__3))) 0) (>= (+ (* a__16 a__2) (* (- 0 1) a__2)) 0) (>= (+ (* a__5 a__3) (* (- 0 1) (* a__5 a__11 a__7 a__3)) (* (- 0 1) (* a__12 a__7 a__3)) (* (- 0 1) (* a__8 a__3)) (* (- 0 1) (* a__5 a__9 a__3))) 0) (>= (+ (* b__20 a__10) (* b__20 a__4 a__11) (* b__20 a__17 a__12) (* (- 0 1) (* b__20 a__18))) 0) (>= (+ (* b__20 a__10) (* b__20 a__17 a__11) (* (- 0 1) (* b__20 a__19))) 0) (>= (+ (* b__20 a__5 a__11) (* (- 0 1) (* b__20 a__11))) 0) (>= (+ (* b__20 a__5 a__12) (* (- 0 1) (* b__20 a__12))) 0) (>= (+ (* b__21 a__8) (* (- 0 1) b__21)) 0) (>= (+ (* b__21 a__9) (* (- 0 1) b__21)) 0) (>= (+ (* b__22 a__13) (* (- 0 1) (* b__22 a__6)) (* (- 0 1) (* b__22 a__19 a__8)) (* (- 0 1) (* b__22 a__18 a__9))) 0) (>= (+ (* b__22 a__14) (* (- 0 1) (* b__22 a__7))) 0) (>= (+ (* b__23 a__16) (* (- 0 1) b__23)) 0) (>= (+ (* a__4 a__2) (* a__4 a__3) (* (- 0 1) (* a__6 a__2)) (* (- 0 1) (* a__10 a__7 a__2)) (* (- 0 1) (* a__6 a__3)) (* (- 0 1) (* a__13 a__7 a__3)) (* (- 0 1) (* a__10 a__14 a__7 a__3)) (* (- 0 1) (* a__15 a__8 a__3)) (* (- 0 1) (* a__15 a__9 a__3))) 0) (>= (* a__4 a__2) 0) (>= (+ (* a__4 a__2) (* (- 0 1) (* a__6 a__2)) (* (- 0 1) (* a__10 a__7 a__2)) (* (- 0 1) (* a__15 a__8 a__2)) (* (- 0 1) (* a__15 a__9 a__2)) (* (- 0 1) (* a__4 a__3))) 0) (>= (+ (* a__15 a__2) (* a__4 a__3) (* (- 0 1) (* a__6 a__3)) (* (- 0 1) (* a__10 a__7 a__3)) (* (- 0 1) (* a__4 a__11 a__7 a__3)) (* (- 0 1) (* a__4 a__9 a__3))) 0) (not (and (= (+ (* a__4 a__2) (* a__4 a__3) (* (- 0 1) (* a__6 a__2)) (* (- 0 1) (* a__10 a__7 a__2)) (* (- 0 1) (* a__6 a__3)) (* (- 0 1) (* a__13 a__7 a__3)) (* (- 0 1) (* a__10 a__14 a__7 a__3)) (* (- 0 1) (* a__15 a__8 a__3)) (* (- 0 1) (* a__15 a__9 a__3))) 0) (= (* a__4 a__2) 0) (= (+ (* a__4 a__2) (* (- 0 1) (* a__6 a__2)) (* (- 0 1) (* a__10 a__7 a__2)) (* (- 0 1) (* a__15 a__8 a__2)) (* (- 0 1) (* a__15 a__9 a__2)) (* (- 0 1) (* a__4 a__3))) 0) (= (+ (* a__15 a__2) (* a__4 a__3) (* (- 0 1) (* a__6 a__3)) (* (- 0 1) (* a__10 a__7 a__3)) (* (- 0 1) (* a__4 a__11 a__7 a__3)) (* (- 0 1) (* a__4 a__9 a__3))) 0))) (>= b__20 0) (>= 1 b__20) (>= a__2 0) (>= a__7 0) (>= a__3 0) (>= b__21 0) (>= 1 b__21) (>= b__22 0) (>= 1 b__22) (>= b__23 0) (>= 1 b__23) (>= a__8 0) (>= a__9 0) (>= a__5 0) (>= a__11 0) (>= a__14 0) (>= a__16 0) (>= a__12 0) (>= a__10 0) (>= a__4 0) (>= a__17 0) (>= a__18 0) (>= a__19 0) (>= a__13 0) (>= a__6 0) (>= a__15 0))) 29 | (check-sat) 30 | ;;(get-assignment) 31 | ;;(get-model) 32 | (exit) 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /data/ijcai24/configs/eval/AProVE.json: -------------------------------------------------------------------------------- 1 | { 2 | "solvers": { 3 | "z3": "z3", 4 | "cvc5": "cvc5" 5 | }, 6 | "strat_files": { 7 | "z3alpha": "data/ijcai24/results/QF_NIA/AProVE/sample_strategies/strategy_z3alpha.txt", 8 | "fastsmt": "data/ijcai24/results/QF_NIA/AProVE/sample_strategies/strategy_fastsmt.txt", 9 | "z3": null 10 | }, 11 | "timeout": 10, 12 | "batch_size": 30, 13 | "res_dir": "experiments/evaluation/AProVE", 14 | "test_dir": "data/ijcai24/benchmarks/fastsmt_benchmarks/qf_nia/AProVE/test", 15 | "tmp_dir": "/tmp/" 16 | } -------------------------------------------------------------------------------- /data/ijcai24/configs/eval/LassoRanker.json: -------------------------------------------------------------------------------- 1 | { 2 | "solvers": { 3 | "z3": "z3" 4 | }, 5 | "strat_files": { 6 | "z3alpha": "./data/ijcai24/results/QF_NRA/LassoRanker/sample_strategies/strategy_z3alpha.txt", 7 | "fastsmt": "./data/ijcai24/results/QF_NRA/LassoRanker/sample_strategies/strategy_fastsmt.txt", 8 | "z3": null 9 | }, 10 | "timeout": 10, 11 | "batch_size": 30, 12 | "res_dir": "experiments/evaluation/LassoRanker", 13 | "test_dir": "data/ijcai24/benchmarks/LassoRanker/test", 14 | "tmp_dir": "/tmp/" 15 | } -------------------------------------------------------------------------------- /data/ijcai24/configs/eval/README.md: -------------------------------------------------------------------------------- 1 | # Evaluation Configuration Help 2 | 3 | **"solvers"**: list all competing solvers with their invocation command 4 | 5 | **"strat_files"**: list Z3 strategy file path to be tested (there must be a "Z3" entry in "solvers"); put *null* for the default Z3 solver 6 | 7 | **"timeout"**: wallclock timeout for a solver-instance pair 8 | 9 | **"batch_size"**: number of instances to be evaluated in a batch 10 | 11 | **"res_dir"**: the directory where the results are saved 12 | 13 | **"test_dir"**: the test instance set directory 14 | 15 | **"tmp_dir"**: the temp file directory 16 | 17 | -------------------------------------------------------------------------------- /data/ijcai24/configs/eval/Sage2.json: -------------------------------------------------------------------------------- 1 | { 2 | "solvers": { 3 | "z3": "z3", 4 | "cvc5": "cvc5" 5 | }, 6 | "strat_files": { 7 | "z3alpha": "data/ijcai24/results/QF_BV/Sage2/sample_strategies/strategy_z3alpha.txt", 8 | "fastsmt": "data/ijcai24/results/QF_BV/Sage2/sample_strategies/strategy_fastsmt.txt", 9 | "z3": null 10 | }, 11 | "timeout": 10, 12 | "batch_size": 30, 13 | "res_dir": "experiments/evaluation/Sage2", 14 | "test_dir": "data/ijcai24/benchmarks/fastsmt_benchmarks/sage2/test", 15 | "tmp_dir": "/tmp/" 16 | } -------------------------------------------------------------------------------- /data/ijcai24/configs/eval/Sage2_1min.json: -------------------------------------------------------------------------------- 1 | { 2 | "solvers": { 3 | "z3": "z3", 4 | "cvc5": "cvc5" 5 | }, 6 | "strat_files": { 7 | "z3alpha": "data/ijcai24/results/QF_BV/Sage2_1min/sample_strategies/strategy_z3alpha.txt", 8 | "fastsmt": "data/ijcai24/results/QF_BV/Sage2_1min/sample_strategies/strategy_fastsmt.txt", 9 | "z3": null 10 | }, 11 | "timeout": 60, 12 | "batch_size": 30, 13 | "res_dir": "experiments/evaluation/Sage2_1min", 14 | "test_dir": "data/ijcai24/benchmarks/fastsmt_benchmarks/sage2/test", 15 | "tmp_dir": "/tmp/" 16 | } -------------------------------------------------------------------------------- /data/ijcai24/configs/eval/Sage2_5min.json: -------------------------------------------------------------------------------- 1 | { 2 | "solvers": { 3 | "z3": "z3", 4 | "cvc5": "cvc5" 5 | }, 6 | "strat_files": { 7 | "z3alpha": "data/ijcai24/results/QF_BV/Sage2_5min/sample_strategies/strategy_z3alpha.txt", 8 | "fastsmt": "data/ijcai24/results/QF_BV/Sage2_5min/sample_strategies/strategy_fastsmt.txt", 9 | "z3": null 10 | }, 11 | "timeout": 300, 12 | "batch_size": 30, 13 | "res_dir": "experiments/evaluation/Sage2_5min", 14 | "test_dir": "data/ijcai24/benchmarks/fastsmt_benchmarks/sage2/test", 15 | "tmp_dir": "/tmp/" 16 | } -------------------------------------------------------------------------------- /data/ijcai24/configs/eval/core.json: -------------------------------------------------------------------------------- 1 | { 2 | "solvers": { 3 | "z3": "z3", 4 | "cvc5": "cvc5" 5 | }, 6 | "strat_files": { 7 | "z3alpha": "data/ijcai24/results/QF_BV/core/sample_strategies/strategy_z3alpha.txt", 8 | "fastsmt": "data/ijcai24/results/QF_BV/core/sample_strategies/strategy_fastsmt.txt", 9 | "z3": null 10 | }, 11 | "timeout": 10, 12 | "batch_size": 30, 13 | "res_dir": "experiments/evaluation/core", 14 | "test_dir": "data/ijcai24/benchmarks/fastsmt_benchmarks/qf_bv/bruttomesso/core/test", 15 | "tmp_dir": "/tmp/" 16 | } -------------------------------------------------------------------------------- /data/ijcai24/configs/eval/hycomp.json: -------------------------------------------------------------------------------- 1 | { 2 | "solvers": { 3 | "z3": "z3", 4 | "cvc5": "cvc5" 5 | }, 6 | "strat_files": { 7 | "z3alpha": "data/ijcai24/results/QF_NRA/hycomp/sample_strategies/strategy_z3alpha.txt", 8 | "fastsmt": "data/ijcai24/results/QF_NRA/hycomp/sample_strategies/strategy_fastsmt.txt", 9 | "z3": null 10 | }, 11 | "timeout": 10, 12 | "batch_size": 30, 13 | "res_dir": "experiments/evaluation/hycomp", 14 | "test_dir": "data/ijcai24/benchmarks/fastsmt_benchmarks/qf_nra/hycomp/test", 15 | "tmp_dir": "/tmp/" 16 | } -------------------------------------------------------------------------------- /data/ijcai24/configs/eval/leipzig.json: -------------------------------------------------------------------------------- 1 | { 2 | "solvers": { 3 | "z3": "z3", 4 | "cvc5": "cvc5" 5 | }, 6 | "strat_files": { 7 | "z3alpha": "data/ijcai24/results/QF_NIA/leipzig/sample_strategies/strategy_z3alpha.txt", 8 | "fastsmt": "data/ijcai24/results/QF_NIA/leipzig/sample_strategies/strategy_fastsmt.txt", 9 | "z3": null 10 | }, 11 | "timeout": 10, 12 | "batch_size": 30, 13 | "res_dir": "experiments/evaluation/leipzig", 14 | "test_dir": "data/ijcai24/benchmarks/fastsmt_benchmarks/qf_nia/leipzig/test", 15 | "tmp_dir": "/tmp/" 16 | } -------------------------------------------------------------------------------- /data/ijcai24/configs/eval/qflia.json: -------------------------------------------------------------------------------- 1 | { 2 | "solvers": { 3 | "z3": "z3", 4 | "cvc5": "cvc5" 5 | }, 6 | "strat_files": { 7 | "z3alpha": "data/ijcai24/results/QF_LIA/sample_strategies/strategy_z3alpha.txt", 8 | "fastsmt": "data/ijcai24/results/QF_LIA/sample_strategies/strategy_fastsmt.txt", 9 | "z3": null 10 | }, 11 | "timeout": 10, 12 | "batch_size": 30, 13 | "res_dir": "experiments/evaluation/qflia", 14 | "test_dir": "./benchmarks/QF_LIA/test", 15 | "tmp_dir": "/tmp/" 16 | } -------------------------------------------------------------------------------- /data/ijcai24/configs/eval/qflra.json: -------------------------------------------------------------------------------- 1 | { 2 | "solvers": { 3 | "z3": "z3", 4 | "cvc5": "cvc5" 5 | }, 6 | "strat_files": { 7 | "z3alpha": "data/ijcai24/results/QF_LRA/sample_strategies/strategy_z3alpha.txt", 8 | "fastsmt": "data/ijcai24/results/QF_LRA/sample_strategies/strategy_fastsmt.txt", 9 | "z3": null 10 | }, 11 | "timeout": 10, 12 | "batch_size": 30, 13 | "res_dir": "experiments/evaluation/qflra", 14 | "test_dir": "./benchmarks/QF_LRA/test", 15 | "tmp_dir": "/tmp/" 16 | } -------------------------------------------------------------------------------- /data/ijcai24/configs/eval/qfs.json: -------------------------------------------------------------------------------- 1 | { 2 | "solvers": { 3 | "z3": "z3", 4 | "z3str4": "z3 smt.string_solver=z3str3 smt.str.tactic=3probe", 5 | "cvc5": "cvc5" 6 | }, 7 | "strat_files": { 8 | "z3alpha": "data/ijcai24/results/QF_S/sample_strategies/strategy_z3alpha.txt", 9 | "z3": null 10 | }, 11 | "timeout": 10, 12 | "batch_size": 30, 13 | "res_dir": "experiments/evaluation/qfs", 14 | "test_dir": "./benchmarks/QF_S/test", 15 | "tmp_dir": "/tmp/" 16 | } -------------------------------------------------------------------------------- /data/ijcai24/configs/synthesis/AProVE.json: -------------------------------------------------------------------------------- 1 | { 2 | "logic": "QF_NIA", 3 | "batch_size": 50, 4 | "s1config": { 5 | "bench_dirs": [ 6 | "data/ijcai24/benchmarks/fastsmt_benchmarks/qf_nia/AProVE/train1" 7 | ], 8 | "sim_num": 800, 9 | "timeout": 10, 10 | "c_uct": 0.5, 11 | "c_ucb": 0.2, 12 | "is_log": false 13 | }, 14 | "s2config": { 15 | "bench_dirs": [ 16 | "data/ijcai24/benchmarks/fastsmt_benchmarks/qf_nia/AProVE/train1", 17 | "data/ijcai24/benchmarks/fastsmt_benchmarks/qf_nia/AProVE/train2" 18 | ], 19 | "sim_num": 300000, 20 | "timeout": 10, 21 | "c_uct": 0.6, 22 | "is_log": false 23 | }, 24 | "ln_strat_num": 20, 25 | "temp_folder": "/tmp/", 26 | "random_seed": 0 27 | } -------------------------------------------------------------------------------- /data/ijcai24/configs/synthesis/LassoRanker.json: -------------------------------------------------------------------------------- 1 | { 2 | "logic": "QF_NRA", 3 | "batch_size": 50, 4 | "s1config": { 5 | "bench_dirs": [ 6 | "data/ijcai24/benchmarks/LassoRanker/train1" 7 | ], 8 | "sim_num": 800, 9 | "timeout": 10, 10 | "c_uct": 0.5, 11 | "c_ucb": 0.2, 12 | "is_log": false 13 | }, 14 | "s2config": { 15 | "bench_dirs": [ 16 | "data/ijcai24/benchmarks/LassoRanker/train1", 17 | "data/ijcai24/benchmarks/LassoRanker/train2" 18 | ], 19 | "sim_num": 300000, 20 | "timeout": 10, 21 | "c_uct": 0.6, 22 | "is_log": false 23 | }, 24 | "ln_strat_num": 20, 25 | "temp_folder": "/tmp/", 26 | "random_seed": 0 27 | } -------------------------------------------------------------------------------- /data/ijcai24/configs/synthesis/README.md: -------------------------------------------------------------------------------- 1 | # Synthesis Configuration Help 2 | 3 | **"logic"**: the SMT logic of the tested benchmarks, e.g., QF_BV, QF_LIA, etc 4 | 5 | **"batch_size"**: number of instances to be evaluated in a batch 6 | 7 | **"s1config"**: configurations for the stage-1 MCTS 8 | 9 | **"s2config"**: configurations for the stage-2 MCTS 10 | 11 | **"bench_dirs"**: list all training set directories (will recursively include all instances in the listed directories as training instances) 12 | 13 | **"sim_num"**: number of MCTS simulations 14 | 15 | **"timeout"**: wallclock timeout for each solver-instance pair 16 | 17 | **"c_uct"**: the c constant in UCT of MCTS 18 | 19 | **"c_ucb"**: the c constant in UCB1 of the layered search 20 | 21 | **"is_log"**: whether log the info 22 | 23 | **"ln_strat_num"**: number of linear strategies to be selected after the Stage-1 MCTS 24 | 25 | **"temp_folder"**: the temp file directory 26 | 27 | **"random_seed"**: the random seed for rollout 28 | -------------------------------------------------------------------------------- /data/ijcai24/configs/synthesis/Sage2.json: -------------------------------------------------------------------------------- 1 | { 2 | "logic": "QF_BV", 3 | "batch_size": 50, 4 | "s1config": { 5 | "bench_dirs": [ 6 | "data/ijcai24/benchmarks/fastsmt_benchmarks/sage2/train1" 7 | ], 8 | "sim_num": 800, 9 | "timeout": 10, 10 | "c_uct": 0.5, 11 | "c_ucb": 0.2, 12 | "is_log": false 13 | }, 14 | "s2config": { 15 | "bench_dirs": [ 16 | "data/ijcai24/benchmarks/fastsmt_benchmarks/sage2/train1", 17 | "data/ijcai24/benchmarks/fastsmt_benchmarks/sage2/train2" 18 | ], 19 | "sim_num": 300000, 20 | "timeout": 10, 21 | "c_uct": 0.6, 22 | "is_log": false 23 | }, 24 | "ln_strat_num": 20, 25 | "temp_folder": "/tmp/", 26 | "random_seed": 0 27 | } -------------------------------------------------------------------------------- /data/ijcai24/configs/synthesis/Sage2_1min.json: -------------------------------------------------------------------------------- 1 | { 2 | "logic": "QF_BV", 3 | "batch_size": 50, 4 | "s1config": { 5 | "bench_dirs": [ 6 | "data/ijcai24/benchmarks/fastsmt_benchmarks/sage2/train1" 7 | ], 8 | "sim_num": 800, 9 | "timeout": 10, 10 | "c_uct": 0.5, 11 | "c_ucb": 0.2, 12 | "is_log": false 13 | }, 14 | "s2config": { 15 | "bench_dirs": [ 16 | "data/ijcai24/benchmarks/fastsmt_benchmarks/sage2/train1", 17 | "data/ijcai24/benchmarks/fastsmt_benchmarks/sage2/train2" 18 | ], 19 | "sim_num": 300000, 20 | "timeout": 60, 21 | "c_uct": 0.6, 22 | "is_log": false 23 | }, 24 | "ln_strat_num": 20, 25 | "temp_folder": "/tmp/", 26 | "random_seed": 0 27 | } -------------------------------------------------------------------------------- /data/ijcai24/configs/synthesis/Sage2_5min.json: -------------------------------------------------------------------------------- 1 | { 2 | "logic": "QF_BV", 3 | "batch_size": 50, 4 | "s1config": { 5 | "bench_dirs": [ 6 | "data/ijcai24/benchmarks/fastsmt_benchmarks/sage2/train1" 7 | ], 8 | "sim_num": 800, 9 | "timeout": 10, 10 | "c_uct": 0.5, 11 | "c_ucb": 0.2, 12 | "is_log": false 13 | }, 14 | "s2config": { 15 | "bench_dirs": [ 16 | "data/ijcai24/benchmarks/fastsmt_benchmarks/sage2/train1", 17 | "data/ijcai24/benchmarks/fastsmt_benchmarks/sage2/train2" 18 | ], 19 | "sim_num": 300000, 20 | "timeout": 300, 21 | "c_uct": 0.6, 22 | "is_log": false 23 | }, 24 | "ln_strat_num": 20, 25 | "temp_folder": "/tmp/", 26 | "random_seed": 0 27 | } -------------------------------------------------------------------------------- /data/ijcai24/configs/synthesis/core.json: -------------------------------------------------------------------------------- 1 | { 2 | "logic": "QF_BV", 3 | "batch_size": 50, 4 | "s1config": { 5 | "bench_dirs": [ 6 | "data/ijcai24/benchmarks/fastsmt_benchmarks/qf_bv/bruttomesso/core/train1" 7 | ], 8 | "sim_num": 800, 9 | "timeout": 10, 10 | "c_uct": 0.5, 11 | "c_ucb": 0.2, 12 | "is_log": false 13 | }, 14 | "s2config": { 15 | "bench_dirs": [ 16 | "data/ijcai24/benchmarks/fastsmt_benchmarks/qf_bv/bruttomesso/core/train1", 17 | "data/ijcai24/benchmarks/fastsmt_benchmarks/qf_bv/bruttomesso/core/train2" 18 | ], 19 | "sim_num": 300000, 20 | "timeout": 10, 21 | "c_uct": 0.6, 22 | "is_log": false 23 | }, 24 | "ln_strat_num": 20, 25 | "temp_folder": "/tmp/", 26 | "random_seed": 0 27 | } -------------------------------------------------------------------------------- /data/ijcai24/configs/synthesis/hycomp.json: -------------------------------------------------------------------------------- 1 | { 2 | "logic": "QF_NRA", 3 | "batch_size": 50, 4 | "s1config": { 5 | "bench_dirs": [ 6 | "data/ijcai24/benchmarks/fastsmt_benchmarks/qf_nra/hycomp/train1" 7 | ], 8 | "sim_num": 800, 9 | "timeout": 10, 10 | "c_uct": 0.5, 11 | "c_ucb": 0.2, 12 | "is_log": false 13 | }, 14 | "s2config": { 15 | "bench_dirs": [ 16 | "data/ijcai24/benchmarks/fastsmt_benchmarks/qf_nra/hycomp/train1", 17 | "data/ijcai24/benchmarks/fastsmt_benchmarks/qf_nra/hycomp/train2" 18 | ], 19 | "sim_num": 300000, 20 | "timeout": 10, 21 | "c_uct": 0.6, 22 | "is_log": false 23 | }, 24 | "ln_strat_num": 20, 25 | "temp_folder": "/tmp/", 26 | "random_seed": 0 27 | } -------------------------------------------------------------------------------- /data/ijcai24/configs/synthesis/leipzig.json: -------------------------------------------------------------------------------- 1 | { 2 | "logic": "QF_NIA", 3 | "batch_size": 50, 4 | "s1config": { 5 | "bench_dirs": [ 6 | "data/ijcai24/benchmarks/fastsmt_benchmarks/qf_nia/leipzig/train1" 7 | ], 8 | "sim_num": 800, 9 | "timeout": 10, 10 | "c_uct": 0.5, 11 | "c_ucb": 0.2, 12 | "is_log": false 13 | }, 14 | "s2config": { 15 | "bench_dirs": [ 16 | "data/ijcai24/benchmarks/fastsmt_benchmarks/qf_nia/leipzig/train1", 17 | "data/ijcai24/benchmarks/fastsmt_benchmarks/qf_nia/leipzig/train2" 18 | ], 19 | "sim_num": 300000, 20 | "timeout": 10, 21 | "c_uct": 0.6, 22 | "is_log": false 23 | }, 24 | "ln_strat_num": 20, 25 | "temp_folder": "/tmp/", 26 | "random_seed": 0 27 | } -------------------------------------------------------------------------------- /data/ijcai24/configs/synthesis/qflia.json: -------------------------------------------------------------------------------- 1 | { 2 | "logic": "QF_LIA", 3 | "batch_size": 50, 4 | "s1config": { 5 | "bench_dirs": [ 6 | "data/ijcai24/benchmarks/QF_LIA/train1" 7 | ], 8 | "sim_num": 800, 9 | "timeout": 10, 10 | "c_uct": 0.5, 11 | "c_ucb": 0.2, 12 | "is_log": false 13 | }, 14 | "s2config": { 15 | "bench_dirs": [ 16 | "data/ijcai24/benchmarks/QF_LIA/train1", 17 | "data/ijcai24/benchmarks/QF_LIA/train2" 18 | ], 19 | "sim_num": 300000, 20 | "timeout": 10, 21 | "c_uct": 0.6, 22 | "is_log": false 23 | }, 24 | "ln_strat_num": 20, 25 | "temp_folder": "/tmp/", 26 | "random_seed": 0 27 | } -------------------------------------------------------------------------------- /data/ijcai24/configs/synthesis/qflra.json: -------------------------------------------------------------------------------- 1 | { 2 | "logic": "QF_LRA", 3 | "batch_size": 50, 4 | "s1config": { 5 | "bench_dirs": [ 6 | "data/ijcai24/benchmarks/QF_LRA/train1" 7 | ], 8 | "sim_num": 800, 9 | "timeout": 10, 10 | "c_uct": 0.5, 11 | "c_ucb": 0.2, 12 | "is_log": false 13 | }, 14 | "s2config": { 15 | "bench_dirs": [ 16 | "data/ijcai24/benchmarks/QF_LRA/train1", 17 | "data/ijcai24/benchmarks/QF_LRA/train2" 18 | ], 19 | "sim_num": 300000, 20 | "timeout": 10, 21 | "c_uct": 0.6, 22 | "is_log": false 23 | }, 24 | "ln_strat_num": 20, 25 | "temp_folder": "/tmp/", 26 | "random_seed": 0 27 | } -------------------------------------------------------------------------------- /data/ijcai24/configs/synthesis/qfnia.json: -------------------------------------------------------------------------------- 1 | { 2 | "logic": "QF_NIA", 3 | "batch_size": 50, 4 | "s1config": { 5 | "bench_dirs": [ 6 | "data/ijcai24/benchmarks/QF_NIA/train1" 7 | ], 8 | "sim_num": 800, 9 | "timeout": 10, 10 | "c_uct": 0.5, 11 | "c_ucb": 0.2, 12 | "is_log": false 13 | }, 14 | "s2config": { 15 | "bench_dirs": [ 16 | "data/ijcai24/benchmarks/QF_NIA/train1", 17 | "data/ijcai24/benchmarks/QF_NIA/train2" 18 | ], 19 | "sim_num": 300000, 20 | "timeout": 10, 21 | "c_uct": 0.6, 22 | "is_log": false 23 | }, 24 | "ln_strat_num": 20, 25 | "temp_folder": "/tmp/", 26 | "random_seed": 0 27 | } -------------------------------------------------------------------------------- /data/ijcai24/configs/synthesis/qfs.json: -------------------------------------------------------------------------------- 1 | { 2 | "logic": "QF_S", 3 | "batch_size": 50, 4 | "s1config": { 5 | "bench_dirs": [ 6 | "data/ijcai24/benchmarks/QF_S/train1" 7 | ], 8 | "sim_num": 800, 9 | "timeout": 10, 10 | "c_uct": 0.5, 11 | "c_ucb": 0.2, 12 | "is_log": false 13 | }, 14 | "s2config": { 15 | "bench_dirs": [ 16 | "data/ijcai24/benchmarks/QF_S/train1", 17 | "data/ijcai24/benchmarks/QF_S/train2" 18 | ], 19 | "sim_num": 300000, 20 | "timeout": 10, 21 | "c_uct": 0.6, 22 | "is_log": false 23 | }, 24 | "ln_strat_num": 20, 25 | "temp_folder": "/tmp/", 26 | "random_seed": 0 27 | } -------------------------------------------------------------------------------- /data/ijcai24/configs/synthesis/sample.json: -------------------------------------------------------------------------------- 1 | { 2 | "logic": "QF_NIA", 3 | "batch_size": 2, 4 | "s1config": { 5 | "bench_dirs": [ 6 | "data/ijcai24/benchmarks/samples" 7 | ], 8 | "sim_num": 15, 9 | "timeout": 1, 10 | "c_uct": 0.5, 11 | "c_ucb": 0.2, 12 | "is_log": false 13 | }, 14 | "s2config": { 15 | "bench_dirs": [ 16 | "data/ijcai24/benchmarks/samples" 17 | ], 18 | "sim_num": 50, 19 | "timeout": 5, 20 | "c_uct": 0.6, 21 | "is_log": false 22 | }, 23 | "ln_strat_num": 5, 24 | "temp_folder": "/tmp/", 25 | "random_seed": 0 26 | } -------------------------------------------------------------------------------- /data/ijcai24/results/QF_BV/Sage2/results/summary.csv: -------------------------------------------------------------------------------- 1 | solver,solved,par2,par10 2 | z3alpha,3410.8,70932.24918,313588.2492 3 | z3alpha0,2658.2,83569.42634,386433.4263 4 | fastsmt,3305.4,72837.76885,323925.7689 5 | z3,2390,88146.28572440147,412466.2857244015 6 | cvc5,2361,90359.37987565994,416999.37987565994 -------------------------------------------------------------------------------- /data/ijcai24/results/QF_BV/Sage2/sample_strategies/strategy_z3alpha.txt: -------------------------------------------------------------------------------- 1 | (if (> num-exprs 685) (then (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false :push_ite_bv false :hoist_mul false :pull_cheap_ite false) solve-eqs elim-uncnstr simplify bit-blast elim-uncnstr smt) (if (> num-consts 66) (then (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false :push_ite_bv false :hoist_mul false :pull_cheap_ite false) ackermannize_bv simplify bit-blast sat) (then (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false :push_ite_bv false :hoist_mul false :pull_cheap_ite false) solve-eqs elim-uncnstr simplify bit-blast elim-uncnstr smt))) -------------------------------------------------------------------------------- /data/ijcai24/results/QF_BV/Sage2_1min/results/summary.csv: -------------------------------------------------------------------------------- 1 | solver,solved,par2,par10 2 | z3alpha,4501,280763.02092432976,1213403.0209243298 3 | fastsmt,4365,282363.7318432331,1280283.731843233 4 | z3,3718,369962.78204631805,1678442.782046318 5 | cvc5,5011,249860.9375822544,937700.9375822544 6 | -------------------------------------------------------------------------------- /data/ijcai24/results/QF_BV/Sage2_1min/sample_strategies/strategy_z3alpha.txt: -------------------------------------------------------------------------------- 1 | (if (> num-consts 209) (then max-bv-sharing purify-arith simplify purify-arith elim-uncnstr solve-eqs propagate-values smt) (if (> size 386) (then (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false :push_ite_bv false :hoist_mul false :pull_cheap_ite false) ackermannize_bv simplify bit-blast sat) (or-else (try-for (then ctx-simplify (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false :push_ite_bv false :hoist_mul false :pull_cheap_ite false) smt) 8000) (then (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false :push_ite_bv false :hoist_mul false :pull_cheap_ite false) simplify bit-blast (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false :push_ite_bv false :hoist_mul false :pull_cheap_ite false) simplify elim-uncnstr smt)))) -------------------------------------------------------------------------------- /data/ijcai24/results/QF_BV/Sage2_5min/results/summary.csv: -------------------------------------------------------------------------------- 1 | solver,solved,par2,par10 2 | z3alpha,4887,1052025.0307278633,4788825.030727863 3 | fastsmt,4681,1166342.4631021023,5397542.463102102 4 | z3,4495,1380508.7455546856,6058108.745554686 5 | cvc5,6014,520091.22972655296,1552091.229726553 6 | -------------------------------------------------------------------------------- /data/ijcai24/results/QF_BV/Sage2_5min/sample_strategies/strategy_z3alpha.txt: -------------------------------------------------------------------------------- 1 | (or-else (try-for (or-else (try-for (then (using-params propagate-values :push_ite_bv false) max-bv-sharing smt) 2000) (then (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false :push_ite_bv false :hoist_mul false :pull_cheap_ite false) simplify bit-blast (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false :push_ite_bv false :hoist_mul false :pull_cheap_ite false) simplify elim-uncnstr smt)) 128000) (then max-bv-sharing purify-arith simplify purify-arith elim-uncnstr solve-eqs propagate-values smt)) -------------------------------------------------------------------------------- /data/ijcai24/results/QF_BV/core/results/summary.csv: -------------------------------------------------------------------------------- 1 | solver,solved,par2,par10 2 | z3alpha,269,287.1172483,367.1172483 3 | z3alpha0,268.8,307.5010076,403.5010076 4 | fastsmt,270,240.0343744,240.0343744 5 | z3,204,1641.6705393791199,6921.67053937912 6 | cvc5,223,1407.6579942703247,5167.657994270325 -------------------------------------------------------------------------------- /data/ijcai24/results/QF_BV/core/sample_strategies/strategy_fastsmt.txt: -------------------------------------------------------------------------------- 1 | (if (> num-consts 73) (then (using-params simplify :blast_distinct true :elim_and true :flat false :hoist_mul false :local_ctx true :pull_cheap_ite false :push_ite_bv true :som true) elim-uncnstr reduce-bv-size sat qfbv) (if (> num-exprs 858) (if (> size 41) (then (using-params simplify :blast_distinct true :elim_and true :flat false :hoist_mul false :local_ctx true :pull_cheap_ite false :push_ite_bv true :som true) elim-uncnstr reduce-bv-size sat qfbv) (if (> num-exprs 2940) (then (using-params simplify :blast_distinct true :elim_and true :flat false :hoist_mul false :local_ctx true :pull_cheap_ite false :push_ite_bv true :som true) elim-uncnstr reduce-bv-size sat qfbv) (then (using-params simplify :blast_distinct true :elim_and true :flat false :hoist_mul false :local_ctx true :pull_cheap_ite false :push_ite_bv true :som true) elim-uncnstr reduce-bv-size sat qfbv))) (if (> num-consts 31) (then (using-params simplify :blast_distinct true :elim_and true :flat false :hoist_mul false :local_ctx true :pull_cheap_ite false :push_ite_bv true :som true) elim-uncnstr reduce-bv-size sat qfbv) (then (using-params simplify :blast_distinct true :elim_and true :flat false :hoist_mul false :local_ctx true :pull_cheap_ite false :push_ite_bv true :som true) elim-uncnstr reduce-bv-size sat qfbv)))) -------------------------------------------------------------------------------- /data/ijcai24/results/QF_BV/core/sample_strategies/strategy_z3alpha.txt: -------------------------------------------------------------------------------- 1 | (if (> size 33) (if (> size 45) (then simplify bit-blast elim-uncnstr elim-uncnstr (using-params propagate-values :push_ite_bv true) elim-uncnstr (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true :push_ite_bv true :hoist_mul true :pull_cheap_ite true) solve-eqs propagate-values elim-uncnstr propagate-values sat) (then simplify bit-blast (using-params propagate-values :push_ite_bv true) (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true :push_ite_bv true :hoist_mul true :pull_cheap_ite true) ctx-simplify solve-eqs sat)) (then simplify bit-blast (using-params propagate-values :push_ite_bv false) (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true :push_ite_bv true :hoist_mul true :pull_cheap_ite true) (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false :push_ite_bv false :hoist_mul false :pull_cheap_ite false) (using-params propagate-values :push_ite_bv true) propagate-values sat)) -------------------------------------------------------------------------------- /data/ijcai24/results/QF_LIA/results/summary.csv: -------------------------------------------------------------------------------- 1 | solver,solved,par2,par10 2 | z3alpha,9512,65200.79241013527,302320.79241013527 3 | fastsmt,3892,173223.9509513378,859943.9509513378 4 | z3,9311,68817.77484345436,322017.77484345436 5 | cvc5,8082,94914.63003635406,446434.63003635406 6 | -------------------------------------------------------------------------------- /data/ijcai24/results/QF_LIA/sample_strategies/strategy_z3alpha.txt: -------------------------------------------------------------------------------- 1 | (if (> num-exprs 8625) (then propagate-ineqs solve-eqs qflia) (if (> num-exprs 1631) (if (> num-consts 119) (then propagate-values qflia) (then solve-eqs (using-params lia2pb :lia2pb_max_bits 32) qflia)) (then (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false :pull_cheap_ite false :push_ite_arith false :hoist_ite false :arith_lhs false) solve-eqs simplify solve-eqs smt))) -------------------------------------------------------------------------------- /data/ijcai24/results/QF_LRA/results/summary.csv: -------------------------------------------------------------------------------- 1 | solver,solved,par2,par10 2 | z3alpha,738,5944.560102462769,27144.56010246277 3 | fastsmt,742,5938.162924528122,26818.162924528122 4 | z3,712,6483.609223842621,29763.60922384262 5 | cvc5,638,7758.303824901581,36958.30382490158 -------------------------------------------------------------------------------- /data/ijcai24/results/QF_LRA/sample_strategies/strategy_z3alpha.txt: -------------------------------------------------------------------------------- 1 | (if (> size 166) (if (> num-consts 467) (then (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true) solve-eqs propagate-values qflra) (then solve-eqs (using-params smt :random_seed 200))) (then elim-uncnstr (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true) ctx-simplify propagate-values solve-eqs smt)) -------------------------------------------------------------------------------- /data/ijcai24/results/QF_NIA/AProVE/results/summary.csv: -------------------------------------------------------------------------------- 1 | solver,solved,par2,par10 2 | z3alpha,1622.4,2169.328184,9337.328184 3 | z3alpha0,1583.8,2815.920325,13071.92032 4 | fastsmt,1546.4,4950.193063,18198.19306 5 | z3,1541,5620.806834936142,19300.806834936142 6 | cvc5,1197,11341.617948532104,52541.617948532104 7 | -------------------------------------------------------------------------------- /data/ijcai24/results/QF_NIA/AProVE/sample_strategies/strategy_z3alpha.txt: -------------------------------------------------------------------------------- 1 | (or-else (try-for (then (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true :hi_div0 true :hoist_mul true :pull_cheap_ite true :push_ite_bv true) solve-eqs lia2card ctx-simplify elim-uncnstr ctx-simplify lia2card cofactor-term-ite simplify solve-eqs simplify simplify card2bv qfnra-nlsat) 2000) (then lia2card cofactor-term-ite (or-else (try-for (then (using-params nla2bv :nla2bv_max_bv_size 4) smt) 8000) (then ctx-simplify elim-uncnstr elim-uncnstr smt)))) -------------------------------------------------------------------------------- /data/ijcai24/results/QF_NIA/leipzig/results/raw_data/cvc5.csv: -------------------------------------------------------------------------------- 1 | id,path,solved,time 2 | 0,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0BB4ks.smt2,False,10 3 | 1,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0Hb4yp.smt2,False,10 4 | 2,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0iwxZS.smt2,False,10 5 | 3,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-47h0ua.smt2,False,10 6 | 4,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-4UoYtH.smt2,False,10 7 | 5,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-5Luqnl.smt2,False,10 8 | 6,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-607QpU.smt2,False,10 9 | 7,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-6k3pKM.smt2,False,10 10 | 8,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-71B6am.smt2,False,10 11 | 9,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7DXK1v.smt2,False,10 12 | 10,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7njo7V.smt2,False,10 13 | 11,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-87NL0Z.smt2,False,10 14 | 12,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-9AOvYh.smt2,False,10 15 | 13,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-AlRgl3.smt2,False,10 16 | 14,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Aon9bM.smt2,False,10 17 | 15,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-CrNtep.smt2,True,0.7222986221313477 18 | 16,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-F85Fh4.smt2,False,10 19 | 17,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-G0osfI.smt2,False,10 20 | 18,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Gxx8TQ.smt2,False,10 21 | 19,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-HonGrM.smt2,False,10 22 | 20,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-JpE7g8.smt2,False,10 23 | 21,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Jzxbf6.smt2,False,10 24 | 22,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-K5O3aH.smt2,False,10 25 | 23,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-KVnOQn.smt2,False,10 26 | 24,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NsXpL3.smt2,False,10 27 | 25,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NxORIG.smt2,False,10 28 | 26,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OwnULw.smt2,False,10 29 | 27,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OxDFxz.smt2,True,6.814326763153076 30 | 28,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-PoKkYi.smt2,True,6.705273866653442 31 | 29,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-QW6yIL.smt2,False,10 32 | 30,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Qx6y98.smt2,True,0.1824331283569336 33 | 31,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-VzZ1SP.smt2,False,10 34 | 32,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Wvoafx.smt2,False,10 35 | 33,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-X2tjiE.smt2,False,10 36 | 34,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-XoKPE3.smt2,True,0.2604408264160156 37 | 35,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YFqomz.smt2,False,10 38 | 36,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YdLBHK.smt2,True,1.4238777160644531 39 | 37,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-bV2aN3.smt2,True,0.5927388668060303 40 | 38,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-brNnx4.smt2,False,10 41 | 39,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-eBQlfQ.smt2,True,6.627100944519043 42 | 40,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-f2cozZ.smt2,False,10 43 | 41,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fFoQCf.smt2,False,10 44 | 42,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fRkVkk.smt2,False,10 45 | 43,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fqVg3m.smt2,True,9.827102899551392 46 | 44,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-hCYJUH.smt2,True,9.616114616394043 47 | 45,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-izcgso.smt2,False,10 48 | 46,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jCge40.smt2,False,10 49 | 47,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jSSXi8.smt2,False,10 50 | 48,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-l6cqQI.smt2,False,10 51 | 49,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-mscE2P.smt2,False,10 52 | 50,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-oPCuPe.smt2,True,0.2936267852783203 53 | 51,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qAUj8f.smt2,True,0.7306358814239502 54 | 52,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qVa1BT.smt2,False,10 55 | 53,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qp5mTw.smt2,False,10 56 | 54,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qpmP2a.smt2,True,0.06219649314880371 57 | 55,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ubDExd.smt2,True,0.18061542510986328 58 | 56,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-02.smt2,False,10 59 | 57,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-03.smt2,False,10 60 | 58,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-05.smt2,False,10 61 | 59,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-uyuSEz.smt2,True,0.9246730804443359 62 | 60,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vNKPi7.smt2,False,10 63 | 61,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vmxeK5.smt2,False,10 64 | 62,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-wIaXCN.smt2,False,10 65 | 63,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-x3m7eh.smt2,False,10 66 | 64,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-xpOcFG.smt2,True,0.7321310043334961 67 | 65,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ye1ece.smt2,True,3.5621516704559326 68 | 66,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-yzpVx9.smt2,False,10 69 | 67,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-zUp1s3.smt2,False,10 70 | -------------------------------------------------------------------------------- /data/ijcai24/results/QF_NIA/leipzig/results/raw_data/fastsmt_run0.csv: -------------------------------------------------------------------------------- 1 | id,path,solved,time 2 | 0,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0BB4ks.smt2,False,10 3 | 1,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0Hb4yp.smt2,True,0.14077186584472656 4 | 2,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0iwxZS.smt2,True,0.7946770191192627 5 | 3,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-47h0ua.smt2,True,2.9483163356781006 6 | 4,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-4UoYtH.smt2,True,0.317171573638916 7 | 5,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-5Luqnl.smt2,True,0.18803668022155762 8 | 6,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-607QpU.smt2,True,1.7680678367614746 9 | 7,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-6k3pKM.smt2,True,0.5710697174072266 10 | 8,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-71B6am.smt2,True,0.2812621593475342 11 | 9,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7DXK1v.smt2,True,1.3031175136566162 12 | 10,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7njo7V.smt2,True,0.1317915916442871 13 | 11,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-87NL0Z.smt2,True,3.578575849533081 14 | 12,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-9AOvYh.smt2,True,0.11407089233398438 15 | 13,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-AlRgl3.smt2,True,0.7374880313873291 16 | 14,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Aon9bM.smt2,True,0.1498119831085205 17 | 15,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-CrNtep.smt2,True,0.11524701118469238 18 | 16,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-F85Fh4.smt2,True,0.14372038841247559 19 | 17,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-G0osfI.smt2,True,0.1291966438293457 20 | 18,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Gxx8TQ.smt2,True,2.1452488899230957 21 | 19,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-HonGrM.smt2,True,0.1440565586090088 22 | 20,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-JpE7g8.smt2,True,0.24608588218688965 23 | 21,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Jzxbf6.smt2,False,10 24 | 22,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-K5O3aH.smt2,True,1.8292746543884277 25 | 23,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-KVnOQn.smt2,True,0.302396297454834 26 | 24,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NsXpL3.smt2,True,0.11254382133483887 27 | 25,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NxORIG.smt2,True,0.17475676536560059 28 | 26,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OwnULw.smt2,True,1.3359999656677246 29 | 27,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OxDFxz.smt2,True,0.16800928115844727 30 | 28,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-PoKkYi.smt2,True,0.23284530639648438 31 | 29,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-QW6yIL.smt2,True,0.1413106918334961 32 | 30,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Qx6y98.smt2,True,0.13344645500183105 33 | 31,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-VzZ1SP.smt2,True,0.13602375984191895 34 | 32,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Wvoafx.smt2,False,10 35 | 33,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-X2tjiE.smt2,True,0.17733430862426758 36 | 34,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-XoKPE3.smt2,True,0.12421846389770508 37 | 35,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YFqomz.smt2,True,0.540611982345581 38 | 36,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YdLBHK.smt2,True,0.2169361114501953 39 | 37,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-bV2aN3.smt2,True,0.09740018844604492 40 | 38,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-brNnx4.smt2,False,10 41 | 39,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-eBQlfQ.smt2,True,0.12626051902770996 42 | 40,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-f2cozZ.smt2,True,0.2160639762878418 43 | 41,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fFoQCf.smt2,True,0.1360621452331543 44 | 42,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fRkVkk.smt2,True,2.398317575454712 45 | 43,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fqVg3m.smt2,True,0.15622234344482422 46 | 44,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-hCYJUH.smt2,True,0.17867112159729004 47 | 45,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-izcgso.smt2,True,0.7753596305847168 48 | 46,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jCge40.smt2,True,0.19471144676208496 49 | 47,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jSSXi8.smt2,True,0.23996281623840332 50 | 48,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-l6cqQI.smt2,False,10 51 | 49,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-mscE2P.smt2,True,0.1861100196838379 52 | 50,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-oPCuPe.smt2,True,0.15911102294921875 53 | 51,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qAUj8f.smt2,True,0.12384581565856934 54 | 52,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qVa1BT.smt2,True,0.15742802619934082 55 | 53,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qp5mTw.smt2,True,4.19013237953186 56 | 54,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qpmP2a.smt2,True,0.10929703712463379 57 | 55,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ubDExd.smt2,True,0.11166524887084961 58 | 56,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-02.smt2,False,10 59 | 57,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-03.smt2,False,10 60 | 58,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-05.smt2,False,10 61 | 59,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-uyuSEz.smt2,True,0.20312237739562988 62 | 60,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vNKPi7.smt2,True,2.3007349967956543 63 | 61,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vmxeK5.smt2,True,0.16127824783325195 64 | 62,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-wIaXCN.smt2,True,0.22211480140686035 65 | 63,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-x3m7eh.smt2,True,0.15573859214782715 66 | 64,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-xpOcFG.smt2,True,0.1577455997467041 67 | 65,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ye1ece.smt2,True,0.10872840881347656 68 | 66,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-yzpVx9.smt2,True,0.18325519561767578 69 | 67,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-zUp1s3.smt2,True,0.443286657333374 70 | -------------------------------------------------------------------------------- /data/ijcai24/results/QF_NIA/leipzig/results/raw_data/fastsmt_run1.csv: -------------------------------------------------------------------------------- 1 | id,path,solved,time 2 | 0,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0BB4ks.smt2,False,10 3 | 1,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0Hb4yp.smt2,True,0.13202691078186035 4 | 2,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0iwxZS.smt2,True,0.8379547595977783 5 | 3,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-47h0ua.smt2,True,2.99208927154541 6 | 4,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-4UoYtH.smt2,True,0.3594546318054199 7 | 5,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-5Luqnl.smt2,True,0.20147013664245605 8 | 6,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-607QpU.smt2,True,1.7672502994537354 9 | 7,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-6k3pKM.smt2,True,0.6063976287841797 10 | 8,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-71B6am.smt2,True,0.21602320671081543 11 | 9,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7DXK1v.smt2,True,1.3111145496368408 12 | 10,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7njo7V.smt2,True,0.12232351303100586 13 | 11,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-87NL0Z.smt2,True,3.6359245777130127 14 | 12,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-9AOvYh.smt2,True,0.16906952857971191 15 | 13,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-AlRgl3.smt2,True,0.6405305862426758 16 | 14,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Aon9bM.smt2,True,0.14435338973999023 17 | 15,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-CrNtep.smt2,True,0.15903997421264648 18 | 16,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-F85Fh4.smt2,True,0.12472319602966309 19 | 17,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-G0osfI.smt2,True,0.17078042030334473 20 | 18,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Gxx8TQ.smt2,True,2.089585065841675 21 | 19,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-HonGrM.smt2,True,0.15758585929870605 22 | 20,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-JpE7g8.smt2,True,0.20708799362182617 23 | 21,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Jzxbf6.smt2,False,10 24 | 22,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-K5O3aH.smt2,True,1.7775232791900635 25 | 23,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-KVnOQn.smt2,True,0.3599212169647217 26 | 24,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NsXpL3.smt2,True,0.12430715560913086 27 | 25,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NxORIG.smt2,True,0.189988374710083 28 | 26,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OwnULw.smt2,True,1.2455575466156006 29 | 27,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OxDFxz.smt2,True,0.1177682876586914 30 | 28,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-PoKkYi.smt2,True,0.20325946807861328 31 | 29,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-QW6yIL.smt2,True,0.14486074447631836 32 | 30,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Qx6y98.smt2,True,0.11063098907470703 33 | 31,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-VzZ1SP.smt2,True,0.1197361946105957 34 | 32,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Wvoafx.smt2,False,10 35 | 33,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-X2tjiE.smt2,True,0.14799237251281738 36 | 34,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-XoKPE3.smt2,True,0.09640121459960938 37 | 35,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YFqomz.smt2,True,0.5578172206878662 38 | 36,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YdLBHK.smt2,True,0.20320916175842285 39 | 37,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-bV2aN3.smt2,True,0.1154022216796875 40 | 38,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-brNnx4.smt2,False,10 41 | 39,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-eBQlfQ.smt2,True,0.10541939735412598 42 | 40,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-f2cozZ.smt2,True,0.257082462310791 43 | 41,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fFoQCf.smt2,True,0.1612088680267334 44 | 42,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fRkVkk.smt2,True,2.240335702896118 45 | 43,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fqVg3m.smt2,True,0.10119295120239258 46 | 44,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-hCYJUH.smt2,True,0.1954667568206787 47 | 45,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-izcgso.smt2,True,0.7813482284545898 48 | 46,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jCge40.smt2,True,0.16805267333984375 49 | 47,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jSSXi8.smt2,True,0.26186370849609375 50 | 48,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-l6cqQI.smt2,False,10 51 | 49,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-mscE2P.smt2,True,0.1795825958251953 52 | 50,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-oPCuPe.smt2,True,0.12183284759521484 53 | 51,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qAUj8f.smt2,True,0.12344145774841309 54 | 52,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qVa1BT.smt2,True,0.12105679512023926 55 | 53,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qp5mTw.smt2,True,4.073599815368652 56 | 54,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qpmP2a.smt2,True,0.1252298355102539 57 | 55,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ubDExd.smt2,True,0.10789895057678223 58 | 56,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-02.smt2,False,10 59 | 57,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-03.smt2,False,10 60 | 58,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-05.smt2,False,10 61 | 59,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-uyuSEz.smt2,True,0.19183850288391113 62 | 60,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vNKPi7.smt2,True,2.3486504554748535 63 | 61,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vmxeK5.smt2,True,0.17292332649230957 64 | 62,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-wIaXCN.smt2,True,0.23174118995666504 65 | 63,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-x3m7eh.smt2,True,0.16626286506652832 66 | 64,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-xpOcFG.smt2,True,0.15401411056518555 67 | 65,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ye1ece.smt2,True,0.08661890029907227 68 | 66,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-yzpVx9.smt2,True,0.15058636665344238 69 | 67,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-zUp1s3.smt2,True,0.36378955841064453 70 | -------------------------------------------------------------------------------- /data/ijcai24/results/QF_NIA/leipzig/results/raw_data/fastsmt_run2.csv: -------------------------------------------------------------------------------- 1 | id,path,solved,time 2 | 0,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0BB4ks.smt2,False,10 3 | 1,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0Hb4yp.smt2,True,0.12472653388977051 4 | 2,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0iwxZS.smt2,True,0.8419017791748047 5 | 3,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-47h0ua.smt2,True,2.9915595054626465 6 | 4,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-4UoYtH.smt2,True,0.32790088653564453 7 | 5,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-5Luqnl.smt2,True,0.21053743362426758 8 | 6,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-607QpU.smt2,True,1.9490413665771484 9 | 7,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-6k3pKM.smt2,True,0.5238747596740723 10 | 8,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-71B6am.smt2,True,0.22870373725891113 11 | 9,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7DXK1v.smt2,True,1.3234999179840088 12 | 10,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7njo7V.smt2,True,0.10185933113098145 13 | 11,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-87NL0Z.smt2,True,3.6549363136291504 14 | 12,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-9AOvYh.smt2,True,0.14650297164916992 15 | 13,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-AlRgl3.smt2,True,0.6643784046173096 16 | 14,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Aon9bM.smt2,True,0.18239474296569824 17 | 15,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-CrNtep.smt2,True,0.1746666431427002 18 | 16,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-F85Fh4.smt2,True,0.19008946418762207 19 | 17,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-G0osfI.smt2,True,0.11858820915222168 20 | 18,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Gxx8TQ.smt2,True,2.2597742080688477 21 | 19,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-HonGrM.smt2,True,0.152252197265625 22 | 20,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-JpE7g8.smt2,True,0.21327877044677734 23 | 21,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Jzxbf6.smt2,False,10 24 | 22,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-K5O3aH.smt2,True,1.9944779872894287 25 | 23,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-KVnOQn.smt2,True,0.27197694778442383 26 | 24,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NsXpL3.smt2,True,0.18085408210754395 27 | 25,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NxORIG.smt2,True,0.15534424781799316 28 | 26,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OwnULw.smt2,True,1.204770803451538 29 | 27,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OxDFxz.smt2,True,0.19212937355041504 30 | 28,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-PoKkYi.smt2,True,0.24046659469604492 31 | 29,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-QW6yIL.smt2,True,0.14431428909301758 32 | 30,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Qx6y98.smt2,True,0.12474894523620605 33 | 31,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-VzZ1SP.smt2,True,0.09571504592895508 34 | 32,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Wvoafx.smt2,False,10 35 | 33,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-X2tjiE.smt2,True,0.14527392387390137 36 | 34,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-XoKPE3.smt2,True,0.1194000244140625 37 | 35,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YFqomz.smt2,True,0.5031192302703857 38 | 36,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YdLBHK.smt2,True,0.22745013236999512 39 | 37,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-bV2aN3.smt2,True,0.12505769729614258 40 | 38,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-brNnx4.smt2,False,10 41 | 39,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-eBQlfQ.smt2,True,0.09228515625 42 | 40,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-f2cozZ.smt2,True,0.18718910217285156 43 | 41,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fFoQCf.smt2,True,0.16919803619384766 44 | 42,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fRkVkk.smt2,True,2.286994218826294 45 | 43,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fqVg3m.smt2,True,0.134171724319458 46 | 44,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-hCYJUH.smt2,True,0.1341087818145752 47 | 45,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-izcgso.smt2,True,0.7701504230499268 48 | 46,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jCge40.smt2,True,0.1586148738861084 49 | 47,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jSSXi8.smt2,True,0.2607896327972412 50 | 48,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-l6cqQI.smt2,False,10 51 | 49,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-mscE2P.smt2,True,0.17342233657836914 52 | 50,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-oPCuPe.smt2,True,0.12020063400268555 53 | 51,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qAUj8f.smt2,True,0.12167644500732422 54 | 52,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qVa1BT.smt2,True,0.1341855525970459 55 | 53,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qp5mTw.smt2,True,4.097947120666504 56 | 54,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qpmP2a.smt2,True,0.1419668197631836 57 | 55,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ubDExd.smt2,True,0.11124062538146973 58 | 56,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-02.smt2,False,10 59 | 57,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-03.smt2,False,10 60 | 58,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-05.smt2,False,10 61 | 59,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-uyuSEz.smt2,True,0.2086048126220703 62 | 60,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vNKPi7.smt2,True,2.3086819648742676 63 | 61,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vmxeK5.smt2,True,0.14699292182922363 64 | 62,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-wIaXCN.smt2,True,0.18973278999328613 65 | 63,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-x3m7eh.smt2,True,0.1669480800628662 66 | 64,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-xpOcFG.smt2,True,0.16050291061401367 67 | 65,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ye1ece.smt2,True,0.1300063133239746 68 | 66,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-yzpVx9.smt2,True,0.1797199249267578 69 | 67,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-zUp1s3.smt2,True,0.45963048934936523 70 | -------------------------------------------------------------------------------- /data/ijcai24/results/QF_NIA/leipzig/results/raw_data/fastsmt_run3.csv: -------------------------------------------------------------------------------- 1 | id,path,solved,time 2 | 0,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0BB4ks.smt2,False,10 3 | 1,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0Hb4yp.smt2,True,0.12295937538146973 4 | 2,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0iwxZS.smt2,True,0.8036444187164307 5 | 3,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-47h0ua.smt2,True,2.985450029373169 6 | 4,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-4UoYtH.smt2,True,0.3412027359008789 7 | 5,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-5Luqnl.smt2,True,0.19489574432373047 8 | 6,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-607QpU.smt2,True,1.8098366260528564 9 | 7,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-6k3pKM.smt2,True,0.5222878456115723 10 | 8,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-71B6am.smt2,True,0.25675296783447266 11 | 9,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7DXK1v.smt2,True,1.253361463546753 12 | 10,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7njo7V.smt2,True,0.12163209915161133 13 | 11,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-87NL0Z.smt2,True,3.4422054290771484 14 | 12,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-9AOvYh.smt2,True,0.11127257347106934 15 | 13,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-AlRgl3.smt2,True,0.6541275978088379 16 | 14,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Aon9bM.smt2,True,0.1351337432861328 17 | 15,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-CrNtep.smt2,True,0.17351007461547852 18 | 16,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-F85Fh4.smt2,True,0.16761207580566406 19 | 17,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-G0osfI.smt2,True,0.15105009078979492 20 | 18,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Gxx8TQ.smt2,True,2.259552478790283 21 | 19,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-HonGrM.smt2,True,0.20737934112548828 22 | 20,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-JpE7g8.smt2,True,0.22425413131713867 23 | 21,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Jzxbf6.smt2,False,10 24 | 22,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-K5O3aH.smt2,True,1.9517605304718018 25 | 23,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-KVnOQn.smt2,True,0.38263702392578125 26 | 24,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NsXpL3.smt2,True,0.1551957130432129 27 | 25,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NxORIG.smt2,True,0.24948763847351074 28 | 26,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OwnULw.smt2,True,1.2070057392120361 29 | 27,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OxDFxz.smt2,True,0.13693618774414062 30 | 28,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-PoKkYi.smt2,True,0.19489693641662598 31 | 29,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-QW6yIL.smt2,True,0.15000414848327637 32 | 30,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Qx6y98.smt2,True,0.10906100273132324 33 | 31,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-VzZ1SP.smt2,True,0.1342024803161621 34 | 32,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Wvoafx.smt2,False,10 35 | 33,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-X2tjiE.smt2,True,0.14554405212402344 36 | 34,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-XoKPE3.smt2,True,0.11895108222961426 37 | 35,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YFqomz.smt2,True,0.5233101844787598 38 | 36,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YdLBHK.smt2,True,0.2039644718170166 39 | 37,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-bV2aN3.smt2,True,0.14964079856872559 40 | 38,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-brNnx4.smt2,False,10 41 | 39,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-eBQlfQ.smt2,True,0.09659528732299805 42 | 40,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-f2cozZ.smt2,True,0.21391868591308594 43 | 41,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fFoQCf.smt2,True,0.13892412185668945 44 | 42,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fRkVkk.smt2,True,2.235816240310669 45 | 43,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fqVg3m.smt2,True,0.11077141761779785 46 | 44,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-hCYJUH.smt2,True,0.12558603286743164 47 | 45,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-izcgso.smt2,True,0.828864336013794 48 | 46,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jCge40.smt2,True,0.18528962135314941 49 | 47,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jSSXi8.smt2,True,0.26283693313598633 50 | 48,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-l6cqQI.smt2,False,10 51 | 49,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-mscE2P.smt2,True,0.13347315788269043 52 | 50,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-oPCuPe.smt2,True,0.17404842376708984 53 | 51,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qAUj8f.smt2,True,0.17130351066589355 54 | 52,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qVa1BT.smt2,True,0.1369335651397705 55 | 53,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qp5mTw.smt2,True,4.185348272323608 56 | 54,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qpmP2a.smt2,True,0.11197113990783691 57 | 55,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ubDExd.smt2,True,0.10972118377685547 58 | 56,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-02.smt2,False,10 59 | 57,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-03.smt2,False,10 60 | 58,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-05.smt2,False,10 61 | 59,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-uyuSEz.smt2,True,0.20767736434936523 62 | 60,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vNKPi7.smt2,True,2.4170145988464355 63 | 61,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vmxeK5.smt2,True,0.16477060317993164 64 | 62,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-wIaXCN.smt2,True,0.16930150985717773 65 | 63,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-x3m7eh.smt2,True,0.1804649829864502 66 | 64,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-xpOcFG.smt2,True,0.20720958709716797 67 | 65,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ye1ece.smt2,True,0.11235260963439941 68 | 66,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-yzpVx9.smt2,True,0.17244553565979004 69 | 67,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-zUp1s3.smt2,True,0.38963818550109863 70 | -------------------------------------------------------------------------------- /data/ijcai24/results/QF_NIA/leipzig/results/raw_data/fastsmt_run4.csv: -------------------------------------------------------------------------------- 1 | id,path,solved,time 2 | 0,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0BB4ks.smt2,False,10 3 | 1,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0Hb4yp.smt2,True,0.15184259414672852 4 | 2,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0iwxZS.smt2,True,0.8432071208953857 5 | 3,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-47h0ua.smt2,True,2.9380288124084473 6 | 4,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-4UoYtH.smt2,True,0.33884286880493164 7 | 5,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-5Luqnl.smt2,True,0.19759321212768555 8 | 6,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-607QpU.smt2,True,1.8318028450012207 9 | 7,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-6k3pKM.smt2,True,0.6226263046264648 10 | 8,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-71B6am.smt2,True,0.23779940605163574 11 | 9,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7DXK1v.smt2,True,1.3210725784301758 12 | 10,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7njo7V.smt2,True,0.13158011436462402 13 | 11,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-87NL0Z.smt2,True,3.469468832015991 14 | 12,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-9AOvYh.smt2,True,0.11906003952026367 15 | 13,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-AlRgl3.smt2,True,0.6411404609680176 16 | 14,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Aon9bM.smt2,True,0.15470576286315918 17 | 15,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-CrNtep.smt2,True,0.1164846420288086 18 | 16,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-F85Fh4.smt2,True,0.16836023330688477 19 | 17,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-G0osfI.smt2,True,0.14713501930236816 20 | 18,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Gxx8TQ.smt2,True,2.325472116470337 21 | 19,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-HonGrM.smt2,True,0.13661909103393555 22 | 20,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-JpE7g8.smt2,True,0.19538140296936035 23 | 21,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Jzxbf6.smt2,False,10 24 | 22,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-K5O3aH.smt2,True,1.8789522647857666 25 | 23,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-KVnOQn.smt2,True,0.3078629970550537 26 | 24,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NsXpL3.smt2,True,0.13343238830566406 27 | 25,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NxORIG.smt2,True,0.16061162948608398 28 | 26,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OwnULw.smt2,True,1.3191964626312256 29 | 27,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OxDFxz.smt2,True,0.12739968299865723 30 | 28,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-PoKkYi.smt2,True,0.24113798141479492 31 | 29,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-QW6yIL.smt2,True,0.14400792121887207 32 | 30,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Qx6y98.smt2,True,0.1287240982055664 33 | 31,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-VzZ1SP.smt2,True,0.12374210357666016 34 | 32,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Wvoafx.smt2,False,10 35 | 33,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-X2tjiE.smt2,True,0.12703990936279297 36 | 34,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-XoKPE3.smt2,True,0.12115979194641113 37 | 35,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YFqomz.smt2,True,0.5428221225738525 38 | 36,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YdLBHK.smt2,True,0.21011996269226074 39 | 37,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-bV2aN3.smt2,True,0.12057018280029297 40 | 38,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-brNnx4.smt2,False,10 41 | 39,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-eBQlfQ.smt2,True,0.1135094165802002 42 | 40,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-f2cozZ.smt2,True,0.2477877140045166 43 | 41,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fFoQCf.smt2,True,0.1729872226715088 44 | 42,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fRkVkk.smt2,True,2.287482261657715 45 | 43,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fqVg3m.smt2,True,0.12117147445678711 46 | 44,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-hCYJUH.smt2,True,0.12331080436706543 47 | 45,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-izcgso.smt2,True,0.8121123313903809 48 | 46,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jCge40.smt2,True,0.23730111122131348 49 | 47,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jSSXi8.smt2,True,0.25072479248046875 50 | 48,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-l6cqQI.smt2,False,10 51 | 49,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-mscE2P.smt2,True,0.1469113826751709 52 | 50,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-oPCuPe.smt2,True,0.12831425666809082 53 | 51,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qAUj8f.smt2,True,0.12721681594848633 54 | 52,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qVa1BT.smt2,True,0.13879013061523438 55 | 53,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qp5mTw.smt2,True,4.199089527130127 56 | 54,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qpmP2a.smt2,True,0.10640239715576172 57 | 55,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ubDExd.smt2,True,0.11098837852478027 58 | 56,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-02.smt2,False,10 59 | 57,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-03.smt2,False,10 60 | 58,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-05.smt2,False,10 61 | 59,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-uyuSEz.smt2,True,0.1950511932373047 62 | 60,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vNKPi7.smt2,True,2.4171183109283447 63 | 61,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vmxeK5.smt2,True,0.16847681999206543 64 | 62,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-wIaXCN.smt2,True,0.15349125862121582 65 | 63,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-x3m7eh.smt2,True,0.13830947875976562 66 | 64,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-xpOcFG.smt2,True,0.23437285423278809 67 | 65,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ye1ece.smt2,True,0.11942839622497559 68 | 66,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-yzpVx9.smt2,True,0.20853519439697266 69 | 67,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-zUp1s3.smt2,True,0.38303470611572266 70 | -------------------------------------------------------------------------------- /data/ijcai24/results/QF_NIA/leipzig/results/raw_data/z3.csv: -------------------------------------------------------------------------------- 1 | id,path,solved,time 2 | 0,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0BB4ks.smt2,False,10 3 | 1,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0Hb4yp.smt2,True,0.13259148597717285 4 | 2,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0iwxZS.smt2,True,0.812283992767334 5 | 3,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-47h0ua.smt2,True,3.14644193649292 6 | 4,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-4UoYtH.smt2,True,0.27526354789733887 7 | 5,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-5Luqnl.smt2,True,0.15291428565979004 8 | 6,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-607QpU.smt2,True,1.8241567611694336 9 | 7,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-6k3pKM.smt2,True,0.5450806617736816 10 | 8,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-71B6am.smt2,True,0.18846726417541504 11 | 9,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7DXK1v.smt2,True,1.1572413444519043 12 | 10,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7njo7V.smt2,True,0.08185386657714844 13 | 11,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-87NL0Z.smt2,True,3.610045909881592 14 | 12,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-9AOvYh.smt2,True,0.0796356201171875 15 | 13,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-AlRgl3.smt2,True,0.5860803127288818 16 | 14,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Aon9bM.smt2,True,0.16036200523376465 17 | 15,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-CrNtep.smt2,True,0.07117056846618652 18 | 16,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-F85Fh4.smt2,True,0.09051084518432617 19 | 17,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-G0osfI.smt2,True,0.18182849884033203 20 | 18,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Gxx8TQ.smt2,True,2.0943796634674072 21 | 19,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-HonGrM.smt2,True,0.09873819351196289 22 | 20,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-JpE7g8.smt2,True,0.14344310760498047 23 | 21,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Jzxbf6.smt2,False,10 24 | 22,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-K5O3aH.smt2,True,1.774653434753418 25 | 23,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-KVnOQn.smt2,True,0.27942538261413574 26 | 24,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NsXpL3.smt2,True,0.23830223083496094 27 | 25,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NxORIG.smt2,True,0.15314507484436035 28 | 26,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OwnULw.smt2,True,1.18556547164917 29 | 27,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OxDFxz.smt2,True,0.12635564804077148 30 | 28,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-PoKkYi.smt2,True,0.1978318691253662 31 | 29,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-QW6yIL.smt2,True,0.07936263084411621 32 | 30,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Qx6y98.smt2,True,0.08911252021789551 33 | 31,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-VzZ1SP.smt2,True,0.12480950355529785 34 | 32,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Wvoafx.smt2,False,10 35 | 33,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-X2tjiE.smt2,True,0.09975409507751465 36 | 34,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-XoKPE3.smt2,True,0.11353802680969238 37 | 35,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YFqomz.smt2,True,0.6060972213745117 38 | 36,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YdLBHK.smt2,True,0.190535306930542 39 | 37,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-bV2aN3.smt2,True,0.09078168869018555 40 | 38,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-brNnx4.smt2,True,7.175755739212036 41 | 39,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-eBQlfQ.smt2,True,0.09688401222229004 42 | 40,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-f2cozZ.smt2,True,0.22926092147827148 43 | 41,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fFoQCf.smt2,True,0.1459197998046875 44 | 42,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fRkVkk.smt2,True,0.7530324459075928 45 | 43,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fqVg3m.smt2,True,0.13710975646972656 46 | 44,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-hCYJUH.smt2,True,0.238234281539917 47 | 45,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-izcgso.smt2,True,0.7625668048858643 48 | 46,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jCge40.smt2,True,0.4161841869354248 49 | 47,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jSSXi8.smt2,True,0.25811243057250977 50 | 48,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-l6cqQI.smt2,False,10 51 | 49,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-mscE2P.smt2,True,0.22942757606506348 52 | 50,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-oPCuPe.smt2,True,0.12010574340820312 53 | 51,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qAUj8f.smt2,True,0.06033682823181152 54 | 52,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qVa1BT.smt2,True,0.05736541748046875 55 | 53,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qp5mTw.smt2,True,4.209158420562744 56 | 54,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qpmP2a.smt2,True,0.07122564315795898 57 | 55,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ubDExd.smt2,True,0.0852198600769043 58 | 56,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-02.smt2,False,10 59 | 57,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-03.smt2,False,10 60 | 58,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-05.smt2,False,10 61 | 59,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-uyuSEz.smt2,True,0.14084291458129883 62 | 60,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vNKPi7.smt2,True,1.9103264808654785 63 | 61,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vmxeK5.smt2,True,0.11863327026367188 64 | 62,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-wIaXCN.smt2,True,0.20133233070373535 65 | 63,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-x3m7eh.smt2,True,0.09854292869567871 66 | 64,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-xpOcFG.smt2,True,0.14098882675170898 67 | 65,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ye1ece.smt2,True,0.0890495777130127 68 | 66,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-yzpVx9.smt2,True,0.11988162994384766 69 | 67,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-zUp1s3.smt2,True,0.37282800674438477 70 | -------------------------------------------------------------------------------- /data/ijcai24/results/QF_NIA/leipzig/results/raw_data/z3alpha0_run0.csv: -------------------------------------------------------------------------------- 1 | id,path,solved,time 2 | 0,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0BB4ks.smt2,True,3.9961938858032227 3 | 1,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0Hb4yp.smt2,True,0.10116195678710938 4 | 2,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0iwxZS.smt2,True,0.21754908561706543 5 | 3,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-47h0ua.smt2,True,0.6482954025268555 6 | 4,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-4UoYtH.smt2,True,0.1029975414276123 7 | 5,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-5Luqnl.smt2,True,0.06032896041870117 8 | 6,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-607QpU.smt2,True,0.2923581600189209 9 | 7,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-6k3pKM.smt2,True,0.1666545867919922 10 | 8,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-71B6am.smt2,True,0.13360118865966797 11 | 9,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7DXK1v.smt2,True,0.3032865524291992 12 | 10,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7njo7V.smt2,True,0.05810952186584473 13 | 11,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-87NL0Z.smt2,True,3.2920966148376465 14 | 12,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-9AOvYh.smt2,True,0.05845952033996582 15 | 13,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-AlRgl3.smt2,True,0.18687081336975098 16 | 14,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Aon9bM.smt2,True,0.06091928482055664 17 | 15,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-CrNtep.smt2,True,0.05408501625061035 18 | 16,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-F85Fh4.smt2,True,0.0944969654083252 19 | 17,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-G0osfI.smt2,True,0.05576181411743164 20 | 18,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Gxx8TQ.smt2,True,0.25980567932128906 21 | 19,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-HonGrM.smt2,True,0.05934643745422363 22 | 20,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-JpE7g8.smt2,True,0.06708836555480957 23 | 21,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Jzxbf6.smt2,False,10 24 | 22,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-K5O3aH.smt2,True,1.689769983291626 25 | 23,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-KVnOQn.smt2,True,0.08348608016967773 26 | 24,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NsXpL3.smt2,True,0.05775189399719238 27 | 25,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NxORIG.smt2,True,0.05937981605529785 28 | 26,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OwnULw.smt2,True,0.48006439208984375 29 | 27,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OxDFxz.smt2,True,0.0568690299987793 30 | 28,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-PoKkYi.smt2,True,0.11090803146362305 31 | 29,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-QW6yIL.smt2,True,0.04386544227600098 32 | 30,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Qx6y98.smt2,True,0.044092416763305664 33 | 31,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-VzZ1SP.smt2,True,0.06530046463012695 34 | 32,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Wvoafx.smt2,False,10 35 | 33,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-X2tjiE.smt2,True,0.055884599685668945 36 | 34,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-XoKPE3.smt2,True,0.05820918083190918 37 | 35,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YFqomz.smt2,False,10 38 | 36,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YdLBHK.smt2,True,0.10544490814208984 39 | 37,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-bV2aN3.smt2,True,0.03885841369628906 40 | 38,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-brNnx4.smt2,False,10 41 | 39,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-eBQlfQ.smt2,True,0.04298520088195801 42 | 40,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-f2cozZ.smt2,True,0.09421610832214355 43 | 41,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fFoQCf.smt2,True,0.05553150177001953 44 | 42,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fRkVkk.smt2,True,3.29952335357666 45 | 43,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fqVg3m.smt2,True,0.058458566665649414 46 | 44,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-hCYJUH.smt2,True,0.05973362922668457 47 | 45,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-izcgso.smt2,True,0.796612024307251 48 | 46,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jCge40.smt2,True,1.273005485534668 49 | 47,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jSSXi8.smt2,True,0.15625381469726562 50 | 48,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-l6cqQI.smt2,False,10 51 | 49,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-mscE2P.smt2,True,0.09668374061584473 52 | 50,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-oPCuPe.smt2,True,0.06761765480041504 53 | 51,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qAUj8f.smt2,True,0.04404783248901367 54 | 52,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qVa1BT.smt2,True,0.03041553497314453 55 | 53,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qp5mTw.smt2,True,0.9677944183349609 56 | 54,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qpmP2a.smt2,True,0.047649383544921875 57 | 55,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ubDExd.smt2,True,0.05202651023864746 58 | 56,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-02.smt2,False,10 59 | 57,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-03.smt2,False,10 60 | 58,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-05.smt2,False,10 61 | 59,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-uyuSEz.smt2,True,0.09864926338195801 62 | 60,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vNKPi7.smt2,True,0.6666300296783447 63 | 61,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vmxeK5.smt2,True,0.06781435012817383 64 | 62,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-wIaXCN.smt2,True,0.10258150100708008 65 | 63,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-x3m7eh.smt2,True,0.06430745124816895 66 | 64,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-xpOcFG.smt2,True,0.06523942947387695 67 | 65,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ye1ece.smt2,True,0.05972862243652344 68 | 66,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-yzpVx9.smt2,True,0.0745086669921875 69 | 67,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-zUp1s3.smt2,True,0.12476229667663574 70 | -------------------------------------------------------------------------------- /data/ijcai24/results/QF_NIA/leipzig/results/raw_data/z3alpha0_run1.csv: -------------------------------------------------------------------------------- 1 | id,path,solved,time 2 | 0,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0BB4ks.smt2,True,3.911071300506592 3 | 1,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0Hb4yp.smt2,True,0.0477147102355957 4 | 2,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0iwxZS.smt2,True,0.17285466194152832 5 | 3,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-47h0ua.smt2,True,0.6837790012359619 6 | 4,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-4UoYtH.smt2,True,0.09462118148803711 7 | 5,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-5Luqnl.smt2,True,0.04620981216430664 8 | 6,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-607QpU.smt2,True,0.29201173782348633 9 | 7,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-6k3pKM.smt2,True,0.1445178985595703 10 | 8,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-71B6am.smt2,True,0.12436723709106445 11 | 9,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7DXK1v.smt2,True,0.30503106117248535 12 | 10,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7njo7V.smt2,True,0.030139446258544922 13 | 11,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-87NL0Z.smt2,True,3.297315835952759 14 | 12,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-9AOvYh.smt2,True,0.06776809692382812 15 | 13,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-AlRgl3.smt2,True,0.18440890312194824 16 | 14,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Aon9bM.smt2,True,0.048644304275512695 17 | 15,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-CrNtep.smt2,True,0.055980682373046875 18 | 16,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-F85Fh4.smt2,True,0.09269428253173828 19 | 17,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-G0osfI.smt2,True,0.06453633308410645 20 | 18,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Gxx8TQ.smt2,True,0.23229384422302246 21 | 19,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-HonGrM.smt2,True,0.046588897705078125 22 | 20,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-JpE7g8.smt2,True,0.07216572761535645 23 | 21,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Jzxbf6.smt2,False,10 24 | 22,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-K5O3aH.smt2,True,1.601907730102539 25 | 23,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-KVnOQn.smt2,True,0.08829927444458008 26 | 24,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NsXpL3.smt2,True,0.0480351448059082 27 | 25,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NxORIG.smt2,True,0.06496429443359375 28 | 26,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OwnULw.smt2,True,0.492539644241333 29 | 27,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OxDFxz.smt2,True,0.0629415512084961 30 | 28,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-PoKkYi.smt2,True,0.09666609764099121 31 | 29,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-QW6yIL.smt2,True,0.038623809814453125 32 | 30,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Qx6y98.smt2,True,0.04183340072631836 33 | 31,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-VzZ1SP.smt2,True,0.05785083770751953 34 | 32,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Wvoafx.smt2,False,10 35 | 33,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-X2tjiE.smt2,True,0.05762934684753418 36 | 34,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-XoKPE3.smt2,True,0.058170318603515625 37 | 35,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YFqomz.smt2,True,10.051600217819214 38 | 36,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YdLBHK.smt2,True,0.10516834259033203 39 | 37,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-bV2aN3.smt2,True,0.03740382194519043 40 | 38,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-brNnx4.smt2,False,10 41 | 39,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-eBQlfQ.smt2,True,0.04355430603027344 42 | 40,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-f2cozZ.smt2,True,0.09316229820251465 43 | 41,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fFoQCf.smt2,True,0.05929708480834961 44 | 42,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fRkVkk.smt2,True,3.458117961883545 45 | 43,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fqVg3m.smt2,True,0.12026166915893555 46 | 44,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-hCYJUH.smt2,True,0.05143165588378906 47 | 45,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-izcgso.smt2,True,0.7825675010681152 48 | 46,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jCge40.smt2,True,1.2876482009887695 49 | 47,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jSSXi8.smt2,True,0.16131830215454102 50 | 48,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-l6cqQI.smt2,False,10 51 | 49,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-mscE2P.smt2,True,0.16874217987060547 52 | 50,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-oPCuPe.smt2,True,0.07936310768127441 53 | 51,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qAUj8f.smt2,True,0.04557466506958008 54 | 52,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qVa1BT.smt2,True,0.046266794204711914 55 | 53,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qp5mTw.smt2,True,1.0312409400939941 56 | 54,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qpmP2a.smt2,True,0.04634356498718262 57 | 55,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ubDExd.smt2,True,0.060193538665771484 58 | 56,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-02.smt2,False,10 59 | 57,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-03.smt2,False,10 60 | 58,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-05.smt2,False,10 61 | 59,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-uyuSEz.smt2,True,0.09006261825561523 62 | 60,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vNKPi7.smt2,True,0.6124188899993896 63 | 61,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vmxeK5.smt2,True,0.05990457534790039 64 | 62,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-wIaXCN.smt2,True,0.12527084350585938 65 | 63,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-x3m7eh.smt2,True,0.06025862693786621 66 | 64,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-xpOcFG.smt2,True,0.056902170181274414 67 | 65,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ye1ece.smt2,True,0.04977583885192871 68 | 66,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-yzpVx9.smt2,True,0.07155323028564453 69 | 67,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-zUp1s3.smt2,True,0.11789321899414062 70 | -------------------------------------------------------------------------------- /data/ijcai24/results/QF_NIA/leipzig/results/raw_data/z3alpha0_run2.csv: -------------------------------------------------------------------------------- 1 | id,path,solved,time 2 | 0,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0BB4ks.smt2,True,3.860887289047241 3 | 1,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0Hb4yp.smt2,True,0.051482439041137695 4 | 2,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0iwxZS.smt2,True,0.16632652282714844 5 | 3,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-47h0ua.smt2,True,0.6118388175964355 6 | 4,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-4UoYtH.smt2,True,0.08844923973083496 7 | 5,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-5Luqnl.smt2,True,0.04993939399719238 8 | 6,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-607QpU.smt2,True,0.2640199661254883 9 | 7,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-6k3pKM.smt2,True,0.15354633331298828 10 | 8,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-71B6am.smt2,True,0.12037348747253418 11 | 9,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7DXK1v.smt2,True,0.3067903518676758 12 | 10,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7njo7V.smt2,True,0.037281036376953125 13 | 11,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-87NL0Z.smt2,True,3.184523105621338 14 | 12,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-9AOvYh.smt2,True,0.06160879135131836 15 | 13,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-AlRgl3.smt2,True,0.21453332901000977 16 | 14,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Aon9bM.smt2,True,0.08525776863098145 17 | 15,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-CrNtep.smt2,True,0.04117870330810547 18 | 16,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-F85Fh4.smt2,True,0.0884404182434082 19 | 17,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-G0osfI.smt2,True,0.05799388885498047 20 | 18,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Gxx8TQ.smt2,True,0.2463526725769043 21 | 19,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-HonGrM.smt2,True,0.05124211311340332 22 | 20,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-JpE7g8.smt2,True,0.09510397911071777 23 | 21,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Jzxbf6.smt2,False,10 24 | 22,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-K5O3aH.smt2,True,1.6739273071289062 25 | 23,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-KVnOQn.smt2,True,0.07001185417175293 26 | 24,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NsXpL3.smt2,True,0.06313252449035645 27 | 25,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NxORIG.smt2,True,0.05539584159851074 28 | 26,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OwnULw.smt2,True,0.483187198638916 29 | 27,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OxDFxz.smt2,True,0.08962225914001465 30 | 28,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-PoKkYi.smt2,True,0.10977387428283691 31 | 29,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-QW6yIL.smt2,True,0.04412245750427246 32 | 30,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Qx6y98.smt2,True,0.03479456901550293 33 | 31,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-VzZ1SP.smt2,True,0.07396340370178223 34 | 32,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Wvoafx.smt2,False,10 35 | 33,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-X2tjiE.smt2,True,0.07976579666137695 36 | 34,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-XoKPE3.smt2,True,0.048470258712768555 37 | 35,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YFqomz.smt2,False,10 38 | 36,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YdLBHK.smt2,True,0.10715270042419434 39 | 37,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-bV2aN3.smt2,True,0.03945803642272949 40 | 38,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-brNnx4.smt2,False,10 41 | 39,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-eBQlfQ.smt2,True,0.04628801345825195 42 | 40,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-f2cozZ.smt2,True,0.09992480278015137 43 | 41,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fFoQCf.smt2,True,0.06010913848876953 44 | 42,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fRkVkk.smt2,True,3.4164140224456787 45 | 43,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fqVg3m.smt2,True,0.06577110290527344 46 | 44,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-hCYJUH.smt2,True,0.0773458480834961 47 | 45,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-izcgso.smt2,True,0.7736449241638184 48 | 46,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jCge40.smt2,True,1.3001203536987305 49 | 47,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jSSXi8.smt2,True,0.15550518035888672 50 | 48,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-l6cqQI.smt2,False,10 51 | 49,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-mscE2P.smt2,True,0.14188838005065918 52 | 50,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-oPCuPe.smt2,True,0.07132148742675781 53 | 51,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qAUj8f.smt2,True,0.04349327087402344 54 | 52,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qVa1BT.smt2,True,0.04564356803894043 55 | 53,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qp5mTw.smt2,True,1.0216798782348633 56 | 54,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qpmP2a.smt2,True,0.03363966941833496 57 | 55,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ubDExd.smt2,True,0.03589129447937012 58 | 56,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-02.smt2,False,10 59 | 57,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-03.smt2,False,10 60 | 58,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-05.smt2,False,10 61 | 59,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-uyuSEz.smt2,True,0.07962274551391602 62 | 60,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vNKPi7.smt2,True,0.7529435157775879 63 | 61,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vmxeK5.smt2,True,0.06601262092590332 64 | 62,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-wIaXCN.smt2,True,0.1304786205291748 65 | 63,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-x3m7eh.smt2,True,0.06837034225463867 66 | 64,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-xpOcFG.smt2,True,0.08634448051452637 67 | 65,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ye1ece.smt2,True,0.07028841972351074 68 | 66,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-yzpVx9.smt2,True,0.07876849174499512 69 | 67,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-zUp1s3.smt2,True,0.13965797424316406 70 | -------------------------------------------------------------------------------- /data/ijcai24/results/QF_NIA/leipzig/results/raw_data/z3alpha0_run3.csv: -------------------------------------------------------------------------------- 1 | id,path,solved,time 2 | 0,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0BB4ks.smt2,True,3.8146872520446777 3 | 1,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0Hb4yp.smt2,True,0.04607987403869629 4 | 2,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0iwxZS.smt2,True,0.1709451675415039 5 | 3,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-47h0ua.smt2,True,0.5998733043670654 6 | 4,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-4UoYtH.smt2,True,0.08764958381652832 7 | 5,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-5Luqnl.smt2,True,0.043718814849853516 8 | 6,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-607QpU.smt2,True,0.2791292667388916 9 | 7,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-6k3pKM.smt2,True,0.11594605445861816 10 | 8,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-71B6am.smt2,True,0.12082171440124512 11 | 9,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7DXK1v.smt2,True,0.3079209327697754 12 | 10,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7njo7V.smt2,True,0.0400693416595459 13 | 11,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-87NL0Z.smt2,True,3.112424612045288 14 | 12,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-9AOvYh.smt2,True,0.06462574005126953 15 | 13,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-AlRgl3.smt2,True,0.1817646026611328 16 | 14,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Aon9bM.smt2,True,0.0569157600402832 17 | 15,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-CrNtep.smt2,True,0.051314592361450195 18 | 16,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-F85Fh4.smt2,True,0.09892916679382324 19 | 17,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-G0osfI.smt2,True,0.05232357978820801 20 | 18,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Gxx8TQ.smt2,True,0.22724604606628418 21 | 19,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-HonGrM.smt2,True,0.052344560623168945 22 | 20,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-JpE7g8.smt2,True,0.07347726821899414 23 | 21,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Jzxbf6.smt2,False,10 24 | 22,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-K5O3aH.smt2,True,1.6538920402526855 25 | 23,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-KVnOQn.smt2,True,0.08108830451965332 26 | 24,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NsXpL3.smt2,True,0.058408498764038086 27 | 25,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NxORIG.smt2,True,0.07123565673828125 28 | 26,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OwnULw.smt2,True,0.4893176555633545 29 | 27,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OxDFxz.smt2,True,0.07659363746643066 30 | 28,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-PoKkYi.smt2,True,0.11252927780151367 31 | 29,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-QW6yIL.smt2,True,0.05747842788696289 32 | 30,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Qx6y98.smt2,True,0.05458498001098633 33 | 31,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-VzZ1SP.smt2,True,0.0880727767944336 34 | 32,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Wvoafx.smt2,False,10 35 | 33,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-X2tjiE.smt2,True,0.061603546142578125 36 | 34,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-XoKPE3.smt2,True,0.052346229553222656 37 | 35,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YFqomz.smt2,True,10.033166885375977 38 | 36,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YdLBHK.smt2,True,0.13840079307556152 39 | 37,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-bV2aN3.smt2,True,0.05674266815185547 40 | 38,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-brNnx4.smt2,False,10 41 | 39,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-eBQlfQ.smt2,True,0.03471517562866211 42 | 40,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-f2cozZ.smt2,True,0.09653186798095703 43 | 41,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fFoQCf.smt2,True,0.055438995361328125 44 | 42,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fRkVkk.smt2,True,3.3544259071350098 45 | 43,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fqVg3m.smt2,True,0.06358194351196289 46 | 44,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-hCYJUH.smt2,True,0.08705425262451172 47 | 45,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-izcgso.smt2,True,0.7822988033294678 48 | 46,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jCge40.smt2,True,1.3081929683685303 49 | 47,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jSSXi8.smt2,True,0.15737080574035645 50 | 48,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-l6cqQI.smt2,False,10 51 | 49,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-mscE2P.smt2,True,0.19619417190551758 52 | 50,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-oPCuPe.smt2,True,0.07486844062805176 53 | 51,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qAUj8f.smt2,True,0.04325437545776367 54 | 52,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qVa1BT.smt2,True,0.03281140327453613 55 | 53,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qp5mTw.smt2,True,1.0202267169952393 56 | 54,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qpmP2a.smt2,True,0.05121278762817383 57 | 55,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ubDExd.smt2,True,0.05521202087402344 58 | 56,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-02.smt2,False,10 59 | 57,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-03.smt2,False,10 60 | 58,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-05.smt2,False,10 61 | 59,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-uyuSEz.smt2,True,0.08694601058959961 62 | 60,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vNKPi7.smt2,True,0.6124873161315918 63 | 61,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vmxeK5.smt2,True,0.04790449142456055 64 | 62,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-wIaXCN.smt2,True,0.10458683967590332 65 | 63,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-x3m7eh.smt2,True,0.06673979759216309 66 | 64,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-xpOcFG.smt2,True,0.07468390464782715 67 | 65,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ye1ece.smt2,True,0.07037115097045898 68 | 66,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-yzpVx9.smt2,True,0.07187485694885254 69 | 67,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-zUp1s3.smt2,True,0.12780499458312988 70 | -------------------------------------------------------------------------------- /data/ijcai24/results/QF_NIA/leipzig/results/raw_data/z3alpha0_run4.csv: -------------------------------------------------------------------------------- 1 | id,path,solved,time 2 | 0,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0BB4ks.smt2,True,3.8932113647460938 3 | 1,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0Hb4yp.smt2,True,0.03321719169616699 4 | 2,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0iwxZS.smt2,True,0.17493224143981934 5 | 3,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-47h0ua.smt2,True,0.6106734275817871 6 | 4,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-4UoYtH.smt2,True,0.09152793884277344 7 | 5,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-5Luqnl.smt2,True,0.048291921615600586 8 | 6,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-607QpU.smt2,True,0.28774476051330566 9 | 7,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-6k3pKM.smt2,True,0.15086770057678223 10 | 8,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-71B6am.smt2,True,0.10967874526977539 11 | 9,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7DXK1v.smt2,True,0.28635239601135254 12 | 10,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7njo7V.smt2,True,0.03306102752685547 13 | 11,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-87NL0Z.smt2,True,3.2453227043151855 14 | 12,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-9AOvYh.smt2,True,0.037363290786743164 15 | 13,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-AlRgl3.smt2,True,0.19185471534729004 16 | 14,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Aon9bM.smt2,True,0.059923648834228516 17 | 15,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-CrNtep.smt2,True,0.04842972755432129 18 | 16,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-F85Fh4.smt2,True,0.07535123825073242 19 | 17,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-G0osfI.smt2,True,0.06286144256591797 20 | 18,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Gxx8TQ.smt2,True,0.24683451652526855 21 | 19,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-HonGrM.smt2,True,0.04404497146606445 22 | 20,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-JpE7g8.smt2,True,0.08675646781921387 23 | 21,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Jzxbf6.smt2,False,10 24 | 22,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-K5O3aH.smt2,True,1.608506202697754 25 | 23,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-KVnOQn.smt2,True,0.10699987411499023 26 | 24,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NsXpL3.smt2,True,0.056919097900390625 27 | 25,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NxORIG.smt2,True,0.05498552322387695 28 | 26,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OwnULw.smt2,True,0.49935436248779297 29 | 27,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OxDFxz.smt2,True,0.05939912796020508 30 | 28,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-PoKkYi.smt2,True,0.11702275276184082 31 | 29,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-QW6yIL.smt2,True,0.04707503318786621 32 | 30,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Qx6y98.smt2,True,0.039762020111083984 33 | 31,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-VzZ1SP.smt2,True,0.05828738212585449 34 | 32,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Wvoafx.smt2,False,10 35 | 33,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-X2tjiE.smt2,True,0.06743073463439941 36 | 34,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-XoKPE3.smt2,True,0.07071900367736816 37 | 35,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YFqomz.smt2,True,10.004030704498291 38 | 36,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YdLBHK.smt2,True,0.09306073188781738 39 | 37,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-bV2aN3.smt2,True,0.042786598205566406 40 | 38,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-brNnx4.smt2,False,10 41 | 39,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-eBQlfQ.smt2,True,0.06835365295410156 42 | 40,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-f2cozZ.smt2,True,0.1033926010131836 43 | 41,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fFoQCf.smt2,True,0.05415201187133789 44 | 42,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fRkVkk.smt2,True,3.516117572784424 45 | 43,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fqVg3m.smt2,True,0.05721902847290039 46 | 44,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-hCYJUH.smt2,True,0.06838417053222656 47 | 45,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-izcgso.smt2,True,0.7922482490539551 48 | 46,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jCge40.smt2,True,1.3078598976135254 49 | 47,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jSSXi8.smt2,True,0.17133688926696777 50 | 48,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-l6cqQI.smt2,False,10 51 | 49,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-mscE2P.smt2,True,0.10985231399536133 52 | 50,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-oPCuPe.smt2,True,0.07816362380981445 53 | 51,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qAUj8f.smt2,True,0.04542994499206543 54 | 52,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qVa1BT.smt2,True,0.03248715400695801 55 | 53,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qp5mTw.smt2,True,1.0200986862182617 56 | 54,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qpmP2a.smt2,True,0.05392718315124512 57 | 55,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ubDExd.smt2,True,0.0522310733795166 58 | 56,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-02.smt2,False,10 59 | 57,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-03.smt2,False,10 60 | 58,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-05.smt2,False,10 61 | 59,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-uyuSEz.smt2,True,0.07799386978149414 62 | 60,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vNKPi7.smt2,True,0.6145267486572266 63 | 61,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vmxeK5.smt2,True,0.07050013542175293 64 | 62,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-wIaXCN.smt2,True,0.1303567886352539 65 | 63,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-x3m7eh.smt2,True,0.045656442642211914 66 | 64,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-xpOcFG.smt2,True,0.07319927215576172 67 | 65,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ye1ece.smt2,True,0.06532812118530273 68 | 66,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-yzpVx9.smt2,True,0.07279300689697266 69 | 67,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-zUp1s3.smt2,True,0.11034560203552246 70 | -------------------------------------------------------------------------------- /data/ijcai24/results/QF_NIA/leipzig/results/raw_data/z3alpha_run0.csv: -------------------------------------------------------------------------------- 1 | id,path,solved,time 2 | 0,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0BB4ks.smt2,True,5.905787706375122 3 | 1,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0Hb4yp.smt2,True,0.06691145896911621 4 | 2,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0iwxZS.smt2,True,0.18478822708129883 5 | 3,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-47h0ua.smt2,True,0.3168315887451172 6 | 4,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-4UoYtH.smt2,True,0.05482172966003418 7 | 5,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-5Luqnl.smt2,True,0.04303312301635742 8 | 6,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-607QpU.smt2,True,0.28724074363708496 9 | 7,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-6k3pKM.smt2,True,0.15699481964111328 10 | 8,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-71B6am.smt2,True,0.08926105499267578 11 | 9,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7DXK1v.smt2,True,0.2718985080718994 12 | 10,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7njo7V.smt2,True,0.03681230545043945 13 | 11,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-87NL0Z.smt2,True,1.5728278160095215 14 | 12,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-9AOvYh.smt2,True,0.0467073917388916 15 | 13,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-AlRgl3.smt2,True,0.1548774242401123 16 | 14,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Aon9bM.smt2,True,0.05404090881347656 17 | 15,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-CrNtep.smt2,True,0.0450589656829834 18 | 16,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-F85Fh4.smt2,True,0.06754040718078613 19 | 17,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-G0osfI.smt2,True,0.042932987213134766 20 | 18,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Gxx8TQ.smt2,True,0.2857542037963867 21 | 19,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-HonGrM.smt2,True,0.042685508728027344 22 | 20,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-JpE7g8.smt2,True,0.05659794807434082 23 | 21,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Jzxbf6.smt2,True,2.321763038635254 24 | 22,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-K5O3aH.smt2,True,1.8718726634979248 25 | 23,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-KVnOQn.smt2,True,0.06340718269348145 26 | 24,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NsXpL3.smt2,True,0.04729318618774414 27 | 25,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NxORIG.smt2,True,0.04527759552001953 28 | 26,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OwnULw.smt2,True,0.29882097244262695 29 | 27,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OxDFxz.smt2,True,0.04788637161254883 30 | 28,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-PoKkYi.smt2,True,0.0770115852355957 31 | 29,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-QW6yIL.smt2,True,0.04210853576660156 32 | 30,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Qx6y98.smt2,True,0.04152846336364746 33 | 31,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-VzZ1SP.smt2,True,0.04820537567138672 34 | 32,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Wvoafx.smt2,True,2.1599504947662354 35 | 33,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-X2tjiE.smt2,True,0.04187893867492676 36 | 34,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-XoKPE3.smt2,True,0.06103825569152832 37 | 35,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YFqomz.smt2,True,0.14412593841552734 38 | 36,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YdLBHK.smt2,True,0.06493806838989258 39 | 37,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-bV2aN3.smt2,True,0.04802250862121582 40 | 38,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-brNnx4.smt2,True,3.5143234729766846 41 | 39,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-eBQlfQ.smt2,True,0.03733253479003906 42 | 40,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-f2cozZ.smt2,True,0.09762239456176758 43 | 41,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fFoQCf.smt2,True,0.045438528060913086 44 | 42,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fRkVkk.smt2,False,0.2422013282775879 45 | 43,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fqVg3m.smt2,True,0.05231499671936035 46 | 44,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-hCYJUH.smt2,True,0.05164527893066406 47 | 45,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-izcgso.smt2,True,0.17777490615844727 48 | 46,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jCge40.smt2,False,0.05202174186706543 49 | 47,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jSSXi8.smt2,True,0.09394073486328125 50 | 48,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-l6cqQI.smt2,False,4.251374006271362 51 | 49,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-mscE2P.smt2,True,0.0743405818939209 52 | 50,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-oPCuPe.smt2,True,0.054593801498413086 53 | 51,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qAUj8f.smt2,True,0.04174518585205078 54 | 52,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qVa1BT.smt2,True,0.04030418395996094 55 | 53,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qp5mTw.smt2,True,1.659067153930664 56 | 54,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qpmP2a.smt2,True,0.04418802261352539 57 | 55,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ubDExd.smt2,True,0.04688882827758789 58 | 56,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-02.smt2,False,0.10314774513244629 59 | 57,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-03.smt2,False,0.5609352588653564 60 | 58,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-05.smt2,False,10 61 | 59,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-uyuSEz.smt2,True,0.06583499908447266 62 | 60,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vNKPi7.smt2,True,0.49355101585388184 63 | 61,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vmxeK5.smt2,True,0.048479318618774414 64 | 62,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-wIaXCN.smt2,True,0.0907449722290039 65 | 63,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-x3m7eh.smt2,True,0.04412984848022461 66 | 64,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-xpOcFG.smt2,True,0.05899333953857422 67 | 65,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ye1ece.smt2,True,0.04347872734069824 68 | 66,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-yzpVx9.smt2,True,0.06485986709594727 69 | 67,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-zUp1s3.smt2,True,0.12444806098937988 70 | -------------------------------------------------------------------------------- /data/ijcai24/results/QF_NIA/leipzig/results/raw_data/z3alpha_run1.csv: -------------------------------------------------------------------------------- 1 | id,path,solved,time 2 | 0,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0BB4ks.smt2,True,6.132780313491821 3 | 1,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0Hb4yp.smt2,True,0.043575286865234375 4 | 2,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-0iwxZS.smt2,True,0.17531347274780273 5 | 3,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-47h0ua.smt2,True,0.310161828994751 6 | 4,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-4UoYtH.smt2,True,0.06625843048095703 7 | 5,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-5Luqnl.smt2,True,0.04561305046081543 8 | 6,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-607QpU.smt2,True,0.28862643241882324 9 | 7,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-6k3pKM.smt2,True,0.16243267059326172 10 | 8,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-71B6am.smt2,True,0.08083152770996094 11 | 9,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7DXK1v.smt2,True,0.2508561611175537 12 | 10,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-7njo7V.smt2,True,0.0416719913482666 13 | 11,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-87NL0Z.smt2,True,1.8615655899047852 14 | 12,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-9AOvYh.smt2,True,0.0490717887878418 15 | 13,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-AlRgl3.smt2,True,0.1643524169921875 16 | 14,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Aon9bM.smt2,True,0.060120344161987305 17 | 15,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-CrNtep.smt2,True,0.0436406135559082 18 | 16,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-F85Fh4.smt2,True,0.06406092643737793 19 | 17,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-G0osfI.smt2,True,0.04822897911071777 20 | 18,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Gxx8TQ.smt2,True,0.2908473014831543 21 | 19,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-HonGrM.smt2,True,0.04804086685180664 22 | 20,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-JpE7g8.smt2,True,0.0701746940612793 23 | 21,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Jzxbf6.smt2,True,1.9786970615386963 24 | 22,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-K5O3aH.smt2,True,2.279412031173706 25 | 23,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-KVnOQn.smt2,True,0.06547832489013672 26 | 24,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NsXpL3.smt2,True,0.05743551254272461 27 | 25,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-NxORIG.smt2,True,0.05722665786743164 28 | 26,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OwnULw.smt2,True,0.31429386138916016 29 | 27,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-OxDFxz.smt2,True,0.04166388511657715 30 | 28,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-PoKkYi.smt2,True,0.07448673248291016 31 | 29,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-QW6yIL.smt2,True,0.03756213188171387 32 | 30,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Qx6y98.smt2,True,0.038471221923828125 33 | 31,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-VzZ1SP.smt2,True,0.0451045036315918 34 | 32,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-Wvoafx.smt2,True,2.156782865524292 35 | 33,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-X2tjiE.smt2,True,0.057884931564331055 36 | 34,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-XoKPE3.smt2,True,0.04253959655761719 37 | 35,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YFqomz.smt2,True,0.14369606971740723 38 | 36,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-YdLBHK.smt2,True,0.07219839096069336 39 | 37,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-bV2aN3.smt2,True,0.03637504577636719 40 | 38,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-brNnx4.smt2,True,3.8462443351745605 41 | 39,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-eBQlfQ.smt2,True,0.04962968826293945 42 | 40,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-f2cozZ.smt2,True,0.09863710403442383 43 | 41,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fFoQCf.smt2,True,0.07083916664123535 44 | 42,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fRkVkk.smt2,False,0.24136137962341309 45 | 43,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-fqVg3m.smt2,True,0.03761100769042969 46 | 44,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-hCYJUH.smt2,True,0.0583193302154541 47 | 45,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-izcgso.smt2,True,0.1833045482635498 48 | 46,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jCge40.smt2,False,0.053021907806396484 49 | 47,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-jSSXi8.smt2,True,0.09336209297180176 50 | 48,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-l6cqQI.smt2,False,3.6129257678985596 51 | 49,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-mscE2P.smt2,True,0.07400274276733398 52 | 50,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-oPCuPe.smt2,True,0.056108713150024414 53 | 51,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qAUj8f.smt2,True,0.04192399978637695 54 | 52,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qVa1BT.smt2,True,0.043997764587402344 55 | 53,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qp5mTw.smt2,True,1.7164089679718018 56 | 54,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-qpmP2a.smt2,True,0.043866872787475586 57 | 55,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ubDExd.smt2,True,0.04877448081970215 58 | 56,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-02.smt2,False,0.10873150825500488 59 | 57,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-03.smt2,False,0.5408568382263184 60 | 58,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-unsat-05.smt2,False,10 61 | 59,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-uyuSEz.smt2,True,0.05918574333190918 62 | 60,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vNKPi7.smt2,True,0.5232634544372559 63 | 61,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-vmxeK5.smt2,True,0.058402299880981445 64 | 62,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-wIaXCN.smt2,True,0.07937788963317871 65 | 63,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-x3m7eh.smt2,True,0.04695010185241699 66 | 64,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-xpOcFG.smt2,True,0.0604245662689209 67 | 65,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-ye1ece.smt2,True,0.04285097122192383 68 | 66,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-yzpVx9.smt2,True,0.054199934005737305 69 | 67,benchmarks/fastsmtData/smt_data/qf_nia/leipzig/test/term-zUp1s3.smt2,True,0.11203193664550781 70 | -------------------------------------------------------------------------------- /data/ijcai24/results/QF_NIA/leipzig/results/summary.csv: -------------------------------------------------------------------------------- 1 | solver,solved,par2,par10 2 | z3alpha,62,144.6758678,624.6758678 3 | z3alpha0,60.6,175.590354,767.590354 4 | fastsmt,60,194.9753526,834.9753526 5 | z3,61,179.020085811615,739.020085811615 6 | cvc5,17,1069.2577385902405,5149.2577385902405 7 | -------------------------------------------------------------------------------- /data/ijcai24/results/QF_NIA/leipzig/sample_strategies/strategy_z3alpha.txt: -------------------------------------------------------------------------------- 1 | (or-else (try-for (or-else (try-for (then (using-params nla2bv :nla2bv_max_bv_size 4) simplify bit-blast sat) 8000) (then (using-params nla2bv :nla2bv_max_bv_size 16) simplify bit-blast simplify smt)) 8000) (using-params qfnra-nlsat :inline_vars false :factor false :seed 300)) -------------------------------------------------------------------------------- /data/ijcai24/results/QF_NRA/LassoRanker/results/summary.csv: -------------------------------------------------------------------------------- 1 | solver,solved,par2,par10 2 | z3alpha,205.6,2788.036544,12020.03654 3 | z3alpha0,187.0,3037.645161,13757.64516 4 | fastsmt_run0,175.0,3375.13691,15055.13691 5 | z3,85,4987.3487429618835,23867.348742961884 6 | cvc5,141,4090.380937099457,18490.380937099457 7 | -------------------------------------------------------------------------------- /data/ijcai24/results/QF_NRA/LassoRanker/sample_strategies/strategy_fastsmt.txt: -------------------------------------------------------------------------------- 1 | (if (> size 2217) (if (> num-consts 15581) (then (using-params simplify :blast_distinct false :elim_and true :flat true :hi_div0 false :hoist_mul false :local_ctx false :pull_cheap_ite false :push_ite_bv true :som true) solve-eqs elim-uncnstr (using-params qfnra-nlsat :factor true :inline_vars true :seed 295)) (if (> num-exprs 27111) (then (using-params simplify :blast_distinct false :elim_and false :flat true :hi_div0 true :hoist_mul true :local_ctx true :pull_cheap_ite false :push_ite_bv false :som false) (using-params propagate-values :push_ite_bv true) max-bv-sharing (using-params propagate-values :push_ite_bv true) (using-params qfnra-nlsat :factor false :inline_vars false :seed 423)) (if (> num-consts 1085) (if (> num-exprs 13539) (then (using-params simplify :blast_distinct false :elim_and false :flat true :hi_div0 false :hoist_mul false :local_ctx true :pull_cheap_ite true :push_ite_bv false :som true) bit-blast (if (> num-consts 1598) (then ctx-simplify (using-params propagate-values :push_ite_bv false) bit-blast (using-params qfnra-nlsat :factor false :inline_vars false :seed 236)) (then (using-params propagate-values :push_ite_bv false) max-bv-sharing solve-eqs elim-uncnstr (using-params qfnra-nlsat :factor false :inline_vars false :seed 246)))) (then (using-params simplify :blast_distinct false :elim_and false :flat true :hi_div0 false :hoist_mul false :local_ctx true :pull_cheap_ite true :push_ite_bv false :som true) bit-blast (if (> num-consts 1598) (then ctx-simplify (using-params propagate-values :push_ite_bv false) bit-blast (using-params qfnra-nlsat :factor false :inline_vars false :seed 236)) (then (using-params propagate-values :push_ite_bv false) max-bv-sharing solve-eqs elim-uncnstr (using-params qfnra-nlsat :factor false :inline_vars false :seed 246))))) (then (using-params simplify :blast_distinct false :elim_and false :flat true :hi_div0 true :hoist_mul true :local_ctx true :pull_cheap_ite false :push_ite_bv false :som false) (using-params propagate-values :push_ite_bv true) max-bv-sharing (using-params propagate-values :push_ite_bv true) (using-params qfnra-nlsat :factor false :inline_vars false :seed 423))))) (if (> num-exprs 2806) (if (> num-exprs 3286) (then (using-params simplify :blast_distinct false :elim_and false :flat false :hi_div0 true :hoist_mul false :local_ctx true :pull_cheap_ite false :push_ite_bv false :som true) solve-eqs (using-params smt :random_seed 25)) (then (using-params simplify :blast_distinct false :elim_and false :flat false :hi_div0 true :hoist_mul false :local_ctx true :pull_cheap_ite false :push_ite_bv false :som true) solve-eqs (using-params smt :random_seed 25))) (then (using-params simplify :blast_distinct false :elim_and false :flat false :hi_div0 true :hoist_mul false :local_ctx true :pull_cheap_ite false :push_ite_bv false :som true) solve-eqs (using-params smt :random_seed 25)))) -------------------------------------------------------------------------------- /data/ijcai24/results/QF_NRA/LassoRanker/sample_strategies/strategy_z3alpha.txt: -------------------------------------------------------------------------------- 1 | (if (> num-consts 4625) (if (> num-exprs 36489) (using-params qfnra-nlsat :inline_vars true :factor true :seed 500) (if (> num-consts 4625) (then solve-eqs (using-params smt :random_seed 100)) (then solve-eqs (using-params propagate-values :push_ite_bv true) elim-uncnstr smt))) (using-params smt :random_seed 0)) -------------------------------------------------------------------------------- /data/ijcai24/results/QF_NRA/hycomp/results/summary.csv: -------------------------------------------------------------------------------- 1 | solver,solved,par2,par10 2 | z3alpha,1810.6,3766.900773,17478.90077 3 | z3alpha0,1800.6,3863.975691,18375.97569 4 | fastsmt,1766.8,4539.770433,21755.77043 5 | z3,1697,6324.125995159149,29124.12599515915 6 | cvc5,1695,6274.339975357056,29234.339975357056 7 | -------------------------------------------------------------------------------- /data/ijcai24/results/QF_NRA/hycomp/sample_strategies/strategy_z3alpha.txt: -------------------------------------------------------------------------------- 1 | (then (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true :hi_div0 true :hoist_mul true :push_ite_bv true :pull_cheap_ite true) (or-else (try-for (or-else (try-for (using-params smt :random_seed 100) 2000) (or-else (try-for (then solve-eqs ctx-simplify propagate-values qfnra-nlsat) 2000) (or-else (try-for (then (using-params propagate-values :push_ite_bv true) (using-params smt :random_seed 100)) 2000) (then elim-uncnstr propagate-values qfnra-nlsat)))) 8000) (then (using-params propagate-values :push_ite_bv true) (using-params smt :random_seed 100)))) -------------------------------------------------------------------------------- /data/ijcai24/results/QF_S/results/summary.csv: -------------------------------------------------------------------------------- 1 | solver,solved,par2,par10 2 | z3alpha,17986,7415.252226352692,22375.25222635269 3 | z3,17847,10275.557119131088,36355.55711913109 4 | cvc5,17879,7678.857601881027,31198.857601881027 5 | z3str4,17662,12940.414257764816,53820.414257764816 -------------------------------------------------------------------------------- /data/ijcai24/results/QF_S/sample_strategies/strategy_z3alpha.txt: -------------------------------------------------------------------------------- 1 | (if (> num-exprs 44) (or-else (try-for (then (using-params simplify :elim_and true :blast_distinct true :local_ctx true) ext_strToRegex ctx-simplify ext_strSimplify smt) 8000) (then solve-eqs elim-uncnstr arr)) (then ext_strToRegex (using-params simplify :elim_and true :blast_distinct true :local_ctx true) ext_str solve-eqs ext_strToWE ctx-simplify smt)) -------------------------------------------------------------------------------- /data/smtcomp24/strats/bv300.txt: -------------------------------------------------------------------------------- 1 | (or-else (try-for (or-else (try-for (then solve-eqs bv) 2000) (or-else (try-for (or-else (try-for (then solve-eqs smt) 2000) (then (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false) dt2bv max-bv-sharing bit-blast smt)) 8000) (then max-bv-sharing bit-blast bv))) 128000) (then solve-eqs bv)) -------------------------------------------------------------------------------- /data/smtcomp24/strats/bv900.txt: -------------------------------------------------------------------------------- 1 | (or-else (try-for (or-else (try-for (then solve-eqs bv) 6000) (or-else (try-for (or-else (try-for (then solve-eqs smt) 6000) (then (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false) dt2bv max-bv-sharing bit-blast smt)) 24000) (then max-bv-sharing bit-blast bv))) 384000) (then solve-eqs bv)) -------------------------------------------------------------------------------- /data/smtcomp24/strats/qfaufbv900.txt: -------------------------------------------------------------------------------- 1 | (if (> num-exprs 9245) (then aig aig qfaufbv) (if (> size 192) (then reduce-bv-size reduce-args simplify qfaufbv) (if (> num-consts 52) (then purify-arith purify-arith qfaufbv) (then solve-eqs (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false) elim-uncnstr ackermannize_bv smt)))) -------------------------------------------------------------------------------- /data/smtcomp24/strats/qfax900.txt: -------------------------------------------------------------------------------- 1 | (if (> size 46) (if (> num-consts 75) (then solve-eqs elim-uncnstr (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true) smt) (then (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true) elim-uncnstr propagate-values smt)) (then solve-eqs elim-uncnstr (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true) smt)) -------------------------------------------------------------------------------- /data/smtcomp24/strats/qfbv900.txt: -------------------------------------------------------------------------------- 1 | (or-else (try-for (then solve-eqs (using-params smt :random_seed 200)) 96000) (or-else (try-for (then (using-params propagate-values :push_ite_bv false) aig smt) 6000) (then (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false :push_ite_bv false :hoist_mul false :pull_cheap_ite false) (or-else (try-for (then simplify bit-blast (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true :push_ite_bv true :hoist_mul true :pull_cheap_ite true) simplify smt) 96000) (or-else (try-for (then elim-uncnstr solve-eqs max-bv-sharing simplify smt) 6000) (then simplify bit-blast elim-uncnstr (using-params propagate-values :push_ite_bv true) elim-uncnstr sat)))))) -------------------------------------------------------------------------------- /data/smtcomp24/strats/qfdt900.txt: -------------------------------------------------------------------------------- 1 | (if (> num-consts 292) (then ctx-simplify (using-params simplify :elim_and false :blast_distinct false :local_ctx false :pull_cheap_ite false) (using-params simplify :elim_and true :blast_distinct true :local_ctx true :pull_cheap_ite true) elim-uncnstr ctx-simplify smt) (if (> num-consts 95) (then (using-params simplify :elim_and true :blast_distinct true :local_ctx true :pull_cheap_ite true) (using-params smt :random_seed 500)) (if (> num-exprs 1892) (then solve-eqs (using-params smt :random_seed 300)) (then (using-params simplify :elim_and true :blast_distinct true :local_ctx true :pull_cheap_ite true) (using-params smt :random_seed 500))))) -------------------------------------------------------------------------------- /data/smtcomp24/strats/qfidl900.txt: -------------------------------------------------------------------------------- 1 | (if (> num-consts 182) (if (> num-consts 14460) (then fix-dl-var elim-uncnstr ctx-simplify propagate-ineqs max-bv-sharing max-bv-sharing smt) (then solve-eqs max-bv-sharing smt)) (then lia2pb propagate-ineqs qfidl)) -------------------------------------------------------------------------------- /data/smtcomp24/strats/qflia300.txt: -------------------------------------------------------------------------------- 1 | (if (> num-exprs 16153) (then (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false :pull_cheap_ite false :push_ite_arith false :hoist_ite false :arith_lhs false) (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false :pull_cheap_ite false :push_ite_arith false :hoist_ite false :arith_lhs false) qflia) (then solve-eqs (or-else (try-for (then propagate-ineqs smt) 128000) (or-else (try-for (using-params smt :random_seed 200) 2000) (or-else (try-for (using-params smt :random_seed 500) 32000) (using-params smt :random_seed 200)))))) -------------------------------------------------------------------------------- /data/smtcomp24/strats/qflia900.txt: -------------------------------------------------------------------------------- 1 | (if (> num-exprs 16153) (then (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false :pull_cheap_ite false :push_ite_arith false :hoist_ite false :arith_lhs false) (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false :pull_cheap_ite false :push_ite_arith false :hoist_ite false :arith_lhs false) qflia) (then solve-eqs (or-else (try-for (then propagate-ineqs smt) 384000) (or-else (try-for (using-params smt :random_seed 200) 6000) (or-else (try-for (using-params smt :random_seed 500) 96000) (using-params smt :random_seed 200)))))) -------------------------------------------------------------------------------- /data/smtcomp24/strats/qflra300.txt: -------------------------------------------------------------------------------- 1 | (if (> num-exprs 105913) (then propagate-values ctx-simplify (using-params smt :random_seed 200)) (if (> size 9024) (or-else (try-for (or-else (try-for (then (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false) solve-eqs elim-uncnstr qflra) 32000) (then solve-eqs (using-params smt :random_seed 300))) 32000) (then (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true) propagate-values ctx-simplify ctx-simplify elim-uncnstr simplify smt)) (then (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false) ctx-simplify qflra))) -------------------------------------------------------------------------------- /data/smtcomp24/strats/qflra900.txt: -------------------------------------------------------------------------------- 1 | (if (> num-exprs 105913) (then propagate-values ctx-simplify (using-params smt :random_seed 200)) (if (> size 9024) (or-else (try-for (or-else (try-for (then (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false) solve-eqs elim-uncnstr qflra) 96000) (then solve-eqs (using-params smt :random_seed 300))) 96000) (then (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true) propagate-values ctx-simplify ctx-simplify elim-uncnstr simplify smt)) (then (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false) ctx-simplify qflra))) -------------------------------------------------------------------------------- /data/smtcomp24/strats/qfnia900.txt: -------------------------------------------------------------------------------- 1 | (then (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true :hi_div0 true :hoist_mul true :pull_cheap_ite true :push_ite_bv true) solve-eqs qfnia) -------------------------------------------------------------------------------- /data/smtcomp24/strats/qfnra300.txt: -------------------------------------------------------------------------------- 1 | (if (> num-exprs 13554) (then elim-uncnstr (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true :hi_div0 true :hoist_mul true :push_ite_bv true :pull_cheap_ite true) (using-params smt :random_seed 200)) (or-else (try-for (then solve-eqs (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false :hi_div0 false :hoist_mul false :push_ite_bv false :pull_cheap_ite false) elim-uncnstr propagate-values qfnra) 32000) (or-else (try-for (or-else (try-for (then (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true :hi_div0 true :hoist_mul true :push_ite_bv true :pull_cheap_ite true) (using-params smt :random_seed 300)) 8000) (then (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true :hi_div0 true :hoist_mul true :push_ite_bv true :pull_cheap_ite true) elim-uncnstr (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true :hi_div0 true :hoist_mul true :push_ite_bv true :pull_cheap_ite true) simplify propagate-values elim-uncnstr smt)) 32000) (then (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true :hi_div0 true :hoist_mul true :push_ite_bv true :pull_cheap_ite true) (using-params propagate-values :push_ite_bv true) (using-params propagate-values :push_ite_bv true) elim-uncnstr qfnra-nlsat)))) -------------------------------------------------------------------------------- /data/smtcomp24/strats/qfnra900.txt: -------------------------------------------------------------------------------- 1 | (if (> num-exprs 13554) (then elim-uncnstr (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true :hi_div0 true :hoist_mul true :push_ite_bv true :pull_cheap_ite true) (using-params smt :random_seed 200)) (or-else (try-for (then solve-eqs (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false :hi_div0 false :hoist_mul false :push_ite_bv false :pull_cheap_ite false) elim-uncnstr propagate-values qfnra) 96000) (or-else (try-for (or-else (try-for (then (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true :hi_div0 true :hoist_mul true :push_ite_bv true :pull_cheap_ite true) (using-params smt :random_seed 300)) 24000) (then (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true :hi_div0 true :hoist_mul true :push_ite_bv true :pull_cheap_ite true) elim-uncnstr (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true :hi_div0 true :hoist_mul true :push_ite_bv true :pull_cheap_ite true) simplify propagate-values elim-uncnstr smt)) 96000) (then (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true :hi_div0 true :hoist_mul true :push_ite_bv true :pull_cheap_ite true) (using-params propagate-values :push_ite_bv true) (using-params propagate-values :push_ite_bv true) elim-uncnstr qfnra-nlsat)))) -------------------------------------------------------------------------------- /data/smtcomp24/strats/qfrdl900.txt: -------------------------------------------------------------------------------- 1 | (if (> num-exprs 20286) (then solve-eqs (using-params simplify :elim_and false :blast_distinct false :local_ctx false :pull_cheap_ite false) elim-uncnstr smt) (if (> num-exprs 7988) (then (using-params simplify :elim_and true :blast_distinct true :local_ctx true :pull_cheap_ite true) (using-params smt :random_seed 400)) (then elim-uncnstr (using-params simplify :elim_and false :blast_distinct false :local_ctx false :pull_cheap_ite false) (using-params smt :random_seed 200)))) -------------------------------------------------------------------------------- /data/smtcomp24/strats/qfs900.txt: -------------------------------------------------------------------------------- 1 | (or-else (then (try-for (then propagate-values ext_str (using-params smt :random_seed 0)) 1140000) fail-if-undecided) (or-else (then (try-for (then solve-eqs (using-params smt :random_seed 200)) 30000) fail-if-undecided) (then elim-uncnstr solve-eqs (using-params simplify :elim_and true :blast_distinct true :local_ctx true) ext_strSimplify arr))) -------------------------------------------------------------------------------- /data/smtcomp24/strats/qfslia300.txt: -------------------------------------------------------------------------------- 1 | (if (> size 1148) (then propagate-values ext_str (using-params smt :random_seed 200)) (or-else (try-for (then ext_strToRegex ext_strSimplify propagate-values solve-eqs ext_strSimplify ext_strSimplify smt) 8000) (then propagate-values (or-else (try-for (then ext_str (using-params smt :random_seed 200)) 260000) (then solve-eqs arr))))) -------------------------------------------------------------------------------- /data/smtcomp24/strats/qfslia900.txt: -------------------------------------------------------------------------------- 1 | (if (> size 1148) (then propagate-values ext_str (using-params smt :random_seed 200)) (or-else (try-for (then ext_strToRegex ext_strSimplify propagate-values solve-eqs ext_strSimplify ext_strSimplify smt) 32000) (then propagate-values (or-else (try-for (then ext_str (using-params smt :random_seed 200)) 1040000) (then solve-eqs arr))))) -------------------------------------------------------------------------------- /data/smtcomp24/strats/qfuf900.txt: -------------------------------------------------------------------------------- 1 | (if (> num-consts 31) qfuf (if (> num-consts 5) (then symmetry-reduce propagate-values propagate-values qfuf) qfuf)) -------------------------------------------------------------------------------- /data/smtcomp24/strats/qfufbv900.txt: -------------------------------------------------------------------------------- 1 | (if (> num-exprs 13580) (if (> size 1670) (then propagate-values ctx-simplify (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true) simplify qfufbv) (then qfufbv_ackr solve-eqs simplify smt)) (then solve-eqs propagate-values qfufbv)) -------------------------------------------------------------------------------- /data/smtcomp24/strats/qfufdt900.txt: -------------------------------------------------------------------------------- 1 | (if (> size 13018) (if (> size 21181) (then ctx-simplify smt) (then (using-params simplify :elim_and false :blast_distinct false :local_ctx false :pull_cheap_ite false) (using-params smt :random_seed 500))) (then elim-uncnstr propagate-values simplify smt)) -------------------------------------------------------------------------------- /data/smtcomp24/strats/ufdt900.txt: -------------------------------------------------------------------------------- 1 | (if (> size 6) (if (> size 6) (if (> num-consts 5) (then (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false) ctx-simplify (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true) smt) (then (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true) ctx-simplify smt)) (then ctx-simplify (using-params simplify :elim_and false :blast_distinct false :local_ctx false :som false :flat false) smt)) (then (using-params simplify :elim_and true :blast_distinct true :local_ctx true :som true :flat true) ctx-simplify smt)) -------------------------------------------------------------------------------- /data/smtcomp24/test_instances/qfidl0.smt2: -------------------------------------------------------------------------------- 1 | (set-info :smt-lib-version 2.6) 2 | (set-logic QF_IDL) 3 | (set-info :source | These instances are encoded from job shop scheduling problemencoded from job shop schedul-ing problem resembling 'https://clc-gitlab.cs.uiowa.edu:2443/SMT-LIB-benchmarks/QF_IDL/-/blob/master/job_shop/'. 4 | Note that there exists a mistake in the encoding method of original instances, and we fix it in new instances. 5 | This problem was added to SMT-LIB by Bohan Li.|) 6 | (set-info :license "https://creativecommons.org/licenses/by/4.0/") 7 | (set-info :category "crafted") 8 | (set-info :status sat) 9 | (declare-fun s1_1 () Int) 10 | (declare-fun s1_2 () Int) 11 | (declare-fun s2_1 () Int) 12 | (declare-fun s2_2 () Int) 13 | (declare-fun m1_1 () Int) 14 | (declare-fun m1_2 () Int) 15 | (declare-fun m2_1 () Int) 16 | (declare-fun m2_2 () Int) 17 | (declare-fun ref () Int) 18 | (assert (and 19 | (<= (- m1_1 ref) 0) 20 | (>= (- m1_1 ref) 0) 21 | (<= (- m1_2 ref) 0) 22 | (>= (- m1_2 ref) 0) 23 | (<= (- m2_1 ref) 0) 24 | (>= (- m2_1 ref) 0) 25 | (<= (- m2_2 ref) 0) 26 | (>= (- m2_2 ref) 0) 27 | 28 | (>= (- s1_1 ref) 0) 29 | (>= (- s2_1 ref) 0) 30 | 31 | (<= (- s1_2 ref) 9) 32 | (<= (- s2_2 ref) 9) 33 | 34 | (>= (- s1_2 s1_1) 3) 35 | (>= (- s2_2 s2_1) 2) 36 | 37 | (or (not (= (- m1_1 m2_1) 0)) (>= (- s1_1 s2_1) 2) (>= (- s2_1 s1_1) 3)) 38 | (or (not (= (- m1_1 m2_2) 0)) (>= (- s1_1 s2_2) 3) (>= (- s2_2 s1_1) 3)) 39 | (or (not (= (- m1_2 m2_1) 0)) (>= (- s1_2 s2_1) 2) (>= (- s2_1 s1_2) 3)) 40 | (or (not (= (- m1_2 m2_2) 0)) (>= (- s1_2 s2_2) 3) (>= (- s2_2 s1_2) 3)) 41 | )) 42 | (check-sat) 43 | (exit) 44 | -------------------------------------------------------------------------------- /data/smtcomp24/test_instances/qfnia0.smt2: -------------------------------------------------------------------------------- 1 | (set-info :smt-lib-version 2.6) 2 | (set-logic QF_NIA) 3 | (set-info :source |AProve team, see http://aprove.informatik.rwth-aachen.de/, submitted for SMT-COMP 2014|) 4 | (set-info :category "industrial") 5 | (set-info :status sat) 6 | (declare-fun a__8 () Int) 7 | (declare-fun a__3 () Int) 8 | (declare-fun a__4 () Int) 9 | (declare-fun a__5 () Int) 10 | (assert (and (>= (+ (* a__8 a__8 a__3) (* (- 0 1) (* a__8 a__3)) (* (- 0 1) a__4) (* (- 0 1) a__5)) 0) (>= (+ a__3 (- 0 1)) 0) (>= (+ a__8 (- 0 1)) 0) (>= a__8 0) (>= a__3 0) (>= a__4 0) (>= a__5 0))) 11 | (check-sat) 12 | ;;(get-assignment) 13 | ;;(get-model) 14 | (exit) 15 | -------------------------------------------------------------------------------- /data/smtcomp24/test_instances/qfnia2.smt2: -------------------------------------------------------------------------------- 1 | (set-info :smt-lib-version 2.6) 2 | (set-logic QF_NIA) 3 | (set-info :source | 4 | Constraint systems stating that a matrix interpretation is 5 | compatible with a rewriting system (weakly compatible with 6 | all rules, strictly compatible with at least one). 7 | 8 | Contributed by Johannes Waldmann at HTKW Leipzig. 9 | |) 10 | (set-info :category "crafted") 11 | (set-info :status sat) 12 | (declare-fun n0 () Int) 13 | (assert (>= n0 0)) 14 | (declare-fun n1 () Int) 15 | (assert (>= n1 0)) 16 | (declare-fun n2 () Int) 17 | (assert (>= n2 0)) 18 | (declare-fun n3 () Int) 19 | (assert (>= n3 0)) 20 | (declare-fun n4 () Int) 21 | (assert (>= n4 0)) 22 | (declare-fun n5 () Int) 23 | (assert (>= n5 0)) 24 | (declare-fun n6 () Int) 25 | (assert (>= n6 0)) 26 | (declare-fun n7 () Int) 27 | (assert (>= n7 0)) 28 | (declare-fun n8 () Int) 29 | (assert (= n8 (* n7 n4))) 30 | (declare-fun n9 () Int) 31 | (assert (= n9 (+ n6 n8))) 32 | (declare-fun n10 () Int) 33 | (assert (= n10 (* n7 n5))) 34 | (declare-fun n11 () Int) 35 | (assert (= n11 (* n7 n6))) 36 | (declare-fun n12 () Int) 37 | (assert (= n12 (+ n6 n11))) 38 | (declare-fun n13 () Int) 39 | (assert (= n13 (* n7 n7))) 40 | (declare-fun n14 () Int) 41 | (assert (= n14 (* n7 n9))) 42 | (declare-fun n15 () Int) 43 | (assert (= n15 (+ n6 n14))) 44 | (declare-fun n16 () Int) 45 | (assert (= n16 (* n7 n10))) 46 | (declare-fun n17 () Int) 47 | (assert (= n17 (* n3 n12))) 48 | (declare-fun n18 () Int) 49 | (assert (= n18 (+ n2 n17))) 50 | (declare-fun n19 () Int) 51 | (assert (= n19 (* n3 n13))) 52 | (declare-fun n20 () Int) 53 | (assert (= n20 (* n1 n9))) 54 | (declare-fun n21 () Int) 55 | (assert (= n21 (+ n0 n20))) 56 | (declare-fun n22 () Int) 57 | (assert (= n22 (* n1 n10))) 58 | (declare-fun n23 () Int) 59 | (assert (= n23 (* n1 n15))) 60 | (declare-fun n24 () Int) 61 | (assert (= n24 (+ n0 n23))) 62 | (declare-fun n25 () Int) 63 | (assert (= n25 (* n1 n16))) 64 | (assert (>= n21 n24)) 65 | (assert (>= n22 n25)) 66 | (declare-fun n26 () Int) 67 | (assert (= n26 (* n3 n6))) 68 | (declare-fun n27 () Int) 69 | (assert (= n27 (+ n2 n26))) 70 | (declare-fun n28 () Int) 71 | (assert (= n28 (* n3 n7))) 72 | (assert (>= n18 n27)) 73 | (assert (>= n19 n28)) 74 | (assert (>= n18 n2)) 75 | (assert (>= n19 n3)) 76 | (declare-fun n29 () Int) 77 | (assert (= n29 (* n5 n9))) 78 | (declare-fun n30 () Int) 79 | (assert (= n30 (+ n4 n29))) 80 | (declare-fun n31 () Int) 81 | (assert (= n31 (* n5 n10))) 82 | (declare-fun n32 () Int) 83 | (assert (= n32 (* n5 n15))) 84 | (declare-fun n33 () Int) 85 | (assert (= n33 (+ n4 n32))) 86 | (declare-fun n34 () Int) 87 | (assert (= n34 (* n5 n16))) 88 | (assert (>= n30 n33)) 89 | (assert (>= n31 n34)) 90 | (declare-fun n35 () Int) 91 | (assert (= n35 (* n13 n6))) 92 | (declare-fun n36 () Int) 93 | (assert (= n36 (+ n12 n35))) 94 | (declare-fun n37 () Int) 95 | (assert (= n37 (* n13 n7))) 96 | (assert (>= n36 n12)) 97 | (assert (>= n37 n13)) 98 | (assert (or (> n21 n24) (> n18 n27) (> n18 n2))) 99 | (check-sat) 100 | (exit) 101 | -------------------------------------------------------------------------------- /data/smtcomp24/test_instances/qfnia3.smt2: -------------------------------------------------------------------------------- 1 | (set-info :smt-lib-version 2.6) 2 | (set-logic QF_NIA) 3 | (set-info :source |AProve team, see http://aprove.informatik.rwth-aachen.de/, submitted for SMT-COMP 2014|) 4 | (set-info :category "industrial") 5 | (set-info :status unsat) 6 | (declare-fun b__20 () Int) 7 | (declare-fun a__2 () Int) 8 | (declare-fun a__7 () Int) 9 | (declare-fun a__3 () Int) 10 | (declare-fun b__21 () Int) 11 | (declare-fun b__22 () Int) 12 | (declare-fun b__23 () Int) 13 | (declare-fun a__8 () Int) 14 | (declare-fun a__9 () Int) 15 | (declare-fun a__5 () Int) 16 | (declare-fun a__11 () Int) 17 | (declare-fun a__14 () Int) 18 | (declare-fun a__16 () Int) 19 | (declare-fun a__12 () Int) 20 | (declare-fun a__10 () Int) 21 | (declare-fun a__4 () Int) 22 | (declare-fun a__17 () Int) 23 | (declare-fun a__18 () Int) 24 | (declare-fun a__19 () Int) 25 | (declare-fun a__13 () Int) 26 | (declare-fun a__6 () Int) 27 | (declare-fun a__15 () Int) 28 | (assert (and (>= (+ 1 (* (- 0 1) b__20)) 0) (= (+ (* b__20 a__2 a__7) (* (- 0 1) (* a__2 a__7))) 0) (= (+ (* b__20 a__3 a__7) (* (- 0 1) (* a__3 a__7))) 0) (>= (+ 1 (* (- 0 1) b__21)) 0) (= (+ (* b__21 a__2) (* (- 0 1) a__2)) 0) (= (+ (* b__21 a__3) (* (- 0 1) a__3)) 0) (>= (+ 1 (* (- 0 1) b__22)) 0) (= (+ (* b__22 a__3 a__7) (* (- 0 1) (* a__3 a__7))) 0) (>= (+ 1 (* (- 0 1) b__23)) 0) (= (+ (* b__23 a__2 a__8) (* (- 0 1) (* a__2 a__8))) 0) (= (+ (* b__23 a__2 a__9) (* (- 0 1) (* a__2 a__9))) 0) (= (+ (* b__23 a__3 a__8) (* (- 0 1) (* a__3 a__8))) 0) (= (+ (* b__23 a__3 a__9) (* (- 0 1) (* a__3 a__9))) 0) (>= (+ (* a__5 a__2) (* (- 0 1) (* a__11 a__7 a__2)) (* (- 0 1) (* a__8 a__2)) (* (- 0 1) (* a__11 a__14 a__7 a__3)) (* (- 0 1) (* a__16 a__8 a__3))) 0) (>= (+ (* a__5 a__3) (* (- 0 1) (* a__12 a__7 a__2)) (* (- 0 1) (* a__9 a__2)) (* (- 0 1) (* a__12 a__14 a__7 a__3)) (* (- 0 1) (* a__16 a__9 a__3))) 0) (>= (+ (* a__5 a__2) (* (- 0 1) a__2)) 0) (>= (+ (* a__5 a__2) a__3 (* (- 0 1) (* a__11 a__7 a__2)) (* (- 0 1) (* a__12 a__7 a__2)) (* (- 0 1) (* a__16 a__8 a__2)) (* (- 0 1) (* a__16 a__9 a__2)) (* (- 0 1) (* a__5 a__3))) 0) (>= (+ (* a__16 a__2) (* (- 0 1) a__2)) 0) (>= (+ (* a__5 a__3) (* (- 0 1) (* a__5 a__11 a__7 a__3)) (* (- 0 1) (* a__12 a__7 a__3)) (* (- 0 1) (* a__8 a__3)) (* (- 0 1) (* a__5 a__9 a__3))) 0) (>= (+ (* b__20 a__10) (* b__20 a__4 a__11) (* b__20 a__17 a__12) (* (- 0 1) (* b__20 a__18))) 0) (>= (+ (* b__20 a__10) (* b__20 a__17 a__11) (* (- 0 1) (* b__20 a__19))) 0) (>= (+ (* b__20 a__5 a__11) (* (- 0 1) (* b__20 a__11))) 0) (>= (+ (* b__20 a__5 a__12) (* (- 0 1) (* b__20 a__12))) 0) (>= (+ (* b__21 a__8) (* (- 0 1) b__21)) 0) (>= (+ (* b__21 a__9) (* (- 0 1) b__21)) 0) (>= (+ (* b__22 a__13) (* (- 0 1) (* b__22 a__6)) (* (- 0 1) (* b__22 a__19 a__8)) (* (- 0 1) (* b__22 a__18 a__9))) 0) (>= (+ (* b__22 a__14) (* (- 0 1) (* b__22 a__7))) 0) (>= (+ (* b__23 a__16) (* (- 0 1) b__23)) 0) (>= (+ (* a__4 a__2) (* a__4 a__3) (* (- 0 1) (* a__6 a__2)) (* (- 0 1) (* a__10 a__7 a__2)) (* (- 0 1) (* a__6 a__3)) (* (- 0 1) (* a__13 a__7 a__3)) (* (- 0 1) (* a__10 a__14 a__7 a__3)) (* (- 0 1) (* a__15 a__8 a__3)) (* (- 0 1) (* a__15 a__9 a__3))) 0) (>= (* a__4 a__2) 0) (>= (+ (* a__4 a__2) (* (- 0 1) (* a__6 a__2)) (* (- 0 1) (* a__10 a__7 a__2)) (* (- 0 1) (* a__15 a__8 a__2)) (* (- 0 1) (* a__15 a__9 a__2)) (* (- 0 1) (* a__4 a__3))) 0) (>= (+ (* a__15 a__2) (* a__4 a__3) (* (- 0 1) (* a__6 a__3)) (* (- 0 1) (* a__10 a__7 a__3)) (* (- 0 1) (* a__4 a__11 a__7 a__3)) (* (- 0 1) (* a__4 a__9 a__3))) 0) (not (and (= (+ (* a__4 a__2) (* a__4 a__3) (* (- 0 1) (* a__6 a__2)) (* (- 0 1) (* a__10 a__7 a__2)) (* (- 0 1) (* a__6 a__3)) (* (- 0 1) (* a__13 a__7 a__3)) (* (- 0 1) (* a__10 a__14 a__7 a__3)) (* (- 0 1) (* a__15 a__8 a__3)) (* (- 0 1) (* a__15 a__9 a__3))) 0) (= (* a__4 a__2) 0) (= (+ (* a__4 a__2) (* (- 0 1) (* a__6 a__2)) (* (- 0 1) (* a__10 a__7 a__2)) (* (- 0 1) (* a__15 a__8 a__2)) (* (- 0 1) (* a__15 a__9 a__2)) (* (- 0 1) (* a__4 a__3))) 0) (= (+ (* a__15 a__2) (* a__4 a__3) (* (- 0 1) (* a__6 a__3)) (* (- 0 1) (* a__10 a__7 a__3)) (* (- 0 1) (* a__4 a__11 a__7 a__3)) (* (- 0 1) (* a__4 a__9 a__3))) 0))) (>= b__20 0) (>= 1 b__20) (>= a__2 0) (>= a__7 0) (>= a__3 0) (>= b__21 0) (>= 1 b__21) (>= b__22 0) (>= 1 b__22) (>= b__23 0) (>= 1 b__23) (>= a__8 0) (>= a__9 0) (>= a__5 0) (>= a__11 0) (>= a__14 0) (>= a__16 0) (>= a__12 0) (>= a__10 0) (>= a__4 0) (>= a__17 0) (>= a__18 0) (>= a__19 0) (>= a__13 0) (>= a__6 0) (>= a__15 0))) 29 | (check-sat) 30 | ;;(get-assignment) 31 | ;;(get-model) 32 | (exit) 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /data/smtcomp24/test_instances/qfs0.smt2: -------------------------------------------------------------------------------- 1 | (set-info :smt-lib-version 2.6) 2 | (set-logic QF_S) 3 | (set-info :source | 4 | Generated by: Andrew Reynolds 5 | Generated on: 2020-02-27 6 | Generator: CVC4 7 | Application: Testing of string solvers 8 | Target solver: CVC4 9 | |) 10 | (set-info :license "https://creativecommons.org/licenses/by/4.0/") 11 | (set-info :category "random") 12 | (set-info :status unknown) 13 | (declare-fun x () String) 14 | (assert (let ((_let_0 (re.* re.allchar ))) (let ((_let_1 (str.++ "B" "C"))) (let ((_let_2 (str.++ "A" (str.++ "C" "A")))) (and (not (= (str.in_re x (re.++ _let_0 re.allchar _let_0 (str.to_re "A") _let_0 (str.to_re _let_2) _let_0)) (str.in_re x (re.++ _let_0 re.allchar _let_0 re.allchar _let_0 (str.to_re (str.++ "A" _let_2)) _let_0)))) (not (= (str.in_re x (re.++ _let_0 re.allchar _let_0 (str.to_re (str.++ "A" "A")) _let_0 (str.to_re _let_1) _let_0)) (str.in_re x (re.++ _let_0 re.allchar _let_0 re.allchar _let_0 (str.to_re (str.++ "A" (str.++ "A" _let_1))) _let_0))))))))) 15 | (check-sat) 16 | (exit) 17 | -------------------------------------------------------------------------------- /data/smtcomp24/test_instances/qfslia0.smt2: -------------------------------------------------------------------------------- 1 | (set-info :smt-lib-version 2.6) 2 | (set-logic QF_SNIA) 3 | (set-info :source | 4 | Generated by: Andrew Reynolds 5 | Generated on: 2018-04-25 6 | Generator: Kudzu, converted to v2.6 by CVC4 7 | Application: Symbolic Execution of Javascript 8 | Target solver: Kaluza 9 | Publications: "A symbolic execution framework for JavaScript" by P. Saxena, D. Akhawe, S. Hanna, F. Mao, S. McCamant, and D. Song, 2010. 10 | |) 11 | (set-info :license "https://creativecommons.org/licenses/by/4.0/") 12 | (set-info :category "industrial") 13 | (set-info :status unknown) 14 | 15 | 16 | 17 | (declare-fun PCTEMP_LHS_1 () Bool) 18 | (declare-fun PCTEMP_LHS_3 () String) 19 | (declare-fun PCTEMP_LHS_4_idx_0 () String) 20 | (declare-fun PCTEMP_LHS_5 () String) 21 | (declare-fun T0_24 () String) 22 | (declare-fun T_12 () Bool) 23 | (declare-fun T_13 () Bool) 24 | (declare-fun T_14 () Bool) 25 | (declare-fun T_15 () Bool) 26 | (declare-fun T_16 () Bool) 27 | (declare-fun T_17 () Bool) 28 | (declare-fun T_18 () Bool) 29 | (declare-fun T_19 () Bool) 30 | (declare-fun T_1a () Bool) 31 | (declare-fun T_1b () Bool) 32 | (declare-fun T_1c () Bool) 33 | (declare-fun T_2 () Bool) 34 | (declare-fun T_3 () Int) 35 | (declare-fun T_4 () Int) 36 | (declare-fun T_6 () Int) 37 | (declare-fun T_7 () Bool) 38 | (declare-fun T_8 () Bool) 39 | (declare-fun T_9 () Int) 40 | (declare-fun T_a () Bool) 41 | (declare-fun T_b () Bool) 42 | (declare-fun T_c () Int) 43 | (declare-fun T_d () Bool) 44 | (declare-fun T_e () Bool) 45 | (declare-fun var_0xINPUT_146847 () String) 46 | (assert (= T_2 (not PCTEMP_LHS_1))) 47 | (assert T_2) 48 | (assert (= T_3 (str.len var_0xINPUT_146847))) 49 | (assert (= T_4 (div T_3 10))) 50 | (assert (= T_6 (str.len var_0xINPUT_146847))) 51 | (assert (= T_7 (< 70 T_6))) 52 | (assert (= T_8 (not T_7))) 53 | (assert T_8) 54 | (assert (= T_9 (str.len var_0xINPUT_146847))) 55 | (assert (= T_a (< 70 T_9))) 56 | (assert (= T_b (not T_a))) 57 | (assert T_b) 58 | (assert (= T_c (str.len var_0xINPUT_146847))) 59 | (assert (= T_d (< 70 T_c))) 60 | (assert (= T_e (not T_d))) 61 | (assert T_e) 62 | (assert (= PCTEMP_LHS_3 var_0xINPUT_146847)) 63 | (assert (= T0_24 PCTEMP_LHS_4_idx_0)) 64 | (assert (= T0_24 PCTEMP_LHS_3)) 65 | (assert (= T_12 (= PCTEMP_LHS_5 "[object"))) 66 | (assert (= T_13 (not T_12))) 67 | (assert T_13) 68 | (assert (= T_15 (not T_14))) 69 | (assert T_15) 70 | (assert (= T_17 (not T_16))) 71 | (assert T_17) 72 | (assert (= T_19 (not T_18))) 73 | (assert T_19) 74 | (assert (= T_1b (not T_1a))) 75 | (assert T_1b) 76 | (assert T_1c) 77 | (check-sat) 78 | 79 | (exit) 80 | -------------------------------------------------------------------------------- /data/smtcomp24/z3alpha.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import sys 4 | import os 5 | import subprocess 6 | 7 | logic_strategy = { 8 | "BV": "bv900.txt", 9 | "UFDT": "ufdt900.txt", 10 | "QF_BV": "qfbv900.txt", 11 | "QF_DT": "qfdt900.txt", 12 | "QF_UFDT": "qfufdt900.txt", 13 | "QF_AUFBV": "qfaufbv900.txt", 14 | "QF_UFBV": "qfufbv900.txt", 15 | "QF_AX": "qfax900.txt", 16 | "QF_UF": "qfuf900.txt", 17 | "QF_IDL": "qfidl900.txt", 18 | "QF_LIA": "qflia900.txt", 19 | "QF_LRA": "qflra900.txt", 20 | "QF_RDL": "qfrdl900.txt", 21 | "QF_NIA": "qfnia900.txt", 22 | "QF_NRA": "qfnra900.txt", 23 | "QF_S": "qfs900.txt", 24 | "QF_SLIA": "qfslia900.txt", 25 | } 26 | 27 | 28 | def read_smtlib_logic(smt2_str): 29 | for line in smt2_str.split("\n"): 30 | if line.startswith("(set-logic"): 31 | return line.split()[1][:-1] 32 | return None 33 | 34 | 35 | def rewrite_smt2_with_strat(smt2_str, strat): 36 | new_smt2_str = "" 37 | for line in smt2_str.split("\n"): 38 | if "check-sat" in line: 39 | new_smt2_str += f"(check-sat-using {strat})\n" 40 | else: 41 | new_smt2_str += line + "\n" 42 | return new_smt2_str 43 | 44 | 45 | def main(): 46 | script_path = os.path.realpath(__file__) 47 | z3alpha_dir = os.path.dirname(script_path) 48 | if len(sys.argv) != 2: 49 | print(f"Usage: {script_path} ") 50 | return 51 | 52 | smt2_path = sys.argv[1] 53 | with open(smt2_path, "r") as f: 54 | smt2_str = f.read() 55 | 56 | solver_path = os.path.join(z3alpha_dir, "z3bin", "z3") 57 | 58 | logic = read_smtlib_logic(smt2_str) 59 | if logic in ["QF_S", "QF_SLIA", "QF_SNIA"]: 60 | solver_path = os.path.join(z3alpha_dir, "z3bin", "z3str") 61 | 62 | if logic and (logic in logic_strategy): 63 | strat_filename = logic_strategy[logic] 64 | strat_path = os.path.join(z3alpha_dir, "strats", strat_filename) 65 | # check whether strat_path exists 66 | if os.path.exists(strat_path): 67 | with open(strat_path, "r") as f: 68 | strat = f.read() 69 | smt2_str = rewrite_smt2_with_strat(smt2_str, strat) 70 | 71 | # write into a new smt2 file in tmp 72 | new_smt2_path = "/tmp/rw_instance.smt2" 73 | with open(new_smt2_path, "w") as f: 74 | f.write(smt2_str) 75 | 76 | # run z3 with the new smt2 file 77 | cmd = f"{solver_path} {new_smt2_path}" 78 | result = subprocess.run(cmd, shell=True, capture_output=True, text=True) 79 | 80 | # Print the standard output and standard error 81 | print(result.stdout, end="") 82 | 83 | 84 | if __name__ == "__main__": 85 | main() 86 | -------------------------------------------------------------------------------- /data/smtcomp24/z3bin/z3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnLyu2/z3alpha/c33eabeeaa3d4828e92fb9e5c67653887f1242cc/data/smtcomp24/z3bin/z3 -------------------------------------------------------------------------------- /data/smtcomp24/z3bin/z3str: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnLyu2/z3alpha/c33eabeeaa3d4828e92fb9e5c67653887f1242cc/data/smtcomp24/z3bin/z3str -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["hatchling"] 3 | build-backend = "hatchling.build" 4 | 5 | [project] 6 | name = "z3alpha" 7 | version = "0.1.0" 8 | description = "A tool for synthesizing efficient Z3 strategies. Requires both Z3 command-line tool and z3-solver Python package." 9 | readme = "README.md" 10 | requires-python = ">=3.9" 11 | dependencies = [ 12 | "z3-solver", 13 | ] 14 | authors = [ 15 | { name = "John Lu", email = "z52lu@uwaterloo.ca" }, 16 | ] 17 | classifiers = [ 18 | "Programming Language :: Python :: 3", 19 | "Programming Language :: Python :: 3.9", 20 | "Programming Language :: Python :: 3.10", 21 | "Programming Language :: Python :: 3.11", 22 | "License :: OSI Approved :: Apache Software License" 23 | ] 24 | 25 | [project.scripts] 26 | z3alpha-synthesize-full = "z3alpha.scripts.synthesize_full:main" 27 | z3alpha-synthesize-s1 = "z3alpha.scripts.synthesize_s1:main" 28 | z3alpha-synthesize-s2 = "z3alpha.scripts.synthesize_s2:main" 29 | 30 | [tool.hatch.build.targets.wheel] 31 | packages = ["z3alpha"] 32 | 33 | [project.urls] 34 | Homepage = "https://github.com/JohnLyu2/z3alpha" -------------------------------------------------------------------------------- /scripts/dataset_create.py: -------------------------------------------------------------------------------- 1 | import argparse 2 | import random 3 | import shutil 4 | from pathlib import Path 5 | 6 | 7 | def create_dir(target_dir, files): 8 | counter = 0 9 | target_dir = Path(target_dir) 10 | for source_filepath in files: 11 | source_path = Path(source_filepath).resolve() # Get absolute path 12 | target_filepath = target_dir / f"benchmark{counter}.smt2" 13 | target_filepath.symlink_to(source_path) 14 | counter += 1 15 | 16 | 17 | def main(): 18 | parser = argparse.ArgumentParser( 19 | description="Create split dataset from files in the folder." 20 | ) 21 | parser.add_argument( 22 | "--split_size", 23 | type=str, 24 | required=True, 25 | help="Size of formulas that should go into train and valid, the rest goes into test", 26 | ) 27 | parser.add_argument( 28 | "--benchmark_dir", type=str, required=True, help="Benchmark directory" 29 | ) 30 | parser.add_argument( 31 | "--dataset_dir", 32 | type=str, 33 | required=True, 34 | help="The directory that stores the created dataset", 35 | ) 36 | parser.add_argument("--seed", type=int, default=42, help="Random seed") 37 | args = parser.parse_args() 38 | 39 | random.seed(args.seed) 40 | 41 | benchmark_dir = Path(args.benchmark_dir) 42 | assert benchmark_dir.exists(), "The specified benchmark folder does not exist!" 43 | 44 | all_files = [] 45 | for file in sorted(benchmark_dir.rglob("*.smt2")): 46 | all_files.append(str(file)) 47 | all_file_size = len(all_files) 48 | random.shuffle(all_files) 49 | 50 | train_size, valid_size = list(map(int, args.split_size.split(" "))) 51 | assert train_size + valid_size <= all_file_size, ( 52 | "Sum of train&valid sizes should be smaller than the total smt2 file size" 53 | ) 54 | test_size = all_file_size - train_size - valid_size 55 | 56 | dataset_dir = Path(args.dataset_dir) 57 | dataset_dir.mkdir(parents=True, exist_ok=True) 58 | train_dir = dataset_dir / "train1" 59 | valid_dir = dataset_dir / "train2" 60 | test_dir = dataset_dir / "test" 61 | 62 | train_dir.mkdir() 63 | valid_dir.mkdir() 64 | test_dir.mkdir() 65 | 66 | create_dir(train_dir, all_files[:train_size]) 67 | create_dir(valid_dir, all_files[train_size : train_size + valid_size]) 68 | create_dir( 69 | test_dir, 70 | all_files[train_size + valid_size : train_size + valid_size + test_size], 71 | ) 72 | 73 | 74 | # sample usage: python dataset_create.py --split_size "250 500" --benchmark_dir smtlib/QF_S/2019-Jiang/slog --dataset_dir smtlib/QF_S/2019-Jiang/slog_exp 75 | if __name__ == "__main__": 76 | main() 77 | -------------------------------------------------------------------------------- /scripts/exp_tester.py: -------------------------------------------------------------------------------- 1 | import os 2 | import csv 3 | import pathlib 4 | import sys 5 | import argparse 6 | import json 7 | from datetime import datetime 8 | 9 | sys.path.append("./") 10 | sys.path.append("../") 11 | 12 | from z3alpha.evaluator import SolverEvaluator 13 | 14 | 15 | def main(): 16 | parser = argparse.ArgumentParser() 17 | parser.add_argument( 18 | "json_config", 19 | type=str, 20 | help="The experiment testing configuration file in json", 21 | ) 22 | configJsonPath = parser.parse_args() 23 | config = json.load(open(configJsonPath.json_config, "r")) 24 | 25 | solvers = config["solvers"] 26 | z3strats = config["strat_files"] if "strat_files" in config else None 27 | timeout = config["timeout"] 28 | batchSize = config["batch_size"] 29 | res_dir = config["res_dir"] 30 | if not os.path.exists(res_dir): 31 | os.makedirs(res_dir) 32 | test_dir = config["test_dir"] 33 | tmp_dir = config["tmp_dir"] if "tmp_dir" in config else "/tmp/" 34 | 35 | test_solvers = {} 36 | 37 | for solver in solvers: 38 | solver_path = solvers[solver] 39 | if solver == "z3": 40 | if z3strats: 41 | for z3stat in z3strats: 42 | test_solvers[z3stat] = (solver_path, z3strats[z3stat]) 43 | else: 44 | test_solvers["z3"] = (solver_path, None) 45 | else: 46 | test_solvers[solver] = (solver_path, None) 47 | 48 | test_lst = sorted(str(p.resolve()) for p in pathlib.Path(test_dir).rglob("*.smt2")) 49 | timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") 50 | res_csv = os.path.join(res_dir, f"res_{timestamp}.csv") 51 | with open(res_csv, "w") as f: 52 | csvwriter = csv.writer(f) 53 | csvwriter.writerow(["solver", "solved", "par2", "par10"]) # write header 54 | for solver in test_solvers.keys(): 55 | solver_path, strat_path = test_solvers[solver] 56 | strat = open(strat_path, "r").read() if strat_path else None 57 | csv_path = os.path.join(res_dir, f"{solver}.csv") 58 | testEvaluator = SolverEvaluator( 59 | solver_path, 60 | test_lst, 61 | timeout, 62 | batchSize, 63 | is_write_res=True, 64 | res_path=csv_path, 65 | tmp_dir=tmp_dir, 66 | ) 67 | resTuple = testEvaluator.testing(strat) 68 | csvwriter.writerow([solver, resTuple[0], resTuple[1], resTuple[2]]) 69 | print( 70 | f"{solver} test results: solved {resTuple[0]} instances with par2 {resTuple[1]} and par10 {resTuple[2]:.2f}" 71 | ) 72 | 73 | 74 | if __name__ == "__main__": 75 | main() 76 | -------------------------------------------------------------------------------- /scripts/result_checker.py: -------------------------------------------------------------------------------- 1 | import csv 2 | 3 | TARGET_CSV = "/Users/zhengyanglu/Desktop/z3alpha/smtcomp24/results/QF_AX/z3.csv" 4 | 5 | COMPARE_CSV_LST = [ 6 | "/Users/zhengyanglu/Desktop/z3alpha/smtcomp24/results/QF_AX/cvc5.csv" 7 | ] 8 | 9 | 10 | # return the substring after "non-incremental/" 11 | def trim_instance_path(instance_path): 12 | # assert "non-incremental/" in instance_path 13 | assert "non-incremental/" in instance_path 14 | return instance_path.split("non-incremental/", 1)[1] 15 | 16 | 17 | def read_csv(csv_path): 18 | # the csv has a header; read the csv into a dictionary 19 | csv_dict = {} 20 | with open(csv_path, "r") as csv_file: 21 | reader = csv.reader(csv_file) 22 | next(reader) 23 | for row in reader: 24 | instance_path = row[1] 25 | trimmed_instance_path = trim_instance_path(instance_path) 26 | solved = True if row[2] == "True" else False 27 | sat = None 28 | if solved: 29 | sat = True if row[4] == "sat" else False 30 | csv_dict[trimmed_instance_path] = (solved, sat) 31 | return csv_dict 32 | 33 | 34 | def compare_two_csv(target_csv, compare_csv): 35 | target_dict = read_csv(target_csv) 36 | compare_dict = read_csv(compare_csv) 37 | mismatch = False 38 | for instance_path, (solved, sat) in target_dict.items(): 39 | if solved and (instance_path in compare_dict): 40 | compare_solved, compare_sat = compare_dict[instance_path] 41 | if compare_solved and (sat != compare_sat): 42 | print( 43 | f"{instance_path} result mismatch: {sat} in {target_csv} vs {compare_sat} in {compare_csv}" 44 | ) 45 | mismatch = True 46 | if not mismatch: 47 | print(f"Match: {target_csv} and {compare_csv}") 48 | 49 | 50 | def main(): 51 | for compare_csv in COMPARE_CSV_LST: 52 | compare_two_csv(TARGET_CSV, compare_csv) 53 | 54 | 55 | if __name__ == "__main__": 56 | main() 57 | -------------------------------------------------------------------------------- /z3alpha/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | Z3alpha - A tool for synthesizing efficient Z3 strategies 3 | """ 4 | 5 | __version__ = "0.1.0" 6 | -------------------------------------------------------------------------------- /z3alpha/environment.py: -------------------------------------------------------------------------------- 1 | import random 2 | from z3alpha.strat_tree import StrategyAST 3 | from z3alpha.evaluator import SolverEvaluator 4 | from z3alpha.utils import solvedNumReward, parNReward 5 | 6 | 7 | class StrategyGame: 8 | def __init__( 9 | self, stage, training_lst, logic, timeout, sconfig, batch_size, tmp_dir, z3path 10 | ): 11 | self.stage = stage 12 | self.benchmarks = training_lst 13 | if stage == 1: 14 | self.stratAST = StrategyAST(1, logic, timeout) 15 | else: 16 | self.stratAST = StrategyAST(2, logic, timeout, sconfig) 17 | self.probe_records = sconfig["s2dict"]["probe_records"] 18 | self.simulator = SolverEvaluator( 19 | z3path, training_lst, timeout, batch_size, tmp_dir 20 | ) # shallow copy for clone 21 | self.timeout = timeout 22 | 23 | def __str__(self) -> str: 24 | return str(self.stratAST) 25 | 26 | # def smt2str(self): 27 | # return self.stratAST.smt2str() 28 | 29 | def isTerminal(self): 30 | return self.stratAST.isTerminal() 31 | 32 | # def getRemainTime(self): 33 | # return self.stratAST.getRemainTime() 34 | 35 | def legalActions(self, rollout=False): 36 | return self.stratAST.legalActions(rollout) 37 | 38 | def step(self, action, params): 39 | self.stratAST.applyRule(action, params) 40 | 41 | def rollout(self): 42 | assert not self.isTerminal() 43 | while not self.isTerminal(): 44 | actions = self.legalActions(rollout=True) 45 | action = random.choice(actions) 46 | params = None 47 | self.step(action, params) 48 | 49 | # every entry in the resLst is (solved, time, res) 50 | def getS1ResLst(self, database): 51 | stratStr = str(self) 52 | if stratStr in database: # does not account for nondeterministism now 53 | return database[stratStr] 54 | resLst = self.simulator.getResLst(stratStr) 55 | database[stratStr] = resLst 56 | return resLst 57 | 58 | def _get_linear_strategies(self, benchID): 59 | probe_record = self.probe_records[benchID] 60 | return self.stratAST.get_linear_strategies(probe_record) 61 | 62 | # this function to be tested 63 | @staticmethod 64 | def solve_with_cache(benchID, ln_strats, database, timeout): 65 | time_remain = timeout 66 | solved = False 67 | time_used = 0 68 | for strat, st_timeout in ln_strats: 69 | cache_solved, cache_time, _ = database[tuple(strat)][benchID] 70 | if st_timeout < cache_time: 71 | time_remain -= st_timeout 72 | time_used += st_timeout 73 | elif time_remain < cache_time: 74 | time_remain = 0 75 | time_used += time_remain 76 | else: 77 | if cache_solved == True: 78 | solved = True 79 | time_used += cache_time 80 | break 81 | else: 82 | time_remain -= cache_time 83 | time_used += cache_time 84 | if time_used >= timeout: 85 | break 86 | return solved, time_used 87 | 88 | def getS2ResLst(self, database): 89 | res_lst = [] 90 | for benchID in range(len(self.benchmarks)): 91 | # later add bench-specific ln strats 92 | ln_strats = self._get_linear_strategies(benchID) 93 | res_tuple = StrategyGame.solve_with_cache( 94 | benchID, ln_strats, database, self.timeout 95 | ) 96 | res_lst.append(res_tuple) 97 | return res_lst 98 | 99 | # return a total reward of [0,1] according to the reward type 100 | def getValue(self, database, reward_type): 101 | assert self.isTerminal() 102 | if self.stage == 1: 103 | resLst = self.getS1ResLst(database) 104 | else: 105 | resLst = self.getS2ResLst(database) 106 | if reward_type == "#solved": 107 | return solvedNumReward(resLst) 108 | elif reward_type == "par2": 109 | return parNReward(resLst, 2, self.timeout) 110 | elif reward_type == "par10": 111 | return parNReward(resLst, 10, self.timeout) 112 | else: 113 | raise Exception(f"Unknown value type {reward_type}") 114 | -------------------------------------------------------------------------------- /z3alpha/evaluator.py: -------------------------------------------------------------------------------- 1 | import os 2 | import threading 3 | import subprocess 4 | import shlex 5 | import time 6 | import logging 7 | import csv 8 | 9 | from z3alpha.utils import solvedNum, parN 10 | 11 | log = logging.getLogger(__name__) 12 | log.setLevel(logging.INFO) 13 | log_handler = logging.StreamHandler() 14 | log_handler.setFormatter(logging.Formatter("%(asctime)s:%(levelname)s:%(message)s")) 15 | log.addHandler(log_handler) 16 | 17 | 18 | class SolverRunner(threading.Thread): 19 | """Runner which executes (a single strategy) on a single formula by calling a solver in shell""" 20 | 21 | def __init__( 22 | self, solver_path, smt_file, timeout, id, strategy=None, tmp_dir="/tmp/" 23 | ): 24 | threading.Thread.__init__(self) 25 | self.solver_path = solver_path 26 | self.smt_file = smt_file 27 | self.timeout = timeout # used only for output 28 | self.strategy = strategy 29 | self.id = id 30 | self.tmpDir = tmp_dir 31 | 32 | if self.strategy is not None: 33 | if not os.path.exists(self.tmpDir): 34 | os.makedirs(self.tmpDir) 35 | # Create a unique filename using process ID and timestamp 36 | unique_id = f"{os.getpid()}_{int(time.time() * 1000)}_{id}" 37 | self.new_file_name = os.path.join(self.tmpDir, f"tmp_{unique_id}.smt2") 38 | self.tmp_file = open(self.new_file_name, "w") 39 | with open(self.smt_file, "r") as f: 40 | for line in f: 41 | new_line = line 42 | if "check-sat" in line: 43 | new_line = f"(check-sat-using {strategy})\n" 44 | self.tmp_file.write(new_line) 45 | self.tmp_file.close() 46 | else: 47 | self.new_file_name = self.smt_file 48 | 49 | def run(self): 50 | self.time_before = time.time() 51 | safe_path = shlex.quote(self.new_file_name) 52 | cmd = f"{self.solver_path} {safe_path}" 53 | self.p = subprocess.Popen(shlex.split(cmd), stdout=subprocess.PIPE) 54 | self.p.wait() 55 | self.time_after = time.time() 56 | 57 | def collect(self): 58 | if self.is_alive(): 59 | try: 60 | self.p.terminate() 61 | self.join() 62 | except OSError: 63 | pass 64 | return self.id, "timeout", self.timeout, self.smt_file 65 | 66 | out, err = self.p.communicate() 67 | 68 | lines = out[:-1].decode("utf-8").split("\n") 69 | res = lines[0] 70 | runtime = self.time_after - self.time_before 71 | 72 | # this error format may not be the same with solvers other than z3 73 | if res.startswith("(error"): 74 | log.warn( 75 | f"Error occurred when solver: {self.solver_path}\n strategy: {self.strategy}\ninstance: {self.smt_file}\nMessage: {res}" 76 | ) 77 | return self.id, "error", runtime, self.smt_file 78 | 79 | # rlimit = None 80 | # for line in lines: 81 | # if 'rlimit' in line: 82 | # tokens = line.split(' ') 83 | # for token in tokens: 84 | # if token.isdigit(): 85 | # rlimit = int(token) 86 | 87 | return self.id, res, runtime, self.smt_file 88 | 89 | 90 | class SolverEvaluator: 91 | def __init__( 92 | self, 93 | solver_path, 94 | benchmark_lst, 95 | timeout, 96 | batch_size, 97 | tmp_dir="/tmp/", 98 | is_write_res=False, 99 | res_path=None, 100 | ): 101 | self.solverPath = solver_path 102 | self.benchmarkLst = benchmark_lst 103 | assert self.getBenchmarkSize() > 0 104 | self.timeout = timeout 105 | assert self.timeout > 0 106 | self.batchSize = batch_size 107 | self.tmpDir = tmp_dir 108 | self.isWriteRes = is_write_res 109 | self.resPath = res_path 110 | 111 | def getBenchmarkSize(self): 112 | return len(self.benchmarkLst) 113 | 114 | # now returns a list of (solved, timeTask, resTask) for each instance 115 | def getResLst(self, strat_str): 116 | size = self.getBenchmarkSize() 117 | results = [None] * size 118 | for i in range(0, size, self.batchSize): 119 | batch_instance_ids = range(i, min(i + self.batchSize, size)) 120 | threads = [] 121 | for id in batch_instance_ids: 122 | smtfile = self.benchmarkLst[id] 123 | runnerThread = SolverRunner( 124 | self.solverPath, smtfile, self.timeout, id, strat_str, self.tmpDir 125 | ) 126 | runnerThread.start() 127 | threads.append(runnerThread) 128 | time_start = time.time() 129 | for task in threads: 130 | time_left = max(0, self.timeout - (time.time() - time_start)) 131 | task.join(time_left) 132 | id, resTask, timeTask, pathTask = task.collect() 133 | solved = True if (resTask == "sat" or resTask == "unsat") else False 134 | results[id] = (solved, timeTask, resTask) 135 | # assert no entries in results is still -1 136 | for i in range(size): 137 | assert results[i] != None 138 | return results 139 | 140 | # returns a tuple (#solved, par2, par10) 141 | def testing(self, strat_str): 142 | results = self.getResLst(strat_str) 143 | if self.isWriteRes: 144 | with open(self.resPath, "w") as f: 145 | writer = csv.writer(f) 146 | # write header 147 | writer.writerow(["id", "path", "solved", "time", "result"]) 148 | for i in range(len(self.benchmarkLst)): 149 | writer.writerow( 150 | [ 151 | i, 152 | self.benchmarkLst[i], 153 | results[i][0], 154 | results[i][1], 155 | results[i][2], 156 | ] 157 | ) 158 | solved = solvedNum(results) 159 | par2 = parN(results, 2, self.timeout) 160 | par10 = parN(results, 10, self.timeout) 161 | return (solved, par2, par10) 162 | -------------------------------------------------------------------------------- /z3alpha/parallelRun.py: -------------------------------------------------------------------------------- 1 | import subprocess 2 | import time 3 | from concurrent.futures import ThreadPoolExecutor 4 | 5 | import sys 6 | import os 7 | 8 | logic_strategy = {"QF_SLIA": "/home/paul/Dokumente/z3alpha/test.txt"} 9 | 10 | 11 | def read_smtlib_logic(smt_file): 12 | with open(smt_file, "r") as f: 13 | for line in f: 14 | if line.startswith("(set-logic"): 15 | return line.split()[1][:-1] 16 | return None 17 | 18 | 19 | def run_z3_with_command(smt_file, command, logic): 20 | start_time = time.time() 21 | content = "" 22 | with open(smt_file, "r") as f: 23 | for line in f: 24 | if "check-sat" in line: 25 | content += f"(check-sat-using {command})\n" 26 | else: 27 | content += line + "\n" 28 | 29 | temp_file = f"temp_{hash(command)}.smt2" 30 | with open(temp_file, "w") as f: 31 | f.write(content) 32 | if logic in ["QF_S", "QF_SLIA", "QF_SNIA"]: 33 | result = subprocess.run( 34 | ["z3", "z3str", temp_file], capture_output=True, text=True 35 | ) 36 | else: 37 | result = subprocess.run(["z3", temp_file], capture_output=True, text=True) 38 | 39 | elapsed_time = time.time() - start_time 40 | 41 | return { 42 | "command": command, 43 | "output": result.stdout.strip(), 44 | "execution_time": elapsed_time, 45 | } 46 | 47 | 48 | def main(smt_file): 49 | results = [] 50 | logic = read_smtlib_logic(smt_file) 51 | print(logic) 52 | command_file = logic_strategy[logic] 53 | with open(command_file, "r") as f: 54 | commands = [line.strip() for line in f if line.strip()] 55 | 56 | with ThreadPoolExecutor(max_workers=4) as executor: 57 | futures = [ 58 | executor.submit(run_z3_with_command, smt_file, command, logic) 59 | for command in commands 60 | ] 61 | for future in futures: 62 | results.append(future.result()) 63 | 64 | with open("/home/paul/Dokumente/z3alpha/alphasmt/output.txt", "w") as f: 65 | for idx, result in enumerate(results): 66 | f.write(f"Command {idx + 1}:\n") 67 | f.write(f"{result['command']}\n\n") 68 | f.write("Output:\n") 69 | f.write(f"{result['output']}\n\n") 70 | f.write(f"Execution Time: {result['execution_time']:.2f} seconds\n") 71 | f.write("=" * 50 + "\n\n") 72 | 73 | 74 | if __name__ == "__main__": 75 | main("/home/paul/Dokumente/z3alpha/smtcomp24/test_instances/qfslia0.smt2") 76 | -------------------------------------------------------------------------------- /z3alpha/params.py: -------------------------------------------------------------------------------- 1 | import copy 2 | 3 | # qf_lia may need to add some to simplify and ctx-simplify 4 | BASIC_PARAMS = { 5 | # "smt" 6 | 10: {"random_seed": [i * 100 for i in range(6)]}, 7 | # "simplify" 8 | 20: { 9 | "elim_and": [ 10 | "true", 11 | "false", 12 | ], # z3-qfbv z3-qfnia z3-qfnra-nlsat z3-qflia z3-qflra fast-qfnia fast-qfbv fast-qfnra 13 | "blast_distinct": [ 14 | "true", 15 | "false", 16 | ], # z3-qfbv z3-qfnia z3-qfnra-nlsat z3-qflia z3-qflra fast-qfnia fast-qfbv fast-qfnra 17 | "local_ctx": [ 18 | "true", 19 | "false", 20 | ], # z3-qfbv z3-qfnia z3-qflia fast-qfnia fast-qfbv fast-qfnra 21 | "pull_cheap_ite": ["true", "false"], 22 | }, 23 | # "propagate-values" 24 | # 21: { 25 | # "push_ite_bv": ["true","false"] # z3-qfbv 26 | # }, 27 | # "nla2bv" 28 | 5: {"nla2bv_max_bv_size": [4, 8, 16, 32, 64, 128]}, 29 | # "qfnra-nlsat" 30 | 11: { 31 | "inline_vars": ["true", "false"], 32 | "factor": ["true", "false"], 33 | "seed": [i * 100 for i in range(6)], 34 | }, 35 | # "add-bounds" 36 | 36: { 37 | "add_bound_lower": [-2, -4, -8, -16, -32], 38 | "add_bound_upper": [2, 4, 8, 16, 32], 39 | }, 40 | # "pb2bv" 41 | # 8: { 42 | # "pb2bv_all_clauses_limit": [4, 8, 16, 32, 64], 43 | # }, 44 | # "lia2pb" 45 | 38: { 46 | "lia2pb_max_bits": [16, 32, 64, 128], 47 | }, 48 | } 49 | 50 | 51 | # for now, MCTS_run just has one unchanged Logic setting; include all relevant (even after conversion) parameters for each logic 52 | def create_params_dict(logic): 53 | params = copy.deepcopy(BASIC_PARAMS) 54 | if logic == "default": 55 | pass 56 | elif logic == "QF_LIA": 57 | # "simplify" 58 | params[20]["som"] = [ 59 | "true", 60 | "false", 61 | ] # z3-qfbv z3-qfnia z3-qflia z3-qflra fast-qfnia fast-qfbv fast-qfnra 62 | params[20]["flat"] = [ 63 | "true", 64 | "false", 65 | ] # z3-qfbv z3-qfnia z3-qflia fast-qfnia fast-qfbv fast-qfnra 66 | params[20]["push_ite_arith"] = ["true", "false"] 67 | params[20]["hoist_ite"] = ["true", "false"] 68 | params[20]["arith_lhs"] = ["true", "false"] 69 | elif logic == "QF_LRA": 70 | # "simplify" 71 | params[20]["som"] = ["true", "false"] 72 | params[20]["flat"] = ["true", "false"] 73 | elif logic == "QF_NIA": 74 | # "simplify" 75 | params[20]["som"] = ["true", "false"] 76 | params[20]["flat"] = ["true", "false"] 77 | params[20]["hi_div0"] = ["true", "false"] # z3-qfnia fast-qfnia fast-qfnra 78 | params[20]["hoist_mul"] = [ 79 | "true", 80 | "false", 81 | ] # z3-qfbv z3-qfnia fast-qfnia fast-qfbv fast-qfnra 82 | # for qfbv 83 | params[20]["push_ite_bv"] = ["true", "false"] 84 | # "propagate-values" 85 | params[21] = {} 86 | params[21]["push_ite_bv"] = ["true", "false"] 87 | elif logic == "QF_NRA": 88 | # "simplify" 89 | params[20]["som"] = ["true", "false"] 90 | params[20]["flat"] = ["true", "false"] 91 | params[20]["hi_div0"] = ["true", "false"] 92 | params[20]["hoist_mul"] = ["true", "false"] 93 | # for qfbv 94 | params[20]["push_ite_bv"] = ["true", "false"] 95 | # "propagate-values" 96 | params[21] = {} 97 | params[21]["push_ite_bv"] = ["true", "false"] 98 | elif logic == "QF_BV": 99 | # "simplify" 100 | params[20]["som"] = ["true", "false"] 101 | params[20]["flat"] = ["true", "false"] 102 | params[20]["push_ite_bv"] = ["true", "false"] # z3-qfbv fast-qfbv 103 | params[20]["hoist_mul"] = ["true", "false"] 104 | 105 | # "propagate-values" 106 | params[21] = {} 107 | params[21]["push_ite_bv"] = ["true", "false"] 108 | elif logic == "QF_S": 109 | pass 110 | else: 111 | raise NotImplementedError(f"Logic {logic} not implemented") 112 | return params 113 | -------------------------------------------------------------------------------- /z3alpha/scripts/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | Command-line scripts for Z3alpha 3 | """ -------------------------------------------------------------------------------- /z3alpha/scripts/synthesize_full.py: -------------------------------------------------------------------------------- 1 | import logging 2 | import argparse 3 | import json 4 | import datetime 5 | import os 6 | 7 | from z3alpha.synthesize import * 8 | 9 | log = logging.getLogger(__name__) 10 | log.setLevel(logging.INFO) 11 | log_handler = logging.StreamHandler() 12 | log_handler.setFormatter( 13 | logging.Formatter("%(asctime)s:%(levelname)s:%(message)s", "%Y-%m-%d %H:%M:%S") 14 | ) 15 | log.addHandler(log_handler) 16 | 17 | 18 | def main(): 19 | parser = argparse.ArgumentParser() 20 | parser.add_argument( 21 | "json_config", type=str, help="The experiment configuration file in json" 22 | ) 23 | configJsonPath = parser.parse_args() 24 | config = json.load(open(configJsonPath.json_config, "r")) 25 | # num_strat = config['ln_strat_num'] 26 | log_folder = ( 27 | f"experiments/synthesis/out-{datetime.datetime.now():%Y-%m-%d_%H-%M-%S}/" 28 | ) 29 | assert not os.path.exists(log_folder) 30 | os.makedirs(log_folder) 31 | selected_strats, s1_time = stage1_synthesize(config, log, log_folder) 32 | res_dict, bench_lst, cache_time = cache4stage2( 33 | selected_strats, config, log, log_folder 34 | ) 35 | bst_strats, s2mcts_time = stage2_synthesize( 36 | res_dict, bench_lst, config, log, log_folder 37 | ) 38 | order = 1 39 | for bst_strat in bst_strats: 40 | log.info(f"Best strategy {order}: {bst_strat}") 41 | order += 1 42 | log.info( 43 | f"S1 time: {s1_time:.0f}, S2 Cache time: {cache_time:.0f}, S2 MCTS time: {s2mcts_time:.0f}, Total time: {s1_time + cache_time + s2mcts_time:.0f}" 44 | ) 45 | 46 | 47 | if __name__ == "__main__": 48 | main() 49 | -------------------------------------------------------------------------------- /z3alpha/scripts/synthesize_para.py: -------------------------------------------------------------------------------- 1 | import logging 2 | import argparse 3 | import json 4 | import datetime 5 | from pathlib import Path 6 | 7 | from z3alpha.synthesize import stage1_synthesize, parallel_linear_strategies 8 | from z3alpha.utils import check_z3_version 9 | 10 | logger = logging.getLogger(__name__) 11 | 12 | 13 | def main(): 14 | parser = argparse.ArgumentParser() 15 | parser.add_argument( 16 | "json_config", type=str, help="The experiment configuration file in json" 17 | ) 18 | parser.add_argument( 19 | "--log-level", 20 | choices=["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"], 21 | default="INFO", 22 | help="Set the logging level" 23 | ) 24 | args = parser.parse_args() 25 | 26 | # Configure logging 27 | logging.basicConfig( 28 | level=getattr(logging, args.log_level), 29 | format="%(asctime)s:%(levelname)s:%(message)s", 30 | datefmt="%Y-%m-%d %H:%M:%S" 31 | ) 32 | 33 | config = json.load(open(args.json_config, "r")) 34 | log_folder = Path( 35 | f"experiments/synthesis/out-{datetime.datetime.now():%Y-%m-%d_%H-%M-%S}/" 36 | ) 37 | assert not log_folder.exists() 38 | log_folder.mkdir(parents=True) 39 | 40 | z3path = config["z3path"] if "z3path" in config else "z3" 41 | check_z3_version(z3path) 42 | 43 | selected_strats, s1_time = stage1_synthesize(config, logger, log_folder) 44 | parallel_strat = parallel_linear_strategies(selected_strats) 45 | # write parallel strategy to file 46 | parallel_strat_path = log_folder / "parallel_strategy.txt" 47 | with open(parallel_strat_path, "w") as f: 48 | f.write(parallel_strat) 49 | logger.info(f"Parallel strategy saved to {parallel_strat_path}") 50 | # log report time 51 | logger.info(f"Synthesis time: {s1_time:.0f} seconds") 52 | 53 | 54 | if __name__ == "__main__": 55 | main() 56 | -------------------------------------------------------------------------------- /z3alpha/scripts/synthesize_s1.py: -------------------------------------------------------------------------------- 1 | import logging 2 | import argparse 3 | import json 4 | import datetime 5 | import os 6 | 7 | from z3alpha.synthesize import stage1_synthesize 8 | 9 | log = logging.getLogger(__name__) 10 | log.setLevel(logging.INFO) 11 | log_handler = logging.StreamHandler() 12 | log_handler.setFormatter( 13 | logging.Formatter("%(asctime)s:%(levelname)s:%(message)s", "%Y-%m-%d %H:%M:%S") 14 | ) 15 | log.addHandler(log_handler) 16 | 17 | 18 | def main(): 19 | parser = argparse.ArgumentParser() 20 | parser.add_argument( 21 | "json_config", type=str, help="The experiment configuration file in json" 22 | ) 23 | configJsonPath = parser.parse_args() 24 | config = json.load(open(configJsonPath.json_config, "r")) 25 | log_folder = ( 26 | f"experiments/synthesis/out-{datetime.datetime.now():%Y-%m-%d_%H-%M-%S}/" 27 | ) 28 | assert not os.path.exists(log_folder) 29 | os.makedirs(log_folder) 30 | stage1_synthesize(config, log, log_folder) 31 | 32 | 33 | if __name__ == "__main__": 34 | main() 35 | -------------------------------------------------------------------------------- /z3alpha/scripts/synthesize_s2.py: -------------------------------------------------------------------------------- 1 | import logging 2 | import argparse 3 | import json 4 | import datetime 5 | import os 6 | 7 | from z3alpha.synthesize import cache4stage2, stage2_synthesize 8 | from z3alpha.utils import read_strat_res_from_csv 9 | 10 | log = logging.getLogger(__name__) 11 | log.setLevel(logging.INFO) 12 | log_handler = logging.StreamHandler() 13 | log_handler.setFormatter( 14 | logging.Formatter("%(asctime)s:%(levelname)s:%(message)s", "%Y-%m-%d %H:%M:%S") 15 | ) 16 | log.addHandler(log_handler) 17 | 18 | 19 | def main(): 20 | parser = argparse.ArgumentParser() 21 | parser.add_argument( 22 | "json_config", type=str, help="The experiment configuration file in json" 23 | ) 24 | parser.add_argument( 25 | "--no_caching", 26 | action="store_false", 27 | default=True, 28 | help="cache results are provided; no need to caching s1 strats", 29 | ) 30 | parser.add_argument( 31 | "--benchlst4cahce", 32 | action="store_true", 33 | default=False, 34 | help="bench list is provided for caching", 35 | ) # this argument states you can read a benchlist from ln_res and cache for the benchmarks in this list; don't remember when it will be useful 36 | parser.add_argument( 37 | "--no_syn", 38 | action="store_false", 39 | default=True, 40 | help="does not need to perform s2 synthesize", 41 | ) 42 | configJsonPath = parser.parse_args() 43 | config = json.load(open(configJsonPath.json_config, "r")) 44 | # num_strat = config['ln_strat_num'] 45 | s2config = config["s2config"] 46 | is_cache = configJsonPath.no_caching 47 | is_cache_benchlst = configJsonPath.benchlst4cahce 48 | is_syn = configJsonPath.no_syn 49 | assert is_cache or is_syn, "no caching and no synthesize; nothing to do" 50 | log_folder = ( 51 | f"experiments/synthesis/out-{datetime.datetime.now():%Y-%m-%d_%H-%M-%S}/" 52 | ) 53 | assert not os.path.exists(log_folder) 54 | os.makedirs(log_folder) 55 | ln_strat_file = s2config["ln_res"] 56 | res_lst, bench_lst = read_strat_res_from_csv(ln_strat_file) 57 | assert len(res_lst) > 0 58 | 59 | cache_time = 0 60 | if is_cache: 61 | # res_lst is a list of (strat, res_lst) 62 | stratLst = [x[0] for x in res_lst] 63 | if is_cache_benchlst: 64 | assert len(bench_lst) > 0 65 | else: 66 | bench_lst = None 67 | res_lst, bench_lst, cache_time = cache4stage2( 68 | stratLst, config, log, log_folder, benchlst=bench_lst 69 | ) 70 | 71 | if not is_syn: 72 | return 73 | 74 | if not is_cache: 75 | assert len(bench_lst) > 0 76 | log.info(f"s2syn: read {len(res_lst)} strategies from {ln_strat_file}") 77 | 78 | bst_strats, s2mcts_time = stage2_synthesize( 79 | res_lst, bench_lst, config, log, log_folder 80 | ) 81 | order = 1 82 | for bst_strat in bst_strats: 83 | log.info(f"Best strategy {order}: {bst_strat}") 84 | order += 1 85 | log.info( 86 | f"S2: Cache time: {cache_time:.0f}, MCTS time: {s2mcts_time:.0f}, Total time: {cache_time + s2mcts_time:.0f}" 87 | ) 88 | 89 | 90 | if __name__ == "__main__": 91 | main() 92 | -------------------------------------------------------------------------------- /z3alpha/selector.py: -------------------------------------------------------------------------------- 1 | from z3alpha.utils import parNReward 2 | from z3alpha.parser import s1_strat_parse, SOLVER_TACTICS, PREPROCESS_TACTICS 3 | 4 | 5 | # no incentive for early termination if not solved for now 6 | # return True if res2 is better than res1 7 | def compare_performance(res1, res2): 8 | if not res2[0]: 9 | return False 10 | if not res1[0]: 11 | return True 12 | return res2[1] < res1[1] 13 | 14 | 15 | def virtual_add_strategy(cur_best_res, strat_res): 16 | assert len(cur_best_res) == len(strat_res) 17 | # make a deep copy of the list cur_best_res 18 | new_best_res = [None] * len(cur_best_res) 19 | beat_count = 0 20 | for i in range(len(cur_best_res)): 21 | if compare_performance(cur_best_res[i], strat_res[i]): 22 | new_best_res[i] = strat_res[i] 23 | beat_count += 1 24 | else: 25 | new_best_res[i] = cur_best_res[i] 26 | return new_best_res, beat_count 27 | 28 | 29 | # now only use par10 as metric to select strategies 30 | N = 10 31 | 32 | 33 | def linear_strategy_select(max_selected, result_database, timeout): 34 | assert max_selected <= len(result_database) 35 | selected_strat = [] 36 | log_str = "\n" 37 | best_res = [(False, None)] * len(result_database[list(result_database.keys())[0]]) 38 | for i in range(max_selected): 39 | best_strat = None 40 | best_value = parNReward(best_res, N, timeout) 41 | for strat in result_database: 42 | if strat in selected_strat: 43 | continue 44 | strat_res = result_database[strat] 45 | virtual_res, _ = virtual_add_strategy(best_res, strat_res) 46 | virtual_value = parNReward(virtual_res, N, timeout) 47 | if virtual_value > best_value: 48 | best_strat = strat 49 | best_value = virtual_value 50 | if best_strat is None: 51 | break 52 | selected_strat.append(best_strat) 53 | best_res, beat_num = virtual_add_strategy(best_res, result_database[best_strat]) 54 | log_str += f"Select {i}'th strategy: {best_strat}\nimprove on {beat_num} instances, new par10: {best_value:.5f}\n" 55 | return selected_strat, log_str 56 | 57 | 58 | def convert_strats_to_act_lists(s1_strat_lst): 59 | tactic_dict = {} 60 | solverID = 1000 61 | act2solver = {} 62 | preprocessID = 2000 63 | act2preprocess = {} 64 | strat_act_lst = [] 65 | s1strat2acts = {} 66 | 67 | for s1_strat in s1_strat_lst: 68 | tac_lst = s1_strat_parse(s1_strat) 69 | act_lst = [] 70 | for tac in tac_lst: 71 | tac_str = str( 72 | tac 73 | ) # currently it is not guaranteed that the parameters are in the same order after parsing 74 | if tac_str not in tactic_dict: 75 | if tac[0] in SOLVER_TACTICS: 76 | tactic_dict[tac_str] = solverID 77 | act2solver[solverID] = tac 78 | solverID += 1 79 | elif tac[0] in PREPROCESS_TACTICS: 80 | tactic_dict[tac_str] = preprocessID 81 | act2preprocess[preprocessID] = tac 82 | preprocessID += 1 83 | else: 84 | raise Exception(f"Unknown tactic {tac}") 85 | assert tac_str in tactic_dict 86 | act_lst.append(tactic_dict[tac_str]) 87 | strat_act_lst.append(act_lst) 88 | s1strat2acts[s1_strat] = tuple(act_lst) 89 | 90 | return strat_act_lst, act2solver, act2preprocess, s1strat2acts 91 | 92 | 93 | # check whether lst1 is a strick prefix of lst2 94 | def is_strick_prefix(lst1, lst2): 95 | if len(lst1) >= len(lst2): 96 | return False 97 | for i in range(len(lst1)): 98 | if lst1[i] != lst2[i]: 99 | return False 100 | return True 101 | 102 | 103 | def search_next_action(cur_act_path, strat_act_lst): 104 | action_set = set() 105 | for strategy in strat_act_lst: 106 | if is_strick_prefix(cur_act_path, strategy): 107 | action_set.add(strategy[len(cur_act_path)]) 108 | return list(action_set) 109 | -------------------------------------------------------------------------------- /z3alpha/utils.py: -------------------------------------------------------------------------------- 1 | import csv 2 | import logging 3 | import subprocess 4 | import sys 5 | 6 | logger = logging.getLogger(__name__) 7 | 8 | 9 | def solvedNum(resLst): 10 | return len([res for res in resLst if res[0]]) 11 | 12 | 13 | def solvedNumReward(resLst): 14 | return solvedNum(resLst) / len(resLst) 15 | 16 | 17 | def parN(resLst, n, timeout): 18 | parN = 0 19 | for i in range(len(resLst)): 20 | if not resLst[i][0]: 21 | parN += n * timeout 22 | else: 23 | parN += resLst[i][1] 24 | return parN 25 | 26 | 27 | def parNReward(resLst, n, timeout): 28 | par_n = parN(resLst, n, timeout) 29 | maxParN = len(resLst) * timeout * n 30 | return 1 - par_n / maxParN 31 | 32 | 33 | def calculatePercentile(lst, percentile): 34 | assert len(lst) > 0 35 | # percentile is of the form like "90p" 36 | percent = float(percentile[:-1]) / 100 37 | sortedLst = sorted(lst) 38 | index = int(len(sortedLst) * percent) 39 | return sortedLst[index] 40 | 41 | 42 | def write_strat_res_to_csv(res_lst, csv_path, bench_lst): 43 | with open(csv_path, "w") as f: 44 | writer = csv.writer(f) 45 | # write header 46 | writer.writerow(["strat"] + bench_lst) 47 | for strat, res in res_lst: 48 | write_lst = [] 49 | for res_tuple in res: 50 | if res_tuple[0]: 51 | write_lst.append(res_tuple[1]) 52 | else: 53 | write_lst.append(-res_tuple[1]) 54 | writer.writerow([strat] + write_lst) 55 | 56 | 57 | def read_strat_res_from_csv(csv_path): 58 | results = [] 59 | with open(csv_path, "r") as f: 60 | reader = csv.reader(f) 61 | header = next(reader) 62 | bench_lst = header[1:] 63 | for row in reader: 64 | strat = row[0] 65 | res_lst = [] 66 | for res in row[1:]: 67 | stime = float(res) 68 | if stime < 0: 69 | res_lst.append((False, -stime, "na")) 70 | else: 71 | res_lst.append((True, stime, "na")) 72 | results.append((strat, res_lst)) 73 | return results, bench_lst 74 | 75 | 76 | def check_z3_version(z3path): 77 | try: 78 | result = subprocess.run([z3path, "--version"], capture_output=True, text=True) 79 | if result.returncode != 0: 80 | logger.error(f"Failed to get Z3 version. Error: {result.stderr}") 81 | sys.exit(1) 82 | 83 | version = result.stdout.strip() 84 | logger.info(f"Using Z3 version: {version}") 85 | return version 86 | except Exception as e: 87 | logger.error(f"Error checking Z3 version: {str(e)}") 88 | sys.exit(1) 89 | --------------------------------------------------------------------------------