↑ Up

cvc5---1.3.4.THM-Prf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : cvc5---1.3.4
% Problem  : DAT087_1 : TPTP v9.2.1. Released v6.1.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : /export/starexec/sandbox2/solver/bin/do_cvc5 /export/starexec/sandbox2/benchmark/theBenchmark.p 300 THM

% Computer : n004.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 45.46s 45.72s
% Output   : Proof 45.46s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12  % Problem  : DAT087_1 : TPTP v9.2.1. Released v6.1.0.
% 0.12/0.13  % Command  : /export/starexec/sandbox2/solver/bin/do_cvc5 /export/starexec/sandbox2/benchmark/theBenchmark.p 300 THM
% 0.17/0.34  % Computer : n004.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:07 EDT 2026
% 0.17/0.34  % CPUTime  : 
% 0.30/0.50  %----Proving TF0_ARI
% 45.46/45.72  --- Run --finite-model-find --decision=internal at 45...
% 45.46/45.72  --- Run --decision=internal --simplification=none --no-inst-no-entail --no-cbqi --full-saturate-quant at 60...
% 45.46/45.72  % SZS status Theorem
% 45.46/45.72  % SZS output start Proof
% 45.46/45.72  (
% 45.46/45.72  (declare-sort tptp.list 0)
% 45.46/45.72  (declare-const tptp.count (-> Int tptp.list Int))
% 45.46/45.72  (declare-const tptp.length (-> tptp.list Int))
% 45.46/45.72  (declare-const tptp.inRange (-> Int tptp.list Bool))
% 45.46/45.72  (declare-const tptp.in (-> Int tptp.list Bool))
% 45.46/45.72  (declare-const tptp.nil tptp.list)
% 45.46/45.72  (declare-const tptp.append (-> tptp.list tptp.list tptp.list))
% 45.46/45.72  (declare-const tptp.tail (-> tptp.list tptp.list))
% 45.46/45.72  (declare-const tptp.head (-> tptp.list Int))
% 45.46/45.72  (declare-const tptp.cons (-> Int tptp.list tptp.list))
% 45.46/45.72  (define @t1 () (@var "K" Int))
% 45.46/45.72  (define @t2 () (@var "L" tptp.list))
% 45.46/45.72  (define @t3 () (tptp.cons @t1 @t2))
% 45.46/45.72  (define @t4 () (@list @t1 @t2))
% 45.46/45.72  (define @t5 () (= @t2 tptp.nil))
% 45.46/45.72  (define @t6 () (@list @t2))
% 45.46/45.72  (define @t7 () (@var "T" tptp.list))
% 45.46/45.72  (define @t8 () (@var "X" Int))
% 45.46/45.72  (define @t9 () (@var "H" Int))
% 45.46/45.72  (define @t10 () (tptp.cons @t9 @t7))
% 45.46/45.72  (define @t11 () (= @t2 @t10))
% 45.46/45.72  (define @t12 () (@list @t9 @t7))
% 45.46/45.72  (define @t13 () (@var "N" Int))
% 45.46/45.72  (define @t14 () (@list @t13 @t2))
% 45.46/45.72  (define @t15 () (@list @t1))
% 45.46/45.72  (define @t16 () (tptp.count @t1 @t7))
% 45.46/45.72  (define @t17 () (tptp.count @t1 @t10))
% 45.46/45.72  (define @t18 () (= @t1 @t9))
% 45.46/45.72  (define @t19 () (not @t18))
% 45.46/45.72  (define @t20 () (@list @t1 @t9 @t7 @t13))
% 45.46/45.72  (define @t21 () (+ @t16 1))
% 45.46/45.72  (define @t22 () (= @t17 @t21))
% 45.46/45.72  (define @t23 () (=> @t18 @t22))
% 45.46/45.72  (define @t24 () (forall @t20 @t23))
% 45.46/45.72  (define @t25 () (@var "K" tptp.list))
% 45.46/45.72  (define @t26 () (@var "I" Int))
% 45.46/45.72  (define @t27 () (tptp.count @t13 @t2))
% 45.46/45.72  (define @t28 () (forall @t14 (= @t27 (tptp.count @t13 (tptp.cons 1 @t2)))))
% 45.46/45.72  (define @t29 () (= (tptp.count @t9 @t10) (+ 1 (tptp.count @t9 @t7))))
% 45.46/45.72  (define @t30 () (not (= @t9 @t9)))
% 45.46/45.72  (define @t31 () (or @t30 @t29))
% 45.46/45.72  (define @t32 () (+ 1 @t16))
% 45.46/45.72  (define @t33 () (= @t17 @t32))
% 45.46/45.72  (define @t34 () (or @t19 @t19 @t33))
% 45.46/45.72  (define @t35 () (or @t19 @t33))
% 45.46/45.72  (define @t36 () (forall @t15 @t35))
% 45.46/45.72  (define @t37 () (forall @t12 @t36))
% 45.46/45.72  (define @t38 () (forall (@list @t9 @t7 @t1) @t35))
% 45.46/45.72  (define @t39 () (forall (@list @t1 @t9 @t7) @t35))
% 45.46/45.72  (define @t40 () (tptp.count 1 (tptp.cons 1 tptp.nil)))
% 45.46/45.72  (define @t41 () (+ -1 @t40))
% 45.46/45.72  (define @t42 () (tptp.count 1 tptp.nil))
% 45.46/45.72  (define @t43 () (- @t42 @t41))
% 45.46/45.72  (define @t44 () (+ 1 @t42))
% 45.46/45.72  (define @t45 () (= @t42 @t41))
% 45.46/45.72  (define @t46 () (= @t40 @t44))
% 45.46/45.72  (define @t47 () (forall @t12 @t29))
% 45.46/45.72  (define @t48 () (@list 1 tptp.nil))
% 45.46/45.72  (define @t49 () (= @t42 @t40))
% 45.46/45.72  (define @t50 () (+ @t42 (* -1 @t40)))
% 45.46/45.72  (define @t51 () (= @t50 0))
% 45.46/45.72  (define @t52 () (* -1 0))
% 45.46/45.72  (define @t53 () (+ @t52 -1))
% 45.46/45.72  (define @t54 () (* 0 @t42))
% 45.46/45.72  (define @t55 () (* 0 @t40))
% 45.46/45.72  (define @t56 () (+ @t55 @t54))
% 45.46/45.72  (define @t57 () (+ (* -1 @t50) @t50))
% 45.46/45.72  (define @t58 () (= (* 1 (- @t50 0)) (* 1 (- @t42 @t40))))
% 45.46/45.72  (define @t59 () (= @t51 @t49))
% 45.46/45.72  (assume @p1 (forall @t4 (= (tptp.head @t3) @t1)))
% 45.46/45.72  (assume @p2 (forall @t4 (= (tptp.tail @t3) @t2)))
% 45.46/45.72  (assume @p3 (forall @t6 (or @t5 (= @t2 (tptp.cons (tptp.head @t2) (tptp.tail @t2))))))
% 45.46/45.72  (assume @p4 (forall @t4 (not (= @t3 tptp.nil))))
% 45.46/45.72  (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)))))))
% 45.46/45.72  (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)))))))
% 45.46/45.72  (assume @p7 (= (tptp.length tptp.nil) 0))
% 45.46/45.72  (assume @p8 (forall @t12 (= (tptp.length @t10) (+ 1 (tptp.length @t7)))))
% 45.46/45.72  (assume @p9 (forall @t15 (= (tptp.count @t1 tptp.nil) 0)))
% 45.46/45.72  (assume @p10 (forall @t20 (=> @t19 (= @t17 @t16))))
% 45.46/45.72  (assume @p11 @t24)
% 45.46/45.72  (assume @p12 (forall @t6 (= (tptp.append tptp.nil @t2) @t2)))
% 45.46/45.72  (assume @p13 (forall (@list @t26 @t25 @t2) (= (tptp.append (tptp.cons @t26 @t25) @t2) (tptp.cons @t26 (tptp.append @t25 @t2)))))
% 45.46/45.72  (assume @p14 (forall @t14 (= (tptp.in @t13 @t2) (> @t27 0))))
% 45.46/45.72  (assume @p15 (not (not @t28)))
% 45.46/45.72  (assume @p16 true)
% 45.46/45.72  (step @p17 :rule aci_norm :args ((= (or false @t29) @t29)))
% 45.46/45.72  (step @p18 :rule refl :args (@t29))
% 45.46/45.72  (step @p19 :rule evaluate :args ((not true)))
% 45.46/45.72  (step @p20 :rule eq-refl :args (@t9))
% 45.46/45.72  (step @p21 :rule cong :premises (@p20) :args (@t30))
% 45.46/45.72  (step @p22 :rule trans :premises (@p21 @p19))
% 45.46/45.72  (step @p23 :rule nary_cong :premises (@p22 @p18) :args (@t31))
% 45.46/45.72  (step @p24 :rule trans :premises (@p23 @p17))
% 45.46/45.72  (step @p25 :rule cong :premises (@p24) :args ((forall @t12 @t31)))
% 45.46/45.72  (step @p26 :rule quant-var-elim-eq :args ((= (forall @t15 @t34) @t31)))
% 45.46/45.72  (step @p27 :rule aci_norm :args ((= @t35 @t34)))
% 45.46/45.72  (step @p28 :rule cong :premises (@p27) :args (@t36))
% 45.46/45.72  (step @p29 :rule trans :premises (@p28 @p26))
% 45.46/45.72  (step @p30 :rule cong :premises (@p29) :args (@t37))
% 45.46/45.72  (step @p31 :rule quant-merge-prenex :args ((= @t37 @t38)))
% 45.46/45.72  (step @p32 :rule symm :premises (@p31))
% 45.46/45.72  (step @p33 :rule quant_var_reordering :args ((= @t39 @t38)))
% 45.46/45.72  (step @p34 :rule trans :premises (@p33 @p32 @p30))
% 45.46/45.72  (step @p35 :rule trans :premises (@p34 @p25))
% 45.46/45.72  (step @p36 :rule quant-unused-vars :args ((= (forall @t20 @t35) @t39)))
% 45.46/45.72  (step @p37 :rule trans :premises (@p36 @p35))
% 45.46/45.72  (step @p38 :rule bool-impl-elim :args (@t18 @t33))
% 45.46/45.72  (step @p39 :rule cong :premises (@p38) :args ((forall @t20 (=> @t18 @t33))))
% 45.46/45.72  (step @p40 :rule trans :premises (@p39 @p37))
% 45.46/45.72  (step @p41 :rule arith_poly_norm :args ((= @t21 @t32)))
% 45.46/45.72  (step @p42 :rule refl :args (@t17))
% 45.46/45.72  (step @p43 :rule cong :premises (@p42 @p41) :args (@t22))
% 45.46/45.72  (step @p44 :rule refl :args (@t18))
% 45.46/45.72  (step @p45 :rule cong :premises (@p44 @p43) :args (@t23))
% 45.46/45.72  (step @p46 :rule cong :premises (@p45) :args (@t24))
% 45.46/45.72  (step @p47 :rule trans :premises (@p46 @p40))
% 45.46/45.72  (step @p48 :rule eq_resolve :premises (@p11 @p47))
% 45.46/45.72  (step @p49 :rule arith_poly_norm :args ((= (* 1 (- @t40 @t44)) (* -1 @t43))))
% 45.46/45.72  (step @p50 :rule arith_poly_norm_rel :premises (@p49) :args ((= @t46 @t45)))
% 45.46/45.72  (step @p51 :rule refl :args (@t47))
% 45.46/45.72  (step @p52 :rule cong :premises (@p51 @p50) :args ((=> @t47 @t46)))
% 45.46/45.72  (assume-push @p107 @t47)
% 45.46/45.72  (step @p54 :rule instantiate :premises (@p48) :args (@t48))
% 45.46/45.72  (step-pop @p108 :rule scope :premises (@p54))
% 45.46/45.72  (step @p55 :rule process_scope :premises (@p108) :args (@t46))
% 45.46/45.72  (step @p57 :rule eq_resolve :premises (@p55 @p52))
% 45.46/45.72  (step @p58 :rule implies_elim :premises (@p57))
% 45.46/45.72  (step @p59 :rule chain_m_resolution :premises (@p58 @p48) :args (@t45 (@list false) (@list @t47)))
% 45.46/45.72  (step @p60 :rule bool-double-not-elim :args (@t28))
% 45.46/45.72  (step @p61 :rule eq_resolve :premises (@p15 @p60))
% 45.46/45.72  (step @p62 :rule instantiate :premises (@p61) :args (@t48))
% 45.46/45.72  (assume-push @p109 @t49)
% 45.46/45.72  (assume-push @p110 @t45)
% 45.46/45.72  (assume-push @p111 @t51)
% 45.46/45.72  (step @p66 :rule evaluate :args ((<= 0 -1)))
% 45.46/45.72  (step @p67 :rule evaluate :args ((+ 0 -1)))
% 45.46/45.72  (step @p68 :rule refl :args (-1))
% 45.46/45.72  (step @p69 :rule evaluate :args (@t52))
% 45.46/45.72  (step @p70 :rule nary_cong :premises (@p69 @p68) :args (@t53))
% 45.46/45.72  (step @p71 :rule trans :premises (@p70 @p67))
% 45.46/45.72  (step @p72 :rule evaluate :args ((+ 0 0)))
% 45.46/45.72  (step @p73 :rule arith_poly_norm :args ((= @t54 0)))
% 45.46/45.72  (step @p74 :rule arith_poly_norm :args ((= @t55 0)))
% 45.46/45.72  (step @p75 :rule nary_cong :premises (@p74 @p73) :args (@t56))
% 45.46/45.72  (step @p76 :rule trans :premises (@p75 @p72))
% 45.46/45.72  (step @p77 :rule arith_poly_norm :args ((= @t57 @t56)))
% 45.46/45.72  (step @p78 :rule trans :premises (@p77 @p76))
% 45.46/45.72  (step @p79 :rule cong :premises (@p78 @p71) :args ((<= @t57 @t53)))
% 45.46/45.72  (step @p80 :rule trans :premises (@p79 @p66))
% 45.46/45.72  (step @p81 :rule arith_poly_norm :args ((= (* 1 (- @t50 -1)) (* 1 @t43))))
% 45.46/45.72  (step @p82 :rule arith_poly_norm_rel :premises (@p81) :args ((= (= @t50 -1) @t45)))
% 45.46/45.72  (step @p83 :rule symm :premises (@p82))
% 45.46/45.72  (step @p84 :rule eq_resolve :premises (@p59 @p83))
% 45.46/45.72  (step @p85 :rule arith_mult_neg :args (-1 @t51))
% 45.46/45.72  (step @p86 :rule arith_poly_norm :args (@t58))
% 45.46/45.72  (step @p87 :rule arith_poly_norm_rel :premises (@p86) :args (@t59))
% 45.46/45.72  (step @p88 :rule symm :premises (@p87))
% 45.46/45.72  (step @p89 :rule instantiate :premises (@p61) :args (@t48))
% 45.46/45.72  (step @p90 :rule eq_resolve :premises (@p89 @p88))
% 45.46/45.72  (step @p91 :rule evaluate :args ((< -1 0)))
% 45.46/45.72  (step @p92 :rule true_elim :premises (@p91))
% 45.46/45.72  (step @p93 :rule and_intro :premises (@p92 @p90))
% 45.46/45.72  (step @p94 :rule modus_ponens :premises (@p93 @p85))
% 45.46/45.72  (step @p95 :rule arith_sum_ub :premises (@p94 @p84))
% 45.46/45.72  (step @p96 false :rule eq_resolve :premises (@p95 @p80))
% 45.46/45.72  (step-pop @p112 :rule scope :premises (@p96))
% 45.46/45.72  (step @p97 :rule process_scope :premises (@p112) :args (false))
% 45.46/45.72  (step @p86 :rule arith_poly_norm :args (@t58))
% 45.46/45.72  (step @p87 :rule arith_poly_norm_rel :premises (@p86) :args (@t59))
% 45.46/45.72  (step @p88 :rule symm :premises (@p87))
% 45.46/45.72  (step @p99 :rule eq_resolve :premises (@p62 @p88))
% 45.46/45.72  (step @p100 false :rule contra :premises (@p99 @p97))
% 45.46/45.72  (step-pop @p113 :rule scope :premises (@p100))
% 45.46/45.72  (step-pop @p114 :rule scope :premises (@p113))
% 45.46/45.72  (step @p101 :rule process_scope :premises (@p114) :args (false))
% 45.46/45.72  (step @p104 :rule not_and :premises (@p101))
% 45.46/45.72  (step @p105 :rule reordering :premises (@p104) :args ((or (not @t45) (not @t49))))
% 45.46/45.72  (step @p106 false :rule chain_m_resolution :premises (@p105 @p62 @p59) :args (false (@list false false) (@list @t49 @t45)))
% 45.46/45.72  )
% 45.46/45.72  % SZS output end Proof
% 45.46/45.72  % cvc5 exiting
%------------------------------------------------------------------------------