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

% 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 (13)
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_Nat_OSuc, type,
    suc : nat > nat).
thf(sy_c_Nat_Osize__class_Osize_001t__Num__Onum, type,
    size_size_num : num > nat).
thf(sy_c_Num_Onum_OBit0, type,
    bit0 : 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_Oord__class_Oless_001t__Nat__Onat, type,
    ord_less_nat : nat > nat > $o).
thf(sy_c_Orderings_Oord__class_Oless_001t__Num__Onum, type,
    ord_less_num : num > num > $o).
thf(sy_c_Set__Interval_Oord__class_OatLeastLessThan_001t__Nat__Onat, type,
    set_or562006527an_nat : nat > nat > set_nat).

% Relevant facts (128)
thf(fact_0_numeral__2__eq__2, axiom,
    (((numeral_numeral_nat @ (bit0 @ one)) = (suc @ (suc @ zero_zero_nat))))). % numeral_2_eq_2
thf(fact_1_semiring__norm_I85_J, axiom,
    ((![M : num]: (~ (((bit0 @ M) = one)))))). % semiring_norm(85)
thf(fact_2_semiring__norm_I83_J, axiom,
    ((![N : num]: (~ ((one = (bit0 @ N))))))). % semiring_norm(83)
thf(fact_3_numeral__1__eq__Suc__0, axiom,
    (((numeral_numeral_nat @ one) = (suc @ zero_zero_nat)))). % numeral_1_eq_Suc_0
thf(fact_4_nat_Oinject, axiom,
    ((![X2 : nat, Y2 : nat]: (((suc @ X2) = (suc @ Y2)) = (X2 = Y2))))). % nat.inject
thf(fact_5_old_Onat_Oinject, axiom,
    ((![Nat : nat, Nat2 : nat]: (((suc @ Nat) = (suc @ Nat2)) = (Nat = Nat2))))). % old.nat.inject
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_zero__reorient, axiom,
    ((![X : nat]: ((zero_zero_nat = X) = (X = zero_zero_nat))))). % zero_reorient
thf(fact_10_n__not__Suc__n, axiom,
    ((![N : nat]: (~ ((N = (suc @ N))))))). % n_not_Suc_n
thf(fact_11_Suc__inject, axiom,
    ((![X : nat, Y : nat]: (((suc @ X) = (suc @ Y)) => (X = Y))))). % Suc_inject
thf(fact_12_zero__neq__numeral, axiom,
    ((![N : num]: (~ ((zero_zero_nat = (numeral_numeral_nat @ N))))))). % zero_neq_numeral
thf(fact_13_verit__eq__simplify_I10_J, axiom,
    ((![X2 : num]: (~ ((one = (bit0 @ X2))))))). % verit_eq_simplify(10)
thf(fact_14_not0__implies__Suc, axiom,
    ((![N : nat]: ((~ ((N = zero_zero_nat))) => (?[M2 : nat]: (N = (suc @ M2))))))). % not0_implies_Suc
thf(fact_15_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_16_old_Onat_Oexhaust, axiom,
    ((![Y : nat]: ((~ ((Y = zero_zero_nat))) => (~ ((![Nat3 : nat]: (~ ((Y = (suc @ Nat3))))))))))). % old.nat.exhaust
thf(fact_17_Zero__not__Suc, axiom,
    ((![M : nat]: (~ ((zero_zero_nat = (suc @ M))))))). % Zero_not_Suc
thf(fact_18_Zero__neq__Suc, axiom,
    ((![M : nat]: (~ ((zero_zero_nat = (suc @ M))))))). % Zero_neq_Suc
thf(fact_19_Suc__neq__Zero, axiom,
    ((![M : nat]: (~ (((suc @ M) = zero_zero_nat)))))). % Suc_neq_Zero
thf(fact_20_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_21_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_22_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_23_nat_OdiscI, axiom,
    ((![Nat : nat, X2 : nat]: ((Nat = (suc @ X2)) => (~ ((Nat = zero_zero_nat))))))). % nat.discI
thf(fact_24_old_Onat_Odistinct_I1_J, axiom,
    ((![Nat2 : nat]: (~ ((zero_zero_nat = (suc @ Nat2))))))). % old.nat.distinct(1)
thf(fact_25_old_Onat_Odistinct_I2_J, axiom,
    ((![Nat2 : nat]: (~ (((suc @ Nat2) = zero_zero_nat)))))). % old.nat.distinct(2)
thf(fact_26_nat_Odistinct_I1_J, axiom,
    ((![X2 : nat]: (~ ((zero_zero_nat = (suc @ X2))))))). % nat.distinct(1)
thf(fact_27_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_28_Suc__1, axiom,
    (((suc @ one_one_nat) = (numeral_numeral_nat @ (bit0 @ one))))). % Suc_1
thf(fact_29_less__2__cases__iff, axiom,
    ((![N : nat]: ((ord_less_nat @ N @ (numeral_numeral_nat @ (bit0 @ one))) = (((N = zero_zero_nat)) | ((N = (suc @ zero_zero_nat)))))))). % less_2_cases_iff
thf(fact_30_less__2__cases, axiom,
    ((![N : nat]: ((ord_less_nat @ N @ (numeral_numeral_nat @ (bit0 @ one))) => ((N = zero_zero_nat) | (N = (suc @ zero_zero_nat))))))). % less_2_cases
thf(fact_31_num_Osize__gen_I1_J, axiom,
    (((size_num @ one) = zero_zero_nat))). % num.size_gen(1)
thf(fact_32_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_33_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_34_num_Osize_I4_J, axiom,
    (((size_size_num @ one) = zero_zero_nat))). % num.size(4)
thf(fact_35_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_36_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_37_not__gr__zero, axiom,
    ((![N : nat]: ((~ ((ord_less_nat @ zero_zero_nat @ N))) = (N = zero_zero_nat))))). % not_gr_zero
thf(fact_38_add_Oleft__neutral, axiom,
    ((![A : nat]: ((plus_plus_nat @ zero_zero_nat @ A) = A)))). % add.left_neutral
thf(fact_39_add_Oright__neutral, axiom,
    ((![A : nat]: ((plus_plus_nat @ A @ zero_zero_nat) = A)))). % add.right_neutral
thf(fact_40_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_41_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_42_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_43_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_44_add__eq__0__iff__both__eq__0, axiom,
    ((![X : nat, Y : nat]: (((plus_plus_nat @ X @ Y) = zero_zero_nat) = (((X = zero_zero_nat)) & ((Y = zero_zero_nat))))))). % add_eq_0_iff_both_eq_0
thf(fact_45_zero__eq__add__iff__both__eq__0, axiom,
    ((![X : nat, Y : nat]: ((zero_zero_nat = (plus_plus_nat @ X @ Y)) = (((X = zero_zero_nat)) & ((Y = zero_zero_nat))))))). % zero_eq_add_iff_both_eq_0
thf(fact_46_numeral__less__iff, axiom,
    ((![M : num, N : num]: ((ord_less_nat @ (numeral_numeral_nat @ M) @ (numeral_numeral_nat @ N)) = (ord_less_num @ M @ N))))). % numeral_less_iff
thf(fact_47_add__less__cancel__left, axiom,
    ((![C : nat, A : nat, B : nat]: ((ord_less_nat @ (plus_plus_nat @ C @ A) @ (plus_plus_nat @ C @ B)) = (ord_less_nat @ A @ B))))). % add_less_cancel_left
thf(fact_48_add__less__cancel__right, axiom,
    ((![A : nat, C : nat, B : nat]: ((ord_less_nat @ (plus_plus_nat @ A @ C) @ (plus_plus_nat @ B @ C)) = (ord_less_nat @ A @ B))))). % add_less_cancel_right
thf(fact_49_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_50_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_51_neq0__conv, axiom,
    ((![N : nat]: ((~ ((N = zero_zero_nat))) = (ord_less_nat @ zero_zero_nat @ N))))). % neq0_conv
thf(fact_52_less__nat__zero__code, axiom,
    ((![N : nat]: (~ ((ord_less_nat @ N @ zero_zero_nat)))))). % less_nat_zero_code
thf(fact_53_bot__nat__0_Onot__eq__extremum, axiom,
    ((![A : nat]: ((~ ((A = zero_zero_nat))) = (ord_less_nat @ zero_zero_nat @ A))))). % bot_nat_0.not_eq_extremum
thf(fact_54_lessI, axiom,
    ((![N : nat]: (ord_less_nat @ N @ (suc @ N))))). % lessI
thf(fact_55_Suc__mono, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ M @ N) => (ord_less_nat @ (suc @ M) @ (suc @ N)))))). % Suc_mono
thf(fact_56_Suc__less__eq, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ (suc @ M) @ (suc @ N)) = (ord_less_nat @ M @ N))))). % Suc_less_eq
thf(fact_57_add__is__0, axiom,
    ((![M : nat, N : nat]: (((plus_plus_nat @ M @ N) = zero_zero_nat) = (((M = zero_zero_nat)) & ((N = zero_zero_nat))))))). % add_is_0
thf(fact_58_Nat_Oadd__0__right, axiom,
    ((![M : nat]: ((plus_plus_nat @ M @ zero_zero_nat) = M)))). % Nat.add_0_right
thf(fact_59_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_60_nat__add__left__cancel__less, axiom,
    ((![K : nat, M : nat, N : nat]: ((ord_less_nat @ (plus_plus_nat @ K @ M) @ (plus_plus_nat @ K @ N)) = (ord_less_nat @ M @ N))))). % nat_add_left_cancel_less
thf(fact_61_less__add__same__cancel2, axiom,
    ((![A : nat, B : nat]: ((ord_less_nat @ A @ (plus_plus_nat @ B @ A)) = (ord_less_nat @ zero_zero_nat @ B))))). % less_add_same_cancel2
thf(fact_62_less__add__same__cancel1, axiom,
    ((![A : nat, B : nat]: ((ord_less_nat @ A @ (plus_plus_nat @ A @ B)) = (ord_less_nat @ zero_zero_nat @ B))))). % less_add_same_cancel1
thf(fact_63_add__less__same__cancel2, axiom,
    ((![A : nat, B : nat]: ((ord_less_nat @ (plus_plus_nat @ A @ B) @ B) = (ord_less_nat @ A @ zero_zero_nat))))). % add_less_same_cancel2
thf(fact_64_add__less__same__cancel1, axiom,
    ((![B : nat, A : nat]: ((ord_less_nat @ (plus_plus_nat @ B @ A) @ B) = (ord_less_nat @ A @ zero_zero_nat))))). % add_less_same_cancel1
thf(fact_65_numeral__eq__one__iff, axiom,
    ((![N : num]: (((numeral_numeral_nat @ N) = one_one_nat) = (N = one))))). % numeral_eq_one_iff
thf(fact_66_one__eq__numeral__iff, axiom,
    ((![N : num]: ((one_one_nat = (numeral_numeral_nat @ N)) = (one = N))))). % one_eq_numeral_iff
thf(fact_67_less__Suc0, axiom,
    ((![N : nat]: ((ord_less_nat @ N @ (suc @ zero_zero_nat)) = (N = zero_zero_nat))))). % less_Suc0
thf(fact_68_zero__less__Suc, axiom,
    ((![N : nat]: (ord_less_nat @ zero_zero_nat @ (suc @ N))))). % zero_less_Suc
thf(fact_69_add__gr__0, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ zero_zero_nat @ (plus_plus_nat @ M @ N)) = (((ord_less_nat @ zero_zero_nat @ M)) | ((ord_less_nat @ zero_zero_nat @ N))))))). % add_gr_0
thf(fact_70_less__one, axiom,
    ((![N : nat]: ((ord_less_nat @ N @ one_one_nat) = (N = zero_zero_nat))))). % less_one
thf(fact_71_one__less__numeral__iff, axiom,
    ((![N : num]: ((ord_less_nat @ one_one_nat @ (numeral_numeral_nat @ N)) = (ord_less_num @ one @ N))))). % one_less_numeral_iff
thf(fact_72_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_73_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_74_one__add__one, axiom,
    (((plus_plus_nat @ one_one_nat @ one_one_nat) = (numeral_numeral_nat @ (bit0 @ one))))). % one_add_one
thf(fact_75_verit__comp__simplify1_I1_J, axiom,
    ((![A : nat]: (~ ((ord_less_nat @ A @ A)))))). % verit_comp_simplify1(1)
thf(fact_76_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_77_add__mono__thms__linordered__field_I5_J, axiom,
    ((![I : nat, J : nat, K : nat, L : nat]: (((ord_less_nat @ I @ J) & (ord_less_nat @ K @ L)) => (ord_less_nat @ (plus_plus_nat @ I @ K) @ (plus_plus_nat @ J @ L)))))). % add_mono_thms_linordered_field(5)
thf(fact_78_add__mono__thms__linordered__field_I2_J, axiom,
    ((![I : nat, J : nat, K : nat, L : nat]: (((I = J) & (ord_less_nat @ K @ L)) => (ord_less_nat @ (plus_plus_nat @ I @ K) @ (plus_plus_nat @ J @ L)))))). % add_mono_thms_linordered_field(2)
thf(fact_79_add__mono__thms__linordered__field_I1_J, axiom,
    ((![I : nat, J : nat, K : nat, L : nat]: (((ord_less_nat @ I @ J) & (K = L)) => (ord_less_nat @ (plus_plus_nat @ I @ K) @ (plus_plus_nat @ J @ L)))))). % add_mono_thms_linordered_field(1)
thf(fact_80_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_81_less__numeral__extra_I4_J, axiom,
    ((~ ((ord_less_nat @ one_one_nat @ one_one_nat))))). % less_numeral_extra(4)
thf(fact_82_less__numeral__extra_I1_J, axiom,
    ((ord_less_nat @ zero_zero_nat @ one_one_nat))). % less_numeral_extra(1)
thf(fact_83_less__natE, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ M @ N) => (~ ((![Q : nat]: (~ ((N = (suc @ (plus_plus_nat @ M @ Q)))))))))))). % less_natE
thf(fact_84_add__lessD1, axiom,
    ((![I : nat, J : nat, K : nat]: ((ord_less_nat @ (plus_plus_nat @ I @ J) @ K) => (ord_less_nat @ I @ K))))). % add_lessD1
thf(fact_85_nat__neq__iff, axiom,
    ((![M : nat, N : nat]: ((~ ((M = N))) = (((ord_less_nat @ M @ N)) | ((ord_less_nat @ N @ M))))))). % nat_neq_iff
thf(fact_86_add__less__mono, axiom,
    ((![I : nat, J : nat, K : nat, L : nat]: ((ord_less_nat @ I @ J) => ((ord_less_nat @ K @ L) => (ord_less_nat @ (plus_plus_nat @ I @ K) @ (plus_plus_nat @ J @ L))))))). % add_less_mono
thf(fact_87_less__add__Suc1, axiom,
    ((![I : nat, M : nat]: (ord_less_nat @ I @ (suc @ (plus_plus_nat @ I @ M)))))). % less_add_Suc1
thf(fact_88_less__add__Suc2, axiom,
    ((![I : nat, M : nat]: (ord_less_nat @ I @ (suc @ (plus_plus_nat @ M @ I)))))). % less_add_Suc2
thf(fact_89_less__not__refl, axiom,
    ((![N : nat]: (~ ((ord_less_nat @ N @ N)))))). % less_not_refl
thf(fact_90_not__add__less1, axiom,
    ((![I : nat, J : nat]: (~ ((ord_less_nat @ (plus_plus_nat @ I @ J) @ I)))))). % not_add_less1
thf(fact_91_not__add__less2, axiom,
    ((![J : nat, I : nat]: (~ ((ord_less_nat @ (plus_plus_nat @ J @ I) @ I)))))). % not_add_less2
thf(fact_92_add__less__mono1, axiom,
    ((![I : nat, J : nat, K : nat]: ((ord_less_nat @ I @ J) => (ord_less_nat @ (plus_plus_nat @ I @ K) @ (plus_plus_nat @ J @ K)))))). % add_less_mono1
thf(fact_93_less__not__refl2, axiom,
    ((![N : nat, M : nat]: ((ord_less_nat @ N @ M) => (~ ((M = N))))))). % less_not_refl2
thf(fact_94_less__not__refl3, axiom,
    ((![S : nat, T : nat]: ((ord_less_nat @ S @ T) => (~ ((S = T))))))). % less_not_refl3
thf(fact_95_one__reorient, axiom,
    ((![X : nat]: ((one_one_nat = X) = (X = one_one_nat))))). % one_reorient
thf(fact_96_less__irrefl__nat, axiom,
    ((![N : nat]: (~ ((ord_less_nat @ N @ N)))))). % less_irrefl_nat
thf(fact_97_nat__less__induct, axiom,
    ((![P : nat > $o, N : nat]: ((![N2 : nat]: ((![M3 : nat]: ((ord_less_nat @ M3 @ N2) => (P @ M3))) => (P @ N2))) => (P @ N))))). % nat_less_induct
thf(fact_98_trans__less__add1, axiom,
    ((![I : nat, J : nat, M : nat]: ((ord_less_nat @ I @ J) => (ord_less_nat @ I @ (plus_plus_nat @ J @ M)))))). % trans_less_add1
thf(fact_99_trans__less__add2, axiom,
    ((![I : nat, J : nat, M : nat]: ((ord_less_nat @ I @ J) => (ord_less_nat @ I @ (plus_plus_nat @ M @ J)))))). % trans_less_add2
thf(fact_100_infinite__descent, axiom,
    ((![P : nat > $o, N : nat]: ((![N2 : nat]: ((~ ((P @ N2))) => (?[M3 : nat]: ((ord_less_nat @ M3 @ N2) & (~ ((P @ M3))))))) => (P @ N))))). % infinite_descent
thf(fact_101_less__add__eq__less, axiom,
    ((![K : nat, L : nat, M : nat, N : nat]: ((ord_less_nat @ K @ L) => (((plus_plus_nat @ M @ L) = (plus_plus_nat @ K @ N)) => (ord_less_nat @ M @ N)))))). % less_add_eq_less
thf(fact_102_less__iff__Suc__add, axiom,
    ((ord_less_nat = (^[M4 : nat]: (^[N3 : nat]: (?[K2 : nat]: (N3 = (suc @ (plus_plus_nat @ M4 @ K2))))))))). % less_iff_Suc_add
thf(fact_103_less__imp__Suc__add, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ M @ N) => (?[K3 : nat]: (N = (suc @ (plus_plus_nat @ M @ K3)))))))). % less_imp_Suc_add
thf(fact_104_linorder__neqE__nat, axiom,
    ((![X : nat, Y : nat]: ((~ ((X = Y))) => ((~ ((ord_less_nat @ X @ Y))) => (ord_less_nat @ Y @ X)))))). % linorder_neqE_nat
thf(fact_105_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_106_group__cancel_Oadd2, axiom,
    ((![B2 : nat, K : nat, B : nat, A : nat]: ((B2 = (plus_plus_nat @ K @ B)) => ((plus_plus_nat @ A @ B2) = (plus_plus_nat @ K @ (plus_plus_nat @ A @ B))))))). % group_cancel.add2
thf(fact_107_less__imp__add__positive, axiom,
    ((![I : nat, J : nat]: ((ord_less_nat @ I @ J) => (?[K3 : nat]: ((ord_less_nat @ zero_zero_nat @ K3) & ((plus_plus_nat @ I @ K3) = J))))))). % less_imp_add_positive
thf(fact_108_lift__Suc__mono__less, axiom,
    ((![F : nat > nat, N : nat, N4 : nat]: ((![N2 : nat]: (ord_less_nat @ (F @ N2) @ (F @ (suc @ N2)))) => ((ord_less_nat @ N @ N4) => (ord_less_nat @ (F @ N) @ (F @ N4))))))). % lift_Suc_mono_less
thf(fact_109_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_110_lift__Suc__mono__less__iff, axiom,
    ((![F : nat > nat, N : nat, M : nat]: ((![N2 : nat]: (ord_less_nat @ (F @ N2) @ (F @ (suc @ N2)))) => ((ord_less_nat @ (F @ N) @ (F @ M)) = (ord_less_nat @ N @ M)))))). % lift_Suc_mono_less_iff
thf(fact_111_add_Ocommute, axiom,
    ((plus_plus_nat = (^[A3 : nat]: (^[B3 : nat]: (plus_plus_nat @ B3 @ A3)))))). % add.commute
thf(fact_112_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_113_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_114_add__neg__neg, axiom,
    ((![A : nat, B : nat]: ((ord_less_nat @ A @ zero_zero_nat) => ((ord_less_nat @ B @ zero_zero_nat) => (ord_less_nat @ (plus_plus_nat @ A @ B) @ zero_zero_nat)))))). % add_neg_neg
thf(fact_115_add__pos__pos, axiom,
    ((![A : nat, B : nat]: ((ord_less_nat @ zero_zero_nat @ A) => ((ord_less_nat @ zero_zero_nat @ B) => (ord_less_nat @ zero_zero_nat @ (plus_plus_nat @ A @ B))))))). % add_pos_pos
thf(fact_116_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_117_canonically__ordered__monoid__add__class_OlessE, axiom,
    ((![A : nat, B : nat]: ((ord_less_nat @ A @ B) => (~ ((![C2 : nat]: ((B = (plus_plus_nat @ A @ C2)) => (C2 = zero_zero_nat))))))))). % canonically_ordered_monoid_add_class.lessE
thf(fact_118_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_119_pos__add__strict, axiom,
    ((![A : nat, B : nat, C : nat]: ((ord_less_nat @ zero_zero_nat @ A) => ((ord_less_nat @ B @ C) => (ord_less_nat @ B @ (plus_plus_nat @ A @ C))))))). % pos_add_strict
thf(fact_120_not__numeral__less__one, axiom,
    ((![N : num]: (~ ((ord_less_nat @ (numeral_numeral_nat @ N) @ one_one_nat)))))). % not_numeral_less_one
thf(fact_121_add__strict__mono, axiom,
    ((![A : nat, B : nat, C : nat, D : nat]: ((ord_less_nat @ A @ B) => ((ord_less_nat @ C @ D) => (ord_less_nat @ (plus_plus_nat @ A @ C) @ (plus_plus_nat @ B @ D))))))). % add_strict_mono
thf(fact_122_add__strict__left__mono, axiom,
    ((![A : nat, B : nat, C : nat]: ((ord_less_nat @ A @ B) => (ord_less_nat @ (plus_plus_nat @ C @ A) @ (plus_plus_nat @ C @ B)))))). % add_strict_left_mono
thf(fact_123_add__strict__right__mono, axiom,
    ((![A : nat, B : nat, C : nat]: ((ord_less_nat @ A @ B) => (ord_less_nat @ (plus_plus_nat @ A @ C) @ (plus_plus_nat @ B @ C)))))). % add_strict_right_mono
thf(fact_124_add__less__imp__less__left, axiom,
    ((![C : nat, A : nat, B : nat]: ((ord_less_nat @ (plus_plus_nat @ C @ A) @ (plus_plus_nat @ C @ B)) => (ord_less_nat @ A @ B))))). % add_less_imp_less_left
thf(fact_125_add__less__imp__less__right, axiom,
    ((![A : nat, C : nat, B : nat]: ((ord_less_nat @ (plus_plus_nat @ A @ C) @ (plus_plus_nat @ B @ C)) => (ord_less_nat @ A @ B))))). % add_less_imp_less_right
thf(fact_126_Suc__eq__plus1__left, axiom,
    ((suc = (plus_plus_nat @ one_one_nat)))). % Suc_eq_plus1_left
thf(fact_127_plus__1__eq__Suc, axiom,
    (((plus_plus_nat @ one_one_nat) = suc))). % plus_1_eq_Suc

% Conjectures (1)
thf(conj_0, conjecture,
    (((set_or562006527an_nat @ zero_zero_nat @ (numeral_numeral_nat @ (bit0 @ (bit0 @ one)))) = (set_or562006527an_nat @ zero_zero_nat @ (suc @ (suc @ (suc @ (suc @ zero_zero_nat)))))))).
