TSTP Solution File: ARI620_1 by cvc5---1.0.5

View Problem - Process Solution

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

% Computer : n024.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8042.1875MB
% OS       : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit  : 300s
% DateTime : Wed May 29 16:34:16 EDT 2024

% Result   : Theorem 0.36s 0.54s
% Output   : Proof 0.36s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.06/0.12  % Problem    : ARI620_1 : TPTP v8.2.0. Released v5.1.0.
% 0.06/0.13  % Command    : do_cvc5 %s %d
% 0.13/0.34  % Computer : n024.cluster.edu
% 0.13/0.34  % Model    : x86_64 x86_64
% 0.13/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.34  % Memory   : 8042.1875MB
% 0.13/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.34  % CPULimit   : 300
% 0.13/0.34  % WCLimit    : 300
% 0.13/0.34  % DateTime   : Mon May 27 05:41:39 EDT 2024
% 0.13/0.34  % CPUTime    : 
% 0.19/0.48  %----Proving TF0_ARI
% 0.36/0.54  --- Run --finite-model-find --decision=internal at 15...
% 0.36/0.54  --- Run --decision=internal --simplification=none --no-inst-no-entail --no-cbqi --full-saturate-quant at 15...
% 0.36/0.54  % SZS status Theorem for /export/starexec/sandbox/tmp/tmp.NURhPx80I2/cvc5---1.0.5_5491.smt2
% 0.36/0.54  % SZS output start Proof for /export/starexec/sandbox/tmp/tmp.NURhPx80I2/cvc5---1.0.5_5491.smt2
% 0.36/0.54  (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))))))) (tptp.pow2 8))))
% 0.36/0.54  (assume a1 true)
% 0.36/0.54  (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 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.36/0.54  (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.36/0.54  (step t3 (cl (= (tptp.pow2 1) (tptp.pow2 1))) :rule refl)
% 0.36/0.54  (step t4 (cl (= (= 1 1) true)) :rule all_simplify)
% 0.36/0.54  (step t5 (cl (= (>= 1 2) false)) :rule all_simplify)
% 0.36/0.54  (anchor :step t6 :args ((Y Int) (:= Y Y)))
% 0.36/0.54  (step t6.t1 (cl (= Y Y)) :rule refl)
% 0.36/0.54  (step t6.t2 (cl (= (= 1 (* 2 Y)) false)) :rule all_simplify)
% 0.36/0.54  (step t6.t3 (cl (= (not (= 1 (* 2 Y))) (not false))) :rule cong :premises (t6.t2))
% 0.36/0.54  (step t6.t4 (cl (= (not false) true)) :rule all_simplify)
% 0.36/0.54  (step t6.t5 (cl (= (not (= 1 (* 2 Y))) true)) :rule trans :premises (t6.t3 t6.t4))
% 0.36/0.54  (step t6.t6 (cl (= (not (tptp.pow2 Y)) (not (tptp.pow2 Y)))) :rule refl)
% 0.36/0.54  (step t6.t7 (cl (= (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y))) (or true (not (tptp.pow2 Y))))) :rule cong :premises (t6.t5 t6.t6))
% 0.36/0.54  (step t6.t8 (cl (= (or true (not (tptp.pow2 Y))) true)) :rule all_simplify)
% 0.36/0.54  (step t6.t9 (cl (= (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y))) true)) :rule trans :premises (t6.t7 t6.t8))
% 0.36/0.54  (step t6 (cl (= (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y)))) (forall ((Y Int)) true))) :rule bind)
% 0.36/0.54  (step t7 (cl (= (forall ((Y Int)) true) true)) :rule all_simplify)
% 0.36/0.54  (step t8 (cl (= (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y)))) true)) :rule trans :premises (t6 t7))
% 0.36/0.54  (step t9 (cl (= (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y))))) (not true))) :rule cong :premises (t8))
% 0.36/0.54  (step t10 (cl (= (not true) false)) :rule all_simplify)
% 0.36/0.54  (step t11 (cl (= (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y))))) false)) :rule trans :premises (t9 t10))
% 0.36/0.54  (step t12 (cl (= (and (>= 1 2) (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y)))))) (and false false))) :rule cong :premises (t5 t11))
% 0.36/0.54  (step t13 (cl (= (and false false) false)) :rule all_simplify)
% 0.36/0.54  (step t14 (cl (= (and (>= 1 2) (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y)))))) false)) :rule trans :premises (t12 t13))
% 0.36/0.54  (step t15 (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 (t4 t14))
% 0.36/0.54  (step t16 (cl (= (or true false) true)) :rule all_simplify)
% 0.36/0.54  (step t17 (cl (= (or (= 1 1) (and (>= 1 2) (not (forall ((Y Int)) (or (not (= 1 (* 2 Y))) (not (tptp.pow2 Y))))))) true)) :rule trans :premises (t15 t16))
% 0.36/0.54  (step t18 (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 (t3 t17))
% 0.36/0.54  (step t19 (cl (= (= (tptp.pow2 1) true) (tptp.pow2 1))) :rule all_simplify)
% 0.36/0.54  (step t20 (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 (t18 t19))
% 0.36/0.54  (step t21 (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 t20))
% 0.36/0.54  (step t22 (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.36/0.54  (anchor :step t23)
% 0.36/0.54  (assume t23.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.36/0.54  (step t23.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.36/0.54  (step t23.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 (t23.t1))
% 0.36/0.54  (step t23.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 (t23.t2 t23.a0))
% 0.36/0.54  (step t23 (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 (t23.a0))
% 0.36/0.54  (step t24 (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 (t22 t23))
% 0.36/0.54  (step t25 (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.36/0.54  (step t26 (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 (t24 t25))
% 0.36/0.54  (step t27 (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 (t26))
% 0.36/0.54  (step t28 (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 (t1 t21 t27))
% 0.36/0.54  (step t29 (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 (t28))
% 0.36/0.54  (step t30 (cl (not (= (tptp.pow2 2) (tptp.pow2 1))) (tptp.pow2 2) (not (tptp.pow2 1))) :rule equiv_pos1)
% 0.36/0.54  (step t31 (cl (tptp.pow2 2) (not (tptp.pow2 1)) (not (= (tptp.pow2 2) (tptp.pow2 1)))) :rule reordering :premises (t30))
% 0.36/0.54  (step t32 (cl (not (= (tptp.pow2 4) (tptp.pow2 2))) (tptp.pow2 4) (not (tptp.pow2 2))) :rule equiv_pos1)
% 0.36/0.54  (step t33 (cl (tptp.pow2 4) (not (tptp.pow2 2)) (not (= (tptp.pow2 4) (tptp.pow2 2)))) :rule reordering :premises (t32))
% 0.36/0.54  (step t34 (cl (not (= (tptp.pow2 8) (tptp.pow2 4))) (tptp.pow2 8) (not (tptp.pow2 4))) :rule equiv_pos1)
% 0.36/0.54  (step t35 (cl (tptp.pow2 8) (not (tptp.pow2 4)) (not (= (tptp.pow2 8) (tptp.pow2 4)))) :rule reordering :premises (t34))
% 0.36/0.54  (step t36 (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))))))) (tptp.pow2 8))) (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))))) (not (not (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (<= 2 X) (exists ((Y Int)) (and (= (* 2 Y) X) (tptp.pow2 Y))))))) (tptp.pow2 8)))) (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)))) :rule equiv_pos2)
% 0.36/0.54  (anchor :step t37 :args ((X Int) (:= X X)))
% 0.36/0.54  (step t37.t1 (cl (= X X)) :rule refl)
% 0.36/0.54  (step t37.t2 (cl (= (tptp.pow2 X) (tptp.pow2 X))) :rule refl)
% 0.36/0.54  (step t37.t3 (cl (= (= X 1) (= X 1))) :rule refl)
% 0.36/0.54  (step t37.t4 (cl (= (<= 2 X) (>= X 2))) :rule all_simplify)
% 0.36/0.54  (anchor :step t37.t5 :args ((Y Int) (:= Y Y)))
% 0.36/0.54  (step t37.t5.t1 (cl (= Y Y)) :rule refl)
% 0.36/0.54  (step t37.t5.t2 (cl (= (= (* 2 Y) X) (= X (* 2 Y)))) :rule all_simplify)
% 0.36/0.54  (step t37.t5.t3 (cl (= (tptp.pow2 Y) (tptp.pow2 Y))) :rule refl)
% 0.36/0.54  (step t37.t5.t4 (cl (= (and (= (* 2 Y) X) (tptp.pow2 Y)) (and (= X (* 2 Y)) (tptp.pow2 Y)))) :rule cong :premises (t37.t5.t2 t37.t5.t3))
% 0.36/0.54  (step t37.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.36/0.54  (step t37.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.36/0.54  (step t37.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.36/0.54  (step t37.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 (t37.t7))
% 0.36/0.54  (step t37.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 (t37.t6 t37.t8))
% 0.36/0.54  (step t37.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 (t37.t5 t37.t9))
% 0.36/0.54  (step t37.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 (t37.t4 t37.t10))
% 0.36/0.54  (step t37.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 (t37.t3 t37.t11))
% 0.36/0.54  (step t37.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 (t37.t2 t37.t12))
% 0.36/0.54  (step t37 (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.36/0.54  (step t38 (cl (= (tptp.pow2 8) (tptp.pow2 8))) :rule refl)
% 0.36/0.54  (step t39 (cl (= (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (<= 2 X) (exists ((Y Int)) (and (= (* 2 Y) X) (tptp.pow2 Y))))))) (tptp.pow2 8)) (=> (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)))) :rule cong :premises (t37 t38))
% 0.36/0.54  (step t40 (cl (= (not (=> (forall ((X Int)) (= (tptp.pow2 X) (or (= X 1) (and (<= 2 X) (exists ((Y Int)) (and (= (* 2 Y) X) (tptp.pow2 Y))))))) (tptp.pow2 8))) (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))))) :rule cong :premises (t39))
% 0.36/0.54  (step t41 (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)))) :rule resolution :premises (t36 t40 a0))
% 0.36/0.54  (step t42 (cl (not (tptp.pow2 8))) :rule not_implies2 :premises (t41))
% 0.36/0.54  (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 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.36/0.54  (step t44 (cl (= (= 8 1) false)) :rule all_simplify)
% 0.36/0.54  (step t45 (cl (= (>= 8 2) true)) :rule all_simplify)
% 0.36/0.54  (anchor :step t46 :args ((Y Int) (:= Y Y)))
% 0.36/0.54  (step t46.t1 (cl (= Y Y)) :rule refl)
% 0.36/0.54  (step t46.t2 (cl (= (= 8 (* 2 Y)) (= Y 4))) :rule all_simplify)
% 0.36/0.54  (step t46.t3 (cl (= (not (= 8 (* 2 Y))) (not (= Y 4)))) :rule cong :premises (t46.t2))
% 0.36/0.54  (step t46.t4 (cl (= (not (tptp.pow2 Y)) (not (tptp.pow2 Y)))) :rule refl)
% 0.36/0.54  (step t46.t5 (cl (= (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y))) (or (not (= Y 4)) (not (tptp.pow2 Y))))) :rule cong :premises (t46.t3 t46.t4))
% 0.36/0.54  (step t46 (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.36/0.54  (step t47 (cl (= (forall ((Y Int)) (or (not (= Y 4)) (not (tptp.pow2 Y)))) (or (not (= 4 4)) (not (tptp.pow2 4))))) :rule all_simplify)
% 0.36/0.54  (step t48 (cl (= (= 4 4) true)) :rule all_simplify)
% 0.36/0.54  (step t49 (cl (= (not (= 4 4)) (not true))) :rule cong :premises (t48))
% 0.36/0.54  (step t50 (cl (= (not (= 4 4)) false)) :rule trans :premises (t49 t10))
% 0.36/0.54  (step t51 (cl (= (not (tptp.pow2 4)) (not (tptp.pow2 4)))) :rule refl)
% 0.36/0.54  (step t52 (cl (= (or (not (= 4 4)) (not (tptp.pow2 4))) (or false (not (tptp.pow2 4))))) :rule cong :premises (t50 t51))
% 0.36/0.54  (step t53 (cl (= (or false (not (tptp.pow2 4))) (not (tptp.pow2 4)))) :rule all_simplify)
% 0.36/0.54  (step t54 (cl (= (or (not (= 4 4)) (not (tptp.pow2 4))) (not (tptp.pow2 4)))) :rule trans :premises (t52 t53))
% 0.36/0.54  (step t55 (cl (= (forall ((Y Int)) (or (not (= Y 4)) (not (tptp.pow2 Y)))) (not (tptp.pow2 4)))) :rule trans :premises (t47 t54))
% 0.36/0.54  (step t56 (cl (= (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y)))) (not (tptp.pow2 4)))) :rule trans :premises (t46 t55))
% 0.36/0.54  (step t57 (cl (= (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y))))) (not (not (tptp.pow2 4))))) :rule cong :premises (t56))
% 0.36/0.54  (step t58 (cl (= (not (not (tptp.pow2 4))) (tptp.pow2 4))) :rule all_simplify)
% 0.36/0.54  (step t59 (cl (= (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y))))) (tptp.pow2 4))) :rule trans :premises (t57 t58))
% 0.36/0.54  (step t60 (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 (t45 t59))
% 0.36/0.54  (step t61 (cl (= (and true (tptp.pow2 4)) (tptp.pow2 4))) :rule all_simplify)
% 0.36/0.54  (step t62 (cl (= (and (>= 8 2) (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y)))))) (tptp.pow2 4))) :rule trans :premises (t60 t61))
% 0.36/0.54  (step t63 (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 (t44 t62))
% 0.36/0.54  (step t64 (cl (= (or false (tptp.pow2 4)) (tptp.pow2 4))) :rule all_simplify)
% 0.36/0.54  (step t65 (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 (t63 t64))
% 0.36/0.54  (step t66 (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 (t38 t65))
% 0.36/0.54  (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 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 t66))
% 0.36/0.54  (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 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.36/0.54  (anchor :step t69)
% 0.36/0.54  (assume t69.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.36/0.54  (step t69.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.36/0.54  (step t69.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 (t69.t1))
% 0.36/0.54  (step t69.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 (t69.t2 t69.a0))
% 0.36/0.54  (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 8) (or (= 8 1) (and (>= 8 2) (not (forall ((Y Int)) (or (not (= 8 (* 2 Y))) (not (tptp.pow2 Y))))))))) :rule subproof :discharge (t69.a0))
% 0.36/0.54  (step t70 (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 (t68 t69))
% 0.36/0.54  (step t71 (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.36/0.54  (step t72 (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 (t70 t71))
% 0.36/0.54  (step t73 (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 (t72))
% 0.36/0.54  (step t74 (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 (t43 t67 t73))
% 0.36/0.54  (step t75 (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 (t74))
% 0.36/0.54  (step t76 (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 (t41))
% 0.36/0.54  (step t77 (cl (= (tptp.pow2 8) (tptp.pow2 4))) :rule resolution :premises (t75 t76))
% 0.36/0.54  (step t78 (cl (not (tptp.pow2 4))) :rule resolution :premises (t35 t42 t77))
% 0.36/0.54  (step t79 (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 4) (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 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) (tptp.pow2 2)))) :rule equiv_pos2)
% 0.36/0.54  (step t80 (cl (= (tptp.pow2 4) (tptp.pow2 4))) :rule refl)
% 0.36/0.54  (step t81 (cl (= (= 4 1) false)) :rule all_simplify)
% 0.36/0.54  (step t82 (cl (= (>= 4 2) true)) :rule all_simplify)
% 0.36/0.54  (anchor :step t83 :args ((Y Int) (:= Y Y)))
% 0.36/0.54  (step t83.t1 (cl (= Y Y)) :rule refl)
% 0.36/0.54  (step t83.t2 (cl (= (= 4 (* 2 Y)) (= Y 2))) :rule all_simplify)
% 0.36/0.54  (step t83.t3 (cl (= (not (= 4 (* 2 Y))) (not (= Y 2)))) :rule cong :premises (t83.t2))
% 0.36/0.54  (step t83.t4 (cl (= (not (tptp.pow2 Y)) (not (tptp.pow2 Y)))) :rule refl)
% 0.36/0.54  (step t83.t5 (cl (= (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y))) (or (not (= Y 2)) (not (tptp.pow2 Y))))) :rule cong :premises (t83.t3 t83.t4))
% 0.36/0.54  (step t83 (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.36/0.54  (step t84 (cl (= (forall ((Y Int)) (or (not (= Y 2)) (not (tptp.pow2 Y)))) (or (not (= 2 2)) (not (tptp.pow2 2))))) :rule all_simplify)
% 0.36/0.54  (step t85 (cl (= (= 2 2) true)) :rule all_simplify)
% 0.36/0.54  (step t86 (cl (= (not (= 2 2)) (not true))) :rule cong :premises (t85))
% 0.36/0.54  (step t87 (cl (= (not (= 2 2)) false)) :rule trans :premises (t86 t10))
% 0.36/0.54  (step t88 (cl (= (not (tptp.pow2 2)) (not (tptp.pow2 2)))) :rule refl)
% 0.36/0.54  (step t89 (cl (= (or (not (= 2 2)) (not (tptp.pow2 2))) (or false (not (tptp.pow2 2))))) :rule cong :premises (t87 t88))
% 0.36/0.54  (step t90 (cl (= (or false (not (tptp.pow2 2))) (not (tptp.pow2 2)))) :rule all_simplify)
% 0.36/0.54  (step t91 (cl (= (or (not (= 2 2)) (not (tptp.pow2 2))) (not (tptp.pow2 2)))) :rule trans :premises (t89 t90))
% 0.36/0.54  (step t92 (cl (= (forall ((Y Int)) (or (not (= Y 2)) (not (tptp.pow2 Y)))) (not (tptp.pow2 2)))) :rule trans :premises (t84 t91))
% 0.36/0.54  (step t93 (cl (= (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y)))) (not (tptp.pow2 2)))) :rule trans :premises (t83 t92))
% 0.36/0.54  (step t94 (cl (= (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y))))) (not (not (tptp.pow2 2))))) :rule cong :premises (t93))
% 0.36/0.54  (step t95 (cl (= (not (not (tptp.pow2 2))) (tptp.pow2 2))) :rule all_simplify)
% 0.36/0.54  (step t96 (cl (= (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y))))) (tptp.pow2 2))) :rule trans :premises (t94 t95))
% 0.36/0.54  (step t97 (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 (t82 t96))
% 0.36/0.54  (step t98 (cl (= (and true (tptp.pow2 2)) (tptp.pow2 2))) :rule all_simplify)
% 0.36/0.54  (step t99 (cl (= (and (>= 4 2) (not (forall ((Y Int)) (or (not (= 4 (* 2 Y))) (not (tptp.pow2 Y)))))) (tptp.pow2 2))) :rule trans :premises (t97 t98))
% 0.36/0.54  (step t100 (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 (t81 t99))
% 0.36/0.54  (step t101 (cl (= (or false (tptp.pow2 2)) (tptp.pow2 2))) :rule all_simplify)
% 0.36/0.54  (step t102 (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 (t100 t101))
% 0.36/0.54  (step t103 (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 (t80 t102))
% 0.36/0.54  (step t104 (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) (tptp.pow2 2))))) :rule cong :premises (t2 t103))
% 0.36/0.54  (step t105 (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.36/0.54  (anchor :step t106)
% 0.36/0.54  (assume t106.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.36/0.54  (step t106.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.36/0.54  (step t106.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 (t106.t1))
% 0.36/0.54  (step t106.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 (t106.t2 t106.a0))
% 0.36/0.54  (step t106 (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 (t106.a0))
% 0.36/0.54  (step t107 (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 (t105 t106))
% 0.36/0.54  (step t108 (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.36/0.54  (step t109 (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 (t107 t108))
% 0.36/0.54  (step t110 (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 (t109))
% 0.36/0.54  (step t111 (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) (tptp.pow2 2)))) :rule resolution :premises (t79 t104 t110))
% 0.36/0.54  (step t112 (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) (tptp.pow2 2))) :rule implies :premises (t111))
% 0.36/0.54  (step t113 (cl (= (tptp.pow2 4) (tptp.pow2 2))) :rule resolution :premises (t112 t76))
% 0.36/0.54  (step t114 (cl (not (tptp.pow2 2))) :rule resolution :premises (t33 t78 t113))
% 0.36/0.54  (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))))))))) (=> (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 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 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) (tptp.pow2 1)))) :rule equiv_pos2)
% 0.36/0.54  (step t116 (cl (= (tptp.pow2 2) (tptp.pow2 2))) :rule refl)
% 0.36/0.54  (step t117 (cl (= (= 2 1) false)) :rule all_simplify)
% 0.36/0.54  (step t118 (cl (= (>= 2 2) true)) :rule all_simplify)
% 0.36/0.54  (anchor :step t119 :args ((Y Int) (:= Y Y)))
% 0.36/0.54  (step t119.t1 (cl (= Y Y)) :rule refl)
% 0.36/0.54  (step t119.t2 (cl (= (= 2 (* 2 Y)) (= Y 1))) :rule all_simplify)
% 0.36/0.54  (step t119.t3 (cl (= (not (= 2 (* 2 Y))) (not (= Y 1)))) :rule cong :premises (t119.t2))
% 0.36/0.54  (step t119.t4 (cl (= (not (tptp.pow2 Y)) (not (tptp.pow2 Y)))) :rule refl)
% 0.36/0.54  (step t119.t5 (cl (= (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y))) (or (not (= Y 1)) (not (tptp.pow2 Y))))) :rule cong :premises (t119.t3 t119.t4))
% 0.36/0.54  (step t119 (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.36/0.54  (step t120 (cl (= (forall ((Y Int)) (or (not (= Y 1)) (not (tptp.pow2 Y)))) (or (not (= 1 1)) (not (tptp.pow2 1))))) :rule all_simplify)
% 0.36/0.54  (step t121 (cl (= (not (= 1 1)) (not true))) :rule cong :premises (t4))
% 0.36/0.54  (step t122 (cl (= (not (= 1 1)) false)) :rule trans :premises (t121 t10))
% 0.36/0.54  (step t123 (cl (= (not (tptp.pow2 1)) (not (tptp.pow2 1)))) :rule refl)
% 0.36/0.54  (step t124 (cl (= (or (not (= 1 1)) (not (tptp.pow2 1))) (or false (not (tptp.pow2 1))))) :rule cong :premises (t122 t123))
% 0.36/0.54  (step t125 (cl (= (or false (not (tptp.pow2 1))) (not (tptp.pow2 1)))) :rule all_simplify)
% 0.36/0.54  (step t126 (cl (= (or (not (= 1 1)) (not (tptp.pow2 1))) (not (tptp.pow2 1)))) :rule trans :premises (t124 t125))
% 0.36/0.54  (step t127 (cl (= (forall ((Y Int)) (or (not (= Y 1)) (not (tptp.pow2 Y)))) (not (tptp.pow2 1)))) :rule trans :premises (t120 t126))
% 0.36/0.54  (step t128 (cl (= (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y)))) (not (tptp.pow2 1)))) :rule trans :premises (t119 t127))
% 0.36/0.54  (step t129 (cl (= (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y))))) (not (not (tptp.pow2 1))))) :rule cong :premises (t128))
% 0.36/0.54  (step t130 (cl (= (not (not (tptp.pow2 1))) (tptp.pow2 1))) :rule all_simplify)
% 0.36/0.54  (step t131 (cl (= (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y))))) (tptp.pow2 1))) :rule trans :premises (t129 t130))
% 0.36/0.54  (step t132 (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 (t118 t131))
% 0.36/0.54  (step t133 (cl (= (and true (tptp.pow2 1)) (tptp.pow2 1))) :rule all_simplify)
% 0.36/0.54  (step t134 (cl (= (and (>= 2 2) (not (forall ((Y Int)) (or (not (= 2 (* 2 Y))) (not (tptp.pow2 Y)))))) (tptp.pow2 1))) :rule trans :premises (t132 t133))
% 0.36/0.54  (step t135 (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 (t117 t134))
% 0.36/0.54  (step t136 (cl (= (or false (tptp.pow2 1)) (tptp.pow2 1))) :rule all_simplify)
% 0.36/0.54  (step t137 (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 (t135 t136))
% 0.36/0.54  (step t138 (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 (t116 t137))
% 0.36/0.54  (step t139 (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) (tptp.pow2 1))))) :rule cong :premises (t2 t138))
% 0.36/0.54  (step t140 (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.36/0.54  (anchor :step t141)
% 0.36/0.54  (assume t141.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.36/0.54  (step t141.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.36/0.54  (step t141.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 (t141.t1))
% 0.36/0.54  (step t141.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 (t141.t2 t141.a0))
% 0.36/0.54  (step t141 (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 (t141.a0))
% 0.36/0.54  (step t142 (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 (t140 t141))
% 0.36/0.54  (step t143 (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.36/0.54  (step t144 (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 (t142 t143))
% 0.36/0.54  (step t145 (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 (t144))
% 0.36/0.54  (step t146 (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 1)))) :rule resolution :premises (t115 t139 t145))
% 0.36/0.54  (step t147 (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 1))) :rule implies :premises (t146))
% 0.36/0.54  (step t148 (cl (= (tptp.pow2 2) (tptp.pow2 1))) :rule resolution :premises (t147 t76))
% 0.36/0.54  (step t149 (cl (not (tptp.pow2 1))) :rule resolution :premises (t31 t114 t148))
% 0.36/0.54  (step t150 (cl) :rule resolution :premises (t29 t149 t76))
% 0.36/0.54  
% 0.36/0.54  % SZS output end Proof for /export/starexec/sandbox/tmp/tmp.NURhPx80I2/cvc5---1.0.5_5491.smt2
% 0.36/0.54  % cvc5---1.0.5 exiting
% 0.36/0.54  % cvc5---1.0.5 exiting
%------------------------------------------------------------------------------