↑ Up

cvc5---1.3.4.THM-Prf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : cvc5---1.3.4
% Problem  : DAT082_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 : n005.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:29 AM UTC 2026

% Result   : Theorem 0.40s 0.61s
% Output   : Proof 0.40s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12  % Problem  : DAT082_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 : n005.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:03 EDT 2026
% 0.17/0.34  % CPUTime  : 
% 0.33/0.50  %----Proving TF0_ARI
% 0.40/0.61  --- Run --finite-model-find --decision=internal at 45...
% 0.40/0.61  % SZS status Theorem
% 0.40/0.61  % SZS output start Proof
% 0.40/0.61  (
% 0.40/0.61  (declare-sort tptp.list 0)
% 0.40/0.61  (declare-const tptp.count (-> Int tptp.list Int))
% 0.40/0.61  (declare-const tptp.length (-> tptp.list Int))
% 0.40/0.61  (declare-const tptp.inRange (-> Int tptp.list Bool))
% 0.40/0.61  (declare-const tptp.in (-> Int tptp.list Bool))
% 0.40/0.61  (declare-const tptp.nil tptp.list)
% 0.40/0.61  (declare-const tptp.append (-> tptp.list tptp.list tptp.list))
% 0.40/0.61  (declare-const tptp.tail (-> tptp.list tptp.list))
% 0.40/0.61  (declare-const tptp.head (-> tptp.list Int))
% 0.40/0.61  (declare-const tptp.cons (-> Int tptp.list tptp.list))
% 0.40/0.61  (define @t1 () (@var "K" Int))
% 0.40/0.61  (define @t2 () (@var "L" tptp.list))
% 0.40/0.61  (define @t3 () (tptp.cons @t1 @t2))
% 0.40/0.61  (define @t4 () (@list @t1 @t2))
% 0.40/0.61  (define @t5 () (= @t2 tptp.nil))
% 0.40/0.61  (define @t6 () (@list @t2))
% 0.40/0.61  (define @t7 () (@var "T" tptp.list))
% 0.40/0.61  (define @t8 () (@var "X" Int))
% 0.40/0.61  (define @t9 () (@var "H" Int))
% 0.40/0.61  (define @t10 () (tptp.cons @t9 @t7))
% 0.40/0.61  (define @t11 () (= @t2 @t10))
% 0.40/0.61  (define @t12 () (@list @t9 @t7))
% 0.40/0.61  (define @t13 () (@var "N" Int))
% 0.40/0.61  (define @t14 () (@list @t13 @t2))
% 0.40/0.61  (define @t15 () (tptp.length tptp.nil))
% 0.40/0.61  (define @t16 () (= @t15 0))
% 0.40/0.61  (define @t17 () (forall @t12 (= (tptp.length @t10) (+ 1 (tptp.length @t7)))))
% 0.40/0.61  (define @t18 () (tptp.count @t1 @t7))
% 0.40/0.61  (define @t19 () (tptp.count @t1 @t10))
% 0.40/0.61  (define @t20 () (= @t1 @t9))
% 0.40/0.61  (define @t21 () (@list @t1 @t9 @t7 @t13))
% 0.40/0.61  (define @t22 () (@var "K" tptp.list))
% 0.40/0.61  (define @t23 () (@var "I" Int))
% 0.40/0.61  (define @t24 () (tptp.cons 2 tptp.nil))
% 0.40/0.61  (define @t25 () (tptp.length (tptp.cons 1 @t24)))
% 0.40/0.61  (define @t26 () (= @t25 2))
% 0.40/0.61  (define @t27 () (not @t26))
% 0.40/0.61  (define @t28 () (tptp.length @t24))
% 0.40/0.61  (define @t29 () (+ -1 @t28))
% 0.40/0.61  (define @t30 () (- @t15 @t29))
% 0.40/0.61  (define @t31 () (+ 1 @t15))
% 0.40/0.61  (define @t32 () (= @t15 @t29))
% 0.40/0.61  (define @t33 () (= @t28 @t31))
% 0.40/0.61  (define @t34 () (>= @t25 2))
% 0.40/0.61  (define @t35 () (not @t16))
% 0.40/0.61  (define @t36 () (not @t32))
% 0.40/0.61  (define @t37 () (+ 1 @t28))
% 0.40/0.61  (define @t38 () (= @t25 @t37))
% 0.40/0.61  (define @t39 () (not @t38))
% 0.40/0.61  (define @t40 () (not @t34))
% 0.40/0.61  (define @t41 () (* -1 0))
% 0.40/0.61  (define @t42 () (* -1 1))
% 0.40/0.61  (define @t43 () (+ 2 @t42 -1 @t41))
% 0.40/0.61  (define @t44 () (* -1 @t15))
% 0.40/0.61  (define @t45 () (* 0 @t25))
% 0.40/0.61  (define @t46 () (* 0 @t28))
% 0.40/0.61  (define @t47 () (= @t46 0))
% 0.40/0.61  (define @t48 () (+ @t46 @t44 @t45 @t15))
% 0.40/0.61  (define @t49 () (* -1 @t28))
% 0.40/0.61  (define @t50 () (+ @t15 @t49))
% 0.40/0.61  (define @t51 () (+ @t25 @t49))
% 0.40/0.61  (define @t52 () (+ @t25 (* -1 @t51) @t50 @t44))
% 0.40/0.61  (define @t53 () (>= @t52 @t43))
% 0.40/0.61  (define @t54 () (< -1 0))
% 0.40/0.61  (define @t55 () (= (* 1 (- @t50 -1)) (* 1 @t30)))
% 0.40/0.61  (define @t56 () (= @t50 -1))
% 0.40/0.61  (define @t57 () (= @t56 @t32))
% 0.40/0.61  (define @t58 () (= @t51 1))
% 0.40/0.61  (define @t59 () (= (* -1 (- @t51 1)) (* -1 (- @t25 @t37))))
% 0.40/0.61  (define @t60 () (= @t58 @t38))
% 0.40/0.61  (define @t61 () (>= @t25 3))
% 0.40/0.61  (define @t62 () (* -1 -1))
% 0.40/0.61  (define @t63 () (* -1 3))
% 0.40/0.61  (define @t64 () (+ @t63 @t62 0 1))
% 0.40/0.61  (define @t65 () (* -1 @t25))
% 0.40/0.61  (define @t66 () (* 0 @t15))
% 0.40/0.61  (define @t67 () (+ @t65 @t46 @t25 @t66))
% 0.40/0.61  (define @t68 () (+ @t65 (* -1 @t50) @t15 @t51))
% 0.40/0.61  (define @t69 () (and @t38 @t16 @t32 @t27 @t34))
% 0.40/0.61  (assume @p1 (forall @t4 (= (tptp.head @t3) @t1)))
% 0.40/0.61  (assume @p2 (forall @t4 (= (tptp.tail @t3) @t2)))
% 0.40/0.61  (assume @p3 (forall @t6 (or @t5 (= @t2 (tptp.cons (tptp.head @t2) (tptp.tail @t2))))))
% 0.40/0.61  (assume @p4 (forall @t4 (not (= @t3 tptp.nil))))
% 0.40/0.61  (assume @p5 (forall (@list @t8 @t2) (= (tptp.in @t8 @t2) (or (exists @t12 (and @t11 (= @t8 @t9))) (exists @t12 (and @t11 (tptp.in @t8 @t7)))))))
% 0.40/0.61  (assume @p6 (forall @t14 (= (tptp.inRange @t13 @t2) (or @t5 (exists (@list @t1 @t7) (and (= @t2 (tptp.cons @t1 @t7)) (<= 0 @t1) (< @t1 @t13) (tptp.inRange @t13 @t7)))))))
% 0.40/0.61  (assume @p7 @t16)
% 0.40/0.61  (assume @p8 @t17)
% 0.40/0.61  (assume @p9 (forall (@list @t1) (= (tptp.count @t1 tptp.nil) 0)))
% 0.40/0.61  (assume @p10 (forall @t21 (=> (not @t20) (= @t19 @t18))))
% 0.40/0.61  (assume @p11 (forall @t21 (=> @t20 (= @t19 (+ @t18 1)))))
% 0.40/0.61  (assume @p12 (forall @t6 (= (tptp.append tptp.nil @t2) @t2)))
% 0.40/0.61  (assume @p13 (forall (@list @t23 @t22 @t2) (= (tptp.append (tptp.cons @t23 @t22) @t2) (tptp.cons @t23 (tptp.append @t22 @t2)))))
% 0.40/0.61  (assume @p14 (forall @t14 (= (tptp.in @t13 @t2) (> (tptp.count @t13 @t2) 0))))
% 0.40/0.61  (assume @p15 @t27)
% 0.40/0.61  (assume @p16 true)
% 0.40/0.61  (step @p17 :rule arith_poly_norm :args ((= (* 1 (- @t28 @t31)) (* -1 @t30))))
% 0.40/0.61  (step @p18 :rule arith_poly_norm_rel :premises (@p17) :args ((= @t33 @t32)))
% 0.40/0.61  (step @p19 :rule refl :args (@t17))
% 0.40/0.61  (step @p20 :rule cong :premises (@p19 @p18) :args ((=> @t17 @t33)))
% 0.40/0.61  (assume-push @p160 @t17)
% 0.40/0.61  (step @p22 :rule instantiate :premises (@p8) :args ((@list 2 tptp.nil)))
% 0.40/0.61  (step-pop @p161 :rule scope :premises (@p22))
% 0.40/0.61  (step @p23 :rule process_scope :premises (@p161) :args (@t33))
% 0.40/0.61  (step @p25 :rule eq_resolve :premises (@p23 @p20))
% 0.40/0.61  (step @p26 :rule implies_elim :premises (@p25))
% 0.40/0.61  (step @p27 :rule chain_m_resolution :premises (@p26 @p8) :args (@t32 (@list false) (@list @t17)))
% 0.40/0.61  (step @p28 :rule instantiate :premises (@p8) :args ((@list 1 @t24)))
% 0.40/0.61  (step @p29 :rule bool-double-not-elim :args (@t34))
% 0.40/0.61  (step @p30 :rule refl :args (@t35))
% 0.40/0.61  (step @p31 :rule refl :args (@t36))
% 0.40/0.61  (step @p32 :rule refl :args (@t39))
% 0.40/0.61  (step @p33 :rule nary_cong :premises (@p32 @p31 @p30 @p29) :args ((or @t39 @t36 @t35 (not @t40))))
% 0.40/0.61  (assume-push @p162 @t38)
% 0.40/0.61  (assume-push @p163 @t32)
% 0.40/0.61  (assume-push @p164 @t16)
% 0.40/0.61  (assume-push @p165 @t40)
% 0.40/0.61  (step @p38 :rule evaluate :args ((not true)))
% 0.40/0.61  (step @p39 :rule evaluate :args ((>= 0 0)))
% 0.40/0.61  (step @p40 :rule evaluate :args ((+ 2 -1 -1 0)))
% 0.40/0.61  (step @p41 :rule evaluate :args (@t41))
% 0.40/0.61  (step @p42 :rule refl :args (-1))
% 0.40/0.61  (step @p43 :rule evaluate :args (@t42))
% 0.40/0.61  (step @p44 :rule refl :args (2))
% 0.40/0.61  (step @p45 :rule nary_cong :premises (@p44 @p43 @p42 @p41) :args (@t43))
% 0.40/0.61  (step @p46 :rule trans :premises (@p45 @p40))
% 0.40/0.61  (step @p47 :rule arith_poly_norm :args ((= (+ 0 @t44 0 @t15) 0)))
% 0.40/0.61  (step @p48 :rule refl :args (@t15))
% 0.40/0.61  (step @p49 :rule arith_poly_norm :args ((= @t45 0)))
% 0.40/0.61  (step @p50 :rule refl :args (@t44))
% 0.40/0.61  (step @p51 :rule arith_poly_norm :args (@t47))
% 0.40/0.61  (step @p52 :rule nary_cong :premises (@p51 @p50 @p49 @p48) :args (@t48))
% 0.40/0.61  (step @p53 :rule trans :premises (@p52 @p47))
% 0.40/0.61  (step @p54 :rule arith_poly_norm :args ((= @t52 @t48)))
% 0.40/0.61  (step @p55 :rule trans :premises (@p54 @p53))
% 0.40/0.61  (step @p56 :rule cong :premises (@p55 @p46) :args (@t53))
% 0.40/0.61  (step @p57 :rule trans :premises (@p56 @p39))
% 0.40/0.61  (step @p58 :rule cong :premises (@p57) :args ((not @t53)))
% 0.40/0.61  (step @p59 :rule trans :premises (@p58 @p38))
% 0.40/0.61  (step @p60 :rule arith-elim-lt :args (@t52 @t43))
% 0.40/0.61  (step @p61 :rule trans :premises (@p60 @p59))
% 0.40/0.61  (step @p62 :rule arith_mult_neg :args (-1 @t16))
% 0.40/0.61  (step @p63 :rule evaluate :args (@t54))
% 0.40/0.61  (step @p64 :rule true_elim :premises (@p63))
% 0.40/0.61  (step @p65 :rule and_intro :premises (@p64 @p7))
% 0.40/0.61  (step @p66 :rule modus_ponens :premises (@p65 @p62))
% 0.40/0.61  (step @p67 :rule arith_poly_norm :args (@t55))
% 0.40/0.61  (step @p68 :rule arith_poly_norm_rel :premises (@p67) :args (@t57))
% 0.40/0.61  (step @p69 :rule symm :premises (@p68))
% 0.40/0.61  (step @p70 :rule eq_resolve :premises (@p27 @p69))
% 0.40/0.61  (step @p71 :rule arith_mult_neg :args (-1 @t58))
% 0.40/0.61  (step @p72 :rule arith_poly_norm :args (@t59))
% 0.40/0.61  (step @p73 :rule arith_poly_norm_rel :premises (@p72) :args (@t60))
% 0.40/0.61  (step @p74 :rule symm :premises (@p73))
% 0.40/0.61  (step @p75 :rule eq_resolve :premises (@p28 @p74))
% 0.40/0.61  (step @p76 :rule and_intro :premises (@p64 @p75))
% 0.40/0.61  (step @p77 :rule modus_ponens :premises (@p76 @p71))
% 0.40/0.61  (step @p78 :rule arith-elim-lt :args (@t25 2))
% 0.40/0.61  (step @p79 :rule symm :premises (@p78))
% 0.40/0.61  (step @p80 :rule eq_resolve :premises (@p165 @p79))
% 0.40/0.61  (step @p81 :rule arith_sum_ub :premises (@p80 @p77 @p70 @p66))
% 0.40/0.61  (step @p82 false :rule eq_resolve :premises (@p81 @p61))
% 0.40/0.61  (step-pop @p166 :rule scope :premises (@p82))
% 0.40/0.61  (step-pop @p167 :rule scope :premises (@p166))
% 0.40/0.61  (step-pop @p168 :rule scope :premises (@p167))
% 0.40/0.61  (step-pop @p169 :rule scope :premises (@p168))
% 0.40/0.61  (step @p83 :rule process_scope :premises (@p169) :args (false))
% 0.40/0.61  (step @p88 :rule not_and :premises (@p83))
% 0.40/0.61  (step @p89 :rule eq_resolve :premises (@p88 @p33))
% 0.40/0.61  (step @p90 :rule reordering :premises (@p89) :args ((or @t35 @t36 @t34 @t39)))
% 0.40/0.61  (step @p91 :rule chain_m_resolution :premises (@p90 @p7 @p27 @p28) :args (@t34 (@list false false false) (@list @t16 @t32 @t38)))
% 0.40/0.61  (step @p92 :rule refl :args (@t40))
% 0.40/0.61  (step @p93 :rule bool-double-not-elim :args (@t26))
% 0.40/0.61  (step @p94 :rule nary_cong :premises (@p30 @p93 @p31 @p92 @p32) :args ((or @t35 (not @t27) @t36 @t40 @t39)))
% 0.40/0.61  (assume-push @p170 @t38)
% 0.40/0.61  (assume-push @p171 @t16)
% 0.40/0.61  (assume-push @p172 @t32)
% 0.40/0.61  (assume-push @p173 @t27)
% 0.40/0.61  (assume-push @p174 @t34)
% 0.40/0.61  (step @p100 :rule arith-elim-lt :args (@t25 3))
% 0.40/0.62  (step @p101 :rule symm :premises (@p100))
% 0.40/0.62  (assume-push @p175 @t61)
% 0.40/0.62  (step @p103 :rule evaluate :args ((<= 0 -1)))
% 0.40/0.62  (step @p104 :rule evaluate :args ((+ -3 1 0 1)))
% 0.40/0.62  (step @p105 :rule refl :args (1))
% 0.40/0.62  (step @p106 :rule refl :args (0))
% 0.40/0.62  (step @p107 :rule evaluate :args (@t62))
% 0.40/0.62  (step @p108 :rule evaluate :args (@t63))
% 0.40/0.62  (step @p109 :rule nary_cong :premises (@p108 @p107 @p106 @p105) :args (@t64))
% 0.40/0.62  (step @p110 :rule trans :premises (@p109 @p104))
% 0.40/0.62  (step @p111 :rule arith_poly_norm :args ((= (+ @t65 0 @t25 0) 0)))
% 0.40/0.62  (step @p112 :rule arith_poly_norm :args ((= @t66 0)))
% 0.40/0.62  (step @p113 :rule refl :args (@t25))
% 0.40/0.62  (step @p51 :rule arith_poly_norm :args (@t47))
% 0.40/0.62  (step @p114 :rule refl :args (@t65))
% 0.40/0.62  (step @p115 :rule nary_cong :premises (@p114 @p51 @p113 @p112) :args (@t67))
% 0.40/0.62  (step @p116 :rule trans :premises (@p115 @p111))
% 0.40/0.62  (step @p117 :rule arith_poly_norm :args ((= @t68 @t67)))
% 0.40/0.62  (step @p118 :rule trans :premises (@p117 @p116))
% 0.40/0.62  (step @p119 :rule cong :premises (@p118 @p110) :args ((<= @t68 @t64)))
% 0.40/0.62  (step @p120 :rule trans :premises (@p119 @p103))
% 0.40/0.62  (step @p72 :rule arith_poly_norm :args (@t59))
% 0.40/0.62  (step @p73 :rule arith_poly_norm_rel :premises (@p72) :args (@t60))
% 0.40/0.62  (step @p74 :rule symm :premises (@p73))
% 0.40/0.62  (step @p75 :rule eq_resolve :premises (@p28 @p74))
% 0.40/0.62  (step @p121 :rule arith_mult_neg :args (-1 @t56))
% 0.40/0.62  (step @p67 :rule arith_poly_norm :args (@t55))
% 0.40/0.62  (step @p68 :rule arith_poly_norm_rel :premises (@p67) :args (@t57))
% 0.40/0.62  (step @p69 :rule symm :premises (@p68))
% 0.40/0.62  (step @p70 :rule eq_resolve :premises (@p27 @p69))
% 0.40/0.62  (step @p63 :rule evaluate :args (@t54))
% 0.40/0.62  (step @p64 :rule true_elim :premises (@p63))
% 0.40/0.62  (step @p122 :rule and_intro :premises (@p64 @p70))
% 0.40/0.62  (step @p123 :rule modus_ponens :premises (@p122 @p121))
% 0.40/0.62  (step @p124 :rule arith_mult_neg :args (-1 @t61))
% 0.40/0.62  (step @p125 :rule and_intro :premises (@p64 @p175))
% 0.40/0.62  (step @p126 :rule modus_ponens :premises (@p125 @p124))
% 0.40/0.62  (step @p127 :rule arith_sum_ub :premises (@p126 @p123 @p7 @p75))
% 0.40/0.62  (step @p128 false :rule eq_resolve :premises (@p127 @p120))
% 0.40/0.62  (step-pop @p176 :rule scope :premises (@p128))
% 0.40/0.62  (step @p129 :rule process_scope :premises (@p176) :args (false))
% 0.40/0.62  (step @p131 :rule eq_resolve :premises (@p129 @p101))
% 0.40/0.62  (step @p132 :rule eq_resolve :premises (@p131 @p100))
% 0.40/0.62  (step @p133 :rule arith_trichotomy :premises (@p15 @p174))
% 0.40/0.62  (step @p134 :rule int_tight_lb :premises (@p133))
% 0.40/0.62  (step @p135 false :rule contra :premises (@p134 @p132))
% 0.40/0.62  (step-pop @p177 :rule scope :premises (@p135))
% 0.40/0.62  (step-pop @p178 :rule scope :premises (@p177))
% 0.40/0.62  (step-pop @p179 :rule scope :premises (@p178))
% 0.40/0.62  (step-pop @p180 :rule scope :premises (@p179))
% 0.40/0.62  (step-pop @p181 :rule scope :premises (@p180))
% 0.40/0.62  (step @p136 :rule process_scope :premises (@p181) :args (false))
% 0.40/0.62  (assume-push @p182 @t16)
% 0.40/0.62  (assume-push @p183 @t27)
% 0.40/0.62  (assume-push @p184 @t32)
% 0.40/0.62  (assume-push @p185 @t34)
% 0.40/0.62  (assume-push @p186 @t38)
% 0.40/0.62  (step @p147 :rule and_intro :premises (@p28 @p7 @p27 @p15 @p185))
% 0.40/0.62  (step-pop @p187 :rule scope :premises (@p147))
% 0.40/0.62  (step-pop @p188 :rule scope :premises (@p187))
% 0.40/0.62  (step-pop @p189 :rule scope :premises (@p188))
% 0.40/0.62  (step-pop @p190 :rule scope :premises (@p189))
% 0.40/0.62  (step-pop @p191 :rule scope :premises (@p190))
% 0.40/0.62  (step @p148 :rule process_scope :premises (@p191) :args (@t69))
% 0.40/0.62  (step @p154 :rule implies_elim :premises (@p148))
% 0.40/0.62  (step @p155 :rule resolution :premises (@p154 @p136) :args (true @t69))
% 0.40/0.62  (step @p156 :rule not_and :premises (@p155))
% 0.40/0.62  (step @p157 :rule eq_resolve :premises (@p156 @p94))
% 0.40/0.62  (step @p158 :rule reordering :premises (@p157) :args ((or @t26 @t35 @t36 @t40 @t39)))
% 0.40/0.62  (step @p159 false :rule chain_m_resolution :premises (@p158 @p91 @p28 @p27 @p7 @p15) :args (false (@list false false false false true) (@list @t34 @t38 @t32 @t16 @t26)))
% 0.40/0.62  )
% 0.40/0.62  % SZS output end Proof
% 0.40/0.62  % cvc5 exiting
%------------------------------------------------------------------------------