% 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/StrongNorm/prob_35__5209698_1 ) ; }
% This file was generated by Isabelle (most likely Sledgehammer)
% 2020-12-16 14:36:58.006

% Could-be-implicit typings (6)
thf(ty_n_t__List__Olist_It__Lambda__OdB_J, type,
    list_dB : $tType).
thf(ty_n_t__Set__Oset_It__Lambda__OdB_J, type,
    set_dB : $tType).
thf(ty_n_t__List__Olist_It__Nat__Onat_J, type,
    list_nat : $tType).
thf(ty_n_t__Set__Oset_It__Nat__Onat_J, type,
    set_nat : $tType).
thf(ty_n_t__Lambda__OdB, type,
    dB : $tType).
thf(ty_n_t__Nat__Onat, type,
    nat : $tType).

% Explicit typings (19)
thf(sy_c_Euclidean__Division_Oeuclidean__semiring__class_Oeuclidean__size_001t__Nat__Onat, type,
    euclid1226173669ze_nat : nat > nat).
thf(sy_c_Groups_Ominus__class_Ominus_001t__Nat__Onat, type,
    minus_minus_nat : nat > nat > nat).
thf(sy_c_Groups_Oplus__class_Oplus_001t__Nat__Onat, type,
    plus_plus_nat : nat > nat > nat).
thf(sy_c_Groups_Otimes__class_Otimes_001t__Nat__Onat, type,
    times_times_nat : nat > nat > nat).
thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat, type,
    zero_zero_nat : nat).
thf(sy_c_Groups__List_Omonoid__add__class_Osum__list_001t__Nat__Onat, type,
    groups921905271st_nat : list_nat > nat).
thf(sy_c_InductTermi_OIT, type,
    it : dB > $o).
thf(sy_c_Lambda_Olift, type,
    lift : dB > nat > dB).
thf(sy_c_List_Olist_ONil_001t__Lambda__OdB, type,
    nil_dB : list_dB).
thf(sy_c_List_Olist_ONil_001t__Nat__Onat, type,
    nil_nat : list_nat).
thf(sy_c_List_Olist_Omap_001t__Lambda__OdB_001t__Lambda__OdB, type,
    map_dB_dB : (dB > dB) > list_dB > list_dB).
thf(sy_c_List_Olist_Oset_001t__Lambda__OdB, type,
    set_dB2 : list_dB > set_dB).
thf(sy_c_List_Olist_Oset_001t__Nat__Onat, type,
    set_nat2 : list_nat > set_nat).
thf(sy_c_List_Olistsp_001t__Lambda__OdB, type,
    listsp_dB : (dB > $o) > list_dB > $o).
thf(sy_c_List_Omap__tailrec_001t__Lambda__OdB_001t__Lambda__OdB, type,
    map_tailrec_dB_dB : (dB > dB) > list_dB > list_dB).
thf(sy_c_Orderings_Oord__class_Oless_001t__Nat__Onat, type,
    ord_less_nat : nat > nat > $o).
thf(sy_c_member_001t__Lambda__OdB, type,
    member_dB : dB > set_dB > $o).
thf(sy_c_member_001t__Nat__Onat, type,
    member_nat : nat > set_nat > $o).
thf(sy_v_ts, type,
    ts : list_dB).

% Relevant facts (103)
thf(fact_0_lift__IT, axiom,
    ((![T : dB, I : nat]: ((it @ T) => (it @ (lift @ T @ I)))))). % lift_IT
thf(fact_1_listsp__conj__eq, axiom,
    ((![A : dB > $o, B : dB > $o]: ((listsp_dB @ (^[X : dB]: (((A @ X)) & ((B @ X))))) = (^[X : list_dB]: (((listsp_dB @ A @ X)) & ((listsp_dB @ B @ X)))))))). % listsp_conj_eq
thf(fact_2_map__ident, axiom,
    (((map_dB_dB @ (^[X : dB]: X)) = (^[Xs : list_dB]: Xs)))). % map_ident
thf(fact_3_list_Omap__ident, axiom,
    ((![T : list_dB]: ((map_dB_dB @ (^[X : dB]: X) @ T) = T)))). % list.map_ident
thf(fact_4_zero__natural_Orsp, axiom,
    ((zero_zero_nat = zero_zero_nat))). % zero_natural.rsp
thf(fact_5_zero__reorient, axiom,
    ((![X2 : nat]: ((zero_zero_nat = X2) = (X2 = zero_zero_nat))))). % zero_reorient
thf(fact_6_size__0, axiom,
    (((euclid1226173669ze_nat @ zero_zero_nat) = zero_zero_nat))). % size_0
thf(fact_7_euclidean__size__eq__0__iff, axiom,
    ((![B2 : nat]: (((euclid1226173669ze_nat @ B2) = zero_zero_nat) = (B2 = zero_zero_nat))))). % euclidean_size_eq_0_iff
thf(fact_8_map__eq__map__tailrec, axiom,
    ((map_dB_dB = map_tailrec_dB_dB))). % map_eq_map_tailrec
thf(fact_9_euclidean__size__greater__0__iff, axiom,
    ((![B2 : nat]: ((ord_less_nat @ zero_zero_nat @ (euclid1226173669ze_nat @ B2)) = (~ ((B2 = zero_zero_nat))))))). % euclidean_size_greater_0_iff
thf(fact_10_sum__list_ONil, axiom,
    (((groups921905271st_nat @ nil_nat) = zero_zero_nat))). % sum_list.Nil
thf(fact_11_sum__list__eq__0__iff, axiom,
    ((![Ns : list_nat]: (((groups921905271st_nat @ Ns) = zero_zero_nat) = (![X : nat]: (((member_nat @ X @ (set_nat2 @ Ns))) => ((X = zero_zero_nat)))))))). % sum_list_eq_0_iff
thf(fact_12_add__left__cancel, axiom,
    ((![A2 : nat, B2 : nat, C : nat]: (((plus_plus_nat @ A2 @ B2) = (plus_plus_nat @ A2 @ C)) = (B2 = C))))). % add_left_cancel
thf(fact_13_add__right__cancel, axiom,
    ((![B2 : nat, A2 : nat, C : nat]: (((plus_plus_nat @ B2 @ A2) = (plus_plus_nat @ C @ A2)) = (B2 = C))))). % add_right_cancel
thf(fact_14_diff__0__eq__0, axiom,
    ((![N : nat]: ((minus_minus_nat @ zero_zero_nat @ N) = zero_zero_nat)))). % diff_0_eq_0
thf(fact_15_diff__self__eq__0, axiom,
    ((![M : nat]: ((minus_minus_nat @ M @ M) = zero_zero_nat)))). % diff_self_eq_0
thf(fact_16_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_17_Nat_Oadd__0__right, axiom,
    ((![M : nat]: ((plus_plus_nat @ M @ zero_zero_nat) = M)))). % Nat.add_0_right
thf(fact_18_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_19_mult__0__right, axiom,
    ((![M : nat]: ((times_times_nat @ M @ zero_zero_nat) = zero_zero_nat)))). % mult_0_right
thf(fact_20_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_21_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_22_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_23_not__gr__zero, axiom,
    ((![N : nat]: ((~ ((ord_less_nat @ zero_zero_nat @ N))) = (N = zero_zero_nat))))). % not_gr_zero
thf(fact_24_add_Oleft__neutral, axiom,
    ((![A2 : nat]: ((plus_plus_nat @ zero_zero_nat @ A2) = A2)))). % add.left_neutral
thf(fact_25_add_Oright__neutral, axiom,
    ((![A2 : nat]: ((plus_plus_nat @ A2 @ zero_zero_nat) = A2)))). % add.right_neutral
thf(fact_26_add__cancel__left__left, axiom,
    ((![B2 : nat, A2 : nat]: (((plus_plus_nat @ B2 @ A2) = A2) = (B2 = zero_zero_nat))))). % add_cancel_left_left
thf(fact_27_add__cancel__left__right, axiom,
    ((![A2 : nat, B2 : nat]: (((plus_plus_nat @ A2 @ B2) = A2) = (B2 = zero_zero_nat))))). % add_cancel_left_right
thf(fact_28_add__cancel__right__left, axiom,
    ((![A2 : nat, B2 : nat]: ((A2 = (plus_plus_nat @ B2 @ A2)) = (B2 = zero_zero_nat))))). % add_cancel_right_left
thf(fact_29_add__cancel__right__right, axiom,
    ((![A2 : nat, B2 : nat]: ((A2 = (plus_plus_nat @ A2 @ B2)) = (B2 = zero_zero_nat))))). % add_cancel_right_right
thf(fact_30_add__eq__0__iff__both__eq__0, axiom,
    ((![X2 : nat, Y : nat]: (((plus_plus_nat @ X2 @ Y) = zero_zero_nat) = (((X2 = zero_zero_nat)) & ((Y = zero_zero_nat))))))). % add_eq_0_iff_both_eq_0
thf(fact_31_zero__eq__add__iff__both__eq__0, axiom,
    ((![X2 : nat, Y : nat]: ((zero_zero_nat = (plus_plus_nat @ X2 @ Y)) = (((X2 = zero_zero_nat)) & ((Y = zero_zero_nat))))))). % zero_eq_add_iff_both_eq_0
thf(fact_32_add__less__cancel__left, axiom,
    ((![C : nat, A2 : nat, B2 : nat]: ((ord_less_nat @ (plus_plus_nat @ C @ A2) @ (plus_plus_nat @ C @ B2)) = (ord_less_nat @ A2 @ B2))))). % add_less_cancel_left
thf(fact_33_add__less__cancel__right, axiom,
    ((![A2 : nat, C : nat, B2 : nat]: ((ord_less_nat @ (plus_plus_nat @ A2 @ C) @ (plus_plus_nat @ B2 @ C)) = (ord_less_nat @ A2 @ B2))))). % add_less_cancel_right
thf(fact_34_zero__diff, axiom,
    ((![A2 : nat]: ((minus_minus_nat @ zero_zero_nat @ A2) = zero_zero_nat)))). % zero_diff
thf(fact_35_diff__zero, axiom,
    ((![A2 : nat]: ((minus_minus_nat @ A2 @ zero_zero_nat) = A2)))). % diff_zero
thf(fact_36_cancel__comm__monoid__add__class_Odiff__cancel, axiom,
    ((![A2 : nat]: ((minus_minus_nat @ A2 @ A2) = zero_zero_nat)))). % cancel_comm_monoid_add_class.diff_cancel
thf(fact_37_add__diff__cancel__left, axiom,
    ((![C : nat, A2 : nat, B2 : nat]: ((minus_minus_nat @ (plus_plus_nat @ C @ A2) @ (plus_plus_nat @ C @ B2)) = (minus_minus_nat @ A2 @ B2))))). % add_diff_cancel_left
thf(fact_38_add__diff__cancel__left_H, axiom,
    ((![A2 : nat, B2 : nat]: ((minus_minus_nat @ (plus_plus_nat @ A2 @ B2) @ A2) = B2)))). % add_diff_cancel_left'
thf(fact_39_add__diff__cancel__right, axiom,
    ((![A2 : nat, C : nat, B2 : nat]: ((minus_minus_nat @ (plus_plus_nat @ A2 @ C) @ (plus_plus_nat @ B2 @ C)) = (minus_minus_nat @ A2 @ B2))))). % add_diff_cancel_right
thf(fact_40_add__diff__cancel__right_H, axiom,
    ((![A2 : nat, B2 : nat]: ((minus_minus_nat @ (plus_plus_nat @ A2 @ B2) @ B2) = A2)))). % add_diff_cancel_right'
thf(fact_41_zero__less__diff, axiom,
    ((![N : nat, M : nat]: ((ord_less_nat @ zero_zero_nat @ (minus_minus_nat @ N @ M)) = (ord_less_nat @ M @ N))))). % zero_less_diff
thf(fact_42_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_43_nat__0__less__mult__iff, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ zero_zero_nat @ (times_times_nat @ M @ N)) = (((ord_less_nat @ zero_zero_nat @ M)) & ((ord_less_nat @ zero_zero_nat @ N))))))). % nat_0_less_mult_iff
thf(fact_44_mult__less__cancel2, axiom,
    ((![M : nat, K : nat, N : nat]: ((ord_less_nat @ (times_times_nat @ M @ K) @ (times_times_nat @ N @ K)) = (((ord_less_nat @ zero_zero_nat @ K)) & ((ord_less_nat @ M @ N))))))). % mult_less_cancel2
thf(fact_45_neq0__conv, axiom,
    ((![N : nat]: ((~ ((N = zero_zero_nat))) = (ord_less_nat @ zero_zero_nat @ N))))). % neq0_conv
thf(fact_46_less__nat__zero__code, axiom,
    ((![N : nat]: (~ ((ord_less_nat @ N @ zero_zero_nat)))))). % less_nat_zero_code
thf(fact_47_bot__nat__0_Onot__eq__extremum, axiom,
    ((![A2 : nat]: ((~ ((A2 = zero_zero_nat))) = (ord_less_nat @ zero_zero_nat @ A2))))). % bot_nat_0.not_eq_extremum
thf(fact_48_Nil__is__map__conv, axiom,
    ((![F : dB > dB, Xs2 : list_dB]: ((nil_dB = (map_dB_dB @ F @ Xs2)) = (Xs2 = nil_dB))))). % Nil_is_map_conv
thf(fact_49_map__is__Nil__conv, axiom,
    ((![F : dB > dB, Xs2 : list_dB]: (((map_dB_dB @ F @ Xs2) = nil_dB) = (Xs2 = nil_dB))))). % map_is_Nil_conv
thf(fact_50_list_Omap__disc__iff, axiom,
    ((![F : dB > dB, A2 : list_dB]: (((map_dB_dB @ F @ A2) = nil_dB) = (A2 = nil_dB))))). % list.map_disc_iff
thf(fact_51_map__eq__conv, axiom,
    ((![F : dB > dB, Xs2 : list_dB, G : dB > dB]: (((map_dB_dB @ F @ Xs2) = (map_dB_dB @ G @ Xs2)) = (![X : dB]: (((member_dB @ X @ (set_dB2 @ Xs2))) => (((F @ X) = (G @ X))))))))). % map_eq_conv
thf(fact_52_listsp__simps_I1_J, axiom,
    ((![A : dB > $o]: (listsp_dB @ A @ nil_dB)))). % listsp_simps(1)
thf(fact_53_in__listspI, axiom,
    ((![Xs2 : list_dB, A : dB > $o]: ((![X3 : dB]: ((member_dB @ X3 @ (set_dB2 @ Xs2)) => (A @ X3))) => (listsp_dB @ A @ Xs2))))). % in_listspI
thf(fact_54_less__add__same__cancel2, axiom,
    ((![A2 : nat, B2 : nat]: ((ord_less_nat @ A2 @ (plus_plus_nat @ B2 @ A2)) = (ord_less_nat @ zero_zero_nat @ B2))))). % less_add_same_cancel2
thf(fact_55_less__add__same__cancel1, axiom,
    ((![A2 : nat, B2 : nat]: ((ord_less_nat @ A2 @ (plus_plus_nat @ A2 @ B2)) = (ord_less_nat @ zero_zero_nat @ B2))))). % less_add_same_cancel1
thf(fact_56_add__less__same__cancel2, axiom,
    ((![A2 : nat, B2 : nat]: ((ord_less_nat @ (plus_plus_nat @ A2 @ B2) @ B2) = (ord_less_nat @ A2 @ zero_zero_nat))))). % add_less_same_cancel2
thf(fact_57_add__less__same__cancel1, axiom,
    ((![B2 : nat, A2 : nat]: ((ord_less_nat @ (plus_plus_nat @ B2 @ A2) @ B2) = (ord_less_nat @ A2 @ zero_zero_nat))))). % add_less_same_cancel1
thf(fact_58_diff__add__zero, axiom,
    ((![A2 : nat, B2 : nat]: ((minus_minus_nat @ A2 @ (plus_plus_nat @ A2 @ B2)) = zero_zero_nat)))). % diff_add_zero
thf(fact_59_ab__semigroup__add__class_Oadd__ac_I1_J, axiom,
    ((![A2 : nat, B2 : nat, C : nat]: ((plus_plus_nat @ (plus_plus_nat @ A2 @ B2) @ C) = (plus_plus_nat @ A2 @ (plus_plus_nat @ B2 @ C)))))). % ab_semigroup_add_class.add_ac(1)
thf(fact_60_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_61_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_62_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_63_ab__semigroup__mult__class_Omult__ac_I1_J, axiom,
    ((![A2 : nat, B2 : nat, C : nat]: ((times_times_nat @ (times_times_nat @ A2 @ B2) @ C) = (times_times_nat @ A2 @ (times_times_nat @ B2 @ C)))))). % ab_semigroup_mult_class.mult_ac(1)
thf(fact_64_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_65_diff__less, axiom,
    ((![N : nat, M : nat]: ((ord_less_nat @ zero_zero_nat @ N) => ((ord_less_nat @ zero_zero_nat @ M) => (ord_less_nat @ (minus_minus_nat @ M @ N) @ M)))))). % diff_less
thf(fact_66_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_67_diff__add__0, axiom,
    ((![N : nat, M : nat]: ((minus_minus_nat @ N @ (plus_plus_nat @ N @ M)) = zero_zero_nat)))). % diff_add_0
thf(fact_68_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_69_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_70_less__not__refl, axiom,
    ((![N : nat]: (~ ((ord_less_nat @ N @ N)))))). % less_not_refl
thf(fact_71_not__add__less1, axiom,
    ((![I : nat, J : nat]: (~ ((ord_less_nat @ (plus_plus_nat @ I @ J) @ I)))))). % not_add_less1
thf(fact_72_not__add__less2, axiom,
    ((![J : nat, I : nat]: (~ ((ord_less_nat @ (plus_plus_nat @ J @ I) @ I)))))). % not_add_less2
thf(fact_73_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_74_less__diff__conv, axiom,
    ((![I : nat, J : nat, K : nat]: ((ord_less_nat @ I @ (minus_minus_nat @ J @ K)) = (ord_less_nat @ (plus_plus_nat @ I @ K) @ J))))). % less_diff_conv
thf(fact_75_less__not__refl2, axiom,
    ((![N : nat, M : nat]: ((ord_less_nat @ N @ M) => (~ ((M = N))))))). % less_not_refl2
thf(fact_76_less__not__refl3, axiom,
    ((![S : nat, T : nat]: ((ord_less_nat @ S @ T) => (~ ((S = T))))))). % less_not_refl3
thf(fact_77_nat__diff__split, axiom,
    ((![P : nat > $o, A2 : nat, B2 : nat]: ((P @ (minus_minus_nat @ A2 @ B2)) = (((((ord_less_nat @ A2 @ B2)) => ((P @ zero_zero_nat)))) & ((![D : nat]: (((A2 = (plus_plus_nat @ B2 @ D))) => ((P @ D)))))))))). % nat_diff_split
thf(fact_78_diff__less__mono2, axiom,
    ((![M : nat, N : nat, L : nat]: ((ord_less_nat @ M @ N) => ((ord_less_nat @ M @ L) => (ord_less_nat @ (minus_minus_nat @ L @ N) @ (minus_minus_nat @ L @ M))))))). % diff_less_mono2
thf(fact_79_less__irrefl__nat, axiom,
    ((![N : nat]: (~ ((ord_less_nat @ N @ N)))))). % less_irrefl_nat
thf(fact_80_mult__less__mono1, axiom,
    ((![I : nat, J : nat, K : nat]: ((ord_less_nat @ I @ J) => ((ord_less_nat @ zero_zero_nat @ K) => (ord_less_nat @ (times_times_nat @ I @ K) @ (times_times_nat @ J @ K))))))). % mult_less_mono1
thf(fact_81_mult__less__mono2, axiom,
    ((![I : nat, J : nat, K : nat]: ((ord_less_nat @ I @ J) => ((ord_less_nat @ zero_zero_nat @ K) => (ord_less_nat @ (times_times_nat @ K @ I) @ (times_times_nat @ K @ J))))))). % mult_less_mono2
thf(fact_82_nat__less__induct, axiom,
    ((![P : nat > $o, N : nat]: ((![N2 : nat]: ((![M2 : nat]: ((ord_less_nat @ M2 @ N2) => (P @ M2))) => (P @ N2))) => (P @ N))))). % nat_less_induct
thf(fact_83_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_84_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_85_infinite__descent, axiom,
    ((![P : nat > $o, N : nat]: ((![N2 : nat]: ((~ ((P @ N2))) => (?[M2 : nat]: ((ord_less_nat @ M2 @ N2) & (~ ((P @ M2))))))) => (P @ N))))). % infinite_descent
thf(fact_86_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_87_linorder__neqE__nat, axiom,
    ((![X2 : nat, Y : nat]: ((~ ((X2 = Y))) => ((~ ((ord_less_nat @ X2 @ Y))) => (ord_less_nat @ Y @ X2)))))). % linorder_neqE_nat
thf(fact_88_less__imp__diff__less, axiom,
    ((![J : nat, K : nat, N : nat]: ((ord_less_nat @ J @ K) => (ord_less_nat @ (minus_minus_nat @ J @ N) @ K))))). % less_imp_diff_less
thf(fact_89_nat__diff__split__asm, axiom,
    ((![P : nat > $o, A2 : nat, B2 : nat]: ((P @ (minus_minus_nat @ A2 @ B2)) = (~ ((((((ord_less_nat @ A2 @ B2)) & ((~ ((P @ zero_zero_nat)))))) | ((?[D : nat]: (((A2 = (plus_plus_nat @ B2 @ D))) & ((~ ((P @ D)))))))))))))). % nat_diff_split_asm
thf(fact_90_group__cancel_Oadd1, axiom,
    ((![A : nat, K : nat, A2 : nat, B2 : nat]: ((A = (plus_plus_nat @ K @ A2)) => ((plus_plus_nat @ A @ B2) = (plus_plus_nat @ K @ (plus_plus_nat @ A2 @ B2))))))). % group_cancel.add1
thf(fact_91_group__cancel_Oadd2, axiom,
    ((![B : nat, K : nat, B2 : nat, A2 : nat]: ((B = (plus_plus_nat @ K @ B2)) => ((plus_plus_nat @ A2 @ B) = (plus_plus_nat @ K @ (plus_plus_nat @ A2 @ B2))))))). % group_cancel.add2
thf(fact_92_add__diff__inverse__nat, axiom,
    ((![M : nat, N : nat]: ((~ ((ord_less_nat @ M @ N))) => ((plus_plus_nat @ N @ (minus_minus_nat @ M @ N)) = M))))). % add_diff_inverse_nat
thf(fact_93_less__imp__add__positive, axiom,
    ((![I : nat, J : nat]: ((ord_less_nat @ I @ J) => (?[K2 : nat]: ((ord_less_nat @ zero_zero_nat @ K2) & ((plus_plus_nat @ I @ K2) = J))))))). % less_imp_add_positive
thf(fact_94_add_Oassoc, axiom,
    ((![A2 : nat, B2 : nat, C : nat]: ((plus_plus_nat @ (plus_plus_nat @ A2 @ B2) @ C) = (plus_plus_nat @ A2 @ (plus_plus_nat @ B2 @ C)))))). % add.assoc
thf(fact_95_mult_Oassoc, axiom,
    ((![A2 : nat, B2 : nat, C : nat]: ((times_times_nat @ (times_times_nat @ A2 @ B2) @ C) = (times_times_nat @ A2 @ (times_times_nat @ B2 @ C)))))). % mult.assoc
thf(fact_96_add_Ocommute, axiom,
    ((plus_plus_nat = (^[A3 : nat]: (^[B3 : nat]: (plus_plus_nat @ B3 @ A3)))))). % add.commute
thf(fact_97_mult_Ocommute, axiom,
    ((times_times_nat = (^[A3 : nat]: (^[B3 : nat]: (times_times_nat @ B3 @ A3)))))). % mult.commute
thf(fact_98_add_Oleft__commute, axiom,
    ((![B2 : nat, A2 : nat, C : nat]: ((plus_plus_nat @ B2 @ (plus_plus_nat @ A2 @ C)) = (plus_plus_nat @ A2 @ (plus_plus_nat @ B2 @ C)))))). % add.left_commute
thf(fact_99_mult_Oleft__commute, axiom,
    ((![B2 : nat, A2 : nat, C : nat]: ((times_times_nat @ B2 @ (times_times_nat @ A2 @ C)) = (times_times_nat @ A2 @ (times_times_nat @ B2 @ C)))))). % mult.left_commute
thf(fact_100_add__neg__neg, axiom,
    ((![A2 : nat, B2 : nat]: ((ord_less_nat @ A2 @ zero_zero_nat) => ((ord_less_nat @ B2 @ zero_zero_nat) => (ord_less_nat @ (plus_plus_nat @ A2 @ B2) @ zero_zero_nat)))))). % add_neg_neg
thf(fact_101_add__pos__pos, axiom,
    ((![A2 : nat, B2 : nat]: ((ord_less_nat @ zero_zero_nat @ A2) => ((ord_less_nat @ zero_zero_nat @ B2) => (ord_less_nat @ zero_zero_nat @ (plus_plus_nat @ A2 @ B2))))))). % add_pos_pos
thf(fact_102_add__left__imp__eq, axiom,
    ((![A2 : nat, B2 : nat, C : nat]: (((plus_plus_nat @ A2 @ B2) = (plus_plus_nat @ A2 @ C)) => (B2 = C))))). % add_left_imp_eq

% Conjectures (2)
thf(conj_0, hypothesis,
    ((listsp_dB @ it @ ts))).
thf(conj_1, conjecture,
    ((listsp_dB @ it @ (map_dB_dB @ (^[T2 : dB]: (lift @ T2 @ zero_zero_nat)) @ ts)))).
