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