%------------------------------------------------------------------------------ % 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 %------------------------------------------------------------------------------