TSTP Solution File: DAT066_1 by cvc5---1.0.5

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cvc5---1.0.5
% Problem  : DAT066_1 : TPTP v8.2.0. Released v5.5.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : do_cvc5 %s %d

% Computer : n014.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 May 29 16:42:57 EDT 2024

% Result   : Theorem 0.37s 0.55s
% Output   : Proof 0.37s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.14  % Problem    : DAT066_1 : TPTP v8.2.0. Released v5.5.0.
% 0.07/0.15  % Command    : do_cvc5 %s %d
% 0.14/0.36  % Computer : n014.cluster.edu
% 0.14/0.36  % Model    : x86_64 x86_64
% 0.14/0.36  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.36  % Memory   : 8042.1875MB
% 0.14/0.36  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.14/0.36  % CPULimit   : 300
% 0.14/0.36  % WCLimit    : 300
% 0.14/0.36  % DateTime   : Mon May 27 17:28:54 EDT 2024
% 0.14/0.36  % CPUTime    : 
% 0.21/0.52  %----Proving TF0_ARI
% 0.37/0.55  --- Run --finite-model-find --decision=internal at 15...
% 0.37/0.55  % SZS status Theorem for /export/starexec/sandbox/tmp/tmp.ndEA326f6z/cvc5---1.0.5_474.smt2
% 0.37/0.55  % SZS output start Proof for /export/starexec/sandbox/tmp/tmp.ndEA326f6z/cvc5---1.0.5_474.smt2
% 0.37/0.55  (assume a0 (forall ((M Int)) (= (tptp.sel tptp.empty M) 0)))
% 0.37/0.55  (assume a1 (forall ((H tptp.heap) (M Int) (N Int)) (=> (= M (+ 1 (tptp.length H))) (= (tptp.sel (tptp.app H N) M) N))))
% 0.37/0.55  (assume a2 (forall ((N Int) (H tptp.heap) (M Int)) (=> (not (= M (+ 1 (tptp.length H)))) (= (tptp.sel (tptp.app H N) M) (tptp.sel H M)))))
% 0.37/0.55  (assume a3 (forall ((N Int) (H tptp.heap)) (= (tptp.get (tptp.app H N)) H)))
% 0.37/0.55  (assume a4 (forall ((H tptp.heap) (N Int)) (= (tptp.toop (tptp.app H N)) N)))
% 0.37/0.55  (assume a5 (forall ((H tptp.heap) (H0 tptp.heap) (N Int) (N0 Int)) (= (= (tptp.app H N) (tptp.app H0 N0)) (and (= H H0) (= N N0)))))
% 0.37/0.55  (assume a6 (forall ((H tptp.heap) (N Int)) (not (= tptp.empty (tptp.app H N)))))
% 0.37/0.55  (assume a7 (forall ((H tptp.heap)) (or (= H tptp.empty) (= H (tptp.app (tptp.get H) (tptp.toop H))))))
% 0.37/0.55  (assume a8 (= (tptp.length tptp.empty) 0))
% 0.37/0.55  (assume a9 (forall ((N Int) (H tptp.heap)) (= (tptp.length (tptp.app H N)) (+ 1 (tptp.length H)))))
% 0.37/0.55  (assume a10 (forall ((H tptp.heap)) (not (tptp.lsls H H))))
% 0.37/0.55  (assume a11 (forall ((H0 tptp.heap) (H tptp.heap) (H1 tptp.heap)) (=> (and (tptp.lsls H H0) (tptp.lsls H0 H1)) (tptp.lsls H H1))))
% 0.37/0.55  (assume a12 (forall ((H tptp.heap)) (not (tptp.lsls H tptp.empty))))
% 0.37/0.55  (assume a13 (forall ((N Int) (H0 tptp.heap) (H tptp.heap)) (= (tptp.lsls H0 (tptp.app H N)) (or (= H0 H) (tptp.lsls H0 H)))))
% 0.37/0.55  (assume a14 (not (forall ((N Int) (M Int) (H tptp.heap)) (or (= (tptp.sel (tptp.app H N) M) N) (not (= M (+ 1 (tptp.length H))))))))
% 0.37/0.55  (assume a15 true)
% 0.37/0.55  (step t1 (cl (not (= (not (forall ((N Int) (M Int) (H tptp.heap)) (or (= (tptp.sel (tptp.app H N) M) N) (not (= M (+ 1 (tptp.length H))))))) (not (forall ((N Int) (H tptp.heap)) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H)))))))) (not (not (forall ((N Int) (M Int) (H tptp.heap)) (or (= (tptp.sel (tptp.app H N) M) N) (not (= M (+ 1 (tptp.length H)))))))) (not (forall ((N Int) (H tptp.heap)) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H))))))) :rule equiv_pos2)
% 0.37/0.55  (anchor :step t2 :args ((N Int) (:= N N) (M Int) (:= M M) (H tptp.heap) (:= H H)))
% 0.37/0.55  (step t2.t1 (cl (= N N)) :rule refl)
% 0.37/0.55  (step t2.t2 (cl (= M M)) :rule refl)
% 0.37/0.55  (step t2.t3 (cl (= H H)) :rule refl)
% 0.37/0.55  (step t2.t4 (cl (= (= (tptp.sel (tptp.app H N) M) N) (= N (tptp.sel (tptp.app H N) M)))) :rule all_simplify)
% 0.37/0.55  (step t2.t5 (cl (= (not (= M (+ 1 (tptp.length H)))) (not (= M (+ 1 (tptp.length H)))))) :rule refl)
% 0.37/0.55  (step t2.t6 (cl (= (or (= (tptp.sel (tptp.app H N) M) N) (not (= M (+ 1 (tptp.length H))))) (or (= N (tptp.sel (tptp.app H N) M)) (not (= M (+ 1 (tptp.length H))))))) :rule cong :premises (t2.t4 t2.t5))
% 0.37/0.55  (step t2 (cl (= (forall ((N Int) (M Int) (H tptp.heap)) (or (= (tptp.sel (tptp.app H N) M) N) (not (= M (+ 1 (tptp.length H)))))) (forall ((N Int) (M Int) (H tptp.heap)) (or (= N (tptp.sel (tptp.app H N) M)) (not (= M (+ 1 (tptp.length H)))))))) :rule bind)
% 0.37/0.55  (step t3 (cl (= (forall ((N Int) (M Int) (H tptp.heap)) (or (= N (tptp.sel (tptp.app H N) M)) (not (= M (+ 1 (tptp.length H)))))) (forall ((N Int) (H tptp.heap)) (or (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H)))) (not (= (+ 1 (tptp.length H)) (+ 1 (tptp.length H)))))))) :rule all_simplify)
% 0.37/0.55  (anchor :step t4 :args ((N Int) (:= N N) (H tptp.heap) (:= H H)))
% 0.37/0.55  (step t4.t1 (cl (= N N)) :rule refl)
% 0.37/0.55  (step t4.t2 (cl (= H H)) :rule refl)
% 0.37/0.55  (step t4.t3 (cl (= (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H)))) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H)))))) :rule refl)
% 0.37/0.55  (step t4.t4 (cl (= (= (+ 1 (tptp.length H)) (+ 1 (tptp.length H))) true)) :rule all_simplify)
% 0.37/0.55  (step t4.t5 (cl (= (not (= (+ 1 (tptp.length H)) (+ 1 (tptp.length H)))) (not true))) :rule cong :premises (t4.t4))
% 0.37/0.55  (step t4.t6 (cl (= (not true) false)) :rule all_simplify)
% 0.37/0.55  (step t4.t7 (cl (= (not (= (+ 1 (tptp.length H)) (+ 1 (tptp.length H)))) false)) :rule trans :premises (t4.t5 t4.t6))
% 0.37/0.55  (step t4.t8 (cl (= (or (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H)))) (not (= (+ 1 (tptp.length H)) (+ 1 (tptp.length H))))) (or (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H)))) false))) :rule cong :premises (t4.t3 t4.t7))
% 0.37/0.55  (step t4.t9 (cl (= (or (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H)))) false) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H)))))) :rule all_simplify)
% 0.37/0.55  (step t4.t10 (cl (= (or (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H)))) (not (= (+ 1 (tptp.length H)) (+ 1 (tptp.length H))))) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H)))))) :rule trans :premises (t4.t8 t4.t9))
% 0.37/0.55  (step t4 (cl (= (forall ((N Int) (H tptp.heap)) (or (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H)))) (not (= (+ 1 (tptp.length H)) (+ 1 (tptp.length H)))))) (forall ((N Int) (H tptp.heap)) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H))))))) :rule bind)
% 0.37/0.55  (step t5 (cl (= (forall ((N Int) (M Int) (H tptp.heap)) (or (= N (tptp.sel (tptp.app H N) M)) (not (= M (+ 1 (tptp.length H)))))) (forall ((N Int) (H tptp.heap)) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H))))))) :rule trans :premises (t3 t4))
% 0.37/0.55  (step t6 (cl (= (forall ((N Int) (M Int) (H tptp.heap)) (or (= (tptp.sel (tptp.app H N) M) N) (not (= M (+ 1 (tptp.length H)))))) (forall ((N Int) (H tptp.heap)) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H))))))) :rule trans :premises (t2 t5))
% 0.37/0.55  (step t7 (cl (= (not (forall ((N Int) (M Int) (H tptp.heap)) (or (= (tptp.sel (tptp.app H N) M) N) (not (= M (+ 1 (tptp.length H))))))) (not (forall ((N Int) (H tptp.heap)) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H)))))))) :rule cong :premises (t6))
% 0.37/0.55  (step t8 (cl (not (forall ((N Int) (H tptp.heap)) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H))))))) :rule resolution :premises (t1 t7 a14))
% 0.37/0.55  (step t9 (cl (= (forall ((H tptp.heap) (N Int)) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H))))) (forall ((N Int) (H tptp.heap)) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H))))))) :rule hole :args ((= (forall ((H tptp.heap) (N Int)) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H))))) (forall ((N Int) (H tptp.heap)) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H)))))) 13))
% 0.37/0.55  (step t10 (cl (not (forall ((H tptp.heap) (N Int)) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H)))))) (forall ((N Int) (H tptp.heap)) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H)))))) :rule equiv1 :premises (t9))
% 0.37/0.55  (step t11 (cl (forall ((N Int) (H tptp.heap)) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H))))) (not (forall ((H tptp.heap) (N Int)) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H))))))) :rule reordering :premises (t10))
% 0.37/0.55  (step t12 (cl (not (= (forall ((H tptp.heap) (M Int) (N Int)) (=> (= M (+ 1 (tptp.length H))) (= (tptp.sel (tptp.app H N) M) N))) (forall ((H tptp.heap) (N Int)) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H))))))) (not (forall ((H tptp.heap) (M Int) (N Int)) (=> (= M (+ 1 (tptp.length H))) (= (tptp.sel (tptp.app H N) M) N)))) (forall ((H tptp.heap) (N Int)) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H)))))) :rule equiv_pos2)
% 0.37/0.55  (anchor :step t13 :args ((H tptp.heap) (:= H H) (M Int) (:= M M) (N Int) (:= N N)))
% 0.37/0.55  (step t13.t1 (cl (= H H)) :rule refl)
% 0.37/0.55  (step t13.t2 (cl (= M M)) :rule refl)
% 0.37/0.55  (step t13.t3 (cl (= N N)) :rule refl)
% 0.37/0.55  (step t13.t4 (cl (= (= M (+ 1 (tptp.length H))) (= M (+ 1 (tptp.length H))))) :rule refl)
% 0.37/0.55  (step t13.t5 (cl (= (= (tptp.sel (tptp.app H N) M) N) (= N (tptp.sel (tptp.app H N) M)))) :rule all_simplify)
% 0.37/0.55  (step t13.t6 (cl (= (=> (= M (+ 1 (tptp.length H))) (= (tptp.sel (tptp.app H N) M) N)) (=> (= M (+ 1 (tptp.length H))) (= N (tptp.sel (tptp.app H N) M))))) :rule cong :premises (t13.t4 t13.t5))
% 0.37/0.55  (step t13 (cl (= (forall ((H tptp.heap) (M Int) (N Int)) (=> (= M (+ 1 (tptp.length H))) (= (tptp.sel (tptp.app H N) M) N))) (forall ((H tptp.heap) (M Int) (N Int)) (=> (= M (+ 1 (tptp.length H))) (= N (tptp.sel (tptp.app H N) M)))))) :rule bind)
% 0.37/0.55  (step t14 (cl (= (forall ((H tptp.heap) (M Int) (N Int)) (=> (= M (+ 1 (tptp.length H))) (= N (tptp.sel (tptp.app H N) M)))) (forall ((H tptp.heap) (M Int) (N Int)) (or (not (= M (+ 1 (tptp.length H)))) (= N (tptp.sel (tptp.app H N) M)))))) :rule all_simplify)
% 0.37/0.55  (step t15 (cl (= (forall ((H tptp.heap) (M Int) (N Int)) (or (not (= M (+ 1 (tptp.length H)))) (= N (tptp.sel (tptp.app H N) M)))) (forall ((H tptp.heap) (N Int)) (or (not (= (+ 1 (tptp.length H)) (+ 1 (tptp.length H)))) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H)))))))) :rule all_simplify)
% 0.37/0.55  (anchor :step t16 :args ((H tptp.heap) (:= H H) (N Int) (:= N N)))
% 0.37/0.55  (step t16.t1 (cl (= H H)) :rule refl)
% 0.37/0.55  (step t16.t2 (cl (= N N)) :rule refl)
% 0.37/0.55  (step t16.t3 (cl (= (= (+ 1 (tptp.length H)) (+ 1 (tptp.length H))) true)) :rule all_simplify)
% 0.37/0.55  (step t16.t4 (cl (= (not (= (+ 1 (tptp.length H)) (+ 1 (tptp.length H)))) (not true))) :rule cong :premises (t16.t3))
% 0.37/0.55  (step t16.t5 (cl (= (not true) false)) :rule all_simplify)
% 0.37/0.55  (step t16.t6 (cl (= (not (= (+ 1 (tptp.length H)) (+ 1 (tptp.length H)))) false)) :rule trans :premises (t16.t4 t16.t5))
% 0.37/0.55  (step t16.t7 (cl (= (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H)))) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H)))))) :rule refl)
% 0.37/0.55  (step t16.t8 (cl (= (or (not (= (+ 1 (tptp.length H)) (+ 1 (tptp.length H)))) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H))))) (or false (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H))))))) :rule cong :premises (t16.t6 t16.t7))
% 0.37/0.55  (step t16.t9 (cl (= (or false (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H))))) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H)))))) :rule all_simplify)
% 0.37/0.55  (step t16.t10 (cl (= (or (not (= (+ 1 (tptp.length H)) (+ 1 (tptp.length H)))) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H))))) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H)))))) :rule trans :premises (t16.t8 t16.t9))
% 0.37/0.55  (step t16 (cl (= (forall ((H tptp.heap) (N Int)) (or (not (= (+ 1 (tptp.length H)) (+ 1 (tptp.length H)))) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H)))))) (forall ((H tptp.heap) (N Int)) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H))))))) :rule bind)
% 0.37/0.55  (step t17 (cl (= (forall ((H tptp.heap) (M Int) (N Int)) (or (not (= M (+ 1 (tptp.length H)))) (= N (tptp.sel (tptp.app H N) M)))) (forall ((H tptp.heap) (N Int)) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H))))))) :rule trans :premises (t15 t16))
% 0.37/0.55  (step t18 (cl (= (forall ((H tptp.heap) (M Int) (N Int)) (=> (= M (+ 1 (tptp.length H))) (= N (tptp.sel (tptp.app H N) M)))) (forall ((H tptp.heap) (N Int)) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H))))))) :rule trans :premises (t14 t17))
% 0.37/0.55  (step t19 (cl (= (forall ((H tptp.heap) (M Int) (N Int)) (=> (= M (+ 1 (tptp.length H))) (= (tptp.sel (tptp.app H N) M) N))) (forall ((H tptp.heap) (N Int)) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H))))))) :rule trans :premises (t13 t18))
% 0.37/0.55  (step t20 (cl (forall ((H tptp.heap) (N Int)) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H)))))) :rule resolution :premises (t12 t19 a1))
% 0.37/0.55  (step t21 (cl (forall ((N Int) (H tptp.heap)) (= N (tptp.sel (tptp.app H N) (+ 1 (tptp.length H)))))) :rule resolution :premises (t11 t20))
% 0.37/0.55  (step t22 (cl) :rule resolution :premises (t8 t21))
% 0.37/0.55  
% 0.37/0.55  % SZS output end Proof for /export/starexec/sandbox/tmp/tmp.ndEA326f6z/cvc5---1.0.5_474.smt2
% 0.37/0.55  % cvc5---1.0.5 exiting
% 0.37/0.56  % cvc5---1.0.5 exiting
%------------------------------------------------------------------------------