merged
authorwenzelm
Sun Oct 08 14:48:47 2017 +0200 (7 months ago)
changeset 66789feb36b73a7f0
parent 66788 6b08228b02d5
parent 66784 df1f43d477f5
child 66790 c0e68e6a1beb
merged
NEWS
src/Doc/System/Environment.thy
     1.1 --- a/Admin/PLATFORMS	Sun Oct 08 11:58:01 2017 +0200
     1.2 +++ b/Admin/PLATFORMS	Sun Oct 08 14:48:47 2017 +0200
     1.3 @@ -40,7 +40,7 @@
     1.4  
     1.5    x86-windows       Windows 7
     1.6    x86_64-windows    Windows 7
     1.7 -  x86-cygwin        Cygwin 2.8 http://isabelle.in.tum.de/cygwin_2017 (x86/release)
     1.8 +  x86_64-cygwin     Cygwin 2.8 http://isabelle.in.tum.de/cygwin_2017 (x86_64/release)
     1.9  
    1.10  All of the above platforms are 100% supported by Isabelle -- end-users
    1.11  should not have to care about the differences (at least in theory).
    1.12 @@ -67,13 +67,12 @@
    1.13  help configuring platform-dependent tools:
    1.14  
    1.15    ISABELLE_PLATFORM64  (potentially empty)
    1.16 -  ISABELLE_PLATFORM32
    1.17 +  ISABELLE_PLATFORM32  (potentially empty)
    1.18    ISABELLE_PLATFORM
    1.19  
    1.20 -The ISABELLE_PLATFORM setting variable refers to the 32 bit version of
    1.21 -the platform, even on 64 bit hardware.  Using regular bash notation,
    1.22 -tools may express their preference for 64 bit with a fall-back for 32
    1.23 -bit as follows:
    1.24 +The ISABELLE_PLATFORM setting variable prefers the 32 bit version of the
    1.25 +platform, if possible. Using regular bash notation, tools may express their
    1.26 +preference for 64 bit with a fall-back for 32 bit as follows:
    1.27  
    1.28    "${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}"
    1.29  
    1.30 @@ -81,7 +80,7 @@
    1.31  There is a second set of settings for native Windows (instead of the
    1.32  POSIX emulation of Cygwin used before):
    1.33  
    1.34 -  ISABELLE_WINDOWS_PLATFORM64  (potentially empty)
    1.35 +  ISABELLE_WINDOWS_PLATFORM64
    1.36    ISABELLE_WINDOWS_PLATFORM32
    1.37    ISABELLE_WINDOWS_PLATFORM
    1.38  
     2.1 --- a/Admin/Windows/launch4j/isabelle.xml	Sun Oct 08 11:58:01 2017 +0200
     2.2 +++ b/Admin/Windows/launch4j/isabelle.xml	Sun Oct 08 14:48:47 2017 +0200
     2.3 @@ -23,13 +23,13 @@
     2.4      <windowTitle>{ISABELLE_NAME}</windowTitle>
     2.5    </singleInstance>
     2.6    <jre>
     2.7 -    <path>%EXEDIR%\contrib\jdk\{PLATFORM}\jre</path>
     2.8 -    <bundledJre64Bit>{PLATFORM_IS_64}</bundledJre64Bit>
     2.9 +    <path>%EXEDIR%\contrib\jdk\x86_64-windows\jre</path>
    2.10 +    <bundledJre64Bit>true</bundledJre64Bit>
    2.11      <bundledJreAsFallback>false</bundledJreAsFallback>
    2.12      <minVersion></minVersion>
    2.13      <maxVersion></maxVersion>
    2.14      <jdkPreference>jdkOnly</jdkPreference>
    2.15 -    <runtimeBits>{PLATFORM_BITS}</runtimeBits>
    2.16 +    <runtimeBits>64</runtimeBits>
    2.17      <opt>-Disabelle.root=&quot;%EXEDIR%&quot; -Dcygwin.root=&quot;%EXEDIR%\contrib\cygwin&quot;</opt>
    2.18    </jre>
    2.19    <splash>
     3.1 --- a/Admin/bash_process/build	Sun Oct 08 11:58:01 2017 +0200
     3.2 +++ b/Admin/bash_process/build	Sun Oct 08 14:48:47 2017 +0200
     3.3 @@ -42,7 +42,7 @@
     3.4    x86-linux | x86-darwin)
     3.5      cc -Wall -m32 bash_process.c -o "$TARGET/bash_process"
     3.6      ;;
     3.7 -  x86-cygwin)
     3.8 +  x86_64-cygwin | x86-cygwin)
     3.9      cc -Wall bash_process.c -o "$TARGET/bash_process.exe"
    3.10      ;;
    3.11    *)
     4.1 --- a/Admin/components/bundled-windows	Sun Oct 08 11:58:01 2017 +0200
     4.2 +++ b/Admin/components/bundled-windows	Sun Oct 08 14:48:47 2017 +0200
     4.3 @@ -1,3 +1,3 @@
     4.4  #additional components to be bundled for release
     4.5 -cygwin-20170828
     4.6 +cygwin-20170930
     4.7  windows_app-20150821
     5.1 --- a/Admin/components/components.sha1	Sun Oct 08 11:58:01 2017 +0200
     5.2 +++ b/Admin/components/components.sha1	Sun Oct 08 14:48:47 2017 +0200
     5.3 @@ -1,6 +1,7 @@
     5.4  fbe83b522cb37748ac1b3c943ad71704fdde2f82  bash_process-1.1.1.tar.gz
     5.5  bb9ef498cd594b4289221b96146d529c899da209  bash_process-1.1.tar.gz
     5.6  81250148f8b89ac3587908fb20645081d7f53207  bash_process-1.2.1.tar.gz
     5.7 +97b2491382130a841b3bbaebdcf8720c4d4fb227  bash_process-1.2.2.tar.gz
     5.8  9e21f447bfa0431ae5097301d553dd6df3c58218  bash_process-1.2.tar.gz
     5.9  e7ffe4238b61a3c1ee87aca4421e7a612e09b836  ci-extras-1.tar.gz
    5.10  70105fd6fbfd1a868383fc510772b95234325d31  csdp-6.x.tar.gz
    5.11 @@ -33,6 +34,7 @@
    5.12  dd56dd16d861fc6e1a008bf5e9da6f33ed6eb820  cygwin-20161022.tar.gz
    5.13  d9ad7aae99d54e3b9813151712eb88a441613f04  cygwin-20161024.tar.gz
    5.14  f8eb6a0f722e3cfe3775d1204c5c7063ee1f008e  cygwin-20170828.tar.gz
    5.15 +c22048912b010a5a0b4f2a3eb4d318d6953761e4  cygwin-20170930.tar.gz
    5.16  0fe549949a025d65d52d6deca30554de8fca3b6e  e-1.5.tar.gz
    5.17  2e293256a134eb8e5b1a283361b15eb812fbfbf1  e-1.6-1.tar.gz
    5.18  e1919e72416cbd7ac8de5455caba8901acc7b44d  e-1.6-2.tar.gz
    5.19 @@ -148,11 +150,13 @@
    5.20  822f489c18e38ce5ef979ec21dccce4473e09be6  polyml-5.6-20151206.tar.gz
    5.21  bd6a448f0e0d5787747f4f30ca661f9c1868e4a7  polyml-5.6-20151223.tar.gz
    5.22  5b70c12c95a90d858f90c1945011289944ea8e17  polyml-5.6-20160118.tar.gz
    5.23 +21fa0592b7dfd23269063f42604438165630c0f0  polyml-5.6-2.tar.gz
    5.24  5b19dc93082803b82aa553a5cfb3e914606c0ffd  polyml-5.6.tar.gz
    5.25  80b923fca3533bf291ff9da991f2262a98b68cc4  polyml-5.7-20170217.tar.gz
    5.26  5fbcab1da2b5eb97f24da2590ece189d55b3a105  polyml-5.7.tar.gz
    5.27  853ab0e9ff2b73790cc80a2d36cbff8b03e50a8e  polyml-test-7a7b742897e9.tar.gz
    5.28  c629cd499a724bbe37b962f727e4ff340c50299d  polyml-test-8529546198aa.tar.gz
    5.29 +b4ceeaac47f3baae41c2491a8368b03217946166  polyml-test-e7a662f8f9c4.tar.gz
    5.30  53123dc011b2d4b4e8fe307f3c9fa355718ad01a  postgresql-42.1.1.tar.gz
    5.31  3a5d31377ec07a5069957f5477a4848cfc89a594  postgresql-42.1.4.tar.gz
    5.32  f132329ca1045858ef456cc08b197c9eeea6881b  postgresql-9.4.1212.tar.gz
    5.33 @@ -194,6 +198,7 @@
    5.34  f5afcc82f8e734665d38867e99475d3ad0d5ed15  sumatra_pdf-3.1.1.tar.gz
    5.35  8486387f61557147ec06b1f637117c017c8f0528  sumatra_pdf-3.1.2.tar.gz
    5.36  869ea6d8ea35c8ba68d7fcb028f16b2b7064c5fd  vampire-1.0.tar.gz
    5.37 +98c5c79fef7256db9f64c8feea2edef0a789ce46  verit-2016post.tar.gz
    5.38  81d21dfd0ea5c58f375301f5166be9dbf8921a7a  windows_app-20130716.tar.gz
    5.39  fe15e1079cf5ad86f3cbab4553722a0d20002d11  windows_app-20130905.tar.gz
    5.40  e6a43b7b3b21295853bd2a63b27ea20bd6102f5f  windows_app-20130906.tar.gz
     6.1 --- a/Admin/components/main	Sun Oct 08 11:58:01 2017 +0200
     6.2 +++ b/Admin/components/main	Sun Oct 08 14:48:47 2017 +0200
     6.3 @@ -1,5 +1,5 @@
     6.4  #main components for everyday use, without big impact on overall build time
     6.5 -bash_process-1.2.1
     6.6 +bash_process-1.2.2
     6.7  csdp-6.x
     6.8  cvc4-1.5-3
     6.9  e-2.0-1
    6.10 @@ -10,12 +10,13 @@
    6.11  jortho-1.0-2
    6.12  kodkodi-1.5.2
    6.13  nunchaku-0.5
    6.14 -polyml-5.6-1
    6.15 +polyml-5.6-2
    6.16  postgresql-42.1.4
    6.17  scala-2.12.3
    6.18  smbc-0.4.1
    6.19  ssh-java-20161009
    6.20  spass-3.8ds
    6.21  sqlite-jdbc-3.20.0
    6.22 +verit-2016post
    6.23  xz-java-1.6
    6.24 -z3-4.4.0pre
    6.25 +z3-4.4.0pre-1
     7.1 --- a/Admin/lib/Tools/makedist_bundle	Sun Oct 08 11:58:01 2017 +0200
     7.2 +++ b/Admin/lib/Tools/makedist_bundle	Sun Oct 08 14:48:47 2017 +0200
     7.3 @@ -12,7 +12,7 @@
     7.4    echo "Usage: isabelle $PRG ARCHIVE PLATFORM_FAMILY [REMOTE_MAC]"
     7.5    echo
     7.6    echo "  Re-package Isabelle source distribution with add-on components and"
     7.7 -  echo "  post-hoc patches for platform family linux, windows, windows64, macos."
     7.8 +  echo "  post-hoc patches for platform family linux, windows, macos."
     7.9    echo
    7.10    echo "  The optional remote Mac OS X system is used for dmg build."
    7.11    echo
    7.12 @@ -36,12 +36,6 @@
    7.13  PLATFORM_FAMILY="$1"; shift
    7.14  REMOTE_MAC="$1"; shift
    7.15  
    7.16 -if [ "$PLATFORM_FAMILY" = windows64 ]; then
    7.17 -  PLATFORM_FAM="windows"
    7.18 -else
    7.19 -  PLATFORM_FAM="$PLATFORM_FAMILY"
    7.20 -fi
    7.21 -
    7.22  [ -f "$ARCHIVE" ] || fail "Bad source archive: $ARCHIVE"
    7.23  
    7.24  ARCHIVE_DIR="$(cd $(dirname "$ARCHIVE"); echo "$PWD")"
    7.25 @@ -98,7 +92,7 @@
    7.26  
    7.27  echo "#bundled components" >> "$ISABELLE_TARGET/etc/components"
    7.28  
    7.29 -for CATALOG in main "$PLATFORM_FAM" bundled "bundled-$PLATFORM_FAM"
    7.30 +for CATALOG in main "$PLATFORM_FAMILY" bundled "bundled-$PLATFORM_FAMILY"
    7.31  do
    7.32    CATALOG_FILE="$ISABELLE_HOME/Admin/components/$CATALOG"
    7.33    if [ -f "$CATALOG_FILE" ]
    7.34 @@ -194,7 +188,7 @@
    7.35  perl -pi -e "s,view.title=Isabelle/jEdit,view.title=${ISABELLE_NAME},g;" \
    7.36    "$ISABELLE_TARGET/src/Tools/jEdit/dist/properties/jEdit.props"
    7.37  
    7.38 -case "$PLATFORM_FAM" in
    7.39 +case "$PLATFORM_FAMILY" in
    7.40    linux)
    7.41      purge_target 'contrib -name "x86*-darwin" -o -name "x86*-cygwin" -o -name "x86*-windows"'
    7.42      purge_jdk "x86-linux"
    7.43 @@ -250,19 +244,9 @@
    7.44        "$ISABELLE_TARGET/src/Tools/jEdit/dist/properties/jEdit.props"
    7.45      ;;
    7.46    windows)
    7.47 -    if [ "$PLATFORM_FAMILY" = windows ]; then
    7.48 -      purge_target 'contrib -name x86_64-windows -o -name "x86*-linux" -o -name "x86*-darwin"'
    7.49 -      PLATFORM="x86-windows"
    7.50 -      PLATFORM_IS_64="false"
    7.51 -      PLATFORM_BITS="32"
    7.52 -    else
    7.53 -      purge_target 'contrib -name "x86*-linux" -o -name "x86*-darwin"'
    7.54 -      purge_target 'contrib/jdk -name "x86-windows"'
    7.55 -      PLATFORM="x86_64-windows"
    7.56 -      PLATFORM_IS_64="true"
    7.57 -      PLATFORM_BITS="64"
    7.58 -    fi
    7.59 -    purge_jdk "$PLATFORM"
    7.60 +    purge_target 'contrib -name "x86*-linux" -o -name "x86*-darwin" -o -name "x86-cygwin"'
    7.61 +    purge_target 'contrib/jdk -name "x86-windows"'
    7.62 +    purge_jdk "x86_64-windows"
    7.63  
    7.64      mv "$ISABELLE_TARGET/contrib/windows_app" "$TMP/."
    7.65  
    7.66 @@ -275,13 +259,8 @@
    7.67        init_component "$JEDIT_HOME"
    7.68  
    7.69        declare -a JAVA_ARGS=()
    7.70 -      if [ "$PLATFORM_FAMILY" = windows ]; then
    7.71 -        echo -e "# Java runtime options for 32bit platform\r"
    7.72 -        eval "JAVA_ARGS=($ISABELLE_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_OPTIONS32)"
    7.73 -      else
    7.74 -        echo -e "# Java runtime options for 64bit platform\r"
    7.75 -        eval "JAVA_ARGS=($ISABELLE_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_OPTIONS64)"
    7.76 -      fi
    7.77 +      echo -e "# Java runtime options for 64bit platform\r"
    7.78 +      eval "JAVA_ARGS=($ISABELLE_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_OPTIONS64)"
    7.79        for ARG in "${JAVA_ARGS[@]}"
    7.80        do
    7.81          echo -e "$ARG\r"
    7.82 @@ -309,9 +288,6 @@
    7.83          -e "s,{SPLASH},$APP_TEMPLATE/isabelle.bmp,g;" \
    7.84          -e "s,{CLASSPATH},$EXE_CLASSPATH,g;" \
    7.85          -e "s,{ISABELLE_NAME},$ISABELLE_NAME,g;" \
    7.86 -        -e "s,{PLATFORM},$PLATFORM,g;" \
    7.87 -        -e "s,{PLATFORM_IS_64},$PLATFORM_IS_64,g;" \
    7.88 -        -e "s,{PLATFORM_BITS},$PLATFORM_BITS,g;" \
    7.89          "$APP_TEMPLATE/isabelle.xml" > isabelle.xml
    7.90  
    7.91        "windows_app/launch4j-${ISABELLE_PLATFORM_FAMILY}/launch4j" isabelle.xml
    7.92 @@ -361,7 +337,7 @@
    7.93  
    7.94  # platform-specific setup (outside archive)
    7.95  
    7.96 -case "$PLATFORM_FAM" in
    7.97 +case "$PLATFORM_FAMILY" in
    7.98    linux)
    7.99      echo "application for $PLATFORM_FAMILY"
   7.100      ln -s "${ISABELLE_NAME}_linux.tar.gz" "${ARCHIVE_DIR}/${ISABELLE_NAME}_app.tar.gz"
   7.101 @@ -432,12 +408,6 @@
   7.102      ;;
   7.103    windows)
   7.104      (
   7.105 -      if [ "$PLATFORM_FAMILY" = windows ]; then
   7.106 -        PLATFORM_SUFFIX="-win32"
   7.107 -      else
   7.108 -        PLATFORM_SUFFIX="-win64"
   7.109 -      fi
   7.110 -
   7.111        cd "$TMP"
   7.112        rm -f "${ARCHIVE_DIR}/${ISABELLE_NAME}.7z"
   7.113        7z -y -bd a "$TMP/${ISABELLE_NAME}.7z" "$ISABELLE_NAME" || exit 2
   7.114 @@ -448,8 +418,8 @@
   7.115          cat "$ISABELLE_HOME/Admin/Windows/Installer/sfx.txt" | \
   7.116            perl -p -e "s,{ISABELLE_NAME},${ISABELLE_NAME},g;"
   7.117          cat "$TMP/${ISABELLE_NAME}.7z"
   7.118 -      ) > "${ARCHIVE_DIR}/${ISABELLE_NAME}${PLATFORM_SUFFIX}.exe"
   7.119 -      chmod +x "${ARCHIVE_DIR}/${ISABELLE_NAME}${PLATFORM_SUFFIX}.exe"
   7.120 +      ) > "${ARCHIVE_DIR}/${ISABELLE_NAME}.exe"
   7.121 +      chmod +x "${ARCHIVE_DIR}/${ISABELLE_NAME}.exe"
   7.122      )
   7.123      ;;
   7.124    *)
     8.1 --- a/Admin/polyml/CHECKLIST	Sun Oct 08 11:58:01 2017 +0200
     8.2 +++ b/Admin/polyml/CHECKLIST	Sun Oct 08 14:48:47 2017 +0200
     8.3 @@ -2,7 +2,7 @@
     8.4  ===============================================
     8.5  
     8.6  * component skeleton:
     8.7 -  $ isabelle build_polyml_component -s sha1 component
     8.8 +  $ isabelle build_polyml -s sha1 component
     8.9  
    8.10  * include full source (without symlink), for example:
    8.11    $ wget https://github.com/polyml/polyml/archive/master.zip
     9.1 --- a/Admin/polyml/settings	Sun Oct 08 11:58:01 2017 +0200
     9.2 +++ b/Admin/polyml/settings	Sun Oct 08 14:48:47 2017 +0200
     9.3 @@ -12,11 +12,11 @@
     9.4    ML_SYSTEM_64="false"
     9.5  fi
     9.6  
     9.7 -case "${ISABELLE_PLATFORM}:${ML_SYSTEM_64}" in
     9.8 -  x86-cygwin:true)
     9.9 +case "${ISABELLE_PLATFORM_FAMILY}:${ML_SYSTEM_64}" in
    9.10 +  windows:true)
    9.11      PLATFORMS="x86_64-windows x86-windows"
    9.12      ;;
    9.13 -  x86-cygwin:*)
    9.14 +  windows:*)
    9.15      PLATFORMS="x86-windows x86_64-windows"
    9.16      ;;
    9.17    *:true)
    9.18 @@ -41,7 +41,7 @@
    9.19  
    9.20        # ML settings
    9.21  
    9.22 -      ML_SYSTEM=polyml-5.7
    9.23 +      ML_SYSTEM=polyml-5.7.1
    9.24        ML_PLATFORM="$PLATFORM"
    9.25        ML_HOME="$POLYML_HOME/$ML_PLATFORM"
    9.26        ML_SOURCES="$POLYML_HOME/src"
    10.1 --- a/CONTRIBUTORS	Sun Oct 08 11:58:01 2017 +0200
    10.2 +++ b/CONTRIBUTORS	Sun Oct 08 14:48:47 2017 +0200
    10.3 @@ -3,6 +3,10 @@
    10.4  listed as an author in one of the source files of this Isabelle distribution.
    10.5  
    10.6  
    10.7 +Contributions to this Isabelle version
    10.8 +--------------------------------------
    10.9 +
   10.10 +
   10.11  Contributions to Isabelle2017
   10.12  -----------------------------
   10.13  
    11.1 --- a/NEWS	Sun Oct 08 11:58:01 2017 +0200
    11.2 +++ b/NEWS	Sun Oct 08 14:48:47 2017 +0200
    11.3 @@ -4,6 +4,57 @@
    11.4  (Note: Isabelle/jEdit shows a tree-view of the NEWS file in Sidekick.)
    11.5  
    11.6  
    11.7 +New in this Isabelle version
    11.8 +----------------------------
    11.9 +
   11.10 +*** General ***
   11.11 +
   11.12 +* Session-qualified theory names are mandatory: it is no longer possible
   11.13 +to refer to unqualified theories from the parent session.
   11.14 +INCOMPATIBILITY for old developments that have not been updated to
   11.15 +Isabelle2017 yet (using the "isabelle imports" tool).
   11.16 +
   11.17 +* Command 'external_file' declares the formal dependency on the given
   11.18 +file name, such that the Isabelle build process knows about it, but
   11.19 +without specific Prover IDE management.
   11.20 +
   11.21 +* Session ROOT entries no longer allow specification of 'files'. Rare
   11.22 +INCOMPATIBILITY, use command 'external_file' within a proper theory
   11.23 +context.
   11.24 +
   11.25 +* Session root directories may be specified multiple times: each
   11.26 +accessible ROOT file is processed only once. This facilitates
   11.27 +specification of $ISABELLE_HOME_USER/ROOTS or command-line options like
   11.28 +-d or -D for "isabelle build" and "isabelle jedit". Example:
   11.29 +
   11.30 +  isabelle build -D '~~/src/ZF'
   11.31 +
   11.32 +
   11.33 +*** Prover IDE -- Isabelle/Scala/jEdit ***
   11.34 +
   11.35 +* Completion supports theory header imports.
   11.36 +
   11.37 +
   11.38 +*** HOL ***
   11.39 +
   11.40 +* SMT module:
   11.41 +  - The 'smt_oracle' option is now necessary when using the 'smt' method
   11.42 +    with a solver other than Z3. INCOMPATIBILITY.
   11.43 +  - The encoding to first-order logic is now more complete in the presence of
   11.44 +    higher-order quantifiers. An 'smt_explicit_application' option has been
   11.45 +    added to control this. INCOMPATIBILITY.
   11.46 +
   11.47 +
   11.48 +*** System ***
   11.49 +
   11.50 +* Windows and Cygwin is for x86_64 only. Old 32bit platform support has
   11.51 +been discontinued.
   11.52 +
   11.53 +* Command-line tool "isabelle build" supports new options:
   11.54 +  - option -B NAME: include session NAME and all descendants
   11.55 +  - option -S: only observe changes of sources, not heap images
   11.56 +
   11.57 +
   11.58  New in Isabelle2017 (October 2017)
   11.59  ----------------------------------
   11.60  
    12.1 --- a/README_REPOSITORY	Sun Oct 08 11:58:01 2017 +0200
    12.2 +++ b/README_REPOSITORY	Sun Oct 08 14:48:47 2017 +0200
    12.3 @@ -7,7 +7,7 @@
    12.4  1a. Linux and Mac OS X: ensure that Mercurial is installed
    12.5      (see also http://www.selenic.com/mercurial)
    12.6  
    12.7 -1b. Windows: ensure that Cygwin with curl and Mercurial is installed
    12.8 +1b. Windows: ensure that Cygwin64 with curl and Mercurial is installed
    12.9      (see also http://www.cygwin.com)
   12.10  
   12.11  2. Clone repository (bash shell commands):
   12.12 @@ -300,7 +300,9 @@
   12.13    ./bin/isabelle build -a -j2 -o threads=4  #test on multiple cores (example)
   12.14  
   12.15  See also the chapter on Isabelle sessions and build management in the
   12.16 -"system" manual.
   12.17 +"system" manual. The build option -S is particularly useful for quick
   12.18 +tests of individual commits, e.g. for each step of a longer chain of
   12.19 +changes, but the final push always requires a full test as above!
   12.20  
   12.21  Note that implicit dependencies on Isabelle components are specified
   12.22  via catalog files in $ISABELLE_HOME/Admin/components/ as part of the
    13.1 --- a/etc/options	Sun Oct 08 11:58:01 2017 +0200
    13.2 +++ b/etc/options	Sun Oct 08 14:48:47 2017 +0200
    13.3 @@ -113,9 +113,6 @@
    13.4  option profiling : string = ""
    13.5    -- "ML profiling (possible values: time, allocations)"
    13.6  
    13.7 -option theory_qualifier : string = ""
    13.8 -  -- "explicit theory qualifier for special sessions (default: session name)"
    13.9 -
   13.10  
   13.11  section "ML System"
   13.12  
    14.1 --- a/lib/scripts/isabelle-platform	Sun Oct 08 11:58:01 2017 +0200
    14.2 +++ b/lib/scripts/isabelle-platform	Sun Oct 08 14:48:47 2017 +0200
    14.3 @@ -1,8 +1,7 @@
    14.4  # -*- shell-script -*- :mode=shellscript:
    14.5  #
    14.6 -# determine general hardware and operating system type for Isabelle
    14.7 +# determine general hardware and operating system type for Isabelle system tools
    14.8  #
    14.9 -# NOTE: The ML system or JVM may have their own idea about the platform!
   14.10  
   14.11  ISABELLE_PLATFORM_FAMILY=""
   14.12  ISABELLE_PLATFORM32=""
   14.13 @@ -40,27 +39,22 @@
   14.14      ;;
   14.15    CYGWIN_NT*)
   14.16      ISABELLE_PLATFORM_FAMILY="windows"
   14.17 +    if [ "$PROCESSOR_ARCHITECTURE" = "AMD64" -o "$PROCESSOR_ARCHITEW6432" = "AMD64" ]; then
   14.18 +      ISABELLE_WINDOWS_PLATFORM32="x86-windows"
   14.19 +      ISABELLE_WINDOWS_PLATFORM64="x86_64-windows"
   14.20 +    else
   14.21 +      ISABELLE_WINDOWS_PLATFORM32="x86-windows"
   14.22 +    fi
   14.23      case $(uname -m) in
   14.24 -      i?86 | x86_64)
   14.25 +      x86_64)
   14.26 +        ISABELLE_PLATFORM64=x86_64-cygwin
   14.27 +        ;;
   14.28 +      i?86)
   14.29          ISABELLE_PLATFORM32=x86-cygwin
   14.30 -        if [ "$PROCESSOR_ARCHITECTURE" = "AMD64" -o "$PROCESSOR_ARCHITEW6432" = "AMD64" ]; then
   14.31 -          ISABELLE_WINDOWS_PLATFORM32="x86-windows"
   14.32 -          ISABELLE_WINDOWS_PLATFORM64="x86_64-windows"
   14.33 -        else
   14.34 -          ISABELLE_WINDOWS_PLATFORM32="x86-windows"
   14.35 -        fi
   14.36 -        ;;
   14.37 -    esac
   14.38 -    ;;
   14.39 -  *BSD)
   14.40 -    ISABELLE_PLATFORM_FAMILY="linux"
   14.41 -    case $(uname -m) in
   14.42 -      i?86 | x86_64)
   14.43 -        ISABELLE_PLATFORM32=x86-linux  #cf. BSD Linux Binary Compatibility
   14.44          ;;
   14.45      esac
   14.46      ;;
   14.47  esac
   14.48  
   14.49 -ISABELLE_PLATFORM="$ISABELLE_PLATFORM32"
   14.50 -ISABELLE_WINDOWS_PLATFORM="$ISABELLE_WINDOWS_PLATFORM32"
   14.51 +ISABELLE_PLATFORM="${ISABELLE_PLATFORM32:-$ISABELLE_PLATFORM64}"
   14.52 +ISABELLE_WINDOWS_PLATFORM="${ISABELLE_WINDOWS_PLATFORM32:-$ISABELLE_WINDOWS_PLATFORM64}"
    15.1 --- a/src/Doc/Isar_Ref/Spec.thy	Sun Oct 08 11:58:01 2017 +0200
    15.2 +++ b/src/Doc/Isar_Ref/Spec.thy	Sun Oct 08 14:48:47 2017 +0200
    15.3 @@ -1177,6 +1177,23 @@
    15.4  \<close>
    15.5  
    15.6  
    15.7 +section \<open>External file dependencies\<close>
    15.8 +
    15.9 +text \<open>
   15.10 +  \begin{matharray}{rcl}
   15.11 +    @{command_def "external_file"} & : & \<open>any \<rightarrow> any\<close> \\
   15.12 +  \end{matharray}
   15.13 +
   15.14 +  @{rail \<open>@@{command external_file} @{syntax name} ';'?\<close>}
   15.15 +
   15.16 +  \<^descr> \<^theory_text>\<open>external_file name\<close> declares the formal dependency on the given file
   15.17 +  name, such that the Isabelle build process knows about it (see also @{cite
   15.18 +  "isabelle-system"}). The file can be read e.g.\ in Isabelle/ML via @{ML
   15.19 +  File.read}, without specific management by the Prover IDE.
   15.20 +\<close>
   15.21 +
   15.22 +
   15.23 +
   15.24  section \<open>Primitive specification elements\<close>
   15.25  
   15.26  subsection \<open>Sorts\<close>
    16.1 --- a/src/Doc/ROOT	Sun Oct 08 11:58:01 2017 +0200
    16.2 +++ b/src/Doc/ROOT	Sun Oct 08 14:48:47 2017 +0200
    16.3 @@ -48,7 +48,6 @@
    16.4    options [document_variants = "corec"]
    16.5    sessions
    16.6      Datatypes
    16.7 -  theories [document = false] Datatypes.Setup
    16.8    theories Corec
    16.9    document_files (in "..")
   16.10      "prepare_document"
   16.11 @@ -248,9 +247,6 @@
   16.12    options [document_variants = "sugar"]
   16.13    sessions
   16.14      "HOL-Library"
   16.15 -  theories [document = false]
   16.16 -    "HOL-Library.LaTeXsugar"
   16.17 -    "HOL-Library.OptionalSugar"
   16.18    theories Sugar
   16.19    document_files (in "..")
   16.20      "prepare_document"
    17.1 --- a/src/Doc/Sledgehammer/document/root.tex	Sun Oct 08 11:58:01 2017 +0200
    17.2 +++ b/src/Doc/Sledgehammer/document/root.tex	Sun Oct 08 14:48:47 2017 +0200
    17.3 @@ -165,9 +165,7 @@
    17.4  \begin{sloppy}
    17.5  \begin{enum}
    17.6  \item[\labelitemi] If you installed an official Isabelle package, it should
    17.7 -already include properly setup executables for CVC4, E, SPASS, and Z3, ready to use.%
    17.8 -\footnote{Vampire's license prevents us from doing the same for
    17.9 -this otherwise remarkable tool.}
   17.10 +already include properly setup executables for CVC4, E, SPASS, veriT, and Z3, ready to use.
   17.11  
   17.12  \item[\labelitemi] Alternatively, you can download the Isabelle-aware CVC3,
   17.13  CVC4, E, SPASS, and Z3 binary packages from \download. Extract the archives,
   17.14 @@ -186,26 +184,26 @@
   17.15  
   17.16  in it.
   17.17  
   17.18 -\item[\labelitemi] If you prefer to build AgsyHOL, Alt-Ergo, E, LEO-II,
   17.19 -Satallax, or SPASS manually, or found a Vampire executable somewhere (e.g.,
   17.20 +\item[\labelitemi] If you prefer to build AgsyHOL, Alt-Ergo, E, LEO-II, or
   17.21 +Satallax manually, or found a Vampire executable somewhere (e.g.,
   17.22  \url{http://www.vprover.org/}), set the environment variable
   17.23  \texttt{AGSYHOL\_HOME}, \texttt{E\_HOME}, \texttt{LEO2\_HOME},
   17.24 -\texttt{SATALLAX\_HOME}, \texttt{SPASS\_HOME}, or
   17.25 +\texttt{SATALLAX\_HOME}, or
   17.26  \texttt{VAMPIRE\_HOME} to the directory that contains the \texttt{agsyHOL},
   17.27  \texttt{eprover} (and/or \texttt{eproof} or \texttt{eproof\_ram}),
   17.28 -\texttt{leo}, \texttt{satallax}, \texttt{SPASS}, or \texttt{vampire} executable;
   17.29 +\texttt{leo}, \texttt{satallax}, or \texttt{vampire} executable;
   17.30  for Alt-Ergo, set the
   17.31  environment variable \texttt{WHY3\_HOME} to the directory that contains the
   17.32  \texttt{why3} executable.
   17.33  Sledgehammer has been tested with AgsyHOL 1.0, Alt-Ergo 0.95.2, E 1.6 to 2.0,
   17.34 -LEO-II 1.3.4, Satallax 2.2 to 2.7, SPASS 3.8ds, and Vampire 0.6 to 4.0.%
   17.35 +LEO-II 1.3.4, Satallax 2.2 to 2.7, and Vampire 0.6 to 4.0.%
   17.36  \footnote{Following the rewrite of Vampire, the counter for version numbers was
   17.37  reset to 0; hence the (new) Vampire versions 0.6, 1.0, 1.8, 2.6, and 3.0 are more
   17.38  recent than 9.0 or 11.5.}%
   17.39  Since the ATPs' output formats are neither documented nor stable, other
   17.40  versions might not work well with Sledgehammer. Ideally,
   17.41  you should also set \texttt{E\_VERSION}, \texttt{LEO2\_VERSION},
   17.42 -\texttt{SATALLAX\_VERSION}, \texttt{SPASS\_VERSION}, or
   17.43 +\texttt{SATALLAX\_VERSION}, or
   17.44  \texttt{VAMPIRE\_VERSION} to the prover's version number (e.g., ``4.0'').
   17.45  
   17.46  Similarly, if you want to install CVC3, CVC4, veriT, or Z3, set the environment
   17.47 @@ -220,11 +218,11 @@
   17.48  \end{enum}
   17.49  \end{sloppy}
   17.50  
   17.51 -To check whether E, SPASS, Vampire, and/or Z3 are successfully installed, try
   17.52 -out the example in \S\ref{first-steps}. If the remote versions of any of these
   17.53 -provers is used (identified by the prefix ``\textit{remote\_\/}''), or if the
   17.54 -local versions fail to solve the easy goal presented there, something must be
   17.55 -wrong with the installation.
   17.56 +To check whether the provers are successfully installed, try out the example
   17.57 +in \S\ref{first-steps}. If the remote versions of any of these provers is used
   17.58 +(identified by the prefix ``\textit{remote\_\/}''), or if the local versions
   17.59 +fail to solve the easy goal presented there, something must be wrong with the
   17.60 +installation.
   17.61  
   17.62  Remote prover invocation requires Perl with the World Wide Web Library
   17.63  (\texttt{libwww-perl}) installed. If you must use a proxy server to access the
   17.64 @@ -312,11 +310,6 @@
   17.65  is better for first-order problems. Hence, you may get better results if you
   17.66  first simplify the problem to remove higher-order features.
   17.67  
   17.68 -\point{Make sure E, SPASS, Vampire, and Z3 are locally installed}
   17.69 -
   17.70 -Locally installed provers are faster and more reliable than those running on
   17.71 -servers. See \S\ref{installation} for details on how to install them.
   17.72 -
   17.73  \point{Familiarize yourself with the main options}
   17.74  
   17.75  Sledgehammer's options are fully documented in \S\ref{command-syntax}. Many of
   17.76 @@ -591,8 +584,8 @@
   17.77  theory to process all the available facts, learning from proofs generated by
   17.78  automatic provers. The prover to use and its timeout can be set using the
   17.79  \textit{prover} (\S\ref{mode-of-operation}) and \textit{timeout}
   17.80 -(\S\ref{timeouts}) options. It is recommended to perform learning using an
   17.81 -efficient first-order ATP (such as E, SPASS, and Vampire) as opposed to a
   17.82 +(\S\ref{timeouts}) options. It is recommended to perform learning using a
   17.83 +first-order ATP (such as E, SPASS, and Vampire) as opposed to a
   17.84  higher-order ATP or an SMT solver.
   17.85  
   17.86  \item[\labelitemi] \textbf{\textit{relearn\_isar}:} Same as \textit{unlearn}
    18.1 --- a/src/Doc/System/Environment.thy	Sun Oct 08 11:58:01 2017 +0200
    18.2 +++ b/src/Doc/System/Environment.thy	Sun Oct 08 14:48:47 2017 +0200
    18.3 @@ -1,4 +1,4 @@
    18.4 -     (*:maxLineLen=78:*)
    18.5 +(*:maxLineLen=78:*)
    18.6  
    18.7  theory Environment
    18.8  imports Base
    18.9 @@ -118,22 +118,38 @@
   18.10    \<^descr>[@{setting_def ISABELLE_PLATFORM_FAMILY}\<open>\<^sup>*\<close>] is automatically set to the
   18.11    general platform family: \<^verbatim>\<open>linux\<close>, \<^verbatim>\<open>macos\<close>, \<^verbatim>\<open>windows\<close>. Note that
   18.12    platform-dependent tools usually need to refer to the more specific
   18.13 -  identification according to @{setting ISABELLE_PLATFORM}, @{setting
   18.14 -  ISABELLE_PLATFORM32}, @{setting ISABELLE_PLATFORM64}.
   18.15 +  identification according to @{setting ISABELLE_PLATFORM} etc.
   18.16  
   18.17 -  \<^descr>[@{setting_def ISABELLE_PLATFORM}\<open>\<^sup>*\<close>] is automatically set to a symbolic
   18.18 -  identifier for the underlying hardware and operating system. The Isabelle
   18.19 -  platform identification always refers to the 32 bit variant, even this is a
   18.20 -  64 bit machine. Note that the ML or Java runtime may have a different idea,
   18.21 -  depending on which binaries are actually run.
   18.22 +  \<^descr>[@{setting_def ISABELLE_PLATFORM32}\<open>\<^sup>*\<close>, @{setting_def
   18.23 +  ISABELLE_PLATFORM64}\<open>\<^sup>*\<close>, @{setting_def ISABELLE_PLATFORM}\<open>\<^sup>*\<close>] indicate the
   18.24 +  standard Posix platform: \<^verbatim>\<open>x86\<close> for 32 bit and \<^verbatim>\<open>x86_64\<close> for 64 bit,
   18.25 +  together with a symbolic name for the operating system (\<^verbatim>\<open>linux\<close>, \<^verbatim>\<open>darwin\<close>,
   18.26 +  \<^verbatim>\<open>cygwin\<close>). Some platforms support both 32 bit and 64 bit executables, but
   18.27 +  this depends on various side-conditions.
   18.28  
   18.29 -  \<^descr>[@{setting_def ISABELLE_PLATFORM64}\<open>\<^sup>*\<close>] is similar to @{setting
   18.30 -  ISABELLE_PLATFORM} but refers to the proper 64 bit variant on a platform
   18.31 -  that supports this; the value is empty for 32 bit. Note that the following
   18.32 -  bash expression (including the quotes) prefers the 64 bit platform, if that
   18.33 -  is available:
   18.34 +  In GNU bash scripts, it is possible to use the following expressions
   18.35 +  (including the quotes) to specify a preference of 64 bit over 32 bit:
   18.36  
   18.37 -  @{verbatim [display] \<open>"${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM}"\<close>}
   18.38 +  @{verbatim [display] \<open>"${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}"\<close>}
   18.39 +
   18.40 +  In contrast, the subsequent expression prefers the 32 bit variant; this is
   18.41 +  how @{setting ISABELLE_PLATFORM} is defined:
   18.42 +
   18.43 +  @{verbatim [display] \<open>"${ISABELLE_PLATFORM32:-$ISABELLE_PLATFORM64}"\<close>}
   18.44 +
   18.45 +  \<^descr>[@{setting_def ISABELLE_WINDOWS_PLATFORM32}\<open>\<^sup>*\<close>, @{setting_def
   18.46 +  ISABELLE_WINDOWS_PLATFORM64}\<open>\<^sup>*\<close>,] @{setting_def
   18.47 +  ISABELLE_WINDOWS_PLATFORM}\<open>\<^sup>*\<close> indicate the native Windows platform. These
   18.48 +  settings are analogous (but independent) of those for the standard Posix
   18.49 +  subsystem: @{setting ISABELLE_PLATFORM32}, @{setting ISABELLE_PLATFORM64},
   18.50 +  @{setting ISABELLE_PLATFORM}.
   18.51 +
   18.52 +  In GNU bash scripts, a preference for native Windows platform variants may
   18.53 +  be specified like this:
   18.54 +
   18.55 +  @{verbatim [display] \<open>"${ISABELLE_WINDOWS_PLATFORM:-$ISABELLE_PLATFORM}"\<close>}
   18.56 +
   18.57 +  @{verbatim [display] \<open>"${ISABELLE_WINDOWS_PLATFORM64:-${ISABELLE_WINDOWS_PLATFORM32:-${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}}}"\<close>}
   18.58  
   18.59    \<^descr>[@{setting ISABELLE_TOOL}\<open>\<^sup>*\<close>] is automatically set to the full path name
   18.60    of the @{executable isabelle} executable.
   18.61 @@ -155,11 +171,15 @@
   18.62    of @{setting ML_SYSTEM}, @{setting ML_PLATFORM} and the Isabelle version
   18.63    values.
   18.64  
   18.65 -  \<^descr>[@{setting_def ISABELLE_JDK_HOME}] needs to point to a full JDK (Java
   18.66 -  Development Kit) installation with \<^verbatim>\<open>javac\<close> and \<^verbatim>\<open>jar\<close> executables. This is
   18.67 -  essential for Isabelle/Scala and other JVM-based tools to work properly.
   18.68 -  Note that conventional \<^verbatim>\<open>JAVA_HOME\<close> usually points to the JRE (Java Runtime
   18.69 -  Environment), not JDK.
   18.70 +  \<^descr>[@{setting_def ISABELLE_JDK_HOME}] points to a full JDK (Java Development
   18.71 +  Kit) installation with \<^verbatim>\<open>javac\<close> and \<^verbatim>\<open>jar\<close> executables. Note that
   18.72 +  conventional \<^verbatim>\<open>JAVA_HOME\<close> points to the JRE (Java Runtime Environment), not
   18.73 +  the JDK.
   18.74 +
   18.75 +  \<^descr>[@{setting_def ISABELLE_JAVA_PLATFORM}] identifies the hardware and
   18.76 +  operating system platform for the Java installation of Isabelle. That is
   18.77 +  usually the (native) 64 bit variant: \<^verbatim>\<open>x86_64-linux\<close>, \<^verbatim>\<open>x86_64-darwin\<close>,
   18.78 +  \<^verbatim>\<open>x86_64-windows\<close>.
   18.79  
   18.80    \<^descr>[@{setting_def ISABELLE_PATH}] is a list of directories (separated by
   18.81    colons) where Isabelle logic images may reside. When looking up heaps files,
    19.1 --- a/src/Doc/System/Sessions.thy	Sun Oct 08 11:58:01 2017 +0200
    19.2 +++ b/src/Doc/System/Sessions.thy	Sun Oct 08 14:48:47 2017 +0200
    19.3 @@ -54,7 +54,7 @@
    19.4  
    19.5      @{syntax_def session_entry}: @'session' spec '=' (@{syntax name} '+')? body
    19.6      ;
    19.7 -    body: description? options? (theories+) \<newline> files? (document_files*)
    19.8 +    body: description? options? (theories+) \<newline> (document_files*)
    19.9      ;
   19.10      spec: @{syntax name} groups? dir?
   19.11      ;
   19.12 @@ -76,16 +76,13 @@
   19.13      ;
   19.14      theory_entry: @{syntax name} ('(' @'global' ')')?
   19.15      ;
   19.16 -    files: @'files' (@{syntax name}+)
   19.17 -    ;
   19.18      document_files: @'document_files' ('(' dir ')')? (@{syntax name}+)
   19.19    \<close>}
   19.20  
   19.21    \<^descr> \isakeyword{session}~\<open>A = B + body\<close> defines a new session \<open>A\<close> based on
   19.22 -  parent session \<open>B\<close>, with its content given in \<open>body\<close> (imported sessions,
   19.23 -  theories and auxiliary source files). Note that a parent (like \<open>HOL\<close>) is
   19.24 -  mandatory in practical applications: only Isabelle/Pure can bootstrap itself
   19.25 -  from nothing.
   19.26 +  parent session \<open>B\<close>, with its content given in \<open>body\<close> (imported sessions and
   19.27 +  theories). Note that a parent (like \<open>HOL\<close>) is mandatory in practical
   19.28 +  applications: only Isabelle/Pure can bootstrap itself from nothing.
   19.29  
   19.30    All such session specifications together describe a hierarchy (graph) of
   19.31    sessions, with globally unique names. The new session name \<open>A\<close> should be
   19.32 @@ -103,9 +100,8 @@
   19.33    directory for this session; by default this is the current directory of the
   19.34    \<^verbatim>\<open>ROOT\<close> file.
   19.35  
   19.36 -  All theories and auxiliary source files are located relatively to the
   19.37 -  session directory. The prover process is run within the same as its current
   19.38 -  working directory.
   19.39 +  All theory files are located relatively to the session directory. The prover
   19.40 +  process is run within the same as its current working directory.
   19.41  
   19.42    \<^descr> \isakeyword{description}~\<open>text\<close> is a free-form annotation for this
   19.43    session.
   19.44 @@ -135,12 +131,6 @@
   19.45    the default is to qualify theory names by the session name, in order to
   19.46    ensure globally unique names in big session graphs.
   19.47  
   19.48 -  \<^descr> \isakeyword{files}~\<open>files\<close> lists additional source files that are involved
   19.49 -  in the processing of this session. This should cover anything outside the
   19.50 -  formal content of the theory sources. In contrast, files that are loaded
   19.51 -  formally within a theory, e.g.\ via @{command "ML_file"}, need not be
   19.52 -  declared again.
   19.53 -
   19.54    \<^descr> \isakeyword{document_files}~\<open>(\<close>\isakeyword{in}~\<open>base_dir) files\<close> lists
   19.55    source files for document preparation, typically \<^verbatim>\<open>.tex\<close> and \<^verbatim>\<open>.sty\<close> for
   19.56    {\LaTeX}. Only these explicitly given files are copied from the base
   19.57 @@ -280,9 +270,11 @@
   19.58  \<open>Usage: isabelle build [OPTIONS] [SESSIONS ...]
   19.59  
   19.60    Options are:
   19.61 +    -B NAME      include session NAME and all descendants
   19.62      -D DIR       include session directory and select its sessions
   19.63      -N           cyclic shuffling of NUMA CPU nodes (performance tuning)
   19.64      -R           operate on requirements of selected sessions
   19.65 +    -S           soft build: only observe changes of sources, not heap images
   19.66      -X NAME      exclude sessions from group NAME and all descendants
   19.67      -a           select all sessions
   19.68      -b           build heap images
   19.69 @@ -329,6 +321,10 @@
   19.70    completed by including all ancestors.
   19.71  
   19.72    \<^medskip>
   19.73 +  One or more options \<^verbatim>\<open>-B\<close>~\<open>NAME\<close> specify base sessions. All descendants
   19.74 +  are included.
   19.75 +
   19.76 +  \<^medskip>
   19.77    One or more options \<^verbatim>\<open>-x\<close>~\<open>NAME\<close> specify sessions to be excluded. All
   19.78    descendents of excluded sessions are removed from the selection as specified
   19.79    above. Option \<^verbatim>\<open>-X\<close> is analogous to this, but excluded sessions are
   19.80 @@ -345,6 +341,11 @@
   19.81    in the given directories.
   19.82  
   19.83    \<^medskip>
   19.84 +  Option \<^verbatim>\<open>-S\<close> indicates a ``soft build'': the selection is restricted to
   19.85 +  those sessions that have changed sources (according to actually imported
   19.86 +  theories). The status of heap images is ignored.
   19.87 +
   19.88 +  \<^medskip>
   19.89    The build process depends on additional options
   19.90    (\secref{sec:system-options}) that are passed to the prover eventually. The
   19.91    settings variable @{setting_ref ISABELLE_BUILD_OPTIONS} allows to provide
   19.92 @@ -406,6 +407,14 @@
   19.93    @{verbatim [display] \<open>isabelle build -b -g main\<close>}
   19.94  
   19.95    \<^smallskip>
   19.96 +  Build all descendants (and requirements) of \<^verbatim>\<open>FOL\<close> and \<^verbatim>\<open>ZF\<close>:
   19.97 +  @{verbatim [display] \<open>isabelle build -B FOL -B ZF\<close>}
   19.98 +
   19.99 +  \<^smallskip>
  19.100 +  Build all sessions where sources have changed (ignoring heaps):
  19.101 +  @{verbatim [display] \<open>isabelle build -a -S\<close>}
  19.102 +
  19.103 +  \<^smallskip>
  19.104    Provide a general overview of the status of all Isabelle sessions, without
  19.105    building anything:
  19.106    @{verbatim [display] \<open>isabelle build -a -n -v\<close>}
  19.107 @@ -450,6 +459,7 @@
  19.108  \<open>Usage: isabelle imports [OPTIONS] [SESSIONS ...]
  19.109  
  19.110    Options are:
  19.111 +    -B NAME      include session NAME and all descendants
  19.112      -D DIR       include session directory and select its sessions
  19.113      -I           operation: report potential session imports
  19.114      -M           operation: Mercurial repository check for theory files
  19.115 @@ -469,7 +479,7 @@
  19.116  
  19.117    \<^medskip>
  19.118    The selection of sessions and session directories works as for @{tool build}
  19.119 -  via options \<^verbatim>\<open>-D\<close>, \<^verbatim>\<open>-R\<close>, \<^verbatim>\<open>-X\<close>, \<^verbatim>\<open>-a\<close>, \<^verbatim>\<open>-d\<close>, \<^verbatim>\<open>-g\<close>, \<^verbatim>\<open>-x\<close> (see
  19.120 +  via options \<^verbatim>\<open>-B\<close>, \<^verbatim>\<open>-D\<close>, \<^verbatim>\<open>-R\<close>, \<^verbatim>\<open>-X\<close>, \<^verbatim>\<open>-a\<close>, \<^verbatim>\<open>-d\<close>, \<^verbatim>\<open>-g\<close>, \<^verbatim>\<open>-x\<close> (see
  19.121    \secref{sec:tool-build}).
  19.122  
  19.123    \<^medskip>
    20.1 --- a/src/HOL/Algebra/More_Finite_Product.thy	Sun Oct 08 11:58:01 2017 +0200
    20.2 +++ b/src/HOL/Algebra/More_Finite_Product.thy	Sun Oct 08 14:48:47 2017 +0200
    20.3 @@ -5,71 +5,69 @@
    20.4  section \<open>More on finite products\<close>
    20.5  
    20.6  theory More_Finite_Product
    20.7 -imports
    20.8 -  More_Group
    20.9 +  imports More_Group
   20.10  begin
   20.11  
   20.12  lemma (in comm_monoid) finprod_UN_disjoint:
   20.13 -  "finite I \<Longrightarrow> (ALL i:I. finite (A i)) \<longrightarrow> (ALL i:I. ALL j:I. i ~= j \<longrightarrow>
   20.14 -     (A i) Int (A j) = {}) \<longrightarrow>
   20.15 -      (ALL i:I. ALL x: (A i). g x : carrier G) \<longrightarrow>
   20.16 -        finprod G g (UNION I A) = finprod G (%i. finprod G g (A i)) I"
   20.17 +  "finite I \<Longrightarrow> (\<forall>i\<in>I. finite (A i)) \<longrightarrow> (\<forall>i\<in>I. \<forall>j\<in>I. i \<noteq> j \<longrightarrow> A i \<inter> A j = {}) \<longrightarrow>
   20.18 +    (\<forall>i\<in>I. \<forall>x \<in> A i. g x \<in> carrier G) \<longrightarrow>
   20.19 +    finprod G g (UNION I A) = finprod G (\<lambda>i. finprod G g (A i)) I"
   20.20    apply (induct set: finite)
   20.21 -  apply force
   20.22 +   apply force
   20.23    apply clarsimp
   20.24    apply (subst finprod_Un_disjoint)
   20.25 -  apply blast
   20.26 -  apply (erule finite_UN_I)
   20.27 -  apply blast
   20.28 -  apply (fastforce)
   20.29 -  apply (auto intro!: funcsetI finprod_closed)
   20.30 +       apply blast
   20.31 +      apply (erule finite_UN_I)
   20.32 +      apply blast
   20.33 +     apply (fastforce)
   20.34 +    apply (auto intro!: funcsetI finprod_closed)
   20.35    done
   20.36  
   20.37  lemma (in comm_monoid) finprod_Union_disjoint:
   20.38 -  "[| finite C; (ALL A:C. finite A & (ALL x:A. f x : carrier G));
   20.39 -      (ALL A:C. ALL B:C. A ~= B --> A Int B = {}) |]
   20.40 -   ==> finprod G f (\<Union>C) = finprod G (finprod G f) C"
   20.41 +  "finite C \<Longrightarrow>
   20.42 +    \<forall>A\<in>C. finite A \<and> (\<forall>x\<in>A. f x \<in> carrier G) \<Longrightarrow>
   20.43 +    \<forall>A\<in>C. \<forall>B\<in>C. A \<noteq> B \<longrightarrow> A \<inter> B = {} \<Longrightarrow>
   20.44 +    finprod G f (\<Union>C) = finprod G (finprod G f) C"
   20.45    apply (frule finprod_UN_disjoint [of C id f])
   20.46    apply auto
   20.47    done
   20.48  
   20.49 -lemma (in comm_monoid) finprod_one:
   20.50 -    "finite A \<Longrightarrow> (\<And>x. x:A \<Longrightarrow> f x = \<one>) \<Longrightarrow> finprod G f A = \<one>"
   20.51 +lemma (in comm_monoid) finprod_one: "finite A \<Longrightarrow> (\<And>x. x \<in> A \<Longrightarrow> f x = \<one>) \<Longrightarrow> finprod G f A = \<one>"
   20.52    by (induct set: finite) auto
   20.53  
   20.54  
   20.55  (* need better simplification rules for rings *)
   20.56  (* the next one holds more generally for abelian groups *)
   20.57  
   20.58 -lemma (in cring) sum_zero_eq_neg: "x : carrier R \<Longrightarrow> y : carrier R \<Longrightarrow> x \<oplus> y = \<zero> \<Longrightarrow> x = \<ominus> y"
   20.59 +lemma (in cring) sum_zero_eq_neg: "x \<in> carrier R \<Longrightarrow> y \<in> carrier R \<Longrightarrow> x \<oplus> y = \<zero> \<Longrightarrow> x = \<ominus> y"
   20.60    by (metis minus_equality)
   20.61  
   20.62  lemma (in domain) square_eq_one:
   20.63    fixes x
   20.64 -  assumes [simp]: "x : carrier R"
   20.65 +  assumes [simp]: "x \<in> carrier R"
   20.66      and "x \<otimes> x = \<one>"
   20.67 -  shows "x = \<one> | x = \<ominus>\<one>"
   20.68 +  shows "x = \<one> \<or> x = \<ominus>\<one>"
   20.69  proof -
   20.70    have "(x \<oplus> \<one>) \<otimes> (x \<oplus> \<ominus> \<one>) = x \<otimes> x \<oplus> \<ominus> \<one>"
   20.71      by (simp add: ring_simprules)
   20.72    also from \<open>x \<otimes> x = \<one>\<close> have "\<dots> = \<zero>"
   20.73      by (simp add: ring_simprules)
   20.74    finally have "(x \<oplus> \<one>) \<otimes> (x \<oplus> \<ominus> \<one>) = \<zero>" .
   20.75 -  then have "(x \<oplus> \<one>) = \<zero> | (x \<oplus> \<ominus> \<one>) = \<zero>"
   20.76 -    by (intro integral, auto)
   20.77 +  then have "(x \<oplus> \<one>) = \<zero> \<or> (x \<oplus> \<ominus> \<one>) = \<zero>"
   20.78 +    by (intro integral) auto
   20.79    then show ?thesis
   20.80      apply auto
   20.81 -    apply (erule notE)
   20.82 +     apply (erule notE)
   20.83 +     apply (rule sum_zero_eq_neg)
   20.84 +       apply auto
   20.85 +    apply (subgoal_tac "x = \<ominus> (\<ominus> \<one>)")
   20.86 +     apply (simp add: ring_simprules)
   20.87      apply (rule sum_zero_eq_neg)
   20.88 -    apply auto
   20.89 -    apply (subgoal_tac "x = \<ominus> (\<ominus> \<one>)")
   20.90 -    apply (simp add: ring_simprules)
   20.91 -    apply (rule sum_zero_eq_neg)
   20.92 -    apply auto
   20.93 +      apply auto
   20.94      done
   20.95  qed
   20.96  
   20.97 -lemma (in Ring.domain) inv_eq_self: "x : Units R \<Longrightarrow> x = inv x \<Longrightarrow> x = \<one> \<or> x = \<ominus>\<one>"
   20.98 +lemma (in domain) inv_eq_self: "x \<in> Units R \<Longrightarrow> x = inv x \<Longrightarrow> x = \<one> \<or> x = \<ominus>\<one>"
   20.99    by (metis Units_closed Units_l_inv square_eq_one)
  20.100  
  20.101  
  20.102 @@ -90,15 +88,15 @@
  20.103      monoid.nat_pow_0 monoid.nat_pow_Suc units_of_one units_of_mult)
  20.104    done
  20.105  
  20.106 -lemma (in cring) units_power_order_eq_one: "finite (Units R) \<Longrightarrow> a : Units R
  20.107 -    \<Longrightarrow> a (^) card(Units R) = \<one>"
  20.108 +lemma (in cring) units_power_order_eq_one:
  20.109 +  "finite (Units R) \<Longrightarrow> a \<in> Units R \<Longrightarrow> a (^) card(Units R) = \<one>"
  20.110    apply (subst units_of_carrier [symmetric])
  20.111    apply (subst units_of_one [symmetric])
  20.112    apply (subst units_of_pow [symmetric])
  20.113 -  apply assumption
  20.114 +   apply assumption
  20.115    apply (rule comm_group.power_order_eq_one)
  20.116 -  apply (rule units_comm_group)
  20.117 -  apply (unfold units_of_def, auto)
  20.118 +    apply (rule units_comm_group)
  20.119 +   apply (unfold units_of_def, auto)
  20.120    done
  20.121  
  20.122 -end
  20.123 \ No newline at end of file
  20.124 +end
    21.1 --- a/src/HOL/Algebra/More_Group.thy	Sun Oct 08 11:58:01 2017 +0200
    21.2 +++ b/src/HOL/Algebra/More_Group.thy	Sun Oct 08 14:48:47 2017 +0200
    21.3 @@ -5,8 +5,7 @@
    21.4  section \<open>More on groups\<close>
    21.5  
    21.6  theory More_Group
    21.7 -imports
    21.8 -  Ring
    21.9 +  imports Ring
   21.10  begin
   21.11  
   21.12  text \<open>
   21.13 @@ -16,63 +15,62 @@
   21.14    facts about the unit group within the ring locale.
   21.15  \<close>
   21.16  
   21.17 -definition units_of :: "('a, 'b) monoid_scheme => 'a monoid" where
   21.18 -  "units_of G == (| carrier = Units G,
   21.19 -     Group.monoid.mult = Group.monoid.mult G,
   21.20 -     one  = one G |)"
   21.21 +definition units_of :: "('a, 'b) monoid_scheme \<Rightarrow> 'a monoid"
   21.22 +  where "units_of G =
   21.23 +    \<lparr>carrier = Units G, Group.monoid.mult = Group.monoid.mult G, one  = one G\<rparr>"
   21.24  
   21.25 -lemma (in monoid) units_group: "group(units_of G)"
   21.26 +lemma (in monoid) units_group: "group (units_of G)"
   21.27    apply (unfold units_of_def)
   21.28    apply (rule groupI)
   21.29 -  apply auto
   21.30 -  apply (subst m_assoc)
   21.31 -  apply auto
   21.32 +      apply auto
   21.33 +   apply (subst m_assoc)
   21.34 +      apply auto
   21.35    apply (rule_tac x = "inv x" in bexI)
   21.36 -  apply auto
   21.37 +   apply auto
   21.38    done
   21.39  
   21.40 -lemma (in comm_monoid) units_comm_group: "comm_group(units_of G)"
   21.41 +lemma (in comm_monoid) units_comm_group: "comm_group (units_of G)"
   21.42    apply (rule group.group_comm_groupI)
   21.43 -  apply (rule units_group)
   21.44 +   apply (rule units_group)
   21.45    apply (insert comm_monoid_axioms)
   21.46    apply (unfold units_of_def Units_def comm_monoid_def comm_monoid_axioms_def)
   21.47    apply auto
   21.48    done
   21.49  
   21.50  lemma units_of_carrier: "carrier (units_of G) = Units G"
   21.51 -  unfolding units_of_def by auto
   21.52 +  by (auto simp: units_of_def)
   21.53  
   21.54 -lemma units_of_mult: "mult(units_of G) = mult G"
   21.55 -  unfolding units_of_def by auto
   21.56 +lemma units_of_mult: "mult (units_of G) = mult G"
   21.57 +  by (auto simp: units_of_def)
   21.58  
   21.59 -lemma units_of_one: "one(units_of G) = one G"
   21.60 -  unfolding units_of_def by auto
   21.61 +lemma units_of_one: "one (units_of G) = one G"
   21.62 +  by (auto simp: units_of_def)
   21.63  
   21.64 -lemma (in monoid) units_of_inv: "x : Units G ==> m_inv (units_of G) x = m_inv G x"
   21.65 +lemma (in monoid) units_of_inv: "x \<in> Units G \<Longrightarrow> m_inv (units_of G) x = m_inv G x"
   21.66    apply (rule sym)
   21.67    apply (subst m_inv_def)
   21.68    apply (rule the1_equality)
   21.69 -  apply (rule ex_ex1I)
   21.70 -  apply (subst (asm) Units_def)
   21.71 -  apply auto
   21.72 -  apply (erule inv_unique)
   21.73 -  apply auto
   21.74 -  apply (rule Units_closed)
   21.75 -  apply (simp_all only: units_of_carrier [symmetric])
   21.76 -  apply (insert units_group)
   21.77 -  apply auto
   21.78 -  apply (subst units_of_mult [symmetric])
   21.79 -  apply (subst units_of_one [symmetric])
   21.80 -  apply (erule group.r_inv, assumption)
   21.81 +   apply (rule ex_ex1I)
   21.82 +    apply (subst (asm) Units_def)
   21.83 +    apply auto
   21.84 +     apply (erule inv_unique)
   21.85 +        apply auto
   21.86 +    apply (rule Units_closed)
   21.87 +    apply (simp_all only: units_of_carrier [symmetric])
   21.88 +    apply (insert units_group)
   21.89 +    apply auto
   21.90 +   apply (subst units_of_mult [symmetric])
   21.91 +   apply (subst units_of_one [symmetric])
   21.92 +   apply (erule group.r_inv, assumption)
   21.93    apply (subst units_of_mult [symmetric])
   21.94    apply (subst units_of_one [symmetric])
   21.95    apply (erule group.l_inv, assumption)
   21.96    done
   21.97  
   21.98 -lemma (in group) inj_on_const_mult: "a: (carrier G) ==> inj_on (%x. a \<otimes> x) (carrier G)"
   21.99 +lemma (in group) inj_on_const_mult: "a \<in> carrier G \<Longrightarrow> inj_on (\<lambda>x. a \<otimes> x) (carrier G)"
  21.100    unfolding inj_on_def by auto
  21.101  
  21.102 -lemma (in group) surj_const_mult: "a : (carrier G) ==> (%x. a \<otimes> x) ` (carrier G) = (carrier G)"
  21.103 +lemma (in group) surj_const_mult: "a \<in> carrier G \<Longrightarrow> (\<lambda>x. a \<otimes> x) ` carrier G = carrier G"
  21.104    apply (auto simp add: image_def)
  21.105    apply (rule_tac x = "(m_inv G a) \<otimes> x" in bexI)
  21.106    apply auto
  21.107 @@ -82,33 +80,29 @@
  21.108    apply auto
  21.109    done
  21.110  
  21.111 -lemma (in group) l_cancel_one [simp]:
  21.112 -    "x : carrier G \<Longrightarrow> a : carrier G \<Longrightarrow> (x \<otimes> a = x) = (a = one G)"
  21.113 +lemma (in group) l_cancel_one [simp]: "x \<in> carrier G \<Longrightarrow> a \<in> carrier G \<Longrightarrow> x \<otimes> a = x \<longleftrightarrow> a = one G"
  21.114    apply auto
  21.115    apply (subst l_cancel [symmetric])
  21.116 -  prefer 4
  21.117 -  apply (erule ssubst)
  21.118 -  apply auto
  21.119 +     prefer 4
  21.120 +     apply (erule ssubst)
  21.121 +     apply auto
  21.122    done
  21.123  
  21.124 -lemma (in group) r_cancel_one [simp]: "x : carrier G \<Longrightarrow> a : carrier G \<Longrightarrow>
  21.125 -    (a \<otimes> x = x) = (a = one G)"
  21.126 +lemma (in group) r_cancel_one [simp]: "x \<in> carrier G \<Longrightarrow> a \<in> carrier G \<Longrightarrow> a \<otimes> x = x \<longleftrightarrow> a = one G"
  21.127    apply auto
  21.128    apply (subst r_cancel [symmetric])
  21.129 -  prefer 4
  21.130 -  apply (erule ssubst)
  21.131 -  apply auto
  21.132 +     prefer 4
  21.133 +     apply (erule ssubst)
  21.134 +     apply auto
  21.135    done
  21.136  
  21.137  (* Is there a better way to do this? *)
  21.138 -lemma (in group) l_cancel_one' [simp]: "x : carrier G \<Longrightarrow> a : carrier G \<Longrightarrow>
  21.139 -    (x = x \<otimes> a) = (a = one G)"
  21.140 +lemma (in group) l_cancel_one' [simp]: "x \<in> carrier G \<Longrightarrow> a \<in> carrier G \<Longrightarrow> x = x \<otimes> a \<longleftrightarrow> a = one G"
  21.141    apply (subst eq_commute)
  21.142    apply simp
  21.143    done
  21.144  
  21.145 -lemma (in group) r_cancel_one' [simp]: "x : carrier G \<Longrightarrow> a : carrier G \<Longrightarrow>
  21.146 -    (x = a \<otimes> x) = (a = one G)"
  21.147 +lemma (in group) r_cancel_one' [simp]: "x \<in> carrier G \<Longrightarrow> a \<in> carrier G \<Longrightarrow> x = a \<otimes> x \<longleftrightarrow> a = one G"
  21.148    apply (subst eq_commute)
  21.149    apply simp
  21.150    done
  21.151 @@ -118,7 +112,7 @@
  21.152  
  21.153  lemma (in comm_group) power_order_eq_one:
  21.154    assumes fin [simp]: "finite (carrier G)"
  21.155 -    and a [simp]: "a : carrier G"
  21.156 +    and a [simp]: "a \<in> carrier G"
  21.157    shows "a (^) card(carrier G) = one G"
  21.158  proof -
  21.159    have "(\<Otimes>x\<in>carrier G. x) = (\<Otimes>x\<in>carrier G. a \<otimes> x)"
    22.1 --- a/src/HOL/Algebra/More_Ring.thy	Sun Oct 08 11:58:01 2017 +0200
    22.2 +++ b/src/HOL/Algebra/More_Ring.thy	Sun Oct 08 14:48:47 2017 +0200
    22.3 @@ -5,73 +5,70 @@
    22.4  section \<open>More on rings etc.\<close>
    22.5  
    22.6  theory More_Ring
    22.7 -imports
    22.8 -  Ring
    22.9 +  imports Ring
   22.10  begin
   22.11  
   22.12 -lemma (in cring) field_intro2: "\<zero>\<^bsub>R\<^esub> ~= \<one>\<^bsub>R\<^esub> \<Longrightarrow> \<forall>x \<in> carrier R - {\<zero>\<^bsub>R\<^esub>}. x \<in> Units R \<Longrightarrow> field R"
   22.13 +lemma (in cring) field_intro2: "\<zero>\<^bsub>R\<^esub> \<noteq> \<one>\<^bsub>R\<^esub> \<Longrightarrow> \<forall>x \<in> carrier R - {\<zero>\<^bsub>R\<^esub>}. x \<in> Units R \<Longrightarrow> field R"
   22.14    apply (unfold_locales)
   22.15 -  apply (insert cring_axioms, auto)
   22.16 -  apply (rule trans)
   22.17 -  apply (subgoal_tac "a = (a \<otimes> b) \<otimes> inv b")
   22.18 -  apply assumption
   22.19 -  apply (subst m_assoc)
   22.20 -  apply auto
   22.21 +    apply (use cring_axioms in auto)
   22.22 +   apply (rule trans)
   22.23 +    apply (subgoal_tac "a = (a \<otimes> b) \<otimes> inv b")
   22.24 +     apply assumption
   22.25 +    apply (subst m_assoc)
   22.26 +       apply auto
   22.27    apply (unfold Units_def)
   22.28    apply auto
   22.29    done
   22.30  
   22.31 -lemma (in monoid) inv_char: "x : carrier G \<Longrightarrow> y : carrier G \<Longrightarrow>
   22.32 -    x \<otimes> y = \<one> \<Longrightarrow> y \<otimes> x = \<one> \<Longrightarrow> inv x = y"
   22.33 -  apply (subgoal_tac "x : Units G")
   22.34 -  apply (subgoal_tac "y = inv x \<otimes> \<one>")
   22.35 -  apply simp
   22.36 -  apply (erule subst)
   22.37 -  apply (subst m_assoc [symmetric])
   22.38 -  apply auto
   22.39 +lemma (in monoid) inv_char:
   22.40 +  "x \<in> carrier G \<Longrightarrow> y \<in> carrier G \<Longrightarrow> x \<otimes> y = \<one> \<Longrightarrow> y \<otimes> x = \<one> \<Longrightarrow> inv x = y"
   22.41 +  apply (subgoal_tac "x \<in> Units G")
   22.42 +   apply (subgoal_tac "y = inv x \<otimes> \<one>")
   22.43 +    apply simp
   22.44 +   apply (erule subst)
   22.45 +   apply (subst m_assoc [symmetric])
   22.46 +      apply auto
   22.47    apply (unfold Units_def)
   22.48    apply auto
   22.49    done
   22.50  
   22.51 -lemma (in comm_monoid) comm_inv_char: "x : carrier G \<Longrightarrow> y : carrier G \<Longrightarrow>
   22.52 -  x \<otimes> y = \<one> \<Longrightarrow> inv x = y"
   22.53 +lemma (in comm_monoid) comm_inv_char: "x \<in> carrier G \<Longrightarrow> y \<in> carrier G \<Longrightarrow> x \<otimes> y = \<one> \<Longrightarrow> inv x = y"
   22.54    apply (rule inv_char)
   22.55 -  apply auto
   22.56 +     apply auto
   22.57    apply (subst m_comm, auto)
   22.58    done
   22.59  
   22.60  lemma (in ring) inv_neg_one [simp]: "inv (\<ominus> \<one>) = \<ominus> \<one>"
   22.61    apply (rule inv_char)
   22.62 -  apply (auto simp add: l_minus r_minus)
   22.63 +     apply (auto simp add: l_minus r_minus)
   22.64    done
   22.65  
   22.66 -lemma (in monoid) inv_eq_imp_eq: "x : Units G \<Longrightarrow> y : Units G \<Longrightarrow>
   22.67 -    inv x = inv y \<Longrightarrow> x = y"
   22.68 -  apply (subgoal_tac "inv(inv x) = inv(inv y)")
   22.69 -  apply (subst (asm) Units_inv_inv)+
   22.70 -  apply auto
   22.71 +lemma (in monoid) inv_eq_imp_eq: "x \<in> Units G \<Longrightarrow> y \<in> Units G \<Longrightarrow> inv x = inv y \<Longrightarrow> x = y"
   22.72 +  apply (subgoal_tac "inv (inv x) = inv (inv y)")
   22.73 +   apply (subst (asm) Units_inv_inv)+
   22.74 +    apply auto
   22.75    done
   22.76  
   22.77 -lemma (in ring) Units_minus_one_closed [intro]: "\<ominus> \<one> : Units R"
   22.78 +lemma (in ring) Units_minus_one_closed [intro]: "\<ominus> \<one> \<in> Units R"
   22.79    apply (unfold Units_def)
   22.80    apply auto
   22.81    apply (rule_tac x = "\<ominus> \<one>" in bexI)
   22.82 -  apply auto
   22.83 +   apply auto
   22.84    apply (simp add: l_minus r_minus)
   22.85    done
   22.86  
   22.87  lemma (in monoid) inv_one [simp]: "inv \<one> = \<one>"
   22.88    apply (rule inv_char)
   22.89 -  apply auto
   22.90 +     apply auto
   22.91    done
   22.92  
   22.93 -lemma (in ring) inv_eq_neg_one_eq: "x : Units R \<Longrightarrow> (inv x = \<ominus> \<one>) = (x = \<ominus> \<one>)"
   22.94 +lemma (in ring) inv_eq_neg_one_eq: "x \<in> Units R \<Longrightarrow> inv x = \<ominus> \<one> \<longleftrightarrow> x = \<ominus> \<one>"
   22.95    apply auto
   22.96    apply (subst Units_inv_inv [symmetric])
   22.97 -  apply auto
   22.98 +   apply auto
   22.99    done
  22.100  
  22.101 -lemma (in monoid) inv_eq_one_eq: "x : Units G \<Longrightarrow> (inv x = \<one>) = (x = \<one>)"
  22.102 +lemma (in monoid) inv_eq_one_eq: "x \<in> Units G \<Longrightarrow> inv x = \<one> \<longleftrightarrow> x = \<one>"
  22.103    by (metis Units_inv_inv inv_one)
  22.104  
  22.105  end
    23.1 --- a/src/HOL/Analysis/Cauchy_Integral_Theorem.thy	Sun Oct 08 11:58:01 2017 +0200
    23.2 +++ b/src/HOL/Analysis/Cauchy_Integral_Theorem.thy	Sun Oct 08 14:48:47 2017 +0200
    23.3 @@ -3749,12 +3749,14 @@
    23.4      by meson
    23.5    have exy: "\<exists>y. ((\<lambda>x. inverse (\<gamma> x - z) * ?D\<gamma> x) has_integral y) {a..b}"
    23.6      unfolding integrable_on_def [symmetric]
    23.7 -    apply (rule contour_integral_local_primitive_any [OF piecewise_C1_imp_differentiable [OF \<gamma>], of "-{z}"])
    23.8 -    apply (rename_tac w)
    23.9 -    apply (rule_tac x="norm(w - z)" in exI)
   23.10 -    apply (simp_all add: inverse_eq_divide)
   23.11 -    apply (metis has_field_derivative_at_within h)
   23.12 -    done
   23.13 +  proof (rule contour_integral_local_primitive_any [OF piecewise_C1_imp_differentiable [OF \<gamma>]])
   23.14 +    show "\<exists>d h. 0 < d \<and>
   23.15 +               (\<forall>y. cmod (y - w) < d \<longrightarrow> (h has_field_derivative inverse (y - z))(at y within - {z}))" 
   23.16 +          if "w \<in> - {z}" for w
   23.17 +      apply (rule_tac x="norm(w - z)" in exI)
   23.18 +      using that inverse_eq_divide has_field_derivative_at_within h
   23.19 +      by (metis Compl_insert DiffD2 insertCI right_minus_eq zero_less_norm_iff)
   23.20 +  qed simp
   23.21    have vg_int: "(\<lambda>x. ?D\<gamma> x / (\<gamma> x - z)) integrable_on {a..b}"
   23.22      unfolding box_real [symmetric] divide_inverse_commute
   23.23      by (auto intro!: exy integrable_subinterval simp add: integrable_on_def ab)
   23.24 @@ -3774,20 +3776,29 @@
   23.25        assume x: "x \<notin> k" "a < x" "x < b"
   23.26        then have "x \<in> interior ({a..b} - k)"
   23.27          using open_subset_interior [OF o] by fastforce
   23.28 -      then have con: "isCont (\<lambda>x. ?D\<gamma> x) x"
   23.29 +      then have con: "isCont ?D\<gamma> x"
   23.30          using g_C1_diff x by (auto simp: C1_differentiable_on_eq intro: continuous_on_interior)
   23.31        then have con_vd: "continuous (at x within {a..b}) (\<lambda>x. ?D\<gamma> x)"
   23.32          by (rule continuous_at_imp_continuous_within)
   23.33        have gdx: "\<gamma> differentiable at x"
   23.34          using x by (simp add: g_diff_at)
   23.35 -      have "((\<lambda>c. exp (- integral {a..c} (\<lambda>x. vector_derivative \<gamma> (at x) / (\<gamma> x - z))) * (\<gamma> c - z)) has_derivative (\<lambda>h. 0))
   23.36 +      have "\<And>d. \<lbrakk>x \<notin> k; a < x; x < b;
   23.37 +          (\<gamma> has_vector_derivative d) (at x); a \<le> t; t \<le> b\<rbrakk>
   23.38 +         \<Longrightarrow> ((\<lambda>x. integral {a..x}
   23.39 +                     (\<lambda>x. ?D\<gamma> x /
   23.40 +                           (\<gamma> x - z))) has_vector_derivative
   23.41 +              d / (\<gamma> x - z))
   23.42 +              (at x within {a..b})"
   23.43 +        apply (rule has_vector_derivative_eq_rhs)
   23.44 +         apply (rule integral_has_vector_derivative_continuous_at [where S = "{}", simplified])
   23.45 +        apply (rule con_vd continuous_intros cong vg_int | simp add: continuous_at_imp_continuous_within has_vector_derivative_continuous vector_derivative_at)+
   23.46 +        done
   23.47 +      then have "((\<lambda>c. exp (- integral {a..c} (\<lambda>x. ?D\<gamma> x / (\<gamma> x - z))) * (\<gamma> c - z)) has_derivative (\<lambda>h. 0))
   23.48            (at x within {a..b})"
   23.49          using x gdx t
   23.50          apply (clarsimp simp add: differentiable_iff_scaleR)
   23.51          apply (rule exp_fg [unfolded has_vector_derivative_def, simplified], blast intro: has_derivative_at_within)
   23.52          apply (simp_all add: has_vector_derivative_def [symmetric])
   23.53 -        apply (rule has_vector_derivative_eq_rhs [OF integral_has_vector_derivative_continuous_at])
   23.54 -        apply (rule con_vd continuous_intros cong vg_int | simp add: continuous_at_imp_continuous_within has_vector_derivative_continuous vector_derivative_at)+
   23.55          done
   23.56        } note * = this
   23.57      have "exp (- (integral {a..t} (\<lambda>x. ?D\<gamma> x / (\<gamma> x - z)))) * (\<gamma> t - z) =\<gamma> a - z"
    24.1 --- a/src/HOL/Analysis/Conformal_Mappings.thy	Sun Oct 08 11:58:01 2017 +0200
    24.2 +++ b/src/HOL/Analysis/Conformal_Mappings.thy	Sun Oct 08 14:48:47 2017 +0200
    24.3 @@ -739,7 +739,7 @@
    24.4  lemma holomorphic_factor_zero_nonconstant:
    24.5    assumes holf: "f holomorphic_on S" and S: "open S" "connected S"
    24.6        and "\<xi> \<in> S" "f \<xi> = 0"
    24.7 -      and nonconst: "\<And>c. \<exists>z \<in> S. f z \<noteq> c"
    24.8 +      and nonconst: "~ f constant_on S"
    24.9     obtains g r n
   24.10        where "0 < n"  "0 < r"  "ball \<xi> r \<subseteq> S"
   24.11              "g holomorphic_on ball \<xi> r"
   24.12 @@ -747,7 +747,7 @@
   24.13              "\<And>w. w \<in> ball \<xi> r \<Longrightarrow> g w \<noteq> 0"
   24.14  proof (cases "\<forall>n>0. (deriv ^^ n) f \<xi> = 0")
   24.15    case True then show ?thesis
   24.16 -    using holomorphic_fun_eq_const_on_connected [OF holf S _ \<open>\<xi> \<in> S\<close>] nonconst by auto
   24.17 +    using holomorphic_fun_eq_const_on_connected [OF holf S _ \<open>\<xi> \<in> S\<close>] nonconst by (simp add: constant_on_def)
   24.18  next
   24.19    case False
   24.20    then obtain n0 where "n0 > 0" and n0: "(deriv ^^ n0) f \<xi> \<noteq> 0" by blast
   24.21 @@ -3074,18 +3074,19 @@
   24.22  
   24.23  lemma holomorphic_factor_zero_Ex1:
   24.24    assumes "open s" "connected s" "z \<in> s" and
   24.25 -        holo:"f holomorphic_on s"
   24.26 -        and "f z = 0" and "\<exists>w\<in>s. f w \<noteq> 0"
   24.27 +        holf: "f holomorphic_on s"
   24.28 +        and f: "f z = 0" "\<exists>w\<in>s. f w \<noteq> 0"
   24.29    shows "\<exists>!n. \<exists>g r. 0 < n \<and> 0 < r \<and>
   24.30                  g holomorphic_on cball z r
   24.31                  \<and> (\<forall>w\<in>cball z r. f w = (w-z)^n * g w \<and> g w\<noteq>0)"
   24.32  proof (rule ex_ex1I)
   24.33 -  obtain g r n where "0 < n" "0 < r" "ball z r \<subseteq> s" and
   24.34 +  have "\<not> f constant_on s"
   24.35 +    by (metis \<open>z\<in>s\<close> constant_on_def f)
   24.36 +  then obtain g r n where "0 < n" "0 < r" "ball z r \<subseteq> s" and
   24.37            g:"g holomorphic_on ball z r"
   24.38            "\<And>w. w \<in> ball z r \<Longrightarrow> f w = (w - z) ^ n * g w"
   24.39            "\<And>w. w \<in> ball z r \<Longrightarrow> g w \<noteq> 0"
   24.40 -    using holomorphic_factor_zero_nonconstant[OF holo \<open>open s\<close> \<open>connected s\<close> \<open>z\<in>s\<close> \<open>f z=0\<close>]
   24.41 -    by (metis assms(3) assms(5) assms(6))
   24.42 +    by (blast intro: holomorphic_factor_zero_nonconstant[OF holf \<open>open s\<close> \<open>connected s\<close> \<open>z\<in>s\<close> \<open>f z=0\<close>])
   24.43    define r' where "r' \<equiv> r/2"
   24.44    have "cball z r' \<subseteq> ball z r" unfolding r'_def by (simp add: \<open>0 < r\<close> cball_subset_ball_iff)
   24.45    hence "cball z r' \<subseteq> s" "g holomorphic_on cball z r'"
    25.1 --- a/src/HOL/Analysis/Equivalence_Lebesgue_Henstock_Integration.thy	Sun Oct 08 11:58:01 2017 +0200
    25.2 +++ b/src/HOL/Analysis/Equivalence_Lebesgue_Henstock_Integration.thy	Sun Oct 08 14:48:47 2017 +0200
    25.3 @@ -2253,9 +2253,7 @@
    25.4      have "(\<lambda>x. \<bar>f x \<bullet> i\<bar>) integrable_on S" 
    25.5        using assms integrable_component [OF fcomp, where y=i] that by simp
    25.6      then have "(\<lambda>x. f x \<bullet> i) absolutely_integrable_on S"
    25.7 -      apply -
    25.8 -      apply (rule abs_absolutely_integrableI_1, auto)
    25.9 -      by (simp add: f integrable_component)
   25.10 +      using abs_absolutely_integrableI_1 f integrable_component by blast
   25.11      then show ?thesis
   25.12        by (rule absolutely_integrable_scaleR_right)
   25.13    qed
    26.1 --- a/src/HOL/Analysis/Great_Picard.thy	Sun Oct 08 11:58:01 2017 +0200
    26.2 +++ b/src/HOL/Analysis/Great_Picard.thy	Sun Oct 08 14:48:47 2017 +0200
    26.3 @@ -1000,7 +1000,7 @@
    26.4        and holf: "\<And>n::nat. \<F> n holomorphic_on S"
    26.5        and holg: "g holomorphic_on S"
    26.6        and ul_g: "\<And>K. \<lbrakk>compact K; K \<subseteq> S\<rbrakk> \<Longrightarrow> uniform_limit K \<F> g sequentially"
    26.7 -      and nonconst: "\<And>c. \<exists>z \<in> S. g z \<noteq> c"
    26.8 +      and nonconst: "~ g constant_on S"
    26.9        and nz: "\<And>n z. z \<in> S \<Longrightarrow> \<F> n z \<noteq> 0"
   26.10        and "z0 \<in> S"
   26.11        shows "g z0 \<noteq> 0"
   26.12 @@ -1164,14 +1164,14 @@
   26.13        and holf: "\<And>n::nat. \<F> n holomorphic_on S"
   26.14        and holg: "g holomorphic_on S"
   26.15        and ul_g: "\<And>K. \<lbrakk>compact K; K \<subseteq> S\<rbrakk> \<Longrightarrow> uniform_limit K \<F> g sequentially"
   26.16 -      and nonconst: "\<And>c. \<exists>z \<in> S. g z \<noteq> c"
   26.17 +      and nonconst: "~ g constant_on S"
   26.18        and inj: "\<And>n. inj_on (\<F> n) S"
   26.19      shows "inj_on g S"
   26.20  proof -
   26.21    have False if z12: "z1 \<in> S" "z2 \<in> S" "z1 \<noteq> z2" "g z2 = g z1" for z1 z2
   26.22    proof -
   26.23      obtain z0 where "z0 \<in> S" and z0: "g z0 \<noteq> g z2"
   26.24 -      using nonconst by blast
   26.25 +      using constant_on_def nonconst by blast
   26.26      have "(\<lambda>z. g z - g z1) holomorphic_on S"
   26.27        by (intro holomorphic_intros holg)
   26.28      then obtain r where "0 < r" "ball z2 r \<subseteq> S" "\<And>z. dist z2 z < r \<and> z \<noteq> z2 \<Longrightarrow> g z \<noteq> g z1"
   26.29 @@ -1214,7 +1214,8 @@
   26.30          show "\<forall>\<^sub>F n in sequentially. \<forall>x\<in>K. dist (\<F> n x - \<F> n z1) (g x - g z1) < e"
   26.31            by simp
   26.32        qed
   26.33 -      show "\<And>c. \<exists>z\<in>S - {z1}. g z - g z1 \<noteq> c"
   26.34 +      show "\<not> (\<lambda>z. g z - g z1) constant_on S - {z1}"
   26.35 +        unfolding constant_on_def
   26.36          by (metis Diff_iff \<open>z0 \<in> S\<close> empty_iff insert_iff right_minus_eq z0 z12)
   26.37        show "\<And>n z. z \<in> S - {z1} \<Longrightarrow> \<F> n z - \<F> n z1 \<noteq> 0"
   26.38          by (metis DiffD1 DiffD2 eq_iff_diff_eq_0 inj inj_onD insertI1 \<open>z1 \<in> S\<close>)
   26.39 @@ -1360,8 +1361,9 @@
   26.40            using \<open>Z \<subseteq> S\<close> e hol\<G> by force
   26.41          show "\<And>n z. z \<in> ball v e \<Longrightarrow> (\<G> \<circ> j) n z \<noteq> 0"
   26.42            using \<G>not0 \<open>Z \<subseteq> S\<close> e by fastforce
   26.43 -        show "\<exists>z\<in>ball v e. h z \<noteq> c" for c
   26.44 -        proof -
   26.45 +        show "\<not> h constant_on ball v e"
   26.46 +        proof (clarsimp simp: constant_on_def)
   26.47 +          fix c
   26.48            have False if "\<And>z. dist v z < e \<Longrightarrow> h z = c"  
   26.49            proof -
   26.50              have "h v = c"
   26.51 @@ -1389,7 +1391,7 @@
   26.52              show False
   26.53                using \<open>C < cmod (\<F> (j n) y)\<close> le_C not_less by blast
   26.54            qed
   26.55 -          then show ?thesis by force
   26.56 +          then show "\<exists>x\<in>ball v e. h x \<noteq> c" by force
   26.57          qed
   26.58          show "h holomorphic_on ball v e"
   26.59            by (simp add: holh)
   26.60 @@ -1828,7 +1830,6 @@
   26.61      by meson
   26.62  qed
   26.63  
   26.64 -
   26.65  corollary Casorati_Weierstrass:
   26.66    assumes "open M" "z \<in> M" "f holomorphic_on (M - {z})"
   26.67        and "\<And>l. \<not> (f \<longlongrightarrow> l) (at z)" "\<And>l. \<not> ((inverse \<circ> f) \<longlongrightarrow> l) (at z)"
    27.1 --- a/src/HOL/Analysis/Henstock_Kurzweil_Integration.thy	Sun Oct 08 11:58:01 2017 +0200
    27.2 +++ b/src/HOL/Analysis/Henstock_Kurzweil_Integration.thy	Sun Oct 08 14:48:47 2017 +0200
    27.3 @@ -10,10 +10,6 @@
    27.4    Lebesgue_Measure Tagged_Division
    27.5  begin
    27.6  
    27.7 -(*FIXME DELETE*)
    27.8 -lemma conjunctD2: assumes "a \<and> b" shows a b using assms by auto
    27.9 -(* try instead structured proofs below *)
   27.10 -
   27.11  lemma norm_diff2: "\<lbrakk>y = y1 + y2; x = x1 + x2; e = e1 + e2; norm(y1 - x1) \<le> e1; norm(y2 - x2) \<le> e2\<rbrakk>
   27.12    \<Longrightarrow> norm(y-x) \<le> e"
   27.13    using norm_triangle_mono [of "y1 - x1" "e1" "y2 - x2" "e2"]
   27.14 @@ -1541,14 +1537,6 @@
   27.15      using \<gamma> [OF p \<open>\<gamma> fine p\<close>] rsum_bound[OF p] assms by metis
   27.16  qed
   27.17  
   27.18 -corollary has_integral_bound_real:
   27.19 -  fixes f :: "real \<Rightarrow> 'b::real_normed_vector"
   27.20 -  assumes "0 \<le> B"
   27.21 -      and "(f has_integral i) {a..b}"
   27.22 -      and "\<forall>x\<in>{a..b}. norm (f x) \<le> B"
   27.23 -    shows "norm i \<le> B * content {a..b}"
   27.24 -  by (metis assms box_real(2) has_integral_bound)
   27.25 -
   27.26  corollary integrable_bound:
   27.27    fixes f :: "'a::euclidean_space \<Rightarrow> 'b::real_normed_vector"
   27.28    assumes "0 \<le> B"
   27.29 @@ -2384,6 +2372,31 @@
   27.30    shows "g integrable_on T"
   27.31    using assms has_integral_spike_finite by blast
   27.32  
   27.33 +lemma has_integral_bound_spike_finite:
   27.34 +  fixes f :: "'a::euclidean_space \<Rightarrow> 'b::real_normed_vector"
   27.35 +  assumes "0 \<le> B" "finite S"
   27.36 +      and f: "(f has_integral i) (cbox a b)"
   27.37 +      and leB: "\<And>x. x \<in> cbox a b - S \<Longrightarrow> norm (f x) \<le> B"
   27.38 +    shows "norm i \<le> B * content (cbox a b)"
   27.39 +proof -
   27.40 +  define g where "g \<equiv> (\<lambda>x. if x \<in> S then 0 else f x)"
   27.41 +  then have "\<And>x. x \<in> cbox a b - S \<Longrightarrow> norm (g x) \<le> B"
   27.42 +    using leB by simp
   27.43 +  moreover have "(g has_integral i) (cbox a b)"
   27.44 +    using has_integral_spike_finite [OF \<open>finite S\<close> _ f]
   27.45 +    by (simp add: g_def)
   27.46 +  ultimately show ?thesis
   27.47 +    by (simp add: \<open>0 \<le> B\<close> g_def has_integral_bound)
   27.48 +qed
   27.49 +
   27.50 +corollary has_integral_bound_real:
   27.51 +  fixes f :: "real \<Rightarrow> 'b::real_normed_vector"
   27.52 +  assumes "0 \<le> B" "finite S"
   27.53 +      and "(f has_integral i) {a..b}"
   27.54 +      and "\<And>x. x \<in> {a..b} - S \<Longrightarrow> norm (f x) \<le> B"
   27.55 +    shows "norm i \<le> B * content {a..b}"
   27.56 +  by (metis assms box_real(2) has_integral_bound_spike_finite)
   27.57 +
   27.58  
   27.59  subsection \<open>In particular, the boundary of an interval is negligible.\<close>
   27.60  
   27.61 @@ -3049,17 +3062,18 @@
   27.62  lemma integral_has_vector_derivative_continuous_at:
   27.63    fixes f :: "real \<Rightarrow> 'a::banach"
   27.64    assumes f: "f integrable_on {a..b}"
   27.65 -      and x: "x \<in> {a..b}"
   27.66 -      and fx: "continuous (at x within {a..b}) f"
   27.67 -  shows "((\<lambda>u. integral {a..u} f) has_vector_derivative f x) (at x within {a..b})"
   27.68 +     and x: "x \<in> {a..b} - S"
   27.69 +     and "finite S"
   27.70 +     and fx: "continuous (at x within ({a..b} - S)) f"
   27.71 + shows "((\<lambda>u. integral {a..u} f) has_vector_derivative f x) (at x within ({a..b} - S))"
   27.72  proof -
   27.73    let ?I = "\<lambda>a b. integral {a..b} f"
   27.74    { fix e::real
   27.75      assume "e > 0"
   27.76 -    obtain d where "d>0" and d: "\<And>x'. \<lbrakk>x' \<in> {a..b}; \<bar>x' - x\<bar> < d\<rbrakk> \<Longrightarrow> norm(f x' - f x) \<le> e"
   27.77 +    obtain d where "d>0" and d: "\<And>x'. \<lbrakk>x' \<in> {a..b} - S; \<bar>x' - x\<bar> < d\<rbrakk> \<Longrightarrow> norm(f x' - f x) \<le> e"
   27.78        using \<open>e>0\<close> fx by (auto simp: continuous_within_eps_delta dist_norm less_imp_le)
   27.79      have "norm (integral {a..y} f - integral {a..x} f - (y-x) *\<^sub>R f x) \<le> e * \<bar>y - x\<bar>"
   27.80 -           if y: "y \<in> {a..b}" and yx: "\<bar>y - x\<bar> < d" for y
   27.81 +           if y: "y \<in> {a..b} - S" and yx: "\<bar>y - x\<bar> < d" for y
   27.82      proof (cases "y < x")
   27.83        case False
   27.84        have "f integrable_on {a..y}"
   27.85 @@ -3070,14 +3084,15 @@
   27.86          apply (rule has_integral_diff)
   27.87          using x y apply (auto intro: integrable_integral [OF integrable_subinterval_real [OF f]])
   27.88          using has_integral_const_real [of "f x" x y] False
   27.89 -        apply (simp add: )
   27.90 +        apply simp
   27.91          done
   27.92 +      have "\<And>xa. y - x < d \<Longrightarrow> (\<And>x'. a \<le> x' \<and> x' \<le> b \<and> x' \<notin> S \<Longrightarrow> \<bar>x' - x\<bar> < d \<Longrightarrow> norm (f x' - f x) \<le> e) \<Longrightarrow> 0 < e \<Longrightarrow> xa \<notin> S \<Longrightarrow> a \<le> x \<Longrightarrow> x \<notin> S \<Longrightarrow> y \<le> b \<Longrightarrow> y \<notin> S \<Longrightarrow> x \<le> xa \<Longrightarrow> xa \<le> y \<Longrightarrow> norm (f xa - f x) \<le> e"
   27.93 +        using assms by auto
   27.94        show ?thesis
   27.95          using False
   27.96          apply (simp add: abs_eq_content del: content_real_if measure_lborel_Icc)
   27.97          apply (rule has_integral_bound_real[where f="(\<lambda>u. f u - f x)"])
   27.98 -        using yx False d x y \<open>e>0\<close> apply (auto simp add: Idiff fux_int)
   27.99 -        done
  27.100 +        using yx False d x y \<open>e>0\<close> assms by (auto simp: Idiff fux_int)
  27.101      next
  27.102        case True
  27.103        have "f integrable_on {a..x}"
  27.104 @@ -3088,33 +3103,31 @@
  27.105          apply (rule has_integral_diff)
  27.106          using x y apply (auto intro: integrable_integral [OF integrable_subinterval_real [OF f]])
  27.107          using has_integral_const_real [of "f x" y x] True
  27.108 -        apply (simp add: )
  27.109 +        apply simp
  27.110          done
  27.111        have "norm (integral {a..x} f - integral {a..y} f - (x - y) *\<^sub>R f x) \<le> e * \<bar>y - x\<bar>"
  27.112          using True
  27.113          apply (simp add: abs_eq_content del: content_real_if measure_lborel_Icc)
  27.114          apply (rule has_integral_bound_real[where f="(\<lambda>u. f u - f x)"])
  27.115 -        using yx True d x y \<open>e>0\<close> apply (auto simp add: Idiff fux_int)
  27.116 -        done
  27.117 +        using yx True d x y \<open>e>0\<close> assms by (auto simp: Idiff fux_int)
  27.118        then show ?thesis
  27.119          by (simp add: algebra_simps norm_minus_commute)
  27.120      qed
  27.121 -    then have "\<exists>d>0. \<forall>y\<in>{a..b}. \<bar>y - x\<bar> < d \<longrightarrow> norm (integral {a..y} f - integral {a..x} f - (y-x) *\<^sub>R f x) \<le> e * \<bar>y - x\<bar>"
  27.122 +    then have "\<exists>d>0. \<forall>y\<in>{a..b} - S. \<bar>y - x\<bar> < d \<longrightarrow> norm (integral {a..y} f - integral {a..x} f - (y-x) *\<^sub>R f x) \<le> e * \<bar>y - x\<bar>"
  27.123        using \<open>d>0\<close> by blast
  27.124    }
  27.125    then show ?thesis
  27.126      by (simp add: has_vector_derivative_def has_derivative_within_alt bounded_linear_scaleR_left)
  27.127  qed
  27.128  
  27.129 +
  27.130  lemma integral_has_vector_derivative:
  27.131    fixes f :: "real \<Rightarrow> 'a::banach"
  27.132    assumes "continuous_on {a..b} f"
  27.133      and "x \<in> {a..b}"
  27.134    shows "((\<lambda>u. integral {a..u} f) has_vector_derivative f(x)) (at x within {a..b})"
  27.135 -apply (rule integral_has_vector_derivative_continuous_at [OF integrable_continuous_real])
  27.136 -using assms
  27.137 -apply (auto simp: continuous_on_eq_continuous_within)
  27.138 -done
  27.139 +using assms integral_has_vector_derivative_continuous_at [OF integrable_continuous_real]
  27.140 +  by (fastforce simp: continuous_on_eq_continuous_within)
  27.141  
  27.142  lemma antiderivative_continuous:
  27.143    fixes q b :: real
  27.144 @@ -6049,8 +6062,7 @@
  27.145    have "norm (integral S f) \<le> integral S ((\<lambda>x. x \<bullet> k) \<circ> g)"
  27.146      apply (rule integral_norm_bound_integral[OF f integrable_linear[OF g]])
  27.147      apply (simp add: bounded_linear_inner_left)
  27.148 -    unfolding o_def
  27.149 -    apply (metis fg)
  27.150 +    apply (metis fg o_def)
  27.151      done
  27.152    then show ?thesis
  27.153      unfolding o_def integral_component_eq[OF g] .
  27.154 @@ -6167,7 +6179,6 @@
  27.155        have "closed_segment x0 x \<subseteq> U"
  27.156          by (rule \<open>convex U\<close>[unfolded convex_contains_segment, rule_format, OF \<open>x0 \<in> U\<close> \<open>x \<in> U\<close>])
  27.157        from elim have [intro]: "x \<in> U" by auto
  27.158 -
  27.159        have "?F x - ?F x0 - ?dF (x - x0) =
  27.160          integral (cbox a b) (\<lambda>y. f x y - f x0 y - fx x0 y (x - x0))"
  27.161          (is "_ = ?id")
  27.162 @@ -6204,7 +6215,7 @@
  27.163        also have "\<dots> < e' * norm (x - x0)"
  27.164          using \<open>e' > 0\<close>
  27.165          apply (intro mult_strict_right_mono[OF _ \<open>0 < norm (x - x0)\<close>])
  27.166 -        apply  (auto simp: divide_simps e_def)
  27.167 +        apply (auto simp: divide_simps e_def)
  27.168          by (metis \<open>0 < e\<close> e_def order.asym zero_less_divide_iff)
  27.169        finally have "norm (?F x - ?F x0 - ?dF (x - x0)) < e' * norm (x - x0)" .
  27.170        then show ?case
  27.171 @@ -6293,14 +6304,12 @@
  27.172      by atomize_elim (auto simp: integrable_on_def intro!: choice)
  27.173  
  27.174    moreover
  27.175 -
  27.176    have gi[simp]: "g integrable_on (cbox a b)"
  27.177      by (auto intro!: integrable_continuous uniform_limit_theorem[OF _ u] eventuallyI c)
  27.178    then obtain J where J: "(g has_integral J) (cbox a b)"
  27.179      by blast
  27.180  
  27.181    moreover
  27.182 -
  27.183    have "(I \<longlongrightarrow> J) F"
  27.184    proof cases
  27.185      assume "content (cbox a b) = 0"
  27.186 @@ -6432,7 +6441,6 @@
  27.187  
  27.188  subsection \<open>Integration by substitution\<close>
  27.189  
  27.190 -
  27.191  lemma has_integral_substitution_general:
  27.192    fixes f :: "real \<Rightarrow> 'a::euclidean_space" and g :: "real \<Rightarrow> real"
  27.193    assumes s: "finite s" and le: "a \<le> b"
  27.194 @@ -6449,20 +6457,17 @@
  27.195            f integrable_continuous_real)+
  27.196    have deriv: "(((\<lambda>x. integral {c..x} f) \<circ> g) has_vector_derivative g' x *\<^sub>R f (g x))
  27.197                   (at x within {a..b})" if "x \<in> {a..b} - s" for x
  27.198 -    apply (rule has_vector_derivative_eq_rhs)
  27.199 -    apply (rule vector_diff_chain_within)
  27.200 -    apply (subst has_field_derivative_iff_has_vector_derivative [symmetric])
  27.201 -    apply (rule deriv that)+
  27.202 -    apply (rule has_vector_derivative_within_subset)
  27.203 -    apply (rule integral_has_vector_derivative f)+
  27.204 -    using that le subset
  27.205 -    apply blast+
  27.206 -    done
  27.207 +  proof (rule has_vector_derivative_eq_rhs [OF vector_diff_chain_within refl])
  27.208 +    show "(g has_vector_derivative g' x) (at x within {a..b})"
  27.209 +      using deriv has_field_derivative_iff_has_vector_derivative that by blast
  27.210 +    show "((\<lambda>x. integral {c..x} f) has_vector_derivative f (g x)) 
  27.211 +          (at (g x) within g ` {a..b})"
  27.212 +      using that le subset
  27.213 +      by (blast intro: has_vector_derivative_within_subset integral_has_vector_derivative f)
  27.214 +  qed
  27.215    have deriv: "(?F has_vector_derivative g' x *\<^sub>R f (g x))
  27.216                    (at x)" if "x \<in> {a..b} - (s \<union> {a,b})" for x
  27.217      using deriv[of x] that by (simp add: at_within_closed_interval o_def)
  27.218 -
  27.219 -
  27.220    have "((\<lambda>x. g' x *\<^sub>R f (g x)) has_integral (?F b - ?F a)) {a..b}"
  27.221      using le cont_int s deriv cont_int
  27.222      by (intro fundamental_theorem_of_calculus_interior_strong[of "s \<union> {a,b}"]) simp_all
  27.223 @@ -6794,20 +6799,21 @@
  27.224              \<le> e * content (cbox (u,w) (v,z)) / content ?CBOX"
  27.225          by (rule norm_xx [OF integral_Pair_const 1 2])
  27.226      } note * = this
  27.227 -    show "norm (integral ?CBOX f - integral (cbox a b) (\<lambda>x. integral (cbox c d) (\<lambda>y. f (x,y)))) \<le> e"
  27.228 +    have "norm (integral ?CBOX f - integral (cbox a b) (\<lambda>x. integral (cbox c d) (\<lambda>y. f (x,y)))) \<le> e" 
  27.229 +      if "\<forall>x\<in>?CBOX. \<forall>x'\<in>?CBOX. norm (x' - x) < k \<longrightarrow> norm (f x' - f x) < e /(2 * content (?CBOX))" "0 < k" for k
  27.230 +    proof -
  27.231 +      obtain p where ptag: "p tagged_division_of cbox (a, c) (b, d)" 
  27.232 +                 and fine: "(\<lambda>x. ball x k) fine p"
  27.233 +        using fine_division_exists \<open>0 < k\<close> by blast
  27.234 +      show ?thesis
  27.235 +        apply (rule op_acbd [OF division_of_tagged_division [OF ptag]])
  27.236 +        using that fine ptag \<open>0 < k\<close> by (auto simp: *)
  27.237 +    qed
  27.238 +    then show "norm (integral ?CBOX f - integral (cbox a b) (\<lambda>x. integral (cbox c d) (\<lambda>y. f (x,y)))) \<le> e"
  27.239        using compact_uniformly_continuous [OF assms compact_cbox]
  27.240        apply (simp add: uniformly_continuous_on_def dist_norm)
  27.241        apply (drule_tac x="e/2 / content?CBOX" in spec)
  27.242 -      using cbp \<open>0 < e\<close>
  27.243 -      apply (auto simp: zero_less_mult_iff)
  27.244 -      apply (rename_tac k)
  27.245 -      apply (rule_tac e1=k in fine_division_exists [OF gauge_ball, where a = "(a,c)" and b = "(b,d)"])
  27.246 -      apply assumption
  27.247 -      apply (rule op_acbd)
  27.248 -      apply (erule division_of_tagged_division)
  27.249 -      using *
  27.250 -      apply auto
  27.251 -      done
  27.252 +      using cbp \<open>0 < e\<close> by (auto simp: zero_less_mult_iff)
  27.253    qed
  27.254    then show ?thesis
  27.255      by simp
  27.256 @@ -6850,7 +6856,6 @@
  27.257    shows   "((\<lambda>x::real. exp (-a*x)) has_integral exp (-a*c)/a) {c..}"
  27.258  proof -
  27.259    define f where "f = (\<lambda>k x. if x \<in> {c..real k} then exp (-a*x) else 0)"
  27.260 -
  27.261    {
  27.262      fix k :: nat assume k: "of_nat k \<ge> c"
  27.263      from k a
    28.1 --- a/src/HOL/Analysis/Homeomorphism.thy	Sun Oct 08 11:58:01 2017 +0200
    28.2 +++ b/src/HOL/Analysis/Homeomorphism.thy	Sun Oct 08 14:48:47 2017 +0200
    28.3 @@ -827,7 +827,7 @@
    28.4    fixes a :: "'a :: euclidean_space"
    28.5    assumes "0 < r" "b \<in> sphere a r" "affine T" "a \<in> T" "b \<in> T" "affine p"
    28.6        and aff: "aff_dim T = aff_dim p + 1"
    28.7 -    shows "((sphere a r \<inter> T) - {b}) homeomorphic p"
    28.8 +    shows "(sphere a r \<inter> T) - {b} homeomorphic p"
    28.9  proof -
   28.10    have "a \<noteq> b" using assms by auto
   28.11    then have inj: "inj (\<lambda>x::'a. x /\<^sub>R norm (a - b))"
   28.12 @@ -847,62 +847,12 @@
   28.13    finally show ?thesis .
   28.14  qed
   28.15  
   28.16 -proposition homeomorphic_punctured_sphere_affine_gen:
   28.17 -  fixes a :: "'a :: euclidean_space"
   28.18 -  assumes "convex S" "bounded S" and a: "a \<in> rel_frontier S"
   28.19 -      and "affine T" and affS: "aff_dim S = aff_dim T + 1"
   28.20 -    shows "rel_frontier S - {a} homeomorphic T"
   28.21 -proof -
   28.22 -  have "S \<noteq> {}" using assms by auto
   28.23 -  obtain U :: "'a set" where "affine U" and affdS: "aff_dim U = aff_dim S"
   28.24 -    using choose_affine_subset [OF affine_UNIV aff_dim_geq]
   28.25 -    by (meson aff_dim_affine_hull affine_affine_hull)
   28.26 -  have "convex U"
   28.27 -    by (simp add: affine_imp_convex \<open>affine U\<close>)
   28.28 -  have "U \<noteq> {}"
   28.29 -    by (metis \<open>S \<noteq> {}\<close> \<open>aff_dim U = aff_dim S\<close> aff_dim_empty)
   28.30 -  then obtain z where "z \<in> U"
   28.31 -    by auto
   28.32 -  then have bne: "ball z 1 \<inter> U \<noteq> {}" by force
   28.33 -  have [simp]: "aff_dim(ball z 1 \<inter> U) = aff_dim U"
   28.34 -    using aff_dim_convex_Int_open [OF \<open>convex U\<close> open_ball] bne
   28.35 -    by (fastforce simp add: Int_commute)
   28.36 -  have "rel_frontier S homeomorphic rel_frontier (ball z 1 \<inter> U)"
   28.37 -    apply (rule homeomorphic_rel_frontiers_convex_bounded_sets)
   28.38 -    apply (auto simp: \<open>affine U\<close> affine_imp_convex convex_Int affdS assms)
   28.39 -    done
   28.40 -  also have "... = sphere z 1 \<inter> U"
   28.41 -    using convex_affine_rel_frontier_Int [of "ball z 1" U]
   28.42 -    by (simp add: \<open>affine U\<close> bne)
   28.43 -  finally obtain h k where him: "h ` rel_frontier S = sphere z 1 \<inter> U"
   28.44 -                    and kim: "k ` (sphere z 1 \<inter> U) = rel_frontier S"
   28.45 -                    and hcon: "continuous_on (rel_frontier S) h"
   28.46 -                    and kcon: "continuous_on (sphere z 1 \<inter> U) k"
   28.47 -                    and kh:  "\<And>x. x \<in> rel_frontier S \<Longrightarrow> k(h(x)) = x"
   28.48 -                    and hk:  "\<And>y. y \<in> sphere z 1 \<inter> U \<Longrightarrow> h(k(y)) = y"
   28.49 -    unfolding homeomorphic_def homeomorphism_def by auto
   28.50 -  have "rel_frontier S - {a} homeomorphic (sphere z 1 \<inter> U) - {h a}"
   28.51 -  proof (rule homeomorphicI [where f=h and g=k])
   28.52 -    show h: "h ` (rel_frontier S - {a}) = sphere z 1 \<inter> U - {h a}"
   28.53 -      using him a kh by auto metis
   28.54 -    show "k ` (sphere z 1 \<inter> U - {h a}) = rel_frontier S - {a}"
   28.55 -      by (force simp: h [symmetric] image_comp o_def kh)
   28.56 -  qed (auto intro: continuous_on_subset hcon kcon simp: kh hk)
   28.57 -  also have "... homeomorphic T"
   28.58 -    apply (rule homeomorphic_punctured_affine_sphere_affine)
   28.59 -    using a him
   28.60 -    by (auto simp: affS affdS \<open>affine T\<close>  \<open>affine U\<close> \<open>z \<in> U\<close>)
   28.61 -  finally show ?thesis .
   28.62 -qed
   28.63 -
   28.64 -
   28.65 -lemma homeomorphic_punctured_sphere_affine:
   28.66 +corollary homeomorphic_punctured_sphere_affine:
   28.67    fixes a :: "'a :: euclidean_space"
   28.68    assumes "0 < r" and b: "b \<in> sphere a r"
   28.69        and "affine T" and affS: "aff_dim T + 1 = DIM('a)"
   28.70      shows "(sphere a r - {b}) homeomorphic T"
   28.71 -using homeomorphic_punctured_sphere_affine_gen [of "cball a r" b T]
   28.72 -  assms aff_dim_cball by force
   28.73 +  using homeomorphic_punctured_affine_sphere_affine [of r b a UNIV T] assms by auto
   28.74  
   28.75  corollary homeomorphic_punctured_sphere_hyperplane:
   28.76    fixes a :: "'a :: euclidean_space"
   28.77 @@ -914,6 +864,51 @@
   28.78  apply (auto simp: affine_hyperplane of_nat_diff)
   28.79  done
   28.80  
   28.81 +proposition homeomorphic_punctured_sphere_affine_gen:
   28.82 +  fixes a :: "'a :: euclidean_space"
   28.83 +  assumes "convex S" "bounded S" and a: "a \<in> rel_frontier S"
   28.84 +      and "affine T" and affS: "aff_dim S = aff_dim T + 1"
   28.85 +    shows "rel_frontier S - {a} homeomorphic T"
   28.86 +proof -
   28.87 +  obtain U :: "'a set" where "affine U" "convex U" and affdS: "aff_dim U = aff_dim S"
   28.88 +    using choose_affine_subset [OF affine_UNIV aff_dim_geq]
   28.89 +    by (meson aff_dim_affine_hull affine_affine_hull affine_imp_convex)
   28.90 +  have "S \<noteq> {}" using assms by auto
   28.91 +  then obtain z where "z \<in> U"
   28.92 +    by (metis aff_dim_negative_iff equals0I affdS)
   28.93 +  then have bne: "ball z 1 \<inter> U \<noteq> {}" by force
   28.94 +  then have [simp]: "aff_dim(ball z 1 \<inter> U) = aff_dim U"
   28.95 +    using aff_dim_convex_Int_open [OF \<open>convex U\<close> open_ball]
   28.96 +    by (fastforce simp add: Int_commute)
   28.97 +  have "rel_frontier S homeomorphic rel_frontier (ball z 1 \<inter> U)"
   28.98 +    apply (rule homeomorphic_rel_frontiers_convex_bounded_sets)
   28.99 +    apply (auto simp: \<open>affine U\<close> affine_imp_convex convex_Int affdS assms)
  28.100 +    done
  28.101 +  also have "... = sphere z 1 \<inter> U"
  28.102 +    using convex_affine_rel_frontier_Int [of "ball z 1" U]
  28.103 +    by (simp add: \<open>affine U\<close> bne)
  28.104 +  finally have "rel_frontier S homeomorphic sphere z 1 \<inter> U" . 
  28.105 +  then obtain h k where him: "h ` rel_frontier S = sphere z 1 \<inter> U"
  28.106 +                    and kim: "k ` (sphere z 1 \<inter> U) = rel_frontier S"
  28.107 +                    and hcon: "continuous_on (rel_frontier S) h"
  28.108 +                    and kcon: "continuous_on (sphere z 1 \<inter> U) k"
  28.109 +                    and kh:  "\<And>x. x \<in> rel_frontier S \<Longrightarrow> k(h(x)) = x"
  28.110 +                    and hk:  "\<And>y. y \<in> sphere z 1 \<inter> U \<Longrightarrow> h(k(y)) = y"
  28.111 +    unfolding homeomorphic_def homeomorphism_def by auto
  28.112 +  have "rel_frontier S - {a} homeomorphic (sphere z 1 \<inter> U) - {h a}"
  28.113 +  proof (rule homeomorphicI)
  28.114 +    show h: "h ` (rel_frontier S - {a}) = sphere z 1 \<inter> U - {h a}"
  28.115 +      using him a kh by auto metis
  28.116 +    show "k ` (sphere z 1 \<inter> U - {h a}) = rel_frontier S - {a}"
  28.117 +      by (force simp: h [symmetric] image_comp o_def kh)
  28.118 +  qed (auto intro: continuous_on_subset hcon kcon simp: kh hk)
  28.119 +  also have "... homeomorphic T"
  28.120 +    apply (rule homeomorphic_punctured_affine_sphere_affine)
  28.121 +    using a him
  28.122 +    by (auto simp: affS affdS \<open>affine T\<close> \<open>affine U\<close> \<open>z \<in> U\<close>)
  28.123 +  finally show ?thesis .
  28.124 +qed
  28.125 +
  28.126  
  28.127  text\<open> When dealing with AR, ANR and ANR later, it's useful to know that every set
  28.128    is homeomorphic to a closed subset of a convex set, and
    29.1 --- a/src/HOL/Analysis/Polytope.thy	Sun Oct 08 11:58:01 2017 +0200
    29.2 +++ b/src/HOL/Analysis/Polytope.thy	Sun Oct 08 14:48:47 2017 +0200
    29.3 @@ -806,6 +806,75 @@
    29.4    qed
    29.5  qed
    29.6  
    29.7 +lemma exposed_face_of_parallel:
    29.8 +   "T exposed_face_of S \<longleftrightarrow>
    29.9 +         T face_of S \<and>
   29.10 +         (\<exists>a b. S \<subseteq> {x. a \<bullet> x \<le> b} \<and> T = S \<inter> {x. a \<bullet> x = b} \<and>
   29.11 +                (T \<noteq> {} \<longrightarrow> T \<noteq> S \<longrightarrow> a \<noteq> 0) \<and>
   29.12 +                (T \<noteq> S \<longrightarrow> (\<forall>w \<in> affine hull S. (w + a) \<in> affine hull S)))"
   29.13 +  (is "?lhs = ?rhs")
   29.14 +proof
   29.15 +  assume ?lhs then show ?rhs
   29.16 +  proof (clarsimp simp: exposed_face_of_def)
   29.17 +    fix a b
   29.18 +    assume faceS: "S \<inter> {x. a \<bullet> x = b} face_of S" and Ssub: "S \<subseteq> {x. a \<bullet> x \<le> b}" 
   29.19 +    show "\<exists>c d. S \<subseteq> {x. c \<bullet> x \<le> d} \<and>
   29.20 +                S \<inter> {x. a \<bullet> x = b} = S \<inter> {x. c \<bullet> x = d} \<and>
   29.21 +                (S \<inter> {x. a \<bullet> x = b} \<noteq> {} \<longrightarrow> S \<inter> {x. a \<bullet> x = b} \<noteq> S \<longrightarrow> c \<noteq> 0) \<and>
   29.22 +                (S \<inter> {x. a \<bullet> x = b} \<noteq> S \<longrightarrow> (\<forall>w \<in> affine hull S. w + c \<in> affine hull S))"
   29.23 +    proof (cases "affine hull S \<inter> {x. -a \<bullet> x \<le> -b} = {} \<or> affine hull S \<subseteq> {x. - a \<bullet> x \<le> - b}")
   29.24 +      case True
   29.25 +      then show ?thesis
   29.26 +      proof
   29.27 +        assume "affine hull S \<inter> {x. - a \<bullet> x \<le> - b} = {}"
   29.28 +       then show ?thesis
   29.29 +         apply (rule_tac x="0" in exI)
   29.30 +         apply (rule_tac x="1" in exI)
   29.31 +         using hull_subset by fastforce
   29.32 +    next
   29.33 +      assume "affine hull S \<subseteq> {x. - a \<bullet> x \<le> - b}"
   29.34 +      then show ?thesis
   29.35 +         apply (rule_tac x="0" in exI)
   29.36 +         apply (rule_tac x="0" in exI)
   29.37 +        using Ssub hull_subset by fastforce
   29.38 +    qed
   29.39 +  next
   29.40 +    case False
   29.41 +    then obtain a' b' where "a' \<noteq> 0" 
   29.42 +      and le: "affine hull S \<inter> {x. a' \<bullet> x \<le> b'} = affine hull S \<inter> {x. - a \<bullet> x \<le> - b}" 
   29.43 +      and eq: "affine hull S \<inter> {x. a' \<bullet> x = b'} = affine hull S \<inter> {x. - a \<bullet> x = - b}" 
   29.44 +      and mem: "\<And>w. w \<in> affine hull S \<Longrightarrow> w + a' \<in> affine hull S"
   29.45 +      using affine_parallel_slice affine_affine_hull by metis 
   29.46 +    show ?thesis
   29.47 +    proof (intro conjI impI allI ballI exI)
   29.48 +      have *: "S \<subseteq> - (affine hull S \<inter> {x. P x}) \<union> affine hull S \<inter> {x. Q x} \<Longrightarrow> S \<subseteq> {x. ~P x \<or> Q x}" 
   29.49 +        for P Q 
   29.50 +        using hull_subset by fastforce  
   29.51 +      have "S \<subseteq> {x. ~ (a' \<bullet> x \<le> b') \<or> a' \<bullet> x = b'}"
   29.52 +        apply (rule *)
   29.53 +        apply (simp only: le eq)
   29.54 +        using Ssub by auto
   29.55 +      then show "S \<subseteq> {x. - a' \<bullet> x \<le> - b'}"
   29.56 +        by auto 
   29.57 +      show "S \<inter> {x. a \<bullet> x = b} = S \<inter> {x. - a' \<bullet> x = - b'}"
   29.58 +        using eq hull_subset [of S affine] by force
   29.59 +      show "\<lbrakk>S \<inter> {x. a \<bullet> x = b} \<noteq> {}; S \<inter> {x. a \<bullet> x = b} \<noteq> S\<rbrakk> \<Longrightarrow> - a' \<noteq> 0"
   29.60 +        using \<open>a' \<noteq> 0\<close> by auto
   29.61 +      show "w + - a' \<in> affine hull S"
   29.62 +        if "S \<inter> {x. a \<bullet> x = b} \<noteq> S" "w \<in> affine hull S" for w
   29.63 +      proof -
   29.64 +        have "w + 1 *\<^sub>R (w - (w + a')) \<in> affine hull S"
   29.65 +          using affine_affine_hull mem mem_affine_3_minus that(2) by blast
   29.66 +        then show ?thesis  by simp
   29.67 +      qed
   29.68 +    qed
   29.69 +  qed
   29.70 +qed
   29.71 +next
   29.72 +  assume ?rhs then show ?lhs
   29.73 +    unfolding exposed_face_of_def by blast
   29.74 +qed
   29.75 +
   29.76  subsection\<open>Extreme points of a set: its singleton faces\<close>
   29.77  
   29.78  definition extreme_point_of :: "['a::real_vector, 'a set] \<Rightarrow> bool"
    30.1 --- a/src/HOL/Analysis/Starlike.thy	Sun Oct 08 11:58:01 2017 +0200
    30.2 +++ b/src/HOL/Analysis/Starlike.thy	Sun Oct 08 14:48:47 2017 +0200
    30.3 @@ -3794,6 +3794,16 @@
    30.4      shows "a < x \<Longrightarrow> x < b \<Longrightarrow> (at x within {a..b}) = at x"
    30.5    by (metis at_within_interior greaterThanLessThan_iff interior_atLeastAtMost)
    30.6  
    30.7 +lemma at_within_cbox_finite:
    30.8 +  assumes "x \<in> box a b" "x \<notin> S" "finite S"
    30.9 +  shows "(at x within cbox a b - S) = at x"
   30.10 +proof -
   30.11 +  have "interior (cbox a b - S) = box a b - S"
   30.12 +    using \<open>finite S\<close> by (simp add: interior_diff finite_imp_closed)
   30.13 +  then show ?thesis
   30.14 +    using at_within_interior assms by fastforce
   30.15 +qed
   30.16 +
   30.17  lemma affine_independent_convex_affine_hull:
   30.18    fixes s :: "'a::euclidean_space set"
   30.19    assumes "~affine_dependent s" "t \<subseteq> s"
    31.1 --- a/src/HOL/Analysis/Tagged_Division.thy	Sun Oct 08 11:58:01 2017 +0200
    31.2 +++ b/src/HOL/Analysis/Tagged_Division.thy	Sun Oct 08 14:48:47 2017 +0200
    31.3 @@ -1919,89 +1919,71 @@
    31.4  
    31.5  lemma interval_bisection_step:
    31.6    fixes type :: "'a::euclidean_space"
    31.7 -  assumes "P {}"
    31.8 -    and "\<forall>s t. P s \<and> P t \<and> interior(s) \<inter> interior(t) = {} \<longrightarrow> P (s \<union> t)"
    31.9 -    and "\<not> P (cbox a (b::'a))"
   31.10 +  assumes emp: "P {}"
   31.11 +    and Un: "\<And>S T. \<lbrakk>P S; P T; interior(S) \<inter> interior(T) = {}\<rbrakk> \<Longrightarrow> P (S \<union> T)"
   31.12 +    and non: "\<not> P (cbox a (b::'a))"
   31.13    obtains c d where "\<not> P (cbox c d)"
   31.14 -    and "\<forall>i\<in>Basis. a\<bullet>i \<le> c\<bullet>i \<and> c\<bullet>i \<le> d\<bullet>i \<and> d\<bullet>i \<le> b\<bullet>i \<and> 2 * (d\<bullet>i - c\<bullet>i) \<le> b\<bullet>i - a\<bullet>i"
   31.15 +    and "\<And>i. i \<in> Basis \<Longrightarrow> a\<bullet>i \<le> c\<bullet>i \<and> c\<bullet>i \<le> d\<bullet>i \<and> d\<bullet>i \<le> b\<bullet>i \<and> 2 * (d\<bullet>i - c\<bullet>i) \<le> b\<bullet>i - a\<bullet>i"
   31.16  proof -
   31.17    have "cbox a b \<noteq> {}"
   31.18 -    using assms(1,3) by metis
   31.19 +    using emp non by metis
   31.20    then have ab: "\<And>i. i\<in>Basis \<Longrightarrow> a \<bullet> i \<le> b \<bullet> i"
   31.21      by (force simp: mem_box)
   31.22 -  have UN_cases: "\<lbrakk>finite f;
   31.23 -           \<And>s. s\<in>f \<Longrightarrow> P s;
   31.24 -           \<And>s. s\<in>f \<Longrightarrow> \<exists>a b. s = cbox a b;
   31.25 -           \<And>s t. s\<in>f \<Longrightarrow> t\<in>f \<Longrightarrow> s \<noteq> t \<Longrightarrow> interior s \<inter> interior t = {}\<rbrakk> \<Longrightarrow> P (\<Union>f)" for f
   31.26 -  proof (induct f rule: finite_induct)
   31.27 -    case empty
   31.28 -    show ?case
   31.29 -      using assms(1) by auto
   31.30 +  have UN_cases: "\<lbrakk>finite \<F>;
   31.31 +           \<And>S. S\<in>\<F> \<Longrightarrow> P S;
   31.32 +           \<And>S. S\<in>\<F> \<Longrightarrow> \<exists>a b. S = cbox a b;
   31.33 +           \<And>S T. S\<in>\<F> \<Longrightarrow> T\<in>\<F> \<Longrightarrow> S \<noteq> T \<Longrightarrow> interior S \<inter> interior T = {}\<rbrakk> \<Longrightarrow> P (\<Union>\<F>)" for \<F>
   31.34 +  proof (induct \<F> rule: finite_induct)
   31.35 +    case empty show ?case
   31.36 +      using emp by auto
   31.37    next
   31.38      case (insert x f)
   31.39 -    show ?case
   31.40 -      unfolding Union_insert
   31.41 -      apply (rule assms(2)[rule_format])
   31.42 -      using Int_interior_Union_intervals [of f "interior x"]
   31.43 -      by (metis (no_types, lifting) insert insert_iff open_interior)
   31.44 +    then show ?case
   31.45 +      unfolding Union_insert by (metis Int_interior_Union_intervals Un insert_iff open_interior)
   31.46    qed
   31.47 -  let ?A = "{cbox c d | c d::'a. \<forall>i\<in>Basis. (c\<bullet>i = a\<bullet>i) \<and> (d\<bullet>i = (a\<bullet>i + b\<bullet>i) / 2) \<or>
   31.48 -    (c\<bullet>i = (a\<bullet>i + b\<bullet>i) / 2) \<and> (d\<bullet>i = b\<bullet>i)}"
   31.49 -  let ?PP = "\<lambda>c d. \<forall>i\<in>Basis. a\<bullet>i \<le> c\<bullet>i \<and> c\<bullet>i \<le> d\<bullet>i \<and> d\<bullet>i \<le> b\<bullet>i \<and> 2 * (d\<bullet>i - c\<bullet>i) \<le> b\<bullet>i - a\<bullet>i"
   31.50 -  {
   31.51 -    presume "\<forall>c d. ?PP c d \<longrightarrow> P (cbox c d) \<Longrightarrow> False"
   31.52 -    then show thesis
   31.53 -      unfolding atomize_not not_all
   31.54 -      by (blast intro: that)
   31.55 -  }
   31.56 -  assume as: "\<forall>c d. ?PP c d \<longrightarrow> P (cbox c d)"
   31.57 -  have "P (\<Union>?A)"
   31.58 +  let ?ab = "\<lambda>i. (a\<bullet>i + b\<bullet>i) / 2"
   31.59 +  let ?A = "{cbox c d | c d::'a. \<forall>i\<in>Basis. (c\<bullet>i = a\<bullet>i) \<and> (d\<bullet>i = ?ab i) \<or>
   31.60 +    (c\<bullet>i = ?ab i) \<and> (d\<bullet>i = b\<bullet>i)}"
   31.61 +  have "P (\<Union>?A)" 
   31.62 +    if "\<And>c d.  \<forall>i\<in>Basis. a\<bullet>i \<le> c\<bullet>i \<and> c\<bullet>i \<le> d\<bullet>i \<and> d\<bullet>i \<le> b\<bullet>i \<and> 2 * (d\<bullet>i - c\<bullet>i) \<le> b\<bullet>i - a\<bullet>i \<Longrightarrow> P (cbox c d)"
   31.63    proof (rule UN_cases)
   31.64 -    let ?B = "(\<lambda>s. cbox (\<Sum>i\<in>Basis. (if i \<in> s then a\<bullet>i else (a\<bullet>i + b\<bullet>i) / 2) *\<^sub>R i::'a)
   31.65 -      (\<Sum>i\<in>Basis. (if i \<in> s then (a\<bullet>i + b\<bullet>i) / 2 else b\<bullet>i) *\<^sub>R i)) ` {s. s \<subseteq> Basis}"
   31.66 +    let ?B = "(\<lambda>S. cbox (\<Sum>i\<in>Basis. (if i \<in> S then a\<bullet>i else ?ab i) *\<^sub>R i::'a)
   31.67 +                        (\<Sum>i\<in>Basis. (if i \<in> S then ?ab i else b\<bullet>i) *\<^sub>R i)) ` {s. s \<subseteq> Basis}"
   31.68      have "?A \<subseteq> ?B"
   31.69      proof
   31.70        fix x
   31.71        assume "x \<in> ?A"
   31.72        then obtain c d
   31.73          where x:  "x = cbox c d"
   31.74 -                  "\<And>i. i \<in> Basis \<Longrightarrow>
   31.75 -                        c \<bullet> i = a \<bullet> i \<and> d \<bullet> i = (a \<bullet> i + b \<bullet> i) / 2 \<or>
   31.76 -                        c \<bullet> i = (a \<bullet> i + b \<bullet> i) / 2 \<and> d \<bullet> i = b \<bullet> i" by blast
   31.77 -      show "x \<in> ?B"
   31.78 -        unfolding image_iff x
   31.79 -        apply (rule_tac x="{i. i\<in>Basis \<and> c\<bullet>i = a\<bullet>i}" in bexI)
   31.80 -        apply (rule arg_cong2 [where f = cbox])
   31.81 -        using x(2) ab
   31.82 -        apply (auto simp add: euclidean_eq_iff[where 'a='a])
   31.83 -        by fastforce
   31.84 +          "\<And>i. i \<in> Basis \<Longrightarrow>
   31.85 +                        c \<bullet> i = a \<bullet> i \<and> d \<bullet> i = ?ab i \<or> c \<bullet> i = ?ab i \<and> d \<bullet> i = b \<bullet> i" 
   31.86 +        by blast
   31.87 +      have "c = (\<Sum>i\<in>Basis. (if c \<bullet> i = a \<bullet> i then a \<bullet> i else ?ab i) *\<^sub>R i)"
   31.88 +           "d = (\<Sum>i\<in>Basis. (if c \<bullet> i = a \<bullet> i then ?ab i else b \<bullet> i) *\<^sub>R i)"
   31.89 +        using x(2) ab by (fastforce simp add: euclidean_eq_iff[where 'a='a])+
   31.90 +      then show "x \<in> ?B"
   31.91 +        unfolding x by (rule_tac x="{i. i\<in>Basis \<and> c\<bullet>i = a\<bullet>i}" in image_eqI) auto
   31.92      qed
   31.93      then show "finite ?A"
   31.94        by (rule finite_subset) auto
   31.95    next
   31.96 -    fix s
   31.97 -    assume "s \<in> ?A"
   31.98 +    fix S
   31.99 +    assume "S \<in> ?A"
  31.100      then obtain c d
  31.101 -      where s: "s = cbox c d"
  31.102 -               "\<And>i. i \<in> Basis \<Longrightarrow>
  31.103 -                     c \<bullet> i = a \<bullet> i \<and> d \<bullet> i = (a \<bullet> i + b \<bullet> i) / 2 \<or>
  31.104 -                     c \<bullet> i = (a \<bullet> i + b \<bullet> i) / 2 \<and> d \<bullet> i = b \<bullet> i"
  31.105 +      where s: "S = cbox c d"
  31.106 +               "\<And>i. i \<in> Basis \<Longrightarrow> c \<bullet> i = a \<bullet> i \<and> d \<bullet> i = ?ab i \<or> c \<bullet> i = ?ab i \<and> d \<bullet> i = b \<bullet> i"
  31.107        by blast
  31.108 -    show "P s"
  31.109 -      unfolding s
  31.110 -      apply (rule as[rule_format])
  31.111 -      using ab s(2) by force
  31.112 -    show "\<exists>a b. s = cbox a b"
  31.113 +    show "P S"
  31.114 +      unfolding s using ab s(2) by (fastforce intro!: that)
  31.115 +    show "\<exists>a b. S = cbox a b"
  31.116        unfolding s by auto
  31.117 -    fix t
  31.118 -    assume "t \<in> ?A"
  31.119 +    fix T
  31.120 +    assume "T \<in> ?A"
  31.121      then obtain e f where t:
  31.122 -      "t = cbox e f"
  31.123 -      "\<And>i. i \<in> Basis \<Longrightarrow>
  31.124 -        e \<bullet> i = a \<bullet> i \<and> f \<bullet> i = (a \<bullet> i + b \<bullet> i) / 2 \<or>
  31.125 -        e \<bullet> i = (a \<bullet> i + b \<bullet> i) / 2 \<and> f \<bullet> i = b \<bullet> i"
  31.126 +      "T = cbox e f"
  31.127 +      "\<And>i. i \<in> Basis \<Longrightarrow> e \<bullet> i = a \<bullet> i \<and> f \<bullet> i = ?ab i \<or> e \<bullet> i = ?ab i \<and> f \<bullet> i = b \<bullet> i"
  31.128        by blast
  31.129 -    assume "s \<noteq> t"
  31.130 +    assume "S \<noteq> T"
  31.131      then have "\<not> (c = e \<and> d = f)"
  31.132        unfolding s t by auto
  31.133      then obtain i where "c\<bullet>i \<noteq> e\<bullet>i \<or> d\<bullet>i \<noteq> f\<bullet>i" and i': "i \<in> Basis"
  31.134 @@ -2011,24 +1993,15 @@
  31.135        using t(2)[OF i'] \<open>c \<bullet> i \<noteq> e \<bullet> i \<or> d \<bullet> i \<noteq> f \<bullet> i\<close> i' s(2) t(2) by fastforce
  31.136      have *: "\<And>s t. (\<And>a. a \<in> s \<Longrightarrow> a \<in> t \<Longrightarrow> False) \<Longrightarrow> s \<inter> t = {}"
  31.137        by auto
  31.138 -    show "interior s \<inter> interior t = {}"
  31.139 +    show "interior S \<inter> interior T = {}"
  31.140        unfolding s t interior_cbox
  31.141      proof (rule *)
  31.142        fix x
  31.143        assume "x \<in> box c d" "x \<in> box e f"
  31.144        then have x: "c\<bullet>i < d\<bullet>i" "e\<bullet>i < f\<bullet>i" "c\<bullet>i < f\<bullet>i" "e\<bullet>i < d\<bullet>i"
  31.145 -        unfolding mem_box using i'
  31.146 -        by force+
  31.147 -      show False  using s(2)[OF i']
  31.148 -      proof safe
  31.149 -        assume as: "c \<bullet> i = a \<bullet> i" "d \<bullet> i = (a \<bullet> i + b \<bullet> i) / 2"
  31.150 -        show False
  31.151 -          using t(2)[OF i'] and i x unfolding as by (fastforce simp add:field_simps)
  31.152 -      next
  31.153 -        assume as: "c \<bullet> i = (a \<bullet> i + b \<bullet> i) / 2" "d \<bullet> i = b \<bullet> i"
  31.154 -        show False
  31.155 -          using t(2)[OF i'] and i x unfolding as by(fastforce simp add:field_simps)
  31.156 -      qed
  31.157 +        unfolding mem_box using i'  by force+
  31.158 +      show False  using s(2)[OF i'] t(2)[OF i'] and i x  
  31.159 +        by auto
  31.160      qed
  31.161    qed
  31.162    also have "\<Union>?A = cbox a b"
  31.163 @@ -2037,48 +2010,30 @@
  31.164      assume "x \<in> \<Union>?A"
  31.165      then obtain c d where x:
  31.166        "x \<in> cbox c d"
  31.167 -      "\<And>i. i \<in> Basis \<Longrightarrow>
  31.168 -        c \<bullet> i = a \<bullet> i \<and> d \<bullet> i = (a \<bullet> i + b \<bullet> i) / 2 \<or>
  31.169 -        c \<bullet> i = (a \<bullet> i + b \<bullet> i) / 2 \<and> d \<bullet> i = b \<bullet> i"
  31.170 +      "\<And>i. i \<in> Basis \<Longrightarrow> c \<bullet> i = a \<bullet> i \<and> d \<bullet> i = ?ab i \<or> c \<bullet> i = ?ab i \<and> d \<bullet> i = b \<bullet> i"
  31.171        by blast
  31.172 -    show "x\<in>cbox a b"
  31.173 -      unfolding mem_box
  31.174 -    proof safe
  31.175 -      fix i :: 'a
  31.176 -      assume i: "i \<in> Basis"
  31.177 -      then show "a \<bullet> i \<le> x \<bullet> i" "x \<bullet> i \<le> b \<bullet> i"
  31.178 -        using x(2)[OF i] x(1)[unfolded mem_box,THEN bspec, OF i] by auto
  31.179 -    qed
  31.180 +    then show "x\<in>cbox a b"
  31.181 +      unfolding mem_box by force
  31.182    next
  31.183      fix x
  31.184      assume x: "x \<in> cbox a b"
  31.185 -    have "\<forall>i\<in>Basis.
  31.186 -      \<exists>c d. (c = a\<bullet>i \<and> d = (a\<bullet>i + b\<bullet>i) / 2 \<or> c = (a\<bullet>i + b\<bullet>i) / 2 \<and> d = b\<bullet>i) \<and> c\<le>x\<bullet>i \<and> x\<bullet>i \<le> d"
  31.187 +    then have "\<forall>i\<in>Basis. \<exists>c d. (c = a\<bullet>i \<and> d = ?ab i \<or> c = ?ab i \<and> d = b\<bullet>i) \<and> c\<le>x\<bullet>i \<and> x\<bullet>i \<le> d"
  31.188        (is "\<forall>i\<in>Basis. \<exists>c d. ?P i c d")
  31.189 -      unfolding mem_box
  31.190 -    proof
  31.191 -      fix i :: 'a
  31.192 -      assume i: "i \<in> Basis"
  31.193 -      have "?P i (a\<bullet>i) ((a \<bullet> i + b \<bullet> i) / 2) \<or> ?P i ((a \<bullet> i + b \<bullet> i) / 2) (b\<bullet>i)"
  31.194 -        using x[unfolded mem_box,THEN bspec, OF i] by auto
  31.195 -      then show "\<exists>c d. ?P i c d"
  31.196 -        by blast
  31.197 -    qed
  31.198 -    then obtain \<alpha> \<beta> where
  31.199 -     "\<forall>i\<in>Basis. (\<alpha> \<bullet> i = a \<bullet> i \<and> \<beta> \<bullet> i = (a \<bullet> i + b \<bullet> i) / 2 \<or>
  31.200 -         \<alpha> \<bullet> i = (a \<bullet> i + b \<bullet> i) / 2 \<and> \<beta> \<bullet> i = b \<bullet> i) \<and> \<alpha> \<bullet> i \<le> x \<bullet> i \<and> x \<bullet> i \<le> \<beta> \<bullet> i"
  31.201 +      unfolding mem_box by (metis linear)
  31.202 +    then obtain \<alpha> \<beta> where "\<forall>i\<in>Basis. (\<alpha> \<bullet> i = a \<bullet> i \<and> \<beta> \<bullet> i = ?ab i \<or>
  31.203 +         \<alpha> \<bullet> i = ?ab i \<and> \<beta> \<bullet> i = b \<bullet> i) \<and> \<alpha> \<bullet> i \<le> x \<bullet> i \<and> x \<bullet> i \<le> \<beta> \<bullet> i"
  31.204        by (auto simp: choice_Basis_iff)
  31.205      then show "x\<in>\<Union>?A"
  31.206        by (force simp add: mem_box)
  31.207    qed
  31.208 -  finally show False
  31.209 -    using assms by auto
  31.210 +  finally show thesis
  31.211 +      by (metis (no_types, lifting) assms(3) that)
  31.212  qed
  31.213  
  31.214  lemma interval_bisection:
  31.215    fixes type :: "'a::euclidean_space"
  31.216    assumes "P {}"
  31.217 -    and "(\<forall>s t. P s \<and> P t \<and> interior(s) \<inter> interior(t) = {} \<longrightarrow> P(s \<union> t))"
  31.218 +    and Un: "\<And>S T. \<lbrakk>P S; P T; interior(S) \<inter> interior(T) = {}\<rbrakk> \<Longrightarrow> P (S \<union> T)"
  31.219      and "\<not> P (cbox a (b::'a))"
  31.220    obtains x where "x \<in> cbox a b"
  31.221      and "\<forall>e>0. \<exists>c d. x \<in> cbox c d \<and> cbox c d \<subseteq> ball x e \<and> cbox c d \<subseteq> cbox a b \<and> \<not> P (cbox c d)"
  31.222 @@ -2092,14 +2047,14 @@
  31.223        case True
  31.224        then show ?thesis by auto
  31.225      next
  31.226 -      case as: False
  31.227 +      case False
  31.228        obtain c d where "\<not> P (cbox c d)"
  31.229 -        "\<forall>i\<in>Basis.
  31.230 +        "\<And>i. i \<in> Basis \<Longrightarrow>
  31.231             fst x \<bullet> i \<le> c \<bullet> i \<and>
  31.232             c \<bullet> i \<le> d \<bullet> i \<and>
  31.233             d \<bullet> i \<le> snd x \<bullet> i \<and>
  31.234             2 * (d \<bullet> i - c \<bullet> i) \<le> snd x \<bullet> i - fst x \<bullet> i"
  31.235 -        by (rule interval_bisection_step[of P, OF assms(1-2) as])
  31.236 +        by (blast intro: interval_bisection_step[of P, OF assms(1-2) False])
  31.237        then show ?thesis
  31.238          by (rule_tac x="(c,d)" in exI) auto
  31.239      qed
  31.240 @@ -2281,33 +2236,17 @@
  31.241  
  31.242  lemma tagged_division_finer:
  31.243    fixes p :: "('a::euclidean_space \<times> ('a::euclidean_space set)) set"
  31.244 -  assumes "p tagged_division_of (cbox a b)"
  31.245 +  assumes ptag: "p tagged_division_of (cbox a b)"
  31.246      and "gauge d"
  31.247    obtains q where "q tagged_division_of (cbox a b)"
  31.248      and "d fine q"
  31.249      and "\<forall>(x,k) \<in> p. k \<subseteq> d(x) \<longrightarrow> (x,k) \<in> q"
  31.250  proof -
  31.251 -  let ?P = "\<lambda>p. p tagged_partial_division_of (cbox a b) \<longrightarrow> gauge d \<longrightarrow>
  31.252 -    (\<exists>q. q tagged_division_of (\<Union>{k. \<exists>x. (x,k) \<in> p}) \<and> d fine q \<and>
  31.253 -      (\<forall>(x,k) \<in> p. k \<subseteq> d(x) \<longrightarrow> (x,k) \<in> q))"
  31.254 -  {
  31.255 -    have *: "finite p" "p tagged_partial_division_of (cbox a b)"
  31.256 -      using assms(1)
  31.257 -      unfolding tagged_division_of_def
  31.258 -      by auto
  31.259 -    presume "\<And>p. finite p \<Longrightarrow> ?P p"
  31.260 -    from this[rule_format,OF * assms(2)] 
  31.261 -    obtain q where q: "q tagged_division_of \<Union>{k. \<exists>x. (x, k) \<in> p}" "d fine q" "(\<forall>(x, k)\<in>p. k \<subseteq> d x \<longrightarrow> (x, k) \<in> q)"
  31.262 -      by auto
  31.263 -    with that[of q] show ?thesis
  31.264 -      using assms(1) by auto
  31.265 -  }
  31.266 -  fix p :: "('a::euclidean_space \<times> ('a::euclidean_space set)) set"
  31.267 -  assume as: "finite p"
  31.268 -  show "?P p"
  31.269 -    apply rule
  31.270 -    apply rule
  31.271 -    using as
  31.272 +  have p: "finite p" "p tagged_partial_division_of (cbox a b)"
  31.273 +    using ptag unfolding tagged_division_of_def by auto
  31.274 +  have "(\<exists>q. q tagged_division_of (\<Union>{k. \<exists>x. (x,k) \<in> p}) \<and> d fine q \<and> (\<forall>(x,k) \<in> p. k \<subseteq> d(x) \<longrightarrow> (x,k) \<in> q))" 
  31.275 +    if "finite p" "p tagged_partial_division_of (cbox a b)" "gauge d" for p
  31.276 +    using that
  31.277    proof (induct p)
  31.278      case empty
  31.279      show ?case
  31.280 @@ -2325,7 +2264,7 @@
  31.281        unfolding xk by auto
  31.282      note p = tagged_partial_division_ofD[OF insert(4)]
  31.283      obtain u v where uv: "k = cbox u v"
  31.284 -      using p(4)[unfolded xk, OF insertI1] by blast
  31.285 +      using p(4) xk by blast
  31.286      have "finite {k. \<exists>x. (x, k) \<in> p}"
  31.287        apply (rule finite_subset[of _ "snd ` p"])
  31.288        using image_iff apply fastforce
  31.289 @@ -2363,6 +2302,9 @@
  31.290          done
  31.291      qed
  31.292    qed
  31.293 +  with p obtain q where q: "q tagged_division_of \<Union>{k. \<exists>x. (x, k) \<in> p}" "d fine q" "\<forall>(x, k)\<in>p. k \<subseteq> d x \<longrightarrow> (x, k) \<in> q"
  31.294 +    by (meson \<open>gauge d\<close>)
  31.295 +  with ptag that show ?thesis by auto
  31.296  qed
  31.297  
  31.298  subsubsection \<open>Covering lemma\<close>
    32.1 --- a/src/HOL/Library/Stirling.thy	Sun Oct 08 11:58:01 2017 +0200
    32.2 +++ b/src/HOL/Library/Stirling.thy	Sun Oct 08 14:48:47 2017 +0200
    32.3 @@ -246,7 +246,7 @@
    32.4  \<close>
    32.5  
    32.6  definition zip_with_prev :: "('a \<Rightarrow> 'a \<Rightarrow> 'b) \<Rightarrow> 'a \<Rightarrow> 'a list \<Rightarrow> 'b list"
    32.7 -  where "zip_with_prev f x xs = map (\<lambda>(x,y). f x y) (zip (x # xs) xs)"
    32.8 +  where "zip_with_prev f x xs = map2 f (x # xs) xs"
    32.9  
   32.10  lemma zip_with_prev_altdef:
   32.11    "zip_with_prev f x xs =
    33.1 --- a/src/HOL/Library/Tree.thy	Sun Oct 08 11:58:01 2017 +0200
    33.2 +++ b/src/HOL/Library/Tree.thy	Sun Oct 08 14:48:47 2017 +0200
    33.3 @@ -475,6 +475,12 @@
    33.4  lemma height_mirror[simp]: "height(mirror t) = height t"
    33.5  by (induction t) simp_all
    33.6  
    33.7 +lemma min_height_mirror [simp]: "min_height (mirror t) = min_height t"
    33.8 +by (induction t) simp_all  
    33.9 +
   33.10 +lemma ipl_mirror [simp]: "ipl (mirror t) = ipl t"
   33.11 +by (induction t) simp_all
   33.12 +
   33.13  lemma inorder_mirror: "inorder(mirror t) = rev(inorder t)"
   33.14  by (induction t) simp_all
   33.15  
    34.1 --- a/src/HOL/Library/code_test.ML	Sun Oct 08 11:58:01 2017 +0200
    34.2 +++ b/src/HOL/Library/code_test.ML	Sun Oct 08 14:48:47 2017 +0200
    34.3 @@ -425,8 +425,8 @@
    34.4        "end;"
    34.5      val ml_source =
    34.6        "Control.MC.matchRedundantError := false; Control.MC.matchRedundantWarn := false;" ^
    34.7 -      "use " ^ ML_Syntax.print_string (Path.implode (Path.expand code_path)) ^
    34.8 -      "; use " ^ ML_Syntax.print_string (Path.implode (Path.expand driver_path)) ^
    34.9 +      "use " ^ ML_Syntax.print_string (Bash.string (File.platform_path code_path)) ^
   34.10 +      "; use " ^ ML_Syntax.print_string (Bash.string (File.platform_path driver_path)) ^
   34.11        "; Test.main ();"
   34.12      val cmd = "echo " ^ Bash.string ml_source ^ " | \"$ISABELLE_SMLNJ\""
   34.13    in
    35.1 --- a/src/HOL/List.thy	Sun Oct 08 11:58:01 2017 +0200
    35.2 +++ b/src/HOL/List.thy	Sun Oct 08 14:48:47 2017 +0200
    35.3 @@ -151,6 +151,9 @@
    35.4    \<comment> \<open>Warning: simpset does not contain this definition, but separate
    35.5         theorems for \<open>xs = []\<close> and \<open>xs = z # zs\<close>\<close>
    35.6  
    35.7 +abbreviation map2 :: "('a \<Rightarrow> 'b \<Rightarrow> 'c) \<Rightarrow> 'a list \<Rightarrow> 'b list \<Rightarrow> 'c list" where
    35.8 +"map2 f xs ys \<equiv> map (\<lambda>(x,y). f x y) (zip xs ys)"
    35.9 +
   35.10  primrec product :: "'a list \<Rightarrow> 'b list \<Rightarrow> ('a \<times> 'b) list" where
   35.11  "product [] _ = []" |
   35.12  "product (x#xs) ys = map (Pair x) ys @ product xs ys"
   35.13 @@ -2011,12 +2014,18 @@
   35.14  
   35.15  subsubsection \<open>@{const take} and @{const drop}\<close>
   35.16  
   35.17 -lemma take_0 [simp]: "take 0 xs = []"
   35.18 +lemma take_0: "take 0 xs = []"
   35.19  by (induct xs) auto
   35.20  
   35.21 -lemma drop_0 [simp]: "drop 0 xs = xs"
   35.22 +lemma drop_0: "drop 0 xs = xs"
   35.23  by (induct xs) auto
   35.24  
   35.25 +lemma take0[simp]: "take 0 = (\<lambda>xs. [])"
   35.26 +by(rule ext) (rule take_0)
   35.27 +
   35.28 +lemma drop0[simp]: "drop 0 = (\<lambda>x. x)"
   35.29 +by(rule ext) (rule drop_0)
   35.30 +
   35.31  lemma take_Suc_Cons [simp]: "take (Suc n) (x # xs) = x # take n xs"
   35.32  by simp
   35.33  
   35.34 @@ -2031,6 +2040,9 @@
   35.35  lemma drop_Suc: "drop (Suc n) xs = drop n (tl xs)"
   35.36  by(cases xs, simp_all)
   35.37  
   35.38 +lemma hd_take: "j > 0 \<Longrightarrow> hd (take j xs) = hd xs"
   35.39 +by (metis gr0_conv_Suc list.sel(1) take.simps(1) take_Suc)
   35.40 +
   35.41  lemma take_tl: "take n (tl xs) = tl (take (Suc n) xs)"
   35.42  by (induct xs arbitrary: n) simp_all
   35.43  
   35.44 @@ -4393,12 +4405,12 @@
   35.45  done
   35.46  
   35.47  lemma nths_shift_lemma:
   35.48 -     "map fst [p<-zip xs [i..<i + length xs] . snd p : A] =
   35.49 -      map fst [p<-zip xs [0..<length xs] . snd p + i : A]"
   35.50 +  "map fst [p<-zip xs [i..<i + length xs] . snd p : A] =
   35.51 +   map fst [p<-zip xs [0..<length xs] . snd p + i : A]"
   35.52  by (induct xs rule: rev_induct) (simp_all add: add.commute)
   35.53  
   35.54  lemma nths_append:
   35.55 -     "nths (l @ l') A = nths l A @ nths l' {j. j + length l : A}"
   35.56 +  "nths (l @ l') A = nths l A @ nths l' {j. j + length l : A}"
   35.57  apply (unfold nths_def)
   35.58  apply (induct l' rule: rev_induct, simp)
   35.59  apply (simp add: upt_add_eq_append[of 0] nths_shift_lemma)
   35.60 @@ -4406,7 +4418,7 @@
   35.61  done
   35.62  
   35.63  lemma nths_Cons:
   35.64 -"nths (x # l) A = (if 0:A then [x] else []) @ nths l {j. Suc j : A}"
   35.65 +  "nths (x # l) A = (if 0:A then [x] else []) @ nths l {j. Suc j : A}"
   35.66  apply (induct l rule: rev_induct)
   35.67   apply (simp add: nths_def)
   35.68  apply (simp del: append_Cons add: append_Cons[symmetric] nths_append)
   35.69 @@ -4429,17 +4441,18 @@
   35.70  lemma nths_singleton [simp]: "nths [x] A = (if 0 : A then [x] else [])"
   35.71  by (simp add: nths_Cons)
   35.72  
   35.73 -
   35.74  lemma distinct_nthsI[simp]: "distinct xs \<Longrightarrow> distinct (nths xs I)"
   35.75 -  by (induct xs arbitrary: I) (auto simp: nths_Cons)
   35.76 -
   35.77 +by (induct xs arbitrary: I) (auto simp: nths_Cons)
   35.78  
   35.79  lemma nths_upt_eq_take [simp]: "nths l {..<n} = take n l"
   35.80 -  by (induct l rule: rev_induct)
   35.81 -     (simp_all split: nat_diff_split add: nths_append)
   35.82 +by (induct l rule: rev_induct)
   35.83 +   (simp_all split: nat_diff_split add: nths_append)
   35.84 +
   35.85 +lemma filter_eq_nths: "filter P xs = nths xs {i. i<length xs \<and> P(xs!i)}"
   35.86 +by(induction xs) (auto simp: nths_Cons)
   35.87  
   35.88  lemma filter_in_nths:
   35.89 - "distinct xs \<Longrightarrow> filter (%x. x \<in> set (nths xs s)) xs = nths xs s"
   35.90 +  "distinct xs \<Longrightarrow> filter (%x. x \<in> set (nths xs s)) xs = nths xs s"
   35.91  proof (induct xs arbitrary: s)
   35.92    case Nil thus ?case by simp
   35.93  next
   35.94 @@ -5123,7 +5136,7 @@
   35.95  
   35.96  text\<open>Currently it is not shown that @{const sort} returns a
   35.97  permutation of its input because the nicest proof is via multisets,
   35.98 -which are not yet available. Alternatively one could define a function
   35.99 +which are not part of Main. Alternatively one could define a function
  35.100  that counts the number of occurrences of an element in a list and use
  35.101  that instead of multisets to state the correctness property.\<close>
  35.102  
  35.103 @@ -5336,6 +5349,59 @@
  35.104    "sorted (map fst (enumerate n xs))"
  35.105    by (simp add: enumerate_eq_zip)
  35.106  
  35.107 +text \<open>Stability of function @{const sort_key}:\<close>
  35.108 +
  35.109 +lemma sort_key_stable:
  35.110 +  "x \<in> set xs \<Longrightarrow> [y <- sort_key f xs. f y = f x] = [y <- xs. f y = f x]"
  35.111 +proof (induction xs arbitrary: x)
  35.112 +  case Nil thus ?case by simp
  35.113 +next  
  35.114 +  case (Cons a xs)
  35.115 +  thus ?case 
  35.116 +  proof (cases "x \<in> set xs")
  35.117 +    case True 
  35.118 +    thus ?thesis
  35.119 +    proof (cases "f a = f x")
  35.120 +      case False thus ?thesis 
  35.121 +        using Cons.IH by (metis (mono_tags) True filter.simps(2) filter_sort)
  35.122 +    next
  35.123 +      case True
  35.124 +      hence ler: "[y <- (a # xs). f y = f x] = a # [y <- xs. f y = f a]" by simp
  35.125 +      have "\<forall>y \<in> set (sort_key f [y <- xs. f y = f a]). f y = f a" by simp
  35.126 +      hence "insort_key f a (sort_key f [y <- xs. f y = f a]) 
  35.127 +              = a # (sort_key f [y <- xs. f y = f a])"
  35.128 +        by (simp add: insort_is_Cons)
  35.129 +      hence lel: "[y <- sort_key f (a # xs). f y = f x] = a # [y <- sort_key f xs. f y = f a]"
  35.130 +        by (metis True filter_sort ler sort_key_simps(2))
  35.131 +      from lel ler show ?thesis using Cons.IH \<open>x \<in> set xs\<close> by (metis True filter_sort)
  35.132 +    qed
  35.133 +  next
  35.134 +    case False
  35.135 +    from Cons.prems have "x = a" by (metis False set_ConsD)
  35.136 +    have ler: "[y <- (a # xs). f y = f a] = a # [y <- xs. f y = f a]" by simp
  35.137 +    have "\<forall>y \<in> set (sort_key f [y <- xs. f y = f a]). f y = f a" by simp
  35.138 +    hence "insort_key f a (sort_key f [y <- xs. f y = f a]) 
  35.139 +           = a # (sort_key f [y <- xs. f y = f a])"
  35.140 +      by (simp add: insort_is_Cons)
  35.141 +    hence lel: "[y <- sort_key f (a # xs). f y = f a] = a # [y <- sort_key f xs. f y = f a]"
  35.142 +      by (metis (mono_tags) filter.simps(2) filter_sort sort_key_simps(2))
  35.143 +    show ?thesis (is "?l = ?r")
  35.144 +    proof (cases "f a \<in> set (map f xs)")
  35.145 +      case False
  35.146 +      hence "\<forall>y \<in> set xs. f y \<noteq> f a" by (metis image_eqI set_map)
  35.147 +      hence R: "?r = [a]" using ler \<open>x=a\<close> by simp
  35.148 +      have L: "?l = [a]" using lel \<open>x=a\<close> by (metis R filter_sort insort_key.simps(1) sort_key_simps)
  35.149 +      from L R show ?thesis ..
  35.150 +    next
  35.151 +      case True
  35.152 +      then obtain z where Z: "z \<in> set xs \<and> f z = f a" by auto
  35.153 +      hence L: "[y <- sort_key f xs. f y = f z] = [y <- sort_key f xs. f y = f a]" by simp
  35.154 +      from Z have R: "[y <- xs. f y = f z] = [y <- xs. f y = f a]" by simp 
  35.155 +      from L R Z show ?thesis using Cons.IH ler lel \<open>x=a\<close> by metis
  35.156 +    qed
  35.157 +  qed
  35.158 +qed
  35.159 +
  35.160  
  35.161  subsubsection \<open>@{const transpose} on sorted lists\<close>
  35.162  
    36.1 --- a/src/HOL/Quickcheck_Narrowing.thy	Sun Oct 08 11:58:01 2017 +0200
    36.2 +++ b/src/HOL/Quickcheck_Narrowing.thy	Sun Oct 08 14:48:47 2017 +0200
    36.3 @@ -192,6 +192,8 @@
    36.4  
    36.5  subsubsection \<open>Setting up the counterexample generator\<close>
    36.6  
    36.7 +external_file "~~/src/HOL/Tools/Quickcheck/Narrowing_Engine.hs"
    36.8 +external_file "~~/src/HOL/Tools/Quickcheck/PNF_Narrowing_Engine.hs"
    36.9  ML_file "Tools/Quickcheck/narrowing_generators.ML"
   36.10  
   36.11  definition narrowing_dummy_partial_term_of :: "('a :: partial_term_of) itself => narrowing_term => term"
    37.1 --- a/src/HOL/ROOT	Sun Oct 08 11:58:01 2017 +0200
    37.2 +++ b/src/HOL/ROOT	Sun Oct 08 14:48:47 2017 +0200
    37.3 @@ -7,9 +7,6 @@
    37.4    theories
    37.5      Main (global)
    37.6      Complex_Main (global)
    37.7 -  files
    37.8 -    "Tools/Quickcheck/Narrowing_Engine.hs"
    37.9 -    "Tools/Quickcheck/PNF_Narrowing_Engine.hs"
   37.10    document_files
   37.11      "root.bib"
   37.12      "root.tex"
   37.13 @@ -18,15 +15,11 @@
   37.14    description {*
   37.15      HOL-Main with explicit proof terms.
   37.16    *}
   37.17 -  options [document = false, theory_qualifier = "HOL",
   37.18 -    quick_and_dirty = false, record_proofs = 2, parallel_proofs = 0]
   37.19 +  options [document = false, quick_and_dirty = false, record_proofs = 2, parallel_proofs = 0]
   37.20    sessions
   37.21      "HOL-Library"
   37.22    theories
   37.23      "HOL-Library.Old_Datatype"
   37.24 -  files
   37.25 -    "Tools/Quickcheck/Narrowing_Engine.hs"
   37.26 -    "Tools/Quickcheck/PNF_Narrowing_Engine.hs"
   37.27  
   37.28  session "HOL-Library" (main timing) in Library = HOL +
   37.29    description {*
   37.30 @@ -121,8 +114,6 @@
   37.31      Exp demonstrates the use of iterated inductive definitions to reason about
   37.32      mutually recursive relations.
   37.33    *}
   37.34 -  theories [document = false]
   37.35 -    "HOL-Library.Old_Datatype"
   37.36    theories [quick_and_dirty]
   37.37      Common_Patterns
   37.38    theories
   37.39 @@ -142,12 +133,6 @@
   37.40  
   37.41  session "HOL-IMP" (timing) in IMP = "HOL-Library" +
   37.42    options [document_variants = document]
   37.43 -  theories [document = false]
   37.44 -    "HOL-Library.While_Combinator"
   37.45 -    "HOL-Library.Char_ord"
   37.46 -    "HOL-Library.List_lexord"
   37.47 -    "HOL-Library.Quotient_List"
   37.48 -    "HOL-Library.Extended"
   37.49    theories
   37.50      BExp
   37.51      ASM
   37.52 @@ -200,8 +185,6 @@
   37.53      "HOL-Number_Theory"
   37.54    theories [document = false]
   37.55      Less_False
   37.56 -    "HOL-Library.Multiset"
   37.57 -    "HOL-Number_Theory.Fib"
   37.58    theories
   37.59      Sorting
   37.60      Balance
   37.61 @@ -227,11 +210,6 @@
   37.62    *}
   37.63    sessions
   37.64      "HOL-Algebra"
   37.65 -  theories [document = false]
   37.66 -    "HOL-Library.FuncSet"
   37.67 -    "HOL-Library.Multiset"
   37.68 -    "HOL-Algebra.Ring"
   37.69 -    "HOL-Algebra.FiniteProduct"
   37.70    theories
   37.71      Number_Theory
   37.72    document_files
   37.73 @@ -310,11 +288,6 @@
   37.74  
   37.75      The Isabelle Algebraic Library.
   37.76    *}
   37.77 -  theories [document = false]
   37.78 -    (* Preliminaries from set and number theory *)
   37.79 -    "HOL-Library.FuncSet"
   37.80 -    "HOL-Computational_Algebra.Primes"
   37.81 -    "HOL-Library.Permutation"
   37.82    theories
   37.83      (* Orders and Lattices *)
   37.84      Galois_Connection    (* Knaster-Tarski theorem and Galois connections *)
   37.85 @@ -403,10 +376,6 @@
   37.86  
   37.87  session "HOL-Imperative_HOL" in Imperative_HOL = "HOL-Library" +
   37.88    options [print_mode = "iff,no_brackets"]
   37.89 -  theories [document = false]
   37.90 -    "HOL-Library.Countable"
   37.91 -    "HOL-Library.Monad_Syntax"
   37.92 -    "HOL-Library.LaTeXsugar"
   37.93    theories Imperative_HOL_ex
   37.94    document_files "root.bib" "root.tex"
   37.95  
   37.96 @@ -433,13 +402,7 @@
   37.97    *}
   37.98    options [parallel_proofs = 0, quick_and_dirty = false]
   37.99    sessions
  37.100 -    "HOL-Library"
  37.101      "HOL-Computational_Algebra"
  37.102 -  theories [document = false]
  37.103 -    "HOL-Library.Code_Target_Numeral"
  37.104 -    "HOL-Library.Monad_Syntax"
  37.105 -    "HOL-Computational_Algebra.Primes"
  37.106 -    "HOL-Library.Open_State_Syntax"
  37.107    theories
  37.108      Greatest_Common_Divisor
  37.109      Warshall
  37.110 @@ -490,8 +453,6 @@
  37.111    *}
  37.112    sessions
  37.113      "HOL-Eisbach"
  37.114 -  theories [document = false]
  37.115 -    "HOL-Library.While_Combinator"
  37.116    theories
  37.117      MicroJava
  37.118    document_files
  37.119 @@ -555,13 +516,11 @@
  37.120    theories CompleteLattice
  37.121    document_files "root.tex"
  37.122  
  37.123 -session "HOL-ex" (timing) in ex = "HOL-Library" +
  37.124 +session "HOL-ex" (timing) in ex = "HOL-Number_Theory" +
  37.125    description {*
  37.126      Miscellaneous examples for Higher-Order Logic.
  37.127    *}
  37.128    options [document = false]
  37.129 -  sessions
  37.130 -    "HOL-Number_Theory"
  37.131    theories
  37.132      Adhoc_Overloading_Examples
  37.133      Antiquote
  37.134 @@ -653,9 +612,6 @@
  37.135      Miscellaneous Isabelle/Isar examples.
  37.136    *}
  37.137    options [quick_and_dirty]
  37.138 -  theories [document = false]
  37.139 -    "HOL-Library.Lattice_Syntax"
  37.140 -    "HOL-Computational_Algebra.Primes"
  37.141    theories
  37.142      Knaster_Tarski
  37.143      Peirce
  37.144 @@ -694,8 +650,6 @@
  37.145    description {*
  37.146      Verification of the SET Protocol.
  37.147    *}
  37.148 -  theories [document = false]
  37.149 -    "HOL-Library.Nat_Bijection"
  37.150    theories
  37.151      SET_Protocol
  37.152    document_files "root.tex"
  37.153 @@ -745,12 +699,6 @@
  37.154      ATP_Problem_Import
  37.155  
  37.156  session "HOL-Probability" (main timing) in "Probability" = "HOL-Analysis" +
  37.157 -  theories [document = false]
  37.158 -    "HOL-Library.Countable"
  37.159 -    "HOL-Library.Permutation"
  37.160 -    "HOL-Library.Order_Continuity"
  37.161 -    "HOL-Library.Diagonal_Subsequence"
  37.162 -    "HOL-Library.Finite_Map"
  37.163    theories
  37.164      Probability (global)
  37.165    document_files "root.tex"
  37.166 @@ -761,10 +709,8 @@
  37.167      Koepf_Duermuth_Countermeasure
  37.168      Measure_Not_CCC
  37.169  
  37.170 -session "HOL-Nominal" in Nominal = HOL +
  37.171 +session "HOL-Nominal" in Nominal = "HOL-Library" +
  37.172    options [document = false]
  37.173 -  sessions
  37.174 -    "HOL-Library"
  37.175    theories
  37.176      Nominal
  37.177  
  37.178 @@ -798,7 +744,6 @@
  37.179    description {*
  37.180      Ordinals and Cardinals, Full Theories.
  37.181    *}
  37.182 -  options [document = false]
  37.183    theories
  37.184      Cardinals
  37.185      Bounded_Set
  37.186 @@ -896,12 +841,6 @@
  37.187      SMT_Examples
  37.188      SMT_Word_Examples
  37.189      SMT_Tests
  37.190 -  files
  37.191 -    "Boogie_Dijkstra.certs"
  37.192 -    "Boogie_Max.certs"
  37.193 -    "SMT_Examples.certs"
  37.194 -    "SMT_Word_Examples.certs"
  37.195 -    "VCC_Max.certs"
  37.196  
  37.197  session "HOL-SPARK" (main) in "SPARK" = "HOL-Word" +
  37.198    options [document = false]
  37.199 @@ -912,9 +851,7 @@
  37.200    options [document = false, spark_prv = false]
  37.201    theories
  37.202      "Gcd/Greatest_Common_Divisor"
  37.203 -
  37.204      "Liseq/Longest_Increasing_Subsequence"
  37.205 -
  37.206      "RIPEMD-160/F"
  37.207      "RIPEMD-160/Hash"
  37.208      "RIPEMD-160/K_L"
  37.209 @@ -924,42 +861,7 @@
  37.210      "RIPEMD-160/R_R"
  37.211      "RIPEMD-160/S_L"
  37.212      "RIPEMD-160/S_R"
  37.213 -
  37.214      "Sqrt/Sqrt"
  37.215 -  files
  37.216 -    "Gcd/greatest_common_divisor/g_c_d.fdl"
  37.217 -    "Gcd/greatest_common_divisor/g_c_d.rls"
  37.218 -    "Gcd/greatest_common_divisor/g_c_d.siv"
  37.219 -    "Liseq/liseq/liseq_length.fdl"
  37.220 -    "Liseq/liseq/liseq_length.rls"
  37.221 -    "Liseq/liseq/liseq_length.siv"
  37.222 -    "RIPEMD-160/rmd/f.fdl"
  37.223 -    "RIPEMD-160/rmd/f.rls"
  37.224 -    "RIPEMD-160/rmd/f.siv"
  37.225 -    "RIPEMD-160/rmd/hash.fdl"
  37.226 -    "RIPEMD-160/rmd/hash.rls"
  37.227 -    "RIPEMD-160/rmd/hash.siv"
  37.228 -    "RIPEMD-160/rmd/k_l.fdl"
  37.229 -    "RIPEMD-160/rmd/k_l.rls"
  37.230 -    "RIPEMD-160/rmd/k_l.siv"
  37.231 -    "RIPEMD-160/rmd/k_r.fdl"
  37.232 -    "RIPEMD-160/rmd/k_r.rls"
  37.233 -    "RIPEMD-160/rmd/k_r.siv"
  37.234 -    "RIPEMD-160/rmd/r_l.fdl"
  37.235 -    "RIPEMD-160/rmd/r_l.rls"
  37.236 -    "RIPEMD-160/rmd/r_l.siv"
  37.237 -    "RIPEMD-160/rmd/round.fdl"
  37.238 -    "RIPEMD-160/rmd/round.rls"
  37.239 -    "RIPEMD-160/rmd/round.siv"
  37.240 -    "RIPEMD-160/rmd/r_r.fdl"
  37.241 -    "RIPEMD-160/rmd/r_r.rls"
  37.242 -    "RIPEMD-160/rmd/r_r.siv"
  37.243 -    "RIPEMD-160/rmd/s_l.fdl"
  37.244 -    "RIPEMD-160/rmd/s_l.rls"
  37.245 -    "RIPEMD-160/rmd/s_l.siv"
  37.246 -    "RIPEMD-160/rmd/s_r.fdl"
  37.247 -    "RIPEMD-160/rmd/s_r.rls"
  37.248 -    "RIPEMD-160/rmd/s_r.siv"
  37.249  
  37.250  session "HOL-SPARK-Manual" in "SPARK/Manual" = "HOL-SPARK" +
  37.251    options [show_question_marks = false, spark_prv = false]
  37.252 @@ -970,19 +872,6 @@
  37.253      VC_Principles
  37.254      Reference
  37.255      Complex_Types
  37.256 -  files
  37.257 -    "complex_types_app/initialize.fdl"
  37.258 -    "complex_types_app/initialize.rls"
  37.259 -    "complex_types_app/initialize.siv"
  37.260 -    "loop_invariant/proc1.fdl"
  37.261 -    "loop_invariant/proc1.rls"
  37.262 -    "loop_invariant/proc1.siv"
  37.263 -    "loop_invariant/proc2.fdl"
  37.264 -    "loop_invariant/proc2.rls"
  37.265 -    "loop_invariant/proc2.siv"
  37.266 -    "simple_greatest_common_divisor/g_c_d.fdl"
  37.267 -    "simple_greatest_common_divisor/g_c_d.rls"
  37.268 -    "simple_greatest_common_divisor/g_c_d.siv"
  37.269    document_files
  37.270      "complex_types.ads"
  37.271      "complex_types_app.adb"
  37.272 @@ -1064,18 +953,13 @@
  37.273      "Examples/Finite"
  37.274      "Examples/T2_Spaces"
  37.275  
  37.276 -session HOLCF (main timing) in HOLCF = HOL +
  37.277 +session HOLCF (main timing) in HOLCF = "HOL-Library" +
  37.278    description {*
  37.279      Author:     Franz Regensburger
  37.280      Author:     Brian Huffman
  37.281  
  37.282      HOLCF -- a semantic extension of HOL by the LCF logic.
  37.283    *}
  37.284 -  sessions
  37.285 -    "HOL-Library"
  37.286 -  theories [document = false]
  37.287 -    "HOL-Library.Nat_Bijection"
  37.288 -    "HOL-Library.Countable"
  37.289    theories
  37.290      HOLCF (global)
  37.291    document_files "root.tex"
    38.1 --- a/src/HOL/SMT_Examples/Boogie.thy	Sun Oct 08 11:58:01 2017 +0200
    38.2 +++ b/src/HOL/SMT_Examples/Boogie.thy	Sun Oct 08 14:48:47 2017 +0200
    38.3 @@ -55,17 +55,20 @@
    38.4  declare [[smt_read_only_certificates = true]]
    38.5  
    38.6  
    38.7 +external_file "Boogie_Max.certs"
    38.8  declare [[smt_certificates = "Boogie_Max.certs"]]
    38.9  
   38.10  boogie_file Boogie_Max
   38.11  
   38.12  
   38.13 +external_file "Boogie_Dijkstra.certs"
   38.14  declare [[smt_certificates = "Boogie_Dijkstra.certs"]]
   38.15  
   38.16  boogie_file Boogie_Dijkstra
   38.17  
   38.18  
   38.19  declare [[z3_extensions = true]]
   38.20 +external_file "VCC_Max.certs"
   38.21  declare [[smt_certificates = "VCC_Max.certs"]]
   38.22  
   38.23  boogie_file VCC_Max
    39.1 --- a/src/HOL/SMT_Examples/Boogie_Dijkstra.certs	Sun Oct 08 11:58:01 2017 +0200
    39.2 +++ b/src/HOL/SMT_Examples/Boogie_Dijkstra.certs	Sun Oct 08 14:48:47 2017 +0200
    39.3 @@ -3014,3 +3014,8964 @@
    39.4  (let ((@x7245 (mp ((_ quant-inst ?v1!18) (or $x3700 (or $x2791 $x6615))) (rewrite (= (or $x3700 (or $x2791 $x6615)) (or $x3700 $x2791 $x6615))) (or $x3700 $x2791 $x6615))))
    39.5  (unit-resolution (lemma (unit-resolution @x7245 @x7618 @x7608 @x8908 false) (or $x2806 $x1896)) @x8073 (unit-resolution @x8072 (lemma @x8164 $x3737) $x2811) false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
    39.6  
    39.7 +ad24f408c8d068cc8218aa0fd750dfcacc455689 2983 0
    39.8 +unsat
    39.9 +((set-logic AUFLIA)
   39.10 +(declare-fun ?v0!20 () B_Vertex$)
   39.11 +(declare-fun ?v0!19 () B_Vertex$)
   39.12 +(declare-fun ?v1!18 () B_Vertex$)
   39.13 +(declare-fun ?v0!17 () B_Vertex$)
   39.14 +(declare-fun ?v1!16 () B_Vertex$)
   39.15 +(declare-fun ?v0!15 () B_Vertex$)
   39.16 +(declare-fun ?v0!14 () B_Vertex$)
   39.17 +(declare-fun ?v0!13 () B_Vertex$)
   39.18 +(declare-fun ?v0!12 () B_Vertex$)
   39.19 +(declare-fun ?v0!11 () B_Vertex$)
   39.20 +(declare-fun ?v1!10 () B_Vertex$)
   39.21 +(declare-fun ?v1!9 (B_Vertex$) B_Vertex$)
   39.22 +(declare-fun ?v0!8 () B_Vertex$)
   39.23 +(declare-fun ?v1!7 (B_Vertex$) B_Vertex$)
   39.24 +(declare-fun ?v1!6 (B_Vertex$) B_Vertex$)
   39.25 +(declare-fun ?v0!5 () B_Vertex$)
   39.26 +(declare-fun ?v0!4 () B_Vertex$)
   39.27 +(declare-fun ?v1!3 () B_Vertex$)
   39.28 +(declare-fun ?v0!2 () B_Vertex$)
   39.29 +(declare-fun ?v1!1 () B_Vertex$)
   39.30 +(declare-fun ?v0!0 () B_Vertex$)
   39.31 +(proof
   39.32 +(let ((?x260 (fun_upd$ v_b_Visited_G_1$ v_b_v_G_1$ true)))
   39.33 +(let (($x5237 (fun_app$ ?x260 ?v0!20)))
   39.34 +(let (($x9037 (not $x5237)))
   39.35 +(let (($x261 (= v_b_Visited_G_2$ ?x260)))
   39.36 +(let (($x3724 (forall ((?v1 B_Vertex$) )(! (let ((?x1906 (v_b_SP_G_2$ ?v0!20)))
   39.37 +(let ((?x1907 (* (- 1) ?x1906)))
   39.38 +(let ((?x268 (v_b_SP_G_2$ ?v1)))
   39.39 +(let (($x2237 (= (+ ?x268 ?x1907 (b_G$ (pair$ ?v1 ?v0!20))) 0)))
   39.40 +(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
   39.41 +(let (($x295 (not $x286)))
   39.42 +(or (>= (+ ?x268 ?x1907) 0) $x295 (not $x2237)))))))) :pattern ( (v_b_SP_G_2$ ?v1) ) :pattern ( (fun_app$ v_b_Visited_G_2$ ?v1) ) :pattern ( (pair$ ?v1 ?v0!20) ) :qid k!38))
   39.43 +))
   39.44 +(let (($x3729 (not $x3724)))
   39.45 +(let ((?x1906 (v_b_SP_G_2$ ?v0!20)))
   39.46 +(let ((?x1907 (* (- 1) ?x1906)))
   39.47 +(let ((?x1908 (+ b_Infinity$ ?x1907)))
   39.48 +(let (($x1909 (<= ?x1908 0)))
   39.49 +(let (($x1904 (= ?v0!20 b_Source$)))
   39.50 +(let (($x3715 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x298 (v_b_SP_G_2$ ?v0)))
   39.51 +(let ((?x1258 (* (- 1) ?x298)))
   39.52 +(let ((?x268 (v_b_SP_G_2$ ?v1)))
   39.53 +(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
   39.54 +(let (($x1277 (>= (+ ?x152 ?x268 ?x1258) 0)))
   39.55 +(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
   39.56 +(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
   39.57 +(let (($x295 (not $x286)))
   39.58 +(or $x295 $x917 $x1277))))))))) :pattern ( (pair$ ?v1 ?v0) ) :qid k!38))
   39.59 +))
   39.60 +(let (($x3720 (not $x3715)))
   39.61 +(let (($x3732 (or $x3720 $x1904 $x1909 $x3729)))
   39.62 +(let (($x3735 (not $x3732)))
   39.63 +(let ((?x1888 (v_b_SP_G_2$ ?v0!19)))
   39.64 +(let ((?x1889 (* (- 1) ?x1888)))
   39.65 +(let ((?x1887 (v_b_SP_G_2$ ?v1!18)))
   39.66 +(let ((?x1879 (pair$ ?v1!18 ?v0!19)))
   39.67 +(let ((?x1880 (b_G$ ?x1879)))
   39.68 +(let (($x1891 (>= (+ ?x1880 ?x1887 ?x1889) 0)))
   39.69 +(let (($x1883 (<= (+ b_Infinity$ (* (- 1) ?x1880)) 0)))
   39.70 +(let (($x1878 (fun_app$ v_b_Visited_G_2$ ?v1!18)))
   39.71 +(let (($x2786 (not $x1878)))
   39.72 +(let (($x2801 (or $x2786 $x1883 $x1891)))
   39.73 +(let (($x2806 (not $x2801)))
   39.74 +(let (($x3738 (or $x2806 $x3735)))
   39.75 +(let (($x3741 (not $x3738)))
   39.76 +(let (($x3707 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x1257 (>= (+ (v_b_SP_G_2$ ?v1) (* (- 1) (v_b_SP_G_2$ ?v0))) 0)))
   39.77 +(let (($x296 (fun_app$ v_b_Visited_G_2$ ?v0)))
   39.78 +(let (($x2763 (not $x296)))
   39.79 +(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
   39.80 +(or $x286 $x2763 $x1257))))) :pattern ( (v_b_SP_G_2$ ?v1) (v_b_SP_G_2$ ?v0) ) :qid k!38))
   39.81 +))
   39.82 +(let (($x3712 (not $x3707)))
   39.83 +(let (($x3744 (or $x3712 $x3741)))
   39.84 +(let (($x3747 (not $x3744)))
   39.85 +(let (($x1864 (>= (+ (v_b_SP_G_2$ ?v1!16) (* (- 1) (v_b_SP_G_2$ ?v0!17))) 0)))
   39.86 +(let (($x1857 (fun_app$ v_b_Visited_G_2$ ?v0!17)))
   39.87 +(let (($x2740 (not $x1857)))
   39.88 +(let (($x1855 (fun_app$ v_b_Visited_G_2$ ?v1!16)))
   39.89 +(let (($x2755 (or $x1855 $x2740 $x1864)))
   39.90 +(let (($x2760 (not $x2755)))
   39.91 +(let (($x3750 (or $x2760 $x3747)))
   39.92 +(let (($x3753 (not $x3750)))
   39.93 +(let (($x3698 (forall ((?v0 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v0)))
   39.94 +(>= ?x268 0)) :pattern ( (v_b_SP_G_2$ ?v0) ) :qid k!38))
   39.95 +))
   39.96 +(let (($x3703 (not $x3698)))
   39.97 +(let (($x3756 (or $x3703 $x3753)))
   39.98 +(let (($x3759 (not $x3756)))
   39.99 +(let ((?x1841 (v_b_SP_G_2$ ?v0!15)))
  39.100 +(let (($x1842 (>= ?x1841 0)))
  39.101 +(let (($x1843 (not $x1842)))
  39.102 +(let (($x3762 (or $x1843 $x3759)))
  39.103 +(let (($x3765 (not $x3762)))
  39.104 +(let ((?x291 (v_b_SP_G_2$ b_Source$)))
  39.105 +(let (($x292 (= ?x291 0)))
  39.106 +(let (($x768 (not $x292)))
  39.107 +(let (($x3768 (or $x768 $x3765)))
  39.108 +(let (($x3771 (not $x3768)))
  39.109 +(let (($x3774 (or $x768 $x3771)))
  39.110 +(let (($x3777 (not $x3774)))
  39.111 +(let (($x3690 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
  39.112 +(let ((?x268 (v_b_SP_G_2$ ?v0)))
  39.113 +(let (($x273 (= ?x268 ?x171)))
  39.114 +(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v0)))
  39.115 +(let (($x295 (not $x286)))
  39.116 +(or $x295 $x273)))))) :pattern ( (fun_app$ v_b_Visited_G_2$ ?v0) ) :pattern ( (v_b_SP_G_2$ ?v0) ) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :qid k!38))
  39.117 +))
  39.118 +(let (($x3695 (not $x3690)))
  39.119 +(let (($x3780 (or $x3695 $x3777)))
  39.120 +(let (($x3783 (not $x3780)))
  39.121 +(let ((?x1822 (fun_app$a v_b_SP_G_1$ ?v0!14)))
  39.122 +(let ((?x1821 (v_b_SP_G_2$ ?v0!14)))
  39.123 +(let (($x1823 (= ?x1821 ?x1822)))
  39.124 +(let (($x1824 (or (not (fun_app$ v_b_Visited_G_2$ ?v0!14)) $x1823)))
  39.125 +(let (($x1825 (not $x1824)))
  39.126 +(let (($x3786 (or $x1825 $x3783)))
  39.127 +(let (($x3789 (not $x3786)))
  39.128 +(let (($x3681 (forall ((?v0 B_Vertex$) )(! (>= (+ (fun_app$a v_b_SP_G_1$ ?v0) (* (- 1) (v_b_SP_G_2$ ?v0))) 0) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :pattern ( (v_b_SP_G_2$ ?v0) ) :qid k!38))
  39.129 +))
  39.130 +(let (($x3686 (not $x3681)))
  39.131 +(let (($x3792 (or $x3686 $x3789)))
  39.132 +(let (($x3795 (not $x3792)))
  39.133 +(let ((?x1804 (v_b_SP_G_2$ ?v0!13)))
  39.134 +(let ((?x1805 (* (- 1) ?x1804)))
  39.135 +(let ((?x1803 (fun_app$a v_b_SP_G_1$ ?v0!13)))
  39.136 +(let ((?x1806 (+ ?x1803 ?x1805)))
  39.137 +(let (($x1807 (>= ?x1806 0)))
  39.138 +(let (($x1808 (not $x1807)))
  39.139 +(let (($x3798 (or $x1808 $x3795)))
  39.140 +(let (($x3801 (not $x3798)))
  39.141 +(let (($x3673 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
  39.142 +(let ((?x268 (v_b_SP_G_2$ ?v0)))
  39.143 +(let (($x273 (= ?x268 ?x171)))
  39.144 +(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
  39.145 +(let ((?x1168 (* (- 1) ?x254)))
  39.146 +(let (($x1170 (<= (+ ?x171 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0)))) 0)))
  39.147 +(let (($x1164 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0)))) 0)))
  39.148 +(let (($x2712 (or $x1164 $x1170)))
  39.149 +(let (($x2713 (not $x2712)))
  39.150 +(or $x2713 $x273)))))))))) :pattern ( (pair$ v_b_v_G_1$ ?v0) ) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :pattern ( (v_b_SP_G_2$ ?v0) ) :qid k!38))
  39.151 +))
  39.152 +(let (($x3678 (not $x3673)))
  39.153 +(let (($x3665 (forall ((?v0 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v0)))
  39.154 +(let ((?x1181 (* (- 1) ?x268)))
  39.155 +(let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0))))
  39.156 +(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
  39.157 +(let (($x1180 (= (+ ?x254 ?x263 ?x1181) 0)))
  39.158 +(let (($x1170 (<= (+ (fun_app$a v_b_SP_G_1$ ?v0) (* (- 1) ?x254) (* (- 1) ?x263)) 0)))
  39.159 +(let (($x1164 (<= (+ b_Infinity$ (* (- 1) ?x263)) 0)))
  39.160 +(or $x1164 $x1170 $x1180)))))))) :pattern ( (pair$ v_b_v_G_1$ ?v0) ) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :pattern ( (v_b_SP_G_2$ ?v0) ) :qid k!38))
  39.161 +))
  39.162 +(let (($x3670 (not $x3665)))
  39.163 +(let (($x2930 (not $x261)))
  39.164 +(let (($x3655 (forall ((?v0 B_Vertex$) )(! (let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
  39.165 +(let ((?x1168 (* (- 1) ?x254)))
  39.166 +(let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
  39.167 +(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0)))
  39.168 +(or $x175 (>= (+ ?x171 ?x1168) 0)))))) :pattern ( (fun_app$ v_b_Visited_G_1$ ?v0) ) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :qid k!38))
  39.169 +))
  39.170 +(let (($x3660 (not $x3655)))
  39.171 +(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
  39.172 +(let ((?x1168 (* (- 1) ?x254)))
  39.173 +(let ((?x1207 (+ b_Infinity$ ?x1168)))
  39.174 +(let (($x1208 (<= ?x1207 0)))
  39.175 +(let (($x252 (fun_app$ v_b_Visited_G_1$ v_b_v_G_1$)))
  39.176 +(let ((?x1770 (fun_app$a v_b_SP_G_1$ ?v0!12)))
  39.177 +(let ((?x1771 (* (- 1) ?x1770)))
  39.178 +(let ((?x1772 (+ b_Infinity$ ?x1771)))
  39.179 +(let (($x1773 (<= ?x1772 0)))
  39.180 +(let (($x1768 (fun_app$ v_b_Visited_G_1$ ?v0!12)))
  39.181 +(let (($x3804 (or $x1768 $x1773 $x252 $x1208 $x3660 $x2930 $x3670 $x3678 $x3801)))
  39.182 +(let (($x3807 (not $x3804)))
  39.183 +(let ((?x242 (fun_app$a v_b_SP_G_3$ b_Source$)))
  39.184 +(let (($x243 (= ?x242 0)))
  39.185 +(let (($x3617 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
  39.186 +(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
  39.187 +(let (($x1135 (>= (+ ?x152 ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0))) 0)))
  39.188 +(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
  39.189 +(let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0)))
  39.190 +(or $x1094 $x917 $x1135)))))) :pattern ( (pair$ ?v1 ?v0) ) :qid k!38))
  39.191 +))
  39.192 +(let (($x3622 (not $x3617)))
  39.193 +(let (($x3625 (or $x3622 $x243)))
  39.194 +(let (($x3628 (not $x3625)))
  39.195 +(let ((?x1729 (fun_app$a v_b_SP_G_3$ ?v0!11)))
  39.196 +(let ((?x1730 (* (- 1) ?x1729)))
  39.197 +(let ((?x1721 (pair$ ?v1!10 ?v0!11)))
  39.198 +(let ((?x1722 (b_G$ ?x1721)))
  39.199 +(let ((?x1716 (fun_app$a v_b_SP_G_3$ ?v1!10)))
  39.200 +(let ((?x2201 (+ ?x1716 ?x1722 ?x1730)))
  39.201 +(let (($x2204 (>= ?x2201 0)))
  39.202 +(let (($x1725 (<= (+ b_Infinity$ (* (- 1) ?x1722)) 0)))
  39.203 +(let (($x1719 (<= (+ b_Infinity$ (* (- 1) ?x1716)) 0)))
  39.204 +(let (($x2640 (or $x1719 $x1725 $x2204)))
  39.205 +(let (($x2645 (not $x2640)))
  39.206 +(let (($x3631 (or $x2645 $x3628)))
  39.207 +(let (($x3634 (not $x3631)))
  39.208 +(let (($x3609 (forall ((?v0 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v0)))
  39.209 +(let ((?x2186 (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!9 ?v0) ?v0))))))
  39.210 +(let (($x2187 (= ?x2186 0)))
  39.211 +(let (($x2171 (<= (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0)))) 0)))
  39.212 +(let (($x2612 (not (or $x2171 (not $x2187)))))
  39.213 +(let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0)))
  39.214 +(let (($x123 (= ?v0 b_Source$)))
  39.215 +(or $x123 $x1094 $x2612)))))))) :pattern ( (fun_app$a v_b_SP_G_3$ ?v0) ) :qid k!38))
  39.216 +))
  39.217 +(let (($x3614 (not $x3609)))
  39.218 +(let (($x3637 (or $x3614 $x3634)))
  39.219 +(let (($x3640 (not $x3637)))
  39.220 +(let (($x3595 (forall ((?v1 B_Vertex$) )(! (let ((?x1656 (fun_app$a v_b_SP_G_3$ ?v0!8)))
  39.221 +(let ((?x1657 (* (- 1) ?x1656)))
  39.222 +(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
  39.223 +(let (($x2143 (= (+ ?x227 ?x1657 (b_G$ (pair$ ?v1 ?v0!8))) 0)))
  39.224 +(or (>= (+ ?x227 ?x1657) 0) (not $x2143)))))) :pattern ( (fun_app$a v_b_SP_G_3$ ?v1) ) :pattern ( (pair$ ?v1 ?v0!8) ) :qid k!38))
  39.225 +))
  39.226 +(let (($x3600 (not $x3595)))
  39.227 +(let (($x1659 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0!8))) 0)))
  39.228 +(let (($x1654 (= ?v0!8 b_Source$)))
  39.229 +(let (($x3603 (or $x1654 $x1659 $x3600)))
  39.230 +(let (($x3606 (not $x3603)))
  39.231 +(let (($x3643 (or $x3606 $x3640)))
  39.232 +(let (($x3646 (not $x3643)))
  39.233 +(let (($x217 (= v_b_oldSP_G_1$ v_b_oldSP_G_0$)))
  39.234 +(let (($x2704 (not $x217)))
  39.235 +(let (($x214 (= v_b_SP_G_3$ v_b_SP_G_1$)))
  39.236 +(let (($x2703 (not $x214)))
  39.237 +(let (($x212 (= v_b_v_G_2$ v_b_v_G_0$)))
  39.238 +(let (($x2702 (not $x212)))
  39.239 +(let (($x209 (= v_b_Visited_G_3$ v_b_Visited_G_1$)))
  39.240 +(let (($x2701 (not $x209)))
  39.241 +(let (($x3585 (forall ((?v0 B_Vertex$) )(! (let (($x997 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
  39.242 +(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0)))
  39.243 +(or $x175 $x997))) :pattern ( (fun_app$ v_b_Visited_G_1$ ?v0) ) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :qid k!38))
  39.244 +))
  39.245 +(let (($x3590 (not $x3585)))
  39.246 +(let (($x3649 (or $x3590 $x2701 $x2702 $x2703 $x2704 $x3646)))
  39.247 +(let (($x3652 (not $x3649)))
  39.248 +(let (($x3810 (or $x3652 $x3807)))
  39.249 +(let (($x3813 (not $x3810)))
  39.250 +(let (($x3576 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
  39.251 +(let ((?x2123 (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!7 ?v0) ?v0))))))
  39.252 +(let (($x2124 (= ?x2123 0)))
  39.253 +(let (($x2108 (<= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?v0)))) 0)))
  39.254 +(let (($x2546 (not (or $x2108 (not (fun_app$ v_b_Visited_G_1$ (?v1!7 ?v0))) (not $x2124)))))
  39.255 +(let (($x997 (<= (+ b_Infinity$ (* (- 1) ?x171)) 0)))
  39.256 +(let (($x123 (= ?v0 b_Source$)))
  39.257 +(or $x123 $x997 $x2546)))))))) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :qid k!38))
  39.258 +))
  39.259 +(let (($x3581 (not $x3576)))
  39.260 +(let (($x3568 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
  39.261 +(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
  39.262 +(let (($x985 (>= (+ ?x152 ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
  39.263 +(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
  39.264 +(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
  39.265 +(let (($x176 (not $x175)))
  39.266 +(or $x176 $x917 $x985))))))) :pattern ( (pair$ ?v1 ?v0) ) :qid k!38))
  39.267 +))
  39.268 +(let (($x3573 (not $x3568)))
  39.269 +(let (($x3560 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
  39.270 +(let (($x1010 (>= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
  39.271 +(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
  39.272 +(or $x175 (not (fun_app$ v_b_Visited_G_1$ ?v0)) $x1010)))) :pattern ( (fun_app$ v_b_Visited_G_1$ ?v1) (fun_app$ v_b_Visited_G_1$ ?v0) ) :qid k!38))
  39.273 +))
  39.274 +(let (($x3565 (not $x3560)))
  39.275 +(let (($x3551 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
  39.276 +(>= ?x171 0)) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :qid k!38))
  39.277 +))
  39.278 +(let (($x3556 (not $x3551)))
  39.279 +(let ((?x169 (fun_app$a v_b_SP_G_1$ b_Source$)))
  39.280 +(let (($x170 (= ?x169 0)))
  39.281 +(let (($x2947 (not $x170)))
  39.282 +(let (($x3542 (forall ((?v0 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v0)))
  39.283 +(let ((?x2085 (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!6 ?v0) ?v0))))))
  39.284 +(let (($x2086 (= ?x2085 0)))
  39.285 +(let (($x2070 (<= (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?v0)))) 0)))
  39.286 +(let (($x2473 (not (or $x2070 (not (fun_app$ v_b_Visited_G_0$ (?v1!6 ?v0))) (not $x2086)))))
  39.287 +(let (($x942 (<= (+ b_Infinity$ (* (- 1) ?x124)) 0)))
  39.288 +(let (($x123 (= ?v0 b_Source$)))
  39.289 +(or $x123 $x942 $x2473)))))))) :pattern ( (v_b_SP_G_0$ ?v0) ) :qid k!38))
  39.290 +))
  39.291 +(let (($x3547 (not $x3542)))
  39.292 +(let (($x3816 (or $x3547 $x2947 $x3556 $x3565 $x3573 $x3581 $x3813)))
  39.293 +(let (($x3819 (not $x3816)))
  39.294 +(let (($x3528 (forall ((?v1 B_Vertex$) )(! (let ((?x1535 (v_b_SP_G_0$ ?v0!5)))
  39.295 +(let ((?x1536 (* (- 1) ?x1535)))
  39.296 +(let ((?x124 (v_b_SP_G_0$ ?v1)))
  39.297 +(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
  39.298 +(let (($x134 (not $x133)))
  39.299 +(or (>= (+ ?x124 ?x1536) 0) $x134 (not (= (+ ?x124 ?x1536 (b_G$ (pair$ ?v1 ?v0!5))) 0)))))))) :pattern ( (v_b_SP_G_0$ ?v1) ) :pattern ( (fun_app$ v_b_Visited_G_0$ ?v1) ) :pattern ( (pair$ ?v1 ?v0!5) ) :qid k!38))
  39.300 +))
  39.301 +(let (($x3533 (not $x3528)))
  39.302 +(let ((?x1535 (v_b_SP_G_0$ ?v0!5)))
  39.303 +(let ((?x1536 (* (- 1) ?x1535)))
  39.304 +(let ((?x1537 (+ b_Infinity$ ?x1536)))
  39.305 +(let (($x1538 (<= ?x1537 0)))
  39.306 +(let (($x1533 (= ?v0!5 b_Source$)))
  39.307 +(let (($x3536 (or $x1533 $x1538 $x3533)))
  39.308 +(let (($x1534 (not $x1533)))
  39.309 +(let ((@x5072 (unit-resolution (def-axiom (or $x3536 $x1534)) (hypothesis (not $x3536)) $x1534)))
  39.310 +(let (($x5500 (= b_Infinity$ ?x1535)))
  39.311 +(let (($x6555 (not $x5500)))
  39.312 +(let (($x1539 (not $x1538)))
  39.313 +(let ((@x5027 (unit-resolution (def-axiom (or $x3536 $x1539)) (hypothesis (not $x3536)) $x1539)))
  39.314 +(let ((@x5583 (symm (commutativity (= $x5500 (= ?x1535 b_Infinity$))) (= (= ?x1535 b_Infinity$) $x5500))))
  39.315 +(let (($x5648 (= ?x1535 b_Infinity$)))
  39.316 +(let (($x3488 (forall ((?v0 B_Vertex$) )(! (let (($x123 (= ?v0 b_Source$)))
  39.317 +(or $x123 (= (v_b_SP_G_0$ ?v0) b_Infinity$))) :pattern ( (v_b_SP_G_0$ ?v0) ) :qid k!38))
  39.318 +))
  39.319 +(let (($x355 (forall ((?v0 B_Vertex$) )(! (let (($x123 (= ?v0 b_Source$)))
  39.320 +(or $x123 (= (v_b_SP_G_0$ ?v0) b_Infinity$))) :qid k!38))
  39.321 +))
  39.322 +(let (($x123 (= ?0 b_Source$)))
  39.323 +(let (($x352 (or $x123 (= (v_b_SP_G_0$ ?0) b_Infinity$))))
  39.324 +(let (($x135 (forall ((?v0 B_Vertex$) )(! (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v0)))
  39.325 +(not $x133)) :qid k!38))
  39.326 +))
  39.327 +(let (($x349 (forall ((?v0 B_Vertex$) )(! (let (($x123 (= ?v0 b_Source$)))
  39.328 +(let (($x128 (not $x123)))
  39.329 +(or $x128 (= (v_b_SP_G_0$ ?v0) 0)))) :qid k!38))
  39.330 +))
  39.331 +(let (($x885 (and $x349 $x355 $x135)))
  39.332 +(let (($x1324 (forall ((?v0 B_Vertex$) )(! (let (($x1318 (exists ((?v1 B_Vertex$) )(! (let ((?x298 (v_b_SP_G_2$ ?v0)))
  39.333 +(let ((?x1258 (* (- 1) ?x298)))
  39.334 +(let ((?x268 (v_b_SP_G_2$ ?v1)))
  39.335 +(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
  39.336 +(let (($x1301 (= (+ ?x152 ?x268 ?x1258) 0)))
  39.337 +(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
  39.338 +(let (($x1257 (>= (+ ?x268 ?x1258) 0)))
  39.339 +(let (($x1304 (not $x1257)))
  39.340 +(and $x1304 $x286 $x1301))))))))) :qid k!38))
  39.341 +))
  39.342 +(let (($x123 (= ?v0 b_Source$)))
  39.343 +(let (($x128 (not $x123)))
  39.344 +(let (($x1295 (and $x128 (not (<= (+ b_Infinity$ (* (- 1) (v_b_SP_G_2$ ?v0))) 0)))))
  39.345 +(or (not $x1295) $x1318))))) :qid k!38))
  39.346 +))
  39.347 +(let (($x1284 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x298 (v_b_SP_G_2$ ?v0)))
  39.348 +(let ((?x1258 (* (- 1) ?x298)))
  39.349 +(let ((?x268 (v_b_SP_G_2$ ?v1)))
  39.350 +(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
  39.351 +(let (($x1277 (>= (+ ?x152 ?x268 ?x1258) 0)))
  39.352 +(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
  39.353 +(let (($x918 (not $x917)))
  39.354 +(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
  39.355 +(let (($x1271 (and $x286 $x918)))
  39.356 +(let (($x1274 (not $x1271)))
  39.357 +(or $x1274 $x1277))))))))))) :qid k!38))
  39.358 +))
  39.359 +(let (($x1287 (not $x1284)))
  39.360 +(let (($x1327 (or $x1287 $x1324)))
  39.361 +(let (($x1330 (and $x1284 $x1327)))
  39.362 +(let (($x1265 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x1257 (>= (+ (v_b_SP_G_2$ ?v1) (* (- 1) (v_b_SP_G_2$ ?v0))) 0)))
  39.363 +(let (($x296 (fun_app$ v_b_Visited_G_2$ ?v0)))
  39.364 +(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
  39.365 +(let (($x295 (not $x286)))
  39.366 +(let (($x297 (and $x295 $x296)))
  39.367 +(let (($x659 (not $x297)))
  39.368 +(or $x659 $x1257))))))) :qid k!38))
  39.369 +))
  39.370 +(let (($x1268 (not $x1265)))
  39.371 +(let (($x1333 (or $x1268 $x1330)))
  39.372 +(let (($x1336 (and $x1265 $x1333)))
  39.373 +(let (($x1251 (forall ((?v0 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v0)))
  39.374 +(>= ?x268 0)) :qid k!38))
  39.375 +))
  39.376 +(let (($x1254 (not $x1251)))
  39.377 +(let (($x1339 (or $x1254 $x1336)))
  39.378 +(let (($x1342 (and $x1251 $x1339)))
  39.379 +(let (($x1345 (or $x768 $x1342)))
  39.380 +(let (($x1348 (and $x292 $x1345)))
  39.381 +(let (($x647 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
  39.382 +(let ((?x268 (v_b_SP_G_2$ ?v0)))
  39.383 +(let (($x273 (= ?x268 ?x171)))
  39.384 +(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v0)))
  39.385 +(let (($x295 (not $x286)))
  39.386 +(or $x295 $x273)))))) :qid k!38))
  39.387 +))
  39.388 +(let (($x780 (not $x647)))
  39.389 +(let (($x1351 (or $x780 $x1348)))
  39.390 +(let (($x1354 (and $x647 $x1351)))
  39.391 +(let (($x1242 (forall ((?v0 B_Vertex$) )(! (>= (+ (fun_app$a v_b_SP_G_1$ ?v0) (* (- 1) (v_b_SP_G_2$ ?v0))) 0) :qid k!38))
  39.392 +))
  39.393 +(let (($x1245 (not $x1242)))
  39.394 +(let (($x1357 (or $x1245 $x1354)))
  39.395 +(let (($x1360 (and $x1242 $x1357)))
  39.396 +(let (($x1194 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
  39.397 +(let ((?x268 (v_b_SP_G_2$ ?v0)))
  39.398 +(let (($x273 (= ?x268 ?x171)))
  39.399 +(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
  39.400 +(let ((?x1168 (* (- 1) ?x254)))
  39.401 +(let (($x1170 (<= (+ ?x171 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0)))) 0)))
  39.402 +(let (($x1164 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0)))) 0)))
  39.403 +(let (($x1174 (and (not $x1164) (not $x1170))))
  39.404 +(or $x1174 $x273))))))))) :qid k!38))
  39.405 +))
  39.406 +(let (($x1188 (forall ((?v0 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v0)))
  39.407 +(let ((?x1181 (* (- 1) ?x268)))
  39.408 +(let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0))))
  39.409 +(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
  39.410 +(let (($x1180 (= (+ ?x254 ?x263 ?x1181) 0)))
  39.411 +(let (($x1170 (<= (+ (fun_app$a v_b_SP_G_1$ ?v0) (* (- 1) ?x254) (* (- 1) ?x263)) 0)))
  39.412 +(let (($x1174 (and (not (<= (+ b_Infinity$ (* (- 1) ?x263)) 0)) (not $x1170))))
  39.413 +(let (($x1177 (not $x1174)))
  39.414 +(or $x1177 $x1180))))))))) :qid k!38))
  39.415 +))
  39.416 +(let (($x1204 (forall ((?v0 B_Vertex$) )(! (let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
  39.417 +(let ((?x1168 (* (- 1) ?x254)))
  39.418 +(let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
  39.419 +(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0)))
  39.420 +(or $x175 (>= (+ ?x171 ?x1168) 0)))))) :qid k!38))
  39.421 +))
  39.422 +(let (($x1209 (not $x1208)))
  39.423 +(let (($x253 (not $x252)))
  39.424 +(let (($x1075 (exists ((?v0 B_Vertex$) )(! (let (($x997 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
  39.425 +(let (($x998 (not $x997)))
  39.426 +(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0)))
  39.427 +(let (($x176 (not $x175)))
  39.428 +(and $x176 $x998))))) :qid k!38))
  39.429 +))
  39.430 +(let (($x1230 (and $x1075 $x253 $x1209 $x1204 $x261 $x1188 $x1194)))
  39.431 +(let (($x1235 (not $x1230)))
  39.432 +(let (($x1363 (or $x1235 $x1360)))
  39.433 +(let (($x1141 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
  39.434 +(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
  39.435 +(let (($x1135 (>= (+ ?x152 ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0))) 0)))
  39.436 +(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
  39.437 +(let (($x918 (not $x917)))
  39.438 +(let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0)))
  39.439 +(let (($x1095 (not $x1094)))
  39.440 +(let (($x1129 (and $x1095 $x918)))
  39.441 +(let (($x1132 (not $x1129)))
  39.442 +(or $x1132 $x1135)))))))))) :qid k!38))
  39.443 +))
  39.444 +(let (($x1144 (not $x1141)))
  39.445 +(let (($x1147 (or $x1144 $x243)))
  39.446 +(let (($x1150 (and $x1141 $x1147)))
  39.447 +(let (($x1123 (forall ((?v0 B_Vertex$) )(! (let (($x1117 (exists ((?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
  39.448 +(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
  39.449 +(and (not (>= (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0))) 0)) (= (+ ?x152 ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0))) 0)))) :qid k!38))
  39.450 +))
  39.451 +(let (($x1094 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0))) 0)))
  39.452 +(let (($x1095 (not $x1094)))
  39.453 +(let (($x123 (= ?v0 b_Source$)))
  39.454 +(let (($x128 (not $x123)))
  39.455 +(let (($x1098 (and $x128 $x1095)))
  39.456 +(let (($x1101 (not $x1098)))
  39.457 +(or $x1101 $x1117)))))))) :qid k!38))
  39.458 +))
  39.459 +(let (($x1126 (not $x1123)))
  39.460 +(let (($x1153 (or $x1126 $x1150)))
  39.461 +(let (($x1156 (and $x1123 $x1153)))
  39.462 +(let (($x1078 (not $x1075)))
  39.463 +(let (($x1084 (and $x1078 $x209 $x212 $x214 $x217)))
  39.464 +(let (($x1089 (not $x1084)))
  39.465 +(let (($x1159 (or $x1089 $x1156)))
  39.466 +(let (($x1366 (and $x1159 $x1363)))
  39.467 +(let (($x1032 (forall ((?v0 B_Vertex$) )(! (let (($x1026 (exists ((?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
  39.468 +(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
  39.469 +(let (($x1007 (= (+ ?x152 ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
  39.470 +(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
  39.471 +(let (($x1010 (>= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
  39.472 +(let (($x1012 (not $x1010)))
  39.473 +(and $x1012 $x175 $x1007))))))) :qid k!38))
  39.474 +))
  39.475 +(let (($x997 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
  39.476 +(let (($x998 (not $x997)))
  39.477 +(let (($x123 (= ?v0 b_Source$)))
  39.478 +(let (($x128 (not $x123)))
  39.479 +(let (($x1001 (and $x128 $x998)))
  39.480 +(let (($x1004 (not $x1001)))
  39.481 +(or $x1004 $x1026)))))))) :qid k!38))
  39.482 +))
  39.483 +(let (($x992 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
  39.484 +(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
  39.485 +(let (($x985 (>= (+ ?x152 ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
  39.486 +(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
  39.487 +(let (($x918 (not $x917)))
  39.488 +(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
  39.489 +(let (($x978 (and $x175 $x918)))
  39.490 +(let (($x981 (not $x978)))
  39.491 +(or $x981 $x985))))))))) :qid k!38))
  39.492 +))
  39.493 +(let (($x1040 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
  39.494 +(let (($x1010 (>= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
  39.495 +(let (($x177 (fun_app$ v_b_Visited_G_1$ ?v0)))
  39.496 +(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
  39.497 +(let (($x176 (not $x175)))
  39.498 +(let (($x178 (and $x176 $x177)))
  39.499 +(let (($x398 (not $x178)))
  39.500 +(or $x398 $x1010)))))))) :qid k!38))
  39.501 +))
  39.502 +(let (($x1046 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
  39.503 +(>= ?x171 0)) :qid k!38))
  39.504 +))
  39.505 +(let (($x975 (forall ((?v0 B_Vertex$) )(! (let (($x969 (exists ((?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
  39.506 +(let ((?x124 (v_b_SP_G_0$ ?v1)))
  39.507 +(let (($x952 (= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?v0)) ?x152) 0)))
  39.508 +(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
  39.509 +(let (($x902 (>= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?v0))) 0)))
  39.510 +(let (($x955 (not $x902)))
  39.511 +(and $x955 $x133 $x952))))))) :qid k!38))
  39.512 +))
  39.513 +(let (($x123 (= ?v0 b_Source$)))
  39.514 +(let (($x128 (not $x123)))
  39.515 +(let (($x946 (and $x128 (not (<= (+ b_Infinity$ (* (- 1) (v_b_SP_G_0$ ?v0))) 0)))))
  39.516 +(let (($x949 (not $x946)))
  39.517 +(or $x949 $x969)))))) :qid k!38))
  39.518 +))
  39.519 +(let (($x1064 (and $x975 $x170 $x1046 $x1040 $x992 $x1032)))
  39.520 +(let (($x1069 (not $x1064)))
  39.521 +(let (($x1369 (or $x1069 $x1366)))
  39.522 +(let (($x1372 (and $x975 $x1369)))
  39.523 +(let (($x934 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
  39.524 +(let ((?x124 (v_b_SP_G_0$ ?v1)))
  39.525 +(let (($x928 (>= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?v0)) ?x152) 0)))
  39.526 +(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
  39.527 +(let (($x918 (not $x917)))
  39.528 +(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
  39.529 +(let (($x921 (and $x133 $x918)))
  39.530 +(let (($x924 (not $x921)))
  39.531 +(or $x924 $x928))))))))) :qid k!38))
  39.532 +))
  39.533 +(let (($x937 (not $x934)))
  39.534 +(let (($x1375 (or $x937 $x1372)))
  39.535 +(let (($x1378 (and $x934 $x1375)))
  39.536 +(let (($x909 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x902 (>= (+ (v_b_SP_G_0$ ?v1) (* (- 1) (v_b_SP_G_0$ ?v0))) 0)))
  39.537 +(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
  39.538 +(let (($x134 (not $x133)))
  39.539 +(let (($x146 (and $x134 (fun_app$ v_b_Visited_G_0$ ?v0))))
  39.540 +(let (($x377 (not $x146)))
  39.541 +(or $x377 $x902)))))) :qid k!38))
  39.542 +))
  39.543 +(let (($x912 (not $x909)))
  39.544 +(let (($x1381 (or $x912 $x1378)))
  39.545 +(let (($x1384 (and $x909 $x1381)))
  39.546 +(let (($x894 (forall ((?v0 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v0)))
  39.547 +(>= ?x124 0)) :qid k!38))
  39.548 +))
  39.549 +(let (($x897 (not $x894)))
  39.550 +(let (($x1387 (or $x897 $x1384)))
  39.551 +(let (($x1390 (and $x894 $x1387)))
  39.552 +(let ((?x141 (v_b_SP_G_0$ b_Source$)))
  39.553 +(let (($x142 (= ?x141 0)))
  39.554 +(let (($x864 (not $x142)))
  39.555 +(let (($x1393 (or $x864 $x1390)))
  39.556 +(let (($x1396 (and $x142 $x1393)))
  39.557 +(let (($x1402 (not (or (not $x885) $x1396))))
  39.558 +(let (($x315 (forall ((?v0 B_Vertex$) )(! (let (($x313 (exists ((?v1 B_Vertex$) )(! (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
  39.559 +(let (($x311 (and $x286 (= (v_b_SP_G_2$ ?v0) (+ (v_b_SP_G_2$ ?v1) (b_G$ (pair$ ?v1 ?v0)))))))
  39.560 +(let ((?x298 (v_b_SP_G_2$ ?v0)))
  39.561 +(let ((?x268 (v_b_SP_G_2$ ?v1)))
  39.562 +(let (($x309 (< ?x268 ?x298)))
  39.563 +(and $x309 $x311)))))) :qid k!38))
  39.564 +))
  39.565 +(let (($x123 (= ?v0 b_Source$)))
  39.566 +(let (($x128 (not $x123)))
  39.567 +(let (($x308 (and $x128 (< (v_b_SP_G_2$ ?v0) b_Infinity$))))
  39.568 +(=> $x308 $x313))))) :qid k!38))
  39.569 +))
  39.570 +(let (($x316 (and $x315 false)))
  39.571 +(let (($x317 (=> $x316 true)))
  39.572 +(let (($x318 (and $x315 $x317)))
  39.573 +(let (($x306 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
  39.574 +(let ((?x268 (v_b_SP_G_2$ ?v1)))
  39.575 +(let ((?x303 (+ ?x268 ?x152)))
  39.576 +(let ((?x298 (v_b_SP_G_2$ ?v0)))
  39.577 +(let (($x153 (< ?x152 b_Infinity$)))
  39.578 +(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
  39.579 +(let (($x302 (and $x286 $x153)))
  39.580 +(=> $x302 (<= ?x298 ?x303))))))))) :qid k!38))
  39.581 +))
  39.582 +(let (($x319 (=> $x306 $x318)))
  39.583 +(let (($x301 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v1)))
  39.584 +(let ((?x298 (v_b_SP_G_2$ ?v0)))
  39.585 +(let (($x299 (<= ?x298 ?x268)))
  39.586 +(let (($x296 (fun_app$ v_b_Visited_G_2$ ?v0)))
  39.587 +(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
  39.588 +(let (($x295 (not $x286)))
  39.589 +(let (($x297 (and $x295 $x296)))
  39.590 +(=> $x297 $x299)))))))) :qid k!38))
  39.591 +))
  39.592 +(let (($x321 (=> $x301 (and $x306 $x319))))
  39.593 +(let (($x294 (forall ((?v0 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v0)))
  39.594 +(<= 0 ?x268)) :qid k!38))
  39.595 +))
  39.596 +(let (($x323 (=> $x294 (and $x301 $x321))))
  39.597 +(let (($x325 (=> $x292 (and $x294 $x323))))
  39.598 +(let (($x288 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
  39.599 +(let ((?x268 (v_b_SP_G_2$ ?v0)))
  39.600 +(let (($x273 (= ?x268 ?x171)))
  39.601 +(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v0)))
  39.602 +(=> $x286 $x273))))) :qid k!38))
  39.603 +))
  39.604 +(let (($x290 (and $x288 (and true true))))
  39.605 +(let (($x327 (=> $x290 (and $x292 $x325))))
  39.606 +(let (($x285 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
  39.607 +(let ((?x268 (v_b_SP_G_2$ ?v0)))
  39.608 +(<= ?x268 ?x171))) :qid k!38))
  39.609 +))
  39.610 +(let (($x329 (=> $x285 (and $x288 $x327))))
  39.611 +(let (($x275 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
  39.612 +(let ((?x268 (v_b_SP_G_2$ ?v0)))
  39.613 +(let (($x273 (= ?x268 ?x171)))
  39.614 +(let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0))))
  39.615 +(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
  39.616 +(let ((?x265 (+ ?x254 ?x263)))
  39.617 +(let (($x267 (and (< ?x263 b_Infinity$) (< ?x265 ?x171))))
  39.618 +(let (($x272 (not $x267)))
  39.619 +(=> $x272 $x273))))))))) :qid k!38))
  39.620 +))
  39.621 +(let (($x271 (forall ((?v0 B_Vertex$) )(! (let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0))))
  39.622 +(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
  39.623 +(let ((?x265 (+ ?x254 ?x263)))
  39.624 +(let ((?x268 (v_b_SP_G_2$ ?v0)))
  39.625 +(let (($x269 (= ?x268 ?x265)))
  39.626 +(let (($x267 (and (< ?x263 b_Infinity$) (< ?x265 (fun_app$a v_b_SP_G_1$ ?v0)))))
  39.627 +(=> $x267 $x269))))))) :qid k!38))
  39.628 +))
  39.629 +(let (($x258 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
  39.630 +(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
  39.631 +(let (($x256 (<= ?x254 ?x171)))
  39.632 +(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0)))
  39.633 +(let (($x176 (not $x175)))
  39.634 +(=> $x176 $x256)))))) :qid k!38))
  39.635 +))
  39.636 +(let (($x255 (< ?x254 b_Infinity$)))
  39.637 +(let (($x206 (exists ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
  39.638 +(let (($x188 (< ?x171 b_Infinity$)))
  39.639 +(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0)))
  39.640 +(let (($x176 (not $x175)))
  39.641 +(and $x176 $x188))))) :qid k!38))
  39.642 +))
  39.643 +(let (($x281 (and $x206 (and $x253 (and $x255 (and $x258 (and $x261 (and $x271 $x275))))))))
  39.644 +(let (($x282 (and true $x281)))
  39.645 +(let (($x283 (and true $x282)))
  39.646 +(let (($x331 (=> $x283 (and $x285 $x329))))
  39.647 +(let (($x245 (and $x243 (=> $x243 true))))
  39.648 +(let (($x241 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
  39.649 +(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
  39.650 +(let ((?x232 (+ ?x227 ?x152)))
  39.651 +(let ((?x230 (fun_app$a v_b_SP_G_3$ ?v0)))
  39.652 +(let (($x153 (< ?x152 b_Infinity$)))
  39.653 +(let (($x228 (< ?x227 b_Infinity$)))
  39.654 +(let (($x238 (and $x228 $x153)))
  39.655 +(=> $x238 (<= ?x230 ?x232))))))))) :qid k!38))
  39.656 +))
  39.657 +(let (($x246 (=> $x241 $x245)))
  39.658 +(let (($x237 (forall ((?v0 B_Vertex$) )(! (let (($x235 (exists ((?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
  39.659 +(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
  39.660 +(let ((?x232 (+ ?x227 ?x152)))
  39.661 +(let ((?x230 (fun_app$a v_b_SP_G_3$ ?v0)))
  39.662 +(let (($x231 (< ?x227 ?x230)))
  39.663 +(and $x231 (= ?x230 ?x232))))))) :qid k!38))
  39.664 +))
  39.665 +(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v0)))
  39.666 +(let (($x228 (< ?x227 b_Infinity$)))
  39.667 +(let (($x123 (= ?v0 b_Source$)))
  39.668 +(let (($x128 (not $x123)))
  39.669 +(let (($x229 (and $x128 $x228)))
  39.670 +(=> $x229 $x235))))))) :qid k!38))
  39.671 +))
  39.672 +(let (($x248 (=> $x237 (and $x241 $x246))))
  39.673 +(let (($x222 (and true (and $x209 (and $x212 (and $x214 (and $x217 true)))))))
  39.674 +(let (($x223 (and true $x222)))
  39.675 +(let (($x207 (not $x206)))
  39.676 +(let (($x225 (and true (and $x207 $x223))))
  39.677 +(let (($x226 (and true $x225)))
  39.678 +(let (($x250 (=> $x226 (and $x237 $x248))))
  39.679 +(let (($x196 (forall ((?v0 B_Vertex$) )(! (let (($x194 (exists ((?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
  39.680 +(let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
  39.681 +(let ((?x184 (+ ?x171 ?x152)))
  39.682 +(let ((?x179 (fun_app$a v_b_SP_G_1$ ?v0)))
  39.683 +(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
  39.684 +(let (($x190 (< ?x171 ?x179)))
  39.685 +(and $x190 (and $x175 (= ?x179 ?x184))))))))) :qid k!38))
  39.686 +))
  39.687 +(let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
  39.688 +(let (($x188 (< ?x171 b_Infinity$)))
  39.689 +(let (($x123 (= ?v0 b_Source$)))
  39.690 +(let (($x128 (not $x123)))
  39.691 +(let (($x189 (and $x128 $x188)))
  39.692 +(=> $x189 $x194))))))) :qid k!38))
  39.693 +))
  39.694 +(let (($x197 (and $x196 true)))
  39.695 +(let (($x187 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
  39.696 +(let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
  39.697 +(let ((?x184 (+ ?x171 ?x152)))
  39.698 +(let ((?x179 (fun_app$a v_b_SP_G_1$ ?v0)))
  39.699 +(let (($x153 (< ?x152 b_Infinity$)))
  39.700 +(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
  39.701 +(let (($x183 (and $x175 $x153)))
  39.702 +(=> $x183 (<= ?x179 ?x184))))))))) :qid k!38))
  39.703 +))
  39.704 +(let (($x182 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
  39.705 +(let ((?x179 (fun_app$a v_b_SP_G_1$ ?v0)))
  39.706 +(let (($x180 (<= ?x179 ?x171)))
  39.707 +(let (($x177 (fun_app$ v_b_Visited_G_1$ ?v0)))
  39.708 +(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
  39.709 +(let (($x176 (not $x175)))
  39.710 +(let (($x178 (and $x176 $x177)))
  39.711 +(=> $x178 $x180)))))))) :qid k!38))
  39.712 +))
  39.713 +(let (($x173 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
  39.714 +(<= 0 ?x171)) :qid k!38))
  39.715 +))
  39.716 +(let (($x202 (and true (and $x170 (and $x173 (and $x182 (and $x187 $x197)))))))
  39.717 +(let (($x203 (and true $x202)))
  39.718 +(let (($x167 (forall ((?v0 B_Vertex$) )(! (let (($x165 (exists ((?v1 B_Vertex$) )(! (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
  39.719 +(let (($x163 (and $x133 (= (v_b_SP_G_0$ ?v0) (+ (v_b_SP_G_0$ ?v1) (b_G$ (pair$ ?v1 ?v0)))))))
  39.720 +(and (< (v_b_SP_G_0$ ?v1) (v_b_SP_G_0$ ?v0)) $x163))) :qid k!38))
  39.721 +))
  39.722 +(let (($x123 (= ?v0 b_Source$)))
  39.723 +(let (($x128 (not $x123)))
  39.724 +(let (($x160 (and $x128 (< (v_b_SP_G_0$ ?v0) b_Infinity$))))
  39.725 +(=> $x160 $x165))))) :qid k!38))
  39.726 +))
  39.727 +(let (($x333 (=> (and $x167 $x203) (and $x250 $x331))))
  39.728 +(let (($x158 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x147 (v_b_SP_G_0$ ?v0)))
  39.729 +(let (($x156 (<= ?x147 (+ (v_b_SP_G_0$ ?v1) (b_G$ (pair$ ?v1 ?v0))))))
  39.730 +(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
  39.731 +(let (($x153 (< ?x152 b_Infinity$)))
  39.732 +(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
  39.733 +(let (($x154 (and $x133 $x153)))
  39.734 +(=> $x154 $x156))))))) :qid k!38))
  39.735 +))
  39.736 +(let (($x335 (=> $x158 (and $x167 $x333))))
  39.737 +(let (($x150 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v1)))
  39.738 +(let ((?x147 (v_b_SP_G_0$ ?v0)))
  39.739 +(let (($x148 (<= ?x147 ?x124)))
  39.740 +(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
  39.741 +(let (($x134 (not $x133)))
  39.742 +(let (($x146 (and $x134 (fun_app$ v_b_Visited_G_0$ ?v0))))
  39.743 +(=> $x146 $x148))))))) :qid k!38))
  39.744 +))
  39.745 +(let (($x337 (=> $x150 (and $x158 $x335))))
  39.746 +(let (($x144 (forall ((?v0 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v0)))
  39.747 +(<= 0 ?x124)) :qid k!38))
  39.748 +))
  39.749 +(let (($x339 (=> $x144 (and $x150 $x337))))
  39.750 +(let (($x341 (=> $x142 (and $x144 $x339))))
  39.751 +(let (($x131 (forall ((?v0 B_Vertex$) )(! (let (($x123 (= ?v0 b_Source$)))
  39.752 +(let (($x128 (not $x123)))
  39.753 +(=> $x128 (= (v_b_SP_G_0$ ?v0) b_Infinity$)))) :qid k!38))
  39.754 +))
  39.755 +(let (($x127 (forall ((?v0 B_Vertex$) )(! (let (($x123 (= ?v0 b_Source$)))
  39.756 +(=> $x123 (= (v_b_SP_G_0$ ?v0) 0))) :qid k!38))
  39.757 +))
  39.758 +(let (($x139 (and true (and $x127 (and $x131 (and $x135 true))))))
  39.759 +(let (($x140 (and true $x139)))
  39.760 +(let (($x343 (=> $x140 (and $x142 $x341))))
  39.761 +(let (($x344 (not $x343)))
  39.762 +(let (($x705 (forall ((?v0 B_Vertex$) )(! (let (($x693 (exists ((?v1 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v1)))
  39.763 +(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
  39.764 +(let ((?x666 (+ ?x152 ?x268)))
  39.765 +(let ((?x298 (v_b_SP_G_2$ ?v0)))
  39.766 +(let (($x684 (= ?x298 ?x666)))
  39.767 +(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
  39.768 +(let (($x687 (and $x286 $x684)))
  39.769 +(let (($x309 (< ?x268 ?x298)))
  39.770 +(and $x309 $x687))))))))) :qid k!38))
  39.771 +))
  39.772 +(let (($x123 (= ?v0 b_Source$)))
  39.773 +(let (($x128 (not $x123)))
  39.774 +(let (($x308 (and $x128 (< (v_b_SP_G_2$ ?v0) b_Infinity$))))
  39.775 +(or (not $x308) $x693))))) :qid k!38))
  39.776 +))
  39.777 +(let (($x681 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v1)))
  39.778 +(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
  39.779 +(let ((?x666 (+ ?x152 ?x268)))
  39.780 +(let ((?x298 (v_b_SP_G_2$ ?v0)))
  39.781 +(let (($x669 (<= ?x298 ?x666)))
  39.782 +(or (not (and (fun_app$ v_b_Visited_G_2$ ?v1) (< ?x152 b_Infinity$))) $x669)))))) :qid k!38))
  39.783 +))
  39.784 +(let (($x733 (or (not $x681) $x705)))
  39.785 +(let (($x738 (and $x681 $x733)))
  39.786 +(let (($x663 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v1)))
  39.787 +(let ((?x298 (v_b_SP_G_2$ ?v0)))
  39.788 +(let (($x299 (<= ?x298 ?x268)))
  39.789 +(let (($x296 (fun_app$ v_b_Visited_G_2$ ?v0)))
  39.790 +(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
  39.791 +(let (($x295 (not $x286)))
  39.792 +(let (($x297 (and $x295 $x296)))
  39.793 +(let (($x659 (not $x297)))
  39.794 +(or $x659 $x299))))))))) :qid k!38))
  39.795 +))
  39.796 +(let (($x745 (or (not $x663) $x738)))
  39.797 +(let (($x750 (and $x663 $x745)))
  39.798 +(let (($x757 (or (not $x294) $x750)))
  39.799 +(let (($x762 (and $x294 $x757)))
  39.800 +(let (($x769 (or $x768 $x762)))
  39.801 +(let (($x774 (and $x292 $x769)))
  39.802 +(let (($x781 (or $x780 $x774)))
  39.803 +(let (($x786 (and $x647 $x781)))
  39.804 +(let (($x793 (or (not $x285) $x786)))
  39.805 +(let (($x798 (and $x285 $x793)))
  39.806 +(let (($x612 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
  39.807 +(let ((?x268 (v_b_SP_G_2$ ?v0)))
  39.808 +(let (($x273 (= ?x268 ?x171)))
  39.809 +(let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0))))
  39.810 +(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
  39.811 +(let ((?x265 (+ ?x254 ?x263)))
  39.812 +(let (($x267 (and (< ?x263 b_Infinity$) (< ?x265 ?x171))))
  39.813 +(or $x267 $x273)))))))) :qid k!38))
  39.814 +))
  39.815 +(let (($x606 (forall ((?v0 B_Vertex$) )(! (let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0))))
  39.816 +(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
  39.817 +(let ((?x265 (+ ?x254 ?x263)))
  39.818 +(let ((?x268 (v_b_SP_G_2$ ?v0)))
  39.819 +(let (($x269 (= ?x268 ?x265)))
  39.820 +(let (($x267 (and (< ?x263 b_Infinity$) (< ?x265 (fun_app$a v_b_SP_G_1$ ?v0)))))
  39.821 +(let (($x272 (not $x267)))
  39.822 +(or $x272 $x269)))))))) :qid k!38))
  39.823 +))
  39.824 +(let (($x615 (and $x606 $x612)))
  39.825 +(let (($x618 (and $x261 $x615)))
  39.826 +(let (($x600 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
  39.827 +(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
  39.828 +(let (($x256 (<= ?x254 ?x171)))
  39.829 +(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0)))
  39.830 +(or $x175 $x256))))) :qid k!38))
  39.831 +))
  39.832 +(let (($x621 (and $x600 $x618)))
  39.833 +(let (($x624 (and $x255 $x621)))
  39.834 +(let (($x627 (and $x253 $x624)))
  39.835 +(let (($x630 (and $x206 $x627)))
  39.836 +(let (($x805 (or (not $x630) $x798)))
  39.837 +(let (($x552 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
  39.838 +(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
  39.839 +(let ((?x516 (+ ?x152 ?x227)))
  39.840 +(let ((?x230 (fun_app$a v_b_SP_G_3$ ?v0)))
  39.841 +(let (($x540 (<= ?x230 ?x516)))
  39.842 +(or (not (and (< ?x227 b_Infinity$) (< ?x152 b_Infinity$))) $x540)))))) :qid k!38))
  39.843 +))
  39.844 +(let (($x568 (or (not $x552) $x243)))
  39.845 +(let (($x573 (and $x552 $x568)))
  39.846 +(let (($x537 (forall ((?v0 B_Vertex$) )(! (let (($x525 (exists ((?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
  39.847 +(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
  39.848 +(let ((?x516 (+ ?x152 ?x227)))
  39.849 +(let ((?x230 (fun_app$a v_b_SP_G_3$ ?v0)))
  39.850 +(let (($x519 (= ?x230 ?x516)))
  39.851 +(let (($x231 (< ?x227 ?x230)))
  39.852 +(and $x231 $x519))))))) :qid k!38))
  39.853 +))
  39.854 +(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v0)))
  39.855 +(let (($x228 (< ?x227 b_Infinity$)))
  39.856 +(let (($x123 (= ?v0 b_Source$)))
  39.857 +(let (($x128 (not $x123)))
  39.858 +(let (($x229 (and $x128 $x228)))
  39.859 +(or (not $x229) $x525))))))) :qid k!38))
  39.860 +))
  39.861 +(let (($x580 (or (not $x537) $x573)))
  39.862 +(let (($x585 (and $x537 $x580)))
  39.863 +(let (($x592 (or (not (and $x207 (and $x209 (and $x212 (and $x214 $x217))))) $x585)))
  39.864 +(let (($x810 (and $x592 $x805)))
  39.865 +(let (($x444 (forall ((?v0 B_Vertex$) )(! (let (($x432 (exists ((?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
  39.866 +(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
  39.867 +(let ((?x405 (+ ?x152 ?x171)))
  39.868 +(let ((?x179 (fun_app$a v_b_SP_G_1$ ?v0)))
  39.869 +(let (($x423 (= ?x179 ?x405)))
  39.870 +(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
  39.871 +(let (($x426 (and $x175 $x423)))
  39.872 +(let (($x190 (< ?x171 ?x179)))
  39.873 +(and $x190 $x426))))))))) :qid k!38))
  39.874 +))
  39.875 +(let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
  39.876 +(let (($x188 (< ?x171 b_Infinity$)))
  39.877 +(let (($x123 (= ?v0 b_Source$)))
  39.878 +(let (($x128 (not $x123)))
  39.879 +(let (($x189 (and $x128 $x188)))
  39.880 +(or (not $x189) $x432))))))) :qid k!38))
  39.881 +))
  39.882 +(let (($x420 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
  39.883 +(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
  39.884 +(let ((?x405 (+ ?x152 ?x171)))
  39.885 +(let ((?x179 (fun_app$a v_b_SP_G_1$ ?v0)))
  39.886 +(let (($x408 (<= ?x179 ?x405)))
  39.887 +(or (not (and (fun_app$ v_b_Visited_G_1$ ?v1) (< ?x152 b_Infinity$))) $x408)))))) :qid k!38))
  39.888 +))
  39.889 +(let (($x454 (and $x420 $x444)))
  39.890 +(let (($x402 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
  39.891 +(let ((?x179 (fun_app$a v_b_SP_G_1$ ?v0)))
  39.892 +(let (($x180 (<= ?x179 ?x171)))
  39.893 +(let (($x177 (fun_app$ v_b_Visited_G_1$ ?v0)))
  39.894 +(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
  39.895 +(let (($x176 (not $x175)))
  39.896 +(let (($x178 (and $x176 $x177)))
  39.897 +(let (($x398 (not $x178)))
  39.898 +(or $x398 $x180))))))))) :qid k!38))
  39.899 +))
  39.900 +(let (($x457 (and $x402 $x454)))
  39.901 +(let (($x460 (and $x173 $x457)))
  39.902 +(let (($x463 (and $x170 $x460)))
  39.903 +(let (($x395 (forall ((?v0 B_Vertex$) )(! (let (($x165 (exists ((?v1 B_Vertex$) )(! (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
  39.904 +(let (($x163 (and $x133 (= (v_b_SP_G_0$ ?v0) (+ (v_b_SP_G_0$ ?v1) (b_G$ (pair$ ?v1 ?v0)))))))
  39.905 +(and (< (v_b_SP_G_0$ ?v1) (v_b_SP_G_0$ ?v0)) $x163))) :qid k!38))
  39.906 +))
  39.907 +(let (($x123 (= ?v0 b_Source$)))
  39.908 +(let (($x128 (not $x123)))
  39.909 +(let (($x160 (and $x128 (< (v_b_SP_G_0$ ?v0) b_Infinity$))))
  39.910 +(or (not $x160) $x165))))) :qid k!38))
  39.911 +))
  39.912 +(let (($x477 (and $x395 $x463)))
  39.913 +(let (($x817 (or (not $x477) $x810)))
  39.914 +(let (($x822 (and $x395 $x817)))
  39.915 +(let (($x388 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x147 (v_b_SP_G_0$ ?v0)))
  39.916 +(let (($x156 (<= ?x147 (+ (v_b_SP_G_0$ ?v1) (b_G$ (pair$ ?v1 ?v0))))))
  39.917 +(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
  39.918 +(let (($x153 (< ?x152 b_Infinity$)))
  39.919 +(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
  39.920 +(let (($x154 (and $x133 $x153)))
  39.921 +(or (not $x154) $x156))))))) :qid k!38))
  39.922 +))
  39.923 +(let (($x829 (or (not $x388) $x822)))
  39.924 +(let (($x834 (and $x388 $x829)))
  39.925 +(let (($x381 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v1)))
  39.926 +(let ((?x147 (v_b_SP_G_0$ ?v0)))
  39.927 +(let (($x148 (<= ?x147 ?x124)))
  39.928 +(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
  39.929 +(let (($x134 (not $x133)))
  39.930 +(let (($x146 (and $x134 (fun_app$ v_b_Visited_G_0$ ?v0))))
  39.931 +(let (($x377 (not $x146)))
  39.932 +(or $x377 $x148)))))))) :qid k!38))
  39.933 +))
  39.934 +(let (($x841 (or (not $x381) $x834)))
  39.935 +(let (($x846 (and $x381 $x841)))
  39.936 +(let (($x853 (or (not $x144) $x846)))
  39.937 +(let (($x858 (and $x144 $x853)))
  39.938 +(let (($x865 (or $x864 $x858)))
  39.939 +(let (($x870 (and $x142 $x865)))
  39.940 +(let (($x877 (or (not (and $x349 (and $x355 $x135))) $x870)))
  39.941 +(let (($x1318 (exists ((?v1 B_Vertex$) )(! (let ((?x298 (v_b_SP_G_2$ ?0)))
  39.942 +(let ((?x1258 (* (- 1) ?x298)))
  39.943 +(let ((?x268 (v_b_SP_G_2$ ?v1)))
  39.944 +(let ((?x152 (b_G$ (pair$ ?v1 ?0))))
  39.945 +(let (($x1301 (= (+ ?x152 ?x268 ?x1258) 0)))
  39.946 +(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
  39.947 +(let (($x1257 (>= (+ ?x268 ?x1258) 0)))
  39.948 +(let (($x1304 (not $x1257)))
  39.949 +(and $x1304 $x286 $x1301))))))))) :qid k!38))
  39.950 +))
  39.951 +(let (($x128 (not $x123)))
  39.952 +(let (($x1295 (and $x128 (not (<= (+ b_Infinity$ (* (- 1) (v_b_SP_G_2$ ?0))) 0)))))
  39.953 +(let (($x693 (exists ((?v1 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v1)))
  39.954 +(let ((?x152 (b_G$ (pair$ ?v1 ?0))))
  39.955 +(let ((?x666 (+ ?x152 ?x268)))
  39.956 +(let ((?x298 (v_b_SP_G_2$ ?0)))
  39.957 +(let (($x684 (= ?x298 ?x666)))
  39.958 +(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
  39.959 +(let (($x687 (and $x286 $x684)))
  39.960 +(let (($x309 (< ?x268 ?x298)))
  39.961 +(and $x309 $x687))))))))) :qid k!38))
  39.962 +))
  39.963 +(let (($x700 (or (not (and $x128 (< (v_b_SP_G_2$ ?0) b_Infinity$))) $x693)))
  39.964 +(let ((?x298 (v_b_SP_G_2$ ?1)))
  39.965 +(let ((?x1258 (* (- 1) ?x298)))
  39.966 +(let ((?x268 (v_b_SP_G_2$ ?0)))
  39.967 +(let ((?x152 (b_G$ (pair$ ?0 ?1))))
  39.968 +(let (($x1301 (= (+ ?x152 ?x268 ?x1258) 0)))
  39.969 +(let (($x286 (fun_app$ v_b_Visited_G_2$ ?0)))
  39.970 +(let (($x1257 (>= (+ ?x268 ?x1258) 0)))
  39.971 +(let (($x1304 (not $x1257)))
  39.972 +(let (($x1313 (and $x1304 $x286 $x1301)))
  39.973 +(let ((?x666 (+ ?x152 ?x268)))
  39.974 +(let (($x684 (= ?x298 ?x666)))
  39.975 +(let (($x687 (and $x286 $x684)))
  39.976 +(let (($x309 (< ?x268 ?x298)))
  39.977 +(let (($x690 (and $x309 $x687)))
  39.978 +(let ((@x1312 (monotonicity (rewrite (= $x309 $x1304)) (monotonicity (rewrite (= $x684 $x1301)) (= $x687 (and $x286 $x1301))) (= $x690 (and $x1304 (and $x286 $x1301))))))
  39.979 +(let ((@x1317 (trans @x1312 (rewrite (= (and $x1304 (and $x286 $x1301)) $x1313)) (= $x690 $x1313))))
  39.980 +(let (($x1293 (= (< ?x268 b_Infinity$) (not (<= (+ b_Infinity$ (* (- 1) ?x268)) 0)))))
  39.981 +(let ((@x1297 (monotonicity (rewrite $x1293) (= (and $x128 (< ?x268 b_Infinity$)) $x1295))))
  39.982 +(let ((@x1300 (monotonicity @x1297 (= (not (and $x128 (< ?x268 b_Infinity$))) (not $x1295)))))
  39.983 +(let ((@x1323 (monotonicity @x1300 (quant-intro @x1317 (= $x693 $x1318)) (= $x700 (or (not $x1295) $x1318)))))
  39.984 +(let (($x1277 (>= (+ ?x152 ?x268 ?x1258) 0)))
  39.985 +(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
  39.986 +(let (($x918 (not $x917)))
  39.987 +(let (($x1271 (and $x286 $x918)))
  39.988 +(let (($x1274 (not $x1271)))
  39.989 +(let (($x1281 (or $x1274 $x1277)))
  39.990 +(let (($x669 (<= ?x298 ?x666)))
  39.991 +(let (($x676 (or (not (and $x286 (< ?x152 b_Infinity$))) $x669)))
  39.992 +(let ((@x920 (rewrite (= (< ?x152 b_Infinity$) $x918))))
  39.993 +(let ((@x1276 (monotonicity (monotonicity @x920 (= (and $x286 (< ?x152 b_Infinity$)) $x1271)) (= (not (and $x286 (< ?x152 b_Infinity$))) $x1274))))
  39.994 +(let ((@x1286 (quant-intro (monotonicity @x1276 (rewrite (= $x669 $x1277)) (= $x676 $x1281)) (= $x681 $x1284))))
  39.995 +(let ((@x1329 (monotonicity (monotonicity @x1286 (= (not $x681) $x1287)) (quant-intro @x1323 (= $x705 $x1324)) (= $x733 $x1327))))
  39.996 +(let (($x296 (fun_app$ v_b_Visited_G_2$ ?1)))
  39.997 +(let (($x295 (not $x286)))
  39.998 +(let (($x297 (and $x295 $x296)))
  39.999 +(let (($x659 (not $x297)))
 39.1000 +(let (($x1262 (or $x659 $x1257)))
 39.1001 +(let (($x299 (<= ?x298 ?x268)))
 39.1002 +(let (($x660 (or $x659 $x299)))
 39.1003 +(let ((@x1267 (quant-intro (monotonicity (rewrite (= $x299 $x1257)) (= $x660 $x1262)) (= $x663 $x1265))))
 39.1004 +(let ((@x1335 (monotonicity (monotonicity @x1267 (= (not $x663) $x1268)) (monotonicity @x1286 @x1329 (= $x738 $x1330)) (= $x745 $x1333))))
 39.1005 +(let ((@x1253 (quant-intro (rewrite (= (<= 0 ?x268) (>= ?x268 0))) (= $x294 $x1251))))
 39.1006 +(let ((@x1341 (monotonicity (monotonicity @x1253 (= (not $x294) $x1254)) (monotonicity @x1267 @x1335 (= $x750 $x1336)) (= $x757 $x1339))))
 39.1007 +(let ((@x1347 (monotonicity (monotonicity @x1253 @x1341 (= $x762 $x1342)) (= $x769 $x1345))))
 39.1008 +(let ((@x1356 (monotonicity (monotonicity (monotonicity @x1347 (= $x774 $x1348)) (= $x781 $x1351)) (= $x786 $x1354))))
 39.1009 +(let (($x1238 (>= (+ (fun_app$a v_b_SP_G_1$ ?0) (* (- 1) ?x268)) 0)))
 39.1010 +(let ((@x1244 (quant-intro (rewrite (= (<= ?x268 (fun_app$a v_b_SP_G_1$ ?0)) $x1238)) (= $x285 $x1242))))
 39.1011 +(let ((@x1359 (monotonicity (monotonicity @x1244 (= (not $x285) $x1245)) @x1356 (= $x793 $x1357))))
 39.1012 +(let (($x1227 (and $x1075 (and $x253 (and $x1209 (and $x1204 (and $x261 (and $x1188 $x1194))))))))
 39.1013 +(let (($x1225 (= $x627 (and $x253 (and $x1209 (and $x1204 (and $x261 (and $x1188 $x1194))))))))
 39.1014 +(let ((?x171 (fun_app$a v_b_SP_G_1$ ?0)))
 39.1015 +(let (($x273 (= ?x268 ?x171)))
 39.1016 +(let (($x1170 (<= (+ ?x171 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?0)))) 0)))
 39.1017 +(let (($x1164 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?0)))) 0)))
 39.1018 +(let (($x1174 (and (not $x1164) (not $x1170))))
 39.1019 +(let (($x1191 (or $x1174 $x273)))
 39.1020 +(let (($x267 (and (< (b_G$ (pair$ v_b_v_G_1$ ?0)) b_Infinity$) (< (+ ?x254 (b_G$ (pair$ v_b_v_G_1$ ?0))) ?x171))))
 39.1021 +(let (($x609 (or $x267 $x273)))
 39.1022 +(let ((@x1173 (rewrite (= (< (+ ?x254 (b_G$ (pair$ v_b_v_G_1$ ?0))) ?x171) (not $x1170)))))
 39.1023 +(let ((@x1167 (rewrite (= (< (b_G$ (pair$ v_b_v_G_1$ ?0)) b_Infinity$) (not $x1164)))))
 39.1024 +(let ((@x1193 (monotonicity (monotonicity @x1167 @x1173 (= $x267 $x1174)) (= $x609 $x1191))))
 39.1025 +(let (($x1180 (= (+ ?x254 (b_G$ (pair$ v_b_v_G_1$ ?0)) (* (- 1) ?x268)) 0)))
 39.1026 +(let (($x1177 (not $x1174)))
 39.1027 +(let (($x1185 (or $x1177 $x1180)))
 39.1028 +(let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?0))))
 39.1029 +(let ((?x265 (+ ?x254 ?x263)))
 39.1030 +(let (($x269 (= ?x268 ?x265)))
 39.1031 +(let (($x272 (not $x267)))
 39.1032 +(let (($x603 (or $x272 $x269)))
 39.1033 +(let ((@x1179 (monotonicity (monotonicity @x1167 @x1173 (= $x267 $x1174)) (= $x272 $x1177))))
 39.1034 +(let ((@x1190 (quant-intro (monotonicity @x1179 (rewrite (= $x269 $x1180)) (= $x603 $x1185)) (= $x606 $x1188))))
 39.1035 +(let ((@x1214 (monotonicity @x1190 (quant-intro @x1193 (= $x612 $x1194)) (= $x615 (and $x1188 $x1194)))))
 39.1036 +(let (($x175 (fun_app$ v_b_Visited_G_1$ ?0)))
 39.1037 +(let (($x1201 (or $x175 (>= (+ ?x171 ?x1168) 0))))
 39.1038 +(let (($x256 (<= ?x254 ?x171)))
 39.1039 +(let (($x597 (or $x175 $x256)))
 39.1040 +(let ((@x1203 (monotonicity (rewrite (= $x256 (>= (+ ?x171 ?x1168) 0))) (= $x597 $x1201))))
 39.1041 +(let ((@x1220 (monotonicity (quant-intro @x1203 (= $x600 $x1204)) (monotonicity @x1214 (= $x618 (and $x261 (and $x1188 $x1194)))) (= $x621 (and $x1204 (and $x261 (and $x1188 $x1194)))))))
 39.1042 +(let ((@x1223 (monotonicity (rewrite (= $x255 $x1209)) @x1220 (= $x624 (and $x1209 (and $x1204 (and $x261 (and $x1188 $x1194))))))))
 39.1043 +(let (($x997 (<= (+ b_Infinity$ (* (- 1) ?x171)) 0)))
 39.1044 +(let (($x998 (not $x997)))
 39.1045 +(let (($x176 (not $x175)))
 39.1046 +(let (($x1072 (and $x176 $x998)))
 39.1047 +(let ((@x1074 (monotonicity (rewrite (= (< ?x171 b_Infinity$) $x998)) (= (and $x176 (< ?x171 b_Infinity$)) $x1072))))
 39.1048 +(let ((@x1229 (monotonicity (quant-intro @x1074 (= $x206 $x1075)) (monotonicity @x1223 $x1225) (= $x630 $x1227))))
 39.1049 +(let ((@x1237 (monotonicity (trans @x1229 (rewrite (= $x1227 $x1230)) (= $x630 $x1230)) (= (not $x630) $x1235))))
 39.1050 +(let ((@x1365 (monotonicity @x1237 (monotonicity @x1244 @x1359 (= $x798 $x1360)) (= $x805 $x1363))))
 39.1051 +(let ((?x227 (fun_app$a v_b_SP_G_3$ ?0)))
 39.1052 +(let (($x1135 (>= (+ ?x152 ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?1))) 0)))
 39.1053 +(let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0)))
 39.1054 +(let (($x1095 (not $x1094)))
 39.1055 +(let (($x1129 (and $x1095 $x918)))
 39.1056 +(let (($x1132 (not $x1129)))
 39.1057 +(let (($x1138 (or $x1132 $x1135)))
 39.1058 +(let ((?x516 (+ ?x152 ?x227)))
 39.1059 +(let ((?x230 (fun_app$a v_b_SP_G_3$ ?1)))
 39.1060 +(let (($x540 (<= ?x230 ?x516)))
 39.1061 +(let (($x547 (or (not (and (< ?x227 b_Infinity$) (< ?x152 b_Infinity$))) $x540)))
 39.1062 +(let ((@x1131 (monotonicity (rewrite (= (< ?x227 b_Infinity$) $x1095)) @x920 (= (and (< ?x227 b_Infinity$) (< ?x152 b_Infinity$)) $x1129))))
 39.1063 +(let ((@x1134 (monotonicity @x1131 (= (not (and (< ?x227 b_Infinity$) (< ?x152 b_Infinity$))) $x1132))))
 39.1064 +(let ((@x1143 (quant-intro (monotonicity @x1134 (rewrite (= $x540 $x1135)) (= $x547 $x1138)) (= $x552 $x1141))))
 39.1065 +(let ((@x1149 (monotonicity (monotonicity @x1143 (= (not $x552) $x1144)) (= $x568 $x1147))))
 39.1066 +(let (($x1117 (exists ((?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
 39.1067 +(let ((?x152 (b_G$ (pair$ ?v1 ?0))))
 39.1068 +(and (not (>= (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?0))) 0)) (= (+ ?x152 ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?0))) 0)))) :qid k!38))
 39.1069 +))
 39.1070 +(let (($x1098 (and $x128 $x1095)))
 39.1071 +(let (($x1101 (not $x1098)))
 39.1072 +(let (($x1120 (or $x1101 $x1117)))
 39.1073 +(let (($x525 (exists ((?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
 39.1074 +(let ((?x152 (b_G$ (pair$ ?v1 ?0))))
 39.1075 +(let ((?x516 (+ ?x152 ?x227)))
 39.1076 +(let ((?x230 (fun_app$a v_b_SP_G_3$ ?0)))
 39.1077 +(let (($x519 (= ?x230 ?x516)))
 39.1078 +(let (($x231 (< ?x227 ?x230)))
 39.1079 +(and $x231 $x519))))))) :qid k!38))
 39.1080 +))
 39.1081 +(let (($x532 (or (not (and $x128 (< ?x227 b_Infinity$))) $x525)))
 39.1082 +(let (($x1114 (and (not (>= (+ ?x227 (* (- 1) ?x230)) 0)) (= (+ ?x152 ?x227 (* (- 1) ?x230)) 0))))
 39.1083 +(let (($x519 (= ?x230 ?x516)))
 39.1084 +(let (($x231 (< ?x227 ?x230)))
 39.1085 +(let (($x522 (and $x231 $x519)))
 39.1086 +(let ((@x1116 (monotonicity (rewrite (= $x231 (not (>= (+ ?x227 (* (- 1) ?x230)) 0)))) (rewrite (= $x519 (= (+ ?x152 ?x227 (* (- 1) ?x230)) 0))) (= $x522 $x1114))))
 39.1087 +(let ((@x1100 (monotonicity (rewrite (= (< ?x227 b_Infinity$) $x1095)) (= (and $x128 (< ?x227 b_Infinity$)) $x1098))))
 39.1088 +(let ((@x1122 (monotonicity (monotonicity @x1100 (= (not (and $x128 (< ?x227 b_Infinity$))) $x1101)) (quant-intro @x1116 (= $x525 $x1117)) (= $x532 $x1120))))
 39.1089 +(let ((@x1128 (monotonicity (quant-intro @x1122 (= $x537 $x1123)) (= (not $x537) $x1126))))
 39.1090 +(let ((@x1155 (monotonicity @x1128 (monotonicity @x1143 @x1149 (= $x573 $x1150)) (= $x580 $x1153))))
 39.1091 +(let ((@x1086 (rewrite (= (and $x1078 (and $x209 (and $x212 (and $x214 $x217)))) $x1084))))
 39.1092 +(let (($x488 (and $x209 (and $x212 (and $x214 $x217)))))
 39.1093 +(let (($x502 (and $x207 $x488)))
 39.1094 +(let ((@x1083 (monotonicity (monotonicity (quant-intro @x1074 (= $x206 $x1075)) (= $x207 $x1078)) (= $x502 (and $x1078 $x488)))))
 39.1095 +(let ((@x1091 (monotonicity (trans @x1083 @x1086 (= $x502 $x1084)) (= (not $x502) $x1089))))
 39.1096 +(let ((@x1161 (monotonicity @x1091 (monotonicity (quant-intro @x1122 (= $x537 $x1123)) @x1155 (= $x585 $x1156)) (= $x592 $x1159))))
 39.1097 +(let (($x1065 (= (and $x975 (and $x170 (and $x1046 (and $x1040 (and $x992 $x1032))))) $x1064)))
 39.1098 +(let (($x1062 (= $x477 (and $x975 (and $x170 (and $x1046 (and $x1040 (and $x992 $x1032))))))))
 39.1099 +(let (($x1026 (exists ((?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
 39.1100 +(let ((?x152 (b_G$ (pair$ ?v1 ?0))))
 39.1101 +(let (($x1007 (= (+ ?x152 ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?0))) 0)))
 39.1102 +(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
 39.1103 +(let (($x1010 (>= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?0))) 0)))
 39.1104 +(let (($x1012 (not $x1010)))
 39.1105 +(and $x1012 $x175 $x1007))))))) :qid k!38))
 39.1106 +))
 39.1107 +(let (($x1001 (and $x128 $x998)))
 39.1108 +(let (($x1004 (not $x1001)))
 39.1109 +(let (($x1029 (or $x1004 $x1026)))
 39.1110 +(let (($x432 (exists ((?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
 39.1111 +(let ((?x152 (b_G$ (pair$ ?v1 ?0))))
 39.1112 +(let ((?x405 (+ ?x152 ?x171)))
 39.1113 +(let ((?x179 (fun_app$a v_b_SP_G_1$ ?0)))
 39.1114 +(let (($x423 (= ?x179 ?x405)))
 39.1115 +(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
 39.1116 +(let (($x426 (and $x175 $x423)))
 39.1117 +(let (($x190 (< ?x171 ?x179)))
 39.1118 +(and $x190 $x426))))))))) :qid k!38))
 39.1119 +))
 39.1120 +(let (($x439 (or (not (and $x128 (< ?x171 b_Infinity$))) $x432)))
 39.1121 +(let (($x1007 (= (+ ?x152 ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?1))) 0)))
 39.1122 +(let (($x1010 (>= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?1))) 0)))
 39.1123 +(let (($x1012 (not $x1010)))
 39.1124 +(let (($x1021 (and $x1012 $x175 $x1007)))
 39.1125 +(let ((?x405 (+ ?x152 ?x171)))
 39.1126 +(let ((?x179 (fun_app$a v_b_SP_G_1$ ?1)))
 39.1127 +(let (($x423 (= ?x179 ?x405)))
 39.1128 +(let (($x426 (and $x175 $x423)))
 39.1129 +(let (($x190 (< ?x171 ?x179)))
 39.1130 +(let (($x429 (and $x190 $x426)))
 39.1131 +(let ((@x1020 (monotonicity (rewrite (= $x190 $x1012)) (monotonicity (rewrite (= $x423 $x1007)) (= $x426 (and $x175 $x1007))) (= $x429 (and $x1012 (and $x175 $x1007))))))
 39.1132 +(let ((@x1025 (trans @x1020 (rewrite (= (and $x1012 (and $x175 $x1007)) $x1021)) (= $x429 $x1021))))
 39.1133 +(let ((@x1003 (monotonicity (rewrite (= (< ?x171 b_Infinity$) $x998)) (= (and $x128 (< ?x171 b_Infinity$)) $x1001))))
 39.1134 +(let ((@x1031 (monotonicity (monotonicity @x1003 (= (not (and $x128 (< ?x171 b_Infinity$))) $x1004)) (quant-intro @x1025 (= $x432 $x1026)) (= $x439 $x1029))))
 39.1135 +(let (($x985 (>= (+ ?x152 ?x171 (* (- 1) ?x179)) 0)))
 39.1136 +(let (($x978 (and $x175 $x918)))
 39.1137 +(let (($x981 (not $x978)))
 39.1138 +(let (($x989 (or $x981 $x985)))
 39.1139 +(let (($x408 (<= ?x179 ?x405)))
 39.1140 +(let (($x415 (or (not (and $x175 (< ?x152 b_Infinity$))) $x408)))
 39.1141 +(let ((@x983 (monotonicity (monotonicity @x920 (= (and $x175 (< ?x152 b_Infinity$)) $x978)) (= (not (and $x175 (< ?x152 b_Infinity$))) $x981))))
 39.1142 +(let ((@x994 (quant-intro (monotonicity @x983 (rewrite (= $x408 $x985)) (= $x415 $x989)) (= $x420 $x992))))
 39.1143 +(let ((@x1051 (monotonicity @x994 (quant-intro @x1031 (= $x444 $x1032)) (= $x454 (and $x992 $x1032)))))
 39.1144 +(let (($x177 (fun_app$ v_b_Visited_G_1$ ?1)))
 39.1145 +(let (($x178 (and $x176 $x177)))
 39.1146 +(let (($x398 (not $x178)))
 39.1147 +(let (($x1037 (or $x398 $x1010)))
 39.1148 +(let (($x180 (<= ?x179 ?x171)))
 39.1149 +(let (($x399 (or $x398 $x180)))
 39.1150 +(let ((@x1042 (quant-intro (monotonicity (rewrite (= $x180 $x1010)) (= $x399 $x1037)) (= $x402 $x1040))))
 39.1151 +(let ((@x1048 (quant-intro (rewrite (= (<= 0 ?x171) (>= ?x171 0))) (= $x173 $x1046))))
 39.1152 +(let ((@x1057 (monotonicity @x1048 (monotonicity @x1042 @x1051 (= $x457 (and $x1040 (and $x992 $x1032)))) (= $x460 (and $x1046 (and $x1040 (and $x992 $x1032)))))))
 39.1153 +(let ((@x1060 (monotonicity @x1057 (= $x463 (and $x170 (and $x1046 (and $x1040 (and $x992 $x1032))))))))
 39.1154 +(let (($x969 (exists ((?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?0))))
 39.1155 +(let ((?x124 (v_b_SP_G_0$ ?v1)))
 39.1156 +(let (($x952 (= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?0)) ?x152) 0)))
 39.1157 +(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
 39.1158 +(let (($x902 (>= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?0))) 0)))
 39.1159 +(let (($x955 (not $x902)))
 39.1160 +(and $x955 $x133 $x952))))))) :qid k!38))
 39.1161 +))
 39.1162 +(let (($x946 (and $x128 (not (<= (+ b_Infinity$ (* (- 1) (v_b_SP_G_0$ ?0))) 0)))))
 39.1163 +(let (($x949 (not $x946)))
 39.1164 +(let (($x972 (or $x949 $x969)))
 39.1165 +(let (($x165 (exists ((?v1 B_Vertex$) )(! (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
 39.1166 +(let (($x163 (and $x133 (= (v_b_SP_G_0$ ?0) (+ (v_b_SP_G_0$ ?v1) (b_G$ (pair$ ?v1 ?0)))))))
 39.1167 +(and (< (v_b_SP_G_0$ ?v1) (v_b_SP_G_0$ ?0)) $x163))) :qid k!38))
 39.1168 +))
 39.1169 +(let (($x392 (or (not (and $x128 (< (v_b_SP_G_0$ ?0) b_Infinity$))) $x165)))
 39.1170 +(let (($x952 (= (+ (v_b_SP_G_0$ ?0) (* (- 1) (v_b_SP_G_0$ ?1)) ?x152) 0)))
 39.1171 +(let (($x133 (fun_app$ v_b_Visited_G_0$ ?0)))
 39.1172 +(let (($x902 (>= (+ (v_b_SP_G_0$ ?0) (* (- 1) (v_b_SP_G_0$ ?1))) 0)))
 39.1173 +(let (($x955 (not $x902)))
 39.1174 +(let (($x964 (and $x955 $x133 $x952)))
 39.1175 +(let (($x164 (and (< (v_b_SP_G_0$ ?0) (v_b_SP_G_0$ ?1)) (and $x133 (= (v_b_SP_G_0$ ?1) (+ (v_b_SP_G_0$ ?0) ?x152))))))
 39.1176 +(let (($x959 (= (and $x133 (= (v_b_SP_G_0$ ?1) (+ (v_b_SP_G_0$ ?0) ?x152))) (and $x133 $x952))))
 39.1177 +(let ((@x954 (rewrite (= (= (v_b_SP_G_0$ ?1) (+ (v_b_SP_G_0$ ?0) ?x152)) $x952))))
 39.1178 +(let ((@x963 (monotonicity (rewrite (= (< (v_b_SP_G_0$ ?0) (v_b_SP_G_0$ ?1)) $x955)) (monotonicity @x954 $x959) (= $x164 (and $x955 (and $x133 $x952))))))
 39.1179 +(let ((@x968 (trans @x963 (rewrite (= (and $x955 (and $x133 $x952)) $x964)) (= $x164 $x964))))
 39.1180 +(let (($x944 (= (< (v_b_SP_G_0$ ?0) b_Infinity$) (not (<= (+ b_Infinity$ (* (- 1) (v_b_SP_G_0$ ?0))) 0)))))
 39.1181 +(let ((@x948 (monotonicity (rewrite $x944) (= (and $x128 (< (v_b_SP_G_0$ ?0) b_Infinity$)) $x946))))
 39.1182 +(let ((@x951 (monotonicity @x948 (= (not (and $x128 (< (v_b_SP_G_0$ ?0) b_Infinity$))) $x949))))
 39.1183 +(let ((@x977 (quant-intro (monotonicity @x951 (quant-intro @x968 (= $x165 $x969)) (= $x392 $x972)) (= $x395 $x975))))
 39.1184 +(let ((@x1071 (monotonicity (trans (monotonicity @x977 @x1060 $x1062) (rewrite $x1065) (= $x477 $x1064)) (= (not $x477) $x1069))))
 39.1185 +(let ((@x1371 (monotonicity @x1071 (monotonicity @x1161 @x1365 (= $x810 $x1366)) (= $x817 $x1369))))
 39.1186 +(let (($x928 (>= (+ (v_b_SP_G_0$ ?0) (* (- 1) (v_b_SP_G_0$ ?1)) ?x152) 0)))
 39.1187 +(let (($x921 (and $x133 $x918)))
 39.1188 +(let (($x924 (not $x921)))
 39.1189 +(let (($x931 (or $x924 $x928)))
 39.1190 +(let ((?x147 (v_b_SP_G_0$ ?1)))
 39.1191 +(let (($x156 (<= ?x147 (+ (v_b_SP_G_0$ ?0) ?x152))))
 39.1192 +(let (($x385 (or (not (and $x133 (< ?x152 b_Infinity$))) $x156)))
 39.1193 +(let ((@x926 (monotonicity (monotonicity @x920 (= (and $x133 (< ?x152 b_Infinity$)) $x921)) (= (not (and $x133 (< ?x152 b_Infinity$))) $x924))))
 39.1194 +(let ((@x936 (quant-intro (monotonicity @x926 (rewrite (= $x156 $x928)) (= $x385 $x931)) (= $x388 $x934))))
 39.1195 +(let ((@x1377 (monotonicity (monotonicity @x936 (= (not $x388) $x937)) (monotonicity @x977 @x1371 (= $x822 $x1372)) (= $x829 $x1375))))
 39.1196 +(let (($x134 (not $x133)))
 39.1197 +(let (($x146 (and $x134 (fun_app$ v_b_Visited_G_0$ ?1))))
 39.1198 +(let (($x377 (not $x146)))
 39.1199 +(let (($x906 (or $x377 $x902)))
 39.1200 +(let ((?x124 (v_b_SP_G_0$ ?0)))
 39.1201 +(let (($x148 (<= ?x147 ?x124)))
 39.1202 +(let (($x378 (or $x377 $x148)))
 39.1203 +(let ((@x911 (quant-intro (monotonicity (rewrite (= $x148 $x902)) (= $x378 $x906)) (= $x381 $x909))))
 39.1204 +(let ((@x1383 (monotonicity (monotonicity @x911 (= (not $x381) $x912)) (monotonicity @x936 @x1377 (= $x834 $x1378)) (= $x841 $x1381))))
 39.1205 +(let ((@x896 (quant-intro (rewrite (= (<= 0 ?x124) (>= ?x124 0))) (= $x144 $x894))))
 39.1206 +(let ((@x1389 (monotonicity (monotonicity @x896 (= (not $x144) $x897)) (monotonicity @x911 @x1383 (= $x846 $x1384)) (= $x853 $x1387))))
 39.1207 +(let ((@x1395 (monotonicity (monotonicity @x896 @x1389 (= $x858 $x1390)) (= $x865 $x1393))))
 39.1208 +(let ((@x890 (monotonicity (rewrite (= (and $x349 (and $x355 $x135)) $x885)) (= (not (and $x349 (and $x355 $x135))) (not $x885)))))
 39.1209 +(let ((@x1401 (monotonicity @x890 (monotonicity @x1395 (= $x870 $x1396)) (= $x877 (or (not $x885) $x1396)))))
 39.1210 +(let (($x313 (exists ((?v1 B_Vertex$) )(! (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
 39.1211 +(let (($x311 (and $x286 (= (v_b_SP_G_2$ ?0) (+ (v_b_SP_G_2$ ?v1) (b_G$ (pair$ ?v1 ?0)))))))
 39.1212 +(let ((?x298 (v_b_SP_G_2$ ?0)))
 39.1213 +(let ((?x268 (v_b_SP_G_2$ ?v1)))
 39.1214 +(let (($x309 (< ?x268 ?x298)))
 39.1215 +(and $x309 $x311)))))) :qid k!38))
 39.1216 +))
 39.1217 +(let (($x308 (and $x128 (< ?x268 b_Infinity$))))
 39.1218 +(let (($x314 (=> $x308 $x313)))
 39.1219 +(let ((@x686 (monotonicity (rewrite (= (+ ?x268 ?x152) ?x666)) (= (= ?x298 (+ ?x268 ?x152)) $x684))))
 39.1220 +(let ((@x692 (monotonicity (monotonicity @x686 (= (and $x286 (= ?x298 (+ ?x268 ?x152))) $x687)) (= (and $x309 (and $x286 (= ?x298 (+ ?x268 ?x152)))) $x690))))
 39.1221 +(let ((@x698 (monotonicity (quant-intro @x692 (= $x313 $x693)) (= $x314 (=> $x308 $x693)))))
 39.1222 +(let ((@x707 (quant-intro (trans @x698 (rewrite (= (=> $x308 $x693) $x700)) (= $x314 $x700)) (= $x315 $x705))))
 39.1223 +(let ((@x714 (trans (monotonicity @x707 (= $x316 (and $x705 false))) (rewrite (= (and $x705 false) false)) (= $x316 false))))
 39.1224 +(let ((@x721 (trans (monotonicity @x714 (= $x317 (=> false true))) (rewrite (= (=> false true) true)) (= $x317 true))))
 39.1225 +(let ((@x728 (trans (monotonicity @x707 @x721 (= $x318 (and $x705 true))) (rewrite (= (and $x705 true) $x705)) (= $x318 $x705))))
 39.1226 +(let (($x153 (< ?x152 b_Infinity$)))
 39.1227 +(let (($x302 (and $x286 $x153)))
 39.1228 +(let (($x305 (=> $x302 (<= ?x298 (+ ?x268 ?x152)))))
 39.1229 +(let ((@x671 (monotonicity (rewrite (= (+ ?x268 ?x152) ?x666)) (= (<= ?x298 (+ ?x268 ?x152)) $x669))))
 39.1230 +(let ((@x680 (trans (monotonicity @x671 (= $x305 (=> $x302 $x669))) (rewrite (= (=> $x302 $x669) $x676)) (= $x305 $x676))))
 39.1231 +(let ((@x731 (monotonicity (quant-intro @x680 (= $x306 $x681)) @x728 (= $x319 (=> $x681 $x705)))))
 39.1232 +(let ((@x740 (monotonicity (quant-intro @x680 (= $x306 $x681)) (trans @x731 (rewrite (= (=> $x681 $x705) $x733)) (= $x319 $x733)) (= (and $x306 $x319) $x738))))
 39.1233 +(let ((@x743 (monotonicity (quant-intro (rewrite (= (=> $x297 $x299) $x660)) (= $x301 $x663)) @x740 (= $x321 (=> $x663 $x738)))))
 39.1234 +(let ((@x752 (monotonicity (quant-intro (rewrite (= (=> $x297 $x299) $x660)) (= $x301 $x663)) (trans @x743 (rewrite (= (=> $x663 $x738) $x745)) (= $x321 $x745)) (= (and $x301 $x321) $x750))))
 39.1235 +(let ((@x761 (trans (monotonicity @x752 (= $x323 (=> $x294 $x750))) (rewrite (= (=> $x294 $x750) $x757)) (= $x323 $x757))))
 39.1236 +(let ((@x767 (monotonicity (monotonicity @x761 (= (and $x294 $x323) $x762)) (= $x325 (=> $x292 $x762)))))
 39.1237 +(let ((@x776 (monotonicity (trans @x767 (rewrite (= (=> $x292 $x762) $x769)) (= $x325 $x769)) (= (and $x292 $x325) $x774))))
 39.1238 +(let ((@x649 (quant-intro (rewrite (= (=> $x286 $x273) (or $x295 $x273))) (= $x288 $x647))))
 39.1239 +(let ((@x654 (monotonicity @x649 (rewrite (= (and true true) true)) (= $x290 (and $x647 true)))))
 39.1240 +(let ((@x779 (monotonicity (trans @x654 (rewrite (= (and $x647 true) $x647)) (= $x290 $x647)) @x776 (= $x327 (=> $x647 $x774)))))
 39.1241 +(let ((@x788 (monotonicity @x649 (trans @x779 (rewrite (= (=> $x647 $x774) $x781)) (= $x327 $x781)) (= (and $x288 $x327) $x786))))
 39.1242 +(let ((@x797 (trans (monotonicity @x788 (= $x329 (=> $x285 $x786))) (rewrite (= (=> $x285 $x786) $x793)) (= $x329 $x793))))
 39.1243 +(let (($x628 (= (and $x253 (and $x255 (and $x258 (and $x261 (and $x271 $x275))))) $x627)))
 39.1244 +(let ((@x617 (monotonicity (quant-intro (rewrite (= (=> $x267 $x269) $x603)) (= $x271 $x606)) (quant-intro (rewrite (= (=> $x272 $x273) $x609)) (= $x275 $x612)) (= (and $x271 $x275) $x615))))
 39.1245 +(let ((@x623 (monotonicity (quant-intro (rewrite (= (=> $x176 $x256) $x597)) (= $x258 $x600)) (monotonicity @x617 (= (and $x261 (and $x271 $x275)) $x618)) (= (and $x258 (and $x261 (and $x271 $x275))) $x621))))
 39.1246 +(let ((@x626 (monotonicity @x623 (= (and $x255 (and $x258 (and $x261 (and $x271 $x275)))) $x624))))
 39.1247 +(let ((@x635 (monotonicity (monotonicity (monotonicity @x626 $x628) (= $x281 $x630)) (= $x282 (and true $x630)))))
 39.1248 +(let ((@x641 (monotonicity (trans @x635 (rewrite (= (and true $x630) $x630)) (= $x282 $x630)) (= $x283 (and true $x630)))))
 39.1249 +(let ((@x803 (monotonicity (trans @x641 (rewrite (= (and true $x630) $x630)) (= $x283 $x630)) (monotonicity @x797 (= (and $x285 $x329) $x798)) (= $x331 (=> $x630 $x798)))))
 39.1250 +(let ((@x559 (monotonicity (rewrite (= (=> $x243 true) true)) (= $x245 (and $x243 true)))))
 39.1251 +(let (($x228 (< ?x227 b_Infinity$)))
 39.1252 +(let (($x238 (and $x228 $x153)))
 39.1253 +(let (($x240 (=> $x238 (<= ?x230 (+ ?x227 ?x152)))))
 39.1254 +(let ((@x542 (monotonicity (rewrite (= (+ ?x227 ?x152) ?x516)) (= (<= ?x230 (+ ?x227 ?x152)) $x540))))
 39.1255 +(let ((@x551 (trans (monotonicity @x542 (= $x240 (=> $x238 $x540))) (rewrite (= (=> $x238 $x540) $x547)) (= $x240 $x547))))
 39.1256 +(let ((@x566 (monotonicity (quant-intro @x551 (= $x241 $x552)) (trans @x559 (rewrite (= (and $x243 true) $x243)) (= $x245 $x243)) (= $x246 (=> $x552 $x243)))))
 39.1257 +(let ((@x575 (monotonicity (quant-intro @x551 (= $x241 $x552)) (trans @x566 (rewrite (= (=> $x552 $x243) $x568)) (= $x246 $x568)) (= (and $x241 $x246) $x573))))
 39.1258 +(let (($x235 (exists ((?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?0))))
 39.1259 +(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
 39.1260 +(let ((?x232 (+ ?x227 ?x152)))
 39.1261 +(let ((?x230 (fun_app$a v_b_SP_G_3$ ?0)))
 39.1262 +(let (($x231 (< ?x227 ?x230)))
 39.1263 +(and $x231 (= ?x230 ?x232))))))) :qid k!38))
 39.1264 +))
 39.1265 +(let (($x229 (and $x128 $x228)))
 39.1266 +(let (($x236 (=> $x229 $x235)))
 39.1267 +(let ((@x521 (monotonicity (rewrite (= (+ ?x227 ?x152) ?x516)) (= (= ?x230 (+ ?x227 ?x152)) $x519))))
 39.1268 +(let ((@x527 (quant-intro (monotonicity @x521 (= (and $x231 (= ?x230 (+ ?x227 ?x152))) $x522)) (= $x235 $x525))))
 39.1269 +(let ((@x536 (trans (monotonicity @x527 (= $x236 (=> $x229 $x525))) (rewrite (= (=> $x229 $x525) $x532)) (= $x236 $x532))))
 39.1270 +(let ((@x578 (monotonicity (quant-intro @x536 (= $x237 $x537)) @x575 (= $x248 (=> $x537 $x573)))))
 39.1271 +(let ((@x587 (monotonicity (quant-intro @x536 (= $x237 $x537)) (trans @x578 (rewrite (= (=> $x537 $x573) $x580)) (= $x248 $x580)) (= (and $x237 $x248) $x585))))
 39.1272 +(let (($x486 (= (and $x212 (and $x214 (and $x217 true))) (and $x212 (and $x214 $x217)))))
 39.1273 +(let ((@x484 (monotonicity (rewrite (= (and $x217 true) $x217)) (= (and $x214 (and $x217 true)) (and $x214 $x217)))))
 39.1274 +(let ((@x490 (monotonicity (monotonicity @x484 $x486) (= (and $x209 (and $x212 (and $x214 (and $x217 true)))) $x488))))
 39.1275 +(let ((@x497 (trans (monotonicity @x490 (= $x222 (and true $x488))) (rewrite (= (and true $x488) $x488)) (= $x222 $x488))))
 39.1276 +(let ((@x501 (trans (monotonicity @x497 (= $x223 (and true $x488))) (rewrite (= (and true $x488) $x488)) (= $x223 $x488))))
 39.1277 +(let ((@x507 (monotonicity (monotonicity @x501 (= (and $x207 $x223) $x502)) (= $x225 (and true $x502)))))
 39.1278 +(let ((@x513 (monotonicity (trans @x507 (rewrite (= (and true $x502) $x502)) (= $x225 $x502)) (= $x226 (and true $x502)))))
 39.1279 +(let ((@x590 (monotonicity (trans @x513 (rewrite (= (and true $x502) $x502)) (= $x226 $x502)) @x587 (= $x250 (=> $x502 $x585)))))
 39.1280 +(let ((@x812 (monotonicity (trans @x590 (rewrite (= (=> $x502 $x585) $x592)) (= $x250 $x592)) (trans @x803 (rewrite (= (=> $x630 $x798) $x805)) (= $x331 $x805)) (= (and $x250 $x331) $x810))))
 39.1281 +(let (($x194 (exists ((?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?0))))
 39.1282 +(let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
 39.1283 +(let ((?x184 (+ ?x171 ?x152)))
 39.1284 +(let ((?x179 (fun_app$a v_b_SP_G_1$ ?0)))
 39.1285 +(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
 39.1286 +(let (($x190 (< ?x171 ?x179)))
 39.1287 +(and $x190 (and $x175 (= ?x179 ?x184))))))))) :qid k!38))
 39.1288 +))
 39.1289 +(let (($x188 (< ?x171 b_Infinity$)))
 39.1290 +(let (($x189 (and $x128 $x188)))
 39.1291 +(let (($x195 (=> $x189 $x194)))
 39.1292 +(let ((@x425 (monotonicity (rewrite (= (+ ?x171 ?x152) ?x405)) (= (= ?x179 (+ ?x171 ?x152)) $x423))))
 39.1293 +(let ((@x431 (monotonicity (monotonicity @x425 (= (and $x175 (= ?x179 (+ ?x171 ?x152))) $x426)) (= (and $x190 (and $x175 (= ?x179 (+ ?x171 ?x152)))) $x429))))
 39.1294 +(let ((@x437 (monotonicity (quant-intro @x431 (= $x194 $x432)) (= $x195 (=> $x189 $x432)))))
 39.1295 +(let ((@x446 (quant-intro (trans @x437 (rewrite (= (=> $x189 $x432) $x439)) (= $x195 $x439)) (= $x196 $x444))))
 39.1296 +(let ((@x453 (trans (monotonicity @x446 (= $x197 (and $x444 true))) (rewrite (= (and $x444 true) $x444)) (= $x197 $x444))))
 39.1297 +(let (($x183 (and $x175 $x153)))
 39.1298 +(let (($x186 (=> $x183 (<= ?x179 (+ ?x171 ?x152)))))
 39.1299 +(let ((@x410 (monotonicity (rewrite (= (+ ?x171 ?x152) ?x405)) (= (<= ?x179 (+ ?x171 ?x152)) $x408))))
 39.1300 +(let ((@x419 (trans (monotonicity @x410 (= $x186 (=> $x183 $x408))) (rewrite (= (=> $x183 $x408) $x415)) (= $x186 $x415))))
 39.1301 +(let ((@x456 (monotonicity (quant-intro @x419 (= $x187 $x420)) @x453 (= (and $x187 $x197) $x454))))
 39.1302 +(let ((@x459 (monotonicity (quant-intro (rewrite (= (=> $x178 $x180) $x399)) (= $x182 $x402)) @x456 (= (and $x182 (and $x187 $x197)) $x457))))
 39.1303 +(let ((@x465 (monotonicity (monotonicity @x459 (= (and $x173 (and $x182 (and $x187 $x197))) $x460)) (= (and $x170 (and $x173 (and $x182 (and $x187 $x197)))) $x463))))
 39.1304 +(let ((@x472 (trans (monotonicity @x465 (= $x202 (and true $x463))) (rewrite (= (and true $x463) $x463)) (= $x202 $x463))))
 39.1305 +(let ((@x476 (trans (monotonicity @x472 (= $x203 (and true $x463))) (rewrite (= (and true $x463) $x463)) (= $x203 $x463))))
 39.1306 +(let ((@x397 (quant-intro (rewrite (= (=> (and $x128 (< ?x124 b_Infinity$)) $x165) $x392)) (= $x167 $x395))))
 39.1307 +(let ((@x815 (monotonicity (monotonicity @x397 @x476 (= (and $x167 $x203) $x477)) @x812 (= $x333 (=> $x477 $x810)))))
 39.1308 +(let ((@x824 (monotonicity @x397 (trans @x815 (rewrite (= (=> $x477 $x810) $x817)) (= $x333 $x817)) (= (and $x167 $x333) $x822))))
 39.1309 +(let ((@x390 (quant-intro (rewrite (= (=> (and $x133 $x153) $x156) $x385)) (= $x158 $x388))))
 39.1310 +(let ((@x833 (trans (monotonicity @x390 @x824 (= $x335 (=> $x388 $x822))) (rewrite (= (=> $x388 $x822) $x829)) (= $x335 $x829))))
 39.1311 +(let ((@x839 (monotonicity (quant-intro (rewrite (= (=> $x146 $x148) $x378)) (= $x150 $x381)) (monotonicity @x390 @x833 (= (and $x158 $x335) $x834)) (= $x337 (=> $x381 $x834)))))
 39.1312 +(let ((@x848 (monotonicity (quant-intro (rewrite (= (=> $x146 $x148) $x378)) (= $x150 $x381)) (trans @x839 (rewrite (= (=> $x381 $x834) $x841)) (= $x337 $x841)) (= (and $x150 $x337) $x846))))
 39.1313 +(let ((@x857 (trans (monotonicity @x848 (= $x339 (=> $x144 $x846))) (rewrite (= (=> $x144 $x846) $x853)) (= $x339 $x853))))
 39.1314 +(let ((@x863 (monotonicity (monotonicity @x857 (= (and $x144 $x339) $x858)) (= $x341 (=> $x142 $x858)))))
 39.1315 +(let ((@x872 (monotonicity (trans @x863 (rewrite (= (=> $x142 $x858) $x865)) (= $x341 $x865)) (= (and $x142 $x341) $x870))))
 39.1316 +(let (($x363 (and $x349 (and $x355 $x135))))
 39.1317 +(let (($x366 (and true $x363)))
 39.1318 +(let ((@x357 (quant-intro (rewrite (= (=> $x128 (= ?x124 b_Infinity$)) $x352)) (= $x131 $x355))))
 39.1319 +(let ((@x362 (monotonicity @x357 (rewrite (= (and $x135 true) $x135)) (= (and $x131 (and $x135 true)) (and $x355 $x135)))))
 39.1320 +(let ((@x351 (quant-intro (rewrite (= (=> $x123 (= ?x124 0)) (or $x128 (= ?x124 0)))) (= $x127 $x349))))
 39.1321 +(let ((@x365 (monotonicity @x351 @x362 (= (and $x127 (and $x131 (and $x135 true))) $x363))))
 39.1322 +(let ((@x372 (trans (monotonicity @x365 (= $x139 $x366)) (rewrite (= $x366 $x363)) (= $x139 $x363))))
 39.1323 +(let ((@x376 (trans (monotonicity @x372 (= $x140 $x366)) (rewrite (= $x366 $x363)) (= $x140 $x363))))
 39.1324 +(let ((@x881 (trans (monotonicity @x376 @x872 (= $x343 (=> $x363 $x870))) (rewrite (= (=> $x363 $x870) $x877)) (= $x343 $x877))))
 39.1325 +(let ((@x1406 (trans (monotonicity @x881 (= $x344 (not $x877))) (monotonicity @x1401 (= (not $x877) $x1402)) (= $x344 $x1402))))
 39.1326 +(let ((@x1408 (not-or-elim (mp (asserted $x344) @x1406 $x1402) $x885)))
 39.1327 +(let ((@x1458 (mp~ (and-elim @x1408 $x355) (nnf-pos (refl (~ $x352 $x352)) (~ $x355 $x355)) $x355)))
 39.1328 +(let ((@x3493 (mp @x1458 (quant-intro (refl (= $x352 $x352)) (= $x355 $x3488)) $x3488)))
 39.1329 +(let ((@x5494 (rewrite (= (or (not $x3488) (or $x1533 $x5648)) (or (not $x3488) $x1533 $x5648)))))
 39.1330 +(let ((@x5498 (mp ((_ quant-inst ?v0!5) (or (not $x3488) (or $x1533 $x5648))) @x5494 (or (not $x3488) $x1533 $x5648))))
 39.1331 +(let ((@x6448 (unit-resolution (hypothesis $x6555) (mp (unit-resolution @x5498 @x3493 (hypothesis $x1534) $x5648) @x5583 $x5500) false)))
 39.1332 +(let ((@x3189 (unit-resolution (lemma @x6448 (or $x5500 $x1533)) (unit-resolution ((_ th-lemma arith triangle-eq) (or $x6555 $x1538)) @x5027 $x6555) @x5072 false)))
 39.1333 +(let (($x3539 (not $x3536)))
 39.1334 +(let (($x3822 (or $x3539 $x3819)))
 39.1335 +(let (($x3825 (not $x3822)))
 39.1336 +(let (($x3519 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
 39.1337 +(let ((?x124 (v_b_SP_G_0$ ?v1)))
 39.1338 +(let (($x928 (>= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?v0)) ?x152) 0)))
 39.1339 +(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
 39.1340 +(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
 39.1341 +(let (($x134 (not $x133)))
 39.1342 +(or $x134 $x917 $x928))))))) :pattern ( (pair$ ?v1 ?v0) ) :qid k!38))
 39.1343 +))
 39.1344 +(let (($x3524 (not $x3519)))
 39.1345 +(let (($x3828 (or $x3524 $x3825)))
 39.1346 +(let (($x3831 (not $x3828)))
 39.1347 +(let ((?x1517 (v_b_SP_G_0$ ?v0!4)))
 39.1348 +(let ((?x1518 (* (- 1) ?x1517)))
 39.1349 +(let ((?x1516 (v_b_SP_G_0$ ?v1!3)))
 39.1350 +(let ((?x1508 (pair$ ?v1!3 ?v0!4)))
 39.1351 +(let ((?x1509 (b_G$ ?x1508)))
 39.1352 +(let ((?x2040 (+ ?x1509 ?x1516 ?x1518)))
 39.1353 +(let (($x2043 (>= ?x2040 0)))
 39.1354 +(let (($x1512 (<= (+ b_Infinity$ (* (- 1) ?x1509)) 0)))
 39.1355 +(let (($x1507 (fun_app$ v_b_Visited_G_0$ ?v1!3)))
 39.1356 +(let (($x2389 (not $x1507)))
 39.1357 +(let (($x2404 (or $x2389 $x1512 $x2043)))
 39.1358 +(let (($x3495 (forall ((?v0 B_Vertex$) )(! (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v0)))
 39.1359 +(not $x133)) :pattern ( (fun_app$ v_b_Visited_G_0$ ?v0) ) :qid k!38))
 39.1360 +))
 39.1361 +(let ((@x1463 (mp~ (and-elim @x1408 $x135) (nnf-pos (refl (~ $x134 $x134)) (~ $x135 $x135)) $x135)))
 39.1362 +(let ((@x3500 (mp @x1463 (quant-intro (refl (= $x134 $x134)) (= $x135 $x3495)) $x3495)))
 39.1363 +(let ((@x4007 (unit-resolution ((_ quant-inst ?v1!3) (or (not $x3495) $x2389)) @x3500 (hypothesis $x1507) false)))
 39.1364 +(let (($x2409 (not $x2404)))
 39.1365 +(let (($x3834 (or $x2409 $x3831)))
 39.1366 +(let (($x3837 (not $x3834)))
 39.1367 +(let (($x3510 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x902 (>= (+ (v_b_SP_G_0$ ?v1) (* (- 1) (v_b_SP_G_0$ ?v0))) 0)))
 39.1368 +(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
 39.1369 +(or $x133 (not (fun_app$ v_b_Visited_G_0$ ?v0)) $x902))) :pattern ( (v_b_SP_G_0$ ?v1) (v_b_SP_G_0$ ?v0) ) :qid k!38))
 39.1370 +))
 39.1371 +(let (($x3515 (not $x3510)))
 39.1372 +(let (($x3840 (or $x3515 $x3837)))
 39.1373 +(let (($x3843 (not $x3840)))
 39.1374 +(let (($x1493 (>= (+ (v_b_SP_G_0$ ?v1!1) (* (- 1) (v_b_SP_G_0$ ?v0!2))) 0)))
 39.1375 +(let (($x1486 (fun_app$ v_b_Visited_G_0$ ?v0!2)))
 39.1376 +(let (($x2343 (not $x1486)))
 39.1377 +(let (($x1484 (fun_app$ v_b_Visited_G_0$ ?v1!1)))
 39.1378 +(let (($x2358 (or $x1484 $x2343 $x1493)))
 39.1379 +(let (($x2363 (not $x2358)))
 39.1380 +(let (($x3846 (or $x2363 $x3843)))
 39.1381 +(let (($x3849 (not $x3846)))
 39.1382 +(let (($x3501 (forall ((?v0 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v0)))
 39.1383 +(>= ?x124 0)) :pattern ( (v_b_SP_G_0$ ?v0) ) :qid k!38))
 39.1384 +))
 39.1385 +(let (($x3506 (not $x3501)))
 39.1386 +(let (($x3852 (or $x3506 $x3849)))
 39.1387 +(let (($x3855 (not $x3852)))
 39.1388 +(let ((?x1470 (v_b_SP_G_0$ ?v0!0)))
 39.1389 +(let (($x1471 (>= ?x1470 0)))
 39.1390 +(let (($x1472 (not $x1471)))
 39.1391 +(let ((@x5071 (hypothesis $x1472)))
 39.1392 +(let (($x5774 (<= ?x1470 0)))
 39.1393 +(let (($x82 (<= b_Infinity$ 0)))
 39.1394 +(let (($x83 (not $x82)))
 39.1395 +(let ((@x86 (mp (asserted (< 0 b_Infinity$)) (rewrite (= (< 0 b_Infinity$) $x83)) $x83)))
 39.1396 +(let (($x5117 (= b_Infinity$ ?x1470)))
 39.1397 +(let ((@x5579 (symm (commutativity (= $x5117 (= ?x1470 b_Infinity$))) (= (= ?x1470 b_Infinity$) $x5117))))
 39.1398 +(let (($x3131 (= ?x1470 b_Infinity$)))
 39.1399 +(let (($x5739 (= ?v0!0 b_Source$)))
 39.1400 +(let (($x5713 (not $x5739)))
 39.1401 +(let ((@x5595 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1470 0)) $x1471)) @x5071 (not (= ?x1470 0)))))
 39.1402 +(let (($x3482 (forall ((?v0 B_Vertex$) )(! (let (($x123 (= ?v0 b_Source$)))
 39.1403 +(let (($x128 (not $x123)))
 39.1404 +(or $x128 (= (v_b_SP_G_0$ ?v0) 0)))) :pattern ( (v_b_SP_G_0$ ?v0) ) :qid k!38))
 39.1405 +))
 39.1406 +(let ((@x3486 (quant-intro (refl (= (or $x128 (= ?x124 0)) (or $x128 (= ?x124 0)))) (= $x349 $x3482))))
 39.1407 +(let ((@x1452 (nnf-pos (refl (~ (or $x128 (= ?x124 0)) (or $x128 (= ?x124 0)))) (~ $x349 $x349))))
 39.1408 +(let ((@x3487 (mp (mp~ (and-elim @x1408 $x349) @x1452 $x349) @x3486 $x3482)))
 39.1409 +(let (($x5769 (= (or (not $x3482) (or $x5713 (= ?x1470 0))) (or (not $x3482) $x5713 (= ?x1470 0)))))
 39.1410 +(let ((@x5448 (mp ((_ quant-inst ?v0!0) (or (not $x3482) (or $x5713 (= ?x1470 0)))) (rewrite $x5769) (or (not $x3482) $x5713 (= ?x1470 0)))))
 39.1411 +(let ((@x6281 (rewrite (= (or (not $x3488) (or $x5739 $x3131)) (or (not $x3488) $x5739 $x3131)))))
 39.1412 +(let ((@x6173 (mp ((_ quant-inst ?v0!0) (or (not $x3488) (or $x5739 $x3131))) @x6281 (or (not $x3488) $x5739 $x3131))))
 39.1413 +(let ((@x6446 (mp (unit-resolution @x6173 @x3493 (unit-resolution @x5448 @x3487 @x5595 $x5713) $x3131) @x5579 $x5117)))
 39.1414 +(let ((@x6386 ((_ th-lemma arith triangle-eq) (or (not $x5117) (<= (+ b_Infinity$ (* (- 1) ?x1470)) 0)))))
 39.1415 +(let ((@x6387 (unit-resolution @x6386 @x6446 (<= (+ b_Infinity$ (* (- 1) ?x1470)) 0))))
 39.1416 +(let ((@x3142 (lemma ((_ th-lemma arith farkas 1 -1 1) (hypothesis $x5774) @x6387 @x86 false) (or (not $x5774) $x1471))))
 39.1417 +(let ((@x5085 (unit-resolution @x3142 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x5774 $x1471)) @x5071 $x5774) @x5071 false)))
 39.1418 +(let (($x3858 (or $x1472 $x3855)))
 39.1419 +(let (($x3861 (not $x3858)))
 39.1420 +(let (($x3864 (or $x864 $x3861)))
 39.1421 +(let (($x3867 (not $x3864)))
 39.1422 +(let (($x5885 (not $x3482)))
 39.1423 +(let (($x3145 (or $x5885 $x142)))
 39.1424 +(let ((@x4320 (monotonicity (rewrite (= (= b_Source$ b_Source$) true)) (= (not (= b_Source$ b_Source$)) (not true)))))
 39.1425 +(let ((@x5484 (trans @x4320 (rewrite (= (not true) false)) (= (not (= b_Source$ b_Source$)) false))))
 39.1426 +(let ((@x5457 (monotonicity @x5484 (= (or (not (= b_Source$ b_Source$)) $x142) (or false $x142)))))
 39.1427 +(let ((@x5606 (trans @x5457 (rewrite (= (or false $x142) $x142)) (= (or (not (= b_Source$ b_Source$)) $x142) $x142))))
 39.1428 +(let ((@x4948 (monotonicity @x5606 (= (or $x5885 (or (not (= b_Source$ b_Source$)) $x142)) $x3145))))
 39.1429 +(let ((@x5799 (trans @x4948 (rewrite (= $x3145 $x3145)) (= (or $x5885 (or (not (= b_Source$ b_Source$)) $x142)) $x3145))))
 39.1430 +(let ((@x5800 (mp ((_ quant-inst b_Source$) (or $x5885 (or (not (= b_Source$ b_Source$)) $x142))) @x5799 $x3145)))
 39.1431 +(let (($x3870 (or $x864 $x3867)))
 39.1432 +(let (($x2843 (forall ((?v1 B_Vertex$) )(! (let ((?x1906 (v_b_SP_G_2$ ?v0!20)))
 39.1433 +(let ((?x1907 (* (- 1) ?x1906)))
 39.1434 +(let ((?x268 (v_b_SP_G_2$ ?v1)))
 39.1435 +(let (($x2237 (= (+ ?x268 ?x1907 (b_G$ (pair$ ?v1 ?v0!20))) 0)))
 39.1436 +(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
 39.1437 +(let (($x295 (not $x286)))
 39.1438 +(or (>= (+ ?x268 ?x1907) 0) $x295 (not $x2237)))))))) :qid k!38))
 39.1439 +))
 39.1440 +(let (($x2828 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x298 (v_b_SP_G_2$ ?v0)))
 39.1441 +(let ((?x1258 (* (- 1) ?x298)))
 39.1442 +(let ((?x268 (v_b_SP_G_2$ ?v1)))
 39.1443 +(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
 39.1444 +(let (($x1277 (>= (+ ?x152 ?x268 ?x1258) 0)))
 39.1445 +(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
 39.1446 +(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
 39.1447 +(let (($x295 (not $x286)))
 39.1448 +(or $x295 $x917 $x1277))))))))) :qid k!38))
 39.1449 +))
 39.1450 +(let (($x2852 (not (or (not $x2828) $x1904 $x1909 (not $x2843)))))
 39.1451 +(let (($x2857 (or $x2806 $x2852)))
 39.1452 +(let (($x2783 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x1257 (>= (+ (v_b_SP_G_2$ ?v1) (* (- 1) (v_b_SP_G_2$ ?v0))) 0)))
 39.1453 +(let (($x296 (fun_app$ v_b_Visited_G_2$ ?v0)))
 39.1454 +(let (($x2763 (not $x296)))
 39.1455 +(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
 39.1456 +(or $x286 $x2763 $x1257))))) :qid k!38))
 39.1457 +))
 39.1458 +(let (($x2866 (not (or (not $x2783) (not $x2857)))))
 39.1459 +(let (($x2871 (or $x2760 $x2866)))
 39.1460 +(let (($x2879 (not (or $x1254 (not $x2871)))))
 39.1461 +(let (($x2884 (or $x1843 $x2879)))
 39.1462 +(let (($x2892 (not (or $x768 (not $x2884)))))
 39.1463 +(let (($x2897 (or $x768 $x2892)))
 39.1464 +(let (($x2905 (not (or $x780 (not $x2897)))))
 39.1465 +(let (($x2910 (or $x1825 $x2905)))
 39.1466 +(let (($x2918 (not (or $x1245 (not $x2910)))))
 39.1467 +(let (($x2923 (or $x1808 $x2918)))
 39.1468 +(let (($x2737 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
 39.1469 +(let ((?x268 (v_b_SP_G_2$ ?v0)))
 39.1470 +(let (($x273 (= ?x268 ?x171)))
 39.1471 +(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
 39.1472 +(let ((?x1168 (* (- 1) ?x254)))
 39.1473 +(let (($x1170 (<= (+ ?x171 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0)))) 0)))
 39.1474 +(let (($x1164 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0)))) 0)))
 39.1475 +(let (($x2712 (or $x1164 $x1170)))
 39.1476 +(let (($x2713 (not $x2712)))
 39.1477 +(or $x2713 $x273)))))))))) :qid k!38))
 39.1478 +))
 39.1479 +(let (($x2731 (forall ((?v0 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v0)))
 39.1480 +(let ((?x1181 (* (- 1) ?x268)))
 39.1481 +(let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0))))
 39.1482 +(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
 39.1483 +(let (($x1180 (= (+ ?x254 ?x263 ?x1181) 0)))
 39.1484 +(let (($x1170 (<= (+ (fun_app$a v_b_SP_G_1$ ?v0) (* (- 1) ?x254) (* (- 1) ?x263)) 0)))
 39.1485 +(let (($x1164 (<= (+ b_Infinity$ (* (- 1) ?x263)) 0)))
 39.1486 +(or $x1164 $x1170 $x1180)))))))) :qid k!38))
 39.1487 +))
 39.1488 +(let (($x2934 (or $x1768 $x1773 $x252 $x1208 (not $x1204) $x2930 (not $x2731) (not $x2737) (not $x2923))))
 39.1489 +(let (($x2935 (not $x2934)))
 39.1490 +(let (($x2667 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
 39.1491 +(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
 39.1492 +(let (($x1135 (>= (+ ?x152 ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0))) 0)))
 39.1493 +(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
 39.1494 +(let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0)))
 39.1495 +(or $x1094 $x917 $x1135)))))) :qid k!38))
 39.1496 +))
 39.1497 +(let (($x2675 (not (or (not $x2667) $x243))))
 39.1498 +(let (($x2680 (or $x2645 $x2675)))
 39.1499 +(let (($x2623 (forall ((?v0 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v0)))
 39.1500 +(let ((?x2186 (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!9 ?v0) ?v0))))))
 39.1501 +(let (($x2187 (= ?x2186 0)))
 39.1502 +(let (($x2171 (<= (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0)))) 0)))
 39.1503 +(let (($x2612 (not (or $x2171 (not $x2187)))))
 39.1504 +(let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0)))
 39.1505 +(let (($x123 (= ?v0 b_Source$)))
 39.1506 +(or $x123 $x1094 $x2612)))))))) :qid k!38))
 39.1507 +))
 39.1508 +(let (($x2689 (not (or (not $x2623) (not $x2680)))))
 39.1509 +(let (($x2586 (forall ((?v1 B_Vertex$) )(! (let ((?x1656 (fun_app$a v_b_SP_G_3$ ?v0!8)))
 39.1510 +(let ((?x1657 (* (- 1) ?x1656)))
 39.1511 +(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
 39.1512 +(let (($x2143 (= (+ ?x227 ?x1657 (b_G$ (pair$ ?v1 ?v0!8))) 0)))
 39.1513 +(or (>= (+ ?x227 ?x1657) 0) (not $x2143)))))) :qid k!38))
 39.1514 +))
 39.1515 +(let (($x2594 (not (or $x1654 $x1659 (not $x2586)))))
 39.1516 +(let (($x2694 (or $x2594 $x2689)))
 39.1517 +(let (($x2571 (forall ((?v0 B_Vertex$) )(! (let (($x997 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
 39.1518 +(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0)))
 39.1519 +(or $x175 $x997))) :qid k!38))
 39.1520 +))
 39.1521 +(let (($x2707 (not (or (not $x2571) $x2701 $x2702 $x2703 $x2704 (not $x2694)))))
 39.1522 +(let (($x2940 (or $x2707 $x2935)))
 39.1523 +(let (($x2557 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
 39.1524 +(let ((?x2123 (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!7 ?v0) ?v0))))))
 39.1525 +(let (($x2124 (= ?x2123 0)))
 39.1526 +(let (($x2108 (<= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?v0)))) 0)))
 39.1527 +(let (($x2546 (not (or $x2108 (not (fun_app$ v_b_Visited_G_1$ (?v1!7 ?v0))) (not $x2124)))))
 39.1528 +(let (($x997 (<= (+ b_Infinity$ (* (- 1) ?x171)) 0)))
 39.1529 +(let (($x123 (= ?v0 b_Source$)))
 39.1530 +(or $x123 $x997 $x2546)))))))) :qid k!38))
 39.1531 +))
 39.1532 +(let (($x2529 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
 39.1533 +(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
 39.1534 +(let (($x985 (>= (+ ?x152 ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
 39.1535 +(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
 39.1536 +(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
 39.1537 +(let (($x176 (not $x175)))
 39.1538 +(or $x176 $x917 $x985))))))) :qid k!38))
 39.1539 +))
 39.1540 +(let (($x2507 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
 39.1541 +(let (($x1010 (>= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
 39.1542 +(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
 39.1543 +(or $x175 (not (fun_app$ v_b_Visited_G_1$ ?v0)) $x1010)))) :qid k!38))
 39.1544 +))
 39.1545 +(let (($x2484 (forall ((?v0 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v0)))
 39.1546 +(let ((?x2085 (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!6 ?v0) ?v0))))))
 39.1547 +(let (($x2086 (= ?x2085 0)))
 39.1548 +(let (($x2070 (<= (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?v0)))) 0)))
 39.1549 +(let (($x2473 (not (or $x2070 (not (fun_app$ v_b_Visited_G_0$ (?v1!6 ?v0))) (not $x2086)))))
 39.1550 +(let (($x942 (<= (+ b_Infinity$ (* (- 1) ?x124)) 0)))
 39.1551 +(let (($x123 (= ?v0 b_Source$)))
 39.1552 +(or $x123 $x942 $x2473)))))))) :qid k!38))
 39.1553 +))
 39.1554 +(let (($x2953 (or (not $x2484) $x2947 (not $x1046) (not $x2507) (not $x2529) (not $x2557) (not $x2940))))
 39.1555 +(let (($x2954 (not $x2953)))
 39.1556 +(let (($x2446 (forall ((?v1 B_Vertex$) )(! (let ((?x1535 (v_b_SP_G_0$ ?v0!5)))
 39.1557 +(let ((?x1536 (* (- 1) ?x1535)))
 39.1558 +(let ((?x124 (v_b_SP_G_0$ ?v1)))
 39.1559 +(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
 39.1560 +(let (($x134 (not $x133)))
 39.1561 +(or (>= (+ ?x124 ?x1536) 0) $x134 (not (= (+ ?x124 ?x1536 (b_G$ (pair$ ?v1 ?v0!5))) 0)))))))) :qid k!38))
 39.1562 +))
 39.1563 +(let (($x2454 (not (or $x1533 $x1538 (not $x2446)))))
 39.1564 +(let (($x2959 (or $x2454 $x2954)))
 39.1565 +(let (($x2431 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
 39.1566 +(let ((?x124 (v_b_SP_G_0$ ?v1)))
 39.1567 +(let (($x928 (>= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?v0)) ?x152) 0)))
 39.1568 +(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
 39.1569 +(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
 39.1570 +(let (($x134 (not $x133)))
 39.1571 +(or $x134 $x917 $x928))))))) :qid k!38))
 39.1572 +))
 39.1573 +(let (($x2968 (not (or (not $x2431) (not $x2959)))))
 39.1574 +(let (($x2973 (or $x2409 $x2968)))
 39.1575 +(let (($x2386 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x902 (>= (+ (v_b_SP_G_0$ ?v1) (* (- 1) (v_b_SP_G_0$ ?v0))) 0)))
 39.1576 +(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
 39.1577 +(or $x133 (not (fun_app$ v_b_Visited_G_0$ ?v0)) $x902))) :qid k!38))
 39.1578 +))
 39.1579 +(let (($x2982 (not (or (not $x2386) (not $x2973)))))
 39.1580 +(let (($x2987 (or $x2363 $x2982)))
 39.1581 +(let (($x2995 (not (or $x897 (not $x2987)))))
 39.1582 +(let (($x3000 (or $x1472 $x2995)))
 39.1583 +(let (($x3008 (not (or $x864 (not $x3000)))))
 39.1584 +(let (($x3013 (or $x864 $x3008)))
 39.1585 +(let (($x2832 (or (>= (+ ?x268 ?x1907) 0) $x295 (not (= (+ ?x268 ?x1907 (b_G$ (pair$ ?0 ?v0!20))) 0)))))
 39.1586 +(let ((@x3731 (monotonicity (quant-intro (refl (= $x2832 $x2832)) (= $x2843 $x3724)) (= (not $x2843) $x3729))))
 39.1587 +(let ((@x3719 (quant-intro (refl (= (or $x295 $x917 $x1277) (or $x295 $x917 $x1277))) (= $x2828 $x3715))))
 39.1588 +(let ((@x3734 (monotonicity (monotonicity @x3719 (= (not $x2828) $x3720)) @x3731 (= (or (not $x2828) $x1904 $x1909 (not $x2843)) $x3732))))
 39.1589 +(let ((@x3743 (monotonicity (monotonicity (monotonicity @x3734 (= $x2852 $x3735)) (= $x2857 $x3738)) (= (not $x2857) $x3741))))
 39.1590 +(let ((@x3711 (quant-intro (refl (= (or $x286 (not $x296) $x1257) (or $x286 (not $x296) $x1257))) (= $x2783 $x3707))))
 39.1591 +(let ((@x3746 (monotonicity (monotonicity @x3711 (= (not $x2783) $x3712)) @x3743 (= (or (not $x2783) (not $x2857)) $x3744))))
 39.1592 +(let ((@x3755 (monotonicity (monotonicity (monotonicity @x3746 (= $x2866 $x3747)) (= $x2871 $x3750)) (= (not $x2871) $x3753))))
 39.1593 +(let ((@x3702 (quant-intro (refl (= (>= ?x268 0) (>= ?x268 0))) (= $x1251 $x3698))))
 39.1594 +(let ((@x3758 (monotonicity (monotonicity @x3702 (= $x1254 $x3703)) @x3755 (= (or $x1254 (not $x2871)) $x3756))))
 39.1595 +(let ((@x3767 (monotonicity (monotonicity (monotonicity @x3758 (= $x2879 $x3759)) (= $x2884 $x3762)) (= (not $x2884) $x3765))))
 39.1596 +(let ((@x3773 (monotonicity (monotonicity @x3767 (= (or $x768 (not $x2884)) $x3768)) (= $x2892 $x3771))))
 39.1597 +(let ((@x3779 (monotonicity (monotonicity @x3773 (= $x2897 $x3774)) (= (not $x2897) $x3777))))
 39.1598 +(let ((@x3694 (quant-intro (refl (= (or $x295 $x273) (or $x295 $x273))) (= $x647 $x3690))))
 39.1599 +(let ((@x3782 (monotonicity (monotonicity @x3694 (= $x780 $x3695)) @x3779 (= (or $x780 (not $x2897)) $x3780))))
 39.1600 +(let ((@x3791 (monotonicity (monotonicity (monotonicity @x3782 (= $x2905 $x3783)) (= $x2910 $x3786)) (= (not $x2910) $x3789))))
 39.1601 +(let ((@x3688 (monotonicity (quant-intro (refl (= $x1238 $x1238)) (= $x1242 $x3681)) (= $x1245 $x3686))))
 39.1602 +(let ((@x3797 (monotonicity (monotonicity @x3688 @x3791 (= (or $x1245 (not $x2910)) $x3792)) (= $x2918 $x3795))))
 39.1603 +(let ((@x3803 (monotonicity (monotonicity @x3797 (= $x2923 $x3798)) (= (not $x2923) $x3801))))
 39.1604 +(let ((@x3675 (refl (= (or (not (or $x1164 $x1170)) $x273) (or (not (or $x1164 $x1170)) $x273)))))
 39.1605 +(let ((@x3680 (monotonicity (quant-intro @x3675 (= $x2737 $x3673)) (= (not $x2737) $x3678))))
 39.1606 +(let ((@x3669 (quant-intro (refl (= (or $x1164 $x1170 $x1180) (or $x1164 $x1170 $x1180))) (= $x2731 $x3665))))
 39.1607 +(let ((@x3662 (monotonicity (quant-intro (refl (= $x1201 $x1201)) (= $x1204 $x3655)) (= (not $x1204) $x3660))))
 39.1608 +(let ((@x3806 (monotonicity @x3662 (monotonicity @x3669 (= (not $x2731) $x3670)) @x3680 @x3803 (= $x2934 $x3804))))
 39.1609 +(let ((@x3621 (quant-intro (refl (= (or $x1094 $x917 $x1135) (or $x1094 $x917 $x1135))) (= $x2667 $x3617))))
 39.1610 +(let ((@x3627 (monotonicity (monotonicity @x3621 (= (not $x2667) $x3622)) (= (or (not $x2667) $x243) $x3625))))
 39.1611 +(let ((@x3636 (monotonicity (monotonicity (monotonicity @x3627 (= $x2675 $x3628)) (= $x2680 $x3631)) (= (not $x2680) $x3634))))
 39.1612 +(let ((?x2186 (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?0))) (* (- 1) (b_G$ (pair$ (?v1!9 ?0) ?0))))))
 39.1613 +(let (($x2187 (= ?x2186 0)))
 39.1614 +(let (($x2171 (<= (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?0)))) 0)))
 39.1615 +(let (($x2612 (not (or $x2171 (not $x2187)))))
 39.1616 +(let (($x2618 (or $x123 $x1094 $x2612)))
 39.1617 +(let ((@x3616 (monotonicity (quant-intro (refl (= $x2618 $x2618)) (= $x2623 $x3609)) (= (not $x2623) $x3614))))
 39.1618 +(let ((@x3642 (monotonicity (monotonicity @x3616 @x3636 (= (or (not $x2623) (not $x2680)) $x3637)) (= $x2689 $x3640))))
 39.1619 +(let ((?x1656 (fun_app$a v_b_SP_G_3$ ?v0!8)))
 39.1620 +(let ((?x1657 (* (- 1) ?x1656)))
 39.1621 +(let (($x2143 (= (+ ?x227 ?x1657 (b_G$ (pair$ ?0 ?v0!8))) 0)))
 39.1622 +(let (($x2575 (or (>= (+ ?x227 ?x1657) 0) (not $x2143))))
 39.1623 +(let ((@x3602 (monotonicity (quant-intro (refl (= $x2575 $x2575)) (= $x2586 $x3595)) (= (not $x2586) $x3600))))
 39.1624 +(let ((@x3608 (monotonicity (monotonicity @x3602 (= (or $x1654 $x1659 (not $x2586)) $x3603)) (= $x2594 $x3606))))
 39.1625 +(let ((@x3648 (monotonicity (monotonicity @x3608 @x3642 (= $x2694 $x3643)) (= (not $x2694) $x3646))))
 39.1626 +(let ((@x3589 (quant-intro (refl (= (or $x175 $x997) (or $x175 $x997))) (= $x2571 $x3585))))
 39.1627 +(let ((@x3651 (monotonicity (monotonicity @x3589 (= (not $x2571) $x3590)) @x3648 (= (or (not $x2571) $x2701 $x2702 $x2703 $x2704 (not $x2694)) $x3649))))
 39.1628 +(let ((@x3812 (monotonicity (monotonicity @x3651 (= $x2707 $x3652)) (monotonicity @x3806 (= $x2935 $x3807)) (= $x2940 $x3810))))
 39.1629 +(let ((?x2123 (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?0))) (* (- 1) (b_G$ (pair$ (?v1!7 ?0) ?0))))))
 39.1630 +(let (($x2124 (= ?x2123 0)))
 39.1631 +(let (($x2108 (<= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?0)))) 0)))
 39.1632 +(let (($x2546 (not (or $x2108 (not (fun_app$ v_b_Visited_G_1$ (?v1!7 ?0))) (not $x2124)))))
 39.1633 +(let (($x2552 (or $x123 $x997 $x2546)))
 39.1634 +(let ((@x3583 (monotonicity (quant-intro (refl (= $x2552 $x2552)) (= $x2557 $x3576)) (= (not $x2557) $x3581))))
 39.1635 +(let ((@x3572 (quant-intro (refl (= (or $x176 $x917 $x985) (or $x176 $x917 $x985))) (= $x2529 $x3568))))
 39.1636 +(let ((@x3564 (quant-intro (refl (= (or $x175 (not $x177) $x1010) (or $x175 (not $x177) $x1010))) (= $x2507 $x3560))))
 39.1637 +(let ((@x3555 (quant-intro (refl (= (>= ?x171 0) (>= ?x171 0))) (= $x1046 $x3551))))
 39.1638 +(let ((?x2085 (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?0))) (* (- 1) (b_G$ (pair$ (?v1!6 ?0) ?0))))))
 39.1639 +(let (($x2086 (= ?x2085 0)))
 39.1640 +(let (($x2070 (<= (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?0)))) 0)))
 39.1641 +(let (($x2473 (not (or $x2070 (not (fun_app$ v_b_Visited_G_0$ (?v1!6 ?0))) (not $x2086)))))
 39.1642 +(let (($x942 (<= (+ b_Infinity$ (* (- 1) ?x124)) 0)))
 39.1643 +(let (($x2479 (or $x123 $x942 $x2473)))
 39.1644 +(let ((@x3549 (monotonicity (quant-intro (refl (= $x2479 $x2479)) (= $x2484 $x3542)) (= (not $x2484) $x3547))))
 39.1645 +(let ((@x3818 (monotonicity @x3549 (monotonicity @x3555 (= (not $x1046) $x3556)) (monotonicity @x3564 (= (not $x2507) $x3565)) (monotonicity @x3572 (= (not $x2529) $x3573)) @x3583 (monotonicity @x3812 (= (not $x2940) $x3813)) (= $x2953 $x3816))))
 39.1646 +(let (($x2435 (or (>= (+ ?x124 ?x1536) 0) $x134 (not (= (+ ?x124 ?x1536 (b_G$ (pair$ ?0 ?v0!5))) 0)))))
 39.1647 +(let ((@x3535 (monotonicity (quant-intro (refl (= $x2435 $x2435)) (= $x2446 $x3528)) (= (not $x2446) $x3533))))
 39.1648 +(let ((@x3541 (monotonicity (monotonicity @x3535 (= (or $x1533 $x1538 (not $x2446)) $x3536)) (= $x2454 $x3539))))
 39.1649 +(let ((@x3824 (monotonicity @x3541 (monotonicity @x3818 (= $x2954 $x3819)) (= $x2959 $x3822))))
 39.1650 +(let ((@x3523 (quant-intro (refl (= (or $x134 $x917 $x928) (or $x134 $x917 $x928))) (= $x2431 $x3519))))
 39.1651 +(let ((@x3830 (monotonicity (monotonicity @x3523 (= (not $x2431) $x3524)) (monotonicity @x3824 (= (not $x2959) $x3825)) (= (or (not $x2431) (not $x2959)) $x3828))))
 39.1652 +(let ((@x3839 (monotonicity (monotonicity (monotonicity @x3830 (= $x2968 $x3831)) (= $x2973 $x3834)) (= (not $x2973) $x3837))))
 39.1653 +(let (($x2381 (or $x133 (not (fun_app$ v_b_Visited_G_0$ ?1)) $x902)))
 39.1654 +(let ((@x3517 (monotonicity (quant-intro (refl (= $x2381 $x2381)) (= $x2386 $x3510)) (= (not $x2386) $x3515))))
 39.1655 +(let ((@x3845 (monotonicity (monotonicity @x3517 @x3839 (= (or (not $x2386) (not $x2973)) $x3840)) (= $x2982 $x3843))))
 39.1656 +(let ((@x3851 (monotonicity (monotonicity @x3845 (= $x2987 $x3846)) (= (not $x2987) $x3849))))
 39.1657 +(let ((@x3505 (quant-intro (refl (= (>= ?x124 0) (>= ?x124 0))) (= $x894 $x3501))))
 39.1658 +(let ((@x3854 (monotonicity (monotonicity @x3505 (= $x897 $x3506)) @x3851 (= (or $x897 (not $x2987)) $x3852))))
 39.1659 +(let ((@x3863 (monotonicity (monotonicity (monotonicity @x3854 (= $x2995 $x3855)) (= $x3000 $x3858)) (= (not $x3000) $x3861))))
 39.1660 +(let ((@x3869 (monotonicity (monotonicity @x3863 (= (or $x864 (not $x3000)) $x3864)) (= $x3008 $x3867))))
 39.1661 +(let (($x2246 (forall ((?v1 B_Vertex$) )(! (let ((?x1906 (v_b_SP_G_2$ ?v0!20)))
 39.1662 +(let ((?x1907 (* (- 1) ?x1906)))
 39.1663 +(let ((?x268 (v_b_SP_G_2$ ?v1)))
 39.1664 +(let (($x2237 (= (+ ?x268 ?x1907 (b_G$ (pair$ ?v1 ?v0!20))) 0)))
 39.1665 +(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
 39.1666 +(let (($x2240 (and (not (>= (+ ?x268 ?x1907) 0)) $x286 $x2237)))
 39.1667 +(not $x2240))))))) :qid k!38))
 39.1668 +))
 39.1669 +(let (($x1910 (not $x1909)))
 39.1670 +(let (($x1905 (not $x1904)))
 39.1671 +(let (($x2255 (and $x1284 $x1905 $x1910 $x2246)))
 39.1672 +(let (($x1886 (not (and $x1878 (not $x1883)))))
 39.1673 +(let (($x1892 (or $x1886 $x1891)))
 39.1674 +(let (($x1893 (not $x1892)))
 39.1675 +(let (($x2260 (or $x1893 $x2255)))
 39.1676 +(let (($x2263 (and $x1265 $x2260)))
 39.1677 +(let (($x1859 (not (and (not $x1855) $x1857))))
 39.1678 +(let (($x1865 (or $x1859 $x1864)))
 39.1679 +(let (($x1866 (not $x1865)))
 39.1680 +(let (($x2266 (or $x1866 $x2263)))
 39.1681 +(let (($x2269 (and $x1251 $x2266)))
 39.1682 +(let (($x2272 (or $x1843 $x2269)))
 39.1683 +(let (($x2275 (and $x292 $x2272)))
 39.1684 +(let (($x2278 (or $x768 $x2275)))
 39.1685 +(let (($x2281 (and $x647 $x2278)))
 39.1686 +(let (($x2284 (or $x1825 $x2281)))
 39.1687 +(let (($x2287 (and $x1242 $x2284)))
 39.1688 +(let (($x2290 (or $x1808 $x2287)))
 39.1689 +(let (($x1774 (not $x1773)))
 39.1690 +(let (($x1769 (not $x1768)))
 39.1691 +(let (($x2296 (and $x1769 $x1774 $x253 $x1209 $x1204 $x261 $x1188 $x1194 $x2290)))
 39.1692 +(let (($x1744 (not $x243)))
 39.1693 +(let (($x1747 (and $x1141 $x1744)))
 39.1694 +(let (($x1728 (not (and (not $x1719) (not $x1725)))))
 39.1695 +(let (($x2207 (or $x1728 $x2204)))
 39.1696 +(let (($x2210 (not $x2207)))
 39.1697 +(let (($x2213 (or $x2210 $x1747)))
 39.1698 +(let (($x2198 (forall ((?v0 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v0)))
 39.1699 +(let ((?x2186 (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!9 ?v0) ?v0))))))
 39.1700 +(let (($x2187 (= ?x2186 0)))
 39.1701 +(let (($x2171 (<= (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0)))) 0)))
 39.1702 +(let (($x2192 (and (not $x2171) $x2187)))
 39.1703 +(let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0)))
 39.1704 +(let (($x1095 (not $x1094)))
 39.1705 +(let (($x123 (= ?v0 b_Source$)))
 39.1706 +(let (($x128 (not $x123)))
 39.1707 +(let (($x1098 (and $x128 $x1095)))
 39.1708 +(let (($x1101 (not $x1098)))
 39.1709 +(or $x1101 $x2192)))))))))))) :qid k!38))
 39.1710 +))
 39.1711 +(let (($x2216 (and $x2198 $x2213)))
 39.1712 +(let (($x2152 (forall ((?v1 B_Vertex$) )(! (let ((?x1656 (fun_app$a v_b_SP_G_3$ ?v0!8)))
 39.1713 +(let ((?x1657 (* (- 1) ?x1656)))
 39.1714 +(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
 39.1715 +(let (($x2143 (= (+ ?x227 ?x1657 (b_G$ (pair$ ?v1 ?v0!8))) 0)))
 39.1716 +(let (($x2146 (and (not (>= (+ ?x227 ?x1657) 0)) $x2143)))
 39.1717 +(not $x2146)))))) :qid k!38))
 39.1718 +))
 39.1719 +(let (($x1660 (not $x1659)))
 39.1720 +(let (($x1655 (not $x1654)))
 39.1721 +(let (($x2158 (and $x1655 $x1660 $x2152)))
 39.1722 +(let (($x2219 (or $x2158 $x2216)))
 39.1723 +(let (($x1636 (forall ((?v0 B_Vertex$) )(! (let (($x997 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
 39.1724 +(let (($x998 (not $x997)))
 39.1725 +(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0)))
 39.1726 +(let (($x176 (not $x175)))
 39.1727 +(let (($x1072 (and $x176 $x998)))
 39.1728 +(not $x1072)))))) :qid k!38))
 39.1729 +))
 39.1730 +(let (($x2225 (and $x1636 $x209 $x212 $x214 $x217 $x2219)))
 39.1731 +(let (($x2301 (or $x2225 $x2296)))
 39.1732 +(let (($x2135 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
 39.1733 +(let ((?x2123 (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!7 ?v0) ?v0))))))
 39.1734 +(let (($x2124 (= ?x2123 0)))
 39.1735 +(let ((?x1608 (?v1!7 ?v0)))
 39.1736 +(let (($x1613 (fun_app$ v_b_Visited_G_1$ ?x1608)))
 39.1737 +(let (($x2129 (and (not (<= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?x1608))) 0)) $x1613 $x2124)))
 39.1738 +(let (($x997 (<= (+ b_Infinity$ (* (- 1) ?x171)) 0)))
 39.1739 +(let (($x998 (not $x997)))
 39.1740 +(let (($x123 (= ?v0 b_Source$)))
 39.1741 +(let (($x128 (not $x123)))
 39.1742 +(let (($x1001 (and $x128 $x998)))
 39.1743 +(let (($x1004 (not $x1001)))
 39.1744 +(or $x1004 $x2129))))))))))))) :qid k!38))
 39.1745 +))
 39.1746 +(let (($x2097 (forall ((?v0 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v0)))
 39.1747 +(let ((?x2085 (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!6 ?v0) ?v0))))))
 39.1748 +(let (($x2086 (= ?x2085 0)))
 39.1749 +(let ((?x1573 (?v1!6 ?v0)))
 39.1750 +(let (($x1578 (fun_app$ v_b_Visited_G_0$ ?x1573)))
 39.1751 +(let (($x2091 (and (not (<= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?x1573))) 0)) $x1578 $x2086)))
 39.1752 +(let (($x123 (= ?v0 b_Source$)))
 39.1753 +(let (($x128 (not $x123)))
 39.1754 +(let (($x946 (and $x128 (not (<= (+ b_Infinity$ (* (- 1) ?x124)) 0)))))
 39.1755 +(let (($x949 (not $x946)))
 39.1756 +(or $x949 $x2091))))))))))) :qid k!38))
 39.1757 +))
 39.1758 +(let (($x2310 (and $x2097 $x170 $x1046 $x1040 $x992 $x2135 $x2301)))
 39.1759 +(let (($x1562 (forall ((?v1 B_Vertex$) )(! (let ((?x1535 (v_b_SP_G_0$ ?v0!5)))
 39.1760 +(let ((?x1536 (* (- 1) ?x1535)))
 39.1761 +(let ((?x124 (v_b_SP_G_0$ ?v1)))
 39.1762 +(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
 39.1763 +(let (($x1549 (and (not (>= (+ ?x124 ?x1536) 0)) $x133 (= (+ ?x124 ?x1536 (b_G$ (pair$ ?v1 ?v0!5))) 0))))
 39.1764 +(not $x1549)))))) :qid k!38))
 39.1765 +))
 39.1766 +(let (($x2057 (and $x1534 $x1539 $x1562)))
 39.1767 +(let (($x2315 (or $x2057 $x2310)))
 39.1768 +(let (($x2318 (and $x934 $x2315)))
 39.1769 +(let (($x1515 (not (and $x1507 (not $x1512)))))
 39.1770 +(let (($x2046 (or $x1515 $x2043)))
 39.1771 +(let (($x2049 (not $x2046)))
 39.1772 +(let (($x2321 (or $x2049 $x2318)))
 39.1773 +(let (($x2324 (and $x909 $x2321)))
 39.1774 +(let (($x1488 (not (and (not $x1484) $x1486))))
 39.1775 +(let (($x1494 (or $x1488 $x1493)))
 39.1776 +(let (($x1495 (not $x1494)))
 39.1777 +(let (($x2327 (or $x1495 $x2324)))
 39.1778 +(let (($x2330 (and $x894 $x2327)))
 39.1779 +(let (($x2333 (or $x1472 $x2330)))
 39.1780 +(let (($x2336 (and $x142 $x2333)))
 39.1781 +(let (($x2339 (or $x864 $x2336)))
 39.1782 +(let ((@x2937 (rewrite (= (and $x1769 $x1774 $x253 $x1209 $x1204 $x261 $x2731 $x2737 $x2923) $x2935))))
 39.1783 +(let (($x2237 (= (+ ?x268 ?x1907 (b_G$ (pair$ ?0 ?v0!20))) 0)))
 39.1784 +(let (($x2240 (and (not (>= (+ ?x268 ?x1907) 0)) $x286 $x2237)))
 39.1785 +(let (($x2243 (not $x2240)))
 39.1786 +(let ((@x2838 (monotonicity (rewrite (= $x2240 (not $x2832))) (= $x2243 (not (not $x2832))))))
 39.1787 +(let ((@x2845 (quant-intro (trans @x2838 (rewrite (= (not (not $x2832)) $x2832)) (= $x2243 $x2832)) (= $x2246 $x2843))))
 39.1788 +(let ((@x2815 (monotonicity (rewrite (= $x1271 (not (or $x295 $x917)))) (= $x1274 (not (not (or $x295 $x917)))))))
 39.1789 +(let ((@x2819 (trans @x2815 (rewrite (= (not (not (or $x295 $x917))) (or $x295 $x917))) (= $x1274 (or $x295 $x917)))))
 39.1790 +(let ((@x2827 (trans (monotonicity @x2819 (= $x1281 (or (or $x295 $x917) $x1277))) (rewrite (= (or (or $x295 $x917) $x1277) (or $x295 $x917 $x1277))) (= $x1281 (or $x295 $x917 $x1277)))))
 39.1791 +(let ((@x2848 (monotonicity (quant-intro @x2827 (= $x1284 $x2828)) @x2845 (= $x2255 (and $x2828 $x1905 $x1910 $x2843)))))
 39.1792 +(let ((@x2856 (trans @x2848 (rewrite (= (and $x2828 $x1905 $x1910 $x2843) $x2852)) (= $x2255 $x2852))))
 39.1793 +(let ((@x2793 (monotonicity (rewrite (= (and $x1878 (not $x1883)) (not (or $x2786 $x1883)))) (= $x1886 (not (not (or $x2786 $x1883)))))))
 39.1794 +(let ((@x2797 (trans @x2793 (rewrite (= (not (not (or $x2786 $x1883))) (or $x2786 $x1883))) (= $x1886 (or $x2786 $x1883)))))
 39.1795 +(let ((@x2805 (trans (monotonicity @x2797 (= $x1892 (or (or $x2786 $x1883) $x1891))) (rewrite (= (or (or $x2786 $x1883) $x1891) $x2801)) (= $x1892 $x2801))))
 39.1796 +(let ((@x2859 (monotonicity (monotonicity @x2805 (= $x1893 $x2806)) @x2856 (= $x2260 $x2857))))
 39.1797 +(let ((@x2780 (rewrite (= (or (or $x286 (not $x296)) $x1257) (or $x286 (not $x296) $x1257)))))
 39.1798 +(let ((@x2772 (rewrite (= (not (not (or $x286 (not $x296)))) (or $x286 (not $x296))))))
 39.1799 +(let ((@x2770 (monotonicity (rewrite (= $x297 (not (or $x286 (not $x296))))) (= $x659 (not (not (or $x286 (not $x296))))))))
 39.1800 +(let ((@x2777 (monotonicity (trans @x2770 @x2772 (= $x659 (or $x286 (not $x296)))) (= $x1262 (or (or $x286 (not $x296)) $x1257)))))
 39.1801 +(let ((@x2785 (quant-intro (trans @x2777 @x2780 (= $x1262 (or $x286 (not $x296) $x1257))) (= $x1265 $x2783))))
 39.1802 +(let ((@x2870 (trans (monotonicity @x2785 @x2859 (= $x2263 (and $x2783 $x2857))) (rewrite (= (and $x2783 $x2857) $x2866)) (= $x2263 $x2866))))
 39.1803 +(let ((@x2747 (monotonicity (rewrite (= (and (not $x1855) $x1857) (not (or $x1855 $x2740)))) (= $x1859 (not (not (or $x1855 $x2740)))))))
 39.1804 +(let ((@x2751 (trans @x2747 (rewrite (= (not (not (or $x1855 $x2740))) (or $x1855 $x2740))) (= $x1859 (or $x1855 $x2740)))))
 39.1805 +(let ((@x2759 (trans (monotonicity @x2751 (= $x1865 (or (or $x1855 $x2740) $x1864))) (rewrite (= (or (or $x1855 $x2740) $x1864) $x2755)) (= $x1865 $x2755))))
 39.1806 +(let ((@x2873 (monotonicity (monotonicity @x2759 (= $x1866 $x2760)) @x2870 (= $x2266 $x2871))))
 39.1807 +(let ((@x2883 (trans (monotonicity @x2873 (= $x2269 (and $x1251 $x2871))) (rewrite (= (and $x1251 $x2871) $x2879)) (= $x2269 $x2879))))
 39.1808 +(let ((@x2889 (monotonicity (monotonicity @x2883 (= $x2272 $x2884)) (= $x2275 (and $x292 $x2884)))))
 39.1809 +(let ((@x2899 (monotonicity (trans @x2889 (rewrite (= (and $x292 $x2884) $x2892)) (= $x2275 $x2892)) (= $x2278 $x2897))))
 39.1810 +(let ((@x2909 (trans (monotonicity @x2899 (= $x2281 (and $x647 $x2897))) (rewrite (= (and $x647 $x2897) $x2905)) (= $x2281 $x2905))))
 39.1811 +(let ((@x2915 (monotonicity (monotonicity @x2909 (= $x2284 $x2910)) (= $x2287 (and $x1242 $x2910)))))
 39.1812 +(let ((@x2925 (monotonicity (trans @x2915 (rewrite (= (and $x1242 $x2910) $x2918)) (= $x2287 $x2918)) (= $x2290 $x2923))))
 39.1813 +(let ((@x2736 (monotonicity (rewrite (= $x1174 (not (or $x1164 $x1170)))) (= $x1191 (or (not (or $x1164 $x1170)) $x273)))))
 39.1814 +(let ((@x2718 (monotonicity (rewrite (= $x1174 (not (or $x1164 $x1170)))) (= $x1177 (not (not (or $x1164 $x1170)))))))
 39.1815 +(let ((@x2722 (trans @x2718 (rewrite (= (not (not (or $x1164 $x1170))) (or $x1164 $x1170))) (= $x1177 (or $x1164 $x1170)))))
 39.1816 +(let ((@x2730 (trans (monotonicity @x2722 (= $x1185 (or (or $x1164 $x1170) $x1180))) (rewrite (= (or (or $x1164 $x1170) $x1180) (or $x1164 $x1170 $x1180))) (= $x1185 (or $x1164 $x1170 $x1180)))))
 39.1817 +(let ((@x2928 (monotonicity (quant-intro @x2730 (= $x1188 $x2731)) (quant-intro @x2736 (= $x1194 $x2737)) @x2925 (= $x2296 (and $x1769 $x1774 $x253 $x1209 $x1204 $x261 $x2731 $x2737 $x2923)))))
 39.1818 +(let ((@x2654 (monotonicity (rewrite (= $x1129 (not (or $x1094 $x917)))) (= $x1132 (not (not (or $x1094 $x917)))))))
 39.1819 +(let ((@x2658 (trans @x2654 (rewrite (= (not (not (or $x1094 $x917))) (or $x1094 $x917))) (= $x1132 (or $x1094 $x917)))))
 39.1820 +(let ((@x2666 (trans (monotonicity @x2658 (= $x1138 (or (or $x1094 $x917) $x1135))) (rewrite (= (or (or $x1094 $x917) $x1135) (or $x1094 $x917 $x1135))) (= $x1138 (or $x1094 $x917 $x1135)))))
 39.1821 +(let ((@x2672 (monotonicity (quant-intro @x2666 (= $x1141 $x2667)) (= $x1747 (and $x2667 $x1744)))))
 39.1822 +(let ((@x2632 (monotonicity (rewrite (= (and (not $x1719) (not $x1725)) (not (or $x1719 $x1725)))) (= $x1728 (not (not (or $x1719 $x1725)))))))
 39.1823 +(let ((@x2636 (trans @x2632 (rewrite (= (not (not (or $x1719 $x1725))) (or $x1719 $x1725))) (= $x1728 (or $x1719 $x1725)))))
 39.1824 +(let ((@x2644 (trans (monotonicity @x2636 (= $x2207 (or (or $x1719 $x1725) $x2204))) (rewrite (= (or (or $x1719 $x1725) $x2204) $x2640)) (= $x2207 $x2640))))
 39.1825 +(let ((@x2682 (monotonicity (monotonicity @x2644 (= $x2210 $x2645)) (trans @x2672 (rewrite (= (and $x2667 $x1744) $x2675)) (= $x1747 $x2675)) (= $x2213 $x2680))))
 39.1826 +(let ((@x2605 (monotonicity (rewrite (= $x1098 (not (or $x123 $x1094)))) (= $x1101 (not (not (or $x123 $x1094)))))))
 39.1827 +(let ((@x2609 (trans @x2605 (rewrite (= (not (not (or $x123 $x1094))) (or $x123 $x1094))) (= $x1101 (or $x123 $x1094)))))
 39.1828 +(let ((@x2617 (monotonicity @x2609 (rewrite (= (and (not $x2171) $x2187) $x2612)) (= (or $x1101 (and (not $x2171) $x2187)) (or (or $x123 $x1094) $x2612)))))
 39.1829 +(let ((@x2622 (trans @x2617 (rewrite (= (or (or $x123 $x1094) $x2612) $x2618)) (= (or $x1101 (and (not $x2171) $x2187)) $x2618))))
 39.1830 +(let ((@x2685 (monotonicity (quant-intro @x2622 (= $x2198 $x2623)) @x2682 (= $x2216 (and $x2623 $x2680)))))
 39.1831 +(let (($x2146 (and (not (>= (+ ?x227 ?x1657) 0)) $x2143)))
 39.1832 +(let (($x2149 (not $x2146)))
 39.1833 +(let ((@x2581 (monotonicity (rewrite (= $x2146 (not $x2575))) (= $x2149 (not (not $x2575))))))
 39.1834 +(let ((@x2588 (quant-intro (trans @x2581 (rewrite (= (not (not $x2575)) $x2575)) (= $x2149 $x2575)) (= $x2152 $x2586))))
 39.1835 +(let ((@x2598 (trans (monotonicity @x2588 (= $x2158 (and $x1655 $x1660 $x2586))) (rewrite (= (and $x1655 $x1660 $x2586) $x2594)) (= $x2158 $x2594))))
 39.1836 +(let ((@x2696 (monotonicity @x2598 (trans @x2685 (rewrite (= (and $x2623 $x2680) $x2689)) (= $x2216 $x2689)) (= $x2219 $x2694))))
 39.1837 +(let ((@x2566 (monotonicity (rewrite (= $x1072 (not (or $x175 $x997)))) (= (not $x1072) (not (not (or $x175 $x997)))))))
 39.1838 +(let ((@x2570 (trans @x2566 (rewrite (= (not (not (or $x175 $x997))) (or $x175 $x997))) (= (not $x1072) (or $x175 $x997)))))
 39.1839 +(let ((@x2699 (monotonicity (quant-intro @x2570 (= $x1636 $x2571)) @x2696 (= $x2225 (and $x2571 $x209 $x212 $x214 $x217 $x2694)))))
 39.1840 +(let ((@x2711 (trans @x2699 (rewrite (= (and $x2571 $x209 $x212 $x214 $x217 $x2694) $x2707)) (= $x2225 $x2707))))
 39.1841 +(let ((?x1608 (?v1!7 ?0)))
 39.1842 +(let (($x1613 (fun_app$ v_b_Visited_G_1$ ?x1608)))
 39.1843 +(let (($x2129 (and (not $x2108) $x1613 $x2124)))
 39.1844 +(let (($x2132 (or $x1004 $x2129)))
 39.1845 +(let ((@x2538 (monotonicity (rewrite (= $x1001 (not (or $x123 $x997)))) (= $x1004 (not (not (or $x123 $x997)))))))
 39.1846 +(let ((@x2542 (trans @x2538 (rewrite (= (not (not (or $x123 $x997))) (or $x123 $x997))) (= $x1004 (or $x123 $x997)))))
 39.1847 +(let ((@x2551 (monotonicity @x2542 (rewrite (= $x2129 $x2546)) (= $x2132 (or (or $x123 $x997) $x2546)))))
 39.1848 +(let ((@x2556 (trans @x2551 (rewrite (= (or (or $x123 $x997) $x2546) $x2552)) (= $x2132 $x2552))))
 39.1849 +(let ((@x2516 (monotonicity (rewrite (= $x978 (not (or $x176 $x917)))) (= $x981 (not (not (or $x176 $x917)))))))
 39.1850 +(let ((@x2520 (trans @x2516 (rewrite (= (not (not (or $x176 $x917))) (or $x176 $x917))) (= $x981 (or $x176 $x917)))))
 39.1851 +(let ((@x2528 (trans (monotonicity @x2520 (= $x989 (or (or $x176 $x917) $x985))) (rewrite (= (or (or $x176 $x917) $x985) (or $x176 $x917 $x985))) (= $x989 (or $x176 $x917 $x985)))))
 39.1852 +(let ((@x2504 (rewrite (= (or (or $x175 (not $x177)) $x1010) (or $x175 (not $x177) $x1010)))))
 39.1853 +(let ((@x2496 (rewrite (= (not (not (or $x175 (not $x177)))) (or $x175 (not $x177))))))
 39.1854 +(let ((@x2494 (monotonicity (rewrite (= $x178 (not (or $x175 (not $x177))))) (= $x398 (not (not (or $x175 (not $x177))))))))
 39.1855 +(let ((@x2501 (monotonicity (trans @x2494 @x2496 (= $x398 (or $x175 (not $x177)))) (= $x1037 (or (or $x175 (not $x177)) $x1010)))))
 39.1856 +(let ((@x2509 (quant-intro (trans @x2501 @x2504 (= $x1037 (or $x175 (not $x177) $x1010))) (= $x1040 $x2507))))
 39.1857 +(let ((?x1573 (?v1!6 ?0)))
 39.1858 +(let (($x1578 (fun_app$ v_b_Visited_G_0$ ?x1573)))
 39.1859 +(let (($x2091 (and (not $x2070) $x1578 $x2086)))
 39.1860 +(let (($x2094 (or $x949 $x2091)))
 39.1861 +(let ((@x2465 (monotonicity (rewrite (= $x946 (not (or $x123 $x942)))) (= $x949 (not (not (or $x123 $x942)))))))
 39.1862 +(let ((@x2469 (trans @x2465 (rewrite (= (not (not (or $x123 $x942))) (or $x123 $x942))) (= $x949 (or $x123 $x942)))))
 39.1863 +(let ((@x2478 (monotonicity @x2469 (rewrite (= $x2091 $x2473)) (= $x2094 (or (or $x123 $x942) $x2473)))))
 39.1864 +(let ((@x2483 (trans @x2478 (rewrite (= (or (or $x123 $x942) $x2473) $x2479)) (= $x2094 $x2479))))
 39.1865 +(let ((@x2945 (monotonicity (quant-intro @x2483 (= $x2097 $x2484)) @x2509 (quant-intro @x2528 (= $x992 $x2529)) (quant-intro @x2556 (= $x2135 $x2557)) (monotonicity @x2711 (trans @x2928 @x2937 (= $x2296 $x2935)) (= $x2301 $x2940)) (= $x2310 (and $x2484 $x170 $x1046 $x2507 $x2529 $x2557 $x2940)))))
 39.1866 +(let ((@x2958 (trans @x2945 (rewrite (= (and $x2484 $x170 $x1046 $x2507 $x2529 $x2557 $x2940) $x2954)) (= $x2310 $x2954))))
 39.1867 +(let (($x1549 (and (not (>= (+ ?x124 ?x1536) 0)) $x133 (= (+ ?x124 ?x1536 (b_G$ (pair$ ?0 ?v0!5))) 0))))
 39.1868 +(let (($x1559 (not $x1549)))
 39.1869 +(let ((@x2441 (monotonicity (rewrite (= $x1549 (not $x2435))) (= $x1559 (not (not $x2435))))))
 39.1870 +(let ((@x2448 (quant-intro (trans @x2441 (rewrite (= (not (not $x2435)) $x2435)) (= $x1559 $x2435)) (= $x1562 $x2446))))
 39.1871 +(let ((@x2458 (trans (monotonicity @x2448 (= $x2057 (and $x1534 $x1539 $x2446))) (rewrite (= (and $x1534 $x1539 $x2446) $x2454)) (= $x2057 $x2454))))
 39.1872 +(let ((@x2418 (monotonicity (rewrite (= $x921 (not (or $x134 $x917)))) (= $x924 (not (not (or $x134 $x917)))))))
 39.1873 +(let ((@x2422 (trans @x2418 (rewrite (= (not (not (or $x134 $x917))) (or $x134 $x917))) (= $x924 (or $x134 $x917)))))
 39.1874 +(let ((@x2430 (trans (monotonicity @x2422 (= $x931 (or (or $x134 $x917) $x928))) (rewrite (= (or (or $x134 $x917) $x928) (or $x134 $x917 $x928))) (= $x931 (or $x134 $x917 $x928)))))
 39.1875 +(let ((@x2964 (monotonicity (quant-intro @x2430 (= $x934 $x2431)) (monotonicity @x2458 @x2958 (= $x2315 $x2959)) (= $x2318 (and $x2431 $x2959)))))
 39.1876 +(let ((@x2396 (monotonicity (rewrite (= (and $x1507 (not $x1512)) (not (or $x2389 $x1512)))) (= $x1515 (not (not (or $x2389 $x1512)))))))
 39.1877 +(let ((@x2400 (trans @x2396 (rewrite (= (not (not (or $x2389 $x1512))) (or $x2389 $x1512))) (= $x1515 (or $x2389 $x1512)))))
 39.1878 +(let ((@x2408 (trans (monotonicity @x2400 (= $x2046 (or (or $x2389 $x1512) $x2043))) (rewrite (= (or (or $x2389 $x1512) $x2043) $x2404)) (= $x2046 $x2404))))
 39.1879 +(let ((@x2975 (monotonicity (monotonicity @x2408 (= $x2049 $x2409)) (trans @x2964 (rewrite (= (and $x2431 $x2959) $x2968)) (= $x2318 $x2968)) (= $x2321 $x2973))))
 39.1880 +(let (($x2382 (= (or (or $x133 (not (fun_app$ v_b_Visited_G_0$ ?1))) $x902) $x2381)))
 39.1881 +(let (($x2379 (= $x906 (or (or $x133 (not (fun_app$ v_b_Visited_G_0$ ?1))) $x902))))
 39.1882 +(let (($x2367 (or $x133 (not (fun_app$ v_b_Visited_G_0$ ?1)))))
 39.1883 +(let ((@x2373 (monotonicity (rewrite (= $x146 (not $x2367))) (= $x377 (not (not $x2367))))))
 39.1884 +(let ((@x2380 (monotonicity (trans @x2373 (rewrite (= (not (not $x2367)) $x2367)) (= $x377 $x2367)) $x2379)))
 39.1885 +(let ((@x2388 (quant-intro (trans @x2380 (rewrite $x2382) (= $x906 $x2381)) (= $x909 $x2386))))
 39.1886 +(let ((@x2986 (trans (monotonicity @x2388 @x2975 (= $x2324 (and $x2386 $x2973))) (rewrite (= (and $x2386 $x2973) $x2982)) (= $x2324 $x2982))))
 39.1887 +(let ((@x2350 (monotonicity (rewrite (= (and (not $x1484) $x1486) (not (or $x1484 $x2343)))) (= $x1488 (not (not (or $x1484 $x2343)))))))
 39.1888 +(let ((@x2354 (trans @x2350 (rewrite (= (not (not (or $x1484 $x2343))) (or $x1484 $x2343))) (= $x1488 (or $x1484 $x2343)))))
 39.1889 +(let ((@x2362 (trans (monotonicity @x2354 (= $x1494 (or (or $x1484 $x2343) $x1493))) (rewrite (= (or (or $x1484 $x2343) $x1493) $x2358)) (= $x1494 $x2358))))
 39.1890 +(let ((@x2989 (monotonicity (monotonicity @x2362 (= $x1495 $x2363)) @x2986 (= $x2327 $x2987))))
 39.1891 +(let ((@x2999 (trans (monotonicity @x2989 (= $x2330 (and $x894 $x2987))) (rewrite (= (and $x894 $x2987) $x2995)) (= $x2330 $x2995))))
 39.1892 +(let ((@x3005 (monotonicity (monotonicity @x2999 (= $x2333 $x3000)) (= $x2336 (and $x142 $x3000)))))
 39.1893 +(let ((@x3015 (monotonicity (trans @x3005 (rewrite (= (and $x142 $x3000) $x3008)) (= $x2336 $x3008)) (= $x2339 $x3013))))
 39.1894 +(let (($x1933 (forall ((?v1 B_Vertex$) )(! (let ((?x1906 (v_b_SP_G_2$ ?v0!20)))
 39.1895 +(let ((?x1907 (* (- 1) ?x1906)))
 39.1896 +(let ((?x268 (v_b_SP_G_2$ ?v1)))
 39.1897 +(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
 39.1898 +(let (($x1920 (and (not (>= (+ ?x268 ?x1907) 0)) $x286 (= (+ (b_G$ (pair$ ?v1 ?v0!20)) ?x268 ?x1907) 0))))
 39.1899 +(not $x1920)))))) :qid k!38))
 39.1900 +))
 39.1901 +(let (($x1927 (not (not (and $x1905 $x1910)))))
 39.1902 +(let (($x1937 (and $x1927 $x1933)))
 39.1903 +(let (($x1942 (and $x1284 $x1937)))
 39.1904 +(let (($x1946 (or $x1893 $x1942)))
 39.1905 +(let (($x1950 (and $x1265 $x1946)))
 39.1906 +(let (($x1954 (or $x1866 $x1950)))
 39.1907 +(let (($x1958 (and $x1251 $x1954)))
 39.1908 +(let (($x1962 (or $x1843 $x1958)))
 39.1909 +(let (($x1837 (not $x768)))
 39.1910 +(let (($x1966 (and $x1837 $x1962)))
 39.1911 +(let (($x1970 (or $x768 $x1966)))
 39.1912 +(let (($x1974 (and $x647 $x1970)))
 39.1913 +(let (($x1978 (or $x1825 $x1974)))
 39.1914 +(let (($x1982 (and $x1242 $x1978)))
 39.1915 +(let (($x1986 (or $x1808 $x1982)))
 39.1916 +(let (($x1796 (and (and $x1769 $x1774) $x253 $x1209 $x1204 $x261 $x1188 $x1194)))
 39.1917 +(let (($x1990 (and $x1796 $x1986)))
 39.1918 +(let (($x1734 (not (or $x1728 (>= (+ ?x1722 ?x1716 ?x1730) 0)))))
 39.1919 +(let (($x1751 (or $x1734 $x1747)))
 39.1920 +(let (($x1708 (forall ((?v0 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v0)))
 39.1921 +(let ((?x1092 (* (- 1) ?x227)))
 39.1922 +(let ((?x1694 (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0))))
 39.1923 +(let ((?x1699 (b_G$ (pair$ (?v1!9 ?v0) ?v0))))
 39.1924 +(let (($x1701 (= (+ ?x1699 ?x1694 ?x1092) 0)))
 39.1925 +(let (($x1702 (and (not (>= (+ ?x1694 ?x1092) 0)) $x1701)))
 39.1926 +(let (($x1094 (<= (+ b_Infinity$ ?x1092) 0)))
 39.1927 +(let (($x1095 (not $x1094)))
 39.1928 +(let (($x123 (= ?v0 b_Source$)))
 39.1929 +(let (($x128 (not $x123)))
 39.1930 +(let (($x1098 (and $x128 $x1095)))
 39.1931 +(let (($x1101 (not $x1098)))
 39.1932 +(or $x1101 $x1702))))))))))))) :qid k!38))
 39.1933 +))
 39.1934 +(let (($x1755 (and $x1708 $x1751)))
 39.1935 +(let (($x1682 (forall ((?v1 B_Vertex$) )(! (let ((?x1656 (fun_app$a v_b_SP_G_3$ ?v0!8)))
 39.1936 +(let ((?x1657 (* (- 1) ?x1656)))
 39.1937 +(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
 39.1938 +(let (($x1670 (and (not (>= (+ ?x227 ?x1657) 0)) (= (+ (b_G$ (pair$ ?v1 ?v0!8)) ?x227 ?x1657) 0))))
 39.1939 +(not $x1670))))) :qid k!38))
 39.1940 +))
 39.1941 +(let (($x1676 (not (not (and $x1655 $x1660)))))
 39.1942 +(let (($x1686 (and $x1676 $x1682)))
 39.1943 +(let (($x1759 (or $x1686 $x1755)))
 39.1944 +(let (($x1647 (and $x1636 $x209 $x212 $x214 $x217)))
 39.1945 +(let (($x1763 (and $x1647 $x1759)))
 39.1946 +(let (($x1994 (or $x1763 $x1990)))
 39.1947 +(let (($x1624 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
 39.1948 +(let ((?x995 (* (- 1) ?x171)))
 39.1949 +(let ((?x1608 (?v1!7 ?v0)))
 39.1950 +(let ((?x1609 (fun_app$a v_b_SP_G_1$ ?x1608)))
 39.1951 +(let ((?x1615 (b_G$ (pair$ ?x1608 ?v0))))
 39.1952 +(let (($x1617 (= (+ ?x1615 ?x1609 ?x995) 0)))
 39.1953 +(let (($x1613 (fun_app$ v_b_Visited_G_1$ ?x1608)))
 39.1954 +(let (($x1618 (and (not (>= (+ ?x1609 ?x995) 0)) $x1613 $x1617)))
 39.1955 +(let (($x997 (<= (+ b_Infinity$ ?x995) 0)))
 39.1956 +(let (($x998 (not $x997)))
 39.1957 +(let (($x123 (= ?v0 b_Source$)))
 39.1958 +(let (($x128 (not $x123)))
 39.1959 +(let (($x1001 (and $x128 $x998)))
 39.1960 +(let (($x1004 (not $x1001)))
 39.1961 +(or $x1004 $x1618))))))))))))))) :qid k!38))
 39.1962 +))
 39.1963 +(let (($x1589 (forall ((?v0 B_Vertex$) )(! (let ((?x1580 (b_G$ (pair$ (?v1!6 ?v0) ?v0))))
 39.1964 +(let ((?x124 (v_b_SP_G_0$ ?v0)))
 39.1965 +(let ((?x940 (* (- 1) ?x124)))
 39.1966 +(let ((?x1573 (?v1!6 ?v0)))
 39.1967 +(let ((?x1574 (v_b_SP_G_0$ ?x1573)))
 39.1968 +(let (($x1582 (= (+ ?x1574 ?x940 ?x1580) 0)))
 39.1969 +(let (($x1578 (fun_app$ v_b_Visited_G_0$ ?x1573)))
 39.1970 +(let (($x1583 (and (not (>= (+ ?x1574 ?x940) 0)) $x1578 $x1582)))
 39.1971 +(let (($x123 (= ?v0 b_Source$)))
 39.1972 +(let (($x128 (not $x123)))
 39.1973 +(let (($x946 (and $x128 (not (<= (+ b_Infinity$ ?x940) 0)))))
 39.1974 +(let (($x949 (not $x946)))
 39.1975 +(or $x949 $x1583))))))))))))) :qid k!38))
 39.1976 +))
 39.1977 +(let (($x1627 (and $x1589 $x170 $x1046 $x1040 $x992 $x1624)))
 39.1978 +(let (($x1998 (and $x1627 $x1994)))
 39.1979 +(let (($x1556 (not (not (and $x1534 $x1539)))))
 39.1980 +(let (($x1566 (and $x1556 $x1562)))
 39.1981 +(let (($x2002 (or $x1566 $x1998)))
 39.1982 +(let (($x2006 (and $x934 $x2002)))
 39.1983 +(let (($x1522 (not (or $x1515 (>= (+ ?x1516 ?x1518 ?x1509) 0)))))
 39.1984 +(let (($x2010 (or $x1522 $x2006)))
 39.1985 +(let (($x2014 (and $x909 $x2010)))
 39.1986 +(let (($x2018 (or $x1495 $x2014)))
 39.1987 +(let (($x2022 (and $x894 $x2018)))
 39.1988 +(let (($x2026 (or $x1472 $x2022)))
 39.1989 +(let (($x1466 (not $x864)))
 39.1990 +(let (($x2030 (and $x1466 $x2026)))
 39.1991 +(let (($x2034 (or $x864 $x2030)))
 39.1992 +(let (($x1920 (and (not (>= (+ ?x268 ?x1907) 0)) $x286 (= (+ (b_G$ (pair$ ?0 ?v0!20)) ?x268 ?x1907) 0))))
 39.1993 +(let (($x1930 (not $x1920)))
 39.1994 +(let (($x2235 (= (+ (b_G$ (pair$ ?0 ?v0!20)) ?x268 ?x1907) (+ ?x268 ?x1907 (b_G$ (pair$ ?0 ?v0!20))))))
 39.1995 +(let ((@x2239 (monotonicity (rewrite $x2235) (= (= (+ (b_G$ (pair$ ?0 ?v0!20)) ?x268 ?x1907) 0) $x2237))))
 39.1996 +(let ((@x2248 (quant-intro (monotonicity (monotonicity @x2239 (= $x1920 $x2240)) (= $x1930 $x2243)) (= $x1933 $x2246))))
 39.1997 +(let ((@x2251 (monotonicity (rewrite (= $x1927 (and $x1905 $x1910))) @x2248 (= $x1937 (and (and $x1905 $x1910) $x2246)))))
 39.1998 +(let ((@x2259 (trans (monotonicity @x2251 (= $x1942 (and $x1284 (and (and $x1905 $x1910) $x2246)))) (rewrite (= (and $x1284 (and (and $x1905 $x1910) $x2246)) $x2255)) (= $x1942 $x2255))))
 39.1999 +(let ((@x2268 (monotonicity (monotonicity (monotonicity @x2259 (= $x1946 $x2260)) (= $x1950 $x2263)) (= $x1954 $x2266))))
 39.2000 +(let ((@x2277 (monotonicity (rewrite (= $x1837 $x292)) (monotonicity (monotonicity @x2268 (= $x1958 $x2269)) (= $x1962 $x2272)) (= $x1966 $x2275))))
 39.2001 +(let ((@x2286 (monotonicity (monotonicity (monotonicity @x2277 (= $x1970 $x2278)) (= $x1974 $x2281)) (= $x1978 $x2284))))
 39.2002 +(let ((@x2295 (monotonicity (monotonicity (monotonicity @x2286 (= $x1982 $x2287)) (= $x1986 $x2290)) (= $x1990 (and $x1796 $x2290)))))
 39.2003 +(let ((@x2206 (monotonicity (rewrite (= (+ ?x1722 ?x1716 ?x1730) ?x2201)) (= (>= (+ ?x1722 ?x1716 ?x1730) 0) $x2204))))
 39.2004 +(let ((@x2209 (monotonicity @x2206 (= (or $x1728 (>= (+ ?x1722 ?x1716 ?x1730) 0)) $x2207))))
 39.2005 +(let (($x2192 (and (not $x2171) $x2187)))
 39.2006 +(let (($x2195 (or $x1101 $x2192)))
 39.2007 +(let ((?x1092 (* (- 1) ?x227)))
 39.2008 +(let ((?x1694 (fun_app$a v_b_SP_G_3$ (?v1!9 ?0))))
 39.2009 +(let ((?x1699 (b_G$ (pair$ (?v1!9 ?0) ?0))))
 39.2010 +(let (($x1701 (= (+ ?x1699 ?x1694 ?x1092) 0)))
 39.2011 +(let (($x1702 (and (not (>= (+ ?x1694 ?x1092) 0)) $x1701)))
 39.2012 +(let (($x1705 (or $x1101 $x1702)))
 39.2013 +(let ((@x2184 (monotonicity (rewrite (= (+ ?x1699 ?x1694 ?x1092) (+ ?x1092 ?x1694 ?x1699))) (= $x1701 (= (+ ?x1092 ?x1694 ?x1699) 0)))))
 39.2014 +(let ((@x2191 (trans @x2184 (rewrite (= (= (+ ?x1092 ?x1694 ?x1699) 0) $x2187)) (= $x1701 $x2187))))
 39.2015 +(let ((@x2168 (monotonicity (rewrite (= (+ ?x1694 ?x1092) (+ ?x1092 ?x1694))) (= (>= (+ ?x1694 ?x1092) 0) (>= (+ ?x1092 ?x1694) 0)))))
 39.2016 +(let ((@x2175 (trans @x2168 (rewrite (= (>= (+ ?x1092 ?x1694) 0) $x2171)) (= (>= (+ ?x1694 ?x1092) 0) $x2171))))
 39.2017 +(let ((@x2194 (monotonicity (monotonicity @x2175 (= (not (>= (+ ?x1694 ?x1092) 0)) (not $x2171))) @x2191 (= $x1702 $x2192))))
 39.2018 +(let ((@x2218 (monotonicity (quant-intro (monotonicity @x2194 (= $x1705 $x2195)) (= $x1708 $x2198)) (monotonicity (monotonicity @x2209 (= $x1734 $x2210)) (= $x1751 $x2213)) (= $x1755 $x2216))))
 39.2019 +(let (($x1670 (and (not (>= (+ ?x227 ?x1657) 0)) (= (+ (b_G$ (pair$ ?0 ?v0!8)) ?x227 ?x1657) 0))))
 39.2020 +(let (($x1679 (not $x1670)))
 39.2021 +(let (($x2141 (= (+ (b_G$ (pair$ ?0 ?v0!8)) ?x227 ?x1657) (+ ?x227 ?x1657 (b_G$ (pair$ ?0 ?v0!8))))))
 39.2022 +(let ((@x2145 (monotonicity (rewrite $x2141) (= (= (+ (b_G$ (pair$ ?0 ?v0!8)) ?x227 ?x1657) 0) $x2143))))
 39.2023 +(let ((@x2154 (quant-intro (monotonicity (monotonicity @x2145 (= $x1670 $x2146)) (= $x1679 $x2149)) (= $x1682 $x2152))))
 39.2024 +(let ((@x2157 (monotonicity (rewrite (= $x1676 (and $x1655 $x1660))) @x2154 (= $x1686 (and (and $x1655 $x1660) $x2152)))))
 39.2025 +(let ((@x2162 (trans @x2157 (rewrite (= (and (and $x1655 $x1660) $x2152) $x2158)) (= $x1686 $x2158))))
 39.2026 +(let ((@x2224 (monotonicity (monotonicity @x2162 @x2218 (= $x1759 $x2219)) (= $x1763 (and $x1647 $x2219)))))
 39.2027 +(let ((@x2303 (monotonicity (trans @x2224 (rewrite (= (and $x1647 $x2219) $x2225)) (= $x1763 $x2225)) (trans @x2295 (rewrite (= (and $x1796 $x2290) $x2296)) (= $x1990 $x2296)) (= $x1994 $x2301))))
 39.2028 +(let ((?x995 (* (- 1) ?x171)))
 39.2029 +(let ((?x1609 (fun_app$a v_b_SP_G_1$ ?x1608)))
 39.2030 +(let ((?x1615 (b_G$ (pair$ ?x1608 ?0))))
 39.2031 +(let (($x1617 (= (+ ?x1615 ?x1609 ?x995) 0)))
 39.2032 +(let (($x1618 (and (not (>= (+ ?x1609 ?x995) 0)) $x1613 $x1617)))
 39.2033 +(let (($x1621 (or $x1004 $x1618)))
 39.2034 +(let ((@x2121 (monotonicity (rewrite (= (+ ?x1615 ?x1609 ?x995) (+ ?x995 ?x1609 ?x1615))) (= $x1617 (= (+ ?x995 ?x1609 ?x1615) 0)))))
 39.2035 +(let ((@x2128 (trans @x2121 (rewrite (= (= (+ ?x995 ?x1609 ?x1615) 0) $x2124)) (= $x1617 $x2124))))
 39.2036 +(let ((@x2105 (monotonicity (rewrite (= (+ ?x1609 ?x995) (+ ?x995 ?x1609))) (= (>= (+ ?x1609 ?x995) 0) (>= (+ ?x995 ?x1609) 0)))))
 39.2037 +(let ((@x2112 (trans @x2105 (rewrite (= (>= (+ ?x995 ?x1609) 0) $x2108)) (= (>= (+ ?x1609 ?x995) 0) $x2108))))
 39.2038 +(let ((@x2131 (monotonicity (monotonicity @x2112 (= (not (>= (+ ?x1609 ?x995) 0)) (not $x2108))) @x2128 (= $x1618 $x2129))))
 39.2039 +(let (($x1582 (= (+ (v_b_SP_G_0$ ?x1573) (* (- 1) ?x124) (b_G$ (pair$ ?x1573 ?0))) 0)))
 39.2040 +(let (($x1583 (and (not (>= (+ (v_b_SP_G_0$ ?x1573) (* (- 1) ?x124)) 0)) $x1578 $x1582)))
 39.2041 +(let (($x1586 (or $x949 $x1583)))
 39.2042 +(let (($x2081 (= (+ (* (- 1) ?x124) (v_b_SP_G_0$ ?x1573) (b_G$ (pair$ ?x1573 ?0))) 0)))
 39.2043 +(let (($x2079 (= (+ (v_b_SP_G_0$ ?x1573) (* (- 1) ?x124) (b_G$ (pair$ ?x1573 ?0))) (+ (* (- 1) ?x124) (v_b_SP_G_0$ ?x1573) (b_G$ (pair$ ?x1573 ?0))))))
 39.2044 +(let ((@x2090 (trans (monotonicity (rewrite $x2079) (= $x1582 $x2081)) (rewrite (= $x2081 $x2086)) (= $x1582 $x2086))))
 39.2045 +(let (($x2076 (= (not (>= (+ (v_b_SP_G_0$ ?x1573) (* (- 1) ?x124)) 0)) (not $x2070))))
 39.2046 +(let (($x1576 (>= (+ (v_b_SP_G_0$ ?x1573) (* (- 1) ?x124)) 0)))
 39.2047 +(let (($x2063 (= (+ (v_b_SP_G_0$ ?x1573) (* (- 1) ?x124)) (+ (* (- 1) ?x124) (v_b_SP_G_0$ ?x1573)))))
 39.2048 +(let ((@x2067 (monotonicity (rewrite $x2063) (= $x1576 (>= (+ (* (- 1) ?x124) (v_b_SP_G_0$ ?x1573)) 0)))))
 39.2049 +(let ((@x2074 (trans @x2067 (rewrite (= (>= (+ (* (- 1) ?x124) (v_b_SP_G_0$ ?x1573)) 0) $x2070)) (= $x1576 $x2070))))
 39.2050 +(let ((@x2096 (monotonicity (monotonicity (monotonicity @x2074 $x2076) @x2090 (= $x1583 $x2091)) (= $x1586 $x2094))))
 39.2051 +(let ((@x2306 (monotonicity (quant-intro @x2096 (= $x1589 $x2097)) (quant-intro (monotonicity @x2131 (= $x1621 $x2132)) (= $x1624 $x2135)) (= $x1627 (and $x2097 $x170 $x1046 $x1040 $x992 $x2135)))))
 39.2052 +(let ((@x2309 (monotonicity @x2306 @x2303 (= $x1998 (and (and $x2097 $x170 $x1046 $x1040 $x992 $x2135) $x2301)))))
 39.2053 +(let ((@x2314 (trans @x2309 (rewrite (= (and (and $x2097 $x170 $x1046 $x1040 $x992 $x2135) $x2301) $x2310)) (= $x1998 $x2310))))
 39.2054 +(let ((@x2056 (monotonicity (rewrite (= $x1556 (and $x1534 $x1539))) (= $x1566 (and (and $x1534 $x1539) $x1562)))))
 39.2055 +(let ((@x2061 (trans @x2056 (rewrite (= (and (and $x1534 $x1539) $x1562) $x2057)) (= $x1566 $x2057))))
 39.2056 +(let ((@x2320 (monotonicity (monotonicity @x2061 @x2314 (= $x2002 $x2315)) (= $x2006 $x2318))))
 39.2057 +(let ((@x2045 (monotonicity (rewrite (= (+ ?x1516 ?x1518 ?x1509) ?x2040)) (= (>= (+ ?x1516 ?x1518 ?x1509) 0) $x2043))))
 39.2058 +(let ((@x2048 (monotonicity @x2045 (= (or $x1515 (>= (+ ?x1516 ?x1518 ?x1509) 0)) $x2046))))
 39.2059 +(let ((@x2323 (monotonicity (monotonicity @x2048 (= $x1522 $x2049)) @x2320 (= $x2010 $x2321))))
 39.2060 +(let ((@x2332 (monotonicity (monotonicity (monotonicity @x2323 (= $x2014 $x2324)) (= $x2018 $x2327)) (= $x2022 $x2330))))
 39.2061 +(let ((@x2338 (monotonicity (rewrite (= $x1466 $x142)) (monotonicity @x2332 (= $x2026 $x2333)) (= $x2030 $x2336))))
 39.2062 +(let (($x1921 (exists ((?v1 B_Vertex$) )(! (let ((?x1906 (v_b_SP_G_2$ ?v0!20)))
 39.2063 +(let ((?x1907 (* (- 1) ?x1906)))
 39.2064 +(let ((?x268 (v_b_SP_G_2$ ?v1)))
 39.2065 +(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
 39.2066 +(and (not (>= (+ ?x268 ?x1907) 0)) $x286 (= (+ (b_G$ (pair$ ?v1 ?v0!20)) ?x268 ?x1907) 0)))))) :qid k!38))
 39.2067 +))
 39.2068 +(let ((@x1939 (nnf-neg (refl (~ $x1927 $x1927)) (nnf-neg (refl (~ $x1930 $x1930)) (~ (not $x1921) $x1933)) (~ (not (or (not (and $x1905 $x1910)) $x1921)) $x1937))))
 39.2069 +(let ((@x1941 (trans (sk (~ (not $x1324) (not (or (not (and $x1905 $x1910)) $x1921)))) @x1939 (~ (not $x1324) $x1937))))
 39.2070 +(let ((@x1902 (nnf-neg (nnf-pos (refl (~ $x1281 $x1281)) (~ $x1284 $x1284)) (~ (not $x1287) $x1284))))
 39.2071 +(let ((@x1949 (nnf-neg (sk (~ $x1287 $x1893)) (nnf-neg @x1902 @x1941 (~ (not $x1327) $x1942)) (~ (not $x1330) $x1946))))
 39.2072 +(let ((@x1875 (nnf-neg (nnf-pos (refl (~ $x1262 $x1262)) (~ $x1265 $x1265)) (~ (not $x1268) $x1265))))
 39.2073 +(let ((@x1957 (nnf-neg (sk (~ $x1268 $x1866)) (nnf-neg @x1875 @x1949 (~ (not $x1333) $x1950)) (~ (not $x1336) $x1954))))
 39.2074 +(let ((@x1852 (nnf-neg (nnf-pos (refl (~ (>= ?x268 0) (>= ?x268 0))) (~ $x1251 $x1251)) (~ (not $x1254) $x1251))))
 39.2075 +(let ((@x1965 (nnf-neg (sk (~ $x1254 $x1843)) (nnf-neg @x1852 @x1957 (~ (not $x1339) $x1958)) (~ (not $x1342) $x1962))))
 39.2076 +(let ((@x1973 (nnf-neg (refl (~ $x768 $x768)) (nnf-neg (refl (~ $x1837 $x1837)) @x1965 (~ (not $x1345) $x1966)) (~ (not $x1348) $x1970))))
 39.2077 +(let ((@x1834 (nnf-neg (nnf-pos (refl (~ (or $x295 $x273) (or $x295 $x273))) (~ $x647 $x647)) (~ (not $x780) $x647))))
 39.2078 +(let ((@x1981 (nnf-neg (sk (~ $x780 $x1825)) (nnf-neg @x1834 @x1973 (~ (not $x1351) $x1974)) (~ (not $x1354) $x1978))))
 39.2079 +(let ((@x1817 (nnf-neg (nnf-pos (refl (~ $x1238 $x1238)) (~ $x1242 $x1242)) (~ (not $x1245) $x1242))))
 39.2080 +(let ((@x1989 (nnf-neg (sk (~ $x1245 $x1808)) (nnf-neg @x1817 @x1981 (~ (not $x1357) $x1982)) (~ (not $x1360) $x1986))))
 39.2081 +(let ((@x1798 (monotonicity (sk (~ $x1075 (and $x1769 $x1774))) (refl (~ $x253 $x253)) (refl (~ $x1209 $x1209)) (nnf-pos (refl (~ $x1201 $x1201)) (~ $x1204 $x1204)) (refl (~ $x261 $x261)) (nnf-pos (refl (~ $x1185 $x1185)) (~ $x1188 $x1188)) (nnf-pos (refl (~ $x1191 $x1191)) (~ $x1194 $x1194)) (~ $x1230 $x1796))))
 39.2082 +(let ((@x1993 (nnf-neg (nnf-neg @x1798 (~ (not $x1235) $x1796)) @x1989 (~ (not $x1363) $x1990))))
 39.2083 +(let ((@x1743 (nnf-neg (nnf-pos (refl (~ $x1138 $x1138)) (~ $x1141 $x1141)) (~ (not $x1144) $x1141))))
 39.2084 +(let ((@x1754 (nnf-neg (sk (~ $x1144 $x1734)) (nnf-neg @x1743 (refl (~ $x1744 $x1744)) (~ (not $x1147) $x1747)) (~ (not $x1150) $x1751))))
 39.2085 +(let ((@x1710 (nnf-pos (monotonicity (refl (~ $x1101 $x1101)) (sk (~ $x1117 $x1702)) (~ $x1120 $x1705)) (~ $x1123 $x1708))))
 39.2086 +(let ((@x1758 (nnf-neg (nnf-neg @x1710 (~ (not $x1126) $x1708)) @x1754 (~ (not $x1153) $x1755))))
 39.2087 +(let (($x1671 (exists ((?v1 B_Vertex$) )(! (let ((?x1656 (fun_app$a v_b_SP_G_3$ ?v0!8)))
 39.2088 +(let ((?x1657 (* (- 1) ?x1656)))
 39.2089 +(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
 39.2090 +(and (not (>= (+ ?x227 ?x1657) 0)) (= (+ (b_G$ (pair$ ?v1 ?v0!8)) ?x227 ?x1657) 0))))) :qid k!38))
 39.2091 +))
 39.2092 +(let ((@x1688 (nnf-neg (refl (~ $x1676 $x1676)) (nnf-neg (refl (~ $x1679 $x1679)) (~ (not $x1671) $x1682)) (~ (not (or (not (and $x1655 $x1660)) $x1671)) $x1686))))
 39.2093 +(let ((@x1690 (trans (sk (~ $x1126 (not (or (not (and $x1655 $x1660)) $x1671)))) @x1688 (~ $x1126 $x1686))))
 39.2094 +(let ((@x1649 (monotonicity (nnf-neg (refl (~ (not $x1072) (not $x1072))) (~ $x1078 $x1636)) (refl (~ $x209 $x209)) (refl (~ $x212 $x212)) (refl (~ $x214 $x214)) (refl (~ $x217 $x217)) (~ $x1084 $x1647))))
 39.2095 +(let ((@x1766 (nnf-neg (nnf-neg @x1649 (~ (not $x1089) $x1647)) (nnf-neg @x1690 @x1758 (~ (not $x1156) $x1759)) (~ (not $x1159) $x1763))))
 39.2096 +(let ((@x1626 (nnf-pos (monotonicity (refl (~ $x1004 $x1004)) (sk (~ $x1026 $x1618)) (~ $x1029 $x1621)) (~ $x1032 $x1624))))
 39.2097 +(let ((@x1591 (nnf-pos (monotonicity (refl (~ $x949 $x949)) (sk (~ $x969 $x1583)) (~ $x972 $x1586)) (~ $x975 $x1589))))
 39.2098 +(let ((@x1629 (monotonicity @x1591 (refl (~ $x170 $x170)) (nnf-pos (refl (~ (>= ?x171 0) (>= ?x171 0))) (~ $x1046 $x1046)) (nnf-pos (refl (~ $x1037 $x1037)) (~ $x1040 $x1040)) (nnf-pos (refl (~ $x989 $x989)) (~ $x992 $x992)) @x1626 (~ $x1064 $x1627))))
 39.2099 +(let ((@x2001 (nnf-neg (nnf-neg @x1629 (~ (not $x1069) $x1627)) (nnf-neg @x1766 @x1993 (~ (not $x1366) $x1994)) (~ (not $x1369) $x1998))))
 39.2100 +(let (($x1550 (exists ((?v1 B_Vertex$) )(! (let ((?x1535 (v_b_SP_G_0$ ?v0!5)))
 39.2101 +(let ((?x1536 (* (- 1) ?x1535)))
 39.2102 +(let ((?x124 (v_b_SP_G_0$ ?v1)))
 39.2103 +(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
 39.2104 +(and (not (>= (+ ?x124 ?x1536) 0)) $x133 (= (+ ?x124 ?x1536 (b_G$ (pair$ ?v1 ?v0!5))) 0)))))) :qid k!38))
 39.2105 +))
 39.2106 +(let ((@x1568 (nnf-neg (refl (~ $x1556 $x1556)) (nnf-neg (refl (~ $x1559 $x1559)) (~ (not $x1550) $x1562)) (~ (not (or (not (and $x1534 $x1539)) $x1550)) $x1566))))
 39.2107 +(let ((@x1570 (trans (sk (~ (not $x975) (not (or (not (and $x1534 $x1539)) $x1550)))) @x1568 (~ (not $x975) $x1566))))
 39.2108 +(let ((@x1531 (nnf-neg (nnf-pos (refl (~ $x931 $x931)) (~ $x934 $x934)) (~ (not $x937) $x934))))
 39.2109 +(let ((@x2009 (nnf-neg @x1531 (nnf-neg @x1570 @x2001 (~ (not $x1372) $x2002)) (~ (not $x1375) $x2006))))
 39.2110 +(let ((@x1504 (nnf-neg (nnf-pos (refl (~ $x906 $x906)) (~ $x909 $x909)) (~ (not $x912) $x909))))
 39.2111 +(let ((@x2017 (nnf-neg @x1504 (nnf-neg (sk (~ $x937 $x1522)) @x2009 (~ (not $x1378) $x2010)) (~ (not $x1381) $x2014))))
 39.2112 +(let ((@x1481 (nnf-neg (nnf-pos (refl (~ (>= ?x124 0) (>= ?x124 0))) (~ $x894 $x894)) (~ (not $x897) $x894))))
 39.2113 +(let ((@x2025 (nnf-neg @x1481 (nnf-neg (sk (~ $x912 $x1495)) @x2017 (~ (not $x1384) $x2018)) (~ (not $x1387) $x2022))))
 39.2114 +(let ((@x2033 (nnf-neg (refl (~ $x1466 $x1466)) (nnf-neg (sk (~ $x897 $x1472)) @x2025 (~ (not $x1390) $x2026)) (~ (not $x1393) $x2030))))
 39.2115 +(let ((@x2037 (mp~ (not-or-elim (mp (asserted $x344) @x1406 $x1402) (not $x1396)) (nnf-neg (refl (~ $x864 $x864)) @x2033 (~ (not $x1396) $x2034)) $x2034)))
 39.2116 +(let ((@x3873 (mp (mp (mp @x2037 (monotonicity @x2338 (= $x2034 $x2339)) $x2339) @x3015 $x3013) (monotonicity @x3869 (= $x3013 $x3870)) $x3870)))
 39.2117 +(let ((@x4276 (unit-resolution @x3873 (lemma (unit-resolution @x5800 @x3487 (hypothesis $x864) false) $x142) $x3867)))
 39.2118 +(let ((@x4278 (unit-resolution (def-axiom (or $x3861 $x1472 $x3855)) (unit-resolution (def-axiom (or $x3864 $x3858)) @x4276 $x3858) (lemma @x5085 $x1471) $x3855)))
 39.2119 +(let ((@x3051 (unit-resolution ((_ quant-inst ?v0!2) (or (not $x3495) $x2343)) @x3500 (hypothesis $x1486) false)))
 39.2120 +(let ((@x4352 (unit-resolution (def-axiom (or $x3849 $x2363 $x3843)) (unit-resolution (def-axiom (or $x2358 $x1486)) (lemma @x3051 $x2343) $x2358) (unit-resolution (def-axiom (or $x3852 $x3846)) @x4278 $x3846) $x3843)))
 39.2121 +(let ((@x4355 (unit-resolution (def-axiom (or $x3837 $x2409 $x3831)) (unit-resolution (def-axiom (or $x3840 $x3834)) @x4352 $x3834) (unit-resolution (def-axiom (or $x2404 $x1507)) (lemma @x4007 $x2389) $x2404) $x3831)))
 39.2122 +(let ((@x4357 (unit-resolution (def-axiom (or $x3825 $x3539 $x3819)) (unit-resolution (def-axiom (or $x3828 $x3822)) @x4355 $x3822) (lemma @x3189 $x3536) $x3819)))
 39.2123 +(let ((@x4135 (unit-resolution (def-axiom (or $x3816 $x170)) @x4357 $x170)))
 39.2124 +(let ((@x4159 (hypothesis $x3652)))
 39.2125 +(let ((@x4139 (unit-resolution (def-axiom (or $x3649 $x214)) @x4159 $x214)))
 39.2126 +(let ((@x4149 (unit-resolution (def-axiom (or $x3625 $x1744)) (trans (monotonicity @x4139 (= ?x242 ?x169)) @x4135 $x243) $x3625)))
 39.2127 +(let (($x1720 (not $x1719)))
 39.2128 +(let ((@x3125 (hypothesis $x2645)))
 39.2129 +(let (($x4264 (>= (+ ?x1716 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v1!10))) 0)))
 39.2130 +(let ((@x4002 (symm (hypothesis $x214) (= v_b_SP_G_1$ v_b_SP_G_3$))))
 39.2131 +(let ((@x5768 (symm (monotonicity @x4002 (= (fun_app$a v_b_SP_G_1$ ?v1!10) ?x1716)) (= ?x1716 (fun_app$a v_b_SP_G_1$ ?v1!10)))))
 39.2132 +(let ((@x5656 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1716 (fun_app$a v_b_SP_G_1$ ?v1!10))) $x4264)) @x5768 $x4264)))
 39.2133 +(let (($x5398 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v1!10))) 0)))
 39.2134 +(let (($x5689 (fun_app$ v_b_Visited_G_1$ ?v1!10)))
 39.2135 +(let (($x6142 (not $x5689)))
 39.2136 +(let ((?x5569 (fun_app$a v_b_SP_G_1$ ?v1!10)))
 39.2137 +(let ((?x5512 (fun_app$a v_b_SP_G_1$ ?v0!11)))
 39.2138 +(let ((?x5709 (* (- 1) ?x5512)))
 39.2139 +(let ((?x4184 (+ ?x1722 ?x5709 ?x5569)))
 39.2140 +(let (($x4211 (>= ?x4184 0)))
 39.2141 +(let ((?x4266 (+ ?x1729 ?x5709)))
 39.2142 +(let (($x4267 (<= ?x4266 0)))
 39.2143 +(let ((@x4273 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1729 ?x5512)) $x4267)) (symm (monotonicity @x4002 (= ?x5512 ?x1729)) (= ?x1729 ?x5512)) $x4267)))
 39.2144 +(let ((@x4363 ((_ th-lemma arith farkas 1 -1 -1 1) (hypothesis $x4267) (hypothesis $x4264) (hypothesis $x4211) (hypothesis (not $x2204)) false)))
 39.2145 +(let ((@x4274 (unit-resolution (lemma @x4363 (or (not $x4211) (not $x4267) (not $x4264) $x2204)) @x4273 @x5656 (unit-resolution (def-axiom (or $x2640 (not $x2204))) @x3125 (not $x2204)) (not $x4211))))
 39.2146 +(let (($x4220 (or $x3573 $x6142 $x1725 $x4211)))
 39.2147 +(let (($x5674 (or $x6142 $x1725 (>= (+ ?x1722 ?x5569 ?x5709) 0))))
 39.2148 +(let (($x4221 (or $x3573 $x5674)))
 39.2149 +(let ((@x4210 (monotonicity (rewrite (= (+ ?x1722 ?x5569 ?x5709) ?x4184)) (= (>= (+ ?x1722 ?x5569 ?x5709) 0) $x4211))))
 39.2150 +(let ((@x4224 (monotonicity (monotonicity @x4210 (= $x5674 (or $x6142 $x1725 $x4211))) (= $x4221 (or $x3573 (or $x6142 $x1725 $x4211))))))
 39.2151 +(let ((@x4227 (trans @x4224 (rewrite (= (or $x3573 (or $x6142 $x1725 $x4211)) $x4220)) (= $x4221 $x4220))))
 39.2152 +(let ((@x4360 (unit-resolution (mp ((_ quant-inst ?v0!11 ?v1!10) $x4221) @x4227 $x4220) (unit-resolution (def-axiom (or $x3816 $x3568)) @x4357 $x3568) (unit-resolution (def-axiom (or $x2640 (not $x1725))) @x3125 (not $x1725)) (or $x6142 $x4211))))
 39.2153 +(let (($x5857 (or $x5689 $x5398)))
 39.2154 +(let ((@x5652 (mp ((_ quant-inst ?v1!10) (or $x3590 $x5857)) (rewrite (= (or $x3590 $x5857) (or $x3590 $x5689 $x5398))) (or $x3590 $x5689 $x5398))))
 39.2155 +(let ((@x4367 (unit-resolution (unit-resolution @x5652 (hypothesis $x3585) $x5857) (unit-resolution @x4360 @x4274 $x6142) $x5398)))
 39.2156 +(let ((@x4362 ((_ th-lemma arith farkas -1 1 1) @x4367 @x5656 (unit-resolution (def-axiom (or $x2640 $x1720)) @x3125 $x1720) false)))
 39.2157 +(let ((@x4151 (unit-resolution (lemma @x4362 (or $x2640 $x3590 $x2703)) (unit-resolution (def-axiom (or $x3649 $x3585)) @x4159 $x3585) @x4139 $x2640)))
 39.2158 +(let ((@x4161 (unit-resolution (def-axiom (or $x3637 $x3631)) (unit-resolution (def-axiom (or $x3634 $x2645 $x3628)) @x4151 @x4149 $x3634) $x3637)))
 39.2159 +(let ((@x4158 (unit-resolution (def-axiom (or $x3646 $x3606 $x3640)) @x4161 (unit-resolution (def-axiom (or $x3649 $x3643)) @x4159 $x3643) $x3606)))
 39.2160 +(let (($x3139 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0!8))) 0)))
 39.2161 +(let ((?x5112 (fun_app$a v_b_SP_G_1$ ?v0!8)))
 39.2162 +(let ((?x5119 (* (- 1) ?x5112)))
 39.2163 +(let ((?x3935 (?v1!7 ?v0!8)))
 39.2164 +(let ((?x3976 (pair$ ?x3935 ?v0!8)))
 39.2165 +(let ((?x3971 (b_G$ ?x3976)))
 39.2166 +(let ((?x3928 (fun_app$a v_b_SP_G_1$ ?x3935)))
 39.2167 +(let ((?x3958 (+ ?x3928 ?x3971 ?x5119)))
 39.2168 +(let (($x3970 (= ?x3958 0)))
 39.2169 +(let (($x3980 (not $x3970)))
 39.2170 +(let (($x3930 (fun_app$ v_b_Visited_G_1$ ?x3935)))
 39.2171 +(let (($x3959 (not $x3930)))
 39.2172 +(let (($x3890 (>= (+ ?x3928 ?x5119) 0)))
 39.2173 +(let (($x4009 (or $x3890 $x3959 $x3980)))
 39.2174 +(let ((?x4378 (fun_app$a v_b_SP_G_3$ ?x3935)))
 39.2175 +(let ((?x4397 (* (- 1) ?x4378)))
 39.2176 +(let ((?x4601 (+ ?x3928 ?x4397)))
 39.2177 +(let (($x4605 (>= ?x4601 0)))
 39.2178 +(let ((@x4642 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x3928 ?x4378)) $x4605)) (symm (monotonicity (hypothesis $x214) (= ?x4378 ?x3928)) (= ?x3928 ?x4378)) $x4605)))
 39.2179 +(let ((?x4137 (+ ?x1656 ?x5119)))
 39.2180 +(let (($x4122 (>= ?x4137 0)))
 39.2181 +(let ((@x4625 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1656 ?x5112)) $x4122)) (symm (monotonicity @x4002 (= ?x5112 ?x1656)) (= ?x1656 ?x5112)) $x4122)))
 39.2182 +(let (($x4065 (<= ?x3958 0)))
 39.2183 +(let ((@x5126 (unit-resolution (def-axiom (or $x4009 $x3970)) (hypothesis (not $x4009)) $x3970)))
 39.2184 +(let (($x4604 (<= ?x4601 0)))
 39.2185 +(let ((@x5858 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x3928 ?x4378)) $x4604)) (symm (monotonicity (hypothesis $x214) (= ?x4378 ?x3928)) (= ?x3928 ?x4378)) $x4604)))
 39.2186 +(let (($x4121 (<= ?x4137 0)))
 39.2187 +(let ((@x5140 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1656 ?x5112)) $x4121)) (symm (monotonicity @x4002 (= ?x5112 ?x1656)) (= ?x1656 ?x5112)) $x4121)))
 39.2188 +(let (($x4058 (>= ?x3958 0)))
 39.2189 +(let (($x4399 (<= (+ ?x1656 ?x4397) 0)))
 39.2190 +(let (($x4338 (not $x4399)))
 39.2191 +(let ((@x4989 (unit-resolution (def-axiom (or $x4009 (not $x3890))) (hypothesis (not $x4009)) (not $x3890))))
 39.2192 +(let ((@x5003 (unit-resolution ((_ th-lemma arith assign-bounds -1 1 -1) (or $x4338 (not $x4122) $x3890 (not $x4605))) @x4989 @x4625 @x4642 $x4338)))
 39.2193 +(let (($x4758 (not $x4605)))
 39.2194 +(let (($x4757 (not $x4122)))
 39.2195 +(let (($x4898 (or $x4399 $x3600 (not $x4058) (not $x4121) (not $x4604) (not $x4065) $x4757 $x4758)))
 39.2196 +(let ((?x5665 (* (- 1) ?x3971)))
 39.2197 +(let ((?x4417 (+ ?x1656 ?x5665 ?x4397)))
 39.2198 +(let (($x4445 (>= ?x4417 0)))
 39.2199 +(let ((@x5038 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1 -1) (or $x4445 (not $x4065) $x4757 $x4758)) (hypothesis $x4065) (hypothesis $x4122) (hypothesis $x4605) $x4445)))
 39.2200 +(let (($x4444 (<= ?x4417 0)))
 39.2201 +(let ((@x4331 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1 -1) (or $x4444 (not $x4058) (not $x4121) (not $x4604))) (hypothesis $x4058) (hypothesis $x4121) (hypothesis $x4604) $x4444)))
 39.2202 +(let (($x4418 (= ?x4417 0)))
 39.2203 +(let (($x4428 (not $x4418)))
 39.2204 +(let (($x4430 (or $x4399 $x4428)))
 39.2205 +(let (($x4447 (or $x3600 $x4399 $x4428)))
 39.2206 +(let (($x4384 (>= (+ ?x4378 ?x1657) 0)))
 39.2207 +(let (($x4388 (or $x4384 (not (= (+ ?x4378 ?x1657 ?x3971) 0)))))
 39.2208 +(let (($x4432 (or $x3600 $x4388)))
 39.2209 +(let ((@x4414 (monotonicity (rewrite (= (+ ?x4378 ?x1657 ?x3971) (+ ?x1657 ?x3971 ?x4378))) (= (= (+ ?x4378 ?x1657 ?x3971) 0) (= (+ ?x1657 ?x3971 ?x4378) 0)))))
 39.2210 +(let ((@x4427 (trans @x4414 (rewrite (= (= (+ ?x1657 ?x3971 ?x4378) 0) $x4418)) (= (= (+ ?x4378 ?x1657 ?x3971) 0) $x4418))))
 39.2211 +(let ((@x4396 (monotonicity (rewrite (= (+ ?x4378 ?x1657) (+ ?x1657 ?x4378))) (= $x4384 (>= (+ ?x1657 ?x4378) 0)))))
 39.2212 +(let ((@x4406 (trans @x4396 (rewrite (= (>= (+ ?x1657 ?x4378) 0) $x4399)) (= $x4384 $x4399))))
 39.2213 +(let ((@x4446 (monotonicity @x4406 (monotonicity @x4427 (= (not (= (+ ?x4378 ?x1657 ?x3971) 0)) $x4428)) (= $x4388 $x4430))))
 39.2214 +(let ((@x4442 (trans (monotonicity @x4446 (= $x4432 (or $x3600 $x4430))) (rewrite (= (or $x3600 $x4430) $x4447)) (= $x4432 $x4447))))
 39.2215 +(let ((@x5041 (unit-resolution (mp ((_ quant-inst (?v1!7 ?v0!8)) $x4432) @x4442 $x4447) (hypothesis $x3595) $x4430)))
 39.2216 +(let ((@x4897 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x4418 (not $x4444) (not $x4445))) (unit-resolution @x5041 (hypothesis $x4338) $x4428) @x4331 @x5038 false)))
 39.2217 +(let ((@x3135 (unit-resolution (lemma @x4897 $x4898) @x5003 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x3980 $x4058)) @x5126 $x4058) (hypothesis $x3595) @x5140 @x5858 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x3980 $x4065)) @x5126 $x4065) @x4625 @x4642 false)))
 39.2218 +(let ((@x4168 (unit-resolution (lemma @x3135 (or $x4009 $x3600 $x2703)) (unit-resolution (def-axiom (or $x3603 $x3595)) @x4158 $x3595) @x4139 $x4009)))
 39.2219 +(let ((@x4189 (unit-resolution (def-axiom (or $x3816 $x3576)) @x4357 $x3576)))
 39.2220 +(let (($x4014 (not $x4009)))
 39.2221 +(let (($x4042 (or $x3581 $x1654 $x3139 $x4014)))
 39.2222 +(let (($x3956 (<= (+ ?x5112 (* (- 1) ?x3928)) 0)))
 39.2223 +(let (($x3033 (or $x1654 $x3139 (not (or $x3956 $x3959 (not (= (+ ?x5112 (* (- 1) ?x3928) ?x5665) 0)))))))
 39.2224 +(let (($x4043 (or $x3581 $x3033)))
 39.2225 +(let (($x3964 (= (not (or $x3956 $x3959 (not (= (+ ?x5112 (* (- 1) ?x3928) ?x5665) 0)))) $x4014)))
 39.2226 +(let (($x4010 (= (or $x3956 $x3959 (not (= (+ ?x5112 (* (- 1) ?x3928) ?x5665) 0))) $x4009)))
 39.2227 +(let (($x5977 (= (+ ?x5112 (* (- 1) ?x3928) ?x5665) 0)))
 39.2228 +(let ((@x3929 (rewrite (= (+ ?x5112 (* (- 1) ?x3928) ?x5665) (+ (* (- 1) ?x3928) ?x5665 ?x5112)))))
 39.2229 +(let ((@x3957 (monotonicity @x3929 (= $x5977 (= (+ (* (- 1) ?x3928) ?x5665 ?x5112) 0)))))
 39.2230 +(let ((@x3988 (trans @x3957 (rewrite (= (= (+ (* (- 1) ?x3928) ?x5665 ?x5112) 0) $x3970)) (= $x5977 $x3970))))
 39.2231 +(let ((@x3898 (monotonicity (rewrite (= (+ ?x5112 (* (- 1) ?x3928)) (+ (* (- 1) ?x3928) ?x5112))) (= $x3956 (<= (+ (* (- 1) ?x3928) ?x5112) 0)))))
 39.2232 +(let ((@x3927 (trans @x3898 (rewrite (= (<= (+ (* (- 1) ?x3928) ?x5112) 0) $x3890)) (= $x3956 $x3890))))
 39.2233 +(let ((@x4011 (monotonicity (monotonicity @x3927 (monotonicity @x3988 (= (not $x5977) $x3980)) $x4010) $x3964)))
 39.2234 +(let ((@x4050 (monotonicity (monotonicity @x4011 (= $x3033 (or $x1654 $x3139 $x4014))) (= $x4043 (or $x3581 (or $x1654 $x3139 $x4014))))))
 39.2235 +(let ((@x4053 (trans @x4050 (rewrite (= (or $x3581 (or $x1654 $x3139 $x4014)) $x4042)) (= $x4043 $x4042))))
 39.2236 +(let ((@x4248 (unit-resolution (mp ((_ quant-inst ?v0!8) $x4043) @x4053 $x4042) @x4189 (unit-resolution (def-axiom (or $x3603 $x1655)) @x4158 $x1655) (or $x3139 $x4014))))
 39.2237 +(let (($x4136 (= ?x1656 ?x5112)))
 39.2238 +(let ((@x4235 (monotonicity (symm @x4139 (= v_b_SP_G_1$ v_b_SP_G_3$)) (= ?x5112 ?x1656))))
 39.2239 +(let ((@x4237 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x4136) $x4122)) (symm @x4235 $x4136) $x4122)))
 39.2240 +(let ((@x4238 ((_ th-lemma arith farkas 1 -1 1) @x4237 (unit-resolution @x4248 @x4168 $x3139) (unit-resolution (def-axiom (or $x3603 $x1660)) @x4158 $x1660) false)))
 39.2241 +(let ((@x4802 (unit-resolution (def-axiom (or $x3813 $x3652 $x3807)) (lemma @x4238 $x3649) (unit-resolution (def-axiom (or $x3816 $x3810)) @x4357 $x3810) $x3807)))
 39.2242 +(let ((@x6739 (symm (unit-resolution (def-axiom (or $x3804 $x261)) @x4802 $x261) (= ?x260 v_b_Visited_G_2$))))
 39.2243 +(let ((@x10168 (symm (monotonicity @x6739 (= $x5237 (fun_app$ v_b_Visited_G_2$ ?v0!20))) (= (fun_app$ v_b_Visited_G_2$ ?v0!20) $x5237))))
 39.2244 +(let ((@x10119 (monotonicity @x10168 (= (not (fun_app$ v_b_Visited_G_2$ ?v0!20)) $x9037))))
 39.2245 +(let (($x4298 (fun_app$ v_b_Visited_G_2$ ?v0!20)))
 39.2246 +(let (($x4299 (not $x4298)))
 39.2247 +(let ((?x4413 (fun_app$a v_b_SP_G_1$ ?v0!20)))
 39.2248 +(let ((?x4438 (* (- 1) ?x4413)))
 39.2249 +(let ((?x4439 (+ ?x1906 ?x4438)))
 39.2250 +(let (($x6002 (>= ?x4439 0)))
 39.2251 +(let (($x9479 (not $x6002)))
 39.2252 +(let ((@x9476 (hypothesis $x6002)))
 39.2253 +(let (($x9588 (or (not (<= (+ ?x1906 (* (- 1) (v_b_SP_G_2$ (?v1!7 ?v0!20)))) 0)) $x9479)))
 39.2254 +(let ((?x4661 (?v1!7 ?v0!20)))
 39.2255 +(let ((?x4662 (fun_app$a v_b_SP_G_1$ ?x4661)))
 39.2256 +(let ((?x4663 (* (- 1) ?x4662)))
 39.2257 +(let ((?x4664 (+ ?x4413 ?x4663)))
 39.2258 +(let (($x4665 (<= ?x4664 0)))
 39.2259 +(let ((?x4668 (pair$ ?x4661 ?v0!20)))
 39.2260 +(let ((?x4669 (b_G$ ?x4668)))
 39.2261 +(let ((?x4670 (* (- 1) ?x4669)))
 39.2262 +(let ((?x4671 (+ ?x4413 ?x4663 ?x4670)))
 39.2263 +(let (($x4672 (= ?x4671 0)))
 39.2264 +(let (($x4673 (not $x4672)))
 39.2265 +(let (($x4666 (fun_app$ v_b_Visited_G_1$ ?x4661)))
 39.2266 +(let (($x4667 (not $x4666)))
 39.2267 +(let (($x4674 (or $x4665 $x4667 $x4673)))
 39.2268 +(let (($x4675 (not $x4674)))
 39.2269 +(let (($x1884 (not $x1883)))
 39.2270 +(let ((@x8699 (hypothesis $x2806)))
 39.2271 +(let (($x7517 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0!19)))) 0)))
 39.2272 +(let ((?x7554 (pair$ v_b_v_G_1$ ?v0!19)))
 39.2273 +(let ((?x7555 (b_G$ ?x7554)))
 39.2274 +(let ((?x7388 (fun_app$a v_b_SP_G_1$ ?v0!19)))
 39.2275 +(let ((?x7461 (* (- 1) ?x7388)))
 39.2276 +(let (($x4944 (>= (+ ?x254 ?x7461 ?x7555) 0)))
 39.2277 +(let (($x8378 (or $x7517 $x4944)))
 39.2278 +(let ((?x7471 (+ ?x254 ?x1889 ?x7555)))
 39.2279 +(let (($x6876 (= ?x7471 0)))
 39.2280 +(let (($x8868 (not $x6876)))
 39.2281 +(let (($x6123 (>= ?x7471 0)))
 39.2282 +(let (($x8149 (not $x6123)))
 39.2283 +(let ((?x7512 (* (- 1) ?x7555)))
 39.2284 +(let ((?x9069 (+ ?x1880 ?x7512)))
 39.2285 +(let (($x8504 (>= ?x9069 0)))
 39.2286 +(let (($x6383 (= ?v1!18 v_b_v_G_1$)))
 39.2287 +(let (($x5168 (fun_app$ v_b_Visited_G_1$ ?v1!18)))
 39.2288 +(let (($x6179 (not $x5168)))
 39.2289 +(let (($x7401 (<= (+ ?x1888 ?x7461) 0)))
 39.2290 +(let ((?x5283 (b_G$ (pair$ v_b_v_G_1$ ?v0!13))))
 39.2291 +(let ((?x5139 (+ ?x254 ?x1805 ?x5283)))
 39.2292 +(let (($x4859 (= ?x5139 0)))
 39.2293 +(let (($x4202 (>= (+ ?x254 (* (- 1) ?x1803) ?x5283) 0)))
 39.2294 +(let (($x3165 (<= (+ b_Infinity$ (* (- 1) ?x5283)) 0)))
 39.2295 +(let (($x4930 (or $x3165 $x4202)))
 39.2296 +(let (($x4933 (not $x4930)))
 39.2297 +(let ((@x4771 (monotonicity (commutativity (= (= ?x1803 ?x1804) (= ?x1804 ?x1803))) (= (not (= ?x1803 ?x1804)) (not (= ?x1804 ?x1803))))))
 39.2298 +(let (($x4765 (not (= ?x1803 ?x1804))))
 39.2299 +(let ((@x4772 (mp (unit-resolution ((_ th-lemma arith triangle-eq) (or $x4765 $x1807)) (hypothesis $x1808) $x4765) @x4771 (not (= ?x1804 ?x1803)))))
 39.2300 +(let (($x4288 (= ?x1804 ?x1803)))
 39.2301 +(let (($x4284 (or $x4933 $x4288)))
 39.2302 +(let ((@x4803 (unit-resolution (def-axiom (or $x3804 $x3673)) @x4802 $x3673)))
 39.2303 +(let (($x4290 (or $x3678 $x4933 $x4288)))
 39.2304 +(let (($x4289 (or (not (or $x3165 (<= (+ ?x1803 ?x1168 (* (- 1) ?x5283)) 0))) $x4288)))
 39.2305 +(let (($x4291 (or $x3678 $x4289)))
 39.2306 +(let (($x3167 (<= (+ ?x1803 ?x1168 (* (- 1) ?x5283)) 0)))
 39.2307 +(let ((@x4198 (rewrite (= (+ ?x1803 ?x1168 (* (- 1) ?x5283)) (+ ?x1168 ?x1803 (* (- 1) ?x5283))))))
 39.2308 +(let ((@x4195 (monotonicity @x4198 (= $x3167 (<= (+ ?x1168 ?x1803 (* (- 1) ?x5283)) 0)))))
 39.2309 +(let ((@x5138 (trans @x4195 (rewrite (= (<= (+ ?x1168 ?x1803 (* (- 1) ?x5283)) 0) $x4202)) (= $x3167 $x4202))))
 39.2310 +(let ((@x4283 (monotonicity (monotonicity @x5138 (= (or $x3165 $x3167) $x4930)) (= (not (or $x3165 $x3167)) $x4933))))
 39.2311 +(let ((@x4294 (monotonicity (monotonicity @x4283 (= $x4289 $x4284)) (= $x4291 (or $x3678 $x4284)))))
 39.2312 +(let ((@x5050 (mp ((_ quant-inst ?v0!13) $x4291) (trans @x4294 (rewrite (= (or $x3678 $x4284) $x4290)) (= $x4291 $x4290)) $x4290)))
 39.2313 +(let ((@x4805 (unit-resolution (def-axiom (or $x4930 (not $x3165))) (unit-resolution (unit-resolution @x5050 @x4803 $x4284) @x4772 $x4933) (not $x3165))))
 39.2314 +(let ((@x4788 (unit-resolution (def-axiom (or $x4930 (not $x4202))) (unit-resolution (unit-resolution @x5050 @x4803 $x4284) @x4772 $x4933) (not $x4202))))
 39.2315 +(let (($x5127 (or $x3165 $x4202 $x4859)))
 39.2316 +(let ((@x4789 (unit-resolution (def-axiom (or $x3804 $x3665)) @x4802 $x3665)))
 39.2317 +(let (($x5129 (or $x3670 $x3165 $x4202 $x4859)))
 39.2318 +(let (($x4192 (or $x3165 $x3167 (= (+ ?x254 ?x5283 ?x1805) 0))))
 39.2319 +(let (($x5130 (or $x3670 $x4192)))
 39.2320 +(let ((@x4861 (monotonicity (rewrite (= (+ ?x254 ?x5283 ?x1805) ?x5139)) (= (= (+ ?x254 ?x5283 ?x1805) 0) $x4859))))
 39.2321 +(let ((@x5135 (monotonicity (monotonicity @x5138 @x4861 (= $x4192 $x5127)) (= $x5130 (or $x3670 $x5127)))))
 39.2322 +(let ((@x5160 (mp ((_ quant-inst ?v0!13) $x5130) (trans @x5135 (rewrite (= (or $x3670 $x5127) $x5129)) (= $x5130 $x5129)) $x5129)))
 39.2323 +(let ((@x4787 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x4859) (>= ?x5139 0))) (unit-resolution (unit-resolution @x5160 @x4789 $x5127) @x4788 @x4805 $x4859) (>= ?x5139 0))))
 39.2324 +(let ((@x4795 (unit-resolution ((_ th-lemma arith farkas 1 1) (or (<= ?x1806 0) $x1807)) (hypothesis $x1808) (<= ?x1806 0))))
 39.2325 +(let ((@x5162 (unit-resolution (def-axiom (or $x3801 $x1808 $x3795)) (unit-resolution (def-axiom (or $x3804 $x3798)) @x4802 $x3798) $x3798)))
 39.2326 +(let ((@x4711 (unit-resolution @x5162 (lemma ((_ th-lemma arith farkas 1 -1 1) @x4795 @x4788 @x4787 false) $x1807) $x3795)))
 39.2327 +(let ((@x4714 (unit-resolution (def-axiom (or $x3792 $x3681)) @x4711 $x3681)))
 39.2328 +(let (($x6395 (or $x3686 $x7401)))
 39.2329 +(let ((@x8489 (monotonicity (rewrite (= (+ ?x7388 ?x1889) (+ ?x1889 ?x7388))) (= (>= (+ ?x7388 ?x1889) 0) (>= (+ ?x1889 ?x7388) 0)))))
 39.2330 +(let ((@x7634 (trans @x8489 (rewrite (= (>= (+ ?x1889 ?x7388) 0) $x7401)) (= (>= (+ ?x7388 ?x1889) 0) $x7401))))
 39.2331 +(let ((@x8284 (trans (monotonicity @x7634 (= (or $x3686 (>= (+ ?x7388 ?x1889) 0)) $x6395)) (rewrite (= $x6395 $x6395)) (= (or $x3686 (>= (+ ?x7388 ?x1889) 0)) $x6395))))
 39.2332 +(let ((@x8710 (unit-resolution (mp ((_ quant-inst ?v0!19) (or $x3686 (>= (+ ?x7388 ?x1889) 0))) @x8284 $x6395) @x4714 $x7401)))
 39.2333 +(let (($x8129 (>= (+ ?x1887 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v1!18))) 0)))
 39.2334 +(let ((?x6950 (fun_app$a v_b_SP_G_1$ ?v1!18)))
 39.2335 +(let (($x6951 (= ?x1887 ?x6950)))
 39.2336 +(let (($x1819 (fun_app$ v_b_Visited_G_2$ ?v0!14)))
 39.2337 +(let (($x3393 (not $x1823)))
 39.2338 +(let (($x5543 (fun_app$ v_b_Visited_G_1$ ?v0!14)))
 39.2339 +(let (($x5064 (= ?v0!14 v_b_v_G_1$)))
 39.2340 +(let (($x6244 (or $x5064 $x5543)))
 39.2341 +(let (($x5974 (fun_app$ ?x260 ?v0!14)))
 39.2342 +(let (($x6373 (= $x5974 $x6244)))
 39.2343 +(let (($x3463 (forall ((?v0 B_Vertex_bool_fun$) (?v1 B_Vertex$) (?v2 Bool) (?v3 B_Vertex$) )(! (let (($x63 (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v3)))
 39.2344 +(= $x63 (ite (= ?v3 ?v1) ?v2 (fun_app$ ?v0 ?v3)))) :pattern ( (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v3) ) :qid k!34))
 39.2345 +))
 39.2346 +(let (($x73 (forall ((?v0 B_Vertex_bool_fun$) (?v1 B_Vertex$) (?v2 Bool) (?v3 B_Vertex$) )(! (let (($x63 (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v3)))
 39.2347 +(= $x63 (ite (= ?v3 ?v1) ?v2 (fun_app$ ?v0 ?v3)))) :qid k!34))
 39.2348 +))
 39.2349 +(let (($x63 (fun_app$ (fun_upd$ ?3 ?2 ?1) ?0)))
 39.2350 +(let (($x70 (= $x63 (ite (= ?0 ?2) ?1 (fun_app$ ?3 ?0)))))
 39.2351 +(let (($x68 (forall ((?v0 B_Vertex_bool_fun$) (?v1 B_Vertex$) (?v2 Bool) (?v3 B_Vertex$) )(! (let (($x63 (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v3)))
 39.2352 +(= $x63 (ite (= ?v3 ?v1) ?v2 (fun_app$ ?v0 ?v3)))) :qid k!34))
 39.2353 +))
 39.2354 +(let ((@x72 (rewrite (= (= $x63 (ite (= ?0 ?2) ?1 (fun_app$ ?3 ?0))) $x70))))
 39.2355 +(let ((@x1438 (mp~ (mp (asserted $x68) (quant-intro @x72 (= $x68 $x73)) $x73) (nnf-pos (refl (~ $x70 $x70)) (~ $x73 $x73)) $x73)))
 39.2356 +(let ((@x3468 (mp @x1438 (quant-intro (refl (= $x70 $x70)) (= $x73 $x3463)) $x3463)))
 39.2357 +(let (($x4134 (not $x3463)))
 39.2358 +(let (($x5805 (or $x4134 $x6373)))
 39.2359 +(let ((@x5853 (monotonicity (rewrite (= (ite $x5064 true $x5543) $x6244)) (= (= $x5974 (ite $x5064 true $x5543)) $x6373))))
 39.2360 +(let ((@x3152 (monotonicity @x5853 (= (or $x4134 (= $x5974 (ite $x5064 true $x5543))) $x5805))))
 39.2361 +(let ((@x4912 (trans @x3152 (rewrite (= $x5805 $x5805)) (= (or $x4134 (= $x5974 (ite $x5064 true $x5543))) $x5805))))
 39.2362 +(let ((@x4913 (mp ((_ quant-inst v_b_Visited_G_1$ v_b_v_G_1$ true ?v0!14) (or $x4134 (= $x5974 (ite $x5064 true $x5543)))) @x4912 $x5805)))
 39.2363 +(let ((@x5240 (mp (hypothesis $x1819) (symm (monotonicity @x6739 (= $x5974 $x1819)) (= $x1819 $x5974)) $x5974)))
 39.2364 +(let ((@x5728 (unit-resolution (def-axiom (or (not $x6373) (not $x5974) $x6244)) @x5240 (unit-resolution @x4913 @x3468 $x6373) $x6244)))
 39.2365 +(let ((@x7078 (hypothesis $x3393)))
 39.2366 +(let ((?x3063 (v_b_SP_G_2$ v_b_v_G_1$)))
 39.2367 +(let (($x3024 (= ?x3063 ?x254)))
 39.2368 +(let ((?x3076 (pair$ v_b_v_G_1$ v_b_v_G_1$)))
 39.2369 +(let ((?x3077 (b_G$ ?x3076)))
 39.2370 +(let (($x3038 (>= ?x3077 0)))
 39.2371 +(let (($x3080 (<= (+ b_Infinity$ (* (- 1) ?x3077)) 0)))
 39.2372 +(let (($x4540 (or $x3080 $x3038)))
 39.2373 +(let (($x6342 (= ?x3077 0)))
 39.2374 +(let (($x3469 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (or (not (= ?v0 ?v1)) (= (b_G$ (pair$ ?v0 ?v1)) 0)) :pattern ( (pair$ ?v0 ?v1) ) :qid k!36))
 39.2375 +))
 39.2376 +(let (($x95 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (or (not (= ?v0 ?v1)) (= (b_G$ (pair$ ?v0 ?v1)) 0)) :qid k!36))
 39.2377 +))
 39.2378 +(let (($x92 (or (not (= ?1 ?0)) (= (b_G$ (pair$ ?1 ?0)) 0))))
 39.2379 +(let (($x89 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x80 (= ?v0 ?v1)))
 39.2380 +(=> $x80 (= (b_G$ (pair$ ?v0 ?v1)) 0))) :qid k!36))
 39.2381 +))
 39.2382 +(let ((@x94 (rewrite (= (=> (= ?1 ?0) (= (b_G$ (pair$ ?1 ?0)) 0)) $x92))))
 39.2383 +(let ((@x1443 (mp~ (mp (asserted $x89) (quant-intro @x94 (= $x89 $x95)) $x95) (nnf-pos (refl (~ $x92 $x92)) (~ $x95 $x95)) $x95)))
 39.2384 +(let ((@x3474 (mp @x1443 (quant-intro (refl (= $x92 $x92)) (= $x95 $x3469)) $x3469)))
 39.2385 +(let (($x3045 (not $x3469)))
 39.2386 +(let (($x6595 (or $x3045 $x6342)))
 39.2387 +(let ((@x6585 (monotonicity (rewrite (= (= v_b_v_G_1$ v_b_v_G_1$) true)) (= (not (= v_b_v_G_1$ v_b_v_G_1$)) (not true)))))
 39.2388 +(let ((@x6587 (trans @x6585 (rewrite (= (not true) false)) (= (not (= v_b_v_G_1$ v_b_v_G_1$)) false))))
 39.2389 +(let ((@x6590 (monotonicity @x6587 (= (or (not (= v_b_v_G_1$ v_b_v_G_1$)) $x6342) (or false $x6342)))))
 39.2390 +(let ((@x6594 (trans @x6590 (rewrite (= (or false $x6342) $x6342)) (= (or (not (= v_b_v_G_1$ v_b_v_G_1$)) $x6342) $x6342))))
 39.2391 +(let ((@x6599 (monotonicity @x6594 (= (or $x3045 (or (not (= v_b_v_G_1$ v_b_v_G_1$)) $x6342)) $x6595))))
 39.2392 +(let ((@x6602 (trans @x6599 (rewrite (= $x6595 $x6595)) (= (or $x3045 (or (not (= v_b_v_G_1$ v_b_v_G_1$)) $x6342)) $x6595))))
 39.2393 +(let ((@x6603 (mp ((_ quant-inst v_b_v_G_1$ v_b_v_G_1$) (or $x3045 (or (not (= v_b_v_G_1$ v_b_v_G_1$)) $x6342))) @x6602 $x6595)))
 39.2394 +(let ((@x6616 (lemma (unit-resolution @x6603 @x3474 (hypothesis (not $x6342)) false) $x6342)))
 39.2395 +(let ((@x7085 (unit-resolution (def-axiom (or $x4540 (not $x3038))) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x6342) $x3038)) @x6616 $x3038) $x4540)))
 39.2396 +(let (($x4579 (not $x4540)))
 39.2397 +(let (($x4550 (or $x4579 $x3024)))
 39.2398 +(let (($x4556 (or $x3678 $x4579 $x3024)))
 39.2399 +(let (($x3874 (or (not (or $x3080 (<= (+ ?x254 ?x1168 (* (- 1) ?x3077)) 0))) $x3024)))
 39.2400 +(let (($x4557 (or $x3678 $x3874)))
 39.2401 +(let (($x3062 (<= (+ ?x254 ?x1168 (* (- 1) ?x3077)) 0)))
 39.2402 +(let ((@x4468 (monotonicity (rewrite (= (+ ?x254 ?x1168 (* (- 1) ?x3077)) (* (- 1) ?x3077))) (= $x3062 (<= (* (- 1) ?x3077) 0)))))
 39.2403 +(let ((@x4485 (trans @x4468 (rewrite (= (<= (* (- 1) ?x3077) 0) $x3038)) (= $x3062 $x3038))))
 39.2404 +(let ((@x4549 (monotonicity (monotonicity @x4485 (= (or $x3080 $x3062) $x4540)) (= (not (or $x3080 $x3062)) $x4579))))
 39.2405 +(let ((@x4561 (monotonicity (monotonicity @x4549 (= $x3874 $x4550)) (= $x4557 (or $x3678 $x4550)))))
 39.2406 +(let ((@x4574 (mp ((_ quant-inst v_b_v_G_1$) $x4557) (trans @x4561 (rewrite (= (or $x3678 $x4550) $x4556)) (= $x4557 $x4556)) $x4556)))
 39.2407 +(let ((@x7095 (trans (monotonicity (hypothesis $x5064) (= ?x1821 ?x3063)) (unit-resolution (unit-resolution @x4574 @x4803 $x4550) @x7085 $x3024) (= ?x1821 ?x254))))
 39.2408 +(let ((@x7096 (trans @x7095 (symm (monotonicity (hypothesis $x5064) (= ?x1822 ?x254)) (= ?x254 ?x1822)) $x1823)))
 39.2409 +(let ((@x6504 (unit-resolution (lemma (unit-resolution @x7078 @x7096 false) (or (not $x5064) $x1823)) @x7078 (not $x5064))))
 39.2410 +(let ((@x6501 (unit-resolution (def-axiom (or (not $x6244) $x5064 $x5543)) @x6504 (or (not $x6244) $x5543))))
 39.2411 +(let (($x6879 (>= (+ ?x254 (* (- 1) ?x1822)) 0)))
 39.2412 +(let (($x7105 (not $x6879)))
 39.2413 +(let (($x6372 (>= (+ ?x254 (* (- 1) ?x1822) (b_G$ (pair$ v_b_v_G_1$ ?v0!14))) 0)))
 39.2414 +(let (($x6043 (not $x6372)))
 39.2415 +(let (($x5623 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0!14)))) 0)))
 39.2416 +(let (($x6328 (or $x5623 $x6372)))
 39.2417 +(let (($x5555 (not $x6328)))
 39.2418 +(let (($x5565 (or $x3678 $x5555 $x1823)))
 39.2419 +(let (($x5711 (<= (+ ?x1822 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0!14)))) 0)))
 39.2420 +(let (($x5760 (or (not (or $x5623 $x5711)) $x1823)))
 39.2421 +(let (($x5490 (or $x3678 $x5760)))
 39.2422 +(let (($x5031 (<= (+ ?x1168 ?x1822 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0!14)))) 0)))
 39.2423 +(let (($x5019 (= (+ ?x1822 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0!14)))) (+ ?x1168 ?x1822 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0!14)))))))
 39.2424 +(let ((@x6180 (trans (monotonicity (rewrite $x5019) (= $x5711 $x5031)) (rewrite (= $x5031 $x6372)) (= $x5711 $x6372))))
 39.2425 +(let ((@x5556 (monotonicity (monotonicity @x6180 (= (or $x5623 $x5711) $x6328)) (= (not (or $x5623 $x5711)) $x5555))))
 39.2426 +(let ((@x4918 (monotonicity (monotonicity @x5556 (= $x5760 (or $x5555 $x1823))) (= $x5490 (or $x3678 (or $x5555 $x1823))))))
 39.2427 +(let ((@x6362 (trans @x4918 (rewrite (= (or $x3678 (or $x5555 $x1823)) $x5565)) (= $x5490 $x5565))))
 39.2428 +(let ((@x6339 (unit-resolution (def-axiom (or $x6328 $x6043)) (unit-resolution (mp ((_ quant-inst ?v0!14) $x5490) @x6362 $x5565) @x4803 @x7078 $x5555) $x6043)))
 39.2429 +(let ((?x5617 (pair$ v_b_v_G_1$ ?v0!14)))
 39.2430 +(let ((?x5621 (b_G$ ?x5617)))
 39.2431 +(let (($x6266 (>= ?x5621 0)))
 39.2432 +(let ((@x6636 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x5621 0)) $x6266)) (hypothesis (not $x6266)) (not (= ?x5621 0)))))
 39.2433 +(let (($x6078 (= v_b_v_G_1$ ?v0!14)))
 39.2434 +(let (($x6076 (<= ?x5621 0)))
 39.2435 +(let ((@x6410 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x6266 $x6076)) (hypothesis (not $x6266)) $x6076)))
 39.2436 +(let (($x6080 (or $x6078 (not $x6076))))
 39.2437 +(let (($x3475 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x80 (= ?v0 ?v1)))
 39.2438 +(or $x80 (not (<= (b_G$ (pair$ ?v0 ?v1)) 0)))) :pattern ( (pair$ ?v0 ?v1) ) :qid k!37))
 39.2439 +))
 39.2440 +(let (($x116 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x80 (= ?v0 ?v1)))
 39.2441 +(or $x80 (not (<= (b_G$ (pair$ ?v0 ?v1)) 0)))) :qid k!37))
 39.2442 +))
 39.2443 +(let (($x80 (= ?1 ?0)))
 39.2444 +(let (($x113 (or $x80 (not (<= (b_G$ (pair$ ?1 ?0)) 0)))))
 39.2445 +(let (($x101 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x29 (pair$ ?v0 ?v1)))
 39.2446 +(let ((?x81 (b_G$ ?x29)))
 39.2447 +(let (($x98 (< 0 ?x81)))
 39.2448 +(=> (not (= ?v0 ?v1)) $x98)))) :qid k!37))
 39.2449 +))
 39.2450 +(let (($x106 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x29 (pair$ ?v0 ?v1)))
 39.2451 +(let ((?x81 (b_G$ ?x29)))
 39.2452 +(let (($x98 (< 0 ?x81)))
 39.2453 +(let (($x80 (= ?v0 ?v1)))
 39.2454 +(or $x80 $x98))))) :qid k!37))
 39.2455 +))
 39.2456 +(let ((?x29 (pair$ ?1 ?0)))
 39.2457 +(let ((?x81 (b_G$ ?x29)))
 39.2458 +(let (($x98 (< 0 ?x81)))
 39.2459 +(let ((@x115 (monotonicity (rewrite (= $x98 (not (<= ?x81 0)))) (= (or $x80 $x98) $x113))))
 39.2460 +(let ((@x108 (quant-intro (rewrite (= (=> (not $x80) $x98) (or $x80 $x98))) (= $x101 $x106))))
 39.2461 +(let ((@x121 (mp (asserted $x101) (trans @x108 (quant-intro @x115 (= $x106 $x116)) (= $x101 $x116)) $x116)))
 39.2462 +(let ((@x3480 (mp (mp~ @x121 (nnf-pos (refl (~ $x113 $x113)) (~ $x116 $x116)) $x116) (quant-intro (refl (= $x113 $x113)) (= $x116 $x3475)) $x3475)))
 39.2463 +(let ((@x6389 (mp ((_ quant-inst v_b_v_G_1$ ?v0!14) (or (not $x3475) $x6080)) (rewrite (= (or (not $x3475) $x6080) (or (not $x3475) $x6078 (not $x6076)))) (or (not $x3475) $x6078 (not $x6076)))))
 39.2464 +(let (($x6086 (= ?x5621 0)))
 39.2465 +(let (($x6096 (or (not $x6078) $x6086)))
 39.2466 +(let ((@x6264 (mp ((_ quant-inst v_b_v_G_1$ ?v0!14) (or $x3045 $x6096)) (rewrite (= (or $x3045 $x6096) (or $x3045 (not $x6078) $x6086))) (or $x3045 (not $x6078) $x6086))))
 39.2467 +(let ((@x6993 (unit-resolution (unit-resolution @x6264 @x3474 $x6096) (unit-resolution (unit-resolution @x6389 @x3480 $x6080) @x6410 $x6078) @x6636 false)))
 39.2468 +(let ((@x7107 (lemma ((_ th-lemma arith farkas 1 -1 1) (hypothesis $x6266) (hypothesis $x6043) (hypothesis $x6879) false) (or (not $x6266) $x6372 $x7105))))
 39.2469 +(let ((@x6134 (unit-resolution (unit-resolution @x7107 (lemma @x6993 $x6266) (or $x6372 $x7105)) @x6339 $x7105)))
 39.2470 +(let ((@x6066 (unit-resolution (def-axiom (or $x3804 $x253)) @x4802 $x253)))
 39.2471 +(let ((@x6683 (unit-resolution (def-axiom (or $x3816 $x3560)) @x4357 $x3560)))
 39.2472 +(let (($x6034 (= (or $x3565 (or $x252 (not $x5543) $x6879)) (or $x3565 $x252 (not $x5543) $x6879))))
 39.2473 +(let ((@x6556 (mp ((_ quant-inst ?v0!14 v_b_v_G_1$) (or $x3565 (or $x252 (not $x5543) $x6879))) (rewrite $x6034) (or $x3565 $x252 (not $x5543) $x6879))))
 39.2474 +(let ((@x6850 (unit-resolution @x6556 @x6683 @x6066 @x6134 (unit-resolution @x6501 @x5728 $x5543) false)))
 39.2475 +(let ((@x5791 (unit-resolution (lemma @x6850 $x1824) (unit-resolution (def-axiom (or $x1824 $x3393)) (hypothesis $x1825) $x3393) (unit-resolution (def-axiom (or $x1824 $x1819)) (hypothesis $x1825) $x1819) false)))
 39.2476 +(let ((@x9261 (unit-resolution (def-axiom (or $x3789 $x1825 $x3783)) (unit-resolution (def-axiom (or $x3792 $x3786)) @x4711 $x3786) $x3786)))
 39.2477 +(let ((@x9263 (unit-resolution (def-axiom (or $x3780 $x3690)) (unit-resolution @x9261 (lemma @x5791 $x1824) $x3783) $x3690)))
 39.2478 +(let ((@x6271 (mp ((_ quant-inst ?v1!18) (or $x3695 (or $x2786 $x6951))) (rewrite (= (or $x3695 (or $x2786 $x6951)) (or $x3695 $x2786 $x6951))) (or $x3695 $x2786 $x6951))))
 39.2479 +(let ((@x5205 (unit-resolution @x6271 @x9263 (unit-resolution (def-axiom (or $x2801 $x1878)) @x8699 $x1878) $x6951)))
 39.2480 +(let ((@x8621 ((_ th-lemma arith assign-bounds -1 -1 1) (or (not (>= (+ ?x1880 ?x6950 ?x7461) 0)) (not $x7401) $x1891 (not $x8129)))))
 39.2481 +(let ((@x8189 (unit-resolution @x8621 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x6951) $x8129)) @x5205 $x8129) (unit-resolution (def-axiom (or $x2801 (not $x1891))) @x8699 (not $x1891)) @x8710 (not (>= (+ ?x1880 ?x6950 ?x7461) 0)))))
 39.2482 +(let (($x5620 (= (or $x3573 (or $x6179 $x1883 (>= (+ ?x1880 ?x6950 ?x7461) 0))) (or $x3573 $x6179 $x1883 (>= (+ ?x1880 ?x6950 ?x7461) 0)))))
 39.2483 +(let ((@x7205 (mp ((_ quant-inst ?v0!19 ?v1!18) (or $x3573 (or $x6179 $x1883 (>= (+ ?x1880 ?x6950 ?x7461) 0)))) (rewrite $x5620) (or $x3573 $x6179 $x1883 (>= (+ ?x1880 ?x6950 ?x7461) 0)))))
 39.2484 +(let ((@x8192 (unit-resolution @x7205 (unit-resolution (def-axiom (or $x3816 $x3568)) @x4357 $x3568) (unit-resolution (def-axiom (or $x2801 $x1884)) @x8699 $x1884) (or $x6179 (>= (+ ?x1880 ?x6950 ?x7461) 0)))))
 39.2485 +(let (($x8059 (or $x6383 $x5168)))
 39.2486 +(let (($x4914 (fun_app$ ?x260 ?v1!18)))
 39.2487 +(let (($x8555 (= $x4914 $x8059)))
 39.2488 +(let (($x7052 (or $x4134 $x8555)))
 39.2489 +(let ((@x8554 (monotonicity (rewrite (= (ite $x6383 true $x5168) $x8059)) (= (= $x4914 (ite $x6383 true $x5168)) $x8555))))
 39.2490 +(let ((@x8280 (monotonicity @x8554 (= (or $x4134 (= $x4914 (ite $x6383 true $x5168))) $x7052))))
 39.2491 +(let ((@x7080 (trans @x8280 (rewrite (= $x7052 $x7052)) (= (or $x4134 (= $x4914 (ite $x6383 true $x5168))) $x7052))))
 39.2492 +(let ((@x7791 (mp ((_ quant-inst v_b_Visited_G_1$ v_b_v_G_1$ true ?v1!18) (or $x4134 (= $x4914 (ite $x6383 true $x5168)))) @x7080 $x7052)))
 39.2493 +(let ((@x8161 (mp (unit-resolution (def-axiom (or $x2801 $x1878)) @x8699 $x1878) (symm (monotonicity @x6739 (= $x4914 $x1878)) (= $x1878 $x4914)) $x4914)))
 39.2494 +(let ((@x8162 (unit-resolution (def-axiom (or (not $x8555) (not $x4914) $x8059)) @x8161 (unit-resolution @x7791 @x3468 $x8555) $x8059)))
 39.2495 +(let ((@x8163 (unit-resolution (def-axiom (or (not $x8059) $x6383 $x5168)) @x8162 (unit-resolution @x8192 @x8189 $x6179) $x6383)))
 39.2496 +(let ((@x5864 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1880 ?x7555)) $x8504)) (monotonicity (monotonicity @x8163 (= ?x1879 ?x7554)) (= ?x1880 ?x7555)) $x8504)))
 39.2497 +(let (($x7609 (>= (+ ?x1887 (* (- 1) ?x3063)) 0)))
 39.2498 +(let ((@x5835 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1887 ?x3063)) $x7609)) (monotonicity @x8163 (= ?x1887 ?x3063)) $x7609)))
 39.2499 +(let ((?x3064 (* (- 1) ?x3063)))
 39.2500 +(let ((?x3904 (+ ?x254 ?x3064)))
 39.2501 +(let (($x3905 (<= ?x3904 0)))
 39.2502 +(let (($x4587 (= ?x254 ?x3063)))
 39.2503 +(let ((@x8351 (mp (unit-resolution (unit-resolution @x4574 @x4803 $x4550) @x7085 $x3024) (symm (commutativity (= $x4587 $x3024)) (= $x3024 $x4587)) $x4587)))
 39.2504 +(let ((@x8148 ((_ th-lemma arith farkas 1 -1 1 -1 1) (hypothesis $x6123) (hypothesis (not $x1891)) (hypothesis $x7609) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x4587) $x3905)) @x8351 $x3905) (hypothesis $x8504) false)))
 39.2505 +(let ((@x6098 (unit-resolution (lemma @x8148 (or $x8149 $x1891 (not $x7609) (not $x8504))) (unit-resolution (def-axiom (or $x2801 (not $x1891))) @x8699 (not $x1891)) @x5835 @x5864 $x8149)))
 39.2506 +(let ((@x8175 (unit-resolution (def-axiom (or $x8378 (not $x7517))) (hypothesis (not $x8378)) (not $x7517))))
 39.2507 +(let (($x7000 (not $x4944)))
 39.2508 +(let ((@x8640 (unit-resolution (def-axiom (or $x8378 $x7000)) (hypothesis (not $x8378)) $x7000)))
 39.2509 +(let (($x6310 (or $x7517 $x4944 $x6876)))
 39.2510 +(let (($x7071 (or $x3670 $x7517 $x4944 $x6876)))
 39.2511 +(let (($x7524 (<= (+ ?x7388 ?x1168 ?x7512) 0)))
 39.2512 +(let (($x7589 (or $x7517 $x7524 (= (+ ?x254 ?x7555 ?x1889) 0))))
 39.2513 +(let (($x6768 (or $x3670 $x7589)))
 39.2514 +(let ((@x6946 (monotonicity (rewrite (= (+ ?x254 ?x7555 ?x1889) ?x7471)) (= (= (+ ?x254 ?x7555 ?x1889) 0) $x6876))))
 39.2515 +(let ((@x7308 (monotonicity (rewrite (= (+ ?x7388 ?x1168 ?x7512) (+ ?x1168 ?x7388 ?x7512))) (= $x7524 (<= (+ ?x1168 ?x7388 ?x7512) 0)))))
 39.2516 +(let ((@x8377 (trans @x7308 (rewrite (= (<= (+ ?x1168 ?x7388 ?x7512) 0) $x4944)) (= $x7524 $x4944))))
 39.2517 +(let ((@x6639 (monotonicity (monotonicity @x8377 @x6946 (= $x7589 $x6310)) (= $x6768 (or $x3670 $x6310)))))
 39.2518 +(let ((@x6030 (mp ((_ quant-inst ?v0!19) $x6768) (trans @x6639 (rewrite (= (or $x3670 $x6310) $x7071)) (= $x6768 $x7071)) $x7071)))
 39.2519 +(let ((@x8762 (unit-resolution (unit-resolution @x6030 @x4789 $x6310) @x8640 @x8175 (hypothesis $x8868) false)))
 39.2520 +(let ((@x8475 (unit-resolution (lemma @x8762 (or $x8378 $x6876)) (unit-resolution ((_ th-lemma arith triangle-eq) (or $x8868 $x6123)) @x6098 $x8868) $x8378)))
 39.2521 +(let ((@x8713 (lemma ((_ th-lemma arith farkas -1 -1 1) @x8710 (hypothesis $x8149) (hypothesis $x4944) false) (or $x7000 $x6123))))
 39.2522 +(let ((@x7808 (unit-resolution (def-axiom (or (not $x8378) $x7517 $x4944)) (unit-resolution @x8713 @x6098 $x7000) @x8475 $x7517)))
 39.2523 +(let ((@x7807 ((_ th-lemma arith farkas 1 -1 1) @x5864 @x7808 (unit-resolution (def-axiom (or $x2801 $x1884)) @x8699 $x1884) false)))
 39.2524 +(let (($x3381 (not $x1864)))
 39.2525 +(let ((@x6859 (hypothesis $x2760)))
 39.2526 +(let ((@x6910 (unit-resolution (def-axiom (or $x2755 $x3381)) @x6859 $x3381)))
 39.2527 +(let (($x6437 (<= (+ ?x254 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v1!16))) 0)))
 39.2528 +(let (($x4947 (fun_app$ v_b_Visited_G_1$ ?v1!16)))
 39.2529 +(let (($x6336 (= ?v1!16 v_b_v_G_1$)))
 39.2530 +(let (($x8534 (or $x6336 $x4947)))
 39.2531 +(let (($x6263 (fun_app$ ?x260 ?v1!16)))
 39.2532 +(let (($x6346 (= $x6263 $x8534)))
 39.2533 +(let (($x8582 (or $x4134 $x6346)))
 39.2534 +(let ((@x8309 (monotonicity (rewrite (= (ite $x6336 true $x4947) $x8534)) (= (= $x6263 (ite $x6336 true $x4947)) $x6346))))
 39.2535 +(let ((@x8586 (monotonicity @x8309 (= (or $x4134 (= $x6263 (ite $x6336 true $x4947))) $x8582))))
 39.2536 +(let ((@x8591 (trans @x8586 (rewrite (= $x8582 $x8582)) (= (or $x4134 (= $x6263 (ite $x6336 true $x4947))) $x8582))))
 39.2537 +(let ((@x8592 (mp ((_ quant-inst v_b_Visited_G_1$ v_b_v_G_1$ true ?v1!16) (or $x4134 (= $x6263 (ite $x6336 true $x4947)))) @x8591 $x8582)))
 39.2538 +(let ((@x7062 (monotonicity (symm (monotonicity @x6739 (= $x6263 $x1855)) (= $x1855 $x6263)) (= (not $x1855) (not $x6263)))))
 39.2539 +(let ((@x7109 (mp (unit-resolution (def-axiom (or $x2755 (not $x1855))) @x6859 (not $x1855)) @x7062 (not $x6263))))
 39.2540 +(let ((@x7053 (unit-resolution (def-axiom (or (not $x6346) $x6263 (not $x8534))) @x7109 (unit-resolution @x8592 @x3468 $x6346) (not $x8534))))
 39.2541 +(let (($x7664 (or $x4947 $x6437)))
 39.2542 +(let ((@x7108 (unit-resolution (def-axiom (or $x3804 $x3655)) @x4802 $x3655)))
 39.2543 +(let (($x6930 (or $x3660 $x4947 $x6437)))
 39.2544 +(let (($x7189 (>= (+ (fun_app$a v_b_SP_G_1$ ?v1!16) ?x1168) 0)))
 39.2545 +(let (($x7192 (or $x4947 $x7189)))
 39.2546 +(let (($x7392 (or $x3660 $x7192)))
 39.2547 +(let ((@x6696 (rewrite (= (>= (+ ?x1168 (fun_app$a v_b_SP_G_1$ ?v1!16)) 0) $x6437))))
 39.2548 +(let (($x7657 (= (+ (fun_app$a v_b_SP_G_1$ ?v1!16) ?x1168) (+ ?x1168 (fun_app$a v_b_SP_G_1$ ?v1!16)))))
 39.2549 +(let ((@x6394 (monotonicity (rewrite $x7657) (= $x7189 (>= (+ ?x1168 (fun_app$a v_b_SP_G_1$ ?v1!16)) 0)))))
 39.2550 +(let ((@x7789 (monotonicity (monotonicity (trans @x6394 @x6696 (= $x7189 $x6437)) (= $x7192 $x7664)) (= $x7392 (or $x3660 $x7664)))))
 39.2551 +(let ((@x7788 (mp ((_ quant-inst ?v1!16) $x7392) (trans @x7789 (rewrite (= (or $x3660 $x7664) $x6930)) (= $x7392 $x6930)) $x6930)))
 39.2552 +(let ((@x7110 (unit-resolution (unit-resolution @x7788 @x7108 $x7664) (unit-resolution (def-axiom (or $x8534 (not $x4947))) @x7053 (not $x4947)) $x6437)))
 39.2553 +(let (($x6906 (<= (+ (v_b_SP_G_2$ ?v0!17) (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0!17))) 0)))
 39.2554 +(let (($x7394 (or $x3686 $x6906)))
 39.2555 +(let (($x6869 (>= (+ (fun_app$a v_b_SP_G_1$ ?v0!17) (* (- 1) (v_b_SP_G_2$ ?v0!17))) 0)))
 39.2556 +(let (($x7794 (>= (+ (* (- 1) (v_b_SP_G_2$ ?v0!17)) (fun_app$a v_b_SP_G_1$ ?v0!17)) 0)))
 39.2557 +(let (($x7505 (= (+ (fun_app$a v_b_SP_G_1$ ?v0!17) (* (- 1) (v_b_SP_G_2$ ?v0!17))) (+ (* (- 1) (v_b_SP_G_2$ ?v0!17)) (fun_app$a v_b_SP_G_1$ ?v0!17)))))
 39.2558 +(let ((@x6937 (trans (monotonicity (rewrite $x7505) (= $x6869 $x7794)) (rewrite (= $x7794 $x6906)) (= $x6869 $x6906))))
 39.2559 +(let ((@x7419 (trans (monotonicity @x6937 (= (or $x3686 $x6869) $x7394)) (rewrite (= $x7394 $x7394)) (= (or $x3686 $x6869) $x7394))))
 39.2560 +(let (($x6920 (>= (+ (v_b_SP_G_2$ ?v1!16) (* (- 1) (fun_app$a v_b_SP_G_1$ ?v1!16))) 0)))
 39.2561 +(let ((?x6958 (fun_app$a v_b_SP_G_1$ ?v1!16)))
 39.2562 +(let ((?x1860 (v_b_SP_G_2$ ?v1!16)))
 39.2563 +(let (($x6841 (= ?x1860 ?x6958)))
 39.2564 +(let (($x7027 (>= (+ ?x254 (b_G$ (pair$ v_b_v_G_1$ ?v1!16)) (* (- 1) ?x6958)) 0)))
 39.2565 +(let (($x6231 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v1!16)))) 0)))
 39.2566 +(let (($x7455 (or $x6231 $x7027)))
 39.2567 +(let ((?x6824 (pair$ v_b_v_G_1$ ?v1!16)))
 39.2568 +(let ((?x6825 (b_G$ ?x6824)))
 39.2569 +(let ((?x6938 (* (- 1) ?x1860)))
 39.2570 +(let ((?x6929 (+ ?x254 ?x6938 ?x6825)))
 39.2571 +(let (($x7553 (= ?x6929 0)))
 39.2572 +(let (($x7206 (not $x7553)))
 39.2573 +(let (($x6067 (<= ?x6929 0)))
 39.2574 +(let (($x6919 (not $x6067)))
 39.2575 +(let (($x6631 (fun_app$ v_b_Visited_G_1$ ?v0!17)))
 39.2576 +(let (($x6844 (= ?v0!17 v_b_v_G_1$)))
 39.2577 +(let (($x6265 (or $x6844 $x6631)))
 39.2578 +(let (($x6895 (fun_app$ ?x260 ?v0!17)))
 39.2579 +(let (($x6665 (= $x6895 $x6265)))
 39.2580 +(let (($x5717 (or $x4134 $x6665)))
 39.2581 +(let ((@x6990 (monotonicity (rewrite (= (ite $x6844 true $x6631) $x6265)) (= (= $x6895 (ite $x6844 true $x6631)) $x6665))))
 39.2582 +(let ((@x7528 (monotonicity @x6990 (= (or $x4134 (= $x6895 (ite $x6844 true $x6631))) $x5717))))
 39.2583 +(let ((@x7133 (trans @x7528 (rewrite (= $x5717 $x5717)) (= (or $x4134 (= $x6895 (ite $x6844 true $x6631))) $x5717))))
 39.2584 +(let ((@x7043 (mp ((_ quant-inst v_b_Visited_G_1$ v_b_v_G_1$ true ?v0!17) (or $x4134 (= $x6895 (ite $x6844 true $x6631)))) @x7133 $x5717)))
 39.2585 +(let ((@x7214 (mp (unit-resolution (def-axiom (or $x2755 $x1857)) @x6859 $x1857) (symm (monotonicity @x6739 (= $x6895 $x1857)) (= $x1857 $x6895)) $x6895)))
 39.2586 +(let ((@x7215 (unit-resolution (def-axiom (or (not $x6665) (not $x6895) $x6265)) @x7214 (unit-resolution @x7043 @x3468 $x6665) $x6265)))
 39.2587 +(let (($x7558 (<= ?x6825 0)))
 39.2588 +(let (($x7559 (not $x7558)))
 39.2589 +(let ((@x6953 (symm (commutativity (= (= v_b_v_G_1$ ?v1!16) $x6336)) (= $x6336 (= v_b_v_G_1$ ?v1!16)))))
 39.2590 +(let ((@x6769 (mp (hypothesis (not $x6336)) (monotonicity @x6953 (= (not $x6336) (not (= v_b_v_G_1$ ?v1!16)))) (not (= v_b_v_G_1$ ?v1!16)))))
 39.2591 +(let (($x7557 (= v_b_v_G_1$ ?v1!16)))
 39.2592 +(let (($x7560 (or $x7557 $x7559)))
 39.2593 +(let ((@x5992 (mp ((_ quant-inst v_b_v_G_1$ ?v1!16) (or (not $x3475) $x7560)) (rewrite (= (or (not $x3475) $x7560) (or (not $x3475) $x7557 $x7559))) (or (not $x3475) $x7557 $x7559))))
 39.2594 +(let ((@x6161 (hypothesis $x3381)))
 39.2595 +(let ((?x6285 (fun_app$a v_b_SP_G_1$ ?v0!17)))
 39.2596 +(let ((?x6904 (* (- 1) ?x6285)))
 39.2597 +(let ((?x7131 (+ ?x254 ?x6904)))
 39.2598 +(let (($x6000 (>= ?x7131 0)))
 39.2599 +(let (($x6858 (not $x6844)))
 39.2600 +(let ((?x1861 (v_b_SP_G_2$ ?v0!17)))
 39.2601 +(let (($x6188 (= ?x1861 ?x3063)))
 39.2602 +(let (($x5847 (not $x6188)))
 39.2603 +(let ((?x5089 (+ ?x1861 ?x3064)))
 39.2604 +(let (($x5848 (<= ?x5089 0)))
 39.2605 +(let (($x6925 (not $x5848)))
 39.2606 +(let ((@x6267 (hypothesis $x6067)))
 39.2607 +(let (($x3906 (>= ?x3904 0)))
 39.2608 +(let (($x4341 (or $x3686 $x3906)))
 39.2609 +(let ((@x4906 ((_ quant-inst v_b_v_G_1$) $x4341)))
 39.2610 +(let ((@x6160 (unit-resolution @x4906 @x4714 $x3906)))
 39.2611 +(let ((@x6971 (lemma ((_ th-lemma arith farkas 1 1 1 1 1) @x6267 (hypothesis $x5848) @x6161 @x6160 (hypothesis $x7559) false) (or $x6925 $x6919 $x1864 $x7558))))
 39.2612 +(let ((@x6928 (unit-resolution @x6971 @x6267 @x6161 (unit-resolution (unit-resolution @x5992 @x3480 $x7560) @x6769 $x7559) $x6925)))
 39.2613 +(let ((@x6532 ((_ th-lemma arith triangle-eq) (or $x5847 $x5848))))
 39.2614 +(let ((@x5114 (unit-resolution (hypothesis $x5847) (monotonicity (hypothesis $x6844) $x6188) false)))
 39.2615 +(let ((@x5115 (lemma @x5114 (or $x6858 $x6188))))
 39.2616 +(let ((@x8623 (def-axiom (or (not $x6265) $x6844 $x6631))))
 39.2617 +(let ((@x4834 (unit-resolution @x8623 (unit-resolution @x5115 (unit-resolution @x6532 @x6928 $x5847) $x6858) (hypothesis $x6265) $x6631)))
 39.2618 +(let (($x5475 (= (or $x3565 (or $x252 (not $x6631) $x6000)) (or $x3565 $x252 (not $x6631) $x6000))))
 39.2619 +(let ((@x5735 (mp ((_ quant-inst ?v0!17 v_b_v_G_1$) (or $x3565 (or $x252 (not $x6631) $x6000))) (rewrite $x5475) (or $x3565 $x252 (not $x6631) $x6000))))
 39.2620 +(let ((@x6914 ((_ th-lemma arith farkas 1 1 1 1 1) @x6267 (unit-resolution @x5735 @x6683 @x6066 @x4834 $x6000) (unit-resolution (mp ((_ quant-inst ?v0!17) (or $x3686 $x6869)) @x7419 $x7394) @x4714 $x6906) @x6161 (unit-resolution (unit-resolution @x5992 @x3480 $x7560) @x6769 $x7559) false)))
 39.2621 +(let ((@x7217 (unit-resolution (lemma @x6914 (or $x6919 $x1864 (not $x6265) $x6336)) @x6910 @x7215 (unit-resolution (def-axiom (or $x8534 (not $x6336))) @x7053 (not $x6336)) $x6919)))
 39.2622 +(let ((@x6357 (unit-resolution (def-axiom (or $x7455 (not $x6231))) (hypothesis (not $x7455)) (not $x6231))))
 39.2623 +(let ((@x6426 (unit-resolution (def-axiom (or $x7455 (not $x7027))) (hypothesis (not $x7455)) (not $x7027))))
 39.2624 +(let (($x7603 (or $x6231 $x7027 $x7553)))
 39.2625 +(let (($x5113 (or $x3670 $x6231 $x7027 $x7553)))
 39.2626 +(let (($x6826 (<= (+ ?x6958 ?x1168 (* (- 1) ?x6825)) 0)))
 39.2627 +(let (($x6927 (or $x6231 $x6826 (= (+ ?x254 ?x6825 ?x6938) 0))))
 39.2628 +(let (($x7688 (or $x3670 $x6927)))
 39.2629 +(let ((@x7602 (monotonicity (rewrite (= (+ ?x254 ?x6825 ?x6938) ?x6929)) (= (= (+ ?x254 ?x6825 ?x6938) 0) $x7553))))
 39.2630 +(let ((@x7947 (rewrite (= (+ ?x6958 ?x1168 (* (- 1) ?x6825)) (+ ?x1168 (* (- 1) ?x6825) ?x6958)))))
 39.2631 +(let ((@x7737 (monotonicity @x7947 (= $x6826 (<= (+ ?x1168 (* (- 1) ?x6825) ?x6958) 0)))))
 39.2632 +(let ((@x8385 (trans @x7737 (rewrite (= (<= (+ ?x1168 (* (- 1) ?x6825) ?x6958) 0) $x7027)) (= $x6826 $x7027))))
 39.2633 +(let ((@x6604 (monotonicity (monotonicity @x8385 @x7602 (= $x6927 $x7603)) (= $x7688 (or $x3670 $x7603)))))
 39.2634 +(let ((@x7391 (mp ((_ quant-inst ?v1!16) $x7688) (trans @x6604 (rewrite (= (or $x3670 $x7603) $x5113)) (= $x7688 $x5113)) $x5113)))
 39.2635 +(let ((@x4197 (unit-resolution (unit-resolution @x7391 @x4789 $x7603) @x6426 @x6357 (hypothesis $x7206) false)))
 39.2636 +(let ((@x7250 (unit-resolution (lemma @x4197 (or $x7455 $x7553)) (unit-resolution ((_ th-lemma arith triangle-eq) (or $x7206 $x6067)) @x7217 $x7206) $x7455)))
 39.2637 +(let (($x7639 (not $x7455)))
 39.2638 +(let (($x7673 (or $x7639 $x6841)))
 39.2639 +(let (($x7669 (or $x3678 $x7639 $x6841)))
 39.2640 +(let ((@x7671 (monotonicity (monotonicity @x8385 (= (or $x6231 $x6826) $x7455)) (= (not (or $x6231 $x6826)) $x7639))))
 39.2641 +(let ((@x7677 (monotonicity (monotonicity @x7671 (= (or (not (or $x6231 $x6826)) $x6841) $x7673)) (= (or $x3678 (or (not (or $x6231 $x6826)) $x6841)) (or $x3678 $x7673)))))
 39.2642 +(let ((@x7387 (trans @x7677 (rewrite (= (or $x3678 $x7673) $x7669)) (= (or $x3678 (or (not (or $x6231 $x6826)) $x6841)) $x7669))))
 39.2643 +(let ((@x7252 (unit-resolution (mp ((_ quant-inst ?v1!16) (or $x3678 (or (not (or $x6231 $x6826)) $x6841))) @x7387 $x7669) @x4803 $x7673)))
 39.2644 +(let ((@x7315 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x6841) $x6920)) (unit-resolution @x7252 @x7250 $x6841) $x6920)))
 39.2645 +(let ((@x7323 (unit-resolution ((_ th-lemma arith assign-bounds -1 1 -1 -1) (or (not $x6000) (not $x6437) (not $x6920) (not $x6906) $x1864)) @x7315 (unit-resolution (mp ((_ quant-inst ?v0!17) (or $x3686 $x6869)) @x7419 $x7394) @x4714 $x6906) @x7110 @x6910 (not $x6000))))
 39.2646 +(let ((@x7351 (unit-resolution ((_ th-lemma arith assign-bounds -1 1 -1 1) (or $x6925 (not $x3906) (not $x6437) (not $x6920) $x1864)) @x7315 @x6160 @x7110 @x6910 $x6925)))
 39.2647 +(let ((@x7364 (unit-resolution @x8623 (unit-resolution @x5115 (unit-resolution @x6532 @x7351 $x5847) $x6858) @x7215 $x6631)))
 39.2648 +(let (($x6106 (not (<= (b_G$ (pair$ v_b_v_G_1$ ?v0!15)) 0))))
 39.2649 +(let (($x5808 (= v_b_v_G_1$ ?v0!15)))
 39.2650 +(let (($x5324 (not $x5808)))
 39.2651 +(let ((@x6624 (symm (commutativity (= $x5808 (= ?v0!15 v_b_v_G_1$))) (= (= ?v0!15 v_b_v_G_1$) $x5808))))
 39.2652 +(let (($x6044 (= ?v0!15 v_b_v_G_1$)))
 39.2653 +(let (($x6867 (not $x6044)))
 39.2654 +(let (($x5521 (fun_app$ v_b_Visited_G_1$ ?v0!15)))
 39.2655 +(let (($x6849 (or $x6044 $x5521)))
 39.2656 +(let (($x6408 (fun_app$ ?x260 ?v0!15)))
 39.2657 +(let (($x6494 (= $x6408 $x6849)))
 39.2658 +(let (($x5683 (or $x4134 $x6494)))
 39.2659 +(let ((@x6072 (monotonicity (rewrite (= (ite $x6044 true $x5521) $x6849)) (= (= $x6408 (ite $x6044 true $x5521)) $x6494))))
 39.2660 +(let ((@x6772 (monotonicity @x6072 (= (or $x4134 (= $x6408 (ite $x6044 true $x5521))) $x5683))))
 39.2661 +(let ((@x5812 (trans @x6772 (rewrite (= $x5683 $x5683)) (= (or $x4134 (= $x6408 (ite $x6044 true $x5521))) $x5683))))
 39.2662 +(let ((@x5804 (mp ((_ quant-inst v_b_Visited_G_1$ v_b_v_G_1$ true ?v0!15) (or $x4134 (= $x6408 (ite $x6044 true $x5521)))) @x5812 $x5683)))
 39.2663 +(let ((@x6715 (symm (monotonicity @x6739 (= $x6408 (fun_app$ v_b_Visited_G_2$ ?v0!15))) (= (fun_app$ v_b_Visited_G_2$ ?v0!15) $x6408))))
 39.2664 +(let ((@x6719 (monotonicity @x6715 (= (not (fun_app$ v_b_Visited_G_2$ ?v0!15)) (not $x6408)))))
 39.2665 +(let (($x6151 (fun_app$ v_b_Visited_G_2$ ?v0!15)))
 39.2666 +(let (($x6527 (not $x6151)))
 39.2667 +(let ((@x6833 (hypothesis $x1843)))
 39.2668 +(let (($x6836 (or (not (>= (+ ?x1841 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0!15))) 0)) $x1842)))
 39.2669 +(let (($x6830 (>= (+ ?x1841 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0!15))) 0)))
 39.2670 +(let ((?x6459 (fun_app$a v_b_SP_G_1$ ?v0!15)))
 39.2671 +(let (($x6119 (>= ?x6459 0)))
 39.2672 +(let ((@x4713 (unit-resolution (def-axiom (or $x3816 $x3551)) @x4357 $x3551)))
 39.2673 +(let ((@x6834 ((_ th-lemma arith farkas -1 1 1) @x6833 (unit-resolution ((_ quant-inst ?v0!15) (or $x3556 $x6119)) @x4713 $x6119) (hypothesis $x6830) false)))
 39.2674 +(let ((@x6656 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1841 ?x6459)) $x6830)) (unit-resolution (lemma @x6834 $x6836) @x6833 (not $x6830)) (not (= ?x1841 ?x6459)))))
 39.2675 +(let (($x6618 (= (or $x3695 (or $x6527 (= ?x1841 ?x6459))) (or $x3695 $x6527 (= ?x1841 ?x6459)))))
 39.2676 +(let ((@x6610 (mp ((_ quant-inst ?v0!15) (or $x3695 (or $x6527 (= ?x1841 ?x6459)))) (rewrite $x6618) (or $x3695 $x6527 (= ?x1841 ?x6459)))))
 39.2677 +(let ((@x6720 (mp (unit-resolution @x6610 (hypothesis $x3690) @x6656 $x6527) @x6719 (not $x6408))))
 39.2678 +(let ((@x6725 (unit-resolution (def-axiom (or (not $x6494) $x6408 (not $x6849))) @x6720 (unit-resolution @x5804 @x3468 $x6494) (not $x6849))))
 39.2679 +(let ((@x6488 (mp (unit-resolution (def-axiom (or $x6849 $x6867)) @x6725 $x6867) (monotonicity @x6624 (= $x6867 $x5324)) $x5324)))
 39.2680 +(let (($x6164 (or $x5808 $x6106)))
 39.2681 +(let ((@x5318 (mp ((_ quant-inst v_b_v_G_1$ ?v0!15) (or (not $x3475) $x6164)) (rewrite (= (or (not $x3475) $x6164) (or (not $x3475) $x5808 $x6106))) (or (not $x3475) $x5808 $x6106))))
 39.2682 +(let (($x3157 (>= ?x169 0)))
 39.2683 +(let ((?x4056 (+ ?x169 ?x1168)))
 39.2684 +(let (($x6181 (<= ?x4056 0)))
 39.2685 +(let (($x3907 (= v_b_v_G_1$ b_Source$)))
 39.2686 +(let ((?x3908 (?v1!7 v_b_v_G_1$)))
 39.2687 +(let ((?x3915 (pair$ ?x3908 v_b_v_G_1$)))
 39.2688 +(let ((?x3916 (b_G$ ?x3915)))
 39.2689 +(let ((?x3917 (* (- 1) ?x3916)))
 39.2690 +(let ((?x3909 (fun_app$a v_b_SP_G_1$ ?x3908)))
 39.2691 +(let ((?x3910 (* (- 1) ?x3909)))
 39.2692 +(let ((?x3918 (+ ?x254 ?x3910 ?x3917)))
 39.2693 +(let (($x3919 (= ?x3918 0)))
 39.2694 +(let (($x3913 (fun_app$ v_b_Visited_G_1$ ?x3908)))
 39.2695 +(let (($x3914 (not $x3913)))
 39.2696 +(let ((?x3911 (+ ?x254 ?x3910)))
 39.2697 +(let (($x3912 (<= ?x3911 0)))
 39.2698 +(let (($x3921 (or $x3912 $x3914 (not $x3919))))
 39.2699 +(let (($x4342 (>= ?x3911 0)))
 39.2700 +(let (($x6807 (not $x4342)))
 39.2701 +(let ((@x6790 (hypothesis $x4342)))
 39.2702 +(let (($x5838 (>= ?x3909 0)))
 39.2703 +(let ((?x6528 (pair$ v_b_v_G_1$ ?v0!15)))
 39.2704 +(let ((?x6529 (b_G$ ?x6528)))
 39.2705 +(let ((?x6364 (* (- 1) ?x1841)))
 39.2706 +(let ((?x5981 (+ ?x254 ?x6364 ?x6529)))
 39.2707 +(let (($x6866 (<= ?x5981 0)))
 39.2708 +(let (($x6554 (= ?x5981 0)))
 39.2709 +(let (($x5936 (>= (+ ?x254 (* (- 1) ?x6459) ?x6529) 0)))
 39.2710 +(let (($x6303 (<= (+ b_Infinity$ (* (- 1) ?x6529)) 0)))
 39.2711 +(let (($x3933 (or $x6303 $x5936)))
 39.2712 +(let (($x6288 (not $x3933)))
 39.2713 +(let (($x6486 (= ?x1841 ?x6459)))
 39.2714 +(let (($x6685 (or $x3678 $x6288 $x6486)))
 39.2715 +(let (($x6462 (or (not (or $x6303 (<= (+ ?x6459 ?x1168 (* (- 1) ?x6529)) 0))) $x6486)))
 39.2716 +(let (($x6686 (or $x3678 $x6462)))
 39.2717 +(let (($x5681 (<= (+ ?x6459 ?x1168 (* (- 1) ?x6529)) 0)))
 39.2718 +(let ((@x3990 (rewrite (= (+ ?x6459 ?x1168 (* (- 1) ?x6529)) (+ ?x1168 ?x6459 (* (- 1) ?x6529))))))
 39.2719 +(let ((@x4138 (monotonicity @x3990 (= $x5681 (<= (+ ?x1168 ?x6459 (* (- 1) ?x6529)) 0)))))
 39.2720 +(let ((@x3932 (trans @x4138 (rewrite (= (<= (+ ?x1168 ?x6459 (* (- 1) ?x6529)) 0) $x5936)) (= $x5681 $x5936))))
 39.2721 +(let ((@x6693 (monotonicity (monotonicity @x3932 (= (or $x6303 $x5681) $x3933)) (= (not (or $x6303 $x5681)) $x6288))))
 39.2722 +(let ((@x6509 (monotonicity (monotonicity @x6693 (= $x6462 (or $x6288 $x6486))) (= $x6686 (or $x3678 (or $x6288 $x6486))))))
 39.2723 +(let ((@x5868 (trans @x6509 (rewrite (= (or $x3678 (or $x6288 $x6486)) $x6685)) (= $x6686 $x6685))))
 39.2724 +(let ((@x6885 (unit-resolution (def-axiom (or $x3933 (not $x6303))) (hypothesis $x6288) (not $x6303))))
 39.2725 +(let ((@x6886 (unit-resolution (def-axiom (or $x3933 (not $x5936))) (hypothesis $x6288) (not $x5936))))
 39.2726 +(let (($x4983 (or $x6303 $x5936 $x6554)))
 39.2727 +(let (($x3903 (or $x3670 $x6303 $x5936 $x6554)))
 39.2728 +(let (($x5258 (or $x6303 $x5681 (= (+ ?x254 ?x6529 ?x6364) 0))))
 39.2729 +(let (($x4854 (or $x3670 $x5258)))
 39.2730 +(let ((@x4987 (monotonicity (rewrite (= (+ ?x254 ?x6529 ?x6364) ?x5981)) (= (= (+ ?x254 ?x6529 ?x6364) 0) $x6554))))
 39.2731 +(let ((@x5496 (monotonicity (monotonicity @x3932 @x4987 (= $x5258 $x4983)) (= $x4854 (or $x3670 $x4983)))))
 39.2732 +(let ((@x5069 (mp ((_ quant-inst ?v0!15) $x4854) (trans @x5496 (rewrite (= (or $x3670 $x4983) $x3903)) (= $x4854 $x3903)) $x3903)))
 39.2733 +(let ((@x6888 (unit-resolution (unit-resolution @x5069 @x4789 $x4983) @x6886 @x6885 (hypothesis (not $x6554)) false)))
 39.2734 +(let ((@x6099 (unit-resolution (lemma @x6888 (or $x3933 $x6554)) (unit-resolution (mp ((_ quant-inst ?v0!15) $x6686) @x5868 $x6685) @x4803 @x6656 $x6288) $x6554)))
 39.2735 +(let ((@x6871 ((_ th-lemma arith farkas 1 1 1 1 1) @x6833 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x6554) $x6866)) @x6099 $x6866) (unit-resolution ((_ quant-inst (?v1!7 v_b_v_G_1$)) (or $x3556 $x5838)) @x4713 $x5838) @x6790 (unit-resolution (unit-resolution @x5318 @x3480 $x6164) @x6488 $x6106) false)))
 39.2736 +(let ((@x6225 (unit-resolution (lemma @x6871 (or $x3695 $x1842 $x6807)) (hypothesis $x3690) @x6833 $x6807)))
 39.2737 +(let ((@x3174 (def-axiom (or $x3921 (not $x3912)))))
 39.2738 +(let ((@x6645 (unit-resolution @x3174 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x4342 $x3912)) @x6225 $x3912) $x3921)))
 39.2739 +(let (($x3922 (not $x3921)))
 39.2740 +(let (($x4599 (or $x3581 $x3907 $x1208 $x3922)))
 39.2741 +(let ((@x4617 (mp ((_ quant-inst v_b_v_G_1$) (or $x3581 (or $x3907 $x1208 $x3922))) (rewrite (= (or $x3581 (or $x3907 $x1208 $x3922)) $x4599)) $x4599)))
 39.2742 +(let ((@x6649 (unit-resolution @x4617 @x4189 (unit-resolution (def-axiom (or $x3804 $x1209)) @x4802 $x1209) (or $x3907 $x3922))))
 39.2743 +(let ((@x5588 (symm (monotonicity (unit-resolution @x6649 @x6645 $x3907) (= ?x254 ?x169)) (= ?x169 ?x254))))
 39.2744 +(let ((@x5241 ((_ th-lemma arith farkas 1 1 1 1 1) @x6833 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x6554) $x6866)) @x6099 $x6866) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x169 ?x254)) $x6181)) @x5588 $x6181) (unit-resolution ((_ th-lemma arith triangle-eq) (or $x2947 $x3157)) @x4135 $x3157) (unit-resolution (unit-resolution @x5318 @x3480 $x6164) @x6488 $x6106) false)))
 39.2745 +(let ((@x8742 (unit-resolution (def-axiom (or $x3780 $x3774)) (unit-resolution @x9261 (lemma @x5791 $x1824) $x3783) $x3774)))
 39.2746 +(let (($x4076 (= ?x291 ?x169)))
 39.2747 +(let (($x4073 (<= (+ ?x169 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ b_Source$)))) 0)))
 39.2748 +(let (($x4071 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ b_Source$)))) 0)))
 39.2749 +(let (($x4074 (or $x4071 $x4073)))
 39.2750 +(let (($x3924 (>= ?x254 0)))
 39.2751 +(let (($x4636 (or $x3556 $x3924)))
 39.2752 +(let ((@x4637 ((_ quant-inst v_b_v_G_1$) $x4636)))
 39.2753 +(let (($x4075 (not $x4074)))
 39.2754 +(let ((@x5775 (hypothesis $x4075)))
 39.2755 +(let ((?x4061 (pair$ v_b_v_G_1$ b_Source$)))
 39.2756 +(let ((?x4062 (b_G$ ?x4061)))
 39.2757 +(let (($x5863 (>= ?x4062 0)))
 39.2758 +(let (($x5333 (= ?x4062 0)))
 39.2759 +(let (($x5329 (<= ?x4062 0)))
 39.2760 +(let (($x4173 (<= ?x291 0)))
 39.2761 +(let ((?x4078 (* (- 1) ?x291)))
 39.2762 +(let ((?x4144 (+ ?x169 ?x4078)))
 39.2763 +(let (($x4145 (>= ?x4144 0)))
 39.2764 +(let (($x4905 (or $x3686 $x4145)))
 39.2765 +(let ((@x5229 ((_ quant-inst b_Source$) $x4905)))
 39.2766 +(let (($x3158 (<= ?x169 0)))
 39.2767 +(let ((@x4838 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x2947 $x3158)) @x4135 $x3158)))
 39.2768 +(let ((@x4827 (unit-resolution ((_ th-lemma arith assign-bounds -1 1) (or $x4173 (not $x3158) (not $x4145))) @x4838 (unit-resolution @x5229 @x4714 $x4145) $x4173)))
 39.2769 +(let ((?x4096 (+ ?x254 ?x4078 ?x4062)))
 39.2770 +(let (($x4116 (<= ?x4096 0)))
 39.2771 +(let (($x4099 (= ?x4096 0)))
 39.2772 +(let (($x4102 (or $x4071 $x4073 $x4099)))
 39.2773 +(let (($x4105 (or $x3670 $x4071 $x4073 $x4099)))
 39.2774 +(let (($x4095 (or $x4071 $x4073 (= (+ ?x254 ?x4062 ?x4078) 0))))
 39.2775 +(let (($x4106 (or $x3670 $x4095)))
 39.2776 +(let ((@x4101 (monotonicity (rewrite (= (+ ?x254 ?x4062 ?x4078) ?x4096)) (= (= (+ ?x254 ?x4062 ?x4078) 0) $x4099))))
 39.2777 +(let ((@x4110 (monotonicity (monotonicity @x4101 (= $x4095 $x4102)) (= $x4106 (or $x3670 $x4102)))))
 39.2778 +(let ((@x4115 (mp ((_ quant-inst b_Source$) $x4106) (trans @x4110 (rewrite (= (or $x3670 $x4102) $x4105)) (= $x4106 $x4105)) $x4105)))
 39.2779 +(let ((@x5780 (unit-resolution (unit-resolution @x4115 (hypothesis $x3665) $x4102) (unit-resolution (def-axiom (or $x4074 (not $x4073))) @x5775 (not $x4073)) (unit-resolution (def-axiom (or $x4074 (not $x4071))) @x5775 (not $x4071)) (hypothesis (not $x4099)) false)))
 39.2780 +(let ((@x4831 (unit-resolution (lemma @x5780 (or $x4074 $x4099 $x3670)) @x4789 (or $x4074 $x4099))))
 39.2781 +(let ((@x4846 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x4099) $x4116)) (unit-resolution @x4831 @x5775 $x4099) $x4116)))
 39.2782 +(let ((@x5939 ((_ th-lemma arith farkas -1 1 -1 1) (hypothesis $x3924) (hypothesis $x4173) (hypothesis (not $x5329)) (hypothesis $x4116) false)))
 39.2783 +(let ((@x4867 (unit-resolution (lemma @x5939 (or $x5329 (not $x3924) (not $x4173) (not $x4116))) (unit-resolution @x4637 @x4713 $x3924) (or $x5329 (not $x4173) (not $x4116)))))
 39.2784 +(let (($x5274 (= (or (not $x3475) (or $x3907 (not $x5329))) (or (not $x3475) $x3907 (not $x5329)))))
 39.2785 +(let ((@x5275 (mp ((_ quant-inst v_b_v_G_1$ b_Source$) (or (not $x3475) (or $x3907 (not $x5329)))) (rewrite $x5274) (or (not $x3475) $x3907 (not $x5329)))))
 39.2786 +(let ((@x5099 (rewrite (= (or $x3045 (or (not $x3907) $x5333)) (or $x3045 (not $x3907) $x5333)))))
 39.2787 +(let ((@x5081 (mp ((_ quant-inst v_b_v_G_1$ b_Source$) (or $x3045 (or (not $x3907) $x5333))) @x5099 (or $x3045 (not $x3907) $x5333))))
 39.2788 +(let ((@x4868 (unit-resolution @x5081 @x3474 (unit-resolution @x5275 @x3480 (unit-resolution @x4867 @x4846 @x4827 $x5329) $x3907) $x5333)))
 39.2789 +(let ((@x4872 ((_ th-lemma arith farkas -1 1 1 1) @x4838 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x5333) $x5863)) @x4868 $x5863) (unit-resolution (def-axiom (or $x4074 (not $x4073))) @x5775 (not $x4073)) (unit-resolution @x4637 @x4713 $x3924) false)))
 39.2790 +(let (($x4077 (or $x4075 $x4076)))
 39.2791 +(let (($x5055 (or $x3678 $x4075 $x4076)))
 39.2792 +(let ((@x5303 (mp ((_ quant-inst b_Source$) (or $x3678 $x4077)) (rewrite (= (or $x3678 $x4077) $x5055)) $x5055)))
 39.2793 +(let ((@x8878 (unit-resolution (unit-resolution @x5303 @x4803 $x4077) (lemma @x4872 $x4074) $x4076)))
 39.2794 +(let ((@x9287 (unit-resolution (def-axiom (or $x3777 $x768 $x3771)) (mp @x8878 (monotonicity @x4135 (= $x4076 $x292)) $x292) (or $x3777 $x3771))))
 39.2795 +(let ((@x8755 (unit-resolution (def-axiom (or $x3768 $x3762)) (unit-resolution @x9287 @x8742 $x3771) $x3762)))
 39.2796 +(let ((@x8979 (unit-resolution (def-axiom (or $x3765 $x1843 $x3759)) @x8755 (unit-resolution (lemma @x5241 (or $x3695 $x1842)) @x9263 $x1842) $x3759)))
 39.2797 +(let ((@x9416 (unit-resolution (def-axiom (or $x3753 $x2760 $x3747)) (unit-resolution (def-axiom (or $x3756 $x3750)) @x8979 $x3750) $x3750)))
 39.2798 +(let ((@x9452 (unit-resolution @x9416 (lemma (unit-resolution @x5735 @x6683 @x6066 @x7364 @x7323 false) $x2755) $x3747)))
 39.2799 +(let ((@x9454 (unit-resolution (def-axiom (or $x3741 $x2806 $x3735)) (unit-resolution (def-axiom (or $x3744 $x3738)) @x9452 $x3738) $x3738)))
 39.2800 +(let ((@x9455 (unit-resolution @x9454 (lemma @x7807 $x2801) $x3735)))
 39.2801 +(let ((@x9475 (unit-resolution (def-axiom (or $x3732 $x1910)) @x9455 $x1910)))
 39.2802 +(let ((@x9478 ((_ th-lemma arith farkas -1 1 1) (hypothesis (<= (+ b_Infinity$ ?x4438) 0)) @x9476 @x9475 false)))
 39.2803 +(let ((@x9241 (unit-resolution (lemma @x9478 (or $x9479 (not (<= (+ b_Infinity$ ?x4438) 0)))) @x9476 (not (<= (+ b_Infinity$ ?x4438) 0)))))
 39.2804 +(let (($x4660 (<= (+ b_Infinity$ ?x4438) 0)))
 39.2805 +(let (($x8499 (or $x3581 $x1904 $x4660 $x4675)))
 39.2806 +(let ((@x7305 (mp ((_ quant-inst ?v0!20) (or $x3581 (or $x1904 $x4660 $x4675))) (rewrite (= (or $x3581 (or $x1904 $x4660 $x4675)) $x8499)) $x8499)))
 39.2807 +(let ((@x9599 (unit-resolution @x7305 @x4189 (unit-resolution (def-axiom (or $x3732 $x1905)) @x9455 $x1905) (or $x4660 $x4675))))
 39.2808 +(let ((@x9582 (unit-resolution @x9599 @x9241 $x4675)))
 39.2809 +(let ((?x4717 (v_b_SP_G_2$ ?x4661)))
 39.2810 +(let ((?x4720 (* (- 1) ?x4717)))
 39.2811 +(let ((?x4721 (+ ?x4662 ?x4720)))
 39.2812 +(let (($x4728 (>= ?x4721 0)))
 39.2813 +(let ((@x9586 ((_ th-lemma arith farkas 1 1 -1 1) @x9476 (unit-resolution ((_ quant-inst (?v1!7 ?v0!20)) (or $x3686 $x4728)) @x4714 $x4728) (hypothesis (<= (+ ?x1906 ?x4720) 0)) (unit-resolution (def-axiom (or $x4674 (not $x4665))) @x9582 (not $x4665)) false)))
 39.2814 +(let ((@x8898 (unit-resolution (lemma @x9586 $x9588) @x9476 (not (<= (+ ?x1906 ?x4720) 0)))))
 39.2815 +(let ((?x7341 (+ ?x1906 ?x4670 ?x4720)))
 39.2816 +(let (($x7121 (= ?x7341 0)))
 39.2817 +(let (($x5719 (<= ?x7341 0)))
 39.2818 +(let (($x4844 (<= (+ b_Infinity$ ?x4670) 0)))
 39.2819 +(let (($x8387 (not $x4844)))
 39.2820 +(let (($x7025 (>= ?x4671 0)))
 39.2821 +(let ((@x8158 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x4673 $x7025)) (unit-resolution (def-axiom (or $x4674 $x4672)) @x9582 $x4672) $x7025)))
 39.2822 +(let (($x4825 (>= ?x4662 0)))
 39.2823 +(let ((@x8897 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1 -1 -1) (or $x8387 (not $x4825) (not $x7025) $x1909 $x9479)) @x9475 (or $x8387 (not $x4825) (not $x7025) $x9479))))
 39.2824 +(let ((@x8874 (unit-resolution @x8897 (unit-resolution ((_ quant-inst (?v1!7 ?v0!20)) (or $x3556 $x4825)) @x4713 $x4825) @x9476 @x8158 $x8387)))
 39.2825 +(let (($x4709 (fun_app$ v_b_Visited_G_2$ ?x4661)))
 39.2826 +(let ((@x6057 (monotonicity (symm (hypothesis $x261) (= ?x260 v_b_Visited_G_2$)) (= (fun_app$ ?x260 ?x4661) $x4709))))
 39.2827 +(let ((@x6061 (monotonicity (symm @x6057 (= $x4709 (fun_app$ ?x260 ?x4661))) (= (not $x4709) (not (fun_app$ ?x260 ?x4661))))))
 39.2828 +(let (($x6003 (fun_app$ ?x260 ?x4661)))
 39.2829 +(let (($x6010 (= ?x4661 v_b_v_G_1$)))
 39.2830 +(let (($x6013 (or $x6010 $x4666)))
 39.2831 +(let (($x6016 (= $x6003 $x6013)))
 39.2832 +(let (($x6019 (or $x4134 $x6016)))
 39.2833 +(let ((@x6018 (monotonicity (rewrite (= (ite $x6010 true $x4666) $x6013)) (= (= $x6003 (ite $x6010 true $x4666)) $x6016))))
 39.2834 +(let ((@x6023 (monotonicity @x6018 (= (or $x4134 (= $x6003 (ite $x6010 true $x4666))) $x6019))))
 39.2835 +(let ((@x6026 (trans @x6023 (rewrite (= $x6019 $x6019)) (= (or $x4134 (= $x6003 (ite $x6010 true $x4666))) $x6019))))
 39.2836 +(let ((@x6027 (mp ((_ quant-inst v_b_Visited_G_1$ v_b_v_G_1$ true (?v1!7 ?v0!20)) (or $x4134 (= $x6003 (ite $x6010 true $x4666)))) @x6026 $x6019)))
 39.2837 +(let ((@x6050 (unit-resolution (def-axiom (or (not $x6016) $x6003 (not $x6013))) (unit-resolution (def-axiom (or $x6013 $x4667)) (hypothesis $x4666) $x6013) (or (not $x6016) $x6003))))
 39.2838 +(let ((@x6063 (unit-resolution (unit-resolution @x6050 (unit-resolution @x6027 @x3468 $x6016) $x6003) (mp (hypothesis (not $x4709)) @x6061 (not $x6003)) false)))
 39.2839 +(let ((@x8957 (unit-resolution (lemma @x6063 (or $x4709 $x2930 $x4667)) (unit-resolution (def-axiom (or $x3804 $x261)) @x4802 $x261) (or $x4709 $x4667))))
 39.2840 +(let ((@x8892 (unit-resolution @x8957 (unit-resolution (def-axiom (or $x4674 $x4666)) @x9582 $x4666) $x4709)))
 39.2841 +(let (($x4710 (not $x4709)))
 39.2842 +(let (($x6183 (or $x3720 $x4710 $x4844 $x5719)))
 39.2843 +(let (($x4848 (>= (+ ?x4669 ?x4717 ?x1907) 0)))
 39.2844 +(let (($x4849 (or $x4710 $x4844 $x4848)))
 39.2845 +(let (($x7891 (or $x3720 $x4849)))
 39.2846 +(let ((@x7340 (monotonicity (rewrite (= (+ ?x4669 ?x4717 ?x1907) (+ ?x1907 ?x4669 ?x4717))) (= $x4848 (>= (+ ?x1907 ?x4669 ?x4717) 0)))))
 39.2847 +(let ((@x7415 (trans @x7340 (rewrite (= (>= (+ ?x1907 ?x4669 ?x4717) 0) $x5719)) (= $x4848 $x5719))))
 39.2848 +(let ((@x7922 (monotonicity (monotonicity @x7415 (= $x4849 (or $x4710 $x4844 $x5719))) (= $x7891 (or $x3720 (or $x4710 $x4844 $x5719))))))
 39.2849 +(let ((@x7119 (trans @x7922 (rewrite (= (or $x3720 (or $x4710 $x4844 $x5719)) $x6183)) (= $x7891 $x6183))))
 39.2850 +(let ((@x8954 (unit-resolution (mp ((_ quant-inst ?v0!20 (?v1!7 ?v0!20)) $x7891) @x7119 $x6183) (unit-resolution (def-axiom (or $x3732 $x3715)) @x9455 $x3715) @x8892 (or $x4844 $x5719))))
 39.2851 +(let (($x8133 (>= ?x7341 0)))
 39.2852 +(let ((@x9055 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1 -1) (or $x8133 (not $x7025) $x9479 (not $x4728))) (unit-resolution ((_ quant-inst (?v1!7 ?v0!20)) (or $x3686 $x4728)) @x4714 $x4728) @x8158 @x9476 $x8133)))
 39.2853 +(let ((@x9049 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x7121 (not $x5719) (not $x8133))) @x9055 (unit-resolution @x8954 @x8874 $x5719) $x7121)))
 39.2854 +(let (($x7918 (not $x7121)))
 39.2855 +(let ((?x4888 (+ ?x1906 ?x4720)))
 39.2856 +(let (($x7874 (<= ?x4888 0)))
 39.2857 +(let (($x8072 (or $x3729 $x7874 $x4710 $x7918)))
 39.2858 +(let (($x4877 (>= (+ ?x4717 ?x1907) 0)))
 39.2859 +(let (($x4881 (or $x4877 $x4710 (not (= (+ ?x4717 ?x1907 ?x4669) 0)))))
 39.2860 +(let (($x8040 (or $x3729 $x4881)))
 39.2861 +(let ((@x6258 (monotonicity (rewrite (= (+ ?x4717 ?x1907 ?x4669) (+ ?x1907 ?x4669 ?x4717))) (= (= (+ ?x4717 ?x1907 ?x4669) 0) (= (+ ?x1907 ?x4669 ?x4717) 0)))))
 39.2862 +(let ((@x7178 (trans @x6258 (rewrite (= (= (+ ?x1907 ?x4669 ?x4717) 0) $x7121)) (= (= (+ ?x4717 ?x1907 ?x4669) 0) $x7121))))
 39.2863 +(let ((@x7871 (monotonicity (rewrite (= (+ ?x4717 ?x1907) (+ ?x1907 ?x4717))) (= $x4877 (>= (+ ?x1907 ?x4717) 0)))))
 39.2864 +(let ((@x7892 (trans @x7871 (rewrite (= (>= (+ ?x1907 ?x4717) 0) $x7874)) (= $x4877 $x7874))))
 39.2865 +(let ((@x8041 (monotonicity @x7892 (monotonicity @x7178 (= (not (= (+ ?x4717 ?x1907 ?x4669) 0)) $x7918)) (= $x4881 (or $x7874 $x4710 $x7918)))))
 39.2866 +(let ((@x8107 (trans (monotonicity @x8041 (= $x8040 (or $x3729 (or $x7874 $x4710 $x7918)))) (rewrite (= (or $x3729 (or $x7874 $x4710 $x7918)) $x8072)) (= $x8040 $x8072))))
 39.2867 +(let ((@x9051 (unit-resolution (mp ((_ quant-inst (?v1!7 ?v0!20)) $x8040) @x8107 $x8072) (unit-resolution (def-axiom (or $x3732 $x3724)) @x9455 $x3724) @x8892 (or $x7874 $x7918))))
 39.2868 +(let ((@x10024 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1906 ?x4413)) $x6002)) (lemma (unit-resolution @x9051 @x9049 @x8898 false) $x9479) (not (= ?x1906 ?x4413)))))
 39.2869 +(let (($x4420 (= ?x1906 ?x4413)))
 39.2870 +(let (($x4423 (or $x4299 $x4420)))
 39.2871 +(let (($x8830 (or $x3695 $x4299 $x4420)))
 39.2872 +(let ((@x8691 (mp ((_ quant-inst ?v0!20) (or $x3695 $x4423)) (rewrite (= (or $x3695 $x4423) $x8830)) $x8830)))
 39.2873 +(let ((@x10120 (mp (unit-resolution (unit-resolution @x8691 @x9263 $x4423) @x10024 $x4299) @x10119 $x9037)))
 39.2874 +(let (($x4629 (fun_app$ v_b_Visited_G_1$ ?v0!20)))
 39.2875 +(let (($x5238 (= ?v0!20 v_b_v_G_1$)))
 39.2876 +(let (($x10274 (or $x5238 $x4629)))
 39.2877 +(let (($x10073 (= $x5237 $x10274)))
 39.2878 +(let (($x10506 (or $x4134 $x10073)))
 39.2879 +(let ((@x10500 (monotonicity (rewrite (= (ite $x5238 true $x4629) $x10274)) (= (= $x5237 (ite $x5238 true $x4629)) $x10073))))
 39.2880 +(let ((@x10183 (monotonicity @x10500 (= (or $x4134 (= $x5237 (ite $x5238 true $x4629))) $x10506))))
 39.2881 +(let ((@x10372 (trans @x10183 (rewrite (= $x10506 $x10506)) (= (or $x4134 (= $x5237 (ite $x5238 true $x4629))) $x10506))))
 39.2882 +(let ((@x10020 (mp ((_ quant-inst v_b_Visited_G_1$ v_b_v_G_1$ true ?v0!20) (or $x4134 (= $x5237 (ite $x5238 true $x4629)))) @x10372 $x10506)))
 39.2883 +(let ((?x4454 (pair$ v_b_v_G_1$ ?v0!20)))
 39.2884 +(let ((?x4455 (b_G$ ?x4454)))
 39.2885 +(let ((?x4507 (+ ?x254 ?x1907 ?x4455)))
 39.2886 +(let (($x4527 (<= ?x4507 0)))
 39.2887 +(let (($x8001 (= ?x4507 0)))
 39.2888 +(let ((?x9161 (+ ?x254 ?x4438 ?x4455)))
 39.2889 +(let (($x9165 (>= ?x9161 0)))
 39.2890 +(let ((?x4456 (* (- 1) ?x4455)))
 39.2891 +(let ((?x4457 (+ b_Infinity$ ?x4456)))
 39.2892 +(let (($x4458 (<= ?x4457 0)))
 39.2893 +(let (($x8810 (or $x4458 $x9165)))
 39.2894 +(let (($x8814 (not $x8810)))
 39.2895 +(let (($x8919 (or $x8814 $x4420)))
 39.2896 +(let (($x8679 (or $x3678 $x8814 $x4420)))
 39.2897 +(let (($x4463 (or (not (or $x4458 (<= (+ ?x4413 ?x1168 ?x4456) 0))) $x4420)))
 39.2898 +(let (($x9386 (or $x3678 $x4463)))
 39.2899 +(let ((@x9164 (monotonicity (rewrite (= (+ ?x4413 ?x1168 ?x4456) (+ ?x1168 ?x4413 ?x4456))) (= (<= (+ ?x4413 ?x1168 ?x4456) 0) (<= (+ ?x1168 ?x4413 ?x4456) 0)))))
 39.2900 +(let ((@x8891 (trans @x9164 (rewrite (= (<= (+ ?x1168 ?x4413 ?x4456) 0) $x9165)) (= (<= (+ ?x4413 ?x1168 ?x4456) 0) $x9165))))
 39.2901 +(let ((@x8813 (monotonicity @x8891 (= (or $x4458 (<= (+ ?x4413 ?x1168 ?x4456) 0)) $x8810))))
 39.2902 +(let ((@x8815 (monotonicity @x8813 (= (not (or $x4458 (<= (+ ?x4413 ?x1168 ?x4456) 0))) $x8814))))
 39.2903 +(let ((@x9295 (monotonicity (monotonicity @x8815 (= $x4463 $x8919)) (= $x9386 (or $x3678 $x8919)))))
 39.2904 +(let ((@x9441 (mp ((_ quant-inst ?v0!20) $x9386) (trans @x9295 (rewrite (= (or $x3678 $x8919) $x8679)) (= $x9386 $x8679)) $x8679)))
 39.2905 +(let ((@x9984 (unit-resolution (def-axiom (or $x8810 (not $x4458))) (hypothesis $x8814) (not $x4458))))
 39.2906 +(let ((@x9985 (unit-resolution (def-axiom (or $x8810 (not $x9165))) (hypothesis $x8814) (not $x9165))))
 39.2907 +(let (($x8926 (or $x4458 $x9165 $x8001)))
 39.2908 +(let (($x8928 (or $x3670 $x4458 $x9165 $x8001)))
 39.2909 +(let (($x4460 (<= (+ ?x4413 ?x1168 ?x4456) 0)))
 39.2910 +(let (($x4506 (or $x4458 $x4460 (= (+ ?x254 ?x4455 ?x1907) 0))))
 39.2911 +(let (($x8929 (or $x3670 $x4506)))
 39.2912 +(let ((@x8925 (monotonicity (rewrite (= (+ ?x254 ?x4455 ?x1907) ?x4507)) (= (= (+ ?x254 ?x4455 ?x1907) 0) $x8001))))
 39.2913 +(let ((@x8953 (monotonicity (monotonicity @x8891 @x8925 (= $x4506 $x8926)) (= $x8929 (or $x3670 $x8926)))))
 39.2914 +(let ((@x8682 (mp ((_ quant-inst ?v0!20) $x8929) (trans @x8953 (rewrite (= (or $x3670 $x8926) $x8928)) (= $x8929 $x8928)) $x8928)))
 39.2915 +(let ((@x9987 (unit-resolution (unit-resolution @x8682 @x4789 $x8926) @x9985 @x9984 (hypothesis (not $x8001)) false)))
 39.2916 +(let ((@x10276 (unit-resolution (lemma @x9987 (or $x8810 $x8001)) (unit-resolution (unit-resolution @x9441 @x4803 $x8919) @x10024 $x8814) $x8001)))
 39.2917 +(let ((?x4401 (+ ?x1906 ?x3064)))
 39.2918 +(let (($x6992 (<= ?x4401 0)))
 39.2919 +(let ((?x4566 (+ ?x1906 ?x3064 ?x4456)))
 39.2920 +(let (($x6987 (= ?x4566 0)))
 39.2921 +(let (($x4590 (>= ?x4566 0)))
 39.2922 +(let ((@x9966 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1) (or (not $x4527) $x4590 (not $x3906))) @x6160 (or (not $x4527) $x4590))))
 39.2923 +(let (($x4589 (<= ?x4566 0)))
 39.2924 +(let (($x4181 (>= ?x3063 0)))
 39.2925 +(let (($x6279 (or $x3703 $x4181)))
 39.2926 +(let ((@x6374 ((_ quant-inst v_b_v_G_1$) $x6279)))
 39.2927 +(let ((@x9257 (unit-resolution @x6374 (unit-resolution (def-axiom (or $x3756 $x3698)) @x8979 $x3698) $x4181)))
 39.2928 +(let (($x4146 (fun_app$ v_b_Visited_G_2$ v_b_v_G_1$)))
 39.2929 +(let (($x3097 (fun_app$ ?x260 v_b_v_G_1$)))
 39.2930 +(let (($x3456 (forall ((?v0 B_Vertex_bool_fun$) (?v1 B_Vertex$) (?v2 Bool) )(! (= (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v1) ?v2) :pattern ( (fun_upd$ ?v0 ?v1 ?v2) ) :qid k!33))
 39.2931 +))
 39.2932 +(let (($x55 (forall ((?v0 B_Vertex_bool_fun$) (?v1 B_Vertex$) (?v2 Bool) )(! (= (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v1) ?v2) :qid k!33))
 39.2933 +))
 39.2934 +(let (($x52 (= (fun_app$ (fun_upd$ ?2 ?1 ?0) ?1) ?0)))
 39.2935 +(let (($x50 (forall ((?v0 B_Vertex_bool_fun$) (?v1 B_Vertex$) (?v2 Bool) )(! (= (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v1) ?v2) :qid k!33))
 39.2936 +))
 39.2937 +(let ((@x54 (rewrite (= (= (fun_app$ (fun_upd$ ?2 ?1 ?0) ?1) ?0) $x52))))
 39.2938 +(let ((@x1427 (mp~ (mp (asserted $x50) (quant-intro @x54 (= $x50 $x55)) $x55) (nnf-pos (refl (~ $x52 $x52)) (~ $x55 $x55)) $x55)))
 39.2939 +(let ((@x3461 (mp @x1427 (quant-intro (refl (= $x52 $x52)) (= $x55 $x3456)) $x3456)))
 39.2940 +(let (($x4383 (or (not $x3456) $x3097)))
 39.2941 +(let ((@x4480 (monotonicity (rewrite (= (= $x3097 true) $x3097)) (= (or (not $x3456) (= $x3097 true)) $x4383))))
 39.2942 +(let ((@x4483 (trans @x4480 (rewrite (= $x4383 $x4383)) (= (or (not $x3456) (= $x3097 true)) $x4383))))
 39.2943 +(let ((@x4484 (mp ((_ quant-inst v_b_Visited_G_1$ v_b_v_G_1$ true) (or (not $x3456) (= $x3097 true))) @x4483 $x4383)))
 39.2944 +(let ((@x9972 (mp (unit-resolution @x4484 @x3461 $x3097) (monotonicity @x6739 (= $x3097 $x4146)) $x4146)))
 39.2945 +(let ((@x5439 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x4590 $x4589)) (hypothesis (not $x4589)) $x4590)))
 39.2946 +(let (($x4147 (not $x4146)))
 39.2947 +(let (($x5371 (or $x3720 $x4147 $x4458 $x4589)))
 39.2948 +(let ((?x5354 (+ ?x4455 ?x3063 ?x1907)))
 39.2949 +(let (($x5355 (>= ?x5354 0)))
 39.2950 +(let (($x5358 (or $x4147 $x4458 $x5355)))
 39.2951 +(let (($x5372 (or $x3720 $x5358)))
 39.2952 +(let ((@x5363 (monotonicity (rewrite (= ?x5354 (+ ?x1907 ?x3063 ?x4455))) (= $x5355 (>= (+ ?x1907 ?x3063 ?x4455) 0)))))
 39.2953 +(let ((@x5367 (trans @x5363 (rewrite (= (>= (+ ?x1907 ?x3063 ?x4455) 0) $x4589)) (= $x5355 $x4589))))
 39.2954 +(let ((@x5376 (monotonicity (monotonicity @x5367 (= $x5358 (or $x4147 $x4458 $x4589))) (= $x5372 (or $x3720 (or $x4147 $x4458 $x4589))))))
 39.2955 +(let ((@x5380 (trans @x5376 (rewrite (= (or $x3720 (or $x4147 $x4458 $x4589)) $x5371)) (= $x5372 $x5371))))
 39.2956 +(let ((@x5381 (mp ((_ quant-inst ?v0!20 v_b_v_G_1$) $x5372) @x5380 $x5371)))
 39.2957 +(let ((@x5443 (unit-resolution @x5381 (hypothesis $x3715) (hypothesis $x4146) (hypothesis (not $x4589)) $x4458)))
 39.2958 +(let ((@x5447 (lemma ((_ th-lemma arith farkas 1 1 1 1) @x5443 (hypothesis $x4181) @x5439 (hypothesis $x1910) false) (or $x4589 (not $x4181) $x1909 $x3720 $x4147))))
 39.2959 +(let ((@x9976 (unit-resolution (unit-resolution @x5447 @x9972 (or $x4589 (not $x4181) $x1909 $x3720)) @x9257 (or $x4589 $x1909 $x3720))))
 39.2960 +(let ((@x9977 (unit-resolution @x9976 (unit-resolution (def-axiom (or $x3732 $x3715)) @x9455 $x3715) @x9475 $x4589)))
 39.2961 +(let ((@x9991 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x6987 (not $x4589) (not $x4590))) @x9977 (or $x6987 (not $x4590)))))
 39.2962 +(let ((@x9992 (unit-resolution @x9991 (unit-resolution @x9966 (hypothesis $x4527) $x4590) $x6987)))
 39.2963 +(let (($x7023 (not $x6987)))
 39.2964 +(let (($x6921 (or $x3729 $x6992 $x4147 $x7023)))
 39.2965 +(let (($x4536 (>= (+ ?x3063 ?x1907) 0)))
 39.2966 +(let (($x4548 (or $x4536 $x4147 (not (= (+ ?x3063 ?x1907 ?x4455) 0)))))
 39.2967 +(let (($x8524 (or $x3729 $x4548)))
 39.2968 +(let ((@x7245 (monotonicity (rewrite (= (+ ?x3063 ?x1907 ?x4455) (+ ?x1907 ?x3063 ?x4455))) (= (= (+ ?x3063 ?x1907 ?x4455) 0) (= (+ ?x1907 ?x3063 ?x4455) 0)))))
 39.2969 +(let ((@x7022 (trans @x7245 (rewrite (= (= (+ ?x1907 ?x3063 ?x4455) 0) $x6987)) (= (= (+ ?x3063 ?x1907 ?x4455) 0) $x6987))))
 39.2970 +(let ((@x7049 (monotonicity (rewrite (= (+ ?x3063 ?x1907) (+ ?x1907 ?x3063))) (= $x4536 (>= (+ ?x1907 ?x3063) 0)))))
 39.2971 +(let ((@x8373 (trans @x7049 (rewrite (= (>= (+ ?x1907 ?x3063) 0) $x6992)) (= $x4536 $x6992))))
 39.2972 +(let ((@x7936 (monotonicity @x8373 (monotonicity @x7022 (= (not (= (+ ?x3063 ?x1907 ?x4455) 0)) $x7023)) (= $x4548 (or $x6992 $x4147 $x7023)))))
 39.2973 +(let ((@x8581 (trans (monotonicity @x7936 (= $x8524 (or $x3729 (or $x6992 $x4147 $x7023)))) (rewrite (= (or $x3729 (or $x6992 $x4147 $x7023)) $x6921)) (= $x8524 $x6921))))
 39.2974 +(let ((@x8053 (mp ((_ quant-inst v_b_v_G_1$) $x8524) @x8581 $x6921)))
 39.2975 +(let ((@x9995 (unit-resolution @x8053 (unit-resolution (def-axiom (or $x3732 $x3724)) @x9455 $x3724) @x9972 (or $x6992 $x7023))))
 39.2976 +(let (($x5406 (<= ?x4455 0)))
 39.2977 +(let (($x5407 (not $x5406)))
 39.2978 +(let (($x5405 (= v_b_v_G_1$ ?v0!20)))
 39.2979 +(let (($x5409 (not $x5405)))
 39.2980 +(let ((@x10003 (monotonicity (symm (commutativity (= $x5405 $x5238)) (= $x5238 $x5405)) (= (not $x5238) $x5409))))
 39.2981 +(let (($x5408 (or $x5405 $x5407)))
 39.2982 +(let (($x3099 (not $x3475)))
 39.2983 +(let (($x9955 (or $x3099 $x5405 $x5407)))
 39.2984 +(let ((@x9962 (mp ((_ quant-inst v_b_v_G_1$ ?v0!20) (or $x3099 $x5408)) (rewrite (= (or $x3099 $x5408) $x9955)) $x9955)))
 39.2985 +(let ((@x10006 (unit-resolution (unit-resolution @x9962 @x3480 $x5408) (mp (hypothesis (not $x5238)) @x10003 $x5409) $x5407)))
 39.2986 +(let ((@x10007 ((_ th-lemma arith farkas -1 -1 1 1) @x6160 @x10006 (hypothesis $x4527) (unit-resolution @x9995 @x9992 $x6992) false)))
 39.2987 +(let ((@x10279 (unit-resolution (lemma @x10007 (or (not $x4527) $x5238)) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x8001) $x4527)) @x10276 $x4527) $x5238)))
 39.2988 +(let ((@x10164 (unit-resolution (def-axiom (or (not $x10073) $x5237 (not $x10274))) (unit-resolution (def-axiom (or $x10274 (not $x5238))) @x10279 $x10274) (or (not $x10073) $x5237))))
 39.2989 +(unit-resolution (unit-resolution @x10164 (unit-resolution @x10020 @x3468 $x10073) $x5237) @x10120 false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
 39.2990 +
 39.2991 +8ec9d30fc9fdbc0ea292e0fdf148a6230c16dbca 2924 0
 39.2992 +unsat
 39.2993 +((set-logic <null>)
 39.2994 +(declare-fun ?v0!15 () Int)
 39.2995 +(declare-fun ?v0!14 () Int)
 39.2996 +(declare-fun ?v0!13 () Int)
 39.2997 +(proof
 39.2998 +(let ((?x10076 (b_S_array$ b_T_T_u1$ v_b_P_H_len$)))
 39.2999 +(let ((?x22595 (b_S_ptr$ ?x10076 v_b_P_H_arr$)))
 39.3000 +(let ((?x24598 (b_S_idx$ ?x22595 v_b_L_H_p_G_0$ b_T_T_u1$)))
 39.3001 +(let ((?x10272 (b_S_typemap$ v_b_S_s$)))
 39.3002 +(let ((?x24302 (b_S_select_o_tm$ ?x10272 ?x24598)))
 39.3003 +(let ((?x24605 (b_S_ts_n_emb$ ?x24302)))
 39.3004 +(let (($x24606 (= ?x24605 ?x22595)))
 39.3005 +(let (($x24611 (b_S_typed$ v_b_S_s$ ?x24598)))
 39.3006 +(let (($x24614 (not $x24611)))
 39.3007 +(let (($x24608 (b_S_ts_n_is_n_volatile$ ?x24302)))
 39.3008 +(let (($x24607 (not $x24606)))
 39.3009 +(let (($x24615 (or $x24607 $x24608 (not (b_S_ts_n_is_n_array_n_elt$ ?x24302)) $x24614)))
 39.3010 +(let (($x24616 (not $x24615)))
 39.3011 +(let (($x11901 (>= v_b_L_H_p_G_0$ 0)))
 39.3012 +(let (($x20030 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
 39.3013 +(let (($x10238 (= ?x10163 v_b_S_result_G_0$)))
 39.3014 +(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
 39.3015 +(let (($x12168 (<= ?v0 4294967295)))
 39.3016 +(let (($x16553 (not $x12168)))
 39.3017 +(let (($x2815 (>= ?v0 0)))
 39.3018 +(let (($x3763 (not $x2815)))
 39.3019 +(or $x3763 $x16553 $x11800 (not $x10238))))))))) :pattern ( (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$) ) :qid k!704))
 39.3020 +))
 39.3021 +(let (($x20035 (not $x20030)))
 39.3022 +(let (($x20022 (forall ((?v0 Int) )(! (let ((?x11816 (* (- 1) v_b_S_result_G_0$)))
 39.3023 +(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
 39.3024 +(let (($x11818 (<= (+ ?x10163 ?x11816) 0)))
 39.3025 +(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
 39.3026 +(let (($x12168 (<= ?v0 4294967295)))
 39.3027 +(let (($x16553 (not $x12168)))
 39.3028 +(let (($x2815 (>= ?v0 0)))
 39.3029 +(let (($x3763 (not $x2815)))
 39.3030 +(or $x3763 $x16553 $x11800 $x11818))))))))) :pattern ( (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$) ) :qid k!704))
 39.3031 +))
 39.3032 +(let (($x20027 (not $x20022)))
 39.3033 +(let (($x20038 (or $x20027 $x20035)))
 39.3034 +(let (($x20041 (not $x20038)))
 39.3035 +(let ((?x10078 (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$)))
 39.3036 +(let ((?x15743 (b_S_idx$ ?x10078 ?v0!15 b_T_T_u1$)))
 39.3037 +(let ((?x15744 (b_S_read_n_u1$ v_b_S_s$ ?x15743)))
 39.3038 +(let ((?x16029 (* (- 1) ?x15744)))
 39.3039 +(let (($x16031 (>= (+ v_b_S_result_G_0$ ?x16029) 0)))
 39.3040 +(let (($x16009 (<= (+ v_b_P_H_len$ (* (- 1) ?v0!15)) 0)))
 39.3041 +(let (($x15737 (<= ?v0!15 4294967295)))
 39.3042 +(let (($x19560 (not $x15737)))
 39.3043 +(let (($x15736 (>= ?v0!15 0)))
 39.3044 +(let (($x19559 (not $x15736)))
 39.3045 +(let (($x19575 (or $x19559 $x19560 $x16009 $x16031)))
 39.3046 +(let (($x19580 (not $x19575)))
 39.3047 +(let (($x20044 (or $x19580 $x20041)))
 39.3048 +(let (($x20047 (not $x20044)))
 39.3049 +(let (($x10222 (= v_b_S_result_G_0$ v_b_L_H_max_G_1$)))
 39.3050 +(let (($x19640 (not $x10222)))
 39.3051 +(let (($x10220 (= v_b_SL_H_witness_G_2$ v_b_SL_H_witness_G_0$)))
 39.3052 +(let (($x19639 (not $x10220)))
 39.3053 +(let (($x10218 (= v_b_L_H_p_G_2$ v_b_L_H_p_G_0$)))
 39.3054 +(let (($x19638 (not $x10218)))
 39.3055 +(let (($x10216 (= v_b_L_H_max_G_4$ v_b_L_H_max_G_1$)))
 39.3056 +(let (($x19637 (not $x10216)))
 39.3057 +(let (($x11432 (>= v_b_SL_H_witness_G_0$ 0)))
 39.3058 +(let (($x19501 (not $x11432)))
 39.3059 +(let (($x11429 (>= v_b_L_H_p_G_0$ 1)))
 39.3060 +(let (($x19474 (not $x11429)))
 39.3061 +(let (($x15729 (not b_S_position_n_marker$)))
 39.3062 +(let (($x20050 (or $x15729 $x19474 $x19501 $x19637 $x19638 $x19639 $x19640 $x20047)))
 39.3063 +(let (($x20053 (not $x20050)))
 39.3064 +(let (($x20056 (or $x15729 $x20053)))
 39.3065 +(let (($x20059 (not $x20056)))
 39.3066 +(let ((?x11484 (* (- 1) v_b_L_H_p_G_0$)))
 39.3067 +(let ((?x11485 (+ v_b_P_H_len$ ?x11484)))
 39.3068 +(let (($x11486 (<= ?x11485 0)))
 39.3069 +(let (($x11487 (not $x11486)))
 39.3070 +(let (($x20062 (or $x11487 $x19474 $x19501 $x20059)))
 39.3071 +(let (($x20065 (not $x20062)))
 39.3072 +(let ((?x10372 (b_S_idx$ ?x10078 v_b_SL_H_witness_G_1$ b_T_T_u1$)))
 39.3073 +(let ((?x10373 (b_S_read_n_u1$ v_b_S_s$ ?x10372)))
 39.3074 +(let (($x10374 (= ?x10373 v_b_L_H_max_G_3$)))
 39.3075 +(let (($x19411 (not $x10374)))
 39.3076 +(let (($x11647 (<= (+ v_b_P_H_len$ (* (- 1) v_b_SL_H_witness_G_1$)) 0)))
 39.3077 +(let (($x19412 (or $x11647 $x19411)))
 39.3078 +(let (($x19413 (not $x19412)))
 39.3079 +(let (($x19906 (forall ((?v0 Int) )(! (let ((?x11631 (* (- 1) v_b_L_H_max_G_3$)))
 39.3080 +(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
 39.3081 +(let (($x11633 (<= (+ ?x10163 ?x11631) 0)))
 39.3082 +(let (($x11615 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_1$)) 0)))
 39.3083 +(let (($x12168 (<= ?v0 4294967295)))
 39.3084 +(let (($x16553 (not $x12168)))
 39.3085 +(let (($x2815 (>= ?v0 0)))
 39.3086 +(let (($x3763 (not $x2815)))
 39.3087 +(or $x3763 $x16553 $x11615 $x11633))))))))) :pattern ( (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$) ) :qid k!704))
 39.3088 +))
 39.3089 +(let (($x19911 (not $x19906)))
 39.3090 +(let (($x19914 (or $x19911 $x19413)))
 39.3091 +(let (($x19917 (not $x19914)))
 39.3092 +(let ((?x15633 (b_S_idx$ ?x10078 ?v0!14 b_T_T_u1$)))
 39.3093 +(let ((?x15634 (b_S_read_n_u1$ v_b_S_s$ ?x15633)))
 39.3094 +(let ((?x15891 (* (- 1) ?x15634)))
 39.3095 +(let (($x15893 (>= (+ v_b_L_H_max_G_3$ ?x15891) 0)))
 39.3096 +(let (($x15871 (<= (+ v_b_L_H_p_G_1$ (* (- 1) ?v0!14)) 0)))
 39.3097 +(let (($x15627 (<= ?v0!14 4294967295)))
 39.3098 +(let (($x19366 (not $x15627)))
 39.3099 +(let (($x15626 (>= ?v0!14 0)))
 39.3100 +(let (($x19365 (not $x15626)))
 39.3101 +(let (($x19381 (or $x19365 $x19366 $x15871 $x15893)))
 39.3102 +(let (($x19386 (not $x19381)))
 39.3103 +(let (($x19920 (or $x19386 $x19917)))
 39.3104 +(let (($x19923 (not $x19920)))
 39.3105 +(let (($x11608 (>= (+ v_b_P_H_len$ (* (- 1) v_b_L_H_p_G_1$)) 0)))
 39.3106 +(let (($x11612 (not $x11608)))
 39.3107 +(let (($x19926 (or $x11612 $x19923)))
 39.3108 +(let (($x19929 (not $x19926)))
 39.3109 +(let (($x19932 (or $x11612 $x19929)))
 39.3110 +(let (($x19935 (not $x19932)))
 39.3111 +(let (($x11536 (>= v_b_SL_H_witness_G_1$ 0)))
 39.3112 +(let (($x19455 (not $x11536)))
 39.3113 +(let (($x11578 (>= v_b_L_H_p_G_1$ 2)))
 39.3114 +(let (($x19454 (not $x11578)))
 39.3115 +(let (($x10358 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_24$ b_H_loc_o_p$ v_b_L_H_p_G_1$ b_T_T_u4$)))
 39.3116 +(let (($x19453 (not $x10358)))
 39.3117 +(let ((?x11581 (* (- 1) v_b_L_H_p_G_1$)))
 39.3118 +(let ((?x11582 (+ v_b_L_H_p_G_0$ ?x11581)))
 39.3119 +(let (($x11580 (= ?x11582 (- 1))))
 39.3120 +(let (($x19452 (not $x11580)))
 39.3121 +(let (($x13353 (<= v_b_L_H_p_G_0$ 4294967294)))
 39.3122 +(let (($x15614 (not $x13353)))
 39.3123 +(let (($x11570 (>= v_b_L_H_p_G_0$ (- 1))))
 39.3124 +(let (($x15611 (not $x11570)))
 39.3125 +(let (($x19938 (or $x15611 $x15614 $x19452 $x19453 $x19454 $x19455 $x19935)))
 39.3126 +(let (($x19941 (not $x19938)))
 39.3127 +(let (($x19944 (or $x15611 $x15614 $x19941)))
 39.3128 +(let (($x19947 (not $x19944)))
 39.3129 +(let (($x10392 (= v_b_SL_H_witness_G_1$ v_b_SL_H_witness_G_0$)))
 39.3130 +(let (($x19513 (not $x10392)))
 39.3131 +(let (($x10391 (= v_b_L_H_max_G_3$ v_b_L_H_max_G_1$)))
 39.3132 +(let (($x19512 (not $x10391)))
 39.3133 +(let ((?x10320 (b_S_idx$ ?x10078 v_b_L_H_p_G_0$ b_T_T_u1$)))
 39.3134 +(let ((?x10327 (b_S_read_n_u1$ v_b_S_s$ ?x10320)))
 39.3135 +(let ((?x11517 (* (- 1) ?x10327)))
 39.3136 +(let (($x11516 (>= (+ v_b_L_H_max_G_1$ ?x11517) 0)))
 39.3137 +(let (($x11515 (not $x11516)))
 39.3138 +(let (($x19980 (or $x11515 $x19501 $x19512 $x19513 $x19474 $x19455 $x19947)))
 39.3139 +(let (($x19983 (not $x19980)))
 39.3140 +(let (($x10340 (= v_b_SL_H_witness_G_1$ v_b_L_H_p_G_0$)))
 39.3141 +(let (($x19473 (not $x10340)))
 39.3142 +(let (($x10338 (= v_b_L_H_max_G_3$ v_b_L_H_max_G_2$)))
 39.3143 +(let (($x19472 (not $x10338)))
 39.3144 +(let (($x10335 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_24_o_47$ b_H_loc_o_witness$ v_b_L_H_p_G_0$ b_T_T_u4$)))
 39.3145 +(let (($x19471 (not $x10335)))
 39.3146 +(let (($x10334 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_23_o_7$ b_H_loc_o_max$ v_b_L_H_max_G_2$ b_T_T_u1$)))
 39.3147 +(let (($x19470 (not $x10334)))
 39.3148 +(let (($x10333 (= v_b_L_H_max_G_2$ ?x10327)))
 39.3149 +(let (($x19469 (not $x10333)))
 39.3150 +(let (($x10324 (b_S_thread_n_local$ v_b_S_s$ ?x10320)))
 39.3151 +(let (($x15599 (not $x10324)))
 39.3152 +(let (($x10321 (b_S_is$ ?x10320 b_T_T_u1$)))
 39.3153 +(let (($x15590 (not $x10321)))
 39.3154 +(let (($x19950 (or $x15590 $x15599 $x19469 $x19470 $x19471 $x19472 $x19473 $x19474 $x19455 $x19947)))
 39.3155 +(let (($x19953 (not $x19950)))
 39.3156 +(let (($x19956 (or $x15590 $x15599 $x19953)))
 39.3157 +(let (($x19959 (not $x19956)))
 39.3158 +(let (($x10322 (b_S_typed$ v_b_S_s$ ?x10320)))
 39.3159 +(let (($x15593 (not $x10322)))
 39.3160 +(let (($x19962 (or $x15590 $x15593 $x19959)))
 39.3161 +(let (($x19965 (not $x19962)))
 39.3162 +(let (($x19968 (or $x15590 $x15593 $x19965)))
 39.3163 +(let (($x19971 (not $x19968)))
 39.3164 +(let (($x19974 (or $x11516 $x19474 $x19501 $x19971)))
 39.3165 +(let (($x19977 (not $x19974)))
 39.3166 +(let (($x19986 (or $x19977 $x19983)))
 39.3167 +(let (($x19989 (not $x19986)))
 39.3168 +(let (($x19992 (or $x15590 $x15599 $x19474 $x19501 $x19989)))
 39.3169 +(let (($x19995 (not $x19992)))
 39.3170 +(let (($x19998 (or $x15590 $x15599 $x19995)))
 39.3171 +(let (($x20001 (not $x19998)))
 39.3172 +(let (($x20004 (or $x15590 $x15593 $x20001)))
 39.3173 +(let (($x20007 (not $x20004)))
 39.3174 +(let (($x20010 (or $x15590 $x15593 $x20007)))
 39.3175 +(let (($x20013 (not $x20010)))
 39.3176 +(let (($x20016 (or $x11486 $x19474 $x19501 $x20013)))
 39.3177 +(let (($x20019 (not $x20016)))
 39.3178 +(let (($x20068 (or $x20019 $x20065)))
 39.3179 +(let (($x20071 (not $x20068)))
 39.3180 +(let ((?x2238 (b_S_ptr_n_to$ b_T_T_u1$)))
 39.3181 +(let (($x10296 (b_S_local_n_value_n_is_n_ptr$ v_b_S_s$ b_H_tok_S_1_T_16_o_3$ b_H_loc_o_arr$ ?x10078 ?x2238)))
 39.3182 +(let (($x19683 (not $x10296)))
 39.3183 +(let ((?x10105 (b_S_ptr_n_to_n_int$ ?x10078)))
 39.3184 +(let (($x10295 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_3$ b_H_loc_o_arr$ ?x10105 ?x2238)))
 39.3185 +(let (($x19682 (not $x10295)))
 39.3186 +(let (($x10294 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_3$ b_H_loc_o_len$ v_b_P_H_len$ b_T_T_u4$)))
 39.3187 +(let (($x19681 (not $x10294)))
 39.3188 +(let (($x10293 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_3$ b_H_loc_o_max$ v_b_L_H_max_G_1$ b_T_T_u1$)))
 39.3189 +(let (($x19680 (not $x10293)))
 39.3190 +(let (($x10292 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_3$ b_H_loc_o_witness$ v_b_SL_H_witness_G_0$ b_T_T_u4$)))
 39.3191 +(let (($x19679 (not $x10292)))
 39.3192 +(let (($x10291 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_3$ b_H_loc_o_p$ v_b_L_H_p_G_0$ b_T_T_u4$)))
 39.3193 +(let (($x19678 (not $x10291)))
 39.3194 +(let (($x10097 (b_S_full_n_stop$ v_b_S_s$)))
 39.3195 +(let (($x19677 (not $x10097)))
 39.3196 +(let (($x10204 (b_S_good_n_state_n_ext$ b_H_tok_S_1_T_16_o_3$ v_b_S_s$)))
 39.3197 +(let (($x19676 (not $x10204)))
 39.3198 +(let (($x10284 (b_S_call_n_transition$ v_b_S_s$ v_b_S_s$)))
 39.3199 +(let (($x19675 (not $x10284)))
 39.3200 +(let ((?x10190 (b_S_idx$ ?x10078 v_b_SL_H_witness_G_0$ b_T_T_u1$)))
 39.3201 +(let ((?x10191 (b_S_read_n_u1$ v_b_S_s$ ?x10190)))
 39.3202 +(let (($x10192 (= ?x10191 v_b_L_H_max_G_1$)))
 39.3203 +(let (($x19674 (not $x10192)))
 39.3204 +(let (($x11867 (<= (+ v_b_P_H_len$ (* (- 1) v_b_SL_H_witness_G_0$)) 0)))
 39.3205 +(let (($x19898 (forall ((?v0 Int) )(! (let ((?x11887 (* (- 1) v_b_L_H_max_G_1$)))
 39.3206 +(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
 39.3207 +(let (($x11889 (<= (+ ?x10163 ?x11887) 0)))
 39.3208 +(let (($x11871 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_0$)) 0)))
 39.3209 +(let (($x12168 (<= ?v0 4294967295)))
 39.3210 +(let (($x16553 (not $x12168)))
 39.3211 +(let (($x2815 (>= ?v0 0)))
 39.3212 +(let (($x3763 (not $x2815)))
 39.3213 +(or $x3763 $x16553 $x11871 $x11889))))))))) :pattern ( (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$) ) :qid k!704))
 39.3214 +))
 39.3215 +(let (($x19903 (not $x19898)))
 39.3216 +(let (($x11898 (>= ?x11485 0)))
 39.3217 +(let (($x19672 (not $x11898)))
 39.3218 +(let (($x13326 (<= v_b_L_H_p_G_0$ 4294967295)))
 39.3219 +(let (($x19671 (not $x13326)))
 39.3220 +(let (($x19670 (not $x11901)))
 39.3221 +(let (($x13315 (<= v_b_SL_H_witness_G_0$ 4294967295)))
 39.3222 +(let (($x19669 (not $x13315)))
 39.3223 +(let (($x13304 (<= v_b_L_H_max_G_1$ 255)))
 39.3224 +(let (($x19668 (not $x13304)))
 39.3225 +(let (($x11911 (>= v_b_L_H_max_G_1$ 0)))
 39.3226 +(let (($x19667 (not $x11911)))
 39.3227 +(let ((?x10137 (b_S_idx$ ?x10078 0 b_T_T_u1$)))
 39.3228 +(let ((?x10144 (b_S_read_n_u1$ v_b_S_s$ ?x10137)))
 39.3229 +(let (($x10167 (= ?x10144 v_b_L_H_max_G_0$)))
 39.3230 +(let (($x15548 (not $x10167)))
 39.3231 +(let (($x11259 (<= v_b_P_H_len$ 0)))
 39.3232 +(let (($x20074 (or $x11259 $x15548 $x19667 $x19668 $x19669 $x19670 $x19671 $x19672 $x19903 $x11867 $x19674 $x19675 $x19676 $x19677 $x19678 $x19679 $x19680 $x19681 $x19682 $x19683 $x19474 $x19501 $x20071)))
 39.3233 +(let (($x20077 (not $x20074)))
 39.3234 +(let (($x10145 (= v_b_L_H_max_G_0$ ?x10144)))
 39.3235 +(let (($x20080 (or $x11259 $x15548 $x20077)))
 39.3236 +(let (($x20083 (not $x20080)))
 39.3237 +(let (($x19890 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
 39.3238 +(let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0)))
 39.3239 +(let (($x11388 (>= ?v0 1)))
 39.3240 +(let (($x12168 (<= ?v0 4294967295)))
 39.3241 +(let (($x16553 (not $x12168)))
 39.3242 +(let (($x2815 (>= ?v0 0)))
 39.3243 +(let (($x3763 (not $x2815)))
 39.3244 +(or $x3763 $x16553 $x11388 $x11404)))))))) :pattern ( (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$) ) :qid k!704))
 39.3245 +))
 39.3246 +(let (($x19895 (not $x19890)))
 39.3247 +(let (($x20086 (or $x19895 $x20083)))
 39.3248 +(let (($x20089 (not $x20086)))
 39.3249 +(let ((?x15529 (b_S_idx$ ?x10078 ?v0!13 b_T_T_u1$)))
 39.3250 +(let ((?x15530 (b_S_read_n_u1$ v_b_S_s$ ?x15529)))
 39.3251 +(let ((?x15531 (* (- 1) ?x15530)))
 39.3252 +(let (($x15533 (>= (+ v_b_L_H_max_G_0$ ?x15531) 0)))
 39.3253 +(let (($x15525 (>= ?v0!13 1)))
 39.3254 +(let (($x15524 (<= ?v0!13 4294967295)))
 39.3255 +(let (($x19298 (not $x15524)))
 39.3256 +(let (($x15523 (>= ?v0!13 0)))
 39.3257 +(let (($x19297 (not $x15523)))
 39.3258 +(let (($x19313 (or $x19297 $x19298 $x15525 $x15533)))
 39.3259 +(let (($x19318 (not $x19313)))
 39.3260 +(let (($x20092 (or $x19318 $x20089)))
 39.3261 +(let (($x20095 (not $x20092)))
 39.3262 +(let (($x11382 (>= v_b_P_H_len$ 1)))
 39.3263 +(let (($x11385 (not $x11382)))
 39.3264 +(let (($x20098 (or $x11385 $x20095)))
 39.3265 +(let (($x20101 (not $x20098)))
 39.3266 +(let (($x20104 (or $x11385 $x20101)))
 39.3267 +(let (($x20107 (not $x20104)))
 39.3268 +(let (($x10148 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_8$ b_H_loc_o_p$ 1 b_T_T_u4$)))
 39.3269 +(let (($x19727 (not $x10148)))
 39.3270 +(let (($x10147 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_14_o_3$ b_H_loc_o_witness$ 0 b_T_T_u4$)))
 39.3271 +(let (($x19726 (not $x10147)))
 39.3272 +(let (($x10146 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_12_o_3$ b_H_loc_o_max$ v_b_L_H_max_G_0$ b_T_T_u1$)))
 39.3273 +(let (($x19725 (not $x10146)))
 39.3274 +(let (($x19724 (not $x10145)))
 39.3275 +(let (($x10141 (b_S_thread_n_local$ v_b_S_s$ ?x10137)))
 39.3276 +(let (($x15511 (not $x10141)))
 39.3277 +(let (($x10138 (b_S_is$ ?x10137 b_T_T_u1$)))
 39.3278 +(let (($x15502 (not $x10138)))
 39.3279 +(let (($x20110 (or $x15502 $x15511 $x19724 $x19725 $x19726 $x19727 $x20107)))
 39.3280 +(let (($x20113 (not $x20110)))
 39.3281 +(let (($x20116 (or $x15502 $x15511 $x20113)))
 39.3282 +(let (($x20119 (not $x20116)))
 39.3283 +(let (($x10139 (b_S_typed$ v_b_S_s$ ?x10137)))
 39.3284 +(let (($x15505 (not $x10139)))
 39.3285 +(let (($x20122 (or $x15502 $x15505 $x20119)))
 39.3286 +(let (($x20125 (not $x20122)))
 39.3287 +(let ((?x22478 (b_S_select_o_tm$ ?x10272 ?x10137)))
 39.3288 +(let (($x22602 (b_S_ts_n_is_n_volatile$ ?x22478)))
 39.3289 +(let (($x22603 (or $x15505 $x22602)))
 39.3290 +(let (($x22604 (not $x22603)))
 39.3291 +(let ((?x10079 (b_S_ref$ ?x10078)))
 39.3292 +(let ((?x10080 (b_S_ptr$ ?x10076 ?x10079)))
 39.3293 +(let ((?x21014 (b_S_ref$ ?x10080)))
 39.3294 +(let ((?x21983 (b_S_ptr$ ?x10076 ?x21014)))
 39.3295 +(let ((?x22343 (b_S_domain$ v_b_S_s$ ?x21983)))
 39.3296 +(let (($x22596 (b_S_set_n_in$ ?x22595 ?x22343)))
 39.3297 +(let (($x21179 (= ?x10079 v_b_P_H_arr$)))
 39.3298 +(let (($x19835 (forall ((?v0 B_S_ctype$) (?v1 Int) )(! (= (b_S_ref$ (b_S_ptr$ ?v0 ?v1)) ?v1) :pattern ( (b_S_ptr$ ?v0 ?v1) ) :qid k!627))
 39.3299 +))
 39.3300 +(let (($x9655 (forall ((?v0 B_S_ctype$) (?v1 Int) )(! (= (b_S_ref$ (b_S_ptr$ ?v0 ?v1)) ?v1) :qid k!627))
 39.3301 +))
 39.3302 +(let (($x9654 (= (b_S_ref$ (b_S_ptr$ ?1 ?0)) ?0)))
 39.3303 +(let ((@x15356 (mp~ (asserted $x9655) (nnf-pos (refl (~ $x9654 $x9654)) (~ $x9655 $x9655)) $x9655)))
 39.3304 +(let ((@x19840 (mp @x15356 (quant-intro (refl (= $x9654 $x9654)) (= $x9655 $x19835)) $x19835)))
 39.3305 +(let (($x21152 (not $x19835)))
 39.3306 +(let (($x21184 (or $x21152 $x21179)))
 39.3307 +(let ((@x21185 ((_ quant-inst b_T_T_u1$ v_b_P_H_arr$) $x21184)))
 39.3308 +(let ((@x23445 (unit-resolution @x21185 @x19840 $x21179)))
 39.3309 +(let ((@x23680 (monotonicity (symm @x23445 (= v_b_P_H_arr$ ?x10079)) (= ?x22595 ?x10080))))
 39.3310 +(let (($x21990 (= ?x10080 ?x21983)))
 39.3311 +(let (($x10084 (b_S_is$ ?x10080 ?x10076)))
 39.3312 +(let (($x11245 (>= (+ b_S_max_o_u4$ (* (- 1) v_b_P_H_len$)) 0)))
 39.3313 +(let (($x11243 (>= v_b_P_H_len$ 0)))
 39.3314 +(let (($x10439 (forall ((?v0 B_S_ptr$) )(! (let (($x10113 (b_S_in_n_writes_n_at$ v_b_H_wrTime_S_1_T_6_o_1$ ?v0)))
 39.3315 +(not $x10113)) :pattern ( (b_S_in_n_writes_n_at$ v_b_H_wrTime_S_1_T_6_o_1$ ?v0) ) :qid k!704))
 39.3316 +))
 39.3317 +(let ((?x10111 (b_S_current_n_timestamp$ v_b_S_s$)))
 39.3318 +(let (($x10112 (= v_b_H_wrTime_S_1_T_6_o_1$ ?x10111)))
 39.3319 +(let (($x10109 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_6_o_1$ b_H_loc_o_len$ v_b_P_H_len$ b_T_T_u4$)))
 39.3320 +(let (($x10107 (b_S_local_n_value_n_is_n_ptr$ v_b_S_s$ b_H_tok_S_1_T_6_o_1$ b_H_loc_o_arr$ ?x10078 ?x2238)))
 39.3321 +(let (($x10106 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_6_o_1$ b_H_loc_o_arr$ ?x10105 ?x2238)))
 39.3322 +(let (($x11256 (forall ((?v0 B_S_pure_n_function$) )(! (let (($x11251 (>= (+ (b_S_frame_n_level$ ?v0) (* (- 1) b_S_current_n_frame_n_level$)) 0)))
 39.3323 +(not $x11251)) :pattern ( (b_S_frame_n_level$ ?v0) ) :qid k!704))
 39.3324 +))
 39.3325 +(let (($x10096 (b_S_good_n_state_n_ext$ b_H_tok_S_1_T_6_o_1$ v_b_S_s$)))
 39.3326 +(let (($x10095 (b_S_function_n_entry$ v_b_S_s$)))
 39.3327 +(let (($x10089 (b_S_is_n_non_n_primitive$ ?x10076)))
 39.3328 +(let ((?x10086 (b_S_kind_n_of$ ?x10076)))
 39.3329 +(let (($x10087 (= ?x10086 b_S_kind_n_primitive$)))
 39.3330 +(let (($x10088 (not $x10087)))
 39.3331 +(let (($x10085 (b_S_typed$ v_b_S_s$ ?x10080)))
 39.3332 +(let ((?x10082 (b_S_owner$ v_b_S_s$ ?x10080)))
 39.3333 +(let (($x10083 (= ?x10082 b_S_me$)))
 39.3334 +(let (($x10081 (b_S_closed$ v_b_S_s$ ?x10080)))
 39.3335 +(let (($x11260 (not $x11259)))
 39.3336 +(let (($x11263 (>= v_b_P_H_len$ 1099511627776)))
 39.3337 +(let (($x11264 (not $x11263)))
 39.3338 +(let (($x11270 (>= (+ b_S_max_o_u4$ (* (- 1) v_b_SL_H_witness$)) 0)))
 39.3339 +(let (($x11268 (>= v_b_SL_H_witness$ 0)))
 39.3340 +(let (($x11278 (>= (+ b_S_max_o_u4$ (* (- 1) v_b_L_H_p$)) 0)))
 39.3341 +(let (($x11276 (>= v_b_L_H_p$ 0)))
 39.3342 +(let (($x11286 (>= (+ b_S_max_o_u1$ (* (- 1) v_b_L_H_max$)) 0)))
 39.3343 +(let (($x11284 (>= v_b_L_H_max$ 0)))
 39.3344 +(let (($x11342 (and $x11284 $x11286 $x11276 $x11278 $x11268 $x11270 $x11264 $x11260 $x10081 $x10083 $x10084 $x10085 $x10088 $x10089 $x10095 $x10096 $x10097 $x11256 $x10106 $x10107 $x10109 $x10112 $x10439 $x11243 $x11245)))
 39.3345 +(let (($x11844 (exists ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
 39.3346 +(let (($x10238 (= ?x10163 v_b_S_result_G_0$)))
 39.3347 +(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
 39.3348 +(let (($x11802 (not $x11800)))
 39.3349 +(let ((?x3113 (* (- 1) b_S_max_o_u4$)))
 39.3350 +(let ((?x3114 (+ ?v0 ?x3113)))
 39.3351 +(let (($x3115 (<= ?x3114 0)))
 39.3352 +(let (($x2815 (>= ?v0 0)))
 39.3353 +(and $x2815 $x3115 $x11802 $x10238))))))))) :qid k!704))
 39.3354 +))
 39.3355 +(let (($x11824 (forall ((?v0 Int) )(! (let ((?x11816 (* (- 1) v_b_S_result_G_0$)))
 39.3356 +(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
 39.3357 +(let (($x11818 (<= (+ ?x10163 ?x11816) 0)))
 39.3358 +(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
 39.3359 +(let (($x11802 (not $x11800)))
 39.3360 +(let ((?x3113 (* (- 1) b_S_max_o_u4$)))
 39.3361 +(let ((?x3114 (+ ?v0 ?x3113)))
 39.3362 +(let (($x3115 (<= ?x3114 0)))
 39.3363 +(let (($x2815 (>= ?v0 0)))
 39.3364 +(let (($x11808 (and $x2815 $x3115 $x11802)))
 39.3365 +(let (($x11813 (not $x11808)))
 39.3366 +(or $x11813 $x11818)))))))))))) :qid k!704))
 39.3367 +))
 39.3368 +(let (($x11827 (not $x11824)))
 39.3369 +(let (($x11847 (or $x11827 $x11844)))
 39.3370 +(let (($x11850 (and $x11824 $x11847)))
 39.3371 +(let (($x11792 (and b_S_position_n_marker$ $x11429 $x11432 $x10216 $x10218 $x10220 $x10222)))
 39.3372 +(let (($x11797 (not $x11792)))
 39.3373 +(let (($x11853 (or $x11797 $x11850)))
 39.3374 +(let (($x11856 (and b_S_position_n_marker$ $x11853)))
 39.3375 +(let (($x11772 (and $x11486 $x11429 $x11432)))
 39.3376 +(let (($x11777 (not $x11772)))
 39.3377 +(let (($x11859 (or $x11777 $x11856)))
 39.3378 +(let (($x11648 (not $x11647)))
 39.3379 +(let (($x11651 (and $x11648 $x10374)))
 39.3380 +(let (($x11639 (forall ((?v0 Int) )(! (let ((?x11631 (* (- 1) v_b_L_H_max_G_3$)))
 39.3381 +(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
 39.3382 +(let (($x11633 (<= (+ ?x10163 ?x11631) 0)))
 39.3383 +(let (($x11615 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_1$)) 0)))
 39.3384 +(let (($x11617 (not $x11615)))
 39.3385 +(let ((?x3113 (* (- 1) b_S_max_o_u4$)))
 39.3386 +(let ((?x3114 (+ ?v0 ?x3113)))
 39.3387 +(let (($x3115 (<= ?x3114 0)))
 39.3388 +(let (($x2815 (>= ?v0 0)))
 39.3389 +(let (($x11623 (and $x2815 $x3115 $x11617)))
 39.3390 +(let (($x11628 (not $x11623)))
 39.3391 +(or $x11628 $x11633)))))))))))) :qid k!704))
 39.3392 +))
 39.3393 +(let (($x11642 (not $x11639)))
 39.3394 +(let (($x11654 (or $x11642 $x11651)))
 39.3395 +(let (($x11657 (and $x11639 $x11654)))
 39.3396 +(let (($x11660 (or $x11612 $x11657)))
 39.3397 +(let (($x11663 (and $x11608 $x11660)))
 39.3398 +(let ((?x11574 (+ b_S_max_o_u4$ ?x11484)))
 39.3399 +(let (($x11573 (>= ?x11574 1)))
 39.3400 +(let (($x11600 (and $x11570 $x11573 $x11580 $x10358 $x11578 $x11536)))
 39.3401 +(let (($x11605 (not $x11600)))
 39.3402 +(let (($x11666 (or $x11605 $x11663)))
 39.3403 +(let (($x11672 (and $x11570 $x11573 $x11666)))
 39.3404 +(let (($x11725 (and $x11516 $x11432 $x10391 $x10392 $x11429 $x11536)))
 39.3405 +(let (($x11730 (not $x11725)))
 39.3406 +(let (($x11733 (or $x11730 $x11672)))
 39.3407 +(let (($x11562 (and $x10321 $x10324 $x10333 $x10334 $x10335 $x10338 $x10340 $x11429 $x11536)))
 39.3408 +(let (($x11567 (not $x11562)))
 39.3409 +(let (($x11677 (or $x11567 $x11672)))
 39.3410 +(let (($x11683 (and $x10321 $x10324 $x11677)))
 39.3411 +(let (($x10323 (and $x10321 $x10322)))
 39.3412 +(let (($x11001 (not $x10323)))
 39.3413 +(let (($x11688 (or $x11001 $x11683)))
 39.3414 +(let (($x11694 (and $x10321 $x10322 $x11688)))
 39.3415 +(let (($x11527 (and $x11515 $x11429 $x11432)))
 39.3416 +(let (($x11532 (not $x11527)))
 39.3417 +(let (($x11699 (or $x11532 $x11694)))
 39.3418 +(let (($x11736 (and $x11699 $x11733)))
 39.3419 +(let (($x11507 (and $x10321 $x10324 $x11429 $x11432)))
 39.3420 +(let (($x11512 (not $x11507)))
 39.3421 +(let (($x11739 (or $x11512 $x11736)))
 39.3422 +(let (($x11745 (and $x10321 $x10324 $x11739)))
 39.3423 +(let (($x11750 (or $x11001 $x11745)))
 39.3424 +(let (($x11756 (and $x10321 $x10322 $x11750)))
 39.3425 +(let (($x11496 (and $x11487 $x11429 $x11432)))
 39.3426 +(let (($x11501 (not $x11496)))
 39.3427 +(let (($x11761 (or $x11501 $x11756)))
 39.3428 +(let (($x11862 (and $x11761 $x11859)))
 39.3429 +(let (($x11476 (and $x10284 $x10204 $x10097 $x10291 $x10292 $x10293 $x10294 $x10295 $x10296 $x11429 $x11432)))
 39.3430 +(let (($x11481 (not $x11476)))
 39.3431 +(let (($x11868 (not $x11867)))
 39.3432 +(let (($x11895 (forall ((?v0 Int) )(! (let ((?x11887 (* (- 1) v_b_L_H_max_G_1$)))
 39.3433 +(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
 39.3434 +(let (($x11889 (<= (+ ?x10163 ?x11887) 0)))
 39.3435 +(let (($x11871 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_0$)) 0)))
 39.3436 +(let (($x11873 (not $x11871)))
 39.3437 +(let ((?x3113 (* (- 1) b_S_max_o_u4$)))
 39.3438 +(let ((?x3114 (+ ?v0 ?x3113)))
 39.3439 +(let (($x3115 (<= ?x3114 0)))
 39.3440 +(let (($x2815 (>= ?v0 0)))
 39.3441 +(let (($x11879 (and $x2815 $x3115 $x11873)))
 39.3442 +(let (($x11884 (not $x11879)))
 39.3443 +(or $x11884 $x11889)))))))))))) :qid k!704))
 39.3444 +))
 39.3445 +(let (($x11904 (>= ?x11574 0)))
 39.3446 +(let (($x11907 (>= (+ b_S_max_o_u4$ (* (- 1) v_b_SL_H_witness_G_0$)) 0)))
 39.3447 +(let (($x11914 (>= (+ b_S_max_o_u1$ (* (- 1) v_b_L_H_max_G_1$)) 0)))
 39.3448 +(let (($x11957 (and $x11260 $x10167 $x11911 $x11914 $x11907 $x11901 $x11904 $x11898 $x11895 $x11868 $x10192 $x11429 $x11432)))
 39.3449 +(let (($x11962 (not $x11957)))
 39.3450 +(let (($x11971 (or $x11962 $x11481 $x11862)))
 39.3451 +(let (($x11979 (and $x11260 $x10167 $x11971)))
 39.3452 +(let (($x11411 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
 39.3453 +(let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0)))
 39.3454 +(let (($x11388 (>= ?v0 1)))
 39.3455 +(let (($x11389 (not $x11388)))
 39.3456 +(let ((?x3113 (* (- 1) b_S_max_o_u4$)))
 39.3457 +(let ((?x3114 (+ ?v0 ?x3113)))
 39.3458 +(let (($x3115 (<= ?x3114 0)))
 39.3459 +(let (($x2815 (>= ?v0 0)))
 39.3460 +(let (($x11395 (and $x2815 $x3115 $x11389)))
 39.3461 +(let (($x11400 (not $x11395)))
 39.3462 +(or $x11400 $x11404))))))))))) :qid k!704))
 39.3463 +))
 39.3464 +(let (($x11414 (not $x11411)))
 39.3465 +(let (($x11984 (or $x11414 $x11979)))
 39.3466 +(let (($x11987 (and $x11411 $x11984)))
 39.3467 +(let (($x11990 (or $x11385 $x11987)))
 39.3468 +(let (($x11993 (and $x11382 $x11990)))
 39.3469 +(let (($x11374 (and $x10138 $x10141 $x10145 $x10146 $x10147 $x10148)))
 39.3470 +(let (($x11379 (not $x11374)))
 39.3471 +(let (($x11996 (or $x11379 $x11993)))
 39.3472 +(let (($x12002 (and $x10138 $x10141 $x11996)))
 39.3473 +(let (($x10140 (and $x10138 $x10139)))
 39.3474 +(let (($x11209 (not $x10140)))
 39.3475 +(let (($x12007 (or $x11209 $x12002)))
 39.3476 +(let (($x12013 (and $x10138 $x10139 $x12007)))
 39.3477 +(let (($x10136 (b_S_in_n_domain_n_lab$ v_b_S_s$ ?x10080 ?x10080 b_l_H_public$)))
 39.3478 +(let (($x11221 (not $x10136)))
 39.3479 +(let (($x12018 (or $x11221 $x12013)))
 39.3480 +(let (($x12021 (and $x10136 $x12018)))
 39.3481 +(let (($x12027 (not (or (not $x11342) $x12021))))
 39.3482 +(let (($x10242 (exists ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
 39.3483 +(let (($x10238 (= ?x10163 v_b_S_result_G_0$)))
 39.3484 +(let (($x10233 (< ?v0 v_b_P_H_len$)))
 39.3485 +(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
 39.3486 +(let (($x2766 (<= 0 ?v0)))
 39.3487 +(and $x2766 (and $x3097 (and $x10233 $x10238)))))))) :qid k!704))
 39.3488 +))
 39.3489 +(let (($x10244 (and $x10242 (=> $x10242 true))))
 39.3490 +(let (($x10237 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
 39.3491 +(let (($x10235 (<= ?x10163 v_b_S_result_G_0$)))
 39.3492 +(let (($x10233 (< ?v0 v_b_P_H_len$)))
 39.3493 +(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
 39.3494 +(let (($x2766 (<= 0 ?v0)))
 39.3495 +(let (($x3098 (and $x2766 $x3097)))
 39.3496 +(let (($x10234 (and $x3098 $x10233)))
 39.3497 +(=> $x10234 $x10235)))))))) :qid k!704))
 39.3498 +))
 39.3499 +(let (($x10245 (=> $x10237 $x10244)))
 39.3500 +(let (($x10227 (and true (and $x10216 (and $x10218 (and $x10220 (and $x10222 true)))))))
 39.3501 +(let (($x10174 (<= 0 v_b_SL_H_witness_G_0$)))
 39.3502 +(let (($x10181 (<= 1 v_b_L_H_p_G_0$)))
 39.3503 +(let (($x10182 (and $x10181 $x10174)))
 39.3504 +(let (($x10230 (and true (and $x10182 (and $x10182 $x10227)))))
 39.3505 +(let (($x10247 (=> (and b_S_position_n_marker$ (and $x10182 $x10230)) (and $x10237 $x10245))))
 39.3506 +(let (($x10248 (and b_S_position_n_marker$ $x10247)))
 39.3507 +(let (($x10206 (and true $x10182)))
 39.3508 +(let (($x10207 (and $x10182 $x10206)))
 39.3509 +(let (($x10411 (and $x10182 $x10207)))
 39.3510 +(let (($x10412 (and true $x10411)))
 39.3511 +(let (($x10413 (and $x10182 $x10412)))
 39.3512 +(let (($x10410 (<= v_b_P_H_len$ v_b_L_H_p_G_0$)))
 39.3513 +(let (($x10416 (and true (and $x10182 (and $x10410 $x10413)))))
 39.3514 +(let (($x10417 (=> $x10416 $x10248)))
 39.3515 +(let (($x10377 (=> (and (and (< v_b_SL_H_witness_G_1$ v_b_P_H_len$) $x10374) false) true)))
 39.3516 +(let (($x10375 (and (< v_b_SL_H_witness_G_1$ v_b_P_H_len$) $x10374)))
 39.3517 +(let (($x10378 (and $x10375 $x10377)))
 39.3518 +(let (($x10370 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
 39.3519 +(let (($x10368 (<= ?x10163 v_b_L_H_max_G_3$)))
 39.3520 +(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
 39.3521 +(let (($x2766 (<= 0 ?v0)))
 39.3522 +(let (($x3098 (and $x2766 $x3097)))
 39.3523 +(let (($x10367 (and $x3098 (< ?v0 v_b_L_H_p_G_1$))))
 39.3524 +(=> $x10367 $x10368))))))) :qid k!704))
 39.3525 +))
 39.3526 +(let (($x10379 (=> $x10370 $x10378)))
 39.3527 +(let (($x10365 (<= v_b_L_H_p_G_1$ v_b_P_H_len$)))
 39.3528 +(let (($x10381 (=> $x10365 (and $x10370 $x10379))))
 39.3529 +(let (($x10341 (<= 0 v_b_SL_H_witness_G_1$)))
 39.3530 +(let (($x10360 (and (<= 2 v_b_L_H_p_G_1$) $x10341)))
 39.3531 +(let (($x10363 (and (= v_b_L_H_p_G_1$ (+ v_b_L_H_p_G_0$ 1)) (and $x10358 (and $x10360 true)))))
 39.3532 +(let (($x10355 (and (<= 0 (+ v_b_L_H_p_G_0$ 1)) (<= (+ v_b_L_H_p_G_0$ 1) b_S_max_o_u4$))))
 39.3533 +(let (($x10383 (=> (and $x10355 $x10363) (and $x10365 $x10381))))
 39.3534 +(let (($x10384 (and $x10355 $x10383)))
 39.3535 +(let (($x10395 (and true (and $x10391 (and $x10392 (and true (and $x10181 $x10341)))))))
 39.3536 +(let (($x10398 (and true (and $x10182 (and $x10182 $x10395)))))
 39.3537 +(let (($x10390 (<= ?x10327 v_b_L_H_max_G_1$)))
 39.3538 +(let (($x10402 (and true (and $x10182 (and $x10390 (and $x10182 $x10398))))))
 39.3539 +(let (($x10403 (=> $x10402 $x10384)))
 39.3540 +(let (($x10346 (and true (and $x10338 (and $x10340 (and true (and $x10181 $x10341)))))))
 39.3541 +(let (($x10325 (and $x10321 $x10324)))
 39.3542 +(let (($x10351 (and $x10325 (and $x10333 (and $x10334 (and $x10335 (and (and $x10181 $x10181) $x10346)))))))
 39.3543 +(let (($x10385 (=> $x10351 $x10384)))
 39.3544 +(let (($x10387 (=> $x10323 (and $x10325 $x10385))))
 39.3545 +(let (($x10331 (and true (and $x10182 (and (< v_b_L_H_max_G_1$ ?x10327) $x10207)))))
 39.3546 +(let (($x10389 (=> $x10331 (and $x10323 $x10387))))
 39.3547 +(let (($x10326 (and $x10325 $x10182)))
 39.3548 +(let (($x10405 (=> $x10326 (and $x10389 $x10403))))
 39.3549 +(let (($x10407 (=> $x10323 (and $x10325 $x10405))))
 39.3550 +(let (($x10319 (and true (and $x10182 (and (< v_b_L_H_p_G_0$ v_b_P_H_len$) $x10207)))))
 39.3551 +(let (($x10409 (=> $x10319 (and $x10323 $x10407))))
 39.3552 +(let (($x10300 (and (= ?x10272 ?x10272) (= (b_S_statusmap$ v_b_S_s$) (b_S_statusmap$ v_b_S_s$)))))
 39.3553 +(let (($x10301 (and $x10300 $x10182)))
 39.3554 +(let (($x10297 (and $x10295 $x10296)))
 39.3555 +(let (($x10205 (and $x10204 $x10097)))
 39.3556 +(let (($x10307 (and $x10205 (and $x10291 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x10301))))))))
 39.3557 +(let (($x10283 (forall ((?v0 B_S_ptr$) )(! (let ((?x10280 (b_S_timestamp$ v_b_S_s$ ?v0)))
 39.3558 +(<= ?x10280 ?x10280)) :pattern ( (b_S_timestamp$ v_b_S_s$ ?v0) ) :qid k!704))
 39.3559 +))
 39.3560 +(let (($x10286 (and (<= ?x10111 ?x10111) (and $x10283 $x10284))))
 39.3561 +(let (($x10278 (forall ((?v0 B_S_ptr$) )(! (let (($x10260 (b_S_thread_n_local$ v_b_S_s$ ?v0)))
 39.3562 +(let ((?x10272 (b_S_typemap$ v_b_S_s$)))
 39.3563 +(let ((?x10273 (b_S_select_o_tm$ ?x10272 ?v0)))
 39.3564 +(let (($x10275 (and (= ?x10273 ?x10273) $x10260)))
 39.3565 +(=> $x10260 $x10275))))) :pattern ( (b_S_select_o_tm$ (b_S_typemap$ v_b_S_s$) ?v0) ) :qid k!704))
 39.3566 +))
 39.3567 +(let (($x10287 (and $x10278 $x10286)))
 39.3568 +(let (($x10271 (forall ((?v0 B_S_ptr$) )(! (let (($x10260 (b_S_thread_n_local$ v_b_S_s$ ?v0)))
 39.3569 +(let ((?x10256 (b_S_statusmap$ v_b_S_s$)))
 39.3570 +(let ((?x10257 (b_S_select_o_sm$ ?x10256 ?v0)))
 39.3571 +(let (($x10269 (and (= ?x10257 ?x10257) $x10260)))
 39.3572 +(=> $x10260 $x10269))))) :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ v_b_S_s$) ?v0) ) :qid k!704))
 39.3573 +))
 39.3574 +(let (($x10288 (and $x10271 $x10287)))
 39.3575 +(let (($x10267 (forall ((?v0 B_S_ptr$) )(! (let (($x10260 (b_S_thread_n_local$ v_b_S_s$ ?v0)))
 39.3576 +(let ((?x10261 (b_S_memory$ v_b_S_s$)))
 39.3577 +(let ((?x10262 (b_S_select_o_mem$ ?x10261 ?v0)))
 39.3578 +(let (($x10264 (and (= ?x10262 ?x10262) $x10260)))
 39.3579 +(=> $x10260 $x10264))))) :pattern ( (b_S_select_o_mem$ (b_S_memory$ v_b_S_s$) ?v0) ) :qid k!704))
 39.3580 +))
 39.3581 +(let (($x10289 (and $x10267 $x10288)))
 39.3582 +(let (($x10259 (forall ((?v0 B_S_ptr$) )(! (let (($x10253 (= (b_S_kind_n_of$ (b_S_typ$ (b_S_owner$ v_b_S_s$ ?v0))) b_S_kind_n_thread$)))
 39.3583 +(=> (not $x10253) (not $x10253))) :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ v_b_S_s$) ?v0) ) :qid k!704))
 39.3584 +))
 39.3585 +(let (($x10290 (and $x10259 $x10289)))
 39.3586 +(let (($x10311 (and true (and $x10182 (and $x10290 (and $x10286 $x10307))))))
 39.3587 +(let (($x10313 (and true (and $x10182 $x10311))))
 39.3588 +(let (($x10315 (and true (and $x10182 $x10313))))
 39.3589 +(let (($x10419 (=> $x10315 (and $x10409 $x10417))))
 39.3590 +(let (($x10203 (not true)))
 39.3591 +(let (($x10212 (and $x10203 (and $x10182 (and true (and $x10182 (and $x10205 $x10207)))))))
 39.3592 +(let (($x10213 (and $x10182 $x10212)))
 39.3593 +(let (($x10214 (and true $x10213)))
 39.3594 +(let (($x10249 (=> $x10214 $x10248)))
 39.3595 +(let (($x10420 (and $x10249 $x10419)))
 39.3596 +(let (($x10194 (and (and (< v_b_SL_H_witness_G_0$ v_b_P_H_len$) $x10192) $x10182)))
 39.3597 +(let (($x10188 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
 39.3598 +(let (($x10186 (<= ?x10163 v_b_L_H_max_G_1$)))
 39.3599 +(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
 39.3600 +(let (($x2766 (<= 0 ?v0)))
 39.3601 +(let (($x3098 (and $x2766 $x3097)))
 39.3602 +(let (($x10185 (and $x3098 (< ?v0 v_b_L_H_p_G_0$))))
 39.3603 +(=> $x10185 $x10186))))))) :qid k!704))
 39.3604 +))
 39.3605 +(let (($x10183 (<= v_b_L_H_p_G_0$ v_b_P_H_len$)))
 39.3606 +(let (($x10180 (and (<= 0 v_b_L_H_p_G_0$) (<= v_b_L_H_p_G_0$ b_S_max_o_u4$))))
 39.3607 +(let (($x10176 (and $x10174 (<= v_b_SL_H_witness_G_0$ b_S_max_o_u4$))))
 39.3608 +(let (($x10172 (and (<= 0 v_b_L_H_max_G_1$) (<= v_b_L_H_max_G_1$ b_S_max_o_u1$))))
 39.3609 +(let (($x10200 (and $x10172 (and $x10176 (and $x10180 (and $x10182 (and $x10183 (and $x10188 $x10194))))))))
 39.3610 +(let (($x10201 (and true $x10200)))
 39.3611 +(let (($x10074 (< 0 v_b_P_H_len$)))
 39.3612 +(let (($x10168 (and $x10074 $x10167)))
 39.3613 +(let (($x10421 (=> (and $x10168 $x10201) $x10420)))
 39.3614 +(let (($x10166 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
 39.3615 +(let (($x10164 (<= ?x10163 v_b_L_H_max_G_0$)))
 39.3616 +(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
 39.3617 +(let (($x2766 (<= 0 ?v0)))
 39.3618 +(let (($x3098 (and $x2766 $x3097)))
 39.3619 +(let (($x10161 (and $x3098 (< ?v0 1))))
 39.3620 +(=> $x10161 $x10164))))))) :qid k!704))
 39.3621 +))
 39.3622 +(let (($x10423 (=> $x10166 (and $x10168 $x10421))))
 39.3623 +(let (($x10159 (<= 1 v_b_P_H_len$)))
 39.3624 +(let (($x10425 (=> $x10159 (and $x10166 $x10423))))
 39.3625 +(let (($x10149 (<= 1 1)))
 39.3626 +(let (($x10154 (and $x10148 (and $x10149 (and $x10149 (and (<= 0 0) (<= 0 0)))))))
 39.3627 +(let (($x10142 (and $x10138 $x10141)))
 39.3628 +(let (($x10427 (=> (and $x10142 (and $x10145 (and $x10146 (and $x10147 $x10154)))) (and $x10159 $x10425))))
 39.3629 +(let (($x10429 (=> $x10140 (and $x10142 $x10427))))
 39.3630 +(let (($x10431 (=> $x10136 (and $x10140 $x10429))))
 39.3631 +(let (($x10119 (and (<= 0 v_b_P_H_len$) (<= v_b_P_H_len$ b_S_max_o_u4$))))
 39.3632 +(let (($x10116 (forall ((?v0 B_S_ptr$) )(! (let (($x10113 (b_S_in_n_writes_n_at$ v_b_H_wrTime_S_1_T_6_o_1$ ?v0)))
 39.3633 +(= $x10113 false)) :pattern ( (b_S_in_n_writes_n_at$ v_b_H_wrTime_S_1_T_6_o_1$ ?v0) ) :qid k!704))
 39.3634 +))
 39.3635 +(let (($x10108 (and $x10106 $x10107)))
 39.3636 +(let (($x10104 (forall ((?v0 B_S_pure_n_function$) )(! (let ((?x10100 (b_S_frame_n_level$ ?v0)))
 39.3637 +(< ?x10100 b_S_current_n_frame_n_level$)) :pattern ( (b_S_frame_n_level$ ?v0) ) :qid k!704))
 39.3638 +))
 39.3639 +(let (($x10098 (and $x10096 $x10097)))
 39.3640 +(let (($x10125 (and $x10098 (and $x10104 (and $x10108 (and $x10109 (and $x10112 (and $x10116 $x10119))))))))
 39.3641 +(let (($x10127 (and true (and $x10095 $x10125))))
 39.3642 +(let (($x10094 (and $x10081 (and $x10083 (and $x10084 (and $x10085 (and $x10088 $x10089)))))))
 39.3643 +(let (($x10073 (< v_b_P_H_len$ 1099511627776)))
 39.3644 +(let (($x10071 (and (<= 0 v_b_SL_H_witness$) (<= v_b_SL_H_witness$ b_S_max_o_u4$))))
 39.3645 +(let (($x10067 (and (<= 0 v_b_L_H_p$) (<= v_b_L_H_p$ b_S_max_o_u4$))))
 39.3646 +(let (($x10063 (and (<= 0 v_b_L_H_max$) (<= v_b_L_H_max$ b_S_max_o_u1$))))
 39.3647 +(let (($x10133 (and $x10063 (and $x10067 (and $x10071 (and $x10073 (and $x10074 (and $x10094 $x10127))))))))
 39.3648 +(let (($x10134 (and true $x10133)))
 39.3649 +(let (($x10433 (=> $x10134 (and $x10136 $x10431))))
 39.3650 +(let (($x10434 (not $x10433)))
 39.3651 +(let (($x10649 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
 39.3652 +(let (($x10235 (<= ?x10163 v_b_S_result_G_0$)))
 39.3653 +(let (($x10233 (< ?v0 v_b_P_H_len$)))
 39.3654 +(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
 39.3655 +(let (($x2766 (<= 0 ?v0)))
 39.3656 +(let (($x3098 (and $x2766 $x3097)))
 39.3657 +(let (($x10234 (and $x3098 $x10233)))
 39.3658 +(or (not $x10234) $x10235)))))))) :qid k!704))
 39.3659 +))
 39.3660 +(let (($x10665 (or (not $x10649) $x10242)))
 39.3661 +(let (($x10670 (and $x10649 $x10665)))
 39.3662 +(let (($x10616 (and $x10216 (and $x10218 (and $x10220 $x10222)))))
 39.3663 +(let (($x10626 (and $x10182 $x10616)))
 39.3664 +(let (($x10629 (and $x10182 $x10626)))
 39.3665 +(let (($x10639 (and $x10182 $x10629)))
 39.3666 +(let (($x10642 (and b_S_position_n_marker$ $x10639)))
 39.3667 +(let (($x10677 (or (not $x10642) $x10670)))
 39.3668 +(let (($x10682 (and b_S_position_n_marker$ $x10677)))
 39.3669 +(let (($x11134 (or (not (and $x10182 (and $x10410 $x10182))) $x10682)))
 39.3670 +(let (($x10931 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
 39.3671 +(let (($x10368 (<= ?x10163 v_b_L_H_max_G_3$)))
 39.3672 +(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
 39.3673 +(let (($x2766 (<= 0 ?v0)))
 39.3674 +(let (($x3098 (and $x2766 $x3097)))
 39.3675 +(let (($x10367 (and $x3098 (< ?v0 v_b_L_H_p_G_1$))))
 39.3676 +(or (not $x10367) $x10368))))))) :qid k!704))
 39.3677 +))
 39.3678 +(let (($x10954 (or (not $x10931) $x10375)))
 39.3679 +(let (($x10959 (and $x10931 $x10954)))
 39.3680 +(let (($x10966 (or (not $x10365) $x10959)))
 39.3681 +(let (($x10971 (and $x10365 $x10966)))
 39.3682 +(let (($x10918 (and $x10358 $x10360)))
 39.3683 +(let ((?x10901 (+ 1 v_b_L_H_p_G_0$)))
 39.3684 +(let (($x10913 (= v_b_L_H_p_G_1$ ?x10901)))
 39.3685 +(let (($x10921 (and $x10913 $x10918)))
 39.3686 +(let (($x10907 (<= ?x10901 b_S_max_o_u4$)))
 39.3687 +(let (($x10904 (<= 0 ?x10901)))
 39.3688 +(let (($x10910 (and $x10904 $x10907)))
 39.3689 +(let (($x10924 (and $x10910 $x10921)))
 39.3690 +(let (($x10978 (or (not $x10924) $x10971)))
 39.3691 +(let (($x10983 (and $x10910 $x10978)))
 39.3692 +(let (($x10342 (and $x10181 $x10341)))
 39.3693 +(let (($x11019 (and $x10392 $x10342)))
 39.3694 +(let (($x11022 (and $x10391 $x11019)))
 39.3695 +(let (($x11032 (and $x10182 $x11022)))
 39.3696 +(let (($x11035 (and $x10182 $x11032)))
 39.3697 +(let (($x11045 (and $x10182 $x11035)))
 39.3698 +(let (($x11048 (and $x10390 $x11045)))
 39.3699 +(let (($x11051 (and $x10182 $x11048)))
 39.3700 +(let (($x11065 (or (not $x11051) $x10983)))
 39.3701 +(let (($x10873 (and $x10340 $x10342)))
 39.3702 +(let (($x10876 (and $x10338 $x10873)))
 39.3703 +(let (($x10886 (and $x10181 $x10876)))
 39.3704 +(let (($x10889 (and $x10335 $x10886)))
 39.3705 +(let (($x10892 (and $x10334 $x10889)))
 39.3706 +(let (($x10895 (and $x10333 $x10892)))
 39.3707 +(let (($x10898 (and $x10325 $x10895)))
 39.3708 +(let (($x10990 (or (not $x10898) $x10983)))
 39.3709 +(let (($x10995 (and $x10325 $x10990)))
 39.3710 +(let (($x11002 (or $x11001 $x10995)))
 39.3711 +(let (($x11007 (and $x10323 $x11002)))
 39.3712 +(let (($x11014 (or (not (and $x10182 (and (< v_b_L_H_max_G_1$ ?x10327) $x10182))) $x11007)))
 39.3713 +(let (($x11070 (and $x11014 $x11065)))
 39.3714 +(let (($x11077 (or (not $x10326) $x11070)))
 39.3715 +(let (($x11082 (and $x10325 $x11077)))
 39.3716 +(let (($x11088 (or $x11001 $x11082)))
 39.3717 +(let (($x11093 (and $x10323 $x11088)))
 39.3718 +(let (($x11100 (or (not (and $x10182 (and (< v_b_L_H_p_G_0$ v_b_P_H_len$) $x10182))) $x11093)))
 39.3719 +(let (($x11139 (and $x11100 $x11134)))
 39.3720 +(let (($x10789 (and $x10297 $x10182)))
 39.3721 +(let (($x10792 (and $x10294 $x10789)))
 39.3722 +(let (($x10795 (and $x10293 $x10792)))
 39.3723 +(let (($x10798 (and $x10292 $x10795)))
 39.3724 +(let (($x10801 (and $x10291 $x10798)))
 39.3725 +(let (($x10804 (and $x10205 $x10801)))
 39.3726 +(let (($x10807 (and $x10286 $x10804)))
 39.3727 +(let (($x10810 (and $x10286 $x10807)))
 39.3728 +(let (($x10813 (and $x10182 $x10810)))
 39.3729 +(let (($x10823 (and $x10182 $x10813)))
 39.3730 +(let (($x10833 (and $x10182 $x10823)))
 39.3731 +(let (($x11146 (or (not $x10833) $x11139)))
 39.3732 +(let (($x10529 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
 39.3733 +(let (($x10186 (<= ?x10163 v_b_L_H_max_G_1$)))
 39.3734 +(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
 39.3735 +(let (($x2766 (<= 0 ?v0)))
 39.3736 +(let (($x3098 (and $x2766 $x3097)))
 39.3737 +(let (($x10185 (and $x3098 (< ?v0 v_b_L_H_p_G_0$))))
 39.3738 +(or (not $x10185) $x10186))))))) :qid k!704))
 39.3739 +))
 39.3740 +(let (($x10532 (and $x10529 $x10194)))
 39.3741 +(let (($x10535 (and $x10183 $x10532)))
 39.3742 +(let (($x10538 (and $x10182 $x10535)))
 39.3743 +(let (($x10541 (and $x10180 $x10538)))
 39.3744 +(let (($x10544 (and $x10176 $x10541)))
 39.3745 +(let (($x10547 (and $x10172 $x10544)))
 39.3746 +(let (($x10557 (and $x10168 $x10547)))
 39.3747 +(let (($x11162 (or (not $x10557) $x11146)))
 39.3748 +(let (($x11167 (and $x10168 $x11162)))
 39.3749 +(let (($x10522 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
 39.3750 +(let (($x10164 (<= ?x10163 v_b_L_H_max_G_0$)))
 39.3751 +(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
 39.3752 +(let (($x2766 (<= 0 ?v0)))
 39.3753 +(let (($x3098 (and $x2766 $x3097)))
 39.3754 +(let (($x10161 (and $x3098 (< ?v0 1))))
 39.3755 +(or (not $x10161) $x10164))))))) :qid k!704))
 39.3756 +))
 39.3757 +(let (($x11174 (or (not $x10522) $x11167)))
 39.3758 +(let (($x11179 (and $x10522 $x11174)))
 39.3759 +(let (($x11186 (or (not $x10159) $x11179)))
 39.3760 +(let (($x11191 (and $x10159 $x11186)))
 39.3761 +(let (($x10150 (<= 0 0)))
 39.3762 +(let (($x10497 (and $x10149 $x10150)))
 39.3763 +(let (($x10500 (and $x10149 $x10497)))
 39.3764 +(let (($x10503 (and $x10148 $x10500)))
 39.3765 +(let (($x10506 (and $x10147 $x10503)))
 39.3766 +(let (($x10509 (and $x10146 $x10506)))
 39.3767 +(let (($x10512 (and $x10145 $x10509)))
 39.3768 +(let (($x10515 (and $x10142 $x10512)))
 39.3769 +(let (($x11198 (or (not $x10515) $x11191)))
 39.3770 +(let (($x11203 (and $x10142 $x11198)))
 39.3771 +(let (($x11210 (or $x11209 $x11203)))
 39.3772 +(let (($x11215 (and $x10140 $x11210)))
 39.3773 +(let (($x11222 (or $x11221 $x11215)))
 39.3774 +(let (($x11227 (and $x10136 $x11222)))
 39.3775 +(let (($x10442 (and $x10439 $x10119)))
 39.3776 +(let (($x10445 (and $x10112 $x10442)))
 39.3777 +(let (($x10448 (and $x10109 $x10445)))
 39.3778 +(let (($x10451 (and $x10108 $x10448)))
 39.3779 +(let (($x10454 (and $x10104 $x10451)))
 39.3780 +(let (($x10457 (and $x10098 $x10454)))
 39.3781 +(let (($x10460 (and $x10095 $x10457)))
 39.3782 +(let (($x10470 (and $x10094 $x10460)))
 39.3783 +(let (($x10473 (and $x10074 $x10470)))
 39.3784 +(let (($x10476 (and $x10073 $x10473)))
 39.3785 +(let (($x10479 (and $x10071 $x10476)))
 39.3786 +(let (($x10482 (and $x10067 $x10479)))
 39.3787 +(let (($x10485 (and $x10063 $x10482)))
 39.3788 +(let (($x11234 (or (not $x10485) $x11227)))
 39.3789 +(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ ?x10078 ?0 b_T_T_u1$))))
 39.3790 +(let (($x10238 (= ?x10163 v_b_S_result_G_0$)))
 39.3791 +(let (($x11800 (>= (+ ?0 (* (- 1) v_b_P_H_len$)) 0)))
 39.3792 +(let (($x11802 (not $x11800)))
 39.3793 +(let ((?x3113 (* (- 1) b_S_max_o_u4$)))
 39.3794 +(let ((?x3114 (+ ?0 ?x3113)))
 39.3795 +(let (($x3115 (<= ?x3114 0)))
 39.3796 +(let (($x2815 (>= ?0 0)))
 39.3797 +(let (($x11839 (and $x2815 $x3115 $x11802 $x10238)))
 39.3798 +(let (($x2766 (<= 0 ?0)))
 39.3799 +(let (($x10241 (and $x2766 (and (<= ?0 b_S_max_o_u4$) (and (< ?0 v_b_P_H_len$) $x10238)))))
 39.3800 +(let (($x11834 (= (and (<= ?0 b_S_max_o_u4$) (and (< ?0 v_b_P_H_len$) $x10238)) (and $x3115 (and $x11802 $x10238)))))
 39.3801 +(let ((@x11832 (monotonicity (rewrite (= (< ?0 v_b_P_H_len$) $x11802)) (= (and (< ?0 v_b_P_H_len$) $x10238) (and $x11802 $x10238)))))
 39.3802 +(let ((@x2814 (rewrite (= $x2766 $x2815))))
 39.3803 +(let ((@x11838 (monotonicity @x2814 (monotonicity (rewrite (= (<= ?0 b_S_max_o_u4$) $x3115)) @x11832 $x11834) (= $x10241 (and $x2815 (and $x3115 (and $x11802 $x10238)))))))
 39.3804 +(let ((@x11843 (trans @x11838 (rewrite (= (and $x2815 (and $x3115 (and $x11802 $x10238))) $x11839)) (= $x10241 $x11839))))
 39.3805 +(let (($x11818 (<= (+ ?x10163 (* (- 1) v_b_S_result_G_0$)) 0)))
 39.3806 +(let (($x11808 (and $x2815 $x3115 $x11802)))
 39.3807 +(let (($x11813 (not $x11808)))
 39.3808 +(let (($x11821 (or $x11813 $x11818)))
 39.3809 +(let (($x10235 (<= ?x10163 v_b_S_result_G_0$)))
 39.3810 +(let (($x10233 (< ?0 v_b_P_H_len$)))
 39.3811 +(let (($x3097 (<= ?0 b_S_max_o_u4$)))
 39.3812 +(let (($x3098 (and $x2766 $x3097)))
 39.3813 +(let (($x10234 (and $x3098 $x10233)))
 39.3814 +(let (($x10646 (or (not $x10234) $x10235)))
 39.3815 +(let ((@x3124 (monotonicity @x2814 (rewrite (= $x3097 $x3115)) (= $x3098 (and $x2815 $x3115)))))
 39.3816 +(let ((@x11807 (monotonicity @x3124 (rewrite (= $x10233 $x11802)) (= $x10234 (and (and $x2815 $x3115) $x11802)))))
 39.3817 +(let ((@x11812 (trans @x11807 (rewrite (= (and (and $x2815 $x3115) $x11802) $x11808)) (= $x10234 $x11808))))
 39.3818 +(let ((@x11823 (monotonicity (monotonicity @x11812 (= (not $x10234) $x11813)) (rewrite (= $x10235 $x11818)) (= $x10646 $x11821))))
 39.3819 +(let ((@x11829 (monotonicity (quant-intro @x11823 (= $x10649 $x11824)) (= (not $x10649) $x11827))))
 39.3820 +(let ((@x11852 (monotonicity (quant-intro @x11823 (= $x10649 $x11824)) (monotonicity @x11829 (quant-intro @x11843 (= $x10242 $x11844)) (= $x10665 $x11847)) (= $x10670 $x11850))))
 39.3821 +(let (($x11434 (and $x11429 $x11432)))
 39.3822 +(let (($x11793 (= (and b_S_position_n_marker$ (and $x11434 (and $x11434 (and $x11434 $x10616)))) $x11792)))
 39.3823 +(let (($x11790 (= $x10642 (and b_S_position_n_marker$ (and $x11434 (and $x11434 (and $x11434 $x10616)))))))
 39.3824 +(let ((@x11430 (rewrite (= $x10181 $x11429))))
 39.3825 +(let ((@x11436 (monotonicity @x11430 (rewrite (= $x10174 $x11432)) (= $x10182 $x11434))))
 39.3826 +(let ((@x11785 (monotonicity @x11436 (monotonicity @x11436 (= $x10626 (and $x11434 $x10616))) (= $x10629 (and $x11434 (and $x11434 $x10616))))))
 39.3827 +(let ((@x11788 (monotonicity @x11436 @x11785 (= $x10639 (and $x11434 (and $x11434 (and $x11434 $x10616)))))))
 39.3828 +(let ((@x11799 (monotonicity (trans (monotonicity @x11788 $x11790) (rewrite $x11793) (= $x10642 $x11792)) (= (not $x10642) $x11797))))
 39.3829 +(let ((@x11858 (monotonicity (monotonicity @x11799 @x11852 (= $x10677 $x11853)) (= $x10682 $x11856))))
 39.3830 +(let ((@x11768 (monotonicity (rewrite (= $x10410 $x11486)) @x11436 (= (and $x10410 $x10182) (and $x11486 $x11434)))))
 39.3831 +(let ((@x11771 (monotonicity @x11436 @x11768 (= (and $x10182 (and $x10410 $x10182)) (and $x11434 (and $x11486 $x11434))))))
 39.3832 +(let ((@x11776 (trans @x11771 (rewrite (= (and $x11434 (and $x11486 $x11434)) $x11772)) (= (and $x10182 (and $x10410 $x10182)) $x11772))))
 39.3833 +(let ((@x11861 (monotonicity (monotonicity @x11776 (= (not (and $x10182 (and $x10410 $x10182))) $x11777)) @x11858 (= $x11134 $x11859))))
 39.3834 +(let ((@x11653 (monotonicity (rewrite (= (< v_b_SL_H_witness_G_1$ v_b_P_H_len$) $x11648)) (= $x10375 $x11651))))
 39.3835 +(let (($x11633 (<= (+ ?x10163 (* (- 1) v_b_L_H_max_G_3$)) 0)))
 39.3836 +(let (($x11615 (>= (+ ?0 ?x11581) 0)))
 39.3837 +(let (($x11617 (not $x11615)))
 39.3838 +(let (($x11623 (and $x2815 $x3115 $x11617)))
 39.3839 +(let (($x11628 (not $x11623)))
 39.3840 +(let (($x11636 (or $x11628 $x11633)))
 39.3841 +(let (($x10368 (<= ?x10163 v_b_L_H_max_G_3$)))
 39.3842 +(let (($x10928 (or (not (and $x3098 (< ?0 v_b_L_H_p_G_1$))) $x10368)))
 39.3843 +(let ((@x11622 (monotonicity @x3124 (rewrite (= (< ?0 v_b_L_H_p_G_1$) $x11617)) (= (and $x3098 (< ?0 v_b_L_H_p_G_1$)) (and (and $x2815 $x3115) $x11617)))))
 39.3844 +(let ((@x11627 (trans @x11622 (rewrite (= (and (and $x2815 $x3115) $x11617) $x11623)) (= (and $x3098 (< ?0 v_b_L_H_p_G_1$)) $x11623))))
 39.3845 +(let ((@x11630 (monotonicity @x11627 (= (not (and $x3098 (< ?0 v_b_L_H_p_G_1$))) $x11628))))
 39.3846 +(let ((@x11641 (quant-intro (monotonicity @x11630 (rewrite (= $x10368 $x11633)) (= $x10928 $x11636)) (= $x10931 $x11639))))
 39.3847 +(let ((@x11656 (monotonicity (monotonicity @x11641 (= (not $x10931) $x11642)) @x11653 (= $x10954 $x11654))))
 39.3848 +(let ((@x11662 (monotonicity (monotonicity (rewrite (= $x10365 $x11608)) (= (not $x10365) $x11612)) (monotonicity @x11641 @x11656 (= $x10959 $x11657)) (= $x10966 $x11660))))
 39.3849 +(let (($x11601 (= (and (and $x11570 $x11573) (and $x11580 (and $x10358 (and $x11578 $x11536)))) $x11600)))
 39.3850 +(let (($x11598 (= $x10924 (and (and $x11570 $x11573) (and $x11580 (and $x10358 (and $x11578 $x11536)))))))
 39.3851 +(let ((@x11587 (monotonicity (rewrite (= (<= 2 v_b_L_H_p_G_1$) $x11578)) (rewrite (= $x10341 $x11536)) (= $x10360 (and $x11578 $x11536)))))
 39.3852 +(let ((@x11593 (monotonicity (rewrite (= $x10913 $x11580)) (monotonicity @x11587 (= $x10918 (and $x10358 (and $x11578 $x11536)))) (= $x10921 (and $x11580 (and $x10358 (and $x11578 $x11536)))))))
 39.3853 +(let ((@x11596 (monotonicity (rewrite (= $x10904 $x11570)) (rewrite (= $x10907 $x11573)) (= $x10910 (and $x11570 $x11573)))))
 39.3854 +(let ((@x11607 (monotonicity (trans (monotonicity @x11596 @x11593 $x11598) (rewrite $x11601) (= $x10924 $x11600)) (= (not $x10924) $x11605))))
 39.3855 +(let ((@x11668 (monotonicity @x11607 (monotonicity (rewrite (= $x10365 $x11608)) @x11662 (= $x10971 $x11663)) (= $x10978 $x11666))))
 39.3856 +(let ((@x11676 (trans (monotonicity @x11596 @x11668 (= $x10983 (and (and $x11570 $x11573) $x11666))) (rewrite (= (and (and $x11570 $x11573) $x11666) $x11672)) (= $x10983 $x11672))))
 39.3857 +(let (($x11716 (and $x11434 (and $x11434 (and $x11434 (and $x10391 (and $x10392 (and $x11429 $x11536))))))))
 39.3858 +(let (($x11714 (= $x11035 (and $x11434 (and $x11434 (and $x10391 (and $x10392 (and $x11429 $x11536))))))))
 39.3859 +(let ((@x11540 (monotonicity @x11430 (rewrite (= $x10341 $x11536)) (= $x10342 (and $x11429 $x11536)))))
 39.3860 +(let ((@x11709 (monotonicity (monotonicity @x11540 (= $x11019 (and $x10392 (and $x11429 $x11536)))) (= $x11022 (and $x10391 (and $x10392 (and $x11429 $x11536)))))))
 39.3861 +(let ((@x11712 (monotonicity @x11436 @x11709 (= $x11032 (and $x11434 (and $x10391 (and $x10392 (and $x11429 $x11536))))))))
 39.3862 +(let ((@x11721 (monotonicity (rewrite (= $x10390 $x11516)) (monotonicity @x11436 (monotonicity @x11436 @x11712 $x11714) (= $x11045 $x11716)) (= $x11048 (and $x11516 $x11716)))))
 39.3863 +(let ((@x11729 (trans (monotonicity @x11436 @x11721 (= $x11051 (and $x11434 (and $x11516 $x11716)))) (rewrite (= (and $x11434 (and $x11516 $x11716)) $x11725)) (= $x11051 $x11725))))
 39.3864 +(let ((@x11735 (monotonicity (monotonicity @x11729 (= (not $x11051) $x11730)) @x11676 (= $x11065 $x11733))))
 39.3865 +(let (($x11553 (and $x10334 (and $x10335 (and $x11429 (and $x10338 (and $x10340 (and $x11429 $x11536))))))))
 39.3866 +(let (($x11551 (= $x10889 (and $x10335 (and $x11429 (and $x10338 (and $x10340 (and $x11429 $x11536))))))))
 39.3867 +(let ((@x11546 (monotonicity (monotonicity @x11540 (= $x10873 (and $x10340 (and $x11429 $x11536)))) (= $x10876 (and $x10338 (and $x10340 (and $x11429 $x11536)))))))
 39.3868 +(let ((@x11549 (monotonicity @x11430 @x11546 (= $x10886 (and $x11429 (and $x10338 (and $x10340 (and $x11429 $x11536))))))))
 39.3869 +(let ((@x11558 (monotonicity (monotonicity (monotonicity @x11549 $x11551) (= $x10892 $x11553)) (= $x10895 (and $x10333 $x11553)))))
 39.3870 +(let ((@x11566 (trans (monotonicity @x11558 (= $x10898 (and $x10325 (and $x10333 $x11553)))) (rewrite (= (and $x10325 (and $x10333 $x11553)) $x11562)) (= $x10898 $x11562))))
 39.3871 +(let ((@x11679 (monotonicity (monotonicity @x11566 (= (not $x10898) $x11567)) @x11676 (= $x10990 $x11677))))
 39.3872 +(let ((@x11687 (trans (monotonicity @x11679 (= $x10995 (and $x10325 $x11677))) (rewrite (= (and $x10325 $x11677) $x11683)) (= $x10995 $x11683))))
 39.3873 +(let ((@x11693 (monotonicity (monotonicity @x11687 (= $x11002 $x11688)) (= $x11007 (and $x10323 $x11688)))))
 39.3874 +(let (($x10328 (< v_b_L_H_max_G_1$ ?x10327)))
 39.3875 +(let (($x10856 (and $x10328 $x10182)))
 39.3876 +(let (($x10859 (and $x10182 $x10856)))
 39.3877 +(let ((@x11523 (monotonicity (rewrite (= $x10328 $x11515)) @x11436 (= $x10856 (and $x11515 $x11434)))))
 39.3878 +(let ((@x11531 (trans (monotonicity @x11436 @x11523 (= $x10859 (and $x11434 (and $x11515 $x11434)))) (rewrite (= (and $x11434 (and $x11515 $x11434)) $x11527)) (= $x10859 $x11527))))
 39.3879 +(let ((@x11701 (monotonicity (monotonicity @x11531 (= (not $x10859) $x11532)) (trans @x11693 (rewrite (= (and $x10323 $x11688) $x11694)) (= $x11007 $x11694)) (= $x11014 $x11699))))
 39.3880 +(let ((@x11511 (trans (monotonicity @x11436 (= $x10326 (and $x10325 $x11434))) (rewrite (= (and $x10325 $x11434) $x11507)) (= $x10326 $x11507))))
 39.3881 +(let ((@x11741 (monotonicity (monotonicity @x11511 (= (not $x10326) $x11512)) (monotonicity @x11701 @x11735 (= $x11070 $x11736)) (= $x11077 $x11739))))
 39.3882 +(let ((@x11749 (trans (monotonicity @x11741 (= $x11082 (and $x10325 $x11739))) (rewrite (= (and $x10325 $x11739) $x11745)) (= $x11082 $x11745))))
 39.3883 +(let ((@x11755 (monotonicity (monotonicity @x11749 (= $x11088 $x11750)) (= $x11093 (and $x10323 $x11750)))))
 39.3884 +(let (($x11502 (= (not (and $x10182 (and (< v_b_L_H_p_G_0$ v_b_P_H_len$) $x10182))) $x11501)))
 39.3885 +(let (($x10316 (< v_b_L_H_p_G_0$ v_b_P_H_len$)))
 39.3886 +(let (($x10843 (and $x10316 $x10182)))
 39.3887 +(let (($x10846 (and $x10182 $x10843)))
 39.3888 +(let ((@x11492 (monotonicity (rewrite (= $x10316 $x11487)) @x11436 (= $x10843 (and $x11487 $x11434)))))
 39.3889 +(let ((@x11500 (trans (monotonicity @x11436 @x11492 (= $x10846 (and $x11434 (and $x11487 $x11434)))) (rewrite (= (and $x11434 (and $x11487 $x11434)) $x11496)) (= $x10846 $x11496))))
 39.3890 +(let ((@x11763 (monotonicity (monotonicity @x11500 $x11502) (trans @x11755 (rewrite (= (and $x10323 $x11750) $x11756)) (= $x11093 $x11756)) (= $x11100 $x11761))))
 39.3891 +(let (($x11452 (and $x10205 (and $x10291 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x11434))))))))
 39.3892 +(let (($x11458 (and true (and true $x10284))))
 39.3893 +(let (($x11477 (= (and $x11434 (and $x11434 (and $x11434 (and $x11458 (and $x11458 $x11452))))) $x11476)))
 39.3894 +(let (($x11474 (= $x10833 (and $x11434 (and $x11434 (and $x11434 (and $x11458 (and $x11458 $x11452))))))))
 39.3895 +(let (($x11450 (= $x10801 (and $x10291 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x11434))))))))
 39.3896 +(let ((@x11442 (monotonicity (monotonicity @x11436 (= $x10789 (and $x10297 $x11434))) (= $x10792 (and $x10294 (and $x10297 $x11434))))))
 39.3897 +(let ((@x11448 (monotonicity (monotonicity @x11442 (= $x10795 (and $x10293 (and $x10294 (and $x10297 $x11434))))) (= $x10798 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x11434))))))))
 39.3898 +(let (($x11419 (forall ((?v0 B_S_ptr$) )(! true :pattern ( (b_S_timestamp$ v_b_S_s$ ?v0) ) :qid k!704))
 39.3899 +))
 39.3900 +(let (($x11417 (= (<= (b_S_timestamp$ v_b_S_s$ ?0) (b_S_timestamp$ v_b_S_s$ ?0)) true)))
 39.3901 +(let ((@x11425 (trans (quant-intro (rewrite $x11417) (= $x10283 $x11419)) (elim-unused (= $x11419 true)) (= $x10283 true))))
 39.3902 +(let ((@x11460 (monotonicity (rewrite (= (<= ?x10111 ?x10111) true)) (monotonicity @x11425 (= (and $x10283 $x10284) (and true $x10284))) (= $x10286 $x11458))))
 39.3903 +(let ((@x11463 (monotonicity @x11460 (monotonicity (monotonicity @x11448 $x11450) (= $x10804 $x11452)) (= $x10807 (and $x11458 $x11452)))))
 39.3904 +(let ((@x11469 (monotonicity @x11436 (monotonicity @x11460 @x11463 (= $x10810 (and $x11458 (and $x11458 $x11452)))) (= $x10813 (and $x11434 (and $x11458 (and $x11458 $x11452)))))))
 39.3905 +(let ((@x11472 (monotonicity @x11436 @x11469 (= $x10823 (and $x11434 (and $x11434 (and $x11458 (and $x11458 $x11452))))))))
 39.3906 +(let ((@x11483 (monotonicity (trans (monotonicity @x11436 @x11472 $x11474) (rewrite $x11477) (= $x10833 $x11476)) (= (not $x10833) $x11481))))
 39.3907 +(let ((@x11967 (monotonicity @x11483 (monotonicity @x11763 @x11861 (= $x11139 $x11862)) (= $x11146 (or $x11481 $x11862)))))
 39.3908 +(let (($x11936 (and (and $x11901 $x11904) (and $x11434 (and $x11898 (and $x11895 (and (and $x11868 $x10192) $x11434)))))))
 39.3909 +(let (($x11951 (and $x11260 $x10167)))
 39.3910 +(let (($x11958 (= (and $x11951 (and (and $x11911 $x11914) (and (and $x11432 $x11907) $x11936))) $x11957)))
 39.3911 +(let (($x11955 (= $x10557 (and $x11951 (and (and $x11911 $x11914) (and (and $x11432 $x11907) $x11936))))))
 39.3912 +(let (($x11931 (= $x10538 (and $x11434 (and $x11898 (and $x11895 (and (and $x11868 $x10192) $x11434)))))))
 39.3913 +(let (($x11919 (= (and (< v_b_SL_H_witness_G_0$ v_b_P_H_len$) $x10192) (and $x11868 $x10192))))
 39.3914 +(let ((@x11920 (monotonicity (rewrite (= (< v_b_SL_H_witness_G_0$ v_b_P_H_len$) $x11868)) $x11919)))
 39.3915 +(let (($x11889 (<= (+ ?x10163 (* (- 1) v_b_L_H_max_G_1$)) 0)))
 39.3916 +(let (($x11871 (>= (+ ?0 ?x11484) 0)))
 39.3917 +(let (($x11873 (not $x11871)))
 39.3918 +(let (($x11879 (and $x2815 $x3115 $x11873)))
 39.3919 +(let (($x11884 (not $x11879)))
 39.3920 +(let (($x11892 (or $x11884 $x11889)))
 39.3921 +(let (($x10186 (<= ?x10163 v_b_L_H_max_G_1$)))
 39.3922 +(let (($x10526 (or (not (and $x3098 (< ?0 v_b_L_H_p_G_0$))) $x10186)))
 39.3923 +(let ((@x11878 (monotonicity @x3124 (rewrite (= (< ?0 v_b_L_H_p_G_0$) $x11873)) (= (and $x3098 (< ?0 v_b_L_H_p_G_0$)) (and (and $x2815 $x3115) $x11873)))))
 39.3924 +(let ((@x11883 (trans @x11878 (rewrite (= (and (and $x2815 $x3115) $x11873) $x11879)) (= (and $x3098 (< ?0 v_b_L_H_p_G_0$)) $x11879))))
 39.3925 +(let ((@x11886 (monotonicity @x11883 (= (not (and $x3098 (< ?0 v_b_L_H_p_G_0$))) $x11884))))
 39.3926 +(let ((@x11897 (quant-intro (monotonicity @x11886 (rewrite (= $x10186 $x11889)) (= $x10526 $x11892)) (= $x10529 $x11895))))
 39.3927 +(let ((@x11926 (monotonicity @x11897 (monotonicity @x11920 @x11436 (= $x10194 (and (and $x11868 $x10192) $x11434))) (= $x10532 (and $x11895 (and (and $x11868 $x10192) $x11434))))))
 39.3928 +(let ((@x11929 (monotonicity (rewrite (= $x10183 $x11898)) @x11926 (= $x10535 (and $x11898 (and $x11895 (and (and $x11868 $x10192) $x11434)))))))
 39.3929 +(let ((@x11935 (monotonicity (rewrite (= (<= 0 v_b_L_H_p_G_0$) $x11901)) (rewrite (= (<= v_b_L_H_p_G_0$ b_S_max_o_u4$) $x11904)) (= $x10180 (and $x11901 $x11904)))))
 39.3930 +(let ((@x11941 (monotonicity (rewrite (= $x10174 $x11432)) (rewrite (= (<= v_b_SL_H_witness_G_0$ b_S_max_o_u4$) $x11907)) (= $x10176 (and $x11432 $x11907)))))
 39.3931 +(let ((@x11944 (monotonicity @x11941 (monotonicity @x11935 (monotonicity @x11436 @x11929 $x11931) (= $x10541 $x11936)) (= $x10544 (and (and $x11432 $x11907) $x11936)))))
 39.3932 +(let ((@x11947 (monotonicity (rewrite (= (<= 0 v_b_L_H_max_G_1$) $x11911)) (rewrite (= (<= v_b_L_H_max_G_1$ b_S_max_o_u1$) $x11914)) (= $x10172 (and $x11911 $x11914)))))
 39.3933 +(let ((@x11950 (monotonicity @x11947 @x11944 (= $x10547 (and (and $x11911 $x11914) (and (and $x11432 $x11907) $x11936))))))
 39.3934 +(let ((@x11956 (monotonicity (monotonicity (rewrite (= $x10074 $x11260)) (= $x10168 $x11951)) @x11950 $x11955)))
 39.3935 +(let ((@x11964 (monotonicity (trans @x11956 (rewrite $x11958) (= $x10557 $x11957)) (= (not $x10557) $x11962))))
 39.3936 +(let ((@x11975 (trans (monotonicity @x11964 @x11967 (= $x11162 (or $x11962 (or $x11481 $x11862)))) (rewrite (= (or $x11962 (or $x11481 $x11862)) $x11971)) (= $x11162 $x11971))))
 39.3937 +(let ((@x11978 (monotonicity (monotonicity (rewrite (= $x10074 $x11260)) (= $x10168 $x11951)) @x11975 (= $x11167 (and $x11951 $x11971)))))
 39.3938 +(let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0)))
 39.3939 +(let (($x11388 (>= ?0 1)))
 39.3940 +(let (($x11389 (not $x11388)))
 39.3941 +(let (($x11395 (and $x2815 $x3115 $x11389)))
 39.3942 +(let (($x11400 (not $x11395)))
 39.3943 +(let (($x11408 (or $x11400 $x11404)))
 39.3944 +(let (($x10164 (<= ?x10163 v_b_L_H_max_G_0$)))
 39.3945 +(let (($x10519 (or (not (and $x3098 (< ?0 1))) $x10164)))
 39.3946 +(let ((@x11394 (monotonicity @x3124 (rewrite (= (< ?0 1) $x11389)) (= (and $x3098 (< ?0 1)) (and (and $x2815 $x3115) $x11389)))))
 39.3947 +(let ((@x11399 (trans @x11394 (rewrite (= (and (and $x2815 $x3115) $x11389) $x11395)) (= (and $x3098 (< ?0 1)) $x11395))))
 39.3948 +(let ((@x11410 (monotonicity (monotonicity @x11399 (= (not (and $x3098 (< ?0 1))) $x11400)) (rewrite (= $x10164 $x11404)) (= $x10519 $x11408))))
 39.3949 +(let ((@x11416 (monotonicity (quant-intro @x11410 (= $x10522 $x11411)) (= (not $x10522) $x11414))))
 39.3950 +(let ((@x11986 (monotonicity @x11416 (trans @x11978 (rewrite (= (and $x11951 $x11971) $x11979)) (= $x11167 $x11979)) (= $x11174 $x11984))))
 39.3951 +(let ((@x11992 (monotonicity (monotonicity (rewrite (= $x10159 $x11382)) (= (not $x10159) $x11385)) (monotonicity (quant-intro @x11410 (= $x10522 $x11411)) @x11986 (= $x11179 $x11987)) (= $x11186 $x11990))))
 39.3952 +(let (($x11368 (and $x10145 (and $x10146 (and $x10147 (and $x10148 (and true (and true true))))))))
 39.3953 +(let (($x11366 (= $x10509 (and $x10146 (and $x10147 (and $x10148 (and true (and true true))))))))
 39.3954 +(let ((@x11355 (monotonicity (rewrite (= $x10149 true)) (rewrite (= $x10150 true)) (= $x10497 (and true true)))))
 39.3955 +(let ((@x11358 (monotonicity (rewrite (= $x10149 true)) @x11355 (= $x10500 (and true (and true true))))))
 39.3956 +(let ((@x11361 (monotonicity @x11358 (= $x10503 (and $x10148 (and true (and true true)))))))
 39.3957 +(let ((@x11364 (monotonicity @x11361 (= $x10506 (and $x10147 (and $x10148 (and true (and true true))))))))
 39.3958 +(let ((@x11373 (monotonicity (monotonicity (monotonicity @x11364 $x11366) (= $x10512 $x11368)) (= $x10515 (and $x10142 $x11368)))))
 39.3959 +(let ((@x11381 (monotonicity (trans @x11373 (rewrite (= (and $x10142 $x11368) $x11374)) (= $x10515 $x11374)) (= (not $x10515) $x11379))))
 39.3960 +(let ((@x11998 (monotonicity @x11381 (monotonicity (rewrite (= $x10159 $x11382)) @x11992 (= $x11191 $x11993)) (= $x11198 $x11996))))
 39.3961 +(let ((@x12006 (trans (monotonicity @x11998 (= $x11203 (and $x10142 $x11996))) (rewrite (= (and $x10142 $x11996) $x12002)) (= $x11203 $x12002))))
 39.3962 +(let ((@x12012 (monotonicity (monotonicity @x12006 (= $x11210 $x12007)) (= $x11215 (and $x10140 $x12007)))))
 39.3963 +(let ((@x12020 (monotonicity (trans @x12012 (rewrite (= (and $x10140 $x12007) $x12013)) (= $x11215 $x12013)) (= $x11222 $x12018))))
 39.3964 +(let (($x11306 (and $x11256 (and $x10108 (and $x10109 (and $x10112 (and $x10439 (and $x11243 $x11245))))))))
 39.3965 +(let (($x11327 (and (and $x11268 $x11270) (and $x11264 (and $x11260 (and $x10094 (and $x10095 (and $x10098 $x11306))))))))
 39.3966 +(let ((@x11344 (rewrite (= (and (and $x11284 $x11286) (and (and $x11276 $x11278) $x11327)) $x11342))))
 39.3967 +(let (($x11322 (= $x10476 (and $x11264 (and $x11260 (and $x10094 (and $x10095 (and $x10098 $x11306))))))))
 39.3968 +(let (($x11304 (= $x10451 (and $x10108 (and $x10109 (and $x10112 (and $x10439 (and $x11243 $x11245))))))))
 39.3969 +(let ((@x11293 (monotonicity (rewrite (= (<= 0 v_b_P_H_len$) $x11243)) (rewrite (= (<= v_b_P_H_len$ b_S_max_o_u4$) $x11245)) (= $x10119 (and $x11243 $x11245)))))
 39.3970 +(let ((@x11299 (monotonicity (monotonicity @x11293 (= $x10442 (and $x10439 (and $x11243 $x11245)))) (= $x10445 (and $x10112 (and $x10439 (and $x11243 $x11245)))))))
 39.3971 +(let ((@x11302 (monotonicity @x11299 (= $x10448 (and $x10109 (and $x10112 (and $x10439 (and $x11243 $x11245))))))))
 39.3972 +(let (($x11251 (>= (+ (b_S_frame_n_level$ ?0) (* (- 1) b_S_current_n_frame_n_level$)) 0)))
 39.3973 +(let (($x11250 (not $x11251)))
 39.3974 +(let ((@x11255 (rewrite (= (< (b_S_frame_n_level$ ?0) b_S_current_n_frame_n_level$) $x11250))))
 39.3975 +(let ((@x11308 (monotonicity (quant-intro @x11255 (= $x10104 $x11256)) (monotonicity @x11302 $x11304) (= $x10454 $x11306))))
 39.3976 +(let ((@x11314 (monotonicity (monotonicity @x11308 (= $x10457 (and $x10098 $x11306))) (= $x10460 (and $x10095 (and $x10098 $x11306))))))
 39.3977 +(let ((@x11320 (monotonicity (rewrite (= $x10074 $x11260)) (monotonicity @x11314 (= $x10470 (and $x10094 (and $x10095 (and $x10098 $x11306))))) (= $x10473 (and $x11260 (and $x10094 (and $x10095 (and $x10098 $x11306))))))))
 39.3978 +(let ((@x11326 (monotonicity (rewrite (= (<= 0 v_b_SL_H_witness$) $x11268)) (rewrite (= (<= v_b_SL_H_witness$ b_S_max_o_u4$) $x11270)) (= $x10071 (and $x11268 $x11270)))))
 39.3979 +(let ((@x11329 (monotonicity @x11326 (monotonicity (rewrite (= $x10073 $x11264)) @x11320 $x11322) (= $x10479 $x11327))))
 39.3980 +(let ((@x11332 (monotonicity (rewrite (= (<= 0 v_b_L_H_p$) $x11276)) (rewrite (= (<= v_b_L_H_p$ b_S_max_o_u4$) $x11278)) (= $x10067 (and $x11276 $x11278)))))
 39.3981 +(let ((@x11338 (monotonicity (rewrite (= (<= 0 v_b_L_H_max$) $x11284)) (rewrite (= (<= v_b_L_H_max$ b_S_max_o_u1$) $x11286)) (= $x10063 (and $x11284 $x11286)))))
 39.3982 +(let ((@x11341 (monotonicity @x11338 (monotonicity @x11332 @x11329 (= $x10482 (and (and $x11276 $x11278) $x11327))) (= $x10485 (and (and $x11284 $x11286) (and (and $x11276 $x11278) $x11327))))))
 39.3983 +(let ((@x11349 (monotonicity (trans @x11341 @x11344 (= $x10485 $x11342)) (= (not $x10485) (not $x11342)))))
 39.3984 +(let ((@x12026 (monotonicity @x11349 (monotonicity @x12020 (= $x11227 $x12021)) (= $x11234 (or (not $x11342) $x12021)))))
 39.3985 +(let ((@x10656 (monotonicity (rewrite (= (=> $x10242 true) true)) (= $x10244 (and $x10242 true)))))
 39.3986 +(let ((@x10663 (monotonicity (quant-intro (rewrite (= (=> $x10234 $x10235) $x10646)) (= $x10237 $x10649)) (trans @x10656 (rewrite (= (and $x10242 true) $x10242)) (= $x10244 $x10242)) (= $x10245 (=> $x10649 $x10242)))))
 39.3987 +(let ((@x10672 (monotonicity (quant-intro (rewrite (= (=> $x10234 $x10235) $x10646)) (= $x10237 $x10649)) (trans @x10663 (rewrite (= (=> $x10649 $x10242) $x10665)) (= $x10245 $x10665)) (= (and $x10237 $x10245) $x10670))))
 39.3988 +(let (($x10614 (= (and $x10218 (and $x10220 (and $x10222 true))) (and $x10218 (and $x10220 $x10222)))))
 39.3989 +(let ((@x10612 (monotonicity (rewrite (= (and $x10222 true) $x10222)) (= (and $x10220 (and $x10222 true)) (and $x10220 $x10222)))))
 39.3990 +(let ((@x10618 (monotonicity (monotonicity @x10612 $x10614) (= (and $x10216 (and $x10218 (and $x10220 (and $x10222 true)))) $x10616))))
 39.3991 +(let ((@x10625 (trans (monotonicity @x10618 (= $x10227 (and true $x10616))) (rewrite (= (and true $x10616) $x10616)) (= $x10227 $x10616))))
 39.3992 +(let ((@x10631 (monotonicity (monotonicity @x10625 (= (and $x10182 $x10227) $x10626)) (= (and $x10182 (and $x10182 $x10227)) $x10629))))
 39.3993 +(let ((@x10638 (trans (monotonicity @x10631 (= $x10230 (and true $x10629))) (rewrite (= (and true $x10629) $x10629)) (= $x10230 $x10629))))
 39.3994 +(let ((@x10644 (monotonicity (monotonicity @x10638 (= (and $x10182 $x10230) $x10639)) (= (and b_S_position_n_marker$ (and $x10182 $x10230)) $x10642))))
 39.3995 +(let ((@x10681 (trans (monotonicity @x10644 @x10672 (= $x10247 (=> $x10642 $x10670))) (rewrite (= (=> $x10642 $x10670) $x10677)) (= $x10247 $x10677))))
 39.3996 +(let (($x11117 (and $x10410 $x10182)))
 39.3997 +(let (($x11120 (and $x10182 $x11117)))
 39.3998 +(let ((@x10568 (rewrite (= (and $x10182 $x10182) $x10182))))
 39.3999 +(let ((@x10563 (rewrite (= $x10206 $x10182))))
 39.4000 +(let ((@x10570 (trans (monotonicity @x10563 (= $x10207 (and $x10182 $x10182))) @x10568 (= $x10207 $x10182))))
 39.4001 +(let ((@x11108 (trans (monotonicity @x10570 (= $x10411 (and $x10182 $x10182))) @x10568 (= $x10411 $x10182))))
 39.4002 +(let ((@x11114 (monotonicity (trans (monotonicity @x11108 (= $x10412 $x10206)) @x10563 (= $x10412 $x10182)) (= $x10413 (and $x10182 $x10182)))))
 39.4003 +(let ((@x11119 (monotonicity (trans @x11114 @x10568 (= $x10413 $x10182)) (= (and $x10410 $x10413) $x11117))))
 39.4004 +(let ((@x11125 (monotonicity (monotonicity @x11119 (= (and $x10182 (and $x10410 $x10413)) $x11120)) (= $x10416 (and true $x11120)))))
 39.4005 +(let ((@x11132 (monotonicity (trans @x11125 (rewrite (= (and true $x11120) $x11120)) (= $x10416 $x11120)) (monotonicity @x10681 (= $x10248 $x10682)) (= $x10417 (=> $x11120 $x10682)))))
 39.4006 +(let ((@x10938 (monotonicity (rewrite (= (and $x10375 false) false)) (= $x10377 (=> false true)))))
 39.4007 +(let ((@x10942 (trans @x10938 (rewrite (= (=> false true) true)) (= $x10377 true))))
 39.4008 +(let ((@x10949 (trans (monotonicity @x10942 (= $x10378 (and $x10375 true))) (rewrite (= (and $x10375 true) $x10375)) (= $x10378 $x10375))))
 39.4009 +(let ((@x10933 (quant-intro (rewrite (= (=> (and $x3098 (< ?0 v_b_L_H_p_G_1$)) $x10368) $x10928)) (= $x10370 $x10931))))
 39.4010 +(let ((@x10958 (trans (monotonicity @x10933 @x10949 (= $x10379 (=> $x10931 $x10375))) (rewrite (= (=> $x10931 $x10375) $x10954)) (= $x10379 $x10954))))
 39.4011 +(let ((@x10964 (monotonicity (monotonicity @x10933 @x10958 (= (and $x10370 $x10379) $x10959)) (= $x10381 (=> $x10365 $x10959)))))
 39.4012 +(let ((@x10973 (monotonicity (trans @x10964 (rewrite (= (=> $x10365 $x10959) $x10966)) (= $x10381 $x10966)) (= (and $x10365 $x10381) $x10971))))
 39.4013 +(let ((@x10920 (monotonicity (rewrite (= (and $x10360 true) $x10360)) (= (and $x10358 (and $x10360 true)) $x10918))))
 39.4014 +(let ((@x10903 (rewrite (= (+ v_b_L_H_p_G_0$ 1) ?x10901))))
 39.4015 +(let ((@x10915 (monotonicity @x10903 (= (= v_b_L_H_p_G_1$ (+ v_b_L_H_p_G_0$ 1)) $x10913))))
 39.4016 +(let ((@x10909 (monotonicity @x10903 (= (<= (+ v_b_L_H_p_G_0$ 1) b_S_max_o_u4$) $x10907))))
 39.4017 +(let ((@x10912 (monotonicity (monotonicity @x10903 (= (<= 0 (+ v_b_L_H_p_G_0$ 1)) $x10904)) @x10909 (= $x10355 $x10910))))
 39.4018 +(let ((@x10926 (monotonicity @x10912 (monotonicity @x10915 @x10920 (= $x10363 $x10921)) (= (and $x10355 $x10363) $x10924))))
 39.4019 +(let ((@x10982 (trans (monotonicity @x10926 @x10973 (= $x10383 (=> $x10924 $x10971))) (rewrite (= (=> $x10924 $x10971) $x10978)) (= $x10383 $x10978))))
 39.4020 +(let ((@x11021 (monotonicity (rewrite (= (and true $x10342) $x10342)) (= (and $x10392 (and true $x10342)) $x11019))))
 39.4021 +(let ((@x11024 (monotonicity @x11021 (= (and $x10391 (and $x10392 (and true $x10342))) $x11022))))
 39.4022 +(let ((@x11031 (trans (monotonicity @x11024 (= $x10395 (and true $x11022))) (rewrite (= (and true $x11022) $x11022)) (= $x10395 $x11022))))
 39.4023 +(let ((@x11037 (monotonicity (monotonicity @x11031 (= (and $x10182 $x10395) $x11032)) (= (and $x10182 (and $x10182 $x10395)) $x11035))))
 39.4024 +(let ((@x11044 (trans (monotonicity @x11037 (= $x10398 (and true $x11035))) (rewrite (= (and true $x11035) $x11035)) (= $x10398 $x11035))))
 39.4025 +(let ((@x11050 (monotonicity (monotonicity @x11044 (= (and $x10182 $x10398) $x11045)) (= (and $x10390 (and $x10182 $x10398)) $x11048))))
 39.4026 +(let ((@x11056 (monotonicity (monotonicity @x11050 (= (and $x10182 (and $x10390 (and $x10182 $x10398))) $x11051)) (= $x10402 (and true $x11051)))))
 39.4027 +(let ((@x11063 (monotonicity (trans @x11056 (rewrite (= (and true $x11051) $x11051)) (= $x10402 $x11051)) (monotonicity @x10912 @x10982 (= $x10384 $x10983)) (= $x10403 (=> $x11051 $x10983)))))
 39.4028 +(let (($x10896 (= (and $x10333 (and $x10334 (and $x10335 (and (and $x10181 $x10181) $x10346)))) $x10895)))
 39.4029 +(let ((@x10875 (monotonicity (rewrite (= (and true $x10342) $x10342)) (= (and $x10340 (and true $x10342)) $x10873))))
 39.4030 +(let ((@x10878 (monotonicity @x10875 (= (and $x10338 (and $x10340 (and true $x10342))) $x10876))))
 39.4031 +(let ((@x10885 (trans (monotonicity @x10878 (= $x10346 (and true $x10876))) (rewrite (= (and true $x10876) $x10876)) (= $x10346 $x10876))))
 39.4032 +(let ((@x10888 (monotonicity (rewrite (= (and $x10181 $x10181) $x10181)) @x10885 (= (and (and $x10181 $x10181) $x10346) $x10886))))
 39.4033 +(let ((@x10894 (monotonicity (monotonicity @x10888 (= (and $x10335 (and (and $x10181 $x10181) $x10346)) $x10889)) (= (and $x10334 (and $x10335 (and (and $x10181 $x10181) $x10346))) $x10892))))
 39.4034 +(let ((@x10988 (monotonicity (monotonicity (monotonicity @x10894 $x10896) (= $x10351 $x10898)) (monotonicity @x10912 @x10982 (= $x10384 $x10983)) (= $x10385 (=> $x10898 $x10983)))))
 39.4035 +(let ((@x10997 (monotonicity (trans @x10988 (rewrite (= (=> $x10898 $x10983) $x10990)) (= $x10385 $x10990)) (= (and $x10325 $x10385) $x10995))))
 39.4036 +(let ((@x11006 (trans (monotonicity @x10997 (= $x10387 (=> $x10323 $x10995))) (rewrite (= (=> $x10323 $x10995) $x11002)) (= $x10387 $x11002))))
 39.4037 +(let ((@x10861 (monotonicity (monotonicity @x10570 (= (and $x10328 $x10207) $x10856)) (= (and $x10182 (and $x10328 $x10207)) $x10859))))
 39.4038 +(let ((@x10868 (trans (monotonicity @x10861 (= $x10331 (and true $x10859))) (rewrite (= (and true $x10859) $x10859)) (= $x10331 $x10859))))
 39.4039 +(let ((@x11012 (monotonicity @x10868 (monotonicity @x11006 (= (and $x10323 $x10387) $x11007)) (= $x10389 (=> $x10859 $x11007)))))
 39.4040 +(let ((@x11072 (monotonicity (trans @x11012 (rewrite (= (=> $x10859 $x11007) $x11014)) (= $x10389 $x11014)) (trans @x11063 (rewrite (= (=> $x11051 $x10983) $x11065)) (= $x10403 $x11065)) (= (and $x10389 $x10403) $x11070))))
 39.4041 +(let ((@x11081 (trans (monotonicity @x11072 (= $x10405 (=> $x10326 $x11070))) (rewrite (= (=> $x10326 $x11070) $x11077)) (= $x10405 $x11077))))
 39.4042 +(let ((@x11087 (monotonicity (monotonicity @x11081 (= (and $x10325 $x10405) $x11082)) (= $x10407 (=> $x10323 $x11082)))))
 39.4043 +(let ((@x11095 (monotonicity (trans @x11087 (rewrite (= (=> $x10323 $x11082) $x11088)) (= $x10407 $x11088)) (= (and $x10323 $x10407) $x11093))))
 39.4044 +(let ((@x10848 (monotonicity (monotonicity @x10570 (= (and $x10316 $x10207) $x10843)) (= (and $x10182 (and $x10316 $x10207)) $x10846))))
 39.4045 +(let ((@x10855 (trans (monotonicity @x10848 (= $x10319 (and true $x10846))) (rewrite (= (and true $x10846) $x10846)) (= $x10319 $x10846))))
 39.4046 +(let ((@x11104 (trans (monotonicity @x10855 @x11095 (= $x10409 (=> $x10846 $x11093))) (rewrite (= (=> $x10846 $x11093) $x11100)) (= $x10409 $x11100))))
 39.4047 +(let ((@x11141 (monotonicity @x11104 (trans @x11132 (rewrite (= (=> $x11120 $x10682) $x11134)) (= $x10417 $x11134)) (= (and $x10409 $x10417) $x11139))))
 39.4048 +(let (($x10802 (= (and $x10291 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x10301))))) $x10801)))
 39.4049 +(let ((@x10777 (rewrite (= (= (b_S_statusmap$ v_b_S_s$) (b_S_statusmap$ v_b_S_s$)) true))))
 39.4050 +(let ((@x10780 (monotonicity (rewrite (= (= ?x10272 ?x10272) true)) @x10777 (= $x10300 (and true true)))))
 39.4051 +(let ((@x10784 (trans @x10780 (rewrite (= (and true true) true)) (= $x10300 true))))
 39.4052 +(let ((@x10791 (monotonicity (trans (monotonicity @x10784 (= $x10301 $x10206)) @x10563 (= $x10301 $x10182)) (= (and $x10297 $x10301) $x10789))))
 39.4053 +(let ((@x10797 (monotonicity (monotonicity @x10791 (= (and $x10294 (and $x10297 $x10301)) $x10792)) (= (and $x10293 (and $x10294 (and $x10297 $x10301))) $x10795))))
 39.4054 +(let ((@x10800 (monotonicity @x10797 (= (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x10301)))) $x10798))))
 39.4055 +(let ((@x10809 (monotonicity (monotonicity (monotonicity @x10800 $x10802) (= $x10307 $x10804)) (= (and $x10286 $x10307) $x10807))))
 39.4056 +(let ((@x10759 (rewrite (= (and true $x10286) $x10286))))
 39.4057 +(let (($x10748 (forall ((?v0 B_S_ptr$) )(! true :pattern ( (b_S_select_o_tm$ (b_S_typemap$ v_b_S_s$) ?v0) ) :qid k!704))
 39.4058 +))
 39.4059 +(let (($x10260 (b_S_thread_n_local$ v_b_S_s$ ?0)))
 39.4060 +(let (($x10275 (and (= (b_S_select_o_tm$ ?x10272 ?0) (b_S_select_o_tm$ ?x10272 ?0)) $x10260)))
 39.4061 +(let (($x10276 (=> $x10260 $x10275)))
 39.4062 +(let ((@x10714 (rewrite (= (=> $x10260 $x10260) true))))
 39.4063 +(let ((@x10707 (rewrite (= (and true $x10260) $x10260))))
 39.4064 +(let (($x10738 (= (= (b_S_select_o_tm$ ?x10272 ?0) (b_S_select_o_tm$ ?x10272 ?0)) true)))
 39.4065 +(let ((@x10743 (trans (monotonicity (rewrite $x10738) (= $x10275 (and true $x10260))) @x10707 (= $x10275 $x10260))))
 39.4066 +(let ((@x10747 (trans (monotonicity @x10743 (= $x10276 (=> $x10260 $x10260))) @x10714 (= $x10276 true))))
 39.4067 +(let ((@x10754 (trans (quant-intro @x10747 (= $x10278 $x10748)) (elim-unused (= $x10748 true)) (= $x10278 true))))
 39.4068 +(let ((@x10761 (trans (monotonicity @x10754 (= $x10287 (and true $x10286))) @x10759 (= $x10287 $x10286))))
 39.4069 +(let (($x10694 (forall ((?v0 B_S_ptr$) )(! true :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ v_b_S_s$) ?v0) ) :qid k!704))
 39.4070 +))
 39.4071 +(let ((?x10256 (b_S_statusmap$ v_b_S_s$)))
 39.4072 +(let ((?x10257 (b_S_select_o_sm$ ?x10256 ?0)))
 39.4073 +(let (($x10269 (and (= ?x10257 ?x10257) $x10260)))
 39.4074 +(let (($x10270 (=> $x10260 $x10269)))
 39.4075 +(let ((@x10727 (monotonicity (rewrite (= (= ?x10257 ?x10257) true)) (= $x10269 (and true $x10260)))))
 39.4076 +(let ((@x10731 (monotonicity (trans @x10727 @x10707 (= $x10269 $x10260)) (= $x10270 (=> $x10260 $x10260)))))
 39.4077 +(let ((@x10737 (trans (quant-intro (trans @x10731 @x10714 (= $x10270 true)) (= $x10271 $x10694)) (elim-unused (= $x10694 true)) (= $x10271 true))))
 39.4078 +(let ((@x10765 (trans (monotonicity @x10737 @x10761 (= $x10288 (and true $x10286))) @x10759 (= $x10288 $x10286))))
 39.4079 +(let (($x10717 (forall ((?v0 B_S_ptr$) )(! true :pattern ( (b_S_select_o_mem$ (b_S_memory$ v_b_S_s$) ?v0) ) :qid k!704))
 39.4080 +))
 39.4081 +(let ((?x10261 (b_S_memory$ v_b_S_s$)))
 39.4082 +(let ((?x10262 (b_S_select_o_mem$ ?x10261 ?0)))
 39.4083 +(let (($x10264 (and (= ?x10262 ?x10262) $x10260)))
 39.4084 +(let (($x10265 (=> $x10260 $x10264)))
 39.4085 +(let ((@x10705 (monotonicity (rewrite (= (= ?x10262 ?x10262) true)) (= $x10264 (and true $x10260)))))
 39.4086 +(let ((@x10712 (monotonicity (trans @x10705 @x10707 (= $x10264 $x10260)) (= $x10265 (=> $x10260 $x10260)))))
 39.4087 +(let ((@x10723 (trans (quant-intro (trans @x10712 @x10714 (= $x10265 true)) (= $x10267 $x10717)) (elim-unused (= $x10717 true)) (= $x10267 true))))
 39.4088 +(let ((@x10769 (trans (monotonicity @x10723 @x10765 (= $x10289 (and true $x10286))) @x10759 (= $x10289 $x10286))))
 39.4089 +(let (($x10253 (= (b_S_kind_n_of$ (b_S_typ$ (b_S_owner$ v_b_S_s$ ?0))) b_S_kind_n_thread$)))
 39.4090 +(let ((@x10696 (quant-intro (rewrite (= (=> (not $x10253) (not $x10253)) true)) (= $x10259 $x10694))))
 39.4091 +(let ((@x10771 (monotonicity (trans @x10696 (elim-unused (= $x10694 true)) (= $x10259 true)) @x10769 (= $x10290 (and true $x10286)))))
 39.4092 +(let ((@x10812 (monotonicity (trans @x10771 @x10759 (= $x10290 $x10286)) @x10809 (= (and $x10290 (and $x10286 $x10307)) $x10810))))
 39.4093 +(let ((@x10818 (monotonicity (monotonicity @x10812 (= (and $x10182 (and $x10290 (and $x10286 $x10307))) $x10813)) (= $x10311 (and true $x10813)))))
 39.4094 +(let ((@x10825 (monotonicity (trans @x10818 (rewrite (= (and true $x10813) $x10813)) (= $x10311 $x10813)) (= (and $x10182 $x10311) $x10823))))
 39.4095 +(let ((@x10832 (trans (monotonicity @x10825 (= $x10313 (and true $x10823))) (rewrite (= (and true $x10823) $x10823)) (= $x10313 $x10823))))
 39.4096 +(let ((@x10838 (monotonicity (monotonicity @x10832 (= (and $x10182 $x10313) $x10833)) (= $x10315 (and true $x10833)))))
 39.4097 +(let ((@x11144 (monotonicity (trans @x10838 (rewrite (= (and true $x10833) $x10833)) (= $x10315 $x10833)) @x11141 (= $x10419 (=> $x10833 $x11139)))))
 39.4098 +(let ((@x10591 (rewrite (= (and false (and $x10182 (and $x10182 (and $x10205 $x10182)))) false))))
 39.4099 +(let (($x10585 (= (and $x10182 (and true (and $x10182 (and $x10205 $x10207)))) (and $x10182 (and $x10182 (and $x10205 $x10182))))))
 39.4100 +(let (($x10574 (and $x10182 (and $x10205 $x10182))))
 39.4101 +(let (($x10210 (and true (and $x10182 (and $x10205 $x10207)))))
 39.4102 +(let ((@x10576 (monotonicity (monotonicity @x10570 (= (and $x10205 $x10207) (and $x10205 $x10182))) (= (and $x10182 (and $x10205 $x10207)) $x10574))))
 39.4103 +(let ((@x10583 (trans (monotonicity @x10576 (= $x10210 (and true $x10574))) (rewrite (= (and true $x10574) $x10574)) (= $x10210 $x10574))))
 39.4104 +(let ((@x10589 (monotonicity (rewrite (= $x10203 false)) (monotonicity @x10583 $x10585) (= $x10212 (and false (and $x10182 $x10574))))))
 39.4105