0.10/0.11 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.10/0.11 % Command : do_cvc5 %s %d 0.10/0.32 % Computer : n009.cluster.edu 0.10/0.32 % Model : x86_64 x86_64 0.10/0.32 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.10/0.32 % Memory : 8042.1875MB 0.10/0.32 % OS : Linux 3.10.0-693.el7.x86_64 0.10/0.32 % CPULimit : 960 0.10/0.32 % WCLimit : 120 0.10/0.32 % DateTime : Tue Aug 9 04:17:20 EDT 2022 0.10/0.32 % CPUTime : 0.16/0.43 %----Proving TF0_ARI 51.96/52.36 ------- cvc5-tfa casc j11 : /export/starexec/sandbox2/benchmark/theBenchmark.p at /export/starexec/sandbox2/benchmark/theBenchmark.p... 51.96/52.36 --- Run --finite-model-find --decision=internal at 15... 51.96/52.36 --- Run --decision=internal --simplification=none --no-inst-no-entail --no-cbqi --full-saturate-quant at 15... 51.96/52.36 --- Run --no-e-matching --full-saturate-quant at 15... 51.96/52.36 --- Run --cegqi-all --purify-triggers --full-saturate-quant at 15... 51.96/52.36 --- Run --macros-quant --macros-quant-mode=all --nl-ext-tplanes --full-saturate-quant... 51.96/52.36 % SZS status Theorem for theBenchmark 51.96/52.36 % SZS output start Proof for theBenchmark 51.96/52.36 (let ((_let_1 (forall ((A Int) (Res Int)) (= (and (<= (* 2 Res) A) (> (* 2 (+ Res 1)) A)) (= (div2 A) Res))))) (let ((_let_2 (not (forall ((L Int) (U Int) (A |'Array[Int,Int]'|) (E Int)) (let ((_let_1 (> L U))) (let ((_let_2 (length A))) (=> (and (<= 0 L) (sorted A 0 (- _let_2 1)) (< U _let_2)) (= (and (=> (not _let_1) (exists ((M_2 Int)) (let ((_let_1 (|'select:(Array[Int,Int]*Int)>Int'| A M_2))) (let ((_let_2 (< _let_1 E))) (let ((_let_3 (= _let_1 E))) (and (=> _let_3 true) (=> (not _let_3) (and (=> (not _let_2) (exists ((U_6 Int)) (and (exists ((I Int)) (and (<= L I) (= (|'select:(Array[Int,Int]*Int)>Int'| A I) E) (<= I U_6))) (= U_6 (- M_2 1))))) (=> _let_2 (exists ((L_4 Int)) (and (exists ((I Int)) (and (<= I U) (= (|'select:(Array[Int,Int]*Int)>Int'| A I) E) (<= L_4 I))) (= L_4 (+ M_2 1))))))) (= M_2 (div2 (+ L U))))))))) (=> _let_1 false)) (exists ((I Int)) (and (<= L I) (= (|'select:(Array[Int,Int]*Int)>Int'| A I) E) (<= I U))))))))))) (let ((_let_3 (+ skv_2 skv_3))) (let ((_let_4 (div2 _let_3))) (let ((_let_5 (+ skv_2 skv_3 (* (- 2) _let_4)))) (let ((_let_6 (>= _let_5 0))) (let ((_let_7 (* (- 1) skv_25))) (let ((_let_8 (+ skv_2 _let_7))) (let ((_let_9 (>= _let_8 1))) (let ((_let_10 (* (- 1) _let_4))) (let ((_let_11 (+ skv_25 _let_10))) (let ((_let_12 (>= _let_11 0))) (let ((_let_13 (+ skv_3 _let_7))) (let ((_let_14 (>= _let_13 0))) (let ((_let_15 (>= _let_5 2))) (let ((_let_16 (not _let_15))) (let ((_let_17 (and _let_6 _let_16))) (let ((_let_18 (forall ((A Int) (Res Int)) (let ((_let_1 (+ A (* (- 2) Res)))) (= (and (>= _let_1 0) (not (>= _let_1 2))) (= Res (div2 A))))))) (let ((_let_19 (EQ_RESOLVE (ASSUME :args (_let_1)) (MACRO_SR_EQ_INTRO :args (_let_1 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_20 (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_19 :args (_let_3 _let_4 QUANTIFIERS_INST_ENUM)) :args (_let_18)))) _let_19 :args (_let_17 false _let_18)))) (let ((_let_21 (not _let_17))) (let ((_let_22 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS :args (_let_17 0)) :args ((or _let_6 _let_21))) _let_20 :args (_let_6 false _let_17)))) (let ((_let_23 (= skv_5 (|'select:(Array[Int,Int]*Int)>Int'| skv_4 skv_25)))) (let ((_let_24 (not _let_23))) (let ((_let_25 (or _let_9 _let_24 _let_12))) (let ((_let_26 (not _let_9))) (let ((_let_27 (forall ((BOUND_VARIABLE_832 Int)) (or (not (>= (+ BOUND_VARIABLE_832 (* (- 1) skv_2)) 0)) (not (= skv_5 (|'select:(Array[Int,Int]*Int)>Int'| skv_4 BOUND_VARIABLE_832))) (>= (+ BOUND_VARIABLE_832 (* (- 1) (div2 (+ skv_2 skv_3)))) 0))))) (let ((_let_28 (not _let_25))) (let ((_let_29 (not _let_27))) (let ((_let_30 (|'select:(Array[Int,Int]*Int)>Int'| skv_4 _let_4))) (let ((_let_31 (+ skv_5 (* (- 1) _let_30)))) (let ((_let_32 (>= _let_31 1))) (let ((_let_33 (or _let_32 _let_29))) (let ((_let_34 (forall ((BOUND_VARIABLE_847 Int)) (or (>= (+ BOUND_VARIABLE_847 (* (- 1) skv_3)) 1) (not (= skv_5 (|'select:(Array[Int,Int]*Int)>Int'| skv_4 BOUND_VARIABLE_847))) (not (>= (+ BOUND_VARIABLE_847 (* (- 1) (div2 (+ skv_2 skv_3)))) 1)))))) (let ((_let_35 (not _let_34))) (let ((_let_36 (not _let_32))) (let ((_let_37 (or _let_36 _let_35))) (let ((_let_38 (and _let_33 _let_37))) (let ((_let_39 (= skv_5 _let_30))) (let ((_let_40 (* (- 1) skv_3))) (let ((_let_41 (+ skv_2 _let_40))) (let ((_let_42 (>= _let_41 1))) (let ((_let_43 (or _let_42 _let_39 _let_38))) (let ((_let_44 (not _let_42))) (let ((_let_45 (and _let_43 _let_44))) (let ((_let_46 (forall ((I Int)) (or (not (>= (+ I (* (- 1) skv_2)) 0)) (not (= skv_5 (|'select:(Array[Int,Int]*Int)>Int'| skv_4 I))) (>= (+ I (* (- 1) skv_3)) 1))))) (let ((_let_47 (not _let_46))) (let ((_let_48 (= _let_47 _let_45))) (let ((_let_49 (* (- 1) (length skv_4)))) (let ((_let_50 (+ skv_3 _let_49))) (let ((_let_51 (>= _let_50 0))) (let ((_let_52 (forall ((I Int) (J Int)) (or (>= (+ J (* (- 1) (length skv_4))) 0) (>= (+ I (* (- 1) J)) 0) (not (>= I 0)) (not (>= (+ (|'select:(Array[Int,Int]*Int)>Int'| skv_4 I) (* (- 1) (|'select:(Array[Int,Int]*Int)>Int'| skv_4 J))) 1)))))) (let ((_let_53 (not _let_52))) (let ((_let_54 (>= skv_2 0))) (let ((_let_55 (not _let_54))) (let ((_let_56 (or _let_55 _let_53 _let_51 _let_48))) (let ((_let_57 (forall ((L Int) (U Int) (A |'Array[Int,Int]'|) (E Int)) (let ((_let_1 (>= (+ L (* (- 1) U)) 1))) (let ((_let_2 (|'select:(Array[Int,Int]*Int)>Int'| A (div2 (+ L U))))) (let ((_let_3 (>= (+ E (* (- 1) _let_2)) 1))) (or (not (>= L 0)) (not (forall ((I Int) (J Int)) (or (>= (+ J (* (- 1) (length A))) 0) (>= (+ I (* (- 1) J)) 0) (not (>= I 0)) (not (>= (+ (|'select:(Array[Int,Int]*Int)>Int'| A I) (* (- 1) (|'select:(Array[Int,Int]*Int)>Int'| A J))) 1))))) (>= (+ U (* (- 1) (length A))) 0) (= (not (forall ((I Int)) (let ((_let_1 (* (- 1) I))) (or (>= (+ L _let_1) 1) (not (= E (|'select:(Array[Int,Int]*Int)>Int'| A I))) (not (>= (+ U _let_1) 0)))))) (and (or _let_1 (= E _let_2) (and (or _let_3 (not (forall ((BOUND_VARIABLE_832 Int)) (or (>= (+ L (* (- 1) BOUND_VARIABLE_832)) 1) (not (= E (|'select:(Array[Int,Int]*Int)>Int'| A BOUND_VARIABLE_832))) (>= (+ BOUND_VARIABLE_832 (* (- 1) (div2 (+ L U)))) 0))))) (or (not _let_3) (not (forall ((BOUND_VARIABLE_847 Int)) (or (not (>= (+ U (* (- 1) BOUND_VARIABLE_847)) 0)) (not (= E (|'select:(Array[Int,Int]*Int)>Int'| A BOUND_VARIABLE_847))) (not (>= (+ BOUND_VARIABLE_847 (* (- 1) (div2 (+ L U)))) 1)))))))) (not _let_1)))))))))) (let ((_let_58 (not _let_56))) (let ((_let_59 (EQ_RESOLVE (ASSUME :args (_let_2)) (TRANS (MACRO_SR_EQ_INTRO :args (_let_2 SB_DEFAULT SBA_FIXPOINT)) (MACRO_SR_EQ_INTRO (PREPROCESS_LEMMA :args ((= sorted (lambda ((BOUND_VARIABLE_931 |'Array[Int,Int]'|) (BOUND_VARIABLE_932 Int) (BOUND_VARIABLE_933 Int)) (forall ((I Int) (J Int)) (let ((_let_1 (* (- 1) J))) (or (not (>= (+ BOUND_VARIABLE_933 _let_1) 0)) (>= (+ I _let_1) 0) (>= (+ BOUND_VARIABLE_932 (* (- 1) I)) 1) (not (>= (+ (|'select:(Array[Int,Int]*Int)>Int'| BOUND_VARIABLE_931 I) (* (- 1) (|'select:(Array[Int,Int]*Int)>Int'| BOUND_VARIABLE_931 J))) 1))))))))) :args ((not (forall ((L Int) (U Int) (A |'Array[Int,Int]'|) (E Int)) (let ((_let_1 (>= (+ L (* (- 1) U)) 1))) (let ((_let_2 (|'select:(Array[Int,Int]*Int)>Int'| A (div2 (+ L U))))) (let ((_let_3 (>= (+ E (* (- 1) _let_2)) 1))) (let ((_let_4 (length A))) (or (not (>= L 0)) (not (sorted A 0 (+ (- 1) _let_4))) (>= (+ U (* (- 1) _let_4)) 0) (= (not (forall ((I Int)) (let ((_let_1 (* (- 1) I))) (or (>= (+ L _let_1) 1) (not (= E (|'select:(Array[Int,Int]*Int)>Int'| A I))) (not (>= (+ U _let_1) 0)))))) (and (or _let_1 (= E _let_2) (and (or _let_3 (not (forall ((BOUND_VARIABLE_832 Int)) (or (>= (+ L (* (- 1) BOUND_VARIABLE_832)) 1) (not (= E (|'select:(Array[Int,Int]*Int)>Int'| A BOUND_VARIABLE_832))) (>= (+ BOUND_VARIABLE_832 (* (- 1) (div2 (+ L U)))) 0))))) (or (not _let_3) (not (forall ((BOUND_VARIABLE_847 Int)) (or (not (>= (+ U (* (- 1) BOUND_VARIABLE_847)) 0)) (not (= E (|'select:(Array[Int,Int]*Int)>Int'| A BOUND_VARIABLE_847))) (not (>= (+ BOUND_VARIABLE_847 (* (- 1) (div2 (+ L U)))) 1)))))))) (not _let_1)))))))))) SB_DEFAULT SBA_FIXPOINT)))))) (let ((_let_60 (OR))) (let ((_let_61 (not _let_57))) (let ((_let_62 (EQ_RESOLVE (IMPLIES_ELIM (EQ_RESOLVE (SCOPE (SKOLEMIZE _let_59) :args (_let_61)) (REWRITE :args ((=> _let_61 (not (or _let_55 _let_53 _let_51 (= (not (forall ((I Int)) (let ((_let_1 (* (- 1) I))) (or (>= (+ skv_2 _let_1) 1) (not (= skv_5 (|'select:(Array[Int,Int]*Int)>Int'| skv_4 I))) (not (>= (+ skv_3 _let_1) 0)))))) (and (or _let_42 _let_39 (and (or _let_32 (not (forall ((BOUND_VARIABLE_832 Int)) (or (>= (+ skv_2 (* (- 1) BOUND_VARIABLE_832)) 1) (not (= skv_5 (|'select:(Array[Int,Int]*Int)>Int'| skv_4 BOUND_VARIABLE_832))) (>= (+ BOUND_VARIABLE_832 (* (- 1) (div2 (+ skv_2 skv_3)))) 0))))) (or _let_36 (not (forall ((BOUND_VARIABLE_847 Int)) (or (not (>= (+ skv_3 (* (- 1) BOUND_VARIABLE_847)) 0)) (not (= skv_5 (|'select:(Array[Int,Int]*Int)>Int'| skv_4 BOUND_VARIABLE_847))) (not (>= (+ BOUND_VARIABLE_847 (* (- 1) (div2 (+ skv_2 skv_3)))) 1)))))))) _let_44))))))))) (CONG (MACRO_SR_PRED_INTRO :args ((= (not _let_61) _let_57))) (REFL :args (_let_58)) :args _let_60)))) (let ((_let_63 (MACRO_RESOLUTION_TRUST _let_62 _let_59 :args (_let_58 true _let_57)))) (let ((_let_64 (MACRO_RESOLUTION_TRUST (CNF_OR_NEG :args (_let_56 3)) _let_63 :args ((not _let_48) true _let_56)))) (let ((_let_65 (* (- 1) skv_6))) (let ((_let_66 (+ skv_3 _let_65))) (let ((_let_67 (>= _let_66 0))) (let ((_let_68 (not _let_67))) (let ((_let_69 (|'select:(Array[Int,Int]*Int)>Int'| skv_4 skv_6))) (let ((_let_70 (= skv_5 _let_69))) (let ((_let_71 (not _let_70))) (let ((_let_72 (+ skv_2 _let_65))) (let ((_let_73 (>= _let_72 1))) (let ((_let_74 (or _let_73 _let_71 _let_68))) (let ((_let_75 (not _let_45))) (let ((_let_76 (MACRO_SR_PRED_INTRO :args ((= (not _let_47) _let_46))))) (let ((_let_77 (_let_48))) (let ((_let_78 (* (- 1) skv_2))) (let ((_let_79 (_let_47))) (let ((_let_80 (not _let_73))) (let ((_let_81 (REFL :args (_let_74)))) (let ((_let_82 (>= skv_6 0))) (let ((_let_83 (>= (+ skv_6 _let_49) 0))) (let ((_let_84 (+ skv_3 _let_10))) (let ((_let_85 (>= _let_84 0))) (let ((_let_86 (+ skv_2 _let_10))) (let ((_let_87 (>= _let_86 1))) (let ((_let_88 (>= (+ _let_4 _let_49) 0))) (let ((_let_89 (>= _let_4 0))) (let ((_let_90 (* (- 1) _let_69))) (let ((_let_91 (+ _let_30 _let_90))) (let ((_let_92 (>= _let_91 0))) (let ((_let_93 (not _let_82))) (let ((_let_94 (+ skv_6 _let_10))) (let ((_let_95 (>= _let_94 0))) (let ((_let_96 (or _let_88 _let_95 _let_93 _let_92))) (let ((_let_97 (>= _let_94 1))) (let ((_let_98 (not _let_97))) (let ((_let_99 (or _let_68 _let_71 _let_98))) (let ((_let_100 (REFL :args (_let_56)))) (let ((_let_101 (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_56 0)) (CONG _let_100 (MACRO_SR_PRED_INTRO :args ((= (not _let_55) _let_54))) :args _let_60)) :args ((or _let_54 _let_56))))) (let ((_let_102 (false))) (let ((_let_103 (ASSUME :args (_let_54)))) (let ((_let_104 (< _let_72 1))) (let ((_let_105 (_let_104))) (let ((_let_106 (ASSUME :args (_let_80)))) (let ((_let_107 (MACRO_SR_PRED_TRANSFORM _let_106 :args _let_105))) (let ((_let_108 (CNF_OR_NEG :args (_let_56 2)))) (let ((_let_109 (_let_68))) (let ((_let_110 (REFL :args _let_109))) (let ((_let_111 (not _let_51))) (let ((_let_112 (MACRO_SR_PRED_INTRO :args ((= (not _let_111) _let_51))))) (let ((_let_113 (_let_67))) (let ((_let_114 ((- 1.0) 1.0 (- 1.0)))) (let ((_let_115 (ASSUME :args (_let_83)))) (let ((_let_116 (ASSUME :args (_let_111)))) (let ((_let_117 (MACRO_SR_PRED_TRANSFORM _let_116 :args ((< _let_50 0))))) (let ((_let_118 (ASSUME :args _let_113))) (let ((_let_119 (not _let_43))) (let ((_let_120 (_let_45))) (let ((_let_121 (not _let_6))) (let ((_let_122 (not _let_85))) (let ((_let_123 (_let_44))) (let ((_let_124 (INT_TIGHT_UB (MACRO_SR_PRED_TRANSFORM (ASSUME :args _let_123) :args ((< _let_41 1)))))) (let ((_let_125 (ASSUME :args (_let_6)))) (let ((_let_126 ((< _let_84 0)))) (let ((_let_127 (_let_122))) (let ((_let_128 (REORDERING (MACRO_SR_PRED_TRANSFORM (NOT_AND (SCOPE (MACRO_SR_PRED_TRANSFORM (MACRO_ARITH_SCALE_SUM_UB (MACRO_SR_PRED_TRANSFORM (ASSUME :args _let_127) :args _let_126) _let_125 _let_124 :args (1.0 (/ (- 1) 2) (/ 1 2))) :args _let_102) :args (_let_6 _let_44 _let_122))) :args ((or _let_121 _let_42 _let_85))) :args ((or _let_42 _let_85 _let_121))))) (let ((_let_129 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS :args (_let_17 1)) :args ((or _let_16 _let_21))) _let_20 :args (_let_16 false _let_17)))) (let ((_let_130 (not _let_87))) (let ((_let_131 (_let_87))) (let ((_let_132 (REORDERING (MACRO_SR_PRED_TRANSFORM (NOT_AND (SCOPE (MACRO_SR_PRED_TRANSFORM (MACRO_ARITH_SCALE_SUM_UB (MACRO_SR_PRED_TRANSFORM (ASSUME :args _let_131) :args _let_131) (INT_TIGHT_UB (MACRO_SR_PRED_TRANSFORM (ASSUME :args (_let_16)) :args ((< _let_5 2)))) _let_124 :args ((- 1.0) (/ 1 2) (/ 1 2))) :args _let_102) :args (_let_16 _let_44 _let_87))) :args ((or _let_15 _let_42 _let_130))) :args ((or _let_42 _let_130 _let_15))))) (let ((_let_133 (_let_85))) (let ((_let_134 (ASSUME :args (_let_88)))) (let ((_let_135 (ASSUME :args _let_133))) (let ((_let_136 (not _let_89))) (let ((_let_137 (1.0 (- 1.0) 1.0))) (let ((_let_138 (< _let_86 1))) (let ((_let_139 (_let_138))) (let ((_let_140 (ASSUME :args (_let_130)))) (let ((_let_141 (MACRO_SR_PRED_TRANSFORM _let_140 :args _let_139))) (let ((_let_142 (or _let_73 _let_71 _let_95))) (let ((_let_143 (>= _let_91 1))) (let ((_let_144 (not _let_143))) (let ((_let_145 (or _let_83 _let_98 _let_136 _let_144))) (let ((_let_146 (>= _let_31 0))) (let ((_let_147 (MACRO_SR_PRED_INTRO :args ((= (not _let_36) _let_32))))) (let ((_let_148 (_let_37))) (let ((_let_149 (REFL :args _let_148))) (let ((_let_150 (CNF_AND_NEG :args (_let_38)))) (let ((_let_151 (MACRO_SR_PRED_INTRO :args ((= (not _let_29) _let_27))))) (let ((_let_152 (_let_33))) (let ((_let_153 (_let_27))) (let ((_let_154 (not _let_95))) (let ((_let_155 (and _let_70 _let_98 _let_95))) (let ((_let_156 (= skv_6 _let_4))) (let ((_let_157 (_let_156))) (let ((_let_158 (_let_70))) (let ((_let_159 (ASSUME :args _let_158))) (let ((_let_160 (SYMM _let_159))) (let ((_let_161 (ASSUME :args (_let_98)))) (let ((_let_162 (ASSUME :args (_let_95)))) (let ((_let_163 (REORDERING (EQ_RESOLVE (RESOLUTION (CNF_AND_NEG :args (_let_155)) (IMPLIES_ELIM (SCOPE (MODUS_PONENS (AND_INTRO (MODUS_PONENS (AND_INTRO _let_162 _let_161) (SCOPE (SYMM (SYMM (MACRO_SR_PRED_TRANSFORM (ARITH_TRICHOTOMY _let_162 (INT_TIGHT_UB (MACRO_SR_PRED_TRANSFORM _let_161 :args ((< _let_94 1)))) :args ((= _let_94 0))) :args _let_157))) :args (_let_95 _let_98))) _let_159) (SCOPE (TRANS (SYMM _let_160) (CONG (REFL :args (skv_4)) (SYMM (SYMM (ASSUME :args _let_157))) :args (APPLY_UF |'select:(Array[Int,Int]*Int)>Int'|))) :args (_let_156 _let_70))) :args (_let_70 _let_98 _let_95))) :args (true _let_155)) (CONG (REFL :args (_let_71)) (MACRO_SR_PRED_INTRO :args ((= (not _let_98) _let_97))) (REFL :args (_let_154)) (REFL :args (_let_39)) :args _let_60)) :args ((or _let_39 _let_71 _let_97 _let_154))))) (let ((_let_164 (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_56 1)) (CONG _let_100 (MACRO_SR_PRED_INTRO :args ((= (not _let_53) _let_52))) :args _let_60)) :args ((or _let_52 _let_56))) _let_63 :args (_let_52 true _let_56)))) (let ((_let_165 (_let_52))) (let ((_let_166 ((|'select:(Array[Int,Int]*Int)>Int'| skv_4 I) (|'select:(Array[Int,Int]*Int)>Int'| skv_4 J)))) (let ((_let_167 (ASSUME :args _let_165))) (let ((_let_168 (= _let_69 skv_5))) (let ((_let_169 ((or (not _let_168) _let_146 _let_143)))) (let ((_let_170 (not _let_146))) (let ((_let_171 ((< _let_31 0)))) (let ((_let_172 (_let_170))) (let ((_let_173 (MACRO_SR_PRED_TRANSFORM (ASSUME :args (_let_168)) :args ((= (+ skv_5 _let_90) 0))))) (let ((_let_174 (not _let_39))) (let ((_let_175 (ASSUME :args (_let_36)))) (let ((_let_176 (ASSUME :args (_let_174)))) (let ((_let_177 (ASSUME :args (_let_146)))) (let ((_let_178 (_let_92))) (let ((_let_179 (ASSUME :args (_let_32)))) (let ((_let_180 (ASSUME :args _let_178))) (let ((_let_181 (MACRO_SR_PRED_INTRO :args ((= (not _let_35) _let_34))))) (let ((_let_182 (_let_34))) (let ((_let_183 (1.0 (- 1.0) (- 1.0)))) (let ((_let_184 (ASSUME :args (_let_42)))) (let ((_let_185 (MACRO_RESOLUTION_TRUST (EQ_RESOLVE (NOT_AND (MACRO_SR_PRED_TRANSFORM (SCOPE (AND_INTRO _let_184 _let_118 _let_106) :args (_let_42 _let_80 _let_67)) (SCOPE (CONTRA _let_107 (MACRO_SR_PRED_TRANSFORM (MACRO_SR_PRED_TRANSFORM (SCOPE (MACRO_SR_PRED_TRANSFORM (MACRO_ARITH_SCALE_SUM_UB (ASSUME :args _let_105) _let_118 _let_184 :args _let_183) :args _let_102) :args _let_105) :args (_let_73)) :args ((not _let_104)))) :args (_let_42 _let_67 _let_80)) :args ((not (and _let_42 _let_80 _let_67)) SB_LITERAL))) (CONG (REFL :args _let_123) (MACRO_SR_PRED_INTRO :args ((= (not _let_80) _let_73))) _let_110 :args _let_60)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_99)) :args ((or _let_71 _let_68 _let_98 (not _let_99)))) (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE (ASSUME :args _let_182) :args (skv_6 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((|'select:(Array[Int,Int]*Int)>Int'| skv_4 BOUND_VARIABLE_847)))) :args _let_182))) _let_163 (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_37 1)) (CONG _let_149 _let_181 :args _let_60)) :args ((or _let_34 _let_37))) (REORDERING (CNF_OR_POS :args (_let_96)) :args ((or _let_88 _let_95 _let_93 _let_92 (not _let_96)))) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_167 :args (skv_6 _let_4 QUANTIFIERS_INST_E_MATCHING _let_166)) :args _let_165))) _let_164 :args (_let_96 false _let_52)) _let_150 (NOT_AND (MACRO_SR_PRED_TRANSFORM (SCOPE (AND_INTRO (MODUS_PONENS _let_159 (SCOPE _let_160 :args _let_158)) _let_179 _let_180) :args (_let_32 _let_70 _let_92)) (SCOPE (CONTRA _let_180 (MACRO_SR_PRED_TRANSFORM (MACRO_SR_PRED_TRANSFORM (SCOPE (MACRO_SR_PRED_TRANSFORM (MACRO_ARITH_SCALE_SUM_UB _let_180 _let_179 _let_173 :args ((- 1.0) (- 1.0) 1.0)) :args _let_102) :args _let_178) :args ((< _let_91 0))) :args ((not _let_92)))) :args (_let_168 _let_32 _let_92)) :args ((not (and _let_32 _let_70 _let_92)) SB_LITERAL))) (REORDERING (CNF_OR_NEG :args (_let_33 0)) :args ((or _let_36 _let_33))) (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (NOT_AND (MACRO_SR_PRED_TRANSFORM (SCOPE (AND_INTRO _let_176 _let_175 _let_177) :args (_let_36 _let_174 _let_146)) (SCOPE (CONTRA _let_177 (MACRO_SR_PRED_TRANSFORM (ARITH_TRICHOTOMY (MACRO_SR_PRED_TRANSFORM _let_176 :args ((not (= _let_31 0)))) (INT_TIGHT_UB (MACRO_SR_PRED_TRANSFORM _let_175 :args ((< _let_31 1)))) :args _let_171) :args _let_172)) :args (_let_174 _let_36 _let_146)) :args ((not (and _let_36 _let_174 _let_146)) SB_LITERAL))) (CONG _let_147 (MACRO_SR_PRED_INTRO :args ((= (not _let_174) _let_39))) (REFL :args _let_172) :args _let_60)) :args ((or _let_39 _let_32 _let_170))) (EQ_RESOLVE (MACRO_SR_PRED_TRANSFORM (NOT_AND (SCOPE (MACRO_SR_PRED_TRANSFORM (MACRO_ARITH_SCALE_SUM_UB (MACRO_SR_PRED_TRANSFORM (ASSUME :args (_let_144)) :args ((< _let_91 1))) _let_173 (INT_TIGHT_UB (MACRO_SR_PRED_TRANSFORM (ASSUME :args _let_172) :args _let_171)) :args _let_137) :args _let_102) :args (_let_168 _let_170 _let_144))) :args _let_169) (REWRITE :args _let_169)) (REORDERING (CNF_OR_POS :args (_let_145)) :args ((or _let_136 _let_83 _let_144 _let_98 (not _let_145)))) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_167 :args (_let_4 skv_6 QUANTIFIERS_INST_E_MATCHING _let_166)) :args _let_165))) _let_164 :args (_let_145 false _let_52)) _let_163 (REORDERING (CNF_OR_POS :args (_let_142)) :args ((or _let_71 _let_73 _let_95 (not _let_142)))) (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE (ASSUME :args _let_153) :args (skv_6 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((|'select:(Array[Int,Int]*Int)>Int'| skv_4 BOUND_VARIABLE_832)))) :args _let_153))) (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_33 1)) (CONG (REFL :args _let_152) _let_151 :args _let_60)) :args ((or _let_27 _let_33))) _let_150 (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_37 0)) (CONG _let_149 _let_147 :args _let_60)) :args ((or _let_32 _let_37))) :args ((or _let_39 _let_32 _let_38 _let_71 _let_73 _let_136 _let_83) false _let_146 true _let_143 false _let_145 false _let_97 false _let_95 false _let_142 false _let_27 true _let_33 false _let_37)) (MACRO_SR_PRED_TRANSFORM (NOT_AND (SCOPE (MACRO_SR_PRED_TRANSFORM (MACRO_ARITH_SCALE_SUM_UB _let_141 _let_103 (INT_TIGHT_UB (MACRO_SR_PRED_TRANSFORM (ASSUME :args (_let_136)) :args ((< _let_4 0)))) :args _let_137) :args _let_102) :args (_let_54 _let_136 _let_130))) :args ((or _let_55 _let_89 _let_87))) (MACRO_RESOLUTION_TRUST _let_101 _let_63 :args (_let_54 true _let_56)) (EQ_RESOLVE (NOT_AND (MACRO_SR_PRED_TRANSFORM (SCOPE (AND_INTRO _let_134 _let_116 _let_135) :args (_let_111 _let_88 _let_85)) (SCOPE (CONTRA _let_135 (MACRO_SR_PRED_TRANSFORM (MACRO_SR_PRED_TRANSFORM (SCOPE (MACRO_SR_PRED_TRANSFORM (MACRO_ARITH_SCALE_SUM_UB _let_135 _let_117 _let_134 :args _let_114) :args _let_102) :args _let_133) :args _let_126) :args _let_127)) :args (_let_88 _let_111 _let_85)) :args ((not (and _let_111 _let_88 _let_85)) SB_LITERAL))) (CONG _let_112 (REFL :args ((not _let_88))) (REFL :args _let_127) :args _let_60)) (MACRO_RESOLUTION_TRUST _let_108 _let_63 :args (_let_111 true _let_56)) (CNF_OR_NEG :args (_let_43 2)) (CNF_OR_NEG :args (_let_43 1)) _let_132 _let_129 _let_128 _let_22 (REORDERING (EQ_RESOLVE (CNF_AND_NEG :args _let_120) (CONG (REFL :args _let_120) (REFL :args (_let_119)) (MACRO_SR_PRED_INTRO :args ((= (not _let_44) _let_42))) :args _let_60)) :args ((or _let_42 _let_45 _let_119))) (EQ_RESOLVE (NOT_AND (MACRO_SR_PRED_TRANSFORM (SCOPE (AND_INTRO _let_115 _let_116 _let_118) :args (_let_111 _let_67 _let_83)) (SCOPE (CONTRA _let_118 (MACRO_SR_PRED_TRANSFORM (MACRO_SR_PRED_TRANSFORM (SCOPE (MACRO_SR_PRED_TRANSFORM (MACRO_ARITH_SCALE_SUM_UB _let_118 _let_117 _let_115 :args _let_114) :args _let_102) :args _let_113) :args ((< _let_66 0))) :args _let_109)) :args (_let_83 _let_111 _let_67)) :args ((not (and _let_111 _let_67 _let_83)) SB_LITERAL))) (CONG _let_112 _let_110 (REFL :args ((not _let_83))) :args _let_60)) _let_108 (REORDERING (MACRO_SR_PRED_TRANSFORM (NOT_AND (SCOPE (MACRO_SR_PRED_TRANSFORM (MACRO_ARITH_SCALE_SUM_UB (MACRO_SR_PRED_TRANSFORM (ASSUME :args (_let_93)) :args ((< skv_6 0))) (INT_TIGHT_UB _let_107) _let_103 :args (1.0 1.0 (- 1.0))) :args _let_102) :args (_let_80 _let_54 _let_93))) :args ((or _let_73 _let_55 _let_82))) :args ((or _let_55 _let_73 _let_82))) _let_101 _let_62 _let_59 :args ((or _let_42 _let_45 _let_71 _let_73 _let_68) false _let_99 false _let_97 false _let_34 false _let_95 false _let_96 true _let_37 true _let_92 false _let_33 false _let_32 false _let_89 false _let_54 true _let_88 true _let_51 true _let_38 true _let_39 true _let_87 true _let_15 false _let_85 false _let_6 true _let_43 true _let_83 true _let_51 false _let_82 false _let_54 true _let_56 true _let_57)) (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_74 2)) (CONG _let_81 (MACRO_SR_PRED_INTRO :args ((= (not _let_68) _let_67))) :args _let_60)) :args ((or _let_67 _let_74))) (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_74 1)) (CONG _let_81 (MACRO_SR_PRED_INTRO :args ((= (not _let_71) _let_70))) :args _let_60)) :args ((or _let_70 _let_74))) (REORDERING (CNF_OR_NEG :args (_let_74 0)) :args ((or _let_80 _let_74))) (EQ_RESOLVE (IMPLIES_ELIM (EQ_RESOLVE (SCOPE (SKOLEMIZE (ASSUME :args _let_79)) :args _let_79) (REWRITE :args ((=> _let_47 (not (or (not (>= (+ skv_6 _let_78) 0)) _let_71 (>= (+ skv_6 _let_40) 1)))))))) (CONG _let_76 (REFL :args ((not _let_74))) :args _let_60)) (REORDERING (EQ_RESOLVE (CNF_EQUIV_NEG2 :args _let_77) (CONG (REFL :args _let_77) _let_76 (REFL :args (_let_75)) :args _let_60)) :args ((or _let_46 _let_48 _let_75))) _let_64 :args (_let_46 false _let_42 false _let_67 false _let_70 true _let_73 true _let_74 true _let_45 true _let_48)))) (let ((_let_186 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_EQUIV_NEG1 :args _let_77) :args ((or _let_47 _let_45 _let_48))) _let_185 _let_64 :args (_let_45 false _let_46 true _let_48)))) (let ((_let_187 (or _let_87 _let_174 _let_122))) (let ((_let_188 (_let_46))) (let ((_let_189 ((|'select:(Array[Int,Int]*Int)>Int'| skv_4 I)))) (let ((_let_190 (ASSUME :args _let_188))) (let ((_let_191 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS :args (_let_45 1)) :args ((or _let_44 _let_75))) _let_186 :args (_let_44 false _let_45)))) (let ((_let_192 (MACRO_RESOLUTION_TRUST _let_132 _let_191 _let_129 :args (_let_130 true _let_42 true _let_15)))) (let ((_let_193 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_43)) :args ((or _let_42 _let_39 _let_38 _let_119))) _let_191 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_187)) :args ((or _let_174 _let_87 _let_122 (not _let_187)))) _let_192 (MACRO_RESOLUTION_TRUST _let_128 _let_191 _let_22 :args (_let_85 true _let_42 false _let_6)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_190 :args (_let_4 QUANTIFIERS_INST_E_MATCHING_SIMPLE _let_189)) :args _let_188))) _let_185 :args (_let_187 false _let_46)) :args (_let_174 true _let_87 false _let_85 false _let_187)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS :args (_let_45 0)) :args ((or _let_43 _let_75))) _let_186 :args (_let_43 false _let_45)) :args (_let_38 true _let_42 true _let_39 false _let_43)))) (let ((_let_194 (not _let_38))) (let ((_let_195 (>= (+ skv_26 _let_10) 1))) (let ((_let_196 (not _let_195))) (let ((_let_197 (= skv_5 (|'select:(Array[Int,Int]*Int)>Int'| skv_4 skv_26)))) (let ((_let_198 (not _let_197))) (let ((_let_199 (* (- 1) skv_26))) (let ((_let_200 (>= (+ skv_3 _let_199) 0))) (let ((_let_201 (not _let_200))) (let ((_let_202 (or _let_201 _let_198 _let_196))) (let ((_let_203 (>= (+ skv_2 _let_199) 1))) (let ((_let_204 (or _let_203 _let_198 _let_201))) (let ((_let_205 (REFL :args (_let_202)))) (let ((_let_206 (ASSUME :args (_let_203)))) (let ((_let_207 (ASSUME :args (_let_195)))) (let ((_let_208 (_let_35))) (let ((_let_209 (_let_29))) (let ((_let_210 (MACRO_RESOLUTION_TRUST (EQ_RESOLVE (IMPLIES_ELIM (EQ_RESOLVE (SCOPE (SKOLEMIZE (ASSUME :args _let_209)) :args _let_209) (REWRITE :args ((=> _let_29 (not (or (not (>= (+ skv_25 _let_78) 0)) _let_24 _let_12))))))) (CONG _let_151 (REFL :args (_let_28)) :args _let_60)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args _let_152) :args ((or _let_32 _let_29 (not _let_33)))) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args _let_148) :args ((or _let_36 _let_35 (not _let_37)))) (MACRO_RESOLUTION_TRUST (EQ_RESOLVE (IMPLIES_ELIM (EQ_RESOLVE (SCOPE (SKOLEMIZE (ASSUME :args _let_208)) :args _let_208) (REWRITE :args ((=> _let_35 (not (or (>= (+ skv_26 _let_40) 1) _let_198 _let_196))))))) (CONG _let_181 (REFL :args ((not _let_202))) :args _let_60)) (MACRO_RESOLUTION_TRUST (EQ_RESOLVE (NOT_AND (MACRO_SR_PRED_TRANSFORM (SCOPE (AND_INTRO _let_206 _let_207 _let_140) :args (_let_130 _let_195 _let_203)) (SCOPE (CONTRA _let_141 (MACRO_SR_PRED_TRANSFORM (MACRO_SR_PRED_TRANSFORM (SCOPE (MACRO_SR_PRED_TRANSFORM (MACRO_ARITH_SCALE_SUM_UB (ASSUME :args _let_139) _let_207 _let_206 :args _let_183) :args _let_102) :args _let_139) :args _let_131) :args ((not _let_138)))) :args (_let_203 _let_195 _let_130)) :args ((not (and _let_130 _let_195 _let_203)) SB_LITERAL))) (CONG (MACRO_SR_PRED_INTRO :args ((= (not _let_130) _let_87))) (REFL :args (_let_196)) (REFL :args ((not _let_203))) :args _let_60)) _let_192 (REORDERING (CNF_OR_POS :args (_let_204)) :args ((or _let_198 _let_201 _let_203 (not _let_204)))) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_190 :args (skv_26 QUANTIFIERS_INST_E_MATCHING_SIMPLE _let_189)) :args _let_188))) _let_185 :args (_let_204 false _let_46)) (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_202 2)) (CONG _let_205 (MACRO_SR_PRED_INTRO :args ((= (not _let_196) _let_195))) :args _let_60)) :args ((or _let_195 _let_202))) (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_202 1)) (CONG _let_205 (MACRO_SR_PRED_INTRO :args ((= (not _let_198) _let_197))) :args _let_60)) :args ((or _let_197 _let_202))) (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_202 0)) (CONG _let_205 (MACRO_SR_PRED_INTRO :args ((= (not _let_201) _let_200))) :args _let_60)) :args ((or _let_200 _let_202))) :args (_let_202 true _let_87 false _let_203 false _let_204 false _let_195 false _let_197 false _let_200)) :args (_let_34 false _let_202)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS :args (_let_38 1)) :args ((or _let_37 _let_194))) _let_193 :args (_let_37 false _let_38)) :args (_let_36 false _let_34 false _let_37)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS :args (_let_38 0)) :args ((or _let_33 _let_194))) _let_193 :args (_let_33 false _let_38)) :args (_let_29 true _let_32 false _let_33)) :args (_let_28 true _let_27)))) (let ((_let_211 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_NEG :args (_let_25 0)) :args ((or _let_26 _let_25))) _let_210 :args (_let_26 true _let_25)))) (let ((_let_212 (not _let_12))) (let ((_let_213 (not _let_14))) (let ((_let_214 (or _let_9 _let_24 _let_213))) (SCOPE (MACRO_RESOLUTION_TRUST (REORDERING (MACRO_SR_PRED_TRANSFORM (NOT_AND (SCOPE (MACRO_SR_PRED_TRANSFORM (MACRO_ARITH_SCALE_SUM_UB (MACRO_SR_PRED_TRANSFORM (ASSUME :args (_let_213)) :args ((< _let_13 0))) (INT_TIGHT_UB (MACRO_SR_PRED_TRANSFORM (ASSUME :args (_let_26)) :args ((< _let_8 1)))) _let_125 (INT_TIGHT_UB (MACRO_SR_PRED_TRANSFORM (ASSUME :args (_let_212)) :args ((< _let_11 0)))) :args (1.0 1.0 (- 1.0) 2.0)) :args _let_102) :args (_let_26 _let_6 _let_212 _let_213))) :args ((or _let_9 _let_121 _let_12 _let_14))) :args ((or _let_121 _let_12 _let_9 _let_14))) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_214)) :args ((or _let_24 _let_9 _let_213 (not _let_214)))) (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_25 1)) (CONG (REFL :args (_let_25)) (MACRO_SR_PRED_INTRO :args ((= (not _let_24) _let_23))) :args _let_60)) :args ((or _let_23 _let_25))) _let_210 :args (_let_23 true _let_25)) _let_211 (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_190 :args (skv_25 QUANTIFIERS_INST_E_MATCHING_SIMPLE _let_189)) :args _let_188))) _let_185 :args (_let_214 false _let_46)) :args (_let_213 false _let_23 true _let_9 false _let_214)) (MACRO_RESOLUTION_TRUST (CNF_OR_NEG :args (_let_25 2)) _let_210 :args (_let_212 true _let_25)) _let_211 _let_22 :args (false true _let_14 true _let_12 true _let_9 false _let_6)) :args ((forall ((A |'Array[Int,Int]'|) (B |'Array[Int,Int]'|)) (=> (forall ((I Int)) (= (|'select:(Array[Int,Int]*Int)>Int'| A I) (|'select:(Array[Int,Int]*Int)>Int'| B I))) (= A B))) (forall ((A |'Array[Int,Int]'|) (I Int) (J Int) (E Int)) (=> (not (= I J)) (= (|'select:(Array[Int,Int]*Int)>Int'| (|'store:(Array[Int,Int]*Int*Int)>Array[Int,Int]'| A I E) J) (|'select:(Array[Int,Int]*Int)>Int'| A J)))) (forall ((A |'Array[Int,Int]'|) (I Int) (E Int)) (= (|'select:(Array[Int,Int]*Int)>Int'| (|'store:(Array[Int,Int]*Int*Int)>Array[Int,Int]'| A I E) I) E)) (forall ((A |'Array[Int,Int]'|)) (>= (length A) 0)) (forall ((A |'Array[Int,Int]'|) (L Int) (U Int)) (= (sorted A L U) (forall ((I Int) (J Int)) (=> (and (<= J U) (< I J) (<= L I)) (<= (|'select:(Array[Int,Int]*Int)>Int'| A I) (|'select:(Array[Int,Int]*Int)>Int'| A J)))))) (forall ((I Int) (E Int)) (= (|'select:(Array[Int,Int]*Int)>Int'| (|'const:(Int)>Array[Int,Int]'| E) I) E)) _let_2 _let_1 true)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 51.96/52.36 % SZS output end Proof for theBenchmark 51.96/52.36 EOF