%------------------------------------------------------------------------------ % File : cvc5---1.3.4 % Problem : DAT091_1 : TPTP v9.2.1. Released v6.1.0. % Transfm : none % Format : tptp:raw % Command : /export/starexec/sandbox/solver/bin/do_cvc5 /export/starexec/sandbox/benchmark/theBenchmark.p 300 THM % Computer : n009.cluster.edu % Model : x86_64 x86_64 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz % Memory : 8042.1875MB % OS : Linux 3.10.0-693.el7.x86_64 % CPULimit : 300s % WCLimit : 300s % DateTime : Wed Jun 3 08:14:30 AM UTC 2026 % Result : Theorem 60.99s 61.23s % Output : Proof 60.99s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.00/0.12 % Problem : DAT091_1 : TPTP v9.2.1. Released v6.1.0. % 0.12/0.13 % Command : /export/starexec/sandbox/solver/bin/do_cvc5 /export/starexec/sandbox/benchmark/theBenchmark.p 300 THM % 0.17/0.34 % Computer : n009.cluster.edu % 0.17/0.34 % Model : x86_64 x86_64 % 0.17/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz % 0.17/0.34 % Memory : 8042.1875MB % 0.17/0.34 % OS : Linux 3.10.0-693.el7.x86_64 % 0.17/0.34 % CPULimit : 300 % 0.17/0.34 % WCLimit : 300 % 0.17/0.34 % DateTime : Mon Jun 1 22:28:14 EDT 2026 % 0.17/0.34 % CPUTime : % 0.30/0.49 %----Proving TF0_ARI % 60.99/61.23 --- Run --finite-model-find --decision=internal at 45... % 60.99/61.23 --- Run --decision=internal --simplification=none --no-inst-no-entail --no-cbqi --full-saturate-quant at 60... % 60.99/61.23 --- Run --no-e-matching --full-saturate-quant at 45... % 60.99/61.23 % SZS status Theorem % 60.99/61.23 % SZS output start Proof % 60.99/61.23 ( % 60.99/61.23 (declare-sort tptp.list 0) % 60.99/61.23 (declare-const tptp.count (-> Int tptp.list Int)) % 60.99/61.23 (declare-const tptp.length (-> tptp.list Int)) % 60.99/61.23 (declare-const tptp.inRange (-> Int tptp.list Bool)) % 60.99/61.23 (declare-const tptp.in (-> Int tptp.list Bool)) % 60.99/61.23 (declare-const tptp.nil tptp.list) % 60.99/61.23 (declare-const tptp.append (-> tptp.list tptp.list tptp.list)) % 60.99/61.23 (declare-const tptp.tail (-> tptp.list tptp.list)) % 60.99/61.23 (declare-const tptp.head (-> tptp.list Int)) % 60.99/61.23 (declare-const tptp.cons (-> Int tptp.list tptp.list)) % 60.99/61.23 (define @t1 () (@var "K" Int)) % 60.99/61.23 (define @t2 () (@var "L" tptp.list)) % 60.99/61.23 (define @t3 () (tptp.cons @t1 @t2)) % 60.99/61.23 (define @t4 () (@list @t1 @t2)) % 60.99/61.23 (define @t5 () (= @t2 tptp.nil)) % 60.99/61.23 (define @t6 () (@list @t2)) % 60.99/61.23 (define @t7 () (not (= @t3 tptp.nil))) % 60.99/61.23 (define @t8 () (forall @t4 @t7)) % 60.99/61.23 (define @t9 () (@var "T" tptp.list)) % 60.99/61.23 (define @t10 () (@var "X" Int)) % 60.99/61.23 (define @t11 () (@var "H" Int)) % 60.99/61.23 (define @t12 () (tptp.cons @t11 @t9)) % 60.99/61.23 (define @t13 () (= @t2 @t12)) % 60.99/61.23 (define @t14 () (@list @t11 @t9)) % 60.99/61.23 (define @t15 () (@var "N" Int)) % 60.99/61.23 (define @t16 () (@list @t15 @t2)) % 60.99/61.23 (define @t17 () (tptp.length tptp.nil)) % 60.99/61.23 (define @t18 () (= @t17 0)) % 60.99/61.23 (define @t19 () (forall @t14 (= (tptp.length @t12) (+ 1 (tptp.length @t9))))) % 60.99/61.23 (define @t20 () (tptp.count @t1 @t9)) % 60.99/61.23 (define @t21 () (tptp.count @t1 @t12)) % 60.99/61.23 (define @t22 () (= @t21 @t20)) % 60.99/61.23 (define @t23 () (= @t1 @t11)) % 60.99/61.23 (define @t24 () (not @t23)) % 60.99/61.23 (define @t25 () (@list @t1 @t11 @t9 @t15)) % 60.99/61.23 (define @t26 () (forall @t25 (=> @t24 @t22))) % 60.99/61.23 (define @t27 () (@var "K" tptp.list)) % 60.99/61.23 (define @t28 () (@var "I" Int)) % 60.99/61.23 (define @t29 () (@var "L2" tptp.list)) % 60.99/61.23 (define @t30 () (@var "L1" tptp.list)) % 60.99/61.23 (define @t31 () (forall (@list @t15) (not (= (tptp.count @t15 @t30) (tptp.count @t15 @t29))))) % 60.99/61.23 (define @t32 () (= @t30 @t29)) % 60.99/61.23 (define @t33 () (not @t32)) % 60.99/61.23 (define @t34 () (@list @t30 @t29)) % 60.99/61.23 (define @t35 () (forall @t34 (=> @t33 @t31))) % 60.99/61.23 (define @t36 () (tptp.cons 0 tptp.nil)) % 60.99/61.23 (define @t37 () (tptp.length @t36)) % 60.99/61.23 (define @t38 () (+ -1 @t37)) % 60.99/61.23 (define @t39 () (- @t17 @t38)) % 60.99/61.23 (define @t40 () (+ 1 @t17)) % 60.99/61.23 (define @t41 () (= @t17 @t38)) % 60.99/61.23 (define @t42 () (= @t37 @t40)) % 60.99/61.23 (define @t43 () (@list 0 tptp.nil)) % 60.99/61.23 (define @t44 () (@list false)) % 60.99/61.23 (define @t45 () (or @t23 @t22)) % 60.99/61.23 (define @t46 () (forall (@list @t1 @t11 @t9) @t45)) % 60.99/61.23 (define @t47 () (tptp.count @t37 @t36)) % 60.99/61.23 (define @t48 () (tptp.count @t37 tptp.nil)) % 60.99/61.23 (define @t49 () (= @t48 @t47)) % 60.99/61.23 (define @t50 () (= @t47 @t48)) % 60.99/61.23 (define @t51 () (= @t37 0)) % 60.99/61.23 (define @t52 () (or @t51 @t50)) % 60.99/61.23 (define @t53 () (or @t51 @t49)) % 60.99/61.23 (define @t54 () (@var "BOUND_VARIABLE_7635" Int)) % 60.99/61.23 (define @t55 () (not (= (tptp.count @t54 @t30) (tptp.count @t54 @t29)))) % 60.99/61.23 (define @t56 () (or @t32 @t55)) % 60.99/61.23 (define @t57 () (@list @t54)) % 60.99/61.23 (define @t58 () (forall @t57 @t56)) % 60.99/61.23 (define @t59 () (forall @t57 @t55)) % 60.99/61.23 (define @t60 () (or @t32 @t59)) % 60.99/61.23 (define @t61 () (not @t49)) % 60.99/61.23 (define @t62 () (= tptp.nil @t36)) % 60.99/61.23 (define @t63 () (or @t62 @t61)) % 60.99/61.23 (define @t64 () (@list true false)) % 60.99/61.23 (define @t65 () (= 0 @t37)) % 60.99/61.23 (define @t66 () (not @t65)) % 60.99/61.23 (define @t67 () (= @t17 @t37)) % 60.99/61.23 (define @t68 () (* -1 @t37)) % 60.99/61.23 (define @t69 () (+ -1 @t68)) % 60.99/61.23 (define @t70 () (- @t69 @t68)) % 60.99/61.23 (define @t71 () (+ @t68 -1)) % 60.99/61.23 (define @t72 () (* -1 @t17)) % 60.99/61.23 (define @t73 () (+ @t72 @t68 @t17)) % 60.99/61.23 (define @t74 () (+ @t17 @t68)) % 60.99/61.23 (define @t75 () (+ @t72 @t74)) % 60.99/61.23 (define @t76 () (and @t66 @t51)) % 60.99/61.23 (assume @p1 (forall @t4 (= (tptp.head @t3) @t1))) % 60.99/61.23 (assume @p2 (forall @t4 (= (tptp.tail @t3) @t2))) % 60.99/61.23 (assume @p3 (forall @t6 (or @t5 (= @t2 (tptp.cons (tptp.head @t2) (tptp.tail @t2)))))) % 60.99/61.23 (assume @p4 @t8) % 60.99/61.23 (assume @p5 (forall (@list @t10 @t2) (= (tptp.in @t10 @t2) (or (exists @t14 (and @t13 (= @t10 @t11))) (exists @t14 (and @t13 (tptp.in @t10 @t9))))))) % 60.99/61.23 (assume @p6 (forall @t16 (= (tptp.inRange @t15 @t2) (or @t5 (exists (@list @t1 @t9) (and (= @t2 (tptp.cons @t1 @t9)) (<= 0 @t1) (< @t1 @t15) (tptp.inRange @t15 @t9))))))) % 60.99/61.23 (assume @p7 @t18) % 60.99/61.23 (assume @p8 @t19) % 60.99/61.23 (assume @p9 (forall (@list @t1) (= (tptp.count @t1 tptp.nil) 0))) % 60.99/61.23 (assume @p10 @t26) % 60.99/61.23 (assume @p11 (forall @t25 (=> @t23 (= @t21 (+ @t20 1))))) % 60.99/61.23 (assume @p12 (forall @t6 (= (tptp.append tptp.nil @t2) @t2))) % 60.99/61.23 (assume @p13 (forall (@list @t28 @t27 @t2) (= (tptp.append (tptp.cons @t28 @t27) @t2) (tptp.cons @t28 (tptp.append @t27 @t2))))) % 60.99/61.23 (assume @p14 (forall @t16 (= (tptp.in @t15 @t2) (> (tptp.count @t15 @t2) 0)))) % 60.99/61.23 (assume @p15 (not (not @t35))) % 60.99/61.23 (assume @p16 true) % 60.99/61.23 (step @p17 :rule arith_poly_norm :args ((= (* 1 (- @t37 @t40)) (* -1 @t39)))) % 60.99/61.23 (step @p18 :rule arith_poly_norm_rel :premises (@p17) :args ((= @t42 @t41))) % 60.99/61.23 (step @p19 :rule refl :args (@t19)) % 60.99/61.23 (step @p20 :rule cong :premises (@p19 @p18) :args ((=> @t19 @t42))) % 60.99/61.23 (assume-push @p147 @t19) % 60.99/61.23 (step @p22 :rule instantiate :premises (@p8) :args (@t43)) % 60.99/61.23 (step-pop @p148 :rule scope :premises (@p22)) % 60.99/61.23 (step @p23 :rule process_scope :premises (@p148) :args (@t42)) % 60.99/61.23 (step @p25 :rule eq_resolve :premises (@p23 @p20)) % 60.99/61.23 (step @p26 :rule implies_elim :premises (@p25)) % 60.99/61.23 (step @p27 :rule chain_m_resolution :premises (@p26 @p8) :args (@t41 @t44 (@list @t19))) % 60.99/61.23 (step @p28 :rule quant-unused-vars :args ((= (forall @t25 @t45) @t46))) % 60.99/61.23 (step @p29 :rule refl :args (@t22)) % 60.99/61.23 (step @p30 :rule bool-double-not-elim :args (@t23)) % 60.99/61.23 (step @p31 :rule nary_cong :premises (@p30 @p29) :args ((or (not @t24) @t22))) % 60.99/61.23 (step @p32 :rule bool-impl-elim :args (@t24 @t22)) % 60.99/61.23 (step @p33 :rule trans :premises (@p32 @p31)) % 60.99/61.23 (step @p34 :rule cong :premises (@p33) :args (@t26)) % 60.99/61.23 (step @p35 :rule trans :premises (@p34 @p28)) % 60.99/61.23 (step @p36 :rule eq_resolve :premises (@p10 @p35)) % 60.99/61.23 (step @p37 :rule arith_poly_norm :args ((= (* 1 (- @t47 @t48)) (* -1 (- @t48 @t47))))) % 60.99/61.23 (step @p38 :rule arith_poly_norm_rel :premises (@p37) :args ((= @t50 @t49))) % 60.99/61.23 (step @p39 :rule refl :args (@t51)) % 60.99/61.23 (step @p40 :rule nary_cong :premises (@p39 @p38) :args (@t52)) % 60.99/61.23 (step @p41 :rule refl :args (@t46)) % 60.99/61.23 (step @p42 :rule cong :premises (@p41 @p40) :args ((=> @t46 @t52))) % 60.99/61.23 (assume-push @p149 @t46) % 60.99/61.23 (step @p44 :rule instantiate :premises (@p36) :args ((@list @t37 0 tptp.nil))) % 60.99/61.23 (step-pop @p150 :rule scope :premises (@p44)) % 60.99/61.23 (step @p45 :rule process_scope :premises (@p150) :args (@t52)) % 60.99/61.23 (step @p47 :rule eq_resolve :premises (@p45 @p42)) % 60.99/61.23 (step @p48 :rule implies_elim :premises (@p47)) % 60.99/61.23 (step @p49 :rule chain_m_resolution :premises (@p48 @p36) :args (@t53 @t44 (@list @t46))) % 60.99/61.23 (step @p50 :rule quant-merge-prenex :args ((= (forall @t34 @t58) (forall (@list @t30 @t29 @t54) @t56)))) % 60.99/61.23 (step @p51 :rule alpha_equiv :args (@t59 (@list @t54) (@list @t15))) % 60.99/61.23 (step @p52 :rule refl :args (@t32)) % 60.99/61.23 (step @p53 :rule nary_cong :premises (@p52 @p51) :args (@t60)) % 60.99/61.23 (step @p54 :rule quant-miniscope-or :args ((= @t58 @t60))) % 60.99/61.23 (step @p55 :rule trans :premises (@p54 @p53)) % 60.99/61.23 (step @p56 :rule symm :premises (@p55)) % 60.99/61.23 (step @p57 :rule cong :premises (@p56) :args ((forall @t34 (or @t32 @t31)))) % 60.99/61.23 (step @p58 :rule trans :premises (@p57 @p50)) % 60.99/61.23 (step @p59 :rule refl :args (@t31)) % 60.99/61.23 (step @p60 :rule bool-double-not-elim :args (@t32)) % 60.99/61.23 (step @p61 :rule nary_cong :premises (@p60 @p59) :args ((or (not @t33) @t31))) % 60.99/61.23 (step @p62 :rule bool-impl-elim :args (@t33 @t31)) % 60.99/61.23 (step @p63 :rule trans :premises (@p62 @p61)) % 60.99/61.23 (step @p64 :rule cong :premises (@p63) :args (@t35)) % 60.99/61.23 (step @p65 :rule trans :premises (@p64 @p58)) % 60.99/61.23 (step @p66 :rule bool-double-not-elim :args (@t35)) % 60.99/61.23 (step @p67 :rule trans :premises (@p66 @p65)) % 60.99/61.23 (step @p68 :rule eq_resolve :premises (@p15 @p67)) % 60.99/61.23 (step @p69 :rule instantiate :premises (@p68) :args ((@list tptp.nil @t36 @t37))) % 60.99/61.23 (step @p70 :rule eq-symm :args (@t3 tptp.nil)) % 60.99/61.23 (step @p71 :rule cong :premises (@p70) :args (@t7)) % 60.99/61.23 (step @p72 :rule cong :premises (@p71) :args (@t8)) % 60.99/61.23 (step @p73 :rule eq_resolve :premises (@p4 @p72)) % 60.99/61.23 (step @p74 :rule instantiate :premises (@p73) :args (@t43)) % 60.99/61.23 (step @p75 :rule cnf_or_pos :args (@t63)) % 60.99/61.23 (step @p76 :rule reordering :premises (@p75) :args ((or @t62 @t61 (not @t63)))) % 60.99/61.23 (step @p77 :rule chain_m_resolution :premises (@p76 @p74 @p69) :args (@t61 @t64 (@list @t62 @t63))) % 60.99/61.23 (step @p78 :rule cnf_or_pos :args (@t53)) % 60.99/61.23 (step @p79 :rule reordering :premises (@p78) :args ((or @t51 @t49 (not @t53)))) % 60.99/61.23 (step @p80 :rule chain_m_resolution :premises (@p79 @p77 @p49) :args (@t51 @t64 (@list @t49 @t53))) % 60.99/61.24 (assume-push @p151 @t66) % 60.99/61.24 (assume-push @p152 @t51) % 60.99/61.24 (step @p83 :rule evaluate :args ((= false true))) % 60.99/61.24 (step @p84 :rule symm :premises (@p80)) % 60.99/61.24 (step @p85 :rule true_intro :premises (@p84)) % 60.99/61.24 (step @p86 :rule false_intro :premises (@p151)) % 60.99/61.24 (step @p87 :rule symm :premises (@p86)) % 60.99/61.24 (step @p88 :rule trans :premises (@p87 @p85)) % 60.99/61.24 (step @p89 false :rule eq_resolve :premises (@p88 @p83)) % 60.99/61.24 (step-pop @p153 :rule scope :premises (@p89)) % 60.99/61.24 (step-pop @p154 :rule scope :premises (@p153)) % 60.99/61.24 (step @p90 :rule process_scope :premises (@p154) :args (false)) % 60.99/61.24 (assume-push @p155 @t18) % 60.99/61.24 (assume-push @p156 @t41) % 60.99/61.24 (assume-push @p157 @t51) % 60.99/61.24 (assume-push @p158 @t18) % 60.99/61.24 (assume-push @p159 @t41) % 60.99/61.24 (assume-push @p160 @t67) % 60.99/61.24 (step @p99 :rule evaluate :args ((>= -1 0))) % 60.99/61.24 (step @p100 :rule refl :args (0)) % 60.99/61.24 (step @p101 :rule arith_poly_norm :args ((= @t70 -1))) % 60.99/61.24 (step @p102 :rule cong :premises (@p101 @p100) :args ((>= @t70 0))) % 60.99/61.24 (step @p103 :rule trans :premises (@p102 @p99)) % 60.99/61.24 (step @p104 :rule arith-geq-norm1-int :args (@t69 @t68)) % 60.99/61.24 (step @p105 :rule trans :premises (@p104 @p103)) % 60.99/61.24 (step @p106 :rule arith-elim-leq :args (@t68 @t69)) % 60.99/61.24 (step @p107 :rule trans :premises (@p106 @p105)) % 60.99/61.24 (step @p108 :rule arith_poly_norm :args ((= @t71 @t69))) % 60.99/61.24 (step @p109 :rule arith_poly_norm :args ((= @t73 @t68))) % 60.99/61.24 (step @p110 :rule arith_poly_norm :args ((= @t75 @t73))) % 60.99/61.24 (step @p111 :rule trans :premises (@p110 @p109)) % 60.99/61.24 (step @p112 :rule cong :premises (@p111 @p108) :args ((<= @t75 @t71))) % 60.99/61.24 (step @p113 :rule trans :premises (@p112 @p107)) % 60.99/61.24 (step @p114 :rule arith_poly_norm :args ((= (* 1 (- @t74 -1)) (* 1 @t39)))) % 60.99/61.24 (step @p115 :rule arith_poly_norm_rel :premises (@p114) :args ((= (= @t74 -1) @t41))) % 60.99/61.24 (step @p116 :rule symm :premises (@p115)) % 60.99/61.24 (step @p117 :rule eq_resolve :premises (@p27 @p116)) % 60.99/61.24 (step @p118 :rule arith_mult_neg :args (-1 @t67)) % 60.99/61.24 (step @p119 :rule evaluate :args ((< -1 0))) % 60.99/61.24 (step @p120 :rule true_elim :premises (@p119)) % 60.99/61.24 (step @p121 :rule and_intro :premises (@p120 @p160)) % 60.99/61.24 (step @p122 :rule modus_ponens :premises (@p121 @p118)) % 60.99/61.24 (step @p123 :rule arith_sum_ub :premises (@p122 @p117)) % 60.99/61.24 (step @p124 false :rule eq_resolve :premises (@p123 @p113)) % 60.99/61.24 (step-pop @p161 :rule scope :premises (@p124)) % 60.99/61.24 (step @p125 :rule process_scope :premises (@p161) :args (false)) % 60.99/61.24 (step @p127 :rule false_intro :premises (@p125)) % 60.99/61.24 (step @p128 :rule refl :args (@t37)) % 60.99/61.24 (step @p129 :rule symm :premises (@p7)) % 60.99/61.24 (step @p130 :rule cong :premises (@p129 @p128) :args (@t65)) % 60.99/61.24 (step @p131 :rule trans :premises (@p130 @p127)) % 60.99/61.24 (step @p132 :rule false_elim :premises (@p131)) % 60.99/61.24 (step-pop @p162 :rule scope :premises (@p132)) % 60.99/61.24 (step-pop @p163 :rule scope :premises (@p162)) % 60.99/61.24 (step @p133 :rule process_scope :premises (@p163) :args (@t66)) % 60.99/61.24 (step @p136 :rule and_intro :premises (@p7 @p27)) % 60.99/61.24 (step @p137 :rule modus_ponens :premises (@p136 @p133)) % 60.99/61.24 (step @p138 :rule and_intro :premises (@p137 @p80)) % 60.99/61.24 (step-pop @p164 :rule scope :premises (@p138)) % 60.99/61.24 (step-pop @p165 :rule scope :premises (@p164)) % 60.99/61.24 (step-pop @p166 :rule scope :premises (@p165)) % 60.99/61.24 (step @p139 :rule process_scope :premises (@p166) :args (@t76)) % 60.99/61.24 (step @p143 :rule implies_elim :premises (@p139)) % 60.99/61.24 (step @p144 :rule resolution :premises (@p143 @p90) :args (true @t76)) % 60.99/61.24 (step @p145 :rule not_and :premises (@p144)) % 60.99/61.24 (step @p146 false :rule chain_m_resolution :premises (@p145 @p80 @p27 @p7) :args (false (@list false false false) (@list @t51 @t41 @t18))) % 60.99/61.24 ) % 60.99/61.24 % SZS output end Proof % 60.99/61.24 % cvc5 exiting %------------------------------------------------------------------------------