↑ Up

cvc5---1.3.4.THM-Prf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% 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
%------------------------------------------------------------------------------