merged
authorwenzelm
Sun, 08 Oct 2017 14:48:47 +0200
changeset 66789 feb36b73a7f0
parent 66788 6b08228b02d5 (current diff)
parent 66784 df1f43d477f5 (diff)
child 66790 c0e68e6a1beb
merged
NEWS
src/Doc/System/Environment.thy
--- a/Admin/PLATFORMS	Sun Oct 08 11:58:01 2017 +0200
+++ b/Admin/PLATFORMS	Sun Oct 08 14:48:47 2017 +0200
@@ -40,7 +40,7 @@
 
   x86-windows       Windows 7
   x86_64-windows    Windows 7
-  x86-cygwin        Cygwin 2.8 http://isabelle.in.tum.de/cygwin_2017 (x86/release)
+  x86_64-cygwin     Cygwin 2.8 http://isabelle.in.tum.de/cygwin_2017 (x86_64/release)
 
 All of the above platforms are 100% supported by Isabelle -- end-users
 should not have to care about the differences (at least in theory).
@@ -67,13 +67,12 @@
 help configuring platform-dependent tools:
 
   ISABELLE_PLATFORM64  (potentially empty)
-  ISABELLE_PLATFORM32
+  ISABELLE_PLATFORM32  (potentially empty)
   ISABELLE_PLATFORM
 
-The ISABELLE_PLATFORM setting variable refers to the 32 bit version of
-the platform, even on 64 bit hardware.  Using regular bash notation,
-tools may express their preference for 64 bit with a fall-back for 32
-bit as follows:
+The ISABELLE_PLATFORM setting variable prefers the 32 bit version of the
+platform, if possible. Using regular bash notation, tools may express their
+preference for 64 bit with a fall-back for 32 bit as follows:
 
   "${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}"
 
@@ -81,7 +80,7 @@
 There is a second set of settings for native Windows (instead of the
 POSIX emulation of Cygwin used before):
 
-  ISABELLE_WINDOWS_PLATFORM64  (potentially empty)
+  ISABELLE_WINDOWS_PLATFORM64
   ISABELLE_WINDOWS_PLATFORM32
   ISABELLE_WINDOWS_PLATFORM
 
--- a/Admin/Windows/launch4j/isabelle.xml	Sun Oct 08 11:58:01 2017 +0200
+++ b/Admin/Windows/launch4j/isabelle.xml	Sun Oct 08 14:48:47 2017 +0200
@@ -23,13 +23,13 @@
     <windowTitle>{ISABELLE_NAME}</windowTitle>
   </singleInstance>
   <jre>
-    <path>%EXEDIR%\contrib\jdk\{PLATFORM}\jre</path>
-    <bundledJre64Bit>{PLATFORM_IS_64}</bundledJre64Bit>
+    <path>%EXEDIR%\contrib\jdk\x86_64-windows\jre</path>
+    <bundledJre64Bit>true</bundledJre64Bit>
     <bundledJreAsFallback>false</bundledJreAsFallback>
     <minVersion></minVersion>
     <maxVersion></maxVersion>
     <jdkPreference>jdkOnly</jdkPreference>
-    <runtimeBits>{PLATFORM_BITS}</runtimeBits>
+    <runtimeBits>64</runtimeBits>
     <opt>-Disabelle.root=&quot;%EXEDIR%&quot; -Dcygwin.root=&quot;%EXEDIR%\contrib\cygwin&quot;</opt>
   </jre>
   <splash>
--- a/Admin/bash_process/build	Sun Oct 08 11:58:01 2017 +0200
+++ b/Admin/bash_process/build	Sun Oct 08 14:48:47 2017 +0200
@@ -42,7 +42,7 @@
   x86-linux | x86-darwin)
     cc -Wall -m32 bash_process.c -o "$TARGET/bash_process"
     ;;
-  x86-cygwin)
+  x86_64-cygwin | x86-cygwin)
     cc -Wall bash_process.c -o "$TARGET/bash_process.exe"
     ;;
   *)
--- a/Admin/components/bundled-windows	Sun Oct 08 11:58:01 2017 +0200
+++ b/Admin/components/bundled-windows	Sun Oct 08 14:48:47 2017 +0200
@@ -1,3 +1,3 @@
 #additional components to be bundled for release
-cygwin-20170828
+cygwin-20170930
 windows_app-20150821
--- a/Admin/components/components.sha1	Sun Oct 08 11:58:01 2017 +0200
+++ b/Admin/components/components.sha1	Sun Oct 08 14:48:47 2017 +0200
@@ -1,6 +1,7 @@
 fbe83b522cb37748ac1b3c943ad71704fdde2f82  bash_process-1.1.1.tar.gz
 bb9ef498cd594b4289221b96146d529c899da209  bash_process-1.1.tar.gz
 81250148f8b89ac3587908fb20645081d7f53207  bash_process-1.2.1.tar.gz
+97b2491382130a841b3bbaebdcf8720c4d4fb227  bash_process-1.2.2.tar.gz
 9e21f447bfa0431ae5097301d553dd6df3c58218  bash_process-1.2.tar.gz
 e7ffe4238b61a3c1ee87aca4421e7a612e09b836  ci-extras-1.tar.gz
 70105fd6fbfd1a868383fc510772b95234325d31  csdp-6.x.tar.gz
@@ -33,6 +34,7 @@
 dd56dd16d861fc6e1a008bf5e9da6f33ed6eb820  cygwin-20161022.tar.gz
 d9ad7aae99d54e3b9813151712eb88a441613f04  cygwin-20161024.tar.gz
 f8eb6a0f722e3cfe3775d1204c5c7063ee1f008e  cygwin-20170828.tar.gz
+c22048912b010a5a0b4f2a3eb4d318d6953761e4  cygwin-20170930.tar.gz
 0fe549949a025d65d52d6deca30554de8fca3b6e  e-1.5.tar.gz
 2e293256a134eb8e5b1a283361b15eb812fbfbf1  e-1.6-1.tar.gz
 e1919e72416cbd7ac8de5455caba8901acc7b44d  e-1.6-2.tar.gz
@@ -148,11 +150,13 @@
 822f489c18e38ce5ef979ec21dccce4473e09be6  polyml-5.6-20151206.tar.gz
 bd6a448f0e0d5787747f4f30ca661f9c1868e4a7  polyml-5.6-20151223.tar.gz
 5b70c12c95a90d858f90c1945011289944ea8e17  polyml-5.6-20160118.tar.gz
+21fa0592b7dfd23269063f42604438165630c0f0  polyml-5.6-2.tar.gz
 5b19dc93082803b82aa553a5cfb3e914606c0ffd  polyml-5.6.tar.gz
 80b923fca3533bf291ff9da991f2262a98b68cc4  polyml-5.7-20170217.tar.gz
 5fbcab1da2b5eb97f24da2590ece189d55b3a105  polyml-5.7.tar.gz
 853ab0e9ff2b73790cc80a2d36cbff8b03e50a8e  polyml-test-7a7b742897e9.tar.gz
 c629cd499a724bbe37b962f727e4ff340c50299d  polyml-test-8529546198aa.tar.gz
+b4ceeaac47f3baae41c2491a8368b03217946166  polyml-test-e7a662f8f9c4.tar.gz
 53123dc011b2d4b4e8fe307f3c9fa355718ad01a  postgresql-42.1.1.tar.gz
 3a5d31377ec07a5069957f5477a4848cfc89a594  postgresql-42.1.4.tar.gz
 f132329ca1045858ef456cc08b197c9eeea6881b  postgresql-9.4.1212.tar.gz
@@ -194,6 +198,7 @@
 f5afcc82f8e734665d38867e99475d3ad0d5ed15  sumatra_pdf-3.1.1.tar.gz
 8486387f61557147ec06b1f637117c017c8f0528  sumatra_pdf-3.1.2.tar.gz
 869ea6d8ea35c8ba68d7fcb028f16b2b7064c5fd  vampire-1.0.tar.gz
+98c5c79fef7256db9f64c8feea2edef0a789ce46  verit-2016post.tar.gz
 81d21dfd0ea5c58f375301f5166be9dbf8921a7a  windows_app-20130716.tar.gz
 fe15e1079cf5ad86f3cbab4553722a0d20002d11  windows_app-20130905.tar.gz
 e6a43b7b3b21295853bd2a63b27ea20bd6102f5f  windows_app-20130906.tar.gz
--- a/Admin/components/main	Sun Oct 08 11:58:01 2017 +0200
+++ b/Admin/components/main	Sun Oct 08 14:48:47 2017 +0200
@@ -1,5 +1,5 @@
 #main components for everyday use, without big impact on overall build time
-bash_process-1.2.1
+bash_process-1.2.2
 csdp-6.x
 cvc4-1.5-3
 e-2.0-1
@@ -10,12 +10,13 @@
 jortho-1.0-2
 kodkodi-1.5.2
 nunchaku-0.5
-polyml-5.6-1
+polyml-5.6-2
 postgresql-42.1.4
 scala-2.12.3
 smbc-0.4.1
 ssh-java-20161009
 spass-3.8ds
 sqlite-jdbc-3.20.0
+verit-2016post
 xz-java-1.6
-z3-4.4.0pre
+z3-4.4.0pre-1
--- a/Admin/lib/Tools/makedist_bundle	Sun Oct 08 11:58:01 2017 +0200
+++ b/Admin/lib/Tools/makedist_bundle	Sun Oct 08 14:48:47 2017 +0200
@@ -12,7 +12,7 @@
   echo "Usage: isabelle $PRG ARCHIVE PLATFORM_FAMILY [REMOTE_MAC]"
   echo
   echo "  Re-package Isabelle source distribution with add-on components and"
-  echo "  post-hoc patches for platform family linux, windows, windows64, macos."
+  echo "  post-hoc patches for platform family linux, windows, macos."
   echo
   echo "  The optional remote Mac OS X system is used for dmg build."
   echo
@@ -36,12 +36,6 @@
 PLATFORM_FAMILY="$1"; shift
 REMOTE_MAC="$1"; shift
 
-if [ "$PLATFORM_FAMILY" = windows64 ]; then
-  PLATFORM_FAM="windows"
-else
-  PLATFORM_FAM="$PLATFORM_FAMILY"
-fi
-
 [ -f "$ARCHIVE" ] || fail "Bad source archive: $ARCHIVE"
 
 ARCHIVE_DIR="$(cd $(dirname "$ARCHIVE"); echo "$PWD")"
@@ -98,7 +92,7 @@
 
 echo "#bundled components" >> "$ISABELLE_TARGET/etc/components"
 
-for CATALOG in main "$PLATFORM_FAM" bundled "bundled-$PLATFORM_FAM"
+for CATALOG in main "$PLATFORM_FAMILY" bundled "bundled-$PLATFORM_FAMILY"
 do
   CATALOG_FILE="$ISABELLE_HOME/Admin/components/$CATALOG"
   if [ -f "$CATALOG_FILE" ]
@@ -194,7 +188,7 @@
 perl -pi -e "s,view.title=Isabelle/jEdit,view.title=${ISABELLE_NAME},g;" \
   "$ISABELLE_TARGET/src/Tools/jEdit/dist/properties/jEdit.props"
 
-case "$PLATFORM_FAM" in
+case "$PLATFORM_FAMILY" in
   linux)
     purge_target 'contrib -name "x86*-darwin" -o -name "x86*-cygwin" -o -name "x86*-windows"'
     purge_jdk "x86-linux"
@@ -250,19 +244,9 @@
       "$ISABELLE_TARGET/src/Tools/jEdit/dist/properties/jEdit.props"
     ;;
   windows)
-    if [ "$PLATFORM_FAMILY" = windows ]; then
-      purge_target 'contrib -name x86_64-windows -o -name "x86*-linux" -o -name "x86*-darwin"'
-      PLATFORM="x86-windows"
-      PLATFORM_IS_64="false"
-      PLATFORM_BITS="32"
-    else
-      purge_target 'contrib -name "x86*-linux" -o -name "x86*-darwin"'
-      purge_target 'contrib/jdk -name "x86-windows"'
-      PLATFORM="x86_64-windows"
-      PLATFORM_IS_64="true"
-      PLATFORM_BITS="64"
-    fi
-    purge_jdk "$PLATFORM"
+    purge_target 'contrib -name "x86*-linux" -o -name "x86*-darwin" -o -name "x86-cygwin"'
+    purge_target 'contrib/jdk -name "x86-windows"'
+    purge_jdk "x86_64-windows"
 
     mv "$ISABELLE_TARGET/contrib/windows_app" "$TMP/."
 
@@ -275,13 +259,8 @@
       init_component "$JEDIT_HOME"
 
       declare -a JAVA_ARGS=()
-      if [ "$PLATFORM_FAMILY" = windows ]; then
-        echo -e "# Java runtime options for 32bit platform\r"
-        eval "JAVA_ARGS=($ISABELLE_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_OPTIONS32)"
-      else
-        echo -e "# Java runtime options for 64bit platform\r"
-        eval "JAVA_ARGS=($ISABELLE_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_OPTIONS64)"
-      fi
+      echo -e "# Java runtime options for 64bit platform\r"
+      eval "JAVA_ARGS=($ISABELLE_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_OPTIONS64)"
       for ARG in "${JAVA_ARGS[@]}"
       do
         echo -e "$ARG\r"
@@ -309,9 +288,6 @@
         -e "s,{SPLASH},$APP_TEMPLATE/isabelle.bmp,g;" \
         -e "s,{CLASSPATH},$EXE_CLASSPATH,g;" \
         -e "s,{ISABELLE_NAME},$ISABELLE_NAME,g;" \
-        -e "s,{PLATFORM},$PLATFORM,g;" \
-        -e "s,{PLATFORM_IS_64},$PLATFORM_IS_64,g;" \
-        -e "s,{PLATFORM_BITS},$PLATFORM_BITS,g;" \
         "$APP_TEMPLATE/isabelle.xml" > isabelle.xml
 
       "windows_app/launch4j-${ISABELLE_PLATFORM_FAMILY}/launch4j" isabelle.xml
@@ -361,7 +337,7 @@
 
 # platform-specific setup (outside archive)
 
-case "$PLATFORM_FAM" in
+case "$PLATFORM_FAMILY" in
   linux)
     echo "application for $PLATFORM_FAMILY"
     ln -s "${ISABELLE_NAME}_linux.tar.gz" "${ARCHIVE_DIR}/${ISABELLE_NAME}_app.tar.gz"
@@ -432,12 +408,6 @@
     ;;
   windows)
     (
-      if [ "$PLATFORM_FAMILY" = windows ]; then
-        PLATFORM_SUFFIX="-win32"
-      else
-        PLATFORM_SUFFIX="-win64"
-      fi
-
       cd "$TMP"
       rm -f "${ARCHIVE_DIR}/${ISABELLE_NAME}.7z"
       7z -y -bd a "$TMP/${ISABELLE_NAME}.7z" "$ISABELLE_NAME" || exit 2
@@ -448,8 +418,8 @@
         cat "$ISABELLE_HOME/Admin/Windows/Installer/sfx.txt" | \
           perl -p -e "s,{ISABELLE_NAME},${ISABELLE_NAME},g;"
         cat "$TMP/${ISABELLE_NAME}.7z"
-      ) > "${ARCHIVE_DIR}/${ISABELLE_NAME}${PLATFORM_SUFFIX}.exe"
-      chmod +x "${ARCHIVE_DIR}/${ISABELLE_NAME}${PLATFORM_SUFFIX}.exe"
+      ) > "${ARCHIVE_DIR}/${ISABELLE_NAME}.exe"
+      chmod +x "${ARCHIVE_DIR}/${ISABELLE_NAME}.exe"
     )
     ;;
   *)
--- a/Admin/polyml/CHECKLIST	Sun Oct 08 11:58:01 2017 +0200
+++ b/Admin/polyml/CHECKLIST	Sun Oct 08 14:48:47 2017 +0200
@@ -2,7 +2,7 @@
 ===============================================
 
 * component skeleton:
-  $ isabelle build_polyml_component -s sha1 component
+  $ isabelle build_polyml -s sha1 component
 
 * include full source (without symlink), for example:
   $ wget https://github.com/polyml/polyml/archive/master.zip
--- a/Admin/polyml/settings	Sun Oct 08 11:58:01 2017 +0200
+++ b/Admin/polyml/settings	Sun Oct 08 14:48:47 2017 +0200
@@ -12,11 +12,11 @@
   ML_SYSTEM_64="false"
 fi
 
-case "${ISABELLE_PLATFORM}:${ML_SYSTEM_64}" in
-  x86-cygwin:true)
+case "${ISABELLE_PLATFORM_FAMILY}:${ML_SYSTEM_64}" in
+  windows:true)
     PLATFORMS="x86_64-windows x86-windows"
     ;;
-  x86-cygwin:*)
+  windows:*)
     PLATFORMS="x86-windows x86_64-windows"
     ;;
   *:true)
@@ -41,7 +41,7 @@
 
       # ML settings
 
-      ML_SYSTEM=polyml-5.7
+      ML_SYSTEM=polyml-5.7.1
       ML_PLATFORM="$PLATFORM"
       ML_HOME="$POLYML_HOME/$ML_PLATFORM"
       ML_SOURCES="$POLYML_HOME/src"
--- a/CONTRIBUTORS	Sun Oct 08 11:58:01 2017 +0200
+++ b/CONTRIBUTORS	Sun Oct 08 14:48:47 2017 +0200
@@ -3,6 +3,10 @@
 listed as an author in one of the source files of this Isabelle distribution.
 
 
+Contributions to this Isabelle version
+--------------------------------------
+
+
 Contributions to Isabelle2017
 -----------------------------
 
--- a/NEWS	Sun Oct 08 11:58:01 2017 +0200
+++ b/NEWS	Sun Oct 08 14:48:47 2017 +0200
@@ -4,6 +4,57 @@
 (Note: Isabelle/jEdit shows a tree-view of the NEWS file in Sidekick.)
 
 
+New in this Isabelle version
+----------------------------
+
+*** General ***
+
+* Session-qualified theory names are mandatory: it is no longer possible
+to refer to unqualified theories from the parent session.
+INCOMPATIBILITY for old developments that have not been updated to
+Isabelle2017 yet (using the "isabelle imports" tool).
+
+* Command 'external_file' declares the formal dependency on the given
+file name, such that the Isabelle build process knows about it, but
+without specific Prover IDE management.
+
+* Session ROOT entries no longer allow specification of 'files'. Rare
+INCOMPATIBILITY, use command 'external_file' within a proper theory
+context.
+
+* Session root directories may be specified multiple times: each
+accessible ROOT file is processed only once. This facilitates
+specification of $ISABELLE_HOME_USER/ROOTS or command-line options like
+-d or -D for "isabelle build" and "isabelle jedit". Example:
+
+  isabelle build -D '~~/src/ZF'
+
+
+*** Prover IDE -- Isabelle/Scala/jEdit ***
+
+* Completion supports theory header imports.
+
+
+*** HOL ***
+
+* SMT module:
+  - The 'smt_oracle' option is now necessary when using the 'smt' method
+    with a solver other than Z3. INCOMPATIBILITY.
+  - The encoding to first-order logic is now more complete in the presence of
+    higher-order quantifiers. An 'smt_explicit_application' option has been
+    added to control this. INCOMPATIBILITY.
+
+
+*** System ***
+
+* Windows and Cygwin is for x86_64 only. Old 32bit platform support has
+been discontinued.
+
+* Command-line tool "isabelle build" supports new options:
+  - option -B NAME: include session NAME and all descendants
+  - option -S: only observe changes of sources, not heap images
+
+
 New in Isabelle2017 (October 2017)
 ----------------------------------
 
--- a/README_REPOSITORY	Sun Oct 08 11:58:01 2017 +0200
+++ b/README_REPOSITORY	Sun Oct 08 14:48:47 2017 +0200
@@ -7,7 +7,7 @@
 1a. Linux and Mac OS X: ensure that Mercurial is installed
     (see also http://www.selenic.com/mercurial)
 
-1b. Windows: ensure that Cygwin with curl and Mercurial is installed
+1b. Windows: ensure that Cygwin64 with curl and Mercurial is installed
     (see also http://www.cygwin.com)
 
 2. Clone repository (bash shell commands):
@@ -300,7 +300,9 @@
   ./bin/isabelle build -a -j2 -o threads=4  #test on multiple cores (example)
 
 See also the chapter on Isabelle sessions and build management in the
-"system" manual.
+"system" manual. The build option -S is particularly useful for quick
+tests of individual commits, e.g. for each step of a longer chain of
+changes, but the final push always requires a full test as above!
 
 Note that implicit dependencies on Isabelle components are specified
 via catalog files in $ISABELLE_HOME/Admin/components/ as part of the
--- a/etc/options	Sun Oct 08 11:58:01 2017 +0200
+++ b/etc/options	Sun Oct 08 14:48:47 2017 +0200
@@ -113,9 +113,6 @@
 option profiling : string = ""
   -- "ML profiling (possible values: time, allocations)"
 
-option theory_qualifier : string = ""
-  -- "explicit theory qualifier for special sessions (default: session name)"
-
 
 section "ML System"
 
--- a/lib/scripts/isabelle-platform	Sun Oct 08 11:58:01 2017 +0200
+++ b/lib/scripts/isabelle-platform	Sun Oct 08 14:48:47 2017 +0200
@@ -1,8 +1,7 @@
 # -*- shell-script -*- :mode=shellscript:
 #
-# determine general hardware and operating system type for Isabelle
+# determine general hardware and operating system type for Isabelle system tools
 #
-# NOTE: The ML system or JVM may have their own idea about the platform!
 
 ISABELLE_PLATFORM_FAMILY=""
 ISABELLE_PLATFORM32=""
@@ -40,27 +39,22 @@
     ;;
   CYGWIN_NT*)
     ISABELLE_PLATFORM_FAMILY="windows"
+    if [ "$PROCESSOR_ARCHITECTURE" = "AMD64" -o "$PROCESSOR_ARCHITEW6432" = "AMD64" ]; then
+      ISABELLE_WINDOWS_PLATFORM32="x86-windows"
+      ISABELLE_WINDOWS_PLATFORM64="x86_64-windows"
+    else
+      ISABELLE_WINDOWS_PLATFORM32="x86-windows"
+    fi
     case $(uname -m) in
-      i?86 | x86_64)
+      x86_64)
+        ISABELLE_PLATFORM64=x86_64-cygwin
+        ;;
+      i?86)
         ISABELLE_PLATFORM32=x86-cygwin
-        if [ "$PROCESSOR_ARCHITECTURE" = "AMD64" -o "$PROCESSOR_ARCHITEW6432" = "AMD64" ]; then
-          ISABELLE_WINDOWS_PLATFORM32="x86-windows"
-          ISABELLE_WINDOWS_PLATFORM64="x86_64-windows"
-        else
-          ISABELLE_WINDOWS_PLATFORM32="x86-windows"
-        fi
-        ;;
-    esac
-    ;;
-  *BSD)
-    ISABELLE_PLATFORM_FAMILY="linux"
-    case $(uname -m) in
-      i?86 | x86_64)
-        ISABELLE_PLATFORM32=x86-linux  #cf. BSD Linux Binary Compatibility
         ;;
     esac
     ;;
 esac
 
-ISABELLE_PLATFORM="$ISABELLE_PLATFORM32"
-ISABELLE_WINDOWS_PLATFORM="$ISABELLE_WINDOWS_PLATFORM32"
+ISABELLE_PLATFORM="${ISABELLE_PLATFORM32:-$ISABELLE_PLATFORM64}"
+ISABELLE_WINDOWS_PLATFORM="${ISABELLE_WINDOWS_PLATFORM32:-$ISABELLE_WINDOWS_PLATFORM64}"
--- a/src/Doc/Isar_Ref/Spec.thy	Sun Oct 08 11:58:01 2017 +0200
+++ b/src/Doc/Isar_Ref/Spec.thy	Sun Oct 08 14:48:47 2017 +0200
@@ -1177,6 +1177,23 @@
 \<close>
 
 
+section \<open>External file dependencies\<close>
+
+text \<open>
+  \begin{matharray}{rcl}
+    @{command_def "external_file"} & : & \<open>any \<rightarrow> any\<close> \\
+  \end{matharray}
+
+  @{rail \<open>@@{command external_file} @{syntax name} ';'?\<close>}
+
+  \<^descr> \<^theory_text>\<open>external_file name\<close> declares the formal dependency on the given file
+  name, such that the Isabelle build process knows about it (see also @{cite
+  "isabelle-system"}). The file can be read e.g.\ in Isabelle/ML via @{ML
+  File.read}, without specific management by the Prover IDE.
+\<close>
+
+
+
 section \<open>Primitive specification elements\<close>
 
 subsection \<open>Sorts\<close>
--- a/src/Doc/ROOT	Sun Oct 08 11:58:01 2017 +0200
+++ b/src/Doc/ROOT	Sun Oct 08 14:48:47 2017 +0200
@@ -48,7 +48,6 @@
   options [document_variants = "corec"]
   sessions
     Datatypes
-  theories [document = false] Datatypes.Setup
   theories Corec
   document_files (in "..")
     "prepare_document"
@@ -248,9 +247,6 @@
   options [document_variants = "sugar"]
   sessions
     "HOL-Library"
-  theories [document = false]
-    "HOL-Library.LaTeXsugar"
-    "HOL-Library.OptionalSugar"
   theories Sugar
   document_files (in "..")
     "prepare_document"
--- a/src/Doc/Sledgehammer/document/root.tex	Sun Oct 08 11:58:01 2017 +0200
+++ b/src/Doc/Sledgehammer/document/root.tex	Sun Oct 08 14:48:47 2017 +0200
@@ -165,9 +165,7 @@
 \begin{sloppy}
 \begin{enum}
 \item[\labelitemi] If you installed an official Isabelle package, it should
-already include properly setup executables for CVC4, E, SPASS, and Z3, ready to use.%
-\footnote{Vampire's license prevents us from doing the same for
-this otherwise remarkable tool.}
+already include properly setup executables for CVC4, E, SPASS, veriT, and Z3, ready to use.
 
 \item[\labelitemi] Alternatively, you can download the Isabelle-aware CVC3,
 CVC4, E, SPASS, and Z3 binary packages from \download. Extract the archives,
@@ -186,26 +184,26 @@
 
 in it.
 
-\item[\labelitemi] If you prefer to build AgsyHOL, Alt-Ergo, E, LEO-II,
-Satallax, or SPASS manually, or found a Vampire executable somewhere (e.g.,
+\item[\labelitemi] If you prefer to build AgsyHOL, Alt-Ergo, E, LEO-II, or
+Satallax manually, or found a Vampire executable somewhere (e.g.,
 \url{http://www.vprover.org/}), set the environment variable
 \texttt{AGSYHOL\_HOME}, \texttt{E\_HOME}, \texttt{LEO2\_HOME},
-\texttt{SATALLAX\_HOME}, \texttt{SPASS\_HOME}, or
+\texttt{SATALLAX\_HOME}, or
 \texttt{VAMPIRE\_HOME} to the directory that contains the \texttt{agsyHOL},
 \texttt{eprover} (and/or \texttt{eproof} or \texttt{eproof\_ram}),
-\texttt{leo}, \texttt{satallax}, \texttt{SPASS}, or \texttt{vampire} executable;
+\texttt{leo}, \texttt{satallax}, or \texttt{vampire} executable;
 for Alt-Ergo, set the
 environment variable \texttt{WHY3\_HOME} to the directory that contains the
 \texttt{why3} executable.
 Sledgehammer has been tested with AgsyHOL 1.0, Alt-Ergo 0.95.2, E 1.6 to 2.0,
-LEO-II 1.3.4, Satallax 2.2 to 2.7, SPASS 3.8ds, and Vampire 0.6 to 4.0.%
+LEO-II 1.3.4, Satallax 2.2 to 2.7, and Vampire 0.6 to 4.0.%
 \footnote{Following the rewrite of Vampire, the counter for version numbers was
 reset to 0; hence the (new) Vampire versions 0.6, 1.0, 1.8, 2.6, and 3.0 are more
 recent than 9.0 or 11.5.}%
 Since the ATPs' output formats are neither documented nor stable, other
 versions might not work well with Sledgehammer. Ideally,
 you should also set \texttt{E\_VERSION}, \texttt{LEO2\_VERSION},
-\texttt{SATALLAX\_VERSION}, \texttt{SPASS\_VERSION}, or
+\texttt{SATALLAX\_VERSION}, or
 \texttt{VAMPIRE\_VERSION} to the prover's version number (e.g., ``4.0'').
 
 Similarly, if you want to install CVC3, CVC4, veriT, or Z3, set the environment
@@ -220,11 +218,11 @@
 \end{enum}
 \end{sloppy}
 
-To check whether E, SPASS, Vampire, and/or Z3 are successfully installed, try
-out the example in \S\ref{first-steps}. If the remote versions of any of these
-provers is used (identified by the prefix ``\textit{remote\_\/}''), or if the
-local versions fail to solve the easy goal presented there, something must be
-wrong with the installation.
+To check whether the provers are successfully installed, try out the example
+in \S\ref{first-steps}. If the remote versions of any of these provers is used
+(identified by the prefix ``\textit{remote\_\/}''), or if the local versions
+fail to solve the easy goal presented there, something must be wrong with the
+installation.
 
 Remote prover invocation requires Perl with the World Wide Web Library
 (\texttt{libwww-perl}) installed. If you must use a proxy server to access the
@@ -312,11 +310,6 @@
 is better for first-order problems. Hence, you may get better results if you
 first simplify the problem to remove higher-order features.
 
-\point{Make sure E, SPASS, Vampire, and Z3 are locally installed}
-
-Locally installed provers are faster and more reliable than those running on
-servers. See \S\ref{installation} for details on how to install them.
-
 \point{Familiarize yourself with the main options}
 
 Sledgehammer's options are fully documented in \S\ref{command-syntax}. Many of
@@ -591,8 +584,8 @@
 theory to process all the available facts, learning from proofs generated by
 automatic provers. The prover to use and its timeout can be set using the
 \textit{prover} (\S\ref{mode-of-operation}) and \textit{timeout}
-(\S\ref{timeouts}) options. It is recommended to perform learning using an
-efficient first-order ATP (such as E, SPASS, and Vampire) as opposed to a
+(\S\ref{timeouts}) options. It is recommended to perform learning using a
+first-order ATP (such as E, SPASS, and Vampire) as opposed to a
 higher-order ATP or an SMT solver.
 
 \item[\labelitemi] \textbf{\textit{relearn\_isar}:} Same as \textit{unlearn}
--- a/src/Doc/System/Environment.thy	Sun Oct 08 11:58:01 2017 +0200
+++ b/src/Doc/System/Environment.thy	Sun Oct 08 14:48:47 2017 +0200
@@ -1,4 +1,4 @@
-     (*:maxLineLen=78:*)
+(*:maxLineLen=78:*)
 
 theory Environment
 imports Base
@@ -118,22 +118,38 @@
   \<^descr>[@{setting_def ISABELLE_PLATFORM_FAMILY}\<open>\<^sup>*\<close>] is automatically set to the
   general platform family: \<^verbatim>\<open>linux\<close>, \<^verbatim>\<open>macos\<close>, \<^verbatim>\<open>windows\<close>. Note that
   platform-dependent tools usually need to refer to the more specific
-  identification according to @{setting ISABELLE_PLATFORM}, @{setting
-  ISABELLE_PLATFORM32}, @{setting ISABELLE_PLATFORM64}.
+  identification according to @{setting ISABELLE_PLATFORM} etc.
+
+  \<^descr>[@{setting_def ISABELLE_PLATFORM32}\<open>\<^sup>*\<close>, @{setting_def
+  ISABELLE_PLATFORM64}\<open>\<^sup>*\<close>, @{setting_def ISABELLE_PLATFORM}\<open>\<^sup>*\<close>] indicate the
+  standard Posix platform: \<^verbatim>\<open>x86\<close> for 32 bit and \<^verbatim>\<open>x86_64\<close> for 64 bit,
+  together with a symbolic name for the operating system (\<^verbatim>\<open>linux\<close>, \<^verbatim>\<open>darwin\<close>,
+  \<^verbatim>\<open>cygwin\<close>). Some platforms support both 32 bit and 64 bit executables, but
+  this depends on various side-conditions.
+
+  In GNU bash scripts, it is possible to use the following expressions
+  (including the quotes) to specify a preference of 64 bit over 32 bit:
+
+  @{verbatim [display] \<open>"${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}"\<close>}
 
-  \<^descr>[@{setting_def ISABELLE_PLATFORM}\<open>\<^sup>*\<close>] is automatically set to a symbolic
-  identifier for the underlying hardware and operating system. The Isabelle
-  platform identification always refers to the 32 bit variant, even this is a
-  64 bit machine. Note that the ML or Java runtime may have a different idea,
-  depending on which binaries are actually run.
+  In contrast, the subsequent expression prefers the 32 bit variant; this is
+  how @{setting ISABELLE_PLATFORM} is defined:
+
+  @{verbatim [display] \<open>"${ISABELLE_PLATFORM32:-$ISABELLE_PLATFORM64}"\<close>}
 
-  \<^descr>[@{setting_def ISABELLE_PLATFORM64}\<open>\<^sup>*\<close>] is similar to @{setting
-  ISABELLE_PLATFORM} but refers to the proper 64 bit variant on a platform
-  that supports this; the value is empty for 32 bit. Note that the following
-  bash expression (including the quotes) prefers the 64 bit platform, if that
-  is available:
+  \<^descr>[@{setting_def ISABELLE_WINDOWS_PLATFORM32}\<open>\<^sup>*\<close>, @{setting_def
+  ISABELLE_WINDOWS_PLATFORM64}\<open>\<^sup>*\<close>,] @{setting_def
+  ISABELLE_WINDOWS_PLATFORM}\<open>\<^sup>*\<close> indicate the native Windows platform. These
+  settings are analogous (but independent) of those for the standard Posix
+  subsystem: @{setting ISABELLE_PLATFORM32}, @{setting ISABELLE_PLATFORM64},
+  @{setting ISABELLE_PLATFORM}.
 
-  @{verbatim [display] \<open>"${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM}"\<close>}
+  In GNU bash scripts, a preference for native Windows platform variants may
+  be specified like this:
+
+  @{verbatim [display] \<open>"${ISABELLE_WINDOWS_PLATFORM:-$ISABELLE_PLATFORM}"\<close>}
+
+  @{verbatim [display] \<open>"${ISABELLE_WINDOWS_PLATFORM64:-${ISABELLE_WINDOWS_PLATFORM32:-${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}}}"\<close>}
 
   \<^descr>[@{setting ISABELLE_TOOL}\<open>\<^sup>*\<close>] is automatically set to the full path name
   of the @{executable isabelle} executable.
@@ -155,11 +171,15 @@
   of @{setting ML_SYSTEM}, @{setting ML_PLATFORM} and the Isabelle version
   values.
 
-  \<^descr>[@{setting_def ISABELLE_JDK_HOME}] needs to point to a full JDK (Java
-  Development Kit) installation with \<^verbatim>\<open>javac\<close> and \<^verbatim>\<open>jar\<close> executables. This is
-  essential for Isabelle/Scala and other JVM-based tools to work properly.
-  Note that conventional \<^verbatim>\<open>JAVA_HOME\<close> usually points to the JRE (Java Runtime
-  Environment), not JDK.
+  \<^descr>[@{setting_def ISABELLE_JDK_HOME}] points to a full JDK (Java Development
+  Kit) installation with \<^verbatim>\<open>javac\<close> and \<^verbatim>\<open>jar\<close> executables. Note that
+  conventional \<^verbatim>\<open>JAVA_HOME\<close> points to the JRE (Java Runtime Environment), not
+  the JDK.
+
+  \<^descr>[@{setting_def ISABELLE_JAVA_PLATFORM}] identifies the hardware and
+  operating system platform for the Java installation of Isabelle. That is
+  usually the (native) 64 bit variant: \<^verbatim>\<open>x86_64-linux\<close>, \<^verbatim>\<open>x86_64-darwin\<close>,
+  \<^verbatim>\<open>x86_64-windows\<close>.
 
   \<^descr>[@{setting_def ISABELLE_PATH}] is a list of directories (separated by
   colons) where Isabelle logic images may reside. When looking up heaps files,
--- a/src/Doc/System/Sessions.thy	Sun Oct 08 11:58:01 2017 +0200
+++ b/src/Doc/System/Sessions.thy	Sun Oct 08 14:48:47 2017 +0200
@@ -54,7 +54,7 @@
 
     @{syntax_def session_entry}: @'session' spec '=' (@{syntax name} '+')? body
     ;
-    body: description? options? (theories+) \<newline> files? (document_files*)
+    body: description? options? (theories+) \<newline> (document_files*)
     ;
     spec: @{syntax name} groups? dir?
     ;
@@ -76,16 +76,13 @@
     ;
     theory_entry: @{syntax name} ('(' @'global' ')')?
     ;
-    files: @'files' (@{syntax name}+)
-    ;
     document_files: @'document_files' ('(' dir ')')? (@{syntax name}+)
   \<close>}
 
   \<^descr> \isakeyword{session}~\<open>A = B + body\<close> defines a new session \<open>A\<close> based on
-  parent session \<open>B\<close>, with its content given in \<open>body\<close> (imported sessions,
-  theories and auxiliary source files). Note that a parent (like \<open>HOL\<close>) is
-  mandatory in practical applications: only Isabelle/Pure can bootstrap itself
-  from nothing.
+  parent session \<open>B\<close>, with its content given in \<open>body\<close> (imported sessions and
+  theories). Note that a parent (like \<open>HOL\<close>) is mandatory in practical
+  applications: only Isabelle/Pure can bootstrap itself from nothing.
 
   All such session specifications together describe a hierarchy (graph) of
   sessions, with globally unique names. The new session name \<open>A\<close> should be
@@ -103,9 +100,8 @@
   directory for this session; by default this is the current directory of the
   \<^verbatim>\<open>ROOT\<close> file.
 
-  All theories and auxiliary source files are located relatively to the
-  session directory. The prover process is run within the same as its current
-  working directory.
+  All theory files are located relatively to the session directory. The prover
+  process is run within the same as its current working directory.
 
   \<^descr> \isakeyword{description}~\<open>text\<close> is a free-form annotation for this
   session.
@@ -135,12 +131,6 @@
   the default is to qualify theory names by the session name, in order to
   ensure globally unique names in big session graphs.
 
-  \<^descr> \isakeyword{files}~\<open>files\<close> lists additional source files that are involved
-  in the processing of this session. This should cover anything outside the
-  formal content of the theory sources. In contrast, files that are loaded
-  formally within a theory, e.g.\ via @{command "ML_file"}, need not be
-  declared again.
-
   \<^descr> \isakeyword{document_files}~\<open>(\<close>\isakeyword{in}~\<open>base_dir) files\<close> lists
   source files for document preparation, typically \<^verbatim>\<open>.tex\<close> and \<^verbatim>\<open>.sty\<close> for
   {\LaTeX}. Only these explicitly given files are copied from the base
@@ -280,9 +270,11 @@
 \<open>Usage: isabelle build [OPTIONS] [SESSIONS ...]
 
   Options are:
+    -B NAME      include session NAME and all descendants
     -D DIR       include session directory and select its sessions
     -N           cyclic shuffling of NUMA CPU nodes (performance tuning)
     -R           operate on requirements of selected sessions
+    -S           soft build: only observe changes of sources, not heap images
     -X NAME      exclude sessions from group NAME and all descendants
     -a           select all sessions
     -b           build heap images
@@ -329,6 +321,10 @@
   completed by including all ancestors.
 
   \<^medskip>
+  One or more options \<^verbatim>\<open>-B\<close>~\<open>NAME\<close> specify base sessions. All descendants
+  are included.
+
+  \<^medskip>
   One or more options \<^verbatim>\<open>-x\<close>~\<open>NAME\<close> specify sessions to be excluded. All
   descendents of excluded sessions are removed from the selection as specified
   above. Option \<^verbatim>\<open>-X\<close> is analogous to this, but excluded sessions are
@@ -345,6 +341,11 @@
   in the given directories.
 
   \<^medskip>
+  Option \<^verbatim>\<open>-S\<close> indicates a ``soft build'': the selection is restricted to
+  those sessions that have changed sources (according to actually imported
+  theories). The status of heap images is ignored.
+
+  \<^medskip>
   The build process depends on additional options
   (\secref{sec:system-options}) that are passed to the prover eventually. The
   settings variable @{setting_ref ISABELLE_BUILD_OPTIONS} allows to provide
@@ -406,6 +407,14 @@
   @{verbatim [display] \<open>isabelle build -b -g main\<close>}
 
   \<^smallskip>
+  Build all descendants (and requirements) of \<^verbatim>\<open>FOL\<close> and \<^verbatim>\<open>ZF\<close>:
+  @{verbatim [display] \<open>isabelle build -B FOL -B ZF\<close>}
+
+  \<^smallskip>
+  Build all sessions where sources have changed (ignoring heaps):
+  @{verbatim [display] \<open>isabelle build -a -S\<close>}
+
+  \<^smallskip>
   Provide a general overview of the status of all Isabelle sessions, without
   building anything:
   @{verbatim [display] \<open>isabelle build -a -n -v\<close>}
@@ -450,6 +459,7 @@
 \<open>Usage: isabelle imports [OPTIONS] [SESSIONS ...]
 
   Options are:
+    -B NAME      include session NAME and all descendants
     -D DIR       include session directory and select its sessions
     -I           operation: report potential session imports
     -M           operation: Mercurial repository check for theory files
@@ -469,7 +479,7 @@
 
   \<^medskip>
   The selection of sessions and session directories works as for @{tool build}
-  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
+  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
   \secref{sec:tool-build}).
 
   \<^medskip>
--- a/src/HOL/Algebra/More_Finite_Product.thy	Sun Oct 08 11:58:01 2017 +0200
+++ b/src/HOL/Algebra/More_Finite_Product.thy	Sun Oct 08 14:48:47 2017 +0200
@@ -5,71 +5,69 @@
 section \<open>More on finite products\<close>
 
 theory More_Finite_Product
-imports
-  More_Group
+  imports More_Group
 begin
 
 lemma (in comm_monoid) finprod_UN_disjoint:
-  "finite I \<Longrightarrow> (ALL i:I. finite (A i)) \<longrightarrow> (ALL i:I. ALL j:I. i ~= j \<longrightarrow>
-     (A i) Int (A j) = {}) \<longrightarrow>
-      (ALL i:I. ALL x: (A i). g x : carrier G) \<longrightarrow>
-        finprod G g (UNION I A) = finprod G (%i. finprod G g (A i)) I"
+  "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>
+    (\<forall>i\<in>I. \<forall>x \<in> A i. g x \<in> carrier G) \<longrightarrow>
+    finprod G g (UNION I A) = finprod G (\<lambda>i. finprod G g (A i)) I"
   apply (induct set: finite)
-  apply force
+   apply force
   apply clarsimp
   apply (subst finprod_Un_disjoint)
-  apply blast
-  apply (erule finite_UN_I)
-  apply blast
-  apply (fastforce)
-  apply (auto intro!: funcsetI finprod_closed)
+       apply blast
+      apply (erule finite_UN_I)
+      apply blast
+     apply (fastforce)
+    apply (auto intro!: funcsetI finprod_closed)
   done
 
 lemma (in comm_monoid) finprod_Union_disjoint:
-  "[| finite C; (ALL A:C. finite A & (ALL x:A. f x : carrier G));
-      (ALL A:C. ALL B:C. A ~= B --> A Int B = {}) |]
-   ==> finprod G f (\<Union>C) = finprod G (finprod G f) C"
+  "finite C \<Longrightarrow>
+    \<forall>A\<in>C. finite A \<and> (\<forall>x\<in>A. f x \<in> carrier G) \<Longrightarrow>
+    \<forall>A\<in>C. \<forall>B\<in>C. A \<noteq> B \<longrightarrow> A \<inter> B = {} \<Longrightarrow>
+    finprod G f (\<Union>C) = finprod G (finprod G f) C"
   apply (frule finprod_UN_disjoint [of C id f])
   apply auto
   done
 
-lemma (in comm_monoid) finprod_one:
-    "finite A \<Longrightarrow> (\<And>x. x:A \<Longrightarrow> f x = \<one>) \<Longrightarrow> finprod G f A = \<one>"
+lemma (in comm_monoid) finprod_one: "finite A \<Longrightarrow> (\<And>x. x \<in> A \<Longrightarrow> f x = \<one>) \<Longrightarrow> finprod G f A = \<one>"
   by (induct set: finite) auto
 
 
 (* need better simplification rules for rings *)
 (* the next one holds more generally for abelian groups *)
 
-lemma (in cring) sum_zero_eq_neg: "x : carrier R \<Longrightarrow> y : carrier R \<Longrightarrow> x \<oplus> y = \<zero> \<Longrightarrow> x = \<ominus> y"
+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"
   by (metis minus_equality)
 
 lemma (in domain) square_eq_one:
   fixes x
-  assumes [simp]: "x : carrier R"
+  assumes [simp]: "x \<in> carrier R"
     and "x \<otimes> x = \<one>"
-  shows "x = \<one> | x = \<ominus>\<one>"
+  shows "x = \<one> \<or> x = \<ominus>\<one>"
 proof -
   have "(x \<oplus> \<one>) \<otimes> (x \<oplus> \<ominus> \<one>) = x \<otimes> x \<oplus> \<ominus> \<one>"
     by (simp add: ring_simprules)
   also from \<open>x \<otimes> x = \<one>\<close> have "\<dots> = \<zero>"
     by (simp add: ring_simprules)
   finally have "(x \<oplus> \<one>) \<otimes> (x \<oplus> \<ominus> \<one>) = \<zero>" .
-  then have "(x \<oplus> \<one>) = \<zero> | (x \<oplus> \<ominus> \<one>) = \<zero>"
-    by (intro integral, auto)
+  then have "(x \<oplus> \<one>) = \<zero> \<or> (x \<oplus> \<ominus> \<one>) = \<zero>"
+    by (intro integral) auto
   then show ?thesis
     apply auto
-    apply (erule notE)
-    apply (rule sum_zero_eq_neg)
-    apply auto
+     apply (erule notE)
+     apply (rule sum_zero_eq_neg)
+       apply auto
     apply (subgoal_tac "x = \<ominus> (\<ominus> \<one>)")
-    apply (simp add: ring_simprules)
+     apply (simp add: ring_simprules)
     apply (rule sum_zero_eq_neg)
-    apply auto
+      apply auto
     done
 qed
 
-lemma (in Ring.domain) inv_eq_self: "x : Units R \<Longrightarrow> x = inv x \<Longrightarrow> x = \<one> \<or> x = \<ominus>\<one>"
+lemma (in domain) inv_eq_self: "x \<in> Units R \<Longrightarrow> x = inv x \<Longrightarrow> x = \<one> \<or> x = \<ominus>\<one>"
   by (metis Units_closed Units_l_inv square_eq_one)
 
 
@@ -90,15 +88,15 @@
     monoid.nat_pow_0 monoid.nat_pow_Suc units_of_one units_of_mult)
   done
 
-lemma (in cring) units_power_order_eq_one: "finite (Units R) \<Longrightarrow> a : Units R
-    \<Longrightarrow> a (^) card(Units R) = \<one>"
+lemma (in cring) units_power_order_eq_one:
+  "finite (Units R) \<Longrightarrow> a \<in> Units R \<Longrightarrow> a (^) card(Units R) = \<one>"
   apply (subst units_of_carrier [symmetric])
   apply (subst units_of_one [symmetric])
   apply (subst units_of_pow [symmetric])
-  apply assumption
+   apply assumption
   apply (rule comm_group.power_order_eq_one)
-  apply (rule units_comm_group)
-  apply (unfold units_of_def, auto)
+    apply (rule units_comm_group)
+   apply (unfold units_of_def, auto)
   done
 
-end
\ No newline at end of file
+end
--- a/src/HOL/Algebra/More_Group.thy	Sun Oct 08 11:58:01 2017 +0200
+++ b/src/HOL/Algebra/More_Group.thy	Sun Oct 08 14:48:47 2017 +0200
@@ -5,8 +5,7 @@
 section \<open>More on groups\<close>
 
 theory More_Group
-imports
-  Ring
+  imports Ring
 begin
 
 text \<open>
@@ -16,63 +15,62 @@
   facts about the unit group within the ring locale.
 \<close>
 
-definition units_of :: "('a, 'b) monoid_scheme => 'a monoid" where
-  "units_of G == (| carrier = Units G,
-     Group.monoid.mult = Group.monoid.mult G,
-     one  = one G |)"
+definition units_of :: "('a, 'b) monoid_scheme \<Rightarrow> 'a monoid"
+  where "units_of G =
+    \<lparr>carrier = Units G, Group.monoid.mult = Group.monoid.mult G, one  = one G\<rparr>"
 
-lemma (in monoid) units_group: "group(units_of G)"
+lemma (in monoid) units_group: "group (units_of G)"
   apply (unfold units_of_def)
   apply (rule groupI)
-  apply auto
-  apply (subst m_assoc)
-  apply auto
+      apply auto
+   apply (subst m_assoc)
+      apply auto
   apply (rule_tac x = "inv x" in bexI)
-  apply auto
+   apply auto
   done
 
-lemma (in comm_monoid) units_comm_group: "comm_group(units_of G)"
+lemma (in comm_monoid) units_comm_group: "comm_group (units_of G)"
   apply (rule group.group_comm_groupI)
-  apply (rule units_group)
+   apply (rule units_group)
   apply (insert comm_monoid_axioms)
   apply (unfold units_of_def Units_def comm_monoid_def comm_monoid_axioms_def)
   apply auto
   done
 
 lemma units_of_carrier: "carrier (units_of G) = Units G"
-  unfolding units_of_def by auto
+  by (auto simp: units_of_def)
 
-lemma units_of_mult: "mult(units_of G) = mult G"
-  unfolding units_of_def by auto
+lemma units_of_mult: "mult (units_of G) = mult G"
+  by (auto simp: units_of_def)
 
-lemma units_of_one: "one(units_of G) = one G"
-  unfolding units_of_def by auto
+lemma units_of_one: "one (units_of G) = one G"
+  by (auto simp: units_of_def)
 
-lemma (in monoid) units_of_inv: "x : Units G ==> m_inv (units_of G) x = m_inv G x"
+lemma (in monoid) units_of_inv: "x \<in> Units G \<Longrightarrow> m_inv (units_of G) x = m_inv G x"
   apply (rule sym)
   apply (subst m_inv_def)
   apply (rule the1_equality)
-  apply (rule ex_ex1I)
-  apply (subst (asm) Units_def)
-  apply auto
-  apply (erule inv_unique)
-  apply auto
-  apply (rule Units_closed)
-  apply (simp_all only: units_of_carrier [symmetric])
-  apply (insert units_group)
-  apply auto
-  apply (subst units_of_mult [symmetric])
-  apply (subst units_of_one [symmetric])
-  apply (erule group.r_inv, assumption)
+   apply (rule ex_ex1I)
+    apply (subst (asm) Units_def)
+    apply auto
+     apply (erule inv_unique)
+        apply auto
+    apply (rule Units_closed)
+    apply (simp_all only: units_of_carrier [symmetric])
+    apply (insert units_group)
+    apply auto
+   apply (subst units_of_mult [symmetric])
+   apply (subst units_of_one [symmetric])
+   apply (erule group.r_inv, assumption)
   apply (subst units_of_mult [symmetric])
   apply (subst units_of_one [symmetric])
   apply (erule group.l_inv, assumption)
   done
 
-lemma (in group) inj_on_const_mult: "a: (carrier G) ==> inj_on (%x. a \<otimes> x) (carrier G)"
+lemma (in group) inj_on_const_mult: "a \<in> carrier G \<Longrightarrow> inj_on (\<lambda>x. a \<otimes> x) (carrier G)"
   unfolding inj_on_def by auto
 
-lemma (in group) surj_const_mult: "a : (carrier G) ==> (%x. a \<otimes> x) ` (carrier G) = (carrier G)"
+lemma (in group) surj_const_mult: "a \<in> carrier G \<Longrightarrow> (\<lambda>x. a \<otimes> x) ` carrier G = carrier G"
   apply (auto simp add: image_def)
   apply (rule_tac x = "(m_inv G a) \<otimes> x" in bexI)
   apply auto
@@ -82,33 +80,29 @@
   apply auto
   done
 
-lemma (in group) l_cancel_one [simp]:
-    "x : carrier G \<Longrightarrow> a : carrier G \<Longrightarrow> (x \<otimes> a = x) = (a = one G)"
+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"
   apply auto
   apply (subst l_cancel [symmetric])
-  prefer 4
-  apply (erule ssubst)
-  apply auto
+     prefer 4
+     apply (erule ssubst)
+     apply auto
   done
 
-lemma (in group) r_cancel_one [simp]: "x : carrier G \<Longrightarrow> a : carrier G \<Longrightarrow>
-    (a \<otimes> x = x) = (a = one G)"
+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"
   apply auto
   apply (subst r_cancel [symmetric])
-  prefer 4
-  apply (erule ssubst)
-  apply auto
+     prefer 4
+     apply (erule ssubst)
+     apply auto
   done
 
 (* Is there a better way to do this? *)
-lemma (in group) l_cancel_one' [simp]: "x : carrier G \<Longrightarrow> a : carrier G \<Longrightarrow>
-    (x = x \<otimes> a) = (a = one G)"
+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"
   apply (subst eq_commute)
   apply simp
   done
 
-lemma (in group) r_cancel_one' [simp]: "x : carrier G \<Longrightarrow> a : carrier G \<Longrightarrow>
-    (x = a \<otimes> x) = (a = one G)"
+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"
   apply (subst eq_commute)
   apply simp
   done
@@ -118,7 +112,7 @@
 
 lemma (in comm_group) power_order_eq_one:
   assumes fin [simp]: "finite (carrier G)"
-    and a [simp]: "a : carrier G"
+    and a [simp]: "a \<in> carrier G"
   shows "a (^) card(carrier G) = one G"
 proof -
   have "(\<Otimes>x\<in>carrier G. x) = (\<Otimes>x\<in>carrier G. a \<otimes> x)"
--- a/src/HOL/Algebra/More_Ring.thy	Sun Oct 08 11:58:01 2017 +0200
+++ b/src/HOL/Algebra/More_Ring.thy	Sun Oct 08 14:48:47 2017 +0200
@@ -5,73 +5,70 @@
 section \<open>More on rings etc.\<close>
 
 theory More_Ring
-imports
-  Ring
+  imports Ring
 begin
 
-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"
+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"
   apply (unfold_locales)
-  apply (insert cring_axioms, auto)
-  apply (rule trans)
-  apply (subgoal_tac "a = (a \<otimes> b) \<otimes> inv b")
-  apply assumption
-  apply (subst m_assoc)
-  apply auto
+    apply (use cring_axioms in auto)
+   apply (rule trans)
+    apply (subgoal_tac "a = (a \<otimes> b) \<otimes> inv b")
+     apply assumption
+    apply (subst m_assoc)
+       apply auto
   apply (unfold Units_def)
   apply auto
   done
 
-lemma (in monoid) inv_char: "x : carrier G \<Longrightarrow> y : carrier G \<Longrightarrow>
-    x \<otimes> y = \<one> \<Longrightarrow> y \<otimes> x = \<one> \<Longrightarrow> inv x = y"
-  apply (subgoal_tac "x : Units G")
-  apply (subgoal_tac "y = inv x \<otimes> \<one>")
-  apply simp
-  apply (erule subst)
-  apply (subst m_assoc [symmetric])
-  apply auto
+lemma (in monoid) inv_char:
+  "x \<in> carrier G \<Longrightarrow> y \<in> carrier G \<Longrightarrow> x \<otimes> y = \<one> \<Longrightarrow> y \<otimes> x = \<one> \<Longrightarrow> inv x = y"
+  apply (subgoal_tac "x \<in> Units G")
+   apply (subgoal_tac "y = inv x \<otimes> \<one>")
+    apply simp
+   apply (erule subst)
+   apply (subst m_assoc [symmetric])
+      apply auto
   apply (unfold Units_def)
   apply auto
   done
 
-lemma (in comm_monoid) comm_inv_char: "x : carrier G \<Longrightarrow> y : carrier G \<Longrightarrow>
-  x \<otimes> y = \<one> \<Longrightarrow> inv x = y"
+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"
   apply (rule inv_char)
-  apply auto
+     apply auto
   apply (subst m_comm, auto)
   done
 
 lemma (in ring) inv_neg_one [simp]: "inv (\<ominus> \<one>) = \<ominus> \<one>"
   apply (rule inv_char)
-  apply (auto simp add: l_minus r_minus)
+     apply (auto simp add: l_minus r_minus)
   done
 
-lemma (in monoid) inv_eq_imp_eq: "x : Units G \<Longrightarrow> y : Units G \<Longrightarrow>
-    inv x = inv y \<Longrightarrow> x = y"
-  apply (subgoal_tac "inv(inv x) = inv(inv y)")
-  apply (subst (asm) Units_inv_inv)+
-  apply auto
+lemma (in monoid) inv_eq_imp_eq: "x \<in> Units G \<Longrightarrow> y \<in> Units G \<Longrightarrow> inv x = inv y \<Longrightarrow> x = y"
+  apply (subgoal_tac "inv (inv x) = inv (inv y)")
+   apply (subst (asm) Units_inv_inv)+
+    apply auto
   done
 
-lemma (in ring) Units_minus_one_closed [intro]: "\<ominus> \<one> : Units R"
+lemma (in ring) Units_minus_one_closed [intro]: "\<ominus> \<one> \<in> Units R"
   apply (unfold Units_def)
   apply auto
   apply (rule_tac x = "\<ominus> \<one>" in bexI)
-  apply auto
+   apply auto
   apply (simp add: l_minus r_minus)
   done
 
 lemma (in monoid) inv_one [simp]: "inv \<one> = \<one>"
   apply (rule inv_char)
-  apply auto
+     apply auto
   done
 
-lemma (in ring) inv_eq_neg_one_eq: "x : Units R \<Longrightarrow> (inv x = \<ominus> \<one>) = (x = \<ominus> \<one>)"
+lemma (in ring) inv_eq_neg_one_eq: "x \<in> Units R \<Longrightarrow> inv x = \<ominus> \<one> \<longleftrightarrow> x = \<ominus> \<one>"
   apply auto
   apply (subst Units_inv_inv [symmetric])
-  apply auto
+   apply auto
   done
 
-lemma (in monoid) inv_eq_one_eq: "x : Units G \<Longrightarrow> (inv x = \<one>) = (x = \<one>)"
+lemma (in monoid) inv_eq_one_eq: "x \<in> Units G \<Longrightarrow> inv x = \<one> \<longleftrightarrow> x = \<one>"
   by (metis Units_inv_inv inv_one)
 
 end
--- a/src/HOL/Analysis/Cauchy_Integral_Theorem.thy	Sun Oct 08 11:58:01 2017 +0200
+++ b/src/HOL/Analysis/Cauchy_Integral_Theorem.thy	Sun Oct 08 14:48:47 2017 +0200
@@ -3749,12 +3749,14 @@
     by meson
   have exy: "\<exists>y. ((\<lambda>x. inverse (\<gamma> x - z) * ?D\<gamma> x) has_integral y) {a..b}"
     unfolding integrable_on_def [symmetric]
-    apply (rule contour_integral_local_primitive_any [OF piecewise_C1_imp_differentiable [OF \<gamma>], of "-{z}"])
-    apply (rename_tac w)
-    apply (rule_tac x="norm(w - z)" in exI)
-    apply (simp_all add: inverse_eq_divide)
-    apply (metis has_field_derivative_at_within h)
-    done
+  proof (rule contour_integral_local_primitive_any [OF piecewise_C1_imp_differentiable [OF \<gamma>]])
+    show "\<exists>d h. 0 < d \<and>
+               (\<forall>y. cmod (y - w) < d \<longrightarrow> (h has_field_derivative inverse (y - z))(at y within - {z}))" 
+          if "w \<in> - {z}" for w
+      apply (rule_tac x="norm(w - z)" in exI)
+      using that inverse_eq_divide has_field_derivative_at_within h
+      by (metis Compl_insert DiffD2 insertCI right_minus_eq zero_less_norm_iff)
+  qed simp
   have vg_int: "(\<lambda>x. ?D\<gamma> x / (\<gamma> x - z)) integrable_on {a..b}"
     unfolding box_real [symmetric] divide_inverse_commute
     by (auto intro!: exy integrable_subinterval simp add: integrable_on_def ab)
@@ -3774,20 +3776,29 @@
       assume x: "x \<notin> k" "a < x" "x < b"
       then have "x \<in> interior ({a..b} - k)"
         using open_subset_interior [OF o] by fastforce
-      then have con: "isCont (\<lambda>x. ?D\<gamma> x) x"
+      then have con: "isCont ?D\<gamma> x"
         using g_C1_diff x by (auto simp: C1_differentiable_on_eq intro: continuous_on_interior)
       then have con_vd: "continuous (at x within {a..b}) (\<lambda>x. ?D\<gamma> x)"
         by (rule continuous_at_imp_continuous_within)
       have gdx: "\<gamma> differentiable at x"
         using x by (simp add: g_diff_at)
-      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))
+      have "\<And>d. \<lbrakk>x \<notin> k; a < x; x < b;
+          (\<gamma> has_vector_derivative d) (at x); a \<le> t; t \<le> b\<rbrakk>
+         \<Longrightarrow> ((\<lambda>x. integral {a..x}
+                     (\<lambda>x. ?D\<gamma> x /
+                           (\<gamma> x - z))) has_vector_derivative
+              d / (\<gamma> x - z))
+              (at x within {a..b})"
+        apply (rule has_vector_derivative_eq_rhs)
+         apply (rule integral_has_vector_derivative_continuous_at [where S = "{}", simplified])
+        apply (rule con_vd continuous_intros cong vg_int | simp add: continuous_at_imp_continuous_within has_vector_derivative_continuous vector_derivative_at)+
+        done
+      then have "((\<lambda>c. exp (- integral {a..c} (\<lambda>x. ?D\<gamma> x / (\<gamma> x - z))) * (\<gamma> c - z)) has_derivative (\<lambda>h. 0))
           (at x within {a..b})"
         using x gdx t
         apply (clarsimp simp add: differentiable_iff_scaleR)
         apply (rule exp_fg [unfolded has_vector_derivative_def, simplified], blast intro: has_derivative_at_within)
         apply (simp_all add: has_vector_derivative_def [symmetric])
-        apply (rule has_vector_derivative_eq_rhs [OF integral_has_vector_derivative_continuous_at])
-        apply (rule con_vd continuous_intros cong vg_int | simp add: continuous_at_imp_continuous_within has_vector_derivative_continuous vector_derivative_at)+
         done
       } note * = this
     have "exp (- (integral {a..t} (\<lambda>x. ?D\<gamma> x / (\<gamma> x - z)))) * (\<gamma> t - z) =\<gamma> a - z"
--- a/src/HOL/Analysis/Conformal_Mappings.thy	Sun Oct 08 11:58:01 2017 +0200
+++ b/src/HOL/Analysis/Conformal_Mappings.thy	Sun Oct 08 14:48:47 2017 +0200
@@ -739,7 +739,7 @@
 lemma holomorphic_factor_zero_nonconstant:
   assumes holf: "f holomorphic_on S" and S: "open S" "connected S"
       and "\<xi> \<in> S" "f \<xi> = 0"
-      and nonconst: "\<And>c. \<exists>z \<in> S. f z \<noteq> c"
+      and nonconst: "~ f constant_on S"
    obtains g r n
       where "0 < n"  "0 < r"  "ball \<xi> r \<subseteq> S"
             "g holomorphic_on ball \<xi> r"
@@ -747,7 +747,7 @@
             "\<And>w. w \<in> ball \<xi> r \<Longrightarrow> g w \<noteq> 0"
 proof (cases "\<forall>n>0. (deriv ^^ n) f \<xi> = 0")
   case True then show ?thesis
-    using holomorphic_fun_eq_const_on_connected [OF holf S _ \<open>\<xi> \<in> S\<close>] nonconst by auto
+    using holomorphic_fun_eq_const_on_connected [OF holf S _ \<open>\<xi> \<in> S\<close>] nonconst by (simp add: constant_on_def)
 next
   case False
   then obtain n0 where "n0 > 0" and n0: "(deriv ^^ n0) f \<xi> \<noteq> 0" by blast
@@ -3074,18 +3074,19 @@
 
 lemma holomorphic_factor_zero_Ex1:
   assumes "open s" "connected s" "z \<in> s" and
-        holo:"f holomorphic_on s"
-        and "f z = 0" and "\<exists>w\<in>s. f w \<noteq> 0"
+        holf: "f holomorphic_on s"
+        and f: "f z = 0" "\<exists>w\<in>s. f w \<noteq> 0"
   shows "\<exists>!n. \<exists>g r. 0 < n \<and> 0 < r \<and>
                 g holomorphic_on cball z r
                 \<and> (\<forall>w\<in>cball z r. f w = (w-z)^n * g w \<and> g w\<noteq>0)"
 proof (rule ex_ex1I)
-  obtain g r n where "0 < n" "0 < r" "ball z r \<subseteq> s" and
+  have "\<not> f constant_on s"
+    by (metis \<open>z\<in>s\<close> constant_on_def f)
+  then obtain g r n where "0 < n" "0 < r" "ball z r \<subseteq> s" and
           g:"g holomorphic_on ball z r"
           "\<And>w. w \<in> ball z r \<Longrightarrow> f w = (w - z) ^ n * g w"
           "\<And>w. w \<in> ball z r \<Longrightarrow> g w \<noteq> 0"
-    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>]
-    by (metis assms(3) assms(5) assms(6))
+    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>])
   define r' where "r' \<equiv> r/2"
   have "cball z r' \<subseteq> ball z r" unfolding r'_def by (simp add: \<open>0 < r\<close> cball_subset_ball_iff)
   hence "cball z r' \<subseteq> s" "g holomorphic_on cball z r'"
--- a/src/HOL/Analysis/Equivalence_Lebesgue_Henstock_Integration.thy	Sun Oct 08 11:58:01 2017 +0200
+++ b/src/HOL/Analysis/Equivalence_Lebesgue_Henstock_Integration.thy	Sun Oct 08 14:48:47 2017 +0200
@@ -2253,9 +2253,7 @@
     have "(\<lambda>x. \<bar>f x \<bullet> i\<bar>) integrable_on S" 
       using assms integrable_component [OF fcomp, where y=i] that by simp
     then have "(\<lambda>x. f x \<bullet> i) absolutely_integrable_on S"
-      apply -
-      apply (rule abs_absolutely_integrableI_1, auto)
-      by (simp add: f integrable_component)
+      using abs_absolutely_integrableI_1 f integrable_component by blast
     then show ?thesis
       by (rule absolutely_integrable_scaleR_right)
   qed
--- a/src/HOL/Analysis/Great_Picard.thy	Sun Oct 08 11:58:01 2017 +0200
+++ b/src/HOL/Analysis/Great_Picard.thy	Sun Oct 08 14:48:47 2017 +0200
@@ -1000,7 +1000,7 @@
       and holf: "\<And>n::nat. \<F> n holomorphic_on S"
       and holg: "g holomorphic_on S"
       and ul_g: "\<And>K. \<lbrakk>compact K; K \<subseteq> S\<rbrakk> \<Longrightarrow> uniform_limit K \<F> g sequentially"
-      and nonconst: "\<And>c. \<exists>z \<in> S. g z \<noteq> c"
+      and nonconst: "~ g constant_on S"
       and nz: "\<And>n z. z \<in> S \<Longrightarrow> \<F> n z \<noteq> 0"
       and "z0 \<in> S"
       shows "g z0 \<noteq> 0"
@@ -1164,14 +1164,14 @@
       and holf: "\<And>n::nat. \<F> n holomorphic_on S"
       and holg: "g holomorphic_on S"
       and ul_g: "\<And>K. \<lbrakk>compact K; K \<subseteq> S\<rbrakk> \<Longrightarrow> uniform_limit K \<F> g sequentially"
-      and nonconst: "\<And>c. \<exists>z \<in> S. g z \<noteq> c"
+      and nonconst: "~ g constant_on S"
       and inj: "\<And>n. inj_on (\<F> n) S"
     shows "inj_on g S"
 proof -
   have False if z12: "z1 \<in> S" "z2 \<in> S" "z1 \<noteq> z2" "g z2 = g z1" for z1 z2
   proof -
     obtain z0 where "z0 \<in> S" and z0: "g z0 \<noteq> g z2"
-      using nonconst by blast
+      using constant_on_def nonconst by blast
     have "(\<lambda>z. g z - g z1) holomorphic_on S"
       by (intro holomorphic_intros holg)
     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"
@@ -1214,7 +1214,8 @@
         show "\<forall>\<^sub>F n in sequentially. \<forall>x\<in>K. dist (\<F> n x - \<F> n z1) (g x - g z1) < e"
           by simp
       qed
-      show "\<And>c. \<exists>z\<in>S - {z1}. g z - g z1 \<noteq> c"
+      show "\<not> (\<lambda>z. g z - g z1) constant_on S - {z1}"
+        unfolding constant_on_def
         by (metis Diff_iff \<open>z0 \<in> S\<close> empty_iff insert_iff right_minus_eq z0 z12)
       show "\<And>n z. z \<in> S - {z1} \<Longrightarrow> \<F> n z - \<F> n z1 \<noteq> 0"
         by (metis DiffD1 DiffD2 eq_iff_diff_eq_0 inj inj_onD insertI1 \<open>z1 \<in> S\<close>)
@@ -1360,8 +1361,9 @@
           using \<open>Z \<subseteq> S\<close> e hol\<G> by force
         show "\<And>n z. z \<in> ball v e \<Longrightarrow> (\<G> \<circ> j) n z \<noteq> 0"
           using \<G>not0 \<open>Z \<subseteq> S\<close> e by fastforce
-        show "\<exists>z\<in>ball v e. h z \<noteq> c" for c
-        proof -
+        show "\<not> h constant_on ball v e"
+        proof (clarsimp simp: constant_on_def)
+          fix c
           have False if "\<And>z. dist v z < e \<Longrightarrow> h z = c"  
           proof -
             have "h v = c"
@@ -1389,7 +1391,7 @@
             show False
               using \<open>C < cmod (\<F> (j n) y)\<close> le_C not_less by blast
           qed
-          then show ?thesis by force
+          then show "\<exists>x\<in>ball v e. h x \<noteq> c" by force
         qed
         show "h holomorphic_on ball v e"
           by (simp add: holh)
@@ -1828,7 +1830,6 @@
     by meson
 qed
 
-
 corollary Casorati_Weierstrass:
   assumes "open M" "z \<in> M" "f holomorphic_on (M - {z})"
       and "\<And>l. \<not> (f \<longlongrightarrow> l) (at z)" "\<And>l. \<not> ((inverse \<circ> f) \<longlongrightarrow> l) (at z)"
--- a/src/HOL/Analysis/Henstock_Kurzweil_Integration.thy	Sun Oct 08 11:58:01 2017 +0200
+++ b/src/HOL/Analysis/Henstock_Kurzweil_Integration.thy	Sun Oct 08 14:48:47 2017 +0200
@@ -10,10 +10,6 @@
   Lebesgue_Measure Tagged_Division
 begin
 
-(*FIXME DELETE*)
-lemma conjunctD2: assumes "a \<and> b" shows a b using assms by auto
-(* try instead structured proofs below *)
-
 lemma norm_diff2: "\<lbrakk>y = y1 + y2; x = x1 + x2; e = e1 + e2; norm(y1 - x1) \<le> e1; norm(y2 - x2) \<le> e2\<rbrakk>
   \<Longrightarrow> norm(y-x) \<le> e"
   using norm_triangle_mono [of "y1 - x1" "e1" "y2 - x2" "e2"]
@@ -1541,14 +1537,6 @@
     using \<gamma> [OF p \<open>\<gamma> fine p\<close>] rsum_bound[OF p] assms by metis
 qed
 
-corollary has_integral_bound_real:
-  fixes f :: "real \<Rightarrow> 'b::real_normed_vector"
-  assumes "0 \<le> B"
-      and "(f has_integral i) {a..b}"
-      and "\<forall>x\<in>{a..b}. norm (f x) \<le> B"
-    shows "norm i \<le> B * content {a..b}"
-  by (metis assms box_real(2) has_integral_bound)
-
 corollary integrable_bound:
   fixes f :: "'a::euclidean_space \<Rightarrow> 'b::real_normed_vector"
   assumes "0 \<le> B"
@@ -2384,6 +2372,31 @@
   shows "g integrable_on T"
   using assms has_integral_spike_finite by blast
 
+lemma has_integral_bound_spike_finite:
+  fixes f :: "'a::euclidean_space \<Rightarrow> 'b::real_normed_vector"
+  assumes "0 \<le> B" "finite S"
+      and f: "(f has_integral i) (cbox a b)"
+      and leB: "\<And>x. x \<in> cbox a b - S \<Longrightarrow> norm (f x) \<le> B"
+    shows "norm i \<le> B * content (cbox a b)"
+proof -
+  define g where "g \<equiv> (\<lambda>x. if x \<in> S then 0 else f x)"
+  then have "\<And>x. x \<in> cbox a b - S \<Longrightarrow> norm (g x) \<le> B"
+    using leB by simp
+  moreover have "(g has_integral i) (cbox a b)"
+    using has_integral_spike_finite [OF \<open>finite S\<close> _ f]
+    by (simp add: g_def)
+  ultimately show ?thesis
+    by (simp add: \<open>0 \<le> B\<close> g_def has_integral_bound)
+qed
+
+corollary has_integral_bound_real:
+  fixes f :: "real \<Rightarrow> 'b::real_normed_vector"
+  assumes "0 \<le> B" "finite S"
+      and "(f has_integral i) {a..b}"
+      and "\<And>x. x \<in> {a..b} - S \<Longrightarrow> norm (f x) \<le> B"
+    shows "norm i \<le> B * content {a..b}"
+  by (metis assms box_real(2) has_integral_bound_spike_finite)
+
 
 subsection \<open>In particular, the boundary of an interval is negligible.\<close>
 
@@ -3049,17 +3062,18 @@
 lemma integral_has_vector_derivative_continuous_at:
   fixes f :: "real \<Rightarrow> 'a::banach"
   assumes f: "f integrable_on {a..b}"
-      and x: "x \<in> {a..b}"
-      and fx: "continuous (at x within {a..b}) f"
-  shows "((\<lambda>u. integral {a..u} f) has_vector_derivative f x) (at x within {a..b})"
+     and x: "x \<in> {a..b} - S"
+     and "finite S"
+     and fx: "continuous (at x within ({a..b} - S)) f"
+ shows "((\<lambda>u. integral {a..u} f) has_vector_derivative f x) (at x within ({a..b} - S))"
 proof -
   let ?I = "\<lambda>a b. integral {a..b} f"
   { fix e::real
     assume "e > 0"
-    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"
+    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"
       using \<open>e>0\<close> fx by (auto simp: continuous_within_eps_delta dist_norm less_imp_le)
     have "norm (integral {a..y} f - integral {a..x} f - (y-x) *\<^sub>R f x) \<le> e * \<bar>y - x\<bar>"
-           if y: "y \<in> {a..b}" and yx: "\<bar>y - x\<bar> < d" for y
+           if y: "y \<in> {a..b} - S" and yx: "\<bar>y - x\<bar> < d" for y
     proof (cases "y < x")
       case False
       have "f integrable_on {a..y}"
@@ -3070,14 +3084,15 @@
         apply (rule has_integral_diff)
         using x y apply (auto intro: integrable_integral [OF integrable_subinterval_real [OF f]])
         using has_integral_const_real [of "f x" x y] False
-        apply (simp add: )
+        apply simp
         done
+      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"
+        using assms by auto
       show ?thesis
         using False
         apply (simp add: abs_eq_content del: content_real_if measure_lborel_Icc)
         apply (rule has_integral_bound_real[where f="(\<lambda>u. f u - f x)"])
-        using yx False d x y \<open>e>0\<close> apply (auto simp add: Idiff fux_int)
-        done
+        using yx False d x y \<open>e>0\<close> assms by (auto simp: Idiff fux_int)
     next
       case True
       have "f integrable_on {a..x}"
@@ -3088,33 +3103,31 @@
         apply (rule has_integral_diff)
         using x y apply (auto intro: integrable_integral [OF integrable_subinterval_real [OF f]])
         using has_integral_const_real [of "f x" y x] True
-        apply (simp add: )
+        apply simp
         done
       have "norm (integral {a..x} f - integral {a..y} f - (x - y) *\<^sub>R f x) \<le> e * \<bar>y - x\<bar>"
         using True
         apply (simp add: abs_eq_content del: content_real_if measure_lborel_Icc)
         apply (rule has_integral_bound_real[where f="(\<lambda>u. f u - f x)"])
-        using yx True d x y \<open>e>0\<close> apply (auto simp add: Idiff fux_int)
-        done
+        using yx True d x y \<open>e>0\<close> assms by (auto simp: Idiff fux_int)
       then show ?thesis
         by (simp add: algebra_simps norm_minus_commute)
     qed
-    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>"
+    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>"
       using \<open>d>0\<close> by blast
   }
   then show ?thesis
     by (simp add: has_vector_derivative_def has_derivative_within_alt bounded_linear_scaleR_left)
 qed
 
+
 lemma integral_has_vector_derivative:
   fixes f :: "real \<Rightarrow> 'a::banach"
   assumes "continuous_on {a..b} f"
     and "x \<in> {a..b}"
   shows "((\<lambda>u. integral {a..u} f) has_vector_derivative f(x)) (at x within {a..b})"
-apply (rule integral_has_vector_derivative_continuous_at [OF integrable_continuous_real])
-using assms
-apply (auto simp: continuous_on_eq_continuous_within)
-done
+using assms integral_has_vector_derivative_continuous_at [OF integrable_continuous_real]
+  by (fastforce simp: continuous_on_eq_continuous_within)
 
 lemma antiderivative_continuous:
   fixes q b :: real
@@ -6049,8 +6062,7 @@
   have "norm (integral S f) \<le> integral S ((\<lambda>x. x \<bullet> k) \<circ> g)"
     apply (rule integral_norm_bound_integral[OF f integrable_linear[OF g]])
     apply (simp add: bounded_linear_inner_left)
-    unfolding o_def
-    apply (metis fg)
+    apply (metis fg o_def)
     done
   then show ?thesis
     unfolding o_def integral_component_eq[OF g] .
@@ -6167,7 +6179,6 @@
       have "closed_segment x0 x \<subseteq> U"
         by (rule \<open>convex U\<close>[unfolded convex_contains_segment, rule_format, OF \<open>x0 \<in> U\<close> \<open>x \<in> U\<close>])
       from elim have [intro]: "x \<in> U" by auto
-
       have "?F x - ?F x0 - ?dF (x - x0) =
         integral (cbox a b) (\<lambda>y. f x y - f x0 y - fx x0 y (x - x0))"
         (is "_ = ?id")
@@ -6204,7 +6215,7 @@
       also have "\<dots> < e' * norm (x - x0)"
         using \<open>e' > 0\<close>
         apply (intro mult_strict_right_mono[OF _ \<open>0 < norm (x - x0)\<close>])
-        apply  (auto simp: divide_simps e_def)
+        apply (auto simp: divide_simps e_def)
         by (metis \<open>0 < e\<close> e_def order.asym zero_less_divide_iff)
       finally have "norm (?F x - ?F x0 - ?dF (x - x0)) < e' * norm (x - x0)" .
       then show ?case
@@ -6293,14 +6304,12 @@
     by atomize_elim (auto simp: integrable_on_def intro!: choice)
 
   moreover
-
   have gi[simp]: "g integrable_on (cbox a b)"
     by (auto intro!: integrable_continuous uniform_limit_theorem[OF _ u] eventuallyI c)
   then obtain J where J: "(g has_integral J) (cbox a b)"
     by blast
 
   moreover
-
   have "(I \<longlongrightarrow> J) F"
   proof cases
     assume "content (cbox a b) = 0"
@@ -6432,7 +6441,6 @@
 
 subsection \<open>Integration by substitution\<close>
 
-
 lemma has_integral_substitution_general:
   fixes f :: "real \<Rightarrow> 'a::euclidean_space" and g :: "real \<Rightarrow> real"
   assumes s: "finite s" and le: "a \<le> b"
@@ -6449,20 +6457,17 @@
           f integrable_continuous_real)+
   have deriv: "(((\<lambda>x. integral {c..x} f) \<circ> g) has_vector_derivative g' x *\<^sub>R f (g x))
                  (at x within {a..b})" if "x \<in> {a..b} - s" for x
-    apply (rule has_vector_derivative_eq_rhs)
-    apply (rule vector_diff_chain_within)
-    apply (subst has_field_derivative_iff_has_vector_derivative [symmetric])
-    apply (rule deriv that)+
-    apply (rule has_vector_derivative_within_subset)
-    apply (rule integral_has_vector_derivative f)+
-    using that le subset
-    apply blast+
-    done
+  proof (rule has_vector_derivative_eq_rhs [OF vector_diff_chain_within refl])
+    show "(g has_vector_derivative g' x) (at x within {a..b})"
+      using deriv has_field_derivative_iff_has_vector_derivative that by blast
+    show "((\<lambda>x. integral {c..x} f) has_vector_derivative f (g x)) 
+          (at (g x) within g ` {a..b})"
+      using that le subset
+      by (blast intro: has_vector_derivative_within_subset integral_has_vector_derivative f)
+  qed
   have deriv: "(?F has_vector_derivative g' x *\<^sub>R f (g x))
                   (at x)" if "x \<in> {a..b} - (s \<union> {a,b})" for x
     using deriv[of x] that by (simp add: at_within_closed_interval o_def)
-
-
   have "((\<lambda>x. g' x *\<^sub>R f (g x)) has_integral (?F b - ?F a)) {a..b}"
     using le cont_int s deriv cont_int
     by (intro fundamental_theorem_of_calculus_interior_strong[of "s \<union> {a,b}"]) simp_all
@@ -6794,20 +6799,21 @@
             \<le> e * content (cbox (u,w) (v,z)) / content ?CBOX"
         by (rule norm_xx [OF integral_Pair_const 1 2])
     } note * = this
-    show "norm (integral ?CBOX f - integral (cbox a b) (\<lambda>x. integral (cbox c d) (\<lambda>y. f (x,y)))) \<le> e"
+    have "norm (integral ?CBOX f - integral (cbox a b) (\<lambda>x. integral (cbox c d) (\<lambda>y. f (x,y)))) \<le> e" 
+      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
+    proof -
+      obtain p where ptag: "p tagged_division_of cbox (a, c) (b, d)" 
+                 and fine: "(\<lambda>x. ball x k) fine p"
+        using fine_division_exists \<open>0 < k\<close> by blast
+      show ?thesis
+        apply (rule op_acbd [OF division_of_tagged_division [OF ptag]])
+        using that fine ptag \<open>0 < k\<close> by (auto simp: *)
+    qed
+    then show "norm (integral ?CBOX f - integral (cbox a b) (\<lambda>x. integral (cbox c d) (\<lambda>y. f (x,y)))) \<le> e"
       using compact_uniformly_continuous [OF assms compact_cbox]
       apply (simp add: uniformly_continuous_on_def dist_norm)
       apply (drule_tac x="e/2 / content?CBOX" in spec)
-      using cbp \<open>0 < e\<close>
-      apply (auto simp: zero_less_mult_iff)
-      apply (rename_tac k)
-      apply (rule_tac e1=k in fine_division_exists [OF gauge_ball, where a = "(a,c)" and b = "(b,d)"])
-      apply assumption
-      apply (rule op_acbd)
-      apply (erule division_of_tagged_division)
-      using *
-      apply auto
-      done
+      using cbp \<open>0 < e\<close> by (auto simp: zero_less_mult_iff)
   qed
   then show ?thesis
     by simp
@@ -6850,7 +6856,6 @@
   shows   "((\<lambda>x::real. exp (-a*x)) has_integral exp (-a*c)/a) {c..}"
 proof -
   define f where "f = (\<lambda>k x. if x \<in> {c..real k} then exp (-a*x) else 0)"
-
   {
     fix k :: nat assume k: "of_nat k \<ge> c"
     from k a
--- a/src/HOL/Analysis/Homeomorphism.thy	Sun Oct 08 11:58:01 2017 +0200
+++ b/src/HOL/Analysis/Homeomorphism.thy	Sun Oct 08 14:48:47 2017 +0200
@@ -827,7 +827,7 @@
   fixes a :: "'a :: euclidean_space"
   assumes "0 < r" "b \<in> sphere a r" "affine T" "a \<in> T" "b \<in> T" "affine p"
       and aff: "aff_dim T = aff_dim p + 1"
-    shows "((sphere a r \<inter> T) - {b}) homeomorphic p"
+    shows "(sphere a r \<inter> T) - {b} homeomorphic p"
 proof -
   have "a \<noteq> b" using assms by auto
   then have inj: "inj (\<lambda>x::'a. x /\<^sub>R norm (a - b))"
@@ -847,62 +847,12 @@
   finally show ?thesis .
 qed
 
-proposition homeomorphic_punctured_sphere_affine_gen:
-  fixes a :: "'a :: euclidean_space"
-  assumes "convex S" "bounded S" and a: "a \<in> rel_frontier S"
-      and "affine T" and affS: "aff_dim S = aff_dim T + 1"
-    shows "rel_frontier S - {a} homeomorphic T"
-proof -
-  have "S \<noteq> {}" using assms by auto
-  obtain U :: "'a set" where "affine U" and affdS: "aff_dim U = aff_dim S"
-    using choose_affine_subset [OF affine_UNIV aff_dim_geq]
-    by (meson aff_dim_affine_hull affine_affine_hull)
-  have "convex U"
-    by (simp add: affine_imp_convex \<open>affine U\<close>)
-  have "U \<noteq> {}"
-    by (metis \<open>S \<noteq> {}\<close> \<open>aff_dim U = aff_dim S\<close> aff_dim_empty)
-  then obtain z where "z \<in> U"
-    by auto
-  then have bne: "ball z 1 \<inter> U \<noteq> {}" by force
-  have [simp]: "aff_dim(ball z 1 \<inter> U) = aff_dim U"
-    using aff_dim_convex_Int_open [OF \<open>convex U\<close> open_ball] bne
-    by (fastforce simp add: Int_commute)
-  have "rel_frontier S homeomorphic rel_frontier (ball z 1 \<inter> U)"
-    apply (rule homeomorphic_rel_frontiers_convex_bounded_sets)
-    apply (auto simp: \<open>affine U\<close> affine_imp_convex convex_Int affdS assms)
-    done
-  also have "... = sphere z 1 \<inter> U"
-    using convex_affine_rel_frontier_Int [of "ball z 1" U]
-    by (simp add: \<open>affine U\<close> bne)
-  finally obtain h k where him: "h ` rel_frontier S = sphere z 1 \<inter> U"
-                    and kim: "k ` (sphere z 1 \<inter> U) = rel_frontier S"
-                    and hcon: "continuous_on (rel_frontier S) h"
-                    and kcon: "continuous_on (sphere z 1 \<inter> U) k"
-                    and kh:  "\<And>x. x \<in> rel_frontier S \<Longrightarrow> k(h(x)) = x"
-                    and hk:  "\<And>y. y \<in> sphere z 1 \<inter> U \<Longrightarrow> h(k(y)) = y"
-    unfolding homeomorphic_def homeomorphism_def by auto
-  have "rel_frontier S - {a} homeomorphic (sphere z 1 \<inter> U) - {h a}"
-  proof (rule homeomorphicI [where f=h and g=k])
-    show h: "h ` (rel_frontier S - {a}) = sphere z 1 \<inter> U - {h a}"
-      using him a kh by auto metis
-    show "k ` (sphere z 1 \<inter> U - {h a}) = rel_frontier S - {a}"
-      by (force simp: h [symmetric] image_comp o_def kh)
-  qed (auto intro: continuous_on_subset hcon kcon simp: kh hk)
-  also have "... homeomorphic T"
-    apply (rule homeomorphic_punctured_affine_sphere_affine)
-    using a him
-    by (auto simp: affS affdS \<open>affine T\<close>  \<open>affine U\<close> \<open>z \<in> U\<close>)
-  finally show ?thesis .
-qed
-
-
-lemma homeomorphic_punctured_sphere_affine:
+corollary homeomorphic_punctured_sphere_affine:
   fixes a :: "'a :: euclidean_space"
   assumes "0 < r" and b: "b \<in> sphere a r"
       and "affine T" and affS: "aff_dim T + 1 = DIM('a)"
     shows "(sphere a r - {b}) homeomorphic T"
-using homeomorphic_punctured_sphere_affine_gen [of "cball a r" b T]
-  assms aff_dim_cball by force
+  using homeomorphic_punctured_affine_sphere_affine [of r b a UNIV T] assms by auto
 
 corollary homeomorphic_punctured_sphere_hyperplane:
   fixes a :: "'a :: euclidean_space"
@@ -914,6 +864,51 @@
 apply (auto simp: affine_hyperplane of_nat_diff)
 done
 
+proposition homeomorphic_punctured_sphere_affine_gen:
+  fixes a :: "'a :: euclidean_space"
+  assumes "convex S" "bounded S" and a: "a \<in> rel_frontier S"
+      and "affine T" and affS: "aff_dim S = aff_dim T + 1"
+    shows "rel_frontier S - {a} homeomorphic T"
+proof -
+  obtain U :: "'a set" where "affine U" "convex U" and affdS: "aff_dim U = aff_dim S"
+    using choose_affine_subset [OF affine_UNIV aff_dim_geq]
+    by (meson aff_dim_affine_hull affine_affine_hull affine_imp_convex)
+  have "S \<noteq> {}" using assms by auto
+  then obtain z where "z \<in> U"
+    by (metis aff_dim_negative_iff equals0I affdS)
+  then have bne: "ball z 1 \<inter> U \<noteq> {}" by force
+  then have [simp]: "aff_dim(ball z 1 \<inter> U) = aff_dim U"
+    using aff_dim_convex_Int_open [OF \<open>convex U\<close> open_ball]
+    by (fastforce simp add: Int_commute)
+  have "rel_frontier S homeomorphic rel_frontier (ball z 1 \<inter> U)"
+    apply (rule homeomorphic_rel_frontiers_convex_bounded_sets)
+    apply (auto simp: \<open>affine U\<close> affine_imp_convex convex_Int affdS assms)
+    done
+  also have "... = sphere z 1 \<inter> U"
+    using convex_affine_rel_frontier_Int [of "ball z 1" U]
+    by (simp add: \<open>affine U\<close> bne)
+  finally have "rel_frontier S homeomorphic sphere z 1 \<inter> U" . 
+  then obtain h k where him: "h ` rel_frontier S = sphere z 1 \<inter> U"
+                    and kim: "k ` (sphere z 1 \<inter> U) = rel_frontier S"
+                    and hcon: "continuous_on (rel_frontier S) h"
+                    and kcon: "continuous_on (sphere z 1 \<inter> U) k"
+                    and kh:  "\<And>x. x \<in> rel_frontier S \<Longrightarrow> k(h(x)) = x"
+                    and hk:  "\<And>y. y \<in> sphere z 1 \<inter> U \<Longrightarrow> h(k(y)) = y"
+    unfolding homeomorphic_def homeomorphism_def by auto
+  have "rel_frontier S - {a} homeomorphic (sphere z 1 \<inter> U) - {h a}"
+  proof (rule homeomorphicI)
+    show h: "h ` (rel_frontier S - {a}) = sphere z 1 \<inter> U - {h a}"
+      using him a kh by auto metis
+    show "k ` (sphere z 1 \<inter> U - {h a}) = rel_frontier S - {a}"
+      by (force simp: h [symmetric] image_comp o_def kh)
+  qed (auto intro: continuous_on_subset hcon kcon simp: kh hk)
+  also have "... homeomorphic T"
+    apply (rule homeomorphic_punctured_affine_sphere_affine)
+    using a him
+    by (auto simp: affS affdS \<open>affine T\<close> \<open>affine U\<close> \<open>z \<in> U\<close>)
+  finally show ?thesis .
+qed
+
 
 text\<open> When dealing with AR, ANR and ANR later, it's useful to know that every set
   is homeomorphic to a closed subset of a convex set, and
--- a/src/HOL/Analysis/Polytope.thy	Sun Oct 08 11:58:01 2017 +0200
+++ b/src/HOL/Analysis/Polytope.thy	Sun Oct 08 14:48:47 2017 +0200
@@ -806,6 +806,75 @@
   qed
 qed
 
+lemma exposed_face_of_parallel:
+   "T exposed_face_of S \<longleftrightarrow>
+         T face_of S \<and>
+         (\<exists>a b. S \<subseteq> {x. a \<bullet> x \<le> b} \<and> T = S \<inter> {x. a \<bullet> x = b} \<and>
+                (T \<noteq> {} \<longrightarrow> T \<noteq> S \<longrightarrow> a \<noteq> 0) \<and>
+                (T \<noteq> S \<longrightarrow> (\<forall>w \<in> affine hull S. (w + a) \<in> affine hull S)))"
+  (is "?lhs = ?rhs")
+proof
+  assume ?lhs then show ?rhs
+  proof (clarsimp simp: exposed_face_of_def)
+    fix a b
+    assume faceS: "S \<inter> {x. a \<bullet> x = b} face_of S" and Ssub: "S \<subseteq> {x. a \<bullet> x \<le> b}" 
+    show "\<exists>c d. S \<subseteq> {x. c \<bullet> x \<le> d} \<and>
+                S \<inter> {x. a \<bullet> x = b} = S \<inter> {x. c \<bullet> x = d} \<and>
+                (S \<inter> {x. a \<bullet> x = b} \<noteq> {} \<longrightarrow> S \<inter> {x. a \<bullet> x = b} \<noteq> S \<longrightarrow> c \<noteq> 0) \<and>
+                (S \<inter> {x. a \<bullet> x = b} \<noteq> S \<longrightarrow> (\<forall>w \<in> affine hull S. w + c \<in> affine hull S))"
+    proof (cases "affine hull S \<inter> {x. -a \<bullet> x \<le> -b} = {} \<or> affine hull S \<subseteq> {x. - a \<bullet> x \<le> - b}")
+      case True
+      then show ?thesis
+      proof
+        assume "affine hull S \<inter> {x. - a \<bullet> x \<le> - b} = {}"
+       then show ?thesis
+         apply (rule_tac x="0" in exI)
+         apply (rule_tac x="1" in exI)
+         using hull_subset by fastforce
+    next
+      assume "affine hull S \<subseteq> {x. - a \<bullet> x \<le> - b}"
+      then show ?thesis
+         apply (rule_tac x="0" in exI)
+         apply (rule_tac x="0" in exI)
+        using Ssub hull_subset by fastforce
+    qed
+  next
+    case False
+    then obtain a' b' where "a' \<noteq> 0" 
+      and le: "affine hull S \<inter> {x. a' \<bullet> x \<le> b'} = affine hull S \<inter> {x. - a \<bullet> x \<le> - b}" 
+      and eq: "affine hull S \<inter> {x. a' \<bullet> x = b'} = affine hull S \<inter> {x. - a \<bullet> x = - b}" 
+      and mem: "\<And>w. w \<in> affine hull S \<Longrightarrow> w + a' \<in> affine hull S"
+      using affine_parallel_slice affine_affine_hull by metis 
+    show ?thesis
+    proof (intro conjI impI allI ballI exI)
+      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}" 
+        for P Q 
+        using hull_subset by fastforce  
+      have "S \<subseteq> {x. ~ (a' \<bullet> x \<le> b') \<or> a' \<bullet> x = b'}"
+        apply (rule *)
+        apply (simp only: le eq)
+        using Ssub by auto
+      then show "S \<subseteq> {x. - a' \<bullet> x \<le> - b'}"
+        by auto 
+      show "S \<inter> {x. a \<bullet> x = b} = S \<inter> {x. - a' \<bullet> x = - b'}"
+        using eq hull_subset [of S affine] by force
+      show "\<lbrakk>S \<inter> {x. a \<bullet> x = b} \<noteq> {}; S \<inter> {x. a \<bullet> x = b} \<noteq> S\<rbrakk> \<Longrightarrow> - a' \<noteq> 0"
+        using \<open>a' \<noteq> 0\<close> by auto
+      show "w + - a' \<in> affine hull S"
+        if "S \<inter> {x. a \<bullet> x = b} \<noteq> S" "w \<in> affine hull S" for w
+      proof -
+        have "w + 1 *\<^sub>R (w - (w + a')) \<in> affine hull S"
+          using affine_affine_hull mem mem_affine_3_minus that(2) by blast
+        then show ?thesis  by simp
+      qed
+    qed
+  qed
+qed
+next
+  assume ?rhs then show ?lhs
+    unfolding exposed_face_of_def by blast
+qed
+
 subsection\<open>Extreme points of a set: its singleton faces\<close>
 
 definition extreme_point_of :: "['a::real_vector, 'a set] \<Rightarrow> bool"
--- a/src/HOL/Analysis/Starlike.thy	Sun Oct 08 11:58:01 2017 +0200
+++ b/src/HOL/Analysis/Starlike.thy	Sun Oct 08 14:48:47 2017 +0200
@@ -3794,6 +3794,16 @@
     shows "a < x \<Longrightarrow> x < b \<Longrightarrow> (at x within {a..b}) = at x"
   by (metis at_within_interior greaterThanLessThan_iff interior_atLeastAtMost)
 
+lemma at_within_cbox_finite:
+  assumes "x \<in> box a b" "x \<notin> S" "finite S"
+  shows "(at x within cbox a b - S) = at x"
+proof -
+  have "interior (cbox a b - S) = box a b - S"
+    using \<open>finite S\<close> by (simp add: interior_diff finite_imp_closed)
+  then show ?thesis
+    using at_within_interior assms by fastforce
+qed
+
 lemma affine_independent_convex_affine_hull:
   fixes s :: "'a::euclidean_space set"
   assumes "~affine_dependent s" "t \<subseteq> s"
--- a/src/HOL/Analysis/Tagged_Division.thy	Sun Oct 08 11:58:01 2017 +0200
+++ b/src/HOL/Analysis/Tagged_Division.thy	Sun Oct 08 14:48:47 2017 +0200
@@ -1919,89 +1919,71 @@
 
 lemma interval_bisection_step:
   fixes type :: "'a::euclidean_space"
-  assumes "P {}"
-    and "\<forall>s t. P s \<and> P t \<and> interior(s) \<inter> interior(t) = {} \<longrightarrow> P (s \<union> t)"
-    and "\<not> P (cbox a (b::'a))"
+  assumes emp: "P {}"
+    and Un: "\<And>S T. \<lbrakk>P S; P T; interior(S) \<inter> interior(T) = {}\<rbrakk> \<Longrightarrow> P (S \<union> T)"
+    and non: "\<not> P (cbox a (b::'a))"
   obtains c d where "\<not> P (cbox c d)"
-    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"
+    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"
 proof -
   have "cbox a b \<noteq> {}"
-    using assms(1,3) by metis
+    using emp non by metis
   then have ab: "\<And>i. i\<in>Basis \<Longrightarrow> a \<bullet> i \<le> b \<bullet> i"
     by (force simp: mem_box)
-  have UN_cases: "\<lbrakk>finite f;
-           \<And>s. s\<in>f \<Longrightarrow> P s;
-           \<And>s. s\<in>f \<Longrightarrow> \<exists>a b. s = cbox a b;
-           \<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
-  proof (induct f rule: finite_induct)
-    case empty
-    show ?case
-      using assms(1) by auto
+  have UN_cases: "\<lbrakk>finite \<F>;
+           \<And>S. S\<in>\<F> \<Longrightarrow> P S;
+           \<And>S. S\<in>\<F> \<Longrightarrow> \<exists>a b. S = cbox a b;
+           \<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>
+  proof (induct \<F> rule: finite_induct)
+    case empty show ?case
+      using emp by auto
   next
     case (insert x f)
-    show ?case
-      unfolding Union_insert
-      apply (rule assms(2)[rule_format])
-      using Int_interior_Union_intervals [of f "interior x"]
-      by (metis (no_types, lifting) insert insert_iff open_interior)
+    then show ?case
+      unfolding Union_insert by (metis Int_interior_Union_intervals Un insert_iff open_interior)
   qed
-  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>
-    (c\<bullet>i = (a\<bullet>i + b\<bullet>i) / 2) \<and> (d\<bullet>i = b\<bullet>i)}"
-  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"
-  {
-    presume "\<forall>c d. ?PP c d \<longrightarrow> P (cbox c d) \<Longrightarrow> False"
-    then show thesis
-      unfolding atomize_not not_all
-      by (blast intro: that)
-  }
-  assume as: "\<forall>c d. ?PP c d \<longrightarrow> P (cbox c d)"
-  have "P (\<Union>?A)"
+  let ?ab = "\<lambda>i. (a\<bullet>i + b\<bullet>i) / 2"
+  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>
+    (c\<bullet>i = ?ab i) \<and> (d\<bullet>i = b\<bullet>i)}"
+  have "P (\<Union>?A)" 
+    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)"
   proof (rule UN_cases)
-    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)
-      (\<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}"
+    let ?B = "(\<lambda>S. cbox (\<Sum>i\<in>Basis. (if i \<in> S then a\<bullet>i else ?ab i) *\<^sub>R i::'a)
+                        (\<Sum>i\<in>Basis. (if i \<in> S then ?ab i else b\<bullet>i) *\<^sub>R i)) ` {s. s \<subseteq> Basis}"
     have "?A \<subseteq> ?B"
     proof
       fix x
       assume "x \<in> ?A"
       then obtain c d
         where x:  "x = cbox c d"
-                  "\<And>i. i \<in> Basis \<Longrightarrow>
-                        c \<bullet> i = a \<bullet> i \<and> d \<bullet> i = (a \<bullet> i + b \<bullet> i) / 2 \<or>
-                        c \<bullet> i = (a \<bullet> i + b \<bullet> i) / 2 \<and> d \<bullet> i = b \<bullet> i" by blast
-      show "x \<in> ?B"
-        unfolding image_iff x
-        apply (rule_tac x="{i. i\<in>Basis \<and> c\<bullet>i = a\<bullet>i}" in bexI)
-        apply (rule arg_cong2 [where f = cbox])
-        using x(2) ab
-        apply (auto simp add: euclidean_eq_iff[where 'a='a])
-        by fastforce
+          "\<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" 
+        by blast
+      have "c = (\<Sum>i\<in>Basis. (if c \<bullet> i = a \<bullet> i then a \<bullet> i else ?ab i) *\<^sub>R i)"
+           "d = (\<Sum>i\<in>Basis. (if c \<bullet> i = a \<bullet> i then ?ab i else b \<bullet> i) *\<^sub>R i)"
+        using x(2) ab by (fastforce simp add: euclidean_eq_iff[where 'a='a])+
+      then show "x \<in> ?B"
+        unfolding x by (rule_tac x="{i. i\<in>Basis \<and> c\<bullet>i = a\<bullet>i}" in image_eqI) auto
     qed
     then show "finite ?A"
       by (rule finite_subset) auto
   next
-    fix s
-    assume "s \<in> ?A"
+    fix S
+    assume "S \<in> ?A"
     then obtain c d
-      where s: "s = cbox c d"
-               "\<And>i. i \<in> Basis \<Longrightarrow>
-                     c \<bullet> i = a \<bullet> i \<and> d \<bullet> i = (a \<bullet> i + b \<bullet> i) / 2 \<or>
-                     c \<bullet> i = (a \<bullet> i + b \<bullet> i) / 2 \<and> d \<bullet> i = b \<bullet> i"
+      where s: "S = cbox c d"
+               "\<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"
       by blast
-    show "P s"
-      unfolding s
-      apply (rule as[rule_format])
-      using ab s(2) by force
-    show "\<exists>a b. s = cbox a b"
+    show "P S"
+      unfolding s using ab s(2) by (fastforce intro!: that)
+    show "\<exists>a b. S = cbox a b"
       unfolding s by auto
-    fix t
-    assume "t \<in> ?A"
+    fix T
+    assume "T \<in> ?A"
     then obtain e f where t:
-      "t = cbox e f"
-      "\<And>i. i \<in> Basis \<Longrightarrow>
-        e \<bullet> i = a \<bullet> i \<and> f \<bullet> i = (a \<bullet> i + b \<bullet> i) / 2 \<or>
-        e \<bullet> i = (a \<bullet> i + b \<bullet> i) / 2 \<and> f \<bullet> i = b \<bullet> i"
+      "T = cbox e f"
+      "\<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"
       by blast
-    assume "s \<noteq> t"
+    assume "S \<noteq> T"
     then have "\<not> (c = e \<and> d = f)"
       unfolding s t by auto
     then obtain i where "c\<bullet>i \<noteq> e\<bullet>i \<or> d\<bullet>i \<noteq> f\<bullet>i" and i': "i \<in> Basis"
@@ -2011,24 +1993,15 @@
       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
     have *: "\<And>s t. (\<And>a. a \<in> s \<Longrightarrow> a \<in> t \<Longrightarrow> False) \<Longrightarrow> s \<inter> t = {}"
       by auto
-    show "interior s \<inter> interior t = {}"
+    show "interior S \<inter> interior T = {}"
       unfolding s t interior_cbox
     proof (rule *)
       fix x
       assume "x \<in> box c d" "x \<in> box e f"
       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"
-        unfolding mem_box using i'
-        by force+
-      show False  using s(2)[OF i']
-      proof safe
-        assume as: "c \<bullet> i = a \<bullet> i" "d \<bullet> i = (a \<bullet> i + b \<bullet> i) / 2"
-        show False
-          using t(2)[OF i'] and i x unfolding as by (fastforce simp add:field_simps)
-      next
-        assume as: "c \<bullet> i = (a \<bullet> i + b \<bullet> i) / 2" "d \<bullet> i = b \<bullet> i"
-        show False
-          using t(2)[OF i'] and i x unfolding as by(fastforce simp add:field_simps)
-      qed
+        unfolding mem_box using i'  by force+
+      show False  using s(2)[OF i'] t(2)[OF i'] and i x  
+        by auto
     qed
   qed
   also have "\<Union>?A = cbox a b"
@@ -2037,48 +2010,30 @@
     assume "x \<in> \<Union>?A"
     then obtain c d where x:
       "x \<in> cbox c d"
-      "\<And>i. i \<in> Basis \<Longrightarrow>
-        c \<bullet> i = a \<bullet> i \<and> d \<bullet> i = (a \<bullet> i + b \<bullet> i) / 2 \<or>
-        c \<bullet> i = (a \<bullet> i + b \<bullet> i) / 2 \<and> d \<bullet> i = b \<bullet> i"
+      "\<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"
       by blast
-    show "x\<in>cbox a b"
-      unfolding mem_box
-    proof safe
-      fix i :: 'a
-      assume i: "i \<in> Basis"
-      then show "a \<bullet> i \<le> x \<bullet> i" "x \<bullet> i \<le> b \<bullet> i"
-        using x(2)[OF i] x(1)[unfolded mem_box,THEN bspec, OF i] by auto
-    qed
+    then show "x\<in>cbox a b"
+      unfolding mem_box by force
   next
     fix x
     assume x: "x \<in> cbox a b"
-    have "\<forall>i\<in>Basis.
-      \<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"
+    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"
       (is "\<forall>i\<in>Basis. \<exists>c d. ?P i c d")
-      unfolding mem_box
-    proof
-      fix i :: 'a
-      assume i: "i \<in> Basis"
-      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)"
-        using x[unfolded mem_box,THEN bspec, OF i] by auto
-      then show "\<exists>c d. ?P i c d"
-        by blast
-    qed
-    then obtain \<alpha> \<beta> where
-     "\<forall>i\<in>Basis. (\<alpha> \<bullet> i = a \<bullet> i \<and> \<beta> \<bullet> i = (a \<bullet> i + b \<bullet> i) / 2 \<or>
-         \<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"
+      unfolding mem_box by (metis linear)
+    then obtain \<alpha> \<beta> where "\<forall>i\<in>Basis. (\<alpha> \<bullet> i = a \<bullet> i \<and> \<beta> \<bullet> i = ?ab i \<or>
+         \<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"
       by (auto simp: choice_Basis_iff)
     then show "x\<in>\<Union>?A"
       by (force simp add: mem_box)
   qed
-  finally show False
-    using assms by auto
+  finally show thesis
+      by (metis (no_types, lifting) assms(3) that)
 qed
 
 lemma interval_bisection:
   fixes type :: "'a::euclidean_space"
   assumes "P {}"
-    and "(\<forall>s t. P s \<and> P t \<and> interior(s) \<inter> interior(t) = {} \<longrightarrow> P(s \<union> t))"
+    and Un: "\<And>S T. \<lbrakk>P S; P T; interior(S) \<inter> interior(T) = {}\<rbrakk> \<Longrightarrow> P (S \<union> T)"
     and "\<not> P (cbox a (b::'a))"
   obtains x where "x \<in> cbox a b"
     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)"
@@ -2092,14 +2047,14 @@
       case True
       then show ?thesis by auto
     next
-      case as: False
+      case False
       obtain c d where "\<not> P (cbox c d)"
-        "\<forall>i\<in>Basis.
+        "\<And>i. i \<in> Basis \<Longrightarrow>
            fst x \<bullet> i \<le> c \<bullet> i \<and>
            c \<bullet> i \<le> d \<bullet> i \<and>
            d \<bullet> i \<le> snd x \<bullet> i \<and>
            2 * (d \<bullet> i - c \<bullet> i) \<le> snd x \<bullet> i - fst x \<bullet> i"
-        by (rule interval_bisection_step[of P, OF assms(1-2) as])
+        by (blast intro: interval_bisection_step[of P, OF assms(1-2) False])
       then show ?thesis
         by (rule_tac x="(c,d)" in exI) auto
     qed
@@ -2281,33 +2236,17 @@
 
 lemma tagged_division_finer:
   fixes p :: "('a::euclidean_space \<times> ('a::euclidean_space set)) set"
-  assumes "p tagged_division_of (cbox a b)"
+  assumes ptag: "p tagged_division_of (cbox a b)"
     and "gauge d"
   obtains q where "q tagged_division_of (cbox a b)"
     and "d fine q"
     and "\<forall>(x,k) \<in> p. k \<subseteq> d(x) \<longrightarrow> (x,k) \<in> q"
 proof -
-  let ?P = "\<lambda>p. p tagged_partial_division_of (cbox a b) \<longrightarrow> gauge d \<longrightarrow>
-    (\<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))"
-  {
-    have *: "finite p" "p tagged_partial_division_of (cbox a b)"
-      using assms(1)
-      unfolding tagged_division_of_def
-      by auto
-    presume "\<And>p. finite p \<Longrightarrow> ?P p"
-    from this[rule_format,OF * assms(2)] 
-    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)"
-      by auto
-    with that[of q] show ?thesis
-      using assms(1) by auto
-  }
-  fix p :: "('a::euclidean_space \<times> ('a::euclidean_space set)) set"
-  assume as: "finite p"
-  show "?P p"
-    apply rule
-    apply rule
-    using as
+  have p: "finite p" "p tagged_partial_division_of (cbox a b)"
+    using ptag unfolding tagged_division_of_def by auto
+  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))" 
+    if "finite p" "p tagged_partial_division_of (cbox a b)" "gauge d" for p
+    using that
   proof (induct p)
     case empty
     show ?case
@@ -2325,7 +2264,7 @@
       unfolding xk by auto
     note p = tagged_partial_division_ofD[OF insert(4)]
     obtain u v where uv: "k = cbox u v"
-      using p(4)[unfolded xk, OF insertI1] by blast
+      using p(4) xk by blast
     have "finite {k. \<exists>x. (x, k) \<in> p}"
       apply (rule finite_subset[of _ "snd ` p"])
       using image_iff apply fastforce
@@ -2363,6 +2302,9 @@
         done
     qed
   qed
+  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"
+    by (meson \<open>gauge d\<close>)
+  with ptag that show ?thesis by auto
 qed
 
 subsubsection \<open>Covering lemma\<close>
--- a/src/HOL/Library/Stirling.thy	Sun Oct 08 11:58:01 2017 +0200
+++ b/src/HOL/Library/Stirling.thy	Sun Oct 08 14:48:47 2017 +0200
@@ -246,7 +246,7 @@
 \<close>
 
 definition zip_with_prev :: "('a \<Rightarrow> 'a \<Rightarrow> 'b) \<Rightarrow> 'a \<Rightarrow> 'a list \<Rightarrow> 'b list"
-  where "zip_with_prev f x xs = map (\<lambda>(x,y). f x y) (zip (x # xs) xs)"
+  where "zip_with_prev f x xs = map2 f (x # xs) xs"
 
 lemma zip_with_prev_altdef:
   "zip_with_prev f x xs =
--- a/src/HOL/Library/Tree.thy	Sun Oct 08 11:58:01 2017 +0200
+++ b/src/HOL/Library/Tree.thy	Sun Oct 08 14:48:47 2017 +0200
@@ -475,6 +475,12 @@
 lemma height_mirror[simp]: "height(mirror t) = height t"
 by (induction t) simp_all
 
+lemma min_height_mirror [simp]: "min_height (mirror t) = min_height t"
+by (induction t) simp_all  
+
+lemma ipl_mirror [simp]: "ipl (mirror t) = ipl t"
+by (induction t) simp_all
+
 lemma inorder_mirror: "inorder(mirror t) = rev(inorder t)"
 by (induction t) simp_all
 
--- a/src/HOL/Library/code_test.ML	Sun Oct 08 11:58:01 2017 +0200
+++ b/src/HOL/Library/code_test.ML	Sun Oct 08 14:48:47 2017 +0200
@@ -425,8 +425,8 @@
       "end;"
     val ml_source =
       "Control.MC.matchRedundantError := false; Control.MC.matchRedundantWarn := false;" ^
-      "use " ^ ML_Syntax.print_string (Path.implode (Path.expand code_path)) ^
-      "; use " ^ ML_Syntax.print_string (Path.implode (Path.expand driver_path)) ^
+      "use " ^ ML_Syntax.print_string (Bash.string (File.platform_path code_path)) ^
+      "; use " ^ ML_Syntax.print_string (Bash.string (File.platform_path driver_path)) ^
       "; Test.main ();"
     val cmd = "echo " ^ Bash.string ml_source ^ " | \"$ISABELLE_SMLNJ\""
   in
--- a/src/HOL/List.thy	Sun Oct 08 11:58:01 2017 +0200
+++ b/src/HOL/List.thy	Sun Oct 08 14:48:47 2017 +0200
@@ -151,6 +151,9 @@
   \<comment> \<open>Warning: simpset does not contain this definition, but separate
        theorems for \<open>xs = []\<close> and \<open>xs = z # zs\<close>\<close>
 
+abbreviation map2 :: "('a \<Rightarrow> 'b \<Rightarrow> 'c) \<Rightarrow> 'a list \<Rightarrow> 'b list \<Rightarrow> 'c list" where
+"map2 f xs ys \<equiv> map (\<lambda>(x,y). f x y) (zip xs ys)"
+
 primrec product :: "'a list \<Rightarrow> 'b list \<Rightarrow> ('a \<times> 'b) list" where
 "product [] _ = []" |
 "product (x#xs) ys = map (Pair x) ys @ product xs ys"
@@ -2011,11 +2014,17 @@
 
 subsubsection \<open>@{const take} and @{const drop}\<close>
 
-lemma take_0 [simp]: "take 0 xs = []"
+lemma take_0: "take 0 xs = []"
+by (induct xs) auto
+
+lemma drop_0: "drop 0 xs = xs"
 by (induct xs) auto
 
-lemma drop_0 [simp]: "drop 0 xs = xs"
-by (induct xs) auto
+lemma take0[simp]: "take 0 = (\<lambda>xs. [])"
+by(rule ext) (rule take_0)
+
+lemma drop0[simp]: "drop 0 = (\<lambda>x. x)"
+by(rule ext) (rule drop_0)
 
 lemma take_Suc_Cons [simp]: "take (Suc n) (x # xs) = x # take n xs"
 by simp
@@ -2031,6 +2040,9 @@
 lemma drop_Suc: "drop (Suc n) xs = drop n (tl xs)"
 by(cases xs, simp_all)
 
+lemma hd_take: "j > 0 \<Longrightarrow> hd (take j xs) = hd xs"
+by (metis gr0_conv_Suc list.sel(1) take.simps(1) take_Suc)
+
 lemma take_tl: "take n (tl xs) = tl (take (Suc n) xs)"
 by (induct xs arbitrary: n) simp_all
 
@@ -4393,12 +4405,12 @@
 done
 
 lemma nths_shift_lemma:
-     "map fst [p<-zip xs [i..<i + length xs] . snd p : A] =
-      map fst [p<-zip xs [0..<length xs] . snd p + i : A]"
+  "map fst [p<-zip xs [i..<i + length xs] . snd p : A] =
+   map fst [p<-zip xs [0..<length xs] . snd p + i : A]"
 by (induct xs rule: rev_induct) (simp_all add: add.commute)
 
 lemma nths_append:
-     "nths (l @ l') A = nths l A @ nths l' {j. j + length l : A}"
+  "nths (l @ l') A = nths l A @ nths l' {j. j + length l : A}"
 apply (unfold nths_def)
 apply (induct l' rule: rev_induct, simp)
 apply (simp add: upt_add_eq_append[of 0] nths_shift_lemma)
@@ -4406,7 +4418,7 @@
 done
 
 lemma nths_Cons:
-"nths (x # l) A = (if 0:A then [x] else []) @ nths l {j. Suc j : A}"
+  "nths (x # l) A = (if 0:A then [x] else []) @ nths l {j. Suc j : A}"
 apply (induct l rule: rev_induct)
  apply (simp add: nths_def)
 apply (simp del: append_Cons add: append_Cons[symmetric] nths_append)
@@ -4429,17 +4441,18 @@
 lemma nths_singleton [simp]: "nths [x] A = (if 0 : A then [x] else [])"
 by (simp add: nths_Cons)
 
-
 lemma distinct_nthsI[simp]: "distinct xs \<Longrightarrow> distinct (nths xs I)"
-  by (induct xs arbitrary: I) (auto simp: nths_Cons)
-
+by (induct xs arbitrary: I) (auto simp: nths_Cons)
 
 lemma nths_upt_eq_take [simp]: "nths l {..<n} = take n l"
-  by (induct l rule: rev_induct)
-     (simp_all split: nat_diff_split add: nths_append)
+by (induct l rule: rev_induct)
+   (simp_all split: nat_diff_split add: nths_append)
+
+lemma filter_eq_nths: "filter P xs = nths xs {i. i<length xs \<and> P(xs!i)}"
+by(induction xs) (auto simp: nths_Cons)
 
 lemma filter_in_nths:
- "distinct xs \<Longrightarrow> filter (%x. x \<in> set (nths xs s)) xs = nths xs s"
+  "distinct xs \<Longrightarrow> filter (%x. x \<in> set (nths xs s)) xs = nths xs s"
 proof (induct xs arbitrary: s)
   case Nil thus ?case by simp
 next
@@ -5123,7 +5136,7 @@
 
 text\<open>Currently it is not shown that @{const sort} returns a
 permutation of its input because the nicest proof is via multisets,
-which are not yet available. Alternatively one could define a function
+which are not part of Main. Alternatively one could define a function
 that counts the number of occurrences of an element in a list and use
 that instead of multisets to state the correctness property.\<close>
 
@@ -5336,6 +5349,59 @@
   "sorted (map fst (enumerate n xs))"
   by (simp add: enumerate_eq_zip)
 
+text \<open>Stability of function @{const sort_key}:\<close>
+
+lemma sort_key_stable:
+  "x \<in> set xs \<Longrightarrow> [y <- sort_key f xs. f y = f x] = [y <- xs. f y = f x]"
+proof (induction xs arbitrary: x)
+  case Nil thus ?case by simp
+next  
+  case (Cons a xs)
+  thus ?case 
+  proof (cases "x \<in> set xs")
+    case True 
+    thus ?thesis
+    proof (cases "f a = f x")
+      case False thus ?thesis 
+        using Cons.IH by (metis (mono_tags) True filter.simps(2) filter_sort)
+    next
+      case True
+      hence ler: "[y <- (a # xs). f y = f x] = a # [y <- xs. f y = f a]" by simp
+      have "\<forall>y \<in> set (sort_key f [y <- xs. f y = f a]). f y = f a" by simp
+      hence "insort_key f a (sort_key f [y <- xs. f y = f a]) 
+              = a # (sort_key f [y <- xs. f y = f a])"
+        by (simp add: insort_is_Cons)
+      hence lel: "[y <- sort_key f (a # xs). f y = f x] = a # [y <- sort_key f xs. f y = f a]"
+        by (metis True filter_sort ler sort_key_simps(2))
+      from lel ler show ?thesis using Cons.IH \<open>x \<in> set xs\<close> by (metis True filter_sort)
+    qed
+  next
+    case False
+    from Cons.prems have "x = a" by (metis False set_ConsD)
+    have ler: "[y <- (a # xs). f y = f a] = a # [y <- xs. f y = f a]" by simp
+    have "\<forall>y \<in> set (sort_key f [y <- xs. f y = f a]). f y = f a" by simp
+    hence "insort_key f a (sort_key f [y <- xs. f y = f a]) 
+           = a # (sort_key f [y <- xs. f y = f a])"
+      by (simp add: insort_is_Cons)
+    hence lel: "[y <- sort_key f (a # xs). f y = f a] = a # [y <- sort_key f xs. f y = f a]"
+      by (metis (mono_tags) filter.simps(2) filter_sort sort_key_simps(2))
+    show ?thesis (is "?l = ?r")
+    proof (cases "f a \<in> set (map f xs)")
+      case False
+      hence "\<forall>y \<in> set xs. f y \<noteq> f a" by (metis image_eqI set_map)
+      hence R: "?r = [a]" using ler \<open>x=a\<close> by simp
+      have L: "?l = [a]" using lel \<open>x=a\<close> by (metis R filter_sort insort_key.simps(1) sort_key_simps)
+      from L R show ?thesis ..
+    next
+      case True
+      then obtain z where Z: "z \<in> set xs \<and> f z = f a" by auto
+      hence L: "[y <- sort_key f xs. f y = f z] = [y <- sort_key f xs. f y = f a]" by simp
+      from Z have R: "[y <- xs. f y = f z] = [y <- xs. f y = f a]" by simp 
+      from L R Z show ?thesis using Cons.IH ler lel \<open>x=a\<close> by metis
+    qed
+  qed
+qed
+
 
 subsubsection \<open>@{const transpose} on sorted lists\<close>
 
--- a/src/HOL/Quickcheck_Narrowing.thy	Sun Oct 08 11:58:01 2017 +0200
+++ b/src/HOL/Quickcheck_Narrowing.thy	Sun Oct 08 14:48:47 2017 +0200
@@ -192,6 +192,8 @@
 
 subsubsection \<open>Setting up the counterexample generator\<close>
 
+external_file "~~/src/HOL/Tools/Quickcheck/Narrowing_Engine.hs"
+external_file "~~/src/HOL/Tools/Quickcheck/PNF_Narrowing_Engine.hs"
 ML_file "Tools/Quickcheck/narrowing_generators.ML"
 
 definition narrowing_dummy_partial_term_of :: "('a :: partial_term_of) itself => narrowing_term => term"
--- a/src/HOL/ROOT	Sun Oct 08 11:58:01 2017 +0200
+++ b/src/HOL/ROOT	Sun Oct 08 14:48:47 2017 +0200
@@ -7,9 +7,6 @@
   theories
     Main (global)
     Complex_Main (global)
-  files
-    "Tools/Quickcheck/Narrowing_Engine.hs"
-    "Tools/Quickcheck/PNF_Narrowing_Engine.hs"
   document_files
     "root.bib"
     "root.tex"
@@ -18,15 +15,11 @@
   description {*
     HOL-Main with explicit proof terms.
   *}
-  options [document = false, theory_qualifier = "HOL",
-    quick_and_dirty = false, record_proofs = 2, parallel_proofs = 0]
+  options [document = false, quick_and_dirty = false, record_proofs = 2, parallel_proofs = 0]
   sessions
     "HOL-Library"
   theories
     "HOL-Library.Old_Datatype"
-  files
-    "Tools/Quickcheck/Narrowing_Engine.hs"
-    "Tools/Quickcheck/PNF_Narrowing_Engine.hs"
 
 session "HOL-Library" (main timing) in Library = HOL +
   description {*
@@ -121,8 +114,6 @@
     Exp demonstrates the use of iterated inductive definitions to reason about
     mutually recursive relations.
   *}
-  theories [document = false]
-    "HOL-Library.Old_Datatype"
   theories [quick_and_dirty]
     Common_Patterns
   theories
@@ -142,12 +133,6 @@
 
 session "HOL-IMP" (timing) in IMP = "HOL-Library" +
   options [document_variants = document]
-  theories [document = false]
-    "HOL-Library.While_Combinator"
-    "HOL-Library.Char_ord"
-    "HOL-Library.List_lexord"
-    "HOL-Library.Quotient_List"
-    "HOL-Library.Extended"
   theories
     BExp
     ASM
@@ -200,8 +185,6 @@
     "HOL-Number_Theory"
   theories [document = false]
     Less_False
-    "HOL-Library.Multiset"
-    "HOL-Number_Theory.Fib"
   theories
     Sorting
     Balance
@@ -227,11 +210,6 @@
   *}
   sessions
     "HOL-Algebra"
-  theories [document = false]
-    "HOL-Library.FuncSet"
-    "HOL-Library.Multiset"
-    "HOL-Algebra.Ring"
-    "HOL-Algebra.FiniteProduct"
   theories
     Number_Theory
   document_files
@@ -310,11 +288,6 @@
 
     The Isabelle Algebraic Library.
   *}
-  theories [document = false]
-    (* Preliminaries from set and number theory *)
-    "HOL-Library.FuncSet"
-    "HOL-Computational_Algebra.Primes"
-    "HOL-Library.Permutation"
   theories
     (* Orders and Lattices *)
     Galois_Connection    (* Knaster-Tarski theorem and Galois connections *)
@@ -403,10 +376,6 @@
 
 session "HOL-Imperative_HOL" in Imperative_HOL = "HOL-Library" +
   options [print_mode = "iff,no_brackets"]
-  theories [document = false]
-    "HOL-Library.Countable"
-    "HOL-Library.Monad_Syntax"
-    "HOL-Library.LaTeXsugar"
   theories Imperative_HOL_ex
   document_files "root.bib" "root.tex"
 
@@ -433,13 +402,7 @@
   *}
   options [parallel_proofs = 0, quick_and_dirty = false]
   sessions
-    "HOL-Library"
     "HOL-Computational_Algebra"
-  theories [document = false]
-    "HOL-Library.Code_Target_Numeral"
-    "HOL-Library.Monad_Syntax"
-    "HOL-Computational_Algebra.Primes"
-    "HOL-Library.Open_State_Syntax"
   theories
     Greatest_Common_Divisor
     Warshall
@@ -490,8 +453,6 @@
   *}
   sessions
     "HOL-Eisbach"
-  theories [document = false]
-    "HOL-Library.While_Combinator"
   theories
     MicroJava
   document_files
@@ -555,13 +516,11 @@
   theories CompleteLattice
   document_files "root.tex"
 
-session "HOL-ex" (timing) in ex = "HOL-Library" +
+session "HOL-ex" (timing) in ex = "HOL-Number_Theory" +
   description {*
     Miscellaneous examples for Higher-Order Logic.
   *}
   options [document = false]
-  sessions
-    "HOL-Number_Theory"
   theories
     Adhoc_Overloading_Examples
     Antiquote
@@ -653,9 +612,6 @@
     Miscellaneous Isabelle/Isar examples.
   *}
   options [quick_and_dirty]
-  theories [document = false]
-    "HOL-Library.Lattice_Syntax"
-    "HOL-Computational_Algebra.Primes"
   theories
     Knaster_Tarski
     Peirce
@@ -694,8 +650,6 @@
   description {*
     Verification of the SET Protocol.
   *}
-  theories [document = false]
-    "HOL-Library.Nat_Bijection"
   theories
     SET_Protocol
   document_files "root.tex"
@@ -745,12 +699,6 @@
     ATP_Problem_Import
 
 session "HOL-Probability" (main timing) in "Probability" = "HOL-Analysis" +
-  theories [document = false]
-    "HOL-Library.Countable"
-    "HOL-Library.Permutation"
-    "HOL-Library.Order_Continuity"
-    "HOL-Library.Diagonal_Subsequence"
-    "HOL-Library.Finite_Map"
   theories
     Probability (global)
   document_files "root.tex"
@@ -761,10 +709,8 @@
     Koepf_Duermuth_Countermeasure
     Measure_Not_CCC
 
-session "HOL-Nominal" in Nominal = HOL +
+session "HOL-Nominal" in Nominal = "HOL-Library" +
   options [document = false]
-  sessions
-    "HOL-Library"
   theories
     Nominal
 
@@ -798,7 +744,6 @@
   description {*
     Ordinals and Cardinals, Full Theories.
   *}
-  options [document = false]
   theories
     Cardinals
     Bounded_Set
@@ -896,12 +841,6 @@
     SMT_Examples
     SMT_Word_Examples
     SMT_Tests
-  files
-    "Boogie_Dijkstra.certs"
-    "Boogie_Max.certs"
-    "SMT_Examples.certs"
-    "SMT_Word_Examples.certs"
-    "VCC_Max.certs"
 
 session "HOL-SPARK" (main) in "SPARK" = "HOL-Word" +
   options [document = false]
@@ -912,9 +851,7 @@
   options [document = false, spark_prv = false]
   theories
     "Gcd/Greatest_Common_Divisor"
-
     "Liseq/Longest_Increasing_Subsequence"
-
     "RIPEMD-160/F"
     "RIPEMD-160/Hash"
     "RIPEMD-160/K_L"
@@ -924,42 +861,7 @@
     "RIPEMD-160/R_R"
     "RIPEMD-160/S_L"
     "RIPEMD-160/S_R"
-
     "Sqrt/Sqrt"
-  files
-    "Gcd/greatest_common_divisor/g_c_d.fdl"
-    "Gcd/greatest_common_divisor/g_c_d.rls"
-    "Gcd/greatest_common_divisor/g_c_d.siv"
-    "Liseq/liseq/liseq_length.fdl"
-    "Liseq/liseq/liseq_length.rls"
-    "Liseq/liseq/liseq_length.siv"
-    "RIPEMD-160/rmd/f.fdl"
-    "RIPEMD-160/rmd/f.rls"
-    "RIPEMD-160/rmd/f.siv"
-    "RIPEMD-160/rmd/hash.fdl"
-    "RIPEMD-160/rmd/hash.rls"
-    "RIPEMD-160/rmd/hash.siv"
-    "RIPEMD-160/rmd/k_l.fdl"
-    "RIPEMD-160/rmd/k_l.rls"
-    "RIPEMD-160/rmd/k_l.siv"
-    "RIPEMD-160/rmd/k_r.fdl"
-    "RIPEMD-160/rmd/k_r.rls"
-    "RIPEMD-160/rmd/k_r.siv"
-    "RIPEMD-160/rmd/r_l.fdl"
-    "RIPEMD-160/rmd/r_l.rls"
-    "RIPEMD-160/rmd/r_l.siv"
-    "RIPEMD-160/rmd/round.fdl"
-    "RIPEMD-160/rmd/round.rls"
-    "RIPEMD-160/rmd/round.siv"
-    "RIPEMD-160/rmd/r_r.fdl"
-    "RIPEMD-160/rmd/r_r.rls"
-    "RIPEMD-160/rmd/r_r.siv"
-    "RIPEMD-160/rmd/s_l.fdl"
-    "RIPEMD-160/rmd/s_l.rls"
-    "RIPEMD-160/rmd/s_l.siv"
-    "RIPEMD-160/rmd/s_r.fdl"
-    "RIPEMD-160/rmd/s_r.rls"
-    "RIPEMD-160/rmd/s_r.siv"
 
 session "HOL-SPARK-Manual" in "SPARK/Manual" = "HOL-SPARK" +
   options [show_question_marks = false, spark_prv = false]
@@ -970,19 +872,6 @@
     VC_Principles
     Reference
     Complex_Types
-  files
-    "complex_types_app/initialize.fdl"
-    "complex_types_app/initialize.rls"
-    "complex_types_app/initialize.siv"
-    "loop_invariant/proc1.fdl"
-    "loop_invariant/proc1.rls"
-    "loop_invariant/proc1.siv"
-    "loop_invariant/proc2.fdl"
-    "loop_invariant/proc2.rls"
-    "loop_invariant/proc2.siv"
-    "simple_greatest_common_divisor/g_c_d.fdl"
-    "simple_greatest_common_divisor/g_c_d.rls"
-    "simple_greatest_common_divisor/g_c_d.siv"
   document_files
     "complex_types.ads"
     "complex_types_app.adb"
@@ -1064,18 +953,13 @@
     "Examples/Finite"
     "Examples/T2_Spaces"
 
-session HOLCF (main timing) in HOLCF = HOL +
+session HOLCF (main timing) in HOLCF = "HOL-Library" +
   description {*
     Author:     Franz Regensburger
     Author:     Brian Huffman
 
     HOLCF -- a semantic extension of HOL by the LCF logic.
   *}
-  sessions
-    "HOL-Library"
-  theories [document = false]
-    "HOL-Library.Nat_Bijection"
-    "HOL-Library.Countable"
   theories
     HOLCF (global)
   document_files "root.tex"
--- a/src/HOL/SMT_Examples/Boogie.thy	Sun Oct 08 11:58:01 2017 +0200
+++ b/src/HOL/SMT_Examples/Boogie.thy	Sun Oct 08 14:48:47 2017 +0200
@@ -55,17 +55,20 @@
 declare [[smt_read_only_certificates = true]]
 
 
+external_file "Boogie_Max.certs"
 declare [[smt_certificates = "Boogie_Max.certs"]]
 
 boogie_file Boogie_Max
 
 
+external_file "Boogie_Dijkstra.certs"
 declare [[smt_certificates = "Boogie_Dijkstra.certs"]]
 
 boogie_file Boogie_Dijkstra
 
 
 declare [[z3_extensions = true]]
+external_file "VCC_Max.certs"
 declare [[smt_certificates = "VCC_Max.certs"]]
 
 boogie_file VCC_Max
--- a/src/HOL/SMT_Examples/Boogie_Dijkstra.certs	Sun Oct 08 11:58:01 2017 +0200
+++ b/src/HOL/SMT_Examples/Boogie_Dijkstra.certs	Sun Oct 08 14:48:47 2017 +0200
@@ -3014,3 +3014,8964 @@
 (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))))
 (unit-resolution (lemma (unit-resolution @x7245 @x7618 @x7608 @x8908 false) (or $x2806 $x1896)) @x8073 (unit-resolution @x8072 (lemma @x8164 $x3737) $x2811) false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
 
+ad24f408c8d068cc8218aa0fd750dfcacc455689 2983 0
+unsat
+((set-logic AUFLIA)
+(declare-fun ?v0!20 () B_Vertex$)
+(declare-fun ?v0!19 () B_Vertex$)
+(declare-fun ?v1!18 () B_Vertex$)
+(declare-fun ?v0!17 () B_Vertex$)
+(declare-fun ?v1!16 () B_Vertex$)
+(declare-fun ?v0!15 () B_Vertex$)
+(declare-fun ?v0!14 () B_Vertex$)
+(declare-fun ?v0!13 () B_Vertex$)
+(declare-fun ?v0!12 () B_Vertex$)
+(declare-fun ?v0!11 () B_Vertex$)
+(declare-fun ?v1!10 () B_Vertex$)
+(declare-fun ?v1!9 (B_Vertex$) B_Vertex$)
+(declare-fun ?v0!8 () B_Vertex$)
+(declare-fun ?v1!7 (B_Vertex$) B_Vertex$)
+(declare-fun ?v1!6 (B_Vertex$) B_Vertex$)
+(declare-fun ?v0!5 () B_Vertex$)
+(declare-fun ?v0!4 () B_Vertex$)
+(declare-fun ?v1!3 () B_Vertex$)
+(declare-fun ?v0!2 () B_Vertex$)
+(declare-fun ?v1!1 () B_Vertex$)
+(declare-fun ?v0!0 () B_Vertex$)
+(proof
+(let ((?x260 (fun_upd$ v_b_Visited_G_1$ v_b_v_G_1$ true)))
+(let (($x5237 (fun_app$ ?x260 ?v0!20)))
+(let (($x9037 (not $x5237)))
+(let (($x261 (= v_b_Visited_G_2$ ?x260)))
+(let (($x3724 (forall ((?v1 B_Vertex$) )(! (let ((?x1906 (v_b_SP_G_2$ ?v0!20)))
+(let ((?x1907 (* (- 1) ?x1906)))
+(let ((?x268 (v_b_SP_G_2$ ?v1)))
+(let (($x2237 (= (+ ?x268 ?x1907 (b_G$ (pair$ ?v1 ?v0!20))) 0)))
+(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
+(let (($x295 (not $x286)))
+(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))
+))
+(let (($x3729 (not $x3724)))
+(let ((?x1906 (v_b_SP_G_2$ ?v0!20)))
+(let ((?x1907 (* (- 1) ?x1906)))
+(let ((?x1908 (+ b_Infinity$ ?x1907)))
+(let (($x1909 (<= ?x1908 0)))
+(let (($x1904 (= ?v0!20 b_Source$)))
+(let (($x3715 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x298 (v_b_SP_G_2$ ?v0)))
+(let ((?x1258 (* (- 1) ?x298)))
+(let ((?x268 (v_b_SP_G_2$ ?v1)))
+(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let (($x1277 (>= (+ ?x152 ?x268 ?x1258) 0)))
+(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
+(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
+(let (($x295 (not $x286)))
+(or $x295 $x917 $x1277))))))))) :pattern ( (pair$ ?v1 ?v0) ) :qid k!38))
+))
+(let (($x3720 (not $x3715)))
+(let (($x3732 (or $x3720 $x1904 $x1909 $x3729)))
+(let (($x3735 (not $x3732)))
+(let ((?x1888 (v_b_SP_G_2$ ?v0!19)))
+(let ((?x1889 (* (- 1) ?x1888)))
+(let ((?x1887 (v_b_SP_G_2$ ?v1!18)))
+(let ((?x1879 (pair$ ?v1!18 ?v0!19)))
+(let ((?x1880 (b_G$ ?x1879)))
+(let (($x1891 (>= (+ ?x1880 ?x1887 ?x1889) 0)))
+(let (($x1883 (<= (+ b_Infinity$ (* (- 1) ?x1880)) 0)))
+(let (($x1878 (fun_app$ v_b_Visited_G_2$ ?v1!18)))
+(let (($x2786 (not $x1878)))
+(let (($x2801 (or $x2786 $x1883 $x1891)))
+(let (($x2806 (not $x2801)))
+(let (($x3738 (or $x2806 $x3735)))
+(let (($x3741 (not $x3738)))
+(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)))
+(let (($x296 (fun_app$ v_b_Visited_G_2$ ?v0)))
+(let (($x2763 (not $x296)))
+(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
+(or $x286 $x2763 $x1257))))) :pattern ( (v_b_SP_G_2$ ?v1) (v_b_SP_G_2$ ?v0) ) :qid k!38))
+))
+(let (($x3712 (not $x3707)))
+(let (($x3744 (or $x3712 $x3741)))
+(let (($x3747 (not $x3744)))
+(let (($x1864 (>= (+ (v_b_SP_G_2$ ?v1!16) (* (- 1) (v_b_SP_G_2$ ?v0!17))) 0)))
+(let (($x1857 (fun_app$ v_b_Visited_G_2$ ?v0!17)))
+(let (($x2740 (not $x1857)))
+(let (($x1855 (fun_app$ v_b_Visited_G_2$ ?v1!16)))
+(let (($x2755 (or $x1855 $x2740 $x1864)))
+(let (($x2760 (not $x2755)))
+(let (($x3750 (or $x2760 $x3747)))
+(let (($x3753 (not $x3750)))
+(let (($x3698 (forall ((?v0 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v0)))
+(>= ?x268 0)) :pattern ( (v_b_SP_G_2$ ?v0) ) :qid k!38))
+))
+(let (($x3703 (not $x3698)))
+(let (($x3756 (or $x3703 $x3753)))
+(let (($x3759 (not $x3756)))
+(let ((?x1841 (v_b_SP_G_2$ ?v0!15)))
+(let (($x1842 (>= ?x1841 0)))
+(let (($x1843 (not $x1842)))
+(let (($x3762 (or $x1843 $x3759)))
+(let (($x3765 (not $x3762)))
+(let ((?x291 (v_b_SP_G_2$ b_Source$)))
+(let (($x292 (= ?x291 0)))
+(let (($x768 (not $x292)))
+(let (($x3768 (or $x768 $x3765)))
+(let (($x3771 (not $x3768)))
+(let (($x3774 (or $x768 $x3771)))
+(let (($x3777 (not $x3774)))
+(let (($x3690 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let ((?x268 (v_b_SP_G_2$ ?v0)))
+(let (($x273 (= ?x268 ?x171)))
+(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v0)))
+(let (($x295 (not $x286)))
+(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))
+))
+(let (($x3695 (not $x3690)))
+(let (($x3780 (or $x3695 $x3777)))
+(let (($x3783 (not $x3780)))
+(let ((?x1822 (fun_app$a v_b_SP_G_1$ ?v0!14)))
+(let ((?x1821 (v_b_SP_G_2$ ?v0!14)))
+(let (($x1823 (= ?x1821 ?x1822)))
+(let (($x1824 (or (not (fun_app$ v_b_Visited_G_2$ ?v0!14)) $x1823)))
+(let (($x1825 (not $x1824)))
+(let (($x3786 (or $x1825 $x3783)))
+(let (($x3789 (not $x3786)))
+(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))
+))
+(let (($x3686 (not $x3681)))
+(let (($x3792 (or $x3686 $x3789)))
+(let (($x3795 (not $x3792)))
+(let ((?x1804 (v_b_SP_G_2$ ?v0!13)))
+(let ((?x1805 (* (- 1) ?x1804)))
+(let ((?x1803 (fun_app$a v_b_SP_G_1$ ?v0!13)))
+(let ((?x1806 (+ ?x1803 ?x1805)))
+(let (($x1807 (>= ?x1806 0)))
+(let (($x1808 (not $x1807)))
+(let (($x3798 (or $x1808 $x3795)))
+(let (($x3801 (not $x3798)))
+(let (($x3673 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let ((?x268 (v_b_SP_G_2$ ?v0)))
+(let (($x273 (= ?x268 ?x171)))
+(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
+(let ((?x1168 (* (- 1) ?x254)))
+(let (($x1170 (<= (+ ?x171 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0)))) 0)))
+(let (($x1164 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0)))) 0)))
+(let (($x2712 (or $x1164 $x1170)))
+(let (($x2713 (not $x2712)))
+(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))
+))
+(let (($x3678 (not $x3673)))
+(let (($x3665 (forall ((?v0 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v0)))
+(let ((?x1181 (* (- 1) ?x268)))
+(let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0))))
+(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
+(let (($x1180 (= (+ ?x254 ?x263 ?x1181) 0)))
+(let (($x1170 (<= (+ (fun_app$a v_b_SP_G_1$ ?v0) (* (- 1) ?x254) (* (- 1) ?x263)) 0)))
+(let (($x1164 (<= (+ b_Infinity$ (* (- 1) ?x263)) 0)))
+(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))
+))
+(let (($x3670 (not $x3665)))
+(let (($x2930 (not $x261)))
+(let (($x3655 (forall ((?v0 B_Vertex$) )(! (let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
+(let ((?x1168 (* (- 1) ?x254)))
+(let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0)))
+(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))
+))
+(let (($x3660 (not $x3655)))
+(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
+(let ((?x1168 (* (- 1) ?x254)))
+(let ((?x1207 (+ b_Infinity$ ?x1168)))
+(let (($x1208 (<= ?x1207 0)))
+(let (($x252 (fun_app$ v_b_Visited_G_1$ v_b_v_G_1$)))
+(let ((?x1770 (fun_app$a v_b_SP_G_1$ ?v0!12)))
+(let ((?x1771 (* (- 1) ?x1770)))
+(let ((?x1772 (+ b_Infinity$ ?x1771)))
+(let (($x1773 (<= ?x1772 0)))
+(let (($x1768 (fun_app$ v_b_Visited_G_1$ ?v0!12)))
+(let (($x3804 (or $x1768 $x1773 $x252 $x1208 $x3660 $x2930 $x3670 $x3678 $x3801)))
+(let (($x3807 (not $x3804)))
+(let ((?x242 (fun_app$a v_b_SP_G_3$ b_Source$)))
+(let (($x243 (= ?x242 0)))
+(let (($x3617 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
+(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let (($x1135 (>= (+ ?x152 ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0))) 0)))
+(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
+(let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0)))
+(or $x1094 $x917 $x1135)))))) :pattern ( (pair$ ?v1 ?v0) ) :qid k!38))
+))
+(let (($x3622 (not $x3617)))
+(let (($x3625 (or $x3622 $x243)))
+(let (($x3628 (not $x3625)))
+(let ((?x1729 (fun_app$a v_b_SP_G_3$ ?v0!11)))
+(let ((?x1730 (* (- 1) ?x1729)))
+(let ((?x1721 (pair$ ?v1!10 ?v0!11)))
+(let ((?x1722 (b_G$ ?x1721)))
+(let ((?x1716 (fun_app$a v_b_SP_G_3$ ?v1!10)))
+(let ((?x2201 (+ ?x1716 ?x1722 ?x1730)))
+(let (($x2204 (>= ?x2201 0)))
+(let (($x1725 (<= (+ b_Infinity$ (* (- 1) ?x1722)) 0)))
+(let (($x1719 (<= (+ b_Infinity$ (* (- 1) ?x1716)) 0)))
+(let (($x2640 (or $x1719 $x1725 $x2204)))
+(let (($x2645 (not $x2640)))
+(let (($x3631 (or $x2645 $x3628)))
+(let (($x3634 (not $x3631)))
+(let (($x3609 (forall ((?v0 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v0)))
+(let ((?x2186 (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!9 ?v0) ?v0))))))
+(let (($x2187 (= ?x2186 0)))
+(let (($x2171 (<= (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0)))) 0)))
+(let (($x2612 (not (or $x2171 (not $x2187)))))
+(let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0)))
+(let (($x123 (= ?v0 b_Source$)))
+(or $x123 $x1094 $x2612)))))))) :pattern ( (fun_app$a v_b_SP_G_3$ ?v0) ) :qid k!38))
+))
+(let (($x3614 (not $x3609)))
+(let (($x3637 (or $x3614 $x3634)))
+(let (($x3640 (not $x3637)))
+(let (($x3595 (forall ((?v1 B_Vertex$) )(! (let ((?x1656 (fun_app$a v_b_SP_G_3$ ?v0!8)))
+(let ((?x1657 (* (- 1) ?x1656)))
+(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
+(let (($x2143 (= (+ ?x227 ?x1657 (b_G$ (pair$ ?v1 ?v0!8))) 0)))
+(or (>= (+ ?x227 ?x1657) 0) (not $x2143)))))) :pattern ( (fun_app$a v_b_SP_G_3$ ?v1) ) :pattern ( (pair$ ?v1 ?v0!8) ) :qid k!38))
+))
+(let (($x3600 (not $x3595)))
+(let (($x1659 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0!8))) 0)))
+(let (($x1654 (= ?v0!8 b_Source$)))
+(let (($x3603 (or $x1654 $x1659 $x3600)))
+(let (($x3606 (not $x3603)))
+(let (($x3643 (or $x3606 $x3640)))
+(let (($x3646 (not $x3643)))
+(let (($x217 (= v_b_oldSP_G_1$ v_b_oldSP_G_0$)))
+(let (($x2704 (not $x217)))
+(let (($x214 (= v_b_SP_G_3$ v_b_SP_G_1$)))
+(let (($x2703 (not $x214)))
+(let (($x212 (= v_b_v_G_2$ v_b_v_G_0$)))
+(let (($x2702 (not $x212)))
+(let (($x209 (= v_b_Visited_G_3$ v_b_Visited_G_1$)))
+(let (($x2701 (not $x209)))
+(let (($x3585 (forall ((?v0 B_Vertex$) )(! (let (($x997 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
+(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0)))
+(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))
+))
+(let (($x3590 (not $x3585)))
+(let (($x3649 (or $x3590 $x2701 $x2702 $x2703 $x2704 $x3646)))
+(let (($x3652 (not $x3649)))
+(let (($x3810 (or $x3652 $x3807)))
+(let (($x3813 (not $x3810)))
+(let (($x3576 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let ((?x2123 (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!7 ?v0) ?v0))))))
+(let (($x2124 (= ?x2123 0)))
+(let (($x2108 (<= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?v0)))) 0)))
+(let (($x2546 (not (or $x2108 (not (fun_app$ v_b_Visited_G_1$ (?v1!7 ?v0))) (not $x2124)))))
+(let (($x997 (<= (+ b_Infinity$ (* (- 1) ?x171)) 0)))
+(let (($x123 (= ?v0 b_Source$)))
+(or $x123 $x997 $x2546)))))))) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :qid k!38))
+))
+(let (($x3581 (not $x3576)))
+(let (($x3568 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
+(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let (($x985 (>= (+ ?x152 ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
+(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
+(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
+(let (($x176 (not $x175)))
+(or $x176 $x917 $x985))))))) :pattern ( (pair$ ?v1 ?v0) ) :qid k!38))
+))
+(let (($x3573 (not $x3568)))
+(let (($x3560 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
+(let (($x1010 (>= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
+(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
+(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))
+))
+(let (($x3565 (not $x3560)))
+(let (($x3551 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
+(>= ?x171 0)) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :qid k!38))
+))
+(let (($x3556 (not $x3551)))
+(let ((?x169 (fun_app$a v_b_SP_G_1$ b_Source$)))
+(let (($x170 (= ?x169 0)))
+(let (($x2947 (not $x170)))
+(let (($x3542 (forall ((?v0 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v0)))
+(let ((?x2085 (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!6 ?v0) ?v0))))))
+(let (($x2086 (= ?x2085 0)))
+(let (($x2070 (<= (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?v0)))) 0)))
+(let (($x2473 (not (or $x2070 (not (fun_app$ v_b_Visited_G_0$ (?v1!6 ?v0))) (not $x2086)))))
+(let (($x942 (<= (+ b_Infinity$ (* (- 1) ?x124)) 0)))
+(let (($x123 (= ?v0 b_Source$)))
+(or $x123 $x942 $x2473)))))))) :pattern ( (v_b_SP_G_0$ ?v0) ) :qid k!38))
+))
+(let (($x3547 (not $x3542)))
+(let (($x3816 (or $x3547 $x2947 $x3556 $x3565 $x3573 $x3581 $x3813)))
+(let (($x3819 (not $x3816)))
+(let (($x3528 (forall ((?v1 B_Vertex$) )(! (let ((?x1535 (v_b_SP_G_0$ ?v0!5)))
+(let ((?x1536 (* (- 1) ?x1535)))
+(let ((?x124 (v_b_SP_G_0$ ?v1)))
+(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
+(let (($x134 (not $x133)))
+(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))
+))
+(let (($x3533 (not $x3528)))
+(let ((?x1535 (v_b_SP_G_0$ ?v0!5)))
+(let ((?x1536 (* (- 1) ?x1535)))
+(let ((?x1537 (+ b_Infinity$ ?x1536)))
+(let (($x1538 (<= ?x1537 0)))
+(let (($x1533 (= ?v0!5 b_Source$)))
+(let (($x3536 (or $x1533 $x1538 $x3533)))
+(let (($x1534 (not $x1533)))
+(let ((@x5072 (unit-resolution (def-axiom (or $x3536 $x1534)) (hypothesis (not $x3536)) $x1534)))
+(let (($x5500 (= b_Infinity$ ?x1535)))
+(let (($x6555 (not $x5500)))
+(let (($x1539 (not $x1538)))
+(let ((@x5027 (unit-resolution (def-axiom (or $x3536 $x1539)) (hypothesis (not $x3536)) $x1539)))
+(let ((@x5583 (symm (commutativity (= $x5500 (= ?x1535 b_Infinity$))) (= (= ?x1535 b_Infinity$) $x5500))))
+(let (($x5648 (= ?x1535 b_Infinity$)))
+(let (($x3488 (forall ((?v0 B_Vertex$) )(! (let (($x123 (= ?v0 b_Source$)))
+(or $x123 (= (v_b_SP_G_0$ ?v0) b_Infinity$))) :pattern ( (v_b_SP_G_0$ ?v0) ) :qid k!38))
+))
+(let (($x355 (forall ((?v0 B_Vertex$) )(! (let (($x123 (= ?v0 b_Source$)))
+(or $x123 (= (v_b_SP_G_0$ ?v0) b_Infinity$))) :qid k!38))
+))
+(let (($x123 (= ?0 b_Source$)))
+(let (($x352 (or $x123 (= (v_b_SP_G_0$ ?0) b_Infinity$))))
+(let (($x135 (forall ((?v0 B_Vertex$) )(! (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v0)))
+(not $x133)) :qid k!38))
+))
+(let (($x349 (forall ((?v0 B_Vertex$) )(! (let (($x123 (= ?v0 b_Source$)))
+(let (($x128 (not $x123)))
+(or $x128 (= (v_b_SP_G_0$ ?v0) 0)))) :qid k!38))
+))
+(let (($x885 (and $x349 $x355 $x135)))
+(let (($x1324 (forall ((?v0 B_Vertex$) )(! (let (($x1318 (exists ((?v1 B_Vertex$) )(! (let ((?x298 (v_b_SP_G_2$ ?v0)))
+(let ((?x1258 (* (- 1) ?x298)))
+(let ((?x268 (v_b_SP_G_2$ ?v1)))
+(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let (($x1301 (= (+ ?x152 ?x268 ?x1258) 0)))
+(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
+(let (($x1257 (>= (+ ?x268 ?x1258) 0)))
+(let (($x1304 (not $x1257)))
+(and $x1304 $x286 $x1301))))))))) :qid k!38))
+))
+(let (($x123 (= ?v0 b_Source$)))
+(let (($x128 (not $x123)))
+(let (($x1295 (and $x128 (not (<= (+ b_Infinity$ (* (- 1) (v_b_SP_G_2$ ?v0))) 0)))))
+(or (not $x1295) $x1318))))) :qid k!38))
+))
+(let (($x1284 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x298 (v_b_SP_G_2$ ?v0)))
+(let ((?x1258 (* (- 1) ?x298)))
+(let ((?x268 (v_b_SP_G_2$ ?v1)))
+(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let (($x1277 (>= (+ ?x152 ?x268 ?x1258) 0)))
+(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
+(let (($x918 (not $x917)))
+(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
+(let (($x1271 (and $x286 $x918)))
+(let (($x1274 (not $x1271)))
+(or $x1274 $x1277))))))))))) :qid k!38))
+))
+(let (($x1287 (not $x1284)))
+(let (($x1327 (or $x1287 $x1324)))
+(let (($x1330 (and $x1284 $x1327)))
+(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)))
+(let (($x296 (fun_app$ v_b_Visited_G_2$ ?v0)))
+(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
+(let (($x295 (not $x286)))
+(let (($x297 (and $x295 $x296)))
+(let (($x659 (not $x297)))
+(or $x659 $x1257))))))) :qid k!38))
+))
+(let (($x1268 (not $x1265)))
+(let (($x1333 (or $x1268 $x1330)))
+(let (($x1336 (and $x1265 $x1333)))
+(let (($x1251 (forall ((?v0 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v0)))
+(>= ?x268 0)) :qid k!38))
+))
+(let (($x1254 (not $x1251)))
+(let (($x1339 (or $x1254 $x1336)))
+(let (($x1342 (and $x1251 $x1339)))
+(let (($x1345 (or $x768 $x1342)))
+(let (($x1348 (and $x292 $x1345)))
+(let (($x647 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let ((?x268 (v_b_SP_G_2$ ?v0)))
+(let (($x273 (= ?x268 ?x171)))
+(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v0)))
+(let (($x295 (not $x286)))
+(or $x295 $x273)))))) :qid k!38))
+))
+(let (($x780 (not $x647)))
+(let (($x1351 (or $x780 $x1348)))
+(let (($x1354 (and $x647 $x1351)))
+(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))
+))
+(let (($x1245 (not $x1242)))
+(let (($x1357 (or $x1245 $x1354)))
+(let (($x1360 (and $x1242 $x1357)))
+(let (($x1194 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let ((?x268 (v_b_SP_G_2$ ?v0)))
+(let (($x273 (= ?x268 ?x171)))
+(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
+(let ((?x1168 (* (- 1) ?x254)))
+(let (($x1170 (<= (+ ?x171 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0)))) 0)))
+(let (($x1164 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0)))) 0)))
+(let (($x1174 (and (not $x1164) (not $x1170))))
+(or $x1174 $x273))))))))) :qid k!38))
+))
+(let (($x1188 (forall ((?v0 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v0)))
+(let ((?x1181 (* (- 1) ?x268)))
+(let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0))))
+(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
+(let (($x1180 (= (+ ?x254 ?x263 ?x1181) 0)))
+(let (($x1170 (<= (+ (fun_app$a v_b_SP_G_1$ ?v0) (* (- 1) ?x254) (* (- 1) ?x263)) 0)))
+(let (($x1174 (and (not (<= (+ b_Infinity$ (* (- 1) ?x263)) 0)) (not $x1170))))
+(let (($x1177 (not $x1174)))
+(or $x1177 $x1180))))))))) :qid k!38))
+))
+(let (($x1204 (forall ((?v0 B_Vertex$) )(! (let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
+(let ((?x1168 (* (- 1) ?x254)))
+(let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0)))
+(or $x175 (>= (+ ?x171 ?x1168) 0)))))) :qid k!38))
+))
+(let (($x1209 (not $x1208)))
+(let (($x253 (not $x252)))
+(let (($x1075 (exists ((?v0 B_Vertex$) )(! (let (($x997 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
+(let (($x998 (not $x997)))
+(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0)))
+(let (($x176 (not $x175)))
+(and $x176 $x998))))) :qid k!38))
+))
+(let (($x1230 (and $x1075 $x253 $x1209 $x1204 $x261 $x1188 $x1194)))
+(let (($x1235 (not $x1230)))
+(let (($x1363 (or $x1235 $x1360)))
+(let (($x1141 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
+(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let (($x1135 (>= (+ ?x152 ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0))) 0)))
+(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
+(let (($x918 (not $x917)))
+(let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0)))
+(let (($x1095 (not $x1094)))
+(let (($x1129 (and $x1095 $x918)))
+(let (($x1132 (not $x1129)))
+(or $x1132 $x1135)))))))))) :qid k!38))
+))
+(let (($x1144 (not $x1141)))
+(let (($x1147 (or $x1144 $x243)))
+(let (($x1150 (and $x1141 $x1147)))
+(let (($x1123 (forall ((?v0 B_Vertex$) )(! (let (($x1117 (exists ((?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
+(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(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))
+))
+(let (($x1094 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0))) 0)))
+(let (($x1095 (not $x1094)))
+(let (($x123 (= ?v0 b_Source$)))
+(let (($x128 (not $x123)))
+(let (($x1098 (and $x128 $x1095)))
+(let (($x1101 (not $x1098)))
+(or $x1101 $x1117)))))))) :qid k!38))
+))
+(let (($x1126 (not $x1123)))
+(let (($x1153 (or $x1126 $x1150)))
+(let (($x1156 (and $x1123 $x1153)))
+(let (($x1078 (not $x1075)))
+(let (($x1084 (and $x1078 $x209 $x212 $x214 $x217)))
+(let (($x1089 (not $x1084)))
+(let (($x1159 (or $x1089 $x1156)))
+(let (($x1366 (and $x1159 $x1363)))
+(let (($x1032 (forall ((?v0 B_Vertex$) )(! (let (($x1026 (exists ((?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
+(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let (($x1007 (= (+ ?x152 ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
+(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
+(let (($x1010 (>= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
+(let (($x1012 (not $x1010)))
+(and $x1012 $x175 $x1007))))))) :qid k!38))
+))
+(let (($x997 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
+(let (($x998 (not $x997)))
+(let (($x123 (= ?v0 b_Source$)))
+(let (($x128 (not $x123)))
+(let (($x1001 (and $x128 $x998)))
+(let (($x1004 (not $x1001)))
+(or $x1004 $x1026)))))))) :qid k!38))
+))
+(let (($x992 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
+(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let (($x985 (>= (+ ?x152 ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
+(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
+(let (($x918 (not $x917)))
+(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
+(let (($x978 (and $x175 $x918)))
+(let (($x981 (not $x978)))
+(or $x981 $x985))))))))) :qid k!38))
+))
+(let (($x1040 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
+(let (($x1010 (>= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
+(let (($x177 (fun_app$ v_b_Visited_G_1$ ?v0)))
+(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
+(let (($x176 (not $x175)))
+(let (($x178 (and $x176 $x177)))
+(let (($x398 (not $x178)))
+(or $x398 $x1010)))))))) :qid k!38))
+))
+(let (($x1046 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
+(>= ?x171 0)) :qid k!38))
+))
+(let (($x975 (forall ((?v0 B_Vertex$) )(! (let (($x969 (exists ((?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let ((?x124 (v_b_SP_G_0$ ?v1)))
+(let (($x952 (= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?v0)) ?x152) 0)))
+(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
+(let (($x902 (>= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?v0))) 0)))
+(let (($x955 (not $x902)))
+(and $x955 $x133 $x952))))))) :qid k!38))
+))
+(let (($x123 (= ?v0 b_Source$)))
+(let (($x128 (not $x123)))
+(let (($x946 (and $x128 (not (<= (+ b_Infinity$ (* (- 1) (v_b_SP_G_0$ ?v0))) 0)))))
+(let (($x949 (not $x946)))
+(or $x949 $x969)))))) :qid k!38))
+))
+(let (($x1064 (and $x975 $x170 $x1046 $x1040 $x992 $x1032)))
+(let (($x1069 (not $x1064)))
+(let (($x1369 (or $x1069 $x1366)))
+(let (($x1372 (and $x975 $x1369)))
+(let (($x934 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let ((?x124 (v_b_SP_G_0$ ?v1)))
+(let (($x928 (>= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?v0)) ?x152) 0)))
+(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
+(let (($x918 (not $x917)))
+(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
+(let (($x921 (and $x133 $x918)))
+(let (($x924 (not $x921)))
+(or $x924 $x928))))))))) :qid k!38))
+))
+(let (($x937 (not $x934)))
+(let (($x1375 (or $x937 $x1372)))
+(let (($x1378 (and $x934 $x1375)))
+(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)))
+(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
+(let (($x134 (not $x133)))
+(let (($x146 (and $x134 (fun_app$ v_b_Visited_G_0$ ?v0))))
+(let (($x377 (not $x146)))
+(or $x377 $x902)))))) :qid k!38))
+))
+(let (($x912 (not $x909)))
+(let (($x1381 (or $x912 $x1378)))
+(let (($x1384 (and $x909 $x1381)))
+(let (($x894 (forall ((?v0 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v0)))
+(>= ?x124 0)) :qid k!38))
+))
+(let (($x897 (not $x894)))
+(let (($x1387 (or $x897 $x1384)))
+(let (($x1390 (and $x894 $x1387)))
+(let ((?x141 (v_b_SP_G_0$ b_Source$)))
+(let (($x142 (= ?x141 0)))
+(let (($x864 (not $x142)))
+(let (($x1393 (or $x864 $x1390)))
+(let (($x1396 (and $x142 $x1393)))
+(let (($x1402 (not (or (not $x885) $x1396))))
+(let (($x315 (forall ((?v0 B_Vertex$) )(! (let (($x313 (exists ((?v1 B_Vertex$) )(! (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
+(let (($x311 (and $x286 (= (v_b_SP_G_2$ ?v0) (+ (v_b_SP_G_2$ ?v1) (b_G$ (pair$ ?v1 ?v0)))))))
+(let ((?x298 (v_b_SP_G_2$ ?v0)))
+(let ((?x268 (v_b_SP_G_2$ ?v1)))
+(let (($x309 (< ?x268 ?x298)))
+(and $x309 $x311)))))) :qid k!38))
+))
+(let (($x123 (= ?v0 b_Source$)))
+(let (($x128 (not $x123)))
+(let (($x308 (and $x128 (< (v_b_SP_G_2$ ?v0) b_Infinity$))))
+(=> $x308 $x313))))) :qid k!38))
+))
+(let (($x316 (and $x315 false)))
+(let (($x317 (=> $x316 true)))
+(let (($x318 (and $x315 $x317)))
+(let (($x306 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let ((?x268 (v_b_SP_G_2$ ?v1)))
+(let ((?x303 (+ ?x268 ?x152)))
+(let ((?x298 (v_b_SP_G_2$ ?v0)))
+(let (($x153 (< ?x152 b_Infinity$)))
+(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
+(let (($x302 (and $x286 $x153)))
+(=> $x302 (<= ?x298 ?x303))))))))) :qid k!38))
+))
+(let (($x319 (=> $x306 $x318)))
+(let (($x301 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v1)))
+(let ((?x298 (v_b_SP_G_2$ ?v0)))
+(let (($x299 (<= ?x298 ?x268)))
+(let (($x296 (fun_app$ v_b_Visited_G_2$ ?v0)))
+(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
+(let (($x295 (not $x286)))
+(let (($x297 (and $x295 $x296)))
+(=> $x297 $x299)))))))) :qid k!38))
+))
+(let (($x321 (=> $x301 (and $x306 $x319))))
+(let (($x294 (forall ((?v0 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v0)))
+(<= 0 ?x268)) :qid k!38))
+))
+(let (($x323 (=> $x294 (and $x301 $x321))))
+(let (($x325 (=> $x292 (and $x294 $x323))))
+(let (($x288 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let ((?x268 (v_b_SP_G_2$ ?v0)))
+(let (($x273 (= ?x268 ?x171)))
+(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v0)))
+(=> $x286 $x273))))) :qid k!38))
+))
+(let (($x290 (and $x288 (and true true))))
+(let (($x327 (=> $x290 (and $x292 $x325))))
+(let (($x285 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let ((?x268 (v_b_SP_G_2$ ?v0)))
+(<= ?x268 ?x171))) :qid k!38))
+))
+(let (($x329 (=> $x285 (and $x288 $x327))))
+(let (($x275 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let ((?x268 (v_b_SP_G_2$ ?v0)))
+(let (($x273 (= ?x268 ?x171)))
+(let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0))))
+(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
+(let ((?x265 (+ ?x254 ?x263)))
+(let (($x267 (and (< ?x263 b_Infinity$) (< ?x265 ?x171))))
+(let (($x272 (not $x267)))
+(=> $x272 $x273))))))))) :qid k!38))
+))
+(let (($x271 (forall ((?v0 B_Vertex$) )(! (let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0))))
+(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
+(let ((?x265 (+ ?x254 ?x263)))
+(let ((?x268 (v_b_SP_G_2$ ?v0)))
+(let (($x269 (= ?x268 ?x265)))
+(let (($x267 (and (< ?x263 b_Infinity$) (< ?x265 (fun_app$a v_b_SP_G_1$ ?v0)))))
+(=> $x267 $x269))))))) :qid k!38))
+))
+(let (($x258 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
+(let (($x256 (<= ?x254 ?x171)))
+(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0)))
+(let (($x176 (not $x175)))
+(=> $x176 $x256)))))) :qid k!38))
+))
+(let (($x255 (< ?x254 b_Infinity$)))
+(let (($x206 (exists ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let (($x188 (< ?x171 b_Infinity$)))
+(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0)))
+(let (($x176 (not $x175)))
+(and $x176 $x188))))) :qid k!38))
+))
+(let (($x281 (and $x206 (and $x253 (and $x255 (and $x258 (and $x261 (and $x271 $x275))))))))
+(let (($x282 (and true $x281)))
+(let (($x283 (and true $x282)))
+(let (($x331 (=> $x283 (and $x285 $x329))))
+(let (($x245 (and $x243 (=> $x243 true))))
+(let (($x241 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
+(let ((?x232 (+ ?x227 ?x152)))
+(let ((?x230 (fun_app$a v_b_SP_G_3$ ?v0)))
+(let (($x153 (< ?x152 b_Infinity$)))
+(let (($x228 (< ?x227 b_Infinity$)))
+(let (($x238 (and $x228 $x153)))
+(=> $x238 (<= ?x230 ?x232))))))))) :qid k!38))
+))
+(let (($x246 (=> $x241 $x245)))
+(let (($x237 (forall ((?v0 B_Vertex$) )(! (let (($x235 (exists ((?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
+(let ((?x232 (+ ?x227 ?x152)))
+(let ((?x230 (fun_app$a v_b_SP_G_3$ ?v0)))
+(let (($x231 (< ?x227 ?x230)))
+(and $x231 (= ?x230 ?x232))))))) :qid k!38))
+))
+(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v0)))
+(let (($x228 (< ?x227 b_Infinity$)))
+(let (($x123 (= ?v0 b_Source$)))
+(let (($x128 (not $x123)))
+(let (($x229 (and $x128 $x228)))
+(=> $x229 $x235))))))) :qid k!38))
+))
+(let (($x248 (=> $x237 (and $x241 $x246))))
+(let (($x222 (and true (and $x209 (and $x212 (and $x214 (and $x217 true)))))))
+(let (($x223 (and true $x222)))
+(let (($x207 (not $x206)))
+(let (($x225 (and true (and $x207 $x223))))
+(let (($x226 (and true $x225)))
+(let (($x250 (=> $x226 (and $x237 $x248))))
+(let (($x196 (forall ((?v0 B_Vertex$) )(! (let (($x194 (exists ((?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
+(let ((?x184 (+ ?x171 ?x152)))
+(let ((?x179 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
+(let (($x190 (< ?x171 ?x179)))
+(and $x190 (and $x175 (= ?x179 ?x184))))))))) :qid k!38))
+))
+(let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let (($x188 (< ?x171 b_Infinity$)))
+(let (($x123 (= ?v0 b_Source$)))
+(let (($x128 (not $x123)))
+(let (($x189 (and $x128 $x188)))
+(=> $x189 $x194))))))) :qid k!38))
+))
+(let (($x197 (and $x196 true)))
+(let (($x187 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
+(let ((?x184 (+ ?x171 ?x152)))
+(let ((?x179 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let (($x153 (< ?x152 b_Infinity$)))
+(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
+(let (($x183 (and $x175 $x153)))
+(=> $x183 (<= ?x179 ?x184))))))))) :qid k!38))
+))
+(let (($x182 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
+(let ((?x179 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let (($x180 (<= ?x179 ?x171)))
+(let (($x177 (fun_app$ v_b_Visited_G_1$ ?v0)))
+(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
+(let (($x176 (not $x175)))
+(let (($x178 (and $x176 $x177)))
+(=> $x178 $x180)))))))) :qid k!38))
+))
+(let (($x173 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
+(<= 0 ?x171)) :qid k!38))
+))
+(let (($x202 (and true (and $x170 (and $x173 (and $x182 (and $x187 $x197)))))))
+(let (($x203 (and true $x202)))
+(let (($x167 (forall ((?v0 B_Vertex$) )(! (let (($x165 (exists ((?v1 B_Vertex$) )(! (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
+(let (($x163 (and $x133 (= (v_b_SP_G_0$ ?v0) (+ (v_b_SP_G_0$ ?v1) (b_G$ (pair$ ?v1 ?v0)))))))
+(and (< (v_b_SP_G_0$ ?v1) (v_b_SP_G_0$ ?v0)) $x163))) :qid k!38))
+))
+(let (($x123 (= ?v0 b_Source$)))
+(let (($x128 (not $x123)))
+(let (($x160 (and $x128 (< (v_b_SP_G_0$ ?v0) b_Infinity$))))
+(=> $x160 $x165))))) :qid k!38))
+))
+(let (($x333 (=> (and $x167 $x203) (and $x250 $x331))))
+(let (($x158 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x147 (v_b_SP_G_0$ ?v0)))
+(let (($x156 (<= ?x147 (+ (v_b_SP_G_0$ ?v1) (b_G$ (pair$ ?v1 ?v0))))))
+(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let (($x153 (< ?x152 b_Infinity$)))
+(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
+(let (($x154 (and $x133 $x153)))
+(=> $x154 $x156))))))) :qid k!38))
+))
+(let (($x335 (=> $x158 (and $x167 $x333))))
+(let (($x150 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v1)))
+(let ((?x147 (v_b_SP_G_0$ ?v0)))
+(let (($x148 (<= ?x147 ?x124)))
+(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
+(let (($x134 (not $x133)))
+(let (($x146 (and $x134 (fun_app$ v_b_Visited_G_0$ ?v0))))
+(=> $x146 $x148))))))) :qid k!38))
+))
+(let (($x337 (=> $x150 (and $x158 $x335))))
+(let (($x144 (forall ((?v0 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v0)))
+(<= 0 ?x124)) :qid k!38))
+))
+(let (($x339 (=> $x144 (and $x150 $x337))))
+(let (($x341 (=> $x142 (and $x144 $x339))))
+(let (($x131 (forall ((?v0 B_Vertex$) )(! (let (($x123 (= ?v0 b_Source$)))
+(let (($x128 (not $x123)))
+(=> $x128 (= (v_b_SP_G_0$ ?v0) b_Infinity$)))) :qid k!38))
+))
+(let (($x127 (forall ((?v0 B_Vertex$) )(! (let (($x123 (= ?v0 b_Source$)))
+(=> $x123 (= (v_b_SP_G_0$ ?v0) 0))) :qid k!38))
+))
+(let (($x139 (and true (and $x127 (and $x131 (and $x135 true))))))
+(let (($x140 (and true $x139)))
+(let (($x343 (=> $x140 (and $x142 $x341))))
+(let (($x344 (not $x343)))
+(let (($x705 (forall ((?v0 B_Vertex$) )(! (let (($x693 (exists ((?v1 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v1)))
+(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let ((?x666 (+ ?x152 ?x268)))
+(let ((?x298 (v_b_SP_G_2$ ?v0)))
+(let (($x684 (= ?x298 ?x666)))
+(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
+(let (($x687 (and $x286 $x684)))
+(let (($x309 (< ?x268 ?x298)))
+(and $x309 $x687))))))))) :qid k!38))
+))
+(let (($x123 (= ?v0 b_Source$)))
+(let (($x128 (not $x123)))
+(let (($x308 (and $x128 (< (v_b_SP_G_2$ ?v0) b_Infinity$))))
+(or (not $x308) $x693))))) :qid k!38))
+))
+(let (($x681 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v1)))
+(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let ((?x666 (+ ?x152 ?x268)))
+(let ((?x298 (v_b_SP_G_2$ ?v0)))
+(let (($x669 (<= ?x298 ?x666)))
+(or (not (and (fun_app$ v_b_Visited_G_2$ ?v1) (< ?x152 b_Infinity$))) $x669)))))) :qid k!38))
+))
+(let (($x733 (or (not $x681) $x705)))
+(let (($x738 (and $x681 $x733)))
+(let (($x663 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v1)))
+(let ((?x298 (v_b_SP_G_2$ ?v0)))
+(let (($x299 (<= ?x298 ?x268)))
+(let (($x296 (fun_app$ v_b_Visited_G_2$ ?v0)))
+(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
+(let (($x295 (not $x286)))
+(let (($x297 (and $x295 $x296)))
+(let (($x659 (not $x297)))
+(or $x659 $x299))))))))) :qid k!38))
+))
+(let (($x745 (or (not $x663) $x738)))
+(let (($x750 (and $x663 $x745)))
+(let (($x757 (or (not $x294) $x750)))
+(let (($x762 (and $x294 $x757)))
+(let (($x769 (or $x768 $x762)))
+(let (($x774 (and $x292 $x769)))
+(let (($x781 (or $x780 $x774)))
+(let (($x786 (and $x647 $x781)))
+(let (($x793 (or (not $x285) $x786)))
+(let (($x798 (and $x285 $x793)))
+(let (($x612 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let ((?x268 (v_b_SP_G_2$ ?v0)))
+(let (($x273 (= ?x268 ?x171)))
+(let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0))))
+(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
+(let ((?x265 (+ ?x254 ?x263)))
+(let (($x267 (and (< ?x263 b_Infinity$) (< ?x265 ?x171))))
+(or $x267 $x273)))))))) :qid k!38))
+))
+(let (($x606 (forall ((?v0 B_Vertex$) )(! (let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0))))
+(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
+(let ((?x265 (+ ?x254 ?x263)))
+(let ((?x268 (v_b_SP_G_2$ ?v0)))
+(let (($x269 (= ?x268 ?x265)))
+(let (($x267 (and (< ?x263 b_Infinity$) (< ?x265 (fun_app$a v_b_SP_G_1$ ?v0)))))
+(let (($x272 (not $x267)))
+(or $x272 $x269)))))))) :qid k!38))
+))
+(let (($x615 (and $x606 $x612)))
+(let (($x618 (and $x261 $x615)))
+(let (($x600 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
+(let (($x256 (<= ?x254 ?x171)))
+(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0)))
+(or $x175 $x256))))) :qid k!38))
+))
+(let (($x621 (and $x600 $x618)))
+(let (($x624 (and $x255 $x621)))
+(let (($x627 (and $x253 $x624)))
+(let (($x630 (and $x206 $x627)))
+(let (($x805 (or (not $x630) $x798)))
+(let (($x552 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
+(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let ((?x516 (+ ?x152 ?x227)))
+(let ((?x230 (fun_app$a v_b_SP_G_3$ ?v0)))
+(let (($x540 (<= ?x230 ?x516)))
+(or (not (and (< ?x227 b_Infinity$) (< ?x152 b_Infinity$))) $x540)))))) :qid k!38))
+))
+(let (($x568 (or (not $x552) $x243)))
+(let (($x573 (and $x552 $x568)))
+(let (($x537 (forall ((?v0 B_Vertex$) )(! (let (($x525 (exists ((?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
+(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let ((?x516 (+ ?x152 ?x227)))
+(let ((?x230 (fun_app$a v_b_SP_G_3$ ?v0)))
+(let (($x519 (= ?x230 ?x516)))
+(let (($x231 (< ?x227 ?x230)))
+(and $x231 $x519))))))) :qid k!38))
+))
+(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v0)))
+(let (($x228 (< ?x227 b_Infinity$)))
+(let (($x123 (= ?v0 b_Source$)))
+(let (($x128 (not $x123)))
+(let (($x229 (and $x128 $x228)))
+(or (not $x229) $x525))))))) :qid k!38))
+))
+(let (($x580 (or (not $x537) $x573)))
+(let (($x585 (and $x537 $x580)))
+(let (($x592 (or (not (and $x207 (and $x209 (and $x212 (and $x214 $x217))))) $x585)))
+(let (($x810 (and $x592 $x805)))
+(let (($x444 (forall ((?v0 B_Vertex$) )(! (let (($x432 (exists ((?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
+(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let ((?x405 (+ ?x152 ?x171)))
+(let ((?x179 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let (($x423 (= ?x179 ?x405)))
+(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
+(let (($x426 (and $x175 $x423)))
+(let (($x190 (< ?x171 ?x179)))
+(and $x190 $x426))))))))) :qid k!38))
+))
+(let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let (($x188 (< ?x171 b_Infinity$)))
+(let (($x123 (= ?v0 b_Source$)))
+(let (($x128 (not $x123)))
+(let (($x189 (and $x128 $x188)))
+(or (not $x189) $x432))))))) :qid k!38))
+))
+(let (($x420 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
+(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let ((?x405 (+ ?x152 ?x171)))
+(let ((?x179 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let (($x408 (<= ?x179 ?x405)))
+(or (not (and (fun_app$ v_b_Visited_G_1$ ?v1) (< ?x152 b_Infinity$))) $x408)))))) :qid k!38))
+))
+(let (($x454 (and $x420 $x444)))
+(let (($x402 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
+(let ((?x179 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let (($x180 (<= ?x179 ?x171)))
+(let (($x177 (fun_app$ v_b_Visited_G_1$ ?v0)))
+(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
+(let (($x176 (not $x175)))
+(let (($x178 (and $x176 $x177)))
+(let (($x398 (not $x178)))
+(or $x398 $x180))))))))) :qid k!38))
+))
+(let (($x457 (and $x402 $x454)))
+(let (($x460 (and $x173 $x457)))
+(let (($x463 (and $x170 $x460)))
+(let (($x395 (forall ((?v0 B_Vertex$) )(! (let (($x165 (exists ((?v1 B_Vertex$) )(! (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
+(let (($x163 (and $x133 (= (v_b_SP_G_0$ ?v0) (+ (v_b_SP_G_0$ ?v1) (b_G$ (pair$ ?v1 ?v0)))))))
+(and (< (v_b_SP_G_0$ ?v1) (v_b_SP_G_0$ ?v0)) $x163))) :qid k!38))
+))
+(let (($x123 (= ?v0 b_Source$)))
+(let (($x128 (not $x123)))
+(let (($x160 (and $x128 (< (v_b_SP_G_0$ ?v0) b_Infinity$))))
+(or (not $x160) $x165))))) :qid k!38))
+))
+(let (($x477 (and $x395 $x463)))
+(let (($x817 (or (not $x477) $x810)))
+(let (($x822 (and $x395 $x817)))
+(let (($x388 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x147 (v_b_SP_G_0$ ?v0)))
+(let (($x156 (<= ?x147 (+ (v_b_SP_G_0$ ?v1) (b_G$ (pair$ ?v1 ?v0))))))
+(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let (($x153 (< ?x152 b_Infinity$)))
+(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
+(let (($x154 (and $x133 $x153)))
+(or (not $x154) $x156))))))) :qid k!38))
+))
+(let (($x829 (or (not $x388) $x822)))
+(let (($x834 (and $x388 $x829)))
+(let (($x381 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v1)))
+(let ((?x147 (v_b_SP_G_0$ ?v0)))
+(let (($x148 (<= ?x147 ?x124)))
+(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
+(let (($x134 (not $x133)))
+(let (($x146 (and $x134 (fun_app$ v_b_Visited_G_0$ ?v0))))
+(let (($x377 (not $x146)))
+(or $x377 $x148)))))))) :qid k!38))
+))
+(let (($x841 (or (not $x381) $x834)))
+(let (($x846 (and $x381 $x841)))
+(let (($x853 (or (not $x144) $x846)))
+(let (($x858 (and $x144 $x853)))
+(let (($x865 (or $x864 $x858)))
+(let (($x870 (and $x142 $x865)))
+(let (($x877 (or (not (and $x349 (and $x355 $x135))) $x870)))
+(let (($x1318 (exists ((?v1 B_Vertex$) )(! (let ((?x298 (v_b_SP_G_2$ ?0)))
+(let ((?x1258 (* (- 1) ?x298)))
+(let ((?x268 (v_b_SP_G_2$ ?v1)))
+(let ((?x152 (b_G$ (pair$ ?v1 ?0))))
+(let (($x1301 (= (+ ?x152 ?x268 ?x1258) 0)))
+(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
+(let (($x1257 (>= (+ ?x268 ?x1258) 0)))
+(let (($x1304 (not $x1257)))
+(and $x1304 $x286 $x1301))))))))) :qid k!38))
+))
+(let (($x128 (not $x123)))
+(let (($x1295 (and $x128 (not (<= (+ b_Infinity$ (* (- 1) (v_b_SP_G_2$ ?0))) 0)))))
+(let (($x693 (exists ((?v1 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v1)))
+(let ((?x152 (b_G$ (pair$ ?v1 ?0))))
+(let ((?x666 (+ ?x152 ?x268)))
+(let ((?x298 (v_b_SP_G_2$ ?0)))
+(let (($x684 (= ?x298 ?x666)))
+(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
+(let (($x687 (and $x286 $x684)))
+(let (($x309 (< ?x268 ?x298)))
+(and $x309 $x687))))))))) :qid k!38))
+))
+(let (($x700 (or (not (and $x128 (< (v_b_SP_G_2$ ?0) b_Infinity$))) $x693)))
+(let ((?x298 (v_b_SP_G_2$ ?1)))
+(let ((?x1258 (* (- 1) ?x298)))
+(let ((?x268 (v_b_SP_G_2$ ?0)))
+(let ((?x152 (b_G$ (pair$ ?0 ?1))))
+(let (($x1301 (= (+ ?x152 ?x268 ?x1258) 0)))
+(let (($x286 (fun_app$ v_b_Visited_G_2$ ?0)))
+(let (($x1257 (>= (+ ?x268 ?x1258) 0)))
+(let (($x1304 (not $x1257)))
+(let (($x1313 (and $x1304 $x286 $x1301)))
+(let ((?x666 (+ ?x152 ?x268)))
+(let (($x684 (= ?x298 ?x666)))
+(let (($x687 (and $x286 $x684)))
+(let (($x309 (< ?x268 ?x298)))
+(let (($x690 (and $x309 $x687)))
+(let ((@x1312 (monotonicity (rewrite (= $x309 $x1304)) (monotonicity (rewrite (= $x684 $x1301)) (= $x687 (and $x286 $x1301))) (= $x690 (and $x1304 (and $x286 $x1301))))))
+(let ((@x1317 (trans @x1312 (rewrite (= (and $x1304 (and $x286 $x1301)) $x1313)) (= $x690 $x1313))))
+(let (($x1293 (= (< ?x268 b_Infinity$) (not (<= (+ b_Infinity$ (* (- 1) ?x268)) 0)))))
+(let ((@x1297 (monotonicity (rewrite $x1293) (= (and $x128 (< ?x268 b_Infinity$)) $x1295))))
+(let ((@x1300 (monotonicity @x1297 (= (not (and $x128 (< ?x268 b_Infinity$))) (not $x1295)))))
+(let ((@x1323 (monotonicity @x1300 (quant-intro @x1317 (= $x693 $x1318)) (= $x700 (or (not $x1295) $x1318)))))
+(let (($x1277 (>= (+ ?x152 ?x268 ?x1258) 0)))
+(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
+(let (($x918 (not $x917)))
+(let (($x1271 (and $x286 $x918)))
+(let (($x1274 (not $x1271)))
+(let (($x1281 (or $x1274 $x1277)))
+(let (($x669 (<= ?x298 ?x666)))
+(let (($x676 (or (not (and $x286 (< ?x152 b_Infinity$))) $x669)))
+(let ((@x920 (rewrite (= (< ?x152 b_Infinity$) $x918))))
+(let ((@x1276 (monotonicity (monotonicity @x920 (= (and $x286 (< ?x152 b_Infinity$)) $x1271)) (= (not (and $x286 (< ?x152 b_Infinity$))) $x1274))))
+(let ((@x1286 (quant-intro (monotonicity @x1276 (rewrite (= $x669 $x1277)) (= $x676 $x1281)) (= $x681 $x1284))))
+(let ((@x1329 (monotonicity (monotonicity @x1286 (= (not $x681) $x1287)) (quant-intro @x1323 (= $x705 $x1324)) (= $x733 $x1327))))
+(let (($x296 (fun_app$ v_b_Visited_G_2$ ?1)))
+(let (($x295 (not $x286)))
+(let (($x297 (and $x295 $x296)))
+(let (($x659 (not $x297)))
+(let (($x1262 (or $x659 $x1257)))
+(let (($x299 (<= ?x298 ?x268)))
+(let (($x660 (or $x659 $x299)))
+(let ((@x1267 (quant-intro (monotonicity (rewrite (= $x299 $x1257)) (= $x660 $x1262)) (= $x663 $x1265))))
+(let ((@x1335 (monotonicity (monotonicity @x1267 (= (not $x663) $x1268)) (monotonicity @x1286 @x1329 (= $x738 $x1330)) (= $x745 $x1333))))
+(let ((@x1253 (quant-intro (rewrite (= (<= 0 ?x268) (>= ?x268 0))) (= $x294 $x1251))))
+(let ((@x1341 (monotonicity (monotonicity @x1253 (= (not $x294) $x1254)) (monotonicity @x1267 @x1335 (= $x750 $x1336)) (= $x757 $x1339))))
+(let ((@x1347 (monotonicity (monotonicity @x1253 @x1341 (= $x762 $x1342)) (= $x769 $x1345))))
+(let ((@x1356 (monotonicity (monotonicity (monotonicity @x1347 (= $x774 $x1348)) (= $x781 $x1351)) (= $x786 $x1354))))
+(let (($x1238 (>= (+ (fun_app$a v_b_SP_G_1$ ?0) (* (- 1) ?x268)) 0)))
+(let ((@x1244 (quant-intro (rewrite (= (<= ?x268 (fun_app$a v_b_SP_G_1$ ?0)) $x1238)) (= $x285 $x1242))))
+(let ((@x1359 (monotonicity (monotonicity @x1244 (= (not $x285) $x1245)) @x1356 (= $x793 $x1357))))
+(let (($x1227 (and $x1075 (and $x253 (and $x1209 (and $x1204 (and $x261 (and $x1188 $x1194))))))))
+(let (($x1225 (= $x627 (and $x253 (and $x1209 (and $x1204 (and $x261 (and $x1188 $x1194))))))))
+(let ((?x171 (fun_app$a v_b_SP_G_1$ ?0)))
+(let (($x273 (= ?x268 ?x171)))
+(let (($x1170 (<= (+ ?x171 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?0)))) 0)))
+(let (($x1164 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?0)))) 0)))
+(let (($x1174 (and (not $x1164) (not $x1170))))
+(let (($x1191 (or $x1174 $x273)))
+(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))))
+(let (($x609 (or $x267 $x273)))
+(let ((@x1173 (rewrite (= (< (+ ?x254 (b_G$ (pair$ v_b_v_G_1$ ?0))) ?x171) (not $x1170)))))
+(let ((@x1167 (rewrite (= (< (b_G$ (pair$ v_b_v_G_1$ ?0)) b_Infinity$) (not $x1164)))))
+(let ((@x1193 (monotonicity (monotonicity @x1167 @x1173 (= $x267 $x1174)) (= $x609 $x1191))))
+(let (($x1180 (= (+ ?x254 (b_G$ (pair$ v_b_v_G_1$ ?0)) (* (- 1) ?x268)) 0)))
+(let (($x1177 (not $x1174)))
+(let (($x1185 (or $x1177 $x1180)))
+(let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?0))))
+(let ((?x265 (+ ?x254 ?x263)))
+(let (($x269 (= ?x268 ?x265)))
+(let (($x272 (not $x267)))
+(let (($x603 (or $x272 $x269)))
+(let ((@x1179 (monotonicity (monotonicity @x1167 @x1173 (= $x267 $x1174)) (= $x272 $x1177))))
+(let ((@x1190 (quant-intro (monotonicity @x1179 (rewrite (= $x269 $x1180)) (= $x603 $x1185)) (= $x606 $x1188))))
+(let ((@x1214 (monotonicity @x1190 (quant-intro @x1193 (= $x612 $x1194)) (= $x615 (and $x1188 $x1194)))))
+(let (($x175 (fun_app$ v_b_Visited_G_1$ ?0)))
+(let (($x1201 (or $x175 (>= (+ ?x171 ?x1168) 0))))
+(let (($x256 (<= ?x254 ?x171)))
+(let (($x597 (or $x175 $x256)))
+(let ((@x1203 (monotonicity (rewrite (= $x256 (>= (+ ?x171 ?x1168) 0))) (= $x597 $x1201))))
+(let ((@x1220 (monotonicity (quant-intro @x1203 (= $x600 $x1204)) (monotonicity @x1214 (= $x618 (and $x261 (and $x1188 $x1194)))) (= $x621 (and $x1204 (and $x261 (and $x1188 $x1194)))))))
+(let ((@x1223 (monotonicity (rewrite (= $x255 $x1209)) @x1220 (= $x624 (and $x1209 (and $x1204 (and $x261 (and $x1188 $x1194))))))))
+(let (($x997 (<= (+ b_Infinity$ (* (- 1) ?x171)) 0)))
+(let (($x998 (not $x997)))
+(let (($x176 (not $x175)))
+(let (($x1072 (and $x176 $x998)))
+(let ((@x1074 (monotonicity (rewrite (= (< ?x171 b_Infinity$) $x998)) (= (and $x176 (< ?x171 b_Infinity$)) $x1072))))
+(let ((@x1229 (monotonicity (quant-intro @x1074 (= $x206 $x1075)) (monotonicity @x1223 $x1225) (= $x630 $x1227))))
+(let ((@x1237 (monotonicity (trans @x1229 (rewrite (= $x1227 $x1230)) (= $x630 $x1230)) (= (not $x630) $x1235))))
+(let ((@x1365 (monotonicity @x1237 (monotonicity @x1244 @x1359 (= $x798 $x1360)) (= $x805 $x1363))))
+(let ((?x227 (fun_app$a v_b_SP_G_3$ ?0)))
+(let (($x1135 (>= (+ ?x152 ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?1))) 0)))
+(let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0)))
+(let (($x1095 (not $x1094)))
+(let (($x1129 (and $x1095 $x918)))
+(let (($x1132 (not $x1129)))
+(let (($x1138 (or $x1132 $x1135)))
+(let ((?x516 (+ ?x152 ?x227)))
+(let ((?x230 (fun_app$a v_b_SP_G_3$ ?1)))
+(let (($x540 (<= ?x230 ?x516)))
+(let (($x547 (or (not (and (< ?x227 b_Infinity$) (< ?x152 b_Infinity$))) $x540)))
+(let ((@x1131 (monotonicity (rewrite (= (< ?x227 b_Infinity$) $x1095)) @x920 (= (and (< ?x227 b_Infinity$) (< ?x152 b_Infinity$)) $x1129))))
+(let ((@x1134 (monotonicity @x1131 (= (not (and (< ?x227 b_Infinity$) (< ?x152 b_Infinity$))) $x1132))))
+(let ((@x1143 (quant-intro (monotonicity @x1134 (rewrite (= $x540 $x1135)) (= $x547 $x1138)) (= $x552 $x1141))))
+(let ((@x1149 (monotonicity (monotonicity @x1143 (= (not $x552) $x1144)) (= $x568 $x1147))))
+(let (($x1117 (exists ((?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
+(let ((?x152 (b_G$ (pair$ ?v1 ?0))))
+(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))
+))
+(let (($x1098 (and $x128 $x1095)))
+(let (($x1101 (not $x1098)))
+(let (($x1120 (or $x1101 $x1117)))
+(let (($x525 (exists ((?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
+(let ((?x152 (b_G$ (pair$ ?v1 ?0))))
+(let ((?x516 (+ ?x152 ?x227)))
+(let ((?x230 (fun_app$a v_b_SP_G_3$ ?0)))
+(let (($x519 (= ?x230 ?x516)))
+(let (($x231 (< ?x227 ?x230)))
+(and $x231 $x519))))))) :qid k!38))
+))
+(let (($x532 (or (not (and $x128 (< ?x227 b_Infinity$))) $x525)))
+(let (($x1114 (and (not (>= (+ ?x227 (* (- 1) ?x230)) 0)) (= (+ ?x152 ?x227 (* (- 1) ?x230)) 0))))
+(let (($x519 (= ?x230 ?x516)))
+(let (($x231 (< ?x227 ?x230)))
+(let (($x522 (and $x231 $x519)))
+(let ((@x1116 (monotonicity (rewrite (= $x231 (not (>= (+ ?x227 (* (- 1) ?x230)) 0)))) (rewrite (= $x519 (= (+ ?x152 ?x227 (* (- 1) ?x230)) 0))) (= $x522 $x1114))))
+(let ((@x1100 (monotonicity (rewrite (= (< ?x227 b_Infinity$) $x1095)) (= (and $x128 (< ?x227 b_Infinity$)) $x1098))))
+(let ((@x1122 (monotonicity (monotonicity @x1100 (= (not (and $x128 (< ?x227 b_Infinity$))) $x1101)) (quant-intro @x1116 (= $x525 $x1117)) (= $x532 $x1120))))
+(let ((@x1128 (monotonicity (quant-intro @x1122 (= $x537 $x1123)) (= (not $x537) $x1126))))
+(let ((@x1155 (monotonicity @x1128 (monotonicity @x1143 @x1149 (= $x573 $x1150)) (= $x580 $x1153))))
+(let ((@x1086 (rewrite (= (and $x1078 (and $x209 (and $x212 (and $x214 $x217)))) $x1084))))
+(let (($x488 (and $x209 (and $x212 (and $x214 $x217)))))
+(let (($x502 (and $x207 $x488)))
+(let ((@x1083 (monotonicity (monotonicity (quant-intro @x1074 (= $x206 $x1075)) (= $x207 $x1078)) (= $x502 (and $x1078 $x488)))))
+(let ((@x1091 (monotonicity (trans @x1083 @x1086 (= $x502 $x1084)) (= (not $x502) $x1089))))
+(let ((@x1161 (monotonicity @x1091 (monotonicity (quant-intro @x1122 (= $x537 $x1123)) @x1155 (= $x585 $x1156)) (= $x592 $x1159))))
+(let (($x1065 (= (and $x975 (and $x170 (and $x1046 (and $x1040 (and $x992 $x1032))))) $x1064)))
+(let (($x1062 (= $x477 (and $x975 (and $x170 (and $x1046 (and $x1040 (and $x992 $x1032))))))))
+(let (($x1026 (exists ((?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
+(let ((?x152 (b_G$ (pair$ ?v1 ?0))))
+(let (($x1007 (= (+ ?x152 ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?0))) 0)))
+(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
+(let (($x1010 (>= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?0))) 0)))
+(let (($x1012 (not $x1010)))
+(and $x1012 $x175 $x1007))))))) :qid k!38))
+))
+(let (($x1001 (and $x128 $x998)))
+(let (($x1004 (not $x1001)))
+(let (($x1029 (or $x1004 $x1026)))
+(let (($x432 (exists ((?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
+(let ((?x152 (b_G$ (pair$ ?v1 ?0))))
+(let ((?x405 (+ ?x152 ?x171)))
+(let ((?x179 (fun_app$a v_b_SP_G_1$ ?0)))
+(let (($x423 (= ?x179 ?x405)))
+(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
+(let (($x426 (and $x175 $x423)))
+(let (($x190 (< ?x171 ?x179)))
+(and $x190 $x426))))))))) :qid k!38))
+))
+(let (($x439 (or (not (and $x128 (< ?x171 b_Infinity$))) $x432)))
+(let (($x1007 (= (+ ?x152 ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?1))) 0)))
+(let (($x1010 (>= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?1))) 0)))
+(let (($x1012 (not $x1010)))
+(let (($x1021 (and $x1012 $x175 $x1007)))
+(let ((?x405 (+ ?x152 ?x171)))
+(let ((?x179 (fun_app$a v_b_SP_G_1$ ?1)))
+(let (($x423 (= ?x179 ?x405)))
+(let (($x426 (and $x175 $x423)))
+(let (($x190 (< ?x171 ?x179)))
+(let (($x429 (and $x190 $x426)))
+(let ((@x1020 (monotonicity (rewrite (= $x190 $x1012)) (monotonicity (rewrite (= $x423 $x1007)) (= $x426 (and $x175 $x1007))) (= $x429 (and $x1012 (and $x175 $x1007))))))
+(let ((@x1025 (trans @x1020 (rewrite (= (and $x1012 (and $x175 $x1007)) $x1021)) (= $x429 $x1021))))
+(let ((@x1003 (monotonicity (rewrite (= (< ?x171 b_Infinity$) $x998)) (= (and $x128 (< ?x171 b_Infinity$)) $x1001))))
+(let ((@x1031 (monotonicity (monotonicity @x1003 (= (not (and $x128 (< ?x171 b_Infinity$))) $x1004)) (quant-intro @x1025 (= $x432 $x1026)) (= $x439 $x1029))))
+(let (($x985 (>= (+ ?x152 ?x171 (* (- 1) ?x179)) 0)))
+(let (($x978 (and $x175 $x918)))
+(let (($x981 (not $x978)))
+(let (($x989 (or $x981 $x985)))
+(let (($x408 (<= ?x179 ?x405)))
+(let (($x415 (or (not (and $x175 (< ?x152 b_Infinity$))) $x408)))
+(let ((@x983 (monotonicity (monotonicity @x920 (= (and $x175 (< ?x152 b_Infinity$)) $x978)) (= (not (and $x175 (< ?x152 b_Infinity$))) $x981))))
+(let ((@x994 (quant-intro (monotonicity @x983 (rewrite (= $x408 $x985)) (= $x415 $x989)) (= $x420 $x992))))
+(let ((@x1051 (monotonicity @x994 (quant-intro @x1031 (= $x444 $x1032)) (= $x454 (and $x992 $x1032)))))
+(let (($x177 (fun_app$ v_b_Visited_G_1$ ?1)))
+(let (($x178 (and $x176 $x177)))
+(let (($x398 (not $x178)))
+(let (($x1037 (or $x398 $x1010)))
+(let (($x180 (<= ?x179 ?x171)))
+(let (($x399 (or $x398 $x180)))
+(let ((@x1042 (quant-intro (monotonicity (rewrite (= $x180 $x1010)) (= $x399 $x1037)) (= $x402 $x1040))))
+(let ((@x1048 (quant-intro (rewrite (= (<= 0 ?x171) (>= ?x171 0))) (= $x173 $x1046))))
+(let ((@x1057 (monotonicity @x1048 (monotonicity @x1042 @x1051 (= $x457 (and $x1040 (and $x992 $x1032)))) (= $x460 (and $x1046 (and $x1040 (and $x992 $x1032)))))))
+(let ((@x1060 (monotonicity @x1057 (= $x463 (and $x170 (and $x1046 (and $x1040 (and $x992 $x1032))))))))
+(let (($x969 (exists ((?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?0))))
+(let ((?x124 (v_b_SP_G_0$ ?v1)))
+(let (($x952 (= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?0)) ?x152) 0)))
+(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
+(let (($x902 (>= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?0))) 0)))
+(let (($x955 (not $x902)))
+(and $x955 $x133 $x952))))))) :qid k!38))
+))
+(let (($x946 (and $x128 (not (<= (+ b_Infinity$ (* (- 1) (v_b_SP_G_0$ ?0))) 0)))))
+(let (($x949 (not $x946)))
+(let (($x972 (or $x949 $x969)))
+(let (($x165 (exists ((?v1 B_Vertex$) )(! (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
+(let (($x163 (and $x133 (= (v_b_SP_G_0$ ?0) (+ (v_b_SP_G_0$ ?v1) (b_G$ (pair$ ?v1 ?0)))))))
+(and (< (v_b_SP_G_0$ ?v1) (v_b_SP_G_0$ ?0)) $x163))) :qid k!38))
+))
+(let (($x392 (or (not (and $x128 (< (v_b_SP_G_0$ ?0) b_Infinity$))) $x165)))
+(let (($x952 (= (+ (v_b_SP_G_0$ ?0) (* (- 1) (v_b_SP_G_0$ ?1)) ?x152) 0)))
+(let (($x133 (fun_app$ v_b_Visited_G_0$ ?0)))
+(let (($x902 (>= (+ (v_b_SP_G_0$ ?0) (* (- 1) (v_b_SP_G_0$ ?1))) 0)))
+(let (($x955 (not $x902)))
+(let (($x964 (and $x955 $x133 $x952)))
+(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))))))
+(let (($x959 (= (and $x133 (= (v_b_SP_G_0$ ?1) (+ (v_b_SP_G_0$ ?0) ?x152))) (and $x133 $x952))))
+(let ((@x954 (rewrite (= (= (v_b_SP_G_0$ ?1) (+ (v_b_SP_G_0$ ?0) ?x152)) $x952))))
+(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))))))
+(let ((@x968 (trans @x963 (rewrite (= (and $x955 (and $x133 $x952)) $x964)) (= $x164 $x964))))
+(let (($x944 (= (< (v_b_SP_G_0$ ?0) b_Infinity$) (not (<= (+ b_Infinity$ (* (- 1) (v_b_SP_G_0$ ?0))) 0)))))
+(let ((@x948 (monotonicity (rewrite $x944) (= (and $x128 (< (v_b_SP_G_0$ ?0) b_Infinity$)) $x946))))
+(let ((@x951 (monotonicity @x948 (= (not (and $x128 (< (v_b_SP_G_0$ ?0) b_Infinity$))) $x949))))
+(let ((@x977 (quant-intro (monotonicity @x951 (quant-intro @x968 (= $x165 $x969)) (= $x392 $x972)) (= $x395 $x975))))
+(let ((@x1071 (monotonicity (trans (monotonicity @x977 @x1060 $x1062) (rewrite $x1065) (= $x477 $x1064)) (= (not $x477) $x1069))))
+(let ((@x1371 (monotonicity @x1071 (monotonicity @x1161 @x1365 (= $x810 $x1366)) (= $x817 $x1369))))
+(let (($x928 (>= (+ (v_b_SP_G_0$ ?0) (* (- 1) (v_b_SP_G_0$ ?1)) ?x152) 0)))
+(let (($x921 (and $x133 $x918)))
+(let (($x924 (not $x921)))
+(let (($x931 (or $x924 $x928)))
+(let ((?x147 (v_b_SP_G_0$ ?1)))
+(let (($x156 (<= ?x147 (+ (v_b_SP_G_0$ ?0) ?x152))))
+(let (($x385 (or (not (and $x133 (< ?x152 b_Infinity$))) $x156)))
+(let ((@x926 (monotonicity (monotonicity @x920 (= (and $x133 (< ?x152 b_Infinity$)) $x921)) (= (not (and $x133 (< ?x152 b_Infinity$))) $x924))))
+(let ((@x936 (quant-intro (monotonicity @x926 (rewrite (= $x156 $x928)) (= $x385 $x931)) (= $x388 $x934))))
+(let ((@x1377 (monotonicity (monotonicity @x936 (= (not $x388) $x937)) (monotonicity @x977 @x1371 (= $x822 $x1372)) (= $x829 $x1375))))
+(let (($x134 (not $x133)))
+(let (($x146 (and $x134 (fun_app$ v_b_Visited_G_0$ ?1))))
+(let (($x377 (not $x146)))
+(let (($x906 (or $x377 $x902)))
+(let ((?x124 (v_b_SP_G_0$ ?0)))
+(let (($x148 (<= ?x147 ?x124)))
+(let (($x378 (or $x377 $x148)))
+(let ((@x911 (quant-intro (monotonicity (rewrite (= $x148 $x902)) (= $x378 $x906)) (= $x381 $x909))))
+(let ((@x1383 (monotonicity (monotonicity @x911 (= (not $x381) $x912)) (monotonicity @x936 @x1377 (= $x834 $x1378)) (= $x841 $x1381))))
+(let ((@x896 (quant-intro (rewrite (= (<= 0 ?x124) (>= ?x124 0))) (= $x144 $x894))))
+(let ((@x1389 (monotonicity (monotonicity @x896 (= (not $x144) $x897)) (monotonicity @x911 @x1383 (= $x846 $x1384)) (= $x853 $x1387))))
+(let ((@x1395 (monotonicity (monotonicity @x896 @x1389 (= $x858 $x1390)) (= $x865 $x1393))))
+(let ((@x890 (monotonicity (rewrite (= (and $x349 (and $x355 $x135)) $x885)) (= (not (and $x349 (and $x355 $x135))) (not $x885)))))
+(let ((@x1401 (monotonicity @x890 (monotonicity @x1395 (= $x870 $x1396)) (= $x877 (or (not $x885) $x1396)))))
+(let (($x313 (exists ((?v1 B_Vertex$) )(! (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
+(let (($x311 (and $x286 (= (v_b_SP_G_2$ ?0) (+ (v_b_SP_G_2$ ?v1) (b_G$ (pair$ ?v1 ?0)))))))
+(let ((?x298 (v_b_SP_G_2$ ?0)))
+(let ((?x268 (v_b_SP_G_2$ ?v1)))
+(let (($x309 (< ?x268 ?x298)))
+(and $x309 $x311)))))) :qid k!38))
+))
+(let (($x308 (and $x128 (< ?x268 b_Infinity$))))
+(let (($x314 (=> $x308 $x313)))
+(let ((@x686 (monotonicity (rewrite (= (+ ?x268 ?x152) ?x666)) (= (= ?x298 (+ ?x268 ?x152)) $x684))))
+(let ((@x692 (monotonicity (monotonicity @x686 (= (and $x286 (= ?x298 (+ ?x268 ?x152))) $x687)) (= (and $x309 (and $x286 (= ?x298 (+ ?x268 ?x152)))) $x690))))
+(let ((@x698 (monotonicity (quant-intro @x692 (= $x313 $x693)) (= $x314 (=> $x308 $x693)))))
+(let ((@x707 (quant-intro (trans @x698 (rewrite (= (=> $x308 $x693) $x700)) (= $x314 $x700)) (= $x315 $x705))))
+(let ((@x714 (trans (monotonicity @x707 (= $x316 (and $x705 false))) (rewrite (= (and $x705 false) false)) (= $x316 false))))
+(let ((@x721 (trans (monotonicity @x714 (= $x317 (=> false true))) (rewrite (= (=> false true) true)) (= $x317 true))))
+(let ((@x728 (trans (monotonicity @x707 @x721 (= $x318 (and $x705 true))) (rewrite (= (and $x705 true) $x705)) (= $x318 $x705))))
+(let (($x153 (< ?x152 b_Infinity$)))
+(let (($x302 (and $x286 $x153)))
+(let (($x305 (=> $x302 (<= ?x298 (+ ?x268 ?x152)))))
+(let ((@x671 (monotonicity (rewrite (= (+ ?x268 ?x152) ?x666)) (= (<= ?x298 (+ ?x268 ?x152)) $x669))))
+(let ((@x680 (trans (monotonicity @x671 (= $x305 (=> $x302 $x669))) (rewrite (= (=> $x302 $x669) $x676)) (= $x305 $x676))))
+(let ((@x731 (monotonicity (quant-intro @x680 (= $x306 $x681)) @x728 (= $x319 (=> $x681 $x705)))))
+(let ((@x740 (monotonicity (quant-intro @x680 (= $x306 $x681)) (trans @x731 (rewrite (= (=> $x681 $x705) $x733)) (= $x319 $x733)) (= (and $x306 $x319) $x738))))
+(let ((@x743 (monotonicity (quant-intro (rewrite (= (=> $x297 $x299) $x660)) (= $x301 $x663)) @x740 (= $x321 (=> $x663 $x738)))))
+(let ((@x752 (monotonicity (quant-intro (rewrite (= (=> $x297 $x299) $x660)) (= $x301 $x663)) (trans @x743 (rewrite (= (=> $x663 $x738) $x745)) (= $x321 $x745)) (= (and $x301 $x321) $x750))))
+(let ((@x761 (trans (monotonicity @x752 (= $x323 (=> $x294 $x750))) (rewrite (= (=> $x294 $x750) $x757)) (= $x323 $x757))))
+(let ((@x767 (monotonicity (monotonicity @x761 (= (and $x294 $x323) $x762)) (= $x325 (=> $x292 $x762)))))
+(let ((@x776 (monotonicity (trans @x767 (rewrite (= (=> $x292 $x762) $x769)) (= $x325 $x769)) (= (and $x292 $x325) $x774))))
+(let ((@x649 (quant-intro (rewrite (= (=> $x286 $x273) (or $x295 $x273))) (= $x288 $x647))))
+(let ((@x654 (monotonicity @x649 (rewrite (= (and true true) true)) (= $x290 (and $x647 true)))))
+(let ((@x779 (monotonicity (trans @x654 (rewrite (= (and $x647 true) $x647)) (= $x290 $x647)) @x776 (= $x327 (=> $x647 $x774)))))
+(let ((@x788 (monotonicity @x649 (trans @x779 (rewrite (= (=> $x647 $x774) $x781)) (= $x327 $x781)) (= (and $x288 $x327) $x786))))
+(let ((@x797 (trans (monotonicity @x788 (= $x329 (=> $x285 $x786))) (rewrite (= (=> $x285 $x786) $x793)) (= $x329 $x793))))
+(let (($x628 (= (and $x253 (and $x255 (and $x258 (and $x261 (and $x271 $x275))))) $x627)))
+(let ((@x617 (monotonicity (quant-intro (rewrite (= (=> $x267 $x269) $x603)) (= $x271 $x606)) (quant-intro (rewrite (= (=> $x272 $x273) $x609)) (= $x275 $x612)) (= (and $x271 $x275) $x615))))
+(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))))
+(let ((@x626 (monotonicity @x623 (= (and $x255 (and $x258 (and $x261 (and $x271 $x275)))) $x624))))
+(let ((@x635 (monotonicity (monotonicity (monotonicity @x626 $x628) (= $x281 $x630)) (= $x282 (and true $x630)))))
+(let ((@x641 (monotonicity (trans @x635 (rewrite (= (and true $x630) $x630)) (= $x282 $x630)) (= $x283 (and true $x630)))))
+(let ((@x803 (monotonicity (trans @x641 (rewrite (= (and true $x630) $x630)) (= $x283 $x630)) (monotonicity @x797 (= (and $x285 $x329) $x798)) (= $x331 (=> $x630 $x798)))))
+(let ((@x559 (monotonicity (rewrite (= (=> $x243 true) true)) (= $x245 (and $x243 true)))))
+(let (($x228 (< ?x227 b_Infinity$)))
+(let (($x238 (and $x228 $x153)))
+(let (($x240 (=> $x238 (<= ?x230 (+ ?x227 ?x152)))))
+(let ((@x542 (monotonicity (rewrite (= (+ ?x227 ?x152) ?x516)) (= (<= ?x230 (+ ?x227 ?x152)) $x540))))
+(let ((@x551 (trans (monotonicity @x542 (= $x240 (=> $x238 $x540))) (rewrite (= (=> $x238 $x540) $x547)) (= $x240 $x547))))
+(let ((@x566 (monotonicity (quant-intro @x551 (= $x241 $x552)) (trans @x559 (rewrite (= (and $x243 true) $x243)) (= $x245 $x243)) (= $x246 (=> $x552 $x243)))))
+(let ((@x575 (monotonicity (quant-intro @x551 (= $x241 $x552)) (trans @x566 (rewrite (= (=> $x552 $x243) $x568)) (= $x246 $x568)) (= (and $x241 $x246) $x573))))
+(let (($x235 (exists ((?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?0))))
+(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
+(let ((?x232 (+ ?x227 ?x152)))
+(let ((?x230 (fun_app$a v_b_SP_G_3$ ?0)))
+(let (($x231 (< ?x227 ?x230)))
+(and $x231 (= ?x230 ?x232))))))) :qid k!38))
+))
+(let (($x229 (and $x128 $x228)))
+(let (($x236 (=> $x229 $x235)))
+(let ((@x521 (monotonicity (rewrite (= (+ ?x227 ?x152) ?x516)) (= (= ?x230 (+ ?x227 ?x152)) $x519))))
+(let ((@x527 (quant-intro (monotonicity @x521 (= (and $x231 (= ?x230 (+ ?x227 ?x152))) $x522)) (= $x235 $x525))))
+(let ((@x536 (trans (monotonicity @x527 (= $x236 (=> $x229 $x525))) (rewrite (= (=> $x229 $x525) $x532)) (= $x236 $x532))))
+(let ((@x578 (monotonicity (quant-intro @x536 (= $x237 $x537)) @x575 (= $x248 (=> $x537 $x573)))))
+(let ((@x587 (monotonicity (quant-intro @x536 (= $x237 $x537)) (trans @x578 (rewrite (= (=> $x537 $x573) $x580)) (= $x248 $x580)) (= (and $x237 $x248) $x585))))
+(let (($x486 (= (and $x212 (and $x214 (and $x217 true))) (and $x212 (and $x214 $x217)))))
+(let ((@x484 (monotonicity (rewrite (= (and $x217 true) $x217)) (= (and $x214 (and $x217 true)) (and $x214 $x217)))))
+(let ((@x490 (monotonicity (monotonicity @x484 $x486) (= (and $x209 (and $x212 (and $x214 (and $x217 true)))) $x488))))
+(let ((@x497 (trans (monotonicity @x490 (= $x222 (and true $x488))) (rewrite (= (and true $x488) $x488)) (= $x222 $x488))))
+(let ((@x501 (trans (monotonicity @x497 (= $x223 (and true $x488))) (rewrite (= (and true $x488) $x488)) (= $x223 $x488))))
+(let ((@x507 (monotonicity (monotonicity @x501 (= (and $x207 $x223) $x502)) (= $x225 (and true $x502)))))
+(let ((@x513 (monotonicity (trans @x507 (rewrite (= (and true $x502) $x502)) (= $x225 $x502)) (= $x226 (and true $x502)))))
+(let ((@x590 (monotonicity (trans @x513 (rewrite (= (and true $x502) $x502)) (= $x226 $x502)) @x587 (= $x250 (=> $x502 $x585)))))
+(let ((@x812 (monotonicity (trans @x590 (rewrite (= (=> $x502 $x585) $x592)) (= $x250 $x592)) (trans @x803 (rewrite (= (=> $x630 $x798) $x805)) (= $x331 $x805)) (= (and $x250 $x331) $x810))))
+(let (($x194 (exists ((?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?0))))
+(let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
+(let ((?x184 (+ ?x171 ?x152)))
+(let ((?x179 (fun_app$a v_b_SP_G_1$ ?0)))
+(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
+(let (($x190 (< ?x171 ?x179)))
+(and $x190 (and $x175 (= ?x179 ?x184))))))))) :qid k!38))
+))
+(let (($x188 (< ?x171 b_Infinity$)))
+(let (($x189 (and $x128 $x188)))
+(let (($x195 (=> $x189 $x194)))
+(let ((@x425 (monotonicity (rewrite (= (+ ?x171 ?x152) ?x405)) (= (= ?x179 (+ ?x171 ?x152)) $x423))))
+(let ((@x431 (monotonicity (monotonicity @x425 (= (and $x175 (= ?x179 (+ ?x171 ?x152))) $x426)) (= (and $x190 (and $x175 (= ?x179 (+ ?x171 ?x152)))) $x429))))
+(let ((@x437 (monotonicity (quant-intro @x431 (= $x194 $x432)) (= $x195 (=> $x189 $x432)))))
+(let ((@x446 (quant-intro (trans @x437 (rewrite (= (=> $x189 $x432) $x439)) (= $x195 $x439)) (= $x196 $x444))))
+(let ((@x453 (trans (monotonicity @x446 (= $x197 (and $x444 true))) (rewrite (= (and $x444 true) $x444)) (= $x197 $x444))))
+(let (($x183 (and $x175 $x153)))
+(let (($x186 (=> $x183 (<= ?x179 (+ ?x171 ?x152)))))
+(let ((@x410 (monotonicity (rewrite (= (+ ?x171 ?x152) ?x405)) (= (<= ?x179 (+ ?x171 ?x152)) $x408))))
+(let ((@x419 (trans (monotonicity @x410 (= $x186 (=> $x183 $x408))) (rewrite (= (=> $x183 $x408) $x415)) (= $x186 $x415))))
+(let ((@x456 (monotonicity (quant-intro @x419 (= $x187 $x420)) @x453 (= (and $x187 $x197) $x454))))
+(let ((@x459 (monotonicity (quant-intro (rewrite (= (=> $x178 $x180) $x399)) (= $x182 $x402)) @x456 (= (and $x182 (and $x187 $x197)) $x457))))
+(let ((@x465 (monotonicity (monotonicity @x459 (= (and $x173 (and $x182 (and $x187 $x197))) $x460)) (= (and $x170 (and $x173 (and $x182 (and $x187 $x197)))) $x463))))
+(let ((@x472 (trans (monotonicity @x465 (= $x202 (and true $x463))) (rewrite (= (and true $x463) $x463)) (= $x202 $x463))))
+(let ((@x476 (trans (monotonicity @x472 (= $x203 (and true $x463))) (rewrite (= (and true $x463) $x463)) (= $x203 $x463))))
+(let ((@x397 (quant-intro (rewrite (= (=> (and $x128 (< ?x124 b_Infinity$)) $x165) $x392)) (= $x167 $x395))))
+(let ((@x815 (monotonicity (monotonicity @x397 @x476 (= (and $x167 $x203) $x477)) @x812 (= $x333 (=> $x477 $x810)))))
+(let ((@x824 (monotonicity @x397 (trans @x815 (rewrite (= (=> $x477 $x810) $x817)) (= $x333 $x817)) (= (and $x167 $x333) $x822))))
+(let ((@x390 (quant-intro (rewrite (= (=> (and $x133 $x153) $x156) $x385)) (= $x158 $x388))))
+(let ((@x833 (trans (monotonicity @x390 @x824 (= $x335 (=> $x388 $x822))) (rewrite (= (=> $x388 $x822) $x829)) (= $x335 $x829))))
+(let ((@x839 (monotonicity (quant-intro (rewrite (= (=> $x146 $x148) $x378)) (= $x150 $x381)) (monotonicity @x390 @x833 (= (and $x158 $x335) $x834)) (= $x337 (=> $x381 $x834)))))
+(let ((@x848 (monotonicity (quant-intro (rewrite (= (=> $x146 $x148) $x378)) (= $x150 $x381)) (trans @x839 (rewrite (= (=> $x381 $x834) $x841)) (= $x337 $x841)) (= (and $x150 $x337) $x846))))
+(let ((@x857 (trans (monotonicity @x848 (= $x339 (=> $x144 $x846))) (rewrite (= (=> $x144 $x846) $x853)) (= $x339 $x853))))
+(let ((@x863 (monotonicity (monotonicity @x857 (= (and $x144 $x339) $x858)) (= $x341 (=> $x142 $x858)))))
+(let ((@x872 (monotonicity (trans @x863 (rewrite (= (=> $x142 $x858) $x865)) (= $x341 $x865)) (= (and $x142 $x341) $x870))))
+(let (($x363 (and $x349 (and $x355 $x135))))
+(let (($x366 (and true $x363)))
+(let ((@x357 (quant-intro (rewrite (= (=> $x128 (= ?x124 b_Infinity$)) $x352)) (= $x131 $x355))))
+(let ((@x362 (monotonicity @x357 (rewrite (= (and $x135 true) $x135)) (= (and $x131 (and $x135 true)) (and $x355 $x135)))))
+(let ((@x351 (quant-intro (rewrite (= (=> $x123 (= ?x124 0)) (or $x128 (= ?x124 0)))) (= $x127 $x349))))
+(let ((@x365 (monotonicity @x351 @x362 (= (and $x127 (and $x131 (and $x135 true))) $x363))))
+(let ((@x372 (trans (monotonicity @x365 (= $x139 $x366)) (rewrite (= $x366 $x363)) (= $x139 $x363))))
+(let ((@x376 (trans (monotonicity @x372 (= $x140 $x366)) (rewrite (= $x366 $x363)) (= $x140 $x363))))
+(let ((@x881 (trans (monotonicity @x376 @x872 (= $x343 (=> $x363 $x870))) (rewrite (= (=> $x363 $x870) $x877)) (= $x343 $x877))))
+(let ((@x1406 (trans (monotonicity @x881 (= $x344 (not $x877))) (monotonicity @x1401 (= (not $x877) $x1402)) (= $x344 $x1402))))
+(let ((@x1408 (not-or-elim (mp (asserted $x344) @x1406 $x1402) $x885)))
+(let ((@x1458 (mp~ (and-elim @x1408 $x355) (nnf-pos (refl (~ $x352 $x352)) (~ $x355 $x355)) $x355)))
+(let ((@x3493 (mp @x1458 (quant-intro (refl (= $x352 $x352)) (= $x355 $x3488)) $x3488)))
+(let ((@x5494 (rewrite (= (or (not $x3488) (or $x1533 $x5648)) (or (not $x3488) $x1533 $x5648)))))
+(let ((@x5498 (mp ((_ quant-inst ?v0!5) (or (not $x3488) (or $x1533 $x5648))) @x5494 (or (not $x3488) $x1533 $x5648))))
+(let ((@x6448 (unit-resolution (hypothesis $x6555) (mp (unit-resolution @x5498 @x3493 (hypothesis $x1534) $x5648) @x5583 $x5500) false)))
+(let ((@x3189 (unit-resolution (lemma @x6448 (or $x5500 $x1533)) (unit-resolution ((_ th-lemma arith triangle-eq) (or $x6555 $x1538)) @x5027 $x6555) @x5072 false)))
+(let (($x3539 (not $x3536)))
+(let (($x3822 (or $x3539 $x3819)))
+(let (($x3825 (not $x3822)))
+(let (($x3519 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let ((?x124 (v_b_SP_G_0$ ?v1)))
+(let (($x928 (>= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?v0)) ?x152) 0)))
+(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
+(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
+(let (($x134 (not $x133)))
+(or $x134 $x917 $x928))))))) :pattern ( (pair$ ?v1 ?v0) ) :qid k!38))
+))
+(let (($x3524 (not $x3519)))
+(let (($x3828 (or $x3524 $x3825)))
+(let (($x3831 (not $x3828)))
+(let ((?x1517 (v_b_SP_G_0$ ?v0!4)))
+(let ((?x1518 (* (- 1) ?x1517)))
+(let ((?x1516 (v_b_SP_G_0$ ?v1!3)))
+(let ((?x1508 (pair$ ?v1!3 ?v0!4)))
+(let ((?x1509 (b_G$ ?x1508)))
+(let ((?x2040 (+ ?x1509 ?x1516 ?x1518)))
+(let (($x2043 (>= ?x2040 0)))
+(let (($x1512 (<= (+ b_Infinity$ (* (- 1) ?x1509)) 0)))
+(let (($x1507 (fun_app$ v_b_Visited_G_0$ ?v1!3)))
+(let (($x2389 (not $x1507)))
+(let (($x2404 (or $x2389 $x1512 $x2043)))
+(let (($x3495 (forall ((?v0 B_Vertex$) )(! (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v0)))
+(not $x133)) :pattern ( (fun_app$ v_b_Visited_G_0$ ?v0) ) :qid k!38))
+))
+(let ((@x1463 (mp~ (and-elim @x1408 $x135) (nnf-pos (refl (~ $x134 $x134)) (~ $x135 $x135)) $x135)))
+(let ((@x3500 (mp @x1463 (quant-intro (refl (= $x134 $x134)) (= $x135 $x3495)) $x3495)))
+(let ((@x4007 (unit-resolution ((_ quant-inst ?v1!3) (or (not $x3495) $x2389)) @x3500 (hypothesis $x1507) false)))
+(let (($x2409 (not $x2404)))
+(let (($x3834 (or $x2409 $x3831)))
+(let (($x3837 (not $x3834)))
+(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)))
+(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
+(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))
+))
+(let (($x3515 (not $x3510)))
+(let (($x3840 (or $x3515 $x3837)))
+(let (($x3843 (not $x3840)))
+(let (($x1493 (>= (+ (v_b_SP_G_0$ ?v1!1) (* (- 1) (v_b_SP_G_0$ ?v0!2))) 0)))
+(let (($x1486 (fun_app$ v_b_Visited_G_0$ ?v0!2)))
+(let (($x2343 (not $x1486)))
+(let (($x1484 (fun_app$ v_b_Visited_G_0$ ?v1!1)))
+(let (($x2358 (or $x1484 $x2343 $x1493)))
+(let (($x2363 (not $x2358)))
+(let (($x3846 (or $x2363 $x3843)))
+(let (($x3849 (not $x3846)))
+(let (($x3501 (forall ((?v0 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v0)))
+(>= ?x124 0)) :pattern ( (v_b_SP_G_0$ ?v0) ) :qid k!38))
+))
+(let (($x3506 (not $x3501)))
+(let (($x3852 (or $x3506 $x3849)))
+(let (($x3855 (not $x3852)))
+(let ((?x1470 (v_b_SP_G_0$ ?v0!0)))
+(let (($x1471 (>= ?x1470 0)))
+(let (($x1472 (not $x1471)))
+(let ((@x5071 (hypothesis $x1472)))
+(let (($x5774 (<= ?x1470 0)))
+(let (($x82 (<= b_Infinity$ 0)))
+(let (($x83 (not $x82)))
+(let ((@x86 (mp (asserted (< 0 b_Infinity$)) (rewrite (= (< 0 b_Infinity$) $x83)) $x83)))
+(let (($x5117 (= b_Infinity$ ?x1470)))
+(let ((@x5579 (symm (commutativity (= $x5117 (= ?x1470 b_Infinity$))) (= (= ?x1470 b_Infinity$) $x5117))))
+(let (($x3131 (= ?x1470 b_Infinity$)))
+(let (($x5739 (= ?v0!0 b_Source$)))
+(let (($x5713 (not $x5739)))
+(let ((@x5595 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1470 0)) $x1471)) @x5071 (not (= ?x1470 0)))))
+(let (($x3482 (forall ((?v0 B_Vertex$) )(! (let (($x123 (= ?v0 b_Source$)))
+(let (($x128 (not $x123)))
+(or $x128 (= (v_b_SP_G_0$ ?v0) 0)))) :pattern ( (v_b_SP_G_0$ ?v0) ) :qid k!38))
+))
+(let ((@x3486 (quant-intro (refl (= (or $x128 (= ?x124 0)) (or $x128 (= ?x124 0)))) (= $x349 $x3482))))
+(let ((@x1452 (nnf-pos (refl (~ (or $x128 (= ?x124 0)) (or $x128 (= ?x124 0)))) (~ $x349 $x349))))
+(let ((@x3487 (mp (mp~ (and-elim @x1408 $x349) @x1452 $x349) @x3486 $x3482)))
+(let (($x5769 (= (or (not $x3482) (or $x5713 (= ?x1470 0))) (or (not $x3482) $x5713 (= ?x1470 0)))))
+(let ((@x5448 (mp ((_ quant-inst ?v0!0) (or (not $x3482) (or $x5713 (= ?x1470 0)))) (rewrite $x5769) (or (not $x3482) $x5713 (= ?x1470 0)))))
+(let ((@x6281 (rewrite (= (or (not $x3488) (or $x5739 $x3131)) (or (not $x3488) $x5739 $x3131)))))
+(let ((@x6173 (mp ((_ quant-inst ?v0!0) (or (not $x3488) (or $x5739 $x3131))) @x6281 (or (not $x3488) $x5739 $x3131))))
+(let ((@x6446 (mp (unit-resolution @x6173 @x3493 (unit-resolution @x5448 @x3487 @x5595 $x5713) $x3131) @x5579 $x5117)))
+(let ((@x6386 ((_ th-lemma arith triangle-eq) (or (not $x5117) (<= (+ b_Infinity$ (* (- 1) ?x1470)) 0)))))
+(let ((@x6387 (unit-resolution @x6386 @x6446 (<= (+ b_Infinity$ (* (- 1) ?x1470)) 0))))
+(let ((@x3142 (lemma ((_ th-lemma arith farkas 1 -1 1) (hypothesis $x5774) @x6387 @x86 false) (or (not $x5774) $x1471))))
+(let ((@x5085 (unit-resolution @x3142 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x5774 $x1471)) @x5071 $x5774) @x5071 false)))
+(let (($x3858 (or $x1472 $x3855)))
+(let (($x3861 (not $x3858)))
+(let (($x3864 (or $x864 $x3861)))
+(let (($x3867 (not $x3864)))
+(let (($x5885 (not $x3482)))
+(let (($x3145 (or $x5885 $x142)))
+(let ((@x4320 (monotonicity (rewrite (= (= b_Source$ b_Source$) true)) (= (not (= b_Source$ b_Source$)) (not true)))))
+(let ((@x5484 (trans @x4320 (rewrite (= (not true) false)) (= (not (= b_Source$ b_Source$)) false))))
+(let ((@x5457 (monotonicity @x5484 (= (or (not (= b_Source$ b_Source$)) $x142) (or false $x142)))))
+(let ((@x5606 (trans @x5457 (rewrite (= (or false $x142) $x142)) (= (or (not (= b_Source$ b_Source$)) $x142) $x142))))
+(let ((@x4948 (monotonicity @x5606 (= (or $x5885 (or (not (= b_Source$ b_Source$)) $x142)) $x3145))))
+(let ((@x5799 (trans @x4948 (rewrite (= $x3145 $x3145)) (= (or $x5885 (or (not (= b_Source$ b_Source$)) $x142)) $x3145))))
+(let ((@x5800 (mp ((_ quant-inst b_Source$) (or $x5885 (or (not (= b_Source$ b_Source$)) $x142))) @x5799 $x3145)))
+(let (($x3870 (or $x864 $x3867)))
+(let (($x2843 (forall ((?v1 B_Vertex$) )(! (let ((?x1906 (v_b_SP_G_2$ ?v0!20)))
+(let ((?x1907 (* (- 1) ?x1906)))
+(let ((?x268 (v_b_SP_G_2$ ?v1)))
+(let (($x2237 (= (+ ?x268 ?x1907 (b_G$ (pair$ ?v1 ?v0!20))) 0)))
+(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
+(let (($x295 (not $x286)))
+(or (>= (+ ?x268 ?x1907) 0) $x295 (not $x2237)))))))) :qid k!38))
+))
+(let (($x2828 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x298 (v_b_SP_G_2$ ?v0)))
+(let ((?x1258 (* (- 1) ?x298)))
+(let ((?x268 (v_b_SP_G_2$ ?v1)))
+(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let (($x1277 (>= (+ ?x152 ?x268 ?x1258) 0)))
+(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
+(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
+(let (($x295 (not $x286)))
+(or $x295 $x917 $x1277))))))))) :qid k!38))
+))
+(let (($x2852 (not (or (not $x2828) $x1904 $x1909 (not $x2843)))))
+(let (($x2857 (or $x2806 $x2852)))
+(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)))
+(let (($x296 (fun_app$ v_b_Visited_G_2$ ?v0)))
+(let (($x2763 (not $x296)))
+(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
+(or $x286 $x2763 $x1257))))) :qid k!38))
+))
+(let (($x2866 (not (or (not $x2783) (not $x2857)))))
+(let (($x2871 (or $x2760 $x2866)))
+(let (($x2879 (not (or $x1254 (not $x2871)))))
+(let (($x2884 (or $x1843 $x2879)))
+(let (($x2892 (not (or $x768 (not $x2884)))))
+(let (($x2897 (or $x768 $x2892)))
+(let (($x2905 (not (or $x780 (not $x2897)))))
+(let (($x2910 (or $x1825 $x2905)))
+(let (($x2918 (not (or $x1245 (not $x2910)))))
+(let (($x2923 (or $x1808 $x2918)))
+(let (($x2737 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let ((?x268 (v_b_SP_G_2$ ?v0)))
+(let (($x273 (= ?x268 ?x171)))
+(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
+(let ((?x1168 (* (- 1) ?x254)))
+(let (($x1170 (<= (+ ?x171 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0)))) 0)))
+(let (($x1164 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0)))) 0)))
+(let (($x2712 (or $x1164 $x1170)))
+(let (($x2713 (not $x2712)))
+(or $x2713 $x273)))))))))) :qid k!38))
+))
+(let (($x2731 (forall ((?v0 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v0)))
+(let ((?x1181 (* (- 1) ?x268)))
+(let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0))))
+(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$)))
+(let (($x1180 (= (+ ?x254 ?x263 ?x1181) 0)))
+(let (($x1170 (<= (+ (fun_app$a v_b_SP_G_1$ ?v0) (* (- 1) ?x254) (* (- 1) ?x263)) 0)))
+(let (($x1164 (<= (+ b_Infinity$ (* (- 1) ?x263)) 0)))
+(or $x1164 $x1170 $x1180)))))))) :qid k!38))
+))
+(let (($x2934 (or $x1768 $x1773 $x252 $x1208 (not $x1204) $x2930 (not $x2731) (not $x2737) (not $x2923))))
+(let (($x2935 (not $x2934)))
+(let (($x2667 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
+(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let (($x1135 (>= (+ ?x152 ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0))) 0)))
+(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
+(let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0)))
+(or $x1094 $x917 $x1135)))))) :qid k!38))
+))
+(let (($x2675 (not (or (not $x2667) $x243))))
+(let (($x2680 (or $x2645 $x2675)))
+(let (($x2623 (forall ((?v0 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v0)))
+(let ((?x2186 (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!9 ?v0) ?v0))))))
+(let (($x2187 (= ?x2186 0)))
+(let (($x2171 (<= (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0)))) 0)))
+(let (($x2612 (not (or $x2171 (not $x2187)))))
+(let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0)))
+(let (($x123 (= ?v0 b_Source$)))
+(or $x123 $x1094 $x2612)))))))) :qid k!38))
+))
+(let (($x2689 (not (or (not $x2623) (not $x2680)))))
+(let (($x2586 (forall ((?v1 B_Vertex$) )(! (let ((?x1656 (fun_app$a v_b_SP_G_3$ ?v0!8)))
+(let ((?x1657 (* (- 1) ?x1656)))
+(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
+(let (($x2143 (= (+ ?x227 ?x1657 (b_G$ (pair$ ?v1 ?v0!8))) 0)))
+(or (>= (+ ?x227 ?x1657) 0) (not $x2143)))))) :qid k!38))
+))
+(let (($x2594 (not (or $x1654 $x1659 (not $x2586)))))
+(let (($x2694 (or $x2594 $x2689)))
+(let (($x2571 (forall ((?v0 B_Vertex$) )(! (let (($x997 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
+(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0)))
+(or $x175 $x997))) :qid k!38))
+))
+(let (($x2707 (not (or (not $x2571) $x2701 $x2702 $x2703 $x2704 (not $x2694)))))
+(let (($x2940 (or $x2707 $x2935)))
+(let (($x2557 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let ((?x2123 (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!7 ?v0) ?v0))))))
+(let (($x2124 (= ?x2123 0)))
+(let (($x2108 (<= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?v0)))) 0)))
+(let (($x2546 (not (or $x2108 (not (fun_app$ v_b_Visited_G_1$ (?v1!7 ?v0))) (not $x2124)))))
+(let (($x997 (<= (+ b_Infinity$ (* (- 1) ?x171)) 0)))
+(let (($x123 (= ?v0 b_Source$)))
+(or $x123 $x997 $x2546)))))))) :qid k!38))
+))
+(let (($x2529 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
+(let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let (($x985 (>= (+ ?x152 ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
+(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
+(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
+(let (($x176 (not $x175)))
+(or $x176 $x917 $x985))))))) :qid k!38))
+))
+(let (($x2507 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1)))
+(let (($x1010 (>= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
+(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1)))
+(or $x175 (not (fun_app$ v_b_Visited_G_1$ ?v0)) $x1010)))) :qid k!38))
+))
+(let (($x2484 (forall ((?v0 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v0)))
+(let ((?x2085 (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!6 ?v0) ?v0))))))
+(let (($x2086 (= ?x2085 0)))
+(let (($x2070 (<= (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?v0)))) 0)))
+(let (($x2473 (not (or $x2070 (not (fun_app$ v_b_Visited_G_0$ (?v1!6 ?v0))) (not $x2086)))))
+(let (($x942 (<= (+ b_Infinity$ (* (- 1) ?x124)) 0)))
+(let (($x123 (= ?v0 b_Source$)))
+(or $x123 $x942 $x2473)))))))) :qid k!38))
+))
+(let (($x2953 (or (not $x2484) $x2947 (not $x1046) (not $x2507) (not $x2529) (not $x2557) (not $x2940))))
+(let (($x2954 (not $x2953)))
+(let (($x2446 (forall ((?v1 B_Vertex$) )(! (let ((?x1535 (v_b_SP_G_0$ ?v0!5)))
+(let ((?x1536 (* (- 1) ?x1535)))
+(let ((?x124 (v_b_SP_G_0$ ?v1)))
+(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
+(let (($x134 (not $x133)))
+(or (>= (+ ?x124 ?x1536) 0) $x134 (not (= (+ ?x124 ?x1536 (b_G$ (pair$ ?v1 ?v0!5))) 0)))))))) :qid k!38))
+))
+(let (($x2454 (not (or $x1533 $x1538 (not $x2446)))))
+(let (($x2959 (or $x2454 $x2954)))
+(let (($x2431 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0))))
+(let ((?x124 (v_b_SP_G_0$ ?v1)))
+(let (($x928 (>= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?v0)) ?x152) 0)))
+(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0)))
+(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
+(let (($x134 (not $x133)))
+(or $x134 $x917 $x928))))))) :qid k!38))
+))
+(let (($x2968 (not (or (not $x2431) (not $x2959)))))
+(let (($x2973 (or $x2409 $x2968)))
+(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)))
+(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
+(or $x133 (not (fun_app$ v_b_Visited_G_0$ ?v0)) $x902))) :qid k!38))
+))
+(let (($x2982 (not (or (not $x2386) (not $x2973)))))
+(let (($x2987 (or $x2363 $x2982)))
+(let (($x2995 (not (or $x897 (not $x2987)))))
+(let (($x3000 (or $x1472 $x2995)))
+(let (($x3008 (not (or $x864 (not $x3000)))))
+(let (($x3013 (or $x864 $x3008)))
+(let (($x2832 (or (>= (+ ?x268 ?x1907) 0) $x295 (not (= (+ ?x268 ?x1907 (b_G$ (pair$ ?0 ?v0!20))) 0)))))
+(let ((@x3731 (monotonicity (quant-intro (refl (= $x2832 $x2832)) (= $x2843 $x3724)) (= (not $x2843) $x3729))))
+(let ((@x3719 (quant-intro (refl (= (or $x295 $x917 $x1277) (or $x295 $x917 $x1277))) (= $x2828 $x3715))))
+(let ((@x3734 (monotonicity (monotonicity @x3719 (= (not $x2828) $x3720)) @x3731 (= (or (not $x2828) $x1904 $x1909 (not $x2843)) $x3732))))
+(let ((@x3743 (monotonicity (monotonicity (monotonicity @x3734 (= $x2852 $x3735)) (= $x2857 $x3738)) (= (not $x2857) $x3741))))
+(let ((@x3711 (quant-intro (refl (= (or $x286 (not $x296) $x1257) (or $x286 (not $x296) $x1257))) (= $x2783 $x3707))))
+(let ((@x3746 (monotonicity (monotonicity @x3711 (= (not $x2783) $x3712)) @x3743 (= (or (not $x2783) (not $x2857)) $x3744))))
+(let ((@x3755 (monotonicity (monotonicity (monotonicity @x3746 (= $x2866 $x3747)) (= $x2871 $x3750)) (= (not $x2871) $x3753))))
+(let ((@x3702 (quant-intro (refl (= (>= ?x268 0) (>= ?x268 0))) (= $x1251 $x3698))))
+(let ((@x3758 (monotonicity (monotonicity @x3702 (= $x1254 $x3703)) @x3755 (= (or $x1254 (not $x2871)) $x3756))))
+(let ((@x3767 (monotonicity (monotonicity (monotonicity @x3758 (= $x2879 $x3759)) (= $x2884 $x3762)) (= (not $x2884) $x3765))))
+(let ((@x3773 (monotonicity (monotonicity @x3767 (= (or $x768 (not $x2884)) $x3768)) (= $x2892 $x3771))))
+(let ((@x3779 (monotonicity (monotonicity @x3773 (= $x2897 $x3774)) (= (not $x2897) $x3777))))
+(let ((@x3694 (quant-intro (refl (= (or $x295 $x273) (or $x295 $x273))) (= $x647 $x3690))))
+(let ((@x3782 (monotonicity (monotonicity @x3694 (= $x780 $x3695)) @x3779 (= (or $x780 (not $x2897)) $x3780))))
+(let ((@x3791 (monotonicity (monotonicity (monotonicity @x3782 (= $x2905 $x3783)) (= $x2910 $x3786)) (= (not $x2910) $x3789))))
+(let ((@x3688 (monotonicity (quant-intro (refl (= $x1238 $x1238)) (= $x1242 $x3681)) (= $x1245 $x3686))))
+(let ((@x3797 (monotonicity (monotonicity @x3688 @x3791 (= (or $x1245 (not $x2910)) $x3792)) (= $x2918 $x3795))))
+(let ((@x3803 (monotonicity (monotonicity @x3797 (= $x2923 $x3798)) (= (not $x2923) $x3801))))
+(let ((@x3675 (refl (= (or (not (or $x1164 $x1170)) $x273) (or (not (or $x1164 $x1170)) $x273)))))
+(let ((@x3680 (monotonicity (quant-intro @x3675 (= $x2737 $x3673)) (= (not $x2737) $x3678))))
+(let ((@x3669 (quant-intro (refl (= (or $x1164 $x1170 $x1180) (or $x1164 $x1170 $x1180))) (= $x2731 $x3665))))
+(let ((@x3662 (monotonicity (quant-intro (refl (= $x1201 $x1201)) (= $x1204 $x3655)) (= (not $x1204) $x3660))))
+(let ((@x3806 (monotonicity @x3662 (monotonicity @x3669 (= (not $x2731) $x3670)) @x3680 @x3803 (= $x2934 $x3804))))
+(let ((@x3621 (quant-intro (refl (= (or $x1094 $x917 $x1135) (or $x1094 $x917 $x1135))) (= $x2667 $x3617))))
+(let ((@x3627 (monotonicity (monotonicity @x3621 (= (not $x2667) $x3622)) (= (or (not $x2667) $x243) $x3625))))
+(let ((@x3636 (monotonicity (monotonicity (monotonicity @x3627 (= $x2675 $x3628)) (= $x2680 $x3631)) (= (not $x2680) $x3634))))
+(let ((?x2186 (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?0))) (* (- 1) (b_G$ (pair$ (?v1!9 ?0) ?0))))))
+(let (($x2187 (= ?x2186 0)))
+(let (($x2171 (<= (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?0)))) 0)))
+(let (($x2612 (not (or $x2171 (not $x2187)))))
+(let (($x2618 (or $x123 $x1094 $x2612)))
+(let ((@x3616 (monotonicity (quant-intro (refl (= $x2618 $x2618)) (= $x2623 $x3609)) (= (not $x2623) $x3614))))
+(let ((@x3642 (monotonicity (monotonicity @x3616 @x3636 (= (or (not $x2623) (not $x2680)) $x3637)) (= $x2689 $x3640))))
+(let ((?x1656 (fun_app$a v_b_SP_G_3$ ?v0!8)))
+(let ((?x1657 (* (- 1) ?x1656)))
+(let (($x2143 (= (+ ?x227 ?x1657 (b_G$ (pair$ ?0 ?v0!8))) 0)))
+(let (($x2575 (or (>= (+ ?x227 ?x1657) 0) (not $x2143))))
+(let ((@x3602 (monotonicity (quant-intro (refl (= $x2575 $x2575)) (= $x2586 $x3595)) (= (not $x2586) $x3600))))
+(let ((@x3608 (monotonicity (monotonicity @x3602 (= (or $x1654 $x1659 (not $x2586)) $x3603)) (= $x2594 $x3606))))
+(let ((@x3648 (monotonicity (monotonicity @x3608 @x3642 (= $x2694 $x3643)) (= (not $x2694) $x3646))))
+(let ((@x3589 (quant-intro (refl (= (or $x175 $x997) (or $x175 $x997))) (= $x2571 $x3585))))
+(let ((@x3651 (monotonicity (monotonicity @x3589 (= (not $x2571) $x3590)) @x3648 (= (or (not $x2571) $x2701 $x2702 $x2703 $x2704 (not $x2694)) $x3649))))
+(let ((@x3812 (monotonicity (monotonicity @x3651 (= $x2707 $x3652)) (monotonicity @x3806 (= $x2935 $x3807)) (= $x2940 $x3810))))
+(let ((?x2123 (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?0))) (* (- 1) (b_G$ (pair$ (?v1!7 ?0) ?0))))))
+(let (($x2124 (= ?x2123 0)))
+(let (($x2108 (<= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?0)))) 0)))
+(let (($x2546 (not (or $x2108 (not (fun_app$ v_b_Visited_G_1$ (?v1!7 ?0))) (not $x2124)))))
+(let (($x2552 (or $x123 $x997 $x2546)))
+(let ((@x3583 (monotonicity (quant-intro (refl (= $x2552 $x2552)) (= $x2557 $x3576)) (= (not $x2557) $x3581))))
+(let ((@x3572 (quant-intro (refl (= (or $x176 $x917 $x985) (or $x176 $x917 $x985))) (= $x2529 $x3568))))
+(let ((@x3564 (quant-intro (refl (= (or $x175 (not $x177) $x1010) (or $x175 (not $x177) $x1010))) (= $x2507 $x3560))))
+(let ((@x3555 (quant-intro (refl (= (>= ?x171 0) (>= ?x171 0))) (= $x1046 $x3551))))
+(let ((?x2085 (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?0))) (* (- 1) (b_G$ (pair$ (?v1!6 ?0) ?0))))))
+(let (($x2086 (= ?x2085 0)))
+(let (($x2070 (<= (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?0)))) 0)))
+(let (($x2473 (not (or $x2070 (not (fun_app$ v_b_Visited_G_0$ (?v1!6 ?0))) (not $x2086)))))
+(let (($x942 (<= (+ b_Infinity$ (* (- 1) ?x124)) 0)))
+(let (($x2479 (or $x123 $x942 $x2473)))
+(let ((@x3549 (monotonicity (quant-intro (refl (= $x2479 $x2479)) (= $x2484 $x3542)) (= (not $x2484) $x3547))))
+(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))))
+(let (($x2435 (or (>= (+ ?x124 ?x1536) 0) $x134 (not (= (+ ?x124 ?x1536 (b_G$ (pair$ ?0 ?v0!5))) 0)))))
+(let ((@x3535 (monotonicity (quant-intro (refl (= $x2435 $x2435)) (= $x2446 $x3528)) (= (not $x2446) $x3533))))
+(let ((@x3541 (monotonicity (monotonicity @x3535 (= (or $x1533 $x1538 (not $x2446)) $x3536)) (= $x2454 $x3539))))
+(let ((@x3824 (monotonicity @x3541 (monotonicity @x3818 (= $x2954 $x3819)) (= $x2959 $x3822))))
+(let ((@x3523 (quant-intro (refl (= (or $x134 $x917 $x928) (or $x134 $x917 $x928))) (= $x2431 $x3519))))
+(let ((@x3830 (monotonicity (monotonicity @x3523 (= (not $x2431) $x3524)) (monotonicity @x3824 (= (not $x2959) $x3825)) (= (or (not $x2431) (not $x2959)) $x3828))))
+(let ((@x3839 (monotonicity (monotonicity (monotonicity @x3830 (= $x2968 $x3831)) (= $x2973 $x3834)) (= (not $x2973) $x3837))))
+(let (($x2381 (or $x133 (not (fun_app$ v_b_Visited_G_0$ ?1)) $x902)))
+(let ((@x3517 (monotonicity (quant-intro (refl (= $x2381 $x2381)) (= $x2386 $x3510)) (= (not $x2386) $x3515))))
+(let ((@x3845 (monotonicity (monotonicity @x3517 @x3839 (= (or (not $x2386) (not $x2973)) $x3840)) (= $x2982 $x3843))))
+(let ((@x3851 (monotonicity (monotonicity @x3845 (= $x2987 $x3846)) (= (not $x2987) $x3849))))
+(let ((@x3505 (quant-intro (refl (= (>= ?x124 0) (>= ?x124 0))) (= $x894 $x3501))))
+(let ((@x3854 (monotonicity (monotonicity @x3505 (= $x897 $x3506)) @x3851 (= (or $x897 (not $x2987)) $x3852))))
+(let ((@x3863 (monotonicity (monotonicity (monotonicity @x3854 (= $x2995 $x3855)) (= $x3000 $x3858)) (= (not $x3000) $x3861))))
+(let ((@x3869 (monotonicity (monotonicity @x3863 (= (or $x864 (not $x3000)) $x3864)) (= $x3008 $x3867))))
+(let (($x2246 (forall ((?v1 B_Vertex$) )(! (let ((?x1906 (v_b_SP_G_2$ ?v0!20)))
+(let ((?x1907 (* (- 1) ?x1906)))
+(let ((?x268 (v_b_SP_G_2$ ?v1)))
+(let (($x2237 (= (+ ?x268 ?x1907 (b_G$ (pair$ ?v1 ?v0!20))) 0)))
+(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
+(let (($x2240 (and (not (>= (+ ?x268 ?x1907) 0)) $x286 $x2237)))
+(not $x2240))))))) :qid k!38))
+))
+(let (($x1910 (not $x1909)))
+(let (($x1905 (not $x1904)))
+(let (($x2255 (and $x1284 $x1905 $x1910 $x2246)))
+(let (($x1886 (not (and $x1878 (not $x1883)))))
+(let (($x1892 (or $x1886 $x1891)))
+(let (($x1893 (not $x1892)))
+(let (($x2260 (or $x1893 $x2255)))
+(let (($x2263 (and $x1265 $x2260)))
+(let (($x1859 (not (and (not $x1855) $x1857))))
+(let (($x1865 (or $x1859 $x1864)))
+(let (($x1866 (not $x1865)))
+(let (($x2266 (or $x1866 $x2263)))
+(let (($x2269 (and $x1251 $x2266)))
+(let (($x2272 (or $x1843 $x2269)))
+(let (($x2275 (and $x292 $x2272)))
+(let (($x2278 (or $x768 $x2275)))
+(let (($x2281 (and $x647 $x2278)))
+(let (($x2284 (or $x1825 $x2281)))
+(let (($x2287 (and $x1242 $x2284)))
+(let (($x2290 (or $x1808 $x2287)))
+(let (($x1774 (not $x1773)))
+(let (($x1769 (not $x1768)))
+(let (($x2296 (and $x1769 $x1774 $x253 $x1209 $x1204 $x261 $x1188 $x1194 $x2290)))
+(let (($x1744 (not $x243)))
+(let (($x1747 (and $x1141 $x1744)))
+(let (($x1728 (not (and (not $x1719) (not $x1725)))))
+(let (($x2207 (or $x1728 $x2204)))
+(let (($x2210 (not $x2207)))
+(let (($x2213 (or $x2210 $x1747)))
+(let (($x2198 (forall ((?v0 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v0)))
+(let ((?x2186 (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!9 ?v0) ?v0))))))
+(let (($x2187 (= ?x2186 0)))
+(let (($x2171 (<= (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0)))) 0)))
+(let (($x2192 (and (not $x2171) $x2187)))
+(let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0)))
+(let (($x1095 (not $x1094)))
+(let (($x123 (= ?v0 b_Source$)))
+(let (($x128 (not $x123)))
+(let (($x1098 (and $x128 $x1095)))
+(let (($x1101 (not $x1098)))
+(or $x1101 $x2192)))))))))))) :qid k!38))
+))
+(let (($x2216 (and $x2198 $x2213)))
+(let (($x2152 (forall ((?v1 B_Vertex$) )(! (let ((?x1656 (fun_app$a v_b_SP_G_3$ ?v0!8)))
+(let ((?x1657 (* (- 1) ?x1656)))
+(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
+(let (($x2143 (= (+ ?x227 ?x1657 (b_G$ (pair$ ?v1 ?v0!8))) 0)))
+(let (($x2146 (and (not (>= (+ ?x227 ?x1657) 0)) $x2143)))
+(not $x2146)))))) :qid k!38))
+))
+(let (($x1660 (not $x1659)))
+(let (($x1655 (not $x1654)))
+(let (($x2158 (and $x1655 $x1660 $x2152)))
+(let (($x2219 (or $x2158 $x2216)))
+(let (($x1636 (forall ((?v0 B_Vertex$) )(! (let (($x997 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0)))
+(let (($x998 (not $x997)))
+(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0)))
+(let (($x176 (not $x175)))
+(let (($x1072 (and $x176 $x998)))
+(not $x1072)))))) :qid k!38))
+))
+(let (($x2225 (and $x1636 $x209 $x212 $x214 $x217 $x2219)))
+(let (($x2301 (or $x2225 $x2296)))
+(let (($x2135 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let ((?x2123 (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!7 ?v0) ?v0))))))
+(let (($x2124 (= ?x2123 0)))
+(let ((?x1608 (?v1!7 ?v0)))
+(let (($x1613 (fun_app$ v_b_Visited_G_1$ ?x1608)))
+(let (($x2129 (and (not (<= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?x1608))) 0)) $x1613 $x2124)))
+(let (($x997 (<= (+ b_Infinity$ (* (- 1) ?x171)) 0)))
+(let (($x998 (not $x997)))
+(let (($x123 (= ?v0 b_Source$)))
+(let (($x128 (not $x123)))
+(let (($x1001 (and $x128 $x998)))
+(let (($x1004 (not $x1001)))
+(or $x1004 $x2129))))))))))))) :qid k!38))
+))
+(let (($x2097 (forall ((?v0 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v0)))
+(let ((?x2085 (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!6 ?v0) ?v0))))))
+(let (($x2086 (= ?x2085 0)))
+(let ((?x1573 (?v1!6 ?v0)))
+(let (($x1578 (fun_app$ v_b_Visited_G_0$ ?x1573)))
+(let (($x2091 (and (not (<= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?x1573))) 0)) $x1578 $x2086)))
+(let (($x123 (= ?v0 b_Source$)))
+(let (($x128 (not $x123)))
+(let (($x946 (and $x128 (not (<= (+ b_Infinity$ (* (- 1) ?x124)) 0)))))
+(let (($x949 (not $x946)))
+(or $x949 $x2091))))))))))) :qid k!38))
+))
+(let (($x2310 (and $x2097 $x170 $x1046 $x1040 $x992 $x2135 $x2301)))
+(let (($x1562 (forall ((?v1 B_Vertex$) )(! (let ((?x1535 (v_b_SP_G_0$ ?v0!5)))
+(let ((?x1536 (* (- 1) ?x1535)))
+(let ((?x124 (v_b_SP_G_0$ ?v1)))
+(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
+(let (($x1549 (and (not (>= (+ ?x124 ?x1536) 0)) $x133 (= (+ ?x124 ?x1536 (b_G$ (pair$ ?v1 ?v0!5))) 0))))
+(not $x1549)))))) :qid k!38))
+))
+(let (($x2057 (and $x1534 $x1539 $x1562)))
+(let (($x2315 (or $x2057 $x2310)))
+(let (($x2318 (and $x934 $x2315)))
+(let (($x1515 (not (and $x1507 (not $x1512)))))
+(let (($x2046 (or $x1515 $x2043)))
+(let (($x2049 (not $x2046)))
+(let (($x2321 (or $x2049 $x2318)))
+(let (($x2324 (and $x909 $x2321)))
+(let (($x1488 (not (and (not $x1484) $x1486))))
+(let (($x1494 (or $x1488 $x1493)))
+(let (($x1495 (not $x1494)))
+(let (($x2327 (or $x1495 $x2324)))
+(let (($x2330 (and $x894 $x2327)))
+(let (($x2333 (or $x1472 $x2330)))
+(let (($x2336 (and $x142 $x2333)))
+(let (($x2339 (or $x864 $x2336)))
+(let ((@x2937 (rewrite (= (and $x1769 $x1774 $x253 $x1209 $x1204 $x261 $x2731 $x2737 $x2923) $x2935))))
+(let (($x2237 (= (+ ?x268 ?x1907 (b_G$ (pair$ ?0 ?v0!20))) 0)))
+(let (($x2240 (and (not (>= (+ ?x268 ?x1907) 0)) $x286 $x2237)))
+(let (($x2243 (not $x2240)))
+(let ((@x2838 (monotonicity (rewrite (= $x2240 (not $x2832))) (= $x2243 (not (not $x2832))))))
+(let ((@x2845 (quant-intro (trans @x2838 (rewrite (= (not (not $x2832)) $x2832)) (= $x2243 $x2832)) (= $x2246 $x2843))))
+(let ((@x2815 (monotonicity (rewrite (= $x1271 (not (or $x295 $x917)))) (= $x1274 (not (not (or $x295 $x917)))))))
+(let ((@x2819 (trans @x2815 (rewrite (= (not (not (or $x295 $x917))) (or $x295 $x917))) (= $x1274 (or $x295 $x917)))))
+(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)))))
+(let ((@x2848 (monotonicity (quant-intro @x2827 (= $x1284 $x2828)) @x2845 (= $x2255 (and $x2828 $x1905 $x1910 $x2843)))))
+(let ((@x2856 (trans @x2848 (rewrite (= (and $x2828 $x1905 $x1910 $x2843) $x2852)) (= $x2255 $x2852))))
+(let ((@x2793 (monotonicity (rewrite (= (and $x1878 (not $x1883)) (not (or $x2786 $x1883)))) (= $x1886 (not (not (or $x2786 $x1883)))))))
+(let ((@x2797 (trans @x2793 (rewrite (= (not (not (or $x2786 $x1883))) (or $x2786 $x1883))) (= $x1886 (or $x2786 $x1883)))))
+(let ((@x2805 (trans (monotonicity @x2797 (= $x1892 (or (or $x2786 $x1883) $x1891))) (rewrite (= (or (or $x2786 $x1883) $x1891) $x2801)) (= $x1892 $x2801))))
+(let ((@x2859 (monotonicity (monotonicity @x2805 (= $x1893 $x2806)) @x2856 (= $x2260 $x2857))))
+(let ((@x2780 (rewrite (= (or (or $x286 (not $x296)) $x1257) (or $x286 (not $x296) $x1257)))))
+(let ((@x2772 (rewrite (= (not (not (or $x286 (not $x296)))) (or $x286 (not $x296))))))
+(let ((@x2770 (monotonicity (rewrite (= $x297 (not (or $x286 (not $x296))))) (= $x659 (not (not (or $x286 (not $x296))))))))
+(let ((@x2777 (monotonicity (trans @x2770 @x2772 (= $x659 (or $x286 (not $x296)))) (= $x1262 (or (or $x286 (not $x296)) $x1257)))))
+(let ((@x2785 (quant-intro (trans @x2777 @x2780 (= $x1262 (or $x286 (not $x296) $x1257))) (= $x1265 $x2783))))
+(let ((@x2870 (trans (monotonicity @x2785 @x2859 (= $x2263 (and $x2783 $x2857))) (rewrite (= (and $x2783 $x2857) $x2866)) (= $x2263 $x2866))))
+(let ((@x2747 (monotonicity (rewrite (= (and (not $x1855) $x1857) (not (or $x1855 $x2740)))) (= $x1859 (not (not (or $x1855 $x2740)))))))
+(let ((@x2751 (trans @x2747 (rewrite (= (not (not (or $x1855 $x2740))) (or $x1855 $x2740))) (= $x1859 (or $x1855 $x2740)))))
+(let ((@x2759 (trans (monotonicity @x2751 (= $x1865 (or (or $x1855 $x2740) $x1864))) (rewrite (= (or (or $x1855 $x2740) $x1864) $x2755)) (= $x1865 $x2755))))
+(let ((@x2873 (monotonicity (monotonicity @x2759 (= $x1866 $x2760)) @x2870 (= $x2266 $x2871))))
+(let ((@x2883 (trans (monotonicity @x2873 (= $x2269 (and $x1251 $x2871))) (rewrite (= (and $x1251 $x2871) $x2879)) (= $x2269 $x2879))))
+(let ((@x2889 (monotonicity (monotonicity @x2883 (= $x2272 $x2884)) (= $x2275 (and $x292 $x2884)))))
+(let ((@x2899 (monotonicity (trans @x2889 (rewrite (= (and $x292 $x2884) $x2892)) (= $x2275 $x2892)) (= $x2278 $x2897))))
+(let ((@x2909 (trans (monotonicity @x2899 (= $x2281 (and $x647 $x2897))) (rewrite (= (and $x647 $x2897) $x2905)) (= $x2281 $x2905))))
+(let ((@x2915 (monotonicity (monotonicity @x2909 (= $x2284 $x2910)) (= $x2287 (and $x1242 $x2910)))))
+(let ((@x2925 (monotonicity (trans @x2915 (rewrite (= (and $x1242 $x2910) $x2918)) (= $x2287 $x2918)) (= $x2290 $x2923))))
+(let ((@x2736 (monotonicity (rewrite (= $x1174 (not (or $x1164 $x1170)))) (= $x1191 (or (not (or $x1164 $x1170)) $x273)))))
+(let ((@x2718 (monotonicity (rewrite (= $x1174 (not (or $x1164 $x1170)))) (= $x1177 (not (not (or $x1164 $x1170)))))))
+(let ((@x2722 (trans @x2718 (rewrite (= (not (not (or $x1164 $x1170))) (or $x1164 $x1170))) (= $x1177 (or $x1164 $x1170)))))
+(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)))))
+(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)))))
+(let ((@x2654 (monotonicity (rewrite (= $x1129 (not (or $x1094 $x917)))) (= $x1132 (not (not (or $x1094 $x917)))))))
+(let ((@x2658 (trans @x2654 (rewrite (= (not (not (or $x1094 $x917))) (or $x1094 $x917))) (= $x1132 (or $x1094 $x917)))))
+(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)))))
+(let ((@x2672 (monotonicity (quant-intro @x2666 (= $x1141 $x2667)) (= $x1747 (and $x2667 $x1744)))))
+(let ((@x2632 (monotonicity (rewrite (= (and (not $x1719) (not $x1725)) (not (or $x1719 $x1725)))) (= $x1728 (not (not (or $x1719 $x1725)))))))
+(let ((@x2636 (trans @x2632 (rewrite (= (not (not (or $x1719 $x1725))) (or $x1719 $x1725))) (= $x1728 (or $x1719 $x1725)))))
+(let ((@x2644 (trans (monotonicity @x2636 (= $x2207 (or (or $x1719 $x1725) $x2204))) (rewrite (= (or (or $x1719 $x1725) $x2204) $x2640)) (= $x2207 $x2640))))
+(let ((@x2682 (monotonicity (monotonicity @x2644 (= $x2210 $x2645)) (trans @x2672 (rewrite (= (and $x2667 $x1744) $x2675)) (= $x1747 $x2675)) (= $x2213 $x2680))))
+(let ((@x2605 (monotonicity (rewrite (= $x1098 (not (or $x123 $x1094)))) (= $x1101 (not (not (or $x123 $x1094)))))))
+(let ((@x2609 (trans @x2605 (rewrite (= (not (not (or $x123 $x1094))) (or $x123 $x1094))) (= $x1101 (or $x123 $x1094)))))
+(let ((@x2617 (monotonicity @x2609 (rewrite (= (and (not $x2171) $x2187) $x2612)) (= (or $x1101 (and (not $x2171) $x2187)) (or (or $x123 $x1094) $x2612)))))
+(let ((@x2622 (trans @x2617 (rewrite (= (or (or $x123 $x1094) $x2612) $x2618)) (= (or $x1101 (and (not $x2171) $x2187)) $x2618))))
+(let ((@x2685 (monotonicity (quant-intro @x2622 (= $x2198 $x2623)) @x2682 (= $x2216 (and $x2623 $x2680)))))
+(let (($x2146 (and (not (>= (+ ?x227 ?x1657) 0)) $x2143)))
+(let (($x2149 (not $x2146)))
+(let ((@x2581 (monotonicity (rewrite (= $x2146 (not $x2575))) (= $x2149 (not (not $x2575))))))
+(let ((@x2588 (quant-intro (trans @x2581 (rewrite (= (not (not $x2575)) $x2575)) (= $x2149 $x2575)) (= $x2152 $x2586))))
+(let ((@x2598 (trans (monotonicity @x2588 (= $x2158 (and $x1655 $x1660 $x2586))) (rewrite (= (and $x1655 $x1660 $x2586) $x2594)) (= $x2158 $x2594))))
+(let ((@x2696 (monotonicity @x2598 (trans @x2685 (rewrite (= (and $x2623 $x2680) $x2689)) (= $x2216 $x2689)) (= $x2219 $x2694))))
+(let ((@x2566 (monotonicity (rewrite (= $x1072 (not (or $x175 $x997)))) (= (not $x1072) (not (not (or $x175 $x997)))))))
+(let ((@x2570 (trans @x2566 (rewrite (= (not (not (or $x175 $x997))) (or $x175 $x997))) (= (not $x1072) (or $x175 $x997)))))
+(let ((@x2699 (monotonicity (quant-intro @x2570 (= $x1636 $x2571)) @x2696 (= $x2225 (and $x2571 $x209 $x212 $x214 $x217 $x2694)))))
+(let ((@x2711 (trans @x2699 (rewrite (= (and $x2571 $x209 $x212 $x214 $x217 $x2694) $x2707)) (= $x2225 $x2707))))
+(let ((?x1608 (?v1!7 ?0)))
+(let (($x1613 (fun_app$ v_b_Visited_G_1$ ?x1608)))
+(let (($x2129 (and (not $x2108) $x1613 $x2124)))
+(let (($x2132 (or $x1004 $x2129)))
+(let ((@x2538 (monotonicity (rewrite (= $x1001 (not (or $x123 $x997)))) (= $x1004 (not (not (or $x123 $x997)))))))
+(let ((@x2542 (trans @x2538 (rewrite (= (not (not (or $x123 $x997))) (or $x123 $x997))) (= $x1004 (or $x123 $x997)))))
+(let ((@x2551 (monotonicity @x2542 (rewrite (= $x2129 $x2546)) (= $x2132 (or (or $x123 $x997) $x2546)))))
+(let ((@x2556 (trans @x2551 (rewrite (= (or (or $x123 $x997) $x2546) $x2552)) (= $x2132 $x2552))))
+(let ((@x2516 (monotonicity (rewrite (= $x978 (not (or $x176 $x917)))) (= $x981 (not (not (or $x176 $x917)))))))
+(let ((@x2520 (trans @x2516 (rewrite (= (not (not (or $x176 $x917))) (or $x176 $x917))) (= $x981 (or $x176 $x917)))))
+(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)))))
+(let ((@x2504 (rewrite (= (or (or $x175 (not $x177)) $x1010) (or $x175 (not $x177) $x1010)))))
+(let ((@x2496 (rewrite (= (not (not (or $x175 (not $x177)))) (or $x175 (not $x177))))))
+(let ((@x2494 (monotonicity (rewrite (= $x178 (not (or $x175 (not $x177))))) (= $x398 (not (not (or $x175 (not $x177))))))))
+(let ((@x2501 (monotonicity (trans @x2494 @x2496 (= $x398 (or $x175 (not $x177)))) (= $x1037 (or (or $x175 (not $x177)) $x1010)))))
+(let ((@x2509 (quant-intro (trans @x2501 @x2504 (= $x1037 (or $x175 (not $x177) $x1010))) (= $x1040 $x2507))))
+(let ((?x1573 (?v1!6 ?0)))
+(let (($x1578 (fun_app$ v_b_Visited_G_0$ ?x1573)))
+(let (($x2091 (and (not $x2070) $x1578 $x2086)))
+(let (($x2094 (or $x949 $x2091)))
+(let ((@x2465 (monotonicity (rewrite (= $x946 (not (or $x123 $x942)))) (= $x949 (not (not (or $x123 $x942)))))))
+(let ((@x2469 (trans @x2465 (rewrite (= (not (not (or $x123 $x942))) (or $x123 $x942))) (= $x949 (or $x123 $x942)))))
+(let ((@x2478 (monotonicity @x2469 (rewrite (= $x2091 $x2473)) (= $x2094 (or (or $x123 $x942) $x2473)))))
+(let ((@x2483 (trans @x2478 (rewrite (= (or (or $x123 $x942) $x2473) $x2479)) (= $x2094 $x2479))))
+(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)))))
+(let ((@x2958 (trans @x2945 (rewrite (= (and $x2484 $x170 $x1046 $x2507 $x2529 $x2557 $x2940) $x2954)) (= $x2310 $x2954))))
+(let (($x1549 (and (not (>= (+ ?x124 ?x1536) 0)) $x133 (= (+ ?x124 ?x1536 (b_G$ (pair$ ?0 ?v0!5))) 0))))
+(let (($x1559 (not $x1549)))
+(let ((@x2441 (monotonicity (rewrite (= $x1549 (not $x2435))) (= $x1559 (not (not $x2435))))))
+(let ((@x2448 (quant-intro (trans @x2441 (rewrite (= (not (not $x2435)) $x2435)) (= $x1559 $x2435)) (= $x1562 $x2446))))
+(let ((@x2458 (trans (monotonicity @x2448 (= $x2057 (and $x1534 $x1539 $x2446))) (rewrite (= (and $x1534 $x1539 $x2446) $x2454)) (= $x2057 $x2454))))
+(let ((@x2418 (monotonicity (rewrite (= $x921 (not (or $x134 $x917)))) (= $x924 (not (not (or $x134 $x917)))))))
+(let ((@x2422 (trans @x2418 (rewrite (= (not (not (or $x134 $x917))) (or $x134 $x917))) (= $x924 (or $x134 $x917)))))
+(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)))))
+(let ((@x2964 (monotonicity (quant-intro @x2430 (= $x934 $x2431)) (monotonicity @x2458 @x2958 (= $x2315 $x2959)) (= $x2318 (and $x2431 $x2959)))))
+(let ((@x2396 (monotonicity (rewrite (= (and $x1507 (not $x1512)) (not (or $x2389 $x1512)))) (= $x1515 (not (not (or $x2389 $x1512)))))))
+(let ((@x2400 (trans @x2396 (rewrite (= (not (not (or $x2389 $x1512))) (or $x2389 $x1512))) (= $x1515 (or $x2389 $x1512)))))
+(let ((@x2408 (trans (monotonicity @x2400 (= $x2046 (or (or $x2389 $x1512) $x2043))) (rewrite (= (or (or $x2389 $x1512) $x2043) $x2404)) (= $x2046 $x2404))))
+(let ((@x2975 (monotonicity (monotonicity @x2408 (= $x2049 $x2409)) (trans @x2964 (rewrite (= (and $x2431 $x2959) $x2968)) (= $x2318 $x2968)) (= $x2321 $x2973))))
+(let (($x2382 (= (or (or $x133 (not (fun_app$ v_b_Visited_G_0$ ?1))) $x902) $x2381)))
+(let (($x2379 (= $x906 (or (or $x133 (not (fun_app$ v_b_Visited_G_0$ ?1))) $x902))))
+(let (($x2367 (or $x133 (not (fun_app$ v_b_Visited_G_0$ ?1)))))
+(let ((@x2373 (monotonicity (rewrite (= $x146 (not $x2367))) (= $x377 (not (not $x2367))))))
+(let ((@x2380 (monotonicity (trans @x2373 (rewrite (= (not (not $x2367)) $x2367)) (= $x377 $x2367)) $x2379)))
+(let ((@x2388 (quant-intro (trans @x2380 (rewrite $x2382) (= $x906 $x2381)) (= $x909 $x2386))))
+(let ((@x2986 (trans (monotonicity @x2388 @x2975 (= $x2324 (and $x2386 $x2973))) (rewrite (= (and $x2386 $x2973) $x2982)) (= $x2324 $x2982))))
+(let ((@x2350 (monotonicity (rewrite (= (and (not $x1484) $x1486) (not (or $x1484 $x2343)))) (= $x1488 (not (not (or $x1484 $x2343)))))))
+(let ((@x2354 (trans @x2350 (rewrite (= (not (not (or $x1484 $x2343))) (or $x1484 $x2343))) (= $x1488 (or $x1484 $x2343)))))
+(let ((@x2362 (trans (monotonicity @x2354 (= $x1494 (or (or $x1484 $x2343) $x1493))) (rewrite (= (or (or $x1484 $x2343) $x1493) $x2358)) (= $x1494 $x2358))))
+(let ((@x2989 (monotonicity (monotonicity @x2362 (= $x1495 $x2363)) @x2986 (= $x2327 $x2987))))
+(let ((@x2999 (trans (monotonicity @x2989 (= $x2330 (and $x894 $x2987))) (rewrite (= (and $x894 $x2987) $x2995)) (= $x2330 $x2995))))
+(let ((@x3005 (monotonicity (monotonicity @x2999 (= $x2333 $x3000)) (= $x2336 (and $x142 $x3000)))))
+(let ((@x3015 (monotonicity (trans @x3005 (rewrite (= (and $x142 $x3000) $x3008)) (= $x2336 $x3008)) (= $x2339 $x3013))))
+(let (($x1933 (forall ((?v1 B_Vertex$) )(! (let ((?x1906 (v_b_SP_G_2$ ?v0!20)))
+(let ((?x1907 (* (- 1) ?x1906)))
+(let ((?x268 (v_b_SP_G_2$ ?v1)))
+(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
+(let (($x1920 (and (not (>= (+ ?x268 ?x1907) 0)) $x286 (= (+ (b_G$ (pair$ ?v1 ?v0!20)) ?x268 ?x1907) 0))))
+(not $x1920)))))) :qid k!38))
+))
+(let (($x1927 (not (not (and $x1905 $x1910)))))
+(let (($x1937 (and $x1927 $x1933)))
+(let (($x1942 (and $x1284 $x1937)))
+(let (($x1946 (or $x1893 $x1942)))
+(let (($x1950 (and $x1265 $x1946)))
+(let (($x1954 (or $x1866 $x1950)))
+(let (($x1958 (and $x1251 $x1954)))
+(let (($x1962 (or $x1843 $x1958)))
+(let (($x1837 (not $x768)))
+(let (($x1966 (and $x1837 $x1962)))
+(let (($x1970 (or $x768 $x1966)))
+(let (($x1974 (and $x647 $x1970)))
+(let (($x1978 (or $x1825 $x1974)))
+(let (($x1982 (and $x1242 $x1978)))
+(let (($x1986 (or $x1808 $x1982)))
+(let (($x1796 (and (and $x1769 $x1774) $x253 $x1209 $x1204 $x261 $x1188 $x1194)))
+(let (($x1990 (and $x1796 $x1986)))
+(let (($x1734 (not (or $x1728 (>= (+ ?x1722 ?x1716 ?x1730) 0)))))
+(let (($x1751 (or $x1734 $x1747)))
+(let (($x1708 (forall ((?v0 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v0)))
+(let ((?x1092 (* (- 1) ?x227)))
+(let ((?x1694 (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0))))
+(let ((?x1699 (b_G$ (pair$ (?v1!9 ?v0) ?v0))))
+(let (($x1701 (= (+ ?x1699 ?x1694 ?x1092) 0)))
+(let (($x1702 (and (not (>= (+ ?x1694 ?x1092) 0)) $x1701)))
+(let (($x1094 (<= (+ b_Infinity$ ?x1092) 0)))
+(let (($x1095 (not $x1094)))
+(let (($x123 (= ?v0 b_Source$)))
+(let (($x128 (not $x123)))
+(let (($x1098 (and $x128 $x1095)))
+(let (($x1101 (not $x1098)))
+(or $x1101 $x1702))))))))))))) :qid k!38))
+))
+(let (($x1755 (and $x1708 $x1751)))
+(let (($x1682 (forall ((?v1 B_Vertex$) )(! (let ((?x1656 (fun_app$a v_b_SP_G_3$ ?v0!8)))
+(let ((?x1657 (* (- 1) ?x1656)))
+(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
+(let (($x1670 (and (not (>= (+ ?x227 ?x1657) 0)) (= (+ (b_G$ (pair$ ?v1 ?v0!8)) ?x227 ?x1657) 0))))
+(not $x1670))))) :qid k!38))
+))
+(let (($x1676 (not (not (and $x1655 $x1660)))))
+(let (($x1686 (and $x1676 $x1682)))
+(let (($x1759 (or $x1686 $x1755)))
+(let (($x1647 (and $x1636 $x209 $x212 $x214 $x217)))
+(let (($x1763 (and $x1647 $x1759)))
+(let (($x1994 (or $x1763 $x1990)))
+(let (($x1624 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0)))
+(let ((?x995 (* (- 1) ?x171)))
+(let ((?x1608 (?v1!7 ?v0)))
+(let ((?x1609 (fun_app$a v_b_SP_G_1$ ?x1608)))
+(let ((?x1615 (b_G$ (pair$ ?x1608 ?v0))))
+(let (($x1617 (= (+ ?x1615 ?x1609 ?x995) 0)))
+(let (($x1613 (fun_app$ v_b_Visited_G_1$ ?x1608)))
+(let (($x1618 (and (not (>= (+ ?x1609 ?x995) 0)) $x1613 $x1617)))
+(let (($x997 (<= (+ b_Infinity$ ?x995) 0)))
+(let (($x998 (not $x997)))
+(let (($x123 (= ?v0 b_Source$)))
+(let (($x128 (not $x123)))
+(let (($x1001 (and $x128 $x998)))
+(let (($x1004 (not $x1001)))
+(or $x1004 $x1618))))))))))))))) :qid k!38))
+))
+(let (($x1589 (forall ((?v0 B_Vertex$) )(! (let ((?x1580 (b_G$ (pair$ (?v1!6 ?v0) ?v0))))
+(let ((?x124 (v_b_SP_G_0$ ?v0)))
+(let ((?x940 (* (- 1) ?x124)))
+(let ((?x1573 (?v1!6 ?v0)))
+(let ((?x1574 (v_b_SP_G_0$ ?x1573)))
+(let (($x1582 (= (+ ?x1574 ?x940 ?x1580) 0)))
+(let (($x1578 (fun_app$ v_b_Visited_G_0$ ?x1573)))
+(let (($x1583 (and (not (>= (+ ?x1574 ?x940) 0)) $x1578 $x1582)))
+(let (($x123 (= ?v0 b_Source$)))
+(let (($x128 (not $x123)))
+(let (($x946 (and $x128 (not (<= (+ b_Infinity$ ?x940) 0)))))
+(let (($x949 (not $x946)))
+(or $x949 $x1583))))))))))))) :qid k!38))
+))
+(let (($x1627 (and $x1589 $x170 $x1046 $x1040 $x992 $x1624)))
+(let (($x1998 (and $x1627 $x1994)))
+(let (($x1556 (not (not (and $x1534 $x1539)))))
+(let (($x1566 (and $x1556 $x1562)))
+(let (($x2002 (or $x1566 $x1998)))
+(let (($x2006 (and $x934 $x2002)))
+(let (($x1522 (not (or $x1515 (>= (+ ?x1516 ?x1518 ?x1509) 0)))))
+(let (($x2010 (or $x1522 $x2006)))
+(let (($x2014 (and $x909 $x2010)))
+(let (($x2018 (or $x1495 $x2014)))
+(let (($x2022 (and $x894 $x2018)))
+(let (($x2026 (or $x1472 $x2022)))
+(let (($x1466 (not $x864)))
+(let (($x2030 (and $x1466 $x2026)))
+(let (($x2034 (or $x864 $x2030)))
+(let (($x1920 (and (not (>= (+ ?x268 ?x1907) 0)) $x286 (= (+ (b_G$ (pair$ ?0 ?v0!20)) ?x268 ?x1907) 0))))
+(let (($x1930 (not $x1920)))
+(let (($x2235 (= (+ (b_G$ (pair$ ?0 ?v0!20)) ?x268 ?x1907) (+ ?x268 ?x1907 (b_G$ (pair$ ?0 ?v0!20))))))
+(let ((@x2239 (monotonicity (rewrite $x2235) (= (= (+ (b_G$ (pair$ ?0 ?v0!20)) ?x268 ?x1907) 0) $x2237))))
+(let ((@x2248 (quant-intro (monotonicity (monotonicity @x2239 (= $x1920 $x2240)) (= $x1930 $x2243)) (= $x1933 $x2246))))
+(let ((@x2251 (monotonicity (rewrite (= $x1927 (and $x1905 $x1910))) @x2248 (= $x1937 (and (and $x1905 $x1910) $x2246)))))
+(let ((@x2259 (trans (monotonicity @x2251 (= $x1942 (and $x1284 (and (and $x1905 $x1910) $x2246)))) (rewrite (= (and $x1284 (and (and $x1905 $x1910) $x2246)) $x2255)) (= $x1942 $x2255))))
+(let ((@x2268 (monotonicity (monotonicity (monotonicity @x2259 (= $x1946 $x2260)) (= $x1950 $x2263)) (= $x1954 $x2266))))
+(let ((@x2277 (monotonicity (rewrite (= $x1837 $x292)) (monotonicity (monotonicity @x2268 (= $x1958 $x2269)) (= $x1962 $x2272)) (= $x1966 $x2275))))
+(let ((@x2286 (monotonicity (monotonicity (monotonicity @x2277 (= $x1970 $x2278)) (= $x1974 $x2281)) (= $x1978 $x2284))))
+(let ((@x2295 (monotonicity (monotonicity (monotonicity @x2286 (= $x1982 $x2287)) (= $x1986 $x2290)) (= $x1990 (and $x1796 $x2290)))))
+(let ((@x2206 (monotonicity (rewrite (= (+ ?x1722 ?x1716 ?x1730) ?x2201)) (= (>= (+ ?x1722 ?x1716 ?x1730) 0) $x2204))))
+(let ((@x2209 (monotonicity @x2206 (= (or $x1728 (>= (+ ?x1722 ?x1716 ?x1730) 0)) $x2207))))
+(let (($x2192 (and (not $x2171) $x2187)))
+(let (($x2195 (or $x1101 $x2192)))
+(let ((?x1092 (* (- 1) ?x227)))
+(let ((?x1694 (fun_app$a v_b_SP_G_3$ (?v1!9 ?0))))
+(let ((?x1699 (b_G$ (pair$ (?v1!9 ?0) ?0))))
+(let (($x1701 (= (+ ?x1699 ?x1694 ?x1092) 0)))
+(let (($x1702 (and (not (>= (+ ?x1694 ?x1092) 0)) $x1701)))
+(let (($x1705 (or $x1101 $x1702)))
+(let ((@x2184 (monotonicity (rewrite (= (+ ?x1699 ?x1694 ?x1092) (+ ?x1092 ?x1694 ?x1699))) (= $x1701 (= (+ ?x1092 ?x1694 ?x1699) 0)))))
+(let ((@x2191 (trans @x2184 (rewrite (= (= (+ ?x1092 ?x1694 ?x1699) 0) $x2187)) (= $x1701 $x2187))))
+(let ((@x2168 (monotonicity (rewrite (= (+ ?x1694 ?x1092) (+ ?x1092 ?x1694))) (= (>= (+ ?x1694 ?x1092) 0) (>= (+ ?x1092 ?x1694) 0)))))
+(let ((@x2175 (trans @x2168 (rewrite (= (>= (+ ?x1092 ?x1694) 0) $x2171)) (= (>= (+ ?x1694 ?x1092) 0) $x2171))))
+(let ((@x2194 (monotonicity (monotonicity @x2175 (= (not (>= (+ ?x1694 ?x1092) 0)) (not $x2171))) @x2191 (= $x1702 $x2192))))
+(let ((@x2218 (monotonicity (quant-intro (monotonicity @x2194 (= $x1705 $x2195)) (= $x1708 $x2198)) (monotonicity (monotonicity @x2209 (= $x1734 $x2210)) (= $x1751 $x2213)) (= $x1755 $x2216))))
+(let (($x1670 (and (not (>= (+ ?x227 ?x1657) 0)) (= (+ (b_G$ (pair$ ?0 ?v0!8)) ?x227 ?x1657) 0))))
+(let (($x1679 (not $x1670)))
+(let (($x2141 (= (+ (b_G$ (pair$ ?0 ?v0!8)) ?x227 ?x1657) (+ ?x227 ?x1657 (b_G$ (pair$ ?0 ?v0!8))))))
+(let ((@x2145 (monotonicity (rewrite $x2141) (= (= (+ (b_G$ (pair$ ?0 ?v0!8)) ?x227 ?x1657) 0) $x2143))))
+(let ((@x2154 (quant-intro (monotonicity (monotonicity @x2145 (= $x1670 $x2146)) (= $x1679 $x2149)) (= $x1682 $x2152))))
+(let ((@x2157 (monotonicity (rewrite (= $x1676 (and $x1655 $x1660))) @x2154 (= $x1686 (and (and $x1655 $x1660) $x2152)))))
+(let ((@x2162 (trans @x2157 (rewrite (= (and (and $x1655 $x1660) $x2152) $x2158)) (= $x1686 $x2158))))
+(let ((@x2224 (monotonicity (monotonicity @x2162 @x2218 (= $x1759 $x2219)) (= $x1763 (and $x1647 $x2219)))))
+(let ((@x2303 (monotonicity (trans @x2224 (rewrite (= (and $x1647 $x2219) $x2225)) (= $x1763 $x2225)) (trans @x2295 (rewrite (= (and $x1796 $x2290) $x2296)) (= $x1990 $x2296)) (= $x1994 $x2301))))
+(let ((?x995 (* (- 1) ?x171)))
+(let ((?x1609 (fun_app$a v_b_SP_G_1$ ?x1608)))
+(let ((?x1615 (b_G$ (pair$ ?x1608 ?0))))
+(let (($x1617 (= (+ ?x1615 ?x1609 ?x995) 0)))
+(let (($x1618 (and (not (>= (+ ?x1609 ?x995) 0)) $x1613 $x1617)))
+(let (($x1621 (or $x1004 $x1618)))
+(let ((@x2121 (monotonicity (rewrite (= (+ ?x1615 ?x1609 ?x995) (+ ?x995 ?x1609 ?x1615))) (= $x1617 (= (+ ?x995 ?x1609 ?x1615) 0)))))
+(let ((@x2128 (trans @x2121 (rewrite (= (= (+ ?x995 ?x1609 ?x1615) 0) $x2124)) (= $x1617 $x2124))))
+(let ((@x2105 (monotonicity (rewrite (= (+ ?x1609 ?x995) (+ ?x995 ?x1609))) (= (>= (+ ?x1609 ?x995) 0) (>= (+ ?x995 ?x1609) 0)))))
+(let ((@x2112 (trans @x2105 (rewrite (= (>= (+ ?x995 ?x1609) 0) $x2108)) (= (>= (+ ?x1609 ?x995) 0) $x2108))))
+(let ((@x2131 (monotonicity (monotonicity @x2112 (= (not (>= (+ ?x1609 ?x995) 0)) (not $x2108))) @x2128 (= $x1618 $x2129))))
+(let (($x1582 (= (+ (v_b_SP_G_0$ ?x1573) (* (- 1) ?x124) (b_G$ (pair$ ?x1573 ?0))) 0)))
+(let (($x1583 (and (not (>= (+ (v_b_SP_G_0$ ?x1573) (* (- 1) ?x124)) 0)) $x1578 $x1582)))
+(let (($x1586 (or $x949 $x1583)))
+(let (($x2081 (= (+ (* (- 1) ?x124) (v_b_SP_G_0$ ?x1573) (b_G$ (pair$ ?x1573 ?0))) 0)))
+(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))))))
+(let ((@x2090 (trans (monotonicity (rewrite $x2079) (= $x1582 $x2081)) (rewrite (= $x2081 $x2086)) (= $x1582 $x2086))))
+(let (($x2076 (= (not (>= (+ (v_b_SP_G_0$ ?x1573) (* (- 1) ?x124)) 0)) (not $x2070))))
+(let (($x1576 (>= (+ (v_b_SP_G_0$ ?x1573) (* (- 1) ?x124)) 0)))
+(let (($x2063 (= (+ (v_b_SP_G_0$ ?x1573) (* (- 1) ?x124)) (+ (* (- 1) ?x124) (v_b_SP_G_0$ ?x1573)))))
+(let ((@x2067 (monotonicity (rewrite $x2063) (= $x1576 (>= (+ (* (- 1) ?x124) (v_b_SP_G_0$ ?x1573)) 0)))))
+(let ((@x2074 (trans @x2067 (rewrite (= (>= (+ (* (- 1) ?x124) (v_b_SP_G_0$ ?x1573)) 0) $x2070)) (= $x1576 $x2070))))
+(let ((@x2096 (monotonicity (monotonicity (monotonicity @x2074 $x2076) @x2090 (= $x1583 $x2091)) (= $x1586 $x2094))))
+(let ((@x2306 (monotonicity (quant-intro @x2096 (= $x1589 $x2097)) (quant-intro (monotonicity @x2131 (= $x1621 $x2132)) (= $x1624 $x2135)) (= $x1627 (and $x2097 $x170 $x1046 $x1040 $x992 $x2135)))))
+(let ((@x2309 (monotonicity @x2306 @x2303 (= $x1998 (and (and $x2097 $x170 $x1046 $x1040 $x992 $x2135) $x2301)))))
+(let ((@x2314 (trans @x2309 (rewrite (= (and (and $x2097 $x170 $x1046 $x1040 $x992 $x2135) $x2301) $x2310)) (= $x1998 $x2310))))
+(let ((@x2056 (monotonicity (rewrite (= $x1556 (and $x1534 $x1539))) (= $x1566 (and (and $x1534 $x1539) $x1562)))))
+(let ((@x2061 (trans @x2056 (rewrite (= (and (and $x1534 $x1539) $x1562) $x2057)) (= $x1566 $x2057))))
+(let ((@x2320 (monotonicity (monotonicity @x2061 @x2314 (= $x2002 $x2315)) (= $x2006 $x2318))))
+(let ((@x2045 (monotonicity (rewrite (= (+ ?x1516 ?x1518 ?x1509) ?x2040)) (= (>= (+ ?x1516 ?x1518 ?x1509) 0) $x2043))))
+(let ((@x2048 (monotonicity @x2045 (= (or $x1515 (>= (+ ?x1516 ?x1518 ?x1509) 0)) $x2046))))
+(let ((@x2323 (monotonicity (monotonicity @x2048 (= $x1522 $x2049)) @x2320 (= $x2010 $x2321))))
+(let ((@x2332 (monotonicity (monotonicity (monotonicity @x2323 (= $x2014 $x2324)) (= $x2018 $x2327)) (= $x2022 $x2330))))
+(let ((@x2338 (monotonicity (rewrite (= $x1466 $x142)) (monotonicity @x2332 (= $x2026 $x2333)) (= $x2030 $x2336))))
+(let (($x1921 (exists ((?v1 B_Vertex$) )(! (let ((?x1906 (v_b_SP_G_2$ ?v0!20)))
+(let ((?x1907 (* (- 1) ?x1906)))
+(let ((?x268 (v_b_SP_G_2$ ?v1)))
+(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1)))
+(and (not (>= (+ ?x268 ?x1907) 0)) $x286 (= (+ (b_G$ (pair$ ?v1 ?v0!20)) ?x268 ?x1907) 0)))))) :qid k!38))
+))
+(let ((@x1939 (nnf-neg (refl (~ $x1927 $x1927)) (nnf-neg (refl (~ $x1930 $x1930)) (~ (not $x1921) $x1933)) (~ (not (or (not (and $x1905 $x1910)) $x1921)) $x1937))))
+(let ((@x1941 (trans (sk (~ (not $x1324) (not (or (not (and $x1905 $x1910)) $x1921)))) @x1939 (~ (not $x1324) $x1937))))
+(let ((@x1902 (nnf-neg (nnf-pos (refl (~ $x1281 $x1281)) (~ $x1284 $x1284)) (~ (not $x1287) $x1284))))
+(let ((@x1949 (nnf-neg (sk (~ $x1287 $x1893)) (nnf-neg @x1902 @x1941 (~ (not $x1327) $x1942)) (~ (not $x1330) $x1946))))
+(let ((@x1875 (nnf-neg (nnf-pos (refl (~ $x1262 $x1262)) (~ $x1265 $x1265)) (~ (not $x1268) $x1265))))
+(let ((@x1957 (nnf-neg (sk (~ $x1268 $x1866)) (nnf-neg @x1875 @x1949 (~ (not $x1333) $x1950)) (~ (not $x1336) $x1954))))
+(let ((@x1852 (nnf-neg (nnf-pos (refl (~ (>= ?x268 0) (>= ?x268 0))) (~ $x1251 $x1251)) (~ (not $x1254) $x1251))))
+(let ((@x1965 (nnf-neg (sk (~ $x1254 $x1843)) (nnf-neg @x1852 @x1957 (~ (not $x1339) $x1958)) (~ (not $x1342) $x1962))))
+(let ((@x1973 (nnf-neg (refl (~ $x768 $x768)) (nnf-neg (refl (~ $x1837 $x1837)) @x1965 (~ (not $x1345) $x1966)) (~ (not $x1348) $x1970))))
+(let ((@x1834 (nnf-neg (nnf-pos (refl (~ (or $x295 $x273) (or $x295 $x273))) (~ $x647 $x647)) (~ (not $x780) $x647))))
+(let ((@x1981 (nnf-neg (sk (~ $x780 $x1825)) (nnf-neg @x1834 @x1973 (~ (not $x1351) $x1974)) (~ (not $x1354) $x1978))))
+(let ((@x1817 (nnf-neg (nnf-pos (refl (~ $x1238 $x1238)) (~ $x1242 $x1242)) (~ (not $x1245) $x1242))))
+(let ((@x1989 (nnf-neg (sk (~ $x1245 $x1808)) (nnf-neg @x1817 @x1981 (~ (not $x1357) $x1982)) (~ (not $x1360) $x1986))))
+(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))))
+(let ((@x1993 (nnf-neg (nnf-neg @x1798 (~ (not $x1235) $x1796)) @x1989 (~ (not $x1363) $x1990))))
+(let ((@x1743 (nnf-neg (nnf-pos (refl (~ $x1138 $x1138)) (~ $x1141 $x1141)) (~ (not $x1144) $x1141))))
+(let ((@x1754 (nnf-neg (sk (~ $x1144 $x1734)) (nnf-neg @x1743 (refl (~ $x1744 $x1744)) (~ (not $x1147) $x1747)) (~ (not $x1150) $x1751))))
+(let ((@x1710 (nnf-pos (monotonicity (refl (~ $x1101 $x1101)) (sk (~ $x1117 $x1702)) (~ $x1120 $x1705)) (~ $x1123 $x1708))))
+(let ((@x1758 (nnf-neg (nnf-neg @x1710 (~ (not $x1126) $x1708)) @x1754 (~ (not $x1153) $x1755))))
+(let (($x1671 (exists ((?v1 B_Vertex$) )(! (let ((?x1656 (fun_app$a v_b_SP_G_3$ ?v0!8)))
+(let ((?x1657 (* (- 1) ?x1656)))
+(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1)))
+(and (not (>= (+ ?x227 ?x1657) 0)) (= (+ (b_G$ (pair$ ?v1 ?v0!8)) ?x227 ?x1657) 0))))) :qid k!38))
+))
+(let ((@x1688 (nnf-neg (refl (~ $x1676 $x1676)) (nnf-neg (refl (~ $x1679 $x1679)) (~ (not $x1671) $x1682)) (~ (not (or (not (and $x1655 $x1660)) $x1671)) $x1686))))
+(let ((@x1690 (trans (sk (~ $x1126 (not (or (not (and $x1655 $x1660)) $x1671)))) @x1688 (~ $x1126 $x1686))))
+(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))))
+(let ((@x1766 (nnf-neg (nnf-neg @x1649 (~ (not $x1089) $x1647)) (nnf-neg @x1690 @x1758 (~ (not $x1156) $x1759)) (~ (not $x1159) $x1763))))
+(let ((@x1626 (nnf-pos (monotonicity (refl (~ $x1004 $x1004)) (sk (~ $x1026 $x1618)) (~ $x1029 $x1621)) (~ $x1032 $x1624))))
+(let ((@x1591 (nnf-pos (monotonicity (refl (~ $x949 $x949)) (sk (~ $x969 $x1583)) (~ $x972 $x1586)) (~ $x975 $x1589))))
+(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))))
+(let ((@x2001 (nnf-neg (nnf-neg @x1629 (~ (not $x1069) $x1627)) (nnf-neg @x1766 @x1993 (~ (not $x1366) $x1994)) (~ (not $x1369) $x1998))))
+(let (($x1550 (exists ((?v1 B_Vertex$) )(! (let ((?x1535 (v_b_SP_G_0$ ?v0!5)))
+(let ((?x1536 (* (- 1) ?x1535)))
+(let ((?x124 (v_b_SP_G_0$ ?v1)))
+(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1)))
+(and (not (>= (+ ?x124 ?x1536) 0)) $x133 (= (+ ?x124 ?x1536 (b_G$ (pair$ ?v1 ?v0!5))) 0)))))) :qid k!38))
+))
+(let ((@x1568 (nnf-neg (refl (~ $x1556 $x1556)) (nnf-neg (refl (~ $x1559 $x1559)) (~ (not $x1550) $x1562)) (~ (not (or (not (and $x1534 $x1539)) $x1550)) $x1566))))
+(let ((@x1570 (trans (sk (~ (not $x975) (not (or (not (and $x1534 $x1539)) $x1550)))) @x1568 (~ (not $x975) $x1566))))
+(let ((@x1531 (nnf-neg (nnf-pos (refl (~ $x931 $x931)) (~ $x934 $x934)) (~ (not $x937) $x934))))
+(let ((@x2009 (nnf-neg @x1531 (nnf-neg @x1570 @x2001 (~ (not $x1372) $x2002)) (~ (not $x1375) $x2006))))
+(let ((@x1504 (nnf-neg (nnf-pos (refl (~ $x906 $x906)) (~ $x909 $x909)) (~ (not $x912) $x909))))
+(let ((@x2017 (nnf-neg @x1504 (nnf-neg (sk (~ $x937 $x1522)) @x2009 (~ (not $x1378) $x2010)) (~ (not $x1381) $x2014))))
+(let ((@x1481 (nnf-neg (nnf-pos (refl (~ (>= ?x124 0) (>= ?x124 0))) (~ $x894 $x894)) (~ (not $x897) $x894))))
+(let ((@x2025 (nnf-neg @x1481 (nnf-neg (sk (~ $x912 $x1495)) @x2017 (~ (not $x1384) $x2018)) (~ (not $x1387) $x2022))))
+(let ((@x2033 (nnf-neg (refl (~ $x1466 $x1466)) (nnf-neg (sk (~ $x897 $x1472)) @x2025 (~ (not $x1390) $x2026)) (~ (not $x1393) $x2030))))
+(let ((@x2037 (mp~ (not-or-elim (mp (asserted $x344) @x1406 $x1402) (not $x1396)) (nnf-neg (refl (~ $x864 $x864)) @x2033 (~ (not $x1396) $x2034)) $x2034)))
+(let ((@x3873 (mp (mp (mp @x2037 (monotonicity @x2338 (= $x2034 $x2339)) $x2339) @x3015 $x3013) (monotonicity @x3869 (= $x3013 $x3870)) $x3870)))
+(let ((@x4276 (unit-resolution @x3873 (lemma (unit-resolution @x5800 @x3487 (hypothesis $x864) false) $x142) $x3867)))
+(let ((@x4278 (unit-resolution (def-axiom (or $x3861 $x1472 $x3855)) (unit-resolution (def-axiom (or $x3864 $x3858)) @x4276 $x3858) (lemma @x5085 $x1471) $x3855)))
+(let ((@x3051 (unit-resolution ((_ quant-inst ?v0!2) (or (not $x3495) $x2343)) @x3500 (hypothesis $x1486) false)))
+(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)))
+(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)))
+(let ((@x4357 (unit-resolution (def-axiom (or $x3825 $x3539 $x3819)) (unit-resolution (def-axiom (or $x3828 $x3822)) @x4355 $x3822) (lemma @x3189 $x3536) $x3819)))
+(let ((@x4135 (unit-resolution (def-axiom (or $x3816 $x170)) @x4357 $x170)))
+(let ((@x4159 (hypothesis $x3652)))
+(let ((@x4139 (unit-resolution (def-axiom (or $x3649 $x214)) @x4159 $x214)))
+(let ((@x4149 (unit-resolution (def-axiom (or $x3625 $x1744)) (trans (monotonicity @x4139 (= ?x242 ?x169)) @x4135 $x243) $x3625)))
+(let (($x1720 (not $x1719)))
+(let ((@x3125 (hypothesis $x2645)))
+(let (($x4264 (>= (+ ?x1716 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v1!10))) 0)))
+(let ((@x4002 (symm (hypothesis $x214) (= v_b_SP_G_1$ v_b_SP_G_3$))))
+(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)))))
+(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)))
+(let (($x5398 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v1!10))) 0)))
+(let (($x5689 (fun_app$ v_b_Visited_G_1$ ?v1!10)))
+(let (($x6142 (not $x5689)))
+(let ((?x5569 (fun_app$a v_b_SP_G_1$ ?v1!10)))
+(let ((?x5512 (fun_app$a v_b_SP_G_1$ ?v0!11)))
+(let ((?x5709 (* (- 1) ?x5512)))
+(let ((?x4184 (+ ?x1722 ?x5709 ?x5569)))
+(let (($x4211 (>= ?x4184 0)))
+(let ((?x4266 (+ ?x1729 ?x5709)))
+(let (($x4267 (<= ?x4266 0)))
+(let ((@x4273 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1729 ?x5512)) $x4267)) (symm (monotonicity @x4002 (= ?x5512 ?x1729)) (= ?x1729 ?x5512)) $x4267)))
+(let ((@x4363 ((_ th-lemma arith farkas 1 -1 -1 1) (hypothesis $x4267) (hypothesis $x4264) (hypothesis $x4211) (hypothesis (not $x2204)) false)))
+(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))))
+(let (($x4220 (or $x3573 $x6142 $x1725 $x4211)))
+(let (($x5674 (or $x6142 $x1725 (>= (+ ?x1722 ?x5569 ?x5709) 0))))
+(let (($x4221 (or $x3573 $x5674)))
+(let ((@x4210 (monotonicity (rewrite (= (+ ?x1722 ?x5569 ?x5709) ?x4184)) (= (>= (+ ?x1722 ?x5569 ?x5709) 0) $x4211))))
+(let ((@x4224 (monotonicity (monotonicity @x4210 (= $x5674 (or $x6142 $x1725 $x4211))) (= $x4221 (or $x3573 (or $x6142 $x1725 $x4211))))))
+(let ((@x4227 (trans @x4224 (rewrite (= (or $x3573 (or $x6142 $x1725 $x4211)) $x4220)) (= $x4221 $x4220))))
+(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))))
+(let (($x5857 (or $x5689 $x5398)))
+(let ((@x5652 (mp ((_ quant-inst ?v1!10) (or $x3590 $x5857)) (rewrite (= (or $x3590 $x5857) (or $x3590 $x5689 $x5398))) (or $x3590 $x5689 $x5398))))
+(let ((@x4367 (unit-resolution (unit-resolution @x5652 (hypothesis $x3585) $x5857) (unit-resolution @x4360 @x4274 $x6142) $x5398)))
+(let ((@x4362 ((_ th-lemma arith farkas -1 1 1) @x4367 @x5656 (unit-resolution (def-axiom (or $x2640 $x1720)) @x3125 $x1720) false)))
+(let ((@x4151 (unit-resolution (lemma @x4362 (or $x2640 $x3590 $x2703)) (unit-resolution (def-axiom (or $x3649 $x3585)) @x4159 $x3585) @x4139 $x2640)))
+(let ((@x4161 (unit-resolution (def-axiom (or $x3637 $x3631)) (unit-resolution (def-axiom (or $x3634 $x2645 $x3628)) @x4151 @x4149 $x3634) $x3637)))
+(let ((@x4158 (unit-resolution (def-axiom (or $x3646 $x3606 $x3640)) @x4161 (unit-resolution (def-axiom (or $x3649 $x3643)) @x4159 $x3643) $x3606)))
+(let (($x3139 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0!8))) 0)))
+(let ((?x5112 (fun_app$a v_b_SP_G_1$ ?v0!8)))
+(let ((?x5119 (* (- 1) ?x5112)))
+(let ((?x3935 (?v1!7 ?v0!8)))
+(let ((?x3976 (pair$ ?x3935 ?v0!8)))
+(let ((?x3971 (b_G$ ?x3976)))
+(let ((?x3928 (fun_app$a v_b_SP_G_1$ ?x3935)))
+(let ((?x3958 (+ ?x3928 ?x3971 ?x5119)))
+(let (($x3970 (= ?x3958 0)))
+(let (($x3980 (not $x3970)))
+(let (($x3930 (fun_app$ v_b_Visited_G_1$ ?x3935)))
+(let (($x3959 (not $x3930)))
+(let (($x3890 (>= (+ ?x3928 ?x5119) 0)))
+(let (($x4009 (or $x3890 $x3959 $x3980)))
+(let ((?x4378 (fun_app$a v_b_SP_G_3$ ?x3935)))
+(let ((?x4397 (* (- 1) ?x4378)))
+(let ((?x4601 (+ ?x3928 ?x4397)))
+(let (($x4605 (>= ?x4601 0)))
+(let ((@x4642 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x3928 ?x4378)) $x4605)) (symm (monotonicity (hypothesis $x214) (= ?x4378 ?x3928)) (= ?x3928 ?x4378)) $x4605)))
+(let ((?x4137 (+ ?x1656 ?x5119)))
+(let (($x4122 (>= ?x4137 0)))
+(let ((@x4625 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1656 ?x5112)) $x4122)) (symm (monotonicity @x4002 (= ?x5112 ?x1656)) (= ?x1656 ?x5112)) $x4122)))
+(let (($x4065 (<= ?x3958 0)))
+(let ((@x5126 (unit-resolution (def-axiom (or $x4009 $x3970)) (hypothesis (not $x4009)) $x3970)))
+(let (($x4604 (<= ?x4601 0)))
+(let ((@x5858 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x3928 ?x4378)) $x4604)) (symm (monotonicity (hypothesis $x214) (= ?x4378 ?x3928)) (= ?x3928 ?x4378)) $x4604)))
+(let (($x4121 (<= ?x4137 0)))
+(let ((@x5140 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1656 ?x5112)) $x4121)) (symm (monotonicity @x4002 (= ?x5112 ?x1656)) (= ?x1656 ?x5112)) $x4121)))
+(let (($x4058 (>= ?x3958 0)))
+(let (($x4399 (<= (+ ?x1656 ?x4397) 0)))
+(let (($x4338 (not $x4399)))
+(let ((@x4989 (unit-resolution (def-axiom (or $x4009 (not $x3890))) (hypothesis (not $x4009)) (not $x3890))))
+(let ((@x5003 (unit-resolution ((_ th-lemma arith assign-bounds -1 1 -1) (or $x4338 (not $x4122) $x3890 (not $x4605))) @x4989 @x4625 @x4642 $x4338)))
+(let (($x4758 (not $x4605)))
+(let (($x4757 (not $x4122)))
+(let (($x4898 (or $x4399 $x3600 (not $x4058) (not $x4121) (not $x4604) (not $x4065) $x4757 $x4758)))
+(let ((?x5665 (* (- 1) ?x3971)))
+(let ((?x4417 (+ ?x1656 ?x5665 ?x4397)))
+(let (($x4445 (>= ?x4417 0)))
+(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)))
+(let (($x4444 (<= ?x4417 0)))
+(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)))
+(let (($x4418 (= ?x4417 0)))
+(let (($x4428 (not $x4418)))
+(let (($x4430 (or $x4399 $x4428)))
+(let (($x4447 (or $x3600 $x4399 $x4428)))
+(let (($x4384 (>= (+ ?x4378 ?x1657) 0)))
+(let (($x4388 (or $x4384 (not (= (+ ?x4378 ?x1657 ?x3971) 0)))))
+(let (($x4432 (or $x3600 $x4388)))
+(let ((@x4414 (monotonicity (rewrite (= (+ ?x4378 ?x1657 ?x3971) (+ ?x1657 ?x3971 ?x4378))) (= (= (+ ?x4378 ?x1657 ?x3971) 0) (= (+ ?x1657 ?x3971 ?x4378) 0)))))
+(let ((@x4427 (trans @x4414 (rewrite (= (= (+ ?x1657 ?x3971 ?x4378) 0) $x4418)) (= (= (+ ?x4378 ?x1657 ?x3971) 0) $x4418))))
+(let ((@x4396 (monotonicity (rewrite (= (+ ?x4378 ?x1657) (+ ?x1657 ?x4378))) (= $x4384 (>= (+ ?x1657 ?x4378) 0)))))
+(let ((@x4406 (trans @x4396 (rewrite (= (>= (+ ?x1657 ?x4378) 0) $x4399)) (= $x4384 $x4399))))
+(let ((@x4446 (monotonicity @x4406 (monotonicity @x4427 (= (not (= (+ ?x4378 ?x1657 ?x3971) 0)) $x4428)) (= $x4388 $x4430))))
+(let ((@x4442 (trans (monotonicity @x4446 (= $x4432 (or $x3600 $x4430))) (rewrite (= (or $x3600 $x4430) $x4447)) (= $x4432 $x4447))))
+(let ((@x5041 (unit-resolution (mp ((_ quant-inst (?v1!7 ?v0!8)) $x4432) @x4442 $x4447) (hypothesis $x3595) $x4430)))
+(let ((@x4897 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x4418 (not $x4444) (not $x4445))) (unit-resolution @x5041 (hypothesis $x4338) $x4428) @x4331 @x5038 false)))
+(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)))
+(let ((@x4168 (unit-resolution (lemma @x3135 (or $x4009 $x3600 $x2703)) (unit-resolution (def-axiom (or $x3603 $x3595)) @x4158 $x3595) @x4139 $x4009)))
+(let ((@x4189 (unit-resolution (def-axiom (or $x3816 $x3576)) @x4357 $x3576)))
+(let (($x4014 (not $x4009)))
+(let (($x4042 (or $x3581 $x1654 $x3139 $x4014)))
+(let (($x3956 (<= (+ ?x5112 (* (- 1) ?x3928)) 0)))
+(let (($x3033 (or $x1654 $x3139 (not (or $x3956 $x3959 (not (= (+ ?x5112 (* (- 1) ?x3928) ?x5665) 0)))))))
+(let (($x4043 (or $x3581 $x3033)))
+(let (($x3964 (= (not (or $x3956 $x3959 (not (= (+ ?x5112 (* (- 1) ?x3928) ?x5665) 0)))) $x4014)))
+(let (($x4010 (= (or $x3956 $x3959 (not (= (+ ?x5112 (* (- 1) ?x3928) ?x5665) 0))) $x4009)))
+(let (($x5977 (= (+ ?x5112 (* (- 1) ?x3928) ?x5665) 0)))
+(let ((@x3929 (rewrite (= (+ ?x5112 (* (- 1) ?x3928) ?x5665) (+ (* (- 1) ?x3928) ?x5665 ?x5112)))))
+(let ((@x3957 (monotonicity @x3929 (= $x5977 (= (+ (* (- 1) ?x3928) ?x5665 ?x5112) 0)))))
+(let ((@x3988 (trans @x3957 (rewrite (= (= (+ (* (- 1) ?x3928) ?x5665 ?x5112) 0) $x3970)) (= $x5977 $x3970))))
+(let ((@x3898 (monotonicity (rewrite (= (+ ?x5112 (* (- 1) ?x3928)) (+ (* (- 1) ?x3928) ?x5112))) (= $x3956 (<= (+ (* (- 1) ?x3928) ?x5112) 0)))))
+(let ((@x3927 (trans @x3898 (rewrite (= (<= (+ (* (- 1) ?x3928) ?x5112) 0) $x3890)) (= $x3956 $x3890))))
+(let ((@x4011 (monotonicity (monotonicity @x3927 (monotonicity @x3988 (= (not $x5977) $x3980)) $x4010) $x3964)))
+(let ((@x4050 (monotonicity (monotonicity @x4011 (= $x3033 (or $x1654 $x3139 $x4014))) (= $x4043 (or $x3581 (or $x1654 $x3139 $x4014))))))
+(let ((@x4053 (trans @x4050 (rewrite (= (or $x3581 (or $x1654 $x3139 $x4014)) $x4042)) (= $x4043 $x4042))))
+(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))))
+(let (($x4136 (= ?x1656 ?x5112)))
+(let ((@x4235 (monotonicity (symm @x4139 (= v_b_SP_G_1$ v_b_SP_G_3$)) (= ?x5112 ?x1656))))
+(let ((@x4237 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x4136) $x4122)) (symm @x4235 $x4136) $x4122)))
+(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)))
+(let ((@x4802 (unit-resolution (def-axiom (or $x3813 $x3652 $x3807)) (lemma @x4238 $x3649) (unit-resolution (def-axiom (or $x3816 $x3810)) @x4357 $x3810) $x3807)))
+(let ((@x6739 (symm (unit-resolution (def-axiom (or $x3804 $x261)) @x4802 $x261) (= ?x260 v_b_Visited_G_2$))))
+(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))))
+(let ((@x10119 (monotonicity @x10168 (= (not (fun_app$ v_b_Visited_G_2$ ?v0!20)) $x9037))))
+(let (($x4298 (fun_app$ v_b_Visited_G_2$ ?v0!20)))
+(let (($x4299 (not $x4298)))
+(let ((?x4413 (fun_app$a v_b_SP_G_1$ ?v0!20)))
+(let ((?x4438 (* (- 1) ?x4413)))
+(let ((?x4439 (+ ?x1906 ?x4438)))
+(let (($x6002 (>= ?x4439 0)))
+(let (($x9479 (not $x6002)))
+(let ((@x9476 (hypothesis $x6002)))
+(let (($x9588 (or (not (<= (+ ?x1906 (* (- 1) (v_b_SP_G_2$ (?v1!7 ?v0!20)))) 0)) $x9479)))
+(let ((?x4661 (?v1!7 ?v0!20)))
+(let ((?x4662 (fun_app$a v_b_SP_G_1$ ?x4661)))
+(let ((?x4663 (* (- 1) ?x4662)))
+(let ((?x4664 (+ ?x4413 ?x4663)))
+(let (($x4665 (<= ?x4664 0)))
+(let ((?x4668 (pair$ ?x4661 ?v0!20)))
+(let ((?x4669 (b_G$ ?x4668)))
+(let ((?x4670 (* (- 1) ?x4669)))
+(let ((?x4671 (+ ?x4413 ?x4663 ?x4670)))
+(let (($x4672 (= ?x4671 0)))
+(let (($x4673 (not $x4672)))
+(let (($x4666 (fun_app$ v_b_Visited_G_1$ ?x4661)))
+(let (($x4667 (not $x4666)))
+(let (($x4674 (or $x4665 $x4667 $x4673)))
+(let (($x4675 (not $x4674)))
+(let (($x1884 (not $x1883)))
+(let ((@x8699 (hypothesis $x2806)))
+(let (($x7517 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0!19)))) 0)))
+(let ((?x7554 (pair$ v_b_v_G_1$ ?v0!19)))
+(let ((?x7555 (b_G$ ?x7554)))
+(let ((?x7388 (fun_app$a v_b_SP_G_1$ ?v0!19)))
+(let ((?x7461 (* (- 1) ?x7388)))
+(let (($x4944 (>= (+ ?x254 ?x7461 ?x7555) 0)))
+(let (($x8378 (or $x7517 $x4944)))
+(let ((?x7471 (+ ?x254 ?x1889 ?x7555)))
+(let (($x6876 (= ?x7471 0)))
+(let (($x8868 (not $x6876)))
+(let (($x6123 (>= ?x7471 0)))
+(let (($x8149 (not $x6123)))
+(let ((?x7512 (* (- 1) ?x7555)))
+(let ((?x9069 (+ ?x1880 ?x7512)))
+(let (($x8504 (>= ?x9069 0)))
+(let (($x6383 (= ?v1!18 v_b_v_G_1$)))
+(let (($x5168 (fun_app$ v_b_Visited_G_1$ ?v1!18)))
+(let (($x6179 (not $x5168)))
+(let (($x7401 (<= (+ ?x1888 ?x7461) 0)))
+(let ((?x5283 (b_G$ (pair$ v_b_v_G_1$ ?v0!13))))
+(let ((?x5139 (+ ?x254 ?x1805 ?x5283)))
+(let (($x4859 (= ?x5139 0)))
+(let (($x4202 (>= (+ ?x254 (* (- 1) ?x1803) ?x5283) 0)))
+(let (($x3165 (<= (+ b_Infinity$ (* (- 1) ?x5283)) 0)))
+(let (($x4930 (or $x3165 $x4202)))
+(let (($x4933 (not $x4930)))
+(let ((@x4771 (monotonicity (commutativity (= (= ?x1803 ?x1804) (= ?x1804 ?x1803))) (= (not (= ?x1803 ?x1804)) (not (= ?x1804 ?x1803))))))
+(let (($x4765 (not (= ?x1803 ?x1804))))
+(let ((@x4772 (mp (unit-resolution ((_ th-lemma arith triangle-eq) (or $x4765 $x1807)) (hypothesis $x1808) $x4765) @x4771 (not (= ?x1804 ?x1803)))))
+(let (($x4288 (= ?x1804 ?x1803)))
+(let (($x4284 (or $x4933 $x4288)))
+(let ((@x4803 (unit-resolution (def-axiom (or $x3804 $x3673)) @x4802 $x3673)))
+(let (($x4290 (or $x3678 $x4933 $x4288)))
+(let (($x4289 (or (not (or $x3165 (<= (+ ?x1803 ?x1168 (* (- 1) ?x5283)) 0))) $x4288)))
+(let (($x4291 (or $x3678 $x4289)))
+(let (($x3167 (<= (+ ?x1803 ?x1168 (* (- 1) ?x5283)) 0)))
+(let ((@x4198 (rewrite (= (+ ?x1803 ?x1168 (* (- 1) ?x5283)) (+ ?x1168 ?x1803 (* (- 1) ?x5283))))))
+(let ((@x4195 (monotonicity @x4198 (= $x3167 (<= (+ ?x1168 ?x1803 (* (- 1) ?x5283)) 0)))))
+(let ((@x5138 (trans @x4195 (rewrite (= (<= (+ ?x1168 ?x1803 (* (- 1) ?x5283)) 0) $x4202)) (= $x3167 $x4202))))
+(let ((@x4283 (monotonicity (monotonicity @x5138 (= (or $x3165 $x3167) $x4930)) (= (not (or $x3165 $x3167)) $x4933))))
+(let ((@x4294 (monotonicity (monotonicity @x4283 (= $x4289 $x4284)) (= $x4291 (or $x3678 $x4284)))))
+(let ((@x5050 (mp ((_ quant-inst ?v0!13) $x4291) (trans @x4294 (rewrite (= (or $x3678 $x4284) $x4290)) (= $x4291 $x4290)) $x4290)))
+(let ((@x4805 (unit-resolution (def-axiom (or $x4930 (not $x3165))) (unit-resolution (unit-resolution @x5050 @x4803 $x4284) @x4772 $x4933) (not $x3165))))
+(let ((@x4788 (unit-resolution (def-axiom (or $x4930 (not $x4202))) (unit-resolution (unit-resolution @x5050 @x4803 $x4284) @x4772 $x4933) (not $x4202))))
+(let (($x5127 (or $x3165 $x4202 $x4859)))
+(let ((@x4789 (unit-resolution (def-axiom (or $x3804 $x3665)) @x4802 $x3665)))
+(let (($x5129 (or $x3670 $x3165 $x4202 $x4859)))
+(let (($x4192 (or $x3165 $x3167 (= (+ ?x254 ?x5283 ?x1805) 0))))
+(let (($x5130 (or $x3670 $x4192)))
+(let ((@x4861 (monotonicity (rewrite (= (+ ?x254 ?x5283 ?x1805) ?x5139)) (= (= (+ ?x254 ?x5283 ?x1805) 0) $x4859))))
+(let ((@x5135 (monotonicity (monotonicity @x5138 @x4861 (= $x4192 $x5127)) (= $x5130 (or $x3670 $x5127)))))
+(let ((@x5160 (mp ((_ quant-inst ?v0!13) $x5130) (trans @x5135 (rewrite (= (or $x3670 $x5127) $x5129)) (= $x5130 $x5129)) $x5129)))
+(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))))
+(let ((@x4795 (unit-resolution ((_ th-lemma arith farkas 1 1) (or (<= ?x1806 0) $x1807)) (hypothesis $x1808) (<= ?x1806 0))))
+(let ((@x5162 (unit-resolution (def-axiom (or $x3801 $x1808 $x3795)) (unit-resolution (def-axiom (or $x3804 $x3798)) @x4802 $x3798) $x3798)))
+(let ((@x4711 (unit-resolution @x5162 (lemma ((_ th-lemma arith farkas 1 -1 1) @x4795 @x4788 @x4787 false) $x1807) $x3795)))
+(let ((@x4714 (unit-resolution (def-axiom (or $x3792 $x3681)) @x4711 $x3681)))
+(let (($x6395 (or $x3686 $x7401)))
+(let ((@x8489 (monotonicity (rewrite (= (+ ?x7388 ?x1889) (+ ?x1889 ?x7388))) (= (>= (+ ?x7388 ?x1889) 0) (>= (+ ?x1889 ?x7388) 0)))))
+(let ((@x7634 (trans @x8489 (rewrite (= (>= (+ ?x1889 ?x7388) 0) $x7401)) (= (>= (+ ?x7388 ?x1889) 0) $x7401))))
+(let ((@x8284 (trans (monotonicity @x7634 (= (or $x3686 (>= (+ ?x7388 ?x1889) 0)) $x6395)) (rewrite (= $x6395 $x6395)) (= (or $x3686 (>= (+ ?x7388 ?x1889) 0)) $x6395))))
+(let ((@x8710 (unit-resolution (mp ((_ quant-inst ?v0!19) (or $x3686 (>= (+ ?x7388 ?x1889) 0))) @x8284 $x6395) @x4714 $x7401)))
+(let (($x8129 (>= (+ ?x1887 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v1!18))) 0)))
+(let ((?x6950 (fun_app$a v_b_SP_G_1$ ?v1!18)))
+(let (($x6951 (= ?x1887 ?x6950)))
+(let (($x1819 (fun_app$ v_b_Visited_G_2$ ?v0!14)))
+(let (($x3393 (not $x1823)))
+(let (($x5543 (fun_app$ v_b_Visited_G_1$ ?v0!14)))
+(let (($x5064 (= ?v0!14 v_b_v_G_1$)))
+(let (($x6244 (or $x5064 $x5543)))
+(let (($x5974 (fun_app$ ?x260 ?v0!14)))
+(let (($x6373 (= $x5974 $x6244)))
+(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)))
+(= $x63 (ite (= ?v3 ?v1) ?v2 (fun_app$ ?v0 ?v3)))) :pattern ( (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v3) ) :qid k!34))
+))
+(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)))
+(= $x63 (ite (= ?v3 ?v1) ?v2 (fun_app$ ?v0 ?v3)))) :qid k!34))
+))
+(let (($x63 (fun_app$ (fun_upd$ ?3 ?2 ?1) ?0)))
+(let (($x70 (= $x63 (ite (= ?0 ?2) ?1 (fun_app$ ?3 ?0)))))
+(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)))
+(= $x63 (ite (= ?v3 ?v1) ?v2 (fun_app$ ?v0 ?v3)))) :qid k!34))
+))
+(let ((@x72 (rewrite (= (= $x63 (ite (= ?0 ?2) ?1 (fun_app$ ?3 ?0))) $x70))))
+(let ((@x1438 (mp~ (mp (asserted $x68) (quant-intro @x72 (= $x68 $x73)) $x73) (nnf-pos (refl (~ $x70 $x70)) (~ $x73 $x73)) $x73)))
+(let ((@x3468 (mp @x1438 (quant-intro (refl (= $x70 $x70)) (= $x73 $x3463)) $x3463)))
+(let (($x4134 (not $x3463)))
+(let (($x5805 (or $x4134 $x6373)))
+(let ((@x5853 (monotonicity (rewrite (= (ite $x5064 true $x5543) $x6244)) (= (= $x5974 (ite $x5064 true $x5543)) $x6373))))
+(let ((@x3152 (monotonicity @x5853 (= (or $x4134 (= $x5974 (ite $x5064 true $x5543))) $x5805))))
+(let ((@x4912 (trans @x3152 (rewrite (= $x5805 $x5805)) (= (or $x4134 (= $x5974 (ite $x5064 true $x5543))) $x5805))))
+(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)))
+(let ((@x5240 (mp (hypothesis $x1819) (symm (monotonicity @x6739 (= $x5974 $x1819)) (= $x1819 $x5974)) $x5974)))
+(let ((@x5728 (unit-resolution (def-axiom (or (not $x6373) (not $x5974) $x6244)) @x5240 (unit-resolution @x4913 @x3468 $x6373) $x6244)))
+(let ((@x7078 (hypothesis $x3393)))
+(let ((?x3063 (v_b_SP_G_2$ v_b_v_G_1$)))
+(let (($x3024 (= ?x3063 ?x254)))
+(let ((?x3076 (pair$ v_b_v_G_1$ v_b_v_G_1$)))
+(let ((?x3077 (b_G$ ?x3076)))
+(let (($x3038 (>= ?x3077 0)))
+(let (($x3080 (<= (+ b_Infinity$ (* (- 1) ?x3077)) 0)))
+(let (($x4540 (or $x3080 $x3038)))
+(let (($x6342 (= ?x3077 0)))
+(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))
+))
+(let (($x95 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (or (not (= ?v0 ?v1)) (= (b_G$ (pair$ ?v0 ?v1)) 0)) :qid k!36))
+))
+(let (($x92 (or (not (= ?1 ?0)) (= (b_G$ (pair$ ?1 ?0)) 0))))
+(let (($x89 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x80 (= ?v0 ?v1)))
+(=> $x80 (= (b_G$ (pair$ ?v0 ?v1)) 0))) :qid k!36))
+))
+(let ((@x94 (rewrite (= (=> (= ?1 ?0) (= (b_G$ (pair$ ?1 ?0)) 0)) $x92))))
+(let ((@x1443 (mp~ (mp (asserted $x89) (quant-intro @x94 (= $x89 $x95)) $x95) (nnf-pos (refl (~ $x92 $x92)) (~ $x95 $x95)) $x95)))
+(let ((@x3474 (mp @x1443 (quant-intro (refl (= $x92 $x92)) (= $x95 $x3469)) $x3469)))
+(let (($x3045 (not $x3469)))
+(let (($x6595 (or $x3045 $x6342)))
+(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)))))
+(let ((@x6587 (trans @x6585 (rewrite (= (not true) false)) (= (not (= v_b_v_G_1$ v_b_v_G_1$)) false))))
+(let ((@x6590 (monotonicity @x6587 (= (or (not (= v_b_v_G_1$ v_b_v_G_1$)) $x6342) (or false $x6342)))))
+(let ((@x6594 (trans @x6590 (rewrite (= (or false $x6342) $x6342)) (= (or (not (= v_b_v_G_1$ v_b_v_G_1$)) $x6342) $x6342))))
+(let ((@x6599 (monotonicity @x6594 (= (or $x3045 (or (not (= v_b_v_G_1$ v_b_v_G_1$)) $x6342)) $x6595))))
+(let ((@x6602 (trans @x6599 (rewrite (= $x6595 $x6595)) (= (or $x3045 (or (not (= v_b_v_G_1$ v_b_v_G_1$)) $x6342)) $x6595))))
+(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)))
+(let ((@x6616 (lemma (unit-resolution @x6603 @x3474 (hypothesis (not $x6342)) false) $x6342)))
+(let ((@x7085 (unit-resolution (def-axiom (or $x4540 (not $x3038))) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x6342) $x3038)) @x6616 $x3038) $x4540)))
+(let (($x4579 (not $x4540)))
+(let (($x4550 (or $x4579 $x3024)))
+(let (($x4556 (or $x3678 $x4579 $x3024)))
+(let (($x3874 (or (not (or $x3080 (<= (+ ?x254 ?x1168 (* (- 1) ?x3077)) 0))) $x3024)))
+(let (($x4557 (or $x3678 $x3874)))
+(let (($x3062 (<= (+ ?x254 ?x1168 (* (- 1) ?x3077)) 0)))
+(let ((@x4468 (monotonicity (rewrite (= (+ ?x254 ?x1168 (* (- 1) ?x3077)) (* (- 1) ?x3077))) (= $x3062 (<= (* (- 1) ?x3077) 0)))))
+(let ((@x4485 (trans @x4468 (rewrite (= (<= (* (- 1) ?x3077) 0) $x3038)) (= $x3062 $x3038))))
+(let ((@x4549 (monotonicity (monotonicity @x4485 (= (or $x3080 $x3062) $x4540)) (= (not (or $x3080 $x3062)) $x4579))))
+(let ((@x4561 (monotonicity (monotonicity @x4549 (= $x3874 $x4550)) (= $x4557 (or $x3678 $x4550)))))
+(let ((@x4574 (mp ((_ quant-inst v_b_v_G_1$) $x4557) (trans @x4561 (rewrite (= (or $x3678 $x4550) $x4556)) (= $x4557 $x4556)) $x4556)))
+(let ((@x7095 (trans (monotonicity (hypothesis $x5064) (= ?x1821 ?x3063)) (unit-resolution (unit-resolution @x4574 @x4803 $x4550) @x7085 $x3024) (= ?x1821 ?x254))))
+(let ((@x7096 (trans @x7095 (symm (monotonicity (hypothesis $x5064) (= ?x1822 ?x254)) (= ?x254 ?x1822)) $x1823)))
+(let ((@x6504 (unit-resolution (lemma (unit-resolution @x7078 @x7096 false) (or (not $x5064) $x1823)) @x7078 (not $x5064))))
+(let ((@x6501 (unit-resolution (def-axiom (or (not $x6244) $x5064 $x5543)) @x6504 (or (not $x6244) $x5543))))
+(let (($x6879 (>= (+ ?x254 (* (- 1) ?x1822)) 0)))
+(let (($x7105 (not $x6879)))
+(let (($x6372 (>= (+ ?x254 (* (- 1) ?x1822) (b_G$ (pair$ v_b_v_G_1$ ?v0!14))) 0)))
+(let (($x6043 (not $x6372)))
+(let (($x5623 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0!14)))) 0)))
+(let (($x6328 (or $x5623 $x6372)))
+(let (($x5555 (not $x6328)))
+(let (($x5565 (or $x3678 $x5555 $x1823)))
+(let (($x5711 (<= (+ ?x1822 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0!14)))) 0)))
+(let (($x5760 (or (not (or $x5623 $x5711)) $x1823)))
+(let (($x5490 (or $x3678 $x5760)))
+(let (($x5031 (<= (+ ?x1168 ?x1822 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0!14)))) 0)))
+(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)))))))
+(let ((@x6180 (trans (monotonicity (rewrite $x5019) (= $x5711 $x5031)) (rewrite (= $x5031 $x6372)) (= $x5711 $x6372))))
+(let ((@x5556 (monotonicity (monotonicity @x6180 (= (or $x5623 $x5711) $x6328)) (= (not (or $x5623 $x5711)) $x5555))))
+(let ((@x4918 (monotonicity (monotonicity @x5556 (= $x5760 (or $x5555 $x1823))) (= $x5490 (or $x3678 (or $x5555 $x1823))))))
+(let ((@x6362 (trans @x4918 (rewrite (= (or $x3678 (or $x5555 $x1823)) $x5565)) (= $x5490 $x5565))))
+(let ((@x6339 (unit-resolution (def-axiom (or $x6328 $x6043)) (unit-resolution (mp ((_ quant-inst ?v0!14) $x5490) @x6362 $x5565) @x4803 @x7078 $x5555) $x6043)))
+(let ((?x5617 (pair$ v_b_v_G_1$ ?v0!14)))
+(let ((?x5621 (b_G$ ?x5617)))
+(let (($x6266 (>= ?x5621 0)))
+(let ((@x6636 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x5621 0)) $x6266)) (hypothesis (not $x6266)) (not (= ?x5621 0)))))
+(let (($x6078 (= v_b_v_G_1$ ?v0!14)))
+(let (($x6076 (<= ?x5621 0)))
+(let ((@x6410 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x6266 $x6076)) (hypothesis (not $x6266)) $x6076)))
+(let (($x6080 (or $x6078 (not $x6076))))
+(let (($x3475 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x80 (= ?v0 ?v1)))
+(or $x80 (not (<= (b_G$ (pair$ ?v0 ?v1)) 0)))) :pattern ( (pair$ ?v0 ?v1) ) :qid k!37))
+))
+(let (($x116 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x80 (= ?v0 ?v1)))
+(or $x80 (not (<= (b_G$ (pair$ ?v0 ?v1)) 0)))) :qid k!37))
+))
+(let (($x80 (= ?1 ?0)))
+(let (($x113 (or $x80 (not (<= (b_G$ (pair$ ?1 ?0)) 0)))))
+(let (($x101 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x29 (pair$ ?v0 ?v1)))
+(let ((?x81 (b_G$ ?x29)))
+(let (($x98 (< 0 ?x81)))
+(=> (not (= ?v0 ?v1)) $x98)))) :qid k!37))
+))
+(let (($x106 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x29 (pair$ ?v0 ?v1)))
+(let ((?x81 (b_G$ ?x29)))
+(let (($x98 (< 0 ?x81)))
+(let (($x80 (= ?v0 ?v1)))
+(or $x80 $x98))))) :qid k!37))
+))
+(let ((?x29 (pair$ ?1 ?0)))
+(let ((?x81 (b_G$ ?x29)))
+(let (($x98 (< 0 ?x81)))
+(let ((@x115 (monotonicity (rewrite (= $x98 (not (<= ?x81 0)))) (= (or $x80 $x98) $x113))))
+(let ((@x108 (quant-intro (rewrite (= (=> (not $x80) $x98) (or $x80 $x98))) (= $x101 $x106))))
+(let ((@x121 (mp (asserted $x101) (trans @x108 (quant-intro @x115 (= $x106 $x116)) (= $x101 $x116)) $x116)))
+(let ((@x3480 (mp (mp~ @x121 (nnf-pos (refl (~ $x113 $x113)) (~ $x116 $x116)) $x116) (quant-intro (refl (= $x113 $x113)) (= $x116 $x3475)) $x3475)))
+(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)))))
+(let (($x6086 (= ?x5621 0)))
+(let (($x6096 (or (not $x6078) $x6086)))
+(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))))
+(let ((@x6993 (unit-resolution (unit-resolution @x6264 @x3474 $x6096) (unit-resolution (unit-resolution @x6389 @x3480 $x6080) @x6410 $x6078) @x6636 false)))
+(let ((@x7107 (lemma ((_ th-lemma arith farkas 1 -1 1) (hypothesis $x6266) (hypothesis $x6043) (hypothesis $x6879) false) (or (not $x6266) $x6372 $x7105))))
+(let ((@x6134 (unit-resolution (unit-resolution @x7107 (lemma @x6993 $x6266) (or $x6372 $x7105)) @x6339 $x7105)))
+(let ((@x6066 (unit-resolution (def-axiom (or $x3804 $x253)) @x4802 $x253)))
+(let ((@x6683 (unit-resolution (def-axiom (or $x3816 $x3560)) @x4357 $x3560)))
+(let (($x6034 (= (or $x3565 (or $x252 (not $x5543) $x6879)) (or $x3565 $x252 (not $x5543) $x6879))))
+(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))))
+(let ((@x6850 (unit-resolution @x6556 @x6683 @x6066 @x6134 (unit-resolution @x6501 @x5728 $x5543) false)))
+(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)))
+(let ((@x9261 (unit-resolution (def-axiom (or $x3789 $x1825 $x3783)) (unit-resolution (def-axiom (or $x3792 $x3786)) @x4711 $x3786) $x3786)))
+(let ((@x9263 (unit-resolution (def-axiom (or $x3780 $x3690)) (unit-resolution @x9261 (lemma @x5791 $x1824) $x3783) $x3690)))
+(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))))
+(let ((@x5205 (unit-resolution @x6271 @x9263 (unit-resolution (def-axiom (or $x2801 $x1878)) @x8699 $x1878) $x6951)))
+(let ((@x8621 ((_ th-lemma arith assign-bounds -1 -1 1) (or (not (>= (+ ?x1880 ?x6950 ?x7461) 0)) (not $x7401) $x1891 (not $x8129)))))
+(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)))))
+(let (($x5620 (= (or $x3573 (or $x6179 $x1883 (>= (+ ?x1880 ?x6950 ?x7461) 0))) (or $x3573 $x6179 $x1883 (>= (+ ?x1880 ?x6950 ?x7461) 0)))))
+(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)))))
+(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)))))
+(let (($x8059 (or $x6383 $x5168)))
+(let (($x4914 (fun_app$ ?x260 ?v1!18)))
+(let (($x8555 (= $x4914 $x8059)))
+(let (($x7052 (or $x4134 $x8555)))
+(let ((@x8554 (monotonicity (rewrite (= (ite $x6383 true $x5168) $x8059)) (= (= $x4914 (ite $x6383 true $x5168)) $x8555))))
+(let ((@x8280 (monotonicity @x8554 (= (or $x4134 (= $x4914 (ite $x6383 true $x5168))) $x7052))))
+(let ((@x7080 (trans @x8280 (rewrite (= $x7052 $x7052)) (= (or $x4134 (= $x4914 (ite $x6383 true $x5168))) $x7052))))
+(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)))
+(let ((@x8161 (mp (unit-resolution (def-axiom (or $x2801 $x1878)) @x8699 $x1878) (symm (monotonicity @x6739 (= $x4914 $x1878)) (= $x1878 $x4914)) $x4914)))
+(let ((@x8162 (unit-resolution (def-axiom (or (not $x8555) (not $x4914) $x8059)) @x8161 (unit-resolution @x7791 @x3468 $x8555) $x8059)))
+(let ((@x8163 (unit-resolution (def-axiom (or (not $x8059) $x6383 $x5168)) @x8162 (unit-resolution @x8192 @x8189 $x6179) $x6383)))
+(let ((@x5864 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1880 ?x7555)) $x8504)) (monotonicity (monotonicity @x8163 (= ?x1879 ?x7554)) (= ?x1880 ?x7555)) $x8504)))
+(let (($x7609 (>= (+ ?x1887 (* (- 1) ?x3063)) 0)))
+(let ((@x5835 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1887 ?x3063)) $x7609)) (monotonicity @x8163 (= ?x1887 ?x3063)) $x7609)))
+(let ((?x3064 (* (- 1) ?x3063)))
+(let ((?x3904 (+ ?x254 ?x3064)))
+(let (($x3905 (<= ?x3904 0)))
+(let (($x4587 (= ?x254 ?x3063)))
+(let ((@x8351 (mp (unit-resolution (unit-resolution @x4574 @x4803 $x4550) @x7085 $x3024) (symm (commutativity (= $x4587 $x3024)) (= $x3024 $x4587)) $x4587)))
+(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)))
+(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)))
+(let ((@x8175 (unit-resolution (def-axiom (or $x8378 (not $x7517))) (hypothesis (not $x8378)) (not $x7517))))
+(let (($x7000 (not $x4944)))
+(let ((@x8640 (unit-resolution (def-axiom (or $x8378 $x7000)) (hypothesis (not $x8378)) $x7000)))
+(let (($x6310 (or $x7517 $x4944 $x6876)))
+(let (($x7071 (or $x3670 $x7517 $x4944 $x6876)))
+(let (($x7524 (<= (+ ?x7388 ?x1168 ?x7512) 0)))
+(let (($x7589 (or $x7517 $x7524 (= (+ ?x254 ?x7555 ?x1889) 0))))
+(let (($x6768 (or $x3670 $x7589)))
+(let ((@x6946 (monotonicity (rewrite (= (+ ?x254 ?x7555 ?x1889) ?x7471)) (= (= (+ ?x254 ?x7555 ?x1889) 0) $x6876))))
+(let ((@x7308 (monotonicity (rewrite (= (+ ?x7388 ?x1168 ?x7512) (+ ?x1168 ?x7388 ?x7512))) (= $x7524 (<= (+ ?x1168 ?x7388 ?x7512) 0)))))
+(let ((@x8377 (trans @x7308 (rewrite (= (<= (+ ?x1168 ?x7388 ?x7512) 0) $x4944)) (= $x7524 $x4944))))
+(let ((@x6639 (monotonicity (monotonicity @x8377 @x6946 (= $x7589 $x6310)) (= $x6768 (or $x3670 $x6310)))))
+(let ((@x6030 (mp ((_ quant-inst ?v0!19) $x6768) (trans @x6639 (rewrite (= (or $x3670 $x6310) $x7071)) (= $x6768 $x7071)) $x7071)))
+(let ((@x8762 (unit-resolution (unit-resolution @x6030 @x4789 $x6310) @x8640 @x8175 (hypothesis $x8868) false)))
+(let ((@x8475 (unit-resolution (lemma @x8762 (or $x8378 $x6876)) (unit-resolution ((_ th-lemma arith triangle-eq) (or $x8868 $x6123)) @x6098 $x8868) $x8378)))
+(let ((@x8713 (lemma ((_ th-lemma arith farkas -1 -1 1) @x8710 (hypothesis $x8149) (hypothesis $x4944) false) (or $x7000 $x6123))))
+(let ((@x7808 (unit-resolution (def-axiom (or (not $x8378) $x7517 $x4944)) (unit-resolution @x8713 @x6098 $x7000) @x8475 $x7517)))
+(let ((@x7807 ((_ th-lemma arith farkas 1 -1 1) @x5864 @x7808 (unit-resolution (def-axiom (or $x2801 $x1884)) @x8699 $x1884) false)))
+(let (($x3381 (not $x1864)))
+(let ((@x6859 (hypothesis $x2760)))
+(let ((@x6910 (unit-resolution (def-axiom (or $x2755 $x3381)) @x6859 $x3381)))
+(let (($x6437 (<= (+ ?x254 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v1!16))) 0)))
+(let (($x4947 (fun_app$ v_b_Visited_G_1$ ?v1!16)))
+(let (($x6336 (= ?v1!16 v_b_v_G_1$)))
+(let (($x8534 (or $x6336 $x4947)))
+(let (($x6263 (fun_app$ ?x260 ?v1!16)))
+(let (($x6346 (= $x6263 $x8534)))
+(let (($x8582 (or $x4134 $x6346)))
+(let ((@x8309 (monotonicity (rewrite (= (ite $x6336 true $x4947) $x8534)) (= (= $x6263 (ite $x6336 true $x4947)) $x6346))))
+(let ((@x8586 (monotonicity @x8309 (= (or $x4134 (= $x6263 (ite $x6336 true $x4947))) $x8582))))
+(let ((@x8591 (trans @x8586 (rewrite (= $x8582 $x8582)) (= (or $x4134 (= $x6263 (ite $x6336 true $x4947))) $x8582))))
+(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)))
+(let ((@x7062 (monotonicity (symm (monotonicity @x6739 (= $x6263 $x1855)) (= $x1855 $x6263)) (= (not $x1855) (not $x6263)))))
+(let ((@x7109 (mp (unit-resolution (def-axiom (or $x2755 (not $x1855))) @x6859 (not $x1855)) @x7062 (not $x6263))))
+(let ((@x7053 (unit-resolution (def-axiom (or (not $x6346) $x6263 (not $x8534))) @x7109 (unit-resolution @x8592 @x3468 $x6346) (not $x8534))))
+(let (($x7664 (or $x4947 $x6437)))
+(let ((@x7108 (unit-resolution (def-axiom (or $x3804 $x3655)) @x4802 $x3655)))
+(let (($x6930 (or $x3660 $x4947 $x6437)))
+(let (($x7189 (>= (+ (fun_app$a v_b_SP_G_1$ ?v1!16) ?x1168) 0)))
+(let (($x7192 (or $x4947 $x7189)))
+(let (($x7392 (or $x3660 $x7192)))
+(let ((@x6696 (rewrite (= (>= (+ ?x1168 (fun_app$a v_b_SP_G_1$ ?v1!16)) 0) $x6437))))
+(let (($x7657 (= (+ (fun_app$a v_b_SP_G_1$ ?v1!16) ?x1168) (+ ?x1168 (fun_app$a v_b_SP_G_1$ ?v1!16)))))
+(let ((@x6394 (monotonicity (rewrite $x7657) (= $x7189 (>= (+ ?x1168 (fun_app$a v_b_SP_G_1$ ?v1!16)) 0)))))
+(let ((@x7789 (monotonicity (monotonicity (trans @x6394 @x6696 (= $x7189 $x6437)) (= $x7192 $x7664)) (= $x7392 (or $x3660 $x7664)))))
+(let ((@x7788 (mp ((_ quant-inst ?v1!16) $x7392) (trans @x7789 (rewrite (= (or $x3660 $x7664) $x6930)) (= $x7392 $x6930)) $x6930)))
+(let ((@x7110 (unit-resolution (unit-resolution @x7788 @x7108 $x7664) (unit-resolution (def-axiom (or $x8534 (not $x4947))) @x7053 (not $x4947)) $x6437)))
+(let (($x6906 (<= (+ (v_b_SP_G_2$ ?v0!17) (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0!17))) 0)))
+(let (($x7394 (or $x3686 $x6906)))
+(let (($x6869 (>= (+ (fun_app$a v_b_SP_G_1$ ?v0!17) (* (- 1) (v_b_SP_G_2$ ?v0!17))) 0)))
+(let (($x7794 (>= (+ (* (- 1) (v_b_SP_G_2$ ?v0!17)) (fun_app$a v_b_SP_G_1$ ?v0!17)) 0)))
+(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)))))
+(let ((@x6937 (trans (monotonicity (rewrite $x7505) (= $x6869 $x7794)) (rewrite (= $x7794 $x6906)) (= $x6869 $x6906))))
+(let ((@x7419 (trans (monotonicity @x6937 (= (or $x3686 $x6869) $x7394)) (rewrite (= $x7394 $x7394)) (= (or $x3686 $x6869) $x7394))))
+(let (($x6920 (>= (+ (v_b_SP_G_2$ ?v1!16) (* (- 1) (fun_app$a v_b_SP_G_1$ ?v1!16))) 0)))
+(let ((?x6958 (fun_app$a v_b_SP_G_1$ ?v1!16)))
+(let ((?x1860 (v_b_SP_G_2$ ?v1!16)))
+(let (($x6841 (= ?x1860 ?x6958)))
+(let (($x7027 (>= (+ ?x254 (b_G$ (pair$ v_b_v_G_1$ ?v1!16)) (* (- 1) ?x6958)) 0)))
+(let (($x6231 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v1!16)))) 0)))
+(let (($x7455 (or $x6231 $x7027)))
+(let ((?x6824 (pair$ v_b_v_G_1$ ?v1!16)))
+(let ((?x6825 (b_G$ ?x6824)))
+(let ((?x6938 (* (- 1) ?x1860)))
+(let ((?x6929 (+ ?x254 ?x6938 ?x6825)))
+(let (($x7553 (= ?x6929 0)))
+(let (($x7206 (not $x7553)))
+(let (($x6067 (<= ?x6929 0)))
+(let (($x6919 (not $x6067)))
+(let (($x6631 (fun_app$ v_b_Visited_G_1$ ?v0!17)))
+(let (($x6844 (= ?v0!17 v_b_v_G_1$)))
+(let (($x6265 (or $x6844 $x6631)))
+(let (($x6895 (fun_app$ ?x260 ?v0!17)))
+(let (($x6665 (= $x6895 $x6265)))
+(let (($x5717 (or $x4134 $x6665)))
+(let ((@x6990 (monotonicity (rewrite (= (ite $x6844 true $x6631) $x6265)) (= (= $x6895 (ite $x6844 true $x6631)) $x6665))))
+(let ((@x7528 (monotonicity @x6990 (= (or $x4134 (= $x6895 (ite $x6844 true $x6631))) $x5717))))
+(let ((@x7133 (trans @x7528 (rewrite (= $x5717 $x5717)) (= (or $x4134 (= $x6895 (ite $x6844 true $x6631))) $x5717))))
+(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)))
+(let ((@x7214 (mp (unit-resolution (def-axiom (or $x2755 $x1857)) @x6859 $x1857) (symm (monotonicity @x6739 (= $x6895 $x1857)) (= $x1857 $x6895)) $x6895)))
+(let ((@x7215 (unit-resolution (def-axiom (or (not $x6665) (not $x6895) $x6265)) @x7214 (unit-resolution @x7043 @x3468 $x6665) $x6265)))
+(let (($x7558 (<= ?x6825 0)))
+(let (($x7559 (not $x7558)))
+(let ((@x6953 (symm (commutativity (= (= v_b_v_G_1$ ?v1!16) $x6336)) (= $x6336 (= v_b_v_G_1$ ?v1!16)))))
+(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)))))
+(let (($x7557 (= v_b_v_G_1$ ?v1!16)))
+(let (($x7560 (or $x7557 $x7559)))
+(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))))
+(let ((@x6161 (hypothesis $x3381)))
+(let ((?x6285 (fun_app$a v_b_SP_G_1$ ?v0!17)))
+(let ((?x6904 (* (- 1) ?x6285)))
+(let ((?x7131 (+ ?x254 ?x6904)))
+(let (($x6000 (>= ?x7131 0)))
+(let (($x6858 (not $x6844)))
+(let ((?x1861 (v_b_SP_G_2$ ?v0!17)))
+(let (($x6188 (= ?x1861 ?x3063)))
+(let (($x5847 (not $x6188)))
+(let ((?x5089 (+ ?x1861 ?x3064)))
+(let (($x5848 (<= ?x5089 0)))
+(let (($x6925 (not $x5848)))
+(let ((@x6267 (hypothesis $x6067)))
+(let (($x3906 (>= ?x3904 0)))
+(let (($x4341 (or $x3686 $x3906)))
+(let ((@x4906 ((_ quant-inst v_b_v_G_1$) $x4341)))
+(let ((@x6160 (unit-resolution @x4906 @x4714 $x3906)))
+(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))))
+(let ((@x6928 (unit-resolution @x6971 @x6267 @x6161 (unit-resolution (unit-resolution @x5992 @x3480 $x7560) @x6769 $x7559) $x6925)))
+(let ((@x6532 ((_ th-lemma arith triangle-eq) (or $x5847 $x5848))))
+(let ((@x5114 (unit-resolution (hypothesis $x5847) (monotonicity (hypothesis $x6844) $x6188) false)))
+(let ((@x5115 (lemma @x5114 (or $x6858 $x6188))))
+(let ((@x8623 (def-axiom (or (not $x6265) $x6844 $x6631))))
+(let ((@x4834 (unit-resolution @x8623 (unit-resolution @x5115 (unit-resolution @x6532 @x6928 $x5847) $x6858) (hypothesis $x6265) $x6631)))
+(let (($x5475 (= (or $x3565 (or $x252 (not $x6631) $x6000)) (or $x3565 $x252 (not $x6631) $x6000))))
+(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))))
+(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)))
+(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)))
+(let ((@x6357 (unit-resolution (def-axiom (or $x7455 (not $x6231))) (hypothesis (not $x7455)) (not $x6231))))
+(let ((@x6426 (unit-resolution (def-axiom (or $x7455 (not $x7027))) (hypothesis (not $x7455)) (not $x7027))))
+(let (($x7603 (or $x6231 $x7027 $x7553)))
+(let (($x5113 (or $x3670 $x6231 $x7027 $x7553)))
+(let (($x6826 (<= (+ ?x6958 ?x1168 (* (- 1) ?x6825)) 0)))
+(let (($x6927 (or $x6231 $x6826 (= (+ ?x254 ?x6825 ?x6938) 0))))
+(let (($x7688 (or $x3670 $x6927)))
+(let ((@x7602 (monotonicity (rewrite (= (+ ?x254 ?x6825 ?x6938) ?x6929)) (= (= (+ ?x254 ?x6825 ?x6938) 0) $x7553))))
+(let ((@x7947 (rewrite (= (+ ?x6958 ?x1168 (* (- 1) ?x6825)) (+ ?x1168 (* (- 1) ?x6825) ?x6958)))))
+(let ((@x7737 (monotonicity @x7947 (= $x6826 (<= (+ ?x1168 (* (- 1) ?x6825) ?x6958) 0)))))
+(let ((@x8385 (trans @x7737 (rewrite (= (<= (+ ?x1168 (* (- 1) ?x6825) ?x6958) 0) $x7027)) (= $x6826 $x7027))))
+(let ((@x6604 (monotonicity (monotonicity @x8385 @x7602 (= $x6927 $x7603)) (= $x7688 (or $x3670 $x7603)))))
+(let ((@x7391 (mp ((_ quant-inst ?v1!16) $x7688) (trans @x6604 (rewrite (= (or $x3670 $x7603) $x5113)) (= $x7688 $x5113)) $x5113)))
+(let ((@x4197 (unit-resolution (unit-resolution @x7391 @x4789 $x7603) @x6426 @x6357 (hypothesis $x7206) false)))
+(let ((@x7250 (unit-resolution (lemma @x4197 (or $x7455 $x7553)) (unit-resolution ((_ th-lemma arith triangle-eq) (or $x7206 $x6067)) @x7217 $x7206) $x7455)))
+(let (($x7639 (not $x7455)))
+(let (($x7673 (or $x7639 $x6841)))
+(let (($x7669 (or $x3678 $x7639 $x6841)))
+(let ((@x7671 (monotonicity (monotonicity @x8385 (= (or $x6231 $x6826) $x7455)) (= (not (or $x6231 $x6826)) $x7639))))
+(let ((@x7677 (monotonicity (monotonicity @x7671 (= (or (not (or $x6231 $x6826)) $x6841) $x7673)) (= (or $x3678 (or (not (or $x6231 $x6826)) $x6841)) (or $x3678 $x7673)))))
+(let ((@x7387 (trans @x7677 (rewrite (= (or $x3678 $x7673) $x7669)) (= (or $x3678 (or (not (or $x6231 $x6826)) $x6841)) $x7669))))
+(let ((@x7252 (unit-resolution (mp ((_ quant-inst ?v1!16) (or $x3678 (or (not (or $x6231 $x6826)) $x6841))) @x7387 $x7669) @x4803 $x7673)))
+(let ((@x7315 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x6841) $x6920)) (unit-resolution @x7252 @x7250 $x6841) $x6920)))
+(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))))
+(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)))
+(let ((@x7364 (unit-resolution @x8623 (unit-resolution @x5115 (unit-resolution @x6532 @x7351 $x5847) $x6858) @x7215 $x6631)))
+(let (($x6106 (not (<= (b_G$ (pair$ v_b_v_G_1$ ?v0!15)) 0))))
+(let (($x5808 (= v_b_v_G_1$ ?v0!15)))
+(let (($x5324 (not $x5808)))
+(let ((@x6624 (symm (commutativity (= $x5808 (= ?v0!15 v_b_v_G_1$))) (= (= ?v0!15 v_b_v_G_1$) $x5808))))
+(let (($x6044 (= ?v0!15 v_b_v_G_1$)))
+(let (($x6867 (not $x6044)))
+(let (($x5521 (fun_app$ v_b_Visited_G_1$ ?v0!15)))
+(let (($x6849 (or $x6044 $x5521)))
+(let (($x6408 (fun_app$ ?x260 ?v0!15)))
+(let (($x6494 (= $x6408 $x6849)))
+(let (($x5683 (or $x4134 $x6494)))
+(let ((@x6072 (monotonicity (rewrite (= (ite $x6044 true $x5521) $x6849)) (= (= $x6408 (ite $x6044 true $x5521)) $x6494))))
+(let ((@x6772 (monotonicity @x6072 (= (or $x4134 (= $x6408 (ite $x6044 true $x5521))) $x5683))))
+(let ((@x5812 (trans @x6772 (rewrite (= $x5683 $x5683)) (= (or $x4134 (= $x6408 (ite $x6044 true $x5521))) $x5683))))
+(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)))
+(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))))
+(let ((@x6719 (monotonicity @x6715 (= (not (fun_app$ v_b_Visited_G_2$ ?v0!15)) (not $x6408)))))
+(let (($x6151 (fun_app$ v_b_Visited_G_2$ ?v0!15)))
+(let (($x6527 (not $x6151)))
+(let ((@x6833 (hypothesis $x1843)))
+(let (($x6836 (or (not (>= (+ ?x1841 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0!15))) 0)) $x1842)))
+(let (($x6830 (>= (+ ?x1841 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0!15))) 0)))
+(let ((?x6459 (fun_app$a v_b_SP_G_1$ ?v0!15)))
+(let (($x6119 (>= ?x6459 0)))
+(let ((@x4713 (unit-resolution (def-axiom (or $x3816 $x3551)) @x4357 $x3551)))
+(let ((@x6834 ((_ th-lemma arith farkas -1 1 1) @x6833 (unit-resolution ((_ quant-inst ?v0!15) (or $x3556 $x6119)) @x4713 $x6119) (hypothesis $x6830) false)))
+(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)))))
+(let (($x6618 (= (or $x3695 (or $x6527 (= ?x1841 ?x6459))) (or $x3695 $x6527 (= ?x1841 ?x6459)))))
+(let ((@x6610 (mp ((_ quant-inst ?v0!15) (or $x3695 (or $x6527 (= ?x1841 ?x6459)))) (rewrite $x6618) (or $x3695 $x6527 (= ?x1841 ?x6459)))))
+(let ((@x6720 (mp (unit-resolution @x6610 (hypothesis $x3690) @x6656 $x6527) @x6719 (not $x6408))))
+(let ((@x6725 (unit-resolution (def-axiom (or (not $x6494) $x6408 (not $x6849))) @x6720 (unit-resolution @x5804 @x3468 $x6494) (not $x6849))))
+(let ((@x6488 (mp (unit-resolution (def-axiom (or $x6849 $x6867)) @x6725 $x6867) (monotonicity @x6624 (= $x6867 $x5324)) $x5324)))
+(let (($x6164 (or $x5808 $x6106)))
+(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))))
+(let (($x3157 (>= ?x169 0)))
+(let ((?x4056 (+ ?x169 ?x1168)))
+(let (($x6181 (<= ?x4056 0)))
+(let (($x3907 (= v_b_v_G_1$ b_Source$)))
+(let ((?x3908 (?v1!7 v_b_v_G_1$)))
+(let ((?x3915 (pair$ ?x3908 v_b_v_G_1$)))
+(let ((?x3916 (b_G$ ?x3915)))
+(let ((?x3917 (* (- 1) ?x3916)))
+(let ((?x3909 (fun_app$a v_b_SP_G_1$ ?x3908)))
+(let ((?x3910 (* (- 1) ?x3909)))
+(let ((?x3918 (+ ?x254 ?x3910 ?x3917)))
+(let (($x3919 (= ?x3918 0)))
+(let (($x3913 (fun_app$ v_b_Visited_G_1$ ?x3908)))
+(let (($x3914 (not $x3913)))
+(let ((?x3911 (+ ?x254 ?x3910)))
+(let (($x3912 (<= ?x3911 0)))
+(let (($x3921 (or $x3912 $x3914 (not $x3919))))
+(let (($x4342 (>= ?x3911 0)))
+(let (($x6807 (not $x4342)))
+(let ((@x6790 (hypothesis $x4342)))
+(let (($x5838 (>= ?x3909 0)))
+(let ((?x6528 (pair$ v_b_v_G_1$ ?v0!15)))
+(let ((?x6529 (b_G$ ?x6528)))
+(let ((?x6364 (* (- 1) ?x1841)))
+(let ((?x5981 (+ ?x254 ?x6364 ?x6529)))
+(let (($x6866 (<= ?x5981 0)))
+(let (($x6554 (= ?x5981 0)))
+(let (($x5936 (>= (+ ?x254 (* (- 1) ?x6459) ?x6529) 0)))
+(let (($x6303 (<= (+ b_Infinity$ (* (- 1) ?x6529)) 0)))
+(let (($x3933 (or $x6303 $x5936)))
+(let (($x6288 (not $x3933)))
+(let (($x6486 (= ?x1841 ?x6459)))
+(let (($x6685 (or $x3678 $x6288 $x6486)))
+(let (($x6462 (or (not (or $x6303 (<= (+ ?x6459 ?x1168 (* (- 1) ?x6529)) 0))) $x6486)))
+(let (($x6686 (or $x3678 $x6462)))
+(let (($x5681 (<= (+ ?x6459 ?x1168 (* (- 1) ?x6529)) 0)))
+(let ((@x3990 (rewrite (= (+ ?x6459 ?x1168 (* (- 1) ?x6529)) (+ ?x1168 ?x6459 (* (- 1) ?x6529))))))
+(let ((@x4138 (monotonicity @x3990 (= $x5681 (<= (+ ?x1168 ?x6459 (* (- 1) ?x6529)) 0)))))
+(let ((@x3932 (trans @x4138 (rewrite (= (<= (+ ?x1168 ?x6459 (* (- 1) ?x6529)) 0) $x5936)) (= $x5681 $x5936))))
+(let ((@x6693 (monotonicity (monotonicity @x3932 (= (or $x6303 $x5681) $x3933)) (= (not (or $x6303 $x5681)) $x6288))))
+(let ((@x6509 (monotonicity (monotonicity @x6693 (= $x6462 (or $x6288 $x6486))) (= $x6686 (or $x3678 (or $x6288 $x6486))))))
+(let ((@x5868 (trans @x6509 (rewrite (= (or $x3678 (or $x6288 $x6486)) $x6685)) (= $x6686 $x6685))))
+(let ((@x6885 (unit-resolution (def-axiom (or $x3933 (not $x6303))) (hypothesis $x6288) (not $x6303))))
+(let ((@x6886 (unit-resolution (def-axiom (or $x3933 (not $x5936))) (hypothesis $x6288) (not $x5936))))
+(let (($x4983 (or $x6303 $x5936 $x6554)))
+(let (($x3903 (or $x3670 $x6303 $x5936 $x6554)))
+(let (($x5258 (or $x6303 $x5681 (= (+ ?x254 ?x6529 ?x6364) 0))))
+(let (($x4854 (or $x3670 $x5258)))
+(let ((@x4987 (monotonicity (rewrite (= (+ ?x254 ?x6529 ?x6364) ?x5981)) (= (= (+ ?x254 ?x6529 ?x6364) 0) $x6554))))
+(let ((@x5496 (monotonicity (monotonicity @x3932 @x4987 (= $x5258 $x4983)) (= $x4854 (or $x3670 $x4983)))))
+(let ((@x5069 (mp ((_ quant-inst ?v0!15) $x4854) (trans @x5496 (rewrite (= (or $x3670 $x4983) $x3903)) (= $x4854 $x3903)) $x3903)))
+(let ((@x6888 (unit-resolution (unit-resolution @x5069 @x4789 $x4983) @x6886 @x6885 (hypothesis (not $x6554)) false)))
+(let ((@x6099 (unit-resolution (lemma @x6888 (or $x3933 $x6554)) (unit-resolution (mp ((_ quant-inst ?v0!15) $x6686) @x5868 $x6685) @x4803 @x6656 $x6288) $x6554)))
+(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)))
+(let ((@x6225 (unit-resolution (lemma @x6871 (or $x3695 $x1842 $x6807)) (hypothesis $x3690) @x6833 $x6807)))
+(let ((@x3174 (def-axiom (or $x3921 (not $x3912)))))
+(let ((@x6645 (unit-resolution @x3174 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x4342 $x3912)) @x6225 $x3912) $x3921)))
+(let (($x3922 (not $x3921)))
+(let (($x4599 (or $x3581 $x3907 $x1208 $x3922)))
+(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)))
+(let ((@x6649 (unit-resolution @x4617 @x4189 (unit-resolution (def-axiom (or $x3804 $x1209)) @x4802 $x1209) (or $x3907 $x3922))))
+(let ((@x5588 (symm (monotonicity (unit-resolution @x6649 @x6645 $x3907) (= ?x254 ?x169)) (= ?x169 ?x254))))
+(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)))
+(let ((@x8742 (unit-resolution (def-axiom (or $x3780 $x3774)) (unit-resolution @x9261 (lemma @x5791 $x1824) $x3783) $x3774)))
+(let (($x4076 (= ?x291 ?x169)))
+(let (($x4073 (<= (+ ?x169 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ b_Source$)))) 0)))
+(let (($x4071 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ b_Source$)))) 0)))
+(let (($x4074 (or $x4071 $x4073)))
+(let (($x3924 (>= ?x254 0)))
+(let (($x4636 (or $x3556 $x3924)))
+(let ((@x4637 ((_ quant-inst v_b_v_G_1$) $x4636)))
+(let (($x4075 (not $x4074)))
+(let ((@x5775 (hypothesis $x4075)))
+(let ((?x4061 (pair$ v_b_v_G_1$ b_Source$)))
+(let ((?x4062 (b_G$ ?x4061)))
+(let (($x5863 (>= ?x4062 0)))
+(let (($x5333 (= ?x4062 0)))
+(let (($x5329 (<= ?x4062 0)))
+(let (($x4173 (<= ?x291 0)))
+(let ((?x4078 (* (- 1) ?x291)))
+(let ((?x4144 (+ ?x169 ?x4078)))
+(let (($x4145 (>= ?x4144 0)))
+(let (($x4905 (or $x3686 $x4145)))
+(let ((@x5229 ((_ quant-inst b_Source$) $x4905)))
+(let (($x3158 (<= ?x169 0)))
+(let ((@x4838 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x2947 $x3158)) @x4135 $x3158)))
+(let ((@x4827 (unit-resolution ((_ th-lemma arith assign-bounds -1 1) (or $x4173 (not $x3158) (not $x4145))) @x4838 (unit-resolution @x5229 @x4714 $x4145) $x4173)))
+(let ((?x4096 (+ ?x254 ?x4078 ?x4062)))
+(let (($x4116 (<= ?x4096 0)))
+(let (($x4099 (= ?x4096 0)))
+(let (($x4102 (or $x4071 $x4073 $x4099)))
+(let (($x4105 (or $x3670 $x4071 $x4073 $x4099)))
+(let (($x4095 (or $x4071 $x4073 (= (+ ?x254 ?x4062 ?x4078) 0))))
+(let (($x4106 (or $x3670 $x4095)))
+(let ((@x4101 (monotonicity (rewrite (= (+ ?x254 ?x4062 ?x4078) ?x4096)) (= (= (+ ?x254 ?x4062 ?x4078) 0) $x4099))))
+(let ((@x4110 (monotonicity (monotonicity @x4101 (= $x4095 $x4102)) (= $x4106 (or $x3670 $x4102)))))
+(let ((@x4115 (mp ((_ quant-inst b_Source$) $x4106) (trans @x4110 (rewrite (= (or $x3670 $x4102) $x4105)) (= $x4106 $x4105)) $x4105)))
+(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)))
+(let ((@x4831 (unit-resolution (lemma @x5780 (or $x4074 $x4099 $x3670)) @x4789 (or $x4074 $x4099))))
+(let ((@x4846 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x4099) $x4116)) (unit-resolution @x4831 @x5775 $x4099) $x4116)))
+(let ((@x5939 ((_ th-lemma arith farkas -1 1 -1 1) (hypothesis $x3924) (hypothesis $x4173) (hypothesis (not $x5329)) (hypothesis $x4116) false)))
+(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)))))
+(let (($x5274 (= (or (not $x3475) (or $x3907 (not $x5329))) (or (not $x3475) $x3907 (not $x5329)))))
+(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)))))
+(let ((@x5099 (rewrite (= (or $x3045 (or (not $x3907) $x5333)) (or $x3045 (not $x3907) $x5333)))))
+(let ((@x5081 (mp ((_ quant-inst v_b_v_G_1$ b_Source$) (or $x3045 (or (not $x3907) $x5333))) @x5099 (or $x3045 (not $x3907) $x5333))))
+(let ((@x4868 (unit-resolution @x5081 @x3474 (unit-resolution @x5275 @x3480 (unit-resolution @x4867 @x4846 @x4827 $x5329) $x3907) $x5333)))
+(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)))
+(let (($x4077 (or $x4075 $x4076)))
+(let (($x5055 (or $x3678 $x4075 $x4076)))
+(let ((@x5303 (mp ((_ quant-inst b_Source$) (or $x3678 $x4077)) (rewrite (= (or $x3678 $x4077) $x5055)) $x5055)))
+(let ((@x8878 (unit-resolution (unit-resolution @x5303 @x4803 $x4077) (lemma @x4872 $x4074) $x4076)))
+(let ((@x9287 (unit-resolution (def-axiom (or $x3777 $x768 $x3771)) (mp @x8878 (monotonicity @x4135 (= $x4076 $x292)) $x292) (or $x3777 $x3771))))
+(let ((@x8755 (unit-resolution (def-axiom (or $x3768 $x3762)) (unit-resolution @x9287 @x8742 $x3771) $x3762)))
+(let ((@x8979 (unit-resolution (def-axiom (or $x3765 $x1843 $x3759)) @x8755 (unit-resolution (lemma @x5241 (or $x3695 $x1842)) @x9263 $x1842) $x3759)))
+(let ((@x9416 (unit-resolution (def-axiom (or $x3753 $x2760 $x3747)) (unit-resolution (def-axiom (or $x3756 $x3750)) @x8979 $x3750) $x3750)))
+(let ((@x9452 (unit-resolution @x9416 (lemma (unit-resolution @x5735 @x6683 @x6066 @x7364 @x7323 false) $x2755) $x3747)))
+(let ((@x9454 (unit-resolution (def-axiom (or $x3741 $x2806 $x3735)) (unit-resolution (def-axiom (or $x3744 $x3738)) @x9452 $x3738) $x3738)))
+(let ((@x9455 (unit-resolution @x9454 (lemma @x7807 $x2801) $x3735)))
+(let ((@x9475 (unit-resolution (def-axiom (or $x3732 $x1910)) @x9455 $x1910)))
+(let ((@x9478 ((_ th-lemma arith farkas -1 1 1) (hypothesis (<= (+ b_Infinity$ ?x4438) 0)) @x9476 @x9475 false)))
+(let ((@x9241 (unit-resolution (lemma @x9478 (or $x9479 (not (<= (+ b_Infinity$ ?x4438) 0)))) @x9476 (not (<= (+ b_Infinity$ ?x4438) 0)))))
+(let (($x4660 (<= (+ b_Infinity$ ?x4438) 0)))
+(let (($x8499 (or $x3581 $x1904 $x4660 $x4675)))
+(let ((@x7305 (mp ((_ quant-inst ?v0!20) (or $x3581 (or $x1904 $x4660 $x4675))) (rewrite (= (or $x3581 (or $x1904 $x4660 $x4675)) $x8499)) $x8499)))
+(let ((@x9599 (unit-resolution @x7305 @x4189 (unit-resolution (def-axiom (or $x3732 $x1905)) @x9455 $x1905) (or $x4660 $x4675))))
+(let ((@x9582 (unit-resolution @x9599 @x9241 $x4675)))
+(let ((?x4717 (v_b_SP_G_2$ ?x4661)))
+(let ((?x4720 (* (- 1) ?x4717)))
+(let ((?x4721 (+ ?x4662 ?x4720)))
+(let (($x4728 (>= ?x4721 0)))
+(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)))
+(let ((@x8898 (unit-resolution (lemma @x9586 $x9588) @x9476 (not (<= (+ ?x1906 ?x4720) 0)))))
+(let ((?x7341 (+ ?x1906 ?x4670 ?x4720)))
+(let (($x7121 (= ?x7341 0)))
+(let (($x5719 (<= ?x7341 0)))
+(let (($x4844 (<= (+ b_Infinity$ ?x4670) 0)))
+(let (($x8387 (not $x4844)))
+(let (($x7025 (>= ?x4671 0)))
+(let ((@x8158 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x4673 $x7025)) (unit-resolution (def-axiom (or $x4674 $x4672)) @x9582 $x4672) $x7025)))
+(let (($x4825 (>= ?x4662 0)))
+(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))))
+(let ((@x8874 (unit-resolution @x8897 (unit-resolution ((_ quant-inst (?v1!7 ?v0!20)) (or $x3556 $x4825)) @x4713 $x4825) @x9476 @x8158 $x8387)))
+(let (($x4709 (fun_app$ v_b_Visited_G_2$ ?x4661)))
+(let ((@x6057 (monotonicity (symm (hypothesis $x261) (= ?x260 v_b_Visited_G_2$)) (= (fun_app$ ?x260 ?x4661) $x4709))))
+(let ((@x6061 (monotonicity (symm @x6057 (= $x4709 (fun_app$ ?x260 ?x4661))) (= (not $x4709) (not (fun_app$ ?x260 ?x4661))))))
+(let (($x6003 (fun_app$ ?x260 ?x4661)))
+(let (($x6010 (= ?x4661 v_b_v_G_1$)))
+(let (($x6013 (or $x6010 $x4666)))
+(let (($x6016 (= $x6003 $x6013)))
+(let (($x6019 (or $x4134 $x6016)))
+(let ((@x6018 (monotonicity (rewrite (= (ite $x6010 true $x4666) $x6013)) (= (= $x6003 (ite $x6010 true $x4666)) $x6016))))
+(let ((@x6023 (monotonicity @x6018 (= (or $x4134 (= $x6003 (ite $x6010 true $x4666))) $x6019))))
+(let ((@x6026 (trans @x6023 (rewrite (= $x6019 $x6019)) (= (or $x4134 (= $x6003 (ite $x6010 true $x4666))) $x6019))))
+(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)))
+(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))))
+(let ((@x6063 (unit-resolution (unit-resolution @x6050 (unit-resolution @x6027 @x3468 $x6016) $x6003) (mp (hypothesis (not $x4709)) @x6061 (not $x6003)) false)))
+(let ((@x8957 (unit-resolution (lemma @x6063 (or $x4709 $x2930 $x4667)) (unit-resolution (def-axiom (or $x3804 $x261)) @x4802 $x261) (or $x4709 $x4667))))
+(let ((@x8892 (unit-resolution @x8957 (unit-resolution (def-axiom (or $x4674 $x4666)) @x9582 $x4666) $x4709)))
+(let (($x4710 (not $x4709)))
+(let (($x6183 (or $x3720 $x4710 $x4844 $x5719)))
+(let (($x4848 (>= (+ ?x4669 ?x4717 ?x1907) 0)))
+(let (($x4849 (or $x4710 $x4844 $x4848)))
+(let (($x7891 (or $x3720 $x4849)))
+(let ((@x7340 (monotonicity (rewrite (= (+ ?x4669 ?x4717 ?x1907) (+ ?x1907 ?x4669 ?x4717))) (= $x4848 (>= (+ ?x1907 ?x4669 ?x4717) 0)))))
+(let ((@x7415 (trans @x7340 (rewrite (= (>= (+ ?x1907 ?x4669 ?x4717) 0) $x5719)) (= $x4848 $x5719))))
+(let ((@x7922 (monotonicity (monotonicity @x7415 (= $x4849 (or $x4710 $x4844 $x5719))) (= $x7891 (or $x3720 (or $x4710 $x4844 $x5719))))))
+(let ((@x7119 (trans @x7922 (rewrite (= (or $x3720 (or $x4710 $x4844 $x5719)) $x6183)) (= $x7891 $x6183))))
+(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))))
+(let (($x8133 (>= ?x7341 0)))
+(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)))
+(let ((@x9049 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x7121 (not $x5719) (not $x8133))) @x9055 (unit-resolution @x8954 @x8874 $x5719) $x7121)))
+(let (($x7918 (not $x7121)))
+(let ((?x4888 (+ ?x1906 ?x4720)))
+(let (($x7874 (<= ?x4888 0)))
+(let (($x8072 (or $x3729 $x7874 $x4710 $x7918)))
+(let (($x4877 (>= (+ ?x4717 ?x1907) 0)))
+(let (($x4881 (or $x4877 $x4710 (not (= (+ ?x4717 ?x1907 ?x4669) 0)))))
+(let (($x8040 (or $x3729 $x4881)))
+(let ((@x6258 (monotonicity (rewrite (= (+ ?x4717 ?x1907 ?x4669) (+ ?x1907 ?x4669 ?x4717))) (= (= (+ ?x4717 ?x1907 ?x4669) 0) (= (+ ?x1907 ?x4669 ?x4717) 0)))))
+(let ((@x7178 (trans @x6258 (rewrite (= (= (+ ?x1907 ?x4669 ?x4717) 0) $x7121)) (= (= (+ ?x4717 ?x1907 ?x4669) 0) $x7121))))
+(let ((@x7871 (monotonicity (rewrite (= (+ ?x4717 ?x1907) (+ ?x1907 ?x4717))) (= $x4877 (>= (+ ?x1907 ?x4717) 0)))))
+(let ((@x7892 (trans @x7871 (rewrite (= (>= (+ ?x1907 ?x4717) 0) $x7874)) (= $x4877 $x7874))))
+(let ((@x8041 (monotonicity @x7892 (monotonicity @x7178 (= (not (= (+ ?x4717 ?x1907 ?x4669) 0)) $x7918)) (= $x4881 (or $x7874 $x4710 $x7918)))))
+(let ((@x8107 (trans (monotonicity @x8041 (= $x8040 (or $x3729 (or $x7874 $x4710 $x7918)))) (rewrite (= (or $x3729 (or $x7874 $x4710 $x7918)) $x8072)) (= $x8040 $x8072))))
+(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))))
+(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)))))
+(let (($x4420 (= ?x1906 ?x4413)))
+(let (($x4423 (or $x4299 $x4420)))
+(let (($x8830 (or $x3695 $x4299 $x4420)))
+(let ((@x8691 (mp ((_ quant-inst ?v0!20) (or $x3695 $x4423)) (rewrite (= (or $x3695 $x4423) $x8830)) $x8830)))
+(let ((@x10120 (mp (unit-resolution (unit-resolution @x8691 @x9263 $x4423) @x10024 $x4299) @x10119 $x9037)))
+(let (($x4629 (fun_app$ v_b_Visited_G_1$ ?v0!20)))
+(let (($x5238 (= ?v0!20 v_b_v_G_1$)))
+(let (($x10274 (or $x5238 $x4629)))
+(let (($x10073 (= $x5237 $x10274)))
+(let (($x10506 (or $x4134 $x10073)))
+(let ((@x10500 (monotonicity (rewrite (= (ite $x5238 true $x4629) $x10274)) (= (= $x5237 (ite $x5238 true $x4629)) $x10073))))
+(let ((@x10183 (monotonicity @x10500 (= (or $x4134 (= $x5237 (ite $x5238 true $x4629))) $x10506))))
+(let ((@x10372 (trans @x10183 (rewrite (= $x10506 $x10506)) (= (or $x4134 (= $x5237 (ite $x5238 true $x4629))) $x10506))))
+(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)))
+(let ((?x4454 (pair$ v_b_v_G_1$ ?v0!20)))
+(let ((?x4455 (b_G$ ?x4454)))
+(let ((?x4507 (+ ?x254 ?x1907 ?x4455)))
+(let (($x4527 (<= ?x4507 0)))
+(let (($x8001 (= ?x4507 0)))
+(let ((?x9161 (+ ?x254 ?x4438 ?x4455)))
+(let (($x9165 (>= ?x9161 0)))
+(let ((?x4456 (* (- 1) ?x4455)))
+(let ((?x4457 (+ b_Infinity$ ?x4456)))
+(let (($x4458 (<= ?x4457 0)))
+(let (($x8810 (or $x4458 $x9165)))
+(let (($x8814 (not $x8810)))
+(let (($x8919 (or $x8814 $x4420)))
+(let (($x8679 (or $x3678 $x8814 $x4420)))
+(let (($x4463 (or (not (or $x4458 (<= (+ ?x4413 ?x1168 ?x4456) 0))) $x4420)))
+(let (($x9386 (or $x3678 $x4463)))
+(let ((@x9164 (monotonicity (rewrite (= (+ ?x4413 ?x1168 ?x4456) (+ ?x1168 ?x4413 ?x4456))) (= (<= (+ ?x4413 ?x1168 ?x4456) 0) (<= (+ ?x1168 ?x4413 ?x4456) 0)))))
+(let ((@x8891 (trans @x9164 (rewrite (= (<= (+ ?x1168 ?x4413 ?x4456) 0) $x9165)) (= (<= (+ ?x4413 ?x1168 ?x4456) 0) $x9165))))
+(let ((@x8813 (monotonicity @x8891 (= (or $x4458 (<= (+ ?x4413 ?x1168 ?x4456) 0)) $x8810))))
+(let ((@x8815 (monotonicity @x8813 (= (not (or $x4458 (<= (+ ?x4413 ?x1168 ?x4456) 0))) $x8814))))
+(let ((@x9295 (monotonicity (monotonicity @x8815 (= $x4463 $x8919)) (= $x9386 (or $x3678 $x8919)))))
+(let ((@x9441 (mp ((_ quant-inst ?v0!20) $x9386) (trans @x9295 (rewrite (= (or $x3678 $x8919) $x8679)) (= $x9386 $x8679)) $x8679)))
+(let ((@x9984 (unit-resolution (def-axiom (or $x8810 (not $x4458))) (hypothesis $x8814) (not $x4458))))
+(let ((@x9985 (unit-resolution (def-axiom (or $x8810 (not $x9165))) (hypothesis $x8814) (not $x9165))))
+(let (($x8926 (or $x4458 $x9165 $x8001)))
+(let (($x8928 (or $x3670 $x4458 $x9165 $x8001)))
+(let (($x4460 (<= (+ ?x4413 ?x1168 ?x4456) 0)))
+(let (($x4506 (or $x4458 $x4460 (= (+ ?x254 ?x4455 ?x1907) 0))))
+(let (($x8929 (or $x3670 $x4506)))
+(let ((@x8925 (monotonicity (rewrite (= (+ ?x254 ?x4455 ?x1907) ?x4507)) (= (= (+ ?x254 ?x4455 ?x1907) 0) $x8001))))
+(let ((@x8953 (monotonicity (monotonicity @x8891 @x8925 (= $x4506 $x8926)) (= $x8929 (or $x3670 $x8926)))))
+(let ((@x8682 (mp ((_ quant-inst ?v0!20) $x8929) (trans @x8953 (rewrite (= (or $x3670 $x8926) $x8928)) (= $x8929 $x8928)) $x8928)))
+(let ((@x9987 (unit-resolution (unit-resolution @x8682 @x4789 $x8926) @x9985 @x9984 (hypothesis (not $x8001)) false)))
+(let ((@x10276 (unit-resolution (lemma @x9987 (or $x8810 $x8001)) (unit-resolution (unit-resolution @x9441 @x4803 $x8919) @x10024 $x8814) $x8001)))
+(let ((?x4401 (+ ?x1906 ?x3064)))
+(let (($x6992 (<= ?x4401 0)))
+(let ((?x4566 (+ ?x1906 ?x3064 ?x4456)))
+(let (($x6987 (= ?x4566 0)))
+(let (($x4590 (>= ?x4566 0)))
+(let ((@x9966 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1) (or (not $x4527) $x4590 (not $x3906))) @x6160 (or (not $x4527) $x4590))))
+(let (($x4589 (<= ?x4566 0)))
+(let (($x4181 (>= ?x3063 0)))
+(let (($x6279 (or $x3703 $x4181)))
+(let ((@x6374 ((_ quant-inst v_b_v_G_1$) $x6279)))
+(let ((@x9257 (unit-resolution @x6374 (unit-resolution (def-axiom (or $x3756 $x3698)) @x8979 $x3698) $x4181)))
+(let (($x4146 (fun_app$ v_b_Visited_G_2$ v_b_v_G_1$)))
+(let (($x3097 (fun_app$ ?x260 v_b_v_G_1$)))
+(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))
+))
+(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))
+))
+(let (($x52 (= (fun_app$ (fun_upd$ ?2 ?1 ?0) ?1) ?0)))
+(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))
+))
+(let ((@x54 (rewrite (= (= (fun_app$ (fun_upd$ ?2 ?1 ?0) ?1) ?0) $x52))))
+(let ((@x1427 (mp~ (mp (asserted $x50) (quant-intro @x54 (= $x50 $x55)) $x55) (nnf-pos (refl (~ $x52 $x52)) (~ $x55 $x55)) $x55)))
+(let ((@x3461 (mp @x1427 (quant-intro (refl (= $x52 $x52)) (= $x55 $x3456)) $x3456)))
+(let (($x4383 (or (not $x3456) $x3097)))
+(let ((@x4480 (monotonicity (rewrite (= (= $x3097 true) $x3097)) (= (or (not $x3456) (= $x3097 true)) $x4383))))
+(let ((@x4483 (trans @x4480 (rewrite (= $x4383 $x4383)) (= (or (not $x3456) (= $x3097 true)) $x4383))))
+(let ((@x4484 (mp ((_ quant-inst v_b_Visited_G_1$ v_b_v_G_1$ true) (or (not $x3456) (= $x3097 true))) @x4483 $x4383)))
+(let ((@x9972 (mp (unit-resolution @x4484 @x3461 $x3097) (monotonicity @x6739 (= $x3097 $x4146)) $x4146)))
+(let ((@x5439 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x4590 $x4589)) (hypothesis (not $x4589)) $x4590)))
+(let (($x4147 (not $x4146)))
+(let (($x5371 (or $x3720 $x4147 $x4458 $x4589)))
+(let ((?x5354 (+ ?x4455 ?x3063 ?x1907)))
+(let (($x5355 (>= ?x5354 0)))
+(let (($x5358 (or $x4147 $x4458 $x5355)))
+(let (($x5372 (or $x3720 $x5358)))
+(let ((@x5363 (monotonicity (rewrite (= ?x5354 (+ ?x1907 ?x3063 ?x4455))) (= $x5355 (>= (+ ?x1907 ?x3063 ?x4455) 0)))))
+(let ((@x5367 (trans @x5363 (rewrite (= (>= (+ ?x1907 ?x3063 ?x4455) 0) $x4589)) (= $x5355 $x4589))))
+(let ((@x5376 (monotonicity (monotonicity @x5367 (= $x5358 (or $x4147 $x4458 $x4589))) (= $x5372 (or $x3720 (or $x4147 $x4458 $x4589))))))
+(let ((@x5380 (trans @x5376 (rewrite (= (or $x3720 (or $x4147 $x4458 $x4589)) $x5371)) (= $x5372 $x5371))))
+(let ((@x5381 (mp ((_ quant-inst ?v0!20 v_b_v_G_1$) $x5372) @x5380 $x5371)))
+(let ((@x5443 (unit-resolution @x5381 (hypothesis $x3715) (hypothesis $x4146) (hypothesis (not $x4589)) $x4458)))
+(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))))
+(let ((@x9976 (unit-resolution (unit-resolution @x5447 @x9972 (or $x4589 (not $x4181) $x1909 $x3720)) @x9257 (or $x4589 $x1909 $x3720))))
+(let ((@x9977 (unit-resolution @x9976 (unit-resolution (def-axiom (or $x3732 $x3715)) @x9455 $x3715) @x9475 $x4589)))
+(let ((@x9991 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x6987 (not $x4589) (not $x4590))) @x9977 (or $x6987 (not $x4590)))))
+(let ((@x9992 (unit-resolution @x9991 (unit-resolution @x9966 (hypothesis $x4527) $x4590) $x6987)))
+(let (($x7023 (not $x6987)))
+(let (($x6921 (or $x3729 $x6992 $x4147 $x7023)))
+(let (($x4536 (>= (+ ?x3063 ?x1907) 0)))
+(let (($x4548 (or $x4536 $x4147 (not (= (+ ?x3063 ?x1907 ?x4455) 0)))))
+(let (($x8524 (or $x3729 $x4548)))
+(let ((@x7245 (monotonicity (rewrite (= (+ ?x3063 ?x1907 ?x4455) (+ ?x1907 ?x3063 ?x4455))) (= (= (+ ?x3063 ?x1907 ?x4455) 0) (= (+ ?x1907 ?x3063 ?x4455) 0)))))
+(let ((@x7022 (trans @x7245 (rewrite (= (= (+ ?x1907 ?x3063 ?x4455) 0) $x6987)) (= (= (+ ?x3063 ?x1907 ?x4455) 0) $x6987))))
+(let ((@x7049 (monotonicity (rewrite (= (+ ?x3063 ?x1907) (+ ?x1907 ?x3063))) (= $x4536 (>= (+ ?x1907 ?x3063) 0)))))
+(let ((@x8373 (trans @x7049 (rewrite (= (>= (+ ?x1907 ?x3063) 0) $x6992)) (= $x4536 $x6992))))
+(let ((@x7936 (monotonicity @x8373 (monotonicity @x7022 (= (not (= (+ ?x3063 ?x1907 ?x4455) 0)) $x7023)) (= $x4548 (or $x6992 $x4147 $x7023)))))
+(let ((@x8581 (trans (monotonicity @x7936 (= $x8524 (or $x3729 (or $x6992 $x4147 $x7023)))) (rewrite (= (or $x3729 (or $x6992 $x4147 $x7023)) $x6921)) (= $x8524 $x6921))))
+(let ((@x8053 (mp ((_ quant-inst v_b_v_G_1$) $x8524) @x8581 $x6921)))
+(let ((@x9995 (unit-resolution @x8053 (unit-resolution (def-axiom (or $x3732 $x3724)) @x9455 $x3724) @x9972 (or $x6992 $x7023))))
+(let (($x5406 (<= ?x4455 0)))
+(let (($x5407 (not $x5406)))
+(let (($x5405 (= v_b_v_G_1$ ?v0!20)))
+(let (($x5409 (not $x5405)))
+(let ((@x10003 (monotonicity (symm (commutativity (= $x5405 $x5238)) (= $x5238 $x5405)) (= (not $x5238) $x5409))))
+(let (($x5408 (or $x5405 $x5407)))
+(let (($x3099 (not $x3475)))
+(let (($x9955 (or $x3099 $x5405 $x5407)))
+(let ((@x9962 (mp ((_ quant-inst v_b_v_G_1$ ?v0!20) (or $x3099 $x5408)) (rewrite (= (or $x3099 $x5408) $x9955)) $x9955)))
+(let ((@x10006 (unit-resolution (unit-resolution @x9962 @x3480 $x5408) (mp (hypothesis (not $x5238)) @x10003 $x5409) $x5407)))
+(let ((@x10007 ((_ th-lemma arith farkas -1 -1 1 1) @x6160 @x10006 (hypothesis $x4527) (unit-resolution @x9995 @x9992 $x6992) false)))
+(let ((@x10279 (unit-resolution (lemma @x10007 (or (not $x4527) $x5238)) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x8001) $x4527)) @x10276 $x4527) $x5238)))
+(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))))
+(unit-resolution (unit-resolution @x10164 (unit-resolution @x10020 @x3468 $x10073) $x5237) @x10120 false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+
+8ec9d30fc9fdbc0ea292e0fdf148a6230c16dbca 2924 0
+unsat
+((set-logic <null>)
+(declare-fun ?v0!15 () Int)
+(declare-fun ?v0!14 () Int)
+(declare-fun ?v0!13 () Int)
+(proof
+(let ((?x10076 (b_S_array$ b_T_T_u1$ v_b_P_H_len$)))
+(let ((?x22595 (b_S_ptr$ ?x10076 v_b_P_H_arr$)))
+(let ((?x24598 (b_S_idx$ ?x22595 v_b_L_H_p_G_0$ b_T_T_u1$)))
+(let ((?x10272 (b_S_typemap$ v_b_S_s$)))
+(let ((?x24302 (b_S_select_o_tm$ ?x10272 ?x24598)))
+(let ((?x24605 (b_S_ts_n_emb$ ?x24302)))
+(let (($x24606 (= ?x24605 ?x22595)))
+(let (($x24611 (b_S_typed$ v_b_S_s$ ?x24598)))
+(let (($x24614 (not $x24611)))
+(let (($x24608 (b_S_ts_n_is_n_volatile$ ?x24302)))
+(let (($x24607 (not $x24606)))
+(let (($x24615 (or $x24607 $x24608 (not (b_S_ts_n_is_n_array_n_elt$ ?x24302)) $x24614)))
+(let (($x24616 (not $x24615)))
+(let (($x11901 (>= v_b_L_H_p_G_0$ 0)))
+(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$))))
+(let (($x10238 (= ?x10163 v_b_S_result_G_0$)))
+(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
+(let (($x12168 (<= ?v0 4294967295)))
+(let (($x16553 (not $x12168)))
+(let (($x2815 (>= ?v0 0)))
+(let (($x3763 (not $x2815)))
+(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))
+))
+(let (($x20035 (not $x20030)))
+(let (($x20022 (forall ((?v0 Int) )(! (let ((?x11816 (* (- 1) v_b_S_result_G_0$)))
+(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$))))
+(let (($x11818 (<= (+ ?x10163 ?x11816) 0)))
+(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
+(let (($x12168 (<= ?v0 4294967295)))
+(let (($x16553 (not $x12168)))
+(let (($x2815 (>= ?v0 0)))
+(let (($x3763 (not $x2815)))
+(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))
+))
+(let (($x20027 (not $x20022)))
+(let (($x20038 (or $x20027 $x20035)))
+(let (($x20041 (not $x20038)))
+(let ((?x10078 (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$)))
+(let ((?x15743 (b_S_idx$ ?x10078 ?v0!15 b_T_T_u1$)))
+(let ((?x15744 (b_S_read_n_u1$ v_b_S_s$ ?x15743)))
+(let ((?x16029 (* (- 1) ?x15744)))
+(let (($x16031 (>= (+ v_b_S_result_G_0$ ?x16029) 0)))
+(let (($x16009 (<= (+ v_b_P_H_len$ (* (- 1) ?v0!15)) 0)))
+(let (($x15737 (<= ?v0!15 4294967295)))
+(let (($x19560 (not $x15737)))
+(let (($x15736 (>= ?v0!15 0)))
+(let (($x19559 (not $x15736)))
+(let (($x19575 (or $x19559 $x19560 $x16009 $x16031)))
+(let (($x19580 (not $x19575)))
+(let (($x20044 (or $x19580 $x20041)))
+(let (($x20047 (not $x20044)))
+(let (($x10222 (= v_b_S_result_G_0$ v_b_L_H_max_G_1$)))
+(let (($x19640 (not $x10222)))
+(let (($x10220 (= v_b_SL_H_witness_G_2$ v_b_SL_H_witness_G_0$)))
+(let (($x19639 (not $x10220)))
+(let (($x10218 (= v_b_L_H_p_G_2$ v_b_L_H_p_G_0$)))
+(let (($x19638 (not $x10218)))
+(let (($x10216 (= v_b_L_H_max_G_4$ v_b_L_H_max_G_1$)))
+(let (($x19637 (not $x10216)))
+(let (($x11432 (>= v_b_SL_H_witness_G_0$ 0)))
+(let (($x19501 (not $x11432)))
+(let (($x11429 (>= v_b_L_H_p_G_0$ 1)))
+(let (($x19474 (not $x11429)))
+(let (($x15729 (not b_S_position_n_marker$)))
+(let (($x20050 (or $x15729 $x19474 $x19501 $x19637 $x19638 $x19639 $x19640 $x20047)))
+(let (($x20053 (not $x20050)))
+(let (($x20056 (or $x15729 $x20053)))
+(let (($x20059 (not $x20056)))
+(let ((?x11484 (* (- 1) v_b_L_H_p_G_0$)))
+(let ((?x11485 (+ v_b_P_H_len$ ?x11484)))
+(let (($x11486 (<= ?x11485 0)))
+(let (($x11487 (not $x11486)))
+(let (($x20062 (or $x11487 $x19474 $x19501 $x20059)))
+(let (($x20065 (not $x20062)))
+(let ((?x10372 (b_S_idx$ ?x10078 v_b_SL_H_witness_G_1$ b_T_T_u1$)))
+(let ((?x10373 (b_S_read_n_u1$ v_b_S_s$ ?x10372)))
+(let (($x10374 (= ?x10373 v_b_L_H_max_G_3$)))
+(let (($x19411 (not $x10374)))
+(let (($x11647 (<= (+ v_b_P_H_len$ (* (- 1) v_b_SL_H_witness_G_1$)) 0)))
+(let (($x19412 (or $x11647 $x19411)))
+(let (($x19413 (not $x19412)))
+(let (($x19906 (forall ((?v0 Int) )(! (let ((?x11631 (* (- 1) v_b_L_H_max_G_3$)))
+(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$))))
+(let (($x11633 (<= (+ ?x10163 ?x11631) 0)))
+(let (($x11615 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_1$)) 0)))
+(let (($x12168 (<= ?v0 4294967295)))
+(let (($x16553 (not $x12168)))
+(let (($x2815 (>= ?v0 0)))
+(let (($x3763 (not $x2815)))
+(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))
+))
+(let (($x19911 (not $x19906)))
+(let (($x19914 (or $x19911 $x19413)))
+(let (($x19917 (not $x19914)))
+(let ((?x15633 (b_S_idx$ ?x10078 ?v0!14 b_T_T_u1$)))
+(let ((?x15634 (b_S_read_n_u1$ v_b_S_s$ ?x15633)))
+(let ((?x15891 (* (- 1) ?x15634)))
+(let (($x15893 (>= (+ v_b_L_H_max_G_3$ ?x15891) 0)))
+(let (($x15871 (<= (+ v_b_L_H_p_G_1$ (* (- 1) ?v0!14)) 0)))
+(let (($x15627 (<= ?v0!14 4294967295)))
+(let (($x19366 (not $x15627)))
+(let (($x15626 (>= ?v0!14 0)))
+(let (($x19365 (not $x15626)))
+(let (($x19381 (or $x19365 $x19366 $x15871 $x15893)))
+(let (($x19386 (not $x19381)))
+(let (($x19920 (or $x19386 $x19917)))
+(let (($x19923 (not $x19920)))
+(let (($x11608 (>= (+ v_b_P_H_len$ (* (- 1) v_b_L_H_p_G_1$)) 0)))
+(let (($x11612 (not $x11608)))
+(let (($x19926 (or $x11612 $x19923)))
+(let (($x19929 (not $x19926)))
+(let (($x19932 (or $x11612 $x19929)))
+(let (($x19935 (not $x19932)))
+(let (($x11536 (>= v_b_SL_H_witness_G_1$ 0)))
+(let (($x19455 (not $x11536)))
+(let (($x11578 (>= v_b_L_H_p_G_1$ 2)))
+(let (($x19454 (not $x11578)))
+(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$)))
+(let (($x19453 (not $x10358)))
+(let ((?x11581 (* (- 1) v_b_L_H_p_G_1$)))
+(let ((?x11582 (+ v_b_L_H_p_G_0$ ?x11581)))
+(let (($x11580 (= ?x11582 (- 1))))
+(let (($x19452 (not $x11580)))
+(let (($x13353 (<= v_b_L_H_p_G_0$ 4294967294)))
+(let (($x15614 (not $x13353)))
+(let (($x11570 (>= v_b_L_H_p_G_0$ (- 1))))
+(let (($x15611 (not $x11570)))
+(let (($x19938 (or $x15611 $x15614 $x19452 $x19453 $x19454 $x19455 $x19935)))
+(let (($x19941 (not $x19938)))
+(let (($x19944 (or $x15611 $x15614 $x19941)))
+(let (($x19947 (not $x19944)))
+(let (($x10392 (= v_b_SL_H_witness_G_1$ v_b_SL_H_witness_G_0$)))
+(let (($x19513 (not $x10392)))
+(let (($x10391 (= v_b_L_H_max_G_3$ v_b_L_H_max_G_1$)))
+(let (($x19512 (not $x10391)))
+(let ((?x10320 (b_S_idx$ ?x10078 v_b_L_H_p_G_0$ b_T_T_u1$)))
+(let ((?x10327 (b_S_read_n_u1$ v_b_S_s$ ?x10320)))
+(let ((?x11517 (* (- 1) ?x10327)))
+(let (($x11516 (>= (+ v_b_L_H_max_G_1$ ?x11517) 0)))
+(let (($x11515 (not $x11516)))
+(let (($x19980 (or $x11515 $x19501 $x19512 $x19513 $x19474 $x19455 $x19947)))
+(let (($x19983 (not $x19980)))
+(let (($x10340 (= v_b_SL_H_witness_G_1$ v_b_L_H_p_G_0$)))
+(let (($x19473 (not $x10340)))
+(let (($x10338 (= v_b_L_H_max_G_3$ v_b_L_H_max_G_2$)))
+(let (($x19472 (not $x10338)))
+(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$)))
+(let (($x19471 (not $x10335)))
+(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$)))
+(let (($x19470 (not $x10334)))
+(let (($x10333 (= v_b_L_H_max_G_2$ ?x10327)))
+(let (($x19469 (not $x10333)))
+(let (($x10324 (b_S_thread_n_local$ v_b_S_s$ ?x10320)))
+(let (($x15599 (not $x10324)))
+(let (($x10321 (b_S_is$ ?x10320 b_T_T_u1$)))
+(let (($x15590 (not $x10321)))
+(let (($x19950 (or $x15590 $x15599 $x19469 $x19470 $x19471 $x19472 $x19473 $x19474 $x19455 $x19947)))
+(let (($x19953 (not $x19950)))
+(let (($x19956 (or $x15590 $x15599 $x19953)))
+(let (($x19959 (not $x19956)))
+(let (($x10322 (b_S_typed$ v_b_S_s$ ?x10320)))
+(let (($x15593 (not $x10322)))
+(let (($x19962 (or $x15590 $x15593 $x19959)))
+(let (($x19965 (not $x19962)))
+(let (($x19968 (or $x15590 $x15593 $x19965)))
+(let (($x19971 (not $x19968)))
+(let (($x19974 (or $x11516 $x19474 $x19501 $x19971)))
+(let (($x19977 (not $x19974)))
+(let (($x19986 (or $x19977 $x19983)))
+(let (($x19989 (not $x19986)))
+(let (($x19992 (or $x15590 $x15599 $x19474 $x19501 $x19989)))
+(let (($x19995 (not $x19992)))
+(let (($x19998 (or $x15590 $x15599 $x19995)))
+(let (($x20001 (not $x19998)))
+(let (($x20004 (or $x15590 $x15593 $x20001)))
+(let (($x20007 (not $x20004)))
+(let (($x20010 (or $x15590 $x15593 $x20007)))
+(let (($x20013 (not $x20010)))
+(let (($x20016 (or $x11486 $x19474 $x19501 $x20013)))
+(let (($x20019 (not $x20016)))
+(let (($x20068 (or $x20019 $x20065)))
+(let (($x20071 (not $x20068)))
+(let ((?x2238 (b_S_ptr_n_to$ b_T_T_u1$)))
+(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)))
+(let (($x19683 (not $x10296)))
+(let ((?x10105 (b_S_ptr_n_to_n_int$ ?x10078)))
+(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)))
+(let (($x19682 (not $x10295)))
+(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$)))
+(let (($x19681 (not $x10294)))
+(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$)))
+(let (($x19680 (not $x10293)))
+(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$)))
+(let (($x19679 (not $x10292)))
+(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$)))
+(let (($x19678 (not $x10291)))
+(let (($x10097 (b_S_full_n_stop$ v_b_S_s$)))
+(let (($x19677 (not $x10097)))
+(let (($x10204 (b_S_good_n_state_n_ext$ b_H_tok_S_1_T_16_o_3$ v_b_S_s$)))
+(let (($x19676 (not $x10204)))
+(let (($x10284 (b_S_call_n_transition$ v_b_S_s$ v_b_S_s$)))
+(let (($x19675 (not $x10284)))
+(let ((?x10190 (b_S_idx$ ?x10078 v_b_SL_H_witness_G_0$ b_T_T_u1$)))
+(let ((?x10191 (b_S_read_n_u1$ v_b_S_s$ ?x10190)))
+(let (($x10192 (= ?x10191 v_b_L_H_max_G_1$)))
+(let (($x19674 (not $x10192)))
+(let (($x11867 (<= (+ v_b_P_H_len$ (* (- 1) v_b_SL_H_witness_G_0$)) 0)))
+(let (($x19898 (forall ((?v0 Int) )(! (let ((?x11887 (* (- 1) v_b_L_H_max_G_1$)))
+(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$))))
+(let (($x11889 (<= (+ ?x10163 ?x11887) 0)))
+(let (($x11871 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_0$)) 0)))
+(let (($x12168 (<= ?v0 4294967295)))
+(let (($x16553 (not $x12168)))
+(let (($x2815 (>= ?v0 0)))
+(let (($x3763 (not $x2815)))
+(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))
+))
+(let (($x19903 (not $x19898)))
+(let (($x11898 (>= ?x11485 0)))
+(let (($x19672 (not $x11898)))
+(let (($x13326 (<= v_b_L_H_p_G_0$ 4294967295)))
+(let (($x19671 (not $x13326)))
+(let (($x19670 (not $x11901)))
+(let (($x13315 (<= v_b_SL_H_witness_G_0$ 4294967295)))
+(let (($x19669 (not $x13315)))
+(let (($x13304 (<= v_b_L_H_max_G_1$ 255)))
+(let (($x19668 (not $x13304)))
+(let (($x11911 (>= v_b_L_H_max_G_1$ 0)))
+(let (($x19667 (not $x11911)))
+(let ((?x10137 (b_S_idx$ ?x10078 0 b_T_T_u1$)))
+(let ((?x10144 (b_S_read_n_u1$ v_b_S_s$ ?x10137)))
+(let (($x10167 (= ?x10144 v_b_L_H_max_G_0$)))
+(let (($x15548 (not $x10167)))
+(let (($x11259 (<= v_b_P_H_len$ 0)))
+(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)))
+(let (($x20077 (not $x20074)))
+(let (($x10145 (= v_b_L_H_max_G_0$ ?x10144)))
+(let (($x20080 (or $x11259 $x15548 $x20077)))
+(let (($x20083 (not $x20080)))
+(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$))))
+(let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0)))
+(let (($x11388 (>= ?v0 1)))
+(let (($x12168 (<= ?v0 4294967295)))
+(let (($x16553 (not $x12168)))
+(let (($x2815 (>= ?v0 0)))
+(let (($x3763 (not $x2815)))
+(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))
+))
+(let (($x19895 (not $x19890)))
+(let (($x20086 (or $x19895 $x20083)))
+(let (($x20089 (not $x20086)))
+(let ((?x15529 (b_S_idx$ ?x10078 ?v0!13 b_T_T_u1$)))
+(let ((?x15530 (b_S_read_n_u1$ v_b_S_s$ ?x15529)))
+(let ((?x15531 (* (- 1) ?x15530)))
+(let (($x15533 (>= (+ v_b_L_H_max_G_0$ ?x15531) 0)))
+(let (($x15525 (>= ?v0!13 1)))
+(let (($x15524 (<= ?v0!13 4294967295)))
+(let (($x19298 (not $x15524)))
+(let (($x15523 (>= ?v0!13 0)))
+(let (($x19297 (not $x15523)))
+(let (($x19313 (or $x19297 $x19298 $x15525 $x15533)))
+(let (($x19318 (not $x19313)))
+(let (($x20092 (or $x19318 $x20089)))
+(let (($x20095 (not $x20092)))
+(let (($x11382 (>= v_b_P_H_len$ 1)))
+(let (($x11385 (not $x11382)))
+(let (($x20098 (or $x11385 $x20095)))
+(let (($x20101 (not $x20098)))
+(let (($x20104 (or $x11385 $x20101)))
+(let (($x20107 (not $x20104)))
+(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$)))
+(let (($x19727 (not $x10148)))
+(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$)))
+(let (($x19726 (not $x10147)))
+(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$)))
+(let (($x19725 (not $x10146)))
+(let (($x19724 (not $x10145)))
+(let (($x10141 (b_S_thread_n_local$ v_b_S_s$ ?x10137)))
+(let (($x15511 (not $x10141)))
+(let (($x10138 (b_S_is$ ?x10137 b_T_T_u1$)))
+(let (($x15502 (not $x10138)))
+(let (($x20110 (or $x15502 $x15511 $x19724 $x19725 $x19726 $x19727 $x20107)))
+(let (($x20113 (not $x20110)))
+(let (($x20116 (or $x15502 $x15511 $x20113)))
+(let (($x20119 (not $x20116)))
+(let (($x10139 (b_S_typed$ v_b_S_s$ ?x10137)))
+(let (($x15505 (not $x10139)))
+(let (($x20122 (or $x15502 $x15505 $x20119)))
+(let (($x20125 (not $x20122)))
+(let ((?x22478 (b_S_select_o_tm$ ?x10272 ?x10137)))
+(let (($x22602 (b_S_ts_n_is_n_volatile$ ?x22478)))
+(let (($x22603 (or $x15505 $x22602)))
+(let (($x22604 (not $x22603)))
+(let ((?x10079 (b_S_ref$ ?x10078)))
+(let ((?x10080 (b_S_ptr$ ?x10076 ?x10079)))
+(let ((?x21014 (b_S_ref$ ?x10080)))
+(let ((?x21983 (b_S_ptr$ ?x10076 ?x21014)))
+(let ((?x22343 (b_S_domain$ v_b_S_s$ ?x21983)))
+(let (($x22596 (b_S_set_n_in$ ?x22595 ?x22343)))
+(let (($x21179 (= ?x10079 v_b_P_H_arr$)))
+(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))
+))
+(let (($x9655 (forall ((?v0 B_S_ctype$) (?v1 Int) )(! (= (b_S_ref$ (b_S_ptr$ ?v0 ?v1)) ?v1) :qid k!627))
+))
+(let (($x9654 (= (b_S_ref$ (b_S_ptr$ ?1 ?0)) ?0)))
+(let ((@x15356 (mp~ (asserted $x9655) (nnf-pos (refl (~ $x9654 $x9654)) (~ $x9655 $x9655)) $x9655)))
+(let ((@x19840 (mp @x15356 (quant-intro (refl (= $x9654 $x9654)) (= $x9655 $x19835)) $x19835)))
+(let (($x21152 (not $x19835)))
+(let (($x21184 (or $x21152 $x21179)))
+(let ((@x21185 ((_ quant-inst b_T_T_u1$ v_b_P_H_arr$) $x21184)))
+(let ((@x23445 (unit-resolution @x21185 @x19840 $x21179)))
+(let ((@x23680 (monotonicity (symm @x23445 (= v_b_P_H_arr$ ?x10079)) (= ?x22595 ?x10080))))
+(let (($x21990 (= ?x10080 ?x21983)))
+(let (($x10084 (b_S_is$ ?x10080 ?x10076)))
+(let (($x11245 (>= (+ b_S_max_o_u4$ (* (- 1) v_b_P_H_len$)) 0)))
+(let (($x11243 (>= v_b_P_H_len$ 0)))
+(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)))
+(not $x10113)) :pattern ( (b_S_in_n_writes_n_at$ v_b_H_wrTime_S_1_T_6_o_1$ ?v0) ) :qid k!704))
+))
+(let ((?x10111 (b_S_current_n_timestamp$ v_b_S_s$)))
+(let (($x10112 (= v_b_H_wrTime_S_1_T_6_o_1$ ?x10111)))
+(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$)))
+(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)))
+(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)))
+(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)))
+(not $x11251)) :pattern ( (b_S_frame_n_level$ ?v0) ) :qid k!704))
+))
+(let (($x10096 (b_S_good_n_state_n_ext$ b_H_tok_S_1_T_6_o_1$ v_b_S_s$)))
+(let (($x10095 (b_S_function_n_entry$ v_b_S_s$)))
+(let (($x10089 (b_S_is_n_non_n_primitive$ ?x10076)))
+(let ((?x10086 (b_S_kind_n_of$ ?x10076)))
+(let (($x10087 (= ?x10086 b_S_kind_n_primitive$)))
+(let (($x10088 (not $x10087)))
+(let (($x10085 (b_S_typed$ v_b_S_s$ ?x10080)))
+(let ((?x10082 (b_S_owner$ v_b_S_s$ ?x10080)))
+(let (($x10083 (= ?x10082 b_S_me$)))
+(let (($x10081 (b_S_closed$ v_b_S_s$ ?x10080)))
+(let (($x11260 (not $x11259)))
+(let (($x11263 (>= v_b_P_H_len$ 1099511627776)))
+(let (($x11264 (not $x11263)))
+(let (($x11270 (>= (+ b_S_max_o_u4$ (* (- 1) v_b_SL_H_witness$)) 0)))
+(let (($x11268 (>= v_b_SL_H_witness$ 0)))
+(let (($x11278 (>= (+ b_S_max_o_u4$ (* (- 1) v_b_L_H_p$)) 0)))
+(let (($x11276 (>= v_b_L_H_p$ 0)))
+(let (($x11286 (>= (+ b_S_max_o_u1$ (* (- 1) v_b_L_H_max$)) 0)))
+(let (($x11284 (>= v_b_L_H_max$ 0)))
+(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)))
+(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$))))
+(let (($x10238 (= ?x10163 v_b_S_result_G_0$)))
+(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
+(let (($x11802 (not $x11800)))
+(let ((?x3113 (* (- 1) b_S_max_o_u4$)))
+(let ((?x3114 (+ ?v0 ?x3113)))
+(let (($x3115 (<= ?x3114 0)))
+(let (($x2815 (>= ?v0 0)))
+(and $x2815 $x3115 $x11802 $x10238))))))))) :qid k!704))
+))
+(let (($x11824 (forall ((?v0 Int) )(! (let ((?x11816 (* (- 1) v_b_S_result_G_0$)))
+(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$))))
+(let (($x11818 (<= (+ ?x10163 ?x11816) 0)))
+(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
+(let (($x11802 (not $x11800)))
+(let ((?x3113 (* (- 1) b_S_max_o_u4$)))
+(let ((?x3114 (+ ?v0 ?x3113)))
+(let (($x3115 (<= ?x3114 0)))
+(let (($x2815 (>= ?v0 0)))
+(let (($x11808 (and $x2815 $x3115 $x11802)))
+(let (($x11813 (not $x11808)))
+(or $x11813 $x11818)))))))))))) :qid k!704))
+))
+(let (($x11827 (not $x11824)))
+(let (($x11847 (or $x11827 $x11844)))
+(let (($x11850 (and $x11824 $x11847)))
+(let (($x11792 (and b_S_position_n_marker$ $x11429 $x11432 $x10216 $x10218 $x10220 $x10222)))
+(let (($x11797 (not $x11792)))
+(let (($x11853 (or $x11797 $x11850)))
+(let (($x11856 (and b_S_position_n_marker$ $x11853)))
+(let (($x11772 (and $x11486 $x11429 $x11432)))
+(let (($x11777 (not $x11772)))
+(let (($x11859 (or $x11777 $x11856)))
+(let (($x11648 (not $x11647)))
+(let (($x11651 (and $x11648 $x10374)))
+(let (($x11639 (forall ((?v0 Int) )(! (let ((?x11631 (* (- 1) v_b_L_H_max_G_3$)))
+(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$))))
+(let (($x11633 (<= (+ ?x10163 ?x11631) 0)))
+(let (($x11615 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_1$)) 0)))
+(let (($x11617 (not $x11615)))
+(let ((?x3113 (* (- 1) b_S_max_o_u4$)))
+(let ((?x3114 (+ ?v0 ?x3113)))
+(let (($x3115 (<= ?x3114 0)))
+(let (($x2815 (>= ?v0 0)))
+(let (($x11623 (and $x2815 $x3115 $x11617)))
+(let (($x11628 (not $x11623)))
+(or $x11628 $x11633)))))))))))) :qid k!704))
+))
+(let (($x11642 (not $x11639)))
+(let (($x11654 (or $x11642 $x11651)))
+(let (($x11657 (and $x11639 $x11654)))
+(let (($x11660 (or $x11612 $x11657)))
+(let (($x11663 (and $x11608 $x11660)))
+(let ((?x11574 (+ b_S_max_o_u4$ ?x11484)))
+(let (($x11573 (>= ?x11574 1)))
+(let (($x11600 (and $x11570 $x11573 $x11580 $x10358 $x11578 $x11536)))
+(let (($x11605 (not $x11600)))
+(let (($x11666 (or $x11605 $x11663)))
+(let (($x11672 (and $x11570 $x11573 $x11666)))
+(let (($x11725 (and $x11516 $x11432 $x10391 $x10392 $x11429 $x11536)))
+(let (($x11730 (not $x11725)))
+(let (($x11733 (or $x11730 $x11672)))
+(let (($x11562 (and $x10321 $x10324 $x10333 $x10334 $x10335 $x10338 $x10340 $x11429 $x11536)))
+(let (($x11567 (not $x11562)))
+(let (($x11677 (or $x11567 $x11672)))
+(let (($x11683 (and $x10321 $x10324 $x11677)))
+(let (($x10323 (and $x10321 $x10322)))
+(let (($x11001 (not $x10323)))
+(let (($x11688 (or $x11001 $x11683)))
+(let (($x11694 (and $x10321 $x10322 $x11688)))
+(let (($x11527 (and $x11515 $x11429 $x11432)))
+(let (($x11532 (not $x11527)))
+(let (($x11699 (or $x11532 $x11694)))
+(let (($x11736 (and $x11699 $x11733)))
+(let (($x11507 (and $x10321 $x10324 $x11429 $x11432)))
+(let (($x11512 (not $x11507)))
+(let (($x11739 (or $x11512 $x11736)))
+(let (($x11745 (and $x10321 $x10324 $x11739)))
+(let (($x11750 (or $x11001 $x11745)))
+(let (($x11756 (and $x10321 $x10322 $x11750)))
+(let (($x11496 (and $x11487 $x11429 $x11432)))
+(let (($x11501 (not $x11496)))
+(let (($x11761 (or $x11501 $x11756)))
+(let (($x11862 (and $x11761 $x11859)))
+(let (($x11476 (and $x10284 $x10204 $x10097 $x10291 $x10292 $x10293 $x10294 $x10295 $x10296 $x11429 $x11432)))
+(let (($x11481 (not $x11476)))
+(let (($x11868 (not $x11867)))
+(let (($x11895 (forall ((?v0 Int) )(! (let ((?x11887 (* (- 1) v_b_L_H_max_G_1$)))
+(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$))))
+(let (($x11889 (<= (+ ?x10163 ?x11887) 0)))
+(let (($x11871 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_0$)) 0)))
+(let (($x11873 (not $x11871)))
+(let ((?x3113 (* (- 1) b_S_max_o_u4$)))
+(let ((?x3114 (+ ?v0 ?x3113)))
+(let (($x3115 (<= ?x3114 0)))
+(let (($x2815 (>= ?v0 0)))
+(let (($x11879 (and $x2815 $x3115 $x11873)))
+(let (($x11884 (not $x11879)))
+(or $x11884 $x11889)))))))))))) :qid k!704))
+))
+(let (($x11904 (>= ?x11574 0)))
+(let (($x11907 (>= (+ b_S_max_o_u4$ (* (- 1) v_b_SL_H_witness_G_0$)) 0)))
+(let (($x11914 (>= (+ b_S_max_o_u1$ (* (- 1) v_b_L_H_max_G_1$)) 0)))
+(let (($x11957 (and $x11260 $x10167 $x11911 $x11914 $x11907 $x11901 $x11904 $x11898 $x11895 $x11868 $x10192 $x11429 $x11432)))
+(let (($x11962 (not $x11957)))
+(let (($x11971 (or $x11962 $x11481 $x11862)))
+(let (($x11979 (and $x11260 $x10167 $x11971)))
+(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$))))
+(let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0)))
+(let (($x11388 (>= ?v0 1)))
+(let (($x11389 (not $x11388)))
+(let ((?x3113 (* (- 1) b_S_max_o_u4$)))
+(let ((?x3114 (+ ?v0 ?x3113)))
+(let (($x3115 (<= ?x3114 0)))
+(let (($x2815 (>= ?v0 0)))
+(let (($x11395 (and $x2815 $x3115 $x11389)))
+(let (($x11400 (not $x11395)))
+(or $x11400 $x11404))))))))))) :qid k!704))
+))
+(let (($x11414 (not $x11411)))
+(let (($x11984 (or $x11414 $x11979)))
+(let (($x11987 (and $x11411 $x11984)))
+(let (($x11990 (or $x11385 $x11987)))
+(let (($x11993 (and $x11382 $x11990)))
+(let (($x11374 (and $x10138 $x10141 $x10145 $x10146 $x10147 $x10148)))
+(let (($x11379 (not $x11374)))
+(let (($x11996 (or $x11379 $x11993)))
+(let (($x12002 (and $x10138 $x10141 $x11996)))
+(let (($x10140 (and $x10138 $x10139)))
+(let (($x11209 (not $x10140)))
+(let (($x12007 (or $x11209 $x12002)))
+(let (($x12013 (and $x10138 $x10139 $x12007)))
+(let (($x10136 (b_S_in_n_domain_n_lab$ v_b_S_s$ ?x10080 ?x10080 b_l_H_public$)))
+(let (($x11221 (not $x10136)))
+(let (($x12018 (or $x11221 $x12013)))
+(let (($x12021 (and $x10136 $x12018)))
+(let (($x12027 (not (or (not $x11342) $x12021))))
+(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$))))
+(let (($x10238 (= ?x10163 v_b_S_result_G_0$)))
+(let (($x10233 (< ?v0 v_b_P_H_len$)))
+(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
+(let (($x2766 (<= 0 ?v0)))
+(and $x2766 (and $x3097 (and $x10233 $x10238)))))))) :qid k!704))
+))
+(let (($x10244 (and $x10242 (=> $x10242 true))))
+(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$))))
+(let (($x10235 (<= ?x10163 v_b_S_result_G_0$)))
+(let (($x10233 (< ?v0 v_b_P_H_len$)))
+(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
+(let (($x2766 (<= 0 ?v0)))
+(let (($x3098 (and $x2766 $x3097)))
+(let (($x10234 (and $x3098 $x10233)))
+(=> $x10234 $x10235)))))))) :qid k!704))
+))
+(let (($x10245 (=> $x10237 $x10244)))
+(let (($x10227 (and true (and $x10216 (and $x10218 (and $x10220 (and $x10222 true)))))))
+(let (($x10174 (<= 0 v_b_SL_H_witness_G_0$)))
+(let (($x10181 (<= 1 v_b_L_H_p_G_0$)))
+(let (($x10182 (and $x10181 $x10174)))
+(let (($x10230 (and true (and $x10182 (and $x10182 $x10227)))))
+(let (($x10247 (=> (and b_S_position_n_marker$ (and $x10182 $x10230)) (and $x10237 $x10245))))
+(let (($x10248 (and b_S_position_n_marker$ $x10247)))
+(let (($x10206 (and true $x10182)))
+(let (($x10207 (and $x10182 $x10206)))
+(let (($x10411 (and $x10182 $x10207)))
+(let (($x10412 (and true $x10411)))
+(let (($x10413 (and $x10182 $x10412)))
+(let (($x10410 (<= v_b_P_H_len$ v_b_L_H_p_G_0$)))
+(let (($x10416 (and true (and $x10182 (and $x10410 $x10413)))))
+(let (($x10417 (=> $x10416 $x10248)))
+(let (($x10377 (=> (and (and (< v_b_SL_H_witness_G_1$ v_b_P_H_len$) $x10374) false) true)))
+(let (($x10375 (and (< v_b_SL_H_witness_G_1$ v_b_P_H_len$) $x10374)))
+(let (($x10378 (and $x10375 $x10377)))
+(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$))))
+(let (($x10368 (<= ?x10163 v_b_L_H_max_G_3$)))
+(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
+(let (($x2766 (<= 0 ?v0)))
+(let (($x3098 (and $x2766 $x3097)))
+(let (($x10367 (and $x3098 (< ?v0 v_b_L_H_p_G_1$))))
+(=> $x10367 $x10368))))))) :qid k!704))
+))
+(let (($x10379 (=> $x10370 $x10378)))
+(let (($x10365 (<= v_b_L_H_p_G_1$ v_b_P_H_len$)))
+(let (($x10381 (=> $x10365 (and $x10370 $x10379))))
+(let (($x10341 (<= 0 v_b_SL_H_witness_G_1$)))
+(let (($x10360 (and (<= 2 v_b_L_H_p_G_1$) $x10341)))
+(let (($x10363 (and (= v_b_L_H_p_G_1$ (+ v_b_L_H_p_G_0$ 1)) (and $x10358 (and $x10360 true)))))
+(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$))))
+(let (($x10383 (=> (and $x10355 $x10363) (and $x10365 $x10381))))
+(let (($x10384 (and $x10355 $x10383)))
+(let (($x10395 (and true (and $x10391 (and $x10392 (and true (and $x10181 $x10341)))))))
+(let (($x10398 (and true (and $x10182 (and $x10182 $x10395)))))
+(let (($x10390 (<= ?x10327 v_b_L_H_max_G_1$)))
+(let (($x10402 (and true (and $x10182 (and $x10390 (and $x10182 $x10398))))))
+(let (($x10403 (=> $x10402 $x10384)))
+(let (($x10346 (and true (and $x10338 (and $x10340 (and true (and $x10181 $x10341)))))))
+(let (($x10325 (and $x10321 $x10324)))
+(let (($x10351 (and $x10325 (and $x10333 (and $x10334 (and $x10335 (and (and $x10181 $x10181) $x10346)))))))
+(let (($x10385 (=> $x10351 $x10384)))
+(let (($x10387 (=> $x10323 (and $x10325 $x10385))))
+(let (($x10331 (and true (and $x10182 (and (< v_b_L_H_max_G_1$ ?x10327) $x10207)))))
+(let (($x10389 (=> $x10331 (and $x10323 $x10387))))
+(let (($x10326 (and $x10325 $x10182)))
+(let (($x10405 (=> $x10326 (and $x10389 $x10403))))
+(let (($x10407 (=> $x10323 (and $x10325 $x10405))))
+(let (($x10319 (and true (and $x10182 (and (< v_b_L_H_p_G_0$ v_b_P_H_len$) $x10207)))))
+(let (($x10409 (=> $x10319 (and $x10323 $x10407))))
+(let (($x10300 (and (= ?x10272 ?x10272) (= (b_S_statusmap$ v_b_S_s$) (b_S_statusmap$ v_b_S_s$)))))
+(let (($x10301 (and $x10300 $x10182)))
+(let (($x10297 (and $x10295 $x10296)))
+(let (($x10205 (and $x10204 $x10097)))
+(let (($x10307 (and $x10205 (and $x10291 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x10301))))))))
+(let (($x10283 (forall ((?v0 B_S_ptr$) )(! (let ((?x10280 (b_S_timestamp$ v_b_S_s$ ?v0)))
+(<= ?x10280 ?x10280)) :pattern ( (b_S_timestamp$ v_b_S_s$ ?v0) ) :qid k!704))
+))
+(let (($x10286 (and (<= ?x10111 ?x10111) (and $x10283 $x10284))))
+(let (($x10278 (forall ((?v0 B_S_ptr$) )(! (let (($x10260 (b_S_thread_n_local$ v_b_S_s$ ?v0)))
+(let ((?x10272 (b_S_typemap$ v_b_S_s$)))
+(let ((?x10273 (b_S_select_o_tm$ ?x10272 ?v0)))
+(let (($x10275 (and (= ?x10273 ?x10273) $x10260)))
+(=> $x10260 $x10275))))) :pattern ( (b_S_select_o_tm$ (b_S_typemap$ v_b_S_s$) ?v0) ) :qid k!704))
+))
+(let (($x10287 (and $x10278 $x10286)))
+(let (($x10271 (forall ((?v0 B_S_ptr$) )(! (let (($x10260 (b_S_thread_n_local$ v_b_S_s$ ?v0)))
+(let ((?x10256 (b_S_statusmap$ v_b_S_s$)))
+(let ((?x10257 (b_S_select_o_sm$ ?x10256 ?v0)))
+(let (($x10269 (and (= ?x10257 ?x10257) $x10260)))
+(=> $x10260 $x10269))))) :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ v_b_S_s$) ?v0) ) :qid k!704))
+))
+(let (($x10288 (and $x10271 $x10287)))
+(let (($x10267 (forall ((?v0 B_S_ptr$) )(! (let (($x10260 (b_S_thread_n_local$ v_b_S_s$ ?v0)))
+(let ((?x10261 (b_S_memory$ v_b_S_s$)))
+(let ((?x10262 (b_S_select_o_mem$ ?x10261 ?v0)))
+(let (($x10264 (and (= ?x10262 ?x10262) $x10260)))
+(=> $x10260 $x10264))))) :pattern ( (b_S_select_o_mem$ (b_S_memory$ v_b_S_s$) ?v0) ) :qid k!704))
+))
+(let (($x10289 (and $x10267 $x10288)))
+(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$)))
+(=> (not $x10253) (not $x10253))) :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ v_b_S_s$) ?v0) ) :qid k!704))
+))
+(let (($x10290 (and $x10259 $x10289)))
+(let (($x10311 (and true (and $x10182 (and $x10290 (and $x10286 $x10307))))))
+(let (($x10313 (and true (and $x10182 $x10311))))
+(let (($x10315 (and true (and $x10182 $x10313))))
+(let (($x10419 (=> $x10315 (and $x10409 $x10417))))
+(let (($x10203 (not true)))
+(let (($x10212 (and $x10203 (and $x10182 (and true (and $x10182 (and $x10205 $x10207)))))))
+(let (($x10213 (and $x10182 $x10212)))
+(let (($x10214 (and true $x10213)))
+(let (($x10249 (=> $x10214 $x10248)))
+(let (($x10420 (and $x10249 $x10419)))
+(let (($x10194 (and (and (< v_b_SL_H_witness_G_0$ v_b_P_H_len$) $x10192) $x10182)))
+(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$))))
+(let (($x10186 (<= ?x10163 v_b_L_H_max_G_1$)))
+(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
+(let (($x2766 (<= 0 ?v0)))
+(let (($x3098 (and $x2766 $x3097)))
+(let (($x10185 (and $x3098 (< ?v0 v_b_L_H_p_G_0$))))
+(=> $x10185 $x10186))))))) :qid k!704))
+))
+(let (($x10183 (<= v_b_L_H_p_G_0$ v_b_P_H_len$)))
+(let (($x10180 (and (<= 0 v_b_L_H_p_G_0$) (<= v_b_L_H_p_G_0$ b_S_max_o_u4$))))
+(let (($x10176 (and $x10174 (<= v_b_SL_H_witness_G_0$ b_S_max_o_u4$))))
+(let (($x10172 (and (<= 0 v_b_L_H_max_G_1$) (<= v_b_L_H_max_G_1$ b_S_max_o_u1$))))
+(let (($x10200 (and $x10172 (and $x10176 (and $x10180 (and $x10182 (and $x10183 (and $x10188 $x10194))))))))
+(let (($x10201 (and true $x10200)))
+(let (($x10074 (< 0 v_b_P_H_len$)))
+(let (($x10168 (and $x10074 $x10167)))
+(let (($x10421 (=> (and $x10168 $x10201) $x10420)))
+(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$))))
+(let (($x10164 (<= ?x10163 v_b_L_H_max_G_0$)))
+(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
+(let (($x2766 (<= 0 ?v0)))
+(let (($x3098 (and $x2766 $x3097)))
+(let (($x10161 (and $x3098 (< ?v0 1))))
+(=> $x10161 $x10164))))))) :qid k!704))
+))
+(let (($x10423 (=> $x10166 (and $x10168 $x10421))))
+(let (($x10159 (<= 1 v_b_P_H_len$)))
+(let (($x10425 (=> $x10159 (and $x10166 $x10423))))
+(let (($x10149 (<= 1 1)))
+(let (($x10154 (and $x10148 (and $x10149 (and $x10149 (and (<= 0 0) (<= 0 0)))))))
+(let (($x10142 (and $x10138 $x10141)))
+(let (($x10427 (=> (and $x10142 (and $x10145 (and $x10146 (and $x10147 $x10154)))) (and $x10159 $x10425))))
+(let (($x10429 (=> $x10140 (and $x10142 $x10427))))
+(let (($x10431 (=> $x10136 (and $x10140 $x10429))))
+(let (($x10119 (and (<= 0 v_b_P_H_len$) (<= v_b_P_H_len$ b_S_max_o_u4$))))
+(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)))
+(= $x10113 false)) :pattern ( (b_S_in_n_writes_n_at$ v_b_H_wrTime_S_1_T_6_o_1$ ?v0) ) :qid k!704))
+))
+(let (($x10108 (and $x10106 $x10107)))
+(let (($x10104 (forall ((?v0 B_S_pure_n_function$) )(! (let ((?x10100 (b_S_frame_n_level$ ?v0)))
+(< ?x10100 b_S_current_n_frame_n_level$)) :pattern ( (b_S_frame_n_level$ ?v0) ) :qid k!704))
+))
+(let (($x10098 (and $x10096 $x10097)))
+(let (($x10125 (and $x10098 (and $x10104 (and $x10108 (and $x10109 (and $x10112 (and $x10116 $x10119))))))))
+(let (($x10127 (and true (and $x10095 $x10125))))
+(let (($x10094 (and $x10081 (and $x10083 (and $x10084 (and $x10085 (and $x10088 $x10089)))))))
+(let (($x10073 (< v_b_P_H_len$ 1099511627776)))
+(let (($x10071 (and (<= 0 v_b_SL_H_witness$) (<= v_b_SL_H_witness$ b_S_max_o_u4$))))
+(let (($x10067 (and (<= 0 v_b_L_H_p$) (<= v_b_L_H_p$ b_S_max_o_u4$))))
+(let (($x10063 (and (<= 0 v_b_L_H_max$) (<= v_b_L_H_max$ b_S_max_o_u1$))))
+(let (($x10133 (and $x10063 (and $x10067 (and $x10071 (and $x10073 (and $x10074 (and $x10094 $x10127))))))))
+(let (($x10134 (and true $x10133)))
+(let (($x10433 (=> $x10134 (and $x10136 $x10431))))
+(let (($x10434 (not $x10433)))
+(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$))))
+(let (($x10235 (<= ?x10163 v_b_S_result_G_0$)))
+(let (($x10233 (< ?v0 v_b_P_H_len$)))
+(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
+(let (($x2766 (<= 0 ?v0)))
+(let (($x3098 (and $x2766 $x3097)))
+(let (($x10234 (and $x3098 $x10233)))
+(or (not $x10234) $x10235)))))))) :qid k!704))
+))
+(let (($x10665 (or (not $x10649) $x10242)))
+(let (($x10670 (and $x10649 $x10665)))
+(let (($x10616 (and $x10216 (and $x10218 (and $x10220 $x10222)))))
+(let (($x10626 (and $x10182 $x10616)))
+(let (($x10629 (and $x10182 $x10626)))
+(let (($x10639 (and $x10182 $x10629)))
+(let (($x10642 (and b_S_position_n_marker$ $x10639)))
+(let (($x10677 (or (not $x10642) $x10670)))
+(let (($x10682 (and b_S_position_n_marker$ $x10677)))
+(let (($x11134 (or (not (and $x10182 (and $x10410 $x10182))) $x10682)))
+(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$))))
+(let (($x10368 (<= ?x10163 v_b_L_H_max_G_3$)))
+(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
+(let (($x2766 (<= 0 ?v0)))
+(let (($x3098 (and $x2766 $x3097)))
+(let (($x10367 (and $x3098 (< ?v0 v_b_L_H_p_G_1$))))
+(or (not $x10367) $x10368))))))) :qid k!704))
+))
+(let (($x10954 (or (not $x10931) $x10375)))
+(let (($x10959 (and $x10931 $x10954)))
+(let (($x10966 (or (not $x10365) $x10959)))
+(let (($x10971 (and $x10365 $x10966)))
+(let (($x10918 (and $x10358 $x10360)))
+(let ((?x10901 (+ 1 v_b_L_H_p_G_0$)))
+(let (($x10913 (= v_b_L_H_p_G_1$ ?x10901)))
+(let (($x10921 (and $x10913 $x10918)))
+(let (($x10907 (<= ?x10901 b_S_max_o_u4$)))
+(let (($x10904 (<= 0 ?x10901)))
+(let (($x10910 (and $x10904 $x10907)))
+(let (($x10924 (and $x10910 $x10921)))
+(let (($x10978 (or (not $x10924) $x10971)))
+(let (($x10983 (and $x10910 $x10978)))
+(let (($x10342 (and $x10181 $x10341)))
+(let (($x11019 (and $x10392 $x10342)))
+(let (($x11022 (and $x10391 $x11019)))
+(let (($x11032 (and $x10182 $x11022)))
+(let (($x11035 (and $x10182 $x11032)))
+(let (($x11045 (and $x10182 $x11035)))
+(let (($x11048 (and $x10390 $x11045)))
+(let (($x11051 (and $x10182 $x11048)))
+(let (($x11065 (or (not $x11051) $x10983)))
+(let (($x10873 (and $x10340 $x10342)))
+(let (($x10876 (and $x10338 $x10873)))
+(let (($x10886 (and $x10181 $x10876)))
+(let (($x10889 (and $x10335 $x10886)))
+(let (($x10892 (and $x10334 $x10889)))
+(let (($x10895 (and $x10333 $x10892)))
+(let (($x10898 (and $x10325 $x10895)))
+(let (($x10990 (or (not $x10898) $x10983)))
+(let (($x10995 (and $x10325 $x10990)))
+(let (($x11002 (or $x11001 $x10995)))
+(let (($x11007 (and $x10323 $x11002)))
+(let (($x11014 (or (not (and $x10182 (and (< v_b_L_H_max_G_1$ ?x10327) $x10182))) $x11007)))
+(let (($x11070 (and $x11014 $x11065)))
+(let (($x11077 (or (not $x10326) $x11070)))
+(let (($x11082 (and $x10325 $x11077)))
+(let (($x11088 (or $x11001 $x11082)))
+(let (($x11093 (and $x10323 $x11088)))
+(let (($x11100 (or (not (and $x10182 (and (< v_b_L_H_p_G_0$ v_b_P_H_len$) $x10182))) $x11093)))
+(let (($x11139 (and $x11100 $x11134)))
+(let (($x10789 (and $x10297 $x10182)))
+(let (($x10792 (and $x10294 $x10789)))
+(let (($x10795 (and $x10293 $x10792)))
+(let (($x10798 (and $x10292 $x10795)))
+(let (($x10801 (and $x10291 $x10798)))
+(let (($x10804 (and $x10205 $x10801)))
+(let (($x10807 (and $x10286 $x10804)))
+(let (($x10810 (and $x10286 $x10807)))
+(let (($x10813 (and $x10182 $x10810)))
+(let (($x10823 (and $x10182 $x10813)))
+(let (($x10833 (and $x10182 $x10823)))
+(let (($x11146 (or (not $x10833) $x11139)))
+(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$))))
+(let (($x10186 (<= ?x10163 v_b_L_H_max_G_1$)))
+(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
+(let (($x2766 (<= 0 ?v0)))
+(let (($x3098 (and $x2766 $x3097)))
+(let (($x10185 (and $x3098 (< ?v0 v_b_L_H_p_G_0$))))
+(or (not $x10185) $x10186))))))) :qid k!704))
+))
+(let (($x10532 (and $x10529 $x10194)))
+(let (($x10535 (and $x10183 $x10532)))
+(let (($x10538 (and $x10182 $x10535)))
+(let (($x10541 (and $x10180 $x10538)))
+(let (($x10544 (and $x10176 $x10541)))
+(let (($x10547 (and $x10172 $x10544)))
+(let (($x10557 (and $x10168 $x10547)))
+(let (($x11162 (or (not $x10557) $x11146)))
+(let (($x11167 (and $x10168 $x11162)))
+(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$))))
+(let (($x10164 (<= ?x10163 v_b_L_H_max_G_0$)))
+(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
+(let (($x2766 (<= 0 ?v0)))
+(let (($x3098 (and $x2766 $x3097)))
+(let (($x10161 (and $x3098 (< ?v0 1))))
+(or (not $x10161) $x10164))))))) :qid k!704))
+))
+(let (($x11174 (or (not $x10522) $x11167)))
+(let (($x11179 (and $x10522 $x11174)))
+(let (($x11186 (or (not $x10159) $x11179)))
+(let (($x11191 (and $x10159 $x11186)))
+(let (($x10150 (<= 0 0)))
+(let (($x10497 (and $x10149 $x10150)))
+(let (($x10500 (and $x10149 $x10497)))
+(let (($x10503 (and $x10148 $x10500)))
+(let (($x10506 (and $x10147 $x10503)))
+(let (($x10509 (and $x10146 $x10506)))
+(let (($x10512 (and $x10145 $x10509)))
+(let (($x10515 (and $x10142 $x10512)))
+(let (($x11198 (or (not $x10515) $x11191)))
+(let (($x11203 (and $x10142 $x11198)))
+(let (($x11210 (or $x11209 $x11203)))
+(let (($x11215 (and $x10140 $x11210)))
+(let (($x11222 (or $x11221 $x11215)))
+(let (($x11227 (and $x10136 $x11222)))
+(let (($x10442 (and $x10439 $x10119)))
+(let (($x10445 (and $x10112 $x10442)))
+(let (($x10448 (and $x10109 $x10445)))
+(let (($x10451 (and $x10108 $x10448)))
+(let (($x10454 (and $x10104 $x10451)))
+(let (($x10457 (and $x10098 $x10454)))
+(let (($x10460 (and $x10095 $x10457)))
+(let (($x10470 (and $x10094 $x10460)))
+(let (($x10473 (and $x10074 $x10470)))
+(let (($x10476 (and $x10073 $x10473)))
+(let (($x10479 (and $x10071 $x10476)))
+(let (($x10482 (and $x10067 $x10479)))
+(let (($x10485 (and $x10063 $x10482)))
+(let (($x11234 (or (not $x10485) $x11227)))
+(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ ?x10078 ?0 b_T_T_u1$))))
+(let (($x10238 (= ?x10163 v_b_S_result_G_0$)))
+(let (($x11800 (>= (+ ?0 (* (- 1) v_b_P_H_len$)) 0)))
+(let (($x11802 (not $x11800)))
+(let ((?x3113 (* (- 1) b_S_max_o_u4$)))
+(let ((?x3114 (+ ?0 ?x3113)))
+(let (($x3115 (<= ?x3114 0)))
+(let (($x2815 (>= ?0 0)))
+(let (($x11839 (and $x2815 $x3115 $x11802 $x10238)))
+(let (($x2766 (<= 0 ?0)))
+(let (($x10241 (and $x2766 (and (<= ?0 b_S_max_o_u4$) (and (< ?0 v_b_P_H_len$) $x10238)))))
+(let (($x11834 (= (and (<= ?0 b_S_max_o_u4$) (and (< ?0 v_b_P_H_len$) $x10238)) (and $x3115 (and $x11802 $x10238)))))
+(let ((@x11832 (monotonicity (rewrite (= (< ?0 v_b_P_H_len$) $x11802)) (= (and (< ?0 v_b_P_H_len$) $x10238) (and $x11802 $x10238)))))
+(let ((@x2814 (rewrite (= $x2766 $x2815))))
+(let ((@x11838 (monotonicity @x2814 (monotonicity (rewrite (= (<= ?0 b_S_max_o_u4$) $x3115)) @x11832 $x11834) (= $x10241 (and $x2815 (and $x3115 (and $x11802 $x10238)))))))
+(let ((@x11843 (trans @x11838 (rewrite (= (and $x2815 (and $x3115 (and $x11802 $x10238))) $x11839)) (= $x10241 $x11839))))
+(let (($x11818 (<= (+ ?x10163 (* (- 1) v_b_S_result_G_0$)) 0)))
+(let (($x11808 (and $x2815 $x3115 $x11802)))
+(let (($x11813 (not $x11808)))
+(let (($x11821 (or $x11813 $x11818)))
+(let (($x10235 (<= ?x10163 v_b_S_result_G_0$)))
+(let (($x10233 (< ?0 v_b_P_H_len$)))
+(let (($x3097 (<= ?0 b_S_max_o_u4$)))
+(let (($x3098 (and $x2766 $x3097)))
+(let (($x10234 (and $x3098 $x10233)))
+(let (($x10646 (or (not $x10234) $x10235)))
+(let ((@x3124 (monotonicity @x2814 (rewrite (= $x3097 $x3115)) (= $x3098 (and $x2815 $x3115)))))
+(let ((@x11807 (monotonicity @x3124 (rewrite (= $x10233 $x11802)) (= $x10234 (and (and $x2815 $x3115) $x11802)))))
+(let ((@x11812 (trans @x11807 (rewrite (= (and (and $x2815 $x3115) $x11802) $x11808)) (= $x10234 $x11808))))
+(let ((@x11823 (monotonicity (monotonicity @x11812 (= (not $x10234) $x11813)) (rewrite (= $x10235 $x11818)) (= $x10646 $x11821))))
+(let ((@x11829 (monotonicity (quant-intro @x11823 (= $x10649 $x11824)) (= (not $x10649) $x11827))))
+(let ((@x11852 (monotonicity (quant-intro @x11823 (= $x10649 $x11824)) (monotonicity @x11829 (quant-intro @x11843 (= $x10242 $x11844)) (= $x10665 $x11847)) (= $x10670 $x11850))))
+(let (($x11434 (and $x11429 $x11432)))
+(let (($x11793 (= (and b_S_position_n_marker$ (and $x11434 (and $x11434 (and $x11434 $x10616)))) $x11792)))
+(let (($x11790 (= $x10642 (and b_S_position_n_marker$ (and $x11434 (and $x11434 (and $x11434 $x10616)))))))
+(let ((@x11430 (rewrite (= $x10181 $x11429))))
+(let ((@x11436 (monotonicity @x11430 (rewrite (= $x10174 $x11432)) (= $x10182 $x11434))))
+(let ((@x11785 (monotonicity @x11436 (monotonicity @x11436 (= $x10626 (and $x11434 $x10616))) (= $x10629 (and $x11434 (and $x11434 $x10616))))))
+(let ((@x11788 (monotonicity @x11436 @x11785 (= $x10639 (and $x11434 (and $x11434 (and $x11434 $x10616)))))))
+(let ((@x11799 (monotonicity (trans (monotonicity @x11788 $x11790) (rewrite $x11793) (= $x10642 $x11792)) (= (not $x10642) $x11797))))
+(let ((@x11858 (monotonicity (monotonicity @x11799 @x11852 (= $x10677 $x11853)) (= $x10682 $x11856))))
+(let ((@x11768 (monotonicity (rewrite (= $x10410 $x11486)) @x11436 (= (and $x10410 $x10182) (and $x11486 $x11434)))))
+(let ((@x11771 (monotonicity @x11436 @x11768 (= (and $x10182 (and $x10410 $x10182)) (and $x11434 (and $x11486 $x11434))))))
+(let ((@x11776 (trans @x11771 (rewrite (= (and $x11434 (and $x11486 $x11434)) $x11772)) (= (and $x10182 (and $x10410 $x10182)) $x11772))))
+(let ((@x11861 (monotonicity (monotonicity @x11776 (= (not (and $x10182 (and $x10410 $x10182))) $x11777)) @x11858 (= $x11134 $x11859))))
+(let ((@x11653 (monotonicity (rewrite (= (< v_b_SL_H_witness_G_1$ v_b_P_H_len$) $x11648)) (= $x10375 $x11651))))
+(let (($x11633 (<= (+ ?x10163 (* (- 1) v_b_L_H_max_G_3$)) 0)))
+(let (($x11615 (>= (+ ?0 ?x11581) 0)))
+(let (($x11617 (not $x11615)))
+(let (($x11623 (and $x2815 $x3115 $x11617)))
+(let (($x11628 (not $x11623)))
+(let (($x11636 (or $x11628 $x11633)))
+(let (($x10368 (<= ?x10163 v_b_L_H_max_G_3$)))
+(let (($x10928 (or (not (and $x3098 (< ?0 v_b_L_H_p_G_1$))) $x10368)))
+(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)))))
+(let ((@x11627 (trans @x11622 (rewrite (= (and (and $x2815 $x3115) $x11617) $x11623)) (= (and $x3098 (< ?0 v_b_L_H_p_G_1$)) $x11623))))
+(let ((@x11630 (monotonicity @x11627 (= (not (and $x3098 (< ?0 v_b_L_H_p_G_1$))) $x11628))))
+(let ((@x11641 (quant-intro (monotonicity @x11630 (rewrite (= $x10368 $x11633)) (= $x10928 $x11636)) (= $x10931 $x11639))))
+(let ((@x11656 (monotonicity (monotonicity @x11641 (= (not $x10931) $x11642)) @x11653 (= $x10954 $x11654))))
+(let ((@x11662 (monotonicity (monotonicity (rewrite (= $x10365 $x11608)) (= (not $x10365) $x11612)) (monotonicity @x11641 @x11656 (= $x10959 $x11657)) (= $x10966 $x11660))))
+(let (($x11601 (= (and (and $x11570 $x11573) (and $x11580 (and $x10358 (and $x11578 $x11536)))) $x11600)))
+(let (($x11598 (= $x10924 (and (and $x11570 $x11573) (and $x11580 (and $x10358 (and $x11578 $x11536)))))))
+(let ((@x11587 (monotonicity (rewrite (= (<= 2 v_b_L_H_p_G_1$) $x11578)) (rewrite (= $x10341 $x11536)) (= $x10360 (and $x11578 $x11536)))))
+(let ((@x11593 (monotonicity (rewrite (= $x10913 $x11580)) (monotonicity @x11587 (= $x10918 (and $x10358 (and $x11578 $x11536)))) (= $x10921 (and $x11580 (and $x10358 (and $x11578 $x11536)))))))
+(let ((@x11596 (monotonicity (rewrite (= $x10904 $x11570)) (rewrite (= $x10907 $x11573)) (= $x10910 (and $x11570 $x11573)))))
+(let ((@x11607 (monotonicity (trans (monotonicity @x11596 @x11593 $x11598) (rewrite $x11601) (= $x10924 $x11600)) (= (not $x10924) $x11605))))
+(let ((@x11668 (monotonicity @x11607 (monotonicity (rewrite (= $x10365 $x11608)) @x11662 (= $x10971 $x11663)) (= $x10978 $x11666))))
+(let ((@x11676 (trans (monotonicity @x11596 @x11668 (= $x10983 (and (and $x11570 $x11573) $x11666))) (rewrite (= (and (and $x11570 $x11573) $x11666) $x11672)) (= $x10983 $x11672))))
+(let (($x11716 (and $x11434 (and $x11434 (and $x11434 (and $x10391 (and $x10392 (and $x11429 $x11536))))))))
+(let (($x11714 (= $x11035 (and $x11434 (and $x11434 (and $x10391 (and $x10392 (and $x11429 $x11536))))))))
+(let ((@x11540 (monotonicity @x11430 (rewrite (= $x10341 $x11536)) (= $x10342 (and $x11429 $x11536)))))
+(let ((@x11709 (monotonicity (monotonicity @x11540 (= $x11019 (and $x10392 (and $x11429 $x11536)))) (= $x11022 (and $x10391 (and $x10392 (and $x11429 $x11536)))))))
+(let ((@x11712 (monotonicity @x11436 @x11709 (= $x11032 (and $x11434 (and $x10391 (and $x10392 (and $x11429 $x11536))))))))
+(let ((@x11721 (monotonicity (rewrite (= $x10390 $x11516)) (monotonicity @x11436 (monotonicity @x11436 @x11712 $x11714) (= $x11045 $x11716)) (= $x11048 (and $x11516 $x11716)))))
+(let ((@x11729 (trans (monotonicity @x11436 @x11721 (= $x11051 (and $x11434 (and $x11516 $x11716)))) (rewrite (= (and $x11434 (and $x11516 $x11716)) $x11725)) (= $x11051 $x11725))))
+(let ((@x11735 (monotonicity (monotonicity @x11729 (= (not $x11051) $x11730)) @x11676 (= $x11065 $x11733))))
+(let (($x11553 (and $x10334 (and $x10335 (and $x11429 (and $x10338 (and $x10340 (and $x11429 $x11536))))))))
+(let (($x11551 (= $x10889 (and $x10335 (and $x11429 (and $x10338 (and $x10340 (and $x11429 $x11536))))))))
+(let ((@x11546 (monotonicity (monotonicity @x11540 (= $x10873 (and $x10340 (and $x11429 $x11536)))) (= $x10876 (and $x10338 (and $x10340 (and $x11429 $x11536)))))))
+(let ((@x11549 (monotonicity @x11430 @x11546 (= $x10886 (and $x11429 (and $x10338 (and $x10340 (and $x11429 $x11536))))))))
+(let ((@x11558 (monotonicity (monotonicity (monotonicity @x11549 $x11551) (= $x10892 $x11553)) (= $x10895 (and $x10333 $x11553)))))
+(let ((@x11566 (trans (monotonicity @x11558 (= $x10898 (and $x10325 (and $x10333 $x11553)))) (rewrite (= (and $x10325 (and $x10333 $x11553)) $x11562)) (= $x10898 $x11562))))
+(let ((@x11679 (monotonicity (monotonicity @x11566 (= (not $x10898) $x11567)) @x11676 (= $x10990 $x11677))))
+(let ((@x11687 (trans (monotonicity @x11679 (= $x10995 (and $x10325 $x11677))) (rewrite (= (and $x10325 $x11677) $x11683)) (= $x10995 $x11683))))
+(let ((@x11693 (monotonicity (monotonicity @x11687 (= $x11002 $x11688)) (= $x11007 (and $x10323 $x11688)))))
+(let (($x10328 (< v_b_L_H_max_G_1$ ?x10327)))
+(let (($x10856 (and $x10328 $x10182)))
+(let (($x10859 (and $x10182 $x10856)))
+(let ((@x11523 (monotonicity (rewrite (= $x10328 $x11515)) @x11436 (= $x10856 (and $x11515 $x11434)))))
+(let ((@x11531 (trans (monotonicity @x11436 @x11523 (= $x10859 (and $x11434 (and $x11515 $x11434)))) (rewrite (= (and $x11434 (and $x11515 $x11434)) $x11527)) (= $x10859 $x11527))))
+(let ((@x11701 (monotonicity (monotonicity @x11531 (= (not $x10859) $x11532)) (trans @x11693 (rewrite (= (and $x10323 $x11688) $x11694)) (= $x11007 $x11694)) (= $x11014 $x11699))))
+(let ((@x11511 (trans (monotonicity @x11436 (= $x10326 (and $x10325 $x11434))) (rewrite (= (and $x10325 $x11434) $x11507)) (= $x10326 $x11507))))
+(let ((@x11741 (monotonicity (monotonicity @x11511 (= (not $x10326) $x11512)) (monotonicity @x11701 @x11735 (= $x11070 $x11736)) (= $x11077 $x11739))))
+(let ((@x11749 (trans (monotonicity @x11741 (= $x11082 (and $x10325 $x11739))) (rewrite (= (and $x10325 $x11739) $x11745)) (= $x11082 $x11745))))
+(let ((@x11755 (monotonicity (monotonicity @x11749 (= $x11088 $x11750)) (= $x11093 (and $x10323 $x11750)))))
+(let (($x11502 (= (not (and $x10182 (and (< v_b_L_H_p_G_0$ v_b_P_H_len$) $x10182))) $x11501)))
+(let (($x10316 (< v_b_L_H_p_G_0$ v_b_P_H_len$)))
+(let (($x10843 (and $x10316 $x10182)))
+(let (($x10846 (and $x10182 $x10843)))
+(let ((@x11492 (monotonicity (rewrite (= $x10316 $x11487)) @x11436 (= $x10843 (and $x11487 $x11434)))))
+(let ((@x11500 (trans (monotonicity @x11436 @x11492 (= $x10846 (and $x11434 (and $x11487 $x11434)))) (rewrite (= (and $x11434 (and $x11487 $x11434)) $x11496)) (= $x10846 $x11496))))
+(let ((@x11763 (monotonicity (monotonicity @x11500 $x11502) (trans @x11755 (rewrite (= (and $x10323 $x11750) $x11756)) (= $x11093 $x11756)) (= $x11100 $x11761))))
+(let (($x11452 (and $x10205 (and $x10291 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x11434))))))))
+(let (($x11458 (and true (and true $x10284))))
+(let (($x11477 (= (and $x11434 (and $x11434 (and $x11434 (and $x11458 (and $x11458 $x11452))))) $x11476)))
+(let (($x11474 (= $x10833 (and $x11434 (and $x11434 (and $x11434 (and $x11458 (and $x11458 $x11452))))))))
+(let (($x11450 (= $x10801 (and $x10291 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x11434))))))))
+(let ((@x11442 (monotonicity (monotonicity @x11436 (= $x10789 (and $x10297 $x11434))) (= $x10792 (and $x10294 (and $x10297 $x11434))))))
+(let ((@x11448 (monotonicity (monotonicity @x11442 (= $x10795 (and $x10293 (and $x10294 (and $x10297 $x11434))))) (= $x10798 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x11434))))))))
+(let (($x11419 (forall ((?v0 B_S_ptr$) )(! true :pattern ( (b_S_timestamp$ v_b_S_s$ ?v0) ) :qid k!704))
+))
+(let (($x11417 (= (<= (b_S_timestamp$ v_b_S_s$ ?0) (b_S_timestamp$ v_b_S_s$ ?0)) true)))
+(let ((@x11425 (trans (quant-intro (rewrite $x11417) (= $x10283 $x11419)) (elim-unused (= $x11419 true)) (= $x10283 true))))
+(let ((@x11460 (monotonicity (rewrite (= (<= ?x10111 ?x10111) true)) (monotonicity @x11425 (= (and $x10283 $x10284) (and true $x10284))) (= $x10286 $x11458))))
+(let ((@x11463 (monotonicity @x11460 (monotonicity (monotonicity @x11448 $x11450) (= $x10804 $x11452)) (= $x10807 (and $x11458 $x11452)))))
+(let ((@x11469 (monotonicity @x11436 (monotonicity @x11460 @x11463 (= $x10810 (and $x11458 (and $x11458 $x11452)))) (= $x10813 (and $x11434 (and $x11458 (and $x11458 $x11452)))))))
+(let ((@x11472 (monotonicity @x11436 @x11469 (= $x10823 (and $x11434 (and $x11434 (and $x11458 (and $x11458 $x11452))))))))
+(let ((@x11483 (monotonicity (trans (monotonicity @x11436 @x11472 $x11474) (rewrite $x11477) (= $x10833 $x11476)) (= (not $x10833) $x11481))))
+(let ((@x11967 (monotonicity @x11483 (monotonicity @x11763 @x11861 (= $x11139 $x11862)) (= $x11146 (or $x11481 $x11862)))))
+(let (($x11936 (and (and $x11901 $x11904) (and $x11434 (and $x11898 (and $x11895 (and (and $x11868 $x10192) $x11434)))))))
+(let (($x11951 (and $x11260 $x10167)))
+(let (($x11958 (= (and $x11951 (and (and $x11911 $x11914) (and (and $x11432 $x11907) $x11936))) $x11957)))
+(let (($x11955 (= $x10557 (and $x11951 (and (and $x11911 $x11914) (and (and $x11432 $x11907) $x11936))))))
+(let (($x11931 (= $x10538 (and $x11434 (and $x11898 (and $x11895 (and (and $x11868 $x10192) $x11434)))))))
+(let (($x11919 (= (and (< v_b_SL_H_witness_G_0$ v_b_P_H_len$) $x10192) (and $x11868 $x10192))))
+(let ((@x11920 (monotonicity (rewrite (= (< v_b_SL_H_witness_G_0$ v_b_P_H_len$) $x11868)) $x11919)))
+(let (($x11889 (<= (+ ?x10163 (* (- 1) v_b_L_H_max_G_1$)) 0)))
+(let (($x11871 (>= (+ ?0 ?x11484) 0)))
+(let (($x11873 (not $x11871)))
+(let (($x11879 (and $x2815 $x3115 $x11873)))
+(let (($x11884 (not $x11879)))
+(let (($x11892 (or $x11884 $x11889)))
+(let (($x10186 (<= ?x10163 v_b_L_H_max_G_1$)))
+(let (($x10526 (or (not (and $x3098 (< ?0 v_b_L_H_p_G_0$))) $x10186)))
+(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)))))
+(let ((@x11883 (trans @x11878 (rewrite (= (and (and $x2815 $x3115) $x11873) $x11879)) (= (and $x3098 (< ?0 v_b_L_H_p_G_0$)) $x11879))))
+(let ((@x11886 (monotonicity @x11883 (= (not (and $x3098 (< ?0 v_b_L_H_p_G_0$))) $x11884))))
+(let ((@x11897 (quant-intro (monotonicity @x11886 (rewrite (= $x10186 $x11889)) (= $x10526 $x11892)) (= $x10529 $x11895))))
+(let ((@x11926 (monotonicity @x11897 (monotonicity @x11920 @x11436 (= $x10194 (and (and $x11868 $x10192) $x11434))) (= $x10532 (and $x11895 (and (and $x11868 $x10192) $x11434))))))
+(let ((@x11929 (monotonicity (rewrite (= $x10183 $x11898)) @x11926 (= $x10535 (and $x11898 (and $x11895 (and (and $x11868 $x10192) $x11434)))))))
+(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)))))
+(let ((@x11941 (monotonicity (rewrite (= $x10174 $x11432)) (rewrite (= (<= v_b_SL_H_witness_G_0$ b_S_max_o_u4$) $x11907)) (= $x10176 (and $x11432 $x11907)))))
+(let ((@x11944 (monotonicity @x11941 (monotonicity @x11935 (monotonicity @x11436 @x11929 $x11931) (= $x10541 $x11936)) (= $x10544 (and (and $x11432 $x11907) $x11936)))))
+(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)))))
+(let ((@x11950 (monotonicity @x11947 @x11944 (= $x10547 (and (and $x11911 $x11914) (and (and $x11432 $x11907) $x11936))))))
+(let ((@x11956 (monotonicity (monotonicity (rewrite (= $x10074 $x11260)) (= $x10168 $x11951)) @x11950 $x11955)))
+(let ((@x11964 (monotonicity (trans @x11956 (rewrite $x11958) (= $x10557 $x11957)) (= (not $x10557) $x11962))))
+(let ((@x11975 (trans (monotonicity @x11964 @x11967 (= $x11162 (or $x11962 (or $x11481 $x11862)))) (rewrite (= (or $x11962 (or $x11481 $x11862)) $x11971)) (= $x11162 $x11971))))
+(let ((@x11978 (monotonicity (monotonicity (rewrite (= $x10074 $x11260)) (= $x10168 $x11951)) @x11975 (= $x11167 (and $x11951 $x11971)))))
+(let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0)))
+(let (($x11388 (>= ?0 1)))
+(let (($x11389 (not $x11388)))
+(let (($x11395 (and $x2815 $x3115 $x11389)))
+(let (($x11400 (not $x11395)))
+(let (($x11408 (or $x11400 $x11404)))
+(let (($x10164 (<= ?x10163 v_b_L_H_max_G_0$)))
+(let (($x10519 (or (not (and $x3098 (< ?0 1))) $x10164)))
+(let ((@x11394 (monotonicity @x3124 (rewrite (= (< ?0 1) $x11389)) (= (and $x3098 (< ?0 1)) (and (and $x2815 $x3115) $x11389)))))
+(let ((@x11399 (trans @x11394 (rewrite (= (and (and $x2815 $x3115) $x11389) $x11395)) (= (and $x3098 (< ?0 1)) $x11395))))
+(let ((@x11410 (monotonicity (monotonicity @x11399 (= (not (and $x3098 (< ?0 1))) $x11400)) (rewrite (= $x10164 $x11404)) (= $x10519 $x11408))))
+(let ((@x11416 (monotonicity (quant-intro @x11410 (= $x10522 $x11411)) (= (not $x10522) $x11414))))
+(let ((@x11986 (monotonicity @x11416 (trans @x11978 (rewrite (= (and $x11951 $x11971) $x11979)) (= $x11167 $x11979)) (= $x11174 $x11984))))
+(let ((@x11992 (monotonicity (monotonicity (rewrite (= $x10159 $x11382)) (= (not $x10159) $x11385)) (monotonicity (quant-intro @x11410 (= $x10522 $x11411)) @x11986 (= $x11179 $x11987)) (= $x11186 $x11990))))
+(let (($x11368 (and $x10145 (and $x10146 (and $x10147 (and $x10148 (and true (and true true))))))))
+(let (($x11366 (= $x10509 (and $x10146 (and $x10147 (and $x10148 (and true (and true true))))))))
+(let ((@x11355 (monotonicity (rewrite (= $x10149 true)) (rewrite (= $x10150 true)) (= $x10497 (and true true)))))
+(let ((@x11358 (monotonicity (rewrite (= $x10149 true)) @x11355 (= $x10500 (and true (and true true))))))
+(let ((@x11361 (monotonicity @x11358 (= $x10503 (and $x10148 (and true (and true true)))))))
+(let ((@x11364 (monotonicity @x11361 (= $x10506 (and $x10147 (and $x10148 (and true (and true true))))))))
+(let ((@x11373 (monotonicity (monotonicity (monotonicity @x11364 $x11366) (= $x10512 $x11368)) (= $x10515 (and $x10142 $x11368)))))
+(let ((@x11381 (monotonicity (trans @x11373 (rewrite (= (and $x10142 $x11368) $x11374)) (= $x10515 $x11374)) (= (not $x10515) $x11379))))
+(let ((@x11998 (monotonicity @x11381 (monotonicity (rewrite (= $x10159 $x11382)) @x11992 (= $x11191 $x11993)) (= $x11198 $x11996))))
+(let ((@x12006 (trans (monotonicity @x11998 (= $x11203 (and $x10142 $x11996))) (rewrite (= (and $x10142 $x11996) $x12002)) (= $x11203 $x12002))))
+(let ((@x12012 (monotonicity (monotonicity @x12006 (= $x11210 $x12007)) (= $x11215 (and $x10140 $x12007)))))
+(let ((@x12020 (monotonicity (trans @x12012 (rewrite (= (and $x10140 $x12007) $x12013)) (= $x11215 $x12013)) (= $x11222 $x12018))))
+(let (($x11306 (and $x11256 (and $x10108 (and $x10109 (and $x10112 (and $x10439 (and $x11243 $x11245))))))))
+(let (($x11327 (and (and $x11268 $x11270) (and $x11264 (and $x11260 (and $x10094 (and $x10095 (and $x10098 $x11306))))))))
+(let ((@x11344 (rewrite (= (and (and $x11284 $x11286) (and (and $x11276 $x11278) $x11327)) $x11342))))
+(let (($x11322 (= $x10476 (and $x11264 (and $x11260 (and $x10094 (and $x10095 (and $x10098 $x11306))))))))
+(let (($x11304 (= $x10451 (and $x10108 (and $x10109 (and $x10112 (and $x10439 (and $x11243 $x11245))))))))
+(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)))))
+(let ((@x11299 (monotonicity (monotonicity @x11293 (= $x10442 (and $x10439 (and $x11243 $x11245)))) (= $x10445 (and $x10112 (and $x10439 (and $x11243 $x11245)))))))
+(let ((@x11302 (monotonicity @x11299 (= $x10448 (and $x10109 (and $x10112 (and $x10439 (and $x11243 $x11245))))))))
+(let (($x11251 (>= (+ (b_S_frame_n_level$ ?0) (* (- 1) b_S_current_n_frame_n_level$)) 0)))
+(let (($x11250 (not $x11251)))
+(let ((@x11255 (rewrite (= (< (b_S_frame_n_level$ ?0) b_S_current_n_frame_n_level$) $x11250))))
+(let ((@x11308 (monotonicity (quant-intro @x11255 (= $x10104 $x11256)) (monotonicity @x11302 $x11304) (= $x10454 $x11306))))
+(let ((@x11314 (monotonicity (monotonicity @x11308 (= $x10457 (and $x10098 $x11306))) (= $x10460 (and $x10095 (and $x10098 $x11306))))))
+(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))))))))
+(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)))))
+(let ((@x11329 (monotonicity @x11326 (monotonicity (rewrite (= $x10073 $x11264)) @x11320 $x11322) (= $x10479 $x11327))))
+(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)))))
+(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)))))
+(let ((@x11341 (monotonicity @x11338 (monotonicity @x11332 @x11329 (= $x10482 (and (and $x11276 $x11278) $x11327))) (= $x10485 (and (and $x11284 $x11286) (and (and $x11276 $x11278) $x11327))))))
+(let ((@x11349 (monotonicity (trans @x11341 @x11344 (= $x10485 $x11342)) (= (not $x10485) (not $x11342)))))
+(let ((@x12026 (monotonicity @x11349 (monotonicity @x12020 (= $x11227 $x12021)) (= $x11234 (or (not $x11342) $x12021)))))
+(let ((@x10656 (monotonicity (rewrite (= (=> $x10242 true) true)) (= $x10244 (and $x10242 true)))))
+(let ((@x10663 (monotonicity (quant-intro (rewrite (= (=> $x10234 $x10235) $x10646)) (= $x10237 $x10649)) (trans @x10656 (rewrite (= (and $x10242 true) $x10242)) (= $x10244 $x10242)) (= $x10245 (=> $x10649 $x10242)))))
+(let ((@x10672 (monotonicity (quant-intro (rewrite (= (=> $x10234 $x10235) $x10646)) (= $x10237 $x10649)) (trans @x10663 (rewrite (= (=> $x10649 $x10242) $x10665)) (= $x10245 $x10665)) (= (and $x10237 $x10245) $x10670))))
+(let (($x10614 (= (and $x10218 (and $x10220 (and $x10222 true))) (and $x10218 (and $x10220 $x10222)))))
+(let ((@x10612 (monotonicity (rewrite (= (and $x10222 true) $x10222)) (= (and $x10220 (and $x10222 true)) (and $x10220 $x10222)))))
+(let ((@x10618 (monotonicity (monotonicity @x10612 $x10614) (= (and $x10216 (and $x10218 (and $x10220 (and $x10222 true)))) $x10616))))
+(let ((@x10625 (trans (monotonicity @x10618 (= $x10227 (and true $x10616))) (rewrite (= (and true $x10616) $x10616)) (= $x10227 $x10616))))
+(let ((@x10631 (monotonicity (monotonicity @x10625 (= (and $x10182 $x10227) $x10626)) (= (and $x10182 (and $x10182 $x10227)) $x10629))))
+(let ((@x10638 (trans (monotonicity @x10631 (= $x10230 (and true $x10629))) (rewrite (= (and true $x10629) $x10629)) (= $x10230 $x10629))))
+(let ((@x10644 (monotonicity (monotonicity @x10638 (= (and $x10182 $x10230) $x10639)) (= (and b_S_position_n_marker$ (and $x10182 $x10230)) $x10642))))
+(let ((@x10681 (trans (monotonicity @x10644 @x10672 (= $x10247 (=> $x10642 $x10670))) (rewrite (= (=> $x10642 $x10670) $x10677)) (= $x10247 $x10677))))
+(let (($x11117 (and $x10410 $x10182)))
+(let (($x11120 (and $x10182 $x11117)))
+(let ((@x10568 (rewrite (= (and $x10182 $x10182) $x10182))))
+(let ((@x10563 (rewrite (= $x10206 $x10182))))
+(let ((@x10570 (trans (monotonicity @x10563 (= $x10207 (and $x10182 $x10182))) @x10568 (= $x10207 $x10182))))
+(let ((@x11108 (trans (monotonicity @x10570 (= $x10411 (and $x10182 $x10182))) @x10568 (= $x10411 $x10182))))
+(let ((@x11114 (monotonicity (trans (monotonicity @x11108 (= $x10412 $x10206)) @x10563 (= $x10412 $x10182)) (= $x10413 (and $x10182 $x10182)))))
+(let ((@x11119 (monotonicity (trans @x11114 @x10568 (= $x10413 $x10182)) (= (and $x10410 $x10413) $x11117))))
+(let ((@x11125 (monotonicity (monotonicity @x11119 (= (and $x10182 (and $x10410 $x10413)) $x11120)) (= $x10416 (and true $x11120)))))
+(let ((@x11132 (monotonicity (trans @x11125 (rewrite (= (and true $x11120) $x11120)) (= $x10416 $x11120)) (monotonicity @x10681 (= $x10248 $x10682)) (= $x10417 (=> $x11120 $x10682)))))
+(let ((@x10938 (monotonicity (rewrite (= (and $x10375 false) false)) (= $x10377 (=> false true)))))
+(let ((@x10942 (trans @x10938 (rewrite (= (=> false true) true)) (= $x10377 true))))
+(let ((@x10949 (trans (monotonicity @x10942 (= $x10378 (and $x10375 true))) (rewrite (= (and $x10375 true) $x10375)) (= $x10378 $x10375))))
+(let ((@x10933 (quant-intro (rewrite (= (=> (and $x3098 (< ?0 v_b_L_H_p_G_1$)) $x10368) $x10928)) (= $x10370 $x10931))))
+(let ((@x10958 (trans (monotonicity @x10933 @x10949 (= $x10379 (=> $x10931 $x10375))) (rewrite (= (=> $x10931 $x10375) $x10954)) (= $x10379 $x10954))))
+(let ((@x10964 (monotonicity (monotonicity @x10933 @x10958 (= (and $x10370 $x10379) $x10959)) (= $x10381 (=> $x10365 $x10959)))))
+(let ((@x10973 (monotonicity (trans @x10964 (rewrite (= (=> $x10365 $x10959) $x10966)) (= $x10381 $x10966)) (= (and $x10365 $x10381) $x10971))))
+(let ((@x10920 (monotonicity (rewrite (= (and $x10360 true) $x10360)) (= (and $x10358 (and $x10360 true)) $x10918))))
+(let ((@x10903 (rewrite (= (+ v_b_L_H_p_G_0$ 1) ?x10901))))
+(let ((@x10915 (monotonicity @x10903 (= (= v_b_L_H_p_G_1$ (+ v_b_L_H_p_G_0$ 1)) $x10913))))
+(let ((@x10909 (monotonicity @x10903 (= (<= (+ v_b_L_H_p_G_0$ 1) b_S_max_o_u4$) $x10907))))
+(let ((@x10912 (monotonicity (monotonicity @x10903 (= (<= 0 (+ v_b_L_H_p_G_0$ 1)) $x10904)) @x10909 (= $x10355 $x10910))))
+(let ((@x10926 (monotonicity @x10912 (monotonicity @x10915 @x10920 (= $x10363 $x10921)) (= (and $x10355 $x10363) $x10924))))
+(let ((@x10982 (trans (monotonicity @x10926 @x10973 (= $x10383 (=> $x10924 $x10971))) (rewrite (= (=> $x10924 $x10971) $x10978)) (= $x10383 $x10978))))
+(let ((@x11021 (monotonicity (rewrite (= (and true $x10342) $x10342)) (= (and $x10392 (and true $x10342)) $x11019))))
+(let ((@x11024 (monotonicity @x11021 (= (and $x10391 (and $x10392 (and true $x10342))) $x11022))))
+(let ((@x11031 (trans (monotonicity @x11024 (= $x10395 (and true $x11022))) (rewrite (= (and true $x11022) $x11022)) (= $x10395 $x11022))))
+(let ((@x11037 (monotonicity (monotonicity @x11031 (= (and $x10182 $x10395) $x11032)) (= (and $x10182 (and $x10182 $x10395)) $x11035))))
+(let ((@x11044 (trans (monotonicity @x11037 (= $x10398 (and true $x11035))) (rewrite (= (and true $x11035) $x11035)) (= $x10398 $x11035))))
+(let ((@x11050 (monotonicity (monotonicity @x11044 (= (and $x10182 $x10398) $x11045)) (= (and $x10390 (and $x10182 $x10398)) $x11048))))
+(let ((@x11056 (monotonicity (monotonicity @x11050 (= (and $x10182 (and $x10390 (and $x10182 $x10398))) $x11051)) (= $x10402 (and true $x11051)))))
+(let ((@x11063 (monotonicity (trans @x11056 (rewrite (= (and true $x11051) $x11051)) (= $x10402 $x11051)) (monotonicity @x10912 @x10982 (= $x10384 $x10983)) (= $x10403 (=> $x11051 $x10983)))))
+(let (($x10896 (= (and $x10333 (and $x10334 (and $x10335 (and (and $x10181 $x10181) $x10346)))) $x10895)))
+(let ((@x10875 (monotonicity (rewrite (= (and true $x10342) $x10342)) (= (and $x10340 (and true $x10342)) $x10873))))
+(let ((@x10878 (monotonicity @x10875 (= (and $x10338 (and $x10340 (and true $x10342))) $x10876))))
+(let ((@x10885 (trans (monotonicity @x10878 (= $x10346 (and true $x10876))) (rewrite (= (and true $x10876) $x10876)) (= $x10346 $x10876))))
+(let ((@x10888 (monotonicity (rewrite (= (and $x10181 $x10181) $x10181)) @x10885 (= (and (and $x10181 $x10181) $x10346) $x10886))))
+(let ((@x10894 (monotonicity (monotonicity @x10888 (= (and $x10335 (and (and $x10181 $x10181) $x10346)) $x10889)) (= (and $x10334 (and $x10335 (and (and $x10181 $x10181) $x10346))) $x10892))))
+(let ((@x10988 (monotonicity (monotonicity (monotonicity @x10894 $x10896) (= $x10351 $x10898)) (monotonicity @x10912 @x10982 (= $x10384 $x10983)) (= $x10385 (=> $x10898 $x10983)))))
+(let ((@x10997 (monotonicity (trans @x10988 (rewrite (= (=> $x10898 $x10983) $x10990)) (= $x10385 $x10990)) (= (and $x10325 $x10385) $x10995))))
+(let ((@x11006 (trans (monotonicity @x10997 (= $x10387 (=> $x10323 $x10995))) (rewrite (= (=> $x10323 $x10995) $x11002)) (= $x10387 $x11002))))
+(let ((@x10861 (monotonicity (monotonicity @x10570 (= (and $x10328 $x10207) $x10856)) (= (and $x10182 (and $x10328 $x10207)) $x10859))))
+(let ((@x10868 (trans (monotonicity @x10861 (= $x10331 (and true $x10859))) (rewrite (= (and true $x10859) $x10859)) (= $x10331 $x10859))))
+(let ((@x11012 (monotonicity @x10868 (monotonicity @x11006 (= (and $x10323 $x10387) $x11007)) (= $x10389 (=> $x10859 $x11007)))))
+(let ((@x11072 (monotonicity (trans @x11012 (rewrite (= (=> $x10859 $x11007) $x11014)) (= $x10389 $x11014)) (trans @x11063 (rewrite (= (=> $x11051 $x10983) $x11065)) (= $x10403 $x11065)) (= (and $x10389 $x10403) $x11070))))
+(let ((@x11081 (trans (monotonicity @x11072 (= $x10405 (=> $x10326 $x11070))) (rewrite (= (=> $x10326 $x11070) $x11077)) (= $x10405 $x11077))))
+(let ((@x11087 (monotonicity (monotonicity @x11081 (= (and $x10325 $x10405) $x11082)) (= $x10407 (=> $x10323 $x11082)))))
+(let ((@x11095 (monotonicity (trans @x11087 (rewrite (= (=> $x10323 $x11082) $x11088)) (= $x10407 $x11088)) (= (and $x10323 $x10407) $x11093))))
+(let ((@x10848 (monotonicity (monotonicity @x10570 (= (and $x10316 $x10207) $x10843)) (= (and $x10182 (and $x10316 $x10207)) $x10846))))
+(let ((@x10855 (trans (monotonicity @x10848 (= $x10319 (and true $x10846))) (rewrite (= (and true $x10846) $x10846)) (= $x10319 $x10846))))
+(let ((@x11104 (trans (monotonicity @x10855 @x11095 (= $x10409 (=> $x10846 $x11093))) (rewrite (= (=> $x10846 $x11093) $x11100)) (= $x10409 $x11100))))
+(let ((@x11141 (monotonicity @x11104 (trans @x11132 (rewrite (= (=> $x11120 $x10682) $x11134)) (= $x10417 $x11134)) (= (and $x10409 $x10417) $x11139))))
+(let (($x10802 (= (and $x10291 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x10301))))) $x10801)))
+(let ((@x10777 (rewrite (= (= (b_S_statusmap$ v_b_S_s$) (b_S_statusmap$ v_b_S_s$)) true))))
+(let ((@x10780 (monotonicity (rewrite (= (= ?x10272 ?x10272) true)) @x10777 (= $x10300 (and true true)))))
+(let ((@x10784 (trans @x10780 (rewrite (= (and true true) true)) (= $x10300 true))))
+(let ((@x10791 (monotonicity (trans (monotonicity @x10784 (= $x10301 $x10206)) @x10563 (= $x10301 $x10182)) (= (and $x10297 $x10301) $x10789))))
+(let ((@x10797 (monotonicity (monotonicity @x10791 (= (and $x10294 (and $x10297 $x10301)) $x10792)) (= (and $x10293 (and $x10294 (and $x10297 $x10301))) $x10795))))
+(let ((@x10800 (monotonicity @x10797 (= (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x10301)))) $x10798))))
+(let ((@x10809 (monotonicity (monotonicity (monotonicity @x10800 $x10802) (= $x10307 $x10804)) (= (and $x10286 $x10307) $x10807))))
+(let ((@x10759 (rewrite (= (and true $x10286) $x10286))))
+(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))
+))
+(let (($x10260 (b_S_thread_n_local$ v_b_S_s$ ?0)))
+(let (($x10275 (and (= (b_S_select_o_tm$ ?x10272 ?0) (b_S_select_o_tm$ ?x10272 ?0)) $x10260)))
+(let (($x10276 (=> $x10260 $x10275)))
+(let ((@x10714 (rewrite (= (=> $x10260 $x10260) true))))
+(let ((@x10707 (rewrite (= (and true $x10260) $x10260))))
+(let (($x10738 (= (= (b_S_select_o_tm$ ?x10272 ?0) (b_S_select_o_tm$ ?x10272 ?0)) true)))
+(let ((@x10743 (trans (monotonicity (rewrite $x10738) (= $x10275 (and true $x10260))) @x10707 (= $x10275 $x10260))))
+(let ((@x10747 (trans (monotonicity @x10743 (= $x10276 (=> $x10260 $x10260))) @x10714 (= $x10276 true))))
+(let ((@x10754 (trans (quant-intro @x10747 (= $x10278 $x10748)) (elim-unused (= $x10748 true)) (= $x10278 true))))
+(let ((@x10761 (trans (monotonicity @x10754 (= $x10287 (and true $x10286))) @x10759 (= $x10287 $x10286))))
+(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))
+))
+(let ((?x10256 (b_S_statusmap$ v_b_S_s$)))
+(let ((?x10257 (b_S_select_o_sm$ ?x10256 ?0)))
+(let (($x10269 (and (= ?x10257 ?x10257) $x10260)))
+(let (($x10270 (=> $x10260 $x10269)))
+(let ((@x10727 (monotonicity (rewrite (= (= ?x10257 ?x10257) true)) (= $x10269 (and true $x10260)))))
+(let ((@x10731 (monotonicity (trans @x10727 @x10707 (= $x10269 $x10260)) (= $x10270 (=> $x10260 $x10260)))))
+(let ((@x10737 (trans (quant-intro (trans @x10731 @x10714 (= $x10270 true)) (= $x10271 $x10694)) (elim-unused (= $x10694 true)) (= $x10271 true))))
+(let ((@x10765 (trans (monotonicity @x10737 @x10761 (= $x10288 (and true $x10286))) @x10759 (= $x10288 $x10286))))
+(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))
+))
+(let ((?x10261 (b_S_memory$ v_b_S_s$)))
+(let ((?x10262 (b_S_select_o_mem$ ?x10261 ?0)))
+(let (($x10264 (and (= ?x10262 ?x10262) $x10260)))
+(let (($x10265 (=> $x10260 $x10264)))
+(let ((@x10705 (monotonicity (rewrite (= (= ?x10262 ?x10262) true)) (= $x10264 (and true $x10260)))))
+(let ((@x10712 (monotonicity (trans @x10705 @x10707 (= $x10264 $x10260)) (= $x10265 (=> $x10260 $x10260)))))
+(let ((@x10723 (trans (quant-intro (trans @x10712 @x10714 (= $x10265 true)) (= $x10267 $x10717)) (elim-unused (= $x10717 true)) (= $x10267 true))))
+(let ((@x10769 (trans (monotonicity @x10723 @x10765 (= $x10289 (and true $x10286))) @x10759 (= $x10289 $x10286))))
+(let (($x10253 (= (b_S_kind_n_of$ (b_S_typ$ (b_S_owner$ v_b_S_s$ ?0))) b_S_kind_n_thread$)))
+(let ((@x10696 (quant-intro (rewrite (= (=> (not $x10253) (not $x10253)) true)) (= $x10259 $x10694))))
+(let ((@x10771 (monotonicity (trans @x10696 (elim-unused (= $x10694 true)) (= $x10259 true)) @x10769 (= $x10290 (and true $x10286)))))
+(let ((@x10812 (monotonicity (trans @x10771 @x10759 (= $x10290 $x10286)) @x10809 (= (and $x10290 (and $x10286 $x10307)) $x10810))))
+(let ((@x10818 (monotonicity (monotonicity @x10812 (= (and $x10182 (and $x10290 (and $x10286 $x10307))) $x10813)) (= $x10311 (and true $x10813)))))
+(let ((@x10825 (monotonicity (trans @x10818 (rewrite (= (and true $x10813) $x10813)) (= $x10311 $x10813)) (= (and $x10182 $x10311) $x10823))))
+(let ((@x10832 (trans (monotonicity @x10825 (= $x10313 (and true $x10823))) (rewrite (= (and true $x10823) $x10823)) (= $x10313 $x10823))))
+(let ((@x10838 (monotonicity (monotonicity @x10832 (= (and $x10182 $x10313) $x10833)) (= $x10315 (and true $x10833)))))
+(let ((@x11144 (monotonicity (trans @x10838 (rewrite (= (and true $x10833) $x10833)) (= $x10315 $x10833)) @x11141 (= $x10419 (=> $x10833 $x11139)))))
+(let ((@x10591 (rewrite (= (and false (and $x10182 (and $x10182 (and $x10205 $x10182)))) false))))
+(let (($x10585 (= (and $x10182 (and true (and $x10182 (and $x10205 $x10207)))) (and $x10182 (and $x10182 (and $x10205 $x10182))))))
+(let (($x10574 (and $x10182 (and $x10205 $x10182))))
+(let (($x10210 (and true (and $x10182 (and $x10205 $x10207)))))
+(let ((@x10576 (monotonicity (monotonicity @x10570 (= (and $x10205 $x10207) (and $x10205 $x10182))) (= (and $x10182 (and $x10205 $x10207)) $x10574))))
+(let ((@x10583 (trans (monotonicity @x10576 (= $x10210 (and true $x10574))) (rewrite (= (and true $x10574) $x10574)) (= $x10210 $x10574))))
+(let ((@x10589 (monotonicity (rewrite (= $x10203 false)) (monotonicity @x10583 $x10585) (= $x10212 (and false (and $x10182 $x10574))))))
+(let ((@x10596 (monotonicity (trans @x10589 @x10591 (= $x10212 false)) (= $x10213 (and $x10182 false)))))
+(let ((@x10600 (trans @x10596 (rewrite (= (and $x10182 false) false)) (= $x10213 false))))
+(let ((@x10607 (trans (monotonicity @x10600 (= $x10214 (and true false))) (rewrite (= (and true false) false)) (= $x10214 false))))
+(let ((@x10687 (monotonicity @x10607 (monotonicity @x10681 (= $x10248 $x10682)) (= $x10249 (=> false $x10682)))))
+(let ((@x10691 (trans @x10687 (rewrite (= (=> false $x10682) true)) (= $x10249 true))))
+(let ((@x11153 (monotonicity @x10691 (trans @x11144 (rewrite (= (=> $x10833 $x11139) $x11146)) (= $x10419 $x11146)) (= $x10420 (and true $x11146)))))
+(let (($x10545 (= (and $x10176 (and $x10180 (and $x10182 (and $x10183 (and $x10188 $x10194))))) $x10544)))
+(let ((@x10531 (quant-intro (rewrite (= (=> (and $x3098 (< ?0 v_b_L_H_p_G_0$)) $x10186) $x10526)) (= $x10188 $x10529))))
+(let ((@x10537 (monotonicity (monotonicity @x10531 (= (and $x10188 $x10194) $x10532)) (= (and $x10183 (and $x10188 $x10194)) $x10535))))
+(let ((@x10543 (monotonicity (monotonicity @x10537 (= (and $x10182 (and $x10183 (and $x10188 $x10194))) $x10538)) (= (and $x10180 (and $x10182 (and $x10183 (and $x10188 $x10194)))) $x10541))))
+(let ((@x10552 (monotonicity (monotonicity (monotonicity @x10543 $x10545) (= $x10200 $x10547)) (= $x10201 (and true $x10547)))))
+(let ((@x10559 (monotonicity (trans @x10552 (rewrite (= (and true $x10547) $x10547)) (= $x10201 $x10547)) (= (and $x10168 $x10201) $x10557))))
+(let ((@x11160 (monotonicity @x10559 (trans @x11153 (rewrite (= (and true $x11146) $x11146)) (= $x10420 $x11146)) (= $x10421 (=> $x10557 $x11146)))))
+(let ((@x11169 (monotonicity (trans @x11160 (rewrite (= (=> $x10557 $x11146) $x11162)) (= $x10421 $x11162)) (= (and $x10168 $x10421) $x11167))))
+(let ((@x10524 (quant-intro (rewrite (= (=> (and $x3098 (< ?0 1)) $x10164) $x10519)) (= $x10166 $x10522))))
+(let ((@x11178 (trans (monotonicity @x10524 @x11169 (= $x10423 (=> $x10522 $x11167))) (rewrite (= (=> $x10522 $x11167) $x11174)) (= $x10423 $x11174))))
+(let ((@x11184 (monotonicity (monotonicity @x10524 @x11178 (= (and $x10166 $x10423) $x11179)) (= $x10425 (=> $x10159 $x11179)))))
+(let ((@x11193 (monotonicity (trans @x11184 (rewrite (= (=> $x10159 $x11179) $x11186)) (= $x10425 $x11186)) (= (and $x10159 $x10425) $x11191))))
+(let ((@x10499 (monotonicity (rewrite (= (and $x10150 $x10150) $x10150)) (= (and $x10149 (and $x10150 $x10150)) $x10497))))
+(let ((@x10505 (monotonicity (monotonicity @x10499 (= (and $x10149 (and $x10149 (and $x10150 $x10150))) $x10500)) (= $x10154 $x10503))))
+(let ((@x10511 (monotonicity (monotonicity @x10505 (= (and $x10147 $x10154) $x10506)) (= (and $x10146 (and $x10147 $x10154)) $x10509))))
+(let ((@x10517 (monotonicity (monotonicity @x10511 (= (and $x10145 (and $x10146 (and $x10147 $x10154))) $x10512)) (= (and $x10142 (and $x10145 (and $x10146 (and $x10147 $x10154)))) $x10515))))
+(let ((@x11202 (trans (monotonicity @x10517 @x11193 (= $x10427 (=> $x10515 $x11191))) (rewrite (= (=> $x10515 $x11191) $x11198)) (= $x10427 $x11198))))
+(let ((@x11208 (monotonicity (monotonicity @x11202 (= (and $x10142 $x10427) $x11203)) (= $x10429 (=> $x10140 $x11203)))))
+(let ((@x11217 (monotonicity (trans @x11208 (rewrite (= (=> $x10140 $x11203) $x11210)) (= $x10429 $x11210)) (= (and $x10140 $x10429) $x11215))))
+(let ((@x11226 (trans (monotonicity @x11217 (= $x10431 (=> $x10136 $x11215))) (rewrite (= (=> $x10136 $x11215) $x11222)) (= $x10431 $x11222))))
+(let (($x10483 (= (and $x10067 (and $x10071 (and $x10073 (and $x10074 (and $x10094 $x10127))))) $x10482)))
+(let (($x10455 (= (and $x10104 (and $x10108 (and $x10109 (and $x10112 (and $x10116 $x10119))))) $x10454)))
+(let (($x10113 (b_S_in_n_writes_n_at$ v_b_H_wrTime_S_1_T_6_o_1$ ?0)))
+(let (($x10436 (not $x10113)))
+(let ((@x10444 (monotonicity (quant-intro (rewrite (= (= $x10113 false) $x10436)) (= $x10116 $x10439)) (= (and $x10116 $x10119) $x10442))))
+(let ((@x10450 (monotonicity (monotonicity @x10444 (= (and $x10112 (and $x10116 $x10119)) $x10445)) (= (and $x10109 (and $x10112 (and $x10116 $x10119))) $x10448))))
+(let ((@x10453 (monotonicity @x10450 (= (and $x10108 (and $x10109 (and $x10112 (and $x10116 $x10119)))) $x10451))))
+(let ((@x10462 (monotonicity (monotonicity (monotonicity @x10453 $x10455) (= $x10125 $x10457)) (= (and $x10095 $x10125) $x10460))))
+(let ((@x10469 (trans (monotonicity @x10462 (= $x10127 (and true $x10460))) (rewrite (= (and true $x10460) $x10460)) (= $x10127 $x10460))))
+(let ((@x10475 (monotonicity (monotonicity @x10469 (= (and $x10094 $x10127) $x10470)) (= (and $x10074 (and $x10094 $x10127)) $x10473))))
+(let ((@x10481 (monotonicity (monotonicity @x10475 (= (and $x10073 (and $x10074 (and $x10094 $x10127))) $x10476)) (= (and $x10071 (and $x10073 (and $x10074 (and $x10094 $x10127)))) $x10479))))
+(let ((@x10490 (monotonicity (monotonicity (monotonicity @x10481 $x10483) (= $x10133 $x10485)) (= $x10134 (and true $x10485)))))
+(let ((@x11232 (monotonicity (trans @x10490 (rewrite (= (and true $x10485) $x10485)) (= $x10134 $x10485)) (monotonicity @x11226 (= (and $x10136 $x10431) $x11227)) (= $x10433 (=> $x10485 $x11227)))))
+(let ((@x11241 (monotonicity (trans @x11232 (rewrite (= (=> $x10485 $x11227) $x11234)) (= $x10433 $x11234)) (= $x10434 (not $x11234)))))
+(let ((@x12031 (trans @x11241 (monotonicity @x12026 (= (not $x11234) $x12027)) (= $x10434 $x12027))))
+(let ((@x12033 (not-or-elim (mp (asserted $x10434) @x12031 $x12027) $x11342)))
+(let ((@x12044 (and-elim @x12033 $x10084)))
+(let (($x9607 (forall ((?v0 B_S_ptr$) (?v1 B_S_ctype$) )(! (or (not (b_S_is$ ?v0 ?v1)) (= ?v0 (b_S_ptr$ ?v1 (b_S_ref$ ?v0)))) :pattern ( (b_S_is$ ?v0 ?v1) ) :qid k!622))
+))
+(let (($x9604 (or (not (b_S_is$ ?1 ?0)) (= ?1 (b_S_ptr$ ?0 (b_S_ref$ ?1))))))
+(let (($x9601 (forall ((?v0 B_S_ptr$) (?v1 B_S_ctype$) )(! (let (($x9596 (b_S_is$ ?v0 ?v1)))
+(=> $x9596 (= ?v0 (b_S_ptr$ ?v1 (b_S_ref$ ?v0))))) :pattern ( (b_S_is$ ?v0 ?v1) ) :qid k!622))
+))
+(let (($x9605 (= (=> (b_S_is$ ?1 ?0) (= ?1 (b_S_ptr$ ?0 (b_S_ref$ ?1)))) $x9604)))
+(let ((@x15336 (mp~ (mp (asserted $x9601) (quant-intro (rewrite $x9605) (= $x9601 $x9607)) $x9607) (nnf-pos (refl (~ $x9604 $x9604)) (~ $x9607 $x9607)) $x9607)))
+(let (($x21982 (not $x10084)))
+(let (($x21994 (not $x9607)))
+(let (($x21995 (or $x21994 $x21982 $x21990)))
+(let ((@x22000 (mp ((_ quant-inst (b_S_ptr$ ?x10076 ?x10079) (b_S_array$ b_T_T_u1$ v_b_P_H_len$)) (or $x21994 (or $x21982 $x21990))) (rewrite (= (or $x21994 (or $x21982 $x21990)) $x21995)) $x21995)))
+(let ((@x23670 (symm (unit-resolution @x22000 @x15336 @x12044 $x21990) (= ?x21983 ?x10080))))
+(let ((@x23502 (monotonicity (trans @x23670 (symm @x23680 (= ?x10080 ?x22595)) (= ?x21983 ?x22595)) (= (b_S_set_n_in$ ?x21983 ?x22343) $x22596))))
+(let (($x22344 (b_S_set_n_in$ ?x21983 ?x22343)))
+(let (($x22362 (forall ((?v3 B_S_ptr$) )(! (let ((?x10078 (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$)))
+(let ((?x10079 (b_S_ref$ ?x10078)))
+(let ((?x10076 (b_S_array$ b_T_T_u1$ v_b_P_H_len$)))
+(let ((?x10080 (b_S_ptr$ ?x10076 ?x10079)))
+(let ((?x21014 (b_S_ref$ ?x10080)))
+(let ((?x21983 (b_S_ptr$ ?x10076 ?x21014)))
+(let ((?x22357 (b_S_read_n_version$ v_b_S_s$ ?x21983)))
+(let ((?x22358 (b_S_ver_n_domain$ ?x22357)))
+(let ((?x22234 (b_S_typ$ ?x21983)))
+(let (($x22353 (b_S_has_n_volatile_n_owns_n_set$ ?x22234)))
+(or $x22353 (not (b_S_set_n_in$ ?v3 (b_S_owns$ v_b_S_s$ ?x21983))) (b_S_set_n_in2$ ?v3 ?x22358)))))))))))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ v_b_S_s$ (b_S_ptr$ (b_S_array$ b_T_T_u1$ v_b_P_H_len$) (b_S_ref$ (b_S_ptr$ (b_S_array$ b_T_T_u1$ v_b_P_H_len$) (b_S_ref$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$))))))) ) :qid k!564))
+))
+(let (($x22363 (not $x22362)))
+(let (($x22248 (b_S_closed$ v_b_S_s$ ?x21983)))
+(let (($x22272 (not $x22248)))
+(let (($x22352 (not $x22344)))
+(let (($x22364 (or $x22352 $x22272 $x22363)))
+(let (($x22365 (not $x22364)))
+(let (($x22318 (b_S_in_n_domain$ v_b_S_s$ ?x21983 ?x21983)))
+(let (($x22317 (b_S_in_n_domain_n_lab$ v_b_S_s$ ?x21983 ?x21983 b_l_H_public$)))
+(let (($x22326 (= $x22317 $x22318)))
+(let (($x8728 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) (?v2 B_S_ptr$) (?v3 B_S_label$) )(! (let (($x8719 (b_S_in_n_domain$ ?v0 ?v1 ?v2)))
+(let (($x8718 (b_S_in_n_domain_n_lab$ ?v0 ?v1 ?v2 ?v3)))
+(= $x8718 $x8719))) :pattern ( (b_S_in_n_domain_n_lab$ ?v0 ?v1 ?v2 ?v3) ) :qid k!567))
+))
+(let (($x8719 (b_S_in_n_domain$ ?3 ?2 ?1)))
+(let (($x8718 (b_S_in_n_domain_n_lab$ ?3 ?2 ?1 ?0)))
+(let (($x8725 (= $x8718 $x8719)))
+(let (($x8723 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) (?v2 B_S_ptr$) (?v3 B_S_label$) )(! (let (($x8719 (b_S_in_n_domain$ ?v0 ?v1 ?v2)))
+(let (($x8718 (b_S_in_n_domain_n_lab$ ?v0 ?v1 ?v2 ?v3)))
+(= $x8718 $x8719))) :pattern ( (b_S_in_n_domain_n_lab$ ?v0 ?v1 ?v2 ?v3) ) :qid k!567))
+))
+(let ((@x8733 (mp (asserted $x8723) (quant-intro (rewrite (= (= $x8718 $x8719) $x8725)) (= $x8723 $x8728)) $x8728)))
+(let ((@x15021 (mp~ @x8733 (nnf-pos (refl (~ $x8725 $x8725)) (~ $x8728 $x8728)) $x8728)))
+(let (($x22699 (or (not $x8728) $x22326)))
+(let ((@x23229 ((_ quant-inst v_b_S_s$ (b_S_ptr$ ?x10076 ?x21014) (b_S_ptr$ ?x10076 ?x21014) b_l_H_public$) $x22699)))
+(let ((@x22990 (unit-resolution @x23229 @x15021 $x22326)))
+(let ((@x23563 (symm (monotonicity @x23670 @x23670 (= $x22317 $x10136)) (= $x10136 $x22317))))
+(let (($x35 (= b_S_kind_n_primitive$ b_S_kind_n_array$)))
+(let (($x36 (not $x35)))
+(let (($x22421 (= $x36 (not (= (b_S_kind_n_of$ (b_S_typ$ ?x21983)) b_S_kind_n_primitive$)))))
+(let ((?x22234 (b_S_typ$ ?x21983)))
+(let ((?x22387 (b_S_kind_n_of$ ?x22234)))
+(let (($x22388 (= ?x22387 b_S_kind_n_primitive$)))
+(let (($x22148 (= ?x10086 b_S_kind_n_array$)))
+(let (($x21115 (b_S_is_n_arraytype$ ?x10076)))
+(let (($x22149 (= $x21115 $x22148)))
+(let (($x9869 (forall ((?v0 B_S_ctype$) )(! (let ((?x9849 (b_S_kind_n_of$ ?v0)))
+(let (($x9861 (= ?x9849 b_S_kind_n_array$)))
+(let (($x7848 (b_S_is_n_arraytype$ ?v0)))
+(= $x7848 $x9861)))) :pattern ( (b_S_is_n_arraytype$ ?v0) ) :qid k!662))
+))
+(let ((?x9849 (b_S_kind_n_of$ ?0)))
+(let (($x9861 (= ?x9849 b_S_kind_n_array$)))
+(let (($x7848 (b_S_is_n_arraytype$ ?0)))
+(let (($x9866 (= $x7848 $x9861)))
+(let (($x9864 (forall ((?v0 B_S_ctype$) )(! (let ((?x9849 (b_S_kind_n_of$ ?v0)))
+(let (($x9861 (= ?x9849 b_S_kind_n_array$)))
+(let (($x7848 (b_S_is_n_arraytype$ ?v0)))
+(= $x7848 $x9861)))) :pattern ( (b_S_is_n_arraytype$ ?v0) ) :qid k!662))
+))
+(let ((@x9874 (mp (asserted $x9864) (quant-intro (rewrite (= (= $x7848 $x9861) $x9866)) (= $x9864 $x9869)) $x9869)))
+(let ((@x15446 (mp~ @x9874 (nnf-pos (refl (~ $x9866 $x9866)) (~ $x9869 $x9869)) $x9869)))
+(let (($x22159 (or (not $x9869) $x22149)))
+(let ((@x22160 ((_ quant-inst (b_S_array$ b_T_T_u1$ v_b_P_H_len$)) $x22159)))
+(let (($x7229 (forall ((?v0 B_S_ctype$) (?v1 Int) )(! (let ((?x6561 (b_S_array$ ?v0 ?v1)))
+(b_S_is_n_arraytype$ ?x6561)) :pattern ( (b_S_array$ ?v0 ?v1) ) :qid k!502))
+))
+(let ((?x6561 (b_S_array$ ?1 ?0)))
+(let (($x7228 (b_S_is_n_arraytype$ ?x6561)))
+(let ((@x14576 (mp~ (asserted $x7229) (nnf-pos (refl (~ $x7228 $x7228)) (~ $x7229 $x7229)) $x7229)))
+(let (($x21122 (or (not $x7229) $x21115)))
+(let ((@x21123 ((_ quant-inst b_T_T_u1$ v_b_P_H_len$) $x21122)))
+(let ((@x22382 (unit-resolution (def-axiom (or (not $x22149) (not $x21115) $x22148)) (unit-resolution @x21123 @x14576 $x21115) (or (not $x22149) $x22148))))
+(let ((?x21180 (b_S_typ$ ?x10080)))
+(let (($x21183 (= ?x21180 ?x10076)))
+(let (($x19841 (forall ((?v0 B_S_ctype$) (?v1 Int) )(! (= (b_S_typ$ (b_S_ptr$ ?v0 ?v1)) ?v0) :pattern ( (b_S_ptr$ ?v0 ?v1) ) :qid k!628))
+))
+(let (($x9659 (forall ((?v0 B_S_ctype$) (?v1 Int) )(! (= (b_S_typ$ (b_S_ptr$ ?v0 ?v1)) ?v0) :qid k!628))
+))
+(let (($x9658 (= (b_S_typ$ (b_S_ptr$ ?1 ?0)) ?1)))
+(let ((@x15361 (mp~ (asserted $x9659) (nnf-pos (refl (~ $x9658 $x9658)) (~ $x9659 $x9659)) $x9659)))
+(let ((@x19846 (mp @x15361 (quant-intro (refl (= $x9658 $x9658)) (= $x9659 $x19841)) $x19841)))
+(let (($x21147 (not $x19841)))
+(let (($x21188 (or $x21147 $x21183)))
+(let ((@x21189 ((_ quant-inst (b_S_array$ b_T_T_u1$ v_b_P_H_len$) (b_S_ref$ ?x10078)) $x21188)))
+(let ((@x22406 (trans (monotonicity @x23670 (= ?x22234 ?x21180)) (unit-resolution @x21189 @x19846 $x21183) (= ?x22234 ?x10076))))
+(let ((@x22335 (trans (monotonicity @x22406 (= ?x22387 ?x10086)) (unit-resolution @x22382 (unit-resolution @x22160 @x15446 $x22149) $x22148) (= ?x22387 b_S_kind_n_array$))))
+(let ((@x22369 (monotonicity @x22335 (= $x22388 (= b_S_kind_n_array$ b_S_kind_n_primitive$)))))
+(let ((@x22393 (trans @x22369 (commutativity (= (= b_S_kind_n_array$ b_S_kind_n_primitive$) $x35)) (= $x22388 $x35))))
+(let (($x41 (= b_S_kind_n_thread$ b_S_kind_n_array$)))
+(let (($x42 (not $x41)))
+(let (($x39 (= b_S_kind_n_composite$ b_S_kind_n_array$)))
+(let (($x40 (not $x39)))
+(let (($x37 (= b_S_kind_n_composite$ b_S_kind_n_thread$)))
+(let (($x38 (not $x37)))
+(let (($x32 (= b_S_kind_n_primitive$ b_S_kind_n_thread$)))
+(let (($x33 (not $x32)))
+(let (($x29 (= b_S_kind_n_primitive$ b_S_kind_n_composite$)))
+(let (($x30 (not $x29)))
+(let (($x67 (and $x30 $x33 $x36 $x38 $x40 $x42)))
+(let (($x48 (and $x30 (and $x33 (and $x36 (and $x38 (and $x40 (and $x42 true))))))))
+(let (($x68 (= (and $x30 (and $x33 (and $x36 (and $x38 (and $x40 $x42))))) $x67)))
+(let (($x65 (= $x48 (and $x30 (and $x33 (and $x36 (and $x38 (and $x40 $x42))))))))
+(let (($x62 (= (and $x33 (and $x36 (and $x38 (and $x40 (and $x42 true))))) (and $x33 (and $x36 (and $x38 (and $x40 $x42)))))))
+(let (($x59 (= (and $x36 (and $x38 (and $x40 (and $x42 true)))) (and $x36 (and $x38 (and $x40 $x42))))))
+(let (($x56 (= (and $x38 (and $x40 (and $x42 true))) (and $x38 (and $x40 $x42)))))
+(let ((@x54 (monotonicity (rewrite (= (and $x42 true) $x42)) (= (and $x40 (and $x42 true)) (and $x40 $x42)))))
+(let ((@x66 (monotonicity (monotonicity (monotonicity (monotonicity @x54 $x56) $x59) $x62) $x65)))
+(let ((@x72 (mp (asserted $x48) (trans @x66 (rewrite $x68) (= $x48 $x67)) $x67)))
+(let ((@x75 (and-elim @x72 $x36)))
+(let (($x22333 (not $x22318)))
+(let (($x22336 (not $x22317)))
+(let ((@x22397 (unit-resolution (def-axiom (or (not $x22326) $x22317 $x22333)) (mp (hypothesis $x11221) (monotonicity @x23563 (= $x11221 $x22336)) $x22336) @x22990 $x22333)))
+(let (($x22368 (b_S_is$ ?x21983 ?x22234)))
+(let ((@x23420 (mp @x12044 (symm (monotonicity @x23670 @x22406 (= $x22368 $x10084)) (= $x10084 $x22368)) $x22368)))
+(let (($x22385 (b_S_typed$ v_b_S_s$ ?x21983)))
+(let ((@x12045 (and-elim @x12033 $x10085)))
+(let ((@x22419 (mp @x12045 (symm (monotonicity @x23670 (= $x22385 $x10085)) (= $x10085 $x22385)) $x22385)))
+(let ((?x22243 (b_S_owner$ v_b_S_s$ ?x21983)))
+(let (($x22259 (= ?x22243 b_S_me$)))
+(let ((@x12043 (and-elim @x12033 $x10083)))
+(let ((@x12042 (and-elim @x12033 $x10081)))
+(let ((@x22437 (mp @x12042 (symm (monotonicity @x23670 (= $x22248 $x10081)) (= $x10081 $x22248)) $x22248)))
+(let (($x22235 (b_S_is_n_non_n_primitive$ ?x22234)))
+(let ((@x12047 (and-elim @x12033 $x10089)))
+(let ((@x22500 (mp @x12047 (symm (monotonicity @x22406 (= $x22235 $x10089)) (= $x10089 $x22235)) $x22235)))
+(let ((@x12050 (and-elim @x12033 $x10097)))
+(let (($x18905 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x8613 (b_S_in_n_domain$ ?v0 ?v1 ?v1)))
+(let ((?x2247 (b_S_typ$ ?v1)))
+(let (($x2351 (b_S_is_n_non_n_primitive$ ?x2247)))
+(let (($x9239 (not $x2351)))
+(let (($x2249 (= (b_S_kind_n_of$ ?x2247) b_S_kind_n_primitive$)))
+(let (($x2488 (b_S_typed$ ?v0 ?v1)))
+(let (($x9531 (not $x2488)))
+(let (($x2487 (b_S_is$ ?v1 ?x2247)))
+(let (($x16299 (not $x2487)))
+(let ((?x2484 (b_S_owner$ ?v0 ?v1)))
+(let (($x2486 (= ?x2484 b_S_me$)))
+(let (($x16298 (not $x2486)))
+(let (($x2471 (b_S_closed$ ?v0 ?v1)))
+(let (($x9185 (not $x2471)))
+(let (($x2687 (b_S_full_n_stop$ ?v0)))
+(let (($x16426 (not $x2687)))
+(or $x16426 $x9185 $x16298 $x16299 $x9531 $x2249 $x9239 $x8613))))))))))))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v1) ) :qid k!563))
+))
+(let (($x8634 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x8613 (b_S_in_n_domain$ ?v0 ?v1 ?v1)))
+(let ((?x2247 (b_S_typ$ ?v1)))
+(let (($x2351 (b_S_is_n_non_n_primitive$ ?x2247)))
+(let (($x2249 (= (b_S_kind_n_of$ ?x2247) b_S_kind_n_primitive$)))
+(let (($x2294 (not $x2249)))
+(let (($x2488 (b_S_typed$ ?v0 ?v1)))
+(let (($x2487 (b_S_is$ ?v1 ?x2247)))
+(let ((?x2484 (b_S_owner$ ?v0 ?v1)))
+(let (($x2486 (= ?x2484 b_S_me$)))
+(let (($x2471 (b_S_closed$ ?v0 ?v1)))
+(let (($x2687 (b_S_full_n_stop$ ?v0)))
+(let (($x8625 (and $x2687 $x2471 $x2486 $x2487 $x2488 $x2294 $x2351)))
+(let (($x8628 (not $x8625)))
+(or $x8628 $x8613)))))))))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v1) ) :qid k!563))
+))
+(let (($x8613 (b_S_in_n_domain$ ?1 ?0 ?0)))
+(let ((?x2247 (b_S_typ$ ?0)))
+(let (($x2351 (b_S_is_n_non_n_primitive$ ?x2247)))
+(let (($x9239 (not $x2351)))
+(let (($x2249 (= (b_S_kind_n_of$ ?x2247) b_S_kind_n_primitive$)))
+(let (($x2488 (b_S_typed$ ?1 ?0)))
+(let (($x9531 (not $x2488)))
+(let (($x2487 (b_S_is$ ?0 ?x2247)))
+(let (($x16299 (not $x2487)))
+(let ((?x2484 (b_S_owner$ ?1 ?0)))
+(let (($x2486 (= ?x2484 b_S_me$)))
+(let (($x16298 (not $x2486)))
+(let (($x2471 (b_S_closed$ ?1 ?0)))
+(let (($x9185 (not $x2471)))
+(let (($x2687 (b_S_full_n_stop$ ?1)))
+(let (($x16426 (not $x2687)))
+(let (($x18900 (or $x16426 $x9185 $x16298 $x16299 $x9531 $x2249 $x9239 $x8613)))
+(let (($x2294 (not $x2249)))
+(let (($x8625 (and $x2687 $x2471 $x2486 $x2487 $x2488 $x2294 $x2351)))
+(let (($x8628 (not $x8625)))
+(let (($x8631 (or $x8628 $x8613)))
+(let ((@x18902 (rewrite (= (or (or $x16426 $x9185 $x16298 $x16299 $x9531 $x2249 $x9239) $x8613) $x18900))))
+(let (($x18886 (or $x16426 $x9185 $x16298 $x16299 $x9531 $x2249 $x9239)))
+(let ((@x18892 (monotonicity (rewrite (= $x8625 (not $x18886))) (= $x8628 (not (not $x18886))))))
+(let ((@x18899 (monotonicity (trans @x18892 (rewrite (= (not (not $x18886)) $x18886)) (= $x8628 $x18886)) (= $x8631 (or $x18886 $x8613)))))
+(let (($x8616 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x8613 (b_S_in_n_domain$ ?v0 ?v1 ?v1)))
+(let ((?x2247 (b_S_typ$ ?v1)))
+(let (($x2351 (b_S_is_n_non_n_primitive$ ?x2247)))
+(let (($x2249 (= (b_S_kind_n_of$ ?x2247) b_S_kind_n_primitive$)))
+(let (($x2294 (not $x2249)))
+(let (($x2488 (b_S_typed$ ?v0 ?v1)))
+(let (($x2487 (b_S_is$ ?v1 ?x2247)))
+(let ((?x2484 (b_S_owner$ ?v0 ?v1)))
+(let (($x2486 (= ?x2484 b_S_me$)))
+(let (($x2471 (b_S_closed$ ?v0 ?v1)))
+(let (($x2687 (b_S_full_n_stop$ ?v0)))
+(let (($x8612 (and $x2687 (and $x2471 (and $x2486 (and $x2487 (and $x2488 (and $x2294 $x2351))))))))
+(=> $x8612 $x8613))))))))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v1) ) :qid k!563))
+))
+(let (($x8622 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x8613 (b_S_in_n_domain$ ?v0 ?v1 ?v1)))
+(let ((?x2247 (b_S_typ$ ?v1)))
+(let (($x2351 (b_S_is_n_non_n_primitive$ ?x2247)))
+(let (($x2249 (= (b_S_kind_n_of$ ?x2247) b_S_kind_n_primitive$)))
+(let (($x2294 (not $x2249)))
+(let (($x2488 (b_S_typed$ ?v0 ?v1)))
+(let (($x2487 (b_S_is$ ?v1 ?x2247)))
+(let ((?x2484 (b_S_owner$ ?v0 ?v1)))
+(let (($x2486 (= ?x2484 b_S_me$)))
+(let (($x2471 (b_S_closed$ ?v0 ?v1)))
+(let (($x2687 (b_S_full_n_stop$ ?v0)))
+(let (($x8612 (and $x2687 (and $x2471 (and $x2486 (and $x2487 (and $x2488 (and $x2294 $x2351))))))))
+(or (not $x8612) $x8613))))))))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v1) ) :qid k!563))
+))
+(let (($x8612 (and $x2687 (and $x2471 (and $x2486 (and $x2487 (and $x2488 (and $x2294 $x2351))))))))
+(let (($x8619 (or (not $x8612) $x8613)))
+(let ((@x8633 (monotonicity (monotonicity (rewrite (= $x8612 $x8625)) (= (not $x8612) $x8628)) (= $x8619 $x8631))))
+(let ((@x8638 (trans (quant-intro (rewrite (= (=> $x8612 $x8613) $x8619)) (= $x8616 $x8622)) (quant-intro @x8633 (= $x8622 $x8634)) (= $x8616 $x8634))))
+(let ((@x14989 (mp~ (mp (asserted $x8616) @x8638 $x8634) (nnf-pos (refl (~ $x8631 $x8631)) (~ $x8634 $x8634)) $x8634)))
+(let ((@x18908 (mp @x14989 (quant-intro (trans @x18899 @x18902 (= $x8631 $x18900)) (= $x8634 $x18905)) $x18905)))
+(let (($x22242 (not $x22235)))
+(let (($x22386 (not $x22385)))
+(let (($x22384 (not $x22368)))
+(let (($x23422 (or (not $x18905) $x19677 $x22272 (not $x22259) $x22384 $x22386 $x22388 $x22242 $x22318)))
+(let (($x23058 (= (or (not $x18905) (or $x19677 $x22272 (not $x22259) $x22384 $x22386 $x22388 $x22242 $x22318)) $x23422)))
+(let ((@x23077 ((_ quant-inst v_b_S_s$ (b_S_ptr$ ?x10076 ?x21014)) (or (not $x18905) (or $x19677 $x22272 (not $x22259) $x22384 $x22386 $x22388 $x22242 $x22318)))))
+(let ((@x22720 (mp @x23077 (rewrite $x23058) $x23422)))
+(let ((@x22519 (unit-resolution @x22720 @x18908 @x12050 @x22500 @x22437 (trans (monotonicity @x23670 (= ?x22243 ?x10082)) @x12043 $x22259) (or $x22384 $x22386 $x22388 $x22318))))
+(let ((@x22507 (unit-resolution @x22519 @x22419 @x23420 @x22397 (mp @x75 (monotonicity (symm @x22393 (= $x35 $x22388)) $x22421) (not $x22388)) false)))
+(let ((@x22508 (lemma @x22507 $x10136)))
+(let ((@x23561 (def-axiom (or (not $x22326) $x22336 $x22318))))
+(let (($x22366 (or $x22333 $x22365)))
+(let (($x18945 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) (?v2 B_S_ptr$) )(! (let (($x18929 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?v0 ?v2)))))
+(let ((?x6628 (b_S_typ$ ?v1)))
+(let (($x8640 (b_S_has_n_volatile_n_owns_n_set$ ?x6628)))
+(or $x8640 (not (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1))) $x8646)))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1)) ) :qid k!564))
+))
+(let (($x2554 (b_S_closed$ ?v0 ?v1)))
+(let (($x8955 (not $x2554)))
+(let (($x8428 (b_S_set_n_in$ ?v1 (b_S_domain$ ?v0 ?v2))))
+(let (($x18744 (not $x8428)))
+(let (($x18937 (not (or $x18744 $x8955 (not $x18929)))))
+(let (($x8461 (b_S_in_n_domain$ ?v0 ?v1 ?v2)))
+(let (($x8672 (not $x8461)))
+(or $x8672 $x18937))))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v2) ) :qid k!564))
+))
+(let (($x8687 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) (?v2 B_S_ptr$) )(! (let (($x8660 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?v0 ?v2)))))
+(let (($x8643 (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1))))
+(let (($x8644 (and (not (b_S_has_n_volatile_n_owns_n_set$ (b_S_typ$ ?v1))) $x8643)))
+(let (($x8656 (not $x8644)))
+(or $x8656 $x8646))))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1)) ) :qid k!564))
+))
+(let (($x2554 (b_S_closed$ ?v0 ?v1)))
+(let (($x8428 (b_S_set_n_in$ ?v1 (b_S_domain$ ?v0 ?v2))))
+(let (($x8681 (and $x8428 $x2554 $x8660)))
+(let (($x8461 (b_S_in_n_domain$ ?v0 ?v1 ?v2)))
+(let (($x8672 (not $x8461)))
+(or $x8672 $x8681))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v2) ) :qid k!564))
+))
+(let (($x18929 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?2 ?0)))))
+(let ((?x6628 (b_S_typ$ ?1)))
+(let (($x8640 (b_S_has_n_volatile_n_owns_n_set$ ?x6628)))
+(or $x8640 (not (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1))) $x8646)))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1)) ) :qid k!564))
+))
+(let (($x2554 (b_S_closed$ ?2 ?1)))
+(let (($x8955 (not $x2554)))
+(let (($x8428 (b_S_set_n_in$ ?1 (b_S_domain$ ?2 ?0))))
+(let (($x18744 (not $x8428)))
+(let (($x18937 (not (or $x18744 $x8955 (not $x18929)))))
+(let (($x8461 (b_S_in_n_domain$ ?2 ?1 ?0)))
+(let (($x8672 (not $x8461)))
+(let (($x8660 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?2 ?0)))))
+(let (($x8643 (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1))))
+(let (($x8644 (and (not (b_S_has_n_volatile_n_owns_n_set$ (b_S_typ$ ?1))) $x8643)))
+(let (($x8656 (not $x8644)))
+(or $x8656 $x8646))))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1)) ) :qid k!564))
+))
+(let (($x8681 (and $x8428 $x2554 $x8660)))
+(let (($x8684 (or $x8672 $x8681)))
+(let (($x8646 (b_S_set_n_in2$ ?0 (b_S_ver_n_domain$ (b_S_read_n_version$ ?3 ?1)))))
+(let ((?x6628 (b_S_typ$ ?2)))
+(let (($x8640 (b_S_has_n_volatile_n_owns_n_set$ ?x6628)))
+(let (($x18924 (or $x8640 (not (b_S_set_n_in$ ?0 (b_S_owns$ ?3 ?2))) $x8646)))
+(let (($x8643 (b_S_set_n_in$ ?0 (b_S_owns$ ?3 ?2))))
+(let (($x8644 (and (not $x8640) $x8643)))
+(let (($x8656 (not $x8644)))
+(let (($x8657 (or $x8656 $x8646)))
+(let ((@x18918 (rewrite (= (not (not (or $x8640 (not $x8643)))) (or $x8640 (not $x8643))))))
+(let ((@x18916 (monotonicity (rewrite (= $x8644 (not (or $x8640 (not $x8643))))) (= $x8656 (not (not (or $x8640 (not $x8643))))))))
+(let ((@x18923 (monotonicity (trans @x18916 @x18918 (= $x8656 (or $x8640 (not $x8643)))) (= $x8657 (or (or $x8640 (not $x8643)) $x8646)))))
+(let ((@x18928 (trans @x18923 (rewrite (= (or (or $x8640 (not $x8643)) $x8646) $x18924)) (= $x8657 $x18924))))
+(let ((@x18934 (monotonicity (quant-intro @x18928 (= $x8660 $x18929)) (= $x8681 (and $x8428 $x2554 $x18929)))))
+(let ((@x18941 (trans @x18934 (rewrite (= (and $x8428 $x2554 $x18929) $x18937)) (= $x8681 $x18937))))
+(let ((@x18947 (quant-intro (monotonicity @x18941 (= $x8684 (or $x8672 $x18937))) (= $x8687 $x18945))))
+(let ((@x15001 (monotonicity (refl (~ $x8428 $x8428)) (refl (~ $x2554 $x2554)) (nnf-pos (refl (~ $x8657 $x8657)) (~ $x8660 $x8660)) (~ $x8681 $x8681))))
+(let ((@x15005 (nnf-pos (monotonicity (refl (~ $x8672 $x8672)) @x15001 (~ $x8684 $x8684)) (~ $x8687 $x8687))))
+(let (($x8654 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) (?v2 B_S_ptr$) )(! (let (($x8649 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?v0 ?v2)))))
+(let (($x8643 (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1))))
+(let (($x8644 (and (not (b_S_has_n_volatile_n_owns_n_set$ (b_S_typ$ ?v1))) $x8643)))
+(=> $x8644 $x8646)))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1)) ) :qid k!564))
+))
+(let (($x2554 (b_S_closed$ ?v0 ?v1)))
+(let (($x8428 (b_S_set_n_in$ ?v1 (b_S_domain$ ?v0 ?v2))))
+(let (($x8461 (b_S_in_n_domain$ ?v0 ?v1 ?v2)))
+(=> $x8461 (and $x8428 (and $x2554 $x8649))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v2) ) :qid k!564))
+))
+(let (($x8678 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) (?v2 B_S_ptr$) )(! (let (($x8660 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?v0 ?v2)))))
+(let (($x8643 (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1))))
+(let (($x8644 (and (not (b_S_has_n_volatile_n_owns_n_set$ (b_S_typ$ ?v1))) $x8643)))
+(let (($x8656 (not $x8644)))
+(or $x8656 $x8646))))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1)) ) :qid k!564))
+))
+(let (($x2554 (b_S_closed$ ?v0 ?v1)))
+(let (($x8428 (b_S_set_n_in$ ?v1 (b_S_domain$ ?v0 ?v2))))
+(let (($x8666 (and $x8428 (and $x2554 $x8660))))
+(let (($x8461 (b_S_in_n_domain$ ?v0 ?v1 ?v2)))
+(let (($x8672 (not $x8461)))
+(or $x8672 $x8666))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v2) ) :qid k!564))
+))
+(let ((@x8686 (monotonicity (rewrite (= (and $x8428 (and $x2554 $x8660)) $x8681)) (= (or $x8672 (and $x8428 (and $x2554 $x8660))) $x8684))))
+(let (($x8666 (and $x8428 (and $x2554 $x8660))))
+(let (($x8673 (or $x8672 $x8666)))
+(let (($x8649 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?2 ?0)))))
+(let (($x8643 (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1))))
+(let (($x8644 (and (not (b_S_has_n_volatile_n_owns_n_set$ (b_S_typ$ ?1))) $x8643)))
+(=> $x8644 $x8646)))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1)) ) :qid k!564))
+))
+(let (($x8652 (=> $x8461 (and $x8428 (and $x2554 $x8649)))))
+(let ((@x8665 (monotonicity (quant-intro (rewrite (= (=> $x8644 $x8646) $x8657)) (= $x8649 $x8660)) (= (and $x2554 $x8649) (and $x2554 $x8660)))))
+(let ((@x8671 (monotonicity (monotonicity @x8665 (= (and $x8428 (and $x2554 $x8649)) $x8666)) (= $x8652 (=> $x8461 $x8666)))))
+(let ((@x8680 (quant-intro (trans @x8671 (rewrite (= (=> $x8461 $x8666) $x8673)) (= $x8652 $x8673)) (= $x8654 $x8678))))
+(let ((@x8692 (mp (asserted $x8654) (trans @x8680 (quant-intro @x8686 (= $x8678 $x8687)) (= $x8654 $x8687)) $x8687)))
+(let ((@x18948 (mp (mp~ @x8692 @x15005 $x8687) @x18947 $x18945)))
+(let (($x22501 (or (not $x18945) $x22333 $x22365)))
+(let ((@x22512 (mp ((_ quant-inst v_b_S_s$ (b_S_ptr$ ?x10076 ?x21014) (b_S_ptr$ ?x10076 ?x21014)) (or (not $x18945) $x22366)) (rewrite (= (or (not $x18945) $x22366) $x22501)) $x22501)))
+(let ((@x24112 (unit-resolution (unit-resolution @x22512 @x18948 $x22366) (unit-resolution @x23561 (mp @x22508 @x23563 $x22317) @x22990 $x22318) $x22365)))
+(let ((@x22487 (def-axiom (or $x22364 $x22344))))
+(let ((@x12041 (and-elim @x12033 $x11260)))
+(let (($x9768 (b_S_is_n_primitive$ b_T_T_u1$)))
+(let ((@x9769 (asserted $x9768)))
+(let (($x18667 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ptr$) (?v3 Int) (?v4 Int) (?v5 B_S_ctype$) )(! (let ((?x8245 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)))
+(let ((?x7097 (b_S_typemap$ ?v0)))
+(let (($x18655 (or (not (b_S_typed$ ?v0 ?x8245)) (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245)))))
+(let (($x18656 (not $x18655)))
+(let (($x5403 (>= (+ ?v4 (* (- 1) ?v3)) 0)))
+(let (($x3057 (>= ?v4 0)))
+(let (($x16520 (not $x3057)))
+(let (($x8240 (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2))))
+(let (($x18630 (not $x8240)))
+(let (($x2704 (b_S_is_n_primitive$ ?v5)))
+(let (($x8855 (not $x2704)))
+(let (($x8236 (b_S_full_n_stop$ ?v0)))
+(let (($x18629 (not $x8236)))
+(or $x18629 $x8855 $x18630 $x16520 $x5403 $x18656)))))))))))))) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_owner$ ?v0 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :qid k!553))
+))
+(let (($x8307 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ptr$) (?v3 Int) (?v4 Int) (?v5 B_S_ctype$) )(! (let ((?x8245 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)))
+(let ((?x7097 (b_S_typemap$ ?v0)))
+(let (($x8291 (and (b_S_typed$ ?v0 ?x8245) (not (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245))))))
+(let (($x5403 (>= (+ ?v4 (* (- 1) ?v3)) 0)))
+(let (($x6757 (not $x5403)))
+(let (($x3057 (>= ?v4 0)))
+(let (($x8240 (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2))))
+(let (($x2704 (b_S_is_n_primitive$ ?v5)))
+(let (($x8236 (b_S_full_n_stop$ ?v0)))
+(let (($x8270 (and $x8236 $x2704 $x8240 $x3057 $x6757)))
+(let (($x8275 (not $x8270)))
+(or $x8275 $x8291)))))))))))) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_owner$ ?v0 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :qid k!553))
+))
+(let ((?x8245 (b_S_idx$ (b_S_ptr$ ?0 ?4) ?1 ?0)))
+(let ((?x7097 (b_S_typemap$ ?5)))
+(let (($x18655 (or (not (b_S_typed$ ?5 ?x8245)) (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245)))))
+(let (($x18656 (not $x18655)))
+(let (($x5403 (>= (+ ?1 (* (- 1) ?2)) 0)))
+(let (($x3057 (>= ?1 0)))
+(let (($x16520 (not $x3057)))
+(let (($x8240 (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?0 ?2) ?4) (b_S_domain$ ?5 ?3))))
+(let (($x18630 (not $x8240)))
+(let (($x2704 (b_S_is_n_primitive$ ?0)))
+(let (($x8855 (not $x2704)))
+(let (($x8236 (b_S_full_n_stop$ ?5)))
+(let (($x18629 (not $x8236)))
+(let (($x18662 (or $x18629 $x8855 $x18630 $x16520 $x5403 $x18656)))
+(let (($x8291 (and (b_S_typed$ ?5 ?x8245) (not (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245))))))
+(let (($x6757 (not $x5403)))
+(let (($x8270 (and $x8236 $x2704 $x8240 $x3057 $x6757)))
+(let (($x8275 (not $x8270)))
+(let (($x8304 (or $x8275 $x8291)))
+(let (($x18631 (or $x18629 $x8855 $x18630 $x16520 $x5403)))
+(let ((@x18637 (monotonicity (rewrite (= $x8270 (not $x18631))) (= $x8275 (not (not $x18631))))))
+(let ((@x18661 (monotonicity (trans @x18637 (rewrite (= (not (not $x18631)) $x18631)) (= $x8275 $x18631)) (rewrite (= $x8291 $x18656)) (= $x8304 (or $x18631 $x18656)))))
+(let ((@x18669 (quant-intro (trans @x18661 (rewrite (= (or $x18631 $x18656) $x18662)) (= $x8304 $x18662)) (= $x8307 $x18667))))
+(let (($x8296 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ptr$) (?v3 Int) (?v4 Int) (?v5 B_S_ctype$) )(! (let ((?x8245 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)))
+(let ((?x7097 (b_S_typemap$ ?v0)))
+(let (($x8291 (and (b_S_typed$ ?v0 ?x8245) (not (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245))))))
+(let (($x3027 (<= 0 ?v4)))
+(let (($x6740 (and $x3027 (< ?v4 ?v3))))
+(let (($x8240 (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2))))
+(let (($x2704 (b_S_is_n_primitive$ ?v5)))
+(let (($x8236 (b_S_full_n_stop$ ?v0)))
+(let (($x8243 (and $x8236 (and $x2704 (and $x8240 $x6740)))))
+(=> $x8243 $x8291)))))))))) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_owner$ ?v0 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :qid k!553))
+))
+(let (($x8301 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ptr$) (?v3 Int) (?v4 Int) (?v5 B_S_ctype$) )(! (let ((?x8245 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)))
+(let ((?x7097 (b_S_typemap$ ?v0)))
+(let (($x8291 (and (b_S_typed$ ?v0 ?x8245) (not (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245))))))
+(let (($x3027 (<= 0 ?v4)))
+(let (($x6740 (and $x3027 (< ?v4 ?v3))))
+(let (($x8240 (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2))))
+(let (($x2704 (b_S_is_n_primitive$ ?v5)))
+(let (($x8236 (b_S_full_n_stop$ ?v0)))
+(let (($x8243 (and $x8236 (and $x2704 (and $x8240 $x6740)))))
+(let (($x8254 (not $x8243)))
+(or $x8254 $x8291))))))))))) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_owner$ ?v0 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :qid k!553))
+))
+(let (($x8243 (and $x8236 (and $x2704 (and $x8240 (and (<= 0 ?1) (< ?1 ?2)))))))
+(let (($x8254 (not $x8243)))
+(let (($x8298 (or $x8254 $x8291)))
+(let ((@x8272 (rewrite (= (and $x8236 (and $x2704 (and $x8240 (and $x3057 $x6757)))) $x8270))))
+(let (($x8265 (= (and $x2704 (and $x8240 (and (<= 0 ?1) (< ?1 ?2)))) (and $x2704 (and $x8240 (and $x3057 $x6757))))))
+(let (($x8262 (= (and $x8240 (and (<= 0 ?1) (< ?1 ?2))) (and $x8240 (and $x3057 $x6757)))))
+(let ((@x3058 (rewrite (= (<= 0 ?1) $x3057))))
+(let ((@x6762 (monotonicity @x3058 (rewrite (= (< ?1 ?2) $x6757)) (= (and (<= 0 ?1) (< ?1 ?2)) (and $x3057 $x6757)))))
+(let ((@x8269 (monotonicity (monotonicity (monotonicity @x6762 $x8262) $x8265) (= $x8243 (and $x8236 (and $x2704 (and $x8240 (and $x3057 $x6757))))))))
+(let ((@x8306 (monotonicity (monotonicity (trans @x8269 @x8272 (= $x8243 $x8270)) (= $x8254 $x8275)) (= $x8298 $x8304))))
+(let ((@x8311 (trans (quant-intro (rewrite (= (=> $x8243 $x8291) $x8298)) (= $x8296 $x8301)) (quant-intro @x8306 (= $x8301 $x8307)) (= $x8296 $x8307))))
+(let ((@x14905 (mp~ (mp (asserted $x8296) @x8311 $x8307) (nnf-pos (refl (~ $x8304 $x8304)) (~ $x8307 $x8307)) $x8307)))
+(let ((@x18670 (mp @x14905 @x18669 $x18667)))
+(let (($x22597 (not $x22596)))
+(let (($x21489 (not $x9768)))
+(let (($x22629 (not $x18667)))
+(let (($x22732 (or $x22629 $x19677 $x21489 $x22597 $x11259 $x22604)))
+(let ((?x11246 (* (- 1) v_b_P_H_len$)))
+(let ((?x22600 (+ 0 ?x11246)))
+(let (($x22601 (>= ?x22600 0)))
+(let (($x22598 (>= 0 0)))
+(let (($x22599 (not $x22598)))
+(let (($x22605 (or $x19677 $x21489 $x22597 $x22599 $x22601 $x22604)))
+(let (($x22774 (or $x22629 $x22605)))
+(let (($x22742 (or $x19677 $x21489 $x22597 $x11259 $x22604)))
+(let ((@x22706 (trans (monotonicity (rewrite (= ?x22600 ?x11246)) (= $x22601 (>= ?x11246 0))) (rewrite (= (>= ?x11246 0) $x11259)) (= $x22601 $x11259))))
+(let ((@x22711 (trans (monotonicity (rewrite (= $x22598 true)) (= $x22599 $x10203)) (rewrite (= $x10203 false)) (= $x22599 false))))
+(let ((@x22741 (monotonicity @x22711 @x22706 (= $x22605 (or $x19677 $x21489 $x22597 false $x11259 $x22604)))))
+(let ((@x22731 (trans @x22741 (rewrite (= (or $x19677 $x21489 $x22597 false $x11259 $x22604) $x22742)) (= $x22605 $x22742))))
+(let ((@x23093 (trans (monotonicity @x22731 (= $x22774 (or $x22629 $x22742))) (rewrite (= (or $x22629 $x22742) $x22732)) (= $x22774 $x22732))))
+(let ((@x23490 (mp ((_ quant-inst v_b_S_s$ v_b_P_H_arr$ (b_S_ptr$ ?x10076 ?x21014) v_b_P_H_len$ 0 b_T_T_u1$) $x22774) @x23093 $x22732)))
+(let ((@x24453 (unit-resolution @x23490 @x18670 @x9769 @x12041 @x12050 (mp (unit-resolution @x22487 @x24112 $x22344) @x23502 $x22596) (hypothesis $x22603) false)))
+(let (($x20128 (or $x15502 $x15505 $x20125)))
+(let (($x20131 (not $x20128)))
+(let (($x20134 (or $x11221 $x20131)))
+(let (($x20137 (not $x20134)))
+(let (($x20140 (or $x11221 $x20137)))
+(let (($x19617 (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$))))
+(let (($x10238 (= ?x10163 v_b_S_result_G_0$)))
+(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
+(let (($x12168 (<= ?v0 4294967295)))
+(let (($x16553 (not $x12168)))
+(let (($x2815 (>= ?v0 0)))
+(let (($x3763 (not $x2815)))
+(or $x3763 $x16553 $x11800 (not $x10238))))))))) :qid k!704))
+))
+(let (($x19602 (forall ((?v0 Int) )(! (let ((?x11816 (* (- 1) v_b_S_result_G_0$)))
+(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$))))
+(let (($x11818 (<= (+ ?x10163 ?x11816) 0)))
+(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
+(let (($x12168 (<= ?v0 4294967295)))
+(let (($x16553 (not $x12168)))
+(let (($x2815 (>= ?v0 0)))
+(let (($x3763 (not $x2815)))
+(or $x3763 $x16553 $x11800 $x11818))))))))) :qid k!704))
+))
+(let (($x19626 (not (or (not $x19602) (not $x19617)))))
+(let (($x19631 (or $x19580 $x19626)))
+(let (($x19643 (not (or $x15729 $x19474 $x19501 $x19637 $x19638 $x19639 $x19640 (not $x19631)))))
+(let (($x19648 (or $x15729 $x19643)))
+(let (($x19656 (not (or $x11487 $x19474 $x19501 (not $x19648)))))
+(let (($x19408 (forall ((?v0 Int) )(! (let ((?x11631 (* (- 1) v_b_L_H_max_G_3$)))
+(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$))))
+(let (($x11633 (<= (+ ?x10163 ?x11631) 0)))
+(let (($x11615 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_1$)) 0)))
+(let (($x12168 (<= ?v0 4294967295)))
+(let (($x16553 (not $x12168)))
+(let (($x2815 (>= ?v0 0)))
+(let (($x3763 (not $x2815)))
+(or $x3763 $x16553 $x11615 $x11633))))))))) :qid k!704))
+))
+(let (($x19428 (not (or (not $x19408) $x19413))))
+(let (($x19433 (or $x19386 $x19428)))
+(let (($x19441 (not (or $x11612 (not $x19433)))))
+(let (($x19446 (or $x11612 $x19441)))
+(let (($x19458 (not (or $x15611 $x15614 $x19452 $x19453 $x19454 $x19455 (not $x19446)))))
+(let (($x19463 (or $x15611 $x15614 $x19458)))
+(let (($x19475 (not $x19463)))
+(let (($x19515 (not (or $x11515 $x19501 $x19512 $x19513 $x19474 $x19455 $x19475))))
+(let (($x19477 (not (or $x15590 $x15599 $x19469 $x19470 $x19471 $x19472 $x19473 $x19474 $x19455 $x19475))))
+(let (($x19482 (or $x15590 $x15599 $x19477)))
+(let (($x19490 (not (or $x15590 $x15593 (not $x19482)))))
+(let (($x19495 (or $x15590 $x15593 $x19490)))
+(let (($x19504 (not (or $x11516 $x19474 $x19501 (not $x19495)))))
+(let (($x19520 (or $x19504 $x19515)))
+(let (($x19528 (not (or $x15590 $x15599 $x19474 $x19501 (not $x19520)))))
+(let (($x19533 (or $x15590 $x15599 $x19528)))
+(let (($x19541 (not (or $x15590 $x15593 (not $x19533)))))
+(let (($x19546 (or $x15590 $x15593 $x19541)))
+(let (($x19554 (not (or $x11486 $x19474 $x19501 (not $x19546)))))
+(let (($x19661 (or $x19554 $x19656)))
+(let (($x19362 (forall ((?v0 Int) )(! (let ((?x11887 (* (- 1) v_b_L_H_max_G_1$)))
+(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$))))
+(let (($x11889 (<= (+ ?x10163 ?x11887) 0)))
+(let (($x11871 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_0$)) 0)))
+(let (($x12168 (<= ?v0 4294967295)))
+(let (($x16553 (not $x12168)))
+(let (($x2815 (>= ?v0 0)))
+(let (($x3763 (not $x2815)))
+(or $x3763 $x16553 $x11871 $x11889))))))))) :qid k!704))
+))
+(let (($x19685 (or $x11259 $x15548 $x19667 $x19668 $x19669 $x19670 $x19671 $x19672 (not $x19362) $x11867 $x19674 $x19675 $x19676 $x19677 $x19678 $x19679 $x19680 $x19681 $x19682 $x19683 $x19474 $x19501 (not $x19661))))
+(let (($x19686 (not $x19685)))
+(let (($x19691 (or $x11259 $x15548 $x19686)))
+(let (($x19340 (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$))))
+(let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0)))
+(let (($x11388 (>= ?v0 1)))
+(let (($x12168 (<= ?v0 4294967295)))
+(let (($x16553 (not $x12168)))
+(let (($x2815 (>= ?v0 0)))
+(let (($x3763 (not $x2815)))
+(or $x3763 $x16553 $x11388 $x11404)))))))) :qid k!704))
+))
+(let (($x19700 (not (or (not $x19340) (not $x19691)))))
+(let (($x19705 (or $x19318 $x19700)))
+(let (($x19713 (not (or $x11385 (not $x19705)))))
+(let (($x19718 (or $x11385 $x19713)))
+(let (($x19730 (not (or $x15502 $x15511 $x19724 $x19725 $x19726 $x19727 (not $x19718)))))
+(let (($x19735 (or $x15502 $x15511 $x19730)))
+(let (($x19743 (not (or $x15502 $x15505 (not $x19735)))))
+(let (($x19748 (or $x15502 $x15505 $x19743)))
+(let (($x19756 (not (or $x11221 (not $x19748)))))
+(let (($x19761 (or $x11221 $x19756)))
+(let (($x12168 (<= ?0 4294967295)))
+(let (($x16553 (not $x12168)))
+(let (($x3763 (not $x2815)))
+(let (($x19606 (or $x3763 $x16553 $x11800 (not $x10238))))
+(let ((@x20037 (monotonicity (quant-intro (refl (= $x19606 $x19606)) (= $x19617 $x20030)) (= (not $x19617) $x20035))))
+(let ((@x20026 (quant-intro (refl (= (or $x3763 $x16553 $x11800 $x11818) (or $x3763 $x16553 $x11800 $x11818))) (= $x19602 $x20022))))
+(let ((@x20040 (monotonicity (monotonicity @x20026 (= (not $x19602) $x20027)) @x20037 (= (or (not $x19602) (not $x19617)) $x20038))))
+(let ((@x20049 (monotonicity (monotonicity (monotonicity @x20040 (= $x19626 $x20041)) (= $x19631 $x20044)) (= (not $x19631) $x20047))))
+(let ((@x20052 (monotonicity @x20049 (= (or $x15729 $x19474 $x19501 $x19637 $x19638 $x19639 $x19640 (not $x19631)) $x20050))))
+(let ((@x20061 (monotonicity (monotonicity (monotonicity @x20052 (= $x19643 $x20053)) (= $x19648 $x20056)) (= (not $x19648) $x20059))))
+(let ((@x20067 (monotonicity (monotonicity @x20061 (= (or $x11487 $x19474 $x19501 (not $x19648)) $x20062)) (= $x19656 $x20065))))
+(let ((@x19910 (quant-intro (refl (= (or $x3763 $x16553 $x11615 $x11633) (or $x3763 $x16553 $x11615 $x11633))) (= $x19408 $x19906))))
+(let ((@x19916 (monotonicity (monotonicity @x19910 (= (not $x19408) $x19911)) (= (or (not $x19408) $x19413) $x19914))))
+(let ((@x19925 (monotonicity (monotonicity (monotonicity @x19916 (= $x19428 $x19917)) (= $x19433 $x19920)) (= (not $x19433) $x19923))))
+(let ((@x19931 (monotonicity (monotonicity @x19925 (= (or $x11612 (not $x19433)) $x19926)) (= $x19441 $x19929))))
+(let ((@x19937 (monotonicity (monotonicity @x19931 (= $x19446 $x19932)) (= (not $x19446) $x19935))))
+(let ((@x19940 (monotonicity @x19937 (= (or $x15611 $x15614 $x19452 $x19453 $x19454 $x19455 (not $x19446)) $x19938))))
+(let ((@x19949 (monotonicity (monotonicity (monotonicity @x19940 (= $x19458 $x19941)) (= $x19463 $x19944)) (= $x19475 $x19947))))
+(let ((@x19982 (monotonicity @x19949 (= (or $x11515 $x19501 $x19512 $x19513 $x19474 $x19455 $x19475) $x19980))))
+(let ((@x19952 (monotonicity @x19949 (= (or $x15590 $x15599 $x19469 $x19470 $x19471 $x19472 $x19473 $x19474 $x19455 $x19475) $x19950))))
+(let ((@x19961 (monotonicity (monotonicity (monotonicity @x19952 (= $x19477 $x19953)) (= $x19482 $x19956)) (= (not $x19482) $x19959))))
+(let ((@x19967 (monotonicity (monotonicity @x19961 (= (or $x15590 $x15593 (not $x19482)) $x19962)) (= $x19490 $x19965))))
+(let ((@x19973 (monotonicity (monotonicity @x19967 (= $x19495 $x19968)) (= (not $x19495) $x19971))))
+(let ((@x19979 (monotonicity (monotonicity @x19973 (= (or $x11516 $x19474 $x19501 (not $x19495)) $x19974)) (= $x19504 $x19977))))
+(let ((@x19988 (monotonicity @x19979 (monotonicity @x19982 (= $x19515 $x19983)) (= $x19520 $x19986))))
+(let ((@x19994 (monotonicity (monotonicity @x19988 (= (not $x19520) $x19989)) (= (or $x15590 $x15599 $x19474 $x19501 (not $x19520)) $x19992))))
+(let ((@x20003 (monotonicity (monotonicity (monotonicity @x19994 (= $x19528 $x19995)) (= $x19533 $x19998)) (= (not $x19533) $x20001))))
+(let ((@x20009 (monotonicity (monotonicity @x20003 (= (or $x15590 $x15593 (not $x19533)) $x20004)) (= $x19541 $x20007))))
+(let ((@x20015 (monotonicity (monotonicity @x20009 (= $x19546 $x20010)) (= (not $x19546) $x20013))))
+(let ((@x20021 (monotonicity (monotonicity @x20015 (= (or $x11486 $x19474 $x19501 (not $x19546)) $x20016)) (= $x19554 $x20019))))
+(let ((@x20073 (monotonicity (monotonicity @x20021 @x20067 (= $x19661 $x20068)) (= (not $x19661) $x20071))))
+(let ((@x19902 (quant-intro (refl (= (or $x3763 $x16553 $x11871 $x11889) (or $x3763 $x16553 $x11871 $x11889))) (= $x19362 $x19898))))
+(let ((@x20076 (monotonicity (monotonicity @x19902 (= (not $x19362) $x19903)) @x20073 (= $x19685 $x20074))))
+(let ((@x20085 (monotonicity (monotonicity (monotonicity @x20076 (= $x19686 $x20077)) (= $x19691 $x20080)) (= (not $x19691) $x20083))))
+(let ((@x19894 (quant-intro (refl (= (or $x3763 $x16553 $x11388 $x11404) (or $x3763 $x16553 $x11388 $x11404))) (= $x19340 $x19890))))
+(let ((@x20088 (monotonicity (monotonicity @x19894 (= (not $x19340) $x19895)) @x20085 (= (or (not $x19340) (not $x19691)) $x20086))))
+(let ((@x20097 (monotonicity (monotonicity (monotonicity @x20088 (= $x19700 $x20089)) (= $x19705 $x20092)) (= (not $x19705) $x20095))))
+(let ((@x20103 (monotonicity (monotonicity @x20097 (= (or $x11385 (not $x19705)) $x20098)) (= $x19713 $x20101))))
+(let ((@x20109 (monotonicity (monotonicity @x20103 (= $x19718 $x20104)) (= (not $x19718) $x20107))))
+(let ((@x20112 (monotonicity @x20109 (= (or $x15502 $x15511 $x19724 $x19725 $x19726 $x19727 (not $x19718)) $x20110))))
+(let ((@x20121 (monotonicity (monotonicity (monotonicity @x20112 (= $x19730 $x20113)) (= $x19735 $x20116)) (= (not $x19735) $x20119))))
+(let ((@x20127 (monotonicity (monotonicity @x20121 (= (or $x15502 $x15505 (not $x19735)) $x20122)) (= $x19743 $x20125))))
+(let ((@x20133 (monotonicity (monotonicity @x20127 (= $x19748 $x20128)) (= (not $x19748) $x20131))))
+(let ((@x20139 (monotonicity (monotonicity @x20133 (= (or $x11221 (not $x19748)) $x20134)) (= $x19756 $x20137))))
+(let (($x15761 (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$))))
+(let (($x10238 (= ?x10163 v_b_S_result_G_0$)))
+(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
+(let (($x11802 (not $x11800)))
+(let (($x12168 (<= ?v0 4294967295)))
+(let (($x2815 (>= ?v0 0)))
+(let (($x13448 (and $x2815 $x12168 $x11802 $x10238)))
+(not $x13448)))))))) :qid k!704))
+))
+(let (($x13442 (forall ((?v0 Int) )(! (let ((?x11816 (* (- 1) v_b_S_result_G_0$)))
+(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$))))
+(let (($x11818 (<= (+ ?x10163 ?x11816) 0)))
+(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
+(let (($x11802 (not $x11800)))
+(let (($x12168 (<= ?v0 4294967295)))
+(let (($x2815 (>= ?v0 0)))
+(let (($x13433 (and $x2815 $x12168 $x11802)))
+(let (($x13436 (not $x13433)))
+(or $x13436 $x11818)))))))))) :qid k!704))
+))
+(let (($x15765 (and $x13442 $x15761)))
+(let (($x16014 (not $x16009)))
+(let (($x16017 (and $x15736 $x15737 $x16014)))
+(let (($x16020 (not $x16017)))
+(let (($x16036 (or $x16020 $x16031)))
+(let (($x16039 (not $x16036)))
+(let (($x16042 (or $x16039 $x15765)))
+(let (($x16048 (and b_S_position_n_marker$ $x11429 $x11432 $x10216 $x10218 $x10220 $x10222 $x16042)))
+(let (($x16053 (or $x15729 $x16048)))
+(let (($x16059 (and $x11486 $x11429 $x11432 $x16053)))
+(let (($x15648 (not $x11651)))
+(let (($x13373 (forall ((?v0 Int) )(! (let ((?x11631 (* (- 1) v_b_L_H_max_G_3$)))
+(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$))))
+(let (($x11633 (<= (+ ?x10163 ?x11631) 0)))
+(let (($x11615 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_1$)) 0)))
+(let (($x11617 (not $x11615)))
+(let (($x12168 (<= ?v0 4294967295)))
+(let (($x2815 (>= ?v0 0)))
+(let (($x13364 (and $x2815 $x12168 $x11617)))
+(let (($x13367 (not $x13364)))
+(or $x13367 $x11633)))))))))) :qid k!704))
+))
+(let (($x15651 (and $x13373 $x15648)))
+(let (($x15876 (not $x15871)))
+(let (($x15879 (and $x15626 $x15627 $x15876)))
+(let (($x15882 (not $x15879)))
+(let (($x15898 (or $x15882 $x15893)))
+(let (($x15901 (not $x15898)))
+(let (($x15904 (or $x15901 $x15651)))
+(let (($x15907 (and $x11608 $x15904)))
+(let (($x15910 (or $x11612 $x15907)))
+(let (($x15916 (and $x11570 $x13353 $x11580 $x10358 $x11578 $x11536 $x15910)))
+(let (($x15921 (or $x15611 $x15614 $x15916)))
+(let (($x15959 (and $x11516 $x11432 $x10391 $x10392 $x11429 $x11536 $x15921)))
+(let (($x15927 (and $x10321 $x10324 $x10333 $x10334 $x10335 $x10338 $x10340 $x11429 $x11536 $x15921)))
+(let (($x15932 (or $x15590 $x15599 $x15927)))
+(let (($x15938 (and $x10321 $x10322 $x15932)))
+(let (($x15943 (or $x15590 $x15593 $x15938)))
+(let (($x15949 (and $x11515 $x11429 $x11432 $x15943)))
+(let (($x15964 (or $x15949 $x15959)))
+(let (($x15970 (and $x10321 $x10324 $x11429 $x11432 $x15964)))
+(let (($x15975 (or $x15590 $x15599 $x15970)))
+(let (($x15981 (and $x10321 $x10322 $x15975)))
+(let (($x15986 (or $x15590 $x15593 $x15981)))
+(let (($x15992 (and $x11487 $x11429 $x11432 $x15986)))
+(let (($x16064 (or $x15992 $x16059)))
+(let (($x13340 (forall ((?v0 Int) )(! (let ((?x11887 (* (- 1) v_b_L_H_max_G_1$)))
+(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$))))
+(let (($x11889 (<= (+ ?x10163 ?x11887) 0)))
+(let (($x11871 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_0$)) 0)))
+(let (($x11873 (not $x11871)))
+(let (($x12168 (<= ?v0 4294967295)))
+(let (($x2815 (>= ?v0 0)))
+(let (($x13331 (and $x2815 $x12168 $x11873)))
+(let (($x13334 (not $x13331)))
+(or $x13334 $x11889)))))))))) :qid k!704))
+))
+(let (($x16070 (and $x11260 $x10167 $x11911 $x13304 $x13315 $x11901 $x13326 $x11898 $x13340 $x11868 $x10192 $x10284 $x10204 $x10097 $x10291 $x10292 $x10293 $x10294 $x10295 $x10296 $x11429 $x11432 $x16064)))
+(let (($x16075 (or $x11259 $x15548 $x16070)))
+(let (($x13292 (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$))))
+(let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0)))
+(let (($x11388 (>= ?v0 1)))
+(let (($x11389 (not $x11388)))
+(let (($x12168 (<= ?v0 4294967295)))
+(let (($x2815 (>= ?v0 0)))
+(let (($x13283 (and $x2815 $x12168 $x11389)))
+(let (($x13286 (not $x13283)))
+(or $x13286 $x11404))))))))) :qid k!704))
+))
+(let (($x16078 (and $x13292 $x16075)))
+(let (($x15528 (not (and $x15523 $x15524 (not $x15525)))))
+(let (($x15534 (or $x15528 $x15533)))
+(let (($x15535 (not $x15534)))
+(let (($x16081 (or $x15535 $x16078)))
+(let (($x16084 (and $x11382 $x16081)))
+(let (($x16087 (or $x11385 $x16084)))
+(let (($x16093 (and $x10138 $x10141 $x10145 $x10146 $x10147 $x10148 $x16087)))
+(let (($x16098 (or $x15502 $x15511 $x16093)))
+(let (($x16104 (and $x10138 $x10139 $x16098)))
+(let (($x16109 (or $x15502 $x15505 $x16104)))
+(let (($x16112 (and $x10136 $x16109)))
+(let (($x16115 (or $x11221 $x16112)))
+(let (($x19664 (and $x11260 $x10167 $x11911 $x13304 $x13315 $x11901 $x13326 $x11898 $x19362 $x11868 $x10192 $x10284 $x10204 $x10097 $x10291 $x10292 $x10293 $x10294 $x10295 $x10296 $x11429 $x11432 $x19661)))
+(let (($x19644 (= (and b_S_position_n_marker$ $x11429 $x11432 $x10216 $x10218 $x10220 $x10222 $x19631) $x19643)))
+(let (($x19635 (= $x16048 (and b_S_position_n_marker$ $x11429 $x11432 $x10216 $x10218 $x10220 $x10222 $x19631))))
+(let ((@x19612 (monotonicity (rewrite (= (and $x2815 $x12168 $x11802 $x10238) (not $x19606))) (= (not (and $x2815 $x12168 $x11802 $x10238)) (not (not $x19606))))))
+(let ((@x19616 (trans @x19612 (rewrite (= (not (not $x19606)) $x19606)) (= (not (and $x2815 $x12168 $x11802 $x10238)) $x19606))))
+(let ((@x19599 (rewrite (= (or (or $x3763 $x16553 $x11800) $x11818) (or $x3763 $x16553 $x11800 $x11818)))))
+(let (($x13433 (and $x2815 $x12168 $x11802)))
+(let (($x13436 (not $x13433)))
+(let (($x13439 (or $x13436 $x11818)))
+(let ((@x19589 (monotonicity (rewrite (= $x13433 (not (or $x3763 $x16553 $x11800)))) (= $x13436 (not (not (or $x3763 $x16553 $x11800)))))))
+(let ((@x19593 (trans @x19589 (rewrite (= (not (not (or $x3763 $x16553 $x11800))) (or $x3763 $x16553 $x11800))) (= $x13436 (or $x3763 $x16553 $x11800)))))
+(let ((@x19601 (trans (monotonicity @x19593 (= $x13439 (or (or $x3763 $x16553 $x11800) $x11818))) @x19599 (= $x13439 (or $x3763 $x16553 $x11800 $x11818)))))
+(let ((@x19622 (monotonicity (quant-intro @x19601 (= $x13442 $x19602)) (quant-intro @x19616 (= $x15761 $x19617)) (= $x15765 (and $x19602 $x19617)))))
+(let ((@x19567 (monotonicity (rewrite (= $x16017 (not (or $x19559 $x19560 $x16009)))) (= $x16020 (not (not (or $x19559 $x19560 $x16009)))))))
+(let ((@x19571 (trans @x19567 (rewrite (= (not (not (or $x19559 $x19560 $x16009))) (or $x19559 $x19560 $x16009))) (= $x16020 (or $x19559 $x19560 $x16009)))))
+(let ((@x19579 (trans (monotonicity @x19571 (= $x16036 (or (or $x19559 $x19560 $x16009) $x16031))) (rewrite (= (or (or $x19559 $x19560 $x16009) $x16031) $x19575)) (= $x16036 $x19575))))
+(let ((@x19633 (monotonicity (monotonicity @x19579 (= $x16039 $x19580)) (trans @x19622 (rewrite (= (and $x19602 $x19617) $x19626)) (= $x15765 $x19626)) (= $x16042 $x19631))))
+(let ((@x19650 (monotonicity (trans (monotonicity @x19633 $x19635) (rewrite $x19644) (= $x16048 $x19643)) (= $x16053 $x19648))))
+(let ((@x19660 (trans (monotonicity @x19650 (= $x16059 (and $x11486 $x11429 $x11432 $x19648))) (rewrite (= (and $x11486 $x11429 $x11432 $x19648) $x19656)) (= $x16059 $x19656))))
+(let ((@x19422 (trans (monotonicity (rewrite (= $x11651 $x19413)) (= $x15648 (not $x19413))) (rewrite (= (not $x19413) $x19412)) (= $x15648 $x19412))))
+(let ((@x19405 (rewrite (= (or (or $x3763 $x16553 $x11615) $x11633) (or $x3763 $x16553 $x11615 $x11633)))))
+(let (($x13364 (and $x2815 $x12168 $x11617)))
+(let (($x13367 (not $x13364)))
+(let (($x13370 (or $x13367 $x11633)))
+(let ((@x19395 (monotonicity (rewrite (= $x13364 (not (or $x3763 $x16553 $x11615)))) (= $x13367 (not (not (or $x3763 $x16553 $x11615)))))))
+(let ((@x19399 (trans @x19395 (rewrite (= (not (not (or $x3763 $x16553 $x11615))) (or $x3763 $x16553 $x11615))) (= $x13367 (or $x3763 $x16553 $x11615)))))
+(let ((@x19407 (trans (monotonicity @x19399 (= $x13370 (or (or $x3763 $x16553 $x11615) $x11633))) @x19405 (= $x13370 (or $x3763 $x16553 $x11615 $x11633)))))
+(let ((@x19425 (monotonicity (quant-intro @x19407 (= $x13373 $x19408)) @x19422 (= $x15651 (and $x19408 $x19412)))))
+(let ((@x19373 (monotonicity (rewrite (= $x15879 (not (or $x19365 $x19366 $x15871)))) (= $x15882 (not (not (or $x19365 $x19366 $x15871)))))))
+(let ((@x19377 (trans @x19373 (rewrite (= (not (not (or $x19365 $x19366 $x15871))) (or $x19365 $x19366 $x15871))) (= $x15882 (or $x19365 $x19366 $x15871)))))
+(let ((@x19385 (trans (monotonicity @x19377 (= $x15898 (or (or $x19365 $x19366 $x15871) $x15893))) (rewrite (= (or (or $x19365 $x19366 $x15871) $x15893) $x19381)) (= $x15898 $x19381))))
+(let ((@x19435 (monotonicity (monotonicity @x19385 (= $x15901 $x19386)) (trans @x19425 (rewrite (= (and $x19408 $x19412) $x19428)) (= $x15651 $x19428)) (= $x15904 $x19433))))
+(let ((@x19445 (trans (monotonicity @x19435 (= $x15907 (and $x11608 $x19433))) (rewrite (= (and $x11608 $x19433) $x19441)) (= $x15907 $x19441))))
+(let ((@x19451 (monotonicity (monotonicity @x19445 (= $x15910 $x19446)) (= $x15916 (and $x11570 $x13353 $x11580 $x10358 $x11578 $x11536 $x19446)))))
+(let ((@x19462 (trans @x19451 (rewrite (= (and $x11570 $x13353 $x11580 $x10358 $x11578 $x11536 $x19446) $x19458)) (= $x15916 $x19458))))
+(let ((@x19511 (monotonicity (monotonicity @x19462 (= $x15921 $x19463)) (= $x15959 (and $x11516 $x11432 $x10391 $x10392 $x11429 $x11536 $x19463)))))
+(let ((@x19519 (trans @x19511 (rewrite (= (and $x11516 $x11432 $x10391 $x10392 $x11429 $x11536 $x19463) $x19515)) (= $x15959 $x19515))))
+(let ((@x19479 (rewrite (= (and $x10321 $x10324 $x10333 $x10334 $x10335 $x10338 $x10340 $x11429 $x11536 $x19463) $x19477))))
+(let ((@x19468 (monotonicity (monotonicity @x19462 (= $x15921 $x19463)) (= $x15927 (and $x10321 $x10324 $x10333 $x10334 $x10335 $x10338 $x10340 $x11429 $x11536 $x19463)))))
+(let ((@x19487 (monotonicity (monotonicity (trans @x19468 @x19479 (= $x15927 $x19477)) (= $x15932 $x19482)) (= $x15938 (and $x10321 $x10322 $x19482)))))
+(let ((@x19494 (trans @x19487 (rewrite (= (and $x10321 $x10322 $x19482) $x19490)) (= $x15938 $x19490))))
+(let ((@x19500 (monotonicity (monotonicity @x19494 (= $x15943 $x19495)) (= $x15949 (and $x11515 $x11429 $x11432 $x19495)))))
+(let ((@x19508 (trans @x19500 (rewrite (= (and $x11515 $x11429 $x11432 $x19495) $x19504)) (= $x15949 $x19504))))
+(let ((@x19525 (monotonicity (monotonicity @x19508 @x19519 (= $x15964 $x19520)) (= $x15970 (and $x10321 $x10324 $x11429 $x11432 $x19520)))))
+(let ((@x19532 (trans @x19525 (rewrite (= (and $x10321 $x10324 $x11429 $x11432 $x19520) $x19528)) (= $x15970 $x19528))))
+(let ((@x19538 (monotonicity (monotonicity @x19532 (= $x15975 $x19533)) (= $x15981 (and $x10321 $x10322 $x19533)))))
+(let ((@x19545 (trans @x19538 (rewrite (= (and $x10321 $x10322 $x19533) $x19541)) (= $x15981 $x19541))))
+(let ((@x19551 (monotonicity (monotonicity @x19545 (= $x15986 $x19546)) (= $x15992 (and $x11487 $x11429 $x11432 $x19546)))))
+(let ((@x19558 (trans @x19551 (rewrite (= (and $x11487 $x11429 $x11432 $x19546) $x19554)) (= $x15992 $x19554))))
+(let ((@x19359 (rewrite (= (or (or $x3763 $x16553 $x11871) $x11889) (or $x3763 $x16553 $x11871 $x11889)))))
+(let (($x13331 (and $x2815 $x12168 $x11873)))
+(let (($x13334 (not $x13331)))
+(let (($x13337 (or $x13334 $x11889)))
+(let ((@x19349 (monotonicity (rewrite (= $x13331 (not (or $x3763 $x16553 $x11871)))) (= $x13334 (not (not (or $x3763 $x16553 $x11871)))))))
+(let ((@x19353 (trans @x19349 (rewrite (= (not (not (or $x3763 $x16553 $x11871))) (or $x3763 $x16553 $x11871))) (= $x13334 (or $x3763 $x16553 $x11871)))))
+(let ((@x19361 (trans (monotonicity @x19353 (= $x13337 (or (or $x3763 $x16553 $x11871) $x11889))) @x19359 (= $x13337 (or $x3763 $x16553 $x11871 $x11889)))))
+(let ((@x19666 (monotonicity (quant-intro @x19361 (= $x13340 $x19362)) (monotonicity @x19558 @x19660 (= $x16064 $x19661)) (= $x16070 $x19664))))
+(let ((@x19693 (monotonicity (trans @x19666 (rewrite (= $x19664 $x19686)) (= $x16070 $x19686)) (= $x16075 $x19691))))
+(let ((@x19337 (rewrite (= (or (or $x3763 $x16553 $x11388) $x11404) (or $x3763 $x16553 $x11388 $x11404)))))
+(let (($x13283 (and $x2815 $x12168 $x11389)))
+(let (($x13286 (not $x13283)))
+(let (($x13289 (or $x13286 $x11404)))
+(let ((@x19327 (monotonicity (rewrite (= $x13283 (not (or $x3763 $x16553 $x11388)))) (= $x13286 (not (not (or $x3763 $x16553 $x11388)))))))
+(let ((@x19331 (trans @x19327 (rewrite (= (not (not (or $x3763 $x16553 $x11388))) (or $x3763 $x16553 $x11388))) (= $x13286 (or $x3763 $x16553 $x11388)))))
+(let ((@x19339 (trans (monotonicity @x19331 (= $x13289 (or (or $x3763 $x16553 $x11388) $x11404))) @x19337 (= $x13289 (or $x3763 $x16553 $x11388 $x11404)))))
+(let ((@x19696 (monotonicity (quant-intro @x19339 (= $x13292 $x19340)) @x19693 (= $x16078 (and $x19340 $x19691)))))
+(let ((@x19305 (monotonicity (rewrite (= (and $x15523 $x15524 (not $x15525)) (not (or $x19297 $x19298 $x15525)))) (= $x15528 (not (not (or $x19297 $x19298 $x15525)))))))
+(let ((@x19309 (trans @x19305 (rewrite (= (not (not (or $x19297 $x19298 $x15525))) (or $x19297 $x19298 $x15525))) (= $x15528 (or $x19297 $x19298 $x15525)))))
+(let ((@x19317 (trans (monotonicity @x19309 (= $x15534 (or (or $x19297 $x19298 $x15525) $x15533))) (rewrite (= (or (or $x19297 $x19298 $x15525) $x15533) $x19313)) (= $x15534 $x19313))))
+(let ((@x19707 (monotonicity (monotonicity @x19317 (= $x15535 $x19318)) (trans @x19696 (rewrite (= (and $x19340 $x19691) $x19700)) (= $x16078 $x19700)) (= $x16081 $x19705))))
+(let ((@x19717 (trans (monotonicity @x19707 (= $x16084 (and $x11382 $x19705))) (rewrite (= (and $x11382 $x19705) $x19713)) (= $x16084 $x19713))))
+(let ((@x19723 (monotonicity (monotonicity @x19717 (= $x16087 $x19718)) (= $x16093 (and $x10138 $x10141 $x10145 $x10146 $x10147 $x10148 $x19718)))))
+(let ((@x19734 (trans @x19723 (rewrite (= (and $x10138 $x10141 $x10145 $x10146 $x10147 $x10148 $x19718) $x19730)) (= $x16093 $x19730))))
+(let ((@x19740 (monotonicity (monotonicity @x19734 (= $x16098 $x19735)) (= $x16104 (and $x10138 $x10139 $x19735)))))
+(let ((@x19747 (trans @x19740 (rewrite (= (and $x10138 $x10139 $x19735) $x19743)) (= $x16104 $x19743))))
+(let ((@x19753 (monotonicity (monotonicity @x19747 (= $x16109 $x19748)) (= $x16112 (and $x10136 $x19748)))))
+(let ((@x19763 (monotonicity (trans @x19753 (rewrite (= (and $x10136 $x19748) $x19756)) (= $x16112 $x19756)) (= $x16115 $x19761))))
+(let (($x15746 (<= (+ ?x15744 (* (- 1) v_b_S_result_G_0$)) 0)))
+(let (($x15748 (not (or (not (and $x15736 $x15737 (not (>= (+ ?v0!15 ?x11246) 0)))) $x15746))))
+(let (($x15769 (or $x15748 $x15765)))
+(let (($x15732 (not $x11797)))
+(let (($x15773 (and $x15732 $x15769)))
+(let (($x15777 (or $x15729 $x15773)))
+(let (($x15726 (not $x11777)))
+(let (($x15781 (and $x15726 $x15777)))
+(let (($x15636 (<= (+ ?x15634 (* (- 1) v_b_L_H_max_G_3$)) 0)))
+(let (($x15638 (not (or (not (and $x15626 $x15627 (not (>= (+ ?v0!14 ?x11581) 0)))) $x15636))))
+(let (($x15655 (or $x15638 $x15651)))
+(let (($x15622 (not $x11612)))
+(let (($x15659 (and $x15622 $x15655)))
+(let (($x15663 (or $x11612 $x15659)))
+(let (($x13358 (and $x11570 $x13353 $x11580 $x10358 $x11578 $x11536)))
+(let (($x13361 (not $x13358)))
+(let (($x15617 (not $x13361)))
+(let (($x15667 (and $x15617 $x15663)))
+(let (($x15671 (or $x15611 $x15614 $x15667)))
+(let (($x15695 (not $x11730)))
+(let (($x15698 (and $x15695 $x15671)))
+(let (($x15608 (not $x11567)))
+(let (($x15675 (and $x15608 $x15671)))
+(let (($x15679 (or $x15590 $x15599 $x15675)))
+(let (($x15596 (not $x11001)))
+(let (($x15683 (and $x15596 $x15679)))
+(let (($x15687 (or $x15590 $x15593 $x15683)))
+(let (($x15605 (not $x11532)))
+(let (($x15691 (and $x15605 $x15687)))
+(let (($x15702 (or $x15691 $x15698)))
+(let (($x15602 (not $x11512)))
+(let (($x15706 (and $x15602 $x15702)))
+(let (($x15710 (or $x15590 $x15599 $x15706)))
+(let (($x15714 (and $x15596 $x15710)))
+(let (($x15718 (or $x15590 $x15593 $x15714)))
+(let (($x15587 (not $x11501)))
+(let (($x15722 (and $x15587 $x15718)))
+(let (($x15785 (or $x15722 $x15781)))
+(let (($x15584 (not $x11481)))
+(let (($x13343 (and $x11260 $x10167 $x11911 $x13304 $x13315 $x11901 $x13326 $x11898 $x13340 $x11868 $x10192 $x11429 $x11432)))
+(let (($x15789 (and $x13343 $x15584 $x15785)))
+(let (($x15545 (not $x11260)))
+(let (($x15793 (or $x15545 $x15548 $x15789)))
+(let (($x15797 (and $x13292 $x15793)))
+(let (($x15801 (or $x15535 $x15797)))
+(let (($x15519 (not $x11385)))
+(let (($x15805 (and $x15519 $x15801)))
+(let (($x15809 (or $x11385 $x15805)))
+(let (($x15514 (not $x11379)))
+(let (($x15813 (and $x15514 $x15809)))
+(let (($x15817 (or $x15502 $x15511 $x15813)))
+(let (($x15508 (not $x11209)))
+(let (($x15821 (and $x15508 $x15817)))
+(let (($x15825 (or $x15502 $x15505 $x15821)))
+(let (($x15499 (not $x11221)))
+(let (($x15829 (and $x15499 $x15825)))
+(let (($x15833 (or $x11221 $x15829)))
+(let (($x16037 (= (or (not (and $x15736 $x15737 (not (>= (+ ?v0!15 ?x11246) 0)))) $x15746) $x16036)))
+(let (($x16024 (= (+ ?x15744 (* (- 1) v_b_S_result_G_0$)) (+ (* (- 1) v_b_S_result_G_0$) ?x15744))))
+(let ((@x16028 (monotonicity (rewrite $x16024) (= $x15746 (<= (+ (* (- 1) v_b_S_result_G_0$) ?x15744) 0)))))
+(let ((@x16035 (trans @x16028 (rewrite (= (<= (+ (* (- 1) v_b_S_result_G_0$) ?x15744) 0) $x16031)) (= $x15746 $x16031))))
+(let ((@x16006 (monotonicity (rewrite (= (+ ?v0!15 ?x11246) (+ ?x11246 ?v0!15))) (= (>= (+ ?v0!15 ?x11246) 0) (>= (+ ?x11246 ?v0!15) 0)))))
+(let ((@x16013 (trans @x16006 (rewrite (= (>= (+ ?x11246 ?v0!15) 0) $x16009)) (= (>= (+ ?v0!15 ?x11246) 0) $x16009))))
+(let ((@x16019 (monotonicity (monotonicity @x16013 (= (not (>= (+ ?v0!15 ?x11246) 0)) $x16014)) (= (and $x15736 $x15737 (not (>= (+ ?v0!15 ?x11246) 0))) $x16017))))
+(let ((@x16022 (monotonicity @x16019 (= (not (and $x15736 $x15737 (not (>= (+ ?v0!15 ?x11246) 0)))) $x16020))))
+(let ((@x16044 (monotonicity (monotonicity (monotonicity @x16022 @x16035 $x16037) (= $x15748 $x16039)) (= $x15769 $x16042))))
+(let ((@x16047 (monotonicity (rewrite (= $x15732 $x11792)) @x16044 (= $x15773 (and $x11792 $x16042)))))
+(let ((@x16055 (monotonicity (trans @x16047 (rewrite (= (and $x11792 $x16042) $x16048)) (= $x15773 $x16048)) (= $x15777 $x16053))))
+(let ((@x16058 (monotonicity (rewrite (= $x15726 $x11772)) @x16055 (= $x15781 (and $x11772 $x16053)))))
+(let (($x15899 (= (or (not (and $x15626 $x15627 (not (>= (+ ?v0!14 ?x11581) 0)))) $x15636) $x15898)))
+(let (($x15886 (= (+ ?x15634 (* (- 1) v_b_L_H_max_G_3$)) (+ (* (- 1) v_b_L_H_max_G_3$) ?x15634))))
+(let ((@x15890 (monotonicity (rewrite $x15886) (= $x15636 (<= (+ (* (- 1) v_b_L_H_max_G_3$) ?x15634) 0)))))
+(let ((@x15897 (trans @x15890 (rewrite (= (<= (+ (* (- 1) v_b_L_H_max_G_3$) ?x15634) 0) $x15893)) (= $x15636 $x15893))))
+(let ((@x15868 (monotonicity (rewrite (= (+ ?v0!14 ?x11581) (+ ?x11581 ?v0!14))) (= (>= (+ ?v0!14 ?x11581) 0) (>= (+ ?x11581 ?v0!14) 0)))))
+(let ((@x15875 (trans @x15868 (rewrite (= (>= (+ ?x11581 ?v0!14) 0) $x15871)) (= (>= (+ ?v0!14 ?x11581) 0) $x15871))))
+(let ((@x15881 (monotonicity (monotonicity @x15875 (= (not (>= (+ ?v0!14 ?x11581) 0)) $x15876)) (= (and $x15626 $x15627 (not (>= (+ ?v0!14 ?x11581) 0))) $x15879))))
+(let ((@x15884 (monotonicity @x15881 (= (not (and $x15626 $x15627 (not (>= (+ ?v0!14 ?x11581) 0)))) $x15882))))
+(let ((@x15906 (monotonicity (monotonicity (monotonicity @x15884 @x15897 $x15899) (= $x15638 $x15901)) (= $x15655 $x15904))))
+(let ((@x15912 (monotonicity (monotonicity (rewrite (= $x15622 $x11608)) @x15906 (= $x15659 $x15907)) (= $x15663 $x15910))))
+(let ((@x15915 (monotonicity (rewrite (= $x15617 $x13358)) @x15912 (= $x15667 (and $x13358 $x15910)))))
+(let ((@x15923 (monotonicity (trans @x15915 (rewrite (= (and $x13358 $x15910) $x15916)) (= $x15667 $x15916)) (= $x15671 $x15921))))
+(let ((@x15958 (monotonicity (rewrite (= $x15695 $x11725)) @x15923 (= $x15698 (and $x11725 $x15921)))))
+(let ((@x15926 (monotonicity (rewrite (= $x15608 $x11562)) @x15923 (= $x15675 (and $x11562 $x15921)))))
+(let ((@x15934 (monotonicity (trans @x15926 (rewrite (= (and $x11562 $x15921) $x15927)) (= $x15675 $x15927)) (= $x15679 $x15932))))
+(let ((@x15937 (monotonicity (rewrite (= $x15596 $x10323)) @x15934 (= $x15683 (and $x10323 $x15932)))))
+(let ((@x15945 (monotonicity (trans @x15937 (rewrite (= (and $x10323 $x15932) $x15938)) (= $x15683 $x15938)) (= $x15687 $x15943))))
+(let ((@x15948 (monotonicity (rewrite (= $x15605 $x11527)) @x15945 (= $x15691 (and $x11527 $x15943)))))
+(let ((@x15966 (monotonicity (trans @x15948 (rewrite (= (and $x11527 $x15943) $x15949)) (= $x15691 $x15949)) (trans @x15958 (rewrite (= (and $x11725 $x15921) $x15959)) (= $x15698 $x15959)) (= $x15702 $x15964))))
+(let ((@x15969 (monotonicity (rewrite (= $x15602 $x11507)) @x15966 (= $x15706 (and $x11507 $x15964)))))
+(let ((@x15977 (monotonicity (trans @x15969 (rewrite (= (and $x11507 $x15964) $x15970)) (= $x15706 $x15970)) (= $x15710 $x15975))))
+(let ((@x15980 (monotonicity (rewrite (= $x15596 $x10323)) @x15977 (= $x15714 (and $x10323 $x15975)))))
+(let ((@x15988 (monotonicity (trans @x15980 (rewrite (= (and $x10323 $x15975) $x15981)) (= $x15714 $x15981)) (= $x15718 $x15986))))
+(let ((@x15991 (monotonicity (rewrite (= $x15587 $x11496)) @x15988 (= $x15722 (and $x11496 $x15986)))))
+(let ((@x16066 (monotonicity (trans @x15991 (rewrite (= (and $x11496 $x15986) $x15992)) (= $x15722 $x15992)) (trans @x16058 (rewrite (= (and $x11772 $x16053) $x16059)) (= $x15781 $x16059)) (= $x15785 $x16064))))
+(let ((@x16069 (monotonicity (rewrite (= $x15584 $x11476)) @x16066 (= $x15789 (and $x13343 $x11476 $x16064)))))
+(let ((@x16074 (trans @x16069 (rewrite (= (and $x13343 $x11476 $x16064) $x16070)) (= $x15789 $x16070))))
+(let ((@x16080 (monotonicity (monotonicity (rewrite (= $x15545 $x11259)) @x16074 (= $x15793 $x16075)) (= $x15797 $x16078))))
+(let ((@x16086 (monotonicity (rewrite (= $x15519 $x11382)) (monotonicity @x16080 (= $x15801 $x16081)) (= $x15805 $x16084))))
+(let ((@x16092 (monotonicity (rewrite (= $x15514 $x11374)) (monotonicity @x16086 (= $x15809 $x16087)) (= $x15813 (and $x11374 $x16087)))))
+(let ((@x16100 (monotonicity (trans @x16092 (rewrite (= (and $x11374 $x16087) $x16093)) (= $x15813 $x16093)) (= $x15817 $x16098))))
+(let ((@x16103 (monotonicity (rewrite (= $x15508 $x10140)) @x16100 (= $x15821 (and $x10140 $x16098)))))
+(let ((@x16111 (monotonicity (trans @x16103 (rewrite (= (and $x10140 $x16098) $x16104)) (= $x15821 $x16104)) (= $x15825 $x16109))))
+(let ((@x16117 (monotonicity (monotonicity (rewrite (= $x15499 $x10136)) @x16111 (= $x15829 $x16112)) (= $x15833 $x16115))))
+(let (($x13451 (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$))))
+(let (($x10238 (= ?x10163 v_b_S_result_G_0$)))
+(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
+(let (($x11802 (not $x11800)))
+(let (($x12168 (<= ?v0 4294967295)))
+(let (($x2815 (>= ?v0 0)))
+(and $x2815 $x12168 $x11802 $x10238))))))) :qid k!704))
+))
+(let (($x13445 (not $x13442)))
+(let (($x13454 (or $x13445 $x13451)))
+(let (($x13457 (and $x13442 $x13454)))
+(let (($x13460 (or $x11797 $x13457)))
+(let (($x13463 (and b_S_position_n_marker$ $x13460)))
+(let (($x13466 (or $x11777 $x13463)))
+(let (($x13376 (not $x13373)))
+(let (($x13379 (or $x13376 $x11651)))
+(let (($x13382 (and $x13373 $x13379)))
+(let (($x13385 (or $x11612 $x13382)))
+(let (($x13388 (and $x11608 $x13385)))
+(let (($x13391 (or $x13361 $x13388)))
+(let (($x13394 (and $x11570 $x13353 $x13391)))
+(let (($x13412 (or $x11730 $x13394)))
+(let (($x13397 (or $x11567 $x13394)))
+(let (($x13400 (and $x10321 $x10324 $x13397)))
+(let (($x13403 (or $x11001 $x13400)))
+(let (($x13406 (and $x10321 $x10322 $x13403)))
+(let (($x13409 (or $x11532 $x13406)))
+(let (($x13415 (and $x13409 $x13412)))
+(let (($x13418 (or $x11512 $x13415)))
+(let (($x13421 (and $x10321 $x10324 $x13418)))
+(let (($x13424 (or $x11001 $x13421)))
+(let (($x13427 (and $x10321 $x10322 $x13424)))
+(let (($x13430 (or $x11501 $x13427)))
+(let (($x13469 (and $x13430 $x13466)))
+(let (($x13346 (not $x13343)))
+(let (($x13472 (or $x13346 $x11481 $x13469)))
+(let (($x13475 (and $x11260 $x10167 $x13472)))
+(let (($x13295 (not $x13292)))
+(let (($x13478 (or $x13295 $x13475)))
+(let (($x13481 (and $x13292 $x13478)))
+(let (($x13484 (or $x11385 $x13481)))
+(let (($x13487 (and $x11382 $x13484)))
+(let (($x13490 (or $x11379 $x13487)))
+(let (($x13493 (and $x10138 $x10141 $x13490)))
+(let (($x13496 (or $x11209 $x13493)))
+(let (($x13499 (and $x10138 $x10139 $x13496)))
+(let (($x13502 (or $x11221 $x13499)))
+(let (($x13508 (not (and $x10136 $x13502))))
+(let ((@x15760 (refl (~ (not (and $x2815 $x12168 $x11802 $x10238)) (not (and $x2815 $x12168 $x11802 $x10238))))))
+(let ((@x15757 (nnf-neg (nnf-pos (refl (~ $x13439 $x13439)) (~ $x13442 $x13442)) (~ (not $x13445) $x13442))))
+(let ((@x15768 (nnf-neg @x15757 (nnf-neg @x15760 (~ (not $x13451) $x15761)) (~ (not $x13454) $x15765))))
+(let ((@x15776 (nnf-neg (refl (~ $x15732 $x15732)) (nnf-neg (sk (~ $x13445 $x15748)) @x15768 (~ (not $x13457) $x15769)) (~ (not $x13460) $x15773))))
+(let ((@x15784 (nnf-neg (refl (~ $x15726 $x15726)) (nnf-neg (refl (~ $x15729 $x15729)) @x15776 (~ (not $x13463) $x15777)) (~ (not $x13466) $x15781))))
+(let ((@x15647 (nnf-neg (nnf-pos (refl (~ $x13370 $x13370)) (~ $x13373 $x13373)) (~ (not $x13376) $x13373))))
+(let ((@x15658 (nnf-neg (sk (~ $x13376 $x15638)) (nnf-neg @x15647 (refl (~ $x15648 $x15648)) (~ (not $x13379) $x15651)) (~ (not $x13382) $x15655))))
+(let ((@x15666 (nnf-neg (refl (~ $x11612 $x11612)) (nnf-neg (refl (~ $x15622 $x15622)) @x15658 (~ (not $x13385) $x15659)) (~ (not $x13388) $x15663))))
+(let ((@x15674 (nnf-neg (refl (~ $x15611 $x15611)) (refl (~ $x15614 $x15614)) (nnf-neg (refl (~ $x15617 $x15617)) @x15666 (~ (not $x13391) $x15667)) (~ (not $x13394) $x15671))))
+(let ((@x15592 (refl (~ $x15590 $x15590))))
+(let ((@x15682 (nnf-neg @x15592 (refl (~ $x15599 $x15599)) (nnf-neg (refl (~ $x15608 $x15608)) @x15674 (~ (not $x13397) $x15675)) (~ (not $x13400) $x15679))))
+(let ((@x15690 (nnf-neg @x15592 (refl (~ $x15593 $x15593)) (nnf-neg (refl (~ $x15596 $x15596)) @x15682 (~ (not $x13403) $x15683)) (~ (not $x13406) $x15687))))
+(let ((@x15705 (nnf-neg (nnf-neg (refl (~ $x15605 $x15605)) @x15690 (~ (not $x13409) $x15691)) (nnf-neg (refl (~ $x15695 $x15695)) @x15674 (~ (not $x13412) $x15698)) (~ (not $x13415) $x15702))))
+(let ((@x15713 (nnf-neg @x15592 (refl (~ $x15599 $x15599)) (nnf-neg (refl (~ $x15602 $x15602)) @x15705 (~ (not $x13418) $x15706)) (~ (not $x13421) $x15710))))
+(let ((@x15721 (nnf-neg @x15592 (refl (~ $x15593 $x15593)) (nnf-neg (refl (~ $x15596 $x15596)) @x15713 (~ (not $x13424) $x15714)) (~ (not $x13427) $x15718))))
+(let ((@x15788 (nnf-neg (nnf-neg (refl (~ $x15587 $x15587)) @x15721 (~ (not $x13430) $x15722)) @x15784 (~ (not $x13469) $x15785))))
+(let ((@x15580 (monotonicity (refl (~ $x11260 $x11260)) (refl (~ $x10167 $x10167)) (refl (~ $x11911 $x11911)) (refl (~ $x13304 $x13304)) (refl (~ $x13315 $x13315)) (refl (~ $x11901 $x11901)) (refl (~ $x13326 $x13326)) (refl (~ $x11898 $x11898)) (nnf-pos (refl (~ $x13337 $x13337)) (~ $x13340 $x13340)) (refl (~ $x11868 $x11868)) (refl (~ $x10192 $x10192)) (refl (~ $x11429 $x11429)) (refl (~ $x11432 $x11432)) (~ $x13343 $x13343))))
+(let ((@x15792 (nnf-neg (nnf-neg @x15580 (~ (not $x13346) $x13343)) (refl (~ $x15584 $x15584)) @x15788 (~ (not $x13472) $x15789))))
+(let ((@x15796 (nnf-neg (refl (~ $x15545 $x15545)) (refl (~ $x15548 $x15548)) @x15792 (~ (not $x13475) $x15793))))
+(let ((@x15544 (nnf-neg (nnf-pos (refl (~ $x13289 $x13289)) (~ $x13292 $x13292)) (~ (not $x13295) $x13292))))
+(let ((@x15804 (nnf-neg (sk (~ $x13295 $x15535)) (nnf-neg @x15544 @x15796 (~ (not $x13478) $x15797)) (~ (not $x13481) $x15801))))
+(let ((@x15812 (nnf-neg (refl (~ $x11385 $x11385)) (nnf-neg (refl (~ $x15519 $x15519)) @x15804 (~ (not $x13484) $x15805)) (~ (not $x13487) $x15809))))
+(let ((@x15820 (nnf-neg (refl (~ $x15502 $x15502)) (refl (~ $x15511 $x15511)) (nnf-neg (refl (~ $x15514 $x15514)) @x15812 (~ (not $x13490) $x15813)) (~ (not $x13493) $x15817))))
+(let ((@x15828 (nnf-neg (refl (~ $x15502 $x15502)) (refl (~ $x15505 $x15505)) (nnf-neg (refl (~ $x15508 $x15508)) @x15820 (~ (not $x13496) $x15821)) (~ (not $x13499) $x15825))))
+(let ((@x15835 (nnf-neg (refl (~ $x11221 $x11221)) (nnf-neg (refl (~ $x15499 $x15499)) @x15828 (~ (not $x13502) $x15829)) (~ $x13508 $x15833))))
+(let (($x6441 (= b_S_max_o_u4$ 4294967295)))
+(let ((@x6435 (monotonicity (rewrite (= (* 65536 65536) 4294967296)) (= (- (* 65536 65536) 1) (- 4294967296 1)))))
+(let ((@x6440 (trans @x6435 (rewrite (= (- 4294967296 1) 4294967295)) (= (- (* 65536 65536) 1) 4294967295))))
+(let ((@x6443 (monotonicity @x6440 (= (= b_S_max_o_u4$ (- (* 65536 65536) 1)) $x6441))))
+(let ((@x6446 (mp (asserted (= b_S_max_o_u4$ (- (* 65536 65536) 1))) @x6443 $x6441)))
+(let ((@x12140 (trans (monotonicity @x6446 (= ?x3113 (* (- 1) 4294967295))) (rewrite (= (* (- 1) 4294967295) (- 4294967295))) (= ?x3113 (- 4294967295)))))
+(let ((@x12164 (trans (monotonicity @x12140 (= ?x3114 (+ ?0 (- 4294967295)))) (rewrite (= (+ ?0 (- 4294967295)) (+ (- 4294967295) ?0))) (= ?x3114 (+ (- 4294967295) ?0)))))
+(let ((@x12172 (trans (monotonicity @x12164 (= $x3115 (<= (+ (- 4294967295) ?0) 0))) (rewrite (= (<= (+ (- 4294967295) ?0) 0) $x12168)) (= $x3115 $x12168))))
+(let ((@x13453 (quant-intro (monotonicity @x12172 (= $x11839 (and $x2815 $x12168 $x11802 $x10238))) (= $x11844 $x13451))))
+(let ((@x13441 (monotonicity (monotonicity (monotonicity @x12172 (= $x11808 $x13433)) (= $x11813 $x13436)) (= $x11821 $x13439))))
+(let ((@x13456 (monotonicity (monotonicity (quant-intro @x13441 (= $x11824 $x13442)) (= $x11827 $x13445)) @x13453 (= $x11847 $x13454))))
+(let ((@x13462 (monotonicity (monotonicity (quant-intro @x13441 (= $x11824 $x13442)) @x13456 (= $x11850 $x13457)) (= $x11853 $x13460))))
+(let ((@x13372 (monotonicity (monotonicity (monotonicity @x12172 (= $x11623 $x13364)) (= $x11628 $x13367)) (= $x11636 $x13370))))
+(let ((@x13381 (monotonicity (monotonicity (quant-intro @x13372 (= $x11639 $x13373)) (= $x11642 $x13376)) (= $x11654 $x13379))))
+(let ((@x13387 (monotonicity (monotonicity (quant-intro @x13372 (= $x11639 $x13373)) @x13381 (= $x11657 $x13382)) (= $x11660 $x13385))))
+(let ((@x13351 (monotonicity (monotonicity @x6446 (= ?x11574 (+ 4294967295 ?x11484))) (= $x11573 (>= (+ 4294967295 ?x11484) 1)))))
+(let ((@x13357 (trans @x13351 (rewrite (= (>= (+ 4294967295 ?x11484) 1) $x13353)) (= $x11573 $x13353))))
+(let ((@x13393 (monotonicity (monotonicity (monotonicity @x13357 (= $x11600 $x13358)) (= $x11605 $x13361)) (monotonicity @x13387 (= $x11663 $x13388)) (= $x11666 $x13391))))
+(let ((@x13414 (monotonicity (monotonicity @x13357 @x13393 (= $x11672 $x13394)) (= $x11733 $x13412))))
+(let ((@x13399 (monotonicity (monotonicity @x13357 @x13393 (= $x11672 $x13394)) (= $x11677 $x13397))))
+(let ((@x13408 (monotonicity (monotonicity (monotonicity @x13399 (= $x11683 $x13400)) (= $x11688 $x13403)) (= $x11694 $x13406))))
+(let ((@x13417 (monotonicity (monotonicity @x13408 (= $x11699 $x13409)) @x13414 (= $x11736 $x13415))))
+(let ((@x13426 (monotonicity (monotonicity (monotonicity @x13417 (= $x11739 $x13418)) (= $x11745 $x13421)) (= $x11750 $x13424))))
+(let ((@x13471 (monotonicity (monotonicity (monotonicity @x13426 (= $x11756 $x13427)) (= $x11761 $x13430)) (monotonicity (monotonicity @x13462 (= $x11856 $x13463)) (= $x11859 $x13466)) (= $x11862 $x13469))))
+(let ((@x13339 (monotonicity (monotonicity (monotonicity @x12172 (= $x11879 $x13331)) (= $x11884 $x13334)) (= $x11892 $x13337))))
+(let ((@x13325 (monotonicity (monotonicity @x6446 (= ?x11574 (+ 4294967295 ?x11484))) (= $x11904 (>= (+ 4294967295 ?x11484) 0)))))
+(let ((@x13330 (trans @x13325 (rewrite (= (>= (+ 4294967295 ?x11484) 0) $x13326)) (= $x11904 $x13326))))
+(let ((@x13317 (rewrite (= (>= (+ 4294967295 (* (- 1) v_b_SL_H_witness_G_0$)) 0) $x13315))))
+(let (($x13310 (= (+ b_S_max_o_u4$ (* (- 1) v_b_SL_H_witness_G_0$)) (+ 4294967295 (* (- 1) v_b_SL_H_witness_G_0$)))))
+(let ((@x13314 (monotonicity (monotonicity @x6446 $x13310) (= $x11907 (>= (+ 4294967295 (* (- 1) v_b_SL_H_witness_G_0$)) 0)))))
+(let (($x13299 (= (+ b_S_max_o_u1$ (* (- 1) v_b_L_H_max_G_1$)) (+ 255 (* (- 1) v_b_L_H_max_G_1$)))))
+(let (($x6449 (= b_S_max_o_u1$ 255)))
+(let ((@x6450 (asserted $x6449)))
+(let ((@x13303 (monotonicity (monotonicity @x6450 $x13299) (= $x11914 (>= (+ 255 (* (- 1) v_b_L_H_max_G_1$)) 0)))))
+(let ((@x13308 (trans @x13303 (rewrite (= (>= (+ 255 (* (- 1) v_b_L_H_max_G_1$)) 0) $x13304)) (= $x11914 $x13304))))
+(let ((@x13345 (monotonicity @x13308 (trans @x13314 @x13317 (= $x11907 $x13315)) @x13330 (quant-intro @x13339 (= $x11895 $x13340)) (= $x11957 $x13343))))
+(let ((@x13474 (monotonicity (monotonicity @x13345 (= $x11962 $x13346)) @x13471 (= $x11971 $x13472))))
+(let ((@x13291 (monotonicity (monotonicity (monotonicity @x12172 (= $x11395 $x13283)) (= $x11400 $x13286)) (= $x11408 $x13289))))
+(let ((@x13480 (monotonicity (monotonicity (quant-intro @x13291 (= $x11411 $x13292)) (= $x11414 $x13295)) (monotonicity @x13474 (= $x11979 $x13475)) (= $x11984 $x13478))))
+(let ((@x13486 (monotonicity (monotonicity (quant-intro @x13291 (= $x11411 $x13292)) @x13480 (= $x11987 $x13481)) (= $x11990 $x13484))))
+(let ((@x13495 (monotonicity (monotonicity (monotonicity @x13486 (= $x11993 $x13487)) (= $x11996 $x13490)) (= $x12002 $x13493))))
+(let ((@x13504 (monotonicity (monotonicity (monotonicity @x13495 (= $x12007 $x13496)) (= $x12013 $x13499)) (= $x12018 $x13502))))
+(let ((@x13510 (monotonicity (monotonicity @x13504 (= $x12021 (and $x10136 $x13502))) (= (not $x12021) $x13508))))
+(let ((@x13511 (mp (not-or-elim (mp (asserted $x10434) @x12031 $x12027) (not $x12021)) @x13510 $x13508)))
+(let ((@x20143 (mp (mp (mp (mp~ @x13511 @x15835 $x15833) @x16117 $x16115) @x19763 $x19761) (monotonicity @x20139 (= $x19761 $x20140)) $x20140)))
+(let ((@x24003 (unit-resolution (def-axiom (or $x20134 $x20128)) (unit-resolution @x20143 @x22508 $x20137) $x20128)))
+(let ((?x22514 (b_S_typ$ ?x10137)))
+(let (($x22515 (= ?x22514 b_T_T_u1$)))
+(let ((?x21175 (b_S_typ$ ?x10078)))
+(let (($x21176 (= ?x21175 b_T_T_u1$)))
+(let (($x21181 (or $x21147 $x21176)))
+(let ((@x21182 ((_ quant-inst b_T_T_u1$ v_b_P_H_arr$) $x21181)))
+(let ((?x22553 (b_S_ptr$ b_T_T_u1$ ?x10079)))
+(let (($x22556 (= ?x10137 ?x22553)))
+(let (($x22559 (not $x22556)))
+(let (($x22523 (b_S_extent_n_hint$ ?x10137 ?x10078)))
+(let (($x22524 (not $x22523)))
+(let (($x22562 (or $x22524 $x22559)))
+(let (($x22565 (not $x22562)))
+(let (($x18180 (forall ((?v0 B_S_ptr$) (?v1 Int) (?v2 B_S_ctype$) )(! (let ((?x7205 (b_S_idx$ ?v0 ?v1 ?v2)))
+(let (($x7213 (= ?x7205 (b_S_ptr$ ?v2 (+ (b_S_ref$ ?v0) (* ?v1 (b_S_sizeof$ ?v2)))))))
+(not (or (not (b_S_extent_n_hint$ ?x7205 ?v0)) (not $x7213))))) :pattern ( (b_S_idx$ ?v0 ?v1 ?v2) ) :qid k!499))
+))
+(let (($x7216 (forall ((?v0 B_S_ptr$) (?v1 Int) (?v2 B_S_ctype$) )(! (let ((?x7205 (b_S_idx$ ?v0 ?v1 ?v2)))
+(let (($x7213 (= ?x7205 (b_S_ptr$ ?v2 (+ (b_S_ref$ ?v0) (* ?v1 (b_S_sizeof$ ?v2)))))))
+(and (b_S_extent_n_hint$ ?x7205 ?v0) $x7213))) :pattern ( (b_S_idx$ ?v0 ?v1 ?v2) ) :qid k!499))
+))
+(let ((?x7205 (b_S_idx$ ?2 ?1 ?0)))
+(let (($x7213 (= ?x7205 (b_S_ptr$ ?0 (+ (b_S_ref$ ?2) (* ?1 (b_S_sizeof$ ?0)))))))
+(let (($x7214 (and (b_S_extent_n_hint$ ?x7205 ?2) $x7213)))
+(let ((@x18179 (rewrite (= $x7214 (not (or (not (b_S_extent_n_hint$ ?x7205 ?2)) (not $x7213)))))))
+(let ((@x14561 (mp~ (asserted $x7216) (nnf-pos (refl (~ $x7214 $x7214)) (~ $x7216 $x7216)) $x7216)))
+(let ((@x18183 (mp @x14561 (quant-intro @x18179 (= $x7216 $x18180)) $x18180)))
+(let (($x22568 (not $x18180)))
+(let (($x22569 (or $x22568 $x22565)))
+(let ((?x10045 (b_S_sizeof$ b_T_T_u1$)))
+(let ((?x22537 (* 0 ?x10045)))
+(let ((?x22538 (+ ?x10079 ?x22537)))
+(let ((?x22539 (b_S_ptr$ b_T_T_u1$ ?x22538)))
+(let (($x22540 (= ?x10137 ?x22539)))
+(let (($x22541 (not $x22540)))
+(let (($x22542 (or $x22524 $x22541)))
+(let (($x22543 (not $x22542)))
+(let ((@x22552 (trans (monotonicity (rewrite (= ?x22537 0)) (= ?x22538 (+ ?x10079 0))) (rewrite (= (+ ?x10079 0) ?x10079)) (= ?x22538 ?x10079))))
+(let ((@x22561 (monotonicity (monotonicity (monotonicity @x22552 (= ?x22539 ?x22553)) (= $x22540 $x22556)) (= $x22541 $x22559))))
+(let ((@x22573 (monotonicity (monotonicity (monotonicity @x22561 (= $x22542 $x22562)) (= $x22543 $x22565)) (= (or $x22568 $x22543) $x22569))))
+(let ((@x22577 (mp ((_ quant-inst (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) 0 b_T_T_u1$) (or $x22568 $x22543)) (trans @x22573 (rewrite (= $x22569 $x22569)) (= (or $x22568 $x22543) $x22569)) $x22569)))
+(let ((@x23444 (unit-resolution (def-axiom (or $x22562 $x22556)) (unit-resolution @x22577 @x18183 $x22565) $x22556)))
+(let ((@x22640 (monotonicity (trans @x23444 (monotonicity @x23445 (= ?x22553 ?x10078)) (= ?x10137 ?x10078)) (= ?x22514 ?x21175))))
+(let (($x22526 (not $x22515)))
+(let (($x22522 (= $x10138 $x22515)))
+(let (($x19828 (forall ((?v0 B_S_ptr$) (?v1 B_S_ctype$) )(! (let ((?x6636 (b_S_typ$ ?v0)))
+(let (($x7865 (= ?x6636 ?v1)))
+(let (($x9596 (b_S_is$ ?v0 ?v1)))
+(= $x9596 $x7865)))) :pattern ( (b_S_is$ ?v0 ?v1) ) :qid k!623))
+))
+(let (($x9617 (forall ((?v0 B_S_ptr$) (?v1 B_S_ctype$) )(! (let ((?x6636 (b_S_typ$ ?v0)))
+(let (($x7865 (= ?x6636 ?v1)))
+(let (($x9596 (b_S_is$ ?v0 ?v1)))
+(= $x9596 $x7865)))) :qid k!623))
+))
+(let ((?x6636 (b_S_typ$ ?1)))
+(let (($x7865 (= ?x6636 ?0)))
+(let (($x9596 (b_S_is$ ?1 ?0)))
+(let (($x9614 (= $x9596 $x7865)))
+(let (($x9611 (forall ((?v0 B_S_ptr$) (?v1 B_S_ctype$) )(! (let ((?x6636 (b_S_typ$ ?v0)))
+(let (($x7865 (= ?x6636 ?v1)))
+(let (($x9596 (b_S_is$ ?v0 ?v1)))
+(= $x9596 $x7865)))) :qid k!623))
+))
+(let ((@x9622 (mp (asserted $x9611) (quant-intro (rewrite (= (= $x9596 $x7865) $x9614)) (= $x9611 $x9617)) $x9617)))
+(let ((@x19833 (mp (mp~ @x9622 (nnf-pos (refl (~ $x9614 $x9614)) (~ $x9617 $x9617)) $x9617) (quant-intro (refl (= $x9614 $x9614)) (= $x9617 $x19828)) $x19828)))
+(let (($x22002 (not $x19828)))
+(let (($x22619 (or $x22002 $x22522)))
+(let ((@x22534 ((_ quant-inst (b_S_idx$ ?x10078 0 b_T_T_u1$) b_T_T_u1$) $x22619)))
+(let ((@x22471 (unit-resolution (def-axiom (or (not $x22522) $x10138 $x22526)) (hypothesis $x15502) (or (not $x22522) $x22526))))
+(let ((@x22636 (unit-resolution (unit-resolution @x22471 (unit-resolution @x22534 @x19833 $x22522) $x22526) (trans @x22640 (unit-resolution @x21182 @x19846 $x21176) $x22515) false)))
+(let ((@x23411 (lemma @x22636 $x10138)))
+(let ((@x23982 (unit-resolution (def-axiom (or $x20131 $x15502 $x15505 $x20125)) @x23411 @x24003 (or $x15505 $x20125))))
+(let ((@x23983 (unit-resolution @x23982 (unit-resolution (def-axiom (or $x22603 $x10139)) (lemma @x24453 $x22604) $x10139) $x20125)))
+(let ((?x22805 (b_S_ts_n_emb$ ?x22478)))
+(let ((?x22433 (b_S_owner$ v_b_S_s$ ?x22805)))
+(let (($x22451 (= ?x22433 b_S_me$)))
+(let ((?x22485 (b_S_ref$ ?x10137)))
+(let ((?x22505 (b_S_ptr$ b_T_T_u1$ ?x22485)))
+(let (($x22506 (= ?x10137 ?x22505)))
+(let (($x24124 (or $x21994 $x15502 $x22506)))
+(let ((@x24271 (mp ((_ quant-inst (b_S_idx$ ?x10078 0 b_T_T_u1$) b_T_T_u1$) (or $x21994 (or $x15502 $x22506))) (rewrite (= (or $x21994 (or $x15502 $x22506)) $x24124)) $x24124)))
+(let ((@x23969 (unit-resolution @x24271 @x15336 @x23411 $x22506)))
+(let ((?x23622 (b_S_ref$ ?x21983)))
+(let ((?x23636 (b_S_ptr$ b_T_T_u1$ ?x23622)))
+(let ((?x23613 (b_S_idx$ ?x21983 0 b_T_T_u1$)))
+(let (($x23639 (= ?x23613 ?x23636)))
+(let (($x23642 (not $x23639)))
+(let (($x23614 (b_S_extent_n_hint$ ?x23613 ?x21983)))
+(let (($x23621 (not $x23614)))
+(let (($x23645 (or $x23621 $x23642)))
+(let (($x23648 (not $x23645)))
+(let (($x23651 (or $x22568 $x23648)))
+(let (($x23628 (not (or $x23621 (not (= ?x23613 (b_S_ptr$ b_T_T_u1$ (+ ?x23622 ?x22537))))))))
+(let (($x23646 (= (or $x23621 (not (= ?x23613 (b_S_ptr$ b_T_T_u1$ (+ ?x23622 ?x22537))))) $x23645)))
+(let ((@x22545 (rewrite (= ?x22537 0))))
+(let ((@x23635 (trans (monotonicity @x22545 (= (+ ?x23622 ?x22537) (+ ?x23622 0))) (rewrite (= (+ ?x23622 0) ?x23622)) (= (+ ?x23622 ?x22537) ?x23622))))
+(let ((@x23641 (monotonicity (monotonicity @x23635 (= (b_S_ptr$ b_T_T_u1$ (+ ?x23622 ?x22537)) ?x23636)) (= (= ?x23613 (b_S_ptr$ b_T_T_u1$ (+ ?x23622 ?x22537))) $x23639))))
+(let ((@x23644 (monotonicity @x23641 (= (not (= ?x23613 (b_S_ptr$ b_T_T_u1$ (+ ?x23622 ?x22537)))) $x23642))))
+(let ((@x23655 (monotonicity (monotonicity (monotonicity @x23644 $x23646) (= $x23628 $x23648)) (= (or $x22568 $x23628) $x23651))))
+(let ((@x23659 (mp ((_ quant-inst (b_S_ptr$ ?x10076 ?x21014) 0 b_T_T_u1$) (or $x22568 $x23628)) (trans @x23655 (rewrite (= $x23651 $x23651)) (= (or $x22568 $x23628) $x23651)) $x23651)))
+(let ((@x23663 (def-axiom (or $x23645 $x23639))))
+(let ((@x24001 (unit-resolution @x23663 (lemma (unit-resolution @x23659 @x18183 (hypothesis $x23645) false) $x23648) $x23639)))
+(let ((?x23546 (b_S_idx$ ?x22595 0 b_T_T_u1$)))
+(let ((?x23547 (b_S_se