↑ Up

cvc5---1.3.4.THM-Prf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : cvc5---1.3.4
% Problem  : SWW650_2 : 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 : n012.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 09:05:24 AM UTC 2026

% Result   : Theorem 0.24s 0.50s
% Output   : Proof 0.24s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.06  % Problem  : SWW650_2 : TPTP v9.2.1. Released v6.1.0.
% 0.00/0.07  % Command  : /export/starexec/sandbox2/solver/bin/do_cvc5 /export/starexec/sandbox2/benchmark/theBenchmark.p 300 THM
% 0.08/0.25  % Computer : n012.cluster.edu
% 0.08/0.25  % Model    : x86_64 x86_64
% 0.08/0.25  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.08/0.25  % Memory   : 8042.1875MB
% 0.08/0.25  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.08/0.25  % CPULimit : 300
% 0.08/0.25  % WCLimit  : 300
% 0.08/0.25  % DateTime : Tue Jun  2 22:21:18 EDT 2026
% 0.08/0.25  % CPUTime  : 
% 0.16/0.33  %----Proving TF0_ARI
% 0.24/0.50  --- Run --finite-model-find --decision=internal at 45...
% 0.24/0.50  --- Run --decision=internal --simplification=none --no-inst-no-entail --no-cbqi --full-saturate-quant at 60...
% 0.24/0.50  % SZS status Theorem
% 0.24/0.50  % SZS output start Proof
% 0.24/0.50  (
% 0.24/0.50  (declare-sort tptp.t1 0)
% 0.24/0.50  (declare-sort tptp.tuple02 0)
% 0.24/0.50  (declare-sort tptp.bool1 0)
% 0.24/0.50  (declare-sort tptp.ty 0)
% 0.24/0.50  (declare-sort tptp.uni 0)
% 0.24/0.50  (declare-const tptp.dist1 (-> Int Int Int))
% 0.24/0.50  (declare-const tptp.contents (-> tptp.ty tptp.uni tptp.uni))
% 0.24/0.50  (declare-const tptp.tuple03 tptp.tuple02)
% 0.24/0.50  (declare-const tptp.sort1 (-> tptp.ty tptp.uni Bool))
% 0.24/0.50  (declare-const tptp.match_bool1 (-> tptp.ty tptp.bool1 tptp.uni tptp.uni tptp.uni))
% 0.24/0.50  (declare-const tptp.f1 (-> tptp.t1 tptp.t1))
% 0.24/0.50  (declare-const tptp.rel1 (-> tptp.t1 tptp.t1 Bool))
% 0.24/0.50  (declare-const tptp.iter1 (-> Int tptp.t1 tptp.t1))
% 0.24/0.50  (declare-const tptp.true1 tptp.bool1)
% 0.24/0.50  (declare-const tptp.false1 tptp.bool1)
% 0.24/0.50  (declare-const tptp.mu1 Int)
% 0.24/0.50  (declare-const tptp.x01 tptp.t1)
% 0.24/0.50  (declare-const tptp.witness1 (-> tptp.ty tptp.uni))
% 0.24/0.50  (declare-const tptp.lambda1 Int)
% 0.24/0.50  (declare-const tptp.mk_ref (-> tptp.ty tptp.uni tptp.uni))
% 0.24/0.50  (declare-const tptp.ref (-> tptp.ty tptp.ty))
% 0.24/0.50  (define @t1 () (@var "A" tptp.ty))
% 0.24/0.50  (define @t2 () (@var "X2" tptp.uni))
% 0.24/0.50  (define @t3 () (@var "X1" tptp.uni))
% 0.24/0.50  (define @t4 () (@var "X" tptp.bool1))
% 0.24/0.50  (define @t5 () (@var "Z" tptp.uni))
% 0.24/0.50  (define @t6 () (@var "Z1" tptp.uni))
% 0.24/0.50  (define @t7 () (@list @t1 @t5 @t6))
% 0.24/0.50  (define @t8 () (@var "U" tptp.bool1))
% 0.24/0.50  (define @t9 () (@var "U" tptp.tuple02))
% 0.24/0.50  (define @t10 () (@var "Z" Int))
% 0.24/0.50  (define @t11 () (@var "Y" Int))
% 0.24/0.50  (define @t12 () (@var "X" Int))
% 0.24/0.50  (define @t13 () (@var "X" tptp.t1))
% 0.24/0.50  (define @t14 () (@list @t13))
% 0.24/0.50  (define @t15 () (tptp.f1 @t13))
% 0.24/0.50  (define @t16 () (@var "K" Int))
% 0.24/0.50  (define @t17 () (- @t16 1))
% 0.24/0.50  (define @t18 () (tptp.iter1 @t16 @t13))
% 0.24/0.50  (define @t19 () (< 0 @t16))
% 0.24/0.50  (define @t20 () (@list @t16 @t13))
% 0.24/0.50  (define @t21 () (tptp.iter1 1 @t13))
% 0.24/0.50  (define @t22 () (forall @t14 (= @t21 @t15)))
% 0.24/0.50  (define @t23 () (tptp.iter1 @t17 @t13))
% 0.24/0.50  (define @t24 () (tptp.f1 @t23))
% 0.24/0.50  (define @t25 () (= @t18 @t24))
% 0.24/0.50  (define @t26 () (=> @t19 @t25))
% 0.24/0.50  (define @t27 () (forall @t20 @t26))
% 0.24/0.50  (define @t28 () (@var "J" Int))
% 0.24/0.50  (define @t29 () (tptp.iter1 @t28 tptp.x01))
% 0.24/0.50  (define @t30 () (@var "I" Int))
% 0.24/0.50  (define @t31 () (tptp.iter1 @t30 tptp.x01))
% 0.24/0.50  (define @t32 () (+ tptp.mu1 tptp.lambda1))
% 0.24/0.50  (define @t33 () (@list @t30 @t28))
% 0.24/0.50  (define @t34 () (@var "N" Int))
% 0.24/0.50  (define @t35 () (tptp.iter1 @t34 tptp.x01))
% 0.24/0.50  (define @t36 () (<= tptp.mu1 @t34))
% 0.24/0.50  (define @t37 () (@list @t34))
% 0.24/0.50  (define @t38 () (<= 0 @t16))
% 0.24/0.50  (define @t39 () (@list @t16))
% 0.24/0.50  (define @t40 () (@var "X" tptp.uni))
% 0.24/0.50  (define @t41 () (tptp.ref @t1))
% 0.24/0.50  (define @t42 () (@list @t1 @t40))
% 0.24/0.50  (define @t43 () (@var "U" tptp.uni))
% 0.24/0.50  (define @t44 () (@list @t1 @t43))
% 0.24/0.50  (define @t45 () (tptp.dist1 @t30 @t28))
% 0.24/0.50  (define @t46 () (<= tptp.mu1 @t30))
% 0.24/0.50  (define @t47 () (* 2 @t30))
% 0.24/0.50  (define @t48 () (+ @t30 1))
% 0.24/0.50  (define @t49 () (<= 1 @t30))
% 0.24/0.50  (define @t50 () (@var "T2" tptp.t1))
% 0.24/0.50  (define @t51 () (@var "T1" tptp.t1))
% 0.24/0.50  (define @t52 () (@list @t30))
% 0.24/0.50  (define @t53 () (not (= @t31 (tptp.iter1 @t47 tptp.x01))))
% 0.24/0.50  (define @t54 () (@var "T" Int))
% 0.24/0.50  (define @t55 () (and @t49 (< @t30 @t54)))
% 0.24/0.50  (define @t56 () (=> @t55 @t53))
% 0.24/0.50  (define @t57 () (forall @t52 @t56))
% 0.24/0.50  (define @t58 () (tptp.f1 tptp.x01))
% 0.24/0.50  (define @t59 () (tptp.f1 @t58))
% 0.24/0.50  (define @t60 () (= @t59 (tptp.iter1 (* 2 @t54) tptp.x01)))
% 0.24/0.50  (define @t61 () (= @t58 (tptp.iter1 @t54 tptp.x01)))
% 0.24/0.50  (define @t62 () (and (<= 1 @t54) (<= @t54 @t32) @t61 @t60 @t57))
% 0.24/0.50  (define @t63 () (@list @t54))
% 0.24/0.50  (define @t64 () (exists @t63 @t62))
% 0.24/0.50  (define @t65 () (not @t64))
% 0.24/0.50  (define @t66 () (* -1 @t54))
% 0.24/0.50  (define @t67 () (+ @t30 @t66))
% 0.24/0.50  (define @t68 () (>= @t67 0))
% 0.24/0.50  (define @t69 () (>= @t30 1))
% 0.24/0.50  (define @t70 () (not @t69))
% 0.24/0.50  (define @t71 () (or @t70 @t68 @t53))
% 0.24/0.50  (define @t72 () (forall @t52 @t71))
% 0.24/0.50  (define @t73 () (not @t72))
% 0.24/0.50  (define @t74 () (not @t60))
% 0.24/0.50  (define @t75 () (not @t61))
% 0.24/0.50  (define @t76 () (+ tptp.mu1 tptp.lambda1 @t66))
% 0.24/0.50  (define @t77 () (>= @t76 0))
% 0.24/0.50  (define @t78 () (not @t77))
% 0.24/0.50  (define @t79 () (>= @t54 1))
% 0.24/0.50  (define @t80 () (not @t79))
% 0.24/0.50  (define @t81 () (or @t80 @t78 @t75 @t74 @t73))
% 0.24/0.50  (define @t82 () (forall @t63 @t81))
% 0.24/0.50  (define @t83 () (and @t79 @t77 @t61 @t60 @t72))
% 0.24/0.50  (define @t84 () (forall @t63 (not @t83)))
% 0.24/0.50  (define @t85 () (not @t84))
% 0.24/0.50  (define @t86 () (not @t68))
% 0.24/0.50  (define @t87 () (and @t69 @t86))
% 0.24/0.50  (define @t88 () (>= @t30 @t54))
% 0.24/0.50  (define @t89 () (tptp.iter1 2 tptp.x01))
% 0.24/0.50  (define @t90 () (= @t59 @t89))
% 0.24/0.50  (define @t91 () (not @t90))
% 0.24/0.50  (define @t92 () (tptp.iter1 1 tptp.x01))
% 0.24/0.50  (define @t93 () (= @t58 @t92))
% 0.24/0.50  (define @t94 () (not @t93))
% 0.24/0.50  (define @t95 () (>= @t32 1))
% 0.24/0.50  (define @t96 () (not @t95))
% 0.24/0.50  (define @t97 () (or @t96 @t94 @t91))
% 0.24/0.50  (define @t98 () (+ -1 @t30))
% 0.24/0.50  (define @t99 () (* -1 1))
% 0.24/0.50  (define @t100 () (+ @t30 @t99))
% 0.24/0.50  (define @t101 () (>= @t100 0))
% 0.24/0.50  (define @t102 () (or @t70 @t101 @t53))
% 0.24/0.50  (define @t103 () (forall @t52 @t102))
% 0.24/0.50  (define @t104 () (not @t103))
% 0.24/0.50  (define @t105 () (* 2 1))
% 0.24/0.50  (define @t106 () (tptp.iter1 @t105 tptp.x01))
% 0.24/0.50  (define @t107 () (= @t59 @t106))
% 0.24/0.50  (define @t108 () (not @t107))
% 0.24/0.50  (define @t109 () (+ -1 tptp.mu1 tptp.lambda1))
% 0.24/0.50  (define @t110 () (+ tptp.mu1 tptp.lambda1 @t99))
% 0.24/0.50  (define @t111 () (>= @t110 0))
% 0.24/0.50  (define @t112 () (not @t111))
% 0.24/0.50  (define @t113 () (>= 1 1))
% 0.24/0.50  (define @t114 () (not @t113))
% 0.24/0.50  (define @t115 () (or @t114 @t112 @t94 @t108 @t104))
% 0.24/0.50  (define @t116 () (@list false))
% 0.24/0.50  (define @t117 () (>= tptp.mu1 0))
% 0.24/0.50  (define @t118 () (not @t117))
% 0.24/0.50  (define @t119 () (>= tptp.lambda1 1))
% 0.24/0.50  (define @t120 () (not @t119))
% 0.24/0.50  (define @t121 () (* -1 0))
% 0.24/0.50  (define @t122 () (+ 1 @t99 @t121))
% 0.24/0.50  (define @t123 () (* -1 tptp.mu1))
% 0.24/0.50  (define @t124 () (* -1 tptp.lambda1))
% 0.24/0.50  (define @t125 () (+ @t124 @t123 tptp.lambda1 tptp.mu1))
% 0.24/0.50  (define @t126 () (+ @t32 @t124 @t123))
% 0.24/0.50  (define @t127 () (>= @t126 @t122))
% 0.24/0.50  (define @t128 () (>= @t16 1))
% 0.24/0.50  (define @t129 () (+ -1 @t16))
% 0.24/0.50  (define @t130 () (= @t18 (tptp.f1 (tptp.iter1 @t129 @t13))))
% 0.24/0.50  (define @t131 () (+ @t16 @t99))
% 0.24/0.50  (define @t132 () (+ @t16 1))
% 0.24/0.50  (define @t133 () (>= 0 @t16))
% 0.24/0.50  (define @t134 () (tptp.f1 @t92))
% 0.24/0.50  (define @t135 () (= @t89 @t134))
% 0.24/0.50  (define @t136 () (+ -1 2))
% 0.24/0.50  (define @t137 () (tptp.iter1 @t136 tptp.x01))
% 0.24/0.50  (define @t138 () (tptp.f1 @t137))
% 0.24/0.50  (define @t139 () (= @t89 @t138))
% 0.24/0.50  (define @t140 () (>= 2 1))
% 0.24/0.50  (define @t141 () (not @t140))
% 0.24/0.50  (define @t142 () (or @t141 @t139))
% 0.24/0.50  (define @t143 () (forall @t20 (or (not @t128) @t130)))
% 0.24/0.50  (define @t144 () (not @t135))
% 0.24/0.50  (define @t145 () (= @t134 @t89))
% 0.24/0.50  (define @t146 () (and @t93 @t91))
% 0.24/0.50  (assume @p1 (forall (@list @t1) (tptp.sort1 @t1 (tptp.witness1 @t1))))
% 0.24/0.50  (assume @p2 (forall (@list @t1 @t4 @t3 @t2) (tptp.sort1 @t1 (tptp.match_bool1 @t1 @t4 @t3 @t2))))
% 0.24/0.50  (assume @p3 (forall @t7 (=> (tptp.sort1 @t1 @t5) (= (tptp.match_bool1 @t1 tptp.true1 @t5 @t6) @t5))))
% 0.24/0.50  (assume @p4 (forall @t7 (=> (tptp.sort1 @t1 @t6) (= (tptp.match_bool1 @t1 tptp.false1 @t5 @t6) @t6))))
% 0.24/0.50  (assume @p5 (not (= tptp.true1 tptp.false1)))
% 0.24/0.50  (assume @p6 (forall (@list @t8) (or (= @t8 tptp.true1) (= @t8 tptp.false1))))
% 0.24/0.50  (assume @p7 (forall (@list @t9) (= @t9 tptp.tuple03)))
% 0.24/0.50  (assume @p8 (forall (@list @t12 @t11 @t10) (=> (<= @t12 @t11) (=> (<= 0 @t10) (<= (* @t12 @t10) (* @t11 @t10))))))
% 0.24/0.50  (assume @p9 (forall @t14 (= (tptp.iter1 0 @t13) @t13)))
% 0.24/0.50  (assume @p10 (forall @t20 (=> @t19 (= @t18 (tptp.iter1 @t17 @t15)))))
% 0.24/0.50  (assume @p11 @t22)
% 0.24/0.50  (assume @p12 @t27)
% 0.24/0.50  (assume @p13 (<= 0 tptp.mu1))
% 0.24/0.50  (assume @p14 (<= 1 tptp.lambda1))
% 0.24/0.50  (assume @p15 (forall @t33 (=> (and (<= 0 @t30) (< @t30 @t32)) (=> (and (<= 0 @t28) (< @t28 @t32)) (=> (not (= @t30 @t28)) (not (= @t31 @t29)))))))
% 0.24/0.50  (assume @p16 (forall @t37 (=> @t36 (= (tptp.iter1 (+ @t34 tptp.lambda1) tptp.x01) @t35))))
% 0.24/0.50  (assume @p17 (forall @t37 (=> @t36 (forall @t39 (=> @t38 (= (tptp.iter1 (+ @t34 (* tptp.lambda1 @t16)) tptp.x01) @t35))))))
% 0.24/0.50  (assume @p18 (forall @t42 (tptp.sort1 @t41 (tptp.mk_ref @t1 @t40))))
% 0.24/0.50  (assume @p19 (forall @t42 (tptp.sort1 @t1 (tptp.contents @t1 @t40))))
% 0.24/0.50  (assume @p20 (forall @t44 (=> (tptp.sort1 @t1 @t43) (= (tptp.contents @t1 (tptp.mk_ref @t1 @t43)) @t43))))
% 0.24/0.50  (assume @p21 (forall @t44 (=> (tptp.sort1 @t41 @t43) (= @t43 (tptp.mk_ref @t1 (tptp.contents @t1 @t43))))))
% 0.24/0.50  (assume @p22 (forall @t33 (=> @t46 (=> (<= tptp.mu1 @t28) (and (<= 0 @t45) (= (tptp.iter1 (+ @t30 @t45) tptp.x01) @t29) (forall @t39 (=> @t38 (=> (= (tptp.iter1 (+ @t30 @t16) tptp.x01) @t29) (<= @t45 @t16)))))))))
% 0.24/0.50  (assume @p23 (forall (@list @t50 @t51) (= (tptp.rel1 @t50 @t51) (exists @t52 (and (= @t51 @t31) (= @t50 (tptp.iter1 @t48 tptp.x01)) @t49 (<= @t30 @t32) (=> @t46 (< (tptp.dist1 (+ @t47 2) @t48) (tptp.dist1 @t47 @t30))))))))
% 0.24/0.50  (assume @p24 @t65)
% 0.24/0.50  (assume @p25 true)
% 0.24/0.50  (step @p26 :rule eq-symm :args (@t21 @t15))
% 0.24/0.50  (step @p27 :rule cong :premises (@p26) :args (@t22))
% 0.24/0.50  (step @p28 :rule eq_resolve :premises (@p11 @p27))
% 0.24/0.50  (step @p29 :rule instantiate :premises (@p28) :args ((@list tptp.x01)))
% 0.24/0.50  (step @p30 :rule bool-double-not-elim :args (@t82))
% 0.24/0.50  (step @p31 :rule aci_norm :args ((= (or @t80 (or @t78 (or @t75 (or @t74 @t73)))) @t81)))
% 0.24/0.50  (step @p32 :rule bool-and-de-morgan :args (@t60 @t72 true))
% 0.24/0.50  (step @p33 :rule refl :args (@t75))
% 0.24/0.50  (step @p34 :rule nary_cong :premises (@p33 @p32) :args ((or @t75 (not (and @t60 @t72)))))
% 0.24/0.50  (step @p35 :rule bool-and-de-morgan :args (@t61 @t60 (and @t72)))
% 0.24/0.50  (step @p36 :rule trans :premises (@p35 @p34))
% 0.24/0.50  (step @p37 :rule refl :args (@t78))
% 0.24/0.50  (step @p38 :rule nary_cong :premises (@p37 @p36) :args ((or @t78 (not (and @t61 @t60 @t72)))))
% 0.24/0.50  (step @p39 :rule bool-and-de-morgan :args (@t77 @t61 (and @t60 @t72)))
% 0.24/0.50  (step @p40 :rule trans :premises (@p39 @p38))
% 0.24/0.50  (step @p41 :rule refl :args (@t80))
% 0.24/0.50  (step @p42 :rule nary_cong :premises (@p41 @p40) :args ((or @t80 (not (and @t77 @t61 @t60 @t72)))))
% 0.24/0.50  (step @p43 :rule bool-and-de-morgan :args (@t79 @t77 (and @t61 @t60 @t72)))
% 0.24/0.50  (step @p44 :rule trans :premises (@p43 @p42))
% 0.24/0.50  (step @p45 :rule trans :premises (@p44 @p31))
% 0.24/0.50  (step @p46 :rule cong :premises (@p45) :args (@t84))
% 0.24/0.50  (step @p47 :rule cong :premises (@p46) :args (@t85))
% 0.24/0.50  (step @p48 :rule exists-elim :args ((= (exists @t63 @t83) @t85)))
% 0.24/0.50  (step @p49 :rule trans :premises (@p48 @p47))
% 0.24/0.50  (step @p50 :rule aci_norm :args ((= (or (or @t70 @t68) @t53) @t71)))
% 0.24/0.50  (step @p51 :rule refl :args (@t53))
% 0.24/0.50  (step @p52 :rule bool-double-not-elim :args (@t68))
% 0.24/0.50  (step @p53 :rule refl :args (@t70))
% 0.24/0.50  (step @p54 :rule nary_cong :premises (@p53 @p52) :args ((or @t70 (not @t86))))
% 0.24/0.50  (step @p55 :rule bool-and-de-morgan :args (@t69 @t86 true))
% 0.24/0.50  (step @p56 :rule trans :premises (@p55 @p54))
% 0.24/0.50  (step @p57 :rule nary_cong :premises (@p56 @p51) :args ((or (not @t87) @t53)))
% 0.24/0.50  (step @p58 :rule trans :premises (@p57 @p50))
% 0.24/0.50  (step @p59 :rule bool-impl-elim :args (@t87 @t53))
% 0.24/0.50  (step @p60 :rule trans :premises (@p59 @p58))
% 0.24/0.50  (step @p61 :rule cong :premises (@p60) :args ((forall @t52 (=> @t87 @t53))))
% 0.24/0.50  (step @p62 :rule refl :args (@t53))
% 0.24/0.50  (step @p63 :rule arith_poly_norm :args ((= (* 1 (- @t30 @t54)) (* 1 (- @t67 0)))))
% 0.24/0.50  (step @p64 :rule arith_poly_norm_rel :premises (@p63) :args ((= @t88 @t68)))
% 0.24/0.50  (step @p65 :rule cong :premises (@p64) :args ((not @t88)))
% 0.24/0.50  (step @p66 :rule arith-elim-lt :args (@t30 @t54))
% 0.24/0.50  (step @p67 :rule trans :premises (@p66 @p65))
% 0.24/0.50  (step @p68 :rule arith-elim-leq :args (1 @t30))
% 0.24/0.50  (step @p69 :rule nary_cong :premises (@p68 @p67) :args (@t55))
% 0.24/0.50  (step @p70 :rule cong :premises (@p69 @p62) :args (@t56))
% 0.24/0.50  (step @p71 :rule cong :premises (@p70) :args (@t57))
% 0.24/0.50  (step @p72 :rule trans :premises (@p71 @p61))
% 0.24/0.50  (step @p73 :rule refl :args (@t60))
% 0.24/0.50  (step @p74 :rule refl :args (@t61))
% 0.24/0.50  (step @p75 :rule arith_poly_norm :args ((= (* 1 (- @t32 @t54)) (* 1 (- @t76 0)))))
% 0.24/0.50  (step @p76 :rule arith_poly_norm_rel :premises (@p75) :args ((= (>= @t32 @t54) @t77)))
% 0.24/0.50  (step @p77 :rule arith-elim-leq :args (@t54 @t32))
% 0.24/0.50  (step @p78 :rule trans :premises (@p77 @p76))
% 0.24/0.50  (step @p79 :rule arith-elim-leq :args (1 @t54))
% 0.24/0.50  (step @p80 :rule nary_cong :premises (@p79 @p78 @p74 @p73 @p72) :args (@t62))
% 0.24/0.50  (step @p81 :rule cong :premises (@p80) :args (@t64))
% 0.24/0.50  (step @p82 :rule trans :premises (@p81 @p49))
% 0.24/0.50  (step @p83 :rule cong :premises (@p82) :args (@t65))
% 0.24/0.50  (step @p84 :rule trans :premises (@p83 @p30))
% 0.24/0.50  (step @p85 :rule eq_resolve :premises (@p24 @p84))
% 0.24/0.50  (step @p86 :rule aci_norm :args ((= (or false @t96 @t94 @t91 false) @t97)))
% 0.24/0.50  (step @p87 :rule evaluate :args ((not true)))
% 0.24/0.50  (step @p88 :rule quant-unused-vars :args ((= (forall @t52 true) true)))
% 0.24/0.50  (step @p89 :rule bool-or-taut2 :args (false @t69 false (or @t53)))
% 0.24/0.50  (step @p90 :rule cong :premises (@p89) :args ((forall @t52 (or @t70 @t69 @t53))))
% 0.24/0.50  (step @p91 :rule trans :premises (@p90 @p88))
% 0.24/0.50  (step @p92 :rule arith_poly_norm :args ((= (* -1 (- @t98 0)) (* -1 (- @t30 1)))))
% 0.24/0.50  (step @p93 :rule arith_poly_norm_rel :premises (@p92) :args ((= (>= @t98 0) @t69)))
% 0.24/0.50  (step @p94 :rule refl :args (0))
% 0.24/0.50  (step @p95 :rule arith_poly_norm :args ((= (+ @t30 -1) @t98)))
% 0.24/0.50  (step @p96 :rule evaluate :args (@t99))
% 0.24/0.50  (step @p97 :rule refl :args (@t30))
% 0.24/0.50  (step @p98 :rule nary_cong :premises (@p97 @p96) :args (@t100))
% 0.24/0.50  (step @p99 :rule trans :premises (@p98 @p95))
% 0.24/0.50  (step @p100 :rule cong :premises (@p99 @p94) :args (@t101))
% 0.24/0.50  (step @p101 :rule trans :premises (@p100 @p93))
% 0.24/0.50  (step @p102 :rule refl :args (@t70))
% 0.24/0.50  (step @p103 :rule nary_cong :premises (@p102 @p101 @p62) :args (@t102))
% 0.24/0.50  (step @p104 :rule cong :premises (@p103) :args (@t103))
% 0.24/0.50  (step @p105 :rule trans :premises (@p104 @p91))
% 0.24/0.50  (step @p106 :rule cong :premises (@p105) :args (@t104))
% 0.24/0.50  (step @p107 :rule trans :premises (@p106 @p87))
% 0.24/0.50  (step @p108 :rule refl :args (tptp.x01))
% 0.24/0.50  (step @p109 :rule evaluate :args (@t105))
% 0.24/0.50  (step @p110 :rule cong :premises (@p109 @p108) :args (@t106))
% 0.24/0.50  (step @p111 :rule refl :args (@t59))
% 0.24/0.50  (step @p112 :rule cong :premises (@p111 @p110) :args (@t107))
% 0.24/0.50  (step @p113 :rule cong :premises (@p112) :args (@t108))
% 0.24/0.50  (step @p114 :rule refl :args (@t94))
% 0.24/0.50  (step @p115 :rule arith_poly_norm :args ((= (* -1 (- @t109 0)) (* -1 (- @t32 1)))))
% 0.24/0.50  (step @p116 :rule arith_poly_norm_rel :premises (@p115) :args ((= (>= @t109 0) @t95)))
% 0.24/0.50  (step @p117 :rule arith_poly_norm :args ((= (+ tptp.mu1 tptp.lambda1 -1) @t109)))
% 0.24/0.50  (step @p118 :rule refl :args (tptp.lambda1))
% 0.24/0.50  (step @p119 :rule refl :args (tptp.mu1))
% 0.24/0.50  (step @p120 :rule nary_cong :premises (@p119 @p118 @p96) :args (@t110))
% 0.24/0.50  (step @p121 :rule trans :premises (@p120 @p117))
% 0.24/0.50  (step @p122 :rule cong :premises (@p121 @p94) :args (@t111))
% 0.24/0.50  (step @p123 :rule trans :premises (@p122 @p116))
% 0.24/0.50  (step @p124 :rule cong :premises (@p123) :args (@t112))
% 0.24/0.50  (step @p125 :rule evaluate :args (@t113))
% 0.24/0.50  (step @p126 :rule cong :premises (@p125) :args (@t114))
% 0.24/0.50  (step @p127 :rule trans :premises (@p126 @p87))
% 0.24/0.50  (step @p128 :rule nary_cong :premises (@p127 @p124 @p114 @p113 @p107) :args (@t115))
% 0.24/0.50  (step @p129 :rule trans :premises (@p128 @p86))
% 0.24/0.50  (step @p130 :rule refl :args (@t82))
% 0.24/0.50  (step @p131 :rule cong :premises (@p130 @p129) :args ((=> @t82 @t115)))
% 0.24/0.50  (assume-push @p270 @t82)
% 0.24/0.50  (step @p133 :rule instantiate :premises (@p85) :args ((@list 1)))
% 0.24/0.50  (step-pop @p271 :rule scope :premises (@p133))
% 0.24/0.50  (step @p134 :rule process_scope :premises (@p271) :args (@t115))
% 0.24/0.50  (step @p136 :rule eq_resolve :premises (@p134 @p131))
% 0.24/0.50  (step @p137 :rule implies_elim :premises (@p136))
% 0.24/0.50  (step @p138 :rule chain_m_resolution :premises (@p137 @p85) :args (@t97 @t116 (@list @t82)))
% 0.24/0.50  (step @p139 :rule arith-elim-leq :args (1 tptp.lambda1))
% 0.24/0.50  (step @p140 :rule eq_resolve :premises (@p14 @p139))
% 0.24/0.50  (step @p141 :rule arith-elim-leq :args (0 tptp.mu1))
% 0.24/0.50  (step @p142 :rule eq_resolve :premises (@p13 @p141))
% 0.24/0.50  (step @p143 :rule bool-double-not-elim :args (@t95))
% 0.24/0.50  (step @p144 :rule refl :args (@t118))
% 0.24/0.50  (step @p145 :rule refl :args (@t120))
% 0.24/0.50  (step @p146 :rule nary_cong :premises (@p145 @p144 @p143) :args ((or @t120 @t118 (not @t96))))
% 0.24/0.50  (assume-push @p272 @t119)
% 0.24/0.50  (assume-push @p273 @t117)
% 0.24/0.50  (assume-push @p274 @t96)
% 0.24/0.50  (step @p150 :rule evaluate :args ((>= 0 0)))
% 0.24/0.50  (step @p151 :rule evaluate :args ((+ 1 -1 0)))
% 0.24/0.50  (step @p152 :rule evaluate :args (@t121))
% 0.24/0.50  (step @p153 :rule refl :args (1))
% 0.24/0.50  (step @p154 :rule nary_cong :premises (@p153 @p96 @p152) :args (@t122))
% 0.24/0.50  (step @p155 :rule trans :premises (@p154 @p151))
% 0.24/0.50  (step @p156 :rule arith_poly_norm :args ((= @t125 0)))
% 0.24/0.50  (step @p157 :rule arith_poly_norm :args ((= @t126 @t125)))
% 0.24/0.50  (step @p158 :rule trans :premises (@p157 @p156))
% 0.24/0.50  (step @p159 :rule cong :premises (@p158 @p155) :args (@t127))
% 0.24/0.50  (step @p160 :rule trans :premises (@p159 @p150))
% 0.24/0.50  (step @p161 :rule cong :premises (@p160) :args ((not @t127)))
% 0.24/0.50  (step @p162 :rule trans :premises (@p161 @p87))
% 0.24/0.50  (step @p163 :rule arith-elim-lt :args (@t126 @t122))
% 0.24/0.50  (step @p164 :rule trans :premises (@p163 @p162))
% 0.24/0.50  (step @p165 :rule arith_mult_neg :args (-1 @t117))
% 0.24/0.50  (step @p166 :rule evaluate :args ((< -1 0)))
% 0.24/0.50  (step @p167 :rule true_elim :premises (@p166))
% 0.24/0.50  (step @p168 :rule and_intro :premises (@p167 @p142))
% 0.24/0.50  (step @p169 :rule modus_ponens :premises (@p168 @p165))
% 0.24/0.50  (step @p170 :rule arith_mult_neg :args (-1 @t119))
% 0.24/0.50  (step @p171 :rule and_intro :premises (@p167 @p140))
% 0.24/0.50  (step @p172 :rule modus_ponens :premises (@p171 @p170))
% 0.24/0.50  (step @p173 :rule arith-elim-lt :args (@t32 1))
% 0.24/0.50  (step @p174 :rule symm :premises (@p173))
% 0.24/0.50  (step @p175 :rule eq_resolve :premises (@p274 @p174))
% 0.24/0.50  (step @p176 :rule arith_sum_ub :premises (@p175 @p172 @p169))
% 0.24/0.50  (step @p177 false :rule eq_resolve :premises (@p176 @p164))
% 0.24/0.50  (step-pop @p275 :rule scope :premises (@p177))
% 0.24/0.50  (step-pop @p276 :rule scope :premises (@p275))
% 0.24/0.50  (step-pop @p277 :rule scope :premises (@p276))
% 0.24/0.50  (step @p178 :rule process_scope :premises (@p277) :args (false))
% 0.24/0.50  (step @p182 :rule not_and :premises (@p178))
% 0.24/0.50  (step @p183 :rule eq_resolve :premises (@p182 @p146))
% 0.24/0.50  (step @p184 :rule reordering :premises (@p183) :args ((or @t118 @t120 @t95)))
% 0.24/0.50  (step @p185 :rule chain_m_resolution :premises (@p184 @p142 @p140) :args (@t95 (@list false false) (@list @t117 @t119)))
% 0.24/0.50  (step @p186 :rule cnf_or_pos :args (@t97))
% 0.24/0.50  (step @p187 :rule reordering :premises (@p186) :args ((or @t96 @t94 @t91 (not @t97))))
% 0.24/0.50  (step @p188 :rule chain_m_resolution :premises (@p187 @p185 @p29 @p138) :args (@t91 (@list false false false) (@list @t95 @t93 @t97)))
% 0.24/0.50  (step @p189 :rule bool-impl-elim :args (@t128 @t130))
% 0.24/0.50  (step @p190 :rule cong :premises (@p189) :args ((forall @t20 (=> @t128 @t130))))
% 0.24/0.50  (step @p191 :rule refl :args (@t13))
% 0.24/0.50  (step @p192 :rule arith_poly_norm :args ((= (+ @t16 -1) @t129)))
% 0.24/0.50  (step @p193 :rule refl :args (@t16))
% 0.24/0.50  (step @p194 :rule nary_cong :premises (@p193 @p96) :args (@t131))
% 0.24/0.50  (step @p195 :rule trans :premises (@p194 @p192))
% 0.24/0.50  (step @p196 :rule arith_poly_norm :args ((= @t17 @t131)))
% 0.24/0.50  (step @p197 :rule trans :premises (@p196 @p195))
% 0.24/0.50  (step @p198 :rule cong :premises (@p197 @p191) :args (@t23))
% 0.24/0.50  (step @p199 :rule cong :premises (@p198) :args (@t24))
% 0.24/0.50  (step @p200 :rule refl :args (@t18))
% 0.24/0.50  (step @p201 :rule cong :premises (@p200 @p199) :args (@t25))
% 0.24/0.50  (step @p202 :rule bool-double-not-elim :args (@t128))
% 0.24/0.50  (step @p203 :rule arith_poly_norm :args ((= (* -1 (- 1 @t132)) (* -1 (- 0 @t16)))))
% 0.24/0.50  (step @p204 :rule arith_poly_norm_rel :premises (@p203) :args ((= (>= 1 @t132) @t133)))
% 0.24/0.50  (step @p205 :rule arith-geq-tighten :args (@t16 1))
% 0.24/0.50  (step @p206 :rule trans :premises (@p205 @p204))
% 0.24/0.50  (step @p207 :rule symm :premises (@p206))
% 0.24/0.50  (step @p208 :rule cong :premises (@p207) :args ((not @t133)))
% 0.24/0.50  (step @p209 :rule trans :premises (@p208 @p202))
% 0.24/0.50  (step @p210 :rule arith-elim-lt :args (0 @t16))
% 0.24/0.50  (step @p211 :rule trans :premises (@p210 @p209))
% 0.24/0.50  (step @p212 :rule cong :premises (@p211 @p201) :args (@t26))
% 0.24/0.50  (step @p213 :rule cong :premises (@p212) :args (@t27))
% 0.24/0.50  (step @p214 :rule trans :premises (@p213 @p190))
% 0.24/0.50  (step @p215 :rule eq_resolve :premises (@p12 @p214))
% 0.24/0.50  (step @p216 :rule aci_norm :args ((= (or false @t135) @t135)))
% 0.24/0.50  (step @p217 :rule evaluate :args (@t136))
% 0.24/0.50  (step @p218 :rule cong :premises (@p217 @p108) :args (@t137))
% 0.24/0.50  (step @p219 :rule cong :premises (@p218) :args (@t138))
% 0.24/0.50  (step @p220 :rule refl :args (@t89))
% 0.24/0.50  (step @p221 :rule cong :premises (@p220 @p219) :args (@t139))
% 0.24/0.50  (step @p222 :rule evaluate :args (@t140))
% 0.24/0.50  (step @p223 :rule cong :premises (@p222) :args (@t141))
% 0.24/0.50  (step @p224 :rule trans :premises (@p223 @p87))
% 0.24/0.50  (step @p225 :rule nary_cong :premises (@p224 @p221) :args (@t142))
% 0.24/0.50  (step @p226 :rule trans :premises (@p225 @p216))
% 0.24/0.50  (step @p227 :rule refl :args (@t143))
% 0.24/0.50  (step @p228 :rule cong :premises (@p227 @p226) :args ((=> @t143 @t142)))
% 0.24/0.50  (assume-push @p278 @t143)
% 0.24/0.50  (step @p230 :rule instantiate :premises (@p215) :args ((@list 2 tptp.x01)))
% 0.24/0.50  (step-pop @p279 :rule scope :premises (@p230))
% 0.24/0.50  (step @p231 :rule process_scope :premises (@p279) :args (@t142))
% 0.24/0.50  (step @p233 :rule eq_resolve :premises (@p231 @p228))
% 0.24/0.50  (step @p234 :rule implies_elim :premises (@p233))
% 0.24/0.50  (step @p235 :rule chain_m_resolution :premises (@p234 @p215) :args (@t135 @t116 (@list @t143)))
% 0.24/0.50  (step @p236 :rule refl :args (@t144))
% 0.24/0.50  (step @p237 :rule bool-double-not-elim :args (@t90))
% 0.24/0.50  (step @p238 :rule nary_cong :premises (@p114 @p237 @p236) :args ((or @t94 (not @t91) @t144)))
% 0.24/0.50  (assume-push @p280 @t93)
% 0.24/0.50  (assume-push @p281 @t91)
% 0.24/0.50  (assume-push @p282 @t93)
% 0.24/0.50  (assume-push @p283 @t91)
% 0.24/0.50  (step @p243 :rule bool-eq-false :args (@t135))
% 0.24/0.50  (step @p244 :rule symm :premises (@p243))
% 0.24/0.50  (step @p245 :rule eq-symm :args (@t134 @t89))
% 0.24/0.50  (step @p246 :rule cong :premises (@p245) :args ((not @t145)))
% 0.24/0.50  (step @p247 :rule bool-eq-false :args (@t145))
% 0.24/0.50  (step @p248 :rule trans :premises (@p247 @p246))
% 0.24/0.50  (step @p249 :rule trans :premises (@p248 @p244))
% 0.24/0.50  (step @p250 :rule false_intro :premises (@p281))
% 0.24/0.50  (step @p251 :rule symm :premises (@p29))
% 0.24/0.50  (step @p252 :rule cong :premises (@p251) :args (@t134))
% 0.24/0.50  (step @p253 :rule cong :premises (@p252 @p220) :args (@t145))
% 0.24/0.50  (step @p254 :rule trans :premises (@p253 @p250))
% 0.24/0.50  (step @p255 :rule eq_resolve :premises (@p254 @p249))
% 0.24/0.50  (step @p256 :rule false_elim :premises (@p255))
% 0.24/0.50  (step-pop @p284 :rule scope :premises (@p256))
% 0.24/0.50  (step-pop @p285 :rule scope :premises (@p284))
% 0.24/0.50  (step @p257 :rule process_scope :premises (@p285) :args (@t144))
% 0.24/0.50  (step @p260 :rule and_intro :premises (@p29 @p281))
% 0.24/0.50  (step @p261 :rule modus_ponens :premises (@p260 @p257))
% 0.24/0.50  (step-pop @p286 :rule scope :premises (@p261))
% 0.24/0.50  (step-pop @p287 :rule scope :premises (@p286))
% 0.24/0.50  (step @p262 :rule process_scope :premises (@p287) :args (@t144))
% 0.24/0.50  (step @p265 :rule implies_elim :premises (@p262))
% 0.24/0.50  (step @p266 :rule cnf_and_neg :args (@t146))
% 0.24/0.50  (step @p267 :rule resolution :premises (@p266 @p265) :args (true @t146))
% 0.24/0.50  (step @p268 :rule eq_resolve :premises (@p267 @p238))
% 0.24/0.50  (step @p269 false :rule chain_m_resolution :premises (@p268 @p235 @p188 @p29) :args (false (@list false true false) (@list @t135 @t90 @t93)))
% 0.24/0.50  )
% 0.24/0.50  % SZS output end Proof
% 0.24/0.50  % cvc5 exiting
%------------------------------------------------------------------------------