% 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_30__3222518_1 ) ; }
% This file was generated by Isabelle (most likely Sledgehammer)
% 2020-12-16 14:08:49.267

% 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_Oone__class_Oone_001t__Nat__Onat, type,
    one_one_nat : nat).
thf(sy_c_Groups_Oplus__class_Oplus_001t__Nat__Onat, type,
    plus_plus_nat : nat > nat > nat).
thf(sy_c_Groups_Oplus__class_Oplus_001t__Num__Onum, type,
    plus_plus_num : num > num > num).
thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat, type,
    zero_zero_nat : nat).
thf(sy_c_Num_OBitM, type,
    bitM : num > num).
thf(sy_c_Num_Onum_OBit0, type,
    bit0 : num > num).
thf(sy_c_Num_Onum_OBit1, type,
    bit1 : num > num).
thf(sy_c_Num_Onum_OOne, type,
    one : num).
thf(sy_c_Num_Onum_Osize__num, type,
    size_num : num > nat).
thf(sy_c_Num_Onumeral__class_Onumeral_001t__Nat__Onat, type,
    numeral_numeral_nat : num > nat).
thf(sy_c_Orderings_Obot__class_Obot_001_062_It__Nat__Onat_M_Eo_J, type,
    bot_bot_nat_o : nat > $o).
thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Nat__Onat_J, type,
    bot_bot_set_nat : set_nat).
thf(sy_c_Set_OCollect_001t__Nat__Onat, type,
    collect_nat : (nat > $o) > set_nat).
thf(sy_c_Set_Oinsert_001t__Nat__Onat, type,
    insert_nat : nat > set_nat > set_nat).
thf(sy_c_Set_Ois__singleton_001t__Nat__Onat, type,
    is_singleton_nat : set_nat > $o).
thf(sy_c_Set_Othe__elem_001t__Nat__Onat, type,
    the_elem_nat : set_nat > 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).

% Relevant facts (80)
thf(fact_0_numeral__eq__one__iff, axiom,
    ((![N : num]: (((numeral_numeral_nat @ N) = one_one_nat) = (N = one))))). % numeral_eq_one_iff
thf(fact_1_one__eq__numeral__iff, axiom,
    ((![N : num]: ((one_one_nat = (numeral_numeral_nat @ N)) = (one = N))))). % one_eq_numeral_iff
thf(fact_2_semiring__norm_I86_J, axiom,
    ((![M : num]: (~ (((bit1 @ M) = one)))))). % semiring_norm(86)
thf(fact_3_semiring__norm_I84_J, axiom,
    ((![N : num]: (~ ((one = (bit1 @ N))))))). % semiring_norm(84)
thf(fact_4_semiring__norm_I89_J, axiom,
    ((![M : num, N : num]: (~ (((bit1 @ M) = (bit0 @ N))))))). % semiring_norm(89)
thf(fact_5_semiring__norm_I88_J, axiom,
    ((![M : num, N : num]: (~ (((bit0 @ M) = (bit1 @ N))))))). % semiring_norm(88)
thf(fact_6_singletonI, axiom,
    ((![A : nat]: (member_nat @ A @ (insert_nat @ A @ bot_bot_set_nat))))). % singletonI
thf(fact_7_semiring__norm_I85_J, axiom,
    ((![M : num]: (~ (((bit0 @ M) = one)))))). % semiring_norm(85)
thf(fact_8_semiring__norm_I83_J, axiom,
    ((![N : num]: (~ ((one = (bit0 @ N))))))). % semiring_norm(83)
thf(fact_9_atLeastLessThan0, axiom,
    ((![M : nat]: ((set_or562006527an_nat @ M @ zero_zero_nat) = bot_bot_set_nat)))). % atLeastLessThan0
thf(fact_10_numerals_I1_J, axiom,
    (((numeral_numeral_nat @ one) = one_one_nat))). % numerals(1)
thf(fact_11_num_Oinduct, axiom,
    ((![P : num > $o, Num : num]: ((P @ one) => ((![X : num]: ((P @ X) => (P @ (bit0 @ X)))) => ((![X : num]: ((P @ X) => (P @ (bit1 @ X)))) => (P @ Num))))))). % num.induct
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_empty__Collect__eq, axiom,
    ((![P : nat > $o]: ((bot_bot_set_nat = (collect_nat @ P)) = (![X2 : nat]: (~ ((P @ X2)))))))). % empty_Collect_eq
thf(fact_15_Collect__empty__eq, axiom,
    ((![P : nat > $o]: (((collect_nat @ P) = bot_bot_set_nat) = (![X2 : nat]: (~ ((P @ X2)))))))). % Collect_empty_eq
thf(fact_16_all__not__in__conv, axiom,
    ((![A2 : set_nat]: ((![X2 : nat]: (~ ((member_nat @ X2 @ A2)))) = (A2 = bot_bot_set_nat))))). % all_not_in_conv
thf(fact_17_empty__iff, axiom,
    ((![C : nat]: (~ ((member_nat @ C @ bot_bot_set_nat)))))). % empty_iff
thf(fact_18_insert__absorb2, axiom,
    ((![X3 : nat, A2 : set_nat]: ((insert_nat @ X3 @ (insert_nat @ X3 @ A2)) = (insert_nat @ X3 @ A2))))). % insert_absorb2
thf(fact_19_insert__iff, axiom,
    ((![A : nat, B : nat, A2 : set_nat]: ((member_nat @ A @ (insert_nat @ B @ A2)) = (((A = B)) | ((member_nat @ A @ A2))))))). % insert_iff
thf(fact_20_insertCI, axiom,
    ((![A : nat, B2 : set_nat, B : nat]: (((~ ((member_nat @ A @ B2))) => (A = B)) => (member_nat @ A @ (insert_nat @ B @ B2)))))). % insertCI
thf(fact_21_semiring__norm_I90_J, axiom,
    ((![M : num, N : num]: (((bit1 @ M) = (bit1 @ N)) = (M = N))))). % semiring_norm(90)
thf(fact_22_ex__in__conv, axiom,
    ((![A2 : set_nat]: ((?[X2 : nat]: (member_nat @ X2 @ A2)) = (~ ((A2 = bot_bot_set_nat))))))). % ex_in_conv
thf(fact_23_equals0I, axiom,
    ((![A2 : set_nat]: ((![Y : nat]: (~ ((member_nat @ Y @ A2)))) => (A2 = bot_bot_set_nat))))). % equals0I
thf(fact_24_equals0D, axiom,
    ((![A2 : set_nat, A : nat]: ((A2 = bot_bot_set_nat) => (~ ((member_nat @ A @ A2))))))). % equals0D
thf(fact_25_emptyE, axiom,
    ((![A : nat]: (~ ((member_nat @ A @ bot_bot_set_nat)))))). % emptyE
thf(fact_26_mk__disjoint__insert, axiom,
    ((![A : nat, A2 : set_nat]: ((member_nat @ A @ A2) => (?[B3 : set_nat]: ((A2 = (insert_nat @ A @ B3)) & (~ ((member_nat @ A @ B3))))))))). % mk_disjoint_insert
thf(fact_27_insert__commute, axiom,
    ((![X3 : nat, Y2 : nat, A2 : set_nat]: ((insert_nat @ X3 @ (insert_nat @ Y2 @ A2)) = (insert_nat @ Y2 @ (insert_nat @ X3 @ A2)))))). % insert_commute
thf(fact_28_insert__eq__iff, axiom,
    ((![A : nat, A2 : set_nat, B : nat, B2 : set_nat]: ((~ ((member_nat @ A @ A2))) => ((~ ((member_nat @ B @ B2))) => (((insert_nat @ A @ A2) = (insert_nat @ B @ B2)) = (((((A = B)) => ((A2 = B2)))) & ((((~ ((A = B)))) => ((?[C2 : set_nat]: (((A2 = (insert_nat @ B @ C2))) & ((((~ ((member_nat @ B @ C2)))) & ((((B2 = (insert_nat @ A @ C2))) & ((~ ((member_nat @ A @ C2)))))))))))))))))))). % insert_eq_iff
thf(fact_29_insert__absorb, axiom,
    ((![A : nat, A2 : set_nat]: ((member_nat @ A @ A2) => ((insert_nat @ A @ A2) = A2))))). % insert_absorb
thf(fact_30_insert__ident, axiom,
    ((![X3 : nat, A2 : set_nat, B2 : set_nat]: ((~ ((member_nat @ X3 @ A2))) => ((~ ((member_nat @ X3 @ B2))) => (((insert_nat @ X3 @ A2) = (insert_nat @ X3 @ B2)) = (A2 = B2))))))). % insert_ident
thf(fact_31_Set_Oset__insert, axiom,
    ((![X3 : nat, A2 : set_nat]: ((member_nat @ X3 @ A2) => (~ ((![B3 : set_nat]: ((A2 = (insert_nat @ X3 @ B3)) => (member_nat @ X3 @ B3))))))))). % Set.set_insert
thf(fact_32_insertI2, axiom,
    ((![A : nat, B2 : set_nat, B : nat]: ((member_nat @ A @ B2) => (member_nat @ A @ (insert_nat @ B @ B2)))))). % insertI2
thf(fact_33_insertI1, axiom,
    ((![A : nat, B2 : set_nat]: (member_nat @ A @ (insert_nat @ A @ B2))))). % insertI1
thf(fact_34_insertE, axiom,
    ((![A : nat, B : nat, A2 : set_nat]: ((member_nat @ A @ (insert_nat @ B @ A2)) => ((~ ((A = B))) => (member_nat @ A @ A2)))))). % insertE
thf(fact_35_zero__neq__numeral, axiom,
    ((![N : num]: (~ ((zero_zero_nat = (numeral_numeral_nat @ N))))))). % zero_neq_numeral
thf(fact_36_singleton__inject, axiom,
    ((![A : nat, B : nat]: (((insert_nat @ A @ bot_bot_set_nat) = (insert_nat @ B @ bot_bot_set_nat)) => (A = B))))). % singleton_inject
thf(fact_37_insert__not__empty, axiom,
    ((![A : nat, A2 : set_nat]: (~ (((insert_nat @ A @ A2) = bot_bot_set_nat)))))). % insert_not_empty
thf(fact_38_doubleton__eq__iff, axiom,
    ((![A : nat, B : nat, C : nat, D : nat]: (((insert_nat @ A @ (insert_nat @ B @ bot_bot_set_nat)) = (insert_nat @ C @ (insert_nat @ D @ bot_bot_set_nat))) = (((((A = C)) & ((B = D)))) | ((((A = D)) & ((B = C))))))))). % doubleton_eq_iff
thf(fact_39_singleton__iff, axiom,
    ((![B : nat, A : nat]: ((member_nat @ B @ (insert_nat @ A @ bot_bot_set_nat)) = (B = A))))). % singleton_iff
thf(fact_40_singletonD, axiom,
    ((![B : nat, A : nat]: ((member_nat @ B @ (insert_nat @ A @ bot_bot_set_nat)) => (B = A))))). % singletonD
thf(fact_41_numeral__One, axiom,
    (((numeral_numeral_nat @ one) = one_one_nat))). % numeral_One
thf(fact_42_num_Oexhaust, axiom,
    ((![Y2 : num]: ((~ ((Y2 = one))) => ((![X22 : num]: (~ ((Y2 = (bit0 @ X22))))) => (~ ((![X32 : num]: (~ ((Y2 = (bit1 @ X32)))))))))))). % num.exhaust
thf(fact_43_mem__Collect__eq, axiom,
    ((![A : nat, P : nat > $o]: ((member_nat @ A @ (collect_nat @ P)) = (P @ A))))). % mem_Collect_eq
thf(fact_44_Collect__mem__eq, axiom,
    ((![A2 : set_nat]: ((collect_nat @ (^[X2 : nat]: (member_nat @ X2 @ A2))) = A2)))). % Collect_mem_eq
thf(fact_45_verit__eq__simplify_I9_J, axiom,
    ((![X33 : num, Y3 : num]: (((bit1 @ X33) = (bit1 @ Y3)) = (X33 = Y3))))). % verit_eq_simplify(9)
thf(fact_46_the__elem__eq, axiom,
    ((![X3 : nat]: ((the_elem_nat @ (insert_nat @ X3 @ bot_bot_set_nat)) = X3)))). % the_elem_eq
thf(fact_47_verit__eq__simplify_I8_J, axiom,
    ((![X23 : num, Y22 : num]: (((bit0 @ X23) = (bit0 @ Y22)) = (X23 = Y22))))). % verit_eq_simplify(8)
thf(fact_48_is__singletonI, axiom,
    ((![X3 : nat]: (is_singleton_nat @ (insert_nat @ X3 @ bot_bot_set_nat))))). % is_singletonI
thf(fact_49_verit__eq__simplify_I12_J, axiom,
    ((![X33 : num]: (~ ((one = (bit1 @ X33))))))). % verit_eq_simplify(12)
thf(fact_50_bot__set__def, axiom,
    ((bot_bot_set_nat = (collect_nat @ bot_bot_nat_o)))). % bot_set_def
thf(fact_51_is__singleton__the__elem, axiom,
    ((is_singleton_nat = (^[A3 : set_nat]: (A3 = (insert_nat @ (the_elem_nat @ A3) @ bot_bot_set_nat)))))). % is_singleton_the_elem
thf(fact_52_is__singletonI_H, axiom,
    ((![A2 : set_nat]: ((~ ((A2 = bot_bot_set_nat))) => ((![X : nat, Y : nat]: ((member_nat @ X @ A2) => ((member_nat @ Y @ A2) => (X = Y)))) => (is_singleton_nat @ A2)))))). % is_singletonI'
thf(fact_53_zero__reorient, axiom,
    ((![X3 : nat]: ((zero_zero_nat = X3) = (X3 = zero_zero_nat))))). % zero_reorient
thf(fact_54_one__reorient, axiom,
    ((![X3 : nat]: ((one_one_nat = X3) = (X3 = one_one_nat))))). % one_reorient
thf(fact_55_is__singletonE, axiom,
    ((![A2 : set_nat]: ((is_singleton_nat @ A2) => (~ ((![X : nat]: (~ ((A2 = (insert_nat @ X @ bot_bot_set_nat))))))))))). % is_singletonE
thf(fact_56_is__singleton__def, axiom,
    ((is_singleton_nat = (^[A3 : set_nat]: (?[X2 : nat]: (A3 = (insert_nat @ X2 @ bot_bot_set_nat))))))). % is_singleton_def
thf(fact_57_verit__eq__simplify_I10_J, axiom,
    ((![X23 : num]: (~ ((one = (bit0 @ X23))))))). % verit_eq_simplify(10)
thf(fact_58_verit__eq__simplify_I14_J, axiom,
    ((![X23 : num, X33 : num]: (~ (((bit0 @ X23) = (bit1 @ X33))))))). % verit_eq_simplify(14)
thf(fact_59_zero__neq__one, axiom,
    ((~ ((zero_zero_nat = one_one_nat))))). % zero_neq_one
thf(fact_60_num_Osize__gen_I1_J, axiom,
    (((size_num @ one) = zero_zero_nat))). % num.size_gen(1)
thf(fact_61_semiring__norm_I26_J, axiom,
    (((bitM @ one) = one))). % semiring_norm(26)
thf(fact_62_semiring__norm_I27_J, axiom,
    ((![N : num]: ((bitM @ (bit0 @ N)) = (bit1 @ (bitM @ N)))))). % semiring_norm(27)
thf(fact_63_semiring__norm_I28_J, axiom,
    ((![N : num]: ((bitM @ (bit1 @ N)) = (bit1 @ (bit0 @ N)))))). % semiring_norm(28)
thf(fact_64_Collect__empty__eq__bot, axiom,
    ((![P : nat > $o]: (((collect_nat @ P) = bot_bot_set_nat) = (P = bot_bot_nat_o))))). % Collect_empty_eq_bot
thf(fact_65_bot__empty__eq, axiom,
    ((bot_bot_nat_o = (^[X2 : nat]: (member_nat @ X2 @ bot_bot_set_nat))))). % bot_empty_eq
thf(fact_66_semiring__norm_I6_J, axiom,
    ((![M : num, N : num]: ((plus_plus_num @ (bit0 @ M) @ (bit0 @ N)) = (bit0 @ (plus_plus_num @ M @ N)))))). % semiring_norm(6)
thf(fact_67_add_Oleft__neutral, axiom,
    ((![A : nat]: ((plus_plus_nat @ zero_zero_nat @ A) = A)))). % add.left_neutral
thf(fact_68_add_Oright__neutral, axiom,
    ((![A : nat]: ((plus_plus_nat @ A @ zero_zero_nat) = A)))). % add.right_neutral
thf(fact_69_add__cancel__left__left, axiom,
    ((![B : nat, A : nat]: (((plus_plus_nat @ B @ A) = A) = (B = zero_zero_nat))))). % add_cancel_left_left
thf(fact_70_add__cancel__left__right, axiom,
    ((![A : nat, B : nat]: (((plus_plus_nat @ A @ B) = A) = (B = zero_zero_nat))))). % add_cancel_left_right
thf(fact_71_add__cancel__right__left, axiom,
    ((![A : nat, B : nat]: ((A = (plus_plus_nat @ B @ A)) = (B = zero_zero_nat))))). % add_cancel_right_left
thf(fact_72_add__cancel__right__right, axiom,
    ((![A : nat, B : nat]: ((A = (plus_plus_nat @ A @ B)) = (B = zero_zero_nat))))). % add_cancel_right_right
thf(fact_73_add__eq__0__iff__both__eq__0, axiom,
    ((![X3 : nat, Y2 : nat]: (((plus_plus_nat @ X3 @ Y2) = zero_zero_nat) = (((X3 = zero_zero_nat)) & ((Y2 = zero_zero_nat))))))). % add_eq_0_iff_both_eq_0
thf(fact_74_zero__eq__add__iff__both__eq__0, axiom,
    ((![X3 : nat, Y2 : nat]: ((zero_zero_nat = (plus_plus_nat @ X3 @ Y2)) = (((X3 = zero_zero_nat)) & ((Y2 = zero_zero_nat))))))). % zero_eq_add_iff_both_eq_0
thf(fact_75_numeral__plus__numeral, axiom,
    ((![M : num, N : num]: ((plus_plus_nat @ (numeral_numeral_nat @ M) @ (numeral_numeral_nat @ N)) = (numeral_numeral_nat @ (plus_plus_num @ M @ N)))))). % numeral_plus_numeral
thf(fact_76_add__numeral__left, axiom,
    ((![V : num, W : num, Z : nat]: ((plus_plus_nat @ (numeral_numeral_nat @ V) @ (plus_plus_nat @ (numeral_numeral_nat @ W) @ Z)) = (plus_plus_nat @ (numeral_numeral_nat @ (plus_plus_num @ V @ W)) @ Z))))). % add_numeral_left
thf(fact_77_semiring__norm_I2_J, axiom,
    (((plus_plus_num @ one @ one) = (bit0 @ one)))). % semiring_norm(2)
thf(fact_78_semiring__norm_I7_J, axiom,
    ((![M : num, N : num]: ((plus_plus_num @ (bit0 @ M) @ (bit1 @ N)) = (bit1 @ (plus_plus_num @ M @ N)))))). % semiring_norm(7)
thf(fact_79_semiring__norm_I9_J, axiom,
    ((![M : num, N : num]: ((plus_plus_num @ (bit1 @ M) @ (bit0 @ N)) = (bit1 @ (plus_plus_num @ M @ N)))))). % semiring_norm(9)

% Conjectures (1)
thf(conj_0, conjecture,
    (((set_or562006527an_nat @ zero_zero_nat @ (numeral_numeral_nat @ (bit0 @ (bit0 @ one)))) = (insert_nat @ zero_zero_nat @ (insert_nat @ one_one_nat @ (insert_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ (insert_nat @ (numeral_numeral_nat @ (bit1 @ one)) @ bot_bot_set_nat))))))).
