% TIMEFORMAT='%3R'; { time (exec 2>&1; /home/martin/bin/satallax -E /home/martin/.isabelle/contrib/e-2.5-1/x86_64-linux/eprover -p tstp -t 5 /home/martin/judgement-day/tptp-thf/tptp/FFT/prob_72__3223088_1 ) ; }
% This file was generated by Isabelle (most likely Sledgehammer)
% 2020-12-16 14:09:01.638

% Could-be-implicit typings (3)
thf(ty_n_t__Set__Oset_It__Nat__Onat_J, type,
    set_nat : $tType).
thf(ty_n_t__Num__Onum, type,
    num : $tType).
thf(ty_n_t__Nat__Onat, type,
    nat : $tType).

% Explicit typings (18)
thf(sy_c_Groups_Otimes__class_Otimes_001t__Nat__Onat, type,
    times_times_nat : nat > nat > nat).
thf(sy_c_Groups_Otimes__class_Otimes_001t__Num__Onum, type,
    times_times_num : num > num > num).
thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat, type,
    zero_zero_nat : nat).
thf(sy_c_Lattices_Osup__class_Osup_001_062_It__Nat__Onat_M_Eo_J, type,
    sup_sup_nat_o : (nat > $o) > (nat > $o) > nat > $o).
thf(sy_c_Lattices_Osup__class_Osup_001t__Set__Oset_It__Nat__Onat_J, type,
    sup_sup_set_nat : set_nat > set_nat > set_nat).
thf(sy_c_Nat_OSuc, type,
    suc : nat > nat).
thf(sy_c_Num_Onum_OBit0, type,
    bit0 : num > num).
thf(sy_c_Num_Onum_OOne, type,
    one : num).
thf(sy_c_Num_Onumeral__class_Onumeral_001t__Nat__Onat, type,
    numeral_numeral_nat : num > nat).
thf(sy_c_Num_Opred__numeral, type,
    pred_numeral : num > nat).
thf(sy_c_Parity_Osemiring__bit__shifts__class_Opush__bit_001t__Nat__Onat, type,
    semiri2013084963it_nat : nat > nat > nat).
thf(sy_c_Parity_Osemiring__bit__shifts__class_Otake__bit_001t__Nat__Onat, type,
    semiri967765622it_nat : nat > nat > nat).
thf(sy_c_Rings_Omodulo__class_Omodulo_001t__Nat__Onat, type,
    modulo_modulo_nat : nat > nat > nat).
thf(sy_c_Set_OCollect_001t__Nat__Onat, type,
    collect_nat : (nat > $o) > set_nat).
thf(sy_c_Set_Oimage_001t__Nat__Onat_001t__Nat__Onat, type,
    image_nat_nat : (nat > nat) > set_nat > set_nat).
thf(sy_c_Set__Interval_Oord__class_OatLeastLessThan_001t__Nat__Onat, type,
    set_or562006527an_nat : nat > nat > set_nat).
thf(sy_c_member_001t__Nat__Onat, type,
    member_nat : nat > set_nat > $o).
thf(sy_v_n, type,
    n : nat).

% Relevant facts (136)
thf(fact_0_image__Suc__atLeastLessThan, axiom,
    ((![I : nat, J : nat]: ((image_nat_nat @ suc @ (set_or562006527an_nat @ I @ J)) = (set_or562006527an_nat @ (suc @ I) @ (suc @ J)))))). % image_Suc_atLeastLessThan
thf(fact_1_mult__eq__1__iff, axiom,
    ((![M : nat, N : nat]: (((times_times_nat @ M @ N) = (suc @ zero_zero_nat)) = (((M = (suc @ zero_zero_nat))) & ((N = (suc @ zero_zero_nat)))))))). % mult_eq_1_iff
thf(fact_2_one__eq__mult__iff, axiom,
    ((![M : nat, N : nat]: (((suc @ zero_zero_nat) = (times_times_nat @ M @ N)) = (((M = (suc @ zero_zero_nat))) & ((N = (suc @ zero_zero_nat)))))))). % one_eq_mult_iff
thf(fact_3_mult__is__0, axiom,
    ((![M : nat, N : nat]: (((times_times_nat @ M @ N) = zero_zero_nat) = (((M = zero_zero_nat)) | ((N = zero_zero_nat))))))). % mult_is_0
thf(fact_4_mult__0__right, axiom,
    ((![M : nat]: ((times_times_nat @ M @ zero_zero_nat) = zero_zero_nat)))). % mult_0_right
thf(fact_5_mult__cancel1, axiom,
    ((![K : nat, M : nat, N : nat]: (((times_times_nat @ K @ M) = (times_times_nat @ K @ N)) = (((M = N)) | ((K = zero_zero_nat))))))). % mult_cancel1
thf(fact_6_mult__cancel2, axiom,
    ((![M : nat, K : nat, N : nat]: (((times_times_nat @ M @ K) = (times_times_nat @ N @ K)) = (((M = N)) | ((K = zero_zero_nat))))))). % mult_cancel2
thf(fact_7_Suc__double__not__eq__double, axiom,
    ((![M : nat, N : nat]: (~ (((suc @ (times_times_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ M)) = (times_times_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ N))))))). % Suc_double_not_eq_double
thf(fact_8_double__not__eq__Suc__double, axiom,
    ((![M : nat, N : nat]: (~ (((times_times_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ M) = (suc @ (times_times_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ N)))))))). % double_not_eq_Suc_double
thf(fact_9_numeral__2__eq__2, axiom,
    (((numeral_numeral_nat @ (bit0 @ one)) = (suc @ (suc @ zero_zero_nat))))). % numeral_2_eq_2
thf(fact_10_semiring__norm_I85_J, axiom,
    ((![M : num]: (~ (((bit0 @ M) = one)))))). % semiring_norm(85)
thf(fact_11_semiring__norm_I83_J, axiom,
    ((![N : num]: (~ ((one = (bit0 @ N))))))). % semiring_norm(83)
thf(fact_12_numeral__eq__iff, axiom,
    ((![M : num, N : num]: (((numeral_numeral_nat @ M) = (numeral_numeral_nat @ N)) = (M = N))))). % numeral_eq_iff
thf(fact_13_semiring__norm_I87_J, axiom,
    ((![M : num, N : num]: (((bit0 @ M) = (bit0 @ N)) = (M = N))))). % semiring_norm(87)
thf(fact_14_old_Onat_Oinject, axiom,
    ((![Nat : nat, Nat2 : nat]: (((suc @ Nat) = (suc @ Nat2)) = (Nat = Nat2))))). % old.nat.inject
thf(fact_15_nat_Oinject, axiom,
    ((![X2 : nat, Y2 : nat]: (((suc @ X2) = (suc @ Y2)) = (X2 = Y2))))). % nat.inject
thf(fact_16_numeral__times__numeral, axiom,
    ((![M : num, N : num]: ((times_times_nat @ (numeral_numeral_nat @ M) @ (numeral_numeral_nat @ N)) = (numeral_numeral_nat @ (times_times_num @ M @ N)))))). % numeral_times_numeral
thf(fact_17_mult__numeral__left__semiring__numeral, axiom,
    ((![V : num, W : num, Z : nat]: ((times_times_nat @ (numeral_numeral_nat @ V) @ (times_times_nat @ (numeral_numeral_nat @ W) @ Z)) = (times_times_nat @ (numeral_numeral_nat @ (times_times_num @ V @ W)) @ Z))))). % mult_numeral_left_semiring_numeral
thf(fact_18_n__not__Suc__n, axiom,
    ((![N : nat]: (~ ((N = (suc @ N))))))). % n_not_Suc_n
thf(fact_19_Suc__inject, axiom,
    ((![X : nat, Y : nat]: (((suc @ X) = (suc @ Y)) => (X = Y))))). % Suc_inject
thf(fact_20_zero__neq__numeral, axiom,
    ((![N : num]: (~ ((zero_zero_nat = (numeral_numeral_nat @ N))))))). % zero_neq_numeral
thf(fact_21_not0__implies__Suc, axiom,
    ((![N : nat]: ((~ ((N = zero_zero_nat))) => (?[M2 : nat]: (N = (suc @ M2))))))). % not0_implies_Suc
thf(fact_22_old_Onat_Oinducts, axiom,
    ((![P : nat > $o, Nat : nat]: ((P @ zero_zero_nat) => ((![Nat3 : nat]: ((P @ Nat3) => (P @ (suc @ Nat3)))) => (P @ Nat)))))). % old.nat.inducts
thf(fact_23_old_Onat_Oexhaust, axiom,
    ((![Y : nat]: ((~ ((Y = zero_zero_nat))) => (~ ((![Nat3 : nat]: (~ ((Y = (suc @ Nat3))))))))))). % old.nat.exhaust
thf(fact_24_Zero__not__Suc, axiom,
    ((![M : nat]: (~ ((zero_zero_nat = (suc @ M))))))). % Zero_not_Suc
thf(fact_25_Zero__neq__Suc, axiom,
    ((![M : nat]: (~ ((zero_zero_nat = (suc @ M))))))). % Zero_neq_Suc
thf(fact_26_Suc__neq__Zero, axiom,
    ((![M : nat]: (~ (((suc @ M) = zero_zero_nat)))))). % Suc_neq_Zero
thf(fact_27_zero__induct, axiom,
    ((![P : nat > $o, K : nat]: ((P @ K) => ((![N2 : nat]: ((P @ (suc @ N2)) => (P @ N2))) => (P @ zero_zero_nat)))))). % zero_induct
thf(fact_28_diff__induct, axiom,
    ((![P : nat > nat > $o, M : nat, N : nat]: ((![X3 : nat]: (P @ X3 @ zero_zero_nat)) => ((![Y3 : nat]: (P @ zero_zero_nat @ (suc @ Y3))) => ((![X3 : nat, Y3 : nat]: ((P @ X3 @ Y3) => (P @ (suc @ X3) @ (suc @ Y3)))) => (P @ M @ N))))))). % diff_induct
thf(fact_29_nat__induct, axiom,
    ((![P : nat > $o, N : nat]: ((P @ zero_zero_nat) => ((![N2 : nat]: ((P @ N2) => (P @ (suc @ N2)))) => (P @ N)))))). % nat_induct
thf(fact_30_nat_OdiscI, axiom,
    ((![Nat : nat, X2 : nat]: ((Nat = (suc @ X2)) => (~ ((Nat = zero_zero_nat))))))). % nat.discI
thf(fact_31_old_Onat_Odistinct_I1_J, axiom,
    ((![Nat2 : nat]: (~ ((zero_zero_nat = (suc @ Nat2))))))). % old.nat.distinct(1)
thf(fact_32_old_Onat_Odistinct_I2_J, axiom,
    ((![Nat2 : nat]: (~ (((suc @ Nat2) = zero_zero_nat)))))). % old.nat.distinct(2)
thf(fact_33_nat_Odistinct_I1_J, axiom,
    ((![X2 : nat]: (~ ((zero_zero_nat = (suc @ X2))))))). % nat.distinct(1)
thf(fact_34_nat__mult__eq__cancel__disj, axiom,
    ((![K : nat, M : nat, N : nat]: (((times_times_nat @ K @ M) = (times_times_nat @ K @ N)) = (((K = zero_zero_nat)) | ((M = N))))))). % nat_mult_eq_cancel_disj
thf(fact_35_mult__0, axiom,
    ((![N : nat]: ((times_times_nat @ zero_zero_nat @ N) = zero_zero_nat)))). % mult_0
thf(fact_36_Suc__mult__cancel1, axiom,
    ((![K : nat, M : nat, N : nat]: (((times_times_nat @ (suc @ K) @ M) = (times_times_nat @ (suc @ K) @ N)) = (M = N))))). % Suc_mult_cancel1
thf(fact_37_mult__numeral__1__right, axiom,
    ((![A : nat]: ((times_times_nat @ A @ (numeral_numeral_nat @ one)) = A)))). % mult_numeral_1_right
thf(fact_38_mult__numeral__1, axiom,
    ((![A : nat]: ((times_times_nat @ (numeral_numeral_nat @ one) @ A) = A)))). % mult_numeral_1
thf(fact_39_zero__notin__Suc__image, axiom,
    ((![A2 : set_nat]: (~ ((member_nat @ zero_zero_nat @ (image_nat_nat @ suc @ A2))))))). % zero_notin_Suc_image
thf(fact_40_numeral__1__eq__Suc__0, axiom,
    (((numeral_numeral_nat @ one) = (suc @ zero_zero_nat)))). % numeral_1_eq_Suc_0
thf(fact_41_mem__Collect__eq, axiom,
    ((![A : nat, P : nat > $o]: ((member_nat @ A @ (collect_nat @ P)) = (P @ A))))). % mem_Collect_eq
thf(fact_42_Collect__mem__eq, axiom,
    ((![A2 : set_nat]: ((collect_nat @ (^[X4 : nat]: (member_nat @ X4 @ A2))) = A2)))). % Collect_mem_eq
thf(fact_43_mult__cancel__right, axiom,
    ((![A : nat, C : nat, B : nat]: (((times_times_nat @ A @ C) = (times_times_nat @ B @ C)) = (((C = zero_zero_nat)) | ((A = B))))))). % mult_cancel_right
thf(fact_44_mult__cancel__left, axiom,
    ((![C : nat, A : nat, B : nat]: (((times_times_nat @ C @ A) = (times_times_nat @ C @ B)) = (((C = zero_zero_nat)) | ((A = B))))))). % mult_cancel_left
thf(fact_45_mult__eq__0__iff, axiom,
    ((![A : nat, B : nat]: (((times_times_nat @ A @ B) = zero_zero_nat) = (((A = zero_zero_nat)) | ((B = zero_zero_nat))))))). % mult_eq_0_iff
thf(fact_46_mult__zero__right, axiom,
    ((![A : nat]: ((times_times_nat @ A @ zero_zero_nat) = zero_zero_nat)))). % mult_zero_right
thf(fact_47_mult__zero__left, axiom,
    ((![A : nat]: ((times_times_nat @ zero_zero_nat @ A) = zero_zero_nat)))). % mult_zero_left
thf(fact_48_image__ident, axiom,
    ((![Y4 : set_nat]: ((image_nat_nat @ (^[X4 : nat]: X4) @ Y4) = Y4)))). % image_ident
thf(fact_49_Un__iff, axiom,
    ((![C : nat, A2 : set_nat, B2 : set_nat]: ((member_nat @ C @ (sup_sup_set_nat @ A2 @ B2)) = (((member_nat @ C @ A2)) | ((member_nat @ C @ B2))))))). % Un_iff
thf(fact_50_UnCI, axiom,
    ((![C : nat, B2 : set_nat, A2 : set_nat]: (((~ ((member_nat @ C @ B2))) => (member_nat @ C @ A2)) => (member_nat @ C @ (sup_sup_set_nat @ A2 @ B2)))))). % UnCI
thf(fact_51_sup_Oright__idem, axiom,
    ((![A : set_nat, B : set_nat]: ((sup_sup_set_nat @ (sup_sup_set_nat @ A @ B) @ B) = (sup_sup_set_nat @ A @ B))))). % sup.right_idem
thf(fact_52_sup__left__idem, axiom,
    ((![X : set_nat, Y : set_nat]: ((sup_sup_set_nat @ X @ (sup_sup_set_nat @ X @ Y)) = (sup_sup_set_nat @ X @ Y))))). % sup_left_idem
thf(fact_53_image__eqI, axiom,
    ((![B : nat, F : nat > nat, X : nat, A2 : set_nat]: ((B = (F @ X)) => ((member_nat @ X @ A2) => (member_nat @ B @ (image_nat_nat @ F @ A2))))))). % image_eqI
thf(fact_54_sup_Oidem, axiom,
    ((![A : set_nat]: ((sup_sup_set_nat @ A @ A) = A)))). % sup.idem
thf(fact_55_sup__idem, axiom,
    ((![X : set_nat]: ((sup_sup_set_nat @ X @ X) = X)))). % sup_idem
thf(fact_56_sup_Oleft__idem, axiom,
    ((![A : set_nat, B : set_nat]: ((sup_sup_set_nat @ A @ (sup_sup_set_nat @ A @ B)) = (sup_sup_set_nat @ A @ B))))). % sup.left_idem
thf(fact_57_semiring__norm_I13_J, axiom,
    ((![M : num, N : num]: ((times_times_num @ (bit0 @ M) @ (bit0 @ N)) = (bit0 @ (bit0 @ (times_times_num @ M @ N))))))). % semiring_norm(13)
thf(fact_58_semiring__norm_I12_J, axiom,
    ((![N : num]: ((times_times_num @ one @ N) = N)))). % semiring_norm(12)
thf(fact_59_semiring__norm_I11_J, axiom,
    ((![M : num]: ((times_times_num @ M @ one) = M)))). % semiring_norm(11)
thf(fact_60_num__double, axiom,
    ((![N : num]: ((times_times_num @ (bit0 @ one) @ N) = (bit0 @ N))))). % num_double
thf(fact_61_sup__set__def, axiom,
    ((sup_sup_set_nat = (^[A3 : set_nat]: (^[B3 : set_nat]: (collect_nat @ (sup_sup_nat_o @ (^[X4 : nat]: (member_nat @ X4 @ A3)) @ (^[X4 : nat]: (member_nat @ X4 @ B3))))))))). % sup_set_def
thf(fact_62_imageI, axiom,
    ((![X : nat, A2 : set_nat, F : nat > nat]: ((member_nat @ X @ A2) => (member_nat @ (F @ X) @ (image_nat_nat @ F @ A2)))))). % imageI
thf(fact_63_image__iff, axiom,
    ((![Z : nat, F : nat > nat, A2 : set_nat]: ((member_nat @ Z @ (image_nat_nat @ F @ A2)) = (?[X4 : nat]: (((member_nat @ X4 @ A2)) & ((Z = (F @ X4))))))))). % image_iff
thf(fact_64_bex__imageD, axiom,
    ((![F : nat > nat, A2 : set_nat, P : nat > $o]: ((?[X5 : nat]: ((member_nat @ X5 @ (image_nat_nat @ F @ A2)) & (P @ X5))) => (?[X3 : nat]: ((member_nat @ X3 @ A2) & (P @ (F @ X3)))))))). % bex_imageD
thf(fact_65_image__cong, axiom,
    ((![M3 : set_nat, N3 : set_nat, F : nat > nat, G : nat > nat]: ((M3 = N3) => ((![X3 : nat]: ((member_nat @ X3 @ N3) => ((F @ X3) = (G @ X3)))) => ((image_nat_nat @ F @ M3) = (image_nat_nat @ G @ N3))))))). % image_cong
thf(fact_66_ball__imageD, axiom,
    ((![F : nat > nat, A2 : set_nat, P : nat > $o]: ((![X3 : nat]: ((member_nat @ X3 @ (image_nat_nat @ F @ A2)) => (P @ X3))) => (![X5 : nat]: ((member_nat @ X5 @ A2) => (P @ (F @ X5)))))))). % ball_imageD
thf(fact_67_rev__image__eqI, axiom,
    ((![X : nat, A2 : set_nat, B : nat, F : nat > nat]: ((member_nat @ X @ A2) => ((B = (F @ X)) => (member_nat @ B @ (image_nat_nat @ F @ A2))))))). % rev_image_eqI
thf(fact_68_inf__sup__aci_I8_J, axiom,
    ((![X : set_nat, Y : set_nat]: ((sup_sup_set_nat @ X @ (sup_sup_set_nat @ X @ Y)) = (sup_sup_set_nat @ X @ Y))))). % inf_sup_aci(8)
thf(fact_69_inf__sup__aci_I7_J, axiom,
    ((![X : set_nat, Y : set_nat, Z : set_nat]: ((sup_sup_set_nat @ X @ (sup_sup_set_nat @ Y @ Z)) = (sup_sup_set_nat @ Y @ (sup_sup_set_nat @ X @ Z)))))). % inf_sup_aci(7)
thf(fact_70_inf__sup__aci_I6_J, axiom,
    ((![X : set_nat, Y : set_nat, Z : set_nat]: ((sup_sup_set_nat @ (sup_sup_set_nat @ X @ Y) @ Z) = (sup_sup_set_nat @ X @ (sup_sup_set_nat @ Y @ Z)))))). % inf_sup_aci(6)
thf(fact_71_inf__sup__aci_I5_J, axiom,
    ((sup_sup_set_nat = (^[X4 : set_nat]: (^[Y5 : set_nat]: (sup_sup_set_nat @ Y5 @ X4)))))). % inf_sup_aci(5)
thf(fact_72_boolean__algebra__cancel_Osup1, axiom,
    ((![A2 : set_nat, K : set_nat, A : set_nat, B : set_nat]: ((A2 = (sup_sup_set_nat @ K @ A)) => ((sup_sup_set_nat @ A2 @ B) = (sup_sup_set_nat @ K @ (sup_sup_set_nat @ A @ B))))))). % boolean_algebra_cancel.sup1
thf(fact_73_boolean__algebra__cancel_Osup2, axiom,
    ((![B2 : set_nat, K : set_nat, B : set_nat, A : set_nat]: ((B2 = (sup_sup_set_nat @ K @ B)) => ((sup_sup_set_nat @ A @ B2) = (sup_sup_set_nat @ K @ (sup_sup_set_nat @ A @ B))))))). % boolean_algebra_cancel.sup2
thf(fact_74_sup_Oassoc, axiom,
    ((![A : set_nat, B : set_nat, C : set_nat]: ((sup_sup_set_nat @ (sup_sup_set_nat @ A @ B) @ C) = (sup_sup_set_nat @ A @ (sup_sup_set_nat @ B @ C)))))). % sup.assoc
thf(fact_75_sup__assoc, axiom,
    ((![X : set_nat, Y : set_nat, Z : set_nat]: ((sup_sup_set_nat @ (sup_sup_set_nat @ X @ Y) @ Z) = (sup_sup_set_nat @ X @ (sup_sup_set_nat @ Y @ Z)))))). % sup_assoc
thf(fact_76_sup_Ocommute, axiom,
    ((sup_sup_set_nat = (^[A4 : set_nat]: (^[B4 : set_nat]: (sup_sup_set_nat @ B4 @ A4)))))). % sup.commute
thf(fact_77_sup__commute, axiom,
    ((sup_sup_set_nat = (^[X4 : set_nat]: (^[Y5 : set_nat]: (sup_sup_set_nat @ Y5 @ X4)))))). % sup_commute
thf(fact_78_sup_Oleft__commute, axiom,
    ((![B : set_nat, A : set_nat, C : set_nat]: ((sup_sup_set_nat @ B @ (sup_sup_set_nat @ A @ C)) = (sup_sup_set_nat @ A @ (sup_sup_set_nat @ B @ C)))))). % sup.left_commute
thf(fact_79_sup__left__commute, axiom,
    ((![X : set_nat, Y : set_nat, Z : set_nat]: ((sup_sup_set_nat @ X @ (sup_sup_set_nat @ Y @ Z)) = (sup_sup_set_nat @ Y @ (sup_sup_set_nat @ X @ Z)))))). % sup_left_commute
thf(fact_80_UnE, axiom,
    ((![C : nat, A2 : set_nat, B2 : set_nat]: ((member_nat @ C @ (sup_sup_set_nat @ A2 @ B2)) => ((~ ((member_nat @ C @ A2))) => (member_nat @ C @ B2)))))). % UnE
thf(fact_81_UnI1, axiom,
    ((![C : nat, A2 : set_nat, B2 : set_nat]: ((member_nat @ C @ A2) => (member_nat @ C @ (sup_sup_set_nat @ A2 @ B2)))))). % UnI1
thf(fact_82_UnI2, axiom,
    ((![C : nat, B2 : set_nat, A2 : set_nat]: ((member_nat @ C @ B2) => (member_nat @ C @ (sup_sup_set_nat @ A2 @ B2)))))). % UnI2
thf(fact_83_bex__Un, axiom,
    ((![A2 : set_nat, B2 : set_nat, P : nat > $o]: ((?[X4 : nat]: (((member_nat @ X4 @ (sup_sup_set_nat @ A2 @ B2))) & ((P @ X4)))) = (((?[X4 : nat]: (((member_nat @ X4 @ A2)) & ((P @ X4))))) | ((?[X4 : nat]: (((member_nat @ X4 @ B2)) & ((P @ X4)))))))))). % bex_Un
thf(fact_84_ball__Un, axiom,
    ((![A2 : set_nat, B2 : set_nat, P : nat > $o]: ((![X4 : nat]: (((member_nat @ X4 @ (sup_sup_set_nat @ A2 @ B2))) => ((P @ X4)))) = (((![X4 : nat]: (((member_nat @ X4 @ A2)) => ((P @ X4))))) & ((![X4 : nat]: (((member_nat @ X4 @ B2)) => ((P @ X4)))))))))). % ball_Un
thf(fact_85_Un__assoc, axiom,
    ((![A2 : set_nat, B2 : set_nat, C2 : set_nat]: ((sup_sup_set_nat @ (sup_sup_set_nat @ A2 @ B2) @ C2) = (sup_sup_set_nat @ A2 @ (sup_sup_set_nat @ B2 @ C2)))))). % Un_assoc
thf(fact_86_Un__absorb, axiom,
    ((![A2 : set_nat]: ((sup_sup_set_nat @ A2 @ A2) = A2)))). % Un_absorb
thf(fact_87_Un__commute, axiom,
    ((sup_sup_set_nat = (^[A3 : set_nat]: (^[B3 : set_nat]: (sup_sup_set_nat @ B3 @ A3)))))). % Un_commute
thf(fact_88_Un__left__absorb, axiom,
    ((![A2 : set_nat, B2 : set_nat]: ((sup_sup_set_nat @ A2 @ (sup_sup_set_nat @ A2 @ B2)) = (sup_sup_set_nat @ A2 @ B2))))). % Un_left_absorb
thf(fact_89_Un__left__commute, axiom,
    ((![A2 : set_nat, B2 : set_nat, C2 : set_nat]: ((sup_sup_set_nat @ A2 @ (sup_sup_set_nat @ B2 @ C2)) = (sup_sup_set_nat @ B2 @ (sup_sup_set_nat @ A2 @ C2)))))). % Un_left_commute
thf(fact_90_imageE, axiom,
    ((![B : nat, F : nat > nat, A2 : set_nat]: ((member_nat @ B @ (image_nat_nat @ F @ A2)) => (~ ((![X3 : nat]: ((B = (F @ X3)) => (~ ((member_nat @ X3 @ A2))))))))))). % imageE
thf(fact_91_image__image, axiom,
    ((![F : nat > nat, G : nat > nat, A2 : set_nat]: ((image_nat_nat @ F @ (image_nat_nat @ G @ A2)) = (image_nat_nat @ (^[X4 : nat]: (F @ (G @ X4))) @ A2))))). % image_image
thf(fact_92_Compr__image__eq, axiom,
    ((![F : nat > nat, A2 : set_nat, P : nat > $o]: ((collect_nat @ (^[X4 : nat]: (((member_nat @ X4 @ (image_nat_nat @ F @ A2))) & ((P @ X4))))) = (image_nat_nat @ F @ (collect_nat @ (^[X4 : nat]: (((member_nat @ X4 @ A2)) & ((P @ (F @ X4))))))))))). % Compr_image_eq
thf(fact_93_Un__def, axiom,
    ((sup_sup_set_nat = (^[A3 : set_nat]: (^[B3 : set_nat]: (collect_nat @ (^[X4 : nat]: (((member_nat @ X4 @ A3)) | ((member_nat @ X4 @ B3)))))))))). % Un_def
thf(fact_94_Collect__disj__eq, axiom,
    ((![P : nat > $o, Q : nat > $o]: ((collect_nat @ (^[X4 : nat]: (((P @ X4)) | ((Q @ X4))))) = (sup_sup_set_nat @ (collect_nat @ P) @ (collect_nat @ Q)))))). % Collect_disj_eq
thf(fact_95_mult__not__zero, axiom,
    ((![A : nat, B : nat]: ((~ (((times_times_nat @ A @ B) = zero_zero_nat))) => ((~ ((A = zero_zero_nat))) & (~ ((B = zero_zero_nat)))))))). % mult_not_zero
thf(fact_96_divisors__zero, axiom,
    ((![A : nat, B : nat]: (((times_times_nat @ A @ B) = zero_zero_nat) => ((A = zero_zero_nat) | (B = zero_zero_nat)))))). % divisors_zero
thf(fact_97_no__zero__divisors, axiom,
    ((![A : nat, B : nat]: ((~ ((A = zero_zero_nat))) => ((~ ((B = zero_zero_nat))) => (~ (((times_times_nat @ A @ B) = zero_zero_nat)))))))). % no_zero_divisors
thf(fact_98_mult__left__cancel, axiom,
    ((![C : nat, A : nat, B : nat]: ((~ ((C = zero_zero_nat))) => (((times_times_nat @ C @ A) = (times_times_nat @ C @ B)) = (A = B)))))). % mult_left_cancel
thf(fact_99_mult__right__cancel, axiom,
    ((![C : nat, A : nat, B : nat]: ((~ ((C = zero_zero_nat))) => (((times_times_nat @ A @ C) = (times_times_nat @ B @ C)) = (A = B)))))). % mult_right_cancel
thf(fact_100_image__Un, axiom,
    ((![F : nat > nat, A2 : set_nat, B2 : set_nat]: ((image_nat_nat @ F @ (sup_sup_set_nat @ A2 @ B2)) = (sup_sup_set_nat @ (image_nat_nat @ F @ A2) @ (image_nat_nat @ F @ B2)))))). % image_Un
thf(fact_101_lambda__zero, axiom,
    (((^[H : nat]: zero_zero_nat) = (times_times_nat @ zero_zero_nat)))). % lambda_zero
thf(fact_102_verit__eq__simplify_I8_J, axiom,
    ((![X2 : num, Y2 : num]: (((bit0 @ X2) = (bit0 @ Y2)) = (X2 = Y2))))). % verit_eq_simplify(8)
thf(fact_103_push__bit__Suc, axiom,
    ((![N : nat, A : nat]: ((semiri2013084963it_nat @ (suc @ N) @ A) = (semiri2013084963it_nat @ N @ (times_times_nat @ A @ (numeral_numeral_nat @ (bit0 @ one)))))))). % push_bit_Suc
thf(fact_104_exists__least__lemma, axiom,
    ((![P : nat > $o]: ((~ ((P @ zero_zero_nat))) => ((?[X_1 : nat]: (P @ X_1)) => (?[N2 : nat]: ((~ ((P @ N2))) & (P @ (suc @ N2))))))))). % exists_least_lemma
thf(fact_105_push__bit__eq__0__iff, axiom,
    ((![N : nat, A : nat]: (((semiri2013084963it_nat @ N @ A) = zero_zero_nat) = (A = zero_zero_nat))))). % push_bit_eq_0_iff
thf(fact_106_push__bit__of__0, axiom,
    ((![N : nat]: ((semiri2013084963it_nat @ N @ zero_zero_nat) = zero_zero_nat)))). % push_bit_of_0
thf(fact_107_zero__reorient, axiom,
    ((![X : nat]: ((zero_zero_nat = X) = (X = zero_zero_nat))))). % zero_reorient
thf(fact_108_mult_Oleft__commute, axiom,
    ((![B : nat, A : nat, C : nat]: ((times_times_nat @ B @ (times_times_nat @ A @ C)) = (times_times_nat @ A @ (times_times_nat @ B @ C)))))). % mult.left_commute
thf(fact_109_mult_Ocommute, axiom,
    ((times_times_nat = (^[A4 : nat]: (^[B4 : nat]: (times_times_nat @ B4 @ A4)))))). % mult.commute
thf(fact_110_mult_Oassoc, axiom,
    ((![A : nat, B : nat, C : nat]: ((times_times_nat @ (times_times_nat @ A @ B) @ C) = (times_times_nat @ A @ (times_times_nat @ B @ C)))))). % mult.assoc
thf(fact_111_ab__semigroup__mult__class_Omult__ac_I1_J, axiom,
    ((![A : nat, B : nat, C : nat]: ((times_times_nat @ (times_times_nat @ A @ B) @ C) = (times_times_nat @ A @ (times_times_nat @ B @ C)))))). % ab_semigroup_mult_class.mult_ac(1)
thf(fact_112_push__bit__double, axiom,
    ((![N : nat, A : nat]: ((semiri2013084963it_nat @ N @ (times_times_nat @ A @ (numeral_numeral_nat @ (bit0 @ one)))) = (times_times_nat @ (semiri2013084963it_nat @ N @ A) @ (numeral_numeral_nat @ (bit0 @ one))))))). % push_bit_double
thf(fact_113_verit__eq__simplify_I10_J, axiom,
    ((![X2 : num]: (~ ((one = (bit0 @ X2))))))). % verit_eq_simplify(10)
thf(fact_114_sup__Un__eq, axiom,
    ((![R : set_nat, S : set_nat]: ((sup_sup_nat_o @ (^[X4 : nat]: (member_nat @ X4 @ R)) @ (^[X4 : nat]: (member_nat @ X4 @ S))) = (^[X4 : nat]: (member_nat @ X4 @ (sup_sup_set_nat @ R @ S))))))). % sup_Un_eq
thf(fact_115_take__bit__Suc__bit0, axiom,
    ((![N : nat, K : num]: ((semiri967765622it_nat @ (suc @ N) @ (numeral_numeral_nat @ (bit0 @ K))) = (times_times_nat @ (semiri967765622it_nat @ N @ (numeral_numeral_nat @ K)) @ (numeral_numeral_nat @ (bit0 @ one))))))). % take_bit_Suc_bit0
thf(fact_116_take__bit__of__0, axiom,
    ((![N : nat]: ((semiri967765622it_nat @ N @ zero_zero_nat) = zero_zero_nat)))). % take_bit_of_0
thf(fact_117_take__bit__0, axiom,
    ((![A : nat]: ((semiri967765622it_nat @ zero_zero_nat @ A) = zero_zero_nat)))). % take_bit_0
thf(fact_118_take__bit__numeral__bit0, axiom,
    ((![L : num, K : num]: ((semiri967765622it_nat @ (numeral_numeral_nat @ L) @ (numeral_numeral_nat @ (bit0 @ K))) = (times_times_nat @ (semiri967765622it_nat @ (pred_numeral @ L) @ (numeral_numeral_nat @ K)) @ (numeral_numeral_nat @ (bit0 @ one))))))). % take_bit_numeral_bit0
thf(fact_119_take__bit__Suc__0, axiom,
    ((![A : nat]: ((semiri967765622it_nat @ (suc @ zero_zero_nat) @ A) = (modulo_modulo_nat @ A @ (numeral_numeral_nat @ (bit0 @ one))))))). % take_bit_Suc_0
thf(fact_120_mod__0, axiom,
    ((![A : nat]: ((modulo_modulo_nat @ zero_zero_nat @ A) = zero_zero_nat)))). % mod_0
thf(fact_121_mod__by__0, axiom,
    ((![A : nat]: ((modulo_modulo_nat @ A @ zero_zero_nat) = A)))). % mod_by_0
thf(fact_122_mod__self, axiom,
    ((![A : nat]: ((modulo_modulo_nat @ A @ A) = zero_zero_nat)))). % mod_self
thf(fact_123_bits__mod__0, axiom,
    ((![A : nat]: ((modulo_modulo_nat @ zero_zero_nat @ A) = zero_zero_nat)))). % bits_mod_0
thf(fact_124_pred__numeral__simps_I1_J, axiom,
    (((pred_numeral @ one) = zero_zero_nat))). % pred_numeral_simps(1)
thf(fact_125_eq__numeral__Suc, axiom,
    ((![K : num, N : nat]: (((numeral_numeral_nat @ K) = (suc @ N)) = ((pred_numeral @ K) = N))))). % eq_numeral_Suc
thf(fact_126_Suc__eq__numeral, axiom,
    ((![N : nat, K : num]: (((suc @ N) = (numeral_numeral_nat @ K)) = (N = (pred_numeral @ K)))))). % Suc_eq_numeral
thf(fact_127_not__mod2__eq__Suc__0__eq__0, axiom,
    ((![N : nat]: ((~ (((modulo_modulo_nat @ N @ (numeral_numeral_nat @ (bit0 @ one))) = (suc @ zero_zero_nat)))) = ((modulo_modulo_nat @ N @ (numeral_numeral_nat @ (bit0 @ one))) = zero_zero_nat))))). % not_mod2_eq_Suc_0_eq_0
thf(fact_128_push__bit__numeral, axiom,
    ((![L : num, K : num]: ((semiri2013084963it_nat @ (numeral_numeral_nat @ L) @ (numeral_numeral_nat @ K)) = (semiri2013084963it_nat @ (pred_numeral @ L) @ (numeral_numeral_nat @ (bit0 @ K))))))). % push_bit_numeral
thf(fact_129_numeral__eq__Suc, axiom,
    ((numeral_numeral_nat = (^[K2 : num]: (suc @ (pred_numeral @ K2)))))). % numeral_eq_Suc
thf(fact_130_mod2__Suc__Suc, axiom,
    ((![M : nat]: ((modulo_modulo_nat @ (suc @ (suc @ M)) @ (numeral_numeral_nat @ (bit0 @ one))) = (modulo_modulo_nat @ M @ (numeral_numeral_nat @ (bit0 @ one))))))). % mod2_Suc_Suc
thf(fact_131_mod__mult__self1__is__0, axiom,
    ((![B : nat, A : nat]: ((modulo_modulo_nat @ (times_times_nat @ B @ A) @ B) = zero_zero_nat)))). % mod_mult_self1_is_0
thf(fact_132_mod__mod__trivial, axiom,
    ((![A : nat, B : nat]: ((modulo_modulo_nat @ (modulo_modulo_nat @ A @ B) @ B) = (modulo_modulo_nat @ A @ B))))). % mod_mod_trivial
thf(fact_133_mod__mult__self2__is__0, axiom,
    ((![A : nat, B : nat]: ((modulo_modulo_nat @ (times_times_nat @ A @ B) @ B) = zero_zero_nat)))). % mod_mult_self2_is_0
thf(fact_134_mod__by__Suc__0, axiom,
    ((![M : nat]: ((modulo_modulo_nat @ M @ (suc @ zero_zero_nat)) = zero_zero_nat)))). % mod_by_Suc_0
thf(fact_135_mod__Suc__Suc__eq, axiom,
    ((![M : nat, N : nat]: ((modulo_modulo_nat @ (suc @ (suc @ (modulo_modulo_nat @ M @ N))) @ N) = (modulo_modulo_nat @ (suc @ (suc @ M)) @ N))))). % mod_Suc_Suc_eq

% Conjectures (1)
thf(conj_0, conjecture,
    (((set_or562006527an_nat @ zero_zero_nat @ (times_times_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ n)) = (sup_sup_set_nat @ (image_nat_nat @ (times_times_nat @ (numeral_numeral_nat @ (bit0 @ one))) @ (set_or562006527an_nat @ zero_zero_nat @ n)) @ (image_nat_nat @ (^[I2 : nat]: (suc @ (times_times_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ I2))) @ (set_or562006527an_nat @ zero_zero_nat @ n)))))).
