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

% 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 (14)
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_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_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_Odvd__class_Odvd_001t__Nat__Onat, type,
    dvd_dvd_nat : nat > nat > $o).
thf(sy_v_A, type,
    a : set_nat).

% Relevant facts (135)
thf(fact_0_double__inj__on, axiom,
    ((![A : set_nat]: (inj_on_nat_nat @ (times_times_nat @ (numeral_numeral_nat @ (bit0 @ one))) @ A)))). % double_inj_on
thf(fact_1_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_2_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_3_semiring__norm_I85_J, axiom,
    ((![M : num]: (~ (((bit0 @ M) = one)))))). % semiring_norm(85)
thf(fact_4_semiring__norm_I83_J, axiom,
    ((![N : num]: (~ ((one = (bit0 @ N))))))). % semiring_norm(83)
thf(fact_5_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_6_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_7_mult__numeral__1, axiom,
    ((![A2 : nat]: ((times_times_nat @ (numeral_numeral_nat @ one) @ A2) = A2)))). % mult_numeral_1
thf(fact_8_mult__numeral__1__right, axiom,
    ((![A2 : nat]: ((times_times_nat @ A2 @ (numeral_numeral_nat @ one)) = A2)))). % mult_numeral_1_right
thf(fact_9_inj__Suc, axiom,
    ((![N2 : set_nat]: (inj_on_nat_nat @ suc @ N2)))). % inj_Suc
thf(fact_10_nat_Oinject, axiom,
    ((![X2 : nat, Y2 : nat]: (((suc @ X2) = (suc @ Y2)) = (X2 = Y2))))). % nat.inject
thf(fact_11_old_Onat_Oinject, axiom,
    ((![Nat : nat, Nat2 : nat]: (((suc @ Nat) = (suc @ Nat2)) = (Nat = Nat2))))). % old.nat.inject
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_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_15_semiring__norm_I11_J, axiom,
    ((![M : num]: ((times_times_num @ M @ one) = M)))). % semiring_norm(11)
thf(fact_16_semiring__norm_I12_J, axiom,
    ((![N : num]: ((times_times_num @ one @ N) = N)))). % semiring_norm(12)
thf(fact_17_num__double, axiom,
    ((![N : num]: ((times_times_num @ (bit0 @ one) @ N) = (bit0 @ N))))). % num_double
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_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_21_verit__eq__simplify_I8_J, axiom,
    ((![X2 : num, Y2 : num]: (((bit0 @ X2) = (bit0 @ Y2)) = (X2 = Y2))))). % verit_eq_simplify(8)
thf(fact_22_push__bit__Suc, axiom,
    ((![N : nat, A2 : nat]: ((semiri2013084963it_nat @ (suc @ N) @ A2) = (semiri2013084963it_nat @ N @ (times_times_nat @ A2 @ (numeral_numeral_nat @ (bit0 @ one)))))))). % push_bit_Suc
thf(fact_23_verit__eq__simplify_I10_J, axiom,
    ((![X2 : num]: (~ ((one = (bit0 @ X2))))))). % verit_eq_simplify(10)
thf(fact_24_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_25_Suc__1, axiom,
    (((suc @ one_one_nat) = (numeral_numeral_nat @ (bit0 @ one))))). % Suc_1
thf(fact_26_add__2__eq__Suc_H, axiom,
    ((![N : nat]: ((plus_plus_nat @ N @ (numeral_numeral_nat @ (bit0 @ one))) = (suc @ (suc @ N)))))). % add_2_eq_Suc'
thf(fact_27_add__2__eq__Suc, axiom,
    ((![N : nat]: ((plus_plus_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ N) = (suc @ (suc @ N)))))). % add_2_eq_Suc
thf(fact_28_push__bit__double, axiom,
    ((![N : nat, A2 : nat]: ((semiri2013084963it_nat @ N @ (times_times_nat @ A2 @ (numeral_numeral_nat @ (bit0 @ one)))) = (times_times_nat @ (semiri2013084963it_nat @ N @ A2) @ (numeral_numeral_nat @ (bit0 @ one))))))). % push_bit_double
thf(fact_29_even__Suc__Suc__iff, axiom,
    ((![N : nat]: ((dvd_dvd_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ (suc @ (suc @ N))) = (dvd_dvd_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ N))))). % even_Suc_Suc_iff
thf(fact_30_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_31_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_32_add__Suc__right, axiom,
    ((![M : nat, N : nat]: ((plus_plus_nat @ M @ (suc @ N)) = (suc @ (plus_plus_nat @ M @ N)))))). % add_Suc_right
thf(fact_33_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_34_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_35_nat__dvd__1__iff__1, axiom,
    ((![M : nat]: ((dvd_dvd_nat @ M @ one_one_nat) = (M = one_one_nat))))). % nat_dvd_1_iff_1
thf(fact_36_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_37_distrib__right__numeral, axiom,
    ((![A2 : nat, B : nat, V : num]: ((times_times_nat @ (plus_plus_nat @ A2 @ B) @ (numeral_numeral_nat @ V)) = (plus_plus_nat @ (times_times_nat @ A2 @ (numeral_numeral_nat @ V)) @ (times_times_nat @ B @ (numeral_numeral_nat @ V))))))). % distrib_right_numeral
thf(fact_38_numeral__eq__one__iff, axiom,
    ((![N : num]: (((numeral_numeral_nat @ N) = one_one_nat) = (N = one))))). % numeral_eq_one_iff
thf(fact_39_one__eq__numeral__iff, axiom,
    ((![N : num]: ((one_one_nat = (numeral_numeral_nat @ N)) = (one = N))))). % one_eq_numeral_iff
thf(fact_40_mult__Suc__right, axiom,
    ((![M : nat, N : nat]: ((times_times_nat @ M @ (suc @ N)) = (plus_plus_nat @ M @ (times_times_nat @ M @ N)))))). % mult_Suc_right
thf(fact_41_take__bit__Suc__1, axiom,
    ((![N : nat]: ((semiri967765622it_nat @ (suc @ N) @ one_one_nat) = one_one_nat)))). % take_bit_Suc_1
thf(fact_42_take__bit__numeral__1, axiom,
    ((![L : num]: ((semiri967765622it_nat @ (numeral_numeral_nat @ L) @ one_one_nat) = one_one_nat)))). % take_bit_numeral_1
thf(fact_43_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_44_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_45_one__add__one, axiom,
    (((plus_plus_nat @ one_one_nat @ one_one_nat) = (numeral_numeral_nat @ (bit0 @ one))))). % one_add_one
thf(fact_46_even__mult__iff, axiom,
    ((![A2 : nat, B : nat]: ((dvd_dvd_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ (times_times_nat @ A2 @ B)) = (((dvd_dvd_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ A2)) | ((dvd_dvd_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ B))))))). % even_mult_iff
thf(fact_47_odd__add, axiom,
    ((![A2 : nat, B : nat]: ((~ ((dvd_dvd_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ (plus_plus_nat @ A2 @ B)))) = (~ (((~ ((dvd_dvd_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ A2))) = (~ ((dvd_dvd_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ B)))))))))). % odd_add
thf(fact_48_even__add, axiom,
    ((![A2 : nat, B : nat]: ((dvd_dvd_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ (plus_plus_nat @ A2 @ B)) = ((dvd_dvd_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ A2) = (dvd_dvd_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ B)))))). % even_add
thf(fact_49_even__Suc, axiom,
    ((![N : nat]: ((dvd_dvd_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ (suc @ N)) = (~ ((dvd_dvd_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ N))))))). % even_Suc
thf(fact_50_even__plus__one__iff, axiom,
    ((![A2 : nat]: ((dvd_dvd_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ (plus_plus_nat @ A2 @ one_one_nat)) = (~ ((dvd_dvd_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ A2))))))). % even_plus_one_iff
thf(fact_51_dvd__antisym, axiom,
    ((![M : nat, N : nat]: ((dvd_dvd_nat @ M @ N) => ((dvd_dvd_nat @ N @ M) => (M = N)))))). % dvd_antisym
thf(fact_52_Suc__eq__plus1, axiom,
    ((suc = (^[N3 : nat]: (plus_plus_nat @ N3 @ one_one_nat))))). % Suc_eq_plus1
thf(fact_53_plus__1__eq__Suc, axiom,
    (((plus_plus_nat @ one_one_nat) = suc))). % plus_1_eq_Suc
thf(fact_54_Suc__eq__plus1__left, axiom,
    ((suc = (plus_plus_nat @ one_one_nat)))). % Suc_eq_plus1_left
thf(fact_55_one__plus__numeral__commute, axiom,
    ((![X : num]: ((plus_plus_nat @ one_one_nat @ (numeral_numeral_nat @ X)) = (plus_plus_nat @ (numeral_numeral_nat @ X) @ one_one_nat))))). % one_plus_numeral_commute
thf(fact_56_push__bit__add, axiom,
    ((![N : nat, A2 : nat, B : nat]: ((semiri2013084963it_nat @ N @ (plus_plus_nat @ A2 @ B)) = (plus_plus_nat @ (semiri2013084963it_nat @ N @ A2) @ (semiri2013084963it_nat @ N @ B)))))). % push_bit_add
thf(fact_57_take__bit__add, axiom,
    ((![N : nat, A2 : nat, B : nat]: ((semiri967765622it_nat @ N @ (plus_plus_nat @ (semiri967765622it_nat @ N @ A2) @ (semiri967765622it_nat @ N @ B))) = (semiri967765622it_nat @ N @ (plus_plus_nat @ A2 @ B)))))). % take_bit_add
thf(fact_58_add__Suc__shift, axiom,
    ((![M : nat, N : nat]: ((plus_plus_nat @ (suc @ M) @ N) = (plus_plus_nat @ M @ (suc @ N)))))). % add_Suc_shift
thf(fact_59_nat__arith_Osuc1, axiom,
    ((![A : nat, K : nat, A2 : nat]: ((A = (plus_plus_nat @ K @ A2)) => ((suc @ A) = (plus_plus_nat @ K @ (suc @ A2))))))). % nat_arith.suc1
thf(fact_60_add__Suc, axiom,
    ((![M : nat, N : nat]: ((plus_plus_nat @ (suc @ M) @ N) = (suc @ (plus_plus_nat @ M @ N)))))). % add_Suc
thf(fact_61_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_62_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_63_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_64_oddE, axiom,
    ((![A2 : nat]: ((~ ((dvd_dvd_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ A2))) => (~ ((![B2 : nat]: (~ ((A2 = (plus_plus_nat @ (times_times_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ B2) @ one_one_nat))))))))))). % oddE
thf(fact_65_nat__mult__1, axiom,
    ((![N : nat]: ((times_times_nat @ one_one_nat @ N) = N)))). % nat_mult_1
thf(fact_66_nat__mult__1__right, axiom,
    ((![N : nat]: ((times_times_nat @ N @ one_one_nat) = N)))). % nat_mult_1_right
thf(fact_67_odd__even__add, axiom,
    ((![A2 : nat, B : nat]: ((~ ((dvd_dvd_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ A2))) => ((~ ((dvd_dvd_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ B))) => (dvd_dvd_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ (plus_plus_nat @ A2 @ B))))))). % odd_even_add
thf(fact_68_odd__one, axiom,
    ((~ ((dvd_dvd_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ one_one_nat))))). % odd_one
thf(fact_69_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_70_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_71_mult__Suc, axiom,
    ((![M : nat, N : nat]: ((times_times_nat @ (suc @ M) @ N) = (plus_plus_nat @ N @ (times_times_nat @ M @ N)))))). % mult_Suc
thf(fact_72_numeral__One, axiom,
    (((numeral_numeral_nat @ one) = one_one_nat))). % numeral_One
thf(fact_73_numerals_I1_J, axiom,
    (((numeral_numeral_nat @ one) = one_one_nat))). % numerals(1)
thf(fact_74_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_75_even__numeral, axiom,
    ((![N : num]: (dvd_dvd_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ (numeral_numeral_nat @ (bit0 @ N)))))). % even_numeral
thf(fact_76_evenE, axiom,
    ((![A2 : nat]: ((dvd_dvd_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ A2) => (~ ((![B2 : nat]: (~ ((A2 = (times_times_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ B2))))))))))). % evenE
thf(fact_77_mult__2, axiom,
    ((![Z : nat]: ((times_times_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ Z) = (plus_plus_nat @ Z @ Z))))). % mult_2
thf(fact_78_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_79_left__add__twice, axiom,
    ((![A2 : nat, B : nat]: ((plus_plus_nat @ A2 @ (plus_plus_nat @ A2 @ B)) = (plus_plus_nat @ (times_times_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ A2) @ B))))). % left_add_twice
thf(fact_80_unit__prod, axiom,
    ((![A2 : nat, B : nat]: ((dvd_dvd_nat @ A2 @ one_one_nat) => ((dvd_dvd_nat @ B @ one_one_nat) => (dvd_dvd_nat @ (times_times_nat @ A2 @ B) @ one_one_nat)))))). % unit_prod
thf(fact_81_dvd__add__times__triv__left__iff, axiom,
    ((![A2 : nat, C : nat, B : nat]: ((dvd_dvd_nat @ A2 @ (plus_plus_nat @ (times_times_nat @ C @ A2) @ B)) = (dvd_dvd_nat @ A2 @ B))))). % dvd_add_times_triv_left_iff
thf(fact_82_dvd__add__times__triv__right__iff, axiom,
    ((![A2 : nat, B : nat, C : nat]: ((dvd_dvd_nat @ A2 @ (plus_plus_nat @ B @ (times_times_nat @ C @ A2))) = (dvd_dvd_nat @ A2 @ B))))). % dvd_add_times_triv_right_iff
thf(fact_83_dvd__add__triv__right__iff, axiom,
    ((![A2 : nat, B : nat]: ((dvd_dvd_nat @ A2 @ (plus_plus_nat @ B @ A2)) = (dvd_dvd_nat @ A2 @ B))))). % dvd_add_triv_right_iff
thf(fact_84_dvd__add__triv__left__iff, axiom,
    ((![A2 : nat, B : nat]: ((dvd_dvd_nat @ A2 @ (plus_plus_nat @ A2 @ B)) = (dvd_dvd_nat @ A2 @ B))))). % dvd_add_triv_left_iff
thf(fact_85_mult_Oleft__neutral, axiom,
    ((![A2 : nat]: ((times_times_nat @ one_one_nat @ A2) = A2)))). % mult.left_neutral
thf(fact_86_mult_Oright__neutral, axiom,
    ((![A2 : nat]: ((times_times_nat @ A2 @ one_one_nat) = A2)))). % mult.right_neutral
thf(fact_87_add__left__cancel, axiom,
    ((![A2 : nat, B : nat, C : nat]: (((plus_plus_nat @ A2 @ B) = (plus_plus_nat @ A2 @ C)) = (B = C))))). % add_left_cancel
thf(fact_88_add__right__cancel, axiom,
    ((![B : nat, A2 : nat, C : nat]: (((plus_plus_nat @ B @ A2) = (plus_plus_nat @ C @ A2)) = (B = C))))). % add_right_cancel
thf(fact_89_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_90_semiring__norm_I2_J, axiom,
    (((plus_plus_num @ one @ one) = (bit0 @ one)))). % semiring_norm(2)
thf(fact_91_Suc__numeral, axiom,
    ((![N : num]: ((suc @ (numeral_numeral_nat @ N)) = (numeral_numeral_nat @ (plus_plus_num @ N @ one)))))). % Suc_numeral
thf(fact_92_add__One__commute, axiom,
    ((![N : num]: ((plus_plus_num @ one @ N) = (plus_plus_num @ N @ one))))). % add_One_commute
thf(fact_93_mult_Oleft__commute, axiom,
    ((![B : nat, A2 : nat, C : nat]: ((times_times_nat @ B @ (times_times_nat @ A2 @ C)) = (times_times_nat @ A2 @ (times_times_nat @ B @ C)))))). % mult.left_commute
thf(fact_94_mult_Ocommute, axiom,
    ((times_times_nat = (^[A3 : nat]: (^[B3 : nat]: (times_times_nat @ B3 @ A3)))))). % mult.commute
thf(fact_95_mult_Oassoc, axiom,
    ((![A2 : nat, B : nat, C : nat]: ((times_times_nat @ (times_times_nat @ A2 @ B) @ C) = (times_times_nat @ A2 @ (times_times_nat @ B @ C)))))). % mult.assoc
thf(fact_96_ab__semigroup__mult__class_Omult__ac_I1_J, axiom,
    ((![A2 : nat, B : nat, C : nat]: ((times_times_nat @ (times_times_nat @ A2 @ B) @ C) = (times_times_nat @ A2 @ (times_times_nat @ B @ C)))))). % ab_semigroup_mult_class.mult_ac(1)
thf(fact_97_ab__semigroup__add__class_Oadd__ac_I1_J, axiom,
    ((![A2 : nat, B : nat, C : nat]: ((plus_plus_nat @ (plus_plus_nat @ A2 @ B) @ C) = (plus_plus_nat @ A2 @ (plus_plus_nat @ B @ C)))))). % ab_semigroup_add_class.add_ac(1)
thf(fact_98_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_99_group__cancel_Oadd1, axiom,
    ((![A : nat, K : nat, A2 : nat, B : nat]: ((A = (plus_plus_nat @ K @ A2)) => ((plus_plus_nat @ A @ B) = (plus_plus_nat @ K @ (plus_plus_nat @ A2 @ B))))))). % group_cancel.add1
thf(fact_100_group__cancel_Oadd2, axiom,
    ((![B4 : nat, K : nat, B : nat, A2 : nat]: ((B4 = (plus_plus_nat @ K @ B)) => ((plus_plus_nat @ A2 @ B4) = (plus_plus_nat @ K @ (plus_plus_nat @ A2 @ B))))))). % group_cancel.add2
thf(fact_101_add_Oassoc, axiom,
    ((![A2 : nat, B : nat, C : nat]: ((plus_plus_nat @ (plus_plus_nat @ A2 @ B) @ C) = (plus_plus_nat @ A2 @ (plus_plus_nat @ B @ C)))))). % add.assoc
thf(fact_102_add_Ocommute, axiom,
    ((plus_plus_nat = (^[A3 : nat]: (^[B3 : nat]: (plus_plus_nat @ B3 @ A3)))))). % add.commute
thf(fact_103_add_Oleft__commute, axiom,
    ((![B : nat, A2 : nat, C : nat]: ((plus_plus_nat @ B @ (plus_plus_nat @ A2 @ C)) = (plus_plus_nat @ A2 @ (plus_plus_nat @ B @ C)))))). % add.left_commute
thf(fact_104_add__left__imp__eq, axiom,
    ((![A2 : nat, B : nat, C : nat]: (((plus_plus_nat @ A2 @ B) = (plus_plus_nat @ A2 @ C)) => (B = C))))). % add_left_imp_eq
thf(fact_105_add__right__imp__eq, axiom,
    ((![B : nat, A2 : nat, C : nat]: (((plus_plus_nat @ B @ A2) = (plus_plus_nat @ C @ A2)) => (B = C))))). % add_right_imp_eq
thf(fact_106_one__reorient, axiom,
    ((![X : nat]: ((one_one_nat = X) = (X = one_one_nat))))). % one_reorient
thf(fact_107_dvd__refl, axiom,
    ((![A2 : nat]: (dvd_dvd_nat @ A2 @ A2)))). % dvd_refl
thf(fact_108_dvd__trans, axiom,
    ((![A2 : nat, B : nat, C : nat]: ((dvd_dvd_nat @ A2 @ B) => ((dvd_dvd_nat @ B @ C) => (dvd_dvd_nat @ A2 @ C)))))). % dvd_trans
thf(fact_109_Suc__nat__number__of__add, axiom,
    ((![V : num, N : nat]: ((suc @ (plus_plus_nat @ (numeral_numeral_nat @ V) @ N)) = (plus_plus_nat @ (numeral_numeral_nat @ (plus_plus_num @ V @ one)) @ N))))). % Suc_nat_number_of_add
thf(fact_110_combine__common__factor, axiom,
    ((![A2 : nat, E : nat, B : nat, C : nat]: ((plus_plus_nat @ (times_times_nat @ A2 @ E) @ (plus_plus_nat @ (times_times_nat @ B @ E) @ C)) = (plus_plus_nat @ (times_times_nat @ (plus_plus_nat @ A2 @ B) @ E) @ C))))). % combine_common_factor
thf(fact_111_distrib__right, axiom,
    ((![A2 : nat, B : nat, C : nat]: ((times_times_nat @ (plus_plus_nat @ A2 @ B) @ C) = (plus_plus_nat @ (times_times_nat @ A2 @ C) @ (times_times_nat @ B @ C)))))). % distrib_right
thf(fact_112_distrib__left, axiom,
    ((![A2 : nat, B : nat, C : nat]: ((times_times_nat @ A2 @ (plus_plus_nat @ B @ C)) = (plus_plus_nat @ (times_times_nat @ A2 @ B) @ (times_times_nat @ A2 @ C)))))). % distrib_left
thf(fact_113_comm__semiring__class_Odistrib, axiom,
    ((![A2 : nat, B : nat, C : nat]: ((times_times_nat @ (plus_plus_nat @ A2 @ B) @ C) = (plus_plus_nat @ (times_times_nat @ A2 @ C) @ (times_times_nat @ B @ C)))))). % comm_semiring_class.distrib
thf(fact_114_mult_Ocomm__neutral, axiom,
    ((![A2 : nat]: ((times_times_nat @ A2 @ one_one_nat) = A2)))). % mult.comm_neutral
thf(fact_115_comm__monoid__mult__class_Omult__1, axiom,
    ((![A2 : nat]: ((times_times_nat @ one_one_nat @ A2) = A2)))). % comm_monoid_mult_class.mult_1
thf(fact_116_dvd__triv__right, axiom,
    ((![A2 : nat, B : nat]: (dvd_dvd_nat @ A2 @ (times_times_nat @ B @ A2))))). % dvd_triv_right
thf(fact_117_dvd__mult__right, axiom,
    ((![A2 : nat, B : nat, C : nat]: ((dvd_dvd_nat @ (times_times_nat @ A2 @ B) @ C) => (dvd_dvd_nat @ B @ C))))). % dvd_mult_right
thf(fact_118_mult__dvd__mono, axiom,
    ((![A2 : nat, B : nat, C : nat, D : nat]: ((dvd_dvd_nat @ A2 @ B) => ((dvd_dvd_nat @ C @ D) => (dvd_dvd_nat @ (times_times_nat @ A2 @ C) @ (times_times_nat @ B @ D))))))). % mult_dvd_mono
thf(fact_119_dvd__triv__left, axiom,
    ((![A2 : nat, B : nat]: (dvd_dvd_nat @ A2 @ (times_times_nat @ A2 @ B))))). % dvd_triv_left
thf(fact_120_dvd__mult__left, axiom,
    ((![A2 : nat, B : nat, C : nat]: ((dvd_dvd_nat @ (times_times_nat @ A2 @ B) @ C) => (dvd_dvd_nat @ A2 @ C))))). % dvd_mult_left
thf(fact_121_dvd__mult2, axiom,
    ((![A2 : nat, B : nat, C : nat]: ((dvd_dvd_nat @ A2 @ B) => (dvd_dvd_nat @ A2 @ (times_times_nat @ B @ C)))))). % dvd_mult2
thf(fact_122_dvd__mult, axiom,
    ((![A2 : nat, C : nat, B : nat]: ((dvd_dvd_nat @ A2 @ C) => (dvd_dvd_nat @ A2 @ (times_times_nat @ B @ C)))))). % dvd_mult
thf(fact_123_dvd__def, axiom,
    ((dvd_dvd_nat = (^[B3 : nat]: (^[A3 : nat]: (?[K2 : nat]: (A3 = (times_times_nat @ B3 @ K2)))))))). % dvd_def
thf(fact_124_dvdI, axiom,
    ((![A2 : nat, B : nat, K : nat]: ((A2 = (times_times_nat @ B @ K)) => (dvd_dvd_nat @ B @ A2))))). % dvdI
thf(fact_125_dvdE, axiom,
    ((![B : nat, A2 : nat]: ((dvd_dvd_nat @ B @ A2) => (~ ((![K3 : nat]: (~ ((A2 = (times_times_nat @ B @ K3))))))))))). % dvdE
thf(fact_126_dvd__add, axiom,
    ((![A2 : nat, B : nat, C : nat]: ((dvd_dvd_nat @ A2 @ B) => ((dvd_dvd_nat @ A2 @ C) => (dvd_dvd_nat @ A2 @ (plus_plus_nat @ B @ C))))))). % dvd_add
thf(fact_127_dvd__add__left__iff, axiom,
    ((![A2 : nat, C : nat, B : nat]: ((dvd_dvd_nat @ A2 @ C) => ((dvd_dvd_nat @ A2 @ (plus_plus_nat @ B @ C)) = (dvd_dvd_nat @ A2 @ B)))))). % dvd_add_left_iff
thf(fact_128_dvd__add__right__iff, axiom,
    ((![A2 : nat, B : nat, C : nat]: ((dvd_dvd_nat @ A2 @ B) => ((dvd_dvd_nat @ A2 @ (plus_plus_nat @ B @ C)) = (dvd_dvd_nat @ A2 @ C)))))). % dvd_add_right_iff
thf(fact_129_one__dvd, axiom,
    ((![A2 : nat]: (dvd_dvd_nat @ one_one_nat @ A2)))). % one_dvd
thf(fact_130_unit__imp__dvd, axiom,
    ((![B : nat, A2 : nat]: ((dvd_dvd_nat @ B @ one_one_nat) => (dvd_dvd_nat @ B @ A2))))). % unit_imp_dvd
thf(fact_131_dvd__unit__imp__unit, axiom,
    ((![A2 : nat, B : nat]: ((dvd_dvd_nat @ A2 @ B) => ((dvd_dvd_nat @ B @ one_one_nat) => (dvd_dvd_nat @ A2 @ one_one_nat)))))). % dvd_unit_imp_unit
thf(fact_132_lambda__one, axiom,
    (((^[X3 : nat]: X3) = (times_times_nat @ one_one_nat)))). % lambda_one
thf(fact_133_unit__mult__right__cancel, axiom,
    ((![A2 : nat, B : nat, C : nat]: ((dvd_dvd_nat @ A2 @ one_one_nat) => (((times_times_nat @ B @ A2) = (times_times_nat @ C @ A2)) = (B = C)))))). % unit_mult_right_cancel
thf(fact_134_unit__mult__left__cancel, axiom,
    ((![A2 : nat, B : nat, C : nat]: ((dvd_dvd_nat @ A2 @ one_one_nat) => (((times_times_nat @ A2 @ B) = (times_times_nat @ A2 @ C)) = (B = C)))))). % unit_mult_left_cancel

% Conjectures (1)
thf(conj_0, conjecture,
    ((inj_on_nat_nat @ (^[I2 : nat]: (suc @ (times_times_nat @ (numeral_numeral_nat @ (bit0 @ one)) @ I2))) @ a))).
