TSTP Solution File: DAT088_1 by cvc5---1.0.5

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cvc5---1.0.5
% Problem  : DAT088_1 : TPTP v8.2.0. Released v6.1.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:43:00 EDT 2024

% Result   : Theorem 0.22s 0.57s
% Output   : Proof 0.22s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.13  % Problem    : DAT088_1 : TPTP v8.2.0. Released v6.1.0.
% 0.07/0.15  % Command    : do_cvc5 %s %d
% 0.15/0.36  % Computer : n014.cluster.edu
% 0.15/0.36  % Model    : x86_64 x86_64
% 0.15/0.36  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.15/0.36  % Memory   : 8042.1875MB
% 0.15/0.36  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.15/0.36  % CPULimit   : 300
% 0.15/0.36  % WCLimit    : 300
% 0.15/0.36  % DateTime   : Mon May 27 17:30:09 EDT 2024
% 0.15/0.36  % CPUTime    : 
% 0.22/0.51  %----Proving TF0_ARI
% 0.22/0.57  --- Run --finite-model-find --decision=internal at 15...
% 0.22/0.57  % SZS status Theorem for /export/starexec/sandbox/tmp/tmp.kR3LkYLI4z/cvc5---1.0.5_5790.smt2
% 0.22/0.57  % SZS output start Proof for /export/starexec/sandbox/tmp/tmp.kR3LkYLI4z/cvc5---1.0.5_5790.smt2
% 0.22/0.57  (assume a0 (forall ((K Int) (L tptp.list)) (= (tptp.head (tptp.cons K L)) K)))
% 0.22/0.57  (assume a1 (forall ((K Int) (L tptp.list)) (= (tptp.tail (tptp.cons K L)) L)))
% 0.22/0.57  (assume a2 (forall ((L tptp.list)) (or (= L tptp.nil) (= L (tptp.cons (tptp.head L) (tptp.tail L))))))
% 0.22/0.57  (assume a3 (forall ((K Int) (L tptp.list)) (not (= (tptp.cons K L) tptp.nil))))
% 0.22/0.57  (assume a4 (forall ((X Int) (L tptp.list)) (= (tptp.in X L) (or (exists ((H Int) (T tptp.list)) (and (= L (tptp.cons H T)) (= X H))) (exists ((H Int) (T tptp.list)) (and (= L (tptp.cons H T)) (tptp.in X T)))))))
% 0.22/0.57  (assume a5 (forall ((N Int) (L tptp.list)) (= (tptp.inRange N L) (or (= L tptp.nil) (exists ((K Int) (T tptp.list)) (and (= L (tptp.cons K T)) (<= 0 K) (< K N) (tptp.inRange N T)))))))
% 0.22/0.57  (assume a6 (= (tptp.length tptp.nil) 0))
% 0.22/0.57  (assume a7 (forall ((H Int) (T tptp.list)) (= (tptp.length (tptp.cons H T)) (+ 1 (tptp.length T)))))
% 0.22/0.57  (assume a8 (forall ((K Int)) (= (tptp.count K tptp.nil) 0)))
% 0.22/0.57  (assume a9 (forall ((K Int) (H Int) (T tptp.list) (N Int)) (=> (not (= K H)) (= (tptp.count K (tptp.cons H T)) (tptp.count K T)))))
% 0.22/0.57  (assume a10 (forall ((K Int) (H Int) (T tptp.list) (N Int)) (=> (= K H) (= (tptp.count K (tptp.cons H T)) (+ (tptp.count K T) 1)))))
% 0.22/0.57  (assume a11 (forall ((L tptp.list)) (= (tptp.append tptp.nil L) L)))
% 0.22/0.57  (assume a12 (forall ((I Int) (K tptp.list) (L tptp.list)) (= (tptp.append (tptp.cons I K) L) (tptp.cons I (tptp.append K L)))))
% 0.22/0.57  (assume a13 (forall ((N Int) (L tptp.list)) (= (tptp.in N L) (> (tptp.count N L) 0))))
% 0.22/0.57  (assume a14 (not (not (forall ((N Int) (L tptp.list)) (=> (not (= L tptp.nil)) (= (tptp.count N L) (tptp.count N (tptp.tail L))))))))
% 0.22/0.57  (assume a15 true)
% 0.22/0.57  (step t1 (cl (not (= (=> (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))) (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))))) (not (=> (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))) (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))))) (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))))) :rule equiv_pos2)
% 0.22/0.57  (step t2 (cl (= (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))) (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))))) :rule refl)
% 0.22/0.57  (step t3 (cl (= (= (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) false) (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))))) :rule equiv_simplify)
% 0.22/0.57  (step t4 (cl (= (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) false) (not (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))))) :rule equiv2 :premises (t3))
% 0.22/0.57  (step t5 (cl (not (not (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))))) (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) :rule not_not)
% 0.22/0.57  (step t6 (cl (= (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) false) (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) :rule resolution :premises (t4 t5))
% 0.22/0.57  (step t7 (cl (=> (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) false) (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) :rule implies_neg1)
% 0.22/0.57  (anchor :step t8)
% 0.22/0.57  (assume t8.a0 (= (tptp.length tptp.nil) 0))
% 0.22/0.57  (assume t8.a1 (= (tptp.count 0 tptp.nil) 0))
% 0.22/0.57  (assume t8.a2 (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0))
% 0.22/0.57  (assume t8.a3 (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))
% 0.22/0.57  (assume t8.a4 (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))
% 0.22/0.57  (step t8.t1 (cl (not (= (= false true) false)) (not (= false true)) false) :rule equiv_pos2)
% 0.22/0.57  (step t8.t2 (cl (= (= false true) false)) :rule all_simplify)
% 0.22/0.57  (step t8.t3 (cl (= (= (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))) false) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) :rule equiv_simplify)
% 0.22/0.57  (step t8.t4 (cl (= (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))) false) (not (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) :rule equiv2 :premises (t8.t3))
% 0.22/0.57  (step t8.t5 (cl (not (not (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))) :rule not_not)
% 0.22/0.57  (step t8.t6 (cl (= (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))) false) (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))) :rule resolution :premises (t8.t4 t8.t5))
% 0.22/0.57  (step t8.t7 (cl (= (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))) false)) :rule resolution :premises (t8.t6 t8.a4))
% 0.22/0.57  (step t8.t8 (cl (= false (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) :rule symm :premises (t8.t7))
% 0.22/0.57  (step t8.t9 (cl (= (= (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))) true) (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) :rule equiv_simplify)
% 0.22/0.57  (step t8.t10 (cl (= (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))) true) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) :rule equiv2 :premises (t8.t9))
% 0.22/0.57  (step t8.t11 (cl (= 0 (tptp.count 0 tptp.nil))) :rule symm :premises (t8.a1))
% 0.22/0.57  (step t8.t12 (cl (= (tptp.count 0 tptp.nil) 0)) :rule symm :premises (t8.t11))
% 0.22/0.57  (step t8.t13 (cl (= 0 (tptp.length tptp.nil))) :rule symm :premises (t8.a0))
% 0.22/0.57  (step t8.t14 (cl (= (tptp.count 0 tptp.nil) (tptp.length tptp.nil))) :rule trans :premises (t8.t12 t8.t13))
% 0.22/0.57  (step t8.t15 (cl (= (tptp.length tptp.nil) 0)) :rule symm :premises (t8.t13))
% 0.22/0.57  (step t8.t16 (cl (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) (tptp.count 0 (tptp.cons 0 tptp.nil)))) :rule symm :premises (t8.a3))
% 0.22/0.57  (step t8.t17 (cl (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))) :rule symm :premises (t8.t16))
% 0.22/0.57  (step t8.t18 (cl (= 0 (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))) :rule symm :premises (t8.a2))
% 0.22/0.57  (step t8.t19 (cl (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0)) :rule symm :premises (t8.t18))
% 0.22/0.57  (step t8.t20 (cl (= (tptp.count 0 (tptp.cons 0 tptp.nil)) 0)) :rule trans :premises (t8.t17 t8.t19))
% 0.22/0.57  (step t8.t21 (cl (= 0 (tptp.count 0 (tptp.cons 0 tptp.nil)))) :rule symm :premises (t8.t20))
% 0.22/0.57  (step t8.t22 (cl (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))) :rule trans :premises (t8.t14 t8.t15 t8.t21))
% 0.22/0.57  (step t8.t23 (cl (= (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))) true)) :rule resolution :premises (t8.t10 t8.t22))
% 0.22/0.57  (step t8.t24 (cl (= false true)) :rule trans :premises (t8.t8 t8.t23))
% 0.22/0.57  (step t8.t25 (cl false) :rule resolution :premises (t8.t1 t8.t2 t8.t24))
% 0.22/0.57  (step t8 (cl (not (= (tptp.length tptp.nil) 0)) (not (= (tptp.count 0 tptp.nil) 0)) (not (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0)) (not (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))) (not (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) false) :rule subproof :discharge (t8.a0 t8.a1 t8.a2 t8.a3 t8.a4))
% 0.22/0.57  (step t9 (cl (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (= (tptp.length tptp.nil) 0)) :rule and_pos)
% 0.22/0.57  (step t10 (cl (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (= (tptp.count 0 tptp.nil) 0)) :rule and_pos)
% 0.22/0.57  (step t11 (cl (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0)) :rule and_pos)
% 0.22/0.57  (step t12 (cl (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))) :rule and_pos)
% 0.22/0.57  (step t13 (cl (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) :rule and_pos)
% 0.22/0.57  (step t14 (cl false (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))))) :rule resolution :premises (t8 t9 t10 t11 t12 t13))
% 0.22/0.57  (step t15 (cl (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) false) :rule reordering :premises (t14))
% 0.22/0.57  (step t16 (cl (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) false) :rule contraction :premises (t15))
% 0.22/0.57  (step t17 (cl (=> (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) false) false) :rule resolution :premises (t7 t16))
% 0.22/0.57  (step t18 (cl (=> (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) false) (not false)) :rule implies_neg2)
% 0.22/0.57  (step t19 (cl (=> (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) false) (=> (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) false)) :rule resolution :premises (t17 t18))
% 0.22/0.57  (step t20 (cl (=> (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) false)) :rule contraction :premises (t19))
% 0.22/0.57  (step t21 (cl (= (=> (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) false) (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))))) :rule implies_simplify)
% 0.22/0.57  (step t22 (cl (not (=> (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) false)) (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))))) :rule equiv1 :premises (t21))
% 0.22/0.57  (step t23 (cl (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))))) :rule resolution :premises (t20 t22))
% 0.22/0.57  (step t24 (cl (= (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) false)) :rule resolution :premises (t6 t23))
% 0.22/0.57  (step t25 (cl (= (=> (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))) (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (=> (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))) false))) :rule cong :premises (t2 t24))
% 0.22/0.57  (step t26 (cl (= (=> (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))) false) (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))))) :rule all_simplify)
% 0.22/0.57  (step t27 (cl (= (=> (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))) (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))))) :rule trans :premises (t25 t26))
% 0.22/0.57  (step t28 (cl (=> (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))) (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) :rule implies_neg1)
% 0.22/0.57  (anchor :step t29)
% 0.22/0.57  (assume t29.a0 (= (tptp.length tptp.nil) 0))
% 0.22/0.57  (assume t29.a1 (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))))
% 0.22/0.57  (assume t29.a2 (= (tptp.count 0 tptp.nil) 0))
% 0.22/0.57  (assume t29.a3 (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))))
% 0.22/0.57  (assume t29.a4 (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))
% 0.22/0.57  (step t29.t1 (cl (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) (not (= (tptp.length tptp.nil) 0)) (not (= (tptp.count 0 tptp.nil) 0)) (not (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0)) (not (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))) (not (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) :rule and_neg)
% 0.22/0.57  (step t29.t2 (cl (=> (and (= 0 (tptp.count 0 tptp.nil)) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0)) (and (= 0 (tptp.count 0 tptp.nil)) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))))) :rule implies_neg1)
% 0.22/0.57  (anchor :step t29.t3)
% 0.22/0.57  (assume t29.t3.a0 (= 0 (tptp.count 0 tptp.nil)))
% 0.22/0.57  (assume t29.t3.a1 (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))))
% 0.22/0.57  (step t29.t3.t1 (cl (= 0 0)) :rule refl)
% 0.22/0.57  (step t29.t3.t2 (cl (= (tptp.tail (tptp.cons 0 tptp.nil)) tptp.nil)) :rule symm :premises (t29.t3.a1))
% 0.22/0.57  (step t29.t3.t3 (cl (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) (tptp.count 0 tptp.nil))) :rule cong :premises (t29.t3.t1 t29.t3.t2))
% 0.22/0.57  (step t29.t3.t4 (cl (= (tptp.count 0 tptp.nil) 0)) :rule symm :premises (t29.t3.a0))
% 0.22/0.57  (step t29.t3.t5 (cl (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0)) :rule trans :premises (t29.t3.t3 t29.t3.t4))
% 0.22/0.57  (step t29.t3 (cl (not (= 0 (tptp.count 0 tptp.nil))) (not (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0)) :rule subproof :discharge (t29.t3.a0 t29.t3.a1))
% 0.22/0.57  (step t29.t4 (cl (not (and (= 0 (tptp.count 0 tptp.nil)) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))))) (= 0 (tptp.count 0 tptp.nil))) :rule and_pos)
% 0.22/0.57  (step t29.t5 (cl (not (and (= 0 (tptp.count 0 tptp.nil)) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))))) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil)))) :rule and_pos)
% 0.22/0.57  (step t29.t6 (cl (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (not (and (= 0 (tptp.count 0 tptp.nil)) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))))) (not (and (= 0 (tptp.count 0 tptp.nil)) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil)))))) :rule resolution :premises (t29.t3 t29.t4 t29.t5))
% 0.22/0.57  (step t29.t7 (cl (not (and (= 0 (tptp.count 0 tptp.nil)) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))))) (not (and (= 0 (tptp.count 0 tptp.nil)) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))))) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0)) :rule reordering :premises (t29.t6))
% 0.22/0.57  (step t29.t8 (cl (not (and (= 0 (tptp.count 0 tptp.nil)) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))))) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0)) :rule contraction :premises (t29.t7))
% 0.22/0.57  (step t29.t9 (cl (=> (and (= 0 (tptp.count 0 tptp.nil)) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0)) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0)) :rule resolution :premises (t29.t2 t29.t8))
% 0.22/0.57  (step t29.t10 (cl (=> (and (= 0 (tptp.count 0 tptp.nil)) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0)) (not (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0))) :rule implies_neg2)
% 0.22/0.57  (step t29.t11 (cl (=> (and (= 0 (tptp.count 0 tptp.nil)) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0)) (=> (and (= 0 (tptp.count 0 tptp.nil)) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0))) :rule resolution :premises (t29.t9 t29.t10))
% 0.22/0.57  (step t29.t12 (cl (=> (and (= 0 (tptp.count 0 tptp.nil)) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0))) :rule contraction :premises (t29.t11))
% 0.22/0.57  (step t29.t13 (cl (not (and (= 0 (tptp.count 0 tptp.nil)) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))))) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0)) :rule implies :premises (t29.t12))
% 0.22/0.57  (step t29.t14 (cl (and (= 0 (tptp.count 0 tptp.nil)) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= 0 (tptp.count 0 tptp.nil))) (not (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))))) :rule and_neg)
% 0.22/0.57  (step t29.t15 (cl (=> (= (tptp.count 0 tptp.nil) 0) (= 0 (tptp.count 0 tptp.nil))) (= (tptp.count 0 tptp.nil) 0)) :rule implies_neg1)
% 0.22/0.57  (anchor :step t29.t16)
% 0.22/0.57  (assume t29.t16.a0 (= (tptp.count 0 tptp.nil) 0))
% 0.22/0.57  (step t29.t16.t1 (cl (= 0 (tptp.count 0 tptp.nil))) :rule symm :premises (t29.t16.a0))
% 0.22/0.57  (step t29.t16.t2 (cl (= (tptp.count 0 tptp.nil) 0)) :rule symm :premises (t29.t16.t1))
% 0.22/0.57  (step t29.t16.t3 (cl (= 0 (tptp.count 0 tptp.nil))) :rule symm :premises (t29.t16.t2))
% 0.22/0.57  (step t29.t16 (cl (not (= (tptp.count 0 tptp.nil) 0)) (= 0 (tptp.count 0 tptp.nil))) :rule subproof :discharge (t29.t16.a0))
% 0.22/0.57  (step t29.t17 (cl (=> (= (tptp.count 0 tptp.nil) 0) (= 0 (tptp.count 0 tptp.nil))) (= 0 (tptp.count 0 tptp.nil))) :rule resolution :premises (t29.t15 t29.t16))
% 0.22/0.57  (step t29.t18 (cl (=> (= (tptp.count 0 tptp.nil) 0) (= 0 (tptp.count 0 tptp.nil))) (not (= 0 (tptp.count 0 tptp.nil)))) :rule implies_neg2)
% 0.22/0.57  (step t29.t19 (cl (=> (= (tptp.count 0 tptp.nil) 0) (= 0 (tptp.count 0 tptp.nil))) (=> (= (tptp.count 0 tptp.nil) 0) (= 0 (tptp.count 0 tptp.nil)))) :rule resolution :premises (t29.t17 t29.t18))
% 0.22/0.57  (step t29.t20 (cl (=> (= (tptp.count 0 tptp.nil) 0) (= 0 (tptp.count 0 tptp.nil)))) :rule contraction :premises (t29.t19))
% 0.22/0.57  (step t29.t21 (cl (not (= (tptp.count 0 tptp.nil) 0)) (= 0 (tptp.count 0 tptp.nil))) :rule implies :premises (t29.t20))
% 0.22/0.57  (step t29.t22 (cl (= 0 (tptp.count 0 tptp.nil))) :rule resolution :premises (t29.t21 t29.a2))
% 0.22/0.57  (step t29.t23 (cl (and (= 0 (tptp.count 0 tptp.nil)) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))))) :rule resolution :premises (t29.t14 t29.t22 t29.a3))
% 0.22/0.57  (step t29.t24 (cl (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0)) :rule resolution :premises (t29.t13 t29.t23))
% 0.22/0.57  (step t29.t25 (cl (=> (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))) :rule implies_neg1)
% 0.22/0.57  (anchor :step t29.t26)
% 0.22/0.57  (assume t29.t26.a0 (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))))
% 0.22/0.57  (step t29.t26.t1 (cl (=> (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))) false) (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))) :rule implies_neg1)
% 0.22/0.57  (anchor :step t29.t26.t2)
% 0.22/0.57  (assume t29.t26.t2.a0 (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))
% 0.22/0.57  (step t29.t26.t2.t1 (cl (not (= (<= (+ (* (- 1) (tptp.count 0 tptp.nil)) (* 1 (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (+ (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))) (* 1 (- 1)))) false)) (not (<= (+ (* (- 1) (tptp.count 0 tptp.nil)) (* 1 (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (+ (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))) (* 1 (- 1))))) false) :rule equiv_pos2)
% 0.22/0.57  (step t29.t26.t2.t2 (cl (= (* (- 1) (tptp.count 0 tptp.nil)) (* (- 1) (tptp.count 0 tptp.nil)))) :rule refl)
% 0.22/0.57  (step t29.t26.t2.t3 (cl (= (* 1 (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))) (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) :rule all_simplify)
% 0.22/0.57  (step t29.t26.t2.t4 (cl (= (+ (* (- 1) (tptp.count 0 tptp.nil)) (* 1 (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (+ (* (- 1) (tptp.count 0 tptp.nil)) (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))))) :rule cong :premises (t29.t26.t2.t2 t29.t26.t2.t3))
% 0.22/0.57  (step t29.t26.t2.t5 (cl (= (+ (* (- 1) (tptp.count 0 tptp.nil)) (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))) :rule all_simplify)
% 0.22/0.57  (step t29.t26.t2.t6 (cl (= (+ (* (- 1) (tptp.count 0 tptp.nil)) (* 1 (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))) :rule trans :premises (t29.t26.t2.t4 t29.t26.t2.t5))
% 0.22/0.57  (step t29.t26.t2.t7 (cl (= (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))) :rule refl)
% 0.22/0.57  (step t29.t26.t2.t8 (cl (= (* 1 (- 1)) (- 1))) :rule all_simplify)
% 0.22/0.57  (step t29.t26.t2.t9 (cl (= (+ (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))) (* 1 (- 1))) (+ (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))) (- 1)))) :rule cong :premises (t29.t26.t2.t7 t29.t26.t2.t8))
% 0.22/0.57  (step t29.t26.t2.t10 (cl (= (+ (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))) (- 1)) (+ (- 1) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) :rule all_simplify)
% 0.22/0.57  (step t29.t26.t2.t11 (cl (= (+ (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))) (* 1 (- 1))) (+ (- 1) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) :rule trans :premises (t29.t26.t2.t9 t29.t26.t2.t10))
% 0.22/0.57  (step t29.t26.t2.t12 (cl (= (<= (+ (* (- 1) (tptp.count 0 tptp.nil)) (* 1 (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (+ (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))) (* 1 (- 1)))) (<= (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))) (+ (- 1) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))))) :rule cong :premises (t29.t26.t2.t6 t29.t26.t2.t11))
% 0.22/0.57  (step t29.t26.t2.t13 (cl (= (<= (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))) (+ (- 1) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))) false)) :rule all_simplify)
% 0.22/0.57  (step t29.t26.t2.t14 (cl (= (<= (+ (* (- 1) (tptp.count 0 tptp.nil)) (* 1 (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (+ (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))) (* 1 (- 1)))) false)) :rule trans :premises (t29.t26.t2.t12 t29.t26.t2.t13))
% 0.22/0.57  (step t29.t26.t2.t15 (cl (not (= (* (- 1) (tptp.count 0 tptp.nil)) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))) (not (= (* 1 (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))) (* 1 (- 1)))) (<= (+ (* (- 1) (tptp.count 0 tptp.nil)) (* 1 (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (+ (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))) (* 1 (- 1))))) :rule la_generic :args ((- 1) (- 1) 1))
% 0.22/0.57  (step t29.t26.t2.t16 (cl (=> (and (< (- 1) 0) (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (* (- 1) (tptp.count 0 tptp.nil)) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) :rule la_mult_neg)
% 0.22/0.57  (step t29.t26.t2.t17 (cl (not (and (< (- 1) 0) (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) (= (* (- 1) (tptp.count 0 tptp.nil)) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))) :rule implies :premises (t29.t26.t2.t16))
% 0.22/0.57  (step t29.t26.t2.t18 (cl (and (< (- 1) 0) (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (not (< (- 1) 0)) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) :rule and_neg)
% 0.22/0.57  (step t29.t26.t2.t19 (cl (= (= (< (- 1) 0) true) (< (- 1) 0))) :rule equiv_simplify)
% 0.22/0.57  (step t29.t26.t2.t20 (cl (not (= (< (- 1) 0) true)) (< (- 1) 0)) :rule equiv1 :premises (t29.t26.t2.t19))
% 0.22/0.57  (step t29.t26.t2.t21 (cl (= (< (- 1) 0) true)) :rule hole :args ((< (- 1) 0)))
% 0.22/0.57  (step t29.t26.t2.t22 (cl (< (- 1) 0)) :rule resolution :premises (t29.t26.t2.t20 t29.t26.t2.t21))
% 0.22/0.57  (step t29.t26.t2.t23 (cl (and (< (- 1) 0) (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) :rule resolution :premises (t29.t26.t2.t18 t29.t26.t2.t22 t29.t26.t2.a0))
% 0.22/0.57  (step t29.t26.t2.t24 (cl (= (* (- 1) (tptp.count 0 tptp.nil)) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))) :rule resolution :premises (t29.t26.t2.t17 t29.t26.t2.t23))
% 0.22/0.57  (step t29.t26.t2.t25 (cl (=> (and (> 1 0) (= (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (- 1))) (= (* 1 (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))) (* 1 (- 1))))) :rule la_mult_pos)
% 0.22/0.57  (step t29.t26.t2.t26 (cl (not (and (> 1 0) (= (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (- 1)))) (= (* 1 (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))) (* 1 (- 1)))) :rule implies :premises (t29.t26.t2.t25))
% 0.22/0.57  (step t29.t26.t2.t27 (cl (and (> 1 0) (= (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (- 1))) (not (> 1 0)) (not (= (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (- 1)))) :rule and_neg)
% 0.22/0.57  (step t29.t26.t2.t28 (cl (= (= (> 1 0) true) (> 1 0))) :rule equiv_simplify)
% 0.22/0.57  (step t29.t26.t2.t29 (cl (not (= (> 1 0) true)) (> 1 0)) :rule equiv1 :premises (t29.t26.t2.t28))
% 0.22/0.57  (step t29.t26.t2.t30 (cl (= (> 1 0) true)) :rule hole :args ((> 1 0)))
% 0.22/0.57  (step t29.t26.t2.t31 (cl (> 1 0)) :rule resolution :premises (t29.t26.t2.t29 t29.t26.t2.t30))
% 0.22/0.57  (step t29.t26.t2.t32 (cl (not (= (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (- 1)))) (not (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))) (= (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (- 1))) :rule equiv_pos2)
% 0.22/0.57  (step t29.t26.t2.t33 (cl (= (= (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (- 1)) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) :rule all_simplify)
% 0.22/0.57  (step t29.t26.t2.t34 (cl (= (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (- 1)))) :rule symm :premises (t29.t26.t2.t33))
% 0.22/0.57  (step t29.t26.t2.t35 (cl (= (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (- 1))) :rule resolution :premises (t29.t26.t2.t32 t29.t26.t2.t34 t29.t26.a0))
% 0.22/0.57  (step t29.t26.t2.t36 (cl (and (> 1 0) (= (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (- 1)))) :rule resolution :premises (t29.t26.t2.t27 t29.t26.t2.t31 t29.t26.t2.t35))
% 0.22/0.57  (step t29.t26.t2.t37 (cl (= (* 1 (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))) (* 1 (- 1)))) :rule resolution :premises (t29.t26.t2.t26 t29.t26.t2.t36))
% 0.22/0.57  (step t29.t26.t2.t38 (cl (<= (+ (* (- 1) (tptp.count 0 tptp.nil)) (* 1 (+ (tptp.count 0 tptp.nil) (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (+ (* (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))) (* 1 (- 1))))) :rule resolution :premises (t29.t26.t2.t15 t29.t26.t2.t24 t29.t26.t2.t37))
% 0.22/0.57  (step t29.t26.t2.t39 (cl false) :rule resolution :premises (t29.t26.t2.t1 t29.t26.t2.t14 t29.t26.t2.t38))
% 0.22/0.57  (step t29.t26.t2 (cl (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))) false) :rule subproof :discharge (t29.t26.t2.a0))
% 0.22/0.57  (step t29.t26.t3 (cl (=> (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))) false) false) :rule resolution :premises (t29.t26.t1 t29.t26.t2))
% 0.22/0.57  (step t29.t26.t4 (cl (=> (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))) false) (not false)) :rule implies_neg2)
% 0.22/0.57  (step t29.t26.t5 (cl (=> (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))) false) (=> (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))) false)) :rule resolution :premises (t29.t26.t3 t29.t26.t4))
% 0.22/0.57  (step t29.t26.t6 (cl (=> (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))) false)) :rule contraction :premises (t29.t26.t5))
% 0.22/0.57  (step t29.t26.t7 (cl (= (=> (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))) false) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) :rule implies_simplify)
% 0.22/0.57  (step t29.t26.t8 (cl (not (=> (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))) false)) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) :rule equiv1 :premises (t29.t26.t7))
% 0.22/0.57  (step t29.t26.t9 (cl (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) :rule resolution :premises (t29.t26.t6 t29.t26.t8))
% 0.22/0.57  (step t29.t26 (cl (not (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) :rule subproof :discharge (t29.t26.a0))
% 0.22/0.57  (step t29.t27 (cl (=> (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) :rule resolution :premises (t29.t25 t29.t26))
% 0.22/0.57  (step t29.t28 (cl (=> (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) (not (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) :rule implies_neg2)
% 0.22/0.57  (step t29.t29 (cl (=> (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) (=> (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) :rule resolution :premises (t29.t27 t29.t28))
% 0.22/0.57  (step t29.t30 (cl (=> (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) :rule contraction :premises (t29.t29))
% 0.22/0.57  (step t29.t31 (cl (not (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) :rule implies :premises (t29.t30))
% 0.22/0.57  (step t29.t32 (cl (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) :rule resolution :premises (t29.t31 t29.a1))
% 0.22/0.57  (step t29.t33 (cl (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) :rule resolution :premises (t29.t1 t29.a0 t29.a2 t29.t24 t29.a4 t29.t32))
% 0.22/0.57  (step t29 (cl (not (= (tptp.length tptp.nil) 0)) (not (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))) (not (= (tptp.count 0 tptp.nil) 0)) (not (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))) (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) :rule subproof :discharge (t29.a0 t29.a1 t29.a2 t29.a3 t29.a4))
% 0.22/0.57  (step t30 (cl (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) (= (tptp.length tptp.nil) 0)) :rule and_pos)
% 0.22/0.57  (step t31 (cl (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))) :rule and_pos)
% 0.22/0.57  (step t32 (cl (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) (= (tptp.count 0 tptp.nil) 0)) :rule and_pos)
% 0.22/0.57  (step t33 (cl (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil)))) :rule and_pos)
% 0.22/0.57  (step t34 (cl (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))) :rule and_pos)
% 0.22/0.57  (step t35 (cl (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))) (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))))) :rule resolution :premises (t29 t30 t31 t32 t33 t34))
% 0.22/0.57  (step t36 (cl (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) :rule reordering :premises (t35))
% 0.22/0.57  (step t37 (cl (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) :rule contraction :premises (t36))
% 0.22/0.57  (step t38 (cl (=> (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))) (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) :rule resolution :premises (t28 t37))
% 0.22/0.57  (step t39 (cl (=> (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))) (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))))) :rule implies_neg2)
% 0.22/0.57  (step t40 (cl (=> (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))) (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) (=> (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))) (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))))) :rule resolution :premises (t38 t39))
% 0.22/0.57  (step t41 (cl (=> (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))) (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) 0) (= (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))) 0) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 tptp.nil) (tptp.count 0 (tptp.cons 0 tptp.nil))))))) :rule contraction :premises (t40))
% 0.22/0.57  (step t42 (cl (not (and (= (tptp.length tptp.nil) 0) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))) (= (tptp.count 0 tptp.nil) 0) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))))) :rule resolution :premises (t1 t27 t41))
% 0.22/0.57  (step t43 (cl (not (= (tptp.length tptp.nil) 0)) (not (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))) (not (= (tptp.count 0 tptp.nil) 0)) (not (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) :rule not_and :premises (t42))
% 0.22/0.57  (step t44 (cl (not (or (= tptp.nil (tptp.cons 0 tptp.nil)) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) (= tptp.nil (tptp.cons 0 tptp.nil)) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))) :rule or_pos)
% 0.22/0.57  (step t45 (cl (= tptp.nil (tptp.cons 0 tptp.nil)) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))) (not (or (= tptp.nil (tptp.cons 0 tptp.nil)) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))))) :rule reordering :premises (t44))
% 0.22/0.57  (step t46 (cl (=> (forall ((K Int) (L tptp.list)) (not (= tptp.nil (tptp.cons K L)))) (not (= tptp.nil (tptp.cons 0 tptp.nil)))) (forall ((K Int) (L tptp.list)) (not (= tptp.nil (tptp.cons K L))))) :rule implies_neg1)
% 0.22/0.57  (anchor :step t47)
% 0.22/0.57  (assume t47.a0 (forall ((K Int) (L tptp.list)) (not (= tptp.nil (tptp.cons K L)))))
% 0.22/0.57  (step t47.t1 (cl (or (not (forall ((K Int) (L tptp.list)) (not (= tptp.nil (tptp.cons K L))))) (not (= tptp.nil (tptp.cons 0 tptp.nil))))) :rule forall_inst :args ((:= K 0) (:= L tptp.nil)))
% 0.22/0.57  (step t47.t2 (cl (not (forall ((K Int) (L tptp.list)) (not (= tptp.nil (tptp.cons K L))))) (not (= tptp.nil (tptp.cons 0 tptp.nil)))) :rule or :premises (t47.t1))
% 0.22/0.57  (step t47.t3 (cl (not (= tptp.nil (tptp.cons 0 tptp.nil)))) :rule resolution :premises (t47.t2 t47.a0))
% 0.22/0.57  (step t47 (cl (not (forall ((K Int) (L tptp.list)) (not (= tptp.nil (tptp.cons K L))))) (not (= tptp.nil (tptp.cons 0 tptp.nil)))) :rule subproof :discharge (t47.a0))
% 0.22/0.57  (step t48 (cl (=> (forall ((K Int) (L tptp.list)) (not (= tptp.nil (tptp.cons K L)))) (not (= tptp.nil (tptp.cons 0 tptp.nil)))) (not (= tptp.nil (tptp.cons 0 tptp.nil)))) :rule resolution :premises (t46 t47))
% 0.22/0.57  (step t49 (cl (=> (forall ((K Int) (L tptp.list)) (not (= tptp.nil (tptp.cons K L)))) (not (= tptp.nil (tptp.cons 0 tptp.nil)))) (not (not (= tptp.nil (tptp.cons 0 tptp.nil))))) :rule implies_neg2)
% 0.22/0.57  (step t50 (cl (=> (forall ((K Int) (L tptp.list)) (not (= tptp.nil (tptp.cons K L)))) (not (= tptp.nil (tptp.cons 0 tptp.nil)))) (=> (forall ((K Int) (L tptp.list)) (not (= tptp.nil (tptp.cons K L)))) (not (= tptp.nil (tptp.cons 0 tptp.nil))))) :rule resolution :premises (t48 t49))
% 0.22/0.57  (step t51 (cl (=> (forall ((K Int) (L tptp.list)) (not (= tptp.nil (tptp.cons K L)))) (not (= tptp.nil (tptp.cons 0 tptp.nil))))) :rule contraction :premises (t50))
% 0.22/0.57  (step t52 (cl (not (forall ((K Int) (L tptp.list)) (not (= tptp.nil (tptp.cons K L))))) (not (= tptp.nil (tptp.cons 0 tptp.nil)))) :rule implies :premises (t51))
% 0.22/0.57  (step t53 (cl (not (= (forall ((K Int) (L tptp.list)) (not (= (tptp.cons K L) tptp.nil))) (forall ((K Int) (L tptp.list)) (not (= tptp.nil (tptp.cons K L)))))) (not (forall ((K Int) (L tptp.list)) (not (= (tptp.cons K L) tptp.nil)))) (forall ((K Int) (L tptp.list)) (not (= tptp.nil (tptp.cons K L))))) :rule equiv_pos2)
% 0.22/0.57  (anchor :step t54 :args ((K Int) (:= K K) (L tptp.list) (:= L L)))
% 0.22/0.57  (step t54.t1 (cl (= K K)) :rule refl)
% 0.22/0.57  (step t54.t2 (cl (= L L)) :rule refl)
% 0.22/0.57  (step t54.t3 (cl (= (= (tptp.cons K L) tptp.nil) (= tptp.nil (tptp.cons K L)))) :rule all_simplify)
% 0.22/0.57  (step t54.t4 (cl (= (not (= (tptp.cons K L) tptp.nil)) (not (= tptp.nil (tptp.cons K L))))) :rule cong :premises (t54.t3))
% 0.22/0.57  (step t54 (cl (= (forall ((K Int) (L tptp.list)) (not (= (tptp.cons K L) tptp.nil))) (forall ((K Int) (L tptp.list)) (not (= tptp.nil (tptp.cons K L)))))) :rule bind)
% 0.22/0.57  (step t55 (cl (forall ((K Int) (L tptp.list)) (not (= tptp.nil (tptp.cons K L))))) :rule resolution :premises (t53 t54 a3))
% 0.22/0.57  (step t56 (cl (not (= tptp.nil (tptp.cons 0 tptp.nil)))) :rule resolution :premises (t52 t55))
% 0.22/0.57  (step t57 (cl (=> (forall ((N Int) (L tptp.list)) (or (= tptp.nil L) (= (tptp.count N L) (tptp.count N (tptp.tail L))))) (or (= tptp.nil (tptp.cons 0 tptp.nil)) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) (forall ((N Int) (L tptp.list)) (or (= tptp.nil L) (= (tptp.count N L) (tptp.count N (tptp.tail L)))))) :rule implies_neg1)
% 0.22/0.57  (anchor :step t58)
% 0.22/0.57  (assume t58.a0 (forall ((N Int) (L tptp.list)) (or (= tptp.nil L) (= (tptp.count N L) (tptp.count N (tptp.tail L))))))
% 0.22/0.57  (step t58.t1 (cl (or (not (forall ((N Int) (L tptp.list)) (or (= tptp.nil L) (= (tptp.count N L) (tptp.count N (tptp.tail L)))))) (or (= tptp.nil (tptp.cons 0 tptp.nil)) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))))) :rule forall_inst :args ((:= N 0) (:= L (tptp.cons 0 tptp.nil))))
% 0.22/0.57  (step t58.t2 (cl (not (forall ((N Int) (L tptp.list)) (or (= tptp.nil L) (= (tptp.count N L) (tptp.count N (tptp.tail L)))))) (or (= tptp.nil (tptp.cons 0 tptp.nil)) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) :rule or :premises (t58.t1))
% 0.22/0.57  (step t58.t3 (cl (or (= tptp.nil (tptp.cons 0 tptp.nil)) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) :rule resolution :premises (t58.t2 t58.a0))
% 0.22/0.57  (step t58 (cl (not (forall ((N Int) (L tptp.list)) (or (= tptp.nil L) (= (tptp.count N L) (tptp.count N (tptp.tail L)))))) (or (= tptp.nil (tptp.cons 0 tptp.nil)) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) :rule subproof :discharge (t58.a0))
% 0.22/0.57  (step t59 (cl (=> (forall ((N Int) (L tptp.list)) (or (= tptp.nil L) (= (tptp.count N L) (tptp.count N (tptp.tail L))))) (or (= tptp.nil (tptp.cons 0 tptp.nil)) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) (or (= tptp.nil (tptp.cons 0 tptp.nil)) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) :rule resolution :premises (t57 t58))
% 0.22/0.57  (step t60 (cl (=> (forall ((N Int) (L tptp.list)) (or (= tptp.nil L) (= (tptp.count N L) (tptp.count N (tptp.tail L))))) (or (= tptp.nil (tptp.cons 0 tptp.nil)) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) (not (or (= tptp.nil (tptp.cons 0 tptp.nil)) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))))) :rule implies_neg2)
% 0.22/0.57  (step t61 (cl (=> (forall ((N Int) (L tptp.list)) (or (= tptp.nil L) (= (tptp.count N L) (tptp.count N (tptp.tail L))))) (or (= tptp.nil (tptp.cons 0 tptp.nil)) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) (=> (forall ((N Int) (L tptp.list)) (or (= tptp.nil L) (= (tptp.count N L) (tptp.count N (tptp.tail L))))) (or (= tptp.nil (tptp.cons 0 tptp.nil)) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))))) :rule resolution :premises (t59 t60))
% 0.22/0.57  (step t62 (cl (=> (forall ((N Int) (L tptp.list)) (or (= tptp.nil L) (= (tptp.count N L) (tptp.count N (tptp.tail L))))) (or (= tptp.nil (tptp.cons 0 tptp.nil)) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))))) :rule contraction :premises (t61))
% 0.22/0.57  (step t63 (cl (not (forall ((N Int) (L tptp.list)) (or (= tptp.nil L) (= (tptp.count N L) (tptp.count N (tptp.tail L)))))) (or (= tptp.nil (tptp.cons 0 tptp.nil)) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) :rule implies :premises (t62))
% 0.22/0.57  (step t64 (cl (not (= (not (not (forall ((N Int) (L tptp.list)) (=> (not (= L tptp.nil)) (= (tptp.count N L) (tptp.count N (tptp.tail L))))))) (forall ((N Int) (L tptp.list)) (or (= tptp.nil L) (= (tptp.count N L) (tptp.count N (tptp.tail L))))))) (not (not (not (forall ((N Int) (L tptp.list)) (=> (not (= L tptp.nil)) (= (tptp.count N L) (tptp.count N (tptp.tail L)))))))) (forall ((N Int) (L tptp.list)) (or (= tptp.nil L) (= (tptp.count N L) (tptp.count N (tptp.tail L)))))) :rule equiv_pos2)
% 0.22/0.57  (step t65 (cl (= (not (not (forall ((N Int) (L tptp.list)) (=> (not (= L tptp.nil)) (= (tptp.count N L) (tptp.count N (tptp.tail L))))))) (forall ((N Int) (L tptp.list)) (=> (not (= L tptp.nil)) (= (tptp.count N L) (tptp.count N (tptp.tail L))))))) :rule all_simplify)
% 0.22/0.57  (anchor :step t66 :args ((N Int) (:= N N) (L tptp.list) (:= L L)))
% 0.22/0.57  (step t66.t1 (cl (= N N)) :rule refl)
% 0.22/0.57  (step t66.t2 (cl (= L L)) :rule refl)
% 0.22/0.57  (step t66.t3 (cl (= (= L tptp.nil) (= tptp.nil L))) :rule all_simplify)
% 0.22/0.57  (step t66.t4 (cl (= (not (= L tptp.nil)) (not (= tptp.nil L)))) :rule cong :premises (t66.t3))
% 0.22/0.57  (step t66.t5 (cl (= (= (tptp.count N L) (tptp.count N (tptp.tail L))) (= (tptp.count N L) (tptp.count N (tptp.tail L))))) :rule refl)
% 0.22/0.57  (step t66.t6 (cl (= (=> (not (= L tptp.nil)) (= (tptp.count N L) (tptp.count N (tptp.tail L)))) (=> (not (= tptp.nil L)) (= (tptp.count N L) (tptp.count N (tptp.tail L)))))) :rule cong :premises (t66.t4 t66.t5))
% 0.22/0.57  (step t66 (cl (= (forall ((N Int) (L tptp.list)) (=> (not (= L tptp.nil)) (= (tptp.count N L) (tptp.count N (tptp.tail L))))) (forall ((N Int) (L tptp.list)) (=> (not (= tptp.nil L)) (= (tptp.count N L) (tptp.count N (tptp.tail L))))))) :rule bind)
% 0.22/0.57  (step t67 (cl (= (forall ((N Int) (L tptp.list)) (=> (not (= tptp.nil L)) (= (tptp.count N L) (tptp.count N (tptp.tail L))))) (forall ((N Int) (L tptp.list)) (or (= tptp.nil L) (= (tptp.count N L) (tptp.count N (tptp.tail L))))))) :rule all_simplify)
% 0.22/0.57  (step t68 (cl (= (forall ((N Int) (L tptp.list)) (=> (not (= L tptp.nil)) (= (tptp.count N L) (tptp.count N (tptp.tail L))))) (forall ((N Int) (L tptp.list)) (or (= tptp.nil L) (= (tptp.count N L) (tptp.count N (tptp.tail L))))))) :rule trans :premises (t66 t67))
% 0.22/0.57  (step t69 (cl (= (not (not (forall ((N Int) (L tptp.list)) (=> (not (= L tptp.nil)) (= (tptp.count N L) (tptp.count N (tptp.tail L))))))) (forall ((N Int) (L tptp.list)) (or (= tptp.nil L) (= (tptp.count N L) (tptp.count N (tptp.tail L))))))) :rule trans :premises (t65 t68))
% 0.22/0.57  (step t70 (cl (forall ((N Int) (L tptp.list)) (or (= tptp.nil L) (= (tptp.count N L) (tptp.count N (tptp.tail L)))))) :rule resolution :premises (t64 t69 a14))
% 0.22/0.57  (step t71 (cl (or (= tptp.nil (tptp.cons 0 tptp.nil)) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil)))))) :rule resolution :premises (t63 t70))
% 0.22/0.57  (step t72 (cl (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (tptp.count 0 (tptp.tail (tptp.cons 0 tptp.nil))))) :rule resolution :premises (t45 t56 t71))
% 0.22/0.57  (step t73 (cl (=> (forall ((K Int) (L tptp.list)) (= L (tptp.tail (tptp.cons K L)))) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil)))) (forall ((K Int) (L tptp.list)) (= L (tptp.tail (tptp.cons K L))))) :rule implies_neg1)
% 0.22/0.57  (anchor :step t74)
% 0.22/0.57  (assume t74.a0 (forall ((K Int) (L tptp.list)) (= L (tptp.tail (tptp.cons K L)))))
% 0.22/0.57  (step t74.t1 (cl (or (not (forall ((K Int) (L tptp.list)) (= L (tptp.tail (tptp.cons K L))))) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))))) :rule forall_inst :args ((:= K 0) (:= L tptp.nil)))
% 0.22/0.57  (step t74.t2 (cl (not (forall ((K Int) (L tptp.list)) (= L (tptp.tail (tptp.cons K L))))) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil)))) :rule or :premises (t74.t1))
% 0.22/0.57  (step t74.t3 (cl (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil)))) :rule resolution :premises (t74.t2 t74.a0))
% 0.22/0.57  (step t74 (cl (not (forall ((K Int) (L tptp.list)) (= L (tptp.tail (tptp.cons K L))))) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil)))) :rule subproof :discharge (t74.a0))
% 0.22/0.57  (step t75 (cl (=> (forall ((K Int) (L tptp.list)) (= L (tptp.tail (tptp.cons K L)))) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil)))) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil)))) :rule resolution :premises (t73 t74))
% 0.22/0.57  (step t76 (cl (=> (forall ((K Int) (L tptp.list)) (= L (tptp.tail (tptp.cons K L)))) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil)))) (not (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))))) :rule implies_neg2)
% 0.22/0.57  (step t77 (cl (=> (forall ((K Int) (L tptp.list)) (= L (tptp.tail (tptp.cons K L)))) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil)))) (=> (forall ((K Int) (L tptp.list)) (= L (tptp.tail (tptp.cons K L)))) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))))) :rule resolution :premises (t75 t76))
% 0.22/0.57  (step t78 (cl (=> (forall ((K Int) (L tptp.list)) (= L (tptp.tail (tptp.cons K L)))) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil))))) :rule contraction :premises (t77))
% 0.22/0.57  (step t79 (cl (not (forall ((K Int) (L tptp.list)) (= L (tptp.tail (tptp.cons K L))))) (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil)))) :rule implies :premises (t78))
% 0.22/0.57  (step t80 (cl (not (= (forall ((K Int) (L tptp.list)) (= (tptp.tail (tptp.cons K L)) L)) (forall ((K Int) (L tptp.list)) (= L (tptp.tail (tptp.cons K L)))))) (not (forall ((K Int) (L tptp.list)) (= (tptp.tail (tptp.cons K L)) L))) (forall ((K Int) (L tptp.list)) (= L (tptp.tail (tptp.cons K L))))) :rule equiv_pos2)
% 0.22/0.57  (anchor :step t81 :args ((K Int) (:= K K) (L tptp.list) (:= L L)))
% 0.22/0.57  (step t81.t1 (cl (= K K)) :rule refl)
% 0.22/0.57  (step t81.t2 (cl (= L L)) :rule refl)
% 0.22/0.57  (step t81.t3 (cl (= (= (tptp.tail (tptp.cons K L)) L) (= L (tptp.tail (tptp.cons K L))))) :rule all_simplify)
% 0.22/0.57  (step t81 (cl (= (forall ((K Int) (L tptp.list)) (= (tptp.tail (tptp.cons K L)) L)) (forall ((K Int) (L tptp.list)) (= L (tptp.tail (tptp.cons K L)))))) :rule bind)
% 0.22/0.57  (step t82 (cl (forall ((K Int) (L tptp.list)) (= L (tptp.tail (tptp.cons K L))))) :rule resolution :premises (t80 t81 a1))
% 0.22/0.57  (step t83 (cl (= tptp.nil (tptp.tail (tptp.cons 0 tptp.nil)))) :rule resolution :premises (t79 t82))
% 0.22/0.57  (step t84 (cl (=> (forall ((K Int)) (= (tptp.count K tptp.nil) 0)) (= (tptp.count 0 tptp.nil) 0)) (forall ((K Int)) (= (tptp.count K tptp.nil) 0))) :rule implies_neg1)
% 0.22/0.57  (anchor :step t85)
% 0.22/0.57  (assume t85.a0 (forall ((K Int)) (= (tptp.count K tptp.nil) 0)))
% 0.22/0.57  (step t85.t1 (cl (or (not (forall ((K Int)) (= (tptp.count K tptp.nil) 0))) (= (tptp.count 0 tptp.nil) 0))) :rule forall_inst :args ((:= K 0)))
% 0.22/0.57  (step t85.t2 (cl (not (forall ((K Int)) (= (tptp.count K tptp.nil) 0))) (= (tptp.count 0 tptp.nil) 0)) :rule or :premises (t85.t1))
% 0.22/0.57  (step t85.t3 (cl (= (tptp.count 0 tptp.nil) 0)) :rule resolution :premises (t85.t2 t85.a0))
% 0.22/0.57  (step t85 (cl (not (forall ((K Int)) (= (tptp.count K tptp.nil) 0))) (= (tptp.count 0 tptp.nil) 0)) :rule subproof :discharge (t85.a0))
% 0.22/0.57  (step t86 (cl (=> (forall ((K Int)) (= (tptp.count K tptp.nil) 0)) (= (tptp.count 0 tptp.nil) 0)) (= (tptp.count 0 tptp.nil) 0)) :rule resolution :premises (t84 t85))
% 0.22/0.57  (step t87 (cl (=> (forall ((K Int)) (= (tptp.count K tptp.nil) 0)) (= (tptp.count 0 tptp.nil) 0)) (not (= (tptp.count 0 tptp.nil) 0))) :rule implies_neg2)
% 0.22/0.57  (step t88 (cl (=> (forall ((K Int)) (= (tptp.count K tptp.nil) 0)) (= (tptp.count 0 tptp.nil) 0)) (=> (forall ((K Int)) (= (tptp.count K tptp.nil) 0)) (= (tptp.count 0 tptp.nil) 0))) :rule resolution :premises (t86 t87))
% 0.22/0.57  (step t89 (cl (=> (forall ((K Int)) (= (tptp.count K tptp.nil) 0)) (= (tptp.count 0 tptp.nil) 0))) :rule contraction :premises (t88))
% 0.22/0.57  (step t90 (cl (not (forall ((K Int)) (= (tptp.count K tptp.nil) 0))) (= (tptp.count 0 tptp.nil) 0)) :rule implies :premises (t89))
% 0.22/0.57  (step t91 (cl (= (tptp.count 0 tptp.nil) 0)) :rule resolution :premises (t90 a8))
% 0.22/0.57  (step t92 (cl (not (= (=> (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (+ 1 (tptp.count 0 tptp.nil)))) (=> (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))))) (not (=> (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (+ 1 (tptp.count 0 tptp.nil))))) (=> (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) :rule equiv_pos2)
% 0.22/0.57  (step t93 (cl (= (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))) (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))))) :rule refl)
% 0.22/0.57  (step t94 (cl (= (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (+ 1 (tptp.count 0 tptp.nil))) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) :rule all_simplify)
% 0.22/0.57  (step t95 (cl (= (=> (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (+ 1 (tptp.count 0 tptp.nil)))) (=> (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))))) :rule cong :premises (t93 t94))
% 0.22/0.57  (step t96 (cl (=> (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (+ 1 (tptp.count 0 tptp.nil)))) (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T))))) :rule implies_neg1)
% 0.22/0.57  (anchor :step t97)
% 0.22/0.57  (assume t97.a0 (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))))
% 0.22/0.57  (step t97.t1 (cl (or (not (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T))))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (+ 1 (tptp.count 0 tptp.nil))))) :rule forall_inst :args ((:= H 0) (:= T tptp.nil)))
% 0.22/0.57  (step t97.t2 (cl (not (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T))))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (+ 1 (tptp.count 0 tptp.nil)))) :rule or :premises (t97.t1))
% 0.22/0.57  (step t97.t3 (cl (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (+ 1 (tptp.count 0 tptp.nil)))) :rule resolution :premises (t97.t2 t97.a0))
% 0.22/0.57  (step t97 (cl (not (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T))))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (+ 1 (tptp.count 0 tptp.nil)))) :rule subproof :discharge (t97.a0))
% 0.22/0.57  (step t98 (cl (=> (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (+ 1 (tptp.count 0 tptp.nil)))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (+ 1 (tptp.count 0 tptp.nil)))) :rule resolution :premises (t96 t97))
% 0.22/0.57  (step t99 (cl (=> (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (+ 1 (tptp.count 0 tptp.nil)))) (not (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (+ 1 (tptp.count 0 tptp.nil))))) :rule implies_neg2)
% 0.22/0.57  (step t100 (cl (=> (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (+ 1 (tptp.count 0 tptp.nil)))) (=> (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (+ 1 (tptp.count 0 tptp.nil))))) :rule resolution :premises (t98 t99))
% 0.22/0.57  (step t101 (cl (=> (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))) (= (tptp.count 0 (tptp.cons 0 tptp.nil)) (+ 1 (tptp.count 0 tptp.nil))))) :rule contraction :premises (t100))
% 0.22/0.57  (step t102 (cl (=> (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil)))))) :rule resolution :premises (t92 t95 t101))
% 0.22/0.57  (step t103 (cl (not (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T))))) (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))) :rule implies :premises (t102))
% 0.22/0.57  (step t104 (cl (not (= (forall ((K Int) (H Int) (T tptp.list) (N Int)) (=> (= K H) (= (tptp.count K (tptp.cons H T)) (+ (tptp.count K T) 1)))) (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))))) (not (forall ((K Int) (H Int) (T tptp.list) (N Int)) (=> (= K H) (= (tptp.count K (tptp.cons H T)) (+ (tptp.count K T) 1))))) (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T))))) :rule equiv_pos2)
% 0.22/0.57  (anchor :step t105 :args ((K Int) (:= K K) (H Int) (:= H H) (T tptp.list) (:= T T) (N Int) (:= N N)))
% 0.22/0.57  (step t105.t1 (cl (= K K)) :rule refl)
% 0.22/0.57  (step t105.t2 (cl (= H H)) :rule refl)
% 0.22/0.57  (step t105.t3 (cl (= T T)) :rule refl)
% 0.22/0.57  (step t105.t4 (cl (= N N)) :rule refl)
% 0.22/0.57  (step t105.t5 (cl (= (= K H) (= K H))) :rule refl)
% 0.22/0.57  (step t105.t6 (cl (= (tptp.count K (tptp.cons H T)) (tptp.count K (tptp.cons H T)))) :rule refl)
% 0.22/0.57  (step t105.t7 (cl (= (+ (tptp.count K T) 1) (+ 1 (tptp.count K T)))) :rule all_simplify)
% 0.22/0.57  (step t105.t8 (cl (= (= (tptp.count K (tptp.cons H T)) (+ (tptp.count K T) 1)) (= (tptp.count K (tptp.cons H T)) (+ 1 (tptp.count K T))))) :rule cong :premises (t105.t6 t105.t7))
% 0.22/0.57  (step t105.t9 (cl (= (=> (= K H) (= (tptp.count K (tptp.cons H T)) (+ (tptp.count K T) 1))) (=> (= K H) (= (tptp.count K (tptp.cons H T)) (+ 1 (tptp.count K T)))))) :rule cong :premises (t105.t5 t105.t8))
% 0.22/0.57  (step t105 (cl (= (forall ((K Int) (H Int) (T tptp.list) (N Int)) (=> (= K H) (= (tptp.count K (tptp.cons H T)) (+ (tptp.count K T) 1)))) (forall ((K Int) (H Int) (T tptp.list) (N Int)) (=> (= K H) (= (tptp.count K (tptp.cons H T)) (+ 1 (tptp.count K T))))))) :rule bind)
% 0.22/0.58  (step t106 (cl (= (forall ((K Int) (H Int) (T tptp.list) (N Int)) (=> (= K H) (= (tptp.count K (tptp.cons H T)) (+ 1 (tptp.count K T))))) (forall ((K Int) (H Int) (T tptp.list) (N Int)) (or (not (= K H)) (= (tptp.count K (tptp.cons H T)) (+ 1 (tptp.count K T))))))) :rule all_simplify)
% 0.22/0.58  (step t107 (cl (= (forall ((K Int) (H Int) (T tptp.list) (N Int)) (or (not (= K H)) (= (tptp.count K (tptp.cons H T)) (+ 1 (tptp.count K T))))) (forall ((K Int) (H Int) (T tptp.list)) (or (not (= K H)) (= (tptp.count K (tptp.cons H T)) (+ 1 (tptp.count K T))))))) :rule all_simplify)
% 0.22/0.58  (step t108 (cl (= (forall ((K Int) (H Int) (T tptp.list)) (or (not (= K H)) (= (tptp.count K (tptp.cons H T)) (+ 1 (tptp.count K T))))) (forall ((H Int) (T tptp.list)) (or (not (= H H)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T))))))) :rule all_simplify)
% 0.22/0.58  (anchor :step t109 :args ((H Int) (:= H H) (T tptp.list) (:= T T)))
% 0.22/0.58  (step t109.t1 (cl (= H H)) :rule refl)
% 0.22/0.58  (step t109.t2 (cl (= T T)) :rule refl)
% 0.22/0.58  (step t109.t3 (cl (= (= H H) true)) :rule all_simplify)
% 0.22/0.58  (step t109.t4 (cl (= (not (= H H)) (not true))) :rule cong :premises (t109.t3))
% 0.22/0.58  (step t109.t5 (cl (= (not true) false)) :rule all_simplify)
% 0.22/0.58  (step t109.t6 (cl (= (not (= H H)) false)) :rule trans :premises (t109.t4 t109.t5))
% 0.22/0.58  (step t109.t7 (cl (= (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T))) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T))))) :rule refl)
% 0.22/0.58  (step t109.t8 (cl (= (or (not (= H H)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))) (or false (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))))) :rule cong :premises (t109.t6 t109.t7))
% 0.22/0.58  (step t109.t9 (cl (= (or false (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T))))) :rule all_simplify)
% 0.22/0.58  (step t109.t10 (cl (= (or (not (= H H)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T))))) :rule trans :premises (t109.t8 t109.t9))
% 0.22/0.58  (step t109 (cl (= (forall ((H Int) (T tptp.list)) (or (not (= H H)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T))))) (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))))) :rule bind)
% 0.22/0.58  (step t110 (cl (= (forall ((K Int) (H Int) (T tptp.list)) (or (not (= K H)) (= (tptp.count K (tptp.cons H T)) (+ 1 (tptp.count K T))))) (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))))) :rule trans :premises (t108 t109))
% 0.22/0.58  (step t111 (cl (= (forall ((K Int) (H Int) (T tptp.list) (N Int)) (or (not (= K H)) (= (tptp.count K (tptp.cons H T)) (+ 1 (tptp.count K T))))) (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))))) :rule trans :premises (t107 t110))
% 0.22/0.58  (step t112 (cl (= (forall ((K Int) (H Int) (T tptp.list) (N Int)) (=> (= K H) (= (tptp.count K (tptp.cons H T)) (+ 1 (tptp.count K T))))) (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))))) :rule trans :premises (t106 t111))
% 0.22/0.58  (step t113 (cl (= (forall ((K Int) (H Int) (T tptp.list) (N Int)) (=> (= K H) (= (tptp.count K (tptp.cons H T)) (+ (tptp.count K T) 1)))) (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T)))))) :rule trans :premises (t105 t112))
% 0.22/0.58  (step t114 (cl (forall ((H Int) (T tptp.list)) (= (tptp.count H (tptp.cons H T)) (+ 1 (tptp.count H T))))) :rule resolution :premises (t104 t113 a10))
% 0.22/0.58  (step t115 (cl (= (tptp.count 0 tptp.nil) (+ (- 1) (tptp.count 0 (tptp.cons 0 tptp.nil))))) :rule resolution :premises (t103 t114))
% 0.22/0.58  (step t116 (cl) :rule resolution :premises (t43 t72 t83 t91 t115 a6))
% 0.22/0.58  
% 0.22/0.58  % SZS output end Proof for /export/starexec/sandbox/tmp/tmp.kR3LkYLI4z/cvc5---1.0.5_5790.smt2
% 0.22/0.58  % cvc5---1.0.5 exiting
% 0.22/0.58  % cvc5---1.0.5 exiting
%------------------------------------------------------------------------------