TSTP Solution File: DAT082_1 by cvc5---1.0.5

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cvc5---1.0.5
% Problem  : DAT082_1 : TPTP v8.2.0. Released v6.1.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : do_cvc5 %s %d

% Computer : n026.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:59 EDT 2024

% Result   : Theorem 0.43s 0.62s
% Output   : Proof 0.43s
% Verified : 
% SZS Type : -

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