%------------------------------------------------------------------------------ % File : cvc5---1.3.4 % Problem : NUM721^1 : TPTP v9.2.1. Released v3.7.0. % Transfm : none % Format : tptp:raw % Command : /export/starexec/sandbox/solver/bin/do_cvc5 /export/starexec/sandbox/benchmark/theBenchmark.p 300 THM % Computer : n020.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:40:29 AM UTC 2026 % Result : Theorem 1.42s 1.65s % Output : Proof 1.42s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.00/0.12 % Problem : NUM721^1 : TPTP v9.2.1. Released v3.7.0. % 0.12/0.13 % Command : /export/starexec/sandbox/solver/bin/do_cvc5 /export/starexec/sandbox/benchmark/theBenchmark.p 300 THM % 0.15/0.34 % Computer : n020.cluster.edu % 0.15/0.34 % Model : x86_64 x86_64 % 0.15/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz % 0.15/0.34 % Memory : 8042.1875MB % 0.15/0.34 % OS : Linux 3.10.0-693.el7.x86_64 % 0.15/0.34 % CPULimit : 300 % 0.15/0.34 % WCLimit : 300 % 0.15/0.34 % DateTime : Tue Jun 2 12:05:10 EDT 2026 % 0.15/0.34 % CPUTime : % 0.29/0.48 %----Proving TH0 % 1.42/1.65 --- Run --mbqi --mbqi-enum --mbqi-enum-choice-grammar --mbqi-enum-global-syms-grammar --sygus-grammar-ho-partial --no-cegqi --no-sygus-inst at 90s... % 1.42/1.65 % SZS status Theorem % 1.42/1.65 % SZS output start Proof % 1.42/1.65 ( % 1.42/1.65 (declare-sort tptp.nat 0) % 1.42/1.65 (declare-const tptp.ts (-> tptp.nat tptp.nat tptp.nat)) % 1.42/1.65 (declare-const tptp.u tptp.nat) % 1.42/1.65 (declare-const tptp.z tptp.nat) % 1.42/1.65 (declare-const tptp.some (-> (-> tptp.nat Bool) Bool)) % 1.42/1.65 (declare-const tptp.diffprop (-> tptp.nat tptp.nat tptp.nat Bool)) % 1.42/1.65 (declare-const tptp.y tptp.nat) % 1.42/1.65 (declare-const tptp.x tptp.nat) % 1.42/1.65 (define @t1 () (@var "Xv" tptp.nat)) % 1.42/1.65 (define @t2 () (_ (_ tptp.diffprop tptp.y) tptp.x)) % 1.42/1.65 (define @t3 () (_ @t2 @t1)) % 1.42/1.65 (define @t4 () (@list @t1)) % 1.42/1.65 (define @t5 () (lambda @t4 @t3)) % 1.42/1.65 (define @t6 () (_ (_ tptp.diffprop tptp.u) tptp.z)) % 1.42/1.65 (define @t7 () (_ @t6 @t1)) % 1.42/1.65 (define @t8 () (lambda @t4 @t7)) % 1.42/1.65 (define @t9 () (@var "Xu_0" tptp.nat)) % 1.42/1.65 (define @t10 () (@var "Xu" tptp.nat)) % 1.42/1.65 (define @t11 () (@var "Xy" tptp.nat)) % 1.42/1.65 (define @t12 () (_ (_ tptp.ts @t11) @t10)) % 1.42/1.65 (define @t13 () (@var "Xz" tptp.nat)) % 1.42/1.65 (define @t14 () (@var "Xx" tptp.nat)) % 1.42/1.65 (define @t15 () (_ (_ tptp.ts @t14) @t13)) % 1.42/1.65 (define @t16 () (_ (_ (_ tptp.diffprop @t15) @t12) @t9)) % 1.42/1.65 (define @t17 () (@list @t9)) % 1.42/1.65 (define @t18 () (lambda @t17 @t16)) % 1.42/1.65 (define @t19 () (_ tptp.some @t18)) % 1.42/1.65 (define @t20 () (_ (_ (_ tptp.diffprop @t13) @t10) @t9)) % 1.42/1.65 (define @t21 () (lambda @t17 @t20)) % 1.42/1.65 (define @t22 () (_ tptp.some @t21)) % 1.42/1.65 (define @t23 () (=> @t22 @t19)) % 1.42/1.65 (define @t24 () (_ (_ tptp.diffprop @t14) @t11)) % 1.42/1.65 (define @t25 () (lambda (@list @t10) (_ @t24 @t10))) % 1.42/1.65 (define @t26 () (=> (_ tptp.some @t25) @t23)) % 1.42/1.65 (define @t27 () (@list @t14 @t11 @t13 @t10)) % 1.42/1.65 (define @t28 () (forall @t27 @t26)) % 1.42/1.65 (define @t29 () (_ (_ tptp.ts tptp.x) tptp.z)) % 1.42/1.65 (define @t30 () (_ (_ tptp.ts tptp.y) tptp.u)) % 1.42/1.65 (define @t31 () (_ (_ (_ tptp.diffprop @t30) @t29) @t1)) % 1.42/1.65 (define @t32 () (lambda @t4 @t31)) % 1.42/1.65 (define @t33 () (not (_ tptp.some @t32))) % 1.42/1.65 (define @t34 () (tptp.diffprop tptp.y tptp.x @t1)) % 1.42/1.65 (define @t35 () (@purify @t5)) % 1.42/1.65 (define @t36 () (_ @t35 @t1)) % 1.42/1.65 (define @t37 () (= @t3 @t36)) % 1.42/1.65 (define @t38 () (_ @t5 @t1)) % 1.42/1.65 (define @t39 () (= @t36 @t38)) % 1.42/1.65 (define @t40 () (forall @t4 @t39)) % 1.42/1.65 (define @t41 () (tptp.ts @t11 @t10)) % 1.42/1.65 (define @t42 () (tptp.ts @t14 @t13)) % 1.42/1.65 (define @t43 () (tptp.diffprop @t42 @t41 @t9)) % 1.42/1.65 (define @t44 () (lambda @t17 @t43)) % 1.42/1.65 (define @t45 () (tptp.some @t44)) % 1.42/1.65 (define @t46 () (tptp.diffprop @t13 @t10 @t9)) % 1.42/1.65 (define @t47 () (lambda @t17 @t46)) % 1.42/1.65 (define @t48 () (tptp.some @t47)) % 1.42/1.65 (define @t49 () (not @t22)) % 1.42/1.65 (define @t50 () (@var "BOUND_VARIABLE_7472" tptp.nat)) % 1.42/1.65 (define @t51 () (_ @t24 @t50)) % 1.42/1.65 (define @t52 () (@list @t50)) % 1.42/1.65 (define @t53 () (lambda @t52 @t51)) % 1.42/1.65 (define @t54 () (tptp.diffprop @t14 @t11 @t50)) % 1.42/1.65 (define @t55 () (lambda @t52 @t54)) % 1.42/1.65 (define @t56 () (tptp.some @t55)) % 1.42/1.65 (define @t57 () (_ tptp.some @t53)) % 1.42/1.65 (define @t58 () (not @t57)) % 1.42/1.65 (define @t59 () (or @t58 @t49 @t19)) % 1.42/1.65 (define @t60 () (tptp.ts tptp.x tptp.z)) % 1.42/1.65 (define @t61 () (tptp.ts tptp.y tptp.u)) % 1.42/1.65 (define @t62 () (_ (_ tptp.diffprop @t61) @t60)) % 1.42/1.65 (define @t63 () (lambda @t17 (tptp.diffprop @t61 @t60 @t9))) % 1.42/1.65 (define @t64 () (tptp.some @t63)) % 1.42/1.65 (define @t65 () (lambda @t17 (tptp.diffprop tptp.u tptp.z @t9))) % 1.42/1.65 (define @t66 () (tptp.some @t65)) % 1.42/1.65 (define @t67 () (not @t66)) % 1.42/1.65 (define @t68 () (lambda @t52 (tptp.diffprop tptp.y tptp.x @t50))) % 1.42/1.65 (define @t69 () (tptp.some @t68)) % 1.42/1.65 (define @t70 () (not @t69)) % 1.42/1.65 (define @t71 () (or @t70 @t67 @t64)) % 1.42/1.65 (define @t72 () (forall @t27 (or (not @t56) (not @t48) @t45))) % 1.42/1.65 (define @t73 () (tptp.some @t62)) % 1.42/1.65 (define @t74 () (tptp.some @t6)) % 1.42/1.65 (define @t75 () (not @t74)) % 1.42/1.65 (define @t76 () (tptp.some @t2)) % 1.42/1.65 (define @t77 () (not @t76)) % 1.42/1.65 (define @t78 () (or @t77 @t75 @t73)) % 1.42/1.65 (define @t79 () (@list false)) % 1.42/1.65 (define @t80 () (@purify @t32)) % 1.42/1.65 (define @t81 () (tptp.some @t80)) % 1.42/1.65 (define @t82 () (_ tptp.some @t80)) % 1.42/1.65 (define @t83 () (tptp.diffprop @t61 @t60 @t1)) % 1.42/1.65 (define @t84 () (_ @t80 @t1)) % 1.42/1.65 (define @t85 () (= @t31 @t84)) % 1.42/1.65 (define @t86 () (_ @t32 @t1)) % 1.42/1.65 (define @t87 () (= @t84 @t86)) % 1.42/1.65 (define @t88 () (forall @t4 @t87)) % 1.42/1.65 (define @t89 () (@const 0 tptp.nat)) % 1.42/1.65 (define @t90 () (= (_ @t80 @t89) (tptp.diffprop @t61 @t60 @t89))) % 1.42/1.65 (define @t91 () (not @t90)) % 1.42/1.65 (define @t92 () (= @t80 @t62)) % 1.42/1.65 (define @t93 () (@purify @t8)) % 1.42/1.65 (define @t94 () (tptp.some @t93)) % 1.42/1.65 (define @t95 () (_ tptp.some @t93)) % 1.42/1.65 (define @t96 () (tptp.diffprop tptp.u tptp.z @t1)) % 1.42/1.65 (define @t97 () (_ @t93 @t1)) % 1.42/1.65 (define @t98 () (= @t7 @t97)) % 1.42/1.65 (define @t99 () (_ @t8 @t1)) % 1.42/1.65 (define @t100 () (= @t97 @t99)) % 1.42/1.65 (define @t101 () (forall @t4 @t100)) % 1.42/1.65 (define @t102 () (@const 1 tptp.nat)) % 1.42/1.65 (define @t103 () (_ @t93 @t102)) % 1.42/1.65 (define @t104 () (tptp.diffprop tptp.u tptp.z @t102)) % 1.42/1.65 (define @t105 () (forall @t4 (= @t97 @t96))) % 1.42/1.65 (define @t106 () (= @t103 @t104)) % 1.42/1.65 (define @t107 () (= @t104 @t103)) % 1.42/1.65 (define @t108 () (not @t107)) % 1.42/1.65 (define @t109 () (= @t6 @t93)) % 1.42/1.65 (define @t110 () (tptp.some @t35)) % 1.42/1.65 (define @t111 () (_ tptp.some @t35)) % 1.42/1.65 (define @t112 () (= @t2 @t35)) % 1.42/1.65 (define @t113 () (not @t112)) % 1.42/1.65 (define @t114 () (not @t110)) % 1.42/1.65 (define @t115 () (and @t77 @t112 @t110)) % 1.42/1.65 (define @t116 () (@const 2 tptp.nat)) % 1.42/1.65 (define @t117 () (_ @t35 @t116)) % 1.42/1.65 (define @t118 () (tptp.diffprop tptp.y tptp.x @t116)) % 1.42/1.65 (define @t119 () (= @t118 @t117)) % 1.42/1.65 (define @t120 () (not @t119)) % 1.42/1.65 (define @t121 () (forall @t4 (= @t36 @t34))) % 1.42/1.65 (define @t122 () (= @t117 @t118)) % 1.42/1.65 (assume @p1 (_ tptp.some @t5)) % 1.42/1.65 (assume @p2 (_ tptp.some @t8)) % 1.42/1.65 (assume @p3 @t28) % 1.42/1.65 (assume @p4 @t33) % 1.42/1.65 (assume @p5 true) % 1.42/1.65 (step @p6 :rule eq-symm :args (@t34 @t36)) % 1.42/1.65 (step @p7 :rule cong :premises (@p6) :args ((forall @t4 (= @t34 @t36)))) % 1.42/1.65 (step @p8 :rule refl :args (@t36)) % 1.42/1.65 (step @p9 :rule refl :args (@t34)) % 1.42/1.65 (step @p10 :rule refl :args (@t3)) % 1.42/1.65 (step @p11 :rule cong :premises (@p10 @p9) :args ((= @t3 @t34))) % 1.42/1.65 (step @p12 :rule symm :premises (@p11)) % 1.42/1.65 (step @p13 :rule eq_resolve :premises (@p10 @p12)) % 1.42/1.65 (step @p14 :rule cong :premises (@p13 @p8) :args (@t37)) % 1.42/1.65 (step @p15 :rule cong :premises (@p14) :args ((forall @t4 @t37))) % 1.42/1.65 (step @p16 :rule trans :premises (@p15 @p7)) % 1.42/1.65 (step @p17 :rule eq-symm :args (@t36 @t3)) % 1.42/1.65 (step @p18 :rule beta-reduce :args ((= @t38 @t3))) % 1.42/1.65 (step @p19 :rule refl :args (@t36)) % 1.42/1.65 (step @p20 :rule cong :premises (@p19 @p18) :args (@t39)) % 1.42/1.65 (step @p21 :rule trans :premises (@p20 @p17)) % 1.42/1.65 (step @p22 :rule cong :premises (@p21) :args (@t40)) % 1.42/1.65 (step @p23 :rule trans :premises (@p22 @p16)) % 1.42/1.65 (step @p24 :rule quant-unused-vars :args ((= (forall @t4 true) true))) % 1.42/1.65 (step @p25 :rule eq-refl :args (@t38)) % 1.42/1.65 (step @p26 :rule cong :premises (@p25) :args ((forall @t4 (= @t38 @t38)))) % 1.42/1.65 (step @p27 :rule trans :premises (@p26 @p24)) % 1.42/1.65 (step @p28 :rule refl :args (@t38)) % 1.42/1.65 (step @p29 :rule refl :args (@t1)) % 1.42/1.65 (step @p30 :rule skolem_intro :args (@t35)) % 1.42/1.65 (step @p31 :rule ho_cong :premises (@p30 @p29)) % 1.42/1.65 (step @p32 :rule cong :premises (@p31 @p28) :args (@t39)) % 1.42/1.65 (step @p33 :rule cong :premises (@p32) :args (@t40)) % 1.42/1.65 (step @p34 :rule trans :premises (@p33 @p27)) % 1.42/1.65 (step @p35 :rule true_elim :premises (@p34)) % 1.42/1.65 (step @p36 :rule eq_resolve :premises (@p35 @p23)) % 1.42/1.65 (step @p37 :rule refl :args ((tptp.some @t18))) % 1.42/1.65 (step @p38 :rule refl :args ((tptp.diffprop @t15 @t12 @t9))) % 1.42/1.65 (step @p39 :rule refl :args (@t9)) % 1.42/1.65 (step @p40 :rule refl :args (@t41)) % 1.42/1.65 (step @p41 :rule refl :args (@t42)) % 1.42/1.65 (step @p42 :rule cong :premises (@p41 @p40 @p39) :args (@t43)) % 1.42/1.65 (step @p43 :rule trans :premises (@p42 @p38)) % 1.42/1.65 (step @p44 :rule cong :premises (@p43) :args (@t44)) % 1.42/1.65 (step @p45 :rule cong :premises (@p44) :args (@t45)) % 1.42/1.65 (step @p46 :rule trans :premises (@p45 @p37)) % 1.42/1.65 (step @p47 :rule refl :args (tptp.some)) % 1.42/1.65 (step @p48 :rule ho_cong :premises (@p47 @p44)) % 1.42/1.65 (step @p49 :rule cong :premises (@p48 @p46) :args ((= (_ tptp.some @t44) @t45))) % 1.42/1.65 (step @p50 :rule symm :premises (@p49)) % 1.42/1.65 (step @p51 :rule refl :args (@t19)) % 1.42/1.65 (step @p52 :rule eq_resolve :premises (@p51 @p50)) % 1.42/1.65 (step @p53 :rule refl :args (tptp.diffprop)) % 1.42/1.65 (step @p54 :rule ho_cong :premises (@p53 @p41)) % 1.42/1.65 (step @p55 :rule ho_cong :premises (@p54 @p40)) % 1.42/1.65 (step @p56 :rule ho_cong :premises (@p55 @p39)) % 1.42/1.65 (step @p57 :rule cong :premises (@p56 @p43) :args ((= (_ (_ (_ tptp.diffprop @t42) @t41) @t9) @t43))) % 1.42/1.65 (step @p58 :rule symm :premises (@p57)) % 1.42/1.65 (step @p59 :rule refl :args (@t16)) % 1.42/1.65 (step @p60 :rule eq_resolve :premises (@p59 @p58)) % 1.42/1.65 (step @p61 :rule refl :args (@t12)) % 1.42/1.65 (step @p62 :rule cong :premises (@p61 @p40) :args ((= @t12 @t41))) % 1.42/1.65 (step @p63 :rule symm :premises (@p62)) % 1.42/1.65 (step @p64 :rule eq_resolve :premises (@p61 @p63)) % 1.42/1.65 (step @p65 :rule refl :args (@t15)) % 1.42/1.65 (step @p66 :rule cong :premises (@p65 @p41) :args ((= @t15 @t42))) % 1.42/1.65 (step @p67 :rule symm :premises (@p66)) % 1.42/1.65 (step @p68 :rule eq_resolve :premises (@p65 @p67)) % 1.42/1.65 (step @p69 :rule ho_cong :premises (@p53 @p68)) % 1.42/1.65 (step @p70 :rule ho_cong :premises (@p69 @p64)) % 1.42/1.65 (step @p71 :rule ho_cong :premises (@p70 @p39)) % 1.42/1.65 (step @p72 :rule trans :premises (@p71 @p60)) % 1.42/1.65 (step @p73 :rule cong :premises (@p72) :args (@t18)) % 1.42/1.65 (step @p74 :rule ho_cong :premises (@p47 @p73)) % 1.42/1.65 (step @p75 :rule trans :premises (@p74 @p52)) % 1.42/1.65 (step @p76 :rule refl :args ((tptp.some @t21))) % 1.42/1.65 (step @p77 :rule refl :args (@t46)) % 1.42/1.65 (step @p78 :rule cong :premises (@p77) :args (@t47)) % 1.42/1.65 (step @p79 :rule cong :premises (@p78) :args (@t48)) % 1.42/1.65 (step @p80 :rule trans :premises (@p79 @p76)) % 1.42/1.65 (step @p81 :rule ho_cong :premises (@p47 @p78)) % 1.42/1.65 (step @p82 :rule cong :premises (@p81 @p80) :args ((= (_ tptp.some @t47) @t48))) % 1.42/1.65 (step @p83 :rule symm :premises (@p82)) % 1.42/1.65 (step @p84 :rule refl :args (@t22)) % 1.42/1.65 (step @p85 :rule eq_resolve :premises (@p84 @p83)) % 1.42/1.65 (step @p86 :rule refl :args (@t20)) % 1.42/1.65 (step @p87 :rule cong :premises (@p86 @p77) :args ((= @t20 @t46))) % 1.42/1.65 (step @p88 :rule symm :premises (@p87)) % 1.42/1.65 (step @p89 :rule eq_resolve :premises (@p86 @p88)) % 1.42/1.65 (step @p90 :rule cong :premises (@p89) :args (@t21)) % 1.42/1.65 (step @p91 :rule ho_cong :premises (@p47 @p90)) % 1.42/1.65 (step @p92 :rule trans :premises (@p91 @p85)) % 1.42/1.65 (step @p93 :rule cong :premises (@p92) :args (@t49)) % 1.42/1.65 (step @p94 :rule refl :args ((tptp.some @t53))) % 1.42/1.65 (step @p95 :rule refl :args (@t54)) % 1.42/1.65 (step @p96 :rule cong :premises (@p95) :args (@t55)) % 1.42/1.65 (step @p97 :rule cong :premises (@p96) :args (@t56)) % 1.42/1.65 (step @p98 :rule trans :premises (@p97 @p94)) % 1.42/1.65 (step @p99 :rule ho_cong :premises (@p47 @p96)) % 1.42/1.65 (step @p100 :rule cong :premises (@p99 @p98) :args ((= (_ tptp.some @t55) @t56))) % 1.42/1.65 (step @p101 :rule symm :premises (@p100)) % 1.42/1.65 (step @p102 :rule refl :args (@t57)) % 1.42/1.65 (step @p103 :rule eq_resolve :premises (@p102 @p101)) % 1.42/1.65 (step @p104 :rule refl :args (@t51)) % 1.42/1.65 (step @p105 :rule cong :premises (@p104 @p95) :args ((= @t51 @t54))) % 1.42/1.65 (step @p106 :rule symm :premises (@p105)) % 1.42/1.65 (step @p107 :rule eq_resolve :premises (@p104 @p106)) % 1.42/1.65 (step @p108 :rule cong :premises (@p107) :args (@t53)) % 1.42/1.65 (step @p109 :rule ho_cong :premises (@p47 @p108)) % 1.42/1.65 (step @p110 :rule trans :premises (@p109 @p103)) % 1.42/1.65 (step @p111 :rule cong :premises (@p110) :args (@t58)) % 1.42/1.65 (step @p112 :rule nary_cong :premises (@p111 @p93 @p75) :args (@t59)) % 1.42/1.65 (step @p113 :rule cong :premises (@p112) :args ((forall @t27 @t59))) % 1.42/1.65 (step @p114 :rule aci_norm :args ((= (or @t58 (or @t49 @t19)) @t59))) % 1.42/1.65 (step @p115 :rule bool-impl-elim :args (@t22 @t19)) % 1.42/1.65 (step @p116 :rule refl :args (@t58)) % 1.42/1.65 (step @p117 :rule nary_cong :premises (@p116 @p115) :args ((or @t58 @t23))) % 1.42/1.65 (step @p118 :rule trans :premises (@p117 @p114)) % 1.42/1.65 (step @p119 :rule bool-impl-elim :args (@t57 @t23)) % 1.42/1.65 (step @p120 :rule trans :premises (@p119 @p118)) % 1.42/1.65 (step @p121 :rule cong :premises (@p120) :args ((forall @t27 (=> @t57 @t23)))) % 1.42/1.65 (step @p122 :rule trans :premises (@p121 @p113)) % 1.42/1.65 (step @p123 :rule refl :args (@t23)) % 1.42/1.65 (step @p124 :rule alpha_equiv :args (@t25 (@list @t10) (@list @t50))) % 1.42/1.65 (step @p125 :rule ho_cong :premises (@p47 @p124)) % 1.42/1.65 (step @p126 :rule cong :premises (@p125 @p123) :args (@t26)) % 1.42/1.65 (step @p127 :rule cong :premises (@p126) :args (@t28)) % 1.42/1.65 (step @p128 :rule trans :premises (@p127 @p122)) % 1.42/1.65 (step @p129 :rule eq_resolve :premises (@p3 @p128)) % 1.42/1.65 (step @p130 :rule lambda-elim :args ((= @t63 @t62))) % 1.42/1.65 (step @p131 :rule cong :premises (@p130) :args (@t64)) % 1.42/1.65 (step @p132 :rule lambda-elim :args ((= @t65 @t6))) % 1.42/1.65 (step @p133 :rule cong :premises (@p132) :args (@t66)) % 1.42/1.65 (step @p134 :rule cong :premises (@p133) :args (@t67)) % 1.42/1.65 (step @p135 :rule lambda-elim :args ((= @t68 @t2))) % 1.42/1.65 (step @p136 :rule cong :premises (@p135) :args (@t69)) % 1.42/1.65 (step @p137 :rule cong :premises (@p136) :args (@t70)) % 1.42/1.65 (step @p138 :rule nary_cong :premises (@p137 @p134 @p131) :args (@t71)) % 1.42/1.65 (step @p139 :rule refl :args (@t72)) % 1.42/1.65 (step @p140 :rule cong :premises (@p139 @p138) :args ((=> @t72 @t71))) % 1.42/1.65 (assume-push @p340 @t72) % 1.42/1.65 (step @p142 :rule instantiate :premises (@p129) :args ((@list tptp.y tptp.x tptp.u tptp.z))) % 1.42/1.65 (step-pop @p341 :rule scope :premises (@p142)) % 1.42/1.65 (step @p143 :rule process_scope :premises (@p341) :args (@t71)) % 1.42/1.65 (step @p145 :rule eq_resolve :premises (@p143 @p140)) % 1.42/1.65 (step @p146 :rule implies_elim :premises (@p145)) % 1.42/1.65 (step @p147 :rule chain_m_resolution :premises (@p146 @p129) :args (@t78 @t79 (@list @t72))) % 1.42/1.65 (step @p148 :rule refl :args (@t81)) % 1.42/1.65 (step @p149 :rule refl :args (@t82)) % 1.42/1.65 (step @p150 :rule cong :premises (@p149 @p148) :args ((= @t82 @t81))) % 1.42/1.65 (step @p151 :rule symm :premises (@p150)) % 1.42/1.65 (step @p152 :rule eq_resolve :premises (@p149 @p151)) % 1.42/1.65 (step @p153 :rule eq-refl :args (@t32)) % 1.42/1.65 (step @p154 :rule skolem_intro :args (@t80)) % 1.42/1.65 (step @p155 :rule refl :args (@t32)) % 1.42/1.65 (step @p156 :rule cong :premises (@p155 @p154) :args ((= @t32 @t80))) % 1.42/1.65 (step @p157 :rule trans :premises (@p156 @p153)) % 1.42/1.65 (step @p158 :rule true_elim :premises (@p157)) % 1.42/1.65 (step @p159 :rule refl :args (tptp.some)) % 1.42/1.65 (step @p160 :rule ho_cong :premises (@p159 @p158)) % 1.42/1.65 (step @p161 :rule trans :premises (@p160 @p152)) % 1.42/1.65 (step @p162 :rule cong :premises (@p161) :args (@t33)) % 1.42/1.65 (step @p163 :rule eq_resolve :premises (@p4 @p162)) % 1.42/1.65 (step @p164 :rule false_intro :premises (@p163)) % 1.42/1.65 (step @p165 :rule eq-symm :args (@t83 @t84)) % 1.42/1.65 (step @p166 :rule cong :premises (@p165) :args ((forall @t4 (= @t83 @t84)))) % 1.42/1.65 (step @p167 :rule refl :args (@t84)) % 1.42/1.65 (step @p168 :rule refl :args ((tptp.diffprop @t30 @t29 @t1))) % 1.42/1.65 (step @p169 :rule refl :args (@t1)) % 1.42/1.65 (step @p170 :rule refl :args (@t60)) % 1.42/1.65 (step @p171 :rule refl :args (@t61)) % 1.42/1.65 (step @p172 :rule cong :premises (@p171 @p170 @p169) :args (@t83)) % 1.42/1.65 (step @p173 :rule trans :premises (@p172 @p168)) % 1.42/1.65 (step @p174 :rule ho_cong :premises (@p53 @p171)) % 1.42/1.65 (step @p175 :rule ho_cong :premises (@p174 @p170)) % 1.42/1.65 (step @p176 :rule ho_cong :premises (@p175 @p169)) % 1.42/1.65 (step @p177 :rule cong :premises (@p176 @p173) :args ((= (_ @t62 @t1) @t83))) % 1.42/1.65 (step @p178 :rule symm :premises (@p177)) % 1.42/1.65 (step @p179 :rule refl :args (@t31)) % 1.42/1.65 (step @p180 :rule eq_resolve :premises (@p179 @p178)) % 1.42/1.65 (step @p181 :rule refl :args (@t29)) % 1.42/1.65 (step @p182 :rule cong :premises (@p181 @p170) :args ((= @t29 @t60))) % 1.42/1.65 (step @p183 :rule symm :premises (@p182)) % 1.42/1.65 (step @p184 :rule eq_resolve :premises (@p181 @p183)) % 1.42/1.65 (step @p185 :rule refl :args (@t30)) % 1.42/1.65 (step @p186 :rule cong :premises (@p185 @p171) :args ((= @t30 @t61))) % 1.42/1.65 (step @p187 :rule symm :premises (@p186)) % 1.42/1.65 (step @p188 :rule eq_resolve :premises (@p185 @p187)) % 1.42/1.65 (step @p189 :rule ho_cong :premises (@p53 @p188)) % 1.42/1.65 (step @p190 :rule ho_cong :premises (@p189 @p184)) % 1.42/1.65 (step @p191 :rule ho_cong :premises (@p190 @p169)) % 1.42/1.65 (step @p192 :rule trans :premises (@p191 @p180)) % 1.42/1.65 (step @p193 :rule cong :premises (@p192 @p167) :args (@t85)) % 1.42/1.65 (step @p194 :rule cong :premises (@p193) :args ((forall @t4 @t85))) % 1.42/1.65 (step @p195 :rule trans :premises (@p194 @p166)) % 1.42/1.65 (step @p196 :rule eq-symm :args (@t84 @t31)) % 1.42/1.65 (step @p197 :rule beta-reduce :args ((= @t86 @t31))) % 1.42/1.65 (step @p198 :rule refl :args (@t84)) % 1.42/1.65 (step @p199 :rule cong :premises (@p198 @p197) :args (@t87)) % 1.42/1.65 (step @p200 :rule trans :premises (@p199 @p196)) % 1.42/1.65 (step @p201 :rule cong :premises (@p200) :args (@t88)) % 1.42/1.65 (step @p202 :rule trans :premises (@p201 @p195)) % 1.42/1.65 (step @p203 :rule eq-refl :args (@t86)) % 1.42/1.65 (step @p204 :rule cong :premises (@p203) :args ((forall @t4 (= @t86 @t86)))) % 1.42/1.65 (step @p205 :rule trans :premises (@p204 @p24)) % 1.42/1.65 (step @p206 :rule refl :args (@t86)) % 1.42/1.65 (step @p207 :rule ho_cong :premises (@p154 @p29)) % 1.42/1.65 (step @p208 :rule cong :premises (@p207 @p206) :args (@t87)) % 1.42/1.65 (step @p209 :rule cong :premises (@p208) :args (@t88)) % 1.42/1.65 (step @p210 :rule trans :premises (@p209 @p205)) % 1.42/1.65 (step @p211 :rule true_elim :premises (@p210)) % 1.42/1.65 (step @p212 :rule eq_resolve :premises (@p211 @p202)) % 1.42/1.65 (step @p213 :rule instantiate :premises (@p212) :args ((@list @t89))) % 1.42/1.65 ; WARNING: add trust step for TRUST % 1.42/1.65 ; trust TRUST THEORY_LEMMA % 1.42/1.65 (step @p214 :rule trust :premises () :args ((or @t92 @t91))) % 1.42/1.65 (step @p215 :rule reordering :premises (@p214) :args ((or @t91 @t92))) % 1.42/1.65 (step @p216 :rule chain_m_resolution :premises (@p215 @p213) :args (@t92 @t79 (@list @t90))) % 1.42/1.65 (step @p217 :rule symm :premises (@p216)) % 1.42/1.65 (step @p218 :rule cong :premises (@p217) :args (@t73)) % 1.42/1.65 (step @p219 :rule trans :premises (@p218 @p164)) % 1.42/1.65 (step @p220 :rule false_elim :premises (@p219)) % 1.42/1.65 (step @p221 :rule refl :args (@t94)) % 1.42/1.65 (step @p222 :rule refl :args (@t95)) % 1.42/1.65 (step @p223 :rule cong :premises (@p222 @p221) :args ((= @t95 @t94))) % 1.42/1.65 (step @p224 :rule symm :premises (@p223)) % 1.42/1.65 (step @p225 :rule eq_resolve :premises (@p222 @p224)) % 1.42/1.65 (step @p226 :rule eq-refl :args (@t8)) % 1.42/1.65 (step @p227 :rule skolem_intro :args (@t93)) % 1.42/1.65 (step @p228 :rule refl :args (@t8)) % 1.42/1.65 (step @p229 :rule cong :premises (@p228 @p227) :args ((= @t8 @t93))) % 1.42/1.65 (step @p230 :rule trans :premises (@p229 @p226)) % 1.42/1.65 (step @p231 :rule true_elim :premises (@p230)) % 1.42/1.65 (step @p232 :rule ho_cong :premises (@p159 @p231)) % 1.42/1.65 (step @p233 :rule trans :premises (@p232 @p225)) % 1.42/1.65 (step @p234 :rule eq_resolve :premises (@p2 @p233)) % 1.42/1.65 (step @p235 :rule true_intro :premises (@p234)) % 1.42/1.65 (step @p236 :rule eq-symm :args (@t96 @t97)) % 1.42/1.65 (step @p237 :rule cong :premises (@p236) :args ((forall @t4 (= @t96 @t97)))) % 1.42/1.65 (step @p238 :rule refl :args (@t97)) % 1.42/1.65 (step @p239 :rule refl :args (@t96)) % 1.42/1.65 (step @p240 :rule refl :args (@t7)) % 1.42/1.65 (step @p241 :rule cong :premises (@p240 @p239) :args ((= @t7 @t96))) % 1.42/1.65 (step @p242 :rule symm :premises (@p241)) % 1.42/1.65 (step @p243 :rule eq_resolve :premises (@p240 @p242)) % 1.42/1.65 (step @p244 :rule cong :premises (@p243 @p238) :args (@t98)) % 1.42/1.65 (step @p245 :rule cong :premises (@p244) :args ((forall @t4 @t98))) % 1.42/1.65 (step @p246 :rule trans :premises (@p245 @p237)) % 1.42/1.65 (step @p247 :rule eq-symm :args (@t97 @t7)) % 1.42/1.65 (step @p248 :rule beta-reduce :args ((= @t99 @t7))) % 1.42/1.65 (step @p249 :rule refl :args (@t97)) % 1.42/1.65 (step @p250 :rule cong :premises (@p249 @p248) :args (@t100)) % 1.42/1.65 (step @p251 :rule trans :premises (@p250 @p247)) % 1.42/1.65 (step @p252 :rule cong :premises (@p251) :args (@t101)) % 1.42/1.65 (step @p253 :rule trans :premises (@p252 @p246)) % 1.42/1.65 (step @p254 :rule eq-refl :args (@t99)) % 1.42/1.65 (step @p255 :rule cong :premises (@p254) :args ((forall @t4 (= @t99 @t99)))) % 1.42/1.65 (step @p256 :rule trans :premises (@p255 @p24)) % 1.42/1.65 (step @p257 :rule refl :args (@t99)) % 1.42/1.65 (step @p258 :rule ho_cong :premises (@p227 @p29)) % 1.42/1.65 (step @p259 :rule cong :premises (@p258 @p257) :args (@t100)) % 1.42/1.65 (step @p260 :rule cong :premises (@p259) :args (@t101)) % 1.42/1.65 (step @p261 :rule trans :premises (@p260 @p256)) % 1.42/1.65 (step @p262 :rule true_elim :premises (@p261)) % 1.42/1.65 (step @p263 :rule eq_resolve :premises (@p262 @p253)) % 1.42/1.65 (step @p264 :rule eq-symm :args (@t103 @t104)) % 1.42/1.65 (step @p265 :rule refl :args (@t105)) % 1.42/1.65 (step @p266 :rule cong :premises (@p265 @p264) :args ((=> @t105 @t106))) % 1.42/1.65 (assume-push @p342 @t105) % 1.42/1.65 (step @p268 :rule instantiate :premises (@p263) :args ((@list @t102))) % 1.42/1.65 (step-pop @p343 :rule scope :premises (@p268)) % 1.42/1.65 (step @p269 :rule process_scope :premises (@p343) :args (@t106)) % 1.42/1.65 (step @p271 :rule eq_resolve :premises (@p269 @p266)) % 1.42/1.65 (step @p272 :rule implies_elim :premises (@p271)) % 1.42/1.65 (step @p273 :rule chain_m_resolution :premises (@p272 @p263) :args (@t107 @t79 (@list @t105))) % 1.42/1.65 ; trust TRUST THEORY_LEMMA % 1.42/1.65 (step @p274 :rule trust :premises () :args ((or @t109 @t108))) % 1.42/1.65 (step @p275 :rule reordering :premises (@p274) :args ((or @t108 @t109))) % 1.42/1.65 (step @p276 :rule chain_m_resolution :premises (@p275 @p273) :args (@t109 @t79 (@list @t107))) % 1.42/1.65 (step @p277 :rule cong :premises (@p276) :args (@t74)) % 1.42/1.65 (step @p278 :rule trans :premises (@p277 @p235)) % 1.42/1.65 (step @p279 :rule true_elim :premises (@p278)) % 1.42/1.65 (step @p280 :rule cnf_or_pos :args (@t78)) % 1.42/1.65 (step @p281 :rule reordering :premises (@p280) :args ((or @t75 @t73 @t77 (not @t78)))) % 1.42/1.65 (step @p282 :rule chain_m_resolution :premises (@p281 @p279 @p220 @p147) :args (@t77 (@list false true false) (@list @t74 @t73 @t78))) % 1.42/1.65 (step @p283 :rule refl :args (@t110)) % 1.42/1.65 (step @p284 :rule refl :args (@t111)) % 1.42/1.65 (step @p285 :rule cong :premises (@p284 @p283) :args ((= @t111 @t110))) % 1.42/1.65 (step @p286 :rule symm :premises (@p285)) % 1.42/1.65 (step @p287 :rule eq_resolve :premises (@p284 @p286)) % 1.42/1.65 (step @p288 :rule eq-refl :args (@t5)) % 1.42/1.65 (step @p289 :rule refl :args (@t5)) % 1.42/1.65 (step @p290 :rule cong :premises (@p289 @p30) :args ((= @t5 @t35))) % 1.42/1.65 (step @p291 :rule trans :premises (@p290 @p288)) % 1.42/1.65 (step @p292 :rule true_elim :premises (@p291)) % 1.42/1.65 (step @p293 :rule ho_cong :premises (@p159 @p292)) % 1.42/1.65 (step @p294 :rule trans :premises (@p293 @p287)) % 1.42/1.65 (step @p295 :rule eq_resolve :premises (@p1 @p294)) % 1.42/1.65 (step @p296 :rule refl :args (@t113)) % 1.42/1.65 (step @p297 :rule bool-double-not-elim :args (@t76)) % 1.42/1.65 (step @p298 :rule refl :args (@t114)) % 1.42/1.65 (step @p299 :rule nary_cong :premises (@p298 @p297 @p296) :args ((or @t114 (not @t77) @t113))) % 1.42/1.65 (assume-push @p344 @t77) % 1.42/1.65 (assume-push @p345 @t112) % 1.42/1.65 (assume-push @p346 @t110) % 1.42/1.65 (step @p303 :rule evaluate :args ((= true false))) % 1.42/1.65 (step @p304 :rule false_intro :premises (@p282)) % 1.42/1.65 (step @p305 :rule symm :premises (@p345)) % 1.42/1.65 (step @p306 :rule cong :premises (@p305) :args (@t110)) % 1.42/1.65 (step @p307 :rule true_intro :premises (@p295)) % 1.42/1.65 (step @p308 :rule symm :premises (@p307)) % 1.42/1.65 (step @p309 :rule trans :premises (@p308 @p306 @p304)) % 1.42/1.65 (step @p310 false :rule eq_resolve :premises (@p309 @p303)) % 1.42/1.65 (step-pop @p347 :rule scope :premises (@p310)) % 1.42/1.65 (step-pop @p348 :rule scope :premises (@p347)) % 1.42/1.65 (step-pop @p349 :rule scope :premises (@p348)) % 1.42/1.65 (step @p311 :rule process_scope :premises (@p349) :args (false)) % 1.42/1.65 (assume-push @p350 @t110) % 1.42/1.65 (assume-push @p351 @t77) % 1.42/1.65 (assume-push @p352 @t112) % 1.42/1.65 (step @p318 :rule and_intro :premises (@p282 @p352 @p295)) % 1.42/1.65 (step-pop @p353 :rule scope :premises (@p318)) % 1.42/1.65 (step-pop @p354 :rule scope :premises (@p353)) % 1.42/1.65 (step-pop @p355 :rule scope :premises (@p354)) % 1.42/1.65 (step @p319 :rule process_scope :premises (@p355) :args (@t115)) % 1.42/1.65 (step @p323 :rule implies_elim :premises (@p319)) % 1.42/1.65 (step @p324 :rule resolution :premises (@p323 @p311) :args (true @t115)) % 1.42/1.65 (step @p325 :rule not_and :premises (@p324)) % 1.42/1.65 (step @p326 :rule eq_resolve :premises (@p325 @p299)) % 1.42/1.65 (step @p327 :rule chain_m_resolution :premises (@p326 @p295 @p282) :args (@t113 (@list false true) (@list @t110 @t76))) % 1.42/1.65 ; trust TRUST THEORY_LEMMA % 1.42/1.65 (step @p328 :rule trust :premises () :args ((or @t112 @t120))) % 1.42/1.65 (step @p329 :rule chain_m_resolution :premises (@p328 @p327) :args (@t120 (@list true) (@list @t112))) % 1.42/1.65 (step @p330 :rule eq-symm :args (@t117 @t118)) % 1.42/1.65 (step @p331 :rule refl :args (@t121)) % 1.42/1.65 (step @p332 :rule cong :premises (@p331 @p330) :args ((=> @t121 @t122))) % 1.42/1.65 (assume-push @p356 @t121) % 1.42/1.65 (step @p334 :rule instantiate :premises (@p36) :args ((@list @t116))) % 1.42/1.65 (step-pop @p357 :rule scope :premises (@p334)) % 1.42/1.65 (step @p335 :rule process_scope :premises (@p357) :args (@t122)) % 1.42/1.65 (step @p337 :rule eq_resolve :premises (@p335 @p332)) % 1.42/1.65 (step @p338 :rule implies_elim :premises (@p337)) % 1.42/1.65 (step @p339 false :rule chain_m_resolution :premises (@p338 @p329 @p36) :args (false (@list true false) (@list @t119 @t121))) % 1.42/1.65 ) % 1.42/1.65 % SZS output end Proof % 1.42/1.65 % cvc5 exiting %------------------------------------------------------------------------------