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

% 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 (12)
thf(sy_c_Fun_Oinj__on_001t__Nat__Onat_001t__Nat__Onat, type,
    inj_on_nat_nat : (nat > nat) > set_nat > $o).
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_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_Num_Oinc, type,
    inc : num > num).
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_member_001t__Nat__Onat, type,
    member_nat : nat > set_nat > $o).
thf(sy_v_A, type,
    a : set_nat).

% Relevant facts (84)
thf(fact_0_semiring__norm_I85_J, axiom,
    ((![M : num]: (~ (((bit0 @ M) = one)))))). % semiring_norm(85)
thf(fact_1_semiring__norm_I83_J, axiom,
    ((![N : num]: (~ ((one = (bit0 @ N))))))). % semiring_norm(83)
thf(fact_2_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_3_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_4_mult__numeral__1, axiom,
    ((![A : nat]: ((times_times_nat @ (numeral_numeral_nat @ one) @ A) = A)))). % mult_numeral_1
thf(fact_5_mult__numeral__1__right, axiom,
    ((![A : nat]: ((times_times_nat @ A @ (numeral_numeral_nat @ one)) = A)))). % mult_numeral_1_right
thf(fact_6_verit__eq__simplify_I8_J, axiom,
    ((![X2 : num, Y2 : num]: (((bit0 @ X2) = (bit0 @ Y2)) = (X2 = Y2))))). % verit_eq_simplify(8)
thf(fact_7_semiring__norm_I87_J, axiom,
    ((![M : num, N : num]: (((bit0 @ M) = (bit0 @ N)) = (M = N))))). % semiring_norm(87)
thf(fact_8_numeral__eq__iff, axiom,
    ((![M : num, N : num]: (((numeral_numeral_nat @ M) = (numeral_numeral_nat @ N)) = (M = N))))). % numeral_eq_iff
thf(fact_9_verit__eq__simplify_I10_J, axiom,
    ((![X2 : num]: (~ ((one = (bit0 @ X2))))))). % verit_eq_simplify(10)
thf(fact_10_inj__on__id2, axiom,
    ((![A2 : set_nat]: (inj_on_nat_nat @ (^[X : nat]: X) @ A2)))). % inj_on_id2
thf(fact_11_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_12_semiring__norm_I11_J, axiom,
    ((![M : num]: ((times_times_num @ M @ one) = M)))). % semiring_norm(11)
thf(fact_13_semiring__norm_I12_J, axiom,
    ((![N : num]: ((times_times_num @ one @ N) = N)))). % semiring_norm(12)
thf(fact_14_num__double, axiom,
    ((![N : num]: ((times_times_num @ (bit0 @ one) @ N) = (bit0 @ N))))). % num_double
thf(fact_15_inj__on__inverseI, axiom,
    ((![A2 : set_nat, G : nat > nat, F : nat > nat]: ((![X3 : nat]: ((member_nat @ X3 @ A2) => ((G @ (F @ X3)) = X3))) => (inj_on_nat_nat @ F @ A2))))). % inj_on_inverseI
thf(fact_16_inj__on__contraD, axiom,
    ((![F : nat > nat, A2 : set_nat, X4 : nat, Y : nat]: ((inj_on_nat_nat @ F @ A2) => ((~ ((X4 = Y))) => ((member_nat @ X4 @ A2) => ((member_nat @ Y @ A2) => (~ (((F @ X4) = (F @ Y))))))))))). % inj_on_contraD
thf(fact_17_inj__on__eq__iff, axiom,
    ((![F : nat > nat, A2 : set_nat, X4 : nat, Y : nat]: ((inj_on_nat_nat @ F @ A2) => ((member_nat @ X4 @ A2) => ((member_nat @ Y @ A2) => (((F @ X4) = (F @ Y)) = (X4 = Y)))))))). % inj_on_eq_iff
thf(fact_18_inj__on__cong, axiom,
    ((![A2 : set_nat, F : nat > nat, G : nat > nat]: ((![A3 : nat]: ((member_nat @ A3 @ A2) => ((F @ A3) = (G @ A3)))) => ((inj_on_nat_nat @ F @ A2) = (inj_on_nat_nat @ G @ A2)))))). % inj_on_cong
thf(fact_19_inj__on__def, axiom,
    ((inj_on_nat_nat = (^[F2 : nat > nat]: (^[A4 : set_nat]: (![X : nat]: (((member_nat @ X @ A4)) => ((![Y3 : nat]: (((member_nat @ Y3 @ A4)) => (((((F2 @ X) = (F2 @ Y3))) => ((X = Y3)))))))))))))). % inj_on_def
thf(fact_20_inj__onI, axiom,
    ((![A2 : set_nat, F : nat > nat]: ((![X3 : nat, Y4 : nat]: ((member_nat @ X3 @ A2) => ((member_nat @ Y4 @ A2) => (((F @ X3) = (F @ Y4)) => (X3 = Y4))))) => (inj_on_nat_nat @ F @ A2))))). % inj_onI
thf(fact_21_inj__onD, axiom,
    ((![F : nat > nat, A2 : set_nat, X4 : nat, Y : nat]: ((inj_on_nat_nat @ F @ A2) => (((F @ X4) = (F @ Y)) => ((member_nat @ X4 @ A2) => ((member_nat @ Y @ A2) => (X4 = Y)))))))). % inj_onD
thf(fact_22_mult__commute__abs, axiom,
    ((![C : nat]: ((^[X : nat]: (times_times_nat @ X @ C)) = (times_times_nat @ C))))). % mult_commute_abs
thf(fact_23_left__add__twice, axiom,
    ((![A : nat, B : nat]: ((plus_plus_nat @ A @ (plus_plus_nat @ A @ B)) = (plus_plus_nat @ (times_times_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ A) @ B))))). % left_add_twice
thf(fact_24_mult__2__right, axiom,
    ((![Z : nat]: ((times_times_nat @ Z @ (numeral_numeral_nat @ (bit0 @ one))) = (plus_plus_nat @ Z @ Z))))). % mult_2_right
thf(fact_25_mult__2, axiom,
    ((![Z : nat]: ((times_times_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ Z) = (plus_plus_nat @ Z @ Z))))). % mult_2
thf(fact_26_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_27_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_28_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_29_semiring__norm_I2_J, axiom,
    (((plus_plus_num @ one @ one) = (bit0 @ one)))). % semiring_norm(2)
thf(fact_30_distrib__left__numeral, axiom,
    ((![V : num, B : nat, C : nat]: ((times_times_nat @ (numeral_numeral_nat @ V) @ (plus_plus_nat @ B @ C)) = (plus_plus_nat @ (times_times_nat @ (numeral_numeral_nat @ V) @ B) @ (times_times_nat @ (numeral_numeral_nat @ V) @ C)))))). % distrib_left_numeral
thf(fact_31_distrib__right__numeral, axiom,
    ((![A : nat, B : nat, V : num]: ((times_times_nat @ (plus_plus_nat @ A @ B) @ (numeral_numeral_nat @ V)) = (plus_plus_nat @ (times_times_nat @ A @ (numeral_numeral_nat @ V)) @ (times_times_nat @ B @ (numeral_numeral_nat @ V))))))). % distrib_right_numeral
thf(fact_32_add__One__commute, axiom,
    ((![N : num]: ((plus_plus_num @ one @ N) = (plus_plus_num @ N @ one))))). % add_One_commute
thf(fact_33_inj__on__add, axiom,
    ((![A : nat, A2 : set_nat]: (inj_on_nat_nat @ (plus_plus_nat @ A) @ A2)))). % inj_on_add
thf(fact_34_left__add__mult__distrib, axiom,
    ((![I : nat, U : nat, J : nat, K : nat]: ((plus_plus_nat @ (times_times_nat @ I @ U) @ (plus_plus_nat @ (times_times_nat @ J @ U) @ K)) = (plus_plus_nat @ (times_times_nat @ (plus_plus_nat @ I @ J) @ U) @ K))))). % left_add_mult_distrib
thf(fact_35_inj__on__add_H, axiom,
    ((![A : nat, A2 : set_nat]: (inj_on_nat_nat @ (^[B2 : nat]: (plus_plus_nat @ B2 @ A)) @ A2)))). % inj_on_add'
thf(fact_36_numeral__Bit0, axiom,
    ((![N : num]: ((numeral_numeral_nat @ (bit0 @ N)) = (plus_plus_nat @ (numeral_numeral_nat @ N) @ (numeral_numeral_nat @ N)))))). % numeral_Bit0
thf(fact_37_numeral__code_I2_J, axiom,
    ((![N : num]: ((numeral_numeral_nat @ (bit0 @ N)) = (plus_plus_nat @ (numeral_numeral_nat @ N) @ (numeral_numeral_nat @ N)))))). % numeral_code(2)
thf(fact_38_add__left__cancel, axiom,
    ((![A : nat, B : nat, C : nat]: (((plus_plus_nat @ A @ B) = (plus_plus_nat @ A @ C)) = (B = C))))). % add_left_cancel
thf(fact_39_add__right__cancel, axiom,
    ((![B : nat, A : nat, C : nat]: (((plus_plus_nat @ B @ A) = (plus_plus_nat @ C @ A)) = (B = C))))). % add_right_cancel
thf(fact_40_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_41_mult_Ocommute, axiom,
    ((times_times_nat = (^[A5 : nat]: (^[B2 : nat]: (times_times_nat @ B2 @ A5)))))). % mult.commute
thf(fact_42_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_43_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_44_ab__semigroup__add__class_Oadd__ac_I1_J, axiom,
    ((![A : nat, B : nat, C : nat]: ((plus_plus_nat @ (plus_plus_nat @ A @ B) @ C) = (plus_plus_nat @ A @ (plus_plus_nat @ B @ C)))))). % ab_semigroup_add_class.add_ac(1)
thf(fact_45_add__mono__thms__linordered__semiring_I4_J, axiom,
    ((![I : nat, J : nat, K : nat, L : nat]: (((I = J) & (K = L)) => ((plus_plus_nat @ I @ K) = (plus_plus_nat @ J @ L)))))). % add_mono_thms_linordered_semiring(4)
thf(fact_46_group__cancel_Oadd1, axiom,
    ((![A2 : nat, K : nat, A : nat, B : nat]: ((A2 = (plus_plus_nat @ K @ A)) => ((plus_plus_nat @ A2 @ B) = (plus_plus_nat @ K @ (plus_plus_nat @ A @ B))))))). % group_cancel.add1
thf(fact_47_group__cancel_Oadd2, axiom,
    ((![B3 : nat, K : nat, B : nat, A : nat]: ((B3 = (plus_plus_nat @ K @ B)) => ((plus_plus_nat @ A @ B3) = (plus_plus_nat @ K @ (plus_plus_nat @ A @ B))))))). % group_cancel.add2
thf(fact_48_add_Oassoc, axiom,
    ((![A : nat, B : nat, C : nat]: ((plus_plus_nat @ (plus_plus_nat @ A @ B) @ C) = (plus_plus_nat @ A @ (plus_plus_nat @ B @ C)))))). % add.assoc
thf(fact_49_add_Ocommute, axiom,
    ((plus_plus_nat = (^[A5 : nat]: (^[B2 : nat]: (plus_plus_nat @ B2 @ A5)))))). % add.commute
thf(fact_50_add_Oleft__commute, axiom,
    ((![B : nat, A : nat, C : nat]: ((plus_plus_nat @ B @ (plus_plus_nat @ A @ C)) = (plus_plus_nat @ A @ (plus_plus_nat @ B @ C)))))). % add.left_commute
thf(fact_51_add__left__imp__eq, axiom,
    ((![A : nat, B : nat, C : nat]: (((plus_plus_nat @ A @ B) = (plus_plus_nat @ A @ C)) => (B = C))))). % add_left_imp_eq
thf(fact_52_add__right__imp__eq, axiom,
    ((![B : nat, A : nat, C : nat]: (((plus_plus_nat @ B @ A) = (plus_plus_nat @ C @ A)) => (B = C))))). % add_right_imp_eq
thf(fact_53_combine__common__factor, axiom,
    ((![A : nat, E : nat, B : nat, C : nat]: ((plus_plus_nat @ (times_times_nat @ A @ E) @ (plus_plus_nat @ (times_times_nat @ B @ E) @ C)) = (plus_plus_nat @ (times_times_nat @ (plus_plus_nat @ A @ B) @ E) @ C))))). % combine_common_factor
thf(fact_54_distrib__right, axiom,
    ((![A : nat, B : nat, C : nat]: ((times_times_nat @ (plus_plus_nat @ A @ B) @ C) = (plus_plus_nat @ (times_times_nat @ A @ C) @ (times_times_nat @ B @ C)))))). % distrib_right
thf(fact_55_distrib__left, axiom,
    ((![A : nat, B : nat, C : nat]: ((times_times_nat @ A @ (plus_plus_nat @ B @ C)) = (plus_plus_nat @ (times_times_nat @ A @ B) @ (times_times_nat @ A @ C)))))). % distrib_left
thf(fact_56_comm__semiring__class_Odistrib, axiom,
    ((![A : nat, B : nat, C : nat]: ((times_times_nat @ (plus_plus_nat @ A @ B) @ C) = (plus_plus_nat @ (times_times_nat @ A @ C) @ (times_times_nat @ B @ C)))))). % comm_semiring_class.distrib
thf(fact_57_add__mult__distrib2, axiom,
    ((![K : nat, M : nat, N : nat]: ((times_times_nat @ K @ (plus_plus_nat @ M @ N)) = (plus_plus_nat @ (times_times_nat @ K @ M) @ (times_times_nat @ K @ N)))))). % add_mult_distrib2
thf(fact_58_add__mult__distrib, axiom,
    ((![M : nat, N : nat, K : nat]: ((times_times_nat @ (plus_plus_nat @ M @ N) @ K) = (plus_plus_nat @ (times_times_nat @ M @ K) @ (times_times_nat @ N @ K)))))). % add_mult_distrib
thf(fact_59_crossproduct__noteq, axiom,
    ((![A : nat, B : nat, C : nat, D : nat]: ((((~ ((A = B)))) & ((~ ((C = D))))) = (~ (((plus_plus_nat @ (times_times_nat @ A @ C) @ (times_times_nat @ B @ D)) = (plus_plus_nat @ (times_times_nat @ A @ D) @ (times_times_nat @ B @ C))))))))). % crossproduct_noteq
thf(fact_60_nat__mult__eq__1__iff, axiom,
    ((![M : nat, N : nat]: (((times_times_nat @ M @ N) = one_one_nat) = (((M = one_one_nat)) & ((N = one_one_nat))))))). % nat_mult_eq_1_iff
thf(fact_61_nat__1__eq__mult__iff, axiom,
    ((![M : nat, N : nat]: ((one_one_nat = (times_times_nat @ M @ N)) = (((M = one_one_nat)) & ((N = one_one_nat))))))). % nat_1_eq_mult_iff
thf(fact_62_mult_Oright__neutral, axiom,
    ((![A : nat]: ((times_times_nat @ A @ one_one_nat) = A)))). % mult.right_neutral
thf(fact_63_mult_Oleft__neutral, axiom,
    ((![A : nat]: ((times_times_nat @ one_one_nat @ A) = A)))). % mult.left_neutral
thf(fact_64_numeral__eq__one__iff, axiom,
    ((![N : num]: (((numeral_numeral_nat @ N) = one_one_nat) = (N = one))))). % numeral_eq_one_iff
thf(fact_65_one__eq__numeral__iff, axiom,
    ((![N : num]: ((one_one_nat = (numeral_numeral_nat @ N)) = (one = N))))). % one_eq_numeral_iff
thf(fact_66_one__add__one, axiom,
    (((plus_plus_nat @ one_one_nat @ one_one_nat) = (numeral_numeral_nat @ (bit0 @ one))))). % one_add_one
thf(fact_67_numeral__plus__one, axiom,
    ((![N : num]: ((plus_plus_nat @ (numeral_numeral_nat @ N) @ one_one_nat) = (numeral_numeral_nat @ (plus_plus_num @ N @ one)))))). % numeral_plus_one
thf(fact_68_one__plus__numeral, axiom,
    ((![N : num]: ((plus_plus_nat @ one_one_nat @ (numeral_numeral_nat @ N)) = (numeral_numeral_nat @ (plus_plus_num @ one @ N)))))). % one_plus_numeral
thf(fact_69_comm__monoid__mult__class_Omult__1, axiom,
    ((![A : nat]: ((times_times_nat @ one_one_nat @ A) = A)))). % comm_monoid_mult_class.mult_1
thf(fact_70_mult_Ocomm__neutral, axiom,
    ((![A : nat]: ((times_times_nat @ A @ one_one_nat) = A)))). % mult.comm_neutral
thf(fact_71_one__reorient, axiom,
    ((![X4 : nat]: ((one_one_nat = X4) = (X4 = one_one_nat))))). % one_reorient
thf(fact_72_nat__mult__1__right, axiom,
    ((![N : nat]: ((times_times_nat @ N @ one_one_nat) = N)))). % nat_mult_1_right
thf(fact_73_nat__mult__1, axiom,
    ((![N : nat]: ((times_times_nat @ one_one_nat @ N) = N)))). % nat_mult_1
thf(fact_74_lambda__one, axiom,
    (((^[X : nat]: X) = (times_times_nat @ one_one_nat)))). % lambda_one
thf(fact_75_one__plus__numeral__commute, axiom,
    ((![X4 : num]: ((plus_plus_nat @ one_one_nat @ (numeral_numeral_nat @ X4)) = (plus_plus_nat @ (numeral_numeral_nat @ X4) @ one_one_nat))))). % one_plus_numeral_commute
thf(fact_76_numeral__One, axiom,
    (((numeral_numeral_nat @ one) = one_one_nat))). % numeral_One
thf(fact_77_numerals_I1_J, axiom,
    (((numeral_numeral_nat @ one) = one_one_nat))). % numerals(1)
thf(fact_78_nat__1__add__1, axiom,
    (((plus_plus_nat @ one_one_nat @ one_one_nat) = (numeral_numeral_nat @ (bit0 @ one))))). % nat_1_add_1
thf(fact_79_crossproduct__eq, axiom,
    ((![W : nat, Y : nat, X4 : nat, Z : nat]: (((plus_plus_nat @ (times_times_nat @ W @ Y) @ (times_times_nat @ X4 @ Z)) = (plus_plus_nat @ (times_times_nat @ W @ Z) @ (times_times_nat @ X4 @ Y))) = (((W = X4)) | ((Y = Z))))))). % crossproduct_eq
thf(fact_80_num__induct, axiom,
    ((![P : num > $o, X4 : num]: ((P @ one) => ((![X3 : num]: ((P @ X3) => (P @ (inc @ X3)))) => (P @ X4)))))). % num_induct
thf(fact_81_add__inc, axiom,
    ((![X4 : num, Y : num]: ((plus_plus_num @ X4 @ (inc @ Y)) = (inc @ (plus_plus_num @ X4 @ Y)))))). % add_inc
thf(fact_82_inc_Osimps_I1_J, axiom,
    (((inc @ one) = (bit0 @ one)))). % inc.simps(1)
thf(fact_83_add__One, axiom,
    ((![X4 : num]: ((plus_plus_num @ X4 @ one) = (inc @ X4))))). % add_One

% Conjectures (1)
thf(conj_0, conjecture,
    ((inj_on_nat_nat @ (times_times_nat @ (numeral_numeral_nat @ (bit0 @ one))) @ a))).
