%------------------------------------------------------------------------------ % File : cvc5---1.3.4 % Problem : DAT070_1 : TPTP v9.2.1. Released v5.5.0. % Transfm : none % Format : tptp:raw % Command : /export/starexec/sandbox2/solver/bin/do_cvc5 /export/starexec/sandbox2/benchmark/theBenchmark.p 300 THM % Computer : n029.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:27 AM UTC 2026 % Result : Theorem 45.39s 45.60s % Output : Proof 45.39s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.00/0.12 % Problem : DAT070_1 : TPTP v9.2.1. Released v5.5.0. % 0.11/0.13 % Command : /export/starexec/sandbox2/solver/bin/do_cvc5 /export/starexec/sandbox2/benchmark/theBenchmark.p 300 THM % 0.15/0.33 % Computer : n029.cluster.edu % 0.15/0.33 % Model : x86_64 x86_64 % 0.15/0.33 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz % 0.15/0.33 % Memory : 8042.1875MB % 0.15/0.33 % OS : Linux 3.10.0-693.el7.x86_64 % 0.15/0.33 % CPULimit : 300 % 0.15/0.33 % WCLimit : 300 % 0.15/0.33 % DateTime : Mon Jun 1 22:28:02 EDT 2026 % 0.15/0.34 % CPUTime : % 0.28/0.48 %----Proving TF0_ARI % 45.39/45.60 --- Run --finite-model-find --decision=internal at 45... % 45.39/45.60 --- Run --decision=internal --simplification=none --no-inst-no-entail --no-cbqi --full-saturate-quant at 60... % 45.39/45.60 % SZS status Theorem % 45.39/45.60 % SZS output start Proof % 45.39/45.60 ( % 45.39/45.60 (declare-sort tptp.heap 0) % 45.39/45.60 (declare-const tptp.lsls (-> tptp.heap tptp.heap Bool)) % 45.39/45.60 (declare-const tptp.toop (-> tptp.heap Int)) % 45.39/45.60 (declare-const tptp.get (-> tptp.heap tptp.heap)) % 45.39/45.60 (declare-const tptp.length (-> tptp.heap Int)) % 45.39/45.60 (declare-const tptp.app (-> tptp.heap Int tptp.heap)) % 45.39/45.60 (declare-const tptp.sel (-> tptp.heap Int Int)) % 45.39/45.60 (declare-const tptp.empty tptp.heap) % 45.39/45.60 (define @t1 () (@var "M" Int)) % 45.39/45.60 (define @t2 () (@var "N" Int)) % 45.39/45.60 (define @t3 () (@var "H" tptp.heap)) % 45.39/45.60 (define @t4 () (tptp.app @t3 @t2)) % 45.39/45.60 (define @t5 () (tptp.sel @t4 @t1)) % 45.39/45.60 (define @t6 () (tptp.length @t3)) % 45.39/45.60 (define @t7 () (+ 1 @t6)) % 45.39/45.60 (define @t8 () (= @t1 @t7)) % 45.39/45.60 (define @t9 () (= @t5 (tptp.sel @t3 @t1))) % 45.39/45.60 (define @t10 () (not @t8)) % 45.39/45.60 (define @t11 () (forall (@list @t2 @t3 @t1) (=> @t10 @t9))) % 45.39/45.60 (define @t12 () (@list @t2 @t3)) % 45.39/45.60 (define @t13 () (@list @t3 @t2)) % 45.39/45.60 (define @t14 () (@var "N0" Int)) % 45.39/45.60 (define @t15 () (@var "H0" tptp.heap)) % 45.39/45.60 (define @t16 () (@list @t3)) % 45.39/45.60 (define @t17 () (@var "H1" tptp.heap)) % 45.39/45.60 (define @t18 () (not (< @t1 @t7))) % 45.39/45.60 (define @t19 () (or @t9 @t18)) % 45.39/45.60 (define @t20 () (@list @t2 @t1 @t3)) % 45.39/45.60 (define @t21 () (forall @t20 @t19)) % 45.39/45.60 (define @t22 () (not @t21)) % 45.39/45.60 (define @t23 () (+ @t1 (* -1 @t6))) % 45.39/45.60 (define @t24 () (>= @t23 1)) % 45.39/45.60 (define @t25 () (>= @t1 @t7)) % 45.39/45.60 (define @t26 () (forall @t20 (or @t9 @t24))) % 45.39/45.60 (define @t27 () (@quantifiers_skolemize @t26 2)) % 45.39/45.60 (define @t28 () (tptp.length @t27)) % 45.39/45.60 (define @t29 () (@quantifiers_skolemize @t26 1)) % 45.39/45.60 (define @t30 () (+ @t29 (* -1 @t28))) % 45.39/45.60 (define @t31 () (>= @t30 1)) % 45.39/45.60 (define @t32 () (@quantifiers_skolemize @t26 0)) % 45.39/45.60 (define @t33 () (= (tptp.sel (tptp.app @t27 @t32) @t29) (tptp.sel @t27 @t29))) % 45.39/45.60 (define @t34 () (or @t33 @t31)) % 45.39/45.60 (define @t35 () (not @t31)) % 45.39/45.60 (define @t36 () (@list true)) % 45.39/45.60 (define @t37 () (@list @t34)) % 45.39/45.60 (define @t38 () (+ 1 @t28)) % 45.39/45.60 (define @t39 () (= @t29 @t38)) % 45.39/45.60 (define @t40 () (or @t39 @t33)) % 45.39/45.60 (define @t41 () (@list true false)) % 45.39/45.60 (define @t42 () (@list @t33 @t40)) % 45.39/45.60 (define @t43 () (not @t39)) % 45.39/45.60 (define @t44 () (= @t30 1)) % 45.39/45.60 (define @t45 () (* -1 1)) % 45.39/45.60 (define @t46 () (+ @t45 0)) % 45.39/45.60 (define @t47 () (* 0 @t29)) % 45.39/45.60 (define @t48 () (* 0 @t28)) % 45.39/45.60 (define @t49 () (+ @t48 @t47)) % 45.39/45.60 (define @t50 () (+ (* -1 @t30) @t30)) % 45.39/45.60 (define @t51 () (= (* -1 (- @t30 1)) (* -1 (- @t29 @t38)))) % 45.39/45.60 (define @t52 () (= @t44 @t39)) % 45.39/45.60 (define @t53 () (and @t39 @t35)) % 45.39/45.60 (assume @p1 (forall (@list @t1) (= (tptp.sel tptp.empty @t1) 0))) % 45.39/45.60 (assume @p2 (forall (@list @t3 @t1 @t2) (=> @t8 (= @t5 @t2)))) % 45.39/45.60 (assume @p3 @t11) % 45.39/45.60 (assume @p4 (forall @t12 (= (tptp.get @t4) @t3))) % 45.39/45.60 (assume @p5 (forall @t13 (= (tptp.toop @t4) @t2))) % 45.39/45.60 (assume @p6 (forall (@list @t3 @t15 @t2 @t14) (= (= @t4 (tptp.app @t15 @t14)) (and (= @t3 @t15) (= @t2 @t14))))) % 45.39/45.60 (assume @p7 (forall @t13 (not (= tptp.empty @t4)))) % 45.39/45.60 (assume @p8 (forall @t16 (or (= @t3 tptp.empty) (= @t3 (tptp.app (tptp.get @t3) (tptp.toop @t3)))))) % 45.39/45.60 (assume @p9 (= (tptp.length tptp.empty) 0)) % 45.39/45.60 (assume @p10 (forall @t12 (= (tptp.length @t4) @t7))) % 45.39/45.60 (assume @p11 (forall @t16 (not (tptp.lsls @t3 @t3)))) % 45.39/45.60 (assume @p12 (forall (@list @t15 @t3 @t17) (=> (and (tptp.lsls @t3 @t15) (tptp.lsls @t15 @t17)) (tptp.lsls @t3 @t17)))) % 45.39/45.60 (assume @p13 (forall @t16 (not (tptp.lsls @t3 tptp.empty)))) % 45.39/45.60 (assume @p14 (forall (@list @t2 @t15 @t3) (= (tptp.lsls @t15 @t4) (or (= @t15 @t3) (tptp.lsls @t15 @t3))))) % 45.39/45.60 (assume @p15 @t22) % 45.39/45.60 (assume @p16 true) % 45.39/45.60 (step @p17 :rule bool-double-not-elim :args (@t24)) % 45.39/45.60 (step @p18 :rule arith_poly_norm :args ((= (* -1 (- @t1 @t7)) (* -1 (- @t23 1))))) % 45.39/45.60 (step @p19 :rule arith_poly_norm_rel :premises (@p18) :args ((= @t25 @t24))) % 45.39/45.60 (step @p20 :rule cong :premises (@p19) :args ((not @t25))) % 45.39/45.60 (step @p21 :rule arith-elim-lt :args (@t1 @t7)) % 45.39/45.60 (step @p22 :rule trans :premises (@p21 @p20)) % 45.39/45.60 (step @p23 :rule cong :premises (@p22) :args (@t18)) % 45.39/45.60 (step @p24 :rule trans :premises (@p23 @p17)) % 45.39/45.60 (step @p25 :rule refl :args (@t9)) % 45.39/45.60 (step @p26 :rule nary_cong :premises (@p25 @p24) :args (@t19)) % 45.39/45.60 (step @p27 :rule cong :premises (@p26) :args (@t21)) % 45.39/45.60 (step @p28 :rule cong :premises (@p27) :args (@t22)) % 45.39/45.60 (step @p29 :rule eq_resolve :premises (@p15 @p28)) % 45.39/45.60 (step @p30 :rule skolemize :premises (@p29)) % 45.39/45.60 (step @p31 :rule cnf_or_neg :args (@t34 1)) % 45.39/45.60 (step @p32 :rule chain_m_resolution :premises (@p31 @p30) :args (@t35 @t36 @t37)) % 45.39/45.60 (step @p33 :rule refl :args (@t9)) % 45.39/45.60 (step @p34 :rule bool-double-not-elim :args (@t8)) % 45.39/45.60 (step @p35 :rule nary_cong :premises (@p34 @p33) :args ((or (not @t10) @t9))) % 45.39/45.60 (step @p36 :rule bool-impl-elim :args (@t10 @t9)) % 45.39/45.60 (step @p37 :rule trans :premises (@p36 @p35)) % 45.39/45.60 (step @p38 :rule cong :premises (@p37) :args (@t11)) % 45.39/45.60 (step @p39 :rule eq_resolve :premises (@p3 @p38)) % 45.39/45.60 (step @p40 :rule instantiate :premises (@p39) :args ((@list @t32 @t27 @t29))) % 45.39/45.60 (step @p41 :rule cnf_or_neg :args (@t34 0)) % 45.39/45.60 (step @p42 :rule chain_m_resolution :premises (@p41 @p30) :args ((not @t33) @t36 @t37)) % 45.39/45.60 (step @p43 :rule cnf_or_pos :args (@t40)) % 45.39/45.60 (step @p44 :rule reordering :premises (@p43) :args ((or @t33 @t39 (not @t40)))) % 45.39/45.60 (step @p45 :rule chain_m_resolution :premises (@p44 @p42 @p40) :args (@t39 @t41 @t42)) % 45.39/45.60 (step @p46 :rule refl :args (@t43)) % 45.39/45.60 (step @p47 :rule bool-double-not-elim :args (@t31)) % 45.39/45.60 (step @p48 :rule nary_cong :premises (@p47 @p46) :args ((or (not @t35) @t43))) % 45.39/45.60 (assume-push @p101 @t39) % 45.39/45.60 (assume-push @p102 @t35) % 45.39/45.60 (assume-push @p103 @t44) % 45.39/45.60 (step @p52 :rule evaluate :args ((<= 0 -1))) % 45.39/45.60 (step @p53 :rule evaluate :args ((+ -1 0))) % 45.39/45.60 (step @p54 :rule refl :args (0)) % 45.39/45.60 (step @p55 :rule evaluate :args (@t45)) % 45.39/45.60 (step @p56 :rule nary_cong :premises (@p55 @p54) :args (@t46)) % 45.39/45.60 (step @p57 :rule trans :premises (@p56 @p53)) % 45.39/45.60 (step @p58 :rule evaluate :args ((+ 0 0))) % 45.39/45.60 (step @p59 :rule arith_poly_norm :args ((= @t47 0))) % 45.39/45.60 (step @p60 :rule arith_poly_norm :args ((= @t48 0))) % 45.39/45.60 (step @p61 :rule nary_cong :premises (@p60 @p59) :args (@t49)) % 45.39/45.60 (step @p62 :rule trans :premises (@p61 @p58)) % 45.39/45.60 (step @p63 :rule arith_poly_norm :args ((= @t50 @t49))) % 45.39/45.60 (step @p64 :rule trans :premises (@p63 @p62)) % 45.39/45.60 (step @p65 :rule cong :premises (@p64 @p57) :args ((<= @t50 @t46))) % 45.39/45.60 (step @p66 :rule trans :premises (@p65 @p52)) % 45.39/45.60 (step @p67 :rule arith-elim-lt :args (@t30 1)) % 45.39/45.60 (step @p68 :rule symm :premises (@p67)) % 45.39/45.60 (step @p69 :rule eq_resolve :premises (@p32 @p68)) % 45.39/45.60 (step @p70 :rule int_tight_ub :premises (@p69)) % 45.39/45.60 (step @p71 :rule arith_mult_neg :args (-1 @t44)) % 45.39/45.60 (step @p72 :rule arith_poly_norm :args (@t51)) % 45.39/45.60 (step @p73 :rule arith_poly_norm_rel :premises (@p72) :args (@t52)) % 45.39/45.60 (step @p74 :rule symm :premises (@p73)) % 45.39/45.60 (step @p75 :rule chain_m_resolution :premises (@p44 @p42 @p40) :args (@t39 @t41 @t42)) % 45.39/45.60 (step @p76 :rule eq_resolve :premises (@p75 @p74)) % 45.39/45.60 (step @p77 :rule evaluate :args ((< -1 0))) % 45.39/45.60 (step @p78 :rule true_elim :premises (@p77)) % 45.39/45.60 (step @p79 :rule and_intro :premises (@p78 @p76)) % 45.39/45.60 (step @p80 :rule modus_ponens :premises (@p79 @p71)) % 45.39/45.60 (step @p81 :rule arith_sum_ub :premises (@p80 @p70)) % 45.39/45.60 (step @p82 false :rule eq_resolve :premises (@p81 @p66)) % 45.39/45.60 (step-pop @p104 :rule scope :premises (@p82)) % 45.39/45.60 (step @p83 :rule process_scope :premises (@p104) :args (false)) % 45.39/45.60 (step @p72 :rule arith_poly_norm :args (@t51)) % 45.39/45.60 (step @p73 :rule arith_poly_norm_rel :premises (@p72) :args (@t52)) % 45.39/45.60 (step @p74 :rule symm :premises (@p73)) % 45.39/45.60 (step @p85 :rule eq_resolve :premises (@p45 @p74)) % 45.39/45.60 (step @p86 false :rule contra :premises (@p85 @p83)) % 45.39/45.60 (step-pop @p105 :rule scope :premises (@p86)) % 45.39/45.60 (step-pop @p106 :rule scope :premises (@p105)) % 45.39/45.60 (step @p87 :rule process_scope :premises (@p106) :args (false)) % 45.39/45.60 (assume-push @p107 @t35) % 45.39/45.60 (assume-push @p108 @t39) % 45.39/45.60 (step @p92 :rule and_intro :premises (@p45 @p32)) % 45.39/45.60 (step-pop @p109 :rule scope :premises (@p92)) % 45.39/45.60 (step-pop @p110 :rule scope :premises (@p109)) % 45.39/45.60 (step @p93 :rule process_scope :premises (@p110) :args (@t53)) % 45.39/45.60 (step @p96 :rule implies_elim :premises (@p93)) % 45.39/45.60 (step @p97 :rule resolution :premises (@p96 @p87) :args (true @t53)) % 45.39/45.60 (step @p98 :rule not_and :premises (@p97)) % 45.39/45.60 (step @p99 :rule eq_resolve :premises (@p98 @p48)) % 45.39/45.60 (step @p100 false :rule chain_m_resolution :premises (@p99 @p45 @p32) :args (false (@list false true) (@list @t39 @t31))) % 45.39/45.60 ) % 45.39/45.60 % SZS output end Proof % 45.39/45.60 % cvc5 exiting %------------------------------------------------------------------------------