↑ Up

cvc5---1.3.4.THM-Prf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% 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
%------------------------------------------------------------------------------