↑ Up

cvc5---1.3.4.THM-Prf.s

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