%------------------------------------------------------------------------------ % File : cvc5---1.3.4 % Problem : DAT012_1 : TPTP v9.2.1. Released v5.0.0. % Transfm : none % Format : tptp:raw % Command : /export/starexec/sandbox2/solver/bin/do_cvc5 /export/starexec/sandbox2/benchmark/theBenchmark.p 300 THM % Computer : n018.cluster.edu % Model : x86_64 x86_64 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz % Memory : 8042.1875MB % OS : Linux 3.10.0-693.el7.x86_64 % CPULimit : 300s % WCLimit : 300s % DateTime : Wed Jun 3 08:14:20 AM UTC 2026 % Result : Theorem 0.40s 0.66s % Output : Proof 0.40s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.00/0.12 % Problem : DAT012_1 : TPTP v9.2.1. Released v5.0.0. % 0.12/0.13 % Command : /export/starexec/sandbox2/solver/bin/do_cvc5 /export/starexec/sandbox2/benchmark/theBenchmark.p 300 THM % 0.16/0.34 % Computer : n018.cluster.edu % 0.16/0.34 % Model : x86_64 x86_64 % 0.16/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz % 0.16/0.34 % Memory : 8042.1875MB % 0.16/0.34 % OS : Linux 3.10.0-693.el7.x86_64 % 0.16/0.34 % CPULimit : 300 % 0.16/0.34 % WCLimit : 300 % 0.16/0.34 % DateTime : Mon Jun 1 22:25:35 EDT 2026 % 0.16/0.34 % CPUTime : % 0.30/0.50 %----Proving TF0_ARI % 0.40/0.66 --- Run --finite-model-find --decision=internal at 45... % 0.40/0.66 --- Run --decision=internal --simplification=none --no-inst-no-entail --no-cbqi --full-saturate-quant at 60... % 0.40/0.66 % SZS status Theorem % 0.40/0.66 % SZS output start Proof % 0.40/0.66 ( % 0.40/0.66 (declare-sort tptp.array 0) % 0.40/0.66 (declare-const tptp.read (-> tptp.array Int Int)) % 0.40/0.66 (declare-const tptp.write (-> tptp.array Int Int tptp.array)) % 0.40/0.66 (define @t1 () (@var "W" Int)) % 0.40/0.66 (define @t2 () (@var "V" Int)) % 0.40/0.66 (define @t3 () (@var "U" tptp.array)) % 0.40/0.66 (define @t4 () (tptp.read (tptp.write @t3 @t2 @t1) @t2)) % 0.40/0.66 (define @t5 () (= @t4 @t1)) % 0.40/0.66 (define @t6 () (@list @t3 @t2 @t1)) % 0.40/0.66 (define @t7 () (forall @t6 @t5)) % 0.40/0.66 (define @t8 () (@var "Z" Int)) % 0.40/0.66 (define @t9 () (@var "X" tptp.array)) % 0.40/0.66 (define @t10 () (@var "X1" Int)) % 0.40/0.66 (define @t11 () (@var "Y" Int)) % 0.40/0.66 (define @t12 () (forall (@list @t9 @t11 @t8 @t10) (or (= @t11 @t8) (= (tptp.read (tptp.write @t9 @t11 @t10) @t8) (tptp.read @t9 @t8))))) % 0.40/0.66 (define @t13 () (@var "V" tptp.array)) % 0.40/0.66 (define @t14 () (tptp.read @t13 @t8)) % 0.40/0.66 (define @t15 () (@var "X" Int)) % 0.40/0.66 (define @t16 () (and (<= @t1 @t8) (<= @t8 @t15))) % 0.40/0.66 (define @t17 () (=> @t16 (> @t14 0))) % 0.40/0.66 (define @t18 () (@list @t8)) % 0.40/0.66 (define @t19 () (forall @t18 @t17)) % 0.40/0.66 (define @t20 () (+ @t1 1)) % 0.40/0.66 (define @t21 () (tptp.read @t3 @t20)) % 0.40/0.66 (define @t22 () (+ @t21 1)) % 0.40/0.66 (define @t23 () (+ @t1 2)) % 0.40/0.66 (define @t24 () (tptp.write @t3 @t23 @t22)) % 0.40/0.66 (define @t25 () (= @t13 @t24)) % 0.40/0.66 (define @t26 () (tptp.read @t3 @t11)) % 0.40/0.66 (define @t27 () (and (<= @t1 @t11) (<= @t11 @t15))) % 0.40/0.66 (define @t28 () (=> @t27 (> @t26 0))) % 0.40/0.66 (define @t29 () (@list @t11)) % 0.40/0.66 (define @t30 () (forall @t29 @t28)) % 0.40/0.66 (define @t31 () (and @t30 @t25)) % 0.40/0.66 (define @t32 () (=> @t31 @t19)) % 0.40/0.66 (define @t33 () (@list @t3 @t13 @t1 @t15)) % 0.40/0.66 (define @t34 () (forall @t33 @t32)) % 0.40/0.66 (define @t35 () (not @t34)) % 0.40/0.66 (define @t36 () (@var "BOUND_VARIABLE_7525" Int)) % 0.40/0.66 (define @t37 () (+ 1 @t1)) % 0.40/0.66 (define @t38 () (tptp.read @t3 @t37)) % 0.40/0.66 (define @t39 () (+ 1 @t38)) % 0.40/0.66 (define @t40 () (+ 2 @t1)) % 0.40/0.66 (define @t41 () (tptp.write @t3 @t40 @t39)) % 0.40/0.66 (define @t42 () (>= (tptp.read @t41 @t36) 1)) % 0.40/0.66 (define @t43 () (* -1 @t36)) % 0.40/0.66 (define @t44 () (+ @t15 @t43)) % 0.40/0.66 (define @t45 () (not (>= @t44 0))) % 0.40/0.66 (define @t46 () (>= (+ @t1 @t43) 1)) % 0.40/0.66 (define @t47 () (>= @t26 1)) % 0.40/0.66 (define @t48 () (* -1 @t15)) % 0.40/0.66 (define @t49 () (+ @t11 @t48)) % 0.40/0.66 (define @t50 () (>= @t49 1)) % 0.40/0.66 (define @t51 () (* -1 @t11)) % 0.40/0.66 (define @t52 () (+ @t1 @t51)) % 0.40/0.66 (define @t53 () (>= @t52 1)) % 0.40/0.66 (define @t54 () (or @t53 @t50 @t47)) % 0.40/0.66 (define @t55 () (forall @t29 @t54)) % 0.40/0.66 (define @t56 () (not @t55)) % 0.40/0.66 (define @t57 () (or @t56 @t46 @t45 @t42)) % 0.40/0.66 (define @t58 () (not (= @t41 @t41))) % 0.40/0.66 (define @t59 () (or @t56 @t58 @t46 @t45 @t42)) % 0.40/0.66 (define @t60 () (@list @t3 @t1 @t15 @t36)) % 0.40/0.66 (define @t61 () (>= (tptp.read @t13 @t36) 1)) % 0.40/0.66 (define @t62 () (= @t13 @t41)) % 0.40/0.66 (define @t63 () (not @t62)) % 0.40/0.66 (define @t64 () (or @t63 @t56 @t63 @t46 @t45 @t61)) % 0.40/0.66 (define @t65 () (@list @t13)) % 0.40/0.66 (define @t66 () (or @t56 @t63 @t46 @t45 @t61)) % 0.40/0.66 (define @t67 () (forall @t65 @t66)) % 0.40/0.66 (define @t68 () (forall @t60 @t67)) % 0.40/0.66 (define @t69 () (forall (@list @t3 @t1 @t15 @t36 @t13) @t66)) % 0.40/0.66 (define @t70 () (@list @t3 @t13 @t1 @t15 @t36)) % 0.40/0.66 (define @t71 () (+ @t48 @t36)) % 0.40/0.66 (define @t72 () (+ @t44 1)) % 0.40/0.66 (define @t73 () (+ @t36 @t48)) % 0.40/0.66 (define @t74 () (>= @t73 1)) % 0.40/0.66 (define @t75 () (or @t56 @t63 @t46 @t74 @t61)) % 0.40/0.66 (define @t76 () (or @t46 @t74 @t61)) % 0.40/0.66 (define @t77 () (or @t56 @t63 @t76)) % 0.40/0.66 (define @t78 () (forall @t70 @t77)) % 0.40/0.66 (define @t79 () (@list @t36)) % 0.40/0.66 (define @t80 () (forall @t79 @t77)) % 0.40/0.66 (define @t81 () (forall @t79 @t76)) % 0.40/0.66 (define @t82 () (or @t56 @t63 @t81)) % 0.40/0.66 (define @t83 () (>= @t14 1)) % 0.40/0.66 (define @t84 () (+ @t8 @t48)) % 0.40/0.66 (define @t85 () (>= @t84 1)) % 0.40/0.66 (define @t86 () (+ @t1 (* -1 @t8))) % 0.40/0.66 (define @t87 () (>= @t86 1)) % 0.40/0.66 (define @t88 () (or @t87 @t85 @t83)) % 0.40/0.66 (define @t89 () (forall @t18 @t88)) % 0.40/0.66 (define @t90 () (or @t56 @t63 @t89)) % 0.40/0.66 (define @t91 () (and @t55 @t62)) % 0.40/0.66 (define @t92 () (not @t85)) % 0.40/0.66 (define @t93 () (not @t87)) % 0.40/0.66 (define @t94 () (and @t93 @t92)) % 0.40/0.66 (define @t95 () (+ 0 1)) % 0.40/0.66 (define @t96 () (>= @t14 @t95)) % 0.40/0.66 (define @t97 () (+ @t15 1)) % 0.40/0.66 (define @t98 () (>= @t8 @t97)) % 0.40/0.66 (define @t99 () (+ @t8 1)) % 0.40/0.66 (define @t100 () (>= @t1 @t99)) % 0.40/0.66 (define @t101 () (not @t50)) % 0.40/0.66 (define @t102 () (not @t53)) % 0.40/0.66 (define @t103 () (and @t102 @t101)) % 0.40/0.66 (define @t104 () (>= @t26 @t95)) % 0.40/0.66 (define @t105 () (>= @t11 @t97)) % 0.40/0.66 (define @t106 () (+ @t11 1)) % 0.40/0.66 (define @t107 () (>= @t1 @t106)) % 0.40/0.66 (define @t108 () (forall @t60 @t57)) % 0.40/0.66 (define @t109 () (@quantifiers_skolemize @t108 3)) % 0.40/0.66 (define @t110 () (@quantifiers_skolemize @t108 1)) % 0.40/0.66 (define @t111 () (+ 1 @t110)) % 0.40/0.66 (define @t112 () (@quantifiers_skolemize @t108 0)) % 0.40/0.66 (define @t113 () (tptp.read @t112 @t111)) % 0.40/0.66 (define @t114 () (+ 1 @t113)) % 0.40/0.66 (define @t115 () (+ 2 @t110)) % 0.40/0.66 (define @t116 () (tptp.write @t112 @t115 @t114)) % 0.40/0.66 (define @t117 () (tptp.read @t116 @t109)) % 0.40/0.66 (define @t118 () (>= @t117 1)) % 0.40/0.66 (define @t119 () (* -1 @t109)) % 0.40/0.66 (define @t120 () (@quantifiers_skolemize @t108 2)) % 0.40/0.66 (define @t121 () (+ @t120 @t119)) % 0.40/0.66 (define @t122 () (>= @t121 0)) % 0.40/0.66 (define @t123 () (not @t122)) % 0.40/0.66 (define @t124 () (+ @t110 @t119)) % 0.40/0.66 (define @t125 () (>= @t124 1)) % 0.40/0.66 (define @t126 () (>= (tptp.read @t112 @t11) 1)) % 0.40/0.66 (define @t127 () (* -1 @t120)) % 0.40/0.66 (define @t128 () (>= (+ @t11 @t127) 1)) % 0.40/0.66 (define @t129 () (* -1 @t110)) % 0.40/0.66 (define @t130 () (+ @t11 @t129)) % 0.40/0.66 (define @t131 () (forall @t29 (or (not (>= @t130 0)) @t128 @t126))) % 0.40/0.66 (define @t132 () (not @t131)) % 0.40/0.66 (define @t133 () (or @t132 @t125 @t123 @t118)) % 0.40/0.66 (define @t134 () (not @t133)) % 0.40/0.66 (define @t135 () (not @t108)) % 0.40/0.66 (define @t136 () (+ @t51 @t110)) % 0.40/0.66 (define @t137 () (+ @t130 1)) % 0.40/0.66 (define @t138 () (+ @t110 @t51)) % 0.40/0.66 (define @t139 () (>= @t138 1)) % 0.40/0.66 (define @t140 () (or @t139 @t128 @t126)) % 0.40/0.66 (define @t141 () (forall @t29 @t140)) % 0.40/0.66 (define @t142 () (not @t141)) % 0.40/0.66 (define @t143 () (or @t142 @t125 @t123 @t118)) % 0.40/0.66 (define @t144 () (not @t143)) % 0.40/0.66 (define @t145 () (@list true)) % 0.40/0.66 (define @t146 () (not @t118)) % 0.40/0.66 (define @t147 () (@list @t133)) % 0.40/0.66 (define @t148 () (= @t1 @t4)) % 0.40/0.66 (define @t149 () (tptp.read @t116 @t115)) % 0.40/0.66 (define @t150 () (+ -1 @t149)) % 0.40/0.66 (define @t151 () (* 1 (- @t113 @t150))) % 0.40/0.66 (define @t152 () (= @t113 @t150)) % 0.40/0.66 (define @t153 () (= @t114 @t149)) % 0.40/0.66 (define @t154 () (forall @t6 @t148)) % 0.40/0.66 (define @t155 () (@list false)) % 0.40/0.66 (define @t156 () (tptp.read @t112 @t109)) % 0.40/0.66 (define @t157 () (= @t117 @t156)) % 0.40/0.66 (define @t158 () (+ -2 @t109)) % 0.40/0.66 (define @t159 () (- @t110 @t158)) % 0.40/0.66 (define @t160 () (* 2 @t159)) % 0.40/0.66 (define @t161 () (= @t110 @t158)) % 0.40/0.66 (define @t162 () (= @t115 @t109)) % 0.40/0.66 (define @t163 () (or @t162 @t157)) % 0.40/0.66 (define @t164 () (or @t161 @t157)) % 0.40/0.66 (define @t165 () (>= @t156 1)) % 0.40/0.66 (define @t166 () (+ @t127 @t109)) % 0.40/0.66 (define @t167 () (+ @t121 1)) % 0.40/0.66 (define @t168 () (+ @t109 @t127)) % 0.40/0.66 (define @t169 () (>= @t168 1)) % 0.40/0.66 (define @t170 () (+ @t129 @t109)) % 0.40/0.66 (define @t171 () (+ @t124 1)) % 0.40/0.66 (define @t172 () (+ @t109 @t129)) % 0.40/0.66 (define @t173 () (>= @t172 0)) % 0.40/0.66 (define @t174 () (not @t173)) % 0.40/0.66 (define @t175 () (or @t174 @t169 @t165)) % 0.40/0.66 (define @t176 () (or @t125 @t123 @t165)) % 0.40/0.66 (define @t177 () (@list @t131)) % 0.40/0.66 (define @t178 () (not @t165)) % 0.40/0.66 (define @t179 () (not @t157)) % 0.40/0.66 (define @t180 () (not @t146)) % 0.40/0.66 (define @t181 () (* -1 @t156)) % 0.40/0.66 (define @t182 () (+ @t117 @t181)) % 0.40/0.66 (define @t183 () (= @t182 0)) % 0.40/0.66 (define @t184 () (* -1 1)) % 0.40/0.66 (define @t185 () (* -1 0)) % 0.40/0.66 (define @t186 () (+ @t185 @t184 1)) % 0.40/0.66 (define @t187 () (+ (* -1 @t117) @t156)) % 0.40/0.66 (define @t188 () (* -1 @t182)) % 0.40/0.66 (define @t189 () (+ @t188 @t181 @t117)) % 0.40/0.66 (define @t190 () (>= @t189 @t186)) % 0.40/0.66 (define @t191 () (< -1 0)) % 0.40/0.66 (define @t192 () (and @t146 @t165 @t157)) % 0.40/0.66 (define @t193 () (@list true false)) % 0.40/0.66 (define @t194 () (>= @t113 1)) % 0.40/0.66 (define @t195 () (+ @t110 @t127)) % 0.40/0.66 (define @t196 () (>= @t195 0)) % 0.40/0.66 (define @t197 () (or @t196 @t194)) % 0.40/0.66 (define @t198 () (+ 1 @t110 @t127)) % 0.40/0.66 (define @t199 () (+ @t127 @t110 1)) % 0.40/0.66 (define @t200 () (+ @t111 @t127)) % 0.40/0.66 (define @t201 () (>= @t200 1)) % 0.40/0.66 (define @t202 () (+ @t129 @t110 1)) % 0.40/0.66 (define @t203 () (+ @t111 @t129)) % 0.40/0.66 (define @t204 () (>= @t203 0)) % 0.40/0.66 (define @t205 () (not @t204)) % 0.40/0.66 (define @t206 () (or @t205 @t201 @t194)) % 0.40/0.66 (define @t207 () (+ @t185 -2 @t185)) % 0.40/0.66 (define @t208 () (* 0 @t110)) % 0.40/0.66 (define @t209 () (* 0 @t109)) % 0.40/0.66 (define @t210 () (+ @t209 @t120 @t127 @t208)) % 0.40/0.66 (define @t211 () (+ (* -1 @t121) @t124 (* -1 @t195))) % 0.40/0.66 (define @t212 () (and @t196 @t161 @t122)) % 0.40/0.66 (define @t213 () (not @t194)) % 0.40/0.66 (define @t214 () (not @t161)) % 0.40/0.66 (define @t215 () (not @t152)) % 0.40/0.66 (define @t216 () (= @t117 @t149)) % 0.40/0.66 (define @t217 () (* -1 @t149)) % 0.40/0.66 (define @t218 () (+ @t117 @t217)) % 0.40/0.66 (define @t219 () (= @t218 0)) % 0.40/0.66 (define @t220 () (+ @t185 -1 @t184 1)) % 0.40/0.66 (define @t221 () (* -1 @t113)) % 0.40/0.66 (define @t222 () (* 0 @t117)) % 0.40/0.66 (define @t223 () (* 0 @t149)) % 0.40/0.66 (define @t224 () (+ @t221 @t223 @t222 @t113)) % 0.40/0.66 (define @t225 () (+ @t113 @t217)) % 0.40/0.66 (define @t226 () (+ (* -1 @t218) @t225 @t221 @t117)) % 0.40/0.66 (define @t227 () (>= @t226 @t220)) % 0.40/0.66 (define @t228 () (= @t109 @t115)) % 0.40/0.66 (define @t229 () (and @t146 @t194 @t152 @t216)) % 0.40/0.66 (assume @p1 @t7) % 0.40/0.66 (assume @p2 @t12) % 0.40/0.66 (assume @p3 @t35) % 0.40/0.66 (assume @p4 true) % 0.40/0.66 (step @p5 :rule aci_norm :args ((= (or @t56 false @t46 @t45 @t42) @t57))) % 0.40/0.66 (step @p6 :rule refl :args (@t42)) % 0.40/0.66 (step @p7 :rule refl :args (@t45)) % 0.40/0.66 (step @p8 :rule refl :args (@t46)) % 0.40/0.66 (step @p9 :rule evaluate :args ((not true))) % 0.40/0.66 (step @p10 :rule eq-refl :args (@t41)) % 0.40/0.66 (step @p11 :rule cong :premises (@p10) :args (@t58)) % 0.40/0.66 (step @p12 :rule trans :premises (@p11 @p9)) % 0.40/0.66 (step @p13 :rule refl :args (@t56)) % 0.40/0.66 (step @p14 :rule nary_cong :premises (@p13 @p12 @p8 @p7 @p6) :args (@t59)) % 0.40/0.66 (step @p15 :rule trans :premises (@p14 @p5)) % 0.40/0.66 (step @p16 :rule cong :premises (@p15) :args ((forall @t60 @t59))) % 0.40/0.66 (step @p17 :rule quant-var-elim-eq :args ((= (forall @t65 @t64) @t59))) % 0.40/0.66 (step @p18 :rule aci_norm :args ((= @t66 @t64))) % 0.40/0.66 (step @p19 :rule cong :premises (@p18) :args (@t67)) % 0.40/0.66 (step @p20 :rule trans :premises (@p19 @p17)) % 0.40/0.66 (step @p21 :rule cong :premises (@p20) :args (@t68)) % 0.40/0.66 (step @p22 :rule quant-merge-prenex :args ((= @t68 @t69))) % 0.40/0.66 (step @p23 :rule symm :premises (@p22)) % 0.40/0.66 (step @p24 :rule quant_var_reordering :args ((= (forall @t70 @t66) @t69))) % 0.40/0.66 (step @p25 :rule trans :premises (@p24 @p23 @p21)) % 0.40/0.66 (step @p26 :rule trans :premises (@p25 @p16)) % 0.40/0.66 (step @p27 :rule refl :args (@t61)) % 0.40/0.66 (step @p28 :rule arith_poly_norm :args ((= (* -1 (- 0 @t72)) (* -1 (- @t71 1))))) % 0.40/0.66 (step @p29 :rule arith_poly_norm_rel :premises (@p28) :args ((= (>= 0 @t72) (>= @t71 1)))) % 0.40/0.66 (step @p30 :rule arith-geq-tighten :args (@t44 0)) % 0.40/0.66 (step @p31 :rule trans :premises (@p30 @p29)) % 0.40/0.66 (step @p32 :rule symm :premises (@p31)) % 0.40/0.66 (step @p33 :rule refl :args (1)) % 0.40/0.66 (step @p34 :rule arith_poly_norm :args ((= @t73 @t71))) % 0.40/0.66 (step @p35 :rule cong :premises (@p34 @p33) :args (@t74)) % 0.40/0.66 (step @p36 :rule trans :premises (@p35 @p32)) % 0.40/0.66 (step @p37 :rule refl :args (@t63)) % 0.40/0.66 (step @p38 :rule nary_cong :premises (@p13 @p37 @p8 @p36 @p27) :args (@t75)) % 0.40/0.66 (step @p39 :rule aci_norm :args ((= @t77 @t75))) % 0.40/0.66 (step @p40 :rule trans :premises (@p39 @p38)) % 0.40/0.66 (step @p41 :rule cong :premises (@p40) :args (@t78)) % 0.40/0.66 (step @p42 :rule trans :premises (@p41 @p26)) % 0.40/0.66 (step @p43 :rule quant-merge-prenex :args ((= (forall @t33 @t80) @t78))) % 0.40/0.66 (step @p44 :rule alpha_equiv :args (@t81 (@list @t36) (@list @t8))) % 0.40/0.66 (step @p45 :rule refl :args (@t63)) % 0.40/0.66 (step @p46 :rule refl :args (@t56)) % 0.40/0.66 (step @p47 :rule nary_cong :premises (@p46 @p45 @p44) :args (@t82)) % 0.40/0.66 (step @p48 :rule quant-miniscope-or :args ((= @t80 @t82))) % 0.40/0.66 (step @p49 :rule trans :premises (@p48 @p47)) % 0.40/0.66 (step @p50 :rule symm :premises (@p49)) % 0.40/0.66 (step @p51 :rule cong :premises (@p50) :args ((forall @t33 @t90))) % 0.40/0.66 (step @p52 :rule trans :premises (@p51 @p43)) % 0.40/0.66 (step @p53 :rule trans :premises (@p52 @p42)) % 0.40/0.66 (step @p54 :rule aci_norm :args ((= (or (or @t56 @t63) @t89) @t90))) % 0.40/0.66 (step @p55 :rule refl :args (@t89)) % 0.40/0.66 (step @p56 :rule bool-and-de-morgan :args (@t55 @t62 true)) % 0.40/0.66 (step @p57 :rule nary_cong :premises (@p56 @p55) :args ((or (not @t91) @t89))) % 0.40/0.66 (step @p58 :rule trans :premises (@p57 @p54)) % 0.40/0.66 (step @p59 :rule bool-impl-elim :args (@t91 @t89)) % 0.40/0.66 (step @p60 :rule trans :premises (@p59 @p58)) % 0.40/0.66 (step @p61 :rule cong :premises (@p60) :args ((forall @t33 (=> @t91 @t89)))) % 0.40/0.66 (step @p62 :rule trans :premises (@p61 @p53)) % 0.40/0.66 (step @p63 :rule aci_norm :args ((= (or (or @t87 @t85) @t83) @t88))) % 0.40/0.66 (step @p64 :rule refl :args (@t83)) % 0.40/0.66 (step @p65 :rule bool-double-not-elim :args (@t85)) % 0.40/0.66 (step @p66 :rule bool-double-not-elim :args (@t87)) % 0.40/0.66 (step @p67 :rule nary_cong :premises (@p66 @p65) :args ((or (not @t93) (not @t92)))) % 0.40/0.66 (step @p68 :rule bool-and-de-morgan :args (@t93 @t92 true)) % 0.40/0.66 (step @p69 :rule trans :premises (@p68 @p67)) % 0.40/0.66 (step @p70 :rule nary_cong :premises (@p69 @p64) :args ((or (not @t94) @t83))) % 0.40/0.66 (step @p71 :rule trans :premises (@p70 @p63)) % 0.40/0.66 (step @p72 :rule bool-impl-elim :args (@t94 @t83)) % 0.40/0.66 (step @p73 :rule trans :premises (@p72 @p71)) % 0.40/0.66 (step @p74 :rule cong :premises (@p73) :args ((forall @t18 (=> @t94 @t83)))) % 0.40/0.66 (step @p75 :rule bool-double-not-elim :args (@t83)) % 0.40/0.66 (step @p76 :rule evaluate :args (@t95)) % 0.40/0.66 (step @p77 :rule refl :args (@t14)) % 0.40/0.66 (step @p78 :rule cong :premises (@p77 @p76) :args (@t96)) % 0.40/0.66 (step @p79 :rule cong :premises (@p78) :args ((not @t96))) % 0.40/0.66 (step @p80 :rule arith-leq-norm :args (@t14 0)) % 0.40/0.66 (step @p81 :rule trans :premises (@p80 @p79)) % 0.40/0.66 (step @p82 :rule cong :premises (@p81) :args ((not (<= @t14 0)))) % 0.40/0.66 (step @p83 :rule trans :premises (@p82 @p75)) % 0.40/0.66 (step @p84 :rule arith-elim-leq :args (@t14 0)) % 0.40/0.66 (step @p85 :rule symm :premises (@p84)) % 0.40/0.66 (step @p86 :rule cong :premises (@p85) :args ((not (>= 0 @t14)))) % 0.40/0.66 (step @p87 :rule arith-elim-gt :args (@t14 0)) % 0.40/0.66 (step @p88 :rule trans :premises (@p87 @p86)) % 0.40/0.66 (step @p89 :rule trans :premises (@p88 @p83)) % 0.40/0.66 (step @p90 :rule arith_poly_norm :args ((= (* -1 (- @t8 @t97)) (* -1 (- @t84 1))))) % 0.40/0.66 (step @p91 :rule arith_poly_norm_rel :premises (@p90) :args ((= @t98 @t85))) % 0.40/0.66 (step @p92 :rule cong :premises (@p91) :args ((not @t98))) % 0.40/0.66 (step @p93 :rule arith-leq-norm :args (@t8 @t15)) % 0.40/0.66 (step @p94 :rule trans :premises (@p93 @p92)) % 0.40/0.66 (step @p95 :rule arith_poly_norm :args ((= (* -1 (- @t1 @t99)) (* -1 (- @t86 1))))) % 0.40/0.66 (step @p96 :rule arith_poly_norm_rel :premises (@p95) :args ((= @t100 @t87))) % 0.40/0.66 (step @p97 :rule cong :premises (@p96) :args ((not @t100))) % 0.40/0.66 (step @p98 :rule arith-leq-norm :args (@t1 @t8)) % 0.40/0.66 (step @p99 :rule trans :premises (@p98 @p97)) % 0.40/0.66 (step @p100 :rule nary_cong :premises (@p99 @p94) :args (@t16)) % 0.40/0.66 (step @p101 :rule cong :premises (@p100 @p89) :args (@t17)) % 0.40/0.66 (step @p102 :rule cong :premises (@p101) :args (@t19)) % 0.40/0.66 (step @p103 :rule trans :premises (@p102 @p74)) % 0.40/0.66 (step @p104 :rule arith_poly_norm :args ((= (+ @t38 1) @t39))) % 0.40/0.66 (step @p105 :rule arith_poly_norm :args ((= @t20 @t37))) % 0.40/0.66 (step @p106 :rule refl :args (@t3)) % 0.40/0.66 (step @p107 :rule cong :premises (@p106 @p105) :args (@t21)) % 0.40/0.66 (step @p108 :rule nary_cong :premises (@p107 @p33) :args (@t22)) % 0.40/0.66 (step @p109 :rule trans :premises (@p108 @p104)) % 0.40/0.66 (step @p110 :rule arith_poly_norm :args ((= @t23 @t40))) % 0.40/0.66 (step @p111 :rule cong :premises (@p106 @p110 @p109) :args (@t24)) % 0.40/0.66 (step @p112 :rule refl :args (@t13)) % 0.40/0.66 (step @p113 :rule cong :premises (@p112 @p111) :args (@t25)) % 0.40/0.66 (step @p114 :rule aci_norm :args ((= (or (or @t53 @t50) @t47) @t54))) % 0.40/0.66 (step @p115 :rule refl :args (@t47)) % 0.40/0.66 (step @p116 :rule bool-double-not-elim :args (@t50)) % 0.40/0.66 (step @p117 :rule bool-double-not-elim :args (@t53)) % 0.40/0.66 (step @p118 :rule nary_cong :premises (@p117 @p116) :args ((or (not @t102) (not @t101)))) % 0.40/0.66 (step @p119 :rule bool-and-de-morgan :args (@t102 @t101 true)) % 0.40/0.66 (step @p120 :rule trans :premises (@p119 @p118)) % 0.40/0.66 (step @p121 :rule nary_cong :premises (@p120 @p115) :args ((or (not @t103) @t47))) % 0.40/0.66 (step @p122 :rule trans :premises (@p121 @p114)) % 0.40/0.66 (step @p123 :rule bool-impl-elim :args (@t103 @t47)) % 0.40/0.66 (step @p124 :rule trans :premises (@p123 @p122)) % 0.40/0.66 (step @p125 :rule cong :premises (@p124) :args ((forall @t29 (=> @t103 @t47)))) % 0.40/0.66 (step @p126 :rule bool-double-not-elim :args (@t47)) % 0.40/0.66 (step @p127 :rule refl :args (@t26)) % 0.40/0.66 (step @p128 :rule cong :premises (@p127 @p76) :args (@t104)) % 0.40/0.67 (step @p129 :rule cong :premises (@p128) :args ((not @t104))) % 0.40/0.67 (step @p130 :rule arith-leq-norm :args (@t26 0)) % 0.40/0.67 (step @p131 :rule trans :premises (@p130 @p129)) % 0.40/0.67 (step @p132 :rule cong :premises (@p131) :args ((not (<= @t26 0)))) % 0.40/0.67 (step @p133 :rule trans :premises (@p132 @p126)) % 0.40/0.67 (step @p134 :rule arith-elim-leq :args (@t26 0)) % 0.40/0.67 (step @p135 :rule symm :premises (@p134)) % 0.40/0.67 (step @p136 :rule cong :premises (@p135) :args ((not (>= 0 @t26)))) % 0.40/0.67 (step @p137 :rule arith-elim-gt :args (@t26 0)) % 0.40/0.67 (step @p138 :rule trans :premises (@p137 @p136)) % 0.40/0.67 (step @p139 :rule trans :premises (@p138 @p133)) % 0.40/0.67 (step @p140 :rule arith_poly_norm :args ((= (* -1 (- @t11 @t97)) (* -1 (- @t49 1))))) % 0.40/0.67 (step @p141 :rule arith_poly_norm_rel :premises (@p140) :args ((= @t105 @t50))) % 0.40/0.67 (step @p142 :rule cong :premises (@p141) :args ((not @t105))) % 0.40/0.67 (step @p143 :rule arith-leq-norm :args (@t11 @t15)) % 0.40/0.67 (step @p144 :rule trans :premises (@p143 @p142)) % 0.40/0.67 (step @p145 :rule arith_poly_norm :args ((= (* -1 (- @t1 @t106)) (* -1 (- @t52 1))))) % 0.40/0.67 (step @p146 :rule arith_poly_norm_rel :premises (@p145) :args ((= @t107 @t53))) % 0.40/0.67 (step @p147 :rule cong :premises (@p146) :args ((not @t107))) % 0.40/0.67 (step @p148 :rule arith-leq-norm :args (@t1 @t11)) % 0.40/0.67 (step @p149 :rule trans :premises (@p148 @p147)) % 0.40/0.67 (step @p150 :rule nary_cong :premises (@p149 @p144) :args (@t27)) % 0.40/0.67 (step @p151 :rule cong :premises (@p150 @p139) :args (@t28)) % 0.40/0.67 (step @p152 :rule cong :premises (@p151) :args (@t30)) % 0.40/0.67 (step @p153 :rule trans :premises (@p152 @p125)) % 0.40/0.67 (step @p154 :rule nary_cong :premises (@p153 @p113) :args (@t31)) % 0.40/0.67 (step @p155 :rule cong :premises (@p154 @p103) :args (@t32)) % 0.40/0.67 (step @p156 :rule cong :premises (@p155) :args (@t34)) % 0.40/0.67 (step @p157 :rule trans :premises (@p156 @p62)) % 0.40/0.67 (step @p158 :rule cong :premises (@p157) :args (@t35)) % 0.40/0.67 (step @p159 :rule eq_resolve :premises (@p3 @p158)) % 0.40/0.67 (step @p160 :rule refl :args (@t134)) % 0.40/0.67 (step @p161 :rule bool-double-not-elim :args (@t108)) % 0.40/0.67 (step @p162 :rule nary_cong :premises (@p161 @p160) :args ((or (not @t135) @t134))) % 0.40/0.67 (step @p163 :rule refl :args (@t118)) % 0.40/0.67 (step @p164 :rule refl :args (@t123)) % 0.40/0.67 (step @p165 :rule refl :args (@t125)) % 0.40/0.67 (step @p166 :rule refl :args (@t126)) % 0.40/0.67 (step @p167 :rule refl :args (@t128)) % 0.40/0.67 (step @p168 :rule arith_poly_norm :args ((= (* -1 (- 0 @t137)) (* -1 (- @t136 1))))) % 0.40/0.67 (step @p169 :rule arith_poly_norm_rel :premises (@p168) :args ((= (>= 0 @t137) (>= @t136 1)))) % 0.40/0.67 (step @p170 :rule arith-geq-tighten :args (@t130 0)) % 0.40/0.67 (step @p171 :rule trans :premises (@p170 @p169)) % 0.40/0.67 (step @p172 :rule symm :premises (@p171)) % 0.40/0.67 (step @p173 :rule arith_poly_norm :args ((= @t138 @t136))) % 0.40/0.67 (step @p174 :rule cong :premises (@p173 @p33) :args (@t139)) % 0.40/0.67 (step @p175 :rule trans :premises (@p174 @p172)) % 0.40/0.67 (step @p176 :rule nary_cong :premises (@p175 @p167 @p166) :args (@t140)) % 0.40/0.67 (step @p177 :rule cong :premises (@p176) :args (@t141)) % 0.40/0.67 (step @p178 :rule cong :premises (@p177) :args (@t142)) % 0.40/0.67 (step @p179 :rule nary_cong :premises (@p178 @p165 @p164 @p163) :args (@t143)) % 0.40/0.67 (step @p180 :rule cong :premises (@p179) :args (@t144)) % 0.40/0.67 (step @p181 :rule refl :args (@t135)) % 0.40/0.67 (step @p182 :rule cong :premises (@p181 @p180) :args ((=> @t135 @t144))) % 0.40/0.67 (assume-push @p499 @t135) % 0.40/0.67 (step @p184 :rule skolemize :premises (@p159)) % 0.40/0.67 (step-pop @p500 :rule scope :premises (@p184)) % 0.40/0.67 (step @p185 :rule process_scope :premises (@p500) :args (@t144)) % 0.40/0.67 (step @p187 :rule eq_resolve :premises (@p185 @p182)) % 0.40/0.67 (step @p188 :rule implies_elim :premises (@p187)) % 0.40/0.67 (step @p189 :rule eq_resolve :premises (@p188 @p162)) % 0.40/0.67 (step @p190 :rule chain_m_resolution :premises (@p189 @p159) :args (@t134 @t145 (@list @t108))) % 0.40/0.67 (step @p191 :rule cnf_or_neg :args (@t133 3)) % 0.40/0.67 (step @p192 :rule chain_m_resolution :premises (@p191 @p190) :args (@t146 @t145 @t147)) % 0.40/0.67 (step @p193 :rule arith_poly_norm :args ((= (* 1 (- @t4 @t1)) (* -1 (- @t1 @t4))))) % 0.40/0.67 (step @p194 :rule arith_poly_norm_rel :premises (@p193) :args ((= @t5 @t148))) % 0.40/0.67 (step @p195 :rule cong :premises (@p194) :args (@t7)) % 0.40/0.67 (step @p196 :rule eq_resolve :premises (@p1 @p195)) % 0.40/0.67 (step @p197 :rule arith_poly_norm :args ((= (* 1 (- @t114 @t149)) @t151))) % 0.40/0.67 (step @p198 :rule arith_poly_norm_rel :premises (@p197) :args ((= @t153 @t152))) % 0.40/0.67 (step @p199 :rule refl :args (@t154)) % 0.40/0.67 (step @p200 :rule cong :premises (@p199 @p198) :args ((=> @t154 @t153))) % 0.40/0.67 (assume-push @p501 @t154) % 0.40/0.67 (step @p202 :rule instantiate :premises (@p196) :args ((@list @t112 @t115 @t114))) % 0.40/0.67 (step-pop @p502 :rule scope :premises (@p202)) % 0.40/0.67 (step @p203 :rule process_scope :premises (@p502) :args (@t153)) % 0.40/0.67 (step @p205 :rule eq_resolve :premises (@p203 @p200)) % 0.40/0.67 (step @p206 :rule implies_elim :premises (@p205)) % 0.40/0.67 (step @p207 :rule chain_m_resolution :premises (@p206 @p196) :args (@t152 @t155 (@list @t154))) % 0.40/0.67 (step @p208 :rule refl :args (@t157)) % 0.40/0.67 (step @p209 :rule arith_poly_norm :args ((= (* 2 (- @t115 @t109)) @t160))) % 0.40/0.67 (step @p210 :rule arith_poly_norm_rel :premises (@p209) :args ((= @t162 @t161))) % 0.40/0.67 (step @p211 :rule nary_cong :premises (@p210 @p208) :args (@t163)) % 0.40/0.67 (step @p212 :rule refl :args (@t12)) % 0.40/0.67 (step @p213 :rule cong :premises (@p212 @p211) :args ((=> @t12 @t163))) % 0.40/0.67 (assume-push @p503 @t12) % 0.40/0.67 (step @p215 :rule instantiate :premises (@p2) :args ((@list @t112 @t115 @t109 @t114))) % 0.40/0.67 (step-pop @p504 :rule scope :premises (@p215)) % 0.40/0.67 (step @p216 :rule process_scope :premises (@p504) :args (@t163)) % 0.40/0.67 (step @p218 :rule eq_resolve :premises (@p216 @p213)) % 0.40/0.67 (step @p219 :rule implies_elim :premises (@p218)) % 0.40/0.67 (step @p220 :rule chain_m_resolution :premises (@p219 @p2) :args (@t164 @t155 (@list @t12))) % 0.40/0.67 (step @p221 :rule bool-double-not-elim :args (@t131)) % 0.40/0.67 (step @p222 :rule refl :args (@t133)) % 0.40/0.67 (step @p223 :rule nary_cong :premises (@p222 @p221) :args ((or @t133 (not @t132)))) % 0.40/0.67 (step @p224 :rule cnf_or_neg :args (@t133 0)) % 0.40/0.67 (step @p225 :rule eq_resolve :premises (@p224 @p223)) % 0.40/0.67 (step @p226 :rule reordering :premises (@p225) :args ((or @t131 @t133))) % 0.40/0.67 (step @p227 :rule chain_m_resolution :premises (@p226 @p190) :args (@t131 @t145 @t147)) % 0.40/0.67 (step @p228 :rule refl :args (@t165)) % 0.40/0.67 (step @p229 :rule arith_poly_norm :args ((= (* -1 (- 0 @t167)) (* -1 (- @t166 1))))) % 0.40/0.67 (step @p230 :rule arith_poly_norm_rel :premises (@p229) :args ((= (>= 0 @t167) (>= @t166 1)))) % 0.40/0.67 (step @p231 :rule arith-geq-tighten :args (@t121 0)) % 0.40/0.67 (step @p232 :rule trans :premises (@p231 @p230)) % 0.40/0.67 (step @p233 :rule symm :premises (@p232)) % 0.40/0.67 (step @p234 :rule arith_poly_norm :args ((= @t168 @t166))) % 0.40/0.67 (step @p235 :rule cong :premises (@p234 @p33) :args (@t169)) % 0.40/0.67 (step @p236 :rule trans :premises (@p235 @p233)) % 0.40/0.67 (step @p237 :rule bool-double-not-elim :args (@t125)) % 0.40/0.67 (step @p238 :rule arith_poly_norm :args ((= (* -1 (- 1 @t171)) (* -1 (- @t170 0))))) % 0.40/0.67 (step @p239 :rule arith_poly_norm_rel :premises (@p238) :args ((= (>= 1 @t171) (>= @t170 0)))) % 0.40/0.67 (step @p240 :rule arith-geq-tighten :args (@t124 1)) % 0.40/0.67 (step @p241 :rule trans :premises (@p240 @p239)) % 0.40/0.67 (step @p242 :rule symm :premises (@p241)) % 0.40/0.67 (step @p243 :rule refl :args (0)) % 0.40/0.67 (step @p244 :rule arith_poly_norm :args ((= @t172 @t170))) % 0.40/0.67 (step @p245 :rule cong :premises (@p244 @p243) :args (@t173)) % 0.40/0.67 (step @p246 :rule trans :premises (@p245 @p242)) % 0.40/0.67 (step @p247 :rule cong :premises (@p246) :args (@t174)) % 0.40/0.67 (step @p248 :rule trans :premises (@p247 @p237)) % 0.40/0.67 (step @p249 :rule nary_cong :premises (@p248 @p236 @p228) :args (@t175)) % 0.40/0.67 (step @p250 :rule refl :args (@t131)) % 0.40/0.67 (step @p251 :rule cong :premises (@p250 @p249) :args ((=> @t131 @t175))) % 0.40/0.67 (assume-push @p505 @t131) % 0.40/0.67 (step @p253 :rule instantiate :premises (@p227) :args ((@list @t109))) % 0.40/0.67 (step-pop @p506 :rule scope :premises (@p253)) % 0.40/0.67 (step @p254 :rule process_scope :premises (@p506) :args (@t175)) % 0.40/0.67 (step @p256 :rule eq_resolve :premises (@p254 @p251)) % 0.40/0.67 (step @p257 :rule implies_elim :premises (@p256)) % 0.40/0.67 (step @p258 :rule chain_m_resolution :premises (@p257 @p227) :args (@t176 @t155 @t177)) % 0.40/0.67 (step @p259 :rule bool-double-not-elim :args (@t122)) % 0.40/0.67 (step @p260 :rule nary_cong :premises (@p222 @p259) :args ((or @t133 (not @t123)))) % 0.40/0.67 (step @p261 :rule cnf_or_neg :args (@t133 2)) % 0.40/0.67 (step @p262 :rule eq_resolve :premises (@p261 @p260)) % 0.40/0.67 (step @p263 :rule reordering :premises (@p262) :args ((or @t122 @t133))) % 0.40/0.67 (step @p264 :rule chain_m_resolution :premises (@p263 @p190) :args (@t122 @t145 @t147)) % 0.40/0.67 (step @p265 :rule cnf_or_neg :args (@t133 1)) % 0.40/0.67 (step @p266 :rule chain_m_resolution :premises (@p265 @p190) :args ((not @t125) @t145 @t147)) % 0.40/0.67 (step @p267 :rule cnf_or_pos :args (@t176)) % 0.40/0.67 (step @p268 :rule reordering :premises (@p267) :args ((or @t125 @t123 @t165 (not @t176)))) % 0.40/0.67 (step @p269 :rule chain_m_resolution :premises (@p268 @p266 @p264 @p258) :args (@t165 (@list true false false) (@list @t125 @t122 @t176))) % 0.40/0.67 (step @p270 :rule refl :args (@t178)) % 0.40/0.67 (step @p271 :rule refl :args (@t179)) % 0.40/0.67 (step @p272 :rule bool-double-not-elim :args (@t118)) % 0.40/0.67 (step @p273 :rule nary_cong :premises (@p272 @p271 @p270) :args ((or @t180 @t179 @t178))) % 0.40/0.67 (assume-push @p507 @t146) % 0.40/0.67 (assume-push @p508 @t165) % 0.40/0.67 (assume-push @p509 @t157) % 0.40/0.67 (assume-push @p510 @t183) % 0.40/0.67 (step @p278 :rule evaluate :args ((>= 0 0))) % 0.40/0.67 (step @p279 :rule evaluate :args ((+ 0 -1 1))) % 0.40/0.67 (step @p280 :rule evaluate :args (@t184)) % 0.40/0.67 (step @p281 :rule evaluate :args (@t185)) % 0.40/0.67 (step @p282 :rule nary_cong :premises (@p281 @p280 @p33) :args (@t186)) % 0.40/0.67 (step @p283 :rule trans :premises (@p282 @p279)) % 0.40/0.67 (step @p284 :rule arith_poly_norm :args ((= (+ @t187 @t181 @t117) 0))) % 0.40/0.67 (step @p285 :rule refl :args (@t117)) % 0.40/0.67 (step @p286 :rule refl :args (@t181)) % 0.40/0.67 (step @p287 :rule arith_poly_norm :args ((= @t188 @t187))) % 0.40/0.67 (step @p288 :rule nary_cong :premises (@p287 @p286 @p285) :args (@t189)) % 0.40/0.67 (step @p289 :rule trans :premises (@p288 @p284)) % 0.40/0.67 (step @p290 :rule cong :premises (@p289 @p283) :args (@t190)) % 0.40/0.67 (step @p291 :rule trans :premises (@p290 @p278)) % 0.40/0.67 (step @p292 :rule cong :premises (@p291) :args ((not @t190))) % 0.40/0.67 (step @p293 :rule trans :premises (@p292 @p9)) % 0.40/0.67 (step @p294 :rule arith-elim-lt :args (@t189 @t186)) % 0.40/0.67 (step @p295 :rule trans :premises (@p294 @p293)) % 0.40/0.67 (step @p296 :rule arith-elim-lt :args (@t117 1)) % 0.40/0.67 (step @p297 :rule symm :premises (@p296)) % 0.40/0.67 (step @p298 :rule eq_resolve :premises (@p192 @p297)) % 0.40/0.67 (step @p299 :rule arith_mult_neg :args (-1 @t165)) % 0.40/0.67 (step @p300 :rule evaluate :args (@t191)) % 0.40/0.67 (step @p301 :rule true_elim :premises (@p300)) % 0.40/0.67 (step @p302 :rule and_intro :premises (@p301 @p269)) % 0.40/0.67 (step @p303 :rule modus_ponens :premises (@p302 @p299)) % 0.40/0.67 (step @p304 :rule arith_mult_neg :args (-1 @t183)) % 0.40/0.67 (step @p305 :rule and_intro :premises (@p301 @p510)) % 0.40/0.67 (step @p306 :rule modus_ponens :premises (@p305 @p304)) % 0.40/0.67 (step @p307 :rule arith_sum_ub :premises (@p306 @p303 @p298)) % 0.40/0.67 (step @p308 false :rule eq_resolve :premises (@p307 @p295)) % 0.40/0.67 (step-pop @p511 :rule scope :premises (@p308)) % 0.40/0.67 (step @p309 :rule process_scope :premises (@p511) :args (false)) % 0.40/0.67 (step @p311 :rule arith_poly_norm :args ((= (* 1 (- @t182 0)) (* 1 (- @t117 @t156))))) % 0.40/0.67 (step @p312 :rule arith_poly_norm_rel :premises (@p311) :args ((= @t183 @t157))) % 0.40/0.67 (step @p313 :rule symm :premises (@p312)) % 0.40/0.67 (step @p314 :rule eq_resolve :premises (@p509 @p313)) % 0.40/0.67 (step @p315 false :rule contra :premises (@p314 @p309)) % 0.40/0.67 (step-pop @p512 :rule scope :premises (@p315)) % 0.40/0.67 (step-pop @p513 :rule scope :premises (@p512)) % 0.40/0.67 (step-pop @p514 :rule scope :premises (@p513)) % 0.40/0.67 (step @p316 :rule process_scope :premises (@p514) :args (false)) % 0.40/0.67 (assume-push @p515 @t146) % 0.40/0.67 (assume-push @p516 @t157) % 0.40/0.67 (assume-push @p517 @t165) % 0.40/0.67 (step @p323 :rule and_intro :premises (@p192 @p269 @p516)) % 0.40/0.67 (step-pop @p518 :rule scope :premises (@p323)) % 0.40/0.67 (step-pop @p519 :rule scope :premises (@p518)) % 0.40/0.67 (step-pop @p520 :rule scope :premises (@p519)) % 0.40/0.67 (step @p324 :rule process_scope :premises (@p520) :args (@t192)) % 0.40/0.67 (step @p328 :rule implies_elim :premises (@p324)) % 0.40/0.67 (step @p329 :rule resolution :premises (@p328 @p316) :args (true @t192)) % 0.40/0.67 (step @p330 :rule not_and :premises (@p329)) % 0.40/0.67 (step @p331 :rule eq_resolve :premises (@p330 @p273)) % 0.40/0.67 (step @p332 :rule chain_m_resolution :premises (@p331 @p192 @p269) :args (@t179 @t193 (@list @t118 @t165))) % 0.40/0.67 (step @p333 :rule cnf_or_pos :args (@t164)) % 0.40/0.67 (step @p334 :rule reordering :premises (@p333) :args ((or @t157 @t161 (not @t164)))) % 0.40/0.67 (step @p335 :rule chain_m_resolution :premises (@p334 @p332 @p220) :args (@t161 @t193 (@list @t157 @t164))) % 0.40/0.67 (step @p336 :rule aci_norm :args ((= (or false @t196 @t194) @t197))) % 0.40/0.67 (step @p337 :rule refl :args (@t194)) % 0.40/0.67 (step @p338 :rule arith_poly_norm :args ((= (* 1 (- @t198 1)) (* 1 (- @t195 0))))) % 0.40/0.67 (step @p339 :rule arith_poly_norm_rel :premises (@p338) :args ((= (>= @t198 1) @t196))) % 0.40/0.67 (step @p340 :rule arith_poly_norm :args ((= @t199 @t198))) % 0.40/0.67 (step @p341 :rule arith_poly_norm :args ((= @t200 @t199))) % 0.40/0.67 (step @p342 :rule trans :premises (@p341 @p340)) % 0.40/0.67 (step @p343 :rule cong :premises (@p342 @p33) :args (@t201)) % 0.40/0.67 (step @p344 :rule trans :premises (@p343 @p339)) % 0.40/0.67 (step @p345 :rule evaluate :args ((>= 1 0))) % 0.40/0.67 (step @p346 :rule arith_poly_norm :args ((= @t202 1))) % 0.40/0.67 (step @p347 :rule arith_poly_norm :args ((= @t203 @t202))) % 0.40/0.67 (step @p348 :rule trans :premises (@p347 @p346)) % 0.40/0.67 (step @p349 :rule cong :premises (@p348 @p243) :args (@t204)) % 0.40/0.67 (step @p350 :rule trans :premises (@p349 @p345)) % 0.40/0.67 (step @p351 :rule cong :premises (@p350) :args (@t205)) % 0.40/0.67 (step @p352 :rule trans :premises (@p351 @p9)) % 0.40/0.67 (step @p353 :rule nary_cong :premises (@p352 @p344 @p337) :args (@t206)) % 0.40/0.67 (step @p354 :rule trans :premises (@p353 @p336)) % 0.40/0.67 (step @p355 :rule cong :premises (@p250 @p354) :args ((=> @t131 @t206))) % 0.40/0.67 (assume-push @p521 @t131) % 0.40/0.67 (step @p357 :rule instantiate :premises (@p227) :args ((@list @t111))) % 0.40/0.67 (step-pop @p522 :rule scope :premises (@p357)) % 0.40/0.67 (step @p358 :rule process_scope :premises (@p522) :args (@t206)) % 0.40/0.67 (step @p360 :rule eq_resolve :premises (@p358 @p355)) % 0.40/0.67 (step @p361 :rule implies_elim :premises (@p360)) % 0.40/0.67 (step @p362 :rule chain_m_resolution :premises (@p361 @p227) :args (@t197 @t155 @t177)) % 0.40/0.67 (assume-push @p523 @t196) % 0.40/0.67 (assume-push @p524 @t161) % 0.40/0.67 (assume-push @p525 @t122) % 0.40/0.67 (step @p366 :rule arith-elim-lt :args (@t121 0)) % 0.40/0.67 (step @p367 :rule symm :premises (@p366)) % 0.40/0.67 (assume-push @p526 @t122) % 0.40/0.67 (step @p369 :rule evaluate :args ((<= 0 -2))) % 0.40/0.67 (step @p370 :rule evaluate :args ((+ 0 -2 0))) % 0.40/0.67 (step @p281 :rule evaluate :args (@t185)) % 0.40/0.67 (step @p371 :rule refl :args (-2)) % 0.40/0.67 (step @p372 :rule nary_cong :premises (@p281 @p371 @p281) :args (@t207)) % 0.40/0.67 (step @p373 :rule trans :premises (@p372 @p370)) % 0.40/0.67 (step @p374 :rule arith_poly_norm :args ((= (+ 0 @t120 @t127 0) 0))) % 0.40/0.67 (step @p375 :rule arith_poly_norm :args ((= @t208 0))) % 0.40/0.67 (step @p376 :rule refl :args (@t127)) % 0.40/0.67 (step @p377 :rule refl :args (@t120)) % 0.40/0.67 (step @p378 :rule arith_poly_norm :args ((= @t209 0))) % 0.40/0.67 (step @p379 :rule nary_cong :premises (@p378 @p377 @p376 @p375) :args (@t210)) % 0.40/0.67 (step @p380 :rule trans :premises (@p379 @p374)) % 0.40/0.67 (step @p381 :rule arith_poly_norm :args ((= @t211 @t210))) % 0.40/0.67 (step @p382 :rule trans :premises (@p381 @p380)) % 0.40/0.67 (step @p383 :rule cong :premises (@p382 @p373) :args ((<= @t211 @t207))) % 0.40/0.67 (step @p384 :rule trans :premises (@p383 @p369)) % 0.40/0.67 (step @p385 :rule arith_mult_neg :args (-1 @t196)) % 0.40/0.67 (step @p300 :rule evaluate :args (@t191)) % 0.40/0.67 (step @p301 :rule true_elim :premises (@p300)) % 0.40/0.67 (step @p386 :rule and_intro :premises (@p301 @p523)) % 0.40/0.67 (step @p387 :rule modus_ponens :premises (@p386 @p385)) % 0.40/0.67 (step @p388 :rule arith_poly_norm :args ((= (* 2 (- @t124 -2)) @t160))) % 0.40/0.67 (step @p389 :rule arith_poly_norm_rel :premises (@p388) :args ((= (= @t124 -2) @t161))) % 0.40/0.67 (step @p390 :rule symm :premises (@p389)) % 0.40/0.67 (step @p391 :rule eq_resolve :premises (@p524 @p390)) % 0.40/0.67 (step @p392 :rule arith_mult_neg :args (-1 @t122)) % 0.40/0.67 (step @p393 :rule and_intro :premises (@p301 @p264)) % 0.40/0.67 (step @p394 :rule modus_ponens :premises (@p393 @p392)) % 0.40/0.67 (step @p395 :rule arith_sum_ub :premises (@p394 @p391 @p387)) % 0.40/0.67 (step @p396 false :rule eq_resolve :premises (@p395 @p384)) % 0.40/0.67 (step-pop @p527 :rule scope :premises (@p396)) % 0.40/0.67 (step @p397 :rule process_scope :premises (@p527) :args (false)) % 0.40/0.67 (step @p399 :rule eq_resolve :premises (@p397 @p367)) % 0.40/0.67 (step @p400 :rule eq_resolve :premises (@p399 @p366)) % 0.40/0.67 (step @p401 false :rule contra :premises (@p264 @p400)) % 0.40/0.67 (step-pop @p528 :rule scope :premises (@p401)) % 0.40/0.67 (step-pop @p529 :rule scope :premises (@p528)) % 0.40/0.67 (step-pop @p530 :rule scope :premises (@p529)) % 0.40/0.67 (step @p402 :rule process_scope :premises (@p530) :args (false)) % 0.40/0.67 (assume-push @p531 @t122) % 0.40/0.67 (assume-push @p532 @t161) % 0.40/0.67 (assume-push @p533 @t196) % 0.40/0.67 (step @p409 :rule and_intro :premises (@p533 @p532 @p264)) % 0.40/0.67 (step-pop @p534 :rule scope :premises (@p409)) % 0.40/0.67 (step-pop @p535 :rule scope :premises (@p534)) % 0.40/0.67 (step-pop @p536 :rule scope :premises (@p535)) % 0.40/0.67 (step @p410 :rule process_scope :premises (@p536) :args (@t212)) % 0.40/0.67 (step @p414 :rule implies_elim :premises (@p410)) % 0.40/0.67 (step @p415 :rule resolution :premises (@p414 @p402) :args (true @t212)) % 0.40/0.67 (step @p416 :rule not_and :premises (@p415)) % 0.40/0.67 (step @p417 :rule chain_m_resolution :premises (@p416 @p264 @p335) :args ((not @t196) (@list false false) (@list @t122 @t161))) % 0.40/0.67 (step @p418 :rule cnf_or_pos :args (@t197)) % 0.40/0.67 (step @p419 :rule reordering :premises (@p418) :args ((or @t194 @t196 (not @t197)))) % 0.40/0.67 (step @p420 :rule chain_m_resolution :premises (@p419 @p417 @p362) :args (@t194 @t193 (@list @t196 @t197))) % 0.40/0.67 (step @p421 :rule refl :args (@t213)) % 0.40/0.67 (step @p422 :rule refl :args (@t214)) % 0.40/0.67 (step @p423 :rule refl :args (@t215)) % 0.40/0.67 (step @p424 :rule nary_cong :premises (@p272 @p423 @p422 @p421) :args ((or @t180 @t215 @t214 @t213))) % 0.40/0.67 (assume-push @p537 @t146) % 0.40/0.67 (assume-push @p538 @t194) % 0.40/0.67 (assume-push @p539 @t152) % 0.40/0.67 (assume-push @p540 @t216) % 0.40/0.67 (assume-push @p541 @t219) % 0.40/0.67 (step @p430 :rule evaluate :args ((>= 0 -1))) % 0.40/0.67 (step @p431 :rule evaluate :args ((+ 0 -1 -1 1))) % 0.40/0.67 (step @p280 :rule evaluate :args (@t184)) % 0.40/0.67 (step @p432 :rule refl :args (-1)) % 0.40/0.67 (step @p281 :rule evaluate :args (@t185)) % 0.40/0.67 (step @p433 :rule nary_cong :premises (@p281 @p432 @p280 @p33) :args (@t220)) % 0.40/0.67 (step @p434 :rule trans :premises (@p433 @p431)) % 0.40/0.67 (step @p435 :rule arith_poly_norm :args ((= (+ @t221 0 0 @t113) 0))) % 0.40/0.67 (step @p436 :rule refl :args (@t113)) % 0.40/0.67 (step @p437 :rule arith_poly_norm :args ((= @t222 0))) % 0.40/0.67 (step @p438 :rule arith_poly_norm :args ((= @t223 0))) % 0.40/0.67 (step @p439 :rule refl :args (@t221)) % 0.40/0.67 (step @p440 :rule nary_cong :premises (@p439 @p438 @p437 @p436) :args (@t224)) % 0.40/0.67 (step @p441 :rule trans :premises (@p440 @p435)) % 0.40/0.67 (step @p442 :rule arith_poly_norm :args ((= @t226 @t224))) % 0.40/0.67 (step @p443 :rule trans :premises (@p442 @p441)) % 0.40/0.67 (step @p444 :rule cong :premises (@p443 @p434) :args (@t227)) % 0.40/0.67 (step @p445 :rule trans :premises (@p444 @p430)) % 0.40/0.67 (step @p446 :rule cong :premises (@p445) :args ((not @t227))) % 0.40/0.67 (step @p447 :rule trans :premises (@p446 @p9)) % 0.40/0.67 (step @p448 :rule arith-elim-lt :args (@t226 @t220)) % 0.40/0.67 (step @p449 :rule trans :premises (@p448 @p447)) % 0.40/0.67 (step @p296 :rule arith-elim-lt :args (@t117 1)) % 0.40/0.67 (step @p297 :rule symm :premises (@p296)) % 0.40/0.67 (step @p298 :rule eq_resolve :premises (@p192 @p297)) % 0.40/0.67 (step @p450 :rule arith_mult_neg :args (-1 @t194)) % 0.40/0.67 (step @p300 :rule evaluate :args (@t191)) % 0.40/0.67 (step @p301 :rule true_elim :premises (@p300)) % 0.40/0.67 (step @p451 :rule and_intro :premises (@p301 @p538)) % 0.40/0.67 (step @p452 :rule modus_ponens :premises (@p451 @p450)) % 0.40/0.67 (step @p453 :rule arith_poly_norm :args ((= (* 1 (- @t225 -1)) @t151))) % 0.40/0.67 (step @p454 :rule arith_poly_norm_rel :premises (@p453) :args ((= (= @t225 -1) @t152))) % 0.40/0.67 (step @p455 :rule symm :premises (@p454)) % 0.40/0.67 (step @p456 :rule eq_resolve :premises (@p207 @p455)) % 0.40/0.67 (step @p457 :rule arith_mult_neg :args (-1 @t219)) % 0.40/0.67 (step @p458 :rule and_intro :premises (@p301 @p541)) % 0.40/0.67 (step @p459 :rule modus_ponens :premises (@p458 @p457)) % 0.40/0.67 (step @p460 :rule arith_sum_ub :premises (@p459 @p456 @p452 @p298)) % 0.40/0.67 (step @p461 false :rule eq_resolve :premises (@p460 @p449)) % 0.40/0.67 (step-pop @p542 :rule scope :premises (@p461)) % 0.40/0.67 (step @p462 :rule process_scope :premises (@p542) :args (false)) % 0.40/0.67 (step @p464 :rule arith_poly_norm :args ((= (* 1 (- @t218 0)) (* 1 (- @t117 @t149))))) % 0.40/0.67 (step @p465 :rule arith_poly_norm_rel :premises (@p464) :args ((= @t219 @t216))) % 0.40/0.67 (step @p466 :rule symm :premises (@p465)) % 0.40/0.67 (step @p467 :rule eq_resolve :premises (@p540 @p466)) % 0.40/0.67 (step @p468 false :rule contra :premises (@p467 @p462)) % 0.40/0.67 (step-pop @p543 :rule scope :premises (@p468)) % 0.40/0.67 (step-pop @p544 :rule scope :premises (@p543)) % 0.40/0.67 (step-pop @p545 :rule scope :premises (@p544)) % 0.40/0.67 (step-pop @p546 :rule scope :premises (@p545)) % 0.40/0.67 (step @p469 :rule process_scope :premises (@p546) :args (false)) % 0.40/0.67 (assume-push @p547 @t146) % 0.40/0.67 (assume-push @p548 @t152) % 0.40/0.67 (assume-push @p549 @t161) % 0.40/0.67 (assume-push @p550 @t194) % 0.40/0.67 (assume-push @p551 @t228) % 0.40/0.67 (step @p479 :rule refl :args (@t116)) % 0.40/0.67 (step @p480 :rule cong :premises (@p479 @p551) :args (@t117)) % 0.40/0.67 (step-pop @p552 :rule scope :premises (@p480)) % 0.40/0.67 (step @p481 :rule process_scope :premises (@p552) :args (@t216)) % 0.40/0.67 (step @p483 :rule arith_poly_norm :args ((= (* 2 (- @t109 @t115)) (* -2 @t159)))) % 0.40/0.67 (step @p484 :rule arith_poly_norm_rel :premises (@p483) :args ((= @t228 @t161))) % 0.40/0.67 (step @p485 :rule symm :premises (@p484)) % 0.40/0.67 (step @p486 :rule eq_resolve :premises (@p549 @p485)) % 0.40/0.67 (step @p487 :rule modus_ponens :premises (@p486 @p481)) % 0.40/0.67 (step @p488 :rule and_intro :premises (@p192 @p550 @p207 @p487)) % 0.40/0.67 (step-pop @p553 :rule scope :premises (@p488)) % 0.40/0.67 (step-pop @p554 :rule scope :premises (@p553)) % 0.40/0.67 (step-pop @p555 :rule scope :premises (@p554)) % 0.40/0.67 (step-pop @p556 :rule scope :premises (@p555)) % 0.40/0.67 (step @p489 :rule process_scope :premises (@p556) :args (@t229)) % 0.40/0.67 (step @p494 :rule implies_elim :premises (@p489)) % 0.40/0.67 (step @p495 :rule resolution :premises (@p494 @p469) :args (true @t229)) % 0.40/0.67 (step @p496 :rule not_and :premises (@p495)) % 0.40/0.67 (step @p497 :rule eq_resolve :premises (@p496 @p424)) % 0.40/0.67 (step @p498 false :rule chain_m_resolution :premises (@p497 @p420 @p335 @p207 @p192) :args (false (@list false false false true) (@list @t194 @t161 @t152 @t118))) % 0.40/0.67 ) % 0.40/0.67 % SZS output end Proof % 0.40/0.67 % cvc5 exiting %------------------------------------------------------------------------------