%------------------------------------------------------------------------------ % File : cvc5---1.3.4 % Problem : QUA004^1 : TPTP v9.2.1. Released v4.1.0. % Transfm : none % Format : tptp:raw % Command : /export/starexec/sandbox2/solver/bin/do_cvc5 /export/starexec/sandbox2/benchmark/theBenchmark.p 300 THM % Computer : n022.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:44:40 AM UTC 2026 % Result : Theorem 170.31s 170.76s % Output : Proof 170.31s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.00/0.12 % Problem : QUA004^1 : TPTP v9.2.1. Released v4.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 : n022.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 : Tue Jun 2 13:20:08 EDT 2026 % 0.16/0.34 % CPUTime : % 0.29/0.48 %----Proving TH0 % 170.31/170.76 --- Run --mbqi --mbqi-enum --mbqi-enum-choice-grammar --mbqi-enum-global-syms-grammar --sygus-grammar-ho-partial --no-cegqi --no-sygus-inst at 90s... % 170.31/170.76 --- Run --mbqi --mbqi-enum --mbqi-enum-choice-grammar --mbqi-enum-global-syms-grammar --sygus-grammar-ho-partial --mbqi-enum-choice-grammar-all --no-cegqi --no-sygus-inst at 30s... % 170.31/170.76 --- Run --mbqi --mbqi-enum --mbqi-enum-choice-grammar --mbqi-enum-global-syms-grammar --sygus-grammar-ho-partial --no-mbqi-nested-check --no-cegqi --no-sygus-inst at 30s... % 170.31/170.76 --- Run --ho-elim --full-saturate-quant at 18s... % 170.31/170.76 --- Run --ho-elim --no-e-matching --full-saturate-quant at 12s... % 170.31/170.76 % SZS status Theorem % 170.31/170.76 % SZS output start Proof % 170.31/170.76 ( % 170.31/170.76 (declare-sort $$unsorted 0) % 170.31/170.76 (declare-const tptp.sup (-> (-> $$unsorted Bool) $$unsorted)) % 170.31/170.76 (declare-const tptp.multiplication (-> $$unsorted $$unsorted $$unsorted)) % 170.31/170.76 (declare-const tptp.one $$unsorted) % 170.31/170.76 (declare-const tptp.leq (-> $$unsorted $$unsorted Bool)) % 170.31/170.76 (declare-const tptp.zero $$unsorted) % 170.31/170.76 (define tptp.emptyset () (lambda (@list (@var "X" $$unsorted)) false)) % 170.31/170.76 (define tptp.union () (let ((_let_1 (@var "U" $$unsorted))) (let ((_let_2 (@var "Y" (-> $$unsorted Bool)))) (let ((_let_3 (@var "X" (-> $$unsorted Bool)))) (lambda (@list _let_3 _let_2 _let_1) (or (_ _let_3 _let_1) (_ _let_2 _let_1))))))) % 170.31/170.76 (define tptp.singleton () (let ((_let_1 (@var "X" $$unsorted))) (let ((_let_2 (@var "U" $$unsorted))) (lambda (@list _let_1 _let_2) (= _let_2 _let_1))))) % 170.31/170.76 (define tptp.supset () (let ((_let_1 (@var "X" $$unsorted))) (let ((_let_2 (@var "Y" (-> $$unsorted Bool)))) (let ((_let_3 (@var "F" (-> (-> $$unsorted Bool) Bool)))) (lambda (@list _let_3 _let_1) (exists (@list _let_2) (and (_ _let_3 _let_2) (= (_ tptp.sup _let_2) _let_1)))))))) % 170.31/170.76 (define tptp.unionset () (let ((_let_1 (@var "X" $$unsorted))) (let ((_let_2 (@var "Y" (-> $$unsorted Bool)))) (let ((_let_3 (@var "F" (-> (-> $$unsorted Bool) Bool)))) (lambda (@list _let_3 _let_1) (exists (@list _let_2) (and (_ _let_3 _let_2) (_ _let_2 _let_1)))))))) % 170.31/170.76 (define tptp.addition () (let ((_let_1 (@var "Y" $$unsorted))) (let ((_let_2 (@var "X" $$unsorted))) (lambda (@list _let_2 _let_1) (_ tptp.sup (_ (_ tptp.union (_ tptp.singleton _let_2)) (_ tptp.singleton _let_1))))))) % 170.31/170.76 (define tptp.crossmult () (let ((_let_1 (@var "Y1" $$unsorted))) (let ((_let_2 (@var "X1" $$unsorted))) (let ((_let_3 (@var "A" $$unsorted))) (let ((_let_4 (@var "Y" (-> $$unsorted Bool)))) (let ((_let_5 (@var "X" (-> $$unsorted Bool)))) (lambda (@list _let_5 _let_4 _let_3) (exists (@list _let_2 _let_1) (and (_ _let_5 _let_2) (_ _let_4 _let_1) (= _let_3 (_ (_ tptp.multiplication _let_2) _let_1))))))))))) % 170.31/170.76 (define @t1 () (@var "X" $$unsorted)) % 170.31/170.76 (define @t2 () (_ tptp.singleton @t1)) % 170.31/170.76 (define @t3 () (= (_ tptp.sup @t2) @t1)) % 170.31/170.76 (define @t4 () (@list @t1)) % 170.31/170.76 (define @t5 () (forall @t4 @t3)) % 170.31/170.76 (define @t6 () (@var "X" (-> (-> $$unsorted Bool) Bool))) % 170.31/170.76 (define @t7 () (@var "X2" $$unsorted)) % 170.31/170.76 (define @t8 () (@var "X1" $$unsorted)) % 170.31/170.76 (define @t9 () (_ tptp.addition @t8)) % 170.31/170.76 (define @t10 () (@var "Y" (-> $$unsorted Bool))) % 170.31/170.76 (define @t11 () (@var "X" (-> $$unsorted Bool))) % 170.31/170.76 (define @t12 () (_ tptp.sup @t10)) % 170.31/170.76 (define @t13 () (= (_ @t9 @t8) @t8)) % 170.31/170.76 (define @t14 () (@list @t8)) % 170.31/170.76 (define @t15 () (forall @t14 @t13)) % 170.31/170.76 (define @t16 () (not @t15)) % 170.31/170.76 (define @t17 () (lambda @t4 false)) % 170.31/170.76 (define @t18 () (@var "U" $$unsorted)) % 170.31/170.76 (define @t19 () (_ @t10 @t18)) % 170.31/170.76 (define @t20 () (lambda (@list @t11 @t10 @t18) (or (_ @t11 @t18) @t19))) % 170.31/170.76 (define @t21 () (@list @t1 @t18)) % 170.31/170.76 (define @t22 () (lambda @t21 (= @t18 @t1))) % 170.31/170.76 (define @t23 () (@var "F" (-> (-> $$unsorted Bool) Bool))) % 170.31/170.76 (define @t24 () (_ @t23 @t10)) % 170.31/170.76 (define @t25 () (@list @t10)) % 170.31/170.76 (define @t26 () (@list @t23 @t1)) % 170.31/170.76 (define @t27 () (lambda @t26 (exists @t25 (and @t24 (= @t12 @t1))))) % 170.31/170.76 (define @t28 () (lambda @t26 (exists @t25 (and @t24 (_ @t10 @t1))))) % 170.31/170.76 (define @t29 () (@var "Y" $$unsorted)) % 170.31/170.76 (define @t30 () (@list @t1 @t29)) % 170.31/170.76 (define @t31 () (lambda @t30 (_ tptp.sup (_ (_ tptp.union @t2) (_ tptp.singleton @t29))))) % 170.31/170.76 (define @t32 () (@var "Y1" $$unsorted)) % 170.31/170.76 (define @t33 () (@var "A" $$unsorted)) % 170.31/170.76 (define @t34 () (lambda (@list @t11 @t10 @t33) (exists (@list @t8 @t32) (and (_ @t11 @t8) (_ @t10 @t32) (= @t33 (_ (_ tptp.multiplication @t8) @t32)))))) % 170.31/170.76 (define @t35 () (@const 0 (@ho-elim-sort (-> $$unsorted $$unsorted Bool)))) % 170.31/170.76 (define @t36 () (@const 1 (-> (@ho-elim-sort (-> $$unsorted $$unsorted Bool)) $$unsorted (@ho-elim-sort (-> $$unsorted Bool))))) % 170.31/170.76 (define @t37 () (@const 2 (@ho-elim-sort (-> (@ho-elim-sort (-> $$unsorted Bool)) $$unsorted)))) % 170.31/170.76 (define @t38 () (@const 3 (-> (@ho-elim-sort (-> (@ho-elim-sort (-> $$unsorted Bool)) $$unsorted)) (@ho-elim-sort (-> $$unsorted Bool)) $$unsorted))) % 170.31/170.76 (define @t39 () (forall @t14 (= @t8 (_ @t38 @t37 (_ @t36 @t35 @t8))))) % 170.31/170.76 (define @t40 () (@const 4 (-> $$unsorted $$unsorted Bool))) % 170.31/170.76 (define @t41 () (not (forall @t14 (= @t8 (tptp.sup (_ @t40 @t8)))))) % 170.31/170.76 (define @t42 () (= @t18 @t8)) % 170.31/170.76 (define @t43 () (@list @t18)) % 170.31/170.76 (define @t44 () (lambda @t43 @t42)) % 170.31/170.76 (define @t45 () (tptp.sup @t44)) % 170.31/170.76 (define @t46 () (_ tptp.sup @t44)) % 170.31/170.76 (define @t47 () (= @t8 @t46)) % 170.31/170.76 (define @t48 () (or @t42 @t42)) % 170.31/170.76 (define @t49 () (lambda @t43 @t48)) % 170.31/170.76 (define @t50 () (= @t18 @t29)) % 170.31/170.76 (define @t51 () (@list @t29)) % 170.31/170.76 (define @t52 () (or (= @t8 @t18) @t50)) % 170.31/170.76 (define @t53 () (lambda @t43 @t52)) % 170.31/170.76 (define @t54 () (lambda @t51 (_ tptp.sup @t53))) % 170.31/170.76 (define @t55 () (= @t1 @t18)) % 170.31/170.76 (define @t56 () (_ (lambda @t30 (_ tptp.sup (lambda @t43 (or @t55 @t50)))) @t8)) % 170.31/170.76 (define @t57 () (= (_ @t56 @t8) @t8)) % 170.31/170.76 (define @t58 () (forall @t14 @t57)) % 170.31/170.76 (define @t59 () (lambda @t43 @t50)) % 170.31/170.76 (define @t60 () (_ @t59 @t18)) % 170.31/170.76 (define @t61 () (or @t55 @t60)) % 170.31/170.76 (define @t62 () (lambda @t43 @t61)) % 170.31/170.76 (define @t63 () (@list @t10 @t18)) % 170.31/170.76 (define @t64 () (lambda @t43 (= @t29 @t18))) % 170.31/170.76 (define @t65 () (lambda @t21 @t55)) % 170.31/170.76 (define @t66 () (lambda @t43 @t55)) % 170.31/170.76 (define @t67 () (_ @t66 @t18)) % 170.31/170.76 (define @t68 () (or @t67 @t19)) % 170.31/170.76 (define @t69 () (lambda @t63 @t68)) % 170.31/170.76 (define @t70 () (_ @t65 @t1)) % 170.31/170.76 (define @t71 () (@const 5 (@ho-elim-sort (-> $$unsorted $$unsorted Bool)))) % 170.31/170.76 (define @t72 () (@const 6 (-> $$unsorted $$unsorted Bool))) % 170.31/170.76 (define @t73 () (forall @t4 (= @t1 (tptp.sup (_ @t72 @t1))))) % 170.31/170.76 (define @t74 () (tptp.sup @t66)) % 170.31/170.76 (define @t75 () (_ tptp.sup @t66)) % 170.31/170.76 (define @t76 () (= @t1 @t75)) % 170.31/170.76 (define @t77 () (= (_ tptp.sup @t70) @t1)) % 170.31/170.76 (define @t78 () (@quantifiers_skolemize @t39 0)) % 170.31/170.76 (define @t79 () (@var "y" (@ho-elim-sort (-> $$unsorted Bool)))) % 170.31/170.76 (define @t80 () (@var "x" (@ho-elim-sort (-> $$unsorted Bool)))) % 170.31/170.76 (define @t81 () (@var "z" $$unsorted)) % 170.31/170.76 (define @t82 () (@const 7 (-> (@ho-elim-sort (-> $$unsorted Bool)) $$unsorted Bool))) % 170.31/170.76 (define @t83 () (@list @t81)) % 170.31/170.76 (define @t84 () (_ @t36 @t71 @t78)) % 170.31/170.76 (define @t85 () (_ @t36 @t35 @t78)) % 170.31/170.76 (define @t86 () (forall @t83 (= (_ @t82 @t85 @t81) (_ @t82 @t84 @t81)))) % 170.31/170.76 (define @t87 () (@quantifiers_skolemize @t86 0)) % 170.31/170.76 (define @t88 () (_ @t82 @t84 @t87)) % 170.31/170.76 (define @t89 () (_ @t82 @t85 @t87)) % 170.31/170.76 (define @t90 () (= @t89 @t88)) % 170.31/170.76 (define @t91 () (@var "BOUND_VARIABLE_7942" $$unsorted)) % 170.31/170.76 (define @t92 () (@var "BOUND_VARIABLE_7941" $$unsorted)) % 170.31/170.76 (define @t93 () (_ @t82 (_ @t36 @t35 @t92) @t91)) % 170.31/170.76 (define @t94 () (= @t92 @t91)) % 170.31/170.76 (define @t95 () (@list @t92 @t91)) % 170.31/170.76 (define @t96 () (forall @t95 (= @t93 @t94))) % 170.31/170.76 (define @t97 () (forall @t95 (= (_ @t40 @t92 @t91) @t94))) % 170.31/170.76 (define @t98 () (= @t78 @t87)) % 170.31/170.76 (define @t99 () (forall @t95 (= @t94 @t93))) % 170.31/170.76 (define @t100 () (= @t98 @t89)) % 170.31/170.76 (define @t101 () (@list @t78 @t87)) % 170.31/170.76 (define @t102 () (= @t89 @t98)) % 170.31/170.76 (define @t103 () (@list false)) % 170.31/170.76 (define @t104 () (not @t102)) % 170.31/170.76 (define @t105 () (not @t89)) % 170.31/170.76 (define @t106 () (@var "BOUND_VARIABLE_7883" $$unsorted)) % 170.31/170.76 (define @t107 () (@var "BOUND_VARIABLE_7882" $$unsorted)) % 170.31/170.76 (define @t108 () (= @t107 @t106)) % 170.31/170.76 (define @t109 () (@list @t107 @t106)) % 170.31/170.76 (define @t110 () (forall @t109 (= @t108 (_ @t82 (_ @t36 @t71 @t107) @t106)))) % 170.31/170.76 (define @t111 () (forall @t109 (= @t108 (_ @t72 @t107 @t106)))) % 170.31/170.76 (define @t112 () (_ @t82 @t84 @t78)) % 170.31/170.76 (define @t113 () (= (= @t78 @t78) @t112)) % 170.31/170.76 (define @t114 () (@list @t110)) % 170.31/170.76 (define @t115 () (not @t98)) % 170.31/170.76 (define @t116 () (not @t112)) % 170.31/170.76 (define @t117 () (not @t88)) % 170.31/170.76 (define @t118 () (and @t112 @t98 @t117)) % 170.31/170.76 (define @t119 () (= @t98 @t88)) % 170.31/170.76 (define @t120 () (= @t88 @t98)) % 170.31/170.76 (define @t121 () (not @t90)) % 170.31/170.76 (define @t122 () (not @t86)) % 170.31/170.76 (define @t123 () (= @t85 @t84)) % 170.31/170.76 (define @t124 () (or @t122 @t123)) % 170.31/170.76 (define @t125 () (_ @t38 @t37 @t84)) % 170.31/170.76 (define @t126 () (= @t78 @t125)) % 170.31/170.76 (define @t127 () (= @t78 (_ @t38 @t37 @t85))) % 170.31/170.76 (define @t128 () (and @t126 @t123)) % 170.31/170.76 (assume @p1 (= (_ tptp.sup tptp.emptyset) tptp.zero)) % 170.31/170.76 (assume @p2 @t5) % 170.31/170.76 (assume @p3 (forall (@list @t6) (= (_ tptp.sup (_ tptp.supset @t6)) (_ tptp.sup (_ tptp.unionset @t6))))) % 170.31/170.76 (assume @p4 (forall (@list @t8 @t7) (= (_ (_ tptp.leq @t8) @t7) (= (_ @t9 @t7) @t7)))) % 170.31/170.76 (assume @p5 (forall (@list @t11 @t10) (= (_ (_ tptp.multiplication (_ tptp.sup @t11)) @t12) (_ tptp.sup (_ (_ tptp.crossmult @t11) @t10))))) % 170.31/170.76 (assume @p6 (forall @t4 (= (_ (_ tptp.multiplication @t1) tptp.one) @t1))) % 170.31/170.76 (assume @p7 (forall @t4 (= (_ (_ tptp.multiplication tptp.one) @t1) @t1))) % 170.31/170.76 (assume @p8 @t16) % 170.31/170.76 (assume @p9 true) % 170.31/170.76 (step @p10 (= tptp.emptyset @t17) :rule refl :args (@t17)) % 170.31/170.76 (step @p11 (= tptp.union @t20) :rule refl :args (@t20)) % 170.31/170.76 (step @p12 (= tptp.singleton @t22) :rule refl :args (@t22)) % 170.31/170.76 (step @p13 (= tptp.supset @t27) :rule refl :args (@t27)) % 170.31/170.76 (step @p14 (= tptp.unionset @t28) :rule refl :args (@t28)) % 170.31/170.76 (step @p15 (= tptp.addition @t31) :rule refl :args (@t31)) % 170.31/170.76 (step @p16 (= tptp.crossmult @t34) :rule refl :args (@t34)) % 170.31/170.76 ; WARNING: add trust step for TRUST % 170.31/170.76 ; trust TRUST PREPROCESS_HO_ELIM % 170.31/170.76 (step @p17 :rule trust :premises () :args ((= @t41 (not @t39)))) % 170.31/170.76 ; trust TRUST PREPROCESS_HO_ELIM % 170.31/170.76 (step @p18 :rule trust :premises () :args ((= (not (forall @t14 (= @t8 @t45))) @t41))) % 170.31/170.76 (step @p19 :rule refl :args (@t45)) % 170.31/170.76 (step @p20 :rule refl :args (@t46)) % 170.31/170.76 (step @p21 :rule cong :premises (@p20 @p19) :args ((= @t46 @t45))) % 170.31/170.76 (step @p22 :rule symm :premises (@p21)) % 170.31/170.76 (step @p23 :rule eq_resolve :premises (@p20 @p22)) % 170.31/170.76 (step @p24 :rule refl :args (@t8)) % 170.31/170.76 (step @p25 :rule cong :premises (@p24 @p23) :args (@t47)) % 170.31/170.76 (step @p26 :rule cong :premises (@p25) :args ((forall @t14 @t47))) % 170.31/170.76 (step @p27 :rule eq-symm :args (@t46 @t8)) % 170.31/170.76 (step @p28 :rule refl :args (@t8)) % 170.31/170.76 (step @p29 :rule aci_norm :args ((= @t48 @t42))) % 170.31/170.76 (step @p30 :rule cong :premises (@p29) :args (@t49)) % 170.31/170.76 (step @p31 :rule refl :args (tptp.sup)) % 170.31/170.76 (step @p32 :rule ho_cong :premises (@p31 @p30)) % 170.31/170.76 (step @p33 :rule beta-reduce :args ((= (_ (lambda @t51 (_ tptp.sup (lambda @t43 (or @t42 @t50)))) @t8) (_ tptp.sup @t49)))) % 170.31/170.76 (step @p34 :rule trans :premises (@p33 @p32)) % 170.31/170.76 (step @p35 :rule refl :args (@t50)) % 170.31/170.76 (step @p36 :rule eq-symm :args (@t8 @t18)) % 170.31/170.76 (step @p37 :rule nary_cong :premises (@p36 @p35) :args (@t52)) % 170.31/170.76 (step @p38 :rule cong :premises (@p37) :args (@t53)) % 170.31/170.76 (step @p39 :rule ho_cong :premises (@p31 @p38)) % 170.31/170.76 (step @p40 :rule cong :premises (@p39) :args (@t54)) % 170.31/170.76 (step @p41 :rule beta-reduce :args ((= @t56 @t54))) % 170.31/170.76 (step @p42 :rule trans :premises (@p41 @p40)) % 170.31/170.76 (step @p43 :rule ho_cong :premises (@p42 @p28)) % 170.31/170.76 (step @p44 :rule trans :premises (@p43 @p34)) % 170.31/170.76 (step @p45 :rule cong :premises (@p44 @p28) :args (@t57)) % 170.31/170.76 (step @p46 :rule trans :premises (@p45 @p27)) % 170.31/170.76 (step @p47 :rule cong :premises (@p46) :args (@t58)) % 170.31/170.76 (step @p48 :rule trans :premises (@p47 @p26)) % 170.31/170.76 (step @p49 :rule cong :premises (@p48) :args ((not @t58))) % 170.31/170.76 (step @p50 :rule beta-reduce :args ((= @t60 @t50))) % 170.31/170.76 (step @p51 :rule refl :args (@t55)) % 170.31/170.76 (step @p52 :rule nary_cong :premises (@p51 @p50) :args (@t61)) % 170.31/170.76 (step @p53 :rule cong :premises (@p52) :args (@t62)) % 170.31/170.76 (step @p54 :rule beta-reduce :args ((= (_ (lambda @t63 (or @t55 @t19)) @t59) @t62))) % 170.31/170.76 (step @p55 :rule trans :premises (@p54 @p53)) % 170.31/170.76 (step @p56 :rule eq-symm :args (@t29 @t18)) % 170.31/170.76 (step @p57 :rule cong :premises (@p56) :args (@t64)) % 170.31/170.76 (step @p58 :rule beta-reduce :args ((= (_ @t65 @t29) @t64))) % 170.31/170.76 (step @p59 :rule trans :premises (@p58 @p57)) % 170.31/170.76 (step @p60 :rule refl :args (@t19)) % 170.31/170.76 (step @p61 :rule beta-reduce :args ((= @t67 @t55))) % 170.31/170.76 (step @p62 :rule nary_cong :premises (@p61 @p60) :args (@t68)) % 170.31/170.76 (step @p63 :rule cong :premises (@p62) :args (@t69)) % 170.31/170.76 (step @p64 :rule beta-reduce :args ((= (_ @t20 @t66) @t69))) % 170.31/170.76 (step @p65 :rule trans :premises (@p64 @p63)) % 170.31/170.76 (step @p66 :rule beta-reduce :args ((= @t70 @t66))) % 170.31/170.76 (step @p67 :rule refl :args (@t20)) % 170.31/170.76 (step @p68 :rule ho_cong :premises (@p67 @p66)) % 170.31/170.76 (step @p69 :rule trans :premises (@p68 @p65)) % 170.31/170.76 (step @p70 :rule ho_cong :premises (@p69 @p59)) % 170.31/170.76 (step @p71 :rule trans :premises (@p70 @p55)) % 170.31/170.76 (step @p72 :rule ho_cong :premises (@p31 @p71)) % 170.31/170.76 (step @p73 :rule refl :args (@t29)) % 170.31/170.76 (step @p74 :rule eq-symm :args (@t18 @t1)) % 170.31/170.76 (step @p75 :rule cong :premises (@p74) :args (@t22)) % 170.31/170.76 (step @p76 :rule trans :premises (@p12 @p75)) % 170.31/170.76 (step @p77 :rule ho_cong :premises (@p76 @p73)) % 170.31/170.76 (step @p78 :rule refl :args (@t1)) % 170.31/170.76 (step @p79 :rule ho_cong :premises (@p76 @p78)) % 170.31/170.76 (step @p80 :rule ho_cong :premises (@p11 @p79)) % 170.31/170.76 (step @p81 :rule ho_cong :premises (@p80 @p77)) % 170.31/170.76 (step @p82 :rule ho_cong :premises (@p31 @p81)) % 170.31/170.76 (step @p83 :rule trans :premises (@p82 @p72)) % 170.31/170.76 (step @p84 :rule cong :premises (@p83) :args (@t31)) % 170.31/170.76 (step @p85 :rule trans :premises (@p15 @p84)) % 170.31/170.76 (step @p86 :rule ho_cong :premises (@p85 @p28)) % 170.31/170.76 (step @p87 :rule ho_cong :premises (@p86 @p28)) % 170.31/170.76 (step @p88 :rule cong :premises (@p87 @p28) :args (@t13)) % 170.31/170.76 (step @p89 :rule cong :premises (@p88) :args (@t15)) % 170.31/170.76 (step @p90 :rule cong :premises (@p89) :args (@t16)) % 170.31/170.76 (step @p91 :rule trans :premises (@p90 @p49)) % 170.31/170.76 (step @p92 :rule trans :premises (@p91 @p18 @p17)) % 170.31/170.76 (step @p93 :rule eq_resolve :premises (@p8 @p92)) % 170.31/170.76 (step @p94 :rule skolemize :premises (@p93)) % 170.31/170.76 ; trust TRUST PREPROCESS_HO_ELIM % 170.31/170.76 (step @p95 :rule trust :premises () :args ((= @t73 (forall @t4 (= @t1 (_ @t38 @t37 (_ @t36 @t71 @t1))))))) % 170.31/170.76 ; trust TRUST PREPROCESS_HO_ELIM % 170.31/170.76 (step @p96 :rule trust :premises () :args ((= (forall @t4 (= @t1 @t74)) @t73))) % 170.31/170.76 (step @p97 :rule refl :args (@t74)) % 170.31/170.76 (step @p98 :rule refl :args (@t75)) % 170.31/170.76 (step @p99 :rule cong :premises (@p98 @p97) :args ((= @t75 @t74))) % 170.31/170.76 (step @p100 :rule symm :premises (@p99)) % 170.31/170.76 (step @p101 :rule eq_resolve :premises (@p98 @p100)) % 170.31/170.76 (step @p102 :rule refl :args (@t1)) % 170.31/170.76 (step @p103 :rule cong :premises (@p102 @p101) :args (@t76)) % 170.31/170.76 (step @p104 :rule cong :premises (@p103) :args ((forall @t4 @t76))) % 170.31/170.76 (step @p105 :rule eq-symm :args (@t75 @t1)) % 170.31/170.76 (step @p106 :rule ho_cong :premises (@p31 @p66)) % 170.31/170.76 (step @p107 :rule cong :premises (@p106 @p78) :args (@t77)) % 170.31/170.76 (step @p108 :rule trans :premises (@p107 @p105)) % 170.31/170.76 (step @p109 :rule cong :premises (@p108) :args ((forall @t4 @t77))) % 170.31/170.76 (step @p110 :rule trans :premises (@p109 @p104)) % 170.31/170.76 (step @p111 :rule ho_cong :premises (@p31 @p79)) % 170.31/170.76 (step @p112 :rule cong :premises (@p111 @p78) :args (@t3)) % 170.31/170.76 (step @p113 :rule cong :premises (@p112) :args (@t5)) % 170.31/170.76 (step @p114 :rule trans :premises (@p113 @p110)) % 170.31/170.76 (step @p115 :rule trans :premises (@p114 @p96 @p95)) % 170.31/170.76 (step @p116 :rule eq_resolve :premises (@p2 @p115)) % 170.31/170.76 (step @p117 :rule instantiate :premises (@p116) :args ((@list @t78))) % 170.31/170.76 ; trust TRUST PREPROCESS_HO_ELIM_LEMMA % 170.31/170.76 (step @p118 :rule trust :premises () :args ((forall (@list @t80 @t79) (or (not (forall @t83 (= (_ @t82 @t80 @t81) (_ @t82 @t79 @t81)))) (= @t80 @t79))))) % 170.31/170.76 (step @p119 :rule instantiate :premises (@p118) :args ((@list @t85 @t84))) % 170.31/170.76 (step @p120 :rule cnf_equiv_neg2 :args (@t90)) % 170.31/170.76 (step @p121 :rule eq-symm :args (@t93 @t94)) % 170.31/170.76 (step @p122 :rule cong :premises (@p121) :args (@t96)) % 170.31/170.76 ; trust TRUST PREPROCESS_HO_ELIM % 170.31/170.76 (step @p123 :rule trust :premises () :args ((= @t97 @t96))) % 170.31/170.76 (step @p124 :rule trans :premises (@p123 @p122)) % 170.31/170.76 ; trust TRUST PREPROCESS_HO_ELIM_LEMMA % 170.31/170.76 (step @p125 :rule trust :premises () :args (@t97)) % 170.31/170.76 (step @p126 :rule eq_resolve :premises (@p125 @p124)) % 170.31/170.76 (step @p127 :rule eq-symm :args (@t98 @t89)) % 170.31/170.76 (step @p128 :rule refl :args (@t99)) % 170.31/170.76 (step @p129 :rule cong :premises (@p128 @p127) :args ((=> @t99 @t100))) % 170.31/170.76 (assume-push @p241 @t99) % 170.31/170.76 (step @p131 :rule instantiate :premises (@p126) :args (@t101)) % 170.31/170.76 (step-pop @p242 :rule scope :premises (@p131)) % 170.31/170.76 (step @p132 :rule process_scope :premises (@p242) :args (@t100)) % 170.31/170.76 (step @p134 :rule eq_resolve :premises (@p132 @p129)) % 170.31/170.76 (step @p135 :rule implies_elim :premises (@p134)) % 170.31/170.76 (step @p136 :rule chain_m_resolution :premises (@p135 @p126) :args (@t102 @t103 (@list @t99))) % 170.31/170.76 (step @p137 :rule cnf_equiv_pos1 :args (@t102)) % 170.31/170.76 (step @p138 :rule reordering :premises (@p137) :args ((or @t105 @t98 @t104))) % 170.31/170.76 ; trust TRUST PREPROCESS_HO_ELIM % 170.31/170.76 (step @p139 :rule trust :premises () :args ((= @t111 @t110))) % 170.31/170.76 ; trust TRUST PREPROCESS_HO_ELIM_LEMMA % 170.31/170.76 (step @p140 :rule trust :premises () :args (@t111)) % 170.31/170.76 (step @p141 :rule eq_resolve :premises (@p140 @p139)) % 170.31/170.76 (step @p142 :rule bool-eq-true :args (@t112)) % 170.31/170.76 (step @p143 :rule eq-symm :args (true @t112)) % 170.31/170.76 (step @p144 :rule trans :premises (@p143 @p142)) % 170.31/170.76 (step @p145 :rule refl :args (@t112)) % 170.31/170.76 (step @p146 :rule eq-refl :args (@t78)) % 170.31/170.76 (step @p147 :rule cong :premises (@p146 @p145) :args (@t113)) % 170.31/170.76 (step @p148 :rule trans :premises (@p147 @p144)) % 170.31/170.76 (step @p149 :rule refl :args (@t110)) % 170.31/170.76 (step @p150 :rule cong :premises (@p149 @p148) :args ((=> @t110 @t113))) % 170.31/170.76 (assume-push @p243 @t110) % 170.31/170.76 (step @p152 :rule instantiate :premises (@p141) :args ((@list @t78 @t78))) % 170.31/170.76 (step-pop @p244 :rule scope :premises (@p152)) % 170.31/170.76 (step @p153 :rule process_scope :premises (@p244) :args (@t113)) % 170.31/170.76 (step @p155 :rule eq_resolve :premises (@p153 @p150)) % 170.31/170.76 (step @p156 :rule implies_elim :premises (@p155)) % 170.31/170.76 (step @p157 :rule chain_m_resolution :premises (@p156 @p141) :args (@t112 @t103 @t114)) % 170.31/170.76 (step @p158 :rule refl :args (@t115)) % 170.31/170.76 (step @p159 :rule bool-double-not-elim :args (@t88)) % 170.31/170.76 (step @p160 :rule refl :args (@t116)) % 170.31/170.76 (step @p161 :rule nary_cong :premises (@p160 @p159 @p158) :args ((or @t116 (not @t117) @t115))) % 170.31/170.76 (assume-push @p245 @t112) % 170.31/170.76 (assume-push @p246 @t98) % 170.31/170.76 (assume-push @p247 @t117) % 170.31/170.76 (step @p165 :rule evaluate :args ((= false true))) % 170.31/170.76 (step @p166 :rule true_intro :premises (@p157)) % 170.31/170.76 (step @p167 :rule symm :premises (@p246)) % 170.31/170.76 (step @p168 :rule refl :args (@t84)) % 170.31/170.76 (step @p169 :rule cong :premises (@p168 @p167) :args (@t88)) % 170.31/170.76 (step @p170 :rule false_intro :premises (@p247)) % 170.31/170.76 (step @p171 :rule symm :premises (@p170)) % 170.31/170.76 (step @p172 :rule trans :premises (@p171 @p169 @p166)) % 170.31/170.76 (step @p173 false :rule eq_resolve :premises (@p172 @p165)) % 170.31/170.76 (step-pop @p248 :rule scope :premises (@p173)) % 170.31/170.76 (step-pop @p249 :rule scope :premises (@p248)) % 170.31/170.76 (step-pop @p250 :rule scope :premises (@p249)) % 170.31/170.76 (step @p174 :rule process_scope :premises (@p250) :args (false)) % 170.31/170.76 (assume-push @p251 @t112) % 170.31/170.76 (assume-push @p252 @t117) % 170.31/170.76 (assume-push @p253 @t98) % 170.31/170.76 (step @p181 :rule and_intro :premises (@p157 @p253 @p252)) % 170.31/170.76 (step-pop @p254 :rule scope :premises (@p181)) % 170.31/170.76 (step-pop @p255 :rule scope :premises (@p254)) % 170.31/170.76 (step-pop @p256 :rule scope :premises (@p255)) % 170.31/170.76 (step @p182 :rule process_scope :premises (@p256) :args (@t118)) % 170.31/170.76 (step @p186 :rule implies_elim :premises (@p182)) % 170.31/170.76 (step @p187 :rule resolution :premises (@p186 @p174) :args (true @t118)) % 170.31/170.76 (step @p188 :rule not_and :premises (@p187)) % 170.31/170.76 (step @p189 :rule eq_resolve :premises (@p188 @p161)) % 170.31/170.76 (step @p190 :rule chain_m_resolution :premises (@p189 @p157 @p138 @p136 @p120) :args ((or @t90 @t105) (@list false false false true) (@list @t112 @t98 @t102 @t88))) % 170.31/170.76 (step @p191 :rule cnf_equiv_neg1 :args (@t90)) % 170.31/170.76 (step @p192 :rule reordering :premises (@p191) :args ((or @t89 @t88 @t90))) % 170.31/170.76 (step @p193 :rule cnf_equiv_pos2 :args (@t102)) % 170.31/170.76 (step @p194 :rule reordering :premises (@p193) :args ((or @t89 @t115 @t104))) % 170.31/170.76 (step @p195 :rule eq-symm :args (@t98 @t88)) % 170.31/170.76 (step @p196 :rule cong :premises (@p149 @p195) :args ((=> @t110 @t119))) % 170.31/170.76 (assume-push @p257 @t110) % 170.31/170.76 (step @p198 :rule instantiate :premises (@p141) :args (@t101)) % 170.31/170.76 (step-pop @p258 :rule scope :premises (@p198)) % 170.31/170.76 (step @p199 :rule process_scope :premises (@p258) :args (@t119)) % 170.31/170.76 (step @p201 :rule eq_resolve :premises (@p199 @p196)) % 170.31/170.76 (step @p202 :rule implies_elim :premises (@p201)) % 170.31/170.76 (step @p203 :rule chain_m_resolution :premises (@p202 @p141) :args (@t120 @t103 @t114)) % 170.31/170.76 (step @p204 :rule cnf_equiv_pos1 :args (@t120)) % 170.31/170.76 (step @p205 :rule reordering :premises (@p204) :args ((or @t117 @t98 (not @t120)))) % 170.31/170.76 (step @p206 :rule chain_m_resolution :premises (@p205 @p203 @p194 @p136 @p192 @p190) :args (@t90 (@list false true false false true) (@list @t120 @t98 @t102 @t88 @t89))) % 170.31/170.76 (step @p207 :rule refl :args (@t121)) % 170.31/170.76 (step @p208 :rule bool-double-not-elim :args (@t86)) % 170.31/170.76 (step @p209 :rule nary_cong :premises (@p208 @p207) :args ((or (not @t122) @t121))) % 170.31/170.76 (assume-push @p259 @t122) % 170.31/170.76 (step @p211 :rule skolemize :premises (@p259)) % 170.31/170.76 (step-pop @p260 :rule scope :premises (@p211)) % 170.31/170.76 (step @p212 :rule process_scope :premises (@p260) :args (@t121)) % 170.31/170.76 (step @p214 :rule implies_elim :premises (@p212)) % 170.31/170.76 (step @p215 :rule eq_resolve :premises (@p214 @p209)) % 170.31/170.76 (step @p216 :rule chain_m_resolution :premises (@p215 @p206) :args (@t86 @t103 (@list @t90))) % 170.31/170.76 (step @p217 :rule cnf_or_pos :args (@t124)) % 170.31/170.76 (step @p218 :rule reordering :premises (@p217) :args ((or @t122 @t123 (not @t124)))) % 170.31/170.76 (step @p219 :rule chain_m_resolution :premises (@p218 @p216 @p119) :args (@t123 (@list false false) (@list @t86 @t124))) % 170.31/170.76 (assume-push @p261 @t126) % 170.31/170.76 (assume-push @p262 @t123) % 170.31/170.76 (assume-push @p263 @t123) % 170.31/170.76 (assume-push @p264 @t126) % 170.31/170.76 (step @p224 :rule symm :premises (@p262)) % 170.31/170.76 (step @p225 :rule refl :args (@t37)) % 170.31/170.76 (step @p226 :rule cong :premises (@p225 @p224) :args (@t125)) % 170.31/170.76 (step @p227 :rule trans :premises (@p117 @p226)) % 170.31/170.76 (step-pop @p265 :rule scope :premises (@p227)) % 170.31/170.76 (step-pop @p266 :rule scope :premises (@p265)) % 170.31/170.76 (step @p228 :rule process_scope :premises (@p266) :args (@t127)) % 170.31/170.76 (step @p231 :rule and_intro :premises (@p262 @p117)) % 170.31/170.76 (step @p232 :rule modus_ponens :premises (@p231 @p228)) % 170.31/170.76 (step-pop @p267 :rule scope :premises (@p232)) % 170.31/170.76 (step-pop @p268 :rule scope :premises (@p267)) % 170.31/170.76 (step @p233 :rule process_scope :premises (@p268) :args (@t127)) % 170.31/170.76 (step @p236 :rule implies_elim :premises (@p233)) % 170.31/170.76 (step @p237 :rule cnf_and_neg :args (@t128)) % 170.31/170.76 (step @p238 :rule resolution :premises (@p237 @p236) :args (true @t128)) % 170.31/170.76 (step @p239 :rule reordering :premises (@p238) :args ((or @t127 (not @t126) (not @t123)))) % 170.31/170.76 (step @p240 false :rule chain_m_resolution :premises (@p239 @p219 @p117 @p94) :args (false (@list false false true) (@list @t123 @t126 @t127))) % 170.31/170.76 ) % 170.31/170.76 % SZS output end Proof % 170.31/170.76 % cvc5 exiting %------------------------------------------------------------------------------