src/HOL/SMT_Examples/Boogie_Max.certs2
changeset 56818 689a3eeb6f9e
child 57170 3afada8f820d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/HOL/SMT_Examples/Boogie_Max.certs2	Thu May 01 22:57:38 2014 +0200
@@ -0,0 +1,844 @@
+336198ca2566b9b7e0ce4a688dd7f9094f37a0b9 843 0
+unsat
+((set-logic AUFLIA)
+(declare-fun ?v0!5 () Int)
+(declare-fun ?v0!4 () Int)
+(declare-fun ?v0!3 () Int)
+(declare-fun ?v0!2 () Int)
+(declare-fun k!10 () Bool)
+(declare-fun k!00 () Bool)
+(proof
+(let (($x109 (= v_b_max_G_3$ v_b_max_G_2$)))
+(let ((?x135 (v_b_array$ v_b_k_G_1$)))
+(let (($x136 (= ?x135 v_b_max_G_3$)))
+(let (($x2120 (forall ((?v0 Int) )(!(let (($x1020 (<= (+ (v_b_array$ ?v0) (* (- 1) v_b_max_G_3$)) 0)))
+(let (($x1005 (>= (+ ?v0 (* (- 1) v_b_p_G_1$)) 0)))
+(let (($x838 (>= ?v0 0)))
+(let (($x1399 (not $x838)))
+(or $x1399 $x1005 $x1020))))) :pattern ( (v_b_array$ ?v0) )))
+))
+(let (($x2128 (or (not $x2120) $x136)))
+(let (($x2131 (not $x2128)))
+(let (($x1312 (>= (+ v_b_max_G_3$ (* (- 1) (v_b_array$ ?v0!5))) 0)))
+(let (($x1290 (<= (+ v_b_p_G_1$ (* (- 1) ?v0!5)) 0)))
+(let (($x1173 (>= ?v0!5 0)))
+(let (($x1540 (not $x1173)))
+(let (($x1555 (or $x1540 $x1290 $x1312)))
+(let (($x1560 (not $x1555)))
+(let (($x2134 (or $x1560 $x2131)))
+(let (($x2137 (not $x2134)))
+(let (($x996 (>= v_b_p_G_1$ 2)))
+(let (($x1606 (not $x996)))
+(let (($x991 (= (+ v_b_p_G_0$ (* (- 1) v_b_p_G_1$)) (- 1))))
+(let (($x1605 (not $x991)))
+(let (($x989 (>= v_b_k_G_1$ 0)))
+(let (($x1604 (not $x989)))
+(let (($x1603 (not $x109)))
+(let (($x107 (= v_b_k_G_1$ v_b_p_G_0$)))
+(let (($x1602 (not $x107)))
+(let ((?x101 (v_b_array$ v_b_p_G_0$)))
+(let (($x104 (= v_b_max_G_2$ ?x101)))
+(let (($x1601 (not $x104)))
+(let (($x980 (>= (+ v_b_max_G_1$ (* (- 1) ?x101)) 0)))
+(let (($x885 (>= v_b_p_G_0$ 1)))
+(let (($x1529 (not $x885)))
+(let (($x882 (>= v_b_k_G_0$ 0)))
+(let (($x1528 (not $x882)))
+(let (($x2140 (or $x1528 $x1529 $x980 $x1601 $x1602 $x1603 $x1604 $x1605 $x1606 $x2137)))
+(let (($x2143 (not $x2140)))
+(let (($x985 (not $x980)))
+(let (($x2146 (or $x1528 $x1529 $x985 (not (= v_b_k_G_1$ v_b_k_G_0$)) (not (= v_b_max_G_3$ v_b_max_G_1$)) $x1604 $x1605 $x1606 $x2137)))
+(let ((?x1179 (v_b_array$ ?v0!5)))
+(let (($x1799 (= ?x101 ?x1179)))
+(let (($x1803 (not $x1799)))
+(let (($x1703 (>= (+ ?x101 (* (- 1) ?x1179)) 0)))
+(let (($x1693 (not $x1703)))
+(let (($x2149 (not $x2146)))
+(let ((@x2389 (hypothesis $x2149)))
+(let (($x2024 (<= (+ v_b_max_G_1$ (* (- 1) v_b_max_G_3$)) 0)))
+(let (($x2022 (= v_b_max_G_1$ v_b_max_G_3$)))
+(let ((@x2401 (symm (commutativity (= $x2022 (= v_b_max_G_3$ v_b_max_G_1$))) (= (= v_b_max_G_3$ v_b_max_G_1$) $x2022))))
+(let (($x145 (= v_b_max_G_3$ v_b_max_G_1$)))
+(let ((@x2406 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x2022) $x2024)) (mp (unit-resolution (def-axiom (or $x2146 $x145)) @x2389 $x145) @x2401 $x2022) $x2024)))
+(let (($x1678 (not $x1312)))
+(let ((?x62 (v_b_array$ v_b_k_G_0$)))
+(let (($x63 (= ?x62 v_b_max_G_1$)))
+(let (($x2152 (or $x2143 $x2149)))
+(let (($x2155 (not $x2152)))
+(let (($x919 (<= (+ v_b_length$ (* (- 1) v_b_p_G_0$)) 0)))
+(let (($x2158 (or $x1528 $x1529 $x919 $x2155)))
+(let (($x2161 (not $x2158)))
+(let (($x1253 (>= (+ v_b_max_G_4$ (* (- 1) (v_b_array$ ?v0!4))) 0)))
+(let (($x1142 (<= (+ v_b_length$ (* (- 1) ?v0!4)) 0)))
+(let (($x1139 (>= ?v0!4 0)))
+(let (($x1489 (not $x1139)))
+(let (($x1131 (= (v_b_array$ ?v0!3) v_b_max_G_4$)))
+(let (($x1126 (<= (+ v_b_length$ (* (- 1) ?v0!3)) 0)))
+(let (($x1484 (or (not (>= ?v0!3 0)) $x1126 $x1131)))
+(let (($x1516 (or (not $x1484) $x1489 $x1142 $x1253)))
+(let (($x1517 (not $x1516)))
+(let (($x2103 (forall ((?v0 Int) )(!(let ((?x46 (v_b_array$ ?v0)))
+(let (($x86 (= ?x46 v_b_max_G_4$)))
+(let (($x930 (<= (+ v_b_length$ (* (- 1) ?v0)) 0)))
+(let (($x838 (>= ?v0 0)))
+(let (($x1399 (not $x838)))
+(let (($x1458 (or $x1399 $x930 $x86)))
+(not $x1458))))))) :pattern ( (v_b_array$ ?v0) )))
+))
+(let (($x2108 (or $x2103 $x1517)))
+(let (($x2111 (not $x2108)))
+(let (($x73 (= v_b_max_G_4$ v_b_max_G_1$)))
+(let (($x1531 (not $x73)))
+(let (($x971 (not $x919)))
+(let (($x2114 (or $x1528 $x1529 $x971 (not k!00) $x1531 (not k!10) $x2111)))
+(let (($x2117 (not $x2114)))
+(let (($x2164 (or $x2117 $x2161)))
+(let (($x2167 (not $x2164)))
+(let (($x2095 (forall ((?v0 Int) )(!(let (($x903 (<= (+ (v_b_array$ ?v0) (* (- 1) v_b_max_G_1$)) 0)))
+(let (($x888 (>= (+ ?v0 (* (- 1) v_b_p_G_0$)) 0)))
+(let (($x838 (>= ?v0 0)))
+(let (($x1399 (not $x838)))
+(or $x1399 $x888 $x903))))) :pattern ( (v_b_array$ ?v0) )))
+))
+(let (($x2100 (not $x2095)))
+(let (($x2170 (or $x1528 $x1529 $x2100 (not $x63) $x2167)))
+(let (($x2173 (not $x2170)))
+(let ((?x30 (v_b_array$ 0)))
+(let (($x50 (= ?x30 v_b_max_G_0$)))
+(let (($x1095 (not $x50)))
+(let (($x2176 (or $x1095 $x2173)))
+(let (($x2179 (not $x2176)))
+(let (($x2087 (forall ((?v0 Int) )(!(let (($x851 (>= (+ v_b_max_G_0$ (* (- 1) (v_b_array$ ?v0))) 0)))
+(let (($x841 (>= ?v0 1)))
+(let (($x838 (>= ?v0 0)))
+(let (($x1399 (not $x838)))
+(or $x1399 $x841 $x851))))) :pattern ( (v_b_array$ ?v0) )))
+))
+(let (($x2182 (or (not $x2087) $x2179)))
+(let (($x2185 (not $x2182)))
+(let (($x1083 (>= (+ v_b_max_G_0$ (* (- 1) (v_b_array$ ?v0!2))) 0)))
+(let (($x831 (>= ?v0!2 1)))
+(let (($x1391 (or (not (>= ?v0!2 0)) $x831 $x1083)))
+(let (($x1079 (not $x831)))
+(let (($x1396 (not $x1391)))
+(let ((@x1966 (hypothesis $x1396)))
+(let (($x1078 (>= ?v0!2 0)))
+(let ((@x1951 ((_ th-lemma arith eq-propagate 0 0) (unit-resolution (def-axiom (or $x1391 $x1078)) @x1966 $x1078) (unit-resolution (def-axiom (or $x1391 $x1079)) @x1966 $x1079) (= ?v0!2 0))))
+(let ((@x1955 (symm (monotonicity @x1951 (= (v_b_array$ ?v0!2) ?x30)) (= ?x30 (v_b_array$ ?v0!2)))))
+(let (($x31 (= v_b_max_G_0$ ?x30)))
+(let (($x201 (and (not (<= v_b_length$ 0)) $x31)))
+(let (($x572 (forall ((?v0 Int) )(let ((?x46 (v_b_array$ ?v0)))
+(let (($x132 (<= ?x46 v_b_max_G_3$)))
+(or (not (and (<= 0 ?v0) (not (<= v_b_p_G_1$ ?v0)))) $x132))))
+))
+(let (($x595 (or (not $x572) $x136)))
+(let (($x600 (and $x572 $x595)))
+(let (($x116 (<= 2 v_b_p_G_1$)))
+(let (($x456 (= v_b_p_G_1$ (+ 1 v_b_p_G_0$))))
+(let (($x110 (<= 0 v_b_k_G_1$)))
+(let (($x144 (= v_b_k_G_1$ v_b_k_G_0$)))
+(let (($x143 (<= ?x101 v_b_max_G_1$)))
+(let (($x54 (<= 1 v_b_p_G_0$)))
+(let (($x52 (<= 0 v_b_k_G_0$)))
+(let (($x654 (and $x52 $x54 $x143 $x144 $x145 $x110 $x456 $x116)))
+(let (($x669 (not $x654)))
+(let (($x670 (or $x669 $x600)))
+(let (($x441 (not $x143)))
+(let (($x544 (and $x52 $x54 $x441 $x104 $x107 $x109 $x110 $x456 $x116)))
+(let (($x606 (not $x544)))
+(let (($x607 (or $x606 $x600)))
+(let (($x675 (and $x607 $x670)))
+(let (($x69 (<= v_b_length$ v_b_p_G_0$)))
+(let (($x415 (not $x69)))
+(let (($x429 (and $x52 $x54 $x415)))
+(let (($x681 (not $x429)))
+(let (($x682 (or $x681 $x675)))
+(let (($x377 (forall ((?v0 Int) )(let ((?x46 (v_b_array$ ?v0)))
+(let (($x89 (<= ?x46 v_b_max_G_4$)))
+(let (($x351 (not (<= v_b_length$ ?v0))))
+(let (($x43 (<= 0 ?v0)))
+(let (($x354 (and $x43 $x351)))
+(let (($x360 (not $x354)))
+(or $x360 $x89))))))))
+))
+(let (($x366 (exists ((?v0 Int) )(let ((?x46 (v_b_array$ ?v0)))
+(let (($x86 (= ?x46 v_b_max_G_4$)))
+(let (($x351 (not (<= v_b_length$ ?v0))))
+(let (($x43 (<= 0 ?v0)))
+(let (($x354 (and $x43 $x351)))
+(let (($x360 (not $x354)))
+(or $x360 $x86))))))))
+))
+(let (($x398 (or (not $x366) $x377)))
+(let (($x403 (and $x366 $x398)))
+(let (($x75 (= v_b_p_G_2$ v_b_p_G_0$)))
+(let (($x71 (= v_b_k_G_2$ v_b_k_G_0$)))
+(let (($x338 (and $x52 $x54 $x69 $x71 $x73 $x75)))
+(let (($x409 (not $x338)))
+(let (($x410 (or $x409 $x403)))
+(let (($x687 (and $x410 $x682)))
+(let (($x259 (forall ((?v0 Int) )(let ((?x46 (v_b_array$ ?v0)))
+(let (($x59 (<= ?x46 v_b_max_G_1$)))
+(or (not (and (<= 0 ?v0) (not (<= v_b_p_G_0$ ?v0)))) $x59))))
+))
+(let (($x294 (and $x50 $x52 $x54 $x259 $x63)))
+(let (($x694 (or (not $x294) $x687)))
+(let (($x699 (and $x50 $x694)))
+(let (($x234 (forall ((?v0 Int) )(let ((?x46 (v_b_array$ ?v0)))
+(let (($x47 (<= ?x46 v_b_max_G_0$)))
+(or (not (and (<= 0 ?v0) (not (<= 1 ?v0)))) $x47))))
+))
+(let (($x705 (not $x234)))
+(let (($x706 (or $x705 $x699)))
+(let (($x711 (and $x234 $x706)))
+(let (($x718 (or (not $x201) $x711)))
+(let (($x138 (=> (and $x136 false) true)))
+(let (($x139 (and $x136 $x138)))
+(let (($x134 (forall ((?v0 Int) )(let ((?x46 (v_b_array$ ?v0)))
+(let (($x132 (<= ?x46 v_b_max_G_3$)))
+(=> (and (<= 0 ?v0) (< ?v0 v_b_p_G_1$)) $x132))))
+))
+(let (($x140 (=> $x134 $x139)))
+(let (($x141 (and $x134 $x140)))
+(let (($x117 (and $x110 $x116)))
+(let (($x118 (and $x117 true)))
+(let (($x119 (and (= v_b_p_G_1$ (+ v_b_p_G_0$ 1)) $x118)))
+(let (($x111 (and $x110 $x54)))
+(let (($x120 (and $x111 $x119)))
+(let (($x121 (and true $x120)))
+(let (($x146 (and $x145 $x121)))
+(let (($x147 (and $x144 $x146)))
+(let (($x148 (and true $x147)))
+(let (($x55 (and $x52 $x54)))
+(let (($x149 (and $x55 $x148)))
+(let (($x150 (and $x143 $x149)))
+(let (($x151 (and $x55 $x150)))
+(let (($x152 (and true $x151)))
+(let (($x153 (=> $x152 $x141)))
+(let (($x122 (and $x109 $x121)))
+(let (($x123 (and $x107 $x122)))
+(let (($x124 (and true $x123)))
+(let (($x105 (and $x54 $x54)))
+(let (($x125 (and $x105 $x124)))
+(let (($x126 (and $x104 $x125)))
+(let (($x127 (and (< v_b_max_G_1$ ?x101) $x126)))
+(let (($x128 (and $x55 $x127)))
+(let (($x129 (and true $x128)))
+(let (($x142 (=> $x129 $x141)))
+(let (($x98 (and (< v_b_p_G_0$ v_b_length$) $x55)))
+(let (($x99 (and $x55 $x98)))
+(let (($x100 (and true $x99)))
+(let (($x155 (=> $x100 (and $x142 $x153))))
+(let (($x91 (forall ((?v0 Int) )(let ((?x46 (v_b_array$ ?v0)))
+(let (($x89 (<= ?x46 v_b_max_G_4$)))
+(let (($x43 (<= 0 ?v0)))
+(let (($x85 (and $x43 (< ?v0 v_b_length$))))
+(=> $x85 $x89))))))
+))
+(let (($x92 (=> $x91 true)))
+(let (($x93 (and $x91 $x92)))
+(let (($x88 (exists ((?v0 Int) )(let ((?x46 (v_b_array$ ?v0)))
+(let (($x86 (= ?x46 v_b_max_G_4$)))
+(let (($x43 (<= 0 ?v0)))
+(let (($x85 (and $x43 (< ?v0 v_b_length$))))
+(=> $x85 $x86))))))
+))
+(let (($x94 (=> $x88 $x93)))
+(let (($x78 (and $x71 (and $x73 (and $x75 true)))))
+(let (($x79 (and true $x78)))
+(let (($x80 (and $x55 $x79)))
+(let (($x81 (and $x69 $x80)))
+(let (($x82 (and $x55 $x81)))
+(let (($x83 (and true $x82)))
+(let (($x96 (=> $x83 (and $x88 $x94))))
+(let (($x64 (and $x63 $x55)))
+(let (($x61 (forall ((?v0 Int) )(let ((?x46 (v_b_array$ ?v0)))
+(let (($x59 (<= ?x46 v_b_max_G_1$)))
+(=> (and (<= 0 ?v0) (< ?v0 v_b_p_G_0$)) $x59))))
+))
+(let (($x65 (and $x61 $x64)))
+(let (($x66 (and $x55 $x65)))
+(let (($x67 (and true $x66)))
+(let (($x68 (and $x50 $x67)))
+(let (($x157 (=> $x68 (and $x96 $x155))))
+(let (($x49 (forall ((?v0 Int) )(let ((?x46 (v_b_array$ ?v0)))
+(let (($x47 (<= ?x46 v_b_max_G_0$)))
+(=> (and (<= 0 ?v0) (< ?v0 1)) $x47))))
+))
+(let (($x159 (=> $x49 (and $x50 $x157))))
+(let (($x34 (<= 1 1)))
+(let (($x35 (and $x34 $x34)))
+(let (($x32 (<= 0 0)))
+(let (($x36 (and $x32 $x35)))
+(let (($x37 (and $x32 $x36)))
+(let (($x38 (and $x31 $x37)))
+(let (($x39 (and true $x38)))
+(let (($x41 (and true (and (< 0 v_b_length$) $x39))))
+(let (($x161 (=> $x41 (and $x49 $x159))))
+(let (($x162 (not $x161)))
+(let ((@x579 (monotonicity (rewrite (= (and $x136 false) false)) (= $x138 (=> false true)))))
+(let ((@x583 (trans @x579 (rewrite (= (=> false true) true)) (= $x138 true))))
+(let ((@x590 (trans (monotonicity @x583 (= $x139 (and $x136 true))) (rewrite (= (and $x136 true) $x136)) (= $x139 $x136))))
+(let ((?x46 (v_b_array$ ?0)))
+(let (($x132 (<= ?x46 v_b_max_G_3$)))
+(let (($x567 (or (not (and (<= 0 ?0) (not (<= v_b_p_G_1$ ?0)))) $x132)))
+(let (($x133 (=> (and (<= 0 ?0) (< ?0 v_b_p_G_1$)) $x132)))
+(let (($x568 (= (=> (and (<= 0 ?0) (not (<= v_b_p_G_1$ ?0))) $x132) $x567)))
+(let (($x564 (= $x133 (=> (and (<= 0 ?0) (not (<= v_b_p_G_1$ ?0))) $x132))))
+(let (($x557 (not (<= v_b_p_G_1$ ?0))))
+(let (($x43 (<= 0 ?0)))
+(let (($x560 (and $x43 $x557)))
+(let ((@x212 (rewrite (= $x43 $x43))))
+(let ((@x562 (monotonicity @x212 (rewrite (= (< ?0 v_b_p_G_1$) $x557)) (= (and $x43 (< ?0 v_b_p_G_1$)) $x560))))
+(let ((@x574 (quant-intro (trans (monotonicity @x562 $x564) (rewrite $x568) (= $x133 $x567)) (= $x134 $x572))))
+(let ((@x599 (trans (monotonicity @x574 @x590 (= $x140 (=> $x572 $x136))) (rewrite (= (=> $x572 $x136) $x595)) (= $x140 $x595))))
+(let ((@x656 (rewrite (= (and $x55 (and $x143 $x52 $x54 $x144 $x145 $x110 $x456 $x116)) $x654))))
+(let (($x646 (and $x143 $x52 $x54 $x144 $x145 $x110 $x456 $x116)))
+(let ((@x648 (rewrite (= (and $x143 (and $x52 $x54 $x144 $x145 $x110 $x456 $x116)) $x646))))
+(let (($x638 (and $x52 $x54 $x144 $x145 $x110 $x456 $x116)))
+(let (($x623 (and $x144 $x145 $x110 $x54 $x456 $x116)))
+(let (($x615 (and $x145 $x110 $x54 $x456 $x116)))
+(let (($x482 (and $x110 $x54 $x456 $x116)))
+(let ((@x463 (rewrite (= $x116 $x116))))
+(let ((@x450 (rewrite (= $x110 $x110))))
+(let ((@x467 (monotonicity (monotonicity @x450 @x463 (= $x117 $x117)) (= $x118 $x118))))
+(let ((@x460 (rewrite (= $x456 $x456))))
+(let ((@x458 (monotonicity (rewrite (= (+ v_b_p_G_0$ 1) (+ 1 v_b_p_G_0$))) (= (= v_b_p_G_1$ (+ v_b_p_G_0$ 1)) $x456))))
+(let ((@x473 (monotonicity (trans @x458 @x460 (= (= v_b_p_G_1$ (+ v_b_p_G_0$ 1)) $x456)) (trans @x467 (rewrite (= $x118 $x117)) (= $x118 $x117)) (= $x119 (and $x456 $x117)))))
+(let ((@x478 (trans @x473 (rewrite (= (and $x456 $x117) (and $x456 $x110 $x116))) (= $x119 (and $x456 $x110 $x116)))))
+(let ((@x481 (monotonicity (monotonicity @x450 (rewrite (= $x54 $x54)) (= $x111 $x111)) @x478 (= $x120 (and $x111 (and $x456 $x110 $x116))))))
+(let ((@x486 (trans @x481 (rewrite (= (and $x111 (and $x456 $x110 $x116)) $x482)) (= $x120 $x482))))
+(let ((@x493 (trans (monotonicity @x486 (= $x121 (and true $x482))) (rewrite (= (and true $x482) $x482)) (= $x121 $x482))))
+(let ((@x619 (trans (monotonicity @x493 (= $x146 (and $x145 $x482))) (rewrite (= (and $x145 $x482) $x615)) (= $x146 $x615))))
+(let ((@x627 (trans (monotonicity @x619 (= $x147 (and $x144 $x615))) (rewrite (= (and $x144 $x615) $x623)) (= $x147 $x623))))
+(let ((@x634 (trans (monotonicity @x627 (= $x148 (and true $x623))) (rewrite (= (and true $x623) $x623)) (= $x148 $x623))))
+(let ((@x240 (rewrite (= $x54 $x54))))
+(let ((@x238 (rewrite (= $x52 $x52))))
+(let ((@x242 (monotonicity @x238 @x240 (= $x55 $x55))))
+(let ((@x642 (trans (monotonicity @x242 @x634 (= $x149 (and $x55 $x623))) (rewrite (= (and $x55 $x623) $x638)) (= $x149 $x638))))
+(let ((@x650 (trans (monotonicity @x642 (= $x150 (and $x143 $x638))) @x648 (= $x150 $x646))))
+(let ((@x658 (trans (monotonicity @x242 @x650 (= $x151 (and $x55 $x646))) @x656 (= $x151 $x654))))
+(let ((@x665 (trans (monotonicity @x658 (= $x152 (and true $x654))) (rewrite (= (and true $x654) $x654)) (= $x152 $x654))))
+(let ((@x668 (monotonicity @x665 (monotonicity @x574 @x599 (= $x141 $x600)) (= $x153 (=> $x654 $x600)))))
+(let ((@x546 (rewrite (= (and $x55 (and $x441 $x104 $x54 $x107 $x109 $x110 $x456 $x116)) $x544))))
+(let (($x536 (and $x441 $x104 $x54 $x107 $x109 $x110 $x456 $x116)))
+(let ((@x538 (rewrite (= (and $x441 (and $x104 $x54 $x107 $x109 $x110 $x456 $x116)) $x536))))
+(let (($x528 (and $x104 $x54 $x107 $x109 $x110 $x456 $x116)))
+(let (($x520 (and $x54 $x107 $x109 $x110 $x456 $x116)))
+(let (($x505 (and $x107 $x109 $x110 $x54 $x456 $x116)))
+(let ((@x501 (trans (monotonicity @x493 (= $x122 (and $x109 $x482))) (rewrite (= (and $x109 $x482) (and $x109 $x110 $x54 $x456 $x116))) (= $x122 (and $x109 $x110 $x54 $x456 $x116)))))
+(let ((@x504 (monotonicity @x501 (= $x123 (and $x107 (and $x109 $x110 $x54 $x456 $x116))))))
+(let ((@x509 (trans @x504 (rewrite (= (and $x107 (and $x109 $x110 $x54 $x456 $x116)) $x505)) (= $x123 $x505))))
+(let ((@x516 (trans (monotonicity @x509 (= $x124 (and true $x505))) (rewrite (= (and true $x505) $x505)) (= $x124 $x505))))
+(let ((@x448 (trans (monotonicity @x240 @x240 (= $x105 $x105)) (rewrite (= $x105 $x54)) (= $x105 $x54))))
+(let ((@x524 (trans (monotonicity @x448 @x516 (= $x125 (and $x54 $x505))) (rewrite (= (and $x54 $x505) $x520)) (= $x125 $x520))))
+(let ((@x532 (trans (monotonicity @x524 (= $x126 (and $x104 $x520))) (rewrite (= (and $x104 $x520) $x528)) (= $x126 $x528))))
+(let ((@x535 (monotonicity (rewrite (= (< v_b_max_G_1$ ?x101) $x441)) @x532 (= $x127 (and $x441 $x528)))))
+(let ((@x543 (monotonicity @x242 (trans @x535 @x538 (= $x127 $x536)) (= $x128 (and $x55 $x536)))))
+(let ((@x551 (monotonicity (trans @x543 @x546 (= $x128 $x544)) (= $x129 (and true $x544)))))
+(let ((@x605 (monotonicity (trans @x551 (rewrite (= (and true $x544) $x544)) (= $x129 $x544)) (monotonicity @x574 @x599 (= $x141 $x600)) (= $x142 (=> $x544 $x600)))))
+(let ((@x677 (monotonicity (trans @x605 (rewrite (= (=> $x544 $x600) $x607)) (= $x142 $x607)) (trans @x668 (rewrite (= (=> $x654 $x600) $x670)) (= $x153 $x670)) (= (and $x142 $x153) $x675))))
+(let ((@x420 (monotonicity (rewrite (= (< v_b_p_G_0$ v_b_length$) $x415)) @x242 (= $x98 (and $x415 $x55)))))
+(let ((@x425 (trans @x420 (rewrite (= (and $x415 $x55) (and $x415 $x52 $x54))) (= $x98 (and $x415 $x52 $x54)))))
+(let ((@x433 (trans (monotonicity @x242 @x425 (= $x99 (and $x55 (and $x415 $x52 $x54)))) (rewrite (= (and $x55 (and $x415 $x52 $x54)) $x429)) (= $x99 $x429))))
+(let ((@x440 (trans (monotonicity @x433 (= $x100 (and true $x429))) (rewrite (= (and true $x429) $x429)) (= $x100 $x429))))
+(let ((@x686 (trans (monotonicity @x440 @x677 (= $x155 (=> $x429 $x675))) (rewrite (= (=> $x429 $x675) $x682)) (= $x155 $x682))))
+(let (($x89 (<= ?x46 v_b_max_G_4$)))
+(let (($x351 (not (<= v_b_length$ ?0))))
+(let (($x354 (and $x43 $x351)))
+(let (($x360 (not $x354)))
+(let (($x372 (or $x360 $x89)))
+(let (($x85 (and $x43 (< ?0 v_b_length$))))
+(let (($x90 (=> $x85 $x89)))
+(let ((@x356 (monotonicity @x212 (rewrite (= (< ?0 v_b_length$) $x351)) (= $x85 $x354))))
+(let ((@x376 (trans (monotonicity @x356 (= $x90 (=> $x354 $x89))) (rewrite (= (=> $x354 $x89) $x372)) (= $x90 $x372))))
+(let ((@x382 (monotonicity (quant-intro @x376 (= $x91 $x377)) (= $x92 (=> $x377 true)))))
+(let ((@x386 (trans @x382 (rewrite (= (=> $x377 true) true)) (= $x92 true))))
+(let ((@x389 (monotonicity (quant-intro @x376 (= $x91 $x377)) @x386 (= $x93 (and $x377 true)))))
+(let (($x86 (= ?x46 v_b_max_G_4$)))
+(let (($x361 (or $x360 $x86)))
+(let (($x87 (=> $x85 $x86)))
+(let ((@x365 (trans (monotonicity @x356 (= $x87 (=> $x354 $x86))) (rewrite (= (=> $x354 $x86) $x361)) (= $x87 $x361))))
+(let ((@x396 (monotonicity (quant-intro @x365 (= $x88 $x366)) (trans @x389 (rewrite (= (and $x377 true) $x377)) (= $x93 $x377)) (= $x94 (=> $x366 $x377)))))
+(let ((@x405 (monotonicity (quant-intro @x365 (= $x88 $x366)) (trans @x396 (rewrite (= (=> $x366 $x377) $x398)) (= $x94 $x398)) (= (and $x88 $x94) $x403))))
+(let (($x330 (and $x69 $x52 $x54 $x71 $x73 $x75)))
+(let (($x322 (and $x52 $x54 $x71 $x73 $x75)))
+(let ((@x316 (rewrite (= (and true (and $x71 $x73 $x75)) (and $x71 $x73 $x75)))))
+(let ((@x303 (monotonicity (rewrite (= (and $x75 true) $x75)) (= (and $x73 (and $x75 true)) (and $x73 $x75)))))
+(let ((@x311 (trans (monotonicity @x303 (= $x78 (and $x71 (and $x73 $x75)))) (rewrite (= (and $x71 (and $x73 $x75)) (and $x71 $x73 $x75))) (= $x78 (and $x71 $x73 $x75)))))
+(let ((@x318 (trans (monotonicity @x311 (= $x79 (and true (and $x71 $x73 $x75)))) @x316 (= $x79 (and $x71 $x73 $x75)))))
+(let ((@x326 (trans (monotonicity @x242 @x318 (= $x80 (and $x55 (and $x71 $x73 $x75)))) (rewrite (= (and $x55 (and $x71 $x73 $x75)) $x322)) (= $x80 $x322))))
+(let ((@x334 (trans (monotonicity @x326 (= $x81 (and $x69 $x322))) (rewrite (= (and $x69 $x322) $x330)) (= $x81 $x330))))
+(let ((@x342 (trans (monotonicity @x242 @x334 (= $x82 (and $x55 $x330))) (rewrite (= (and $x55 $x330) $x338)) (= $x82 $x338))))
+(let ((@x349 (trans (monotonicity @x342 (= $x83 (and true $x338))) (rewrite (= (and true $x338) $x338)) (= $x83 $x338))))
+(let ((@x414 (trans (monotonicity @x349 @x405 (= $x96 (=> $x338 $x403))) (rewrite (= (=> $x338 $x403) $x410)) (= $x96 $x410))))
+(let (($x279 (and $x52 $x54 $x259 $x63)))
+(let ((@x273 (rewrite (= (and $x259 (and $x63 $x52 $x54)) (and $x259 $x63 $x52 $x54)))))
+(let ((@x267 (trans (monotonicity @x242 (= $x64 $x64)) (rewrite (= $x64 (and $x63 $x52 $x54))) (= $x64 (and $x63 $x52 $x54)))))
+(let (($x59 (<= ?x46 v_b_max_G_1$)))
+(let (($x254 (or (not (and $x43 (not (<= v_b_p_G_0$ ?0)))) $x59)))
+(let (($x60 (=> (and $x43 (< ?0 v_b_p_G_0$)) $x59)))
+(let ((@x256 (rewrite (= (=> (and $x43 (not (<= v_b_p_G_0$ ?0))) $x59) $x254))))
+(let (($x244 (not (<= v_b_p_G_0$ ?0))))
+(let (($x247 (and $x43 $x244)))
+(let ((@x249 (monotonicity @x212 (rewrite (= (< ?0 v_b_p_G_0$) $x244)) (= (and $x43 (< ?0 v_b_p_G_0$)) $x247))))
+(let ((@x258 (trans (monotonicity @x249 (= $x60 (=> $x247 $x59))) @x256 (= $x60 $x254))))
+(let ((@x270 (monotonicity (quant-intro @x258 (= $x61 $x259)) @x267 (= $x65 (and $x259 (and $x63 $x52 $x54))))))
+(let ((@x278 (monotonicity @x242 (trans @x270 @x273 (= $x65 (and $x259 $x63 $x52 $x54))) (= $x66 (and $x55 (and $x259 $x63 $x52 $x54))))))
+(let ((@x283 (trans @x278 (rewrite (= (and $x55 (and $x259 $x63 $x52 $x54)) $x279)) (= $x66 $x279))))
+(let ((@x290 (trans (monotonicity @x283 (= $x67 (and true $x279))) (rewrite (= (and true $x279) $x279)) (= $x67 $x279))))
+(let ((@x298 (trans (monotonicity @x290 (= $x68 (and $x50 $x279))) (rewrite (= (and $x50 $x279) $x294)) (= $x68 $x294))))
+(let ((@x692 (monotonicity @x298 (monotonicity @x414 @x686 (= (and $x96 $x155) $x687)) (= $x157 (=> $x294 $x687)))))
+(let ((@x701 (monotonicity (trans @x692 (rewrite (= (=> $x294 $x687) $x694)) (= $x157 $x694)) (= (and $x50 $x157) $x699))))
+(let (($x47 (<= ?x46 v_b_max_G_0$)))
+(let (($x229 (or (not (and $x43 (not (<= 1 ?0)))) $x47)))
+(let (($x48 (=> (and $x43 (< ?0 1)) $x47)))
+(let ((@x220 (monotonicity (rewrite (= (<= 1 ?0) (<= 1 ?0))) (= (not (<= 1 ?0)) (not (<= 1 ?0))))))
+(let ((@x221 (trans (rewrite (= (< ?0 1) (not (<= 1 ?0)))) @x220 (= (< ?0 1) (not (<= 1 ?0))))))
+(let ((@x224 (monotonicity @x212 @x221 (= (and $x43 (< ?0 1)) (and $x43 (not (<= 1 ?0)))))))
+(let ((@x227 (monotonicity @x224 (= $x48 (=> (and $x43 (not (<= 1 ?0))) $x47)))))
+(let ((@x233 (trans @x227 (rewrite (= (=> (and $x43 (not (<= 1 ?0))) $x47) $x229)) (= $x48 $x229))))
+(let ((@x704 (monotonicity (quant-intro @x233 (= $x49 $x234)) @x701 (= $x159 (=> $x234 $x699)))))
+(let ((@x713 (monotonicity (quant-intro @x233 (= $x49 $x234)) (trans @x704 (rewrite (= (=> $x234 $x699) $x706)) (= $x159 $x706)) (= (and $x49 $x159) $x711))))
+(let ((@x176 (rewrite (= (and true true) true))))
+(let ((@x174 (monotonicity (rewrite (= $x34 true)) (rewrite (= $x34 true)) (= $x35 (and true true)))))
+(let ((@x180 (monotonicity (rewrite (= $x32 true)) (trans @x174 @x176 (= $x35 true)) (= $x36 (and true true)))))
+(let ((@x184 (monotonicity (rewrite (= $x32 true)) (trans @x180 @x176 (= $x36 true)) (= $x37 (and true true)))))
+(let ((@x189 (monotonicity (trans @x184 @x176 (= $x37 true)) (= $x38 (and $x31 true)))))
+(let ((@x196 (monotonicity (trans @x189 (rewrite (= (and $x31 true) $x31)) (= $x38 $x31)) (= $x39 (and true $x31)))))
+(let ((@x203 (monotonicity (rewrite (= (< 0 v_b_length$) (not (<= v_b_length$ 0)))) (trans @x196 (rewrite (= (and true $x31) $x31)) (= $x39 $x31)) (= (and (< 0 v_b_length$) $x39) $x201))))
+(let ((@x210 (trans (monotonicity @x203 (= $x41 (and true $x201))) (rewrite (= (and true $x201) $x201)) (= $x41 $x201))))
+(let ((@x722 (trans (monotonicity @x210 @x713 (= $x161 (=> $x201 $x711))) (rewrite (= (=> $x201 $x711) $x718)) (= $x161 $x718))))
+(let ((@x726 (mp (asserted $x162) (monotonicity @x722 (= $x162 (not $x718))) (not $x718))))
+(let ((@x737 (mp (and-elim (not-or-elim @x726 $x201) $x31) (rewrite* (= $x31 $x31)) $x31)))
+(let ((@x1930 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= v_b_max_G_0$ (v_b_array$ ?v0!2))) $x1083)) (unit-resolution (def-axiom (or $x1391 (not $x1083))) @x1966 (not $x1083)) (trans @x737 @x1955 (= v_b_max_G_0$ (v_b_array$ ?v0!2))) false)))
+(let (($x1582 (forall ((?v0 Int) )(let (($x1020 (<= (+ (v_b_array$ ?v0) (* (- 1) v_b_max_G_3$)) 0)))
+(let (($x1005 (>= (+ ?v0 (* (- 1) v_b_p_G_1$)) 0)))
+(let (($x838 (>= ?v0 0)))
+(let (($x1399 (not $x838)))
+(or $x1399 $x1005 $x1020))))))
+))
+(let (($x1590 (not (or (not $x1582) $x136))))
+(let (($x1595 (or $x1560 $x1590)))
+(let (($x1607 (not $x1595)))
+(let (($x1620 (not (or $x1528 $x1529 $x985 (not $x144) (not $x145) $x1604 $x1605 $x1606 $x1607))))
+(let (($x1609 (not (or $x1528 $x1529 $x980 $x1601 $x1602 $x1603 $x1604 $x1605 $x1606 $x1607))))
+(let (($x1625 (or $x1609 $x1620)))
+(let (($x1633 (not (or $x1528 $x1529 $x919 (not $x1625)))))
+(let (($x1466 (forall ((?v0 Int) )(let ((?x46 (v_b_array$ ?v0)))
+(let (($x86 (= ?x46 v_b_max_G_4$)))
+(let (($x930 (<= (+ v_b_length$ (* (- 1) ?v0)) 0)))
+(let (($x838 (>= ?v0 0)))
+(let (($x1399 (not $x838)))
+(let (($x1458 (or $x1399 $x930 $x86)))
+(not $x1458))))))))
+))
+(let (($x1522 (or $x1466 $x1517)))
+(let (($x1535 (not (or $x1528 $x1529 $x971 (not k!00) $x1531 (not k!10) (not $x1522)))))
+(let (($x1638 (or $x1535 $x1633)))
+(let (($x1441 (forall ((?v0 Int) )(let (($x903 (<= (+ (v_b_array$ ?v0) (* (- 1) v_b_max_G_1$)) 0)))
+(let (($x888 (>= (+ ?v0 (* (- 1) v_b_p_G_0$)) 0)))
+(let (($x838 (>= ?v0 0)))
+(let (($x1399 (not $x838)))
+(or $x1399 $x888 $x903))))))
+))
+(let (($x1648 (not (or $x1528 $x1529 (not $x1441) (not $x63) (not $x1638)))))
+(let (($x1653 (or $x1095 $x1648)))
+(let (($x1419 (forall ((?v0 Int) )(let (($x851 (>= (+ v_b_max_G_0$ (* (- 1) (v_b_array$ ?v0))) 0)))
+(let (($x841 (>= ?v0 1)))
+(let (($x838 (>= ?v0 0)))
+(let (($x1399 (not $x838)))
+(or $x1399 $x841 $x851))))))
+))
+(let (($x1662 (not (or (not $x1419) (not $x1653)))))
+(let (($x1667 (or $x1396 $x1662)))
+(let (($x2147 (= (or $x1528 $x1529 $x985 (not $x144) (not $x145) $x1604 $x1605 $x1606 $x1607) $x2146)))
+(let (($x1020 (<= (+ ?x46 (* (- 1) v_b_max_G_3$)) 0)))
+(let (($x1005 (>= (+ ?0 (* (- 1) v_b_p_G_1$)) 0)))
+(let (($x838 (>= ?0 0)))
+(let (($x1399 (not $x838)))
+(let (($x1577 (or $x1399 $x1005 $x1020)))
+(let ((@x2127 (monotonicity (quant-intro (refl (= $x1577 $x1577)) (= $x1582 $x2120)) (= (not $x1582) (not $x2120)))))
+(let ((@x2133 (monotonicity (monotonicity @x2127 (= (or (not $x1582) $x136) $x2128)) (= $x1590 $x2131))))
+(let ((@x2148 (monotonicity (monotonicity (monotonicity @x2133 (= $x1595 $x2134)) (= $x1607 $x2137)) $x2147)))
+(let ((@x2142 (monotonicity (monotonicity (monotonicity @x2133 (= $x1595 $x2134)) (= $x1607 $x2137)) (= (or $x1528 $x1529 $x980 $x1601 $x1602 $x1603 $x1604 $x1605 $x1606 $x1607) $x2140))))
+(let ((@x2154 (monotonicity (monotonicity @x2142 (= $x1609 $x2143)) (monotonicity @x2148 (= $x1620 $x2149)) (= $x1625 $x2152))))
+(let ((@x2160 (monotonicity (monotonicity @x2154 (= (not $x1625) $x2155)) (= (or $x1528 $x1529 $x919 (not $x1625)) $x2158))))
+(let (($x2115 (= (or $x1528 $x1529 $x971 (not k!00) $x1531 (not k!10) (not $x1522)) $x2114)))
+(let (($x930 (<= (+ v_b_length$ (* (- 1) ?0)) 0)))
+(let (($x1458 (or $x1399 $x930 $x86)))
+(let (($x1463 (not $x1458)))
+(let ((@x2110 (monotonicity (quant-intro (refl (= $x1463 $x1463)) (= $x1466 $x2103)) (= $x1522 $x2108))))
+(let ((@x2119 (monotonicity (monotonicity (monotonicity @x2110 (= (not $x1522) $x2111)) $x2115) (= $x1535 $x2117))))
+(let ((@x2166 (monotonicity @x2119 (monotonicity @x2160 (= $x1633 $x2161)) (= $x1638 $x2164))))
+(let (($x903 (<= (+ ?x46 (* (- 1) v_b_max_G_1$)) 0)))
+(let (($x888 (>= (+ ?0 (* (- 1) v_b_p_G_0$)) 0)))
+(let (($x1436 (or $x1399 $x888 $x903)))
+(let ((@x2102 (monotonicity (quant-intro (refl (= $x1436 $x1436)) (= $x1441 $x2095)) (= (not $x1441) $x2100))))
+(let ((@x2172 (monotonicity @x2102 (monotonicity @x2166 (= (not $x1638) $x2167)) (= (or $x1528 $x1529 (not $x1441) (not $x63) (not $x1638)) $x2170))))
+(let ((@x2181 (monotonicity (monotonicity (monotonicity @x2172 (= $x1648 $x2173)) (= $x1653 $x2176)) (= (not $x1653) $x2179))))
+(let (($x851 (>= (+ v_b_max_G_0$ (* (- 1) ?x46)) 0)))
+(let (($x841 (>= ?0 1)))
+(let (($x1414 (or $x1399 $x841 $x851)))
+(let ((@x2094 (monotonicity (quant-intro (refl (= $x1414 $x1414)) (= $x1419 $x2087)) (= (not $x1419) (not $x2087)))))
+(let ((@x2187 (monotonicity (monotonicity @x2094 @x2181 (= (or (not $x1419) (not $x1653)) $x2182)) (= $x1662 $x2185))))
+(let (($x1193 (not $x136)))
+(let (($x1026 (forall ((?v0 Int) )(let (($x1020 (<= (+ (v_b_array$ ?v0) (* (- 1) v_b_max_G_3$)) 0)))
+(let (($x838 (>= ?v0 0)))
+(let (($x1012 (and $x838 (not (>= (+ ?v0 (* (- 1) v_b_p_G_1$)) 0)))))
+(let (($x1015 (not $x1012)))
+(or $x1015 $x1020))))))
+))
+(let (($x1196 (and $x1026 $x1193)))
+(let (($x1295 (not $x1290)))
+(let (($x1298 (and $x1173 $x1295)))
+(let (($x1301 (not $x1298)))
+(let (($x1317 (or $x1301 $x1312)))
+(let (($x1320 (not $x1317)))
+(let (($x1323 (or $x1320 $x1196)))
+(let (($x1339 (and $x882 $x885 $x980 $x144 $x145 $x989 $x991 $x996 $x1323)))
+(let (($x1329 (and $x882 $x885 $x985 $x104 $x107 $x109 $x989 $x991 $x996 $x1323)))
+(let (($x1344 (or $x1329 $x1339)))
+(let (($x1350 (and $x882 $x885 $x971 $x1344)))
+(let (($x1145 (not (and $x1139 (not $x1142)))))
+(let (($x1258 (or $x1145 $x1253)))
+(let (($x1261 (not $x1258)))
+(let (($x1129 (not (and (>= ?v0!3 0) (not $x1126)))))
+(let (($x1132 (or $x1129 $x1131)))
+(let (($x1264 (and $x1132 $x1261)))
+(let (($x1119 (forall ((?v0 Int) )(let ((?x46 (v_b_array$ ?v0)))
+(let (($x86 (= ?x46 v_b_max_G_4$)))
+(let (($x838 (>= ?v0 0)))
+(let (($x936 (and $x838 (not (<= (+ v_b_length$ (* (- 1) ?v0)) 0)))))
+(let (($x939 (not $x936)))
+(let (($x942 (or $x939 $x86)))
+(not $x942))))))))
+))
+(let (($x1267 (or $x1119 $x1264)))
+(let (($x1273 (and $x882 $x885 $x919 k!00 $x73 k!10 $x1267)))
+(let (($x1355 (or $x1273 $x1350)))
+(let (($x909 (forall ((?v0 Int) )(let (($x903 (<= (+ (v_b_array$ ?v0) (* (- 1) v_b_max_G_1$)) 0)))
+(let (($x838 (>= ?v0 0)))
+(let (($x895 (and $x838 (not (>= (+ ?v0 (* (- 1) v_b_p_G_0$)) 0)))))
+(let (($x898 (not $x895)))
+(or $x898 $x903))))))
+))
+(let (($x1361 (and $x882 $x885 $x909 $x63 $x1355)))
+(let (($x1366 (or $x1095 $x1361)))
+(let (($x862 (forall ((?v0 Int) )(let (($x851 (>= (+ v_b_max_G_0$ (* (- 1) (v_b_array$ ?v0))) 0)))
+(let (($x838 (>= ?v0 0)))
+(let (($x849 (and $x838 (not (>= ?v0 1)))))
+(let (($x854 (not $x849)))
+(or $x854 $x851))))))
+))
+(let (($x1369 (and $x862 $x1366)))
+(let (($x1077 (not (and $x1078 $x1079))))
+(let (($x1084 (or $x1077 $x1083)))
+(let (($x1085 (not $x1084)))
+(let (($x1372 (or $x1085 $x1369)))
+(let ((@x1622 (rewrite (= (and $x882 $x885 $x980 $x144 $x145 $x989 $x991 $x996 $x1595) $x1620))))
+(let (($x1012 (and $x838 (not $x1005))))
+(let (($x1015 (not $x1012)))
+(let (($x1023 (or $x1015 $x1020)))
+(let ((@x1569 (monotonicity (rewrite (= $x1012 (not (or $x1399 $x1005)))) (= $x1015 (not (not (or $x1399 $x1005)))))))
+(let ((@x1573 (trans @x1569 (rewrite (= (not (not (or $x1399 $x1005))) (or $x1399 $x1005))) (= $x1015 (or $x1399 $x1005)))))
+(let ((@x1581 (trans (monotonicity @x1573 (= $x1023 (or (or $x1399 $x1005) $x1020))) (rewrite (= (or (or $x1399 $x1005) $x1020) $x1577)) (= $x1023 $x1577))))
+(let ((@x1587 (monotonicity (quant-intro @x1581 (= $x1026 $x1582)) (= $x1196 (and $x1582 $x1193)))))
+(let ((@x1547 (monotonicity (rewrite (= $x1298 (not (or $x1540 $x1290)))) (= $x1301 (not (not (or $x1540 $x1290)))))))
+(let ((@x1551 (trans @x1547 (rewrite (= (not (not (or $x1540 $x1290))) (or $x1540 $x1290))) (= $x1301 (or $x1540 $x1290)))))
+(let ((@x1559 (trans (monotonicity @x1551 (= $x1317 (or (or $x1540 $x1290) $x1312))) (rewrite (= (or (or $x1540 $x1290) $x1312) $x1555)) (= $x1317 $x1555))))
+(let ((@x1597 (monotonicity (monotonicity @x1559 (= $x1320 $x1560)) (trans @x1587 (rewrite (= (and $x1582 $x1193) $x1590)) (= $x1196 $x1590)) (= $x1323 $x1595))))
+(let ((@x1616 (monotonicity @x1597 (= $x1339 (and $x882 $x885 $x980 $x144 $x145 $x989 $x991 $x996 $x1595)))))
+(let ((@x1611 (rewrite (= (and $x882 $x885 $x985 $x104 $x107 $x109 $x989 $x991 $x996 $x1595) $x1609))))
+(let ((@x1600 (monotonicity @x1597 (= $x1329 (and $x882 $x885 $x985 $x104 $x107 $x109 $x989 $x991 $x996 $x1595)))))
+(let ((@x1627 (monotonicity (trans @x1600 @x1611 (= $x1329 $x1609)) (trans @x1616 @x1622 (= $x1339 $x1620)) (= $x1344 $x1625))))
+(let ((@x1637 (trans (monotonicity @x1627 (= $x1350 (and $x882 $x885 $x971 $x1625))) (rewrite (= (and $x882 $x885 $x971 $x1625) $x1633)) (= $x1350 $x1633))))
+(let ((@x1537 (rewrite (= (and $x882 $x885 $x919 k!00 $x73 k!10 $x1522) $x1535))))
+(let ((@x1496 (monotonicity (rewrite (= (and $x1139 (not $x1142)) (not (or $x1489 $x1142)))) (= $x1145 (not (not (or $x1489 $x1142)))))))
+(let ((@x1500 (trans @x1496 (rewrite (= (not (not (or $x1489 $x1142))) (or $x1489 $x1142))) (= $x1145 (or $x1489 $x1142)))))
+(let ((@x1508 (trans (monotonicity @x1500 (= $x1258 (or (or $x1489 $x1142) $x1253))) (rewrite (= (or (or $x1489 $x1142) $x1253) (or $x1489 $x1142 $x1253))) (= $x1258 (or $x1489 $x1142 $x1253)))))
+(let (($x1470 (or (not (>= ?v0!3 0)) $x1126)))
+(let ((@x1476 (monotonicity (rewrite (= (and (>= ?v0!3 0) (not $x1126)) (not $x1470))) (= $x1129 (not (not $x1470))))))
+(let ((@x1483 (monotonicity (trans @x1476 (rewrite (= (not (not $x1470)) $x1470)) (= $x1129 $x1470)) (= $x1132 (or $x1470 $x1131)))))
+(let ((@x1514 (monotonicity (trans @x1483 (rewrite (= (or $x1470 $x1131) $x1484)) (= $x1132 $x1484)) (monotonicity @x1508 (= $x1261 (not (or $x1489 $x1142 $x1253)))) (= $x1264 (and $x1484 (not (or $x1489 $x1142 $x1253)))))))
+(let ((@x1521 (trans @x1514 (rewrite (= (and $x1484 (not (or $x1489 $x1142 $x1253))) $x1517)) (= $x1264 $x1517))))
+(let (($x936 (and $x838 (not $x930))))
+(let (($x939 (not $x936)))
+(let (($x942 (or $x939 $x86)))
+(let ((@x1450 (monotonicity (rewrite (= $x936 (not (or $x1399 $x930)))) (= $x939 (not (not (or $x1399 $x930)))))))
+(let ((@x1454 (trans @x1450 (rewrite (= (not (not (or $x1399 $x930))) (or $x1399 $x930))) (= $x939 (or $x1399 $x930)))))
+(let ((@x1462 (trans (monotonicity @x1454 (= $x942 (or (or $x1399 $x930) $x86))) (rewrite (= (or (or $x1399 $x930) $x86) $x1458)) (= $x942 $x1458))))
+(let ((@x1468 (quant-intro (monotonicity @x1462 (= (not $x942) $x1463)) (= $x1119 $x1466))))
+(let ((@x1527 (monotonicity (monotonicity @x1468 @x1521 (= $x1267 $x1522)) (= $x1273 (and $x882 $x885 $x919 k!00 $x73 k!10 $x1522)))))
+(let (($x895 (and $x838 (not $x888))))
+(let (($x898 (not $x895)))
+(let (($x906 (or $x898 $x903)))
+(let ((@x1428 (monotonicity (rewrite (= $x895 (not (or $x1399 $x888)))) (= $x898 (not (not (or $x1399 $x888)))))))
+(let ((@x1432 (trans @x1428 (rewrite (= (not (not (or $x1399 $x888))) (or $x1399 $x888))) (= $x898 (or $x1399 $x888)))))
+(let ((@x1440 (trans (monotonicity @x1432 (= $x906 (or (or $x1399 $x888) $x903))) (rewrite (= (or (or $x1399 $x888) $x903) $x1436)) (= $x906 $x1436))))
+(let ((@x1643 (monotonicity (quant-intro @x1440 (= $x909 $x1441)) (monotonicity (trans @x1527 @x1537 (= $x1273 $x1535)) @x1637 (= $x1355 $x1638)) (= $x1361 (and $x882 $x885 $x1441 $x63 $x1638)))))
+(let ((@x1652 (trans @x1643 (rewrite (= (and $x882 $x885 $x1441 $x63 $x1638) $x1648)) (= $x1361 $x1648))))
+(let (($x849 (and $x838 (not $x841))))
+(let (($x854 (not $x849)))
+(let (($x859 (or $x854 $x851)))
+(let ((@x1406 (monotonicity (rewrite (= $x849 (not (or $x1399 $x841)))) (= $x854 (not (not (or $x1399 $x841)))))))
+(let ((@x1410 (trans @x1406 (rewrite (= (not (not (or $x1399 $x841))) (or $x1399 $x841))) (= $x854 (or $x1399 $x841)))))
+(let ((@x1418 (trans (monotonicity @x1410 (= $x859 (or (or $x1399 $x841) $x851))) (rewrite (= (or (or $x1399 $x841) $x851) $x1414)) (= $x859 $x1414))))
+(let ((@x1658 (monotonicity (quant-intro @x1418 (= $x862 $x1419)) (monotonicity @x1652 (= $x1366 $x1653)) (= $x1369 (and $x1419 $x1653)))))
+(let ((@x1385 (rewrite (= (not (not (or (not $x1078) $x831))) (or (not $x1078) $x831)))))
+(let ((@x1383 (monotonicity (rewrite (= (and $x1078 $x1079) (not (or (not $x1078) $x831)))) (= $x1077 (not (not (or (not $x1078) $x831)))))))
+(let ((@x1390 (monotonicity (trans @x1383 @x1385 (= $x1077 (or (not $x1078) $x831))) (= $x1084 (or (or (not $x1078) $x831) $x1083)))))
+(let ((@x1395 (trans @x1390 (rewrite (= (or (or (not $x1078) $x831) $x1083) $x1391)) (= $x1084 $x1391))))
+(let ((@x1669 (monotonicity (monotonicity @x1395 (= $x1085 $x1396)) (trans @x1658 (rewrite (= (and $x1419 $x1653) $x1662)) (= $x1369 $x1662)) (= $x1372 $x1667))))
+(let (($x1181 (<= (+ ?x1179 (* (- 1) v_b_max_G_3$)) 0)))
+(let (($x1182 (or (not (and $x1173 (not (>= (+ ?v0!5 (* (- 1) v_b_p_G_1$)) 0)))) $x1181)))
+(let (($x1183 (not $x1182)))
+(let (($x1200 (or $x1183 $x1196)))
+(let (($x1041 (and $x882 $x885 $x980 $x144 $x145 $x989 $x991 $x996)))
+(let (($x1044 (not $x1041)))
+(let (($x1208 (not $x1044)))
+(let (($x1211 (and $x1208 $x1200)))
+(let (($x999 (and $x882 $x885 $x985 $x104 $x107 $x109 $x989 $x991 $x996)))
+(let (($x1002 (not $x999)))
+(let (($x1169 (not $x1002)))
+(let (($x1204 (and $x1169 $x1200)))
+(let (($x1215 (or $x1204 $x1211)))
+(let (($x974 (and $x882 $x885 $x971)))
+(let (($x977 (not $x974)))
+(let (($x1166 (not $x977)))
+(let (($x1219 (and $x1166 $x1215)))
+(let (($x1150 (not (or $x1145 (<= (+ (v_b_array$ ?v0!4) (* (- 1) v_b_max_G_4$)) 0)))))
+(let (($x1154 (and $x1132 $x1150)))
+(let (($x1158 (or $x1119 $x1154)))
+(let (($x922 (and $x882 $x885 $x919 k!00 $x73 k!10)))
+(let (($x925 (not $x922)))
+(let (($x1113 (not $x925)))
+(let (($x1162 (and $x1113 $x1158)))
+(let (($x1223 (or $x1162 $x1219)))
+(let (($x912 (and $x882 $x885 $x909 $x63)))
+(let (($x1227 (and $x912 $x1223)))
+(let (($x1231 (or $x1095 $x1227)))
+(let (($x1235 (and $x862 $x1231)))
+(let (($x1239 (or $x1085 $x1235)))
+(let (($x1305 (= (+ ?x1179 (* (- 1) v_b_max_G_3$)) (+ (* (- 1) v_b_max_G_3$) ?x1179))))
+(let ((@x1309 (monotonicity (rewrite $x1305) (= $x1181 (<= (+ (* (- 1) v_b_max_G_3$) ?x1179) 0)))))
+(let ((@x1316 (trans @x1309 (rewrite (= (<= (+ (* (- 1) v_b_max_G_3$) ?x1179) 0) $x1312)) (= $x1181 $x1312))))
+(let (($x1302 (= (not (and $x1173 (not (>= (+ ?v0!5 (* (- 1) v_b_p_G_1$)) 0)))) $x1301)))
+(let (($x1299 (= (and $x1173 (not (>= (+ ?v0!5 (* (- 1) v_b_p_G_1$)) 0))) $x1298)))
+(let (($x1175 (>= (+ ?v0!5 (* (- 1) v_b_p_G_1$)) 0)))
+(let (($x1283 (= (+ ?v0!5 (* (- 1) v_b_p_G_1$)) (+ (* (- 1) v_b_p_G_1$) ?v0!5))))
+(let ((@x1287 (monotonicity (rewrite $x1283) (= $x1175 (>= (+ (* (- 1) v_b_p_G_1$) ?v0!5) 0)))))
+(let ((@x1294 (trans @x1287 (rewrite (= (>= (+ (* (- 1) v_b_p_G_1$) ?v0!5) 0) $x1290)) (= $x1175 $x1290))))
+(let ((@x1303 (monotonicity (monotonicity (monotonicity @x1294 (= (not $x1175) $x1295)) $x1299) $x1302)))
+(let ((@x1322 (monotonicity (monotonicity @x1303 @x1316 (= $x1182 $x1317)) (= $x1183 $x1320))))
+(let ((@x1338 (monotonicity (rewrite (= $x1208 $x1041)) (monotonicity @x1322 (= $x1200 $x1323)) (= $x1211 (and $x1041 $x1323)))))
+(let ((@x1328 (monotonicity (rewrite (= $x1169 $x999)) (monotonicity @x1322 (= $x1200 $x1323)) (= $x1204 (and $x999 $x1323)))))
+(let ((@x1346 (monotonicity (trans @x1328 (rewrite (= (and $x999 $x1323) $x1329)) (= $x1204 $x1329)) (trans @x1338 (rewrite (= (and $x1041 $x1323) $x1339)) (= $x1211 $x1339)) (= $x1215 $x1344))))
+(let ((@x1349 (monotonicity (rewrite (= $x1166 $x974)) @x1346 (= $x1219 (and $x974 $x1344)))))
+(let (($x1259 (= (or $x1145 (<= (+ (v_b_array$ ?v0!4) (* (- 1) v_b_max_G_4$)) 0)) $x1258)))
+(let (($x1148 (<= (+ (v_b_array$ ?v0!4) (* (- 1) v_b_max_G_4$)) 0)))
+(let (($x1254 (= (<= (+ (* (- 1) v_b_max_G_4$) (v_b_array$ ?v0!4)) 0) $x1253)))
+(let (($x1249 (= $x1148 (<= (+ (* (- 1) v_b_max_G_4$) (v_b_array$ ?v0!4)) 0))))
+(let (($x1246 (= (+ (v_b_array$ ?v0!4) (* (- 1) v_b_max_G_4$)) (+ (* (- 1) v_b_max_G_4$) (v_b_array$ ?v0!4)))))
+(let ((@x1257 (trans (monotonicity (rewrite $x1246) $x1249) (rewrite $x1254) (= $x1148 $x1253))))
+(let ((@x1266 (monotonicity (monotonicity (monotonicity @x1257 $x1259) (= $x1150 $x1261)) (= $x1154 $x1264))))
+(let ((@x1272 (monotonicity (rewrite (= $x1113 $x922)) (monotonicity @x1266 (= $x1158 $x1267)) (= $x1162 (and $x922 $x1267)))))
+(let ((@x1357 (monotonicity (trans @x1272 (rewrite (= (and $x922 $x1267) $x1273)) (= $x1162 $x1273)) (trans @x1349 (rewrite (= (and $x974 $x1344) $x1350)) (= $x1219 $x1350)) (= $x1223 $x1355))))
+(let ((@x1365 (trans (monotonicity @x1357 (= $x1227 (and $x912 $x1355))) (rewrite (= (and $x912 $x1355) $x1361)) (= $x1227 $x1361))))
+(let ((@x1374 (monotonicity (monotonicity (monotonicity @x1365 (= $x1231 $x1366)) (= $x1235 $x1369)) (= $x1239 $x1372))))
+(let (($x1029 (not $x1026)))
+(let (($x1032 (or $x1029 $x136)))
+(let (($x1035 (and $x1026 $x1032)))
+(let (($x1047 (or $x1044 $x1035)))
+(let (($x1038 (or $x1002 $x1035)))
+(let (($x1050 (and $x1038 $x1047)))
+(let (($x1053 (or $x977 $x1050)))
+(let (($x959 (forall ((?v0 Int) )(let (($x838 (>= ?v0 0)))
+(let (($x936 (and $x838 (not (<= (+ v_b_length$ (* (- 1) ?v0)) 0)))))
+(let (($x939 (not $x936)))
+(or $x939 (<= (+ (v_b_array$ ?v0) (* (- 1) v_b_max_G_4$)) 0))))))
+))
+(let (($x945 (exists ((?v0 Int) )(let ((?x46 (v_b_array$ ?v0)))
+(let (($x86 (= ?x46 v_b_max_G_4$)))
+(let (($x838 (>= ?v0 0)))
+(let (($x936 (and $x838 (not (<= (+ v_b_length$ (* (- 1) ?v0)) 0)))))
+(let (($x939 (not $x936)))
+(or $x939 $x86)))))))
+))
+(let (($x948 (not $x945)))
+(let (($x962 (or $x948 $x959)))
+(let (($x965 (and $x945 $x962)))
+(let (($x968 (or $x925 $x965)))
+(let (($x1056 (and $x968 $x1053)))
+(let (($x915 (not $x912)))
+(let (($x1059 (or $x915 $x1056)))
+(let (($x1062 (and $x50 $x1059)))
+(let (($x878 (not $x862)))
+(let (($x1065 (or $x878 $x1062)))
+(let (($x1071 (not (and $x862 $x1065))))
+(let ((@x1192 (nnf-neg (nnf-pos (refl (~ $x1023 $x1023)) (~ $x1026 $x1026)) (~ (not $x1029) $x1026))))
+(let ((@x1203 (nnf-neg (sk (~ $x1029 $x1183)) (nnf-neg @x1192 (refl (~ $x1193 $x1193)) (~ (not $x1032) $x1196)) (~ (not $x1035) $x1200))))
+(let ((@x1218 (nnf-neg (nnf-neg (refl (~ $x1169 $x1169)) @x1203 (~ (not $x1038) $x1204)) (nnf-neg (refl (~ $x1208 $x1208)) @x1203 (~ (not $x1047) $x1211)) (~ (not $x1050) $x1215))))
+(let ((@x1157 (nnf-neg (nnf-neg (sk (~ $x945 $x1132)) (~ (not $x948) $x1132)) (sk (~ (not $x959) $x1150)) (~ (not $x962) $x1154))))
+(let ((@x1161 (nnf-neg (nnf-neg (refl (~ (not $x942) (not $x942))) (~ $x948 $x1119)) @x1157 (~ (not $x965) $x1158))))
+(let ((@x1226 (nnf-neg (nnf-neg (refl (~ $x1113 $x1113)) @x1161 (~ (not $x968) $x1162)) (nnf-neg (refl (~ $x1166 $x1166)) @x1218 (~ (not $x1053) $x1219)) (~ (not $x1056) $x1223))))
+(let ((@x1109 (monotonicity (refl (~ $x882 $x882)) (refl (~ $x885 $x885)) (nnf-pos (refl (~ $x906 $x906)) (~ $x909 $x909)) (refl (~ $x63 $x63)) (~ $x912 $x912))))
+(let ((@x1230 (nnf-neg (nnf-neg @x1109 (~ (not $x915) $x912)) @x1226 (~ (not $x1059) $x1227))))
+(let ((@x1094 (nnf-neg (nnf-pos (refl (~ $x859 $x859)) (~ $x862 $x862)) (~ (not $x878) $x862))))
+(let ((@x1238 (nnf-neg @x1094 (nnf-neg (refl (~ $x1095 $x1095)) @x1230 (~ (not $x1062) $x1231)) (~ (not $x1065) $x1235))))
+(let (($x749 (and $x52 $x54 $x69 k!00 $x73 k!10)))
+(let (($x752 (not $x749)))
+(let (($x785 (or $x752 $x403)))
+(let (($x788 (and $x785 $x682)))
+(let (($x738 (not $x279)))
+(let (($x816 (or $x738 $x788)))
+(let (($x819 (and $x50 $x816)))
+(let (($x822 (or $x705 $x819)))
+(let (($x825 (and $x234 $x822)))
+(let (($x828 (not $x825)))
+(let ((@x1011 (monotonicity (rewrite (= (<= v_b_p_G_1$ ?0) $x1005)) (= $x557 (not $x1005)))))
+(let ((@x837 (rewrite (= $x43 $x838))))
+(let ((@x1017 (monotonicity (monotonicity @x837 @x1011 (= $x560 $x1012)) (= (not $x560) $x1015))))
+(let ((@x1028 (quant-intro (monotonicity @x1017 (rewrite (= $x132 $x1020)) (= $x567 $x1023)) (= $x572 $x1026))))
+(let ((@x1034 (monotonicity (monotonicity @x1028 (= (not $x572) $x1029)) (= $x595 $x1032))))
+(let ((@x886 (rewrite (= $x54 $x885))))
+(let ((@x883 (rewrite (= $x52 $x882))))
+(let ((@x1043 (monotonicity @x883 @x886 (rewrite (= $x143 $x980)) (rewrite (= $x110 $x989)) (rewrite (= $x456 $x991)) (rewrite (= $x116 $x996)) (= $x654 $x1041))))
+(let ((@x1049 (monotonicity (monotonicity @x1043 (= $x669 $x1044)) (monotonicity @x1028 @x1034 (= $x600 $x1035)) (= $x670 $x1047))))
+(let ((@x1001 (monotonicity @x883 @x886 (monotonicity (rewrite (= $x143 $x980)) (= $x441 $x985)) (rewrite (= $x110 $x989)) (rewrite (= $x456 $x991)) (rewrite (= $x116 $x996)) (= $x544 $x999))))
+(let ((@x1040 (monotonicity (monotonicity @x1001 (= $x606 $x1002)) (monotonicity @x1028 @x1034 (= $x600 $x1035)) (= $x607 $x1038))))
+(let ((@x976 (monotonicity @x883 @x886 (monotonicity (rewrite (= $x69 $x919)) (= $x415 $x971)) (= $x429 $x974))))
+(let ((@x1055 (monotonicity (monotonicity @x976 (= $x681 $x977)) (monotonicity @x1040 @x1049 (= $x675 $x1050)) (= $x682 $x1053))))
+(let ((@x935 (monotonicity (rewrite (= (<= v_b_length$ ?0) $x930)) (= $x351 (not $x930)))))
+(let ((@x941 (monotonicity (monotonicity @x837 @x935 (= $x354 $x936)) (= $x360 $x939))))
+(let ((@x958 (monotonicity @x941 (rewrite (= $x89 (<= (+ ?x46 (* (- 1) v_b_max_G_4$)) 0))) (= $x372 (or $x939 (<= (+ ?x46 (* (- 1) v_b_max_G_4$)) 0))))))
+(let ((@x950 (monotonicity (quant-intro (monotonicity @x941 (= $x361 $x942)) (= $x366 $x945)) (= (not $x366) $x948))))
+(let ((@x967 (monotonicity (quant-intro (monotonicity @x941 (= $x361 $x942)) (= $x366 $x945)) (monotonicity @x950 (quant-intro @x958 (= $x377 $x959)) (= $x398 $x962)) (= $x403 $x965))))
+(let ((@x927 (monotonicity (monotonicity @x883 @x886 (rewrite (= $x69 $x919)) (= $x749 $x922)) (= $x752 $x925))))
+(let ((@x1058 (monotonicity (monotonicity @x927 @x967 (= $x785 $x968)) @x1055 (= $x788 $x1056))))
+(let ((@x894 (monotonicity (rewrite (= (<= v_b_p_G_0$ ?0) $x888)) (= $x244 (not $x888)))))
+(let ((@x900 (monotonicity (monotonicity @x837 @x894 (= $x247 $x895)) (= (not $x247) $x898))))
+(let ((@x911 (quant-intro (monotonicity @x900 (rewrite (= $x59 $x903)) (= $x254 $x906)) (= $x259 $x909))))
+(let ((@x917 (monotonicity (monotonicity @x883 @x886 @x911 (= $x279 $x912)) (= $x738 $x915))))
+(let ((@x1064 (monotonicity (monotonicity @x917 @x1058 (= $x816 $x1059)) (= $x819 $x1062))))
+(let ((@x848 (monotonicity (rewrite (= (<= 1 ?0) $x841)) (= (not (<= 1 ?0)) (not $x841)))))
+(let ((@x834 (monotonicity (monotonicity @x837 @x848 (= (and $x43 (not (<= 1 ?0))) $x849)) (= (not (and $x43 (not (<= 1 ?0)))) $x854))))
+(let ((@x877 (quant-intro (monotonicity @x834 (rewrite (= $x47 $x851)) (= $x229 $x859)) (= $x234 $x862))))
+(let ((@x1067 (monotonicity (monotonicity @x877 (= $x705 $x878)) @x1064 (= $x822 $x1065))))
+(let ((@x1073 (monotonicity (monotonicity @x877 @x1067 (= $x825 (and $x862 $x1065))) (= $x828 $x1071))))
+(let ((@x796 (monotonicity (monotonicity @x238 @x240 @x450 @x460 @x463 (= $x654 $x654)) (= $x669 $x669))))
+(let ((@x784 (monotonicity (monotonicity @x238 @x240 @x450 @x460 @x463 (= $x544 $x544)) (= $x606 $x606))))
+(let ((@x800 (monotonicity (monotonicity @x784 (= $x607 $x607)) (monotonicity @x796 (= $x670 $x670)) (= $x675 $x675))))
+(let ((@x780 (monotonicity (monotonicity @x238 @x240 (= $x429 $x429)) (= $x681 $x681))))
+(let ((@x846 (monotonicity (monotonicity @x238 @x240 (= $x749 $x749)) (= $x752 $x752))))
+(let ((@x864 (monotonicity (monotonicity @x846 (= $x785 $x785)) (monotonicity @x780 @x800 (= $x682 $x682)) (= $x788 $x788))))
+(let ((@x762 (monotonicity (monotonicity @x238 @x240 (= $x279 $x279)) (= $x738 $x738))))
+(let ((@x868 (monotonicity (monotonicity @x762 @x864 (= $x816 $x816)) (= $x819 $x819))))
+(let ((@x874 (monotonicity (monotonicity (monotonicity @x868 (= $x822 $x822)) (= $x825 $x825)) (= $x828 $x828))))
+(let ((@x751 (monotonicity (apply-def (intro-def (= $x71 k!00)) (~ $x71 k!00)) (apply-def (intro-def (= $x75 k!10)) (~ $x75 k!10)) (= $x338 $x749))))
+(let ((@x790 (monotonicity (monotonicity (monotonicity @x751 (= $x409 $x752)) (= $x410 $x785)) (= $x687 $x788))))
+(let ((@x821 (monotonicity (monotonicity @x790 (= (or $x738 $x687) $x816)) (= (and $x50 (or $x738 $x687)) $x819))))
+(let ((@x827 (monotonicity (monotonicity @x821 (= (or $x705 (and $x50 (or $x738 $x687))) $x822)) (= (and $x234 (or $x705 (and $x50 (or $x738 $x687)))) $x825))))
+(let ((@x830 (monotonicity @x827 (= (not (and $x234 (or $x705 (and $x50 (or $x738 $x687))))) $x828))))
+(let (($x739 (or $x738 $x687)))
+(let (($x740 (and $x50 $x739)))
+(let (($x741 (or $x705 $x740)))
+(let (($x742 (and $x234 $x741)))
+(let (($x743 (not $x742)))
+(let ((@x766 (monotonicity (monotonicity @x238 @x240 (= $x338 $x338)) (= $x409 $x409))))
+(let ((@x804 (monotonicity (monotonicity @x766 (= $x410 $x410)) (monotonicity @x780 @x800 (= $x682 $x682)) (= $x687 $x687))))
+(let ((@x808 (monotonicity (monotonicity @x762 @x804 (= $x739 $x739)) (= $x740 $x740))))
+(let ((@x814 (monotonicity (monotonicity (monotonicity @x808 (= $x741 $x741)) (= $x742 $x742)) (= $x743 $x743))))
+(let ((@x746 (mp (not-or-elim @x726 (not $x711)) (rewrite* (= (not $x711) $x743)) $x743)))
+(let ((@x1242 (mp~ (mp (mp (mp (mp @x746 @x814 $x743) @x830 $x828) @x874 $x828) @x1073 $x1071) (nnf-neg (sk (~ $x878 $x1085)) @x1238 (~ $x1071 $x1239)) $x1239)))
+(let ((@x2191 (mp (mp (mp @x1242 @x1374 $x1372) @x1669 $x1667) (monotonicity @x2187 (= $x1667 (or $x1396 $x2185))) (or $x1396 $x2185))))
+(let ((@x2302 (unit-resolution (def-axiom (or $x2182 $x2176)) (unit-resolution @x2191 (lemma @x1930 $x1391) $x2185) $x2176)))
+(let ((@x2309 (unit-resolution (def-axiom (or $x2179 $x1095 $x2173)) (mp @x737 (symm (commutativity (= $x50 $x31)) (= $x31 $x50)) $x50) (or $x2179 $x2173))))
+(let ((@x2310 (unit-resolution @x2309 @x2302 $x2173)))
+(let ((@x2410 (monotonicity (unit-resolution (def-axiom (or $x2146 $x144)) @x2389 $x144) (= ?x135 ?x62))))
+(let ((@x2413 (trans @x2410 (unit-resolution (def-axiom (or $x2170 $x63)) @x2310 $x63) (= ?x135 v_b_max_G_1$))))
+(let ((@x2414 (trans @x2413 (symm (unit-resolution (def-axiom (or $x2146 $x145)) @x2389 $x145) $x2022) $x136)))
+(let ((@x2416 (unit-resolution (def-axiom (or $x2137 $x1560 $x2131)) (unit-resolution (def-axiom (or $x2128 $x1193)) @x2414 $x2128) (unit-resolution (def-axiom (or $x2146 $x2134)) @x2389 $x2134) $x1560)))
+(let ((@x2421 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1 -1) (or $x1693 $x985 $x1312 (not $x2024))) (unit-resolution (def-axiom (or $x1555 $x1678)) @x2416 $x1678) @x2406 (unit-resolution (def-axiom (or $x2146 $x980)) @x2389 $x980) $x1693)))
+(let (($x1798 (= v_b_p_G_0$ ?v0!5)))
+(let (($x1800 (>= (+ v_b_p_G_0$ (* (- 1) ?v0!5)) 0)))
+(let (($x1764 (>= (+ v_b_p_G_0$ (* (- 1) v_b_p_G_1$)) (- 1))))
+(let ((@x2426 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x1605 $x1764)) (unit-resolution (def-axiom (or $x2146 $x991)) @x2389 $x991) $x1764)))
+(let ((@x2430 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1) (or $x1800 $x1290 (not $x1764))) (unit-resolution (def-axiom (or $x1555 $x1295)) @x2416 $x1295) @x2426 $x1800)))
+(let (($x1751 (<= (+ v_b_p_G_0$ (* (- 1) ?v0!5)) 0)))
+(let (($x1728 (>= (+ v_b_max_G_1$ (* (- 1) ?x1179)) 0)))
+(let (($x2195 (not $x1728)))
+(let ((@x2433 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1) (or $x2195 $x1312 (not $x2024))) @x2406 (unit-resolution (def-axiom (or $x1555 $x1678)) @x2416 $x1678) $x2195)))
+(let ((@x2333 (unit-resolution (def-axiom (or $x2170 $x2095)) @x2310 $x2095)))
+(let (($x1716 (or $x2100 $x1540 $x1751 $x1728)))
+(let (($x1775 (<= (+ ?x1179 (* (- 1) v_b_max_G_1$)) 0)))
+(let (($x1789 (>= (+ ?v0!5 (* (- 1) v_b_p_G_0$)) 0)))
+(let (($x1717 (or $x2100 (or $x1540 $x1789 $x1775))))
+(let (($x1739 (= (+ ?x1179 (* (- 1) v_b_max_G_1$)) (+ (* (- 1) v_b_max_G_1$) ?x1179))))
+(let ((@x1726 (monotonicity (rewrite $x1739) (= $x1775 (<= (+ (* (- 1) v_b_max_G_1$) ?x1179) 0)))))
+(let ((@x1732 (trans @x1726 (rewrite (= (<= (+ (* (- 1) v_b_max_G_1$) ?x1179) 0) $x1728)) (= $x1775 $x1728))))
+(let (($x1743 (= (+ ?v0!5 (* (- 1) v_b_p_G_0$)) (+ (* (- 1) v_b_p_G_0$) ?v0!5))))
+(let ((@x1749 (monotonicity (rewrite $x1743) (= $x1789 (>= (+ (* (- 1) v_b_p_G_0$) ?v0!5) 0)))))
+(let ((@x1755 (trans @x1749 (rewrite (= (>= (+ (* (- 1) v_b_p_G_0$) ?v0!5) 0) $x1751)) (= $x1789 $x1751))))
+(let ((@x1715 (monotonicity @x1755 @x1732 (= (or $x1540 $x1789 $x1775) (or $x1540 $x1751 $x1728)))))
+(let ((@x1690 (trans (monotonicity @x1715 (= $x1717 (or $x2100 (or $x1540 $x1751 $x1728)))) (rewrite (= (or $x2100 (or $x1540 $x1751 $x1728)) $x1716)) (= $x1717 $x1716))))
+(let ((@x2435 (unit-resolution (mp ((_ quant-inst ?v0!5) $x1717) @x1690 $x1716) @x2333 (unit-resolution (def-axiom (or $x1555 $x1173)) @x2416 $x1173) @x2433 $x1751)))
+(let ((@x2436 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x1798 (not $x1751) (not $x1800))) @x2435 @x2430 $x1798)))
+(let ((@x1807 (monotonicity (symm (hypothesis $x1798) (= ?v0!5 v_b_p_G_0$)) (= ?x1179 ?x101))))
+(let ((@x1796 (lemma (unit-resolution (hypothesis $x1803) (symm @x1807 $x1799) false) (or (not $x1798) $x1799))))
+(let ((@x2437 (unit-resolution @x1796 @x2436 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x1803 $x1703)) @x2421 $x1803) false)))
+(let (($x2228 (= v_b_max_G_1$ v_b_max_G_4$)))
+(let ((@x2349 (symm (unit-resolution (def-axiom (or $x2114 $x73)) (hypothesis $x2117) $x73) $x2228)))
+(let ((@x2352 ((_ th-lemma arith triangle-eq) (or (not $x2228) (<= (+ v_b_max_G_1$ (* (- 1) v_b_max_G_4$)) 0)))))
+(let ((@x2353 (unit-resolution @x2352 @x2349 (<= (+ v_b_max_G_1$ (* (- 1) v_b_max_G_4$)) 0))))
+(let (($x2265 (>= (+ v_b_max_G_1$ (* (- 1) (v_b_array$ ?v0!4))) 0)))
+(let (($x1143 (not $x1142)))
+(let (($x2077 (not $x2103)))
+(let (($x2282 (= ?x62 v_b_max_G_4$)))
+(let (($x2283 (or $x1528 (<= (+ v_b_length$ (* (- 1) v_b_k_G_0$)) 0) $x2282)))
+(let ((@x2313 (trans (unit-resolution (def-axiom (or $x2170 $x63)) @x2310 $x63) (symm (hypothesis $x73) $x2228) $x2282)))
+(let ((@x2316 (unit-resolution ((_ quant-inst v_b_k_G_0$) (or $x2077 (not $x2283))) (hypothesis $x2103) (unit-resolution (def-axiom (or $x2283 (not $x2282))) @x2313 $x2283) false)))
+(let ((@x2355 (unit-resolution (lemma @x2316 (or $x2077 $x1531)) (unit-resolution (def-axiom (or $x2114 $x73)) (hypothesis $x2117) $x73) $x2077)))
+(let ((@x2356 (unit-resolution (def-axiom (or $x2111 $x2103 $x1517)) @x2355 (unit-resolution (def-axiom (or $x2114 $x2108)) (hypothesis $x2117) $x2108) $x1517)))
+(let ((@x2343 ((_ th-lemma arith farkas -1 -1 1) (hypothesis (<= (+ v_b_p_G_0$ (* (- 1) ?v0!4)) 0)) (hypothesis $x919) (hypothesis $x1143) false)))
+(let ((@x2346 (lemma @x2343 (or (not (<= (+ v_b_p_G_0$ (* (- 1) ?v0!4)) 0)) $x971 $x1142))))
+(let ((@x2359 (unit-resolution @x2346 (unit-resolution (def-axiom (or $x2114 $x919)) (hypothesis $x2117) $x919) (unit-resolution (def-axiom (or $x1516 $x1143)) @x2356 $x1143) (not (<= (+ v_b_p_G_0$ (* (- 1) ?v0!4)) 0)))))
+(let (($x2272 (<= (+ v_b_p_G_0$ (* (- 1) ?v0!4)) 0)))
+(let (($x2296 (or $x2100 $x1489 $x2272 $x2265)))
+(let (($x2249 (<= (+ (v_b_array$ ?v0!4) (* (- 1) v_b_max_G_1$)) 0)))
+(let (($x2241 (>= (+ ?v0!4 (* (- 1) v_b_p_G_0$)) 0)))
+(let (($x2300 (or $x2100 (or $x1489 $x2241 $x2249))))
+(let (($x2266 (= (<= (+ (* (- 1) v_b_max_G_1$) (v_b_array$ ?v0!4)) 0) $x2265)))
+(let (($x2260 (= $x2249 (<= (+ (* (- 1) v_b_max_G_1$) (v_b_array$ ?v0!4)) 0))))
+(let (($x2278 (= (+ (v_b_array$ ?v0!4) (* (- 1) v_b_max_G_1$)) (+ (* (- 1) v_b_max_G_1$) (v_b_array$ ?v0!4)))))
+(let ((@x2292 (trans (monotonicity (rewrite $x2278) $x2260) (rewrite $x2266) (= $x2249 $x2265))))
+(let (($x2253 (= (+ ?v0!4 (* (- 1) v_b_p_G_0$)) (+ (* (- 1) v_b_p_G_0$) ?v0!4))))
+(let ((@x2258 (monotonicity (rewrite $x2253) (= $x2241 (>= (+ (* (- 1) v_b_p_G_0$) ?v0!4) 0)))))
+(let ((@x2276 (trans @x2258 (rewrite (= (>= (+ (* (- 1) v_b_p_G_0$) ?v0!4) 0) $x2272)) (= $x2241 $x2272))))
+(let ((@x2295 (monotonicity @x2276 @x2292 (= (or $x1489 $x2241 $x2249) (or $x1489 $x2272 $x2265)))))
+(let ((@x2319 (trans (monotonicity @x2295 (= $x2300 (or $x2100 (or $x1489 $x2272 $x2265)))) (rewrite (= (or $x2100 (or $x1489 $x2272 $x2265)) $x2296)) (= $x2300 $x2296))))
+(let ((@x2362 (unit-resolution (mp ((_ quant-inst ?v0!4) $x2300) @x2319 $x2296) @x2333 (unit-resolution (def-axiom (or $x1516 $x1139)) @x2356 $x1139) (or $x2272 $x2265))))
+(let ((@x2365 ((_ th-lemma arith farkas 1 -1 1) (unit-resolution (def-axiom (or $x1516 (not $x1253))) @x2356 (not $x1253)) (unit-resolution @x2362 @x2359 $x2265) @x2353 false)))
+(let ((@x2373 (unit-resolution (def-axiom (or $x2167 $x2117 $x2161)) (lemma @x2365 $x2114) (unit-resolution (def-axiom (or $x2170 $x2164)) @x2310 $x2164) $x2161)))
+(let ((@x2243 (unit-resolution (def-axiom (or $x2155 $x2143 $x2149)) (unit-resolution (def-axiom (or $x2158 $x2152)) @x2373 $x2152) $x2152)))
+(let ((@x2244 (unit-resolution @x2243 (lemma @x2437 $x2146) $x2143)))
+(let ((@x1791 (trans (monotonicity (hypothesis $x107) (= ?x135 ?x101)) (symm (hypothesis $x104) (= ?x101 v_b_max_G_2$)) (= ?x135 v_b_max_G_2$))))
+(let ((@x1769 (trans @x1791 (symm (hypothesis $x109) (= v_b_max_G_2$ v_b_max_G_3$)) $x136)))
+(let ((@x1771 (lemma (unit-resolution (hypothesis $x1193) @x1769 false) (or $x136 $x1603 $x1601 $x1602))))
+(let ((@x2380 (unit-resolution @x1771 (unit-resolution (def-axiom (or $x2140 $x109)) @x2244 $x109) (unit-resolution (def-axiom (or $x2140 $x104)) @x2244 $x104) (unit-resolution (def-axiom (or $x2140 $x107)) @x2244 $x107) $x136)))
+(let ((@x2368 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x1605 $x1764)) (unit-resolution (def-axiom (or $x2140 $x991)) @x2244 $x991) $x1764)))
+(let ((@x1699 (unit-resolution (def-axiom (or $x2137 $x1560 $x2131)) (unit-resolution (def-axiom (or $x2128 $x1193)) (hypothesis $x136) $x2128) (hypothesis $x2134) $x1560)))
+(let (($x2205 (not $x1800)))
+(let (($x1838 (<= (+ ?x101 (* (- 1) v_b_max_G_3$)) 0)))
+(let ((@x1685 (trans (symm (hypothesis $x104) (= ?x101 v_b_max_G_2$)) (symm (hypothesis $x109) (= v_b_max_G_2$ v_b_max_G_3$)) (= ?x101 v_b_max_G_3$))))
+(let ((@x1675 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x101 v_b_max_G_3$)) $x1838)) @x1685 $x1838)))
+(let ((@x1696 (lemma ((_ th-lemma arith farkas -1 -1 1) (hypothesis $x1678) (hypothesis $x1838) (hypothesis $x1703) false) (or $x1693 $x1312 (not $x1838)))))
+(let ((@x1677 (unit-resolution @x1696 (unit-resolution (def-axiom (or $x1555 $x1678)) @x1699 $x1678) @x1675 $x1693)))
+(let ((@x2193 (unit-resolution @x1796 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x1803 $x1703)) @x1677 $x1803) (not $x1798))))
+(let ((@x2198 (unit-resolution ((_ th-lemma arith assign-bounds 1 1 1) (or $x2195 $x1312 (not $x1838) $x980)) (unit-resolution (def-axiom (or $x1555 $x1678)) @x1699 $x1678) @x1675 (hypothesis $x985) $x2195)))
+(let ((@x2202 (unit-resolution (mp ((_ quant-inst ?v0!5) $x1717) @x1690 $x1716) (hypothesis $x2095) (unit-resolution (def-axiom (or $x1555 $x1173)) @x1699 $x1173) (or $x1751 $x1728))))
+(let ((@x2209 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x1798 (not $x1751) $x2205)) (unit-resolution @x2202 @x2198 $x1751) (or $x1798 $x2205))))
+(let ((@x2211 ((_ th-lemma arith farkas -1 1 1) (unit-resolution @x2209 @x2193 $x2205) (hypothesis $x1764) (unit-resolution (def-axiom (or $x1555 $x1295)) @x1699 $x1295) false)))
+(let ((@x2370 (unit-resolution (lemma @x2211 (or $x1193 (not $x1764) $x2100 $x980 $x2137 $x1601 $x1603)) @x2333 (or $x1193 (not $x1764) $x980 $x2137 $x1601 $x1603))))
+(unit-resolution @x2370 @x2368 @x2380 (unit-resolution (def-axiom (or $x2140 $x985)) @x2244 $x985) (unit-resolution (def-axiom (or $x2140 $x2134)) @x2244 $x2134) (unit-resolution (def-axiom (or $x2140 $x104)) @x2244 $x104) (unit-resolution (def-axiom (or $x2140 $x109)) @x2244 $x109) false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+