TSTP Solution File: ARI622_1 by cvc5---1.0.5

View Problem - Process Solution

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

% Computer : n023.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:34:17 EDT 2024

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

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.13  % Problem    : ARI622_1 : TPTP v8.2.0. Released v5.1.0.
% 0.07/0.14  % Command    : do_cvc5 %s %d
% 0.14/0.34  % Computer : n023.cluster.edu
% 0.14/0.34  % Model    : x86_64 x86_64
% 0.14/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.34  % Memory   : 8042.1875MB
% 0.14/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.14/0.34  % CPULimit   : 300
% 0.14/0.34  % WCLimit    : 300
% 0.14/0.34  % DateTime   : Mon May 27 05:40:39 EDT 2024
% 0.14/0.35  % CPUTime    : 
% 0.20/0.49  %----Proving TF0_ARI
% 0.35/0.55  --- Run --finite-model-find --decision=internal at 15...
% 0.35/0.55  --- Run --decision=internal --simplification=none --no-inst-no-entail --no-cbqi --full-saturate-quant at 15...
% 0.35/0.55  % SZS status Theorem for /export/starexec/sandbox/tmp/tmp.YPHB0iKzs6/cvc5---1.0.5_10311.smt2
% 0.35/0.55  % SZS output start Proof for /export/starexec/sandbox/tmp/tmp.YPHB0iKzs6/cvc5---1.0.5_10311.smt2
% 0.35/0.55  (assume a0 (not (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (<= 2 X) (exists ((Y Int)) (and (= (* 2 Y) X) (tptp.pow2 Y))))))) (exists ((X Int) (Y Int)) (and (tptp.pow2 X) (tptp.pow2 Y) (= (+ X Y) 10))))))
% 0.35/0.55  (assume a1 true)
% 0.35/0.55  (step t1 (cl (not (= (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 4) (or (= 4 1) (and (>= 4 2) (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y))))))))) (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 2) (tptp.pow2 4))))) (not (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 4) (or (= 4 1) (and (>= 4 2) (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y)))))))))) (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 2) (tptp.pow2 4)))) :rule equiv_pos2)
% 0.35/0.55  (step t2 (cl (= (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))))) :rule refl)
% 0.35/0.55  (step t3 (cl (= (tptp.pow2 4) (tptp.pow2 4))) :rule refl)
% 0.35/0.55  (step t4 (cl (= (= 4 1) false)) :rule all_simplify)
% 0.35/0.55  (step t5 (cl (= (>= 4 2) true)) :rule all_simplify)
% 0.35/0.55  (anchor :step t6 :args ((Y Int) (:= Y Y)))
% 0.35/0.55  (step t6.t1 (cl (= Y Y)) :rule refl)
% 0.35/0.55  (step t6.t2 (cl (= (= 4 (* 2 Y)) (= Y 2))) :rule all_simplify)
% 0.35/0.55  (step t6.t3 (cl (= (not (= 4 (* 2 Y))) (not (= Y 2)))) :rule cong :premises (t6.t2))
% 0.35/0.55  (step t6.t4 (cl (= (not (tptp.pow2 Y)) (not (tptp.pow2 Y)))) :rule refl)
% 0.35/0.55  (step t6.t5 (cl (= (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y))) (or (not (= Y 2)) (not (tptp.pow2 Y))))) :rule cong :premises (t6.t3 t6.t4))
% 0.35/0.55  (step t6 (cl (= (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y)))) (forall ((Y Int)) (or (not (= Y 2)) (not (tptp.pow2 Y)))))) :rule bind)
% 0.35/0.55  (step t7 (cl (= (forall ((Y Int)) (or (not (= Y 2)) (not (tptp.pow2 Y)))) (or (not (= 2 2)) (not (tptp.pow2 2))))) :rule all_simplify)
% 0.35/0.55  (step t8 (cl (= (= 2 2) true)) :rule all_simplify)
% 0.35/0.55  (step t9 (cl (= (not (= 2 2)) (not true))) :rule cong :premises (t8))
% 0.35/0.55  (step t10 (cl (= (not true) false)) :rule all_simplify)
% 0.35/0.55  (step t11 (cl (= (not (= 2 2)) false)) :rule trans :premises (t9 t10))
% 0.35/0.55  (step t12 (cl (= (not (tptp.pow2 2)) (not (tptp.pow2 2)))) :rule refl)
% 0.35/0.55  (step t13 (cl (= (or (not (= 2 2)) (not (tptp.pow2 2))) (or false (not (tptp.pow2 2))))) :rule cong :premises (t11 t12))
% 0.35/0.55  (step t14 (cl (= (or false (not (tptp.pow2 2))) (not (tptp.pow2 2)))) :rule all_simplify)
% 0.35/0.55  (step t15 (cl (= (or (not (= 2 2)) (not (tptp.pow2 2))) (not (tptp.pow2 2)))) :rule trans :premises (t13 t14))
% 0.35/0.55  (step t16 (cl (= (forall ((Y Int)) (or (not (= Y 2)) (not (tptp.pow2 Y)))) (not (tptp.pow2 2)))) :rule trans :premises (t7 t15))
% 0.35/0.55  (step t17 (cl (= (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y)))) (not (tptp.pow2 2)))) :rule trans :premises (t6 t16))
% 0.35/0.55  (step t18 (cl (= (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y))))) (not (not (tptp.pow2 2))))) :rule cong :premises (t17))
% 0.35/0.55  (step t19 (cl (= (not (not (tptp.pow2 2))) (tptp.pow2 2))) :rule all_simplify)
% 0.35/0.55  (step t20 (cl (= (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y))))) (tptp.pow2 2))) :rule trans :premises (t18 t19))
% 0.35/0.55  (step t21 (cl (= (and (>= 4 2) (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y)))))) (and true (tptp.pow2 2)))) :rule cong :premises (t5 t20))
% 0.35/0.55  (step t22 (cl (= (and true (tptp.pow2 2)) (tptp.pow2 2))) :rule all_simplify)
% 0.35/0.55  (step t23 (cl (= (and (>= 4 2) (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y)))))) (tptp.pow2 2))) :rule trans :premises (t21 t22))
% 0.35/0.55  (step t24 (cl (= (or (= 4 1) (and (>= 4 2) (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y))))))) (or false (tptp.pow2 2)))) :rule cong :premises (t4 t23))
% 0.35/0.55  (step t25 (cl (= (or false (tptp.pow2 2)) (tptp.pow2 2))) :rule all_simplify)
% 0.35/0.55  (step t26 (cl (= (or (= 4 1) (and (>= 4 2) (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y))))))) (tptp.pow2 2))) :rule trans :premises (t24 t25))
% 0.35/0.55  (step t27 (cl (= (= (tptp.pow2 4) (or (= 4 1) (and (>= 4 2) (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y)))))))) (= (tptp.pow2 4) (tptp.pow2 2)))) :rule cong :premises (t3 t26))
% 0.35/0.55  (step t28 (cl (= (= (tptp.pow2 4) (tptp.pow2 2)) (= (tptp.pow2 2) (tptp.pow2 4)))) :rule all_simplify)
% 0.35/0.55  (step t29 (cl (= (= (tptp.pow2 4) (or (= 4 1) (and (>= 4 2) (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y)))))))) (= (tptp.pow2 2) (tptp.pow2 4)))) :rule trans :premises (t27 t28))
% 0.35/0.55  (step t30 (cl (= (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 4) (or (= 4 1) (and (>= 4 2) (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y))))))))) (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 2) (tptp.pow2 4))))) :rule cong :premises (t2 t29))
% 0.35/0.55  (step t31 (cl (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 4) (or (= 4 1) (and (>= 4 2) (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y))))))))) (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y)))))))))) :rule implies_neg1)
% 0.35/0.55  (anchor :step t32)
% 0.35/0.55  (assume t32.a0 (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))))
% 0.35/0.55  (step t32.t1 (cl (or (not (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y)))))))))) (= (tptp.pow2 4) (or (= 4 1) (and (>= 4 2) (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y)))))))))) :rule forall_inst :args ((:= X 4)))
% 0.35/0.55  (step t32.t2 (cl (not (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y)))))))))) (= (tptp.pow2 4) (or (= 4 1) (and (>= 4 2) (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y))))))))) :rule or :premises (t32.t1))
% 0.35/0.55  (step t32.t3 (cl (= (tptp.pow2 4) (or (= 4 1) (and (>= 4 2) (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y))))))))) :rule resolution :premises (t32.t2 t32.a0))
% 0.35/0.55  (step t32 (cl (not (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y)))))))))) (= (tptp.pow2 4) (or (= 4 1) (and (>= 4 2) (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y))))))))) :rule subproof :discharge (t32.a0))
% 0.35/0.55  (step t33 (cl (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 4) (or (= 4 1) (and (>= 4 2) (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 4) (or (= 4 1) (and (>= 4 2) (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y))))))))) :rule resolution :premises (t31 t32))
% 0.35/0.55  (step t34 (cl (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 4) (or (= 4 1) (and (>= 4 2) (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y))))))))) (not (= (tptp.pow2 4) (or (= 4 1) (and (>= 4 2) (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y)))))))))) :rule implies_neg2)
% 0.35/0.55  (step t35 (cl (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 4) (or (= 4 1) (and (>= 4 2) (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y))))))))) (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 4) (or (= 4 1) (and (>= 4 2) (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y)))))))))) :rule resolution :premises (t33 t34))
% 0.35/0.55  (step t36 (cl (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 4) (or (= 4 1) (and (>= 4 2) (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y)))))))))) :rule contraction :premises (t35))
% 0.35/0.55  (step t37 (cl (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 2) (tptp.pow2 4)))) :rule resolution :premises (t1 t30 t36))
% 0.35/0.55  (step t38 (cl (not (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y)))))))))) (= (tptp.pow2 2) (tptp.pow2 4))) :rule implies :premises (t37))
% 0.35/0.55  (step t39 (cl (not (= (tptp.pow2 2) (tptp.pow2 4))) (not (tptp.pow2 2)) (tptp.pow2 4)) :rule equiv_pos2)
% 0.35/0.55  (step t40 (cl (not (tptp.pow2 2)) (tptp.pow2 4) (not (= (tptp.pow2 2) (tptp.pow2 4)))) :rule reordering :premises (t39))
% 0.35/0.55  (step t41 (cl (not (= (tptp.pow2 1) (tptp.pow2 2))) (not (tptp.pow2 1)) (tptp.pow2 2)) :rule equiv_pos2)
% 0.35/0.55  (step t42 (cl (not (tptp.pow2 1)) (tptp.pow2 2) (not (= (tptp.pow2 1) (tptp.pow2 2)))) :rule reordering :premises (t41))
% 0.35/0.55  (step t43 (cl (not (= (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 1) (or (= 1 1) (and (>= 1 2) (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y))))))))) (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (tptp.pow2 1)))) (not (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 1) (or (= 1 1) (and (>= 1 2) (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y)))))))))) (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (tptp.pow2 1))) :rule equiv_pos2)
% 0.35/0.55  (step t44 (cl (= (tptp.pow2 1) (tptp.pow2 1))) :rule refl)
% 0.35/0.55  (step t45 (cl (= (= 1 1) true)) :rule all_simplify)
% 0.35/0.55  (step t46 (cl (= (>= 1 2) false)) :rule all_simplify)
% 0.35/0.55  (anchor :step t47 :args ((Y Int) (:= Y Y)))
% 0.35/0.55  (step t47.t1 (cl (= Y Y)) :rule refl)
% 0.35/0.55  (step t47.t2 (cl (= (= 1 (* 2 Y)) false)) :rule all_simplify)
% 0.35/0.55  (step t47.t3 (cl (= (not (= 1 (* 2 Y))) (not false))) :rule cong :premises (t47.t2))
% 0.35/0.55  (step t47.t4 (cl (= (not false) true)) :rule all_simplify)
% 0.35/0.55  (step t47.t5 (cl (= (not (= 1 (* 2 Y))) true)) :rule trans :premises (t47.t3 t47.t4))
% 0.35/0.55  (step t47.t6 (cl (= (not (tptp.pow2 Y)) (not (tptp.pow2 Y)))) :rule refl)
% 0.35/0.55  (step t47.t7 (cl (= (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y))) (or true (not (tptp.pow2 Y))))) :rule cong :premises (t47.t5 t47.t6))
% 0.35/0.55  (step t47.t8 (cl (= (or true (not (tptp.pow2 Y))) true)) :rule all_simplify)
% 0.35/0.55  (step t47.t9 (cl (= (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y))) true)) :rule trans :premises (t47.t7 t47.t8))
% 0.35/0.55  (step t47 (cl (= (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y)))) (forall ((Y Int)) true))) :rule bind)
% 0.35/0.55  (step t48 (cl (= (forall ((Y Int)) true) true)) :rule all_simplify)
% 0.35/0.55  (step t49 (cl (= (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y)))) true)) :rule trans :premises (t47 t48))
% 0.35/0.55  (step t50 (cl (= (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y))))) (not true))) :rule cong :premises (t49))
% 0.35/0.55  (step t51 (cl (= (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y))))) false)) :rule trans :premises (t50 t10))
% 0.35/0.55  (step t52 (cl (= (and (>= 1 2) (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y)))))) (and false false))) :rule cong :premises (t46 t51))
% 0.35/0.55  (step t53 (cl (= (and false false) false)) :rule all_simplify)
% 0.35/0.55  (step t54 (cl (= (and (>= 1 2) (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y)))))) false)) :rule trans :premises (t52 t53))
% 0.35/0.55  (step t55 (cl (= (or (= 1 1) (and (>= 1 2) (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y))))))) (or true false))) :rule cong :premises (t45 t54))
% 0.35/0.55  (step t56 (cl (= (or true false) true)) :rule all_simplify)
% 0.35/0.55  (step t57 (cl (= (or (= 1 1) (and (>= 1 2) (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y))))))) true)) :rule trans :premises (t55 t56))
% 0.35/0.55  (step t58 (cl (= (= (tptp.pow2 1) (or (= 1 1) (and (>= 1 2) (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y)))))))) (= (tptp.pow2 1) true))) :rule cong :premises (t44 t57))
% 0.35/0.55  (step t59 (cl (= (= (tptp.pow2 1) true) (tptp.pow2 1))) :rule all_simplify)
% 0.35/0.55  (step t60 (cl (= (= (tptp.pow2 1) (or (= 1 1) (and (>= 1 2) (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y)))))))) (tptp.pow2 1))) :rule trans :premises (t58 t59))
% 0.35/0.55  (step t61 (cl (= (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 1) (or (= 1 1) (and (>= 1 2) (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y))))))))) (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (tptp.pow2 1)))) :rule cong :premises (t2 t60))
% 0.35/0.55  (step t62 (cl (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 1) (or (= 1 1) (and (>= 1 2) (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y))))))))) (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y)))))))))) :rule implies_neg1)
% 0.35/0.55  (anchor :step t63)
% 0.35/0.55  (assume t63.a0 (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))))
% 0.35/0.55  (step t63.t1 (cl (or (not (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y)))))))))) (= (tptp.pow2 1) (or (= 1 1) (and (>= 1 2) (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y)))))))))) :rule forall_inst :args ((:= X 1)))
% 0.35/0.55  (step t63.t2 (cl (not (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y)))))))))) (= (tptp.pow2 1) (or (= 1 1) (and (>= 1 2) (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y))))))))) :rule or :premises (t63.t1))
% 0.35/0.55  (step t63.t3 (cl (= (tptp.pow2 1) (or (= 1 1) (and (>= 1 2) (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y))))))))) :rule resolution :premises (t63.t2 t63.a0))
% 0.35/0.55  (step t63 (cl (not (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y)))))))))) (= (tptp.pow2 1) (or (= 1 1) (and (>= 1 2) (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y))))))))) :rule subproof :discharge (t63.a0))
% 0.35/0.55  (step t64 (cl (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 1) (or (= 1 1) (and (>= 1 2) (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 1) (or (= 1 1) (and (>= 1 2) (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y))))))))) :rule resolution :premises (t62 t63))
% 0.35/0.55  (step t65 (cl (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 1) (or (= 1 1) (and (>= 1 2) (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y))))))))) (not (= (tptp.pow2 1) (or (= 1 1) (and (>= 1 2) (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y)))))))))) :rule implies_neg2)
% 0.35/0.55  (step t66 (cl (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 1) (or (= 1 1) (and (>= 1 2) (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y))))))))) (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 1) (or (= 1 1) (and (>= 1 2) (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y)))))))))) :rule resolution :premises (t64 t65))
% 0.35/0.55  (step t67 (cl (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 1) (or (= 1 1) (and (>= 1 2) (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y)))))))))) :rule contraction :premises (t66))
% 0.35/0.55  (step t68 (cl (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (tptp.pow2 1))) :rule resolution :premises (t43 t61 t67))
% 0.35/0.55  (step t69 (cl (not (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y)))))))))) (tptp.pow2 1)) :rule implies :premises (t68))
% 0.35/0.55  (step t70 (cl (not (= (not (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (<= 2 X) (exists ((Y Int)) (and (= (* 2 Y) X) (tptp.pow2 Y))))))) (exists ((X Int) (Y Int)) (and (tptp.pow2 X) (tptp.pow2 Y) (= (+ X Y) 10))))) (not (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (not (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y))))))))) (not (not (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (<= 2 X) (exists ((Y Int)) (and (= (* 2 Y) X) (tptp.pow2 Y))))))) (exists ((X Int) (Y Int)) (and (tptp.pow2 X) (tptp.pow2 Y) (= (+ X Y) 10)))))) (not (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (not (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)))))))) :rule equiv_pos2)
% 0.35/0.55  (anchor :step t71 :args ((X Int) (:= X X)))
% 0.35/0.55  (step t71.t1 (cl (= X X)) :rule refl)
% 0.35/0.55  (step t71.t2 (cl (= (tptp.pow2 X) (tptp.pow2 X))) :rule refl)
% 0.35/0.55  (step t71.t3 (cl (= (= X 1) (= X 1))) :rule refl)
% 0.35/0.55  (step t71.t4 (cl (= (<= 2 X) (>= X 2))) :rule all_simplify)
% 0.35/0.55  (anchor :step t71.t5 :args ((Y Int) (:= Y Y)))
% 0.35/0.55  (step t71.t5.t1 (cl (= Y Y)) :rule refl)
% 0.35/0.55  (step t71.t5.t2 (cl (= (= (* 2 Y) X) (= X (* 2 Y)))) :rule all_simplify)
% 0.35/0.55  (step t71.t5.t3 (cl (= (tptp.pow2 Y) (tptp.pow2 Y))) :rule refl)
% 0.35/0.55  (step t71.t5.t4 (cl (= (and (= (* 2 Y) X) (tptp.pow2 Y)) (and (= X (* 2 Y)) (tptp.pow2 Y)))) :rule cong :premises (t71.t5.t2 t71.t5.t3))
% 0.35/0.55  (step t71.t5 (cl (= (exists ((Y Int)) (and (= (* 2 Y) X) (tptp.pow2 Y))) (exists ((Y Int)) (and (= X (* 2 Y)) (tptp.pow2 Y))))) :rule bind)
% 0.35/0.55  (step t71.t6 (cl (= (exists ((Y Int)) (and (= X (* 2 Y)) (tptp.pow2 Y))) (not (forall ((Y Int)) (not (and (= X (* 2 Y)) (tptp.pow2 Y))))))) :rule all_simplify)
% 0.35/0.55  (step t71.t7 (cl (= (forall ((Y Int)) (not (and (= X (* 2 Y)) (tptp.pow2 Y)))) (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y)))))) :rule all_simplify)
% 0.35/0.55  (step t71.t8 (cl (= (not (forall ((Y Int)) (not (and (= X (* 2 Y)) (tptp.pow2 Y))))) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))) :rule cong :premises (t71.t7))
% 0.35/0.55  (step t71.t9 (cl (= (exists ((Y Int)) (and (= X (* 2 Y)) (tptp.pow2 Y))) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))) :rule trans :premises (t71.t6 t71.t8))
% 0.35/0.55  (step t71.t10 (cl (= (exists ((Y Int)) (and (= (* 2 Y) X) (tptp.pow2 Y))) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))) :rule trans :premises (t71.t5 t71.t9))
% 0.35/0.55  (step t71.t11 (cl (= (and (<= 2 X) (exists ((Y Int)) (and (= (* 2 Y) X) (tptp.pow2 Y)))) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y)))))))) :rule cong :premises (t71.t4 t71.t10))
% 0.35/0.55  (step t71.t12 (cl (= (or (= X 1) (and (<= 2 X) (exists ((Y Int)) (and (= (* 2 Y) X) (tptp.pow2 Y))))) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) :rule cong :premises (t71.t3 t71.t11))
% 0.35/0.55  (step t71.t13 (cl (= (= (tptp.pow2 X) (or (= X 1) (and (<= 2 X) (exists ((Y Int)) (and (= (* 2 Y) X) (tptp.pow2 Y)))))) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y)))))))))) :rule cong :premises (t71.t2 t71.t12))
% 0.35/0.55  (step t71 (cl (= (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (<= 2 X) (exists ((Y Int)) (and (= (* 2 Y) X) (tptp.pow2 Y))))))) (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))))) :rule bind)
% 0.35/0.55  (anchor :step t72 :args ((X Int) (:= X X) (Y Int) (:= Y Y)))
% 0.35/0.55  (step t72.t1 (cl (= X X)) :rule refl)
% 0.35/0.55  (step t72.t2 (cl (= Y Y)) :rule refl)
% 0.35/0.55  (step t72.t3 (cl (= (tptp.pow2 X) (tptp.pow2 X))) :rule refl)
% 0.35/0.55  (step t72.t4 (cl (= (tptp.pow2 Y) (tptp.pow2 Y))) :rule refl)
% 0.35/0.55  (step t72.t5 (cl (= (= (+ X Y) 10) (= X (+ 10 (* (- 1) Y))))) :rule all_simplify)
% 0.35/0.55  (step t72.t6 (cl (= (and (tptp.pow2 X) (tptp.pow2 Y) (= (+ X Y) 10)) (and (tptp.pow2 X) (tptp.pow2 Y) (= X (+ 10 (* (- 1) Y)))))) :rule cong :premises (t72.t3 t72.t4 t72.t5))
% 0.35/0.55  (step t72 (cl (= (exists ((X Int) (Y Int)) (and (tptp.pow2 X) (tptp.pow2 Y) (= (+ X Y) 10))) (exists ((X Int) (Y Int)) (and (tptp.pow2 X) (tptp.pow2 Y) (= X (+ 10 (* (- 1) Y))))))) :rule bind)
% 0.35/0.55  (step t73 (cl (= (exists ((X Int) (Y Int)) (and (tptp.pow2 X) (tptp.pow2 Y) (= X (+ 10 (* (- 1) Y))))) (not (forall ((X Int) (Y Int)) (not (and (tptp.pow2 X) (tptp.pow2 Y) (= X (+ 10 (* (- 1) Y))))))))) :rule all_simplify)
% 0.35/0.55  (step t74 (cl (= (forall ((X Int) (Y Int)) (not (and (tptp.pow2 X) (tptp.pow2 Y) (= X (+ 10 (* (- 1) Y)))))) (forall ((X Int) (Y Int)) (or (not (tptp.pow2 X)) (not (tptp.pow2 Y)) (not (= X (+ 10 (* (- 1) Y)))))))) :rule all_simplify)
% 0.35/0.55  (step t75 (cl (= (forall ((X Int) (Y Int)) (or (not (tptp.pow2 X)) (not (tptp.pow2 Y)) (not (= X (+ 10 (* (- 1) Y)))))) (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)) (not (= (+ 10 (* (- 1) Y)) (+ 10 (* (- 1) Y)))))))) :rule all_simplify)
% 0.35/0.55  (anchor :step t76 :args ((Y Int) (:= Y Y)))
% 0.35/0.55  (step t76.t1 (cl (= Y Y)) :rule refl)
% 0.35/0.55  (step t76.t2 (cl (= (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 (+ 10 (* (- 1) Y)))))) :rule refl)
% 0.35/0.55  (step t76.t3 (cl (= (not (tptp.pow2 Y)) (not (tptp.pow2 Y)))) :rule refl)
% 0.35/0.55  (step t76.t4 (cl (= (= (+ 10 (* (- 1) Y)) (+ 10 (* (- 1) Y))) true)) :rule all_simplify)
% 0.35/0.55  (step t76.t5 (cl (= (not (= (+ 10 (* (- 1) Y)) (+ 10 (* (- 1) Y)))) (not true))) :rule cong :premises (t76.t4))
% 0.35/0.55  (step t76.t6 (cl (= (not (= (+ 10 (* (- 1) Y)) (+ 10 (* (- 1) Y)))) false)) :rule trans :premises (t76.t5 t10))
% 0.35/0.55  (step t76.t7 (cl (= (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)) (not (= (+ 10 (* (- 1) Y)) (+ 10 (* (- 1) Y))))) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)) false))) :rule cong :premises (t76.t2 t76.t3 t76.t6))
% 0.35/0.55  (step t76.t8 (cl (= (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)) false) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y))))) :rule all_simplify)
% 0.35/0.55  (step t76.t9 (cl (= (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)) (not (= (+ 10 (* (- 1) Y)) (+ 10 (* (- 1) Y))))) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y))))) :rule trans :premises (t76.t7 t76.t8))
% 0.35/0.55  (step t76 (cl (= (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)) (not (= (+ 10 (* (- 1) Y)) (+ 10 (* (- 1) Y)))))) (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)))))) :rule bind)
% 0.35/0.55  (step t77 (cl (= (forall ((X Int) (Y Int)) (or (not (tptp.pow2 X)) (not (tptp.pow2 Y)) (not (= X (+ 10 (* (- 1) Y)))))) (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)))))) :rule trans :premises (t75 t76))
% 0.35/0.55  (step t78 (cl (= (forall ((X Int) (Y Int)) (not (and (tptp.pow2 X) (tptp.pow2 Y) (= X (+ 10 (* (- 1) Y)))))) (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)))))) :rule trans :premises (t74 t77))
% 0.35/0.55  (step t79 (cl (= (not (forall ((X Int) (Y Int)) (not (and (tptp.pow2 X) (tptp.pow2 Y) (= X (+ 10 (* (- 1) Y))))))) (not (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y))))))) :rule cong :premises (t78))
% 0.35/0.55  (step t80 (cl (= (exists ((X Int) (Y Int)) (and (tptp.pow2 X) (tptp.pow2 Y) (= X (+ 10 (* (- 1) Y))))) (not (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y))))))) :rule trans :premises (t73 t79))
% 0.35/0.55  (step t81 (cl (= (exists ((X Int) (Y Int)) (and (tptp.pow2 X) (tptp.pow2 Y) (= (+ X Y) 10))) (not (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y))))))) :rule trans :premises (t72 t80))
% 0.35/0.55  (step t82 (cl (= (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (<= 2 X) (exists ((Y Int)) (and (= (* 2 Y) X) (tptp.pow2 Y))))))) (exists ((X Int) (Y Int)) (and (tptp.pow2 X) (tptp.pow2 Y) (= (+ X Y) 10)))) (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (not (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)))))))) :rule cong :premises (t71 t81))
% 0.35/0.55  (step t83 (cl (= (not (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (<= 2 X) (exists ((Y Int)) (and (= (* 2 Y) X) (tptp.pow2 Y))))))) (exists ((X Int) (Y Int)) (and (tptp.pow2 X) (tptp.pow2 Y) (= (+ X Y) 10))))) (not (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (not (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y))))))))) :rule cong :premises (t82))
% 0.35/0.55  (step t84 (cl (not (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (not (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)))))))) :rule resolution :premises (t70 t83 a0))
% 0.35/0.55  (step t85 (cl (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y)))))))))) :rule not_implies1 :premises (t84))
% 0.35/0.55  (step t86 (cl (tptp.pow2 1)) :rule resolution :premises (t69 t85))
% 0.35/0.55  (step t87 (cl (not (= (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 2) (or (= 2 1) (and (>= 2 2) (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y))))))))) (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 1) (tptp.pow2 2))))) (not (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 2) (or (= 2 1) (and (>= 2 2) (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y)))))))))) (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 1) (tptp.pow2 2)))) :rule equiv_pos2)
% 0.35/0.55  (step t88 (cl (= (tptp.pow2 2) (tptp.pow2 2))) :rule refl)
% 0.35/0.55  (step t89 (cl (= (= 2 1) false)) :rule all_simplify)
% 0.35/0.55  (step t90 (cl (= (>= 2 2) true)) :rule all_simplify)
% 0.35/0.55  (anchor :step t91 :args ((Y Int) (:= Y Y)))
% 0.35/0.55  (step t91.t1 (cl (= Y Y)) :rule refl)
% 0.35/0.55  (step t91.t2 (cl (= (= 2 (* 2 Y)) (= Y 1))) :rule all_simplify)
% 0.35/0.55  (step t91.t3 (cl (= (not (= 2 (* 2 Y))) (not (= Y 1)))) :rule cong :premises (t91.t2))
% 0.35/0.55  (step t91.t4 (cl (= (not (tptp.pow2 Y)) (not (tptp.pow2 Y)))) :rule refl)
% 0.35/0.55  (step t91.t5 (cl (= (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y))) (or (not (= Y 1)) (not (tptp.pow2 Y))))) :rule cong :premises (t91.t3 t91.t4))
% 0.35/0.55  (step t91 (cl (= (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y)))) (forall ((Y Int)) (or (not (= Y 1)) (not (tptp.pow2 Y)))))) :rule bind)
% 0.35/0.55  (step t92 (cl (= (forall ((Y Int)) (or (not (= Y 1)) (not (tptp.pow2 Y)))) (or (not (= 1 1)) (not (tptp.pow2 1))))) :rule all_simplify)
% 0.35/0.55  (step t93 (cl (= (not (= 1 1)) (not true))) :rule cong :premises (t45))
% 0.35/0.55  (step t94 (cl (= (not (= 1 1)) false)) :rule trans :premises (t93 t10))
% 0.35/0.55  (step t95 (cl (= (not (tptp.pow2 1)) (not (tptp.pow2 1)))) :rule refl)
% 0.35/0.55  (step t96 (cl (= (or (not (= 1 1)) (not (tptp.pow2 1))) (or false (not (tptp.pow2 1))))) :rule cong :premises (t94 t95))
% 0.35/0.55  (step t97 (cl (= (or false (not (tptp.pow2 1))) (not (tptp.pow2 1)))) :rule all_simplify)
% 0.35/0.55  (step t98 (cl (= (or (not (= 1 1)) (not (tptp.pow2 1))) (not (tptp.pow2 1)))) :rule trans :premises (t96 t97))
% 0.35/0.55  (step t99 (cl (= (forall ((Y Int)) (or (not (= Y 1)) (not (tptp.pow2 Y)))) (not (tptp.pow2 1)))) :rule trans :premises (t92 t98))
% 0.35/0.55  (step t100 (cl (= (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y)))) (not (tptp.pow2 1)))) :rule trans :premises (t91 t99))
% 0.35/0.55  (step t101 (cl (= (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y))))) (not (not (tptp.pow2 1))))) :rule cong :premises (t100))
% 0.35/0.55  (step t102 (cl (= (not (not (tptp.pow2 1))) (tptp.pow2 1))) :rule all_simplify)
% 0.35/0.55  (step t103 (cl (= (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y))))) (tptp.pow2 1))) :rule trans :premises (t101 t102))
% 0.35/0.55  (step t104 (cl (= (and (>= 2 2) (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y)))))) (and true (tptp.pow2 1)))) :rule cong :premises (t90 t103))
% 0.35/0.55  (step t105 (cl (= (and true (tptp.pow2 1)) (tptp.pow2 1))) :rule all_simplify)
% 0.35/0.55  (step t106 (cl (= (and (>= 2 2) (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y)))))) (tptp.pow2 1))) :rule trans :premises (t104 t105))
% 0.35/0.55  (step t107 (cl (= (or (= 2 1) (and (>= 2 2) (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y))))))) (or false (tptp.pow2 1)))) :rule cong :premises (t89 t106))
% 0.35/0.55  (step t108 (cl (= (or false (tptp.pow2 1)) (tptp.pow2 1))) :rule all_simplify)
% 0.35/0.55  (step t109 (cl (= (or (= 2 1) (and (>= 2 2) (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y))))))) (tptp.pow2 1))) :rule trans :premises (t107 t108))
% 0.35/0.55  (step t110 (cl (= (= (tptp.pow2 2) (or (= 2 1) (and (>= 2 2) (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y)))))))) (= (tptp.pow2 2) (tptp.pow2 1)))) :rule cong :premises (t88 t109))
% 0.35/0.55  (step t111 (cl (= (= (tptp.pow2 2) (tptp.pow2 1)) (= (tptp.pow2 1) (tptp.pow2 2)))) :rule all_simplify)
% 0.35/0.55  (step t112 (cl (= (= (tptp.pow2 2) (or (= 2 1) (and (>= 2 2) (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y)))))))) (= (tptp.pow2 1) (tptp.pow2 2)))) :rule trans :premises (t110 t111))
% 0.35/0.55  (step t113 (cl (= (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 2) (or (= 2 1) (and (>= 2 2) (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y))))))))) (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 1) (tptp.pow2 2))))) :rule cong :premises (t2 t112))
% 0.35/0.55  (step t114 (cl (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 2) (or (= 2 1) (and (>= 2 2) (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y))))))))) (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y)))))))))) :rule implies_neg1)
% 0.35/0.55  (anchor :step t115)
% 0.35/0.55  (assume t115.a0 (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))))
% 0.35/0.55  (step t115.t1 (cl (or (not (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y)))))))))) (= (tptp.pow2 2) (or (= 2 1) (and (>= 2 2) (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y)))))))))) :rule forall_inst :args ((:= X 2)))
% 0.35/0.55  (step t115.t2 (cl (not (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y)))))))))) (= (tptp.pow2 2) (or (= 2 1) (and (>= 2 2) (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y))))))))) :rule or :premises (t115.t1))
% 0.35/0.55  (step t115.t3 (cl (= (tptp.pow2 2) (or (= 2 1) (and (>= 2 2) (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y))))))))) :rule resolution :premises (t115.t2 t115.a0))
% 0.35/0.55  (step t115 (cl (not (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y)))))))))) (= (tptp.pow2 2) (or (= 2 1) (and (>= 2 2) (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y))))))))) :rule subproof :discharge (t115.a0))
% 0.35/0.55  (step t116 (cl (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 2) (or (= 2 1) (and (>= 2 2) (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 2) (or (= 2 1) (and (>= 2 2) (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y))))))))) :rule resolution :premises (t114 t115))
% 0.35/0.55  (step t117 (cl (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 2) (or (= 2 1) (and (>= 2 2) (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y))))))))) (not (= (tptp.pow2 2) (or (= 2 1) (and (>= 2 2) (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y)))))))))) :rule implies_neg2)
% 0.35/0.55  (step t118 (cl (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 2) (or (= 2 1) (and (>= 2 2) (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y))))))))) (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 2) (or (= 2 1) (and (>= 2 2) (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y)))))))))) :rule resolution :premises (t116 t117))
% 0.35/0.55  (step t119 (cl (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 2) (or (= 2 1) (and (>= 2 2) (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y)))))))))) :rule contraction :premises (t118))
% 0.35/0.55  (step t120 (cl (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 1) (tptp.pow2 2)))) :rule resolution :premises (t87 t113 t119))
% 0.35/0.55  (step t121 (cl (not (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y)))))))))) (= (tptp.pow2 1) (tptp.pow2 2))) :rule implies :premises (t120))
% 0.35/0.55  (step t122 (cl (= (tptp.pow2 1) (tptp.pow2 2))) :rule resolution :premises (t121 t85))
% 0.35/0.55  (step t123 (cl (tptp.pow2 2)) :rule resolution :premises (t42 t86 t122))
% 0.35/0.55  (step t124 (cl (not (= (tptp.pow2 8) (tptp.pow2 4))) (tptp.pow2 8) (not (tptp.pow2 4))) :rule equiv_pos1)
% 0.35/0.55  (step t125 (cl (tptp.pow2 8) (not (tptp.pow2 4)) (not (= (tptp.pow2 8) (tptp.pow2 4)))) :rule reordering :premises (t124))
% 0.35/0.55  (step t126 (cl (not (or (not (tptp.pow2 8)) (not (tptp.pow2 2)))) (not (tptp.pow2 8)) (not (tptp.pow2 2))) :rule or_pos)
% 0.35/0.55  (step t127 (cl (not (tptp.pow2 2)) (not (tptp.pow2 8)) (not (or (not (tptp.pow2 8)) (not (tptp.pow2 2))))) :rule reordering :premises (t126))
% 0.35/0.55  (step t128 (cl (not (= (=> (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)))) (or (not (tptp.pow2 (+ 10 (* (- 1) 2)))) (not (tptp.pow2 2)))) (=> (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)))) (or (not (tptp.pow2 8)) (not (tptp.pow2 2)))))) (not (=> (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)))) (or (not (tptp.pow2 (+ 10 (* (- 1) 2)))) (not (tptp.pow2 2))))) (=> (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)))) (or (not (tptp.pow2 8)) (not (tptp.pow2 2))))) :rule equiv_pos2)
% 0.35/0.55  (step t129 (cl (= (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)))) (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)))))) :rule refl)
% 0.35/0.55  (step t130 (cl (= 10 10)) :rule refl)
% 0.35/0.55  (step t131 (cl (= (* (- 1) 2) (- 2))) :rule all_simplify)
% 0.35/0.55  (step t132 (cl (= (+ 10 (* (- 1) 2)) (+ 10 (- 2)))) :rule cong :premises (t130 t131))
% 0.35/0.55  (step t133 (cl (= (+ 10 (- 2)) 8)) :rule all_simplify)
% 0.35/0.55  (step t134 (cl (= (+ 10 (* (- 1) 2)) 8)) :rule trans :premises (t132 t133))
% 0.35/0.55  (step t135 (cl (= (tptp.pow2 (+ 10 (* (- 1) 2))) (tptp.pow2 8))) :rule cong :premises (t134))
% 0.35/0.55  (step t136 (cl (= (not (tptp.pow2 (+ 10 (* (- 1) 2)))) (not (tptp.pow2 8)))) :rule cong :premises (t135))
% 0.35/0.55  (step t137 (cl (= (or (not (tptp.pow2 (+ 10 (* (- 1) 2)))) (not (tptp.pow2 2))) (or (not (tptp.pow2 8)) (not (tptp.pow2 2))))) :rule cong :premises (t136 t12))
% 0.35/0.55  (step t138 (cl (= (=> (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)))) (or (not (tptp.pow2 (+ 10 (* (- 1) 2)))) (not (tptp.pow2 2)))) (=> (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)))) (or (not (tptp.pow2 8)) (not (tptp.pow2 2)))))) :rule cong :premises (t129 t137))
% 0.35/0.55  (step t139 (cl (=> (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)))) (or (not (tptp.pow2 (+ 10 (* (- 1) 2)))) (not (tptp.pow2 2)))) (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y))))) :rule implies_neg1)
% 0.35/0.55  (anchor :step t140)
% 0.35/0.55  (assume t140.a0 (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)))))
% 0.35/0.55  (step t140.t1 (cl (or (not (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y))))) (or (not (tptp.pow2 (+ 10 (* (- 1) 2)))) (not (tptp.pow2 2))))) :rule forall_inst :args ((:= Y 2)))
% 0.35/0.55  (step t140.t2 (cl (not (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y))))) (or (not (tptp.pow2 (+ 10 (* (- 1) 2)))) (not (tptp.pow2 2)))) :rule or :premises (t140.t1))
% 0.35/0.55  (step t140.t3 (cl (or (not (tptp.pow2 (+ 10 (* (- 1) 2)))) (not (tptp.pow2 2)))) :rule resolution :premises (t140.t2 t140.a0))
% 0.35/0.55  (step t140 (cl (not (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y))))) (or (not (tptp.pow2 (+ 10 (* (- 1) 2)))) (not (tptp.pow2 2)))) :rule subproof :discharge (t140.a0))
% 0.35/0.55  (step t141 (cl (=> (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)))) (or (not (tptp.pow2 (+ 10 (* (- 1) 2)))) (not (tptp.pow2 2)))) (or (not (tptp.pow2 (+ 10 (* (- 1) 2)))) (not (tptp.pow2 2)))) :rule resolution :premises (t139 t140))
% 0.35/0.55  (step t142 (cl (=> (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)))) (or (not (tptp.pow2 (+ 10 (* (- 1) 2)))) (not (tptp.pow2 2)))) (not (or (not (tptp.pow2 (+ 10 (* (- 1) 2)))) (not (tptp.pow2 2))))) :rule implies_neg2)
% 0.35/0.55  (step t143 (cl (=> (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)))) (or (not (tptp.pow2 (+ 10 (* (- 1) 2)))) (not (tptp.pow2 2)))) (=> (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)))) (or (not (tptp.pow2 (+ 10 (* (- 1) 2)))) (not (tptp.pow2 2))))) :rule resolution :premises (t141 t142))
% 0.35/0.55  (step t144 (cl (=> (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)))) (or (not (tptp.pow2 (+ 10 (* (- 1) 2)))) (not (tptp.pow2 2))))) :rule contraction :premises (t143))
% 0.35/0.55  (step t145 (cl (=> (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y)))) (or (not (tptp.pow2 8)) (not (tptp.pow2 2))))) :rule resolution :premises (t128 t138 t144))
% 0.35/0.55  (step t146 (cl (not (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y))))) (or (not (tptp.pow2 8)) (not (tptp.pow2 2)))) :rule implies :premises (t145))
% 0.35/0.55  (step t147 (cl (not (not (not (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y))))))) (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y))))) :rule not_not)
% 0.35/0.55  (step t148 (cl (not (not (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y))))))) :rule not_implies2 :premises (t84))
% 0.35/0.55  (step t149 (cl (forall ((Y Int)) (or (not (tptp.pow2 (+ 10 (* (- 1) Y)))) (not (tptp.pow2 Y))))) :rule resolution :premises (t147 t148))
% 0.35/0.55  (step t150 (cl (or (not (tptp.pow2 8)) (not (tptp.pow2 2)))) :rule resolution :premises (t146 t149))
% 0.35/0.55  (step t151 (cl (not (tptp.pow2 8))) :rule resolution :premises (t127 t123 t150))
% 0.35/0.55  (step t152 (cl (not (= (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 8) (or (= 8 1) (and (>= 8 2) (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y))))))))) (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 8) (tptp.pow2 4))))) (not (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 8) (or (= 8 1) (and (>= 8 2) (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y)))))))))) (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 8) (tptp.pow2 4)))) :rule equiv_pos2)
% 0.35/0.55  (step t153 (cl (= (tptp.pow2 8) (tptp.pow2 8))) :rule refl)
% 0.35/0.55  (step t154 (cl (= (= 8 1) false)) :rule all_simplify)
% 0.35/0.55  (step t155 (cl (= (>= 8 2) true)) :rule all_simplify)
% 0.35/0.55  (anchor :step t156 :args ((Y Int) (:= Y Y)))
% 0.35/0.55  (step t156.t1 (cl (= Y Y)) :rule refl)
% 0.35/0.55  (step t156.t2 (cl (= (= 8 (* 2 Y)) (= Y 4))) :rule all_simplify)
% 0.35/0.55  (step t156.t3 (cl (= (not (= 8 (* 2 Y))) (not (= Y 4)))) :rule cong :premises (t156.t2))
% 0.35/0.55  (step t156.t4 (cl (= (not (tptp.pow2 Y)) (not (tptp.pow2 Y)))) :rule refl)
% 0.35/0.55  (step t156.t5 (cl (= (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y))) (or (not (= Y 4)) (not (tptp.pow2 Y))))) :rule cong :premises (t156.t3 t156.t4))
% 0.35/0.55  (step t156 (cl (= (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y)))) (forall ((Y Int)) (or (not (= Y 4)) (not (tptp.pow2 Y)))))) :rule bind)
% 0.35/0.55  (step t157 (cl (= (forall ((Y Int)) (or (not (= Y 4)) (not (tptp.pow2 Y)))) (or (not (= 4 4)) (not (tptp.pow2 4))))) :rule all_simplify)
% 0.35/0.55  (step t158 (cl (= (= 4 4) true)) :rule all_simplify)
% 0.35/0.55  (step t159 (cl (= (not (= 4 4)) (not true))) :rule cong :premises (t158))
% 0.35/0.55  (step t160 (cl (= (not (= 4 4)) false)) :rule trans :premises (t159 t10))
% 0.35/0.55  (step t161 (cl (= (not (tptp.pow2 4)) (not (tptp.pow2 4)))) :rule refl)
% 0.35/0.55  (step t162 (cl (= (or (not (= 4 4)) (not (tptp.pow2 4))) (or false (not (tptp.pow2 4))))) :rule cong :premises (t160 t161))
% 0.35/0.55  (step t163 (cl (= (or false (not (tptp.pow2 4))) (not (tptp.pow2 4)))) :rule all_simplify)
% 0.35/0.55  (step t164 (cl (= (or (not (= 4 4)) (not (tptp.pow2 4))) (not (tptp.pow2 4)))) :rule trans :premises (t162 t163))
% 0.35/0.55  (step t165 (cl (= (forall ((Y Int)) (or (not (= Y 4)) (not (tptp.pow2 Y)))) (not (tptp.pow2 4)))) :rule trans :premises (t157 t164))
% 0.35/0.55  (step t166 (cl (= (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y)))) (not (tptp.pow2 4)))) :rule trans :premises (t156 t165))
% 0.35/0.55  (step t167 (cl (= (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y))))) (not (not (tptp.pow2 4))))) :rule cong :premises (t166))
% 0.35/0.55  (step t168 (cl (= (not (not (tptp.pow2 4))) (tptp.pow2 4))) :rule all_simplify)
% 0.35/0.55  (step t169 (cl (= (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y))))) (tptp.pow2 4))) :rule trans :premises (t167 t168))
% 0.35/0.55  (step t170 (cl (= (and (>= 8 2) (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y)))))) (and true (tptp.pow2 4)))) :rule cong :premises (t155 t169))
% 0.35/0.55  (step t171 (cl (= (and true (tptp.pow2 4)) (tptp.pow2 4))) :rule all_simplify)
% 0.35/0.55  (step t172 (cl (= (and (>= 8 2) (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y)))))) (tptp.pow2 4))) :rule trans :premises (t170 t171))
% 0.35/0.55  (step t173 (cl (= (or (= 8 1) (and (>= 8 2) (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y))))))) (or false (tptp.pow2 4)))) :rule cong :premises (t154 t172))
% 0.35/0.55  (step t174 (cl (= (or false (tptp.pow2 4)) (tptp.pow2 4))) :rule all_simplify)
% 0.35/0.55  (step t175 (cl (= (or (= 8 1) (and (>= 8 2) (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y))))))) (tptp.pow2 4))) :rule trans :premises (t173 t174))
% 0.35/0.55  (step t176 (cl (= (= (tptp.pow2 8) (or (= 8 1) (and (>= 8 2) (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y)))))))) (= (tptp.pow2 8) (tptp.pow2 4)))) :rule cong :premises (t153 t175))
% 0.35/0.55  (step t177 (cl (= (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 8) (or (= 8 1) (and (>= 8 2) (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y))))))))) (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 8) (tptp.pow2 4))))) :rule cong :premises (t2 t176))
% 0.35/0.55  (step t178 (cl (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 8) (or (= 8 1) (and (>= 8 2) (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y))))))))) (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y)))))))))) :rule implies_neg1)
% 0.35/0.55  (anchor :step t179)
% 0.35/0.55  (assume t179.a0 (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))))
% 0.35/0.55  (step t179.t1 (cl (or (not (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y)))))))))) (= (tptp.pow2 8) (or (= 8 1) (and (>= 8 2) (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y)))))))))) :rule forall_inst :args ((:= X 8)))
% 0.35/0.55  (step t179.t2 (cl (not (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y)))))))))) (= (tptp.pow2 8) (or (= 8 1) (and (>= 8 2) (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y))))))))) :rule or :premises (t179.t1))
% 0.35/0.55  (step t179.t3 (cl (= (tptp.pow2 8) (or (= 8 1) (and (>= 8 2) (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y))))))))) :rule resolution :premises (t179.t2 t179.a0))
% 0.35/0.55  (step t179 (cl (not (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y)))))))))) (= (tptp.pow2 8) (or (= 8 1) (and (>= 8 2) (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y))))))))) :rule subproof :discharge (t179.a0))
% 0.35/0.55  (step t180 (cl (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 8) (or (= 8 1) (and (>= 8 2) (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 8) (or (= 8 1) (and (>= 8 2) (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y))))))))) :rule resolution :premises (t178 t179))
% 0.35/0.55  (step t181 (cl (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 8) (or (= 8 1) (and (>= 8 2) (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y))))))))) (not (= (tptp.pow2 8) (or (= 8 1) (and (>= 8 2) (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y)))))))))) :rule implies_neg2)
% 0.35/0.55  (step t182 (cl (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 8) (or (= 8 1) (and (>= 8 2) (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y))))))))) (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 8) (or (= 8 1) (and (>= 8 2) (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y)))))))))) :rule resolution :premises (t180 t181))
% 0.35/0.55  (step t183 (cl (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 8) (or (= 8 1) (and (>= 8 2) (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y)))))))))) :rule contraction :premises (t182))
% 0.35/0.55  (step t184 (cl (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y))))))))) (= (tptp.pow2 8) (tptp.pow2 4)))) :rule resolution :premises (t152 t177 t183))
% 0.35/0.55  (step t185 (cl (not (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (>= X 2) (not (forall ((Y Int)) (or (not (= X (* 2 Y))) (not (tptp.pow2 Y)))))))))) (= (tptp.pow2 8) (tptp.pow2 4))) :rule implies :premises (t184))
% 0.35/0.55  (step t186 (cl (= (tptp.pow2 8) (tptp.pow2 4))) :rule resolution :premises (t185 t85))
% 0.35/0.55  (step t187 (cl (not (tptp.pow2 4))) :rule resolution :premises (t125 t151 t186))
% 0.35/0.55  (step t188 (cl (not (= (tptp.pow2 2) (tptp.pow2 4)))) :rule resolution :premises (t40 t123 t187))
% 0.35/0.55  (step t189 (cl) :rule resolution :premises (t38 t188 t85))
% 0.35/0.55  
% 0.35/0.55  % SZS output end Proof for /export/starexec/sandbox/tmp/tmp.YPHB0iKzs6/cvc5---1.0.5_10311.smt2
% 0.35/0.55  % cvc5---1.0.5 exiting
% 0.35/0.56  % cvc5---1.0.5 exiting
%------------------------------------------------------------------------------