diff --git a/CMakeLists.txt b/CMakeLists.txt index 22b92c6a3..63abe09bf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,18 +1,16 @@ cmake_minimum_required(VERSION 2.8.11) -project (SeaHorn) -set (SeaHorn_VERSION_MAJOR 0) -set (SeaHorn_VERSION_MINOR 1) -set (SeaHorn_VERSION_PATCH 0) -set (SeaHorn_VERSION_TWEAK "rc3") +project (ADTIND) +set (ADTIND_VERSION_MAJOR 0) +set (ADTIND_VERSION_MINOR 5) if (NOT PACKAGE_VERSION) set(PACKAGE_VERSION - "${SeaHorn_VERSION_MAJOR}.${SeaHorn_VERSION_MINOR}.${SeaHorn_VERSION_PATCH}") - if (DEFINED SeaHorn_VERSION_TWEAK) - set (PACKAGE_VERSION "${PACKAGE_VERSION}-${SeaHorn_VERSION_TWEAK}") + "${ADTIND_VERSION_MAJOR}.${ADTIND_VERSION_MINOR}.${ADTIND_VERSION_PATCH}") + if (DEFINED ADTIND_VERSION_TWEAK) + set (PACKAGE_VERSION "${PACKAGE_VERSION}-${ADTIND_VERSION_TWEAK}") endif() - set (SeaHorn_VERSION_INFO ${PACKAGE_VERSION}) + set (ADTIND_VERSION_INFO ${PACKAGE_VERSION}) endif() @@ -29,7 +27,7 @@ list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") -option (SEAHORN_STATIC_EXE "Static executable." OFF) +option (ADTIND_STATIC_EXE "Static executable." OFF) set (CUSTOM_BOOST_ROOT "" CACHE PATH "Path to custom boost installation.") if (CUSTOM_BOOST_ROOT) @@ -46,7 +44,7 @@ set (BOOST_COMPONENTS system) if (UNIT_TESTS) set (BOOST_COMPONENTS ${BOOST_COMPONENTS} unit_test_framework) endif() - find_package (Boost 1.55 REQUIRED COMPONENTS ${BOOST_COMPONENTS}) + find_package (Boost 1.71 REQUIRED COMPONENTS ${BOOST_COMPONENTS}) if (Boost_FOUND) include_directories (${Boost_INCLUDE_DIRS}) endif () @@ -54,8 +52,8 @@ endif () include(ExternalProject) set_property(DIRECTORY PROPERTY EP_STEP_TARGETS configure build test) -set (Z3_TAG "origin/spacer3" CACHE STRING "Z3 git tag to use") -set (Z3_REPO "https://bitbucket.org/spacer/code.git" CACHE STRING "Z3 repo") +set (Z3_TAG "z3-4.8.10" CACHE STRING "Z3 git tag to use") +set (Z3_REPO "https://github.com/Z3Prover/z3.git" CACHE STRING "Z3 repo") if (CMAKE_BUILD_TYPE STREQUAL "Debug") set (Z3_DEBUG "-d") else() @@ -76,11 +74,12 @@ ExternalProject_Add(z3 LOG_INSTALL 1 LOG_BUILD 1) -find_package(Z3 4.3.2) +find_package(Z3 4.8.1) if (NOT Z3_FOUND) ExternalProject_Get_Property (z3 INSTALL_DIR) set(Z3_ROOT ${INSTALL_DIR} CACHE PATH "Forced location of Z3" FORCE) message(WARNING "No Z3 found. Run \n\tcmake --build . && cmake ${CMAKE_SOURCE_DIR}") + return() else() set_target_properties(z3 PROPERTIES EXCLUDE_FROM_ALL ON) include_directories(${Z3_INCLUDE_DIR}) @@ -89,78 +88,20 @@ else() install (PROGRAMS ${Z3_EXECUTABLE} DESTINATION bin) endif() -ExternalProject_Add (llvm - SVN_REPOSITORY http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_360/final/ - SOURCE_DIR ${CMAKE_SOURCE_DIR}/ext/llvm - INSTALL_DIR ${CMAKE_BINARY_DIR}/run - CMAKE_ARGS - -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} - -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE} - -DCMAKE_INSTALL_PREFIX:PATH= - -DLLVM_TARGETS_TO_BUILD:STRING=X86 -DWITH_POLY:BOOL=OFF - -DLLVM_ENABLE_PEDANTIC=OFF - -DLLVM_ENABLE_PIC=ON -DLLVM_REQUIRES_RTTI:BOOL=TRUE - TEST_AFTER_INSTALL 1 - TEST_COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_LIST_FILE} - LOG_CONFIGURE 1 - LOG_BUILD 1 - LOG_INSTALL 1) - -find_package (LLVM 3.6.0 CONFIG NO_DEFAULT_PATH) -if (NOT LLVM_FOUND) - ExternalProject_Get_Property (llvm INSTALL_DIR) - set (LLVM_ROOT ${INSTALL_DIR}) - set (LLVM_DIR ${LLVM_ROOT}/share/llvm/cmake CACHE PATH - "Forced location of LLVM cmake config" FORCE) - message (WARNING "No llvm found. Run \n\tcmake --build . && cmake ${CMAKE_SOURCE_DIR}") - return() -else() - set_target_properties(llvm PROPERTIES EXCLUDE_FROM_ALL ON) - - message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}") - message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}") - - # We incorporate the CMake features provided by LLVM: - list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_DIR}") - include(AddLLVM) - include(HandleLLVMOptions) - set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin) - set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib) - - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LLVM_CXXFLAGS}") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LLVM_LDFLAGS}") - - set(LLVM_REQUIRES_RTTI TRUE) - set(LLVM_REQUIRES_EH TRUE) - - include_directories(${LLVM_INCLUDE_DIRS}) - link_directories(${LLVM_LIBRARY_DIRS}) - add_definitions(${LLVM_DEFINITIONS}) - -endif() - - install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/README.md DESTINATION .) # install all the licenses install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/license.txt - DESTINATION share/doc/seahorn - RENAME seahorn_license.txt) + DESTINATION share/doc/ADTIND + RENAME ADTIND_license.txt) if (EXISTS z3-prefix/src/z3/LICENSE.txt) install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/z3-prefix/src/z3/LICENSE.txt - DESTINATION share/doc/seahorn + DESTINATION share/doc/ADTIND RENAME z3_license.txt) endif() -if (EXISTS ${CMAKE_CURRENT_BINARY_DIR}/llvm-prefix/src/llvm-build/bin/clang-3.6) - install ( - PROGRAMS - ${CMAKE_CURRENT_BINARY_DIR}/llvm-prefix/src/llvm-build/bin/clang-3.6 - DESTINATION bin) -endif() - if (EXISTS ${CMAKE_CURRENT_BINARY_DIR}/z3-prefix/src/z3/build) file(GLOB z3py ${CMAKE_CURRENT_BINARY_DIR}/z3-prefix/src/z3/build/*.py? @@ -182,7 +123,10 @@ else() endif() find_package(OpenMP) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") +if (OPENMP_FOUND) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") + #set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fopenmp") +endif() install(DIRECTORY include/ DESTINATION include @@ -207,6 +151,7 @@ set(CMAKE_CXX_EXTENSIONS ON) add_definitions(-Wno-redeclared-class-member -Wno-sometimes-uninitialized) add_definitions(-Wno-covered-switch-default) add_definitions(-Wno-inconsistent-missing-override) +set(CMAKE_CXX_STANDARD 11) if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") add_definitions( -Wno-unused-local-typedefs) endif () diff --git a/README.md b/README.md index 2e88b4ccc..a760bfb6c 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,27 @@ -#About# - -Skolemizer for AE-formulas in LIA/LRA based on the SeaHorn verification framework and the Z3 SMT solver. This is the main computational engine used in the Incremental Model Checking (LPAR'15, CAV'16) and in the Program Synthesis from Assume-Guarantee contracts (preprint). - -#Installation# - -* `cd aeval ; mkdir build ; cd build` -* `cmake ../` -* `make` to build dependencies (Z3 and LLVM) -* `make` to build AE-VAL - -The binary of AE-VAL can be found in `build/tools/aeval/` - +About +===== + +Skolemizer for AE-formulas in LIA/LRA based on the Expression library of SeaHorn and the Z3 SMT solver. This is the main computational engine used in the Incremental Model Checking (LPAR'15, CAV'16) and in the Program Synthesis from Assume-Guarantee contracts (preprint). + +Installation +============ + +Compiles with gcc-5 (on Linux) and clang-700 (on Mac). Assumes preinstalled Gmp and Boost v1.67 packages. + +* `cd aeval ; mkdir build ; cd build` +* `cmake ../` +* `make` to build dependencies (Z3 and LLVM) +* `make` to build AE-VAL + +The binary of AE-VAL can be found in `build/tools/aeval/`. + +Benchmarks +========== + +Each benchmark is split into two files (for the universal and the existential parts of the formula). AE-VAL either returns `Valid` (with a skolem) or `Invalid`. Collection of the formulas can be found at `bench/tasks/` and the expected skolems at `bench/skolems/`. + +For example, if AE-VAL is run with the following input: + +`./build/tools/aeval/aeval bench/tasks/fast_1_e8_747_extend_s_part.smt2 bench/tasks/fast_1_e8_747_extend_t_part.smt2 ` + +Then, the output is `Valid` and the synthesized skolem should be close enough to the formula in `bench/skolems/fast_1_e8_747_extend_skolem.smt2`. diff --git a/bench/run-bench.sh b/bench/run-bench.sh new file mode 100755 index 000000000..6c8e41157 --- /dev/null +++ b/bench/run-bench.sh @@ -0,0 +1,49 @@ +#!/bin/bash +echo "This is the script for running regression tests" +echo " - date: $(date '+%Y-%m-%d at %H:%M.%S')" +echo " - host name $(hostname -f)" +echo " - script path: $(readlink -f $0)" + +adtchc=../adtchc +if [[ ! $# -eq 0 ]] ; then + #echo 'Setting path to' $1 + adtchc=$1 +fi + +# run the interpolating version of OpenSMT +adtchc=${adtchc}' -i' + +picky=./utils/picky.smt2 +lookahead=./utils/lookahead.smt2 + +tmpfolder=log-$(date '+%Y-%m-%d-%H-%M-%S') +mkdir ${tmpfolder} + +export outmod=false +export errmod=false +export rtmod=false +export err=false + +for file in $(find . -name '*.smt2' |sort); do + name=$(basename $file) + dir=$(dirname $file) + + sh -c "ulimit -St 60; ${adtchc} $dir/$name > $tmpfolder/$name.out 2>$tmpfolder/$name.err.tmp" 2>/dev/null + grep -v '^;' $tmpfolder/$name.err.tmp > $tmpfolder/$name.err + + if [ -s "$tmpfolder/$name.err" ]; then + echo "stderr not empty for benchmark $file"; + err=true; + fi + + +done +#echo "Stdout differs: ${outmod}, stderr differs: ${errmod}" + +if [[ ${err} == true ]]; then + echo "There were anomalies: check logs in ${tmpfolder}" + exit 1 +else + rm -rf ${tmpfolder} +fi + diff --git a/bench/skolems/PRODUCER_CONSUMER_2_base_skolem.smt2 b/bench/skolems/PRODUCER_CONSUMER_2_base_skolem.smt2 new file mode 100644 index 000000000..979f888b6 --- /dev/null +++ b/bench/skolems/PRODUCER_CONSUMER_2_base_skolem.smt2 @@ -0,0 +1,22 @@ +(declare-fun $V74_X$2 () Bool) +(declare-fun $V87_First$2 () Int) +(declare-fun $V79_Sofar$2 () Bool) +(declare-fun $etat1$0 () Bool) +(declare-fun $V31_env$2 () Bool) +(declare-fun $a_init$0 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V26_i$2 () Int) +(declare-fun $etat3$0 () Bool) +(declare-fun $etat2$0 () Bool) + +(assert (let ((a!1 (and (not $etat1$0) (not (and $etat2$0 $etat3$0)) (> $a_init$0 0)))) +(let ((a!2 (and (= $OK$2 (or (not a!1) (>= 0 0))) + (= $V31_env$2 a!1) + (= $V26_i$2 0) + (= $V79_Sofar$2 (not (and $etat2$0 $etat3$0))) + (= $V87_First$2 $a_init$0) + (= $V74_X$2 (not (and $etat2$0 $etat3$0)))))) + (ite (and $etat2$0 $etat3$0) + a!2 + (ite (or (not $etat2$0) (not $etat3$0)) a!2 true))))) +(check-sat) diff --git a/bench/skolems/PRODUCER_CONSUMER_2_extend_skolem.smt2 b/bench/skolems/PRODUCER_CONSUMER_2_extend_skolem.smt2 new file mode 100644 index 000000000..77da0e2b6 --- /dev/null +++ b/bench/skolems/PRODUCER_CONSUMER_2_extend_skolem.smt2 @@ -0,0 +1,52 @@ +(declare-fun $V87_First$2 () Int) +(declare-fun $V74_X$2 () Bool) +(declare-fun $etat1$0 () Bool) +(declare-fun $V26_i$2 () Int) +(declare-fun %init () Bool) +(declare-fun $V31_env$2 () Bool) +(declare-fun $V79_Sofar$~1 () Bool) +(declare-fun $V79_Sofar$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V87_First$~1 () Int) +(declare-fun $a_init$0 () Int) +(declare-fun $etat3$0 () Bool) +(declare-fun $etat2$0 () Bool) + +(assert (let ((a!1 (and %init (= (+ (* (- 1) $a_init$0) $V87_First$~1) 0))) + (a!2 (ite %init + (not (and $etat2$0 $etat3$0)) + (and (not (and $etat2$0 $etat3$0)) $V79_Sofar$~1))) + (a!6 (and (not %init) (= (+ (* (- 1) $V87_First$~1) $a_init$0) 0)))) +(let ((a!3 (and (and (ite %init (not $etat1$0) true) a!2) (> $V87_First$~1 0))) + (a!5 (and (or (not $etat2$0) (not $etat3$0)) + (or %init (and (not %init) $V79_Sofar$~1)) + (or a!1 (not %init)))) + (a!7 (and (and (ite %init (not $etat1$0) true) a!2) (> $a_init$0 0))) + (a!9 (and (or (not $etat2$0) (not $etat3$0)) + (or %init (and (not %init) $V79_Sofar$~1)) + (or %init a!6)))) +(let ((a!4 (and (= $OK$2 (or (not a!3) (>= 0 0))) + (= $V31_env$2 a!3) + (= $V26_i$2 0) + (= $V79_Sofar$2 a!2) + (= $V87_First$2 $V87_First$~1) + (= $V74_X$2 (not (and $etat2$0 $etat3$0))))) + (a!8 (and (= $OK$2 (or (>= 0 0) (not a!7))) + (= $V31_env$2 a!7) + (= $V26_i$2 0) + (= $V79_Sofar$2 a!2) + (= $V87_First$2 $a_init$0) + (= $V74_X$2 (not (and $etat2$0 $etat3$0)))))) +(let ((a!10 (ite a!5 + a!4 + (ite (and $etat2$0 $etat3$0 (or %init a!6)) + a!8 + (ite a!9 a!8 true))))) +(let ((a!11 (ite (and (or (not $etat2$0) (not $etat3$0)) + (not %init) + (not $V79_Sofar$~1) + (or a!1 (not %init))) + a!4 + a!10))) + (ite (and $etat2$0 $etat3$0 (or a!1 (not %init))) a!4 a!11))))))) +(check-sat) diff --git a/bench/skolems/SYNAPSE_2_e8_1118_e7_1043_base_skolem.smt2 b/bench/skolems/SYNAPSE_2_e8_1118_e7_1043_base_skolem.smt2 new file mode 100644 index 000000000..8d7519d56 --- /dev/null +++ b/bench/skolems/SYNAPSE_2_e8_1118_e7_1043_base_skolem.smt2 @@ -0,0 +1,21 @@ +(declare-fun $V83_X$2 () Bool) +(declare-fun $V28_valid_s$2 () Int) +(declare-fun $V27_invalid_s$2 () Int) +(declare-fun $init_invalid_s$0 () Int) +(declare-fun $e_s2$0 () Bool) +(declare-fun $e_s3$0 () Bool) +(declare-fun $e_s1$0 () Bool) +(declare-fun $V29_dirty_s$2 () Int) +(declare-fun $V31_env$2 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (let ((a!1 (and (not (or (and $e_s1$0 $e_s2$0 $e_s1$0 $e_s3$0) + (and $e_s2$0 $e_s3$0))) + (>= $init_invalid_s$0 0)))) + (and (= $OK$2 true) + (= $V31_env$2 a!1) + (= $V27_invalid_s$2 0) + (= $V28_valid_s$2 0) + (= $V29_dirty_s$2 0) + (= $V83_X$2 a!1)))) +(check-sat) diff --git a/bench/skolems/SYNAPSE_2_e8_1118_e7_1043_extend_skolem.smt2 b/bench/skolems/SYNAPSE_2_e8_1118_e7_1043_extend_skolem.smt2 new file mode 100644 index 000000000..8bec3e5e8 --- /dev/null +++ b/bench/skolems/SYNAPSE_2_e8_1118_e7_1043_extend_skolem.smt2 @@ -0,0 +1,46 @@ +(declare-fun $V83_X$2 () Bool) +(declare-fun $V29_dirty_s$2 () Int) +(declare-fun $V27_invalid_s$2 () Int) +(declare-fun $V31_env$2 () Bool) +(declare-fun $V31_env$~1 () Bool) +(declare-fun $V29_dirty_s$~1 () Int) +(declare-fun $V27_invalid_s$~1 () Int) +(declare-fun %init () Bool) +(declare-fun $V28_valid_s$~1 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $e_s3$0 () Bool) +(declare-fun $e_s1$0 () Bool) +(declare-fun $V28_valid_s$2 () Int) +(declare-fun $init_invalid_s$0 () Int) +(declare-fun $e_s2$0 () Bool) + +(assert (let ((a!1 (and (not (or (and $e_s1$0 $e_s2$0 $e_s1$0 $e_s3$0) + (and $e_s2$0 $e_s3$0))) + (>= $init_invalid_s$0 0))) + (a!2 (+ $V27_invalid_s$~1 + $V28_valid_s$~1 + $V29_dirty_s$~1 + (* (- 1) 0) + (* (- 1) 0)))) +(let ((a!3 (or (not (ite %init a!1 (or a!1 $V31_env$~1))) + (ite %init + true + (= (+ a!2 0 0) + (+ $V27_invalid_s$~1 $V28_valid_s$~1 $V29_dirty_s$~1)))))) +(let ((a!4 (and (= $OK$2 a!3) + (= $V31_env$2 (ite %init a!1 (or a!1 $V31_env$~1))) + (= $V27_invalid_s$2 a!2) + (= $V28_valid_s$2 0) + (= $V29_dirty_s$2 0) + (= $V83_X$2 a!1)))) +(let ((a!5 (ite (and (or (not $e_s1$0) (not $e_s2$0) (not $e_s3$0)) + (or (not $e_s2$0) (not $e_s3$0)) + (>= $init_invalid_s$0 0)) + a!4 + true))) + (ite (or (and $e_s1$0 $e_s2$0 $e_s3$0) + (and $e_s2$0 $e_s3$0) + (not (>= $init_invalid_s$0 0))) + a!4 + a!5)))))) +(check-sat) diff --git a/bench/skolems/SYNAPSE_4_e8_420_e8_1525_base_skolem.smt2 b/bench/skolems/SYNAPSE_4_e8_420_e8_1525_base_skolem.smt2 new file mode 100644 index 000000000..fb26bcb56 --- /dev/null +++ b/bench/skolems/SYNAPSE_4_e8_420_e8_1525_base_skolem.smt2 @@ -0,0 +1,26 @@ +(declare-fun $V84_X$2 () Bool) +(declare-fun $V31_env$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $init_invalid_s$0 () Int) +(declare-fun $e_s3$0 () Bool) +(declare-fun $V28_valid_s$2 () Int) +(declare-fun $e_s2$0 () Bool) +(declare-fun $V29_dirty_s$2 () Int) +(declare-fun $e_s1$0 () Bool) + +(assert (let ((a!1 (and (not (and $e_s1$0 $e_s2$0 $e_s1$0 $e_s3$0 $e_s2$0 $e_s3$0)) + (>= $init_invalid_s$0 0)))) +(let ((a!2 (and (= $OK$2 (or (< 0 1) (not a!1) (< 0 1))) + (= $V31_env$2 a!1) + (= $V29_dirty_s$2 0) + (= $V28_valid_s$2 0) + (= $V84_X$2 a!1)))) +(let ((a!3 (ite (or (and $e_s1$0 $e_s2$0 $e_s3$0) + (not (>= $init_invalid_s$0 0))) + a!2 + true))) + (ite (and (or (not $e_s1$0) (not $e_s2$0) (not $e_s3$0)) + (>= $init_invalid_s$0 0)) + a!2 + a!3))))) +(check-sat) diff --git a/bench/skolems/SYNAPSE_4_e8_420_e8_1525_extend_skolem.smt2 b/bench/skolems/SYNAPSE_4_e8_420_e8_1525_extend_skolem.smt2 new file mode 100644 index 000000000..f51cb0246 --- /dev/null +++ b/bench/skolems/SYNAPSE_4_e8_420_e8_1525_extend_skolem.smt2 @@ -0,0 +1,28 @@ +(declare-fun %init () Bool) +(declare-fun $init_invalid_s$0 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V84_X$2 () Bool) +(declare-fun $e_s3$0 () Bool) +(declare-fun $V28_valid_s$2 () Int) +(declare-fun $V29_dirty_s$2 () Int) +(declare-fun $V31_env$2 () Bool) +(declare-fun $V31_env$~1 () Bool) +(declare-fun $e_s2$0 () Bool) +(declare-fun $e_s1$0 () Bool) + +(assert (let ((a!1 (and (not (and $e_s1$0 $e_s2$0 $e_s1$0 $e_s3$0 $e_s2$0 $e_s3$0)) + (>= $init_invalid_s$0 0)))) +(let ((a!2 (or (< 0 1) (not (ite %init a!1 (and a!1 $V31_env$~1))) (< 0 1)))) +(let ((a!3 (and (= $OK$2 a!2) + (= $V31_env$2 (ite %init a!1 (and a!1 $V31_env$~1))) + (= $V29_dirty_s$2 0) + (= $V28_valid_s$2 0) + (= $V84_X$2 a!1)))) +(let ((a!4 (ite (and (or (not $e_s1$0) (not $e_s2$0) (not $e_s3$0)) + (>= $init_invalid_s$0 0)) + a!3 + true))) + (ite (or (and $e_s1$0 $e_s2$0 $e_s3$0) (not (>= $init_invalid_s$0 0))) + a!3 + a!4)))))) +(check-sat) diff --git a/bench/skolems/car_1_extend_skolem.smt2 b/bench/skolems/car_1_extend_skolem.smt2 new file mode 100644 index 000000000..0efbd5d0d --- /dev/null +++ b/bench/skolems/car_1_extend_skolem.smt2 @@ -0,0 +1,18 @@ +(declare-fun $V91_X$2 () Bool) +(declare-fun $V27_dist$2 () Int) +(declare-fun $V33_env$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun %init () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (and (and (not (and $m$0 $s$0)) (< 32766 32767)) $V33_env$~1)) + (a!3 (= $V91_X$2 (and (not (and $m$0 $s$0)) (< 32766 32767))))) +(let ((a!2 (ite %init (and (not (and $m$0 $s$0)) (< 32766 32767)) a!1))) +(let ((a!4 (and (= $OK$2 (or (not a!2) (>= 32766 0))) + (= $V33_env$2 a!2) + (= $V27_dist$2 32766) + a!3))) + (ite (or (not $m$0) (not $s$0)) a!4 (ite (and $m$0 $s$0) a!4 true)))))) +(check-sat) diff --git a/bench/skolems/car_2_base1_skolem.smt2 b/bench/skolems/car_2_base1_skolem.smt2 new file mode 100644 index 000000000..2a9966a3e --- /dev/null +++ b/bench/skolems/car_2_base1_skolem.smt2 @@ -0,0 +1,14 @@ +(declare-fun $V91_X$2 () Bool) +(declare-fun $V27_dist$2 () Int) +(declare-fun $V33_env$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (or (not (not (and $m$0 $s$0))) (< 10 11)))) +(let ((a!2 (and (= $OK$2 a!1) + (= $V33_env$2 (not (and $m$0 $s$0))) + (= $V27_dist$2 10) + (= $V91_X$2 (not (and $m$0 $s$0)))))) + (ite (and $m$0 $s$0) a!2 (ite (or (not $m$0) (not $s$0)) a!2 true))))) +(check-sat) diff --git a/bench/skolems/car_2_base2_skolem.smt2 b/bench/skolems/car_2_base2_skolem.smt2 new file mode 100644 index 000000000..2609d2754 --- /dev/null +++ b/bench/skolems/car_2_base2_skolem.smt2 @@ -0,0 +1,16 @@ +(declare-fun $V91_X$3 () Bool) +(declare-fun $OK$3 () Bool) +(declare-fun $V27_dist$3 () Int) +(declare-fun $V33_env$3 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $s$1 () Bool) +(declare-fun $m$1 () Bool) + +(assert (let ((a!1 (not (and $V33_env$0 (not (and $m$1 $s$1))))) + (a!2 (= $V33_env$3 (and $V33_env$0 (not (and $m$1 $s$1)))))) +(let ((a!3 (and (= $OK$3 (or a!1 (< 10 11))) + a!2 + (= $V27_dist$3 10) + (= $V91_X$3 (not (and $m$1 $s$1)))))) + (ite (or (not $m$1) (not $s$1)) a!3 (ite (and $m$1 $s$1) a!3 true))))) +(check-sat) diff --git a/bench/skolems/car_2_extend_skolem.smt2 b/bench/skolems/car_2_extend_skolem.smt2 new file mode 100644 index 000000000..b58125073 --- /dev/null +++ b/bench/skolems/car_2_extend_skolem.smt2 @@ -0,0 +1,18 @@ +(declare-fun $V27_dist$2 () Int) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun %init () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V91_X$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (ite %init + (not (and $m$0 $s$0)) + (and (not (and $m$0 $s$0)) $V33_env$~1)))) +(let ((a!2 (and (= $OK$2 (or (not a!1) (< 10 11))) + (= $V33_env$2 a!1) + (= $V27_dist$2 10) + (= $V91_X$2 (not (and $m$0 $s$0)))))) + (ite (and $m$0 $s$0) a!2 (ite (or (not $m$0) (not $s$0)) a!2 true))))) +(check-sat) diff --git a/bench/skolems/car_3_base1_skolem.smt2 b/bench/skolems/car_3_base1_skolem.smt2 new file mode 100644 index 000000000..7aa585754 --- /dev/null +++ b/bench/skolems/car_3_base1_skolem.smt2 @@ -0,0 +1,14 @@ +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V90_X$2 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (or (not (not (and $m$0 $s$0))) (< 3 4)))) +(let ((a!2 (and (= $OK$2 a!1) + (= $V33_env$2 (not (and $m$0 $s$0))) + (= $V28_speed$2 3) + (= $V90_X$2 (not (and $m$0 $s$0)))))) + (ite (and $m$0 $s$0) a!2 (ite (or (not $m$0) (not $s$0)) a!2 true))))) +(check-sat) diff --git a/bench/skolems/car_3_base2_skolem.smt2 b/bench/skolems/car_3_base2_skolem.smt2 new file mode 100644 index 000000000..83103df32 --- /dev/null +++ b/bench/skolems/car_3_base2_skolem.smt2 @@ -0,0 +1,16 @@ +(declare-fun $V28_speed$3 () Int) +(declare-fun $V33_env$3 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $OK$3 () Bool) +(declare-fun $s$1 () Bool) +(declare-fun $V90_X$3 () Bool) +(declare-fun $m$1 () Bool) + +(assert (let ((a!1 (not (and $V33_env$0 (not (and $m$1 $s$1))))) + (a!2 (= $V33_env$3 (and $V33_env$0 (not (and $m$1 $s$1)))))) +(let ((a!3 (and (= $OK$3 (or a!1 (< 3 4))) + a!2 + (= $V28_speed$3 3) + (= $V90_X$3 (not (and $m$1 $s$1)))))) + (ite (or (not $m$1) (not $s$1)) a!3 (ite (and $m$1 $s$1) a!3 true))))) +(check-sat) diff --git a/bench/skolems/car_3_e2_695_base1_skolem.smt2 b/bench/skolems/car_3_e2_695_base1_skolem.smt2 new file mode 100644 index 000000000..3ab464d68 --- /dev/null +++ b/bench/skolems/car_3_e2_695_base1_skolem.smt2 @@ -0,0 +1,14 @@ +(declare-fun $V28_speed$2 () Int) +(declare-fun $V90_X$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (or (not (not (and $m$0 $s$0))) (< 3 4)))) +(let ((a!2 (and (= $OK$2 a!1) + (= $V33_env$2 (not (and $m$0 $s$0))) + (= $V28_speed$2 3) + (= $V90_X$2 (not (and $m$0 $s$0)))))) + (ite (and $m$0 $s$0) a!2 (ite (or (not $m$0) (not $s$0)) a!2 true))))) +(check-sat) diff --git a/bench/skolems/car_3_e2_695_base2_skolem.smt2 b/bench/skolems/car_3_e2_695_base2_skolem.smt2 new file mode 100644 index 000000000..8b8ded291 --- /dev/null +++ b/bench/skolems/car_3_e2_695_base2_skolem.smt2 @@ -0,0 +1,16 @@ +(declare-fun $V90_X$3 () Bool) +(declare-fun $V28_speed$3 () Int) +(declare-fun $V33_env$0 () Bool) +(declare-fun $OK$3 () Bool) +(declare-fun $s$1 () Bool) +(declare-fun $V33_env$3 () Bool) +(declare-fun $m$1 () Bool) + +(assert (let ((a!1 (not (and $V33_env$0 (not (and $m$1 $s$1))))) + (a!2 (= $V33_env$3 (and $V33_env$0 (not (and $m$1 $s$1)))))) +(let ((a!3 (and (= $OK$3 (or a!1 (< 3 4))) + a!2 + (= $V28_speed$3 3) + (= $V90_X$3 (not (and $m$1 $s$1)))))) + (ite (or (not $m$1) (not $s$1)) a!3 (ite (and $m$1 $s$1) a!3 true))))) +(check-sat) diff --git a/bench/skolems/car_3_e2_695_extend_skolem.smt2 b/bench/skolems/car_3_e2_695_extend_skolem.smt2 new file mode 100644 index 000000000..b644d28c5 --- /dev/null +++ b/bench/skolems/car_3_e2_695_extend_skolem.smt2 @@ -0,0 +1,18 @@ +(declare-fun $V90_X$2 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun %init () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (ite %init + (not (and $m$0 $s$0)) + (and (not (and $m$0 $s$0)) $V33_env$~1)))) +(let ((a!2 (and (= $OK$2 (or (not a!1) (< 3 4))) + (= $V33_env$2 a!1) + (= $V28_speed$2 3) + (= $V90_X$2 (not (and $m$0 $s$0)))))) + (ite (and $m$0 $s$0) a!2 (ite (or (not $m$0) (not $s$0)) a!2 true))))) +(check-sat) diff --git a/bench/skolems/car_3_e7_626_base_skolem.smt2 b/bench/skolems/car_3_e7_626_base_skolem.smt2 new file mode 100644 index 000000000..3ab464d68 --- /dev/null +++ b/bench/skolems/car_3_e7_626_base_skolem.smt2 @@ -0,0 +1,14 @@ +(declare-fun $V28_speed$2 () Int) +(declare-fun $V90_X$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (or (not (not (and $m$0 $s$0))) (< 3 4)))) +(let ((a!2 (and (= $OK$2 a!1) + (= $V33_env$2 (not (and $m$0 $s$0))) + (= $V28_speed$2 3) + (= $V90_X$2 (not (and $m$0 $s$0)))))) + (ite (and $m$0 $s$0) a!2 (ite (or (not $m$0) (not $s$0)) a!2 true))))) +(check-sat) diff --git a/bench/skolems/car_3_e7_626_extend_skolem.smt2 b/bench/skolems/car_3_e7_626_extend_skolem.smt2 new file mode 100644 index 000000000..f2b4170ab --- /dev/null +++ b/bench/skolems/car_3_e7_626_extend_skolem.smt2 @@ -0,0 +1,18 @@ +(declare-fun $V28_speed$2 () Int) +(declare-fun $V33_env$2 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun %init () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V90_X$2 () Bool) +(declare-fun $s$0 () Bool) + +(assert (let ((a!1 (ite %init + (not (and $m$0 $s$0)) + (or (not (and $m$0 $s$0)) $V33_env$~1)))) +(let ((a!2 (and (= $OK$2 (or (not a!1) (< 3 4))) + (= $V33_env$2 a!1) + (= $V28_speed$2 3) + (= $V90_X$2 (not (and $m$0 $s$0)))))) + (ite (and $m$0 $s$0) a!2 (ite (or (not $m$0) (not $s$0)) a!2 true))))) +(check-sat) diff --git a/bench/skolems/car_3_e8_33_base_skolem.smt2 b/bench/skolems/car_3_e8_33_base_skolem.smt2 new file mode 100644 index 000000000..f48460363 --- /dev/null +++ b/bench/skolems/car_3_e8_33_base_skolem.smt2 @@ -0,0 +1,14 @@ +(declare-fun $OK$2 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V90_X$2 () Bool) +(declare-fun $s$0 () Bool) + +(assert (let ((a!1 (or (not (not (and $m$0 $s$0))) (< 3 4)))) +(let ((a!2 (and (= $OK$2 a!1) + (= $V33_env$2 (not (and $m$0 $s$0))) + (= $V28_speed$2 3) + (= $V90_X$2 (not (and $m$0 $s$0)))))) + (ite (and $m$0 $s$0) a!2 (ite (or (not $m$0) (not $s$0)) a!2 true))))) +(check-sat) diff --git a/bench/skolems/car_3_e8_33_e2_1010_base_skolem.smt2 b/bench/skolems/car_3_e8_33_e2_1010_base_skolem.smt2 new file mode 100644 index 000000000..b15f3ad14 --- /dev/null +++ b/bench/skolems/car_3_e8_33_e2_1010_base_skolem.smt2 @@ -0,0 +1,14 @@ +(declare-fun $OK$2 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $V33_env$2 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V90_X$2 () Bool) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (or (not (not (and $m$0 $s$0))) (< 3 4)))) +(let ((a!2 (and (= $OK$2 a!1) + (= $V33_env$2 (not (and $m$0 $s$0))) + (= $V28_speed$2 3) + (= $V90_X$2 (not (and $m$0 $s$0)))))) + (ite (and $m$0 $s$0) a!2 (ite (or (not $m$0) (not $s$0)) a!2 true))))) +(check-sat) diff --git a/bench/skolems/car_3_e8_33_e2_1010_extend_skolem.smt2 b/bench/skolems/car_3_e8_33_e2_1010_extend_skolem.smt2 new file mode 100644 index 000000000..0a37878c5 --- /dev/null +++ b/bench/skolems/car_3_e8_33_e2_1010_extend_skolem.smt2 @@ -0,0 +1,18 @@ +(declare-fun $V90_X$2 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $V33_env$~1 () Bool) +(declare-fun %init () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (let ((a!1 (ite %init + (not (and $m$0 $s$0)) + (or (not (and $m$0 $s$0)) $V33_env$~1)))) +(let ((a!2 (and (= $OK$2 (or (not a!1) (< 3 4))) + (= $V33_env$2 a!1) + (= $V28_speed$2 3) + (= $V90_X$2 (not (and $m$0 $s$0)))))) + (ite (and $m$0 $s$0) a!2 (ite (or (not $m$0) (not $s$0)) a!2 true))))) +(check-sat) diff --git a/bench/skolems/car_3_e8_33_e7_220_base_skolem.smt2 b/bench/skolems/car_3_e8_33_e7_220_base_skolem.smt2 new file mode 100644 index 000000000..478857cef --- /dev/null +++ b/bench/skolems/car_3_e8_33_e7_220_base_skolem.smt2 @@ -0,0 +1,14 @@ +(declare-fun $V33_env$2 () Bool) +(declare-fun $V90_X$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $s$0 () Bool) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (or (not (not (and $m$0 $s$0))) (< 3 4)))) +(let ((a!2 (and (= $OK$2 a!1) + (= $V33_env$2 (not (and $m$0 $s$0))) + (= $V28_speed$2 3) + (= $V90_X$2 (not (and $m$0 $s$0)))))) + (ite (and $m$0 $s$0) a!2 (ite (or (not $m$0) (not $s$0)) a!2 true))))) +(check-sat) diff --git a/bench/skolems/car_3_e8_33_e7_220_extend_skolem.smt2 b/bench/skolems/car_3_e8_33_e7_220_extend_skolem.smt2 new file mode 100644 index 000000000..c91f5b68b --- /dev/null +++ b/bench/skolems/car_3_e8_33_e7_220_extend_skolem.smt2 @@ -0,0 +1,18 @@ +(declare-fun $V90_X$2 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $V33_env$2 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun %init () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (ite %init + (not (and $m$0 $s$0)) + (or (not (and $m$0 $s$0)) $V33_env$~1)))) +(let ((a!2 (and (= $OK$2 (or (not a!1) (< 3 4))) + (= $V33_env$2 a!1) + (= $V28_speed$2 3) + (= $V90_X$2 (not (and $m$0 $s$0)))))) + (ite (and $m$0 $s$0) a!2 (ite (or (not $m$0) (not $s$0)) a!2 true))))) +(check-sat) diff --git a/bench/skolems/car_3_e8_33_extend_skolem.smt2 b/bench/skolems/car_3_e8_33_extend_skolem.smt2 new file mode 100644 index 000000000..b644d28c5 --- /dev/null +++ b/bench/skolems/car_3_e8_33_extend_skolem.smt2 @@ -0,0 +1,18 @@ +(declare-fun $V90_X$2 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun %init () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (ite %init + (not (and $m$0 $s$0)) + (and (not (and $m$0 $s$0)) $V33_env$~1)))) +(let ((a!2 (and (= $OK$2 (or (not a!1) (< 3 4))) + (= $V33_env$2 a!1) + (= $V28_speed$2 3) + (= $V90_X$2 (not (and $m$0 $s$0)))))) + (ite (and $m$0 $s$0) a!2 (ite (or (not $m$0) (not $s$0)) a!2 true))))) +(check-sat) diff --git a/bench/skolems/car_3_extend_skolem.smt2 b/bench/skolems/car_3_extend_skolem.smt2 new file mode 100644 index 000000000..790641272 --- /dev/null +++ b/bench/skolems/car_3_extend_skolem.smt2 @@ -0,0 +1,18 @@ +(declare-fun $V28_speed$2 () Int) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun %init () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V90_X$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (ite %init + (not (and $m$0 $s$0)) + (and (not (and $m$0 $s$0)) $V33_env$~1)))) +(let ((a!2 (and (= $OK$2 (or (not a!1) (< 3 4))) + (= $V33_env$2 a!1) + (= $V28_speed$2 3) + (= $V90_X$2 (not (and $m$0 $s$0)))))) + (ite (and $m$0 $s$0) a!2 (ite (or (not $m$0) (not $s$0)) a!2 true))))) +(check-sat) diff --git a/bench/skolems/car_4_e3_57_e4_1047_base_skolem.smt2 b/bench/skolems/car_4_e3_57_e4_1047_base_skolem.smt2 new file mode 100644 index 000000000..b7039899a --- /dev/null +++ b/bench/skolems/car_4_e3_57_e4_1047_base_skolem.smt2 @@ -0,0 +1,14 @@ +(declare-fun $V33_env$2 () Bool) +(declare-fun $V90_X$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (or (not (not (and $m$0 $s$0))) (>= 0 0)))) +(let ((a!2 (and (= $OK$2 a!1) + (= $V33_env$2 (not (and $m$0 $s$0))) + (= $V28_speed$2 0) + (= $V90_X$2 (not (and $m$0 $s$0)))))) + (ite (and $m$0 $s$0) a!2 (ite (or (not $m$0) (not $s$0)) a!2 true))))) +(check-sat) diff --git a/bench/skolems/car_4_e3_57_e4_1047_extend_skolem.smt2 b/bench/skolems/car_4_e3_57_e4_1047_extend_skolem.smt2 new file mode 100644 index 000000000..d0f2d54dd --- /dev/null +++ b/bench/skolems/car_4_e3_57_e4_1047_extend_skolem.smt2 @@ -0,0 +1,18 @@ +(declare-fun $V90_X$2 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun %init () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (ite %init + (not (and $m$0 $s$0)) + (and (not (and $m$0 $s$0)) $V33_env$~1)))) +(let ((a!2 (and (= $OK$2 (or (not a!1) (>= 0 0))) + (= $V33_env$2 a!1) + (= $V28_speed$2 0) + (= $V90_X$2 (not (and $m$0 $s$0)))))) + (ite (and $m$0 $s$0) a!2 (ite (or (not $m$0) (not $s$0)) a!2 true))))) +(check-sat) diff --git a/bench/skolems/car_4_e3_57_e6_784_base_skolem.smt2 b/bench/skolems/car_4_e3_57_e6_784_base_skolem.smt2 new file mode 100644 index 000000000..3652b0a01 --- /dev/null +++ b/bench/skolems/car_4_e3_57_e6_784_base_skolem.smt2 @@ -0,0 +1,14 @@ +(declare-fun $V90_X$2 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $V33_env$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (or (not (not (and $m$0 $s$0))) (>= 0 0)))) +(let ((a!2 (and (= $OK$2 a!1) + (= $V33_env$2 (not (and $m$0 $s$0))) + (= $V28_speed$2 0) + (= $V90_X$2 (not (and $m$0 $s$0)))))) + (ite (and $m$0 $s$0) a!2 (ite (or (not $m$0) (not $s$0)) a!2 true))))) +(check-sat) diff --git a/bench/skolems/car_4_e3_57_e6_784_extend_skolem.smt2 b/bench/skolems/car_4_e3_57_e6_784_extend_skolem.smt2 new file mode 100644 index 000000000..97ae70dba --- /dev/null +++ b/bench/skolems/car_4_e3_57_e6_784_extend_skolem.smt2 @@ -0,0 +1,18 @@ +(declare-fun $V90_X$2 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $V33_env$2 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun %init () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (ite %init + (not (and $m$0 $s$0)) + (and (not (and $m$0 $s$0)) $V33_env$~1)))) +(let ((a!2 (and (= $OK$2 (or (not a!1) (>= 0 0))) + (= $V33_env$2 a!1) + (= $V28_speed$2 0) + (= $V90_X$2 (not (and $m$0 $s$0)))))) + (ite (and $m$0 $s$0) a!2 (ite (or (not $m$0) (not $s$0)) a!2 true))))) +(check-sat) diff --git a/bench/skolems/car_4_e7_592_base1_skolem.smt2 b/bench/skolems/car_4_e7_592_base1_skolem.smt2 new file mode 100644 index 000000000..545535a5a --- /dev/null +++ b/bench/skolems/car_4_e7_592_base1_skolem.smt2 @@ -0,0 +1,14 @@ +(declare-fun $V90_X$2 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $V33_env$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $s$0 () Bool) + +(assert (let ((a!1 (or (not (not (and $m$0 $s$0))) (>= 0 0)))) +(let ((a!2 (and (= $OK$2 a!1) + (= $V33_env$2 (not (and $m$0 $s$0))) + (= $V28_speed$2 0) + (= $V90_X$2 (not (and $m$0 $s$0)))))) + (ite (and $m$0 $s$0) a!2 (ite (or (not $m$0) (not $s$0)) a!2 true))))) +(check-sat) diff --git a/bench/skolems/car_4_e7_592_base2_skolem.smt2 b/bench/skolems/car_4_e7_592_base2_skolem.smt2 new file mode 100644 index 000000000..0f1ec4e1a --- /dev/null +++ b/bench/skolems/car_4_e7_592_base2_skolem.smt2 @@ -0,0 +1,16 @@ +(declare-fun $V28_speed$3 () Int) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V33_env$3 () Bool) +(declare-fun $s$1 () Bool) +(declare-fun $V90_X$3 () Bool) +(declare-fun $OK$3 () Bool) +(declare-fun $m$1 () Bool) + +(assert (let ((a!1 (not (or $V33_env$0 (not (and $m$1 $s$1))))) + (a!2 (= $V33_env$3 (or $V33_env$0 (not (and $m$1 $s$1)))))) +(let ((a!3 (and (= $OK$3 (or a!1 (>= 0 0))) + a!2 + (= $V28_speed$3 0) + (= $V90_X$3 (not (and $m$1 $s$1)))))) + (ite (or (not $m$1) (not $s$1)) a!3 (ite (and $m$1 $s$1) a!3 true))))) +(check-sat) diff --git a/bench/skolems/car_4_e7_592_extend_skolem.smt2 b/bench/skolems/car_4_e7_592_extend_skolem.smt2 new file mode 100644 index 000000000..430ec31ab --- /dev/null +++ b/bench/skolems/car_4_e7_592_extend_skolem.smt2 @@ -0,0 +1,18 @@ +(declare-fun $V28_speed$2 () Int) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun %init () Bool) +(declare-fun $V90_X$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (ite %init + (not (and $m$0 $s$0)) + (or (not (and $m$0 $s$0)) $V33_env$~1)))) +(let ((a!2 (and (= $OK$2 (or (not a!1) (>= 0 0))) + (= $V33_env$2 a!1) + (= $V28_speed$2 0) + (= $V90_X$2 (not (and $m$0 $s$0)))))) + (ite (and $m$0 $s$0) a!2 (ite (or (not $m$0) (not $s$0)) a!2 true))))) +(check-sat) diff --git a/bench/skolems/car_4_e8_118_base_skolem.smt2 b/bench/skolems/car_4_e8_118_base_skolem.smt2 new file mode 100644 index 000000000..545535a5a --- /dev/null +++ b/bench/skolems/car_4_e8_118_base_skolem.smt2 @@ -0,0 +1,14 @@ +(declare-fun $V90_X$2 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $V33_env$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $s$0 () Bool) + +(assert (let ((a!1 (or (not (not (and $m$0 $s$0))) (>= 0 0)))) +(let ((a!2 (and (= $OK$2 a!1) + (= $V33_env$2 (not (and $m$0 $s$0))) + (= $V28_speed$2 0) + (= $V90_X$2 (not (and $m$0 $s$0)))))) + (ite (and $m$0 $s$0) a!2 (ite (or (not $m$0) (not $s$0)) a!2 true))))) +(check-sat) diff --git a/bench/skolems/car_4_e8_118_extend_skolem.smt2 b/bench/skolems/car_4_e8_118_extend_skolem.smt2 new file mode 100644 index 000000000..e2a06aa8f --- /dev/null +++ b/bench/skolems/car_4_e8_118_extend_skolem.smt2 @@ -0,0 +1,18 @@ +(declare-fun $V28_speed$2 () Int) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun %init () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V90_X$2 () Bool) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (ite %init + (not (and $m$0 $s$0)) + (and (not (and $m$0 $s$0)) $V33_env$~1)))) +(let ((a!2 (and (= $OK$2 (or (not a!1) (>= 0 0))) + (= $V33_env$2 a!1) + (= $V28_speed$2 0) + (= $V90_X$2 (not (and $m$0 $s$0)))))) + (ite (and $m$0 $s$0) a!2 (ite (or (not $m$0) (not $s$0)) a!2 true))))) +(check-sat) diff --git a/bench/skolems/car_all_e2_108_base1_skolem.smt2 b/bench/skolems/car_all_e2_108_base1_skolem.smt2 new file mode 100644 index 000000000..a2c63ba2d --- /dev/null +++ b/bench/skolems/car_all_e2_108_base1_skolem.smt2 @@ -0,0 +1,15 @@ +(declare-fun $V92_X$2 () Bool) +(declare-fun $V27_dist$2 () Int) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (not (and (not (and $m$0 $s$0)) (< 10 32767)))) + (a!3 (= $V33_env$2 (and (not (and $m$0 $s$0)) (< 10 32767)))) + (a!4 (= $V92_X$2 (and (not (and $m$0 $s$0)) (< 10 32767))))) +(let ((a!2 (= $OK$2 (or a!1 (and (>= 0 0) (>= 10 0) (< 10 11) (< 0 4)))))) +(let ((a!5 (and a!2 a!3 (= $V27_dist$2 10) (= $V28_speed$2 0) a!4))) + (ite (and $m$0 $s$0) a!5 (ite (or (not $m$0) (not $s$0)) a!5 true)))))) +(check-sat) diff --git a/bench/skolems/car_all_e2_108_base2_skolem.smt2 b/bench/skolems/car_all_e2_108_base2_skolem.smt2 new file mode 100644 index 000000000..ddf7916e0 --- /dev/null +++ b/bench/skolems/car_all_e2_108_base2_skolem.smt2 @@ -0,0 +1,19 @@ +(declare-fun $V92_X$3 () Bool) +(declare-fun $V28_speed$3 () Int) +(declare-fun $OK$3 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V27_dist$3 () Int) +(declare-fun $m$1 () Bool) +(declare-fun $V33_env$3 () Bool) +(declare-fun $s$1 () Bool) + +(assert (let ((a!1 (and $V33_env$0 (and (not (and $m$1 $s$1)) (< 10 32767)))) + (a!3 (= $V92_X$3 (and (not (and $m$1 $s$1)) (< 10 32767))))) +(let ((a!2 (= $OK$3 (or (not a!1) (and (>= 0 0) (>= 10 0) (< 10 11) (< 0 4)))))) +(let ((a!4 (and a!2 + (= $V33_env$3 a!1) + (= $V27_dist$3 10) + (= $V28_speed$3 0) + a!3))) + (ite (or (not $m$1) (not $s$1)) a!4 (ite (and $m$1 $s$1) a!4 true)))))) +(check-sat) diff --git a/bench/skolems/car_all_e2_108_extend_skolem.smt2 b/bench/skolems/car_all_e2_108_extend_skolem.smt2 new file mode 100644 index 000000000..5e82d3d39 --- /dev/null +++ b/bench/skolems/car_all_e2_108_extend_skolem.smt2 @@ -0,0 +1,21 @@ +(declare-fun $V92_X$2 () Bool) +(declare-fun $V27_dist$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun %init () Bool) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (and (and (not (and $m$0 $s$0)) (< 10 32767)) $V33_env$~1)) + (a!4 (= $V92_X$2 (and (not (and $m$0 $s$0)) (< 10 32767))))) +(let ((a!2 (ite %init (and (not (and $m$0 $s$0)) (< 10 32767)) a!1))) +(let ((a!3 (= $OK$2 (or (not a!2) (and (>= 0 0) (>= 10 0) (< 10 11) (< 0 4)))))) +(let ((a!5 (and a!3 + (= $V33_env$2 a!2) + (= $V27_dist$2 10) + (= $V28_speed$2 0) + a!4))) + (ite (or (not $m$0) (not $s$0)) a!5 (ite (and $m$0 $s$0) a!5 true))))))) +(check-sat) diff --git a/bench/skolems/car_all_e2_142_e8_194_base1_skolem.smt2 b/bench/skolems/car_all_e2_142_e8_194_base1_skolem.smt2 new file mode 100644 index 000000000..91e123d27 --- /dev/null +++ b/bench/skolems/car_all_e2_142_e8_194_base1_skolem.smt2 @@ -0,0 +1,15 @@ +(declare-fun $V28_speed$2 () Int) +(declare-fun $V27_dist$2 () Int) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V92_X$2 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (not (and (not (and $m$0 $s$0)) (< 10 32767)))) + (a!3 (= $V33_env$2 (and (not (and $m$0 $s$0)) (< 10 32767)))) + (a!4 (= $V92_X$2 (and (not (and $m$0 $s$0)) (< 10 32767))))) +(let ((a!2 (= $OK$2 (or a!1 (and (>= 0 0) (>= 10 0) (< 10 11) (< 0 4)))))) +(let ((a!5 (and a!2 a!3 (= $V27_dist$2 10) (= $V28_speed$2 0) a!4))) + (ite (and $m$0 $s$0) a!5 (ite (or (not $m$0) (not $s$0)) a!5 true)))))) +(check-sat) diff --git a/bench/skolems/car_all_e2_142_e8_194_base2_skolem.smt2 b/bench/skolems/car_all_e2_142_e8_194_base2_skolem.smt2 new file mode 100644 index 000000000..31d7b1c84 --- /dev/null +++ b/bench/skolems/car_all_e2_142_e8_194_base2_skolem.smt2 @@ -0,0 +1,19 @@ +(declare-fun $V92_X$3 () Bool) +(declare-fun $V28_speed$3 () Int) +(declare-fun $V27_dist$3 () Int) +(declare-fun $m$1 () Bool) +(declare-fun $V33_env$3 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $OK$3 () Bool) +(declare-fun $s$1 () Bool) + +(assert (let ((a!1 (and $V33_env$0 (and (not (and $m$1 $s$1)) (< 10 32767)))) + (a!3 (= $V92_X$3 (and (not (and $m$1 $s$1)) (< 10 32767))))) +(let ((a!2 (= $OK$3 (or (not a!1) (and (>= 0 0) (>= 10 0) (< 10 11) (< 0 4)))))) +(let ((a!4 (and a!2 + (= $V33_env$3 a!1) + (= $V27_dist$3 10) + (= $V28_speed$3 0) + a!3))) + (ite (or (not $m$1) (not $s$1)) a!4 (ite (and $m$1 $s$1) a!4 true)))))) +(check-sat) diff --git a/bench/skolems/car_all_e2_142_e8_194_extend_skolem.smt2 b/bench/skolems/car_all_e2_142_e8_194_extend_skolem.smt2 new file mode 100644 index 000000000..710244908 --- /dev/null +++ b/bench/skolems/car_all_e2_142_e8_194_extend_skolem.smt2 @@ -0,0 +1,21 @@ +(declare-fun $V92_X$2 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun %init () Bool) +(declare-fun $V27_dist$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $s$0 () Bool) + +(assert (let ((a!1 (and (and (not (and $m$0 $s$0)) (< 10 32767)) $V33_env$~1)) + (a!4 (= $V92_X$2 (and (not (and $m$0 $s$0)) (< 10 32767))))) +(let ((a!2 (ite %init (and (not (and $m$0 $s$0)) (< 10 32767)) a!1))) +(let ((a!3 (= $OK$2 (or (not a!2) (and (>= 0 0) (>= 10 0) (< 10 11) (< 0 4)))))) +(let ((a!5 (and a!3 + (= $V33_env$2 a!2) + (= $V27_dist$2 10) + (= $V28_speed$2 0) + a!4))) + (ite (or (not $m$0) (not $s$0)) a!5 (ite (and $m$0 $s$0) a!5 true))))))) +(check-sat) diff --git a/bench/skolems/car_all_e3_1068_e4_275_base_skolem.smt2 b/bench/skolems/car_all_e3_1068_e4_275_base_skolem.smt2 new file mode 100644 index 000000000..91e123d27 --- /dev/null +++ b/bench/skolems/car_all_e3_1068_e4_275_base_skolem.smt2 @@ -0,0 +1,15 @@ +(declare-fun $V28_speed$2 () Int) +(declare-fun $V27_dist$2 () Int) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V92_X$2 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (not (and (not (and $m$0 $s$0)) (< 10 32767)))) + (a!3 (= $V33_env$2 (and (not (and $m$0 $s$0)) (< 10 32767)))) + (a!4 (= $V92_X$2 (and (not (and $m$0 $s$0)) (< 10 32767))))) +(let ((a!2 (= $OK$2 (or a!1 (and (>= 0 0) (>= 10 0) (< 10 11) (< 0 4)))))) +(let ((a!5 (and a!2 a!3 (= $V27_dist$2 10) (= $V28_speed$2 0) a!4))) + (ite (and $m$0 $s$0) a!5 (ite (or (not $m$0) (not $s$0)) a!5 true)))))) +(check-sat) diff --git a/bench/skolems/car_all_e3_1068_e4_275_extend_skolem.smt2 b/bench/skolems/car_all_e3_1068_e4_275_extend_skolem.smt2 new file mode 100644 index 000000000..c3dec6a58 --- /dev/null +++ b/bench/skolems/car_all_e3_1068_e4_275_extend_skolem.smt2 @@ -0,0 +1,21 @@ +(declare-fun $V92_X$2 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $V27_dist$2 () Int) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun %init () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (and (and (not (and $m$0 $s$0)) (< 10 32767)) $V33_env$~1)) + (a!4 (= $V92_X$2 (and (not (and $m$0 $s$0)) (< 10 32767))))) +(let ((a!2 (ite %init (and (not (and $m$0 $s$0)) (< 10 32767)) a!1))) +(let ((a!3 (= $OK$2 (or (not a!2) (and (>= 0 0) (>= 10 0) (< 10 11) (< 0 4)))))) +(let ((a!5 (and a!3 + (= $V33_env$2 a!2) + (= $V27_dist$2 10) + (= $V28_speed$2 0) + a!4))) + (ite (or (not $m$0) (not $s$0)) a!5 (ite (and $m$0 $s$0) a!5 true))))))) +(check-sat) diff --git a/bench/skolems/car_all_e3_1068_e6_790_base1_skolem.smt2 b/bench/skolems/car_all_e3_1068_e6_790_base1_skolem.smt2 new file mode 100644 index 000000000..0f7a20ecf --- /dev/null +++ b/bench/skolems/car_all_e3_1068_e6_790_base1_skolem.smt2 @@ -0,0 +1,15 @@ +(declare-fun $V92_X$2 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V27_dist$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (not (and (not (and $m$0 $s$0)) (< 10 32767)))) + (a!3 (= $V33_env$2 (and (not (and $m$0 $s$0)) (< 10 32767)))) + (a!4 (= $V92_X$2 (and (not (and $m$0 $s$0)) (< 10 32767))))) +(let ((a!2 (= $OK$2 (or a!1 (and (>= 0 0) (>= 10 0) (< 10 11) (< 0 4)))))) +(let ((a!5 (and a!2 a!3 (= $V27_dist$2 10) (= $V28_speed$2 0) a!4))) + (ite (and $m$0 $s$0) a!5 (ite (or (not $m$0) (not $s$0)) a!5 true)))))) +(check-sat) diff --git a/bench/skolems/car_all_e3_1068_e6_790_base2_skolem.smt2 b/bench/skolems/car_all_e3_1068_e6_790_base2_skolem.smt2 new file mode 100644 index 000000000..ec5602e64 --- /dev/null +++ b/bench/skolems/car_all_e3_1068_e6_790_base2_skolem.smt2 @@ -0,0 +1,19 @@ +(declare-fun $V92_X$3 () Bool) +(declare-fun $V28_speed$3 () Int) +(declare-fun $V27_dist$3 () Int) +(declare-fun $V33_env$3 () Bool) +(declare-fun $OK$3 () Bool) +(declare-fun $s$1 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $m$1 () Bool) + +(assert (let ((a!1 (and $V33_env$0 (and (not (and $m$1 $s$1)) (< 10 32767)))) + (a!3 (= $V92_X$3 (and (not (and $m$1 $s$1)) (< 10 32767))))) +(let ((a!2 (= $OK$3 (or (not a!1) (and (>= 0 0) (>= 10 0) (< 10 11) (< 0 4)))))) +(let ((a!4 (and a!2 + (= $V33_env$3 a!1) + (= $V27_dist$3 10) + (= $V28_speed$3 0) + a!3))) + (ite (or (not $m$1) (not $s$1)) a!4 (ite (and $m$1 $s$1) a!4 true)))))) +(check-sat) diff --git a/bench/skolems/car_all_e3_1068_e6_790_extend_skolem.smt2 b/bench/skolems/car_all_e3_1068_e6_790_extend_skolem.smt2 new file mode 100644 index 000000000..0b1ef3f2c --- /dev/null +++ b/bench/skolems/car_all_e3_1068_e6_790_extend_skolem.smt2 @@ -0,0 +1,21 @@ +(declare-fun $V28_speed$2 () Int) +(declare-fun $V33_env$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V27_dist$2 () Int) +(declare-fun $s$0 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun %init () Bool) +(declare-fun $V92_X$2 () Bool) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (and (and (not (and $m$0 $s$0)) (< 10 32767)) $V33_env$~1)) + (a!4 (= $V92_X$2 (and (not (and $m$0 $s$0)) (< 10 32767))))) +(let ((a!2 (ite %init (and (not (and $m$0 $s$0)) (< 10 32767)) a!1))) +(let ((a!3 (= $OK$2 (or (not a!2) (and (>= 0 0) (>= 10 0) (< 10 11) (< 0 4)))))) +(let ((a!5 (and a!3 + (= $V33_env$2 a!2) + (= $V27_dist$2 10) + (= $V28_speed$2 0) + a!4))) + (ite (or (not $m$0) (not $s$0)) a!5 (ite (and $m$0 $s$0) a!5 true))))))) +(check-sat) diff --git a/bench/skolems/car_all_e8_856_base1_skolem.smt2 b/bench/skolems/car_all_e8_856_base1_skolem.smt2 new file mode 100644 index 000000000..91e123d27 --- /dev/null +++ b/bench/skolems/car_all_e8_856_base1_skolem.smt2 @@ -0,0 +1,15 @@ +(declare-fun $V28_speed$2 () Int) +(declare-fun $V27_dist$2 () Int) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V92_X$2 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (not (and (not (and $m$0 $s$0)) (< 10 32767)))) + (a!3 (= $V33_env$2 (and (not (and $m$0 $s$0)) (< 10 32767)))) + (a!4 (= $V92_X$2 (and (not (and $m$0 $s$0)) (< 10 32767))))) +(let ((a!2 (= $OK$2 (or a!1 (and (>= 0 0) (>= 10 0) (< 10 11) (< 0 4)))))) +(let ((a!5 (and a!2 a!3 (= $V27_dist$2 10) (= $V28_speed$2 0) a!4))) + (ite (and $m$0 $s$0) a!5 (ite (or (not $m$0) (not $s$0)) a!5 true)))))) +(check-sat) diff --git a/bench/skolems/car_all_e8_856_base2_skolem.smt2 b/bench/skolems/car_all_e8_856_base2_skolem.smt2 new file mode 100644 index 000000000..7904bc567 --- /dev/null +++ b/bench/skolems/car_all_e8_856_base2_skolem.smt2 @@ -0,0 +1,19 @@ +(declare-fun $V28_speed$3 () Int) +(declare-fun $V27_dist$3 () Int) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V92_X$3 () Bool) +(declare-fun $s$1 () Bool) +(declare-fun $OK$3 () Bool) +(declare-fun $V33_env$3 () Bool) +(declare-fun $m$1 () Bool) + +(assert (let ((a!1 (and $V33_env$0 (and (not (and $m$1 $s$1)) (< 10 32767)))) + (a!3 (= $V92_X$3 (and (not (and $m$1 $s$1)) (< 10 32767))))) +(let ((a!2 (= $OK$3 (or (not a!1) (and (>= 0 0) (>= 10 0) (< 10 11) (< 0 4)))))) +(let ((a!4 (and a!2 + (= $V33_env$3 a!1) + (= $V27_dist$3 10) + (= $V28_speed$3 0) + a!3))) + (ite (or (not $m$1) (not $s$1)) a!4 (ite (and $m$1 $s$1) a!4 true)))))) +(check-sat) diff --git a/bench/skolems/car_all_e8_856_extend_skolem.smt2 b/bench/skolems/car_all_e8_856_extend_skolem.smt2 new file mode 100644 index 000000000..5e82d3d39 --- /dev/null +++ b/bench/skolems/car_all_e8_856_extend_skolem.smt2 @@ -0,0 +1,21 @@ +(declare-fun $V92_X$2 () Bool) +(declare-fun $V27_dist$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun %init () Bool) +(declare-fun $m$0 () Bool) + +(assert (let ((a!1 (and (and (not (and $m$0 $s$0)) (< 10 32767)) $V33_env$~1)) + (a!4 (= $V92_X$2 (and (not (and $m$0 $s$0)) (< 10 32767))))) +(let ((a!2 (ite %init (and (not (and $m$0 $s$0)) (< 10 32767)) a!1))) +(let ((a!3 (= $OK$2 (or (not a!2) (and (>= 0 0) (>= 10 0) (< 10 11) (< 0 4)))))) +(let ((a!5 (and a!3 + (= $V33_env$2 a!2) + (= $V27_dist$2 10) + (= $V28_speed$2 0) + a!4))) + (ite (or (not $m$0) (not $s$0)) a!5 (ite (and $m$0 $s$0) a!5 true))))))) +(check-sat) diff --git a/bench/skolems/cd_base1_skolem.smt2 b/bench/skolems/cd_base1_skolem.smt2 new file mode 100644 index 000000000..4c1e8079c --- /dev/null +++ b/bench/skolems/cd_base1_skolem.smt2 @@ -0,0 +1,40 @@ +(declare-fun $Property~0.cpt$2 () Int) +(declare-fun $Property~0.acceptable$2 () Bool) +(declare-fun $Property~0.speed$2 () Int) +(declare-fun $speed$2 () Int) +(declare-fun $Sofar~0.X$2 () Bool) +(declare-fun $minus$2 () Bool) +(declare-fun $Environment~0.minus$2 () Bool) +(declare-fun $diff$0 () Int) +(declare-fun $plus$2 () Bool) +(declare-fun $Environment~0.plus$2 () Bool) +(declare-fun $Environment~0.diff$2 () Int) +(declare-fun $Property~0.ok$2 () Bool) +(declare-fun $Sofar~0.Sofar$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $realistic$2 () Bool) +(declare-fun $Environment~0.ok$2 () Bool) + +(assert (let ((a!1 (and true (>= $diff$0 1) (<= $diff$0 4) (<= (- 0 4) $diff$0)))) +(let ((a!2 (and (= $realistic$2 a!1) + (= $Environment~0.ok$2 a!1) + (= $OK$2 true) + (= $Sofar~0.Sofar$2 (and (< 8 16) a!1 (<= 0 8))) + (= $Property~0.ok$2 true) + (= $Environment~0.diff$2 $diff$0) + (= $Environment~0.plus$2 false) + (= $plus$2 false) + (= $Environment~0.minus$2 false) + (= $minus$2 false) + (= $Sofar~0.X$2 (and (< 8 16) a!1 (<= 0 8))) + (= $speed$2 8) + (= $Property~0.speed$2 8) + (= $Property~0.acceptable$2 true) + (= $Property~0.cpt$2 0)))) +(let ((a!3 (ite (or (not (<= (- 4) $diff$0)) + (not (<= $diff$0 4)) + (not (>= $diff$0 1))) + a!2 + true))) + (ite (and (<= (- 4) $diff$0) (<= $diff$0 4) (>= $diff$0 1)) a!2 a!3))))) +(check-sat) diff --git a/bench/skolems/cd_base2_skolem.smt2 b/bench/skolems/cd_base2_skolem.smt2 new file mode 100644 index 000000000..7a4967503 --- /dev/null +++ b/bench/skolems/cd_base2_skolem.smt2 @@ -0,0 +1,53 @@ +(declare-fun $Property~0.acceptable$3 () Bool) +(declare-fun $speed$3 () Int) +(declare-fun $minus$3 () Bool) +(declare-fun $plus$3 () Bool) +(declare-fun $Environment~0.plus$3 () Bool) +(declare-fun $Environment~0.diff$3 () Int) +(declare-fun $Sofar~0.Sofar$3 () Bool) +(declare-fun $realistic$3 () Bool) +(declare-fun $OK$3 () Bool) +(declare-fun $Environment~0.minus$3 () Bool) +(declare-fun $diff$1 () Int) +(declare-fun $Environment~0.plus$0 () Bool) +(declare-fun $Property~0.ok$3 () Bool) +(declare-fun $Sofar~0.X$3 () Bool) +(declare-fun $Environment~0.ok$3 () Bool) +(declare-fun $Sofar~0.Sofar$0 () Bool) +(declare-fun $Property~0.cpt$3 () Int) +(declare-fun $Environment~0.minus$0 () Bool) +(declare-fun $Property~0.speed$3 () Int) +(declare-fun $Property~0.cpt$0 () Int) + +(assert (let ((a!1 (and (ite $Environment~0.minus$0 (<= $diff$1 (- 0 1)) true) + (ite $Environment~0.plus$0 (>= $diff$1 1) true) + (<= $diff$1 4) + (<= (- 0 4) $diff$1))) + (a!4 (or (not (<= (- 4) $diff$1)) + (not (<= $diff$1 4)) + (and $Environment~0.plus$0 (not (>= $diff$1 1))) + (and $Environment~0.minus$0 (not (<= $diff$1 (- 1))))))) +(let ((a!2 (and $Sofar~0.Sofar$0 (and (< 8 16) a!1 (<= 0 8))))) +(let ((a!3 (and (= $realistic$3 a!1) + (= $Environment~0.ok$3 a!1) + (= $OK$3 (or (<= $Property~0.cpt$0 7) (not a!2))) + (= $Sofar~0.Sofar$3 a!2) + (= $Property~0.ok$3 (<= $Property~0.cpt$0 7)) + (= $Environment~0.diff$3 $diff$1) + (= $Environment~0.plus$3 false) + (= $plus$3 false) + (= $Environment~0.minus$3 false) + (= $minus$3 false) + (= $Sofar~0.X$3 (and (< 8 16) a!1 (<= 0 8))) + (= $speed$3 8) + (= $Property~0.speed$3 8) + (= $Property~0.acceptable$3 true) + (= $Property~0.cpt$3 0)))) + (ite (and (or (not $Sofar~0.Sofar$0) (<= $Property~0.cpt$0 7)) + (<= (- 4) $diff$1) + (<= $diff$1 4) + (or (not $Environment~0.plus$0) (>= $diff$1 1)) + (or (not $Environment~0.minus$0) (<= $diff$1 (- 1)))) + a!3 + (ite a!4 a!3 true)))))) +(check-sat) diff --git a/bench/skolems/cd_base3_skolem.smt2 b/bench/skolems/cd_base3_skolem.smt2 new file mode 100644 index 000000000..21871cc43 --- /dev/null +++ b/bench/skolems/cd_base3_skolem.smt2 @@ -0,0 +1,69 @@ +(declare-fun $speed$4 () Int) +(declare-fun $Environment~0.minus$4 () Bool) +(declare-fun $plus$4 () Bool) +(declare-fun $Environment~0.plus$4 () Bool) +(declare-fun $minus$4 () Bool) +(declare-fun $Environment~0.diff$4 () Int) +(declare-fun $OK$4 () Bool) +(declare-fun $Property~0.cpt$1 () Int) +(declare-fun $Sofar~0.Sofar$4 () Bool) +(declare-fun $Property~0.ok$4 () Bool) +(declare-fun $Environment~0.ok$4 () Bool) +(declare-fun $Property~0.acceptable$4 () Bool) +(declare-fun $realistic$4 () Bool) +(declare-fun $Property~0.cpt$4 () Int) +(declare-fun $Sofar~0.Sofar$1 () Bool) +(declare-fun $Property~0.speed$4 () Int) +(declare-fun $Environment~0.plus$1 () Bool) +(declare-fun $diff$2 () Int) +(declare-fun $Sofar~0.X$4 () Bool) +(declare-fun $Environment~0.minus$1 () Bool) + +(assert (let ((a!1 (and (ite $Environment~0.minus$1 (<= $diff$2 (- 0 1)) true) + (ite $Environment~0.plus$1 (>= $diff$2 1) true) + (<= $diff$2 4) + (<= (- 0 4) $diff$2))) + (a!4 (or (not (<= (- 4) $diff$2)) + (not (<= $diff$2 4)) + (and $Environment~0.plus$1 (not (>= $diff$2 1))) + (and $Environment~0.minus$1 (not (<= $diff$2 (- 1))))))) +(let ((a!2 (and $Sofar~0.Sofar$1 (and (< 8 16) a!1 (<= 0 8)))) + (a!5 (and $Sofar~0.Sofar$1 (and (< 13 16) a!1 (<= 0 13))))) +(let ((a!3 (and (= $realistic$4 a!1) + (= $Environment~0.ok$4 a!1) + (= $OK$4 (or (<= $Property~0.cpt$1 7) (not a!2))) + (= $Sofar~0.Sofar$4 a!2) + (= $Property~0.ok$4 (<= $Property~0.cpt$1 7)) + (= $Environment~0.diff$4 $diff$2) + (= $Environment~0.plus$4 false) + (= $plus$4 false) + (= $Environment~0.minus$4 false) + (= $minus$4 false) + (= $Sofar~0.X$4 (and (< 8 16) a!1 (<= 0 8))) + (= $speed$4 8) + (= $Property~0.speed$4 8) + (= $Property~0.acceptable$4 true) + (= $Property~0.cpt$4 0))) + (a!6 (and (= $realistic$4 a!1) + (= $Environment~0.ok$4 a!1) + (= $OK$4 (or (<= $Property~0.cpt$1 7) (not a!5))) + (= $Sofar~0.Sofar$4 a!5) + (= $Property~0.ok$4 (<= $Property~0.cpt$1 7)) + (= $Environment~0.diff$4 $diff$2) + (= $Environment~0.plus$4 false) + (= $plus$4 false) + (= $Environment~0.minus$4 false) + (= $minus$4 false) + (= $Sofar~0.X$4 (and (< 13 16) a!1 (<= 0 13))) + (= $speed$4 13) + (= $Property~0.speed$4 13) + (= $Property~0.acceptable$4 false) + (= $Property~0.cpt$4 (+ $Property~0.cpt$1 1))))) + (ite (and (or (not $Sofar~0.Sofar$1) (<= $Property~0.cpt$1 7)) + (<= (- 4) $diff$2) + (<= $diff$2 4) + (or (not $Environment~0.plus$1) (>= $diff$2 1)) + (or (not $Environment~0.minus$1) (<= $diff$2 (- 1)))) + a!3 + (ite a!4 a!6 true)))))) +(check-sat) diff --git a/bench/skolems/cd_e7_621_e8_714_base1_skolem.smt2 b/bench/skolems/cd_e7_621_e8_714_base1_skolem.smt2 new file mode 100644 index 000000000..f0df2ae41 --- /dev/null +++ b/bench/skolems/cd_e7_621_e8_714_base1_skolem.smt2 @@ -0,0 +1,18 @@ +(declare-fun $V109_cpt$2 () Int) +(declare-fun $V25_realistic$2 () Bool) +(declare-fun $V93_X$2 () Bool) +(declare-fun $diff$0 () Int) +(declare-fun $V110_acceptable$2 () Bool) +(declare-fun $V22_speed$2 () Int) +(declare-fun $V98_Sofar$2 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (let ((a!1 (and true (<= (- 0 4) $diff$0) (<= $diff$0 4) (>= $diff$0 1)))) + (and (= $OK$2 true) + (= $V98_Sofar$2 (and (< 8 16) a!1 (<= 0 8))) + (= $V25_realistic$2 a!1) + (= $V93_X$2 (and (< 8 16) a!1 (<= 0 8))) + (= $V22_speed$2 8) + (= $V109_cpt$2 0) + (= $V110_acceptable$2 true)))) +(check-sat) diff --git a/bench/skolems/cd_e7_621_e8_714_base2_skolem.smt2 b/bench/skolems/cd_e7_621_e8_714_base2_skolem.smt2 new file mode 100644 index 000000000..fb4457d4d --- /dev/null +++ b/bench/skolems/cd_e7_621_e8_714_base2_skolem.smt2 @@ -0,0 +1,33 @@ +(declare-fun $V22_speed$3 () Int) +(declare-fun $V109_cpt$3 () Int) +(declare-fun $V25_realistic$3 () Bool) +(declare-fun $OK$3 () Bool) +(declare-fun $V24_minus$0 () Bool) +(declare-fun $V109_cpt$0 () Int) +(declare-fun $V98_Sofar$0 () Bool) +(declare-fun $V98_Sofar$3 () Bool) +(declare-fun $V110_acceptable$3 () Bool) +(declare-fun $V23_plus$0 () Bool) +(declare-fun $V93_X$3 () Bool) +(declare-fun $diff$1 () Int) + +(assert (let ((a!1 (or (not (<= (- 4) $diff$1)) + (not (<= $diff$1 4)) + (and $V23_plus$0 (not (>= $diff$1 1))) + (and $V24_minus$0 (not (<= $diff$1 (- 1)))) + (not $V98_Sofar$0) + (<= $V109_cpt$0 7))) + (a!2 (and (<= (- 0 4) $diff$1) + (<= $diff$1 4) + (ite $V23_plus$0 (>= $diff$1 1) true) + (ite $V24_minus$0 (<= $diff$1 (- 0 1)) true)))) +(let ((a!3 (and $V98_Sofar$0 (and (< 8 16) a!2 (<= 0 8))))) +(let ((a!4 (and (= $OK$3 (or (<= $V109_cpt$0 7) (not a!3))) + (= $V98_Sofar$3 a!3) + (= $V25_realistic$3 a!2) + (= $V93_X$3 (and (< 8 16) a!2 (<= 0 8))) + (= $V22_speed$3 8) + (= $V109_cpt$3 0) + (= $V110_acceptable$3 true)))) + (ite a!1 a!4 true))))) +(check-sat) diff --git a/bench/skolems/cd_e7_621_e8_714_extend_skolem.smt2 b/bench/skolems/cd_e7_621_e8_714_extend_skolem.smt2 new file mode 100644 index 000000000..fa2f48c86 --- /dev/null +++ b/bench/skolems/cd_e7_621_e8_714_extend_skolem.smt2 @@ -0,0 +1,56 @@ +(declare-fun $V109_cpt$2 () Int) +(declare-fun $V23_plus$~1 () Bool) +(declare-fun $V22_speed$2 () Int) +(declare-fun $V98_Sofar$2 () Bool) +(declare-fun $V93_X$2 () Bool) +(declare-fun $V25_realistic$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V98_Sofar$~1 () Bool) +(declare-fun $V109_cpt$~1 () Int) +(declare-fun $diff$0 () Int) +(declare-fun $V24_minus$~1 () Bool) +(declare-fun $V110_acceptable$2 () Bool) +(declare-fun %init () Bool) + +(assert (let ((a!1 (or (not (<= (- 4) $diff$0)) + (not (<= $diff$0 4)) + (and (or %init $V23_plus$~1) (not (>= $diff$0 1))) + (and (not %init) $V24_minus$~1 (not (<= $diff$0 (- 1)))))) + (a!2 (or (not (<= (- 4) $diff$0)) + (not (<= $diff$0 4)) + (and (or %init $V23_plus$~1) (not (>= $diff$0 1))) + (and (not %init) $V24_minus$~1 (not (<= $diff$0 (- 1)))) + (not $V98_Sofar$~1))) + (a!3 (and (and (<= (- 0 4) $diff$0) (<= $diff$0 4)) + (ite (ite true true $V23_plus$~1) (>= $diff$0 1) true) + (ite (ite true false $V24_minus$~1) (<= $diff$0 (- 0 1)) true))) + (a!4 (and (and (<= (- 0 4) $diff$0) (<= $diff$0 4)) + (ite (ite %init true $V23_plus$~1) (>= $diff$0 1) true) + (ite (ite %init false $V24_minus$~1) (<= $diff$0 (- 0 1)) true)))) +(let ((a!5 (ite %init + (and (< 8 16) a!3 (<= 0 8)) + (and (and (< 8 16) a!4 (<= 0 8)) $V98_Sofar$~1))) + (a!8 (ite %init + (and (< (- 1) 16) a!3 (<= 0 (- 1))) + (and (and (< (- 1) 16) a!4 (<= 0 (- 1))) $V98_Sofar$~1)))) +(let ((a!6 (= $OK$2 (or (ite %init true (<= $V109_cpt$~1 7)) (not a!5)))) + (a!9 (= $OK$2 (or (ite %init true (<= $V109_cpt$~1 7)) (not a!8))))) +(let ((a!7 (and a!6 + (= $V98_Sofar$2 a!5) + (= $V25_realistic$2 a!4) + (= $V93_X$2 (and (< 8 16) a!4 (<= 0 8))) + (= $V22_speed$2 8) + (= $V109_cpt$2 0) + (= $V110_acceptable$2 true))) + (a!10 (and a!9 + (= $V98_Sofar$2 a!8) + (= $V25_realistic$2 a!4) + (= $V93_X$2 (and (< (- 1) 16) a!4 (<= 0 (- 1)))) + (= $V22_speed$2 (- 1)) + (= $V109_cpt$2 (+ 1 $V109_cpt$~1)) + (= $V110_acceptable$2 false)))) +(let ((a!11 (ite (or (and %init (= $V109_cpt$~1 (- 1))) (not %init)) a!10 true))) + (ite (or (and %init a!1) (and (not %init) a!2) %init (<= $V109_cpt$~1 7)) + a!7 + a!11))))))) +(check-sat) diff --git a/bench/skolems/cd_extend_skolem.smt2 b/bench/skolems/cd_extend_skolem.smt2 new file mode 100644 index 000000000..c81f21b22 --- /dev/null +++ b/bench/skolems/cd_extend_skolem.smt2 @@ -0,0 +1,126 @@ +(declare-fun $Sofar~0.X$2 () Bool) +(declare-fun $plus$2 () Bool) +(declare-fun $Property~0.speed$2 () Int) +(declare-fun $Sofar~0.Sofar$~1 () Bool) +(declare-fun $Environment~0.diff$2 () Int) +(declare-fun $Property~0.ok$2 () Bool) +(declare-fun $Sofar~0.Sofar$2 () Bool) +(declare-fun $Environment~0.minus$~1 () Bool) +(declare-fun $Environment~0.ok$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $Property~0.acceptable$2 () Bool) +(declare-fun $Environment~0.plus$2 () Bool) +(declare-fun $realistic$2 () Bool) +(declare-fun $minus$2 () Bool) +(declare-fun $Property~0.cpt$~1 () Int) +(declare-fun $Environment~0.minus$2 () Bool) +(declare-fun $Environment~0.plus$~1 () Bool) +(declare-fun %init () Bool) +(declare-fun $Property~0.cpt$2 () Int) +(declare-fun $speed$2 () Int) +(declare-fun $diff$0 () Int) + +(assert (let ((a!1 (or (not (<= (- 4) $diff$0)) + (not (<= $diff$0 4)) + (and (or %init $Environment~0.plus$~1) (not (>= $diff$0 1))) + (and (not %init) + $Environment~0.minus$~1 + (not (<= $diff$0 (- 1)))))) + (a!3 (and (ite (ite %init false $Environment~0.minus$~1) + (<= $diff$0 (- 0 1)) + true) + (ite (ite %init true $Environment~0.plus$~1) + (>= $diff$0 1) + true) + (and (<= $diff$0 4) (<= (- 0 4) $diff$0)))) + (a!4 (and (ite (ite true false $Environment~0.minus$~1) + (<= $diff$0 (- 0 1)) + true) + (ite (ite true true $Environment~0.plus$~1) (>= $diff$0 1) true) + (and (<= $diff$0 4) (<= (- 0 4) $diff$0)))) + (a!9 (and (<= (- 4) $diff$0) + (<= $diff$0 4) + (or (and (not %init) (not $Environment~0.plus$~1)) + (>= $diff$0 1)) + (or %init (not $Environment~0.minus$~1) (<= $diff$0 (- 1))) + (or %init (and (not %init) (= $Property~0.cpt$~1 (- 1)))))) + (a!14 (and (<= (- 4) $diff$0) + (<= $diff$0 4) + (or (and (not %init) (not $Environment~0.plus$~1)) + (>= $diff$0 1)) + (or %init (not $Environment~0.minus$~1) (<= $diff$0 (- 1))) + (or (and %init (= $Property~0.cpt$~1 (- 1))) (not %init))))) +(let ((a!2 (and a!1 (or %init (and (not %init) (= $Property~0.cpt$~1 (- 1)))))) + (a!5 (ite %init + (and (< 13 16) a!4 (<= 0 13)) + (and (and (< 13 16) a!3 (<= 0 13)) $Sofar~0.Sofar$~1))) + (a!7 (= $Sofar~0.X$2 (and (< 13 16) a!3 (<= 0 13)))) + (a!10 (ite %init + (and (< 16 16) a!4 (<= 0 16)) + (and (and (< 16 16) a!3 (<= 0 16)) $Sofar~0.Sofar$~1))) + (a!12 (= $Sofar~0.X$2 (and (< 16 16) a!3 (<= 0 16)))) + (a!16 (and a!1 (or (and %init (= $Property~0.cpt$~1 (- 1))) (not %init))))) +(let ((a!6 (= $OK$2 (or (ite %init true (<= $Property~0.cpt$~1 7)) (not a!5)))) + (a!11 (= $OK$2 (or (ite %init true (<= $Property~0.cpt$~1 7)) (not a!10))))) +(let ((a!8 (and (= $realistic$2 a!3) + (= $Environment~0.ok$2 a!3) + a!6 + (= $Sofar~0.Sofar$2 a!5) + (= $Property~0.ok$2 (ite %init true (<= $Property~0.cpt$~1 7))) + (= $Environment~0.diff$2 $diff$0) + (= $Environment~0.plus$2 false) + (= $plus$2 false) + (= $Environment~0.minus$2 false) + (= $minus$2 false) + a!7 + (= $speed$2 13) + (= $Property~0.speed$2 13) + (= $Property~0.acceptable$2 false) + (= $Property~0.cpt$2 0))) + (a!13 (and (= $realistic$2 a!3) + (= $Environment~0.ok$2 a!3) + a!11 + (= $Sofar~0.Sofar$2 a!10) + (= $Property~0.ok$2 (ite %init true (<= $Property~0.cpt$~1 7))) + (= $Environment~0.diff$2 $diff$0) + (= $Environment~0.plus$2 false) + (= $plus$2 false) + (= $Environment~0.minus$2 false) + (= $minus$2 false) + a!12 + (= $speed$2 16) + (= $Property~0.speed$2 16) + (= $Property~0.acceptable$2 false) + (= $Property~0.cpt$2 0))) + (a!15 (and (= $realistic$2 a!3) + (= $Environment~0.ok$2 a!3) + a!11 + (= $Sofar~0.Sofar$2 a!10) + (= $Property~0.ok$2 (ite %init true (<= $Property~0.cpt$~1 7))) + (= $Environment~0.diff$2 $diff$0) + (= $Environment~0.plus$2 false) + (= $plus$2 false) + (= $Environment~0.minus$2 false) + (= $minus$2 false) + a!12 + (= $speed$2 16) + (= $Property~0.speed$2 16) + (= $Property~0.acceptable$2 false) + (= $Property~0.cpt$2 (+ 1 $Property~0.cpt$~1)))) + (a!17 (and (= $realistic$2 a!3) + (= $Environment~0.ok$2 a!3) + a!6 + (= $Sofar~0.Sofar$2 a!5) + (= $Property~0.ok$2 (ite %init true (<= $Property~0.cpt$~1 7))) + (= $Environment~0.diff$2 $diff$0) + (= $Environment~0.plus$2 false) + (= $plus$2 false) + (= $Environment~0.minus$2 false) + (= $minus$2 false) + a!7 + (= $speed$2 13) + (= $Property~0.speed$2 13) + (= $Property~0.acceptable$2 false) + (= $Property~0.cpt$2 (+ 1 $Property~0.cpt$~1))))) + (ite a!2 a!8 (ite a!9 a!13 (ite a!14 a!15 (ite a!16 a!17 true))))))))) +(check-sat) diff --git a/bench/skolems/cruise_controller_01_base_skolem.smt2 b/bench/skolems/cruise_controller_01_base_skolem.smt2 new file mode 100644 index 000000000..310c9ef46 --- /dev/null +++ b/bench/skolems/cruise_controller_01_base_skolem.smt2 @@ -0,0 +1,2454 @@ +(declare-fun $OK$2 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + () + Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + () + Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + () + Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + () + Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + () + Bool) +(declare-fun $cancel$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + () + Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + () + Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + () + Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + () + Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + () + Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + () + Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + () + Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + () + Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + () + Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + () + Int) +(declare-fun $carSpeed$0 () Real) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + () + Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + () + Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + () + Int) +(declare-fun $accelResume$0 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + () + Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + () + Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_accel$2 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_set$2 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_onOff$2 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + () + Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + () + Bool) +(declare-fun $carGear$0 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + () + Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + () + Int) +(declare-fun $onOff$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + () + Bool) +(declare-fun $decelSet$0 () Bool) +(declare-fun $validInputs$0 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_decel$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + () + Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + () + Bool) +(declare-fun $brakePedal$0 () Bool) + +(assert (let ((a!1 (or $cancel$0 + $brakePedal$0 + (not (= $carGear$0 3)) + (not (>= $carSpeed$0 15.0)) + (not $validInputs$0))) + (a!2 (and $validInputs$0 + (>= $carSpeed$0 (to_real (div 150 10))) + (not $cancel$0) + (not $brakePedal$0) + (= $carGear$0 3)))) +(let ((a!3 (ite (and (not $accelResume$0) + (not $decelSet$0) + $onOff$0 + (not $cancel$0) + (not $brakePedal$0) + (= $carGear$0 3) + (>= $carSpeed$0 15.0) + $validInputs$0) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 1) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + (ite (and (not $accelResume$0) (not $decelSet$0) $onOff$0 a!1) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 + 1) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + true)))) +(let ((a!4 (ite (and $accelResume$0 + (not $decelSet$0) + $onOff$0 + (not $cancel$0) + (not $brakePedal$0) + (= $carGear$0 3) + (>= $carSpeed$0 15.0) + $validInputs$0) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 1) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + (ite (and $accelResume$0 (not $decelSet$0) $onOff$0 a!1) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 + 1) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + a!3)))) +(let ((a!5 (ite (and $accelResume$0 (not $decelSet$0) (not $onOff$0) a!1) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + (ite (and $accelResume$0 + (not $decelSet$0) + (not $onOff$0) + (not $cancel$0) + (not $brakePedal$0) + (= $carGear$0 3) + (>= $carSpeed$0 15.0) + $validInputs$0) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + a!4)))) +(let ((a!6 (ite (and (not $accelResume$0) + (not $decelSet$0) + (not $onOff$0) + (not $cancel$0) + (not $brakePedal$0) + (= $carGear$0 3) + (>= $carSpeed$0 15.0) + $validInputs$0) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + (ite (and (not $accelResume$0) + (not $decelSet$0) + (not $onOff$0) + a!1) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + a!5)))) +(let ((a!7 (ite (and $accelResume$0 + $decelSet$0 + (not $onOff$0) + (not $cancel$0) + (not $brakePedal$0) + (= $carGear$0 3) + (>= $carSpeed$0 15.0) + $validInputs$0) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 1) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + (ite (and (not $accelResume$0) + $decelSet$0 + (not $onOff$0) + (not $cancel$0) + (not $brakePedal$0) + (= $carGear$0 3) + (>= $carSpeed$0 15.0) + $validInputs$0) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 1) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + a!6)))) +(let ((a!8 (ite (and $accelResume$0 $decelSet$0 $onOff$0 a!1) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 1) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 1) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + (ite (and $accelResume$0 + $decelSet$0 + $onOff$0 + (not $cancel$0) + (not $brakePedal$0) + (= $carGear$0 3) + (>= $carSpeed$0 15.0) + $validInputs$0) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 1) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 + 1) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + a!7)))) +(let ((a!9 (ite (and (not $accelResume$0) $decelSet$0 (not $onOff$0) a!1) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 1) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + (ite (and $accelResume$0 $decelSet$0 (not $onOff$0) a!1) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 1) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + a!8)))) + (ite (and (not $accelResume$0) $decelSet$0 $onOff$0 a!1) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 1) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 1) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 0) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + (ite (and (not $accelResume$0) + $decelSet$0 + $onOff$0 + (not $cancel$0) + (not $brakePedal$0) + (= $carGear$0 3) + (>= $carSpeed$0 15.0) + $validInputs$0) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 1) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 1) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + a!9))))))))))) +(check-sat) diff --git a/bench/skolems/cruise_controller_02_base_skolem.smt2 b/bench/skolems/cruise_controller_02_base_skolem.smt2 new file mode 100644 index 000000000..2bd2407fc --- /dev/null +++ b/bench/skolems/cruise_controller_02_base_skolem.smt2 @@ -0,0 +1,2454 @@ +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + () + Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + () + Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + () + Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + () + Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + () + Int) +(declare-fun $accelResume$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + () + Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + () + Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + () + Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + () + Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + () + Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_onOff$2 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + () + Bool) +(declare-fun $brakePedal$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + () + Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + () + Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + () + Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + () + Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + () + Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + () + Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + () + Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_accel$2 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + () + Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + () + Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + () + Int) +(declare-fun $validInputs$0 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_set$2 () Int) +(declare-fun $carSpeed$0 () Real) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + () + Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + () + Bool) +(declare-fun $carGear$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + () + Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_decel$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + () + Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + () + Bool) +(declare-fun $decelSet$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + () + Int) +(declare-fun $cancel$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + () + Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + () + Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + () + Int) +(declare-fun $onOff$0 () Bool) + +(assert (let ((a!1 (or $cancel$0 + $brakePedal$0 + (not (= $carGear$0 3)) + (not (>= $carSpeed$0 15.0)) + (not $validInputs$0))) + (a!2 (and $validInputs$0 + (>= $carSpeed$0 (to_real (div 150 10))) + (not $cancel$0) + (not $brakePedal$0) + (= $carGear$0 3)))) +(let ((a!3 (ite (and $accelResume$0 + (not $decelSet$0) + $onOff$0 + (not $cancel$0) + (not $brakePedal$0) + (= $carGear$0 3) + (>= $carSpeed$0 15.0) + $validInputs$0) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 1) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + (ite (and $accelResume$0 (not $decelSet$0) $onOff$0 a!1) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 + 1) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + true)))) +(let ((a!4 (ite (and (not $accelResume$0) + (not $decelSet$0) + $onOff$0 + (not $cancel$0) + (not $brakePedal$0) + (= $carGear$0 3) + (>= $carSpeed$0 15.0) + $validInputs$0) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 1) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + (ite (and (not $accelResume$0) (not $decelSet$0) $onOff$0 a!1) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 + 1) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + a!3)))) +(let ((a!5 (ite (and $accelResume$0 + (not $decelSet$0) + (not $onOff$0) + (not $cancel$0) + (not $brakePedal$0) + (= $carGear$0 3) + (>= $carSpeed$0 15.0) + $validInputs$0) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + (ite (and $accelResume$0 (not $decelSet$0) (not $onOff$0) a!1) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + a!4)))) +(let ((a!6 (ite (and (not $accelResume$0) + (not $decelSet$0) + (not $onOff$0) + (not $cancel$0) + (not $brakePedal$0) + (= $carGear$0 3) + (>= $carSpeed$0 15.0) + $validInputs$0) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + (ite (and (not $accelResume$0) + (not $decelSet$0) + (not $onOff$0) + a!1) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + a!5)))) +(let ((a!7 (ite (and $accelResume$0 $decelSet$0 $onOff$0 a!1) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 1) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 1) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + (ite (and $accelResume$0 + $decelSet$0 + $onOff$0 + (not $cancel$0) + (not $brakePedal$0) + (= $carGear$0 3) + (>= $carSpeed$0 15.0) + $validInputs$0) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 1) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 + 1) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + a!6)))) +(let ((a!8 (ite (and $accelResume$0 + $decelSet$0 + (not $onOff$0) + (not $cancel$0) + (not $brakePedal$0) + (= $carGear$0 3) + (>= $carSpeed$0 15.0) + $validInputs$0) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 1) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + (ite (and $accelResume$0 $decelSet$0 (not $onOff$0) a!1) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 1) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + a!7)))) +(let ((a!9 (ite (and (not $accelResume$0) $decelSet$0 (not $onOff$0) a!1) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 1) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + (ite (and (not $accelResume$0) + $decelSet$0 + (not $onOff$0) + (not $cancel$0) + (not $brakePedal$0) + (= $carGear$0 3) + (>= $carSpeed$0 15.0) + $validInputs$0) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 1) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + a!8)))) + (ite (and (not $accelResume$0) $decelSet$0 $onOff$0 a!1) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 1) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 1) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 0) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + (ite (and (not $accelResume$0) + $decelSet$0 + $onOff$0 + (not $cancel$0) + (not $brakePedal$0) + (= $carGear$0 3) + (>= $carSpeed$0 15.0) + $validInputs$0) + (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 + 0) + (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 + 1) + (= $chart_CruiseController_ModeLogic_mode_logic_onOff$2 1) + (= $chart_CruiseController_ModeLogic_mode_logic_decel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_set$2 0) + (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 + false) + (= $chart_CruiseController_ModeLogic_mode_logic_accel$2 0) + (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 + 1) + (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 + a!2) + (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 + true) + (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 + 0) + (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 + 1) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 1) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 7) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 + false) + (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 + 4) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 + 0) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 + false) + (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 + 0) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 + 3) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 + true) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 + 2) + (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 + true) + (= $OK$2 true)) + a!9))))))))))) +(check-sat) diff --git a/bench/skolems/cruise_controller_06_base_skolem.smt2 b/bench/skolems/cruise_controller_06_base_skolem.smt2 new file mode 100644 index 000000000..71e44964e --- /dev/null +++ b/bench/skolems/cruise_controller_06_base_skolem.smt2 @@ -0,0 +1,5 @@ +(declare-fun $cruiseThrottle$2 () Real) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $cruiseThrottle$2 0.0))) +(check-sat) diff --git a/bench/skolems/cruise_controller_06_extend_skolem.smt2 b/bench/skolems/cruise_controller_06_extend_skolem.smt2 new file mode 100644 index 000000000..71e44964e --- /dev/null +++ b/bench/skolems/cruise_controller_06_extend_skolem.smt2 @@ -0,0 +1,5 @@ +(declare-fun $cruiseThrottle$2 () Real) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $cruiseThrottle$2 0.0))) +(check-sat) diff --git a/bench/skolems/cruise_controller_07_base_skolem.smt2 b/bench/skolems/cruise_controller_07_base_skolem.smt2 new file mode 100644 index 000000000..b2eaeae9e --- /dev/null +++ b/bench/skolems/cruise_controller_07_base_skolem.smt2 @@ -0,0 +1,5 @@ +(declare-fun $desiredSpeed$2 () Real) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $desiredSpeed$2 0.0))) +(check-sat) diff --git a/bench/skolems/cruise_controller_07_extend_skolem.smt2 b/bench/skolems/cruise_controller_07_extend_skolem.smt2 new file mode 100644 index 000000000..b2eaeae9e --- /dev/null +++ b/bench/skolems/cruise_controller_07_extend_skolem.smt2 @@ -0,0 +1,5 @@ +(declare-fun $desiredSpeed$2 () Real) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $desiredSpeed$2 0.0))) +(check-sat) diff --git a/bench/skolems/cruise_controller_09_base_skolem.smt2 b/bench/skolems/cruise_controller_09_base_skolem.smt2 new file mode 100644 index 000000000..9a46a4d50 --- /dev/null +++ b/bench/skolems/cruise_controller_09_base_skolem.smt2 @@ -0,0 +1,9 @@ +(declare-fun $desiredSpeed$2 () Real) +(declare-fun $carSpeed$0 () Real) +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$2 () Bool) + +(assert (let ((a!1 (= 0.0 (ite true (to_real (div 0 10)) $desiredSpeed$~1)))) +(let ((a!2 (or a!1 (= 0.0 $carSpeed$0) (= 0.0 (to_real (div 0 10)))))) + (and (= $OK$2 a!2) (= $desiredSpeed$2 0.0))))) +(check-sat) diff --git a/bench/skolems/cruise_controller_09_extend_skolem.smt2 b/bench/skolems/cruise_controller_09_extend_skolem.smt2 new file mode 100644 index 000000000..97e7ea18b --- /dev/null +++ b/bench/skolems/cruise_controller_09_extend_skolem.smt2 @@ -0,0 +1,18 @@ +(declare-fun $desiredSpeed$2 () Real) +(declare-fun $carSpeed$0 () Real) +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$2 () Bool) +(declare-fun %init () Bool) + +(assert (let ((a!1 (= $desiredSpeed$~1 + (ite %init (to_real (div 0 10)) $desiredSpeed$~1)))) +(let ((a!2 (or (= $desiredSpeed$~1 (to_real (div 0 10))) + (= $desiredSpeed$~1 $carSpeed$0) + a!1))) + (ite (or (and %init (= $desiredSpeed$~1 0.0)) + (not %init) + (= $desiredSpeed$~1 $carSpeed$0) + (= $desiredSpeed$~1 0.0)) + (and (= $OK$2 a!2) (= $desiredSpeed$2 $desiredSpeed$~1)) + (and (= $OK$2 true) (= $desiredSpeed$2 $carSpeed$0)))))) +(check-sat) diff --git a/bench/skolems/cruise_controller_11_base_skolem.smt2 b/bench/skolems/cruise_controller_11_base_skolem.smt2 new file mode 100644 index 000000000..1846944fa --- /dev/null +++ b/bench/skolems/cruise_controller_11_base_skolem.smt2 @@ -0,0 +1,6 @@ +(declare-fun $mode$2 () Int) +(declare-fun $cruiseThrottle$2 () Real) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $mode$2 4) (= $cruiseThrottle$2 0.0))) +(check-sat) diff --git a/bench/skolems/cruise_controller_11_extend_skolem.smt2 b/bench/skolems/cruise_controller_11_extend_skolem.smt2 new file mode 100644 index 000000000..731f2a89a --- /dev/null +++ b/bench/skolems/cruise_controller_11_extend_skolem.smt2 @@ -0,0 +1,6 @@ +(declare-fun $cruiseThrottle$2 () Real) +(declare-fun $mode$2 () Int) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $mode$2 4) (= $cruiseThrottle$2 0.0))) +(check-sat) diff --git a/bench/skolems/cruise_controller_15_base_skolem.smt2 b/bench/skolems/cruise_controller_15_base_skolem.smt2 new file mode 100644 index 000000000..5fd96a6b2 --- /dev/null +++ b/bench/skolems/cruise_controller_15_base_skolem.smt2 @@ -0,0 +1,6 @@ +(declare-fun $desiredSpeed$2 () Real) +(declare-fun $mode$2 () Int) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $mode$2 4) (= $desiredSpeed$2 0.0))) +(check-sat) diff --git a/bench/skolems/cruise_controller_15_extend_skolem.smt2 b/bench/skolems/cruise_controller_15_extend_skolem.smt2 new file mode 100644 index 000000000..5fd96a6b2 --- /dev/null +++ b/bench/skolems/cruise_controller_15_extend_skolem.smt2 @@ -0,0 +1,6 @@ +(declare-fun $desiredSpeed$2 () Real) +(declare-fun $mode$2 () Int) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $mode$2 4) (= $desiredSpeed$2 0.0))) +(check-sat) diff --git a/bench/skolems/cruise_controller_16_base_skolem.smt2 b/bench/skolems/cruise_controller_16_base_skolem.smt2 new file mode 100644 index 000000000..b26bef49e --- /dev/null +++ b/bench/skolems/cruise_controller_16_base_skolem.smt2 @@ -0,0 +1,6 @@ +(declare-fun $desiredSpeed$2 () Real) +(declare-fun $mode$2 () Int) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $mode$2 7) (= $desiredSpeed$2 0.0))) +(check-sat) diff --git a/bench/skolems/cruise_controller_16_extend_skolem.smt2 b/bench/skolems/cruise_controller_16_extend_skolem.smt2 new file mode 100644 index 000000000..8a0d3a5c4 --- /dev/null +++ b/bench/skolems/cruise_controller_16_extend_skolem.smt2 @@ -0,0 +1,6 @@ +(declare-fun $mode$2 () Int) +(declare-fun $desiredSpeed$2 () Real) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $mode$2 7) (= $desiredSpeed$2 0.0))) +(check-sat) diff --git a/bench/skolems/cruise_controller_17_base1_skolem.smt2 b/bench/skolems/cruise_controller_17_base1_skolem.smt2 new file mode 100644 index 000000000..5d25eb2b8 --- /dev/null +++ b/bench/skolems/cruise_controller_17_base1_skolem.smt2 @@ -0,0 +1,9 @@ +(declare-fun $cruiseThrottle$2 () Real) +(declare-fun $mode$2 () Int) +(declare-fun $cruiseThrottle$~1 () Real) +(declare-fun $OK$2 () Bool) + +(assert (let ((a!1 (= 0.0 (ite true (to_real (div 0 10)) $cruiseThrottle$~1)))) +(let ((a!2 (= $OK$2 (or (not (= 5 4)) a!1)))) + (and a!2 (= $mode$2 5) (= $cruiseThrottle$2 0.0))))) +(check-sat) diff --git a/bench/skolems/cruise_controller_17_base2_skolem.smt2 b/bench/skolems/cruise_controller_17_base2_skolem.smt2 new file mode 100644 index 000000000..882786101 --- /dev/null +++ b/bench/skolems/cruise_controller_17_base2_skolem.smt2 @@ -0,0 +1,9 @@ +(declare-fun $cruiseThrottle$3 () Real) +(declare-fun $mode$3 () Int) +(declare-fun $cruiseThrottle$0 () Real) +(declare-fun $OK$3 () Bool) + +(assert (let ((a!1 (= 0.0 (ite false (to_real (div 0 10)) $cruiseThrottle$0)))) +(let ((a!2 (= $OK$3 (or (not (= 5 4)) a!1)))) + (and a!2 (= $mode$3 5) (= $cruiseThrottle$3 0.0))))) +(check-sat) diff --git a/bench/skolems/cruise_controller_17_extend_skolem.smt2 b/bench/skolems/cruise_controller_17_extend_skolem.smt2 new file mode 100644 index 000000000..d68aa9b35 --- /dev/null +++ b/bench/skolems/cruise_controller_17_extend_skolem.smt2 @@ -0,0 +1,10 @@ +(declare-fun $mode$2 () Int) +(declare-fun $cruiseThrottle$~1 () Real) +(declare-fun %init () Bool) +(declare-fun $cruiseThrottle$2 () Real) +(declare-fun $OK$2 () Bool) + +(assert (let ((a!1 (= 0.0 (ite %init (to_real (div 0 10)) $cruiseThrottle$~1)))) +(let ((a!2 (= $OK$2 (or (not (= 5 4)) a!1)))) + (and a!2 (= $mode$2 5) (= $cruiseThrottle$2 0.0))))) +(check-sat) diff --git a/bench/skolems/cruise_controller_20_base_skolem.smt2 b/bench/skolems/cruise_controller_20_base_skolem.smt2 new file mode 100644 index 000000000..d6381d45e --- /dev/null +++ b/bench/skolems/cruise_controller_20_base_skolem.smt2 @@ -0,0 +1,9 @@ +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $desiredSpeed$2 () Real) +(declare-fun $mode$~1 () Int) +(declare-fun $OK$2 () Bool) + +(assert (let ((a!1 (= 0.0 (ite true (to_real (div 0 10)) $desiredSpeed$~1)))) +(let ((a!2 (or (not (ite true false (= $mode$~1 4))) a!1))) + (and (= $OK$2 a!2) (= $desiredSpeed$2 0.0))))) +(check-sat) diff --git a/bench/skolems/cruise_controller_20_extend_skolem.smt2 b/bench/skolems/cruise_controller_20_extend_skolem.smt2 new file mode 100644 index 000000000..8b9ec1072 --- /dev/null +++ b/bench/skolems/cruise_controller_20_extend_skolem.smt2 @@ -0,0 +1,11 @@ +(declare-fun $desiredSpeed$2 () Real) +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $mode$~1 () Int) +(declare-fun %init () Bool) +(declare-fun $OK$2 () Bool) + +(assert (let ((a!1 (= $desiredSpeed$~1 + (ite %init (to_real (div 0 10)) $desiredSpeed$~1)))) +(let ((a!2 (or (not (ite %init false (= $mode$~1 4))) a!1))) + (and (= $OK$2 a!2) (= $desiredSpeed$2 $desiredSpeed$~1))))) +(check-sat) diff --git a/bench/skolems/cruise_controller_23_base_skolem.smt2 b/bench/skolems/cruise_controller_23_base_skolem.smt2 new file mode 100644 index 000000000..52737cc99 --- /dev/null +++ b/bench/skolems/cruise_controller_23_base_skolem.smt2 @@ -0,0 +1,5 @@ +(declare-fun $desiredSpeed$2 () Real) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $desiredSpeed$2 15.0))) +(check-sat) diff --git a/bench/skolems/cruise_controller_23_extend_skolem.smt2 b/bench/skolems/cruise_controller_23_extend_skolem.smt2 new file mode 100644 index 000000000..52737cc99 --- /dev/null +++ b/bench/skolems/cruise_controller_23_extend_skolem.smt2 @@ -0,0 +1,5 @@ +(declare-fun $desiredSpeed$2 () Real) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $desiredSpeed$2 15.0))) +(check-sat) diff --git a/bench/skolems/ex3_e7_590_base_skolem.smt2 b/bench/skolems/ex3_e7_590_base_skolem.smt2 new file mode 100644 index 000000000..5aa6b3923 --- /dev/null +++ b/bench/skolems/ex3_e7_590_base_skolem.smt2 @@ -0,0 +1,5 @@ +(declare-fun $V19_late$2 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $V19_late$2 true))) +(check-sat) diff --git a/bench/skolems/ex3_e7_590_e7_590_base_skolem.smt2 b/bench/skolems/ex3_e7_590_e7_590_base_skolem.smt2 new file mode 100644 index 000000000..5aa6b3923 --- /dev/null +++ b/bench/skolems/ex3_e7_590_e7_590_base_skolem.smt2 @@ -0,0 +1,5 @@ +(declare-fun $V19_late$2 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $V19_late$2 true))) +(check-sat) diff --git a/bench/skolems/ex3_e7_590_e7_590_extend_skolem.smt2 b/bench/skolems/ex3_e7_590_e7_590_extend_skolem.smt2 new file mode 100644 index 000000000..35ef85f38 --- /dev/null +++ b/bench/skolems/ex3_e7_590_e7_590_extend_skolem.smt2 @@ -0,0 +1,8 @@ +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun %init () Bool) +(declare-fun $OK$2 () Bool) + +(assert (let ((a!1 (= $OK$2 (ite %init true (or (not $V20_early$~1) (not false)))))) + (and a!1 (= $V19_late$2 false)))) +(check-sat) diff --git a/bench/skolems/ex3_e7_590_e8_550_base_skolem.smt2 b/bench/skolems/ex3_e7_590_e8_550_base_skolem.smt2 new file mode 100644 index 000000000..5aa6b3923 --- /dev/null +++ b/bench/skolems/ex3_e7_590_e8_550_base_skolem.smt2 @@ -0,0 +1,5 @@ +(declare-fun $V19_late$2 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $V19_late$2 true))) +(check-sat) diff --git a/bench/skolems/ex3_e7_590_e8_550_extend_skolem.smt2 b/bench/skolems/ex3_e7_590_e8_550_extend_skolem.smt2 new file mode 100644 index 000000000..746e89c88 --- /dev/null +++ b/bench/skolems/ex3_e7_590_e8_550_extend_skolem.smt2 @@ -0,0 +1,8 @@ +(declare-fun $V19_late$2 () Bool) +(declare-fun %init () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (let ((a!1 (= $OK$2 (ite %init true (or (not $V20_early$~1) (not false)))))) + (and a!1 (= $V19_late$2 false)))) +(check-sat) diff --git a/bench/skolems/ex3_e7_590_extend_skolem.smt2 b/bench/skolems/ex3_e7_590_extend_skolem.smt2 new file mode 100644 index 000000000..4ef6b3682 --- /dev/null +++ b/bench/skolems/ex3_e7_590_extend_skolem.smt2 @@ -0,0 +1,8 @@ +(declare-fun %init () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (let ((a!1 (= $OK$2 (ite %init true (or (not $V20_early$~1) (not false)))))) + (and a!1 (= $V19_late$2 false)))) +(check-sat) diff --git a/bench/skolems/ex3_e8_120_base_skolem.smt2 b/bench/skolems/ex3_e8_120_base_skolem.smt2 new file mode 100644 index 000000000..5aa6b3923 --- /dev/null +++ b/bench/skolems/ex3_e8_120_base_skolem.smt2 @@ -0,0 +1,5 @@ +(declare-fun $V19_late$2 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $V19_late$2 true))) +(check-sat) diff --git a/bench/skolems/ex3_e8_120_extend_skolem.smt2 b/bench/skolems/ex3_e8_120_extend_skolem.smt2 new file mode 100644 index 000000000..746e89c88 --- /dev/null +++ b/bench/skolems/ex3_e8_120_extend_skolem.smt2 @@ -0,0 +1,8 @@ +(declare-fun $V19_late$2 () Bool) +(declare-fun %init () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (let ((a!1 (= $OK$2 (ite %init true (or (not $V20_early$~1) (not false)))))) + (and a!1 (= $V19_late$2 false)))) +(check-sat) diff --git a/bench/skolems/ex3_e8_381_e7_224_base_skolem.smt2 b/bench/skolems/ex3_e8_381_e7_224_base_skolem.smt2 new file mode 100644 index 000000000..5aa6b3923 --- /dev/null +++ b/bench/skolems/ex3_e8_381_e7_224_base_skolem.smt2 @@ -0,0 +1,5 @@ +(declare-fun $V19_late$2 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $V19_late$2 true))) +(check-sat) diff --git a/bench/skolems/ex3_e8_381_e7_224_extend_skolem.smt2 b/bench/skolems/ex3_e8_381_e7_224_extend_skolem.smt2 new file mode 100644 index 000000000..746e89c88 --- /dev/null +++ b/bench/skolems/ex3_e8_381_e7_224_extend_skolem.smt2 @@ -0,0 +1,8 @@ +(declare-fun $V19_late$2 () Bool) +(declare-fun %init () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (let ((a!1 (= $OK$2 (ite %init true (or (not $V20_early$~1) (not false)))))) + (and a!1 (= $V19_late$2 false)))) +(check-sat) diff --git a/bench/skolems/example_base1_skolem.smt2 b/bench/skolems/example_base1_skolem.smt2 new file mode 100644 index 000000000..a185f3345 --- /dev/null +++ b/bench/skolems/example_base1_skolem.smt2 @@ -0,0 +1,18 @@ +(declare-fun $prop4$2 () Bool) +(declare-fun $state$2 () Int) +(declare-fun $prop3$2 () Bool) +(declare-fun $prop2$2 () Bool) +(declare-fun $prop_all$2 () Bool) +(declare-fun $prop1$2 () Bool) +(declare-fun $bias_max$2 () Bool) +(declare-fun $bias$2 () Int) + +(assert (and (= $bias$2 0) + (= $bias_max$2 false) + (= $prop1$2 true) + (= $state$2 0) + (= $prop2$2 true) + (= $prop3$2 true) + (= $prop4$2 true) + (= $prop_all$2 true))) +(check-sat) diff --git a/bench/skolems/example_base2_skolem.smt2 b/bench/skolems/example_base2_skolem.smt2 new file mode 100644 index 000000000..47641fc89 --- /dev/null +++ b/bench/skolems/example_base2_skolem.smt2 @@ -0,0 +1,69 @@ +(declare-fun $prop_all$3 () Bool) +(declare-fun $prop1$3 () Bool) +(declare-fun $prop3$3 () Bool) +(declare-fun $prop4$3 () Bool) +(declare-fun $prop2$3 () Bool) +(declare-fun $state$3 () Int) +(declare-fun $bias$3 () Int) +(declare-fun $state$0 () Int) +(declare-fun $bias_max$3 () Bool) +(declare-fun $bias$0 () Int) +(declare-fun $bias_max$0 () Bool) +(declare-fun $x$1 () Bool) + +(assert (let ((a!1 (and (not $x$1) + (not (<= 3 $bias$0)) + (not (<= $bias$0 (- 1))) + (not $bias_max$0) + (or (not (= $state$0 0)) (not $x$1)) + (or (not (= $state$0 0)) $x$1))) + (a!2 (or $bias_max$0 + (>= (+ (- 1) $bias$0) 2) + (<= (+ (- 1) $bias$0) (- 0 2)))) + (a!3 (or (= (+ (- 1) $bias$0) 0) (not (= 3 0)))) + (a!4 (or (not (and (= $state$0 0) $x$1)) (= 3 2))) + (a!5 (or (not (and (= $state$0 0) (not $x$1))) (= 3 1))) + (a!6 (and (not $x$1) + (not (<= 3 $bias$0)) + (not (<= $bias$0 (- 1))) + (not $bias_max$0) + (or (not (= $state$0 0)) (not $x$1)))) + (a!7 (or (= (+ (- 1) $bias$0) 0) (not (= 1 0)))) + (a!8 (or (not (and (= $state$0 0) $x$1)) (= 1 2))) + (a!11 (and $x$1 + (not (<= 1 $bias$0)) + (not (<= $bias$0 (- 3))) + (not $bias_max$0) + (or (not (= $state$0 0)) $x$1))) + (a!12 (or $bias_max$0 (>= (+ 1 $bias$0) 2) (<= (+ 1 $bias$0) (- 0 2)))) + (a!13 (or (= (+ 1 $bias$0) 0) (not (= 2 0)))) + (a!14 (or (not (and (= $state$0 0) (not $x$1))) (= 2 1)))) +(let ((a!9 (= $prop_all$3 (and (or (not a!2) (= 1 3)) true a!7 a!8))) + (a!15 (= $prop_all$3 (and (or (not a!12) (= 2 3)) a!14 true a!13)))) +(let ((a!10 (and (= $bias$3 (+ (- 1) $bias$0)) + (= $bias_max$3 a!2) + (= $prop1$3 a!7) + (= $state$3 1) + (= $prop2$3 a!8) + (= $prop3$3 true) + (= $prop4$3 (or (not a!2) (= 1 3))) + a!9)) + (a!16 (and (= $bias$3 (+ 1 $bias$0)) + (= $bias_max$3 a!12) + (= $prop1$3 a!13) + (= $state$3 2) + (= $prop2$3 true) + (= $prop3$3 a!14) + (= $prop4$3 (or (not a!12) (= 2 3))) + a!15))) + (ite a!1 + (and (= $bias$3 (+ (- 1) $bias$0)) + (= $bias_max$3 a!2) + (= $prop1$3 a!3) + (= $state$3 3) + (= $prop2$3 a!4) + (= $prop3$3 a!5) + (= $prop4$3 true) + (= $prop_all$3 (and true a!5 a!3 a!4))) + (ite a!6 a!10 (ite a!11 a!16 true))))))) +(check-sat) diff --git a/bench/skolems/example_base3_skolem.smt2 b/bench/skolems/example_base3_skolem.smt2 new file mode 100644 index 000000000..33e8599d7 --- /dev/null +++ b/bench/skolems/example_base3_skolem.smt2 @@ -0,0 +1,67 @@ +(declare-fun $prop4$4 () Bool) +(declare-fun $state$4 () Int) +(declare-fun $prop_all$4 () Bool) +(declare-fun $bias$4 () Int) +(declare-fun $prop3$4 () Bool) +(declare-fun $prop2$4 () Bool) +(declare-fun $state$1 () Int) +(declare-fun $prop1$4 () Bool) +(declare-fun $bias_max$4 () Bool) +(declare-fun $bias_max$1 () Bool) +(declare-fun $bias$1 () Int) +(declare-fun $x$2 () Bool) + +(assert (let ((a!1 (and (or (and $x$2 (= $bias$1 (- 1))) (and (not $x$2) (= $bias$1 1))) + (not $bias_max$1) + (or (not (= $state$1 0)) (not $x$2)) + (or (not (= $state$1 0)) $x$2))) + (a!2 (= $bias_max$4 (or $bias_max$1 (>= 0 2) (<= 0 (- 0 2))))) + (a!3 (or (not (and (= $state$1 0) $x$2)) (= 3 2))) + (a!4 (or (not (and (= $state$1 0) (not $x$2))) (= 3 1))) + (a!5 (and $x$2 + (or (>= $bias$1 1) (<= $bias$1 (- 3)) $bias_max$1) + (or (not (= $state$1 0)) (not $x$2)) + (or (not (= $state$1 0)) $x$2))) + (a!6 (= $bias_max$4 + (or $bias_max$1 (>= (+ 1 $bias$1) 2) (<= (+ 1 $bias$1) (- 0 2))))) + (a!7 (or (= (+ 1 $bias$1) 0) (not (= 3 0)))) + (a!8 (and (not $x$2) + (or (>= $bias$1 3) (<= $bias$1 (- 1)) $bias_max$1) + (or (not (= $state$1 0)) (not $x$2)) + (or (not (= $state$1 0)) $x$2))) + (a!9 (= $bias_max$4 + (or $bias_max$1 + (>= (+ (- 1) $bias$1) 2) + (<= (+ (- 1) $bias$1) (- 0 2))))) + (a!10 (or (not (= 3 0)) (= (+ (- 1) $bias$1) 0)))) +(let ((a!11 (ite a!8 + (and (= $bias$4 (+ (- 1) $bias$1)) + a!9 + (= $prop1$4 a!10) + (= $state$4 3) + (= $prop2$4 a!3) + (= $prop3$4 a!4) + (= $prop4$4 true) + (= $prop_all$4 (and true a!4 a!3 a!10))) + true))) +(let ((a!12 (ite a!5 + (and (= $bias$4 (+ 1 $bias$1)) + a!6 + (= $prop1$4 a!7) + (= $state$4 3) + (= $prop2$4 a!3) + (= $prop3$4 a!4) + (= $prop4$4 true) + (= $prop_all$4 (and true a!4 a!3 a!7))) + a!11))) + (ite a!1 + (and (= $bias$4 0) + a!2 + (= $prop1$4 true) + (= $state$4 3) + (= $prop2$4 a!3) + (= $prop3$4 a!4) + (= $prop4$4 true) + (= $prop_all$4 (and true a!4 true a!3))) + a!12))))) +(check-sat) diff --git a/bench/skolems/example_extend_skolem.smt2 b/bench/skolems/example_extend_skolem.smt2 new file mode 100644 index 000000000..dc815c759 --- /dev/null +++ b/bench/skolems/example_extend_skolem.smt2 @@ -0,0 +1,103 @@ +(declare-fun $prop3$3 () Bool) +(declare-fun $prop2$3 () Bool) +(declare-fun $prop1$3 () Bool) +(declare-fun $state$3 () Int) +(declare-fun $prop4$3 () Bool) +(declare-fun $bias$3 () Int) +(declare-fun $prop_all$3 () Bool) +(declare-fun $bias_max$0 () Bool) +(declare-fun $bias_max$3 () Bool) +(declare-fun $state$0 () Int) +(declare-fun $x$1 () Bool) +(declare-fun $bias$0 () Int) + +(assert (let ((a!1 (and (not $x$1) + (not (<= 3 $bias$0)) + (not (<= $bias$0 (- 1))) + (not $bias_max$0) + (or (not (= $state$0 0)) (not $x$1)) + (or (not (= $state$0 0)) $x$1))) + (a!2 (or $bias_max$0 + (>= (+ (- 1) $bias$0) 2) + (<= (+ (- 1) $bias$0) (- 0 2)))) + (a!3 (or (= (+ (- 1) $bias$0) 0) (not (= 3 0)))) + (a!4 (or (not (and (= $state$0 0) $x$1)) (= 3 2))) + (a!5 (or (not (and (= $state$0 0) (not $x$1))) (= 3 1))) + (a!7 (and (not $x$1) + (not (<= 3 $bias$0)) + (not (<= $bias$0 (- 1))) + (not $bias_max$0) + (or (not (= $state$0 0)) (not $x$1)))) + (a!8 (or (= (+ (- 1) $bias$0) 0) (not (= 1 0)))) + (a!9 (or (not (and (= $state$0 0) $x$1)) (= 1 2))) + (a!12 (and (not $x$1) + (or (>= $bias$0 3) (<= $bias$0 (- 1)) $bias_max$0) + (or (not (= $state$0 0)) (not $x$1)) + (or (not (= $state$0 0)) $x$1))) + (a!13 (and (or (and $x$1 (= $bias$0 (- 1))) + (and (not $x$1) (= $bias$0 1))) + (not $bias_max$0) + (or (not (= $state$0 0)) (not $x$1)) + (or (not (= $state$0 0)) $x$1))) + (a!14 (= $bias_max$3 (or $bias_max$0 (>= 0 2) (<= 0 (- 0 2))))) + (a!15 (and $x$1 + (or (>= $bias$0 1) (<= $bias$0 (- 3)) $bias_max$0) + (or (not (= $state$0 0)) (not $x$1)) + (or (not (= $state$0 0)) $x$1))) + (a!16 (or $bias_max$0 (>= (+ 1 $bias$0) 2) (<= (+ 1 $bias$0) (- 0 2)))) + (a!17 (or (not (= 3 0)) (= (+ 1 $bias$0) 0))) + (a!18 (and $x$1 + (not (<= 1 $bias$0)) + (not (<= $bias$0 (- 3))) + (not $bias_max$0) + (or (not (= $state$0 0)) $x$1))) + (a!19 (or (= (+ 1 $bias$0) 0) (not (= 2 0)))) + (a!20 (or (not (and (= $state$0 0) (not $x$1))) (= 2 1)))) +(let ((a!6 (and (= $bias$3 (+ (- 1) $bias$0)) + (= $bias_max$3 a!2) + (= $prop1$3 a!3) + (= $state$3 3) + (= $prop2$3 a!4) + (= $prop3$3 a!5) + (= $prop4$3 true) + (= $prop_all$3 (and true a!5 a!3 a!4)))) + (a!10 (= $prop_all$3 (and (or (not a!2) (= 1 3)) true a!8 a!9))) + (a!21 (= $prop_all$3 (and (or (not a!16) (= 2 3)) a!20 true a!19)))) +(let ((a!11 (and (= $bias$3 (+ (- 1) $bias$0)) + (= $bias_max$3 a!2) + (= $prop1$3 a!8) + (= $state$3 1) + (= $prop2$3 a!9) + (= $prop3$3 true) + (= $prop4$3 (or (not a!2) (= 1 3))) + a!10)) + (a!22 (and (= $bias$3 (+ 1 $bias$0)) + (= $bias_max$3 a!16) + (= $prop1$3 a!19) + (= $state$3 2) + (= $prop2$3 true) + (= $prop3$3 a!20) + (= $prop4$3 (or (not a!16) (= 2 3))) + a!21))) +(let ((a!23 (ite a!15 + (and (= $bias$3 (+ 1 $bias$0)) + (= $bias_max$3 a!16) + (= $prop1$3 a!17) + (= $state$3 3) + (= $prop2$3 a!4) + (= $prop3$3 a!5) + (= $prop4$3 true) + (= $prop_all$3 (and true a!5 a!4 a!17))) + (ite a!18 a!22 true)))) +(let ((a!24 (ite a!13 + (and (= $bias$3 0) + a!14 + (= $prop1$3 true) + (= $state$3 3) + (= $prop2$3 a!4) + (= $prop3$3 a!5) + (= $prop4$3 true) + (= $prop_all$3 (and true a!5 true a!4))) + a!23))) + (ite a!1 a!6 (ite a!7 a!11 (ite a!12 a!6 a!24))))))))) +(check-sat) diff --git a/bench/skolems/fast_1_e7_2044_e8_1396_base_skolem.smt2 b/bench/skolems/fast_1_e7_2044_e8_1396_base_skolem.smt2 new file mode 100644 index 000000000..7fbd91717 --- /dev/null +++ b/bench/skolems/fast_1_e7_2044_e8_1396_base_skolem.smt2 @@ -0,0 +1,5 @@ +(declare-fun $V83_cca$2 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $V83_cca$2 true))) +(check-sat) diff --git a/bench/skolems/fast_1_e7_2044_e8_1396_extend_skolem.smt2 b/bench/skolems/fast_1_e7_2044_e8_1396_extend_skolem.smt2 new file mode 100644 index 000000000..99845e7a7 --- /dev/null +++ b/bench/skolems/fast_1_e7_2044_e8_1396_extend_skolem.smt2 @@ -0,0 +1,15 @@ +(declare-fun $ccr$0 () Bool) +(declare-fun $V83_cca$2 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun %init () Bool) +(declare-fun $ccseti$~1 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (let ((a!1 (or (ite %init false (and $ccseti$0 (not $ccseti$~1))) + (ite %init false (and $ccsetd$0 (not $ccsetd$~1))) + (ite %init false (and $ccr$0 (not $ccr$~1)))))) + (and (= $OK$2 (ite (ite %init false false) a!1 true)) (= $V83_cca$2 false)))) +(check-sat) diff --git a/bench/skolems/fast_1_e8_747_base1_skolem.smt2 b/bench/skolems/fast_1_e8_747_base1_skolem.smt2 new file mode 100644 index 000000000..7fbd91717 --- /dev/null +++ b/bench/skolems/fast_1_e8_747_base1_skolem.smt2 @@ -0,0 +1,5 @@ +(declare-fun $V83_cca$2 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $V83_cca$2 true))) +(check-sat) diff --git a/bench/skolems/fast_1_e8_747_base2_skolem.smt2 b/bench/skolems/fast_1_e8_747_base2_skolem.smt2 new file mode 100644 index 000000000..86b908261 --- /dev/null +++ b/bench/skolems/fast_1_e8_747_base2_skolem.smt2 @@ -0,0 +1,14 @@ +(declare-fun $ccr$0 () Bool) +(declare-fun $V83_cca$3 () Bool) +(declare-fun $OK$3 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccsetd$1 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccr$1 () Bool) +(declare-fun $ccseti$1 () Bool) + +(assert (let ((a!1 (or (ite false false (and $ccseti$1 (not $ccseti$0))) + (ite false false (and $ccsetd$1 (not $ccsetd$0))) + (ite false false (and $ccr$1 (not $ccr$0)))))) + (and (= $OK$3 (ite false a!1 true)) (= $V83_cca$3 false)))) +(check-sat) diff --git a/bench/skolems/fast_1_e8_747_e8_1041_base_skolem.smt2 b/bench/skolems/fast_1_e8_747_e8_1041_base_skolem.smt2 new file mode 100644 index 000000000..7fbd91717 --- /dev/null +++ b/bench/skolems/fast_1_e8_747_e8_1041_base_skolem.smt2 @@ -0,0 +1,5 @@ +(declare-fun $V83_cca$2 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $V83_cca$2 true))) +(check-sat) diff --git a/bench/skolems/fast_1_e8_747_e8_1041_extend_skolem.smt2 b/bench/skolems/fast_1_e8_747_e8_1041_extend_skolem.smt2 new file mode 100644 index 000000000..b62b3ad67 --- /dev/null +++ b/bench/skolems/fast_1_e8_747_e8_1041_extend_skolem.smt2 @@ -0,0 +1,15 @@ +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $V83_cca$2 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun %init () Bool) +(declare-fun $OK$2 () Bool) + +(assert (let ((a!1 (or (ite %init false (and $ccseti$0 (not $ccseti$~1))) + (ite %init false (and $ccsetd$0 (not $ccsetd$~1))) + (ite %init false (and $ccr$0 (not $ccr$~1)))))) + (and (= $OK$2 (ite (ite %init false false) a!1 true)) (= $V83_cca$2 false)))) +(check-sat) diff --git a/bench/skolems/fast_1_e8_747_extend_skolem.smt2 b/bench/skolems/fast_1_e8_747_extend_skolem.smt2 new file mode 100644 index 000000000..99845e7a7 --- /dev/null +++ b/bench/skolems/fast_1_e8_747_extend_skolem.smt2 @@ -0,0 +1,15 @@ +(declare-fun $ccr$0 () Bool) +(declare-fun $V83_cca$2 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun %init () Bool) +(declare-fun $ccseti$~1 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (let ((a!1 (or (ite %init false (and $ccseti$0 (not $ccseti$~1))) + (ite %init false (and $ccsetd$0 (not $ccsetd$~1))) + (ite %init false (and $ccr$0 (not $ccr$~1)))))) + (and (= $OK$2 (ite (ite %init false false) a!1 true)) (= $V83_cca$2 false)))) +(check-sat) diff --git a/bench/skolems/fast_2_e7_2526_e8_1145_base1_skolem.smt2 b/bench/skolems/fast_2_e7_2526_e8_1145_base1_skolem.smt2 new file mode 100644 index 000000000..9322e9799 --- /dev/null +++ b/bench/skolems/fast_2_e7_2526_e8_1145_base1_skolem.smt2 @@ -0,0 +1,37 @@ +(declare-fun $V87_cca$2 () Bool) +(declare-fun $V84_p3$2 () Bool) +(declare-fun $V86_ccont$2 () Bool) +(declare-fun $V82_p1$2 () Bool) +(declare-fun $cccanc$0 () Bool) +(declare-fun $sdok$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $accok$0 () Bool) +(declare-fun $sdok$0 () Bool) +(declare-fun $qfok$0 () Bool) +(declare-fun $battok$0 () Bool) +(declare-fun $V85_p4$2 () Bool) +(declare-fun $bpa$0 () Bool) +(declare-fun $V83_p2$2 () Bool) +(declare-fun $gearok$0 () Bool) +(declare-fun $vs$0 () Int) +(declare-fun $OK$2 () Bool) + +(assert (let ((a!1 (not (and true + (not $bpa$0) + $battok$0 + $gearok$0 + $qfok$0 + (ite true false (and $sdok$~1 $sdok$0)) + (<= 35 $vs$0) + (<= $vs$0 200) + (ite true false (and $~flatten0$~1 $accok$0)) + (not $cccanc$0))))) +(let ((a!2 (= $OK$2 (and true true true (ite a!1 (not false) true))))) + (and a!2 + (= $V82_p1$2 true) + (= $V83_p2$2 (ite a!1 (not false) true)) + (= $V84_p3$2 true) + (= $V85_p4$2 true) + (= $V87_cca$2 false) + (= $V86_ccont$2 true))))) +(check-sat) diff --git a/bench/skolems/fast_2_e7_2526_e8_1145_base2_skolem.smt2 b/bench/skolems/fast_2_e7_2526_e8_1145_base2_skolem.smt2 new file mode 100644 index 000000000..52a68497f --- /dev/null +++ b/bench/skolems/fast_2_e7_2526_e8_1145_base2_skolem.smt2 @@ -0,0 +1,66 @@ +(declare-fun $V85_p4$3 () Bool) +(declare-fun $V83_p2$3 () Bool) +(declare-fun $V86_ccont$3 () Bool) +(declare-fun $cccanc$1 () Bool) +(declare-fun $V87_cca$3 () Bool) +(declare-fun $~flatten0$0 () Bool) +(declare-fun $sdok$1 () Bool) +(declare-fun $accok$1 () Bool) +(declare-fun $qfok$1 () Bool) +(declare-fun $sdok$0 () Bool) +(declare-fun $OK$3 () Bool) +(declare-fun $gearok$1 () Bool) +(declare-fun $cconoff$0 () Bool) +(declare-fun $ccd$1 () Bool) +(declare-fun $bpa$1 () Bool) +(declare-fun $battok$1 () Bool) +(declare-fun $igsw$0 () Bool) +(declare-fun $vs$1 () Int) +(declare-fun $V86_ccont$0 () Bool) +(declare-fun $V82_p1$3 () Bool) +(declare-fun $igsw$1 () Bool) +(declare-fun $V84_p3$3 () Bool) +(declare-fun $cconoff$1 () Bool) + +(assert (let ((a!1 (not (or (and $igsw$1 (not $igsw$0)) (and (not $igsw$1) $igsw$0)))) + (a!2 (not (and true + (not $bpa$1) + $battok$1 + $gearok$1 + $qfok$1 + (ite false false (and $sdok$0 $sdok$1)) + (<= 35 $vs$1) + (<= $vs$1 200) + (ite false false (and $~flatten0$0 $accok$1)) + (not $cccanc$1)))) + (a!3 (ite false + false + (or (and $igsw$1 (not $igsw$0)) (and (not $igsw$1) $igsw$0)))) + (a!5 (ite (or (and (not $igsw$0) $igsw$1) (and $igsw$0 (not $igsw$1))) + (not false) + true))) +(let ((a!4 (and (not a!3) + (not $ccd$1) + (ite false false (and $cconoff$1 (not $cconoff$0)))))) +(let ((a!6 (and true + (ite a!2 (not false) true) + (ite (and true (not $V86_ccont$0)) a!4 true) + a!5)) + (a!7 (= $V84_p3$3 (ite (and true (not $V86_ccont$0)) a!4 true)))) +(let ((a!8 (and (= $OK$3 a!6) + (= $V82_p1$3 true) + (= $V83_p2$3 (ite a!2 (not false) true)) + a!7 + (= $V85_p4$3 a!5) + (= $V87_cca$3 false) + (= $V86_ccont$3 true)))) + (ite (or $V86_ccont$0 (and a!1 (not $ccd$1) $cconoff$1 (not $cconoff$0))) + a!8 + (and (= $OK$3 (and true a!5)) + (= $V82_p1$3 true) + (= $V83_p2$3 true) + (= $V84_p3$3 true) + (= $V85_p4$3 a!5) + (= $V87_cca$3 false) + (= $V86_ccont$3 false)))))))) +(check-sat) diff --git a/bench/skolems/fast_2_e7_2526_e8_1145_extend_skolem.smt2 b/bench/skolems/fast_2_e7_2526_e8_1145_extend_skolem.smt2 new file mode 100644 index 000000000..c13373541 --- /dev/null +++ b/bench/skolems/fast_2_e7_2526_e8_1145_extend_skolem.smt2 @@ -0,0 +1,72 @@ +(declare-fun $V85_p4$2 () Bool) +(declare-fun $V83_p2$2 () Bool) +(declare-fun $V82_p1$2 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $V87_cca$2 () Bool) +(declare-fun $cccanc$0 () Bool) +(declare-fun $sdok$0 () Bool) +(declare-fun $cconoff$0 () Bool) +(declare-fun $vs$0 () Int) +(declare-fun $qfok$0 () Bool) +(declare-fun %init () Bool) +(declare-fun $battok$0 () Bool) +(declare-fun $cconoff$~1 () Bool) +(declare-fun $igsw$~1 () Bool) +(declare-fun $bpa$0 () Bool) +(declare-fun $V84_p3$2 () Bool) +(declare-fun $sdok$~1 () Bool) +(declare-fun $ccd$0 () Bool) +(declare-fun $gearok$0 () Bool) +(declare-fun $accok$0 () Bool) +(declare-fun $igsw$0 () Bool) +(declare-fun $V86_ccont$2 () Bool) +(declare-fun $V86_ccont$~1 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (let ((a!1 (and (not %init) + (or (and $igsw$0 (not $igsw$~1)) (and (not $igsw$0) $igsw$~1)))) + (a!3 (not (and true + (not $bpa$0) + $battok$0 + $gearok$0 + $qfok$0 + (ite %init false (and $sdok$~1 $sdok$0)) + (<= 35 $vs$0) + (<= $vs$0 200) + (ite %init false (and $~flatten0$~1 $accok$0)) + (not $cccanc$0)))) + (a!4 (ite %init + false + (or (and $igsw$0 (not $igsw$~1)) (and (not $igsw$0) $igsw$~1))))) +(let ((a!2 (or (not (and (not %init) (not $V86_ccont$~1))) + (and (not a!1) + (not $ccd$0) + (not %init) + $cconoff$0 + (not $cconoff$~1)))) + (a!5 (and (not a!4) + (not $ccd$0) + (ite %init false (and $cconoff$0 (not $cconoff$~1))))) + (a!9 (= $OK$2 (and true (ite a!4 (not false) true))))) +(let ((a!6 (ite (ite %init false (and true (not $V86_ccont$~1))) a!5 true)) + (a!10 (and a!9 + (= $V82_p1$2 true) + (= $V83_p2$2 true) + (= $V84_p3$2 true) + (= $V85_p4$2 (ite a!4 (not false) true)) + (= $V87_cca$2 false) + (= $V86_ccont$2 false)))) +(let ((a!7 (= $OK$2 + (and true + (ite a!3 (not false) true) + a!6 + (ite a!4 (not false) true))))) +(let ((a!8 (and a!7 + (= $V82_p1$2 true) + (= $V83_p2$2 (ite a!3 (not false) true)) + (= $V84_p3$2 a!6) + (= $V85_p4$2 (ite a!4 (not false) true)) + (= $V87_cca$2 false) + (= $V86_ccont$2 true)))) + (ite a!2 a!8 a!10))))))) +(check-sat) diff --git a/bench/skolems/fast_2_e8_460_base_skolem.smt2 b/bench/skolems/fast_2_e8_460_base_skolem.smt2 new file mode 100644 index 000000000..8e885351a --- /dev/null +++ b/bench/skolems/fast_2_e8_460_base_skolem.smt2 @@ -0,0 +1,37 @@ +(declare-fun $V85_p4$2 () Bool) +(declare-fun $V84_p3$2 () Bool) +(declare-fun $V83_p2$2 () Bool) +(declare-fun $V82_p1$2 () Bool) +(declare-fun $cccanc$0 () Bool) +(declare-fun $accok$0 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $vs$0 () Int) +(declare-fun $sdok$0 () Bool) +(declare-fun $sdok$~1 () Bool) +(declare-fun $V87_cca$2 () Bool) +(declare-fun $battok$0 () Bool) +(declare-fun $V86_ccont$2 () Bool) +(declare-fun $qfok$0 () Bool) +(declare-fun $gearok$0 () Bool) +(declare-fun $bpa$0 () Bool) + +(assert (let ((a!1 (not (and true + (not $bpa$0) + $battok$0 + $gearok$0 + $qfok$0 + (ite true false (and $sdok$~1 $sdok$0)) + (<= 35 $vs$0) + (<= $vs$0 200) + (ite true false (and $~flatten0$~1 $accok$0)) + (not $cccanc$0))))) +(let ((a!2 (= $OK$2 (and true true true (ite a!1 (not false) true))))) + (and a!2 + (= $V82_p1$2 true) + (= $V83_p2$2 (ite a!1 (not false) true)) + (= $V84_p3$2 true) + (= $V85_p4$2 true) + (= $V87_cca$2 false) + (= $V86_ccont$2 true))))) +(check-sat) diff --git a/bench/skolems/fast_2_e8_460_e8_1920_base_skolem.smt2 b/bench/skolems/fast_2_e8_460_e8_1920_base_skolem.smt2 new file mode 100644 index 000000000..2f215edf5 --- /dev/null +++ b/bench/skolems/fast_2_e8_460_e8_1920_base_skolem.smt2 @@ -0,0 +1,37 @@ +(declare-fun $V86_ccont$2 () Bool) +(declare-fun $V87_cca$2 () Bool) +(declare-fun $V84_p3$2 () Bool) +(declare-fun $V83_p2$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $gearok$0 () Bool) +(declare-fun $cccanc$0 () Bool) +(declare-fun $V85_p4$2 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $accok$0 () Bool) +(declare-fun $vs$0 () Int) +(declare-fun $sdok$0 () Bool) +(declare-fun $battok$0 () Bool) +(declare-fun $sdok$~1 () Bool) +(declare-fun $V82_p1$2 () Bool) +(declare-fun $qfok$0 () Bool) +(declare-fun $bpa$0 () Bool) + +(assert (let ((a!1 (not (and true + (not $bpa$0) + $battok$0 + $gearok$0 + $qfok$0 + (ite true false (and $sdok$~1 $sdok$0)) + (<= 35 $vs$0) + (<= $vs$0 200) + (ite true false (and $~flatten0$~1 $accok$0)) + (not $cccanc$0))))) +(let ((a!2 (= $OK$2 (and true true true (ite a!1 (not false) true))))) + (and a!2 + (= $V82_p1$2 true) + (= $V83_p2$2 (ite a!1 (not false) true)) + (= $V84_p3$2 true) + (= $V85_p4$2 true) + (= $V87_cca$2 false) + (= $V86_ccont$2 true))))) +(check-sat) diff --git a/bench/skolems/fast_2_e8_460_e8_1920_extend_skolem.smt2 b/bench/skolems/fast_2_e8_460_e8_1920_extend_skolem.smt2 new file mode 100644 index 000000000..144702f93 --- /dev/null +++ b/bench/skolems/fast_2_e8_460_e8_1920_extend_skolem.smt2 @@ -0,0 +1,24 @@ +(declare-fun $V87_cca$2 () Bool) +(declare-fun $V83_p2$2 () Bool) +(declare-fun $V86_ccont$2 () Bool) +(declare-fun $V82_p1$2 () Bool) +(declare-fun $igsw$~1 () Bool) +(declare-fun $igsw$0 () Bool) +(declare-fun $V85_p4$2 () Bool) +(declare-fun $V84_p3$2 () Bool) +(declare-fun %init () Bool) +(declare-fun $OK$2 () Bool) + +(assert (let ((a!1 (ite (ite %init + false + (and $igsw$0 (not $igsw$~1) (not $igsw$0) $igsw$~1)) + (not false) + true))) + (and (= $OK$2 (and true a!1)) + (= $V82_p1$2 true) + (= $V83_p2$2 true) + (= $V84_p3$2 true) + (= $V85_p4$2 a!1) + (= $V87_cca$2 false) + (= $V86_ccont$2 false)))) +(check-sat) diff --git a/bench/skolems/fast_2_e8_460_extend_skolem.smt2 b/bench/skolems/fast_2_e8_460_extend_skolem.smt2 new file mode 100644 index 000000000..073d738d7 --- /dev/null +++ b/bench/skolems/fast_2_e8_460_extend_skolem.smt2 @@ -0,0 +1,24 @@ +(declare-fun $V86_ccont$2 () Bool) +(declare-fun $V87_cca$2 () Bool) +(declare-fun $V84_p3$2 () Bool) +(declare-fun $V82_p1$2 () Bool) +(declare-fun $igsw$~1 () Bool) +(declare-fun %init () Bool) +(declare-fun $V85_p4$2 () Bool) +(declare-fun $V83_p2$2 () Bool) +(declare-fun $igsw$0 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (let ((a!1 (ite (ite %init + false + (and $igsw$0 (not $igsw$~1) (not $igsw$0) $igsw$~1)) + (not false) + true))) + (and (= $OK$2 (and true a!1)) + (= $V82_p1$2 true) + (= $V83_p2$2 true) + (= $V84_p3$2 true) + (= $V85_p4$2 a!1) + (= $V87_cca$2 false) + (= $V86_ccont$2 false)))) +(check-sat) diff --git a/bench/skolems/hysteresis_1_base_skolem.smt2 b/bench/skolems/hysteresis_1_base_skolem.smt2 new file mode 100644 index 000000000..437754233 --- /dev/null +++ b/bench/skolems/hysteresis_1_base_skolem.smt2 @@ -0,0 +1,6 @@ +(declare-fun $V20_early$2 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $V19_late$2 false) (= $V20_early$2 true))) +(check-sat) diff --git a/bench/skolems/hysteresis_1_extend_skolem.smt2 b/bench/skolems/hysteresis_1_extend_skolem.smt2 new file mode 100644 index 000000000..437754233 --- /dev/null +++ b/bench/skolems/hysteresis_1_extend_skolem.smt2 @@ -0,0 +1,6 @@ +(declare-fun $V20_early$2 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $V19_late$2 false) (= $V20_early$2 true))) +(check-sat) diff --git a/bench/skolems/hysteresis_2_base_skolem.smt2 b/bench/skolems/hysteresis_2_base_skolem.smt2 new file mode 100644 index 000000000..5aa6b3923 --- /dev/null +++ b/bench/skolems/hysteresis_2_base_skolem.smt2 @@ -0,0 +1,5 @@ +(declare-fun $V19_late$2 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $V19_late$2 true))) +(check-sat) diff --git a/bench/skolems/hysteresis_2_extend_skolem.smt2 b/bench/skolems/hysteresis_2_extend_skolem.smt2 new file mode 100644 index 000000000..9f6554447 --- /dev/null +++ b/bench/skolems/hysteresis_2_extend_skolem.smt2 @@ -0,0 +1,6 @@ +(declare-fun $V19_late$2 () Bool) +(declare-fun %init () Bool) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 (ite %init true (not false))) (= $V19_late$2 false))) +(check-sat) diff --git a/bench/skolems/hysteresis_3_base_skolem.smt2 b/bench/skolems/hysteresis_3_base_skolem.smt2 new file mode 100644 index 000000000..9d2f6672d --- /dev/null +++ b/bench/skolems/hysteresis_3_base_skolem.smt2 @@ -0,0 +1,5 @@ +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $V20_early$2 true))) +(check-sat) diff --git a/bench/skolems/hysteresis_3_extend_skolem.smt2 b/bench/skolems/hysteresis_3_extend_skolem.smt2 new file mode 100644 index 000000000..865fa169d --- /dev/null +++ b/bench/skolems/hysteresis_3_extend_skolem.smt2 @@ -0,0 +1,6 @@ +(declare-fun $V20_early$2 () Bool) +(declare-fun %init () Bool) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 (ite %init true (not false))) (= $V20_early$2 false))) +(check-sat) diff --git a/bench/skolems/hysteresis_all_base_skolem.smt2 b/bench/skolems/hysteresis_all_base_skolem.smt2 new file mode 100644 index 000000000..437754233 --- /dev/null +++ b/bench/skolems/hysteresis_all_base_skolem.smt2 @@ -0,0 +1,6 @@ +(declare-fun $V20_early$2 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $V19_late$2 false) (= $V20_early$2 true))) +(check-sat) diff --git a/bench/skolems/hysteresis_all_extend_skolem.smt2 b/bench/skolems/hysteresis_all_extend_skolem.smt2 new file mode 100644 index 000000000..a7f1a651c --- /dev/null +++ b/bench/skolems/hysteresis_all_extend_skolem.smt2 @@ -0,0 +1,11 @@ +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun %init () Bool) +(declare-fun $OK$2 () Bool) + +(assert (let ((a!1 (= $OK$2 + (and (not false) + (ite %init true (not false)) + (ite %init true (not false)))))) + (and a!1 (= $V19_late$2 false) (= $V20_early$2 false)))) +(check-sat) diff --git a/bench/skolems/newexample_base1_skolem.smt2 b/bench/skolems/newexample_base1_skolem.smt2 new file mode 100644 index 000000000..b3b84eb20 --- /dev/null +++ b/bench/skolems/newexample_base1_skolem.smt2 @@ -0,0 +1,23 @@ +(declare-fun $guarantee_all$2 () Bool) +(declare-fun $guarantee5$2 () Bool) +(declare-fun $guarantee4$2 () Bool) +(declare-fun $guarantee3$2 () Bool) +(declare-fun $guarantee2$2 () Bool) +(declare-fun $bias_max$2 () Bool) +(declare-fun $state$2 () Int) +(declare-fun $guarantee1$2 () Bool) +(declare-fun $bias$2 () Int) +(declare-fun $x$0 () Int) + +(assert (ite (or (= $x$0 0) (= $x$0 1)) + (and (= $bias$2 0) + (= $bias_max$2 false) + (= $guarantee1$2 true) + (= $state$2 3) + (= $guarantee2$2 true) + (= $guarantee3$2 true) + (= $guarantee4$2 true) + (= $guarantee5$2 true) + (= $guarantee_all$2 true)) + true)) +(check-sat) diff --git a/bench/skolems/newexample_base2_skolem.smt2 b/bench/skolems/newexample_base2_skolem.smt2 new file mode 100644 index 000000000..189b0aa85 --- /dev/null +++ b/bench/skolems/newexample_base2_skolem.smt2 @@ -0,0 +1,56 @@ +(declare-fun $guarantee_all$3 () Bool) +(declare-fun $guarantee5$3 () Bool) +(declare-fun $guarantee4$3 () Bool) +(declare-fun $state$3 () Int) +(declare-fun $guarantee2$3 () Bool) +(declare-fun $state$0 () Int) +(declare-fun $bias_max$0 () Bool) +(declare-fun $guarantee3$3 () Bool) +(declare-fun $guarantee1$3 () Bool) +(declare-fun $bias_max$3 () Bool) +(declare-fun $bias$3 () Int) +(declare-fun $x$1 () Int) +(declare-fun $bias$0 () Int) + +(assert (let ((a!1 (and (= $x$1 1) + (not (<= 1 $bias$0)) + (not (<= $bias$0 (- 3))) + (not $bias_max$0) + (or (not (= $state$0 0)) (not (= $x$1 0))) + (or (= $x$1 0) (= $x$1 1)))) + (a!2 (or $bias_max$0 (>= (+ 1 $bias$0) 2) (<= (+ 1 $bias$0) (- 0 2)))) + (a!3 (or (= (+ 1 $bias$0) 0) (not (= 2 0)))) + (a!4 (or (not (and (= $state$0 0) (= $x$1 0))) (= 2 1))) + (a!7 (and (not (= $x$1 1)) + (not (<= 3 $bias$0)) + (not (<= $bias$0 (- 1))) + (not $bias_max$0) + (or (not (= $state$0 0)) (not (= $x$1 1))) + (or (= $x$1 0) (= $x$1 1)))) + (a!8 (or $bias_max$0 + (>= (+ (- 1) $bias$0) 2) + (<= (+ (- 1) $bias$0) (- 0 2)))) + (a!9 (or (= (+ (- 1) $bias$0) 0) (not (= 1 0)))) + (a!10 (or (not (and (= $state$0 0) (= $x$1 1))) (= 1 2)))) +(let ((a!5 (= $guarantee_all$3 (and true (or (not a!2) (= 2 3)) a!4 true a!3))) + (a!11 (= $guarantee_all$3 (and true (or (not a!8) (= 1 3)) true a!9 a!10)))) +(let ((a!6 (and (= $bias$3 (+ 1 $bias$0)) + (= $bias_max$3 a!2) + (= $guarantee1$3 a!3) + (= $state$3 2) + (= $guarantee2$3 true) + (= $guarantee3$3 a!4) + (= $guarantee4$3 (or (not a!2) (= 2 3))) + (= $guarantee5$3 true) + a!5)) + (a!12 (and (= $bias$3 (+ (- 1) $bias$0)) + (= $bias_max$3 a!8) + (= $guarantee1$3 a!9) + (= $state$3 1) + (= $guarantee2$3 a!10) + (= $guarantee3$3 true) + (= $guarantee4$3 (or (not a!8) (= 1 3))) + (= $guarantee5$3 true) + a!11))) + (ite a!1 a!6 (ite a!7 a!12 true)))))) +(check-sat) diff --git a/bench/skolems/newexample_base3_skolem.smt2 b/bench/skolems/newexample_base3_skolem.smt2 new file mode 100644 index 000000000..6dff6ef09 --- /dev/null +++ b/bench/skolems/newexample_base3_skolem.smt2 @@ -0,0 +1,78 @@ +(declare-fun $guarantee5$4 () Bool) +(declare-fun $bias$1 () Int) +(declare-fun $guarantee4$4 () Bool) +(declare-fun $guarantee1$4 () Bool) +(declare-fun $bias_max$4 () Bool) +(declare-fun $bias$4 () Int) +(declare-fun $state$1 () Int) +(declare-fun $x$2 () Int) +(declare-fun $guarantee2$4 () Bool) +(declare-fun $bias_max$1 () Bool) +(declare-fun $guarantee3$4 () Bool) +(declare-fun $guarantee_all$4 () Bool) +(declare-fun $state$4 () Int) + +(assert (let ((a!1 (or (and (= $x$2 1) (= $bias$1 (- 1))) + (and (not (= $x$2 1)) (= $bias$1 1)))) + (a!3 (or $bias_max$1 (>= 0 2) (<= 0 (- 0 2)))) + (a!4 (or (not (and (= $state$1 0) (= $x$2 1))) (= 0 2))) + (a!5 (or (not (and (= $state$1 0) (= $x$2 0))) (= 0 1))) + (a!8 (and (= $x$2 1) + (or (>= $bias$1 1) (<= $bias$1 (- 3)) $bias_max$1) + (or (not (= $state$1 0)) (not (= $x$2 1))) + (or (not (= $state$1 0)) (not (= $x$2 0))) + (or (= $x$2 0) (= $x$2 1)))) + (a!9 (= $bias_max$4 + (or $bias_max$1 (>= (+ 1 $bias$1) 2) (<= (+ 1 $bias$1) (- 0 2))))) + (a!10 (or (= (+ 1 $bias$1) 0) (not (= 3 0)))) + (a!11 (or (not (and (= $state$1 0) (= $x$2 1))) (= 3 2))) + (a!12 (or (not (and (= $state$1 0) (= $x$2 0))) (= 3 1))) + (a!13 (and (not (= $x$2 1)) + (or (>= $bias$1 3) (<= $bias$1 (- 1)) $bias_max$1) + (or (not (= $state$1 0)) (not (= $x$2 1))) + (or (not (= $state$1 0)) (not (= $x$2 0))) + (or (= $x$2 0) (= $x$2 1)))) + (a!14 (= $bias_max$4 + (or $bias_max$1 + (>= (+ (- 1) $bias$1) 2) + (<= (+ (- 1) $bias$1) (- 0 2))))) + (a!15 (or (not (= 3 0)) (= (+ (- 1) $bias$1) 0)))) +(let ((a!2 (and a!1 + (not $bias_max$1) + (or (not (= $state$1 0)) (not (= $x$2 1))) + (or (not (= $state$1 0)) (not (= $x$2 0))) + (or (= $x$2 0) (= $x$2 1)))) + (a!6 (= $guarantee_all$4 (and true (or (not a!3) (= 0 3)) a!5 true a!4))) + (a!16 (ite a!13 + (and (= $bias$4 (+ (- 1) $bias$1)) + a!14 + (= $guarantee1$4 a!15) + (= $state$4 3) + (= $guarantee2$4 a!11) + (= $guarantee3$4 a!12) + (= $guarantee4$4 true) + (= $guarantee5$4 true) + (= $guarantee_all$4 (and true true a!12 a!11 a!15))) + true))) +(let ((a!7 (and (= $bias$4 0) + (= $bias_max$4 a!3) + (= $guarantee1$4 true) + (= $state$4 0) + (= $guarantee2$4 a!4) + (= $guarantee3$4 a!5) + (= $guarantee4$4 (or (not a!3) (= 0 3))) + (= $guarantee5$4 true) + a!6)) + (a!17 (ite a!8 + (and (= $bias$4 (+ 1 $bias$1)) + a!9 + (= $guarantee1$4 a!10) + (= $state$4 3) + (= $guarantee2$4 a!11) + (= $guarantee3$4 a!12) + (= $guarantee4$4 true) + (= $guarantee5$4 true) + (= $guarantee_all$4 (and true true a!12 a!10 a!11))) + a!16))) + (ite a!2 a!7 a!17))))) +(check-sat) diff --git a/bench/skolems/newexample_extend_skolem.smt2 b/bench/skolems/newexample_extend_skolem.smt2 new file mode 100644 index 000000000..b48184448 --- /dev/null +++ b/bench/skolems/newexample_extend_skolem.smt2 @@ -0,0 +1,93 @@ +(declare-fun $guarantee5$3 () Bool) +(declare-fun $guarantee4$3 () Bool) +(declare-fun $guarantee3$3 () Bool) +(declare-fun $guarantee1$3 () Bool) +(declare-fun $state$0 () Int) +(declare-fun $bias_max$0 () Bool) +(declare-fun $state$3 () Int) +(declare-fun $bias$3 () Int) +(declare-fun $guarantee2$3 () Bool) +(declare-fun $bias$0 () Int) +(declare-fun $bias_max$3 () Bool) +(declare-fun $guarantee_all$3 () Bool) +(declare-fun $x$1 () Int) + +(assert (let ((a!1 (and (= $x$1 1) + (not (<= 1 $bias$0)) + (not (<= $bias$0 (- 3))) + (not $bias_max$0) + (or (not (= $state$0 0)) (not (= $x$1 0))) + (or (= $x$1 0) (= $x$1 1)))) + (a!2 (or $bias_max$0 (>= (+ 1 $bias$0) 2) (<= (+ 1 $bias$0) (- 0 2)))) + (a!3 (or (= (+ 1 $bias$0) 0) (not (= 2 0)))) + (a!4 (or (not (and (= $state$0 0) (= $x$1 0))) (= 2 1))) + (a!7 (and (= $x$1 1) + (or (>= $bias$0 1) (<= $bias$0 (- 3)) $bias_max$0) + (or (not (= $state$0 0)) (not (= $x$1 1))) + (or (not (= $state$0 0)) (not (= $x$1 0))) + (or (= $x$1 0) (= $x$1 1)))) + (a!8 (or (= (+ 1 $bias$0) 0) (not (= 3 0)))) + (a!9 (or (not (and (= $state$0 0) (= $x$1 1))) (= 3 2))) + (a!10 (or (not (and (= $state$0 0) (= $x$1 0))) (= 3 1))) + (a!11 (and (not (= $x$1 1)) + (not (<= 3 $bias$0)) + (not (<= $bias$0 (- 1))) + (not $bias_max$0) + (or (not (= $state$0 0)) (not (= $x$1 1))) + (or (= $x$1 0) (= $x$1 1)))) + (a!12 (or $bias_max$0 + (>= (+ (- 1) $bias$0) 2) + (<= (+ (- 1) $bias$0) (- 0 2)))) + (a!13 (or (= (+ (- 1) $bias$0) 0) (not (= 1 0)))) + (a!14 (or (not (and (= $state$0 0) (= $x$1 1))) (= 1 2))) + (a!17 (and (not (= $x$1 1)) + (or (>= $bias$0 3) (<= $bias$0 (- 1)) $bias_max$0) + (or (not (= $state$0 0)) (not (= $x$1 1))) + (or (not (= $state$0 0)) (not (= $x$1 0))) + (or (= $x$1 0) (= $x$1 1)))) + (a!18 (or (not (= 3 0)) (= (+ (- 1) $bias$0) 0)))) +(let ((a!5 (= $guarantee_all$3 (and true (or (not a!2) (= 2 3)) a!4 true a!3))) + (a!15 (= $guarantee_all$3 + (and true (or (not a!12) (= 1 3)) true a!13 a!14))) + (a!19 (ite a!17 + (and (= $bias$3 (+ (- 1) $bias$0)) + (= $bias_max$3 a!12) + (= $guarantee1$3 a!18) + (= $state$3 3) + (= $guarantee2$3 a!9) + (= $guarantee3$3 a!10) + (= $guarantee4$3 true) + (= $guarantee5$3 true) + (= $guarantee_all$3 (and true true a!10 a!9 a!18))) + true))) +(let ((a!6 (and (= $bias$3 (+ 1 $bias$0)) + (= $bias_max$3 a!2) + (= $guarantee1$3 a!3) + (= $state$3 2) + (= $guarantee2$3 true) + (= $guarantee3$3 a!4) + (= $guarantee4$3 (or (not a!2) (= 2 3))) + (= $guarantee5$3 true) + a!5)) + (a!16 (and (= $bias$3 (+ (- 1) $bias$0)) + (= $bias_max$3 a!12) + (= $guarantee1$3 a!13) + (= $state$3 1) + (= $guarantee2$3 a!14) + (= $guarantee3$3 true) + (= $guarantee4$3 (or (not a!12) (= 1 3))) + (= $guarantee5$3 true) + a!15))) +(let ((a!20 (ite a!7 + (and (= $bias$3 (+ 1 $bias$0)) + (= $bias_max$3 a!2) + (= $guarantee1$3 a!8) + (= $state$3 3) + (= $guarantee2$3 a!9) + (= $guarantee3$3 a!10) + (= $guarantee4$3 true) + (= $guarantee5$3 true) + (= $guarantee_all$3 (and true true a!10 a!8 a!9))) + (ite a!11 a!16 a!19)))) + (ite a!1 a!6 a!20)))))) +(check-sat) diff --git a/bench/skolems/rtp_1_base_skolem.smt2 b/bench/skolems/rtp_1_base_skolem.smt2 new file mode 100644 index 000000000..1497582d4 --- /dev/null +++ b/bench/skolems/rtp_1_base_skolem.smt2 @@ -0,0 +1,115 @@ +(declare-fun $V170_X$2 () Bool) +(declare-fun $V76_erreur$2 () Bool) +(declare-fun $V175_Sofar$2 () Bool) +(declare-fun $e12$0 () Bool) +(declare-fun $e11$0 () Bool) +(declare-fun $e04$0 () Bool) +(declare-fun $e10$0 () Bool) +(declare-fun $e09$0 () Bool) +(declare-fun $e08$0 () Bool) +(declare-fun $e03$0 () Bool) +(declare-fun $e07$0 () Bool) +(declare-fun $e05$0 () Bool) +(declare-fun $e01$0 () Bool) +(declare-fun $e06$0 () Bool) +(declare-fun $e02$0 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (let ((a!1 (and (and (and (not $e01$0) (not $e02$0)) (not $e03$0)) (not $e04$0))) + (a!4 (and (not $e12$0) + (not $e11$0) + (not $e10$0) + (not $e09$0) + (not $e08$0) + (not $e07$0) + (not $e06$0) + (not $e05$0) + (and (and (not $e01$0) (not $e02$0)) (not $e03$0)) + $e04$0))) +(let ((a!2 (and (and (and a!1 (not $e05$0)) (not $e06$0)) (not $e07$0))) + (a!5 (and (not $e12$0) + (not $e11$0) + (not $e10$0) + (not $e09$0) + (not $e08$0) + (and (and a!1 (not $e05$0)) (not $e06$0)) + $e07$0))) +(let ((a!3 (and (and (and a!2 (not $e08$0)) (not $e09$0)) (not $e10$0))) + (a!6 (and (not $e12$0) + (not $e11$0) + (and (and a!2 (not $e08$0)) (not $e09$0)) + $e10$0))) +(let ((a!7 (or (and (and a!3 (not $e11$0)) $e12$0) + (and (and a!3 (not $e11$0)) (not $e12$0)) + (and (not $e12$0) + (not $e11$0) + (not $e10$0) + (not $e09$0) + (not $e08$0) + (not $e07$0) + (not $e06$0) + (not $e05$0) + (not $e04$0) + (not $e03$0) + $e01$0 + (not $e02$0)) + (and (not $e12$0) + (not $e11$0) + (not $e10$0) + (not $e09$0) + (not $e08$0) + (not $e07$0) + (not $e06$0) + (not $e05$0) + (not $e04$0) + (not $e03$0) + (not $e01$0) + $e02$0) + (and (not $e12$0) + (not $e11$0) + (not $e10$0) + (not $e09$0) + (not $e08$0) + (not $e07$0) + (not $e06$0) + (not $e05$0) + (not $e04$0) + (and (not $e01$0) (not $e02$0)) + $e03$0) + a!4 + (and (not $e12$0) + (not $e11$0) + (not $e10$0) + (not $e09$0) + (not $e08$0) + (not $e07$0) + (not $e06$0) + a!1 + $e05$0) + (and (not $e12$0) + (not $e11$0) + (not $e10$0) + (not $e09$0) + (not $e08$0) + (not $e07$0) + (and a!1 (not $e05$0)) + $e06$0) + a!5 + (and (not $e12$0) + (not $e11$0) + (not $e10$0) + (not $e09$0) + a!2 + $e08$0) + (and (not $e12$0) + (not $e11$0) + (not $e10$0) + (and a!2 (not $e08$0)) + $e09$0) + a!6 + (and (not $e12$0) a!3 $e11$0)))) + (and (= $OK$2 (or (not a!7) (not false))) + (= $V175_Sofar$2 a!7) + (= $V76_erreur$2 false) + (= $V170_X$2 a!7))))))) +(check-sat) diff --git a/bench/skolems/rtp_1_extend_skolem.smt2 b/bench/skolems/rtp_1_extend_skolem.smt2 new file mode 100644 index 000000000..2c08a722a --- /dev/null +++ b/bench/skolems/rtp_1_extend_skolem.smt2 @@ -0,0 +1,118 @@ +(declare-fun $V170_X$2 () Bool) +(declare-fun $V175_Sofar$~1 () Bool) +(declare-fun $e11$0 () Bool) +(declare-fun $V175_Sofar$2 () Bool) +(declare-fun $e10$0 () Bool) +(declare-fun $e12$0 () Bool) +(declare-fun $e06$0 () Bool) +(declare-fun $e09$0 () Bool) +(declare-fun $e02$0 () Bool) +(declare-fun $e07$0 () Bool) +(declare-fun $e04$0 () Bool) +(declare-fun $e05$0 () Bool) +(declare-fun $e01$0 () Bool) +(declare-fun $V76_erreur$2 () Bool) +(declare-fun $e08$0 () Bool) +(declare-fun $e03$0 () Bool) +(declare-fun %init () Bool) +(declare-fun $OK$2 () Bool) + +(assert (let ((a!1 (and (and (and (not $e01$0) (not $e02$0)) (not $e03$0)) (not $e04$0))) + (a!4 (and (not $e12$0) + (not $e11$0) + (not $e10$0) + (not $e09$0) + (not $e08$0) + (not $e07$0) + (not $e06$0) + (not $e05$0) + (and (and (not $e01$0) (not $e02$0)) (not $e03$0)) + $e04$0))) +(let ((a!2 (and (and (and a!1 (not $e05$0)) (not $e06$0)) (not $e07$0))) + (a!5 (and (not $e12$0) + (not $e11$0) + (not $e10$0) + (not $e09$0) + (not $e08$0) + (and (and a!1 (not $e05$0)) (not $e06$0)) + $e07$0))) +(let ((a!3 (and (and (and a!2 (not $e08$0)) (not $e09$0)) (not $e10$0))) + (a!6 (and (not $e12$0) + (not $e11$0) + (and (and a!2 (not $e08$0)) (not $e09$0)) + $e10$0))) +(let ((a!7 (or (and (and a!3 (not $e11$0)) $e12$0) + (and (and a!3 (not $e11$0)) (not $e12$0)) + (and (not $e12$0) + (not $e11$0) + (not $e10$0) + (not $e09$0) + (not $e08$0) + (not $e07$0) + (not $e06$0) + (not $e05$0) + (not $e04$0) + (not $e03$0) + $e01$0 + (not $e02$0)) + (and (not $e12$0) + (not $e11$0) + (not $e10$0) + (not $e09$0) + (not $e08$0) + (not $e07$0) + (not $e06$0) + (not $e05$0) + (not $e04$0) + (not $e03$0) + (not $e01$0) + $e02$0) + (and (not $e12$0) + (not $e11$0) + (not $e10$0) + (not $e09$0) + (not $e08$0) + (not $e07$0) + (not $e06$0) + (not $e05$0) + (not $e04$0) + (and (not $e01$0) (not $e02$0)) + $e03$0) + a!4 + (and (not $e12$0) + (not $e11$0) + (not $e10$0) + (not $e09$0) + (not $e08$0) + (not $e07$0) + (not $e06$0) + a!1 + $e05$0) + (and (not $e12$0) + (not $e11$0) + (not $e10$0) + (not $e09$0) + (not $e08$0) + (not $e07$0) + (and a!1 (not $e05$0)) + $e06$0) + a!5 + (and (not $e12$0) + (not $e11$0) + (not $e10$0) + (not $e09$0) + a!2 + $e08$0) + (and (not $e12$0) + (not $e11$0) + (not $e10$0) + (and a!2 (not $e08$0)) + $e09$0) + a!6 + (and (not $e12$0) a!3 $e11$0)))) +(let ((a!8 (or (not (ite %init a!7 (and a!7 $V175_Sofar$~1))) (not false)))) + (and (= $OK$2 a!8) + (= $V175_Sofar$2 (ite %init a!7 (and a!7 $V175_Sofar$~1))) + (= $V76_erreur$2 false) + (= $V170_X$2 a!7)))))))) +(check-sat) diff --git a/bench/skolems/speed_e7_207_base_skolem.smt2 b/bench/skolems/speed_e7_207_base_skolem.smt2 new file mode 100644 index 000000000..437754233 --- /dev/null +++ b/bench/skolems/speed_e7_207_base_skolem.smt2 @@ -0,0 +1,6 @@ +(declare-fun $V20_early$2 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $V19_late$2 false) (= $V20_early$2 true))) +(check-sat) diff --git a/bench/skolems/speed_e7_207_e7_538_base_skolem.smt2 b/bench/skolems/speed_e7_207_e7_538_base_skolem.smt2 new file mode 100644 index 000000000..437754233 --- /dev/null +++ b/bench/skolems/speed_e7_207_e7_538_base_skolem.smt2 @@ -0,0 +1,6 @@ +(declare-fun $V20_early$2 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $V19_late$2 false) (= $V20_early$2 true))) +(check-sat) diff --git a/bench/skolems/speed_e7_207_e7_538_extend_skolem.smt2 b/bench/skolems/speed_e7_207_e7_538_extend_skolem.smt2 new file mode 100644 index 000000000..437754233 --- /dev/null +++ b/bench/skolems/speed_e7_207_e7_538_extend_skolem.smt2 @@ -0,0 +1,6 @@ +(declare-fun $V20_early$2 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $V19_late$2 false) (= $V20_early$2 true))) +(check-sat) diff --git a/bench/skolems/speed_e7_207_e8_507_base1_skolem.smt2 b/bench/skolems/speed_e7_207_e8_507_base1_skolem.smt2 new file mode 100644 index 000000000..437754233 --- /dev/null +++ b/bench/skolems/speed_e7_207_e8_507_base1_skolem.smt2 @@ -0,0 +1,6 @@ +(declare-fun $V20_early$2 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $V19_late$2 false) (= $V20_early$2 true))) +(check-sat) diff --git a/bench/skolems/speed_e7_207_e8_507_base2_skolem.smt2 b/bench/skolems/speed_e7_207_e8_507_base2_skolem.smt2 new file mode 100644 index 000000000..9c4d24ce8 --- /dev/null +++ b/bench/skolems/speed_e7_207_e8_507_base2_skolem.smt2 @@ -0,0 +1,6 @@ +(declare-fun $V20_early$3 () Bool) +(declare-fun $V19_late$3 () Bool) +(declare-fun $OK$3 () Bool) + +(assert (and (= $OK$3 true) (= $V19_late$3 false) (= $V20_early$3 true))) +(check-sat) diff --git a/bench/skolems/speed_e7_207_e8_507_extend_skolem.smt2 b/bench/skolems/speed_e7_207_e8_507_extend_skolem.smt2 new file mode 100644 index 000000000..437754233 --- /dev/null +++ b/bench/skolems/speed_e7_207_e8_507_extend_skolem.smt2 @@ -0,0 +1,6 @@ +(declare-fun $V20_early$2 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $V19_late$2 false) (= $V20_early$2 true))) +(check-sat) diff --git a/bench/skolems/speed_e7_207_extend_skolem.smt2 b/bench/skolems/speed_e7_207_extend_skolem.smt2 new file mode 100644 index 000000000..437754233 --- /dev/null +++ b/bench/skolems/speed_e7_207_extend_skolem.smt2 @@ -0,0 +1,6 @@ +(declare-fun $V20_early$2 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $V19_late$2 false) (= $V20_early$2 true))) +(check-sat) diff --git a/bench/skolems/speed_e8_136_base_skolem.smt2 b/bench/skolems/speed_e8_136_base_skolem.smt2 new file mode 100644 index 000000000..437754233 --- /dev/null +++ b/bench/skolems/speed_e8_136_base_skolem.smt2 @@ -0,0 +1,6 @@ +(declare-fun $V20_early$2 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $V19_late$2 false) (= $V20_early$2 true))) +(check-sat) diff --git a/bench/skolems/speed_e8_136_extend_skolem.smt2 b/bench/skolems/speed_e8_136_extend_skolem.smt2 new file mode 100644 index 000000000..437754233 --- /dev/null +++ b/bench/skolems/speed_e8_136_extend_skolem.smt2 @@ -0,0 +1,6 @@ +(declare-fun $V20_early$2 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $V19_late$2 false) (= $V20_early$2 true))) +(check-sat) diff --git a/bench/skolems/speed_e8_649_e7_709_base_skolem.smt2 b/bench/skolems/speed_e8_649_e7_709_base_skolem.smt2 new file mode 100644 index 000000000..437754233 --- /dev/null +++ b/bench/skolems/speed_e8_649_e7_709_base_skolem.smt2 @@ -0,0 +1,6 @@ +(declare-fun $V20_early$2 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $V19_late$2 false) (= $V20_early$2 true))) +(check-sat) diff --git a/bench/skolems/speed_e8_649_e7_709_extend_skolem.smt2 b/bench/skolems/speed_e8_649_e7_709_extend_skolem.smt2 new file mode 100644 index 000000000..437754233 --- /dev/null +++ b/bench/skolems/speed_e8_649_e7_709_extend_skolem.smt2 @@ -0,0 +1,6 @@ +(declare-fun $V20_early$2 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $OK$2 () Bool) + +(assert (and (= $OK$2 true) (= $V19_late$2 false) (= $V20_early$2 true))) +(check-sat) diff --git a/bench/skolems/tramway_e7_1834_base1_skolem.smt2 b/bench/skolems/tramway_e7_1834_base1_skolem.smt2 new file mode 100644 index 000000000..585131ccc --- /dev/null +++ b/bench/skolems/tramway_e7_1834_base1_skolem.smt2 @@ -0,0 +1,76 @@ +(declare-fun $~flatten0$2 () Bool) +(declare-fun $V274_X$2 () Bool) +(declare-fun $V61_close_door$2 () Bool) +(declare-fun $V276_X$2 () Bool) +(declare-fun $V273_X$2 () Bool) +(declare-fun $V60_open_door$2 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$2 + () + Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$2 () Bool) +(declare-fun $V253_between_A_and_X$2 () Bool) +(declare-fun $V252_X$2 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$2 () Bool) +(declare-fun $V264_env_ok$2 () Bool) +(declare-fun $V271_warning_start_only_in_station$2 () Bool) +(declare-fun $warning_start$0 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$2 () Bool) +(declare-fun $V58_env_always_ok$2 () Bool) +(declare-fun $V59_prop_ok$2 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$2 + () + Bool) +(declare-fun $V276_X$~1 () Bool) +(declare-fun $V269_initially_not_in_station$2 () Bool) +(declare-fun $V275_X$2 () Bool) +(declare-fun $in_station$0 () Bool) +(declare-fun $V275_X$~1 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V268_door_initially_closed$2 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$2 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$2 () Bool) +(declare-fun $door_is_open$0 () Bool) + +(assert (let ((a!1 (not (and (not $door_is_open$0) + (not $in_station$0) + (or (not $warning_start$0) $in_station$0)))) + (a!2 (= (ite true false (or (not $in_station$0) (not $V275_X$~1))) + (ite true false (or (not $warning_start$0) (not $V276_X$~1))))) + (a!5 (= $V59_prop_ok$2 + (and true (or $in_station$0 (not $door_is_open$0)))))) +(let ((a!3 (and true + (not $in_station$0) + true + (not $door_is_open$0) + a!2 + (or $in_station$0 (not $warning_start$0))))) +(let ((a!4 (or (not a!3) (and true (or $in_station$0 (not $door_is_open$0)))))) +(let ((a!6 (and (= $OK$2 a!4) + (= $V58_env_always_ok$2 a!3) + a!5 + (= $V264_env_ok$2 a!3) + (= $V250_door_doesnt_open_out_of_station$2 + (or $in_station$0 (not $door_is_open$0))) + (= $V251_door_opens_before_leaving_station$2 true) + (= $V253_between_A_and_X$2 false) + (= $V252_X$2 (not $in_station$0)) + (= $V266_door_doesnt_open_if_not_asked$2 true) + (= $V265_door_doesnt_close_if_not_asked$2 true) + (= $V267_tramway_doesnt_start_if_not_door_ok$2 true) + (= $V268_door_initially_closed$2 (not $door_is_open$0)) + (= $V269_initially_not_in_station$2 (not $in_station$0)) + (= $V270_warning_start_and_in_station_go_down_simultaneously$2 + a!2) + (= $V271_warning_start_only_in_station$2 + (or $in_station$0 (not $warning_start$0))) + (= $V272_warning_start_cant_become_true_when_door_is_opening$2 + true) + (= $V60_open_door$2 true) + (= $V273_X$2 (not $door_is_open$0)) + (= $V61_close_door$2 true) + (= $V274_X$2 (not $in_station$0)) + (= $V275_X$2 (not $in_station$0)) + (= $V276_X$2 (not $warning_start$0)) + (= $~flatten0$2 false)))) + (ite (or a!1 (not $door_is_open$0) $in_station$0) a!6 true)))))) +(check-sat) diff --git a/bench/skolems/tramway_e7_1834_base2_skolem.smt2 b/bench/skolems/tramway_e7_1834_base2_skolem.smt2 new file mode 100644 index 000000000..87ac13b78 --- /dev/null +++ b/bench/skolems/tramway_e7_1834_base2_skolem.smt2 @@ -0,0 +1,109 @@ +(declare-fun $~flatten0$3 () Bool) +(declare-fun $V275_X$3 () Bool) +(declare-fun $V274_X$3 () Bool) +(declare-fun $V273_X$3 () Bool) +(declare-fun $V60_open_door$3 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$3 + () + Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$3 + () + Bool) +(declare-fun $V276_X$3 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$3 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$3 () Bool) +(declare-fun $V269_initially_not_in_station$3 () Bool) +(declare-fun $V252_X$0 () Bool) +(declare-fun $V252_X$3 () Bool) +(declare-fun $V253_between_A_and_X$3 () Bool) +(declare-fun $door_is_open$0 () Bool) +(declare-fun $V268_door_initially_closed$3 () Bool) +(declare-fun $V59_prop_ok$3 () Bool) +(declare-fun $V264_env_ok$3 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$3 () Bool) +(declare-fun $V58_env_always_ok$3 () Bool) +(declare-fun $V253_between_A_and_X$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(declare-fun $in_station$1 () Bool) +(declare-fun $V58_env_always_ok$0 () Bool) +(declare-fun $V61_close_door$3 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$3 () Bool) +(declare-fun $warning_start$0 () Bool) +(declare-fun $V62_door_ok$0 () Bool) +(declare-fun $V276_X$0 () Bool) +(declare-fun $OK$3 () Bool) +(declare-fun $warning_start$1 () Bool) +(declare-fun $V273_X$0 () Bool) +(declare-fun $door_is_open$1 () Bool) +(declare-fun $V271_warning_start_only_in_station$3 () Bool) +(declare-fun $V275_X$0 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$3 () Bool) +(declare-fun $V274_X$0 () Bool) +(declare-fun $request_door$0 () Bool) + +(assert (let ((a!1 (or (not (or (not $in_station$1) (not $V274_X$0))) $V62_door_ok$0)) + (a!3 (and (or (and $request_door$0 (not $warning_start$0)) + (and (not $~flatten0$0) $V253_between_A_and_X$0)) + (or (not $in_station$1) (not $V252_X$0)))) + (a!5 (or false (not (or (not $door_is_open$1) (not $V273_X$0))))) + (a!6 (or $V62_door_ok$0 (not (or (not $in_station$1) (not $V274_X$0))))) + (a!7 (= (ite false false (or (not $in_station$1) (not $V275_X$0))) + (ite false false (or (not $warning_start$1) (not $V276_X$0))))) + (a!8 (or (not (or $warning_start$1 (not $warning_start$0))) (not true))) + (a!10 (ite (and (not $warning_start$0) $request_door$0) + true + (ite (ite false false $~flatten0$0) + false + $V253_between_A_and_X$0)))) +(let ((a!2 (and (not (or (not $door_is_open$1) (not $V273_X$0))) + a!1 + (= (or (not $in_station$1) (not $V275_X$0)) + (or (not $warning_start$1) (not $V276_X$0))) + (or (not $warning_start$1) $in_station$1) + (not (or $warning_start$1 (not $warning_start$0))) + $V58_env_always_ok$0)) + (a!9 (and true + true + true + a!5 + a!6 + a!7 + (or $in_station$1 (not $warning_start$1)) + a!8)) + (a!11 (and a!10 + (ite false false (or (not $in_station$1) (not $V252_X$0)))))) +(let ((a!4 (or (not a!2) + (and (or (not $door_is_open$1) $in_station$1) (not a!3)))) + (a!12 (or (not (and $V58_env_always_ok$0 a!9)) + (and (or $in_station$1 (not $door_is_open$1)) (not a!11)))) + (a!13 (= $V59_prop_ok$3 + (and (or $in_station$1 (not $door_is_open$1)) (not a!11))))) +(let ((a!14 (and (= $OK$3 a!12) + (= $V58_env_always_ok$3 (and $V58_env_always_ok$0 a!9)) + a!13 + (= $V264_env_ok$3 a!9) + (= $V250_door_doesnt_open_out_of_station$3 + (or $in_station$1 (not $door_is_open$1))) + (= $V251_door_opens_before_leaving_station$3 (not a!11)) + (= $V253_between_A_and_X$3 a!10) + (= $V252_X$3 (not $in_station$1)) + (= $V266_door_doesnt_open_if_not_asked$3 a!5) + (= $V265_door_doesnt_close_if_not_asked$3 true) + (= $V267_tramway_doesnt_start_if_not_door_ok$3 a!6) + (= $V268_door_initially_closed$3 true) + (= $V269_initially_not_in_station$3 true) + (= $V270_warning_start_and_in_station_go_down_simultaneously$3 + a!7) + (= $V271_warning_start_only_in_station$3 + (or $in_station$1 (not $warning_start$1))) + (= $V272_warning_start_cant_become_true_when_door_is_opening$3 + a!8) + (= $V60_open_door$3 true) + (= $V273_X$3 (not $door_is_open$1)) + (= $V61_close_door$3 false) + (= $V274_X$3 (not $in_station$1)) + (= $V275_X$3 (not $in_station$1)) + (= $V276_X$3 (not $warning_start$1)) + (= $~flatten0$3 $door_is_open$0)))) + (ite a!4 a!14 true)))))) +(check-sat) diff --git a/bench/skolems/tramway_e7_1834_base3_skolem.smt2 b/bench/skolems/tramway_e7_1834_base3_skolem.smt2 new file mode 100644 index 000000000..632bbf408 --- /dev/null +++ b/bench/skolems/tramway_e7_1834_base3_skolem.smt2 @@ -0,0 +1,109 @@ +(declare-fun $~flatten0$4 () Bool) +(declare-fun $V275_X$4 () Bool) +(declare-fun $V61_close_door$4 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$4 + () + Bool) +(declare-fun $door_is_open$1 () Bool) +(declare-fun $V271_warning_start_only_in_station$4 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$4 + () + Bool) +(declare-fun $V269_initially_not_in_station$4 () Bool) +(declare-fun $V268_door_initially_closed$4 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$4 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$4 () Bool) +(declare-fun $V264_env_ok$4 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$4 () Bool) +(declare-fun $V253_between_A_and_X$4 () Bool) +(declare-fun $V252_X$4 () Bool) +(declare-fun $V252_X$1 () Bool) +(declare-fun $V58_env_always_ok$1 () Bool) +(declare-fun $~flatten0$1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$4 () Bool) +(declare-fun $in_station$2 () Bool) +(declare-fun $V59_prop_ok$4 () Bool) +(declare-fun $V273_X$4 () Bool) +(declare-fun $OK$4 () Bool) +(declare-fun $V276_X$4 () Bool) +(declare-fun $V274_X$4 () Bool) +(declare-fun $V275_X$1 () Bool) +(declare-fun $V253_between_A_and_X$1 () Bool) +(declare-fun $request_door$1 () Bool) +(declare-fun $warning_start$1 () Bool) +(declare-fun $V58_env_always_ok$4 () Bool) +(declare-fun $V274_X$1 () Bool) +(declare-fun $V276_X$1 () Bool) +(declare-fun $door_is_open$2 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$4 () Bool) +(declare-fun $V60_open_door$4 () Bool) +(declare-fun $warning_start$2 () Bool) +(declare-fun $V273_X$1 () Bool) +(declare-fun $V62_door_ok$1 () Bool) + +(assert (let ((a!1 (or (not (or (not $in_station$2) (not $V274_X$1))) $V62_door_ok$1)) + (a!3 (and (or (and $request_door$1 (not $warning_start$1)) + (and (not $~flatten0$1) $V253_between_A_and_X$1)) + (or (not $in_station$2) (not $V252_X$1)))) + (a!5 (or false (not (or (not $door_is_open$2) (not $V273_X$1))))) + (a!6 (or $V62_door_ok$1 (not (or (not $in_station$2) (not $V274_X$1))))) + (a!7 (= (ite false false (or (not $in_station$2) (not $V275_X$1))) + (ite false false (or (not $warning_start$2) (not $V276_X$1))))) + (a!8 (or (not (or $warning_start$2 (not $warning_start$1))) (not true))) + (a!10 (ite (and (not $warning_start$1) $request_door$1) + true + (ite (ite false false $~flatten0$1) + false + $V253_between_A_and_X$1)))) +(let ((a!2 (and (not (or (not $door_is_open$2) (not $V273_X$1))) + a!1 + (= (or (not $in_station$2) (not $V275_X$1)) + (or (not $warning_start$2) (not $V276_X$1))) + (or (not $warning_start$2) $in_station$2) + (not (or $warning_start$2 (not $warning_start$1))) + $V58_env_always_ok$1)) + (a!9 (and true + true + true + a!5 + a!6 + a!7 + (or $in_station$2 (not $warning_start$2)) + a!8)) + (a!11 (and a!10 + (ite false false (or (not $in_station$2) (not $V252_X$1)))))) +(let ((a!4 (or (not a!2) + (and (or (not $door_is_open$2) $in_station$2) (not a!3)))) + (a!12 (or (not (and $V58_env_always_ok$1 a!9)) + (and (or $in_station$2 (not $door_is_open$2)) (not a!11)))) + (a!13 (= $V59_prop_ok$4 + (and (or $in_station$2 (not $door_is_open$2)) (not a!11))))) +(let ((a!14 (and (= $OK$4 a!12) + (= $V58_env_always_ok$4 (and $V58_env_always_ok$1 a!9)) + a!13 + (= $V264_env_ok$4 a!9) + (= $V250_door_doesnt_open_out_of_station$4 + (or $in_station$2 (not $door_is_open$2))) + (= $V251_door_opens_before_leaving_station$4 (not a!11)) + (= $V253_between_A_and_X$4 a!10) + (= $V252_X$4 (not $in_station$2)) + (= $V266_door_doesnt_open_if_not_asked$4 a!5) + (= $V265_door_doesnt_close_if_not_asked$4 true) + (= $V267_tramway_doesnt_start_if_not_door_ok$4 a!6) + (= $V268_door_initially_closed$4 true) + (= $V269_initially_not_in_station$4 true) + (= $V270_warning_start_and_in_station_go_down_simultaneously$4 + a!7) + (= $V271_warning_start_only_in_station$4 + (or $in_station$2 (not $warning_start$2))) + (= $V272_warning_start_cant_become_true_when_door_is_opening$4 + a!8) + (= $V60_open_door$4 true) + (= $V273_X$4 (not $door_is_open$2)) + (= $V61_close_door$4 false) + (= $V274_X$4 (not $in_station$2)) + (= $V275_X$4 (not $in_station$2)) + (= $V276_X$4 (not $warning_start$2)) + (= $~flatten0$4 $door_is_open$1)))) + (ite a!4 a!14 true)))))) +(check-sat) diff --git a/bench/skolems/tramway_e7_1834_base4_skolem.smt2 b/bench/skolems/tramway_e7_1834_base4_skolem.smt2 new file mode 100644 index 000000000..2870bd811 --- /dev/null +++ b/bench/skolems/tramway_e7_1834_base4_skolem.smt2 @@ -0,0 +1,109 @@ +(declare-fun $~flatten0$5 () Bool) +(declare-fun $V276_X$5 () Bool) +(declare-fun $V275_X$5 () Bool) +(declare-fun $V274_X$5 () Bool) +(declare-fun $V61_close_door$5 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$5 + () + Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$5 + () + Bool) +(declare-fun $V268_door_initially_closed$5 () Bool) +(declare-fun $V273_X$5 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$5 () Bool) +(declare-fun $V253_between_A_and_X$5 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$5 () Bool) +(declare-fun $V252_X$5 () Bool) +(declare-fun $V269_initially_not_in_station$5 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$5 () Bool) +(declare-fun $V59_prop_ok$5 () Bool) +(declare-fun $OK$5 () Bool) +(declare-fun $V253_between_A_and_X$2 () Bool) +(declare-fun $V252_X$2 () Bool) +(declare-fun $V271_warning_start_only_in_station$5 () Bool) +(declare-fun $~flatten0$2 () Bool) +(declare-fun $request_door$2 () Bool) +(declare-fun $warning_start$2 () Bool) +(declare-fun $V276_X$2 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$5 () Bool) +(declare-fun $V274_X$2 () Bool) +(declare-fun $V62_door_ok$2 () Bool) +(declare-fun $V58_env_always_ok$2 () Bool) +(declare-fun $in_station$3 () Bool) +(declare-fun $warning_start$3 () Bool) +(declare-fun $V275_X$2 () Bool) +(declare-fun $V60_open_door$5 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$5 () Bool) +(declare-fun $V273_X$2 () Bool) +(declare-fun $V264_env_ok$5 () Bool) +(declare-fun $V58_env_always_ok$5 () Bool) +(declare-fun $door_is_open$2 () Bool) +(declare-fun $door_is_open$3 () Bool) + +(assert (let ((a!1 (or (not (or (not $in_station$3) (not $V274_X$2))) $V62_door_ok$2)) + (a!3 (and (or (and $request_door$2 (not $warning_start$2)) + (and (not $~flatten0$2) $V253_between_A_and_X$2)) + (or (not $in_station$3) (not $V252_X$2)))) + (a!5 (or false (not (or (not $door_is_open$3) (not $V273_X$2))))) + (a!6 (or $V62_door_ok$2 (not (or (not $in_station$3) (not $V274_X$2))))) + (a!7 (= (ite false false (or (not $in_station$3) (not $V275_X$2))) + (ite false false (or (not $warning_start$3) (not $V276_X$2))))) + (a!8 (or (not (or $warning_start$3 (not $warning_start$2))) (not true))) + (a!10 (ite (and (not $warning_start$2) $request_door$2) + true + (ite (ite false false $~flatten0$2) + false + $V253_between_A_and_X$2)))) +(let ((a!2 (and (not (or (not $door_is_open$3) (not $V273_X$2))) + a!1 + (= (or (not $in_station$3) (not $V275_X$2)) + (or (not $warning_start$3) (not $V276_X$2))) + (or (not $warning_start$3) $in_station$3) + (not (or $warning_start$3 (not $warning_start$2))) + $V58_env_always_ok$2)) + (a!9 (and true + true + true + a!5 + a!6 + a!7 + (or $in_station$3 (not $warning_start$3)) + a!8)) + (a!11 (and a!10 + (ite false false (or (not $in_station$3) (not $V252_X$2)))))) +(let ((a!4 (or (not a!2) + (and (or (not $door_is_open$3) $in_station$3) (not a!3)))) + (a!12 (or (not (and $V58_env_always_ok$2 a!9)) + (and (or $in_station$3 (not $door_is_open$3)) (not a!11)))) + (a!13 (= $V59_prop_ok$5 + (and (or $in_station$3 (not $door_is_open$3)) (not a!11))))) +(let ((a!14 (and (= $OK$5 a!12) + (= $V58_env_always_ok$5 (and $V58_env_always_ok$2 a!9)) + a!13 + (= $V264_env_ok$5 a!9) + (= $V250_door_doesnt_open_out_of_station$5 + (or $in_station$3 (not $door_is_open$3))) + (= $V251_door_opens_before_leaving_station$5 (not a!11)) + (= $V253_between_A_and_X$5 a!10) + (= $V252_X$5 (not $in_station$3)) + (= $V266_door_doesnt_open_if_not_asked$5 a!5) + (= $V265_door_doesnt_close_if_not_asked$5 true) + (= $V267_tramway_doesnt_start_if_not_door_ok$5 a!6) + (= $V268_door_initially_closed$5 true) + (= $V269_initially_not_in_station$5 true) + (= $V270_warning_start_and_in_station_go_down_simultaneously$5 + a!7) + (= $V271_warning_start_only_in_station$5 + (or $in_station$3 (not $warning_start$3))) + (= $V272_warning_start_cant_become_true_when_door_is_opening$5 + a!8) + (= $V60_open_door$5 true) + (= $V273_X$5 (not $door_is_open$3)) + (= $V61_close_door$5 false) + (= $V274_X$5 (not $in_station$3)) + (= $V275_X$5 (not $in_station$3)) + (= $V276_X$5 (not $warning_start$3)) + (= $~flatten0$5 $door_is_open$2)))) + (ite a!4 a!14 true)))))) +(check-sat) diff --git a/bench/skolems/tramway_e7_1834_e7_2363_base1_skolem.smt2 b/bench/skolems/tramway_e7_1834_e7_2363_base1_skolem.smt2 new file mode 100644 index 000000000..5ff48d09d --- /dev/null +++ b/bench/skolems/tramway_e7_1834_e7_2363_base1_skolem.smt2 @@ -0,0 +1,79 @@ +(declare-fun $~flatten0$2 () Bool) +(declare-fun $V276_X$2 () Bool) +(declare-fun $V274_X$2 () Bool) +(declare-fun $V61_close_door$2 () Bool) +(declare-fun $V273_X$2 () Bool) +(declare-fun $V60_open_door$2 () Bool) +(declare-fun $V271_warning_start_only_in_station$2 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$2 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$2 + () + Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$2 + () + Bool) +(declare-fun $V268_door_initially_closed$2 () Bool) +(declare-fun $door_is_open$0 () Bool) +(declare-fun $in_station$0 () Bool) +(declare-fun $V253_between_A_and_X$2 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V59_prop_ok$2 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$2 () Bool) +(declare-fun $V252_X$~1 () Bool) +(declare-fun $V276_X$~1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$2 () Bool) +(declare-fun $V264_env_ok$2 () Bool) +(declare-fun $V275_X$2 () Bool) +(declare-fun $V252_X$2 () Bool) +(declare-fun $V58_env_always_ok$2 () Bool) +(declare-fun $V275_X$~1 () Bool) +(declare-fun $V269_initially_not_in_station$2 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$2 () Bool) +(declare-fun $warning_start$0 () Bool) + +(assert (let ((a!1 (not (and (not $door_is_open$0) + (not $in_station$0) + (or (not $warning_start$0) $in_station$0)))) + (a!2 (= (ite true false (or (not $in_station$0) (not $V275_X$~1))) + (ite true false (or (not $warning_start$0) (not $V276_X$~1))))) + (a!4 (or false (ite true false (or (not $in_station$0) (not $V252_X$~1)))))) +(let ((a!3 (and true + (not $in_station$0) + true + (not $door_is_open$0) + a!2 + (or $in_station$0 (not $warning_start$0)))) + (a!6 (= $V59_prop_ok$2 + (and (or $in_station$0 (not $door_is_open$0)) (not a!4))))) +(let ((a!5 (or (not a!3) + (and (or $in_station$0 (not $door_is_open$0)) (not a!4))))) +(let ((a!7 (and (= $OK$2 a!5) + (= $V58_env_always_ok$2 a!3) + a!6 + (= $V264_env_ok$2 a!3) + (= $V250_door_doesnt_open_out_of_station$2 + (or $in_station$0 (not $door_is_open$0))) + (= $V251_door_opens_before_leaving_station$2 (not a!4)) + (= $V253_between_A_and_X$2 false) + (= $V252_X$2 (not $in_station$0)) + (= $V266_door_doesnt_open_if_not_asked$2 true) + (= $V265_door_doesnt_close_if_not_asked$2 true) + (= $V267_tramway_doesnt_start_if_not_door_ok$2 true) + (= $V268_door_initially_closed$2 (not $door_is_open$0)) + (= $V269_initially_not_in_station$2 (not $in_station$0)) + (= $V270_warning_start_and_in_station_go_down_simultaneously$2 + a!2) + (= $V271_warning_start_only_in_station$2 + (or $in_station$0 (not $warning_start$0))) + (= $V272_warning_start_cant_become_true_when_door_is_opening$2 + true) + (= $V60_open_door$2 true) + (= $V273_X$2 (not $door_is_open$0)) + (= $V61_close_door$2 true) + (= $V274_X$2 (not $in_station$0)) + (= $V275_X$2 (not $in_station$0)) + (= $V276_X$2 (not $warning_start$0)) + (= $~flatten0$2 false)))) + (ite (or a!1 (not $door_is_open$0) $in_station$0) a!7 true)))))) +(check-sat) diff --git a/bench/skolems/tramway_e7_1834_e7_2363_base2_skolem.smt2 b/bench/skolems/tramway_e7_1834_e7_2363_base2_skolem.smt2 new file mode 100644 index 000000000..ea4c66c07 --- /dev/null +++ b/bench/skolems/tramway_e7_1834_e7_2363_base2_skolem.smt2 @@ -0,0 +1,108 @@ +(declare-fun $~flatten0$3 () Bool) +(declare-fun $V273_X$3 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$3 + () + Bool) +(declare-fun $V271_warning_start_only_in_station$3 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$3 + () + Bool) +(declare-fun $V274_X$3 () Bool) +(declare-fun $V268_door_initially_closed$3 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$3 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$3 () Bool) +(declare-fun $V60_open_door$3 () Bool) +(declare-fun $V253_between_A_and_X$3 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$3 () Bool) +(declare-fun $V264_env_ok$3 () Bool) +(declare-fun $V252_X$0 () Bool) +(declare-fun $V58_env_always_ok$3 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$3 () Bool) +(declare-fun $V252_X$3 () Bool) +(declare-fun $request_door$0 () Bool) +(declare-fun $OK$3 () Bool) +(declare-fun $V62_door_ok$0 () Bool) +(declare-fun $V253_between_A_and_X$0 () Bool) +(declare-fun $V59_prop_ok$3 () Bool) +(declare-fun $warning_start$0 () Bool) +(declare-fun $V276_X$0 () Bool) +(declare-fun $warning_start$1 () Bool) +(declare-fun $V61_close_door$3 () Bool) +(declare-fun $V269_initially_not_in_station$3 () Bool) +(declare-fun $V275_X$0 () Bool) +(declare-fun $V58_env_always_ok$0 () Bool) +(declare-fun $door_is_open$0 () Bool) +(declare-fun $V276_X$3 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$3 () Bool) +(declare-fun $in_station$1 () Bool) +(declare-fun $V273_X$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(declare-fun $V274_X$0 () Bool) +(declare-fun $V275_X$3 () Bool) +(declare-fun $door_is_open$1 () Bool) + +(assert (let ((a!1 (or (not (or (not $in_station$1) (not $V274_X$0))) $V62_door_ok$0)) + (a!3 (not (or (and $request_door$0 (not $warning_start$0)) + (and (not $~flatten0$0) $V253_between_A_and_X$0) + (not $in_station$1) + (not $V252_X$0)))) + (a!5 (or false (not (or (not $door_is_open$1) (not $V273_X$0))))) + (a!6 (or $V62_door_ok$0 (not (or (not $in_station$1) (not $V274_X$0))))) + (a!7 (= (ite false false (or (not $in_station$1) (not $V275_X$0))) + (ite false false (or (not $warning_start$1) (not $V276_X$0))))) + (a!8 (or (not (or $warning_start$1 (not $warning_start$0))) (not true))) + (a!10 (ite (and (not $warning_start$0) $request_door$0) + true + (ite (ite false false $~flatten0$0) + false + $V253_between_A_and_X$0)))) +(let ((a!2 (and (not (or (not $door_is_open$1) (not $V273_X$0))) + a!1 + (= (or (not $in_station$1) (not $V275_X$0)) + (or (not $warning_start$1) (not $V276_X$0))) + (or (not $warning_start$1) $in_station$1) + (not (or $warning_start$1 (not $warning_start$0))) + $V58_env_always_ok$0)) + (a!9 (and true + true + true + a!5 + a!6 + a!7 + (or $in_station$1 (not $warning_start$1)) + a!8)) + (a!11 (or a!10 (ite false false (or (not $in_station$1) (not $V252_X$0)))))) +(let ((a!4 (or (not a!2) (and (or (not $door_is_open$1) $in_station$1) a!3))) + (a!12 (or (not (and $V58_env_always_ok$0 a!9)) + (and (or $in_station$1 (not $door_is_open$1)) (not a!11)))) + (a!13 (= $V59_prop_ok$3 + (and (or $in_station$1 (not $door_is_open$1)) (not a!11))))) +(let ((a!14 (and (= $OK$3 a!12) + (= $V58_env_always_ok$3 (and $V58_env_always_ok$0 a!9)) + a!13 + (= $V264_env_ok$3 a!9) + (= $V250_door_doesnt_open_out_of_station$3 + (or $in_station$1 (not $door_is_open$1))) + (= $V251_door_opens_before_leaving_station$3 (not a!11)) + (= $V253_between_A_and_X$3 a!10) + (= $V252_X$3 (not $in_station$1)) + (= $V266_door_doesnt_open_if_not_asked$3 a!5) + (= $V265_door_doesnt_close_if_not_asked$3 true) + (= $V267_tramway_doesnt_start_if_not_door_ok$3 a!6) + (= $V268_door_initially_closed$3 true) + (= $V269_initially_not_in_station$3 true) + (= $V270_warning_start_and_in_station_go_down_simultaneously$3 + a!7) + (= $V271_warning_start_only_in_station$3 + (or $in_station$1 (not $warning_start$1))) + (= $V272_warning_start_cant_become_true_when_door_is_opening$3 + a!8) + (= $V60_open_door$3 true) + (= $V273_X$3 (not $door_is_open$1)) + (= $V61_close_door$3 false) + (= $V274_X$3 (not $in_station$1)) + (= $V275_X$3 (not $in_station$1)) + (= $V276_X$3 (not $warning_start$1)) + (= $~flatten0$3 $door_is_open$0)))) + (ite a!4 a!14 true)))))) +(check-sat) diff --git a/bench/skolems/tramway_e7_1834_e7_2363_base3_skolem.smt2 b/bench/skolems/tramway_e7_1834_e7_2363_base3_skolem.smt2 new file mode 100644 index 000000000..96819db79 --- /dev/null +++ b/bench/skolems/tramway_e7_1834_e7_2363_base3_skolem.smt2 @@ -0,0 +1,108 @@ +(declare-fun $door_is_open$1 () Bool) +(declare-fun $V275_X$4 () Bool) +(declare-fun $V274_X$4 () Bool) +(declare-fun $~flatten0$4 () Bool) +(declare-fun $V273_X$4 () Bool) +(declare-fun $V60_open_door$4 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$4 + () + Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$4 + () + Bool) +(declare-fun $V269_initially_not_in_station$4 () Bool) +(declare-fun $V268_door_initially_closed$4 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$4 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$4 () Bool) +(declare-fun $V264_env_ok$4 () Bool) +(declare-fun $V276_X$4 () Bool) +(declare-fun $V59_prop_ok$4 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$4 () Bool) +(declare-fun $OK$4 () Bool) +(declare-fun $~flatten0$1 () Bool) +(declare-fun $V252_X$4 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$4 () Bool) +(declare-fun $warning_start$1 () Bool) +(declare-fun $V252_X$1 () Bool) +(declare-fun $V253_between_A_and_X$1 () Bool) +(declare-fun $V61_close_door$4 () Bool) +(declare-fun $door_is_open$2 () Bool) +(declare-fun $V62_door_ok$1 () Bool) +(declare-fun $V58_env_always_ok$1 () Bool) +(declare-fun $V274_X$1 () Bool) +(declare-fun $V275_X$1 () Bool) +(declare-fun $warning_start$2 () Bool) +(declare-fun $in_station$2 () Bool) +(declare-fun $V253_between_A_and_X$4 () Bool) +(declare-fun $V271_warning_start_only_in_station$4 () Bool) +(declare-fun $V58_env_always_ok$4 () Bool) +(declare-fun $V276_X$1 () Bool) +(declare-fun $V273_X$1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$4 () Bool) +(declare-fun $request_door$1 () Bool) + +(assert (let ((a!1 (or (not (or (not $in_station$2) (not $V274_X$1))) $V62_door_ok$1)) + (a!3 (not (or (and $request_door$1 (not $warning_start$1)) + (and (not $~flatten0$1) $V253_between_A_and_X$1) + (not $in_station$2) + (not $V252_X$1)))) + (a!5 (or false (not (or (not $door_is_open$2) (not $V273_X$1))))) + (a!6 (or $V62_door_ok$1 (not (or (not $in_station$2) (not $V274_X$1))))) + (a!7 (= (ite false false (or (not $in_station$2) (not $V275_X$1))) + (ite false false (or (not $warning_start$2) (not $V276_X$1))))) + (a!8 (or (not (or $warning_start$2 (not $warning_start$1))) (not true))) + (a!10 (ite (and (not $warning_start$1) $request_door$1) + true + (ite (ite false false $~flatten0$1) + false + $V253_between_A_and_X$1)))) +(let ((a!2 (and (not (or (not $door_is_open$2) (not $V273_X$1))) + a!1 + (= (or (not $in_station$2) (not $V275_X$1)) + (or (not $warning_start$2) (not $V276_X$1))) + (or (not $warning_start$2) $in_station$2) + (not (or $warning_start$2 (not $warning_start$1))) + $V58_env_always_ok$1)) + (a!9 (and true + true + true + a!5 + a!6 + a!7 + (or $in_station$2 (not $warning_start$2)) + a!8)) + (a!11 (or a!10 (ite false false (or (not $in_station$2) (not $V252_X$1)))))) +(let ((a!4 (or (not a!2) (and (or (not $door_is_open$2) $in_station$2) a!3))) + (a!12 (or (not (and $V58_env_always_ok$1 a!9)) + (and (or $in_station$2 (not $door_is_open$2)) (not a!11)))) + (a!13 (= $V59_prop_ok$4 + (and (or $in_station$2 (not $door_is_open$2)) (not a!11))))) +(let ((a!14 (and (= $OK$4 a!12) + (= $V58_env_always_ok$4 (and $V58_env_always_ok$1 a!9)) + a!13 + (= $V264_env_ok$4 a!9) + (= $V250_door_doesnt_open_out_of_station$4 + (or $in_station$2 (not $door_is_open$2))) + (= $V251_door_opens_before_leaving_station$4 (not a!11)) + (= $V253_between_A_and_X$4 a!10) + (= $V252_X$4 (not $in_station$2)) + (= $V266_door_doesnt_open_if_not_asked$4 a!5) + (= $V265_door_doesnt_close_if_not_asked$4 true) + (= $V267_tramway_doesnt_start_if_not_door_ok$4 a!6) + (= $V268_door_initially_closed$4 true) + (= $V269_initially_not_in_station$4 true) + (= $V270_warning_start_and_in_station_go_down_simultaneously$4 + a!7) + (= $V271_warning_start_only_in_station$4 + (or $in_station$2 (not $warning_start$2))) + (= $V272_warning_start_cant_become_true_when_door_is_opening$4 + a!8) + (= $V60_open_door$4 true) + (= $V273_X$4 (not $door_is_open$2)) + (= $V61_close_door$4 false) + (= $V274_X$4 (not $in_station$2)) + (= $V275_X$4 (not $in_station$2)) + (= $V276_X$4 (not $warning_start$2)) + (= $~flatten0$4 $door_is_open$1)))) + (ite a!4 a!14 true)))))) +(check-sat) diff --git a/bench/skolems/tramway_e7_1834_e7_2363_base4_skolem.smt2 b/bench/skolems/tramway_e7_1834_e7_2363_base4_skolem.smt2 new file mode 100644 index 000000000..167346bd0 --- /dev/null +++ b/bench/skolems/tramway_e7_1834_e7_2363_base4_skolem.smt2 @@ -0,0 +1,108 @@ +(declare-fun $~flatten0$5 () Bool) +(declare-fun $V275_X$5 () Bool) +(declare-fun $V61_close_door$5 () Bool) +(declare-fun $V268_door_initially_closed$5 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$5 () Bool) +(declare-fun $V271_warning_start_only_in_station$5 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$5 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$5 + () + Bool) +(declare-fun $V253_between_A_and_X$5 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$5 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$5 () Bool) +(declare-fun $V264_env_ok$5 () Bool) +(declare-fun $OK$5 () Bool) +(declare-fun $V269_initially_not_in_station$5 () Bool) +(declare-fun $V252_X$2 () Bool) +(declare-fun $~flatten0$2 () Bool) +(declare-fun $V276_X$2 () Bool) +(declare-fun $V273_X$2 () Bool) +(declare-fun $V252_X$5 () Bool) +(declare-fun $V60_open_door$5 () Bool) +(declare-fun $warning_start$3 () Bool) +(declare-fun $V59_prop_ok$5 () Bool) +(declare-fun $V275_X$2 () Bool) +(declare-fun $V276_X$5 () Bool) +(declare-fun $V274_X$5 () Bool) +(declare-fun $V62_door_ok$2 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$5 + () + Bool) +(declare-fun $request_door$2 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$5 () Bool) +(declare-fun $V253_between_A_and_X$2 () Bool) +(declare-fun $door_is_open$3 () Bool) +(declare-fun $in_station$3 () Bool) +(declare-fun $V274_X$2 () Bool) +(declare-fun $V58_env_always_ok$2 () Bool) +(declare-fun $door_is_open$2 () Bool) +(declare-fun $V273_X$5 () Bool) +(declare-fun $V58_env_always_ok$5 () Bool) +(declare-fun $warning_start$2 () Bool) + +(assert (let ((a!1 (or (not (or (not $in_station$3) (not $V274_X$2))) $V62_door_ok$2)) + (a!3 (not (or (and $request_door$2 (not $warning_start$2)) + (and (not $~flatten0$2) $V253_between_A_and_X$2) + (not $in_station$3) + (not $V252_X$2)))) + (a!5 (or false (not (or (not $door_is_open$3) (not $V273_X$2))))) + (a!6 (or $V62_door_ok$2 (not (or (not $in_station$3) (not $V274_X$2))))) + (a!7 (= (ite false false (or (not $in_station$3) (not $V275_X$2))) + (ite false false (or (not $warning_start$3) (not $V276_X$2))))) + (a!8 (or (not (or $warning_start$3 (not $warning_start$2))) (not true))) + (a!10 (ite (and (not $warning_start$2) $request_door$2) + true + (ite (ite false false $~flatten0$2) + false + $V253_between_A_and_X$2)))) +(let ((a!2 (and (not (or (not $door_is_open$3) (not $V273_X$2))) + a!1 + (= (or (not $in_station$3) (not $V275_X$2)) + (or (not $warning_start$3) (not $V276_X$2))) + (or (not $warning_start$3) $in_station$3) + (not (or $warning_start$3 (not $warning_start$2))) + $V58_env_always_ok$2)) + (a!9 (and true + true + true + a!5 + a!6 + a!7 + (or $in_station$3 (not $warning_start$3)) + a!8)) + (a!11 (or a!10 (ite false false (or (not $in_station$3) (not $V252_X$2)))))) +(let ((a!4 (or (not a!2) (and (or (not $door_is_open$3) $in_station$3) a!3))) + (a!12 (or (not (and $V58_env_always_ok$2 a!9)) + (and (or $in_station$3 (not $door_is_open$3)) (not a!11)))) + (a!13 (= $V59_prop_ok$5 + (and (or $in_station$3 (not $door_is_open$3)) (not a!11))))) +(let ((a!14 (and (= $OK$5 a!12) + (= $V58_env_always_ok$5 (and $V58_env_always_ok$2 a!9)) + a!13 + (= $V264_env_ok$5 a!9) + (= $V250_door_doesnt_open_out_of_station$5 + (or $in_station$3 (not $door_is_open$3))) + (= $V251_door_opens_before_leaving_station$5 (not a!11)) + (= $V253_between_A_and_X$5 a!10) + (= $V252_X$5 (not $in_station$3)) + (= $V266_door_doesnt_open_if_not_asked$5 a!5) + (= $V265_door_doesnt_close_if_not_asked$5 true) + (= $V267_tramway_doesnt_start_if_not_door_ok$5 a!6) + (= $V268_door_initially_closed$5 true) + (= $V269_initially_not_in_station$5 true) + (= $V270_warning_start_and_in_station_go_down_simultaneously$5 + a!7) + (= $V271_warning_start_only_in_station$5 + (or $in_station$3 (not $warning_start$3))) + (= $V272_warning_start_cant_become_true_when_door_is_opening$5 + a!8) + (= $V60_open_door$5 true) + (= $V273_X$5 (not $door_is_open$3)) + (= $V61_close_door$5 false) + (= $V274_X$5 (not $in_station$3)) + (= $V275_X$5 (not $in_station$3)) + (= $V276_X$5 (not $warning_start$3)) + (= $~flatten0$5 $door_is_open$2)))) + (ite a!4 a!14 true)))))) +(check-sat) diff --git a/bench/skolems/tramway_e7_1834_e7_2363_extend_skolem.smt2 b/bench/skolems/tramway_e7_1834_e7_2363_extend_skolem.smt2 new file mode 100644 index 000000000..7bb5c88f2 --- /dev/null +++ b/bench/skolems/tramway_e7_1834_e7_2363_extend_skolem.smt2 @@ -0,0 +1,215 @@ +(declare-fun $door_is_open$~1 () Bool) +(declare-fun $V276_X$2 () Bool) +(declare-fun $V275_X$2 () Bool) +(declare-fun $V274_X$2 () Bool) +(declare-fun $V61_close_door$2 () Bool) +(declare-fun $V273_X$2 () Bool) +(declare-fun $V271_warning_start_only_in_station$2 () Bool) +(declare-fun $V268_door_initially_closed$2 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$2 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$2 + () + Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$2 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$2 () Bool) +(declare-fun $V275_X$~1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$2 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$2 () Bool) +(declare-fun $V264_env_ok$2 () Bool) +(declare-fun $V58_env_always_ok$2 () Bool) +(declare-fun $V269_initially_not_in_station$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$2 + () + Bool) +(declare-fun $V253_between_A_and_X$2 () Bool) +(declare-fun $request_door$~1 () Bool) +(declare-fun $V60_open_door$2 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $V276_X$~1 () Bool) +(declare-fun $warning_start$0 () Bool) +(declare-fun $door_is_open$0 () Bool) +(declare-fun $warning_start$~1 () Bool) +(declare-fun $V58_env_always_ok$~1 () Bool) +(declare-fun $V253_between_A_and_X$~1 () Bool) +(declare-fun $V273_X$~1 () Bool) +(declare-fun $V252_X$~1 () Bool) +(declare-fun $V252_X$2 () Bool) +(declare-fun $V62_door_ok$~1 () Bool) +(declare-fun $~flatten0$2 () Bool) +(declare-fun $V59_prop_ok$2 () Bool) +(declare-fun %init () Bool) +(declare-fun $V274_X$~1 () Bool) +(declare-fun $in_station$0 () Bool) + +(assert (let ((a!1 (not (and (not %init) (or (not $door_is_open$0) (not $V273_X$~1))))) + (a!2 (not (and (not %init) (or (not $in_station$0) (not $V274_X$~1))))) + (a!3 (= (and (not %init) (or (not $in_station$0) (not $V275_X$~1))) + (and (not %init) (or (not $warning_start$0) (not $V276_X$~1))))) + (a!4 (not (and (not %init) (or $warning_start$0 (not $warning_start$~1))))) + (a!7 (and (not (and (not %init) $~flatten0$~1)) + (not %init) + $V253_between_A_and_X$~1)) + (a!10 (not (ite true false (or (not $door_is_open$0) (not $V273_X$~1))))) + (a!11 (not (ite true false (or (not $in_station$0) (not $V274_X$~1))))) + (a!12 (= (ite true false (or (not $in_station$0) (not $V275_X$~1))) + (ite true false (or (not $warning_start$0) (not $V276_X$~1))))) + (a!13 (not (ite true false (or $warning_start$0 (not $warning_start$~1))))) + (a!14 (not (ite %init false (or (not $door_is_open$0) (not $V273_X$~1))))) + (a!15 (not (ite %init false (or (not $in_station$0) (not $V274_X$~1))))) + (a!16 (= (ite %init false (or (not $in_station$0) (not $V275_X$~1))) + (ite %init false (or (not $warning_start$0) (not $V276_X$~1))))) + (a!17 (not (ite %init false (or $warning_start$0 (not $warning_start$~1))))) + (a!20 (ite (ite %init + false + (and $request_door$~1 (not $warning_start$~1))) + true + (ite (ite %init false $~flatten0$~1) + false + (ite %init false $V253_between_A_and_X$~1)))) + (a!25 (not (and (not %init) (or $door_is_open$0 (not $door_is_open$~1))))) + (a!29 (not (ite true false (or $door_is_open$0 (not $door_is_open$~1))))) + (a!30 (not (ite %init false (or $door_is_open$0 (not $door_is_open$~1)))))) +(let ((a!5 (and a!1 + (or a!2 (and (not %init) $V62_door_ok$~1)) + (or (not %init) (not $door_is_open$0)) + (or (not %init) (not $in_station$0)) + a!3 + (or (not $warning_start$0) $in_station$0) + a!4)) + (a!6 (and a!1 + (or a!2 (and (not %init) $V62_door_ok$~1)) + (or (not %init) (not $door_is_open$0)) + (or (not %init) (not $in_station$0)) + a!3 + (or (not $warning_start$0) $in_station$0) + a!4 + $V58_env_always_ok$~1)) + (a!8 (or (and (not %init) $request_door$~1 (not $warning_start$~1)) + a!7 + (and (not %init) (or (not $in_station$0) (not $V252_X$~1))))) + (a!18 (and (ite %init (not $in_station$0) true) + (ite %init (not $door_is_open$0) true) + true + (or false a!14) + (or (ite %init false $V62_door_ok$~1) a!15) + a!16 + (or $in_station$0 (not $warning_start$0)) + (or a!17 (not true)))) + (a!21 (or a!20 + (ite %init false (or (not $in_station$0) (not $V252_X$~1))))) + (a!26 (and a!1 + a!25 + (or a!2 (and (not %init) $V62_door_ok$~1)) + (or (not %init) (not $door_is_open$0)) + (or (not %init) (not $in_station$0)) + a!3 + (or (not $warning_start$0) $in_station$0))) + (a!27 (and a!1 + a!25 + (or a!2 (and (not %init) $V62_door_ok$~1)) + (or (not %init) (not $door_is_open$0)) + (or (not %init) (not $in_station$0)) + a!3 + (or (not $warning_start$0) $in_station$0) + $V58_env_always_ok$~1)) + (a!31 (and (or $in_station$0 (not $warning_start$0)) + a!16 + (ite %init (not $in_station$0) true) + (ite %init (not $door_is_open$0) true) + (or (ite %init false $V62_door_ok$~1) a!15) + (or false a!14) + (or false a!30) + (or a!17 (not false))))) +(let ((a!9 (or (not (ite %init a!5 a!6)) + (and (or (not $door_is_open$0) $in_station$0) (not a!8)))) + (a!19 (ite %init + (and (ite true (not $in_station$0) true) + (ite true (not $door_is_open$0) true) + true + (or false a!10) + (or (ite true false $V62_door_ok$~1) a!11) + a!12 + (or $in_station$0 (not $warning_start$0)) + (or a!13 (not true))) + (and a!18 $V58_env_always_ok$~1))) + (a!23 (= $V59_prop_ok$2 + (and (or $in_station$0 (not $door_is_open$0)) (not a!21)))) + (a!28 (or (not (ite %init a!26 a!27)) + (and (or (not $door_is_open$0) $in_station$0) (not a!8)))) + (a!32 (ite %init + (and (or $in_station$0 (not $warning_start$0)) + a!12 + (ite true (not $in_station$0) true) + (ite true (not $door_is_open$0) true) + (or (ite true false $V62_door_ok$~1) a!11) + (or false a!10) + (or false a!29) + (or a!13 (not false))) + (and a!31 $V58_env_always_ok$~1)))) +(let ((a!22 (or (not a!19) + (and (or $in_station$0 (not $door_is_open$0)) (not a!21)))) + (a!33 (or (and (or $in_station$0 (not $door_is_open$0)) (not a!21)) + (not a!32)))) +(let ((a!24 (and (= $OK$2 a!22) + (= $V58_env_always_ok$2 a!19) + a!23 + (= $V264_env_ok$2 a!18) + (= $V250_door_doesnt_open_out_of_station$2 + (or $in_station$0 (not $door_is_open$0))) + (= $V251_door_opens_before_leaving_station$2 (not a!21)) + (= $V253_between_A_and_X$2 a!20) + (= $V252_X$2 (not $in_station$0)) + (= $V266_door_doesnt_open_if_not_asked$2 (or false a!14)) + (= $V265_door_doesnt_close_if_not_asked$2 true) + (= $V267_tramway_doesnt_start_if_not_door_ok$2 + (or (ite %init false $V62_door_ok$~1) a!15)) + (= $V268_door_initially_closed$2 + (ite %init (not $door_is_open$0) true)) + (= $V269_initially_not_in_station$2 + (ite %init (not $in_station$0) true)) + (= $V270_warning_start_and_in_station_go_down_simultaneously$2 + a!16) + (= $V271_warning_start_only_in_station$2 + (or $in_station$0 (not $warning_start$0))) + (= $V272_warning_start_cant_become_true_when_door_is_opening$2 + (or a!17 (not true))) + (= $V60_open_door$2 true) + (= $V273_X$2 (not $door_is_open$0)) + (= $V61_close_door$2 false) + (= $V274_X$2 (not $in_station$0)) + (= $V275_X$2 (not $in_station$0)) + (= $V276_X$2 (not $warning_start$0)) + (= $~flatten0$2 (ite %init false $door_is_open$~1)))) + (a!34 (and (= $OK$2 a!33) + (= $V58_env_always_ok$2 a!32) + a!23 + (= $V264_env_ok$2 a!31) + (= $V250_door_doesnt_open_out_of_station$2 + (or $in_station$0 (not $door_is_open$0))) + (= $V251_door_opens_before_leaving_station$2 (not a!21)) + (= $V253_between_A_and_X$2 a!20) + (= $V252_X$2 (not $in_station$0)) + (= $V266_door_doesnt_open_if_not_asked$2 (or false a!14)) + (= $V265_door_doesnt_close_if_not_asked$2 (or false a!30)) + (= $V267_tramway_doesnt_start_if_not_door_ok$2 + (or (ite %init false $V62_door_ok$~1) a!15)) + (= $V268_door_initially_closed$2 + (ite %init (not $door_is_open$0) true)) + (= $V269_initially_not_in_station$2 + (ite %init (not $in_station$0) true)) + (= $V270_warning_start_and_in_station_go_down_simultaneously$2 + a!16) + (= $V271_warning_start_only_in_station$2 + (or $in_station$0 (not $warning_start$0))) + (= $V272_warning_start_cant_become_true_when_door_is_opening$2 + (or a!17 (not false))) + (= $V60_open_door$2 false) + (= $V273_X$2 (not $door_is_open$0)) + (= $V61_close_door$2 false) + (= $V274_X$2 (not $in_station$0)) + (= $V275_X$2 (not $in_station$0)) + (= $V276_X$2 (not $warning_start$0)) + (= $~flatten0$2 (ite %init false $door_is_open$~1))))) + (ite a!9 a!24 (ite a!28 a!34 true)))))))) +(check-sat) diff --git a/bench/skolems/tramway_e7_1834_extend_skolem.smt2 b/bench/skolems/tramway_e7_1834_extend_skolem.smt2 new file mode 100644 index 000000000..979b5a301 --- /dev/null +++ b/bench/skolems/tramway_e7_1834_extend_skolem.smt2 @@ -0,0 +1,216 @@ +(declare-fun $door_is_open$~1 () Bool) +(declare-fun $~flatten0$2 () Bool) +(declare-fun $V276_X$2 () Bool) +(declare-fun $V275_X$2 () Bool) +(declare-fun $V274_X$2 () Bool) +(declare-fun $V60_open_door$2 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$2 + () + Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$2 + () + Bool) +(declare-fun $V269_initially_not_in_station$2 () Bool) +(declare-fun $V268_door_initially_closed$2 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$2 () Bool) +(declare-fun $warning_start$0 () Bool) +(declare-fun $V59_prop_ok$2 () Bool) +(declare-fun $V252_X$2 () Bool) +(declare-fun $V61_close_door$2 () Bool) +(declare-fun $V253_between_A_and_X$2 () Bool) +(declare-fun $V273_X$~1 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$2 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$2 () Bool) +(declare-fun $V253_between_A_and_X$~1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$2 () Bool) +(declare-fun $V276_X$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $V264_env_ok$2 () Bool) +(declare-fun $V273_X$2 () Bool) +(declare-fun $door_is_open$0 () Bool) +(declare-fun $request_door$~1 () Bool) +(declare-fun $V275_X$~1 () Bool) +(declare-fun $V62_door_ok$~1 () Bool) +(declare-fun $V58_env_always_ok$~1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$2 () Bool) +(declare-fun $warning_start$~1 () Bool) +(declare-fun $V274_X$~1 () Bool) +(declare-fun $V58_env_always_ok$2 () Bool) +(declare-fun $V271_warning_start_only_in_station$2 () Bool) +(declare-fun $V252_X$~1 () Bool) +(declare-fun %init () Bool) +(declare-fun $in_station$0 () Bool) + +(assert (let ((a!1 (not (and (not %init) (or (not $door_is_open$0) (not $V273_X$~1))))) + (a!2 (not (and (not %init) (or (not $in_station$0) (not $V274_X$~1))))) + (a!3 (= (and (not %init) (or (not $in_station$0) (not $V275_X$~1))) + (and (not %init) (or (not $warning_start$0) (not $V276_X$~1))))) + (a!4 (not (and (not %init) (or $warning_start$0 (not $warning_start$~1))))) + (a!7 (and (not (and (not %init) $~flatten0$~1)) + (not %init) + $V253_between_A_and_X$~1)) + (a!10 (not (ite true false (or (not $door_is_open$0) (not $V273_X$~1))))) + (a!11 (not (ite true false (or (not $in_station$0) (not $V274_X$~1))))) + (a!12 (= (ite true false (or (not $in_station$0) (not $V275_X$~1))) + (ite true false (or (not $warning_start$0) (not $V276_X$~1))))) + (a!13 (not (ite true false (or $warning_start$0 (not $warning_start$~1))))) + (a!14 (not (ite %init false (or (not $door_is_open$0) (not $V273_X$~1))))) + (a!15 (not (ite %init false (or (not $in_station$0) (not $V274_X$~1))))) + (a!16 (= (ite %init false (or (not $in_station$0) (not $V275_X$~1))) + (ite %init false (or (not $warning_start$0) (not $V276_X$~1))))) + (a!17 (not (ite %init false (or $warning_start$0 (not $warning_start$~1))))) + (a!20 (ite (ite %init + false + (and $request_door$~1 (not $warning_start$~1))) + true + (ite (ite %init false $~flatten0$~1) + false + (ite %init false $V253_between_A_and_X$~1)))) + (a!25 (not (and (not %init) (or $door_is_open$0 (not $door_is_open$~1))))) + (a!29 (not (ite true false (or $door_is_open$0 (not $door_is_open$~1))))) + (a!30 (not (ite %init false (or $door_is_open$0 (not $door_is_open$~1)))))) +(let ((a!5 (and a!1 + (or a!2 (and (not %init) $V62_door_ok$~1)) + (or (not %init) (not $door_is_open$0)) + (or (not %init) (not $in_station$0)) + a!3 + (or (not $warning_start$0) $in_station$0) + a!4)) + (a!6 (and a!1 + (or a!2 (and (not %init) $V62_door_ok$~1)) + (or (not %init) (not $door_is_open$0)) + (or (not %init) (not $in_station$0)) + a!3 + (or (not $warning_start$0) $in_station$0) + a!4 + $V58_env_always_ok$~1)) + (a!8 (and (or (and (not %init) $request_door$~1 (not $warning_start$~1)) + a!7) + (not %init) + (or (not $in_station$0) (not $V252_X$~1)))) + (a!18 (and (ite %init (not $in_station$0) true) + (ite %init (not $door_is_open$0) true) + true + (or false a!14) + (or (ite %init false $V62_door_ok$~1) a!15) + a!16 + (or $in_station$0 (not $warning_start$0)) + (or a!17 (not true)))) + (a!21 (and a!20 + (ite %init false (or (not $in_station$0) (not $V252_X$~1))))) + (a!26 (and a!1 + a!25 + (or a!2 (and (not %init) $V62_door_ok$~1)) + (or (not %init) (not $door_is_open$0)) + (or (not %init) (not $in_station$0)) + a!3 + (or (not $warning_start$0) $in_station$0))) + (a!27 (and a!1 + a!25 + (or a!2 (and (not %init) $V62_door_ok$~1)) + (or (not %init) (not $door_is_open$0)) + (or (not %init) (not $in_station$0)) + a!3 + (or (not $warning_start$0) $in_station$0) + $V58_env_always_ok$~1)) + (a!31 (and (or $in_station$0 (not $warning_start$0)) + a!16 + (ite %init (not $in_station$0) true) + (ite %init (not $door_is_open$0) true) + (or (ite %init false $V62_door_ok$~1) a!15) + (or false a!14) + (or false a!30) + (or a!17 (not false))))) +(let ((a!9 (or (not (ite %init a!5 a!6)) + (and (or (not $door_is_open$0) $in_station$0) (not a!8)))) + (a!19 (ite %init + (and (ite true (not $in_station$0) true) + (ite true (not $door_is_open$0) true) + true + (or false a!10) + (or (ite true false $V62_door_ok$~1) a!11) + a!12 + (or $in_station$0 (not $warning_start$0)) + (or a!13 (not true))) + (and a!18 $V58_env_always_ok$~1))) + (a!23 (= $V59_prop_ok$2 + (and (or $in_station$0 (not $door_is_open$0)) (not a!21)))) + (a!28 (or (not (ite %init a!26 a!27)) + (and (or (not $door_is_open$0) $in_station$0) (not a!8)))) + (a!32 (ite %init + (and (or $in_station$0 (not $warning_start$0)) + a!12 + (ite true (not $in_station$0) true) + (ite true (not $door_is_open$0) true) + (or (ite true false $V62_door_ok$~1) a!11) + (or false a!10) + (or false a!29) + (or a!13 (not false))) + (and a!31 $V58_env_always_ok$~1)))) +(let ((a!22 (or (not a!19) + (and (or $in_station$0 (not $door_is_open$0)) (not a!21)))) + (a!33 (or (and (or $in_station$0 (not $door_is_open$0)) (not a!21)) + (not a!32)))) +(let ((a!24 (and (= $OK$2 a!22) + (= $V58_env_always_ok$2 a!19) + a!23 + (= $V264_env_ok$2 a!18) + (= $V250_door_doesnt_open_out_of_station$2 + (or $in_station$0 (not $door_is_open$0))) + (= $V251_door_opens_before_leaving_station$2 (not a!21)) + (= $V253_between_A_and_X$2 a!20) + (= $V252_X$2 (not $in_station$0)) + (= $V266_door_doesnt_open_if_not_asked$2 (or false a!14)) + (= $V265_door_doesnt_close_if_not_asked$2 true) + (= $V267_tramway_doesnt_start_if_not_door_ok$2 + (or (ite %init false $V62_door_ok$~1) a!15)) + (= $V268_door_initially_closed$2 + (ite %init (not $door_is_open$0) true)) + (= $V269_initially_not_in_station$2 + (ite %init (not $in_station$0) true)) + (= $V270_warning_start_and_in_station_go_down_simultaneously$2 + a!16) + (= $V271_warning_start_only_in_station$2 + (or $in_station$0 (not $warning_start$0))) + (= $V272_warning_start_cant_become_true_when_door_is_opening$2 + (or a!17 (not true))) + (= $V60_open_door$2 true) + (= $V273_X$2 (not $door_is_open$0)) + (= $V61_close_door$2 false) + (= $V274_X$2 (not $in_station$0)) + (= $V275_X$2 (not $in_station$0)) + (= $V276_X$2 (not $warning_start$0)) + (= $~flatten0$2 (ite %init false $door_is_open$~1)))) + (a!34 (and (= $OK$2 a!33) + (= $V58_env_always_ok$2 a!32) + a!23 + (= $V264_env_ok$2 a!31) + (= $V250_door_doesnt_open_out_of_station$2 + (or $in_station$0 (not $door_is_open$0))) + (= $V251_door_opens_before_leaving_station$2 (not a!21)) + (= $V253_between_A_and_X$2 a!20) + (= $V252_X$2 (not $in_station$0)) + (= $V266_door_doesnt_open_if_not_asked$2 (or false a!14)) + (= $V265_door_doesnt_close_if_not_asked$2 (or false a!30)) + (= $V267_tramway_doesnt_start_if_not_door_ok$2 + (or (ite %init false $V62_door_ok$~1) a!15)) + (= $V268_door_initially_closed$2 + (ite %init (not $door_is_open$0) true)) + (= $V269_initially_not_in_station$2 + (ite %init (not $in_station$0) true)) + (= $V270_warning_start_and_in_station_go_down_simultaneously$2 + a!16) + (= $V271_warning_start_only_in_station$2 + (or $in_station$0 (not $warning_start$0))) + (= $V272_warning_start_cant_become_true_when_door_is_opening$2 + (or a!17 (not false))) + (= $V60_open_door$2 false) + (= $V273_X$2 (not $door_is_open$0)) + (= $V61_close_door$2 false) + (= $V274_X$2 (not $in_station$0)) + (= $V275_X$2 (not $in_station$0)) + (= $V276_X$2 (not $warning_start$0)) + (= $~flatten0$2 (ite %init false $door_is_open$~1))))) + (ite a!9 a!24 (ite a!28 a!34 true)))))))) +(check-sat) diff --git a/bench/tasks/PRODUCER_CONSUMER_2_base_s_part.smt2 b/bench/tasks/PRODUCER_CONSUMER_2_base_s_part.smt2 new file mode 100755 index 000000000..fef2590b9 --- /dev/null +++ b/bench/tasks/PRODUCER_CONSUMER_2_base_s_part.smt2 @@ -0,0 +1,25 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($etat1$0 Bool) ($etat2$0 Bool) ($etat3$0 Bool) ($a_init$0 Int) ($V26_i$0 Int) ($OK$0 Bool) ($V31_env$0 Bool) ($V74_X$0 Bool) ($V79_Sofar$0 Bool) ($V87_First$0 Int) ($etat1$1 Bool) ($etat2$1 Bool) ($etat3$1 Bool) ($a_init$1 Int) ($V26_i$1 Int) ($OK$1 Bool) ($V31_env$1 Bool) ($V74_X$1 Bool) ($V79_Sofar$1 Bool) ($V87_First$1 Int)) Bool (and (= $OK$1 (=> $V31_env$1 (>= $V26_i$1 0))) (= $V31_env$1 (and (and $V79_Sofar$1 (ite %init (not $etat1$1) true)) (> $V87_First$1 0))) (= $V74_X$1 (not (and $etat2$1 $etat3$1))) (= $V79_Sofar$1 (ite %init $V74_X$1 (and $V74_X$1 $V79_Sofar$0))) (= $V87_First$1 (ite %init $a_init$1 $V87_First$0)))) +; Universally quantified variables +(declare-fun $etat1$~1 () Bool) +(declare-fun $etat2$~1 () Bool) +(declare-fun $etat3$~1 () Bool) +(declare-fun $a_init$~1 () Int) +(declare-fun $V26_i$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V31_env$~1 () Bool) +(declare-fun $V74_X$~1 () Bool) +(declare-fun $V79_Sofar$~1 () Bool) +(declare-fun $V87_First$~1 () Int) +(declare-fun $etat1$0 () Bool) +(declare-fun $etat2$0 () Bool) +(declare-fun $etat3$0 () Bool) +(declare-fun $a_init$0 () Int) +(declare-fun $V26_i$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V31_env$0 () Bool) +(declare-fun $V74_X$0 () Bool) +(declare-fun $V79_Sofar$0 () Bool) +(declare-fun $V87_First$0 () Int) +(assert (T true $etat1$~1 $etat2$~1 $etat3$~1 $a_init$~1 $V26_i$~1 $OK$~1 $V31_env$~1 $V74_X$~1 $V79_Sofar$~1 $V87_First$~1 $etat1$0 $etat2$0 $etat3$0 $a_init$0 $V26_i$0 $OK$0 $V31_env$0 $V74_X$0 $V79_Sofar$0 $V87_First$0)) diff --git a/bench/tasks/PRODUCER_CONSUMER_2_base_t_part.smt2 b/bench/tasks/PRODUCER_CONSUMER_2_base_t_part.smt2 new file mode 100755 index 000000000..eb9df018e --- /dev/null +++ b/bench/tasks/PRODUCER_CONSUMER_2_base_t_part.smt2 @@ -0,0 +1,25 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($etat1$0 Bool) ($etat2$0 Bool) ($etat3$0 Bool) ($a_init$0 Int) ($V26_i$0 Int) ($OK$0 Bool) ($V31_env$0 Bool) ($V74_X$0 Bool) ($V79_Sofar$0 Bool) ($V87_First$0 Int) ($etat1$1 Bool) ($etat2$1 Bool) ($etat3$1 Bool) ($a_init$1 Int) ($V26_i$1 Int) ($OK$1 Bool) ($V31_env$1 Bool) ($V74_X$1 Bool) ($V79_Sofar$1 Bool) ($V87_First$1 Int)) Bool (and (= $OK$1 (=> $V31_env$1 (>= $V26_i$1 0))) (= $V31_env$1 (and (and $V79_Sofar$1 (ite %init (not $etat1$1) true)) (> $V87_First$1 0))) (= $V74_X$1 (not (and $etat2$1 $etat3$1))) (= $V79_Sofar$1 (ite %init $V74_X$1 (and $V74_X$1 $V79_Sofar$0))) (= $V87_First$1 (ite %init $a_init$1 $V87_First$0)))) +; Universally quantified variables +(declare-fun $etat1$~1 () Bool) +(declare-fun $etat2$~1 () Bool) +(declare-fun $etat3$~1 () Bool) +(declare-fun $a_init$~1 () Int) +(declare-fun $V26_i$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V31_env$~1 () Bool) +(declare-fun $V74_X$~1 () Bool) +(declare-fun $V79_Sofar$~1 () Bool) +(declare-fun $V87_First$~1 () Int) +(declare-fun $etat1$0 () Bool) +(declare-fun $etat2$0 () Bool) +(declare-fun $etat3$0 () Bool) +(declare-fun $a_init$0 () Int) +(declare-fun $V26_i$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V31_env$2 () Bool) +(declare-fun $V74_X$2 () Bool) +(declare-fun $V79_Sofar$2 () Bool) +(declare-fun $V87_First$2 () Int) +(assert (and (T true $etat1$~1 $etat2$~1 $etat3$~1 $a_init$~1 $V26_i$~1 $OK$~1 $V31_env$~1 $V74_X$~1 $V79_Sofar$~1 $V87_First$~1 $etat1$0 $etat2$0 $etat3$0 $a_init$0 $V26_i$2 $OK$2 $V31_env$2 $V74_X$2 $V79_Sofar$2 $V87_First$2) $OK$2)) diff --git a/bench/tasks/PRODUCER_CONSUMER_2_extend_s_part.smt2 b/bench/tasks/PRODUCER_CONSUMER_2_extend_s_part.smt2 new file mode 100755 index 000000000..fd3b62fe4 --- /dev/null +++ b/bench/tasks/PRODUCER_CONSUMER_2_extend_s_part.smt2 @@ -0,0 +1,26 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($etat1$0 Bool) ($etat2$0 Bool) ($etat3$0 Bool) ($a_init$0 Int) ($V26_i$0 Int) ($OK$0 Bool) ($V31_env$0 Bool) ($V74_X$0 Bool) ($V79_Sofar$0 Bool) ($V87_First$0 Int) ($etat1$1 Bool) ($etat2$1 Bool) ($etat3$1 Bool) ($a_init$1 Int) ($V26_i$1 Int) ($OK$1 Bool) ($V31_env$1 Bool) ($V74_X$1 Bool) ($V79_Sofar$1 Bool) ($V87_First$1 Int)) Bool (and (= $OK$1 (=> $V31_env$1 (>= $V26_i$1 0))) (= $V31_env$1 (and (and $V79_Sofar$1 (ite %init (not $etat1$1) true)) (> $V87_First$1 0))) (= $V74_X$1 (not (and $etat2$1 $etat3$1))) (= $V79_Sofar$1 (ite %init $V74_X$1 (and $V74_X$1 $V79_Sofar$0))) (= $V87_First$1 (ite %init $a_init$1 $V87_First$0)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $etat1$~1 () Bool) +(declare-fun $etat2$~1 () Bool) +(declare-fun $etat3$~1 () Bool) +(declare-fun $a_init$~1 () Int) +(declare-fun $V26_i$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V31_env$~1 () Bool) +(declare-fun $V74_X$~1 () Bool) +(declare-fun $V79_Sofar$~1 () Bool) +(declare-fun $V87_First$~1 () Int) +(declare-fun $etat1$0 () Bool) +(declare-fun $etat2$0 () Bool) +(declare-fun $etat3$0 () Bool) +(declare-fun $a_init$0 () Int) +(declare-fun $V26_i$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V31_env$0 () Bool) +(declare-fun $V74_X$0 () Bool) +(declare-fun $V79_Sofar$0 () Bool) +(declare-fun $V87_First$0 () Int) +(assert (T %init $etat1$~1 $etat2$~1 $etat3$~1 $a_init$~1 $V26_i$~1 $OK$~1 $V31_env$~1 $V74_X$~1 $V79_Sofar$~1 $V87_First$~1 $etat1$0 $etat2$0 $etat3$0 $a_init$0 $V26_i$0 $OK$0 $V31_env$0 $V74_X$0 $V79_Sofar$0 $V87_First$0)) diff --git a/bench/tasks/PRODUCER_CONSUMER_2_extend_t_part.smt2 b/bench/tasks/PRODUCER_CONSUMER_2_extend_t_part.smt2 new file mode 100755 index 000000000..717231b54 --- /dev/null +++ b/bench/tasks/PRODUCER_CONSUMER_2_extend_t_part.smt2 @@ -0,0 +1,26 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($etat1$0 Bool) ($etat2$0 Bool) ($etat3$0 Bool) ($a_init$0 Int) ($V26_i$0 Int) ($OK$0 Bool) ($V31_env$0 Bool) ($V74_X$0 Bool) ($V79_Sofar$0 Bool) ($V87_First$0 Int) ($etat1$1 Bool) ($etat2$1 Bool) ($etat3$1 Bool) ($a_init$1 Int) ($V26_i$1 Int) ($OK$1 Bool) ($V31_env$1 Bool) ($V74_X$1 Bool) ($V79_Sofar$1 Bool) ($V87_First$1 Int)) Bool (and (= $OK$1 (=> $V31_env$1 (>= $V26_i$1 0))) (= $V31_env$1 (and (and $V79_Sofar$1 (ite %init (not $etat1$1) true)) (> $V87_First$1 0))) (= $V74_X$1 (not (and $etat2$1 $etat3$1))) (= $V79_Sofar$1 (ite %init $V74_X$1 (and $V74_X$1 $V79_Sofar$0))) (= $V87_First$1 (ite %init $a_init$1 $V87_First$0)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $etat1$~1 () Bool) +(declare-fun $etat2$~1 () Bool) +(declare-fun $etat3$~1 () Bool) +(declare-fun $a_init$~1 () Int) +(declare-fun $V26_i$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V31_env$~1 () Bool) +(declare-fun $V74_X$~1 () Bool) +(declare-fun $V79_Sofar$~1 () Bool) +(declare-fun $V87_First$~1 () Int) +(declare-fun $etat1$0 () Bool) +(declare-fun $etat2$0 () Bool) +(declare-fun $etat3$0 () Bool) +(declare-fun $a_init$0 () Int) +(declare-fun $V26_i$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V31_env$2 () Bool) +(declare-fun $V74_X$2 () Bool) +(declare-fun $V79_Sofar$2 () Bool) +(declare-fun $V87_First$2 () Int) +(assert (and (T %init $etat1$~1 $etat2$~1 $etat3$~1 $a_init$~1 $V26_i$~1 $OK$~1 $V31_env$~1 $V74_X$~1 $V79_Sofar$~1 $V87_First$~1 $etat1$0 $etat2$0 $etat3$0 $a_init$0 $V26_i$2 $OK$2 $V31_env$2 $V74_X$2 $V79_Sofar$2 $V87_First$2) $OK$2)) diff --git a/bench/tasks/SYNAPSE_2_e8_1118_e7_1043_base_s_part.smt2 b/bench/tasks/SYNAPSE_2_e8_1118_e7_1043_base_s_part.smt2 new file mode 100755 index 000000000..19576ab31 --- /dev/null +++ b/bench/tasks/SYNAPSE_2_e8_1118_e7_1043_base_s_part.smt2 @@ -0,0 +1,25 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($e_s1$0 Bool) ($e_s2$0 Bool) ($e_s3$0 Bool) ($init_invalid_s$0 Int) ($V27_invalid_s$0 Int) ($V28_valid_s$0 Int) ($V29_dirty_s$0 Int) ($OK$0 Bool) ($V31_env$0 Bool) ($V83_X$0 Bool) ($e_s1$1 Bool) ($e_s2$1 Bool) ($e_s3$1 Bool) ($init_invalid_s$1 Int) ($V27_invalid_s$1 Int) ($V28_valid_s$1 Int) ($V29_dirty_s$1 Int) ($OK$1 Bool) ($V31_env$1 Bool) ($V83_X$1 Bool)) Bool (and (= $OK$1 (=> $V31_env$1 (ite %init true (= (+ (+ $V27_invalid_s$1 $V28_valid_s$1) $V29_dirty_s$1) (+ (+ $V27_invalid_s$0 $V28_valid_s$0) $V29_dirty_s$0))))) (= $V31_env$1 (ite %init $V83_X$1 (or $V83_X$1 $V31_env$0))) (= $V83_X$1 (and (not (or (and (and (and $e_s1$1 $e_s2$1) $e_s1$1) $e_s3$1) (and $e_s2$1 $e_s3$1))) (>= $init_invalid_s$1 0))))) +; Universally quantified variables +(declare-fun $e_s1$~1 () Bool) +(declare-fun $e_s2$~1 () Bool) +(declare-fun $e_s3$~1 () Bool) +(declare-fun $init_invalid_s$~1 () Int) +(declare-fun $V27_invalid_s$~1 () Int) +(declare-fun $V28_valid_s$~1 () Int) +(declare-fun $V29_dirty_s$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V31_env$~1 () Bool) +(declare-fun $V83_X$~1 () Bool) +(declare-fun $e_s1$0 () Bool) +(declare-fun $e_s2$0 () Bool) +(declare-fun $e_s3$0 () Bool) +(declare-fun $init_invalid_s$0 () Int) +(declare-fun $V27_invalid_s$0 () Int) +(declare-fun $V28_valid_s$0 () Int) +(declare-fun $V29_dirty_s$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V31_env$0 () Bool) +(declare-fun $V83_X$0 () Bool) +(assert (T true $e_s1$~1 $e_s2$~1 $e_s3$~1 $init_invalid_s$~1 $V27_invalid_s$~1 $V28_valid_s$~1 $V29_dirty_s$~1 $OK$~1 $V31_env$~1 $V83_X$~1 $e_s1$0 $e_s2$0 $e_s3$0 $init_invalid_s$0 $V27_invalid_s$0 $V28_valid_s$0 $V29_dirty_s$0 $OK$0 $V31_env$0 $V83_X$0)) diff --git a/bench/tasks/SYNAPSE_2_e8_1118_e7_1043_base_t_part.smt2 b/bench/tasks/SYNAPSE_2_e8_1118_e7_1043_base_t_part.smt2 new file mode 100755 index 000000000..d4d09383e --- /dev/null +++ b/bench/tasks/SYNAPSE_2_e8_1118_e7_1043_base_t_part.smt2 @@ -0,0 +1,25 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($e_s1$0 Bool) ($e_s2$0 Bool) ($e_s3$0 Bool) ($init_invalid_s$0 Int) ($V27_invalid_s$0 Int) ($V28_valid_s$0 Int) ($V29_dirty_s$0 Int) ($OK$0 Bool) ($V31_env$0 Bool) ($V83_X$0 Bool) ($e_s1$1 Bool) ($e_s2$1 Bool) ($e_s3$1 Bool) ($init_invalid_s$1 Int) ($V27_invalid_s$1 Int) ($V28_valid_s$1 Int) ($V29_dirty_s$1 Int) ($OK$1 Bool) ($V31_env$1 Bool) ($V83_X$1 Bool)) Bool (and (= $OK$1 (=> $V31_env$1 (ite %init true (= (+ (+ $V27_invalid_s$1 $V28_valid_s$1) $V29_dirty_s$1) (+ (+ $V27_invalid_s$0 $V28_valid_s$0) $V29_dirty_s$0))))) (= $V31_env$1 (ite %init $V83_X$1 (or $V83_X$1 $V31_env$0))) (= $V83_X$1 (and (not (or (and (and (and $e_s1$1 $e_s2$1) $e_s1$1) $e_s3$1) (and $e_s2$1 $e_s3$1))) (>= $init_invalid_s$1 0))))) +; Universally quantified variables +(declare-fun $e_s1$~1 () Bool) +(declare-fun $e_s2$~1 () Bool) +(declare-fun $e_s3$~1 () Bool) +(declare-fun $init_invalid_s$~1 () Int) +(declare-fun $V27_invalid_s$~1 () Int) +(declare-fun $V28_valid_s$~1 () Int) +(declare-fun $V29_dirty_s$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V31_env$~1 () Bool) +(declare-fun $V83_X$~1 () Bool) +(declare-fun $e_s1$0 () Bool) +(declare-fun $e_s2$0 () Bool) +(declare-fun $e_s3$0 () Bool) +(declare-fun $init_invalid_s$0 () Int) +(declare-fun $V27_invalid_s$2 () Int) +(declare-fun $V28_valid_s$2 () Int) +(declare-fun $V29_dirty_s$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V31_env$2 () Bool) +(declare-fun $V83_X$2 () Bool) +(assert (and (T true $e_s1$~1 $e_s2$~1 $e_s3$~1 $init_invalid_s$~1 $V27_invalid_s$~1 $V28_valid_s$~1 $V29_dirty_s$~1 $OK$~1 $V31_env$~1 $V83_X$~1 $e_s1$0 $e_s2$0 $e_s3$0 $init_invalid_s$0 $V27_invalid_s$2 $V28_valid_s$2 $V29_dirty_s$2 $OK$2 $V31_env$2 $V83_X$2) $OK$2)) diff --git a/bench/tasks/SYNAPSE_2_e8_1118_e7_1043_extend_s_part.smt2 b/bench/tasks/SYNAPSE_2_e8_1118_e7_1043_extend_s_part.smt2 new file mode 100755 index 000000000..db5f83468 --- /dev/null +++ b/bench/tasks/SYNAPSE_2_e8_1118_e7_1043_extend_s_part.smt2 @@ -0,0 +1,26 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($e_s1$0 Bool) ($e_s2$0 Bool) ($e_s3$0 Bool) ($init_invalid_s$0 Int) ($V27_invalid_s$0 Int) ($V28_valid_s$0 Int) ($V29_dirty_s$0 Int) ($OK$0 Bool) ($V31_env$0 Bool) ($V83_X$0 Bool) ($e_s1$1 Bool) ($e_s2$1 Bool) ($e_s3$1 Bool) ($init_invalid_s$1 Int) ($V27_invalid_s$1 Int) ($V28_valid_s$1 Int) ($V29_dirty_s$1 Int) ($OK$1 Bool) ($V31_env$1 Bool) ($V83_X$1 Bool)) Bool (and (= $OK$1 (=> $V31_env$1 (ite %init true (= (+ (+ $V27_invalid_s$1 $V28_valid_s$1) $V29_dirty_s$1) (+ (+ $V27_invalid_s$0 $V28_valid_s$0) $V29_dirty_s$0))))) (= $V31_env$1 (ite %init $V83_X$1 (or $V83_X$1 $V31_env$0))) (= $V83_X$1 (and (not (or (and (and (and $e_s1$1 $e_s2$1) $e_s1$1) $e_s3$1) (and $e_s2$1 $e_s3$1))) (>= $init_invalid_s$1 0))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $e_s1$~1 () Bool) +(declare-fun $e_s2$~1 () Bool) +(declare-fun $e_s3$~1 () Bool) +(declare-fun $init_invalid_s$~1 () Int) +(declare-fun $V27_invalid_s$~1 () Int) +(declare-fun $V28_valid_s$~1 () Int) +(declare-fun $V29_dirty_s$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V31_env$~1 () Bool) +(declare-fun $V83_X$~1 () Bool) +(declare-fun $e_s1$0 () Bool) +(declare-fun $e_s2$0 () Bool) +(declare-fun $e_s3$0 () Bool) +(declare-fun $init_invalid_s$0 () Int) +(declare-fun $V27_invalid_s$0 () Int) +(declare-fun $V28_valid_s$0 () Int) +(declare-fun $V29_dirty_s$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V31_env$0 () Bool) +(declare-fun $V83_X$0 () Bool) +(assert (T %init $e_s1$~1 $e_s2$~1 $e_s3$~1 $init_invalid_s$~1 $V27_invalid_s$~1 $V28_valid_s$~1 $V29_dirty_s$~1 $OK$~1 $V31_env$~1 $V83_X$~1 $e_s1$0 $e_s2$0 $e_s3$0 $init_invalid_s$0 $V27_invalid_s$0 $V28_valid_s$0 $V29_dirty_s$0 $OK$0 $V31_env$0 $V83_X$0)) diff --git a/bench/tasks/SYNAPSE_2_e8_1118_e7_1043_extend_t_part.smt2 b/bench/tasks/SYNAPSE_2_e8_1118_e7_1043_extend_t_part.smt2 new file mode 100755 index 000000000..6f9f1215c --- /dev/null +++ b/bench/tasks/SYNAPSE_2_e8_1118_e7_1043_extend_t_part.smt2 @@ -0,0 +1,26 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($e_s1$0 Bool) ($e_s2$0 Bool) ($e_s3$0 Bool) ($init_invalid_s$0 Int) ($V27_invalid_s$0 Int) ($V28_valid_s$0 Int) ($V29_dirty_s$0 Int) ($OK$0 Bool) ($V31_env$0 Bool) ($V83_X$0 Bool) ($e_s1$1 Bool) ($e_s2$1 Bool) ($e_s3$1 Bool) ($init_invalid_s$1 Int) ($V27_invalid_s$1 Int) ($V28_valid_s$1 Int) ($V29_dirty_s$1 Int) ($OK$1 Bool) ($V31_env$1 Bool) ($V83_X$1 Bool)) Bool (and (= $OK$1 (=> $V31_env$1 (ite %init true (= (+ (+ $V27_invalid_s$1 $V28_valid_s$1) $V29_dirty_s$1) (+ (+ $V27_invalid_s$0 $V28_valid_s$0) $V29_dirty_s$0))))) (= $V31_env$1 (ite %init $V83_X$1 (or $V83_X$1 $V31_env$0))) (= $V83_X$1 (and (not (or (and (and (and $e_s1$1 $e_s2$1) $e_s1$1) $e_s3$1) (and $e_s2$1 $e_s3$1))) (>= $init_invalid_s$1 0))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $e_s1$~1 () Bool) +(declare-fun $e_s2$~1 () Bool) +(declare-fun $e_s3$~1 () Bool) +(declare-fun $init_invalid_s$~1 () Int) +(declare-fun $V27_invalid_s$~1 () Int) +(declare-fun $V28_valid_s$~1 () Int) +(declare-fun $V29_dirty_s$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V31_env$~1 () Bool) +(declare-fun $V83_X$~1 () Bool) +(declare-fun $e_s1$0 () Bool) +(declare-fun $e_s2$0 () Bool) +(declare-fun $e_s3$0 () Bool) +(declare-fun $init_invalid_s$0 () Int) +(declare-fun $V27_invalid_s$2 () Int) +(declare-fun $V28_valid_s$2 () Int) +(declare-fun $V29_dirty_s$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V31_env$2 () Bool) +(declare-fun $V83_X$2 () Bool) +(assert (and (T %init $e_s1$~1 $e_s2$~1 $e_s3$~1 $init_invalid_s$~1 $V27_invalid_s$~1 $V28_valid_s$~1 $V29_dirty_s$~1 $OK$~1 $V31_env$~1 $V83_X$~1 $e_s1$0 $e_s2$0 $e_s3$0 $init_invalid_s$0 $V27_invalid_s$2 $V28_valid_s$2 $V29_dirty_s$2 $OK$2 $V31_env$2 $V83_X$2) $OK$2)) diff --git a/bench/tasks/SYNAPSE_4_e8_420_e8_1525_base_s_part.smt2 b/bench/tasks/SYNAPSE_4_e8_420_e8_1525_base_s_part.smt2 new file mode 100755 index 000000000..b16f81fe4 --- /dev/null +++ b/bench/tasks/SYNAPSE_4_e8_420_e8_1525_base_s_part.smt2 @@ -0,0 +1,23 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($e_s1$0 Bool) ($e_s2$0 Bool) ($e_s3$0 Bool) ($init_invalid_s$0 Int) ($V28_valid_s$0 Int) ($V29_dirty_s$0 Int) ($OK$0 Bool) ($V31_env$0 Bool) ($V84_X$0 Bool) ($e_s1$1 Bool) ($e_s2$1 Bool) ($e_s3$1 Bool) ($init_invalid_s$1 Int) ($V28_valid_s$1 Int) ($V29_dirty_s$1 Int) ($OK$1 Bool) ($V31_env$1 Bool) ($V84_X$1 Bool)) Bool (and (= $OK$1 (or (=> $V31_env$1 (< $V29_dirty_s$1 1)) (< $V28_valid_s$1 1))) (= $V31_env$1 (ite %init $V84_X$1 (and $V84_X$1 $V31_env$0))) (= $V84_X$1 (and (not (and (and (and (and (and $e_s1$1 $e_s2$1) $e_s1$1) $e_s3$1) $e_s2$1) $e_s3$1)) (>= $init_invalid_s$1 0))))) +; Universally quantified variables +(declare-fun $e_s1$~1 () Bool) +(declare-fun $e_s2$~1 () Bool) +(declare-fun $e_s3$~1 () Bool) +(declare-fun $init_invalid_s$~1 () Int) +(declare-fun $V28_valid_s$~1 () Int) +(declare-fun $V29_dirty_s$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V31_env$~1 () Bool) +(declare-fun $V84_X$~1 () Bool) +(declare-fun $e_s1$0 () Bool) +(declare-fun $e_s2$0 () Bool) +(declare-fun $e_s3$0 () Bool) +(declare-fun $init_invalid_s$0 () Int) +(declare-fun $V28_valid_s$0 () Int) +(declare-fun $V29_dirty_s$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V31_env$0 () Bool) +(declare-fun $V84_X$0 () Bool) +(assert (T true $e_s1$~1 $e_s2$~1 $e_s3$~1 $init_invalid_s$~1 $V28_valid_s$~1 $V29_dirty_s$~1 $OK$~1 $V31_env$~1 $V84_X$~1 $e_s1$0 $e_s2$0 $e_s3$0 $init_invalid_s$0 $V28_valid_s$0 $V29_dirty_s$0 $OK$0 $V31_env$0 $V84_X$0)) diff --git a/bench/tasks/SYNAPSE_4_e8_420_e8_1525_base_t_part.smt2 b/bench/tasks/SYNAPSE_4_e8_420_e8_1525_base_t_part.smt2 new file mode 100755 index 000000000..03a6b004e --- /dev/null +++ b/bench/tasks/SYNAPSE_4_e8_420_e8_1525_base_t_part.smt2 @@ -0,0 +1,23 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($e_s1$0 Bool) ($e_s2$0 Bool) ($e_s3$0 Bool) ($init_invalid_s$0 Int) ($V28_valid_s$0 Int) ($V29_dirty_s$0 Int) ($OK$0 Bool) ($V31_env$0 Bool) ($V84_X$0 Bool) ($e_s1$1 Bool) ($e_s2$1 Bool) ($e_s3$1 Bool) ($init_invalid_s$1 Int) ($V28_valid_s$1 Int) ($V29_dirty_s$1 Int) ($OK$1 Bool) ($V31_env$1 Bool) ($V84_X$1 Bool)) Bool (and (= $OK$1 (or (=> $V31_env$1 (< $V29_dirty_s$1 1)) (< $V28_valid_s$1 1))) (= $V31_env$1 (ite %init $V84_X$1 (and $V84_X$1 $V31_env$0))) (= $V84_X$1 (and (not (and (and (and (and (and $e_s1$1 $e_s2$1) $e_s1$1) $e_s3$1) $e_s2$1) $e_s3$1)) (>= $init_invalid_s$1 0))))) +; Universally quantified variables +(declare-fun $e_s1$~1 () Bool) +(declare-fun $e_s2$~1 () Bool) +(declare-fun $e_s3$~1 () Bool) +(declare-fun $init_invalid_s$~1 () Int) +(declare-fun $V28_valid_s$~1 () Int) +(declare-fun $V29_dirty_s$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V31_env$~1 () Bool) +(declare-fun $V84_X$~1 () Bool) +(declare-fun $e_s1$0 () Bool) +(declare-fun $e_s2$0 () Bool) +(declare-fun $e_s3$0 () Bool) +(declare-fun $init_invalid_s$0 () Int) +(declare-fun $V28_valid_s$2 () Int) +(declare-fun $V29_dirty_s$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V31_env$2 () Bool) +(declare-fun $V84_X$2 () Bool) +(assert (and (T true $e_s1$~1 $e_s2$~1 $e_s3$~1 $init_invalid_s$~1 $V28_valid_s$~1 $V29_dirty_s$~1 $OK$~1 $V31_env$~1 $V84_X$~1 $e_s1$0 $e_s2$0 $e_s3$0 $init_invalid_s$0 $V28_valid_s$2 $V29_dirty_s$2 $OK$2 $V31_env$2 $V84_X$2) $OK$2)) diff --git a/bench/tasks/SYNAPSE_4_e8_420_e8_1525_extend_s_part.smt2 b/bench/tasks/SYNAPSE_4_e8_420_e8_1525_extend_s_part.smt2 new file mode 100755 index 000000000..f8ed5b8d0 --- /dev/null +++ b/bench/tasks/SYNAPSE_4_e8_420_e8_1525_extend_s_part.smt2 @@ -0,0 +1,24 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($e_s1$0 Bool) ($e_s2$0 Bool) ($e_s3$0 Bool) ($init_invalid_s$0 Int) ($V28_valid_s$0 Int) ($V29_dirty_s$0 Int) ($OK$0 Bool) ($V31_env$0 Bool) ($V84_X$0 Bool) ($e_s1$1 Bool) ($e_s2$1 Bool) ($e_s3$1 Bool) ($init_invalid_s$1 Int) ($V28_valid_s$1 Int) ($V29_dirty_s$1 Int) ($OK$1 Bool) ($V31_env$1 Bool) ($V84_X$1 Bool)) Bool (and (= $OK$1 (or (=> $V31_env$1 (< $V29_dirty_s$1 1)) (< $V28_valid_s$1 1))) (= $V31_env$1 (ite %init $V84_X$1 (and $V84_X$1 $V31_env$0))) (= $V84_X$1 (and (not (and (and (and (and (and $e_s1$1 $e_s2$1) $e_s1$1) $e_s3$1) $e_s2$1) $e_s3$1)) (>= $init_invalid_s$1 0))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $e_s1$~1 () Bool) +(declare-fun $e_s2$~1 () Bool) +(declare-fun $e_s3$~1 () Bool) +(declare-fun $init_invalid_s$~1 () Int) +(declare-fun $V28_valid_s$~1 () Int) +(declare-fun $V29_dirty_s$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V31_env$~1 () Bool) +(declare-fun $V84_X$~1 () Bool) +(declare-fun $e_s1$0 () Bool) +(declare-fun $e_s2$0 () Bool) +(declare-fun $e_s3$0 () Bool) +(declare-fun $init_invalid_s$0 () Int) +(declare-fun $V28_valid_s$0 () Int) +(declare-fun $V29_dirty_s$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V31_env$0 () Bool) +(declare-fun $V84_X$0 () Bool) +(assert (T %init $e_s1$~1 $e_s2$~1 $e_s3$~1 $init_invalid_s$~1 $V28_valid_s$~1 $V29_dirty_s$~1 $OK$~1 $V31_env$~1 $V84_X$~1 $e_s1$0 $e_s2$0 $e_s3$0 $init_invalid_s$0 $V28_valid_s$0 $V29_dirty_s$0 $OK$0 $V31_env$0 $V84_X$0)) diff --git a/bench/tasks/SYNAPSE_4_e8_420_e8_1525_extend_t_part.smt2 b/bench/tasks/SYNAPSE_4_e8_420_e8_1525_extend_t_part.smt2 new file mode 100755 index 000000000..8efcc409e --- /dev/null +++ b/bench/tasks/SYNAPSE_4_e8_420_e8_1525_extend_t_part.smt2 @@ -0,0 +1,24 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($e_s1$0 Bool) ($e_s2$0 Bool) ($e_s3$0 Bool) ($init_invalid_s$0 Int) ($V28_valid_s$0 Int) ($V29_dirty_s$0 Int) ($OK$0 Bool) ($V31_env$0 Bool) ($V84_X$0 Bool) ($e_s1$1 Bool) ($e_s2$1 Bool) ($e_s3$1 Bool) ($init_invalid_s$1 Int) ($V28_valid_s$1 Int) ($V29_dirty_s$1 Int) ($OK$1 Bool) ($V31_env$1 Bool) ($V84_X$1 Bool)) Bool (and (= $OK$1 (or (=> $V31_env$1 (< $V29_dirty_s$1 1)) (< $V28_valid_s$1 1))) (= $V31_env$1 (ite %init $V84_X$1 (and $V84_X$1 $V31_env$0))) (= $V84_X$1 (and (not (and (and (and (and (and $e_s1$1 $e_s2$1) $e_s1$1) $e_s3$1) $e_s2$1) $e_s3$1)) (>= $init_invalid_s$1 0))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $e_s1$~1 () Bool) +(declare-fun $e_s2$~1 () Bool) +(declare-fun $e_s3$~1 () Bool) +(declare-fun $init_invalid_s$~1 () Int) +(declare-fun $V28_valid_s$~1 () Int) +(declare-fun $V29_dirty_s$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V31_env$~1 () Bool) +(declare-fun $V84_X$~1 () Bool) +(declare-fun $e_s1$0 () Bool) +(declare-fun $e_s2$0 () Bool) +(declare-fun $e_s3$0 () Bool) +(declare-fun $init_invalid_s$0 () Int) +(declare-fun $V28_valid_s$2 () Int) +(declare-fun $V29_dirty_s$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V31_env$2 () Bool) +(declare-fun $V84_X$2 () Bool) +(assert (and (T %init $e_s1$~1 $e_s2$~1 $e_s3$~1 $init_invalid_s$~1 $V28_valid_s$~1 $V29_dirty_s$~1 $OK$~1 $V31_env$~1 $V84_X$~1 $e_s1$0 $e_s2$0 $e_s3$0 $init_invalid_s$0 $V28_valid_s$2 $V29_dirty_s$2 $OK$2 $V31_env$2 $V84_X$2) $OK$2)) diff --git a/bench/tasks/car_1_extend_s_part.smt2 b/bench/tasks/car_1_extend_s_part.smt2 new file mode 100755 index 000000000..ae5a0ac9e --- /dev/null +++ b/bench/tasks/car_1_extend_s_part.smt2 @@ -0,0 +1,20 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V91_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V91_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (>= $V27_dist$1 0))) (= $V33_env$1 (ite %init $V91_X$1 (and $V91_X$1 $V33_env$0))) (= $V91_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V91_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V91_X$0 () Bool) +; Existentially quantified variables +; Assertions for universal part of the formula +(assert (T %init $m$~1 $s$~1 $V27_dist$~1 $OK$~1 $V33_env$~1 $V91_X$~1 $m$0 $s$0 $V27_dist$0 $OK$0 $V33_env$0 $V91_X$0)) diff --git a/bench/tasks/car_1_extend_t_part.smt2 b/bench/tasks/car_1_extend_t_part.smt2 new file mode 100755 index 000000000..031473a4e --- /dev/null +++ b/bench/tasks/car_1_extend_t_part.smt2 @@ -0,0 +1,20 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V91_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V91_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (>= $V27_dist$1 0))) (= $V33_env$1 (ite %init $V91_X$1 (and $V91_X$1 $V33_env$0))) (= $V91_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V91_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V91_X$2 () Bool) + +; Assertion for existential part of the formula +(assert (and (T %init $m$~1 $s$~1 $V27_dist$~1 $OK$~1 $V33_env$~1 $V91_X$~1 $m$0 $s$0 $V27_dist$2 $OK$2 $V33_env$2 $V91_X$2) $OK$2)) diff --git a/bench/tasks/car_2_base1_s_part.smt2 b/bench/tasks/car_2_base1_s_part.smt2 new file mode 100755 index 000000000..ed5d328ed --- /dev/null +++ b/bench/tasks/car_2_base1_s_part.smt2 @@ -0,0 +1,19 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V91_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V91_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V27_dist$1 11))) (= $V33_env$1 (ite %init $V91_X$1 (and $V91_X$1 $V33_env$0))) (= $V91_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V91_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V91_X$0 () Bool) +; Existentially quantified variables +; Assertions for universal part of the formula +(assert (T true $m$~1 $s$~1 $V27_dist$~1 $OK$~1 $V33_env$~1 $V91_X$~1 $m$0 $s$0 $V27_dist$0 $OK$0 $V33_env$0 $V91_X$0)) diff --git a/bench/tasks/car_2_base1_t_part.smt2 b/bench/tasks/car_2_base1_t_part.smt2 new file mode 100755 index 000000000..1d516c8c2 --- /dev/null +++ b/bench/tasks/car_2_base1_t_part.smt2 @@ -0,0 +1,18 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V91_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V91_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V27_dist$1 11))) (= $V33_env$1 (ite %init $V91_X$1 (and $V91_X$1 $V33_env$0))) (= $V91_X$1 (not (and $m$1 $s$1))))) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V91_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V91_X$2 () Bool) + +; Assertion for existential part of the formula +(assert (and (T true $m$~1 $s$~1 $V27_dist$~1 $OK$~1 $V33_env$~1 $V91_X$~1 $m$0 $s$0 $V27_dist$2 $OK$2 $V33_env$2 $V91_X$2) $OK$2)) diff --git a/bench/tasks/car_2_base2_s_part.smt2 b/bench/tasks/car_2_base2_s_part.smt2 new file mode 100755 index 000000000..1572bbe0a --- /dev/null +++ b/bench/tasks/car_2_base2_s_part.smt2 @@ -0,0 +1,27 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V91_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V91_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V27_dist$1 11))) (= $V33_env$1 (ite %init $V91_X$1 (and $V91_X$1 $V33_env$0))) (= $V91_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V91_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V91_X$0 () Bool) +(declare-fun $m$1 () Bool) +(declare-fun $s$1 () Bool) +(declare-fun $V27_dist$1 () Int) +(declare-fun $OK$1 () Bool) +(declare-fun $V33_env$1 () Bool) +(declare-fun $V91_X$1 () Bool) +; Existentially quantified variables +; Assertions for universal part of the formula +(assert (T true $m$~1 $s$~1 $V27_dist$~1 $OK$~1 $V33_env$~1 $V91_X$~1 $m$0 $s$0 $V27_dist$0 $OK$0 $V33_env$0 $V91_X$0)) +(assert $OK$0) +(assert (T false $m$0 $s$0 $V27_dist$0 $OK$0 $V33_env$0 $V91_X$0 $m$1 $s$1 $V27_dist$1 $OK$1 $V33_env$1 $V91_X$1)) diff --git a/bench/tasks/car_2_base2_t_part.smt2 b/bench/tasks/car_2_base2_t_part.smt2 new file mode 100755 index 000000000..5d9c3df3a --- /dev/null +++ b/bench/tasks/car_2_base2_t_part.smt2 @@ -0,0 +1,18 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V91_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V91_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V27_dist$1 11))) (= $V33_env$1 (ite %init $V91_X$1 (and $V91_X$1 $V33_env$0))) (= $V91_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V91_X$0 () Bool) +(declare-fun $m$1 () Bool) +(declare-fun $s$1 () Bool) +(declare-fun $V27_dist$3 () Int) +(declare-fun $OK$3 () Bool) +(declare-fun $V33_env$3 () Bool) +(declare-fun $V91_X$3 () Bool) +; Assertion for existential part of the formula +(assert (and (T false $m$0 $s$0 $V27_dist$0 $OK$0 $V33_env$0 $V91_X$0 $m$1 $s$1 $V27_dist$3 $OK$3 $V33_env$3 $V91_X$3) $OK$3)) diff --git a/bench/tasks/car_2_extend_s_part.smt2 b/bench/tasks/car_2_extend_s_part.smt2 new file mode 100755 index 000000000..7c8df658b --- /dev/null +++ b/bench/tasks/car_2_extend_s_part.smt2 @@ -0,0 +1,20 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V91_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V91_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V27_dist$1 11))) (= $V33_env$1 (ite %init $V91_X$1 (and $V91_X$1 $V33_env$0))) (= $V91_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V91_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V91_X$0 () Bool) +; Existentially quantified variables +; Assertions for universal part of the formula +(assert (T %init $m$~1 $s$~1 $V27_dist$~1 $OK$~1 $V33_env$~1 $V91_X$~1 $m$0 $s$0 $V27_dist$0 $OK$0 $V33_env$0 $V91_X$0)) diff --git a/bench/tasks/car_2_extend_t_part.smt2 b/bench/tasks/car_2_extend_t_part.smt2 new file mode 100755 index 000000000..9d62d76de --- /dev/null +++ b/bench/tasks/car_2_extend_t_part.smt2 @@ -0,0 +1,19 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V91_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V91_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V27_dist$1 11))) (= $V33_env$1 (ite %init $V91_X$1 (and $V91_X$1 $V33_env$0))) (= $V91_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V91_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V91_X$2 () Bool) +; Assertion for existential part of the formula +(assert (and (T %init $m$~1 $s$~1 $V27_dist$~1 $OK$~1 $V33_env$~1 $V91_X$~1 $m$0 $s$0 $V27_dist$2 $OK$2 $V33_env$2 $V91_X$2) $OK$2)) diff --git a/bench/tasks/car_3_base1_s_part.smt2 b/bench/tasks/car_3_base1_s_part.smt2 new file mode 100755 index 000000000..2dc013ae1 --- /dev/null +++ b/bench/tasks/car_3_base1_s_part.smt2 @@ -0,0 +1,19 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +; Existentially quantified variables +; Assertions for universal part of the formula +(assert (T true $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0)) diff --git a/bench/tasks/car_3_base1_t_part.smt2 b/bench/tasks/car_3_base1_t_part.smt2 new file mode 100755 index 000000000..e8feae0aa --- /dev/null +++ b/bench/tasks/car_3_base1_t_part.smt2 @@ -0,0 +1,17 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V90_X$2 () Bool) +(assert (and (T true $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$2 $OK$2 $V33_env$2 $V90_X$2) $OK$2)) diff --git a/bench/tasks/car_3_base2_s_part.smt2 b/bench/tasks/car_3_base2_s_part.smt2 new file mode 100755 index 000000000..e52559d6a --- /dev/null +++ b/bench/tasks/car_3_base2_s_part.smt2 @@ -0,0 +1,25 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +(declare-fun $m$1 () Bool) +(declare-fun $s$1 () Bool) +(declare-fun $V28_speed$1 () Int) +(declare-fun $OK$1 () Bool) +(declare-fun $V33_env$1 () Bool) +(declare-fun $V90_X$1 () Bool) +(assert (T true $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0)) +(assert $OK$0) +(assert (T false $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0 $m$1 $s$1 $V28_speed$1 $OK$1 $V33_env$1 $V90_X$1)) diff --git a/bench/tasks/car_3_base2_t_part.smt2 b/bench/tasks/car_3_base2_t_part.smt2 new file mode 100755 index 000000000..b20f05d52 --- /dev/null +++ b/bench/tasks/car_3_base2_t_part.smt2 @@ -0,0 +1,24 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +(declare-fun $m$1 () Bool) +(declare-fun $s$1 () Bool) +(declare-fun $V28_speed$3 () Int) +(declare-fun $OK$3 () Bool) +(declare-fun $V33_env$3 () Bool) +(declare-fun $V90_X$3 () Bool) +; Assertion for existential part of the formula +(assert (and (T false $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0 $m$1 $s$1 $V28_speed$3 $OK$3 $V33_env$3 $V90_X$3) $OK$3)) diff --git a/bench/tasks/car_3_e2_695_base1_s_part.smt2 b/bench/tasks/car_3_e2_695_base1_s_part.smt2 new file mode 100755 index 000000000..edabd2a52 --- /dev/null +++ b/bench/tasks/car_3_e2_695_base1_s_part.smt2 @@ -0,0 +1,18 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +; Assertions for universal part of the formula +(assert (T true $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0)) diff --git a/bench/tasks/car_3_e2_695_base1_t_part.smt2 b/bench/tasks/car_3_e2_695_base1_t_part.smt2 new file mode 100755 index 000000000..e8feae0aa --- /dev/null +++ b/bench/tasks/car_3_e2_695_base1_t_part.smt2 @@ -0,0 +1,17 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V90_X$2 () Bool) +(assert (and (T true $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$2 $OK$2 $V33_env$2 $V90_X$2) $OK$2)) diff --git a/bench/tasks/car_3_e2_695_base2_s_part.smt2 b/bench/tasks/car_3_e2_695_base2_s_part.smt2 new file mode 100755 index 000000000..2f84fe627 --- /dev/null +++ b/bench/tasks/car_3_e2_695_base2_s_part.smt2 @@ -0,0 +1,27 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +(declare-fun $m$1 () Bool) +(declare-fun $s$1 () Bool) +(declare-fun $V28_speed$1 () Int) +(declare-fun $OK$1 () Bool) +(declare-fun $V33_env$1 () Bool) +(declare-fun $V90_X$1 () Bool) +; Existentially quantified variables +; Assertions for universal part of the formula +(assert (T true $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0)) +(assert $OK$0) +(assert (T false $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0 $m$1 $s$1 $V28_speed$1 $OK$1 $V33_env$1 $V90_X$1)) diff --git a/bench/tasks/car_3_e2_695_base2_t_part.smt2 b/bench/tasks/car_3_e2_695_base2_t_part.smt2 new file mode 100755 index 000000000..b20f05d52 --- /dev/null +++ b/bench/tasks/car_3_e2_695_base2_t_part.smt2 @@ -0,0 +1,24 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +(declare-fun $m$1 () Bool) +(declare-fun $s$1 () Bool) +(declare-fun $V28_speed$3 () Int) +(declare-fun $OK$3 () Bool) +(declare-fun $V33_env$3 () Bool) +(declare-fun $V90_X$3 () Bool) +; Assertion for existential part of the formula +(assert (and (T false $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0 $m$1 $s$1 $V28_speed$3 $OK$3 $V33_env$3 $V90_X$3) $OK$3)) diff --git a/bench/tasks/car_3_e2_695_extend_s_part.smt2 b/bench/tasks/car_3_e2_695_extend_s_part.smt2 new file mode 100755 index 000000000..34d1d9333 --- /dev/null +++ b/bench/tasks/car_3_e2_695_extend_s_part.smt2 @@ -0,0 +1,20 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +; Existentially quantified variables +; Assertions for universal part of the formula +(assert (T %init $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0)) diff --git a/bench/tasks/car_3_e2_695_extend_t_part.smt2 b/bench/tasks/car_3_e2_695_extend_t_part.smt2 new file mode 100755 index 000000000..b22eadb41 --- /dev/null +++ b/bench/tasks/car_3_e2_695_extend_t_part.smt2 @@ -0,0 +1,18 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V90_X$2 () Bool) +(assert (and (T %init $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$2 $OK$2 $V33_env$2 $V90_X$2) $OK$2)) diff --git a/bench/tasks/car_3_e7_626_base_s_part.smt2 b/bench/tasks/car_3_e7_626_base_s_part.smt2 new file mode 100755 index 000000000..6e4211881 --- /dev/null +++ b/bench/tasks/car_3_e7_626_base_s_part.smt2 @@ -0,0 +1,17 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (or $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +(assert (T true $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0)) diff --git a/bench/tasks/car_3_e7_626_base_t_part.smt2 b/bench/tasks/car_3_e7_626_base_t_part.smt2 new file mode 100755 index 000000000..d7bf16f6a --- /dev/null +++ b/bench/tasks/car_3_e7_626_base_t_part.smt2 @@ -0,0 +1,17 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (or $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V90_X$2 () Bool) +(assert (and (T true $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$2 $OK$2 $V33_env$2 $V90_X$2) $OK$2)) diff --git a/bench/tasks/car_3_e7_626_extend_s_part.smt2 b/bench/tasks/car_3_e7_626_extend_s_part.smt2 new file mode 100755 index 000000000..c10090a9b --- /dev/null +++ b/bench/tasks/car_3_e7_626_extend_s_part.smt2 @@ -0,0 +1,18 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (or $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +(assert (T %init $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0)) diff --git a/bench/tasks/car_3_e7_626_extend_t_part.smt2 b/bench/tasks/car_3_e7_626_extend_t_part.smt2 new file mode 100755 index 000000000..552e478d5 --- /dev/null +++ b/bench/tasks/car_3_e7_626_extend_t_part.smt2 @@ -0,0 +1,18 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (or $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V90_X$2 () Bool) +(assert (and (T %init $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$2 $OK$2 $V33_env$2 $V90_X$2) $OK$2)) diff --git a/bench/tasks/car_3_e8_33_base_s_part.smt2 b/bench/tasks/car_3_e8_33_base_s_part.smt2 new file mode 100755 index 000000000..4e51fcd15 --- /dev/null +++ b/bench/tasks/car_3_e8_33_base_s_part.smt2 @@ -0,0 +1,17 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +(assert (T true $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0)) diff --git a/bench/tasks/car_3_e8_33_base_t_part.smt2 b/bench/tasks/car_3_e8_33_base_t_part.smt2 new file mode 100755 index 000000000..e8feae0aa --- /dev/null +++ b/bench/tasks/car_3_e8_33_base_t_part.smt2 @@ -0,0 +1,17 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V90_X$2 () Bool) +(assert (and (T true $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$2 $OK$2 $V33_env$2 $V90_X$2) $OK$2)) diff --git a/bench/tasks/car_3_e8_33_e2_1010_base_s_part.smt2 b/bench/tasks/car_3_e8_33_e2_1010_base_s_part.smt2 new file mode 100755 index 000000000..4e51fcd15 --- /dev/null +++ b/bench/tasks/car_3_e8_33_e2_1010_base_s_part.smt2 @@ -0,0 +1,17 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +(assert (T true $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0)) diff --git a/bench/tasks/car_3_e8_33_e2_1010_base_t_part.smt2 b/bench/tasks/car_3_e8_33_e2_1010_base_t_part.smt2 new file mode 100755 index 000000000..e8feae0aa --- /dev/null +++ b/bench/tasks/car_3_e8_33_e2_1010_base_t_part.smt2 @@ -0,0 +1,17 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V90_X$2 () Bool) +(assert (and (T true $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$2 $OK$2 $V33_env$2 $V90_X$2) $OK$2)) diff --git a/bench/tasks/car_3_e8_33_e2_1010_extend_s_part.smt2 b/bench/tasks/car_3_e8_33_e2_1010_extend_s_part.smt2 new file mode 100755 index 000000000..c10090a9b --- /dev/null +++ b/bench/tasks/car_3_e8_33_e2_1010_extend_s_part.smt2 @@ -0,0 +1,18 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (or $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +(assert (T %init $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0)) diff --git a/bench/tasks/car_3_e8_33_e2_1010_extend_t_part.smt2 b/bench/tasks/car_3_e8_33_e2_1010_extend_t_part.smt2 new file mode 100755 index 000000000..552e478d5 --- /dev/null +++ b/bench/tasks/car_3_e8_33_e2_1010_extend_t_part.smt2 @@ -0,0 +1,18 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (or $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V90_X$2 () Bool) +(assert (and (T %init $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$2 $OK$2 $V33_env$2 $V90_X$2) $OK$2)) diff --git a/bench/tasks/car_3_e8_33_e7_220_base_s_part.smt2 b/bench/tasks/car_3_e8_33_e7_220_base_s_part.smt2 new file mode 100755 index 000000000..3ca67d934 --- /dev/null +++ b/bench/tasks/car_3_e8_33_e7_220_base_s_part.smt2 @@ -0,0 +1,19 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (or $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +; Existentially quantified variables +; Assertions for universal part of the formula +(assert (T true $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0)) diff --git a/bench/tasks/car_3_e8_33_e7_220_base_t_part.smt2 b/bench/tasks/car_3_e8_33_e7_220_base_t_part.smt2 new file mode 100755 index 000000000..d7bf16f6a --- /dev/null +++ b/bench/tasks/car_3_e8_33_e7_220_base_t_part.smt2 @@ -0,0 +1,17 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (or $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V90_X$2 () Bool) +(assert (and (T true $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$2 $OK$2 $V33_env$2 $V90_X$2) $OK$2)) diff --git a/bench/tasks/car_3_e8_33_e7_220_extend_s_part.smt2 b/bench/tasks/car_3_e8_33_e7_220_extend_s_part.smt2 new file mode 100755 index 000000000..2d14abad6 --- /dev/null +++ b/bench/tasks/car_3_e8_33_e7_220_extend_s_part.smt2 @@ -0,0 +1,20 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (or $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +; Existentially quantified variables +; Assertions for universal part of the formula +(assert (T %init $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0)) diff --git a/bench/tasks/car_3_e8_33_e7_220_extend_t_part.smt2 b/bench/tasks/car_3_e8_33_e7_220_extend_t_part.smt2 new file mode 100755 index 000000000..552e478d5 --- /dev/null +++ b/bench/tasks/car_3_e8_33_e7_220_extend_t_part.smt2 @@ -0,0 +1,18 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (or $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V90_X$2 () Bool) +(assert (and (T %init $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$2 $OK$2 $V33_env$2 $V90_X$2) $OK$2)) diff --git a/bench/tasks/car_3_e8_33_extend_s_part.smt2 b/bench/tasks/car_3_e8_33_extend_s_part.smt2 new file mode 100755 index 000000000..f43c2137a --- /dev/null +++ b/bench/tasks/car_3_e8_33_extend_s_part.smt2 @@ -0,0 +1,18 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +(assert (T %init $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0)) diff --git a/bench/tasks/car_3_e8_33_extend_t_part.smt2 b/bench/tasks/car_3_e8_33_extend_t_part.smt2 new file mode 100755 index 000000000..b22eadb41 --- /dev/null +++ b/bench/tasks/car_3_e8_33_extend_t_part.smt2 @@ -0,0 +1,18 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V90_X$2 () Bool) +(assert (and (T %init $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$2 $OK$2 $V33_env$2 $V90_X$2) $OK$2)) diff --git a/bench/tasks/car_3_extend_s_part.smt2 b/bench/tasks/car_3_extend_s_part.smt2 new file mode 100755 index 000000000..34d1d9333 --- /dev/null +++ b/bench/tasks/car_3_extend_s_part.smt2 @@ -0,0 +1,20 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +; Existentially quantified variables +; Assertions for universal part of the formula +(assert (T %init $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0)) diff --git a/bench/tasks/car_3_extend_t_part.smt2 b/bench/tasks/car_3_extend_t_part.smt2 new file mode 100755 index 000000000..6f6b2fe3c --- /dev/null +++ b/bench/tasks/car_3_extend_t_part.smt2 @@ -0,0 +1,19 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (< $V28_speed$1 4))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V90_X$2 () Bool) +; Assertion for existential part of the formula +(assert (and (T %init $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$2 $OK$2 $V33_env$2 $V90_X$2) $OK$2)) diff --git a/bench/tasks/car_4_e3_57_e4_1047_base_s_part.smt2 b/bench/tasks/car_4_e3_57_e4_1047_base_s_part.smt2 new file mode 100755 index 000000000..4940ece2c --- /dev/null +++ b/bench/tasks/car_4_e3_57_e4_1047_base_s_part.smt2 @@ -0,0 +1,19 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (>= $V28_speed$1 0))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +; Existentially quantified variables +; Assertions for universal part of the formula +(assert (T true $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0)) diff --git a/bench/tasks/car_4_e3_57_e4_1047_base_t_part.smt2 b/bench/tasks/car_4_e3_57_e4_1047_base_t_part.smt2 new file mode 100755 index 000000000..67418708a --- /dev/null +++ b/bench/tasks/car_4_e3_57_e4_1047_base_t_part.smt2 @@ -0,0 +1,17 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (>= $V28_speed$1 0))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V90_X$2 () Bool) +(assert (and (T true $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$2 $OK$2 $V33_env$2 $V90_X$2) $OK$2)) diff --git a/bench/tasks/car_4_e3_57_e4_1047_extend_s_part.smt2 b/bench/tasks/car_4_e3_57_e4_1047_extend_s_part.smt2 new file mode 100755 index 000000000..495a00378 --- /dev/null +++ b/bench/tasks/car_4_e3_57_e4_1047_extend_s_part.smt2 @@ -0,0 +1,18 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (>= $V28_speed$1 0))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +(assert (T %init $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0)) diff --git a/bench/tasks/car_4_e3_57_e4_1047_extend_t_part.smt2 b/bench/tasks/car_4_e3_57_e4_1047_extend_t_part.smt2 new file mode 100755 index 000000000..a7fc582f5 --- /dev/null +++ b/bench/tasks/car_4_e3_57_e4_1047_extend_t_part.smt2 @@ -0,0 +1,18 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (>= $V28_speed$1 0))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V90_X$2 () Bool) +(assert (and (T %init $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$2 $OK$2 $V33_env$2 $V90_X$2) $OK$2)) diff --git a/bench/tasks/car_4_e3_57_e6_784_base_s_part.smt2 b/bench/tasks/car_4_e3_57_e6_784_base_s_part.smt2 new file mode 100755 index 000000000..4940ece2c --- /dev/null +++ b/bench/tasks/car_4_e3_57_e6_784_base_s_part.smt2 @@ -0,0 +1,19 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (>= $V28_speed$1 0))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +; Existentially quantified variables +; Assertions for universal part of the formula +(assert (T true $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0)) diff --git a/bench/tasks/car_4_e3_57_e6_784_base_t_part.smt2 b/bench/tasks/car_4_e3_57_e6_784_base_t_part.smt2 new file mode 100755 index 000000000..67418708a --- /dev/null +++ b/bench/tasks/car_4_e3_57_e6_784_base_t_part.smt2 @@ -0,0 +1,17 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (>= $V28_speed$1 0))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V90_X$2 () Bool) +(assert (and (T true $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$2 $OK$2 $V33_env$2 $V90_X$2) $OK$2)) diff --git a/bench/tasks/car_4_e3_57_e6_784_extend_s_part.smt2 b/bench/tasks/car_4_e3_57_e6_784_extend_s_part.smt2 new file mode 100755 index 000000000..641dc6023 --- /dev/null +++ b/bench/tasks/car_4_e3_57_e6_784_extend_s_part.smt2 @@ -0,0 +1,20 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (>= $V28_speed$1 0))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +; Existentially quantified variables +; Assertions for universal part of the formula +(assert (T %init $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0)) diff --git a/bench/tasks/car_4_e3_57_e6_784_extend_t_part.smt2 b/bench/tasks/car_4_e3_57_e6_784_extend_t_part.smt2 new file mode 100755 index 000000000..a7fc582f5 --- /dev/null +++ b/bench/tasks/car_4_e3_57_e6_784_extend_t_part.smt2 @@ -0,0 +1,18 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (>= $V28_speed$1 0))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V90_X$2 () Bool) +(assert (and (T %init $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$2 $OK$2 $V33_env$2 $V90_X$2) $OK$2)) diff --git a/bench/tasks/car_4_e7_592_base1_s_part.smt2 b/bench/tasks/car_4_e7_592_base1_s_part.smt2 new file mode 100755 index 000000000..1eb95c92d --- /dev/null +++ b/bench/tasks/car_4_e7_592_base1_s_part.smt2 @@ -0,0 +1,19 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (>= $V28_speed$1 0))) (= $V33_env$1 (ite %init $V90_X$1 (or $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +; Existentially quantified variables +; Assertions for universal part of the formula +(assert (T true $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0)) diff --git a/bench/tasks/car_4_e7_592_base1_t_part.smt2 b/bench/tasks/car_4_e7_592_base1_t_part.smt2 new file mode 100755 index 000000000..617d1d3b8 --- /dev/null +++ b/bench/tasks/car_4_e7_592_base1_t_part.smt2 @@ -0,0 +1,17 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (>= $V28_speed$1 0))) (= $V33_env$1 (ite %init $V90_X$1 (or $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V90_X$2 () Bool) +(assert (and (T true $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$2 $OK$2 $V33_env$2 $V90_X$2) $OK$2)) diff --git a/bench/tasks/car_4_e7_592_base2_s_part.smt2 b/bench/tasks/car_4_e7_592_base2_s_part.smt2 new file mode 100755 index 000000000..4a8c399e8 --- /dev/null +++ b/bench/tasks/car_4_e7_592_base2_s_part.smt2 @@ -0,0 +1,25 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (>= $V28_speed$1 0))) (= $V33_env$1 (ite %init $V90_X$1 (or $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +(declare-fun $m$1 () Bool) +(declare-fun $s$1 () Bool) +(declare-fun $V28_speed$1 () Int) +(declare-fun $OK$1 () Bool) +(declare-fun $V33_env$1 () Bool) +(declare-fun $V90_X$1 () Bool) +(assert (T true $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0)) +(assert $OK$0) +(assert (T false $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0 $m$1 $s$1 $V28_speed$1 $OK$1 $V33_env$1 $V90_X$1)) diff --git a/bench/tasks/car_4_e7_592_base2_t_part.smt2 b/bench/tasks/car_4_e7_592_base2_t_part.smt2 new file mode 100755 index 000000000..18aa875a3 --- /dev/null +++ b/bench/tasks/car_4_e7_592_base2_t_part.smt2 @@ -0,0 +1,23 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (>= $V28_speed$1 0))) (= $V33_env$1 (ite %init $V90_X$1 (or $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +(declare-fun $m$1 () Bool) +(declare-fun $s$1 () Bool) +(declare-fun $V28_speed$3 () Int) +(declare-fun $OK$3 () Bool) +(declare-fun $V33_env$3 () Bool) +(declare-fun $V90_X$3 () Bool) +(assert (and (T false $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0 $m$1 $s$1 $V28_speed$3 $OK$3 $V33_env$3 $V90_X$3) $OK$3)) diff --git a/bench/tasks/car_4_e7_592_extend_s_part.smt2 b/bench/tasks/car_4_e7_592_extend_s_part.smt2 new file mode 100755 index 000000000..19abafdde --- /dev/null +++ b/bench/tasks/car_4_e7_592_extend_s_part.smt2 @@ -0,0 +1,20 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (>= $V28_speed$1 0))) (= $V33_env$1 (ite %init $V90_X$1 (or $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +; Existentially quantified variables +; Assertions for universal part of the formula +(assert (T %init $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0)) diff --git a/bench/tasks/car_4_e7_592_extend_t_part.smt2 b/bench/tasks/car_4_e7_592_extend_t_part.smt2 new file mode 100755 index 000000000..11466cc92 --- /dev/null +++ b/bench/tasks/car_4_e7_592_extend_t_part.smt2 @@ -0,0 +1,18 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (>= $V28_speed$1 0))) (= $V33_env$1 (ite %init $V90_X$1 (or $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V90_X$2 () Bool) +(assert (and (T %init $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$2 $OK$2 $V33_env$2 $V90_X$2) $OK$2)) diff --git a/bench/tasks/car_4_e8_118_base_s_part.smt2 b/bench/tasks/car_4_e8_118_base_s_part.smt2 new file mode 100755 index 000000000..4940ece2c --- /dev/null +++ b/bench/tasks/car_4_e8_118_base_s_part.smt2 @@ -0,0 +1,19 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (>= $V28_speed$1 0))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +; Existentially quantified variables +; Assertions for universal part of the formula +(assert (T true $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0)) diff --git a/bench/tasks/car_4_e8_118_base_t_part.smt2 b/bench/tasks/car_4_e8_118_base_t_part.smt2 new file mode 100755 index 000000000..67418708a --- /dev/null +++ b/bench/tasks/car_4_e8_118_base_t_part.smt2 @@ -0,0 +1,17 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (>= $V28_speed$1 0))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V90_X$2 () Bool) +(assert (and (T true $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$2 $OK$2 $V33_env$2 $V90_X$2) $OK$2)) diff --git a/bench/tasks/car_4_e8_118_extend_s_part.smt2 b/bench/tasks/car_4_e8_118_extend_s_part.smt2 new file mode 100755 index 000000000..641dc6023 --- /dev/null +++ b/bench/tasks/car_4_e8_118_extend_s_part.smt2 @@ -0,0 +1,20 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (>= $V28_speed$1 0))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V90_X$0 () Bool) +; Existentially quantified variables +; Assertions for universal part of the formula +(assert (T %init $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$0 $OK$0 $V33_env$0 $V90_X$0)) diff --git a/bench/tasks/car_4_e8_118_extend_t_part.smt2 b/bench/tasks/car_4_e8_118_extend_t_part.smt2 new file mode 100755 index 000000000..a7fc582f5 --- /dev/null +++ b/bench/tasks/car_4_e8_118_extend_t_part.smt2 @@ -0,0 +1,18 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V90_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V90_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (>= $V28_speed$1 0))) (= $V33_env$1 (ite %init $V90_X$1 (and $V90_X$1 $V33_env$0))) (= $V90_X$1 (not (and $m$1 $s$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V90_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V90_X$2 () Bool) +(assert (and (T %init $m$~1 $s$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V90_X$~1 $m$0 $s$0 $V28_speed$2 $OK$2 $V33_env$2 $V90_X$2) $OK$2)) diff --git a/bench/tasks/car_all_e2_108_base1_s_part.smt2 b/bench/tasks/car_all_e2_108_base1_s_part.smt2 new file mode 100755 index 000000000..7c7bccf53 --- /dev/null +++ b/bench/tasks/car_all_e2_108_base1_s_part.smt2 @@ -0,0 +1,19 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$0 () Int) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V92_X$0 () Bool) +(assert (T true $m$~1 $s$~1 $V27_dist$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V92_X$~1 $m$0 $s$0 $V27_dist$0 $V28_speed$0 $OK$0 $V33_env$0 $V92_X$0)) diff --git a/bench/tasks/car_all_e2_108_base1_t_part.smt2 b/bench/tasks/car_all_e2_108_base1_t_part.smt2 new file mode 100755 index 000000000..0b97574b5 --- /dev/null +++ b/bench/tasks/car_all_e2_108_base1_t_part.smt2 @@ -0,0 +1,19 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$2 () Int) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V92_X$2 () Bool) +(assert (and (T true $m$~1 $s$~1 $V27_dist$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V92_X$~1 $m$0 $s$0 $V27_dist$2 $V28_speed$2 $OK$2 $V33_env$2 $V92_X$2) $OK$2)) diff --git a/bench/tasks/car_all_e2_108_base2_s_part.smt2 b/bench/tasks/car_all_e2_108_base2_s_part.smt2 new file mode 100755 index 000000000..a81fd57d9 --- /dev/null +++ b/bench/tasks/car_all_e2_108_base2_s_part.smt2 @@ -0,0 +1,30 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$0 () Int) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V92_X$0 () Bool) +(declare-fun $m$1 () Bool) +(declare-fun $s$1 () Bool) +(declare-fun $V27_dist$1 () Int) +(declare-fun $V28_speed$1 () Int) +(declare-fun $OK$1 () Bool) +(declare-fun $V33_env$1 () Bool) +(declare-fun $V92_X$1 () Bool) +; Existentially quantified variables +; Assertions for universal part of the formula +(assert (T true $m$~1 $s$~1 $V27_dist$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V92_X$~1 $m$0 $s$0 $V27_dist$0 $V28_speed$0 $OK$0 $V33_env$0 $V92_X$0)) +(assert $OK$0) +(assert (T false $m$0 $s$0 $V27_dist$0 $V28_speed$0 $OK$0 $V33_env$0 $V92_X$0 $m$1 $s$1 $V27_dist$1 $V28_speed$1 $OK$1 $V33_env$1 $V92_X$1)) diff --git a/bench/tasks/car_all_e2_108_base2_t_part.smt2 b/bench/tasks/car_all_e2_108_base2_t_part.smt2 new file mode 100755 index 000000000..47858ac64 --- /dev/null +++ b/bench/tasks/car_all_e2_108_base2_t_part.smt2 @@ -0,0 +1,26 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$0 () Int) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V92_X$0 () Bool) +(declare-fun $m$1 () Bool) +(declare-fun $s$1 () Bool) +(declare-fun $V27_dist$3 () Int) +(declare-fun $V28_speed$3 () Int) +(declare-fun $OK$3 () Bool) +(declare-fun $V33_env$3 () Bool) +(declare-fun $V92_X$3 () Bool) +(assert (and (T false $m$0 $s$0 $V27_dist$0 $V28_speed$0 $OK$0 $V33_env$0 $V92_X$0 $m$1 $s$1 $V27_dist$3 $V28_speed$3 $OK$3 $V33_env$3 $V92_X$3) $OK$3)) diff --git a/bench/tasks/car_all_e2_108_extend_s_part.smt2 b/bench/tasks/car_all_e2_108_extend_s_part.smt2 new file mode 100755 index 000000000..d762fecfa --- /dev/null +++ b/bench/tasks/car_all_e2_108_extend_s_part.smt2 @@ -0,0 +1,20 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$0 () Int) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V92_X$0 () Bool) +(assert (T %init $m$~1 $s$~1 $V27_dist$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V92_X$~1 $m$0 $s$0 $V27_dist$0 $V28_speed$0 $OK$0 $V33_env$0 $V92_X$0)) diff --git a/bench/tasks/car_all_e2_108_extend_t_part.smt2 b/bench/tasks/car_all_e2_108_extend_t_part.smt2 new file mode 100755 index 000000000..9240b1361 --- /dev/null +++ b/bench/tasks/car_all_e2_108_extend_t_part.smt2 @@ -0,0 +1,20 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$2 () Int) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V92_X$2 () Bool) +(assert (and (T %init $m$~1 $s$~1 $V27_dist$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V92_X$~1 $m$0 $s$0 $V27_dist$2 $V28_speed$2 $OK$2 $V33_env$2 $V92_X$2) $OK$2)) diff --git a/bench/tasks/car_all_e2_142_e8_194_base1_s_part.smt2 b/bench/tasks/car_all_e2_142_e8_194_base1_s_part.smt2 new file mode 100755 index 000000000..7c7bccf53 --- /dev/null +++ b/bench/tasks/car_all_e2_142_e8_194_base1_s_part.smt2 @@ -0,0 +1,19 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$0 () Int) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V92_X$0 () Bool) +(assert (T true $m$~1 $s$~1 $V27_dist$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V92_X$~1 $m$0 $s$0 $V27_dist$0 $V28_speed$0 $OK$0 $V33_env$0 $V92_X$0)) diff --git a/bench/tasks/car_all_e2_142_e8_194_base1_t_part.smt2 b/bench/tasks/car_all_e2_142_e8_194_base1_t_part.smt2 new file mode 100755 index 000000000..0b97574b5 --- /dev/null +++ b/bench/tasks/car_all_e2_142_e8_194_base1_t_part.smt2 @@ -0,0 +1,19 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$2 () Int) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V92_X$2 () Bool) +(assert (and (T true $m$~1 $s$~1 $V27_dist$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V92_X$~1 $m$0 $s$0 $V27_dist$2 $V28_speed$2 $OK$2 $V33_env$2 $V92_X$2) $OK$2)) diff --git a/bench/tasks/car_all_e2_142_e8_194_base2_s_part.smt2 b/bench/tasks/car_all_e2_142_e8_194_base2_s_part.smt2 new file mode 100755 index 000000000..a81fd57d9 --- /dev/null +++ b/bench/tasks/car_all_e2_142_e8_194_base2_s_part.smt2 @@ -0,0 +1,30 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$0 () Int) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V92_X$0 () Bool) +(declare-fun $m$1 () Bool) +(declare-fun $s$1 () Bool) +(declare-fun $V27_dist$1 () Int) +(declare-fun $V28_speed$1 () Int) +(declare-fun $OK$1 () Bool) +(declare-fun $V33_env$1 () Bool) +(declare-fun $V92_X$1 () Bool) +; Existentially quantified variables +; Assertions for universal part of the formula +(assert (T true $m$~1 $s$~1 $V27_dist$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V92_X$~1 $m$0 $s$0 $V27_dist$0 $V28_speed$0 $OK$0 $V33_env$0 $V92_X$0)) +(assert $OK$0) +(assert (T false $m$0 $s$0 $V27_dist$0 $V28_speed$0 $OK$0 $V33_env$0 $V92_X$0 $m$1 $s$1 $V27_dist$1 $V28_speed$1 $OK$1 $V33_env$1 $V92_X$1)) diff --git a/bench/tasks/car_all_e2_142_e8_194_base2_t_part.smt2 b/bench/tasks/car_all_e2_142_e8_194_base2_t_part.smt2 new file mode 100755 index 000000000..47858ac64 --- /dev/null +++ b/bench/tasks/car_all_e2_142_e8_194_base2_t_part.smt2 @@ -0,0 +1,26 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$0 () Int) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V92_X$0 () Bool) +(declare-fun $m$1 () Bool) +(declare-fun $s$1 () Bool) +(declare-fun $V27_dist$3 () Int) +(declare-fun $V28_speed$3 () Int) +(declare-fun $OK$3 () Bool) +(declare-fun $V33_env$3 () Bool) +(declare-fun $V92_X$3 () Bool) +(assert (and (T false $m$0 $s$0 $V27_dist$0 $V28_speed$0 $OK$0 $V33_env$0 $V92_X$0 $m$1 $s$1 $V27_dist$3 $V28_speed$3 $OK$3 $V33_env$3 $V92_X$3) $OK$3)) diff --git a/bench/tasks/car_all_e2_142_e8_194_extend_s_part.smt2 b/bench/tasks/car_all_e2_142_e8_194_extend_s_part.smt2 new file mode 100755 index 000000000..d762fecfa --- /dev/null +++ b/bench/tasks/car_all_e2_142_e8_194_extend_s_part.smt2 @@ -0,0 +1,20 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$0 () Int) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V92_X$0 () Bool) +(assert (T %init $m$~1 $s$~1 $V27_dist$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V92_X$~1 $m$0 $s$0 $V27_dist$0 $V28_speed$0 $OK$0 $V33_env$0 $V92_X$0)) diff --git a/bench/tasks/car_all_e2_142_e8_194_extend_t_part.smt2 b/bench/tasks/car_all_e2_142_e8_194_extend_t_part.smt2 new file mode 100755 index 000000000..9240b1361 --- /dev/null +++ b/bench/tasks/car_all_e2_142_e8_194_extend_t_part.smt2 @@ -0,0 +1,20 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$2 () Int) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V92_X$2 () Bool) +(assert (and (T %init $m$~1 $s$~1 $V27_dist$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V92_X$~1 $m$0 $s$0 $V27_dist$2 $V28_speed$2 $OK$2 $V33_env$2 $V92_X$2) $OK$2)) diff --git a/bench/tasks/car_all_e3_1068_e4_275_base_s_part.smt2 b/bench/tasks/car_all_e3_1068_e4_275_base_s_part.smt2 new file mode 100755 index 000000000..7c7bccf53 --- /dev/null +++ b/bench/tasks/car_all_e3_1068_e4_275_base_s_part.smt2 @@ -0,0 +1,19 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$0 () Int) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V92_X$0 () Bool) +(assert (T true $m$~1 $s$~1 $V27_dist$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V92_X$~1 $m$0 $s$0 $V27_dist$0 $V28_speed$0 $OK$0 $V33_env$0 $V92_X$0)) diff --git a/bench/tasks/car_all_e3_1068_e4_275_base_t_part.smt2 b/bench/tasks/car_all_e3_1068_e4_275_base_t_part.smt2 new file mode 100755 index 000000000..0b97574b5 --- /dev/null +++ b/bench/tasks/car_all_e3_1068_e4_275_base_t_part.smt2 @@ -0,0 +1,19 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$2 () Int) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V92_X$2 () Bool) +(assert (and (T true $m$~1 $s$~1 $V27_dist$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V92_X$~1 $m$0 $s$0 $V27_dist$2 $V28_speed$2 $OK$2 $V33_env$2 $V92_X$2) $OK$2)) diff --git a/bench/tasks/car_all_e3_1068_e4_275_extend_s_part.smt2 b/bench/tasks/car_all_e3_1068_e4_275_extend_s_part.smt2 new file mode 100755 index 000000000..d762fecfa --- /dev/null +++ b/bench/tasks/car_all_e3_1068_e4_275_extend_s_part.smt2 @@ -0,0 +1,20 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$0 () Int) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V92_X$0 () Bool) +(assert (T %init $m$~1 $s$~1 $V27_dist$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V92_X$~1 $m$0 $s$0 $V27_dist$0 $V28_speed$0 $OK$0 $V33_env$0 $V92_X$0)) diff --git a/bench/tasks/car_all_e3_1068_e4_275_extend_t_part.smt2 b/bench/tasks/car_all_e3_1068_e4_275_extend_t_part.smt2 new file mode 100755 index 000000000..9240b1361 --- /dev/null +++ b/bench/tasks/car_all_e3_1068_e4_275_extend_t_part.smt2 @@ -0,0 +1,20 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$2 () Int) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V92_X$2 () Bool) +(assert (and (T %init $m$~1 $s$~1 $V27_dist$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V92_X$~1 $m$0 $s$0 $V27_dist$2 $V28_speed$2 $OK$2 $V33_env$2 $V92_X$2) $OK$2)) diff --git a/bench/tasks/car_all_e3_1068_e6_790_base1_s_part.smt2 b/bench/tasks/car_all_e3_1068_e6_790_base1_s_part.smt2 new file mode 100755 index 000000000..7c7bccf53 --- /dev/null +++ b/bench/tasks/car_all_e3_1068_e6_790_base1_s_part.smt2 @@ -0,0 +1,19 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$0 () Int) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V92_X$0 () Bool) +(assert (T true $m$~1 $s$~1 $V27_dist$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V92_X$~1 $m$0 $s$0 $V27_dist$0 $V28_speed$0 $OK$0 $V33_env$0 $V92_X$0)) diff --git a/bench/tasks/car_all_e3_1068_e6_790_base1_t_part.smt2 b/bench/tasks/car_all_e3_1068_e6_790_base1_t_part.smt2 new file mode 100755 index 000000000..0b97574b5 --- /dev/null +++ b/bench/tasks/car_all_e3_1068_e6_790_base1_t_part.smt2 @@ -0,0 +1,19 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$2 () Int) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V92_X$2 () Bool) +(assert (and (T true $m$~1 $s$~1 $V27_dist$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V92_X$~1 $m$0 $s$0 $V27_dist$2 $V28_speed$2 $OK$2 $V33_env$2 $V92_X$2) $OK$2)) diff --git a/bench/tasks/car_all_e3_1068_e6_790_base2_s_part.smt2 b/bench/tasks/car_all_e3_1068_e6_790_base2_s_part.smt2 new file mode 100755 index 000000000..a81fd57d9 --- /dev/null +++ b/bench/tasks/car_all_e3_1068_e6_790_base2_s_part.smt2 @@ -0,0 +1,30 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$0 () Int) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V92_X$0 () Bool) +(declare-fun $m$1 () Bool) +(declare-fun $s$1 () Bool) +(declare-fun $V27_dist$1 () Int) +(declare-fun $V28_speed$1 () Int) +(declare-fun $OK$1 () Bool) +(declare-fun $V33_env$1 () Bool) +(declare-fun $V92_X$1 () Bool) +; Existentially quantified variables +; Assertions for universal part of the formula +(assert (T true $m$~1 $s$~1 $V27_dist$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V92_X$~1 $m$0 $s$0 $V27_dist$0 $V28_speed$0 $OK$0 $V33_env$0 $V92_X$0)) +(assert $OK$0) +(assert (T false $m$0 $s$0 $V27_dist$0 $V28_speed$0 $OK$0 $V33_env$0 $V92_X$0 $m$1 $s$1 $V27_dist$1 $V28_speed$1 $OK$1 $V33_env$1 $V92_X$1)) diff --git a/bench/tasks/car_all_e3_1068_e6_790_base2_t_part.smt2 b/bench/tasks/car_all_e3_1068_e6_790_base2_t_part.smt2 new file mode 100755 index 000000000..47858ac64 --- /dev/null +++ b/bench/tasks/car_all_e3_1068_e6_790_base2_t_part.smt2 @@ -0,0 +1,26 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$0 () Int) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V92_X$0 () Bool) +(declare-fun $m$1 () Bool) +(declare-fun $s$1 () Bool) +(declare-fun $V27_dist$3 () Int) +(declare-fun $V28_speed$3 () Int) +(declare-fun $OK$3 () Bool) +(declare-fun $V33_env$3 () Bool) +(declare-fun $V92_X$3 () Bool) +(assert (and (T false $m$0 $s$0 $V27_dist$0 $V28_speed$0 $OK$0 $V33_env$0 $V92_X$0 $m$1 $s$1 $V27_dist$3 $V28_speed$3 $OK$3 $V33_env$3 $V92_X$3) $OK$3)) diff --git a/bench/tasks/car_all_e3_1068_e6_790_extend_s_part.smt2 b/bench/tasks/car_all_e3_1068_e6_790_extend_s_part.smt2 new file mode 100755 index 000000000..d762fecfa --- /dev/null +++ b/bench/tasks/car_all_e3_1068_e6_790_extend_s_part.smt2 @@ -0,0 +1,20 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$0 () Int) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V92_X$0 () Bool) +(assert (T %init $m$~1 $s$~1 $V27_dist$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V92_X$~1 $m$0 $s$0 $V27_dist$0 $V28_speed$0 $OK$0 $V33_env$0 $V92_X$0)) diff --git a/bench/tasks/car_all_e3_1068_e6_790_extend_t_part.smt2 b/bench/tasks/car_all_e3_1068_e6_790_extend_t_part.smt2 new file mode 100755 index 000000000..9240b1361 --- /dev/null +++ b/bench/tasks/car_all_e3_1068_e6_790_extend_t_part.smt2 @@ -0,0 +1,20 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$2 () Int) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V92_X$2 () Bool) +(assert (and (T %init $m$~1 $s$~1 $V27_dist$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V92_X$~1 $m$0 $s$0 $V27_dist$2 $V28_speed$2 $OK$2 $V33_env$2 $V92_X$2) $OK$2)) diff --git a/bench/tasks/car_all_e8_856_base1_s_part.smt2 b/bench/tasks/car_all_e8_856_base1_s_part.smt2 new file mode 100755 index 000000000..7c7bccf53 --- /dev/null +++ b/bench/tasks/car_all_e8_856_base1_s_part.smt2 @@ -0,0 +1,19 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$0 () Int) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V92_X$0 () Bool) +(assert (T true $m$~1 $s$~1 $V27_dist$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V92_X$~1 $m$0 $s$0 $V27_dist$0 $V28_speed$0 $OK$0 $V33_env$0 $V92_X$0)) diff --git a/bench/tasks/car_all_e8_856_base1_t_part.smt2 b/bench/tasks/car_all_e8_856_base1_t_part.smt2 new file mode 100755 index 000000000..0b97574b5 --- /dev/null +++ b/bench/tasks/car_all_e8_856_base1_t_part.smt2 @@ -0,0 +1,19 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$2 () Int) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V92_X$2 () Bool) +(assert (and (T true $m$~1 $s$~1 $V27_dist$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V92_X$~1 $m$0 $s$0 $V27_dist$2 $V28_speed$2 $OK$2 $V33_env$2 $V92_X$2) $OK$2)) diff --git a/bench/tasks/car_all_e8_856_base2_s_part.smt2 b/bench/tasks/car_all_e8_856_base2_s_part.smt2 new file mode 100755 index 000000000..46761d7e4 --- /dev/null +++ b/bench/tasks/car_all_e8_856_base2_s_part.smt2 @@ -0,0 +1,28 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$0 () Int) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V92_X$0 () Bool) +(declare-fun $m$1 () Bool) +(declare-fun $s$1 () Bool) +(declare-fun $V27_dist$1 () Int) +(declare-fun $V28_speed$1 () Int) +(declare-fun $OK$1 () Bool) +(declare-fun $V33_env$1 () Bool) +(declare-fun $V92_X$1 () Bool) +(assert (T true $m$~1 $s$~1 $V27_dist$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V92_X$~1 $m$0 $s$0 $V27_dist$0 $V28_speed$0 $OK$0 $V33_env$0 $V92_X$0)) +(assert $OK$0) +(assert (T false $m$0 $s$0 $V27_dist$0 $V28_speed$0 $OK$0 $V33_env$0 $V92_X$0 $m$1 $s$1 $V27_dist$1 $V28_speed$1 $OK$1 $V33_env$1 $V92_X$1)) diff --git a/bench/tasks/car_all_e8_856_base2_t_part.smt2 b/bench/tasks/car_all_e8_856_base2_t_part.smt2 new file mode 100755 index 000000000..47858ac64 --- /dev/null +++ b/bench/tasks/car_all_e8_856_base2_t_part.smt2 @@ -0,0 +1,26 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$0 () Int) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V92_X$0 () Bool) +(declare-fun $m$1 () Bool) +(declare-fun $s$1 () Bool) +(declare-fun $V27_dist$3 () Int) +(declare-fun $V28_speed$3 () Int) +(declare-fun $OK$3 () Bool) +(declare-fun $V33_env$3 () Bool) +(declare-fun $V92_X$3 () Bool) +(assert (and (T false $m$0 $s$0 $V27_dist$0 $V28_speed$0 $OK$0 $V33_env$0 $V92_X$0 $m$1 $s$1 $V27_dist$3 $V28_speed$3 $OK$3 $V33_env$3 $V92_X$3) $OK$3)) diff --git a/bench/tasks/car_all_e8_856_extend_s_part.smt2 b/bench/tasks/car_all_e8_856_extend_s_part.smt2 new file mode 100755 index 000000000..d762fecfa --- /dev/null +++ b/bench/tasks/car_all_e8_856_extend_s_part.smt2 @@ -0,0 +1,20 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$0 () Int) +(declare-fun $V28_speed$0 () Int) +(declare-fun $OK$0 () Bool) +(declare-fun $V33_env$0 () Bool) +(declare-fun $V92_X$0 () Bool) +(assert (T %init $m$~1 $s$~1 $V27_dist$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V92_X$~1 $m$0 $s$0 $V27_dist$0 $V28_speed$0 $OK$0 $V33_env$0 $V92_X$0)) diff --git a/bench/tasks/car_all_e8_856_extend_t_part.smt2 b/bench/tasks/car_all_e8_856_extend_t_part.smt2 new file mode 100644 index 000000000..9240b1361 --- /dev/null +++ b/bench/tasks/car_all_e8_856_extend_t_part.smt2 @@ -0,0 +1,20 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($m$0 Bool) ($s$0 Bool) ($V27_dist$0 Int) ($V28_speed$0 Int) ($OK$0 Bool) ($V33_env$0 Bool) ($V92_X$0 Bool) ($m$1 Bool) ($s$1 Bool) ($V27_dist$1 Int) ($V28_speed$1 Int) ($OK$1 Bool) ($V33_env$1 Bool) ($V92_X$1 Bool)) Bool (and (= $OK$1 (=> $V33_env$1 (and (and (and (>= $V27_dist$1 0) (< $V27_dist$1 11)) (< $V28_speed$1 4)) (>= $V28_speed$1 0)))) (= $V33_env$1 (ite %init $V92_X$1 (and $V92_X$1 $V33_env$0))) (= $V92_X$1 (and (not (and $m$1 $s$1)) (< $V27_dist$1 32767))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $m$~1 () Bool) +(declare-fun $s$~1 () Bool) +(declare-fun $V27_dist$~1 () Int) +(declare-fun $V28_speed$~1 () Int) +(declare-fun $OK$~1 () Bool) +(declare-fun $V33_env$~1 () Bool) +(declare-fun $V92_X$~1 () Bool) +(declare-fun $m$0 () Bool) +(declare-fun $s$0 () Bool) +(declare-fun $V27_dist$2 () Int) +(declare-fun $V28_speed$2 () Int) +(declare-fun $OK$2 () Bool) +(declare-fun $V33_env$2 () Bool) +(declare-fun $V92_X$2 () Bool) +(assert (and (T %init $m$~1 $s$~1 $V27_dist$~1 $V28_speed$~1 $OK$~1 $V33_env$~1 $V92_X$~1 $m$0 $s$0 $V27_dist$2 $V28_speed$2 $OK$2 $V33_env$2 $V92_X$2) $OK$2)) diff --git a/bench/tasks/cd_base1_s_part.smt2 b/bench/tasks/cd_base1_s_part.smt2 new file mode 100755 index 000000000..e2b083906 --- /dev/null +++ b/bench/tasks/cd_base1_s_part.smt2 @@ -0,0 +1,37 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($diff$0 Int) ($speed$0 Int) ($plus$0 Bool) ($minus$0 Bool) ($OK$0 Bool) ($realistic$0 Bool) ($Environment~0.diff$0 Int) ($Environment~0.plus$0 Bool) ($Environment~0.minus$0 Bool) ($Environment~0.ok$0 Bool) ($Sofar~0.X$0 Bool) ($Sofar~0.Sofar$0 Bool) ($Property~0.speed$0 Int) ($Property~0.ok$0 Bool) ($Property~0.cpt$0 Int) ($Property~0.acceptable$0 Bool) ($diff$1 Int) ($speed$1 Int) ($plus$1 Bool) ($minus$1 Bool) ($OK$1 Bool) ($realistic$1 Bool) ($Environment~0.diff$1 Int) ($Environment~0.plus$1 Bool) ($Environment~0.minus$1 Bool) ($Environment~0.ok$1 Bool) ($Sofar~0.X$1 Bool) ($Sofar~0.Sofar$1 Bool) ($Property~0.speed$1 Int) ($Property~0.ok$1 Bool) ($Property~0.cpt$1 Int) ($Property~0.acceptable$1 Bool)) Bool (and (= $realistic$1 $Environment~0.ok$1) (= $OK$1 (=> $Sofar~0.Sofar$1 $Property~0.ok$1)) (= $Environment~0.diff$1 $diff$1) (= $Environment~0.plus$1 $plus$1) (= $Environment~0.minus$1 $minus$1) (= $Environment~0.ok$1 (and (and (and (<= (- 0 4) $Environment~0.diff$1) (<= $Environment~0.diff$1 4)) (ite (ite %init true $Environment~0.plus$0) (>= $Environment~0.diff$1 1) true)) (ite (ite %init false $Environment~0.minus$0) (<= $Environment~0.diff$1 (- 0 1)) true))) (= $Sofar~0.X$1 (and (and $realistic$1 (<= 0 $speed$1)) (< $speed$1 16))) (= $Sofar~0.Sofar$1 (ite %init $Sofar~0.X$1 (and $Sofar~0.X$1 $Sofar~0.Sofar$0))) (= $Property~0.speed$1 $speed$1) (= $Property~0.acceptable$1 (and (<= 8 $Property~0.speed$1) (<= $Property~0.speed$1 12))) (= $Property~0.cpt$1 (ite %init 0 (ite $Property~0.acceptable$1 0 (+ $Property~0.cpt$0 1)))) (= $Property~0.ok$1 (ite %init true (<= $Property~0.cpt$0 7))))) +; Universally quantified variables +(declare-fun $diff$~1 () Int) +(declare-fun $speed$~1 () Int) +(declare-fun $plus$~1 () Bool) +(declare-fun $minus$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $realistic$~1 () Bool) +(declare-fun $Environment~0.diff$~1 () Int) +(declare-fun $Environment~0.plus$~1 () Bool) +(declare-fun $Environment~0.minus$~1 () Bool) +(declare-fun $Environment~0.ok$~1 () Bool) +(declare-fun $Sofar~0.X$~1 () Bool) +(declare-fun $Sofar~0.Sofar$~1 () Bool) +(declare-fun $Property~0.speed$~1 () Int) +(declare-fun $Property~0.ok$~1 () Bool) +(declare-fun $Property~0.cpt$~1 () Int) +(declare-fun $Property~0.acceptable$~1 () Bool) +(declare-fun $diff$0 () Int) +(declare-fun $speed$0 () Int) +(declare-fun $plus$0 () Bool) +(declare-fun $minus$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $realistic$0 () Bool) +(declare-fun $Environment~0.diff$0 () Int) +(declare-fun $Environment~0.plus$0 () Bool) +(declare-fun $Environment~0.minus$0 () Bool) +(declare-fun $Environment~0.ok$0 () Bool) +(declare-fun $Sofar~0.X$0 () Bool) +(declare-fun $Sofar~0.Sofar$0 () Bool) +(declare-fun $Property~0.speed$0 () Int) +(declare-fun $Property~0.ok$0 () Bool) +(declare-fun $Property~0.cpt$0 () Int) +(declare-fun $Property~0.acceptable$0 () Bool) +(assert (T true $diff$~1 $speed$~1 $plus$~1 $minus$~1 $OK$~1 $realistic$~1 $Environment~0.diff$~1 $Environment~0.plus$~1 $Environment~0.minus$~1 $Environment~0.ok$~1 $Sofar~0.X$~1 $Sofar~0.Sofar$~1 $Property~0.speed$~1 $Property~0.ok$~1 $Property~0.cpt$~1 $Property~0.acceptable$~1 $diff$0 $speed$0 $plus$0 $minus$0 $OK$0 $realistic$0 $Environment~0.diff$0 $Environment~0.plus$0 $Environment~0.minus$0 $Environment~0.ok$0 $Sofar~0.X$0 $Sofar~0.Sofar$0 $Property~0.speed$0 $Property~0.ok$0 $Property~0.cpt$0 $Property~0.acceptable$0)) diff --git a/bench/tasks/cd_base1_t_part.smt2 b/bench/tasks/cd_base1_t_part.smt2 new file mode 100755 index 000000000..b53b83d01 --- /dev/null +++ b/bench/tasks/cd_base1_t_part.smt2 @@ -0,0 +1,37 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($diff$0 Int) ($speed$0 Int) ($plus$0 Bool) ($minus$0 Bool) ($OK$0 Bool) ($realistic$0 Bool) ($Environment~0.diff$0 Int) ($Environment~0.plus$0 Bool) ($Environment~0.minus$0 Bool) ($Environment~0.ok$0 Bool) ($Sofar~0.X$0 Bool) ($Sofar~0.Sofar$0 Bool) ($Property~0.speed$0 Int) ($Property~0.ok$0 Bool) ($Property~0.cpt$0 Int) ($Property~0.acceptable$0 Bool) ($diff$1 Int) ($speed$1 Int) ($plus$1 Bool) ($minus$1 Bool) ($OK$1 Bool) ($realistic$1 Bool) ($Environment~0.diff$1 Int) ($Environment~0.plus$1 Bool) ($Environment~0.minus$1 Bool) ($Environment~0.ok$1 Bool) ($Sofar~0.X$1 Bool) ($Sofar~0.Sofar$1 Bool) ($Property~0.speed$1 Int) ($Property~0.ok$1 Bool) ($Property~0.cpt$1 Int) ($Property~0.acceptable$1 Bool)) Bool (and (= $realistic$1 $Environment~0.ok$1) (= $OK$1 (=> $Sofar~0.Sofar$1 $Property~0.ok$1)) (= $Environment~0.diff$1 $diff$1) (= $Environment~0.plus$1 $plus$1) (= $Environment~0.minus$1 $minus$1) (= $Environment~0.ok$1 (and (and (and (<= (- 0 4) $Environment~0.diff$1) (<= $Environment~0.diff$1 4)) (ite (ite %init true $Environment~0.plus$0) (>= $Environment~0.diff$1 1) true)) (ite (ite %init false $Environment~0.minus$0) (<= $Environment~0.diff$1 (- 0 1)) true))) (= $Sofar~0.X$1 (and (and $realistic$1 (<= 0 $speed$1)) (< $speed$1 16))) (= $Sofar~0.Sofar$1 (ite %init $Sofar~0.X$1 (and $Sofar~0.X$1 $Sofar~0.Sofar$0))) (= $Property~0.speed$1 $speed$1) (= $Property~0.acceptable$1 (and (<= 8 $Property~0.speed$1) (<= $Property~0.speed$1 12))) (= $Property~0.cpt$1 (ite %init 0 (ite $Property~0.acceptable$1 0 (+ $Property~0.cpt$0 1)))) (= $Property~0.ok$1 (ite %init true (<= $Property~0.cpt$0 7))))) +; Universally quantified variables +(declare-fun $diff$~1 () Int) +(declare-fun $speed$~1 () Int) +(declare-fun $plus$~1 () Bool) +(declare-fun $minus$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $realistic$~1 () Bool) +(declare-fun $Environment~0.diff$~1 () Int) +(declare-fun $Environment~0.plus$~1 () Bool) +(declare-fun $Environment~0.minus$~1 () Bool) +(declare-fun $Environment~0.ok$~1 () Bool) +(declare-fun $Sofar~0.X$~1 () Bool) +(declare-fun $Sofar~0.Sofar$~1 () Bool) +(declare-fun $Property~0.speed$~1 () Int) +(declare-fun $Property~0.ok$~1 () Bool) +(declare-fun $Property~0.cpt$~1 () Int) +(declare-fun $Property~0.acceptable$~1 () Bool) +(declare-fun $diff$0 () Int) +(declare-fun $speed$2 () Int) +(declare-fun $plus$2 () Bool) +(declare-fun $minus$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $realistic$2 () Bool) +(declare-fun $Environment~0.diff$2 () Int) +(declare-fun $Environment~0.plus$2 () Bool) +(declare-fun $Environment~0.minus$2 () Bool) +(declare-fun $Environment~0.ok$2 () Bool) +(declare-fun $Sofar~0.X$2 () Bool) +(declare-fun $Sofar~0.Sofar$2 () Bool) +(declare-fun $Property~0.speed$2 () Int) +(declare-fun $Property~0.ok$2 () Bool) +(declare-fun $Property~0.cpt$2 () Int) +(declare-fun $Property~0.acceptable$2 () Bool) +(assert (and (T true $diff$~1 $speed$~1 $plus$~1 $minus$~1 $OK$~1 $realistic$~1 $Environment~0.diff$~1 $Environment~0.plus$~1 $Environment~0.minus$~1 $Environment~0.ok$~1 $Sofar~0.X$~1 $Sofar~0.Sofar$~1 $Property~0.speed$~1 $Property~0.ok$~1 $Property~0.cpt$~1 $Property~0.acceptable$~1 $diff$0 $speed$2 $plus$2 $minus$2 $OK$2 $realistic$2 $Environment~0.diff$2 $Environment~0.plus$2 $Environment~0.minus$2 $Environment~0.ok$2 $Sofar~0.X$2 $Sofar~0.Sofar$2 $Property~0.speed$2 $Property~0.ok$2 $Property~0.cpt$2 $Property~0.acceptable$2) $OK$2)) diff --git a/bench/tasks/cd_base2_s_part.smt2 b/bench/tasks/cd_base2_s_part.smt2 new file mode 100755 index 000000000..136ffd566 --- /dev/null +++ b/bench/tasks/cd_base2_s_part.smt2 @@ -0,0 +1,55 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($diff$0 Int) ($speed$0 Int) ($plus$0 Bool) ($minus$0 Bool) ($OK$0 Bool) ($realistic$0 Bool) ($Environment~0.diff$0 Int) ($Environment~0.plus$0 Bool) ($Environment~0.minus$0 Bool) ($Environment~0.ok$0 Bool) ($Sofar~0.X$0 Bool) ($Sofar~0.Sofar$0 Bool) ($Property~0.speed$0 Int) ($Property~0.ok$0 Bool) ($Property~0.cpt$0 Int) ($Property~0.acceptable$0 Bool) ($diff$1 Int) ($speed$1 Int) ($plus$1 Bool) ($minus$1 Bool) ($OK$1 Bool) ($realistic$1 Bool) ($Environment~0.diff$1 Int) ($Environment~0.plus$1 Bool) ($Environment~0.minus$1 Bool) ($Environment~0.ok$1 Bool) ($Sofar~0.X$1 Bool) ($Sofar~0.Sofar$1 Bool) ($Property~0.speed$1 Int) ($Property~0.ok$1 Bool) ($Property~0.cpt$1 Int) ($Property~0.acceptable$1 Bool)) Bool (and (= $realistic$1 $Environment~0.ok$1) (= $OK$1 (=> $Sofar~0.Sofar$1 $Property~0.ok$1)) (= $Environment~0.diff$1 $diff$1) (= $Environment~0.plus$1 $plus$1) (= $Environment~0.minus$1 $minus$1) (= $Environment~0.ok$1 (and (and (and (<= (- 0 4) $Environment~0.diff$1) (<= $Environment~0.diff$1 4)) (ite (ite %init true $Environment~0.plus$0) (>= $Environment~0.diff$1 1) true)) (ite (ite %init false $Environment~0.minus$0) (<= $Environment~0.diff$1 (- 0 1)) true))) (= $Sofar~0.X$1 (and (and $realistic$1 (<= 0 $speed$1)) (< $speed$1 16))) (= $Sofar~0.Sofar$1 (ite %init $Sofar~0.X$1 (and $Sofar~0.X$1 $Sofar~0.Sofar$0))) (= $Property~0.speed$1 $speed$1) (= $Property~0.acceptable$1 (and (<= 8 $Property~0.speed$1) (<= $Property~0.speed$1 12))) (= $Property~0.cpt$1 (ite %init 0 (ite $Property~0.acceptable$1 0 (+ $Property~0.cpt$0 1)))) (= $Property~0.ok$1 (ite %init true (<= $Property~0.cpt$0 7))))) +; Universally quantified variables +(declare-fun $diff$~1 () Int) +(declare-fun $speed$~1 () Int) +(declare-fun $plus$~1 () Bool) +(declare-fun $minus$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $realistic$~1 () Bool) +(declare-fun $Environment~0.diff$~1 () Int) +(declare-fun $Environment~0.plus$~1 () Bool) +(declare-fun $Environment~0.minus$~1 () Bool) +(declare-fun $Environment~0.ok$~1 () Bool) +(declare-fun $Sofar~0.X$~1 () Bool) +(declare-fun $Sofar~0.Sofar$~1 () Bool) +(declare-fun $Property~0.speed$~1 () Int) +(declare-fun $Property~0.ok$~1 () Bool) +(declare-fun $Property~0.cpt$~1 () Int) +(declare-fun $Property~0.acceptable$~1 () Bool) +(declare-fun $diff$0 () Int) +(declare-fun $speed$0 () Int) +(declare-fun $plus$0 () Bool) +(declare-fun $minus$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $realistic$0 () Bool) +(declare-fun $Environment~0.diff$0 () Int) +(declare-fun $Environment~0.plus$0 () Bool) +(declare-fun $Environment~0.minus$0 () Bool) +(declare-fun $Environment~0.ok$0 () Bool) +(declare-fun $Sofar~0.X$0 () Bool) +(declare-fun $Sofar~0.Sofar$0 () Bool) +(declare-fun $Property~0.speed$0 () Int) +(declare-fun $Property~0.ok$0 () Bool) +(declare-fun $Property~0.cpt$0 () Int) +(declare-fun $Property~0.acceptable$0 () Bool) +(declare-fun $diff$1 () Int) +(declare-fun $speed$1 () Int) +(declare-fun $plus$1 () Bool) +(declare-fun $minus$1 () Bool) +(declare-fun $OK$1 () Bool) +(declare-fun $realistic$1 () Bool) +(declare-fun $Environment~0.diff$1 () Int) +(declare-fun $Environment~0.plus$1 () Bool) +(declare-fun $Environment~0.minus$1 () Bool) +(declare-fun $Environment~0.ok$1 () Bool) +(declare-fun $Sofar~0.X$1 () Bool) +(declare-fun $Sofar~0.Sofar$1 () Bool) +(declare-fun $Property~0.speed$1 () Int) +(declare-fun $Property~0.ok$1 () Bool) +(declare-fun $Property~0.cpt$1 () Int) +(declare-fun $Property~0.acceptable$1 () Bool) +(assert (T true $diff$~1 $speed$~1 $plus$~1 $minus$~1 $OK$~1 $realistic$~1 $Environment~0.diff$~1 $Environment~0.plus$~1 $Environment~0.minus$~1 $Environment~0.ok$~1 $Sofar~0.X$~1 $Sofar~0.Sofar$~1 $Property~0.speed$~1 $Property~0.ok$~1 $Property~0.cpt$~1 $Property~0.acceptable$~1 $diff$0 $speed$0 $plus$0 $minus$0 $OK$0 $realistic$0 $Environment~0.diff$0 $Environment~0.plus$0 $Environment~0.minus$0 $Environment~0.ok$0 $Sofar~0.X$0 $Sofar~0.Sofar$0 $Property~0.speed$0 $Property~0.ok$0 $Property~0.cpt$0 $Property~0.acceptable$0)) +(assert $OK$0) +(assert (T false $diff$0 $speed$0 $plus$0 $minus$0 $OK$0 $realistic$0 $Environment~0.diff$0 $Environment~0.plus$0 $Environment~0.minus$0 $Environment~0.ok$0 $Sofar~0.X$0 $Sofar~0.Sofar$0 $Property~0.speed$0 $Property~0.ok$0 $Property~0.cpt$0 $Property~0.acceptable$0 $diff$1 $speed$1 $plus$1 $minus$1 $OK$1 $realistic$1 $Environment~0.diff$1 $Environment~0.plus$1 $Environment~0.minus$1 $Environment~0.ok$1 $Sofar~0.X$1 $Sofar~0.Sofar$1 $Property~0.speed$1 $Property~0.ok$1 $Property~0.cpt$1 $Property~0.acceptable$1)) diff --git a/bench/tasks/cd_base2_t_part.smt2 b/bench/tasks/cd_base2_t_part.smt2 new file mode 100755 index 000000000..6f192ad09 --- /dev/null +++ b/bench/tasks/cd_base2_t_part.smt2 @@ -0,0 +1,53 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($diff$0 Int) ($speed$0 Int) ($plus$0 Bool) ($minus$0 Bool) ($OK$0 Bool) ($realistic$0 Bool) ($Environment~0.diff$0 Int) ($Environment~0.plus$0 Bool) ($Environment~0.minus$0 Bool) ($Environment~0.ok$0 Bool) ($Sofar~0.X$0 Bool) ($Sofar~0.Sofar$0 Bool) ($Property~0.speed$0 Int) ($Property~0.ok$0 Bool) ($Property~0.cpt$0 Int) ($Property~0.acceptable$0 Bool) ($diff$1 Int) ($speed$1 Int) ($plus$1 Bool) ($minus$1 Bool) ($OK$1 Bool) ($realistic$1 Bool) ($Environment~0.diff$1 Int) ($Environment~0.plus$1 Bool) ($Environment~0.minus$1 Bool) ($Environment~0.ok$1 Bool) ($Sofar~0.X$1 Bool) ($Sofar~0.Sofar$1 Bool) ($Property~0.speed$1 Int) ($Property~0.ok$1 Bool) ($Property~0.cpt$1 Int) ($Property~0.acceptable$1 Bool)) Bool (and (= $realistic$1 $Environment~0.ok$1) (= $OK$1 (=> $Sofar~0.Sofar$1 $Property~0.ok$1)) (= $Environment~0.diff$1 $diff$1) (= $Environment~0.plus$1 $plus$1) (= $Environment~0.minus$1 $minus$1) (= $Environment~0.ok$1 (and (and (and (<= (- 0 4) $Environment~0.diff$1) (<= $Environment~0.diff$1 4)) (ite (ite %init true $Environment~0.plus$0) (>= $Environment~0.diff$1 1) true)) (ite (ite %init false $Environment~0.minus$0) (<= $Environment~0.diff$1 (- 0 1)) true))) (= $Sofar~0.X$1 (and (and $realistic$1 (<= 0 $speed$1)) (< $speed$1 16))) (= $Sofar~0.Sofar$1 (ite %init $Sofar~0.X$1 (and $Sofar~0.X$1 $Sofar~0.Sofar$0))) (= $Property~0.speed$1 $speed$1) (= $Property~0.acceptable$1 (and (<= 8 $Property~0.speed$1) (<= $Property~0.speed$1 12))) (= $Property~0.cpt$1 (ite %init 0 (ite $Property~0.acceptable$1 0 (+ $Property~0.cpt$0 1)))) (= $Property~0.ok$1 (ite %init true (<= $Property~0.cpt$0 7))))) +; Universally quantified variables +(declare-fun $diff$~1 () Int) +(declare-fun $speed$~1 () Int) +(declare-fun $plus$~1 () Bool) +(declare-fun $minus$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $realistic$~1 () Bool) +(declare-fun $Environment~0.diff$~1 () Int) +(declare-fun $Environment~0.plus$~1 () Bool) +(declare-fun $Environment~0.minus$~1 () Bool) +(declare-fun $Environment~0.ok$~1 () Bool) +(declare-fun $Sofar~0.X$~1 () Bool) +(declare-fun $Sofar~0.Sofar$~1 () Bool) +(declare-fun $Property~0.speed$~1 () Int) +(declare-fun $Property~0.ok$~1 () Bool) +(declare-fun $Property~0.cpt$~1 () Int) +(declare-fun $Property~0.acceptable$~1 () Bool) +(declare-fun $diff$0 () Int) +(declare-fun $speed$0 () Int) +(declare-fun $plus$0 () Bool) +(declare-fun $minus$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $realistic$0 () Bool) +(declare-fun $Environment~0.diff$0 () Int) +(declare-fun $Environment~0.plus$0 () Bool) +(declare-fun $Environment~0.minus$0 () Bool) +(declare-fun $Environment~0.ok$0 () Bool) +(declare-fun $Sofar~0.X$0 () Bool) +(declare-fun $Sofar~0.Sofar$0 () Bool) +(declare-fun $Property~0.speed$0 () Int) +(declare-fun $Property~0.ok$0 () Bool) +(declare-fun $Property~0.cpt$0 () Int) +(declare-fun $Property~0.acceptable$0 () Bool) +(declare-fun $diff$1 () Int) +(declare-fun $speed$3 () Int) +(declare-fun $plus$3 () Bool) +(declare-fun $minus$3 () Bool) +(declare-fun $OK$3 () Bool) +(declare-fun $realistic$3 () Bool) +(declare-fun $Environment~0.diff$3 () Int) +(declare-fun $Environment~0.plus$3 () Bool) +(declare-fun $Environment~0.minus$3 () Bool) +(declare-fun $Environment~0.ok$3 () Bool) +(declare-fun $Sofar~0.X$3 () Bool) +(declare-fun $Sofar~0.Sofar$3 () Bool) +(declare-fun $Property~0.speed$3 () Int) +(declare-fun $Property~0.ok$3 () Bool) +(declare-fun $Property~0.cpt$3 () Int) +(declare-fun $Property~0.acceptable$3 () Bool) +(assert (and (T false $diff$0 $speed$0 $plus$0 $minus$0 $OK$0 $realistic$0 $Environment~0.diff$0 $Environment~0.plus$0 $Environment~0.minus$0 $Environment~0.ok$0 $Sofar~0.X$0 $Sofar~0.Sofar$0 $Property~0.speed$0 $Property~0.ok$0 $Property~0.cpt$0 $Property~0.acceptable$0 $diff$1 $speed$3 $plus$3 $minus$3 $OK$3 $realistic$3 $Environment~0.diff$3 $Environment~0.plus$3 $Environment~0.minus$3 $Environment~0.ok$3 $Sofar~0.X$3 $Sofar~0.Sofar$3 $Property~0.speed$3 $Property~0.ok$3 $Property~0.cpt$3 $Property~0.acceptable$3) $OK$3)) diff --git a/bench/tasks/cd_base3_s_part.smt2 b/bench/tasks/cd_base3_s_part.smt2 new file mode 100755 index 000000000..6cff2e04c --- /dev/null +++ b/bench/tasks/cd_base3_s_part.smt2 @@ -0,0 +1,73 @@ +; K = 3 +; Transition relation +(define-fun T ((%init Bool) ($diff$0 Int) ($speed$0 Int) ($plus$0 Bool) ($minus$0 Bool) ($OK$0 Bool) ($realistic$0 Bool) ($Environment~0.diff$0 Int) ($Environment~0.plus$0 Bool) ($Environment~0.minus$0 Bool) ($Environment~0.ok$0 Bool) ($Sofar~0.X$0 Bool) ($Sofar~0.Sofar$0 Bool) ($Property~0.speed$0 Int) ($Property~0.ok$0 Bool) ($Property~0.cpt$0 Int) ($Property~0.acceptable$0 Bool) ($diff$1 Int) ($speed$1 Int) ($plus$1 Bool) ($minus$1 Bool) ($OK$1 Bool) ($realistic$1 Bool) ($Environment~0.diff$1 Int) ($Environment~0.plus$1 Bool) ($Environment~0.minus$1 Bool) ($Environment~0.ok$1 Bool) ($Sofar~0.X$1 Bool) ($Sofar~0.Sofar$1 Bool) ($Property~0.speed$1 Int) ($Property~0.ok$1 Bool) ($Property~0.cpt$1 Int) ($Property~0.acceptable$1 Bool)) Bool (and (= $realistic$1 $Environment~0.ok$1) (= $OK$1 (=> $Sofar~0.Sofar$1 $Property~0.ok$1)) (= $Environment~0.diff$1 $diff$1) (= $Environment~0.plus$1 $plus$1) (= $Environment~0.minus$1 $minus$1) (= $Environment~0.ok$1 (and (and (and (<= (- 0 4) $Environment~0.diff$1) (<= $Environment~0.diff$1 4)) (ite (ite %init true $Environment~0.plus$0) (>= $Environment~0.diff$1 1) true)) (ite (ite %init false $Environment~0.minus$0) (<= $Environment~0.diff$1 (- 0 1)) true))) (= $Sofar~0.X$1 (and (and $realistic$1 (<= 0 $speed$1)) (< $speed$1 16))) (= $Sofar~0.Sofar$1 (ite %init $Sofar~0.X$1 (and $Sofar~0.X$1 $Sofar~0.Sofar$0))) (= $Property~0.speed$1 $speed$1) (= $Property~0.acceptable$1 (and (<= 8 $Property~0.speed$1) (<= $Property~0.speed$1 12))) (= $Property~0.cpt$1 (ite %init 0 (ite $Property~0.acceptable$1 0 (+ $Property~0.cpt$0 1)))) (= $Property~0.ok$1 (ite %init true (<= $Property~0.cpt$0 7))))) +; Universally quantified variables +(declare-fun $diff$~1 () Int) +(declare-fun $speed$~1 () Int) +(declare-fun $plus$~1 () Bool) +(declare-fun $minus$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $realistic$~1 () Bool) +(declare-fun $Environment~0.diff$~1 () Int) +(declare-fun $Environment~0.plus$~1 () Bool) +(declare-fun $Environment~0.minus$~1 () Bool) +(declare-fun $Environment~0.ok$~1 () Bool) +(declare-fun $Sofar~0.X$~1 () Bool) +(declare-fun $Sofar~0.Sofar$~1 () Bool) +(declare-fun $Property~0.speed$~1 () Int) +(declare-fun $Property~0.ok$~1 () Bool) +(declare-fun $Property~0.cpt$~1 () Int) +(declare-fun $Property~0.acceptable$~1 () Bool) +(declare-fun $diff$0 () Int) +(declare-fun $speed$0 () Int) +(declare-fun $plus$0 () Bool) +(declare-fun $minus$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $realistic$0 () Bool) +(declare-fun $Environment~0.diff$0 () Int) +(declare-fun $Environment~0.plus$0 () Bool) +(declare-fun $Environment~0.minus$0 () Bool) +(declare-fun $Environment~0.ok$0 () Bool) +(declare-fun $Sofar~0.X$0 () Bool) +(declare-fun $Sofar~0.Sofar$0 () Bool) +(declare-fun $Property~0.speed$0 () Int) +(declare-fun $Property~0.ok$0 () Bool) +(declare-fun $Property~0.cpt$0 () Int) +(declare-fun $Property~0.acceptable$0 () Bool) +(declare-fun $diff$1 () Int) +(declare-fun $speed$1 () Int) +(declare-fun $plus$1 () Bool) +(declare-fun $minus$1 () Bool) +(declare-fun $OK$1 () Bool) +(declare-fun $realistic$1 () Bool) +(declare-fun $Environment~0.diff$1 () Int) +(declare-fun $Environment~0.plus$1 () Bool) +(declare-fun $Environment~0.minus$1 () Bool) +(declare-fun $Environment~0.ok$1 () Bool) +(declare-fun $Sofar~0.X$1 () Bool) +(declare-fun $Sofar~0.Sofar$1 () Bool) +(declare-fun $Property~0.speed$1 () Int) +(declare-fun $Property~0.ok$1 () Bool) +(declare-fun $Property~0.cpt$1 () Int) +(declare-fun $Property~0.acceptable$1 () Bool) +(declare-fun $diff$2 () Int) +(declare-fun $speed$2 () Int) +(declare-fun $plus$2 () Bool) +(declare-fun $minus$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $realistic$2 () Bool) +(declare-fun $Environment~0.diff$2 () Int) +(declare-fun $Environment~0.plus$2 () Bool) +(declare-fun $Environment~0.minus$2 () Bool) +(declare-fun $Environment~0.ok$2 () Bool) +(declare-fun $Sofar~0.X$2 () Bool) +(declare-fun $Sofar~0.Sofar$2 () Bool) +(declare-fun $Property~0.speed$2 () Int) +(declare-fun $Property~0.ok$2 () Bool) +(declare-fun $Property~0.cpt$2 () Int) +(declare-fun $Property~0.acceptable$2 () Bool) +(assert (T true $diff$~1 $speed$~1 $plus$~1 $minus$~1 $OK$~1 $realistic$~1 $Environment~0.diff$~1 $Environment~0.plus$~1 $Environment~0.minus$~1 $Environment~0.ok$~1 $Sofar~0.X$~1 $Sofar~0.Sofar$~1 $Property~0.speed$~1 $Property~0.ok$~1 $Property~0.cpt$~1 $Property~0.acceptable$~1 $diff$0 $speed$0 $plus$0 $minus$0 $OK$0 $realistic$0 $Environment~0.diff$0 $Environment~0.plus$0 $Environment~0.minus$0 $Environment~0.ok$0 $Sofar~0.X$0 $Sofar~0.Sofar$0 $Property~0.speed$0 $Property~0.ok$0 $Property~0.cpt$0 $Property~0.acceptable$0)) +(assert $OK$0) +(assert (T false $diff$0 $speed$0 $plus$0 $minus$0 $OK$0 $realistic$0 $Environment~0.diff$0 $Environment~0.plus$0 $Environment~0.minus$0 $Environment~0.ok$0 $Sofar~0.X$0 $Sofar~0.Sofar$0 $Property~0.speed$0 $Property~0.ok$0 $Property~0.cpt$0 $Property~0.acceptable$0 $diff$1 $speed$1 $plus$1 $minus$1 $OK$1 $realistic$1 $Environment~0.diff$1 $Environment~0.plus$1 $Environment~0.minus$1 $Environment~0.ok$1 $Sofar~0.X$1 $Sofar~0.Sofar$1 $Property~0.speed$1 $Property~0.ok$1 $Property~0.cpt$1 $Property~0.acceptable$1)) +(assert $OK$1) +(assert (T false $diff$1 $speed$1 $plus$1 $minus$1 $OK$1 $realistic$1 $Environment~0.diff$1 $Environment~0.plus$1 $Environment~0.minus$1 $Environment~0.ok$1 $Sofar~0.X$1 $Sofar~0.Sofar$1 $Property~0.speed$1 $Property~0.ok$1 $Property~0.cpt$1 $Property~0.acceptable$1 $diff$2 $speed$2 $plus$2 $minus$2 $OK$2 $realistic$2 $Environment~0.diff$2 $Environment~0.plus$2 $Environment~0.minus$2 $Environment~0.ok$2 $Sofar~0.X$2 $Sofar~0.Sofar$2 $Property~0.speed$2 $Property~0.ok$2 $Property~0.cpt$2 $Property~0.acceptable$2)) diff --git a/bench/tasks/cd_base3_t_part.smt2 b/bench/tasks/cd_base3_t_part.smt2 new file mode 100755 index 000000000..894002866 --- /dev/null +++ b/bench/tasks/cd_base3_t_part.smt2 @@ -0,0 +1,69 @@ +; K = 3 +; Transition relation +(define-fun T ((%init Bool) ($diff$0 Int) ($speed$0 Int) ($plus$0 Bool) ($minus$0 Bool) ($OK$0 Bool) ($realistic$0 Bool) ($Environment~0.diff$0 Int) ($Environment~0.plus$0 Bool) ($Environment~0.minus$0 Bool) ($Environment~0.ok$0 Bool) ($Sofar~0.X$0 Bool) ($Sofar~0.Sofar$0 Bool) ($Property~0.speed$0 Int) ($Property~0.ok$0 Bool) ($Property~0.cpt$0 Int) ($Property~0.acceptable$0 Bool) ($diff$1 Int) ($speed$1 Int) ($plus$1 Bool) ($minus$1 Bool) ($OK$1 Bool) ($realistic$1 Bool) ($Environment~0.diff$1 Int) ($Environment~0.plus$1 Bool) ($Environment~0.minus$1 Bool) ($Environment~0.ok$1 Bool) ($Sofar~0.X$1 Bool) ($Sofar~0.Sofar$1 Bool) ($Property~0.speed$1 Int) ($Property~0.ok$1 Bool) ($Property~0.cpt$1 Int) ($Property~0.acceptable$1 Bool)) Bool (and (= $realistic$1 $Environment~0.ok$1) (= $OK$1 (=> $Sofar~0.Sofar$1 $Property~0.ok$1)) (= $Environment~0.diff$1 $diff$1) (= $Environment~0.plus$1 $plus$1) (= $Environment~0.minus$1 $minus$1) (= $Environment~0.ok$1 (and (and (and (<= (- 0 4) $Environment~0.diff$1) (<= $Environment~0.diff$1 4)) (ite (ite %init true $Environment~0.plus$0) (>= $Environment~0.diff$1 1) true)) (ite (ite %init false $Environment~0.minus$0) (<= $Environment~0.diff$1 (- 0 1)) true))) (= $Sofar~0.X$1 (and (and $realistic$1 (<= 0 $speed$1)) (< $speed$1 16))) (= $Sofar~0.Sofar$1 (ite %init $Sofar~0.X$1 (and $Sofar~0.X$1 $Sofar~0.Sofar$0))) (= $Property~0.speed$1 $speed$1) (= $Property~0.acceptable$1 (and (<= 8 $Property~0.speed$1) (<= $Property~0.speed$1 12))) (= $Property~0.cpt$1 (ite %init 0 (ite $Property~0.acceptable$1 0 (+ $Property~0.cpt$0 1)))) (= $Property~0.ok$1 (ite %init true (<= $Property~0.cpt$0 7))))) +; Universally quantified variables +(declare-fun $diff$~1 () Int) +(declare-fun $speed$~1 () Int) +(declare-fun $plus$~1 () Bool) +(declare-fun $minus$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $realistic$~1 () Bool) +(declare-fun $Environment~0.diff$~1 () Int) +(declare-fun $Environment~0.plus$~1 () Bool) +(declare-fun $Environment~0.minus$~1 () Bool) +(declare-fun $Environment~0.ok$~1 () Bool) +(declare-fun $Sofar~0.X$~1 () Bool) +(declare-fun $Sofar~0.Sofar$~1 () Bool) +(declare-fun $Property~0.speed$~1 () Int) +(declare-fun $Property~0.ok$~1 () Bool) +(declare-fun $Property~0.cpt$~1 () Int) +(declare-fun $Property~0.acceptable$~1 () Bool) +(declare-fun $diff$0 () Int) +(declare-fun $speed$0 () Int) +(declare-fun $plus$0 () Bool) +(declare-fun $minus$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $realistic$0 () Bool) +(declare-fun $Environment~0.diff$0 () Int) +(declare-fun $Environment~0.plus$0 () Bool) +(declare-fun $Environment~0.minus$0 () Bool) +(declare-fun $Environment~0.ok$0 () Bool) +(declare-fun $Sofar~0.X$0 () Bool) +(declare-fun $Sofar~0.Sofar$0 () Bool) +(declare-fun $Property~0.speed$0 () Int) +(declare-fun $Property~0.ok$0 () Bool) +(declare-fun $Property~0.cpt$0 () Int) +(declare-fun $Property~0.acceptable$0 () Bool) +(declare-fun $diff$1 () Int) +(declare-fun $speed$1 () Int) +(declare-fun $plus$1 () Bool) +(declare-fun $minus$1 () Bool) +(declare-fun $OK$1 () Bool) +(declare-fun $realistic$1 () Bool) +(declare-fun $Environment~0.diff$1 () Int) +(declare-fun $Environment~0.plus$1 () Bool) +(declare-fun $Environment~0.minus$1 () Bool) +(declare-fun $Environment~0.ok$1 () Bool) +(declare-fun $Sofar~0.X$1 () Bool) +(declare-fun $Sofar~0.Sofar$1 () Bool) +(declare-fun $Property~0.speed$1 () Int) +(declare-fun $Property~0.ok$1 () Bool) +(declare-fun $Property~0.cpt$1 () Int) +(declare-fun $Property~0.acceptable$1 () Bool) +(declare-fun $diff$2 () Int) +(declare-fun $speed$4 () Int) +(declare-fun $plus$4 () Bool) +(declare-fun $minus$4 () Bool) +(declare-fun $OK$4 () Bool) +(declare-fun $realistic$4 () Bool) +(declare-fun $Environment~0.diff$4 () Int) +(declare-fun $Environment~0.plus$4 () Bool) +(declare-fun $Environment~0.minus$4 () Bool) +(declare-fun $Environment~0.ok$4 () Bool) +(declare-fun $Sofar~0.X$4 () Bool) +(declare-fun $Sofar~0.Sofar$4 () Bool) +(declare-fun $Property~0.speed$4 () Int) +(declare-fun $Property~0.ok$4 () Bool) +(declare-fun $Property~0.cpt$4 () Int) +(declare-fun $Property~0.acceptable$4 () Bool) +(assert (and (T false $diff$1 $speed$1 $plus$1 $minus$1 $OK$1 $realistic$1 $Environment~0.diff$1 $Environment~0.plus$1 $Environment~0.minus$1 $Environment~0.ok$1 $Sofar~0.X$1 $Sofar~0.Sofar$1 $Property~0.speed$1 $Property~0.ok$1 $Property~0.cpt$1 $Property~0.acceptable$1 $diff$2 $speed$4 $plus$4 $minus$4 $OK$4 $realistic$4 $Environment~0.diff$4 $Environment~0.plus$4 $Environment~0.minus$4 $Environment~0.ok$4 $Sofar~0.X$4 $Sofar~0.Sofar$4 $Property~0.speed$4 $Property~0.ok$4 $Property~0.cpt$4 $Property~0.acceptable$4) $OK$4)) diff --git a/bench/tasks/cd_e7_621_e8_714_base1_s_part.smt2 b/bench/tasks/cd_e7_621_e8_714_base1_s_part.smt2 new file mode 100755 index 000000000..76e8010b7 --- /dev/null +++ b/bench/tasks/cd_e7_621_e8_714_base1_s_part.smt2 @@ -0,0 +1,25 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($diff$0 Int) ($V22_speed$0 Int) ($V23_plus$0 Bool) ($V24_minus$0 Bool) ($OK$0 Bool) ($V25_realistic$0 Bool) ($V93_X$0 Bool) ($V98_Sofar$0 Bool) ($V109_cpt$0 Int) ($V110_acceptable$0 Bool) ($diff$1 Int) ($V22_speed$1 Int) ($V23_plus$1 Bool) ($V24_minus$1 Bool) ($OK$1 Bool) ($V25_realistic$1 Bool) ($V93_X$1 Bool) ($V98_Sofar$1 Bool) ($V109_cpt$1 Int) ($V110_acceptable$1 Bool)) Bool (and (= $OK$1 (=> $V98_Sofar$1 (ite %init true (<= $V109_cpt$0 7)))) (= $V25_realistic$1 (and (and (and (<= (- 0 4) $diff$1) (<= $diff$1 4)) (ite (ite %init true $V23_plus$0) (>= $diff$1 1) true)) (ite (ite %init false $V24_minus$0) (<= $diff$1 (- 0 1)) true))) (= $V93_X$1 (and (and $V25_realistic$1 (<= 0 $V22_speed$1)) (< $V22_speed$1 16))) (= $V98_Sofar$1 (ite %init $V93_X$1 (and $V93_X$1 $V98_Sofar$0))) (= $V109_cpt$1 (ite %init 0 (ite $V110_acceptable$1 0 (+ $V109_cpt$0 1)))) (= $V110_acceptable$1 (and (<= 8 $V22_speed$1) (<= $V22_speed$1 12))))) +; Universally quantified variables +(declare-fun $diff$~1 () Int) +(declare-fun $V22_speed$~1 () Int) +(declare-fun $V23_plus$~1 () Bool) +(declare-fun $V24_minus$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V25_realistic$~1 () Bool) +(declare-fun $V93_X$~1 () Bool) +(declare-fun $V98_Sofar$~1 () Bool) +(declare-fun $V109_cpt$~1 () Int) +(declare-fun $V110_acceptable$~1 () Bool) +(declare-fun $diff$0 () Int) +(declare-fun $V22_speed$0 () Int) +(declare-fun $V23_plus$0 () Bool) +(declare-fun $V24_minus$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V25_realistic$0 () Bool) +(declare-fun $V93_X$0 () Bool) +(declare-fun $V98_Sofar$0 () Bool) +(declare-fun $V109_cpt$0 () Int) +(declare-fun $V110_acceptable$0 () Bool) +(assert (T true $diff$~1 $V22_speed$~1 $V23_plus$~1 $V24_minus$~1 $OK$~1 $V25_realistic$~1 $V93_X$~1 $V98_Sofar$~1 $V109_cpt$~1 $V110_acceptable$~1 $diff$0 $V22_speed$0 $V23_plus$0 $V24_minus$0 $OK$0 $V25_realistic$0 $V93_X$0 $V98_Sofar$0 $V109_cpt$0 $V110_acceptable$0)) diff --git a/bench/tasks/cd_e7_621_e8_714_base1_t_part.smt2 b/bench/tasks/cd_e7_621_e8_714_base1_t_part.smt2 new file mode 100755 index 000000000..eeaed9993 --- /dev/null +++ b/bench/tasks/cd_e7_621_e8_714_base1_t_part.smt2 @@ -0,0 +1,25 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($diff$0 Int) ($V22_speed$0 Int) ($V23_plus$0 Bool) ($V24_minus$0 Bool) ($OK$0 Bool) ($V25_realistic$0 Bool) ($V93_X$0 Bool) ($V98_Sofar$0 Bool) ($V109_cpt$0 Int) ($V110_acceptable$0 Bool) ($diff$1 Int) ($V22_speed$1 Int) ($V23_plus$1 Bool) ($V24_minus$1 Bool) ($OK$1 Bool) ($V25_realistic$1 Bool) ($V93_X$1 Bool) ($V98_Sofar$1 Bool) ($V109_cpt$1 Int) ($V110_acceptable$1 Bool)) Bool (and (= $OK$1 (=> $V98_Sofar$1 (ite %init true (<= $V109_cpt$0 7)))) (= $V25_realistic$1 (and (and (and (<= (- 0 4) $diff$1) (<= $diff$1 4)) (ite (ite %init true $V23_plus$0) (>= $diff$1 1) true)) (ite (ite %init false $V24_minus$0) (<= $diff$1 (- 0 1)) true))) (= $V93_X$1 (and (and $V25_realistic$1 (<= 0 $V22_speed$1)) (< $V22_speed$1 16))) (= $V98_Sofar$1 (ite %init $V93_X$1 (and $V93_X$1 $V98_Sofar$0))) (= $V109_cpt$1 (ite %init 0 (ite $V110_acceptable$1 0 (+ $V109_cpt$0 1)))) (= $V110_acceptable$1 (and (<= 8 $V22_speed$1) (<= $V22_speed$1 12))))) +; Universally quantified variables +(declare-fun $diff$~1 () Int) +(declare-fun $V22_speed$~1 () Int) +(declare-fun $V23_plus$~1 () Bool) +(declare-fun $V24_minus$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V25_realistic$~1 () Bool) +(declare-fun $V93_X$~1 () Bool) +(declare-fun $V98_Sofar$~1 () Bool) +(declare-fun $V109_cpt$~1 () Int) +(declare-fun $V110_acceptable$~1 () Bool) +(declare-fun $diff$0 () Int) +(declare-fun $V22_speed$2 () Int) +(declare-fun $V23_plus$2 () Bool) +(declare-fun $V24_minus$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V25_realistic$2 () Bool) +(declare-fun $V93_X$2 () Bool) +(declare-fun $V98_Sofar$2 () Bool) +(declare-fun $V109_cpt$2 () Int) +(declare-fun $V110_acceptable$2 () Bool) +(assert (and (T true $diff$~1 $V22_speed$~1 $V23_plus$~1 $V24_minus$~1 $OK$~1 $V25_realistic$~1 $V93_X$~1 $V98_Sofar$~1 $V109_cpt$~1 $V110_acceptable$~1 $diff$0 $V22_speed$2 $V23_plus$2 $V24_minus$2 $OK$2 $V25_realistic$2 $V93_X$2 $V98_Sofar$2 $V109_cpt$2 $V110_acceptable$2) $OK$2)) diff --git a/bench/tasks/cd_e7_621_e8_714_base2_s_part.smt2 b/bench/tasks/cd_e7_621_e8_714_base2_s_part.smt2 new file mode 100755 index 000000000..1ec149e60 --- /dev/null +++ b/bench/tasks/cd_e7_621_e8_714_base2_s_part.smt2 @@ -0,0 +1,37 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($diff$0 Int) ($V22_speed$0 Int) ($V23_plus$0 Bool) ($V24_minus$0 Bool) ($OK$0 Bool) ($V25_realistic$0 Bool) ($V93_X$0 Bool) ($V98_Sofar$0 Bool) ($V109_cpt$0 Int) ($V110_acceptable$0 Bool) ($diff$1 Int) ($V22_speed$1 Int) ($V23_plus$1 Bool) ($V24_minus$1 Bool) ($OK$1 Bool) ($V25_realistic$1 Bool) ($V93_X$1 Bool) ($V98_Sofar$1 Bool) ($V109_cpt$1 Int) ($V110_acceptable$1 Bool)) Bool (and (= $OK$1 (=> $V98_Sofar$1 (ite %init true (<= $V109_cpt$0 7)))) (= $V25_realistic$1 (and (and (and (<= (- 0 4) $diff$1) (<= $diff$1 4)) (ite (ite %init true $V23_plus$0) (>= $diff$1 1) true)) (ite (ite %init false $V24_minus$0) (<= $diff$1 (- 0 1)) true))) (= $V93_X$1 (and (and $V25_realistic$1 (<= 0 $V22_speed$1)) (< $V22_speed$1 16))) (= $V98_Sofar$1 (ite %init $V93_X$1 (and $V93_X$1 $V98_Sofar$0))) (= $V109_cpt$1 (ite %init 0 (ite $V110_acceptable$1 0 (+ $V109_cpt$0 1)))) (= $V110_acceptable$1 (and (<= 8 $V22_speed$1) (<= $V22_speed$1 12))))) +; Universally quantified variables +(declare-fun $diff$~1 () Int) +(declare-fun $V22_speed$~1 () Int) +(declare-fun $V23_plus$~1 () Bool) +(declare-fun $V24_minus$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V25_realistic$~1 () Bool) +(declare-fun $V93_X$~1 () Bool) +(declare-fun $V98_Sofar$~1 () Bool) +(declare-fun $V109_cpt$~1 () Int) +(declare-fun $V110_acceptable$~1 () Bool) +(declare-fun $diff$0 () Int) +(declare-fun $V22_speed$0 () Int) +(declare-fun $V23_plus$0 () Bool) +(declare-fun $V24_minus$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V25_realistic$0 () Bool) +(declare-fun $V93_X$0 () Bool) +(declare-fun $V98_Sofar$0 () Bool) +(declare-fun $V109_cpt$0 () Int) +(declare-fun $V110_acceptable$0 () Bool) +(declare-fun $diff$1 () Int) +(declare-fun $V22_speed$1 () Int) +(declare-fun $V23_plus$1 () Bool) +(declare-fun $V24_minus$1 () Bool) +(declare-fun $OK$1 () Bool) +(declare-fun $V25_realistic$1 () Bool) +(declare-fun $V93_X$1 () Bool) +(declare-fun $V98_Sofar$1 () Bool) +(declare-fun $V109_cpt$1 () Int) +(declare-fun $V110_acceptable$1 () Bool) +(assert (T true $diff$~1 $V22_speed$~1 $V23_plus$~1 $V24_minus$~1 $OK$~1 $V25_realistic$~1 $V93_X$~1 $V98_Sofar$~1 $V109_cpt$~1 $V110_acceptable$~1 $diff$0 $V22_speed$0 $V23_plus$0 $V24_minus$0 $OK$0 $V25_realistic$0 $V93_X$0 $V98_Sofar$0 $V109_cpt$0 $V110_acceptable$0)) +(assert $OK$0) +(assert (T false $diff$0 $V22_speed$0 $V23_plus$0 $V24_minus$0 $OK$0 $V25_realistic$0 $V93_X$0 $V98_Sofar$0 $V109_cpt$0 $V110_acceptable$0 $diff$1 $V22_speed$1 $V23_plus$1 $V24_minus$1 $OK$1 $V25_realistic$1 $V93_X$1 $V98_Sofar$1 $V109_cpt$1 $V110_acceptable$1)) diff --git a/bench/tasks/cd_e7_621_e8_714_base2_t_part.smt2 b/bench/tasks/cd_e7_621_e8_714_base2_t_part.smt2 new file mode 100755 index 000000000..cbd3e910e --- /dev/null +++ b/bench/tasks/cd_e7_621_e8_714_base2_t_part.smt2 @@ -0,0 +1,35 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($diff$0 Int) ($V22_speed$0 Int) ($V23_plus$0 Bool) ($V24_minus$0 Bool) ($OK$0 Bool) ($V25_realistic$0 Bool) ($V93_X$0 Bool) ($V98_Sofar$0 Bool) ($V109_cpt$0 Int) ($V110_acceptable$0 Bool) ($diff$1 Int) ($V22_speed$1 Int) ($V23_plus$1 Bool) ($V24_minus$1 Bool) ($OK$1 Bool) ($V25_realistic$1 Bool) ($V93_X$1 Bool) ($V98_Sofar$1 Bool) ($V109_cpt$1 Int) ($V110_acceptable$1 Bool)) Bool (and (= $OK$1 (=> $V98_Sofar$1 (ite %init true (<= $V109_cpt$0 7)))) (= $V25_realistic$1 (and (and (and (<= (- 0 4) $diff$1) (<= $diff$1 4)) (ite (ite %init true $V23_plus$0) (>= $diff$1 1) true)) (ite (ite %init false $V24_minus$0) (<= $diff$1 (- 0 1)) true))) (= $V93_X$1 (and (and $V25_realistic$1 (<= 0 $V22_speed$1)) (< $V22_speed$1 16))) (= $V98_Sofar$1 (ite %init $V93_X$1 (and $V93_X$1 $V98_Sofar$0))) (= $V109_cpt$1 (ite %init 0 (ite $V110_acceptable$1 0 (+ $V109_cpt$0 1)))) (= $V110_acceptable$1 (and (<= 8 $V22_speed$1) (<= $V22_speed$1 12))))) +; Universally quantified variables +(declare-fun $diff$~1 () Int) +(declare-fun $V22_speed$~1 () Int) +(declare-fun $V23_plus$~1 () Bool) +(declare-fun $V24_minus$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V25_realistic$~1 () Bool) +(declare-fun $V93_X$~1 () Bool) +(declare-fun $V98_Sofar$~1 () Bool) +(declare-fun $V109_cpt$~1 () Int) +(declare-fun $V110_acceptable$~1 () Bool) +(declare-fun $diff$0 () Int) +(declare-fun $V22_speed$0 () Int) +(declare-fun $V23_plus$0 () Bool) +(declare-fun $V24_minus$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V25_realistic$0 () Bool) +(declare-fun $V93_X$0 () Bool) +(declare-fun $V98_Sofar$0 () Bool) +(declare-fun $V109_cpt$0 () Int) +(declare-fun $V110_acceptable$0 () Bool) +(declare-fun $diff$1 () Int) +(declare-fun $V22_speed$3 () Int) +(declare-fun $V23_plus$3 () Bool) +(declare-fun $V24_minus$3 () Bool) +(declare-fun $OK$3 () Bool) +(declare-fun $V25_realistic$3 () Bool) +(declare-fun $V93_X$3 () Bool) +(declare-fun $V98_Sofar$3 () Bool) +(declare-fun $V109_cpt$3 () Int) +(declare-fun $V110_acceptable$3 () Bool) +(assert (and (T false $diff$0 $V22_speed$0 $V23_plus$0 $V24_minus$0 $OK$0 $V25_realistic$0 $V93_X$0 $V98_Sofar$0 $V109_cpt$0 $V110_acceptable$0 $diff$1 $V22_speed$3 $V23_plus$3 $V24_minus$3 $OK$3 $V25_realistic$3 $V93_X$3 $V98_Sofar$3 $V109_cpt$3 $V110_acceptable$3) $OK$3)) diff --git a/bench/tasks/cd_e7_621_e8_714_extend_s_part.smt2 b/bench/tasks/cd_e7_621_e8_714_extend_s_part.smt2 new file mode 100755 index 000000000..ab3b11f67 --- /dev/null +++ b/bench/tasks/cd_e7_621_e8_714_extend_s_part.smt2 @@ -0,0 +1,26 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($diff$0 Int) ($V22_speed$0 Int) ($V23_plus$0 Bool) ($V24_minus$0 Bool) ($OK$0 Bool) ($V25_realistic$0 Bool) ($V93_X$0 Bool) ($V98_Sofar$0 Bool) ($V109_cpt$0 Int) ($V110_acceptable$0 Bool) ($diff$1 Int) ($V22_speed$1 Int) ($V23_plus$1 Bool) ($V24_minus$1 Bool) ($OK$1 Bool) ($V25_realistic$1 Bool) ($V93_X$1 Bool) ($V98_Sofar$1 Bool) ($V109_cpt$1 Int) ($V110_acceptable$1 Bool)) Bool (and (= $OK$1 (=> $V98_Sofar$1 (ite %init true (<= $V109_cpt$0 7)))) (= $V25_realistic$1 (and (and (and (<= (- 0 4) $diff$1) (<= $diff$1 4)) (ite (ite %init true $V23_plus$0) (>= $diff$1 1) true)) (ite (ite %init false $V24_minus$0) (<= $diff$1 (- 0 1)) true))) (= $V93_X$1 (and (and $V25_realistic$1 (<= 0 $V22_speed$1)) (< $V22_speed$1 16))) (= $V98_Sofar$1 (ite %init $V93_X$1 (and $V93_X$1 $V98_Sofar$0))) (= $V109_cpt$1 (ite %init 0 (ite $V110_acceptable$1 0 (+ $V109_cpt$0 1)))) (= $V110_acceptable$1 (and (<= 8 $V22_speed$1) (<= $V22_speed$1 12))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $diff$~1 () Int) +(declare-fun $V22_speed$~1 () Int) +(declare-fun $V23_plus$~1 () Bool) +(declare-fun $V24_minus$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V25_realistic$~1 () Bool) +(declare-fun $V93_X$~1 () Bool) +(declare-fun $V98_Sofar$~1 () Bool) +(declare-fun $V109_cpt$~1 () Int) +(declare-fun $V110_acceptable$~1 () Bool) +(declare-fun $diff$0 () Int) +(declare-fun $V22_speed$0 () Int) +(declare-fun $V23_plus$0 () Bool) +(declare-fun $V24_minus$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V25_realistic$0 () Bool) +(declare-fun $V93_X$0 () Bool) +(declare-fun $V98_Sofar$0 () Bool) +(declare-fun $V109_cpt$0 () Int) +(declare-fun $V110_acceptable$0 () Bool) +(assert (T %init $diff$~1 $V22_speed$~1 $V23_plus$~1 $V24_minus$~1 $OK$~1 $V25_realistic$~1 $V93_X$~1 $V98_Sofar$~1 $V109_cpt$~1 $V110_acceptable$~1 $diff$0 $V22_speed$0 $V23_plus$0 $V24_minus$0 $OK$0 $V25_realistic$0 $V93_X$0 $V98_Sofar$0 $V109_cpt$0 $V110_acceptable$0)) diff --git a/bench/tasks/cd_e7_621_e8_714_extend_t_part.smt2 b/bench/tasks/cd_e7_621_e8_714_extend_t_part.smt2 new file mode 100755 index 000000000..3c8fb9335 --- /dev/null +++ b/bench/tasks/cd_e7_621_e8_714_extend_t_part.smt2 @@ -0,0 +1,26 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($diff$0 Int) ($V22_speed$0 Int) ($V23_plus$0 Bool) ($V24_minus$0 Bool) ($OK$0 Bool) ($V25_realistic$0 Bool) ($V93_X$0 Bool) ($V98_Sofar$0 Bool) ($V109_cpt$0 Int) ($V110_acceptable$0 Bool) ($diff$1 Int) ($V22_speed$1 Int) ($V23_plus$1 Bool) ($V24_minus$1 Bool) ($OK$1 Bool) ($V25_realistic$1 Bool) ($V93_X$1 Bool) ($V98_Sofar$1 Bool) ($V109_cpt$1 Int) ($V110_acceptable$1 Bool)) Bool (and (= $OK$1 (=> $V98_Sofar$1 (ite %init true (<= $V109_cpt$0 7)))) (= $V25_realistic$1 (and (and (and (<= (- 0 4) $diff$1) (<= $diff$1 4)) (ite (ite %init true $V23_plus$0) (>= $diff$1 1) true)) (ite (ite %init false $V24_minus$0) (<= $diff$1 (- 0 1)) true))) (= $V93_X$1 (and (and $V25_realistic$1 (<= 0 $V22_speed$1)) (< $V22_speed$1 16))) (= $V98_Sofar$1 (ite %init $V93_X$1 (and $V93_X$1 $V98_Sofar$0))) (= $V109_cpt$1 (ite %init 0 (ite $V110_acceptable$1 0 (+ $V109_cpt$0 1)))) (= $V110_acceptable$1 (and (<= 8 $V22_speed$1) (<= $V22_speed$1 12))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $diff$~1 () Int) +(declare-fun $V22_speed$~1 () Int) +(declare-fun $V23_plus$~1 () Bool) +(declare-fun $V24_minus$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V25_realistic$~1 () Bool) +(declare-fun $V93_X$~1 () Bool) +(declare-fun $V98_Sofar$~1 () Bool) +(declare-fun $V109_cpt$~1 () Int) +(declare-fun $V110_acceptable$~1 () Bool) +(declare-fun $diff$0 () Int) +(declare-fun $V22_speed$2 () Int) +(declare-fun $V23_plus$2 () Bool) +(declare-fun $V24_minus$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V25_realistic$2 () Bool) +(declare-fun $V93_X$2 () Bool) +(declare-fun $V98_Sofar$2 () Bool) +(declare-fun $V109_cpt$2 () Int) +(declare-fun $V110_acceptable$2 () Bool) +(assert (and (T %init $diff$~1 $V22_speed$~1 $V23_plus$~1 $V24_minus$~1 $OK$~1 $V25_realistic$~1 $V93_X$~1 $V98_Sofar$~1 $V109_cpt$~1 $V110_acceptable$~1 $diff$0 $V22_speed$2 $V23_plus$2 $V24_minus$2 $OK$2 $V25_realistic$2 $V93_X$2 $V98_Sofar$2 $V109_cpt$2 $V110_acceptable$2) $OK$2)) diff --git a/bench/tasks/cd_extend_s_part.smt2 b/bench/tasks/cd_extend_s_part.smt2 new file mode 100755 index 000000000..eb45c6f98 --- /dev/null +++ b/bench/tasks/cd_extend_s_part.smt2 @@ -0,0 +1,38 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($diff$0 Int) ($speed$0 Int) ($plus$0 Bool) ($minus$0 Bool) ($OK$0 Bool) ($realistic$0 Bool) ($Environment~0.diff$0 Int) ($Environment~0.plus$0 Bool) ($Environment~0.minus$0 Bool) ($Environment~0.ok$0 Bool) ($Sofar~0.X$0 Bool) ($Sofar~0.Sofar$0 Bool) ($Property~0.speed$0 Int) ($Property~0.ok$0 Bool) ($Property~0.cpt$0 Int) ($Property~0.acceptable$0 Bool) ($diff$1 Int) ($speed$1 Int) ($plus$1 Bool) ($minus$1 Bool) ($OK$1 Bool) ($realistic$1 Bool) ($Environment~0.diff$1 Int) ($Environment~0.plus$1 Bool) ($Environment~0.minus$1 Bool) ($Environment~0.ok$1 Bool) ($Sofar~0.X$1 Bool) ($Sofar~0.Sofar$1 Bool) ($Property~0.speed$1 Int) ($Property~0.ok$1 Bool) ($Property~0.cpt$1 Int) ($Property~0.acceptable$1 Bool)) Bool (and (= $realistic$1 $Environment~0.ok$1) (= $OK$1 (=> $Sofar~0.Sofar$1 $Property~0.ok$1)) (= $Environment~0.diff$1 $diff$1) (= $Environment~0.plus$1 $plus$1) (= $Environment~0.minus$1 $minus$1) (= $Environment~0.ok$1 (and (and (and (<= (- 0 4) $Environment~0.diff$1) (<= $Environment~0.diff$1 4)) (ite (ite %init true $Environment~0.plus$0) (>= $Environment~0.diff$1 1) true)) (ite (ite %init false $Environment~0.minus$0) (<= $Environment~0.diff$1 (- 0 1)) true))) (= $Sofar~0.X$1 (and (and $realistic$1 (<= 0 $speed$1)) (< $speed$1 16))) (= $Sofar~0.Sofar$1 (ite %init $Sofar~0.X$1 (and $Sofar~0.X$1 $Sofar~0.Sofar$0))) (= $Property~0.speed$1 $speed$1) (= $Property~0.acceptable$1 (and (<= 8 $Property~0.speed$1) (<= $Property~0.speed$1 12))) (= $Property~0.cpt$1 (ite %init 0 (ite $Property~0.acceptable$1 0 (+ $Property~0.cpt$0 1)))) (= $Property~0.ok$1 (ite %init true (<= $Property~0.cpt$0 7))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $diff$~1 () Int) +(declare-fun $speed$~1 () Int) +(declare-fun $plus$~1 () Bool) +(declare-fun $minus$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $realistic$~1 () Bool) +(declare-fun $Environment~0.diff$~1 () Int) +(declare-fun $Environment~0.plus$~1 () Bool) +(declare-fun $Environment~0.minus$~1 () Bool) +(declare-fun $Environment~0.ok$~1 () Bool) +(declare-fun $Sofar~0.X$~1 () Bool) +(declare-fun $Sofar~0.Sofar$~1 () Bool) +(declare-fun $Property~0.speed$~1 () Int) +(declare-fun $Property~0.ok$~1 () Bool) +(declare-fun $Property~0.cpt$~1 () Int) +(declare-fun $Property~0.acceptable$~1 () Bool) +(declare-fun $diff$0 () Int) +(declare-fun $speed$0 () Int) +(declare-fun $plus$0 () Bool) +(declare-fun $minus$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $realistic$0 () Bool) +(declare-fun $Environment~0.diff$0 () Int) +(declare-fun $Environment~0.plus$0 () Bool) +(declare-fun $Environment~0.minus$0 () Bool) +(declare-fun $Environment~0.ok$0 () Bool) +(declare-fun $Sofar~0.X$0 () Bool) +(declare-fun $Sofar~0.Sofar$0 () Bool) +(declare-fun $Property~0.speed$0 () Int) +(declare-fun $Property~0.ok$0 () Bool) +(declare-fun $Property~0.cpt$0 () Int) +(declare-fun $Property~0.acceptable$0 () Bool) +(assert (T %init $diff$~1 $speed$~1 $plus$~1 $minus$~1 $OK$~1 $realistic$~1 $Environment~0.diff$~1 $Environment~0.plus$~1 $Environment~0.minus$~1 $Environment~0.ok$~1 $Sofar~0.X$~1 $Sofar~0.Sofar$~1 $Property~0.speed$~1 $Property~0.ok$~1 $Property~0.cpt$~1 $Property~0.acceptable$~1 $diff$0 $speed$0 $plus$0 $minus$0 $OK$0 $realistic$0 $Environment~0.diff$0 $Environment~0.plus$0 $Environment~0.minus$0 $Environment~0.ok$0 $Sofar~0.X$0 $Sofar~0.Sofar$0 $Property~0.speed$0 $Property~0.ok$0 $Property~0.cpt$0 $Property~0.acceptable$0)) diff --git a/bench/tasks/cd_extend_t_part.smt2 b/bench/tasks/cd_extend_t_part.smt2 new file mode 100755 index 000000000..18a5f9d55 --- /dev/null +++ b/bench/tasks/cd_extend_t_part.smt2 @@ -0,0 +1,38 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($diff$0 Int) ($speed$0 Int) ($plus$0 Bool) ($minus$0 Bool) ($OK$0 Bool) ($realistic$0 Bool) ($Environment~0.diff$0 Int) ($Environment~0.plus$0 Bool) ($Environment~0.minus$0 Bool) ($Environment~0.ok$0 Bool) ($Sofar~0.X$0 Bool) ($Sofar~0.Sofar$0 Bool) ($Property~0.speed$0 Int) ($Property~0.ok$0 Bool) ($Property~0.cpt$0 Int) ($Property~0.acceptable$0 Bool) ($diff$1 Int) ($speed$1 Int) ($plus$1 Bool) ($minus$1 Bool) ($OK$1 Bool) ($realistic$1 Bool) ($Environment~0.diff$1 Int) ($Environment~0.plus$1 Bool) ($Environment~0.minus$1 Bool) ($Environment~0.ok$1 Bool) ($Sofar~0.X$1 Bool) ($Sofar~0.Sofar$1 Bool) ($Property~0.speed$1 Int) ($Property~0.ok$1 Bool) ($Property~0.cpt$1 Int) ($Property~0.acceptable$1 Bool)) Bool (and (= $realistic$1 $Environment~0.ok$1) (= $OK$1 (=> $Sofar~0.Sofar$1 $Property~0.ok$1)) (= $Environment~0.diff$1 $diff$1) (= $Environment~0.plus$1 $plus$1) (= $Environment~0.minus$1 $minus$1) (= $Environment~0.ok$1 (and (and (and (<= (- 0 4) $Environment~0.diff$1) (<= $Environment~0.diff$1 4)) (ite (ite %init true $Environment~0.plus$0) (>= $Environment~0.diff$1 1) true)) (ite (ite %init false $Environment~0.minus$0) (<= $Environment~0.diff$1 (- 0 1)) true))) (= $Sofar~0.X$1 (and (and $realistic$1 (<= 0 $speed$1)) (< $speed$1 16))) (= $Sofar~0.Sofar$1 (ite %init $Sofar~0.X$1 (and $Sofar~0.X$1 $Sofar~0.Sofar$0))) (= $Property~0.speed$1 $speed$1) (= $Property~0.acceptable$1 (and (<= 8 $Property~0.speed$1) (<= $Property~0.speed$1 12))) (= $Property~0.cpt$1 (ite %init 0 (ite $Property~0.acceptable$1 0 (+ $Property~0.cpt$0 1)))) (= $Property~0.ok$1 (ite %init true (<= $Property~0.cpt$0 7))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $diff$~1 () Int) +(declare-fun $speed$~1 () Int) +(declare-fun $plus$~1 () Bool) +(declare-fun $minus$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $realistic$~1 () Bool) +(declare-fun $Environment~0.diff$~1 () Int) +(declare-fun $Environment~0.plus$~1 () Bool) +(declare-fun $Environment~0.minus$~1 () Bool) +(declare-fun $Environment~0.ok$~1 () Bool) +(declare-fun $Sofar~0.X$~1 () Bool) +(declare-fun $Sofar~0.Sofar$~1 () Bool) +(declare-fun $Property~0.speed$~1 () Int) +(declare-fun $Property~0.ok$~1 () Bool) +(declare-fun $Property~0.cpt$~1 () Int) +(declare-fun $Property~0.acceptable$~1 () Bool) +(declare-fun $diff$0 () Int) +(declare-fun $speed$2 () Int) +(declare-fun $plus$2 () Bool) +(declare-fun $minus$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $realistic$2 () Bool) +(declare-fun $Environment~0.diff$2 () Int) +(declare-fun $Environment~0.plus$2 () Bool) +(declare-fun $Environment~0.minus$2 () Bool) +(declare-fun $Environment~0.ok$2 () Bool) +(declare-fun $Sofar~0.X$2 () Bool) +(declare-fun $Sofar~0.Sofar$2 () Bool) +(declare-fun $Property~0.speed$2 () Int) +(declare-fun $Property~0.ok$2 () Bool) +(declare-fun $Property~0.cpt$2 () Int) +(declare-fun $Property~0.acceptable$2 () Bool) +(assert (and (T %init $diff$~1 $speed$~1 $plus$~1 $minus$~1 $OK$~1 $realistic$~1 $Environment~0.diff$~1 $Environment~0.plus$~1 $Environment~0.minus$~1 $Environment~0.ok$~1 $Sofar~0.X$~1 $Sofar~0.Sofar$~1 $Property~0.speed$~1 $Property~0.ok$~1 $Property~0.cpt$~1 $Property~0.acceptable$~1 $diff$0 $speed$2 $plus$2 $minus$2 $OK$2 $realistic$2 $Environment~0.diff$2 $Environment~0.plus$2 $Environment~0.minus$2 $Environment~0.ok$2 $Sofar~0.X$2 $Sofar~0.Sofar$2 $Property~0.speed$2 $Property~0.ok$2 $Property~0.cpt$2 $Property~0.acceptable$2) $OK$2)) diff --git a/bench/tasks/cruise_controller_01_base_s_part.smt2 b/bench/tasks/cruise_controller_01_base_s_part.smt2 new file mode 100755 index 000000000..98ef44df6 --- /dev/null +++ b/bench/tasks/cruise_controller_01_base_s_part.smt2 @@ -0,0 +1,161 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($onOff$0 Bool) ($decelSet$0 Bool) ($accelResume$0 Bool) ($cancel$0 Bool) ($brakePedal$0 Bool) ($carGear$0 Int) ($carSpeed$0 Real) ($validInputs$0 Bool) ($OK$0 Bool) ($chart_CruiseController_ModeLogic_mode_logic_onOff$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_decel$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_set$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_accel$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_safetyCondition$0 Int) ($chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0 Bool) ($chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 Int) ($cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$0 Bool) ($cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$0 Bool) ($cruise_controller_CruiseController_ModeLogic_setEvent_Out$0 Bool) ($onOff$1 Bool) ($decelSet$1 Bool) ($accelResume$1 Bool) ($cancel$1 Bool) ($brakePedal$1 Bool) ($carGear$1 Int) ($carSpeed$1 Real) ($validInputs$1 Bool) ($OK$1 Bool) ($chart_CruiseController_ModeLogic_mode_logic_onOff$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_decel$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_set$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_accel$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 Int) ($chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 Bool) ($chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$1 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 Int) ($cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 Bool) ($cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 Bool) ($cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 Bool)) Bool (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 (ite %init (ite (<= (ite (>= 0 (ite $accelResume$1 1 0)) 0 (ite $accelResume$1 1 0)) 20) (ite (>= 0 (ite $accelResume$1 1 0)) 0 (ite $accelResume$1 1 0)) 20) (ite (<= (ite (>= 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 20) (ite (>= 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 20))) (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 (ite %init (ite (<= (ite (>= 0 (ite $decelSet$1 1 0)) 0 (ite $decelSet$1 1 0)) 20) (ite (>= 0 (ite $decelSet$1 1 0)) 0 (ite $decelSet$1 1 0)) 20) (ite (<= (ite (>= 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 20) (ite (>= 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 20))) (= $chart_CruiseController_ModeLogic_mode_logic_onOff$1 (ite (= $onOff$1 false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_decel$1 (ite (= (ite (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 20) true false) false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_set$1 (ite (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_accel$1 (ite (= (ite (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 20) true false) false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 (ite (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 true) (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 (ite %init true (ite $chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 false $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0))) (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 (ite %init 0 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0)) (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$1 (ite $chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 (ite $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 (ite (and (not $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1) (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 2) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 8))) (ite (and (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1) (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 6))) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1)) $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 (and (and (>= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 2) (<= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 8)) (not (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_onOff$1 0)) true false)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 (ite (and (>= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 2) (<= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 8)) 0 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1) $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 1)) 1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 1) (and (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_onOff$1 0)) true false) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 1) 0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (and (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 6)) (not (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 0)) true false)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (ite (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 6)) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 8)) 8 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 8) (and (and (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_set$1 1) false) 0 1) 0)) true false) (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 1) false) 0 1) 0)) true false)) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 8) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 8) (and (and (ite (not (= (ite (= (= (ite (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 false) 0 1) 1) false) 0 1) 0)) true false) (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 1) false) 0 1) 0)) true false)) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 8) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 7) (and (and (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_set$1 1) false) 0 1) 0)) true false) (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 1) false) 0 1) 0)) true false)) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 7) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 4) (= $chart_CruiseController_ModeLogic_mode_logic_set$1 1))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 4) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 4)) 4 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 4) (and (= $chart_CruiseController_ModeLogic_mode_logic_accel$1 1) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 4) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 5)) 5 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 4) (and (= $chart_CruiseController_ModeLogic_mode_logic_decel$1 1) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 4) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 6)) 6 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 6) (and (= $chart_CruiseController_ModeLogic_mode_logic_decel$1 0) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 6) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 4)) 4 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 5) (and (= $chart_CruiseController_ModeLogic_mode_logic_accel$1 0) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 5) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 4)) 4 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 6))) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 6))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 3) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 4)) 4 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$1 (or (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 4) (or (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 5) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 6))) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 6))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 3) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 4)) 4 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 6))) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 6))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 3) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 4)) 4 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 2) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 8))) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 2) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 8))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 2) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 8)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 7)) 7 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 1)) 1 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1)) (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 (ite %init false (and (not $accelResume$0) $accelResume$1))) (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 (and (and (and (and (not $cancel$1) (not $brakePedal$1)) (ite (= $carGear$1 3) true false)) (ite (>= $carSpeed$1 (/ 150 10)) true false)) $validInputs$1)) (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 (ite %init false (and (not $decelSet$0) $decelSet$1))) (= $OK$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$1))) +; Universally quantified variables +(declare-fun $onOff$~1 () Bool) +(declare-fun $decelSet$~1 () Bool) +(declare-fun $accelResume$~1 () Bool) +(declare-fun $cancel$~1 () Bool) +(declare-fun $brakePedal$~1 () Bool) +(declare-fun $carGear$~1 () Int) +(declare-fun $carSpeed$~1 () Real) +(declare-fun $validInputs$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_onOff$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_decel$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_set$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_accel$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic____wakeup___$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$~1 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$~1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$~1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$~1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$~1 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$~1 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_setEvent_Out$~1 () Bool) +(declare-fun $onOff$0 () Bool) +(declare-fun $decelSet$0 () Bool) +(declare-fun $accelResume$0 () Bool) +(declare-fun $cancel$0 () Bool) +(declare-fun $brakePedal$0 () Bool) +(declare-fun $carGear$0 () Int) +(declare-fun $carSpeed$0 () Real) +(declare-fun $validInputs$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_onOff$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_decel$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_set$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_accel$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$0 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$0 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_setEvent_Out$0 () Bool) +; Existentially quantified variables +; Assertions for universal part of the formula +(assert (T true $onOff$~1 $decelSet$~1 $accelResume$~1 $cancel$~1 $brakePedal$~1 $carGear$~1 $carSpeed$~1 $validInputs$~1 $OK$~1 $chart_CruiseController_ModeLogic_mode_logic_onOff$~1 $chart_CruiseController_ModeLogic_mode_logic_decel$~1 $chart_CruiseController_ModeLogic_mode_logic_set$~1 $chart_CruiseController_ModeLogic_mode_logic_accel$~1 $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$~1 $chart_CruiseController_ModeLogic_mode_logic____wakeup___$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$~1 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$~1 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$~1 $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$~1 $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$~1 $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$~1 $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$~1 $cruise_controller_CruiseController_ModeLogic_setEvent_Out$~1 $onOff$0 $decelSet$0 $accelResume$0 $cancel$0 $brakePedal$0 $carGear$0 $carSpeed$0 $validInputs$0 $OK$0 $chart_CruiseController_ModeLogic_mode_logic_onOff$0 $chart_CruiseController_ModeLogic_mode_logic_decel$0 $chart_CruiseController_ModeLogic_mode_logic_set$0 $chart_CruiseController_ModeLogic_mode_logic_accel$0 $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$0 $chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$0 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0 $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$0 $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$0 $cruise_controller_CruiseController_ModeLogic_setEvent_Out$0)) diff --git a/bench/tasks/cruise_controller_01_base_t_part.smt2 b/bench/tasks/cruise_controller_01_base_t_part.smt2 new file mode 100755 index 000000000..293f4a5ea --- /dev/null +++ b/bench/tasks/cruise_controller_01_base_t_part.smt2 @@ -0,0 +1,160 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($onOff$0 Bool) ($decelSet$0 Bool) ($accelResume$0 Bool) ($cancel$0 Bool) ($brakePedal$0 Bool) ($carGear$0 Int) ($carSpeed$0 Real) ($validInputs$0 Bool) ($OK$0 Bool) ($chart_CruiseController_ModeLogic_mode_logic_onOff$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_decel$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_set$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_accel$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_safetyCondition$0 Int) ($chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0 Bool) ($chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 Int) ($cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$0 Bool) ($cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$0 Bool) ($cruise_controller_CruiseController_ModeLogic_setEvent_Out$0 Bool) ($onOff$1 Bool) ($decelSet$1 Bool) ($accelResume$1 Bool) ($cancel$1 Bool) ($brakePedal$1 Bool) ($carGear$1 Int) ($carSpeed$1 Real) ($validInputs$1 Bool) ($OK$1 Bool) ($chart_CruiseController_ModeLogic_mode_logic_onOff$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_decel$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_set$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_accel$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 Int) ($chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 Bool) ($chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$1 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 Int) ($cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 Bool) ($cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 Bool) ($cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 Bool)) Bool (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 (ite %init (ite (<= (ite (>= 0 (ite $accelResume$1 1 0)) 0 (ite $accelResume$1 1 0)) 20) (ite (>= 0 (ite $accelResume$1 1 0)) 0 (ite $accelResume$1 1 0)) 20) (ite (<= (ite (>= 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 20) (ite (>= 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 20))) (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 (ite %init (ite (<= (ite (>= 0 (ite $decelSet$1 1 0)) 0 (ite $decelSet$1 1 0)) 20) (ite (>= 0 (ite $decelSet$1 1 0)) 0 (ite $decelSet$1 1 0)) 20) (ite (<= (ite (>= 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 20) (ite (>= 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 20))) (= $chart_CruiseController_ModeLogic_mode_logic_onOff$1 (ite (= $onOff$1 false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_decel$1 (ite (= (ite (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 20) true false) false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_set$1 (ite (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_accel$1 (ite (= (ite (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 20) true false) false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 (ite (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 true) (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 (ite %init true (ite $chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 false $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0))) (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 (ite %init 0 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0)) (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$1 (ite $chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 (ite $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 (ite (and (not $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1) (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 2) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 8))) (ite (and (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1) (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 6))) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1)) $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 (and (and (>= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 2) (<= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 8)) (not (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_onOff$1 0)) true false)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 (ite (and (>= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 2) (<= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 8)) 0 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1) $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 1)) 1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 1) (and (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_onOff$1 0)) true false) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 1) 0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (and (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 6)) (not (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 0)) true false)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (ite (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 6)) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 8)) 8 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 8) (and (and (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_set$1 1) false) 0 1) 0)) true false) (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 1) false) 0 1) 0)) true false)) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 8) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 8) (and (and (ite (not (= (ite (= (= (ite (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 false) 0 1) 1) false) 0 1) 0)) true false) (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 1) false) 0 1) 0)) true false)) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 8) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 7) (and (and (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_set$1 1) false) 0 1) 0)) true false) (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 1) false) 0 1) 0)) true false)) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 7) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 4) (= $chart_CruiseController_ModeLogic_mode_logic_set$1 1))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 4) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 4)) 4 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 4) (and (= $chart_CruiseController_ModeLogic_mode_logic_accel$1 1) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 4) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 5)) 5 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 4) (and (= $chart_CruiseController_ModeLogic_mode_logic_decel$1 1) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 4) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 6)) 6 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 6) (and (= $chart_CruiseController_ModeLogic_mode_logic_decel$1 0) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 6) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 4)) 4 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 5) (and (= $chart_CruiseController_ModeLogic_mode_logic_accel$1 0) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 5) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 4)) 4 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 6))) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 6))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 3) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 4)) 4 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$1 (or (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 4) (or (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 5) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 6))) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 6))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 3) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 4)) 4 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 6))) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 6))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 3) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 4)) 4 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 2) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 8))) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 2) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 8))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 2) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 8)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 7)) 7 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 1)) 1 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1)) (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 (ite %init false (and (not $accelResume$0) $accelResume$1))) (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 (and (and (and (and (not $cancel$1) (not $brakePedal$1)) (ite (= $carGear$1 3) true false)) (ite (>= $carSpeed$1 (/ 150 10)) true false)) $validInputs$1)) (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 (ite %init false (and (not $decelSet$0) $decelSet$1))) (= $OK$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$1))) +; Universally quantified variables +(declare-fun $onOff$~1 () Bool) +(declare-fun $decelSet$~1 () Bool) +(declare-fun $accelResume$~1 () Bool) +(declare-fun $cancel$~1 () Bool) +(declare-fun $brakePedal$~1 () Bool) +(declare-fun $carGear$~1 () Int) +(declare-fun $carSpeed$~1 () Real) +(declare-fun $validInputs$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_onOff$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_decel$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_set$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_accel$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic____wakeup___$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$~1 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$~1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$~1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$~1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$~1 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$~1 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_setEvent_Out$~1 () Bool) +(declare-fun $onOff$0 () Bool) +(declare-fun $decelSet$0 () Bool) +(declare-fun $accelResume$0 () Bool) +(declare-fun $cancel$0 () Bool) +(declare-fun $brakePedal$0 () Bool) +(declare-fun $carGear$0 () Int) +(declare-fun $carSpeed$0 () Real) +(declare-fun $validInputs$0 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_onOff$2 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_decel$2 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_set$2 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_accel$2 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$2 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 () Bool) +; Assertion for existential part of the formula +(assert (and (T true $onOff$~1 $decelSet$~1 $accelResume$~1 $cancel$~1 $brakePedal$~1 $carGear$~1 $carSpeed$~1 $validInputs$~1 $OK$~1 $chart_CruiseController_ModeLogic_mode_logic_onOff$~1 $chart_CruiseController_ModeLogic_mode_logic_decel$~1 $chart_CruiseController_ModeLogic_mode_logic_set$~1 $chart_CruiseController_ModeLogic_mode_logic_accel$~1 $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$~1 $chart_CruiseController_ModeLogic_mode_logic____wakeup___$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$~1 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$~1 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$~1 $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$~1 $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$~1 $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$~1 $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$~1 $cruise_controller_CruiseController_ModeLogic_setEvent_Out$~1 $onOff$0 $decelSet$0 $accelResume$0 $cancel$0 $brakePedal$0 $carGear$0 $carSpeed$0 $validInputs$0 $OK$2 $chart_CruiseController_ModeLogic_mode_logic_onOff$2 $chart_CruiseController_ModeLogic_mode_logic_decel$2 $chart_CruiseController_ModeLogic_mode_logic_set$2 $chart_CruiseController_ModeLogic_mode_logic_accel$2 $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2) $OK$2)) diff --git a/bench/tasks/cruise_controller_01_extend_s_part.smt2 b/bench/tasks/cruise_controller_01_extend_s_part.smt2 new file mode 100755 index 000000000..8412eb265 --- /dev/null +++ b/bench/tasks/cruise_controller_01_extend_s_part.smt2 @@ -0,0 +1,240 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($onOff$0 Bool) ($decelSet$0 Bool) ($accelResume$0 Bool) ($cancel$0 Bool) ($brakePedal$0 Bool) ($carGear$0 Int) ($carSpeed$0 Real) ($validInputs$0 Bool) ($OK$0 Bool) ($chart_CruiseController_ModeLogic_mode_logic_onOff$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_decel$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_set$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_accel$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_safetyCondition$0 Int) ($chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0 Bool) ($chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 Int) ($cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$0 Bool) ($cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$0 Bool) ($cruise_controller_CruiseController_ModeLogic_setEvent_Out$0 Bool) ($onOff$1 Bool) ($decelSet$1 Bool) ($accelResume$1 Bool) ($cancel$1 Bool) ($brakePedal$1 Bool) ($carGear$1 Int) ($carSpeed$1 Real) ($validInputs$1 Bool) ($OK$1 Bool) ($chart_CruiseController_ModeLogic_mode_logic_onOff$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_decel$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_set$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_accel$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 Int) ($chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 Bool) ($chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$1 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 Int) ($cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 Bool) ($cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 Bool) ($cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 Bool)) Bool (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 (ite %init (ite (<= (ite (>= 0 (ite $accelResume$1 1 0)) 0 (ite $accelResume$1 1 0)) 20) (ite (>= 0 (ite $accelResume$1 1 0)) 0 (ite $accelResume$1 1 0)) 20) (ite (<= (ite (>= 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 20) (ite (>= 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 20))) (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 (ite %init (ite (<= (ite (>= 0 (ite $decelSet$1 1 0)) 0 (ite $decelSet$1 1 0)) 20) (ite (>= 0 (ite $decelSet$1 1 0)) 0 (ite $decelSet$1 1 0)) 20) (ite (<= (ite (>= 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 20) (ite (>= 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 20))) (= $chart_CruiseController_ModeLogic_mode_logic_onOff$1 (ite (= $onOff$1 false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_decel$1 (ite (= (ite (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 20) true false) false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_set$1 (ite (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_accel$1 (ite (= (ite (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 20) true false) false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 (ite (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 true) (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 (ite %init true (ite $chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 false $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0))) (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 (ite %init 0 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0)) (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$1 (ite $chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 (ite $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 (ite (and (not $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1) (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 2) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 8))) (ite (and (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1) (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 6))) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1)) $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 (and (and (>= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 2) (<= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 8)) (not (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_onOff$1 0)) true false)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 (ite (and (>= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 2) (<= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 8)) 0 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1) $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 1)) 1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 1) (and (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_onOff$1 0)) true false) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 1) 0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (and (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 6)) (not (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 0)) true false)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (ite (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 6)) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 8)) 8 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 8) (and (and (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_set$1 1) false) 0 1) 0)) true false) (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 1) false) 0 1) 0)) true false)) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 8) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 8) (and (and (ite (not (= (ite (= (= (ite (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 false) 0 1) 1) false) 0 1) 0)) true false) (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 1) false) 0 1) 0)) true false)) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 8) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 7) (and (and (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_set$1 1) false) 0 1) 0)) true false) (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 1) false) 0 1) 0)) true false)) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 7) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 4) (= $chart_CruiseController_ModeLogic_mode_logic_set$1 1))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 4) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 4)) 4 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 4) (and (= $chart_CruiseController_ModeLogic_mode_logic_accel$1 1) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 4) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 5)) 5 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 4) (and (= $chart_CruiseController_ModeLogic_mode_logic_decel$1 1) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 4) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 6)) 6 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 6) (and (= $chart_CruiseController_ModeLogic_mode_logic_decel$1 0) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 6) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 4)) 4 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 5) (and (= $chart_CruiseController_ModeLogic_mode_logic_accel$1 0) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 5) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 4)) 4 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 6))) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 6))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 3) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 4)) 4 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$1 (or (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 4) (or (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 5) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 6))) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 6))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 3) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 4)) 4 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 6))) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 6))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 3) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 4)) 4 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 2) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 8))) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 2) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 8))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 2) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 8)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 7)) 7 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 1)) 1 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1)) (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 (ite %init false (and (not $accelResume$0) $accelResume$1))) (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 (and (and (and (and (not $cancel$1) (not $brakePedal$1)) (ite (= $carGear$1 3) true false)) (ite (>= $carSpeed$1 (/ 150 10)) true false)) $validInputs$1)) (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 (ite %init false (and (not $decelSet$0) $decelSet$1))) (= $OK$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$1))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $onOff$~1 () Bool) +(declare-fun $decelSet$~1 () Bool) +(declare-fun $accelResume$~1 () Bool) +(declare-fun $cancel$~1 () Bool) +(declare-fun $brakePedal$~1 () Bool) +(declare-fun $carGear$~1 () Int) +(declare-fun $carSpeed$~1 () Real) +(declare-fun $validInputs$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_onOff$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_decel$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_set$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_accel$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic____wakeup___$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$~1 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$~1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$~1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$~1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$~1 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$~1 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_setEvent_Out$~1 () Bool) +(declare-fun $onOff$0 () Bool) +(declare-fun $decelSet$0 () Bool) +(declare-fun $accelResume$0 () Bool) +(declare-fun $cancel$0 () Bool) +(declare-fun $brakePedal$0 () Bool) +(declare-fun $carGear$0 () Int) +(declare-fun $carSpeed$0 () Real) +(declare-fun $validInputs$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_onOff$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_decel$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_set$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_accel$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$0 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$0 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_setEvent_Out$0 () Bool) +(declare-fun $onOff$1 () Bool) +(declare-fun $decelSet$1 () Bool) +(declare-fun $accelResume$1 () Bool) +(declare-fun $cancel$1 () Bool) +(declare-fun $brakePedal$1 () Bool) +(declare-fun $carGear$1 () Int) +(declare-fun $carSpeed$1 () Real) +(declare-fun $validInputs$1 () Bool) +(declare-fun $OK$1 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_onOff$1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_decel$1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_set$1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_accel$1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 () Bool) +; Assertions for universal part of the formula +(assert (T %init $onOff$~1 $decelSet$~1 $accelResume$~1 $cancel$~1 $brakePedal$~1 $carGear$~1 $carSpeed$~1 $validInputs$~1 $OK$~1 $chart_CruiseController_ModeLogic_mode_logic_onOff$~1 $chart_CruiseController_ModeLogic_mode_logic_decel$~1 $chart_CruiseController_ModeLogic_mode_logic_set$~1 $chart_CruiseController_ModeLogic_mode_logic_accel$~1 $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$~1 $chart_CruiseController_ModeLogic_mode_logic____wakeup___$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$~1 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$~1 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$~1 $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$~1 $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$~1 $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$~1 $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$~1 $cruise_controller_CruiseController_ModeLogic_setEvent_Out$~1 $onOff$0 $decelSet$0 $accelResume$0 $cancel$0 $brakePedal$0 $carGear$0 $carSpeed$0 $validInputs$0 $OK$0 $chart_CruiseController_ModeLogic_mode_logic_onOff$0 $chart_CruiseController_ModeLogic_mode_logic_decel$0 $chart_CruiseController_ModeLogic_mode_logic_set$0 $chart_CruiseController_ModeLogic_mode_logic_accel$0 $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$0 $chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$0 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0 $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$0 $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$0 $cruise_controller_CruiseController_ModeLogic_setEvent_Out$0)) +(assert $OK$0) +(assert (T false $onOff$0 $decelSet$0 $accelResume$0 $cancel$0 $brakePedal$0 $carGear$0 $carSpeed$0 $validInputs$0 $OK$0 $chart_CruiseController_ModeLogic_mode_logic_onOff$0 $chart_CruiseController_ModeLogic_mode_logic_decel$0 $chart_CruiseController_ModeLogic_mode_logic_set$0 $chart_CruiseController_ModeLogic_mode_logic_accel$0 $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$0 $chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$0 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0 $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$0 $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$0 $cruise_controller_CruiseController_ModeLogic_setEvent_Out$0 $onOff$1 $decelSet$1 $accelResume$1 $cancel$1 $brakePedal$1 $carGear$1 $carSpeed$1 $validInputs$1 $OK$1 $chart_CruiseController_ModeLogic_mode_logic_onOff$1 $chart_CruiseController_ModeLogic_mode_logic_decel$1 $chart_CruiseController_ModeLogic_mode_logic_set$1 $chart_CruiseController_ModeLogic_mode_logic_accel$1 $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 $chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$1 $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 $cruise_controller_CruiseController_ModeLogic_setEvent_Out$1)) diff --git a/bench/tasks/cruise_controller_01_extend_t_part.smt2 b/bench/tasks/cruise_controller_01_extend_t_part.smt2 new file mode 100755 index 000000000..8fed00efe --- /dev/null +++ b/bench/tasks/cruise_controller_01_extend_t_part.smt2 @@ -0,0 +1,238 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($onOff$0 Bool) ($decelSet$0 Bool) ($accelResume$0 Bool) ($cancel$0 Bool) ($brakePedal$0 Bool) ($carGear$0 Int) ($carSpeed$0 Real) ($validInputs$0 Bool) ($OK$0 Bool) ($chart_CruiseController_ModeLogic_mode_logic_onOff$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_decel$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_set$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_accel$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_safetyCondition$0 Int) ($chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0 Bool) ($chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 Int) ($cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$0 Bool) ($cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$0 Bool) ($cruise_controller_CruiseController_ModeLogic_setEvent_Out$0 Bool) ($onOff$1 Bool) ($decelSet$1 Bool) ($accelResume$1 Bool) ($cancel$1 Bool) ($brakePedal$1 Bool) ($carGear$1 Int) ($carSpeed$1 Real) ($validInputs$1 Bool) ($OK$1 Bool) ($chart_CruiseController_ModeLogic_mode_logic_onOff$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_decel$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_set$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_accel$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 Int) ($chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 Bool) ($chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$1 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 Int) ($cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 Bool) ($cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 Bool) ($cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 Bool)) Bool (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 (ite %init (ite (<= (ite (>= 0 (ite $accelResume$1 1 0)) 0 (ite $accelResume$1 1 0)) 20) (ite (>= 0 (ite $accelResume$1 1 0)) 0 (ite $accelResume$1 1 0)) 20) (ite (<= (ite (>= 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 20) (ite (>= 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 20))) (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 (ite %init (ite (<= (ite (>= 0 (ite $decelSet$1 1 0)) 0 (ite $decelSet$1 1 0)) 20) (ite (>= 0 (ite $decelSet$1 1 0)) 0 (ite $decelSet$1 1 0)) 20) (ite (<= (ite (>= 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 20) (ite (>= 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 20))) (= $chart_CruiseController_ModeLogic_mode_logic_onOff$1 (ite (= $onOff$1 false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_decel$1 (ite (= (ite (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 20) true false) false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_set$1 (ite (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_accel$1 (ite (= (ite (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 20) true false) false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 (ite (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 true) (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 (ite %init true (ite $chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 false $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0))) (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 (ite %init 0 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0)) (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$1 (ite $chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 (ite $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 (ite (and (not $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1) (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 2) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 8))) (ite (and (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1) (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 6))) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1)) $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 (and (and (>= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 2) (<= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 8)) (not (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_onOff$1 0)) true false)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 (ite (and (>= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 2) (<= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 8)) 0 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1) $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 1)) 1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 1) (and (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_onOff$1 0)) true false) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 1) 0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (and (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 6)) (not (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 0)) true false)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (ite (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 6)) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 8)) 8 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 8) (and (and (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_set$1 1) false) 0 1) 0)) true false) (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 1) false) 0 1) 0)) true false)) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 8) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 8) (and (and (ite (not (= (ite (= (= (ite (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 false) 0 1) 1) false) 0 1) 0)) true false) (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 1) false) 0 1) 0)) true false)) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 8) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 7) (and (and (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_set$1 1) false) 0 1) 0)) true false) (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 1) false) 0 1) 0)) true false)) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 7) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 4) (= $chart_CruiseController_ModeLogic_mode_logic_set$1 1))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 4) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 4)) 4 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 4) (and (= $chart_CruiseController_ModeLogic_mode_logic_accel$1 1) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 4) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 5)) 5 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 4) (and (= $chart_CruiseController_ModeLogic_mode_logic_decel$1 1) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 4) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 6)) 6 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 6) (and (= $chart_CruiseController_ModeLogic_mode_logic_decel$1 0) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 6) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 4)) 4 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 5) (and (= $chart_CruiseController_ModeLogic_mode_logic_accel$1 0) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 5) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 4)) 4 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 6))) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 6))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 3) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 4)) 4 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$1 (or (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 4) (or (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 5) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 6))) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 6))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 3) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 4)) 4 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 6))) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 6))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 3) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 4)) 4 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 2) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 8))) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 2) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 8))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 2) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 8)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 7)) 7 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 1)) 1 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1)) (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 (ite %init false (and (not $accelResume$0) $accelResume$1))) (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 (and (and (and (and (not $cancel$1) (not $brakePedal$1)) (ite (= $carGear$1 3) true false)) (ite (>= $carSpeed$1 (/ 150 10)) true false)) $validInputs$1)) (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 (ite %init false (and (not $decelSet$0) $decelSet$1))) (= $OK$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$1))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $onOff$~1 () Bool) +(declare-fun $decelSet$~1 () Bool) +(declare-fun $accelResume$~1 () Bool) +(declare-fun $cancel$~1 () Bool) +(declare-fun $brakePedal$~1 () Bool) +(declare-fun $carGear$~1 () Int) +(declare-fun $carSpeed$~1 () Real) +(declare-fun $validInputs$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_onOff$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_decel$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_set$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_accel$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic____wakeup___$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$~1 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$~1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$~1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$~1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$~1 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$~1 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_setEvent_Out$~1 () Bool) +(declare-fun $onOff$0 () Bool) +(declare-fun $decelSet$0 () Bool) +(declare-fun $accelResume$0 () Bool) +(declare-fun $cancel$0 () Bool) +(declare-fun $brakePedal$0 () Bool) +(declare-fun $carGear$0 () Int) +(declare-fun $carSpeed$0 () Real) +(declare-fun $validInputs$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_onOff$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_decel$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_set$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_accel$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$0 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$0 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_setEvent_Out$0 () Bool) +(declare-fun $onOff$1 () Bool) +(declare-fun $decelSet$1 () Bool) +(declare-fun $accelResume$1 () Bool) +(declare-fun $cancel$1 () Bool) +(declare-fun $brakePedal$1 () Bool) +(declare-fun $carGear$1 () Int) +(declare-fun $carSpeed$1 () Real) +(declare-fun $validInputs$1 () Bool) +(declare-fun $OK$3 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_onOff$3 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_decel$3 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_set$3 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_accel$3 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$3 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic____wakeup___$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$3 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$3 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$3 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$3 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$3 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$3 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$3 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$3 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$3 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$3 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$3 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$3 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$3 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$3 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$3 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$3 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$3 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$3 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$3 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$3 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$3 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$3 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_setEvent_Out$3 () Bool) +; Assertion for existential part of the formula +(assert (and (T false $onOff$0 $decelSet$0 $accelResume$0 $cancel$0 $brakePedal$0 $carGear$0 $carSpeed$0 $validInputs$0 $OK$0 $chart_CruiseController_ModeLogic_mode_logic_onOff$0 $chart_CruiseController_ModeLogic_mode_logic_decel$0 $chart_CruiseController_ModeLogic_mode_logic_set$0 $chart_CruiseController_ModeLogic_mode_logic_accel$0 $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$0 $chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$0 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0 $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$0 $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$0 $cruise_controller_CruiseController_ModeLogic_setEvent_Out$0 $onOff$1 $decelSet$1 $accelResume$1 $cancel$1 $brakePedal$1 $carGear$1 $carSpeed$1 $validInputs$1 $OK$3 $chart_CruiseController_ModeLogic_mode_logic_onOff$3 $chart_CruiseController_ModeLogic_mode_logic_decel$3 $chart_CruiseController_ModeLogic_mode_logic_set$3 $chart_CruiseController_ModeLogic_mode_logic_accel$3 $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$3 $chart_CruiseController_ModeLogic_mode_logic____wakeup___$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_02$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$3 $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$3 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$3 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$3 $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$3 $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$3 $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$3 $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$3 $cruise_controller_CruiseController_ModeLogic_setEvent_Out$3) $OK$3)) diff --git a/bench/tasks/cruise_controller_02_base_s_part.smt2 b/bench/tasks/cruise_controller_02_base_s_part.smt2 new file mode 100755 index 000000000..7e73b24dc --- /dev/null +++ b/bench/tasks/cruise_controller_02_base_s_part.smt2 @@ -0,0 +1,160 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($onOff$0 Bool) ($decelSet$0 Bool) ($accelResume$0 Bool) ($cancel$0 Bool) ($brakePedal$0 Bool) ($carGear$0 Int) ($carSpeed$0 Real) ($validInputs$0 Bool) ($OK$0 Bool) ($chart_CruiseController_ModeLogic_mode_logic_onOff$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_decel$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_set$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_accel$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_safetyCondition$0 Int) ($chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0 Bool) ($chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 Int) ($cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$0 Bool) ($cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$0 Bool) ($cruise_controller_CruiseController_ModeLogic_setEvent_Out$0 Bool) ($onOff$1 Bool) ($decelSet$1 Bool) ($accelResume$1 Bool) ($cancel$1 Bool) ($brakePedal$1 Bool) ($carGear$1 Int) ($carSpeed$1 Real) ($validInputs$1 Bool) ($OK$1 Bool) ($chart_CruiseController_ModeLogic_mode_logic_onOff$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_decel$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_set$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_accel$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 Int) ($chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 Bool) ($chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$1 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 Int) ($cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 Bool) ($cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 Bool) ($cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 Bool)) Bool (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 (ite %init (ite (<= (ite (>= 0 (ite $accelResume$1 1 0)) 0 (ite $accelResume$1 1 0)) 20) (ite (>= 0 (ite $accelResume$1 1 0)) 0 (ite $accelResume$1 1 0)) 20) (ite (<= (ite (>= 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 20) (ite (>= 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 20))) (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 (ite %init (ite (<= (ite (>= 0 (ite $decelSet$1 1 0)) 0 (ite $decelSet$1 1 0)) 20) (ite (>= 0 (ite $decelSet$1 1 0)) 0 (ite $decelSet$1 1 0)) 20) (ite (<= (ite (>= 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 20) (ite (>= 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 20))) (= $chart_CruiseController_ModeLogic_mode_logic_onOff$1 (ite (= $onOff$1 false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_decel$1 (ite (= (ite (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 20) true false) false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_set$1 (ite (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_accel$1 (ite (= (ite (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 20) true false) false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 (ite (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 true) (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 (ite %init true (ite $chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 false $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0))) (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 (ite %init 0 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0)) (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$1 (ite $chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 (ite $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 (ite (and (not $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1) (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 2) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 8))) (ite (and (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1) (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 6))) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1)) $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 (and (and (>= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 2) (<= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 8)) (not (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_onOff$1 0)) true false)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 (ite (and (>= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 2) (<= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 8)) 0 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1) $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 1)) 1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 1) (and (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_onOff$1 0)) true false) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 1) 0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (and (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 6)) (not (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 0)) true false)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (ite (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 6)) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 8)) 8 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 8) (and (and (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_set$1 1) false) 0 1) 0)) true false) (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 1) false) 0 1) 0)) true false)) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 8) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 8) (and (and (ite (not (= (ite (= (= (ite (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 false) 0 1) 1) false) 0 1) 0)) true false) (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 1) false) 0 1) 0)) true false)) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 8) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 7) (and (and (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_set$1 1) false) 0 1) 0)) true false) (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 1) false) 0 1) 0)) true false)) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 7) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 4) (= $chart_CruiseController_ModeLogic_mode_logic_set$1 1))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 4) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 4)) 4 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 4) (and (= $chart_CruiseController_ModeLogic_mode_logic_accel$1 1) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 4) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 5)) 5 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 4) (and (= $chart_CruiseController_ModeLogic_mode_logic_decel$1 1) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 4) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 6)) 6 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 6) (and (= $chart_CruiseController_ModeLogic_mode_logic_decel$1 0) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 6) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 4)) 4 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 5) (and (= $chart_CruiseController_ModeLogic_mode_logic_accel$1 0) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 5) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 4)) 4 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 6))) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 6))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 3) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 4)) 4 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 6))) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 6))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 3) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 4)) 4 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$1 (or (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 4) (or (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 5) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 6))) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 6))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 3) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 4)) 4 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 2) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 8))) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 2) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 8))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 2) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 8)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 7)) 7 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 1)) 1 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1)) (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 (ite %init false (and (not $accelResume$0) $accelResume$1))) (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 (and (and (and (and (not $cancel$1) (not $brakePedal$1)) (ite (= $carGear$1 3) true false)) (ite (>= $carSpeed$1 (/ 150 10)) true false)) $validInputs$1)) (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 (ite %init false (and (not $decelSet$0) $decelSet$1))) (= $OK$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$1))) +; Universally quantified variables +(declare-fun $onOff$~1 () Bool) +(declare-fun $decelSet$~1 () Bool) +(declare-fun $accelResume$~1 () Bool) +(declare-fun $cancel$~1 () Bool) +(declare-fun $brakePedal$~1 () Bool) +(declare-fun $carGear$~1 () Int) +(declare-fun $carSpeed$~1 () Real) +(declare-fun $validInputs$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_onOff$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_decel$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_set$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_accel$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic____wakeup___$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$~1 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$~1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$~1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$~1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$~1 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$~1 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_setEvent_Out$~1 () Bool) +(declare-fun $onOff$0 () Bool) +(declare-fun $decelSet$0 () Bool) +(declare-fun $accelResume$0 () Bool) +(declare-fun $cancel$0 () Bool) +(declare-fun $brakePedal$0 () Bool) +(declare-fun $carGear$0 () Int) +(declare-fun $carSpeed$0 () Real) +(declare-fun $validInputs$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_onOff$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_decel$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_set$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_accel$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$0 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$0 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_setEvent_Out$0 () Bool) +; Assertions for universal part of the formula +(assert (T true $onOff$~1 $decelSet$~1 $accelResume$~1 $cancel$~1 $brakePedal$~1 $carGear$~1 $carSpeed$~1 $validInputs$~1 $OK$~1 $chart_CruiseController_ModeLogic_mode_logic_onOff$~1 $chart_CruiseController_ModeLogic_mode_logic_decel$~1 $chart_CruiseController_ModeLogic_mode_logic_set$~1 $chart_CruiseController_ModeLogic_mode_logic_accel$~1 $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$~1 $chart_CruiseController_ModeLogic_mode_logic____wakeup___$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$~1 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$~1 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$~1 $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$~1 $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$~1 $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$~1 $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$~1 $cruise_controller_CruiseController_ModeLogic_setEvent_Out$~1 $onOff$0 $decelSet$0 $accelResume$0 $cancel$0 $brakePedal$0 $carGear$0 $carSpeed$0 $validInputs$0 $OK$0 $chart_CruiseController_ModeLogic_mode_logic_onOff$0 $chart_CruiseController_ModeLogic_mode_logic_decel$0 $chart_CruiseController_ModeLogic_mode_logic_set$0 $chart_CruiseController_ModeLogic_mode_logic_accel$0 $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$0 $chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$0 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0 $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$0 $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$0 $cruise_controller_CruiseController_ModeLogic_setEvent_Out$0)) diff --git a/bench/tasks/cruise_controller_02_base_t_part.smt2 b/bench/tasks/cruise_controller_02_base_t_part.smt2 new file mode 100755 index 000000000..8c588b4cc --- /dev/null +++ b/bench/tasks/cruise_controller_02_base_t_part.smt2 @@ -0,0 +1,161 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($onOff$0 Bool) ($decelSet$0 Bool) ($accelResume$0 Bool) ($cancel$0 Bool) ($brakePedal$0 Bool) ($carGear$0 Int) ($carSpeed$0 Real) ($validInputs$0 Bool) ($OK$0 Bool) ($chart_CruiseController_ModeLogic_mode_logic_onOff$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_decel$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_set$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_accel$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_safetyCondition$0 Int) ($chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0 Bool) ($chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 Int) ($cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$0 Bool) ($cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$0 Bool) ($cruise_controller_CruiseController_ModeLogic_setEvent_Out$0 Bool) ($onOff$1 Bool) ($decelSet$1 Bool) ($accelResume$1 Bool) ($cancel$1 Bool) ($brakePedal$1 Bool) ($carGear$1 Int) ($carSpeed$1 Real) ($validInputs$1 Bool) ($OK$1 Bool) ($chart_CruiseController_ModeLogic_mode_logic_onOff$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_decel$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_set$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_accel$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 Int) ($chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 Bool) ($chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$1 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 Int) ($cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 Bool) ($cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 Bool) ($cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 Bool)) Bool (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 (ite %init (ite (<= (ite (>= 0 (ite $accelResume$1 1 0)) 0 (ite $accelResume$1 1 0)) 20) (ite (>= 0 (ite $accelResume$1 1 0)) 0 (ite $accelResume$1 1 0)) 20) (ite (<= (ite (>= 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 20) (ite (>= 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 20))) (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 (ite %init (ite (<= (ite (>= 0 (ite $decelSet$1 1 0)) 0 (ite $decelSet$1 1 0)) 20) (ite (>= 0 (ite $decelSet$1 1 0)) 0 (ite $decelSet$1 1 0)) 20) (ite (<= (ite (>= 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 20) (ite (>= 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 20))) (= $chart_CruiseController_ModeLogic_mode_logic_onOff$1 (ite (= $onOff$1 false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_decel$1 (ite (= (ite (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 20) true false) false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_set$1 (ite (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_accel$1 (ite (= (ite (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 20) true false) false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 (ite (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 true) (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 (ite %init true (ite $chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 false $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0))) (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 (ite %init 0 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0)) (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$1 (ite $chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 (ite $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 (ite (and (not $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1) (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 2) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 8))) (ite (and (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1) (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 6))) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1)) $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 (and (and (>= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 2) (<= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 8)) (not (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_onOff$1 0)) true false)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 (ite (and (>= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 2) (<= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 8)) 0 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1) $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 1)) 1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 1) (and (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_onOff$1 0)) true false) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 1) 0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (and (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 6)) (not (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 0)) true false)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (ite (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 6)) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 8)) 8 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 8) (and (and (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_set$1 1) false) 0 1) 0)) true false) (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 1) false) 0 1) 0)) true false)) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 8) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 8) (and (and (ite (not (= (ite (= (= (ite (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 false) 0 1) 1) false) 0 1) 0)) true false) (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 1) false) 0 1) 0)) true false)) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 8) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 7) (and (and (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_set$1 1) false) 0 1) 0)) true false) (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 1) false) 0 1) 0)) true false)) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 7) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 4) (= $chart_CruiseController_ModeLogic_mode_logic_set$1 1))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 4) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 4)) 4 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 4) (and (= $chart_CruiseController_ModeLogic_mode_logic_accel$1 1) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 4) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 5)) 5 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 4) (and (= $chart_CruiseController_ModeLogic_mode_logic_decel$1 1) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 4) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 6)) 6 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 6) (and (= $chart_CruiseController_ModeLogic_mode_logic_decel$1 0) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 6) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 4)) 4 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 5) (and (= $chart_CruiseController_ModeLogic_mode_logic_accel$1 0) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 5) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 4)) 4 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 6))) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 6))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 3) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 4)) 4 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 6))) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 6))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 3) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 4)) 4 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$1 (or (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 4) (or (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 5) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 6))) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 6))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 3) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 4)) 4 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 2) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 8))) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 2) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 8))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 2) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 8)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 7)) 7 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 1)) 1 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1)) (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 (ite %init false (and (not $accelResume$0) $accelResume$1))) (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 (and (and (and (and (not $cancel$1) (not $brakePedal$1)) (ite (= $carGear$1 3) true false)) (ite (>= $carSpeed$1 (/ 150 10)) true false)) $validInputs$1)) (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 (ite %init false (and (not $decelSet$0) $decelSet$1))) (= $OK$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$1))) +; Universally quantified variables +(declare-fun $onOff$~1 () Bool) +(declare-fun $decelSet$~1 () Bool) +(declare-fun $accelResume$~1 () Bool) +(declare-fun $cancel$~1 () Bool) +(declare-fun $brakePedal$~1 () Bool) +(declare-fun $carGear$~1 () Int) +(declare-fun $carSpeed$~1 () Real) +(declare-fun $validInputs$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_onOff$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_decel$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_set$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_accel$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic____wakeup___$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$~1 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$~1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$~1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$~1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$~1 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$~1 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_setEvent_Out$~1 () Bool) +(declare-fun $onOff$0 () Bool) +(declare-fun $decelSet$0 () Bool) +(declare-fun $accelResume$0 () Bool) +(declare-fun $cancel$0 () Bool) +(declare-fun $brakePedal$0 () Bool) +(declare-fun $carGear$0 () Int) +(declare-fun $carSpeed$0 () Real) +(declare-fun $validInputs$0 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_onOff$2 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_decel$2 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_set$2 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_accel$2 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$2 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2 () Bool) + +; Assertion for existential part of the formula +(assert (and (T true $onOff$~1 $decelSet$~1 $accelResume$~1 $cancel$~1 $brakePedal$~1 $carGear$~1 $carSpeed$~1 $validInputs$~1 $OK$~1 $chart_CruiseController_ModeLogic_mode_logic_onOff$~1 $chart_CruiseController_ModeLogic_mode_logic_decel$~1 $chart_CruiseController_ModeLogic_mode_logic_set$~1 $chart_CruiseController_ModeLogic_mode_logic_accel$~1 $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$~1 $chart_CruiseController_ModeLogic_mode_logic____wakeup___$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$~1 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$~1 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$~1 $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$~1 $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$~1 $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$~1 $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$~1 $cruise_controller_CruiseController_ModeLogic_setEvent_Out$~1 $onOff$0 $decelSet$0 $accelResume$0 $cancel$0 $brakePedal$0 $carGear$0 $carSpeed$0 $validInputs$0 $OK$2 $chart_CruiseController_ModeLogic_mode_logic_onOff$2 $chart_CruiseController_ModeLogic_mode_logic_decel$2 $chart_CruiseController_ModeLogic_mode_logic_set$2 $chart_CruiseController_ModeLogic_mode_logic_accel$2 $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$2 $chart_CruiseController_ModeLogic_mode_logic____wakeup___$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$2 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$2 $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$2 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$2 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$2 $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$2 $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$2 $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$2 $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$2 $cruise_controller_CruiseController_ModeLogic_setEvent_Out$2) $OK$2)) diff --git a/bench/tasks/cruise_controller_02_extend_s_part.smt2 b/bench/tasks/cruise_controller_02_extend_s_part.smt2 new file mode 100755 index 000000000..5c28b866c --- /dev/null +++ b/bench/tasks/cruise_controller_02_extend_s_part.smt2 @@ -0,0 +1,240 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($onOff$0 Bool) ($decelSet$0 Bool) ($accelResume$0 Bool) ($cancel$0 Bool) ($brakePedal$0 Bool) ($carGear$0 Int) ($carSpeed$0 Real) ($validInputs$0 Bool) ($OK$0 Bool) ($chart_CruiseController_ModeLogic_mode_logic_onOff$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_decel$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_set$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_accel$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_safetyCondition$0 Int) ($chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0 Bool) ($chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 Int) ($cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$0 Bool) ($cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$0 Bool) ($cruise_controller_CruiseController_ModeLogic_setEvent_Out$0 Bool) ($onOff$1 Bool) ($decelSet$1 Bool) ($accelResume$1 Bool) ($cancel$1 Bool) ($brakePedal$1 Bool) ($carGear$1 Int) ($carSpeed$1 Real) ($validInputs$1 Bool) ($OK$1 Bool) ($chart_CruiseController_ModeLogic_mode_logic_onOff$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_decel$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_set$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_accel$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 Int) ($chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 Bool) ($chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$1 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 Int) ($cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 Bool) ($cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 Bool) ($cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 Bool)) Bool (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 (ite %init (ite (<= (ite (>= 0 (ite $accelResume$1 1 0)) 0 (ite $accelResume$1 1 0)) 20) (ite (>= 0 (ite $accelResume$1 1 0)) 0 (ite $accelResume$1 1 0)) 20) (ite (<= (ite (>= 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 20) (ite (>= 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 20))) (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 (ite %init (ite (<= (ite (>= 0 (ite $decelSet$1 1 0)) 0 (ite $decelSet$1 1 0)) 20) (ite (>= 0 (ite $decelSet$1 1 0)) 0 (ite $decelSet$1 1 0)) 20) (ite (<= (ite (>= 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 20) (ite (>= 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 20))) (= $chart_CruiseController_ModeLogic_mode_logic_onOff$1 (ite (= $onOff$1 false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_decel$1 (ite (= (ite (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 20) true false) false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_set$1 (ite (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_accel$1 (ite (= (ite (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 20) true false) false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 (ite (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 true) (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 (ite %init true (ite $chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 false $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0))) (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 (ite %init 0 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0)) (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$1 (ite $chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 (ite $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 (ite (and (not $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1) (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 2) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 8))) (ite (and (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1) (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 6))) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1)) $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 (and (and (>= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 2) (<= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 8)) (not (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_onOff$1 0)) true false)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 (ite (and (>= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 2) (<= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 8)) 0 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1) $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 1)) 1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 1) (and (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_onOff$1 0)) true false) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 1) 0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (and (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 6)) (not (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 0)) true false)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (ite (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 6)) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 8)) 8 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 8) (and (and (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_set$1 1) false) 0 1) 0)) true false) (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 1) false) 0 1) 0)) true false)) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 8) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 8) (and (and (ite (not (= (ite (= (= (ite (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 false) 0 1) 1) false) 0 1) 0)) true false) (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 1) false) 0 1) 0)) true false)) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 8) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 7) (and (and (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_set$1 1) false) 0 1) 0)) true false) (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 1) false) 0 1) 0)) true false)) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 7) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 4) (= $chart_CruiseController_ModeLogic_mode_logic_set$1 1))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 4) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 4)) 4 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 4) (and (= $chart_CruiseController_ModeLogic_mode_logic_accel$1 1) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 4) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 5)) 5 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 4) (and (= $chart_CruiseController_ModeLogic_mode_logic_decel$1 1) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 4) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 6)) 6 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 6) (and (= $chart_CruiseController_ModeLogic_mode_logic_decel$1 0) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 6) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 4)) 4 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 5) (and (= $chart_CruiseController_ModeLogic_mode_logic_accel$1 0) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 5) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 4)) 4 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 6))) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 6))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 3) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 4)) 4 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 6))) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 6))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 3) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 4)) 4 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$1 (or (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 4) (or (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 5) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 6))) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 6))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 3) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 4)) 4 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 2) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 8))) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 2) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 8))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 2) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 8)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 7)) 7 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 1)) 1 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1)) (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 (ite %init false (and (not $accelResume$0) $accelResume$1))) (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 (and (and (and (and (not $cancel$1) (not $brakePedal$1)) (ite (= $carGear$1 3) true false)) (ite (>= $carSpeed$1 (/ 150 10)) true false)) $validInputs$1)) (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 (ite %init false (and (not $decelSet$0) $decelSet$1))) (= $OK$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$1))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $onOff$~1 () Bool) +(declare-fun $decelSet$~1 () Bool) +(declare-fun $accelResume$~1 () Bool) +(declare-fun $cancel$~1 () Bool) +(declare-fun $brakePedal$~1 () Bool) +(declare-fun $carGear$~1 () Int) +(declare-fun $carSpeed$~1 () Real) +(declare-fun $validInputs$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_onOff$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_decel$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_set$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_accel$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic____wakeup___$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$~1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$~1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$~1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$~1 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$~1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$~1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$~1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$~1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$~1 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$~1 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_setEvent_Out$~1 () Bool) +(declare-fun $onOff$0 () Bool) +(declare-fun $decelSet$0 () Bool) +(declare-fun $accelResume$0 () Bool) +(declare-fun $cancel$0 () Bool) +(declare-fun $brakePedal$0 () Bool) +(declare-fun $carGear$0 () Int) +(declare-fun $carSpeed$0 () Real) +(declare-fun $validInputs$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_onOff$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_decel$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_set$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_accel$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$0 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$0 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_setEvent_Out$0 () Bool) +(declare-fun $onOff$1 () Bool) +(declare-fun $decelSet$1 () Bool) +(declare-fun $accelResume$1 () Bool) +(declare-fun $cancel$1 () Bool) +(declare-fun $brakePedal$1 () Bool) +(declare-fun $carGear$1 () Int) +(declare-fun $carSpeed$1 () Real) +(declare-fun $validInputs$1 () Bool) +(declare-fun $OK$1 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_onOff$1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_decel$1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_set$1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_accel$1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 () Bool) +; Assertions for universal part of the formula +(assert (T %init $onOff$~1 $decelSet$~1 $accelResume$~1 $cancel$~1 $brakePedal$~1 $carGear$~1 $carSpeed$~1 $validInputs$~1 $OK$~1 $chart_CruiseController_ModeLogic_mode_logic_onOff$~1 $chart_CruiseController_ModeLogic_mode_logic_decel$~1 $chart_CruiseController_ModeLogic_mode_logic_set$~1 $chart_CruiseController_ModeLogic_mode_logic_accel$~1 $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$~1 $chart_CruiseController_ModeLogic_mode_logic____wakeup___$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$~1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$~1 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$~1 $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$~1 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$~1 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$~1 $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$~1 $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$~1 $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$~1 $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$~1 $cruise_controller_CruiseController_ModeLogic_setEvent_Out$~1 $onOff$0 $decelSet$0 $accelResume$0 $cancel$0 $brakePedal$0 $carGear$0 $carSpeed$0 $validInputs$0 $OK$0 $chart_CruiseController_ModeLogic_mode_logic_onOff$0 $chart_CruiseController_ModeLogic_mode_logic_decel$0 $chart_CruiseController_ModeLogic_mode_logic_set$0 $chart_CruiseController_ModeLogic_mode_logic_accel$0 $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$0 $chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$0 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0 $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$0 $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$0 $cruise_controller_CruiseController_ModeLogic_setEvent_Out$0)) +(assert $OK$0) +(assert (T false $onOff$0 $decelSet$0 $accelResume$0 $cancel$0 $brakePedal$0 $carGear$0 $carSpeed$0 $validInputs$0 $OK$0 $chart_CruiseController_ModeLogic_mode_logic_onOff$0 $chart_CruiseController_ModeLogic_mode_logic_decel$0 $chart_CruiseController_ModeLogic_mode_logic_set$0 $chart_CruiseController_ModeLogic_mode_logic_accel$0 $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$0 $chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$0 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0 $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$0 $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$0 $cruise_controller_CruiseController_ModeLogic_setEvent_Out$0 $onOff$1 $decelSet$1 $accelResume$1 $cancel$1 $brakePedal$1 $carGear$1 $carSpeed$1 $validInputs$1 $OK$1 $chart_CruiseController_ModeLogic_mode_logic_onOff$1 $chart_CruiseController_ModeLogic_mode_logic_decel$1 $chart_CruiseController_ModeLogic_mode_logic_set$1 $chart_CruiseController_ModeLogic_mode_logic_accel$1 $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 $chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$1 $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 $cruise_controller_CruiseController_ModeLogic_setEvent_Out$1)) diff --git a/bench/tasks/cruise_controller_02_extend_t_part.smt2 b/bench/tasks/cruise_controller_02_extend_t_part.smt2 new file mode 100755 index 000000000..f6f7d3ff5 --- /dev/null +++ b/bench/tasks/cruise_controller_02_extend_t_part.smt2 @@ -0,0 +1,162 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($onOff$0 Bool) ($decelSet$0 Bool) ($accelResume$0 Bool) ($cancel$0 Bool) ($brakePedal$0 Bool) ($carGear$0 Int) ($carSpeed$0 Real) ($validInputs$0 Bool) ($OK$0 Bool) ($chart_CruiseController_ModeLogic_mode_logic_onOff$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_decel$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_set$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_accel$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_safetyCondition$0 Int) ($chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$0 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$0 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$0 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0 Bool) ($chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$0 Int) ($chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 Int) ($cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$0 Bool) ($cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$0 Bool) ($cruise_controller_CruiseController_ModeLogic_setEvent_Out$0 Bool) ($onOff$1 Bool) ($decelSet$1 Bool) ($accelResume$1 Bool) ($cancel$1 Bool) ($brakePedal$1 Bool) ($carGear$1 Int) ($carSpeed$1 Real) ($validInputs$1 Bool) ($OK$1 Bool) ($chart_CruiseController_ModeLogic_mode_logic_onOff$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_decel$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_set$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_accel$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 Int) ($chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 Bool) ($rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1 Bool) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 Int) ($rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 Int) ($rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 Bool) ($chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 Int) ($chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$1 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 Int) ($cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 Int) ($cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 Bool) ($cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 Bool) ($cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 Bool)) Bool (and (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 (ite %init (ite (<= (ite (>= 0 (ite $accelResume$1 1 0)) 0 (ite $accelResume$1 1 0)) 20) (ite (>= 0 (ite $accelResume$1 1 0)) 0 (ite $accelResume$1 1 0)) 20) (ite (<= (ite (>= 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 20) (ite (>= 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 0 (ite $accelResume$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 1) 0)) 20))) (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 (ite %init (ite (<= (ite (>= 0 (ite $decelSet$1 1 0)) 0 (ite $decelSet$1 1 0)) 20) (ite (>= 0 (ite $decelSet$1 1 0)) 0 (ite $decelSet$1 1 0)) 20) (ite (<= (ite (>= 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 20) (ite (>= 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 0 (ite $decelSet$1 (+ $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 1) 0)) 20))) (= $chart_CruiseController_ModeLogic_mode_logic_onOff$1 (ite (= $onOff$1 false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_decel$1 (ite (= (ite (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$1 20) true false) false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_set$1 (ite (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_accel$1 (ite (= (ite (= $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$1 20) true false) false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 (ite (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 false) 0 1)) (= $chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 true) (= $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 (ite %init true (ite $chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 false $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0))) (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 (ite %init 0 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0)) (= $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$1 (ite $chart_CruiseController_ModeLogic_mode_logic____wakeup___$1 (ite $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 (ite (and (not $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1) (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 2) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 8))) (ite (and (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1) (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 6))) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1)) $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 (and (and (>= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 2) (<= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 8)) (not (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_onOff$1 0)) true false)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 (ite (and (>= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 2) (<= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 8)) 0 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1) $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1 1)) 1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 1) (and (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_onOff$1 0)) true false) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 1) 0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (and (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 6)) (not (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 0)) true false)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (ite (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1 6)) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 8)) 8 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 8) (and (and (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_set$1 1) false) 0 1) 0)) true false) (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 1) false) 0 1) 0)) true false)) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1 8) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 8) (and (and (ite (not (= (ite (= (= (ite (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 false) 0 1) 1) false) 0 1) 0)) true false) (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 1) false) 0 1) 0)) true false)) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1 8) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 7) (and (and (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_set$1 1) false) 0 1) 0)) true false) (ite (not (= (ite (= (= $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$1 1) false) 0 1) 0)) true false)) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1 7) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 4) (= $chart_CruiseController_ModeLogic_mode_logic_set$1 1))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1 4) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1 4)) 4 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 4) (and (= $chart_CruiseController_ModeLogic_mode_logic_accel$1 1) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 4) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1 5)) 5 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 4) (and (= $chart_CruiseController_ModeLogic_mode_logic_decel$1 1) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1 4) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1 6)) 6 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 6) (and (= $chart_CruiseController_ModeLogic_mode_logic_decel$1 0) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1 (or $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1 6) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1 4)) 4 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 (and (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 5) (and (= $chart_CruiseController_ModeLogic_mode_logic_accel$1 0) (not $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$1)))) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 (ite (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1 5) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$1)) (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$1 (ite $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$1 (ite (not (= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1 4)) 4 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1) $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 6))) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$1 6))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 3) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1 4)) 4 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 6))) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$1 6))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 3) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1 4)) 4 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$1 (or (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 4) (or (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 5) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 6))) 3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 3) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 6))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 3) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 6)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1 4)) 4 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 (ite (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 2) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 8))) 2 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (and (not (and (>= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 2) (<= $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$1 8))) (and (>= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 2) (<= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 8)))) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$1 (ite $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$1 (ite (not (= $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1 7)) 7 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1) $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$1)) (= $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$1 (ite (not (= $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1 1)) 1 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$1)) (= $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$1 (ite %init false (and (not $accelResume$0) $accelResume$1))) (= $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$1 (and (and (and (and (not $cancel$1) (not $brakePedal$1)) (ite (= $carGear$1 3) true false)) (ite (>= $carSpeed$1 (/ 150 10)) true false)) $validInputs$1)) (= $cruise_controller_CruiseController_ModeLogic_setEvent_Out$1 (ite %init false (and (not $decelSet$0) $decelSet$1))) (= $OK$1 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$1))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $onOff$0 () Bool) +(declare-fun $decelSet$0 () Bool) +(declare-fun $accelResume$0 () Bool) +(declare-fun $cancel$0 () Bool) +(declare-fun $brakePedal$0 () Bool) +(declare-fun $carGear$0 () Int) +(declare-fun $carSpeed$0 () Real) +(declare-fun $validInputs$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_onOff$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_decel$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_set$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_accel$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$0 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$0 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$0 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$0 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$0 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$0 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_setEvent_Out$0 () Bool) +(declare-fun $onOff$3 () Bool) +(declare-fun $decelSet$3 () Bool) +(declare-fun $accelResume$3 () Bool) +(declare-fun $cancel$3 () Bool) +(declare-fun $brakePedal$3 () Bool) +(declare-fun $carGear$3 () Int) +(declare-fun $carSpeed$3 () Real) +(declare-fun $validInputs$3 () Bool) +(declare-fun $OK$3 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_onOff$3 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_decel$3 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_set$3 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_accel$3 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$3 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic____wakeup___$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$3 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$3 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$3 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$3 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$3 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$3 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$3 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$3 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$3 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$3 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$3 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$3 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$3 () Bool) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$3 () Bool) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$3 () Int) +(declare-fun $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$3 () Int) +(declare-fun $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$3 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$3 () Bool) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$3 () Int) +(declare-fun $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$3 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$3 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$3 () Int) +(declare-fun $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$3 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$3 () Bool) +(declare-fun $cruise_controller_CruiseController_ModeLogic_setEvent_Out$3 () Bool) + +; Assertion for existential part of the formula +(assert (and (T false $onOff$0 $decelSet$0 $accelResume$0 $cancel$0 $brakePedal$0 $carGear$0 $carSpeed$0 $validInputs$0 $OK$0 $chart_CruiseController_ModeLogic_mode_logic_onOff$0 $chart_CruiseController_ModeLogic_mode_logic_decel$0 $chart_CruiseController_ModeLogic_mode_logic_set$0 $chart_CruiseController_ModeLogic_mode_logic_accel$0 $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$0 $chart_CruiseController_ModeLogic_mode_logic____wakeup___$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$0 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$0 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$0 $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$0 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$0 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$0 $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$0 $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$0 $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$0 $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$0 $cruise_controller_CruiseController_ModeLogic_setEvent_Out$0 $onOff$3 $decelSet$3 $accelResume$3 $cancel$3 $brakePedal$3 $carGear$3 $carSpeed$3 $validInputs$3 $OK$3 $chart_CruiseController_ModeLogic_mode_logic_onOff$3 $chart_CruiseController_ModeLogic_mode_logic_decel$3 $chart_CruiseController_ModeLogic_mode_logic_set$3 $chart_CruiseController_ModeLogic_mode_logic_accel$3 $chart_CruiseController_ModeLogic_mode_logic_safetyCondition$3 $chart_CruiseController_ModeLogic_mode_logic____wakeup___$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_2_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_1$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_1$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_4_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_5_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_2$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_2$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_6_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_7_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_3$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_complete_3$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_8_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_9_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_4$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_10_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_15_states___root$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root2$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_02$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root2$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root1$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_01$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rltCheckEntryStateConsistency_01$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root1$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_1_states___root$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_fired_0$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_Active_rlt_state_3_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_2_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_1$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_1$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_5_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_2$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_2$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_6_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_7_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_fired_3$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_complete_3$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_9_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_On_rlt_state_10_states___root$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_1_states___root$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_fired_0$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_On_rlt_state_3_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_0$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_1_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_fired_1$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_complete_1$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_3_states___root$3 $rlt_eval_CruiseController_ModeLogic_mode_logic_rlt_state_4_states___root$3 $rlt_enter_CruiseController_ModeLogic_mode_logic_rlt_state_2_states___root$3 $chart_CruiseController_ModeLogic_mode_logic_rlt_evtInitStep$3 $chart_CruiseController_ModeLogic_mode_logic_begin_state_states___root$3 $chart_CruiseController_ModeLogic_mode_logic_final_state_states___root$3 $cruise_controller_CruiseController_ModeLogic_DelayOnsetAccel_Bounded_Count_Out$3 $cruise_controller_CruiseController_ModeLogic_DelayOnsetDecel_Bounded_Count_Out$3 $cruise_controller_CruiseController_ModeLogic_resumeEvent_Out$3 $cruise_controller_CruiseController_ModeLogic_safetyCondition_safetyCondition$3 $cruise_controller_CruiseController_ModeLogic_setEvent_Out$3) $OK$3)) diff --git a/bench/tasks/cruise_controller_06_base_s_part.smt2 b/bench/tasks/cruise_controller_06_base_s_part.smt2 new file mode 100755 index 000000000..c569be0d9 --- /dev/null +++ b/bench/tasks/cruise_controller_06_base_s_part.smt2 @@ -0,0 +1,9 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($cruiseThrottle$0 Real) ($OK$0 Bool) ($cruiseThrottle$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (and (>= $cruiseThrottle$1 (/ 0 10)) (<= $cruiseThrottle$1 (/ 1000 10))))) +; Universally quantified variables +(declare-fun $cruiseThrottle$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $cruiseThrottle$0 () Real) +(declare-fun $OK$0 () Bool) +(assert (T true $cruiseThrottle$~1 $OK$~1 $cruiseThrottle$0 $OK$0)) diff --git a/bench/tasks/cruise_controller_06_base_t_part.smt2 b/bench/tasks/cruise_controller_06_base_t_part.smt2 new file mode 100755 index 000000000..eaf956d4a --- /dev/null +++ b/bench/tasks/cruise_controller_06_base_t_part.smt2 @@ -0,0 +1,9 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($cruiseThrottle$0 Real) ($OK$0 Bool) ($cruiseThrottle$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (and (>= $cruiseThrottle$1 (/ 0 10)) (<= $cruiseThrottle$1 (/ 1000 10))))) +; Universally quantified variables +(declare-fun $cruiseThrottle$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $cruiseThrottle$2 () Real) +(declare-fun $OK$2 () Bool) +(assert (and (T true $cruiseThrottle$~1 $OK$~1 $cruiseThrottle$2 $OK$2) $OK$2)) diff --git a/bench/tasks/cruise_controller_06_extend_s_part.smt2 b/bench/tasks/cruise_controller_06_extend_s_part.smt2 new file mode 100755 index 000000000..877e009f0 --- /dev/null +++ b/bench/tasks/cruise_controller_06_extend_s_part.smt2 @@ -0,0 +1,10 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($cruiseThrottle$0 Real) ($OK$0 Bool) ($cruiseThrottle$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (and (>= $cruiseThrottle$1 (/ 0 10)) (<= $cruiseThrottle$1 (/ 1000 10))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $cruiseThrottle$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $cruiseThrottle$0 () Real) +(declare-fun $OK$0 () Bool) +(assert (T %init $cruiseThrottle$~1 $OK$~1 $cruiseThrottle$0 $OK$0)) diff --git a/bench/tasks/cruise_controller_06_extend_t_part.smt2 b/bench/tasks/cruise_controller_06_extend_t_part.smt2 new file mode 100755 index 000000000..6a182bcc5 --- /dev/null +++ b/bench/tasks/cruise_controller_06_extend_t_part.smt2 @@ -0,0 +1,10 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($cruiseThrottle$0 Real) ($OK$0 Bool) ($cruiseThrottle$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (and (>= $cruiseThrottle$1 (/ 0 10)) (<= $cruiseThrottle$1 (/ 1000 10))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $cruiseThrottle$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $cruiseThrottle$2 () Real) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $cruiseThrottle$~1 $OK$~1 $cruiseThrottle$2 $OK$2) $OK$2)) diff --git a/bench/tasks/cruise_controller_07_base_s_part.smt2 b/bench/tasks/cruise_controller_07_base_s_part.smt2 new file mode 100755 index 000000000..191e9d869 --- /dev/null +++ b/bench/tasks/cruise_controller_07_base_s_part.smt2 @@ -0,0 +1,9 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($desiredSpeed$0 Real) ($OK$0 Bool) ($desiredSpeed$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (and (>= $desiredSpeed$1 (/ 0 10)) (<= $desiredSpeed$1 (/ 1000 10))))) +; Universally quantified variables +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $desiredSpeed$0 () Real) +(declare-fun $OK$0 () Bool) +(assert (T true $desiredSpeed$~1 $OK$~1 $desiredSpeed$0 $OK$0)) diff --git a/bench/tasks/cruise_controller_07_base_t_part.smt2 b/bench/tasks/cruise_controller_07_base_t_part.smt2 new file mode 100755 index 000000000..b2a7b6d6c --- /dev/null +++ b/bench/tasks/cruise_controller_07_base_t_part.smt2 @@ -0,0 +1,9 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($desiredSpeed$0 Real) ($OK$0 Bool) ($desiredSpeed$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (and (>= $desiredSpeed$1 (/ 0 10)) (<= $desiredSpeed$1 (/ 1000 10))))) +; Universally quantified variables +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $desiredSpeed$2 () Real) +(declare-fun $OK$2 () Bool) +(assert (and (T true $desiredSpeed$~1 $OK$~1 $desiredSpeed$2 $OK$2) $OK$2)) diff --git a/bench/tasks/cruise_controller_07_extend_s_part.smt2 b/bench/tasks/cruise_controller_07_extend_s_part.smt2 new file mode 100755 index 000000000..148afbbd3 --- /dev/null +++ b/bench/tasks/cruise_controller_07_extend_s_part.smt2 @@ -0,0 +1,10 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($desiredSpeed$0 Real) ($OK$0 Bool) ($desiredSpeed$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (and (>= $desiredSpeed$1 (/ 0 10)) (<= $desiredSpeed$1 (/ 1000 10))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $desiredSpeed$0 () Real) +(declare-fun $OK$0 () Bool) +(assert (T %init $desiredSpeed$~1 $OK$~1 $desiredSpeed$0 $OK$0)) diff --git a/bench/tasks/cruise_controller_07_extend_t_part.smt2 b/bench/tasks/cruise_controller_07_extend_t_part.smt2 new file mode 100755 index 000000000..5d1a1b9d2 --- /dev/null +++ b/bench/tasks/cruise_controller_07_extend_t_part.smt2 @@ -0,0 +1,10 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($desiredSpeed$0 Real) ($OK$0 Bool) ($desiredSpeed$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (and (>= $desiredSpeed$1 (/ 0 10)) (<= $desiredSpeed$1 (/ 1000 10))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $desiredSpeed$2 () Real) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $desiredSpeed$~1 $OK$~1 $desiredSpeed$2 $OK$2) $OK$2)) diff --git a/bench/tasks/cruise_controller_09_base_s_part.smt2 b/bench/tasks/cruise_controller_09_base_s_part.smt2 new file mode 100755 index 000000000..696722788 --- /dev/null +++ b/bench/tasks/cruise_controller_09_base_s_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($carSpeed$0 Real) ($desiredSpeed$0 Real) ($OK$0 Bool) ($carSpeed$1 Real) ($desiredSpeed$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (or (= $desiredSpeed$1 (ite %init (/ 0 10) $desiredSpeed$0)) (= $desiredSpeed$1 $carSpeed$1)) (= $desiredSpeed$1 (/ 0 10))))) +; Universally quantified variables +(declare-fun $carSpeed$~1 () Real) +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $carSpeed$0 () Real) +(declare-fun $desiredSpeed$0 () Real) +(declare-fun $OK$0 () Bool) +(assert (T true $carSpeed$~1 $desiredSpeed$~1 $OK$~1 $carSpeed$0 $desiredSpeed$0 $OK$0)) diff --git a/bench/tasks/cruise_controller_09_base_t_part.smt2 b/bench/tasks/cruise_controller_09_base_t_part.smt2 new file mode 100644 index 000000000..31a933b0b --- /dev/null +++ b/bench/tasks/cruise_controller_09_base_t_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($carSpeed$0 Real) ($desiredSpeed$0 Real) ($OK$0 Bool) ($carSpeed$1 Real) ($desiredSpeed$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (or (= $desiredSpeed$1 (ite %init (/ 0 10) $desiredSpeed$0)) (= $desiredSpeed$1 $carSpeed$1)) (= $desiredSpeed$1 (/ 0 10))))) +; Universally quantified variables +(declare-fun $carSpeed$~1 () Real) +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $carSpeed$0 () Real) +(declare-fun $desiredSpeed$2 () Real) +(declare-fun $OK$2 () Bool) +(assert (and (T true $carSpeed$~1 $desiredSpeed$~1 $OK$~1 $carSpeed$0 $desiredSpeed$2 $OK$2) $OK$2)) diff --git a/bench/tasks/cruise_controller_09_extend_s_part.smt2 b/bench/tasks/cruise_controller_09_extend_s_part.smt2 new file mode 100755 index 000000000..23748b743 --- /dev/null +++ b/bench/tasks/cruise_controller_09_extend_s_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($carSpeed$0 Real) ($desiredSpeed$0 Real) ($OK$0 Bool) ($carSpeed$1 Real) ($desiredSpeed$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (or (= $desiredSpeed$1 (ite %init (/ 0 10) $desiredSpeed$0)) (= $desiredSpeed$1 $carSpeed$1)) (= $desiredSpeed$1 (/ 0 10))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $carSpeed$~1 () Real) +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $carSpeed$0 () Real) +(declare-fun $desiredSpeed$0 () Real) +(declare-fun $OK$0 () Bool) +(assert (T %init $carSpeed$~1 $desiredSpeed$~1 $OK$~1 $carSpeed$0 $desiredSpeed$0 $OK$0)) diff --git a/bench/tasks/cruise_controller_09_extend_t_part.smt2 b/bench/tasks/cruise_controller_09_extend_t_part.smt2 new file mode 100755 index 000000000..1559e1f20 --- /dev/null +++ b/bench/tasks/cruise_controller_09_extend_t_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($carSpeed$0 Real) ($desiredSpeed$0 Real) ($OK$0 Bool) ($carSpeed$1 Real) ($desiredSpeed$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (or (= $desiredSpeed$1 (ite %init (/ 0 10) $desiredSpeed$0)) (= $desiredSpeed$1 $carSpeed$1)) (= $desiredSpeed$1 (/ 0 10))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $carSpeed$~1 () Real) +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $carSpeed$0 () Real) +(declare-fun $desiredSpeed$2 () Real) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $carSpeed$~1 $desiredSpeed$~1 $OK$~1 $carSpeed$0 $desiredSpeed$2 $OK$2) $OK$2)) diff --git a/bench/tasks/cruise_controller_11_base_s_part.smt2 b/bench/tasks/cruise_controller_11_base_s_part.smt2 new file mode 100755 index 000000000..152b2c57b --- /dev/null +++ b/bench/tasks/cruise_controller_11_base_s_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($mode$0 Int) ($cruiseThrottle$0 Real) ($OK$0 Bool) ($mode$1 Int) ($cruiseThrottle$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (or (or (= $mode$1 4) (= $mode$1 5)) (= $mode$1 6)) (= $cruiseThrottle$1 (/ 0 10))))) +; Universally quantified variables +(declare-fun $mode$~1 () Int) +(declare-fun $cruiseThrottle$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $mode$0 () Int) +(declare-fun $cruiseThrottle$0 () Real) +(declare-fun $OK$0 () Bool) +(assert (T true $mode$~1 $cruiseThrottle$~1 $OK$~1 $mode$0 $cruiseThrottle$0 $OK$0)) diff --git a/bench/tasks/cruise_controller_11_base_t_part.smt2 b/bench/tasks/cruise_controller_11_base_t_part.smt2 new file mode 100755 index 000000000..fe2ee333d --- /dev/null +++ b/bench/tasks/cruise_controller_11_base_t_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($mode$0 Int) ($cruiseThrottle$0 Real) ($OK$0 Bool) ($mode$1 Int) ($cruiseThrottle$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (or (or (= $mode$1 4) (= $mode$1 5)) (= $mode$1 6)) (= $cruiseThrottle$1 (/ 0 10))))) +; Universally quantified variables +(declare-fun $mode$~1 () Int) +(declare-fun $cruiseThrottle$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $mode$2 () Int) +(declare-fun $cruiseThrottle$2 () Real) +(declare-fun $OK$2 () Bool) +(assert (and (T true $mode$~1 $cruiseThrottle$~1 $OK$~1 $mode$2 $cruiseThrottle$2 $OK$2) $OK$2)) diff --git a/bench/tasks/cruise_controller_11_extend_s_part.smt2 b/bench/tasks/cruise_controller_11_extend_s_part.smt2 new file mode 100755 index 000000000..60062fc92 --- /dev/null +++ b/bench/tasks/cruise_controller_11_extend_s_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($mode$0 Int) ($cruiseThrottle$0 Real) ($OK$0 Bool) ($mode$1 Int) ($cruiseThrottle$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (or (or (= $mode$1 4) (= $mode$1 5)) (= $mode$1 6)) (= $cruiseThrottle$1 (/ 0 10))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $mode$~1 () Int) +(declare-fun $cruiseThrottle$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $mode$0 () Int) +(declare-fun $cruiseThrottle$0 () Real) +(declare-fun $OK$0 () Bool) +(assert (T %init $mode$~1 $cruiseThrottle$~1 $OK$~1 $mode$0 $cruiseThrottle$0 $OK$0)) diff --git a/bench/tasks/cruise_controller_11_extend_t_part.smt2 b/bench/tasks/cruise_controller_11_extend_t_part.smt2 new file mode 100755 index 000000000..954239889 --- /dev/null +++ b/bench/tasks/cruise_controller_11_extend_t_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($mode$0 Int) ($cruiseThrottle$0 Real) ($OK$0 Bool) ($mode$1 Int) ($cruiseThrottle$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (or (or (= $mode$1 4) (= $mode$1 5)) (= $mode$1 6)) (= $cruiseThrottle$1 (/ 0 10))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $mode$~1 () Int) +(declare-fun $cruiseThrottle$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $mode$2 () Int) +(declare-fun $cruiseThrottle$2 () Real) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $mode$~1 $cruiseThrottle$~1 $OK$~1 $mode$2 $cruiseThrottle$2 $OK$2) $OK$2)) diff --git a/bench/tasks/cruise_controller_15_base_s_part.smt2 b/bench/tasks/cruise_controller_15_base_s_part.smt2 new file mode 100755 index 000000000..e33508321 --- /dev/null +++ b/bench/tasks/cruise_controller_15_base_s_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($mode$0 Int) ($desiredSpeed$0 Real) ($OK$0 Bool) ($mode$1 Int) ($desiredSpeed$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (not (or (= $mode$1 1) (= $mode$1 3))) (= $desiredSpeed$1 (/ 0 10))))) +; Universally quantified variables +(declare-fun $mode$~1 () Int) +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $mode$0 () Int) +(declare-fun $desiredSpeed$0 () Real) +(declare-fun $OK$0 () Bool) +(assert (T true $mode$~1 $desiredSpeed$~1 $OK$~1 $mode$0 $desiredSpeed$0 $OK$0)) diff --git a/bench/tasks/cruise_controller_15_base_t_part.smt2 b/bench/tasks/cruise_controller_15_base_t_part.smt2 new file mode 100755 index 000000000..8988d546a --- /dev/null +++ b/bench/tasks/cruise_controller_15_base_t_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($mode$0 Int) ($desiredSpeed$0 Real) ($OK$0 Bool) ($mode$1 Int) ($desiredSpeed$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (not (or (= $mode$1 1) (= $mode$1 3))) (= $desiredSpeed$1 (/ 0 10))))) +; Universally quantified variables +(declare-fun $mode$~1 () Int) +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $mode$2 () Int) +(declare-fun $desiredSpeed$2 () Real) +(declare-fun $OK$2 () Bool) +(assert (and (T true $mode$~1 $desiredSpeed$~1 $OK$~1 $mode$2 $desiredSpeed$2 $OK$2) $OK$2)) diff --git a/bench/tasks/cruise_controller_15_extend_s_part.smt2 b/bench/tasks/cruise_controller_15_extend_s_part.smt2 new file mode 100755 index 000000000..08d36716c --- /dev/null +++ b/bench/tasks/cruise_controller_15_extend_s_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($mode$0 Int) ($desiredSpeed$0 Real) ($OK$0 Bool) ($mode$1 Int) ($desiredSpeed$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (not (or (= $mode$1 1) (= $mode$1 3))) (= $desiredSpeed$1 (/ 0 10))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $mode$~1 () Int) +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $mode$0 () Int) +(declare-fun $desiredSpeed$0 () Real) +(declare-fun $OK$0 () Bool) +(assert (T %init $mode$~1 $desiredSpeed$~1 $OK$~1 $mode$0 $desiredSpeed$0 $OK$0)) diff --git a/bench/tasks/cruise_controller_15_extend_t_part.smt2 b/bench/tasks/cruise_controller_15_extend_t_part.smt2 new file mode 100755 index 000000000..cfd3329a8 --- /dev/null +++ b/bench/tasks/cruise_controller_15_extend_t_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($mode$0 Int) ($desiredSpeed$0 Real) ($OK$0 Bool) ($mode$1 Int) ($desiredSpeed$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (not (or (= $mode$1 1) (= $mode$1 3))) (= $desiredSpeed$1 (/ 0 10))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $mode$~1 () Int) +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $mode$2 () Int) +(declare-fun $desiredSpeed$2 () Real) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $mode$~1 $desiredSpeed$~1 $OK$~1 $mode$2 $desiredSpeed$2 $OK$2) $OK$2)) diff --git a/bench/tasks/cruise_controller_16_base_s_part.smt2 b/bench/tasks/cruise_controller_16_base_s_part.smt2 new file mode 100755 index 000000000..79e082066 --- /dev/null +++ b/bench/tasks/cruise_controller_16_base_s_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($mode$0 Int) ($desiredSpeed$0 Real) ($OK$0 Bool) ($mode$1 Int) ($desiredSpeed$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (not (or (or (or (= $mode$1 4) (= $mode$1 5)) (= $mode$1 6)) (= $mode$1 3))) (>= $desiredSpeed$1 (/ 150 10))))) +; Universally quantified variables +(declare-fun $mode$~1 () Int) +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $mode$0 () Int) +(declare-fun $desiredSpeed$0 () Real) +(declare-fun $OK$0 () Bool) +(assert (T true $mode$~1 $desiredSpeed$~1 $OK$~1 $mode$0 $desiredSpeed$0 $OK$0)) diff --git a/bench/tasks/cruise_controller_16_base_t_part.smt2 b/bench/tasks/cruise_controller_16_base_t_part.smt2 new file mode 100755 index 000000000..2251aac06 --- /dev/null +++ b/bench/tasks/cruise_controller_16_base_t_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($mode$0 Int) ($desiredSpeed$0 Real) ($OK$0 Bool) ($mode$1 Int) ($desiredSpeed$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (not (or (or (or (= $mode$1 4) (= $mode$1 5)) (= $mode$1 6)) (= $mode$1 3))) (>= $desiredSpeed$1 (/ 150 10))))) +; Universally quantified variables +(declare-fun $mode$~1 () Int) +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $mode$2 () Int) +(declare-fun $desiredSpeed$2 () Real) +(declare-fun $OK$2 () Bool) +(assert (and (T true $mode$~1 $desiredSpeed$~1 $OK$~1 $mode$2 $desiredSpeed$2 $OK$2) $OK$2)) diff --git a/bench/tasks/cruise_controller_16_extend_s_part.smt2 b/bench/tasks/cruise_controller_16_extend_s_part.smt2 new file mode 100755 index 000000000..018331d48 --- /dev/null +++ b/bench/tasks/cruise_controller_16_extend_s_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($mode$0 Int) ($desiredSpeed$0 Real) ($OK$0 Bool) ($mode$1 Int) ($desiredSpeed$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (not (or (or (or (= $mode$1 4) (= $mode$1 5)) (= $mode$1 6)) (= $mode$1 3))) (>= $desiredSpeed$1 (/ 150 10))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $mode$~1 () Int) +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $mode$0 () Int) +(declare-fun $desiredSpeed$0 () Real) +(declare-fun $OK$0 () Bool) +(assert (T %init $mode$~1 $desiredSpeed$~1 $OK$~1 $mode$0 $desiredSpeed$0 $OK$0)) diff --git a/bench/tasks/cruise_controller_16_extend_t_part.smt2 b/bench/tasks/cruise_controller_16_extend_t_part.smt2 new file mode 100755 index 000000000..faa64fd87 --- /dev/null +++ b/bench/tasks/cruise_controller_16_extend_t_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($mode$0 Int) ($desiredSpeed$0 Real) ($OK$0 Bool) ($mode$1 Int) ($desiredSpeed$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (not (or (or (or (= $mode$1 4) (= $mode$1 5)) (= $mode$1 6)) (= $mode$1 3))) (>= $desiredSpeed$1 (/ 150 10))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $mode$~1 () Int) +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $mode$2 () Int) +(declare-fun $desiredSpeed$2 () Real) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $mode$~1 $desiredSpeed$~1 $OK$~1 $mode$2 $desiredSpeed$2 $OK$2) $OK$2)) diff --git a/bench/tasks/cruise_controller_17_base1_s_part.smt2 b/bench/tasks/cruise_controller_17_base1_s_part.smt2 new file mode 100755 index 000000000..e1c8356f9 --- /dev/null +++ b/bench/tasks/cruise_controller_17_base1_s_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($mode$0 Int) ($cruiseThrottle$0 Real) ($OK$0 Bool) ($mode$1 Int) ($cruiseThrottle$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (not (= $mode$1 4)) (= $cruiseThrottle$1 (ite %init (/ 0 10) $cruiseThrottle$0))))) +; Universally quantified variables +(declare-fun $mode$~1 () Int) +(declare-fun $cruiseThrottle$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $mode$0 () Int) +(declare-fun $cruiseThrottle$0 () Real) +(declare-fun $OK$0 () Bool) +(assert (T true $mode$~1 $cruiseThrottle$~1 $OK$~1 $mode$0 $cruiseThrottle$0 $OK$0)) diff --git a/bench/tasks/cruise_controller_17_base1_t_part.smt2 b/bench/tasks/cruise_controller_17_base1_t_part.smt2 new file mode 100755 index 000000000..218797db2 --- /dev/null +++ b/bench/tasks/cruise_controller_17_base1_t_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($mode$0 Int) ($cruiseThrottle$0 Real) ($OK$0 Bool) ($mode$1 Int) ($cruiseThrottle$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (not (= $mode$1 4)) (= $cruiseThrottle$1 (ite %init (/ 0 10) $cruiseThrottle$0))))) +; Universally quantified variables +(declare-fun $mode$~1 () Int) +(declare-fun $cruiseThrottle$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $mode$2 () Int) +(declare-fun $cruiseThrottle$2 () Real) +(declare-fun $OK$2 () Bool) +(assert (and (T true $mode$~1 $cruiseThrottle$~1 $OK$~1 $mode$2 $cruiseThrottle$2 $OK$2) $OK$2)) diff --git a/bench/tasks/cruise_controller_17_base2_s_part.smt2 b/bench/tasks/cruise_controller_17_base2_s_part.smt2 new file mode 100755 index 000000000..bfe0e6891 --- /dev/null +++ b/bench/tasks/cruise_controller_17_base2_s_part.smt2 @@ -0,0 +1,16 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($mode$0 Int) ($cruiseThrottle$0 Real) ($OK$0 Bool) ($mode$1 Int) ($cruiseThrottle$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (not (= $mode$1 4)) (= $cruiseThrottle$1 (ite %init (/ 0 10) $cruiseThrottle$0))))) +; Universally quantified variables +(declare-fun $mode$~1 () Int) +(declare-fun $cruiseThrottle$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $mode$0 () Int) +(declare-fun $cruiseThrottle$0 () Real) +(declare-fun $OK$0 () Bool) +(declare-fun $mode$1 () Int) +(declare-fun $cruiseThrottle$1 () Real) +(declare-fun $OK$1 () Bool) +(assert (T true $mode$~1 $cruiseThrottle$~1 $OK$~1 $mode$0 $cruiseThrottle$0 $OK$0)) +(assert $OK$0) +(assert (T false $mode$0 $cruiseThrottle$0 $OK$0 $mode$1 $cruiseThrottle$1 $OK$1)) diff --git a/bench/tasks/cruise_controller_17_base2_t_part.smt2 b/bench/tasks/cruise_controller_17_base2_t_part.smt2 new file mode 100755 index 000000000..ed848319c --- /dev/null +++ b/bench/tasks/cruise_controller_17_base2_t_part.smt2 @@ -0,0 +1,14 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($mode$0 Int) ($cruiseThrottle$0 Real) ($OK$0 Bool) ($mode$1 Int) ($cruiseThrottle$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (not (= $mode$1 4)) (= $cruiseThrottle$1 (ite %init (/ 0 10) $cruiseThrottle$0))))) +; Universally quantified variables +(declare-fun $mode$~1 () Int) +(declare-fun $cruiseThrottle$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $mode$0 () Int) +(declare-fun $cruiseThrottle$0 () Real) +(declare-fun $OK$0 () Bool) +(declare-fun $mode$3 () Int) +(declare-fun $cruiseThrottle$3 () Real) +(declare-fun $OK$3 () Bool) +(assert (and (T false $mode$0 $cruiseThrottle$0 $OK$0 $mode$3 $cruiseThrottle$3 $OK$3) $OK$3)) diff --git a/bench/tasks/cruise_controller_17_extend_s_part.smt2 b/bench/tasks/cruise_controller_17_extend_s_part.smt2 new file mode 100755 index 000000000..0b71b3d75 --- /dev/null +++ b/bench/tasks/cruise_controller_17_extend_s_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($mode$0 Int) ($cruiseThrottle$0 Real) ($OK$0 Bool) ($mode$1 Int) ($cruiseThrottle$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (not (= $mode$1 4)) (= $cruiseThrottle$1 (ite %init (/ 0 10) $cruiseThrottle$0))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $mode$~1 () Int) +(declare-fun $cruiseThrottle$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $mode$0 () Int) +(declare-fun $cruiseThrottle$0 () Real) +(declare-fun $OK$0 () Bool) +(assert (T %init $mode$~1 $cruiseThrottle$~1 $OK$~1 $mode$0 $cruiseThrottle$0 $OK$0)) diff --git a/bench/tasks/cruise_controller_17_extend_t_part.smt2 b/bench/tasks/cruise_controller_17_extend_t_part.smt2 new file mode 100755 index 000000000..2d79fcf0f --- /dev/null +++ b/bench/tasks/cruise_controller_17_extend_t_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($mode$0 Int) ($cruiseThrottle$0 Real) ($OK$0 Bool) ($mode$1 Int) ($cruiseThrottle$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (not (= $mode$1 4)) (= $cruiseThrottle$1 (ite %init (/ 0 10) $cruiseThrottle$0))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $mode$~1 () Int) +(declare-fun $cruiseThrottle$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $mode$2 () Int) +(declare-fun $cruiseThrottle$2 () Real) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $mode$~1 $cruiseThrottle$~1 $OK$~1 $mode$2 $cruiseThrottle$2 $OK$2) $OK$2)) diff --git a/bench/tasks/cruise_controller_20_base_s_part.smt2 b/bench/tasks/cruise_controller_20_base_s_part.smt2 new file mode 100755 index 000000000..7f5fddd69 --- /dev/null +++ b/bench/tasks/cruise_controller_20_base_s_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($mode$0 Int) ($desiredSpeed$0 Real) ($OK$0 Bool) ($mode$1 Int) ($desiredSpeed$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (not (ite %init false (= $mode$0 4))) (= $desiredSpeed$1 (ite %init (/ 0 10) $desiredSpeed$0))))) +; Universally quantified variables +(declare-fun $mode$~1 () Int) +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $mode$0 () Int) +(declare-fun $desiredSpeed$0 () Real) +(declare-fun $OK$0 () Bool) +(assert (T true $mode$~1 $desiredSpeed$~1 $OK$~1 $mode$0 $desiredSpeed$0 $OK$0)) diff --git a/bench/tasks/cruise_controller_20_base_t_part.smt2 b/bench/tasks/cruise_controller_20_base_t_part.smt2 new file mode 100755 index 000000000..0c6620afa --- /dev/null +++ b/bench/tasks/cruise_controller_20_base_t_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($mode$0 Int) ($desiredSpeed$0 Real) ($OK$0 Bool) ($mode$1 Int) ($desiredSpeed$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (not (ite %init false (= $mode$0 4))) (= $desiredSpeed$1 (ite %init (/ 0 10) $desiredSpeed$0))))) +; Universally quantified variables +(declare-fun $mode$~1 () Int) +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $mode$2 () Int) +(declare-fun $desiredSpeed$2 () Real) +(declare-fun $OK$2 () Bool) +(assert (and (T true $mode$~1 $desiredSpeed$~1 $OK$~1 $mode$2 $desiredSpeed$2 $OK$2) $OK$2)) diff --git a/bench/tasks/cruise_controller_20_extend_s_part.smt2 b/bench/tasks/cruise_controller_20_extend_s_part.smt2 new file mode 100755 index 000000000..f002984e9 --- /dev/null +++ b/bench/tasks/cruise_controller_20_extend_s_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($mode$0 Int) ($desiredSpeed$0 Real) ($OK$0 Bool) ($mode$1 Int) ($desiredSpeed$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (not (ite %init false (= $mode$0 4))) (= $desiredSpeed$1 (ite %init (/ 0 10) $desiredSpeed$0))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $mode$~1 () Int) +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $mode$0 () Int) +(declare-fun $desiredSpeed$0 () Real) +(declare-fun $OK$0 () Bool) +(assert (T %init $mode$~1 $desiredSpeed$~1 $OK$~1 $mode$0 $desiredSpeed$0 $OK$0)) diff --git a/bench/tasks/cruise_controller_20_extend_t_part.smt2 b/bench/tasks/cruise_controller_20_extend_t_part.smt2 new file mode 100755 index 000000000..10b01740d --- /dev/null +++ b/bench/tasks/cruise_controller_20_extend_t_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($mode$0 Int) ($desiredSpeed$0 Real) ($OK$0 Bool) ($mode$1 Int) ($desiredSpeed$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (not (ite %init false (= $mode$0 4))) (= $desiredSpeed$1 (ite %init (/ 0 10) $desiredSpeed$0))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $mode$~1 () Int) +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $mode$2 () Int) +(declare-fun $desiredSpeed$2 () Real) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $mode$~1 $desiredSpeed$~1 $OK$~1 $mode$2 $desiredSpeed$2 $OK$2) $OK$2)) diff --git a/bench/tasks/cruise_controller_23_base_s_part.smt2 b/bench/tasks/cruise_controller_23_base_s_part.smt2 new file mode 100755 index 000000000..5403bf142 --- /dev/null +++ b/bench/tasks/cruise_controller_23_base_s_part.smt2 @@ -0,0 +1,9 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($desiredSpeed$0 Real) ($OK$0 Bool) ($desiredSpeed$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (= $desiredSpeed$1 (/ 0 10)) (>= $desiredSpeed$1 (/ 150 10))))) +; Universally quantified variables +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $desiredSpeed$0 () Real) +(declare-fun $OK$0 () Bool) +(assert (T true $desiredSpeed$~1 $OK$~1 $desiredSpeed$0 $OK$0)) diff --git a/bench/tasks/cruise_controller_23_base_t_part.smt2 b/bench/tasks/cruise_controller_23_base_t_part.smt2 new file mode 100755 index 000000000..b92735d19 --- /dev/null +++ b/bench/tasks/cruise_controller_23_base_t_part.smt2 @@ -0,0 +1,9 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($desiredSpeed$0 Real) ($OK$0 Bool) ($desiredSpeed$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (= $desiredSpeed$1 (/ 0 10)) (>= $desiredSpeed$1 (/ 150 10))))) +; Universally quantified variables +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $desiredSpeed$2 () Real) +(declare-fun $OK$2 () Bool) +(assert (and (T true $desiredSpeed$~1 $OK$~1 $desiredSpeed$2 $OK$2) $OK$2)) diff --git a/bench/tasks/cruise_controller_23_extend_s_part.smt2 b/bench/tasks/cruise_controller_23_extend_s_part.smt2 new file mode 100755 index 000000000..d6435c41e --- /dev/null +++ b/bench/tasks/cruise_controller_23_extend_s_part.smt2 @@ -0,0 +1,10 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($desiredSpeed$0 Real) ($OK$0 Bool) ($desiredSpeed$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (= $desiredSpeed$1 (/ 0 10)) (>= $desiredSpeed$1 (/ 150 10))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $desiredSpeed$0 () Real) +(declare-fun $OK$0 () Bool) +(assert (T %init $desiredSpeed$~1 $OK$~1 $desiredSpeed$0 $OK$0)) diff --git a/bench/tasks/cruise_controller_23_extend_t_part.smt2 b/bench/tasks/cruise_controller_23_extend_t_part.smt2 new file mode 100755 index 000000000..f508c19b7 --- /dev/null +++ b/bench/tasks/cruise_controller_23_extend_t_part.smt2 @@ -0,0 +1,10 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($desiredSpeed$0 Real) ($OK$0 Bool) ($desiredSpeed$1 Real) ($OK$1 Bool)) Bool (= $OK$1 (or (= $desiredSpeed$1 (/ 0 10)) (>= $desiredSpeed$1 (/ 150 10))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $desiredSpeed$~1 () Real) +(declare-fun $OK$~1 () Bool) +(declare-fun $desiredSpeed$2 () Real) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $desiredSpeed$~1 $OK$~1 $desiredSpeed$2 $OK$2) $OK$2)) diff --git a/bench/tasks/ex3_e7_590_base_s_part.smt2 b/bench/tasks/ex3_e7_590_base_s_part.smt2 new file mode 100755 index 000000000..d13dc8b91 --- /dev/null +++ b/bench/tasks/ex3_e7_590_base_s_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (or (not $V20_early$0) (not $V19_late$1))))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/ex3_e7_590_base_t_part.smt2 b/bench/tasks/ex3_e7_590_base_t_part.smt2 new file mode 100755 index 000000000..666028c52 --- /dev/null +++ b/bench/tasks/ex3_e7_590_base_t_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (or (not $V20_early$0) (not $V19_late$1))))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/ex3_e7_590_e7_590_base_s_part.smt2 b/bench/tasks/ex3_e7_590_e7_590_base_s_part.smt2 new file mode 100755 index 000000000..d13dc8b91 --- /dev/null +++ b/bench/tasks/ex3_e7_590_e7_590_base_s_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (or (not $V20_early$0) (not $V19_late$1))))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/ex3_e7_590_e7_590_base_t_part.smt2 b/bench/tasks/ex3_e7_590_e7_590_base_t_part.smt2 new file mode 100755 index 000000000..666028c52 --- /dev/null +++ b/bench/tasks/ex3_e7_590_e7_590_base_t_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (or (not $V20_early$0) (not $V19_late$1))))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/ex3_e7_590_e7_590_extend_s_part.smt2 b/bench/tasks/ex3_e7_590_e7_590_extend_s_part.smt2 new file mode 100755 index 000000000..5c8c9ae61 --- /dev/null +++ b/bench/tasks/ex3_e7_590_e7_590_extend_s_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (or (not $V20_early$0) (not $V19_late$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/ex3_e7_590_e7_590_extend_t_part.smt2 b/bench/tasks/ex3_e7_590_e7_590_extend_t_part.smt2 new file mode 100755 index 000000000..85e70cdc6 --- /dev/null +++ b/bench/tasks/ex3_e7_590_e7_590_extend_t_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (or (not $V20_early$0) (not $V19_late$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/ex3_e7_590_e8_550_base_s_part.smt2 b/bench/tasks/ex3_e7_590_e8_550_base_s_part.smt2 new file mode 100755 index 000000000..d13dc8b91 --- /dev/null +++ b/bench/tasks/ex3_e7_590_e8_550_base_s_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (or (not $V20_early$0) (not $V19_late$1))))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/ex3_e7_590_e8_550_base_t_part.smt2 b/bench/tasks/ex3_e7_590_e8_550_base_t_part.smt2 new file mode 100755 index 000000000..666028c52 --- /dev/null +++ b/bench/tasks/ex3_e7_590_e8_550_base_t_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (or (not $V20_early$0) (not $V19_late$1))))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/ex3_e7_590_e8_550_extend_s_part.smt2 b/bench/tasks/ex3_e7_590_e8_550_extend_s_part.smt2 new file mode 100755 index 000000000..5c8c9ae61 --- /dev/null +++ b/bench/tasks/ex3_e7_590_e8_550_extend_s_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (or (not $V20_early$0) (not $V19_late$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/ex3_e7_590_e8_550_extend_t_part.smt2 b/bench/tasks/ex3_e7_590_e8_550_extend_t_part.smt2 new file mode 100755 index 000000000..85e70cdc6 --- /dev/null +++ b/bench/tasks/ex3_e7_590_e8_550_extend_t_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (or (not $V20_early$0) (not $V19_late$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/ex3_e7_590_extend_s_part.smt2 b/bench/tasks/ex3_e7_590_extend_s_part.smt2 new file mode 100755 index 000000000..5c8c9ae61 --- /dev/null +++ b/bench/tasks/ex3_e7_590_extend_s_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (or (not $V20_early$0) (not $V19_late$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/ex3_e7_590_extend_t_part.smt2 b/bench/tasks/ex3_e7_590_extend_t_part.smt2 new file mode 100755 index 000000000..85e70cdc6 --- /dev/null +++ b/bench/tasks/ex3_e7_590_extend_t_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (or (not $V20_early$0) (not $V19_late$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/ex3_e8_120_base_s_part.smt2 b/bench/tasks/ex3_e8_120_base_s_part.smt2 new file mode 100755 index 000000000..d13dc8b91 --- /dev/null +++ b/bench/tasks/ex3_e8_120_base_s_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (or (not $V20_early$0) (not $V19_late$1))))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/ex3_e8_120_base_t_part.smt2 b/bench/tasks/ex3_e8_120_base_t_part.smt2 new file mode 100755 index 000000000..666028c52 --- /dev/null +++ b/bench/tasks/ex3_e8_120_base_t_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (or (not $V20_early$0) (not $V19_late$1))))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/ex3_e8_120_extend_s_part.smt2 b/bench/tasks/ex3_e8_120_extend_s_part.smt2 new file mode 100755 index 000000000..5c8c9ae61 --- /dev/null +++ b/bench/tasks/ex3_e8_120_extend_s_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (or (not $V20_early$0) (not $V19_late$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/ex3_e8_120_extend_t_part.smt2 b/bench/tasks/ex3_e8_120_extend_t_part.smt2 new file mode 100755 index 000000000..85e70cdc6 --- /dev/null +++ b/bench/tasks/ex3_e8_120_extend_t_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (or (not $V20_early$0) (not $V19_late$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/ex3_e8_381_e7_224_base_s_part.smt2 b/bench/tasks/ex3_e8_381_e7_224_base_s_part.smt2 new file mode 100755 index 000000000..d13dc8b91 --- /dev/null +++ b/bench/tasks/ex3_e8_381_e7_224_base_s_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (or (not $V20_early$0) (not $V19_late$1))))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/ex3_e8_381_e7_224_base_t_part.smt2 b/bench/tasks/ex3_e8_381_e7_224_base_t_part.smt2 new file mode 100755 index 000000000..666028c52 --- /dev/null +++ b/bench/tasks/ex3_e8_381_e7_224_base_t_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (or (not $V20_early$0) (not $V19_late$1))))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/ex3_e8_381_e7_224_extend_s_part.smt2 b/bench/tasks/ex3_e8_381_e7_224_extend_s_part.smt2 new file mode 100755 index 000000000..5c8c9ae61 --- /dev/null +++ b/bench/tasks/ex3_e8_381_e7_224_extend_s_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (or (not $V20_early$0) (not $V19_late$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/ex3_e8_381_e7_224_extend_t_part.smt2 b/bench/tasks/ex3_e8_381_e7_224_extend_t_part.smt2 new file mode 100755 index 000000000..85e70cdc6 --- /dev/null +++ b/bench/tasks/ex3_e8_381_e7_224_extend_t_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (or (not $V20_early$0) (not $V19_late$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/example_base1_s_part.smt2 b/bench/tasks/example_base1_s_part.smt2 new file mode 100755 index 000000000..521e263be --- /dev/null +++ b/bench/tasks/example_base1_s_part.smt2 @@ -0,0 +1,23 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($x$0 Bool) ($state$0 Int) ($bias$0 Int) ($prop1$0 Bool) ($prop2$0 Bool) ($prop3$0 Bool) ($prop4$0 Bool) ($prop_all$0 Bool) ($bias_max$0 Bool) ($x$1 Bool) ($state$1 Int) ($bias$1 Int) ($prop1$1 Bool) ($prop2$1 Bool) ($prop3$1 Bool) ($prop4$1 Bool) ($prop_all$1 Bool) ($bias_max$1 Bool)) Bool (and (= $bias$1 (ite %init 0 (+ (ite $x$1 1 (- 0 1)) $bias$0))) (= $bias_max$1 (ite %init false (or (or (>= $bias$1 2) (<= $bias$1 (- 0 2))) $bias_max$0))) (= $prop1$1 (=> (= $state$1 0) (= $bias$1 0))) (= $prop2$1 (ite %init true (=> (and (= $state$0 0) $x$1) (= $state$1 2)))) (= $prop3$1 (ite %init true (=> (and (= $state$0 0) (not $x$1)) (= $state$1 1)))) (= $prop4$1 (=> $bias_max$1 (= $state$1 3))) (= $prop_all$1 (and (and (and $prop1$1 $prop2$1) $prop3$1) $prop4$1)))) +; Universally quantified variables +(declare-fun $x$~1 () Bool) +(declare-fun $state$~1 () Int) +(declare-fun $bias$~1 () Int) +(declare-fun $prop1$~1 () Bool) +(declare-fun $prop2$~1 () Bool) +(declare-fun $prop3$~1 () Bool) +(declare-fun $prop4$~1 () Bool) +(declare-fun $prop_all$~1 () Bool) +(declare-fun $bias_max$~1 () Bool) +(declare-fun $x$0 () Bool) +(declare-fun $state$0 () Int) +(declare-fun $bias$0 () Int) +(declare-fun $prop1$0 () Bool) +(declare-fun $prop2$0 () Bool) +(declare-fun $prop3$0 () Bool) +(declare-fun $prop4$0 () Bool) +(declare-fun $prop_all$0 () Bool) +(declare-fun $bias_max$0 () Bool) +(assert (T true $x$~1 $state$~1 $bias$~1 $prop1$~1 $prop2$~1 $prop3$~1 $prop4$~1 $prop_all$~1 $bias_max$~1 $x$0 $state$0 $bias$0 $prop1$0 $prop2$0 $prop3$0 $prop4$0 $prop_all$0 $bias_max$0)) diff --git a/bench/tasks/example_base1_t_part.smt2 b/bench/tasks/example_base1_t_part.smt2 new file mode 100755 index 000000000..49366dafd --- /dev/null +++ b/bench/tasks/example_base1_t_part.smt2 @@ -0,0 +1,23 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($x$0 Bool) ($state$0 Int) ($bias$0 Int) ($prop1$0 Bool) ($prop2$0 Bool) ($prop3$0 Bool) ($prop4$0 Bool) ($prop_all$0 Bool) ($bias_max$0 Bool) ($x$1 Bool) ($state$1 Int) ($bias$1 Int) ($prop1$1 Bool) ($prop2$1 Bool) ($prop3$1 Bool) ($prop4$1 Bool) ($prop_all$1 Bool) ($bias_max$1 Bool)) Bool (and (= $bias$1 (ite %init 0 (+ (ite $x$1 1 (- 0 1)) $bias$0))) (= $bias_max$1 (ite %init false (or (or (>= $bias$1 2) (<= $bias$1 (- 0 2))) $bias_max$0))) (= $prop1$1 (=> (= $state$1 0) (= $bias$1 0))) (= $prop2$1 (ite %init true (=> (and (= $state$0 0) $x$1) (= $state$1 2)))) (= $prop3$1 (ite %init true (=> (and (= $state$0 0) (not $x$1)) (= $state$1 1)))) (= $prop4$1 (=> $bias_max$1 (= $state$1 3))) (= $prop_all$1 (and (and (and $prop1$1 $prop2$1) $prop3$1) $prop4$1)))) +; Universally quantified variables +(declare-fun $x$~1 () Bool) +(declare-fun $state$~1 () Int) +(declare-fun $bias$~1 () Int) +(declare-fun $prop1$~1 () Bool) +(declare-fun $prop2$~1 () Bool) +(declare-fun $prop3$~1 () Bool) +(declare-fun $prop4$~1 () Bool) +(declare-fun $prop_all$~1 () Bool) +(declare-fun $bias_max$~1 () Bool) +(declare-fun $x$0 () Bool) +(declare-fun $state$2 () Int) +(declare-fun $bias$2 () Int) +(declare-fun $prop1$2 () Bool) +(declare-fun $prop2$2 () Bool) +(declare-fun $prop3$2 () Bool) +(declare-fun $prop4$2 () Bool) +(declare-fun $prop_all$2 () Bool) +(declare-fun $bias_max$2 () Bool) +(assert (and (T true $x$~1 $state$~1 $bias$~1 $prop1$~1 $prop2$~1 $prop3$~1 $prop4$~1 $prop_all$~1 $bias_max$~1 $x$0 $state$2 $bias$2 $prop1$2 $prop2$2 $prop3$2 $prop4$2 $prop_all$2 $bias_max$2) $prop_all$2)) diff --git a/bench/tasks/example_base2_s_part.smt2 b/bench/tasks/example_base2_s_part.smt2 new file mode 100755 index 000000000..81e5e8eb4 --- /dev/null +++ b/bench/tasks/example_base2_s_part.smt2 @@ -0,0 +1,34 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($x$0 Bool) ($state$0 Int) ($bias$0 Int) ($prop1$0 Bool) ($prop2$0 Bool) ($prop3$0 Bool) ($prop4$0 Bool) ($prop_all$0 Bool) ($bias_max$0 Bool) ($x$1 Bool) ($state$1 Int) ($bias$1 Int) ($prop1$1 Bool) ($prop2$1 Bool) ($prop3$1 Bool) ($prop4$1 Bool) ($prop_all$1 Bool) ($bias_max$1 Bool)) Bool (and (= $bias$1 (ite %init 0 (+ (ite $x$1 1 (- 0 1)) $bias$0))) (= $bias_max$1 (ite %init false (or (or (>= $bias$1 2) (<= $bias$1 (- 0 2))) $bias_max$0))) (= $prop1$1 (=> (= $state$1 0) (= $bias$1 0))) (= $prop2$1 (ite %init true (=> (and (= $state$0 0) $x$1) (= $state$1 2)))) (= $prop3$1 (ite %init true (=> (and (= $state$0 0) (not $x$1)) (= $state$1 1)))) (= $prop4$1 (=> $bias_max$1 (= $state$1 3))) (= $prop_all$1 (and (and (and $prop1$1 $prop2$1) $prop3$1) $prop4$1)))) +; Universally quantified variables +(declare-fun $x$~1 () Bool) +(declare-fun $state$~1 () Int) +(declare-fun $bias$~1 () Int) +(declare-fun $prop1$~1 () Bool) +(declare-fun $prop2$~1 () Bool) +(declare-fun $prop3$~1 () Bool) +(declare-fun $prop4$~1 () Bool) +(declare-fun $prop_all$~1 () Bool) +(declare-fun $bias_max$~1 () Bool) +(declare-fun $x$0 () Bool) +(declare-fun $state$0 () Int) +(declare-fun $bias$0 () Int) +(declare-fun $prop1$0 () Bool) +(declare-fun $prop2$0 () Bool) +(declare-fun $prop3$0 () Bool) +(declare-fun $prop4$0 () Bool) +(declare-fun $prop_all$0 () Bool) +(declare-fun $bias_max$0 () Bool) +(declare-fun $x$1 () Bool) +(declare-fun $state$1 () Int) +(declare-fun $bias$1 () Int) +(declare-fun $prop1$1 () Bool) +(declare-fun $prop2$1 () Bool) +(declare-fun $prop3$1 () Bool) +(declare-fun $prop4$1 () Bool) +(declare-fun $prop_all$1 () Bool) +(declare-fun $bias_max$1 () Bool) +(assert (T true $x$~1 $state$~1 $bias$~1 $prop1$~1 $prop2$~1 $prop3$~1 $prop4$~1 $prop_all$~1 $bias_max$~1 $x$0 $state$0 $bias$0 $prop1$0 $prop2$0 $prop3$0 $prop4$0 $prop_all$0 $bias_max$0)) +(assert $prop_all$0) +(assert (T false $x$0 $state$0 $bias$0 $prop1$0 $prop2$0 $prop3$0 $prop4$0 $prop_all$0 $bias_max$0 $x$1 $state$1 $bias$1 $prop1$1 $prop2$1 $prop3$1 $prop4$1 $prop_all$1 $bias_max$1)) diff --git a/bench/tasks/example_base2_t_part.smt2 b/bench/tasks/example_base2_t_part.smt2 new file mode 100755 index 000000000..cd75b87e1 --- /dev/null +++ b/bench/tasks/example_base2_t_part.smt2 @@ -0,0 +1,32 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($x$0 Bool) ($state$0 Int) ($bias$0 Int) ($prop1$0 Bool) ($prop2$0 Bool) ($prop3$0 Bool) ($prop4$0 Bool) ($prop_all$0 Bool) ($bias_max$0 Bool) ($x$1 Bool) ($state$1 Int) ($bias$1 Int) ($prop1$1 Bool) ($prop2$1 Bool) ($prop3$1 Bool) ($prop4$1 Bool) ($prop_all$1 Bool) ($bias_max$1 Bool)) Bool (and (= $bias$1 (ite %init 0 (+ (ite $x$1 1 (- 0 1)) $bias$0))) (= $bias_max$1 (ite %init false (or (or (>= $bias$1 2) (<= $bias$1 (- 0 2))) $bias_max$0))) (= $prop1$1 (=> (= $state$1 0) (= $bias$1 0))) (= $prop2$1 (ite %init true (=> (and (= $state$0 0) $x$1) (= $state$1 2)))) (= $prop3$1 (ite %init true (=> (and (= $state$0 0) (not $x$1)) (= $state$1 1)))) (= $prop4$1 (=> $bias_max$1 (= $state$1 3))) (= $prop_all$1 (and (and (and $prop1$1 $prop2$1) $prop3$1) $prop4$1)))) +; Universally quantified variables +(declare-fun $x$~1 () Bool) +(declare-fun $state$~1 () Int) +(declare-fun $bias$~1 () Int) +(declare-fun $prop1$~1 () Bool) +(declare-fun $prop2$~1 () Bool) +(declare-fun $prop3$~1 () Bool) +(declare-fun $prop4$~1 () Bool) +(declare-fun $prop_all$~1 () Bool) +(declare-fun $bias_max$~1 () Bool) +(declare-fun $x$0 () Bool) +(declare-fun $state$0 () Int) +(declare-fun $bias$0 () Int) +(declare-fun $prop1$0 () Bool) +(declare-fun $prop2$0 () Bool) +(declare-fun $prop3$0 () Bool) +(declare-fun $prop4$0 () Bool) +(declare-fun $prop_all$0 () Bool) +(declare-fun $bias_max$0 () Bool) +(declare-fun $x$1 () Bool) +(declare-fun $state$3 () Int) +(declare-fun $bias$3 () Int) +(declare-fun $prop1$3 () Bool) +(declare-fun $prop2$3 () Bool) +(declare-fun $prop3$3 () Bool) +(declare-fun $prop4$3 () Bool) +(declare-fun $prop_all$3 () Bool) +(declare-fun $bias_max$3 () Bool) +(assert (and (T false $x$0 $state$0 $bias$0 $prop1$0 $prop2$0 $prop3$0 $prop4$0 $prop_all$0 $bias_max$0 $x$1 $state$3 $bias$3 $prop1$3 $prop2$3 $prop3$3 $prop4$3 $prop_all$3 $bias_max$3) $prop_all$3)) diff --git a/bench/tasks/example_base3_s_part.smt2 b/bench/tasks/example_base3_s_part.smt2 new file mode 100755 index 000000000..5d308ec5f --- /dev/null +++ b/bench/tasks/example_base3_s_part.smt2 @@ -0,0 +1,45 @@ +; K = 3 +; Transition relation +(define-fun T ((%init Bool) ($x$0 Bool) ($state$0 Int) ($bias$0 Int) ($prop1$0 Bool) ($prop2$0 Bool) ($prop3$0 Bool) ($prop4$0 Bool) ($prop_all$0 Bool) ($bias_max$0 Bool) ($x$1 Bool) ($state$1 Int) ($bias$1 Int) ($prop1$1 Bool) ($prop2$1 Bool) ($prop3$1 Bool) ($prop4$1 Bool) ($prop_all$1 Bool) ($bias_max$1 Bool)) Bool (and (= $bias$1 (ite %init 0 (+ (ite $x$1 1 (- 0 1)) $bias$0))) (= $bias_max$1 (ite %init false (or (or (>= $bias$1 2) (<= $bias$1 (- 0 2))) $bias_max$0))) (= $prop1$1 (=> (= $state$1 0) (= $bias$1 0))) (= $prop2$1 (ite %init true (=> (and (= $state$0 0) $x$1) (= $state$1 2)))) (= $prop3$1 (ite %init true (=> (and (= $state$0 0) (not $x$1)) (= $state$1 1)))) (= $prop4$1 (=> $bias_max$1 (= $state$1 3))) (= $prop_all$1 (and (and (and $prop1$1 $prop2$1) $prop3$1) $prop4$1)))) +; Universally quantified variables +(declare-fun $x$~1 () Bool) +(declare-fun $state$~1 () Int) +(declare-fun $bias$~1 () Int) +(declare-fun $prop1$~1 () Bool) +(declare-fun $prop2$~1 () Bool) +(declare-fun $prop3$~1 () Bool) +(declare-fun $prop4$~1 () Bool) +(declare-fun $prop_all$~1 () Bool) +(declare-fun $bias_max$~1 () Bool) +(declare-fun $x$0 () Bool) +(declare-fun $state$0 () Int) +(declare-fun $bias$0 () Int) +(declare-fun $prop1$0 () Bool) +(declare-fun $prop2$0 () Bool) +(declare-fun $prop3$0 () Bool) +(declare-fun $prop4$0 () Bool) +(declare-fun $prop_all$0 () Bool) +(declare-fun $bias_max$0 () Bool) +(declare-fun $x$1 () Bool) +(declare-fun $state$1 () Int) +(declare-fun $bias$1 () Int) +(declare-fun $prop1$1 () Bool) +(declare-fun $prop2$1 () Bool) +(declare-fun $prop3$1 () Bool) +(declare-fun $prop4$1 () Bool) +(declare-fun $prop_all$1 () Bool) +(declare-fun $bias_max$1 () Bool) +(declare-fun $x$2 () Bool) +(declare-fun $state$2 () Int) +(declare-fun $bias$2 () Int) +(declare-fun $prop1$2 () Bool) +(declare-fun $prop2$2 () Bool) +(declare-fun $prop3$2 () Bool) +(declare-fun $prop4$2 () Bool) +(declare-fun $prop_all$2 () Bool) +(declare-fun $bias_max$2 () Bool) +(assert (T true $x$~1 $state$~1 $bias$~1 $prop1$~1 $prop2$~1 $prop3$~1 $prop4$~1 $prop_all$~1 $bias_max$~1 $x$0 $state$0 $bias$0 $prop1$0 $prop2$0 $prop3$0 $prop4$0 $prop_all$0 $bias_max$0)) +(assert $prop_all$0) +(assert (T false $x$0 $state$0 $bias$0 $prop1$0 $prop2$0 $prop3$0 $prop4$0 $prop_all$0 $bias_max$0 $x$1 $state$1 $bias$1 $prop1$1 $prop2$1 $prop3$1 $prop4$1 $prop_all$1 $bias_max$1)) +(assert $prop_all$1) +(assert (T false $x$1 $state$1 $bias$1 $prop1$1 $prop2$1 $prop3$1 $prop4$1 $prop_all$1 $bias_max$1 $x$2 $state$2 $bias$2 $prop1$2 $prop2$2 $prop3$2 $prop4$2 $prop_all$2 $bias_max$2)) diff --git a/bench/tasks/example_base3_t_part.smt2 b/bench/tasks/example_base3_t_part.smt2 new file mode 100755 index 000000000..521b21c9c --- /dev/null +++ b/bench/tasks/example_base3_t_part.smt2 @@ -0,0 +1,41 @@ +; K = 3 +; Transition relation +(define-fun T ((%init Bool) ($x$0 Bool) ($state$0 Int) ($bias$0 Int) ($prop1$0 Bool) ($prop2$0 Bool) ($prop3$0 Bool) ($prop4$0 Bool) ($prop_all$0 Bool) ($bias_max$0 Bool) ($x$1 Bool) ($state$1 Int) ($bias$1 Int) ($prop1$1 Bool) ($prop2$1 Bool) ($prop3$1 Bool) ($prop4$1 Bool) ($prop_all$1 Bool) ($bias_max$1 Bool)) Bool (and (= $bias$1 (ite %init 0 (+ (ite $x$1 1 (- 0 1)) $bias$0))) (= $bias_max$1 (ite %init false (or (or (>= $bias$1 2) (<= $bias$1 (- 0 2))) $bias_max$0))) (= $prop1$1 (=> (= $state$1 0) (= $bias$1 0))) (= $prop2$1 (ite %init true (=> (and (= $state$0 0) $x$1) (= $state$1 2)))) (= $prop3$1 (ite %init true (=> (and (= $state$0 0) (not $x$1)) (= $state$1 1)))) (= $prop4$1 (=> $bias_max$1 (= $state$1 3))) (= $prop_all$1 (and (and (and $prop1$1 $prop2$1) $prop3$1) $prop4$1)))) +; Universally quantified variables +(declare-fun $x$~1 () Bool) +(declare-fun $state$~1 () Int) +(declare-fun $bias$~1 () Int) +(declare-fun $prop1$~1 () Bool) +(declare-fun $prop2$~1 () Bool) +(declare-fun $prop3$~1 () Bool) +(declare-fun $prop4$~1 () Bool) +(declare-fun $prop_all$~1 () Bool) +(declare-fun $bias_max$~1 () Bool) +(declare-fun $x$0 () Bool) +(declare-fun $state$0 () Int) +(declare-fun $bias$0 () Int) +(declare-fun $prop1$0 () Bool) +(declare-fun $prop2$0 () Bool) +(declare-fun $prop3$0 () Bool) +(declare-fun $prop4$0 () Bool) +(declare-fun $prop_all$0 () Bool) +(declare-fun $bias_max$0 () Bool) +(declare-fun $x$1 () Bool) +(declare-fun $state$1 () Int) +(declare-fun $bias$1 () Int) +(declare-fun $prop1$1 () Bool) +(declare-fun $prop2$1 () Bool) +(declare-fun $prop3$1 () Bool) +(declare-fun $prop4$1 () Bool) +(declare-fun $prop_all$1 () Bool) +(declare-fun $bias_max$1 () Bool) +(declare-fun $x$2 () Bool) +(declare-fun $state$4 () Int) +(declare-fun $bias$4 () Int) +(declare-fun $prop1$4 () Bool) +(declare-fun $prop2$4 () Bool) +(declare-fun $prop3$4 () Bool) +(declare-fun $prop4$4 () Bool) +(declare-fun $prop_all$4 () Bool) +(declare-fun $bias_max$4 () Bool) +(assert (and (T false $x$1 $state$1 $bias$1 $prop1$1 $prop2$1 $prop3$1 $prop4$1 $prop_all$1 $bias_max$1 $x$2 $state$4 $bias$4 $prop1$4 $prop2$4 $prop3$4 $prop4$4 $prop_all$4 $bias_max$4) $prop_all$4)) diff --git a/bench/tasks/example_extend_s_part.smt2 b/bench/tasks/example_extend_s_part.smt2 new file mode 100755 index 000000000..2a2db202d --- /dev/null +++ b/bench/tasks/example_extend_s_part.smt2 @@ -0,0 +1,35 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($x$0 Bool) ($state$0 Int) ($bias$0 Int) ($prop1$0 Bool) ($prop2$0 Bool) ($prop3$0 Bool) ($prop4$0 Bool) ($prop_all$0 Bool) ($bias_max$0 Bool) ($x$1 Bool) ($state$1 Int) ($bias$1 Int) ($prop1$1 Bool) ($prop2$1 Bool) ($prop3$1 Bool) ($prop4$1 Bool) ($prop_all$1 Bool) ($bias_max$1 Bool)) Bool (and (= $bias$1 (ite %init 0 (+ (ite $x$1 1 (- 0 1)) $bias$0))) (= $bias_max$1 (ite %init false (or (or (>= $bias$1 2) (<= $bias$1 (- 0 2))) $bias_max$0))) (= $prop1$1 (=> (= $state$1 0) (= $bias$1 0))) (= $prop2$1 (ite %init true (=> (and (= $state$0 0) $x$1) (= $state$1 2)))) (= $prop3$1 (ite %init true (=> (and (= $state$0 0) (not $x$1)) (= $state$1 1)))) (= $prop4$1 (=> $bias_max$1 (= $state$1 3))) (= $prop_all$1 (and (and (and $prop1$1 $prop2$1) $prop3$1) $prop4$1)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $x$~1 () Bool) +(declare-fun $state$~1 () Int) +(declare-fun $bias$~1 () Int) +(declare-fun $prop1$~1 () Bool) +(declare-fun $prop2$~1 () Bool) +(declare-fun $prop3$~1 () Bool) +(declare-fun $prop4$~1 () Bool) +(declare-fun $prop_all$~1 () Bool) +(declare-fun $bias_max$~1 () Bool) +(declare-fun $x$0 () Bool) +(declare-fun $state$0 () Int) +(declare-fun $bias$0 () Int) +(declare-fun $prop1$0 () Bool) +(declare-fun $prop2$0 () Bool) +(declare-fun $prop3$0 () Bool) +(declare-fun $prop4$0 () Bool) +(declare-fun $prop_all$0 () Bool) +(declare-fun $bias_max$0 () Bool) +(declare-fun $x$1 () Bool) +(declare-fun $state$1 () Int) +(declare-fun $bias$1 () Int) +(declare-fun $prop1$1 () Bool) +(declare-fun $prop2$1 () Bool) +(declare-fun $prop3$1 () Bool) +(declare-fun $prop4$1 () Bool) +(declare-fun $prop_all$1 () Bool) +(declare-fun $bias_max$1 () Bool) +(assert (T %init $x$~1 $state$~1 $bias$~1 $prop1$~1 $prop2$~1 $prop3$~1 $prop4$~1 $prop_all$~1 $bias_max$~1 $x$0 $state$0 $bias$0 $prop1$0 $prop2$0 $prop3$0 $prop4$0 $prop_all$0 $bias_max$0)) +(assert $prop_all$0) +(assert (T false $x$0 $state$0 $bias$0 $prop1$0 $prop2$0 $prop3$0 $prop4$0 $prop_all$0 $bias_max$0 $x$1 $state$1 $bias$1 $prop1$1 $prop2$1 $prop3$1 $prop4$1 $prop_all$1 $bias_max$1)) diff --git a/bench/tasks/example_extend_t_part.smt2 b/bench/tasks/example_extend_t_part.smt2 new file mode 100755 index 000000000..2b9c0e35f --- /dev/null +++ b/bench/tasks/example_extend_t_part.smt2 @@ -0,0 +1,33 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($x$0 Bool) ($state$0 Int) ($bias$0 Int) ($prop1$0 Bool) ($prop2$0 Bool) ($prop3$0 Bool) ($prop4$0 Bool) ($prop_all$0 Bool) ($bias_max$0 Bool) ($x$1 Bool) ($state$1 Int) ($bias$1 Int) ($prop1$1 Bool) ($prop2$1 Bool) ($prop3$1 Bool) ($prop4$1 Bool) ($prop_all$1 Bool) ($bias_max$1 Bool)) Bool (and (= $bias$1 (ite %init 0 (+ (ite $x$1 1 (- 0 1)) $bias$0))) (= $bias_max$1 (ite %init false (or (or (>= $bias$1 2) (<= $bias$1 (- 0 2))) $bias_max$0))) (= $prop1$1 (=> (= $state$1 0) (= $bias$1 0))) (= $prop2$1 (ite %init true (=> (and (= $state$0 0) $x$1) (= $state$1 2)))) (= $prop3$1 (ite %init true (=> (and (= $state$0 0) (not $x$1)) (= $state$1 1)))) (= $prop4$1 (=> $bias_max$1 (= $state$1 3))) (= $prop_all$1 (and (and (and $prop1$1 $prop2$1) $prop3$1) $prop4$1)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $x$~1 () Bool) +(declare-fun $state$~1 () Int) +(declare-fun $bias$~1 () Int) +(declare-fun $prop1$~1 () Bool) +(declare-fun $prop2$~1 () Bool) +(declare-fun $prop3$~1 () Bool) +(declare-fun $prop4$~1 () Bool) +(declare-fun $prop_all$~1 () Bool) +(declare-fun $bias_max$~1 () Bool) +(declare-fun $x$0 () Bool) +(declare-fun $state$0 () Int) +(declare-fun $bias$0 () Int) +(declare-fun $prop1$0 () Bool) +(declare-fun $prop2$0 () Bool) +(declare-fun $prop3$0 () Bool) +(declare-fun $prop4$0 () Bool) +(declare-fun $prop_all$0 () Bool) +(declare-fun $bias_max$0 () Bool) +(declare-fun $x$1 () Bool) +(declare-fun $state$3 () Int) +(declare-fun $bias$3 () Int) +(declare-fun $prop1$3 () Bool) +(declare-fun $prop2$3 () Bool) +(declare-fun $prop3$3 () Bool) +(declare-fun $prop4$3 () Bool) +(declare-fun $prop_all$3 () Bool) +(declare-fun $bias_max$3 () Bool) +(assert (and (T false $x$0 $state$0 $bias$0 $prop1$0 $prop2$0 $prop3$0 $prop4$0 $prop_all$0 $bias_max$0 $x$1 $state$3 $bias$3 $prop1$3 $prop2$3 $prop3$3 $prop4$3 $prop_all$3 $bias_max$3) $prop_all$3)) diff --git a/bench/tasks/fast_1_e7_2044_e8_1396_base_s_part.smt2 b/bench/tasks/fast_1_e7_2044_e8_1396_base_s_part.smt2 new file mode 100755 index 000000000..f061363fa --- /dev/null +++ b/bench/tasks/fast_1_e7_2044_e8_1396_base_s_part.smt2 @@ -0,0 +1,15 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($V83_cca$0 Bool) ($OK$0 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($V83_cca$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite (ite %init false (and $V83_cca$1 (not $V83_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true))) +; Universally quantified variables +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $V83_cca$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $V83_cca$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T true $ccseti$~1 $ccsetd$~1 $ccr$~1 $V83_cca$~1 $OK$~1 $ccseti$0 $ccsetd$0 $ccr$0 $V83_cca$0 $OK$0)) diff --git a/bench/tasks/fast_1_e7_2044_e8_1396_base_t_part.smt2 b/bench/tasks/fast_1_e7_2044_e8_1396_base_t_part.smt2 new file mode 100755 index 000000000..cb50834ce --- /dev/null +++ b/bench/tasks/fast_1_e7_2044_e8_1396_base_t_part.smt2 @@ -0,0 +1,15 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($V83_cca$0 Bool) ($OK$0 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($V83_cca$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite (ite %init false (and $V83_cca$1 (not $V83_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true))) +; Universally quantified variables +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $V83_cca$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $V83_cca$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T true $ccseti$~1 $ccsetd$~1 $ccr$~1 $V83_cca$~1 $OK$~1 $ccseti$0 $ccsetd$0 $ccr$0 $V83_cca$2 $OK$2) $OK$2)) diff --git a/bench/tasks/fast_1_e7_2044_e8_1396_extend_s_part.smt2 b/bench/tasks/fast_1_e7_2044_e8_1396_extend_s_part.smt2 new file mode 100755 index 000000000..944ca91c4 --- /dev/null +++ b/bench/tasks/fast_1_e7_2044_e8_1396_extend_s_part.smt2 @@ -0,0 +1,16 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($V83_cca$0 Bool) ($OK$0 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($V83_cca$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite (ite %init false (and $V83_cca$1 (not $V83_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $V83_cca$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $V83_cca$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T %init $ccseti$~1 $ccsetd$~1 $ccr$~1 $V83_cca$~1 $OK$~1 $ccseti$0 $ccsetd$0 $ccr$0 $V83_cca$0 $OK$0)) diff --git a/bench/tasks/fast_1_e7_2044_e8_1396_extend_t_part.smt2 b/bench/tasks/fast_1_e7_2044_e8_1396_extend_t_part.smt2 new file mode 100755 index 000000000..79a4a17d2 --- /dev/null +++ b/bench/tasks/fast_1_e7_2044_e8_1396_extend_t_part.smt2 @@ -0,0 +1,16 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($V83_cca$0 Bool) ($OK$0 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($V83_cca$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite (ite %init false (and $V83_cca$1 (not $V83_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $V83_cca$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $V83_cca$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $ccseti$~1 $ccsetd$~1 $ccr$~1 $V83_cca$~1 $OK$~1 $ccseti$0 $ccsetd$0 $ccr$0 $V83_cca$2 $OK$2) $OK$2)) diff --git a/bench/tasks/fast_1_e8_747_base1_s_part.smt2 b/bench/tasks/fast_1_e8_747_base1_s_part.smt2 new file mode 100755 index 000000000..f061363fa --- /dev/null +++ b/bench/tasks/fast_1_e8_747_base1_s_part.smt2 @@ -0,0 +1,15 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($V83_cca$0 Bool) ($OK$0 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($V83_cca$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite (ite %init false (and $V83_cca$1 (not $V83_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true))) +; Universally quantified variables +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $V83_cca$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $V83_cca$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T true $ccseti$~1 $ccsetd$~1 $ccr$~1 $V83_cca$~1 $OK$~1 $ccseti$0 $ccsetd$0 $ccr$0 $V83_cca$0 $OK$0)) diff --git a/bench/tasks/fast_1_e8_747_base1_t_part.smt2 b/bench/tasks/fast_1_e8_747_base1_t_part.smt2 new file mode 100755 index 000000000..cb50834ce --- /dev/null +++ b/bench/tasks/fast_1_e8_747_base1_t_part.smt2 @@ -0,0 +1,15 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($V83_cca$0 Bool) ($OK$0 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($V83_cca$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite (ite %init false (and $V83_cca$1 (not $V83_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true))) +; Universally quantified variables +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $V83_cca$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $V83_cca$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T true $ccseti$~1 $ccsetd$~1 $ccr$~1 $V83_cca$~1 $OK$~1 $ccseti$0 $ccsetd$0 $ccr$0 $V83_cca$2 $OK$2) $OK$2)) diff --git a/bench/tasks/fast_1_e8_747_base2_s_part.smt2 b/bench/tasks/fast_1_e8_747_base2_s_part.smt2 new file mode 100755 index 000000000..3706be97f --- /dev/null +++ b/bench/tasks/fast_1_e8_747_base2_s_part.smt2 @@ -0,0 +1,22 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($V83_cca$0 Bool) ($OK$0 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($V83_cca$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite (ite %init false (and $V83_cca$1 (not $V83_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true))) +; Universally quantified variables +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $V83_cca$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $V83_cca$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $ccseti$1 () Bool) +(declare-fun $ccsetd$1 () Bool) +(declare-fun $ccr$1 () Bool) +(declare-fun $V83_cca$1 () Bool) +(declare-fun $OK$1 () Bool) +(assert (T true $ccseti$~1 $ccsetd$~1 $ccr$~1 $V83_cca$~1 $OK$~1 $ccseti$0 $ccsetd$0 $ccr$0 $V83_cca$0 $OK$0)) +(assert $OK$0) +(assert (T false $ccseti$0 $ccsetd$0 $ccr$0 $V83_cca$0 $OK$0 $ccseti$1 $ccsetd$1 $ccr$1 $V83_cca$1 $OK$1)) diff --git a/bench/tasks/fast_1_e8_747_base2_t_part.smt2 b/bench/tasks/fast_1_e8_747_base2_t_part.smt2 new file mode 100755 index 000000000..125723d54 --- /dev/null +++ b/bench/tasks/fast_1_e8_747_base2_t_part.smt2 @@ -0,0 +1,20 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($V83_cca$0 Bool) ($OK$0 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($V83_cca$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite (ite %init false (and $V83_cca$1 (not $V83_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true))) +; Universally quantified variables +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $V83_cca$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $V83_cca$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $ccseti$1 () Bool) +(declare-fun $ccsetd$1 () Bool) +(declare-fun $ccr$1 () Bool) +(declare-fun $V83_cca$3 () Bool) +(declare-fun $OK$3 () Bool) +(assert (and (T false $ccseti$0 $ccsetd$0 $ccr$0 $V83_cca$0 $OK$0 $ccseti$1 $ccsetd$1 $ccr$1 $V83_cca$3 $OK$3) $OK$3)) diff --git a/bench/tasks/fast_1_e8_747_e8_1041_base_s_part.smt2 b/bench/tasks/fast_1_e8_747_e8_1041_base_s_part.smt2 new file mode 100755 index 000000000..f061363fa --- /dev/null +++ b/bench/tasks/fast_1_e8_747_e8_1041_base_s_part.smt2 @@ -0,0 +1,15 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($V83_cca$0 Bool) ($OK$0 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($V83_cca$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite (ite %init false (and $V83_cca$1 (not $V83_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true))) +; Universally quantified variables +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $V83_cca$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $V83_cca$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T true $ccseti$~1 $ccsetd$~1 $ccr$~1 $V83_cca$~1 $OK$~1 $ccseti$0 $ccsetd$0 $ccr$0 $V83_cca$0 $OK$0)) diff --git a/bench/tasks/fast_1_e8_747_e8_1041_base_t_part.smt2 b/bench/tasks/fast_1_e8_747_e8_1041_base_t_part.smt2 new file mode 100755 index 000000000..cb50834ce --- /dev/null +++ b/bench/tasks/fast_1_e8_747_e8_1041_base_t_part.smt2 @@ -0,0 +1,15 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($V83_cca$0 Bool) ($OK$0 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($V83_cca$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite (ite %init false (and $V83_cca$1 (not $V83_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true))) +; Universally quantified variables +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $V83_cca$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $V83_cca$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T true $ccseti$~1 $ccsetd$~1 $ccr$~1 $V83_cca$~1 $OK$~1 $ccseti$0 $ccsetd$0 $ccr$0 $V83_cca$2 $OK$2) $OK$2)) diff --git a/bench/tasks/fast_1_e8_747_e8_1041_extend_s_part.smt2 b/bench/tasks/fast_1_e8_747_e8_1041_extend_s_part.smt2 new file mode 100755 index 000000000..944ca91c4 --- /dev/null +++ b/bench/tasks/fast_1_e8_747_e8_1041_extend_s_part.smt2 @@ -0,0 +1,16 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($V83_cca$0 Bool) ($OK$0 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($V83_cca$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite (ite %init false (and $V83_cca$1 (not $V83_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $V83_cca$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $V83_cca$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T %init $ccseti$~1 $ccsetd$~1 $ccr$~1 $V83_cca$~1 $OK$~1 $ccseti$0 $ccsetd$0 $ccr$0 $V83_cca$0 $OK$0)) diff --git a/bench/tasks/fast_1_e8_747_e8_1041_extend_t_part.smt2 b/bench/tasks/fast_1_e8_747_e8_1041_extend_t_part.smt2 new file mode 100755 index 000000000..79a4a17d2 --- /dev/null +++ b/bench/tasks/fast_1_e8_747_e8_1041_extend_t_part.smt2 @@ -0,0 +1,16 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($V83_cca$0 Bool) ($OK$0 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($V83_cca$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite (ite %init false (and $V83_cca$1 (not $V83_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $V83_cca$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $V83_cca$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $ccseti$~1 $ccsetd$~1 $ccr$~1 $V83_cca$~1 $OK$~1 $ccseti$0 $ccsetd$0 $ccr$0 $V83_cca$2 $OK$2) $OK$2)) diff --git a/bench/tasks/fast_1_e8_747_extend_s_part.smt2 b/bench/tasks/fast_1_e8_747_extend_s_part.smt2 new file mode 100755 index 000000000..944ca91c4 --- /dev/null +++ b/bench/tasks/fast_1_e8_747_extend_s_part.smt2 @@ -0,0 +1,16 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($V83_cca$0 Bool) ($OK$0 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($V83_cca$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite (ite %init false (and $V83_cca$1 (not $V83_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $V83_cca$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $V83_cca$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T %init $ccseti$~1 $ccsetd$~1 $ccr$~1 $V83_cca$~1 $OK$~1 $ccseti$0 $ccsetd$0 $ccr$0 $V83_cca$0 $OK$0)) diff --git a/bench/tasks/fast_1_e8_747_extend_t_part.smt2 b/bench/tasks/fast_1_e8_747_extend_t_part.smt2 new file mode 100755 index 000000000..79a4a17d2 --- /dev/null +++ b/bench/tasks/fast_1_e8_747_extend_t_part.smt2 @@ -0,0 +1,16 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($V83_cca$0 Bool) ($OK$0 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($V83_cca$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite (ite %init false (and $V83_cca$1 (not $V83_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $V83_cca$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $V83_cca$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $ccseti$~1 $ccsetd$~1 $ccr$~1 $V83_cca$~1 $OK$~1 $ccseti$0 $ccsetd$0 $ccr$0 $V83_cca$2 $OK$2) $OK$2)) diff --git a/bench/tasks/fast_2_e7_2526_e8_1145_base1_s_part.smt2 b/bench/tasks/fast_2_e7_2526_e8_1145_base1_s_part.smt2 new file mode 100755 index 000000000..577ea0ab5 --- /dev/null +++ b/bench/tasks/fast_2_e7_2526_e8_1145_base1_s_part.smt2 @@ -0,0 +1,49 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($igsw$0 Bool) ($ccd$0 Bool) ($cconoff$0 Bool) ($bpa$0 Bool) ($cccanc$0 Bool) ($battok$0 Bool) ($gearok$0 Bool) ($qfok$0 Bool) ($sdok$0 Bool) ($accok$0 Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($vs$0 Int) ($V86_ccont$0 Bool) ($~flatten0$0 Bool) ($V87_cca$0 Bool) ($OK$0 Bool) ($V82_p1$0 Bool) ($V83_p2$0 Bool) ($V84_p3$0 Bool) ($V85_p4$0 Bool) ($igsw$1 Bool) ($ccd$1 Bool) ($cconoff$1 Bool) ($bpa$1 Bool) ($cccanc$1 Bool) ($battok$1 Bool) ($gearok$1 Bool) ($qfok$1 Bool) ($sdok$1 Bool) ($accok$1 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($vs$1 Int) ($V86_ccont$1 Bool) ($~flatten0$1 Bool) ($V87_cca$1 Bool) ($OK$1 Bool) ($V82_p1$1 Bool) ($V83_p2$1 Bool) ($V84_p3$1 Bool) ($V85_p4$1 Bool)) Bool (and (= $OK$1 (and (and (and $V82_p1$1 $V83_p2$1) $V84_p3$1) $V85_p4$1)) (= $V82_p1$1 (ite (ite %init false (and $V87_cca$1 (not $V87_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true)) (= $V83_p2$1 (ite (not (and (and (and (and (and (and (and (and (and $V86_ccont$1 (not $bpa$1)) $battok$1) $gearok$1) $qfok$1) (ite %init false (and $sdok$0 $sdok$1))) (<= 35 $vs$1)) (<= $vs$1 200)) (ite %init false (and $~flatten0$0 $accok$1))) (not $cccanc$1))) (not $V87_cca$1) true)) (= $V84_p3$1 (ite (ite %init false (and $V86_ccont$1 (not $V86_ccont$0))) (and (and (not (ite %init false (or (and $igsw$1 (not $igsw$0)) (and (not $igsw$1) $igsw$0)))) (not $ccd$1)) (ite %init false (and $cconoff$1 (not $cconoff$0)))) true)) (= $V85_p4$1 (ite (ite %init false (or (and $igsw$1 (not $igsw$0)) (and (not $igsw$1) $igsw$0))) (not $V87_cca$1) true)))) +; Universally quantified variables +(declare-fun $igsw$~1 () Bool) +(declare-fun $ccd$~1 () Bool) +(declare-fun $cconoff$~1 () Bool) +(declare-fun $bpa$~1 () Bool) +(declare-fun $cccanc$~1 () Bool) +(declare-fun $battok$~1 () Bool) +(declare-fun $gearok$~1 () Bool) +(declare-fun $qfok$~1 () Bool) +(declare-fun $sdok$~1 () Bool) +(declare-fun $accok$~1 () Bool) +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $vs$~1 () Int) +(declare-fun $V86_ccont$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $V87_cca$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V82_p1$~1 () Bool) +(declare-fun $V83_p2$~1 () Bool) +(declare-fun $V84_p3$~1 () Bool) +(declare-fun $V85_p4$~1 () Bool) +(declare-fun $igsw$0 () Bool) +(declare-fun $ccd$0 () Bool) +(declare-fun $cconoff$0 () Bool) +(declare-fun $bpa$0 () Bool) +(declare-fun $cccanc$0 () Bool) +(declare-fun $battok$0 () Bool) +(declare-fun $gearok$0 () Bool) +(declare-fun $qfok$0 () Bool) +(declare-fun $sdok$0 () Bool) +(declare-fun $accok$0 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $vs$0 () Int) +(declare-fun $V86_ccont$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(declare-fun $V87_cca$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V82_p1$0 () Bool) +(declare-fun $V83_p2$0 () Bool) +(declare-fun $V84_p3$0 () Bool) +(declare-fun $V85_p4$0 () Bool) +(assert (T true $igsw$~1 $ccd$~1 $cconoff$~1 $bpa$~1 $cccanc$~1 $battok$~1 $gearok$~1 $qfok$~1 $sdok$~1 $accok$~1 $ccseti$~1 $ccsetd$~1 $ccr$~1 $vs$~1 $V86_ccont$~1 $~flatten0$~1 $V87_cca$~1 $OK$~1 $V82_p1$~1 $V83_p2$~1 $V84_p3$~1 $V85_p4$~1 $igsw$0 $ccd$0 $cconoff$0 $bpa$0 $cccanc$0 $battok$0 $gearok$0 $qfok$0 $sdok$0 $accok$0 $ccseti$0 $ccsetd$0 $ccr$0 $vs$0 $V86_ccont$0 $~flatten0$0 $V87_cca$0 $OK$0 $V82_p1$0 $V83_p2$0 $V84_p3$0 $V85_p4$0)) diff --git a/bench/tasks/fast_2_e7_2526_e8_1145_base1_t_part.smt2 b/bench/tasks/fast_2_e7_2526_e8_1145_base1_t_part.smt2 new file mode 100755 index 000000000..c6ba333c9 --- /dev/null +++ b/bench/tasks/fast_2_e7_2526_e8_1145_base1_t_part.smt2 @@ -0,0 +1,49 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($igsw$0 Bool) ($ccd$0 Bool) ($cconoff$0 Bool) ($bpa$0 Bool) ($cccanc$0 Bool) ($battok$0 Bool) ($gearok$0 Bool) ($qfok$0 Bool) ($sdok$0 Bool) ($accok$0 Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($vs$0 Int) ($V86_ccont$0 Bool) ($~flatten0$0 Bool) ($V87_cca$0 Bool) ($OK$0 Bool) ($V82_p1$0 Bool) ($V83_p2$0 Bool) ($V84_p3$0 Bool) ($V85_p4$0 Bool) ($igsw$1 Bool) ($ccd$1 Bool) ($cconoff$1 Bool) ($bpa$1 Bool) ($cccanc$1 Bool) ($battok$1 Bool) ($gearok$1 Bool) ($qfok$1 Bool) ($sdok$1 Bool) ($accok$1 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($vs$1 Int) ($V86_ccont$1 Bool) ($~flatten0$1 Bool) ($V87_cca$1 Bool) ($OK$1 Bool) ($V82_p1$1 Bool) ($V83_p2$1 Bool) ($V84_p3$1 Bool) ($V85_p4$1 Bool)) Bool (and (= $OK$1 (and (and (and $V82_p1$1 $V83_p2$1) $V84_p3$1) $V85_p4$1)) (= $V82_p1$1 (ite (ite %init false (and $V87_cca$1 (not $V87_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true)) (= $V83_p2$1 (ite (not (and (and (and (and (and (and (and (and (and $V86_ccont$1 (not $bpa$1)) $battok$1) $gearok$1) $qfok$1) (ite %init false (and $sdok$0 $sdok$1))) (<= 35 $vs$1)) (<= $vs$1 200)) (ite %init false (and $~flatten0$0 $accok$1))) (not $cccanc$1))) (not $V87_cca$1) true)) (= $V84_p3$1 (ite (ite %init false (and $V86_ccont$1 (not $V86_ccont$0))) (and (and (not (ite %init false (or (and $igsw$1 (not $igsw$0)) (and (not $igsw$1) $igsw$0)))) (not $ccd$1)) (ite %init false (and $cconoff$1 (not $cconoff$0)))) true)) (= $V85_p4$1 (ite (ite %init false (or (and $igsw$1 (not $igsw$0)) (and (not $igsw$1) $igsw$0))) (not $V87_cca$1) true)))) +; Universally quantified variables +(declare-fun $igsw$~1 () Bool) +(declare-fun $ccd$~1 () Bool) +(declare-fun $cconoff$~1 () Bool) +(declare-fun $bpa$~1 () Bool) +(declare-fun $cccanc$~1 () Bool) +(declare-fun $battok$~1 () Bool) +(declare-fun $gearok$~1 () Bool) +(declare-fun $qfok$~1 () Bool) +(declare-fun $sdok$~1 () Bool) +(declare-fun $accok$~1 () Bool) +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $vs$~1 () Int) +(declare-fun $V86_ccont$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $V87_cca$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V82_p1$~1 () Bool) +(declare-fun $V83_p2$~1 () Bool) +(declare-fun $V84_p3$~1 () Bool) +(declare-fun $V85_p4$~1 () Bool) +(declare-fun $igsw$0 () Bool) +(declare-fun $ccd$0 () Bool) +(declare-fun $cconoff$0 () Bool) +(declare-fun $bpa$0 () Bool) +(declare-fun $cccanc$0 () Bool) +(declare-fun $battok$0 () Bool) +(declare-fun $gearok$0 () Bool) +(declare-fun $qfok$0 () Bool) +(declare-fun $sdok$0 () Bool) +(declare-fun $accok$0 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $vs$0 () Int) +(declare-fun $V86_ccont$2 () Bool) +(declare-fun $~flatten0$2 () Bool) +(declare-fun $V87_cca$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V82_p1$2 () Bool) +(declare-fun $V83_p2$2 () Bool) +(declare-fun $V84_p3$2 () Bool) +(declare-fun $V85_p4$2 () Bool) +(assert (and (T true $igsw$~1 $ccd$~1 $cconoff$~1 $bpa$~1 $cccanc$~1 $battok$~1 $gearok$~1 $qfok$~1 $sdok$~1 $accok$~1 $ccseti$~1 $ccsetd$~1 $ccr$~1 $vs$~1 $V86_ccont$~1 $~flatten0$~1 $V87_cca$~1 $OK$~1 $V82_p1$~1 $V83_p2$~1 $V84_p3$~1 $V85_p4$~1 $igsw$0 $ccd$0 $cconoff$0 $bpa$0 $cccanc$0 $battok$0 $gearok$0 $qfok$0 $sdok$0 $accok$0 $ccseti$0 $ccsetd$0 $ccr$0 $vs$0 $V86_ccont$2 $~flatten0$2 $V87_cca$2 $OK$2 $V82_p1$2 $V83_p2$2 $V84_p3$2 $V85_p4$2) $OK$2)) diff --git a/bench/tasks/fast_2_e7_2526_e8_1145_base2_s_part.smt2 b/bench/tasks/fast_2_e7_2526_e8_1145_base2_s_part.smt2 new file mode 100755 index 000000000..870ee0d4c --- /dev/null +++ b/bench/tasks/fast_2_e7_2526_e8_1145_base2_s_part.smt2 @@ -0,0 +1,73 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($igsw$0 Bool) ($ccd$0 Bool) ($cconoff$0 Bool) ($bpa$0 Bool) ($cccanc$0 Bool) ($battok$0 Bool) ($gearok$0 Bool) ($qfok$0 Bool) ($sdok$0 Bool) ($accok$0 Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($vs$0 Int) ($V86_ccont$0 Bool) ($~flatten0$0 Bool) ($V87_cca$0 Bool) ($OK$0 Bool) ($V82_p1$0 Bool) ($V83_p2$0 Bool) ($V84_p3$0 Bool) ($V85_p4$0 Bool) ($igsw$1 Bool) ($ccd$1 Bool) ($cconoff$1 Bool) ($bpa$1 Bool) ($cccanc$1 Bool) ($battok$1 Bool) ($gearok$1 Bool) ($qfok$1 Bool) ($sdok$1 Bool) ($accok$1 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($vs$1 Int) ($V86_ccont$1 Bool) ($~flatten0$1 Bool) ($V87_cca$1 Bool) ($OK$1 Bool) ($V82_p1$1 Bool) ($V83_p2$1 Bool) ($V84_p3$1 Bool) ($V85_p4$1 Bool)) Bool (and (= $OK$1 (and (and (and $V82_p1$1 $V83_p2$1) $V84_p3$1) $V85_p4$1)) (= $V82_p1$1 (ite (ite %init false (and $V87_cca$1 (not $V87_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true)) (= $V83_p2$1 (ite (not (and (and (and (and (and (and (and (and (and $V86_ccont$1 (not $bpa$1)) $battok$1) $gearok$1) $qfok$1) (ite %init false (and $sdok$0 $sdok$1))) (<= 35 $vs$1)) (<= $vs$1 200)) (ite %init false (and $~flatten0$0 $accok$1))) (not $cccanc$1))) (not $V87_cca$1) true)) (= $V84_p3$1 (ite (ite %init false (and $V86_ccont$1 (not $V86_ccont$0))) (and (and (not (ite %init false (or (and $igsw$1 (not $igsw$0)) (and (not $igsw$1) $igsw$0)))) (not $ccd$1)) (ite %init false (and $cconoff$1 (not $cconoff$0)))) true)) (= $V85_p4$1 (ite (ite %init false (or (and $igsw$1 (not $igsw$0)) (and (not $igsw$1) $igsw$0))) (not $V87_cca$1) true)))) +; Universally quantified variables +(declare-fun $igsw$~1 () Bool) +(declare-fun $ccd$~1 () Bool) +(declare-fun $cconoff$~1 () Bool) +(declare-fun $bpa$~1 () Bool) +(declare-fun $cccanc$~1 () Bool) +(declare-fun $battok$~1 () Bool) +(declare-fun $gearok$~1 () Bool) +(declare-fun $qfok$~1 () Bool) +(declare-fun $sdok$~1 () Bool) +(declare-fun $accok$~1 () Bool) +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $vs$~1 () Int) +(declare-fun $V86_ccont$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $V87_cca$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V82_p1$~1 () Bool) +(declare-fun $V83_p2$~1 () Bool) +(declare-fun $V84_p3$~1 () Bool) +(declare-fun $V85_p4$~1 () Bool) +(declare-fun $igsw$0 () Bool) +(declare-fun $ccd$0 () Bool) +(declare-fun $cconoff$0 () Bool) +(declare-fun $bpa$0 () Bool) +(declare-fun $cccanc$0 () Bool) +(declare-fun $battok$0 () Bool) +(declare-fun $gearok$0 () Bool) +(declare-fun $qfok$0 () Bool) +(declare-fun $sdok$0 () Bool) +(declare-fun $accok$0 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $vs$0 () Int) +(declare-fun $V86_ccont$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(declare-fun $V87_cca$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V82_p1$0 () Bool) +(declare-fun $V83_p2$0 () Bool) +(declare-fun $V84_p3$0 () Bool) +(declare-fun $V85_p4$0 () Bool) +(declare-fun $igsw$1 () Bool) +(declare-fun $ccd$1 () Bool) +(declare-fun $cconoff$1 () Bool) +(declare-fun $bpa$1 () Bool) +(declare-fun $cccanc$1 () Bool) +(declare-fun $battok$1 () Bool) +(declare-fun $gearok$1 () Bool) +(declare-fun $qfok$1 () Bool) +(declare-fun $sdok$1 () Bool) +(declare-fun $accok$1 () Bool) +(declare-fun $ccseti$1 () Bool) +(declare-fun $ccsetd$1 () Bool) +(declare-fun $ccr$1 () Bool) +(declare-fun $vs$1 () Int) +(declare-fun $V86_ccont$1 () Bool) +(declare-fun $~flatten0$1 () Bool) +(declare-fun $V87_cca$1 () Bool) +(declare-fun $OK$1 () Bool) +(declare-fun $V82_p1$1 () Bool) +(declare-fun $V83_p2$1 () Bool) +(declare-fun $V84_p3$1 () Bool) +(declare-fun $V85_p4$1 () Bool) +(assert (T true $igsw$~1 $ccd$~1 $cconoff$~1 $bpa$~1 $cccanc$~1 $battok$~1 $gearok$~1 $qfok$~1 $sdok$~1 $accok$~1 $ccseti$~1 $ccsetd$~1 $ccr$~1 $vs$~1 $V86_ccont$~1 $~flatten0$~1 $V87_cca$~1 $OK$~1 $V82_p1$~1 $V83_p2$~1 $V84_p3$~1 $V85_p4$~1 $igsw$0 $ccd$0 $cconoff$0 $bpa$0 $cccanc$0 $battok$0 $gearok$0 $qfok$0 $sdok$0 $accok$0 $ccseti$0 $ccsetd$0 $ccr$0 $vs$0 $V86_ccont$0 $~flatten0$0 $V87_cca$0 $OK$0 $V82_p1$0 $V83_p2$0 $V84_p3$0 $V85_p4$0)) +(assert $OK$0) +(assert (T false $igsw$0 $ccd$0 $cconoff$0 $bpa$0 $cccanc$0 $battok$0 $gearok$0 $qfok$0 $sdok$0 $accok$0 $ccseti$0 $ccsetd$0 $ccr$0 $vs$0 $V86_ccont$0 $~flatten0$0 $V87_cca$0 $OK$0 $V82_p1$0 $V83_p2$0 $V84_p3$0 $V85_p4$0 $igsw$1 $ccd$1 $cconoff$1 $bpa$1 $cccanc$1 $battok$1 $gearok$1 $qfok$1 $sdok$1 $accok$1 $ccseti$1 $ccsetd$1 $ccr$1 $vs$1 $V86_ccont$1 $~flatten0$1 $V87_cca$1 $OK$1 $V82_p1$1 $V83_p2$1 $V84_p3$1 $V85_p4$1)) diff --git a/bench/tasks/fast_2_e7_2526_e8_1145_base2_t_part.smt2 b/bench/tasks/fast_2_e7_2526_e8_1145_base2_t_part.smt2 new file mode 100755 index 000000000..983d296bf --- /dev/null +++ b/bench/tasks/fast_2_e7_2526_e8_1145_base2_t_part.smt2 @@ -0,0 +1,71 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($igsw$0 Bool) ($ccd$0 Bool) ($cconoff$0 Bool) ($bpa$0 Bool) ($cccanc$0 Bool) ($battok$0 Bool) ($gearok$0 Bool) ($qfok$0 Bool) ($sdok$0 Bool) ($accok$0 Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($vs$0 Int) ($V86_ccont$0 Bool) ($~flatten0$0 Bool) ($V87_cca$0 Bool) ($OK$0 Bool) ($V82_p1$0 Bool) ($V83_p2$0 Bool) ($V84_p3$0 Bool) ($V85_p4$0 Bool) ($igsw$1 Bool) ($ccd$1 Bool) ($cconoff$1 Bool) ($bpa$1 Bool) ($cccanc$1 Bool) ($battok$1 Bool) ($gearok$1 Bool) ($qfok$1 Bool) ($sdok$1 Bool) ($accok$1 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($vs$1 Int) ($V86_ccont$1 Bool) ($~flatten0$1 Bool) ($V87_cca$1 Bool) ($OK$1 Bool) ($V82_p1$1 Bool) ($V83_p2$1 Bool) ($V84_p3$1 Bool) ($V85_p4$1 Bool)) Bool (and (= $OK$1 (and (and (and $V82_p1$1 $V83_p2$1) $V84_p3$1) $V85_p4$1)) (= $V82_p1$1 (ite (ite %init false (and $V87_cca$1 (not $V87_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true)) (= $V83_p2$1 (ite (not (and (and (and (and (and (and (and (and (and $V86_ccont$1 (not $bpa$1)) $battok$1) $gearok$1) $qfok$1) (ite %init false (and $sdok$0 $sdok$1))) (<= 35 $vs$1)) (<= $vs$1 200)) (ite %init false (and $~flatten0$0 $accok$1))) (not $cccanc$1))) (not $V87_cca$1) true)) (= $V84_p3$1 (ite (ite %init false (and $V86_ccont$1 (not $V86_ccont$0))) (and (and (not (ite %init false (or (and $igsw$1 (not $igsw$0)) (and (not $igsw$1) $igsw$0)))) (not $ccd$1)) (ite %init false (and $cconoff$1 (not $cconoff$0)))) true)) (= $V85_p4$1 (ite (ite %init false (or (and $igsw$1 (not $igsw$0)) (and (not $igsw$1) $igsw$0))) (not $V87_cca$1) true)))) +; Universally quantified variables +(declare-fun $igsw$~1 () Bool) +(declare-fun $ccd$~1 () Bool) +(declare-fun $cconoff$~1 () Bool) +(declare-fun $bpa$~1 () Bool) +(declare-fun $cccanc$~1 () Bool) +(declare-fun $battok$~1 () Bool) +(declare-fun $gearok$~1 () Bool) +(declare-fun $qfok$~1 () Bool) +(declare-fun $sdok$~1 () Bool) +(declare-fun $accok$~1 () Bool) +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $vs$~1 () Int) +(declare-fun $V86_ccont$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $V87_cca$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V82_p1$~1 () Bool) +(declare-fun $V83_p2$~1 () Bool) +(declare-fun $V84_p3$~1 () Bool) +(declare-fun $V85_p4$~1 () Bool) +(declare-fun $igsw$0 () Bool) +(declare-fun $ccd$0 () Bool) +(declare-fun $cconoff$0 () Bool) +(declare-fun $bpa$0 () Bool) +(declare-fun $cccanc$0 () Bool) +(declare-fun $battok$0 () Bool) +(declare-fun $gearok$0 () Bool) +(declare-fun $qfok$0 () Bool) +(declare-fun $sdok$0 () Bool) +(declare-fun $accok$0 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $vs$0 () Int) +(declare-fun $V86_ccont$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(declare-fun $V87_cca$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V82_p1$0 () Bool) +(declare-fun $V83_p2$0 () Bool) +(declare-fun $V84_p3$0 () Bool) +(declare-fun $V85_p4$0 () Bool) +(declare-fun $igsw$1 () Bool) +(declare-fun $ccd$1 () Bool) +(declare-fun $cconoff$1 () Bool) +(declare-fun $bpa$1 () Bool) +(declare-fun $cccanc$1 () Bool) +(declare-fun $battok$1 () Bool) +(declare-fun $gearok$1 () Bool) +(declare-fun $qfok$1 () Bool) +(declare-fun $sdok$1 () Bool) +(declare-fun $accok$1 () Bool) +(declare-fun $ccseti$1 () Bool) +(declare-fun $ccsetd$1 () Bool) +(declare-fun $ccr$1 () Bool) +(declare-fun $vs$1 () Int) +(declare-fun $V86_ccont$3 () Bool) +(declare-fun $~flatten0$3 () Bool) +(declare-fun $V87_cca$3 () Bool) +(declare-fun $OK$3 () Bool) +(declare-fun $V82_p1$3 () Bool) +(declare-fun $V83_p2$3 () Bool) +(declare-fun $V84_p3$3 () Bool) +(declare-fun $V85_p4$3 () Bool) +(assert (and (T false $igsw$0 $ccd$0 $cconoff$0 $bpa$0 $cccanc$0 $battok$0 $gearok$0 $qfok$0 $sdok$0 $accok$0 $ccseti$0 $ccsetd$0 $ccr$0 $vs$0 $V86_ccont$0 $~flatten0$0 $V87_cca$0 $OK$0 $V82_p1$0 $V83_p2$0 $V84_p3$0 $V85_p4$0 $igsw$1 $ccd$1 $cconoff$1 $bpa$1 $cccanc$1 $battok$1 $gearok$1 $qfok$1 $sdok$1 $accok$1 $ccseti$1 $ccsetd$1 $ccr$1 $vs$1 $V86_ccont$3 $~flatten0$3 $V87_cca$3 $OK$3 $V82_p1$3 $V83_p2$3 $V84_p3$3 $V85_p4$3) $OK$3)) diff --git a/bench/tasks/fast_2_e7_2526_e8_1145_extend_s_part.smt2 b/bench/tasks/fast_2_e7_2526_e8_1145_extend_s_part.smt2 new file mode 100755 index 000000000..5500a52f2 --- /dev/null +++ b/bench/tasks/fast_2_e7_2526_e8_1145_extend_s_part.smt2 @@ -0,0 +1,50 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($igsw$0 Bool) ($ccd$0 Bool) ($cconoff$0 Bool) ($bpa$0 Bool) ($cccanc$0 Bool) ($battok$0 Bool) ($gearok$0 Bool) ($qfok$0 Bool) ($sdok$0 Bool) ($accok$0 Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($vs$0 Int) ($V86_ccont$0 Bool) ($~flatten0$0 Bool) ($V87_cca$0 Bool) ($OK$0 Bool) ($V82_p1$0 Bool) ($V83_p2$0 Bool) ($V84_p3$0 Bool) ($V85_p4$0 Bool) ($igsw$1 Bool) ($ccd$1 Bool) ($cconoff$1 Bool) ($bpa$1 Bool) ($cccanc$1 Bool) ($battok$1 Bool) ($gearok$1 Bool) ($qfok$1 Bool) ($sdok$1 Bool) ($accok$1 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($vs$1 Int) ($V86_ccont$1 Bool) ($~flatten0$1 Bool) ($V87_cca$1 Bool) ($OK$1 Bool) ($V82_p1$1 Bool) ($V83_p2$1 Bool) ($V84_p3$1 Bool) ($V85_p4$1 Bool)) Bool (and (= $OK$1 (and (and (and $V82_p1$1 $V83_p2$1) $V84_p3$1) $V85_p4$1)) (= $V82_p1$1 (ite (ite %init false (and $V87_cca$1 (not $V87_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true)) (= $V83_p2$1 (ite (not (and (and (and (and (and (and (and (and (and $V86_ccont$1 (not $bpa$1)) $battok$1) $gearok$1) $qfok$1) (ite %init false (and $sdok$0 $sdok$1))) (<= 35 $vs$1)) (<= $vs$1 200)) (ite %init false (and $~flatten0$0 $accok$1))) (not $cccanc$1))) (not $V87_cca$1) true)) (= $V84_p3$1 (ite (ite %init false (and $V86_ccont$1 (not $V86_ccont$0))) (and (and (not (ite %init false (or (and $igsw$1 (not $igsw$0)) (and (not $igsw$1) $igsw$0)))) (not $ccd$1)) (ite %init false (and $cconoff$1 (not $cconoff$0)))) true)) (= $V85_p4$1 (ite (ite %init false (or (and $igsw$1 (not $igsw$0)) (and (not $igsw$1) $igsw$0))) (not $V87_cca$1) true)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $igsw$~1 () Bool) +(declare-fun $ccd$~1 () Bool) +(declare-fun $cconoff$~1 () Bool) +(declare-fun $bpa$~1 () Bool) +(declare-fun $cccanc$~1 () Bool) +(declare-fun $battok$~1 () Bool) +(declare-fun $gearok$~1 () Bool) +(declare-fun $qfok$~1 () Bool) +(declare-fun $sdok$~1 () Bool) +(declare-fun $accok$~1 () Bool) +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $vs$~1 () Int) +(declare-fun $V86_ccont$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $V87_cca$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V82_p1$~1 () Bool) +(declare-fun $V83_p2$~1 () Bool) +(declare-fun $V84_p3$~1 () Bool) +(declare-fun $V85_p4$~1 () Bool) +(declare-fun $igsw$0 () Bool) +(declare-fun $ccd$0 () Bool) +(declare-fun $cconoff$0 () Bool) +(declare-fun $bpa$0 () Bool) +(declare-fun $cccanc$0 () Bool) +(declare-fun $battok$0 () Bool) +(declare-fun $gearok$0 () Bool) +(declare-fun $qfok$0 () Bool) +(declare-fun $sdok$0 () Bool) +(declare-fun $accok$0 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $vs$0 () Int) +(declare-fun $V86_ccont$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(declare-fun $V87_cca$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V82_p1$0 () Bool) +(declare-fun $V83_p2$0 () Bool) +(declare-fun $V84_p3$0 () Bool) +(declare-fun $V85_p4$0 () Bool) +(assert (T %init $igsw$~1 $ccd$~1 $cconoff$~1 $bpa$~1 $cccanc$~1 $battok$~1 $gearok$~1 $qfok$~1 $sdok$~1 $accok$~1 $ccseti$~1 $ccsetd$~1 $ccr$~1 $vs$~1 $V86_ccont$~1 $~flatten0$~1 $V87_cca$~1 $OK$~1 $V82_p1$~1 $V83_p2$~1 $V84_p3$~1 $V85_p4$~1 $igsw$0 $ccd$0 $cconoff$0 $bpa$0 $cccanc$0 $battok$0 $gearok$0 $qfok$0 $sdok$0 $accok$0 $ccseti$0 $ccsetd$0 $ccr$0 $vs$0 $V86_ccont$0 $~flatten0$0 $V87_cca$0 $OK$0 $V82_p1$0 $V83_p2$0 $V84_p3$0 $V85_p4$0)) diff --git a/bench/tasks/fast_2_e7_2526_e8_1145_extend_t_part.smt2 b/bench/tasks/fast_2_e7_2526_e8_1145_extend_t_part.smt2 new file mode 100755 index 000000000..501eff331 --- /dev/null +++ b/bench/tasks/fast_2_e7_2526_e8_1145_extend_t_part.smt2 @@ -0,0 +1,50 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($igsw$0 Bool) ($ccd$0 Bool) ($cconoff$0 Bool) ($bpa$0 Bool) ($cccanc$0 Bool) ($battok$0 Bool) ($gearok$0 Bool) ($qfok$0 Bool) ($sdok$0 Bool) ($accok$0 Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($vs$0 Int) ($V86_ccont$0 Bool) ($~flatten0$0 Bool) ($V87_cca$0 Bool) ($OK$0 Bool) ($V82_p1$0 Bool) ($V83_p2$0 Bool) ($V84_p3$0 Bool) ($V85_p4$0 Bool) ($igsw$1 Bool) ($ccd$1 Bool) ($cconoff$1 Bool) ($bpa$1 Bool) ($cccanc$1 Bool) ($battok$1 Bool) ($gearok$1 Bool) ($qfok$1 Bool) ($sdok$1 Bool) ($accok$1 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($vs$1 Int) ($V86_ccont$1 Bool) ($~flatten0$1 Bool) ($V87_cca$1 Bool) ($OK$1 Bool) ($V82_p1$1 Bool) ($V83_p2$1 Bool) ($V84_p3$1 Bool) ($V85_p4$1 Bool)) Bool (and (= $OK$1 (and (and (and $V82_p1$1 $V83_p2$1) $V84_p3$1) $V85_p4$1)) (= $V82_p1$1 (ite (ite %init false (and $V87_cca$1 (not $V87_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true)) (= $V83_p2$1 (ite (not (and (and (and (and (and (and (and (and (and $V86_ccont$1 (not $bpa$1)) $battok$1) $gearok$1) $qfok$1) (ite %init false (and $sdok$0 $sdok$1))) (<= 35 $vs$1)) (<= $vs$1 200)) (ite %init false (and $~flatten0$0 $accok$1))) (not $cccanc$1))) (not $V87_cca$1) true)) (= $V84_p3$1 (ite (ite %init false (and $V86_ccont$1 (not $V86_ccont$0))) (and (and (not (ite %init false (or (and $igsw$1 (not $igsw$0)) (and (not $igsw$1) $igsw$0)))) (not $ccd$1)) (ite %init false (and $cconoff$1 (not $cconoff$0)))) true)) (= $V85_p4$1 (ite (ite %init false (or (and $igsw$1 (not $igsw$0)) (and (not $igsw$1) $igsw$0))) (not $V87_cca$1) true)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $igsw$~1 () Bool) +(declare-fun $ccd$~1 () Bool) +(declare-fun $cconoff$~1 () Bool) +(declare-fun $bpa$~1 () Bool) +(declare-fun $cccanc$~1 () Bool) +(declare-fun $battok$~1 () Bool) +(declare-fun $gearok$~1 () Bool) +(declare-fun $qfok$~1 () Bool) +(declare-fun $sdok$~1 () Bool) +(declare-fun $accok$~1 () Bool) +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $vs$~1 () Int) +(declare-fun $V86_ccont$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $V87_cca$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V82_p1$~1 () Bool) +(declare-fun $V83_p2$~1 () Bool) +(declare-fun $V84_p3$~1 () Bool) +(declare-fun $V85_p4$~1 () Bool) +(declare-fun $igsw$0 () Bool) +(declare-fun $ccd$0 () Bool) +(declare-fun $cconoff$0 () Bool) +(declare-fun $bpa$0 () Bool) +(declare-fun $cccanc$0 () Bool) +(declare-fun $battok$0 () Bool) +(declare-fun $gearok$0 () Bool) +(declare-fun $qfok$0 () Bool) +(declare-fun $sdok$0 () Bool) +(declare-fun $accok$0 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $vs$0 () Int) +(declare-fun $V86_ccont$2 () Bool) +(declare-fun $~flatten0$2 () Bool) +(declare-fun $V87_cca$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V82_p1$2 () Bool) +(declare-fun $V83_p2$2 () Bool) +(declare-fun $V84_p3$2 () Bool) +(declare-fun $V85_p4$2 () Bool) +(assert (and (T %init $igsw$~1 $ccd$~1 $cconoff$~1 $bpa$~1 $cccanc$~1 $battok$~1 $gearok$~1 $qfok$~1 $sdok$~1 $accok$~1 $ccseti$~1 $ccsetd$~1 $ccr$~1 $vs$~1 $V86_ccont$~1 $~flatten0$~1 $V87_cca$~1 $OK$~1 $V82_p1$~1 $V83_p2$~1 $V84_p3$~1 $V85_p4$~1 $igsw$0 $ccd$0 $cconoff$0 $bpa$0 $cccanc$0 $battok$0 $gearok$0 $qfok$0 $sdok$0 $accok$0 $ccseti$0 $ccsetd$0 $ccr$0 $vs$0 $V86_ccont$2 $~flatten0$2 $V87_cca$2 $OK$2 $V82_p1$2 $V83_p2$2 $V84_p3$2 $V85_p4$2) $OK$2)) diff --git a/bench/tasks/fast_2_e8_460_base_s_part.smt2 b/bench/tasks/fast_2_e8_460_base_s_part.smt2 new file mode 100755 index 000000000..3ccdf0bb5 --- /dev/null +++ b/bench/tasks/fast_2_e8_460_base_s_part.smt2 @@ -0,0 +1,49 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($igsw$0 Bool) ($ccd$0 Bool) ($cconoff$0 Bool) ($bpa$0 Bool) ($cccanc$0 Bool) ($battok$0 Bool) ($gearok$0 Bool) ($qfok$0 Bool) ($sdok$0 Bool) ($accok$0 Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($vs$0 Int) ($V86_ccont$0 Bool) ($V87_cca$0 Bool) ($~flatten0$0 Bool) ($OK$0 Bool) ($V82_p1$0 Bool) ($V83_p2$0 Bool) ($V84_p3$0 Bool) ($V85_p4$0 Bool) ($igsw$1 Bool) ($ccd$1 Bool) ($cconoff$1 Bool) ($bpa$1 Bool) ($cccanc$1 Bool) ($battok$1 Bool) ($gearok$1 Bool) ($qfok$1 Bool) ($sdok$1 Bool) ($accok$1 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($vs$1 Int) ($V86_ccont$1 Bool) ($V87_cca$1 Bool) ($~flatten0$1 Bool) ($OK$1 Bool) ($V82_p1$1 Bool) ($V83_p2$1 Bool) ($V84_p3$1 Bool) ($V85_p4$1 Bool)) Bool (and (= $OK$1 (and (and (and $V82_p1$1 $V83_p2$1) $V84_p3$1) $V85_p4$1)) (= $V82_p1$1 (ite (ite %init false (and $V87_cca$1 (not $V87_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true)) (= $V83_p2$1 (ite (not (and (and (and (and (and (and (and (and (and $V86_ccont$1 (not $bpa$1)) $battok$1) $gearok$1) $qfok$1) (ite %init false (and $sdok$0 $sdok$1))) (<= 35 $vs$1)) (<= $vs$1 200)) (ite %init false (and $~flatten0$0 $accok$1))) (not $cccanc$1))) (not $V87_cca$1) true)) (= $V84_p3$1 (ite (ite %init false (and $V86_ccont$1 (not $V86_ccont$0))) (and (and (not (ite %init false (and (and (and $igsw$1 (not $igsw$0)) (not $igsw$1)) $igsw$0))) (not $ccd$1)) (ite %init false (and $cconoff$1 (not $cconoff$0)))) true)) (= $V85_p4$1 (ite (ite %init false (and (and (and $igsw$1 (not $igsw$0)) (not $igsw$1)) $igsw$0)) (not $V87_cca$1) true)))) +; Universally quantified variables +(declare-fun $igsw$~1 () Bool) +(declare-fun $ccd$~1 () Bool) +(declare-fun $cconoff$~1 () Bool) +(declare-fun $bpa$~1 () Bool) +(declare-fun $cccanc$~1 () Bool) +(declare-fun $battok$~1 () Bool) +(declare-fun $gearok$~1 () Bool) +(declare-fun $qfok$~1 () Bool) +(declare-fun $sdok$~1 () Bool) +(declare-fun $accok$~1 () Bool) +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $vs$~1 () Int) +(declare-fun $V86_ccont$~1 () Bool) +(declare-fun $V87_cca$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V82_p1$~1 () Bool) +(declare-fun $V83_p2$~1 () Bool) +(declare-fun $V84_p3$~1 () Bool) +(declare-fun $V85_p4$~1 () Bool) +(declare-fun $igsw$0 () Bool) +(declare-fun $ccd$0 () Bool) +(declare-fun $cconoff$0 () Bool) +(declare-fun $bpa$0 () Bool) +(declare-fun $cccanc$0 () Bool) +(declare-fun $battok$0 () Bool) +(declare-fun $gearok$0 () Bool) +(declare-fun $qfok$0 () Bool) +(declare-fun $sdok$0 () Bool) +(declare-fun $accok$0 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $vs$0 () Int) +(declare-fun $V86_ccont$0 () Bool) +(declare-fun $V87_cca$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V82_p1$0 () Bool) +(declare-fun $V83_p2$0 () Bool) +(declare-fun $V84_p3$0 () Bool) +(declare-fun $V85_p4$0 () Bool) +(assert (T true $igsw$~1 $ccd$~1 $cconoff$~1 $bpa$~1 $cccanc$~1 $battok$~1 $gearok$~1 $qfok$~1 $sdok$~1 $accok$~1 $ccseti$~1 $ccsetd$~1 $ccr$~1 $vs$~1 $V86_ccont$~1 $V87_cca$~1 $~flatten0$~1 $OK$~1 $V82_p1$~1 $V83_p2$~1 $V84_p3$~1 $V85_p4$~1 $igsw$0 $ccd$0 $cconoff$0 $bpa$0 $cccanc$0 $battok$0 $gearok$0 $qfok$0 $sdok$0 $accok$0 $ccseti$0 $ccsetd$0 $ccr$0 $vs$0 $V86_ccont$0 $V87_cca$0 $~flatten0$0 $OK$0 $V82_p1$0 $V83_p2$0 $V84_p3$0 $V85_p4$0)) diff --git a/bench/tasks/fast_2_e8_460_base_t_part.smt2 b/bench/tasks/fast_2_e8_460_base_t_part.smt2 new file mode 100755 index 000000000..52e14fcad --- /dev/null +++ b/bench/tasks/fast_2_e8_460_base_t_part.smt2 @@ -0,0 +1,49 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($igsw$0 Bool) ($ccd$0 Bool) ($cconoff$0 Bool) ($bpa$0 Bool) ($cccanc$0 Bool) ($battok$0 Bool) ($gearok$0 Bool) ($qfok$0 Bool) ($sdok$0 Bool) ($accok$0 Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($vs$0 Int) ($V86_ccont$0 Bool) ($V87_cca$0 Bool) ($~flatten0$0 Bool) ($OK$0 Bool) ($V82_p1$0 Bool) ($V83_p2$0 Bool) ($V84_p3$0 Bool) ($V85_p4$0 Bool) ($igsw$1 Bool) ($ccd$1 Bool) ($cconoff$1 Bool) ($bpa$1 Bool) ($cccanc$1 Bool) ($battok$1 Bool) ($gearok$1 Bool) ($qfok$1 Bool) ($sdok$1 Bool) ($accok$1 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($vs$1 Int) ($V86_ccont$1 Bool) ($V87_cca$1 Bool) ($~flatten0$1 Bool) ($OK$1 Bool) ($V82_p1$1 Bool) ($V83_p2$1 Bool) ($V84_p3$1 Bool) ($V85_p4$1 Bool)) Bool (and (= $OK$1 (and (and (and $V82_p1$1 $V83_p2$1) $V84_p3$1) $V85_p4$1)) (= $V82_p1$1 (ite (ite %init false (and $V87_cca$1 (not $V87_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true)) (= $V83_p2$1 (ite (not (and (and (and (and (and (and (and (and (and $V86_ccont$1 (not $bpa$1)) $battok$1) $gearok$1) $qfok$1) (ite %init false (and $sdok$0 $sdok$1))) (<= 35 $vs$1)) (<= $vs$1 200)) (ite %init false (and $~flatten0$0 $accok$1))) (not $cccanc$1))) (not $V87_cca$1) true)) (= $V84_p3$1 (ite (ite %init false (and $V86_ccont$1 (not $V86_ccont$0))) (and (and (not (ite %init false (and (and (and $igsw$1 (not $igsw$0)) (not $igsw$1)) $igsw$0))) (not $ccd$1)) (ite %init false (and $cconoff$1 (not $cconoff$0)))) true)) (= $V85_p4$1 (ite (ite %init false (and (and (and $igsw$1 (not $igsw$0)) (not $igsw$1)) $igsw$0)) (not $V87_cca$1) true)))) +; Universally quantified variables +(declare-fun $igsw$~1 () Bool) +(declare-fun $ccd$~1 () Bool) +(declare-fun $cconoff$~1 () Bool) +(declare-fun $bpa$~1 () Bool) +(declare-fun $cccanc$~1 () Bool) +(declare-fun $battok$~1 () Bool) +(declare-fun $gearok$~1 () Bool) +(declare-fun $qfok$~1 () Bool) +(declare-fun $sdok$~1 () Bool) +(declare-fun $accok$~1 () Bool) +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $vs$~1 () Int) +(declare-fun $V86_ccont$~1 () Bool) +(declare-fun $V87_cca$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V82_p1$~1 () Bool) +(declare-fun $V83_p2$~1 () Bool) +(declare-fun $V84_p3$~1 () Bool) +(declare-fun $V85_p4$~1 () Bool) +(declare-fun $igsw$0 () Bool) +(declare-fun $ccd$0 () Bool) +(declare-fun $cconoff$0 () Bool) +(declare-fun $bpa$0 () Bool) +(declare-fun $cccanc$0 () Bool) +(declare-fun $battok$0 () Bool) +(declare-fun $gearok$0 () Bool) +(declare-fun $qfok$0 () Bool) +(declare-fun $sdok$0 () Bool) +(declare-fun $accok$0 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $vs$0 () Int) +(declare-fun $V86_ccont$2 () Bool) +(declare-fun $V87_cca$2 () Bool) +(declare-fun $~flatten0$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V82_p1$2 () Bool) +(declare-fun $V83_p2$2 () Bool) +(declare-fun $V84_p3$2 () Bool) +(declare-fun $V85_p4$2 () Bool) +(assert (and (T true $igsw$~1 $ccd$~1 $cconoff$~1 $bpa$~1 $cccanc$~1 $battok$~1 $gearok$~1 $qfok$~1 $sdok$~1 $accok$~1 $ccseti$~1 $ccsetd$~1 $ccr$~1 $vs$~1 $V86_ccont$~1 $V87_cca$~1 $~flatten0$~1 $OK$~1 $V82_p1$~1 $V83_p2$~1 $V84_p3$~1 $V85_p4$~1 $igsw$0 $ccd$0 $cconoff$0 $bpa$0 $cccanc$0 $battok$0 $gearok$0 $qfok$0 $sdok$0 $accok$0 $ccseti$0 $ccsetd$0 $ccr$0 $vs$0 $V86_ccont$2 $V87_cca$2 $~flatten0$2 $OK$2 $V82_p1$2 $V83_p2$2 $V84_p3$2 $V85_p4$2) $OK$2)) diff --git a/bench/tasks/fast_2_e8_460_e8_1920_base_s_part.smt2 b/bench/tasks/fast_2_e8_460_e8_1920_base_s_part.smt2 new file mode 100755 index 000000000..3ccdf0bb5 --- /dev/null +++ b/bench/tasks/fast_2_e8_460_e8_1920_base_s_part.smt2 @@ -0,0 +1,49 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($igsw$0 Bool) ($ccd$0 Bool) ($cconoff$0 Bool) ($bpa$0 Bool) ($cccanc$0 Bool) ($battok$0 Bool) ($gearok$0 Bool) ($qfok$0 Bool) ($sdok$0 Bool) ($accok$0 Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($vs$0 Int) ($V86_ccont$0 Bool) ($V87_cca$0 Bool) ($~flatten0$0 Bool) ($OK$0 Bool) ($V82_p1$0 Bool) ($V83_p2$0 Bool) ($V84_p3$0 Bool) ($V85_p4$0 Bool) ($igsw$1 Bool) ($ccd$1 Bool) ($cconoff$1 Bool) ($bpa$1 Bool) ($cccanc$1 Bool) ($battok$1 Bool) ($gearok$1 Bool) ($qfok$1 Bool) ($sdok$1 Bool) ($accok$1 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($vs$1 Int) ($V86_ccont$1 Bool) ($V87_cca$1 Bool) ($~flatten0$1 Bool) ($OK$1 Bool) ($V82_p1$1 Bool) ($V83_p2$1 Bool) ($V84_p3$1 Bool) ($V85_p4$1 Bool)) Bool (and (= $OK$1 (and (and (and $V82_p1$1 $V83_p2$1) $V84_p3$1) $V85_p4$1)) (= $V82_p1$1 (ite (ite %init false (and $V87_cca$1 (not $V87_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true)) (= $V83_p2$1 (ite (not (and (and (and (and (and (and (and (and (and $V86_ccont$1 (not $bpa$1)) $battok$1) $gearok$1) $qfok$1) (ite %init false (and $sdok$0 $sdok$1))) (<= 35 $vs$1)) (<= $vs$1 200)) (ite %init false (and $~flatten0$0 $accok$1))) (not $cccanc$1))) (not $V87_cca$1) true)) (= $V84_p3$1 (ite (ite %init false (and $V86_ccont$1 (not $V86_ccont$0))) (and (and (not (ite %init false (and (and (and $igsw$1 (not $igsw$0)) (not $igsw$1)) $igsw$0))) (not $ccd$1)) (ite %init false (and $cconoff$1 (not $cconoff$0)))) true)) (= $V85_p4$1 (ite (ite %init false (and (and (and $igsw$1 (not $igsw$0)) (not $igsw$1)) $igsw$0)) (not $V87_cca$1) true)))) +; Universally quantified variables +(declare-fun $igsw$~1 () Bool) +(declare-fun $ccd$~1 () Bool) +(declare-fun $cconoff$~1 () Bool) +(declare-fun $bpa$~1 () Bool) +(declare-fun $cccanc$~1 () Bool) +(declare-fun $battok$~1 () Bool) +(declare-fun $gearok$~1 () Bool) +(declare-fun $qfok$~1 () Bool) +(declare-fun $sdok$~1 () Bool) +(declare-fun $accok$~1 () Bool) +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $vs$~1 () Int) +(declare-fun $V86_ccont$~1 () Bool) +(declare-fun $V87_cca$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V82_p1$~1 () Bool) +(declare-fun $V83_p2$~1 () Bool) +(declare-fun $V84_p3$~1 () Bool) +(declare-fun $V85_p4$~1 () Bool) +(declare-fun $igsw$0 () Bool) +(declare-fun $ccd$0 () Bool) +(declare-fun $cconoff$0 () Bool) +(declare-fun $bpa$0 () Bool) +(declare-fun $cccanc$0 () Bool) +(declare-fun $battok$0 () Bool) +(declare-fun $gearok$0 () Bool) +(declare-fun $qfok$0 () Bool) +(declare-fun $sdok$0 () Bool) +(declare-fun $accok$0 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $vs$0 () Int) +(declare-fun $V86_ccont$0 () Bool) +(declare-fun $V87_cca$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V82_p1$0 () Bool) +(declare-fun $V83_p2$0 () Bool) +(declare-fun $V84_p3$0 () Bool) +(declare-fun $V85_p4$0 () Bool) +(assert (T true $igsw$~1 $ccd$~1 $cconoff$~1 $bpa$~1 $cccanc$~1 $battok$~1 $gearok$~1 $qfok$~1 $sdok$~1 $accok$~1 $ccseti$~1 $ccsetd$~1 $ccr$~1 $vs$~1 $V86_ccont$~1 $V87_cca$~1 $~flatten0$~1 $OK$~1 $V82_p1$~1 $V83_p2$~1 $V84_p3$~1 $V85_p4$~1 $igsw$0 $ccd$0 $cconoff$0 $bpa$0 $cccanc$0 $battok$0 $gearok$0 $qfok$0 $sdok$0 $accok$0 $ccseti$0 $ccsetd$0 $ccr$0 $vs$0 $V86_ccont$0 $V87_cca$0 $~flatten0$0 $OK$0 $V82_p1$0 $V83_p2$0 $V84_p3$0 $V85_p4$0)) diff --git a/bench/tasks/fast_2_e8_460_e8_1920_base_t_part.smt2 b/bench/tasks/fast_2_e8_460_e8_1920_base_t_part.smt2 new file mode 100755 index 000000000..52e14fcad --- /dev/null +++ b/bench/tasks/fast_2_e8_460_e8_1920_base_t_part.smt2 @@ -0,0 +1,49 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($igsw$0 Bool) ($ccd$0 Bool) ($cconoff$0 Bool) ($bpa$0 Bool) ($cccanc$0 Bool) ($battok$0 Bool) ($gearok$0 Bool) ($qfok$0 Bool) ($sdok$0 Bool) ($accok$0 Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($vs$0 Int) ($V86_ccont$0 Bool) ($V87_cca$0 Bool) ($~flatten0$0 Bool) ($OK$0 Bool) ($V82_p1$0 Bool) ($V83_p2$0 Bool) ($V84_p3$0 Bool) ($V85_p4$0 Bool) ($igsw$1 Bool) ($ccd$1 Bool) ($cconoff$1 Bool) ($bpa$1 Bool) ($cccanc$1 Bool) ($battok$1 Bool) ($gearok$1 Bool) ($qfok$1 Bool) ($sdok$1 Bool) ($accok$1 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($vs$1 Int) ($V86_ccont$1 Bool) ($V87_cca$1 Bool) ($~flatten0$1 Bool) ($OK$1 Bool) ($V82_p1$1 Bool) ($V83_p2$1 Bool) ($V84_p3$1 Bool) ($V85_p4$1 Bool)) Bool (and (= $OK$1 (and (and (and $V82_p1$1 $V83_p2$1) $V84_p3$1) $V85_p4$1)) (= $V82_p1$1 (ite (ite %init false (and $V87_cca$1 (not $V87_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true)) (= $V83_p2$1 (ite (not (and (and (and (and (and (and (and (and (and $V86_ccont$1 (not $bpa$1)) $battok$1) $gearok$1) $qfok$1) (ite %init false (and $sdok$0 $sdok$1))) (<= 35 $vs$1)) (<= $vs$1 200)) (ite %init false (and $~flatten0$0 $accok$1))) (not $cccanc$1))) (not $V87_cca$1) true)) (= $V84_p3$1 (ite (ite %init false (and $V86_ccont$1 (not $V86_ccont$0))) (and (and (not (ite %init false (and (and (and $igsw$1 (not $igsw$0)) (not $igsw$1)) $igsw$0))) (not $ccd$1)) (ite %init false (and $cconoff$1 (not $cconoff$0)))) true)) (= $V85_p4$1 (ite (ite %init false (and (and (and $igsw$1 (not $igsw$0)) (not $igsw$1)) $igsw$0)) (not $V87_cca$1) true)))) +; Universally quantified variables +(declare-fun $igsw$~1 () Bool) +(declare-fun $ccd$~1 () Bool) +(declare-fun $cconoff$~1 () Bool) +(declare-fun $bpa$~1 () Bool) +(declare-fun $cccanc$~1 () Bool) +(declare-fun $battok$~1 () Bool) +(declare-fun $gearok$~1 () Bool) +(declare-fun $qfok$~1 () Bool) +(declare-fun $sdok$~1 () Bool) +(declare-fun $accok$~1 () Bool) +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $vs$~1 () Int) +(declare-fun $V86_ccont$~1 () Bool) +(declare-fun $V87_cca$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V82_p1$~1 () Bool) +(declare-fun $V83_p2$~1 () Bool) +(declare-fun $V84_p3$~1 () Bool) +(declare-fun $V85_p4$~1 () Bool) +(declare-fun $igsw$0 () Bool) +(declare-fun $ccd$0 () Bool) +(declare-fun $cconoff$0 () Bool) +(declare-fun $bpa$0 () Bool) +(declare-fun $cccanc$0 () Bool) +(declare-fun $battok$0 () Bool) +(declare-fun $gearok$0 () Bool) +(declare-fun $qfok$0 () Bool) +(declare-fun $sdok$0 () Bool) +(declare-fun $accok$0 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $vs$0 () Int) +(declare-fun $V86_ccont$2 () Bool) +(declare-fun $V87_cca$2 () Bool) +(declare-fun $~flatten0$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V82_p1$2 () Bool) +(declare-fun $V83_p2$2 () Bool) +(declare-fun $V84_p3$2 () Bool) +(declare-fun $V85_p4$2 () Bool) +(assert (and (T true $igsw$~1 $ccd$~1 $cconoff$~1 $bpa$~1 $cccanc$~1 $battok$~1 $gearok$~1 $qfok$~1 $sdok$~1 $accok$~1 $ccseti$~1 $ccsetd$~1 $ccr$~1 $vs$~1 $V86_ccont$~1 $V87_cca$~1 $~flatten0$~1 $OK$~1 $V82_p1$~1 $V83_p2$~1 $V84_p3$~1 $V85_p4$~1 $igsw$0 $ccd$0 $cconoff$0 $bpa$0 $cccanc$0 $battok$0 $gearok$0 $qfok$0 $sdok$0 $accok$0 $ccseti$0 $ccsetd$0 $ccr$0 $vs$0 $V86_ccont$2 $V87_cca$2 $~flatten0$2 $OK$2 $V82_p1$2 $V83_p2$2 $V84_p3$2 $V85_p4$2) $OK$2)) diff --git a/bench/tasks/fast_2_e8_460_e8_1920_extend_s_part.smt2 b/bench/tasks/fast_2_e8_460_e8_1920_extend_s_part.smt2 new file mode 100755 index 000000000..5e8ee72f3 --- /dev/null +++ b/bench/tasks/fast_2_e8_460_e8_1920_extend_s_part.smt2 @@ -0,0 +1,50 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($igsw$0 Bool) ($ccd$0 Bool) ($cconoff$0 Bool) ($bpa$0 Bool) ($cccanc$0 Bool) ($battok$0 Bool) ($gearok$0 Bool) ($qfok$0 Bool) ($sdok$0 Bool) ($accok$0 Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($vs$0 Int) ($V86_ccont$0 Bool) ($V87_cca$0 Bool) ($~flatten0$0 Bool) ($OK$0 Bool) ($V82_p1$0 Bool) ($V83_p2$0 Bool) ($V84_p3$0 Bool) ($V85_p4$0 Bool) ($igsw$1 Bool) ($ccd$1 Bool) ($cconoff$1 Bool) ($bpa$1 Bool) ($cccanc$1 Bool) ($battok$1 Bool) ($gearok$1 Bool) ($qfok$1 Bool) ($sdok$1 Bool) ($accok$1 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($vs$1 Int) ($V86_ccont$1 Bool) ($V87_cca$1 Bool) ($~flatten0$1 Bool) ($OK$1 Bool) ($V82_p1$1 Bool) ($V83_p2$1 Bool) ($V84_p3$1 Bool) ($V85_p4$1 Bool)) Bool (and (= $OK$1 (and (and (and $V82_p1$1 $V83_p2$1) $V84_p3$1) $V85_p4$1)) (= $V82_p1$1 (ite (ite %init false (and $V87_cca$1 (not $V87_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true)) (= $V83_p2$1 (ite (not (and (and (and (and (and (and (and (and (and $V86_ccont$1 (not $bpa$1)) $battok$1) $gearok$1) $qfok$1) (ite %init false (and $sdok$0 $sdok$1))) (<= 35 $vs$1)) (<= $vs$1 200)) (ite %init false (and $~flatten0$0 $accok$1))) (not $cccanc$1))) (not $V87_cca$1) true)) (= $V84_p3$1 (ite (ite %init false (and $V86_ccont$1 (not $V86_ccont$0))) (and (and (not (ite %init false (and (and (and $igsw$1 (not $igsw$0)) (not $igsw$1)) $igsw$0))) (not $ccd$1)) (ite %init false (and $cconoff$1 (not $cconoff$0)))) true)) (= $V85_p4$1 (ite (ite %init false (and (and (and $igsw$1 (not $igsw$0)) (not $igsw$1)) $igsw$0)) (not $V87_cca$1) true)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $igsw$~1 () Bool) +(declare-fun $ccd$~1 () Bool) +(declare-fun $cconoff$~1 () Bool) +(declare-fun $bpa$~1 () Bool) +(declare-fun $cccanc$~1 () Bool) +(declare-fun $battok$~1 () Bool) +(declare-fun $gearok$~1 () Bool) +(declare-fun $qfok$~1 () Bool) +(declare-fun $sdok$~1 () Bool) +(declare-fun $accok$~1 () Bool) +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $vs$~1 () Int) +(declare-fun $V86_ccont$~1 () Bool) +(declare-fun $V87_cca$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V82_p1$~1 () Bool) +(declare-fun $V83_p2$~1 () Bool) +(declare-fun $V84_p3$~1 () Bool) +(declare-fun $V85_p4$~1 () Bool) +(declare-fun $igsw$0 () Bool) +(declare-fun $ccd$0 () Bool) +(declare-fun $cconoff$0 () Bool) +(declare-fun $bpa$0 () Bool) +(declare-fun $cccanc$0 () Bool) +(declare-fun $battok$0 () Bool) +(declare-fun $gearok$0 () Bool) +(declare-fun $qfok$0 () Bool) +(declare-fun $sdok$0 () Bool) +(declare-fun $accok$0 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $vs$0 () Int) +(declare-fun $V86_ccont$0 () Bool) +(declare-fun $V87_cca$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V82_p1$0 () Bool) +(declare-fun $V83_p2$0 () Bool) +(declare-fun $V84_p3$0 () Bool) +(declare-fun $V85_p4$0 () Bool) +(assert (T %init $igsw$~1 $ccd$~1 $cconoff$~1 $bpa$~1 $cccanc$~1 $battok$~1 $gearok$~1 $qfok$~1 $sdok$~1 $accok$~1 $ccseti$~1 $ccsetd$~1 $ccr$~1 $vs$~1 $V86_ccont$~1 $V87_cca$~1 $~flatten0$~1 $OK$~1 $V82_p1$~1 $V83_p2$~1 $V84_p3$~1 $V85_p4$~1 $igsw$0 $ccd$0 $cconoff$0 $bpa$0 $cccanc$0 $battok$0 $gearok$0 $qfok$0 $sdok$0 $accok$0 $ccseti$0 $ccsetd$0 $ccr$0 $vs$0 $V86_ccont$0 $V87_cca$0 $~flatten0$0 $OK$0 $V82_p1$0 $V83_p2$0 $V84_p3$0 $V85_p4$0)) diff --git a/bench/tasks/fast_2_e8_460_e8_1920_extend_t_part.smt2 b/bench/tasks/fast_2_e8_460_e8_1920_extend_t_part.smt2 new file mode 100755 index 000000000..f01f7f05e --- /dev/null +++ b/bench/tasks/fast_2_e8_460_e8_1920_extend_t_part.smt2 @@ -0,0 +1,50 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($igsw$0 Bool) ($ccd$0 Bool) ($cconoff$0 Bool) ($bpa$0 Bool) ($cccanc$0 Bool) ($battok$0 Bool) ($gearok$0 Bool) ($qfok$0 Bool) ($sdok$0 Bool) ($accok$0 Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($vs$0 Int) ($V86_ccont$0 Bool) ($V87_cca$0 Bool) ($~flatten0$0 Bool) ($OK$0 Bool) ($V82_p1$0 Bool) ($V83_p2$0 Bool) ($V84_p3$0 Bool) ($V85_p4$0 Bool) ($igsw$1 Bool) ($ccd$1 Bool) ($cconoff$1 Bool) ($bpa$1 Bool) ($cccanc$1 Bool) ($battok$1 Bool) ($gearok$1 Bool) ($qfok$1 Bool) ($sdok$1 Bool) ($accok$1 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($vs$1 Int) ($V86_ccont$1 Bool) ($V87_cca$1 Bool) ($~flatten0$1 Bool) ($OK$1 Bool) ($V82_p1$1 Bool) ($V83_p2$1 Bool) ($V84_p3$1 Bool) ($V85_p4$1 Bool)) Bool (and (= $OK$1 (and (and (and $V82_p1$1 $V83_p2$1) $V84_p3$1) $V85_p4$1)) (= $V82_p1$1 (ite (ite %init false (and $V87_cca$1 (not $V87_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true)) (= $V83_p2$1 (ite (not (and (and (and (and (and (and (and (and (and $V86_ccont$1 (not $bpa$1)) $battok$1) $gearok$1) $qfok$1) (ite %init false (and $sdok$0 $sdok$1))) (<= 35 $vs$1)) (<= $vs$1 200)) (ite %init false (and $~flatten0$0 $accok$1))) (not $cccanc$1))) (not $V87_cca$1) true)) (= $V84_p3$1 (ite (ite %init false (and $V86_ccont$1 (not $V86_ccont$0))) (and (and (not (ite %init false (and (and (and $igsw$1 (not $igsw$0)) (not $igsw$1)) $igsw$0))) (not $ccd$1)) (ite %init false (and $cconoff$1 (not $cconoff$0)))) true)) (= $V85_p4$1 (ite (ite %init false (and (and (and $igsw$1 (not $igsw$0)) (not $igsw$1)) $igsw$0)) (not $V87_cca$1) true)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $igsw$~1 () Bool) +(declare-fun $ccd$~1 () Bool) +(declare-fun $cconoff$~1 () Bool) +(declare-fun $bpa$~1 () Bool) +(declare-fun $cccanc$~1 () Bool) +(declare-fun $battok$~1 () Bool) +(declare-fun $gearok$~1 () Bool) +(declare-fun $qfok$~1 () Bool) +(declare-fun $sdok$~1 () Bool) +(declare-fun $accok$~1 () Bool) +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $vs$~1 () Int) +(declare-fun $V86_ccont$~1 () Bool) +(declare-fun $V87_cca$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V82_p1$~1 () Bool) +(declare-fun $V83_p2$~1 () Bool) +(declare-fun $V84_p3$~1 () Bool) +(declare-fun $V85_p4$~1 () Bool) +(declare-fun $igsw$0 () Bool) +(declare-fun $ccd$0 () Bool) +(declare-fun $cconoff$0 () Bool) +(declare-fun $bpa$0 () Bool) +(declare-fun $cccanc$0 () Bool) +(declare-fun $battok$0 () Bool) +(declare-fun $gearok$0 () Bool) +(declare-fun $qfok$0 () Bool) +(declare-fun $sdok$0 () Bool) +(declare-fun $accok$0 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $vs$0 () Int) +(declare-fun $V86_ccont$2 () Bool) +(declare-fun $V87_cca$2 () Bool) +(declare-fun $~flatten0$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V82_p1$2 () Bool) +(declare-fun $V83_p2$2 () Bool) +(declare-fun $V84_p3$2 () Bool) +(declare-fun $V85_p4$2 () Bool) +(assert (and (T %init $igsw$~1 $ccd$~1 $cconoff$~1 $bpa$~1 $cccanc$~1 $battok$~1 $gearok$~1 $qfok$~1 $sdok$~1 $accok$~1 $ccseti$~1 $ccsetd$~1 $ccr$~1 $vs$~1 $V86_ccont$~1 $V87_cca$~1 $~flatten0$~1 $OK$~1 $V82_p1$~1 $V83_p2$~1 $V84_p3$~1 $V85_p4$~1 $igsw$0 $ccd$0 $cconoff$0 $bpa$0 $cccanc$0 $battok$0 $gearok$0 $qfok$0 $sdok$0 $accok$0 $ccseti$0 $ccsetd$0 $ccr$0 $vs$0 $V86_ccont$2 $V87_cca$2 $~flatten0$2 $OK$2 $V82_p1$2 $V83_p2$2 $V84_p3$2 $V85_p4$2) $OK$2)) diff --git a/bench/tasks/fast_2_e8_460_extend_s_part.smt2 b/bench/tasks/fast_2_e8_460_extend_s_part.smt2 new file mode 100755 index 000000000..5e8ee72f3 --- /dev/null +++ b/bench/tasks/fast_2_e8_460_extend_s_part.smt2 @@ -0,0 +1,50 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($igsw$0 Bool) ($ccd$0 Bool) ($cconoff$0 Bool) ($bpa$0 Bool) ($cccanc$0 Bool) ($battok$0 Bool) ($gearok$0 Bool) ($qfok$0 Bool) ($sdok$0 Bool) ($accok$0 Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($vs$0 Int) ($V86_ccont$0 Bool) ($V87_cca$0 Bool) ($~flatten0$0 Bool) ($OK$0 Bool) ($V82_p1$0 Bool) ($V83_p2$0 Bool) ($V84_p3$0 Bool) ($V85_p4$0 Bool) ($igsw$1 Bool) ($ccd$1 Bool) ($cconoff$1 Bool) ($bpa$1 Bool) ($cccanc$1 Bool) ($battok$1 Bool) ($gearok$1 Bool) ($qfok$1 Bool) ($sdok$1 Bool) ($accok$1 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($vs$1 Int) ($V86_ccont$1 Bool) ($V87_cca$1 Bool) ($~flatten0$1 Bool) ($OK$1 Bool) ($V82_p1$1 Bool) ($V83_p2$1 Bool) ($V84_p3$1 Bool) ($V85_p4$1 Bool)) Bool (and (= $OK$1 (and (and (and $V82_p1$1 $V83_p2$1) $V84_p3$1) $V85_p4$1)) (= $V82_p1$1 (ite (ite %init false (and $V87_cca$1 (not $V87_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true)) (= $V83_p2$1 (ite (not (and (and (and (and (and (and (and (and (and $V86_ccont$1 (not $bpa$1)) $battok$1) $gearok$1) $qfok$1) (ite %init false (and $sdok$0 $sdok$1))) (<= 35 $vs$1)) (<= $vs$1 200)) (ite %init false (and $~flatten0$0 $accok$1))) (not $cccanc$1))) (not $V87_cca$1) true)) (= $V84_p3$1 (ite (ite %init false (and $V86_ccont$1 (not $V86_ccont$0))) (and (and (not (ite %init false (and (and (and $igsw$1 (not $igsw$0)) (not $igsw$1)) $igsw$0))) (not $ccd$1)) (ite %init false (and $cconoff$1 (not $cconoff$0)))) true)) (= $V85_p4$1 (ite (ite %init false (and (and (and $igsw$1 (not $igsw$0)) (not $igsw$1)) $igsw$0)) (not $V87_cca$1) true)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $igsw$~1 () Bool) +(declare-fun $ccd$~1 () Bool) +(declare-fun $cconoff$~1 () Bool) +(declare-fun $bpa$~1 () Bool) +(declare-fun $cccanc$~1 () Bool) +(declare-fun $battok$~1 () Bool) +(declare-fun $gearok$~1 () Bool) +(declare-fun $qfok$~1 () Bool) +(declare-fun $sdok$~1 () Bool) +(declare-fun $accok$~1 () Bool) +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $vs$~1 () Int) +(declare-fun $V86_ccont$~1 () Bool) +(declare-fun $V87_cca$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V82_p1$~1 () Bool) +(declare-fun $V83_p2$~1 () Bool) +(declare-fun $V84_p3$~1 () Bool) +(declare-fun $V85_p4$~1 () Bool) +(declare-fun $igsw$0 () Bool) +(declare-fun $ccd$0 () Bool) +(declare-fun $cconoff$0 () Bool) +(declare-fun $bpa$0 () Bool) +(declare-fun $cccanc$0 () Bool) +(declare-fun $battok$0 () Bool) +(declare-fun $gearok$0 () Bool) +(declare-fun $qfok$0 () Bool) +(declare-fun $sdok$0 () Bool) +(declare-fun $accok$0 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $vs$0 () Int) +(declare-fun $V86_ccont$0 () Bool) +(declare-fun $V87_cca$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V82_p1$0 () Bool) +(declare-fun $V83_p2$0 () Bool) +(declare-fun $V84_p3$0 () Bool) +(declare-fun $V85_p4$0 () Bool) +(assert (T %init $igsw$~1 $ccd$~1 $cconoff$~1 $bpa$~1 $cccanc$~1 $battok$~1 $gearok$~1 $qfok$~1 $sdok$~1 $accok$~1 $ccseti$~1 $ccsetd$~1 $ccr$~1 $vs$~1 $V86_ccont$~1 $V87_cca$~1 $~flatten0$~1 $OK$~1 $V82_p1$~1 $V83_p2$~1 $V84_p3$~1 $V85_p4$~1 $igsw$0 $ccd$0 $cconoff$0 $bpa$0 $cccanc$0 $battok$0 $gearok$0 $qfok$0 $sdok$0 $accok$0 $ccseti$0 $ccsetd$0 $ccr$0 $vs$0 $V86_ccont$0 $V87_cca$0 $~flatten0$0 $OK$0 $V82_p1$0 $V83_p2$0 $V84_p3$0 $V85_p4$0)) diff --git a/bench/tasks/fast_2_e8_460_extend_t_part.smt2 b/bench/tasks/fast_2_e8_460_extend_t_part.smt2 new file mode 100755 index 000000000..f01f7f05e --- /dev/null +++ b/bench/tasks/fast_2_e8_460_extend_t_part.smt2 @@ -0,0 +1,50 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($igsw$0 Bool) ($ccd$0 Bool) ($cconoff$0 Bool) ($bpa$0 Bool) ($cccanc$0 Bool) ($battok$0 Bool) ($gearok$0 Bool) ($qfok$0 Bool) ($sdok$0 Bool) ($accok$0 Bool) ($ccseti$0 Bool) ($ccsetd$0 Bool) ($ccr$0 Bool) ($vs$0 Int) ($V86_ccont$0 Bool) ($V87_cca$0 Bool) ($~flatten0$0 Bool) ($OK$0 Bool) ($V82_p1$0 Bool) ($V83_p2$0 Bool) ($V84_p3$0 Bool) ($V85_p4$0 Bool) ($igsw$1 Bool) ($ccd$1 Bool) ($cconoff$1 Bool) ($bpa$1 Bool) ($cccanc$1 Bool) ($battok$1 Bool) ($gearok$1 Bool) ($qfok$1 Bool) ($sdok$1 Bool) ($accok$1 Bool) ($ccseti$1 Bool) ($ccsetd$1 Bool) ($ccr$1 Bool) ($vs$1 Int) ($V86_ccont$1 Bool) ($V87_cca$1 Bool) ($~flatten0$1 Bool) ($OK$1 Bool) ($V82_p1$1 Bool) ($V83_p2$1 Bool) ($V84_p3$1 Bool) ($V85_p4$1 Bool)) Bool (and (= $OK$1 (and (and (and $V82_p1$1 $V83_p2$1) $V84_p3$1) $V85_p4$1)) (= $V82_p1$1 (ite (ite %init false (and $V87_cca$1 (not $V87_cca$0))) (or (or (ite %init false (and $ccseti$1 (not $ccseti$0))) (ite %init false (and $ccsetd$1 (not $ccsetd$0)))) (ite %init false (and $ccr$1 (not $ccr$0)))) true)) (= $V83_p2$1 (ite (not (and (and (and (and (and (and (and (and (and $V86_ccont$1 (not $bpa$1)) $battok$1) $gearok$1) $qfok$1) (ite %init false (and $sdok$0 $sdok$1))) (<= 35 $vs$1)) (<= $vs$1 200)) (ite %init false (and $~flatten0$0 $accok$1))) (not $cccanc$1))) (not $V87_cca$1) true)) (= $V84_p3$1 (ite (ite %init false (and $V86_ccont$1 (not $V86_ccont$0))) (and (and (not (ite %init false (and (and (and $igsw$1 (not $igsw$0)) (not $igsw$1)) $igsw$0))) (not $ccd$1)) (ite %init false (and $cconoff$1 (not $cconoff$0)))) true)) (= $V85_p4$1 (ite (ite %init false (and (and (and $igsw$1 (not $igsw$0)) (not $igsw$1)) $igsw$0)) (not $V87_cca$1) true)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $igsw$~1 () Bool) +(declare-fun $ccd$~1 () Bool) +(declare-fun $cconoff$~1 () Bool) +(declare-fun $bpa$~1 () Bool) +(declare-fun $cccanc$~1 () Bool) +(declare-fun $battok$~1 () Bool) +(declare-fun $gearok$~1 () Bool) +(declare-fun $qfok$~1 () Bool) +(declare-fun $sdok$~1 () Bool) +(declare-fun $accok$~1 () Bool) +(declare-fun $ccseti$~1 () Bool) +(declare-fun $ccsetd$~1 () Bool) +(declare-fun $ccr$~1 () Bool) +(declare-fun $vs$~1 () Int) +(declare-fun $V86_ccont$~1 () Bool) +(declare-fun $V87_cca$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V82_p1$~1 () Bool) +(declare-fun $V83_p2$~1 () Bool) +(declare-fun $V84_p3$~1 () Bool) +(declare-fun $V85_p4$~1 () Bool) +(declare-fun $igsw$0 () Bool) +(declare-fun $ccd$0 () Bool) +(declare-fun $cconoff$0 () Bool) +(declare-fun $bpa$0 () Bool) +(declare-fun $cccanc$0 () Bool) +(declare-fun $battok$0 () Bool) +(declare-fun $gearok$0 () Bool) +(declare-fun $qfok$0 () Bool) +(declare-fun $sdok$0 () Bool) +(declare-fun $accok$0 () Bool) +(declare-fun $ccseti$0 () Bool) +(declare-fun $ccsetd$0 () Bool) +(declare-fun $ccr$0 () Bool) +(declare-fun $vs$0 () Int) +(declare-fun $V86_ccont$2 () Bool) +(declare-fun $V87_cca$2 () Bool) +(declare-fun $~flatten0$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V82_p1$2 () Bool) +(declare-fun $V83_p2$2 () Bool) +(declare-fun $V84_p3$2 () Bool) +(declare-fun $V85_p4$2 () Bool) +(assert (and (T %init $igsw$~1 $ccd$~1 $cconoff$~1 $bpa$~1 $cccanc$~1 $battok$~1 $gearok$~1 $qfok$~1 $sdok$~1 $accok$~1 $ccseti$~1 $ccsetd$~1 $ccr$~1 $vs$~1 $V86_ccont$~1 $V87_cca$~1 $~flatten0$~1 $OK$~1 $V82_p1$~1 $V83_p2$~1 $V84_p3$~1 $V85_p4$~1 $igsw$0 $ccd$0 $cconoff$0 $bpa$0 $cccanc$0 $battok$0 $gearok$0 $qfok$0 $sdok$0 $accok$0 $ccseti$0 $ccsetd$0 $ccr$0 $vs$0 $V86_ccont$2 $V87_cca$2 $~flatten0$2 $OK$2 $V82_p1$2 $V83_p2$2 $V84_p3$2 $V85_p4$2) $OK$2)) diff --git a/bench/tasks/hysteresis_1_base_s_part.smt2 b/bench/tasks/hysteresis_1_base_s_part.smt2 new file mode 100755 index 000000000..b3917e712 --- /dev/null +++ b/bench/tasks/hysteresis_1_base_s_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/hysteresis_1_base_t_part.smt2 b/bench/tasks/hysteresis_1_base_t_part.smt2 new file mode 100755 index 000000000..b797196f0 --- /dev/null +++ b/bench/tasks/hysteresis_1_base_t_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/hysteresis_1_extend_s_part.smt2 b/bench/tasks/hysteresis_1_extend_s_part.smt2 new file mode 100755 index 000000000..0399476f3 --- /dev/null +++ b/bench/tasks/hysteresis_1_extend_s_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/hysteresis_1_extend_t_part.smt2 b/bench/tasks/hysteresis_1_extend_t_part.smt2 new file mode 100755 index 000000000..2ecdd03ce --- /dev/null +++ b/bench/tasks/hysteresis_1_extend_t_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/hysteresis_2_base_s_part.smt2 b/bench/tasks/hysteresis_2_base_s_part.smt2 new file mode 100755 index 000000000..5109e5383 --- /dev/null +++ b/bench/tasks/hysteresis_2_base_s_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (not (and $V19_late$1 $V20_early$0))))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/hysteresis_2_base_t_part.smt2 b/bench/tasks/hysteresis_2_base_t_part.smt2 new file mode 100755 index 000000000..dbd3d0c79 --- /dev/null +++ b/bench/tasks/hysteresis_2_base_t_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (not (and $V19_late$1 $V20_early$0))))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/hysteresis_2_extend_s_part.smt2 b/bench/tasks/hysteresis_2_extend_s_part.smt2 new file mode 100755 index 000000000..8eaaa8f75 --- /dev/null +++ b/bench/tasks/hysteresis_2_extend_s_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (not (and $V19_late$1 $V20_early$0))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/hysteresis_2_extend_t_part.smt2 b/bench/tasks/hysteresis_2_extend_t_part.smt2 new file mode 100755 index 000000000..0e90188c0 --- /dev/null +++ b/bench/tasks/hysteresis_2_extend_t_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (not (and $V19_late$1 $V20_early$0))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/hysteresis_3_base_s_part.smt2 b/bench/tasks/hysteresis_3_base_s_part.smt2 new file mode 100755 index 000000000..fc1afa28d --- /dev/null +++ b/bench/tasks/hysteresis_3_base_s_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (not (and $V19_late$0 $V20_early$1))))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/hysteresis_3_base_t_part.smt2 b/bench/tasks/hysteresis_3_base_t_part.smt2 new file mode 100755 index 000000000..9270b666a --- /dev/null +++ b/bench/tasks/hysteresis_3_base_t_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (not (and $V19_late$0 $V20_early$1))))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/hysteresis_3_extend_s_part.smt2 b/bench/tasks/hysteresis_3_extend_s_part.smt2 new file mode 100755 index 000000000..c5b622fd3 --- /dev/null +++ b/bench/tasks/hysteresis_3_extend_s_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (not (and $V19_late$0 $V20_early$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/hysteresis_3_extend_t_part.smt2 b/bench/tasks/hysteresis_3_extend_t_part.smt2 new file mode 100755 index 000000000..cbd3049e1 --- /dev/null +++ b/bench/tasks/hysteresis_3_extend_t_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (ite %init true (not (and $V19_late$0 $V20_early$1))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/hysteresis_all_base_s_part.smt2 b/bench/tasks/hysteresis_all_base_s_part.smt2 new file mode 100755 index 000000000..2a728e565 --- /dev/null +++ b/bench/tasks/hysteresis_all_base_s_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (and (and (not (and $V19_late$1 $V20_early$1)) (ite %init true (not (and $V19_late$1 $V20_early$0)))) (ite %init true (not (and $V19_late$0 $V20_early$1)))))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/hysteresis_all_base_t_part.smt2 b/bench/tasks/hysteresis_all_base_t_part.smt2 new file mode 100755 index 000000000..622f32f8b --- /dev/null +++ b/bench/tasks/hysteresis_all_base_t_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (and (and (not (and $V19_late$1 $V20_early$1)) (ite %init true (not (and $V19_late$1 $V20_early$0)))) (ite %init true (not (and $V19_late$0 $V20_early$1)))))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/hysteresis_all_extend_s_part.smt2 b/bench/tasks/hysteresis_all_extend_s_part.smt2 new file mode 100755 index 000000000..ef145c1d7 --- /dev/null +++ b/bench/tasks/hysteresis_all_extend_s_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (and (and (not (and $V19_late$1 $V20_early$1)) (ite %init true (not (and $V19_late$1 $V20_early$0)))) (ite %init true (not (and $V19_late$0 $V20_early$1)))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/hysteresis_all_extend_t_part.smt2 b/bench/tasks/hysteresis_all_extend_t_part.smt2 new file mode 100755 index 000000000..cbd0baddb --- /dev/null +++ b/bench/tasks/hysteresis_all_extend_t_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (and (and (not (and $V19_late$1 $V20_early$1)) (ite %init true (not (and $V19_late$1 $V20_early$0)))) (ite %init true (not (and $V19_late$0 $V20_early$1)))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/newexample_base1_s_part.smt2 b/bench/tasks/newexample_base1_s_part.smt2 new file mode 100755 index 000000000..0a0f2471e --- /dev/null +++ b/bench/tasks/newexample_base1_s_part.smt2 @@ -0,0 +1,25 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($x$0 Int) ($state$0 Int) ($bias$0 Int) ($guarantee1$0 Bool) ($guarantee2$0 Bool) ($guarantee3$0 Bool) ($guarantee4$0 Bool) ($guarantee5$0 Bool) ($guarantee_all$0 Bool) ($bias_max$0 Bool) ($x$1 Int) ($state$1 Int) ($bias$1 Int) ($guarantee1$1 Bool) ($guarantee2$1 Bool) ($guarantee3$1 Bool) ($guarantee4$1 Bool) ($guarantee5$1 Bool) ($guarantee_all$1 Bool) ($bias_max$1 Bool)) Bool (and (= $bias$1 (ite %init 0 (+ (ite (= $x$1 1) 1 (- 0 1)) $bias$0))) (= $bias_max$1 (ite %init false (or (or (>= $bias$1 2) (<= $bias$1 (- 0 2))) $bias_max$0))) (= $guarantee1$1 (=> (= $state$1 0) (= $bias$1 0))) (= $guarantee2$1 (ite %init true (=> (and (= $state$0 0) (= $x$1 1)) (= $state$1 2)))) (= $guarantee3$1 (ite %init true (=> (and (= $state$0 0) (= $x$1 0)) (= $state$1 1)))) (= $guarantee4$1 (=> $bias_max$1 (= $state$1 3))) (= $guarantee5$1 (or (or (or (= $state$1 0) (= $state$1 1)) (= $state$1 2)) (= $state$1 3))) (= $guarantee_all$1 (and (and (and (and $guarantee1$1 $guarantee2$1) $guarantee3$1) $guarantee4$1) $guarantee5$1)) (or (= $x$1 0) (= $x$1 1)))) +; Universally quantified variables +(declare-fun $x$~1 () Int) +(declare-fun $state$~1 () Int) +(declare-fun $bias$~1 () Int) +(declare-fun $guarantee1$~1 () Bool) +(declare-fun $guarantee2$~1 () Bool) +(declare-fun $guarantee3$~1 () Bool) +(declare-fun $guarantee4$~1 () Bool) +(declare-fun $guarantee5$~1 () Bool) +(declare-fun $guarantee_all$~1 () Bool) +(declare-fun $bias_max$~1 () Bool) +(declare-fun $x$0 () Int) +(declare-fun $state$0 () Int) +(declare-fun $bias$0 () Int) +(declare-fun $guarantee1$0 () Bool) +(declare-fun $guarantee2$0 () Bool) +(declare-fun $guarantee3$0 () Bool) +(declare-fun $guarantee4$0 () Bool) +(declare-fun $guarantee5$0 () Bool) +(declare-fun $guarantee_all$0 () Bool) +(declare-fun $bias_max$0 () Bool) +(assert (T true $x$~1 $state$~1 $bias$~1 $guarantee1$~1 $guarantee2$~1 $guarantee3$~1 $guarantee4$~1 $guarantee5$~1 $guarantee_all$~1 $bias_max$~1 $x$0 $state$0 $bias$0 $guarantee1$0 $guarantee2$0 $guarantee3$0 $guarantee4$0 $guarantee5$0 $guarantee_all$0 $bias_max$0)) diff --git a/bench/tasks/newexample_base1_t_part.smt2 b/bench/tasks/newexample_base1_t_part.smt2 new file mode 100755 index 000000000..c591e5db2 --- /dev/null +++ b/bench/tasks/newexample_base1_t_part.smt2 @@ -0,0 +1,25 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($x$0 Int) ($state$0 Int) ($bias$0 Int) ($guarantee1$0 Bool) ($guarantee2$0 Bool) ($guarantee3$0 Bool) ($guarantee4$0 Bool) ($guarantee5$0 Bool) ($guarantee_all$0 Bool) ($bias_max$0 Bool) ($x$1 Int) ($state$1 Int) ($bias$1 Int) ($guarantee1$1 Bool) ($guarantee2$1 Bool) ($guarantee3$1 Bool) ($guarantee4$1 Bool) ($guarantee5$1 Bool) ($guarantee_all$1 Bool) ($bias_max$1 Bool)) Bool (and (= $bias$1 (ite %init 0 (+ (ite (= $x$1 1) 1 (- 0 1)) $bias$0))) (= $bias_max$1 (ite %init false (or (or (>= $bias$1 2) (<= $bias$1 (- 0 2))) $bias_max$0))) (= $guarantee1$1 (=> (= $state$1 0) (= $bias$1 0))) (= $guarantee2$1 (ite %init true (=> (and (= $state$0 0) (= $x$1 1)) (= $state$1 2)))) (= $guarantee3$1 (ite %init true (=> (and (= $state$0 0) (= $x$1 0)) (= $state$1 1)))) (= $guarantee4$1 (=> $bias_max$1 (= $state$1 3))) (= $guarantee5$1 (or (or (or (= $state$1 0) (= $state$1 1)) (= $state$1 2)) (= $state$1 3))) (= $guarantee_all$1 (and (and (and (and $guarantee1$1 $guarantee2$1) $guarantee3$1) $guarantee4$1) $guarantee5$1)) (or (= $x$1 0) (= $x$1 1)))) +; Universally quantified variables +(declare-fun $x$~1 () Int) +(declare-fun $state$~1 () Int) +(declare-fun $bias$~1 () Int) +(declare-fun $guarantee1$~1 () Bool) +(declare-fun $guarantee2$~1 () Bool) +(declare-fun $guarantee3$~1 () Bool) +(declare-fun $guarantee4$~1 () Bool) +(declare-fun $guarantee5$~1 () Bool) +(declare-fun $guarantee_all$~1 () Bool) +(declare-fun $bias_max$~1 () Bool) +(declare-fun $x$0 () Int) +(declare-fun $state$2 () Int) +(declare-fun $bias$2 () Int) +(declare-fun $guarantee1$2 () Bool) +(declare-fun $guarantee2$2 () Bool) +(declare-fun $guarantee3$2 () Bool) +(declare-fun $guarantee4$2 () Bool) +(declare-fun $guarantee5$2 () Bool) +(declare-fun $guarantee_all$2 () Bool) +(declare-fun $bias_max$2 () Bool) +(assert (and (T true $x$~1 $state$~1 $bias$~1 $guarantee1$~1 $guarantee2$~1 $guarantee3$~1 $guarantee4$~1 $guarantee5$~1 $guarantee_all$~1 $bias_max$~1 $x$0 $state$2 $bias$2 $guarantee1$2 $guarantee2$2 $guarantee3$2 $guarantee4$2 $guarantee5$2 $guarantee_all$2 $bias_max$2) $guarantee_all$2)) diff --git a/bench/tasks/newexample_base2_s_part.smt2 b/bench/tasks/newexample_base2_s_part.smt2 new file mode 100755 index 000000000..5cb956056 --- /dev/null +++ b/bench/tasks/newexample_base2_s_part.smt2 @@ -0,0 +1,37 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($x$0 Int) ($state$0 Int) ($bias$0 Int) ($guarantee1$0 Bool) ($guarantee2$0 Bool) ($guarantee3$0 Bool) ($guarantee4$0 Bool) ($guarantee5$0 Bool) ($guarantee_all$0 Bool) ($bias_max$0 Bool) ($x$1 Int) ($state$1 Int) ($bias$1 Int) ($guarantee1$1 Bool) ($guarantee2$1 Bool) ($guarantee3$1 Bool) ($guarantee4$1 Bool) ($guarantee5$1 Bool) ($guarantee_all$1 Bool) ($bias_max$1 Bool)) Bool (and (= $bias$1 (ite %init 0 (+ (ite (= $x$1 1) 1 (- 0 1)) $bias$0))) (= $bias_max$1 (ite %init false (or (or (>= $bias$1 2) (<= $bias$1 (- 0 2))) $bias_max$0))) (= $guarantee1$1 (=> (= $state$1 0) (= $bias$1 0))) (= $guarantee2$1 (ite %init true (=> (and (= $state$0 0) (= $x$1 1)) (= $state$1 2)))) (= $guarantee3$1 (ite %init true (=> (and (= $state$0 0) (= $x$1 0)) (= $state$1 1)))) (= $guarantee4$1 (=> $bias_max$1 (= $state$1 3))) (= $guarantee5$1 (or (or (or (= $state$1 0) (= $state$1 1)) (= $state$1 2)) (= $state$1 3))) (= $guarantee_all$1 (and (and (and (and $guarantee1$1 $guarantee2$1) $guarantee3$1) $guarantee4$1) $guarantee5$1)) (or (= $x$1 0) (= $x$1 1)))) +; Universally quantified variables +(declare-fun $x$~1 () Int) +(declare-fun $state$~1 () Int) +(declare-fun $bias$~1 () Int) +(declare-fun $guarantee1$~1 () Bool) +(declare-fun $guarantee2$~1 () Bool) +(declare-fun $guarantee3$~1 () Bool) +(declare-fun $guarantee4$~1 () Bool) +(declare-fun $guarantee5$~1 () Bool) +(declare-fun $guarantee_all$~1 () Bool) +(declare-fun $bias_max$~1 () Bool) +(declare-fun $x$0 () Int) +(declare-fun $state$0 () Int) +(declare-fun $bias$0 () Int) +(declare-fun $guarantee1$0 () Bool) +(declare-fun $guarantee2$0 () Bool) +(declare-fun $guarantee3$0 () Bool) +(declare-fun $guarantee4$0 () Bool) +(declare-fun $guarantee5$0 () Bool) +(declare-fun $guarantee_all$0 () Bool) +(declare-fun $bias_max$0 () Bool) +(declare-fun $x$1 () Int) +(declare-fun $state$1 () Int) +(declare-fun $bias$1 () Int) +(declare-fun $guarantee1$1 () Bool) +(declare-fun $guarantee2$1 () Bool) +(declare-fun $guarantee3$1 () Bool) +(declare-fun $guarantee4$1 () Bool) +(declare-fun $guarantee5$1 () Bool) +(declare-fun $guarantee_all$1 () Bool) +(declare-fun $bias_max$1 () Bool) +(assert (T true $x$~1 $state$~1 $bias$~1 $guarantee1$~1 $guarantee2$~1 $guarantee3$~1 $guarantee4$~1 $guarantee5$~1 $guarantee_all$~1 $bias_max$~1 $x$0 $state$0 $bias$0 $guarantee1$0 $guarantee2$0 $guarantee3$0 $guarantee4$0 $guarantee5$0 $guarantee_all$0 $bias_max$0)) +(assert $guarantee_all$0) +(assert (T false $x$0 $state$0 $bias$0 $guarantee1$0 $guarantee2$0 $guarantee3$0 $guarantee4$0 $guarantee5$0 $guarantee_all$0 $bias_max$0 $x$1 $state$1 $bias$1 $guarantee1$1 $guarantee2$1 $guarantee3$1 $guarantee4$1 $guarantee5$1 $guarantee_all$1 $bias_max$1)) diff --git a/bench/tasks/newexample_base2_t_part.smt2 b/bench/tasks/newexample_base2_t_part.smt2 new file mode 100755 index 000000000..3d185c457 --- /dev/null +++ b/bench/tasks/newexample_base2_t_part.smt2 @@ -0,0 +1,35 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($x$0 Int) ($state$0 Int) ($bias$0 Int) ($guarantee1$0 Bool) ($guarantee2$0 Bool) ($guarantee3$0 Bool) ($guarantee4$0 Bool) ($guarantee5$0 Bool) ($guarantee_all$0 Bool) ($bias_max$0 Bool) ($x$1 Int) ($state$1 Int) ($bias$1 Int) ($guarantee1$1 Bool) ($guarantee2$1 Bool) ($guarantee3$1 Bool) ($guarantee4$1 Bool) ($guarantee5$1 Bool) ($guarantee_all$1 Bool) ($bias_max$1 Bool)) Bool (and (= $bias$1 (ite %init 0 (+ (ite (= $x$1 1) 1 (- 0 1)) $bias$0))) (= $bias_max$1 (ite %init false (or (or (>= $bias$1 2) (<= $bias$1 (- 0 2))) $bias_max$0))) (= $guarantee1$1 (=> (= $state$1 0) (= $bias$1 0))) (= $guarantee2$1 (ite %init true (=> (and (= $state$0 0) (= $x$1 1)) (= $state$1 2)))) (= $guarantee3$1 (ite %init true (=> (and (= $state$0 0) (= $x$1 0)) (= $state$1 1)))) (= $guarantee4$1 (=> $bias_max$1 (= $state$1 3))) (= $guarantee5$1 (or (or (or (= $state$1 0) (= $state$1 1)) (= $state$1 2)) (= $state$1 3))) (= $guarantee_all$1 (and (and (and (and $guarantee1$1 $guarantee2$1) $guarantee3$1) $guarantee4$1) $guarantee5$1)) (or (= $x$1 0) (= $x$1 1)))) +; Universally quantified variables +(declare-fun $x$~1 () Int) +(declare-fun $state$~1 () Int) +(declare-fun $bias$~1 () Int) +(declare-fun $guarantee1$~1 () Bool) +(declare-fun $guarantee2$~1 () Bool) +(declare-fun $guarantee3$~1 () Bool) +(declare-fun $guarantee4$~1 () Bool) +(declare-fun $guarantee5$~1 () Bool) +(declare-fun $guarantee_all$~1 () Bool) +(declare-fun $bias_max$~1 () Bool) +(declare-fun $x$0 () Int) +(declare-fun $state$0 () Int) +(declare-fun $bias$0 () Int) +(declare-fun $guarantee1$0 () Bool) +(declare-fun $guarantee2$0 () Bool) +(declare-fun $guarantee3$0 () Bool) +(declare-fun $guarantee4$0 () Bool) +(declare-fun $guarantee5$0 () Bool) +(declare-fun $guarantee_all$0 () Bool) +(declare-fun $bias_max$0 () Bool) +(declare-fun $x$1 () Int) +(declare-fun $state$3 () Int) +(declare-fun $bias$3 () Int) +(declare-fun $guarantee1$3 () Bool) +(declare-fun $guarantee2$3 () Bool) +(declare-fun $guarantee3$3 () Bool) +(declare-fun $guarantee4$3 () Bool) +(declare-fun $guarantee5$3 () Bool) +(declare-fun $guarantee_all$3 () Bool) +(declare-fun $bias_max$3 () Bool) +(assert (and (T false $x$0 $state$0 $bias$0 $guarantee1$0 $guarantee2$0 $guarantee3$0 $guarantee4$0 $guarantee5$0 $guarantee_all$0 $bias_max$0 $x$1 $state$3 $bias$3 $guarantee1$3 $guarantee2$3 $guarantee3$3 $guarantee4$3 $guarantee5$3 $guarantee_all$3 $bias_max$3) $guarantee_all$3)) diff --git a/bench/tasks/newexample_base3_s_part.smt2 b/bench/tasks/newexample_base3_s_part.smt2 new file mode 100755 index 000000000..c8968f39c --- /dev/null +++ b/bench/tasks/newexample_base3_s_part.smt2 @@ -0,0 +1,49 @@ +; K = 3 +; Transition relation +(define-fun T ((%init Bool) ($x$0 Int) ($state$0 Int) ($bias$0 Int) ($guarantee1$0 Bool) ($guarantee2$0 Bool) ($guarantee3$0 Bool) ($guarantee4$0 Bool) ($guarantee5$0 Bool) ($guarantee_all$0 Bool) ($bias_max$0 Bool) ($x$1 Int) ($state$1 Int) ($bias$1 Int) ($guarantee1$1 Bool) ($guarantee2$1 Bool) ($guarantee3$1 Bool) ($guarantee4$1 Bool) ($guarantee5$1 Bool) ($guarantee_all$1 Bool) ($bias_max$1 Bool)) Bool (and (= $bias$1 (ite %init 0 (+ (ite (= $x$1 1) 1 (- 0 1)) $bias$0))) (= $bias_max$1 (ite %init false (or (or (>= $bias$1 2) (<= $bias$1 (- 0 2))) $bias_max$0))) (= $guarantee1$1 (=> (= $state$1 0) (= $bias$1 0))) (= $guarantee2$1 (ite %init true (=> (and (= $state$0 0) (= $x$1 1)) (= $state$1 2)))) (= $guarantee3$1 (ite %init true (=> (and (= $state$0 0) (= $x$1 0)) (= $state$1 1)))) (= $guarantee4$1 (=> $bias_max$1 (= $state$1 3))) (= $guarantee5$1 (or (or (or (= $state$1 0) (= $state$1 1)) (= $state$1 2)) (= $state$1 3))) (= $guarantee_all$1 (and (and (and (and $guarantee1$1 $guarantee2$1) $guarantee3$1) $guarantee4$1) $guarantee5$1)) (or (= $x$1 0) (= $x$1 1)))) +; Universally quantified variables +(declare-fun $x$~1 () Int) +(declare-fun $state$~1 () Int) +(declare-fun $bias$~1 () Int) +(declare-fun $guarantee1$~1 () Bool) +(declare-fun $guarantee2$~1 () Bool) +(declare-fun $guarantee3$~1 () Bool) +(declare-fun $guarantee4$~1 () Bool) +(declare-fun $guarantee5$~1 () Bool) +(declare-fun $guarantee_all$~1 () Bool) +(declare-fun $bias_max$~1 () Bool) +(declare-fun $x$0 () Int) +(declare-fun $state$0 () Int) +(declare-fun $bias$0 () Int) +(declare-fun $guarantee1$0 () Bool) +(declare-fun $guarantee2$0 () Bool) +(declare-fun $guarantee3$0 () Bool) +(declare-fun $guarantee4$0 () Bool) +(declare-fun $guarantee5$0 () Bool) +(declare-fun $guarantee_all$0 () Bool) +(declare-fun $bias_max$0 () Bool) +(declare-fun $x$1 () Int) +(declare-fun $state$1 () Int) +(declare-fun $bias$1 () Int) +(declare-fun $guarantee1$1 () Bool) +(declare-fun $guarantee2$1 () Bool) +(declare-fun $guarantee3$1 () Bool) +(declare-fun $guarantee4$1 () Bool) +(declare-fun $guarantee5$1 () Bool) +(declare-fun $guarantee_all$1 () Bool) +(declare-fun $bias_max$1 () Bool) +(declare-fun $x$2 () Int) +(declare-fun $state$2 () Int) +(declare-fun $bias$2 () Int) +(declare-fun $guarantee1$2 () Bool) +(declare-fun $guarantee2$2 () Bool) +(declare-fun $guarantee3$2 () Bool) +(declare-fun $guarantee4$2 () Bool) +(declare-fun $guarantee5$2 () Bool) +(declare-fun $guarantee_all$2 () Bool) +(declare-fun $bias_max$2 () Bool) +(assert (T true $x$~1 $state$~1 $bias$~1 $guarantee1$~1 $guarantee2$~1 $guarantee3$~1 $guarantee4$~1 $guarantee5$~1 $guarantee_all$~1 $bias_max$~1 $x$0 $state$0 $bias$0 $guarantee1$0 $guarantee2$0 $guarantee3$0 $guarantee4$0 $guarantee5$0 $guarantee_all$0 $bias_max$0)) +(assert $guarantee_all$0) +(assert (T false $x$0 $state$0 $bias$0 $guarantee1$0 $guarantee2$0 $guarantee3$0 $guarantee4$0 $guarantee5$0 $guarantee_all$0 $bias_max$0 $x$1 $state$1 $bias$1 $guarantee1$1 $guarantee2$1 $guarantee3$1 $guarantee4$1 $guarantee5$1 $guarantee_all$1 $bias_max$1)) +(assert $guarantee_all$1) +(assert (T false $x$1 $state$1 $bias$1 $guarantee1$1 $guarantee2$1 $guarantee3$1 $guarantee4$1 $guarantee5$1 $guarantee_all$1 $bias_max$1 $x$2 $state$2 $bias$2 $guarantee1$2 $guarantee2$2 $guarantee3$2 $guarantee4$2 $guarantee5$2 $guarantee_all$2 $bias_max$2)) diff --git a/bench/tasks/newexample_base3_t_part.smt2 b/bench/tasks/newexample_base3_t_part.smt2 new file mode 100755 index 000000000..aec031d67 --- /dev/null +++ b/bench/tasks/newexample_base3_t_part.smt2 @@ -0,0 +1,45 @@ +; K = 3 +; Transition relation +(define-fun T ((%init Bool) ($x$0 Int) ($state$0 Int) ($bias$0 Int) ($guarantee1$0 Bool) ($guarantee2$0 Bool) ($guarantee3$0 Bool) ($guarantee4$0 Bool) ($guarantee5$0 Bool) ($guarantee_all$0 Bool) ($bias_max$0 Bool) ($x$1 Int) ($state$1 Int) ($bias$1 Int) ($guarantee1$1 Bool) ($guarantee2$1 Bool) ($guarantee3$1 Bool) ($guarantee4$1 Bool) ($guarantee5$1 Bool) ($guarantee_all$1 Bool) ($bias_max$1 Bool)) Bool (and (= $bias$1 (ite %init 0 (+ (ite (= $x$1 1) 1 (- 0 1)) $bias$0))) (= $bias_max$1 (ite %init false (or (or (>= $bias$1 2) (<= $bias$1 (- 0 2))) $bias_max$0))) (= $guarantee1$1 (=> (= $state$1 0) (= $bias$1 0))) (= $guarantee2$1 (ite %init true (=> (and (= $state$0 0) (= $x$1 1)) (= $state$1 2)))) (= $guarantee3$1 (ite %init true (=> (and (= $state$0 0) (= $x$1 0)) (= $state$1 1)))) (= $guarantee4$1 (=> $bias_max$1 (= $state$1 3))) (= $guarantee5$1 (or (or (or (= $state$1 0) (= $state$1 1)) (= $state$1 2)) (= $state$1 3))) (= $guarantee_all$1 (and (and (and (and $guarantee1$1 $guarantee2$1) $guarantee3$1) $guarantee4$1) $guarantee5$1)) (or (= $x$1 0) (= $x$1 1)))) +; Universally quantified variables +(declare-fun $x$~1 () Int) +(declare-fun $state$~1 () Int) +(declare-fun $bias$~1 () Int) +(declare-fun $guarantee1$~1 () Bool) +(declare-fun $guarantee2$~1 () Bool) +(declare-fun $guarantee3$~1 () Bool) +(declare-fun $guarantee4$~1 () Bool) +(declare-fun $guarantee5$~1 () Bool) +(declare-fun $guarantee_all$~1 () Bool) +(declare-fun $bias_max$~1 () Bool) +(declare-fun $x$0 () Int) +(declare-fun $state$0 () Int) +(declare-fun $bias$0 () Int) +(declare-fun $guarantee1$0 () Bool) +(declare-fun $guarantee2$0 () Bool) +(declare-fun $guarantee3$0 () Bool) +(declare-fun $guarantee4$0 () Bool) +(declare-fun $guarantee5$0 () Bool) +(declare-fun $guarantee_all$0 () Bool) +(declare-fun $bias_max$0 () Bool) +(declare-fun $x$1 () Int) +(declare-fun $state$1 () Int) +(declare-fun $bias$1 () Int) +(declare-fun $guarantee1$1 () Bool) +(declare-fun $guarantee2$1 () Bool) +(declare-fun $guarantee3$1 () Bool) +(declare-fun $guarantee4$1 () Bool) +(declare-fun $guarantee5$1 () Bool) +(declare-fun $guarantee_all$1 () Bool) +(declare-fun $bias_max$1 () Bool) +(declare-fun $x$2 () Int) +(declare-fun $state$4 () Int) +(declare-fun $bias$4 () Int) +(declare-fun $guarantee1$4 () Bool) +(declare-fun $guarantee2$4 () Bool) +(declare-fun $guarantee3$4 () Bool) +(declare-fun $guarantee4$4 () Bool) +(declare-fun $guarantee5$4 () Bool) +(declare-fun $guarantee_all$4 () Bool) +(declare-fun $bias_max$4 () Bool) +(assert (and (T false $x$1 $state$1 $bias$1 $guarantee1$1 $guarantee2$1 $guarantee3$1 $guarantee4$1 $guarantee5$1 $guarantee_all$1 $bias_max$1 $x$2 $state$4 $bias$4 $guarantee1$4 $guarantee2$4 $guarantee3$4 $guarantee4$4 $guarantee5$4 $guarantee_all$4 $bias_max$4) $guarantee_all$4)) diff --git a/bench/tasks/newexample_extend_s_part.smt2 b/bench/tasks/newexample_extend_s_part.smt2 new file mode 100755 index 000000000..5bcf86dc8 --- /dev/null +++ b/bench/tasks/newexample_extend_s_part.smt2 @@ -0,0 +1,38 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($x$0 Int) ($state$0 Int) ($bias$0 Int) ($guarantee1$0 Bool) ($guarantee2$0 Bool) ($guarantee3$0 Bool) ($guarantee4$0 Bool) ($guarantee5$0 Bool) ($guarantee_all$0 Bool) ($bias_max$0 Bool) ($x$1 Int) ($state$1 Int) ($bias$1 Int) ($guarantee1$1 Bool) ($guarantee2$1 Bool) ($guarantee3$1 Bool) ($guarantee4$1 Bool) ($guarantee5$1 Bool) ($guarantee_all$1 Bool) ($bias_max$1 Bool)) Bool (and (= $bias$1 (ite %init 0 (+ (ite (= $x$1 1) 1 (- 0 1)) $bias$0))) (= $bias_max$1 (ite %init false (or (or (>= $bias$1 2) (<= $bias$1 (- 0 2))) $bias_max$0))) (= $guarantee1$1 (=> (= $state$1 0) (= $bias$1 0))) (= $guarantee2$1 (ite %init true (=> (and (= $state$0 0) (= $x$1 1)) (= $state$1 2)))) (= $guarantee3$1 (ite %init true (=> (and (= $state$0 0) (= $x$1 0)) (= $state$1 1)))) (= $guarantee4$1 (=> $bias_max$1 (= $state$1 3))) (= $guarantee5$1 (or (or (or (= $state$1 0) (= $state$1 1)) (= $state$1 2)) (= $state$1 3))) (= $guarantee_all$1 (and (and (and (and $guarantee1$1 $guarantee2$1) $guarantee3$1) $guarantee4$1) $guarantee5$1)) (or (= $x$1 0) (= $x$1 1)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $x$~1 () Int) +(declare-fun $state$~1 () Int) +(declare-fun $bias$~1 () Int) +(declare-fun $guarantee1$~1 () Bool) +(declare-fun $guarantee2$~1 () Bool) +(declare-fun $guarantee3$~1 () Bool) +(declare-fun $guarantee4$~1 () Bool) +(declare-fun $guarantee5$~1 () Bool) +(declare-fun $guarantee_all$~1 () Bool) +(declare-fun $bias_max$~1 () Bool) +(declare-fun $x$0 () Int) +(declare-fun $state$0 () Int) +(declare-fun $bias$0 () Int) +(declare-fun $guarantee1$0 () Bool) +(declare-fun $guarantee2$0 () Bool) +(declare-fun $guarantee3$0 () Bool) +(declare-fun $guarantee4$0 () Bool) +(declare-fun $guarantee5$0 () Bool) +(declare-fun $guarantee_all$0 () Bool) +(declare-fun $bias_max$0 () Bool) +(declare-fun $x$1 () Int) +(declare-fun $state$1 () Int) +(declare-fun $bias$1 () Int) +(declare-fun $guarantee1$1 () Bool) +(declare-fun $guarantee2$1 () Bool) +(declare-fun $guarantee3$1 () Bool) +(declare-fun $guarantee4$1 () Bool) +(declare-fun $guarantee5$1 () Bool) +(declare-fun $guarantee_all$1 () Bool) +(declare-fun $bias_max$1 () Bool) +(assert (T %init $x$~1 $state$~1 $bias$~1 $guarantee1$~1 $guarantee2$~1 $guarantee3$~1 $guarantee4$~1 $guarantee5$~1 $guarantee_all$~1 $bias_max$~1 $x$0 $state$0 $bias$0 $guarantee1$0 $guarantee2$0 $guarantee3$0 $guarantee4$0 $guarantee5$0 $guarantee_all$0 $bias_max$0)) +(assert $guarantee_all$0) +(assert (T false $x$0 $state$0 $bias$0 $guarantee1$0 $guarantee2$0 $guarantee3$0 $guarantee4$0 $guarantee5$0 $guarantee_all$0 $bias_max$0 $x$1 $state$1 $bias$1 $guarantee1$1 $guarantee2$1 $guarantee3$1 $guarantee4$1 $guarantee5$1 $guarantee_all$1 $bias_max$1)) diff --git a/bench/tasks/newexample_extend_t_part.smt2 b/bench/tasks/newexample_extend_t_part.smt2 new file mode 100755 index 000000000..05e5cc26f --- /dev/null +++ b/bench/tasks/newexample_extend_t_part.smt2 @@ -0,0 +1,36 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($x$0 Int) ($state$0 Int) ($bias$0 Int) ($guarantee1$0 Bool) ($guarantee2$0 Bool) ($guarantee3$0 Bool) ($guarantee4$0 Bool) ($guarantee5$0 Bool) ($guarantee_all$0 Bool) ($bias_max$0 Bool) ($x$1 Int) ($state$1 Int) ($bias$1 Int) ($guarantee1$1 Bool) ($guarantee2$1 Bool) ($guarantee3$1 Bool) ($guarantee4$1 Bool) ($guarantee5$1 Bool) ($guarantee_all$1 Bool) ($bias_max$1 Bool)) Bool (and (= $bias$1 (ite %init 0 (+ (ite (= $x$1 1) 1 (- 0 1)) $bias$0))) (= $bias_max$1 (ite %init false (or (or (>= $bias$1 2) (<= $bias$1 (- 0 2))) $bias_max$0))) (= $guarantee1$1 (=> (= $state$1 0) (= $bias$1 0))) (= $guarantee2$1 (ite %init true (=> (and (= $state$0 0) (= $x$1 1)) (= $state$1 2)))) (= $guarantee3$1 (ite %init true (=> (and (= $state$0 0) (= $x$1 0)) (= $state$1 1)))) (= $guarantee4$1 (=> $bias_max$1 (= $state$1 3))) (= $guarantee5$1 (or (or (or (= $state$1 0) (= $state$1 1)) (= $state$1 2)) (= $state$1 3))) (= $guarantee_all$1 (and (and (and (and $guarantee1$1 $guarantee2$1) $guarantee3$1) $guarantee4$1) $guarantee5$1)) (or (= $x$1 0) (= $x$1 1)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $x$~1 () Int) +(declare-fun $state$~1 () Int) +(declare-fun $bias$~1 () Int) +(declare-fun $guarantee1$~1 () Bool) +(declare-fun $guarantee2$~1 () Bool) +(declare-fun $guarantee3$~1 () Bool) +(declare-fun $guarantee4$~1 () Bool) +(declare-fun $guarantee5$~1 () Bool) +(declare-fun $guarantee_all$~1 () Bool) +(declare-fun $bias_max$~1 () Bool) +(declare-fun $x$0 () Int) +(declare-fun $state$0 () Int) +(declare-fun $bias$0 () Int) +(declare-fun $guarantee1$0 () Bool) +(declare-fun $guarantee2$0 () Bool) +(declare-fun $guarantee3$0 () Bool) +(declare-fun $guarantee4$0 () Bool) +(declare-fun $guarantee5$0 () Bool) +(declare-fun $guarantee_all$0 () Bool) +(declare-fun $bias_max$0 () Bool) +(declare-fun $x$1 () Int) +(declare-fun $state$3 () Int) +(declare-fun $bias$3 () Int) +(declare-fun $guarantee1$3 () Bool) +(declare-fun $guarantee2$3 () Bool) +(declare-fun $guarantee3$3 () Bool) +(declare-fun $guarantee4$3 () Bool) +(declare-fun $guarantee5$3 () Bool) +(declare-fun $guarantee_all$3 () Bool) +(declare-fun $bias_max$3 () Bool) +(assert (and (T false $x$0 $state$0 $bias$0 $guarantee1$0 $guarantee2$0 $guarantee3$0 $guarantee4$0 $guarantee5$0 $guarantee_all$0 $bias_max$0 $x$1 $state$3 $bias$3 $guarantee1$3 $guarantee2$3 $guarantee3$3 $guarantee4$3 $guarantee5$3 $guarantee_all$3 $bias_max$3) $guarantee_all$3)) diff --git a/bench/tasks/rtp_1_base_s_part.smt2 b/bench/tasks/rtp_1_base_s_part.smt2 new file mode 100755 index 000000000..219e701ec --- /dev/null +++ b/bench/tasks/rtp_1_base_s_part.smt2 @@ -0,0 +1,37 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($e01$0 Bool) ($e02$0 Bool) ($e03$0 Bool) ($e04$0 Bool) ($e05$0 Bool) ($e06$0 Bool) ($e07$0 Bool) ($e08$0 Bool) ($e09$0 Bool) ($e10$0 Bool) ($e11$0 Bool) ($e12$0 Bool) ($V76_erreur$0 Bool) ($OK$0 Bool) ($V170_X$0 Bool) ($V175_Sofar$0 Bool) ($e01$1 Bool) ($e02$1 Bool) ($e03$1 Bool) ($e04$1 Bool) ($e05$1 Bool) ($e06$1 Bool) ($e07$1 Bool) ($e08$1 Bool) ($e09$1 Bool) ($e10$1 Bool) ($e11$1 Bool) ($e12$1 Bool) ($V76_erreur$1 Bool) ($OK$1 Bool) ($V170_X$1 Bool) ($V175_Sofar$1 Bool)) Bool (and (= $OK$1 (=> $V175_Sofar$1 (not $V76_erreur$1))) (= $V170_X$1 (or (or (or (or (or (or (or (or (or (or (or (or (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1)) (and (and (and (and (and (and (and (and (and (and (and $e01$1 (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) $e02$1) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) $e03$1) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) $e04$1) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) $e05$1) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) $e06$1) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) $e07$1) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) $e08$1) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) $e09$1) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) $e10$1) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) $e11$1) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) $e12$1))) (= $V175_Sofar$1 (ite %init $V170_X$1 (and $V170_X$1 $V175_Sofar$0))))) +; Universally quantified variables +(declare-fun $e01$~1 () Bool) +(declare-fun $e02$~1 () Bool) +(declare-fun $e03$~1 () Bool) +(declare-fun $e04$~1 () Bool) +(declare-fun $e05$~1 () Bool) +(declare-fun $e06$~1 () Bool) +(declare-fun $e07$~1 () Bool) +(declare-fun $e08$~1 () Bool) +(declare-fun $e09$~1 () Bool) +(declare-fun $e10$~1 () Bool) +(declare-fun $e11$~1 () Bool) +(declare-fun $e12$~1 () Bool) +(declare-fun $V76_erreur$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V170_X$~1 () Bool) +(declare-fun $V175_Sofar$~1 () Bool) +(declare-fun $e01$0 () Bool) +(declare-fun $e02$0 () Bool) +(declare-fun $e03$0 () Bool) +(declare-fun $e04$0 () Bool) +(declare-fun $e05$0 () Bool) +(declare-fun $e06$0 () Bool) +(declare-fun $e07$0 () Bool) +(declare-fun $e08$0 () Bool) +(declare-fun $e09$0 () Bool) +(declare-fun $e10$0 () Bool) +(declare-fun $e11$0 () Bool) +(declare-fun $e12$0 () Bool) +(declare-fun $V76_erreur$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V170_X$0 () Bool) +(declare-fun $V175_Sofar$0 () Bool) +(assert (T true $e01$~1 $e02$~1 $e03$~1 $e04$~1 $e05$~1 $e06$~1 $e07$~1 $e08$~1 $e09$~1 $e10$~1 $e11$~1 $e12$~1 $V76_erreur$~1 $OK$~1 $V170_X$~1 $V175_Sofar$~1 $e01$0 $e02$0 $e03$0 $e04$0 $e05$0 $e06$0 $e07$0 $e08$0 $e09$0 $e10$0 $e11$0 $e12$0 $V76_erreur$0 $OK$0 $V170_X$0 $V175_Sofar$0)) diff --git a/bench/tasks/rtp_1_base_t_part.smt2 b/bench/tasks/rtp_1_base_t_part.smt2 new file mode 100755 index 000000000..5b75df46c --- /dev/null +++ b/bench/tasks/rtp_1_base_t_part.smt2 @@ -0,0 +1,37 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($e01$0 Bool) ($e02$0 Bool) ($e03$0 Bool) ($e04$0 Bool) ($e05$0 Bool) ($e06$0 Bool) ($e07$0 Bool) ($e08$0 Bool) ($e09$0 Bool) ($e10$0 Bool) ($e11$0 Bool) ($e12$0 Bool) ($V76_erreur$0 Bool) ($OK$0 Bool) ($V170_X$0 Bool) ($V175_Sofar$0 Bool) ($e01$1 Bool) ($e02$1 Bool) ($e03$1 Bool) ($e04$1 Bool) ($e05$1 Bool) ($e06$1 Bool) ($e07$1 Bool) ($e08$1 Bool) ($e09$1 Bool) ($e10$1 Bool) ($e11$1 Bool) ($e12$1 Bool) ($V76_erreur$1 Bool) ($OK$1 Bool) ($V170_X$1 Bool) ($V175_Sofar$1 Bool)) Bool (and (= $OK$1 (=> $V175_Sofar$1 (not $V76_erreur$1))) (= $V170_X$1 (or (or (or (or (or (or (or (or (or (or (or (or (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1)) (and (and (and (and (and (and (and (and (and (and (and $e01$1 (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) $e02$1) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) $e03$1) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) $e04$1) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) $e05$1) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) $e06$1) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) $e07$1) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) $e08$1) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) $e09$1) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) $e10$1) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) $e11$1) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) $e12$1))) (= $V175_Sofar$1 (ite %init $V170_X$1 (and $V170_X$1 $V175_Sofar$0))))) +; Universally quantified variables +(declare-fun $e01$~1 () Bool) +(declare-fun $e02$~1 () Bool) +(declare-fun $e03$~1 () Bool) +(declare-fun $e04$~1 () Bool) +(declare-fun $e05$~1 () Bool) +(declare-fun $e06$~1 () Bool) +(declare-fun $e07$~1 () Bool) +(declare-fun $e08$~1 () Bool) +(declare-fun $e09$~1 () Bool) +(declare-fun $e10$~1 () Bool) +(declare-fun $e11$~1 () Bool) +(declare-fun $e12$~1 () Bool) +(declare-fun $V76_erreur$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V170_X$~1 () Bool) +(declare-fun $V175_Sofar$~1 () Bool) +(declare-fun $e01$0 () Bool) +(declare-fun $e02$0 () Bool) +(declare-fun $e03$0 () Bool) +(declare-fun $e04$0 () Bool) +(declare-fun $e05$0 () Bool) +(declare-fun $e06$0 () Bool) +(declare-fun $e07$0 () Bool) +(declare-fun $e08$0 () Bool) +(declare-fun $e09$0 () Bool) +(declare-fun $e10$0 () Bool) +(declare-fun $e11$0 () Bool) +(declare-fun $e12$0 () Bool) +(declare-fun $V76_erreur$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V170_X$2 () Bool) +(declare-fun $V175_Sofar$2 () Bool) +(assert (and (T true $e01$~1 $e02$~1 $e03$~1 $e04$~1 $e05$~1 $e06$~1 $e07$~1 $e08$~1 $e09$~1 $e10$~1 $e11$~1 $e12$~1 $V76_erreur$~1 $OK$~1 $V170_X$~1 $V175_Sofar$~1 $e01$0 $e02$0 $e03$0 $e04$0 $e05$0 $e06$0 $e07$0 $e08$0 $e09$0 $e10$0 $e11$0 $e12$0 $V76_erreur$2 $OK$2 $V170_X$2 $V175_Sofar$2) $OK$2)) diff --git a/bench/tasks/rtp_1_extend_s_part.smt2 b/bench/tasks/rtp_1_extend_s_part.smt2 new file mode 100755 index 000000000..9ee3cdaa5 --- /dev/null +++ b/bench/tasks/rtp_1_extend_s_part.smt2 @@ -0,0 +1,38 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($e01$0 Bool) ($e02$0 Bool) ($e03$0 Bool) ($e04$0 Bool) ($e05$0 Bool) ($e06$0 Bool) ($e07$0 Bool) ($e08$0 Bool) ($e09$0 Bool) ($e10$0 Bool) ($e11$0 Bool) ($e12$0 Bool) ($V76_erreur$0 Bool) ($OK$0 Bool) ($V170_X$0 Bool) ($V175_Sofar$0 Bool) ($e01$1 Bool) ($e02$1 Bool) ($e03$1 Bool) ($e04$1 Bool) ($e05$1 Bool) ($e06$1 Bool) ($e07$1 Bool) ($e08$1 Bool) ($e09$1 Bool) ($e10$1 Bool) ($e11$1 Bool) ($e12$1 Bool) ($V76_erreur$1 Bool) ($OK$1 Bool) ($V170_X$1 Bool) ($V175_Sofar$1 Bool)) Bool (and (= $OK$1 (=> $V175_Sofar$1 (not $V76_erreur$1))) (= $V170_X$1 (or (or (or (or (or (or (or (or (or (or (or (or (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1)) (and (and (and (and (and (and (and (and (and (and (and $e01$1 (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) $e02$1) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) $e03$1) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) $e04$1) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) $e05$1) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) $e06$1) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) $e07$1) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) $e08$1) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) $e09$1) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) $e10$1) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) $e11$1) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) $e12$1))) (= $V175_Sofar$1 (ite %init $V170_X$1 (and $V170_X$1 $V175_Sofar$0))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $e01$~1 () Bool) +(declare-fun $e02$~1 () Bool) +(declare-fun $e03$~1 () Bool) +(declare-fun $e04$~1 () Bool) +(declare-fun $e05$~1 () Bool) +(declare-fun $e06$~1 () Bool) +(declare-fun $e07$~1 () Bool) +(declare-fun $e08$~1 () Bool) +(declare-fun $e09$~1 () Bool) +(declare-fun $e10$~1 () Bool) +(declare-fun $e11$~1 () Bool) +(declare-fun $e12$~1 () Bool) +(declare-fun $V76_erreur$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V170_X$~1 () Bool) +(declare-fun $V175_Sofar$~1 () Bool) +(declare-fun $e01$0 () Bool) +(declare-fun $e02$0 () Bool) +(declare-fun $e03$0 () Bool) +(declare-fun $e04$0 () Bool) +(declare-fun $e05$0 () Bool) +(declare-fun $e06$0 () Bool) +(declare-fun $e07$0 () Bool) +(declare-fun $e08$0 () Bool) +(declare-fun $e09$0 () Bool) +(declare-fun $e10$0 () Bool) +(declare-fun $e11$0 () Bool) +(declare-fun $e12$0 () Bool) +(declare-fun $V76_erreur$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V170_X$0 () Bool) +(declare-fun $V175_Sofar$0 () Bool) +(assert (T %init $e01$~1 $e02$~1 $e03$~1 $e04$~1 $e05$~1 $e06$~1 $e07$~1 $e08$~1 $e09$~1 $e10$~1 $e11$~1 $e12$~1 $V76_erreur$~1 $OK$~1 $V170_X$~1 $V175_Sofar$~1 $e01$0 $e02$0 $e03$0 $e04$0 $e05$0 $e06$0 $e07$0 $e08$0 $e09$0 $e10$0 $e11$0 $e12$0 $V76_erreur$0 $OK$0 $V170_X$0 $V175_Sofar$0)) diff --git a/bench/tasks/rtp_1_extend_t_part.smt2 b/bench/tasks/rtp_1_extend_t_part.smt2 new file mode 100755 index 000000000..b5dc93c1f --- /dev/null +++ b/bench/tasks/rtp_1_extend_t_part.smt2 @@ -0,0 +1,38 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($e01$0 Bool) ($e02$0 Bool) ($e03$0 Bool) ($e04$0 Bool) ($e05$0 Bool) ($e06$0 Bool) ($e07$0 Bool) ($e08$0 Bool) ($e09$0 Bool) ($e10$0 Bool) ($e11$0 Bool) ($e12$0 Bool) ($V76_erreur$0 Bool) ($OK$0 Bool) ($V170_X$0 Bool) ($V175_Sofar$0 Bool) ($e01$1 Bool) ($e02$1 Bool) ($e03$1 Bool) ($e04$1 Bool) ($e05$1 Bool) ($e06$1 Bool) ($e07$1 Bool) ($e08$1 Bool) ($e09$1 Bool) ($e10$1 Bool) ($e11$1 Bool) ($e12$1 Bool) ($V76_erreur$1 Bool) ($OK$1 Bool) ($V170_X$1 Bool) ($V175_Sofar$1 Bool)) Bool (and (= $OK$1 (=> $V175_Sofar$1 (not $V76_erreur$1))) (= $V170_X$1 (or (or (or (or (or (or (or (or (or (or (or (or (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1)) (and (and (and (and (and (and (and (and (and (and (and $e01$1 (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) $e02$1) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) $e03$1) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) $e04$1) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) $e05$1) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) $e06$1) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) $e07$1) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) $e08$1) (not $e09$1)) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) $e09$1) (not $e10$1)) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) $e10$1) (not $e11$1)) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) $e11$1) (not $e12$1))) (and (and (and (and (and (and (and (and (and (and (and (not $e01$1) (not $e02$1)) (not $e03$1)) (not $e04$1)) (not $e05$1)) (not $e06$1)) (not $e07$1)) (not $e08$1)) (not $e09$1)) (not $e10$1)) (not $e11$1)) $e12$1))) (= $V175_Sofar$1 (ite %init $V170_X$1 (and $V170_X$1 $V175_Sofar$0))))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $e01$~1 () Bool) +(declare-fun $e02$~1 () Bool) +(declare-fun $e03$~1 () Bool) +(declare-fun $e04$~1 () Bool) +(declare-fun $e05$~1 () Bool) +(declare-fun $e06$~1 () Bool) +(declare-fun $e07$~1 () Bool) +(declare-fun $e08$~1 () Bool) +(declare-fun $e09$~1 () Bool) +(declare-fun $e10$~1 () Bool) +(declare-fun $e11$~1 () Bool) +(declare-fun $e12$~1 () Bool) +(declare-fun $V76_erreur$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V170_X$~1 () Bool) +(declare-fun $V175_Sofar$~1 () Bool) +(declare-fun $e01$0 () Bool) +(declare-fun $e02$0 () Bool) +(declare-fun $e03$0 () Bool) +(declare-fun $e04$0 () Bool) +(declare-fun $e05$0 () Bool) +(declare-fun $e06$0 () Bool) +(declare-fun $e07$0 () Bool) +(declare-fun $e08$0 () Bool) +(declare-fun $e09$0 () Bool) +(declare-fun $e10$0 () Bool) +(declare-fun $e11$0 () Bool) +(declare-fun $e12$0 () Bool) +(declare-fun $V76_erreur$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V170_X$2 () Bool) +(declare-fun $V175_Sofar$2 () Bool) +(assert (and (T %init $e01$~1 $e02$~1 $e03$~1 $e04$~1 $e05$~1 $e06$~1 $e07$~1 $e08$~1 $e09$~1 $e10$~1 $e11$~1 $e12$~1 $V76_erreur$~1 $OK$~1 $V170_X$~1 $V175_Sofar$~1 $e01$0 $e02$0 $e03$0 $e04$0 $e05$0 $e06$0 $e07$0 $e08$0 $e09$0 $e10$0 $e11$0 $e12$0 $V76_erreur$2 $OK$2 $V170_X$2 $V175_Sofar$2) $OK$2)) diff --git a/bench/tasks/speed_e7_207_base_s_part.smt2 b/bench/tasks/speed_e7_207_base_s_part.smt2 new file mode 100755 index 000000000..b3917e712 --- /dev/null +++ b/bench/tasks/speed_e7_207_base_s_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/speed_e7_207_base_t_part.smt2 b/bench/tasks/speed_e7_207_base_t_part.smt2 new file mode 100755 index 000000000..b797196f0 --- /dev/null +++ b/bench/tasks/speed_e7_207_base_t_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/speed_e7_207_e7_538_base_s_part.smt2 b/bench/tasks/speed_e7_207_e7_538_base_s_part.smt2 new file mode 100755 index 000000000..b3917e712 --- /dev/null +++ b/bench/tasks/speed_e7_207_e7_538_base_s_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/speed_e7_207_e7_538_base_t_part.smt2 b/bench/tasks/speed_e7_207_e7_538_base_t_part.smt2 new file mode 100755 index 000000000..b797196f0 --- /dev/null +++ b/bench/tasks/speed_e7_207_e7_538_base_t_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/speed_e7_207_e7_538_extend_s_part.smt2 b/bench/tasks/speed_e7_207_e7_538_extend_s_part.smt2 new file mode 100755 index 000000000..0399476f3 --- /dev/null +++ b/bench/tasks/speed_e7_207_e7_538_extend_s_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/speed_e7_207_e7_538_extend_t_part.smt2 b/bench/tasks/speed_e7_207_e7_538_extend_t_part.smt2 new file mode 100755 index 000000000..2ecdd03ce --- /dev/null +++ b/bench/tasks/speed_e7_207_e7_538_extend_t_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/speed_e7_207_e8_507_base1_s_part.smt2 b/bench/tasks/speed_e7_207_e8_507_base1_s_part.smt2 new file mode 100755 index 000000000..b3917e712 --- /dev/null +++ b/bench/tasks/speed_e7_207_e8_507_base1_s_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/speed_e7_207_e8_507_base1_t_part.smt2 b/bench/tasks/speed_e7_207_e8_507_base1_t_part.smt2 new file mode 100755 index 000000000..b797196f0 --- /dev/null +++ b/bench/tasks/speed_e7_207_e8_507_base1_t_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/speed_e7_207_e8_507_base2_s_part.smt2 b/bench/tasks/speed_e7_207_e8_507_base2_s_part.smt2 new file mode 100755 index 000000000..4bfdad883 --- /dev/null +++ b/bench/tasks/speed_e7_207_e8_507_base2_s_part.smt2 @@ -0,0 +1,16 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V19_late$1 () Bool) +(declare-fun $V20_early$1 () Bool) +(declare-fun $OK$1 () Bool) +(assert (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) +(assert $OK$0) +(assert (T false $V19_late$0 $V20_early$0 $OK$0 $V19_late$1 $V20_early$1 $OK$1)) diff --git a/bench/tasks/speed_e7_207_e8_507_base2_t_part.smt2 b/bench/tasks/speed_e7_207_e8_507_base2_t_part.smt2 new file mode 100755 index 000000000..05ab11a52 --- /dev/null +++ b/bench/tasks/speed_e7_207_e8_507_base2_t_part.smt2 @@ -0,0 +1,14 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V19_late$3 () Bool) +(declare-fun $V20_early$3 () Bool) +(declare-fun $OK$3 () Bool) +(assert (and (T false $V19_late$0 $V20_early$0 $OK$0 $V19_late$3 $V20_early$3 $OK$3) $OK$3)) diff --git a/bench/tasks/speed_e7_207_e8_507_extend_s_part.smt2 b/bench/tasks/speed_e7_207_e8_507_extend_s_part.smt2 new file mode 100755 index 000000000..0399476f3 --- /dev/null +++ b/bench/tasks/speed_e7_207_e8_507_extend_s_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/speed_e7_207_e8_507_extend_t_part.smt2 b/bench/tasks/speed_e7_207_e8_507_extend_t_part.smt2 new file mode 100755 index 000000000..2ecdd03ce --- /dev/null +++ b/bench/tasks/speed_e7_207_e8_507_extend_t_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/speed_e7_207_extend_s_part.smt2 b/bench/tasks/speed_e7_207_extend_s_part.smt2 new file mode 100755 index 000000000..0399476f3 --- /dev/null +++ b/bench/tasks/speed_e7_207_extend_s_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/speed_e7_207_extend_t_part.smt2 b/bench/tasks/speed_e7_207_extend_t_part.smt2 new file mode 100755 index 000000000..2ecdd03ce --- /dev/null +++ b/bench/tasks/speed_e7_207_extend_t_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/speed_e8_136_base_s_part.smt2 b/bench/tasks/speed_e8_136_base_s_part.smt2 new file mode 100755 index 000000000..b3917e712 --- /dev/null +++ b/bench/tasks/speed_e8_136_base_s_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/speed_e8_136_base_t_part.smt2 b/bench/tasks/speed_e8_136_base_t_part.smt2 new file mode 100755 index 000000000..b797196f0 --- /dev/null +++ b/bench/tasks/speed_e8_136_base_t_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/speed_e8_136_extend_s_part.smt2 b/bench/tasks/speed_e8_136_extend_s_part.smt2 new file mode 100755 index 000000000..0399476f3 --- /dev/null +++ b/bench/tasks/speed_e8_136_extend_s_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/speed_e8_136_extend_t_part.smt2 b/bench/tasks/speed_e8_136_extend_t_part.smt2 new file mode 100755 index 000000000..2ecdd03ce --- /dev/null +++ b/bench/tasks/speed_e8_136_extend_t_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/speed_e8_649_e7_709_base_s_part.smt2 b/bench/tasks/speed_e8_649_e7_709_base_s_part.smt2 new file mode 100755 index 000000000..b3917e712 --- /dev/null +++ b/bench/tasks/speed_e8_649_e7_709_base_s_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/speed_e8_649_e7_709_base_t_part.smt2 b/bench/tasks/speed_e8_649_e7_709_base_t_part.smt2 new file mode 100755 index 000000000..b797196f0 --- /dev/null +++ b/bench/tasks/speed_e8_649_e7_709_base_t_part.smt2 @@ -0,0 +1,11 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T true $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/speed_e8_649_e7_709_extend_s_part.smt2 b/bench/tasks/speed_e8_649_e7_709_extend_s_part.smt2 new file mode 100755 index 000000000..0399476f3 --- /dev/null +++ b/bench/tasks/speed_e8_649_e7_709_extend_s_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$0 () Bool) +(declare-fun $V20_early$0 () Bool) +(declare-fun $OK$0 () Bool) +(assert (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$0 $V20_early$0 $OK$0)) diff --git a/bench/tasks/speed_e8_649_e7_709_extend_t_part.smt2 b/bench/tasks/speed_e8_649_e7_709_extend_t_part.smt2 new file mode 100755 index 000000000..2ecdd03ce --- /dev/null +++ b/bench/tasks/speed_e8_649_e7_709_extend_t_part.smt2 @@ -0,0 +1,12 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($V19_late$0 Bool) ($V20_early$0 Bool) ($OK$0 Bool) ($V19_late$1 Bool) ($V20_early$1 Bool) ($OK$1 Bool)) Bool (= $OK$1 (not (and $V19_late$1 $V20_early$1)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $V19_late$~1 () Bool) +(declare-fun $V20_early$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V19_late$2 () Bool) +(declare-fun $V20_early$2 () Bool) +(declare-fun $OK$2 () Bool) +(assert (and (T %init $V19_late$~1 $V20_early$~1 $OK$~1 $V19_late$2 $V20_early$2 $OK$2) $OK$2)) diff --git a/bench/tasks/tramway_e7_1834_base1_s_part.smt2 b/bench/tasks/tramway_e7_1834_base1_s_part.smt2 new file mode 100755 index 000000000..d445b8cfe --- /dev/null +++ b/bench/tasks/tramway_e7_1834_base1_s_part.smt2 @@ -0,0 +1,61 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($request_door$0 Bool) ($warning_start$0 Bool) ($in_station$0 Bool) ($door_is_open$0 Bool) ($V60_open_door$0 Bool) ($V61_close_door$0 Bool) ($V62_door_ok$0 Bool) ($OK$0 Bool) ($V58_env_always_ok$0 Bool) ($V59_prop_ok$0 Bool) ($V250_door_doesnt_open_out_of_station$0 Bool) ($V251_door_opens_before_leaving_station$0 Bool) ($V252_X$0 Bool) ($V253_between_A_and_X$0 Bool) ($V264_env_ok$0 Bool) ($V265_door_doesnt_close_if_not_asked$0 Bool) ($V266_door_doesnt_open_if_not_asked$0 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$0 Bool) ($V268_door_initially_closed$0 Bool) ($V269_initially_not_in_station$0 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$0 Bool) ($V271_warning_start_only_in_station$0 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$0 Bool) ($V273_X$0 Bool) ($V274_X$0 Bool) ($V275_X$0 Bool) ($V276_X$0 Bool) ($~flatten0$0 Bool) ($request_door$1 Bool) ($warning_start$1 Bool) ($in_station$1 Bool) ($door_is_open$1 Bool) ($V60_open_door$1 Bool) ($V61_close_door$1 Bool) ($V62_door_ok$1 Bool) ($OK$1 Bool) ($V58_env_always_ok$1 Bool) ($V59_prop_ok$1 Bool) ($V250_door_doesnt_open_out_of_station$1 Bool) ($V251_door_opens_before_leaving_station$1 Bool) ($V252_X$1 Bool) ($V253_between_A_and_X$1 Bool) ($V264_env_ok$1 Bool) ($V265_door_doesnt_close_if_not_asked$1 Bool) ($V266_door_doesnt_open_if_not_asked$1 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$1 Bool) ($V268_door_initially_closed$1 Bool) ($V269_initially_not_in_station$1 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$1 Bool) ($V271_warning_start_only_in_station$1 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$1 Bool) ($V273_X$1 Bool) ($V274_X$1 Bool) ($V275_X$1 Bool) ($V276_X$1 Bool) ($~flatten0$1 Bool)) Bool (and (= $OK$1 (=> $V58_env_always_ok$1 $V59_prop_ok$1)) (= $V58_env_always_ok$1 (ite %init $V264_env_ok$1 (and $V264_env_ok$1 $V58_env_always_ok$0))) (= $V59_prop_ok$1 (and $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1)) (= $V250_door_doesnt_open_out_of_station$1 (=> $door_is_open$1 $in_station$1)) (= $V251_door_opens_before_leaving_station$1 (not (and $V253_between_A_and_X$1 (ite %init false (or $V252_X$1 (not $V252_X$0)))))) (= $V252_X$1 (not $in_station$1)) (= $V253_between_A_and_X$1 (ite (ite %init false (and $request_door$0 (not $warning_start$0))) true (ite (ite %init false $~flatten0$0) false (ite %init false $V253_between_A_and_X$0)))) (= $V264_env_ok$1 (and (and (and (and (and (and (and $V266_door_doesnt_open_if_not_asked$1 $V265_door_doesnt_close_if_not_asked$1) $V267_tramway_doesnt_start_if_not_door_ok$1) $V268_door_initially_closed$1) $V269_initially_not_in_station$1) $V270_warning_start_and_in_station_go_down_simultaneously$1) $V271_warning_start_only_in_station$1) $V272_warning_start_cant_become_true_when_door_is_opening$1)) (= $V265_door_doesnt_close_if_not_asked$1 (=> (ite %init false (or $door_is_open$1 (not $door_is_open$0))) $V60_open_door$1)) (= $V266_door_doesnt_open_if_not_asked$1 (=> (ite %init false (or $V273_X$1 (not $V273_X$0))) $V61_close_door$1)) (= $V267_tramway_doesnt_start_if_not_door_ok$1 (=> (ite %init false (or $V274_X$1 (not $V274_X$0))) (ite %init false $V62_door_ok$0))) (= $V268_door_initially_closed$1 (ite %init (not $door_is_open$1) true)) (= $V269_initially_not_in_station$1 (ite %init (not $in_station$1) true)) (= $V270_warning_start_and_in_station_go_down_simultaneously$1 (= (ite %init false (or $V275_X$1 (not $V275_X$0))) (ite %init false (or $V276_X$1 (not $V276_X$0))))) (= $V271_warning_start_only_in_station$1 (=> $warning_start$1 $in_station$1)) (= $V272_warning_start_cant_become_true_when_door_is_opening$1 (=> (ite %init false (or $warning_start$1 (not $warning_start$0))) (not $V60_open_door$1))) (= $V273_X$1 (not $door_is_open$1)) (= $V274_X$1 (not $in_station$1)) (= $V275_X$1 (not $in_station$1)) (= $V276_X$1 (not $warning_start$1)) (= $~flatten0$1 (ite %init false $door_is_open$0)))) +; Universally quantified variables +(declare-fun $request_door$~1 () Bool) +(declare-fun $warning_start$~1 () Bool) +(declare-fun $in_station$~1 () Bool) +(declare-fun $door_is_open$~1 () Bool) +(declare-fun $V60_open_door$~1 () Bool) +(declare-fun $V61_close_door$~1 () Bool) +(declare-fun $V62_door_ok$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V58_env_always_ok$~1 () Bool) +(declare-fun $V59_prop_ok$~1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$~1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$~1 () Bool) +(declare-fun $V252_X$~1 () Bool) +(declare-fun $V253_between_A_and_X$~1 () Bool) +(declare-fun $V264_env_ok$~1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$~1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$~1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$~1 () Bool) +(declare-fun $V268_door_initially_closed$~1 () Bool) +(declare-fun $V269_initially_not_in_station$~1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$~1 () Bool) +(declare-fun $V271_warning_start_only_in_station$~1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$~1 () Bool) +(declare-fun $V273_X$~1 () Bool) +(declare-fun $V274_X$~1 () Bool) +(declare-fun $V275_X$~1 () Bool) +(declare-fun $V276_X$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $request_door$0 () Bool) +(declare-fun $warning_start$0 () Bool) +(declare-fun $in_station$0 () Bool) +(declare-fun $door_is_open$0 () Bool) +(declare-fun $V60_open_door$0 () Bool) +(declare-fun $V61_close_door$0 () Bool) +(declare-fun $V62_door_ok$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V58_env_always_ok$0 () Bool) +(declare-fun $V59_prop_ok$0 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$0 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$0 () Bool) +(declare-fun $V252_X$0 () Bool) +(declare-fun $V253_between_A_and_X$0 () Bool) +(declare-fun $V264_env_ok$0 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$0 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$0 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$0 () Bool) +(declare-fun $V268_door_initially_closed$0 () Bool) +(declare-fun $V269_initially_not_in_station$0 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$0 () Bool) +(declare-fun $V271_warning_start_only_in_station$0 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$0 () Bool) +(declare-fun $V273_X$0 () Bool) +(declare-fun $V274_X$0 () Bool) +(declare-fun $V275_X$0 () Bool) +(declare-fun $V276_X$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(assert (T true $request_door$~1 $warning_start$~1 $in_station$~1 $door_is_open$~1 $V60_open_door$~1 $V61_close_door$~1 $V62_door_ok$~1 $OK$~1 $V58_env_always_ok$~1 $V59_prop_ok$~1 $V250_door_doesnt_open_out_of_station$~1 $V251_door_opens_before_leaving_station$~1 $V252_X$~1 $V253_between_A_and_X$~1 $V264_env_ok$~1 $V265_door_doesnt_close_if_not_asked$~1 $V266_door_doesnt_open_if_not_asked$~1 $V267_tramway_doesnt_start_if_not_door_ok$~1 $V268_door_initially_closed$~1 $V269_initially_not_in_station$~1 $V270_warning_start_and_in_station_go_down_simultaneously$~1 $V271_warning_start_only_in_station$~1 $V272_warning_start_cant_become_true_when_door_is_opening$~1 $V273_X$~1 $V274_X$~1 $V275_X$~1 $V276_X$~1 $~flatten0$~1 $request_door$0 $warning_start$0 $in_station$0 $door_is_open$0 $V60_open_door$0 $V61_close_door$0 $V62_door_ok$0 $OK$0 $V58_env_always_ok$0 $V59_prop_ok$0 $V250_door_doesnt_open_out_of_station$0 $V251_door_opens_before_leaving_station$0 $V252_X$0 $V253_between_A_and_X$0 $V264_env_ok$0 $V265_door_doesnt_close_if_not_asked$0 $V266_door_doesnt_open_if_not_asked$0 $V267_tramway_doesnt_start_if_not_door_ok$0 $V268_door_initially_closed$0 $V269_initially_not_in_station$0 $V270_warning_start_and_in_station_go_down_simultaneously$0 $V271_warning_start_only_in_station$0 $V272_warning_start_cant_become_true_when_door_is_opening$0 $V273_X$0 $V274_X$0 $V275_X$0 $V276_X$0 $~flatten0$0)) diff --git a/bench/tasks/tramway_e7_1834_base1_t_part.smt2 b/bench/tasks/tramway_e7_1834_base1_t_part.smt2 new file mode 100755 index 000000000..6936e7dd7 --- /dev/null +++ b/bench/tasks/tramway_e7_1834_base1_t_part.smt2 @@ -0,0 +1,61 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($request_door$0 Bool) ($warning_start$0 Bool) ($in_station$0 Bool) ($door_is_open$0 Bool) ($V60_open_door$0 Bool) ($V61_close_door$0 Bool) ($V62_door_ok$0 Bool) ($OK$0 Bool) ($V58_env_always_ok$0 Bool) ($V59_prop_ok$0 Bool) ($V250_door_doesnt_open_out_of_station$0 Bool) ($V251_door_opens_before_leaving_station$0 Bool) ($V252_X$0 Bool) ($V253_between_A_and_X$0 Bool) ($V264_env_ok$0 Bool) ($V265_door_doesnt_close_if_not_asked$0 Bool) ($V266_door_doesnt_open_if_not_asked$0 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$0 Bool) ($V268_door_initially_closed$0 Bool) ($V269_initially_not_in_station$0 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$0 Bool) ($V271_warning_start_only_in_station$0 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$0 Bool) ($V273_X$0 Bool) ($V274_X$0 Bool) ($V275_X$0 Bool) ($V276_X$0 Bool) ($~flatten0$0 Bool) ($request_door$1 Bool) ($warning_start$1 Bool) ($in_station$1 Bool) ($door_is_open$1 Bool) ($V60_open_door$1 Bool) ($V61_close_door$1 Bool) ($V62_door_ok$1 Bool) ($OK$1 Bool) ($V58_env_always_ok$1 Bool) ($V59_prop_ok$1 Bool) ($V250_door_doesnt_open_out_of_station$1 Bool) ($V251_door_opens_before_leaving_station$1 Bool) ($V252_X$1 Bool) ($V253_between_A_and_X$1 Bool) ($V264_env_ok$1 Bool) ($V265_door_doesnt_close_if_not_asked$1 Bool) ($V266_door_doesnt_open_if_not_asked$1 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$1 Bool) ($V268_door_initially_closed$1 Bool) ($V269_initially_not_in_station$1 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$1 Bool) ($V271_warning_start_only_in_station$1 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$1 Bool) ($V273_X$1 Bool) ($V274_X$1 Bool) ($V275_X$1 Bool) ($V276_X$1 Bool) ($~flatten0$1 Bool)) Bool (and (= $OK$1 (=> $V58_env_always_ok$1 $V59_prop_ok$1)) (= $V58_env_always_ok$1 (ite %init $V264_env_ok$1 (and $V264_env_ok$1 $V58_env_always_ok$0))) (= $V59_prop_ok$1 (and $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1)) (= $V250_door_doesnt_open_out_of_station$1 (=> $door_is_open$1 $in_station$1)) (= $V251_door_opens_before_leaving_station$1 (not (and $V253_between_A_and_X$1 (ite %init false (or $V252_X$1 (not $V252_X$0)))))) (= $V252_X$1 (not $in_station$1)) (= $V253_between_A_and_X$1 (ite (ite %init false (and $request_door$0 (not $warning_start$0))) true (ite (ite %init false $~flatten0$0) false (ite %init false $V253_between_A_and_X$0)))) (= $V264_env_ok$1 (and (and (and (and (and (and (and $V266_door_doesnt_open_if_not_asked$1 $V265_door_doesnt_close_if_not_asked$1) $V267_tramway_doesnt_start_if_not_door_ok$1) $V268_door_initially_closed$1) $V269_initially_not_in_station$1) $V270_warning_start_and_in_station_go_down_simultaneously$1) $V271_warning_start_only_in_station$1) $V272_warning_start_cant_become_true_when_door_is_opening$1)) (= $V265_door_doesnt_close_if_not_asked$1 (=> (ite %init false (or $door_is_open$1 (not $door_is_open$0))) $V60_open_door$1)) (= $V266_door_doesnt_open_if_not_asked$1 (=> (ite %init false (or $V273_X$1 (not $V273_X$0))) $V61_close_door$1)) (= $V267_tramway_doesnt_start_if_not_door_ok$1 (=> (ite %init false (or $V274_X$1 (not $V274_X$0))) (ite %init false $V62_door_ok$0))) (= $V268_door_initially_closed$1 (ite %init (not $door_is_open$1) true)) (= $V269_initially_not_in_station$1 (ite %init (not $in_station$1) true)) (= $V270_warning_start_and_in_station_go_down_simultaneously$1 (= (ite %init false (or $V275_X$1 (not $V275_X$0))) (ite %init false (or $V276_X$1 (not $V276_X$0))))) (= $V271_warning_start_only_in_station$1 (=> $warning_start$1 $in_station$1)) (= $V272_warning_start_cant_become_true_when_door_is_opening$1 (=> (ite %init false (or $warning_start$1 (not $warning_start$0))) (not $V60_open_door$1))) (= $V273_X$1 (not $door_is_open$1)) (= $V274_X$1 (not $in_station$1)) (= $V275_X$1 (not $in_station$1)) (= $V276_X$1 (not $warning_start$1)) (= $~flatten0$1 (ite %init false $door_is_open$0)))) +; Universally quantified variables +(declare-fun $request_door$~1 () Bool) +(declare-fun $warning_start$~1 () Bool) +(declare-fun $in_station$~1 () Bool) +(declare-fun $door_is_open$~1 () Bool) +(declare-fun $V60_open_door$~1 () Bool) +(declare-fun $V61_close_door$~1 () Bool) +(declare-fun $V62_door_ok$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V58_env_always_ok$~1 () Bool) +(declare-fun $V59_prop_ok$~1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$~1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$~1 () Bool) +(declare-fun $V252_X$~1 () Bool) +(declare-fun $V253_between_A_and_X$~1 () Bool) +(declare-fun $V264_env_ok$~1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$~1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$~1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$~1 () Bool) +(declare-fun $V268_door_initially_closed$~1 () Bool) +(declare-fun $V269_initially_not_in_station$~1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$~1 () Bool) +(declare-fun $V271_warning_start_only_in_station$~1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$~1 () Bool) +(declare-fun $V273_X$~1 () Bool) +(declare-fun $V274_X$~1 () Bool) +(declare-fun $V275_X$~1 () Bool) +(declare-fun $V276_X$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $request_door$0 () Bool) +(declare-fun $warning_start$0 () Bool) +(declare-fun $in_station$0 () Bool) +(declare-fun $door_is_open$0 () Bool) +(declare-fun $V60_open_door$2 () Bool) +(declare-fun $V61_close_door$2 () Bool) +(declare-fun $V62_door_ok$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V58_env_always_ok$2 () Bool) +(declare-fun $V59_prop_ok$2 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$2 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$2 () Bool) +(declare-fun $V252_X$2 () Bool) +(declare-fun $V253_between_A_and_X$2 () Bool) +(declare-fun $V264_env_ok$2 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$2 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$2 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$2 () Bool) +(declare-fun $V268_door_initially_closed$2 () Bool) +(declare-fun $V269_initially_not_in_station$2 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$2 () Bool) +(declare-fun $V271_warning_start_only_in_station$2 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$2 () Bool) +(declare-fun $V273_X$2 () Bool) +(declare-fun $V274_X$2 () Bool) +(declare-fun $V275_X$2 () Bool) +(declare-fun $V276_X$2 () Bool) +(declare-fun $~flatten0$2 () Bool) +(assert (and (T true $request_door$~1 $warning_start$~1 $in_station$~1 $door_is_open$~1 $V60_open_door$~1 $V61_close_door$~1 $V62_door_ok$~1 $OK$~1 $V58_env_always_ok$~1 $V59_prop_ok$~1 $V250_door_doesnt_open_out_of_station$~1 $V251_door_opens_before_leaving_station$~1 $V252_X$~1 $V253_between_A_and_X$~1 $V264_env_ok$~1 $V265_door_doesnt_close_if_not_asked$~1 $V266_door_doesnt_open_if_not_asked$~1 $V267_tramway_doesnt_start_if_not_door_ok$~1 $V268_door_initially_closed$~1 $V269_initially_not_in_station$~1 $V270_warning_start_and_in_station_go_down_simultaneously$~1 $V271_warning_start_only_in_station$~1 $V272_warning_start_cant_become_true_when_door_is_opening$~1 $V273_X$~1 $V274_X$~1 $V275_X$~1 $V276_X$~1 $~flatten0$~1 $request_door$0 $warning_start$0 $in_station$0 $door_is_open$0 $V60_open_door$2 $V61_close_door$2 $V62_door_ok$2 $OK$2 $V58_env_always_ok$2 $V59_prop_ok$2 $V250_door_doesnt_open_out_of_station$2 $V251_door_opens_before_leaving_station$2 $V252_X$2 $V253_between_A_and_X$2 $V264_env_ok$2 $V265_door_doesnt_close_if_not_asked$2 $V266_door_doesnt_open_if_not_asked$2 $V267_tramway_doesnt_start_if_not_door_ok$2 $V268_door_initially_closed$2 $V269_initially_not_in_station$2 $V270_warning_start_and_in_station_go_down_simultaneously$2 $V271_warning_start_only_in_station$2 $V272_warning_start_cant_become_true_when_door_is_opening$2 $V273_X$2 $V274_X$2 $V275_X$2 $V276_X$2 $~flatten0$2) $OK$2)) diff --git a/bench/tasks/tramway_e7_1834_base2_s_part.smt2 b/bench/tasks/tramway_e7_1834_base2_s_part.smt2 new file mode 100755 index 000000000..2507a6ace --- /dev/null +++ b/bench/tasks/tramway_e7_1834_base2_s_part.smt2 @@ -0,0 +1,91 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($request_door$0 Bool) ($warning_start$0 Bool) ($in_station$0 Bool) ($door_is_open$0 Bool) ($V60_open_door$0 Bool) ($V61_close_door$0 Bool) ($V62_door_ok$0 Bool) ($OK$0 Bool) ($V58_env_always_ok$0 Bool) ($V59_prop_ok$0 Bool) ($V250_door_doesnt_open_out_of_station$0 Bool) ($V251_door_opens_before_leaving_station$0 Bool) ($V252_X$0 Bool) ($V253_between_A_and_X$0 Bool) ($V264_env_ok$0 Bool) ($V265_door_doesnt_close_if_not_asked$0 Bool) ($V266_door_doesnt_open_if_not_asked$0 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$0 Bool) ($V268_door_initially_closed$0 Bool) ($V269_initially_not_in_station$0 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$0 Bool) ($V271_warning_start_only_in_station$0 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$0 Bool) ($V273_X$0 Bool) ($V274_X$0 Bool) ($V275_X$0 Bool) ($V276_X$0 Bool) ($~flatten0$0 Bool) ($request_door$1 Bool) ($warning_start$1 Bool) ($in_station$1 Bool) ($door_is_open$1 Bool) ($V60_open_door$1 Bool) ($V61_close_door$1 Bool) ($V62_door_ok$1 Bool) ($OK$1 Bool) ($V58_env_always_ok$1 Bool) ($V59_prop_ok$1 Bool) ($V250_door_doesnt_open_out_of_station$1 Bool) ($V251_door_opens_before_leaving_station$1 Bool) ($V252_X$1 Bool) ($V253_between_A_and_X$1 Bool) ($V264_env_ok$1 Bool) ($V265_door_doesnt_close_if_not_asked$1 Bool) ($V266_door_doesnt_open_if_not_asked$1 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$1 Bool) ($V268_door_initially_closed$1 Bool) ($V269_initially_not_in_station$1 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$1 Bool) ($V271_warning_start_only_in_station$1 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$1 Bool) ($V273_X$1 Bool) ($V274_X$1 Bool) ($V275_X$1 Bool) ($V276_X$1 Bool) ($~flatten0$1 Bool)) Bool (and (= $OK$1 (=> $V58_env_always_ok$1 $V59_prop_ok$1)) (= $V58_env_always_ok$1 (ite %init $V264_env_ok$1 (and $V264_env_ok$1 $V58_env_always_ok$0))) (= $V59_prop_ok$1 (and $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1)) (= $V250_door_doesnt_open_out_of_station$1 (=> $door_is_open$1 $in_station$1)) (= $V251_door_opens_before_leaving_station$1 (not (and $V253_between_A_and_X$1 (ite %init false (or $V252_X$1 (not $V252_X$0)))))) (= $V252_X$1 (not $in_station$1)) (= $V253_between_A_and_X$1 (ite (ite %init false (and $request_door$0 (not $warning_start$0))) true (ite (ite %init false $~flatten0$0) false (ite %init false $V253_between_A_and_X$0)))) (= $V264_env_ok$1 (and (and (and (and (and (and (and $V266_door_doesnt_open_if_not_asked$1 $V265_door_doesnt_close_if_not_asked$1) $V267_tramway_doesnt_start_if_not_door_ok$1) $V268_door_initially_closed$1) $V269_initially_not_in_station$1) $V270_warning_start_and_in_station_go_down_simultaneously$1) $V271_warning_start_only_in_station$1) $V272_warning_start_cant_become_true_when_door_is_opening$1)) (= $V265_door_doesnt_close_if_not_asked$1 (=> (ite %init false (or $door_is_open$1 (not $door_is_open$0))) $V60_open_door$1)) (= $V266_door_doesnt_open_if_not_asked$1 (=> (ite %init false (or $V273_X$1 (not $V273_X$0))) $V61_close_door$1)) (= $V267_tramway_doesnt_start_if_not_door_ok$1 (=> (ite %init false (or $V274_X$1 (not $V274_X$0))) (ite %init false $V62_door_ok$0))) (= $V268_door_initially_closed$1 (ite %init (not $door_is_open$1) true)) (= $V269_initially_not_in_station$1 (ite %init (not $in_station$1) true)) (= $V270_warning_start_and_in_station_go_down_simultaneously$1 (= (ite %init false (or $V275_X$1 (not $V275_X$0))) (ite %init false (or $V276_X$1 (not $V276_X$0))))) (= $V271_warning_start_only_in_station$1 (=> $warning_start$1 $in_station$1)) (= $V272_warning_start_cant_become_true_when_door_is_opening$1 (=> (ite %init false (or $warning_start$1 (not $warning_start$0))) (not $V60_open_door$1))) (= $V273_X$1 (not $door_is_open$1)) (= $V274_X$1 (not $in_station$1)) (= $V275_X$1 (not $in_station$1)) (= $V276_X$1 (not $warning_start$1)) (= $~flatten0$1 (ite %init false $door_is_open$0)))) +; Universally quantified variables +(declare-fun $request_door$~1 () Bool) +(declare-fun $warning_start$~1 () Bool) +(declare-fun $in_station$~1 () Bool) +(declare-fun $door_is_open$~1 () Bool) +(declare-fun $V60_open_door$~1 () Bool) +(declare-fun $V61_close_door$~1 () Bool) +(declare-fun $V62_door_ok$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V58_env_always_ok$~1 () Bool) +(declare-fun $V59_prop_ok$~1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$~1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$~1 () Bool) +(declare-fun $V252_X$~1 () Bool) +(declare-fun $V253_between_A_and_X$~1 () Bool) +(declare-fun $V264_env_ok$~1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$~1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$~1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$~1 () Bool) +(declare-fun $V268_door_initially_closed$~1 () Bool) +(declare-fun $V269_initially_not_in_station$~1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$~1 () Bool) +(declare-fun $V271_warning_start_only_in_station$~1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$~1 () Bool) +(declare-fun $V273_X$~1 () Bool) +(declare-fun $V274_X$~1 () Bool) +(declare-fun $V275_X$~1 () Bool) +(declare-fun $V276_X$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $request_door$0 () Bool) +(declare-fun $warning_start$0 () Bool) +(declare-fun $in_station$0 () Bool) +(declare-fun $door_is_open$0 () Bool) +(declare-fun $V60_open_door$0 () Bool) +(declare-fun $V61_close_door$0 () Bool) +(declare-fun $V62_door_ok$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V58_env_always_ok$0 () Bool) +(declare-fun $V59_prop_ok$0 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$0 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$0 () Bool) +(declare-fun $V252_X$0 () Bool) +(declare-fun $V253_between_A_and_X$0 () Bool) +(declare-fun $V264_env_ok$0 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$0 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$0 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$0 () Bool) +(declare-fun $V268_door_initially_closed$0 () Bool) +(declare-fun $V269_initially_not_in_station$0 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$0 () Bool) +(declare-fun $V271_warning_start_only_in_station$0 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$0 () Bool) +(declare-fun $V273_X$0 () Bool) +(declare-fun $V274_X$0 () Bool) +(declare-fun $V275_X$0 () Bool) +(declare-fun $V276_X$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(declare-fun $request_door$1 () Bool) +(declare-fun $warning_start$1 () Bool) +(declare-fun $in_station$1 () Bool) +(declare-fun $door_is_open$1 () Bool) +(declare-fun $V60_open_door$1 () Bool) +(declare-fun $V61_close_door$1 () Bool) +(declare-fun $V62_door_ok$1 () Bool) +(declare-fun $OK$1 () Bool) +(declare-fun $V58_env_always_ok$1 () Bool) +(declare-fun $V59_prop_ok$1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$1 () Bool) +(declare-fun $V252_X$1 () Bool) +(declare-fun $V253_between_A_and_X$1 () Bool) +(declare-fun $V264_env_ok$1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$1 () Bool) +(declare-fun $V268_door_initially_closed$1 () Bool) +(declare-fun $V269_initially_not_in_station$1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$1 () Bool) +(declare-fun $V271_warning_start_only_in_station$1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$1 () Bool) +(declare-fun $V273_X$1 () Bool) +(declare-fun $V274_X$1 () Bool) +(declare-fun $V275_X$1 () Bool) +(declare-fun $V276_X$1 () Bool) +(declare-fun $~flatten0$1 () Bool) +(assert (T true $request_door$~1 $warning_start$~1 $in_station$~1 $door_is_open$~1 $V60_open_door$~1 $V61_close_door$~1 $V62_door_ok$~1 $OK$~1 $V58_env_always_ok$~1 $V59_prop_ok$~1 $V250_door_doesnt_open_out_of_station$~1 $V251_door_opens_before_leaving_station$~1 $V252_X$~1 $V253_between_A_and_X$~1 $V264_env_ok$~1 $V265_door_doesnt_close_if_not_asked$~1 $V266_door_doesnt_open_if_not_asked$~1 $V267_tramway_doesnt_start_if_not_door_ok$~1 $V268_door_initially_closed$~1 $V269_initially_not_in_station$~1 $V270_warning_start_and_in_station_go_down_simultaneously$~1 $V271_warning_start_only_in_station$~1 $V272_warning_start_cant_become_true_when_door_is_opening$~1 $V273_X$~1 $V274_X$~1 $V275_X$~1 $V276_X$~1 $~flatten0$~1 $request_door$0 $warning_start$0 $in_station$0 $door_is_open$0 $V60_open_door$0 $V61_close_door$0 $V62_door_ok$0 $OK$0 $V58_env_always_ok$0 $V59_prop_ok$0 $V250_door_doesnt_open_out_of_station$0 $V251_door_opens_before_leaving_station$0 $V252_X$0 $V253_between_A_and_X$0 $V264_env_ok$0 $V265_door_doesnt_close_if_not_asked$0 $V266_door_doesnt_open_if_not_asked$0 $V267_tramway_doesnt_start_if_not_door_ok$0 $V268_door_initially_closed$0 $V269_initially_not_in_station$0 $V270_warning_start_and_in_station_go_down_simultaneously$0 $V271_warning_start_only_in_station$0 $V272_warning_start_cant_become_true_when_door_is_opening$0 $V273_X$0 $V274_X$0 $V275_X$0 $V276_X$0 $~flatten0$0)) +(assert $OK$0) +(assert (T false $request_door$0 $warning_start$0 $in_station$0 $door_is_open$0 $V60_open_door$0 $V61_close_door$0 $V62_door_ok$0 $OK$0 $V58_env_always_ok$0 $V59_prop_ok$0 $V250_door_doesnt_open_out_of_station$0 $V251_door_opens_before_leaving_station$0 $V252_X$0 $V253_between_A_and_X$0 $V264_env_ok$0 $V265_door_doesnt_close_if_not_asked$0 $V266_door_doesnt_open_if_not_asked$0 $V267_tramway_doesnt_start_if_not_door_ok$0 $V268_door_initially_closed$0 $V269_initially_not_in_station$0 $V270_warning_start_and_in_station_go_down_simultaneously$0 $V271_warning_start_only_in_station$0 $V272_warning_start_cant_become_true_when_door_is_opening$0 $V273_X$0 $V274_X$0 $V275_X$0 $V276_X$0 $~flatten0$0 $request_door$1 $warning_start$1 $in_station$1 $door_is_open$1 $V60_open_door$1 $V61_close_door$1 $V62_door_ok$1 $OK$1 $V58_env_always_ok$1 $V59_prop_ok$1 $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1 $V252_X$1 $V253_between_A_and_X$1 $V264_env_ok$1 $V265_door_doesnt_close_if_not_asked$1 $V266_door_doesnt_open_if_not_asked$1 $V267_tramway_doesnt_start_if_not_door_ok$1 $V268_door_initially_closed$1 $V269_initially_not_in_station$1 $V270_warning_start_and_in_station_go_down_simultaneously$1 $V271_warning_start_only_in_station$1 $V272_warning_start_cant_become_true_when_door_is_opening$1 $V273_X$1 $V274_X$1 $V275_X$1 $V276_X$1 $~flatten0$1)) diff --git a/bench/tasks/tramway_e7_1834_base2_t_part.smt2 b/bench/tasks/tramway_e7_1834_base2_t_part.smt2 new file mode 100755 index 000000000..2b1204d51 --- /dev/null +++ b/bench/tasks/tramway_e7_1834_base2_t_part.smt2 @@ -0,0 +1,89 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($request_door$0 Bool) ($warning_start$0 Bool) ($in_station$0 Bool) ($door_is_open$0 Bool) ($V60_open_door$0 Bool) ($V61_close_door$0 Bool) ($V62_door_ok$0 Bool) ($OK$0 Bool) ($V58_env_always_ok$0 Bool) ($V59_prop_ok$0 Bool) ($V250_door_doesnt_open_out_of_station$0 Bool) ($V251_door_opens_before_leaving_station$0 Bool) ($V252_X$0 Bool) ($V253_between_A_and_X$0 Bool) ($V264_env_ok$0 Bool) ($V265_door_doesnt_close_if_not_asked$0 Bool) ($V266_door_doesnt_open_if_not_asked$0 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$0 Bool) ($V268_door_initially_closed$0 Bool) ($V269_initially_not_in_station$0 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$0 Bool) ($V271_warning_start_only_in_station$0 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$0 Bool) ($V273_X$0 Bool) ($V274_X$0 Bool) ($V275_X$0 Bool) ($V276_X$0 Bool) ($~flatten0$0 Bool) ($request_door$1 Bool) ($warning_start$1 Bool) ($in_station$1 Bool) ($door_is_open$1 Bool) ($V60_open_door$1 Bool) ($V61_close_door$1 Bool) ($V62_door_ok$1 Bool) ($OK$1 Bool) ($V58_env_always_ok$1 Bool) ($V59_prop_ok$1 Bool) ($V250_door_doesnt_open_out_of_station$1 Bool) ($V251_door_opens_before_leaving_station$1 Bool) ($V252_X$1 Bool) ($V253_between_A_and_X$1 Bool) ($V264_env_ok$1 Bool) ($V265_door_doesnt_close_if_not_asked$1 Bool) ($V266_door_doesnt_open_if_not_asked$1 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$1 Bool) ($V268_door_initially_closed$1 Bool) ($V269_initially_not_in_station$1 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$1 Bool) ($V271_warning_start_only_in_station$1 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$1 Bool) ($V273_X$1 Bool) ($V274_X$1 Bool) ($V275_X$1 Bool) ($V276_X$1 Bool) ($~flatten0$1 Bool)) Bool (and (= $OK$1 (=> $V58_env_always_ok$1 $V59_prop_ok$1)) (= $V58_env_always_ok$1 (ite %init $V264_env_ok$1 (and $V264_env_ok$1 $V58_env_always_ok$0))) (= $V59_prop_ok$1 (and $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1)) (= $V250_door_doesnt_open_out_of_station$1 (=> $door_is_open$1 $in_station$1)) (= $V251_door_opens_before_leaving_station$1 (not (and $V253_between_A_and_X$1 (ite %init false (or $V252_X$1 (not $V252_X$0)))))) (= $V252_X$1 (not $in_station$1)) (= $V253_between_A_and_X$1 (ite (ite %init false (and $request_door$0 (not $warning_start$0))) true (ite (ite %init false $~flatten0$0) false (ite %init false $V253_between_A_and_X$0)))) (= $V264_env_ok$1 (and (and (and (and (and (and (and $V266_door_doesnt_open_if_not_asked$1 $V265_door_doesnt_close_if_not_asked$1) $V267_tramway_doesnt_start_if_not_door_ok$1) $V268_door_initially_closed$1) $V269_initially_not_in_station$1) $V270_warning_start_and_in_station_go_down_simultaneously$1) $V271_warning_start_only_in_station$1) $V272_warning_start_cant_become_true_when_door_is_opening$1)) (= $V265_door_doesnt_close_if_not_asked$1 (=> (ite %init false (or $door_is_open$1 (not $door_is_open$0))) $V60_open_door$1)) (= $V266_door_doesnt_open_if_not_asked$1 (=> (ite %init false (or $V273_X$1 (not $V273_X$0))) $V61_close_door$1)) (= $V267_tramway_doesnt_start_if_not_door_ok$1 (=> (ite %init false (or $V274_X$1 (not $V274_X$0))) (ite %init false $V62_door_ok$0))) (= $V268_door_initially_closed$1 (ite %init (not $door_is_open$1) true)) (= $V269_initially_not_in_station$1 (ite %init (not $in_station$1) true)) (= $V270_warning_start_and_in_station_go_down_simultaneously$1 (= (ite %init false (or $V275_X$1 (not $V275_X$0))) (ite %init false (or $V276_X$1 (not $V276_X$0))))) (= $V271_warning_start_only_in_station$1 (=> $warning_start$1 $in_station$1)) (= $V272_warning_start_cant_become_true_when_door_is_opening$1 (=> (ite %init false (or $warning_start$1 (not $warning_start$0))) (not $V60_open_door$1))) (= $V273_X$1 (not $door_is_open$1)) (= $V274_X$1 (not $in_station$1)) (= $V275_X$1 (not $in_station$1)) (= $V276_X$1 (not $warning_start$1)) (= $~flatten0$1 (ite %init false $door_is_open$0)))) +; Universally quantified variables +(declare-fun $request_door$~1 () Bool) +(declare-fun $warning_start$~1 () Bool) +(declare-fun $in_station$~1 () Bool) +(declare-fun $door_is_open$~1 () Bool) +(declare-fun $V60_open_door$~1 () Bool) +(declare-fun $V61_close_door$~1 () Bool) +(declare-fun $V62_door_ok$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V58_env_always_ok$~1 () Bool) +(declare-fun $V59_prop_ok$~1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$~1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$~1 () Bool) +(declare-fun $V252_X$~1 () Bool) +(declare-fun $V253_between_A_and_X$~1 () Bool) +(declare-fun $V264_env_ok$~1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$~1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$~1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$~1 () Bool) +(declare-fun $V268_door_initially_closed$~1 () Bool) +(declare-fun $V269_initially_not_in_station$~1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$~1 () Bool) +(declare-fun $V271_warning_start_only_in_station$~1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$~1 () Bool) +(declare-fun $V273_X$~1 () Bool) +(declare-fun $V274_X$~1 () Bool) +(declare-fun $V275_X$~1 () Bool) +(declare-fun $V276_X$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $request_door$0 () Bool) +(declare-fun $warning_start$0 () Bool) +(declare-fun $in_station$0 () Bool) +(declare-fun $door_is_open$0 () Bool) +(declare-fun $V60_open_door$0 () Bool) +(declare-fun $V61_close_door$0 () Bool) +(declare-fun $V62_door_ok$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V58_env_always_ok$0 () Bool) +(declare-fun $V59_prop_ok$0 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$0 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$0 () Bool) +(declare-fun $V252_X$0 () Bool) +(declare-fun $V253_between_A_and_X$0 () Bool) +(declare-fun $V264_env_ok$0 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$0 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$0 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$0 () Bool) +(declare-fun $V268_door_initially_closed$0 () Bool) +(declare-fun $V269_initially_not_in_station$0 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$0 () Bool) +(declare-fun $V271_warning_start_only_in_station$0 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$0 () Bool) +(declare-fun $V273_X$0 () Bool) +(declare-fun $V274_X$0 () Bool) +(declare-fun $V275_X$0 () Bool) +(declare-fun $V276_X$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(declare-fun $request_door$1 () Bool) +(declare-fun $warning_start$1 () Bool) +(declare-fun $in_station$1 () Bool) +(declare-fun $door_is_open$1 () Bool) +(declare-fun $V60_open_door$3 () Bool) +(declare-fun $V61_close_door$3 () Bool) +(declare-fun $V62_door_ok$3 () Bool) +(declare-fun $OK$3 () Bool) +(declare-fun $V58_env_always_ok$3 () Bool) +(declare-fun $V59_prop_ok$3 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$3 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$3 () Bool) +(declare-fun $V252_X$3 () Bool) +(declare-fun $V253_between_A_and_X$3 () Bool) +(declare-fun $V264_env_ok$3 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$3 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$3 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$3 () Bool) +(declare-fun $V268_door_initially_closed$3 () Bool) +(declare-fun $V269_initially_not_in_station$3 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$3 () Bool) +(declare-fun $V271_warning_start_only_in_station$3 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$3 () Bool) +(declare-fun $V273_X$3 () Bool) +(declare-fun $V274_X$3 () Bool) +(declare-fun $V275_X$3 () Bool) +(declare-fun $V276_X$3 () Bool) +(declare-fun $~flatten0$3 () Bool) +(assert (and (T false $request_door$0 $warning_start$0 $in_station$0 $door_is_open$0 $V60_open_door$0 $V61_close_door$0 $V62_door_ok$0 $OK$0 $V58_env_always_ok$0 $V59_prop_ok$0 $V250_door_doesnt_open_out_of_station$0 $V251_door_opens_before_leaving_station$0 $V252_X$0 $V253_between_A_and_X$0 $V264_env_ok$0 $V265_door_doesnt_close_if_not_asked$0 $V266_door_doesnt_open_if_not_asked$0 $V267_tramway_doesnt_start_if_not_door_ok$0 $V268_door_initially_closed$0 $V269_initially_not_in_station$0 $V270_warning_start_and_in_station_go_down_simultaneously$0 $V271_warning_start_only_in_station$0 $V272_warning_start_cant_become_true_when_door_is_opening$0 $V273_X$0 $V274_X$0 $V275_X$0 $V276_X$0 $~flatten0$0 $request_door$1 $warning_start$1 $in_station$1 $door_is_open$1 $V60_open_door$3 $V61_close_door$3 $V62_door_ok$3 $OK$3 $V58_env_always_ok$3 $V59_prop_ok$3 $V250_door_doesnt_open_out_of_station$3 $V251_door_opens_before_leaving_station$3 $V252_X$3 $V253_between_A_and_X$3 $V264_env_ok$3 $V265_door_doesnt_close_if_not_asked$3 $V266_door_doesnt_open_if_not_asked$3 $V267_tramway_doesnt_start_if_not_door_ok$3 $V268_door_initially_closed$3 $V269_initially_not_in_station$3 $V270_warning_start_and_in_station_go_down_simultaneously$3 $V271_warning_start_only_in_station$3 $V272_warning_start_cant_become_true_when_door_is_opening$3 $V273_X$3 $V274_X$3 $V275_X$3 $V276_X$3 $~flatten0$3) $OK$3)) diff --git a/bench/tasks/tramway_e7_1834_base3_s_part.smt2 b/bench/tasks/tramway_e7_1834_base3_s_part.smt2 new file mode 100755 index 000000000..49fd2f772 --- /dev/null +++ b/bench/tasks/tramway_e7_1834_base3_s_part.smt2 @@ -0,0 +1,121 @@ +; K = 3 +; Transition relation +(define-fun T ((%init Bool) ($request_door$0 Bool) ($warning_start$0 Bool) ($in_station$0 Bool) ($door_is_open$0 Bool) ($V60_open_door$0 Bool) ($V61_close_door$0 Bool) ($V62_door_ok$0 Bool) ($OK$0 Bool) ($V58_env_always_ok$0 Bool) ($V59_prop_ok$0 Bool) ($V250_door_doesnt_open_out_of_station$0 Bool) ($V251_door_opens_before_leaving_station$0 Bool) ($V252_X$0 Bool) ($V253_between_A_and_X$0 Bool) ($V264_env_ok$0 Bool) ($V265_door_doesnt_close_if_not_asked$0 Bool) ($V266_door_doesnt_open_if_not_asked$0 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$0 Bool) ($V268_door_initially_closed$0 Bool) ($V269_initially_not_in_station$0 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$0 Bool) ($V271_warning_start_only_in_station$0 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$0 Bool) ($V273_X$0 Bool) ($V274_X$0 Bool) ($V275_X$0 Bool) ($V276_X$0 Bool) ($~flatten0$0 Bool) ($request_door$1 Bool) ($warning_start$1 Bool) ($in_station$1 Bool) ($door_is_open$1 Bool) ($V60_open_door$1 Bool) ($V61_close_door$1 Bool) ($V62_door_ok$1 Bool) ($OK$1 Bool) ($V58_env_always_ok$1 Bool) ($V59_prop_ok$1 Bool) ($V250_door_doesnt_open_out_of_station$1 Bool) ($V251_door_opens_before_leaving_station$1 Bool) ($V252_X$1 Bool) ($V253_between_A_and_X$1 Bool) ($V264_env_ok$1 Bool) ($V265_door_doesnt_close_if_not_asked$1 Bool) ($V266_door_doesnt_open_if_not_asked$1 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$1 Bool) ($V268_door_initially_closed$1 Bool) ($V269_initially_not_in_station$1 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$1 Bool) ($V271_warning_start_only_in_station$1 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$1 Bool) ($V273_X$1 Bool) ($V274_X$1 Bool) ($V275_X$1 Bool) ($V276_X$1 Bool) ($~flatten0$1 Bool)) Bool (and (= $OK$1 (=> $V58_env_always_ok$1 $V59_prop_ok$1)) (= $V58_env_always_ok$1 (ite %init $V264_env_ok$1 (and $V264_env_ok$1 $V58_env_always_ok$0))) (= $V59_prop_ok$1 (and $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1)) (= $V250_door_doesnt_open_out_of_station$1 (=> $door_is_open$1 $in_station$1)) (= $V251_door_opens_before_leaving_station$1 (not (and $V253_between_A_and_X$1 (ite %init false (or $V252_X$1 (not $V252_X$0)))))) (= $V252_X$1 (not $in_station$1)) (= $V253_between_A_and_X$1 (ite (ite %init false (and $request_door$0 (not $warning_start$0))) true (ite (ite %init false $~flatten0$0) false (ite %init false $V253_between_A_and_X$0)))) (= $V264_env_ok$1 (and (and (and (and (and (and (and $V266_door_doesnt_open_if_not_asked$1 $V265_door_doesnt_close_if_not_asked$1) $V267_tramway_doesnt_start_if_not_door_ok$1) $V268_door_initially_closed$1) $V269_initially_not_in_station$1) $V270_warning_start_and_in_station_go_down_simultaneously$1) $V271_warning_start_only_in_station$1) $V272_warning_start_cant_become_true_when_door_is_opening$1)) (= $V265_door_doesnt_close_if_not_asked$1 (=> (ite %init false (or $door_is_open$1 (not $door_is_open$0))) $V60_open_door$1)) (= $V266_door_doesnt_open_if_not_asked$1 (=> (ite %init false (or $V273_X$1 (not $V273_X$0))) $V61_close_door$1)) (= $V267_tramway_doesnt_start_if_not_door_ok$1 (=> (ite %init false (or $V274_X$1 (not $V274_X$0))) (ite %init false $V62_door_ok$0))) (= $V268_door_initially_closed$1 (ite %init (not $door_is_open$1) true)) (= $V269_initially_not_in_station$1 (ite %init (not $in_station$1) true)) (= $V270_warning_start_and_in_station_go_down_simultaneously$1 (= (ite %init false (or $V275_X$1 (not $V275_X$0))) (ite %init false (or $V276_X$1 (not $V276_X$0))))) (= $V271_warning_start_only_in_station$1 (=> $warning_start$1 $in_station$1)) (= $V272_warning_start_cant_become_true_when_door_is_opening$1 (=> (ite %init false (or $warning_start$1 (not $warning_start$0))) (not $V60_open_door$1))) (= $V273_X$1 (not $door_is_open$1)) (= $V274_X$1 (not $in_station$1)) (= $V275_X$1 (not $in_station$1)) (= $V276_X$1 (not $warning_start$1)) (= $~flatten0$1 (ite %init false $door_is_open$0)))) +; Universally quantified variables +(declare-fun $request_door$~1 () Bool) +(declare-fun $warning_start$~1 () Bool) +(declare-fun $in_station$~1 () Bool) +(declare-fun $door_is_open$~1 () Bool) +(declare-fun $V60_open_door$~1 () Bool) +(declare-fun $V61_close_door$~1 () Bool) +(declare-fun $V62_door_ok$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V58_env_always_ok$~1 () Bool) +(declare-fun $V59_prop_ok$~1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$~1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$~1 () Bool) +(declare-fun $V252_X$~1 () Bool) +(declare-fun $V253_between_A_and_X$~1 () Bool) +(declare-fun $V264_env_ok$~1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$~1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$~1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$~1 () Bool) +(declare-fun $V268_door_initially_closed$~1 () Bool) +(declare-fun $V269_initially_not_in_station$~1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$~1 () Bool) +(declare-fun $V271_warning_start_only_in_station$~1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$~1 () Bool) +(declare-fun $V273_X$~1 () Bool) +(declare-fun $V274_X$~1 () Bool) +(declare-fun $V275_X$~1 () Bool) +(declare-fun $V276_X$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $request_door$0 () Bool) +(declare-fun $warning_start$0 () Bool) +(declare-fun $in_station$0 () Bool) +(declare-fun $door_is_open$0 () Bool) +(declare-fun $V60_open_door$0 () Bool) +(declare-fun $V61_close_door$0 () Bool) +(declare-fun $V62_door_ok$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V58_env_always_ok$0 () Bool) +(declare-fun $V59_prop_ok$0 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$0 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$0 () Bool) +(declare-fun $V252_X$0 () Bool) +(declare-fun $V253_between_A_and_X$0 () Bool) +(declare-fun $V264_env_ok$0 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$0 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$0 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$0 () Bool) +(declare-fun $V268_door_initially_closed$0 () Bool) +(declare-fun $V269_initially_not_in_station$0 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$0 () Bool) +(declare-fun $V271_warning_start_only_in_station$0 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$0 () Bool) +(declare-fun $V273_X$0 () Bool) +(declare-fun $V274_X$0 () Bool) +(declare-fun $V275_X$0 () Bool) +(declare-fun $V276_X$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(declare-fun $request_door$1 () Bool) +(declare-fun $warning_start$1 () Bool) +(declare-fun $in_station$1 () Bool) +(declare-fun $door_is_open$1 () Bool) +(declare-fun $V60_open_door$1 () Bool) +(declare-fun $V61_close_door$1 () Bool) +(declare-fun $V62_door_ok$1 () Bool) +(declare-fun $OK$1 () Bool) +(declare-fun $V58_env_always_ok$1 () Bool) +(declare-fun $V59_prop_ok$1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$1 () Bool) +(declare-fun $V252_X$1 () Bool) +(declare-fun $V253_between_A_and_X$1 () Bool) +(declare-fun $V264_env_ok$1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$1 () Bool) +(declare-fun $V268_door_initially_closed$1 () Bool) +(declare-fun $V269_initially_not_in_station$1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$1 () Bool) +(declare-fun $V271_warning_start_only_in_station$1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$1 () Bool) +(declare-fun $V273_X$1 () Bool) +(declare-fun $V274_X$1 () Bool) +(declare-fun $V275_X$1 () Bool) +(declare-fun $V276_X$1 () Bool) +(declare-fun $~flatten0$1 () Bool) +(declare-fun $request_door$2 () Bool) +(declare-fun $warning_start$2 () Bool) +(declare-fun $in_station$2 () Bool) +(declare-fun $door_is_open$2 () Bool) +(declare-fun $V60_open_door$2 () Bool) +(declare-fun $V61_close_door$2 () Bool) +(declare-fun $V62_door_ok$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V58_env_always_ok$2 () Bool) +(declare-fun $V59_prop_ok$2 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$2 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$2 () Bool) +(declare-fun $V252_X$2 () Bool) +(declare-fun $V253_between_A_and_X$2 () Bool) +(declare-fun $V264_env_ok$2 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$2 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$2 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$2 () Bool) +(declare-fun $V268_door_initially_closed$2 () Bool) +(declare-fun $V269_initially_not_in_station$2 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$2 () Bool) +(declare-fun $V271_warning_start_only_in_station$2 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$2 () Bool) +(declare-fun $V273_X$2 () Bool) +(declare-fun $V274_X$2 () Bool) +(declare-fun $V275_X$2 () Bool) +(declare-fun $V276_X$2 () Bool) +(declare-fun $~flatten0$2 () Bool) +(assert (T true $request_door$~1 $warning_start$~1 $in_station$~1 $door_is_open$~1 $V60_open_door$~1 $V61_close_door$~1 $V62_door_ok$~1 $OK$~1 $V58_env_always_ok$~1 $V59_prop_ok$~1 $V250_door_doesnt_open_out_of_station$~1 $V251_door_opens_before_leaving_station$~1 $V252_X$~1 $V253_between_A_and_X$~1 $V264_env_ok$~1 $V265_door_doesnt_close_if_not_asked$~1 $V266_door_doesnt_open_if_not_asked$~1 $V267_tramway_doesnt_start_if_not_door_ok$~1 $V268_door_initially_closed$~1 $V269_initially_not_in_station$~1 $V270_warning_start_and_in_station_go_down_simultaneously$~1 $V271_warning_start_only_in_station$~1 $V272_warning_start_cant_become_true_when_door_is_opening$~1 $V273_X$~1 $V274_X$~1 $V275_X$~1 $V276_X$~1 $~flatten0$~1 $request_door$0 $warning_start$0 $in_station$0 $door_is_open$0 $V60_open_door$0 $V61_close_door$0 $V62_door_ok$0 $OK$0 $V58_env_always_ok$0 $V59_prop_ok$0 $V250_door_doesnt_open_out_of_station$0 $V251_door_opens_before_leaving_station$0 $V252_X$0 $V253_between_A_and_X$0 $V264_env_ok$0 $V265_door_doesnt_close_if_not_asked$0 $V266_door_doesnt_open_if_not_asked$0 $V267_tramway_doesnt_start_if_not_door_ok$0 $V268_door_initially_closed$0 $V269_initially_not_in_station$0 $V270_warning_start_and_in_station_go_down_simultaneously$0 $V271_warning_start_only_in_station$0 $V272_warning_start_cant_become_true_when_door_is_opening$0 $V273_X$0 $V274_X$0 $V275_X$0 $V276_X$0 $~flatten0$0)) +(assert $OK$0) +(assert (T false $request_door$0 $warning_start$0 $in_station$0 $door_is_open$0 $V60_open_door$0 $V61_close_door$0 $V62_door_ok$0 $OK$0 $V58_env_always_ok$0 $V59_prop_ok$0 $V250_door_doesnt_open_out_of_station$0 $V251_door_opens_before_leaving_station$0 $V252_X$0 $V253_between_A_and_X$0 $V264_env_ok$0 $V265_door_doesnt_close_if_not_asked$0 $V266_door_doesnt_open_if_not_asked$0 $V267_tramway_doesnt_start_if_not_door_ok$0 $V268_door_initially_closed$0 $V269_initially_not_in_station$0 $V270_warning_start_and_in_station_go_down_simultaneously$0 $V271_warning_start_only_in_station$0 $V272_warning_start_cant_become_true_when_door_is_opening$0 $V273_X$0 $V274_X$0 $V275_X$0 $V276_X$0 $~flatten0$0 $request_door$1 $warning_start$1 $in_station$1 $door_is_open$1 $V60_open_door$1 $V61_close_door$1 $V62_door_ok$1 $OK$1 $V58_env_always_ok$1 $V59_prop_ok$1 $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1 $V252_X$1 $V253_between_A_and_X$1 $V264_env_ok$1 $V265_door_doesnt_close_if_not_asked$1 $V266_door_doesnt_open_if_not_asked$1 $V267_tramway_doesnt_start_if_not_door_ok$1 $V268_door_initially_closed$1 $V269_initially_not_in_station$1 $V270_warning_start_and_in_station_go_down_simultaneously$1 $V271_warning_start_only_in_station$1 $V272_warning_start_cant_become_true_when_door_is_opening$1 $V273_X$1 $V274_X$1 $V275_X$1 $V276_X$1 $~flatten0$1)) +(assert $OK$1) +(assert (T false $request_door$1 $warning_start$1 $in_station$1 $door_is_open$1 $V60_open_door$1 $V61_close_door$1 $V62_door_ok$1 $OK$1 $V58_env_always_ok$1 $V59_prop_ok$1 $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1 $V252_X$1 $V253_between_A_and_X$1 $V264_env_ok$1 $V265_door_doesnt_close_if_not_asked$1 $V266_door_doesnt_open_if_not_asked$1 $V267_tramway_doesnt_start_if_not_door_ok$1 $V268_door_initially_closed$1 $V269_initially_not_in_station$1 $V270_warning_start_and_in_station_go_down_simultaneously$1 $V271_warning_start_only_in_station$1 $V272_warning_start_cant_become_true_when_door_is_opening$1 $V273_X$1 $V274_X$1 $V275_X$1 $V276_X$1 $~flatten0$1 $request_door$2 $warning_start$2 $in_station$2 $door_is_open$2 $V60_open_door$2 $V61_close_door$2 $V62_door_ok$2 $OK$2 $V58_env_always_ok$2 $V59_prop_ok$2 $V250_door_doesnt_open_out_of_station$2 $V251_door_opens_before_leaving_station$2 $V252_X$2 $V253_between_A_and_X$2 $V264_env_ok$2 $V265_door_doesnt_close_if_not_asked$2 $V266_door_doesnt_open_if_not_asked$2 $V267_tramway_doesnt_start_if_not_door_ok$2 $V268_door_initially_closed$2 $V269_initially_not_in_station$2 $V270_warning_start_and_in_station_go_down_simultaneously$2 $V271_warning_start_only_in_station$2 $V272_warning_start_cant_become_true_when_door_is_opening$2 $V273_X$2 $V274_X$2 $V275_X$2 $V276_X$2 $~flatten0$2)) diff --git a/bench/tasks/tramway_e7_1834_base3_t_part.smt2 b/bench/tasks/tramway_e7_1834_base3_t_part.smt2 new file mode 100755 index 000000000..1d291bf0b --- /dev/null +++ b/bench/tasks/tramway_e7_1834_base3_t_part.smt2 @@ -0,0 +1,117 @@ +; K = 3 +; Transition relation +(define-fun T ((%init Bool) ($request_door$0 Bool) ($warning_start$0 Bool) ($in_station$0 Bool) ($door_is_open$0 Bool) ($V60_open_door$0 Bool) ($V61_close_door$0 Bool) ($V62_door_ok$0 Bool) ($OK$0 Bool) ($V58_env_always_ok$0 Bool) ($V59_prop_ok$0 Bool) ($V250_door_doesnt_open_out_of_station$0 Bool) ($V251_door_opens_before_leaving_station$0 Bool) ($V252_X$0 Bool) ($V253_between_A_and_X$0 Bool) ($V264_env_ok$0 Bool) ($V265_door_doesnt_close_if_not_asked$0 Bool) ($V266_door_doesnt_open_if_not_asked$0 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$0 Bool) ($V268_door_initially_closed$0 Bool) ($V269_initially_not_in_station$0 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$0 Bool) ($V271_warning_start_only_in_station$0 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$0 Bool) ($V273_X$0 Bool) ($V274_X$0 Bool) ($V275_X$0 Bool) ($V276_X$0 Bool) ($~flatten0$0 Bool) ($request_door$1 Bool) ($warning_start$1 Bool) ($in_station$1 Bool) ($door_is_open$1 Bool) ($V60_open_door$1 Bool) ($V61_close_door$1 Bool) ($V62_door_ok$1 Bool) ($OK$1 Bool) ($V58_env_always_ok$1 Bool) ($V59_prop_ok$1 Bool) ($V250_door_doesnt_open_out_of_station$1 Bool) ($V251_door_opens_before_leaving_station$1 Bool) ($V252_X$1 Bool) ($V253_between_A_and_X$1 Bool) ($V264_env_ok$1 Bool) ($V265_door_doesnt_close_if_not_asked$1 Bool) ($V266_door_doesnt_open_if_not_asked$1 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$1 Bool) ($V268_door_initially_closed$1 Bool) ($V269_initially_not_in_station$1 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$1 Bool) ($V271_warning_start_only_in_station$1 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$1 Bool) ($V273_X$1 Bool) ($V274_X$1 Bool) ($V275_X$1 Bool) ($V276_X$1 Bool) ($~flatten0$1 Bool)) Bool (and (= $OK$1 (=> $V58_env_always_ok$1 $V59_prop_ok$1)) (= $V58_env_always_ok$1 (ite %init $V264_env_ok$1 (and $V264_env_ok$1 $V58_env_always_ok$0))) (= $V59_prop_ok$1 (and $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1)) (= $V250_door_doesnt_open_out_of_station$1 (=> $door_is_open$1 $in_station$1)) (= $V251_door_opens_before_leaving_station$1 (not (and $V253_between_A_and_X$1 (ite %init false (or $V252_X$1 (not $V252_X$0)))))) (= $V252_X$1 (not $in_station$1)) (= $V253_between_A_and_X$1 (ite (ite %init false (and $request_door$0 (not $warning_start$0))) true (ite (ite %init false $~flatten0$0) false (ite %init false $V253_between_A_and_X$0)))) (= $V264_env_ok$1 (and (and (and (and (and (and (and $V266_door_doesnt_open_if_not_asked$1 $V265_door_doesnt_close_if_not_asked$1) $V267_tramway_doesnt_start_if_not_door_ok$1) $V268_door_initially_closed$1) $V269_initially_not_in_station$1) $V270_warning_start_and_in_station_go_down_simultaneously$1) $V271_warning_start_only_in_station$1) $V272_warning_start_cant_become_true_when_door_is_opening$1)) (= $V265_door_doesnt_close_if_not_asked$1 (=> (ite %init false (or $door_is_open$1 (not $door_is_open$0))) $V60_open_door$1)) (= $V266_door_doesnt_open_if_not_asked$1 (=> (ite %init false (or $V273_X$1 (not $V273_X$0))) $V61_close_door$1)) (= $V267_tramway_doesnt_start_if_not_door_ok$1 (=> (ite %init false (or $V274_X$1 (not $V274_X$0))) (ite %init false $V62_door_ok$0))) (= $V268_door_initially_closed$1 (ite %init (not $door_is_open$1) true)) (= $V269_initially_not_in_station$1 (ite %init (not $in_station$1) true)) (= $V270_warning_start_and_in_station_go_down_simultaneously$1 (= (ite %init false (or $V275_X$1 (not $V275_X$0))) (ite %init false (or $V276_X$1 (not $V276_X$0))))) (= $V271_warning_start_only_in_station$1 (=> $warning_start$1 $in_station$1)) (= $V272_warning_start_cant_become_true_when_door_is_opening$1 (=> (ite %init false (or $warning_start$1 (not $warning_start$0))) (not $V60_open_door$1))) (= $V273_X$1 (not $door_is_open$1)) (= $V274_X$1 (not $in_station$1)) (= $V275_X$1 (not $in_station$1)) (= $V276_X$1 (not $warning_start$1)) (= $~flatten0$1 (ite %init false $door_is_open$0)))) +; Universally quantified variables +(declare-fun $request_door$~1 () Bool) +(declare-fun $warning_start$~1 () Bool) +(declare-fun $in_station$~1 () Bool) +(declare-fun $door_is_open$~1 () Bool) +(declare-fun $V60_open_door$~1 () Bool) +(declare-fun $V61_close_door$~1 () Bool) +(declare-fun $V62_door_ok$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V58_env_always_ok$~1 () Bool) +(declare-fun $V59_prop_ok$~1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$~1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$~1 () Bool) +(declare-fun $V252_X$~1 () Bool) +(declare-fun $V253_between_A_and_X$~1 () Bool) +(declare-fun $V264_env_ok$~1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$~1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$~1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$~1 () Bool) +(declare-fun $V268_door_initially_closed$~1 () Bool) +(declare-fun $V269_initially_not_in_station$~1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$~1 () Bool) +(declare-fun $V271_warning_start_only_in_station$~1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$~1 () Bool) +(declare-fun $V273_X$~1 () Bool) +(declare-fun $V274_X$~1 () Bool) +(declare-fun $V275_X$~1 () Bool) +(declare-fun $V276_X$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $request_door$0 () Bool) +(declare-fun $warning_start$0 () Bool) +(declare-fun $in_station$0 () Bool) +(declare-fun $door_is_open$0 () Bool) +(declare-fun $V60_open_door$0 () Bool) +(declare-fun $V61_close_door$0 () Bool) +(declare-fun $V62_door_ok$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V58_env_always_ok$0 () Bool) +(declare-fun $V59_prop_ok$0 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$0 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$0 () Bool) +(declare-fun $V252_X$0 () Bool) +(declare-fun $V253_between_A_and_X$0 () Bool) +(declare-fun $V264_env_ok$0 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$0 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$0 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$0 () Bool) +(declare-fun $V268_door_initially_closed$0 () Bool) +(declare-fun $V269_initially_not_in_station$0 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$0 () Bool) +(declare-fun $V271_warning_start_only_in_station$0 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$0 () Bool) +(declare-fun $V273_X$0 () Bool) +(declare-fun $V274_X$0 () Bool) +(declare-fun $V275_X$0 () Bool) +(declare-fun $V276_X$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(declare-fun $request_door$1 () Bool) +(declare-fun $warning_start$1 () Bool) +(declare-fun $in_station$1 () Bool) +(declare-fun $door_is_open$1 () Bool) +(declare-fun $V60_open_door$1 () Bool) +(declare-fun $V61_close_door$1 () Bool) +(declare-fun $V62_door_ok$1 () Bool) +(declare-fun $OK$1 () Bool) +(declare-fun $V58_env_always_ok$1 () Bool) +(declare-fun $V59_prop_ok$1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$1 () Bool) +(declare-fun $V252_X$1 () Bool) +(declare-fun $V253_between_A_and_X$1 () Bool) +(declare-fun $V264_env_ok$1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$1 () Bool) +(declare-fun $V268_door_initially_closed$1 () Bool) +(declare-fun $V269_initially_not_in_station$1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$1 () Bool) +(declare-fun $V271_warning_start_only_in_station$1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$1 () Bool) +(declare-fun $V273_X$1 () Bool) +(declare-fun $V274_X$1 () Bool) +(declare-fun $V275_X$1 () Bool) +(declare-fun $V276_X$1 () Bool) +(declare-fun $~flatten0$1 () Bool) +(declare-fun $request_door$2 () Bool) +(declare-fun $warning_start$2 () Bool) +(declare-fun $in_station$2 () Bool) +(declare-fun $door_is_open$2 () Bool) +(declare-fun $V60_open_door$4 () Bool) +(declare-fun $V61_close_door$4 () Bool) +(declare-fun $V62_door_ok$4 () Bool) +(declare-fun $OK$4 () Bool) +(declare-fun $V58_env_always_ok$4 () Bool) +(declare-fun $V59_prop_ok$4 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$4 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$4 () Bool) +(declare-fun $V252_X$4 () Bool) +(declare-fun $V253_between_A_and_X$4 () Bool) +(declare-fun $V264_env_ok$4 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$4 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$4 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$4 () Bool) +(declare-fun $V268_door_initially_closed$4 () Bool) +(declare-fun $V269_initially_not_in_station$4 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$4 () Bool) +(declare-fun $V271_warning_start_only_in_station$4 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$4 () Bool) +(declare-fun $V273_X$4 () Bool) +(declare-fun $V274_X$4 () Bool) +(declare-fun $V275_X$4 () Bool) +(declare-fun $V276_X$4 () Bool) +(declare-fun $~flatten0$4 () Bool) +(assert (and (T false $request_door$1 $warning_start$1 $in_station$1 $door_is_open$1 $V60_open_door$1 $V61_close_door$1 $V62_door_ok$1 $OK$1 $V58_env_always_ok$1 $V59_prop_ok$1 $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1 $V252_X$1 $V253_between_A_and_X$1 $V264_env_ok$1 $V265_door_doesnt_close_if_not_asked$1 $V266_door_doesnt_open_if_not_asked$1 $V267_tramway_doesnt_start_if_not_door_ok$1 $V268_door_initially_closed$1 $V269_initially_not_in_station$1 $V270_warning_start_and_in_station_go_down_simultaneously$1 $V271_warning_start_only_in_station$1 $V272_warning_start_cant_become_true_when_door_is_opening$1 $V273_X$1 $V274_X$1 $V275_X$1 $V276_X$1 $~flatten0$1 $request_door$2 $warning_start$2 $in_station$2 $door_is_open$2 $V60_open_door$4 $V61_close_door$4 $V62_door_ok$4 $OK$4 $V58_env_always_ok$4 $V59_prop_ok$4 $V250_door_doesnt_open_out_of_station$4 $V251_door_opens_before_leaving_station$4 $V252_X$4 $V253_between_A_and_X$4 $V264_env_ok$4 $V265_door_doesnt_close_if_not_asked$4 $V266_door_doesnt_open_if_not_asked$4 $V267_tramway_doesnt_start_if_not_door_ok$4 $V268_door_initially_closed$4 $V269_initially_not_in_station$4 $V270_warning_start_and_in_station_go_down_simultaneously$4 $V271_warning_start_only_in_station$4 $V272_warning_start_cant_become_true_when_door_is_opening$4 $V273_X$4 $V274_X$4 $V275_X$4 $V276_X$4 $~flatten0$4) $OK$4)) diff --git a/bench/tasks/tramway_e7_1834_base4_s_part.smt2 b/bench/tasks/tramway_e7_1834_base4_s_part.smt2 new file mode 100755 index 000000000..b21f62753 --- /dev/null +++ b/bench/tasks/tramway_e7_1834_base4_s_part.smt2 @@ -0,0 +1,151 @@ +; K = 4 +; Transition relation +(define-fun T ((%init Bool) ($request_door$0 Bool) ($warning_start$0 Bool) ($in_station$0 Bool) ($door_is_open$0 Bool) ($V60_open_door$0 Bool) ($V61_close_door$0 Bool) ($V62_door_ok$0 Bool) ($OK$0 Bool) ($V58_env_always_ok$0 Bool) ($V59_prop_ok$0 Bool) ($V250_door_doesnt_open_out_of_station$0 Bool) ($V251_door_opens_before_leaving_station$0 Bool) ($V252_X$0 Bool) ($V253_between_A_and_X$0 Bool) ($V264_env_ok$0 Bool) ($V265_door_doesnt_close_if_not_asked$0 Bool) ($V266_door_doesnt_open_if_not_asked$0 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$0 Bool) ($V268_door_initially_closed$0 Bool) ($V269_initially_not_in_station$0 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$0 Bool) ($V271_warning_start_only_in_station$0 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$0 Bool) ($V273_X$0 Bool) ($V274_X$0 Bool) ($V275_X$0 Bool) ($V276_X$0 Bool) ($~flatten0$0 Bool) ($request_door$1 Bool) ($warning_start$1 Bool) ($in_station$1 Bool) ($door_is_open$1 Bool) ($V60_open_door$1 Bool) ($V61_close_door$1 Bool) ($V62_door_ok$1 Bool) ($OK$1 Bool) ($V58_env_always_ok$1 Bool) ($V59_prop_ok$1 Bool) ($V250_door_doesnt_open_out_of_station$1 Bool) ($V251_door_opens_before_leaving_station$1 Bool) ($V252_X$1 Bool) ($V253_between_A_and_X$1 Bool) ($V264_env_ok$1 Bool) ($V265_door_doesnt_close_if_not_asked$1 Bool) ($V266_door_doesnt_open_if_not_asked$1 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$1 Bool) ($V268_door_initially_closed$1 Bool) ($V269_initially_not_in_station$1 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$1 Bool) ($V271_warning_start_only_in_station$1 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$1 Bool) ($V273_X$1 Bool) ($V274_X$1 Bool) ($V275_X$1 Bool) ($V276_X$1 Bool) ($~flatten0$1 Bool)) Bool (and (= $OK$1 (=> $V58_env_always_ok$1 $V59_prop_ok$1)) (= $V58_env_always_ok$1 (ite %init $V264_env_ok$1 (and $V264_env_ok$1 $V58_env_always_ok$0))) (= $V59_prop_ok$1 (and $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1)) (= $V250_door_doesnt_open_out_of_station$1 (=> $door_is_open$1 $in_station$1)) (= $V251_door_opens_before_leaving_station$1 (not (and $V253_between_A_and_X$1 (ite %init false (or $V252_X$1 (not $V252_X$0)))))) (= $V252_X$1 (not $in_station$1)) (= $V253_between_A_and_X$1 (ite (ite %init false (and $request_door$0 (not $warning_start$0))) true (ite (ite %init false $~flatten0$0) false (ite %init false $V253_between_A_and_X$0)))) (= $V264_env_ok$1 (and (and (and (and (and (and (and $V266_door_doesnt_open_if_not_asked$1 $V265_door_doesnt_close_if_not_asked$1) $V267_tramway_doesnt_start_if_not_door_ok$1) $V268_door_initially_closed$1) $V269_initially_not_in_station$1) $V270_warning_start_and_in_station_go_down_simultaneously$1) $V271_warning_start_only_in_station$1) $V272_warning_start_cant_become_true_when_door_is_opening$1)) (= $V265_door_doesnt_close_if_not_asked$1 (=> (ite %init false (or $door_is_open$1 (not $door_is_open$0))) $V60_open_door$1)) (= $V266_door_doesnt_open_if_not_asked$1 (=> (ite %init false (or $V273_X$1 (not $V273_X$0))) $V61_close_door$1)) (= $V267_tramway_doesnt_start_if_not_door_ok$1 (=> (ite %init false (or $V274_X$1 (not $V274_X$0))) (ite %init false $V62_door_ok$0))) (= $V268_door_initially_closed$1 (ite %init (not $door_is_open$1) true)) (= $V269_initially_not_in_station$1 (ite %init (not $in_station$1) true)) (= $V270_warning_start_and_in_station_go_down_simultaneously$1 (= (ite %init false (or $V275_X$1 (not $V275_X$0))) (ite %init false (or $V276_X$1 (not $V276_X$0))))) (= $V271_warning_start_only_in_station$1 (=> $warning_start$1 $in_station$1)) (= $V272_warning_start_cant_become_true_when_door_is_opening$1 (=> (ite %init false (or $warning_start$1 (not $warning_start$0))) (not $V60_open_door$1))) (= $V273_X$1 (not $door_is_open$1)) (= $V274_X$1 (not $in_station$1)) (= $V275_X$1 (not $in_station$1)) (= $V276_X$1 (not $warning_start$1)) (= $~flatten0$1 (ite %init false $door_is_open$0)))) +; Universally quantified variables +(declare-fun $request_door$~1 () Bool) +(declare-fun $warning_start$~1 () Bool) +(declare-fun $in_station$~1 () Bool) +(declare-fun $door_is_open$~1 () Bool) +(declare-fun $V60_open_door$~1 () Bool) +(declare-fun $V61_close_door$~1 () Bool) +(declare-fun $V62_door_ok$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V58_env_always_ok$~1 () Bool) +(declare-fun $V59_prop_ok$~1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$~1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$~1 () Bool) +(declare-fun $V252_X$~1 () Bool) +(declare-fun $V253_between_A_and_X$~1 () Bool) +(declare-fun $V264_env_ok$~1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$~1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$~1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$~1 () Bool) +(declare-fun $V268_door_initially_closed$~1 () Bool) +(declare-fun $V269_initially_not_in_station$~1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$~1 () Bool) +(declare-fun $V271_warning_start_only_in_station$~1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$~1 () Bool) +(declare-fun $V273_X$~1 () Bool) +(declare-fun $V274_X$~1 () Bool) +(declare-fun $V275_X$~1 () Bool) +(declare-fun $V276_X$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $request_door$0 () Bool) +(declare-fun $warning_start$0 () Bool) +(declare-fun $in_station$0 () Bool) +(declare-fun $door_is_open$0 () Bool) +(declare-fun $V60_open_door$0 () Bool) +(declare-fun $V61_close_door$0 () Bool) +(declare-fun $V62_door_ok$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V58_env_always_ok$0 () Bool) +(declare-fun $V59_prop_ok$0 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$0 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$0 () Bool) +(declare-fun $V252_X$0 () Bool) +(declare-fun $V253_between_A_and_X$0 () Bool) +(declare-fun $V264_env_ok$0 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$0 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$0 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$0 () Bool) +(declare-fun $V268_door_initially_closed$0 () Bool) +(declare-fun $V269_initially_not_in_station$0 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$0 () Bool) +(declare-fun $V271_warning_start_only_in_station$0 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$0 () Bool) +(declare-fun $V273_X$0 () Bool) +(declare-fun $V274_X$0 () Bool) +(declare-fun $V275_X$0 () Bool) +(declare-fun $V276_X$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(declare-fun $request_door$1 () Bool) +(declare-fun $warning_start$1 () Bool) +(declare-fun $in_station$1 () Bool) +(declare-fun $door_is_open$1 () Bool) +(declare-fun $V60_open_door$1 () Bool) +(declare-fun $V61_close_door$1 () Bool) +(declare-fun $V62_door_ok$1 () Bool) +(declare-fun $OK$1 () Bool) +(declare-fun $V58_env_always_ok$1 () Bool) +(declare-fun $V59_prop_ok$1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$1 () Bool) +(declare-fun $V252_X$1 () Bool) +(declare-fun $V253_between_A_and_X$1 () Bool) +(declare-fun $V264_env_ok$1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$1 () Bool) +(declare-fun $V268_door_initially_closed$1 () Bool) +(declare-fun $V269_initially_not_in_station$1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$1 () Bool) +(declare-fun $V271_warning_start_only_in_station$1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$1 () Bool) +(declare-fun $V273_X$1 () Bool) +(declare-fun $V274_X$1 () Bool) +(declare-fun $V275_X$1 () Bool) +(declare-fun $V276_X$1 () Bool) +(declare-fun $~flatten0$1 () Bool) +(declare-fun $request_door$2 () Bool) +(declare-fun $warning_start$2 () Bool) +(declare-fun $in_station$2 () Bool) +(declare-fun $door_is_open$2 () Bool) +(declare-fun $V60_open_door$2 () Bool) +(declare-fun $V61_close_door$2 () Bool) +(declare-fun $V62_door_ok$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V58_env_always_ok$2 () Bool) +(declare-fun $V59_prop_ok$2 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$2 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$2 () Bool) +(declare-fun $V252_X$2 () Bool) +(declare-fun $V253_between_A_and_X$2 () Bool) +(declare-fun $V264_env_ok$2 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$2 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$2 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$2 () Bool) +(declare-fun $V268_door_initially_closed$2 () Bool) +(declare-fun $V269_initially_not_in_station$2 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$2 () Bool) +(declare-fun $V271_warning_start_only_in_station$2 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$2 () Bool) +(declare-fun $V273_X$2 () Bool) +(declare-fun $V274_X$2 () Bool) +(declare-fun $V275_X$2 () Bool) +(declare-fun $V276_X$2 () Bool) +(declare-fun $~flatten0$2 () Bool) +(declare-fun $request_door$3 () Bool) +(declare-fun $warning_start$3 () Bool) +(declare-fun $in_station$3 () Bool) +(declare-fun $door_is_open$3 () Bool) +(declare-fun $V60_open_door$3 () Bool) +(declare-fun $V61_close_door$3 () Bool) +(declare-fun $V62_door_ok$3 () Bool) +(declare-fun $OK$3 () Bool) +(declare-fun $V58_env_always_ok$3 () Bool) +(declare-fun $V59_prop_ok$3 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$3 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$3 () Bool) +(declare-fun $V252_X$3 () Bool) +(declare-fun $V253_between_A_and_X$3 () Bool) +(declare-fun $V264_env_ok$3 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$3 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$3 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$3 () Bool) +(declare-fun $V268_door_initially_closed$3 () Bool) +(declare-fun $V269_initially_not_in_station$3 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$3 () Bool) +(declare-fun $V271_warning_start_only_in_station$3 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$3 () Bool) +(declare-fun $V273_X$3 () Bool) +(declare-fun $V274_X$3 () Bool) +(declare-fun $V275_X$3 () Bool) +(declare-fun $V276_X$3 () Bool) +(declare-fun $~flatten0$3 () Bool) +(assert (T true $request_door$~1 $warning_start$~1 $in_station$~1 $door_is_open$~1 $V60_open_door$~1 $V61_close_door$~1 $V62_door_ok$~1 $OK$~1 $V58_env_always_ok$~1 $V59_prop_ok$~1 $V250_door_doesnt_open_out_of_station$~1 $V251_door_opens_before_leaving_station$~1 $V252_X$~1 $V253_between_A_and_X$~1 $V264_env_ok$~1 $V265_door_doesnt_close_if_not_asked$~1 $V266_door_doesnt_open_if_not_asked$~1 $V267_tramway_doesnt_start_if_not_door_ok$~1 $V268_door_initially_closed$~1 $V269_initially_not_in_station$~1 $V270_warning_start_and_in_station_go_down_simultaneously$~1 $V271_warning_start_only_in_station$~1 $V272_warning_start_cant_become_true_when_door_is_opening$~1 $V273_X$~1 $V274_X$~1 $V275_X$~1 $V276_X$~1 $~flatten0$~1 $request_door$0 $warning_start$0 $in_station$0 $door_is_open$0 $V60_open_door$0 $V61_close_door$0 $V62_door_ok$0 $OK$0 $V58_env_always_ok$0 $V59_prop_ok$0 $V250_door_doesnt_open_out_of_station$0 $V251_door_opens_before_leaving_station$0 $V252_X$0 $V253_between_A_and_X$0 $V264_env_ok$0 $V265_door_doesnt_close_if_not_asked$0 $V266_door_doesnt_open_if_not_asked$0 $V267_tramway_doesnt_start_if_not_door_ok$0 $V268_door_initially_closed$0 $V269_initially_not_in_station$0 $V270_warning_start_and_in_station_go_down_simultaneously$0 $V271_warning_start_only_in_station$0 $V272_warning_start_cant_become_true_when_door_is_opening$0 $V273_X$0 $V274_X$0 $V275_X$0 $V276_X$0 $~flatten0$0)) +(assert $OK$0) +(assert (T false $request_door$0 $warning_start$0 $in_station$0 $door_is_open$0 $V60_open_door$0 $V61_close_door$0 $V62_door_ok$0 $OK$0 $V58_env_always_ok$0 $V59_prop_ok$0 $V250_door_doesnt_open_out_of_station$0 $V251_door_opens_before_leaving_station$0 $V252_X$0 $V253_between_A_and_X$0 $V264_env_ok$0 $V265_door_doesnt_close_if_not_asked$0 $V266_door_doesnt_open_if_not_asked$0 $V267_tramway_doesnt_start_if_not_door_ok$0 $V268_door_initially_closed$0 $V269_initially_not_in_station$0 $V270_warning_start_and_in_station_go_down_simultaneously$0 $V271_warning_start_only_in_station$0 $V272_warning_start_cant_become_true_when_door_is_opening$0 $V273_X$0 $V274_X$0 $V275_X$0 $V276_X$0 $~flatten0$0 $request_door$1 $warning_start$1 $in_station$1 $door_is_open$1 $V60_open_door$1 $V61_close_door$1 $V62_door_ok$1 $OK$1 $V58_env_always_ok$1 $V59_prop_ok$1 $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1 $V252_X$1 $V253_between_A_and_X$1 $V264_env_ok$1 $V265_door_doesnt_close_if_not_asked$1 $V266_door_doesnt_open_if_not_asked$1 $V267_tramway_doesnt_start_if_not_door_ok$1 $V268_door_initially_closed$1 $V269_initially_not_in_station$1 $V270_warning_start_and_in_station_go_down_simultaneously$1 $V271_warning_start_only_in_station$1 $V272_warning_start_cant_become_true_when_door_is_opening$1 $V273_X$1 $V274_X$1 $V275_X$1 $V276_X$1 $~flatten0$1)) +(assert $OK$1) +(assert (T false $request_door$1 $warning_start$1 $in_station$1 $door_is_open$1 $V60_open_door$1 $V61_close_door$1 $V62_door_ok$1 $OK$1 $V58_env_always_ok$1 $V59_prop_ok$1 $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1 $V252_X$1 $V253_between_A_and_X$1 $V264_env_ok$1 $V265_door_doesnt_close_if_not_asked$1 $V266_door_doesnt_open_if_not_asked$1 $V267_tramway_doesnt_start_if_not_door_ok$1 $V268_door_initially_closed$1 $V269_initially_not_in_station$1 $V270_warning_start_and_in_station_go_down_simultaneously$1 $V271_warning_start_only_in_station$1 $V272_warning_start_cant_become_true_when_door_is_opening$1 $V273_X$1 $V274_X$1 $V275_X$1 $V276_X$1 $~flatten0$1 $request_door$2 $warning_start$2 $in_station$2 $door_is_open$2 $V60_open_door$2 $V61_close_door$2 $V62_door_ok$2 $OK$2 $V58_env_always_ok$2 $V59_prop_ok$2 $V250_door_doesnt_open_out_of_station$2 $V251_door_opens_before_leaving_station$2 $V252_X$2 $V253_between_A_and_X$2 $V264_env_ok$2 $V265_door_doesnt_close_if_not_asked$2 $V266_door_doesnt_open_if_not_asked$2 $V267_tramway_doesnt_start_if_not_door_ok$2 $V268_door_initially_closed$2 $V269_initially_not_in_station$2 $V270_warning_start_and_in_station_go_down_simultaneously$2 $V271_warning_start_only_in_station$2 $V272_warning_start_cant_become_true_when_door_is_opening$2 $V273_X$2 $V274_X$2 $V275_X$2 $V276_X$2 $~flatten0$2)) +(assert $OK$2) +(assert (T false $request_door$2 $warning_start$2 $in_station$2 $door_is_open$2 $V60_open_door$2 $V61_close_door$2 $V62_door_ok$2 $OK$2 $V58_env_always_ok$2 $V59_prop_ok$2 $V250_door_doesnt_open_out_of_station$2 $V251_door_opens_before_leaving_station$2 $V252_X$2 $V253_between_A_and_X$2 $V264_env_ok$2 $V265_door_doesnt_close_if_not_asked$2 $V266_door_doesnt_open_if_not_asked$2 $V267_tramway_doesnt_start_if_not_door_ok$2 $V268_door_initially_closed$2 $V269_initially_not_in_station$2 $V270_warning_start_and_in_station_go_down_simultaneously$2 $V271_warning_start_only_in_station$2 $V272_warning_start_cant_become_true_when_door_is_opening$2 $V273_X$2 $V274_X$2 $V275_X$2 $V276_X$2 $~flatten0$2 $request_door$3 $warning_start$3 $in_station$3 $door_is_open$3 $V60_open_door$3 $V61_close_door$3 $V62_door_ok$3 $OK$3 $V58_env_always_ok$3 $V59_prop_ok$3 $V250_door_doesnt_open_out_of_station$3 $V251_door_opens_before_leaving_station$3 $V252_X$3 $V253_between_A_and_X$3 $V264_env_ok$3 $V265_door_doesnt_close_if_not_asked$3 $V266_door_doesnt_open_if_not_asked$3 $V267_tramway_doesnt_start_if_not_door_ok$3 $V268_door_initially_closed$3 $V269_initially_not_in_station$3 $V270_warning_start_and_in_station_go_down_simultaneously$3 $V271_warning_start_only_in_station$3 $V272_warning_start_cant_become_true_when_door_is_opening$3 $V273_X$3 $V274_X$3 $V275_X$3 $V276_X$3 $~flatten0$3)) diff --git a/bench/tasks/tramway_e7_1834_base4_t_part.smt2 b/bench/tasks/tramway_e7_1834_base4_t_part.smt2 new file mode 100755 index 000000000..925a510e6 --- /dev/null +++ b/bench/tasks/tramway_e7_1834_base4_t_part.smt2 @@ -0,0 +1,145 @@ +; K = 4 +; Transition relation +(define-fun T ((%init Bool) ($request_door$0 Bool) ($warning_start$0 Bool) ($in_station$0 Bool) ($door_is_open$0 Bool) ($V60_open_door$0 Bool) ($V61_close_door$0 Bool) ($V62_door_ok$0 Bool) ($OK$0 Bool) ($V58_env_always_ok$0 Bool) ($V59_prop_ok$0 Bool) ($V250_door_doesnt_open_out_of_station$0 Bool) ($V251_door_opens_before_leaving_station$0 Bool) ($V252_X$0 Bool) ($V253_between_A_and_X$0 Bool) ($V264_env_ok$0 Bool) ($V265_door_doesnt_close_if_not_asked$0 Bool) ($V266_door_doesnt_open_if_not_asked$0 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$0 Bool) ($V268_door_initially_closed$0 Bool) ($V269_initially_not_in_station$0 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$0 Bool) ($V271_warning_start_only_in_station$0 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$0 Bool) ($V273_X$0 Bool) ($V274_X$0 Bool) ($V275_X$0 Bool) ($V276_X$0 Bool) ($~flatten0$0 Bool) ($request_door$1 Bool) ($warning_start$1 Bool) ($in_station$1 Bool) ($door_is_open$1 Bool) ($V60_open_door$1 Bool) ($V61_close_door$1 Bool) ($V62_door_ok$1 Bool) ($OK$1 Bool) ($V58_env_always_ok$1 Bool) ($V59_prop_ok$1 Bool) ($V250_door_doesnt_open_out_of_station$1 Bool) ($V251_door_opens_before_leaving_station$1 Bool) ($V252_X$1 Bool) ($V253_between_A_and_X$1 Bool) ($V264_env_ok$1 Bool) ($V265_door_doesnt_close_if_not_asked$1 Bool) ($V266_door_doesnt_open_if_not_asked$1 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$1 Bool) ($V268_door_initially_closed$1 Bool) ($V269_initially_not_in_station$1 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$1 Bool) ($V271_warning_start_only_in_station$1 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$1 Bool) ($V273_X$1 Bool) ($V274_X$1 Bool) ($V275_X$1 Bool) ($V276_X$1 Bool) ($~flatten0$1 Bool)) Bool (and (= $OK$1 (=> $V58_env_always_ok$1 $V59_prop_ok$1)) (= $V58_env_always_ok$1 (ite %init $V264_env_ok$1 (and $V264_env_ok$1 $V58_env_always_ok$0))) (= $V59_prop_ok$1 (and $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1)) (= $V250_door_doesnt_open_out_of_station$1 (=> $door_is_open$1 $in_station$1)) (= $V251_door_opens_before_leaving_station$1 (not (and $V253_between_A_and_X$1 (ite %init false (or $V252_X$1 (not $V252_X$0)))))) (= $V252_X$1 (not $in_station$1)) (= $V253_between_A_and_X$1 (ite (ite %init false (and $request_door$0 (not $warning_start$0))) true (ite (ite %init false $~flatten0$0) false (ite %init false $V253_between_A_and_X$0)))) (= $V264_env_ok$1 (and (and (and (and (and (and (and $V266_door_doesnt_open_if_not_asked$1 $V265_door_doesnt_close_if_not_asked$1) $V267_tramway_doesnt_start_if_not_door_ok$1) $V268_door_initially_closed$1) $V269_initially_not_in_station$1) $V270_warning_start_and_in_station_go_down_simultaneously$1) $V271_warning_start_only_in_station$1) $V272_warning_start_cant_become_true_when_door_is_opening$1)) (= $V265_door_doesnt_close_if_not_asked$1 (=> (ite %init false (or $door_is_open$1 (not $door_is_open$0))) $V60_open_door$1)) (= $V266_door_doesnt_open_if_not_asked$1 (=> (ite %init false (or $V273_X$1 (not $V273_X$0))) $V61_close_door$1)) (= $V267_tramway_doesnt_start_if_not_door_ok$1 (=> (ite %init false (or $V274_X$1 (not $V274_X$0))) (ite %init false $V62_door_ok$0))) (= $V268_door_initially_closed$1 (ite %init (not $door_is_open$1) true)) (= $V269_initially_not_in_station$1 (ite %init (not $in_station$1) true)) (= $V270_warning_start_and_in_station_go_down_simultaneously$1 (= (ite %init false (or $V275_X$1 (not $V275_X$0))) (ite %init false (or $V276_X$1 (not $V276_X$0))))) (= $V271_warning_start_only_in_station$1 (=> $warning_start$1 $in_station$1)) (= $V272_warning_start_cant_become_true_when_door_is_opening$1 (=> (ite %init false (or $warning_start$1 (not $warning_start$0))) (not $V60_open_door$1))) (= $V273_X$1 (not $door_is_open$1)) (= $V274_X$1 (not $in_station$1)) (= $V275_X$1 (not $in_station$1)) (= $V276_X$1 (not $warning_start$1)) (= $~flatten0$1 (ite %init false $door_is_open$0)))) +; Universally quantified variables +(declare-fun $request_door$~1 () Bool) +(declare-fun $warning_start$~1 () Bool) +(declare-fun $in_station$~1 () Bool) +(declare-fun $door_is_open$~1 () Bool) +(declare-fun $V60_open_door$~1 () Bool) +(declare-fun $V61_close_door$~1 () Bool) +(declare-fun $V62_door_ok$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V58_env_always_ok$~1 () Bool) +(declare-fun $V59_prop_ok$~1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$~1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$~1 () Bool) +(declare-fun $V252_X$~1 () Bool) +(declare-fun $V253_between_A_and_X$~1 () Bool) +(declare-fun $V264_env_ok$~1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$~1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$~1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$~1 () Bool) +(declare-fun $V268_door_initially_closed$~1 () Bool) +(declare-fun $V269_initially_not_in_station$~1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$~1 () Bool) +(declare-fun $V271_warning_start_only_in_station$~1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$~1 () Bool) +(declare-fun $V273_X$~1 () Bool) +(declare-fun $V274_X$~1 () Bool) +(declare-fun $V275_X$~1 () Bool) +(declare-fun $V276_X$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $request_door$0 () Bool) +(declare-fun $warning_start$0 () Bool) +(declare-fun $in_station$0 () Bool) +(declare-fun $door_is_open$0 () Bool) +(declare-fun $V60_open_door$0 () Bool) +(declare-fun $V61_close_door$0 () Bool) +(declare-fun $V62_door_ok$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V58_env_always_ok$0 () Bool) +(declare-fun $V59_prop_ok$0 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$0 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$0 () Bool) +(declare-fun $V252_X$0 () Bool) +(declare-fun $V253_between_A_and_X$0 () Bool) +(declare-fun $V264_env_ok$0 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$0 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$0 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$0 () Bool) +(declare-fun $V268_door_initially_closed$0 () Bool) +(declare-fun $V269_initially_not_in_station$0 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$0 () Bool) +(declare-fun $V271_warning_start_only_in_station$0 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$0 () Bool) +(declare-fun $V273_X$0 () Bool) +(declare-fun $V274_X$0 () Bool) +(declare-fun $V275_X$0 () Bool) +(declare-fun $V276_X$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(declare-fun $request_door$1 () Bool) +(declare-fun $warning_start$1 () Bool) +(declare-fun $in_station$1 () Bool) +(declare-fun $door_is_open$1 () Bool) +(declare-fun $V60_open_door$1 () Bool) +(declare-fun $V61_close_door$1 () Bool) +(declare-fun $V62_door_ok$1 () Bool) +(declare-fun $OK$1 () Bool) +(declare-fun $V58_env_always_ok$1 () Bool) +(declare-fun $V59_prop_ok$1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$1 () Bool) +(declare-fun $V252_X$1 () Bool) +(declare-fun $V253_between_A_and_X$1 () Bool) +(declare-fun $V264_env_ok$1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$1 () Bool) +(declare-fun $V268_door_initially_closed$1 () Bool) +(declare-fun $V269_initially_not_in_station$1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$1 () Bool) +(declare-fun $V271_warning_start_only_in_station$1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$1 () Bool) +(declare-fun $V273_X$1 () Bool) +(declare-fun $V274_X$1 () Bool) +(declare-fun $V275_X$1 () Bool) +(declare-fun $V276_X$1 () Bool) +(declare-fun $~flatten0$1 () Bool) +(declare-fun $request_door$2 () Bool) +(declare-fun $warning_start$2 () Bool) +(declare-fun $in_station$2 () Bool) +(declare-fun $door_is_open$2 () Bool) +(declare-fun $V60_open_door$2 () Bool) +(declare-fun $V61_close_door$2 () Bool) +(declare-fun $V62_door_ok$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V58_env_always_ok$2 () Bool) +(declare-fun $V59_prop_ok$2 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$2 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$2 () Bool) +(declare-fun $V252_X$2 () Bool) +(declare-fun $V253_between_A_and_X$2 () Bool) +(declare-fun $V264_env_ok$2 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$2 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$2 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$2 () Bool) +(declare-fun $V268_door_initially_closed$2 () Bool) +(declare-fun $V269_initially_not_in_station$2 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$2 () Bool) +(declare-fun $V271_warning_start_only_in_station$2 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$2 () Bool) +(declare-fun $V273_X$2 () Bool) +(declare-fun $V274_X$2 () Bool) +(declare-fun $V275_X$2 () Bool) +(declare-fun $V276_X$2 () Bool) +(declare-fun $~flatten0$2 () Bool) +(declare-fun $request_door$3 () Bool) +(declare-fun $warning_start$3 () Bool) +(declare-fun $in_station$3 () Bool) +(declare-fun $door_is_open$3 () Bool) +(declare-fun $V60_open_door$5 () Bool) +(declare-fun $V61_close_door$5 () Bool) +(declare-fun $V62_door_ok$5 () Bool) +(declare-fun $OK$5 () Bool) +(declare-fun $V58_env_always_ok$5 () Bool) +(declare-fun $V59_prop_ok$5 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$5 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$5 () Bool) +(declare-fun $V252_X$5 () Bool) +(declare-fun $V253_between_A_and_X$5 () Bool) +(declare-fun $V264_env_ok$5 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$5 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$5 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$5 () Bool) +(declare-fun $V268_door_initially_closed$5 () Bool) +(declare-fun $V269_initially_not_in_station$5 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$5 () Bool) +(declare-fun $V271_warning_start_only_in_station$5 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$5 () Bool) +(declare-fun $V273_X$5 () Bool) +(declare-fun $V274_X$5 () Bool) +(declare-fun $V275_X$5 () Bool) +(declare-fun $V276_X$5 () Bool) +(declare-fun $~flatten0$5 () Bool) +(assert (and (T false $request_door$2 $warning_start$2 $in_station$2 $door_is_open$2 $V60_open_door$2 $V61_close_door$2 $V62_door_ok$2 $OK$2 $V58_env_always_ok$2 $V59_prop_ok$2 $V250_door_doesnt_open_out_of_station$2 $V251_door_opens_before_leaving_station$2 $V252_X$2 $V253_between_A_and_X$2 $V264_env_ok$2 $V265_door_doesnt_close_if_not_asked$2 $V266_door_doesnt_open_if_not_asked$2 $V267_tramway_doesnt_start_if_not_door_ok$2 $V268_door_initially_closed$2 $V269_initially_not_in_station$2 $V270_warning_start_and_in_station_go_down_simultaneously$2 $V271_warning_start_only_in_station$2 $V272_warning_start_cant_become_true_when_door_is_opening$2 $V273_X$2 $V274_X$2 $V275_X$2 $V276_X$2 $~flatten0$2 $request_door$3 $warning_start$3 $in_station$3 $door_is_open$3 $V60_open_door$5 $V61_close_door$5 $V62_door_ok$5 $OK$5 $V58_env_always_ok$5 $V59_prop_ok$5 $V250_door_doesnt_open_out_of_station$5 $V251_door_opens_before_leaving_station$5 $V252_X$5 $V253_between_A_and_X$5 $V264_env_ok$5 $V265_door_doesnt_close_if_not_asked$5 $V266_door_doesnt_open_if_not_asked$5 $V267_tramway_doesnt_start_if_not_door_ok$5 $V268_door_initially_closed$5 $V269_initially_not_in_station$5 $V270_warning_start_and_in_station_go_down_simultaneously$5 $V271_warning_start_only_in_station$5 $V272_warning_start_cant_become_true_when_door_is_opening$5 $V273_X$5 $V274_X$5 $V275_X$5 $V276_X$5 $~flatten0$5) $OK$5)) diff --git a/bench/tasks/tramway_e7_1834_e7_2363_base1_s_part.smt2 b/bench/tasks/tramway_e7_1834_e7_2363_base1_s_part.smt2 new file mode 100755 index 000000000..db93d68a9 --- /dev/null +++ b/bench/tasks/tramway_e7_1834_e7_2363_base1_s_part.smt2 @@ -0,0 +1,61 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($request_door$0 Bool) ($warning_start$0 Bool) ($in_station$0 Bool) ($door_is_open$0 Bool) ($V62_door_ok$0 Bool) ($V60_open_door$0 Bool) ($V61_close_door$0 Bool) ($OK$0 Bool) ($V58_env_always_ok$0 Bool) ($V59_prop_ok$0 Bool) ($V251_door_opens_before_leaving_station$0 Bool) ($V253_between_A_and_X$0 Bool) ($V264_env_ok$0 Bool) ($V265_door_doesnt_close_if_not_asked$0 Bool) ($V266_door_doesnt_open_if_not_asked$0 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$0 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$0 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$0 Bool) ($V250_door_doesnt_open_out_of_station$0 Bool) ($V252_X$0 Bool) ($V268_door_initially_closed$0 Bool) ($V269_initially_not_in_station$0 Bool) ($V271_warning_start_only_in_station$0 Bool) ($V273_X$0 Bool) ($V274_X$0 Bool) ($V275_X$0 Bool) ($V276_X$0 Bool) ($~flatten0$0 Bool) ($request_door$1 Bool) ($warning_start$1 Bool) ($in_station$1 Bool) ($door_is_open$1 Bool) ($V62_door_ok$1 Bool) ($V60_open_door$1 Bool) ($V61_close_door$1 Bool) ($OK$1 Bool) ($V58_env_always_ok$1 Bool) ($V59_prop_ok$1 Bool) ($V251_door_opens_before_leaving_station$1 Bool) ($V253_between_A_and_X$1 Bool) ($V264_env_ok$1 Bool) ($V265_door_doesnt_close_if_not_asked$1 Bool) ($V266_door_doesnt_open_if_not_asked$1 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$1 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$1 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$1 Bool) ($V250_door_doesnt_open_out_of_station$1 Bool) ($V252_X$1 Bool) ($V268_door_initially_closed$1 Bool) ($V269_initially_not_in_station$1 Bool) ($V271_warning_start_only_in_station$1 Bool) ($V273_X$1 Bool) ($V274_X$1 Bool) ($V275_X$1 Bool) ($V276_X$1 Bool) ($~flatten0$1 Bool)) Bool (and (= $OK$1 (=> $V58_env_always_ok$1 $V59_prop_ok$1)) (= $V58_env_always_ok$1 (ite %init $V264_env_ok$1 (and $V264_env_ok$1 $V58_env_always_ok$0))) (= $V59_prop_ok$1 (and $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1)) (= $V250_door_doesnt_open_out_of_station$1 (=> $door_is_open$1 $in_station$1)) (= $V251_door_opens_before_leaving_station$1 (not (or $V253_between_A_and_X$1 (ite %init false (or $V252_X$1 (not $V252_X$0)))))) (= $V252_X$1 (not $in_station$1)) (= $V253_between_A_and_X$1 (ite (ite %init false (and $request_door$0 (not $warning_start$0))) true (ite (ite %init false $~flatten0$0) false (ite %init false $V253_between_A_and_X$0)))) (= $V264_env_ok$1 (and (and (and (and (and (and (and $V266_door_doesnt_open_if_not_asked$1 $V265_door_doesnt_close_if_not_asked$1) $V267_tramway_doesnt_start_if_not_door_ok$1) $V268_door_initially_closed$1) $V269_initially_not_in_station$1) $V270_warning_start_and_in_station_go_down_simultaneously$1) $V271_warning_start_only_in_station$1) $V272_warning_start_cant_become_true_when_door_is_opening$1)) (= $V265_door_doesnt_close_if_not_asked$1 (=> (ite %init false (or $door_is_open$1 (not $door_is_open$0))) $V60_open_door$1)) (= $V266_door_doesnt_open_if_not_asked$1 (=> (ite %init false (or $V273_X$1 (not $V273_X$0))) $V61_close_door$1)) (= $V267_tramway_doesnt_start_if_not_door_ok$1 (=> (ite %init false (or $V274_X$1 (not $V274_X$0))) (ite %init false $V62_door_ok$0))) (= $V268_door_initially_closed$1 (ite %init (not $door_is_open$1) true)) (= $V269_initially_not_in_station$1 (ite %init (not $in_station$1) true)) (= $V270_warning_start_and_in_station_go_down_simultaneously$1 (= (ite %init false (or $V275_X$1 (not $V275_X$0))) (ite %init false (or $V276_X$1 (not $V276_X$0))))) (= $V271_warning_start_only_in_station$1 (=> $warning_start$1 $in_station$1)) (= $V272_warning_start_cant_become_true_when_door_is_opening$1 (=> (ite %init false (or $warning_start$1 (not $warning_start$0))) (not $V60_open_door$1))) (= $V273_X$1 (not $door_is_open$1)) (= $V274_X$1 (not $in_station$1)) (= $V275_X$1 (not $in_station$1)) (= $V276_X$1 (not $warning_start$1)) (= $~flatten0$1 (ite %init false $door_is_open$0)))) +; Universally quantified variables +(declare-fun $request_door$~1 () Bool) +(declare-fun $warning_start$~1 () Bool) +(declare-fun $in_station$~1 () Bool) +(declare-fun $door_is_open$~1 () Bool) +(declare-fun $V62_door_ok$~1 () Bool) +(declare-fun $V60_open_door$~1 () Bool) +(declare-fun $V61_close_door$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V58_env_always_ok$~1 () Bool) +(declare-fun $V59_prop_ok$~1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$~1 () Bool) +(declare-fun $V253_between_A_and_X$~1 () Bool) +(declare-fun $V264_env_ok$~1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$~1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$~1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$~1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$~1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$~1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$~1 () Bool) +(declare-fun $V252_X$~1 () Bool) +(declare-fun $V268_door_initially_closed$~1 () Bool) +(declare-fun $V269_initially_not_in_station$~1 () Bool) +(declare-fun $V271_warning_start_only_in_station$~1 () Bool) +(declare-fun $V273_X$~1 () Bool) +(declare-fun $V274_X$~1 () Bool) +(declare-fun $V275_X$~1 () Bool) +(declare-fun $V276_X$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $request_door$0 () Bool) +(declare-fun $warning_start$0 () Bool) +(declare-fun $in_station$0 () Bool) +(declare-fun $door_is_open$0 () Bool) +(declare-fun $V62_door_ok$0 () Bool) +(declare-fun $V60_open_door$0 () Bool) +(declare-fun $V61_close_door$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V58_env_always_ok$0 () Bool) +(declare-fun $V59_prop_ok$0 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$0 () Bool) +(declare-fun $V253_between_A_and_X$0 () Bool) +(declare-fun $V264_env_ok$0 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$0 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$0 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$0 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$0 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$0 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$0 () Bool) +(declare-fun $V252_X$0 () Bool) +(declare-fun $V268_door_initially_closed$0 () Bool) +(declare-fun $V269_initially_not_in_station$0 () Bool) +(declare-fun $V271_warning_start_only_in_station$0 () Bool) +(declare-fun $V273_X$0 () Bool) +(declare-fun $V274_X$0 () Bool) +(declare-fun $V275_X$0 () Bool) +(declare-fun $V276_X$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(assert (T true $request_door$~1 $warning_start$~1 $in_station$~1 $door_is_open$~1 $V62_door_ok$~1 $V60_open_door$~1 $V61_close_door$~1 $OK$~1 $V58_env_always_ok$~1 $V59_prop_ok$~1 $V251_door_opens_before_leaving_station$~1 $V253_between_A_and_X$~1 $V264_env_ok$~1 $V265_door_doesnt_close_if_not_asked$~1 $V266_door_doesnt_open_if_not_asked$~1 $V267_tramway_doesnt_start_if_not_door_ok$~1 $V270_warning_start_and_in_station_go_down_simultaneously$~1 $V272_warning_start_cant_become_true_when_door_is_opening$~1 $V250_door_doesnt_open_out_of_station$~1 $V252_X$~1 $V268_door_initially_closed$~1 $V269_initially_not_in_station$~1 $V271_warning_start_only_in_station$~1 $V273_X$~1 $V274_X$~1 $V275_X$~1 $V276_X$~1 $~flatten0$~1 $request_door$0 $warning_start$0 $in_station$0 $door_is_open$0 $V62_door_ok$0 $V60_open_door$0 $V61_close_door$0 $OK$0 $V58_env_always_ok$0 $V59_prop_ok$0 $V251_door_opens_before_leaving_station$0 $V253_between_A_and_X$0 $V264_env_ok$0 $V265_door_doesnt_close_if_not_asked$0 $V266_door_doesnt_open_if_not_asked$0 $V267_tramway_doesnt_start_if_not_door_ok$0 $V270_warning_start_and_in_station_go_down_simultaneously$0 $V272_warning_start_cant_become_true_when_door_is_opening$0 $V250_door_doesnt_open_out_of_station$0 $V252_X$0 $V268_door_initially_closed$0 $V269_initially_not_in_station$0 $V271_warning_start_only_in_station$0 $V273_X$0 $V274_X$0 $V275_X$0 $V276_X$0 $~flatten0$0)) diff --git a/bench/tasks/tramway_e7_1834_e7_2363_base1_t_part.smt2 b/bench/tasks/tramway_e7_1834_e7_2363_base1_t_part.smt2 new file mode 100755 index 000000000..98248c02e --- /dev/null +++ b/bench/tasks/tramway_e7_1834_e7_2363_base1_t_part.smt2 @@ -0,0 +1,61 @@ +; K = 1 +; Transition relation +(define-fun T ((%init Bool) ($request_door$0 Bool) ($warning_start$0 Bool) ($in_station$0 Bool) ($door_is_open$0 Bool) ($V62_door_ok$0 Bool) ($V60_open_door$0 Bool) ($V61_close_door$0 Bool) ($OK$0 Bool) ($V58_env_always_ok$0 Bool) ($V59_prop_ok$0 Bool) ($V251_door_opens_before_leaving_station$0 Bool) ($V253_between_A_and_X$0 Bool) ($V264_env_ok$0 Bool) ($V265_door_doesnt_close_if_not_asked$0 Bool) ($V266_door_doesnt_open_if_not_asked$0 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$0 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$0 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$0 Bool) ($V250_door_doesnt_open_out_of_station$0 Bool) ($V252_X$0 Bool) ($V268_door_initially_closed$0 Bool) ($V269_initially_not_in_station$0 Bool) ($V271_warning_start_only_in_station$0 Bool) ($V273_X$0 Bool) ($V274_X$0 Bool) ($V275_X$0 Bool) ($V276_X$0 Bool) ($~flatten0$0 Bool) ($request_door$1 Bool) ($warning_start$1 Bool) ($in_station$1 Bool) ($door_is_open$1 Bool) ($V62_door_ok$1 Bool) ($V60_open_door$1 Bool) ($V61_close_door$1 Bool) ($OK$1 Bool) ($V58_env_always_ok$1 Bool) ($V59_prop_ok$1 Bool) ($V251_door_opens_before_leaving_station$1 Bool) ($V253_between_A_and_X$1 Bool) ($V264_env_ok$1 Bool) ($V265_door_doesnt_close_if_not_asked$1 Bool) ($V266_door_doesnt_open_if_not_asked$1 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$1 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$1 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$1 Bool) ($V250_door_doesnt_open_out_of_station$1 Bool) ($V252_X$1 Bool) ($V268_door_initially_closed$1 Bool) ($V269_initially_not_in_station$1 Bool) ($V271_warning_start_only_in_station$1 Bool) ($V273_X$1 Bool) ($V274_X$1 Bool) ($V275_X$1 Bool) ($V276_X$1 Bool) ($~flatten0$1 Bool)) Bool (and (= $OK$1 (=> $V58_env_always_ok$1 $V59_prop_ok$1)) (= $V58_env_always_ok$1 (ite %init $V264_env_ok$1 (and $V264_env_ok$1 $V58_env_always_ok$0))) (= $V59_prop_ok$1 (and $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1)) (= $V250_door_doesnt_open_out_of_station$1 (=> $door_is_open$1 $in_station$1)) (= $V251_door_opens_before_leaving_station$1 (not (or $V253_between_A_and_X$1 (ite %init false (or $V252_X$1 (not $V252_X$0)))))) (= $V252_X$1 (not $in_station$1)) (= $V253_between_A_and_X$1 (ite (ite %init false (and $request_door$0 (not $warning_start$0))) true (ite (ite %init false $~flatten0$0) false (ite %init false $V253_between_A_and_X$0)))) (= $V264_env_ok$1 (and (and (and (and (and (and (and $V266_door_doesnt_open_if_not_asked$1 $V265_door_doesnt_close_if_not_asked$1) $V267_tramway_doesnt_start_if_not_door_ok$1) $V268_door_initially_closed$1) $V269_initially_not_in_station$1) $V270_warning_start_and_in_station_go_down_simultaneously$1) $V271_warning_start_only_in_station$1) $V272_warning_start_cant_become_true_when_door_is_opening$1)) (= $V265_door_doesnt_close_if_not_asked$1 (=> (ite %init false (or $door_is_open$1 (not $door_is_open$0))) $V60_open_door$1)) (= $V266_door_doesnt_open_if_not_asked$1 (=> (ite %init false (or $V273_X$1 (not $V273_X$0))) $V61_close_door$1)) (= $V267_tramway_doesnt_start_if_not_door_ok$1 (=> (ite %init false (or $V274_X$1 (not $V274_X$0))) (ite %init false $V62_door_ok$0))) (= $V268_door_initially_closed$1 (ite %init (not $door_is_open$1) true)) (= $V269_initially_not_in_station$1 (ite %init (not $in_station$1) true)) (= $V270_warning_start_and_in_station_go_down_simultaneously$1 (= (ite %init false (or $V275_X$1 (not $V275_X$0))) (ite %init false (or $V276_X$1 (not $V276_X$0))))) (= $V271_warning_start_only_in_station$1 (=> $warning_start$1 $in_station$1)) (= $V272_warning_start_cant_become_true_when_door_is_opening$1 (=> (ite %init false (or $warning_start$1 (not $warning_start$0))) (not $V60_open_door$1))) (= $V273_X$1 (not $door_is_open$1)) (= $V274_X$1 (not $in_station$1)) (= $V275_X$1 (not $in_station$1)) (= $V276_X$1 (not $warning_start$1)) (= $~flatten0$1 (ite %init false $door_is_open$0)))) +; Universally quantified variables +(declare-fun $request_door$~1 () Bool) +(declare-fun $warning_start$~1 () Bool) +(declare-fun $in_station$~1 () Bool) +(declare-fun $door_is_open$~1 () Bool) +(declare-fun $V62_door_ok$~1 () Bool) +(declare-fun $V60_open_door$~1 () Bool) +(declare-fun $V61_close_door$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V58_env_always_ok$~1 () Bool) +(declare-fun $V59_prop_ok$~1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$~1 () Bool) +(declare-fun $V253_between_A_and_X$~1 () Bool) +(declare-fun $V264_env_ok$~1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$~1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$~1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$~1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$~1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$~1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$~1 () Bool) +(declare-fun $V252_X$~1 () Bool) +(declare-fun $V268_door_initially_closed$~1 () Bool) +(declare-fun $V269_initially_not_in_station$~1 () Bool) +(declare-fun $V271_warning_start_only_in_station$~1 () Bool) +(declare-fun $V273_X$~1 () Bool) +(declare-fun $V274_X$~1 () Bool) +(declare-fun $V275_X$~1 () Bool) +(declare-fun $V276_X$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $request_door$0 () Bool) +(declare-fun $warning_start$0 () Bool) +(declare-fun $in_station$0 () Bool) +(declare-fun $door_is_open$0 () Bool) +(declare-fun $V62_door_ok$2 () Bool) +(declare-fun $V60_open_door$2 () Bool) +(declare-fun $V61_close_door$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V58_env_always_ok$2 () Bool) +(declare-fun $V59_prop_ok$2 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$2 () Bool) +(declare-fun $V253_between_A_and_X$2 () Bool) +(declare-fun $V264_env_ok$2 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$2 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$2 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$2 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$2 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$2 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$2 () Bool) +(declare-fun $V252_X$2 () Bool) +(declare-fun $V268_door_initially_closed$2 () Bool) +(declare-fun $V269_initially_not_in_station$2 () Bool) +(declare-fun $V271_warning_start_only_in_station$2 () Bool) +(declare-fun $V273_X$2 () Bool) +(declare-fun $V274_X$2 () Bool) +(declare-fun $V275_X$2 () Bool) +(declare-fun $V276_X$2 () Bool) +(declare-fun $~flatten0$2 () Bool) +(assert (and (T true $request_door$~1 $warning_start$~1 $in_station$~1 $door_is_open$~1 $V62_door_ok$~1 $V60_open_door$~1 $V61_close_door$~1 $OK$~1 $V58_env_always_ok$~1 $V59_prop_ok$~1 $V251_door_opens_before_leaving_station$~1 $V253_between_A_and_X$~1 $V264_env_ok$~1 $V265_door_doesnt_close_if_not_asked$~1 $V266_door_doesnt_open_if_not_asked$~1 $V267_tramway_doesnt_start_if_not_door_ok$~1 $V270_warning_start_and_in_station_go_down_simultaneously$~1 $V272_warning_start_cant_become_true_when_door_is_opening$~1 $V250_door_doesnt_open_out_of_station$~1 $V252_X$~1 $V268_door_initially_closed$~1 $V269_initially_not_in_station$~1 $V271_warning_start_only_in_station$~1 $V273_X$~1 $V274_X$~1 $V275_X$~1 $V276_X$~1 $~flatten0$~1 $request_door$0 $warning_start$0 $in_station$0 $door_is_open$0 $V62_door_ok$2 $V60_open_door$2 $V61_close_door$2 $OK$2 $V58_env_always_ok$2 $V59_prop_ok$2 $V251_door_opens_before_leaving_station$2 $V253_between_A_and_X$2 $V264_env_ok$2 $V265_door_doesnt_close_if_not_asked$2 $V266_door_doesnt_open_if_not_asked$2 $V267_tramway_doesnt_start_if_not_door_ok$2 $V270_warning_start_and_in_station_go_down_simultaneously$2 $V272_warning_start_cant_become_true_when_door_is_opening$2 $V250_door_doesnt_open_out_of_station$2 $V252_X$2 $V268_door_initially_closed$2 $V269_initially_not_in_station$2 $V271_warning_start_only_in_station$2 $V273_X$2 $V274_X$2 $V275_X$2 $V276_X$2 $~flatten0$2) $OK$2)) diff --git a/bench/tasks/tramway_e7_1834_e7_2363_base2_s_part.smt2 b/bench/tasks/tramway_e7_1834_e7_2363_base2_s_part.smt2 new file mode 100755 index 000000000..373525c9a --- /dev/null +++ b/bench/tasks/tramway_e7_1834_e7_2363_base2_s_part.smt2 @@ -0,0 +1,91 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($request_door$0 Bool) ($warning_start$0 Bool) ($in_station$0 Bool) ($door_is_open$0 Bool) ($V62_door_ok$0 Bool) ($V60_open_door$0 Bool) ($V61_close_door$0 Bool) ($OK$0 Bool) ($V58_env_always_ok$0 Bool) ($V59_prop_ok$0 Bool) ($V251_door_opens_before_leaving_station$0 Bool) ($V253_between_A_and_X$0 Bool) ($V264_env_ok$0 Bool) ($V265_door_doesnt_close_if_not_asked$0 Bool) ($V266_door_doesnt_open_if_not_asked$0 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$0 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$0 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$0 Bool) ($V250_door_doesnt_open_out_of_station$0 Bool) ($V252_X$0 Bool) ($V268_door_initially_closed$0 Bool) ($V269_initially_not_in_station$0 Bool) ($V271_warning_start_only_in_station$0 Bool) ($V273_X$0 Bool) ($V274_X$0 Bool) ($V275_X$0 Bool) ($V276_X$0 Bool) ($~flatten0$0 Bool) ($request_door$1 Bool) ($warning_start$1 Bool) ($in_station$1 Bool) ($door_is_open$1 Bool) ($V62_door_ok$1 Bool) ($V60_open_door$1 Bool) ($V61_close_door$1 Bool) ($OK$1 Bool) ($V58_env_always_ok$1 Bool) ($V59_prop_ok$1 Bool) ($V251_door_opens_before_leaving_station$1 Bool) ($V253_between_A_and_X$1 Bool) ($V264_env_ok$1 Bool) ($V265_door_doesnt_close_if_not_asked$1 Bool) ($V266_door_doesnt_open_if_not_asked$1 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$1 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$1 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$1 Bool) ($V250_door_doesnt_open_out_of_station$1 Bool) ($V252_X$1 Bool) ($V268_door_initially_closed$1 Bool) ($V269_initially_not_in_station$1 Bool) ($V271_warning_start_only_in_station$1 Bool) ($V273_X$1 Bool) ($V274_X$1 Bool) ($V275_X$1 Bool) ($V276_X$1 Bool) ($~flatten0$1 Bool)) Bool (and (= $OK$1 (=> $V58_env_always_ok$1 $V59_prop_ok$1)) (= $V58_env_always_ok$1 (ite %init $V264_env_ok$1 (and $V264_env_ok$1 $V58_env_always_ok$0))) (= $V59_prop_ok$1 (and $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1)) (= $V250_door_doesnt_open_out_of_station$1 (=> $door_is_open$1 $in_station$1)) (= $V251_door_opens_before_leaving_station$1 (not (or $V253_between_A_and_X$1 (ite %init false (or $V252_X$1 (not $V252_X$0)))))) (= $V252_X$1 (not $in_station$1)) (= $V253_between_A_and_X$1 (ite (ite %init false (and $request_door$0 (not $warning_start$0))) true (ite (ite %init false $~flatten0$0) false (ite %init false $V253_between_A_and_X$0)))) (= $V264_env_ok$1 (and (and (and (and (and (and (and $V266_door_doesnt_open_if_not_asked$1 $V265_door_doesnt_close_if_not_asked$1) $V267_tramway_doesnt_start_if_not_door_ok$1) $V268_door_initially_closed$1) $V269_initially_not_in_station$1) $V270_warning_start_and_in_station_go_down_simultaneously$1) $V271_warning_start_only_in_station$1) $V272_warning_start_cant_become_true_when_door_is_opening$1)) (= $V265_door_doesnt_close_if_not_asked$1 (=> (ite %init false (or $door_is_open$1 (not $door_is_open$0))) $V60_open_door$1)) (= $V266_door_doesnt_open_if_not_asked$1 (=> (ite %init false (or $V273_X$1 (not $V273_X$0))) $V61_close_door$1)) (= $V267_tramway_doesnt_start_if_not_door_ok$1 (=> (ite %init false (or $V274_X$1 (not $V274_X$0))) (ite %init false $V62_door_ok$0))) (= $V268_door_initially_closed$1 (ite %init (not $door_is_open$1) true)) (= $V269_initially_not_in_station$1 (ite %init (not $in_station$1) true)) (= $V270_warning_start_and_in_station_go_down_simultaneously$1 (= (ite %init false (or $V275_X$1 (not $V275_X$0))) (ite %init false (or $V276_X$1 (not $V276_X$0))))) (= $V271_warning_start_only_in_station$1 (=> $warning_start$1 $in_station$1)) (= $V272_warning_start_cant_become_true_when_door_is_opening$1 (=> (ite %init false (or $warning_start$1 (not $warning_start$0))) (not $V60_open_door$1))) (= $V273_X$1 (not $door_is_open$1)) (= $V274_X$1 (not $in_station$1)) (= $V275_X$1 (not $in_station$1)) (= $V276_X$1 (not $warning_start$1)) (= $~flatten0$1 (ite %init false $door_is_open$0)))) +; Universally quantified variables +(declare-fun $request_door$~1 () Bool) +(declare-fun $warning_start$~1 () Bool) +(declare-fun $in_station$~1 () Bool) +(declare-fun $door_is_open$~1 () Bool) +(declare-fun $V62_door_ok$~1 () Bool) +(declare-fun $V60_open_door$~1 () Bool) +(declare-fun $V61_close_door$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V58_env_always_ok$~1 () Bool) +(declare-fun $V59_prop_ok$~1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$~1 () Bool) +(declare-fun $V253_between_A_and_X$~1 () Bool) +(declare-fun $V264_env_ok$~1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$~1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$~1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$~1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$~1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$~1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$~1 () Bool) +(declare-fun $V252_X$~1 () Bool) +(declare-fun $V268_door_initially_closed$~1 () Bool) +(declare-fun $V269_initially_not_in_station$~1 () Bool) +(declare-fun $V271_warning_start_only_in_station$~1 () Bool) +(declare-fun $V273_X$~1 () Bool) +(declare-fun $V274_X$~1 () Bool) +(declare-fun $V275_X$~1 () Bool) +(declare-fun $V276_X$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $request_door$0 () Bool) +(declare-fun $warning_start$0 () Bool) +(declare-fun $in_station$0 () Bool) +(declare-fun $door_is_open$0 () Bool) +(declare-fun $V62_door_ok$0 () Bool) +(declare-fun $V60_open_door$0 () Bool) +(declare-fun $V61_close_door$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V58_env_always_ok$0 () Bool) +(declare-fun $V59_prop_ok$0 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$0 () Bool) +(declare-fun $V253_between_A_and_X$0 () Bool) +(declare-fun $V264_env_ok$0 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$0 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$0 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$0 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$0 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$0 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$0 () Bool) +(declare-fun $V252_X$0 () Bool) +(declare-fun $V268_door_initially_closed$0 () Bool) +(declare-fun $V269_initially_not_in_station$0 () Bool) +(declare-fun $V271_warning_start_only_in_station$0 () Bool) +(declare-fun $V273_X$0 () Bool) +(declare-fun $V274_X$0 () Bool) +(declare-fun $V275_X$0 () Bool) +(declare-fun $V276_X$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(declare-fun $request_door$1 () Bool) +(declare-fun $warning_start$1 () Bool) +(declare-fun $in_station$1 () Bool) +(declare-fun $door_is_open$1 () Bool) +(declare-fun $V62_door_ok$1 () Bool) +(declare-fun $V60_open_door$1 () Bool) +(declare-fun $V61_close_door$1 () Bool) +(declare-fun $OK$1 () Bool) +(declare-fun $V58_env_always_ok$1 () Bool) +(declare-fun $V59_prop_ok$1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$1 () Bool) +(declare-fun $V253_between_A_and_X$1 () Bool) +(declare-fun $V264_env_ok$1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$1 () Bool) +(declare-fun $V252_X$1 () Bool) +(declare-fun $V268_door_initially_closed$1 () Bool) +(declare-fun $V269_initially_not_in_station$1 () Bool) +(declare-fun $V271_warning_start_only_in_station$1 () Bool) +(declare-fun $V273_X$1 () Bool) +(declare-fun $V274_X$1 () Bool) +(declare-fun $V275_X$1 () Bool) +(declare-fun $V276_X$1 () Bool) +(declare-fun $~flatten0$1 () Bool) +(assert (T true $request_door$~1 $warning_start$~1 $in_station$~1 $door_is_open$~1 $V62_door_ok$~1 $V60_open_door$~1 $V61_close_door$~1 $OK$~1 $V58_env_always_ok$~1 $V59_prop_ok$~1 $V251_door_opens_before_leaving_station$~1 $V253_between_A_and_X$~1 $V264_env_ok$~1 $V265_door_doesnt_close_if_not_asked$~1 $V266_door_doesnt_open_if_not_asked$~1 $V267_tramway_doesnt_start_if_not_door_ok$~1 $V270_warning_start_and_in_station_go_down_simultaneously$~1 $V272_warning_start_cant_become_true_when_door_is_opening$~1 $V250_door_doesnt_open_out_of_station$~1 $V252_X$~1 $V268_door_initially_closed$~1 $V269_initially_not_in_station$~1 $V271_warning_start_only_in_station$~1 $V273_X$~1 $V274_X$~1 $V275_X$~1 $V276_X$~1 $~flatten0$~1 $request_door$0 $warning_start$0 $in_station$0 $door_is_open$0 $V62_door_ok$0 $V60_open_door$0 $V61_close_door$0 $OK$0 $V58_env_always_ok$0 $V59_prop_ok$0 $V251_door_opens_before_leaving_station$0 $V253_between_A_and_X$0 $V264_env_ok$0 $V265_door_doesnt_close_if_not_asked$0 $V266_door_doesnt_open_if_not_asked$0 $V267_tramway_doesnt_start_if_not_door_ok$0 $V270_warning_start_and_in_station_go_down_simultaneously$0 $V272_warning_start_cant_become_true_when_door_is_opening$0 $V250_door_doesnt_open_out_of_station$0 $V252_X$0 $V268_door_initially_closed$0 $V269_initially_not_in_station$0 $V271_warning_start_only_in_station$0 $V273_X$0 $V274_X$0 $V275_X$0 $V276_X$0 $~flatten0$0)) +(assert $OK$0) +(assert (T false $request_door$0 $warning_start$0 $in_station$0 $door_is_open$0 $V62_door_ok$0 $V60_open_door$0 $V61_close_door$0 $OK$0 $V58_env_always_ok$0 $V59_prop_ok$0 $V251_door_opens_before_leaving_station$0 $V253_between_A_and_X$0 $V264_env_ok$0 $V265_door_doesnt_close_if_not_asked$0 $V266_door_doesnt_open_if_not_asked$0 $V267_tramway_doesnt_start_if_not_door_ok$0 $V270_warning_start_and_in_station_go_down_simultaneously$0 $V272_warning_start_cant_become_true_when_door_is_opening$0 $V250_door_doesnt_open_out_of_station$0 $V252_X$0 $V268_door_initially_closed$0 $V269_initially_not_in_station$0 $V271_warning_start_only_in_station$0 $V273_X$0 $V274_X$0 $V275_X$0 $V276_X$0 $~flatten0$0 $request_door$1 $warning_start$1 $in_station$1 $door_is_open$1 $V62_door_ok$1 $V60_open_door$1 $V61_close_door$1 $OK$1 $V58_env_always_ok$1 $V59_prop_ok$1 $V251_door_opens_before_leaving_station$1 $V253_between_A_and_X$1 $V264_env_ok$1 $V265_door_doesnt_close_if_not_asked$1 $V266_door_doesnt_open_if_not_asked$1 $V267_tramway_doesnt_start_if_not_door_ok$1 $V270_warning_start_and_in_station_go_down_simultaneously$1 $V272_warning_start_cant_become_true_when_door_is_opening$1 $V250_door_doesnt_open_out_of_station$1 $V252_X$1 $V268_door_initially_closed$1 $V269_initially_not_in_station$1 $V271_warning_start_only_in_station$1 $V273_X$1 $V274_X$1 $V275_X$1 $V276_X$1 $~flatten0$1)) diff --git a/bench/tasks/tramway_e7_1834_e7_2363_base2_t_part.smt2 b/bench/tasks/tramway_e7_1834_e7_2363_base2_t_part.smt2 new file mode 100755 index 000000000..21bc32b55 --- /dev/null +++ b/bench/tasks/tramway_e7_1834_e7_2363_base2_t_part.smt2 @@ -0,0 +1,89 @@ +; K = 2 +; Transition relation +(define-fun T ((%init Bool) ($request_door$0 Bool) ($warning_start$0 Bool) ($in_station$0 Bool) ($door_is_open$0 Bool) ($V62_door_ok$0 Bool) ($V60_open_door$0 Bool) ($V61_close_door$0 Bool) ($OK$0 Bool) ($V58_env_always_ok$0 Bool) ($V59_prop_ok$0 Bool) ($V251_door_opens_before_leaving_station$0 Bool) ($V253_between_A_and_X$0 Bool) ($V264_env_ok$0 Bool) ($V265_door_doesnt_close_if_not_asked$0 Bool) ($V266_door_doesnt_open_if_not_asked$0 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$0 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$0 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$0 Bool) ($V250_door_doesnt_open_out_of_station$0 Bool) ($V252_X$0 Bool) ($V268_door_initially_closed$0 Bool) ($V269_initially_not_in_station$0 Bool) ($V271_warning_start_only_in_station$0 Bool) ($V273_X$0 Bool) ($V274_X$0 Bool) ($V275_X$0 Bool) ($V276_X$0 Bool) ($~flatten0$0 Bool) ($request_door$1 Bool) ($warning_start$1 Bool) ($in_station$1 Bool) ($door_is_open$1 Bool) ($V62_door_ok$1 Bool) ($V60_open_door$1 Bool) ($V61_close_door$1 Bool) ($OK$1 Bool) ($V58_env_always_ok$1 Bool) ($V59_prop_ok$1 Bool) ($V251_door_opens_before_leaving_station$1 Bool) ($V253_between_A_and_X$1 Bool) ($V264_env_ok$1 Bool) ($V265_door_doesnt_close_if_not_asked$1 Bool) ($V266_door_doesnt_open_if_not_asked$1 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$1 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$1 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$1 Bool) ($V250_door_doesnt_open_out_of_station$1 Bool) ($V252_X$1 Bool) ($V268_door_initially_closed$1 Bool) ($V269_initially_not_in_station$1 Bool) ($V271_warning_start_only_in_station$1 Bool) ($V273_X$1 Bool) ($V274_X$1 Bool) ($V275_X$1 Bool) ($V276_X$1 Bool) ($~flatten0$1 Bool)) Bool (and (= $OK$1 (=> $V58_env_always_ok$1 $V59_prop_ok$1)) (= $V58_env_always_ok$1 (ite %init $V264_env_ok$1 (and $V264_env_ok$1 $V58_env_always_ok$0))) (= $V59_prop_ok$1 (and $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1)) (= $V250_door_doesnt_open_out_of_station$1 (=> $door_is_open$1 $in_station$1)) (= $V251_door_opens_before_leaving_station$1 (not (or $V253_between_A_and_X$1 (ite %init false (or $V252_X$1 (not $V252_X$0)))))) (= $V252_X$1 (not $in_station$1)) (= $V253_between_A_and_X$1 (ite (ite %init false (and $request_door$0 (not $warning_start$0))) true (ite (ite %init false $~flatten0$0) false (ite %init false $V253_between_A_and_X$0)))) (= $V264_env_ok$1 (and (and (and (and (and (and (and $V266_door_doesnt_open_if_not_asked$1 $V265_door_doesnt_close_if_not_asked$1) $V267_tramway_doesnt_start_if_not_door_ok$1) $V268_door_initially_closed$1) $V269_initially_not_in_station$1) $V270_warning_start_and_in_station_go_down_simultaneously$1) $V271_warning_start_only_in_station$1) $V272_warning_start_cant_become_true_when_door_is_opening$1)) (= $V265_door_doesnt_close_if_not_asked$1 (=> (ite %init false (or $door_is_open$1 (not $door_is_open$0))) $V60_open_door$1)) (= $V266_door_doesnt_open_if_not_asked$1 (=> (ite %init false (or $V273_X$1 (not $V273_X$0))) $V61_close_door$1)) (= $V267_tramway_doesnt_start_if_not_door_ok$1 (=> (ite %init false (or $V274_X$1 (not $V274_X$0))) (ite %init false $V62_door_ok$0))) (= $V268_door_initially_closed$1 (ite %init (not $door_is_open$1) true)) (= $V269_initially_not_in_station$1 (ite %init (not $in_station$1) true)) (= $V270_warning_start_and_in_station_go_down_simultaneously$1 (= (ite %init false (or $V275_X$1 (not $V275_X$0))) (ite %init false (or $V276_X$1 (not $V276_X$0))))) (= $V271_warning_start_only_in_station$1 (=> $warning_start$1 $in_station$1)) (= $V272_warning_start_cant_become_true_when_door_is_opening$1 (=> (ite %init false (or $warning_start$1 (not $warning_start$0))) (not $V60_open_door$1))) (= $V273_X$1 (not $door_is_open$1)) (= $V274_X$1 (not $in_station$1)) (= $V275_X$1 (not $in_station$1)) (= $V276_X$1 (not $warning_start$1)) (= $~flatten0$1 (ite %init false $door_is_open$0)))) +; Universally quantified variables +(declare-fun $request_door$~1 () Bool) +(declare-fun $warning_start$~1 () Bool) +(declare-fun $in_station$~1 () Bool) +(declare-fun $door_is_open$~1 () Bool) +(declare-fun $V62_door_ok$~1 () Bool) +(declare-fun $V60_open_door$~1 () Bool) +(declare-fun $V61_close_door$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V58_env_always_ok$~1 () Bool) +(declare-fun $V59_prop_ok$~1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$~1 () Bool) +(declare-fun $V253_between_A_and_X$~1 () Bool) +(declare-fun $V264_env_ok$~1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$~1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$~1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$~1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$~1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$~1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$~1 () Bool) +(declare-fun $V252_X$~1 () Bool) +(declare-fun $V268_door_initially_closed$~1 () Bool) +(declare-fun $V269_initially_not_in_station$~1 () Bool) +(declare-fun $V271_warning_start_only_in_station$~1 () Bool) +(declare-fun $V273_X$~1 () Bool) +(declare-fun $V274_X$~1 () Bool) +(declare-fun $V275_X$~1 () Bool) +(declare-fun $V276_X$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $request_door$0 () Bool) +(declare-fun $warning_start$0 () Bool) +(declare-fun $in_station$0 () Bool) +(declare-fun $door_is_open$0 () Bool) +(declare-fun $V62_door_ok$0 () Bool) +(declare-fun $V60_open_door$0 () Bool) +(declare-fun $V61_close_door$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V58_env_always_ok$0 () Bool) +(declare-fun $V59_prop_ok$0 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$0 () Bool) +(declare-fun $V253_between_A_and_X$0 () Bool) +(declare-fun $V264_env_ok$0 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$0 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$0 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$0 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$0 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$0 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$0 () Bool) +(declare-fun $V252_X$0 () Bool) +(declare-fun $V268_door_initially_closed$0 () Bool) +(declare-fun $V269_initially_not_in_station$0 () Bool) +(declare-fun $V271_warning_start_only_in_station$0 () Bool) +(declare-fun $V273_X$0 () Bool) +(declare-fun $V274_X$0 () Bool) +(declare-fun $V275_X$0 () Bool) +(declare-fun $V276_X$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(declare-fun $request_door$1 () Bool) +(declare-fun $warning_start$1 () Bool) +(declare-fun $in_station$1 () Bool) +(declare-fun $door_is_open$1 () Bool) +(declare-fun $V62_door_ok$3 () Bool) +(declare-fun $V60_open_door$3 () Bool) +(declare-fun $V61_close_door$3 () Bool) +(declare-fun $OK$3 () Bool) +(declare-fun $V58_env_always_ok$3 () Bool) +(declare-fun $V59_prop_ok$3 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$3 () Bool) +(declare-fun $V253_between_A_and_X$3 () Bool) +(declare-fun $V264_env_ok$3 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$3 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$3 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$3 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$3 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$3 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$3 () Bool) +(declare-fun $V252_X$3 () Bool) +(declare-fun $V268_door_initially_closed$3 () Bool) +(declare-fun $V269_initially_not_in_station$3 () Bool) +(declare-fun $V271_warning_start_only_in_station$3 () Bool) +(declare-fun $V273_X$3 () Bool) +(declare-fun $V274_X$3 () Bool) +(declare-fun $V275_X$3 () Bool) +(declare-fun $V276_X$3 () Bool) +(declare-fun $~flatten0$3 () Bool) +(assert (and (T false $request_door$0 $warning_start$0 $in_station$0 $door_is_open$0 $V62_door_ok$0 $V60_open_door$0 $V61_close_door$0 $OK$0 $V58_env_always_ok$0 $V59_prop_ok$0 $V251_door_opens_before_leaving_station$0 $V253_between_A_and_X$0 $V264_env_ok$0 $V265_door_doesnt_close_if_not_asked$0 $V266_door_doesnt_open_if_not_asked$0 $V267_tramway_doesnt_start_if_not_door_ok$0 $V270_warning_start_and_in_station_go_down_simultaneously$0 $V272_warning_start_cant_become_true_when_door_is_opening$0 $V250_door_doesnt_open_out_of_station$0 $V252_X$0 $V268_door_initially_closed$0 $V269_initially_not_in_station$0 $V271_warning_start_only_in_station$0 $V273_X$0 $V274_X$0 $V275_X$0 $V276_X$0 $~flatten0$0 $request_door$1 $warning_start$1 $in_station$1 $door_is_open$1 $V62_door_ok$3 $V60_open_door$3 $V61_close_door$3 $OK$3 $V58_env_always_ok$3 $V59_prop_ok$3 $V251_door_opens_before_leaving_station$3 $V253_between_A_and_X$3 $V264_env_ok$3 $V265_door_doesnt_close_if_not_asked$3 $V266_door_doesnt_open_if_not_asked$3 $V267_tramway_doesnt_start_if_not_door_ok$3 $V270_warning_start_and_in_station_go_down_simultaneously$3 $V272_warning_start_cant_become_true_when_door_is_opening$3 $V250_door_doesnt_open_out_of_station$3 $V252_X$3 $V268_door_initially_closed$3 $V269_initially_not_in_station$3 $V271_warning_start_only_in_station$3 $V273_X$3 $V274_X$3 $V275_X$3 $V276_X$3 $~flatten0$3) $OK$3)) diff --git a/bench/tasks/tramway_e7_1834_e7_2363_base3_s_part.smt2 b/bench/tasks/tramway_e7_1834_e7_2363_base3_s_part.smt2 new file mode 100755 index 000000000..10415b0cd --- /dev/null +++ b/bench/tasks/tramway_e7_1834_e7_2363_base3_s_part.smt2 @@ -0,0 +1,121 @@ +; K = 3 +; Transition relation +(define-fun T ((%init Bool) ($request_door$0 Bool) ($warning_start$0 Bool) ($in_station$0 Bool) ($door_is_open$0 Bool) ($V62_door_ok$0 Bool) ($V60_open_door$0 Bool) ($V61_close_door$0 Bool) ($OK$0 Bool) ($V58_env_always_ok$0 Bool) ($V59_prop_ok$0 Bool) ($V251_door_opens_before_leaving_station$0 Bool) ($V253_between_A_and_X$0 Bool) ($V264_env_ok$0 Bool) ($V265_door_doesnt_close_if_not_asked$0 Bool) ($V266_door_doesnt_open_if_not_asked$0 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$0 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$0 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$0 Bool) ($V250_door_doesnt_open_out_of_station$0 Bool) ($V252_X$0 Bool) ($V268_door_initially_closed$0 Bool) ($V269_initially_not_in_station$0 Bool) ($V271_warning_start_only_in_station$0 Bool) ($V273_X$0 Bool) ($V274_X$0 Bool) ($V275_X$0 Bool) ($V276_X$0 Bool) ($~flatten0$0 Bool) ($request_door$1 Bool) ($warning_start$1 Bool) ($in_station$1 Bool) ($door_is_open$1 Bool) ($V62_door_ok$1 Bool) ($V60_open_door$1 Bool) ($V61_close_door$1 Bool) ($OK$1 Bool) ($V58_env_always_ok$1 Bool) ($V59_prop_ok$1 Bool) ($V251_door_opens_before_leaving_station$1 Bool) ($V253_between_A_and_X$1 Bool) ($V264_env_ok$1 Bool) ($V265_door_doesnt_close_if_not_asked$1 Bool) ($V266_door_doesnt_open_if_not_asked$1 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$1 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$1 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$1 Bool) ($V250_door_doesnt_open_out_of_station$1 Bool) ($V252_X$1 Bool) ($V268_door_initially_closed$1 Bool) ($V269_initially_not_in_station$1 Bool) ($V271_warning_start_only_in_station$1 Bool) ($V273_X$1 Bool) ($V274_X$1 Bool) ($V275_X$1 Bool) ($V276_X$1 Bool) ($~flatten0$1 Bool)) Bool (and (= $OK$1 (=> $V58_env_always_ok$1 $V59_prop_ok$1)) (= $V58_env_always_ok$1 (ite %init $V264_env_ok$1 (and $V264_env_ok$1 $V58_env_always_ok$0))) (= $V59_prop_ok$1 (and $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1)) (= $V250_door_doesnt_open_out_of_station$1 (=> $door_is_open$1 $in_station$1)) (= $V251_door_opens_before_leaving_station$1 (not (or $V253_between_A_and_X$1 (ite %init false (or $V252_X$1 (not $V252_X$0)))))) (= $V252_X$1 (not $in_station$1)) (= $V253_between_A_and_X$1 (ite (ite %init false (and $request_door$0 (not $warning_start$0))) true (ite (ite %init false $~flatten0$0) false (ite %init false $V253_between_A_and_X$0)))) (= $V264_env_ok$1 (and (and (and (and (and (and (and $V266_door_doesnt_open_if_not_asked$1 $V265_door_doesnt_close_if_not_asked$1) $V267_tramway_doesnt_start_if_not_door_ok$1) $V268_door_initially_closed$1) $V269_initially_not_in_station$1) $V270_warning_start_and_in_station_go_down_simultaneously$1) $V271_warning_start_only_in_station$1) $V272_warning_start_cant_become_true_when_door_is_opening$1)) (= $V265_door_doesnt_close_if_not_asked$1 (=> (ite %init false (or $door_is_open$1 (not $door_is_open$0))) $V60_open_door$1)) (= $V266_door_doesnt_open_if_not_asked$1 (=> (ite %init false (or $V273_X$1 (not $V273_X$0))) $V61_close_door$1)) (= $V267_tramway_doesnt_start_if_not_door_ok$1 (=> (ite %init false (or $V274_X$1 (not $V274_X$0))) (ite %init false $V62_door_ok$0))) (= $V268_door_initially_closed$1 (ite %init (not $door_is_open$1) true)) (= $V269_initially_not_in_station$1 (ite %init (not $in_station$1) true)) (= $V270_warning_start_and_in_station_go_down_simultaneously$1 (= (ite %init false (or $V275_X$1 (not $V275_X$0))) (ite %init false (or $V276_X$1 (not $V276_X$0))))) (= $V271_warning_start_only_in_station$1 (=> $warning_start$1 $in_station$1)) (= $V272_warning_start_cant_become_true_when_door_is_opening$1 (=> (ite %init false (or $warning_start$1 (not $warning_start$0))) (not $V60_open_door$1))) (= $V273_X$1 (not $door_is_open$1)) (= $V274_X$1 (not $in_station$1)) (= $V275_X$1 (not $in_station$1)) (= $V276_X$1 (not $warning_start$1)) (= $~flatten0$1 (ite %init false $door_is_open$0)))) +; Universally quantified variables +(declare-fun $request_door$~1 () Bool) +(declare-fun $warning_start$~1 () Bool) +(declare-fun $in_station$~1 () Bool) +(declare-fun $door_is_open$~1 () Bool) +(declare-fun $V62_door_ok$~1 () Bool) +(declare-fun $V60_open_door$~1 () Bool) +(declare-fun $V61_close_door$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V58_env_always_ok$~1 () Bool) +(declare-fun $V59_prop_ok$~1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$~1 () Bool) +(declare-fun $V253_between_A_and_X$~1 () Bool) +(declare-fun $V264_env_ok$~1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$~1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$~1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$~1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$~1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$~1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$~1 () Bool) +(declare-fun $V252_X$~1 () Bool) +(declare-fun $V268_door_initially_closed$~1 () Bool) +(declare-fun $V269_initially_not_in_station$~1 () Bool) +(declare-fun $V271_warning_start_only_in_station$~1 () Bool) +(declare-fun $V273_X$~1 () Bool) +(declare-fun $V274_X$~1 () Bool) +(declare-fun $V275_X$~1 () Bool) +(declare-fun $V276_X$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $request_door$0 () Bool) +(declare-fun $warning_start$0 () Bool) +(declare-fun $in_station$0 () Bool) +(declare-fun $door_is_open$0 () Bool) +(declare-fun $V62_door_ok$0 () Bool) +(declare-fun $V60_open_door$0 () Bool) +(declare-fun $V61_close_door$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V58_env_always_ok$0 () Bool) +(declare-fun $V59_prop_ok$0 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$0 () Bool) +(declare-fun $V253_between_A_and_X$0 () Bool) +(declare-fun $V264_env_ok$0 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$0 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$0 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$0 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$0 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$0 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$0 () Bool) +(declare-fun $V252_X$0 () Bool) +(declare-fun $V268_door_initially_closed$0 () Bool) +(declare-fun $V269_initially_not_in_station$0 () Bool) +(declare-fun $V271_warning_start_only_in_station$0 () Bool) +(declare-fun $V273_X$0 () Bool) +(declare-fun $V274_X$0 () Bool) +(declare-fun $V275_X$0 () Bool) +(declare-fun $V276_X$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(declare-fun $request_door$1 () Bool) +(declare-fun $warning_start$1 () Bool) +(declare-fun $in_station$1 () Bool) +(declare-fun $door_is_open$1 () Bool) +(declare-fun $V62_door_ok$1 () Bool) +(declare-fun $V60_open_door$1 () Bool) +(declare-fun $V61_close_door$1 () Bool) +(declare-fun $OK$1 () Bool) +(declare-fun $V58_env_always_ok$1 () Bool) +(declare-fun $V59_prop_ok$1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$1 () Bool) +(declare-fun $V253_between_A_and_X$1 () Bool) +(declare-fun $V264_env_ok$1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$1 () Bool) +(declare-fun $V252_X$1 () Bool) +(declare-fun $V268_door_initially_closed$1 () Bool) +(declare-fun $V269_initially_not_in_station$1 () Bool) +(declare-fun $V271_warning_start_only_in_station$1 () Bool) +(declare-fun $V273_X$1 () Bool) +(declare-fun $V274_X$1 () Bool) +(declare-fun $V275_X$1 () Bool) +(declare-fun $V276_X$1 () Bool) +(declare-fun $~flatten0$1 () Bool) +(declare-fun $request_door$2 () Bool) +(declare-fun $warning_start$2 () Bool) +(declare-fun $in_station$2 () Bool) +(declare-fun $door_is_open$2 () Bool) +(declare-fun $V62_door_ok$2 () Bool) +(declare-fun $V60_open_door$2 () Bool) +(declare-fun $V61_close_door$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V58_env_always_ok$2 () Bool) +(declare-fun $V59_prop_ok$2 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$2 () Bool) +(declare-fun $V253_between_A_and_X$2 () Bool) +(declare-fun $V264_env_ok$2 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$2 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$2 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$2 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$2 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$2 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$2 () Bool) +(declare-fun $V252_X$2 () Bool) +(declare-fun $V268_door_initially_closed$2 () Bool) +(declare-fun $V269_initially_not_in_station$2 () Bool) +(declare-fun $V271_warning_start_only_in_station$2 () Bool) +(declare-fun $V273_X$2 () Bool) +(declare-fun $V274_X$2 () Bool) +(declare-fun $V275_X$2 () Bool) +(declare-fun $V276_X$2 () Bool) +(declare-fun $~flatten0$2 () Bool) +(assert (T true $request_door$~1 $warning_start$~1 $in_station$~1 $door_is_open$~1 $V62_door_ok$~1 $V60_open_door$~1 $V61_close_door$~1 $OK$~1 $V58_env_always_ok$~1 $V59_prop_ok$~1 $V251_door_opens_before_leaving_station$~1 $V253_between_A_and_X$~1 $V264_env_ok$~1 $V265_door_doesnt_close_if_not_asked$~1 $V266_door_doesnt_open_if_not_asked$~1 $V267_tramway_doesnt_start_if_not_door_ok$~1 $V270_warning_start_and_in_station_go_down_simultaneously$~1 $V272_warning_start_cant_become_true_when_door_is_opening$~1 $V250_door_doesnt_open_out_of_station$~1 $V252_X$~1 $V268_door_initially_closed$~1 $V269_initially_not_in_station$~1 $V271_warning_start_only_in_station$~1 $V273_X$~1 $V274_X$~1 $V275_X$~1 $V276_X$~1 $~flatten0$~1 $request_door$0 $warning_start$0 $in_station$0 $door_is_open$0 $V62_door_ok$0 $V60_open_door$0 $V61_close_door$0 $OK$0 $V58_env_always_ok$0 $V59_prop_ok$0 $V251_door_opens_before_leaving_station$0 $V253_between_A_and_X$0 $V264_env_ok$0 $V265_door_doesnt_close_if_not_asked$0 $V266_door_doesnt_open_if_not_asked$0 $V267_tramway_doesnt_start_if_not_door_ok$0 $V270_warning_start_and_in_station_go_down_simultaneously$0 $V272_warning_start_cant_become_true_when_door_is_opening$0 $V250_door_doesnt_open_out_of_station$0 $V252_X$0 $V268_door_initially_closed$0 $V269_initially_not_in_station$0 $V271_warning_start_only_in_station$0 $V273_X$0 $V274_X$0 $V275_X$0 $V276_X$0 $~flatten0$0)) +(assert $OK$0) +(assert (T false $request_door$0 $warning_start$0 $in_station$0 $door_is_open$0 $V62_door_ok$0 $V60_open_door$0 $V61_close_door$0 $OK$0 $V58_env_always_ok$0 $V59_prop_ok$0 $V251_door_opens_before_leaving_station$0 $V253_between_A_and_X$0 $V264_env_ok$0 $V265_door_doesnt_close_if_not_asked$0 $V266_door_doesnt_open_if_not_asked$0 $V267_tramway_doesnt_start_if_not_door_ok$0 $V270_warning_start_and_in_station_go_down_simultaneously$0 $V272_warning_start_cant_become_true_when_door_is_opening$0 $V250_door_doesnt_open_out_of_station$0 $V252_X$0 $V268_door_initially_closed$0 $V269_initially_not_in_station$0 $V271_warning_start_only_in_station$0 $V273_X$0 $V274_X$0 $V275_X$0 $V276_X$0 $~flatten0$0 $request_door$1 $warning_start$1 $in_station$1 $door_is_open$1 $V62_door_ok$1 $V60_open_door$1 $V61_close_door$1 $OK$1 $V58_env_always_ok$1 $V59_prop_ok$1 $V251_door_opens_before_leaving_station$1 $V253_between_A_and_X$1 $V264_env_ok$1 $V265_door_doesnt_close_if_not_asked$1 $V266_door_doesnt_open_if_not_asked$1 $V267_tramway_doesnt_start_if_not_door_ok$1 $V270_warning_start_and_in_station_go_down_simultaneously$1 $V272_warning_start_cant_become_true_when_door_is_opening$1 $V250_door_doesnt_open_out_of_station$1 $V252_X$1 $V268_door_initially_closed$1 $V269_initially_not_in_station$1 $V271_warning_start_only_in_station$1 $V273_X$1 $V274_X$1 $V275_X$1 $V276_X$1 $~flatten0$1)) +(assert $OK$1) +(assert (T false $request_door$1 $warning_start$1 $in_station$1 $door_is_open$1 $V62_door_ok$1 $V60_open_door$1 $V61_close_door$1 $OK$1 $V58_env_always_ok$1 $V59_prop_ok$1 $V251_door_opens_before_leaving_station$1 $V253_between_A_and_X$1 $V264_env_ok$1 $V265_door_doesnt_close_if_not_asked$1 $V266_door_doesnt_open_if_not_asked$1 $V267_tramway_doesnt_start_if_not_door_ok$1 $V270_warning_start_and_in_station_go_down_simultaneously$1 $V272_warning_start_cant_become_true_when_door_is_opening$1 $V250_door_doesnt_open_out_of_station$1 $V252_X$1 $V268_door_initially_closed$1 $V269_initially_not_in_station$1 $V271_warning_start_only_in_station$1 $V273_X$1 $V274_X$1 $V275_X$1 $V276_X$1 $~flatten0$1 $request_door$2 $warning_start$2 $in_station$2 $door_is_open$2 $V62_door_ok$2 $V60_open_door$2 $V61_close_door$2 $OK$2 $V58_env_always_ok$2 $V59_prop_ok$2 $V251_door_opens_before_leaving_station$2 $V253_between_A_and_X$2 $V264_env_ok$2 $V265_door_doesnt_close_if_not_asked$2 $V266_door_doesnt_open_if_not_asked$2 $V267_tramway_doesnt_start_if_not_door_ok$2 $V270_warning_start_and_in_station_go_down_simultaneously$2 $V272_warning_start_cant_become_true_when_door_is_opening$2 $V250_door_doesnt_open_out_of_station$2 $V252_X$2 $V268_door_initially_closed$2 $V269_initially_not_in_station$2 $V271_warning_start_only_in_station$2 $V273_X$2 $V274_X$2 $V275_X$2 $V276_X$2 $~flatten0$2)) diff --git a/bench/tasks/tramway_e7_1834_e7_2363_base3_t_part.smt2 b/bench/tasks/tramway_e7_1834_e7_2363_base3_t_part.smt2 new file mode 100755 index 000000000..6e8f3e4c5 --- /dev/null +++ b/bench/tasks/tramway_e7_1834_e7_2363_base3_t_part.smt2 @@ -0,0 +1,117 @@ +; K = 3 +; Transition relation +(define-fun T ((%init Bool) ($request_door$0 Bool) ($warning_start$0 Bool) ($in_station$0 Bool) ($door_is_open$0 Bool) ($V62_door_ok$0 Bool) ($V60_open_door$0 Bool) ($V61_close_door$0 Bool) ($OK$0 Bool) ($V58_env_always_ok$0 Bool) ($V59_prop_ok$0 Bool) ($V251_door_opens_before_leaving_station$0 Bool) ($V253_between_A_and_X$0 Bool) ($V264_env_ok$0 Bool) ($V265_door_doesnt_close_if_not_asked$0 Bool) ($V266_door_doesnt_open_if_not_asked$0 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$0 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$0 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$0 Bool) ($V250_door_doesnt_open_out_of_station$0 Bool) ($V252_X$0 Bool) ($V268_door_initially_closed$0 Bool) ($V269_initially_not_in_station$0 Bool) ($V271_warning_start_only_in_station$0 Bool) ($V273_X$0 Bool) ($V274_X$0 Bool) ($V275_X$0 Bool) ($V276_X$0 Bool) ($~flatten0$0 Bool) ($request_door$1 Bool) ($warning_start$1 Bool) ($in_station$1 Bool) ($door_is_open$1 Bool) ($V62_door_ok$1 Bool) ($V60_open_door$1 Bool) ($V61_close_door$1 Bool) ($OK$1 Bool) ($V58_env_always_ok$1 Bool) ($V59_prop_ok$1 Bool) ($V251_door_opens_before_leaving_station$1 Bool) ($V253_between_A_and_X$1 Bool) ($V264_env_ok$1 Bool) ($V265_door_doesnt_close_if_not_asked$1 Bool) ($V266_door_doesnt_open_if_not_asked$1 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$1 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$1 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$1 Bool) ($V250_door_doesnt_open_out_of_station$1 Bool) ($V252_X$1 Bool) ($V268_door_initially_closed$1 Bool) ($V269_initially_not_in_station$1 Bool) ($V271_warning_start_only_in_station$1 Bool) ($V273_X$1 Bool) ($V274_X$1 Bool) ($V275_X$1 Bool) ($V276_X$1 Bool) ($~flatten0$1 Bool)) Bool (and (= $OK$1 (=> $V58_env_always_ok$1 $V59_prop_ok$1)) (= $V58_env_always_ok$1 (ite %init $V264_env_ok$1 (and $V264_env_ok$1 $V58_env_always_ok$0))) (= $V59_prop_ok$1 (and $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1)) (= $V250_door_doesnt_open_out_of_station$1 (=> $door_is_open$1 $in_station$1)) (= $V251_door_opens_before_leaving_station$1 (not (or $V253_between_A_and_X$1 (ite %init false (or $V252_X$1 (not $V252_X$0)))))) (= $V252_X$1 (not $in_station$1)) (= $V253_between_A_and_X$1 (ite (ite %init false (and $request_door$0 (not $warning_start$0))) true (ite (ite %init false $~flatten0$0) false (ite %init false $V253_between_A_and_X$0)))) (= $V264_env_ok$1 (and (and (and (and (and (and (and $V266_door_doesnt_open_if_not_asked$1 $V265_door_doesnt_close_if_not_asked$1) $V267_tramway_doesnt_start_if_not_door_ok$1) $V268_door_initially_closed$1) $V269_initially_not_in_station$1) $V270_warning_start_and_in_station_go_down_simultaneously$1) $V271_warning_start_only_in_station$1) $V272_warning_start_cant_become_true_when_door_is_opening$1)) (= $V265_door_doesnt_close_if_not_asked$1 (=> (ite %init false (or $door_is_open$1 (not $door_is_open$0))) $V60_open_door$1)) (= $V266_door_doesnt_open_if_not_asked$1 (=> (ite %init false (or $V273_X$1 (not $V273_X$0))) $V61_close_door$1)) (= $V267_tramway_doesnt_start_if_not_door_ok$1 (=> (ite %init false (or $V274_X$1 (not $V274_X$0))) (ite %init false $V62_door_ok$0))) (= $V268_door_initially_closed$1 (ite %init (not $door_is_open$1) true)) (= $V269_initially_not_in_station$1 (ite %init (not $in_station$1) true)) (= $V270_warning_start_and_in_station_go_down_simultaneously$1 (= (ite %init false (or $V275_X$1 (not $V275_X$0))) (ite %init false (or $V276_X$1 (not $V276_X$0))))) (= $V271_warning_start_only_in_station$1 (=> $warning_start$1 $in_station$1)) (= $V272_warning_start_cant_become_true_when_door_is_opening$1 (=> (ite %init false (or $warning_start$1 (not $warning_start$0))) (not $V60_open_door$1))) (= $V273_X$1 (not $door_is_open$1)) (= $V274_X$1 (not $in_station$1)) (= $V275_X$1 (not $in_station$1)) (= $V276_X$1 (not $warning_start$1)) (= $~flatten0$1 (ite %init false $door_is_open$0)))) +; Universally quantified variables +(declare-fun $request_door$~1 () Bool) +(declare-fun $warning_start$~1 () Bool) +(declare-fun $in_station$~1 () Bool) +(declare-fun $door_is_open$~1 () Bool) +(declare-fun $V62_door_ok$~1 () Bool) +(declare-fun $V60_open_door$~1 () Bool) +(declare-fun $V61_close_door$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V58_env_always_ok$~1 () Bool) +(declare-fun $V59_prop_ok$~1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$~1 () Bool) +(declare-fun $V253_between_A_and_X$~1 () Bool) +(declare-fun $V264_env_ok$~1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$~1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$~1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$~1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$~1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$~1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$~1 () Bool) +(declare-fun $V252_X$~1 () Bool) +(declare-fun $V268_door_initially_closed$~1 () Bool) +(declare-fun $V269_initially_not_in_station$~1 () Bool) +(declare-fun $V271_warning_start_only_in_station$~1 () Bool) +(declare-fun $V273_X$~1 () Bool) +(declare-fun $V274_X$~1 () Bool) +(declare-fun $V275_X$~1 () Bool) +(declare-fun $V276_X$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $request_door$0 () Bool) +(declare-fun $warning_start$0 () Bool) +(declare-fun $in_station$0 () Bool) +(declare-fun $door_is_open$0 () Bool) +(declare-fun $V62_door_ok$0 () Bool) +(declare-fun $V60_open_door$0 () Bool) +(declare-fun $V61_close_door$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V58_env_always_ok$0 () Bool) +(declare-fun $V59_prop_ok$0 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$0 () Bool) +(declare-fun $V253_between_A_and_X$0 () Bool) +(declare-fun $V264_env_ok$0 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$0 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$0 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$0 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$0 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$0 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$0 () Bool) +(declare-fun $V252_X$0 () Bool) +(declare-fun $V268_door_initially_closed$0 () Bool) +(declare-fun $V269_initially_not_in_station$0 () Bool) +(declare-fun $V271_warning_start_only_in_station$0 () Bool) +(declare-fun $V273_X$0 () Bool) +(declare-fun $V274_X$0 () Bool) +(declare-fun $V275_X$0 () Bool) +(declare-fun $V276_X$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(declare-fun $request_door$1 () Bool) +(declare-fun $warning_start$1 () Bool) +(declare-fun $in_station$1 () Bool) +(declare-fun $door_is_open$1 () Bool) +(declare-fun $V62_door_ok$1 () Bool) +(declare-fun $V60_open_door$1 () Bool) +(declare-fun $V61_close_door$1 () Bool) +(declare-fun $OK$1 () Bool) +(declare-fun $V58_env_always_ok$1 () Bool) +(declare-fun $V59_prop_ok$1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$1 () Bool) +(declare-fun $V253_between_A_and_X$1 () Bool) +(declare-fun $V264_env_ok$1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$1 () Bool) +(declare-fun $V252_X$1 () Bool) +(declare-fun $V268_door_initially_closed$1 () Bool) +(declare-fun $V269_initially_not_in_station$1 () Bool) +(declare-fun $V271_warning_start_only_in_station$1 () Bool) +(declare-fun $V273_X$1 () Bool) +(declare-fun $V274_X$1 () Bool) +(declare-fun $V275_X$1 () Bool) +(declare-fun $V276_X$1 () Bool) +(declare-fun $~flatten0$1 () Bool) +(declare-fun $request_door$2 () Bool) +(declare-fun $warning_start$2 () Bool) +(declare-fun $in_station$2 () Bool) +(declare-fun $door_is_open$2 () Bool) +(declare-fun $V62_door_ok$4 () Bool) +(declare-fun $V60_open_door$4 () Bool) +(declare-fun $V61_close_door$4 () Bool) +(declare-fun $OK$4 () Bool) +(declare-fun $V58_env_always_ok$4 () Bool) +(declare-fun $V59_prop_ok$4 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$4 () Bool) +(declare-fun $V253_between_A_and_X$4 () Bool) +(declare-fun $V264_env_ok$4 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$4 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$4 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$4 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$4 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$4 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$4 () Bool) +(declare-fun $V252_X$4 () Bool) +(declare-fun $V268_door_initially_closed$4 () Bool) +(declare-fun $V269_initially_not_in_station$4 () Bool) +(declare-fun $V271_warning_start_only_in_station$4 () Bool) +(declare-fun $V273_X$4 () Bool) +(declare-fun $V274_X$4 () Bool) +(declare-fun $V275_X$4 () Bool) +(declare-fun $V276_X$4 () Bool) +(declare-fun $~flatten0$4 () Bool) +(assert (and (T false $request_door$1 $warning_start$1 $in_station$1 $door_is_open$1 $V62_door_ok$1 $V60_open_door$1 $V61_close_door$1 $OK$1 $V58_env_always_ok$1 $V59_prop_ok$1 $V251_door_opens_before_leaving_station$1 $V253_between_A_and_X$1 $V264_env_ok$1 $V265_door_doesnt_close_if_not_asked$1 $V266_door_doesnt_open_if_not_asked$1 $V267_tramway_doesnt_start_if_not_door_ok$1 $V270_warning_start_and_in_station_go_down_simultaneously$1 $V272_warning_start_cant_become_true_when_door_is_opening$1 $V250_door_doesnt_open_out_of_station$1 $V252_X$1 $V268_door_initially_closed$1 $V269_initially_not_in_station$1 $V271_warning_start_only_in_station$1 $V273_X$1 $V274_X$1 $V275_X$1 $V276_X$1 $~flatten0$1 $request_door$2 $warning_start$2 $in_station$2 $door_is_open$2 $V62_door_ok$4 $V60_open_door$4 $V61_close_door$4 $OK$4 $V58_env_always_ok$4 $V59_prop_ok$4 $V251_door_opens_before_leaving_station$4 $V253_between_A_and_X$4 $V264_env_ok$4 $V265_door_doesnt_close_if_not_asked$4 $V266_door_doesnt_open_if_not_asked$4 $V267_tramway_doesnt_start_if_not_door_ok$4 $V270_warning_start_and_in_station_go_down_simultaneously$4 $V272_warning_start_cant_become_true_when_door_is_opening$4 $V250_door_doesnt_open_out_of_station$4 $V252_X$4 $V268_door_initially_closed$4 $V269_initially_not_in_station$4 $V271_warning_start_only_in_station$4 $V273_X$4 $V274_X$4 $V275_X$4 $V276_X$4 $~flatten0$4) $OK$4)) diff --git a/bench/tasks/tramway_e7_1834_e7_2363_base4_s_part.smt2 b/bench/tasks/tramway_e7_1834_e7_2363_base4_s_part.smt2 new file mode 100755 index 000000000..b0175a40c --- /dev/null +++ b/bench/tasks/tramway_e7_1834_e7_2363_base4_s_part.smt2 @@ -0,0 +1,151 @@ +; K = 4 +; Transition relation +(define-fun T ((%init Bool) ($request_door$0 Bool) ($warning_start$0 Bool) ($in_station$0 Bool) ($door_is_open$0 Bool) ($V62_door_ok$0 Bool) ($V60_open_door$0 Bool) ($V61_close_door$0 Bool) ($OK$0 Bool) ($V58_env_always_ok$0 Bool) ($V59_prop_ok$0 Bool) ($V251_door_opens_before_leaving_station$0 Bool) ($V253_between_A_and_X$0 Bool) ($V264_env_ok$0 Bool) ($V265_door_doesnt_close_if_not_asked$0 Bool) ($V266_door_doesnt_open_if_not_asked$0 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$0 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$0 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$0 Bool) ($V250_door_doesnt_open_out_of_station$0 Bool) ($V252_X$0 Bool) ($V268_door_initially_closed$0 Bool) ($V269_initially_not_in_station$0 Bool) ($V271_warning_start_only_in_station$0 Bool) ($V273_X$0 Bool) ($V274_X$0 Bool) ($V275_X$0 Bool) ($V276_X$0 Bool) ($~flatten0$0 Bool) ($request_door$1 Bool) ($warning_start$1 Bool) ($in_station$1 Bool) ($door_is_open$1 Bool) ($V62_door_ok$1 Bool) ($V60_open_door$1 Bool) ($V61_close_door$1 Bool) ($OK$1 Bool) ($V58_env_always_ok$1 Bool) ($V59_prop_ok$1 Bool) ($V251_door_opens_before_leaving_station$1 Bool) ($V253_between_A_and_X$1 Bool) ($V264_env_ok$1 Bool) ($V265_door_doesnt_close_if_not_asked$1 Bool) ($V266_door_doesnt_open_if_not_asked$1 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$1 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$1 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$1 Bool) ($V250_door_doesnt_open_out_of_station$1 Bool) ($V252_X$1 Bool) ($V268_door_initially_closed$1 Bool) ($V269_initially_not_in_station$1 Bool) ($V271_warning_start_only_in_station$1 Bool) ($V273_X$1 Bool) ($V274_X$1 Bool) ($V275_X$1 Bool) ($V276_X$1 Bool) ($~flatten0$1 Bool)) Bool (and (= $OK$1 (=> $V58_env_always_ok$1 $V59_prop_ok$1)) (= $V58_env_always_ok$1 (ite %init $V264_env_ok$1 (and $V264_env_ok$1 $V58_env_always_ok$0))) (= $V59_prop_ok$1 (and $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1)) (= $V250_door_doesnt_open_out_of_station$1 (=> $door_is_open$1 $in_station$1)) (= $V251_door_opens_before_leaving_station$1 (not (or $V253_between_A_and_X$1 (ite %init false (or $V252_X$1 (not $V252_X$0)))))) (= $V252_X$1 (not $in_station$1)) (= $V253_between_A_and_X$1 (ite (ite %init false (and $request_door$0 (not $warning_start$0))) true (ite (ite %init false $~flatten0$0) false (ite %init false $V253_between_A_and_X$0)))) (= $V264_env_ok$1 (and (and (and (and (and (and (and $V266_door_doesnt_open_if_not_asked$1 $V265_door_doesnt_close_if_not_asked$1) $V267_tramway_doesnt_start_if_not_door_ok$1) $V268_door_initially_closed$1) $V269_initially_not_in_station$1) $V270_warning_start_and_in_station_go_down_simultaneously$1) $V271_warning_start_only_in_station$1) $V272_warning_start_cant_become_true_when_door_is_opening$1)) (= $V265_door_doesnt_close_if_not_asked$1 (=> (ite %init false (or $door_is_open$1 (not $door_is_open$0))) $V60_open_door$1)) (= $V266_door_doesnt_open_if_not_asked$1 (=> (ite %init false (or $V273_X$1 (not $V273_X$0))) $V61_close_door$1)) (= $V267_tramway_doesnt_start_if_not_door_ok$1 (=> (ite %init false (or $V274_X$1 (not $V274_X$0))) (ite %init false $V62_door_ok$0))) (= $V268_door_initially_closed$1 (ite %init (not $door_is_open$1) true)) (= $V269_initially_not_in_station$1 (ite %init (not $in_station$1) true)) (= $V270_warning_start_and_in_station_go_down_simultaneously$1 (= (ite %init false (or $V275_X$1 (not $V275_X$0))) (ite %init false (or $V276_X$1 (not $V276_X$0))))) (= $V271_warning_start_only_in_station$1 (=> $warning_start$1 $in_station$1)) (= $V272_warning_start_cant_become_true_when_door_is_opening$1 (=> (ite %init false (or $warning_start$1 (not $warning_start$0))) (not $V60_open_door$1))) (= $V273_X$1 (not $door_is_open$1)) (= $V274_X$1 (not $in_station$1)) (= $V275_X$1 (not $in_station$1)) (= $V276_X$1 (not $warning_start$1)) (= $~flatten0$1 (ite %init false $door_is_open$0)))) +; Universally quantified variables +(declare-fun $request_door$~1 () Bool) +(declare-fun $warning_start$~1 () Bool) +(declare-fun $in_station$~1 () Bool) +(declare-fun $door_is_open$~1 () Bool) +(declare-fun $V62_door_ok$~1 () Bool) +(declare-fun $V60_open_door$~1 () Bool) +(declare-fun $V61_close_door$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V58_env_always_ok$~1 () Bool) +(declare-fun $V59_prop_ok$~1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$~1 () Bool) +(declare-fun $V253_between_A_and_X$~1 () Bool) +(declare-fun $V264_env_ok$~1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$~1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$~1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$~1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$~1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$~1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$~1 () Bool) +(declare-fun $V252_X$~1 () Bool) +(declare-fun $V268_door_initially_closed$~1 () Bool) +(declare-fun $V269_initially_not_in_station$~1 () Bool) +(declare-fun $V271_warning_start_only_in_station$~1 () Bool) +(declare-fun $V273_X$~1 () Bool) +(declare-fun $V274_X$~1 () Bool) +(declare-fun $V275_X$~1 () Bool) +(declare-fun $V276_X$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $request_door$0 () Bool) +(declare-fun $warning_start$0 () Bool) +(declare-fun $in_station$0 () Bool) +(declare-fun $door_is_open$0 () Bool) +(declare-fun $V62_door_ok$0 () Bool) +(declare-fun $V60_open_door$0 () Bool) +(declare-fun $V61_close_door$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V58_env_always_ok$0 () Bool) +(declare-fun $V59_prop_ok$0 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$0 () Bool) +(declare-fun $V253_between_A_and_X$0 () Bool) +(declare-fun $V264_env_ok$0 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$0 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$0 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$0 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$0 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$0 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$0 () Bool) +(declare-fun $V252_X$0 () Bool) +(declare-fun $V268_door_initially_closed$0 () Bool) +(declare-fun $V269_initially_not_in_station$0 () Bool) +(declare-fun $V271_warning_start_only_in_station$0 () Bool) +(declare-fun $V273_X$0 () Bool) +(declare-fun $V274_X$0 () Bool) +(declare-fun $V275_X$0 () Bool) +(declare-fun $V276_X$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(declare-fun $request_door$1 () Bool) +(declare-fun $warning_start$1 () Bool) +(declare-fun $in_station$1 () Bool) +(declare-fun $door_is_open$1 () Bool) +(declare-fun $V62_door_ok$1 () Bool) +(declare-fun $V60_open_door$1 () Bool) +(declare-fun $V61_close_door$1 () Bool) +(declare-fun $OK$1 () Bool) +(declare-fun $V58_env_always_ok$1 () Bool) +(declare-fun $V59_prop_ok$1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$1 () Bool) +(declare-fun $V253_between_A_and_X$1 () Bool) +(declare-fun $V264_env_ok$1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$1 () Bool) +(declare-fun $V252_X$1 () Bool) +(declare-fun $V268_door_initially_closed$1 () Bool) +(declare-fun $V269_initially_not_in_station$1 () Bool) +(declare-fun $V271_warning_start_only_in_station$1 () Bool) +(declare-fun $V273_X$1 () Bool) +(declare-fun $V274_X$1 () Bool) +(declare-fun $V275_X$1 () Bool) +(declare-fun $V276_X$1 () Bool) +(declare-fun $~flatten0$1 () Bool) +(declare-fun $request_door$2 () Bool) +(declare-fun $warning_start$2 () Bool) +(declare-fun $in_station$2 () Bool) +(declare-fun $door_is_open$2 () Bool) +(declare-fun $V62_door_ok$2 () Bool) +(declare-fun $V60_open_door$2 () Bool) +(declare-fun $V61_close_door$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V58_env_always_ok$2 () Bool) +(declare-fun $V59_prop_ok$2 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$2 () Bool) +(declare-fun $V253_between_A_and_X$2 () Bool) +(declare-fun $V264_env_ok$2 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$2 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$2 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$2 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$2 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$2 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$2 () Bool) +(declare-fun $V252_X$2 () Bool) +(declare-fun $V268_door_initially_closed$2 () Bool) +(declare-fun $V269_initially_not_in_station$2 () Bool) +(declare-fun $V271_warning_start_only_in_station$2 () Bool) +(declare-fun $V273_X$2 () Bool) +(declare-fun $V274_X$2 () Bool) +(declare-fun $V275_X$2 () Bool) +(declare-fun $V276_X$2 () Bool) +(declare-fun $~flatten0$2 () Bool) +(declare-fun $request_door$3 () Bool) +(declare-fun $warning_start$3 () Bool) +(declare-fun $in_station$3 () Bool) +(declare-fun $door_is_open$3 () Bool) +(declare-fun $V62_door_ok$3 () Bool) +(declare-fun $V60_open_door$3 () Bool) +(declare-fun $V61_close_door$3 () Bool) +(declare-fun $OK$3 () Bool) +(declare-fun $V58_env_always_ok$3 () Bool) +(declare-fun $V59_prop_ok$3 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$3 () Bool) +(declare-fun $V253_between_A_and_X$3 () Bool) +(declare-fun $V264_env_ok$3 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$3 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$3 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$3 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$3 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$3 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$3 () Bool) +(declare-fun $V252_X$3 () Bool) +(declare-fun $V268_door_initially_closed$3 () Bool) +(declare-fun $V269_initially_not_in_station$3 () Bool) +(declare-fun $V271_warning_start_only_in_station$3 () Bool) +(declare-fun $V273_X$3 () Bool) +(declare-fun $V274_X$3 () Bool) +(declare-fun $V275_X$3 () Bool) +(declare-fun $V276_X$3 () Bool) +(declare-fun $~flatten0$3 () Bool) +(assert (T true $request_door$~1 $warning_start$~1 $in_station$~1 $door_is_open$~1 $V62_door_ok$~1 $V60_open_door$~1 $V61_close_door$~1 $OK$~1 $V58_env_always_ok$~1 $V59_prop_ok$~1 $V251_door_opens_before_leaving_station$~1 $V253_between_A_and_X$~1 $V264_env_ok$~1 $V265_door_doesnt_close_if_not_asked$~1 $V266_door_doesnt_open_if_not_asked$~1 $V267_tramway_doesnt_start_if_not_door_ok$~1 $V270_warning_start_and_in_station_go_down_simultaneously$~1 $V272_warning_start_cant_become_true_when_door_is_opening$~1 $V250_door_doesnt_open_out_of_station$~1 $V252_X$~1 $V268_door_initially_closed$~1 $V269_initially_not_in_station$~1 $V271_warning_start_only_in_station$~1 $V273_X$~1 $V274_X$~1 $V275_X$~1 $V276_X$~1 $~flatten0$~1 $request_door$0 $warning_start$0 $in_station$0 $door_is_open$0 $V62_door_ok$0 $V60_open_door$0 $V61_close_door$0 $OK$0 $V58_env_always_ok$0 $V59_prop_ok$0 $V251_door_opens_before_leaving_station$0 $V253_between_A_and_X$0 $V264_env_ok$0 $V265_door_doesnt_close_if_not_asked$0 $V266_door_doesnt_open_if_not_asked$0 $V267_tramway_doesnt_start_if_not_door_ok$0 $V270_warning_start_and_in_station_go_down_simultaneously$0 $V272_warning_start_cant_become_true_when_door_is_opening$0 $V250_door_doesnt_open_out_of_station$0 $V252_X$0 $V268_door_initially_closed$0 $V269_initially_not_in_station$0 $V271_warning_start_only_in_station$0 $V273_X$0 $V274_X$0 $V275_X$0 $V276_X$0 $~flatten0$0)) +(assert $OK$0) +(assert (T false $request_door$0 $warning_start$0 $in_station$0 $door_is_open$0 $V62_door_ok$0 $V60_open_door$0 $V61_close_door$0 $OK$0 $V58_env_always_ok$0 $V59_prop_ok$0 $V251_door_opens_before_leaving_station$0 $V253_between_A_and_X$0 $V264_env_ok$0 $V265_door_doesnt_close_if_not_asked$0 $V266_door_doesnt_open_if_not_asked$0 $V267_tramway_doesnt_start_if_not_door_ok$0 $V270_warning_start_and_in_station_go_down_simultaneously$0 $V272_warning_start_cant_become_true_when_door_is_opening$0 $V250_door_doesnt_open_out_of_station$0 $V252_X$0 $V268_door_initially_closed$0 $V269_initially_not_in_station$0 $V271_warning_start_only_in_station$0 $V273_X$0 $V274_X$0 $V275_X$0 $V276_X$0 $~flatten0$0 $request_door$1 $warning_start$1 $in_station$1 $door_is_open$1 $V62_door_ok$1 $V60_open_door$1 $V61_close_door$1 $OK$1 $V58_env_always_ok$1 $V59_prop_ok$1 $V251_door_opens_before_leaving_station$1 $V253_between_A_and_X$1 $V264_env_ok$1 $V265_door_doesnt_close_if_not_asked$1 $V266_door_doesnt_open_if_not_asked$1 $V267_tramway_doesnt_start_if_not_door_ok$1 $V270_warning_start_and_in_station_go_down_simultaneously$1 $V272_warning_start_cant_become_true_when_door_is_opening$1 $V250_door_doesnt_open_out_of_station$1 $V252_X$1 $V268_door_initially_closed$1 $V269_initially_not_in_station$1 $V271_warning_start_only_in_station$1 $V273_X$1 $V274_X$1 $V275_X$1 $V276_X$1 $~flatten0$1)) +(assert $OK$1) +(assert (T false $request_door$1 $warning_start$1 $in_station$1 $door_is_open$1 $V62_door_ok$1 $V60_open_door$1 $V61_close_door$1 $OK$1 $V58_env_always_ok$1 $V59_prop_ok$1 $V251_door_opens_before_leaving_station$1 $V253_between_A_and_X$1 $V264_env_ok$1 $V265_door_doesnt_close_if_not_asked$1 $V266_door_doesnt_open_if_not_asked$1 $V267_tramway_doesnt_start_if_not_door_ok$1 $V270_warning_start_and_in_station_go_down_simultaneously$1 $V272_warning_start_cant_become_true_when_door_is_opening$1 $V250_door_doesnt_open_out_of_station$1 $V252_X$1 $V268_door_initially_closed$1 $V269_initially_not_in_station$1 $V271_warning_start_only_in_station$1 $V273_X$1 $V274_X$1 $V275_X$1 $V276_X$1 $~flatten0$1 $request_door$2 $warning_start$2 $in_station$2 $door_is_open$2 $V62_door_ok$2 $V60_open_door$2 $V61_close_door$2 $OK$2 $V58_env_always_ok$2 $V59_prop_ok$2 $V251_door_opens_before_leaving_station$2 $V253_between_A_and_X$2 $V264_env_ok$2 $V265_door_doesnt_close_if_not_asked$2 $V266_door_doesnt_open_if_not_asked$2 $V267_tramway_doesnt_start_if_not_door_ok$2 $V270_warning_start_and_in_station_go_down_simultaneously$2 $V272_warning_start_cant_become_true_when_door_is_opening$2 $V250_door_doesnt_open_out_of_station$2 $V252_X$2 $V268_door_initially_closed$2 $V269_initially_not_in_station$2 $V271_warning_start_only_in_station$2 $V273_X$2 $V274_X$2 $V275_X$2 $V276_X$2 $~flatten0$2)) +(assert $OK$2) +(assert (T false $request_door$2 $warning_start$2 $in_station$2 $door_is_open$2 $V62_door_ok$2 $V60_open_door$2 $V61_close_door$2 $OK$2 $V58_env_always_ok$2 $V59_prop_ok$2 $V251_door_opens_before_leaving_station$2 $V253_between_A_and_X$2 $V264_env_ok$2 $V265_door_doesnt_close_if_not_asked$2 $V266_door_doesnt_open_if_not_asked$2 $V267_tramway_doesnt_start_if_not_door_ok$2 $V270_warning_start_and_in_station_go_down_simultaneously$2 $V272_warning_start_cant_become_true_when_door_is_opening$2 $V250_door_doesnt_open_out_of_station$2 $V252_X$2 $V268_door_initially_closed$2 $V269_initially_not_in_station$2 $V271_warning_start_only_in_station$2 $V273_X$2 $V274_X$2 $V275_X$2 $V276_X$2 $~flatten0$2 $request_door$3 $warning_start$3 $in_station$3 $door_is_open$3 $V62_door_ok$3 $V60_open_door$3 $V61_close_door$3 $OK$3 $V58_env_always_ok$3 $V59_prop_ok$3 $V251_door_opens_before_leaving_station$3 $V253_between_A_and_X$3 $V264_env_ok$3 $V265_door_doesnt_close_if_not_asked$3 $V266_door_doesnt_open_if_not_asked$3 $V267_tramway_doesnt_start_if_not_door_ok$3 $V270_warning_start_and_in_station_go_down_simultaneously$3 $V272_warning_start_cant_become_true_when_door_is_opening$3 $V250_door_doesnt_open_out_of_station$3 $V252_X$3 $V268_door_initially_closed$3 $V269_initially_not_in_station$3 $V271_warning_start_only_in_station$3 $V273_X$3 $V274_X$3 $V275_X$3 $V276_X$3 $~flatten0$3)) diff --git a/bench/tasks/tramway_e7_1834_e7_2363_base4_t_part.smt2 b/bench/tasks/tramway_e7_1834_e7_2363_base4_t_part.smt2 new file mode 100755 index 000000000..4c374f8b1 --- /dev/null +++ b/bench/tasks/tramway_e7_1834_e7_2363_base4_t_part.smt2 @@ -0,0 +1,145 @@ +; K = 4 +; Transition relation +(define-fun T ((%init Bool) ($request_door$0 Bool) ($warning_start$0 Bool) ($in_station$0 Bool) ($door_is_open$0 Bool) ($V62_door_ok$0 Bool) ($V60_open_door$0 Bool) ($V61_close_door$0 Bool) ($OK$0 Bool) ($V58_env_always_ok$0 Bool) ($V59_prop_ok$0 Bool) ($V251_door_opens_before_leaving_station$0 Bool) ($V253_between_A_and_X$0 Bool) ($V264_env_ok$0 Bool) ($V265_door_doesnt_close_if_not_asked$0 Bool) ($V266_door_doesnt_open_if_not_asked$0 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$0 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$0 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$0 Bool) ($V250_door_doesnt_open_out_of_station$0 Bool) ($V252_X$0 Bool) ($V268_door_initially_closed$0 Bool) ($V269_initially_not_in_station$0 Bool) ($V271_warning_start_only_in_station$0 Bool) ($V273_X$0 Bool) ($V274_X$0 Bool) ($V275_X$0 Bool) ($V276_X$0 Bool) ($~flatten0$0 Bool) ($request_door$1 Bool) ($warning_start$1 Bool) ($in_station$1 Bool) ($door_is_open$1 Bool) ($V62_door_ok$1 Bool) ($V60_open_door$1 Bool) ($V61_close_door$1 Bool) ($OK$1 Bool) ($V58_env_always_ok$1 Bool) ($V59_prop_ok$1 Bool) ($V251_door_opens_before_leaving_station$1 Bool) ($V253_between_A_and_X$1 Bool) ($V264_env_ok$1 Bool) ($V265_door_doesnt_close_if_not_asked$1 Bool) ($V266_door_doesnt_open_if_not_asked$1 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$1 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$1 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$1 Bool) ($V250_door_doesnt_open_out_of_station$1 Bool) ($V252_X$1 Bool) ($V268_door_initially_closed$1 Bool) ($V269_initially_not_in_station$1 Bool) ($V271_warning_start_only_in_station$1 Bool) ($V273_X$1 Bool) ($V274_X$1 Bool) ($V275_X$1 Bool) ($V276_X$1 Bool) ($~flatten0$1 Bool)) Bool (and (= $OK$1 (=> $V58_env_always_ok$1 $V59_prop_ok$1)) (= $V58_env_always_ok$1 (ite %init $V264_env_ok$1 (and $V264_env_ok$1 $V58_env_always_ok$0))) (= $V59_prop_ok$1 (and $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1)) (= $V250_door_doesnt_open_out_of_station$1 (=> $door_is_open$1 $in_station$1)) (= $V251_door_opens_before_leaving_station$1 (not (or $V253_between_A_and_X$1 (ite %init false (or $V252_X$1 (not $V252_X$0)))))) (= $V252_X$1 (not $in_station$1)) (= $V253_between_A_and_X$1 (ite (ite %init false (and $request_door$0 (not $warning_start$0))) true (ite (ite %init false $~flatten0$0) false (ite %init false $V253_between_A_and_X$0)))) (= $V264_env_ok$1 (and (and (and (and (and (and (and $V266_door_doesnt_open_if_not_asked$1 $V265_door_doesnt_close_if_not_asked$1) $V267_tramway_doesnt_start_if_not_door_ok$1) $V268_door_initially_closed$1) $V269_initially_not_in_station$1) $V270_warning_start_and_in_station_go_down_simultaneously$1) $V271_warning_start_only_in_station$1) $V272_warning_start_cant_become_true_when_door_is_opening$1)) (= $V265_door_doesnt_close_if_not_asked$1 (=> (ite %init false (or $door_is_open$1 (not $door_is_open$0))) $V60_open_door$1)) (= $V266_door_doesnt_open_if_not_asked$1 (=> (ite %init false (or $V273_X$1 (not $V273_X$0))) $V61_close_door$1)) (= $V267_tramway_doesnt_start_if_not_door_ok$1 (=> (ite %init false (or $V274_X$1 (not $V274_X$0))) (ite %init false $V62_door_ok$0))) (= $V268_door_initially_closed$1 (ite %init (not $door_is_open$1) true)) (= $V269_initially_not_in_station$1 (ite %init (not $in_station$1) true)) (= $V270_warning_start_and_in_station_go_down_simultaneously$1 (= (ite %init false (or $V275_X$1 (not $V275_X$0))) (ite %init false (or $V276_X$1 (not $V276_X$0))))) (= $V271_warning_start_only_in_station$1 (=> $warning_start$1 $in_station$1)) (= $V272_warning_start_cant_become_true_when_door_is_opening$1 (=> (ite %init false (or $warning_start$1 (not $warning_start$0))) (not $V60_open_door$1))) (= $V273_X$1 (not $door_is_open$1)) (= $V274_X$1 (not $in_station$1)) (= $V275_X$1 (not $in_station$1)) (= $V276_X$1 (not $warning_start$1)) (= $~flatten0$1 (ite %init false $door_is_open$0)))) +; Universally quantified variables +(declare-fun $request_door$~1 () Bool) +(declare-fun $warning_start$~1 () Bool) +(declare-fun $in_station$~1 () Bool) +(declare-fun $door_is_open$~1 () Bool) +(declare-fun $V62_door_ok$~1 () Bool) +(declare-fun $V60_open_door$~1 () Bool) +(declare-fun $V61_close_door$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V58_env_always_ok$~1 () Bool) +(declare-fun $V59_prop_ok$~1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$~1 () Bool) +(declare-fun $V253_between_A_and_X$~1 () Bool) +(declare-fun $V264_env_ok$~1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$~1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$~1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$~1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$~1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$~1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$~1 () Bool) +(declare-fun $V252_X$~1 () Bool) +(declare-fun $V268_door_initially_closed$~1 () Bool) +(declare-fun $V269_initially_not_in_station$~1 () Bool) +(declare-fun $V271_warning_start_only_in_station$~1 () Bool) +(declare-fun $V273_X$~1 () Bool) +(declare-fun $V274_X$~1 () Bool) +(declare-fun $V275_X$~1 () Bool) +(declare-fun $V276_X$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $request_door$0 () Bool) +(declare-fun $warning_start$0 () Bool) +(declare-fun $in_station$0 () Bool) +(declare-fun $door_is_open$0 () Bool) +(declare-fun $V62_door_ok$0 () Bool) +(declare-fun $V60_open_door$0 () Bool) +(declare-fun $V61_close_door$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V58_env_always_ok$0 () Bool) +(declare-fun $V59_prop_ok$0 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$0 () Bool) +(declare-fun $V253_between_A_and_X$0 () Bool) +(declare-fun $V264_env_ok$0 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$0 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$0 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$0 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$0 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$0 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$0 () Bool) +(declare-fun $V252_X$0 () Bool) +(declare-fun $V268_door_initially_closed$0 () Bool) +(declare-fun $V269_initially_not_in_station$0 () Bool) +(declare-fun $V271_warning_start_only_in_station$0 () Bool) +(declare-fun $V273_X$0 () Bool) +(declare-fun $V274_X$0 () Bool) +(declare-fun $V275_X$0 () Bool) +(declare-fun $V276_X$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(declare-fun $request_door$1 () Bool) +(declare-fun $warning_start$1 () Bool) +(declare-fun $in_station$1 () Bool) +(declare-fun $door_is_open$1 () Bool) +(declare-fun $V62_door_ok$1 () Bool) +(declare-fun $V60_open_door$1 () Bool) +(declare-fun $V61_close_door$1 () Bool) +(declare-fun $OK$1 () Bool) +(declare-fun $V58_env_always_ok$1 () Bool) +(declare-fun $V59_prop_ok$1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$1 () Bool) +(declare-fun $V253_between_A_and_X$1 () Bool) +(declare-fun $V264_env_ok$1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$1 () Bool) +(declare-fun $V252_X$1 () Bool) +(declare-fun $V268_door_initially_closed$1 () Bool) +(declare-fun $V269_initially_not_in_station$1 () Bool) +(declare-fun $V271_warning_start_only_in_station$1 () Bool) +(declare-fun $V273_X$1 () Bool) +(declare-fun $V274_X$1 () Bool) +(declare-fun $V275_X$1 () Bool) +(declare-fun $V276_X$1 () Bool) +(declare-fun $~flatten0$1 () Bool) +(declare-fun $request_door$2 () Bool) +(declare-fun $warning_start$2 () Bool) +(declare-fun $in_station$2 () Bool) +(declare-fun $door_is_open$2 () Bool) +(declare-fun $V62_door_ok$2 () Bool) +(declare-fun $V60_open_door$2 () Bool) +(declare-fun $V61_close_door$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V58_env_always_ok$2 () Bool) +(declare-fun $V59_prop_ok$2 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$2 () Bool) +(declare-fun $V253_between_A_and_X$2 () Bool) +(declare-fun $V264_env_ok$2 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$2 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$2 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$2 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$2 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$2 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$2 () Bool) +(declare-fun $V252_X$2 () Bool) +(declare-fun $V268_door_initially_closed$2 () Bool) +(declare-fun $V269_initially_not_in_station$2 () Bool) +(declare-fun $V271_warning_start_only_in_station$2 () Bool) +(declare-fun $V273_X$2 () Bool) +(declare-fun $V274_X$2 () Bool) +(declare-fun $V275_X$2 () Bool) +(declare-fun $V276_X$2 () Bool) +(declare-fun $~flatten0$2 () Bool) +(declare-fun $request_door$3 () Bool) +(declare-fun $warning_start$3 () Bool) +(declare-fun $in_station$3 () Bool) +(declare-fun $door_is_open$3 () Bool) +(declare-fun $V62_door_ok$5 () Bool) +(declare-fun $V60_open_door$5 () Bool) +(declare-fun $V61_close_door$5 () Bool) +(declare-fun $OK$5 () Bool) +(declare-fun $V58_env_always_ok$5 () Bool) +(declare-fun $V59_prop_ok$5 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$5 () Bool) +(declare-fun $V253_between_A_and_X$5 () Bool) +(declare-fun $V264_env_ok$5 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$5 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$5 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$5 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$5 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$5 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$5 () Bool) +(declare-fun $V252_X$5 () Bool) +(declare-fun $V268_door_initially_closed$5 () Bool) +(declare-fun $V269_initially_not_in_station$5 () Bool) +(declare-fun $V271_warning_start_only_in_station$5 () Bool) +(declare-fun $V273_X$5 () Bool) +(declare-fun $V274_X$5 () Bool) +(declare-fun $V275_X$5 () Bool) +(declare-fun $V276_X$5 () Bool) +(declare-fun $~flatten0$5 () Bool) +(assert (and (T false $request_door$2 $warning_start$2 $in_station$2 $door_is_open$2 $V62_door_ok$2 $V60_open_door$2 $V61_close_door$2 $OK$2 $V58_env_always_ok$2 $V59_prop_ok$2 $V251_door_opens_before_leaving_station$2 $V253_between_A_and_X$2 $V264_env_ok$2 $V265_door_doesnt_close_if_not_asked$2 $V266_door_doesnt_open_if_not_asked$2 $V267_tramway_doesnt_start_if_not_door_ok$2 $V270_warning_start_and_in_station_go_down_simultaneously$2 $V272_warning_start_cant_become_true_when_door_is_opening$2 $V250_door_doesnt_open_out_of_station$2 $V252_X$2 $V268_door_initially_closed$2 $V269_initially_not_in_station$2 $V271_warning_start_only_in_station$2 $V273_X$2 $V274_X$2 $V275_X$2 $V276_X$2 $~flatten0$2 $request_door$3 $warning_start$3 $in_station$3 $door_is_open$3 $V62_door_ok$5 $V60_open_door$5 $V61_close_door$5 $OK$5 $V58_env_always_ok$5 $V59_prop_ok$5 $V251_door_opens_before_leaving_station$5 $V253_between_A_and_X$5 $V264_env_ok$5 $V265_door_doesnt_close_if_not_asked$5 $V266_door_doesnt_open_if_not_asked$5 $V267_tramway_doesnt_start_if_not_door_ok$5 $V270_warning_start_and_in_station_go_down_simultaneously$5 $V272_warning_start_cant_become_true_when_door_is_opening$5 $V250_door_doesnt_open_out_of_station$5 $V252_X$5 $V268_door_initially_closed$5 $V269_initially_not_in_station$5 $V271_warning_start_only_in_station$5 $V273_X$5 $V274_X$5 $V275_X$5 $V276_X$5 $~flatten0$5) $OK$5)) diff --git a/bench/tasks/tramway_e7_1834_e7_2363_extend_s_part.smt2 b/bench/tasks/tramway_e7_1834_e7_2363_extend_s_part.smt2 new file mode 100755 index 000000000..288d963f7 --- /dev/null +++ b/bench/tasks/tramway_e7_1834_e7_2363_extend_s_part.smt2 @@ -0,0 +1,62 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($request_door$0 Bool) ($warning_start$0 Bool) ($in_station$0 Bool) ($door_is_open$0 Bool) ($V62_door_ok$0 Bool) ($V60_open_door$0 Bool) ($V61_close_door$0 Bool) ($OK$0 Bool) ($V58_env_always_ok$0 Bool) ($V59_prop_ok$0 Bool) ($V251_door_opens_before_leaving_station$0 Bool) ($V253_between_A_and_X$0 Bool) ($V264_env_ok$0 Bool) ($V265_door_doesnt_close_if_not_asked$0 Bool) ($V266_door_doesnt_open_if_not_asked$0 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$0 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$0 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$0 Bool) ($V250_door_doesnt_open_out_of_station$0 Bool) ($V252_X$0 Bool) ($V268_door_initially_closed$0 Bool) ($V269_initially_not_in_station$0 Bool) ($V271_warning_start_only_in_station$0 Bool) ($V273_X$0 Bool) ($V274_X$0 Bool) ($V275_X$0 Bool) ($V276_X$0 Bool) ($~flatten0$0 Bool) ($request_door$1 Bool) ($warning_start$1 Bool) ($in_station$1 Bool) ($door_is_open$1 Bool) ($V62_door_ok$1 Bool) ($V60_open_door$1 Bool) ($V61_close_door$1 Bool) ($OK$1 Bool) ($V58_env_always_ok$1 Bool) ($V59_prop_ok$1 Bool) ($V251_door_opens_before_leaving_station$1 Bool) ($V253_between_A_and_X$1 Bool) ($V264_env_ok$1 Bool) ($V265_door_doesnt_close_if_not_asked$1 Bool) ($V266_door_doesnt_open_if_not_asked$1 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$1 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$1 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$1 Bool) ($V250_door_doesnt_open_out_of_station$1 Bool) ($V252_X$1 Bool) ($V268_door_initially_closed$1 Bool) ($V269_initially_not_in_station$1 Bool) ($V271_warning_start_only_in_station$1 Bool) ($V273_X$1 Bool) ($V274_X$1 Bool) ($V275_X$1 Bool) ($V276_X$1 Bool) ($~flatten0$1 Bool)) Bool (and (= $OK$1 (=> $V58_env_always_ok$1 $V59_prop_ok$1)) (= $V58_env_always_ok$1 (ite %init $V264_env_ok$1 (and $V264_env_ok$1 $V58_env_always_ok$0))) (= $V59_prop_ok$1 (and $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1)) (= $V250_door_doesnt_open_out_of_station$1 (=> $door_is_open$1 $in_station$1)) (= $V251_door_opens_before_leaving_station$1 (not (or $V253_between_A_and_X$1 (ite %init false (or $V252_X$1 (not $V252_X$0)))))) (= $V252_X$1 (not $in_station$1)) (= $V253_between_A_and_X$1 (ite (ite %init false (and $request_door$0 (not $warning_start$0))) true (ite (ite %init false $~flatten0$0) false (ite %init false $V253_between_A_and_X$0)))) (= $V264_env_ok$1 (and (and (and (and (and (and (and $V266_door_doesnt_open_if_not_asked$1 $V265_door_doesnt_close_if_not_asked$1) $V267_tramway_doesnt_start_if_not_door_ok$1) $V268_door_initially_closed$1) $V269_initially_not_in_station$1) $V270_warning_start_and_in_station_go_down_simultaneously$1) $V271_warning_start_only_in_station$1) $V272_warning_start_cant_become_true_when_door_is_opening$1)) (= $V265_door_doesnt_close_if_not_asked$1 (=> (ite %init false (or $door_is_open$1 (not $door_is_open$0))) $V60_open_door$1)) (= $V266_door_doesnt_open_if_not_asked$1 (=> (ite %init false (or $V273_X$1 (not $V273_X$0))) $V61_close_door$1)) (= $V267_tramway_doesnt_start_if_not_door_ok$1 (=> (ite %init false (or $V274_X$1 (not $V274_X$0))) (ite %init false $V62_door_ok$0))) (= $V268_door_initially_closed$1 (ite %init (not $door_is_open$1) true)) (= $V269_initially_not_in_station$1 (ite %init (not $in_station$1) true)) (= $V270_warning_start_and_in_station_go_down_simultaneously$1 (= (ite %init false (or $V275_X$1 (not $V275_X$0))) (ite %init false (or $V276_X$1 (not $V276_X$0))))) (= $V271_warning_start_only_in_station$1 (=> $warning_start$1 $in_station$1)) (= $V272_warning_start_cant_become_true_when_door_is_opening$1 (=> (ite %init false (or $warning_start$1 (not $warning_start$0))) (not $V60_open_door$1))) (= $V273_X$1 (not $door_is_open$1)) (= $V274_X$1 (not $in_station$1)) (= $V275_X$1 (not $in_station$1)) (= $V276_X$1 (not $warning_start$1)) (= $~flatten0$1 (ite %init false $door_is_open$0)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $request_door$~1 () Bool) +(declare-fun $warning_start$~1 () Bool) +(declare-fun $in_station$~1 () Bool) +(declare-fun $door_is_open$~1 () Bool) +(declare-fun $V62_door_ok$~1 () Bool) +(declare-fun $V60_open_door$~1 () Bool) +(declare-fun $V61_close_door$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V58_env_always_ok$~1 () Bool) +(declare-fun $V59_prop_ok$~1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$~1 () Bool) +(declare-fun $V253_between_A_and_X$~1 () Bool) +(declare-fun $V264_env_ok$~1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$~1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$~1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$~1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$~1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$~1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$~1 () Bool) +(declare-fun $V252_X$~1 () Bool) +(declare-fun $V268_door_initially_closed$~1 () Bool) +(declare-fun $V269_initially_not_in_station$~1 () Bool) +(declare-fun $V271_warning_start_only_in_station$~1 () Bool) +(declare-fun $V273_X$~1 () Bool) +(declare-fun $V274_X$~1 () Bool) +(declare-fun $V275_X$~1 () Bool) +(declare-fun $V276_X$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $request_door$0 () Bool) +(declare-fun $warning_start$0 () Bool) +(declare-fun $in_station$0 () Bool) +(declare-fun $door_is_open$0 () Bool) +(declare-fun $V62_door_ok$0 () Bool) +(declare-fun $V60_open_door$0 () Bool) +(declare-fun $V61_close_door$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V58_env_always_ok$0 () Bool) +(declare-fun $V59_prop_ok$0 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$0 () Bool) +(declare-fun $V253_between_A_and_X$0 () Bool) +(declare-fun $V264_env_ok$0 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$0 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$0 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$0 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$0 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$0 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$0 () Bool) +(declare-fun $V252_X$0 () Bool) +(declare-fun $V268_door_initially_closed$0 () Bool) +(declare-fun $V269_initially_not_in_station$0 () Bool) +(declare-fun $V271_warning_start_only_in_station$0 () Bool) +(declare-fun $V273_X$0 () Bool) +(declare-fun $V274_X$0 () Bool) +(declare-fun $V275_X$0 () Bool) +(declare-fun $V276_X$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(assert (T %init $request_door$~1 $warning_start$~1 $in_station$~1 $door_is_open$~1 $V62_door_ok$~1 $V60_open_door$~1 $V61_close_door$~1 $OK$~1 $V58_env_always_ok$~1 $V59_prop_ok$~1 $V251_door_opens_before_leaving_station$~1 $V253_between_A_and_X$~1 $V264_env_ok$~1 $V265_door_doesnt_close_if_not_asked$~1 $V266_door_doesnt_open_if_not_asked$~1 $V267_tramway_doesnt_start_if_not_door_ok$~1 $V270_warning_start_and_in_station_go_down_simultaneously$~1 $V272_warning_start_cant_become_true_when_door_is_opening$~1 $V250_door_doesnt_open_out_of_station$~1 $V252_X$~1 $V268_door_initially_closed$~1 $V269_initially_not_in_station$~1 $V271_warning_start_only_in_station$~1 $V273_X$~1 $V274_X$~1 $V275_X$~1 $V276_X$~1 $~flatten0$~1 $request_door$0 $warning_start$0 $in_station$0 $door_is_open$0 $V62_door_ok$0 $V60_open_door$0 $V61_close_door$0 $OK$0 $V58_env_always_ok$0 $V59_prop_ok$0 $V251_door_opens_before_leaving_station$0 $V253_between_A_and_X$0 $V264_env_ok$0 $V265_door_doesnt_close_if_not_asked$0 $V266_door_doesnt_open_if_not_asked$0 $V267_tramway_doesnt_start_if_not_door_ok$0 $V270_warning_start_and_in_station_go_down_simultaneously$0 $V272_warning_start_cant_become_true_when_door_is_opening$0 $V250_door_doesnt_open_out_of_station$0 $V252_X$0 $V268_door_initially_closed$0 $V269_initially_not_in_station$0 $V271_warning_start_only_in_station$0 $V273_X$0 $V274_X$0 $V275_X$0 $V276_X$0 $~flatten0$0)) diff --git a/bench/tasks/tramway_e7_1834_e7_2363_extend_t_part.smt2 b/bench/tasks/tramway_e7_1834_e7_2363_extend_t_part.smt2 new file mode 100755 index 000000000..fb2b85215 --- /dev/null +++ b/bench/tasks/tramway_e7_1834_e7_2363_extend_t_part.smt2 @@ -0,0 +1,63 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($request_door$0 Bool) ($warning_start$0 Bool) ($in_station$0 Bool) ($door_is_open$0 Bool) ($V62_door_ok$0 Bool) ($V60_open_door$0 Bool) ($V61_close_door$0 Bool) ($OK$0 Bool) ($V58_env_always_ok$0 Bool) ($V59_prop_ok$0 Bool) ($V251_door_opens_before_leaving_station$0 Bool) ($V253_between_A_and_X$0 Bool) ($V264_env_ok$0 Bool) ($V265_door_doesnt_close_if_not_asked$0 Bool) ($V266_door_doesnt_open_if_not_asked$0 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$0 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$0 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$0 Bool) ($V250_door_doesnt_open_out_of_station$0 Bool) ($V252_X$0 Bool) ($V268_door_initially_closed$0 Bool) ($V269_initially_not_in_station$0 Bool) ($V271_warning_start_only_in_station$0 Bool) ($V273_X$0 Bool) ($V274_X$0 Bool) ($V275_X$0 Bool) ($V276_X$0 Bool) ($~flatten0$0 Bool) ($request_door$1 Bool) ($warning_start$1 Bool) ($in_station$1 Bool) ($door_is_open$1 Bool) ($V62_door_ok$1 Bool) ($V60_open_door$1 Bool) ($V61_close_door$1 Bool) ($OK$1 Bool) ($V58_env_always_ok$1 Bool) ($V59_prop_ok$1 Bool) ($V251_door_opens_before_leaving_station$1 Bool) ($V253_between_A_and_X$1 Bool) ($V264_env_ok$1 Bool) ($V265_door_doesnt_close_if_not_asked$1 Bool) ($V266_door_doesnt_open_if_not_asked$1 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$1 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$1 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$1 Bool) ($V250_door_doesnt_open_out_of_station$1 Bool) ($V252_X$1 Bool) ($V268_door_initially_closed$1 Bool) ($V269_initially_not_in_station$1 Bool) ($V271_warning_start_only_in_station$1 Bool) ($V273_X$1 Bool) ($V274_X$1 Bool) ($V275_X$1 Bool) ($V276_X$1 Bool) ($~flatten0$1 Bool)) Bool (and (= $OK$1 (=> $V58_env_always_ok$1 $V59_prop_ok$1)) (= $V58_env_always_ok$1 (ite %init $V264_env_ok$1 (and $V264_env_ok$1 $V58_env_always_ok$0))) (= $V59_prop_ok$1 (and $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1)) (= $V250_door_doesnt_open_out_of_station$1 (=> $door_is_open$1 $in_station$1)) (= $V251_door_opens_before_leaving_station$1 (not (or $V253_between_A_and_X$1 (ite %init false (or $V252_X$1 (not $V252_X$0)))))) (= $V252_X$1 (not $in_station$1)) (= $V253_between_A_and_X$1 (ite (ite %init false (and $request_door$0 (not $warning_start$0))) true (ite (ite %init false $~flatten0$0) false (ite %init false $V253_between_A_and_X$0)))) (= $V264_env_ok$1 (and (and (and (and (and (and (and $V266_door_doesnt_open_if_not_asked$1 $V265_door_doesnt_close_if_not_asked$1) $V267_tramway_doesnt_start_if_not_door_ok$1) $V268_door_initially_closed$1) $V269_initially_not_in_station$1) $V270_warning_start_and_in_station_go_down_simultaneously$1) $V271_warning_start_only_in_station$1) $V272_warning_start_cant_become_true_when_door_is_opening$1)) (= $V265_door_doesnt_close_if_not_asked$1 (=> (ite %init false (or $door_is_open$1 (not $door_is_open$0))) $V60_open_door$1)) (= $V266_door_doesnt_open_if_not_asked$1 (=> (ite %init false (or $V273_X$1 (not $V273_X$0))) $V61_close_door$1)) (= $V267_tramway_doesnt_start_if_not_door_ok$1 (=> (ite %init false (or $V274_X$1 (not $V274_X$0))) (ite %init false $V62_door_ok$0))) (= $V268_door_initially_closed$1 (ite %init (not $door_is_open$1) true)) (= $V269_initially_not_in_station$1 (ite %init (not $in_station$1) true)) (= $V270_warning_start_and_in_station_go_down_simultaneously$1 (= (ite %init false (or $V275_X$1 (not $V275_X$0))) (ite %init false (or $V276_X$1 (not $V276_X$0))))) (= $V271_warning_start_only_in_station$1 (=> $warning_start$1 $in_station$1)) (= $V272_warning_start_cant_become_true_when_door_is_opening$1 (=> (ite %init false (or $warning_start$1 (not $warning_start$0))) (not $V60_open_door$1))) (= $V273_X$1 (not $door_is_open$1)) (= $V274_X$1 (not $in_station$1)) (= $V275_X$1 (not $in_station$1)) (= $V276_X$1 (not $warning_start$1)) (= $~flatten0$1 (ite %init false $door_is_open$0)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $request_door$~1 () Bool) +(declare-fun $warning_start$~1 () Bool) +(declare-fun $in_station$~1 () Bool) +(declare-fun $door_is_open$~1 () Bool) +(declare-fun $V62_door_ok$~1 () Bool) +(declare-fun $V60_open_door$~1 () Bool) +(declare-fun $V61_close_door$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V58_env_always_ok$~1 () Bool) +(declare-fun $V59_prop_ok$~1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$~1 () Bool) +(declare-fun $V253_between_A_and_X$~1 () Bool) +(declare-fun $V264_env_ok$~1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$~1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$~1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$~1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$~1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$~1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$~1 () Bool) +(declare-fun $V252_X$~1 () Bool) +(declare-fun $V268_door_initially_closed$~1 () Bool) +(declare-fun $V269_initially_not_in_station$~1 () Bool) +(declare-fun $V271_warning_start_only_in_station$~1 () Bool) +(declare-fun $V273_X$~1 () Bool) +(declare-fun $V274_X$~1 () Bool) +(declare-fun $V275_X$~1 () Bool) +(declare-fun $V276_X$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $request_door$0 () Bool) +(declare-fun $warning_start$0 () Bool) +(declare-fun $in_station$0 () Bool) +(declare-fun $door_is_open$0 () Bool) +(declare-fun $V62_door_ok$2 () Bool) +(declare-fun $V60_open_door$2 () Bool) +(declare-fun $V61_close_door$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V58_env_always_ok$2 () Bool) +(declare-fun $V59_prop_ok$2 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$2 () Bool) +(declare-fun $V253_between_A_and_X$2 () Bool) +(declare-fun $V264_env_ok$2 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$2 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$2 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$2 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$2 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$2 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$2 () Bool) +(declare-fun $V252_X$2 () Bool) +(declare-fun $V268_door_initially_closed$2 () Bool) +(declare-fun $V269_initially_not_in_station$2 () Bool) +(declare-fun $V271_warning_start_only_in_station$2 () Bool) +(declare-fun $V273_X$2 () Bool) +(declare-fun $V274_X$2 () Bool) +(declare-fun $V275_X$2 () Bool) +(declare-fun $V276_X$2 () Bool) +(declare-fun $~flatten0$ () Bool) +(declare-fun $~flatten0$2 () Bool) +(assert (and (T %init $request_door$~1 $warning_start$~1 $in_station$~1 $door_is_open$~1 $V62_door_ok$~1 $V60_open_door$~1 $V61_close_door$~1 $OK$~1 $V58_env_always_ok$~1 $V59_prop_ok$~1 $V251_door_opens_before_leaving_station$~1 $V253_between_A_and_X$~1 $V264_env_ok$~1 $V265_door_doesnt_close_if_not_asked$~1 $V266_door_doesnt_open_if_not_asked$~1 $V267_tramway_doesnt_start_if_not_door_ok$~1 $V270_warning_start_and_in_station_go_down_simultaneously$~1 $V272_warning_start_cant_become_true_when_door_is_opening$~1 $V250_door_doesnt_open_out_of_station$~1 $V252_X$~1 $V268_door_initially_closed$~1 $V269_initially_not_in_station$~1 $V271_warning_start_only_in_station$~1 $V273_X$~1 $V274_X$~1 $V275_X$~1 $V276_X$~1 $~flatten0$~1 $request_door$0 $warning_start$0 $in_station$0 $door_is_open$0 $V62_door_ok$2 $V60_open_door$2 $V61_close_door$2 $OK$2 $V58_env_always_ok$2 $V59_prop_ok$2 $V251_door_opens_before_leaving_station$2 $V253_between_A_and_X$2 $V264_env_ok$2 $V265_door_doesnt_close_if_not_asked$2 $V266_door_doesnt_open_if_not_asked$2 $V267_tramway_doesnt_start_if_not_door_ok$2 $V270_warning_start_and_in_station_go_down_simultaneously$2 $V272_warning_start_cant_become_true_when_door_is_opening$2 $V250_door_doesnt_open_out_of_station$2 $V252_X$2 $V268_door_initially_closed$2 $V269_initially_not_in_station$2 $V271_warning_start_only_in_station$2 $V273_X$2 $V274_X$2 $V275_X$2 $V276_X$2 $~flatten0$2) $OK$2)) diff --git a/bench/tasks/tramway_e7_1834_extend_s_part.smt2 b/bench/tasks/tramway_e7_1834_extend_s_part.smt2 new file mode 100755 index 000000000..29834933a --- /dev/null +++ b/bench/tasks/tramway_e7_1834_extend_s_part.smt2 @@ -0,0 +1,62 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($request_door$0 Bool) ($warning_start$0 Bool) ($in_station$0 Bool) ($door_is_open$0 Bool) ($V60_open_door$0 Bool) ($V61_close_door$0 Bool) ($V62_door_ok$0 Bool) ($OK$0 Bool) ($V58_env_always_ok$0 Bool) ($V59_prop_ok$0 Bool) ($V250_door_doesnt_open_out_of_station$0 Bool) ($V251_door_opens_before_leaving_station$0 Bool) ($V252_X$0 Bool) ($V253_between_A_and_X$0 Bool) ($V264_env_ok$0 Bool) ($V265_door_doesnt_close_if_not_asked$0 Bool) ($V266_door_doesnt_open_if_not_asked$0 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$0 Bool) ($V268_door_initially_closed$0 Bool) ($V269_initially_not_in_station$0 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$0 Bool) ($V271_warning_start_only_in_station$0 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$0 Bool) ($V273_X$0 Bool) ($V274_X$0 Bool) ($V275_X$0 Bool) ($V276_X$0 Bool) ($~flatten0$0 Bool) ($request_door$1 Bool) ($warning_start$1 Bool) ($in_station$1 Bool) ($door_is_open$1 Bool) ($V60_open_door$1 Bool) ($V61_close_door$1 Bool) ($V62_door_ok$1 Bool) ($OK$1 Bool) ($V58_env_always_ok$1 Bool) ($V59_prop_ok$1 Bool) ($V250_door_doesnt_open_out_of_station$1 Bool) ($V251_door_opens_before_leaving_station$1 Bool) ($V252_X$1 Bool) ($V253_between_A_and_X$1 Bool) ($V264_env_ok$1 Bool) ($V265_door_doesnt_close_if_not_asked$1 Bool) ($V266_door_doesnt_open_if_not_asked$1 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$1 Bool) ($V268_door_initially_closed$1 Bool) ($V269_initially_not_in_station$1 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$1 Bool) ($V271_warning_start_only_in_station$1 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$1 Bool) ($V273_X$1 Bool) ($V274_X$1 Bool) ($V275_X$1 Bool) ($V276_X$1 Bool) ($~flatten0$1 Bool)) Bool (and (= $OK$1 (=> $V58_env_always_ok$1 $V59_prop_ok$1)) (= $V58_env_always_ok$1 (ite %init $V264_env_ok$1 (and $V264_env_ok$1 $V58_env_always_ok$0))) (= $V59_prop_ok$1 (and $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1)) (= $V250_door_doesnt_open_out_of_station$1 (=> $door_is_open$1 $in_station$1)) (= $V251_door_opens_before_leaving_station$1 (not (and $V253_between_A_and_X$1 (ite %init false (or $V252_X$1 (not $V252_X$0)))))) (= $V252_X$1 (not $in_station$1)) (= $V253_between_A_and_X$1 (ite (ite %init false (and $request_door$0 (not $warning_start$0))) true (ite (ite %init false $~flatten0$0) false (ite %init false $V253_between_A_and_X$0)))) (= $V264_env_ok$1 (and (and (and (and (and (and (and $V266_door_doesnt_open_if_not_asked$1 $V265_door_doesnt_close_if_not_asked$1) $V267_tramway_doesnt_start_if_not_door_ok$1) $V268_door_initially_closed$1) $V269_initially_not_in_station$1) $V270_warning_start_and_in_station_go_down_simultaneously$1) $V271_warning_start_only_in_station$1) $V272_warning_start_cant_become_true_when_door_is_opening$1)) (= $V265_door_doesnt_close_if_not_asked$1 (=> (ite %init false (or $door_is_open$1 (not $door_is_open$0))) $V60_open_door$1)) (= $V266_door_doesnt_open_if_not_asked$1 (=> (ite %init false (or $V273_X$1 (not $V273_X$0))) $V61_close_door$1)) (= $V267_tramway_doesnt_start_if_not_door_ok$1 (=> (ite %init false (or $V274_X$1 (not $V274_X$0))) (ite %init false $V62_door_ok$0))) (= $V268_door_initially_closed$1 (ite %init (not $door_is_open$1) true)) (= $V269_initially_not_in_station$1 (ite %init (not $in_station$1) true)) (= $V270_warning_start_and_in_station_go_down_simultaneously$1 (= (ite %init false (or $V275_X$1 (not $V275_X$0))) (ite %init false (or $V276_X$1 (not $V276_X$0))))) (= $V271_warning_start_only_in_station$1 (=> $warning_start$1 $in_station$1)) (= $V272_warning_start_cant_become_true_when_door_is_opening$1 (=> (ite %init false (or $warning_start$1 (not $warning_start$0))) (not $V60_open_door$1))) (= $V273_X$1 (not $door_is_open$1)) (= $V274_X$1 (not $in_station$1)) (= $V275_X$1 (not $in_station$1)) (= $V276_X$1 (not $warning_start$1)) (= $~flatten0$1 (ite %init false $door_is_open$0)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $request_door$~1 () Bool) +(declare-fun $warning_start$~1 () Bool) +(declare-fun $in_station$~1 () Bool) +(declare-fun $door_is_open$~1 () Bool) +(declare-fun $V60_open_door$~1 () Bool) +(declare-fun $V61_close_door$~1 () Bool) +(declare-fun $V62_door_ok$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V58_env_always_ok$~1 () Bool) +(declare-fun $V59_prop_ok$~1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$~1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$~1 () Bool) +(declare-fun $V252_X$~1 () Bool) +(declare-fun $V253_between_A_and_X$~1 () Bool) +(declare-fun $V264_env_ok$~1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$~1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$~1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$~1 () Bool) +(declare-fun $V268_door_initially_closed$~1 () Bool) +(declare-fun $V269_initially_not_in_station$~1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$~1 () Bool) +(declare-fun $V271_warning_start_only_in_station$~1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$~1 () Bool) +(declare-fun $V273_X$~1 () Bool) +(declare-fun $V274_X$~1 () Bool) +(declare-fun $V275_X$~1 () Bool) +(declare-fun $V276_X$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $request_door$0 () Bool) +(declare-fun $warning_start$0 () Bool) +(declare-fun $in_station$0 () Bool) +(declare-fun $door_is_open$0 () Bool) +(declare-fun $V60_open_door$0 () Bool) +(declare-fun $V61_close_door$0 () Bool) +(declare-fun $V62_door_ok$0 () Bool) +(declare-fun $OK$0 () Bool) +(declare-fun $V58_env_always_ok$0 () Bool) +(declare-fun $V59_prop_ok$0 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$0 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$0 () Bool) +(declare-fun $V252_X$0 () Bool) +(declare-fun $V253_between_A_and_X$0 () Bool) +(declare-fun $V264_env_ok$0 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$0 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$0 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$0 () Bool) +(declare-fun $V268_door_initially_closed$0 () Bool) +(declare-fun $V269_initially_not_in_station$0 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$0 () Bool) +(declare-fun $V271_warning_start_only_in_station$0 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$0 () Bool) +(declare-fun $V273_X$0 () Bool) +(declare-fun $V274_X$0 () Bool) +(declare-fun $V275_X$0 () Bool) +(declare-fun $V276_X$0 () Bool) +(declare-fun $~flatten0$0 () Bool) +(assert (T %init $request_door$~1 $warning_start$~1 $in_station$~1 $door_is_open$~1 $V60_open_door$~1 $V61_close_door$~1 $V62_door_ok$~1 $OK$~1 $V58_env_always_ok$~1 $V59_prop_ok$~1 $V250_door_doesnt_open_out_of_station$~1 $V251_door_opens_before_leaving_station$~1 $V252_X$~1 $V253_between_A_and_X$~1 $V264_env_ok$~1 $V265_door_doesnt_close_if_not_asked$~1 $V266_door_doesnt_open_if_not_asked$~1 $V267_tramway_doesnt_start_if_not_door_ok$~1 $V268_door_initially_closed$~1 $V269_initially_not_in_station$~1 $V270_warning_start_and_in_station_go_down_simultaneously$~1 $V271_warning_start_only_in_station$~1 $V272_warning_start_cant_become_true_when_door_is_opening$~1 $V273_X$~1 $V274_X$~1 $V275_X$~1 $V276_X$~1 $~flatten0$~1 $request_door$0 $warning_start$0 $in_station$0 $door_is_open$0 $V60_open_door$0 $V61_close_door$0 $V62_door_ok$0 $OK$0 $V58_env_always_ok$0 $V59_prop_ok$0 $V250_door_doesnt_open_out_of_station$0 $V251_door_opens_before_leaving_station$0 $V252_X$0 $V253_between_A_and_X$0 $V264_env_ok$0 $V265_door_doesnt_close_if_not_asked$0 $V266_door_doesnt_open_if_not_asked$0 $V267_tramway_doesnt_start_if_not_door_ok$0 $V268_door_initially_closed$0 $V269_initially_not_in_station$0 $V270_warning_start_and_in_station_go_down_simultaneously$0 $V271_warning_start_only_in_station$0 $V272_warning_start_cant_become_true_when_door_is_opening$0 $V273_X$0 $V274_X$0 $V275_X$0 $V276_X$0 $~flatten0$0)) diff --git a/bench/tasks/tramway_e7_1834_extend_t_part.smt2 b/bench/tasks/tramway_e7_1834_extend_t_part.smt2 new file mode 100755 index 000000000..86db2774c --- /dev/null +++ b/bench/tasks/tramway_e7_1834_extend_t_part.smt2 @@ -0,0 +1,62 @@ +; K = 0 +; Transition relation +(define-fun T ((%init Bool) ($request_door$0 Bool) ($warning_start$0 Bool) ($in_station$0 Bool) ($door_is_open$0 Bool) ($V60_open_door$0 Bool) ($V61_close_door$0 Bool) ($V62_door_ok$0 Bool) ($OK$0 Bool) ($V58_env_always_ok$0 Bool) ($V59_prop_ok$0 Bool) ($V250_door_doesnt_open_out_of_station$0 Bool) ($V251_door_opens_before_leaving_station$0 Bool) ($V252_X$0 Bool) ($V253_between_A_and_X$0 Bool) ($V264_env_ok$0 Bool) ($V265_door_doesnt_close_if_not_asked$0 Bool) ($V266_door_doesnt_open_if_not_asked$0 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$0 Bool) ($V268_door_initially_closed$0 Bool) ($V269_initially_not_in_station$0 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$0 Bool) ($V271_warning_start_only_in_station$0 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$0 Bool) ($V273_X$0 Bool) ($V274_X$0 Bool) ($V275_X$0 Bool) ($V276_X$0 Bool) ($~flatten0$0 Bool) ($request_door$1 Bool) ($warning_start$1 Bool) ($in_station$1 Bool) ($door_is_open$1 Bool) ($V60_open_door$1 Bool) ($V61_close_door$1 Bool) ($V62_door_ok$1 Bool) ($OK$1 Bool) ($V58_env_always_ok$1 Bool) ($V59_prop_ok$1 Bool) ($V250_door_doesnt_open_out_of_station$1 Bool) ($V251_door_opens_before_leaving_station$1 Bool) ($V252_X$1 Bool) ($V253_between_A_and_X$1 Bool) ($V264_env_ok$1 Bool) ($V265_door_doesnt_close_if_not_asked$1 Bool) ($V266_door_doesnt_open_if_not_asked$1 Bool) ($V267_tramway_doesnt_start_if_not_door_ok$1 Bool) ($V268_door_initially_closed$1 Bool) ($V269_initially_not_in_station$1 Bool) ($V270_warning_start_and_in_station_go_down_simultaneously$1 Bool) ($V271_warning_start_only_in_station$1 Bool) ($V272_warning_start_cant_become_true_when_door_is_opening$1 Bool) ($V273_X$1 Bool) ($V274_X$1 Bool) ($V275_X$1 Bool) ($V276_X$1 Bool) ($~flatten0$1 Bool)) Bool (and (= $OK$1 (=> $V58_env_always_ok$1 $V59_prop_ok$1)) (= $V58_env_always_ok$1 (ite %init $V264_env_ok$1 (and $V264_env_ok$1 $V58_env_always_ok$0))) (= $V59_prop_ok$1 (and $V250_door_doesnt_open_out_of_station$1 $V251_door_opens_before_leaving_station$1)) (= $V250_door_doesnt_open_out_of_station$1 (=> $door_is_open$1 $in_station$1)) (= $V251_door_opens_before_leaving_station$1 (not (and $V253_between_A_and_X$1 (ite %init false (or $V252_X$1 (not $V252_X$0)))))) (= $V252_X$1 (not $in_station$1)) (= $V253_between_A_and_X$1 (ite (ite %init false (and $request_door$0 (not $warning_start$0))) true (ite (ite %init false $~flatten0$0) false (ite %init false $V253_between_A_and_X$0)))) (= $V264_env_ok$1 (and (and (and (and (and (and (and $V266_door_doesnt_open_if_not_asked$1 $V265_door_doesnt_close_if_not_asked$1) $V267_tramway_doesnt_start_if_not_door_ok$1) $V268_door_initially_closed$1) $V269_initially_not_in_station$1) $V270_warning_start_and_in_station_go_down_simultaneously$1) $V271_warning_start_only_in_station$1) $V272_warning_start_cant_become_true_when_door_is_opening$1)) (= $V265_door_doesnt_close_if_not_asked$1 (=> (ite %init false (or $door_is_open$1 (not $door_is_open$0))) $V60_open_door$1)) (= $V266_door_doesnt_open_if_not_asked$1 (=> (ite %init false (or $V273_X$1 (not $V273_X$0))) $V61_close_door$1)) (= $V267_tramway_doesnt_start_if_not_door_ok$1 (=> (ite %init false (or $V274_X$1 (not $V274_X$0))) (ite %init false $V62_door_ok$0))) (= $V268_door_initially_closed$1 (ite %init (not $door_is_open$1) true)) (= $V269_initially_not_in_station$1 (ite %init (not $in_station$1) true)) (= $V270_warning_start_and_in_station_go_down_simultaneously$1 (= (ite %init false (or $V275_X$1 (not $V275_X$0))) (ite %init false (or $V276_X$1 (not $V276_X$0))))) (= $V271_warning_start_only_in_station$1 (=> $warning_start$1 $in_station$1)) (= $V272_warning_start_cant_become_true_when_door_is_opening$1 (=> (ite %init false (or $warning_start$1 (not $warning_start$0))) (not $V60_open_door$1))) (= $V273_X$1 (not $door_is_open$1)) (= $V274_X$1 (not $in_station$1)) (= $V275_X$1 (not $in_station$1)) (= $V276_X$1 (not $warning_start$1)) (= $~flatten0$1 (ite %init false $door_is_open$0)))) +; Universally quantified variables +(declare-fun %init () Bool) +(declare-fun $request_door$~1 () Bool) +(declare-fun $warning_start$~1 () Bool) +(declare-fun $in_station$~1 () Bool) +(declare-fun $door_is_open$~1 () Bool) +(declare-fun $V60_open_door$~1 () Bool) +(declare-fun $V61_close_door$~1 () Bool) +(declare-fun $V62_door_ok$~1 () Bool) +(declare-fun $OK$~1 () Bool) +(declare-fun $V58_env_always_ok$~1 () Bool) +(declare-fun $V59_prop_ok$~1 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$~1 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$~1 () Bool) +(declare-fun $V252_X$~1 () Bool) +(declare-fun $V253_between_A_and_X$~1 () Bool) +(declare-fun $V264_env_ok$~1 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$~1 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$~1 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$~1 () Bool) +(declare-fun $V268_door_initially_closed$~1 () Bool) +(declare-fun $V269_initially_not_in_station$~1 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$~1 () Bool) +(declare-fun $V271_warning_start_only_in_station$~1 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$~1 () Bool) +(declare-fun $V273_X$~1 () Bool) +(declare-fun $V274_X$~1 () Bool) +(declare-fun $V275_X$~1 () Bool) +(declare-fun $V276_X$~1 () Bool) +(declare-fun $~flatten0$~1 () Bool) +(declare-fun $request_door$0 () Bool) +(declare-fun $warning_start$0 () Bool) +(declare-fun $in_station$0 () Bool) +(declare-fun $door_is_open$0 () Bool) +(declare-fun $V60_open_door$2 () Bool) +(declare-fun $V61_close_door$2 () Bool) +(declare-fun $V62_door_ok$2 () Bool) +(declare-fun $OK$2 () Bool) +(declare-fun $V58_env_always_ok$2 () Bool) +(declare-fun $V59_prop_ok$2 () Bool) +(declare-fun $V250_door_doesnt_open_out_of_station$2 () Bool) +(declare-fun $V251_door_opens_before_leaving_station$2 () Bool) +(declare-fun $V252_X$2 () Bool) +(declare-fun $V253_between_A_and_X$2 () Bool) +(declare-fun $V264_env_ok$2 () Bool) +(declare-fun $V265_door_doesnt_close_if_not_asked$2 () Bool) +(declare-fun $V266_door_doesnt_open_if_not_asked$2 () Bool) +(declare-fun $V267_tramway_doesnt_start_if_not_door_ok$2 () Bool) +(declare-fun $V268_door_initially_closed$2 () Bool) +(declare-fun $V269_initially_not_in_station$2 () Bool) +(declare-fun $V270_warning_start_and_in_station_go_down_simultaneously$2 () Bool) +(declare-fun $V271_warning_start_only_in_station$2 () Bool) +(declare-fun $V272_warning_start_cant_become_true_when_door_is_opening$2 () Bool) +(declare-fun $V273_X$2 () Bool) +(declare-fun $V274_X$2 () Bool) +(declare-fun $V275_X$2 () Bool) +(declare-fun $V276_X$2 () Bool) +(declare-fun $~flatten0$2 () Bool) +(assert (and (T %init $request_door$~1 $warning_start$~1 $in_station$~1 $door_is_open$~1 $V60_open_door$~1 $V61_close_door$~1 $V62_door_ok$~1 $OK$~1 $V58_env_always_ok$~1 $V59_prop_ok$~1 $V250_door_doesnt_open_out_of_station$~1 $V251_door_opens_before_leaving_station$~1 $V252_X$~1 $V253_between_A_and_X$~1 $V264_env_ok$~1 $V265_door_doesnt_close_if_not_asked$~1 $V266_door_doesnt_open_if_not_asked$~1 $V267_tramway_doesnt_start_if_not_door_ok$~1 $V268_door_initially_closed$~1 $V269_initially_not_in_station$~1 $V270_warning_start_and_in_station_go_down_simultaneously$~1 $V271_warning_start_only_in_station$~1 $V272_warning_start_cant_become_true_when_door_is_opening$~1 $V273_X$~1 $V274_X$~1 $V275_X$~1 $V276_X$~1 $~flatten0$~1 $request_door$0 $warning_start$0 $in_station$0 $door_is_open$0 $V60_open_door$2 $V61_close_door$2 $V62_door_ok$2 $OK$2 $V58_env_always_ok$2 $V59_prop_ok$2 $V250_door_doesnt_open_out_of_station$2 $V251_door_opens_before_leaving_station$2 $V252_X$2 $V253_between_A_and_X$2 $V264_env_ok$2 $V265_door_doesnt_close_if_not_asked$2 $V266_door_doesnt_open_if_not_asked$2 $V267_tramway_doesnt_start_if_not_door_ok$2 $V268_door_initially_closed$2 $V269_initially_not_in_station$2 $V270_warning_start_and_in_station_go_down_simultaneously$2 $V271_warning_start_only_in_station$2 $V272_warning_start_cant_become_true_when_door_is_opening$2 $V273_X$2 $V274_X$2 $V275_X$2 $V276_X$2 $~flatten0$2) $OK$2)) diff --git a/bench_adt/LEON/amortize-queue-goal1.smt2 b/bench_adt/LEON/amortize-queue-goal1.smt2 new file mode 100644 index 000000000..1c0e38022 --- /dev/null +++ b/bench_adt/LEON/amortize-queue-goal1.smt2 @@ -0,0 +1,68 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun butlast (Lst) Lst) +(assert (= (butlast nil) nil)) +(assert (forall ((x Nat) (y Lst)) (= (butlast (cons x y)) (ite (= y nil) nil (cons x (butlast y)))))) + +(declare-fun qreva (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (qreva nil x) x))) +(assert (forall ((x Lst) (y Lst) (z Nat)) (= (qreva (cons z x) y) (qreva x (cons z y))))) + +(declare-fun qrev (Lst) Lst) +(assert (forall ((x Lst)) (= (qrev x) (qreva x nil)))) + +; queues +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun queue-to-lst (Queue) Lst) +(assert (forall ((x Lst) (y Lst)) (= (queue-to-lst (queue x y)) (append x (qrev y))))) + +(declare-fun qlen (Queue) Nat) +(assert (forall ((x Lst) (y Lst)) (= (qlen (queue x y)) (plus (len x) (len y))))) + +(declare-fun isAmortized (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isAmortized (queue x y)) (leq (len y) (len x))))) + +(declare-fun isEmpty (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isEmpty (queue x y)) (and (= x nil) (= y nil))))) + +(declare-fun amortizeQueue (Lst Lst) Queue) +(assert (forall ((x Lst) (y Lst)) (= (amortizeQueue x y) (ite (leq (len y) (len x)) (queue x y) (queue (append x (qrev y)) nil))))) + +(declare-fun enqueue (Queue Nat) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (enqueue (queue x y) n) (amortizeQueue x (cons n y))))) + +(declare-fun qpop (Queue) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (qpop (queue x (cons n y))) (queue x y)))) +(assert (forall ((x Lst)) (= (qpop (queue x nil)) (queue (butlast x) nil)))) + +; proven + +; conjecture +(assert (not +(forall ((x Lst) (y Lst)) (= (len (append x y)) (plus (len x) (len y)))) ; G-amortize-queue-1 +)) +(check-sat) diff --git a/bench_adt/LEON/amortize-queue-goal10.smt2 b/bench_adt/LEON/amortize-queue-goal10.smt2 new file mode 100644 index 000000000..c39814fd3 --- /dev/null +++ b/bench_adt/LEON/amortize-queue-goal10.smt2 @@ -0,0 +1,95 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun butlast (Lst) Lst) +(assert (= (butlast nil) nil)) +(assert (forall ((x Nat) (y Lst)) (= (butlast (cons x y)) (ite (= y nil) nil (cons x (butlast y)))))) + +(declare-fun qreva (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (qreva nil x) x))) +(assert (forall ((x Lst) (y Lst) (z Nat)) (= (qreva (cons z x) y) (qreva x (cons z y))))) + +(declare-fun qrev (Lst) Lst) +(assert (forall ((x Lst)) (= (qrev x) (qreva x nil)))) + +; queues +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun queue-to-lst (Queue) Lst) +(assert (forall ((x Lst) (y Lst)) (= (queue-to-lst (queue x y)) (append x (qrev y))))) + +(declare-fun qlen (Queue) Nat) +(assert (forall ((x Lst) (y Lst)) (= (qlen (queue x y)) (plus (len x) (len y))))) + +(declare-fun isAmortized (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isAmortized (queue x y)) (leq (len y) (len x))))) + +(declare-fun isEmpty (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isEmpty (queue x y)) (and (= x nil) (= y nil))))) + +(declare-fun amortizeQueue (Lst Lst) Queue) +(assert (forall ((x Lst) (y Lst)) (= (amortizeQueue x y) (ite (leq (len y) (len x)) (queue x y) (queue (append x (qrev y)) nil))))) + +(declare-fun enqueue (Queue Nat) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (enqueue (queue x y) n) (amortizeQueue x (cons n y))))) + +(declare-fun qpop (Queue) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (qpop (queue x (cons n y))) (queue x y)))) +(assert (forall ((x Lst)) (= (qpop (queue x nil)) (queue (butlast x) nil)))) + +; proven +(assert +(forall ((x Lst) (y Lst)) (= (len (append x y)) (plus (len x) (len y)))) ; G-amortize-queue-1 +) +(assert +(forall ((x Lst) (y Lst)) (= (len (qreva x y)) (plus (len x) (len y)))) ; G-amortize-queue-2 +) +(assert +(forall ((x Lst)) (= (len (qrev x)) (len x))) ; G-amortize-queue-3 +) +(assert +(forall ((x Lst) (y Lst)) (= (plus (len x) (len y)) (qlen (queue x y)))) ; G-amortize-queue-4 +) +(assert +(forall ((x Lst) (y Nat)) (= (succ (len (butlast (cons y x)))) (len (cons y x)))) ; G-amortize-queue-5 +) +(assert +(forall ((q Queue) (n Nat)) (= (qlen (enqueue q n)) (succ (qlen q)))) ; G-amortize-queue-6 +) +(assert +(forall ((q Queue) (n Nat)) (=> (and (isAmortized q) (not (isEmpty q))) (= (succ (qlen (qpop q))) (qlen q)))) ; G-amortize-queue-7 +) +(assert +(forall ((x Lst)) (= (append x nil) x)) ; G-amortize-queue-8 +) +(assert +(forall ((x Lst) (n Nat) (y Lst)) (= (butlast (append x (cons n y))) (append x (butlast (cons n y))))) ; G-amortize-queue-9 +) + +; conjecture +(assert (not +(forall ((x Lst) (y Lst) (z Lst)) (= (qreva (qreva x y) z) (qreva y (append x z)))) ; G-amortize-queue-10 +)) +(check-sat) diff --git a/bench_adt/LEON/amortize-queue-goal11.smt2 b/bench_adt/LEON/amortize-queue-goal11.smt2 new file mode 100644 index 000000000..a6d842f41 --- /dev/null +++ b/bench_adt/LEON/amortize-queue-goal11.smt2 @@ -0,0 +1,98 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun butlast (Lst) Lst) +(assert (= (butlast nil) nil)) +(assert (forall ((x Nat) (y Lst)) (= (butlast (cons x y)) (ite (= y nil) nil (cons x (butlast y)))))) + +(declare-fun qreva (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (qreva nil x) x))) +(assert (forall ((x Lst) (y Lst) (z Nat)) (= (qreva (cons z x) y) (qreva x (cons z y))))) + +(declare-fun qrev (Lst) Lst) +(assert (forall ((x Lst)) (= (qrev x) (qreva x nil)))) + +; queues +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun queue-to-lst (Queue) Lst) +(assert (forall ((x Lst) (y Lst)) (= (queue-to-lst (queue x y)) (append x (qrev y))))) + +(declare-fun qlen (Queue) Nat) +(assert (forall ((x Lst) (y Lst)) (= (qlen (queue x y)) (plus (len x) (len y))))) + +(declare-fun isAmortized (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isAmortized (queue x y)) (leq (len y) (len x))))) + +(declare-fun isEmpty (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isEmpty (queue x y)) (and (= x nil) (= y nil))))) + +(declare-fun amortizeQueue (Lst Lst) Queue) +(assert (forall ((x Lst) (y Lst)) (= (amortizeQueue x y) (ite (leq (len y) (len x)) (queue x y) (queue (append x (qrev y)) nil))))) + +(declare-fun enqueue (Queue Nat) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (enqueue (queue x y) n) (amortizeQueue x (cons n y))))) + +(declare-fun qpop (Queue) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (qpop (queue x (cons n y))) (queue x y)))) +(assert (forall ((x Lst)) (= (qpop (queue x nil)) (queue (butlast x) nil)))) + +; proven +(assert +(forall ((x Lst) (y Lst)) (= (len (append x y)) (plus (len x) (len y)))) ; G-amortize-queue-1 +) +(assert +(forall ((x Lst) (y Lst)) (= (len (qreva x y)) (plus (len x) (len y)))) ; G-amortize-queue-2 +) +(assert +(forall ((x Lst)) (= (len (qrev x)) (len x))) ; G-amortize-queue-3 +) +(assert +(forall ((x Lst) (y Lst)) (= (plus (len x) (len y)) (qlen (queue x y)))) ; G-amortize-queue-4 +) +(assert +(forall ((x Lst) (y Nat)) (= (succ (len (butlast (cons y x)))) (len (cons y x)))) ; G-amortize-queue-5 +) +(assert +(forall ((q Queue) (n Nat)) (= (qlen (enqueue q n)) (succ (qlen q)))) ; G-amortize-queue-6 +) +(assert +(forall ((q Queue) (n Nat)) (=> (and (isAmortized q) (not (isEmpty q))) (= (succ (qlen (qpop q))) (qlen q)))) ; G-amortize-queue-7 +) +(assert +(forall ((x Lst)) (= (append x nil) x)) ; G-amortize-queue-8 +) +(assert +(forall ((x Lst) (n Nat) (y Lst)) (= (butlast (append x (cons n y))) (append x (butlast (cons n y))))) ; G-amortize-queue-9 +) +(assert +(forall ((x Lst) (y Lst) (z Lst)) (= (qreva (qreva x y) z) (qreva y (append x z)))) ; G-amortize-queue-10 +) + +; conjecture +(assert (not +(forall ((x Lst) (y Lst) (z Lst)) (= (append x (append y z)) (append (append x y) z))) ; G-amortize-queue-11 +)) +(check-sat) diff --git a/bench_adt/LEON/amortize-queue-goal12.smt2 b/bench_adt/LEON/amortize-queue-goal12.smt2 new file mode 100644 index 000000000..89da53005 --- /dev/null +++ b/bench_adt/LEON/amortize-queue-goal12.smt2 @@ -0,0 +1,101 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun butlast (Lst) Lst) +(assert (= (butlast nil) nil)) +(assert (forall ((x Nat) (y Lst)) (= (butlast (cons x y)) (ite (= y nil) nil (cons x (butlast y)))))) + +(declare-fun qreva (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (qreva nil x) x))) +(assert (forall ((x Lst) (y Lst) (z Nat)) (= (qreva (cons z x) y) (qreva x (cons z y))))) + +(declare-fun qrev (Lst) Lst) +(assert (forall ((x Lst)) (= (qrev x) (qreva x nil)))) + +; queues +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun queue-to-lst (Queue) Lst) +(assert (forall ((x Lst) (y Lst)) (= (queue-to-lst (queue x y)) (append x (qrev y))))) + +(declare-fun qlen (Queue) Nat) +(assert (forall ((x Lst) (y Lst)) (= (qlen (queue x y)) (plus (len x) (len y))))) + +(declare-fun isAmortized (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isAmortized (queue x y)) (leq (len y) (len x))))) + +(declare-fun isEmpty (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isEmpty (queue x y)) (and (= x nil) (= y nil))))) + +(declare-fun amortizeQueue (Lst Lst) Queue) +(assert (forall ((x Lst) (y Lst)) (= (amortizeQueue x y) (ite (leq (len y) (len x)) (queue x y) (queue (append x (qrev y)) nil))))) + +(declare-fun enqueue (Queue Nat) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (enqueue (queue x y) n) (amortizeQueue x (cons n y))))) + +(declare-fun qpop (Queue) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (qpop (queue x (cons n y))) (queue x y)))) +(assert (forall ((x Lst)) (= (qpop (queue x nil)) (queue (butlast x) nil)))) + +; proven +(assert +(forall ((x Lst) (y Lst)) (= (len (append x y)) (plus (len x) (len y)))) ; G-amortize-queue-1 +) +(assert +(forall ((x Lst) (y Lst)) (= (len (qreva x y)) (plus (len x) (len y)))) ; G-amortize-queue-2 +) +(assert +(forall ((x Lst)) (= (len (qrev x)) (len x))) ; G-amortize-queue-3 +) +(assert +(forall ((x Lst) (y Lst)) (= (plus (len x) (len y)) (qlen (queue x y)))) ; G-amortize-queue-4 +) +(assert +(forall ((x Lst) (y Nat)) (= (succ (len (butlast (cons y x)))) (len (cons y x)))) ; G-amortize-queue-5 +) +(assert +(forall ((q Queue) (n Nat)) (= (qlen (enqueue q n)) (succ (qlen q)))) ; G-amortize-queue-6 +) +(assert +(forall ((q Queue) (n Nat)) (=> (and (isAmortized q) (not (isEmpty q))) (= (succ (qlen (qpop q))) (qlen q)))) ; G-amortize-queue-7 +) +(assert +(forall ((x Lst)) (= (append x nil) x)) ; G-amortize-queue-8 +) +(assert +(forall ((x Lst) (n Nat) (y Lst)) (= (butlast (append x (cons n y))) (append x (butlast (cons n y))))) ; G-amortize-queue-9 +) +(assert +(forall ((x Lst) (y Lst) (z Lst)) (= (qreva (qreva x y) z) (qreva y (append x z)))) ; G-amortize-queue-10 +) +(assert +(forall ((x Lst) (y Lst) (z Lst)) (= (append x (append y z)) (append (append x y) z))) ; G-amortize-queue-11 +) + +; conjecture +(assert (not +(forall ((x Lst) (y Lst)) (= (queue-to-lst (queue x y)) (queue-to-lst (amortizeQueue x y)))) ; G-amortize-queue-12 +)) +(check-sat) diff --git a/bench_adt/LEON/amortize-queue-goal13.smt2 b/bench_adt/LEON/amortize-queue-goal13.smt2 new file mode 100644 index 000000000..1d4ab9504 --- /dev/null +++ b/bench_adt/LEON/amortize-queue-goal13.smt2 @@ -0,0 +1,104 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun butlast (Lst) Lst) +(assert (= (butlast nil) nil)) +(assert (forall ((x Nat) (y Lst)) (= (butlast (cons x y)) (ite (= y nil) nil (cons x (butlast y)))))) + +(declare-fun qreva (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (qreva nil x) x))) +(assert (forall ((x Lst) (y Lst) (z Nat)) (= (qreva (cons z x) y) (qreva x (cons z y))))) + +(declare-fun qrev (Lst) Lst) +(assert (forall ((x Lst)) (= (qrev x) (qreva x nil)))) + +; queues +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun queue-to-lst (Queue) Lst) +(assert (forall ((x Lst) (y Lst)) (= (queue-to-lst (queue x y)) (append x (qrev y))))) + +(declare-fun qlen (Queue) Nat) +(assert (forall ((x Lst) (y Lst)) (= (qlen (queue x y)) (plus (len x) (len y))))) + +(declare-fun isAmortized (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isAmortized (queue x y)) (leq (len y) (len x))))) + +(declare-fun isEmpty (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isEmpty (queue x y)) (and (= x nil) (= y nil))))) + +(declare-fun amortizeQueue (Lst Lst) Queue) +(assert (forall ((x Lst) (y Lst)) (= (amortizeQueue x y) (ite (leq (len y) (len x)) (queue x y) (queue (append x (qrev y)) nil))))) + +(declare-fun enqueue (Queue Nat) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (enqueue (queue x y) n) (amortizeQueue x (cons n y))))) + +(declare-fun qpop (Queue) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (qpop (queue x (cons n y))) (queue x y)))) +(assert (forall ((x Lst)) (= (qpop (queue x nil)) (queue (butlast x) nil)))) + +; proven +(assert +(forall ((x Lst) (y Lst)) (= (len (append x y)) (plus (len x) (len y)))) ; G-amortize-queue-1 +) +(assert +(forall ((x Lst) (y Lst)) (= (len (qreva x y)) (plus (len x) (len y)))) ; G-amortize-queue-2 +) +(assert +(forall ((x Lst)) (= (len (qrev x)) (len x))) ; G-amortize-queue-3 +) +(assert +(forall ((x Lst) (y Lst)) (= (plus (len x) (len y)) (qlen (queue x y)))) ; G-amortize-queue-4 +) +(assert +(forall ((x Lst) (y Nat)) (= (succ (len (butlast (cons y x)))) (len (cons y x)))) ; G-amortize-queue-5 +) +(assert +(forall ((q Queue) (n Nat)) (= (qlen (enqueue q n)) (succ (qlen q)))) ; G-amortize-queue-6 +) +(assert +(forall ((q Queue) (n Nat)) (=> (and (isAmortized q) (not (isEmpty q))) (= (succ (qlen (qpop q))) (qlen q)))) ; G-amortize-queue-7 +) +(assert +(forall ((x Lst)) (= (append x nil) x)) ; G-amortize-queue-8 +) +(assert +(forall ((x Lst) (n Nat) (y Lst)) (= (butlast (append x (cons n y))) (append x (butlast (cons n y))))) ; G-amortize-queue-9 +) +(assert +(forall ((x Lst) (y Lst) (z Lst)) (= (qreva (qreva x y) z) (qreva y (append x z)))) ; G-amortize-queue-10 +) +(assert +(forall ((x Lst) (y Lst) (z Lst)) (= (append x (append y z)) (append (append x y) z))) ; G-amortize-queue-11 +) +(assert +(forall ((x Lst) (y Lst)) (= (queue-to-lst (queue x y)) (queue-to-lst (amortizeQueue x y)))) ; G-amortize-queue-12 +) + +; conjecture +(assert (not +(forall ((x Lst) (y Lst)) (= (butlast (queue-to-lst (queue x y))) (queue-to-lst (qpop (queue x y))))) ; G-amortize-queue-13 +)) +(check-sat) diff --git a/bench_adt/LEON/amortize-queue-goal14.smt2 b/bench_adt/LEON/amortize-queue-goal14.smt2 new file mode 100644 index 000000000..b2f5443e5 --- /dev/null +++ b/bench_adt/LEON/amortize-queue-goal14.smt2 @@ -0,0 +1,107 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun butlast (Lst) Lst) +(assert (= (butlast nil) nil)) +(assert (forall ((x Nat) (y Lst)) (= (butlast (cons x y)) (ite (= y nil) nil (cons x (butlast y)))))) + +(declare-fun qreva (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (qreva nil x) x))) +(assert (forall ((x Lst) (y Lst) (z Nat)) (= (qreva (cons z x) y) (qreva x (cons z y))))) + +(declare-fun qrev (Lst) Lst) +(assert (forall ((x Lst)) (= (qrev x) (qreva x nil)))) + +; queues +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun queue-to-lst (Queue) Lst) +(assert (forall ((x Lst) (y Lst)) (= (queue-to-lst (queue x y)) (append x (qrev y))))) + +(declare-fun qlen (Queue) Nat) +(assert (forall ((x Lst) (y Lst)) (= (qlen (queue x y)) (plus (len x) (len y))))) + +(declare-fun isAmortized (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isAmortized (queue x y)) (leq (len y) (len x))))) + +(declare-fun isEmpty (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isEmpty (queue x y)) (and (= x nil) (= y nil))))) + +(declare-fun amortizeQueue (Lst Lst) Queue) +(assert (forall ((x Lst) (y Lst)) (= (amortizeQueue x y) (ite (leq (len y) (len x)) (queue x y) (queue (append x (qrev y)) nil))))) + +(declare-fun enqueue (Queue Nat) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (enqueue (queue x y) n) (amortizeQueue x (cons n y))))) + +(declare-fun qpop (Queue) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (qpop (queue x (cons n y))) (queue x y)))) +(assert (forall ((x Lst)) (= (qpop (queue x nil)) (queue (butlast x) nil)))) + +; proven +(assert +(forall ((x Lst) (y Lst)) (= (len (append x y)) (plus (len x) (len y)))) ; G-amortize-queue-1 +) +(assert +(forall ((x Lst) (y Lst)) (= (len (qreva x y)) (plus (len x) (len y)))) ; G-amortize-queue-2 +) +(assert +(forall ((x Lst)) (= (len (qrev x)) (len x))) ; G-amortize-queue-3 +) +(assert +(forall ((x Lst) (y Lst)) (= (plus (len x) (len y)) (qlen (queue x y)))) ; G-amortize-queue-4 +) +(assert +(forall ((x Lst) (y Nat)) (= (succ (len (butlast (cons y x)))) (len (cons y x)))) ; G-amortize-queue-5 +) +(assert +(forall ((q Queue) (n Nat)) (= (qlen (enqueue q n)) (succ (qlen q)))) ; G-amortize-queue-6 +) +(assert +(forall ((q Queue) (n Nat)) (=> (and (isAmortized q) (not (isEmpty q))) (= (succ (qlen (qpop q))) (qlen q)))) ; G-amortize-queue-7 +) +(assert +(forall ((x Lst)) (= (append x nil) x)) ; G-amortize-queue-8 +) +(assert +(forall ((x Lst) (n Nat) (y Lst)) (= (butlast (append x (cons n y))) (append x (butlast (cons n y))))) ; G-amortize-queue-9 +) +(assert +(forall ((x Lst) (y Lst) (z Lst)) (= (qreva (qreva x y) z) (qreva y (append x z)))) ; G-amortize-queue-10 +) +(assert +(forall ((x Lst) (y Lst) (z Lst)) (= (append x (append y z)) (append (append x y) z))) ; G-amortize-queue-11 +) +(assert +(forall ((x Lst) (y Lst)) (= (queue-to-lst (queue x y)) (queue-to-lst (amortizeQueue x y)))) ; G-amortize-queue-12 +) +(assert +(forall ((x Lst) (y Lst)) (= (butlast (queue-to-lst (queue x y))) (queue-to-lst (qpop (queue x y))))) ; G-amortize-queue-13 +) + +; conjecture +(assert (not +(forall ((y Lst) (x Lst) (n Nat)) (= (append (queue-to-lst (queue x y)) (cons n nil)) (queue-to-lst (enqueue (queue x y) n)))) ; G-amortize-queue-14 +)) +(check-sat) diff --git a/bench_adt/LEON/amortize-queue-goal15.smt2 b/bench_adt/LEON/amortize-queue-goal15.smt2 new file mode 100644 index 000000000..c41b07505 --- /dev/null +++ b/bench_adt/LEON/amortize-queue-goal15.smt2 @@ -0,0 +1,110 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun butlast (Lst) Lst) +(assert (= (butlast nil) nil)) +(assert (forall ((x Nat) (y Lst)) (= (butlast (cons x y)) (ite (= y nil) nil (cons x (butlast y)))))) + +(declare-fun qreva (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (qreva nil x) x))) +(assert (forall ((x Lst) (y Lst) (z Nat)) (= (qreva (cons z x) y) (qreva x (cons z y))))) + +(declare-fun qrev (Lst) Lst) +(assert (forall ((x Lst)) (= (qrev x) (qreva x nil)))) + +; queues +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun queue-to-lst (Queue) Lst) +(assert (forall ((x Lst) (y Lst)) (= (queue-to-lst (queue x y)) (append x (qrev y))))) + +(declare-fun qlen (Queue) Nat) +(assert (forall ((x Lst) (y Lst)) (= (qlen (queue x y)) (plus (len x) (len y))))) + +(declare-fun isAmortized (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isAmortized (queue x y)) (leq (len y) (len x))))) + +(declare-fun isEmpty (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isEmpty (queue x y)) (and (= x nil) (= y nil))))) + +(declare-fun amortizeQueue (Lst Lst) Queue) +(assert (forall ((x Lst) (y Lst)) (= (amortizeQueue x y) (ite (leq (len y) (len x)) (queue x y) (queue (append x (qrev y)) nil))))) + +(declare-fun enqueue (Queue Nat) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (enqueue (queue x y) n) (amortizeQueue x (cons n y))))) + +(declare-fun qpop (Queue) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (qpop (queue x (cons n y))) (queue x y)))) +(assert (forall ((x Lst)) (= (qpop (queue x nil)) (queue (butlast x) nil)))) + +; proven +(assert +(forall ((x Lst) (y Lst)) (= (len (append x y)) (plus (len x) (len y)))) ; G-amortize-queue-1 +) +(assert +(forall ((x Lst) (y Lst)) (= (len (qreva x y)) (plus (len x) (len y)))) ; G-amortize-queue-2 +) +(assert +(forall ((x Lst)) (= (len (qrev x)) (len x))) ; G-amortize-queue-3 +) +(assert +(forall ((x Lst) (y Lst)) (= (plus (len x) (len y)) (qlen (queue x y)))) ; G-amortize-queue-4 +) +(assert +(forall ((x Lst) (y Nat)) (= (succ (len (butlast (cons y x)))) (len (cons y x)))) ; G-amortize-queue-5 +) +(assert +(forall ((q Queue) (n Nat)) (= (qlen (enqueue q n)) (succ (qlen q)))) ; G-amortize-queue-6 +) +(assert +(forall ((q Queue) (n Nat)) (=> (and (isAmortized q) (not (isEmpty q))) (= (succ (qlen (qpop q))) (qlen q)))) ; G-amortize-queue-7 +) +(assert +(forall ((x Lst)) (= (append x nil) x)) ; G-amortize-queue-8 +) +(assert +(forall ((x Lst) (n Nat) (y Lst)) (= (butlast (append x (cons n y))) (append x (butlast (cons n y))))) ; G-amortize-queue-9 +) +(assert +(forall ((x Lst) (y Lst) (z Lst)) (= (qreva (qreva x y) z) (qreva y (append x z)))) ; G-amortize-queue-10 +) +(assert +(forall ((x Lst) (y Lst) (z Lst)) (= (append x (append y z)) (append (append x y) z))) ; G-amortize-queue-11 +) +(assert +(forall ((x Lst) (y Lst)) (= (queue-to-lst (queue x y)) (queue-to-lst (amortizeQueue x y)))) ; G-amortize-queue-12 +) +(assert +(forall ((x Lst) (y Lst)) (= (butlast (queue-to-lst (queue x y))) (queue-to-lst (qpop (queue x y))))) ; G-amortize-queue-13 +) +(assert +(forall ((y Lst) (x Lst) (n Nat)) (= (append (queue-to-lst (queue x y)) (cons n nil)) (queue-to-lst (enqueue (queue x y) n)))) ; G-amortize-queue-14 +) + +; conjecture +(assert (not +(forall ((x Lst) (y Lst)) (isAmortized (amortizeQueue x y))) ; G-amortize-queue-15 +)) +(check-sat) diff --git a/bench_adt/LEON/amortize-queue-goal2.smt2 b/bench_adt/LEON/amortize-queue-goal2.smt2 new file mode 100644 index 000000000..0c7602e01 --- /dev/null +++ b/bench_adt/LEON/amortize-queue-goal2.smt2 @@ -0,0 +1,71 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun butlast (Lst) Lst) +(assert (= (butlast nil) nil)) +(assert (forall ((x Nat) (y Lst)) (= (butlast (cons x y)) (ite (= y nil) nil (cons x (butlast y)))))) + +(declare-fun qreva (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (qreva nil x) x))) +(assert (forall ((x Lst) (y Lst) (z Nat)) (= (qreva (cons z x) y) (qreva x (cons z y))))) + +(declare-fun qrev (Lst) Lst) +(assert (forall ((x Lst)) (= (qrev x) (qreva x nil)))) + +; queues +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun queue-to-lst (Queue) Lst) +(assert (forall ((x Lst) (y Lst)) (= (queue-to-lst (queue x y)) (append x (qrev y))))) + +(declare-fun qlen (Queue) Nat) +(assert (forall ((x Lst) (y Lst)) (= (qlen (queue x y)) (plus (len x) (len y))))) + +(declare-fun isAmortized (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isAmortized (queue x y)) (leq (len y) (len x))))) + +(declare-fun isEmpty (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isEmpty (queue x y)) (and (= x nil) (= y nil))))) + +(declare-fun amortizeQueue (Lst Lst) Queue) +(assert (forall ((x Lst) (y Lst)) (= (amortizeQueue x y) (ite (leq (len y) (len x)) (queue x y) (queue (append x (qrev y)) nil))))) + +(declare-fun enqueue (Queue Nat) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (enqueue (queue x y) n) (amortizeQueue x (cons n y))))) + +(declare-fun qpop (Queue) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (qpop (queue x (cons n y))) (queue x y)))) +(assert (forall ((x Lst)) (= (qpop (queue x nil)) (queue (butlast x) nil)))) + +; proven +(assert +(forall ((x Lst) (y Lst)) (= (len (append x y)) (plus (len x) (len y)))) ; G-amortize-queue-1 +) + +; conjecture +(assert (not +(forall ((x Lst) (y Lst)) (= (len (qreva x y)) (plus (len x) (len y)))) ; G-amortize-queue-2 +)) +(check-sat) diff --git a/bench_adt/LEON/amortize-queue-goal3.smt2 b/bench_adt/LEON/amortize-queue-goal3.smt2 new file mode 100644 index 000000000..4105a931e --- /dev/null +++ b/bench_adt/LEON/amortize-queue-goal3.smt2 @@ -0,0 +1,74 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun butlast (Lst) Lst) +(assert (= (butlast nil) nil)) +(assert (forall ((x Nat) (y Lst)) (= (butlast (cons x y)) (ite (= y nil) nil (cons x (butlast y)))))) + +(declare-fun qreva (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (qreva nil x) x))) +(assert (forall ((x Lst) (y Lst) (z Nat)) (= (qreva (cons z x) y) (qreva x (cons z y))))) + +(declare-fun qrev (Lst) Lst) +(assert (forall ((x Lst)) (= (qrev x) (qreva x nil)))) + +; queues +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun queue-to-lst (Queue) Lst) +(assert (forall ((x Lst) (y Lst)) (= (queue-to-lst (queue x y)) (append x (qrev y))))) + +(declare-fun qlen (Queue) Nat) +(assert (forall ((x Lst) (y Lst)) (= (qlen (queue x y)) (plus (len x) (len y))))) + +(declare-fun isAmortized (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isAmortized (queue x y)) (leq (len y) (len x))))) + +(declare-fun isEmpty (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isEmpty (queue x y)) (and (= x nil) (= y nil))))) + +(declare-fun amortizeQueue (Lst Lst) Queue) +(assert (forall ((x Lst) (y Lst)) (= (amortizeQueue x y) (ite (leq (len y) (len x)) (queue x y) (queue (append x (qrev y)) nil))))) + +(declare-fun enqueue (Queue Nat) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (enqueue (queue x y) n) (amortizeQueue x (cons n y))))) + +(declare-fun qpop (Queue) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (qpop (queue x (cons n y))) (queue x y)))) +(assert (forall ((x Lst)) (= (qpop (queue x nil)) (queue (butlast x) nil)))) + +; proven +(assert +(forall ((x Lst) (y Lst)) (= (len (append x y)) (plus (len x) (len y)))) ; G-amortize-queue-1 +) +(assert +(forall ((x Lst) (y Lst)) (= (len (qreva x y)) (plus (len x) (len y)))) ; G-amortize-queue-2 +) + +; conjecture +(assert (not +(forall ((x Lst)) (= (len (qrev x)) (len x))) ; G-amortize-queue-3 +)) +(check-sat) diff --git a/bench_adt/LEON/amortize-queue-goal4.smt2 b/bench_adt/LEON/amortize-queue-goal4.smt2 new file mode 100644 index 000000000..98e525f03 --- /dev/null +++ b/bench_adt/LEON/amortize-queue-goal4.smt2 @@ -0,0 +1,77 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun butlast (Lst) Lst) +(assert (= (butlast nil) nil)) +(assert (forall ((x Nat) (y Lst)) (= (butlast (cons x y)) (ite (= y nil) nil (cons x (butlast y)))))) + +(declare-fun qreva (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (qreva nil x) x))) +(assert (forall ((x Lst) (y Lst) (z Nat)) (= (qreva (cons z x) y) (qreva x (cons z y))))) + +(declare-fun qrev (Lst) Lst) +(assert (forall ((x Lst)) (= (qrev x) (qreva x nil)))) + +; queues +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun queue-to-lst (Queue) Lst) +(assert (forall ((x Lst) (y Lst)) (= (queue-to-lst (queue x y)) (append x (qrev y))))) + +(declare-fun qlen (Queue) Nat) +(assert (forall ((x Lst) (y Lst)) (= (qlen (queue x y)) (plus (len x) (len y))))) + +(declare-fun isAmortized (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isAmortized (queue x y)) (leq (len y) (len x))))) + +(declare-fun isEmpty (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isEmpty (queue x y)) (and (= x nil) (= y nil))))) + +(declare-fun amortizeQueue (Lst Lst) Queue) +(assert (forall ((x Lst) (y Lst)) (= (amortizeQueue x y) (ite (leq (len y) (len x)) (queue x y) (queue (append x (qrev y)) nil))))) + +(declare-fun enqueue (Queue Nat) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (enqueue (queue x y) n) (amortizeQueue x (cons n y))))) + +(declare-fun qpop (Queue) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (qpop (queue x (cons n y))) (queue x y)))) +(assert (forall ((x Lst)) (= (qpop (queue x nil)) (queue (butlast x) nil)))) + +; proven +(assert +(forall ((x Lst) (y Lst)) (= (len (append x y)) (plus (len x) (len y)))) ; G-amortize-queue-1 +) +(assert +(forall ((x Lst) (y Lst)) (= (len (qreva x y)) (plus (len x) (len y)))) ; G-amortize-queue-2 +) +(assert +(forall ((x Lst)) (= (len (qrev x)) (len x))) ; G-amortize-queue-3 +) + +; conjecture +(assert (not +(forall ((x Lst) (y Lst)) (= (plus (len x) (len y)) (qlen (queue x y)))) ; G-amortize-queue-4 +)) +(check-sat) diff --git a/bench_adt/LEON/amortize-queue-goal5.smt2 b/bench_adt/LEON/amortize-queue-goal5.smt2 new file mode 100644 index 000000000..aac5be615 --- /dev/null +++ b/bench_adt/LEON/amortize-queue-goal5.smt2 @@ -0,0 +1,80 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun butlast (Lst) Lst) +(assert (= (butlast nil) nil)) +(assert (forall ((x Nat) (y Lst)) (= (butlast (cons x y)) (ite (= y nil) nil (cons x (butlast y)))))) + +(declare-fun qreva (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (qreva nil x) x))) +(assert (forall ((x Lst) (y Lst) (z Nat)) (= (qreva (cons z x) y) (qreva x (cons z y))))) + +(declare-fun qrev (Lst) Lst) +(assert (forall ((x Lst)) (= (qrev x) (qreva x nil)))) + +; queues +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun queue-to-lst (Queue) Lst) +(assert (forall ((x Lst) (y Lst)) (= (queue-to-lst (queue x y)) (append x (qrev y))))) + +(declare-fun qlen (Queue) Nat) +(assert (forall ((x Lst) (y Lst)) (= (qlen (queue x y)) (plus (len x) (len y))))) + +(declare-fun isAmortized (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isAmortized (queue x y)) (leq (len y) (len x))))) + +(declare-fun isEmpty (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isEmpty (queue x y)) (and (= x nil) (= y nil))))) + +(declare-fun amortizeQueue (Lst Lst) Queue) +(assert (forall ((x Lst) (y Lst)) (= (amortizeQueue x y) (ite (leq (len y) (len x)) (queue x y) (queue (append x (qrev y)) nil))))) + +(declare-fun enqueue (Queue Nat) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (enqueue (queue x y) n) (amortizeQueue x (cons n y))))) + +(declare-fun qpop (Queue) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (qpop (queue x (cons n y))) (queue x y)))) +(assert (forall ((x Lst)) (= (qpop (queue x nil)) (queue (butlast x) nil)))) + +; proven +(assert +(forall ((x Lst) (y Lst)) (= (len (append x y)) (plus (len x) (len y)))) ; G-amortize-queue-1 +) +(assert +(forall ((x Lst) (y Lst)) (= (len (qreva x y)) (plus (len x) (len y)))) ; G-amortize-queue-2 +) +(assert +(forall ((x Lst)) (= (len (qrev x)) (len x))) ; G-amortize-queue-3 +) +(assert +(forall ((x Lst) (y Lst)) (= (plus (len x) (len y)) (qlen (queue x y)))) ; G-amortize-queue-4 +) + +; conjecture +(assert (not +(forall ((x Lst) (y Nat)) (= (succ (len (butlast (cons y x)))) (len (cons y x)))) ; G-amortize-queue-5 +)) +(check-sat) diff --git a/bench_adt/LEON/amortize-queue-goal6.smt2 b/bench_adt/LEON/amortize-queue-goal6.smt2 new file mode 100644 index 000000000..4a940c69f --- /dev/null +++ b/bench_adt/LEON/amortize-queue-goal6.smt2 @@ -0,0 +1,83 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun butlast (Lst) Lst) +(assert (= (butlast nil) nil)) +(assert (forall ((x Nat) (y Lst)) (= (butlast (cons x y)) (ite (= y nil) nil (cons x (butlast y)))))) + +(declare-fun qreva (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (qreva nil x) x))) +(assert (forall ((x Lst) (y Lst) (z Nat)) (= (qreva (cons z x) y) (qreva x (cons z y))))) + +(declare-fun qrev (Lst) Lst) +(assert (forall ((x Lst)) (= (qrev x) (qreva x nil)))) + +; queues +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun queue-to-lst (Queue) Lst) +(assert (forall ((x Lst) (y Lst)) (= (queue-to-lst (queue x y)) (append x (qrev y))))) + +(declare-fun qlen (Queue) Nat) +(assert (forall ((x Lst) (y Lst)) (= (qlen (queue x y)) (plus (len x) (len y))))) + +(declare-fun isAmortized (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isAmortized (queue x y)) (leq (len y) (len x))))) + +(declare-fun isEmpty (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isEmpty (queue x y)) (and (= x nil) (= y nil))))) + +(declare-fun amortizeQueue (Lst Lst) Queue) +(assert (forall ((x Lst) (y Lst)) (= (amortizeQueue x y) (ite (leq (len y) (len x)) (queue x y) (queue (append x (qrev y)) nil))))) + +(declare-fun enqueue (Queue Nat) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (enqueue (queue x y) n) (amortizeQueue x (cons n y))))) + +(declare-fun qpop (Queue) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (qpop (queue x (cons n y))) (queue x y)))) +(assert (forall ((x Lst)) (= (qpop (queue x nil)) (queue (butlast x) nil)))) + +; proven +(assert +(forall ((x Lst) (y Lst)) (= (len (append x y)) (plus (len x) (len y)))) ; G-amortize-queue-1 +) +(assert +(forall ((x Lst) (y Lst)) (= (len (qreva x y)) (plus (len x) (len y)))) ; G-amortize-queue-2 +) +(assert +(forall ((x Lst)) (= (len (qrev x)) (len x))) ; G-amortize-queue-3 +) +(assert +(forall ((x Lst) (y Lst)) (= (plus (len x) (len y)) (qlen (queue x y)))) ; G-amortize-queue-4 +) +(assert +(forall ((x Lst) (y Nat)) (= (succ (len (butlast (cons y x)))) (len (cons y x)))) ; G-amortize-queue-5 +) + +; conjecture +(assert (not +(forall ((q Queue) (n Nat)) (= (qlen (enqueue q n)) (succ (qlen q)))) ; G-amortize-queue-6 +)) +(check-sat) diff --git a/bench_adt/LEON/amortize-queue-goal7.smt2 b/bench_adt/LEON/amortize-queue-goal7.smt2 new file mode 100644 index 000000000..4276a5b49 --- /dev/null +++ b/bench_adt/LEON/amortize-queue-goal7.smt2 @@ -0,0 +1,86 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun butlast (Lst) Lst) +(assert (= (butlast nil) nil)) +(assert (forall ((x Nat) (y Lst)) (= (butlast (cons x y)) (ite (= y nil) nil (cons x (butlast y)))))) + +(declare-fun qreva (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (qreva nil x) x))) +(assert (forall ((x Lst) (y Lst) (z Nat)) (= (qreva (cons z x) y) (qreva x (cons z y))))) + +(declare-fun qrev (Lst) Lst) +(assert (forall ((x Lst)) (= (qrev x) (qreva x nil)))) + +; queues +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun queue-to-lst (Queue) Lst) +(assert (forall ((x Lst) (y Lst)) (= (queue-to-lst (queue x y)) (append x (qrev y))))) + +(declare-fun qlen (Queue) Nat) +(assert (forall ((x Lst) (y Lst)) (= (qlen (queue x y)) (plus (len x) (len y))))) + +(declare-fun isAmortized (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isAmortized (queue x y)) (leq (len y) (len x))))) + +(declare-fun isEmpty (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isEmpty (queue x y)) (and (= x nil) (= y nil))))) + +(declare-fun amortizeQueue (Lst Lst) Queue) +(assert (forall ((x Lst) (y Lst)) (= (amortizeQueue x y) (ite (leq (len y) (len x)) (queue x y) (queue (append x (qrev y)) nil))))) + +(declare-fun enqueue (Queue Nat) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (enqueue (queue x y) n) (amortizeQueue x (cons n y))))) + +(declare-fun qpop (Queue) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (qpop (queue x (cons n y))) (queue x y)))) +(assert (forall ((x Lst)) (= (qpop (queue x nil)) (queue (butlast x) nil)))) + +; proven +(assert +(forall ((x Lst) (y Lst)) (= (len (append x y)) (plus (len x) (len y)))) ; G-amortize-queue-1 +) +(assert +(forall ((x Lst) (y Lst)) (= (len (qreva x y)) (plus (len x) (len y)))) ; G-amortize-queue-2 +) +(assert +(forall ((x Lst)) (= (len (qrev x)) (len x))) ; G-amortize-queue-3 +) +(assert +(forall ((x Lst) (y Lst)) (= (plus (len x) (len y)) (qlen (queue x y)))) ; G-amortize-queue-4 +) +(assert +(forall ((x Lst) (y Nat)) (= (succ (len (butlast (cons y x)))) (len (cons y x)))) ; G-amortize-queue-5 +) +(assert +(forall ((q Queue) (n Nat)) (= (qlen (enqueue q n)) (succ (qlen q)))) ; G-amortize-queue-6 +) + +; conjecture +(assert (not +(forall ((q Queue) (n Nat)) (=> (and (isAmortized q) (not (isEmpty q))) (= (succ (qlen (qpop q))) (qlen q)))) ; G-amortize-queue-7 +)) +(check-sat) diff --git a/bench_adt/LEON/amortize-queue-goal8.smt2 b/bench_adt/LEON/amortize-queue-goal8.smt2 new file mode 100644 index 000000000..94a724829 --- /dev/null +++ b/bench_adt/LEON/amortize-queue-goal8.smt2 @@ -0,0 +1,89 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun butlast (Lst) Lst) +(assert (= (butlast nil) nil)) +(assert (forall ((x Nat) (y Lst)) (= (butlast (cons x y)) (ite (= y nil) nil (cons x (butlast y)))))) + +(declare-fun qreva (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (qreva nil x) x))) +(assert (forall ((x Lst) (y Lst) (z Nat)) (= (qreva (cons z x) y) (qreva x (cons z y))))) + +(declare-fun qrev (Lst) Lst) +(assert (forall ((x Lst)) (= (qrev x) (qreva x nil)))) + +; queues +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun queue-to-lst (Queue) Lst) +(assert (forall ((x Lst) (y Lst)) (= (queue-to-lst (queue x y)) (append x (qrev y))))) + +(declare-fun qlen (Queue) Nat) +(assert (forall ((x Lst) (y Lst)) (= (qlen (queue x y)) (plus (len x) (len y))))) + +(declare-fun isAmortized (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isAmortized (queue x y)) (leq (len y) (len x))))) + +(declare-fun isEmpty (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isEmpty (queue x y)) (and (= x nil) (= y nil))))) + +(declare-fun amortizeQueue (Lst Lst) Queue) +(assert (forall ((x Lst) (y Lst)) (= (amortizeQueue x y) (ite (leq (len y) (len x)) (queue x y) (queue (append x (qrev y)) nil))))) + +(declare-fun enqueue (Queue Nat) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (enqueue (queue x y) n) (amortizeQueue x (cons n y))))) + +(declare-fun qpop (Queue) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (qpop (queue x (cons n y))) (queue x y)))) +(assert (forall ((x Lst)) (= (qpop (queue x nil)) (queue (butlast x) nil)))) + +; proven +(assert +(forall ((x Lst) (y Lst)) (= (len (append x y)) (plus (len x) (len y)))) ; G-amortize-queue-1 +) +(assert +(forall ((x Lst) (y Lst)) (= (len (qreva x y)) (plus (len x) (len y)))) ; G-amortize-queue-2 +) +(assert +(forall ((x Lst)) (= (len (qrev x)) (len x))) ; G-amortize-queue-3 +) +(assert +(forall ((x Lst) (y Lst)) (= (plus (len x) (len y)) (qlen (queue x y)))) ; G-amortize-queue-4 +) +(assert +(forall ((x Lst) (y Nat)) (= (succ (len (butlast (cons y x)))) (len (cons y x)))) ; G-amortize-queue-5 +) +(assert +(forall ((q Queue) (n Nat)) (= (qlen (enqueue q n)) (succ (qlen q)))) ; G-amortize-queue-6 +) +(assert +(forall ((q Queue) (n Nat)) (=> (and (isAmortized q) (not (isEmpty q))) (= (succ (qlen (qpop q))) (qlen q)))) ; G-amortize-queue-7 +) + +; conjecture +(assert (not +(forall ((x Lst)) (= (append x nil) x)) ; G-amortize-queue-8 +)) +(check-sat) diff --git a/bench_adt/LEON/amortize-queue-goal9.smt2 b/bench_adt/LEON/amortize-queue-goal9.smt2 new file mode 100644 index 000000000..712793e94 --- /dev/null +++ b/bench_adt/LEON/amortize-queue-goal9.smt2 @@ -0,0 +1,92 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun butlast (Lst) Lst) +(assert (= (butlast nil) nil)) +(assert (forall ((x Nat) (y Lst)) (= (butlast (cons x y)) (ite (= y nil) nil (cons x (butlast y)))))) + +(declare-fun qreva (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (qreva nil x) x))) +(assert (forall ((x Lst) (y Lst) (z Nat)) (= (qreva (cons z x) y) (qreva x (cons z y))))) + +(declare-fun qrev (Lst) Lst) +(assert (forall ((x Lst)) (= (qrev x) (qreva x nil)))) + +; queues +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun queue-to-lst (Queue) Lst) +(assert (forall ((x Lst) (y Lst)) (= (queue-to-lst (queue x y)) (append x (qrev y))))) + +(declare-fun qlen (Queue) Nat) +(assert (forall ((x Lst) (y Lst)) (= (qlen (queue x y)) (plus (len x) (len y))))) + +(declare-fun isAmortized (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isAmortized (queue x y)) (leq (len y) (len x))))) + +(declare-fun isEmpty (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isEmpty (queue x y)) (and (= x nil) (= y nil))))) + +(declare-fun amortizeQueue (Lst Lst) Queue) +(assert (forall ((x Lst) (y Lst)) (= (amortizeQueue x y) (ite (leq (len y) (len x)) (queue x y) (queue (append x (qrev y)) nil))))) + +(declare-fun enqueue (Queue Nat) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (enqueue (queue x y) n) (amortizeQueue x (cons n y))))) + +(declare-fun qpop (Queue) Queue) +(assert (forall ((x Lst) (y Lst) (n Nat)) (= (qpop (queue x (cons n y))) (queue x y)))) +(assert (forall ((x Lst)) (= (qpop (queue x nil)) (queue (butlast x) nil)))) + +; proven +(assert +(forall ((x Lst) (y Lst)) (= (len (append x y)) (plus (len x) (len y)))) ; G-amortize-queue-1 +) +(assert +(forall ((x Lst) (y Lst)) (= (len (qreva x y)) (plus (len x) (len y)))) ; G-amortize-queue-2 +) +(assert +(forall ((x Lst)) (= (len (qrev x)) (len x))) ; G-amortize-queue-3 +) +(assert +(forall ((x Lst) (y Lst)) (= (plus (len x) (len y)) (qlen (queue x y)))) ; G-amortize-queue-4 +) +(assert +(forall ((x Lst) (y Nat)) (= (succ (len (butlast (cons y x)))) (len (cons y x)))) ; G-amortize-queue-5 +) +(assert +(forall ((q Queue) (n Nat)) (= (qlen (enqueue q n)) (succ (qlen q)))) ; G-amortize-queue-6 +) +(assert +(forall ((q Queue) (n Nat)) (=> (and (isAmortized q) (not (isEmpty q))) (= (succ (qlen (qpop q))) (qlen q)))) ; G-amortize-queue-7 +) +(assert +(forall ((x Lst)) (= (append x nil) x)) ; G-amortize-queue-8 +) + +; conjecture +(assert (not +(forall ((x Lst) (n Nat) (y Lst)) (= (butlast (append x (cons n y))) (append x (butlast (cons n y))))) ; G-amortize-queue-9 +)) +(check-sat) diff --git a/bench_adt/LEON/bsearch-tree-goal1.smt2 b/bench_adt/LEON/bsearch-tree-goal1.smt2 new file mode 100644 index 000000000..46d13b9de --- /dev/null +++ b/bench_adt/LEON/bsearch-tree-goal1.smt2 @@ -0,0 +1,87 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +(declare-fun nmax (Nat Nat) Nat) +(assert (forall ((n Nat) (m Nat)) (= (nmax n m) (ite (less n m) m n)))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun mem (Nat Lst) Bool) +(assert (forall ((x Nat)) (not (mem x nil)))) +(assert (forall ((x Nat) (y Nat) (z Lst)) (= (mem x (cons y z)) (or (= x y) (mem x z))))) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Nat) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tinsert leaf i) (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Nat) (i Nat)) (= (tinsert (node d l r) i) (ite (less d i) (node d l (tinsert r i)) (node d (tinsert l i) r))))) + +(declare-fun height (Tree) Nat) +(assert (= (height leaf) zero)) +(assert (forall ((x Nat) (y Tree) (z Tree)) (= (height (node x y z)) (succ (nmax (height y) (height z)))))) + +(declare-fun tinsert-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tinsert-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tinsert-all x (cons n l)) (tinsert (tinsert-all x l) n)))) + +(declare-fun tsize (Tree) Nat) +(assert (= (tsize leaf) zero)) +(assert (forall ((x Nat) (l Tree) (r Tree)) (= (tsize (node x l r)) (succ (plus (tsize l) (tsize r)))))) + +(declare-fun tremove (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tremove leaf i) leaf))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less i d) (= (tremove (node d l r) i) (node d (tremove l i) r))))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less d i) (= (tremove (node d l r) i) (node d l (tremove r i)))))) +(assert (forall ((d Nat) (r Tree)) (= (tremove (node d leaf r) d) r))) +(assert (forall ((d Nat) (ld Nat) (ll Tree) (lr Tree) (r Tree)) (= (tremove (node d (node ld ll lr) r) d) (node ld (tremove (node ld ll lr) ld) r)))) + +(declare-fun tremove-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tremove-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tremove-all x (cons n l)) (tremove-all (tremove x n) l)))) + +(declare-fun tcontains (Tree Nat) Bool) +(assert (forall ((i Nat)) (not (tcontains leaf i)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tcontains (node d l r) i) (or (= d i) (tcontains l i) (tcontains r i))))) + +(declare-fun tsorted (Tree) Bool) +(assert (tsorted leaf)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (tsorted (node d l r)) (and (tsorted l) (tsorted r) + (forall ((x Nat)) (=> (tcontains l x) (leq x d))) + (forall ((x Nat)) (=> (tcontains r x) (less d x))))))) + +(declare-fun tmember (Tree Nat) Bool) +(assert (forall ((x Nat)) (not (tmember leaf x)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tmember (node d l r) i) (ite (= i d) true (tmember (ite (less d i) r l) i))))) + +(declare-fun content (Tree) Lst) +(assert (= (content leaf) nil)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (content (node d l r)) (append (content l) (cons d (content r)))))) + +; proven + +; conjecture +(assert (not +(forall ((t Tree) (n Nat)) (= (tsize (tinsert t n)) (succ (tsize t)))) ; G-bsearch-tree-1 +)) +(check-sat) diff --git a/bench_adt/LEON/bsearch-tree-goal10.smt2 b/bench_adt/LEON/bsearch-tree-goal10.smt2 new file mode 100644 index 000000000..82d18c0a5 --- /dev/null +++ b/bench_adt/LEON/bsearch-tree-goal10.smt2 @@ -0,0 +1,114 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +(declare-fun nmax (Nat Nat) Nat) +(assert (forall ((n Nat) (m Nat)) (= (nmax n m) (ite (less n m) m n)))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun mem (Nat Lst) Bool) +(assert (forall ((x Nat)) (not (mem x nil)))) +(assert (forall ((x Nat) (y Nat) (z Lst)) (= (mem x (cons y z)) (or (= x y) (mem x z))))) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Nat) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tinsert leaf i) (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Nat) (i Nat)) (= (tinsert (node d l r) i) (ite (less d i) (node d l (tinsert r i)) (node d (tinsert l i) r))))) + +(declare-fun height (Tree) Nat) +(assert (= (height leaf) zero)) +(assert (forall ((x Nat) (y Tree) (z Tree)) (= (height (node x y z)) (succ (nmax (height y) (height z)))))) + +(declare-fun tinsert-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tinsert-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tinsert-all x (cons n l)) (tinsert (tinsert-all x l) n)))) + +(declare-fun tsize (Tree) Nat) +(assert (= (tsize leaf) zero)) +(assert (forall ((x Nat) (l Tree) (r Tree)) (= (tsize (node x l r)) (succ (plus (tsize l) (tsize r)))))) + +(declare-fun tremove (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tremove leaf i) leaf))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less i d) (= (tremove (node d l r) i) (node d (tremove l i) r))))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less d i) (= (tremove (node d l r) i) (node d l (tremove r i)))))) +(assert (forall ((d Nat) (r Tree)) (= (tremove (node d leaf r) d) r))) +(assert (forall ((d Nat) (ld Nat) (ll Tree) (lr Tree) (r Tree)) (= (tremove (node d (node ld ll lr) r) d) (node ld (tremove (node ld ll lr) ld) r)))) + +(declare-fun tremove-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tremove-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tremove-all x (cons n l)) (tremove-all (tremove x n) l)))) + +(declare-fun tcontains (Tree Nat) Bool) +(assert (forall ((i Nat)) (not (tcontains leaf i)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tcontains (node d l r) i) (or (= d i) (tcontains l i) (tcontains r i))))) + +(declare-fun tsorted (Tree) Bool) +(assert (tsorted leaf)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (tsorted (node d l r)) (and (tsorted l) (tsorted r) + (forall ((x Nat)) (=> (tcontains l x) (leq x d))) + (forall ((x Nat)) (=> (tcontains r x) (less d x))))))) + +(declare-fun tmember (Tree Nat) Bool) +(assert (forall ((x Nat)) (not (tmember leaf x)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tmember (node d l r) i) (ite (= i d) true (tmember (ite (less d i) r l) i))))) + +(declare-fun content (Tree) Lst) +(assert (= (content leaf) nil)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (content (node d l r)) (append (content l) (cons d (content r)))))) + +; proven +(assert +(forall ((t Tree) (n Nat)) (= (tsize (tinsert t n)) (succ (tsize t)))) ; G-bsearch-tree-1 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize t) (tsize (tinsert-all t l)))) ; G-bsearch-tree-2 +) +(assert +(forall ((l Lst) (t Tree)) (= (tsize (tinsert-all t l)) (plus (tsize t) (len l)))) ; G-bsearch-tree-3 +) +(assert +(forall ((t Tree) (n Nat)) (leq (tsize (tremove t n)) (tsize t))) ; G-bsearch-tree-4 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize (tremove-all t l)) (tsize t))) ; G-bsearch-tree-5 +) +(assert +(forall ((x Tree) (i Nat)) (tcontains (tinsert x i) i)) ; G-bsearch-tree-6 +) +(assert +(forall ((i Nat) (x Tree) (j Nat)) (= (or (= i j) (tcontains x j)) (tcontains (tinsert x i) j))) ; G-bsearch-tree-7 +) +(assert +(forall ((x Tree) (i Nat)) (=> (tsorted x) (tsorted (tinsert x i)))) ; G-bsearch-tree-8 +) +(assert +(forall ((x Tree) (i Nat)) (tmember (tinsert x i) i)) ; G-bsearch-tree-9 +) + +; conjecture +(assert (not +(forall ((i Nat) (x Tree) (j Nat)) (= (or (= i j) (tmember x j)) (tmember (tinsert x i) j))) ; G-bsearch-tree-10 +)) +(check-sat) diff --git a/bench_adt/LEON/bsearch-tree-goal11.smt2 b/bench_adt/LEON/bsearch-tree-goal11.smt2 new file mode 100644 index 000000000..95b7a8083 --- /dev/null +++ b/bench_adt/LEON/bsearch-tree-goal11.smt2 @@ -0,0 +1,117 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +(declare-fun nmax (Nat Nat) Nat) +(assert (forall ((n Nat) (m Nat)) (= (nmax n m) (ite (less n m) m n)))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun mem (Nat Lst) Bool) +(assert (forall ((x Nat)) (not (mem x nil)))) +(assert (forall ((x Nat) (y Nat) (z Lst)) (= (mem x (cons y z)) (or (= x y) (mem x z))))) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Nat) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tinsert leaf i) (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Nat) (i Nat)) (= (tinsert (node d l r) i) (ite (less d i) (node d l (tinsert r i)) (node d (tinsert l i) r))))) + +(declare-fun height (Tree) Nat) +(assert (= (height leaf) zero)) +(assert (forall ((x Nat) (y Tree) (z Tree)) (= (height (node x y z)) (succ (nmax (height y) (height z)))))) + +(declare-fun tinsert-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tinsert-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tinsert-all x (cons n l)) (tinsert (tinsert-all x l) n)))) + +(declare-fun tsize (Tree) Nat) +(assert (= (tsize leaf) zero)) +(assert (forall ((x Nat) (l Tree) (r Tree)) (= (tsize (node x l r)) (succ (plus (tsize l) (tsize r)))))) + +(declare-fun tremove (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tremove leaf i) leaf))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less i d) (= (tremove (node d l r) i) (node d (tremove l i) r))))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less d i) (= (tremove (node d l r) i) (node d l (tremove r i)))))) +(assert (forall ((d Nat) (r Tree)) (= (tremove (node d leaf r) d) r))) +(assert (forall ((d Nat) (ld Nat) (ll Tree) (lr Tree) (r Tree)) (= (tremove (node d (node ld ll lr) r) d) (node ld (tremove (node ld ll lr) ld) r)))) + +(declare-fun tremove-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tremove-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tremove-all x (cons n l)) (tremove-all (tremove x n) l)))) + +(declare-fun tcontains (Tree Nat) Bool) +(assert (forall ((i Nat)) (not (tcontains leaf i)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tcontains (node d l r) i) (or (= d i) (tcontains l i) (tcontains r i))))) + +(declare-fun tsorted (Tree) Bool) +(assert (tsorted leaf)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (tsorted (node d l r)) (and (tsorted l) (tsorted r) + (forall ((x Nat)) (=> (tcontains l x) (leq x d))) + (forall ((x Nat)) (=> (tcontains r x) (less d x))))))) + +(declare-fun tmember (Tree Nat) Bool) +(assert (forall ((x Nat)) (not (tmember leaf x)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tmember (node d l r) i) (ite (= i d) true (tmember (ite (less d i) r l) i))))) + +(declare-fun content (Tree) Lst) +(assert (= (content leaf) nil)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (content (node d l r)) (append (content l) (cons d (content r)))))) + +; proven +(assert +(forall ((t Tree) (n Nat)) (= (tsize (tinsert t n)) (succ (tsize t)))) ; G-bsearch-tree-1 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize t) (tsize (tinsert-all t l)))) ; G-bsearch-tree-2 +) +(assert +(forall ((l Lst) (t Tree)) (= (tsize (tinsert-all t l)) (plus (tsize t) (len l)))) ; G-bsearch-tree-3 +) +(assert +(forall ((t Tree) (n Nat)) (leq (tsize (tremove t n)) (tsize t))) ; G-bsearch-tree-4 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize (tremove-all t l)) (tsize t))) ; G-bsearch-tree-5 +) +(assert +(forall ((x Tree) (i Nat)) (tcontains (tinsert x i) i)) ; G-bsearch-tree-6 +) +(assert +(forall ((i Nat) (x Tree) (j Nat)) (= (or (= i j) (tcontains x j)) (tcontains (tinsert x i) j))) ; G-bsearch-tree-7 +) +(assert +(forall ((x Tree) (i Nat)) (=> (tsorted x) (tsorted (tinsert x i)))) ; G-bsearch-tree-8 +) +(assert +(forall ((x Tree) (i Nat)) (tmember (tinsert x i) i)) ; G-bsearch-tree-9 +) +(assert +(forall ((i Nat) (x Tree) (j Nat)) (= (or (= i j) (tmember x j)) (tmember (tinsert x i) j))) ; G-bsearch-tree-10 +) + +; conjecture +(assert (not +(forall ((i Nat) (x Tree)) (=> (tsorted x) (= (tcontains x i) (tmember x i)))) ; G-bsearch-tree-11 +)) +(check-sat) diff --git a/bench_adt/LEON/bsearch-tree-goal12.smt2 b/bench_adt/LEON/bsearch-tree-goal12.smt2 new file mode 100644 index 000000000..bd8eb7381 --- /dev/null +++ b/bench_adt/LEON/bsearch-tree-goal12.smt2 @@ -0,0 +1,120 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +(declare-fun nmax (Nat Nat) Nat) +(assert (forall ((n Nat) (m Nat)) (= (nmax n m) (ite (less n m) m n)))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun mem (Nat Lst) Bool) +(assert (forall ((x Nat)) (not (mem x nil)))) +(assert (forall ((x Nat) (y Nat) (z Lst)) (= (mem x (cons y z)) (or (= x y) (mem x z))))) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Nat) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tinsert leaf i) (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Nat) (i Nat)) (= (tinsert (node d l r) i) (ite (less d i) (node d l (tinsert r i)) (node d (tinsert l i) r))))) + +(declare-fun height (Tree) Nat) +(assert (= (height leaf) zero)) +(assert (forall ((x Nat) (y Tree) (z Tree)) (= (height (node x y z)) (succ (nmax (height y) (height z)))))) + +(declare-fun tinsert-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tinsert-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tinsert-all x (cons n l)) (tinsert (tinsert-all x l) n)))) + +(declare-fun tsize (Tree) Nat) +(assert (= (tsize leaf) zero)) +(assert (forall ((x Nat) (l Tree) (r Tree)) (= (tsize (node x l r)) (succ (plus (tsize l) (tsize r)))))) + +(declare-fun tremove (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tremove leaf i) leaf))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less i d) (= (tremove (node d l r) i) (node d (tremove l i) r))))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less d i) (= (tremove (node d l r) i) (node d l (tremove r i)))))) +(assert (forall ((d Nat) (r Tree)) (= (tremove (node d leaf r) d) r))) +(assert (forall ((d Nat) (ld Nat) (ll Tree) (lr Tree) (r Tree)) (= (tremove (node d (node ld ll lr) r) d) (node ld (tremove (node ld ll lr) ld) r)))) + +(declare-fun tremove-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tremove-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tremove-all x (cons n l)) (tremove-all (tremove x n) l)))) + +(declare-fun tcontains (Tree Nat) Bool) +(assert (forall ((i Nat)) (not (tcontains leaf i)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tcontains (node d l r) i) (or (= d i) (tcontains l i) (tcontains r i))))) + +(declare-fun tsorted (Tree) Bool) +(assert (tsorted leaf)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (tsorted (node d l r)) (and (tsorted l) (tsorted r) + (forall ((x Nat)) (=> (tcontains l x) (leq x d))) + (forall ((x Nat)) (=> (tcontains r x) (less d x))))))) + +(declare-fun tmember (Tree Nat) Bool) +(assert (forall ((x Nat)) (not (tmember leaf x)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tmember (node d l r) i) (ite (= i d) true (tmember (ite (less d i) r l) i))))) + +(declare-fun content (Tree) Lst) +(assert (= (content leaf) nil)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (content (node d l r)) (append (content l) (cons d (content r)))))) + +; proven +(assert +(forall ((t Tree) (n Nat)) (= (tsize (tinsert t n)) (succ (tsize t)))) ; G-bsearch-tree-1 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize t) (tsize (tinsert-all t l)))) ; G-bsearch-tree-2 +) +(assert +(forall ((l Lst) (t Tree)) (= (tsize (tinsert-all t l)) (plus (tsize t) (len l)))) ; G-bsearch-tree-3 +) +(assert +(forall ((t Tree) (n Nat)) (leq (tsize (tremove t n)) (tsize t))) ; G-bsearch-tree-4 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize (tremove-all t l)) (tsize t))) ; G-bsearch-tree-5 +) +(assert +(forall ((x Tree) (i Nat)) (tcontains (tinsert x i) i)) ; G-bsearch-tree-6 +) +(assert +(forall ((i Nat) (x Tree) (j Nat)) (= (or (= i j) (tcontains x j)) (tcontains (tinsert x i) j))) ; G-bsearch-tree-7 +) +(assert +(forall ((x Tree) (i Nat)) (=> (tsorted x) (tsorted (tinsert x i)))) ; G-bsearch-tree-8 +) +(assert +(forall ((x Tree) (i Nat)) (tmember (tinsert x i) i)) ; G-bsearch-tree-9 +) +(assert +(forall ((i Nat) (x Tree) (j Nat)) (= (or (= i j) (tmember x j)) (tmember (tinsert x i) j))) ; G-bsearch-tree-10 +) +(assert +(forall ((i Nat) (x Tree)) (=> (tsorted x) (= (tcontains x i) (tmember x i)))) ; G-bsearch-tree-11 +) + +; conjecture +(assert (not +(forall ((i Nat) (x Tree)) (=> (tmember x i) (tcontains x i))) ; G-bsearch-tree-12 +)) +(check-sat) diff --git a/bench_adt/LEON/bsearch-tree-goal13.smt2 b/bench_adt/LEON/bsearch-tree-goal13.smt2 new file mode 100644 index 000000000..535ed67ce --- /dev/null +++ b/bench_adt/LEON/bsearch-tree-goal13.smt2 @@ -0,0 +1,123 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +(declare-fun nmax (Nat Nat) Nat) +(assert (forall ((n Nat) (m Nat)) (= (nmax n m) (ite (less n m) m n)))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun mem (Nat Lst) Bool) +(assert (forall ((x Nat)) (not (mem x nil)))) +(assert (forall ((x Nat) (y Nat) (z Lst)) (= (mem x (cons y z)) (or (= x y) (mem x z))))) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Nat) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tinsert leaf i) (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Nat) (i Nat)) (= (tinsert (node d l r) i) (ite (less d i) (node d l (tinsert r i)) (node d (tinsert l i) r))))) + +(declare-fun height (Tree) Nat) +(assert (= (height leaf) zero)) +(assert (forall ((x Nat) (y Tree) (z Tree)) (= (height (node x y z)) (succ (nmax (height y) (height z)))))) + +(declare-fun tinsert-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tinsert-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tinsert-all x (cons n l)) (tinsert (tinsert-all x l) n)))) + +(declare-fun tsize (Tree) Nat) +(assert (= (tsize leaf) zero)) +(assert (forall ((x Nat) (l Tree) (r Tree)) (= (tsize (node x l r)) (succ (plus (tsize l) (tsize r)))))) + +(declare-fun tremove (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tremove leaf i) leaf))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less i d) (= (tremove (node d l r) i) (node d (tremove l i) r))))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less d i) (= (tremove (node d l r) i) (node d l (tremove r i)))))) +(assert (forall ((d Nat) (r Tree)) (= (tremove (node d leaf r) d) r))) +(assert (forall ((d Nat) (ld Nat) (ll Tree) (lr Tree) (r Tree)) (= (tremove (node d (node ld ll lr) r) d) (node ld (tremove (node ld ll lr) ld) r)))) + +(declare-fun tremove-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tremove-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tremove-all x (cons n l)) (tremove-all (tremove x n) l)))) + +(declare-fun tcontains (Tree Nat) Bool) +(assert (forall ((i Nat)) (not (tcontains leaf i)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tcontains (node d l r) i) (or (= d i) (tcontains l i) (tcontains r i))))) + +(declare-fun tsorted (Tree) Bool) +(assert (tsorted leaf)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (tsorted (node d l r)) (and (tsorted l) (tsorted r) + (forall ((x Nat)) (=> (tcontains l x) (leq x d))) + (forall ((x Nat)) (=> (tcontains r x) (less d x))))))) + +(declare-fun tmember (Tree Nat) Bool) +(assert (forall ((x Nat)) (not (tmember leaf x)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tmember (node d l r) i) (ite (= i d) true (tmember (ite (less d i) r l) i))))) + +(declare-fun content (Tree) Lst) +(assert (= (content leaf) nil)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (content (node d l r)) (append (content l) (cons d (content r)))))) + +; proven +(assert +(forall ((t Tree) (n Nat)) (= (tsize (tinsert t n)) (succ (tsize t)))) ; G-bsearch-tree-1 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize t) (tsize (tinsert-all t l)))) ; G-bsearch-tree-2 +) +(assert +(forall ((l Lst) (t Tree)) (= (tsize (tinsert-all t l)) (plus (tsize t) (len l)))) ; G-bsearch-tree-3 +) +(assert +(forall ((t Tree) (n Nat)) (leq (tsize (tremove t n)) (tsize t))) ; G-bsearch-tree-4 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize (tremove-all t l)) (tsize t))) ; G-bsearch-tree-5 +) +(assert +(forall ((x Tree) (i Nat)) (tcontains (tinsert x i) i)) ; G-bsearch-tree-6 +) +(assert +(forall ((i Nat) (x Tree) (j Nat)) (= (or (= i j) (tcontains x j)) (tcontains (tinsert x i) j))) ; G-bsearch-tree-7 +) +(assert +(forall ((x Tree) (i Nat)) (=> (tsorted x) (tsorted (tinsert x i)))) ; G-bsearch-tree-8 +) +(assert +(forall ((x Tree) (i Nat)) (tmember (tinsert x i) i)) ; G-bsearch-tree-9 +) +(assert +(forall ((i Nat) (x Tree) (j Nat)) (= (or (= i j) (tmember x j)) (tmember (tinsert x i) j))) ; G-bsearch-tree-10 +) +(assert +(forall ((i Nat) (x Tree)) (=> (tsorted x) (= (tcontains x i) (tmember x i)))) ; G-bsearch-tree-11 +) +(assert +(forall ((i Nat) (x Tree)) (=> (tmember x i) (tcontains x i))) ; G-bsearch-tree-12 +) + +; conjecture +(assert (not +(forall ((l Lst) (x Tree) (n Nat)) (= (tinsert-all (tinsert x n) l) (tinsert-all x (append l (cons n nil))))) ; G-bsearch-tree-13 +)) +(check-sat) diff --git a/bench_adt/LEON/bsearch-tree-goal14.smt2 b/bench_adt/LEON/bsearch-tree-goal14.smt2 new file mode 100644 index 000000000..74da74385 --- /dev/null +++ b/bench_adt/LEON/bsearch-tree-goal14.smt2 @@ -0,0 +1,126 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +(declare-fun nmax (Nat Nat) Nat) +(assert (forall ((n Nat) (m Nat)) (= (nmax n m) (ite (less n m) m n)))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun mem (Nat Lst) Bool) +(assert (forall ((x Nat)) (not (mem x nil)))) +(assert (forall ((x Nat) (y Nat) (z Lst)) (= (mem x (cons y z)) (or (= x y) (mem x z))))) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Nat) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tinsert leaf i) (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Nat) (i Nat)) (= (tinsert (node d l r) i) (ite (less d i) (node d l (tinsert r i)) (node d (tinsert l i) r))))) + +(declare-fun height (Tree) Nat) +(assert (= (height leaf) zero)) +(assert (forall ((x Nat) (y Tree) (z Tree)) (= (height (node x y z)) (succ (nmax (height y) (height z)))))) + +(declare-fun tinsert-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tinsert-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tinsert-all x (cons n l)) (tinsert (tinsert-all x l) n)))) + +(declare-fun tsize (Tree) Nat) +(assert (= (tsize leaf) zero)) +(assert (forall ((x Nat) (l Tree) (r Tree)) (= (tsize (node x l r)) (succ (plus (tsize l) (tsize r)))))) + +(declare-fun tremove (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tremove leaf i) leaf))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less i d) (= (tremove (node d l r) i) (node d (tremove l i) r))))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less d i) (= (tremove (node d l r) i) (node d l (tremove r i)))))) +(assert (forall ((d Nat) (r Tree)) (= (tremove (node d leaf r) d) r))) +(assert (forall ((d Nat) (ld Nat) (ll Tree) (lr Tree) (r Tree)) (= (tremove (node d (node ld ll lr) r) d) (node ld (tremove (node ld ll lr) ld) r)))) + +(declare-fun tremove-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tremove-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tremove-all x (cons n l)) (tremove-all (tremove x n) l)))) + +(declare-fun tcontains (Tree Nat) Bool) +(assert (forall ((i Nat)) (not (tcontains leaf i)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tcontains (node d l r) i) (or (= d i) (tcontains l i) (tcontains r i))))) + +(declare-fun tsorted (Tree) Bool) +(assert (tsorted leaf)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (tsorted (node d l r)) (and (tsorted l) (tsorted r) + (forall ((x Nat)) (=> (tcontains l x) (leq x d))) + (forall ((x Nat)) (=> (tcontains r x) (less d x))))))) + +(declare-fun tmember (Tree Nat) Bool) +(assert (forall ((x Nat)) (not (tmember leaf x)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tmember (node d l r) i) (ite (= i d) true (tmember (ite (less d i) r l) i))))) + +(declare-fun content (Tree) Lst) +(assert (= (content leaf) nil)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (content (node d l r)) (append (content l) (cons d (content r)))))) + +; proven +(assert +(forall ((t Tree) (n Nat)) (= (tsize (tinsert t n)) (succ (tsize t)))) ; G-bsearch-tree-1 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize t) (tsize (tinsert-all t l)))) ; G-bsearch-tree-2 +) +(assert +(forall ((l Lst) (t Tree)) (= (tsize (tinsert-all t l)) (plus (tsize t) (len l)))) ; G-bsearch-tree-3 +) +(assert +(forall ((t Tree) (n Nat)) (leq (tsize (tremove t n)) (tsize t))) ; G-bsearch-tree-4 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize (tremove-all t l)) (tsize t))) ; G-bsearch-tree-5 +) +(assert +(forall ((x Tree) (i Nat)) (tcontains (tinsert x i) i)) ; G-bsearch-tree-6 +) +(assert +(forall ((i Nat) (x Tree) (j Nat)) (= (or (= i j) (tcontains x j)) (tcontains (tinsert x i) j))) ; G-bsearch-tree-7 +) +(assert +(forall ((x Tree) (i Nat)) (=> (tsorted x) (tsorted (tinsert x i)))) ; G-bsearch-tree-8 +) +(assert +(forall ((x Tree) (i Nat)) (tmember (tinsert x i) i)) ; G-bsearch-tree-9 +) +(assert +(forall ((i Nat) (x Tree) (j Nat)) (= (or (= i j) (tmember x j)) (tmember (tinsert x i) j))) ; G-bsearch-tree-10 +) +(assert +(forall ((i Nat) (x Tree)) (=> (tsorted x) (= (tcontains x i) (tmember x i)))) ; G-bsearch-tree-11 +) +(assert +(forall ((i Nat) (x Tree)) (=> (tmember x i) (tcontains x i))) ; G-bsearch-tree-12 +) +(assert +(forall ((l Lst) (x Tree) (n Nat)) (= (tinsert-all (tinsert x n) l) (tinsert-all x (append l (cons n nil))))) ; G-bsearch-tree-13 +) + +; conjecture +(assert (not +(forall ((x Lst)) (tsorted (tinsert-all leaf x))) ; G-bsearch-tree-14 +)) +(check-sat) diff --git a/bench_adt/LEON/bsearch-tree-goal15.smt2 b/bench_adt/LEON/bsearch-tree-goal15.smt2 new file mode 100644 index 000000000..b2cc6c135 --- /dev/null +++ b/bench_adt/LEON/bsearch-tree-goal15.smt2 @@ -0,0 +1,129 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +(declare-fun nmax (Nat Nat) Nat) +(assert (forall ((n Nat) (m Nat)) (= (nmax n m) (ite (less n m) m n)))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun mem (Nat Lst) Bool) +(assert (forall ((x Nat)) (not (mem x nil)))) +(assert (forall ((x Nat) (y Nat) (z Lst)) (= (mem x (cons y z)) (or (= x y) (mem x z))))) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Nat) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tinsert leaf i) (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Nat) (i Nat)) (= (tinsert (node d l r) i) (ite (less d i) (node d l (tinsert r i)) (node d (tinsert l i) r))))) + +(declare-fun height (Tree) Nat) +(assert (= (height leaf) zero)) +(assert (forall ((x Nat) (y Tree) (z Tree)) (= (height (node x y z)) (succ (nmax (height y) (height z)))))) + +(declare-fun tinsert-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tinsert-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tinsert-all x (cons n l)) (tinsert (tinsert-all x l) n)))) + +(declare-fun tsize (Tree) Nat) +(assert (= (tsize leaf) zero)) +(assert (forall ((x Nat) (l Tree) (r Tree)) (= (tsize (node x l r)) (succ (plus (tsize l) (tsize r)))))) + +(declare-fun tremove (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tremove leaf i) leaf))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less i d) (= (tremove (node d l r) i) (node d (tremove l i) r))))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less d i) (= (tremove (node d l r) i) (node d l (tremove r i)))))) +(assert (forall ((d Nat) (r Tree)) (= (tremove (node d leaf r) d) r))) +(assert (forall ((d Nat) (ld Nat) (ll Tree) (lr Tree) (r Tree)) (= (tremove (node d (node ld ll lr) r) d) (node ld (tremove (node ld ll lr) ld) r)))) + +(declare-fun tremove-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tremove-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tremove-all x (cons n l)) (tremove-all (tremove x n) l)))) + +(declare-fun tcontains (Tree Nat) Bool) +(assert (forall ((i Nat)) (not (tcontains leaf i)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tcontains (node d l r) i) (or (= d i) (tcontains l i) (tcontains r i))))) + +(declare-fun tsorted (Tree) Bool) +(assert (tsorted leaf)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (tsorted (node d l r)) (and (tsorted l) (tsorted r) + (forall ((x Nat)) (=> (tcontains l x) (leq x d))) + (forall ((x Nat)) (=> (tcontains r x) (less d x))))))) + +(declare-fun tmember (Tree Nat) Bool) +(assert (forall ((x Nat)) (not (tmember leaf x)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tmember (node d l r) i) (ite (= i d) true (tmember (ite (less d i) r l) i))))) + +(declare-fun content (Tree) Lst) +(assert (= (content leaf) nil)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (content (node d l r)) (append (content l) (cons d (content r)))))) + +; proven +(assert +(forall ((t Tree) (n Nat)) (= (tsize (tinsert t n)) (succ (tsize t)))) ; G-bsearch-tree-1 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize t) (tsize (tinsert-all t l)))) ; G-bsearch-tree-2 +) +(assert +(forall ((l Lst) (t Tree)) (= (tsize (tinsert-all t l)) (plus (tsize t) (len l)))) ; G-bsearch-tree-3 +) +(assert +(forall ((t Tree) (n Nat)) (leq (tsize (tremove t n)) (tsize t))) ; G-bsearch-tree-4 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize (tremove-all t l)) (tsize t))) ; G-bsearch-tree-5 +) +(assert +(forall ((x Tree) (i Nat)) (tcontains (tinsert x i) i)) ; G-bsearch-tree-6 +) +(assert +(forall ((i Nat) (x Tree) (j Nat)) (= (or (= i j) (tcontains x j)) (tcontains (tinsert x i) j))) ; G-bsearch-tree-7 +) +(assert +(forall ((x Tree) (i Nat)) (=> (tsorted x) (tsorted (tinsert x i)))) ; G-bsearch-tree-8 +) +(assert +(forall ((x Tree) (i Nat)) (tmember (tinsert x i) i)) ; G-bsearch-tree-9 +) +(assert +(forall ((i Nat) (x Tree) (j Nat)) (= (or (= i j) (tmember x j)) (tmember (tinsert x i) j))) ; G-bsearch-tree-10 +) +(assert +(forall ((i Nat) (x Tree)) (=> (tsorted x) (= (tcontains x i) (tmember x i)))) ; G-bsearch-tree-11 +) +(assert +(forall ((i Nat) (x Tree)) (=> (tmember x i) (tcontains x i))) ; G-bsearch-tree-12 +) +(assert +(forall ((l Lst) (x Tree) (n Nat)) (= (tinsert-all (tinsert x n) l) (tinsert-all x (append l (cons n nil))))) ; G-bsearch-tree-13 +) +(assert +(forall ((x Lst)) (tsorted (tinsert-all leaf x))) ; G-bsearch-tree-14 +) + +; conjecture +(assert (not +(forall ((x Lst) (i Nat)) (= (mem i x) (tcontains (tinsert-all leaf x) i))) ; G-bsearch-tree-15 +)) +(check-sat) diff --git a/bench_adt/LEON/bsearch-tree-goal16.smt2 b/bench_adt/LEON/bsearch-tree-goal16.smt2 new file mode 100644 index 000000000..03dfe2b72 --- /dev/null +++ b/bench_adt/LEON/bsearch-tree-goal16.smt2 @@ -0,0 +1,132 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +(declare-fun nmax (Nat Nat) Nat) +(assert (forall ((n Nat) (m Nat)) (= (nmax n m) (ite (less n m) m n)))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun mem (Nat Lst) Bool) +(assert (forall ((x Nat)) (not (mem x nil)))) +(assert (forall ((x Nat) (y Nat) (z Lst)) (= (mem x (cons y z)) (or (= x y) (mem x z))))) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Nat) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tinsert leaf i) (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Nat) (i Nat)) (= (tinsert (node d l r) i) (ite (less d i) (node d l (tinsert r i)) (node d (tinsert l i) r))))) + +(declare-fun height (Tree) Nat) +(assert (= (height leaf) zero)) +(assert (forall ((x Nat) (y Tree) (z Tree)) (= (height (node x y z)) (succ (nmax (height y) (height z)))))) + +(declare-fun tinsert-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tinsert-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tinsert-all x (cons n l)) (tinsert (tinsert-all x l) n)))) + +(declare-fun tsize (Tree) Nat) +(assert (= (tsize leaf) zero)) +(assert (forall ((x Nat) (l Tree) (r Tree)) (= (tsize (node x l r)) (succ (plus (tsize l) (tsize r)))))) + +(declare-fun tremove (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tremove leaf i) leaf))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less i d) (= (tremove (node d l r) i) (node d (tremove l i) r))))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less d i) (= (tremove (node d l r) i) (node d l (tremove r i)))))) +(assert (forall ((d Nat) (r Tree)) (= (tremove (node d leaf r) d) r))) +(assert (forall ((d Nat) (ld Nat) (ll Tree) (lr Tree) (r Tree)) (= (tremove (node d (node ld ll lr) r) d) (node ld (tremove (node ld ll lr) ld) r)))) + +(declare-fun tremove-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tremove-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tremove-all x (cons n l)) (tremove-all (tremove x n) l)))) + +(declare-fun tcontains (Tree Nat) Bool) +(assert (forall ((i Nat)) (not (tcontains leaf i)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tcontains (node d l r) i) (or (= d i) (tcontains l i) (tcontains r i))))) + +(declare-fun tsorted (Tree) Bool) +(assert (tsorted leaf)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (tsorted (node d l r)) (and (tsorted l) (tsorted r) + (forall ((x Nat)) (=> (tcontains l x) (leq x d))) + (forall ((x Nat)) (=> (tcontains r x) (less d x))))))) + +(declare-fun tmember (Tree Nat) Bool) +(assert (forall ((x Nat)) (not (tmember leaf x)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tmember (node d l r) i) (ite (= i d) true (tmember (ite (less d i) r l) i))))) + +(declare-fun content (Tree) Lst) +(assert (= (content leaf) nil)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (content (node d l r)) (append (content l) (cons d (content r)))))) + +; proven +(assert +(forall ((t Tree) (n Nat)) (= (tsize (tinsert t n)) (succ (tsize t)))) ; G-bsearch-tree-1 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize t) (tsize (tinsert-all t l)))) ; G-bsearch-tree-2 +) +(assert +(forall ((l Lst) (t Tree)) (= (tsize (tinsert-all t l)) (plus (tsize t) (len l)))) ; G-bsearch-tree-3 +) +(assert +(forall ((t Tree) (n Nat)) (leq (tsize (tremove t n)) (tsize t))) ; G-bsearch-tree-4 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize (tremove-all t l)) (tsize t))) ; G-bsearch-tree-5 +) +(assert +(forall ((x Tree) (i Nat)) (tcontains (tinsert x i) i)) ; G-bsearch-tree-6 +) +(assert +(forall ((i Nat) (x Tree) (j Nat)) (= (or (= i j) (tcontains x j)) (tcontains (tinsert x i) j))) ; G-bsearch-tree-7 +) +(assert +(forall ((x Tree) (i Nat)) (=> (tsorted x) (tsorted (tinsert x i)))) ; G-bsearch-tree-8 +) +(assert +(forall ((x Tree) (i Nat)) (tmember (tinsert x i) i)) ; G-bsearch-tree-9 +) +(assert +(forall ((i Nat) (x Tree) (j Nat)) (= (or (= i j) (tmember x j)) (tmember (tinsert x i) j))) ; G-bsearch-tree-10 +) +(assert +(forall ((i Nat) (x Tree)) (=> (tsorted x) (= (tcontains x i) (tmember x i)))) ; G-bsearch-tree-11 +) +(assert +(forall ((i Nat) (x Tree)) (=> (tmember x i) (tcontains x i))) ; G-bsearch-tree-12 +) +(assert +(forall ((l Lst) (x Tree) (n Nat)) (= (tinsert-all (tinsert x n) l) (tinsert-all x (append l (cons n nil))))) ; G-bsearch-tree-13 +) +(assert +(forall ((x Lst)) (tsorted (tinsert-all leaf x))) ; G-bsearch-tree-14 +) +(assert +(forall ((x Lst) (i Nat)) (= (mem i x) (tcontains (tinsert-all leaf x) i))) ; G-bsearch-tree-15 +) + +; conjecture +(assert (not +(forall ((x Lst) (y Lst) (i Nat)) (= (mem i (append x y)) (or (mem i x) (mem i y)))) ; G-bsearch-tree-16 +)) +(check-sat) diff --git a/bench_adt/LEON/bsearch-tree-goal17.smt2 b/bench_adt/LEON/bsearch-tree-goal17.smt2 new file mode 100644 index 000000000..c5875bc19 --- /dev/null +++ b/bench_adt/LEON/bsearch-tree-goal17.smt2 @@ -0,0 +1,135 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +(declare-fun nmax (Nat Nat) Nat) +(assert (forall ((n Nat) (m Nat)) (= (nmax n m) (ite (less n m) m n)))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun mem (Nat Lst) Bool) +(assert (forall ((x Nat)) (not (mem x nil)))) +(assert (forall ((x Nat) (y Nat) (z Lst)) (= (mem x (cons y z)) (or (= x y) (mem x z))))) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Nat) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tinsert leaf i) (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Nat) (i Nat)) (= (tinsert (node d l r) i) (ite (less d i) (node d l (tinsert r i)) (node d (tinsert l i) r))))) + +(declare-fun height (Tree) Nat) +(assert (= (height leaf) zero)) +(assert (forall ((x Nat) (y Tree) (z Tree)) (= (height (node x y z)) (succ (nmax (height y) (height z)))))) + +(declare-fun tinsert-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tinsert-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tinsert-all x (cons n l)) (tinsert (tinsert-all x l) n)))) + +(declare-fun tsize (Tree) Nat) +(assert (= (tsize leaf) zero)) +(assert (forall ((x Nat) (l Tree) (r Tree)) (= (tsize (node x l r)) (succ (plus (tsize l) (tsize r)))))) + +(declare-fun tremove (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tremove leaf i) leaf))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less i d) (= (tremove (node d l r) i) (node d (tremove l i) r))))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less d i) (= (tremove (node d l r) i) (node d l (tremove r i)))))) +(assert (forall ((d Nat) (r Tree)) (= (tremove (node d leaf r) d) r))) +(assert (forall ((d Nat) (ld Nat) (ll Tree) (lr Tree) (r Tree)) (= (tremove (node d (node ld ll lr) r) d) (node ld (tremove (node ld ll lr) ld) r)))) + +(declare-fun tremove-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tremove-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tremove-all x (cons n l)) (tremove-all (tremove x n) l)))) + +(declare-fun tcontains (Tree Nat) Bool) +(assert (forall ((i Nat)) (not (tcontains leaf i)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tcontains (node d l r) i) (or (= d i) (tcontains l i) (tcontains r i))))) + +(declare-fun tsorted (Tree) Bool) +(assert (tsorted leaf)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (tsorted (node d l r)) (and (tsorted l) (tsorted r) + (forall ((x Nat)) (=> (tcontains l x) (leq x d))) + (forall ((x Nat)) (=> (tcontains r x) (less d x))))))) + +(declare-fun tmember (Tree Nat) Bool) +(assert (forall ((x Nat)) (not (tmember leaf x)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tmember (node d l r) i) (ite (= i d) true (tmember (ite (less d i) r l) i))))) + +(declare-fun content (Tree) Lst) +(assert (= (content leaf) nil)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (content (node d l r)) (append (content l) (cons d (content r)))))) + +; proven +(assert +(forall ((t Tree) (n Nat)) (= (tsize (tinsert t n)) (succ (tsize t)))) ; G-bsearch-tree-1 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize t) (tsize (tinsert-all t l)))) ; G-bsearch-tree-2 +) +(assert +(forall ((l Lst) (t Tree)) (= (tsize (tinsert-all t l)) (plus (tsize t) (len l)))) ; G-bsearch-tree-3 +) +(assert +(forall ((t Tree) (n Nat)) (leq (tsize (tremove t n)) (tsize t))) ; G-bsearch-tree-4 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize (tremove-all t l)) (tsize t))) ; G-bsearch-tree-5 +) +(assert +(forall ((x Tree) (i Nat)) (tcontains (tinsert x i) i)) ; G-bsearch-tree-6 +) +(assert +(forall ((i Nat) (x Tree) (j Nat)) (= (or (= i j) (tcontains x j)) (tcontains (tinsert x i) j))) ; G-bsearch-tree-7 +) +(assert +(forall ((x Tree) (i Nat)) (=> (tsorted x) (tsorted (tinsert x i)))) ; G-bsearch-tree-8 +) +(assert +(forall ((x Tree) (i Nat)) (tmember (tinsert x i) i)) ; G-bsearch-tree-9 +) +(assert +(forall ((i Nat) (x Tree) (j Nat)) (= (or (= i j) (tmember x j)) (tmember (tinsert x i) j))) ; G-bsearch-tree-10 +) +(assert +(forall ((i Nat) (x Tree)) (=> (tsorted x) (= (tcontains x i) (tmember x i)))) ; G-bsearch-tree-11 +) +(assert +(forall ((i Nat) (x Tree)) (=> (tmember x i) (tcontains x i))) ; G-bsearch-tree-12 +) +(assert +(forall ((l Lst) (x Tree) (n Nat)) (= (tinsert-all (tinsert x n) l) (tinsert-all x (append l (cons n nil))))) ; G-bsearch-tree-13 +) +(assert +(forall ((x Lst)) (tsorted (tinsert-all leaf x))) ; G-bsearch-tree-14 +) +(assert +(forall ((x Lst) (i Nat)) (= (mem i x) (tcontains (tinsert-all leaf x) i))) ; G-bsearch-tree-15 +) +(assert +(forall ((x Lst) (y Lst) (i Nat)) (= (mem i (append x y)) (or (mem i x) (mem i y)))) ; G-bsearch-tree-16 +) + +; conjecture +(assert (not +(forall ((x Tree) (i Nat)) (=> (tsorted x) (= (tmember x i) (mem i (content x))))) ; G-bsearch-tree-17 +)) +(check-sat) diff --git a/bench_adt/LEON/bsearch-tree-goal18.smt2 b/bench_adt/LEON/bsearch-tree-goal18.smt2 new file mode 100644 index 000000000..b3dd1cb11 --- /dev/null +++ b/bench_adt/LEON/bsearch-tree-goal18.smt2 @@ -0,0 +1,138 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +(declare-fun nmax (Nat Nat) Nat) +(assert (forall ((n Nat) (m Nat)) (= (nmax n m) (ite (less n m) m n)))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun mem (Nat Lst) Bool) +(assert (forall ((x Nat)) (not (mem x nil)))) +(assert (forall ((x Nat) (y Nat) (z Lst)) (= (mem x (cons y z)) (or (= x y) (mem x z))))) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Nat) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tinsert leaf i) (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Nat) (i Nat)) (= (tinsert (node d l r) i) (ite (less d i) (node d l (tinsert r i)) (node d (tinsert l i) r))))) + +(declare-fun height (Tree) Nat) +(assert (= (height leaf) zero)) +(assert (forall ((x Nat) (y Tree) (z Tree)) (= (height (node x y z)) (succ (nmax (height y) (height z)))))) + +(declare-fun tinsert-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tinsert-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tinsert-all x (cons n l)) (tinsert (tinsert-all x l) n)))) + +(declare-fun tsize (Tree) Nat) +(assert (= (tsize leaf) zero)) +(assert (forall ((x Nat) (l Tree) (r Tree)) (= (tsize (node x l r)) (succ (plus (tsize l) (tsize r)))))) + +(declare-fun tremove (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tremove leaf i) leaf))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less i d) (= (tremove (node d l r) i) (node d (tremove l i) r))))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less d i) (= (tremove (node d l r) i) (node d l (tremove r i)))))) +(assert (forall ((d Nat) (r Tree)) (= (tremove (node d leaf r) d) r))) +(assert (forall ((d Nat) (ld Nat) (ll Tree) (lr Tree) (r Tree)) (= (tremove (node d (node ld ll lr) r) d) (node ld (tremove (node ld ll lr) ld) r)))) + +(declare-fun tremove-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tremove-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tremove-all x (cons n l)) (tremove-all (tremove x n) l)))) + +(declare-fun tcontains (Tree Nat) Bool) +(assert (forall ((i Nat)) (not (tcontains leaf i)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tcontains (node d l r) i) (or (= d i) (tcontains l i) (tcontains r i))))) + +(declare-fun tsorted (Tree) Bool) +(assert (tsorted leaf)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (tsorted (node d l r)) (and (tsorted l) (tsorted r) + (forall ((x Nat)) (=> (tcontains l x) (leq x d))) + (forall ((x Nat)) (=> (tcontains r x) (less d x))))))) + +(declare-fun tmember (Tree Nat) Bool) +(assert (forall ((x Nat)) (not (tmember leaf x)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tmember (node d l r) i) (ite (= i d) true (tmember (ite (less d i) r l) i))))) + +(declare-fun content (Tree) Lst) +(assert (= (content leaf) nil)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (content (node d l r)) (append (content l) (cons d (content r)))))) + +; proven +(assert +(forall ((t Tree) (n Nat)) (= (tsize (tinsert t n)) (succ (tsize t)))) ; G-bsearch-tree-1 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize t) (tsize (tinsert-all t l)))) ; G-bsearch-tree-2 +) +(assert +(forall ((l Lst) (t Tree)) (= (tsize (tinsert-all t l)) (plus (tsize t) (len l)))) ; G-bsearch-tree-3 +) +(assert +(forall ((t Tree) (n Nat)) (leq (tsize (tremove t n)) (tsize t))) ; G-bsearch-tree-4 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize (tremove-all t l)) (tsize t))) ; G-bsearch-tree-5 +) +(assert +(forall ((x Tree) (i Nat)) (tcontains (tinsert x i) i)) ; G-bsearch-tree-6 +) +(assert +(forall ((i Nat) (x Tree) (j Nat)) (= (or (= i j) (tcontains x j)) (tcontains (tinsert x i) j))) ; G-bsearch-tree-7 +) +(assert +(forall ((x Tree) (i Nat)) (=> (tsorted x) (tsorted (tinsert x i)))) ; G-bsearch-tree-8 +) +(assert +(forall ((x Tree) (i Nat)) (tmember (tinsert x i) i)) ; G-bsearch-tree-9 +) +(assert +(forall ((i Nat) (x Tree) (j Nat)) (= (or (= i j) (tmember x j)) (tmember (tinsert x i) j))) ; G-bsearch-tree-10 +) +(assert +(forall ((i Nat) (x Tree)) (=> (tsorted x) (= (tcontains x i) (tmember x i)))) ; G-bsearch-tree-11 +) +(assert +(forall ((i Nat) (x Tree)) (=> (tmember x i) (tcontains x i))) ; G-bsearch-tree-12 +) +(assert +(forall ((l Lst) (x Tree) (n Nat)) (= (tinsert-all (tinsert x n) l) (tinsert-all x (append l (cons n nil))))) ; G-bsearch-tree-13 +) +(assert +(forall ((x Lst)) (tsorted (tinsert-all leaf x))) ; G-bsearch-tree-14 +) +(assert +(forall ((x Lst) (i Nat)) (= (mem i x) (tcontains (tinsert-all leaf x) i))) ; G-bsearch-tree-15 +) +(assert +(forall ((x Lst) (y Lst) (i Nat)) (= (mem i (append x y)) (or (mem i x) (mem i y)))) ; G-bsearch-tree-16 +) +(assert +(forall ((x Tree) (i Nat)) (=> (tsorted x) (= (tmember x i) (mem i (content x))))) ; G-bsearch-tree-17 +) + +; conjecture +(assert (not +(forall ((x Tree) (i Nat)) (= (tcontains x i) (mem i (content x)))) ; G-bsearch-tree-18 +)) +(check-sat) diff --git a/bench_adt/LEON/bsearch-tree-goal2.smt2 b/bench_adt/LEON/bsearch-tree-goal2.smt2 new file mode 100644 index 000000000..698325dc2 --- /dev/null +++ b/bench_adt/LEON/bsearch-tree-goal2.smt2 @@ -0,0 +1,90 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +(declare-fun nmax (Nat Nat) Nat) +(assert (forall ((n Nat) (m Nat)) (= (nmax n m) (ite (less n m) m n)))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun mem (Nat Lst) Bool) +(assert (forall ((x Nat)) (not (mem x nil)))) +(assert (forall ((x Nat) (y Nat) (z Lst)) (= (mem x (cons y z)) (or (= x y) (mem x z))))) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Nat) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tinsert leaf i) (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Nat) (i Nat)) (= (tinsert (node d l r) i) (ite (less d i) (node d l (tinsert r i)) (node d (tinsert l i) r))))) + +(declare-fun height (Tree) Nat) +(assert (= (height leaf) zero)) +(assert (forall ((x Nat) (y Tree) (z Tree)) (= (height (node x y z)) (succ (nmax (height y) (height z)))))) + +(declare-fun tinsert-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tinsert-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tinsert-all x (cons n l)) (tinsert (tinsert-all x l) n)))) + +(declare-fun tsize (Tree) Nat) +(assert (= (tsize leaf) zero)) +(assert (forall ((x Nat) (l Tree) (r Tree)) (= (tsize (node x l r)) (succ (plus (tsize l) (tsize r)))))) + +(declare-fun tremove (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tremove leaf i) leaf))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less i d) (= (tremove (node d l r) i) (node d (tremove l i) r))))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less d i) (= (tremove (node d l r) i) (node d l (tremove r i)))))) +(assert (forall ((d Nat) (r Tree)) (= (tremove (node d leaf r) d) r))) +(assert (forall ((d Nat) (ld Nat) (ll Tree) (lr Tree) (r Tree)) (= (tremove (node d (node ld ll lr) r) d) (node ld (tremove (node ld ll lr) ld) r)))) + +(declare-fun tremove-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tremove-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tremove-all x (cons n l)) (tremove-all (tremove x n) l)))) + +(declare-fun tcontains (Tree Nat) Bool) +(assert (forall ((i Nat)) (not (tcontains leaf i)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tcontains (node d l r) i) (or (= d i) (tcontains l i) (tcontains r i))))) + +(declare-fun tsorted (Tree) Bool) +(assert (tsorted leaf)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (tsorted (node d l r)) (and (tsorted l) (tsorted r) + (forall ((x Nat)) (=> (tcontains l x) (leq x d))) + (forall ((x Nat)) (=> (tcontains r x) (less d x))))))) + +(declare-fun tmember (Tree Nat) Bool) +(assert (forall ((x Nat)) (not (tmember leaf x)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tmember (node d l r) i) (ite (= i d) true (tmember (ite (less d i) r l) i))))) + +(declare-fun content (Tree) Lst) +(assert (= (content leaf) nil)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (content (node d l r)) (append (content l) (cons d (content r)))))) + +; proven +(assert +(forall ((t Tree) (n Nat)) (= (tsize (tinsert t n)) (succ (tsize t)))) ; G-bsearch-tree-1 +) + +; conjecture +(assert (not +(forall ((l Lst) (t Tree)) (leq (tsize t) (tsize (tinsert-all t l)))) ; G-bsearch-tree-2 +)) +(check-sat) diff --git a/bench_adt/LEON/bsearch-tree-goal3.smt2 b/bench_adt/LEON/bsearch-tree-goal3.smt2 new file mode 100644 index 000000000..9f8d049aa --- /dev/null +++ b/bench_adt/LEON/bsearch-tree-goal3.smt2 @@ -0,0 +1,93 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +(declare-fun nmax (Nat Nat) Nat) +(assert (forall ((n Nat) (m Nat)) (= (nmax n m) (ite (less n m) m n)))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun mem (Nat Lst) Bool) +(assert (forall ((x Nat)) (not (mem x nil)))) +(assert (forall ((x Nat) (y Nat) (z Lst)) (= (mem x (cons y z)) (or (= x y) (mem x z))))) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Nat) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tinsert leaf i) (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Nat) (i Nat)) (= (tinsert (node d l r) i) (ite (less d i) (node d l (tinsert r i)) (node d (tinsert l i) r))))) + +(declare-fun height (Tree) Nat) +(assert (= (height leaf) zero)) +(assert (forall ((x Nat) (y Tree) (z Tree)) (= (height (node x y z)) (succ (nmax (height y) (height z)))))) + +(declare-fun tinsert-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tinsert-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tinsert-all x (cons n l)) (tinsert (tinsert-all x l) n)))) + +(declare-fun tsize (Tree) Nat) +(assert (= (tsize leaf) zero)) +(assert (forall ((x Nat) (l Tree) (r Tree)) (= (tsize (node x l r)) (succ (plus (tsize l) (tsize r)))))) + +(declare-fun tremove (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tremove leaf i) leaf))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less i d) (= (tremove (node d l r) i) (node d (tremove l i) r))))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less d i) (= (tremove (node d l r) i) (node d l (tremove r i)))))) +(assert (forall ((d Nat) (r Tree)) (= (tremove (node d leaf r) d) r))) +(assert (forall ((d Nat) (ld Nat) (ll Tree) (lr Tree) (r Tree)) (= (tremove (node d (node ld ll lr) r) d) (node ld (tremove (node ld ll lr) ld) r)))) + +(declare-fun tremove-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tremove-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tremove-all x (cons n l)) (tremove-all (tremove x n) l)))) + +(declare-fun tcontains (Tree Nat) Bool) +(assert (forall ((i Nat)) (not (tcontains leaf i)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tcontains (node d l r) i) (or (= d i) (tcontains l i) (tcontains r i))))) + +(declare-fun tsorted (Tree) Bool) +(assert (tsorted leaf)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (tsorted (node d l r)) (and (tsorted l) (tsorted r) + (forall ((x Nat)) (=> (tcontains l x) (leq x d))) + (forall ((x Nat)) (=> (tcontains r x) (less d x))))))) + +(declare-fun tmember (Tree Nat) Bool) +(assert (forall ((x Nat)) (not (tmember leaf x)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tmember (node d l r) i) (ite (= i d) true (tmember (ite (less d i) r l) i))))) + +(declare-fun content (Tree) Lst) +(assert (= (content leaf) nil)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (content (node d l r)) (append (content l) (cons d (content r)))))) + +; proven +(assert +(forall ((t Tree) (n Nat)) (= (tsize (tinsert t n)) (succ (tsize t)))) ; G-bsearch-tree-1 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize t) (tsize (tinsert-all t l)))) ; G-bsearch-tree-2 +) + +; conjecture +(assert (not +(forall ((l Lst) (t Tree)) (= (tsize (tinsert-all t l)) (plus (tsize t) (len l)))) ; G-bsearch-tree-3 +)) +(check-sat) diff --git a/bench_adt/LEON/bsearch-tree-goal4.smt2 b/bench_adt/LEON/bsearch-tree-goal4.smt2 new file mode 100644 index 000000000..d1de57559 --- /dev/null +++ b/bench_adt/LEON/bsearch-tree-goal4.smt2 @@ -0,0 +1,96 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +(declare-fun nmax (Nat Nat) Nat) +(assert (forall ((n Nat) (m Nat)) (= (nmax n m) (ite (less n m) m n)))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun mem (Nat Lst) Bool) +(assert (forall ((x Nat)) (not (mem x nil)))) +(assert (forall ((x Nat) (y Nat) (z Lst)) (= (mem x (cons y z)) (or (= x y) (mem x z))))) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Nat) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tinsert leaf i) (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Nat) (i Nat)) (= (tinsert (node d l r) i) (ite (less d i) (node d l (tinsert r i)) (node d (tinsert l i) r))))) + +(declare-fun height (Tree) Nat) +(assert (= (height leaf) zero)) +(assert (forall ((x Nat) (y Tree) (z Tree)) (= (height (node x y z)) (succ (nmax (height y) (height z)))))) + +(declare-fun tinsert-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tinsert-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tinsert-all x (cons n l)) (tinsert (tinsert-all x l) n)))) + +(declare-fun tsize (Tree) Nat) +(assert (= (tsize leaf) zero)) +(assert (forall ((x Nat) (l Tree) (r Tree)) (= (tsize (node x l r)) (succ (plus (tsize l) (tsize r)))))) + +(declare-fun tremove (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tremove leaf i) leaf))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less i d) (= (tremove (node d l r) i) (node d (tremove l i) r))))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less d i) (= (tremove (node d l r) i) (node d l (tremove r i)))))) +(assert (forall ((d Nat) (r Tree)) (= (tremove (node d leaf r) d) r))) +(assert (forall ((d Nat) (ld Nat) (ll Tree) (lr Tree) (r Tree)) (= (tremove (node d (node ld ll lr) r) d) (node ld (tremove (node ld ll lr) ld) r)))) + +(declare-fun tremove-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tremove-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tremove-all x (cons n l)) (tremove-all (tremove x n) l)))) + +(declare-fun tcontains (Tree Nat) Bool) +(assert (forall ((i Nat)) (not (tcontains leaf i)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tcontains (node d l r) i) (or (= d i) (tcontains l i) (tcontains r i))))) + +(declare-fun tsorted (Tree) Bool) +(assert (tsorted leaf)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (tsorted (node d l r)) (and (tsorted l) (tsorted r) + (forall ((x Nat)) (=> (tcontains l x) (leq x d))) + (forall ((x Nat)) (=> (tcontains r x) (less d x))))))) + +(declare-fun tmember (Tree Nat) Bool) +(assert (forall ((x Nat)) (not (tmember leaf x)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tmember (node d l r) i) (ite (= i d) true (tmember (ite (less d i) r l) i))))) + +(declare-fun content (Tree) Lst) +(assert (= (content leaf) nil)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (content (node d l r)) (append (content l) (cons d (content r)))))) + +; proven +(assert +(forall ((t Tree) (n Nat)) (= (tsize (tinsert t n)) (succ (tsize t)))) ; G-bsearch-tree-1 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize t) (tsize (tinsert-all t l)))) ; G-bsearch-tree-2 +) +(assert +(forall ((l Lst) (t Tree)) (= (tsize (tinsert-all t l)) (plus (tsize t) (len l)))) ; G-bsearch-tree-3 +) + +; conjecture +(assert (not +(forall ((t Tree) (n Nat)) (leq (tsize (tremove t n)) (tsize t))) ; G-bsearch-tree-4 +)) +(check-sat) diff --git a/bench_adt/LEON/bsearch-tree-goal5.smt2 b/bench_adt/LEON/bsearch-tree-goal5.smt2 new file mode 100644 index 000000000..56d99b979 --- /dev/null +++ b/bench_adt/LEON/bsearch-tree-goal5.smt2 @@ -0,0 +1,99 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +(declare-fun nmax (Nat Nat) Nat) +(assert (forall ((n Nat) (m Nat)) (= (nmax n m) (ite (less n m) m n)))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun mem (Nat Lst) Bool) +(assert (forall ((x Nat)) (not (mem x nil)))) +(assert (forall ((x Nat) (y Nat) (z Lst)) (= (mem x (cons y z)) (or (= x y) (mem x z))))) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Nat) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tinsert leaf i) (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Nat) (i Nat)) (= (tinsert (node d l r) i) (ite (less d i) (node d l (tinsert r i)) (node d (tinsert l i) r))))) + +(declare-fun height (Tree) Nat) +(assert (= (height leaf) zero)) +(assert (forall ((x Nat) (y Tree) (z Tree)) (= (height (node x y z)) (succ (nmax (height y) (height z)))))) + +(declare-fun tinsert-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tinsert-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tinsert-all x (cons n l)) (tinsert (tinsert-all x l) n)))) + +(declare-fun tsize (Tree) Nat) +(assert (= (tsize leaf) zero)) +(assert (forall ((x Nat) (l Tree) (r Tree)) (= (tsize (node x l r)) (succ (plus (tsize l) (tsize r)))))) + +(declare-fun tremove (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tremove leaf i) leaf))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less i d) (= (tremove (node d l r) i) (node d (tremove l i) r))))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less d i) (= (tremove (node d l r) i) (node d l (tremove r i)))))) +(assert (forall ((d Nat) (r Tree)) (= (tremove (node d leaf r) d) r))) +(assert (forall ((d Nat) (ld Nat) (ll Tree) (lr Tree) (r Tree)) (= (tremove (node d (node ld ll lr) r) d) (node ld (tremove (node ld ll lr) ld) r)))) + +(declare-fun tremove-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tremove-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tremove-all x (cons n l)) (tremove-all (tremove x n) l)))) + +(declare-fun tcontains (Tree Nat) Bool) +(assert (forall ((i Nat)) (not (tcontains leaf i)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tcontains (node d l r) i) (or (= d i) (tcontains l i) (tcontains r i))))) + +(declare-fun tsorted (Tree) Bool) +(assert (tsorted leaf)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (tsorted (node d l r)) (and (tsorted l) (tsorted r) + (forall ((x Nat)) (=> (tcontains l x) (leq x d))) + (forall ((x Nat)) (=> (tcontains r x) (less d x))))))) + +(declare-fun tmember (Tree Nat) Bool) +(assert (forall ((x Nat)) (not (tmember leaf x)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tmember (node d l r) i) (ite (= i d) true (tmember (ite (less d i) r l) i))))) + +(declare-fun content (Tree) Lst) +(assert (= (content leaf) nil)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (content (node d l r)) (append (content l) (cons d (content r)))))) + +; proven +(assert +(forall ((t Tree) (n Nat)) (= (tsize (tinsert t n)) (succ (tsize t)))) ; G-bsearch-tree-1 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize t) (tsize (tinsert-all t l)))) ; G-bsearch-tree-2 +) +(assert +(forall ((l Lst) (t Tree)) (= (tsize (tinsert-all t l)) (plus (tsize t) (len l)))) ; G-bsearch-tree-3 +) +(assert +(forall ((t Tree) (n Nat)) (leq (tsize (tremove t n)) (tsize t))) ; G-bsearch-tree-4 +) + +; conjecture +(assert (not +(forall ((l Lst) (t Tree)) (leq (tsize (tremove-all t l)) (tsize t))) ; G-bsearch-tree-5 +)) +(check-sat) diff --git a/bench_adt/LEON/bsearch-tree-goal6.smt2 b/bench_adt/LEON/bsearch-tree-goal6.smt2 new file mode 100644 index 000000000..c20d1a95d --- /dev/null +++ b/bench_adt/LEON/bsearch-tree-goal6.smt2 @@ -0,0 +1,102 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +(declare-fun nmax (Nat Nat) Nat) +(assert (forall ((n Nat) (m Nat)) (= (nmax n m) (ite (less n m) m n)))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun mem (Nat Lst) Bool) +(assert (forall ((x Nat)) (not (mem x nil)))) +(assert (forall ((x Nat) (y Nat) (z Lst)) (= (mem x (cons y z)) (or (= x y) (mem x z))))) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Nat) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tinsert leaf i) (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Nat) (i Nat)) (= (tinsert (node d l r) i) (ite (less d i) (node d l (tinsert r i)) (node d (tinsert l i) r))))) + +(declare-fun height (Tree) Nat) +(assert (= (height leaf) zero)) +(assert (forall ((x Nat) (y Tree) (z Tree)) (= (height (node x y z)) (succ (nmax (height y) (height z)))))) + +(declare-fun tinsert-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tinsert-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tinsert-all x (cons n l)) (tinsert (tinsert-all x l) n)))) + +(declare-fun tsize (Tree) Nat) +(assert (= (tsize leaf) zero)) +(assert (forall ((x Nat) (l Tree) (r Tree)) (= (tsize (node x l r)) (succ (plus (tsize l) (tsize r)))))) + +(declare-fun tremove (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tremove leaf i) leaf))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less i d) (= (tremove (node d l r) i) (node d (tremove l i) r))))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less d i) (= (tremove (node d l r) i) (node d l (tremove r i)))))) +(assert (forall ((d Nat) (r Tree)) (= (tremove (node d leaf r) d) r))) +(assert (forall ((d Nat) (ld Nat) (ll Tree) (lr Tree) (r Tree)) (= (tremove (node d (node ld ll lr) r) d) (node ld (tremove (node ld ll lr) ld) r)))) + +(declare-fun tremove-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tremove-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tremove-all x (cons n l)) (tremove-all (tremove x n) l)))) + +(declare-fun tcontains (Tree Nat) Bool) +(assert (forall ((i Nat)) (not (tcontains leaf i)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tcontains (node d l r) i) (or (= d i) (tcontains l i) (tcontains r i))))) + +(declare-fun tsorted (Tree) Bool) +(assert (tsorted leaf)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (tsorted (node d l r)) (and (tsorted l) (tsorted r) + (forall ((x Nat)) (=> (tcontains l x) (leq x d))) + (forall ((x Nat)) (=> (tcontains r x) (less d x))))))) + +(declare-fun tmember (Tree Nat) Bool) +(assert (forall ((x Nat)) (not (tmember leaf x)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tmember (node d l r) i) (ite (= i d) true (tmember (ite (less d i) r l) i))))) + +(declare-fun content (Tree) Lst) +(assert (= (content leaf) nil)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (content (node d l r)) (append (content l) (cons d (content r)))))) + +; proven +(assert +(forall ((t Tree) (n Nat)) (= (tsize (tinsert t n)) (succ (tsize t)))) ; G-bsearch-tree-1 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize t) (tsize (tinsert-all t l)))) ; G-bsearch-tree-2 +) +(assert +(forall ((l Lst) (t Tree)) (= (tsize (tinsert-all t l)) (plus (tsize t) (len l)))) ; G-bsearch-tree-3 +) +(assert +(forall ((t Tree) (n Nat)) (leq (tsize (tremove t n)) (tsize t))) ; G-bsearch-tree-4 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize (tremove-all t l)) (tsize t))) ; G-bsearch-tree-5 +) + +; conjecture +(assert (not +(forall ((x Tree) (i Nat)) (tcontains (tinsert x i) i)) ; G-bsearch-tree-6 +)) +(check-sat) diff --git a/bench_adt/LEON/bsearch-tree-goal7.smt2 b/bench_adt/LEON/bsearch-tree-goal7.smt2 new file mode 100644 index 000000000..bcd817d29 --- /dev/null +++ b/bench_adt/LEON/bsearch-tree-goal7.smt2 @@ -0,0 +1,105 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +(declare-fun nmax (Nat Nat) Nat) +(assert (forall ((n Nat) (m Nat)) (= (nmax n m) (ite (less n m) m n)))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun mem (Nat Lst) Bool) +(assert (forall ((x Nat)) (not (mem x nil)))) +(assert (forall ((x Nat) (y Nat) (z Lst)) (= (mem x (cons y z)) (or (= x y) (mem x z))))) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Nat) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tinsert leaf i) (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Nat) (i Nat)) (= (tinsert (node d l r) i) (ite (less d i) (node d l (tinsert r i)) (node d (tinsert l i) r))))) + +(declare-fun height (Tree) Nat) +(assert (= (height leaf) zero)) +(assert (forall ((x Nat) (y Tree) (z Tree)) (= (height (node x y z)) (succ (nmax (height y) (height z)))))) + +(declare-fun tinsert-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tinsert-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tinsert-all x (cons n l)) (tinsert (tinsert-all x l) n)))) + +(declare-fun tsize (Tree) Nat) +(assert (= (tsize leaf) zero)) +(assert (forall ((x Nat) (l Tree) (r Tree)) (= (tsize (node x l r)) (succ (plus (tsize l) (tsize r)))))) + +(declare-fun tremove (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tremove leaf i) leaf))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less i d) (= (tremove (node d l r) i) (node d (tremove l i) r))))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less d i) (= (tremove (node d l r) i) (node d l (tremove r i)))))) +(assert (forall ((d Nat) (r Tree)) (= (tremove (node d leaf r) d) r))) +(assert (forall ((d Nat) (ld Nat) (ll Tree) (lr Tree) (r Tree)) (= (tremove (node d (node ld ll lr) r) d) (node ld (tremove (node ld ll lr) ld) r)))) + +(declare-fun tremove-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tremove-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tremove-all x (cons n l)) (tremove-all (tremove x n) l)))) + +(declare-fun tcontains (Tree Nat) Bool) +(assert (forall ((i Nat)) (not (tcontains leaf i)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tcontains (node d l r) i) (or (= d i) (tcontains l i) (tcontains r i))))) + +(declare-fun tsorted (Tree) Bool) +(assert (tsorted leaf)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (tsorted (node d l r)) (and (tsorted l) (tsorted r) + (forall ((x Nat)) (=> (tcontains l x) (leq x d))) + (forall ((x Nat)) (=> (tcontains r x) (less d x))))))) + +(declare-fun tmember (Tree Nat) Bool) +(assert (forall ((x Nat)) (not (tmember leaf x)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tmember (node d l r) i) (ite (= i d) true (tmember (ite (less d i) r l) i))))) + +(declare-fun content (Tree) Lst) +(assert (= (content leaf) nil)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (content (node d l r)) (append (content l) (cons d (content r)))))) + +; proven +(assert +(forall ((t Tree) (n Nat)) (= (tsize (tinsert t n)) (succ (tsize t)))) ; G-bsearch-tree-1 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize t) (tsize (tinsert-all t l)))) ; G-bsearch-tree-2 +) +(assert +(forall ((l Lst) (t Tree)) (= (tsize (tinsert-all t l)) (plus (tsize t) (len l)))) ; G-bsearch-tree-3 +) +(assert +(forall ((t Tree) (n Nat)) (leq (tsize (tremove t n)) (tsize t))) ; G-bsearch-tree-4 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize (tremove-all t l)) (tsize t))) ; G-bsearch-tree-5 +) +(assert +(forall ((x Tree) (i Nat)) (tcontains (tinsert x i) i)) ; G-bsearch-tree-6 +) + +; conjecture +(assert (not +(forall ((i Nat) (x Tree) (j Nat)) (= (or (= i j) (tcontains x j)) (tcontains (tinsert x i) j))) ; G-bsearch-tree-7 +)) +(check-sat) diff --git a/bench_adt/LEON/bsearch-tree-goal8.smt2 b/bench_adt/LEON/bsearch-tree-goal8.smt2 new file mode 100644 index 000000000..a686a22e7 --- /dev/null +++ b/bench_adt/LEON/bsearch-tree-goal8.smt2 @@ -0,0 +1,108 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +(declare-fun nmax (Nat Nat) Nat) +(assert (forall ((n Nat) (m Nat)) (= (nmax n m) (ite (less n m) m n)))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun mem (Nat Lst) Bool) +(assert (forall ((x Nat)) (not (mem x nil)))) +(assert (forall ((x Nat) (y Nat) (z Lst)) (= (mem x (cons y z)) (or (= x y) (mem x z))))) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Nat) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tinsert leaf i) (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Nat) (i Nat)) (= (tinsert (node d l r) i) (ite (less d i) (node d l (tinsert r i)) (node d (tinsert l i) r))))) + +(declare-fun height (Tree) Nat) +(assert (= (height leaf) zero)) +(assert (forall ((x Nat) (y Tree) (z Tree)) (= (height (node x y z)) (succ (nmax (height y) (height z)))))) + +(declare-fun tinsert-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tinsert-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tinsert-all x (cons n l)) (tinsert (tinsert-all x l) n)))) + +(declare-fun tsize (Tree) Nat) +(assert (= (tsize leaf) zero)) +(assert (forall ((x Nat) (l Tree) (r Tree)) (= (tsize (node x l r)) (succ (plus (tsize l) (tsize r)))))) + +(declare-fun tremove (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tremove leaf i) leaf))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less i d) (= (tremove (node d l r) i) (node d (tremove l i) r))))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less d i) (= (tremove (node d l r) i) (node d l (tremove r i)))))) +(assert (forall ((d Nat) (r Tree)) (= (tremove (node d leaf r) d) r))) +(assert (forall ((d Nat) (ld Nat) (ll Tree) (lr Tree) (r Tree)) (= (tremove (node d (node ld ll lr) r) d) (node ld (tremove (node ld ll lr) ld) r)))) + +(declare-fun tremove-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tremove-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tremove-all x (cons n l)) (tremove-all (tremove x n) l)))) + +(declare-fun tcontains (Tree Nat) Bool) +(assert (forall ((i Nat)) (not (tcontains leaf i)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tcontains (node d l r) i) (or (= d i) (tcontains l i) (tcontains r i))))) + +(declare-fun tsorted (Tree) Bool) +(assert (tsorted leaf)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (tsorted (node d l r)) (and (tsorted l) (tsorted r) + (forall ((x Nat)) (=> (tcontains l x) (leq x d))) + (forall ((x Nat)) (=> (tcontains r x) (less d x))))))) + +(declare-fun tmember (Tree Nat) Bool) +(assert (forall ((x Nat)) (not (tmember leaf x)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tmember (node d l r) i) (ite (= i d) true (tmember (ite (less d i) r l) i))))) + +(declare-fun content (Tree) Lst) +(assert (= (content leaf) nil)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (content (node d l r)) (append (content l) (cons d (content r)))))) + +; proven +(assert +(forall ((t Tree) (n Nat)) (= (tsize (tinsert t n)) (succ (tsize t)))) ; G-bsearch-tree-1 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize t) (tsize (tinsert-all t l)))) ; G-bsearch-tree-2 +) +(assert +(forall ((l Lst) (t Tree)) (= (tsize (tinsert-all t l)) (plus (tsize t) (len l)))) ; G-bsearch-tree-3 +) +(assert +(forall ((t Tree) (n Nat)) (leq (tsize (tremove t n)) (tsize t))) ; G-bsearch-tree-4 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize (tremove-all t l)) (tsize t))) ; G-bsearch-tree-5 +) +(assert +(forall ((x Tree) (i Nat)) (tcontains (tinsert x i) i)) ; G-bsearch-tree-6 +) +(assert +(forall ((i Nat) (x Tree) (j Nat)) (= (or (= i j) (tcontains x j)) (tcontains (tinsert x i) j))) ; G-bsearch-tree-7 +) + +; conjecture +(assert (not +(forall ((x Tree) (i Nat)) (=> (tsorted x) (tsorted (tinsert x i)))) ; G-bsearch-tree-8 +)) +(check-sat) diff --git a/bench_adt/LEON/bsearch-tree-goal9.smt2 b/bench_adt/LEON/bsearch-tree-goal9.smt2 new file mode 100644 index 000000000..26f81fbf7 --- /dev/null +++ b/bench_adt/LEON/bsearch-tree-goal9.smt2 @@ -0,0 +1,111 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +(declare-fun nmax (Nat Nat) Nat) +(assert (forall ((n Nat) (m Nat)) (= (nmax n m) (ite (less n m) m n)))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Nat) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun mem (Nat Lst) Bool) +(assert (forall ((x Nat)) (not (mem x nil)))) +(assert (forall ((x Nat) (y Nat) (z Lst)) (= (mem x (cons y z)) (or (= x y) (mem x z))))) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Nat) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tinsert leaf i) (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Nat) (i Nat)) (= (tinsert (node d l r) i) (ite (less d i) (node d l (tinsert r i)) (node d (tinsert l i) r))))) + +(declare-fun height (Tree) Nat) +(assert (= (height leaf) zero)) +(assert (forall ((x Nat) (y Tree) (z Tree)) (= (height (node x y z)) (succ (nmax (height y) (height z)))))) + +(declare-fun tinsert-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tinsert-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tinsert-all x (cons n l)) (tinsert (tinsert-all x l) n)))) + +(declare-fun tsize (Tree) Nat) +(assert (= (tsize leaf) zero)) +(assert (forall ((x Nat) (l Tree) (r Tree)) (= (tsize (node x l r)) (succ (plus (tsize l) (tsize r)))))) + +(declare-fun tremove (Tree Nat) Tree) +(assert (forall ((i Nat)) (= (tremove leaf i) leaf))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less i d) (= (tremove (node d l r) i) (node d (tremove l i) r))))) +(assert (forall ((i Nat) (d Nat) (l Tree) (r Tree)) (=> (less d i) (= (tremove (node d l r) i) (node d l (tremove r i)))))) +(assert (forall ((d Nat) (r Tree)) (= (tremove (node d leaf r) d) r))) +(assert (forall ((d Nat) (ld Nat) (ll Tree) (lr Tree) (r Tree)) (= (tremove (node d (node ld ll lr) r) d) (node ld (tremove (node ld ll lr) ld) r)))) + +(declare-fun tremove-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tremove-all x nil) x))) +(assert (forall ((x Tree) (n Nat) (l Lst)) (= (tremove-all x (cons n l)) (tremove-all (tremove x n) l)))) + +(declare-fun tcontains (Tree Nat) Bool) +(assert (forall ((i Nat)) (not (tcontains leaf i)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tcontains (node d l r) i) (or (= d i) (tcontains l i) (tcontains r i))))) + +(declare-fun tsorted (Tree) Bool) +(assert (tsorted leaf)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (tsorted (node d l r)) (and (tsorted l) (tsorted r) + (forall ((x Nat)) (=> (tcontains l x) (leq x d))) + (forall ((x Nat)) (=> (tcontains r x) (less d x))))))) + +(declare-fun tmember (Tree Nat) Bool) +(assert (forall ((x Nat)) (not (tmember leaf x)))) +(assert (forall ((d Nat) (l Tree) (r Tree) (i Nat)) (= (tmember (node d l r) i) (ite (= i d) true (tmember (ite (less d i) r l) i))))) + +(declare-fun content (Tree) Lst) +(assert (= (content leaf) nil)) +(assert (forall ((d Nat) (l Tree) (r Tree)) (= (content (node d l r)) (append (content l) (cons d (content r)))))) + +; proven +(assert +(forall ((t Tree) (n Nat)) (= (tsize (tinsert t n)) (succ (tsize t)))) ; G-bsearch-tree-1 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize t) (tsize (tinsert-all t l)))) ; G-bsearch-tree-2 +) +(assert +(forall ((l Lst) (t Tree)) (= (tsize (tinsert-all t l)) (plus (tsize t) (len l)))) ; G-bsearch-tree-3 +) +(assert +(forall ((t Tree) (n Nat)) (leq (tsize (tremove t n)) (tsize t))) ; G-bsearch-tree-4 +) +(assert +(forall ((l Lst) (t Tree)) (leq (tsize (tremove-all t l)) (tsize t))) ; G-bsearch-tree-5 +) +(assert +(forall ((x Tree) (i Nat)) (tcontains (tinsert x i) i)) ; G-bsearch-tree-6 +) +(assert +(forall ((i Nat) (x Tree) (j Nat)) (= (or (= i j) (tcontains x j)) (tcontains (tinsert x i) j))) ; G-bsearch-tree-7 +) +(assert +(forall ((x Tree) (i Nat)) (=> (tsorted x) (tsorted (tinsert x i)))) ; G-bsearch-tree-8 +) + +; conjecture +(assert (not +(forall ((x Tree) (i Nat)) (tmember (tinsert x i) i)) ; G-bsearch-tree-9 +)) +(check-sat) diff --git a/bench_adt/LEON/heap-goal1.smt2 b/bench_adt/LEON/heap-goal1.smt2 new file mode 100644 index 000000000..3ea42f428 --- /dev/null +++ b/bench_adt/LEON/heap-goal1.smt2 @@ -0,0 +1,91 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun rsorted (Lst) Bool) +(assert (rsorted nil)) +(assert (forall ((x Nat)) (rsorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (rsorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq z x))))) + +(declare-fun sorted (Lst) Bool) +(assert (sorted nil)) +(assert (forall ((x Nat)) (sorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (sorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq x z))))) + +; heaps +(declare-datatypes () ((Heap (hleaf) (heap (rk Nat) (value Nat) (hleft Heap) (hright Heap))))) + +(declare-fun rightHeight (Heap) Nat) +(assert (= (rightHeight hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rightHeight (heap k v l r)) (succ (rightHeight r))))) + +(declare-fun rank (Heap) Nat) +(assert (= (rank hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rank (heap k v l r)) k))) + +(declare-fun hasLeftistProperty (Heap) Bool) +(assert (hasLeftistProperty hleaf)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hasLeftistProperty (heap k v l r)) (and (hasLeftistProperty l) (hasLeftistProperty r) + (leq (rightHeight r) (rightHeight l)) + (= k (succ (rightHeight r))))))) + +(declare-fun hsize (Heap) Nat) +(assert (= (hsize hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hsize (heap k v l r)) (succ (plus (hsize l) (hsize r)))))) + +(declare-fun mergea (Nat Heap Heap) Heap) +(assert (forall ((v Nat) (l Heap) (r Heap)) (= (mergea v l r) (ite (leq (rank r) (rank l)) (heap (succ (rank r)) v l r) (heap (succ (rank l)) v r l))))) + +(declare-fun merge (Heap Heap) Heap) +(assert (forall ((h Heap)) (= (merge h hleaf) h))) +(assert (forall ((h Heap)) (= (merge hleaf h) h))) +(assert (forall ((k1 Nat) (v1 Nat) (l1 Heap) (r1 Heap) (k2 Nat) (v2 Nat) (l2 Heap) (r2 Heap)) (= (merge (heap k1 v1 l1 r1) (heap k2 v2 l2 r2)) + (ite (less v2 v1) + (mergea v1 l1 (merge r1 (heap k2 v2 l2 r2))) + (mergea v2 l2 (merge (heap k1 v1 l1 r1) r2)))))) + +(declare-fun hinsert (Heap Nat) Heap) +(assert (forall ((h Heap) (n Nat)) (= (hinsert h n) (merge (heap (succ zero) n hleaf hleaf) h)))) + +(declare-fun hinsert-all (Lst Heap) Heap) +(assert (forall ((h Heap)) (= (hinsert-all nil h) h))) +(assert (forall ((h Heap) (n Nat) (l Lst)) (= (hinsert-all (cons n l) h) (hinsert (hinsert-all l h) n)))) + +(declare-fun qheapsorta (Heap Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsorta hleaf l) l))) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap) (x Lst)) (= (qheapsorta (heap k v l r) x) (qheapsorta (merge l r) (cons v x))))) + +(declare-fun qheapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsort l) (qheapsorta (hinsert-all l hleaf) nil)))) + +(declare-fun heapsorta (Heap) Lst) +(assert (= (heapsorta hleaf) nil)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (heapsorta (heap k v l r)) (cons v (heapsorta (merge l r)))))) + +(declare-fun heapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (heapsort l) (heapsorta (hinsert-all l hleaf))))) + +; proven + +; conjecture +(assert (not +(forall ((x Heap) (n Nat)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert x n)))) ; G-heap-1 +)) +(check-sat) diff --git a/bench_adt/LEON/heap-goal10.smt2 b/bench_adt/LEON/heap-goal10.smt2 new file mode 100644 index 000000000..53f02072e --- /dev/null +++ b/bench_adt/LEON/heap-goal10.smt2 @@ -0,0 +1,118 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun rsorted (Lst) Bool) +(assert (rsorted nil)) +(assert (forall ((x Nat)) (rsorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (rsorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq z x))))) + +(declare-fun sorted (Lst) Bool) +(assert (sorted nil)) +(assert (forall ((x Nat)) (sorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (sorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq x z))))) + +; heaps +(declare-datatypes () ((Heap (hleaf) (heap (rk Nat) (value Nat) (hleft Heap) (hright Heap))))) + +(declare-fun rightHeight (Heap) Nat) +(assert (= (rightHeight hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rightHeight (heap k v l r)) (succ (rightHeight r))))) + +(declare-fun rank (Heap) Nat) +(assert (= (rank hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rank (heap k v l r)) k))) + +(declare-fun hasLeftistProperty (Heap) Bool) +(assert (hasLeftistProperty hleaf)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hasLeftistProperty (heap k v l r)) (and (hasLeftistProperty l) (hasLeftistProperty r) + (leq (rightHeight r) (rightHeight l)) + (= k (succ (rightHeight r))))))) + +(declare-fun hsize (Heap) Nat) +(assert (= (hsize hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hsize (heap k v l r)) (succ (plus (hsize l) (hsize r)))))) + +(declare-fun mergea (Nat Heap Heap) Heap) +(assert (forall ((v Nat) (l Heap) (r Heap)) (= (mergea v l r) (ite (leq (rank r) (rank l)) (heap (succ (rank r)) v l r) (heap (succ (rank l)) v r l))))) + +(declare-fun merge (Heap Heap) Heap) +(assert (forall ((h Heap)) (= (merge h hleaf) h))) +(assert (forall ((h Heap)) (= (merge hleaf h) h))) +(assert (forall ((k1 Nat) (v1 Nat) (l1 Heap) (r1 Heap) (k2 Nat) (v2 Nat) (l2 Heap) (r2 Heap)) (= (merge (heap k1 v1 l1 r1) (heap k2 v2 l2 r2)) + (ite (less v2 v1) + (mergea v1 l1 (merge r1 (heap k2 v2 l2 r2))) + (mergea v2 l2 (merge (heap k1 v1 l1 r1) r2)))))) + +(declare-fun hinsert (Heap Nat) Heap) +(assert (forall ((h Heap) (n Nat)) (= (hinsert h n) (merge (heap (succ zero) n hleaf hleaf) h)))) + +(declare-fun hinsert-all (Lst Heap) Heap) +(assert (forall ((h Heap)) (= (hinsert-all nil h) h))) +(assert (forall ((h Heap) (n Nat) (l Lst)) (= (hinsert-all (cons n l) h) (hinsert (hinsert-all l h) n)))) + +(declare-fun qheapsorta (Heap Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsorta hleaf l) l))) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap) (x Lst)) (= (qheapsorta (heap k v l r) x) (qheapsorta (merge l r) (cons v x))))) + +(declare-fun qheapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsort l) (qheapsorta (hinsert-all l hleaf) nil)))) + +(declare-fun heapsorta (Heap) Lst) +(assert (= (heapsorta hleaf) nil)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (heapsorta (heap k v l r)) (cons v (heapsorta (merge l r)))))) + +(declare-fun heapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (heapsort l) (heapsorta (hinsert-all l hleaf))))) + +; proven +(assert +(forall ((x Heap) (n Nat)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert x n)))) ; G-heap-1 +) +(assert +(forall ((n Lst) (x Heap)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert-all n x)))) ; G-heap-2 +) +(assert +(forall ((v Nat) (x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (hasLeftistProperty (mergea v x y)))) ; G-heap-3 +) +(assert +(forall ((x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (hasLeftistProperty (merge x y)))) ; G-heap-4 +) +(assert +(forall ((l Lst)) (hasLeftistProperty (hinsert-all l hleaf))) ; G-heap-5 +) +(assert +(forall ((v Nat) (x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (= (hsize (mergea v x y)) (succ (plus (hsize x) (hsize y)))))) ; G-heap-6 +) +(assert +(forall ((x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (= (hsize (merge x y)) (plus (hsize x) (hsize y))))) ; G-heap-7 +) +(assert +(forall ((x Heap) (n Nat)) (=> (hasLeftistProperty x) (= (hsize (hinsert x n)) (succ (hsize x))))) ; G-heap-8 +) +(assert +(forall ((l Lst) (x Heap)) (=> (hasLeftistProperty x) (= (hsize (hinsert-all l x)) (plus (hsize x) (len l))))) ; G-heap-9 +) + +; conjecture +(assert (not +(forall ((x Heap)) (=> (hasLeftistProperty x) (= (len (heapsorta x)) (hsize x)))) ; G-heap-10 +)) +(check-sat) diff --git a/bench_adt/LEON/heap-goal11.smt2 b/bench_adt/LEON/heap-goal11.smt2 new file mode 100644 index 000000000..30a74dadf --- /dev/null +++ b/bench_adt/LEON/heap-goal11.smt2 @@ -0,0 +1,121 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun rsorted (Lst) Bool) +(assert (rsorted nil)) +(assert (forall ((x Nat)) (rsorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (rsorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq z x))))) + +(declare-fun sorted (Lst) Bool) +(assert (sorted nil)) +(assert (forall ((x Nat)) (sorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (sorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq x z))))) + +; heaps +(declare-datatypes () ((Heap (hleaf) (heap (rk Nat) (value Nat) (hleft Heap) (hright Heap))))) + +(declare-fun rightHeight (Heap) Nat) +(assert (= (rightHeight hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rightHeight (heap k v l r)) (succ (rightHeight r))))) + +(declare-fun rank (Heap) Nat) +(assert (= (rank hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rank (heap k v l r)) k))) + +(declare-fun hasLeftistProperty (Heap) Bool) +(assert (hasLeftistProperty hleaf)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hasLeftistProperty (heap k v l r)) (and (hasLeftistProperty l) (hasLeftistProperty r) + (leq (rightHeight r) (rightHeight l)) + (= k (succ (rightHeight r))))))) + +(declare-fun hsize (Heap) Nat) +(assert (= (hsize hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hsize (heap k v l r)) (succ (plus (hsize l) (hsize r)))))) + +(declare-fun mergea (Nat Heap Heap) Heap) +(assert (forall ((v Nat) (l Heap) (r Heap)) (= (mergea v l r) (ite (leq (rank r) (rank l)) (heap (succ (rank r)) v l r) (heap (succ (rank l)) v r l))))) + +(declare-fun merge (Heap Heap) Heap) +(assert (forall ((h Heap)) (= (merge h hleaf) h))) +(assert (forall ((h Heap)) (= (merge hleaf h) h))) +(assert (forall ((k1 Nat) (v1 Nat) (l1 Heap) (r1 Heap) (k2 Nat) (v2 Nat) (l2 Heap) (r2 Heap)) (= (merge (heap k1 v1 l1 r1) (heap k2 v2 l2 r2)) + (ite (less v2 v1) + (mergea v1 l1 (merge r1 (heap k2 v2 l2 r2))) + (mergea v2 l2 (merge (heap k1 v1 l1 r1) r2)))))) + +(declare-fun hinsert (Heap Nat) Heap) +(assert (forall ((h Heap) (n Nat)) (= (hinsert h n) (merge (heap (succ zero) n hleaf hleaf) h)))) + +(declare-fun hinsert-all (Lst Heap) Heap) +(assert (forall ((h Heap)) (= (hinsert-all nil h) h))) +(assert (forall ((h Heap) (n Nat) (l Lst)) (= (hinsert-all (cons n l) h) (hinsert (hinsert-all l h) n)))) + +(declare-fun qheapsorta (Heap Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsorta hleaf l) l))) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap) (x Lst)) (= (qheapsorta (heap k v l r) x) (qheapsorta (merge l r) (cons v x))))) + +(declare-fun qheapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsort l) (qheapsorta (hinsert-all l hleaf) nil)))) + +(declare-fun heapsorta (Heap) Lst) +(assert (= (heapsorta hleaf) nil)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (heapsorta (heap k v l r)) (cons v (heapsorta (merge l r)))))) + +(declare-fun heapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (heapsort l) (heapsorta (hinsert-all l hleaf))))) + +; proven +(assert +(forall ((x Heap) (n Nat)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert x n)))) ; G-heap-1 +) +(assert +(forall ((n Lst) (x Heap)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert-all n x)))) ; G-heap-2 +) +(assert +(forall ((v Nat) (x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (hasLeftistProperty (mergea v x y)))) ; G-heap-3 +) +(assert +(forall ((x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (hasLeftistProperty (merge x y)))) ; G-heap-4 +) +(assert +(forall ((l Lst)) (hasLeftistProperty (hinsert-all l hleaf))) ; G-heap-5 +) +(assert +(forall ((v Nat) (x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (= (hsize (mergea v x y)) (succ (plus (hsize x) (hsize y)))))) ; G-heap-6 +) +(assert +(forall ((x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (= (hsize (merge x y)) (plus (hsize x) (hsize y))))) ; G-heap-7 +) +(assert +(forall ((x Heap) (n Nat)) (=> (hasLeftistProperty x) (= (hsize (hinsert x n)) (succ (hsize x))))) ; G-heap-8 +) +(assert +(forall ((l Lst) (x Heap)) (=> (hasLeftistProperty x) (= (hsize (hinsert-all l x)) (plus (hsize x) (len l))))) ; G-heap-9 +) +(assert +(forall ((x Heap)) (=> (hasLeftistProperty x) (= (len (heapsorta x)) (hsize x)))) ; G-heap-10 +) + +; conjecture +(assert (not +(forall ((l Lst)) (sorted (heapsort l))) ; G-heap-11 +)) +(check-sat) diff --git a/bench_adt/LEON/heap-goal12.smt2 b/bench_adt/LEON/heap-goal12.smt2 new file mode 100644 index 000000000..ed834a8a0 --- /dev/null +++ b/bench_adt/LEON/heap-goal12.smt2 @@ -0,0 +1,124 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun rsorted (Lst) Bool) +(assert (rsorted nil)) +(assert (forall ((x Nat)) (rsorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (rsorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq z x))))) + +(declare-fun sorted (Lst) Bool) +(assert (sorted nil)) +(assert (forall ((x Nat)) (sorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (sorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq x z))))) + +; heaps +(declare-datatypes () ((Heap (hleaf) (heap (rk Nat) (value Nat) (hleft Heap) (hright Heap))))) + +(declare-fun rightHeight (Heap) Nat) +(assert (= (rightHeight hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rightHeight (heap k v l r)) (succ (rightHeight r))))) + +(declare-fun rank (Heap) Nat) +(assert (= (rank hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rank (heap k v l r)) k))) + +(declare-fun hasLeftistProperty (Heap) Bool) +(assert (hasLeftistProperty hleaf)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hasLeftistProperty (heap k v l r)) (and (hasLeftistProperty l) (hasLeftistProperty r) + (leq (rightHeight r) (rightHeight l)) + (= k (succ (rightHeight r))))))) + +(declare-fun hsize (Heap) Nat) +(assert (= (hsize hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hsize (heap k v l r)) (succ (plus (hsize l) (hsize r)))))) + +(declare-fun mergea (Nat Heap Heap) Heap) +(assert (forall ((v Nat) (l Heap) (r Heap)) (= (mergea v l r) (ite (leq (rank r) (rank l)) (heap (succ (rank r)) v l r) (heap (succ (rank l)) v r l))))) + +(declare-fun merge (Heap Heap) Heap) +(assert (forall ((h Heap)) (= (merge h hleaf) h))) +(assert (forall ((h Heap)) (= (merge hleaf h) h))) +(assert (forall ((k1 Nat) (v1 Nat) (l1 Heap) (r1 Heap) (k2 Nat) (v2 Nat) (l2 Heap) (r2 Heap)) (= (merge (heap k1 v1 l1 r1) (heap k2 v2 l2 r2)) + (ite (less v2 v1) + (mergea v1 l1 (merge r1 (heap k2 v2 l2 r2))) + (mergea v2 l2 (merge (heap k1 v1 l1 r1) r2)))))) + +(declare-fun hinsert (Heap Nat) Heap) +(assert (forall ((h Heap) (n Nat)) (= (hinsert h n) (merge (heap (succ zero) n hleaf hleaf) h)))) + +(declare-fun hinsert-all (Lst Heap) Heap) +(assert (forall ((h Heap)) (= (hinsert-all nil h) h))) +(assert (forall ((h Heap) (n Nat) (l Lst)) (= (hinsert-all (cons n l) h) (hinsert (hinsert-all l h) n)))) + +(declare-fun qheapsorta (Heap Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsorta hleaf l) l))) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap) (x Lst)) (= (qheapsorta (heap k v l r) x) (qheapsorta (merge l r) (cons v x))))) + +(declare-fun qheapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsort l) (qheapsorta (hinsert-all l hleaf) nil)))) + +(declare-fun heapsorta (Heap) Lst) +(assert (= (heapsorta hleaf) nil)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (heapsorta (heap k v l r)) (cons v (heapsorta (merge l r)))))) + +(declare-fun heapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (heapsort l) (heapsorta (hinsert-all l hleaf))))) + +; proven +(assert +(forall ((x Heap) (n Nat)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert x n)))) ; G-heap-1 +) +(assert +(forall ((n Lst) (x Heap)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert-all n x)))) ; G-heap-2 +) +(assert +(forall ((v Nat) (x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (hasLeftistProperty (mergea v x y)))) ; G-heap-3 +) +(assert +(forall ((x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (hasLeftistProperty (merge x y)))) ; G-heap-4 +) +(assert +(forall ((l Lst)) (hasLeftistProperty (hinsert-all l hleaf))) ; G-heap-5 +) +(assert +(forall ((v Nat) (x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (= (hsize (mergea v x y)) (succ (plus (hsize x) (hsize y)))))) ; G-heap-6 +) +(assert +(forall ((x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (= (hsize (merge x y)) (plus (hsize x) (hsize y))))) ; G-heap-7 +) +(assert +(forall ((x Heap) (n Nat)) (=> (hasLeftistProperty x) (= (hsize (hinsert x n)) (succ (hsize x))))) ; G-heap-8 +) +(assert +(forall ((l Lst) (x Heap)) (=> (hasLeftistProperty x) (= (hsize (hinsert-all l x)) (plus (hsize x) (len l))))) ; G-heap-9 +) +(assert +(forall ((x Heap)) (=> (hasLeftistProperty x) (= (len (heapsorta x)) (hsize x)))) ; G-heap-10 +) +(assert +(forall ((l Lst)) (sorted (heapsort l))) ; G-heap-11 +) + +; conjecture +(assert (not +(forall ((x Heap) (l Lst) (v Nat)) (=> (hasLeftistProperty x) (= (len (qheapsorta x (cons v l))) (succ (len (qheapsorta x l)))))) ; G-heap-12 +)) +(check-sat) diff --git a/bench_adt/LEON/heap-goal13.smt2 b/bench_adt/LEON/heap-goal13.smt2 new file mode 100644 index 000000000..8b62bc439 --- /dev/null +++ b/bench_adt/LEON/heap-goal13.smt2 @@ -0,0 +1,127 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun rsorted (Lst) Bool) +(assert (rsorted nil)) +(assert (forall ((x Nat)) (rsorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (rsorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq z x))))) + +(declare-fun sorted (Lst) Bool) +(assert (sorted nil)) +(assert (forall ((x Nat)) (sorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (sorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq x z))))) + +; heaps +(declare-datatypes () ((Heap (hleaf) (heap (rk Nat) (value Nat) (hleft Heap) (hright Heap))))) + +(declare-fun rightHeight (Heap) Nat) +(assert (= (rightHeight hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rightHeight (heap k v l r)) (succ (rightHeight r))))) + +(declare-fun rank (Heap) Nat) +(assert (= (rank hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rank (heap k v l r)) k))) + +(declare-fun hasLeftistProperty (Heap) Bool) +(assert (hasLeftistProperty hleaf)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hasLeftistProperty (heap k v l r)) (and (hasLeftistProperty l) (hasLeftistProperty r) + (leq (rightHeight r) (rightHeight l)) + (= k (succ (rightHeight r))))))) + +(declare-fun hsize (Heap) Nat) +(assert (= (hsize hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hsize (heap k v l r)) (succ (plus (hsize l) (hsize r)))))) + +(declare-fun mergea (Nat Heap Heap) Heap) +(assert (forall ((v Nat) (l Heap) (r Heap)) (= (mergea v l r) (ite (leq (rank r) (rank l)) (heap (succ (rank r)) v l r) (heap (succ (rank l)) v r l))))) + +(declare-fun merge (Heap Heap) Heap) +(assert (forall ((h Heap)) (= (merge h hleaf) h))) +(assert (forall ((h Heap)) (= (merge hleaf h) h))) +(assert (forall ((k1 Nat) (v1 Nat) (l1 Heap) (r1 Heap) (k2 Nat) (v2 Nat) (l2 Heap) (r2 Heap)) (= (merge (heap k1 v1 l1 r1) (heap k2 v2 l2 r2)) + (ite (less v2 v1) + (mergea v1 l1 (merge r1 (heap k2 v2 l2 r2))) + (mergea v2 l2 (merge (heap k1 v1 l1 r1) r2)))))) + +(declare-fun hinsert (Heap Nat) Heap) +(assert (forall ((h Heap) (n Nat)) (= (hinsert h n) (merge (heap (succ zero) n hleaf hleaf) h)))) + +(declare-fun hinsert-all (Lst Heap) Heap) +(assert (forall ((h Heap)) (= (hinsert-all nil h) h))) +(assert (forall ((h Heap) (n Nat) (l Lst)) (= (hinsert-all (cons n l) h) (hinsert (hinsert-all l h) n)))) + +(declare-fun qheapsorta (Heap Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsorta hleaf l) l))) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap) (x Lst)) (= (qheapsorta (heap k v l r) x) (qheapsorta (merge l r) (cons v x))))) + +(declare-fun qheapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsort l) (qheapsorta (hinsert-all l hleaf) nil)))) + +(declare-fun heapsorta (Heap) Lst) +(assert (= (heapsorta hleaf) nil)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (heapsorta (heap k v l r)) (cons v (heapsorta (merge l r)))))) + +(declare-fun heapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (heapsort l) (heapsorta (hinsert-all l hleaf))))) + +; proven +(assert +(forall ((x Heap) (n Nat)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert x n)))) ; G-heap-1 +) +(assert +(forall ((n Lst) (x Heap)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert-all n x)))) ; G-heap-2 +) +(assert +(forall ((v Nat) (x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (hasLeftistProperty (mergea v x y)))) ; G-heap-3 +) +(assert +(forall ((x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (hasLeftistProperty (merge x y)))) ; G-heap-4 +) +(assert +(forall ((l Lst)) (hasLeftistProperty (hinsert-all l hleaf))) ; G-heap-5 +) +(assert +(forall ((v Nat) (x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (= (hsize (mergea v x y)) (succ (plus (hsize x) (hsize y)))))) ; G-heap-6 +) +(assert +(forall ((x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (= (hsize (merge x y)) (plus (hsize x) (hsize y))))) ; G-heap-7 +) +(assert +(forall ((x Heap) (n Nat)) (=> (hasLeftistProperty x) (= (hsize (hinsert x n)) (succ (hsize x))))) ; G-heap-8 +) +(assert +(forall ((l Lst) (x Heap)) (=> (hasLeftistProperty x) (= (hsize (hinsert-all l x)) (plus (hsize x) (len l))))) ; G-heap-9 +) +(assert +(forall ((x Heap)) (=> (hasLeftistProperty x) (= (len (heapsorta x)) (hsize x)))) ; G-heap-10 +) +(assert +(forall ((l Lst)) (sorted (heapsort l))) ; G-heap-11 +) +(assert +(forall ((x Heap) (l Lst) (v Nat)) (=> (hasLeftistProperty x) (= (len (qheapsorta x (cons v l))) (succ (len (qheapsorta x l)))))) ; G-heap-12 +) + +; conjecture +(assert (not +(forall ((l Lst) (x Heap)) (=> (hasLeftistProperty x) (= (len (qheapsorta x l)) (plus (hsize x) (len l))))) ; G-heap-13 +)) +(check-sat) diff --git a/bench_adt/LEON/heap-goal2.smt2 b/bench_adt/LEON/heap-goal2.smt2 new file mode 100644 index 000000000..9b5b3c54c --- /dev/null +++ b/bench_adt/LEON/heap-goal2.smt2 @@ -0,0 +1,94 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun rsorted (Lst) Bool) +(assert (rsorted nil)) +(assert (forall ((x Nat)) (rsorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (rsorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq z x))))) + +(declare-fun sorted (Lst) Bool) +(assert (sorted nil)) +(assert (forall ((x Nat)) (sorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (sorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq x z))))) + +; heaps +(declare-datatypes () ((Heap (hleaf) (heap (rk Nat) (value Nat) (hleft Heap) (hright Heap))))) + +(declare-fun rightHeight (Heap) Nat) +(assert (= (rightHeight hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rightHeight (heap k v l r)) (succ (rightHeight r))))) + +(declare-fun rank (Heap) Nat) +(assert (= (rank hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rank (heap k v l r)) k))) + +(declare-fun hasLeftistProperty (Heap) Bool) +(assert (hasLeftistProperty hleaf)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hasLeftistProperty (heap k v l r)) (and (hasLeftistProperty l) (hasLeftistProperty r) + (leq (rightHeight r) (rightHeight l)) + (= k (succ (rightHeight r))))))) + +(declare-fun hsize (Heap) Nat) +(assert (= (hsize hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hsize (heap k v l r)) (succ (plus (hsize l) (hsize r)))))) + +(declare-fun mergea (Nat Heap Heap) Heap) +(assert (forall ((v Nat) (l Heap) (r Heap)) (= (mergea v l r) (ite (leq (rank r) (rank l)) (heap (succ (rank r)) v l r) (heap (succ (rank l)) v r l))))) + +(declare-fun merge (Heap Heap) Heap) +(assert (forall ((h Heap)) (= (merge h hleaf) h))) +(assert (forall ((h Heap)) (= (merge hleaf h) h))) +(assert (forall ((k1 Nat) (v1 Nat) (l1 Heap) (r1 Heap) (k2 Nat) (v2 Nat) (l2 Heap) (r2 Heap)) (= (merge (heap k1 v1 l1 r1) (heap k2 v2 l2 r2)) + (ite (less v2 v1) + (mergea v1 l1 (merge r1 (heap k2 v2 l2 r2))) + (mergea v2 l2 (merge (heap k1 v1 l1 r1) r2)))))) + +(declare-fun hinsert (Heap Nat) Heap) +(assert (forall ((h Heap) (n Nat)) (= (hinsert h n) (merge (heap (succ zero) n hleaf hleaf) h)))) + +(declare-fun hinsert-all (Lst Heap) Heap) +(assert (forall ((h Heap)) (= (hinsert-all nil h) h))) +(assert (forall ((h Heap) (n Nat) (l Lst)) (= (hinsert-all (cons n l) h) (hinsert (hinsert-all l h) n)))) + +(declare-fun qheapsorta (Heap Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsorta hleaf l) l))) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap) (x Lst)) (= (qheapsorta (heap k v l r) x) (qheapsorta (merge l r) (cons v x))))) + +(declare-fun qheapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsort l) (qheapsorta (hinsert-all l hleaf) nil)))) + +(declare-fun heapsorta (Heap) Lst) +(assert (= (heapsorta hleaf) nil)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (heapsorta (heap k v l r)) (cons v (heapsorta (merge l r)))))) + +(declare-fun heapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (heapsort l) (heapsorta (hinsert-all l hleaf))))) + +; proven +(assert +(forall ((x Heap) (n Nat)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert x n)))) ; G-heap-1 +) + +; conjecture +(assert (not +(forall ((n Lst) (x Heap)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert-all n x)))) ; G-heap-2 +)) +(check-sat) diff --git a/bench_adt/LEON/heap-goal3.smt2 b/bench_adt/LEON/heap-goal3.smt2 new file mode 100644 index 000000000..f435cbe0c --- /dev/null +++ b/bench_adt/LEON/heap-goal3.smt2 @@ -0,0 +1,97 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun rsorted (Lst) Bool) +(assert (rsorted nil)) +(assert (forall ((x Nat)) (rsorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (rsorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq z x))))) + +(declare-fun sorted (Lst) Bool) +(assert (sorted nil)) +(assert (forall ((x Nat)) (sorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (sorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq x z))))) + +; heaps +(declare-datatypes () ((Heap (hleaf) (heap (rk Nat) (value Nat) (hleft Heap) (hright Heap))))) + +(declare-fun rightHeight (Heap) Nat) +(assert (= (rightHeight hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rightHeight (heap k v l r)) (succ (rightHeight r))))) + +(declare-fun rank (Heap) Nat) +(assert (= (rank hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rank (heap k v l r)) k))) + +(declare-fun hasLeftistProperty (Heap) Bool) +(assert (hasLeftistProperty hleaf)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hasLeftistProperty (heap k v l r)) (and (hasLeftistProperty l) (hasLeftistProperty r) + (leq (rightHeight r) (rightHeight l)) + (= k (succ (rightHeight r))))))) + +(declare-fun hsize (Heap) Nat) +(assert (= (hsize hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hsize (heap k v l r)) (succ (plus (hsize l) (hsize r)))))) + +(declare-fun mergea (Nat Heap Heap) Heap) +(assert (forall ((v Nat) (l Heap) (r Heap)) (= (mergea v l r) (ite (leq (rank r) (rank l)) (heap (succ (rank r)) v l r) (heap (succ (rank l)) v r l))))) + +(declare-fun merge (Heap Heap) Heap) +(assert (forall ((h Heap)) (= (merge h hleaf) h))) +(assert (forall ((h Heap)) (= (merge hleaf h) h))) +(assert (forall ((k1 Nat) (v1 Nat) (l1 Heap) (r1 Heap) (k2 Nat) (v2 Nat) (l2 Heap) (r2 Heap)) (= (merge (heap k1 v1 l1 r1) (heap k2 v2 l2 r2)) + (ite (less v2 v1) + (mergea v1 l1 (merge r1 (heap k2 v2 l2 r2))) + (mergea v2 l2 (merge (heap k1 v1 l1 r1) r2)))))) + +(declare-fun hinsert (Heap Nat) Heap) +(assert (forall ((h Heap) (n Nat)) (= (hinsert h n) (merge (heap (succ zero) n hleaf hleaf) h)))) + +(declare-fun hinsert-all (Lst Heap) Heap) +(assert (forall ((h Heap)) (= (hinsert-all nil h) h))) +(assert (forall ((h Heap) (n Nat) (l Lst)) (= (hinsert-all (cons n l) h) (hinsert (hinsert-all l h) n)))) + +(declare-fun qheapsorta (Heap Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsorta hleaf l) l))) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap) (x Lst)) (= (qheapsorta (heap k v l r) x) (qheapsorta (merge l r) (cons v x))))) + +(declare-fun qheapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsort l) (qheapsorta (hinsert-all l hleaf) nil)))) + +(declare-fun heapsorta (Heap) Lst) +(assert (= (heapsorta hleaf) nil)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (heapsorta (heap k v l r)) (cons v (heapsorta (merge l r)))))) + +(declare-fun heapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (heapsort l) (heapsorta (hinsert-all l hleaf))))) + +; proven +(assert +(forall ((x Heap) (n Nat)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert x n)))) ; G-heap-1 +) +(assert +(forall ((n Lst) (x Heap)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert-all n x)))) ; G-heap-2 +) + +; conjecture +(assert (not +(forall ((v Nat) (x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (hasLeftistProperty (mergea v x y)))) ; G-heap-3 +)) +(check-sat) diff --git a/bench_adt/LEON/heap-goal4.smt2 b/bench_adt/LEON/heap-goal4.smt2 new file mode 100644 index 000000000..2d5e778f1 --- /dev/null +++ b/bench_adt/LEON/heap-goal4.smt2 @@ -0,0 +1,100 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun rsorted (Lst) Bool) +(assert (rsorted nil)) +(assert (forall ((x Nat)) (rsorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (rsorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq z x))))) + +(declare-fun sorted (Lst) Bool) +(assert (sorted nil)) +(assert (forall ((x Nat)) (sorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (sorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq x z))))) + +; heaps +(declare-datatypes () ((Heap (hleaf) (heap (rk Nat) (value Nat) (hleft Heap) (hright Heap))))) + +(declare-fun rightHeight (Heap) Nat) +(assert (= (rightHeight hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rightHeight (heap k v l r)) (succ (rightHeight r))))) + +(declare-fun rank (Heap) Nat) +(assert (= (rank hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rank (heap k v l r)) k))) + +(declare-fun hasLeftistProperty (Heap) Bool) +(assert (hasLeftistProperty hleaf)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hasLeftistProperty (heap k v l r)) (and (hasLeftistProperty l) (hasLeftistProperty r) + (leq (rightHeight r) (rightHeight l)) + (= k (succ (rightHeight r))))))) + +(declare-fun hsize (Heap) Nat) +(assert (= (hsize hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hsize (heap k v l r)) (succ (plus (hsize l) (hsize r)))))) + +(declare-fun mergea (Nat Heap Heap) Heap) +(assert (forall ((v Nat) (l Heap) (r Heap)) (= (mergea v l r) (ite (leq (rank r) (rank l)) (heap (succ (rank r)) v l r) (heap (succ (rank l)) v r l))))) + +(declare-fun merge (Heap Heap) Heap) +(assert (forall ((h Heap)) (= (merge h hleaf) h))) +(assert (forall ((h Heap)) (= (merge hleaf h) h))) +(assert (forall ((k1 Nat) (v1 Nat) (l1 Heap) (r1 Heap) (k2 Nat) (v2 Nat) (l2 Heap) (r2 Heap)) (= (merge (heap k1 v1 l1 r1) (heap k2 v2 l2 r2)) + (ite (less v2 v1) + (mergea v1 l1 (merge r1 (heap k2 v2 l2 r2))) + (mergea v2 l2 (merge (heap k1 v1 l1 r1) r2)))))) + +(declare-fun hinsert (Heap Nat) Heap) +(assert (forall ((h Heap) (n Nat)) (= (hinsert h n) (merge (heap (succ zero) n hleaf hleaf) h)))) + +(declare-fun hinsert-all (Lst Heap) Heap) +(assert (forall ((h Heap)) (= (hinsert-all nil h) h))) +(assert (forall ((h Heap) (n Nat) (l Lst)) (= (hinsert-all (cons n l) h) (hinsert (hinsert-all l h) n)))) + +(declare-fun qheapsorta (Heap Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsorta hleaf l) l))) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap) (x Lst)) (= (qheapsorta (heap k v l r) x) (qheapsorta (merge l r) (cons v x))))) + +(declare-fun qheapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsort l) (qheapsorta (hinsert-all l hleaf) nil)))) + +(declare-fun heapsorta (Heap) Lst) +(assert (= (heapsorta hleaf) nil)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (heapsorta (heap k v l r)) (cons v (heapsorta (merge l r)))))) + +(declare-fun heapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (heapsort l) (heapsorta (hinsert-all l hleaf))))) + +; proven +(assert +(forall ((x Heap) (n Nat)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert x n)))) ; G-heap-1 +) +(assert +(forall ((n Lst) (x Heap)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert-all n x)))) ; G-heap-2 +) +(assert +(forall ((v Nat) (x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (hasLeftistProperty (mergea v x y)))) ; G-heap-3 +) + +; conjecture +(assert (not +(forall ((x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (hasLeftistProperty (merge x y)))) ; G-heap-4 +)) +(check-sat) diff --git a/bench_adt/LEON/heap-goal5.smt2 b/bench_adt/LEON/heap-goal5.smt2 new file mode 100644 index 000000000..386d21e8d --- /dev/null +++ b/bench_adt/LEON/heap-goal5.smt2 @@ -0,0 +1,103 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun rsorted (Lst) Bool) +(assert (rsorted nil)) +(assert (forall ((x Nat)) (rsorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (rsorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq z x))))) + +(declare-fun sorted (Lst) Bool) +(assert (sorted nil)) +(assert (forall ((x Nat)) (sorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (sorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq x z))))) + +; heaps +(declare-datatypes () ((Heap (hleaf) (heap (rk Nat) (value Nat) (hleft Heap) (hright Heap))))) + +(declare-fun rightHeight (Heap) Nat) +(assert (= (rightHeight hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rightHeight (heap k v l r)) (succ (rightHeight r))))) + +(declare-fun rank (Heap) Nat) +(assert (= (rank hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rank (heap k v l r)) k))) + +(declare-fun hasLeftistProperty (Heap) Bool) +(assert (hasLeftistProperty hleaf)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hasLeftistProperty (heap k v l r)) (and (hasLeftistProperty l) (hasLeftistProperty r) + (leq (rightHeight r) (rightHeight l)) + (= k (succ (rightHeight r))))))) + +(declare-fun hsize (Heap) Nat) +(assert (= (hsize hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hsize (heap k v l r)) (succ (plus (hsize l) (hsize r)))))) + +(declare-fun mergea (Nat Heap Heap) Heap) +(assert (forall ((v Nat) (l Heap) (r Heap)) (= (mergea v l r) (ite (leq (rank r) (rank l)) (heap (succ (rank r)) v l r) (heap (succ (rank l)) v r l))))) + +(declare-fun merge (Heap Heap) Heap) +(assert (forall ((h Heap)) (= (merge h hleaf) h))) +(assert (forall ((h Heap)) (= (merge hleaf h) h))) +(assert (forall ((k1 Nat) (v1 Nat) (l1 Heap) (r1 Heap) (k2 Nat) (v2 Nat) (l2 Heap) (r2 Heap)) (= (merge (heap k1 v1 l1 r1) (heap k2 v2 l2 r2)) + (ite (less v2 v1) + (mergea v1 l1 (merge r1 (heap k2 v2 l2 r2))) + (mergea v2 l2 (merge (heap k1 v1 l1 r1) r2)))))) + +(declare-fun hinsert (Heap Nat) Heap) +(assert (forall ((h Heap) (n Nat)) (= (hinsert h n) (merge (heap (succ zero) n hleaf hleaf) h)))) + +(declare-fun hinsert-all (Lst Heap) Heap) +(assert (forall ((h Heap)) (= (hinsert-all nil h) h))) +(assert (forall ((h Heap) (n Nat) (l Lst)) (= (hinsert-all (cons n l) h) (hinsert (hinsert-all l h) n)))) + +(declare-fun qheapsorta (Heap Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsorta hleaf l) l))) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap) (x Lst)) (= (qheapsorta (heap k v l r) x) (qheapsorta (merge l r) (cons v x))))) + +(declare-fun qheapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsort l) (qheapsorta (hinsert-all l hleaf) nil)))) + +(declare-fun heapsorta (Heap) Lst) +(assert (= (heapsorta hleaf) nil)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (heapsorta (heap k v l r)) (cons v (heapsorta (merge l r)))))) + +(declare-fun heapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (heapsort l) (heapsorta (hinsert-all l hleaf))))) + +; proven +(assert +(forall ((x Heap) (n Nat)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert x n)))) ; G-heap-1 +) +(assert +(forall ((n Lst) (x Heap)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert-all n x)))) ; G-heap-2 +) +(assert +(forall ((v Nat) (x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (hasLeftistProperty (mergea v x y)))) ; G-heap-3 +) +(assert +(forall ((x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (hasLeftistProperty (merge x y)))) ; G-heap-4 +) + +; conjecture +(assert (not +(forall ((l Lst)) (hasLeftistProperty (hinsert-all l hleaf))) ; G-heap-5 +)) +(check-sat) diff --git a/bench_adt/LEON/heap-goal6.smt2 b/bench_adt/LEON/heap-goal6.smt2 new file mode 100644 index 000000000..3a3072017 --- /dev/null +++ b/bench_adt/LEON/heap-goal6.smt2 @@ -0,0 +1,106 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun rsorted (Lst) Bool) +(assert (rsorted nil)) +(assert (forall ((x Nat)) (rsorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (rsorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq z x))))) + +(declare-fun sorted (Lst) Bool) +(assert (sorted nil)) +(assert (forall ((x Nat)) (sorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (sorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq x z))))) + +; heaps +(declare-datatypes () ((Heap (hleaf) (heap (rk Nat) (value Nat) (hleft Heap) (hright Heap))))) + +(declare-fun rightHeight (Heap) Nat) +(assert (= (rightHeight hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rightHeight (heap k v l r)) (succ (rightHeight r))))) + +(declare-fun rank (Heap) Nat) +(assert (= (rank hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rank (heap k v l r)) k))) + +(declare-fun hasLeftistProperty (Heap) Bool) +(assert (hasLeftistProperty hleaf)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hasLeftistProperty (heap k v l r)) (and (hasLeftistProperty l) (hasLeftistProperty r) + (leq (rightHeight r) (rightHeight l)) + (= k (succ (rightHeight r))))))) + +(declare-fun hsize (Heap) Nat) +(assert (= (hsize hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hsize (heap k v l r)) (succ (plus (hsize l) (hsize r)))))) + +(declare-fun mergea (Nat Heap Heap) Heap) +(assert (forall ((v Nat) (l Heap) (r Heap)) (= (mergea v l r) (ite (leq (rank r) (rank l)) (heap (succ (rank r)) v l r) (heap (succ (rank l)) v r l))))) + +(declare-fun merge (Heap Heap) Heap) +(assert (forall ((h Heap)) (= (merge h hleaf) h))) +(assert (forall ((h Heap)) (= (merge hleaf h) h))) +(assert (forall ((k1 Nat) (v1 Nat) (l1 Heap) (r1 Heap) (k2 Nat) (v2 Nat) (l2 Heap) (r2 Heap)) (= (merge (heap k1 v1 l1 r1) (heap k2 v2 l2 r2)) + (ite (less v2 v1) + (mergea v1 l1 (merge r1 (heap k2 v2 l2 r2))) + (mergea v2 l2 (merge (heap k1 v1 l1 r1) r2)))))) + +(declare-fun hinsert (Heap Nat) Heap) +(assert (forall ((h Heap) (n Nat)) (= (hinsert h n) (merge (heap (succ zero) n hleaf hleaf) h)))) + +(declare-fun hinsert-all (Lst Heap) Heap) +(assert (forall ((h Heap)) (= (hinsert-all nil h) h))) +(assert (forall ((h Heap) (n Nat) (l Lst)) (= (hinsert-all (cons n l) h) (hinsert (hinsert-all l h) n)))) + +(declare-fun qheapsorta (Heap Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsorta hleaf l) l))) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap) (x Lst)) (= (qheapsorta (heap k v l r) x) (qheapsorta (merge l r) (cons v x))))) + +(declare-fun qheapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsort l) (qheapsorta (hinsert-all l hleaf) nil)))) + +(declare-fun heapsorta (Heap) Lst) +(assert (= (heapsorta hleaf) nil)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (heapsorta (heap k v l r)) (cons v (heapsorta (merge l r)))))) + +(declare-fun heapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (heapsort l) (heapsorta (hinsert-all l hleaf))))) + +; proven +(assert +(forall ((x Heap) (n Nat)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert x n)))) ; G-heap-1 +) +(assert +(forall ((n Lst) (x Heap)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert-all n x)))) ; G-heap-2 +) +(assert +(forall ((v Nat) (x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (hasLeftistProperty (mergea v x y)))) ; G-heap-3 +) +(assert +(forall ((x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (hasLeftistProperty (merge x y)))) ; G-heap-4 +) +(assert +(forall ((l Lst)) (hasLeftistProperty (hinsert-all l hleaf))) ; G-heap-5 +) + +; conjecture +(assert (not +(forall ((v Nat) (x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (= (hsize (mergea v x y)) (succ (plus (hsize x) (hsize y)))))) ; G-heap-6 +)) +(check-sat) diff --git a/bench_adt/LEON/heap-goal7.smt2 b/bench_adt/LEON/heap-goal7.smt2 new file mode 100644 index 000000000..8c3714d2d --- /dev/null +++ b/bench_adt/LEON/heap-goal7.smt2 @@ -0,0 +1,109 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun rsorted (Lst) Bool) +(assert (rsorted nil)) +(assert (forall ((x Nat)) (rsorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (rsorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq z x))))) + +(declare-fun sorted (Lst) Bool) +(assert (sorted nil)) +(assert (forall ((x Nat)) (sorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (sorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq x z))))) + +; heaps +(declare-datatypes () ((Heap (hleaf) (heap (rk Nat) (value Nat) (hleft Heap) (hright Heap))))) + +(declare-fun rightHeight (Heap) Nat) +(assert (= (rightHeight hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rightHeight (heap k v l r)) (succ (rightHeight r))))) + +(declare-fun rank (Heap) Nat) +(assert (= (rank hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rank (heap k v l r)) k))) + +(declare-fun hasLeftistProperty (Heap) Bool) +(assert (hasLeftistProperty hleaf)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hasLeftistProperty (heap k v l r)) (and (hasLeftistProperty l) (hasLeftistProperty r) + (leq (rightHeight r) (rightHeight l)) + (= k (succ (rightHeight r))))))) + +(declare-fun hsize (Heap) Nat) +(assert (= (hsize hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hsize (heap k v l r)) (succ (plus (hsize l) (hsize r)))))) + +(declare-fun mergea (Nat Heap Heap) Heap) +(assert (forall ((v Nat) (l Heap) (r Heap)) (= (mergea v l r) (ite (leq (rank r) (rank l)) (heap (succ (rank r)) v l r) (heap (succ (rank l)) v r l))))) + +(declare-fun merge (Heap Heap) Heap) +(assert (forall ((h Heap)) (= (merge h hleaf) h))) +(assert (forall ((h Heap)) (= (merge hleaf h) h))) +(assert (forall ((k1 Nat) (v1 Nat) (l1 Heap) (r1 Heap) (k2 Nat) (v2 Nat) (l2 Heap) (r2 Heap)) (= (merge (heap k1 v1 l1 r1) (heap k2 v2 l2 r2)) + (ite (less v2 v1) + (mergea v1 l1 (merge r1 (heap k2 v2 l2 r2))) + (mergea v2 l2 (merge (heap k1 v1 l1 r1) r2)))))) + +(declare-fun hinsert (Heap Nat) Heap) +(assert (forall ((h Heap) (n Nat)) (= (hinsert h n) (merge (heap (succ zero) n hleaf hleaf) h)))) + +(declare-fun hinsert-all (Lst Heap) Heap) +(assert (forall ((h Heap)) (= (hinsert-all nil h) h))) +(assert (forall ((h Heap) (n Nat) (l Lst)) (= (hinsert-all (cons n l) h) (hinsert (hinsert-all l h) n)))) + +(declare-fun qheapsorta (Heap Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsorta hleaf l) l))) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap) (x Lst)) (= (qheapsorta (heap k v l r) x) (qheapsorta (merge l r) (cons v x))))) + +(declare-fun qheapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsort l) (qheapsorta (hinsert-all l hleaf) nil)))) + +(declare-fun heapsorta (Heap) Lst) +(assert (= (heapsorta hleaf) nil)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (heapsorta (heap k v l r)) (cons v (heapsorta (merge l r)))))) + +(declare-fun heapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (heapsort l) (heapsorta (hinsert-all l hleaf))))) + +; proven +(assert +(forall ((x Heap) (n Nat)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert x n)))) ; G-heap-1 +) +(assert +(forall ((n Lst) (x Heap)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert-all n x)))) ; G-heap-2 +) +(assert +(forall ((v Nat) (x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (hasLeftistProperty (mergea v x y)))) ; G-heap-3 +) +(assert +(forall ((x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (hasLeftistProperty (merge x y)))) ; G-heap-4 +) +(assert +(forall ((l Lst)) (hasLeftistProperty (hinsert-all l hleaf))) ; G-heap-5 +) +(assert +(forall ((v Nat) (x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (= (hsize (mergea v x y)) (succ (plus (hsize x) (hsize y)))))) ; G-heap-6 +) + +; conjecture +(assert (not +(forall ((x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (= (hsize (merge x y)) (plus (hsize x) (hsize y))))) ; G-heap-7 +)) +(check-sat) diff --git a/bench_adt/LEON/heap-goal8.smt2 b/bench_adt/LEON/heap-goal8.smt2 new file mode 100644 index 000000000..9ded3fb6c --- /dev/null +++ b/bench_adt/LEON/heap-goal8.smt2 @@ -0,0 +1,112 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun rsorted (Lst) Bool) +(assert (rsorted nil)) +(assert (forall ((x Nat)) (rsorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (rsorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq z x))))) + +(declare-fun sorted (Lst) Bool) +(assert (sorted nil)) +(assert (forall ((x Nat)) (sorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (sorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq x z))))) + +; heaps +(declare-datatypes () ((Heap (hleaf) (heap (rk Nat) (value Nat) (hleft Heap) (hright Heap))))) + +(declare-fun rightHeight (Heap) Nat) +(assert (= (rightHeight hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rightHeight (heap k v l r)) (succ (rightHeight r))))) + +(declare-fun rank (Heap) Nat) +(assert (= (rank hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rank (heap k v l r)) k))) + +(declare-fun hasLeftistProperty (Heap) Bool) +(assert (hasLeftistProperty hleaf)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hasLeftistProperty (heap k v l r)) (and (hasLeftistProperty l) (hasLeftistProperty r) + (leq (rightHeight r) (rightHeight l)) + (= k (succ (rightHeight r))))))) + +(declare-fun hsize (Heap) Nat) +(assert (= (hsize hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hsize (heap k v l r)) (succ (plus (hsize l) (hsize r)))))) + +(declare-fun mergea (Nat Heap Heap) Heap) +(assert (forall ((v Nat) (l Heap) (r Heap)) (= (mergea v l r) (ite (leq (rank r) (rank l)) (heap (succ (rank r)) v l r) (heap (succ (rank l)) v r l))))) + +(declare-fun merge (Heap Heap) Heap) +(assert (forall ((h Heap)) (= (merge h hleaf) h))) +(assert (forall ((h Heap)) (= (merge hleaf h) h))) +(assert (forall ((k1 Nat) (v1 Nat) (l1 Heap) (r1 Heap) (k2 Nat) (v2 Nat) (l2 Heap) (r2 Heap)) (= (merge (heap k1 v1 l1 r1) (heap k2 v2 l2 r2)) + (ite (less v2 v1) + (mergea v1 l1 (merge r1 (heap k2 v2 l2 r2))) + (mergea v2 l2 (merge (heap k1 v1 l1 r1) r2)))))) + +(declare-fun hinsert (Heap Nat) Heap) +(assert (forall ((h Heap) (n Nat)) (= (hinsert h n) (merge (heap (succ zero) n hleaf hleaf) h)))) + +(declare-fun hinsert-all (Lst Heap) Heap) +(assert (forall ((h Heap)) (= (hinsert-all nil h) h))) +(assert (forall ((h Heap) (n Nat) (l Lst)) (= (hinsert-all (cons n l) h) (hinsert (hinsert-all l h) n)))) + +(declare-fun qheapsorta (Heap Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsorta hleaf l) l))) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap) (x Lst)) (= (qheapsorta (heap k v l r) x) (qheapsorta (merge l r) (cons v x))))) + +(declare-fun qheapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsort l) (qheapsorta (hinsert-all l hleaf) nil)))) + +(declare-fun heapsorta (Heap) Lst) +(assert (= (heapsorta hleaf) nil)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (heapsorta (heap k v l r)) (cons v (heapsorta (merge l r)))))) + +(declare-fun heapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (heapsort l) (heapsorta (hinsert-all l hleaf))))) + +; proven +(assert +(forall ((x Heap) (n Nat)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert x n)))) ; G-heap-1 +) +(assert +(forall ((n Lst) (x Heap)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert-all n x)))) ; G-heap-2 +) +(assert +(forall ((v Nat) (x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (hasLeftistProperty (mergea v x y)))) ; G-heap-3 +) +(assert +(forall ((x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (hasLeftistProperty (merge x y)))) ; G-heap-4 +) +(assert +(forall ((l Lst)) (hasLeftistProperty (hinsert-all l hleaf))) ; G-heap-5 +) +(assert +(forall ((v Nat) (x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (= (hsize (mergea v x y)) (succ (plus (hsize x) (hsize y)))))) ; G-heap-6 +) +(assert +(forall ((x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (= (hsize (merge x y)) (plus (hsize x) (hsize y))))) ; G-heap-7 +) + +; conjecture +(assert (not +(forall ((x Heap) (n Nat)) (=> (hasLeftistProperty x) (= (hsize (hinsert x n)) (succ (hsize x))))) ; G-heap-8 +)) +(check-sat) diff --git a/bench_adt/LEON/heap-goal9.smt2 b/bench_adt/LEON/heap-goal9.smt2 new file mode 100644 index 000000000..698720111 --- /dev/null +++ b/bench_adt/LEON/heap-goal9.smt2 @@ -0,0 +1,115 @@ +; natural numbers +(declare-datatypes () ((Nat (succ (pred Nat)) (zero)))) + +(declare-fun less (Nat Nat) Bool) +(assert (less zero (succ zero))) +(assert (forall ((x Nat)) (less zero (succ x)))) +(assert (forall ((x Nat) (y Nat)) (= (less (succ x) (succ y)) (less x y)))) + +(define-fun leq ((x Nat) (y Nat)) Bool (or (= x y) (less x y))) + +(declare-fun plus (Nat Nat) Nat) +(assert (forall ((n Nat)) (= (plus zero n) n))) +(assert (forall ((n Nat) (m Nat)) (= (plus (succ n) m) (succ (plus n m))))) + +; lists +(declare-datatypes () ((Lst (cons (head Nat) (tail Lst)) (nil)))) + +(declare-fun len (Lst) Nat) +(assert (= (len nil) zero)) +(assert (forall ((x Nat) (y Lst)) (= (len (cons x y)) (succ (len y))))) + +(declare-fun rsorted (Lst) Bool) +(assert (rsorted nil)) +(assert (forall ((x Nat)) (rsorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (rsorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq z x))))) + +(declare-fun sorted (Lst) Bool) +(assert (sorted nil)) +(assert (forall ((x Nat)) (sorted (cons x nil)))) +(assert (forall ((x Nat) (z Nat) (y Lst)) (= (sorted (cons x (cons z y))) (and (rsorted (cons z y)) (leq x z))))) + +; heaps +(declare-datatypes () ((Heap (hleaf) (heap (rk Nat) (value Nat) (hleft Heap) (hright Heap))))) + +(declare-fun rightHeight (Heap) Nat) +(assert (= (rightHeight hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rightHeight (heap k v l r)) (succ (rightHeight r))))) + +(declare-fun rank (Heap) Nat) +(assert (= (rank hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (rank (heap k v l r)) k))) + +(declare-fun hasLeftistProperty (Heap) Bool) +(assert (hasLeftistProperty hleaf)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hasLeftistProperty (heap k v l r)) (and (hasLeftistProperty l) (hasLeftistProperty r) + (leq (rightHeight r) (rightHeight l)) + (= k (succ (rightHeight r))))))) + +(declare-fun hsize (Heap) Nat) +(assert (= (hsize hleaf) zero)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (hsize (heap k v l r)) (succ (plus (hsize l) (hsize r)))))) + +(declare-fun mergea (Nat Heap Heap) Heap) +(assert (forall ((v Nat) (l Heap) (r Heap)) (= (mergea v l r) (ite (leq (rank r) (rank l)) (heap (succ (rank r)) v l r) (heap (succ (rank l)) v r l))))) + +(declare-fun merge (Heap Heap) Heap) +(assert (forall ((h Heap)) (= (merge h hleaf) h))) +(assert (forall ((h Heap)) (= (merge hleaf h) h))) +(assert (forall ((k1 Nat) (v1 Nat) (l1 Heap) (r1 Heap) (k2 Nat) (v2 Nat) (l2 Heap) (r2 Heap)) (= (merge (heap k1 v1 l1 r1) (heap k2 v2 l2 r2)) + (ite (less v2 v1) + (mergea v1 l1 (merge r1 (heap k2 v2 l2 r2))) + (mergea v2 l2 (merge (heap k1 v1 l1 r1) r2)))))) + +(declare-fun hinsert (Heap Nat) Heap) +(assert (forall ((h Heap) (n Nat)) (= (hinsert h n) (merge (heap (succ zero) n hleaf hleaf) h)))) + +(declare-fun hinsert-all (Lst Heap) Heap) +(assert (forall ((h Heap)) (= (hinsert-all nil h) h))) +(assert (forall ((h Heap) (n Nat) (l Lst)) (= (hinsert-all (cons n l) h) (hinsert (hinsert-all l h) n)))) + +(declare-fun qheapsorta (Heap Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsorta hleaf l) l))) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap) (x Lst)) (= (qheapsorta (heap k v l r) x) (qheapsorta (merge l r) (cons v x))))) + +(declare-fun qheapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (qheapsort l) (qheapsorta (hinsert-all l hleaf) nil)))) + +(declare-fun heapsorta (Heap) Lst) +(assert (= (heapsorta hleaf) nil)) +(assert (forall ((k Nat) (v Nat) (l Heap) (r Heap)) (= (heapsorta (heap k v l r)) (cons v (heapsorta (merge l r)))))) + +(declare-fun heapsort (Lst) Lst) +(assert (forall ((l Lst)) (= (heapsort l) (heapsorta (hinsert-all l hleaf))))) + +; proven +(assert +(forall ((x Heap) (n Nat)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert x n)))) ; G-heap-1 +) +(assert +(forall ((n Lst) (x Heap)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert-all n x)))) ; G-heap-2 +) +(assert +(forall ((v Nat) (x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (hasLeftistProperty (mergea v x y)))) ; G-heap-3 +) +(assert +(forall ((x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (hasLeftistProperty (merge x y)))) ; G-heap-4 +) +(assert +(forall ((l Lst)) (hasLeftistProperty (hinsert-all l hleaf))) ; G-heap-5 +) +(assert +(forall ((v Nat) (x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (= (hsize (mergea v x y)) (succ (plus (hsize x) (hsize y)))))) ; G-heap-6 +) +(assert +(forall ((x Heap) (y Heap)) (=> (and (hasLeftistProperty x) (hasLeftistProperty y)) (= (hsize (merge x y)) (plus (hsize x) (hsize y))))) ; G-heap-7 +) +(assert +(forall ((x Heap) (n Nat)) (=> (hasLeftistProperty x) (= (hsize (hinsert x n)) (succ (hsize x))))) ; G-heap-8 +) + +; conjecture +(assert (not +(forall ((l Lst) (x Heap)) (=> (hasLeftistProperty x) (= (hsize (hinsert-all l x)) (plus (hsize x) (len l))))) ; G-heap-9 +)) +(check-sat) diff --git a/bench_adt/heap_insert_eq.smt2 b/bench_adt/heap_insert_eq.smt2 new file mode 100644 index 000000000..aca7e872f --- /dev/null +++ b/bench_adt/heap_insert_eq.smt2 @@ -0,0 +1,43 @@ +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-datatypes () ((Heap (hleaf) (heap (rk Int) (value Int) (hleft Heap) (hright Heap))))) +(declare-fun rightHeight (Heap) Int) +(assert (= (rightHeight hleaf) 0)) +(assert (forall ((k Int) (v Int) (l Heap) (r Heap)) (= (rightHeight (heap k v l r)) (+ 1 (rightHeight r))))) + +(declare-fun rank (Heap) Int) +(assert (= (rank hleaf) 0)) +(assert (forall ((k Int) (v Int) (l Heap) (r Heap)) (= (rank (heap k v l r)) k))) + +(declare-fun hasLeftistProperty (Heap) Bool) +(assert (hasLeftistProperty hleaf)) +(assert (forall ((k Int) (v Int) (l Heap) (r Heap)) + (= (hasLeftistProperty (heap k v l r)) + (and (hasLeftistProperty l) (hasLeftistProperty r) + (<= (rightHeight r) (rightHeight l)) + (= k (+ 1 (rightHeight r))))))) + +(declare-fun hsize (Heap) Int) +(assert (= (hsize hleaf) 0)) +(assert (forall ((k Int) (v Int) (l Heap) (r Heap)) (= (hsize (heap k v l r)) (+ 1 (+ (hsize l) (hsize r)))))) + +(declare-fun mergea (Int Heap Heap) Heap) +(assert (forall ((v Int) (l Heap) (r Heap)) + (= (mergea v l r) (ite (<= (rank r) (rank l)) (heap (+ 1 (rank r)) v l r) (heap (+ 1 (rank l)) v r l))))) + +(declare-fun merge (Heap Heap) Heap) +(assert (forall ((h Heap)) (= (merge h hleaf) h))) +(assert (forall ((h Heap)) (= (merge hleaf h) h))) +(assert (forall ((k1 Int) (v1 Int) (l1 Heap) (r1 Heap) (k2 Int) (v2 Int) (l2 Heap) (r2 Heap)) + (= (merge (heap k1 v1 l1 r1) (heap k2 v2 l2 r2)) + (ite (< v2 v1) (mergea v1 l1 (merge r1 (heap k2 v2 l2 r2))) + (mergea v2 l2 (merge (heap k1 v1 l1 r1) r2)))))) + +(declare-fun hinsert (Heap Int) Heap) +(assert (forall ((h Heap) (n Int)) (= (hinsert h n) (merge (heap 1 n hleaf hleaf) h)))) + +; extra lemmas +(assert (forall ((x Heap)) (>= (hsize x) 0))) + +(assert (not (forall ((x Heap) (n Int)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert x n)))))) +(check-sat) diff --git a/bench_adt/heap_insert_multi.smt2 b/bench_adt/heap_insert_multi.smt2 new file mode 100644 index 000000000..6c1a48004 --- /dev/null +++ b/bench_adt/heap_insert_multi.smt2 @@ -0,0 +1,47 @@ +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-datatypes () ((Heap (hleaf) (heap (rk Int) (value Int) (hleft Heap) (hright Heap))))) +(declare-fun rightHeight (Heap) Int) +(assert (= (rightHeight hleaf) 0)) +(assert (forall ((k Int) (v Int) (l Heap) (r Heap)) (= (rightHeight (heap k v l r)) (+ 1 (rightHeight r))))) + +(declare-fun rank (Heap) Int) +(assert (= (rank hleaf) 0)) +(assert (forall ((k Int) (v Int) (l Heap) (r Heap)) (= (rank (heap k v l r)) k))) + +(declare-fun hasLeftistProperty (Heap) Bool) +(assert (hasLeftistProperty hleaf)) +(assert (forall ((k Int) (v Int) (l Heap) (r Heap)) + (= (hasLeftistProperty (heap k v l r)) + (and (hasLeftistProperty l) (hasLeftistProperty r) + (<= (rightHeight r) (rightHeight l)) + (= k (+ 1 (rightHeight r))))))) + +(declare-fun hsize (Heap) Int) +(assert (= (hsize hleaf) 0)) +(assert (forall ((k Int) (v Int) (l Heap) (r Heap)) (= (hsize (heap k v l r)) (+ 1 (+ (hsize l) (hsize r)))))) + +(declare-fun mergea (Int Heap Heap) Heap) +(assert (forall ((v Int) (l Heap) (r Heap)) + (= (mergea v l r) (ite (<= (rank r) (rank l)) (heap (+ 1 (rank r)) v l r) (heap (+ 1 (rank l)) v r l))))) + +(declare-fun merge (Heap Heap) Heap) +(assert (forall ((h Heap)) (= (merge h hleaf) h))) +(assert (forall ((h Heap)) (= (merge hleaf h) h))) +(assert (forall ((k1 Int) (v1 Int) (l1 Heap) (r1 Heap) (k2 Int) (v2 Int) (l2 Heap) (r2 Heap)) + (= (merge (heap k1 v1 l1 r1) (heap k2 v2 l2 r2)) + (ite (< v2 v1) (mergea v1 l1 (merge r1 (heap k2 v2 l2 r2))) + (mergea v2 l2 (merge (heap k1 v1 l1 r1) r2)))))) + +(declare-fun hinsert (Heap Int) Heap) +(assert (forall ((h Heap) (n Int)) (= (hinsert h n) (merge (heap 1 n hleaf hleaf) h)))) + +(declare-fun hinsert-all (Lst Heap) Heap) +(assert (forall ((h Heap)) (= (hinsert-all nil h) h))) +(assert (forall ((h Heap) (n Int) (l Lst)) (= (hinsert-all (cons n l) h) (hinsert (hinsert-all l h) n)))) + +; extra lemmas +(assert (forall ((x Heap) (n Int)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert x n))))) + +(assert (not (forall ((l Lst) (x Heap)) (=> (hasLeftistProperty x) (hasLeftistProperty (hinsert-all l x)))))) +(check-sat) diff --git a/bench_adt/heap_size.smt2 b/bench_adt/heap_size.smt2 new file mode 100644 index 000000000..b91d1e4ce --- /dev/null +++ b/bench_adt/heap_size.smt2 @@ -0,0 +1,8 @@ +(declare-datatypes () ((Heap (hleaf) (heap (rk Int) (value Int) (hleft Heap) (hright Heap))))) + +(declare-fun hsize (Heap) Int) +(assert (= (hsize hleaf) 0)) +(assert (forall ((k Int) (v Int) (l Heap) (r Heap)) (= (hsize (heap k v l r)) (+ 1 (+ (hsize l) (hsize r)))))) + +(assert (not (forall ((x Heap)) (>= (hsize x) 0)))) +(check-sat) diff --git a/bench_adt/list_append_ass.smt2 b/bench_adt/list_append_ass.smt2 new file mode 100644 index 000000000..d5efa5605 --- /dev/null +++ b/bench_adt/list_append_ass.smt2 @@ -0,0 +1,8 @@ +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Int) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(assert (not (forall ((x Lst) (y Lst) (z Lst)) (= (append x (append y z)) (append (append x y) z))))) +(check-sat) diff --git a/bench_adt/list_append_contains.smt2 b/bench_adt/list_append_contains.smt2 new file mode 100644 index 000000000..dbc72af40 --- /dev/null +++ b/bench_adt/list_append_contains.smt2 @@ -0,0 +1,16 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Elem) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun contains (Elem Lst) Bool) +(assert (forall ((x Elem)) (= (contains x nil) false))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (contains x (cons y xs)) (or (= x y) (contains x xs))))) + +(assert (not (forall ((x Elem) (y Lst) (z Lst)) + (= (contains x (append y z)) + (or (contains x y) (contains x z)))))) + +(check-sat) diff --git a/bench_adt/list_append_len.smt2 b/bench_adt/list_append_len.smt2 new file mode 100644 index 000000000..2ea8a127f --- /dev/null +++ b/bench_adt/list_append_len.smt2 @@ -0,0 +1,12 @@ +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Int) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Int) +(assert (= (len nil) 0)) +(assert (forall ((x Int) (y Lst)) (= (len (cons x y)) (+ 1 (len y))))) + +(assert (not (forall ((x Lst) (y Lst)) (= (+ (len x) (len y)) (len (append x y)))))) +(check-sat) diff --git a/bench_adt/list_append_min.smt2 b/bench_adt/list_append_min.smt2 new file mode 100644 index 000000000..2fbfdbfa4 --- /dev/null +++ b/bench_adt/list_append_min.smt2 @@ -0,0 +1,14 @@ +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Int) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun min (Lst) Int) +(assert (= (min nil) 0)) +(assert (forall ((x Int) (y Lst)) (= (min (cons x y)) (ite (< (min y) x) (min y) x)))) + +(assert (not (forall ((x Lst) (y Lst)) + (and (<= (min (append x y)) (min x)) + (<= (min (append x y)) (min y)))))) +(check-sat) diff --git a/bench_adt/list_append_nil.smt2 b/bench_adt/list_append_nil.smt2 new file mode 100644 index 000000000..78aab7857 --- /dev/null +++ b/bench_adt/list_append_nil.smt2 @@ -0,0 +1,8 @@ +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Int) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(assert (not (forall ((x Lst)) (= x (append x nil))))) +(check-sat) diff --git a/bench_adt/list_append_sum.smt2 b/bench_adt/list_append_sum.smt2 new file mode 100644 index 000000000..2d3a6d794 --- /dev/null +++ b/bench_adt/list_append_sum.smt2 @@ -0,0 +1,12 @@ +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Int) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun sum (Lst) Int) +(assert (= (sum nil) 0)) +(assert (forall ((x Int) (y Lst)) (= (sum (cons x y)) (+ x (sum y))))) + +(assert (not (forall ((x Lst) (y Lst)) (= (+ (sum x) (sum y)) (sum (append x y)))))) +(check-sat) diff --git a/bench_adt/list_len.smt2 b/bench_adt/list_len.smt2 new file mode 100644 index 000000000..f1f1c370a --- /dev/null +++ b/bench_adt/list_len.smt2 @@ -0,0 +1,8 @@ +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun len (Lst) Int) +(assert (= (len nil) 0)) +(assert (forall ((x Int) (y Lst)) (= (len (cons x y)) (+ 1 (len y))))) + +(assert (not (forall ((x Lst)) (>= (len x) 0)))) +(check-sat) diff --git a/bench_adt/list_len_butlast.smt2 b/bench_adt/list_len_butlast.smt2 new file mode 100644 index 000000000..dc55c7d40 --- /dev/null +++ b/bench_adt/list_len_butlast.smt2 @@ -0,0 +1,16 @@ +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Int) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun len (Lst) Int) +(assert (= (len nil) 0)) +(assert (forall ((x Int) (y Lst)) (= (len (cons x y)) (+ 1 (len y))))) + +(declare-fun butlast (Lst) Lst) +(assert (= (butlast nil) nil)) +(assert (forall ((n Int) (x Lst)) (= (butlast (cons n x)) (ite (= x nil) nil (cons n (butlast x)))))) + +(assert (not (forall ((x Lst) (n Int)) (= (+ 1 (len (butlast (cons n x)))) (len (cons n x)))))) +(check-sat) diff --git a/bench_adt/list_len_stren.smt2 b/bench_adt/list_len_stren.smt2 new file mode 100644 index 000000000..366d70cc0 --- /dev/null +++ b/bench_adt/list_len_stren.smt2 @@ -0,0 +1,12 @@ +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun len (Lst) Int) +(assert (= (len nil) 0)) +(assert (forall ((x Int) (y Lst)) (= (len (cons x y)) (+ 1 (len y))))) + +(declare-fun lenstr (Lst) Int) +(assert (= (lenstr nil) 0)) +(assert (forall ((x Int) (y Lst)) (= (lenstr (cons x y)) (+ (len y) (lenstr y))))) + +(assert (not (forall ((x Lst)) (>= (lenstr x) 0)))) +(check-sat) diff --git a/bench_adt/list_min_max.smt2 b/bench_adt/list_min_max.smt2 new file mode 100644 index 000000000..5d36446f2 --- /dev/null +++ b/bench_adt/list_min_max.smt2 @@ -0,0 +1,12 @@ +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun min (Lst) Int) +(assert (= (min nil) 0)) +(assert (forall ((x Int) (y Lst)) (= (min (cons x y)) (ite (< (min y) x) (min y) x)))) + +(declare-fun max (Lst) Int) +(assert (= (max nil) 0)) +(assert (forall ((x Int) (y Lst)) (= (max (cons x y)) (ite (> (max y) x) (max y) x)))) + +(assert (not (forall ((x Lst)) (>= (max x) (min x))))) +(check-sat) diff --git a/bench_adt/list_min_sum.smt2 b/bench_adt/list_min_sum.smt2 new file mode 100644 index 000000000..b87facf26 --- /dev/null +++ b/bench_adt/list_min_sum.smt2 @@ -0,0 +1,12 @@ +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun sum (Lst) Int) +(assert (= (sum nil) 0)) +(assert (forall ((x Int) (y Lst)) (= (sum (cons x y)) (+ x (sum y))))) + +(declare-fun min (Lst) Int) +(assert (= (min nil) 0)) +(assert (forall ((x Int) (y Lst)) (= (min (cons x y)) (ite (< (min y) x) (min y) x)))) + +(assert (not (forall ((x Lst)) (=> (>= (min x) 0) (>= (sum x) 0))))) +(check-sat) diff --git a/bench_adt/list_min_sum_len.smt2 b/bench_adt/list_min_sum_len.smt2 new file mode 100644 index 000000000..2355c82bb --- /dev/null +++ b/bench_adt/list_min_sum_len.smt2 @@ -0,0 +1,16 @@ +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun len (Lst) Int) +(assert (= (len nil) 0)) +(assert (forall ((x Int) (y Lst)) (= (len (cons x y)) (+ 1 (len y))))) + +(declare-fun sum (Lst) Int) +(assert (= (sum nil) 0)) +(assert (forall ((x Int) (y Lst)) (= (sum (cons x y)) (+ x (sum y))))) + +(declare-fun min (Lst) Int) +(assert (= (min nil) 0)) +(assert (forall ((x Int) (y Lst)) (= (min (cons x y)) (ite (< (min y) x) (min y) x)))) + +(assert (not (forall ((x Lst)) (=> (> (min x) 0) (>= (sum x) (len x)))))) +(check-sat) diff --git a/bench_adt/list_rev.smt2 b/bench_adt/list_rev.smt2 new file mode 100644 index 000000000..5e0a26435 --- /dev/null +++ b/bench_adt/list_rev.smt2 @@ -0,0 +1,15 @@ +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Int) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun rev (Lst) Lst) +(assert (= (rev nil) nil)) +(assert (forall ((x Int) (y Lst)) (= (rev (cons x y)) (append (rev y) (cons x nil))))) + +; extra lemmas +(assert (forall ((x Lst) (y Lst)) (= (rev (append x y)) (append (rev y) (rev x))))) + +(assert (not (forall ((x Lst)) (= (rev (rev x)) x)))) +(check-sat) diff --git a/bench_adt/list_rev2.smt2 b/bench_adt/list_rev2.smt2 new file mode 100644 index 000000000..4e283cae8 --- /dev/null +++ b/bench_adt/list_rev2.smt2 @@ -0,0 +1,21 @@ +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Int) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun rev (Lst) Lst) +(assert (= (rev nil) nil)) +(assert (forall ((x Int) (y Lst)) (= (rev (cons x y)) (append (rev y) (cons x nil))))) + +(declare-fun rev2 (Lst Lst) Lst) +(assert (forall ((a Lst)) (= (rev2 nil a) a))) +(assert (forall ((x Int) (t Lst) (a Lst)) (= (rev2 (cons x t) a) (rev2 t (cons x a))))) + +; extra lemmas +(assert (forall ((x Lst) (a Lst)) (= (rev2 x a) (append (rev2 x nil) a)))) + +; needs just "--ind 3,5,6,7" + +(assert (not (forall ((x Lst)) (= (rev2 x nil) (rev x))))) +(check-sat) diff --git a/bench_adt/list_rev2_append.smt2 b/bench_adt/list_rev2_append.smt2 new file mode 100644 index 000000000..21e038bc3 --- /dev/null +++ b/bench_adt/list_rev2_append.smt2 @@ -0,0 +1,15 @@ +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Int) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun rev2 (Lst Lst) Lst) +(assert (forall ((a Lst)) (= (rev2 nil a) a))) +(assert (forall ((x Int) (t Lst) (a Lst)) (= (rev2 (cons x t) a) (rev2 t (cons x a))))) + +; extra lemma +(assert (forall ((x Lst) (y Lst) (z Lst)) (= (append (append x y) z) (append x (append y z))))) + +(assert (not (forall ((x Lst) (a Lst)) (= (rev2 x a) (append (rev2 x nil) a))))) +(check-sat) diff --git a/bench_adt/list_rev2_len.smt2 b/bench_adt/list_rev2_len.smt2 new file mode 100644 index 000000000..270e5d51a --- /dev/null +++ b/bench_adt/list_rev2_len.smt2 @@ -0,0 +1,20 @@ +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun len (Lst) Int) +(assert (= (len nil) 0)) +(assert (forall ((x Int) (y Lst)) (= (len (cons x y)) (+ 1 (len y))))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Int) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun rev2 (Lst Lst) Lst) +(assert (forall ((a Lst)) (= (rev2 nil a) a))) +(assert (forall ((x Int) (t Lst) (a Lst)) (= (rev2 (cons x t) a) (rev2 t (cons x a))))) + +;extra lemmas +(assert (forall ((x Lst) (a Lst)) (= (rev2 x a) (append (rev2 x nil) a)))) +(assert (forall ((x Lst) (y Lst)) (= (len (append x y)) (+ (len x) (len y))))) + +(assert (not (forall ((x Lst)) (= (len (rev2 x nil)) (len x))))) +(check-sat) diff --git a/bench_adt/list_rev_append.smt2 b/bench_adt/list_rev_append.smt2 new file mode 100644 index 000000000..ff4737c4c --- /dev/null +++ b/bench_adt/list_rev_append.smt2 @@ -0,0 +1,12 @@ +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Int) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun rev (Lst) Lst) +(assert (= (rev nil) nil)) +(assert (forall ((x Int) (y Lst)) (= (rev (cons x y)) (append (rev y) (cons x nil))))) + +(assert (not (forall ((x Lst) (y Lst)) (= (rev (append x y)) (append (rev y) (rev x)))))) +(check-sat) diff --git a/bench_adt/queue_amort.smt2 b/bench_adt/queue_amort.smt2 new file mode 100644 index 000000000..fc0b73fae --- /dev/null +++ b/bench_adt/queue_amort.smt2 @@ -0,0 +1,32 @@ +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun len (Lst) Int) +(assert (= (len nil) 0)) +(assert (forall ((x Int) (y Lst)) (= (len (cons x y)) (+ 1 (len y))))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Int) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun rev2 (Lst Lst) Lst) +(assert (forall ((a Lst)) (= (rev2 nil a) a))) +(assert (forall ((x Int) (t Lst) (a Lst)) (= (rev2 (cons x t) a) (rev2 t (cons x a))))) + +(declare-fun qrev (Lst) Lst) +(assert (forall ((x Lst)) (= (qrev x) (rev2 x nil)))) + +(declare-fun amortizeQueue (Lst Lst) Queue) +(assert (forall ((x Lst) (y Lst)) (= (amortizeQueue x y) + (ite (<= (len y) (len x)) + (queue x y) + (queue (append x (qrev y)) nil))))) + +(declare-fun isAmortized (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isAmortized (queue x y)) (<= (len y) (len x))))) + +;extra lemmas: +(assert (forall ((x Lst)) (<= 0 (len x)))) + +(assert (not (forall ((x Lst) (y Lst)) (isAmortized (amortizeQueue x y))))) +(check-sat) diff --git a/bench_adt/queue_len.smt2 b/bench_adt/queue_len.smt2 new file mode 100644 index 000000000..84fe86626 --- /dev/null +++ b/bench_adt/queue_len.smt2 @@ -0,0 +1,33 @@ +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun len (Lst) Int) +(assert (= (len nil) 0)) +(assert (forall ((x Int) (y Lst)) (= (len (cons x y)) (+ 1 (len y))))) + +(declare-fun qlen (Queue) Int) +(assert (forall ((x Lst) (y Lst)) (= (qlen (queue x y)) (+ (len x) (len y))))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Int) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun rev2 (Lst Lst) Lst) +(assert (forall ((a Lst)) (= (rev2 nil a) a))) +(assert (forall ((x Int) (t Lst) (a Lst)) (= (rev2 (cons x t) a) (rev2 t (cons x a))))) + +(declare-fun qrev (Lst) Lst) +(assert (forall ((x Lst)) (= (qrev x) (rev2 x nil)))) + +(declare-fun amortizeQueue (Lst Lst) Queue) +(assert (forall ((x Lst) (y Lst)) (= (amortizeQueue x y) + (ite (<= (len y) (len x)) + (queue x y) + (queue (append x (qrev y)) nil))))) + +; extra lemmas +(assert (forall ((x Lst)) (= (len (rev2 x nil)) (len x)))) +(assert (forall ((x Lst) (y Lst)) (= (len (append x y)) (+ (len x) (len y))))) + +(assert (not (forall ((x Lst) (y Lst)) (= (qlen (amortizeQueue x y)) (+ (len x) (len y)))))) +(check-sat) diff --git a/bench_adt/queue_popback.smt2 b/bench_adt/queue_popback.smt2 new file mode 100644 index 000000000..c5976b9d0 --- /dev/null +++ b/bench_adt/queue_popback.smt2 @@ -0,0 +1,34 @@ +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun len (Lst) Int) +(assert (= (len nil) 0)) +(assert (forall ((x Int) (y Lst)) (= (len (cons x y)) (+ 1 (len y))))) + +(declare-fun qlen (Queue) Int) +(assert (forall ((x Lst) (y Lst)) (= (qlen (queue x y)) (+ (len x) (len y))))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Int) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun butlast (Lst) Lst) +(assert (= (butlast nil) nil)) +(assert (forall ((n Int) (x Lst)) (= (butlast (cons n x)) + (ite (= x nil) nil (cons n (butlast x)))))) + +(declare-fun qpopback (Queue) Queue) +(assert (forall ((x Lst) (y Lst) (n Int)) (= (qpopback (queue x (cons n y))) (queue x y)))) +(assert (forall ((x Lst)) (= (qpopback (queue x nil)) (queue (butlast x) nil)))) + +(declare-fun isAmortized (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isAmortized (queue x y)) (<= (len y) (len x))))) + +(declare-fun isEmpty (Queue) Bool) +(assert (forall ((x Lst) (y Lst)) (= (isEmpty (queue x y)) (and (= x nil) (= y nil))))) + +; extra lemma +(assert (forall ((x Lst) (n Int)) (= (len (butlast (cons n x))) (len x)))) + +(assert (not (forall ((q Queue) (n Int)) (=> (and (isAmortized q) (not (isEmpty q))) (= (+ 1 (qlen (qpopback q))) (qlen q)))))) +(check-sat) diff --git a/bench_adt/queue_push.smt2 b/bench_adt/queue_push.smt2 new file mode 100644 index 000000000..291c10fab --- /dev/null +++ b/bench_adt/queue_push.smt2 @@ -0,0 +1,35 @@ +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun len (Lst) Int) +(assert (= (len nil) 0)) +(assert (forall ((x Int) (y Lst)) (= (len (cons x y)) (+ 1 (len y))))) + +(declare-fun qlen (Queue) Int) +(assert (forall ((x Lst) (y Lst)) (= (qlen (queue x y)) (+ (len x) (len y))))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Int) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun rev2 (Lst Lst) Lst) +(assert (forall ((a Lst)) (= (rev2 nil a) a))) +(assert (forall ((x Int) (t Lst) (a Lst)) (= (rev2 (cons x t) a) (rev2 t (cons x a))))) + +(declare-fun qrev (Lst) Lst) +(assert (forall ((x Lst)) (= (qrev x) (rev2 x nil)))) + +(declare-fun amortizeQueue (Lst Lst) Queue) +(assert (forall ((x Lst) (y Lst)) (= (amortizeQueue x y) + (ite (<= (len y) (len x)) + (queue x y) + (queue (append x (qrev y)) nil))))) + +(declare-fun qpush (Queue Int) Queue) +(assert (forall ((x Lst) (y Lst) (n Int)) (= (qpush (queue x y) n) (amortizeQueue x (cons n y))))) + +; extra lemma +(assert (forall ((x Lst) (y Lst)) (= (qlen (amortizeQueue x y)) (+ (len x) (len y))))) + +(assert (not (forall ((q Queue) (n Int)) (= (qlen (qpush q n)) (+ 1 (qlen q)))))) +(check-sat) diff --git a/bench_adt/queue_push_to_list.smt2 b/bench_adt/queue_push_to_list.smt2 new file mode 100644 index 000000000..c6ec3ad3d --- /dev/null +++ b/bench_adt/queue_push_to_list.smt2 @@ -0,0 +1,39 @@ +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun len (Lst) Int) +(assert (= (len nil) 0)) +(assert (forall ((x Int) (y Lst)) (= (len (cons x y)) (+ 1 (len y))))) + +(declare-fun qlen (Queue) Int) +(assert (forall ((x Lst) (y Lst)) (= (qlen (queue x y)) (+ (len x) (len y))))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Int) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun rev2 (Lst Lst) Lst) +(assert (forall ((a Lst)) (= (rev2 nil a) a))) +(assert (forall ((x Int) (t Lst) (a Lst)) (= (rev2 (cons x t) a) (rev2 t (cons x a))))) + +(declare-fun qrev (Lst) Lst) +(assert (forall ((x Lst)) (= (qrev x) (rev2 x nil)))) + +(declare-fun amortizeQueue (Lst Lst) Queue) +(assert (forall ((x Lst) (y Lst)) (= (amortizeQueue x y) + (ite (<= (len y) (len x)) + (queue x y) + (queue (append x (qrev y)) nil))))) + +(declare-fun qpush (Queue Int) Queue) +(assert (forall ((x Lst) (y Lst) (n Int)) (= (qpush (queue x y) n) (amortizeQueue x (cons n y))))) + +(declare-fun queue-to-lst (Queue) Lst) +(assert (forall ((x Lst) (y Lst)) (= (queue-to-lst (queue x y)) (append x (qrev y))))) + +; extra lemmas +(assert (forall ((x Lst) (y Lst) (z Lst)) (= (append (append x y) z) (append x (append y z))))) +(assert (forall ((x Lst) (a Lst)) (= (rev2 x a) (append (rev2 x nil) a)))) + +(assert (not (forall ((q Queue) (n Int)) (= (append (queue-to-lst q) (cons n nil)) (queue-to-lst (qpush q n)))))) +(check-sat) diff --git a/bench_adt/run-bench.sh b/bench_adt/run-bench.sh new file mode 100755 index 000000000..a40b591df --- /dev/null +++ b/bench_adt/run-bench.sh @@ -0,0 +1,77 @@ +#!/bin/bash +echo "This is the script for running regression tests" +echo " - date: $(date '+%Y-%m-%d at %H:%M.%S')" +echo " - host name $(hostname -f)" +echo " - script path: $(readlink -f $0)" + +opensmt=../opensmt +if [[ ! $# -eq 0 ]] ; then + #echo 'Setting path to' $1 + opensmt=$1 +fi + +# run the interpolating version of OpenSMT +opensmt=${opensmt}' -i' + +picky=./utils/picky.smt2 +lookahead=./utils/lookahead.smt2 + +tmpfolder=log-$(date '+%Y-%m-%d-%H-%M-%S') +mkdir ${tmpfolder} + +export outmod=false +export errmod=false +export rtmod=false +export err=false + +for file in $(find . -name '*.smt2' |sort); do + name=$(basename $file) + dir=$(dirname $file) + + sh -c "ulimit -St 60; ${opensmt} $dir/$name > $tmpfolder/$name.out 2>$tmpfolder/$name.err.tmp" 2>/dev/null + grep -v '^;' $tmpfolder/$name.err.tmp > $tmpfolder/$name.err + + if [ -s "$tmpfolder/$name.err" ]; then + echo "stderr not empty for benchmark $file"; + err=true; + fi + + sh -c "ulimit -St 60; ${opensmt} $picky $dir/$name > $tmpfolder/$name.out 2>$tmpfolder/$name.err.tmp" 2>/dev/null + grep -v '^;' $tmpfolder/$name.err.tmp > $tmpfolder/$name.err + + if [ -s "$tmpfolder/$name.err" ]; then + echo "stderr not empty for picky benchmark $file"; + err=true; + fi + + sh -c "ulimit -St 60; ${opensmt} $lookahead $dir/$name > $tmpfolder/$name.out 2>$tmpfolder/$name.err.tmp" 2>/dev/null + grep -v '^;' $tmpfolder/$name.err.tmp > $tmpfolder/$name.err + + if [ -s "$tmpfolder/$name.err" ]; then + echo "stderr not empty for lookahead benchmark $file"; + err=true; + fi + + #diff -q ${tmpfolder}/${name}.out ${dir}/${name}.expected.out + #if [ $? != 0 ]; then + # echo "stdout differs for benchmark $file"; + # outmod=true; + # diff ${tmpfolder}/${name}.out ${dir}/${name}.expected.out + #fi + #diff -q ${tmpfolder}/${name}.err ${dir}/${name}.expected.err + #if [ $? != 0 ]; then + # echo "stderr differs for benchmark $file"; + # errmod=true; + # diff ${tmpfolder}/${name}.err ${dir}/${name}.expected.err + #fi + +done +#echo "Stdout differs: ${outmod}, stderr differs: ${errmod}" + +if [[ ${err} == true ]]; then + echo "There were anomalies: check logs in ${tmpfolder}" + exit 1 +else + rm -rf ${tmpfolder} +fi + diff --git a/bench_adt/tree_insert_all_size.smt2 b/bench_adt/tree_insert_all_size.smt2 new file mode 100644 index 000000000..412dc4556 --- /dev/null +++ b/bench_adt/tree_insert_all_size.smt2 @@ -0,0 +1,21 @@ +(declare-datatypes () ((Tree (node (data Int) (left Tree) (right Tree)) (leaf)))) + +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun tinsert (Tree Int) Tree) +(assert (forall ((i Int)) (= (tinsert leaf i) (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int)) (= (tinsert (node d l r) i) (ite (< d i) (node d l (tinsert r i)) (node d (tinsert l i) r))))) + +(declare-fun tinsert-all (Tree Lst) Tree) +(assert (forall ((x Tree)) (= (tinsert-all x nil) x))) +(assert (forall ((x Tree) (n Int) (l Lst)) (= (tinsert-all x (cons n l)) (tinsert (tinsert-all x l) n)))) + +(declare-fun tsize (Tree) Int) +(assert (= (tsize leaf) 0)) +(assert (forall ((x Int) (l Tree) (r Tree)) (= (tsize (node x l r)) (+ 1 (+ (tsize l) (tsize r)))))) + +; extra lemmas +(assert (forall ((t Tree) (n Int)) (= (tsize (tinsert t n)) (+ 1 (tsize t))))) + +(assert (not (forall ((l Lst) (t Tree)) (<= (tsize t) (tsize (tinsert-all t l)))))) +(check-sat) diff --git a/bench_adt/tree_insert_size.smt2 b/bench_adt/tree_insert_size.smt2 new file mode 100644 index 000000000..9072ee375 --- /dev/null +++ b/bench_adt/tree_insert_size.smt2 @@ -0,0 +1,12 @@ +(declare-datatypes () ((Tree (node (data Int) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Int) Tree) +(assert (forall ((i Int)) (= (tinsert leaf i) (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int)) (= (tinsert (node d l r) i) (ite (< d i) (node d l (tinsert r i)) (node d (tinsert l i) r))))) + +(declare-fun tsize (Tree) Int) +(assert (= (tsize leaf) 0)) +(assert (forall ((x Int) (l Tree) (r Tree)) (= (tsize (node x l r)) (+ 1 (+ (tsize l) (tsize r)))))) + +(assert (not (forall ((t Tree) (n Int)) (= (tsize (tinsert t n)) (+ 1 (tsize t)))))) +(check-sat) diff --git a/bench_adt/tree_insert_sum.smt2 b/bench_adt/tree_insert_sum.smt2 new file mode 100644 index 000000000..a177a9e06 --- /dev/null +++ b/bench_adt/tree_insert_sum.smt2 @@ -0,0 +1,12 @@ +(declare-datatypes () ((Tree (node (data Int) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Int) Tree) +(assert (forall ((i Int)) (= (tinsert leaf i) (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int)) (= (tinsert (node d l r) i) (ite (< d i) (node d l (tinsert r i)) (node d (tinsert l i) r))))) + +(declare-fun tsum (Tree) Int) +(assert (= (tsum leaf) 0)) +(assert (forall ((x Int) (l Tree) (r Tree)) (= (tsum (node x l r)) (+ x (+ (tsum l) (tsum r)))))) + +(assert (not (forall ((t Tree) (n Int)) (= (tsum (tinsert t n)) (+ n (tsum t)))))) +(check-sat) diff --git a/bench_adt/tree_size.smt2 b/bench_adt/tree_size.smt2 new file mode 100644 index 000000000..3ff42ce72 --- /dev/null +++ b/bench_adt/tree_size.smt2 @@ -0,0 +1,8 @@ +(declare-datatypes () ((Tree (node (data Int) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tsize (Tree) Int) +(assert (= (tsize leaf) 0)) +(assert (forall ((x Int) (l Tree) (r Tree)) (= (tsize (node x l r)) (+ 1 (+ (tsize l) (tsize r)))))) + +(assert (not (forall ((x Tree)) (>= (tsize x) 0)))) +(check-sat) diff --git a/bench_horn_adt/ADTIND/heap_size.smt2 b/bench_horn_adt/ADTIND/heap_size.smt2 new file mode 100644 index 000000000..0eb903d16 --- /dev/null +++ b/bench_horn_adt/ADTIND/heap_size.smt2 @@ -0,0 +1,11 @@ +(set-logic HORN) +(declare-datatypes () ((Heap (hleaf) (heap (rk Int) (value Int) (hleft Heap) (hright Heap))))) +(declare-fun hsize (Heap Int) Bool) + +(assert (hsize hleaf 0)) +(assert (forall ((k Int) (v Int) (l Heap) (r Heap) (m Heap) (sl Int) (sr Int)) + (=> (and (= m (heap k v l r)) (hsize l sl) (hsize r sr)) (hsize m (+ 1 (+ sl sr)))))) + +(assert (forall ((s Int) (m Heap)) + (=> (and (hsize m s) (not (>= s 0))) false))) +(check-sat) diff --git a/bench_horn_adt/ADTIND/list_append_ass.smt2 b/bench_horn_adt/ADTIND/list_append_ass.smt2 new file mode 100644 index 000000000..b610f62d9 --- /dev/null +++ b/bench_horn_adt/ADTIND/list_append_ass.smt2 @@ -0,0 +1,12 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst Lst) Bool) + +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(assert (forall ((xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst) (us Lst) (ws Lst)) + (=> (and (append ys zs rs) (append xs ys ts) (append xs rs us) (append ts zs ws) (not (= ws us))) false))) +(check-sat) \ No newline at end of file diff --git a/bench_horn_adt/ADTIND/list_append_len.smt2 b/bench_horn_adt/ADTIND/list_append_len.smt2 new file mode 100644 index 000000000..aa966e4e2 --- /dev/null +++ b/bench_horn_adt/ADTIND/list_append_len.smt2 @@ -0,0 +1,15 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) +(declare-fun length (Lst Int) Bool) +(declare-fun append (Lst Lst Lst) Bool) + +(assert (length nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (length ys l)) (length xs (+ l 1))))) + +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(assert (forall ((xs Lst) (lx Int) (ys Lst) (ly Int) (zs Lst) (lz Int)) + (=> (and (length xs lx) (length ys ly) (append xs ys zs) (length zs lz) (not (= (+ lx ly) lz))) false))) +(check-sat) diff --git a/bench_horn_adt/ADTIND/list_append_min.smt2 b/bench_horn_adt/ADTIND/list_append_min.smt2 new file mode 100644 index 000000000..def469540 --- /dev/null +++ b/bench_horn_adt/ADTIND/list_append_min.smt2 @@ -0,0 +1,18 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst Lst) Bool) + +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(declare-fun min (Lst Int) Bool) +(assert (min nil 0)) +(assert (forall ((x Int) (y Lst) (z Int) (r Int)) + (=> (and (min y z) (= r (ite (< z x) z x))) (min (cons x y) r)))) + +(assert (forall ((x Lst) (y Lst) (z Lst) (r Int) (s Int) (t Int)) + (=> (and (append x y z) (min x r) (min y s) (min z t) (not (<= t r))) false))) + +(check-sat) \ No newline at end of file diff --git a/bench_horn_adt/ADTIND/list_append_min2.smt2 b/bench_horn_adt/ADTIND/list_append_min2.smt2 new file mode 100644 index 000000000..cd1036f1e --- /dev/null +++ b/bench_horn_adt/ADTIND/list_append_min2.smt2 @@ -0,0 +1,18 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst Lst) Bool) + +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(declare-fun min (Lst Int) Bool) +(assert (min nil 0)) +(assert (forall ((x Int) (y Lst) (z Int) (r Int)) + (=> (and (min y z) (= r (ite (< z x) z x))) (min (cons x y) r)))) + +(assert (forall ((x Lst) (y Lst) (z Lst) (r Int) (s Int) (t Int)) + (=> (and (append x y z) (min x r) (min y s) (min z t) (not (<= t s))) false))) + +(check-sat) \ No newline at end of file diff --git a/bench_horn_adt/ADTIND/list_append_nil.smt2 b/bench_horn_adt/ADTIND/list_append_nil.smt2 new file mode 100644 index 000000000..142ba1159 --- /dev/null +++ b/bench_horn_adt/ADTIND/list_append_nil.smt2 @@ -0,0 +1,11 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) +(declare-fun append (Lst Lst Lst) Bool) + +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(assert (forall ((xs Lst) (ys Lst)) + (=> (and (append xs nil ys) (not (= xs ys))) false))) +(check-sat) diff --git a/bench_horn_adt/ADTIND/list_append_sum.smt2 b/bench_horn_adt/ADTIND/list_append_sum.smt2 new file mode 100644 index 000000000..46cc61fe1 --- /dev/null +++ b/bench_horn_adt/ADTIND/list_append_sum.smt2 @@ -0,0 +1,18 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst Lst) Bool) + +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(declare-fun sum (Lst Int) Bool) +(assert (sum nil 0)) +(assert (forall ((x Int) (y Lst) (z Int)) + (=> (sum y z) (sum (cons x y) (+ x z))))) + +(assert (forall ((x Lst) (y Lst) (z Lst) (r Int) (s Int) (t Int)) + (=> (and (append x y z) (sum x r) (sum y s) (sum z t) (not (= t (+ r s)))) false))) + +(check-sat) \ No newline at end of file diff --git a/bench_horn_adt/ADTIND/list_interleave.smt2 b/bench_horn_adt/ADTIND/list_interleave.smt2 new file mode 100644 index 000000000..e8a25ec3f --- /dev/null +++ b/bench_horn_adt/ADTIND/list_interleave.smt2 @@ -0,0 +1,20 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) +(declare-fun interleave (Lst Lst Lst) Bool) +(declare-fun evens (Lst Lst) Bool) +(declare-fun odds (Lst Lst) Bool) + +(assert (evens nil nil)) +(assert (odds nil nil)) +(assert (forall ((xs Lst) (ys Lst) (x Int) (rs Lst)) + (=> (and (= xs (cons x ys)) (odds ys rs)) (evens xs (cons x rs))))) +(assert (forall ((xs Lst) (ys Lst) (x Int) (rs Lst)) + (=> (and (= xs (cons x ys)) (evens ys rs)) (odds xs rs)))) +(assert (forall ((ys Lst) (zs Lst)) (=> (= zs nil) (interleave zs ys ys)))) +(assert (forall ((xs Lst) (ys Lst) (zs Lst) (z Int) (rs Lst)) + (=> (and (= zs (cons z xs)) (interleave ys xs rs)) + (interleave zs ys (cons z rs))))) + +(assert (forall ((xs Lst) (ys Lst) (zs Lst) (rs Lst)) + (=> (and (evens xs ys) (odds xs zs) (interleave ys zs rs) (not (= xs rs))) false))) +(check-sat) diff --git a/bench_horn_adt/ADTIND/list_len.smt2 b/bench_horn_adt/ADTIND/list_len.smt2 new file mode 100644 index 000000000..7ecf758aa --- /dev/null +++ b/bench_horn_adt/ADTIND/list_len.smt2 @@ -0,0 +1,11 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) +(declare-fun length (Lst Int) Bool) +(declare-fun ff () Bool) +(assert (length nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (length ys l)) (length xs (+ l 1))))) +(assert (forall ((l Int) (xs Lst)) + (=> (and (length xs l) (not (>= l 0))) ff))) +(assert (not ff)) +(check-sat) \ No newline at end of file diff --git a/bench_horn_adt/ADTIND/list_len_acc.smt2 b/bench_horn_adt/ADTIND/list_len_acc.smt2 new file mode 100644 index 000000000..c725a6a1e --- /dev/null +++ b/bench_horn_adt/ADTIND/list_len_acc.smt2 @@ -0,0 +1,10 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) +(declare-fun length (Lst Int) Bool) +(declare-fun ff () Bool) +(assert (length nil 0)) + +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (length ys l) (not (length (tail xs) l))) ff))) +(assert (not ff)) +(check-sat) \ No newline at end of file diff --git a/bench_horn_adt/ADTIND/list_len_butlast.smt2 b/bench_horn_adt/ADTIND/list_len_butlast.smt2 new file mode 100644 index 000000000..dee9b4d7d --- /dev/null +++ b/bench_horn_adt/ADTIND/list_len_butlast.smt2 @@ -0,0 +1,17 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) +(declare-fun length (Lst Int) Bool) +(declare-fun append (Lst Lst Lst) Bool) +(declare-fun butlast (Lst Lst) Bool) + +(assert (length nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (length ys l)) (length xs (+ l 1))))) + +(assert (butlast nil nil)) +(assert (forall ((n Int) (xs Lst) (rs Lst) (ys Lst) (zs Lst)) + (=> (and (= ys (cons n xs)) (butlast xs zs) (= rs (ite (= xs nil) nil (cons n zs)))) (butlast ys rs)))) + +(assert (forall ((xs Lst) (ys Lst) (zs Lst) (n Int) (l1 Int) (l2 Int)) + (=> (and (= ys (cons n xs)) (butlast ys zs) (length ys l1) (length zs l2) (not (= (+ l2 1) l1))) false))) +(check-sat) diff --git a/bench_horn_adt/ADTIND/list_len_stren.smt2 b/bench_horn_adt/ADTIND/list_len_stren.smt2 new file mode 100644 index 000000000..562c1b1dd --- /dev/null +++ b/bench_horn_adt/ADTIND/list_len_stren.smt2 @@ -0,0 +1,18 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun length (Lst Int) Bool) +(declare-fun length_str (Lst Int) Bool) + +(assert (length nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (length ys l)) (length xs (+ l 1))))) + +(assert (length_str nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l1 Int) (l2 Int)) + (=> (and (= xs (cons x ys)) (length ys l1) (length_str ys l2)) (length_str xs (+ l1 l2))))) + +(assert (forall ((l Int) (xs Lst)) + (=> (and (length_str xs l) (not (>= l 0))) false))) + +(check-sat) diff --git a/bench_horn_adt/ADTIND/list_min_max.smt2 b/bench_horn_adt/ADTIND/list_min_max.smt2 new file mode 100644 index 000000000..7fd75df62 --- /dev/null +++ b/bench_horn_adt/ADTIND/list_min_max.smt2 @@ -0,0 +1,15 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) +(declare-fun min (Lst Int) Bool) +(assert (min nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int) (r Int)) + (=> (and (= xs (cons x ys)) (min ys l) (= r (ite (< l x) l x))) (min xs r)))) + +(declare-fun max (Lst Int) Bool) +(assert (max nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int) (r Int)) + (=> (and (= xs (cons x ys)) (max ys l) (= r (ite (> l x) l x))) (max xs r)))) + +(assert (forall ((x Int) (y Int) (xs Lst)) + (=> (and (min xs x) (max xs y) (not (>= y x))) false))) +(check-sat) \ No newline at end of file diff --git a/bench_horn_adt/ADTIND/list_min_sum.smt2 b/bench_horn_adt/ADTIND/list_min_sum.smt2 new file mode 100644 index 000000000..7bcf4429c --- /dev/null +++ b/bench_horn_adt/ADTIND/list_min_sum.smt2 @@ -0,0 +1,16 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun min (Lst Int) Bool) +(assert (min nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int) (r Int)) + (=> (and (= xs (cons x ys)) (min ys l) (= r (ite (< l x) l x))) (min xs r)))) + +(declare-fun sum (Lst Int) Bool) +(assert (sum nil 0)) +(assert (forall ((x Int) (y Lst) (z Int)) + (=> (sum y z) (sum (cons x y) (+ x z))))) + +(assert (forall ((x Int) (y Int) (xs Lst)) + (=> (and (min xs x) (sum xs y) (>= x 0) (not (>= y 0))) false))) +(check-sat) \ No newline at end of file diff --git a/bench_horn_adt/ADTIND/list_min_sum_len.smt2 b/bench_horn_adt/ADTIND/list_min_sum_len.smt2 new file mode 100644 index 000000000..8fee8b338 --- /dev/null +++ b/bench_horn_adt/ADTIND/list_min_sum_len.smt2 @@ -0,0 +1,22 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun min (Lst Int) Bool) +(assert (min nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int) (r Int)) + (=> (and (= xs (cons x ys)) (min ys l) (= r (ite (< l x) l x))) (min xs r)))) + +(declare-fun sum (Lst Int) Bool) +(assert (sum nil 0)) +(assert (forall ((x Int) (y Lst) (z Int)) + (=> (sum y z) (sum (cons x y) (+ x z))))) + + +(declare-fun length (Lst Int) Bool) +(assert (length nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (length ys l)) (length xs (+ l 1))))) + +(assert (forall ((x Int) (s Int) (l Int) (xs Lst)) + (=> (and (min xs x) (sum xs s) (length xs l) (> x 0) (not (>= s l))) false))) +(check-sat) \ No newline at end of file diff --git a/bench_horn_adt/ADTIND/list_rev.smt2 b/bench_horn_adt/ADTIND/list_rev.smt2 new file mode 100644 index 000000000..61cbe359c --- /dev/null +++ b/bench_horn_adt/ADTIND/list_rev.smt2 @@ -0,0 +1,24 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst Lst) Bool) +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(declare-fun rev (Lst Lst) Bool) +(assert (rev nil nil)) +(assert (forall ((xs Lst) (x Int) (ys Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (rev ys rs) (append rs (cons x nil) ts)) (rev xs ts)))) + +; extra lemmas +(assert (forall ((xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst) (us Lst) (ws Lst)) + (=> (and (append ys zs rs) (append xs ys ts) (append xs rs us) (append ts zs ws) (not (= us ws))) false))) +(assert (forall ((xs Lst) (ys Lst)) (=> (and (append xs nil ys) (not (= xs ys))) false))) +(assert (forall ((xs Lst) (ys Lst) (zs Lst) (us Lst) (rs Lst) (ts Lst) (vs Lst)) + (=> (and (append xs ys zs) (rev ys rs) (rev xs ts) (append rs ts us) (rev zs vs) (not (= us vs))) false))) + +(assert (forall ((xs Lst) (ys Lst) (zs Lst)) (=> (and (rev xs ys) (rev ys zs) (not (= xs zs))) false))) + +(check-sat) +(assert (forall ((x Int) (y Int)) (=> (> x y) (max x y x)))) \ No newline at end of file diff --git a/bench_horn_adt/ADTIND/list_rev2_append.smt2 b/bench_horn_adt/ADTIND/list_rev2_append.smt2 new file mode 100644 index 000000000..0ac67e57a --- /dev/null +++ b/bench_horn_adt/ADTIND/list_rev2_append.smt2 @@ -0,0 +1,25 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) +(declare-fun append (Lst Lst Lst) Bool) + +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(declare-fun rev2 (Lst Lst Lst) Bool) +(assert (forall ((a Lst)) (rev2 nil a a))) +(assert (forall ((x Int) (ts Lst) (xs Lst) (zs Lst) (rs Lst) (us Lst)) + (=> (and (= xs (cons x ts)) (= rs (cons x zs)) (rev2 ts rs us)) (rev2 xs zs us)))) + +; extra lemma +; (assert (forall ((xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst) (us Lst) (vs Lst)) +; (=> (and (append xs ys rs) (append ys zs ts) (append xs ts us) (append rs zs vs) (not (= us vs))) false))) + + +(assert (forall ((xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst) (us Lst)) + (=> (and (append xs ys rs) (append ys zs ts) (append xs ts us)) (append rs zs us)))) + +(assert (forall ((xs Lst) (zs Lst) (ts Lst) (us Lst) (ys Lst)) + (=> (and (rev2 xs zs ts) (rev2 xs nil ys) (append ys zs us) (not (= ts us))) false))) + +(check-sat) diff --git a/bench_horn_adt/ADTIND/list_rev2_len.smt2 b/bench_horn_adt/ADTIND/list_rev2_len.smt2 new file mode 100644 index 000000000..8a62d2107 --- /dev/null +++ b/bench_horn_adt/ADTIND/list_rev2_len.smt2 @@ -0,0 +1,29 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) +(declare-fun append (Lst Lst Lst) Bool) +(declare-fun rev2 (Lst Lst Lst) Bool) +(declare-fun len (Lst Int) Bool) + +(assert (len nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (len ys l)) (len xs (+ l 1))))) + +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(assert (forall ((xs Lst)) (rev2 nil xs xs))) +(assert (forall ((xs Lst) (ys Lst) (zs Lst) (rs Lst) (x Int) (ts Lst)) + (=> (and (= xs (cons x ys)) (= zs (cons x ts)) (rev2 ys zs rs)) (rev2 xs ts rs)))) + + +; extra lemmas +(assert (forall ((xs Lst) (ys Lst) (zs Lst) (lx Int) (ly Int) (lz Int)) + (=> (and (append xs ys zs) (len xs lx) (len ys ly) (len zs lz) (not (= lz (+ lx ly)))) false))) +(assert (forall ((xs Lst) (ys Lst) (rs Lst) (zs Lst) (vs Lst) ) + (=> (and (rev2 xs nil zs) (append zs ys rs) (rev2 xs ys vs) (not (= vs rs))) false))) + +(assert (forall ((xs Lst) (ys Lst) (lx Int) (ly Int)) + (=> (and (rev2 xs nil ys) (len xs lx) (len ys ly) (not (= lx ly))) false))) + +(check-sat) diff --git a/bench_horn_adt/ADTIND/list_rev_append.smt2 b/bench_horn_adt/ADTIND/list_rev_append.smt2 new file mode 100644 index 000000000..51e4674b7 --- /dev/null +++ b/bench_horn_adt/ADTIND/list_rev_append.smt2 @@ -0,0 +1,17 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst Lst) Bool) +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(declare-fun rev (Lst Lst) Bool) +(assert (rev nil nil)) +(assert (forall ((xs Lst) (x Int) (ys Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (rev ys rs) (append rs (cons x nil) ts)) (rev xs ts)))) + +(assert (forall ((xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst) (us Lst) (ws Lst)) + (=> (and (append xs ys zs) (rev zs rs) (rev ys ts) (rev xs us) (append ts us ws) (not (= rs ws))) false))) + +(check-sat) \ No newline at end of file diff --git a/bench_horn_adt/ADTIND/list_rev_len.smt2 b/bench_horn_adt/ADTIND/list_rev_len.smt2 new file mode 100644 index 000000000..046dace5d --- /dev/null +++ b/bench_horn_adt/ADTIND/list_rev_len.smt2 @@ -0,0 +1,26 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst Lst) Bool) +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(declare-fun rev (Lst Lst) Bool) +(assert (rev nil nil)) +(assert (forall ((xs Lst) (x Int) (ys Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (rev ys rs) (append rs (cons x nil) ts)) (rev xs ts)))) + +(declare-fun length (Lst Int) Bool) +(assert (length nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (length ys l)) (length xs (+ l 1))))) + +(assert (forall ((xs Lst) (lx Int) (ys Lst) (ly Int) (zs Lst) (lz Int)) + (=> (and (length xs lx) (length ys ly) (append xs ys zs) (length zs lz) (not (= (+ lx ly) lz))) false))) + +(assert (forall ((xs Lst) (lx Int) (ys Lst) (ly Int)) + (=> (and (length xs lx) (length ys ly) (rev xs ys) (not (= lx ly))) false))) + + +(check-sat) diff --git a/bench_horn_adt/ADTIND/list_value_check_acc.smt2 b/bench_horn_adt/ADTIND/list_value_check_acc.smt2 new file mode 100644 index 000000000..0cd73991e --- /dev/null +++ b/bench_horn_adt/ADTIND/list_value_check_acc.smt2 @@ -0,0 +1,11 @@ +;There is some weird error rn +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) +(declare-fun length (Lst Int) Bool) +(declare-fun ff () Bool) + +;(assert (length nil 0)) +(assert (forall ((x1 Int) (x2 Int) (xs Lst) (ys Lst) (zs Lst) (l Int)) + (=> (and (= xs (cons x1 ys)) (= ys (cons x2 zs)) (not (= (head (tail xs)) x2))) ff))) +(assert (not ff)) +(check-sat) \ No newline at end of file diff --git a/bench_horn_adt/ADTIND/queue_amort.smt2 b/bench_horn_adt/ADTIND/queue_amort.smt2 new file mode 100644 index 000000000..2d6458373 --- /dev/null +++ b/bench_horn_adt/ADTIND/queue_amort.smt2 @@ -0,0 +1,41 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun len (Lst Int) Bool) + +(assert (len nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (len ys l)) (len xs (+ l 1))))) + +(declare-fun append (Lst Lst Lst) Bool) +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + + +(declare-fun rev2 (Lst Lst Lst) Bool) +(assert (forall ((xs Lst)) (rev2 nil xs xs))) +(assert (forall ((x Int) (ts Lst) (xs Lst) (zs Lst) (rs Lst) (us Lst)) + (=> (and (= xs (cons x ts)) (= rs (cons x zs)) (rev2 ts rs us)) (rev2 xs zs us)))) + +(declare-fun qrev (Lst Lst) Bool) +(assert (forall ((xs Lst) (ys Lst)) (=> (rev2 xs nil ys) (qrev xs ys)))) + +(declare-fun amortizeQueue (Lst Lst Queue) Bool) +(assert (forall ((x Lst) (y Lst) (q Queue) (ly Int) (lx Int) (z Lst) (a Lst)) + (=> (and (len y ly) (len x lx) (qrev y z) (append x z a) + (= q (ite (<= ly lx) (queue x y) (queue a nil)))) (amortizeQueue x y q)))) + +(declare-fun isAmortized (Queue Bool) Bool) +(assert (forall ((x Lst) (y Lst) (lx Int) (ly Int)) + (=> (and (len x lx) (len y ly) (<= ly lx)) (isAmortized (queue x y) true)))) + +; extra lemma +(assert (forall ((l Int) (xs Lst)) + (=> (and (len xs l) (not (>= l 0))) false))) + +(assert (forall ((x Lst) (y Lst) (q Queue)) + (=> (and (amortizeQueue x y q) (not (isAmortized q true))) false))) + +(check-sat) \ No newline at end of file diff --git a/bench_horn_adt/ADTIND/queue_len.smt2 b/bench_horn_adt/ADTIND/queue_len.smt2 new file mode 100644 index 000000000..c070b2362 --- /dev/null +++ b/bench_horn_adt/ADTIND/queue_len.smt2 @@ -0,0 +1,43 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun len (Lst Int) Bool) + +(assert (len nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (len ys l)) (len xs (+ l 1))))) + +(declare-fun qlen (Queue Int) Bool) +(assert (forall ((x Lst) (y Lst) (lx Int) (ly Int) (lq Int)) + (=> (and (len x lx) (len y ly)) (qlen (queue x y) (+ lx ly))))) + +(declare-fun append (Lst Lst Lst) Bool) +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + + +(declare-fun rev2 (Lst Lst Lst) Bool) +(assert (forall ((zs Lst)) (rev2 nil zs zs))) +(assert (forall ((x Int) (ts Lst) (xs Lst) (zs Lst) (rs Lst) (us Lst)) + (=> (and (= xs (cons x ts)) (= rs (cons x zs)) (rev2 ts rs us)) (rev2 xs zs us)))) + +(declare-fun qrev (Lst Lst) Bool) +(assert (forall ((xs Lst) (ys Lst)) (=> (rev2 xs nil ys) (qrev xs ys)))) + +(declare-fun amortizeQueue (Lst Lst Queue) Bool) +(assert (forall ((x Lst) (y Lst) (q Queue) (ly Int) (lx Int) (z Lst) (a Lst)) + (=> (and (len y ly) (len x lx) (qrev y z) (append x z a) + (= q (ite (<= ly lx) (queue x y) (queue a nil)))) (amortizeQueue x y q)))) + +; extra lemmas +(assert (forall ((xs Lst) (ys Lst) (lx Int) (ly Int)) + (=> (and (rev2 xs nil ys) (len xs lx) (len ys ly) (not (= ly lx))) false))) +(assert (forall ((x Lst) (y Lst) (z Lst) (lx Int) (ly Int) (lz Int)) + (=> (and (append x y z) (len x lx) (len y ly) (len z lz) (not (= lz (+ lx ly)))) false))) + +(assert (forall ((x Lst) (y Lst) (q Queue) (lx Int) (ly Int) (lq Int)) + (=> (and (amortizeQueue x y q) (qlen q lq) (len x lx) (len y ly) (not (= lq (+ lx ly)))) false))) + +(check-sat) diff --git a/bench_horn_adt/ADTIND/queue_popback.smt2 b/bench_horn_adt/ADTIND/queue_popback.smt2 new file mode 100644 index 000000000..773c65589 --- /dev/null +++ b/bench_horn_adt/ADTIND/queue_popback.smt2 @@ -0,0 +1,44 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun len (Lst Int) Bool) +(assert (len nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (len ys l)) (len xs (+ l 1))))) + +(declare-fun qlen (Queue Int) Bool) +(assert (forall ((x Lst) (y Lst) (lx Int) (ly Int) (lq Int)) + (=> (and (len x lx) (len y ly)) (qlen (queue x y) (+ lx ly))))) + +(declare-fun append (Lst Lst Lst) Bool) +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + + +(declare-fun butlast (Lst Lst) Bool) +(assert (butlast nil nil)) +(assert (forall ((n Int) (x Lst) (y Lst) (z Lst)) + (=> (and (butlast x y) (= z (ite (= x nil) nil (cons n y)))) (butlast (cons n x) z)))) + +(declare-fun qpopback (Queue Queue) Bool) +(assert (forall ((x Lst) (y Lst) (n Int)) (qpopback (queue x (cons n y)) (queue x y)))) +(assert (forall ((x Lst) (y Lst)) (=> (butlast x y) (qpopback (queue x nil) (queue y nil))))) + +(declare-fun isAmortized (Queue Bool) Bool) +(assert (forall ((x Lst) (y Lst) (lx Int) (ly Int)) + (=> (and (len x lx) (len y ly) (<= ly lx)) (isAmortized (queue x y) true)))) + +(declare-fun isNotEmpty (Queue Bool) Bool) +(assert (forall ((x Lst) (y Lst) (n Int) (z Lst)) (=> (= x (cons n y)) (isNotEmpty (queue x z) true)))) +(assert (forall ((x Lst) (y Lst) (n Int) (z Lst)) (=> (= z (cons n y)) (isNotEmpty (queue x z) true)))) + +; extra lemma +(assert (forall ((x Lst) (n Int) (y Lst) (lx Int) (ly Int)) + (=> (and (butlast (cons n x) y) (len y ly) (len x lx) (not (= lx ly))) false))) + +(assert (forall ((q Queue) (n Int) (p Queue) (lp Int) (lq Int)) + (=> (and (isNotEmpty q true) (isAmortized q true) (qpopback q p) (qlen p lp) (qlen q lq) + (not (= (+ 1 lp) lq))) false))) +(check-sat) diff --git a/bench_horn_adt/ADTIND/queue_push.smt2 b/bench_horn_adt/ADTIND/queue_push.smt2 new file mode 100644 index 000000000..a3bb98d87 --- /dev/null +++ b/bench_horn_adt/ADTIND/queue_push.smt2 @@ -0,0 +1,47 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun len (Lst Int) Bool) + +(assert (len nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (len ys l)) (len xs (+ l 1))))) + +(declare-fun qlen (Queue Int) Bool) +(assert (forall ((x Lst) (y Lst) (lx Int) (ly Int) (lq Int)) + (=> (and (len x lx) (len y ly)) (qlen (queue x y) (+ lx ly))))) + +(declare-fun append (Lst Lst Lst) Bool) +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + + +(declare-fun rev2 (Lst Lst Lst) Bool) +(assert (forall ((zs Lst)) (rev2 nil zs zs))) +(assert (forall ((x Int) (ts Lst) (xs Lst) (zs Lst) (rs Lst) (us Lst)) + (=> (and (= xs (cons x ts)) (= rs (cons x zs)) (rev2 ts rs us)) (rev2 xs zs us)))) + +(declare-fun qrev (Lst Lst) Bool) +(assert (forall ((xs Lst) (ys Lst)) (=> (rev2 xs nil ys) (qrev xs ys)))) + +(declare-fun amortizeQueue (Lst Lst Queue) Bool) +(assert (forall ((x Lst) (y Lst) (q Queue) (ly Int) (lx Int) (z Lst) (a Lst)) + (=> (and (len y ly) (len x lx) (qrev y z) (append x z a) (<= ly lx) (= q (queue x y))) + (amortizeQueue x y q)))) +(assert (forall ((x Lst) (y Lst) (q Queue) (ly Int) (lx Int) (z Lst) (a Lst)) + (=> (and (len y ly) (len x lx) (qrev y z) (append x z a) (> ly lx) (= q (queue a nil))) + (amortizeQueue x y q)))) + +(declare-fun qpush (Queue Int Queue) Bool) +(assert (forall ((x Lst) (y Lst) (n Int) (q Queue)) + (=> (amortizeQueue x (cons n y) q) (qpush (queue x y) n q)))) + +; extra lemma +(assert (forall ((x Lst) (y Lst) (q Queue) (lx Int) (ly Int) (lq Int)) + (=> (and (len x lx) (len y ly) (amortizeQueue x y q) (qlen q lq) (not (= lq (+ lx ly)))) false))) + +(assert (forall ((q Queue) (n Int) (p Queue) (lp Int) (lq Int)) + (=> (and (qpush q n p) (qlen p lp) (qlen q lq) (not (= lp (+ 1 lq)))) false))) +(check-sat) diff --git a/bench_horn_adt/ADTIND/queue_push_to_list.smt2 b/bench_horn_adt/ADTIND/queue_push_to_list.smt2 new file mode 100644 index 000000000..99915397a --- /dev/null +++ b/bench_horn_adt/ADTIND/queue_push_to_list.smt2 @@ -0,0 +1,52 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun len (Lst Int) Bool) + +(assert (len nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (len ys l)) (len xs (+ l 1))))) + +(declare-fun qlen (Queue Int) Bool) +(assert (forall ((x Lst) (y Lst) (lx Int) (ly Int) (lq Int)) + (=> (and (len x lx) (len y ly)) (qlen (queue x y) (+ lx ly))))) + +(declare-fun append (Lst Lst Lst) Bool) +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(declare-fun rev2 (Lst Lst Lst) Bool) +(assert (forall ((zs Lst)) (rev2 nil zs zs))) +(assert (forall ((x Int) (ts Lst) (xs Lst) (zs Lst) (rs Lst) (us Lst)) + (=> (and (= xs (cons x ts)) (= rs (cons x zs)) (rev2 ts rs us)) (rev2 xs zs us)))) + +(declare-fun qrev (Lst Lst) Bool) +(assert (forall ((xs Lst) (ys Lst)) + (=> (rev2 xs nil ys) (qrev xs ys)))) + +(declare-fun amortizeQueue (Lst Lst Queue) Bool) +(assert (forall ((x Lst) (y Lst) (q Queue) (ly Int) (lx Int) (z Lst) (a Lst)) + (=> (and (len y ly) (len x lx) (qrev y z) (append x z a) + (= q (ite (<= ly lx) (queue x y) (queue a nil)))) (amortizeQueue x y q)))) + +(declare-fun qpush (Queue Int Queue) Bool) +(assert (forall ((x Lst) (y Lst) (n Int) (q Queue)) + (=> (amortizeQueue x (cons n y) q) (qpush (queue x y) n q)))) + + +(declare-fun queue-to-lst (Queue Lst) Bool) +(assert (forall ((x Lst) (y Lst) (q Queue) (z Lst) (a Lst)) + (=> (and (qrev y z) (append x z a)) (queue-to-lst (queue x y) a)))) +; extra lemmas +(assert (forall ((xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst) (us Lst) (vs Lst)) + (=> (and (append xs ys rs) (append ys zs ts) (append xs ts us) (append rs zs vs) (not (= vs us))) false))) +(assert (forall ((x Lst) (a Lst) (y Lst) (z Lst) (r Lst)) + (=> (and (rev2 x nil y) (append y a z) (rev2 x a r) (not (= z r))) false))) + +(assert (forall ((q Queue) (n Int) (x Lst) (y Lst) (p Queue) (z Lst)) + (=> (and (queue-to-lst q x) (append x (cons n nil) y) (qpush q n p) (queue-to-lst p z) (not (= y z))) + false))) + +(check-sat) diff --git a/bench_horn_adt/ADTIND/tree_insert_all_size.smt2 b/bench_horn_adt/ADTIND/tree_insert_all_size.smt2 new file mode 100644 index 000000000..a25427546 --- /dev/null +++ b/bench_horn_adt/ADTIND/tree_insert_all_size.smt2 @@ -0,0 +1,30 @@ +(set-logic HORN) +(declare-datatypes () ((Tree (node (data Int) (left Tree) (right Tree)) (leaf)))) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun size (Tree Int) Bool) +(declare-fun insert (Tree Int Tree) Bool) +(declare-fun insert-all (Tree Lst Tree) Bool) + +(assert (size leaf 0)) +(assert (forall ((x Int) (r Tree) (l Tree) (m Tree) (sl Int) (sr Int)) + (=> (and (= m (node x l r)) (size l sl) (size r sr)) (size m (+ 1 (+ sl sr)))))) + +(assert (forall ((i Int)) (insert leaf i (node i leaf leaf)))) + +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (x Tree) (y Tree) (m Tree)) + (=> (and (insert r i x) (insert l i y) + (= m (ite (< d i) (node d l x) (node d y r)))) (insert (node d l r) i m)))) + +(assert (forall ((x Tree)) (insert-all x nil x))) +(assert (forall ((x Tree) (n Int) (ls Lst) (xs Lst) (z Tree) (y Tree)) + (=> (and (insert-all x ls y) (= xs (cons n ls)) (insert y n z)) (insert-all x xs z)))) + +;extra lemmas +(assert (forall ((t Tree) (n Int) (st Int) (x Tree) (sx Int)) + (=> (and (size t st) (insert t n x) (size x sx) (not (= sx (+ 1 st)))) false))) + +(assert (forall ((l Lst) (t Tree) (i Int) (x Tree) (m Int) (n Int)) + (=> (and (size t n) (insert t i x) (size x m) (not (= m (+ 1 n)))) false))) + +(check-sat) diff --git a/bench_horn_adt/ADTIND/tree_insert_size.smt2 b/bench_horn_adt/ADTIND/tree_insert_size.smt2 new file mode 100644 index 000000000..a3f35680f --- /dev/null +++ b/bench_horn_adt/ADTIND/tree_insert_size.smt2 @@ -0,0 +1,20 @@ +(set-logic HORN) +(declare-datatypes () ((Tree (node (data Int) (left Tree) (right Tree)) (leaf)))) + +(declare-fun size (Tree Int) Bool) +(declare-fun insert (Tree Int Tree) Bool) + +(assert (size leaf 0)) +(assert (forall ((x Int) (r Tree) (l Tree) (m Tree) (sl Int) (sr Int)) + (=> (and (= m (node x l r)) (size l sl) (size r sr)) (size m (+ 1 (+ sl sr)))))) + +(assert (forall ((i Int)) (insert leaf i (node i leaf leaf)))) + +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (x Tree) (y Tree) (m Tree)) + (=> (and (insert r i x) (insert l i y) + (= m (ite (< d i) (node d l x) (node d y r)))) (insert (node d l r) i m)))) + +(assert (forall ((t Tree) (n Int) (ts Int) (rs Int) (r Tree)) + (=> (and (size t ts) (insert t n r) (size r rs) (not (= rs (+ 1 ts)))) false))) + +(check-sat) diff --git a/bench_horn_adt/ADTIND/tree_insert_sum.smt2 b/bench_horn_adt/ADTIND/tree_insert_sum.smt2 new file mode 100644 index 000000000..cf9b60bcb --- /dev/null +++ b/bench_horn_adt/ADTIND/tree_insert_sum.smt2 @@ -0,0 +1,19 @@ +(set-logic HORN) +(declare-datatypes () ((Tree (node (data Int) (left Tree) (right Tree)) (leaf)))) + +(declare-fun sum (Tree Int) Bool) +(declare-fun insert (Tree Int Tree) Bool) + +(assert (sum leaf 0)) +(assert (forall ((x Int) (r Tree) (l Tree) (m Tree) (sl Int) (sr Int)) + (=> (and (= m (node x l r)) (sum l sl) (sum r sr)) (sum m (+ x (+ sl sr)))))) + +(assert (forall ((i Int)) (insert leaf i (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (x Tree) (y Tree) (m Tree)) + (=> (and (insert r i x) (insert l i y) + (= m (ite (< d i) (node d l x) (node d y r)))) (insert (node d l r) i m)))) + +(assert (forall ((t Tree) (n Int) (ts Int) (rs Int) (r Tree)) + (=> (and (sum t ts) (insert t n r) (sum r rs) (not (= rs (+ n ts)))) false))) + +(check-sat) \ No newline at end of file diff --git a/bench_horn_adt/ADTIND/tree_size.smt2 b/bench_horn_adt/ADTIND/tree_size.smt2 new file mode 100644 index 000000000..53baddd39 --- /dev/null +++ b/bench_horn_adt/ADTIND/tree_size.smt2 @@ -0,0 +1,11 @@ +(set-logic HORN) +(declare-datatypes () ((Tree (node (data Int) (left Tree) (right Tree)) (nil)))) +(declare-fun size (Tree Int) Bool) + +(assert (size nil 0)) +(assert (forall ((x Int) (r Tree) (l Tree) (m Tree) (sl Int) (sr Int)) + (=> (and (= m (node x l r)) (size l sl) (size r sr)) (size m (+ sl sr))))) + +(assert (forall ((s Int) (m Tree)) + (=> (and (size m s) (not (>= s 0))) false))) +(check-sat) diff --git a/bench_horn_adt/LEON/amortize-queue-goal1.smt2 b/bench_horn_adt/LEON/amortize-queue-goal1.smt2 new file mode 100644 index 000000000..17353aaca --- /dev/null +++ b/bench_horn_adt/LEON/amortize-queue-goal1.smt2 @@ -0,0 +1,19 @@ +(set-logic HORN) + +; lists +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst Lst) Bool) +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(declare-fun len (Lst Int) Bool) +(assert (len nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (len ys l)) (len xs (+ l 1))))) + +; conjecture +(assert (forall ((xs Lst) (lx Int) (ys Lst) (ly Int) (zs Lst) (lz Int)) + (=> (and (len xs lx) (len ys ly) (append xs ys zs) (len zs lz) (not (= (+ lx ly) lz))) false))) ; G-amortize-queue-1 +(check-sat) diff --git a/bench_horn_adt/LEON/amortize-queue-goal10.smt2 b/bench_horn_adt/LEON/amortize-queue-goal10.smt2 new file mode 100644 index 000000000..2269c4d23 --- /dev/null +++ b/bench_horn_adt/LEON/amortize-queue-goal10.smt2 @@ -0,0 +1,19 @@ +(set-logic HORN) + +; lists +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst Lst) Bool) +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(declare-fun qreva (Lst Lst Lst) Bool) +(assert (forall ((x Lst)) (qreva nil x x))) +(assert (forall ((x Lst) (y Lst) (z Int) (u Lst)) + (=> (qreva x (cons z y) u) (qreva (cons z x) y u)))) + +; conjecture +(assert (forall ((x Lst) (y Lst) (z Lst) (u Lst) (v Lst) (r Lst) (s Lst)) + (=> (and (qreva x y u) (qreva u z v) (append x z r) (qreva y r s) (not (= v s))) false))) ; G-amortize-queue-10 +(check-sat) diff --git a/bench_horn_adt/LEON/amortize-queue-goal11.smt2 b/bench_horn_adt/LEON/amortize-queue-goal11.smt2 new file mode 100644 index 000000000..2dd88af63 --- /dev/null +++ b/bench_horn_adt/LEON/amortize-queue-goal11.smt2 @@ -0,0 +1,15 @@ +(set-logic HORN) + +; lists +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst Lst) Bool) +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +; conjecture +(assert (forall ((x Lst) (y Lst) (z Lst) (s Lst) (r Lst) (u Lst) (v Lst)) + (=> (and (append y z r) (append x r u) (append x y s) (append s z v) (not (= u v))) false))) + +(check-sat) diff --git a/bench_horn_adt/LEON/amortize-queue-goal12.smt2 b/bench_horn_adt/LEON/amortize-queue-goal12.smt2 new file mode 100644 index 000000000..683e8d35d --- /dev/null +++ b/bench_horn_adt/LEON/amortize-queue-goal12.smt2 @@ -0,0 +1,41 @@ +(set-logic HORN) + +; lists +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst Lst) Bool) +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(declare-fun len (Lst Int) Bool) +(assert (len nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (len ys l)) (len xs (+ l 1))))) + +(declare-fun qreva (Lst Lst Lst) Bool) +(assert (forall ((x Lst)) (qreva nil x x))) +(assert (forall ((x Lst) (y Lst) (z Int) (u Lst)) + (=> (qreva x (cons z y) u) (qreva (cons z x) y u)))) + +(declare-fun qrev (Lst Lst) Bool) +(assert (forall ((xs Lst) (ys Lst)) + (=> (qreva xs nil ys) (qrev xs ys)))) + +;queues +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun queue-to-lst (Queue Lst) Bool) +(assert (forall ((x Lst) (y Lst) (q Queue) (z Lst) (a Lst)) + (=> (and (qrev y z) (append x z a)) (queue-to-lst (queue x y) a)))) + +(declare-fun amortizeQueue (Lst Lst Queue) Bool) +(assert (forall ((x Lst) (y Lst) (q Queue) (ly Int) (lx Int) (z Lst) (a Lst)) + (=> (and (len y ly) (len x lx) (qrev y z) (append x z a) + (= q (ite (<= ly lx) (queue x y) (queue a nil)))) (amortizeQueue x y q)))) + + +; conjecture +(assert (forall ((x Lst) (y Lst) (q Queue) (z Lst) (r Lst)) + (=> (and (queue-to-lst (queue x y) z) (amortizeQueue x y q) (queue-to-lst q r) (not (= r z))) false))); G-amortize-queue-12 +(check-sat) diff --git a/bench_horn_adt/LEON/amortize-queue-goal13.smt2 b/bench_horn_adt/LEON/amortize-queue-goal13.smt2 new file mode 100644 index 000000000..c3ab97b2a --- /dev/null +++ b/bench_horn_adt/LEON/amortize-queue-goal13.smt2 @@ -0,0 +1,53 @@ +(set-logic HORN) + +; lists +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst Lst) Bool) +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(declare-fun len (Lst Int) Bool) +(assert (len nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (len ys l)) (len xs (+ l 1))))) + +(declare-fun butlast (Lst Lst) Bool) +(assert (butlast nil nil)) +(assert (forall ((n Int) (xs Lst) (rs Lst) (ys Lst)) + (=> (and (= ys (cons n xs)) (= xs nil)) (butlast ys nil)))) +(assert (forall ((n Int) (xs Lst) (rs Lst) (ys Lst) (x Int) (zs Lst)) + (=> (and (butlast xs rs) (= ys (cons n xs)) (= xs (cons x zs))) (butlast ys (cons n rs))))) + +(declare-fun qreva (Lst Lst Lst) Bool) +(assert (forall ((x Lst)) (qreva nil x x))) +(assert (forall ((x Lst) (y Lst) (z Int) (u Lst)) + (=> (qreva x (cons z y) u) (qreva (cons z x) y u)))) + +(declare-fun qrev (Lst Lst) Bool) +(assert (forall ((xs Lst) (ys Lst)) + (=> (qreva xs nil ys) (qrev xs ys)))) + +;queues +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun queue-to-lst (Queue Lst) Bool) +(assert (forall ((x Lst) (y Lst) (q Queue) (z Lst) (a Lst)) + (=> (and (qrev y z) (append x z a)) (queue-to-lst (queue x y) a)))) + +(declare-fun amortizeQueue (Lst Lst Queue) Bool) +(assert (forall ((x Lst) (y Lst) (q Queue) (ly Int) (lx Int) (z Lst) (a Lst)) + (=> (and (len y ly) (len x lx) (qrev y z) (append x z a) + (= q (ite (<= ly lx) (queue x y) (queue a nil)))) (amortizeQueue x y q)))) + +(declare-fun qpop (Queue Queue) Bool) +(assert (forall ((x Lst) (y Lst) (n Int)) (qpop (queue x (cons n y)) (queue x y)))) +(assert (forall ((x Lst) (y Lst)) (=> (butlast x y) (qpop (queue x nil) (queue y nil))))) + +; conjecture +(assert (forall ((x Lst) (y Lst) (q Queue) (z Lst) (u Lst) (v Lst)) + (=> (and (queue-to-lst (queue x y) z) (butlast z u) (qpop (queue x y) q) (queue-to-lst q v) (not (= u v))) + false))) ; G-amortize-queue-13 + +(check-sat) diff --git a/bench_horn_adt/LEON/amortize-queue-goal14.smt2 b/bench_horn_adt/LEON/amortize-queue-goal14.smt2 new file mode 100644 index 000000000..1e7d63cb8 --- /dev/null +++ b/bench_horn_adt/LEON/amortize-queue-goal14.smt2 @@ -0,0 +1,56 @@ +(set-logic HORN) + +; lists +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst Lst) Bool) +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(declare-fun len (Lst Int) Bool) +(assert (len nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (len ys l)) (len xs (+ l 1))))) + +(declare-fun butlast (Lst Lst) Bool) +(assert (butlast nil nil)) +(assert (forall ((n Int) (xs Lst) (rs Lst) (ys Lst)) + (=> (and (= ys (cons n xs)) (= xs nil)) (butlast ys nil)))) +(assert (forall ((n Int) (xs Lst) (rs Lst) (ys Lst) (x Int) (zs Lst)) + (=> (and (butlast xs rs) (= ys (cons n xs)) (= xs (cons x zs))) (butlast ys (cons n rs))))) + +(declare-fun qreva (Lst Lst Lst) Bool) +(assert (forall ((x Lst)) (qreva nil x x))) +(assert (forall ((x Lst) (y Lst) (z Int) (u Lst)) + (=> (qreva x (cons z y) u) (qreva (cons z x) y u)))) + +(declare-fun qrev (Lst Lst) Bool) +(assert (forall ((xs Lst) (ys Lst)) + (=> (qreva xs nil ys) (qrev xs ys)))) + +;queues +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun queue-to-lst (Queue Lst) Bool) +(assert (forall ((x Lst) (y Lst) (q Queue) (z Lst) (a Lst)) + (=> (and (qrev y z) (append x z a)) (queue-to-lst (queue x y) a)))) + +(declare-fun amortizeQueue (Lst Lst Queue) Bool) +(assert (forall ((x Lst) (y Lst) (q Queue) (ly Int) (lx Int) (z Lst) (a Lst)) + (=> (and (len y ly) (len x lx) (qrev y z) (append x z a) + (= q (ite (<= ly lx) (queue x y) (queue a nil)))) (amortizeQueue x y q)))) + +(declare-fun enqueue (Queue Int Queue) Bool) +(assert (forall ((x Lst) (y Lst) (n Int) (q Queue)) + (=> (amortizeQueue x (cons n y) q) (enqueue (queue x y) n q)))) + +(declare-fun qpop (Queue Queue) Bool) +(assert (forall ((x Lst) (y Lst) (n Int)) (qpop (queue x (cons n y)) (queue x y)))) +(assert (forall ((x Lst) (y Lst)) (=> (butlast x y) (qpop (queue x nil) (queue y nil))))) + +; conjecture +(assert (forall ((x Lst) (y Lst) (n Int) (z Lst) (u Lst) (v Lst) (q Queue)) + (=> (and (queue-to-lst (queue x y) z) (append z (cons n nil) u) (enqueue (queue x y) n q) (queue-to-lst q v) + (not (= u v))) false))); G-amortize-queue-14 +(check-sat) diff --git a/bench_horn_adt/LEON/amortize-queue-goal15.smt2 b/bench_horn_adt/LEON/amortize-queue-goal15.smt2 new file mode 100644 index 000000000..eaa809ab8 --- /dev/null +++ b/bench_horn_adt/LEON/amortize-queue-goal15.smt2 @@ -0,0 +1,63 @@ +(set-logic HORN) + +; lists +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst Lst) Bool) +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(declare-fun len (Lst Int) Bool) +(assert (len nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (len ys l)) (len xs (+ l 1))))) + +(declare-fun butlast (Lst Lst) Bool) +(assert (butlast nil nil)) +(assert (forall ((n Int) (xs Lst) (rs Lst) (ys Lst)) + (=> (and (= ys (cons n xs)) (= xs nil)) (butlast ys nil)))) +(assert (forall ((n Int) (xs Lst) (rs Lst) (ys Lst) (x Int) (zs Lst)) + (=> (and (butlast xs rs) (= ys (cons n xs)) (= xs (cons x zs))) (butlast ys (cons n rs))))) + +(declare-fun qreva (Lst Lst Lst) Bool) +(assert (forall ((x Lst)) (qreva nil x x))) +(assert (forall ((x Lst) (y Lst) (z Int) (u Lst)) + (=> (qreva x (cons z y) u) (qreva (cons z x) y u)))) + +(declare-fun qrev (Lst Lst) Bool) +(assert (forall ((xs Lst) (ys Lst)) + (=> (qreva xs nil ys) (qrev xs ys)))) + +;queues +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun queue-to-lst (Queue Lst) Bool) +(assert (forall ((x Lst) (y Lst) (q Queue) (z Lst) (a Lst)) + (=> (and (qrev y z) (append x z a)) (queue-to-lst (queue x y) a)))) + +(declare-fun isAmortized (Queue Bool) Bool) +(assert (forall ((x Lst) (y Lst) (lx Int) (ly Int)) + (=> (and (len x lx) (len y ly) (<= ly lx)) (isAmortized (queue x y) true)))) + +(declare-fun amortizeQueue (Lst Lst Queue) Bool) +(assert (forall ((x Lst) (y Lst) (q Queue) (ly Int) (lx Int) (z Lst) (a Lst)) + (=> (and (len y ly) (len x lx) (qrev y z) (append x z a) + (= q (ite (<= ly lx) (queue x y) (queue a nil)))) (amortizeQueue x y q)))) + +(declare-fun enqueue (Queue Int Queue) Bool) +(assert (forall ((x Lst) (y Lst) (n Int) (q Queue)) + (=> (amortizeQueue x (cons n y) q) (enqueue (queue x y) n q)))) + +(declare-fun qpop (Queue Queue) Bool) +(assert (forall ((x Lst) (y Lst) (n Int)) (qpop (queue x (cons n y)) (queue x y)))) +(assert (forall ((x Lst) (y Lst)) (=> (butlast x y) (qpop (queue x nil) (queue y nil))))) + +; proven +(assert (forall ((x Lst) (y Lst) (lz Int) (lx Int) (ly Int) (z Lst)) + (=> (and (append x y z) (len z lz) (len x lx) (len y ly)) (= lz (+ lx ly))))) ; G-amortize-queue-1 +; conjecture +(assert (forall ((x Lst) (y Lst) (q Queue)) + (=> (and (amortizeQueue x y q) (not (isAmortized q true))) false))) + +(check-sat) diff --git a/bench_horn_adt/LEON/amortize-queue-goal2.smt2 b/bench_horn_adt/LEON/amortize-queue-goal2.smt2 new file mode 100644 index 000000000..63f0e81ba --- /dev/null +++ b/bench_horn_adt/LEON/amortize-queue-goal2.smt2 @@ -0,0 +1,25 @@ +(set-logic HORN) + +; lists +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst Lst) Bool) +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(declare-fun len (Lst Int) Bool) +(assert (len nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (len ys l)) (len xs (+ l 1))))) + +(declare-fun qreva (Lst Lst Lst) Bool) +(assert (forall ((x Lst)) (qreva nil x x))) +(assert (forall ((x Lst) (y Lst) (z Int) (u Lst)) + (=> (qreva x (cons z y) u) (qreva (cons z x) y u)))) + +; conjecture +(assert (forall ((x Lst) (y Lst) (z Lst) (lx Int) (ly Int) (lz Int)) + (=> (and (qreva x y z) (len z lz) (len x lx) (len y ly) (not (= lz (+ 1(+ lx ly))))) + false))) ; G-amortize-queue-2 +(check-sat) diff --git a/bench_horn_adt/LEON/amortize-queue-goal3.smt2 b/bench_horn_adt/LEON/amortize-queue-goal3.smt2 new file mode 100644 index 000000000..c466858e5 --- /dev/null +++ b/bench_horn_adt/LEON/amortize-queue-goal3.smt2 @@ -0,0 +1,29 @@ +(set-logic HORN) + +; lists +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst Lst) Bool) +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(declare-fun len (Lst Int) Bool) +(assert (len nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (len ys l)) (len xs (+ l 1))))) + +(declare-fun qreva (Lst Lst Lst) Bool) +(assert (forall ((x Lst)) (qreva nil x x))) +(assert (forall ((x Lst) (y Lst) (z Int) (u Lst)) + (=> (qreva x (cons z y) u) (qreva (cons z x) y u)))) + +(declare-fun qrev (Lst Lst) Bool) +(assert (forall ((xs Lst) (ys Lst)) + (=> (qreva xs nil ys) (qrev xs ys)))) + +; conjecture +(assert (forall ((x Lst) (lx Int) (y Lst) (ly Int)) + (=> (and (qrev x y) (len x lx) (len y ly) (not (= lx ly))) false))) ; G-amortize-queue-3 + +(check-sat) diff --git a/bench_horn_adt/LEON/amortize-queue-goal4.smt2 b/bench_horn_adt/LEON/amortize-queue-goal4.smt2 new file mode 100644 index 000000000..b7f9ba3f9 --- /dev/null +++ b/bench_horn_adt/LEON/amortize-queue-goal4.smt2 @@ -0,0 +1,26 @@ +(set-logic HORN) + +; lists +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst Lst) Bool) +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(declare-fun len (Lst Int) Bool) +(assert (len nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (len ys l)) (len xs (+ l 1))))) + +;queues +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun qlen (Queue Int) Bool) +(assert (forall ((x Lst) (y Lst) (lx Int) (ly Int) (lq Int)) + (=> (and (len x lx) (len y ly)) (qlen (queue x y) (+ lx ly))))) + +; conjecture +(assert (forall ((x Lst) (lx Int) (y Lst) (ly Int) (lq Int)) + (=> (and (len x lx) (len y ly) (qlen (queue x y) lq) (not (= (+ lx ly) lq))) false))) ; G-amortize-queue-4 +(check-sat) diff --git a/bench_horn_adt/LEON/amortize-queue-goal5.smt2 b/bench_horn_adt/LEON/amortize-queue-goal5.smt2 new file mode 100644 index 000000000..fb7a45a2f --- /dev/null +++ b/bench_horn_adt/LEON/amortize-queue-goal5.smt2 @@ -0,0 +1,21 @@ +(set-logic HORN) + +; lists +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun len (Lst Int) Bool) +(assert (len nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (len ys l)) (len xs (+ l 1))))) + +(declare-fun butlast (Lst Lst) Bool) +(assert (butlast nil nil)) +(assert (forall ((n Int) (xs Lst) (rs Lst) (ys Lst)) + (=> (and (= ys (cons n xs)) (= xs nil)) (butlast ys nil)))) +(assert (forall ((n Int) (xs Lst) (rs Lst) (ys Lst) (x Int) (zs Lst)) + (=> (and (butlast xs rs) (= ys (cons n xs)) (= xs (cons x zs))) (butlast ys (cons n rs))))) + +; conjecture +(assert (forall ((x Lst) (y Int) (z Lst) (ly Int) (lz Int)) + (=> (and (len (cons y x) ly) (butlast (cons y x) z) (len z lz) (not (= (+ lz 1) ly))) false))) +(check-sat) diff --git a/bench_horn_adt/LEON/amortize-queue-goal6.smt2 b/bench_horn_adt/LEON/amortize-queue-goal6.smt2 new file mode 100644 index 000000000..ec8701993 --- /dev/null +++ b/bench_horn_adt/LEON/amortize-queue-goal6.smt2 @@ -0,0 +1,51 @@ +(set-logic HORN) + +; lists +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst Lst) Bool) +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(declare-fun len (Lst Int) Bool) +(assert (len nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (len ys l)) (len xs (+ l 1))))) + +(declare-fun butlast (Lst Lst) Bool) +(assert (butlast nil nil)) +(assert (forall ((n Int) (xs Lst) (rs Lst) (ys Lst)) + (=> (and (= ys (cons n xs)) (= xs nil)) (butlast ys nil)))) +(assert (forall ((n Int) (xs Lst) (rs Lst) (ys Lst) (x Int) (zs Lst)) + (=> (and (butlast xs rs) (= ys (cons n xs)) (= xs (cons x zs))) (butlast ys (cons n rs))))) + +(declare-fun qreva (Lst Lst Lst) Bool) +(assert (forall ((x Lst)) (qreva nil x x))) +(assert (forall ((x Lst) (y Lst) (z Int) (u Lst)) + (=> (qreva x (cons z y) u) (qreva (cons z x) y u)))) + +(declare-fun qrev (Lst Lst) Bool) +(assert (forall ((xs Lst) (ys Lst)) + (=> (qreva xs nil ys) (qrev xs ys)))) + +;queues +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun qlen (Queue Int) Bool) +(assert (forall ((x Lst) (y Lst) (lx Int) (ly Int) (lq Int)) + (=> (and (len x lx) (len y ly)) (qlen (queue x y) (+ lx ly))))) + +(declare-fun amortizeQueue (Lst Lst Queue) Bool) +(assert (forall ((x Lst) (y Lst) (q Queue) (ly Int) (lx Int) (z Lst) (a Lst)) + (=> (and (len y ly) (len x lx) (qrev y z) (append x z a) + (= q (ite (<= ly lx) (queue x y) (queue a nil)))) (amortizeQueue x y q)))) + +(declare-fun enqueue (Queue Int Queue) Bool) +(assert (forall ((x Lst) (y Lst) (n Int) (q Queue)) + (=> (amortizeQueue x (cons n y) q) (enqueue (queue x y) n q)))) + +; conjecture +(assert (forall ((q Queue) (n Int) (p Queue) (lq Int) (lp Int)) + (=> (and (enqueue q n p) (qlen q lq) (qlen p lp) (not (= (+ lq 1) lp))) false))) +(check-sat) \ No newline at end of file diff --git a/bench_horn_adt/LEON/amortize-queue-goal7.smt2 b/bench_horn_adt/LEON/amortize-queue-goal7.smt2 new file mode 100644 index 000000000..1c98842da --- /dev/null +++ b/bench_horn_adt/LEON/amortize-queue-goal7.smt2 @@ -0,0 +1,62 @@ +(set-logic HORN) + +; lists +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst Lst) Bool) +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(declare-fun len (Lst Int) Bool) +(assert (len nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (len ys l)) (len xs (+ l 1))))) + +(declare-fun butlast (Lst Lst) Bool) +(assert (butlast nil nil)) +(assert (forall ((n Int) (xs Lst) (rs Lst) (ys Lst)) + (=> (and (= ys (cons n xs)) (= xs nil)) (butlast ys nil)))) +(assert (forall ((n Int) (xs Lst) (rs Lst) (ys Lst) (x Int) (zs Lst)) + (=> (and (butlast xs rs) (= ys (cons n xs)) (= xs (cons x zs))) (butlast ys (cons n rs))))) + +(declare-fun qreva (Lst Lst Lst) Bool) +(assert (forall ((x Lst)) (qreva nil x x))) +(assert (forall ((x Lst) (y Lst) (z Int) (u Lst)) + (=> (qreva x (cons z y) u) (qreva (cons z x) y u)))) + +(declare-fun qrev (Lst Lst) Bool) +(assert (forall ((xs Lst) (ys Lst)) + (=> (qreva xs nil ys) (qrev xs ys)))) + +;queues +(declare-datatypes () ((Queue (queue (front Lst) (back Lst))))) + +(declare-fun qlen (Queue Int) Bool) +(assert (forall ((x Lst) (y Lst) (lx Int) (ly Int) (lq Int)) + (=> (and (len x lx) (len y ly)) (qlen (queue x y) (+ lx ly))))) + +(declare-fun isAmortized (Queue Bool) Bool) +(assert (forall ((x Lst) (y Lst) (lx Int) (ly Int)) + (=> (and (len x lx) (len y ly) (<= ly lx)) (isAmortized (queue x y) true)))) + +(declare-fun isNotEmpty (Queue Bool) Bool) +(assert (forall ((x Lst) (y Lst) (z Lst) (n Int)) (=> (= x (cons n z)) (isNotEmpty (queue x y) true)))) +(assert (forall ((x Lst) (y Lst) (z Lst) (n Int)) (=> (= y (cons n z)) (isNotEmpty (queue x y) true)))) + +(declare-fun amortizeQueue (Lst Lst Queue) Bool) +(assert (forall ((x Lst) (y Lst) (q Queue) (ly Int) (lx Int) (z Lst) (a Lst)) + (=> (and (len y ly) (len x lx) (qrev y z) (append x z a) + (= q (ite (<= ly lx) (queue x y) (queue a nil)))) (amortizeQueue x y q)))) + +(declare-fun enqueue (Queue Int Queue) Bool) +(assert (forall ((x Lst) (y Lst) (n Int) (q Queue)) + (=> (amortizeQueue x (cons n y) q) (enqueue (queue x y) n q)))) + +(declare-fun qpop (Queue Queue) Bool) +(assert (forall ((x Lst) (y Lst) (n Int)) (qpop (queue x (cons n y)) (queue x y)))) +(assert (forall ((x Lst) (y Lst)) (=> (butlast x y) (qpop (queue x nil) (queue y nil))))) + +; conjecture +(assert (forall ((q Queue) (n Int) (p Queue) (lq Int) (lp Int)) + (=> (and (isAmortized q true) (isNotEmpty q true) (qpop q p) (qlen q lq) (qlen p lp) (not (= (+ lq 1) lp))) false))) diff --git a/bench_horn_adt/LEON/amortize-queue-goal8.smt2 b/bench_horn_adt/LEON/amortize-queue-goal8.smt2 new file mode 100644 index 000000000..7ea18fa3c --- /dev/null +++ b/bench_horn_adt/LEON/amortize-queue-goal8.smt2 @@ -0,0 +1,15 @@ +(set-logic HORN) + +; lists +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst Lst) Bool) +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +; conjecture +(assert (forall ((x Lst) (y Lst)) + (=> (and (append x nil y) (not (= x y))) false))) ; G-amortize-queue-8 + +(check-sat) diff --git a/bench_horn_adt/LEON/amortize-queue-goal9.smt2 b/bench_horn_adt/LEON/amortize-queue-goal9.smt2 new file mode 100644 index 000000000..5dc3ae121 --- /dev/null +++ b/bench_horn_adt/LEON/amortize-queue-goal9.smt2 @@ -0,0 +1,32 @@ +(set-logic HORN) + +; lists +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst Lst) Bool) +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(declare-fun len (Lst Int) Bool) +(assert (len nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (len ys l)) (len xs (+ l 1))))) + +(declare-fun butlast (Lst Lst) Bool) +(assert (butlast nil nil)) +(assert (forall ((n Int) (xs Lst) (rs Lst) (ys Lst)) + (=> (and (= ys (cons n xs)) (= xs nil)) (butlast ys nil)))) +(assert (forall ((n Int) (xs Lst) (rs Lst) (ys Lst) (x Int) (zs Lst)) + (=> (and (butlast xs rs) (= ys (cons n xs)) (= xs (cons x zs))) (butlast ys (cons n rs))))) + +; proven +(assert (forall ((x Lst) (n Int) (y Lst) (l Int)) + (=> (and (butlast (cons n x) y) (len (cons n x) l)) (len y (+ l 1))))) ; G-amortize-queue-5 + +; conjecture +(assert (forall ((x Lst) (y Lst) (z Lst) (r Lst) (u Lst) (v Lst) (n Int)) + (=> (and (append x (cons n y) z) (butlast (cons n y) r) (append x r u) (butlast z v) (not (= v u))) + false))) ; G-amortize-queue-9 + +(check-sat) diff --git a/bench_horn_adt/LEON/bsearch-tree-goal1.smt2 b/bench_horn_adt/LEON/bsearch-tree-goal1.smt2 new file mode 100644 index 000000000..3cab8d9f5 --- /dev/null +++ b/bench_horn_adt/LEON/bsearch-tree-goal1.smt2 @@ -0,0 +1,36 @@ +(set-logic HORN) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Int) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tsize (Tree Int) Bool) +(assert (tsize leaf 0)) +(assert (forall ((x Int) (r Tree) (l Tree) (m Tree) (sl Int) (sr Int)) + (=> (and (= m (node x l r)) (tsize l sl) (tsize r sr)) (tsize m (+ 1 (+ sl sr)))))) + +(declare-fun tinsert (Tree Int Tree) Bool) +(assert (forall ((i Int)) (tinsert leaf i (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (x Tree) (m Tree)) + (=> (and (tinsert r i x) (< d i) (= m (node d l x))) (tinsert (node d l r) i m)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (y Tree) (m Tree)) + (=> (and (tinsert l i y) (>= d i) (= m (node d y r))) (tinsert (node d l r) i m)))) + +(declare-fun tcontains (Tree Int Bool) Bool) +(assert (forall ((i Int)) (tcontains leaf i false))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (= d i) (tcontains (node d l r) i true)))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (tcontains l i true) (tcontains (node d l r) i true)))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (tcontains r i true) (tcontains (node d l r) i true)))) + +(declare-fun tsorted (Tree Bool) Bool) +(assert (tsorted leaf true)) +(assert (forall ((d Int) (l Tree) (r Tree) (x Int) (y Int)) + (=> (and (tsorted l true) (tsorted r true) (tcontains l x true) (tcontains r x true) + (<= x d) (< d x)) (tsorted (node d l r) true)))) + +(assert (forall ((t Tree) (n Int) (r Tree) (ts Int) (rs Int)) + (=> (and (tinsert t n r) (tsize r rs) (tsize t ts) (not (= rs (+ 1 ts)))) false))) + +(check-sat) diff --git a/bench_horn_adt/LEON/bsearch-tree-goal10.smt2 b/bench_horn_adt/LEON/bsearch-tree-goal10.smt2 new file mode 100644 index 000000000..18bc1cb9a --- /dev/null +++ b/bench_horn_adt/LEON/bsearch-tree-goal10.smt2 @@ -0,0 +1,34 @@ +(set-logic HORN) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Int) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Int Tree) Bool) +(assert (forall ((i Int)) (tinsert leaf i (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (x Tree) (m Tree)) + (=> (and (tinsert r i x) (< d i) (= m (node d l x))) (tinsert (node d l r) i m)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (y Tree) (m Tree)) + (=> (and (tinsert l i y) (>= d i) (= m (node d y r))) (tinsert (node d l r) i m)))) + +(declare-fun tmember (Tree Int Bool) Bool) +(assert (forall ((x Int)) (tmember leaf x false))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (= i d) (tmember (node d l r) i true)))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (and (< d i) (tmember r i true)) (tmember (node d l r) i true)))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (and (< i d) (tmember l i true)) (tmember (node d l r) i true)))) + +(assert (forall ((i Int) (x Tree) (j Int) (r Bool) (s Bool) (t Bool) (y Tree) (a Bool) (b Bool)) + (=> (and (tmember x j b) (tinsert x i y) (tmember y j true) (>= (- i j) 1) (not (= b true))) false))) + +(assert (forall ((i Int) (x Tree) (j Int) (r Bool) (s Bool) (t Bool) (y Tree) (a Bool) (b Bool)) + (=> (and (tmember x j b) (tinsert x i y) (tmember y j true) (>= (- j i) 1) (not (= b true))) false))) + +(assert (forall ((i Int) (x Tree) (j Int) (r Bool) (s Bool) (t Bool) (y Tree) (a Bool) (b Bool)) + (=> (and (tmember x j true) (tinsert x i y) (tmember y j a) (not (= a true))) false))) + +(assert (forall ((i Int) (x Tree) (j Int) (r Bool) (s Bool) (t Bool) (y Tree) (a Bool) (b Bool)) + (=> (and (tmember x i b) (tinsert x i y) (tmember y i a) (not (= a true))) false))) + +(check-sat) \ No newline at end of file diff --git a/bench_horn_adt/LEON/bsearch-tree-goal11.smt2 b/bench_horn_adt/LEON/bsearch-tree-goal11.smt2 new file mode 100644 index 000000000..1791cbe45 --- /dev/null +++ b/bench_horn_adt/LEON/bsearch-tree-goal11.smt2 @@ -0,0 +1,41 @@ +(set-logic HORN) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Int) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Int Tree) Bool) +(assert (forall ((i Int)) (tinsert leaf i (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (x Tree) (m Tree)) + (=> (and (tinsert r i x) (< d i) (= m (node d l x))) (tinsert (node d l r) i m)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (y Tree) (m Tree)) + (=> (and (tinsert l i y) (>= d i) (= m (node d y r))) (tinsert (node d l r) i m)))) + +(declare-fun tcontains (Tree Int Bool) Bool) +(assert (forall ((i Int)) (tcontains leaf i false))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (= d i) (tcontains (node d l r) i true)))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (tcontains l i true) (tcontains (node d l r) i true)))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (tcontains r i true) (tcontains (node d l r) i true)))) + +(declare-fun tsorted (Tree Bool) Bool) +(assert (tsorted leaf true)) +(assert (forall ((d Int) (l Tree) (r Tree) (x Int) (y Int)) + (=> (and (tsorted l true) (tsorted r true) (tcontains l x true) (tcontains r x true) + (<= x d) (< d x)) (tsorted (node d l r) true)))) + +(declare-fun tmember (Tree Int Bool) Bool) +(assert (forall ((x Int)) (tmember leaf x false))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (= i d) (tmember (node d l r) i true)))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (and (< d i) (tmember r i true)) (tmember (node d l r) i true)))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (and (< i d) (tmember l i true)) (tmember (node d l r) i true)))) + +; conjecture +(assert (forall ((i Int) (x Tree) (r Bool) (s Bool)) + (=> (and (tsorted x true) (tcontains x i r) (tmember x i s) (not (= r s))) false))) ; G-bsearch-tree-11 + +(check-sat) \ No newline at end of file diff --git a/bench_horn_adt/LEON/bsearch-tree-goal12.smt2 b/bench_horn_adt/LEON/bsearch-tree-goal12.smt2 new file mode 100644 index 000000000..07906c047 --- /dev/null +++ b/bench_horn_adt/LEON/bsearch-tree-goal12.smt2 @@ -0,0 +1,28 @@ +(set-logic HORN) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Int) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tcontains (Tree Int Bool) Bool) +(assert (forall ((i Int)) (tcontains leaf i false))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (= d i) (tcontains (node d l r) i true)))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (tcontains l i true) (tcontains (node d l r) i true)))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (tcontains r i true) (tcontains (node d l r) i true)))) + +(declare-fun tmember (Tree Int Bool) Bool) +(assert (forall ((x Int)) (tmember leaf x false))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (= i d) (tmember (node d l r) i true)))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (and (< d i) (tmember r i true)) (tmember (node d l r) i true)))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (and (< i d) (tmember l i true)) (tmember (node d l r) i true)))) + +; conjecture +(assert (forall ((i Int) (x Tree) (r Bool)) + (=> (and (tmember x i true) (tcontains x i r) (not (= r true))) false))); G-bsearch-tree-12 + +(check-sat) diff --git a/bench_horn_adt/LEON/bsearch-tree-goal13.smt2 b/bench_horn_adt/LEON/bsearch-tree-goal13.smt2 new file mode 100644 index 000000000..9840f90d4 --- /dev/null +++ b/bench_horn_adt/LEON/bsearch-tree-goal13.smt2 @@ -0,0 +1,36 @@ +(set-logic HORN) + +; lists +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst Lst) Bool) +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(declare-fun len (Lst Int) Bool) +(assert (len nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (len ys l)) (len xs (+ l 1))))) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Int) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Int Tree) Bool) +(assert (forall ((i Int)) (tinsert leaf i (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (x Tree) (m Tree)) + (=> (and (tinsert r i x) (< d i) (= m (node d l x))) (tinsert (node d l r) i m)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (y Tree) (m Tree)) + (=> (and (tinsert l i y) (>= d i) (= m (node d y r))) (tinsert (node d l r) i m)))) + +(declare-fun tinsert-all (Tree Lst Tree) Bool) +(assert (forall ((x Tree)) (tinsert-all x nil x))) +(assert (forall ((x Tree) (n Int) (ls Lst) (xs Lst) (z Tree) (y Tree)) + (=> (and (tinsert-all x ls y) (= xs (cons n ls)) (tinsert y n z)) (tinsert-all x xs z)))) + +; conjecture +(assert (forall ((l Lst) (x Tree) (n Int) (z Tree) (k Lst) (u Tree) (y Tree)) + (=> (and (tinsert x n y) (tinsert-all y l z) (append l (cons n nil) k) (tinsert-all x k u) + (not (= z u))) false))) + +(check-sat) diff --git a/bench_horn_adt/LEON/bsearch-tree-goal14.smt2 b/bench_horn_adt/LEON/bsearch-tree-goal14.smt2 new file mode 100644 index 000000000..02db0ee64 --- /dev/null +++ b/bench_horn_adt/LEON/bsearch-tree-goal14.smt2 @@ -0,0 +1,50 @@ +(set-logic HORN) + +; lists +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun append (Lst Lst Lst) Bool) +(assert (forall ((xs Lst)) (append nil xs xs))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (zs Lst) (rs Lst) (ts Lst)) + (=> (and (= xs (cons x ys)) (append ys zs rs) (= ts (cons x rs))) (append xs zs ts)))) + +(declare-fun len (Lst Int) Bool) +(assert (len nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (len ys l)) (len xs (+ l 1))))) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Int) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Int Tree) Bool) +(assert (forall ((i Int)) (tinsert leaf i (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (x Tree) (m Tree)) + (=> (and (tinsert r i x) (< d i) (= m (node d l x))) (tinsert (node d l r) i m)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (y Tree) (m Tree)) + (=> (and (tinsert l i y) (>= d i) (= m (node d y r))) (tinsert (node d l r) i m)))) + +(declare-fun tinsert-all (Tree Lst Tree) Bool) +(assert (forall ((x Tree)) (tinsert-all x nil x))) +(assert (forall ((x Tree) (n Int) (ls Lst) (xs Lst) (z Tree) (y Tree)) + (=> (and (tinsert-all x ls y) (= xs (cons n ls)) (tinsert y n z)) (tinsert-all x xs z)))) + +(declare-fun tcontains (Tree Int Bool) Bool) +(assert (forall ((i Int)) (tcontains leaf i false))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (= d i) (tcontains (node d l r) i true)))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (tcontains l i true) (tcontains (node d l r) i true)))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (tcontains r i true) (tcontains (node d l r) i true)))) + +(declare-fun tsorted (Tree Bool) Bool) +(assert (tsorted leaf true)) +(assert (forall ((d Int) (l Tree) (r Tree) (x Int) (y Int)) + (=> (and (tsorted l true) (tsorted r true) (tcontains l x true) (tcontains r x true) + (<= x d) (< d x)) (tsorted (node d l r) true)))) + +; conjecture +(assert (forall ((x Lst) (y Tree)) + (=> (and (tinsert-all leaf x y) (not (tsorted y true))) false))) ; G-bsearch-tree-14 + +(check-sat) diff --git a/bench_horn_adt/LEON/bsearch-tree-goal2.smt2 b/bench_horn_adt/LEON/bsearch-tree-goal2.smt2 new file mode 100644 index 000000000..3940b80b3 --- /dev/null +++ b/bench_horn_adt/LEON/bsearch-tree-goal2.smt2 @@ -0,0 +1,32 @@ +(set-logic HORN) + +; lists +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Int) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tsize (Tree Int) Bool) +(assert (tsize leaf 0)) +(assert (forall ((x Int) (r Tree) (l Tree) (m Tree) (sl Int) (sr Int)) + (=> (and (= m (node x l r)) (tsize l sl) (tsize r sr)) (tsize m (+ 1 (+ sl sr)))))) + +(declare-fun tinsert (Tree Int Tree) Bool) +(assert (forall ((i Int)) (tinsert leaf i (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (x Tree) (m Tree)) + (=> (and (tinsert r i x) (< d i) (= m (node d l x))) (tinsert (node d l r) i m)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (y Tree) (m Tree)) + (=> (and (tinsert l i y) (>= d i) (= m (node d y r))) (tinsert (node d l r) i m)))) + + +(declare-fun tinsert-all (Tree Lst Tree) Bool) +(assert (forall ((x Tree)) (tinsert-all x nil x))) +(assert (forall ((x Tree) (n Int) (ls Lst) (xs Lst) (z Tree) (y Tree)) + (=> (and (tinsert-all x ls y) (= xs (cons n ls)) (tinsert y n z)) (tinsert-all x xs z)))) + +; conjecture +(assert (forall ((l Lst) (t Tree) (ts Int) (r Tree) (rs Int)) + (=> (and (tsize t ts) (tinsert-all t l r) (tsize r rs) (not (<= ts rs))) false))) ; G-bsearch-tree-2 + +(check-sat) diff --git a/bench_horn_adt/LEON/bsearch-tree-goal3.smt2 b/bench_horn_adt/LEON/bsearch-tree-goal3.smt2 new file mode 100644 index 000000000..09c0e52fb --- /dev/null +++ b/bench_horn_adt/LEON/bsearch-tree-goal3.smt2 @@ -0,0 +1,36 @@ +(set-logic HORN) + +; lists +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun len (Lst Int) Bool) +(assert (len nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (len ys l)) (len xs (+ l 1))))) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Int) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tsize (Tree Int) Bool) +(assert (tsize leaf 0)) +(assert (forall ((x Int) (r Tree) (l Tree) (m Tree) (sl Int) (sr Int)) + (=> (and (= m (node x l r)) (tsize l sl) (tsize r sr)) (tsize m (+ 1 (+ sl sr)))))) + +(declare-fun tinsert (Tree Int Tree) Bool) +(assert (forall ((i Int)) (tinsert leaf i (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (x Tree) (m Tree)) + (=> (and (tinsert r i x) (< d i) (= m (node d l x))) (tinsert (node d l r) i m)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (y Tree) (m Tree)) + (=> (and (tinsert l i y) (>= d i) (= m (node d y r))) (tinsert (node d l r) i m)))) + + +(declare-fun tinsert-all (Tree Lst Tree) Bool) +(assert (forall ((x Tree)) (tinsert-all x nil x))) +(assert (forall ((x Tree) (n Int) (ls Lst) (xs Lst) (z Tree) (y Tree)) + (=> (and (tinsert-all x ls y) (= xs (cons n ls)) (tinsert y n z)) (tinsert-all x xs z)))) + +; conjecture +(assert (forall ((ls Lst) (t Tree) (r Tree) (rs Int) (ts Int) (l Int)) + (=> (and (tinsert-all t ls r) (tsize r rs) (tsize t ts) (len ls l) (not (= rs (+ ts l)))) false))); G-bsearch-tree-3 + +(check-sat) diff --git a/bench_horn_adt/LEON/bsearch-tree-goal4.smt2 b/bench_horn_adt/LEON/bsearch-tree-goal4.smt2 new file mode 100644 index 000000000..c1d232688 --- /dev/null +++ b/bench_horn_adt/LEON/bsearch-tree-goal4.smt2 @@ -0,0 +1,45 @@ +(set-logic HORN) + +; lists +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun len (Lst Int) Bool) +(assert (len nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (len ys l)) (len xs (+ l 1))))) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Int) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tsize (Tree Int) Bool) +(assert (tsize leaf 0)) +(assert (forall ((x Int) (r Tree) (l Tree) (m Tree) (sl Int) (sr Int)) + (=> (and (= m (node x l r)) (tsize l sl) (tsize r sr)) (tsize m (+ 1 (+ sl sr)))))) + +(declare-fun tinsert (Tree Int Tree) Bool) +(assert (forall ((i Int)) (tinsert leaf i (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (x Tree) (m Tree)) + (=> (and (tinsert r i x) (< d i) (= m (node d l x))) (tinsert (node d l r) i m)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (y Tree) (m Tree)) + (=> (and (tinsert l i y) (>= d i) (= m (node d y r))) (tinsert (node d l r) i m)))) + +(declare-fun tinsert-all (Tree Lst Tree) Bool) +(assert (forall ((x Tree)) (tinsert-all x nil x))) +(assert (forall ((x Tree) (n Int) (ls Lst) (xs Lst) (z Tree) (y Tree)) + (=> (and (tinsert-all x ls y) (= xs (cons n ls)) (tinsert y n z)) (tinsert-all x xs z)))) + +(declare-fun tremove (Tree Int Tree) Bool) +(assert (forall ((i Int)) (tremove leaf i leaf))) +(assert (forall ((i Int) (d Int) (l Tree) (r Tree) (m Tree)) + (=> (and (< i d) (tremove l i m)) (tremove (node d l r) i (node d m r))))) +(assert (forall ((i Int) (d Int) (l Tree) (r Tree) (m Tree)) + (=> (and (< d i) (tremove r i m)) (tremove (node d l r) i (node d l m))))) +(assert (forall ((d Int) (r Tree)) (tremove (node d leaf r) d r))) +(assert (forall ((d Int) (ld Int) (ll Tree) (lr Tree) (r Tree) (m Tree)) + (=> (tremove (node ld ll lr) ld m) (tremove (node d (node ld ll lr) r) d (node ld m r))))) + +; conjecture +(assert (forall ((t Tree) (n Int) (r Tree) (rs Int) (ts Int)) + (=> (and (tremove t n r) (tsize t ts) (tsize r rs) (not (<= rs ts))) false))) ; G-bsearch-tree-4 + +(check-sat) diff --git a/bench_horn_adt/LEON/bsearch-tree-goal5.smt2 b/bench_horn_adt/LEON/bsearch-tree-goal5.smt2 new file mode 100644 index 000000000..2ed797e5d --- /dev/null +++ b/bench_horn_adt/LEON/bsearch-tree-goal5.smt2 @@ -0,0 +1,50 @@ +(set-logic HORN) + +; lists +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) + +(declare-fun len (Lst Int) Bool) +(assert (len nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (len ys l)) (len xs (+ l 1))))) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Int) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tsize (Tree Int) Bool) +(assert (tsize leaf 0)) +(assert (forall ((x Int) (r Tree) (l Tree) (m Tree) (sl Int) (sr Int)) + (=> (and (= m (node x l r)) (tsize l sl) (tsize r sr)) (tsize m (+ 1 (+ sl sr)))))) + +(declare-fun tinsert (Tree Int Tree) Bool) +(assert (forall ((i Int)) (tinsert leaf i (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (x Tree) (m Tree)) + (=> (and (tinsert r i x) (< d i) (= m (node d l x))) (tinsert (node d l r) i m)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (y Tree) (m Tree)) + (=> (and (tinsert l i y) (>= d i) (= m (node d y r))) (tinsert (node d l r) i m)))) + +(declare-fun tinsert-all (Tree Lst Tree) Bool) +(assert (forall ((x Tree)) (tinsert-all x nil x))) +(assert (forall ((x Tree) (n Int) (ls Lst) (xs Lst) (z Tree) (y Tree)) + (=> (and (tinsert-all x ls y) (= xs (cons n ls)) (tinsert y n z)) (tinsert-all x xs z)))) + +(declare-fun tremove (Tree Int Tree) Bool) +(assert (forall ((i Int)) (tremove leaf i leaf))) +(assert (forall ((i Int) (d Int) (l Tree) (r Tree) (m Tree)) + (=> (and (< i d) (tremove l i m)) (tremove (node d l r) i (node d m r))))) +(assert (forall ((i Int) (d Int) (l Tree) (r Tree) (m Tree)) + (=> (and (< d i) (tremove r i m)) (tremove (node d l r) i (node d l m))))) +(assert (forall ((d Int) (r Tree)) (tremove (node d leaf r) d r))) +(assert (forall ((d Int) (ld Int) (ll Tree) (lr Tree) (r Tree) (m Tree)) + (=> (tremove (node ld ll lr) ld m) (tremove (node d (node ld ll lr) r) d (node ld m r))))) + +(declare-fun tremove-all (Tree Lst Tree) Bool) +(assert (forall ((x Tree)) (tremove-all x nil x))) +(assert (forall ((x Tree) (n Int) (l Lst) (y Tree) (z Tree)) + (=> (and (tremove x n y) (tremove-all y l z)) (tremove-all x (cons n l) z)))) + +; conjecture +(assert (forall ((l Lst) (t Tree) (r Tree) (ts Int) (rs Int)) + (=> (and (tremove-all t l r) (tsize t ts) (tsize r rs) (not (<= rs ts))) false))); G-bsearch-tree-5 + +(check-sat) diff --git a/bench_horn_adt/LEON/bsearch-tree-goal6.smt2 b/bench_horn_adt/LEON/bsearch-tree-goal6.smt2 new file mode 100644 index 000000000..dbb535c13 --- /dev/null +++ b/bench_horn_adt/LEON/bsearch-tree-goal6.smt2 @@ -0,0 +1,26 @@ +(set-logic HORN) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Int) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Int Tree) Bool) +(assert (forall ((i Int)) (tinsert leaf i (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (x Tree) (m Tree)) + (=> (and (tinsert r i x) (< d i) (= m (node d l x))) (tinsert (node d l r) i m)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (y Tree) (m Tree)) + (=> (and (tinsert l i y) (>= d i) (= m (node d y r))) (tinsert (node d l r) i m)))) + +(declare-fun tcontains (Tree Int Bool) Bool) +(assert (forall ((i Int)) (tcontains leaf i false))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (= d i) (tcontains (node d l r) i true)))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (tcontains l i true) (tcontains (node d l r) i true)))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (tcontains r i true) (tcontains (node d l r) i true)))) + +; conjecture +(assert (forall ((x Tree) (i Int) (y Tree) (r Bool)) + (=> (and (tinsert x i y) (tcontains y i r) (not r)) false))); G-bsearch-tree-6 + +(check-sat) diff --git a/bench_horn_adt/LEON/bsearch-tree-goal8.smt2 b/bench_horn_adt/LEON/bsearch-tree-goal8.smt2 new file mode 100644 index 000000000..020a6c4a5 --- /dev/null +++ b/bench_horn_adt/LEON/bsearch-tree-goal8.smt2 @@ -0,0 +1,31 @@ +(set-logic HORN) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Int) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Int Tree) Bool) +(assert (forall ((i Int)) (tinsert leaf i (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (x Tree) (m Tree)) + (=> (and (tinsert r i x) (< d i) (= m (node d l x))) (tinsert (node d l r) i m)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (y Tree) (m Tree)) + (=> (and (tinsert l i y) (>= d i) (= m (node d y r))) (tinsert (node d l r) i m)))) + +(declare-fun tcontains (Tree Int Bool) Bool) +(assert (forall ((i Int)) (tcontains leaf i false))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (= d i) (tcontains (node d l r) i true)))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (tcontains l i true) (tcontains (node d l r) i true)))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (tcontains r i true) (tcontains (node d l r) i true)))) + +(declare-fun tsorted (Tree Bool) Bool) +(assert (tsorted leaf true)) +(assert (forall ((d Int) (l Tree) (r Tree) (x Int) (y Int)) + (=> (and (tsorted l true) (tsorted r true) (tcontains l x true) (tcontains r x true) + (<= x d) (< d x)) (tsorted (node d l r) true)))) + +(assert (forall ((x Tree) (i Int) (y Tree)) + (=> (and (tsorted x true) (tinsert x i y) (not (tsorted y true))) false))); G-bsearch-tree-8 + +(check-sat) diff --git a/bench_horn_adt/LEON/bsearch-tree-goal9.smt2 b/bench_horn_adt/LEON/bsearch-tree-goal9.smt2 new file mode 100644 index 000000000..f17fe8b9d --- /dev/null +++ b/bench_horn_adt/LEON/bsearch-tree-goal9.smt2 @@ -0,0 +1,26 @@ +(set-logic HORN) + +; (binary search) tree +(declare-datatypes () ((Tree (node (data Int) (left Tree) (right Tree)) (leaf)))) + +(declare-fun tinsert (Tree Int Tree) Bool) +(assert (forall ((i Int)) (tinsert leaf i (node i leaf leaf)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (x Tree) (m Tree)) + (=> (and (tinsert r i x) (< d i) (= m (node d l x))) (tinsert (node d l r) i m)))) +(assert (forall ((r Tree) (l Tree) (d Int) (i Int) (y Tree) (m Tree)) + (=> (and (tinsert l i y) (>= d i) (= m (node d y r))) (tinsert (node d l r) i m)))) + +(declare-fun tmember (Tree Int Bool) Bool) +(assert (forall ((x Int)) (tmember leaf x false))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (= i d) (tmember (node d l r) i true)))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (and (< d i) (tmember r i true)) (tmember (node d l r) i true)))) +(assert (forall ((d Int) (l Tree) (r Tree) (i Int)) + (=> (and (< i d) (tmember l i true)) (tmember (node d l r) i true)))) + +; conjecture +(assert (forall ((x Tree) (i Int) (y Tree) (r Bool)) + (=> (and (tinsert x i y) (tmember y i r) (not r)) false))); G-bsearch-tree-9 + +(check-sat) diff --git a/bench_horn_adt/arrays/arr_map.smt2 b/bench_horn_adt/arrays/arr_map.smt2 new file mode 100644 index 000000000..693afdced --- /dev/null +++ b/bench_horn_adt/arrays/arr_map.smt2 @@ -0,0 +1,55 @@ +(set-logic HORN) +(declare-sort Key) +(declare-sort Value) +(declare-fun empty (Int) Value) + +(declare-datatypes () ((Pair (pair (key Key) (value Value))))) +(declare-datatypes () ((Lst (cons (head Pair) (tail Lst)) (nil)))) +(declare-fun R (Lst (Array Key Value)) Bool) + +(declare-fun get (Key Lst) Value) +(assert (forall ((x Key)) (= (get x nil) (empty 0)))) +(assert (forall ((x Key) (y Key) (z Value) (xs Lst)) + (= (get x (cons (pair y z) xs)) (ite (= x y) z (get x xs))))) + +(declare-fun set (Key Value Lst) Lst) +(assert (forall ((x Key) (v Value)) (= (set x v nil) (cons (pair x v) nil)))) +(assert (forall ((x Key) (v Value) (y Key) (z Value) (xs Lst)) + (= (set x v (cons (pair y z) xs)) + (ite (= x y) (cons (pair x v) xs) (cons (pair y z) (set x v xs)))))) + +(declare-fun remove (Key Lst) Lst) +(assert (forall ((x Key)) (= (remove x nil) nil))) +(assert (forall ((x Key) (y Key) (v Value) (xs Lst)) + (= (remove x (cons (pair y v) xs)) (ite (= x y) xs (cons (pair y v) (remove x xs)))))) + +; init +(assert (forall ((s (Array Key Value)) (xs Lst)) + (=> (and (forall ((a Key)) (= (empty 0) (select s a))) (= xs nil)) (R xs s)))) + +; insert-init +(assert (forall ((s (Array Key Value)) (s1 (Array Key Value)) (xs Lst) (xs1 Lst) (in Key) (v Value)) + (=> (and + (R xs s) + (= s1 (store s in v)) + (= xs1 (set in v xs))) + (R xs1 s1)))) + +; remove-init +(assert (forall ((s (Array Key Value)) (s1 (Array Key Value)) (xs Lst) (xs1 Lst) (in Key)) + (=> (and + (R xs s) + (= xs1 (remove in xs)) + (= s1 (store s in (empty 0)))) + (R xs1 s1)))) + +; contains-out +(assert (forall ((s (Array Key Value)) (xs Lst) (in Key) (out1 Value) (out2 Value)) + (=> (and + (R xs s) + (= out1 (select s in)) + (= out2 (get in xs)) + (not (= out1 out2))) + false))) + +(check-sat) diff --git a/bench_horn_adt/arrays/arr_map_dup.smt2 b/bench_horn_adt/arrays/arr_map_dup.smt2 new file mode 100644 index 000000000..08134c911 --- /dev/null +++ b/bench_horn_adt/arrays/arr_map_dup.smt2 @@ -0,0 +1,49 @@ +(set-logic HORN) +(declare-sort Key) +(declare-sort Value) +(declare-fun empty (Int) Value) + +(declare-datatypes () ((Pair (pair (key Key) (value Value))))) +(declare-datatypes () ((Lst (cons (head Pair) (tail Lst)) (nil)))) +(declare-fun R (Lst (Array Key Value)) Bool) + +(declare-fun get (Key Lst) Value) +(assert (forall ((x Key)) (= (get x nil) (empty 0)))) +(assert (forall ((x Key) (y Key) (z Value) (xs Lst)) + (= (get x (cons (pair y z) xs)) (ite (= x y) z (get x xs))))) + +(declare-fun removeall (Key Lst) Lst) +(assert (forall ((x Key)) (= (removeall x nil) nil))) +(assert (forall ((x Key) (y Key) (v Value) (xs Lst)) + (= (removeall x (cons (pair y v) xs)) (ite (= x y) (removeall x xs) (cons (pair y v) (removeall x xs)))))) + +; init +(assert (forall ((s (Array Key Value)) (xs Lst)) + (=> (and (forall ((a Key)) (= (empty 0) (select s a))) (= xs nil)) (R xs s)))) + +; insert-init +(assert (forall ((s (Array Key Value)) (s1 (Array Key Value)) (xs Lst) (xs1 Lst) (in Key) (v Value)) + (=> (and + (R xs s) + (= s1 (store s in v)) + (= xs1 (cons (pair in v) xs))) + (R xs1 s1)))) + +; remove-init +(assert (forall ((s (Array Key Value)) (s1 (Array Key Value)) (xs Lst) (xs1 Lst) (in Key)) + (=> (and + (R xs s) + (= xs1 (removeall in xs)) + (= s1 (store s in (empty 0)))) + (R xs1 s1)))) + +; contains-out +(assert (forall ((s (Array Key Value)) (xs Lst) (in Key) (out1 Value) (out2 Value)) + (=> (and + (R xs s) + (= out1 (select s in)) + (= out2 (get in xs)) + (not (= out1 out2))) + false))) + +(check-sat) diff --git a/bench_horn_adt/arrays/arr_multiset.smt2 b/bench_horn_adt/arrays/arr_multiset.smt2 new file mode 100644 index 000000000..e162dfbbb --- /dev/null +++ b/bench_horn_adt/arrays/arr_multiset.smt2 @@ -0,0 +1,47 @@ +(set-logic HORN) +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) +(declare-fun R (Lst (Array Elem Int)) Bool) + +(declare-fun num (Elem Lst) Int) +(assert (forall ((x Elem)) (= (num x nil) 0))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (num x (cons y xs)) (ite (= x y) (+ 1 (num x xs)) (num x xs))))) + +(declare-fun remove (Elem Lst) Lst) +(assert (forall ((x Elem)) (= (remove x nil) nil))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (remove x (cons y xs)) (ite (= x y) xs (cons y (remove x xs)))))) + +; extras +;(assert (forall ((s (Array Elem Int)) (x Elem)) (>= (select s x) 0))) +(assert (forall ((xs Lst) (a (Elem))) (=> (= 0 (num a xs)) (= (remove a xs) xs)))) + +; init +(assert (forall ((s (Array Elem Int)) (xs Lst)) + (=> (and (forall ((a Elem)) (= (select s a) 0)) (= xs nil)) (R xs s)))) + +; insert-init +(assert (forall ((s (Array Elem Int)) (s1 (Array Elem Int)) (xs Lst) (xs1 Lst) (in Elem)) + (=> (and + (R xs s) + (= s1 (store s in (+ 1 (select s in)))) + (= xs1 (cons in xs))) + (R xs1 s1)))) + +; remove-init +(assert (forall ((s (Array Elem Int)) (s1 (Array Elem Int)) (xs Lst) (xs1 Lst) (in Elem)) + (=> (and + (R xs s) + (= xs1 (remove in xs)) + (= s1 (ite (= (select s in) 0) s (store s in (- (select s in) 1))))) + (R xs1 s1)))) + +; contains-out +(assert (forall ((s (Array Elem Int)) (xs Lst) (in Elem) (out1 Int) (out2 Int)) + (=> (and + (R xs s) + (= out1 (select s in)) + (= out2 (num in xs)) + (not (= out1 out2))) + false))) + +(check-sat) diff --git a/bench_horn_adt/arrays/arr_multiset_clear.smt2 b/bench_horn_adt/arrays/arr_multiset_clear.smt2 new file mode 100644 index 000000000..9fb5ff935 --- /dev/null +++ b/bench_horn_adt/arrays/arr_multiset_clear.smt2 @@ -0,0 +1,44 @@ +(set-logic HORN) +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) +(declare-fun R (Lst (Array Elem Int)) Bool) + +(declare-fun num (Elem Lst) Int) +(assert (forall ((x Elem)) (= (num x nil) 0))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (num x (cons y xs)) (ite (= x y) (+ 1 (num x xs)) (num x xs))))) + +(declare-fun removeall (Elem Lst) Lst) +(assert (forall ((x Elem)) (= (removeall x nil) nil))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) + (= (removeall x (cons y xs)) (ite (= x y) (removeall x xs) (cons y (removeall x xs)))))) + +; init +(assert (forall ((s (Array Elem Int)) (xs Lst)) + (=> (and (forall ((a Elem)) (= (select s a) 0)) (= xs nil)) (R xs s)))) + +; insert-init +(assert (forall ((s (Array Elem Int)) (s1 (Array Elem Int)) (xs Lst) (xs1 Lst) (in Elem)) + (=> (and + (R xs s) + (= s1 (store s in (+ 1 (select s in)))) + (= xs1 (cons in xs))) + (R xs1 s1)))) + +; remove-init +(assert (forall ((s (Array Elem Int)) (s1 (Array Elem Int)) (xs Lst) (xs1 Lst) (in Elem)) + (=> (and + (R xs s) + (= xs1 (removeall in xs)) + (= s1 (store s in 0))) + (R xs1 s1)))) + +; contains-out +(assert (forall ((s (Array Elem Int)) (xs Lst) (in Elem) (out1 Int) (out2 Int)) + (=> (and + (R xs s) + (= out1 (select s in)) + (= out2 (num in xs)) + (not (= out1 out2))) + false))) + +(check-sat) diff --git a/bench_horn_adt/arrays/arr_queue.smt2 b/bench_horn_adt/arrays/arr_queue.smt2 new file mode 100644 index 000000000..83b28f846 --- /dev/null +++ b/bench_horn_adt/arrays/arr_queue.smt2 @@ -0,0 +1,73 @@ +(set-logic HORN) +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) +(declare-fun R (Lst (Array Int Elem) Int Int) Bool) + +(declare-fun allbutlast (Lst) Lst) +(assert (forall ((x Elem)) (= (allbutlast (cons x nil)) nil))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (allbutlast (cons x (cons y xs))) (cons x (allbutlast (cons y xs)))))) + +(declare-fun last (Lst) Elem) +(assert (forall ((x Elem)) (= (last (cons x nil)) x))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (last (cons x (cons y xs))) (last (cons y xs))))) + +; init +(assert (forall ((xs Lst) (a (Array Int Elem)) (m Int) (n Int)) + (=> (and (= n m) (= xs nil)) (R xs a m n)))) + +; enqueue-init +(assert (forall ((xs Lst) (xs1 Lst) (a (Array Int Elem)) (a1 (Array Int Elem)) (m Int) (n Int) (m1 Int) (n1 Int) (in Elem)) + (=> (and + (R xs a m n) + (= a1 (store a n in)) + (= n1 (+ n 1)) + (= m1 m) + (= xs1 (cons in xs))) + (R xs1 a1 m1 n1)))) + +; dequeue-init +(assert (forall ((xs Lst) (xs1 Lst) (a (Array Int Elem)) (a1 (Array Int Elem)) (m Int) (n Int) (m1 Int) (n1 Int) (out1 Elem) (out2 Elem)) + (=> (and + (R xs a m n) + (< m n) + (= m1 (+ m 1)) + (= n1 n) + (= a1 a) + (= out1 (select a m)) + (distinct xs nil) + (= xs1 (allbutlast xs)) + (= out2 (last xs))) + (R xs1 a1 m1 n1)))) + +; dequeue-app-1 +(assert (forall ((xs Lst) (xs1 Lst) (a (Array Int Elem)) (a1 (Array Int Elem)) (m Int) (n Int) (m1 Int) (n1 Int) (out1 Elem) (out2 Elem)) + (=> (and + (R xs a m n) + (< m n) + (= xs nil)) + false))) + +; dequeue-app-2 +(assert (forall ((xs Lst) (xs1 Lst) (a (Array Int Elem)) (a1 (Array Int Elem)) (m Int) (n Int) (m1 Int) (n1 Int) (out1 Elem) (out2 Elem)) + (=> (and + (R xs a m n) + (not (= xs nil)) + (not (< m n))) + false))) + +; dequeue-out +(assert (forall ((xs Lst) (xs1 Lst) (a (Array Int Elem)) (a1 (Array Int Elem)) (m Int) (n Int) (m1 Int) (n1 Int) (out1 Elem) (out2 Elem)) + (=> (and + (R xs a m n) + (< m n) + (= m1 (+ m 1)) + (= n1 n) + (= a1 a) + (= out1 (select a m)) + (distinct xs nil) + (= xs1 (allbutlast xs)) + (= out2 (last xs)) + (not (= out1 out2))) + false))) + +(check-sat) diff --git a/bench_horn_adt/arrays/arr_queue_even.smt2 b/bench_horn_adt/arrays/arr_queue_even.smt2 new file mode 100644 index 000000000..1280fa2e0 --- /dev/null +++ b/bench_horn_adt/arrays/arr_queue_even.smt2 @@ -0,0 +1,73 @@ +(set-logic HORN) +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) +(declare-fun R (Lst (Array Int Elem) Int Int) Bool) + +(declare-fun allbutlast (Lst) Lst) +(assert (forall ((x Elem)) (= (allbutlast (cons x nil)) nil))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (allbutlast (cons x (cons y xs))) (cons x (allbutlast (cons y xs)))))) + +(declare-fun last (Lst) Elem) +(assert (forall ((x Elem)) (= (last (cons x nil)) x))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (last (cons x (cons y xs))) (last (cons y xs))))) + +; init +(assert (forall ((xs Lst) (a (Array Int Elem)) (m Int) (n Int)) + (=> (and (= n m) (= xs nil)) (R xs a m n)))) + +; enqueue-init +(assert (forall ((xs Lst) (xs1 Lst) (a (Array Int Elem)) (a1 (Array Int Elem)) (m Int) (n Int) (m1 Int) (n1 Int) (in Elem)) + (=> (and + (R xs a m n) + (= a1 (store a n in)) + (= n1 (+ n 2)) + (= m1 m) + (= xs1 (cons in xs))) + (R xs1 a1 m1 n1)))) + +; dequeue-init +(assert (forall ((xs Lst) (xs1 Lst) (a (Array Int Elem)) (a1 (Array Int Elem)) (m Int) (n Int) (m1 Int) (n1 Int) (out1 Elem) (out2 Elem)) + (=> (and + (R xs a m n) + (< m n) + (= m1 (+ m 2)) + (= n1 n) + (= a1 a) + (= out1 (select a m)) + (distinct xs nil) + (= xs1 (allbutlast xs)) + (= out2 (last xs))) + (R xs1 a1 m1 n1)))) + +; dequeue-app-1 +(assert (forall ((xs Lst) (xs1 Lst) (a (Array Int Elem)) (a1 (Array Int Elem)) (m Int) (n Int) (m1 Int) (n1 Int) (out1 Elem) (out2 Elem)) + (=> (and + (R xs a m n) + (< m n) + (= xs nil)) + false))) + +; dequeue-app-2 +(assert (forall ((xs Lst) (xs1 Lst) (a (Array Int Elem)) (a1 (Array Int Elem)) (m Int) (n Int) (m1 Int) (n1 Int) (out1 Elem) (out2 Elem)) + (=> (and + (R xs a m n) + (not (= xs nil)) + (not (< m n))) + false))) + +; dequeue-out +(assert (forall ((xs Lst) (xs1 Lst) (a (Array Int Elem)) (a1 (Array Int Elem)) (m Int) (n Int) (m1 Int) (n1 Int) (out1 Elem) (out2 Elem)) + (=> (and + (R xs a m n) + (< m n) + (= m1 (+ m 2)) + (= n1 n) + (= a1 a) + (= out1 (select a m)) + (distinct xs nil) + (= xs1 (allbutlast xs)) + (= out2 (last xs)) + (not (= out1 out2))) + false))) + +(check-sat) diff --git a/bench_horn_adt/arrays/arr_set_remove.smt2 b/bench_horn_adt/arrays/arr_set_remove.smt2 new file mode 100644 index 000000000..646d5f88c --- /dev/null +++ b/bench_horn_adt/arrays/arr_set_remove.smt2 @@ -0,0 +1,44 @@ +(set-logic HORN) +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) +(declare-fun R (Lst (Array Elem Bool)) Bool) + +(declare-fun contains (Elem Lst) Bool) +(assert (forall ((x Elem)) (= (contains x nil) false))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) + (= (contains x (cons y xs)) (ite (= x y) true (contains x xs))))) + +(declare-fun remove (Elem Lst) Lst) +(assert (forall ((x Elem)) (= (remove x nil) nil))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (remove x (cons y xs)) (ite (= x y) xs (cons y (remove x xs)))))) + +; init +(assert (forall ((s (Array Elem Bool)) (xs Lst)) + (=> (and (forall ((a Elem)) (not (select s a))) (= xs nil)) (R xs s)))) + +; insert-init +(assert (forall ((s (Array Elem Bool)) (s1 (Array Elem Bool)) (xs Lst) (xs1 Lst) (in Elem)) + (=> (and + (R xs s) + (= s1 (store s in true)) + (= xs1 (ite (contains in xs) xs (cons in xs)))) + (R xs1 s1)))) + +; remove-init +(assert (forall ((s (Array Elem Bool)) (s1 (Array Elem Bool)) (xs Lst) (xs1 Lst) (in Elem)) + (=> (and + (R xs s) + (= xs1 (remove in xs)) + (= s1 (store s in false))) + (R xs1 s1)))) + +; contains-out +(assert (forall ((s (Array Elem Bool)) (xs Lst) (in Elem) (out1 Bool) (out2 Bool)) + (=> (and + (R xs s) + (= out1 (select s in)) + (= out2 (contains in xs)) + (not (= out1 out2))) + false))) + +(check-sat) diff --git a/bench_horn_adt/arrays/arr_set_removeall.smt2 b/bench_horn_adt/arrays/arr_set_removeall.smt2 new file mode 100644 index 000000000..ad48f6a50 --- /dev/null +++ b/bench_horn_adt/arrays/arr_set_removeall.smt2 @@ -0,0 +1,45 @@ +(set-logic HORN) +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) +(declare-fun R (Lst (Array Elem Bool)) Bool) + +(declare-fun contains (Elem Lst) Bool) +(assert (forall ((x Elem)) (= (contains x nil) false))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) + (= (contains x (cons y xs)) (ite (= x y) true (contains x xs))))) + +(declare-fun removeall (Elem Lst) Lst) +(assert (forall ((x Elem)) (= (removeall x nil) nil))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) + (= (removeall x (cons y xs)) (ite (= x y) (removeall x xs) (cons y (removeall x xs)))))) + +; init +(assert (forall ((s (Array Elem Bool)) (xs Lst)) + (=> (and (forall ((a Elem)) (not (select s a))) (= xs nil)) (R xs s)))) + +; insert-init +(assert (forall ((s (Array Elem Bool)) (s1 (Array Elem Bool)) (xs Lst) (xs1 Lst) (in Elem)) + (=> (and + (R xs s) + (= s1 (store s in true)) + (= xs1 (ite (contains in xs) xs (cons in xs)))) + (R xs1 s1)))) + +; remove-init +(assert (forall ((s (Array Elem Bool)) (s1 (Array Elem Bool)) (xs Lst) (xs1 Lst) (in Elem)) + (=> (and + (R xs s) + (= xs1 (removeall in xs)) + (= s1 (store s in false))) + (R xs1 s1)))) + +; contains-out +(assert (forall ((s (Array Elem Bool)) (xs Lst) (in Elem) (out1 Bool) (out2 Bool)) + (=> (and + (R xs s) + (= out1 (select s in)) + (= out2 (contains in xs)) + (not (= out1 out2))) + false))) + +(check-sat) diff --git a/bench_horn_adt/arrays/arr_stack.smt2 b/bench_horn_adt/arrays/arr_stack.smt2 new file mode 100644 index 000000000..d31b8623f --- /dev/null +++ b/bench_horn_adt/arrays/arr_stack.smt2 @@ -0,0 +1,60 @@ +(set-logic HORN) +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) +(declare-fun R (Lst (Array Int Elem) Int) Bool) + +; init +(assert (forall ((xs Lst) (a (Array Int Elem)) (n Int)) + (=> (and (= n 0) (= xs nil)) (R xs a n)))) + +; push-init +(assert (forall ((xs Lst) (xs1 Lst) (a (Array Int Elem)) (a1 (Array Int Elem)) (n Int) (n1 Int) (in Elem)) + (=> (and + (R xs a n) + (= a1 (store a n in)) + (= n1 (+ n 1)) + (= xs1 (cons in xs))) + (R xs1 a1 n1)))) + +; pop-init +(assert (forall ((xs Lst) (xs1 Lst) (a (Array Int Elem)) (a1 (Array Int Elem)) (n Int) (n1 Int) (out1 Elem) (out2 Elem)) + (=> (and + (R xs a n) + (> n 0) + (= n1 (- n 1)) + (= a1 a) + (= out1 (select a n1)) + (not (= xs nil)) + (= xs (cons out2 xs1))) + (R xs1 a1 n1)))) + +; pop-app-1 +(assert (forall ((xs Lst) (xs1 Lst) (a (Array Int Elem)) (a1 (Array Int Elem)) (n Int) (n1 Int) (out1 Elem) (out2 Elem)) + (=> (and + (R xs a n) + (> n 0) + (= xs nil)) + false))) + +; pop-app-2 +(assert (forall ((xs Lst) (xs1 Lst) (a (Array Int Elem)) (a1 (Array Int Elem)) (n Int) (n1 Int) (out1 Elem) (out2 Elem)) + (=> (and + (R xs a n) + (not (= xs nil)) + (not (> n 0))) + false))) + +; pop-out +(assert (forall ((xs Lst) (xs1 Lst) (a (Array Int Elem)) (a1 (Array Int Elem)) (n Int) (n1 Int) (out1 Elem) (out2 Elem)) + (=> (and + (R xs a n) + (> n 0) + (= n1 (- n 1)) + (= a1 a) + (= out1 (select a n1)) + (not (= xs nil)) + (= xs (cons out2 xs1)) + (not (= out1 out2))) + false))) + +(check-sat) diff --git a/bench_horn_adt/arrays/arr_stack_even.smt2 b/bench_horn_adt/arrays/arr_stack_even.smt2 new file mode 100644 index 000000000..46c6cc3eb --- /dev/null +++ b/bench_horn_adt/arrays/arr_stack_even.smt2 @@ -0,0 +1,60 @@ +(set-logic HORN) +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) +(declare-fun R (Lst (Array Int Elem) Int) Bool) + +; init +(assert (forall ((xs Lst) (a (Array Int Elem)) (n Int)) + (=> (and (= n 0) (= xs nil)) (R xs a n)))) + +; push-init +(assert (forall ((xs Lst) (xs1 Lst) (a (Array Int Elem)) (a1 (Array Int Elem)) (n Int) (n1 Int) (in Elem)) + (=> (and + (R xs a n) + (= a1 (store a n in)) + (= n1 (+ n 2)) + (= xs1 (cons in xs))) + (R xs1 a1 n1)))) + +; pop-init +(assert (forall ((xs Lst) (xs1 Lst) (a (Array Int Elem)) (a1 (Array Int Elem)) (n Int) (n1 Int) (out1 Elem) (out2 Elem)) + (=> (and + (R xs a n) + (> n 0) + (= n1 (- n 2)) + (= a1 a) + (= out1 (select a n1)) + (not (= xs nil)) + (= xs (cons out2 xs1))) + (R xs1 a1 n1)))) + +; pop-app-1 +(assert (forall ((xs Lst) (xs1 Lst) (a (Array Int Elem)) (a1 (Array Int Elem)) (n Int) (n1 Int) (out1 Elem) (out2 Elem)) + (=> (and + (R xs a n) + (> n 0) + (= xs nil)) + false))) + +; pop-app-2 +(assert (forall ((xs Lst) (xs1 Lst) (a (Array Int Elem)) (a1 (Array Int Elem)) (n Int) (n1 Int) (out1 Elem) (out2 Elem)) + (=> (and + (R xs a n) + (not (= xs nil)) + (not (> n 0))) + false))) + +; pop-out +(assert (forall ((xs Lst) (xs1 Lst) (a (Array Int Elem)) (a1 (Array Int Elem)) (n Int) (n1 Int) (out1 Elem) (out2 Elem)) + (=> (and + (R xs a n) + (> n 0) + (= n1 (- n 2)) + (= a1 a) + (= out1 (select a n1)) + (not (= xs nil)) + (= xs (cons out2 xs1)) + (not (= out1 out2))) + false))) + +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/clam/goal10.smt2 b/bench_horn_adt/benchmarks-vmcai2015/clam/goal10.smt2 new file mode 100644 index 000000000..8778fee85 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/clam/goal10.smt2 @@ -0,0 +1,51 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun rev (listOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (rev nil-listOfInt nil-listOfInt) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (and + (rev B D) + (append D (cons-listOfInt A nil-listOfInt) C) + ) + (rev (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A Bool) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (and + (rev B C) + (rev C D) + (not (= D B)) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/clam/goal11.smt2 b/bench_horn_adt/benchmarks-vmcai2015/clam/goal11.smt2 new file mode 100644 index 000000000..e6d3fca26 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/clam/goal11.smt2 @@ -0,0 +1,54 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun rev (listOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (rev nil-listOfInt nil-listOfInt) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (and + (rev B D) + (append D (cons-listOfInt A nil-listOfInt) C) + ) + (rev (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A Bool) (B listOfInt) (C listOfInt) (D listOfInt) (E listOfInt) (F listOfInt) (G listOfInt) (H listOfInt) ) + (=> + (and + (rev B C) + (rev D E) + (append C E F) + (rev F G) + (append D B H) + (not (= G H)) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/clam/goal12.smt2 b/bench_horn_adt/benchmarks-vmcai2015/clam/goal12.smt2 new file mode 100644 index 000000000..e8f32cc7f --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/clam/goal12.smt2 @@ -0,0 +1,66 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun rev (listOfInt listOfInt) Bool) +(declare-fun qreva (listOfInt listOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (rev nil-listOfInt nil-listOfInt) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (and + (rev B D) + (append D (cons-listOfInt A nil-listOfInt) C) + ) + (rev (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (qreva nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (qreva B (cons-listOfInt A C) D) + (qreva (cons-listOfInt A B) C D) + ) + ) +) +(assert + (forall ( (A Bool) (B listOfInt) (C listOfInt) (D listOfInt) (E listOfInt) (F listOfInt) ) + (=> + (and + (qreva B C D) + (rev B E) + (append E C F) + (not (= D F)) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/clam/goal17.smt2 b/bench_horn_adt/benchmarks-vmcai2015/clam/goal17.smt2 new file mode 100644 index 000000000..0f348fabb --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/clam/goal17.smt2 @@ -0,0 +1,57 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun rev (listOfInt listOfInt) Bool) +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (rev nil-listOfInt nil-listOfInt) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (and + (rev B D) + (append D (cons-listOfInt A nil-listOfInt) C) + ) + (rev (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A Bool) (B listOfInt) (C listOfInt) (D listOfInt) (E listOfInt) (F listOfInt) (G listOfInt) (H listOfInt) (I listOfInt) (J listOfInt) (K listOfInt) ) + (=> + (and + (append B C D) + (rev D E) + (rev E F) + (rev B G) + (rev G H) + (rev C I) + (rev I J) + (append H J K) + (not (= F K)) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/clam/goal18.smt2 b/bench_horn_adt/benchmarks-vmcai2015/clam/goal18.smt2 new file mode 100644 index 000000000..99798082d --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/clam/goal18.smt2 @@ -0,0 +1,54 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun rev (listOfInt listOfInt) Bool) +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (rev nil-listOfInt nil-listOfInt) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (and + (rev B D) + (append D (cons-listOfInt A nil-listOfInt) C) + ) + (rev (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A Bool) (B listOfInt) (C listOfInt) (D listOfInt) (E listOfInt) (F listOfInt) (G listOfInt) (H listOfInt) ) + (=> + (and + (rev B C) + (append C D E) + (rev E F) + (rev D G) + (append G B H) + (not (= F H)) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/clam/goal19.smt2 b/bench_horn_adt/benchmarks-vmcai2015/clam/goal19.smt2 new file mode 100644 index 000000000..72926f4c9 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/clam/goal19.smt2 @@ -0,0 +1,55 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun rev (listOfInt listOfInt) Bool) +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (rev nil-listOfInt nil-listOfInt) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (and + (rev B D) + (append D (cons-listOfInt A nil-listOfInt) C) + ) + (rev (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A Bool) (B listOfInt) (C listOfInt) (D listOfInt) (E listOfInt) (F listOfInt) (G listOfInt) (H listOfInt) (I listOfInt) ) + (=> + (and + (rev B C) + (rev C D) + (append D E F) + (append B E G) + (rev G H) + (rev H I) + (not (= F I)) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/clam/goal2.smt2 b/bench_horn_adt/benchmarks-vmcai2015/clam/goal2.smt2 new file mode 100644 index 000000000..47024a690 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/clam/goal2.smt2 @@ -0,0 +1,58 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun len (listOfInt Int) Bool) +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C listOfInt) (D listOfInt) (E listOfInt) (F listOfInt) ) + (=> + (and + (not (= A B)) + (append C D E) + (len E B) + (append D C F) + (len F A) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/clam/goal20.smt2 b/bench_horn_adt/benchmarks-vmcai2015/clam/goal20.smt2 new file mode 100644 index 000000000..466f2e67e --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/clam/goal20.smt2 @@ -0,0 +1,84 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun rev (listOfInt listOfInt) Bool) +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun id_list (listOfInt listOfInt) Bool) +(declare-fun len (listOfInt Int) Bool) +(declare-fun ff () Bool) + +(assert + (id_list nil-listOfInt nil-listOfInt) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) ) + (=> + (id_list B C) + (id_list (cons-listOfInt A B) (cons-listOfInt A C)) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (rev nil-listOfInt nil-listOfInt) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (and + (rev B D) + (append D (cons-listOfInt A nil-listOfInt) C) + ) + (rev (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C listOfInt) (D listOfInt) (E listOfInt) ) + (=> + (and + (not (= A (* 2 B))) + (id_list C D) + (append C D E) + (len E A) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/clam/goal21.smt2 b/bench_horn_adt/benchmarks-vmcai2015/clam/goal21.smt2 new file mode 100644 index 000000000..d36a3787f --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/clam/goal21.smt2 @@ -0,0 +1,118 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun rev (listOfInt listOfInt) Bool) +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun id_list (listOfInt listOfInt) Bool) +(declare-fun len (listOfInt Int) Bool) +(declare-fun rotate (Int listOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (id_list nil-listOfInt nil-listOfInt) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) ) + (=> + (id_list B C) + (id_list (cons-listOfInt A B) (cons-listOfInt A C)) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) ) + (=> + (= A 0) + (rotate A B B) + ) + ) +) +(assert + (forall ( (A Int) (B Int) ) + (=> + (and + (= A (+ 1 B)) + (>= B 0) + ) + (rotate A nil-listOfInt nil-listOfInt) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C listOfInt) (D listOfInt) (E Int) (F listOfInt) ) + (=> + (and + (= A (+ 1 E)) + (>= E 0) + (append C (cons-listOfInt B nil-listOfInt) F) + (rotate E F D) + ) + (rotate A (cons-listOfInt B C) D) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (rev nil-listOfInt nil-listOfInt) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (and + (rev B D) + (append D (cons-listOfInt A nil-listOfInt) C) + ) + (rev (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A Bool) (B listOfInt) (C Int) (D listOfInt) (E listOfInt) (F listOfInt) (G listOfInt) ) + (=> + (and + (len B C) + (append B D E) + (rotate C E F) + (append D B G) + (not (= F G)) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/clam/goal27.smt2 b/bench_horn_adt/benchmarks-vmcai2015/clam/goal27.smt2 new file mode 100644 index 000000000..5a04b9557 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/clam/goal27.smt2 @@ -0,0 +1,65 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun qreva (listOfInt listOfInt listOfInt) Bool) +(declare-fun rev (listOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (qreva nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (qreva B (cons-listOfInt A C) D) + (qreva (cons-listOfInt A B) C D) + ) + ) +) +(assert + (rev nil-listOfInt nil-listOfInt) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (and + (rev B D) + (append D (cons-listOfInt A nil-listOfInt) C) + ) + (rev (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A Bool) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (and + (rev B C) + (qreva B nil-listOfInt D) + (not (= C D)) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/clam/goal3.smt2 b/bench_horn_adt/benchmarks-vmcai2015/clam/goal3.smt2 new file mode 100644 index 000000000..bfb4f55f3 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/clam/goal3.smt2 @@ -0,0 +1,59 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun len (listOfInt Int) Bool) +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C Int) (D Int) (E listOfInt) (F listOfInt) (G listOfInt) ) + (=> + (and + (not (= A B)) + (= (+ C D) A) + (append E F G) + (len G B) + (len E C) + (len F D) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/clam/goal4.smt2 b/bench_horn_adt/benchmarks-vmcai2015/clam/goal4.smt2 new file mode 100644 index 000000000..35dd533d0 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/clam/goal4.smt2 @@ -0,0 +1,56 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun len (listOfInt Int) Bool) +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C Int) (D listOfInt) (E listOfInt) (F listOfInt) ) + (=> + (and + (not (= (* 2 C) B)) + (append D D F) + (len F B) + (len D C) + ) + ff + ) + ) +) +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/clam/goal5.smt2 b/bench_horn_adt/benchmarks-vmcai2015/clam/goal5.smt2 new file mode 100644 index 000000000..33bc94401 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/clam/goal5.smt2 @@ -0,0 +1,72 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun len (listOfInt Int) Bool) +(declare-fun rev (listOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (rev nil-listOfInt nil-listOfInt) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (and + (rev B D) + (append D (cons-listOfInt A nil-listOfInt) C) + ) + (rev (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C listOfInt) (D listOfInt) ) + (=> + (and + (not (= A B)) + (rev C D) + (len D B) + (len C A) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/clam/goal6.smt2 b/bench_horn_adt/benchmarks-vmcai2015/clam/goal6.smt2 new file mode 100644 index 000000000..88b383c93 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/clam/goal6.smt2 @@ -0,0 +1,75 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun len (listOfInt Int) Bool) +(declare-fun rev (listOfInt listOfInt) Bool) +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (rev nil-listOfInt nil-listOfInt) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (and + (rev B D) + (append D (cons-listOfInt A nil-listOfInt) C) + ) + (rev (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C Int) (D Int) (E listOfInt) (F listOfInt) (G listOfInt) (H listOfInt) ) + (=> + (and + (= (+ C D) A) + (not (= B A)) + (append E F G) + (rev G H) + (len H B) + (len E C) + (len F D) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/clam/goal7.smt2 b/bench_horn_adt/benchmarks-vmcai2015/clam/goal7.smt2 new file mode 100644 index 000000000..a9f27d69b --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/clam/goal7.smt2 @@ -0,0 +1,88 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun rev (listOfInt listOfInt) Bool) +(declare-fun len (listOfInt Int) Bool) +(declare-fun qreva (listOfInt listOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (rev nil-listOfInt nil-listOfInt) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (and + (rev B D) + (append D (cons-listOfInt A nil-listOfInt) C) + ) + (rev (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (qreva nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (qreva B (cons-listOfInt A C) D) + (qreva (cons-listOfInt A B) C D) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C Int) (D Int) (E listOfInt) (F listOfInt) (G listOfInt) ) + (=> + (and + (= (+ C D) A) + (not (= A B)) + (qreva E F G) + (len G B) + (len E C) + (len F D) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/clam/goal72.smt2 b/bench_horn_adt/benchmarks-vmcai2015/clam/goal72.smt2 new file mode 100644 index 000000000..eed806aa1 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/clam/goal72.smt2 @@ -0,0 +1,37 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun ff () Bool) +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A Bool) (B listOfInt) (C listOfInt) (D listOfInt) (E listOfInt) (F listOfInt) (G listOfInt) (H listOfInt) ) + (=> + (and + (append B C D) + (append D E F) + (append C E G) + (append B G H) + (not (= F H)) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/clam/goal8.smt2 b/bench_horn_adt/benchmarks-vmcai2015/clam/goal8.smt2 new file mode 100644 index 000000000..cde050f59 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/clam/goal8.smt2 @@ -0,0 +1,52 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun drop (Int listOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (drop A nil-listOfInt nil-listOfInt) + ) +) +(assert + (forall ( (A Int) (B listOfInt) ) + (=> + (= A 0) + (drop A B B) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C listOfInt) (D listOfInt) (E Int) ) + (=> + (and + (= A (+ 1 E)) + (>= E 0) + (drop E C D) + ) + (drop A (cons-listOfInt B C) D) + ) + ) +) +(assert + (forall ( (A Bool) (B Int) (C Int) (D listOfInt) (E listOfInt) (F listOfInt) (G listOfInt) (H listOfInt) ) + (=> + (and + (>= B 0) + (>= C 0) + (drop C D E) + (drop B E F) + (drop B D G) + (drop C G H) + (not (= F H)) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/clam/goal9.smt2 b/bench_horn_adt/benchmarks-vmcai2015/clam/goal9.smt2 new file mode 100644 index 000000000..7ac66f253 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/clam/goal9.smt2 @@ -0,0 +1,55 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun drop (Int listOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (drop A nil-listOfInt nil-listOfInt) + ) +) +(assert + (forall ( (A Int) (B listOfInt) ) + (=> + (= A 0) + (drop A B B) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C listOfInt) (D listOfInt) (E Int) ) + (=> + (and + (= A (+ 1 E)) + (>= E 0) + (drop E C D) + ) + (drop A (cons-listOfInt B C) D) + ) + ) +) +(assert + (forall ( (A Bool) (B Int) (C Int) (D Int) (E listOfInt) (F listOfInt) (G listOfInt) (H listOfInt) (I listOfInt) (J listOfInt) (K listOfInt) ) + (=> + (and + (>= B 0) + (>= C 0) + (>= D 0) + (drop C E F) + (drop B F G) + (drop D G H) + (drop D E I) + (drop B I J) + (drop C J K) + (not (= H K)) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal1.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal1.smt2 new file mode 100644 index 000000000..39b766777 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal1.smt2 @@ -0,0 +1,60 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) +(declare-datatypes ((queueOfInt 0) ) +(((queue-queueOfInt (front-queueOfInt listOfInt) (back-queueOfInt listOfInt)) ))) + +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun len (listOfInt Int) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C listOfInt) (D listOfInt) (E listOfInt) (F Int) ) + (=> + (and + (not (= F (+ A B))) + (len D B) + (len C A) + (append C D E) + (len E F) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal10.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal10.smt2 new file mode 100644 index 000000000..1def4eac2 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal10.smt2 @@ -0,0 +1,91 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) +(declare-datatypes ((queueOfInt 0) ) +(((queue-queueOfInt (front-queueOfInt listOfInt) (back-queueOfInt listOfInt)) ))) + +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun butlast (listOfInt listOfInt) Bool) +(declare-fun len (listOfInt Int) Bool) +(declare-fun qreva (listOfInt listOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (butlast nil-listOfInt nil-listOfInt) +) +(assert + (forall ( (A Int) ) + (butlast (cons-listOfInt A nil-listOfInt) nil-listOfInt) + ) +) +(assert + (forall ( (A Int) (B Int) (C listOfInt) (D listOfInt) ) + (=> + (butlast (cons-listOfInt B C) D) + (butlast (cons-listOfInt A (cons-listOfInt B C)) (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (qreva nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (qreva B (cons-listOfInt A C) D) + (qreva (cons-listOfInt A B) C D) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) (C listOfInt) (D listOfInt) (E listOfInt) (F listOfInt) (G listOfInt) ) + (=> + (and + (qreva A B D) + (qreva D C E) + (append A C F) + (qreva B F G) + (not (= E G)) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) \ No newline at end of file diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal11.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal11.smt2 new file mode 100644 index 000000000..3aeb78816 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal11.smt2 @@ -0,0 +1,40 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) +(declare-datatypes ((queueOfInt 0) ) +(((queue-queueOfInt (front-queueOfInt listOfInt) (back-queueOfInt listOfInt)) ))) + +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A Bool) (B listOfInt) (C listOfInt) (D listOfInt) (E listOfInt) (F listOfInt) (G listOfInt) (H listOfInt) ) + (=> + (and + (append B C D) + (append E D F) + (append E B G) + (append G C H) + (not (= F H)) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) \ No newline at end of file diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal12.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal12.smt2 new file mode 100644 index 000000000..e3ca9f5ca --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal12.smt2 @@ -0,0 +1,124 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) +(declare-datatypes ((queueOfInt 0) ) +(((queue-queueOfInt (front-queueOfInt listOfInt) (back-queueOfInt listOfInt)) ))) + +(declare-fun len (listOfInt Int) Bool) +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun queuetolst (queueOfInt listOfInt) Bool) +(declare-fun qrev (listOfInt listOfInt) Bool) +(declare-fun qreva (listOfInt listOfInt listOfInt) Bool) +(declare-fun amortizequeue (listOfInt listOfInt queueOfInt) Bool) + +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (qreva nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (qreva B (cons-listOfInt A C) D) + (qreva (cons-listOfInt A B) C D) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) ) + (=> + (qreva A nil-listOfInt B) + (qrev A B) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (and + (qrev B D) + (append A D C) + ) + (queuetolst (queue-queueOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) (C Bool) (D Int) (E Int) ) + (=> + (and + (<= D E) + (len A E) + (len B D) + ) + (amortizequeue A B (queue-queueOfInt A B) ) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) (C listOfInt) (D Bool) (E Int) (F Int) (G listOfInt) ) + (=> + (and + (> E F) + (len A F) + (len B E) + (append A G C) + (qrev B G) + ) + (amortizequeue A B (queue-queueOfInt C nil-listOfInt) ) + ) + ) +) + +(assert + (forall ( (A Bool) (B listOfInt) (C listOfInt) (D listOfInt) (E queueOfInt) (F listOfInt) ) + (=> + (and + (queuetolst (queue-queueOfInt B C) D) + (amortizequeue B C E) + (queuetolst E F) + (not (= D F)) + ) + ff + ) + ) +) + + +(assert (not ff)) +(check-sat) \ No newline at end of file diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal13.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal13.smt2 new file mode 100644 index 000000000..3552ff09f --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal13.smt2 @@ -0,0 +1,156 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) +(declare-datatypes ((queueOfInt 0) ) +(((queue-queueOfInt (front-queueOfInt listOfInt) (back-queueOfInt listOfInt)) ))) + +(declare-fun len (listOfInt Int) Bool) +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun queuetolst (queueOfInt listOfInt) Bool) +(declare-fun qrev (listOfInt listOfInt) Bool) +(declare-fun qreva (listOfInt listOfInt listOfInt) Bool) +(declare-fun amortizequeue (listOfInt listOfInt queueOfInt) Bool) +(declare-fun butlast (listOfInt listOfInt) Bool) +(declare-fun qpop (queueOfInt queueOfInt) Bool) + +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (qreva nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (qreva B (cons-listOfInt A C) D) + (qreva (cons-listOfInt A B) C D) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) ) + (=> + (qreva A nil-listOfInt B) + (qrev A B) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (and + (qrev B D) + (append A D C) + ) + (queuetolst (queue-queueOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) (C Bool) (D Int) (E Int) ) + (=> + (and + (<= D E) + (len A E) + (len B D) + ) + (amortizequeue A B (queue-queueOfInt A B) ) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) (C listOfInt) (D Bool) (E Int) (F Int) (G listOfInt) ) + (=> + (and + (> E F) + (len A F) + (len B E) + (append A G C) + (qrev B G) + ) + (amortizequeue A B (queue-queueOfInt C nil-listOfInt) ) + ) + ) +) +(assert + (butlast nil-listOfInt nil-listOfInt) +) +(assert + (forall ( (A Int) ) + (butlast (cons-listOfInt A nil-listOfInt) nil-listOfInt) + ) +) +(assert + (forall ( (A Int) (B Int) (C listOfInt) (D listOfInt) ) + (=> + (butlast (cons-listOfInt B C) D) + (butlast (cons-listOfInt A (cons-listOfInt B C)) (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A listOfInt) (B Int) (C listOfInt) ) + (qpop (queue-queueOfInt A (cons-listOfInt B C)) (queue-queueOfInt A C) ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) ) + (=> + (butlast A B) + (qpop (queue-queueOfInt A nil-listOfInt) (queue-queueOfInt B nil-listOfInt) ) + ) + ) +) + +(assert + (forall ( (A Bool) (B listOfInt) (C listOfInt) (D listOfInt) (E listOfInt) (F queueOfInt) (G listOfInt) ) + (=> + (and + (queuetolst (queue-queueOfInt B C) D) + (butlast D E) + (qpop (queue-queueOfInt B C) F) + (queuetolst F G) + (not (= E G)) + ) + ff + ) + ) +) + + +(assert (not ff)) +(check-sat) \ No newline at end of file diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal14.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal14.smt2 new file mode 100644 index 000000000..052c98f02 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal14.smt2 @@ -0,0 +1,164 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) +(declare-datatypes ((queueOfInt 0) ) +(((queue-queueOfInt (front-queueOfInt listOfInt) (back-queueOfInt listOfInt)) ))) + +(declare-fun len (listOfInt Int) Bool) +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun queuetolst (queueOfInt listOfInt) Bool) +(declare-fun qrev (listOfInt listOfInt) Bool) +(declare-fun qreva (listOfInt listOfInt listOfInt) Bool) +(declare-fun amortizequeue (listOfInt listOfInt queueOfInt) Bool) +(declare-fun butlast (listOfInt listOfInt) Bool) +(declare-fun qpop (queueOfInt queueOfInt) Bool) +(declare-fun enqueue (queueOfInt Int queueOfInt) Bool) + +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (qreva nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (qreva B (cons-listOfInt A C) D) + (qreva (cons-listOfInt A B) C D) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) ) + (=> + (qreva A nil-listOfInt B) + (qrev A B) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (and + (qrev B D) + (append A D C) + ) + (queuetolst (queue-queueOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) (C Bool) (D Int) (E Int) ) + (=> + (and + (<= D E) + (len A E) + (len B D) + ) + (amortizequeue A B (queue-queueOfInt A B) ) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) (C listOfInt) (D Bool) (E Int) (F Int) (G listOfInt) ) + (=> + (and + (> E F) + (len A F) + (len B E) + (append A G C) + (qrev B G) + ) + (amortizequeue A B (queue-queueOfInt C nil-listOfInt) ) + ) + ) +) +(assert + (butlast nil-listOfInt nil-listOfInt) +) +(assert + (forall ( (A Int) ) + (butlast (cons-listOfInt A nil-listOfInt) nil-listOfInt) + ) +) +(assert + (forall ( (A Int) (B Int) (C listOfInt) (D listOfInt) ) + (=> + (butlast (cons-listOfInt B C) D) + (butlast (cons-listOfInt A (cons-listOfInt B C)) (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A listOfInt) (B Int) (C listOfInt) ) + (qpop (queue-queueOfInt A (cons-listOfInt B C)) (queue-queueOfInt A C) ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) ) + (=> + (butlast A B) + (qpop (queue-queueOfInt A nil-listOfInt) (queue-queueOfInt B nil-listOfInt) ) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) (C Int) (D queueOfInt) ) + (=> + (amortizequeue A (cons-listOfInt C B) D) + (enqueue (queue-queueOfInt A B) C D) + ) + ) +) +(assert + (forall ( (A Bool) (B listOfInt) (C listOfInt) (D listOfInt) (E Int) (F listOfInt) (G queueOfInt) (H listOfInt) ) + (=> + (and + (queuetolst (queue-queueOfInt B C) D) + (append D (cons-listOfInt E nil-listOfInt) F) + (enqueue (queue-queueOfInt B C) E G) + (queuetolst G H) + (not (= F H)) + ) + ff + ) + ) +) + + +(assert (not ff)) +(check-sat) \ No newline at end of file diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal15.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal15.smt2 new file mode 100644 index 000000000..69e516549 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal15.smt2 @@ -0,0 +1,122 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) +(declare-datatypes ((queueOfInt 0) ) +(((queue-queueOfInt (front-queueOfInt listOfInt) (back-queueOfInt listOfInt)) ))) + +(declare-fun len (listOfInt Int) Bool) +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun qrev (listOfInt listOfInt) Bool) +(declare-fun qreva (listOfInt listOfInt listOfInt) Bool) +(declare-fun amortizequeue (listOfInt listOfInt queueOfInt) Bool) +(declare-fun isamortized (queueOfInt Bool) Bool) + +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (qreva nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (qreva B (cons-listOfInt A C) D) + (qreva (cons-listOfInt A B) C D) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) ) + (=> + (qreva A nil-listOfInt B) + (qrev A B) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) (C Bool) (D Int) (E Int) ) + (=> + (and + (<= D E) + (len A E) + (len B D) + ) + (amortizequeue A B (queue-queueOfInt A B) ) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) (C listOfInt) (D Bool) (E Int) (F Int) (G listOfInt) ) + (=> + (and + (> E F) + (len A F) + (len B E) + (append A G C) + (qrev B G) + ) + (amortizequeue A B (queue-queueOfInt C nil-listOfInt) ) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) (C Bool) (D Int) (E Int) ) + (=> + (and + (len B D) + (len A E) + ) + (isamortized (queue-queueOfInt A B) (<= D E)) + ) + ) +) +(assert + (forall ( (A Bool) (B listOfInt) (C listOfInt) (D queueOfInt) ) + (=> + (and + (not (= A true)) + (amortizequeue B C D) + (isamortized D A) + ) + ff + ) + ) +) + + +(assert (not ff)) +(check-sat) \ No newline at end of file diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal2.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal2.smt2 new file mode 100644 index 000000000..512e3c489 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal2.smt2 @@ -0,0 +1,74 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) +(declare-datatypes ((queueOfInt 0) ) +(((queue-queueOfInt (front-queueOfInt listOfInt) (back-queueOfInt listOfInt)) ))) + +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun len (listOfInt Int) Bool) +(declare-fun qreva (listOfInt listOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (qreva nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (qreva B (cons-listOfInt A C) D) + (qreva (cons-listOfInt A B) C D) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C Int) (D listOfInt) (E listOfInt) (F listOfInt) (H Int) ) + (=> + (and + (qreva D E F) + (len E B) + (len D A) + (len F C) + (= H (+ A B)) + (not (= C H)) + ) + ff + ) + ) +) +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal3.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal3.smt2 new file mode 100644 index 000000000..e9663da32 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal3.smt2 @@ -0,0 +1,81 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) +(declare-datatypes ((queueOfInt 0) ) +(((queue-queueOfInt (front-queueOfInt listOfInt) (back-queueOfInt listOfInt)) ))) + +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun qrev (listOfInt listOfInt) Bool) +(declare-fun len (listOfInt Int) Bool) +(declare-fun qreva (listOfInt listOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (qreva nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (qreva B (cons-listOfInt A C) D) + (qreva (cons-listOfInt A B) C D) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) ) + (=> + (qreva A nil-listOfInt B) + (qrev A B) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C listOfInt) (D listOfInt) ) + (=> + (and + (not (= A B)) + (qrev C D) + (len D B) + (len C A) + ) + ff + ) + ) +) +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal4.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal4.smt2 new file mode 100644 index 000000000..2f3fca22f --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal4.smt2 @@ -0,0 +1,58 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) +(declare-datatypes ((queueOfInt 0) ) +(((queue-queueOfInt (front-queueOfInt listOfInt) (back-queueOfInt listOfInt)) ))) + +(declare-fun qlen (queueOfInt Int) Bool) +(declare-fun len (listOfInt Int) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A listOfInt) (B listOfInt) (C Int) (D Int) (E Int) ) + (=> + (and + (len A D) + (len B E) + ) + (qlen (queue-queueOfInt A B) (+ D E)) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C Int) (D Int) (E listOfInt) (F listOfInt) ) + (=> + (and + (not (= A B)) + (= (+ C D) B) + (len E C) + (len F D) + (qlen (queue-queueOfInt E F) A) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal5.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal5.smt2 new file mode 100644 index 000000000..0293d1745 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal5.smt2 @@ -0,0 +1,62 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) +(declare-datatypes ((queueOfInt 0) ) +(((queue-queueOfInt (front-queueOfInt listOfInt) (back-queueOfInt listOfInt)) ))) + +(declare-fun len (listOfInt Int) Bool) +(declare-fun butlast (listOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (butlast nil-listOfInt nil-listOfInt) +) +(assert + (forall ( (A Int) ) + (butlast (cons-listOfInt A nil-listOfInt) nil-listOfInt) + ) +) +(assert + (forall ( (A Int) (B Int) (C listOfInt) (D listOfInt) ) + (=> + (butlast (cons-listOfInt B C) D) + (butlast (cons-listOfInt A (cons-listOfInt B C)) (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C Int) (D listOfInt) (E listOfInt) ) + (=> + (and + (not (= (- A B) 1)) + (butlast (cons-listOfInt C D) E) + (len E B) + (len (cons-listOfInt C D) A) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal6.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal6.smt2 new file mode 100644 index 000000000..56058c62d --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal6.smt2 @@ -0,0 +1,133 @@ +; Automatically generated by map2smt + +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) +(declare-datatypes ((queueOfInt 0) ) +(((queue-queueOfInt (front-queueOfInt listOfInt) (back-queueOfInt listOfInt)) ))) + +(declare-fun qreva (listOfInt listOfInt listOfInt) Bool) +(declare-fun qrev (listOfInt listOfInt) Bool) +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun qlen (queueOfInt Int) Bool) +(declare-fun len (listOfInt Int) Bool) +(declare-fun amortizequeue (listOfInt listOfInt queueOfInt) Bool) +(declare-fun enqueue (queueOfInt Int queueOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A listOfInt) ) + (qreva nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (qreva B (cons-listOfInt A C) D) + (qreva (cons-listOfInt A B) C D) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) (C Int) (D Int) (E Int) ) + (=> + (and + (len A D) + (len B E) + ) + (qlen (queue-queueOfInt A B) (+ D E) ) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) ) + (=> + (qreva A nil-listOfInt B) + (qrev A B) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) (C Bool) (D Int) (E Int) ) + (=> + (and + (<= D E) + (len A E) + (len B D) + ) + (amortizequeue A B (queue-queueOfInt A B) ) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) (C listOfInt) (D Bool) (E Int) (F Int) (G listOfInt) ) + (=> + (and + (> E F) + (len A F) + (len B E) + (append A G C) + (qrev B G) + ) + (amortizequeue A B (queue-queueOfInt C nil-listOfInt) ) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) (C Int) (D queueOfInt) ) + (=> + (amortizequeue A (cons-listOfInt C B) D) + (enqueue (queue-queueOfInt A B) C D) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C queueOfInt) (D Int) (E queueOfInt) (F Int) ) + (=> + (and + (not (= A F)) + (enqueue C D E) + (qlen E A) + (qlen C B) + (= F (+ 1 B)) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal7.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal7.smt2 new file mode 100644 index 000000000..e53d5846f --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal7.smt2 @@ -0,0 +1,204 @@ +; Automatically generated by map2smt + +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) +(declare-datatypes ((queueOfInt 0) ) +(((queue-queueOfInt (front-queueOfInt listOfInt) (back-queueOfInt listOfInt)) ))) + +(declare-fun qreva (listOfInt listOfInt listOfInt) Bool) +(declare-fun qrev (listOfInt listOfInt) Bool) +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun qlen (queueOfInt Int) Bool) +(declare-fun len (listOfInt Int) Bool) +(declare-fun isamortized (queueOfInt Bool) Bool) +(declare-fun isempty (queueOfInt Bool) Bool) +(declare-fun amortizequeue (listOfInt listOfInt queueOfInt) Bool) +(declare-fun enqueue (queueOfInt Int queueOfInt) Bool) +(declare-fun butlast (listOfInt listOfInt) Bool) +(declare-fun qpop (queueOfInt queueOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A listOfInt) ) + (qreva nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (qreva B (cons-listOfInt A C) D) + (qreva (cons-listOfInt A B) C D) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) (C Int) (D Int) (E Int) ) + (=> + (and + (len A D) + (len B E) + ) + (qlen (queue-queueOfInt A B) (+ D E) ) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) ) + (=> + (qreva A nil-listOfInt B) + (qrev A B) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) (C Bool) (D Int) (E Int) ) + (=> + (and + (<= D E) + (len A E) + (len B D) + ) + (amortizequeue A B (queue-queueOfInt A B) ) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) (C listOfInt) (D Bool) (E Int) (F Int) (G listOfInt) ) + (=> + (and + (> E F) + (len A F) + (len B E) + (append A G C) + (qrev B G) + ) + (amortizequeue A B (queue-queueOfInt C nil-listOfInt) ) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) (C Int) (D queueOfInt) ) + (=> + (amortizequeue A (cons-listOfInt C B) D) + (enqueue (queue-queueOfInt A B) C D) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) (C Bool) (D Int) (E Int) ) + (=> + (and + (len B D) + (len A E) + ) + (isamortized (queue-queueOfInt A B) (<= D E)) + ) + ) +) +(assert + (forall ( (A Bool) ) + (=> + (= A true) + (isempty (queue-queueOfInt nil-listOfInt nil-listOfInt) A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D Bool) ) + (=> + (= D false) + (isempty (queue-queueOfInt (cons-listOfInt A B) C) D) + ) + ) +) +(assert + (forall ( (A listOfInt) (B Int) (C listOfInt) (D Bool) ) + (=> + (= D false) + (isempty (queue-queueOfInt A (cons-listOfInt B C)) D) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (butlast nil-listOfInt nil-listOfInt) +) +(assert + (forall ( (A Int) ) + (butlast (cons-listOfInt A nil-listOfInt) nil-listOfInt) + ) +) +(assert + (forall ( (A Int) (B Int) (C listOfInt) (D listOfInt) ) + (=> + (butlast (cons-listOfInt B C) D) + (butlast (cons-listOfInt A (cons-listOfInt B C)) (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A listOfInt) (B Int) (C listOfInt) ) + (qpop (queue-queueOfInt A (cons-listOfInt B C)) (queue-queueOfInt A C) ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) ) + (=> + (butlast A B) + (qpop (queue-queueOfInt A nil-listOfInt) (queue-queueOfInt B nil-listOfInt) ) + ) + ) +) +(assert + (forall ( (A Bool) (B Bool) (C Int) (D Int) (E queueOfInt) (F queueOfInt) ) + (=> + (and + (= A true) + (= B false) + (not (= (- C D) 1)) + (qpop E F) + (qlen F D) + (qlen E C) + (isamortized E A) + (isempty E B) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal8.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal8.smt2 new file mode 100644 index 000000000..fe83c7b52 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal8.smt2 @@ -0,0 +1,37 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) +(declare-datatypes ((queueOfInt 0) ) +(((queue-queueOfInt (front-queueOfInt listOfInt) (back-queueOfInt listOfInt)) ))) + +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A listOfInt) (B listOfInt) ) + (=> + (and + (append A nil-listOfInt B) + (not (= A B)) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal9.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal9.smt2 new file mode 100644 index 000000000..12c3ae175 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/amortize-queue/amortize-queue-goal9.smt2 @@ -0,0 +1,77 @@ +(set-logic HORN) + +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) +(declare-datatypes ((queueOfInt 0) ) +(((queue-queueOfInt (front-queueOfInt listOfInt) (back-queueOfInt listOfInt)) ))) + +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun butlast (listOfInt listOfInt) Bool) +(declare-fun len (listOfInt Int) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (butlast nil-listOfInt nil-listOfInt) +) +(assert + (forall ( (A Int) ) + (butlast (cons-listOfInt A nil-listOfInt) nil-listOfInt) + ) +) +(assert + (forall ( (A Int) (B Int) (C listOfInt) (D listOfInt) ) + (=> + (butlast (cons-listOfInt B C) D) + (butlast (cons-listOfInt A (cons-listOfInt B C)) (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A Bool) (B listOfInt) (C Int) (D listOfInt) (E listOfInt) (F listOfInt) (G listOfInt) (H listOfInt) ) + (=> + (and + (append B (cons-listOfInt C D) E) + (butlast E F) + (butlast (cons-listOfInt C D) G) + (append B G H) + (not (= F H)) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal1.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal1.smt2 new file mode 100644 index 000000000..b191a69d5 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal1.smt2 @@ -0,0 +1,75 @@ +(set-logic HORN) + +(declare-datatypes ((treeOfInt 0) ) +(((node-treeOfInt (data-treeOfInt Int) (left-treeOfInt treeOfInt) (right-treeOfInt treeOfInt)) (leaf-treeOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun tinsert (treeOfInt Int treeOfInt) Bool) +(declare-fun tsize (treeOfInt Int) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (tsize leaf-treeOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Int) (F Int) (G Int) ) + (=> + (and + (= D (+ 1 E)) + (= (+ F G) E) + (tsize B F) + (tsize C G) + ) + (tsize (node-treeOfInt A B C) D) + ) + ) +) +(assert + (forall ( (A Int) ) + (tinsert leaf-treeOfInt A (node-treeOfInt A leaf-treeOfInt leaf-treeOfInt) ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (<= A (- D 1)) + (tinsert C D E) + ) + (tinsert (node-treeOfInt A B C) D (node-treeOfInt A B E) ) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (>= A D) + (tinsert B D E) + ) + (tinsert (node-treeOfInt A B C) D (node-treeOfInt A E C) ) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (not (= (- A B) 1)) + (tinsert C D E) + (tsize E A) + (tsize C B) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal10.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal10.smt2 new file mode 100644 index 000000000..f468d74d1 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal10.smt2 @@ -0,0 +1,123 @@ +(set-logic HORN) + +(declare-datatypes ((treeOfInt 0) ) +(((node-treeOfInt (data-treeOfInt Int) (left-treeOfInt treeOfInt) (right-treeOfInt treeOfInt)) (leaf-treeOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun tinsert (treeOfInt Int treeOfInt) Bool) +(declare-fun tmember (treeOfInt Int Bool) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (tinsert leaf-treeOfInt A (node-treeOfInt A leaf-treeOfInt leaf-treeOfInt) ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (<= A (- D 1)) + (tinsert C D E) + ) + (tinsert (node-treeOfInt A B C) D (node-treeOfInt A B E) ) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (>= A D) + (tinsert B D E) + ) + (tinsert (node-treeOfInt A B C) D (node-treeOfInt A E C) ) + ) + ) +) +(assert + (forall ( (A Int) (B Bool) ) + (=> + (= B false) + (tmember leaf-treeOfInt A B) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Bool) ) + (=> + (= D true) + (tmember (node-treeOfInt A B C) A D) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) (F Bool) ) + (=> + (and + (>= (- D A) 1) + (tmember C D E) + (< A D) + ) + (tmember (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) (F Bool) ) + (=> + (and + (<= (- D A) (- 1)) + (tmember B D E) + (>= A D) + ) + (tmember (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Bool) (B Bool) (C Int) (D Int) (E treeOfInt) (F treeOfInt) ) + (=> + (and + (= A true) + (= B false) + (not (= C D)) + (tmember E D B) + (tinsert E C F) + (tmember F D A) + ) + ff + ) + ) +) +(assert + (forall ( (A Bool) (B Bool) (C treeOfInt) (D Int) (E Int) (F treeOfInt) ) + (=> + (and + (not (= A true)) + (= B true) + (tmember C D B) + (tinsert C E F) + (tmember F D A) + ) + ff + ) + ) +) +(assert + (forall ( (A Bool) (B treeOfInt) (C Int) (D Bool) (E treeOfInt) ) + (=> + (and + (not (= A true)) + (tmember B C D) + (tinsert B C E) + (tmember E C A) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal12.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal12.smt2 new file mode 100644 index 000000000..3ac644ee6 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal12.smt2 @@ -0,0 +1,131 @@ +(set-logic HORN) + +(declare-datatypes ((treeOfInt 0) ) +(((node-treeOfInt (data-treeOfInt Int) (left-treeOfInt treeOfInt) (right-treeOfInt treeOfInt)) (leaf-treeOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun tmember (treeOfInt Int Bool) Bool) +(declare-fun tcontains (treeOfInt Int Bool) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) (B Bool) ) + (=> + (= B false) + (tcontains leaf-treeOfInt A B) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Bool) ) + (=> + (= D true) + (tcontains (node-treeOfInt A B C) A D) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E true) + (tcontains B D E) + ) + (tcontains (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E true) + (tcontains C D E) + ) + (tcontains (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E false) + (>= (- D A) 1) + (tcontains B D E) + (tcontains C D E) + ) + (tcontains (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E false) + (<= (- D A) (- 1)) + (tcontains B D E) + (tcontains C D E) + ) + (tcontains (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B Bool) ) + (=> + (= B false) + (tmember leaf-treeOfInt A B) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Bool) ) + (=> + (= D true) + (tmember (node-treeOfInt A B C) A D) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) (F Bool) ) + (=> + (and + (>= (- D A) 1) + (tmember C D E) + (< A D) + ) + (tmember (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) (F Bool) ) + (=> + (and + (<= (- D A) (- 1)) + (tmember B D E) + (>= A D) + ) + (tmember (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Bool) (B Bool) (C treeOfInt) (D Int) ) + (=> + (and + (= A true) + (not (= B true)) + (tcontains C D B) + (tmember C D A) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal13.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal13.smt2 new file mode 100644 index 000000000..24a47d10b --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal13.smt2 @@ -0,0 +1,128 @@ +(set-logic HORN) + +(declare-datatypes ((treeOfInt 0) ) +(((node-treeOfInt (data-treeOfInt Int) (left-treeOfInt treeOfInt) (right-treeOfInt treeOfInt)) (leaf-treeOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun tinsert (treeOfInt Int treeOfInt) Bool) +(declare-fun tsize (treeOfInt Int) Bool) +(declare-fun tinsertall (treeOfInt listOfInt treeOfInt) Bool) +(declare-fun len (listOfInt Int) Bool) +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (tsize leaf-treeOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Int) (F Int) (G Int) ) + (=> + (and + (= D (+ 1 E)) + (= (+ F G) E) + (tsize B F) + (tsize C G) + ) + (tsize (node-treeOfInt A B C) D) + ) + ) +) +(assert + (forall ( (A Int) ) + (tinsert leaf-treeOfInt A (node-treeOfInt A leaf-treeOfInt leaf-treeOfInt) ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (<= A (- D 1)) + (tinsert C D E) + ) + (tinsert (node-treeOfInt A B C) D (node-treeOfInt A B E) ) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (>= A D) + (tinsert B D E) + ) + (tinsert (node-treeOfInt A B C) D (node-treeOfInt A E C) ) + ) + ) +) +(assert + (forall ( (A treeOfInt) ) + (tinsertall A nil-listOfInt A) + ) +) +(assert + (forall ( (A treeOfInt) (B Int) (C listOfInt) (D treeOfInt) (E treeOfInt) ) + (=> + (and + (tinsertall A C E) + (tinsert E B D) + ) + (tinsertall A (cons-listOfInt B C) D) + ) + ) +) +(assert + (forall ( (A Bool) (B treeOfInt) (C Int) (D treeOfInt) (E listOfInt) (F treeOfInt) (G listOfInt) (H treeOfInt) ) + (=> + (and + (= A false) + (tinsert B C D) + (tinsertall D E F) + (append E (cons-listOfInt C nil-listOfInt) G) + (tinsertall B G H) + (not (= F H)) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal15.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal15.smt2 new file mode 100644 index 000000000..e395480b3 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal15.smt2 @@ -0,0 +1,188 @@ +(set-logic HORN) + +(declare-datatypes ((treeOfInt 0) ) +(((node-treeOfInt (data-treeOfInt Int) (left-treeOfInt treeOfInt) (right-treeOfInt treeOfInt)) (leaf-treeOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun tinsert (treeOfInt Int treeOfInt) Bool) +(declare-fun tinsertall (treeOfInt listOfInt treeOfInt) Bool) +(declare-fun tcontains (treeOfInt Int Bool) Bool) +(declare-fun mem (Int listOfInt Bool) Bool) + +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) (B Bool) ) + (=> + (= B false) + (mem A nil-listOfInt B) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Bool) ) + (=> + (= C true) + (mem A (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C listOfInt) (D Bool) ) + (=> + (and + (= D true) + (mem A C D) + ) + (mem A (cons-listOfInt B C) D) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C listOfInt) (D Bool) ) + (=> + (and + (= D false) + (>= (- B A) 1) + (mem A C D) + ) + (mem A (cons-listOfInt B C) D) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C listOfInt) (D Bool) ) + (=> + (and + (= D false) + (<= (- B A) (- 1)) + (mem A C D) + ) + (mem A (cons-listOfInt B C) D) + ) + ) +) +(assert + (forall ( (A Int) ) + (tinsert leaf-treeOfInt A (node-treeOfInt A leaf-treeOfInt leaf-treeOfInt) ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (<= A (- D 1)) + (tinsert C D E) + ) + (tinsert (node-treeOfInt A B C) D (node-treeOfInt A B E) ) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (>= A D) + (tinsert B D E) + ) + (tinsert (node-treeOfInt A B C) D (node-treeOfInt A E C) ) + ) + ) +) +(assert + (forall ( (A treeOfInt) ) + (tinsertall A nil-listOfInt A) + ) +) +(assert + (forall ( (A treeOfInt) (B Int) (C listOfInt) (D treeOfInt) (E treeOfInt) ) + (=> + (and + (tinsertall A C E) + (tinsert E B D) + ) + (tinsertall A (cons-listOfInt B C) D) + ) + ) +) +(assert + (forall ( (A Int) (B Bool) ) + (=> + (= B false) + (tcontains leaf-treeOfInt A B) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Bool) ) + (=> + (= D true) + (tcontains (node-treeOfInt A B C) A D) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E true) + (tcontains B D E) + ) + (tcontains (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E true) + (tcontains C D E) + ) + (tcontains (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E false) + (>= (- D A) 1) + (tcontains B D E) + (tcontains C D E) + ) + (tcontains (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E false) + (<= (- D A) (- 1)) + (tcontains B D E) + (tcontains C D E) + ) + (tcontains (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Bool) (B Bool) (C Int) (D listOfInt) (E treeOfInt) ) + (=> + (and + (not (= A B)) + (mem C D A) + (tinsertall leaf-treeOfInt D E) + (tcontains E C B) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal16.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal16.smt2 new file mode 100644 index 000000000..17e891196 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal16.smt2 @@ -0,0 +1,141 @@ +(set-logic HORN) + +(declare-datatypes ((treeOfInt 0) ) +(((node-treeOfInt (data-treeOfInt Int) (left-treeOfInt treeOfInt) (right-treeOfInt treeOfInt)) (leaf-treeOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun tinsert (treeOfInt Int treeOfInt) Bool) +(declare-fun tinsertall (treeOfInt listOfInt treeOfInt) Bool) +(declare-fun mem (Int listOfInt Bool) Bool) +(declare-fun append (listOfInt listOfInt listOfInt) Bool) + +(declare-fun ff () Bool) + +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (forall ( (A Int) (B Bool) ) + (=> + (= B false) + (mem A nil-listOfInt B) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Bool) ) + (=> + (= C true) + (mem A (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C listOfInt) (D Bool) ) + (=> + (and + (= D true) + (mem A C D) + ) + (mem A (cons-listOfInt B C) D) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C listOfInt) (D Bool) ) + (=> + (and + (= D false) + (>= (- B A) 1) + (mem A C D) + ) + (mem A (cons-listOfInt B C) D) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C listOfInt) (D Bool) ) + (=> + (and + (= D false) + (<= (- B A) (- 1)) + (mem A C D) + ) + (mem A (cons-listOfInt B C) D) + ) + ) +) +(assert + (forall ( (A Bool) (B Bool) (C Bool) (D listOfInt) (E listOfInt) (F listOfInt) (G Int) ) + (=> + (and + (= A true) + (not (= B true)) + (= C false) + (append D E F) + (mem G F A) + (mem G D B) + (mem G E C) + ) + ff + ) + ) +) +(assert + (forall ( (A Bool) (B Bool) (C Bool) (D listOfInt) (E listOfInt) (F listOfInt) (G Int) ) + (=> + (and + (= A true) + (= B false) + (not (= C true)) + (append D E F) + (mem G F A) + (mem G D B) + (mem G E C) + ) + ff + ) + ) +) +(assert + (forall ( (A Bool) (B Bool) (C listOfInt) (D listOfInt) (E listOfInt) (F Int) ) + (=> + (and + (not (= A true)) + (= B true) + (append C D E) + (mem F E A) + (mem F C B) + ) + ff + ) + ) +) +(assert + (forall ( (A Bool) (B Bool) (C listOfInt) (D listOfInt) (E listOfInt) (F Int) ) + (=> + (and + (not (= A true)) + (= B true) + (append C D E) + (mem F E A) + (mem F D B) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal18.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal18.smt2 new file mode 100644 index 000000000..747a9a501 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal18.smt2 @@ -0,0 +1,176 @@ +(set-logic HORN) + +(declare-datatypes ((treeOfInt 0) ) +(((node-treeOfInt (data-treeOfInt Int) (left-treeOfInt treeOfInt) (right-treeOfInt treeOfInt)) (leaf-treeOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun tinsert (treeOfInt Int treeOfInt) Bool) +(declare-fun tinsertall (treeOfInt listOfInt treeOfInt) Bool) +(declare-fun mem (Int listOfInt Bool) Bool) +(declare-fun append (listOfInt listOfInt listOfInt) Bool) +(declare-fun content (treeOfInt listOfInt) Bool) +(declare-fun tcontains (treeOfInt Int Bool) Bool) + + +(declare-fun ff () Bool) + +(assert + (forall ( (A listOfInt) ) + (append nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C listOfInt) (D listOfInt) ) + (=> + (append B C D) + (append (cons-listOfInt A B) C (cons-listOfInt A D)) + ) + ) +) +(assert + (content leaf-treeOfInt nil-listOfInt) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D listOfInt) (E listOfInt) (F listOfInt) ) + (=> + (and + (content B E) + (content C F) + (append E (cons-listOfInt A F) D) + ) + (content (node-treeOfInt A B C) D) + ) + ) +) +(assert + (forall ( (A Int) (B Bool) ) + (=> + (= B false) + (mem A nil-listOfInt B) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Bool) ) + (=> + (= C true) + (mem A (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C listOfInt) (D Bool) ) + (=> + (and + (= D true) + (mem A C D) + ) + (mem A (cons-listOfInt B C) D) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C listOfInt) (D Bool) ) + (=> + (and + (= D false) + (>= (- B A) 1) + (mem A C D) + ) + (mem A (cons-listOfInt B C) D) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C listOfInt) (D Bool) ) + (=> + (and + (= D false) + (<= (- B A) (- 1)) + (mem A C D) + ) + (mem A (cons-listOfInt B C) D) + ) + ) +) +(assert + (forall ( (A Int) (B Bool) ) + (=> + (= B false) + (tcontains leaf-treeOfInt A B) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Bool) ) + (=> + (= D true) + (tcontains (node-treeOfInt A B C) A D) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E true) + (tcontains B D E) + ) + (tcontains (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E true) + (tcontains C D E) + ) + (tcontains (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E false) + (>= (- D A) 1) + (tcontains B D E) + (tcontains C D E) + ) + (tcontains (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E false) + (<= (- D A) (- 1)) + (tcontains B D E) + (tcontains C D E) + ) + (tcontains (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Bool) (B Bool) (C treeOfInt) (D Int) (E listOfInt) ) + (=> + (and + (not (= A B)) + (tcontains C D A) + (content C E) + (mem D E B) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal2.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal2.smt2 new file mode 100644 index 000000000..cc102bfbe --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal2.smt2 @@ -0,0 +1,92 @@ +(set-logic HORN) + +(declare-datatypes ((treeOfInt 0) ) +(((node-treeOfInt (data-treeOfInt Int) (left-treeOfInt treeOfInt) (right-treeOfInt treeOfInt)) (leaf-treeOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun tinsert (treeOfInt Int treeOfInt) Bool) +(declare-fun tsize (treeOfInt Int) Bool) +(declare-fun tinsertall (treeOfInt listOfInt treeOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (tsize leaf-treeOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Int) (F Int) (G Int) ) + (=> + (and + (= D (+ 1 E)) + (= (+ F G) E) + (tsize B F) + (tsize C G) + ) + (tsize (node-treeOfInt A B C) D) + ) + ) +) +(assert + (forall ( (A Int) ) + (tinsert leaf-treeOfInt A (node-treeOfInt A leaf-treeOfInt leaf-treeOfInt) ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (<= A (- D 1)) + (tinsert C D E) + ) + (tinsert (node-treeOfInt A B C) D (node-treeOfInt A B E) ) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (>= A D) + (tinsert B D E) + ) + (tinsert (node-treeOfInt A B C) D (node-treeOfInt A E C) ) + ) + ) +) +(assert + (forall ( (A treeOfInt) ) + (tinsertall A nil-listOfInt A) + ) +) +(assert + (forall ( (A treeOfInt) (B Int) (C listOfInt) (D treeOfInt) (E treeOfInt) ) + (=> + (and + (tinsertall A C E) + (tinsert E B D) + ) + (tinsertall A (cons-listOfInt B C) D) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C treeOfInt) (D listOfInt) (E treeOfInt) ) + (=> + (and + (not (<= A B)) + (tsize C A) + (tinsertall C D E) + (tsize E B) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal3.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal3.smt2 new file mode 100644 index 000000000..d29e85328 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal3.smt2 @@ -0,0 +1,114 @@ +(set-logic HORN) + +(declare-datatypes ((treeOfInt 0) ) +(((node-treeOfInt (data-treeOfInt Int) (left-treeOfInt treeOfInt) (right-treeOfInt treeOfInt)) (leaf-treeOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun tinsert (treeOfInt Int treeOfInt) Bool) +(declare-fun tsize (treeOfInt Int) Bool) +(declare-fun tinsertall (treeOfInt listOfInt treeOfInt) Bool) +(declare-fun len (listOfInt Int) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (tsize leaf-treeOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Int) (F Int) (G Int) ) + (=> + (and + (= D (+ 1 E)) + (= (+ F G) E) + (tsize B F) + (tsize C G) + ) + (tsize (node-treeOfInt A B C) D) + ) + ) +) +(assert + (forall ( (A Int) ) + (tinsert leaf-treeOfInt A (node-treeOfInt A leaf-treeOfInt leaf-treeOfInt) ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (<= A (- D 1)) + (tinsert C D E) + ) + (tinsert (node-treeOfInt A B C) D (node-treeOfInt A B E) ) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (>= A D) + (tinsert B D E) + ) + (tinsert (node-treeOfInt A B C) D (node-treeOfInt A E C) ) + ) + ) +) +(assert + (forall ( (A treeOfInt) ) + (tinsertall A nil-listOfInt A) + ) +) +(assert + (forall ( (A treeOfInt) (B Int) (C listOfInt) (D treeOfInt) (E treeOfInt) ) + (=> + (and + (tinsertall A C E) + (tinsert E B D) + ) + (tinsertall A (cons-listOfInt B C) D) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C Int) (D Int) (E treeOfInt) (F listOfInt) (G treeOfInt) ) + (=> + (and + (not (= A B)) + (= (+ C D) A) + (tinsertall E F G) + (tsize G B) + (tsize E C) + (len F D) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal4.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal4.smt2 new file mode 100644 index 000000000..42b852f1d --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal4.smt2 @@ -0,0 +1,89 @@ +(set-logic HORN) + +(declare-datatypes ((treeOfInt 0) ) +(((node-treeOfInt (data-treeOfInt Int) (left-treeOfInt treeOfInt) (right-treeOfInt treeOfInt)) (leaf-treeOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun tsize (treeOfInt Int) Bool) +(declare-fun tremove (treeOfInt Int treeOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (tremove leaf-treeOfInt A leaf-treeOfInt) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (<= D (- A 1)) + (tremove B D E) + ) + (tremove (node-treeOfInt A B C) D (node-treeOfInt A E C) ) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (<= A (- D 1)) + (tremove C D E) + ) + (tremove (node-treeOfInt A B C) D (node-treeOfInt A B E) ) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) ) + (tremove (node-treeOfInt A leaf-treeOfInt B) A B) + ) +) +(assert + (forall ( (A Int) (B Int) (C treeOfInt) (D treeOfInt) (E treeOfInt) (F treeOfInt) ) + (=> + (tremove (node-treeOfInt B C D) B F) + (tremove (node-treeOfInt A (node-treeOfInt B C D) E) A (node-treeOfInt B F E) ) + ) + ) +) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (tsize leaf-treeOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Int) (F Int) (G Int) ) + (=> + (and + (= D (+ 1 E)) + (= (+ F G) E) + (tsize B F) + (tsize C G) + ) + (tsize (node-treeOfInt A B C) D) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (not (<= A B)) + (tremove C D E) + (tsize E A) + (tsize C B) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal5.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal5.smt2 new file mode 100644 index 000000000..322a89369 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal5.smt2 @@ -0,0 +1,106 @@ +(set-logic HORN) + +(declare-datatypes ((treeOfInt 0) ) +(((node-treeOfInt (data-treeOfInt Int) (left-treeOfInt treeOfInt) (right-treeOfInt treeOfInt)) (leaf-treeOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun tsize (treeOfInt Int) Bool) +(declare-fun tremove (treeOfInt Int treeOfInt) Bool) +(declare-fun tremoveall (treeOfInt listOfInt treeOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (tremove leaf-treeOfInt A leaf-treeOfInt) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (<= D (- A 1)) + (tremove B D E) + ) + (tremove (node-treeOfInt A B C) D (node-treeOfInt A E C) ) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (<= A (- D 1)) + (tremove C D E) + ) + (tremove (node-treeOfInt A B C) D (node-treeOfInt A B E) ) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) ) + (tremove (node-treeOfInt A leaf-treeOfInt B) A B) + ) +) +(assert + (forall ( (A Int) (B Int) (C treeOfInt) (D treeOfInt) (E treeOfInt) (F treeOfInt) ) + (=> + (tremove (node-treeOfInt B C D) B F) + (tremove (node-treeOfInt A (node-treeOfInt B C D) E) A (node-treeOfInt B F E) ) + ) + ) +) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (tsize leaf-treeOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Int) (F Int) (G Int) ) + (=> + (and + (= D (+ 1 E)) + (= (+ F G) E) + (tsize B F) + (tsize C G) + ) + (tsize (node-treeOfInt A B C) D) + ) + ) +) +(assert + (forall ( (A treeOfInt) ) + (tremoveall A nil-listOfInt A) + ) +) +(assert + (forall ( (A treeOfInt) (B Int) (C listOfInt) (D treeOfInt) (E treeOfInt) ) + (=> + (and + (tremove A B E) + (tremoveall E C D) + ) + (tremoveall A (cons-listOfInt B C) D) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C treeOfInt) (D listOfInt) (E treeOfInt) ) + (=> + (and + (not (<= A B)) + (tremoveall C D E) + (tsize E A) + (tsize C B) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal6.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal6.smt2 new file mode 100644 index 000000000..96a064aeb --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal6.smt2 @@ -0,0 +1,139 @@ +(set-logic HORN) + +(declare-datatypes ((treeOfInt 0) ) +(((node-treeOfInt (data-treeOfInt Int) (left-treeOfInt treeOfInt) (right-treeOfInt treeOfInt)) (leaf-treeOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun tinsert (treeOfInt Int treeOfInt) Bool) +(declare-fun tsize (treeOfInt Int) Bool) +(declare-fun tcontains (treeOfInt Int Bool) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (tsize leaf-treeOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Int) (F Int) (G Int) ) + (=> + (and + (= D (+ 1 E)) + (= (+ F G) E) + (tsize B F) + (tsize C G) + ) + (tsize (node-treeOfInt A B C) D) + ) + ) +) +(assert + (forall ( (A Int) ) + (tinsert leaf-treeOfInt A (node-treeOfInt A leaf-treeOfInt leaf-treeOfInt) ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (<= A (- D 1)) + (tinsert C D E) + ) + (tinsert (node-treeOfInt A B C) D (node-treeOfInt A B E) ) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (>= A D) + (tinsert B D E) + ) + (tinsert (node-treeOfInt A B C) D (node-treeOfInt A E C) ) + ) + ) +) +(assert + (forall ( (A Int) (B Bool) ) + (=> + (= B false) + (tcontains leaf-treeOfInt A B) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Bool) ) + (=> + (= D true) + (tcontains (node-treeOfInt A B C) A D) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E true) + (tcontains B D E) + ) + (tcontains (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E true) + (tcontains C D E) + ) + (tcontains (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E false) + (>= (- D A) 1) + (tcontains B D E) + (tcontains C D E) + ) + (tcontains (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E false) + (<= (- D A) (- 1)) + (tcontains B D E) + (tcontains C D E) + ) + (tcontains (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Bool) (B treeOfInt) (C Int) (D treeOfInt) ) + (=> + (and + (not (= A true)) + (tinsert B C D) + (tcontains D C A) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal7.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal7.smt2 new file mode 100644 index 000000000..a52cb01f6 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal7.smt2 @@ -0,0 +1,169 @@ +(set-logic HORN) + +(declare-datatypes ((treeOfInt 0) ) +(((node-treeOfInt (data-treeOfInt Int) (left-treeOfInt treeOfInt) (right-treeOfInt treeOfInt)) (leaf-treeOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun tinsert (treeOfInt Int treeOfInt) Bool) +(declare-fun tsize (treeOfInt Int) Bool) +(declare-fun tcontains (treeOfInt Int Bool) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (tsize leaf-treeOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Int) (F Int) (G Int) ) + (=> + (and + (= D (+ 1 E)) + (= (+ F G) E) + (tsize B F) + (tsize C G) + ) + (tsize (node-treeOfInt A B C) D) + ) + ) +) +(assert + (forall ( (A Int) ) + (tinsert leaf-treeOfInt A (node-treeOfInt A leaf-treeOfInt leaf-treeOfInt) ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (<= A (- D 1)) + (tinsert C D E) + ) + (tinsert (node-treeOfInt A B C) D (node-treeOfInt A B E) ) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (>= A D) + (tinsert B D E) + ) + (tinsert (node-treeOfInt A B C) D (node-treeOfInt A E C) ) + ) + ) +) +(assert + (forall ( (A Int) (B Bool) ) + (=> + (= B false) + (tcontains leaf-treeOfInt A B) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Bool) ) + (=> + (= D true) + (tcontains (node-treeOfInt A B C) A D) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E true) + (tcontains B D E) + ) + (tcontains (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E true) + (tcontains C D E) + ) + (tcontains (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E false) + (>= (- D A) 1) + (tcontains B D E) + (tcontains C D E) + ) + (tcontains (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E false) + (<= (- D A) (- 1)) + (tcontains B D E) + (tcontains C D E) + ) + (tcontains (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Bool) (B Bool) (C Int) (D Int) (E treeOfInt) (F treeOfInt) ) + (=> + (and + (= A true) + (= B false) + (not (= C D)) + (tcontains E D B) + (tinsert E C F) + (tcontains F D A) + ) + ff + ) + ) +) +(assert + (forall ( (A Bool) (B Bool) (C treeOfInt) (D Int) (E Int) (F treeOfInt) ) + (=> + (and + (not (= A true)) + (= B true) + (tcontains C D B) + (tinsert C E F) + (tcontains F D A) + ) + ff + ) + ) +) +(assert + (forall ( (A Bool) (B treeOfInt) (C Int) (D Bool) (E treeOfInt) ) + (=> + (and + (not (= A true)) + (tcontains B C D) + (tinsert B C E) + (tcontains E C A) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal8.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal8.smt2 new file mode 100644 index 000000000..1365ab7c3 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal8.smt2 @@ -0,0 +1,233 @@ +(set-logic HORN) + +(declare-datatypes ((treeOfInt 0) ) +(((node-treeOfInt (data-treeOfInt Int) (left-treeOfInt treeOfInt) (right-treeOfInt treeOfInt)) (leaf-treeOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun tinsert (treeOfInt Int treeOfInt) Bool) + (declare-fun tsorted (treeOfInt Bool) Bool) +(declare-fun tallleq (treeOfInt Int Bool) Bool) +(declare-fun tallgt (treeOfInt Int Bool) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (tinsert leaf-treeOfInt A (node-treeOfInt A leaf-treeOfInt leaf-treeOfInt) ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (<= A (- D 1)) + (tinsert C D E) + ) + (tinsert (node-treeOfInt A B C) D (node-treeOfInt A B E) ) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (>= A D) + (tinsert B D E) + ) + (tinsert (node-treeOfInt A B C) D (node-treeOfInt A E C) ) + ) + ) +) + +(assert + (forall ( (A Bool) ) + (=> + (= A true) + (tsorted leaf-treeOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Bool) ) + (=> + (and + (= D true) + (tsorted B D) + (tsorted C D) + (tallleq B A D) + (tallgt C A D) + ) + (tsorted (node-treeOfInt A B C) D) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Bool) ) + (=> + (and + (= D false) + (tsorted B D) + ) + (tsorted (node-treeOfInt A B C) D) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Bool) ) + (=> + (and + (= D false) + (tsorted C D) + ) + (tsorted (node-treeOfInt A B C) D) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Bool) ) + (=> + (and + (= D false) + (tallleq B A D) + ) + (tsorted (node-treeOfInt A B C) D) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Bool) ) + (=> + (and + (= D false) + (tallgt C A D) + ) + (tsorted (node-treeOfInt A B C) D) + ) + ) +) + +(assert + (forall ( (A Int) (B Bool) ) + (=> + (= B true) + (tallleq leaf-treeOfInt A B) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E true) + (<= A D) + (tallleq B D E) + (tallleq C D E) + ) + (tallleq (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E false) + (>= A (+ D 1)) + ) + (tallleq (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E false) + (tallleq B D E) + ) + (tallleq (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E false) + (tallleq C D E) + ) + (tallleq (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B Bool) ) + (=> + (= B true) + (tallgt leaf-treeOfInt A B) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E true) + (>= A (+ D 1)) + (tallgt B D E) + (tallgt C D E) + ) + (tallgt (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E false) + (<= A D) + ) + (tallgt (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E false) + (tallgt B D E) + ) + (tallgt (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) ) + (=> + (and + (= E false) + (tallgt C D E) + ) + (tallgt (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Bool) (B Bool) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (= A true) + (not (= B true)) + (tinsert C D E) + (tsorted E B) + (tsorted C A) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal9.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal9.smt2 new file mode 100644 index 000000000..092e044b4 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/bsearch-tree/bsearch-tree-goal9.smt2 @@ -0,0 +1,94 @@ +(set-logic HORN) + +(declare-datatypes ((treeOfInt 0) ) +(((node-treeOfInt (data-treeOfInt Int) (left-treeOfInt treeOfInt) (right-treeOfInt treeOfInt)) (leaf-treeOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun tinsert (treeOfInt Int treeOfInt) Bool) +(declare-fun tmember (treeOfInt Int Bool) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (tinsert leaf-treeOfInt A (node-treeOfInt A leaf-treeOfInt leaf-treeOfInt) ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (<= A (- D 1)) + (tinsert C D E) + ) + (tinsert (node-treeOfInt A B C) D (node-treeOfInt A B E) ) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E treeOfInt) ) + (=> + (and + (>= A D) + (tinsert B D E) + ) + (tinsert (node-treeOfInt A B C) D (node-treeOfInt A E C) ) + ) + ) +) +(assert + (forall ( (A Int) (B Bool) ) + (=> + (= B false) + (tmember leaf-treeOfInt A B) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Bool) ) + (=> + (= D true) + (tmember (node-treeOfInt A B C) A D) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) (F Bool) ) + (=> + (and + (>= (- D A) 1) + (tmember C D E) + (< A D) + ) + (tmember (node-treeOfInt A B C) D E) + ) + ) +) +(assert + (forall ( (A Int) (B treeOfInt) (C treeOfInt) (D Int) (E Bool) (F Bool) ) + (=> + (and + (<= (- D A) (- 1)) + (tmember B D E) + (>= A D) + ) + (tmember (node-treeOfInt A B C) D E) + ) + ) +) + +(assert + (forall ( (A Bool) (B treeOfInt) (C Int) (D treeOfInt) ) + (=> + (and + (not (= A true)) + (tinsert B C D) + (tmember D C A) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal1.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal1.smt2 new file mode 100644 index 000000000..3306d1829 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal1.smt2 @@ -0,0 +1,210 @@ +(set-logic HORN) + +(declare-datatypes ((heapOfInt 0) ) +(((heap-heapOfInt (rk-heapOfInt Int) (value-heapOfInt Int) (left-heapOfInt heapOfInt) (right-heapOfInt heapOfInt)) (hleaf-heapOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun rightheight (heapOfInt Int) Bool) +(declare-fun rank (heapOfInt Int) Bool) +(declare-fun mergea (Int heapOfInt heapOfInt heapOfInt) Bool) +(declare-fun merge (heapOfInt heapOfInt heapOfInt) Bool) +(declare-fun hinsert (heapOfInt Int heapOfInt) Bool) +(declare-fun hasleftistproperty (heapOfInt Bool) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (rightheight hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) ) + (=> + (and + (= E (+ 1 F)) + (rightheight D F) + ) + (rightheight (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (rank hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) ) + (rank (heap-heapOfInt A B C D) A) + ) +) +(assert + (forall ( (A Int) (B heapOfInt) (C heapOfInt) (D Int) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= D (+ 1 F)) + (<= G H) + (rank B H) + (rank C G) + (rank C F) + ) + (mergea A B C (heap-heapOfInt D A B C) ) + ) + ) +) +(assert + (forall ( (A Int) (B heapOfInt) (C heapOfInt) (D Int) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= D (+ 1 F)) + (> G H) + (rank B H) + (rank C G) + (rank B F) + ) + (mergea A B C (heap-heapOfInt D A C B) ) + ) + ) +) + +(assert + (forall ( (A heapOfInt) ) + (merge A hleaf-heapOfInt A) + ) +) +(assert + (forall ( (A heapOfInt) ) + (merge hleaf-heapOfInt A A) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G heapOfInt) (H heapOfInt) (I heapOfInt) (J Bool) (K heapOfInt) ) + (=> + (and + (< F B) + (mergea B C K I) + (merge D (heap-heapOfInt E F G H) K) + ) + (merge (heap-heapOfInt A B C D) (heap-heapOfInt E F G H) I) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G heapOfInt) (H heapOfInt) (I heapOfInt) (J Bool) (K heapOfInt) ) + (=> + (and + (>= F B) + (mergea F G K I) + (merge (heap-heapOfInt A B C D) H K) + ) + (merge (heap-heapOfInt A B C D) (heap-heapOfInt E F G H) I) + ) + ) +) +(assert + (forall ( (A Bool) ) + (=> + (= A true) + (hasleftistproperty hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= E true) + (= A (+ 1 F)) + (hasleftistproperty C E) + (hasleftistproperty D E) + (<= G H) + (rightheight C H) + (rightheight D G) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) ) + (=> + (and + (= E false) + (hasleftistproperty C E) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) ) + (=> + (and + (= E false) + (hasleftistproperty D E) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) (G Int) ) + (=> + (and + (= E false) + (> F G) + (rightheight C G) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) ) + (=> + (and + (= E false) + (not (= A (+ 1 F))) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A heapOfInt) (B Int) (C heapOfInt) (D Int) ) + (=> + (and + (= D 1) + (merge (heap-heapOfInt D B hleaf-heapOfInt hleaf-heapOfInt) A C) + ) + (hinsert A B C) + ) + ) +) +(assert + (forall ( (A Bool) (B Bool) (C heapOfInt) (D Int) (E heapOfInt) ) + (=> + (and + (= A true) + (not (= B true)) + (hinsert C D E) + (hasleftistproperty E B) + (hasleftistproperty C A) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal10.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal10.smt2 new file mode 100644 index 000000000..971743ebc --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal10.smt2 @@ -0,0 +1,286 @@ +(set-logic HORN) + +(declare-datatypes ((heapOfInt 0) ) +(((heap-heapOfInt (rk-heapOfInt Int) (value-heapOfInt Int) (left-heapOfInt heapOfInt) (right-heapOfInt heapOfInt)) (hleaf-heapOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun len (listOfInt Int) Bool) +(declare-fun rightheight (heapOfInt Int) Bool) +(declare-fun rank (heapOfInt Int) Bool) +(declare-fun mergea (Int heapOfInt heapOfInt heapOfInt) Bool) +(declare-fun merge (heapOfInt heapOfInt heapOfInt) Bool) +(declare-fun hsize (heapOfInt Int) Bool) +(declare-fun hasleftistproperty (heapOfInt Bool) Bool) +(declare-fun hinsert (heapOfInt Int heapOfInt) Bool) +(declare-fun hinsertall (listOfInt heapOfInt heapOfInt) Bool) +(declare-fun heapsorta (heapOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (rightheight hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) ) + (=> + (and + (= E (+ 1 F)) + (rightheight D F) + ) + (rightheight (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (rank hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) ) + (rank (heap-heapOfInt A B C D) A) + ) +) +(assert + (forall ( (A Int) (B heapOfInt) (C heapOfInt) (D Int) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= D (+ 1 F)) + (<= G H) + (rank B H) + (rank C G) + (rank C F) + ) + (mergea A B C (heap-heapOfInt D A B C) ) + ) + ) +) +(assert + (forall ( (A Int) (B heapOfInt) (C heapOfInt) (D Int) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= D (+ 1 F)) + (> G H) + (rank B H) + (rank C G) + (rank B F) + ) + (mergea A B C (heap-heapOfInt D A C B) ) + ) + ) +) + +(assert + (forall ( (A heapOfInt) ) + (merge A hleaf-heapOfInt A) + ) +) +(assert + (forall ( (A heapOfInt) ) + (merge hleaf-heapOfInt A A) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G heapOfInt) (H heapOfInt) (I heapOfInt) (J Bool) (K heapOfInt) ) + (=> + (and + (< F B) + (mergea B C K I) + (merge D (heap-heapOfInt E F G H) K) + ) + (merge (heap-heapOfInt A B C D) (heap-heapOfInt E F G H) I) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G heapOfInt) (H heapOfInt) (I heapOfInt) (J Bool) (K heapOfInt) ) + (=> + (and + (>= F B) + (mergea F G K I) + (merge (heap-heapOfInt A B C D) H K) + ) + (merge (heap-heapOfInt A B C D) (heap-heapOfInt E F G H) I) + ) + ) +) +(assert + (forall ( (A Bool) ) + (=> + (= A true) + (hasleftistproperty hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= E true) + (= A (+ 1 F)) + (hasleftistproperty C E) + (hasleftistproperty D E) + (<= G H) + (rightheight C H) + (rightheight D G) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) ) + (=> + (and + (= E false) + (hasleftistproperty C E) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) ) + (=> + (and + (= E false) + (hasleftistproperty D E) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) (G Int) ) + (=> + (and + (= E false) + (> F G) + (rightheight C G) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) ) + (=> + (and + (= E false) + (not (= A (+ 1 F))) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (hsize hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G Int) (H Int) ) + (=> + (and + (= E (+ 1 F)) + (hsize C G) + (hsize D H) + (= F (+ G H)) + ) + (hsize (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A heapOfInt) (B Int) (C heapOfInt) (D Int) ) + (=> + (and + (= D 1) + (merge (heap-heapOfInt D B hleaf-heapOfInt hleaf-heapOfInt) A C) + ) + (hinsert A B C) + ) + ) +) +(assert + (forall ( (A heapOfInt) ) + (hinsertall nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C heapOfInt) (D heapOfInt) (E heapOfInt) ) + (=> + (and + (hinsertall B C E) + (hinsert E A D) + ) + (hinsertall (cons-listOfInt A B) C D) + ) + ) +) +(assert + (heapsorta hleaf-heapOfInt nil-listOfInt) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E listOfInt) (F heapOfInt) ) + (=> + (and + (merge C D F) + (heapsorta F E) + ) + (heapsorta (heap-heapOfInt A B C D) (cons-listOfInt B E)) + ) + ) +) +(assert + (forall ( (A Bool) (B Int) (C Int) (D heapOfInt) (E listOfInt) ) + (=> + (and + (= A true) + (not (= B C)) + (>= (- B C) 1) + (heapsorta D E) + (len E C) + (hsize D B) + (hasleftistproperty D A) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal12.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal12.smt2 new file mode 100644 index 000000000..c04c7f642 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal12.smt2 @@ -0,0 +1,301 @@ +(set-logic HORN) + +(declare-datatypes ((heapOfInt 0) ) +(((heap-heapOfInt (rk-heapOfInt Int) (value-heapOfInt Int) (left-heapOfInt heapOfInt) (right-heapOfInt heapOfInt)) (hleaf-heapOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun len (listOfInt Int) Bool) +(declare-fun rightheight (heapOfInt Int) Bool) +(declare-fun rank (heapOfInt Int) Bool) +(declare-fun mergea (Int heapOfInt heapOfInt heapOfInt) Bool) +(declare-fun merge (heapOfInt heapOfInt heapOfInt) Bool) +(declare-fun hsize (heapOfInt Int) Bool) +(declare-fun qheapsorta (heapOfInt listOfInt listOfInt) Bool) +(declare-fun hasleftistproperty (heapOfInt Bool) Bool) +(declare-fun hinsert (heapOfInt Int heapOfInt) Bool) +(declare-fun hinsertall (listOfInt heapOfInt heapOfInt) Bool) +(declare-fun heapsorta (heapOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (rightheight hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) ) + (=> + (and + (= E (+ 1 F)) + (rightheight D F) + ) + (rightheight (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (rank hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) ) + (rank (heap-heapOfInt A B C D) A) + ) +) +(assert + (forall ( (A Int) (B heapOfInt) (C heapOfInt) (D Int) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= D (+ 1 F)) + (<= G H) + (rank B H) + (rank C G) + (rank C F) + ) + (mergea A B C (heap-heapOfInt D A B C) ) + ) + ) +) +(assert + (forall ( (A Int) (B heapOfInt) (C heapOfInt) (D Int) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= D (+ 1 F)) + (> G H) + (rank B H) + (rank C G) + (rank B F) + ) + (mergea A B C (heap-heapOfInt D A C B) ) + ) + ) +) + +(assert + (forall ( (A heapOfInt) ) + (merge A hleaf-heapOfInt A) + ) +) +(assert + (forall ( (A heapOfInt) ) + (merge hleaf-heapOfInt A A) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G heapOfInt) (H heapOfInt) (I heapOfInt) (J Bool) (K heapOfInt) ) + (=> + (and + (< F B) + (mergea B C K I) + (merge D (heap-heapOfInt E F G H) K) + ) + (merge (heap-heapOfInt A B C D) (heap-heapOfInt E F G H) I) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G heapOfInt) (H heapOfInt) (I heapOfInt) (J Bool) (K heapOfInt) ) + (=> + (and + (>= F B) + (mergea F G K I) + (merge (heap-heapOfInt A B C D) H K) + ) + (merge (heap-heapOfInt A B C D) (heap-heapOfInt E F G H) I) + ) + ) +) +(assert + (forall ( (A Bool) ) + (=> + (= A true) + (hasleftistproperty hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= E true) + (= A (+ 1 F)) + (hasleftistproperty C E) + (hasleftistproperty D E) + (<= G H) + (rightheight C H) + (rightheight D G) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) ) + (=> + (and + (= E false) + (hasleftistproperty C E) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) ) + (=> + (and + (= E false) + (hasleftistproperty D E) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) (G Int) ) + (=> + (and + (= E false) + (> F G) + (rightheight C G) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) ) + (=> + (and + (= E false) + (not (= A (+ 1 F))) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (hsize hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (qheapsorta hleaf-heapOfInt A A) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E listOfInt) (F listOfInt) (G heapOfInt) ) + (=> + (and + (merge C D G) + (qheapsorta G (cons-listOfInt B E) F) + ) + (qheapsorta (heap-heapOfInt A B C D) E F) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G Int) (H Int) ) + (=> + (and + (= E (+ 1 F)) + (hsize C G) + (hsize D H) + (= F (+ G H)) + ) + (hsize (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A heapOfInt) (B Int) (C heapOfInt) (D Int) ) + (=> + (and + (= D 1) + (merge (heap-heapOfInt D B hleaf-heapOfInt hleaf-heapOfInt) A C) + ) + (hinsert A B C) + ) + ) +) +(assert + (forall ( (A heapOfInt) ) + (hinsertall nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C heapOfInt) (D heapOfInt) (E heapOfInt) ) + (=> + (and + (hinsertall B C E) + (hinsert E A D) + ) + (hinsertall (cons-listOfInt A B) C D) + ) + ) +) +(assert + (heapsorta hleaf-heapOfInt nil-listOfInt) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E listOfInt) (F heapOfInt) ) + (=> + (and + (merge C D F) + (heapsorta F E) + ) + (heapsorta (heap-heapOfInt A B C D) (cons-listOfInt B E)) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D Int) (E listOfInt) (F listOfInt) (G listOfInt) ) + (=> + (and + (not (= (- A B) 1)) + (qheapsorta C (cons-listOfInt D E) F) + (len F A) + (qheapsorta C E G) + (len G B) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal13.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal13.smt2 new file mode 100644 index 000000000..ff75ee16c --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal13.smt2 @@ -0,0 +1,304 @@ +(set-logic HORN) + +(declare-datatypes ((heapOfInt 0) ) +(((heap-heapOfInt (rk-heapOfInt Int) (value-heapOfInt Int) (left-heapOfInt heapOfInt) (right-heapOfInt heapOfInt)) (hleaf-heapOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun len (listOfInt Int) Bool) +(declare-fun rightheight (heapOfInt Int) Bool) +(declare-fun rank (heapOfInt Int) Bool) +(declare-fun mergea (Int heapOfInt heapOfInt heapOfInt) Bool) +(declare-fun merge (heapOfInt heapOfInt heapOfInt) Bool) +(declare-fun hsize (heapOfInt Int) Bool) +(declare-fun qheapsorta (heapOfInt listOfInt listOfInt) Bool) +(declare-fun hasleftistproperty (heapOfInt Bool) Bool) +(declare-fun hinsert (heapOfInt Int heapOfInt) Bool) +(declare-fun hinsertall (listOfInt heapOfInt heapOfInt) Bool) +(declare-fun heapsorta (heapOfInt listOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (rightheight hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) ) + (=> + (and + (= E (+ 1 F)) + (rightheight D F) + ) + (rightheight (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (rank hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) ) + (rank (heap-heapOfInt A B C D) A) + ) +) +(assert + (forall ( (A Int) (B heapOfInt) (C heapOfInt) (D Int) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= D (+ 1 F)) + (<= G H) + (rank B H) + (rank C G) + (rank C F) + ) + (mergea A B C (heap-heapOfInt D A B C) ) + ) + ) +) +(assert + (forall ( (A Int) (B heapOfInt) (C heapOfInt) (D Int) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= D (+ 1 F)) + (> G H) + (rank B H) + (rank C G) + (rank B F) + ) + (mergea A B C (heap-heapOfInt D A C B) ) + ) + ) +) + +(assert + (forall ( (A heapOfInt) ) + (merge A hleaf-heapOfInt A) + ) +) +(assert + (forall ( (A heapOfInt) ) + (merge hleaf-heapOfInt A A) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G heapOfInt) (H heapOfInt) (I heapOfInt) (J Bool) (K heapOfInt) ) + (=> + (and + (< F B) + (mergea B C K I) + (merge D (heap-heapOfInt E F G H) K) + ) + (merge (heap-heapOfInt A B C D) (heap-heapOfInt E F G H) I) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G heapOfInt) (H heapOfInt) (I heapOfInt) (J Bool) (K heapOfInt) ) + (=> + (and + (>= F B) + (mergea F G K I) + (merge (heap-heapOfInt A B C D) H K) + ) + (merge (heap-heapOfInt A B C D) (heap-heapOfInt E F G H) I) + ) + ) +) +(assert + (forall ( (A Bool) ) + (=> + (= A true) + (hasleftistproperty hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= E true) + (= A (+ 1 F)) + (hasleftistproperty C E) + (hasleftistproperty D E) + (<= G H) + (rightheight C H) + (rightheight D G) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) ) + (=> + (and + (= E false) + (hasleftistproperty C E) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) ) + (=> + (and + (= E false) + (hasleftistproperty D E) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) (G Int) ) + (=> + (and + (= E false) + (> F G) + (rightheight C G) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) ) + (=> + (and + (= E false) + (not (= A (+ 1 F))) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (hsize hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A listOfInt) ) + (qheapsorta hleaf-heapOfInt A A) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E listOfInt) (F listOfInt) (G heapOfInt) ) + (=> + (and + (merge C D G) + (qheapsorta G (cons-listOfInt B E) F) + ) + (qheapsorta (heap-heapOfInt A B C D) E F) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G Int) (H Int) ) + (=> + (and + (= E (+ 1 F)) + (hsize C G) + (hsize D H) + (= F (+ G H)) + ) + (hsize (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A heapOfInt) (B Int) (C heapOfInt) (D Int) ) + (=> + (and + (= D 1) + (merge (heap-heapOfInt D B hleaf-heapOfInt hleaf-heapOfInt) A C) + ) + (hinsert A B C) + ) + ) +) +(assert + (forall ( (A heapOfInt) ) + (hinsertall nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C heapOfInt) (D heapOfInt) (E heapOfInt) ) + (=> + (and + (hinsertall B C E) + (hinsert E A D) + ) + (hinsertall (cons-listOfInt A B) C D) + ) + ) +) +(assert + (heapsorta hleaf-heapOfInt nil-listOfInt) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E listOfInt) (F heapOfInt) ) + (=> + (and + (merge C D F) + (heapsorta F E) + ) + (heapsorta (heap-heapOfInt A B C D) (cons-listOfInt B E)) + ) + ) +) +(assert + (forall ( (A Bool) (B Int) (C Int) (D Int) (E Int) (F heapOfInt) (G listOfInt) (H listOfInt) ) + (=> + (and + (= A true) + (not (= B C)) + (= (+ D E) B) + (qheapsorta F G H) + (len H C) + (hsize F D) + (len G E) + (hasleftistproperty F A) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal2.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal2.smt2 new file mode 100644 index 000000000..8f0ba4fd8 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal2.smt2 @@ -0,0 +1,227 @@ +(set-logic HORN) + +(declare-datatypes ((heapOfInt 0) ) +(((heap-heapOfInt (rk-heapOfInt Int) (value-heapOfInt Int) (left-heapOfInt heapOfInt) (right-heapOfInt heapOfInt)) (hleaf-heapOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun rightheight (heapOfInt Int) Bool) +(declare-fun rank (heapOfInt Int) Bool) +(declare-fun mergea (Int heapOfInt heapOfInt heapOfInt) Bool) +(declare-fun merge (heapOfInt heapOfInt heapOfInt) Bool) +(declare-fun hinsert (heapOfInt Int heapOfInt) Bool) +(declare-fun hinsertall (listOfInt heapOfInt heapOfInt) Bool) +(declare-fun hasleftistproperty (heapOfInt Bool) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (rightheight hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) ) + (=> + (and + (= E (+ 1 F)) + (rightheight D F) + ) + (rightheight (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (rank hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) ) + (rank (heap-heapOfInt A B C D) A) + ) +) +(assert + (forall ( (A Int) (B heapOfInt) (C heapOfInt) (D Int) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= D (+ 1 F)) + (<= G H) + (rank B H) + (rank C G) + (rank C F) + ) + (mergea A B C (heap-heapOfInt D A B C) ) + ) + ) +) +(assert + (forall ( (A Int) (B heapOfInt) (C heapOfInt) (D Int) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= D (+ 1 F)) + (> G H) + (rank B H) + (rank C G) + (rank B F) + ) + (mergea A B C (heap-heapOfInt D A C B) ) + ) + ) +) + +(assert + (forall ( (A heapOfInt) ) + (merge A hleaf-heapOfInt A) + ) +) +(assert + (forall ( (A heapOfInt) ) + (merge hleaf-heapOfInt A A) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G heapOfInt) (H heapOfInt) (I heapOfInt) (J Bool) (K heapOfInt) ) + (=> + (and + (< F B) + (mergea B C K I) + (merge D (heap-heapOfInt E F G H) K) + ) + (merge (heap-heapOfInt A B C D) (heap-heapOfInt E F G H) I) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G heapOfInt) (H heapOfInt) (I heapOfInt) (J Bool) (K heapOfInt) ) + (=> + (and + (>= F B) + (mergea F G K I) + (merge (heap-heapOfInt A B C D) H K) + ) + (merge (heap-heapOfInt A B C D) (heap-heapOfInt E F G H) I) + ) + ) +) +(assert + (forall ( (A Bool) ) + (=> + (= A true) + (hasleftistproperty hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= E true) + (= A (+ 1 F)) + (hasleftistproperty C E) + (hasleftistproperty D E) + (<= G H) + (rightheight C H) + (rightheight D G) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) ) + (=> + (and + (= E false) + (hasleftistproperty C E) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) ) + (=> + (and + (= E false) + (hasleftistproperty D E) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) (G Int) ) + (=> + (and + (= E false) + (> F G) + (rightheight C G) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) ) + (=> + (and + (= E false) + (not (= A (+ 1 F))) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A heapOfInt) (B Int) (C heapOfInt) (D Int) ) + (=> + (and + (= D 1) + (merge (heap-heapOfInt D B hleaf-heapOfInt hleaf-heapOfInt) A C) + ) + (hinsert A B C) + ) + ) +) +(assert + (forall ( (A heapOfInt) ) + (hinsertall nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C heapOfInt) (D heapOfInt) (E heapOfInt) ) + (=> + (and + (hinsertall B C E) + (hinsert E A D) + ) + (hinsertall (cons-listOfInt A B) C D) + ) + ) +) +(assert + (forall ( (A Bool) (B Bool) (C listOfInt) (D heapOfInt) (E heapOfInt) ) + (=> + (and + (= A true) + (not (= B true)) + (hinsertall C D E) + (hasleftistproperty E B) + (hasleftistproperty D A) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal3.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal3.smt2 new file mode 100644 index 000000000..78881d78b --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal3.smt2 @@ -0,0 +1,201 @@ +(set-logic HORN) + +(declare-datatypes ((heapOfInt 0) ) +(((heap-heapOfInt (rk-heapOfInt Int) (value-heapOfInt Int) (left-heapOfInt heapOfInt) (right-heapOfInt heapOfInt)) (hleaf-heapOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun rightheight (heapOfInt Int) Bool) +(declare-fun rank (heapOfInt Int) Bool) +(declare-fun mergea (Int heapOfInt heapOfInt heapOfInt) Bool) +(declare-fun merge (heapOfInt heapOfInt heapOfInt) Bool) +(declare-fun hasleftistproperty (heapOfInt Bool) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (rightheight hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) ) + (=> + (and + (= E (+ 1 F)) + (rightheight D F) + ) + (rightheight (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (rank hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) ) + (rank (heap-heapOfInt A B C D) A) + ) +) +(assert + (forall ( (A Int) (B heapOfInt) (C heapOfInt) (D Int) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= D (+ 1 F)) + (<= G H) + (rank B H) + (rank C G) + (rank C F) + ) + (mergea A B C (heap-heapOfInt D A B C) ) + ) + ) +) +(assert + (forall ( (A Int) (B heapOfInt) (C heapOfInt) (D Int) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= D (+ 1 F)) + (> G H) + (rank B H) + (rank C G) + (rank B F) + ) + (mergea A B C (heap-heapOfInt D A C B) ) + ) + ) +) + +(assert + (forall ( (A heapOfInt) ) + (merge A hleaf-heapOfInt A) + ) +) +(assert + (forall ( (A heapOfInt) ) + (merge hleaf-heapOfInt A A) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G heapOfInt) (H heapOfInt) (I heapOfInt) (J Bool) (K heapOfInt) ) + (=> + (and + (< F B) + (mergea B C K I) + (merge D (heap-heapOfInt E F G H) K) + ) + (merge (heap-heapOfInt A B C D) (heap-heapOfInt E F G H) I) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G heapOfInt) (H heapOfInt) (I heapOfInt) (J Bool) (K heapOfInt) ) + (=> + (and + (>= F B) + (mergea F G K I) + (merge (heap-heapOfInt A B C D) H K) + ) + (merge (heap-heapOfInt A B C D) (heap-heapOfInt E F G H) I) + ) + ) +) +(assert + (forall ( (A Bool) ) + (=> + (= A true) + (hasleftistproperty hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= E true) + (= A (+ 1 F)) + (hasleftistproperty C E) + (hasleftistproperty D E) + (<= G H) + (rightheight C H) + (rightheight D G) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) ) + (=> + (and + (= E false) + (hasleftistproperty C E) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) ) + (=> + (and + (= E false) + (hasleftistproperty D E) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) (G Int) ) + (=> + (and + (= E false) + (> F G) + (rightheight C G) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) ) + (=> + (and + (= E false) + (not (= A (+ 1 F))) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Bool) (B Bool) (C Int) (D heapOfInt) (E heapOfInt) (F heapOfInt) ) + (=> + (and + (= A true) + (= A true) + (= A true) + (not (= B true)) + (mergea C D E F) + (hasleftistproperty F B) + (hasleftistproperty D A) + (hasleftistproperty E A) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal4.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal4.smt2 new file mode 100644 index 000000000..a2bbdf67b --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal4.smt2 @@ -0,0 +1,201 @@ +(set-logic HORN) + +(declare-datatypes ((heapOfInt 0) ) +(((heap-heapOfInt (rk-heapOfInt Int) (value-heapOfInt Int) (left-heapOfInt heapOfInt) (right-heapOfInt heapOfInt)) (hleaf-heapOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun rightheight (heapOfInt Int) Bool) +(declare-fun rank (heapOfInt Int) Bool) +(declare-fun mergea (Int heapOfInt heapOfInt heapOfInt) Bool) +(declare-fun merge (heapOfInt heapOfInt heapOfInt) Bool) +(declare-fun hasleftistproperty (heapOfInt Bool) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (rightheight hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) ) + (=> + (and + (= E (+ 1 F)) + (rightheight D F) + ) + (rightheight (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (rank hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) ) + (rank (heap-heapOfInt A B C D) A) + ) +) +(assert + (forall ( (A Int) (B heapOfInt) (C heapOfInt) (D Int) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= D (+ 1 F)) + (<= G H) + (rank B H) + (rank C G) + (rank C F) + ) + (mergea A B C (heap-heapOfInt D A B C) ) + ) + ) +) +(assert + (forall ( (A Int) (B heapOfInt) (C heapOfInt) (D Int) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= D (+ 1 F)) + (> G H) + (rank B H) + (rank C G) + (rank B F) + ) + (mergea A B C (heap-heapOfInt D A C B) ) + ) + ) +) + +(assert + (forall ( (A heapOfInt) ) + (merge A hleaf-heapOfInt A) + ) +) +(assert + (forall ( (A heapOfInt) ) + (merge hleaf-heapOfInt A A) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G heapOfInt) (H heapOfInt) (I heapOfInt) (J Bool) (K heapOfInt) ) + (=> + (and + (< F B) + (mergea B C K I) + (merge D (heap-heapOfInt E F G H) K) + ) + (merge (heap-heapOfInt A B C D) (heap-heapOfInt E F G H) I) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G heapOfInt) (H heapOfInt) (I heapOfInt) (J Bool) (K heapOfInt) ) + (=> + (and + (>= F B) + (mergea F G K I) + (merge (heap-heapOfInt A B C D) H K) + ) + (merge (heap-heapOfInt A B C D) (heap-heapOfInt E F G H) I) + ) + ) +) +(assert + (forall ( (A Bool) ) + (=> + (= A true) + (hasleftistproperty hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= E true) + (= A (+ 1 F)) + (hasleftistproperty C E) + (hasleftistproperty D E) + (<= G H) + (rightheight C H) + (rightheight D G) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) ) + (=> + (and + (= E false) + (hasleftistproperty C E) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) ) + (=> + (and + (= E false) + (hasleftistproperty D E) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) (G Int) ) + (=> + (and + (= E false) + (> F G) + (rightheight C G) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) ) + (=> + (and + (= E false) + (not (= A (+ 1 F))) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Bool) (B Bool) (C heapOfInt) (D heapOfInt) (E heapOfInt) ) + (=> + (and + (= A true) + (= A true) + (= A true) + (not (= B true)) + (merge C D E) + (hasleftistproperty E B) + (hasleftistproperty C A) + (hasleftistproperty D A) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal5.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal5.smt2 new file mode 100644 index 000000000..a2bbdf67b --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal5.smt2 @@ -0,0 +1,201 @@ +(set-logic HORN) + +(declare-datatypes ((heapOfInt 0) ) +(((heap-heapOfInt (rk-heapOfInt Int) (value-heapOfInt Int) (left-heapOfInt heapOfInt) (right-heapOfInt heapOfInt)) (hleaf-heapOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun rightheight (heapOfInt Int) Bool) +(declare-fun rank (heapOfInt Int) Bool) +(declare-fun mergea (Int heapOfInt heapOfInt heapOfInt) Bool) +(declare-fun merge (heapOfInt heapOfInt heapOfInt) Bool) +(declare-fun hasleftistproperty (heapOfInt Bool) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (rightheight hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) ) + (=> + (and + (= E (+ 1 F)) + (rightheight D F) + ) + (rightheight (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (rank hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) ) + (rank (heap-heapOfInt A B C D) A) + ) +) +(assert + (forall ( (A Int) (B heapOfInt) (C heapOfInt) (D Int) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= D (+ 1 F)) + (<= G H) + (rank B H) + (rank C G) + (rank C F) + ) + (mergea A B C (heap-heapOfInt D A B C) ) + ) + ) +) +(assert + (forall ( (A Int) (B heapOfInt) (C heapOfInt) (D Int) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= D (+ 1 F)) + (> G H) + (rank B H) + (rank C G) + (rank B F) + ) + (mergea A B C (heap-heapOfInt D A C B) ) + ) + ) +) + +(assert + (forall ( (A heapOfInt) ) + (merge A hleaf-heapOfInt A) + ) +) +(assert + (forall ( (A heapOfInt) ) + (merge hleaf-heapOfInt A A) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G heapOfInt) (H heapOfInt) (I heapOfInt) (J Bool) (K heapOfInt) ) + (=> + (and + (< F B) + (mergea B C K I) + (merge D (heap-heapOfInt E F G H) K) + ) + (merge (heap-heapOfInt A B C D) (heap-heapOfInt E F G H) I) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G heapOfInt) (H heapOfInt) (I heapOfInt) (J Bool) (K heapOfInt) ) + (=> + (and + (>= F B) + (mergea F G K I) + (merge (heap-heapOfInt A B C D) H K) + ) + (merge (heap-heapOfInt A B C D) (heap-heapOfInt E F G H) I) + ) + ) +) +(assert + (forall ( (A Bool) ) + (=> + (= A true) + (hasleftistproperty hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= E true) + (= A (+ 1 F)) + (hasleftistproperty C E) + (hasleftistproperty D E) + (<= G H) + (rightheight C H) + (rightheight D G) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) ) + (=> + (and + (= E false) + (hasleftistproperty C E) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) ) + (=> + (and + (= E false) + (hasleftistproperty D E) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) (G Int) ) + (=> + (and + (= E false) + (> F G) + (rightheight C G) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) ) + (=> + (and + (= E false) + (not (= A (+ 1 F))) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Bool) (B Bool) (C heapOfInt) (D heapOfInt) (E heapOfInt) ) + (=> + (and + (= A true) + (= A true) + (= A true) + (not (= B true)) + (merge C D E) + (hasleftistproperty E B) + (hasleftistproperty C A) + (hasleftistproperty D A) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal6.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal6.smt2 new file mode 100644 index 000000000..b67f137b9 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal6.smt2 @@ -0,0 +1,224 @@ +(set-logic HORN) + +(declare-datatypes ((heapOfInt 0) ) +(((heap-heapOfInt (rk-heapOfInt Int) (value-heapOfInt Int) (left-heapOfInt heapOfInt) (right-heapOfInt heapOfInt)) (hleaf-heapOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun rightheight (heapOfInt Int) Bool) +(declare-fun rank (heapOfInt Int) Bool) +(declare-fun mergea (Int heapOfInt heapOfInt heapOfInt) Bool) +(declare-fun merge (heapOfInt heapOfInt heapOfInt) Bool) +(declare-fun hsize (heapOfInt Int) Bool) +(declare-fun hasleftistproperty (heapOfInt Bool) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (rightheight hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) ) + (=> + (and + (= E (+ 1 F)) + (rightheight D F) + ) + (rightheight (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (rank hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) ) + (rank (heap-heapOfInt A B C D) A) + ) +) +(assert + (forall ( (A Int) (B heapOfInt) (C heapOfInt) (D Int) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= D (+ 1 F)) + (<= G H) + (rank B H) + (rank C G) + (rank C F) + ) + (mergea A B C (heap-heapOfInt D A B C) ) + ) + ) +) +(assert + (forall ( (A Int) (B heapOfInt) (C heapOfInt) (D Int) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= D (+ 1 F)) + (> G H) + (rank B H) + (rank C G) + (rank B F) + ) + (mergea A B C (heap-heapOfInt D A C B) ) + ) + ) +) + +(assert + (forall ( (A heapOfInt) ) + (merge A hleaf-heapOfInt A) + ) +) +(assert + (forall ( (A heapOfInt) ) + (merge hleaf-heapOfInt A A) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G heapOfInt) (H heapOfInt) (I heapOfInt) (J Bool) (K heapOfInt) ) + (=> + (and + (< F B) + (mergea B C K I) + (merge D (heap-heapOfInt E F G H) K) + ) + (merge (heap-heapOfInt A B C D) (heap-heapOfInt E F G H) I) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G heapOfInt) (H heapOfInt) (I heapOfInt) (J Bool) (K heapOfInt) ) + (=> + (and + (>= F B) + (mergea F G K I) + (merge (heap-heapOfInt A B C D) H K) + ) + (merge (heap-heapOfInt A B C D) (heap-heapOfInt E F G H) I) + ) + ) +) +(assert + (forall ( (A Bool) ) + (=> + (= A true) + (hasleftistproperty hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= E true) + (= A (+ 1 F)) + (hasleftistproperty C E) + (hasleftistproperty D E) + (<= G H) + (rightheight C H) + (rightheight D G) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) ) + (=> + (and + (= E false) + (hasleftistproperty C E) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) ) + (=> + (and + (= E false) + (hasleftistproperty D E) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) (G Int) ) + (=> + (and + (= E false) + (> F G) + (rightheight C G) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) ) + (=> + (and + (= E false) + (not (= A (+ 1 F))) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (hsize hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G Int) (H Int) ) + (=> + (and + (= E (+ 1 F)) + (hsize C G) + (hsize D H) + (= F (+ G H)) + ) + (hsize (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Bool) (B Int) (C Int) (D Int) (E Int) (F Int) (G heapOfInt) (H heapOfInt) (I heapOfInt) ) + (=> + (and + (= A true) + (not (= B (+ C 1))) + (= (+ D E) C) + (mergea F G H I) + (hsize I B) + (hsize G D) + (hsize H E) + (hasleftistproperty G A) + (hasleftistproperty H A) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal7.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal7.smt2 new file mode 100644 index 000000000..792749aaf --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal7.smt2 @@ -0,0 +1,224 @@ +(set-logic HORN) + +(declare-datatypes ((heapOfInt 0) ) +(((heap-heapOfInt (rk-heapOfInt Int) (value-heapOfInt Int) (left-heapOfInt heapOfInt) (right-heapOfInt heapOfInt)) (hleaf-heapOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun rightheight (heapOfInt Int) Bool) +(declare-fun rank (heapOfInt Int) Bool) +(declare-fun mergea (Int heapOfInt heapOfInt heapOfInt) Bool) +(declare-fun merge (heapOfInt heapOfInt heapOfInt) Bool) +(declare-fun hsize (heapOfInt Int) Bool) +(declare-fun hasleftistproperty (heapOfInt Bool) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (rightheight hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) ) + (=> + (and + (= E (+ 1 F)) + (rightheight D F) + ) + (rightheight (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (rank hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) ) + (rank (heap-heapOfInt A B C D) A) + ) +) +(assert + (forall ( (A Int) (B heapOfInt) (C heapOfInt) (D Int) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= D (+ 1 F)) + (<= G H) + (rank B H) + (rank C G) + (rank C F) + ) + (mergea A B C (heap-heapOfInt D A B C) ) + ) + ) +) +(assert + (forall ( (A Int) (B heapOfInt) (C heapOfInt) (D Int) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= D (+ 1 F)) + (> G H) + (rank B H) + (rank C G) + (rank B F) + ) + (mergea A B C (heap-heapOfInt D A C B) ) + ) + ) +) + +(assert + (forall ( (A heapOfInt) ) + (merge A hleaf-heapOfInt A) + ) +) +(assert + (forall ( (A heapOfInt) ) + (merge hleaf-heapOfInt A A) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G heapOfInt) (H heapOfInt) (I heapOfInt) (J Bool) (K heapOfInt) ) + (=> + (and + (< F B) + (mergea B C K I) + (merge D (heap-heapOfInt E F G H) K) + ) + (merge (heap-heapOfInt A B C D) (heap-heapOfInt E F G H) I) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G heapOfInt) (H heapOfInt) (I heapOfInt) (J Bool) (K heapOfInt) ) + (=> + (and + (>= F B) + (mergea F G K I) + (merge (heap-heapOfInt A B C D) H K) + ) + (merge (heap-heapOfInt A B C D) (heap-heapOfInt E F G H) I) + ) + ) +) +(assert + (forall ( (A Bool) ) + (=> + (= A true) + (hasleftistproperty hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= E true) + (= A (+ 1 F)) + (hasleftistproperty C E) + (hasleftistproperty D E) + (<= G H) + (rightheight C H) + (rightheight D G) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) ) + (=> + (and + (= E false) + (hasleftistproperty C E) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) ) + (=> + (and + (= E false) + (hasleftistproperty D E) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) (G Int) ) + (=> + (and + (= E false) + (> F G) + (rightheight C G) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) ) + (=> + (and + (= E false) + (not (= A (+ 1 F))) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (hsize hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G Int) (H Int) ) + (=> + (and + (= E (+ 1 F)) + (hsize C G) + (hsize D H) + (= F (+ G H)) + ) + (hsize (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Bool) (B Int) (C Int) (D Int) (E Int) (F heapOfInt) (G heapOfInt) (H heapOfInt) ) + (=> + (and + (= A true) + (not (= B C)) + (= (+ D E) B) + (merge F G H) + (hsize H C) + (hsize F D) + (hsize G E) + (hasleftistproperty F A) + (hasleftistproperty G A) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal8.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal8.smt2 new file mode 100644 index 000000000..72f8fb780 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal8.smt2 @@ -0,0 +1,233 @@ +(set-logic HORN) + +(declare-datatypes ((heapOfInt 0) ) +(((heap-heapOfInt (rk-heapOfInt Int) (value-heapOfInt Int) (left-heapOfInt heapOfInt) (right-heapOfInt heapOfInt)) (hleaf-heapOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun rightheight (heapOfInt Int) Bool) +(declare-fun rank (heapOfInt Int) Bool) +(declare-fun mergea (Int heapOfInt heapOfInt heapOfInt) Bool) +(declare-fun merge (heapOfInt heapOfInt heapOfInt) Bool) +(declare-fun hsize (heapOfInt Int) Bool) +(declare-fun hasleftistproperty (heapOfInt Bool) Bool) +(declare-fun hinsert (heapOfInt Int heapOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (rightheight hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) ) + (=> + (and + (= E (+ 1 F)) + (rightheight D F) + ) + (rightheight (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (rank hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) ) + (rank (heap-heapOfInt A B C D) A) + ) +) +(assert + (forall ( (A Int) (B heapOfInt) (C heapOfInt) (D Int) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= D (+ 1 F)) + (<= G H) + (rank B H) + (rank C G) + (rank C F) + ) + (mergea A B C (heap-heapOfInt D A B C) ) + ) + ) +) +(assert + (forall ( (A Int) (B heapOfInt) (C heapOfInt) (D Int) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= D (+ 1 F)) + (> G H) + (rank B H) + (rank C G) + (rank B F) + ) + (mergea A B C (heap-heapOfInt D A C B) ) + ) + ) +) + +(assert + (forall ( (A heapOfInt) ) + (merge A hleaf-heapOfInt A) + ) +) +(assert + (forall ( (A heapOfInt) ) + (merge hleaf-heapOfInt A A) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G heapOfInt) (H heapOfInt) (I heapOfInt) (J Bool) (K heapOfInt) ) + (=> + (and + (< F B) + (mergea B C K I) + (merge D (heap-heapOfInt E F G H) K) + ) + (merge (heap-heapOfInt A B C D) (heap-heapOfInt E F G H) I) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G heapOfInt) (H heapOfInt) (I heapOfInt) (J Bool) (K heapOfInt) ) + (=> + (and + (>= F B) + (mergea F G K I) + (merge (heap-heapOfInt A B C D) H K) + ) + (merge (heap-heapOfInt A B C D) (heap-heapOfInt E F G H) I) + ) + ) +) +(assert + (forall ( (A Bool) ) + (=> + (= A true) + (hasleftistproperty hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= E true) + (= A (+ 1 F)) + (hasleftistproperty C E) + (hasleftistproperty D E) + (<= G H) + (rightheight C H) + (rightheight D G) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) ) + (=> + (and + (= E false) + (hasleftistproperty C E) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) ) + (=> + (and + (= E false) + (hasleftistproperty D E) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) (G Int) ) + (=> + (and + (= E false) + (> F G) + (rightheight C G) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) ) + (=> + (and + (= E false) + (not (= A (+ 1 F))) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (hsize hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G Int) (H Int) ) + (=> + (and + (= E (+ 1 F)) + (hsize C G) + (hsize D H) + (= F (+ G H)) + ) + (hsize (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A heapOfInt) (B Int) (C heapOfInt) (D Int) ) + (=> + (and + (= D 1) + (merge (heap-heapOfInt D B hleaf-heapOfInt hleaf-heapOfInt) A C) + ) + (hinsert A B C) + ) + ) +) +(assert + (forall ( (A Bool) (B Int) (C Int) (D heapOfInt) (E Int) (F heapOfInt) ) + (=> + (and + (= A true) + (not (= (- B C) 1)) + (hinsert D E F) + (hsize F B) + (hsize D C) + (hasleftistproperty D A) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal9.smt2 b/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal9.smt2 new file mode 100644 index 000000000..a059d22b5 --- /dev/null +++ b/bench_horn_adt/benchmarks-vmcai2015/leon/heap/heap-goal9.smt2 @@ -0,0 +1,272 @@ +(set-logic HORN) + +(declare-datatypes ((heapOfInt 0) ) +(((heap-heapOfInt (rk-heapOfInt Int) (value-heapOfInt Int) (left-heapOfInt heapOfInt) (right-heapOfInt heapOfInt)) (hleaf-heapOfInt)))) +(declare-datatypes ((listOfInt 0) ) +(((cons-listOfInt (head-listOfInt Int) (tail-listOfInt listOfInt)) (nil-listOfInt)))) + +(declare-fun len (listOfInt Int) Bool) +(declare-fun rightheight (heapOfInt Int) Bool) +(declare-fun rank (heapOfInt Int) Bool) +(declare-fun mergea (Int heapOfInt heapOfInt heapOfInt) Bool) +(declare-fun merge (heapOfInt heapOfInt heapOfInt) Bool) +(declare-fun hsize (heapOfInt Int) Bool) +(declare-fun hasleftistproperty (heapOfInt Bool) Bool) +(declare-fun hinsert (heapOfInt Int heapOfInt) Bool) +(declare-fun hinsertall (listOfInt heapOfInt heapOfInt) Bool) +(declare-fun ff () Bool) + +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (len nil-listOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C Int) (D Int) ) + (=> + (and + (= C (+ 1 D)) + (len B D) + ) + (len (cons-listOfInt A B) C) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (rightheight hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) ) + (=> + (and + (= E (+ 1 F)) + (rightheight D F) + ) + (rightheight (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (rank hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) ) + (rank (heap-heapOfInt A B C D) A) + ) +) +(assert + (forall ( (A Int) (B heapOfInt) (C heapOfInt) (D Int) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= D (+ 1 F)) + (<= G H) + (rank B H) + (rank C G) + (rank C F) + ) + (mergea A B C (heap-heapOfInt D A B C) ) + ) + ) +) +(assert + (forall ( (A Int) (B heapOfInt) (C heapOfInt) (D Int) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= D (+ 1 F)) + (> G H) + (rank B H) + (rank C G) + (rank B F) + ) + (mergea A B C (heap-heapOfInt D A C B) ) + ) + ) +) + +(assert + (forall ( (A heapOfInt) ) + (merge A hleaf-heapOfInt A) + ) +) +(assert + (forall ( (A heapOfInt) ) + (merge hleaf-heapOfInt A A) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G heapOfInt) (H heapOfInt) (I heapOfInt) (J Bool) (K heapOfInt) ) + (=> + (and + (< F B) + (mergea B C K I) + (merge D (heap-heapOfInt E F G H) K) + ) + (merge (heap-heapOfInt A B C D) (heap-heapOfInt E F G H) I) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G heapOfInt) (H heapOfInt) (I heapOfInt) (J Bool) (K heapOfInt) ) + (=> + (and + (>= F B) + (mergea F G K I) + (merge (heap-heapOfInt A B C D) H K) + ) + (merge (heap-heapOfInt A B C D) (heap-heapOfInt E F G H) I) + ) + ) +) +(assert + (forall ( (A Bool) ) + (=> + (= A true) + (hasleftistproperty hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) (G Int) (H Int) ) + (=> + (and + (= E true) + (= A (+ 1 F)) + (hasleftistproperty C E) + (hasleftistproperty D E) + (<= G H) + (rightheight C H) + (rightheight D G) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) ) + (=> + (and + (= E false) + (hasleftistproperty C E) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) ) + (=> + (and + (= E false) + (hasleftistproperty D E) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) (G Int) ) + (=> + (and + (= E false) + (> F G) + (rightheight C G) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Bool) (F Int) ) + (=> + (and + (= E false) + (not (= A (+ 1 F))) + (rightheight D F) + ) + (hasleftistproperty (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A Int) ) + (=> + (= A 0) + (hsize hleaf-heapOfInt A) + ) + ) +) +(assert + (forall ( (A Int) (B Int) (C heapOfInt) (D heapOfInt) (E Int) (F Int) (G Int) (H Int) ) + (=> + (and + (= E (+ 1 F)) + (hsize C G) + (hsize D H) + (= F (+ G H)) + ) + (hsize (heap-heapOfInt A B C D) E) + ) + ) +) +(assert + (forall ( (A heapOfInt) (B Int) (C heapOfInt) (D Int) ) + (=> + (and + (= D 1) + (merge (heap-heapOfInt D B hleaf-heapOfInt hleaf-heapOfInt) A C) + ) + (hinsert A B C) + ) + ) +) +(assert + (forall ( (A heapOfInt) ) + (hinsertall nil-listOfInt A A) + ) +) +(assert + (forall ( (A Int) (B listOfInt) (C heapOfInt) (D heapOfInt) (E heapOfInt) ) + (=> + (and + (hinsertall B C E) + (hinsert E A D) + ) + (hinsertall (cons-listOfInt A B) C D) + ) + ) +) +(assert + (forall ( (A Bool) (B Int) (C Int) (D Int) (E Int) (F listOfInt) (G heapOfInt) (H heapOfInt) ) + (=> + (and + (= A true) + (not (= B C)) + (= (+ D E) B) + (hinsertall F G H) + (hsize H C) + (hsize G D) + (len F E) + (hasleftistproperty G A) + ) + ff + ) + ) +) + +(assert (not ff)) +(check-sat) diff --git a/bench_horn_adt/list_remove.smt2 b/bench_horn_adt/list_remove.smt2 new file mode 100644 index 000000000..e610aa552 --- /dev/null +++ b/bench_horn_adt/list_remove.smt2 @@ -0,0 +1,26 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) +(declare-fun length (Lst Int) Bool) + +(assert (length nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (length ys l)) (length xs (+ l 1))))) + +(declare-fun remove (Lst Int Lst) Bool) + +(assert (forall ((x Int)) (remove nil x nil))) +(assert (forall ((x Int) (xs Lst) (ys Lst)) + (=> (= xs (cons x ys)) (remove xs x ys)))) +(assert (forall ((x Int) (xs Lst) (n Int) (ys Lst) (zs Lst)) + (=> (and (= xs (cons x ys)) (remove ys n zs)) (remove xs n zs)))) + +(declare-fun contains (Lst Int Bool) Bool) +(assert (forall ((x Int)) (contains nil x false))) +(assert (forall ((x Int) (xs Lst)) (contains (cons x xs) x true))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (n Int) (r Bool)) + (=> (and (= xs (cons x ys)) (contains ys n r)) (contains xs n r)))) + +(assert (forall ((n Int) (xs Lst) (ys Lst) (l1 Int) (l2 Int)) + (=> (and (contains xs n true) (remove xs n ys) (length xs l1) (length ys l2) + (not (= l1 l2))) false))) +(check-sat) diff --git a/bench_horn_adt/remove_not_contained.smt2 b/bench_horn_adt/remove_not_contained.smt2 new file mode 100644 index 000000000..146f2602d --- /dev/null +++ b/bench_horn_adt/remove_not_contained.smt2 @@ -0,0 +1,25 @@ +(set-logic HORN) +(declare-datatypes () ((Lst (cons (head Int) (tail Lst)) (nil)))) +(declare-fun length (Lst Int) Bool) + +(assert (length nil 0)) +(assert (forall ((x Int) (xs Lst) (ys Lst) (l Int)) + (=> (and (= xs (cons x ys)) (length ys l)) (length xs (+ l 1))))) + +(declare-fun remove (Lst Int Lst) Bool) + +(assert (forall ((x Int)) (remove nil x nil))) +(assert (forall ((x Int) (xs Lst) (ys Lst)) + (=> (= xs (cons x ys)) (remove xs x ys)))) +(assert (forall ((x Int) (xs Lst) (n Int) (ys Lst) (zs Lst)) + (=> (and (= xs (cons x ys)) (remove ys n zs)) (remove xs n zs)))) + +(declare-fun contains (Lst Int Bool) Bool) +(assert (forall ((x Int)) (contains nil x false))) +(assert (forall ((x Int) (xs Lst)) (contains (cons x xs) x true))) +(assert (forall ((x Int) (xs Lst) (ys Lst) (n Int) (r Bool)) + (=> (and (= xs (cons x ys)) (contains ys n r)) (contains xs n r)))) + +(assert (forall ((n Int) (xs Lst) (ys Lst)) + (=> (and (contains xs n false) (remove xs n ys) (not (= xs ys))) false))) +(check-sat) diff --git a/bench_horn_adt/run-bench.sh b/bench_horn_adt/run-bench.sh new file mode 100755 index 000000000..6c8e41157 --- /dev/null +++ b/bench_horn_adt/run-bench.sh @@ -0,0 +1,49 @@ +#!/bin/bash +echo "This is the script for running regression tests" +echo " - date: $(date '+%Y-%m-%d at %H:%M.%S')" +echo " - host name $(hostname -f)" +echo " - script path: $(readlink -f $0)" + +adtchc=../adtchc +if [[ ! $# -eq 0 ]] ; then + #echo 'Setting path to' $1 + adtchc=$1 +fi + +# run the interpolating version of OpenSMT +adtchc=${adtchc}' -i' + +picky=./utils/picky.smt2 +lookahead=./utils/lookahead.smt2 + +tmpfolder=log-$(date '+%Y-%m-%d-%H-%M-%S') +mkdir ${tmpfolder} + +export outmod=false +export errmod=false +export rtmod=false +export err=false + +for file in $(find . -name '*.smt2' |sort); do + name=$(basename $file) + dir=$(dirname $file) + + sh -c "ulimit -St 60; ${adtchc} $dir/$name > $tmpfolder/$name.out 2>$tmpfolder/$name.err.tmp" 2>/dev/null + grep -v '^;' $tmpfolder/$name.err.tmp > $tmpfolder/$name.err + + if [ -s "$tmpfolder/$name.err" ]; then + echo "stderr not empty for benchmark $file"; + err=true; + fi + + +done +#echo "Stdout differs: ${outmod}, stderr differs: ${errmod}" + +if [[ ${err} == true ]]; then + echo "There were anomalies: check logs in ${tmpfolder}" + exit 1 +else + rm -rf ${tmpfolder} +fi + diff --git a/bench_sim/list_arr_extra_1.smt2 b/bench_sim/list_arr_extra_1.smt2 new file mode 100644 index 000000000..2898e8d00 --- /dev/null +++ b/bench_sim/list_arr_extra_1.smt2 @@ -0,0 +1,20 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +(declare-fun xs () Lst) +(declare-fun xs1 () Lst) +(declare-fun h () Elem) +(declare-fun n () Int) +(declare-fun A () (Array Int Elem)) + +(declare-fun R (Lst Int (Array Int Elem)) Bool) + +(assert (forall ((n Int) (A (Array Int Elem))) (= (R nil n A) (= n 0)))) + +(assert (forall ((xs Lst) (h Elem) (n Int) (A (Array Int Elem))) + (= (R (cons h xs) n A) (and (> n 0) (R xs (- n 1) A) (= h (select A (- n 1))))))) + +(assert (not (forall ((n Int) (n1 Int) (xs Lst) (h Elem) (A (Array Int Elem))) + (=> (and (>= n1 n) (R xs n A)) (R xs n (store A n1 h)))))) + +(check-sat) diff --git a/bench_sim/list_arr_extra_2.smt2 b/bench_sim/list_arr_extra_2.smt2 new file mode 100644 index 000000000..3d99869de --- /dev/null +++ b/bench_sim/list_arr_extra_2.smt2 @@ -0,0 +1,14 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +(declare-fun R (Lst Int (Array Int Elem)) Bool) + +(assert (forall ((n Int) (A (Array Int Elem))) (= (R nil n A) (= n 0)))) + +(assert (forall ((xs Lst) (h Elem) (n Int) (A (Array Int Elem))) + (= (R (cons h xs) n A) (and (> n 0) (R xs (- n 1) A) (= h (select A (- n 1))))))) + +(assert (not (forall ((xs Lst) (n Int) (A (Array Int Elem))) + (=> (R xs n A) (>= n 0))))) + +(check-sat) diff --git a/bench_sim/list_arr_pop.smt2 b/bench_sim/list_arr_pop.smt2 new file mode 100644 index 000000000..6c04839e1 --- /dev/null +++ b/bench_sim/list_arr_pop.smt2 @@ -0,0 +1,22 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +; pop + +(declare-fun xs () Lst) +(declare-fun xs1 () Lst) +(declare-fun h () Elem) +(declare-fun n () Int) +(declare-fun A () (Array Int Elem)) + +(declare-fun R (Lst Int (Array Int Elem)) Bool) + +(assert (forall ((n Int) (A (Array Int Elem))) (= (R nil n A) (= n 0)))) + +(assert (forall ((xs Lst) (h Elem) (n Int) (A (Array Int Elem))) + (= (R (cons h xs) n A) (and (> n 0) (R xs (- n 1) A) (= h (select A (- n 1))))))) + +(assert (and (= xs1 (cons h xs)) (R xs1 n A))) + +(assert (not (R xs (- n 1) A))) +(check-sat) diff --git a/bench_sim/list_arr_push.smt2 b/bench_sim/list_arr_push.smt2 new file mode 100644 index 000000000..6a5360d68 --- /dev/null +++ b/bench_sim/list_arr_push.smt2 @@ -0,0 +1,32 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +; push + +(declare-fun xs () Lst) +(declare-fun xs1 () Lst) +(declare-fun h () Elem) +(declare-fun n () Int) +(declare-fun n1 () Int) +(declare-fun A () (Array Int Elem)) +(declare-fun A1 () (Array Int Elem)) + +(declare-fun R (Lst Int (Array Int Elem)) Bool) + +(assert (forall ((n Int) (A (Array Int Elem))) (= (R nil n A) (= n 0)))) + +(assert (forall ((xs Lst) (h Elem) (n Int) (A (Array Int Elem))) + (= (R (cons h xs) n A) (and (> n 0) (R xs (- n 1) A) (= h (select A (- n 1))))))) + +;extra lemma: +(assert (forall ((n Int) (n1 Int) (xs Lst) (h Elem) (A (Array Int Elem))) + (=> (and (>= n1 n) (R xs n A)) (R xs n (store A n1 h))))) + +;extra lemma: +(assert (forall ((xs Lst) (n Int) (A (Array Int Elem))) + (=> (R xs n A) (>= n 0)))) + +(assert (and (= xs1 (cons h xs)) (= A1 (store A n h)) (= n1 (+ n 1)) (R xs n A))) + +(assert (not (R xs1 n1 A1))) +(check-sat) diff --git a/bench_sim/queue_arr_de.smt2 b/bench_sim/queue_arr_de.smt2 new file mode 100644 index 000000000..51b585279 --- /dev/null +++ b/bench_sim/queue_arr_de.smt2 @@ -0,0 +1,41 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +(declare-fun allbutlast (Lst) Lst) +(assert (forall ((x Elem)) (= (allbutlast (cons x nil)) nil))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (allbutlast (cons x (cons y xs))) (cons x (allbutlast (cons y xs)))))) + +(declare-fun last (Lst) Elem) +(assert (forall ((x Elem)) (= (last (cons x nil)) x))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (last (cons x (cons y xs))) (last (cons y xs))))) + +; dequeue + +(declare-fun xs () Lst) +(declare-fun n () Int) +(declare-fun m () Int) +(declare-fun A () (Array Int Elem)) + +(declare-fun R (Lst Int Int (Array Int Elem)) Bool) + +(assert (forall ((n Int) (m Int) (A (Array Int Elem))) + (= (R nil m n A) (= m n)))) + +(assert (forall ((xs Lst) (h Elem) (m Int) (n Int) (A (Array Int Elem))) + (= (R (cons h xs) m n A) + (and (< m n) + (= h (select A (- n 1))) + (R xs m (- n 1) A))))) + +; extra lemma +(assert (forall ((xs Lst) (m Int) (n Int) (A (Array Int Elem))) (=> (R xs m n A) (<= m n)))) + +; extra lemma: +(assert (forall ((m Int) (n Int) (n1 Int) (xs Lst) (h Elem) (A (Array Int Elem))) + (=> (and (>= n1 n) (R xs m n A)) (R xs m n (store A n1 h))))) + +(assert (and (R xs m n A) (distinct xs nil))) + +(assert (not (R (allbutlast xs) (+ m 1) n A))) + +(check-sat) diff --git a/bench_sim/queue_arr_en.smt2 b/bench_sim/queue_arr_en.smt2 new file mode 100644 index 000000000..29e3c0744 --- /dev/null +++ b/bench_sim/queue_arr_en.smt2 @@ -0,0 +1,39 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +; enqueue + +(declare-fun xs () Lst) +(declare-fun xs1 () Lst) +(declare-fun h () Elem) +(declare-fun n () Int) +(declare-fun m () Int) +(declare-fun A () (Array Int Elem)) +(declare-fun A1 () (Array Int Elem)) + +(declare-fun R (Lst Int Int (Array Int Elem)) Bool) + +(assert (forall ((n Int) (m Int) (A (Array Int Elem))) + (= (R nil m n A) (= m n)))) + +(assert (forall ((xs Lst) (h Elem) (m Int) (n Int) (A (Array Int Elem))) + (= (R (cons h xs) m n A) + (and (< m n) + (= h (select A (- n 1))) + (R xs m (- n 1) A))))) + +; extra lemma: +(assert (forall ((m Int) (n Int) (n1 Int) (xs Lst) (h Elem) (A (Array Int Elem))) + (=> (and (>= n1 n) (R xs m n A)) (R xs m n (store A n1 h))))) + +; extra lemma +(assert (forall ((xs Lst) (m Int) (n Int) (A (Array Int Elem))) + (=> (R xs m n A) (<= m n)))) + +(assert (and (R xs m n A) + (= xs1 (cons h xs)) + (= A1 (store A n h)))) + +(assert (not (R xs1 m (+ n 1) A1))) + +(check-sat) diff --git a/bench_sim/queue_arr_extra_1.smt2 b/bench_sim/queue_arr_extra_1.smt2 new file mode 100644 index 000000000..f7dcdc4ad --- /dev/null +++ b/bench_sim/queue_arr_extra_1.smt2 @@ -0,0 +1,18 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +(declare-fun allbutlast (Lst) Lst) +(assert (forall ((x Elem)) (= (allbutlast (cons x nil)) nil))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (allbutlast (cons x (cons y xs))) (cons x (allbutlast (cons y xs)))))) + +(declare-fun last (Lst) Elem) +(assert (forall ((x Elem)) (= (last (cons x nil)) x))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (last (cons x (cons y xs))) (last (cons y xs))))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Elem) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(assert (not (forall ((xs Lst)) (=> (not (= xs nil)) (= xs (append (allbutlast xs) (cons (last xs) nil))))))) + +(check-sat) diff --git a/bench_sim/queue_arr_extra_2.smt2 b/bench_sim/queue_arr_extra_2.smt2 new file mode 100644 index 000000000..965a82d42 --- /dev/null +++ b/bench_sim/queue_arr_extra_2.smt2 @@ -0,0 +1,37 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +(declare-fun allbutlast (Lst) Lst) +(assert (forall ((x Elem)) (= (allbutlast (cons x nil)) nil))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (allbutlast (cons x (cons y xs))) (cons x (allbutlast (cons y xs)))))) + +(declare-fun last (Lst) Elem) +(assert (forall ((x Elem)) (= (last (cons x nil)) x))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (last (cons x (cons y xs))) (last (cons y xs))))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Elem) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(declare-fun R (Lst Int Int (Array Int Elem)) Bool) + +(assert (forall ((n Int) (m Int) (A (Array Int Elem))) + (= (R nil m n A) (= m n)))) + +(assert (forall ((xs Lst) (h Elem) (m Int) (n Int) (A (Array Int Elem))) + (= (R (cons h xs) m n A) + (and (< m n) + (= h (select A (- n 1))) + (R xs m (- n 1) A))))) + +; extra lemma + +(assert (forall ((xs Lst) (m Int) (n Int) (A (Array Int Elem))) (=> (R xs m n A) (<= m n)))) + +; extra lemma: +(assert (forall ((xs Lst)) (=> (not (= xs nil)) (= xs (append (allbutlast xs) (cons (last xs) nil)))))) + +; not used +(assert (not (forall ((xs Lst) (m Int) (n Int) (A (Array Int Elem))) (=> (and (distinct xs nil) (R xs m n A)) (R (allbutlast xs) (+ m 1) n A))))) + +(check-sat) diff --git a/bench_sim/queue_arr_extra_3.smt2 b/bench_sim/queue_arr_extra_3.smt2 new file mode 100644 index 000000000..05326ecfb --- /dev/null +++ b/bench_sim/queue_arr_extra_3.smt2 @@ -0,0 +1,17 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +(declare-fun R (Lst Int Int (Array Int Elem)) Bool) + +(assert (forall ((n Int) (m Int) (A (Array Int Elem))) + (= (R nil m n A) (= m n)))) + +(assert (forall ((xs Lst) (h Elem) (m Int) (n Int) (A (Array Int Elem))) + (= (R (cons h xs) m n A) + (and (< m n) + (= h (select A (- n 1))) + (R xs m (- n 1) A))))) + +(assert (not (forall ((xs Lst) (m Int) (n Int) (A (Array Int Elem))) (=> (R xs m n A) (<= m n))))) + +(check-sat) diff --git a/bench_sim/queue_arr_extra_4.smt2 b/bench_sim/queue_arr_extra_4.smt2 new file mode 100644 index 000000000..d13a24314 --- /dev/null +++ b/bench_sim/queue_arr_extra_4.smt2 @@ -0,0 +1,18 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +(declare-fun R (Lst Int Int (Array Int Elem)) Bool) + +(assert (forall ((n Int) (m Int) (A (Array Int Elem))) + (= (R nil m n A) (= m n)))) + +(assert (forall ((xs Lst) (h Elem) (m Int) (n Int) (A (Array Int Elem))) + (= (R (cons h xs) m n A) + (and (< m n) + (= h (select A (- n 1))) + (R xs m (- n 1) A))))) + +(assert (not (forall ((m Int) (n Int) (n1 Int) (xs Lst) (h Elem) (A (Array Int Elem))) + (=> (and (>= n1 n) (R xs m n A)) (R xs m n (store A n1 h)))))) + +(check-sat) diff --git a/bench_sim/queue_rev_extra_1.smt2 b/bench_sim/queue_rev_extra_1.smt2 new file mode 100644 index 000000000..b8181d08b --- /dev/null +++ b/bench_sim/queue_rev_extra_1.smt2 @@ -0,0 +1,14 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +(declare-fun snoc (Lst Elem) Lst) +(assert (forall ((x Elem)) (= (snoc nil x) (cons x nil)))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (snoc (cons y xs) x) (cons y (snoc xs x))))) + +(declare-fun append (Lst Lst) Lst) +(assert (forall ((x Lst)) (= (append nil x) x))) +(assert (forall ((x Elem) (y Lst) (z Lst)) (= (append (cons x y) z) (cons x (append y z))))) + +(assert (not (forall ((xs Lst) (x Elem)) (= (snoc xs x) (append xs (cons x nil)))))) + +(check-sat) diff --git a/bench_sim/run-bench.sh b/bench_sim/run-bench.sh new file mode 100755 index 000000000..6c8e41157 --- /dev/null +++ b/bench_sim/run-bench.sh @@ -0,0 +1,49 @@ +#!/bin/bash +echo "This is the script for running regression tests" +echo " - date: $(date '+%Y-%m-%d at %H:%M.%S')" +echo " - host name $(hostname -f)" +echo " - script path: $(readlink -f $0)" + +adtchc=../adtchc +if [[ ! $# -eq 0 ]] ; then + #echo 'Setting path to' $1 + adtchc=$1 +fi + +# run the interpolating version of OpenSMT +adtchc=${adtchc}' -i' + +picky=./utils/picky.smt2 +lookahead=./utils/lookahead.smt2 + +tmpfolder=log-$(date '+%Y-%m-%d-%H-%M-%S') +mkdir ${tmpfolder} + +export outmod=false +export errmod=false +export rtmod=false +export err=false + +for file in $(find . -name '*.smt2' |sort); do + name=$(basename $file) + dir=$(dirname $file) + + sh -c "ulimit -St 60; ${adtchc} $dir/$name > $tmpfolder/$name.out 2>$tmpfolder/$name.err.tmp" 2>/dev/null + grep -v '^;' $tmpfolder/$name.err.tmp > $tmpfolder/$name.err + + if [ -s "$tmpfolder/$name.err" ]; then + echo "stderr not empty for benchmark $file"; + err=true; + fi + + +done +#echo "Stdout differs: ${outmod}, stderr differs: ${errmod}" + +if [[ ${err} == true ]]; then + echo "There were anomalies: check logs in ${tmpfolder}" + exit 1 +else + rm -rf ${tmpfolder} +fi + diff --git a/bench_sim/set_dupl_consume.smt2 b/bench_sim/set_dupl_consume.smt2 new file mode 100644 index 000000000..84c55509b --- /dev/null +++ b/bench_sim/set_dupl_consume.smt2 @@ -0,0 +1,34 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +(declare-fun R (Lst (Array Elem Bool)) Bool) + +(declare-fun C (Elem Lst) Bool) +(assert (forall ((x Elem)) (= (C x nil) false))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (C x (cons y xs)) (or (= x y) (C x xs))))) + +(assert (forall ((A (Array Elem Bool))) (= (R nil A) (forall ((a Elem)) (= false (select A a)))))) +(assert (forall ((xs Lst) (out Elem) (A (Array Elem Bool))) + (= (R (cons out xs) A) (and (select A out) + (ite (C out xs) (R xs A) (R xs (store A out false))))))) + +(declare-fun removeall (Elem Lst) Lst) +(assert (forall ((x Elem)) (= (removeall x nil) nil))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) + (= (removeall x (cons y xs)) (ite (= x y) (removeall x xs) (cons y (removeall x xs)))))) + +(assert (forall ((xs Lst) (x Elem) (y Elem)) + (=> (not (C x xs)) (not (C x (removeall y xs)))))) + +(assert (forall ((xs Lst) (x Elem) (y Elem)) + (=> (and (C x xs) (distinct y x)) (C x (removeall y xs))))) + +(assert (forall ((xs Lst) (x Elem)) + (=> (not (C x xs)) + (= (removeall x xs) xs)))) + +; solved with --early-split 1 + +(assert (not + (forall ((xs Lst) (in Elem) (A (Array Elem Bool))) + (=> (R xs A) (R (removeall in xs) (store A in false)))))) diff --git a/bench_sim/set_dupl_extra_1.smt2 b/bench_sim/set_dupl_extra_1.smt2 new file mode 100644 index 000000000..842ddd451 --- /dev/null +++ b/bench_sim/set_dupl_extra_1.smt2 @@ -0,0 +1,11 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +(declare-fun R (Lst (Array Elem Bool)) Bool) + +(declare-fun C (Elem Lst) Bool) +(assert (forall ((x Elem)) (= (C x nil) false))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (C x (cons y xs)) (or (= x y) (C x xs))))) + +; extra lemmas about C +(assert (not (forall ((xs Lst) (x Elem) (y Elem)) (=> (C x xs) (=> (C y (cons x xs)) (C y xs)))))) diff --git a/bench_sim/set_dupl_extra_2.smt2 b/bench_sim/set_dupl_extra_2.smt2 new file mode 100644 index 000000000..f59852970 --- /dev/null +++ b/bench_sim/set_dupl_extra_2.smt2 @@ -0,0 +1,16 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +(declare-fun R (Lst (Array Elem Bool)) Bool) + +(declare-fun C (Elem Lst) Bool) +(assert (forall ((x Elem)) (= (C x nil) false))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (C x (cons y xs)) (or (= x y) (C x xs))))) + +(assert (forall ((A (Array Elem Bool))) (= (R nil A) (forall ((a Elem)) (= false (select A a)))))) +(assert (forall ((xs Lst) (out Elem) (A (Array Elem Bool))) + (= (R (cons out xs) A) (and (select A out) + (ite (C out xs) (R xs A) (R xs (store A out false))))))) + +(assert (not (forall ((xs Lst) (A (Array Elem Bool)) (x Elem)) + (=> (and (R xs A) (not (C x xs))) (= A (store A x false)))))) diff --git a/bench_sim/set_dupl_extra_3.smt2 b/bench_sim/set_dupl_extra_3.smt2 new file mode 100644 index 000000000..092be9d73 --- /dev/null +++ b/bench_sim/set_dupl_extra_3.smt2 @@ -0,0 +1,16 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +(declare-fun R (Lst (Array Elem Bool)) Bool) + +(declare-fun C (Elem Lst) Bool) +(assert (forall ((x Elem)) (= (C x nil) false))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (C x (cons y xs)) (or (= x y) (C x xs))))) + +(assert (forall ((A (Array Elem Bool))) (= (R nil A) (forall ((a Elem)) (= false (select A a)))))) +(assert (forall ((xs Lst) (out Elem) (A (Array Elem Bool))) + (= (R (cons out xs) A) (and (select A out) + (ite (C out xs) (R xs A) (R xs (store A out false))))))) + +(assert (not (forall ((xs Lst) (A (Array Elem Bool)) (y Elem)) + (=> (and (R xs A) (C y xs)) (= A (store A y true)))))) diff --git a/bench_sim/set_dupl_extra_4.smt2 b/bench_sim/set_dupl_extra_4.smt2 new file mode 100644 index 000000000..0bccde424 --- /dev/null +++ b/bench_sim/set_dupl_extra_4.smt2 @@ -0,0 +1,25 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +(declare-fun R (Lst (Array Elem Bool)) Bool) + +(declare-fun C (Elem Lst) Bool) +(assert (forall ((x Elem)) (= (C x nil) false))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (C x (cons y xs)) (or (= x y) (C x xs))))) + +(assert (forall ((A (Array Elem Bool))) (= (R nil A) (forall ((a Elem)) (= false (select A a)))))) +(assert (forall ((xs Lst) (out Elem) (A (Array Elem Bool))) + (= (R (cons out xs) A) (and (select A out) + (ite (C out xs) (R xs A) (R xs (store A out false))))))) + +(declare-fun removeall (Elem Lst) Lst) +(assert (forall ((x Elem)) (= (removeall x nil) nil))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) + (= (removeall x (cons y xs)) (ite (= x y) (removeall x xs) (cons y (removeall x xs)))))) + +; extra lemma 2 +(assert (forall ((xs Lst) (A (Array Elem Bool)) (x Elem)) + (=> (and (R xs A) (not (C x xs))) (= A (store A x false))))) + +(assert (not (forall ((xs Lst) (A (Array Elem Bool)) (x Elem)) + (=> (and (not (C x xs)) (R xs A)) (R (removeall x xs) A))))) diff --git a/bench_sim/set_dupl_extra_5.smt2 b/bench_sim/set_dupl_extra_5.smt2 new file mode 100644 index 000000000..58870ee11 --- /dev/null +++ b/bench_sim/set_dupl_extra_5.smt2 @@ -0,0 +1,16 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +(declare-fun R (Lst (Array Elem Bool)) Bool) + +(declare-fun C (Elem Lst) Bool) +(assert (forall ((x Elem)) (= (C x nil) false))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (C x (cons y xs)) (or (= x y) (C x xs))))) + +(assert (forall ((A (Array Elem Bool))) (= (R nil A) (forall ((a Elem)) (= false (select A a)))))) +(assert (forall ((xs Lst) (out Elem) (A (Array Elem Bool))) + (= (R (cons out xs) A) (and (select A out) + (ite (C out xs) (R xs A) (R xs (store A out false))))))) + +(assert (not (forall ((xs Lst) (A (Array Elem Bool)) (x Elem)) + (=> (and (not (select A x)) (R xs A)) (not (C x xs)))))) diff --git a/bench_sim/set_dupl_extra_6.smt2 b/bench_sim/set_dupl_extra_6.smt2 new file mode 100644 index 000000000..fb947ba3d --- /dev/null +++ b/bench_sim/set_dupl_extra_6.smt2 @@ -0,0 +1,16 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +(declare-fun R (Lst (Array Elem Bool)) Bool) + +(declare-fun C (Elem Lst) Bool) +(assert (forall ((x Elem)) (= (C x nil) false))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (C x (cons y xs)) (or (= x y) (C x xs))))) + +(assert (forall ((A (Array Elem Bool))) (= (R nil A) (forall ((a Elem)) (= false (select A a)))))) +(assert (forall ((xs Lst) (out Elem) (A (Array Elem Bool))) + (= (R (cons out xs) A) (and (select A out) + (ite (C out xs) (R xs A) (R xs (store A out false))))))) + +(assert (not (forall ((xs Lst) (A (Array Elem Bool)) (x Elem)) + (=> (and (select A x) (R xs A)) (C x xs))))) diff --git a/bench_sim/set_dupl_extra_7.smt2 b/bench_sim/set_dupl_extra_7.smt2 new file mode 100644 index 000000000..fb6974550 --- /dev/null +++ b/bench_sim/set_dupl_extra_7.smt2 @@ -0,0 +1,22 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +(declare-fun R (Lst (Array Elem Bool)) Bool) + +(declare-fun C (Elem Lst) Bool) +(assert (forall ((x Elem)) (= (C x nil) false))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (C x (cons y xs)) (or (= x y) (C x xs))))) + +(assert (forall ((A (Array Elem Bool))) (= (R nil A) (forall ((a Elem)) (= false (select A a)))))) +(assert (forall ((xs Lst) (out Elem) (A (Array Elem Bool))) + (= (R (cons out xs) A) (and (select A out) + (ite (C out xs) (R xs A) (R xs (store A out false))))))) + +(declare-fun removeall (Elem Lst) Lst) +(assert (forall ((x Elem)) (= (removeall x nil) nil))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) + (= (removeall x (cons y xs)) (ite (= x y) (removeall x xs) (cons y (removeall x xs)))))) + +(assert (not (forall ((xs Lst) (x Elem) (y Elem)) + (=> (not (C x xs)) (not (C x (removeall y xs))))))) + diff --git a/bench_sim/set_dupl_extra_8.smt2 b/bench_sim/set_dupl_extra_8.smt2 new file mode 100644 index 000000000..fa1f43c43 --- /dev/null +++ b/bench_sim/set_dupl_extra_8.smt2 @@ -0,0 +1,23 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +(declare-fun R (Lst (Array Elem Bool)) Bool) + +(declare-fun C (Elem Lst) Bool) +(assert (forall ((x Elem)) (= (C x nil) false))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (C x (cons y xs)) (or (= x y) (C x xs))))) + +(assert (forall ((A (Array Elem Bool))) (= (R nil A) (forall ((a Elem)) (= false (select A a)))))) +(assert (forall ((xs Lst) (out Elem) (A (Array Elem Bool))) + (= (R (cons out xs) A) (and (select A out) + (ite (C out xs) (R xs A) (R xs (store A out false))))))) + +(declare-fun removeall (Elem Lst) Lst) +(assert (forall ((x Elem)) (= (removeall x nil) nil))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) + (= (removeall x (cons y xs)) (ite (= x y) (removeall x xs) (cons y (removeall x xs)))))) + +; proved +(assert (not (forall ((xs Lst) (x Elem) (y Elem)) + (=> (and (C x xs) (distinct y x)) (C x (removeall y xs)))))) + diff --git a/bench_sim/set_dupl_extra_9.smt2 b/bench_sim/set_dupl_extra_9.smt2 new file mode 100644 index 000000000..b02ddc61c --- /dev/null +++ b/bench_sim/set_dupl_extra_9.smt2 @@ -0,0 +1,23 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +(declare-fun R (Lst (Array Elem Bool)) Bool) + +(declare-fun C (Elem Lst) Bool) +(assert (forall ((x Elem)) (= (C x nil) false))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (C x (cons y xs)) (or (= x y) (C x xs))))) + +(assert (forall ((A (Array Elem Bool))) (= (R nil A) (forall ((a Elem)) (= false (select A a)))))) +(assert (forall ((xs Lst) (out Elem) (A (Array Elem Bool))) + (= (R (cons out xs) A) (and (select A out) + (ite (C out xs) (R xs A) (R xs (store A out false))))))) + +(declare-fun removeall (Elem Lst) Lst) +(assert (forall ((x Elem)) (= (removeall x nil) nil))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) + (= (removeall x (cons y xs)) (ite (= x y) (removeall x xs) (cons y (removeall x xs)))))) + +; proved +(assert (not (forall ((xs Lst) (x Elem)) + (=> (not (C x xs)) + (= (removeall x xs) xs))))) diff --git a/bench_sim/set_dupl_produce.smt2 b/bench_sim/set_dupl_produce.smt2 new file mode 100644 index 000000000..9efc35b20 --- /dev/null +++ b/bench_sim/set_dupl_produce.smt2 @@ -0,0 +1,27 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +(declare-fun R (Lst (Array Elem Bool)) Bool) + +(declare-fun C (Elem Lst) Bool) +(assert (forall ((x Elem)) (= (C x nil) false))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (C x (cons y xs)) (or (= x y) (C x xs))))) + +(assert (forall ((A (Array Elem Bool))) (= (R nil A) (forall ((a Elem)) (= false (select A a)))))) +(assert (forall ((xs Lst) (out Elem) (A (Array Elem Bool))) + (= (R (cons out xs) A) (and (select A out) + (ite (C out xs) (R xs A) (R xs (store A out false))))))) + +; extra lemma 1 +(assert (forall ((xs Lst) (A (Array Elem Bool)) (x Elem) (y Elem)) + (=> (and (R xs A) (C y xs)) (= A (store A y true))))) + +; extra lemma 2 +(assert (forall ((xs Lst) (A (Array Elem Bool)) (x Elem)) + (=> (and (R xs A) (not (C x xs))) (= A (store A x false))))) + +; producing op check: + +(assert (not + (forall ((xs Lst) (in Elem) (A (Array Elem Bool))) + (=> (R xs A) (R (cons in xs) (store A in true)))))) diff --git a/bench_sim/set_singl_consume.smt2 b/bench_sim/set_singl_consume.smt2 new file mode 100644 index 000000000..90ea02f50 --- /dev/null +++ b/bench_sim/set_singl_consume.smt2 @@ -0,0 +1,16 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +(declare-fun R (Lst (Array Elem Bool)) Bool) + +(assert (forall ((A (Array Elem Bool))) (= (R nil A) (forall ((a Elem)) (= false (select A a)))))) +(assert (forall ((xs Lst) (out Elem) (A (Array Elem Bool))) + (= (R (cons out xs) A) (and (select A out) (R xs (store A out false)))))) + +(declare-fun remove (Elem Lst) Lst) +(assert (forall ((x Elem)) (= (remove x nil) nil))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (remove x (cons y xs)) (ite (= x y) xs (cons y (remove x xs)))))) + +(assert (not + (forall ((xs Lst) (in Elem) (A (Array Elem Bool))) + (=> (R xs A) (R (remove in xs) (store A in false)))))) diff --git a/bench_sim/set_singl_extra_1.smt2 b/bench_sim/set_singl_extra_1.smt2 new file mode 100644 index 000000000..45d0a9617 --- /dev/null +++ b/bench_sim/set_singl_extra_1.smt2 @@ -0,0 +1,15 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +(declare-fun R (Lst (Array Elem Bool)) Bool) + +(declare-fun C (Elem Lst) Bool) +(assert (forall ((x Elem)) (= (C x nil) false))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (C x (cons y xs)) (or (= x y) (C x xs))))) + +(assert (forall ((A (Array Elem Bool))) (= (R nil A) (forall ((a Elem)) (= false (select A a)))))) +(assert (forall ((xs Lst) (out Elem) (A (Array Elem Bool))) + (= (R (cons out xs) A) (and (select A out) (R xs (store A out false)))))) + +(assert (not (forall ((xs Lst) (A (Array Elem Bool)) (x Elem) (y Elem)) + (=> (and (R xs A) (C y xs)) (= A (store A y true)))))) diff --git a/bench_sim/set_singl_produce.smt2 b/bench_sim/set_singl_produce.smt2 new file mode 100644 index 000000000..a86750d3e --- /dev/null +++ b/bench_sim/set_singl_produce.smt2 @@ -0,0 +1,22 @@ +(declare-sort Elem) +(declare-datatypes () ((Lst (cons (head Elem) (tail Lst)) (nil)))) + +(declare-fun R (Lst (Array Elem Bool)) Bool) + +(declare-fun C (Elem Lst) Bool) +(assert (forall ((x Elem)) (= (C x nil) false))) +(assert (forall ((x Elem) (y Elem) (xs Lst)) (= (C x (cons y xs)) (or (= x y) (C x xs))))) + +(assert (forall ((A (Array Elem Bool))) (= (R nil A) (forall ((a Elem)) (= false (select A a)))))) +(assert (forall ((xs Lst) (out Elem) (A (Array Elem Bool))) + (= (R (cons out xs) A) (and (select A out) (R xs (store A out false)))))) + +; extra lemma +(assert (forall ((xs Lst) (A (Array Elem Bool)) (x Elem) (y Elem)) + (=> (and (R xs A) (C y xs)) (= A (store A y true))))) + +; producing op check: + +(assert (not + (forall ((xs Lst) (in Elem) (A (Array Elem Bool))) + (=> (R xs A) (R (ite (C in xs) xs (cons in xs)) (store A in true)))))) diff --git a/include/adt/ADTSolver.hpp b/include/adt/ADTSolver.hpp new file mode 100644 index 000000000..6ff8405f4 --- /dev/null +++ b/include/adt/ADTSolver.hpp @@ -0,0 +1,1837 @@ +#ifndef ADTSOLVER__HPP__ +#define ADTSOLVER__HPP__ +#include +#include + +#include "ae/AeValSolver.hpp" +#include "ae/SMTUtils.hpp" +#include "ufo/Smt/EZ3.hh" + +using namespace std; +using namespace boost; +namespace ufo +{ + class ADTSolver + { + private: + + Expr goal; + ExprVector& assumptions; + ExprVector& constructors; + + map baseConstructors; + map indConstructors; + + ExprFactory &efac; + SMTUtils u; + + ExprVector rewriteHistory; + vector rewriteSequence; + int maxDepth; + int maxGrow; + int mergingIts; + int earlySplit; + bool verbose; + int sp = 2; + int glob_ind = 0; + int lev = 0; + bool useZ3 = false; + unsigned to; + ExprVector blockedAssms; + int nestedLevel; + + public: + + ADTSolver(Expr _goal, ExprVector& _assumptions, ExprVector& _constructors, int _glob_ind = 0, int _lev = 0, int _maxDepth = 5, int _maxGrow = 3, int _mergingIts = 3, int _earlySplit = 1, bool _verbose = false, bool _useZ3 = true, unsigned _to = 1000, unsigned _l = 0) : + goal(_goal), assumptions(_assumptions), constructors(_constructors), glob_ind(_glob_ind), lev(_lev), efac(_goal->getFactory()), u(_goal->getFactory(), _to), maxDepth(_maxDepth), maxGrow(_maxGrow), mergingIts(_mergingIts), earlySplit(_earlySplit), verbose(_verbose), useZ3(_useZ3), to (_to), nestedLevel(_l) + { + // for convenience, rename assumptions (to have unique quantified variables) + renameAssumptions(); + } + + void renameAssumptions() + { + int c = 0; + ExprSet allVars; + filter(conjoin(assumptions, efac), bind::IsConst (), inserter(allVars, allVars.begin())); + + for (int i = 0; i < assumptions.size(); i++) + { + map vars; + getQVars(assumptions[i], vars); + ExprMap replFls; + for (auto & e : vars) + { + ExprMap repls; + for (int j = 0; j < e.first->arity() - 1; j++) + { + Expr v = bind::fapp(e.first->arg(j)); + Expr newVar; + while (true) + { + newVar = cloneVar(v, mkTerm ("_qv_" + to_string(++c), efac)); + if (find(allVars.begin(), allVars.end(), newVar) == allVars.end()) break; + } + repls[v->left()->left()] = newVar->left()->left(); + } + Expr newFla = replaceAll(e.first, replFls); + replFls[e.first] = replaceAll(newFla, repls); + } + assumptions[i] = replaceAll(assumptions[i], replFls); + } + } + + bool simplifyGoal() + { + Expr goalQF = goal->last(); + goalQF = liftITEs(goalQF); + goalQF = u.simplifyITE(goalQF); // TODO: more simplification passes + if (u.isEquiv(goalQF, mk(efac))) return true; + + ExprVector args; + for (int i = 0; i < goal->arity() - 1; i++) + { + if (contains(goal->last(), goal->arg(i))) args.push_back(goal->arg(i)); + } + if (args.size() == 0) goal = goalQF; + else + { + args.push_back(goalQF); + goal = mknary(args); + } + rewriteHistory.push_back(goal); + return false; + } + + bool findAssmOccurs(Expr goal, Expr e, Expr eq) + { + for (auto a : assumptions) + { + if (a == eq) continue; + if (contains(a, e)) return true; + } + return (contains(goal, e)); + } + + void eliminateEqualities(Expr& goal) + { + ExprMap allrepls; + for (auto it = assumptions.begin(); it != assumptions.end();) + { + Expr &a = *it; + if (isOpX(a)) + { + ExprMap repls; + if (findAssmOccurs(goal, a->left(), a) > 0 && a->left()->arity() == 1 + && !contains (a->right(), a->left())) + repls[a->left()] = a->right(); + else if (findAssmOccurs(goal, a->right(), a) > 0 && a->right()->arity() == 1 + && !contains (a->left(), a->right())) + repls[a->right()] = a->left(); + + if (repls.empty()) ++it; + else + { + it = assumptions.erase(it); + for (int i = 0; i < assumptions.size(); i++) + assumptions[i] = replaceAll(assumptions[i], repls); + goal = replaceAll(goal, repls); + } + } + else ++it; + } + } + + bool mergeAssumptions(int bnd = -1) + { + // simplify them first + int sz = assumptions.size(); + for (int i = 0; i < sz; i++) // TODO: add mores simplifications + { + Expr &a = assumptions[i]; + a = simplifyBool(a); + } + if (bnd == -1) bnd = mergingIts; // default val + for (int i = 0; i < bnd; i++) + { + ExprSet newAssms; + for (auto a : assumptions) + { + // todo: figure out why there could be NULLs + if (a == NULL) continue; + + if (isOpX(a)) + { + newAssms.insert(a); + continue; // GF: could be useful in principle + } + + if (!isOpX(a) && simplifyAssm(a, newAssms)) + { + return true; + } + if (isOpX(a)) + { + getConj(mkNeg(a->left()), newAssms); + } + else + { + newAssms.insert(a); + } + } + assumptions.clear(); + for (auto & a : newAssms) + { + // some blocking heurisitcs here (TODO: try to block them in early stages, i.e., don't even compute) + if (isOpX(a) && isOpX(a->left()) /*&& isOpX(a->right())*/) continue; + + if (find (blockedAssms.begin(), blockedAssms.end(), a) == blockedAssms.end()) + unique_push_back(a, assumptions); + } + } + return false; + } + + void splitAssumptions() + { + ExprSet newAssms; + for (auto & a : assumptions) + { + if (a != NULL) getConj(a, newAssms); + } + assumptions.clear(); + for (auto & a : newAssms) assumptions.push_back(a); + } + + bool simplifyAssm(Expr assm, ExprSet& newAssms) + { + for (auto a : assumptions) + { + if (a == assm || a == NULL) continue; + if (isOpX(assm) && !isOpX(a)) continue; + + ExprVector result; + if (useAssumption(assm, a, result, true)) { + for (auto & it : result) { + if (it == NULL) continue; + + Expr tmp = it; + if (!u.isTrue(tmp)) + { + if (u.isFalse(tmp)) + { + if (verbose) outs () << string(sp, ' ') + << "inconsistent assumptions: " << *assm << " and " << *a << "\n"; + return true; + } + + tmp = simplifyArithm(tmp); + ExprSet tmps; + getConj(simplifyBool(tmp), tmps); + getConj(simplifyBool(simplifyArr(tmp)), tmps); // duplicate for the case of arrays + for (auto & t : tmps) + { + if (find(assumptions.begin(), assumptions.end(), t) == assumptions.end()) + { + newAssms.insert(t); + } + } + } + } + } + } + return false; + } + + // main method to do rewriting + // TODO: separate the logic for fwd, otherwise the code gets messy + bool useAssumption(Expr subgoal, Expr assm, ExprVector& result, bool fwd = false) + { + if (isOpX(assm)) + { + ExprMap matching; + ExprVector args; + for (int i = 0; i < assm->arity() - 1; i++) args.push_back(bind::fapp(assm->arg(i))); + + Expr assmQF = assm->last(); + Expr repl = assmQF; + + bool isImpl = false; + if (isOpX(assmQF)) + { + if (fwd) assmQF = assmQF->left(); + else assmQF = assmQF->right(); + isImpl = true; + } + + if (isOpX(assmQF)) + { + int res = -1; + if (fwd) + { + if (findMatching (assmQF->left(), subgoal, args, matching)) + { + res = 1; + } + else + { + matching.clear(); + if (findMatching (mkNeg(assmQF->left()), subgoal, args, matching)) + { + res = 2; + } + } + if (res > 0) + { + repl = replaceAll(assmQF->arg(res), matching); + + // sanity removal + for (auto it = args.begin(); it != args.end();) + { + if (contains (repl, *it)) ++it; + else it = args.erase(it); + } + + if (!args.empty()) + { + repl = createQuantifiedFormulaRestr(repl, args); + } + + result.push_back(repl); + return true; + } + } + else + { + // !fwd + + if (findMatching (assmQF->right(), subgoal, args, matching)) + { + res = 1; + } + else + { + matching.clear(); + if (findMatching (assmQF->last(), subgoal, args, matching)) + { + res = 2; + } + } + if (res > 0) + { + if (res == 1) repl = assmQF->left(); + else repl = mkNeg(assmQF->left()); + repl = replaceAll(repl, matching); + + ExprSet vars; + filter(assmQF->left(), bind::IsConst (), inserter(vars, vars.begin())); + + for (auto it = args.begin(); it != args.end();) + { + if (find(vars.begin(), vars.end(), *it) != vars.end()) + { + it = args.erase(it); + } + else + { + ++it; + } + } + if (!args.empty()) repl = createQuantifiedFormulaRestr(repl, args, false); + + result.push_back(repl); + return true; + } + } + } + + std::set matchingSet; + // we first search for a matching of the entire assumption (usually some inequality) + if (findMatchingSubexpr (assmQF, subgoal, args, matchingSet)) + { + for (auto matching : matchingSet) { + Expr auxRepl = repl; + auxRepl = replaceAll(auxRepl, matching); + Expr replaced; + if (isImpl) + { + if (fwd) // used in simplifyAssm + { + if (!isOpX(subgoal) && u.implies(subgoal, auxRepl->left())) + { + ExprSet vars; + filter (assmQF, bind::IsConst (), inserter(vars, vars.begin())); + for (auto it = args.begin(); it != args.end();) + { + bool found = false; + if (find(vars.begin(), vars.end(), *it) != vars.end()) + { + found = true; + it = args.erase(it); + } + if (!found) + { + ++it; + } + } + + // sanity removal + for (auto it = args.begin(); it != args.end();) + { + if (contains (auxRepl->right(), *it)) ++it; + else it = args.erase(it); + } + + if (args.empty()) + { + replaced = auxRepl->right(); + } + else + { + replaced = createQuantifiedFormulaRestr(auxRepl->right(), args); + } + } + } + else + { + ExprSet vars; + filter(assmQF, bind::IsConst (), inserter(vars, vars.begin())); + replaced = replaceAll(subgoal, auxRepl->right(), auxRepl->left()); + + for (auto it = args.begin(); it != args.end();) + { + if (find(vars.begin(), vars.end(), *it) != vars.end()) + { + it = args.erase(it); + } + else + { + ++it; + } + } + if (!args.empty()) + replaced = createQuantifiedFormulaRestr(replaced, args, false); + } + } + else + { + replaced = replaceAll(subgoal, auxRepl, mk(efac)); + } + + if (subgoal != replaced) + { + result.push_back(replaced); + return true; + } + } + } + + if (isImpl) return false; + + if (isOpX(assmQF)) + { + matchingSet.clear(); + // if the assumption is equality, the we search for a matching of its LHS + // (we can try matching the RHS as well, but it will likely give us infinite loops) + if (findMatchingSubexpr (assmQF->left(), subgoal, args, matchingSet)) + { + for (auto matching : matchingSet) { + Expr auxRepl = repl; + auxRepl = replaceAll(auxRepl, matching); + result.push_back(replaceAll(subgoal, auxRepl->left(), auxRepl->right())); + } + return true; + } + // try vice versa (dangerous since it will introduce repeated rewriting) + // matchingSet.clear(); + // if (!fwd && findMatchingSubexpr (assmQF->right(), subgoal, args, matchingSet)) + // { + // for (auto matching : matchingSet) { + // Expr auxRepl = repl; + // auxRepl = replaceAll(auxRepl, matching); + // result.push_back(replaceAll(subgoal, auxRepl->right(), auxRepl->left())); + // } + // return true; + // } + } + + if (isOp(assmQF) && isOp(subgoal)) + { + Expr assmQFtmp = assmQF; + Expr subgoalTmp = subgoal; + assmQF = normalizeArithm(assmQF); + subgoal = normalizeArithm(subgoal); + + if (findMatching (assmQF->left(), subgoal->left(), args, matching)) + { + repl = replaceAll(assmQF, matching); + if (fwd && !u.isSat(repl, subgoal)) + { + result.push_back(mk(efac)); + return true; + } + if (fwd) + { + if (((isOpX(repl) && isOpX(subgoal)) || (isOpX(repl) && isOpX(subgoal))) && + (repl->left() == subgoal->left()) && (repl->right() == subgoal->right())) + { + result.push_back(mk(repl->left(), subgoal->right())); + return true; + } + } + if (!fwd && u.implies(repl, subgoal)) + { + result.push_back(mk(efac)); + return true; + } + } + matching.clear(); + assmQF = assmQFtmp; + subgoal = subgoalTmp; + } + + if (isOpX(subgoal)) + { + matchingSet.clear(); + if (findMatchingSubexpr (assmQF, subgoal->left(), args, matchingSet)) + { + for (auto matching : matchingSet) { + Expr auxRepl = repl; + for (auto & a : matching) auxRepl = replaceAll(auxRepl, a.first, a.second); + if (u.implies(auxRepl, subgoal->left())) result.push_back(subgoal->right()); + else if (u.implies(auxRepl, mkNeg(subgoal->left()))) result.push_back(subgoal->last()); + } + return (result.size() > 0); + } + } + + // try finding inconsistencies + if (fwd && !containsOp(assmQF)) + { + std::set matchingSet1; + ExprVector args1; + filter(subgoal, bind::IsConst (), inserter(args1, args1.begin())); + if (findMatchingSubexpr (subgoal, assmQF, args1, matchingSet1)) + { + for (auto matching1 : matchingSet1) { + Expr auxRepl = assmQF; + for (auto & m : matching1){ + auto it = find(args.begin(), args.end(), m.second); + if (it != args.end()) + { + auxRepl = replaceAll(auxRepl, m.second, m.first); + args.erase(it); + } + else + { + if (m.second != m.first) break; + } + } + if (args.empty()) + { + if (!u.isSat(subgoal, auxRepl)) result.push_back(mk(efac)); + else result.push_back(auxRepl); + return true; + } + } + } + } + } + else + { + // for a quantifier-free assumption (e.g., inductive hypotheses), + // we create an SMT query and check with Z3 + // TODO: we can do so for ALL constistent quantifier-free assumptions at once + + if (isOpX(assm)) // simple (SMT-free) checks first + { + Expr res = replaceAll(subgoal, assm->left(), assm->right()); + if (res != subgoal) + { + result.push_back(res); + return true; + } + } + + if (!fwd && u.implies(assm, subgoal)) + { + result.push_back(mk(efac)); + return true; + } + if (fwd && !u.isSat(assm, subgoal)) { + result.push_back(mk(efac)); + return true; + } + + if (!fwd && isOp(subgoal) && isOp(assm) && + isNumeric(subgoal->left()) && isNumeric(assm->left())) + { + Expr tryAbd = abduce(subgoal, assm); + if (tryAbd != NULL) + { + result.push_back(tryAbd); + return true; + } + } + + // TODO: proper matching + if (isOpX(subgoal)) + { + if (u.implies(subgoal->left(), assm)) + { + result.push_back(subgoal->right()); + return true; + } + } + if (isOpX(subgoal)) + { + if (u.implies(assm, subgoal->left())) + { + result.push_back(subgoal->right()); + return true; + } + if (u.implies(assm, mk(subgoal->left()))) + { + result.push_back(subgoal->last()); + return true; + } + } + + if (isOpX(assm) && fwd) + { + ExprSet dsjs; + getDisj(assm, dsjs); + bool rem = false; + for (auto it = dsjs.begin(); it != dsjs.end();) + { + if (!u.isSat(*it, subgoal)) + { + rem = true; + it = dsjs.erase(it); + } + else ++it; + } + if (rem) + { + Expr res = disjoin(dsjs, efac); + result.push_back(res); + return true; + } + } + if (isOp(assm)) + { + Expr res = replaceAll(subgoal, assm, mk(efac)); + res = replaceAll(res, mkNeg(assm), mk(efac)); + Expr tmp = reBuildCmpSym(assm, assm->left(), assm->right()); + assert((bool)u.isEquiv(assm, tmp)); + res = replaceAll(res, tmp, mk(efac)); + res = replaceAll(res, mkNeg(tmp), mk(efac)); + if (res != subgoal) + { + result.push_back(simplifyBool(res)); + return true; + } + } + + ExprSet stores; + ExprSet selects; + getStores(subgoal, stores); + getSelects(subgoal, selects); + + if (stores.size() > 0) + { + if (isOpX(assm) && contains(subgoal, assm->left()) && contains(subgoal, assm->right())) + { + for (auto & a : stores) + { + if (isOpX(a->left()) && + ((a->right() == assm->right() && a->left()->right() == assm->left()) || + (a->right() == assm->left() && a->left()->right() == assm->right()))) + { + ExprMap substs; + substs[assm->right()] = assm->left(); + substs[assm->left()] = assm->right(); + Expr tmp = replaceAll(a, substs, false); + + if (u.implies(assm, mk(tmp, a))) + { + result.push_back(replaceAll(subgoal, a, tmp)); // very specific heuristic; works for multisets + return true; + } + + if (a->last() != a->left()->last()) + { + substs[a->last()] = a->left()->last(); + substs[a->left()->last()] = a->last(); + } + result.push_back(replaceAll(subgoal, a, replaceAll(a, substs, false))); + return true; + } + } + for (auto & a : selects) + { + if (isOpX(a->left()) && !isOpX(a->left()->left()) && + ((a->right() == assm->right() && a->left()->right() == assm->left()) || + (a->right() == assm->left() && a->left()->right() == assm->right()))) + { + result.push_back(replaceAll(subgoal, a, mk(assm)) + { + + for (auto & a : stores) + { + if (assm->left() == a->left() && + assm->right() == a->right() && + isOpX(a->last())) + { + result.push_back(replaceAll(subgoal, a, a->left())); + return true; + } + } + } + + if (isOpX(assm) && isOpX(*it)) // super big hack + qFreeAssms.insert(*it); + + it = assumptions.erase(it); + } + else ++it; + } + + if (verbose) outs () << "\nProving by induction\n"; + goal = createQuantifiedFormula(mk(conjoin(qFreeAssms, efac), goal), constructors); + if (isOpX(goal)) return solve(); + else return false; + } + + bool solve() + { + unfoldGoal(); + rewriteHistory.push_back(goal); + for (int i = 0; i < 5; i++) + { + if (simplifyGoal()) + { + if (verbose) outs () << "Trivially Proved\n"; + return true; + } + } + + // simple heuristic: if the result of every rewriting made the goal larger, we rollback + bool toRollback = true; + for (int i = 1; i < rewriteHistory.size(); i++) + toRollback = toRollback && + (treeSize(rewriteHistory[i-1]) < treeSize(rewriteHistory[i])); + + if (toRollback) goal = rewriteHistory[0]; + + if (verbose) outs () << "Simplified goal: " << *goal << "\n\n"; + + for (int i = 0; i < goal->arity() - 1; i++) + { + Expr type = goal->arg(i)->last(); + if (baseConstructors[type] != NULL && indConstructors[type] != NULL) + { + if (induction(i)) + { + if (verbose) outs () << "\nProved\n"; + return true; + } + } + } + bool res = simpleSMTcheck(goal); + if (verbose) + { + if (res) outs () << "Proved (with Z3)\n"; + else outs () << "Unknown\n"; + } + return res; + } + + bool simpleSMTcheck(Expr goal) + { + if (!useZ3) return false; + return (bool)u.implies(conjoin(assumptions, efac), goal); + } + }; + + void adtSolve(EZ3& z3, Expr s, int maxDepth, + int maxGrow, int mergingIts, int earlySplit, bool verbose, int useZ3, int to) + { + ExprVector constructors; + for (auto & a : z3.getAdtConstructors()) constructors.push_back(regularizeQF(a)); + + ExprVector assumptions; + Expr goal; + + ExprSet cnjs; + getConj(s, cnjs); + for (auto & c : cnjs) + { + if (isOpX(c)) + { + if (goal != NULL) assert (0 && "cannot identify goal (two asserts with negged formulas)"); + goal = regularizeQF(c->left()); + } + else + { + assumptions.push_back(regularizeQF(c)); + } + } + + if (goal == NULL) + { + outs () << "Unable to parse the query\n"; + return; + } + + ADTSolver sol (goal, assumptions, constructors, 0, 0, maxDepth, maxGrow, mergingIts, earlySplit, verbose, useZ3, to); + bool res = isOpX(goal) ? sol.solve() : sol.solveNoind(); + outs () << (res ? "unsat\n" : "sat\n"); + } +} + +#endif diff --git a/include/adt/CHCSolver.hpp b/include/adt/CHCSolver.hpp new file mode 100644 index 000000000..649cb65d7 --- /dev/null +++ b/include/adt/CHCSolver.hpp @@ -0,0 +1,619 @@ +#ifndef CHCSOLVER__HPP__ +#define CHCSOLVER__HPP__ + +#include "deep/HornNonlin.hpp" +#include "ADTSolver.hpp" +#include "SimSynt.hpp" +#include + +using namespace std; +using namespace boost; +namespace ufo +{ + class CHCSolver { + private: + ExprFactory &efac; + ExprSet &adts; + + // Keep the current return values + std::map values_inds; + ExprVector &constructors; + ExprVector &accessors; + ExprVector &assumptions; + + ExprSet &decls; + ExprVector ordered_decls; + vector &chcs; + int number_decls; + bool givePriority = false; + bool ignoreBaseVar = false; + + map baseConstructors; + map indConstructors; + + map baseDefinitions; + map indDefinitions; + map interpretations; + + public: + CHCSolver(ExprVector& _constructors, ExprVector& _accessors, ExprSet& _adts, ExprFactory &_efac, ExprSet &_decls, ExprVector &_assms, vector &_chcs, bool _nonadtPriority = false, bool _ignoreBase = false) : + constructors(_constructors), accessors(_accessors), adts(_adts), efac(_efac), decls(_decls), assumptions(_assms), chcs(_chcs), givePriority(_nonadtPriority), ignoreBaseVar(_ignoreBase) {} + + Expr createNewApp(HornRuleExt chc, int i, int ind) { + ExprVector types; + ExprVector newVars; + for(int j = 0; j < chc.srcRelations[i]->arity() - 2; ++j) { + if (j != ind) { + Expr e = chc.srcRelations[i]->arg(j); + types.push_back(bind::typeOf(chc.srcVars[i][j])); + newVars.push_back(chc.srcVars[i][j]); + } + } + types.push_back(bind::typeOf(chc.srcVars[i][ind])); + Expr rel = bind::fdecl (efac.mkTerm(chc.srcRelations[i]->left()->op()), types); + Expr app = bind::fapp (rel, newVars); + return app; + } + + void replaceDeclsInLeftPart(HornRuleExt chc, ExprVector & cnj) { + for (int i = 0; i < chc.srcRelations.size(); i++) { + if (decls.find(chc.srcRelations[i]) != decls.end()) { + // as we don't allow mutual recursion and decls are sorted, + // we suppose that srcRelations doesn't contain predicates with unknown definition + // TODO: should check the assumption above + int ind = values_inds[chc.srcRelations[i]->left()]; + Expr app = createNewApp(chc, i, ind); + Expr def = mk(app, chc.srcVars[i][ind]); + cnj.push_back(def); + } + else { + Expr tmp = bind::fapp (chc.srcRelations[i], chc.srcVars[i]); + cnj.push_back(tmp); + } + } + } + + bool findMatchingFromElement(HornRuleExt chc, Expr elem, ExprMap &matching) { + if (!chc.isQuery) { + if (elem->left()->arity() == 1 + && std::find(chc.dstVars.begin(), chc.dstVars.end(), elem->left()) != chc.dstVars.end()) { + matching[elem->left()] = elem->right(); + return true; + } + else if (elem->right()->arity() == 1 + && std::find(chc.dstVars.begin(), chc.dstVars.end(), elem->right()) != chc.dstVars.end()) { + matching[elem->right()] = elem->left(); + return true; + } + for (auto & v : chc.dstVars) { + Expr ineq = ineqSimplifier(v, elem); + if (ineq->left() == v) { + matching[ineq->left()] = ineq->right(); + return true; + } + } + } + // TODO: HERE I NEED TO CHECK IF WHAT I HAVE ON THE RIGHT IS AN ACCESSOR + if ((elem->right()->arity() == 2) && isAccessor(bind::fname(elem->right()))) { + matching[elem->right()] = elem->left(); + return true; + } + + else if ((elem->left()->arity() == 2) && isAccessor(bind::fname(elem->left()))) { + matching[elem->left()] = elem->right(); + return true; + } + // TODO: HERE I CAN CHECK IF ACCESSOR, AND THEN DO THE REVERSE MATCHING, SO HEAD(SMTH) -> X, NOT X -> HEAD(SMTH) + if ((elem->left()->arity() == 1) && !(isConstructor(bind::fname(elem->left())))) { + matching[elem->left()] = elem->right(); + return true; + } + else if ((elem->right()->arity() == 1) && !(isConstructor(bind::fname(elem->right())))) { + matching[elem->right()] = elem->left(); + return true; + } + return false; + } + + bool findMatchingFromRule(HornRuleExt chc, ExprMap &matching, Expr rule) { + if (isOpX(rule)) { + rule = rule->left(); + } + if (isOpX(rule)) { + for(int j = 0; j < rule->arity(); ++j) { + Expr elem = rule->arg(j); + if (isOpX(elem) && findMatchingFromElement(chc, elem, matching)) { + return true; + } + } + } + else { + if (isOpX(rule) && findMatchingFromElement(chc, rule, matching)) { + return true; + } + } + return false; + } + + bool isConstructor(Expr elem) { + return std::find(constructors.begin(), constructors.end(), elem) != constructors.end(); + } + + + bool isAccessor(Expr elem) { + return std::find(accessors.begin(), accessors.end(), fname(elem)) != accessors.end(); + } + + Expr createDestination(HornRuleExt chc) { + int ind = values_inds[chc.dstRelation->left()]; + ExprVector types; + ExprVector newVars; + for(int j = 0; j < chc.dstRelation->arity() - 2; ++j) { + if (j != ind) { + types.push_back(bind::typeOf(chc.dstVars[j])); + newVars.push_back(chc.dstVars[j]); + } + } + types.push_back(bind::typeOf(chc.dstVars[ind])); + Expr rel = bind::fdecl (efac.mkTerm(chc.dstRelation->left()->op()), types); + Expr baseApp = bind::fapp (rel, newVars); + Expr destination = mk(baseApp, chc.dstVars[ind]); + return destination; + } + + Expr convertToFunction(HornRuleExt chc) { + ExprVector cnj; + ExprMap matching; + Expr destination = bind::fapp (chc.dstRelation, chc.dstVars); + if (decls.find(chc.dstRelation) != decls.end()) { + destination = createDestination(chc); + interpretations[chc.dstRelation] = destination; + } + replaceDeclsInLeftPart(chc, cnj); + cnj.push_back(chc.body); + Expr asmpt = mk(conjoin(cnj, efac), destination); + while (!isOpX(asmpt) && findMatchingFromRule(chc, matching, asmpt)) { + asmpt = replaceAll(asmpt, matching); + asmpt = simplifyBool(asmpt); + matching.clear(); + } + asmpt = simplifyArithm(asmpt); + if (asmpt->arity() > 0) { + asmpt = createQuantifiedFormula(asmpt, constructors); + } + return asmpt; + } + + bool createAndCheckDefinition(Expr &decl) { + ExprVector current_assumptions = assumptions; + for (auto & chc : chcs) { + if (chc.dstRelation == decl && chc.isFact) { + for (int i = 0; i < chc.dstVars.size(); ++i) { + // inductive variable should be an adt + if (adts.find(bind::typeOf(chc.dstVars[i])) != adts.end()) { + Expr baseConstructor = baseConstructors[bind::typeOf(chc.dstVars[i])]; + int baseConstructorArity = baseConstructor->arity() - 1; + for(int j = 0; j < chc.body->arity(); ++j) { + Expr body_elem = chc.body->arg(j); + if (isOpX(body_elem)) { + if ((body_elem->left() == chc.dstVars[i] && body_elem->right()->arity() == baseConstructorArity) || + (body_elem->right() == chc.dstVars[i] && body_elem->left()->arity() == baseConstructorArity)) { + + Expr base_asmpt = convertToFunction(chc); + baseDefinitions[decl] = base_asmpt; + + Expr indConstructor = indConstructors[bind::typeOf(chc.dstVars[i])]; + if (indConstructor == NULL) { + assumptions.push_back(base_asmpt); + return true; + } + int indConstructorArity = indConstructor->arity() - 1; + ExprVector lemmas; + + // we should check that this variable is inductive in inductive rule + for (auto & ind_chc : chcs) { + if (ind_chc.dstRelation == decl && !ind_chc.isFact) { + for (int k = 0; k < ind_chc.srcRelations.size(); ++k) { + if (ind_chc.srcRelations[k] == decl) { + Expr elem = ind_chc.body; + bool shouldBeChecked = false; + if (isOpX(elem)) { + if ((elem->left() == ind_chc.dstVars[i] && elem->right()->arity() == indConstructorArity) || + (elem->right() == ind_chc.dstVars[i] && elem->left()->arity() == indConstructorArity)) { + shouldBeChecked = true; + } + } + else { + for(int m = 0; m < ind_chc.body->arity(); ++m) { + Expr ind_body_elem = ind_chc.body->arg(m); + if (isOpX(ind_body_elem)) { + // TODO: add comparison of src vars with conctructor + if ((ind_body_elem->left() == ind_chc.dstVars[i] && ind_body_elem->right()->arity() == indConstructorArity) || + (ind_body_elem->right() == ind_chc.dstVars[i] && ind_body_elem->left()->arity() == indConstructorArity)) { + shouldBeChecked = true; + } + } + } + } + if (shouldBeChecked) { + Expr ind_asmpt = convertToFunction(ind_chc); + indDefinitions[decl] = ind_asmpt; + bool foundRecursiveDefinition = true; + // We should check that for all rules (including non-definitive) this definition is correct + for (auto & rule : chcs) { + if (rule.dstRelation == decl) { + Expr goal = convertToFunction(rule); + current_assumptions.clear(); + current_assumptions = assumptions; + current_assumptions.push_back(baseDefinitions[decl]); + current_assumptions.push_back(indDefinitions[decl]); + if (!prove (current_assumptions, goal)) { + foundRecursiveDefinition = false; + break; + } + else { + lemmas.push_back(goal); + } + } + } + if (foundRecursiveDefinition == true) { + for (auto & lemma : lemmas) { + assumptions.push_back(lemma); + } + return true; + } + } + } + } + } + } + } + } + } + } + } + } + } + return false; + } + + bool createAndCheckInterpretations() { + // creating assumptions + for (auto & decl : ordered_decls) { + createAndCheckDefinition(decl); + } + + // creating goals for ADT-ind from CHC-queries + for (auto & chc : chcs) { + if (chc.isQuery) { + Expr destination; + ExprVector cnj; + ExprMap matching; + if (chc.body->arity() > 1) { + for(int j = 0; j < chc.body->arity(); ++j) { + Expr body_elem = chc.body->arg(j); + if (isOpX(body_elem)) { + destination = mkNeg(body_elem); + } + else { + cnj.push_back(body_elem); + } + } + } + else { + destination = mkNeg(chc.body); + } + if (decls.find(destination->left()) != decls.end()) { + int ind = values_inds[destination->left()->left()]; + ExprVector types; + ExprVector newVars; + for(int j = 1; j < destination->arity(); ++j) { + if (j - 1 != ind) { + types.push_back(bind::typeOf(destination->arg(j))); + newVars.push_back(destination->arg(j)); + } + } + types.push_back(bind::typeOf(destination->arg(ind + 1))); + Expr rel = bind::fdecl (efac.mkTerm(destination->left()->left()->op()), types); + Expr baseApp = bind::fapp (rel, newVars); + destination = mk(baseApp, destination->arg(ind + 1)); + } + + replaceDeclsInLeftPart(chc, cnj); + Expr goal = mk(conjoin(cnj, efac), destination); + while (!isOpX(goal) && findMatchingFromRule(chc, matching, goal)) { + goal = replaceAll(goal, matching); + goal = simplifyBool(goal); + matching.clear(); + } + ExprVector current_assumptions = assumptions; + goal = createQuantifiedFormula(goal, constructors); + // Check if the goal may be proved in current interpretations + if (!prove (current_assumptions, goal)) { + return false; + } + else { + assumptions.push_back(goal); + } + } + } + for (auto & decl : ordered_decls) { + outs() << interpretations[decl] << "\n"; + outs() << baseDefinitions[decl] << "\n"; + outs() << indDefinitions[decl] << "\n"; + } + return true; + } + + int baseVar(Expr &decl) { + for (auto & chc : chcs) { + if (chc.dstRelation == decl) { + for (int i = 0; i < chc.dstVars.size(); ++i) { + if (adts.find(bind::typeOf(chc.dstVars[i])) != adts.end()) { + for(int j = 0; j < chc.body->arity(); ++j) { + Expr body_elem = chc.body->arg(j); + if (isOpX(body_elem)) { + if ((body_elem->left() == chc.dstVars[i] && body_elem->right()->arity() == 1) || + (body_elem->right() == chc.dstVars[i] && body_elem->left()->arity() == 1)) { + return i; + } + } + } + } + } + } + } + return -1; + } + + // result is written to ordered_decls + // cur_decls is used to find the mutual recursion + bool orderDecls(Expr decl, ExprSet &cur_decls) { + // Already contains this decl + if (std::find(ordered_decls.begin(), ordered_decls.end(), decl) != ordered_decls.end()) + return true; + cur_decls.insert(decl); + for (auto & chc : chcs) { + if (chc.dstRelation == decl && !chc.isFact) { + for (int i = 0; i < chc.srcRelations.size(); i++) { + // if the src symbol is already in ordered_decls do nothing + if (chc.srcRelations[i] != decl && std::find(ordered_decls.begin(), ordered_decls.end(), chc.srcRelations[i]) == ordered_decls.end()) { + // there is a mutual recursion, for now we cannot handle this + if (cur_decls.find(chc.srcRelations[i]) != cur_decls.end()) { + outs () << "could not order predicates -- mutual recursion is not supported\n"; + return false; + } + else { + // current predicate depends on another, so we need to push this another predicate earlier + orderDecls(chc.srcRelations[i], cur_decls); + } + } + } + } + } + ordered_decls.push_back(decl); + return true; + } + + // Get indexes in right order and remove the base index + void excludeBaseVar(Expr& decl, std::vector &idxs) { + int bv = baseVar(decl); + idxs.erase(idxs.begin() + bv); + } + + void givePriorityNonAdt(Expr& decl, std::vector &idxs) { + std::vector new_idxs; + bool nonadtExists = false; + for (auto & chc : chcs) { + if (chc.dstRelation == decl) { + for (int i = 0; i < idxs.size(); ++i) { + bool is_adt = false; + for (auto & adt : adts) { + if ((*chc.dstRelation)[idxs[i]] == adt) { + is_adt = true; + break; + } + } + if (!is_adt) { + nonadtExists = true; + new_idxs.push_back(idxs[i]); + } + } + if (nonadtExists) { + for (int i = 0; i < idxs.size(); ++i) { + for (auto & adt : adts) { + if ((*chc.dstRelation)[idxs[i]] == adt) { + new_idxs.push_back(idxs[i]); + break; + } + } + } + idxs = new_idxs; + } + break; + } + } + } + + void setConstructors() { + for (auto & a : constructors) { + Expr type = a->last(); + bool ind = false; + for (int i = 0; i < a->arity() - 1; i++) + { + if (a->last() == a->arg(i)) + { + ind = true; + if (indConstructors[type] != NULL && indConstructors[type] != a) + { + outs () << "Several inductive constructors are not supported\n"; + exit(1); + } + indConstructors[type] = a; + } + } + if (!ind) + { + if (baseConstructors[type] != NULL && baseConstructors[type] != a) + { + outs () << "Several base constructors are not supported\n"; + exit(1); + } + baseConstructors[type] = a; + } + } + } + + bool findInterpretations(int idx, std::map &buf) { + if (idx >= ordered_decls.size()) { + values_inds = buf; + assumptions.clear(); + return createAndCheckInterpretations(); + } + // Get the possible version of return variables + Expr cur = ordered_decls[idx]; + for (auto & chc : chcs) { + if (chc.dstRelation == cur) { + size_t vars_size = chc.dstRelation->arity(); + std::vector idxs; + for (int i = 0; i < vars_size - 2; ++i) { + idxs.push_back(i); + } + // add functions for filter variables here + if (ignoreBaseVar) excludeBaseVar(cur, idxs); + if (givePriority) givePriorityNonAdt(cur, idxs); + for (int i = idxs.size() - 1; i >= 0; --i) { + buf[chc.dstRelation->left()] = idxs[i]; + if (findInterpretations(idx + 1, buf)) + return true; + } + break; + } + } + return false; + } + + bool solve() { + // Order current uninterpreted predicate symbols + for (auto & decl: decls) { + ExprSet cur_decls; + if (!orderDecls(decl, cur_decls)) + return false; + } + setConstructors(); + std::map buf; + return findInterpretations(0, buf); + } + + bool solveArr(){ + Expr decl = NULL; + for (auto & d : decls){ + if (containsOp(d)){ + if (decl == NULL) decl = d; + else return false; + } + } + Expr base; + ExprVector opsAdt, opsArr; + set visited; + ExprMap varVersions; + + ExprSet adts; + for (auto & c : constructors) adts.insert(c->last()); + + while (visited.size() != chcs.size()){ + for (int i = 0; i < chcs.size(); i++){ + if (find(visited.begin(), visited.end(), i) != visited.end()) continue; + auto &hr = chcs[i]; + + if (hr.isInductive && varVersions.empty()) + for (int j = 0; j < hr.srcVars[0].size(); j++) + varVersions[hr.srcVars[0][j]] = hr.dstVars[j]; + + if (hr.isFact && varVersions.empty()) continue; + + ExprSet tmp, tmpAdt, tmpArr; + getConj(hr.body, tmp); + for (auto & a : tmp){ + bool adt = false; + for (auto & c : adts) + if (contains(a, c)) { + tmpAdt.insert(a); + adt = true; + break; + } + if (!adt) tmpArr.insert(a); + } + assert (!tmpAdt.empty()); + + if (hr.isFact && !varVersions.empty()){ + base = replaceAllRev(conjoin(tmpArr, efac), varVersions); + } else { + opsAdt.push_back(conjoin(tmpAdt, efac)); + opsArr.push_back(conjoin(tmpArr, efac)); + } + visited.insert(i); + } + } + + // getting a candidate + SimSynt sim (efac, opsAdt, opsArr, varVersions, constructors, decl, assumptions, base); + sim.proc(); + + // proving + for (int i = 0; i < chcs.size(); i++){ + if (!checkCHC(chcs[i])) return false; + } + sim.printSol(); + return true; + } + + bool checkCHC(HornRuleExt& hr, bool print = false) { + ExprVector assms = assumptions; + Expr goal = hr.isQuery ? mk(efac) : bind::fapp (hr.dstRelation, hr.dstVars); + for (int i = 0; i < hr.srcRelations.size(); i++){ + assms.push_back(bind::fapp (hr.srcRelations[i], hr.srcVars[i])); + } + assms.push_back(hr.body); + return prove (assms, goal, 2, print); + } + + bool prove (ExprVector& lemmas, Expr fla, int rounds = 2, bool print = false) + { + ADTSolver sol (fla, lemmas, constructors); // last false is for verbosity + return isOpX(fla) ? sol.solve() : sol.solveNoind(rounds); + } + }; + + void chcSolve(char * smt_file, bool givePriorityNonAdt, bool ignoreBaseVar) + { + ExprFactory efac; + EZ3 z3(efac); + CHCs ruleManager(efac, z3); + ExprSet adts; + ruleManager.parse(smt_file); + // ruleManager.print(); + + ExprVector constructors; + ExprVector accessors; + + ExprSet& decls = ruleManager.decls; + + for (auto & a : z3.getAdtConstructors()) { + constructors.push_back(regularizeQF(a)); + adts.insert(a->last()); + } + + for (auto & a : z3.getAdtAccessors()) { + accessors.push_back(regularizeQF(a)); + adts.insert(a->last()); + } + + CHCSolver sol (constructors, accessors, adts, efac, decls, ruleManager.extras, ruleManager.chcs, + givePriorityNonAdt, ignoreBaseVar); + bool res = containsOp(conjoin(decls, efac)) ? sol.solveArr() : sol.solve(); + outs () << (res ? "sat\n" : "unknown\n"); + } +} + +#endif diff --git a/include/adt/SimSynt.hpp b/include/adt/SimSynt.hpp new file mode 100644 index 000000000..69af5f4d5 --- /dev/null +++ b/include/adt/SimSynt.hpp @@ -0,0 +1,697 @@ +#ifndef SIMSYNT__HPP__ +#define SIMSYNT__HPP__ + +#include "adt/ADTSolver.hpp" + +using namespace std; +using namespace boost; +namespace ufo +{ + class SimSynt + { + private: + + ExprFactory &efac; + SMTUtils u; + ExprVector &opsAdt; + ExprVector &opsArr; + ExprVector& constructors; + ExprVector &assumptions; + Expr adtType; + Expr baseCon; + Expr indCon; + int indConIndex = -1; + ExprMap& varVersions; + Expr baseFormula; + int stateProducingOp = -1; + int stateConsumingOp = -1; + int stateNoOp = -1; + int arrVarInd = -1; + int indexVarInd = -1; + int adtVarInd = -1; + ExprVector nonstateVars; + ExprSet extras; // aux + Expr nestedRel; + ExprVector extraLemmas; + ExprVector types; + ExprVector vars; + ExprVector varsPrime; + ExprVector argsBase; + ExprVector argsInd; + Expr indexVar; + Expr rel; + map arrayContent; + Expr accessTerm; + Expr baseRule; + Expr indRule; + + public: + + SimSynt(ExprFactory& _efac, ExprVector& _ops1, ExprVector& _ops2, ExprMap& _v, + ExprVector& _c, Expr _r, ExprVector& _l, Expr _b) : + efac(_efac), u(_efac), opsAdt(_ops1), opsArr(_ops2), varVersions(_v), + constructors(_c), rel(_r), assumptions(_l), baseFormula(_b){} + + bool isBaseConstructor(Expr c, Expr type) + { + return (c->last() == type && c->arity() == 2); + } + + bool isIndConstructor(Expr c, Expr type) + { + if (c->last() != type) return false; + for (int j = 0; j < c->arity() - 1; j++) + if (c->last() == c->arg(j)) return true; + + return false; + } + + void checkConstructor(int i) + { + ExprSet allConstrs; + filter(opsAdt[i], bind::IsFApp (), inserter(allConstrs, allConstrs.begin())); + for (auto rit = allConstrs.rbegin(); rit != allConstrs.rend(); ++rit) + { + Expr capp = *rit; + for (auto & c : constructors) + { + if (capp->left() == c) + { + if (isIndConstructor(c, bind::typeOf(capp))) + { + // first comes first serve here (to be generalized) + if (indCon == NULL) + { + indCon = capp; + indConIndex = i; + } + bool found = false; + for (auto & v : varVersions) + found |= contains(capp, v.second); + + if (!found) + { + stateProducingOp = i; // TODO: check if several + } + else + { + stateConsumingOp = i; + } + return; + } + } + } + } + } + + int findStateConsumingOpInAssms() + { + for (int i = 0; i < opsAdt.size(); i++) + { + if (i == stateProducingOp) continue; + + ExprSet allConstrs; + filter(opsAdt[i], bind::IsFApp (), inserter(allConstrs, allConstrs.begin())); + + for (auto & a : allConstrs) + if (a->arity() > 1 && adtType == bind::typeOf(a)) + for (auto & l : assumptions) + { + // very specific test: search for a lemma of the following shape + // \forall x a(f(x)) = baseConstructor + if (isOpX(l) && isOpX(l->last()) && + isOpX(l->last()->left()) && contains(l->last()->left(), a->left()) && + isOpX(l->last()->right()) && + isBaseConstructor(l->last()->right()->left(), adtType)) + return i; + } + + } + return -1; + } + + int findStateProducingOpInAssms() + { + for (int i = 0; i < opsAdt.size(); i++) + { + if (i == stateConsumingOp) continue; + + ExprSet allConstrs; + filter(opsAdt[i], bind::IsFApp (), inserter(allConstrs, allConstrs.begin())); + + for (auto & a : allConstrs) + if (a->arity() > 1 && adtType == bind::typeOf(a)) + for (auto & l : assumptions) + // very specific test: search for a lemma of the following shape + // \forall x a(..) = indConstructor(...) + if (isOpX(l) && isOpX(l->last()) && + isOpX(l->last()->left()) && contains(l->last()->left(), a->left()) && + isOpX(l->last()->right()) && + isIndConstructor(l->last()->right()->left(), adtType)) + return i; + + } + return -1; + } + + Expr createQuantifiedFormula(Expr def) + { + ExprSet vars; + ExprVector args; + filter(def, bind::IsConst (), inserter(vars, vars.begin())); + for (auto & a : vars) if (a != baseCon) args.push_back(a->last()); + args.push_back(def); + return mknary(args); + } + + // relations based on linear scan (e.g., stack, queue) + void guessScanBasedRelations(Expr accessTerm) + { + assert(accessTerm != NULL); + bool traverseDirection = isConstPos(accessTerm); + + // calculate the least fixedpoint over the indexVar variable + // currently, a simple heuristic is used, but it can be extended + ExprSet guesses; + mutateHeuristic (baseFormula, guesses); + Expr invariant; + for (auto & g : guesses) + for (auto & g : guesses) + { + if (u.implies(baseFormula, g) && + u.implies (mk(g, opsArr[indConIndex]), replaceAll(g, varVersions))) + { + invariant = g; + break; + } + } + + // TODO: further, this invariant can be used to generate an auxiliary lemma + // e.g., \forall xs, n, A . R (xs, n, A) => invariant (n) + + // get the "precondition" for the inductive rule of R: + // it should follow the fixedpoint but inconsistent with + // the precondition for the base rule of R (captured in baseFormula) + assert (invariant != NULL); + Expr remainingCnj = mk(invariant, mkNeg(baseFormula)); + + // prepare for the nested call of R in the inductive rule of R + while (true) + { + int nestedInd = -1; + for (int j = 1; j < indCon->arity(); j++) + { + if (adtType == bind::typeOf(indCon->arg(j))) + { + if (isOpX(indCon->arg(j)) && isIndConstructor(indCon->arg(j)->left(), adtType)) + nestedInd = j; + } + else + nonstateVars.push_back(indCon->arg(j)); + } + if (nestedInd == -1) break; + else indCon = indCon->arg(nestedInd); + } + + // get arguments of the nested call of R + ExprVector argsIndNested = argsInd; + for (int j = 0; j < types.size(); j++) + { + if (adtType == types[j]) argsIndNested[j] = vars[j]; + if (argsInd[j] == indexVar + /*types[j] == bind::typeOf(indexVar)*/) argsIndNested[j] = accessTerm; + } + + // prepare the inductive definition of R (i.e., the RHS of the inductive rule) + ExprSet cnjs; + for (auto & a : nonstateVars) // need to match all non-state vars + { // (obtained from the array and the ADT) + auto it = arrayContent[a].begin(); + if (it == arrayContent[a].end()) continue; + Expr accessTermTmp = normalizeArithm(replaceAll(accessTerm, indexVar, *it)); + if (traverseDirection) + cnjs.insert(mk(a, mk(vars[arrVarInd], accessTermTmp))); + arrayContent[a].erase(it); + } + cnjs.insert(remainingCnj); + + // create a quantified formula representing the inductive rule + indRule = createQuantifiedFormula(generalizeInductiveDef(rel, argsInd, argsIndNested, cnjs)); + + // generate and prove extra lemmas + extraLemmas.push_back(createQuantifiedFormula(mk(bind::fapp (rel, vars), invariant))); + Expr newInd = bind::intConst(mkTerm (lexical_cast(indexVar) + "1", efac)); + ExprVector newVars = vars; + newVars[arrVarInd] = mk(vars[arrVarInd], newInd, *nonstateVars.begin()); + extraLemmas.push_back(createQuantifiedFormula(mk(mk( + (traverseDirection ? mk(newInd, indexVar) : mk(newInd, indexVar)), + bind::fapp (rel, vars)), bind::fapp (rel, newVars)))); + } + + // relations based on nonlinear scan and noops (e.g., sets, multisets) + void guessRelations(bool alt = true) + { + // prepare the inductive definition of R (i.e., the RHS of the inductive rule) + ExprSet cnjs; + ExprSet transitionsArr; + ExprSet transitionsAdt; + if (stateNoOp >= 0 && stateNoOp < opsAdt.size()) + { + Expr adtPred; + Expr arrPred; + + getConj(opsArr[stateNoOp], transitionsArr); + getConj(opsAdt[stateNoOp], transitionsAdt); + + if (transitionsArr.empty()) + { + for (auto trAdt : transitionsAdt) + { + if (isOpX(trAdt) && isOpX(trAdt->last())) // coming from the query + { + trAdt = trAdt->last(); + if (containsOp(trAdt->left()) && contains(trAdt->right(), adtType)) + { + adtPred = trAdt->right(); + arrPred = trAdt->left(); + } + else if (containsOp(trAdt->right()) && contains(trAdt->left(), adtType)) + { + adtPred = trAdt->left(); + arrPred = trAdt->right(); + } + } + } + } + else + { + for (auto trArr : transitionsArr) + { + for (auto trAdt : transitionsAdt) + { + if (isOpX(trArr) && isOpX(trAdt)) + { + if (trArr->left() == trAdt->left()) + { + adtPred = trAdt->right(); + arrPred = trArr->right(); + } + else if (trArr->right() == trAdt->right()) + { + adtPred = trAdt->left(); + arrPred = trArr->left(); + } + else if (trArr->left() == trAdt->right()) + { + adtPred = trAdt->left(); + arrPred = trArr->right(); + } + else if (trArr->right() == trAdt->left()) + { + adtPred = trAdt->right(); + arrPred = trArr->left(); + } + } + } + } + } + + if (adtPred != NULL && arrPred != NULL) + { + // prepare app for the definition of R + // unify vars + // step 1: find common occurrences in adtPred and arrPred: + + ExprSet c; + intersect(adtPred, arrPred, c); + assert (!c.empty()); + + // step 2: make sure body uses vars from c + // assume c.size() == 1; + Expr cVar = *c.begin(); + if (!contains(argsInd[adtVarInd], cVar)) + { + ExprVector av; + filter (argsInd[adtVarInd], bind::IsConst (), inserter(av, av.begin())); + for (auto & v : av) + { + if (bind::typeOf(v) == bind::typeOf(cVar)) + { + argsInd[adtVarInd] = replaceAll(argsInd[adtVarInd], v, cVar); + break; + } + } + } + + Expr app = bind::fapp (rel, argsInd); + + // prepare for the nested call of R in the inductive rule of R + ExprVector argsIndNested = argsInd; + for (int j = 0; j < types.size(); j++) + { + if (j == adtVarInd) + { + argsIndNested[j] = vars[j]; + } + else if (j == arrVarInd) + { + // TODO: make sure variables are unified + if (alt) + { + argsIndNested[j] = opsArr[indConIndex]->right(); + if (indConIndex == stateProducingOp) + { + Expr tmp = argsIndNested[j]; + tmp = swapPlusMinusConst(tmp); + if (tmp != argsIndNested[j]) + { + argsIndNested[j] = tmp; + } + else + { + // GF: hack, need a proper replacer + tmp = replaceAll(tmp, mk(efac), mk(efac)); + if (tmp != argsIndNested[j]) + { + argsIndNested[j] = tmp; + } + else + { + // complicated replacement based on noops + + ExprVector av; // sanity check + filter (adtPred, bind::IsConst (), inserter(av, av.begin())); + for (auto & a : av) assert (contains (app, a)); // TODO: proper renaming + + ExprSet c; + intersect(app, tmp, c); + for (auto & a : c) + { + if (bind::typeOf(adtPred) == bind::typeOf(a)) + { + tmp = replaceAll(tmp, a, adtPred); + if (tmp != argsIndNested[j]) + { + argsIndNested[j] = tmp; + break; + } + } + } + } + } + } + } + } + } + nestedRel = bind::fapp (rel, argsIndNested); + + Expr body = + simplifyFormulaWithLemmas( + replaceAll(mk(arrPred, adtPred), + vars[adtVarInd], argsInd[adtVarInd]), + assumptions, constructors); + + cnjs.insert(body); + cnjs.insert(nestedRel); + Expr inductiveDef = mk(app, conjoin(cnjs, efac)); + indRule = createQuantifiedFormula(inductiveDef); + extraLemmas.push_back(createQuantifiedFormula( + mk(bind::fapp (rel, vars), mk(arrPred, adtPred)))); + } + } + } + + Expr simplifyFormulaWithLemmas(Expr fla, ExprVector lemmas, ExprVector& constructors) + { + ADTSolver sol (fla, lemmas, constructors, 0, 0, 3, 0, false); + ExprSet newAssms; + sol.simplifyAssm(fla, newAssms); + if (newAssms.empty()) return fla; + ExprSet newAssmsSimpl; + for (auto & a : newAssms) newAssmsSimpl.insert(/*simplifyArithm*/(simplifyBool(a))); + return *newAssmsSimpl.begin(); // TODO: check if it is meaningful somehow + } + + void preprocessing() + { + assert(opsAdt.size() == opsArr.size()); + + for (int i = 0; i < opsAdt.size(); i++) checkConstructor(i); + + if (indCon == NULL) + { + for (auto & c : constructors) + { + for (int j = 0; j < c->arity() - 1; j++) + { + if (c->last() == c->arg(j)) + { + // found inductive constructor + Expr indConstructor = c; + ExprVector args; + for (int i = 1; i < indConstructor->arity() - 1; i++) + { + Expr s; + if (j == i) + { + // link to the already defined ADT (try guessing for now) + for (auto & p : varVersions) + { + if (containsOp(p.first)) + { + s = p.first; + break; + } + } + assert(s != NULL); + } + else + { + // should be a fresh (nonstate) var + + Expr singleCons = NULL; + for (auto & a : constructors) + { + if (a->last() == indConstructor->arg(i)) + { + if (singleCons != NULL) + { + singleCons = NULL; + break; + } + singleCons = a; + } + } + if (singleCons != NULL && !isIndConstructor(singleCons, indConstructor->arg(i))) + { + // unfold non-recursive definitions + ExprVector argsCons; + for (int j = 1; j < singleCons->arity() - 1; j++) + { + argsCons.push_back(bind::mkConst(mkTerm ("_x_" + to_string(j), efac), singleCons->arg(j))); + } + s = bind::fapp (singleCons, argsCons); + + } + else + { + s = bind::mkConst(mkTerm ("_x_" + to_string(i), efac), indConstructor->arg(i)); + } + } + args.push_back(s); + } + indCon = bind::fapp(indConstructor, args); + break; + } + } + } + } + + adtType = bind::typeOf(indCon); + ExprVector empt; + for (auto & a : constructors) if (a->arity() == 2) baseCon = bind::fapp (a, empt); + + assert(adtType == bind::typeOf(indCon)); + + if (stateProducingOp == -1) stateProducingOp = findStateProducingOpInAssms(); + if (stateConsumingOp == -1) stateConsumingOp = findStateConsumingOpInAssms(); + assert(stateProducingOp >= 0); + assert(stateConsumingOp >= 0); + if (indConIndex == -1) indConIndex = stateConsumingOp; // for the case of crafted ind constructors + + for (stateNoOp = 0; stateNoOp < opsAdt.size(); stateNoOp++) + { + if (stateNoOp != stateProducingOp && + stateNoOp != stateConsumingOp) + { + break; + } + } + assert(baseFormula != NULL); + + // get vars, types and arguments for rules of R + + for (auto & p : varVersions) + { + Expr v = p.first; + vars.push_back(v); + varsPrime.push_back(p.second); + indCon = replaceAll(indCon, p.second, v); + types.push_back(bind::typeOf(v)); + + if (bind::typeOf(v) == adtType) + { + argsBase.push_back(baseCon); + } + else + { + if (varVersions[v] == NULL) + { + outs () << "NO UNPRIMED VAR FOR " << *v <<"\n"; + return; + } + argsBase.push_back(v); + } + if (bind::typeOf(v) == adtType) + argsInd.push_back(indCon); // use the app of the constructor(s) as argument + else + argsInd.push_back(v); // use unprimed versions of other variables + } + + types.push_back (mk (efac)); + Expr baseApp = bind::fapp (rel, argsBase); + Expr baseDef = mk(baseApp, baseFormula); + // create a quantified formula representing the base rule of R + baseRule = createQuantifiedFormula(baseDef); + + // prepare for the inductive rule construction + ExprSet indexVars; + getCounters (opsArr[indConIndex], indexVars); + indexVar = *indexVars.begin(); // proceed with the least one + indexVar = replaceAllRev(indexVar, varVersions); + + // identify how elements in the arrays are accessed (i.e., the indexVar) + // and what content is stored to the array + ExprSet transitions; + getConj(opsArr[indConIndex], transitions); + for (auto tr : transitions) + { + if (contains (tr, indexVar) && !containsOp(tr) && isOpX(tr)) + { + tr = normalizeArithm(tr); + tr = ineqSimplifier(indexVar, tr); + assert(tr->left() == indexVar); + accessTerm = replaceAllRev(tr->right(), varVersions); + if (indConIndex == stateConsumingOp) // maybe will need to be treated more carefully + accessTerm = swapPlusMinusConst(accessTerm); + } + else + { + ExprSet cnj; + getConj(rewriteSelectStore(tr), cnj); + for (auto & a : cnj) + if (isOpX(a) && isOpX(argsInd[arrVarInd], + mk(argsInd[indexVarInd], cur))); + bool res = false; + for (auto it = cnjs.begin(); it != cnjs.end(); ) + { + if (u.implies(*it, a)) + { + res = true; + cnjs.erase(it); + break; + } + else ++it; + } + if (!res) + { + if (nonstateVars.size() > 1) + { + pre.insert(mk(mk(argsInd[indexVarInd], all), mkTerm (mpz_class (i), efac))); + } + } + } + + if (u.isTrue(mk(argsIndNested[indexVarInd], mk(argsInd[indexVarInd], all)))) + { + Expr newDecrement = mk(argsInd[indexVarInd], mkTerm (mpz_class (1), efac)); + pre.insert(mk(nonstateVars.back(), mk(a) || isOpX(a)) + && !containsOp(a)){ + if (isOpX(a) && isNumeric(a->left())) + { + ineqs.insert(mk(a->left(), a->right())); + ineqs.insert(mk(a->left(), a->right())); + } + else + { + ineqs.insert(a); + } + } else { + for (unsigned i = 0; i < a->arity(); i++) + getArrIneqs(a->arg(i), ineqs); + } + } + + inline static void getChainOfStores (Expr a, ExprSet &stores) + { + if (isOp(a)) + { + stores.insert(a); + getChainOfStores(a->left(), stores); + } + else if (isOpX(a)) + { + for (unsigned i = 1; i <= 2; i++) + getChainOfStores(a->arg(i), stores); + } + } + + inline static void getMultOps (Expr a, ExprVector &ops) + { + if (isOpX(a)){ + for (unsigned i = 0; i < a->arity(); i++){ + getMultOps(a->arg(i), ops); + } + } else if (isOpX(a) && isNumeric(a->left())){ + ops.push_back(mkMPZ ((-1), a->getFactory())); + ops.push_back(a->left()); + } else { + ops.push_back(a); + } + } + /** * Represent Expr as multiplication */ @@ -15,10 +230,10 @@ namespace ufo if (isOpX(e)){ return e; } else { - return mk(e, mkTerm (mpz_class (1), e->getFactory())); + return mk(mkMPZ (1, e->getFactory()), e); } } - + /** * Represent Zero as multiplication */ @@ -27,7 +242,7 @@ namespace ufo return mk(multiplier, e); else return e; } - + /** * Rewrites distributivity rule: * a*b + a*c -> a*(b + c) @@ -39,7 +254,7 @@ namespace ufo ExprSet newE; newE.insert(multiplier->right()); multiplier = multiplier->left(); - + for (unsigned i = 1; i < e->arity (); i++){ Expr a = mult(e->arg(i)); if (isOpX(a)){ @@ -57,11 +272,11 @@ namespace ufo } return e; } - + /** * Self explanatory */ - inline static bool IsConstOrItsAdditiveInverse(Expr e, Expr var){ + inline static bool isConstOrItsAdditiveInverse(Expr e, Expr var){ if (e == var) { return true; } @@ -70,141 +285,186 @@ namespace ufo return true; } } - + return false; } - + + static void getAddTerm (Expr a, ExprVector &terms); + /** * Self explanatory */ - inline static Expr additiveInverse(Expr e){ - if (isOpX(e)){ - if (lexical_cast(e->left()) == "-1"){ - return e->right(); + inline static Expr additiveInverse(Expr e) + { + if (isOpX(e)) + { + cpp_int coef = 1; + ExprVector ops; + getMultOps (e, ops); + + ExprVector rem; + for (auto & a : ops) + { + if (isOpX(a)) + { + coef *= lexical_cast(a); + } + else + { + rem.push_back(a); + } + } + + Expr num = mkMPZ (-coef, e->getFactory()); + if (rem.empty() || coef == 0) return num; + + Expr remTerm = mkmult(rem, e->getFactory()); + if (coef == -1) return remTerm; + + return mk(num, remTerm); + } + else if (isOpX(e)) + { + ExprVector terms; + for (auto it = e->args_begin (), end = e->args_end (); it != end; ++it) + { + getAddTerm(additiveInverse(*it), terms); } + return mkplus(terms, e->getFactory()); } - return mk(mkTerm (mpz_class (-1), e->getFactory()), e); + else if (isOpX(e)) + { + ExprVector terms; + getAddTerm(additiveInverse(*e->args_begin ()), terms); + auto it = e->args_begin () + 1; + for (auto end = e->args_end (); it != end; ++it) + { + getAddTerm(*it, terms); + } + return mkplus(terms, e->getFactory()); + } + else if (isOpX(e)) + { + return e->left(); + } + else if (isOpX(e)) + { + return mkMPZ(-lexical_cast(e), e->getFactory()); + } + else if (isOpX(e)){ + string val = lexical_cast(e); + int delim = val.find("/"); + int val1 = stoi(val.substr(0, delim)); + int val2 = stoi(val.substr(delim + 1)); + if (delim < 0) { + return mkTerm (mpq_class (-val1), e->getFactory()); + } else { + string inv_val = to_string(-val1) + "/" + to_string(val2); + return mkTerm (mpq_class (inv_val), e->getFactory()); + } + } + else if (isOpX(e)){ + return mk(e->left(), additiveInverse(e->right()), additiveInverse(e->last())); + } +// return mk(mkMPZ ((-1), e->getFactory()), e); + return mk(e); } - + /** * Commutativity in Addition */ inline static Expr exprSorted(Expr e){ - Expr res = e; - if (isOpX(e)) { - ExprSet expClauses; - for (auto it = e->args_begin(), end = e->args_end(); it != end; ++it){ - expClauses.insert(*it); - } - res = mknary(expClauses); - } - - if (isOpX(e)) { - if (lexical_cast(e->left()) == "-1"){ - Expr l = e->right(); - - if (isOpX(l)) { - ExprSet expClauses; - for (auto it = l->args_begin(), end = l->args_end(); it != end; ++it){ - expClauses.insert(additiveInverse(*it)); - } - res = mknary(expClauses); - } - } - } - - return res; + if (!isNumeric(e)) return e; + ExprVector addTrms; + getAddTerm(e, addTrms); + std::sort(addTrms.begin(), addTrms.end(), [](Expr& x, Expr& y) {return x < y;}); + return mkplus(addTrms, e->getFactory()); } - + /** * Helper used in ineqReverter */ template static Expr rewriteHelperN(Expr e){ assert(e->arity() == 2); - Expr minus_one = mkTerm (mpz_class (-1), e->getFactory()); - - Expr l = multZero(e->left(), minus_one); - Expr r = multZero(exprDistributor(e->right()), minus_one); - if (!isOpX(r)) - r = mk(minus_one, mk(minus_one,r)); // a bit of hack - - if (isOpX(l) && isOpX(r)){ - if (lexical_cast(l->left()) == "-1" && - lexical_cast(r->left()) == "-1" ){ - return mk(l->right(), r->right()); - } - } + Expr tmp = additiveInverse(e->left()); + if (isOpX(e->left())) + return mk(additiveInverse(e->left()), additiveInverse(e->right())); + + if (isOpX(tmp)) + if (isOpX(tmp->left())) + if (lexical_cast(tmp->left()) > 0) + return mk(tmp, additiveInverse(e->right())); + + if (isIntConst(tmp) || isRealConst(tmp)) + return mk(tmp, additiveInverse(e->right())); + return e; } - + /** * Helper used in ineqMover */ template static Expr rewriteHelperM(Expr e, Expr var){ Expr l = e->left(); Expr r = e->right(); - Expr lhs; // expression, containing var; assume, var contains only in one clause - ExprSet rhs; // the rest of e - - // first, parse l; - - if (isOpX(l)){ - for (unsigned i = 0; i < l->arity (); i++){ - Expr a = l->arg(i); - if (IsConstOrItsAdditiveInverse(a, var)){ - lhs = a; - continue; - } - rhs.insert(additiveInverse(a)); - } - } else { - if (IsConstOrItsAdditiveInverse(l, var)){ - lhs = l; - } else if (lexical_cast(l) != "0"){ - rhs.insert(additiveInverse(l)); - } - } - - // second, parse r; - - if (isOpX(r)){ - for (unsigned i = 0; i < r->arity (); i++){ - Expr a = r->arg(i); - if (IsConstOrItsAdditiveInverse(a, var)){ - lhs = additiveInverse(a); - continue; - } - rhs.insert(a); + ExprVector orig_lhs, orig_rhs, lhs, rhs; + + // parse + + getAddTerm(l, orig_lhs); + getAddTerm(r, orig_rhs); + for (auto & a : orig_lhs) + { + if (contains (a, var)) lhs.push_back(a); + else rhs.push_back(additiveInverse(a)); + } + for (auto & a : orig_rhs) + { + if (contains (a, var)) lhs.push_back(additiveInverse(a)); + else rhs.push_back(a); + } + + // combine results + + cpp_int coef = 0; + for (auto it = lhs.begin(); it != lhs.end(); ) + { + bool found = false; + if (*it == var) { coef++; found = true; } + if (isOpX(*it) && (*it)->left() == var) { coef--; found = true; } + if (isOpX(*it) && 2 == (*it)->arity() && isOpX((*it)->left()) && (*it)->right() == var) { + coef += lexical_cast((*it)->left()); + found = true; } + + if (found) { it = lhs.erase(it); continue; } + else ++it; + } + + if (!lhs.empty()) + { +// errs() << "WARNING: COULD NOT NORMALIZE w.r.t. " << *var << ": " +// << *conjoin (lhs, e->getFactory()) << "\n"; + return e; + } + + r = mkplus(rhs, e->getFactory()); + + if (coef == 0){ + l = mkMPZ (0, e->getFactory()); + } else if (coef == 1){ + l = var; } else { - if (IsConstOrItsAdditiveInverse(r, var)){ - lhs = additiveInverse(r); - } else if (lexical_cast(r) != "0"){ - rhs.insert(r); - } - } - - // third, combine results; - - if (lhs != 0){ - Expr rhsPlus; - if (rhs.size() > 1){ - rhsPlus = exprDistributor(mknary(rhs)); - } else if (rhs.size() == 1) { - rhsPlus = *rhs.begin(); - } else if (rhs.size() == 0) { - rhsPlus = mkTerm (mpz_class (0), e->getFactory()); - } - return mk(lhs,rhsPlus); + l = mk(mkMPZ(coef, e->getFactory()), var); } - return e; + + return mk(l,r); } - + /** * Helper used in exprMover */ template static Expr rewriteHelperE(Expr e, Expr var){ - //todo: debug: clean = false -> shared_ptr.hpp:418: Assertion `px != 0' failed assert(e->arity() == 2); Expr l = e->left(); Expr r = e->right(); @@ -212,7 +472,7 @@ namespace ufo l = exprSorted(l); return mk(r, l); } - + if (isOpX(r)){ if (r->left() == var || r->right() == var){ l = exprSorted(l); @@ -221,82 +481,36 @@ namespace ufo } return e; } - + /** * Merge adjacent inequalities * (a <= b && a >= b) -> (a == b) */ inline static void ineqMerger(ExprSet& expClauses, bool clean = false){ - for (auto &e: expClauses){ - if (isOpX(e)){ - for (auto &e2: expClauses){ - if (isOpX(e2)){ - if (e->left() == e2->left()){ - Expr e1r = exprSorted(e->right()); - Expr e2r = exprSorted(e2->right()); - if ( e1r == e2r ){ - if (clean){ - expClauses.erase(e); - expClauses.erase(e2); - } - expClauses.insert(mk(e->left(), e1r)); - } - } - } - } - } - } - } - - /** - * Merge adjacent inequalities - * (a <= b && b <= a) -> (a == b) - */ - template static void ineqMergerSwap(ExprSet& expClauses, bool clean = false){ - for (auto &e: expClauses){ - if (isOpX(e)){ - for (auto &e2: expClauses){ - if (isOpX(e2)){ - if (e->left() == e2->right() && e->right() == e2->left()){ + vector tmp; + ExprSet newClauses; + for (auto it1 = expClauses.begin(); it1 != expClauses.end(); ++it1){ + if (isOpX(*it1)){ + for (auto it2 = expClauses.begin(); it2 != expClauses.end(); ++it2){ + if (isOpX(*it2)){ + Expr e1l = exprSorted(mk((*it1)->left(), (*it1)->right())); + Expr e2l = exprSorted(mk((*it2)->left(), (*it2)->right())); + if ( e1l == e2l ){ + newClauses.insert(mk(e1l, mkMPZ(0, e1l->getFactory()))); if (clean){ - expClauses.erase(e); - expClauses.erase(e2); - } - expClauses.insert(mk(e->left(), e->right())); - } - } - } - } - } - } - - /** - * Merge adjacent inequalities - * (a <= 0 && -a <= 0) -> (a == 0) - * (a >= 0 && -a >= 0) -> (a == 0) - */ - template static void ineqMergerSwapMinus(ExprSet& expClauses, bool clean = false){ - for (auto &e: expClauses){ - if (isOpX(e)){ - for (auto &e2: expClauses){ - if (isOpX(e2)){ - if (e->right() == e2->right() && e2->right() == mkTerm (mpz_class (0), e2->getFactory())){ - Expr l1 = exprSorted(additiveInverse(e->left())); - Expr l2 = exprSorted(e2->left()); - if (l1 == l2){ - if (clean){ - expClauses.erase(e); - expClauses.erase(e2); - } - expClauses.insert(mk(e->left(), e->right())); + tmp.push_back (it1); + tmp.push_back (it2); + break; } } } } } } + for (auto & it : tmp) expClauses.erase(it); + expClauses.insert(newClauses.begin(), newClauses.end()); } - + /** * Trivial simplifier: * (-1*a <= -1*b) -> (a >= b) @@ -314,10 +528,12 @@ namespace ufo return rewriteHelperN(e); } else if (isOpX(e)){ return rewriteHelperN(e); + } else if (isOpX(e)){ + return rewriteHelperN(e); } return e; } - + inline static Expr ineqNegReverter(Expr a){ if (isOpX(a)){ Expr e = a->arg(0); @@ -329,11 +545,15 @@ namespace ufo return mk(e->arg(0), e->arg(1)); } else if (isOpX(e)){ return mk(e->arg(0), e->arg(1)); + } else if (isOpX(e)){ + return mk(e->arg(0), e->arg(1)); + } else if (isOpX(e)){ + return mk(e->arg(0), e->arg(1)); } } return a; } - + /** * Transform the inequalities by the following rules: * (a + .. + var + .. + b <= c ) -> (var <= -1*a + .. + -1*b + c) @@ -354,10 +574,12 @@ namespace ufo return rewriteHelperM(e, var); } else if (isOpX(e)){ return rewriteHelperM(e, var); + } else if (isOpX(e)){ + return rewriteHelperM(e, var); } return e; } - + /** * Move "var" to the left hand side of expression: * (a <= var) -> (var >= b) @@ -369,181 +591,531 @@ namespace ufo return rewriteHelperE(e, var); } else if (isOpX(e)){ return rewriteHelperE(e, var); + } else if (isOpX(e)){ + return rewriteHelperE(e, var); + } else if (isOpX(e)){ + return rewriteHelperE(e, var); } if (isOpX(e)){ return rewriteHelperE(e, var); - } if (isOpX(e)){ - return mk(exprMover(e->arg(0), var)); - } - return e; - } - - /** - * - */ - inline static Expr eqDiffMover(Expr e){ - if(isOpX(e)){ - if (isOpX(e->left()) && e->left()->arity() == 2 && lexical_cast(e->right()) == "0"){ - return mk(e->left()->left(), e->left()->right()); + } if (isOpX(e)){ + return rewriteHelperE(e, var); } - } return e; } - - /** - * Search for an equality - */ - inline static bool equalitySearch(ExprSet& expClauses, Expr var){ - for (auto &e: expClauses){ - if (isOpX(e)){ - Expr l = e->left(); - Expr r = e->right(); - if (l == var || r == var){ - ExprSet singleton; - singleton.insert(e); - expClauses = singleton; - return true; - } - } - } - return false; - } - - template static Expr conjoin(Range& conjs, ExprFactory &efac){ - return - (conjs.size() == 0) ? mk(efac) : - (conjs.size() == 1) ? *conjs.begin() : - mknary(conjs); - } - template static Expr disjoin(Range& disjs, ExprFactory &efac){ - return - (disjs.size() == 0) ? mk(efac) : - (disjs.size() == 1) ? *disjs.begin() : - mknary(disjs); - } - + static Expr simplifyArithm (Expr exp, bool keepRedundandDisj, bool keepRedundandConj); + /** - * Simplifier Wrapper + * Move var v to LHS of each expression and simplify */ - inline static Expr ineqSimplifier(Expr v, Expr exp){ + inline static Expr ineqSimplifier(Expr v, Expr exp, bool merge = false){ ExprSet substsMap; if (isOpX(exp)){ - for (ENode::args_iterator it = exp->args_begin(), end = exp->args_end(); - it != end; ++it){ - Expr cl = *it; - cl = exprMover(*it, v); - cl = ineqMover(cl, v); - cl = ineqReverter (cl); - substsMap.insert(cl); - } - - ineqMerger(substsMap); - equalitySearch(substsMap, v); + ExprSet cnjs; + getConj(exp, cnjs); + for (Expr cl : cnjs) + substsMap.insert(ineqSimplifier(v, cl)); + + if (merge) ineqMerger(substsMap, true); return conjoin(substsMap, v->getFactory()); - + } + else if (isOp(exp)) + { + exp = ineqMover(exp, v); + exp = simplifyArithm(exp, false, false); + exp = ineqReverter(exp); } return exp; } - - - template - struct RW + + template static void unique_push_back(T e, vector& v) { + if (find(v.begin(), v.end(), e) == v.end()) v.push_back(e); + } + + static void uniquePushConj(Expr e, ExprVector& v) + { + ExprSet cnjs; + getConj(e, cnjs); + for (auto & g : cnjs) unique_push_back(g, v); + } + + template struct RW { std::shared_ptr _r; - + RW (std::shared_ptr r) : _r(r) {} RW (T *r) : _r (r) {} - - + VisitAction operator() (Expr exp) { // -- apply the rewriter if (exp->arity() == 0) // -- do not descend into non-boolean operators return VisitAction::skipKids (); - + return VisitAction::changeDoKidsRewrite (exp, _r); - } }; - - inline static Expr simplifiedPlus (Expr exp, Expr to_skip){ - - ExprVector args; - - Expr ret; - - for (ENode::args_iterator it = exp->args_begin(), - end = exp->args_end(); it != end; ++it){ - Expr a = *it; - if (a != to_skip) { - args.push_back (a); + + // not very pretty method, but.. + inline static Expr reBuildCmp(Expr fla, Expr lhs, Expr rhs) + { + if (isOpX(fla)) + { + return mk(lhs, rhs); + } + if (isOpX(fla)) + { + return mk(lhs, rhs); + } + if (isOpX(fla)) + { + return mk(lhs, rhs); + } + if (isOpX(fla)) + { + return mk(lhs, rhs); + } + if (isOpX(fla)) + { + return mk(lhs, rhs); + } + assert(isOpX(fla)); + return mk(lhs, rhs); + } + + inline static Expr reBuildCmpSym(Expr fla, Expr lhs, Expr rhs) + { + if (isOpX(fla)){ + return mk(rhs, lhs); + } + if (isOpX(fla)){ + return mk(rhs, lhs); + } + if (isOpX(fla)){ + return mk(rhs, lhs); + } + if (isOpX(fla)){ + return mk(rhs, lhs); + } + if (isOpX(fla)){ + return mk(rhs, lhs); + } + assert(isOpX(fla)); + return mk(rhs, lhs); + } + + inline static Expr reBuildNegCmp(Expr fla, Expr lhs, Expr rhs) + { + if (isOpX(fla)) + { + return mk(lhs, rhs); + } + if (isOpX(fla)) + { + return mk(lhs, rhs); + } + if (isOpX(fla)) + { + return mk(lhs, rhs); + } + if (isOpX(fla)) + { + return mk(lhs, rhs); + } + if (isOpX(fla)) + { + return mk(lhs, rhs); + } + assert(isOpX(fla)); + return mk(lhs, rhs); + } + + // not very pretty method, but.. + inline static bool evaluateCmpConsts(Expr fla, cpp_int a, cpp_int b) + { + if (isOpX(fla)) + { + return (a == b); + } + if (isOpX(fla)) + { + return (a != b); + } + if (isOpX(fla)) + { + return (a <= b); + } + if (isOpX(fla)) + { + return (a >= b); + } + if (isOpX(fla)) + { + return (a < b); + } + assert(isOpX(fla)); + return (a > b); + } + + inline static Expr mkNeg(Expr fla) + { + if (isOpX(fla)) + { + return fla->arg(0); + } + else if (isOpX(fla)) + { + return mk(fla->getFactory()); + } + else if (isOpX(fla)) + { + return mk(fla->getFactory()); + } + else if (isOpX(fla) || isOpX(fla)) + { + ExprSet args; + for (int i = 0; i < fla->arity(); i++){ + args.insert(mkNeg(fla->arg(i))); + } + return isOpX(fla) ? + disjoin(args, fla->getFactory()) : + conjoin (args, fla->getFactory()); + } + else if (isOpX(fla) && fla->arity() == 2) + { + return mk(fla->arg(0), fla->arg(1)); + } + else if (isOp(fla)) + { + return reBuildNegCmp(fla, fla->arg(0), fla->arg(1)); + } + else if (isOpX(fla)) + { + return mk(fla->left(), mkNeg(fla->right())); + } + else if (isOpX(fla) || isOpX(fla)) + { + ExprVector args; + for (int i = 0; i < fla->arity() - 1; i++) + args.push_back(fla->arg(i)); + args.push_back(mkNeg(fla->last())); + return isOpX(fla) ? + mknary(args) : mknary(args); + } + return mk(fla); + } + + inline static cpp_int separateConst(ExprVector& plsOps) + { + cpp_int c = 0; + for (auto it = plsOps.begin(); it != plsOps.end(); ) + { + if (isOpX(*it)) + { + c += lexical_cast(*it); + it = plsOps.erase(it); + continue; + } + else ++it; + } + return c; + } + + inline static Expr simplifyPlus (Expr exp) + { + ExprVector plsOps; + getAddTerm (exp, plsOps); + cpp_int c = separateConst(plsOps); + std::sort(plsOps.begin(), plsOps.end(), [](Expr& x, Expr& y) {return x < y;}); + // GF: to write some kind of a fold-operator that counts the numbers of occurences + if (c != 0) plsOps.push_back(mkMPZ(c, exp->getFactory())); + return mkplus(plsOps, exp->getFactory()); + } + + inline static Expr simplifyMult (Expr e) + { + if (isOpX(e)) + { + cpp_int coef = 1; + ExprVector ops; + getMultOps (e, ops); + + ExprVector rem; + for (auto a : ops) + { + if (isOpX(a)) + coef *= lexical_cast(a); + else + rem.push_back(a); + } + + Expr num = mkMPZ (coef, e->getFactory()); + if (rem.empty() || coef == 0) return num; + + Expr remTerm = mkmult(rem, e->getFactory()); + if (coef == 1) return remTerm; + + return mk(num, remTerm); + } + return e; + } + + inline static Expr simplifyMod (Expr e) + { + if (isOpX(e) && isOpX(e->right())) + { + cpp_int coef = 1; + cpp_int divider = lexical_cast(e->right()); + ExprVector ops; + getMultOps (e->left(), ops); + + for (auto a : ops) + if (isOpX(a)) + coef *= lexical_cast(a); + + if (coef % divider == 0) + return mkMPZ (0, e->getFactory()); + } + return e; + } + + inline static Expr simplifyIte (Expr exp) // simple version, on the syntactic level + { + ExprFactory &efac = exp->getFactory(); + ExprVector plusOpsLeft; + ExprVector plusOpsRight; + ExprVector commonTerms; + Expr b1; + Expr b2; + bool added = false; + if (isNumeric(exp->right())) + { + getAddTerm(exp->right(), plusOpsLeft); + getAddTerm(exp->last(), plusOpsRight); + + for (auto it1 = plusOpsLeft.begin(); it1 != plusOpsLeft.end(); ) + { + bool found = false; + for (auto it2 = plusOpsRight.begin(); it2 != plusOpsRight.end(); ) + { + if (*it1 == *it2) + { + if (lexical_cast(*it1) != "0") + commonTerms.push_back(*it1); + found = true; + plusOpsRight.erase(it2); + break; + } + else + { + ++it2; + } + } + if (found) it1 = plusOpsLeft.erase(it1); + else ++it1; + } + + b1 = simplifyPlus(mkplus(plusOpsLeft, efac)); + b2 = simplifyPlus(mkplus(plusOpsRight, efac)); + if (b1 == b2) + { + if (lexical_cast(b1) != "0") + commonTerms.push_back(b1); + added = true; + } + } + else + { + b1 = exp->right(); + b2 = exp->last(); + } + + if (!added) // some redundancy with the ITE-handling in simplifyBool + { + if (isOpX(exp->left())) + commonTerms.push_back(b1); + else if (isOpX(exp->left())) + commonTerms.push_back(b2); + else + commonTerms.push_back(mk(exp->left(), b1, b2)); + } + return mkplus(commonTerms, efac); + } + + inline static Expr simplifyCmp (Expr exp) + { + ExprFactory &efac = exp->getFactory(); + + ExprVector plusOpsLeft; + ExprVector plusOpsRight; + getAddTerm(exp->left(), plusOpsLeft); + getAddTerm(exp->right(), plusOpsRight); + + cpp_int constLeft = separateConst(plusOpsLeft); + cpp_int constRight = separateConst(plusOpsRight); + + for (auto it1 = plusOpsLeft.begin(); it1 != plusOpsLeft.end(); ) + { + bool found = false; + for (auto it2 = plusOpsRight.begin(); it2 != plusOpsRight.end(); ) + { + if (*it1 == *it2) + { + found = true; + plusOpsRight.erase(it2); + break; + } + else + { + ++it2; + } + } + if (found) it1 = plusOpsLeft.erase(it1); + else ++it1; + } + + // processing of constLeft/Right to prepare for further simplifyArithmDisjunctions/Conjunctions + if (constLeft != 0 || constRight != 0) + { + if (plusOpsLeft.size() == 0) + { + constLeft = constLeft - constRight; + constRight = 0; + } + else + { + constRight = constRight - constLeft; + constLeft = 0; } } - + + if (constLeft != 0) plusOpsLeft.push_back(mkMPZ(constLeft, efac)); + if (constRight != 0) plusOpsRight.push_back(mkMPZ(constRight, efac)); + + if (plusOpsLeft.size() == 0 && plusOpsRight.size() == 0) + { + if (isOpX(exp) || isOpX(exp) || isOpX(exp)) + return mk(efac); + else + return mk(efac); + } + + if (plusOpsLeft.size() == 0 && plusOpsRight.size() == 1 && + isOpX(*plusOpsRight.begin())) + { + if (evaluateCmpConsts(exp, 0, lexical_cast(*plusOpsRight.begin()))) + return mk(efac); + else + return mk(efac); + } + + if (plusOpsLeft.size() == 1 && plusOpsRight.size() == 0 && + isOpX(*plusOpsLeft.begin())) + { + if (evaluateCmpConsts(exp, lexical_cast(*plusOpsLeft.begin()), 0)) + return mk(efac); + else + return mk(efac); + } + + Expr l = mkplus(plusOpsLeft, efac); + Expr r = mkplus(plusOpsRight, efac); + + // small ITE-optimization; to extend: + if (isOpX(exp) && isOpX(l) && isOpX(r) && + isOpX(l->right()) && isOpX(l->last()) && l->right() != l->last()) + { + if (l->right() == r) return l->left(); + if (l->left() == r) return mkNeg(l->left()); + } + else if (isOpX(exp) && isOpX(r) && isOpX(l) && + isOpX(r->right()) && isOpX(r->last()) && r->right() != r->last()) + { + if (r->right() == l) return r->left(); + if (r->left() == l) return mkNeg(r->left()); + } + + return reBuildCmp(exp, l, r); + } + + // GF: to rewrite/remove + inline static Expr simplifiedPlus (Expr exp, Expr to_skip){ + ExprVector args; + Expr ret; + bool f = false; + + for (ENode::args_iterator it = exp->args_begin(), + end = exp->args_end(); it != end; ++it){ + if (*it == to_skip) f = true; + else args.push_back (*it); + } + + if (f == false) { + args.push_back(additiveInverse(to_skip)); + } + if (args.size() == 1) { ret = args[0]; } - + else if (args.size() == 2){ if (isOpX(args[0]) && !isOpX(args[1])) - ret = mk(args[1], args[0]->left()); + ret = mk(args[1], args[0]->left()); else if (!isOpX(args[0]) && isOpX(args[1])) ret = mk(args[0], args[1]->left()); - + else ret = mknary(args); - + } else { ret = mknary(args); } - return ret; } - + // return a - b inline static Expr simplifiedMinus (Expr a, Expr b){ - + // GF: to rewrite/remove Expr ret = mk(a, b); - + if (a == b) { - ret = mkTerm (mpz_class (0), a->getFactory()); + ret = mkMPZ (0, a->getFactory()); } else - + if (isOpX(a)){ - Expr res = simplifiedPlus(a, b); - if (res->arity() == a->arity() - 1) ret = res; + return simplifiedPlus(a, b); } else - + if (isOpX(b)){ Expr res = simplifiedPlus(b, a); - if (res->arity() == b->arity() - 1) ret = mk(res); + return mk(res); } else - + if (isOpX(a)){ if (a->left() == b) ret = mk(a->right()); } else - + if (isOpX(b)){ if (a == b->right()) ret = mk(b->left()); } else - + if (isOpX(b)) { - if (b->left() == mkTerm (mpz_class (0), a->getFactory())) { + if (b->left() == mkMPZ (0, a->getFactory())) { ret = a; } else { ret = mk(a,b->left()); } } else - - if (mkTerm (mpz_class (-1), a->getFactory()) == b) { - ret = simplifiedPlus(a, mkTerm (mpz_class (1), a->getFactory())); + + if (mkMPZ ((-1), a->getFactory()) == b) { + ret = simplifiedPlus(a, mkMPZ (1, a->getFactory())); } else - - if (b == mkTerm (mpz_class (0), a->getFactory())) { + + if (b == mkMPZ (0, a->getFactory())) { ret = a; } else - - if (a == mkTerm (mpz_class (0), a->getFactory())){ + + if (a == mkMPZ (0, a->getFactory())){ if (isOpX(b)){ ret = b->left(); } @@ -551,255 +1123,3927 @@ namespace ufo ret = mk(b); } } - + return ret; } - + + static Expr simplifyArithmDisjunctions(Expr fla, bool keepRedundandDisj); + static Expr simplifyArithmConjunctions(Expr fla, bool keepRedundandConj); + struct SimplifyArithmExpr { + Expr e; ExprFactory &efac; - - Expr zero; - Expr one; - Expr minus_one; - - SimplifyArithmExpr (ExprFactory& _efac): - efac(_efac) - { - zero = mkTerm (mpz_class (0), efac); - one = mkTerm (mpz_class (1), efac); - minus_one = mkTerm (mpz_class (1), efac); - }; - + bool keepRedundandDisj; + bool keepRedundandConj; + + SimplifyArithmExpr (Expr& _e, bool _d, bool _c) : + e(_e), efac(_e->getFactory()), keepRedundandDisj(_d), keepRedundandConj(_c) {}; + Expr operator() (Expr exp) { if (isOpX(exp)) { - return simplifiedPlus(exp, zero); + return simplifyPlus(exp); } - + if (isOpX(exp) && exp->arity() == 2) { return simplifiedMinus(exp->left(), exp->right()); } - + if (isOpX(exp)) { - if (exp->left() == zero) return zero; - if (exp->right() == zero) return zero; - if (exp->left() == one) return exp->right(); - if (exp->right() == one) return exp->left(); - if (exp->left() == minus_one) return mk(exp->right()); - if (exp->right() == minus_one) return mk(exp->left()); + return simplifyMult(exp); + } + + if (isOpX(exp)) + { + return simplifyMod(exp); } - + if (isOpX(exp)) { - Expr uneg = exp->left(); - if (uneg == zero) return zero; - if (uneg == minus_one) return one; - if (isOpX(uneg)) return uneg->left(); - if (isOpX(uneg)){ - Expr unegl = uneg->left(); - Expr unegr = uneg->right(); - if (isOpX(unegl)) return mk(unegl->left(), unegr); - if (isOpX(unegr)) return mk(unegr->left(), unegl); - } + return additiveInverse(exp->left()); } - + if (isOpX(exp)) { if (isOpX(exp->right())) return mk(exp->left(), exp->right()->left()); } + + if (isOp(exp) && isNumeric(exp->right())) + { + return simplifyCmp(exp); + } + + if (isOpX(exp) && isNumeric(exp->right())) + { + return simplifyIte(exp); + } + + if (isOpX(exp)) + { + return simplifyArithmDisjunctions(exp, keepRedundandDisj && (e == exp)); + } + + if (isOpX(exp)) + { + return simplifyArithmConjunctions(exp, keepRedundandConj && (e == exp)); + } return exp; } }; - + + static Expr simplifyBool (Expr exp); + struct SimplifyBoolExpr { ExprFactory &efac; - + SimplifyBoolExpr (ExprFactory& _efac) : efac(_efac){}; - + Expr operator() (Expr exp) { // GF: to enhance - + if (isOpX(exp)) { + if (exp->left() == exp->right()) + return mk(efac); + if (isOpX(exp->right())) return mk(efac); if (isOpX(exp->right())) - return mk(exp->left()); - - return (mk( - mk(exp->left()), - exp->right())); - } - - if (isOpX(exp)){ - for (auto it = exp->args_begin(), end = exp->args_end(); it != end; ++it){ - - if (isOpX(*it)) return mk(efac); - - if (isOpX(*it) && (*it)->left() == (*it)->right()) return mk(efac); - - } - } - - if (isOpX(exp)){ - for (auto it = exp->args_begin(), end = exp->args_end(); it != end; ++it){ - - if (isOpX(*it)) return mk(efac); - - } - } - + return mkNeg(exp->left()); + + if (isOpX(exp->left())) + return exp->right(); + +// return simplifyBool(mk( +// mkNeg(exp->left()), +// exp->right())); + } + + if (isOpX(exp)) + { + if (exp->left() == exp->right()) + return mk(efac); + + if (isOpX(exp->right())) + return exp->left(); + + if (isOpX(exp->left())) + return exp->right(); + + if (isOpX(exp->right())) + return mkNeg(exp->left()); + + if (isOpX(exp->left())) + return mkNeg(exp->right()); + } + + if (exp->arity() == 2 && (isOpX(exp) || isOpX(exp))) + { + if (exp->left() == exp->right()) + return mk(efac); + + if (isOpX(exp->right())) + return exp->left(); + + if (isOpX(exp->left())) + return exp->right(); + + if (isOpX(exp->right())) + { + return mkNeg(exp->left()); + } + + if (isOpX(exp->left())) + return mkNeg(exp->right()); + } + + if (isOpX(exp)) + { + ExprSet dsjs; + ExprSet newDsjs; + getDisj(exp, dsjs); + for (auto a : dsjs) + { + a = simplifyBool(a); + if (isOpX(a)) + { + return mk(efac); + } + if (isOpX(a)) + { + continue; + } + newDsjs.insert(a); + } + return disjoin (newDsjs, efac); + } + + if (isOpX(exp)) + { + ExprSet cnjs; + ExprSet newCnjs; + getConj(exp, cnjs); + for (auto a : cnjs) + { + a = simplifyBool(a); + if (isOpX(a)) + { + return mk(efac); + } + if (isOpX(a)) + { + continue; + } + newCnjs.insert(a); + } + return conjoin (newCnjs, efac); + } + + if (isOpX(exp)) + { + Expr cond = exp->arg(0); + if (isOpX(cond)) + { + return exp->arg(1); + } + else if (isOpX(cond)) + { + return exp->arg(2); + } + else if (isOpX(exp->arg(1)) && isOpX(exp->arg(2))) + { + return cond; + } + else if (isOpX(exp->arg(1)) && isOpX(exp->arg(2))) + { + return mkNeg(cond); + } + else if (exp->arg(1) == exp->arg(2)) + { + return exp->arg(1); + } + } + + if (isOpX(exp) && + (isOp(exp->left()) || + isOpX(exp->left()) || isOpX(exp->left()))) + return mkNeg(exp->left()); + return exp; } }; - - struct PlusMinusChanger + + static Expr simplifyArr (Expr exp); + + struct SimplifyArrExpr { - ExprFactory &efac; - - // bool changed; - - PlusMinusChanger (ExprFactory& _efac): - efac(_efac) - { - // changed = false; - }; - + SimplifyArrExpr (ExprVector& _forallVars, ExprMap& _repls) : + forallVars(_forallVars), repls(_repls) {}; + + ExprVector& forallVars; + ExprMap& repls; + Expr operator() (Expr exp) { - - if (isOpX(exp)/* && !changed*/){ - //changed = true; - ExprSet expClauses; - bool changed = false; - expClauses.insert(mkTerm (mpz_class (1), exp->getFactory())); - for (ENode::args_iterator it = exp->args_begin(), end = exp->args_end(); - it != end; ++it){ - if (changed){ - expClauses.insert(additiveInverse(*it)); - } else { - expClauses.insert(*it); - } - - changed = !changed; - } - Expr res = mknary(expClauses); - - return res; - } - + // GF: to enhance + + if (isOpX(exp)) + { + if (isOpX(exp->left())) + { + for (auto it = forallVars.begin(); it != forallVars.end(); ++it) + { + if (*it == exp->right()) + { + if (repls[*it] == NULL) + { + repls[*it] = exp->left()->right(); + return mk(exp->left()->left(), exp->left()->right(), exp->last()); + } + } + } + } + if (isOpX(exp->left()) && exp->right() == exp->left()->right()) + return mk(exp->left()->left(), exp->right(), exp->last()); + } + + if (isOpX(exp->left()->left(), exp->last()))); + } + } + + if (isOpX(exp)) + { + if (isOpX(exp->left()) && exp->right() == exp->left()->left()) + { + return simplifyArr(mk(mk(exp->left(), exp->right()->right()), exp->right()->last())); + } + if (isOpX(exp->left()->left()->left(), exp->left()->right()), exp->right())); + } + if (isOpX(exp->right()->left()->left(), exp->right()->right()), exp->left())); + } + } + return exp; + } + }; + + static Expr simplifyExists (Expr exp); + + struct SimplifyExists + { + ExprFactory &efac; + SimplifyExists (ExprFactory& _efac): efac(_efac){ }; + + Expr operator() (Expr exp) + { + if (isOpX(exp)) + { + ExprVector args; + for (int i = 0; i < exp->arity() - 1; i++) + args.push_back(fapp(exp->arg(i))); + + Expr qFree = exp->last(); + + if (isOpX(qFree)) + { + ExprSet dsj; + getDisj(qFree, dsj); + ExprSet q; + ExprSet newDsj; + for (auto & c : dsj) + if (emptyIntersect(c, args)) newDsj.insert(c); + else q.insert(c); + + for (auto & a : q) + newDsj.insert(simplifyExists(replaceAll(exp, qFree, a))); + + return disjoin (newDsj, efac); + } + + // simplify first + ExprSet cnj; + getConj(qFree, cnj); + for (auto & c : cnj) + { + if (isOpX(c)) + { + if (find (args.begin(), args.end(), c->right()) == args.end() && + find (args.begin(), args.end(), c->left()) != args.end()) + qFree = replaceAll(qFree, c->left(), c->right()); + if (find (args.begin(), args.end(), c->left()) == args.end() && + find (args.begin(), args.end(), c->right()) != args.end()) + qFree = replaceAll(qFree, c->right(), c->left()); + } + } + qFree = simplifyBool(qFree); + + if (isOpX(qFree)) return qFree; + + // find a subset of conjuncts independent on quantifiers + cnj.clear(); + getConj(qFree, cnj); + ExprSet depCnj; + ExprSet indepCnj; + + for (auto & c : cnj) + if (emptyIntersect(c, args)) indepCnj.insert(c); + else depCnj.insert(c); + + if (indepCnj.empty()) return exp; + + indepCnj.insert(simplifyExists(replaceAll(exp, exp->last(), conjoin(depCnj, efac)))); + return conjoin (indepCnj, efac); + } return exp; } }; - - inline static Expr simplifyArithm (Expr exp) + + inline static Expr simplifyExists (Expr exp) + { + RW rw(new SimplifyExists(exp->getFactory())); + return dagVisit (rw, exp); + } + + static Expr createQuantifiedFormulaRestr(Expr def, ExprVector& vars, bool forall); + inline static Expr simplifyArr (Expr exp) + { + ExprVector forallVars; + ExprMap repls; + bool origForall = false; + if (isOpX(exp)) + { + origForall = true; + for (int i = 0; i < exp->arity() - 1; i++) + forallVars.push_back(fapp(exp->arg(i))); + } + RW rw(new SimplifyArrExpr(forallVars, repls)); + Expr tmp = dagVisit (rw, exp); + + for (auto it = forallVars.begin(); it != forallVars.end(); ) + { + if (repls[*it] != NULL) it = forallVars.erase(it); + else ++it; + } + + tmp = replaceAll(tmp, repls); + if (forallVars.empty()) + { + if (origForall) tmp = tmp->last(); + } + else tmp = createQuantifiedFormulaRestr (tmp->last(), forallVars, true); + + return tmp; + } + + inline static Expr simplifyArithm (Expr exp, bool keepRedundandDisj = false, bool keepRedundandConj = false) { - RW rw(new SimplifyArithmExpr(exp->getFactory())); + RW rw(new + SimplifyArithmExpr(exp, keepRedundandDisj, keepRedundandConj)); return dagVisit (rw, exp); } - + inline static Expr simplifyBool (Expr exp) { RW rw(new SimplifyBoolExpr(exp->getFactory())); return dagVisit (rw, exp); } - - inline static Expr randomChangePlusMinus (Expr exp) + + inline static void constantPropagationRec(ExprVector& hardVars, ExprSet& cnjs, ExprMap& repls, bool doArithm) + { + ExprSet toInsert, toInsertHard; + for (auto it = cnjs.begin(); it != cnjs.end(); ) + { + Expr a = *it; + if (isOpX(a)) + { + it = cnjs.erase(it); + continue; + } + + if (isOpX(a)) + { + Expr lhs = a->left(); + + if (isOpX(lhs)) a = a->right(); + else if (isOpX(lhs)) + { + it = cnjs.erase(it); + continue; + } + } + + if (isOpX(a)) + { + Expr lhs = a->left(); + Expr rhs = a->right(); + if ((isOpX(lhs) && isOpX(rhs)) || + (isOpX(lhs) && isOpX(rhs))) + { + it = cnjs.erase(it); + continue; + } + else if (isOpX(lhs)) a = rhs; + else if (isOpX(lhs)) a = mkNeg(rhs); + else if (isOpX(rhs)) a = lhs; + else if (isOpX(rhs)) a = mkNeg(lhs); + } + + if (a->arity() == 2 && (isOpX(a) || isOpX(a))) + { + Expr lhs = a->left(); + Expr rhs = a->right(); + if ((isOpX(lhs) && isOpX(rhs)) || + (isOpX(lhs) && isOpX(rhs))) + { + it = cnjs.erase(it); + continue; + } + else if (isOpX(lhs)) a = mkNeg(rhs); + else if (isOpX(lhs)) a = rhs; + else if (isOpX(rhs)) a = mkNeg(lhs); + else if (isOpX(rhs)) a = lhs; + } + + ExprSet splitted; + getConj(a, splitted); + + for (auto c : splitted) + { + if (isOpX(c) && !isBoolConst(c->left())) + c = mkNeg(c->left()); + + if (doArithm && isOpX(c)) + { + Expr cons = NULL; + Expr rest = NULL; + if (isNumericConst(c->left())) + { + cons = c->left(); + rest = c->right(); + } + else if (isNumericConst(c->right())) + { + cons = c->right(); + rest = c->left(); + } + + if (cons != NULL) + { + repls[rest] = cons; + if (!emptyIntersect(rest, hardVars) || !IsConst()(rest)) + toInsertHard.insert(c); + } + else toInsert.insert(c); + } + else if (isBoolConst(c)) + { + repls[c] = mk(a->getFactory()); + if (!emptyIntersect(c, hardVars)) toInsertHard.insert(c); + } + else if (isOpX(c) && isBoolConst(c->left())) + { + if (emptyIntersect(c->left(), hardVars)) + repls[c->left()] = mk(a->getFactory()); + else toInsertHard.insert(c); + } +// else if (isOp(c)) +// { +// repls[c] = mk(a->getFactory()); +// repls[mkNeg(c)] = mk(a->getFactory()); +// toInsertHard.insert(c); +// } + else + { + toInsert.insert(c); + } + } + + it = cnjs.erase(it); + } + + bool toRestart = false; + for (auto & a : toInsert) + { + Expr b = replaceAll(a, repls); + if (doArithm) b = simplifyArithm(b); + b = simplifyBool(b); + if (!toRestart && a != b) toRestart = true; + cnjs.insert(b); + } + cnjs.insert(toInsertHard.begin(), toInsertHard.end()); + + if (toRestart) + constantPropagationRec(hardVars, cnjs, repls, doArithm); + } + + // simplification based on boolean replacements + inline static void constantPropagation(ExprVector& hardVars, ExprSet& cnjs, bool doArithm = true) { - RW rw(new PlusMinusChanger(exp->getFactory())); - return dagVisit (rw, exp); + ExprMap repls; + constantPropagationRec(hardVars, cnjs, repls, doArithm); } - - inline static ExprSet minusSets(ExprSet& v1, ExprSet& v2){ - ExprSet v3; - bool res; - for (auto &var1: v1){ - res = true; - for (auto &var2: v2){ - if (var1 == var2) { res = false; break;} + + // simplification based on equivalence classes + inline static Expr simpEquivClasses(ExprVector& hardVars, ExprSet& cnjs, ExprFactory& efac) + { +// outs () << "\n"; +// for (auto r : cnjs) outs () << r << "\n"; +// outs () << " - - - - - - - - - - - -\n"; + + set equivs; + Expr res = conjoin(cnjs, efac); + + // get classes + for (auto it = cnjs.begin(); it != cnjs.end(); it = cnjs.erase(it)) + { + Expr e = *it; + if (isOpX(e)) // && IsConst() (e->left()) && IsConst() (e->right())) + { + bool found = false; + for (auto eq : equivs) + { + bool foundLeft = find(eq->begin(), eq->end(), e->left()) != eq->end(); + bool foundRight = find(eq->begin(), eq->end(), e->right()) != eq->end(); + if (foundLeft && !foundRight) { found = true; eq->push_back(e->right()); break; } + else if (!foundLeft && foundRight) { found = true; eq->push_back(e->left()); break; } + } + if (!found) + { + ExprVector* n = new ExprVector(); + n->push_back(e->left()); + n->push_back(e->right()); + equivs.insert(n); + } + } + } + + // do rewriting + bool toRepeat = false; + ExprSet removed; + for (auto & eq : equivs) + { + Expr hardVar = NULL; + for (auto & a : hardVars) + { + for (auto it = eq->begin(); it != eq->end(); ++it) + if (contains(*it, a)) // for the case of selects + { hardVar = *it; break; } + if (hardVar != NULL) break; } - if (res) v3.insert(var1); + + if (hardVar == NULL) continue; + + for (auto it = eq->begin(); it != eq->end(); ++it) + { + ExprVector av; + filter (*it, IsConst (), inserter(av, av.begin())); + if (av.size() > 0 && emptyIntersect(av, hardVars) && // don't replace constants and hardVars + emptyIntersect(hardVar, removed) && IsConst()(*it)) // + { + removed.insert(*it); + res = replaceAll(res, *it, hardVar); +// outs () << " replace: " << *it << " by " << hardVar << "\n"; + toRepeat = true; + } + } + free(eq); + } + res = simplifyBool(res); + if (toRepeat) + { + getConj(res, cnjs); + return simpEquivClasses(hardVars, cnjs, efac); } - return v3; + return res; } - - inline static bool emptyIntersect(Expr a, Expr b){ - ExprVector av; - ExprVector bv; - - filter (a, bind::IsConst (), inserter(av, av.begin())); - filter (b, bind::IsConst (), inserter(bv, bv.begin())); - - for (auto &var1: av){ - for (auto &var2: bv){ - if (var1 == var2){ - return false; + + struct SimplifyQuantsExpr + { + SimplifyQuantsExpr () {}; + + Expr operator() (Expr exp) + { + if (isOpX(exp) || isOpX(exp)) + { + ExprVector args; + for (int i = 0; i < exp->arity() - 1; i++) + { + Expr v = exp->arg(i); + if (contains(exp->last(), v)) + args.push_back(v); } + if (args.empty()) return exp->last(); + args.push_back(exp->last()); + if (isOpX(exp)) return mknary(args); + else return mknary(args); } + return exp; } - return true; + }; + + inline static Expr simplifyQuants (Expr exp) + { + RW rw(new SimplifyQuantsExpr()); + return dagVisit (rw, exp); } - - inline static bool emptyIntersect(Expr a, ExprSet& bv){ - ExprVector av; - - filter (a, bind::IsConst (), inserter(av, av.begin())); - - for (auto &var1: av){ - for (auto &var2: bv) if (var1 == var2) return false; + + // rewrites v1 to contain v1 \ v2 + template static void minusSets(ExprSet& v1, Range& v2){ + for (auto it = v1.begin(); it != v1.end(); ){ + if (find(v2.begin(), v2.end(), *it) != v2.end()) + it = v1.erase(it); + else ++it; + } + } + + // rewrites v1 to contain only v2 + template static void keepOnly(Range1& v1, Range2& v2){ + for (auto it = v1.begin(); it != v1.end(); ){ + if (find(v2.begin(), v2.end(), *it) == v2.end()) + it = v1.erase(it); + else ++it; } + } + + // is v1 a subset of v2? + template static bool isSubset(Range1& v1, Range2& v2){ + for (auto it = v1.begin(); it != v1.end(); ++it) + if (find(v2.begin(), v2.end(), *it) == v2.end()) + return false; return true; } - - inline static void getConj (Expr a, ExprVector &conjs) + + void getQVars (Expr exp, map& vars); + + void getExtraVars(Expr fla, ExprVector& vars, ExprSet& allVars) { - if (isOpX(a)) return; - if (isOpX(a)){ - for (unsigned i = 0; i < a->arity(); i++){ - getConj(a->arg(i), conjs); + filter (fla, bind::IsConst (), inserter (allVars, allVars.begin())); + minusSets(allVars, vars); + map qv; + getQVars (fla, qv); + for (auto & q : qv) minusSets(allVars, q.second); + } + + bool hasOnlyVars(Expr fla, ExprVector& vars) + { + ExprSet allVars; + getExtraVars(fla, vars, allVars); + return allVars.empty(); + } + + template static int getVarIndex(T e, R& vec) + { + int i = 0; + for (auto & v : vec) + { + if (v == e) return i; + i++; + } + return -1; + } + + static Expr rewriteMultAdd (Expr exp); + + inline static void getAddTerm (Expr a, ExprVector &terms) // implementation (mutually recursive) + { + if (isOpX(a)) + { + for (auto it = a->args_begin (), end = a->args_end (); it != end; ++it) + { + getAddTerm(*it, terms); + } + } + else if (isOpX(a)) + { + auto it = a->args_begin (); + auto end = a->args_end (); + getAddTerm(*it, terms); + ++it; + for (; it != end; ++it) + { + getAddTerm(additiveInverse(*it), terms); + } + } + else if (isOpX(a)) + { + ExprVector tmp; + getAddTerm(a->left(), tmp); + for (auto & t : tmp) + { + bool toadd = true; + for (auto it = terms.begin(); it != terms.end(); ) + { + if (*it == t) + { + terms.erase(it); + toadd = false; + break; + } + else ++it; + } + if (toadd) terms.push_back(additiveInverse(t)); } - } else { - if(find(conjs.begin(), conjs.end(), a) == conjs.end()) - conjs.push_back(a); + } + else if (isOpX(a)) + { + Expr tmp = rewriteMultAdd(a); + if (tmp == a) terms.push_back(a); + else getAddTerm(tmp, terms); + } + else if (lexical_cast(a) != "0") + { + bool found = false; + for (auto it = terms.begin(); it != terms.end(); ) + { + if (additiveInverse(*it) == a) + { + terms.erase(it); + found = true; + break; + } + else ++it; + } + if (!found) terms.push_back(a); } } - - /** - * To rem - */ - inline bool containsOnlyOf(Expr a, Expr b) + + struct AddMultDistr { - ExprVector av; - filter (a, bind::IsConst (), back_inserter (av)); - if (av.size() == 1) if (av[0] == b) return true; - - return false; + AddMultDistr () {}; + + Expr operator() (Expr exp) + { + if (isOpX(exp) && exp->arity() == 2) + { + Expr lhs = exp->left(); + Expr rhs = exp->right(); + + ExprVector alllhs; + getAddTerm(lhs, alllhs); + + ExprVector allrhs; + getAddTerm(rhs, allrhs); + + ExprVector unf; + for (auto &a : alllhs) + { + for (auto &b : allrhs) + { + unf.push_back(mk(a, b)); + } + } + return mkplus(unf, exp->getFactory()); + } + + return exp; + } + }; + + inline static Expr rewriteMultAdd (Expr exp) + { + RW mu(new AddMultDistr()); + return dagVisit (mu, exp); } - - inline static Expr simplifiedAnd (Expr a, Expr b){ - ExprVector conjs; - getConj(a, conjs); - getConj(b, conjs); - return - (conjs.size() == 0) ? mk(a->getFactory()) : - (conjs.size() == 1) ? conjs[0] : - mknary(conjs); + + struct FindNonlinAndRewrite + { + ExprVector& vars; + ExprMap& extraVars; + bool arrays; + + FindNonlinAndRewrite (ExprVector& _vars, ExprMap& _extraVars, bool _arrays) : + vars(_vars), extraVars(_extraVars), arrays(_arrays) {}; + + Expr operator() (Expr t) + { + if (isOpX(t)) + { + // using the communativity of multiplication + ExprVector ops; + getMultOps(t, ops); + + ExprVector nonlinPart; + cpp_int linPart = 1; + for (auto & a : ops) + { + ExprVector av; + filter (a, IsConst (), inserter(av, av.begin())); + if (av.size() == 0) + { + linPart = linPart * lexical_cast(a); + continue; + } + for (auto & b : av) + { + if (find(vars.begin(), vars.end(), b) == vars.end()) + { + bool found = false; + for (auto & c : extraVars) if (c.second == b) { found = true; break; } + if (! found) + { +// errs () << "WARNING. Wrong symbol at " << *t << ".\n"; + return mk(t->getFactory()); + } + } + } + nonlinPart.push_back(a); + } + + if (linPart == 0) return mkMPZ (0, t->getFactory()); + if (nonlinPart.size() <= 1) return t; + + Expr multedVars = mkmult(nonlinPart, t->getFactory()); + if (extraVars[multedVars] == NULL) + { + Expr new_name = mkTerm ("__e__" + to_string(extraVars.size()), t->getFactory()); + Expr var = intConst(new_name); + extraVars[multedVars] = var; + } + + if (linPart == 1) return extraVars[multedVars]; + else return mk( mkMPZ(linPart, t->getFactory()), extraVars[multedVars]); + } + else if (isOpX(t) || isOpX(t) || isOpX
(t) || (arrays && isOpX(rhs)) + { + Expr arrVar = rhs->left(); + if (isOpX(arrVar)) + { + return unfoldITE (reBuildCmp(term, + mk(arrVar->left(), + mk(arrVar->last(), rhs->right())), lhs)); + } + } + } + return term; + } + + struct MoveInsideITEr + { + MoveInsideITEr () {}; + + Expr operator() (Expr exp) + { + if (isOpX(exp)) + { + Expr ite = exp->arg(0); + if (isOpX(ite)) + { + return mk(ite->arg(0), + mk(ite->arg(1), exp->arg(1)), + mk(ite->arg(2), exp->arg(1))); + } + } + if (isOpX(exp)) + { + ExprVector args; + Expr ite; + for (auto it = exp->args_begin(), end = exp->args_end(); it != end; ++it) + { + if (isOpX(*it)) + { + if (ite != NULL) return exp; + ite = *it; + } + else + { + args.push_back(*it); + } + } + + if (ite == NULL) return exp; + + Expr multiplier = mkmult (args, exp->getFactory()); + return mk(ite->arg(0), + mk(multiplier, ite->arg(1)), + mk(multiplier, ite->arg(2))); + } + + return exp; + } + }; + + inline static Expr moveInsideITE (Expr exp) + { + RW a(new MoveInsideITEr()); + return dagVisit (a, exp); + } + + struct RAVSUBEXPR: public std::unary_function + { + Expr s; + Expr t; + Expr p; + + RAVSUBEXPR (Expr _s, Expr _t, Expr _p) : s(_s), t(_t), p(_p) {} + VisitAction operator() (Expr exp) const + { + return exp == s ? + VisitAction::changeTo (replaceAll(exp, t, p)) : + VisitAction::doKids (); + } + }; + + // -- replace all occurrences of t by p in a subexpression s of exp + inline Expr replaceInSubexpr (Expr exp, Expr s, Expr t, Expr p) + { + RAVSUBEXPR rav(s, t, p); + return dagVisit (rav, exp); + } + + struct NegAndRewriter + { + NegAndRewriter () {}; + + Expr operator() (Expr exp) + { + if (isOpX(exp) && isOpX(exp->arg(0))) + { + ExprSet cnjs; + getConj(exp->arg(0), cnjs); + ExprSet neggedCnjs; + for (auto & c : cnjs) neggedCnjs.insert(mkNeg(c)); + return disjoin(neggedCnjs, exp->getFactory()); + } + return exp; + } + }; + + struct SelectStoreRewriterHelpRepairer + { + Expr ind; + ExprFactory& efac; + SelectStoreRewriterHelpRepairer (Expr _ind) : + ind(_ind), efac(ind->getFactory()) {}; + + Expr operator() (Expr exp) + { + if (isOpX(exp) && isOpX(exp) && isOpX(exp->left())) + { + if (exp->right() == exp->left()->right()) + return exp->left()->last(); + else + return mk(mk(exp->right(), exp->left()->right()), + exp->left()->last(), mk(val, sel->right())); + if (containsOp(sel->left())) + { + Expr nested = rewriteSelectStore(mk(val, sel->left())); + RW + a(new SelectStoreRewriterHelpRepairer(sel->right())); + return mk(dagVisit (a, nested), main); + } + return main; + } + return exp; + } + }; + + struct SelectReplacer : public std::unary_function + { + ExprMap& sels; + SelectReplacer (ExprMap& _sels) : sels(_sels) {}; + + Expr operator() (Expr exp) + { + if (isOpX(store->left(), s->right())))); + } + } + } + } + + if (eqs.empty()) continue; + + Expr repl = *eqs.begin(); + bool no_qv = emptyIntersect(repl, quantified); + int min_sz = treeSize(repl); + int is_const = isOpX(repl); + + // first, search for a non-constant replacement without quantified vars, if possible + for (auto cnj = std::next(eqs.begin()); cnj != eqs.end(); cnj++) { + bool no_qv_cur = emptyIntersect(*cnj, quantified); + int sz_cur = treeSize(*cnj); + int is_const_cur = isOpX(*cnj); + if (no_qv < no_qv_cur || (no_qv_cur && is_const) || (sz_cur < min_sz && !is_const_cur)) { + repl = *cnj; + min_sz = sz_cur; + no_qv = no_qv_cur; + is_const = is_const_cur; + } + } + + // second, make sure that all replacements are equal + for (auto cnj = eqs.begin(); cnj != eqs.end(); cnj++) + if (*cnj != repl) cnjs.push_back(mk(repl, *cnj)); + + // finally, replace the remaining cnjs + for (unsigned it = 0; it < cnjs.size(); it++) + cnjs[it] = replaceAll(cnjs[it], var, repl); + + } + + return (conjoin(cnjs, exp->getFactory())); + } + + struct QESubexpr + { + ExprVector& quantified; + QESubexpr (ExprVector& _quantified): quantified(_quantified) {}; + + Expr operator() (Expr exp) + { + if (isOpX(exp) && !containsOp(exp)) + { + return simpleQE(exp, quantified); + } + return exp; + } + }; + + inline static Expr simpleQERecurs(Expr exp, ExprVector& quantified) + { + RW a(new QESubexpr(quantified)); + return dagVisit (a, exp); + } + + inline static Expr rewriteNegAnd(Expr exp) + { + RW a(new NegAndRewriter()); + return dagVisit (a, exp); + } + + inline static Expr rewriteSelectStore(Expr exp) + { + RW a(new SelectStoreRewriter()); + return dagVisit (a, unfoldITE(simplifyArr(exp))); + } + + inline static void getCounters (Expr a, ExprSet &cntrs) + { + if (isOpX(a)){ + sels.insert(a); + } else { + for (unsigned i = 0; i < a->arity(); i++) + getSelects(a->arg(i), sels); + } + } + + inline static void getStores (Expr a, ExprSet &st) + { + if (isOpX(a)){ + st.insert(a); + getStores(a->left(), st); + } else { + for (unsigned i = 0; i < a->arity(); i++) + getStores(a->arg(i), st); + } + } + + // very simple check if tautology (SMT-based check is expensive) + inline static bool isTautology(Expr fla) + { + if (isOpX(fla)) + if (fla->arg(0) == fla->arg(1)) return true; + + if (isOp(fla)) + if (isOpX(fla->arg(0)) && isOpX(fla->arg(1))) + return evaluateCmpConsts(fla, + lexical_cast(fla->arg(0)), lexical_cast(fla->arg(1))); + + ExprSet cnjs; + getConj(fla, cnjs); + if (cnjs.size() < 2) return false; + + bool res = true; + for (auto &a : cnjs) res &= isTautology(a); + + return res; + } + + inline static bool isLinearCombination(Expr term) + { + // an approximation of.. + if (isNumericConst(term)) { + return false; + } + else if (isIntConst(term)) { + return true; + } + else if (isOpX(term)) { + bool res = false; + for (auto it = term->args_begin(), end = term->args_end(); it != end; ++it){ + res = res || isLinearCombination(*it); + } + return res; + } + else if (isOpX(term) || isOpX(term) || isOpX(term)) { + bool res = true; + for (auto it = term->args_begin(), end = term->args_end(); it != end; ++it){ + res = res && isLinearCombination(*it); + } + return res; + } + return false; + } + + // similar to simplifyArithmDisjunctions + inline static Expr simplifyArithmConjunctions(Expr fla, bool keep_redundand = false) + { + ExprFactory& efac = fla->getFactory(); + ExprSet cnjs, newCnjs; + getConj(fla, cnjs); + if (cnjs.size() == 1) return *cnjs.begin(); + ExprSet lin_coms; + + // search for a var, const*var or whatever exists in any conjunct + for (auto & d : cnjs) { + if (!isOp(d) || + !isNumeric(d->arg(0))) { + newCnjs.insert(d); + continue; + } + + Expr tmp = simplifyArithm( + reBuildCmp(d, mk(d->arg(0), additiveInverse(d->arg(1))), + mkMPZ (0, efac))); + tmp = ineqReverter(tmp); + + if (isOpX(tmp)) continue; + if (isOpX(tmp)) return tmp; + + newCnjs.insert(tmp); + lin_coms.insert(tmp->arg(0)); + } + + if (lin_coms.size() == 0) + { + if (!keep_redundand) ineqMerger(cnjs, true); + return conjoin(cnjs, efac); + } + + for (auto &lin_com : lin_coms) { + + cpp_int cur_max_gt; + cpp_int cur_max_ge; + cpp_int cur_min_lt; + cpp_int cur_min_le; + + bool cur_max_gt_bl = false; + bool cur_max_ge_bl = false; + bool cur_min_lt_bl = false; + bool cur_min_le_bl = false; + + set all_diseqs; + + for (auto it = newCnjs.begin(); it != newCnjs.end(); ) { + auto d = *it; + + if (!isOp(d) || + d->arg(0) != lin_com || + !isOpX(d->arg(1))) { + ++it; + continue; + } + + cpp_int c = lexical_cast(d->arg(1)); + + if (isOpX(d)) { + all_diseqs.insert(c); + } + if (isOpX(d)) { + cur_min_le = cur_min_le_bl ? min(cur_min_le, c) : c; + cur_min_le_bl = true; + } + if (isOpX(d)) { + cur_max_ge = cur_max_ge_bl ? max(cur_max_ge, c) : c; + cur_max_ge_bl = true; + } + if (isOpX(d)) { + cur_min_lt = cur_min_lt_bl ? min(cur_min_lt, c) : c; + cur_min_lt_bl = true; + } + if (isOpX(d)) { + cur_max_gt = cur_max_gt_bl ? max(cur_max_gt, c) : c; + cur_max_gt_bl = true; + } + if (isOpX(d)) { + cur_max_ge = cur_max_ge_bl ? max(cur_max_ge, c) : c; + cur_min_le = cur_min_le_bl ? min(cur_min_le, c) : c; + cur_max_ge_bl = true; + cur_min_le_bl = true; + } + if (keep_redundand) it++; + else newCnjs.erase (it++); + } + + if (cur_min_le_bl) + while (true) { + auto tmp = cur_min_le; + for (auto it = all_diseqs.begin(); it != all_diseqs.end(); ) { + if (*it == cur_min_le) { + cur_min_le--; + if (keep_redundand) + newCnjs.insert(mk(lin_com, mkMPZ (cur_min_le, efac))); + it = all_diseqs.erase(it); + } else if (*it > cur_min_le) { // remove redundand, e.g., (x != 7 /\ x <= 5) + if (keep_redundand) + newCnjs.insert(mk(lin_com, mkMPZ (*it, efac))); + it = all_diseqs.erase(it); + } + else ++it; + } + if (tmp == cur_min_le) break; + } + + if (cur_min_lt_bl) + while (true) { + auto tmp = cur_min_lt; + for (auto it = all_diseqs.begin(); it != all_diseqs.end(); ) { + if (*it == cur_min_lt - 1) { + cur_min_lt--; + if (keep_redundand) + newCnjs.insert(mk(lin_com, mkMPZ (cur_min_lt, efac))); + it = all_diseqs.erase(it); + } else if (*it >= cur_min_lt) { // remove redundand, e.g., (x != 5 /\ x < 5) + if (keep_redundand) + newCnjs.insert(mk(lin_com, mkMPZ (*it, efac))); + it = all_diseqs.erase(it); + } + else ++it; + } + if (tmp == cur_min_lt) break; + } + + if (cur_max_ge_bl) + while (true) { + auto tmp = cur_max_ge; + for (auto it = all_diseqs.begin(); it != all_diseqs.end(); ) { + if (*it == cur_max_ge) { + cur_max_ge++; + if (keep_redundand) + newCnjs.insert(mk(lin_com, mkMPZ (cur_max_ge, efac))); + it = all_diseqs.erase(it); + } else if (*it < cur_max_ge) { // remove redundand, e.g., (x != 4 /\ x >= 5) + if (keep_redundand) + newCnjs.insert(mk(lin_com, mkMPZ (*it, efac))); + it = all_diseqs.erase(it); + } + else ++it; + } + if (tmp == cur_max_ge) break; + } + + if (cur_max_gt_bl) + while (true) { + auto tmp = cur_max_gt; + for (auto it = all_diseqs.begin(); it != all_diseqs.end(); ) { + if (*it == cur_max_gt + 1) { + cur_max_gt++; + if (keep_redundand) + newCnjs.insert(mk(lin_com, mkMPZ (cur_max_gt, efac))); + it = all_diseqs.erase(it); + } else if (*it <= cur_max_gt) { // remove redundand, e.g., (x != 5 /\ x > 5) + if (keep_redundand) + newCnjs.insert(mk(lin_com, mkMPZ (*it, efac))); + it = all_diseqs.erase(it); + } + else ++it; + } + if (tmp == cur_max_gt) break; + } + + for (auto c : all_diseqs) { + newCnjs.insert (mk(lin_com, mkMPZ (c, efac))); + } + + if ((cur_max_gt_bl && cur_min_lt_bl && cur_max_gt >= cur_min_lt - 1) || // e.g., (x > 3 /\ x < 4) + (cur_max_ge_bl && cur_min_lt_bl && cur_max_ge >= cur_min_lt) || + (cur_max_gt_bl && cur_min_le_bl && cur_max_gt >= cur_min_le) || + (cur_max_ge_bl && cur_min_le_bl && cur_max_ge >= cur_min_le + 1)) + return mk(efac); + + if (cur_max_ge_bl && cur_min_le_bl && cur_max_ge == cur_min_le && newCnjs.empty()) + { + Expr res = mk(lin_com, mkMPZ (cur_min_le, efac)); + if (keep_redundand) newCnjs.insert(res); + else return res; + } + + if (cur_max_gt_bl && cur_min_le_bl && cur_max_gt + 1 == cur_min_le && newCnjs.empty()) + { + Expr res = mk(lin_com, mkMPZ (cur_min_le, efac)); + if (keep_redundand) newCnjs.insert(res); + else return res; + } + + if (cur_max_ge_bl && cur_min_lt_bl && cur_max_ge + 1 == cur_min_lt && newCnjs.empty()) + { + Expr res = mk(lin_com, mkMPZ (cur_max_ge, efac)); + if (keep_redundand) newCnjs.insert(res); + else return res; + } + + if (cur_max_gt_bl && cur_min_lt_bl && cur_max_gt + 2 == cur_min_lt && newCnjs.empty()) + { + Expr res = mk(lin_com, mkMPZ (cur_max_gt + 1, efac)); + if (keep_redundand) newCnjs.insert(res); + else return res; + } + + if (cur_min_le_bl && cur_min_lt_bl) { + if (cur_min_le >= cur_min_lt) { + newCnjs.insert(mk(lin_com, mkMPZ (cur_min_lt, efac))); + } + else { + newCnjs.insert(mk(lin_com, mkMPZ (cur_min_le, efac))); + } + } + else { + if (cur_min_le_bl) { + newCnjs.insert(mk(lin_com, mkMPZ (cur_min_le, efac))); + } + if (cur_min_lt_bl) { + newCnjs.insert(mk(lin_com, mkMPZ (cur_min_lt, efac))); + } + } + + if (cur_max_ge_bl && cur_max_gt_bl) { + if (cur_max_ge <= cur_max_gt) { // e.g., x > 5 /\ x >= 5 + newCnjs.insert(mk(lin_com, mkMPZ (cur_max_gt, efac))); + } + else { + newCnjs.insert(mk(lin_com, mkMPZ (cur_max_ge, efac))); + } + } + else { + if (cur_max_ge_bl) { + newCnjs.insert(mk(lin_com, mkMPZ (cur_max_ge, efac))); + } + if (cur_max_gt_bl) { + newCnjs.insert(mk(lin_com, mkMPZ (cur_max_gt, efac))); + } + } + } + + if (!keep_redundand) ineqMerger(newCnjs, true); + return conjoin(newCnjs, efac); + } + + // symmetric to simplifyArithmConjunctions + inline static Expr simplifyArithmDisjunctions(Expr fla, bool keep_redundand = false) + { + ExprFactory& efac = fla->getFactory(); + ExprSet dsjs, newDsjs; + getDisj(fla, dsjs); + if (dsjs.size() == 1) return *dsjs.begin(); + + ExprSet lin_coms; + + // search for a var, const*var or whatever exists in any disjunct + for (auto & d : dsjs) { + + if (!isOp(d) || + !isNumeric(d->arg(0))) { + newDsjs.insert(d); + continue; + } + + Expr tmp = simplifyArithm( + reBuildCmp(d, mk(d->arg(0), additiveInverse(d->arg(1))), mkMPZ (0, efac))); + + if (isOpX(tmp)) return tmp; + if (isOpX(tmp)) continue; + + tmp = ineqReverter(tmp); + newDsjs.insert(tmp); + lin_coms.insert(tmp->arg(0)); + } + + if (lin_coms.size() == 0) return disjoin(dsjs, efac); + + for (auto &lin_com : lin_coms) { + + cpp_int cur_min_gt; + cpp_int cur_min_ge; + cpp_int cur_max_lt; + cpp_int cur_max_le; + + bool cur_min_gt_bl = false; + bool cur_min_ge_bl = false; + bool cur_max_lt_bl = false; + bool cur_max_le_bl = false; + + set all_eqs; + + for (auto it = newDsjs.begin(); it != newDsjs.end(); ) { + auto d = *it; + + if (!isOp(d) || + d->arg(0) != lin_com || + !isOpX(d->arg(1))) { + ++it; + continue; + } + + cpp_int c = lexical_cast(d->arg(1)); + + if (isOpX(d)) { + all_eqs.insert(c); + } + if (isOpX(d)) { + cur_max_le = cur_max_le_bl ? max(cur_max_le, c) : c; + cur_max_le_bl = true; + } + if (isOpX(d)) { + cur_min_ge = cur_min_ge_bl ? min(cur_min_ge, c) : c; + cur_min_ge_bl = true; + } + if (isOpX(d)) { + cur_max_lt = cur_max_lt_bl ? max(cur_max_lt, c) : c; + cur_max_lt_bl = true; + } + if (isOpX(d)) { + cur_min_gt = cur_min_gt_bl ? min(cur_min_gt, c) : c; + cur_min_gt_bl = true; + } + if (isOpX(d)) { + cur_min_gt = cur_min_gt_bl ? min(cur_min_gt, c) : c; + cur_max_lt = cur_max_lt_bl ? max(cur_max_lt, c) : c; + cur_min_gt_bl = true; + cur_max_lt_bl = true; + } + if (keep_redundand) it++; + else newDsjs.erase (it++); + } + + if (cur_max_le_bl) + while (true) { + auto tmp = cur_max_le; + for (auto it = all_eqs.begin(); it != all_eqs.end(); ) { + if (*it == cur_max_le + 1) { + cur_max_le++; + if (keep_redundand) + newDsjs.insert(mk(lin_com, mkMPZ (cur_max_le, efac))); + it = all_eqs.erase(it); + } else if (*it <= cur_max_le) { // remove redundand, e.g., (x = 3 \/ x <= 5) + if (keep_redundand) + newDsjs.insert(mk(lin_com, mkMPZ (*it, efac))); + it = all_eqs.erase(it); + } + else ++it; + } + if (tmp == cur_max_le) break; + } + + if (cur_max_lt_bl) + while (true) { + auto tmp = cur_max_lt; + for (auto it = all_eqs.begin(); it != all_eqs.end(); ) { + if (*it == cur_max_lt) { + cur_max_lt++; + if (keep_redundand) + newDsjs.insert(mk(lin_com, mkMPZ (cur_max_lt, efac))); + it = all_eqs.erase(it); + } else if (*it < cur_max_lt) { // remove redundand, e.g., (x = 4 \/ x < 5) + if (keep_redundand) + newDsjs.insert(mk(lin_com, mkMPZ (*it, efac))); + it = all_eqs.erase(it); + } + else ++it; + } + if (tmp == cur_max_lt) break; + } + + if (cur_min_ge_bl) + while (true) { + auto tmp = cur_min_ge; + for (auto it = all_eqs.begin(); it != all_eqs.end(); ) { + if (*it == cur_min_ge - 1) { + cur_min_ge--; + if (keep_redundand) + newDsjs.insert(mk(lin_com, mkMPZ (cur_min_ge, efac))); + it = all_eqs.erase(it); + } else if (*it >= cur_min_ge) { // remove redundand, e.g., (x = 9 \/ x >= 5) + if (keep_redundand) + newDsjs.insert(mk(lin_com, mkMPZ (*it, efac))); + it = all_eqs.erase(it); + } + else ++it; + } + if (tmp == cur_min_ge) break; + } + + if (cur_min_gt_bl) + while (true) { + auto tmp = cur_min_gt; + for (auto it = all_eqs.begin(); it != all_eqs.end(); ) { + if (*it == cur_min_gt) { + cur_min_gt--; + if (keep_redundand) + newDsjs.insert(mk(lin_com, mkMPZ (cur_min_gt, efac))); + it = all_eqs.erase(it); + } else if (*it > cur_min_gt) { // remove redundand, e.g., (x = 6 \/ x > 5) + if (keep_redundand) + newDsjs.insert(mk(lin_com, mkMPZ (*it, efac))); + it = all_eqs.erase(it); + } + else ++it; + } + if (tmp == cur_min_gt) break; + } + + for (auto c : all_eqs) { + newDsjs.insert (mk(lin_com, mkMPZ (c, efac))); + } + + if ((cur_min_gt_bl && cur_max_lt_bl && cur_min_gt <= cur_max_lt - 1) || + (cur_min_ge_bl && cur_max_lt_bl && cur_min_ge <= cur_max_lt) || + (cur_min_gt_bl && cur_max_le_bl && cur_min_gt <= cur_max_le) || + (cur_min_ge_bl && cur_max_le_bl && cur_min_ge <= cur_max_le + 1)) + return mk(efac); + + if (cur_min_gt_bl && cur_max_lt_bl && cur_min_gt == cur_max_lt && newDsjs.empty()) + { + Expr res = mk(lin_com, mkMPZ (cur_max_lt, efac)); + if (keep_redundand) newDsjs.insert(res); + else return res; + } + + if (cur_min_ge_bl && cur_max_lt_bl && cur_min_ge - 1 == cur_max_lt && newDsjs.empty()) + { + Expr res = mk(lin_com, mkMPZ (cur_max_lt, efac)); + if (keep_redundand) newDsjs.insert(res); + else return res; + } + + if (cur_min_gt_bl && cur_max_le_bl && cur_min_gt - 1 == cur_max_le && newDsjs.empty()) + { + Expr res = mk(lin_com, mkMPZ (cur_min_gt, efac)); + if (keep_redundand) newDsjs.insert(res); + else return res; + } + + if (cur_min_ge_bl && cur_max_le_bl && cur_min_ge - 2 == cur_max_le && newDsjs.empty()) + { + Expr res = mk(lin_com, mkMPZ (cur_min_ge - 1, efac)); + if (keep_redundand) newDsjs.insert(res); + else return res; + } + + if (cur_max_le_bl && cur_max_lt_bl) { + if (cur_max_le >= cur_max_lt) { + newDsjs.insert(mk(lin_com, mkMPZ (cur_max_le, efac))); + } + else { + newDsjs.insert(mk(lin_com, mkMPZ (cur_max_lt, efac))); + } + } + else { + if (cur_max_le_bl) { + newDsjs.insert(mk(lin_com, mkMPZ (cur_max_le, efac))); + } + if (cur_max_lt_bl) { + newDsjs.insert(mk(lin_com, mkMPZ (cur_max_lt, efac))); + } + } + + if (cur_min_ge_bl && cur_min_gt_bl) { + if (cur_min_ge <= cur_min_gt) { + newDsjs.insert(mk(lin_com, mkMPZ (cur_min_ge, efac))); + } + else { + newDsjs.insert(mk(lin_com, mkMPZ (cur_min_gt, efac))); + } + } + else { + if (cur_min_ge_bl) { + newDsjs.insert(mk(lin_com, mkMPZ (cur_min_ge, efac))); + } + if (cur_min_gt_bl) { + newDsjs.insert(mk(lin_com, mkMPZ (cur_min_gt, efac))); + } + } + } + + return disjoin(newDsjs, efac); + } + + inline static Expr normalizeAtom(Expr fla, ExprVector& intVars) + { + if (isOp(fla) && isNumeric(fla->left())) + { + Expr lhs = fla->left(); + Expr rhs = fla->right(); + + ExprVector all; + ExprVector allrhs; + + getAddTerm(lhs, all); + getAddTerm(rhs, allrhs); + for (auto & a : allrhs) + { + all.push_back(additiveInverse(a)); + } + ExprSet newlhs; + for (auto &v : intVars) + { + cpp_int coef = 0; + string s1 = lexical_cast(v); + for (auto it = all.begin(); it != all.end();) + { + if (!contains(*it, v)) { ++it; continue; } + string s2 = lexical_cast(*it); + + if (s1 == s2) + { + coef++; + it = all.erase(it); + } + else if (isOpX(*it)) + { + string s3 = lexical_cast((*it)->left()); + if (s1 == s3) + { + coef--; + it = all.erase(it); + } + else + { + ++it; + } + } + else if (isOpX(*it)) + { + ExprVector ops; + getMultOps (*it, ops); + + cpp_int c = 1; + bool success = true; + for (auto & a : ops) + { + if (s1 == lexical_cast(a)) + { + // all good! + } + else if (isOpX(a)) + { + c = c * lexical_cast(a); + } + else + { + ++it; + success = false; + break; + } + } + if (success) + { + coef += c; + it = all.erase(it); + } + } + else + { + ++it; + } + } + if (coef != 0) newlhs.insert(mk(mkMPZ(coef, fla->getFactory()), v)); + } + + bool success = true; + cpp_int intconst = 0; + + for (auto &e : all) + { + if (isOpX(e)) + { + intconst += lexical_cast(e); + } + else if (isOpX(e)) + { + // GF: sometimes it fails (no idea why) + cpp_int thisTerm = 1; + for (auto it = e->args_begin (), end = e->args_end (); it != end; ++it) + { + if (isOpX(*it)) + thisTerm *= lexical_cast(*it); + else + success = false; + } + intconst += thisTerm; + } + else + { + success = false; + } + } + + if (success && newlhs.size() == 0) + { + return (evaluateCmpConsts(fla, 0, -intconst)) ? mk(fla->getFactory()) : + mk(fla->getFactory()); + } + + if (success) + { + Expr pl = (newlhs.size() == 1) ? *newlhs.begin(): mknary(newlhs); + Expr c = mkMPZ (-intconst, fla->getFactory()); + return reBuildCmp(fla, pl, c); + } + } + return fla; + } + + inline static Expr normalizeDisj(Expr exp, ExprVector& intVars) + { + ExprSet disjs; + ExprSet newDisjs; + getDisj(exp, disjs); + for (auto &d : disjs) + { + Expr norm = normalizeAtom(d, intVars); + if ( isOpX (norm)) return norm; + if (!isOpX(norm)) newDisjs.insert(norm); + } + return disjoin(newDisjs, exp->getFactory()); + } + + inline static Expr normalize(Expr fla) + { + ExprVector vars; + filter (fla, IsConst (), inserter(vars, vars.begin())); + if (isOpX(fla) || isOpX(fla)) + { + ExprSet args; + for (int i = 0; i < fla->arity(); i++){ + args.insert(normalizeAtom(fla->arg(i), vars)); + } + + return simplifyBool(isOpX(fla) ? conjoin (args, fla->getFactory()) : + disjoin (args, fla->getFactory())); + } + return normalizeAtom(fla, vars); + } + + inline static bool getLinCombCoefs(Expr ex, set& intCoefs) + { + bool res = true; + if (isOpX(ex)) return false; + if (isOpX(ex)) + { + for (auto it = ex->args_begin (), end = ex->args_end (); it != end; ++it) + res = res && getLinCombCoefs(*it, intCoefs); + } + else if (isOp(ex)) // assuming the lin.combination is on the left side + { + if (!isOpX(ex->right())) return false; + ExprVector addt; + getAddTerm (ex->left(), addt); + for (auto & t : addt) + { + if (isOpX(t) && t->arity() == 2 && + isOpX(t->left()) && !isOpX(t->right())) + intCoefs.insert(lexical_cast (t->left())); + else return false; + } + } + return res; + } + + inline static bool getLinCombConsts(Expr ex, set& intConsts) + { + if (isOpX(ex)) + { + bool res = true; + for (auto it = ex->args_begin (), end = ex->args_end (); it != end; ++it) + res &= getLinCombConsts(*it, intConsts); + return res; + } + else if (isOp(ex)) // assuming the lin.combination is on the left side + { + if (isOpX(ex->right())) + intConsts.insert(lexical_cast (ex->right())); + else + return false; + } + return true; + } + + inline static void normalizeSelects(Expr& body) + { + ExprVector se; + filter (body, IsSelect (), inserter(se, se.begin())); + for (auto & s : se) + { + if (!isIntConst(s->right())) + { + Expr var_it = intConst(mkTerm ("it_" + lexical_cast(&s), body->getFactory())); + body = mk(replaceInSubexpr(body, s, s->right(), var_it), mk(s->right(), var_it)); + } + } + } + + inline static void uniqueizeSelects(Expr& body) + { + ExprVector se; + filter (body, IsSelect (), inserter(se, se.begin())); + if (se.size() < 2) return; + + ExprSet seenIterators; + for (auto & s : se) + { + if (find(seenIterators.begin(), seenIterators.end(), s->right()) == seenIterators.end()) + { + seenIterators.insert(s->right()); + } + else + { + Expr var_it = intConst(mkTerm ("it_" + lexical_cast(&s), body->getFactory())); + body = mk(replaceInSubexpr(body, s, s->right(), var_it), mk(s->right(), var_it)); + } + } + } + + inline static bool isSymmetric (Expr exp) + { + return isOpX(exp); + } + + Expr processNestedStores (Expr exp, ExprSet& cnjs) + { + // TODO: double check if cells are overwritten + Expr arrVar = exp->left(); + if (isOpX(arrVar)) arrVar = processNestedStores(arrVar, cnjs); + Expr indVar = exp->right(); + Expr valVar = exp->last(); + cnjs.insert(mk(mk(a); + if (sels[a]) noselects = false; + else allselects = false; + } + if (!noselects && ! allselects) + { + ExprSet newCnjs; + for (auto & a : cnjs) + if (sels[a]) newCnjs.insert(a); + newDsjs.insert(conjoin(newCnjs,exp->getFactory())); + } + } + return disjoin(newDsjs,exp->getFactory()); + } + return exp; + } + }; + + // opposite to TransitionOverapprox + struct TransitionMiner : public std::unary_function + { + ExprVector& srcVars; + ExprVector& dstVars; + ExprSet& transitions; + + TransitionMiner (ExprVector& _srcVars, ExprVector& _dstVars, ExprSet& _transitions): + srcVars(_srcVars), dstVars(_dstVars), transitions(_transitions) {}; + + VisitAction operator() (Expr exp) + { + if (isOp(exp) && !containsOp(exp)) + { + ExprVector av; + filter (exp, IsConst (), inserter(av, av.begin())); + if (!emptyIntersect(av, srcVars) && !emptyIntersect(av, dstVars)) + { + transitions.insert(exp); + } + return VisitAction::skipKids (); + } + return VisitAction::doKids (); + } + }; + + struct BoolEqRewriter + { + BoolEqRewriter () {}; + + Expr operator() (Expr exp) + { + if (isOpX(exp)) + { + Expr lhs = exp->left(); + Expr rhs = exp->right(); + if (isBoolConst(lhs) || isBoolConst(rhs) || + isOpX(lhs) || isOpX(rhs)) + { + return mk(mk(mkNeg(lhs), rhs), + mk(lhs, mkNeg(rhs))); + } + return exp; + } + return exp; + } + }; + + struct CondRetriever : public std::unary_function + { + ExprSet& conds; + + CondRetriever (ExprSet& _conds) : conds(_conds) {}; + + VisitAction operator() (Expr exp) + { + if (isOpX(exp) && !containsOp(exp->arg(0))) + { + conds.insert(exp->arg(0)); + } + return VisitAction::doKids (); + } + }; + + struct AccessRetriever : public std::unary_function + { + ExprSet& accs; + + AccessRetriever (ExprSet& _accs) : accs(_accs) {}; + + VisitAction operator() (Expr exp) + { + if ((isOpX(exp) && isOpX(exp) || isOpX(exp)) && + !(containsOp(exp) || containsOp(exp)) && + findMatching (pattern, exp, vars, matching)) + { + found = true; + matchingSet.insert(matching); + } + return VisitAction::doKids (); + } + }; + + inline bool findMatchingSubexpr (Expr pattern, Expr exp, ExprVector& vars, std::set& matchingSet) + { + SubexprMatcher fn (pattern, vars, matchingSet); + dagVisit (fn, exp); + return fn.found; + } + + inline static bool evalLeq(Expr a, Expr b) + { + if (isOpX(a) && isOpX(b)) + return (lexical_cast(a) <= lexical_cast(b)); + else return (a == b); // GF: to extend + } + + inline static void mutateHeuristic (Expr exp, ExprSet& guesses /*, int bnd = 100*/) + { + exp = unfoldITE(exp); + ExprSet cnjs; + getConj(exp, cnjs); + ExprSet ineqs; + ExprSet eqs; + ExprSet disjs; + for (auto c : cnjs) + { + if (isOpX(c)) c = mkNeg(c->left()); + + if (isOpX(c)) + { + if (isNumeric(c->left())) + { + eqs.insert(c); + ineqs.insert(mk(c->right(), c->left())); + ineqs.insert(mk(c->left(), c->right())); + } + else + { + guesses.insert(simplifyArithm(c)); + } + } + else if (isOp(c)) + { + if (isOpX(c)) ineqs.insert(c); + else if (isOpX(c)) ineqs.insert(mk(c->right(), c->left())); + else if (isOpX(c)) + { + if (isOpX(c->left())) + ineqs.insert(mk(c->right(), mkMPZ (lexical_cast(c->left())-1, exp->getFactory()))); + else if(isOpX(c->right())) + ineqs.insert(mk(mkMPZ (lexical_cast(c->right())+1, exp->getFactory()), c->left())); + else + ineqs.insert(mk(c->right(), mk(c->left(), mkMPZ (1, exp->getFactory())))); + } + else if (isOpX(c)) + { + if (isOpX(c->left())) + ineqs.insert(mk(mkMPZ (lexical_cast(c->left())+1, exp->getFactory()), c->right())); + else if(isOpX(c->right())) + ineqs.insert(mk(c->left(), mkMPZ (lexical_cast(c->right())-1, exp->getFactory()))); + else + ineqs.insert(mk(c->left(), mk(c->right(), mkMPZ (1, exp->getFactory())))); + } + else + { + assert (isOpX(c)); + guesses.insert(c); + } + } +/* else if (isOpX(c)) + { + ExprSet terms; + getDisj(c, terms); + ExprSet newTerms; + for (auto t : terms) + { + if (newTerms.size() > 2) continue; // don't consider large disjunctions + if (isOpX(t)) t = mkNeg(t->left()); + if (!isOp(t)) continue; + if (!isNumeric(t->left())) continue; + newTerms.insert(t); + } + c = disjoin(newTerms, c->getFactory()); + disjs.insert(c); + guesses.insert(c); + }*/ + else guesses.insert(c); + } + + for (auto & z : eqs) + { + for (auto & in : ineqs) + { + //if (bnd > guesses.size()) return; + if (!emptyIntersect(z, in)) continue; + ineqs.insert(mk(mk(in->left(), z->left()), mk(in->right(), z->right()))); + ineqs.insert(mk(mk(in->left(), z->right()), mk(in->right(), z->left()))); + } + + for (auto & d : disjs) + { + //if (bnd > guesses.size()) return; + ExprSet terms; + getDisj(d, terms); + ExprSet newTerms; + for (auto c : terms) + { + if (isOp(c)) + { + if (emptyIntersect(z, c)) + newTerms.insert(reBuildCmp(c, + mk(c->left(), z->left()), mk(c->right(), z->right()))); + else newTerms.insert(c); + } + else newTerms.insert(c); + } + if (newTerms.size() > 0) + guesses.insert(disjoin(newTerms, d->getFactory())); + } + } + + for (auto & a : ineqs) guesses.insert(simplifyArithm(a)); + // guesses.insert(ineqs.begin(), ineqs.end()); + + for (auto & e : eqs) + { + for (auto & in : ineqs) + { + //if (bnd > guesses.size()) return; + assert(isOpX(in)); + Expr g; + if (in->left() == e->left() && !evalLeq(e->right(), in->right())) + g = mk(e->right(), in->right()); + else if (in->left() == e->right() && !evalLeq(e->left(), in->right())) + g = mk(e->left(), in->right()); + else if (in->right() == e->left() && !evalLeq(in->left(), e->right())) + g = mk(in->left(), e->right()); + else if (in->right() == e->right() && !evalLeq(in->left(), e->left())) + g = mk(in->left(), e->left()); + + if (g != NULL) guesses.insert(simplifyArithm(g)); + } + } + + for (auto & in1 : ineqs) + { + for (auto & in2 : ineqs) + { + // if (bnd > guesses.size()) return; + if (in1 == in2) continue; + + assert(isOpX(in1)); + assert(isOpX(in2)); + + if (evalLeq(in1->right(), in2->left()) && + !evalLeq(in1->left(), in2->right())) + { + guesses.insert(simplifyArithm(mk(in1->left(), in2->right()))); + } + } + } + } + + inline static void simplifyPropagate (ExprSet& cnj) + { + bool toRepeat = false; + map vars; + for (auto & a : cnj) + { + filter (a, IsConst (), inserter(vars[a], vars[a].begin())); + } + + vector tmp; + ExprSet newCnjs; + + for (auto it0 = cnj.begin(); it0 != cnj.end(); ++it0) + { + if (find(tmp.begin(), tmp.end(), it0) != tmp.end()) continue; + Expr a = *it0; + for (auto it = cnj.begin(); it != cnj.end(); ++it) + { + Expr b = *it; + if (a == b) continue; + + if (contains(b, a)) + { + if (find(tmp.begin(), tmp.end(), it) != tmp.end()) + { + toRepeat = true; + continue; + } + newCnjs.insert(simplifyBool(replaceAll(b, a, mk(a->getFactory())))); + tmp.push_back(it); + continue; + } + + ExprSet& av = vars[a]; + ExprSet& bv = vars[b]; + if (av.size() != 2 || + !isOpX(a) || + !isSubset(av, bv)) continue; + + for (auto v : av) + { + Expr t = ineqMover(a, v); + if (t->left() == v) + { + if (find(tmp.begin(), tmp.end(), it) != tmp.end()) + { + toRepeat = true; + continue; + } + newCnjs.insert(simplifyBool(simplifyArithm(replaceAll(b, t->left(), t->right())))); + tmp.push_back(it); + break; + } + } + } + } + + for (auto & it : tmp) cnj.erase(it); + cnj.insert(newCnjs.begin(), newCnjs.end()); + if (toRepeat) simplifyPropagate(cnj); + } + + void getLiterals (Expr exp, ExprSet& lits) + { + ExprFactory& efac = exp->getFactory(); + if (isOpX(exp) && isNumeric(exp->left()) && !containsOp(exp)) + { + getLiterals(mk(exp->left(), exp->right()), lits); + getLiterals(mk(exp->left(), exp->right()), lits); + } + else if (isOpX(exp) && isNumeric(exp->left()) && !containsOp(exp)) + { + getLiterals(mk(exp->left(), exp->right()), lits); + getLiterals(mk(exp->left(), exp->right()), lits); + } + else if ((isOpX(exp) || isOpX(exp) || isOpX(exp)) && isBoolean(exp->left())) + { + getLiterals(exp->left(), lits); + getLiterals(exp->right(), lits); + getLiterals(mkNeg(exp->left()), lits); + getLiterals(mkNeg(exp->right()), lits); + } + else if (isOpX(exp)) + { + if (bind::isBoolConst(exp->left())) + lits.insert(exp); + else + getLiterals(mkNeg(exp->left()), lits); + } + else if (isOpX(exp)) + { + getLiterals(mkNeg(exp->left()), lits); + getLiterals(exp->right(), lits); + } + else if (isOpX(exp)) + { + getLiterals(mkNeg(exp->left()), lits); + getLiterals(exp->right(), lits); + getLiterals(mkNeg(exp->right()), lits); + getLiterals(exp->left(), lits); + } + else if (bind::typeOf(exp) == mk(efac) && + !containsOp(exp) && !containsOp(exp)) + { + if (isOp(exp)) + { + exp = rewriteDivConstraints(exp); + exp = rewriteModConstraints(exp); + if (isOpX(exp) || isOpX(exp)) + getLiterals(exp, lits); + else lits.insert(exp); + } + else lits.insert(exp); + } + else if (isOpX(exp) || isOpX(exp)) + { + for (int i = 0; i < exp->arity(); i++) + getLiterals(exp->arg(i), lits); + } + else if (!isOpX(exp) && !isOpX(exp)) + { + errs () << "unable lit: " << *exp << "\n"; + assert(0); + } + } + + inline static Expr normalizeTerm(Expr term) + { + ExprVector intVars; + filter (term, IsConst (), inserter(intVars, intVars.begin())); + ExprVector all; + getAddTerm(term, all); + ExprSet newtermPos; + ExprSet newtermNeg; + for (auto &v : intVars) + { + cpp_int coef = 0; + string s1 = lexical_cast(v); + for (auto it = all.begin(); it != all.end();) + { + string s2 = lexical_cast(*it); + + if (s1 == s2) + { + coef++; + it = all.erase(it); + } + else if (isOpX(*it)) + { + string s3 = lexical_cast((*it)->left()); + if (s1 == s3) + { + coef--; + it = all.erase(it); + } + else + { + ++it; + } + } + else if (isOpX(*it)) + { + ExprVector ops; + getMultOps (*it, ops); + + cpp_int c = 1; + bool success = true; + for (auto & a : ops) + { + if (s1 == lexical_cast(a)) + { + // all good! + } + else if (isOpX(a)) + { + c = c * lexical_cast(a); + } + else + { + ++it; + success = false; + break; + } + } + if (success) + { + coef += c; + it = all.erase(it); + } + } + else + { + ++it; + } + } + if (coef == 1) + newtermPos.insert(v); + else if (coef > 0) + newtermPos.insert(mk(mkMPZ(coef, term->getFactory()), v)); + else if (coef == -1) + newtermNeg.insert(v); + else if (coef < 0) + newtermNeg.insert(mk(mkMPZ(-coef, term->getFactory()), v)); + } + + bool success = true; + cpp_int intconst = 0; + + for (auto &e : all) + { + if (isOpX(e)) + { + intconst += lexical_cast(e); + } + else if (isOpX(e)) + { + cpp_int thisTerm = 1; + for (auto it = e->args_begin (), end = e->args_end (); it != end; ++it) + { + if (isOpX(*it)) + thisTerm *= lexical_cast(*it); + else + success = false; + } + intconst += thisTerm; + } + else + { + success = false; + } + } + if (intconst > 0) + newtermPos.insert(mkMPZ(intconst, term->getFactory())); + else if (intconst < 0) + newtermNeg.insert(mkMPZ(-intconst, term->getFactory())); + + for (auto & a : newtermNeg) + newtermPos.insert(additiveInverse(a)); +// if (newtermNeg.empty()) + return mkplus(newtermPos, term->getFactory()); +// else +// return mk(mkplus(newtermPos, term->getFactory()), +// mkplus(newtermNeg, term->getFactory())); + } + + struct NormalizeArithmExpr + { + ExprFactory &efac; + + NormalizeArithmExpr (ExprFactory& _efac): + efac(_efac){}; + + Expr operator() (Expr e) + { + if (isOpX(e) || isOpX(e) || isOpX(e)) + return normalizeTerm(e); + if (isOp(e) && isNumeric(e->left())) { + return reBuildCmp(e, + normalizeTerm(mk(e->left(), additiveInverse(e->right()))), + mkMPZ(0, efac)); + } + return e; + } + }; + + inline static Expr normalizeArithm (Expr exp) + { + ExprSet complex; + findComplexNumerics(exp, complex); + ExprMap repls; + ExprMap replsRev; + for (auto & a : complex) + { + Expr repl = intConst(mkTerm + ("__repl_" + lexical_cast(repls.size()), exp->getFactory())); + repls[a] = repl; + replsRev[repl] = a; + } + exp = replaceAll(exp, repls); + RW rw(new NormalizeArithmExpr(exp->getFactory())); + exp = dagVisit (rw, exp); + exp = replaceAll(exp, replsRev); + return exp; + } + + Expr static normalizeImplHlp (Expr e, ExprSet& lhs) + { + if (isOpX(e)) + { + getConj(e->left(), lhs); + return normalizeImplHlp(e->right(), lhs); + } + return e; + } + + Expr static normalizeImpl (Expr e) + { + ExprSet lhs; + Expr rhs = normalizeImplHlp(e, lhs); + if (lhs.empty()) return e; + for (auto & a : lhs) rhs = mk(a, rhs); + return rhs; + } + + void getSubterms(Expr e, ExprVector& t) + { + if (isOpX(e) || isOp(e) || isOp(e)) + t.push_back(e); + for (unsigned i = 0; i < e->arity(); i++) + getSubterms(e->arg(i), t); + } + + void getCommonSubterms(Expr e, map& occs) + { + ExprVector t; + getSubterms(e, t); + for (auto & e : t) occs[e]++; + } + + int countFuns(Expr e) + { + map occs; + getCommonSubterms(e, occs); + ExprSet funs; + for (auto & m : occs) + if (isOpX(m.first) && m.first->left()->arity() > 2) + funs.insert(m.first->left()); + return funs.size(); + } + + int getMonotDegree(Expr e, Expr f) + { + if (isOpX(e) && e->left() == f) + { + int max = 0; + for (unsigned i = 0; i < e->arity(); i++) + { + int curMax = getMonotDegree(e->arg(i), f); + if (curMax > max) max = curMax; + } + return max + 1; + } + return 0; + } + + int getMonotDegree(Expr e) + { + int res; + map occs; + getCommonSubterms(e, occs); + int max = 0; + for (auto & m : occs) + if (isOpX(m.first)) + { + int curMax = getMonotDegree(m.first, m.first->left()); + if (curMax > max) max = curMax; + } + return max; + } + + Expr static createQuantifiedFormulaRestr (Expr def, ExprVector& vars, bool forall = true) + { + if (vars.empty()) return def; + ExprVector args; + for (auto & a : vars) args.push_back(a->last()); + args.push_back(def); + if (forall) return mknary(args); + else return mknary(args); + } + + Expr static createQuantifiedFormula (Expr def, ExprVector& toAvoid) + { + ExprVector vars; + filter(def, IsConst (), inserter(vars, vars.begin())); + for (auto it = vars.begin(); it != vars.end(); ) + if (find(toAvoid.begin(), toAvoid.end(), (*it)->left()) != toAvoid.end()) + it = vars.erase(it); + else + ++it; + if (vars.size() == 0) + return def; + return createQuantifiedFormulaRestr(def, vars); + } + + void pprint(Expr exp, int inden = 0, bool upper = true) + { + ExprSet flas; + if (isOpX(exp) || isOpX(exp)) + { + outs() << string(inden, ' ') << (isOpX(exp) ? "[forall (" : "[exists ("); + int i = 0; + for (; i < exp->arity() - 1; i++) outs () << fapp(exp->arg(i)) << " "; + outs () << ")\n"; + pprint(exp->arg(i), inden + 2, false); + outs () << "]\n"; + return; + } + else if (isOpX(exp)) + { + outs () << string(inden, ' ') << "[&&\n"; + getConj(exp, flas); + } + else if (isOpX(exp)) + { + outs () << string(inden, ' ') << "[||\n"; + getDisj(exp, flas); + } + else if (isOpX(exp)) + { + outs () << string(inden, ' ') << "[!\n"; + flas.insert(exp->left()); + } + else if (isOpX(exp)) + { + outs () << string(inden, ' ') << "[=>\n"; + flas.insert(exp->left()); + flas.insert(exp->right()); + } + if (flas.empty()) outs () << string(inden, ' ') << exp; + else + { + for (auto & a : flas) + { + pprint(a, inden + 2, false); + outs() << "\n"; + } + outs () << string(inden, ' ') << "]"; + } + if (upper) outs() << "\n"; + } + + struct PlusMinusConstSwapper + { + PlusMinusConstSwapper (){}; + + Expr operator() (Expr exp) + { + if (isOpX(exp) || isOpX(exp)) + { + ExprVector ops; + ExprVector newOps; + getAddTerm(exp, ops); + for (auto & a : ops) + { + if (isOpX(a)) newOps.push_back(additiveInverse(a)); + else newOps.push_back(a); + } + return mkplus(newOps, exp->getFactory()); + } + return exp; + } + }; + + inline static Expr swapPlusMinusConst (Expr exp) + { + RW rw(new PlusMinusConstSwapper()); + return dagVisit (rw, exp); + } + + bool static isConstPos(Expr e) + { + ExprVector ops; + getAddTerm(e, ops); + cpp_int i = 0; + for (auto & a : ops) + if (isOpX(a)) i += lexical_cast(a); + + return i>0; } } -#endif +#endif \ No newline at end of file diff --git a/include/ae/SMTUtils.hpp b/include/ae/SMTUtils.hpp index f3ea498d2..51ccd4849 100644 --- a/include/ae/SMTUtils.hpp +++ b/include/ae/SMTUtils.hpp @@ -12,122 +12,263 @@ namespace ufo class SMTUtils { private: - + ExprFactory &efac; EZ3 z3; ZSolver smt; - + bool can_get_model; + ZSolver::Model* m; + public: - + SMTUtils (ExprFactory& _efac) : - efac(_efac), - z3(efac), - smt (z3) - {} - + efac(_efac), z3(efac), smt (z3), can_get_model(0), m(NULL) {} + + SMTUtils (ExprFactory& _efac, unsigned _to) : + efac(_efac), z3(efac), smt (z3, _to), can_get_model(0), m(NULL) {} + + boost::tribool eval(Expr v, ZSolver::Model* m1) + { + Expr ev = m1->eval(v); + if (m == NULL) return indeterminate; + if (isOpX(ev)) return true; + if (isOpX(ev)) return false; + return indeterminate; + } + + boost::tribool eval(Expr v) + { + getModelPtr(); + if (m == NULL) return indeterminate; + return eval(v, m); + } + + ZSolver::Model* getModelPtr() + { + if (!can_get_model) return NULL; + if (m == NULL) m = smt.getModelPtr(); + return m; + } + + Expr getModel(Expr v) + { + getModelPtr(); + if (m == NULL) return NULL; + return m->eval(v); + } + + template Expr getModel(T& vars) + { + getModelPtr(); + if (m == NULL) return NULL; + ExprVector eqs; + for (auto & v : vars) + { + Expr e = m->eval(v); + if (e == NULL || containsOp(e) || containsOp(e)) + { + continue; + } + else if (e != v) + { + eqs.push_back(mk(v, e)); + } + } + return conjoin (eqs, efac); + } + + ExprSet allVars; + Expr getModel() { return getModel(allVars); } + + void getModel (ExprSet& vars, ExprMap& e) + { + ExprSet mdl; + getConj(getModel(vars), mdl); + for (auto & m : mdl) e[m->left()] = m->right(); + } + + template void getOptModel (ExprSet& vars, ExprMap& e, Expr v) + { + if (!can_get_model) return; + while (true) + { + getModel(vars, e); + smt.assertExpr(mk(v, e[v])); + if (m != NULL) { free(m); m = NULL; } + auto res = smt.solve(); + if (!res || indeterminate(res)) return; + } + } + + template boost::tribool isSat(T& cnjs, bool reset=true) + { + allVars.clear(); + if (m != NULL) { free(m); m = NULL; } + if (reset) smt.reset(); + for (auto & c : cnjs) + { + filter (c, bind::IsConst (), inserter (allVars, allVars.begin())); + smt.assertExpr(c); + } + boost::tribool res = smt.solve (); + can_get_model = res ? true : false; + return res; + } + /** * SMT-check */ - bool isSat(Expr a) + boost::tribool isSat(Expr a, Expr b, Expr c, Expr d, bool reset=true) { - smt.reset(); - smt.assertExpr (a); - if (!smt.solve ()) { - return false; - } - return true; + ExprSet cnjs; + getConj(a, cnjs); + getConj(b, cnjs); + getConj(c, cnjs); + getConj(d, cnjs); + return isSat(cnjs, reset); + } + + /** + * SMT-check + */ + boost::tribool isSat(Expr a, Expr b, Expr c, bool reset=true) + { + ExprSet cnjs; + getConj(a, cnjs); + getConj(b, cnjs); + getConj(c, cnjs); + return isSat(cnjs, reset); + } + + /** + * SMT-check + */ + boost::tribool isSat(Expr a, Expr b, bool reset=true) + { + ExprSet cnjs; + getConj(a, cnjs); + getConj(b, cnjs); + return isSat(cnjs, reset); + } + + /** + * SMT-check + */ + boost::tribool isSat(Expr a, bool reset=true) + { + ExprSet cnjs; + getConj(a, cnjs); + return isSat(cnjs, reset); } - + /** * SMT-based formula equivalence check */ - bool isEquiv(Expr a, Expr b) + boost::tribool isEquiv(Expr a, Expr b) { - return !isSat(mk(a, mk(b))) && - !isSat(mk(b, mk(a))); + auto r1 = implies (a, b); + auto r2 = implies (b, a); + return r1 && r2; } - + /** * SMT-based implication check */ - bool isImplies (Expr a, Expr b) + boost::tribool implies (Expr a, Expr b) { - return ! isSat(mk(a, mk(b))); + if (a == b) return true; + if (isOpX(b)) return true; + if (isOpX(a)) return true; + return ! isSat(a, mkNeg(b)); } - + /** * SMT-based check for a tautology */ - bool isTrue(Expr a){ + boost::tribool isTrue(Expr a){ if (isOpX(a)) return true; - return isEquiv(a, mk(efac)); + return !isSat(mkNeg(a)); } - + /** * SMT-based check for false */ - bool isFalse(Expr a){ + boost::tribool isFalse(Expr a){ if (isOpX(a)) return true; - return isEquiv(a, mk(efac)); + if (isOpX(a) && a->left() == a->right()) return true; + return !isSat(a); } - + + /** + * Check if v has only one sat assignment in phi + */ + boost::tribool hasOneModel(Expr v, Expr phi) { + if (isFalse(phi)) return false; + + getModelPtr(); + if (m == NULL) return indeterminate; + + Expr val = m->eval(v); + if (v == val) return false; + + ExprSet assumptions; + assumptions.insert(mk(v, val)); + + return !isSat(assumptions, false); + } + /** * ITE-simplifier (prt 2) */ Expr simplifyITE(Expr ex, Expr upLevelCond) { - ex = replaceAll(ex, upLevelCond, mk(efac)); - if (isOpX(ex)){ - + Expr cond = ex->arg(0); Expr br1 = ex->arg(1); Expr br2 = ex->arg(2); - - Expr updCond1 = mk(upLevelCond, mk(cond)); - Expr updCond2 = mk(mk(upLevelCond), cond); - - if (!isSat(updCond1)) return br1; - - if (!isSat(updCond2)) return br2; - + + if (!isSat(cond, upLevelCond)) return br2; + + if (!isSat(mk(cond), upLevelCond)) return br1; + return mk(cond, - simplifyITE(br1, updCond1), - simplifyITE(br2, updCond2)); + simplifyITE(br1, mk(upLevelCond, cond)), + simplifyITE(br2, mk(upLevelCond, mk(cond)))); } else { return ex; } } - + /** * ITE-simplifier (prt 1) */ Expr simplifyITE(Expr ex) { if (isOpX(ex)){ - + Expr cond = simplifyITE(ex->arg(0)); Expr br1 = ex->arg(1); Expr br2 = ex->arg(2); - + if (isOpX(cond)) return br1; if (isOpX(cond)) return br2; - + if (br1 == br2) return br1; - + if (isOpX(br1) && isOpX(br2)) return cond; - + if (isOpX(br1) && isOpX(br2)) return mk(cond); - + return mk(cond, simplifyITE(br1, cond), simplifyITE(br2, mk(cond))); - + } else if (isOpX(ex)) { - + return mk(simplifyITE(ex->left()), simplifyITE(ex->right())); } else if (isOpX(ex) || isOpX(ex)){ - + ExprSet args; for (auto it = ex->args_begin(), end = ex->args_end(); it != end; ++it){ args.insert(simplifyITE(*it)); @@ -136,30 +277,118 @@ namespace ufo } return ex; } - + + Expr removeITE(Expr ex) + { + ExprVector ites; + getITEs(ex, ites); + int sz = ites.size(); + for (auto it = ites.begin(); it != ites.end();) + { + Expr tmp; + if (implies(ex, (*it)->left())) + tmp = (*it)->right(); + else if (implies(ex, mk((*it)->left()))) + tmp = (*it)->last(); + else {++it; continue; } + + ex = replaceAll(ex, *it, tmp); + it = ites.erase(it); + } + if (sz == ites.size()) return ex; + else return simplifyBool(simplifyArithm(removeITE(ex))); + } + + /** + * Remove some redundant conjuncts from the set of formulas + */ + void removeRedundantConjuncts(ExprSet& conjs) + { + if (conjs.size() < 2) return; + ExprSet newCnjs = conjs; + + for (auto & cnj : conjs) + { + if (isTrue (cnj)) + { + newCnjs.erase(cnj); + continue; + } + + ExprSet newCnjsTry = newCnjs; + newCnjsTry.erase(cnj); + + Expr newConj = conjoin(newCnjsTry, efac); + if (implies (newConj, cnj)) + newCnjs.erase(cnj); + + else { + // workaround for arrays or complicated expressions + Expr new_name = mkTerm ("subst", cnj->getFactory()); + Expr new_conj = bind::boolConst(new_name); + Expr tmp = replaceAll(newConj, cnj, new_conj); + if (implies (tmp, new_conj)) { + errs() << "erased\n"; + newCnjs.erase(cnj); + } + } + } + conjs.clear(); + for (auto & cnj : newCnjs) + conjs.insert(removeRedundantDisjuncts(cnj)); + } + /** * Remove some redundant conjuncts from the formula */ Expr removeRedundantConjuncts(Expr exp) { - ExprSet newCnjs; - ExprVector conjs; + ExprSet conjs; getConj(exp, conjs); - if (conjs.size() < 2) return exp; - - for (auto & cnj : conjs) // GF: todo: incremental solving + else { - if (isTrue (cnj)) continue; - - if (isEquiv (conjoin(newCnjs, efac), mk(conjoin(newCnjs, efac), cnj))) continue; - - newCnjs.insert(cnj); + removeRedundantConjuncts(conjs); + return conjoin(conjs, efac); } - - return conjoin(newCnjs, efac); } - + + /** + * Remove some redundant disjuncts from the formula + */ + void removeRedundantDisjuncts(ExprSet& disjs) + { + if (disjs.size() < 2) return; + ExprSet newDisjs = disjs; + + for (auto & disj : disjs) + { + if (isFalse (disj)) + { + newDisjs.erase(disj); + continue; + } + + ExprSet newDisjsTry = newDisjs; + newDisjsTry.erase(disj); + + if (implies (disj, disjoin(newDisjsTry, efac))) newDisjs.erase(disj); + } + disjs = newDisjs; + } + + Expr removeRedundantDisjuncts(Expr exp) + { + ExprSet disjs; + getDisj(exp, disjs); + if (disjs.size() < 2) return exp; + else + { + removeRedundantDisjuncts(disjs); + return disjoin(disjs, efac); + } + } + /** * Model-based simplification of a formula with 1 (one only) variable */ @@ -172,13 +401,259 @@ namespace ufo smt.reset(); smt.assertExpr (exp); if (smt.solve ()) { - ZSolver::Model m = smt.getModel(); - return mk(cnstr_vars[0], m.eval(cnstr_vars[0])); + getModelPtr(); + if (m == NULL) return exp; + return mk(cnstr_vars[0], m->eval(cnstr_vars[0])); } } return exp; } - + + inline static string varType (Expr var) + { + if (bind::isIntConst(var)) + return "Int"; + else if (bind::isRealConst(var)) + return "Real"; + else if (bind::isBoolConst(var)) + return "Bool"; + else if (bind::isAdtConst(var)) + { + string str = lexical_cast(var->last()->last()); + return str.substr(1, str.length()-2); + } + else if (bind::isConst (var)) + { + Expr name = mkTerm ("", var->getFactory()); + Expr s1 = bind::mkConst(name, var->last()->right()->left()); + Expr s2 = bind::mkConst(name, var->last()->right()->right()); + return string("(Array ") + varType(s1) + string(" ") + varType(s2) + string(")"); + } + else return ""; + } + + template bool + splitUnsatSets(Range1 & src, Range2 & dst1, Range3 & dst2) + { + if (isSat(src)) return false; + + for (auto & a : src) dst1.push_back(a); + + for (auto it = dst1.begin(); it != dst1.end(); ) + { + dst2.push_back(*it); + it = dst1.erase(it); + if (isSat(dst1)) break; + } + + // now dst1 is SAT, try to get more things from dst2 back to dst1 + + for (auto it = dst2.begin(); it != dst2.end(); ) + { + if (!isSat(conjoin(dst1, efac), *it)) { ++it; continue; } + dst1.push_back(*it); + it = dst2.erase(it); + } + + return true; + } + + void insertUnique(Expr e, ExprSet& v) + { + for (auto & a : v) + if (isEquiv(a, e)) return; + v.insert(e); + } + + void getTrueLiterals(Expr ex, ZSolver::Model &m, ExprSet& lits) + { + ExprVector ites; + getITEs(ex, ites); + if (ites.empty()) + { + getLiterals(ex, lits); + + for (auto it = lits.begin(); it != lits.end(); ){ + if (isOpX(m.eval(*it))) ++it; + else it = lits.erase(it); + } + } + else + { + // eliminate ITEs first + for (auto it = ites.begin(); it != ites.end();) + { + if (isOpX(m((*it)->left()))) + { + ex = replaceAll(ex, *it, (*it)->right()); + ex = mk(ex, (*it)->left()); + } + else if (isOpX(m((*it)->left()))) + { + ex = replaceAll(ex, *it, (*it)->last()); + ex = mk(ex, mkNeg((*it)->left())); + } + else + { + ex = replaceAll(ex, *it, (*it)->right()); // TODO + ex = mk(ex, mk((*it)->right(), (*it)->last())); + } + it = ites.erase(it); + } + return getTrueLiterals(ex, m, lits); + } + } + + Expr getTrueLiterals(Expr ex) + { + ExprSet lits; + getModelPtr(); + if (m == NULL) return NULL; + getTrueLiterals(ex, *m, lits); + return conjoin(lits, efac); + } + + Expr getWeakerMBP(Expr mbp, Expr fla, ExprVector& srcVars) + { + if (containsOp(fla)) return mbp; + + ExprSet cnjs; + getConj(mbp, cnjs); + if (cnjs.size() == 1) return mbp; + + ExprSet varsSet; + filter (fla, bind::IsConst (), inserter(varsSet, varsSet.begin())); + minusSets(varsSet, srcVars); + + ExprVector args; + Expr efla; + for (auto & v : varsSet) args.push_back(v->left()); + if (args.empty()) efla = fla; + else { + args.push_back(fla); + efla = mknary(args); + } + + bool prog = true; + while (prog) + { + prog = false; + for (auto it = cnjs.begin(); it != cnjs.end();) + { + ExprVector cnjsTmp; + for (auto & a : cnjs) if (a != *it) cnjsTmp.push_back(a); + if (implies(conjoin(cnjsTmp, efac), efla)) + { + prog = true; + it = cnjs.erase(it); + } + else ++it; + } + } + return conjoin(cnjs, efac); + } + + Expr getImplDecomp(Expr a, Expr b) + { + // if a == a1 /\ a2 s.t. b => a1 then return a2 + ExprSet cnjs; + getConj(a, cnjs); + for (auto it = cnjs.begin(); it != cnjs.end();) + if (implies(b, *it)) it = cnjs.erase(it); + else ++it; + return conjoin(cnjs, efac); + } + + void print (Expr e) + { + if (isOpX(e) || isOpX(e)) + { + if (isOpX(e)) outs () << "(forall ("; + else outs () << "(exists ("; + + for (int i = 0; i < e->arity() - 1; i++) + { + Expr var = bind::fapp(e->arg(i)); + outs () << "(" << *var << " " << varType(var) << ")"; + if (i != e->arity() - 2) outs () << " "; + } + outs () << ") "; + print (e->last()); + outs () << ")"; + } + else if (isOpX(e)) + { + outs () << "(not "; + print(e->left()); + outs () << ")"; + } + else if (isOpX(e)) + { + outs () << "(and "; + ExprSet cnjs; + getConj(e, cnjs); + int i = 0; + for (auto & c : cnjs) + { + i++; + print(c); + if (i != cnjs.size()) outs () << " "; + } + outs () << ")"; + } + else if (isOpX(e)) + { + outs () << "(or "; + ExprSet dsjs; + getDisj(e, dsjs); + int i = 0; + for (auto & d : dsjs) + { + i++; + print(d); + if (i != dsjs.size()) outs () << " "; + } + outs () << ")"; + } + else if (isOpX(e) || isOp(e)) + { + if (isOpX(e)) outs () << "(=> "; + if (isOpX(e)) outs () << "(= "; + if (isOpX(e)) outs () << "(>= "; + if (isOpX(e)) outs () << "(<= "; + if (isOpX(e)) outs () << "(< "; + if (isOpX(e)) outs () << "(> "; + if (isOpX(e)) outs () << "(distinct "; + print(e->left()); + outs () << " "; + print(e->right()); + outs () << ")"; + } + else if (isOpX(e)) + { + outs () << "(ite "; + print(e->left()); + outs () << " "; + print(e->right()); + outs () << " "; + print(e->last()); + outs () << ")"; + } + else outs () << z3.toSmtLib (e); + } + + void serialize_formula(Expr form) + { + outs () << "(assert "; + print (form); + outs () << ")\n"; + + // old version (to merge, maybe?) +// smt.reset(); +// smt.assertExpr(form); +// smt.toSmtLib (outs()); +// outs().flush (); + } }; /** @@ -188,17 +663,17 @@ namespace ufo { ExprFactory &efac = A->getFactory(); EZ3 z3(efac); - + ExprVector allVars; filter (mk(A,B), bind::IsConst (), back_inserter (allVars)); - + ExprVector sharedTypes; - + for (auto &var: sharedVars) { sharedTypes.push_back (bind::typeOf (var)); } sharedTypes.push_back (mk (efac)); - + // fixed-point object ZFixedPoint fp (z3); ZParams params (z3); @@ -207,20 +682,19 @@ namespace ufo params.set (":xform.inline-linear", false); params.set (":xform.inline-eager", false); fp.set (params); - + Expr errRel = bind::boolConstDecl(mkTerm ("err", efac)); fp.registerRelation(errRel); Expr errApp = bind::fapp (errRel); - + Expr itpRel = bind::fdecl (mkTerm ("itp", efac), sharedTypes); fp.registerRelation (itpRel); Expr itpApp = bind::fapp (itpRel, sharedVars); - + fp.addRule(allVars, boolop::limp (A, itpApp)); fp.addRule(allVars, boolop::limp (mk (B, itpApp), errApp)); - + tribool res; - try { res = fp.query(errApp); } catch (z3::exception &e){ @@ -229,25 +703,25 @@ namespace ufo outs() << "Z3 ex: " << str << "...\n"; exit(55); } - - if (res) return mk (efac); - + + if (res) return NULL; + return fp.getCoverDelta(itpApp); } - + /** * Horn-based interpolation */ inline Expr getItp(Expr A, Expr B) { ExprVector sharedVars; - + ExprVector aVars; filter (A, bind::IsConst (), back_inserter (aVars)); - + ExprVector bVars; filter (B, bind::IsConst (), back_inserter (bVars)); - + // computing shared vars: for (auto &var: aVars) { if (find(bVars.begin(), bVars.end(), var) != bVars.end()) @@ -255,7 +729,7 @@ namespace ufo sharedVars.push_back(var); } } - + return getItp(A, B, sharedVars); }; diff --git a/include/deep/HornNonlin.hpp b/include/deep/HornNonlin.hpp new file mode 100755 index 000000000..1d507e9b8 --- /dev/null +++ b/include/deep/HornNonlin.hpp @@ -0,0 +1,447 @@ +#ifndef HORNNONLIN__HPP__ +#define HORNNONLIN__HPP__ + +#include "ae/AeValSolver.hpp" + +using namespace std; +using namespace boost; + +namespace ufo +{ + // all adapted from the modver branch + inline bool rewriteHelperConsts(Expr& body, Expr v1, Expr v2) + { + if (isOpX(v1)) + { + body = mk(body, mk(v1, v2)); + return true; + } + else if (isOpX(v1)) + { + body = mk(body, v2); + return true; + } + else if (isOpX(v1)) + { + body = mk(body, mk(v2)); + return true; + } + return false; + } + + struct HornRuleExt + { + vector srcVars; + ExprVector dstVars; + ExprVector locVars; + + Expr body; + + ExprVector srcRelations; + Expr dstRelation; + + bool isFact; + bool isQuery; + bool isInductive; + + void assignVarsAndRewrite (vector& _srcVars, vector& invVarsSrc, + ExprVector& _dstVars, ExprVector& invVarsDst) + { + for (int i = 0; i < _srcVars.size(); i++) + { + ExprVector tmp; + for (int j = 0; j < _srcVars[i].size(); j++) + { + tmp.push_back(invVarsSrc[i][j]); + body = mk(body, mk(_srcVars[i][j], tmp[j])); + } + srcVars.push_back(tmp); + } + + for (int i = 0; i < _dstVars.size(); i++) + { + // primed copy of var: + Expr new_name = mkTerm (lexical_cast(invVarsDst[i]) + "'", body->getFactory()); + Expr var = cloneVar(invVarsDst[i], new_name); + dstVars.push_back(var); + body = mk(body, mk(_dstVars[i], dstVars[i])); + } + } + }; + + class CHCs + { + private: + set indeces; + string varname = "_FH_"; + + public: + + ExprFactory &m_efac; + EZ3 &m_z3; + + ExprSet decls; + Expr failDecl; + ExprVector extras; + vector chcs; + map invVars; + map> incms; + int qCHCNum; // index of the query in chc + int total_var_cnt = 0; + ExprVector constructors; + + CHCs(ExprFactory &efac, EZ3 &z3) : m_efac(efac), m_z3(z3) {}; + + bool isFapp (Expr e) + { + if (isOpX(e)) + if (e->arity() > 0) + if (isOpX(e->arg(0))) + if (e->arg(0)->arity() >= 2) + return true; + return false; + } + + void splitBody (Expr body, vector& srcVars, ExprVector &srcRelations, ExprSet& lin) + { + getConj (body, lin); + for (auto c = lin.begin(); c != lin.end(); ) + { + Expr cnj = *c; + if (isOpX(cnj)) + { + assert(isOpX(cnj->left())); + Expr rel = cnj->arg(0); + addDecl(rel); + srcRelations.push_back(rel); + ExprVector tmp; + for (auto it = cnj->args_begin()+1, end = cnj->args_end(); it != end; ++it) + tmp.push_back(*it); + srcVars.push_back(tmp); + c = lin.erase(c); + } + else ++c; + } + } + + void addDecl (Expr a) + { + if (invVars[a].size() == 0) + { + decls.insert(a); + for (int i = 1; i < a->arity()-1; i++) + { + Expr new_name = mkTerm (varname + to_string(total_var_cnt), m_efac); + total_var_cnt++; + Expr var; + if (isOpX (a->arg(i))) + var = bind::intConst(new_name); + else if (isOpX (a->arg(i))) + var = bind::realConst(new_name); + else if (isOpX (a->arg(i))) + var = bind::boolConst(new_name); + else if (isOpX (a->arg(i))) + var = bind::mkConst(new_name, mk(a->arg(i)->left(), a->arg(i)->right())); + else if (isOpX(a->arg(i))){ + ExprVector type; + type.push_back(a->arg(i)); + var = bind::fapp(bind::fdecl (new_name, type)); + } + else + assert(0); + invVars[a].push_back(var); + } + } + } + + Expr normalize (Expr& r1, HornRuleExt& hr) + { + r1 = regularizeQF(r1); + Expr r = r1; + + // TODO: support more syntactic replacements + while (isOpX(r)) + { + for (int i = 0; i < r->arity() - 1; i++) + { + hr.locVars.push_back(bind::fapp(r->arg(i))); + } + r = r->last(); + } + + if (isOpX(r) && isOpX(r->first())) + { + for (int i = 0; i < r->first()->arity() - 1; i++) + hr.locVars.push_back(bind::fapp(r->first()->arg(i))); + + r = mk(r->first()->last(), mk(m_efac)); + } + + if (isOpX(r)) + { + r = mk(r->first(), mk(m_efac)); + } + else if (isOpX(r) && r->arity() == 2 && isOpX(r->left()) && hasUninterp(r->left())) + { + r = mk(r->left()->left(), r->right()); + } + else if (isOpX(r) && r->arity() == 2 && isOpX(r->right()) && hasUninterp(r->right())) + { + r = mk(r->right()->left(), r->left()); + } + + if (isOpX(r) && !isFapp(r->right()) && !isOpX(r->right())) + { + if (isOpX(r->right())) + { + return NULL; + } + r = mk(mk(r->left(), mk(r->right())), mk(m_efac)); + } + + if (!isOpX(r)) r = mk(mk(m_efac), r); + + return r; + } + + void parse(char *smt_file) + { + // GF: this entry part is different from the original implementation + // (since the fixpoint format does not support ADTs) + Expr e = z3_from_smtlib_file (m_z3, smt_file); + for (auto & a : m_z3.getAdtConstructors()) { + constructors.push_back(regularizeQF(a)); + } + ExprSet cnjs; + getConj(e, cnjs); + unitPropagation(cnjs); + + for (auto r1: cnjs) + { + chcs.push_back(HornRuleExt()); + HornRuleExt& hr = chcs.back(); + Expr r = normalize(r1, hr); + if (r == NULL) + { + chcs.pop_back(); + continue; + } + + Expr body = r->arg(0); + Expr head = r->arg(1); + vector origSrcSymbs; + ExprSet lin; + splitBody(body, origSrcSymbs, hr.srcRelations, lin); + if (hr.srcRelations.size() == 0) + { + if (hasUninterp(body)) + { +// errs () << "Unsupported format\n"; +// errs () << " " << *body << "\n"; +// exit (1); + lin.clear(); + } + } + + hr.isFact = hr.srcRelations.empty(); + + if (isOpX(head)) + { + addDecl(head->arg(0)); + hr.dstRelation = head->arg(0); + } + else + { + if (!isOpX(head)) body = mk(body, mk(head)); + addFailDecl(mk(m_efac)); + hr.dstRelation = mk(m_efac); + } + + hr.isQuery = (hr.dstRelation == failDecl); + hr.isInductive = (hr.srcRelations.size() == 1 && hr.srcRelations[0] == hr.dstRelation); + if (hr.isQuery) qCHCNum = chcs.size() - 1; + + ExprVector allOrigSymbs; + for (auto & a : origSrcSymbs) for (auto & b : a) allOrigSymbs.push_back(b); + ExprVector origDstSymbs; + if (!hr.isQuery) + { + for (auto it = head->args_begin()+1, end = head->args_end(); it != end; ++it) + origDstSymbs.push_back(*it); + } + allOrigSymbs.insert(allOrigSymbs.end(), origDstSymbs.begin(), origDstSymbs.end()); + //simplBoolReplCnj(allOrigSymbs, lin); // perhaps, not a very important optimization now; consider removing + hr.body = conjoin(lin, m_efac); + + vector tmp; + // we may have several applications of the same predicate symbol in the body: + for (int i = 0; i < hr.srcRelations.size(); i++) + { + auto & a = hr.srcRelations[i]; + ExprVector tmp1; + for (int j = 0; j < i; j++) + { + if (hr.srcRelations[i] == hr.srcRelations[j]) + { + for (int k = 0; k < invVars[a].size(); k++) + { + Expr new_name = mkTerm (varname + to_string(++total_var_cnt), m_efac); + tmp1.push_back(cloneVar(invVars[a][k], new_name)); + } + break; + } + } + if (tmp1.empty()) + { + tmp1 = invVars[a]; + } + tmp.push_back(tmp1); + } + hr.assignVarsAndRewrite (origSrcSymbs, tmp, + origDstSymbs, invVars[hr.dstRelation]); + + if ((isOpX(hr.body) && !hr.isQuery) || + (hr.srcRelations.size() == 0 && hr.isQuery)) + { + extras.push_back(r1); + chcs.pop_back(); + continue; + } + + // Should keep non-adt variables using in adt constructors + ExprSet cnjsSet; + getConj(hr.body, cnjsSet); + for (auto cnj : cnjsSet) { + if (isOpX(cnj)) { + Expr l = bind::fname(cnj->left()); + Expr r = bind::fname(cnj->right()); + if (std::find(constructors.begin(), constructors.end(), l) != constructors.end()) { + for (int i = 0; i < cnj->left()->arity(); ++i) { + Expr var = cnj->left()->arg(i); + if (!isAdtConst(var)) { + hr.locVars.erase(std::remove(hr.locVars.begin(), hr.locVars.end(), var), hr.locVars.end()); + } + } + } + if (std::find(constructors.begin(), constructors.end(), r) != constructors.end()) { + for (int i = 0; i < cnj->right()->arity(); ++i) { + Expr var = cnj->right()->arg(i); + if (!isAdtConst(var)) { + hr.locVars.erase(std::remove(hr.locVars.begin(), hr.locVars.end(), var), hr.locVars.end()); + } + } + } + } + } + + hr.body = simpleQE(hr.body, hr.locVars); + ExprVector body_vars; + expr::filter (hr.body, bind::IsConst(), std::inserter (body_vars, body_vars.begin ())); + for (auto it = hr.locVars.begin(); it != hr.locVars.end(); ) + { + if (find(body_vars.begin(), body_vars.end(), *it) == body_vars.end()) + it = hr.locVars.erase(it); + else ++it; + } + } + + for (int i = 0; i < chcs.size(); i++) + incms[chcs[i].dstRelation].push_back(i); + + } + + void unitPropagation(ExprSet &cnjs) { + ExprMap matching; + for (auto &r: cnjs) { + if (isOpX(r) && r->arity() == 1 && !isOpX(r->left())) { + matching[r->left()] = mk(m_efac); + } + } + if (matching.empty()) { + return; + } + else { + ExprSet newCnjs; + for (auto &r: cnjs) { + Expr r1 = replaceAll(r, matching); + newCnjs.insert(r1); + } + cnjs = newCnjs; + unitPropagation(cnjs); + } + } + + void addFailDecl(Expr decl) + { + if (failDecl == NULL) + { + failDecl = decl; + } + else + { + if (failDecl != decl) + { + errs () << "Multiple queries are not supported\n"; + exit(1); + } + } + } + + Expr getPostcondition (int i) + { + HornRuleExt& hr = chcs[i]; + ExprSet cnjs; + ExprSet newCnjs; + getConj(hr.body, cnjs); + ExprVector allVars = hr.locVars; + for (auto & a : hr.srcVars) allVars.insert(allVars.end(), a.begin(), a.end()); + for (auto & a : cnjs) + { + if (emptyIntersect(a, allVars)) newCnjs.insert(a); + } + return conjoin(newCnjs, m_efac); + } + + void print() + { + for (auto &hr: chcs) print(hr); + } + + void print(HornRuleExt& hr) + { + if (hr.isFact) outs() << " INIT CHC:\n"; + else if (hr.isQuery) outs() << " QUERY CHC:\n"; + else outs() << " CHC:\n"; + + outs () << " "; + + for (int i = 0; i < hr.srcRelations.size(); i++) + { + outs () << * hr.srcRelations[i]->left(); + outs () << " ("; + for(auto &a: hr.srcVars[i]) outs() << *a << ", "; + outs () << "\b\b)"; + outs () << " /\\ "; + } + + if (hr.isFact) + outs () << "true"; + else + outs () << "\b\b\b\b"; + + if (hr.isQuery) + outs () << " -> false"; + else + outs () << " -> " << * hr.dstRelation->left(); + + if (hr.dstVars.size() > 0) + { + outs () << " ("; + for(auto &a: hr.dstVars) outs() << *a << ", "; + outs () << "\b\b)"; + } + outs() << "\n body: " << * hr.body << "\n"; + } + }; +} +#endif diff --git a/include/ufo/Expr.hpp b/include/ufo/Expr.hpp index 9e25c2f9a..b67130833 100644 --- a/include/ufo/Expr.hpp +++ b/include/ufo/Expr.hpp @@ -49,6 +49,13 @@ DM-0002198 #include #include #include +#include + +#undef TRUE +#undef FALSE + +#undef TRUE +#undef FALSE #define mk_it_range boost::make_iterator_range @@ -760,9 +767,9 @@ namespace expr static inline void print (std::ostream &OS, const mpz_class &v, int depth, bool brkt) { - /* print large numbers in hex */ + /* print large numbers in hex if (v >= 65535 || v <= -65535) - OS << std::hex << std::showbase; + OS << std::hex << std::showbase; */ OS << v; @@ -855,13 +862,13 @@ namespace expr for (std::vector::const_iterator it = args.begin (), end = args.end (); it != end; ++it) { - OS << "\n"; - space (OS, depth + 2); + OS << " "; +// space (OS, depth + 2); (*it)->Print (OS, depth + 2, false); } - OS << "\n"; - space (OS, depth); +// OS << "\n"; +// space (OS, depth); OS << "]"; } }; @@ -1141,9 +1148,8 @@ namespace expr { if (expr->use_count () > 1) { - DagVisitCache::const_iterator cit - = cache.find (&*expr); - if (cit != cache.end ()) return cit->second; + DagVisitCache::const_iterator cit = cache.find (&*expr); + if (cit != cache.end ()) return cit->second; } @@ -1156,39 +1162,37 @@ namespace expr res = va.getExpr (); else { - res = va.isChangeDoKidsRewrite () ? va.getExpr () : expr; - if (res->arity () > 0) - { - bool changed = false; - std::vector kids; - - for (ENode::args_iterator b = res->args_begin (), - e = res->args_end (); - b != e; ++b) - { - Expr k = visit (v, *b, cache); - kids.push_back (k); - changed = (changed || k.get () != *b); - } - - if (changed) - { - if (!res->isMutable ()) - res = res->getFactory ().mkNary (res->op (), - kids.begin (), - kids.end ()); - else - res->renew_args (kids.begin (), kids.end ()); - } - } + res = va.isChangeDoKidsRewrite () ? va.getExpr () : expr; + if (res->arity () > 0) + { + bool changed = false; + std::vector kids; + + for (ENode::args_iterator b = res->args_begin (), e = res->args_end (); b != e; ++b) + { + Expr k = visit (v, *b, cache); + kids.push_back (k); + changed = (changed || k.get () != *b); + } + + if (changed) + { + if (!res->isMutable ()) + res = res->getFactory ().mkNary (res->op (), + kids.begin (), + kids.end ()); + else + res->renew_args (kids.begin (), kids.end ()); + } + } - res = va.rewrite (res); + res = va.rewrite (res); } if (expr->use_count () > 1) { - expr->Ref (); - cache[&*expr] = res; + expr->Ref (); + cache[&*expr] = res; } return res; @@ -2103,6 +2107,8 @@ namespace expr NOP(UNINT_TY,"UNINT",PREFIX,SimpleTypeOp) /** Array Type */ NOP(ARRAY_TY,"ARRAY",PREFIX,SimpleTypeOp) + /** stub for ADTs **/ + NOP(AD_TY,"",PREFIX,SimpleTypeOp) } namespace op @@ -2112,6 +2118,7 @@ namespace expr inline Expr intTy (ExprFactory &efac) {return mk (efac);} inline Expr boolTy (ExprFactory &efac) {return mk (efac);} inline Expr realTy (ExprFactory &efac) {return mk (efac);} + inline Expr adTy (Expr name) {return mk (name);} inline Expr arrayTy (Expr indexTy, Expr valTy) {return mk (indexTy, valTy);} @@ -2212,7 +2219,8 @@ namespace expr { return constDecl (name, mk (name->efac ())); } inline Expr realConstDecl (Expr name) { return constDecl (name, mk (name->efac ())); } - + inline Expr adtConstDecl (Expr name) + { return constDecl (name, mk (name->efac ())); } template Expr fdecl (Expr fname, const Range &args) @@ -2233,12 +2241,13 @@ namespace expr template Expr fapp (Expr fdecl, const Range &args) { - ExprVector _args; - _args.push_back (fdecl); - _args.insert (_args.end (), boost::begin (args), boost::end (args)); - return mknary (_args); + ExprVector _args; + _args.push_back (fdecl); + _args.insert (_args.end (), boost::begin (args), boost::end (args)); + return mknary (_args); } + inline Expr fapp (Expr fdecl, Expr a0, Expr a1 = Expr(), Expr a2 = Expr()) { @@ -2274,10 +2283,9 @@ namespace expr template bool isFdecl (Expr v) { - return isOpX (v) && isOpX (rangeTy (v)); + return isOpX (v) && isOpX (rangeTy (v)); } - - + /** constant is an applied nullary function */ template bool isConst (Expr v) { @@ -2290,14 +2298,14 @@ namespace expr inline Expr boolConst (Expr name) { return fapp (boolConstDecl (name)); } inline Expr intConst (Expr name) { return fapp (intConstDecl (name)); } inline Expr realConst (Expr name) { return fapp (realConstDecl (name)); } - + inline Expr adtConst (Expr name) { return fapp (adtConstDecl (name)); } inline bool isBoolConst (Expr v) { return isConst (v); } inline bool isIntConst (Expr v) { return isConst (v); } inline bool isRealConst (Expr v) { return isConst (v); } + inline bool isAdtConst (Expr v) { return isConst (v); } - inline Expr typeOf (Expr v) { using namespace bind; @@ -2308,11 +2316,12 @@ namespace expr assert (isOpX (v->left ())); return rangeTy (v->left ()); } - - if (isOpX (v) || isOpX (v)) return mk (v->efac ()); + + if (isOpX(v)) return typeOf(v->last()); + if (isOp(v) || isOp (v)) return mk (v->efac ()); if (isOpX (v)) return mk (v->efac ()); if (isOpX (v)) return mk (v->efac ()); - + if (isOpX (v)) return bind::type (v); if (isBoolVar (v) || isBoolConst (v)) @@ -2322,36 +2331,53 @@ namespace expr if (isRealVar (v) || isRealConst (v)) return mk (v->efac ()); - std::cerr << "WARNING: could not infer type of: " << *v << "\n"; - - assert (0 && "Unreachable"); - return Expr(); + if (isOp(v)) return typeOf(v->left()); + + if (isOpX(v)) return sort::arrayTy(typeOf(v->right()), typeOf(v->last())); + if (isOpX (e); + } }; } } @@ -2447,7 +2488,7 @@ namespace expr return hasher (var); } - void Print (std::ostream &OS) const { OS << "B" << var; } + void Print (std::ostream &OS) const { OS << "B" << var; } }; inline std::ostream &operator<< (std::ostream &OS, const BoundVar &b) { @@ -2711,6 +2752,52 @@ namespace expr { return exp == s ? VisitAction::changeTo (t) : VisitAction::doKids (); } }; + struct RAVALL: public std::unary_function + { + ExprVector* s; + ExprVector* t; + unsigned int sz; + + RAVALL (ExprVector* _s, ExprVector* _t) : s(_s), t(_t), sz(_s->size()) { } + VisitAction operator() (Expr exp) const + { + // TODO: could be optimized further, + // e.g., when all elements of s and t have the same type... + for (unsigned int i = 0; i < sz; i++ ) + if (exp == s->at(i)) return VisitAction::changeTo (t->at(i)); + return VisitAction::doKids (); + } + }; + + struct RAVALLM: public std::unary_function + { + ExprMap* m; + + RAVALLM (ExprMap* _m) : m(_m) { } + VisitAction operator() (Expr exp) const + { + auto it = m->find(exp); + if (it != m->end()) return VisitAction::changeTo (it->second); + return VisitAction::doKids (); + } + }; + + struct RAVALLMR: public std::unary_function + { + ExprMap* m; + + RAVALLMR (ExprMap* _m) : m(_m) { } + VisitAction operator() (Expr exp) const + { + auto it = m->begin(); + while (it != m->end()) + if (it->second == exp) + return VisitAction::changeTo (it->first); + else ++it; + return VisitAction::doKids (); + } + }; + struct RAVSIMP: public std::unary_function { Expr s; @@ -2751,7 +2838,7 @@ namespace expr if (filter (exp)) { *(out++) = exp; - return VisitAction::skipKids (); + return VisitAction::doKids (); } return VisitAction::doKids (); @@ -2829,6 +2916,49 @@ namespace expr } }; + template + struct ContainsOp : public std::unary_function + { + bool found; + + ContainsOp () : found(false) {} + + VisitAction operator() (Expr exp) + { + if (found || isOpX(exp)) + { + found = true; + return VisitAction::skipKids (); + } + return VisitAction::doKids (); + } + }; + + struct HasUninterp : public std::unary_function + { + bool found; + + HasUninterp () : found(false) {} + + VisitAction operator() (Expr exp) + { + if (found || isOpX(exp)) + { + if (exp->arity() > 0) + { + if (isOpX(exp->arg(0)) && + "BOOL" == boost::lexical_cast (exp->arg(0)->last()) && + exp->arg(0)->arity() > 2) + { + found = true; + return VisitAction::skipKids (); + } + } + } + return VisitAction::doKids (); + } + }; + struct SIZE : public std::unary_function { size_t count; @@ -2896,6 +3026,42 @@ namespace expr return dagVisit (rav, exp); } + // pairwise replacing + inline Expr replaceAll (Expr exp, ExprVector& s, ExprVector& t) + { + assert(s.size() == t.size()); + if (s.empty()) return exp; + RAVALL rav(&s, &t); + Expr tmp = dagVisit (rav, exp); + if (tmp == exp) return exp; + else return replaceAll(tmp, s, t); + } + + // pairwise replacing + inline Expr replaceAll (Expr exp, ExprMap& m, bool rec = true, int iter = 0) + { + if (iter == 1000) + { + std::cout << "WARNING: possible inifinite recursion in replaceAll\n"; + return exp; + } + if (m.empty()) return exp; + RAVALLM rav(&m); + Expr tmp = dagVisit (rav, exp); + if (tmp == exp || !rec) return tmp; + else return replaceAll(tmp, m, rec, iter+1); + } + + // pairwise replacing + inline Expr replaceAllRev (Expr exp, ExprMap& m) + { + if (m.empty()) return exp; + RAVALLMR rav(&m); + Expr tmp = dagVisit (rav, exp); + if (tmp == exp) return exp; + else return replaceAllRev(tmp, m); + } + /** Replace all occurrences of s by t while simplifying the result */ inline Expr replaceAllSimplify (Expr exp, Expr s, Expr t) { @@ -2903,7 +3069,6 @@ namespace expr return dagVisit (rav, exp); } - // -- collect all sub-expressions of exp that satisfy the filter template void filter (Expr exp, F filter, OutputIterator out) @@ -2983,8 +3148,22 @@ namespace expr CV cv(e2); dagVisit (cv, e1); return cv.found; - } + } + /** Returns true if e1 contains applications of T */ + template inline bool containsOp (Expr e1) + { + ContainsOp co; + dagVisit (co, e1); + return co.found; + } + + inline bool hasUninterp (Expr e1) + { + HasUninterp co; + dagVisit (co, e1); + return co.found; + } namespace op { diff --git a/include/ufo/ExprLlvm.hpp b/include/ufo/ExprLlvm.hpp index 63ca200dc..88f595323 100644 --- a/include/ufo/ExprLlvm.hpp +++ b/include/ufo/ExprLlvm.hpp @@ -1,208 +1,7 @@ #ifndef __EXPR__LLVM__HPP_ #define __EXPR__LLVM__HPP_ -#include "ufo/Expr.hpp" - -#include - -#include "llvm/Support/raw_ostream.h" -#include "llvm/IR/Function.h" -#include "llvm/IR/BasicBlock.h" -#include "llvm/IR/Value.h" -#include "llvm/ADT/APInt.h" -#include "llvm/IR/Constants.h" - -#include - - -namespace expr -{ - using namespace llvm; - - inline llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, const Expr &p) - { - OS << p.get (); - return OS; - } - - inline llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, - const ENode &n) - { - OS << boost::lexical_cast (n); - return OS; - } - - using namespace llvm; - template<> struct TerminalTrait - { - static inline void print (std::ostream &OS, const Function *f, - int depth, bool brkt) - {OS << f->getName ().str ();} - - static inline bool less (const Function *f1, const Function *f2) - {return f1 < f2;} - - static inline bool equal_to (const Function *f1, const Function *f2) - {return f1 == f2;} - - static inline size_t hash (const Function *f) - { - boost::hash hasher; - return hasher (f); - } - }; - - - template<> struct TerminalTrait - { - static inline void print (std::ostream &OS, const BasicBlock* s, - int depth, bool brkt) - { - OS << s->getParent ()->getName ().str () + "@" + s->getName ().str (); - } - static inline bool less (const BasicBlock* s1, const BasicBlock* s2) - { return s1 < s2; } - - static inline bool equal_to (const BasicBlock *b1, const BasicBlock *b2) - { return b1 == b2; } - - static inline size_t hash (const BasicBlock *b) - { - boost::hash hasher; - return hasher (b); - } - - - }; - - template<> struct TerminalTrait - { - static inline void print (std::ostream &OS, const Value* s, - int depth, bool brkt) - { - // -- name instructions uniquely based on the name of their containing function - if (const Instruction *inst = dyn_cast (s)) - { - const BasicBlock *bb = inst->getParent (); - const Function *fn = bb ? bb->getParent () : NULL; - if (fn) OS << fn->getName ().str () << "@"; - } - else if (const Argument *arg = dyn_cast (s)) - { - const Function *fn = arg->getParent (); - if (fn) OS << fn->getName ().str () << "@"; - } - - if (s->hasName ()) - OS << (isa (s) ? '@' : '%') - << s->getName ().str (); - else - { - // names of constant expressions - std::string ssstr; - raw_string_ostream ss(ssstr); - ss << *s; - OS << ss.str (); - - // std::string str = ss.str(); - // int f = str.find_first_not_of(' '); - // std::string s1 = str.substr(f); - // f = s1.find_first_of(' '); - // OS << s1.substr(0,f); - } - } - static inline bool less (const Value* s1, const Value* s2) - { return s1 < s2; } - - static inline bool equal_to (const Value *v1, const Value *v2) - { return v1 == v2; } - - static inline size_t hash (const Value *v) - { - boost::hash hasher; - return hasher (v); - } - }; - - typedef expr::Terminal BB; - typedef expr::Terminal VALUE; - typedef expr::Terminal FUNCTION; - - /** Converts v to mpz_class. Assumes that v is signed */ - inline mpz_class toMpz (const APInt &v) - { - // Based on: - // https://llvm.org/svn/llvm-project/polly/trunk/lib/Support/GICHelper.cpp - // return v.getSExtValue (); - - APInt abs; - abs = v.isNegative () ? v.abs () : v; - - const uint64_t *rawdata = abs.getRawData (); - unsigned numWords = abs.getNumWords (); - - // TODO: Check if this is true for all platforms. - mpz_class res; - mpz_import(res.get_mpz_t (), numWords, 1, sizeof (uint64_t), 0, 0, rawdata); - - return v.isNegative () ? mpz_class(-res) : res; - } - - inline mpz_class toMpz (const Value *v) - { - if (const ConstantInt *k = dyn_cast (v)) - return toMpz (k->getValue ()); - if (isa (v)) return 0; - - assert (0 && "Not a number"); - return 0; - } - - /** Adapted from - https://llvm.org/svn/llvm-project/polly/branches/release_34/lib/Support/GICHelper.cpp - */ - inline APInt toAPInt (const mpz_class &v) - { - uint64_t *p = nullptr; - size_t sz; - - p = (uint64_t*)mpz_export (p, &sz, -1, sizeof(uint64_t), 0, 0, v.get_mpz_t ()); - if (p) - { - APInt A ((unsigned)mpz_sizeinbase (v.get_mpz_t (), 2), (unsigned)sz, p); - A = A.zext (A.getBitWidth () + 1); - free (p); - - if (sgn (v) == -1) - return -A; - else - return A; - } - else - return APInt (1, 0); - } - - inline APInt toAPInt (unsigned numBits, const mpz_class &v) - { - uint64_t *p = nullptr; - size_t sz; - - p = (uint64_t*)mpz_export (p, &sz, -1, sizeof(uint64_t), 0, 0, v.get_mpz_t ()); - if (p) - { - APInt A (numBits, (unsigned)sz, p); - free (p); - - if (sgn (v) == -1) - return -A; - else - return A; - } - else - return APInt (numBits, 0); - } - -} - +#define outs() std::cout +#define errs() std::cerr #endif diff --git a/include/ufo/Smt/Z3n.hpp b/include/ufo/Smt/Z3n.hpp index bce7102d9..6fe0f3d0a 100644 --- a/include/ufo/Smt/Z3n.hpp +++ b/include/ufo/Smt/Z3n.hpp @@ -54,7 +54,7 @@ namespace z3 return hasher (static_cast (ast)); } }; - + struct ast_ptr_equal_to : public std::binary_function { bool operator() (const ast &a1, const ast &a2) const @@ -66,32 +66,7 @@ namespace z3 namespace z3 { - // -- fixedpoint class is missing from z3++.h - class fixedpoint : public object - { - Z3_fixedpoint m_fixedpoint; - void init (Z3_fixedpoint f) - { - m_fixedpoint = f; - Z3_fixedpoint_inc_ref (ctx(), f); - } - public: - fixedpoint(context & c):object(c) { init(Z3_mk_fixedpoint(c)); } - fixedpoint(context & c, Z3_fixedpoint s):object(c) { init(s); } - fixedpoint(fixedpoint const & s):object(s) { init(s.m_fixedpoint); } - ~fixedpoint() { Z3_fixedpoint_dec_ref(ctx(), m_fixedpoint); } - operator Z3_fixedpoint() const { return m_fixedpoint; } - fixedpoint & operator=(fixedpoint const & s) { - Z3_fixedpoint_inc_ref(s.ctx(), s.m_fixedpoint); - Z3_fixedpoint_dec_ref(ctx(), m_fixedpoint); - m_ctx = s.m_ctx; - m_fixedpoint = s.m_fixedpoint; - return *this; - } - void set(params const & p) - { Z3_fixedpoint_set_params(ctx(), m_fixedpoint, p); check_error(); } - }; - + class ast_map : public object { Z3_ast_map m_map; void init(Z3_ast_map v) { Z3_ast_map_inc_ref(ctx(), v); m_map = v; } @@ -113,7 +88,7 @@ namespace z3 void insert (ast const &k, ast const &v) { Z3_ast_map_insert(ctx(), m_map, k, v); check_error(); }; ast find (ast const &k) { Z3_ast res = Z3_ast_map_find(ctx(), m_map, k); check_error(); return ast (ctx (), res); }; ast_vector get_keys() { Z3_ast_vector res = Z3_ast_map_keys(ctx(), m_map); check_error(); return ast_vector (ctx (), res); }; - + friend std::ostream & operator<<(std::ostream & out, ast_map const & v) { out << Z3_ast_map_to_string(v.ctx(), v); return out; } }; } @@ -198,8 +173,14 @@ namespace ufo { z3::context &ctx = z3.get_ctx (); - z3::ast ast (ctx, Z3_parse_smtlib2_string (ctx, smt.c_str (), - 0, NULL, NULL, 0, NULL, NULL)); + Z3_ast_vector b = Z3_parse_smtlib2_string (ctx, smt.c_str (), 0, NULL, NULL, 0, NULL, NULL); + Z3_ast* args = new Z3_ast[Z3_ast_vector_size(ctx, b)]; + + for (unsigned i = 0; i < Z3_ast_vector_size(ctx, b); ++i) { + args[i] = Z3_ast_vector_get(ctx, b, i); + } + + z3::ast ast (ctx, Z3_mk_and(ctx, Z3_ast_vector_size(ctx, b), args)); ctx.check_error (); return z3.toExpr (ast); } @@ -207,12 +188,18 @@ namespace ufo template Expr z3_from_smtlib_file (Z &z3, const char *fname) { - z3::context &ctx = z3.get_ctx (); - z3::ast ast (ctx, Z3_parse_smtlib2_file (ctx, fname, - 0, NULL, NULL, 0, NULL, NULL)); - ctx.check_error (); - return z3.toExpr (ast); - } + z3::context &ctx = z3.get_ctx (); + Z3_ast_vector b = Z3_parse_smtlib2_file (ctx, fname, 0, NULL, NULL, 0, NULL, NULL); + Z3_ast* args = new Z3_ast[Z3_ast_vector_size(ctx, b)]; + + for (unsigned i = 0; i < Z3_ast_vector_size(ctx, b); ++i) { + args[i] = Z3_ast_vector_get(ctx, b, i); + } + + z3::ast ast (ctx, Z3_mk_and(ctx, Z3_ast_vector_size(ctx, b), args)); + ctx.check_error (); + return z3.toExpr (ast); + } template std::string z3_to_smtlib (Z &z3, Expr e) @@ -229,9 +216,9 @@ namespace ufo pinned.push_back (a); bound.push_back (Z3_to_app (ctx, a)); assert (a.kind () == Z3_APP_AST); - + z3::ast_map emap (ctx); - + z3::ast res (ctx, Z3_qe_model_project_skolem (ctx, model.get_model (), bound.size (), &bound [0], b, emap)); @@ -241,7 +228,7 @@ namespace ufo } return z3.toExpr (res); } - + } @@ -297,6 +284,8 @@ namespace ufo protected: z3::context &get_ctx () { return ctx; } + std::vector adts; + std::vector accessors; z3::ast toAst (Expr e) { @@ -308,7 +297,8 @@ namespace ufo if (!a) return Expr(); ast_expr_map seen; - return U::unmarshal (a, get_efac (), cache.right, seen); + std::vector adts_seen; + return U::unmarshal (a, get_efac (), cache.right, seen, adts_seen, adts, accessors); } ExprFactory &get_efac () { return efac; } @@ -323,11 +313,14 @@ namespace ufo Z3_func_decl fdecl = Z3_get_app_decl (ctx, app); if (seen.count (fdecl) > 0) return; - if (Z3_get_decl_kind (ctx, fdecl) == Z3_OP_UNINTERPRETED) - seen.insert (fdecl); + if (Z3_get_decl_kind (ctx, fdecl) == Z3_OP_UNINTERPRETED && + Z3_get_domain_size (ctx, fdecl) == 0) + seen.insert (fdecl); for (unsigned i = 0; i < Z3_get_app_num_args (ctx, app); i++) - allDecls (Z3_get_app_arg (ctx, app, i), seen); + { + allDecls (Z3_get_app_arg (ctx, app, i), seen); + } } @@ -355,6 +348,9 @@ namespace ufo return out.str (); } + ExprVector& getAdtConstructors(){ return adts; } + ExprVector& getAdtAccessors(){ return accessors; } + template std::string toSmtLibDecls (const Range &rng) { return toSmtLibDecls (mknary (mk (efac), rng)); } @@ -366,7 +362,7 @@ namespace ufo friend class ZSolver; friend class ZModel; friend class ZFixedPoint; - + friend Expr z3_qe_model_project_skolem (this_type &z3, this_model_type &model, Expr v, Expr body, ExprMap &map); friend Expr z3_lite_simplify (this_type &z3, Expr e); @@ -396,7 +392,7 @@ namespace ufo bool isAsArray (const z3::ast &v) { if (v.kind () != Z3_APP_AST) return false; - + Z3_app app = Z3_to_app (ctx, v); Z3_func_decl fdecl = Z3_get_app_decl (ctx, app); return Z3_get_decl_kind (ctx, fdecl) == Z3_OP_AS_ARRAY; @@ -412,7 +408,7 @@ namespace ufo Expr res = mdl::ftable (entries, z3.toExpr (elseV)); return res; } - + Expr fentryToExpr (const z3::func_entry &zentry) { ExprVector args; @@ -425,14 +421,14 @@ namespace ufo Expr res = mdl::fentry (args, z3.toExpr (zval)); return res; } - - + + public: ZModel (Z &z) : z3(z), ctx (z.get_ctx ()), model(nullptr), efac(z.get_efac ()) {} - + ZModel (Z &z, const z3::model &m) : z3(z), ctx(z.get_ctx ()), model (m), efac (z.get_efac ()) {Z3_model_inc_ref (ctx, model);} @@ -446,10 +442,10 @@ namespace ufo if (model) Z3_model_dec_ref (ctx, model); model = nullptr; } - + this_type &operator= (this_type other) {swap (*this, other); return *this;} - + Z3_model &get_model () { return model; } friend void swap (this_type &src, this_type &dst) @@ -458,8 +454,8 @@ namespace ufo assert (&src.z3 == &dst.z3); swap (src.model, dst.model); } - - + + Expr eval (Expr e, bool completion = false) { assert (model); @@ -471,8 +467,8 @@ namespace ufo z3::ast val (ctx, raw_val); ctx.check_error (); if (!isAsArray (val)) return z3.toExpr (val); - - + + Z3_func_decl fdecl = Z3_get_as_array_func_decl (ctx, val); z3::func_interp zfunc (ctx, Z3_model_get_func_interp (ctx, model, fdecl)); ctx.check_error (); @@ -491,7 +487,7 @@ namespace ufo out << Z3_model_to_string (model.ctx, model.model); return out; } - + }; template @@ -540,8 +536,12 @@ namespace ufo ZSolver (Z &z) : z3(z), ctx (z.get_ctx ()), solver (z.get_ctx ()), efac (z.get_efac ()) {} - ZSolver (Z &z, const char *logic) : - z3(z), ctx (z.get_ctx ()), solver (z.get_ctx (), logic), efac (z.get_efac ()) {} + ZSolver (Z &z, unsigned to) : + z3(z), ctx (z.get_ctx ()), solver (z.get_ctx ()), efac (z.get_efac ()) { + ZParams p(z); + p.set("timeout", to); + solver.set(p); + } Z& getContext () {return z3;} void set (const ZParams &p) { solver.set (p); } @@ -661,6 +661,12 @@ namespace ufo return ZModel (z3, m); } + ZSolver::Model* getModelPtr () const + { + z3::model m (ctx, Z3_solver_get_model (ctx, solver)); + return new ZModel (z3, m); + } + void push () { solver.push (); } void pop (unsigned n = 1) { solver.pop (n); } void reset () { solver.reset (); } @@ -680,12 +686,12 @@ namespace ufo ExprFactory &efac; public: - + ExprVector m_rels; ExprVector m_vars; ExprVector m_rules; ExprVector m_queries; - + ZFixedPoint (Z &z) : z3(z), ctx(z.get_ctx ()), fp (z.get_ctx ()), efac(z.get_efac ()) {} @@ -704,7 +710,7 @@ namespace ufo void addRule (const Range &vars, Expr rule) { if (isOpX (rule)) return; - + boost::copy (vars, std::back_inserter (m_vars)); m_rules.push_back (rule); @@ -738,9 +744,9 @@ namespace ufo void addQuery (Expr q) {m_queries.push_back (q);} - void addQueries (ExprVector qs) + void addQueries (ExprVector qs) { - std::copy (qs.begin (), qs.end (), + std::copy (qs.begin (), qs.end (), std::back_inserter (m_queries)); } @@ -773,7 +779,7 @@ namespace ufo ast = z3::ast (ctx, Z3_mk_exists_const (ctx, 0, bound.size (), &bound [0], 0, NULL, ast)); } - + tribool res = z3l_to_tribool (Z3_fixedpoint_query (ctx, fp, ast)); ctx.check_error (); return res; @@ -808,8 +814,8 @@ namespace ufo ast = z3::ast (ctx, Z3_mk_exists_const (ctx, 0, bound.size (), &bound [0], 0, NULL, ast)); } - - + + Z3_ast qptr = static_cast (ast); Z3_string str = Z3_fixedpoint_to_string (ctx, fp, 1, &qptr); return std::string (str); @@ -848,7 +854,7 @@ namespace ufo else out << "UfoUnknownSort"; out << ") "; } - + else out << "UfoUnknownSort "; } out << "))\n"; @@ -923,14 +929,14 @@ namespace ufo void addCover (Expr pred, Expr lemma, int lvl = -1) { if (isOpX (lemma)) return; - + assert (bind::isFapp (pred)); z3::ast zpred (ctx, z3.toAst (pred)); Z3_app app = Z3_to_app (ctx, zpred); if (isOpX (lemma)) { - Z3_fixedpoint_add_cover (ctx, fp, lvl, Z3_get_app_decl (ctx, app), + Z3_fixedpoint_add_cover (ctx, fp, lvl, Z3_get_app_decl (ctx, app), Z3_mk_false (ctx)); ctx.check_error (); return; @@ -998,7 +1004,7 @@ namespace ufo void getCexRules (ExprVector &res) { - z3::ast_vector rules (ctx, + z3::ast_vector rules (ctx, Z3_fixedpoint_get_rules_along_trace (ctx, fp)); for (unsigned i = 0; i < rules.size (); ++i) { @@ -1009,18 +1015,18 @@ namespace ufo res.push_back (z3.toExpr (rule)); } } - + void loadFPfromFile(std::string smt){ z3::ast_vector queries (ctx, Z3_fixedpoint_from_file(ctx, fp, smt.c_str ())); ctx.check_error (); - + z3::ast_vector rules (ctx, Z3_fixedpoint_get_rules(ctx, fp)); ExprSet relations; for (unsigned i = 0; i < rules.size (); ++i){ Expr rule = z3.toExpr (rules [i]); m_rules.push_back(rule); - + Expr head = rule->arg(rule->arity() - 1)->arg(1); if (isOpX(head)){ if (head->arity () > 0){ @@ -1030,13 +1036,13 @@ namespace ufo } } } - + for (unsigned i = 0; i < queries.size (); ++i){ m_queries.push_back(z3.toExpr (queries [i])); } - + for (auto &r: relations) m_rels.push_back (r); - + //TODO: vars } }; diff --git a/include/ufo/Smt/ZExprConverter.hpp b/include/ufo/Smt/ZExprConverter.hpp index 5c3b04877..8bd24b8dc 100644 --- a/include/ufo/Smt/ZExprConverter.hpp +++ b/include/ufo/Smt/ZExprConverter.hpp @@ -6,7 +6,6 @@ // -- used for CL options #include "Z3n.hpp" -#include "llvm/Support/raw_ostream.h" #include "ufo/ExprLlvm.hpp" namespace ufo @@ -18,7 +17,7 @@ namespace ufo static z3::ast marshal (Expr e, z3::context &ctx, C &cache, expr_ast_map &seen) { - llvm::errs () << "Cannot marshal: " << *e << "\n"; + errs () << "Cannot marshal: " << *e << "\n"; assert (0); exit (1); } }; @@ -29,7 +28,7 @@ namespace ufo static Expr unmarshal (const z3::ast &a, ExprFactory &efac, C &cache, ast_expr_map &seen) { - llvm::errs () << "Cannot unmarshal: " << lexical_cast (a) << "\n"; + errs () << "Cannot unmarshal: " << lexical_cast (a) << "\n"; assert (0); exit (1); } @@ -75,6 +74,8 @@ namespace ufo res = reinterpret_cast (Z3_mk_real_sort (ctx)); else if (isOpX (e)) res = reinterpret_cast (Z3_mk_bool_sort (ctx)); + else if (isOpX (e)) + res = reinterpret_cast (Z3_mk_int_sort (ctx)); // GF: hack for now else if (isOpX (e)) { z3::ast _idx_sort (marshal (e->left (), ctx, cache, seen)); @@ -206,9 +207,9 @@ namespace ufo { z3::func_decl zfdecl (ctx, - reinterpret_cast - (static_cast - (marshal (bind::fname (e), ctx, cache, seen)))); + reinterpret_cast + (static_cast + (marshal (bind::fname (e), ctx, cache, seen)))); // -- marshall all arguments except for the first one @@ -232,28 +233,24 @@ namespace ufo /** quantifier */ else if (isOpX (e) || isOpX (e)) { - unsigned num_bound = bind::numBound (e); - z3::ast_vector pinned (ctx); - pinned.resize (num_bound); - std::vector bound_sorts; - bound_sorts.reserve (num_bound); - std::vector bound_names; - bound_names.reserve (num_bound); - - for (unsigned i = 0; i < num_bound; ++i) - { - z3::ast z (marshal (bind::decl (e, i), ctx, cache, seen)); - pinned.push_back (z); - - Z3_func_decl decl = Z3_to_func_decl (ctx, z); - bound_sorts.push_back (Z3_get_range (ctx, decl)); - bound_names.push_back (Z3_get_decl_name (ctx, decl)); - } - - - z3::ast body (marshal (bind::body (e), ctx, cache, seen)); - res = Z3_mk_quantifier (ctx, isOpX (e), 0, 0, NULL, - num_bound, &bound_sorts[0], &bound_names[0], body); + ExprVector vars; + for (int i = 0; i < e->arity() - 1; i++) + vars.push_back(bind::fapp(e->arg(i))); + + z3::ast ast (marshal (e->last(), ctx, cache, seen)); //z3.toAst (e->last())); + std::vector bound; + bound.reserve (boost::size (vars)); + for (const Expr &v : vars) + bound.push_back (Z3_to_app (ctx, marshal (v, ctx, cache, seen))); + + if (isOpX (e)) + res = Z3_mk_forall_const (ctx, 0, + bound.size (), &bound[0], + 0, NULL, ast); + else + res = Z3_mk_exists_const (ctx, 0, + bound.size (), &bound[0], + 0, NULL, ast); } // -- cache the result for unmarshaling @@ -491,6 +488,7 @@ namespace ufo else if (isOp (e)) { Z3_func_decl fdecl = reinterpret_cast (args[0]); + printf("Func decl: %s \n", Z3_get_symbol_string(ctx, Z3_get_decl_name (ctx, fdecl))); res = Z3_mk_map (ctx, fdecl, e->arity ()-1, &args[1]); } } @@ -509,13 +507,17 @@ namespace ufo } }; - template + static Expr left; + ExprVector subexpr; + + + template struct BasicExprUnmarshal { template static Expr unmarshal (const z3::ast &z, - ExprFactory &efac, C &cache, - ast_expr_map &seen) + ExprFactory &efac, C &cache, ast_expr_map &seen, + std::vector &adts_seen, std::vector &adts, std::vector &accessors) { z3::context &ctx = z.ctx (); @@ -529,7 +531,6 @@ namespace ufo if (kind == Z3_NUMERAL_AST) { - Z3_sort sort = Z3_get_sort (ctx, z); std::string snum = Z3_get_numeral_string (ctx, z); switch (Z3_get_sort_kind (ctx, sort)) @@ -549,79 +550,113 @@ namespace ufo { Z3_sort sort = reinterpret_cast (static_cast (z)); Expr domain, range; - + switch (Z3_get_sort_kind (ctx, sort)) - { - case Z3_BOOL_SORT: - return sort::boolTy (efac); - case Z3_INT_SORT: - return sort::intTy (efac); - case Z3_REAL_SORT: - return sort::realTy (efac); - case Z3_BV_SORT: - return bv::bvsort (Z3_get_bv_sort_size (ctx, sort), efac); - case Z3_ARRAY_SORT: - domain = - unmarshal (z3::ast (ctx, - Z3_sort_to_ast - (ctx, Z3_get_array_sort_domain (ctx, sort))), - efac, cache, seen); - range = - unmarshal (z3::ast (ctx, - Z3_sort_to_ast - (ctx, Z3_get_array_sort_range (ctx, sort))), - efac, cache, seen); - return sort::arrayTy (domain, range); - default: - assert (0 && "Unsupported sort"); - } - } + { + case Z3_BOOL_SORT: + return sort::boolTy (efac); + case Z3_INT_SORT: + return sort::intTy (efac); + case Z3_REAL_SORT: + return sort::realTy (efac); + case Z3_BV_SORT: + return bv::bvsort (Z3_get_bv_sort_size (ctx, sort), efac); + case Z3_ARRAY_SORT: + domain = + unmarshal (z3::ast (ctx, + Z3_sort_to_ast + (ctx, Z3_get_array_sort_domain (ctx, sort))), + efac, cache, seen, adts_seen, adts, accessors); + range = + unmarshal (z3::ast (ctx, + Z3_sort_to_ast + (ctx, Z3_get_array_sort_range (ctx, sort))), + efac, cache, seen, adts_seen, adts, accessors); + return sort::arrayTy (domain, range); + case Z3_DATATYPE_SORT: + { + unsigned num = Z3_get_datatype_sort_num_constructors(ctx, sort); + while (num > 0) { + num--; + auto c = Z3_get_datatype_sort_constructor(ctx, sort, num); + unsigned num_accessors = Z3_get_domain_size(ctx, c); + + while(num_accessors > 0){ + num_accessors--; + auto as = Z3_get_datatype_sort_constructor_accessor(ctx, sort, num, num_accessors); + } + } + std::string name = Z3_get_symbol_string(ctx, Z3_get_sort_name(ctx, sort)); + Expr adt_name = mkTerm (name, efac); + if (find(adts_seen.begin(), adts_seen.end(), name) == adts_seen.end()) + { + adts_seen.push_back(name); + for (int i = 0; i < Z3_get_datatype_sort_num_constructors(ctx, sort); i++) + { + Z3_func_decl decl = Z3_get_datatype_sort_constructor(ctx, sort, i); + Z3_ast zdecl = Z3_func_decl_to_ast(ctx, decl); + adts.push_back(unmarshal(z3::ast(ctx, zdecl), efac, cache, seen, adts_seen, adts, accessors)); + } + } + return sort::adTy (adt_name); + } + default: + std::string name = Z3_get_symbol_string(ctx, Z3_get_sort_name(ctx, sort)); + Expr adt_name = mkTerm (name, efac); + if (find(adts_seen.begin(), adts_seen.end(), name) == adts_seen.end()) + { + adts_seen.push_back(name); + } + return sort::adTy (adt_name); + } +} else if (kind == Z3_VAR_AST) { unsigned idx = Z3_get_index_value (ctx, z); z3::ast zsort (ctx, Z3_sort_to_ast (ctx, Z3_get_sort (ctx, z))); - Expr sort = unmarshal (zsort, efac, cache, seen); + Expr sort = unmarshal (zsort, efac, cache, seen, adts_seen, adts, accessors); return bind::bvar (idx, sort); } - else if (kind == Z3_FUNC_DECL_AST) + else if (kind == Z3_FUNC_DECL_AST) { - { - typename C::const_iterator it = cache.find (z); - if (it != cache.end ()) return it->second; - } - Z3_func_decl fdecl = Z3_to_func_decl (ctx, z); + { + typename C::const_iterator it = cache.find (z); + if (it != cache.end ()) return it->second; + } + Z3_func_decl fdecl = Z3_to_func_decl (ctx, z); - Z3_symbol symname = Z3_get_decl_name (ctx, fdecl); - - Expr name; - switch (Z3_get_symbol_kind (ctx, symname)) - { +// printf("Func decl ast: %s \n", Z3_get_symbol_string(ctx, Z3_get_decl_name (ctx, fdecl))); + + Z3_symbol symname = Z3_get_decl_name (ctx, fdecl); + + Expr name; + std::string st = Z3_get_symbol_string(ctx, symname) ; + switch (Z3_get_symbol_kind (ctx, symname)) { case Z3_STRING_SYMBOL: name = mkTerm (Z3_get_symbol_string (ctx, symname), efac); break; case Z3_INT_SYMBOL: name = mkTerm (Z3_get_symbol_int (ctx, symname), efac); break; - } - assert (name); - - ExprVector type; - for (unsigned p = 0; p < Z3_get_domain_size (ctx, fdecl); ++p) - { - Z3_sort sort = Z3_get_domain (ctx, fdecl, p); - type.push_back - (unmarshal (z3::ast (ctx, Z3_sort_to_ast (ctx, sort)), - efac, cache, seen)); - } + } + assert (name); - type.push_back - (unmarshal (z3::ast (ctx, - Z3_sort_to_ast (ctx, - Z3_get_range (ctx, fdecl))), - efac, cache, seen)); + ExprVector type; + for (unsigned p = 0; p < Z3_get_domain_size (ctx, fdecl); ++p) + { + Z3_sort sort = Z3_get_domain (ctx, fdecl, p); + type.push_back + (unmarshal (z3::ast (ctx, Z3_sort_to_ast (ctx, sort)), + efac, cache, seen, adts_seen, adts, accessors)); + } - return bind::fdecl (name, type); + type.push_back + (unmarshal (z3::ast (ctx, + Z3_sort_to_ast (ctx, + Z3_get_range (ctx, fdecl))), + efac, cache, seen, adts_seen, adts, accessors)); + return bind::fdecl (name, type); } else if (kind == Z3_QUANTIFIER_AST) { @@ -634,12 +669,13 @@ namespace ufo Z3_get_quantifier_bound_name (ctx, z, i), 0, nullptr, Z3_get_quantifier_bound_sort (ctx, z, i)); + z3::ast zdecl (ctx, Z3_func_decl_to_ast (ctx, decl)); - args.push_back (unmarshal (zdecl, efac, cache, seen)); + args.push_back (unmarshal (zdecl, efac, cache, seen, adts_seen, adts, accessors)); assert (args.back ().get ()); } args.push_back (unmarshal (z3::ast (ctx, Z3_get_quantifier_body (ctx, z)), - efac, cache, seen)); + efac, cache, seen, adts_seen, adts, accessors)); return Z3_is_quantifier_forall (ctx, z) ? mknary (args) : mknary (args); } @@ -658,36 +694,36 @@ namespace ufo assert (Z3_get_app_num_args (ctx, app) == 1); return mk (unmarshal (z3::ast (ctx, Z3_get_app_arg (ctx, app, 0)), - efac, cache, seen)); + efac, cache, seen, adts_seen, adts, accessors)); } if (dkind == Z3_OP_UMINUS) return mk (unmarshal (z3::ast (ctx, Z3_get_app_arg (ctx, app, 0)), - efac, cache, seen)); + efac, cache, seen, adts_seen, adts, accessors)); // XXX ignore to_real and to_int operators if (dkind == Z3_OP_TO_REAL || dkind == Z3_OP_TO_INT) return unmarshal (z3::ast (ctx, Z3_get_app_arg (ctx, app, 0)), - efac, cache, seen); + efac, cache, seen, adts_seen, adts, accessors); if (dkind == Z3_OP_BNOT) return mk (unmarshal (z3::ast (ctx, Z3_get_app_arg (ctx, app, 0)), - efac, cache, seen)); + efac, cache, seen, adts_seen, adts, accessors)); if (dkind == Z3_OP_BNEG) return mk (unmarshal (z3::ast (ctx, Z3_get_app_arg (ctx, app, 0)), - efac, cache, seen)); + efac, cache, seen, adts_seen, adts, accessors)); if (dkind == Z3_OP_BREDAND) return mk (unmarshal (z3::ast (ctx, Z3_get_app_arg (ctx, app, 0)), - efac, cache, seen)); + efac, cache, seen, adts_seen, adts, accessors)); if (dkind == Z3_OP_BREDOR) return mk (unmarshal (z3::ast (ctx, Z3_get_app_arg (ctx, app, 0)), - efac, cache, seen)); + efac, cache, seen, adts_seen, adts, accessors)); if (dkind == Z3_OP_SIGN_EXT || dkind == Z3_OP_ZERO_EXT) { Expr sort = bv::bvsort (Z3_get_bv_sort_size (ctx, Z3_get_sort (ctx, z)), efac); Expr arg = unmarshal (z3::ast (ctx, Z3_get_app_arg (ctx, app, 0)), - efac, cache, seen); + efac, cache, seen, adts_seen, adts, accessors); switch (dkind) { case Z3_OP_SIGN_EXT: @@ -701,7 +737,7 @@ namespace ufo if (dkind == Z3_OP_EXTRACT) { Expr arg = unmarshal (z3::ast (ctx, Z3_get_app_arg (ctx, app, 0)), - efac, cache, seen); + efac, cache, seen, adts_seen, adts, accessors); Z3_func_decl d = Z3_get_app_decl (ctx, app); unsigned high = Z3_get_decl_int_parameter (ctx, d, 0); @@ -715,9 +751,8 @@ namespace ufo z3::ast zdecl (ctx, Z3_func_decl_to_ast (ctx, Z3_get_as_array_func_decl (ctx, z))); - return mk (unmarshal (zdecl, efac, cache, seen)); + return mk (unmarshal (zdecl, efac, cache, seen, adts_seen, adts, accessors)); } - { typename C::const_iterator it = cache.find (z); if (it != cache.end ()) return it->second; @@ -730,76 +765,138 @@ namespace ufo Expr e; ExprVector args; - for (size_t i = 0; i < (size_t)Z3_get_app_num_args (ctx, app); i++) - args.push_back (unmarshal - (z3::ast(ctx, Z3_get_app_arg(ctx, app, i)), efac, cache, seen)); + for (size_t i = 0; i < (size_t)Z3_get_app_num_args (ctx, app); i++){ + // TODO: Disequality, constructor inside constructor(maybe), IF then else + if(dkind == Z3_OP_EQ && i == 1 && Z3_get_decl_kind (ctx, Z3_get_app_decl (ctx, Z3_to_app(ctx, z3::ast(ctx, Z3_get_app_arg(ctx, app, i))))) == Z3_OP_DT_CONSTRUCTOR){ + left = args[0]; + } + args.push_back (unmarshal + (z3::ast(ctx, Z3_get_app_arg(ctx, app, i)), efac, cache, seen, adts_seen, adts, accessors)); + } - /** newly introduced Z3 symbol */ - if (dkind == Z3_OP_UNINTERPRETED) - { - Expr res = bind::fapp (unmarshal (z3::func_decl (ctx, fdecl), - efac, cache, seen), args); - // -- XXX maybe use seen instead. not sure what is best. - cache.insert (typename C::value_type (z, res)); - return res; - } - switch (dkind) + /** newly introduced Z3 symbol */ + // TODO: Bind the accessor variable + if (dkind == Z3_OP_DT_CONSTRUCTOR ) + { + if (left != NULL) { + Z3_sort sort = Z3_get_sort (ctx, z); + unsigned num = Z3_get_datatype_sort_num_constructors(ctx, sort); + while (num > 0) { + num--; + auto c = Z3_get_datatype_sort_constructor(ctx, sort, num); + unsigned num_accessors = Z3_get_domain_size(ctx, c); + if(c != fdecl){ + continue; + } + + while(num_accessors > 0){ + num_accessors--; + auto as = Z3_get_datatype_sort_constructor_accessor(ctx, sort, num, num_accessors); + ExprVector eq; + // Put value from the constructor into equality + eq.push_back (bind::fapp (unmarshal (z3::func_decl (ctx, as), + efac, cache, seen, adts_seen, adts, accessors), { left })); + eq.push_back (args[num_accessors]); + + accessors.push_back(bind::fname((unmarshal (z3::func_decl (ctx, as), + efac, cache, seen, adts_seen, adts, accessors)))); + // accessor(data) = value + subexpr.push_back(mknary (eq.begin(), eq.end())); + } + } + } + + Expr res = bind::fapp (unmarshal (z3::func_decl (ctx, fdecl), + efac, cache, seen, adts_seen, adts, accessors), args); + cache.insert (typename C::value_type (z, res)); + left = NULL; + return res; + } + + if (dkind == Z3_OP_UNINTERPRETED) { + Expr res = bind::fapp (unmarshal (z3::func_decl (ctx, fdecl), + efac, cache, seen, adts_seen, adts, accessors), args); + // -- XXX maybe use seen instead. not sure what is best. + cache.insert (typename C::value_type (z, res)); + return res; + } + + if (dkind == Z3_OP_DT_ACCESSOR) { + Z3_sort srt = Z3_get_sort(ctx, z); + Z3_func_decl acc = Z3_get_datatype_sort_constructor_accessor(ctx, srt,1,1); + Expr res = bind::fapp (unmarshal (z3::func_decl (ctx, fdecl), + efac, cache, seen, adts_seen, adts, accessors), args); + accessors.push_back(bind::fname(res)); +// -- XXX maybe use seen instead. not sure what is best. + cache.insert (typename C::value_type (z, res)); + return res; + } + switch (dkind) { - case Z3_OP_ITE: - e = mknary (args.begin (), args.end ()); - break; - case Z3_OP_AND: - e = mknary (args.begin(), args.end()); - break; - case Z3_OP_OR: - e = mknary (args.begin(), args.end()); - break; - case Z3_OP_XOR: - e = mknary (args.begin(), args.end()); - break; - case Z3_OP_IFF: - e = mknary (args.begin(), args.end()); - break; - case Z3_OP_IMPLIES: - e = mknary (args.begin(), args.end()); - break; - case Z3_OP_EQ: - e = mknary (args.begin(), args.end()); - break; - case Z3_OP_LT: - e = mknary (args.begin(), args.end()); - break; - case Z3_OP_GT: - e = mknary (args.begin(), args.end()); - break; - case Z3_OP_LE: - e = mknary (args.begin(), args.end()); - break; - case Z3_OP_GE: - e = mknary (args.begin(), args.end()); - break; - case Z3_OP_ADD: - e = mknary (args.begin(), args.end()); - break; - case Z3_OP_SUB: - e = mknary (args.begin(), args.end()); - break; - case Z3_OP_MUL: - e = mknary (args.begin(), args.end()); - break; - case Z3_OP_DIV: - e = mknary
(args.begin(), args.end()); - break; + case Z3_OP_ITE: + e = mknary (args.begin (), args.end ()); + break; + case Z3_OP_AND: + e = mknary (args.begin(), args.end()); + break; + case Z3_OP_OR: + e = mknary (args.begin(), args.end()); + break; + case Z3_OP_XOR: + e = mknary (args.begin(), args.end()); + break; + case Z3_OP_IFF: + e = mknary (args.begin(), args.end()); + break; + case Z3_OP_IMPLIES: + e = mknary (args.begin(), args.end()); + break; + case Z3_OP_EQ: + e = mknary (args.begin(), args.end()); + if(subexpr.size() > 0){ + subexpr.push_back(e); + + e = mknary(subexpr.begin(), subexpr.end()); + subexpr.clear(); + } + break; + case Z3_OP_LT: + e = mknary (args.begin(), args.end()); + break; + case Z3_OP_GT: + e = mknary (args.begin(), args.end()); + break; + case Z3_OP_LE: + e = mknary (args.begin(), args.end()); + break; + case Z3_OP_GE: + e = mknary (args.begin(), args.end()); + break; + case Z3_OP_ADD: + e = mknary (args.begin(), args.end()); + break; + case Z3_OP_SUB: + e = mknary (args.begin(), args.end()); + break; + case Z3_OP_MUL: + e = mknary (args.begin(), args.end()); + break; + case Z3_OP_DIV: + e = mknary
(args.begin(), args.end()); + break; case Z3_OP_IDIV: e = mknary (args.begin (), args.end ()); break; - case Z3_OP_MOD: - e = mknary (args.begin (), args.end ()); - break; + case Z3_OP_MOD: + e = mknary (args.begin (), args.end ()); + break; case Z3_OP_REM: e = mknary (args.begin (), args.end ()); break; + case Z3_OP_DISTINCT: + e = mknary (args.begin(), args.end()); + break; case Z3_OP_CONST_ARRAY: { assert (args.size () == 1); @@ -807,7 +904,7 @@ namespace ufo Expr domain = unmarshal (z3::ast (ctx, Z3_sort_to_ast (ctx, Z3_get_array_sort_domain (ctx, sort))), - efac, cache, seen); + efac, cache, seen, adts_seen, adts, accessors); e = op::array::constArray (domain, args[0]); } diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index 8c170a888..1916463f6 100644 --- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt @@ -1 +1 @@ -add_subdirectory(aeval) +add_subdirectory(adt) diff --git a/tools/adt/Adt.cpp b/tools/adt/Adt.cpp new file mode 100644 index 000000000..af4f1fbd6 --- /dev/null +++ b/tools/adt/Adt.cpp @@ -0,0 +1,57 @@ +#include "adt/ADTSolver.hpp" +#include "ufo/Smt/EZ3.hh" + +using namespace ufo; + +bool getBoolValue(const char * opt, bool defValue, int argc, char ** argv) +{ + for (int i = 1; i < argc; i++) + { + if (strcmp(argv[i], opt) == 0) return true; + } + return defValue; +} + +char * getStrValue(const char * opt, const char * defValue, int argc, char ** argv) +{ + for (int i = 1; i < argc-1; i++) + { + if (strcmp(argv[i], opt) == 0) + { + return argv[i+1]; + } + } + return (char *)defValue; +} + +char * getSmtFileName(int num, int argc, char ** argv) +{ + int num1 = 1; + for (int i = 1; i < argc; i++) + { + int len = strlen(argv[i]); + if (len >= 5 && strcmp(argv[i] + len - 5, ".smt2") == 0) + { + if (num1 == num) return argv[i]; + else num1++; + } + } + return NULL; +} + +int main (int argc, char ** argv) +{ + ExprFactory efac; + EZ3 z3(efac); + char *infile = getSmtFileName(1, argc, argv); + int maxDepth = atoi(getStrValue("--max-depth", "7", argc, argv)); + int maxGrow = atoi(getStrValue("--max-grow", "3", argc, argv)); + int mergingIts = atoi(getStrValue("--merge-assms", "3", argc, argv)); + int earlySplit = atoi(getStrValue("--early-split", "1", argc, argv)); + bool useZ3 = !getBoolValue("--no-z3", false, argc, argv); + unsigned to = atoi(getStrValue("--to", "1000", argc, argv)); + Expr e = z3_from_smtlib_file (z3, infile); + adtSolve(z3, e, maxDepth, maxGrow, mergingIts, earlySplit, true, useZ3, to); + + return 0; +} diff --git a/tools/adt/CHC.cpp b/tools/adt/CHC.cpp new file mode 100644 index 000000000..a663d1ea1 --- /dev/null +++ b/tools/adt/CHC.cpp @@ -0,0 +1,49 @@ +#include "adt/CHCSolver.hpp" +#include "ufo/Smt/EZ3.hh" + +using namespace ufo; + +char * getStrValue(const char * opt, const char * defValue, int argc, char ** argv) +{ + for (int i = 1; i < argc-1; i++) + { + if (strcmp(argv[i], opt) == 0) + { + return argv[i+1]; + } + } + return (char *)defValue; +} + +bool getBoolValue(const char * opt, bool defValue, int argc, char ** argv) +{ + for (int i = 1; i < argc; i++) + { + if (strcmp(argv[i], opt) == 0) return true; + } + return defValue; +} + +char * getSmtFileName(int num, int argc, char ** argv) +{ + int num1 = 1; + for (int i = 1; i < argc; i++) + { + int len = strlen(argv[i]); + if (len >= 5 && strcmp(argv[i] + len - 5, ".smt2") == 0) + { + if (num1 == num) return argv[i]; + else num1++; + } + } + return NULL; +} + +int main (int argc, char ** argv) +{ + char *infile = getSmtFileName(1, argc, argv); + bool givePriorityNonAdt = getBoolValue("--give-nonadt-priority", false, argc, argv); + bool ignoreBaseVar = getBoolValue("--ignore-base", false, argc, argv); + chcSolve(infile, givePriorityNonAdt, ignoreBaseVar); + return 0; +} diff --git a/tools/adt/CMakeLists.txt b/tools/adt/CMakeLists.txt new file mode 100644 index 000000000..7ad8b035d --- /dev/null +++ b/tools/adt/CMakeLists.txt @@ -0,0 +1,3 @@ +add_executable (chc CHC.cpp) +target_link_libraries (chc ${Z3_LIBRARY} ${Boost_SYSTEM_LIBRARY} ${GMPXX_LIB} ${GMP_LIB}) +install(TARGETS chc RUNTIME DESTINATION bin) diff --git a/tools/aeval/Ae.cpp b/tools/aeval/Ae.cpp index a86c0f065..fb8ff54a1 100644 --- a/tools/aeval/Ae.cpp +++ b/tools/aeval/Ae.cpp @@ -8,6 +8,8 @@ using namespace ufo; * Usage: specify 2 smt2-files that describe the formula \foral x. S(x) => \exists y . T (x, y) * = S-part (over x) * = T-part (over x, y) + * --skol = to print skolem function + * --debug = to print more info and perform sanity checks * * Notably, the tool automatically recognizes x and y based on their appearances in S or T. * @@ -19,6 +21,30 @@ using namespace ufo; * */ +bool getBoolValue(const char * opt, bool defValue, int argc, char ** argv) +{ + for (int i = 1; i < argc; i++) + { + if (strcmp(argv[i], opt) == 0) return true; + } + return defValue; +} + +char * getSmtFileName(int num, int argc, char ** argv) +{ + int num1 = 1; + for (int i = 1; i < argc; i++) + { + int len = strlen(argv[i]); + if (len >= 5 && strcmp(argv[i] + len - 5, ".smt2") == 0) + { + if (num1 == num) return argv[i]; + else num1++; + } + } + return NULL; +} + int main (int argc, char ** argv) { @@ -27,14 +53,16 @@ int main (int argc, char ** argv) ExprVector params; - if (argc != 3) + if (argc < 3 || argc > 4) { outs() << "Unable to parse arguments\n"; return 0; } - aeSolveAndSkolemize(z3_from_smtlib_file (z3, argv [1]), - z3_from_smtlib_file (z3, argv [2])); + aeSolveAndSkolemize(z3_from_smtlib_file (z3, getSmtFileName(1, argc, argv)), + z3_from_smtlib_file (z3, getSmtFileName(2, argc, argv)), + getBoolValue("--debug", false, argc, argv), + getBoolValue("--skol", false, argc, argv)); return 0; } diff --git a/tools/aeval/CMakeLists.txt b/tools/aeval/CMakeLists.txt index ad7f16edc..ec5fb04f8 100644 --- a/tools/aeval/CMakeLists.txt +++ b/tools/aeval/CMakeLists.txt @@ -1,4 +1,3 @@ add_executable (aeval Ae.cpp) target_link_libraries (aeval ${Z3_LIBRARY} ${Boost_SYSTEM_LIBRARY} ${GMPXX_LIB} ${GMP_LIB}) -llvm_config (aeval bitwriter) install(TARGETS aeval RUNTIME DESTINATION bin)