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

% Could-be-implicit typings (4)
thf(ty_n_t__Set__Oset_It__Hoare____Mirabelle____raqjowkjvm__Otriple_Itf__a_J_J, type,
    set_Ho137910533iple_a : $tType).
thf(ty_n_t__Hoare____Mirabelle____raqjowkjvm__Otriple_Itf__a_J, type,
    hoare_1678595023iple_a : $tType).
thf(ty_n_t__Com__Ostate, type,
    state : $tType).
thf(ty_n_t__Nat__Onat, type,
    nat : $tType).

% Explicit typings (10)
thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat, type,
    zero_zero_nat : nat).
thf(sy_c_Hoare__Mirabelle__raqjowkjvm_Ohoare__valids_001tf__a, type,
    hoare_1775499016lids_a : set_Ho137910533iple_a > set_Ho137910533iple_a > $o).
thf(sy_c_Hoare__Mirabelle__raqjowkjvm_Ostate__not__singleton, type,
    hoare_405891322gleton : $o).
thf(sy_c_Hoare__Mirabelle__raqjowkjvm_Otriple__valid_001tf__a, type,
    hoare_1926814542alid_a : nat > hoare_1678595023iple_a > $o).
thf(sy_c_Nat_OSuc, type,
    suc : nat > 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__eq_001t__Nat__Onat, type,
    ord_less_eq_nat : nat > nat > $o).
thf(sy_c_member_001t__Hoare____Mirabelle____raqjowkjvm__Otriple_Itf__a_J, type,
    member1332298086iple_a : hoare_1678595023iple_a > set_Ho137910533iple_a > $o).
thf(sy_v_n, type,
    n : nat).
thf(sy_v_t, type,
    t : hoare_1678595023iple_a).

% Relevant facts (120)
thf(fact_0_nat_Oinject, axiom,
    ((![X2 : nat, Y2 : nat]: (((suc @ X2) = (suc @ Y2)) = (X2 = Y2))))). % nat.inject
thf(fact_1_old_Onat_Oinject, axiom,
    ((![Nat : nat, Nat2 : nat]: (((suc @ Nat) = (suc @ Nat2)) = (Nat = Nat2))))). % old.nat.inject
thf(fact_2_Suc__inject, axiom,
    ((![X : nat, Y : nat]: (((suc @ X) = (suc @ Y)) => (X = Y))))). % Suc_inject
thf(fact_3_n__not__Suc__n, axiom,
    ((![N : nat]: (~ ((N = (suc @ N))))))). % n_not_Suc_n
thf(fact_4_single__stateE, axiom,
    ((hoare_405891322gleton => (![T : state]: (~ ((![S : state]: (S = T)))))))). % single_stateE
thf(fact_5_state__not__singleton__def, axiom,
    ((hoare_405891322gleton = (?[S2 : state]: (?[T2 : state]: (~ ((S2 = T2)))))))). % state_not_singleton_def
thf(fact_6_hoare__valids__def, axiom,
    ((hoare_1775499016lids_a = (^[G : set_Ho137910533iple_a]: (^[Ts : set_Ho137910533iple_a]: (![N2 : nat]: (((![X3 : hoare_1678595023iple_a]: (((member1332298086iple_a @ X3 @ G)) => ((hoare_1926814542alid_a @ N2 @ X3))))) => ((![X3 : hoare_1678595023iple_a]: (((member1332298086iple_a @ X3 @ Ts)) => ((hoare_1926814542alid_a @ N2 @ X3)))))))))))). % hoare_valids_def
thf(fact_7_Suc__le__mono, axiom,
    ((![N : nat, M : nat]: ((ord_less_eq_nat @ (suc @ N) @ (suc @ M)) = (ord_less_eq_nat @ N @ M))))). % Suc_le_mono
thf(fact_8_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_9_lessI, axiom,
    ((![N : nat]: (ord_less_nat @ N @ (suc @ N))))). % lessI
thf(fact_10_Suc__mono, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ M @ N) => (ord_less_nat @ (suc @ M) @ (suc @ N)))))). % Suc_mono
thf(fact_11_neq0__conv, axiom,
    ((![N : nat]: ((~ ((N = zero_zero_nat))) = (ord_less_nat @ zero_zero_nat @ N))))). % neq0_conv
thf(fact_12_less__nat__zero__code, axiom,
    ((![N : nat]: (~ ((ord_less_nat @ N @ zero_zero_nat)))))). % less_nat_zero_code
thf(fact_13_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_14_le0, axiom,
    ((![N : nat]: (ord_less_eq_nat @ zero_zero_nat @ N)))). % le0
thf(fact_15_bot__nat__0_Oextremum, axiom,
    ((![A : nat]: (ord_less_eq_nat @ zero_zero_nat @ A)))). % bot_nat_0.extremum
thf(fact_16_zero__less__Suc, axiom,
    ((![N : nat]: (ord_less_nat @ zero_zero_nat @ (suc @ N))))). % zero_less_Suc
thf(fact_17_less__Suc0, axiom,
    ((![N : nat]: ((ord_less_nat @ N @ (suc @ zero_zero_nat)) = (N = zero_zero_nat))))). % less_Suc0
thf(fact_18_less__eq__nat_Osimps_I1_J, axiom,
    ((![N : nat]: (ord_less_eq_nat @ zero_zero_nat @ N)))). % less_eq_nat.simps(1)
thf(fact_19_gr0I, axiom,
    ((![N : nat]: ((~ ((N = zero_zero_nat))) => (ord_less_nat @ zero_zero_nat @ N))))). % gr0I
thf(fact_20_le__0__eq, axiom,
    ((![N : nat]: ((ord_less_eq_nat @ N @ zero_zero_nat) = (N = zero_zero_nat))))). % le_0_eq
thf(fact_21_le__refl, axiom,
    ((![N : nat]: (ord_less_eq_nat @ N @ N)))). % le_refl
thf(fact_22_not__gr0, axiom,
    ((![N : nat]: ((~ ((ord_less_nat @ zero_zero_nat @ N))) = (N = zero_zero_nat))))). % not_gr0
thf(fact_23_le__trans, axiom,
    ((![I : nat, J : nat, K : nat]: ((ord_less_eq_nat @ I @ J) => ((ord_less_eq_nat @ J @ K) => (ord_less_eq_nat @ I @ K)))))). % le_trans
thf(fact_24_eq__imp__le, axiom,
    ((![M : nat, N : nat]: ((M = N) => (ord_less_eq_nat @ M @ N))))). % eq_imp_le
thf(fact_25_not__less0, axiom,
    ((![N : nat]: (~ ((ord_less_nat @ N @ zero_zero_nat)))))). % not_less0
thf(fact_26_le__antisym, axiom,
    ((![M : nat, N : nat]: ((ord_less_eq_nat @ M @ N) => ((ord_less_eq_nat @ N @ M) => (M = N)))))). % le_antisym
thf(fact_27_less__zeroE, axiom,
    ((![N : nat]: (~ ((ord_less_nat @ N @ zero_zero_nat)))))). % less_zeroE
thf(fact_28_nat__less__le, axiom,
    ((ord_less_nat = (^[M2 : nat]: (^[N2 : nat]: (((ord_less_eq_nat @ M2 @ N2)) & ((~ ((M2 = N2)))))))))). % nat_less_le
thf(fact_29_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_30_less__not__refl, axiom,
    ((![N : nat]: (~ ((ord_less_nat @ N @ N)))))). % less_not_refl
thf(fact_31_nat__le__linear, axiom,
    ((![M : nat, N : nat]: ((ord_less_eq_nat @ M @ N) | (ord_less_eq_nat @ N @ M))))). % nat_le_linear
thf(fact_32_less__not__refl2, axiom,
    ((![N : nat, M : nat]: ((ord_less_nat @ N @ M) => (~ ((M = N))))))). % less_not_refl2
thf(fact_33_less__not__refl3, axiom,
    ((![S3 : nat, T3 : nat]: ((ord_less_nat @ S3 @ T3) => (~ ((S3 = T3))))))). % less_not_refl3
thf(fact_34_ex__least__nat__le, axiom,
    ((![P : nat > $o, N : nat]: ((P @ N) => ((~ ((P @ zero_zero_nat))) => (?[K2 : nat]: ((ord_less_eq_nat @ K2 @ N) & ((![I2 : nat]: ((ord_less_nat @ I2 @ K2) => (~ ((P @ I2))))) & (P @ K2))))))))). % ex_least_nat_le
thf(fact_35_gr__implies__not0, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ M @ N) => (~ ((N = zero_zero_nat))))))). % gr_implies_not0
thf(fact_36_less__imp__le__nat, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ M @ N) => (ord_less_eq_nat @ M @ N))))). % less_imp_le_nat
thf(fact_37_less__irrefl__nat, axiom,
    ((![N : nat]: (~ ((ord_less_nat @ N @ N)))))). % less_irrefl_nat
thf(fact_38_nat__less__induct, axiom,
    ((![P : nat > $o, N : nat]: ((![N3 : nat]: ((![M3 : nat]: ((ord_less_nat @ M3 @ N3) => (P @ M3))) => (P @ N3))) => (P @ N))))). % nat_less_induct
thf(fact_39_infinite__descent, axiom,
    ((![P : nat > $o, N : nat]: ((![N3 : nat]: ((~ ((P @ N3))) => (?[M3 : nat]: ((ord_less_nat @ M3 @ N3) & (~ ((P @ M3))))))) => (P @ N))))). % infinite_descent
thf(fact_40_le__eq__less__or__eq, axiom,
    ((ord_less_eq_nat = (^[M2 : nat]: (^[N2 : nat]: (((ord_less_nat @ M2 @ N2)) | ((M2 = N2)))))))). % le_eq_less_or_eq
thf(fact_41_ex__least__nat__less, axiom,
    ((![P : nat > $o, N : nat]: ((P @ N) => ((~ ((P @ zero_zero_nat))) => (?[K2 : nat]: ((ord_less_nat @ K2 @ N) & ((![I2 : nat]: ((ord_less_eq_nat @ I2 @ K2) => (~ ((P @ I2))))) & (P @ (suc @ K2)))))))))). % ex_least_nat_less
thf(fact_42_infinite__descent0, axiom,
    ((![P : nat > $o, N : nat]: ((P @ zero_zero_nat) => ((![N3 : nat]: ((ord_less_nat @ zero_zero_nat @ N3) => ((~ ((P @ N3))) => (?[M3 : nat]: ((ord_less_nat @ M3 @ N3) & (~ ((P @ M3)))))))) => (P @ N)))))). % infinite_descent0
thf(fact_43_less__or__eq__imp__le, axiom,
    ((![M : nat, N : nat]: (((ord_less_nat @ M @ N) | (M = N)) => (ord_less_eq_nat @ M @ N))))). % less_or_eq_imp_le
thf(fact_44_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_45_Nat_Oex__has__greatest__nat, axiom,
    ((![P : nat > $o, K : nat, B : nat]: ((P @ K) => ((![Y3 : nat]: ((P @ Y3) => (ord_less_eq_nat @ Y3 @ B))) => (?[X4 : nat]: ((P @ X4) & (![Y4 : nat]: ((P @ Y4) => (ord_less_eq_nat @ Y4 @ X4)))))))))). % Nat.ex_has_greatest_nat
thf(fact_46_le__neq__implies__less, axiom,
    ((![M : nat, N : nat]: ((ord_less_eq_nat @ M @ N) => ((~ ((M = N))) => (ord_less_nat @ M @ N)))))). % le_neq_implies_less
thf(fact_47_less__mono__imp__le__mono, axiom,
    ((![F : nat > nat, I : nat, J : nat]: ((![I3 : nat, J2 : nat]: ((ord_less_nat @ I3 @ J2) => (ord_less_nat @ (F @ I3) @ (F @ J2)))) => ((ord_less_eq_nat @ I @ J) => (ord_less_eq_nat @ (F @ I) @ (F @ J))))))). % less_mono_imp_le_mono
thf(fact_48_bot__nat__0_Oextremum__strict, axiom,
    ((![A : nat]: (~ ((ord_less_nat @ A @ zero_zero_nat)))))). % bot_nat_0.extremum_strict
thf(fact_49_bot__nat__0_Oextremum__unique, axiom,
    ((![A : nat]: ((ord_less_eq_nat @ A @ zero_zero_nat) = (A = zero_zero_nat))))). % bot_nat_0.extremum_unique
thf(fact_50_bot__nat__0_Oextremum__uniqueI, axiom,
    ((![A : nat]: ((ord_less_eq_nat @ A @ zero_zero_nat) => (A = zero_zero_nat))))). % bot_nat_0.extremum_uniqueI
thf(fact_51_lift__Suc__mono__le, axiom,
    ((![F : nat > nat, N : nat, N4 : nat]: ((![N3 : nat]: (ord_less_eq_nat @ (F @ N3) @ (F @ (suc @ N3)))) => ((ord_less_eq_nat @ N @ N4) => (ord_less_eq_nat @ (F @ N) @ (F @ N4))))))). % lift_Suc_mono_le
thf(fact_52_lift__Suc__mono__less, axiom,
    ((![F : nat > nat, N : nat, N4 : nat]: ((![N3 : nat]: (ord_less_nat @ (F @ N3) @ (F @ (suc @ N3)))) => ((ord_less_nat @ N @ N4) => (ord_less_nat @ (F @ N) @ (F @ N4))))))). % lift_Suc_mono_less
thf(fact_53_lift__Suc__antimono__le, axiom,
    ((![F : nat > nat, N : nat, N4 : nat]: ((![N3 : nat]: (ord_less_eq_nat @ (F @ (suc @ N3)) @ (F @ N3))) => ((ord_less_eq_nat @ N @ N4) => (ord_less_eq_nat @ (F @ N4) @ (F @ N))))))). % lift_Suc_antimono_le
thf(fact_54_lift__Suc__mono__less__iff, axiom,
    ((![F : nat > nat, N : nat, M : nat]: ((![N3 : nat]: (ord_less_nat @ (F @ N3) @ (F @ (suc @ N3)))) => ((ord_less_nat @ (F @ N) @ (F @ M)) = (ord_less_nat @ N @ M)))))). % lift_Suc_mono_less_iff
thf(fact_55_le__imp__less__Suc, axiom,
    ((![M : nat, N : nat]: ((ord_less_eq_nat @ M @ N) => (ord_less_nat @ M @ (suc @ N)))))). % le_imp_less_Suc
thf(fact_56_less__eq__Suc__le, axiom,
    ((ord_less_nat = (^[N2 : nat]: (ord_less_eq_nat @ (suc @ N2)))))). % less_eq_Suc_le
thf(fact_57_less__Suc__eq__le, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ M @ (suc @ N)) = (ord_less_eq_nat @ M @ N))))). % less_Suc_eq_le
thf(fact_58_le__less__Suc__eq, axiom,
    ((![M : nat, N : nat]: ((ord_less_eq_nat @ M @ N) => ((ord_less_nat @ N @ (suc @ M)) = (N = M)))))). % le_less_Suc_eq
thf(fact_59_Suc__le__lessD, axiom,
    ((![M : nat, N : nat]: ((ord_less_eq_nat @ (suc @ M) @ N) => (ord_less_nat @ M @ N))))). % Suc_le_lessD
thf(fact_60_inc__induct, axiom,
    ((![I : nat, J : nat, P : nat > $o]: ((ord_less_eq_nat @ I @ J) => ((P @ J) => ((![N3 : nat]: ((ord_less_eq_nat @ I @ N3) => ((ord_less_nat @ N3 @ J) => ((P @ (suc @ N3)) => (P @ N3))))) => (P @ I))))))). % inc_induct
thf(fact_61_dec__induct, axiom,
    ((![I : nat, J : nat, P : nat > $o]: ((ord_less_eq_nat @ I @ J) => ((P @ I) => ((![N3 : nat]: ((ord_less_eq_nat @ I @ N3) => ((ord_less_nat @ N3 @ J) => ((P @ N3) => (P @ (suc @ N3)))))) => (P @ J))))))). % dec_induct
thf(fact_62_Suc__le__eq, axiom,
    ((![M : nat, N : nat]: ((ord_less_eq_nat @ (suc @ M) @ N) = (ord_less_nat @ M @ N))))). % Suc_le_eq
thf(fact_63_Suc__leI, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ M @ N) => (ord_less_eq_nat @ (suc @ M) @ N))))). % Suc_leI
thf(fact_64_less__Suc__eq__0__disj, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ M @ (suc @ N)) = (((M = zero_zero_nat)) | ((?[J3 : nat]: (((M = (suc @ J3))) & ((ord_less_nat @ J3 @ N)))))))))). % less_Suc_eq_0_disj
thf(fact_65_gr0__implies__Suc, axiom,
    ((![N : nat]: ((ord_less_nat @ zero_zero_nat @ N) => (?[M4 : nat]: (N = (suc @ M4))))))). % gr0_implies_Suc
thf(fact_66_All__less__Suc2, axiom,
    ((![N : nat, P : nat > $o]: ((![I4 : nat]: (((ord_less_nat @ I4 @ (suc @ N))) => ((P @ I4)))) = (((P @ zero_zero_nat)) & ((![I4 : nat]: (((ord_less_nat @ I4 @ N)) => ((P @ (suc @ I4))))))))))). % All_less_Suc2
thf(fact_67_gr0__conv__Suc, axiom,
    ((![N : nat]: ((ord_less_nat @ zero_zero_nat @ N) = (?[M2 : nat]: (N = (suc @ M2))))))). % gr0_conv_Suc
thf(fact_68_Ex__less__Suc2, axiom,
    ((![N : nat, P : nat > $o]: ((?[I4 : nat]: (((ord_less_nat @ I4 @ (suc @ N))) & ((P @ I4)))) = (((P @ zero_zero_nat)) | ((?[I4 : nat]: (((ord_less_nat @ I4 @ N)) & ((P @ (suc @ I4))))))))))). % Ex_less_Suc2
thf(fact_69_Nat_OlessE, axiom,
    ((![I : nat, K : nat]: ((ord_less_nat @ I @ K) => ((~ ((K = (suc @ I)))) => (~ ((![J2 : nat]: ((ord_less_nat @ I @ J2) => (~ ((K = (suc @ J2))))))))))))). % Nat.lessE
thf(fact_70_Suc__lessD, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ (suc @ M) @ N) => (ord_less_nat @ M @ N))))). % Suc_lessD
thf(fact_71_Suc__lessE, axiom,
    ((![I : nat, K : nat]: ((ord_less_nat @ (suc @ I) @ K) => (~ ((![J2 : nat]: ((ord_less_nat @ I @ J2) => (~ ((K = (suc @ J2)))))))))))). % Suc_lessE
thf(fact_72_Suc__lessI, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ M @ N) => ((~ (((suc @ M) = N))) => (ord_less_nat @ (suc @ M) @ N)))))). % Suc_lessI
thf(fact_73_less__SucE, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ M @ (suc @ N)) => ((~ ((ord_less_nat @ M @ N))) => (M = N)))))). % less_SucE
thf(fact_74_less__SucI, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ M @ N) => (ord_less_nat @ M @ (suc @ N)))))). % less_SucI
thf(fact_75_Ex__less__Suc, axiom,
    ((![N : nat, P : nat > $o]: ((?[I4 : nat]: (((ord_less_nat @ I4 @ (suc @ N))) & ((P @ I4)))) = (((P @ N)) | ((?[I4 : nat]: (((ord_less_nat @ I4 @ N)) & ((P @ I4)))))))))). % Ex_less_Suc
thf(fact_76_less__Suc__eq, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ M @ (suc @ N)) = (((ord_less_nat @ M @ N)) | ((M = N))))))). % less_Suc_eq
thf(fact_77_not__less__eq, axiom,
    ((![M : nat, N : nat]: ((~ ((ord_less_nat @ M @ N))) = (ord_less_nat @ N @ (suc @ M)))))). % not_less_eq
thf(fact_78_All__less__Suc, axiom,
    ((![N : nat, P : nat > $o]: ((![I4 : nat]: (((ord_less_nat @ I4 @ (suc @ N))) => ((P @ I4)))) = (((P @ N)) & ((![I4 : nat]: (((ord_less_nat @ I4 @ N)) => ((P @ I4)))))))))). % All_less_Suc
thf(fact_79_Suc__less__eq2, axiom,
    ((![N : nat, M : nat]: ((ord_less_nat @ (suc @ N) @ M) = (?[M5 : nat]: (((M = (suc @ M5))) & ((ord_less_nat @ N @ M5)))))))). % Suc_less_eq2
thf(fact_80_less__antisym, axiom,
    ((![N : nat, M : nat]: ((~ ((ord_less_nat @ N @ M))) => ((ord_less_nat @ N @ (suc @ M)) => (M = N)))))). % less_antisym
thf(fact_81_Suc__less__SucD, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ (suc @ M) @ (suc @ N)) => (ord_less_nat @ M @ N))))). % Suc_less_SucD
thf(fact_82_less__trans__Suc, axiom,
    ((![I : nat, J : nat, K : nat]: ((ord_less_nat @ I @ J) => ((ord_less_nat @ J @ K) => (ord_less_nat @ (suc @ I) @ K)))))). % less_trans_Suc
thf(fact_83_less__Suc__induct, axiom,
    ((![I : nat, J : nat, P : nat > nat > $o]: ((ord_less_nat @ I @ J) => ((![I3 : nat]: (P @ I3 @ (suc @ I3))) => ((![I3 : nat, J2 : nat, K2 : nat]: ((ord_less_nat @ I3 @ J2) => ((ord_less_nat @ J2 @ K2) => ((P @ I3 @ J2) => ((P @ J2 @ K2) => (P @ I3 @ K2)))))) => (P @ I @ J))))))). % less_Suc_induct
thf(fact_84_strict__inc__induct, axiom,
    ((![I : nat, J : nat, P : nat > $o]: ((ord_less_nat @ I @ J) => ((![I3 : nat]: ((J = (suc @ I3)) => (P @ I3))) => ((![I3 : nat]: ((ord_less_nat @ I3 @ J) => ((P @ (suc @ I3)) => (P @ I3)))) => (P @ I))))))). % strict_inc_induct
thf(fact_85_not__less__less__Suc__eq, axiom,
    ((![N : nat, M : nat]: ((~ ((ord_less_nat @ N @ M))) => ((ord_less_nat @ N @ (suc @ M)) = (N = M)))))). % not_less_less_Suc_eq
thf(fact_86_Suc__leD, axiom,
    ((![M : nat, N : nat]: ((ord_less_eq_nat @ (suc @ M) @ N) => (ord_less_eq_nat @ M @ N))))). % Suc_leD
thf(fact_87_le__SucE, axiom,
    ((![M : nat, N : nat]: ((ord_less_eq_nat @ M @ (suc @ N)) => ((~ ((ord_less_eq_nat @ M @ N))) => (M = (suc @ N))))))). % le_SucE
thf(fact_88_le__SucI, axiom,
    ((![M : nat, N : nat]: ((ord_less_eq_nat @ M @ N) => (ord_less_eq_nat @ M @ (suc @ N)))))). % le_SucI
thf(fact_89_Suc__le__D, axiom,
    ((![N : nat, M6 : nat]: ((ord_less_eq_nat @ (suc @ N) @ M6) => (?[M4 : nat]: (M6 = (suc @ M4))))))). % Suc_le_D
thf(fact_90_le__Suc__eq, axiom,
    ((![M : nat, N : nat]: ((ord_less_eq_nat @ M @ (suc @ N)) = (((ord_less_eq_nat @ M @ N)) | ((M = (suc @ N)))))))). % le_Suc_eq
thf(fact_91_Suc__n__not__le__n, axiom,
    ((![N : nat]: (~ ((ord_less_eq_nat @ (suc @ N) @ N)))))). % Suc_n_not_le_n
thf(fact_92_not__less__eq__eq, axiom,
    ((![M : nat, N : nat]: ((~ ((ord_less_eq_nat @ M @ N))) = (ord_less_eq_nat @ (suc @ N) @ M))))). % not_less_eq_eq
thf(fact_93_full__nat__induct, axiom,
    ((![P : nat > $o, N : nat]: ((![N3 : nat]: ((![M3 : nat]: ((ord_less_eq_nat @ (suc @ M3) @ N3) => (P @ M3))) => (P @ N3))) => (P @ N))))). % full_nat_induct
thf(fact_94_nat__induct__at__least, axiom,
    ((![M : nat, N : nat, P : nat > $o]: ((ord_less_eq_nat @ M @ N) => ((P @ M) => ((![N3 : nat]: ((ord_less_eq_nat @ M @ N3) => ((P @ N3) => (P @ (suc @ N3))))) => (P @ N))))))). % nat_induct_at_least
thf(fact_95_transitive__stepwise__le, axiom,
    ((![M : nat, N : nat, R : nat > nat > $o]: ((ord_less_eq_nat @ M @ N) => ((![X4 : nat]: (R @ X4 @ X4)) => ((![X4 : nat, Y3 : nat, Z : nat]: ((R @ X4 @ Y3) => ((R @ Y3 @ Z) => (R @ X4 @ Z)))) => ((![N3 : nat]: (R @ N3 @ (suc @ N3))) => (R @ M @ N)))))))). % transitive_stepwise_le
thf(fact_96_nat_Odistinct_I1_J, axiom,
    ((![X2 : nat]: (~ ((zero_zero_nat = (suc @ X2))))))). % nat.distinct(1)
thf(fact_97_old_Onat_Odistinct_I2_J, axiom,
    ((![Nat2 : nat]: (~ (((suc @ Nat2) = zero_zero_nat)))))). % old.nat.distinct(2)
thf(fact_98_old_Onat_Odistinct_I1_J, axiom,
    ((![Nat2 : nat]: (~ ((zero_zero_nat = (suc @ Nat2))))))). % old.nat.distinct(1)
thf(fact_99_nat_OdiscI, axiom,
    ((![Nat : nat, X2 : nat]: ((Nat = (suc @ X2)) => (~ ((Nat = zero_zero_nat))))))). % nat.discI
thf(fact_100_nat__induct, axiom,
    ((![P : nat > $o, N : nat]: ((P @ zero_zero_nat) => ((![N3 : nat]: ((P @ N3) => (P @ (suc @ N3)))) => (P @ N)))))). % nat_induct
thf(fact_101_diff__induct, axiom,
    ((![P : nat > nat > $o, M : nat, N : nat]: ((![X4 : nat]: (P @ X4 @ zero_zero_nat)) => ((![Y3 : nat]: (P @ zero_zero_nat @ (suc @ Y3))) => ((![X4 : nat, Y3 : nat]: ((P @ X4 @ Y3) => (P @ (suc @ X4) @ (suc @ Y3)))) => (P @ M @ N))))))). % diff_induct
thf(fact_102_zero__induct, axiom,
    ((![P : nat > $o, K : nat]: ((P @ K) => ((![N3 : nat]: ((P @ (suc @ N3)) => (P @ N3))) => (P @ zero_zero_nat)))))). % zero_induct
thf(fact_103_Suc__neq__Zero, axiom,
    ((![M : nat]: (~ (((suc @ M) = zero_zero_nat)))))). % Suc_neq_Zero
thf(fact_104_Zero__neq__Suc, axiom,
    ((![M : nat]: (~ ((zero_zero_nat = (suc @ M))))))). % Zero_neq_Suc
thf(fact_105_Zero__not__Suc, axiom,
    ((![M : nat]: (~ ((zero_zero_nat = (suc @ M))))))). % Zero_not_Suc
thf(fact_106_old_Onat_Oexhaust, axiom,
    ((![Y : nat]: ((~ ((Y = zero_zero_nat))) => (~ ((![Nat3 : nat]: (~ ((Y = (suc @ Nat3))))))))))). % old.nat.exhaust
thf(fact_107_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_108_not0__implies__Suc, axiom,
    ((![N : nat]: ((~ ((N = zero_zero_nat))) => (?[M4 : nat]: (N = (suc @ M4))))))). % not0_implies_Suc
thf(fact_109_not__gr__zero, axiom,
    ((![N : nat]: ((~ ((ord_less_nat @ zero_zero_nat @ N))) = (N = zero_zero_nat))))). % not_gr_zero
thf(fact_110_le__zero__eq, axiom,
    ((![N : nat]: ((ord_less_eq_nat @ N @ zero_zero_nat) = (N = zero_zero_nat))))). % le_zero_eq
thf(fact_111_order__refl, axiom,
    ((![X : nat]: (ord_less_eq_nat @ X @ X)))). % order_refl
thf(fact_112_nat__descend__induct, axiom,
    ((![N : nat, P : nat > $o, M : nat]: ((![K2 : nat]: ((ord_less_nat @ N @ K2) => (P @ K2))) => ((![K2 : nat]: ((ord_less_eq_nat @ K2 @ N) => ((![I2 : nat]: ((ord_less_nat @ K2 @ I2) => (P @ I2))) => (P @ K2)))) => (P @ M)))))). % nat_descend_induct
thf(fact_113_Suc__le__D__lemma, axiom,
    ((![N : nat, M6 : nat, P : nat > $o]: ((ord_less_eq_nat @ (suc @ N) @ M6) => ((![M4 : nat]: ((ord_less_eq_nat @ N @ M4) => (P @ (suc @ M4)))) => (P @ M6)))))). % Suc_le_D_lemma
thf(fact_114_order__subst1, axiom,
    ((![A : nat, F : nat > nat, B : nat, C : nat]: ((ord_less_eq_nat @ A @ (F @ B)) => ((ord_less_eq_nat @ B @ C) => ((![X4 : nat, Y3 : nat]: ((ord_less_eq_nat @ X4 @ Y3) => (ord_less_eq_nat @ (F @ X4) @ (F @ Y3)))) => (ord_less_eq_nat @ A @ (F @ C)))))))). % order_subst1
thf(fact_115_order__subst2, axiom,
    ((![A : nat, B : nat, F : nat > nat, C : nat]: ((ord_less_eq_nat @ A @ B) => ((ord_less_eq_nat @ (F @ B) @ C) => ((![X4 : nat, Y3 : nat]: ((ord_less_eq_nat @ X4 @ Y3) => (ord_less_eq_nat @ (F @ X4) @ (F @ Y3)))) => (ord_less_eq_nat @ (F @ A) @ C))))))). % order_subst2
thf(fact_116_ord__eq__le__subst, axiom,
    ((![A : nat, F : nat > nat, B : nat, C : nat]: ((A = (F @ B)) => ((ord_less_eq_nat @ B @ C) => ((![X4 : nat, Y3 : nat]: ((ord_less_eq_nat @ X4 @ Y3) => (ord_less_eq_nat @ (F @ X4) @ (F @ Y3)))) => (ord_less_eq_nat @ A @ (F @ C)))))))). % ord_eq_le_subst
thf(fact_117_ord__le__eq__subst, axiom,
    ((![A : nat, B : nat, F : nat > nat, C : nat]: ((ord_less_eq_nat @ A @ B) => (((F @ B) = C) => ((![X4 : nat, Y3 : nat]: ((ord_less_eq_nat @ X4 @ Y3) => (ord_less_eq_nat @ (F @ X4) @ (F @ Y3)))) => (ord_less_eq_nat @ (F @ A) @ C))))))). % ord_le_eq_subst
thf(fact_118_eq__iff, axiom,
    (((^[Y5 : nat]: (^[Z2 : nat]: (Y5 = Z2))) = (^[X3 : nat]: (^[Y6 : nat]: (((ord_less_eq_nat @ X3 @ Y6)) & ((ord_less_eq_nat @ Y6 @ X3)))))))). % eq_iff
thf(fact_119_antisym, axiom,
    ((![X : nat, Y : nat]: ((ord_less_eq_nat @ X @ Y) => ((ord_less_eq_nat @ Y @ X) => (X = Y)))))). % antisym

% Conjectures (1)
thf(conj_0, conjecture,
    (((~ ((hoare_1926814542alid_a @ (suc @ n) @ t))) | (hoare_1926814542alid_a @ n @ t)))).
