↑ Up

cvc5---1.3.4.THM-Prf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : cvc5---1.3.4
% Problem  : DAT071_1 : TPTP v9.2.1. Released v6.1.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : /export/starexec/sandbox2/solver/bin/do_cvc5 /export/starexec/sandbox2/benchmark/theBenchmark.p 300 THM

% Computer : n010.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:27 AM UTC 2026

% Result   : Theorem 45.50s 45.72s
% Output   : Proof 45.50s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12  % Problem  : DAT071_1 : TPTP v9.2.1. Released v6.1.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 : n010.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:27:40 EDT 2026
% 0.16/0.34  % CPUTime  : 
% 0.31/0.50  %----Proving TF0_ARI
% 45.50/45.72  --- Run --finite-model-find --decision=internal at 45...
% 45.50/45.72  --- Run --decision=internal --simplification=none --no-inst-no-entail --no-cbqi --full-saturate-quant at 60...
% 45.50/45.72  % SZS status Theorem
% 45.50/45.72  % SZS output start Proof
% 45.50/45.72  (
% 45.50/45.72  (declare-sort tptp.array 0)
% 45.50/45.72  (declare-const tptp.rev (-> tptp.array Int tptp.array))
% 45.50/45.72  (declare-const tptp.distinct (-> tptp.array Int Bool))
% 45.50/45.72  (declare-const tptp.sorted (-> tptp.array Int Bool))
% 45.50/45.72  (declare-const tptp.max (-> tptp.array Int Int))
% 45.50/45.72  (declare-const tptp.init (-> Int tptp.array))
% 45.50/45.72  (declare-const tptp.inRange (-> tptp.array Int Int Bool))
% 45.50/45.72  (declare-const tptp.read (-> tptp.array Int Int))
% 45.50/45.72  (declare-const tptp.write (-> tptp.array Int Int tptp.array))
% 45.50/45.72  (define @t1 () (@var "V" Int))
% 45.50/45.72  (define @t2 () (@var "I" Int))
% 45.50/45.72  (define @t3 () (@var "A" tptp.array))
% 45.50/45.72  (define @t4 () (tptp.write @t3 @t2 @t1))
% 45.50/45.72  (define @t5 () (@var "J" Int))
% 45.50/45.72  (define @t6 () (tptp.read @t3 @t5))
% 45.50/45.72  (define @t7 () (= @t2 @t5))
% 45.50/45.72  (define @t8 () (@var "B" tptp.array))
% 45.50/45.72  (define @t9 () (tptp.read @t8 @t2))
% 45.50/45.72  (define @t10 () (tptp.read @t3 @t2))
% 45.50/45.72  (define @t11 () (@list @t2))
% 45.50/45.72  (define @t12 () (@var "W" Int))
% 45.50/45.72  (define @t13 () (@var "N" Int))
% 45.50/45.72  (define @t14 () (>= @t2 0))
% 45.50/45.72  (define @t15 () (> @t13 @t2))
% 45.50/45.72  (define @t16 () (and @t15 @t14))
% 45.50/45.72  (define @t17 () (@list @t2 @t5))
% 45.50/45.72  (define @t18 () (@list @t3 @t13))
% 45.50/45.72  (define @t19 () (@var "R" Int))
% 45.50/45.72  (define @t20 () (>= @t2 @t13))
% 45.50/45.72  (define @t21 () (@var "W2" Int))
% 45.50/45.72  (define @t22 () (@var "W1" Int))
% 45.50/45.72  (define @t23 () (= @t22 @t21))
% 45.50/45.72  (define @t24 () (= @t10 @t21))
% 45.50/45.72  (define @t25 () (and @t15 @t14 @t24))
% 45.50/45.72  (define @t26 () (exists @t11 @t25))
% 45.50/45.72  (define @t27 () (=> @t16 (<= @t10 @t21)))
% 45.50/45.72  (define @t28 () (forall @t11 @t27))
% 45.50/45.72  (define @t29 () (= @t10 @t22))
% 45.50/45.72  (define @t30 () (and @t15 @t14 @t29))
% 45.50/45.72  (define @t31 () (exists @t11 @t30))
% 45.50/45.72  (define @t32 () (=> @t16 (<= @t10 @t22)))
% 45.50/45.72  (define @t33 () (forall @t11 @t32))
% 45.50/45.72  (define @t34 () (and @t33 @t31 @t28 @t26))
% 45.50/45.72  (define @t35 () (=> @t34 @t23))
% 45.50/45.72  (define @t36 () (@list @t3 @t13 @t22 @t21))
% 45.50/45.72  (define @t37 () (forall @t36 @t35))
% 45.50/45.72  (define @t38 () (not @t37))
% 45.50/45.72  (define @t39 () (@var "BOUND_VARIABLE_7765" Int))
% 45.50/45.72  (define @t40 () (not (>= @t39 0)))
% 45.50/45.72  (define @t41 () (+ @t13 (* -1 @t39)))
% 45.50/45.72  (define @t42 () (not (>= @t41 1)))
% 45.50/45.72  (define @t43 () (@var "BOUND_VARIABLE_7755" Int))
% 45.50/45.72  (define @t44 () (not (>= @t43 0)))
% 45.50/45.72  (define @t45 () (+ @t13 (* -1 @t43)))
% 45.50/45.72  (define @t46 () (not (>= @t45 1)))
% 45.50/45.72  (define @t47 () (tptp.read @t3 @t39))
% 45.50/45.72  (define @t48 () (tptp.read @t3 @t43))
% 45.50/45.72  (define @t49 () (= @t48 @t47))
% 45.50/45.72  (define @t50 () (+ @t10 (* -1 @t47)))
% 45.50/45.72  (define @t51 () (not @t14))
% 45.50/45.72  (define @t52 () (* -1 @t13))
% 45.50/45.72  (define @t53 () (+ @t2 @t52))
% 45.50/45.72  (define @t54 () (>= @t53 0))
% 45.50/45.72  (define @t55 () (not (forall @t11 (or @t54 @t51 (not (>= @t50 1))))))
% 45.50/45.72  (define @t56 () (+ @t10 (* -1 @t48)))
% 45.50/45.72  (define @t57 () (not (forall @t11 (or @t54 @t51 (not (>= @t56 1))))))
% 45.50/45.72  (define @t58 () (or @t57 @t55 @t49 @t46 @t44 @t42 @t40))
% 45.50/45.72  (define @t59 () (@list @t3 @t13 @t43 @t39))
% 45.50/45.72  (define @t60 () (forall @t59 @t58))
% 45.50/45.72  (define @t61 () (@quantifiers_skolemize @t60 3))
% 45.50/45.72  (define @t62 () (@quantifiers_skolemize @t60 0))
% 45.50/45.72  (define @t63 () (tptp.read @t62 @t61))
% 45.50/45.72  (define @t64 () (* -1 @t63))
% 45.50/45.72  (define @t65 () (@quantifiers_skolemize @t60 2))
% 45.50/45.72  (define @t66 () (tptp.read @t62 @t65))
% 45.50/45.72  (define @t67 () (+ @t66 @t64))
% 45.50/45.72  (define @t68 () (>= @t67 1))
% 45.50/45.72  (define @t69 () (+ 0 1))
% 45.50/45.72  (define @t70 () (>= @t67 @t69))
% 45.50/45.72  (define @t71 () (not (= @t47 @t47)))
% 45.50/45.72  (define @t72 () (= @t47 @t48))
% 45.50/45.72  (define @t73 () (* -1 @t10))
% 45.50/45.72  (define @t74 () (+ @t73 @t47))
% 45.50/45.72  (define @t75 () (+ @t50 1))
% 45.50/45.72  (define @t76 () (+ @t47 @t73))
% 45.50/45.72  (define @t77 () (>= @t76 0))
% 45.50/45.72  (define @t78 () (or @t54 @t51 @t77))
% 45.50/45.72  (define @t79 () (forall @t11 @t78))
% 45.50/45.72  (define @t80 () (not @t79))
% 45.50/45.72  (define @t81 () (or @t57 @t80 @t72 @t46 @t44 @t42 @t40 @t71))
% 45.50/45.72  (define @t82 () (not (= @t21 @t47)))
% 45.50/45.72  (define @t83 () (= @t21 @t48))
% 45.50/45.72  (define @t84 () (+ @t21 @t73))
% 45.50/45.72  (define @t85 () (>= @t84 0))
% 45.50/45.72  (define @t86 () (or @t54 @t51 @t85))
% 45.50/45.72  (define @t87 () (forall @t11 @t86))
% 45.50/45.72  (define @t88 () (not @t87))
% 45.50/45.72  (define @t89 () (or @t82 @t57 @t88 @t83 @t46 @t44 @t42 @t40 @t82))
% 45.50/45.72  (define @t90 () (@list @t21))
% 45.50/45.72  (define @t91 () (or @t57 @t88 @t83 @t46 @t44 @t42 @t40 @t82))
% 45.50/45.72  (define @t92 () (forall @t90 @t91))
% 45.50/45.72  (define @t93 () (forall @t59 @t92))
% 45.50/45.72  (define @t94 () (forall (@list @t3 @t13 @t43 @t39 @t21) @t91))
% 45.50/45.72  (define @t95 () (@list @t3 @t13 @t21 @t43 @t39))
% 45.50/45.72  (define @t96 () (not (= @t48 @t48)))
% 45.50/45.72  (define @t97 () (= @t48 @t21))
% 45.50/45.72  (define @t98 () (+ @t73 @t48))
% 45.50/45.72  (define @t99 () (+ @t56 1))
% 45.50/45.72  (define @t100 () (+ @t48 @t73))
% 45.50/45.72  (define @t101 () (>= @t100 0))
% 45.50/45.72  (define @t102 () (or @t54 @t51 @t101))
% 45.50/45.72  (define @t103 () (forall @t11 @t102))
% 45.50/45.72  (define @t104 () (not @t103))
% 45.50/45.72  (define @t105 () (or @t104 @t88 @t97 @t46 @t44 @t96 @t42 @t40 @t82))
% 45.50/45.72  (define @t106 () (not (= @t22 @t48)))
% 45.50/45.72  (define @t107 () (+ @t22 @t73))
% 45.50/45.72  (define @t108 () (>= @t107 0))
% 45.50/45.72  (define @t109 () (or @t54 @t51 @t108))
% 45.50/45.72  (define @t110 () (forall @t11 @t109))
% 45.50/45.72  (define @t111 () (not @t110))
% 45.50/45.72  (define @t112 () (or @t106 @t111 @t88 @t23 @t46 @t44 @t106 @t42 @t40 @t82))
% 45.50/45.72  (define @t113 () (@list @t22))
% 45.50/45.72  (define @t114 () (or @t111 @t88 @t23 @t46 @t44 @t106 @t42 @t40 @t82))
% 45.50/45.72  (define @t115 () (forall @t113 @t114))
% 45.50/45.72  (define @t116 () (forall @t95 @t115))
% 45.50/45.72  (define @t117 () (forall (@list @t3 @t13 @t21 @t43 @t39 @t22) @t114))
% 45.50/45.72  (define @t118 () (@list @t3 @t13 @t22 @t21 @t43 @t39))
% 45.50/45.72  (define @t119 () (+ @t52 @t39))
% 45.50/45.72  (define @t120 () (+ @t41 1))
% 45.50/45.72  (define @t121 () (+ @t39 @t52))
% 45.50/45.72  (define @t122 () (>= @t121 0))
% 45.50/45.72  (define @t123 () (+ @t52 @t43))
% 45.50/45.72  (define @t124 () (+ @t45 1))
% 45.50/45.72  (define @t125 () (+ @t43 @t52))
% 45.50/45.72  (define @t126 () (>= @t125 0))
% 45.50/45.72  (define @t127 () (or @t111 @t88 @t23 @t126 @t44 @t106 @t122 @t40 @t82))
% 45.50/45.72  (define @t128 () (or @t122 @t40 @t82))
% 45.50/45.72  (define @t129 () (or @t126 @t44 @t106))
% 45.50/45.72  (define @t130 () (or @t111 @t129 @t88 @t128 @t23))
% 45.50/45.72  (define @t131 () (forall @t118 @t130))
% 45.50/45.72  (define @t132 () (forall (@list @t43 @t39) @t130))
% 45.50/45.72  (define @t133 () (forall (@list @t39) @t128))
% 45.50/45.72  (define @t134 () (@list @t2))
% 45.50/45.72  (define @t135 () (forall (@list @t43) @t129))
% 45.50/45.72  (define @t136 () (or @t111 @t135 @t88 @t133 @t23))
% 45.50/45.72  (define @t137 () (= @t21 @t10))
% 45.50/45.72  (define @t138 () (not @t137))
% 45.50/45.72  (define @t139 () (forall @t11 (or @t54 @t51 @t138)))
% 45.50/45.72  (define @t140 () (= @t22 @t10))
% 45.50/45.72  (define @t141 () (not @t140))
% 45.50/45.72  (define @t142 () (forall @t11 (or @t54 @t51 @t141)))
% 45.50/45.72  (define @t143 () (or @t111 @t142 @t88 @t139 @t23))
% 45.50/45.72  (define @t144 () (not @t139))
% 45.50/45.72  (define @t145 () (not @t144))
% 45.50/45.72  (define @t146 () (not @t142))
% 45.50/45.72  (define @t147 () (not @t146))
% 45.50/45.72  (define @t148 () (or @t111 @t147 @t88 @t145))
% 45.50/45.72  (define @t149 () (and @t110 @t146 @t87 @t144))
% 45.50/45.72  (define @t150 () (not @t54))
% 45.50/45.72  (define @t151 () (not @t150))
% 45.50/45.72  (define @t152 () (or @t151 @t51 @t138))
% 45.50/45.72  (define @t153 () (and @t150 @t14 @t137))
% 45.50/45.72  (define @t154 () (forall @t11 (not @t153)))
% 45.50/45.72  (define @t155 () (not @t154))
% 45.50/45.72  (define @t156 () (- @t21 @t10))
% 45.50/45.72  (define @t157 () (or @t54 @t51))
% 45.50/45.72  (define @t158 () (and @t150 @t14))
% 45.50/45.72  (define @t159 () (not @t158))
% 45.50/45.72  (define @t160 () (or @t151 @t51 @t141))
% 45.50/45.72  (define @t161 () (and @t150 @t14 @t140))
% 45.50/45.72  (define @t162 () (forall @t11 (not @t161)))
% 45.50/45.72  (define @t163 () (not @t162))
% 45.50/45.72  (define @t164 () (- @t22 @t10))
% 45.50/45.72  (define @t165 () (tptp.read @t62 @t2))
% 45.50/45.72  (define @t166 () (@quantifiers_skolemize @t60 1))
% 45.50/45.72  (define @t167 () (* -1 @t166))
% 45.50/45.72  (define @t168 () (>= (+ @t2 @t167) 0))
% 45.50/45.72  (define @t169 () (forall @t11 (or @t168 @t51 (not (>= (+ @t165 @t64) 1)))))
% 45.50/45.72  (define @t170 () (>= @t61 0))
% 45.50/45.72  (define @t171 () (not @t170))
% 45.50/45.72  (define @t172 () (+ @t166 (* -1 @t61)))
% 45.50/45.72  (define @t173 () (>= @t172 1))
% 45.50/45.72  (define @t174 () (not @t173))
% 45.50/45.72  (define @t175 () (>= @t65 0))
% 45.50/45.72  (define @t176 () (not @t175))
% 45.50/45.72  (define @t177 () (+ @t166 (* -1 @t65)))
% 45.50/45.72  (define @t178 () (>= @t177 1))
% 45.50/45.72  (define @t179 () (not @t178))
% 45.50/45.72  (define @t180 () (= @t66 @t63))
% 45.50/45.72  (define @t181 () (not @t169))
% 45.50/45.72  (define @t182 () (* -1 @t66))
% 45.50/45.72  (define @t183 () (forall @t11 (or @t168 @t51 (not (>= (+ @t165 @t182) 1)))))
% 45.50/45.72  (define @t184 () (not @t183))
% 45.50/45.72  (define @t185 () (or @t184 @t181 @t180 @t179 @t176 @t174 @t171))
% 45.50/45.72  (define @t186 () (@list true))
% 45.50/45.72  (define @t187 () (@list @t185))
% 45.50/45.72  (define @t188 () (not @t68))
% 45.50/45.72  (define @t189 () (+ @t167 @t65))
% 45.50/45.72  (define @t190 () (+ @t177 1))
% 45.50/45.72  (define @t191 () (+ @t65 @t167))
% 45.50/45.72  (define @t192 () (>= @t191 0))
% 45.50/45.72  (define @t193 () (or @t192 @t176 @t188))
% 45.50/45.72  (define @t194 () (or @t179 @t176 @t188))
% 45.50/45.72  (define @t195 () (@list false))
% 45.50/45.72  (define @t196 () (@list false false false))
% 45.50/45.72  (define @t197 () (>= @t67 0))
% 45.50/45.72  (define @t198 () (+ @t182 @t63))
% 45.50/45.72  (define @t199 () (+ @t67 1))
% 45.50/45.72  (define @t200 () (+ @t63 @t182))
% 45.50/45.73  (define @t201 () (>= @t200 1))
% 45.50/45.73  (define @t202 () (not @t201))
% 45.50/45.73  (define @t203 () (+ @t167 @t61))
% 45.50/45.73  (define @t204 () (+ @t172 1))
% 45.50/45.73  (define @t205 () (+ @t61 @t167))
% 45.50/45.73  (define @t206 () (>= @t205 0))
% 45.50/45.73  (define @t207 () (or @t206 @t171 @t202))
% 45.50/45.73  (define @t208 () (or @t174 @t171 @t197))
% 45.50/45.73  (define @t209 () (= @t67 0))
% 45.50/45.73  (assume @p1 (forall (@list @t3 @t2 @t1) (= (tptp.read @t4 @t2) @t1)))
% 45.50/45.73  (assume @p2 (forall (@list @t3 @t2 @t5 @t1) (or @t7 (= (tptp.read @t4 @t5) @t6))))
% 45.50/45.73  (assume @p3 (forall (@list @t3 @t8) (=> (forall @t11 (= @t10 @t9)) (= @t3 @t8))))
% 45.50/45.73  (assume @p4 (forall (@list @t1 @t2) (= (tptp.read (tptp.init @t1) @t2) @t1)))
% 45.50/45.73  (assume @p5 (forall (@list @t3 @t13 @t12) (=> (and (forall @t11 (=> @t16 (<= @t10 @t12))) (exists @t11 (and @t15 @t14 (= @t10 @t12)))) (= (tptp.max @t3 @t13) @t12))))
% 45.50/45.73  (assume @p6 (forall @t18 (= (tptp.sorted @t3 @t13) (forall @t17 (=> (and (<= 0 @t2) (< @t2 @t13) (< @t2 @t5) (< @t5 @t13)) (<= @t10 @t6))))))
% 45.50/45.73  (assume @p7 (forall (@list @t3 @t19 @t13) (= (tptp.inRange @t3 @t19 @t13) (forall @t11 (=> @t16 (and (>= @t19 @t10) (>= @t10 0)))))))
% 45.50/45.73  (assume @p8 (forall @t18 (= (tptp.distinct @t3 @t13) (forall @t17 (=> (and @t15 (> @t13 @t5) (>= @t5 0) @t14) (=> (= @t10 @t6) @t7))))))
% 45.50/45.73  (assume @p9 (forall (@list @t3 @t8 @t13) (=> (forall @t11 (or (and @t14 @t15 (= @t9 (tptp.read @t3 (- @t13 (+ @t2 1))))) (and (or (> 0 @t2) @t20) (= @t9 @t10)))) (= (tptp.rev @t3 @t13) @t8))))
% 45.50/45.73  (assume @p10 @t38)
% 45.50/45.73  (assume @p11 true)
% 45.50/45.73  (step @p12 :rule bool-double-not-elim :args (@t68))
% 45.50/45.73  (step @p13 :rule evaluate :args (@t69))
% 45.50/45.73  (step @p14 :rule refl :args (@t67))
% 45.50/45.73  (step @p15 :rule cong :premises (@p14 @p13) :args (@t70))
% 45.50/45.73  (step @p16 :rule cong :premises (@p15) :args ((not @t70)))
% 45.50/45.73  (step @p17 :rule arith-leq-norm :args (@t67 0))
% 45.50/45.73  (step @p18 :rule trans :premises (@p17 @p16))
% 45.50/45.73  (step @p19 :rule cong :premises (@p18) :args ((not (<= @t67 0))))
% 45.50/45.73  (step @p20 :rule trans :premises (@p19 @p12))
% 45.50/45.73  (step @p21 :rule arith-elim-leq :args (@t67 0))
% 45.50/45.73  (step @p22 :rule symm :premises (@p21))
% 45.50/45.73  (step @p23 :rule cong :premises (@p22) :args ((not (>= 0 @t67))))
% 45.50/45.73  (step @p24 :rule arith-elim-gt :args (@t67 0))
% 45.50/45.73  (step @p25 :rule trans :premises (@p24 @p23))
% 45.50/45.73  (step @p26 :rule trans :premises (@p25 @p20))
% 45.50/45.73  (step @p27 :rule cong :premises (@p26) :args ((not (> @t67 0))))
% 45.50/45.73  (step @p28 :rule symm :premises (@p27))
% 45.50/45.73  (step @p29 :rule trans :premises (@p18 @p28))
% 45.50/45.73  (step @p30 :rule arith-elim-lt :args (@t67 1))
% 45.50/45.73  (step @p31 :rule symm :premises (@p30))
% 45.50/45.73  (step @p32 :rule aci_norm :args ((= (or @t57 @t55 @t49 @t46 @t44 @t42 @t40 false) @t58)))
% 45.50/45.73  (step @p33 :rule evaluate :args ((not true)))
% 45.50/45.73  (step @p34 :rule eq-refl :args (@t47))
% 45.50/45.73  (step @p35 :rule cong :premises (@p34) :args (@t71))
% 45.50/45.73  (step @p36 :rule trans :premises (@p35 @p33))
% 45.50/45.73  (step @p37 :rule refl :args (@t40))
% 45.50/45.73  (step @p38 :rule refl :args (@t42))
% 45.50/45.73  (step @p39 :rule refl :args (@t44))
% 45.50/45.73  (step @p40 :rule refl :args (@t46))
% 45.50/45.73  (step @p41 :rule arith_poly_norm :args ((= (* 1 (- @t47 @t48)) (* -1 (- @t48 @t47)))))
% 45.50/45.73  (step @p42 :rule arith_poly_norm_rel :premises (@p41) :args ((= @t72 @t49)))
% 45.50/45.73  (step @p43 :rule arith_poly_norm :args ((= (* -1 (- 1 @t75)) (* -1 (- @t74 0)))))
% 45.50/45.73  (step @p44 :rule arith_poly_norm_rel :premises (@p43) :args ((= (>= 1 @t75) (>= @t74 0))))
% 45.50/45.73  (step @p45 :rule arith-geq-tighten :args (@t50 1))
% 45.50/45.73  (step @p46 :rule trans :premises (@p45 @p44))
% 45.50/45.73  (step @p47 :rule symm :premises (@p46))
% 45.50/45.73  (step @p48 :rule refl :args (0))
% 45.50/45.73  (step @p49 :rule arith_poly_norm :args ((= @t76 @t74)))
% 45.50/45.73  (step @p50 :rule cong :premises (@p49 @p48) :args (@t77))
% 45.50/45.73  (step @p51 :rule trans :premises (@p50 @p47))
% 45.50/45.73  (step @p52 :rule refl :args (@t51))
% 45.50/45.73  (step @p53 :rule refl :args (@t54))
% 45.50/45.73  (step @p54 :rule nary_cong :premises (@p53 @p52 @p51) :args (@t78))
% 45.50/45.73  (step @p55 :rule cong :premises (@p54) :args (@t79))
% 45.50/45.73  (step @p56 :rule cong :premises (@p55) :args (@t80))
% 45.50/45.73  (step @p57 :rule refl :args (@t57))
% 45.50/45.73  (step @p58 :rule nary_cong :premises (@p57 @p56 @p42 @p40 @p39 @p38 @p37 @p36) :args (@t81))
% 45.50/45.73  (step @p59 :rule trans :premises (@p58 @p32))
% 45.50/45.73  (step @p60 :rule cong :premises (@p59) :args ((forall @t59 @t81)))
% 45.50/45.73  (step @p61 :rule quant-var-elim-eq :args ((= (forall @t90 @t89) @t81)))
% 45.50/45.73  (step @p62 :rule aci_norm :args ((= @t91 @t89)))
% 45.50/45.73  (step @p63 :rule cong :premises (@p62) :args (@t92))
% 45.50/45.73  (step @p64 :rule trans :premises (@p63 @p61))
% 45.50/45.73  (step @p65 :rule cong :premises (@p64) :args (@t93))
% 45.50/45.73  (step @p66 :rule quant-merge-prenex :args ((= @t93 @t94)))
% 45.50/45.73  (step @p67 :rule symm :premises (@p66))
% 45.50/45.73  (step @p68 :rule quant_var_reordering :args ((= (forall @t95 @t91) @t94)))
% 45.50/45.73  (step @p69 :rule trans :premises (@p68 @p67 @p65))
% 45.50/45.73  (step @p70 :rule trans :premises (@p69 @p60))
% 45.50/45.73  (step @p71 :rule aci_norm :args ((= (or @t57 @t88 @t83 @t46 @t44 false @t42 @t40 @t82) @t91)))
% 45.50/45.73  (step @p72 :rule refl :args (@t82))
% 45.50/45.73  (step @p73 :rule eq-refl :args (@t48))
% 45.50/45.73  (step @p74 :rule cong :premises (@p73) :args (@t96))
% 45.50/45.73  (step @p75 :rule trans :premises (@p74 @p33))
% 45.50/45.73  (step @p76 :rule arith_poly_norm :args ((= (* 1 (- @t48 @t21)) (* -1 (- @t21 @t48)))))
% 45.50/45.73  (step @p77 :rule arith_poly_norm_rel :premises (@p76) :args ((= @t97 @t83)))
% 45.50/45.73  (step @p78 :rule refl :args (@t88))
% 45.50/45.73  (step @p79 :rule arith_poly_norm :args ((= (* -1 (- 1 @t99)) (* -1 (- @t98 0)))))
% 45.50/45.73  (step @p80 :rule arith_poly_norm_rel :premises (@p79) :args ((= (>= 1 @t99) (>= @t98 0))))
% 45.50/45.73  (step @p81 :rule arith-geq-tighten :args (@t56 1))
% 45.50/45.73  (step @p82 :rule trans :premises (@p81 @p80))
% 45.50/45.73  (step @p83 :rule symm :premises (@p82))
% 45.50/45.73  (step @p84 :rule arith_poly_norm :args ((= @t100 @t98)))
% 45.50/45.73  (step @p85 :rule cong :premises (@p84 @p48) :args (@t101))
% 45.50/45.73  (step @p86 :rule trans :premises (@p85 @p83))
% 45.50/45.73  (step @p87 :rule nary_cong :premises (@p53 @p52 @p86) :args (@t102))
% 45.50/45.73  (step @p88 :rule cong :premises (@p87) :args (@t103))
% 45.50/45.73  (step @p89 :rule cong :premises (@p88) :args (@t104))
% 45.50/45.73  (step @p90 :rule nary_cong :premises (@p89 @p78 @p77 @p40 @p39 @p75 @p38 @p37 @p72) :args (@t105))
% 45.50/45.73  (step @p91 :rule trans :premises (@p90 @p71))
% 45.50/45.73  (step @p92 :rule cong :premises (@p91) :args ((forall @t95 @t105)))
% 45.50/45.73  (step @p93 :rule trans :premises (@p92 @p70))
% 45.50/45.73  (step @p94 :rule quant-var-elim-eq :args ((= (forall @t113 @t112) @t105)))
% 45.50/45.73  (step @p95 :rule aci_norm :args ((= @t114 @t112)))
% 45.50/45.73  (step @p96 :rule cong :premises (@p95) :args (@t115))
% 45.50/45.73  (step @p97 :rule trans :premises (@p96 @p94))
% 45.50/45.73  (step @p98 :rule cong :premises (@p97) :args (@t116))
% 45.50/45.73  (step @p99 :rule quant-merge-prenex :args ((= @t116 @t117)))
% 45.50/45.73  (step @p100 :rule symm :premises (@p99))
% 45.50/45.73  (step @p101 :rule quant_var_reordering :args ((= (forall @t118 @t114) @t117)))
% 45.50/45.73  (step @p102 :rule trans :premises (@p101 @p100 @p98))
% 45.50/45.73  (step @p103 :rule trans :premises (@p102 @p93))
% 45.50/45.73  (step @p104 :rule arith_poly_norm :args ((= (* -1 (- 1 @t120)) (* -1 (- @t119 0)))))
% 45.50/45.73  (step @p105 :rule arith_poly_norm_rel :premises (@p104) :args ((= (>= 1 @t120) (>= @t119 0))))
% 45.50/45.73  (step @p106 :rule arith-geq-tighten :args (@t41 1))
% 45.50/45.73  (step @p107 :rule trans :premises (@p106 @p105))
% 45.50/45.73  (step @p108 :rule symm :premises (@p107))
% 45.50/45.73  (step @p109 :rule arith_poly_norm :args ((= @t121 @t119)))
% 45.50/45.73  (step @p110 :rule cong :premises (@p109 @p48) :args (@t122))
% 45.50/45.73  (step @p111 :rule trans :premises (@p110 @p108))
% 45.50/45.73  (step @p112 :rule refl :args (@t106))
% 45.50/45.73  (step @p113 :rule arith_poly_norm :args ((= (* -1 (- 1 @t124)) (* -1 (- @t123 0)))))
% 45.50/45.73  (step @p114 :rule arith_poly_norm_rel :premises (@p113) :args ((= (>= 1 @t124) (>= @t123 0))))
% 45.50/45.73  (step @p115 :rule arith-geq-tighten :args (@t45 1))
% 45.50/45.73  (step @p116 :rule trans :premises (@p115 @p114))
% 45.50/45.73  (step @p117 :rule symm :premises (@p116))
% 45.50/45.73  (step @p118 :rule arith_poly_norm :args ((= @t125 @t123)))
% 45.50/45.73  (step @p119 :rule cong :premises (@p118 @p48) :args (@t126))
% 45.50/45.73  (step @p120 :rule trans :premises (@p119 @p117))
% 45.50/45.73  (step @p121 :rule refl :args (@t23))
% 45.50/45.73  (step @p122 :rule refl :args (@t111))
% 45.50/45.73  (step @p123 :rule nary_cong :premises (@p122 @p78 @p121 @p120 @p39 @p112 @p111 @p37 @p72) :args (@t127))
% 45.50/45.73  (step @p124 :rule aci_norm :args ((= @t130 @t127)))
% 45.50/45.73  (step @p125 :rule trans :premises (@p124 @p123))
% 45.50/45.73  (step @p126 :rule cong :premises (@p125) :args (@t131))
% 45.50/45.73  (step @p127 :rule trans :premises (@p126 @p103))
% 45.50/45.73  (step @p128 :rule quant-merge-prenex :args ((= (forall @t36 @t132) @t131)))
% 45.50/45.73  (step @p129 :rule refl :args (@t23))
% 45.50/45.73  (step @p130 :rule alpha_equiv :args (@t133 (@list @t39) @t134))
% 45.50/45.73  (step @p131 :rule refl :args (@t88))
% 45.50/45.73  (step @p132 :rule alpha_equiv :args (@t135 (@list @t43) @t134))
% 45.50/45.73  (step @p133 :rule refl :args (@t111))
% 45.50/45.73  (step @p134 :rule nary_cong :premises (@p133 @p132 @p131 @p130 @p129) :args (@t136))
% 45.50/45.73  (step @p135 :rule quant-miniscope-or :args ((= @t132 @t136)))
% 45.50/45.73  (step @p136 :rule trans :premises (@p135 @p134))
% 45.50/45.73  (step @p137 :rule symm :premises (@p136))
% 45.50/45.73  (step @p138 :rule cong :premises (@p137) :args ((forall @t36 @t143)))
% 45.50/45.73  (step @p139 :rule trans :premises (@p138 @p128))
% 45.50/45.73  (step @p140 :rule trans :premises (@p139 @p127))
% 45.50/45.73  (step @p141 :rule aci_norm :args ((= (or (or @t111 @t142 @t88 @t139) @t23) @t143)))
% 45.50/45.73  (step @p142 :rule bool-double-not-elim :args (@t139))
% 45.50/45.73  (step @p143 :rule bool-double-not-elim :args (@t142))
% 45.50/45.73  (step @p144 :rule nary_cong :premises (@p133 @p143 @p131 @p142) :args (@t148))
% 45.50/45.73  (step @p145 :rule aci_norm :args ((= (or @t111 (or @t147 (or @t88 @t145))) @t148)))
% 45.50/45.73  (step @p146 :rule trans :premises (@p145 @p144))
% 45.50/45.73  (step @p147 :rule bool-and-de-morgan :args (@t87 @t144 true))
% 45.50/45.73  (step @p148 :rule refl :args (@t147))
% 45.50/45.73  (step @p149 :rule nary_cong :premises (@p148 @p147) :args ((or @t147 (not (and @t87 @t144)))))
% 45.50/45.73  (step @p150 :rule bool-and-de-morgan :args (@t146 @t87 (and @t144)))
% 45.50/45.73  (step @p151 :rule trans :premises (@p150 @p149))
% 45.50/45.73  (step @p152 :rule nary_cong :premises (@p133 @p151) :args ((or @t111 (not (and @t146 @t87 @t144)))))
% 45.50/45.73  (step @p153 :rule bool-and-de-morgan :args (@t110 @t146 (and @t87 @t144)))
% 45.50/45.73  (step @p154 :rule trans :premises (@p153 @p152))
% 45.50/45.73  (step @p155 :rule trans :premises (@p154 @p146))
% 45.50/45.73  (step @p156 :rule nary_cong :premises (@p155 @p129) :args ((or (not @t149) @t23)))
% 45.50/45.73  (step @p157 :rule trans :premises (@p156 @p141))
% 45.50/45.73  (step @p158 :rule bool-impl-elim :args (@t149 @t23))
% 45.50/45.73  (step @p159 :rule trans :premises (@p158 @p157))
% 45.50/45.73  (step @p160 :rule cong :premises (@p159) :args ((forall @t36 (=> @t149 @t23))))
% 45.50/45.73  (step @p161 :rule trans :premises (@p160 @p140))
% 45.50/45.73  (step @p162 :rule refl :args (@t138))
% 45.50/45.73  (step @p163 :rule refl :args (@t51))
% 45.50/45.73  (step @p164 :rule bool-double-not-elim :args (@t54))
% 45.50/45.73  (step @p165 :rule nary_cong :premises (@p164 @p163 @p162) :args (@t152))
% 45.50/45.73  (step @p166 :rule aci_norm :args ((= (or @t151 (or @t51 @t138)) @t152)))
% 45.50/45.73  (step @p167 :rule trans :premises (@p166 @p165))
% 45.50/45.73  (step @p168 :rule bool-and-de-morgan :args (@t14 @t137 true))
% 45.50/45.73  (step @p169 :rule refl :args (@t151))
% 45.50/45.73  (step @p170 :rule nary_cong :premises (@p169 @p168) :args ((or @t151 (not (and @t14 @t137)))))
% 45.50/45.73  (step @p171 :rule bool-and-de-morgan :args (@t150 @t14 (and @t137)))
% 45.50/45.73  (step @p172 :rule trans :premises (@p171 @p170))
% 45.50/45.73  (step @p173 :rule trans :premises (@p172 @p167))
% 45.50/45.73  (step @p174 :rule cong :premises (@p173) :args (@t154))
% 45.50/45.73  (step @p175 :rule cong :premises (@p174) :args (@t155))
% 45.50/45.73  (step @p176 :rule exists-elim :args ((= (exists @t11 @t153) @t155)))
% 45.50/45.73  (step @p177 :rule trans :premises (@p176 @p175))
% 45.50/45.73  (step @p178 :rule arith_poly_norm :args ((= (* -1 (- @t10 @t21)) (* 1 @t156))))
% 45.50/45.73  (step @p179 :rule arith_poly_norm_rel :premises (@p178) :args ((= @t24 @t137)))
% 45.50/45.73  (step @p180 :rule refl :args (@t14))
% 45.50/45.73  (step @p181 :rule arith_poly_norm :args ((= (* 1 (- @t2 @t13)) (* 1 (- @t53 0)))))
% 45.50/45.73  (step @p182 :rule arith_poly_norm_rel :premises (@p181) :args ((= @t20 @t54)))
% 45.50/45.73  (step @p183 :rule arith-elim-leq :args (@t13 @t2))
% 45.50/45.73  (step @p184 :rule trans :premises (@p183 @p182))
% 45.50/45.73  (step @p185 :rule cong :premises (@p184) :args ((not (<= @t13 @t2))))
% 45.50/45.73  (step @p186 :rule symm :premises (@p183))
% 45.50/45.73  (step @p187 :rule cong :premises (@p186) :args ((not @t20)))
% 45.50/45.73  (step @p188 :rule arith-elim-gt :args (@t13 @t2))
% 45.50/45.73  (step @p189 :rule trans :premises (@p188 @p187))
% 45.50/45.73  (step @p190 :rule trans :premises (@p189 @p185))
% 45.50/45.73  (step @p191 :rule nary_cong :premises (@p190 @p180 @p179) :args (@t25))
% 45.50/45.73  (step @p192 :rule cong :premises (@p191) :args (@t26))
% 45.50/45.73  (step @p193 :rule trans :premises (@p192 @p177))
% 45.50/45.73  (step @p194 :rule aci_norm :args ((= (or @t157 @t85) @t86)))
% 45.50/45.73  (step @p195 :rule refl :args (@t85))
% 45.50/45.73  (step @p196 :rule nary_cong :premises (@p164 @p163) :args ((or @t151 @t51)))
% 45.50/45.73  (step @p197 :rule bool-and-de-morgan :args (@t150 @t14 true))
% 45.50/45.73  (step @p198 :rule trans :premises (@p197 @p196))
% 45.50/45.73  (step @p199 :rule nary_cong :premises (@p198 @p195) :args ((or @t159 @t85)))
% 45.50/45.73  (step @p200 :rule trans :premises (@p199 @p194))
% 45.50/45.73  (step @p201 :rule bool-impl-elim :args (@t158 @t85))
% 45.50/45.73  (step @p202 :rule trans :premises (@p201 @p200))
% 45.50/45.73  (step @p203 :rule cong :premises (@p202) :args ((forall @t11 (=> @t158 @t85))))
% 45.50/45.73  (step @p204 :rule arith_poly_norm :args ((= (* -1 @t156) (* -1 (- @t84 0)))))
% 45.50/45.73  (step @p205 :rule arith_poly_norm_rel :premises (@p204) :args ((= (>= @t21 @t10) @t85)))
% 45.50/45.73  (step @p206 :rule arith-elim-leq :args (@t10 @t21))
% 45.50/45.73  (step @p207 :rule trans :premises (@p206 @p205))
% 45.50/45.73  (step @p208 :rule nary_cong :premises (@p190 @p180) :args (@t16))
% 45.50/45.73  (step @p209 :rule cong :premises (@p208 @p207) :args (@t27))
% 45.50/45.73  (step @p210 :rule cong :premises (@p209) :args (@t28))
% 45.50/45.73  (step @p211 :rule trans :premises (@p210 @p203))
% 45.50/45.73  (step @p212 :rule refl :args (@t141))
% 45.50/45.73  (step @p213 :rule nary_cong :premises (@p164 @p163 @p212) :args (@t160))
% 45.50/45.73  (step @p214 :rule aci_norm :args ((= (or @t151 (or @t51 @t141)) @t160)))
% 45.50/45.73  (step @p215 :rule trans :premises (@p214 @p213))
% 45.50/45.73  (step @p216 :rule bool-and-de-morgan :args (@t14 @t140 true))
% 45.50/45.73  (step @p217 :rule nary_cong :premises (@p169 @p216) :args ((or @t151 (not (and @t14 @t140)))))
% 45.50/45.73  (step @p218 :rule bool-and-de-morgan :args (@t150 @t14 (and @t140)))
% 45.50/45.73  (step @p219 :rule trans :premises (@p218 @p217))
% 45.50/45.73  (step @p220 :rule trans :premises (@p219 @p215))
% 45.50/45.73  (step @p221 :rule cong :premises (@p220) :args (@t162))
% 45.50/45.73  (step @p222 :rule cong :premises (@p221) :args (@t163))
% 45.50/45.73  (step @p223 :rule exists-elim :args ((= (exists @t11 @t161) @t163)))
% 45.50/45.73  (step @p224 :rule trans :premises (@p223 @p222))
% 45.50/45.73  (step @p225 :rule arith_poly_norm :args ((= (* -1 (- @t10 @t22)) (* 1 @t164))))
% 45.50/45.73  (step @p226 :rule arith_poly_norm_rel :premises (@p225) :args ((= @t29 @t140)))
% 45.50/45.73  (step @p227 :rule nary_cong :premises (@p190 @p180 @p226) :args (@t30))
% 45.50/45.73  (step @p228 :rule cong :premises (@p227) :args (@t31))
% 45.50/45.73  (step @p229 :rule trans :premises (@p228 @p224))
% 45.50/45.73  (step @p230 :rule aci_norm :args ((= (or @t157 @t108) @t109)))
% 45.50/45.73  (step @p231 :rule refl :args (@t108))
% 45.50/45.73  (step @p232 :rule nary_cong :premises (@p198 @p231) :args ((or @t159 @t108)))
% 45.50/45.73  (step @p233 :rule trans :premises (@p232 @p230))
% 45.50/45.73  (step @p234 :rule bool-impl-elim :args (@t158 @t108))
% 45.50/45.73  (step @p235 :rule trans :premises (@p234 @p233))
% 45.50/45.73  (step @p236 :rule cong :premises (@p235) :args ((forall @t11 (=> @t158 @t108))))
% 45.50/45.73  (step @p237 :rule arith_poly_norm :args ((= (* -1 @t164) (* -1 (- @t107 0)))))
% 45.50/45.73  (step @p238 :rule arith_poly_norm_rel :premises (@p237) :args ((= (>= @t22 @t10) @t108)))
% 45.50/45.73  (step @p239 :rule arith-elim-leq :args (@t10 @t22))
% 45.50/45.73  (step @p240 :rule trans :premises (@p239 @p238))
% 45.50/45.73  (step @p241 :rule cong :premises (@p208 @p240) :args (@t32))
% 45.50/45.73  (step @p242 :rule cong :premises (@p241) :args (@t33))
% 45.50/45.73  (step @p243 :rule trans :premises (@p242 @p236))
% 45.50/45.73  (step @p244 :rule nary_cong :premises (@p243 @p229 @p211 @p193) :args (@t34))
% 45.50/45.73  (step @p245 :rule cong :premises (@p244 @p121) :args (@t35))
% 45.50/45.73  (step @p246 :rule cong :premises (@p245) :args (@t37))
% 45.50/45.73  (step @p247 :rule trans :premises (@p246 @p161))
% 45.50/45.73  (step @p248 :rule cong :premises (@p247) :args (@t38))
% 45.50/45.73  (step @p249 :rule eq_resolve :premises (@p10 @p248))
% 45.50/45.73  (step @p250 :rule skolemize :premises (@p249))
% 45.50/45.73  (step @p251 :rule bool-double-not-elim :args (@t169))
% 45.50/45.73  (step @p252 :rule refl :args (@t185))
% 45.50/45.73  (step @p253 :rule nary_cong :premises (@p252 @p251) :args ((or @t185 (not @t181))))
% 45.50/45.73  (step @p254 :rule cnf_or_neg :args (@t185 1))
% 45.50/45.73  (step @p255 :rule eq_resolve :premises (@p254 @p253))
% 45.50/45.73  (step @p256 :rule reordering :premises (@p255) :args ((or @t169 @t185)))
% 45.50/45.73  (step @p257 :rule chain_m_resolution :premises (@p256 @p250) :args (@t169 @t186 @t187))
% 45.50/45.73  (step @p258 :rule refl :args (@t188))
% 45.50/45.73  (step @p259 :rule refl :args (@t176))
% 45.50/45.73  (step @p260 :rule arith_poly_norm :args ((= (* -1 (- 1 @t190)) (* -1 (- @t189 0)))))
% 45.50/45.73  (step @p261 :rule arith_poly_norm_rel :premises (@p260) :args ((= (>= 1 @t190) (>= @t189 0))))
% 45.50/45.73  (step @p262 :rule arith-geq-tighten :args (@t177 1))
% 45.50/45.73  (step @p263 :rule trans :premises (@p262 @p261))
% 45.50/45.73  (step @p264 :rule symm :premises (@p263))
% 45.50/45.73  (step @p265 :rule arith_poly_norm :args ((= @t191 @t189)))
% 45.50/45.73  (step @p266 :rule cong :premises (@p265 @p48) :args (@t192))
% 45.50/45.73  (step @p267 :rule trans :premises (@p266 @p264))
% 45.50/45.73  (step @p268 :rule nary_cong :premises (@p267 @p259 @p258) :args (@t193))
% 45.50/45.73  (step @p269 :rule refl :args (@t169))
% 45.50/45.73  (step @p270 :rule cong :premises (@p269 @p268) :args ((=> @t169 @t193)))
% 45.50/45.73  (assume-push @p357 @t169)
% 45.50/45.73  (step @p272 :rule instantiate :premises (@p257) :args ((@list @t65)))
% 45.50/45.73  (step-pop @p358 :rule scope :premises (@p272))
% 45.50/45.73  (step @p273 :rule process_scope :premises (@p358) :args (@t193))
% 45.50/45.73  (step @p275 :rule eq_resolve :premises (@p273 @p270))
% 45.50/45.73  (step @p276 :rule implies_elim :premises (@p275))
% 45.50/45.73  (step @p277 :rule chain_m_resolution :premises (@p276 @p257) :args (@t194 @t195 (@list @t169)))
% 45.50/45.73  (step @p278 :rule bool-double-not-elim :args (@t175))
% 45.50/45.73  (step @p279 :rule nary_cong :premises (@p252 @p278) :args ((or @t185 (not @t176))))
% 45.50/45.73  (step @p280 :rule cnf_or_neg :args (@t185 4))
% 45.50/45.73  (step @p281 :rule eq_resolve :premises (@p280 @p279))
% 45.50/45.73  (step @p282 :rule reordering :premises (@p281) :args ((or @t175 @t185)))
% 45.50/45.73  (step @p283 :rule chain_m_resolution :premises (@p282 @p250) :args (@t175 @t186 @t187))
% 45.50/45.73  (step @p284 :rule bool-double-not-elim :args (@t178))
% 45.50/45.73  (step @p285 :rule nary_cong :premises (@p252 @p284) :args ((or @t185 (not @t179))))
% 45.50/45.73  (step @p286 :rule cnf_or_neg :args (@t185 3))
% 45.50/45.73  (step @p287 :rule eq_resolve :premises (@p286 @p285))
% 45.50/45.73  (step @p288 :rule reordering :premises (@p287) :args ((or @t178 @t185)))
% 45.50/45.73  (step @p289 :rule chain_m_resolution :premises (@p288 @p250) :args (@t178 @t186 @t187))
% 45.50/45.73  (step @p290 :rule cnf_or_pos :args (@t194))
% 45.50/45.73  (step @p291 :rule reordering :premises (@p290) :args ((or @t179 @t176 @t188 (not @t194))))
% 45.50/45.73  (step @p292 :rule chain_m_resolution :premises (@p291 @p289 @p283 @p277) :args (@t188 @t196 (@list @t178 @t175 @t194)))
% 45.50/45.73  (step @p293 :rule eq_resolve :premises (@p292 @p31))
% 45.50/45.73  (step @p294 :rule int_tight_ub :premises (@p293))
% 45.50/45.73  (step @p295 :rule eq_resolve :premises (@p294 @p29))
% 45.50/45.73  (step @p296 :rule bool-double-not-elim :args (@t183))
% 45.50/45.73  (step @p297 :rule nary_cong :premises (@p252 @p296) :args ((or @t185 (not @t184))))
% 45.50/45.73  (step @p298 :rule cnf_or_neg :args (@t185 0))
% 45.50/45.73  (step @p299 :rule eq_resolve :premises (@p298 @p297))
% 45.50/45.73  (step @p300 :rule reordering :premises (@p299) :args ((or @t183 @t185)))
% 45.50/45.73  (step @p301 :rule chain_m_resolution :premises (@p300 @p250) :args (@t183 @t186 @t187))
% 45.50/45.73  (step @p302 :rule bool-double-not-elim :args (@t197))
% 45.50/45.73  (step @p303 :rule arith_poly_norm :args ((= (* -1 (- 0 @t199)) (* -1 (- @t198 1)))))
% 45.50/45.73  (step @p304 :rule arith_poly_norm_rel :premises (@p303) :args ((= (>= 0 @t199) (>= @t198 1))))
% 45.50/45.73  (step @p305 :rule arith-geq-tighten :args (@t67 0))
% 45.50/45.73  (step @p306 :rule trans :premises (@p305 @p304))
% 45.50/45.73  (step @p307 :rule symm :premises (@p306))
% 45.50/45.73  (step @p308 :rule refl :args (1))
% 45.50/45.73  (step @p309 :rule arith_poly_norm :args ((= @t200 @t198)))
% 45.50/45.73  (step @p310 :rule cong :premises (@p309 @p308) :args (@t201))
% 45.50/45.73  (step @p311 :rule trans :premises (@p310 @p307))
% 45.50/45.73  (step @p312 :rule cong :premises (@p311) :args (@t202))
% 45.50/45.73  (step @p313 :rule trans :premises (@p312 @p302))
% 45.50/45.73  (step @p314 :rule refl :args (@t171))
% 45.50/45.73  (step @p315 :rule arith_poly_norm :args ((= (* -1 (- 1 @t204)) (* -1 (- @t203 0)))))
% 45.50/45.73  (step @p316 :rule arith_poly_norm_rel :premises (@p315) :args ((= (>= 1 @t204) (>= @t203 0))))
% 45.50/45.73  (step @p317 :rule arith-geq-tighten :args (@t172 1))
% 45.50/45.73  (step @p318 :rule trans :premises (@p317 @p316))
% 45.50/45.73  (step @p319 :rule symm :premises (@p318))
% 45.50/45.73  (step @p320 :rule arith_poly_norm :args ((= @t205 @t203)))
% 45.50/45.73  (step @p321 :rule cong :premises (@p320 @p48) :args (@t206))
% 45.50/45.73  (step @p322 :rule trans :premises (@p321 @p319))
% 45.50/45.73  (step @p323 :rule nary_cong :premises (@p322 @p314 @p313) :args (@t207))
% 45.50/45.73  (step @p324 :rule refl :args (@t183))
% 45.50/45.73  (step @p325 :rule cong :premises (@p324 @p323) :args ((=> @t183 @t207)))
% 45.50/45.73  (assume-push @p359 @t183)
% 45.50/45.73  (step @p327 :rule instantiate :premises (@p301) :args ((@list @t61)))
% 45.50/45.73  (step-pop @p360 :rule scope :premises (@p327))
% 45.50/45.73  (step @p328 :rule process_scope :premises (@p360) :args (@t207))
% 45.50/45.73  (step @p330 :rule eq_resolve :premises (@p328 @p325))
% 45.50/45.73  (step @p331 :rule implies_elim :premises (@p330))
% 45.50/45.73  (step @p332 :rule chain_m_resolution :premises (@p331 @p301) :args (@t208 @t195 (@list @t183)))
% 45.50/45.73  (step @p333 :rule bool-double-not-elim :args (@t170))
% 45.50/45.73  (step @p334 :rule nary_cong :premises (@p252 @p333) :args ((or @t185 (not @t171))))
% 45.50/45.73  (step @p335 :rule cnf_or_neg :args (@t185 6))
% 45.50/45.73  (step @p336 :rule eq_resolve :premises (@p335 @p334))
% 45.50/45.73  (step @p337 :rule reordering :premises (@p336) :args ((or @t170 @t185)))
% 45.50/45.73  (step @p338 :rule chain_m_resolution :premises (@p337 @p250) :args (@t170 @t186 @t187))
% 45.50/45.73  (step @p339 :rule bool-double-not-elim :args (@t173))
% 45.50/45.73  (step @p340 :rule nary_cong :premises (@p252 @p339) :args ((or @t185 (not @t174))))
% 45.50/45.73  (step @p341 :rule cnf_or_neg :args (@t185 5))
% 45.50/45.73  (step @p342 :rule eq_resolve :premises (@p341 @p340))
% 45.50/45.73  (step @p343 :rule reordering :premises (@p342) :args ((or @t173 @t185)))
% 45.50/45.73  (step @p344 :rule chain_m_resolution :premises (@p343 @p250) :args (@t173 @t186 @t187))
% 45.50/45.73  (step @p345 :rule cnf_or_pos :args (@t208))
% 45.50/45.73  (step @p346 :rule reordering :premises (@p345) :args ((or @t174 @t171 @t197 (not @t208))))
% 45.50/45.73  (step @p347 :rule chain_m_resolution :premises (@p346 @p344 @p338 @p332) :args (@t197 @t196 (@list @t173 @t170 @t208)))
% 45.50/45.73  (step @p348 :rule arith_poly_norm :args ((= (* 1 (- @t67 0)) (* 1 (- @t66 @t63)))))
% 45.50/45.73  (step @p349 :rule arith_poly_norm_rel :premises (@p348) :args ((= @t209 @t180)))
% 45.50/45.73  (step @p350 :rule cong :premises (@p349) :args ((not @t209)))
% 45.50/45.73  (step @p351 :rule symm :premises (@p350))
% 45.50/45.73  (step @p352 :rule cnf_or_neg :args (@t185 2))
% 45.50/45.73  (step @p353 :rule chain_m_resolution :premises (@p352 @p250) :args ((not @t180) @t186 @t187))
% 45.50/45.73  (step @p354 :rule eq_resolve :premises (@p353 @p351))
% 45.50/45.73  (step @p355 :rule arith_trichotomy :premises (@p354 @p347))
% 45.50/45.73  (step @p356 false :rule contra :premises (@p355 @p295))
% 45.50/45.73  )
% 45.50/45.73  % SZS output end Proof
% 45.50/45.73  % cvc5 exiting
%------------------------------------------------------------------------------