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

% Could-be-implicit typings (9)
thf(ty_n_t__Typerep__Otyperep, type,
    typerep : $tType).
thf(ty_n_t__Com__Ovname, type,
    vname : $tType).
thf(ty_n_t__Com__Ostate, type,
    state : $tType).
thf(ty_n_t__Nat__Onat, type,
    nat : $tType).
thf(ty_n_t__Int__Oint, type,
    int : $tType).
thf(ty_n_t__Com__Oloc, type,
    loc : $tType).
thf(ty_n_t__Com__Oglb, type,
    glb : $tType).
thf(ty_n_t__Com__Ocom, type,
    com : $tType).
thf(ty_n_tf__a, type,
    a : $tType).

% Explicit typings (29)
thf(sy_c_Com_Ocom_OAss, type,
    ass : vname > (state > nat) > com).
thf(sy_c_Com_Ocom_OLocal, type,
    local : loc > (state > nat) > com > com).
thf(sy_c_Com_Ocom_OSKIP, type,
    skip : com).
thf(sy_c_Com_Ocom_Osize__com, type,
    size_com : com > nat).
thf(sy_c_Com_Ovname_OGlb, type,
    glb2 : glb > vname).
thf(sy_c_Com_Ovname_OLoc, type,
    loc2 : loc > vname).
thf(sy_c_Com_Ovname_Osize__vname, type,
    size_vname : vname > nat).
thf(sy_c_Groups_Ozero__class_Ozero_001t__Int__Oint, type,
    zero_zero_int : int).
thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat, type,
    zero_zero_nat : nat).
thf(sy_c_Hoare__Mirabelle__raqjowkjvm_Ostate__not__singleton, type,
    hoare_405891322gleton : $o).
thf(sy_c_If_001t__Nat__Onat, type,
    if_nat : $o > nat > nat > nat).
thf(sy_c_Int_Onat, type,
    nat2 : int > nat).
thf(sy_c_Int_Oring__1__class_Oof__int_001t__Int__Oint, type,
    ring_1_of_int_int : int > int).
thf(sy_c_Nat_Osemiring__1__class_Oof__nat_001t__Int__Oint, type,
    semiri2019852685at_int : nat > int).
thf(sy_c_Nat_Osemiring__1__class_Oof__nat_001t__Nat__Onat, type,
    semiri1382578993at_nat : nat > nat).
thf(sy_c_Nat_Osize__class_Osize_001t__Com__Ocom, type,
    size_size_com : com > nat).
thf(sy_c_Nat_Osize__class_Osize_001t__Com__Ovname, type,
    size_size_vname : vname > nat).
thf(sy_c_Nat_Osize__class_Osize_001t__Typerep__Otyperep, type,
    size_size_typerep : typerep > nat).
thf(sy_c_Natural_Oevalc, type,
    evalc : com > state > state > $o).
thf(sy_c_Natural_Oevaln, type,
    evaln : com > state > nat > state > $o).
thf(sy_c_Natural_Ogetlocs, type,
    getlocs : state > loc > nat).
thf(sy_c_Natural_Oupdate, type,
    update : state > vname > nat > state).
thf(sy_c_Orderings_Oord__class_Oless_001t__Int__Oint, type,
    ord_less_int : int > int > $o).
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__Int__Oint, type,
    ord_less_eq_int : int > int > $o).
thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Nat__Onat, type,
    ord_less_eq_nat : nat > nat > $o).
thf(sy_v_Q, type,
    q : a > state > $o).
thf(sy_v_Y, type,
    y : loc).
thf(sy_v_s_H, type,
    s : state).

% Relevant facts (180)
thf(fact_0_vname_Oinject_I2_J, axiom,
    ((![X2 : loc, Y2 : loc]: (((loc2 @ X2) = (loc2 @ Y2)) = (X2 = Y2))))). % vname.inject(2)
thf(fact_1_evalc__elim__cases_I3_J, axiom,
    ((![Y : loc, A : state > nat, C : com, S : state, T : state]: ((evalc @ (local @ Y @ A @ C) @ S @ T) => (~ ((![S1 : state]: ((T = (update @ S1 @ (loc2 @ Y) @ (getlocs @ S @ Y))) => (~ ((evalc @ C @ (update @ S @ (loc2 @ Y) @ (A @ S)) @ S1))))))))))). % evalc_elim_cases(3)
thf(fact_2_evalc_OLocal, axiom,
    ((![C : com, S0 : state, Y : loc, A : state > nat, S12 : state]: ((evalc @ C @ (update @ S0 @ (loc2 @ Y) @ (A @ S0)) @ S12) => (evalc @ (local @ Y @ A @ C) @ S0 @ (update @ S12 @ (loc2 @ Y) @ (getlocs @ S0 @ Y))))))). % evalc.Local
thf(fact_3_evaln__elim__cases_I3_J, axiom,
    ((![Y : loc, A : state > nat, C : com, S : state, N : nat, T : state]: ((evaln @ (local @ Y @ A @ C) @ S @ N @ T) => (~ ((![S1 : state]: ((T = (update @ S1 @ (loc2 @ Y) @ (getlocs @ S @ Y))) => (~ ((evaln @ C @ (update @ S @ (loc2 @ Y) @ (A @ S)) @ N @ S1))))))))))). % evaln_elim_cases(3)
thf(fact_4_evaln_OLocal, axiom,
    ((![C : com, S0 : state, Y : loc, A : state > nat, N : nat, S12 : state]: ((evaln @ C @ (update @ S0 @ (loc2 @ Y) @ (A @ S0)) @ N @ S12) => (evaln @ (local @ Y @ A @ C) @ S0 @ N @ (update @ S12 @ (loc2 @ Y) @ (getlocs @ S0 @ Y))))))). % evaln.Local
thf(fact_5_vname_Odistinct_I1_J, axiom,
    ((![X1 : glb, X2 : loc]: (~ (((glb2 @ X1) = (loc2 @ X2))))))). % vname.distinct(1)
thf(fact_6_vname_Oinduct, axiom,
    ((![P : vname > $o, Vname : vname]: ((![X : glb]: (P @ (glb2 @ X))) => ((![X : loc]: (P @ (loc2 @ X))) => (P @ Vname)))))). % vname.induct
thf(fact_7_vname_Oexhaust, axiom,
    ((![Y3 : vname]: ((![X12 : glb]: (~ ((Y3 = (glb2 @ X12))))) => (~ ((![X22 : loc]: (~ ((Y3 = (loc2 @ X22))))))))))). % vname.exhaust
thf(fact_8_vname_Osize__gen_I2_J, axiom,
    ((![X2 : loc]: ((size_vname @ (loc2 @ X2)) = zero_zero_nat)))). % vname.size_gen(2)
thf(fact_9_single__stateE, axiom,
    ((hoare_405891322gleton => (![T2 : state]: (~ ((![S2 : state]: (S2 = T2)))))))). % single_stateE
thf(fact_10_com_Oinject_I2_J, axiom,
    ((![X31 : loc, X32 : state > nat, X33 : com, Y31 : loc, Y32 : state > nat, Y33 : com]: (((local @ X31 @ X32 @ X33) = (local @ Y31 @ Y32 @ Y33)) = (((X31 = Y31)) & ((((X32 = Y32)) & ((X33 = Y33))))))))). % com.inject(2)
thf(fact_11_vname_Oinject_I1_J, axiom,
    ((![X1 : glb, Y1 : glb]: (((glb2 @ X1) = (glb2 @ Y1)) = (X1 = Y1))))). % vname.inject(1)
thf(fact_12_vname_Osize__gen_I1_J, axiom,
    ((![X1 : glb]: ((size_vname @ (glb2 @ X1)) = zero_zero_nat)))). % vname.size_gen(1)
thf(fact_13_com__det, axiom,
    ((![C : com, S : state, T : state, U : state]: ((evalc @ C @ S @ T) => ((evalc @ C @ S @ U) => (U = T)))))). % com_det
thf(fact_14_eval__eq, axiom,
    ((evalc = (^[C2 : com]: (^[S3 : state]: (^[T3 : state]: (?[N2 : nat]: (evaln @ C2 @ S3 @ N2 @ T3)))))))). % eval_eq
thf(fact_15_evaln__max2, axiom,
    ((![C1 : com, S12 : state, N1 : nat, T1 : state, C22 : com, S22 : state, N22 : nat, T22 : state]: ((evaln @ C1 @ S12 @ N1 @ T1) => ((evaln @ C22 @ S22 @ N22 @ T22) => (?[N3 : nat]: ((evaln @ C1 @ S12 @ N3 @ T1) & (evaln @ C22 @ S22 @ N3 @ T22)))))))). % evaln_max2
thf(fact_16_evalc__evaln, axiom,
    ((![C : com, S : state, T : state]: ((evalc @ C @ S @ T) => (?[N3 : nat]: (evaln @ C @ S @ N3 @ T)))))). % evalc_evaln
thf(fact_17_evaln__evalc, axiom,
    ((![C : com, S : state, N : nat, T : state]: ((evaln @ C @ S @ N @ T) => (evalc @ C @ S @ T))))). % evaln_evalc
thf(fact_18_state__not__singleton__def, axiom,
    ((hoare_405891322gleton = (?[S3 : state]: (?[T3 : state]: (~ ((S3 = T3)))))))). % state_not_singleton_def
thf(fact_19_vname_Osize_I3_J, axiom,
    ((![X1 : glb]: ((size_size_vname @ (glb2 @ X1)) = zero_zero_nat)))). % vname.size(3)
thf(fact_20_vname_Osize_I4_J, axiom,
    ((![X2 : loc]: ((size_size_vname @ (loc2 @ X2)) = zero_zero_nat)))). % vname.size(4)
thf(fact_21_zero__natural_Orsp, axiom,
    ((zero_zero_nat = zero_zero_nat))). % zero_natural.rsp
thf(fact_22_zero__reorient, axiom,
    ((![X3 : nat]: ((zero_zero_nat = X3) = (X3 = zero_zero_nat))))). % zero_reorient
thf(fact_23_zero__reorient, axiom,
    ((![X3 : int]: ((zero_zero_int = X3) = (X3 = zero_zero_int))))). % zero_reorient
thf(fact_24_evalc_OAssign, axiom,
    ((![X4 : vname, A : state > nat, S : state]: (evalc @ (ass @ X4 @ A) @ S @ (update @ S @ X4 @ (A @ S)))))). % evalc.Assign
thf(fact_25_evalc__elim__cases_I2_J, axiom,
    ((![X4 : vname, A : state > nat, S : state, T : state]: ((evalc @ (ass @ X4 @ A) @ S @ T) => (T = (update @ S @ X4 @ (A @ S))))))). % evalc_elim_cases(2)
thf(fact_26_evaln_OAssign, axiom,
    ((![X4 : vname, A : state > nat, S : state, N : nat]: (evaln @ (ass @ X4 @ A) @ S @ N @ (update @ S @ X4 @ (A @ S)))))). % evaln.Assign
thf(fact_27_evaln__elim__cases_I2_J, axiom,
    ((![X4 : vname, A : state > nat, S : state, N : nat, T : state]: ((evaln @ (ass @ X4 @ A) @ S @ N @ T) => (T = (update @ S @ X4 @ (A @ S))))))). % evaln_elim_cases(2)
thf(fact_28_com_Oinject_I1_J, axiom,
    ((![X21 : vname, X222 : state > nat, Y21 : vname, Y22 : state > nat]: (((ass @ X21 @ X222) = (ass @ Y21 @ Y22)) = (((X21 = Y21)) & ((X222 = Y22))))))). % com.inject(1)
thf(fact_29_size__neq__size__imp__neq, axiom,
    ((![X3 : vname, Y3 : vname]: ((~ (((size_size_vname @ X3) = (size_size_vname @ Y3)))) => (~ ((X3 = Y3))))))). % size_neq_size_imp_neq
thf(fact_30_size__neq__size__imp__neq, axiom,
    ((![X3 : com, Y3 : com]: ((~ (((size_size_com @ X3) = (size_size_com @ Y3)))) => (~ ((X3 = Y3))))))). % size_neq_size_imp_neq
thf(fact_31_size__neq__size__imp__neq, axiom,
    ((![X3 : typerep, Y3 : typerep]: ((~ (((size_size_typerep @ X3) = (size_size_typerep @ Y3)))) => (~ ((X3 = Y3))))))). % size_neq_size_imp_neq
thf(fact_32_com_Odistinct_I15_J, axiom,
    ((![X21 : vname, X222 : state > nat, X31 : loc, X32 : state > nat, X33 : com]: (~ (((ass @ X21 @ X222) = (local @ X31 @ X32 @ X33))))))). % com.distinct(15)
thf(fact_33_com_Osize__gen_I2_J, axiom,
    ((![X21 : vname, X222 : state > nat]: ((size_com @ (ass @ X21 @ X222)) = zero_zero_nat)))). % com.size_gen(2)
thf(fact_34_com_Osize_I10_J, axiom,
    ((![X21 : vname, X222 : state > nat]: ((size_size_com @ (ass @ X21 @ X222)) = zero_zero_nat)))). % com.size(10)
thf(fact_35_of__nat__eq__0__iff, axiom,
    ((![M : nat]: (((semiri1382578993at_nat @ M) = zero_zero_nat) = (M = zero_zero_nat))))). % of_nat_eq_0_iff
thf(fact_36_of__nat__eq__0__iff, axiom,
    ((![M : nat]: (((semiri2019852685at_int @ M) = zero_zero_int) = (M = zero_zero_nat))))). % of_nat_eq_0_iff
thf(fact_37_of__nat__0__eq__iff, axiom,
    ((![N : nat]: ((zero_zero_nat = (semiri1382578993at_nat @ N)) = (zero_zero_nat = N))))). % of_nat_0_eq_iff
thf(fact_38_of__nat__0__eq__iff, axiom,
    ((![N : nat]: ((zero_zero_int = (semiri2019852685at_int @ N)) = (zero_zero_nat = N))))). % of_nat_0_eq_iff
thf(fact_39_of__nat__eq__iff, axiom,
    ((![M : nat, N : nat]: (((semiri2019852685at_int @ M) = (semiri2019852685at_int @ N)) = (M = N))))). % of_nat_eq_iff
thf(fact_40_of__nat__0, axiom,
    (((semiri1382578993at_nat @ zero_zero_nat) = zero_zero_nat))). % of_nat_0
thf(fact_41_of__nat__0, axiom,
    (((semiri2019852685at_int @ zero_zero_nat) = zero_zero_int))). % of_nat_0
thf(fact_42_of__nat__le__0__iff, axiom,
    ((![M : nat]: ((ord_less_eq_nat @ (semiri1382578993at_nat @ M) @ zero_zero_nat) = (M = zero_zero_nat))))). % of_nat_le_0_iff
thf(fact_43_of__nat__le__0__iff, axiom,
    ((![M : nat]: ((ord_less_eq_int @ (semiri2019852685at_int @ M) @ zero_zero_int) = (M = zero_zero_nat))))). % of_nat_le_0_iff
thf(fact_44_com_Osize_I9_J, axiom,
    (((size_size_com @ skip) = zero_zero_nat))). % com.size(9)
thf(fact_45_com_Osize__gen_I1_J, axiom,
    (((size_com @ skip) = zero_zero_nat))). % com.size_gen(1)
thf(fact_46_int__ops_I1_J, axiom,
    (((semiri2019852685at_int @ zero_zero_nat) = zero_zero_int))). % int_ops(1)
thf(fact_47_typerep_Osize__neq, axiom,
    ((![X3 : typerep]: (~ (((size_size_typerep @ X3) = zero_zero_nat)))))). % typerep.size_neq
thf(fact_48_bot__nat__0_Oextremum, axiom,
    ((![A : nat]: (ord_less_eq_nat @ zero_zero_nat @ A)))). % bot_nat_0.extremum
thf(fact_49_le0, axiom,
    ((![N : nat]: (ord_less_eq_nat @ zero_zero_nat @ N)))). % le0
thf(fact_50_le__zero__eq, axiom,
    ((![N : nat]: ((ord_less_eq_nat @ N @ zero_zero_nat) = (N = zero_zero_nat))))). % le_zero_eq
thf(fact_51_of__nat__le__iff, axiom,
    ((![M : nat, N : nat]: ((ord_less_eq_nat @ (semiri1382578993at_nat @ M) @ (semiri1382578993at_nat @ N)) = (ord_less_eq_nat @ M @ N))))). % of_nat_le_iff
thf(fact_52_of__nat__le__iff, axiom,
    ((![M : nat, N : nat]: ((ord_less_eq_int @ (semiri2019852685at_int @ M) @ (semiri2019852685at_int @ N)) = (ord_less_eq_nat @ M @ N))))). % of_nat_le_iff
thf(fact_53_of__nat__mono, axiom,
    ((![I : nat, J : nat]: ((ord_less_eq_nat @ I @ J) => (ord_less_eq_nat @ (semiri1382578993at_nat @ I) @ (semiri1382578993at_nat @ J)))))). % of_nat_mono
thf(fact_54_of__nat__mono, axiom,
    ((![I : nat, J : nat]: ((ord_less_eq_nat @ I @ J) => (ord_less_eq_int @ (semiri2019852685at_int @ I) @ (semiri2019852685at_int @ J)))))). % of_nat_mono
thf(fact_55_nat__int__comparison_I3_J, axiom,
    ((ord_less_eq_nat = (^[A2 : nat]: (^[B : nat]: (ord_less_eq_int @ (semiri2019852685at_int @ A2) @ (semiri2019852685at_int @ B))))))). % nat_int_comparison(3)
thf(fact_56_nat__int__comparison_I1_J, axiom,
    (((^[Y4 : nat]: (^[Z : nat]: (Y4 = Z))) = (^[A2 : nat]: (^[B : nat]: ((semiri2019852685at_int @ A2) = (semiri2019852685at_int @ B))))))). % nat_int_comparison(1)
thf(fact_57_int__if, axiom,
    ((![P : $o, A : nat, B2 : nat]: ((P => ((semiri2019852685at_int @ (if_nat @ P @ A @ B2)) = (semiri2019852685at_int @ A))) & ((~ (P)) => ((semiri2019852685at_int @ (if_nat @ P @ A @ B2)) = (semiri2019852685at_int @ B2))))))). % int_if
thf(fact_58_verit__la__disequality, axiom,
    ((![A : nat, B2 : nat]: ((A = B2) | ((~ ((ord_less_eq_nat @ A @ B2))) | (~ ((ord_less_eq_nat @ B2 @ A)))))))). % verit_la_disequality
thf(fact_59_verit__la__disequality, axiom,
    ((![A : int, B2 : int]: ((A = B2) | ((~ ((ord_less_eq_int @ A @ B2))) | (~ ((ord_less_eq_int @ B2 @ A)))))))). % verit_la_disequality
thf(fact_60_zero__integer_Orsp, axiom,
    ((zero_zero_int = zero_zero_int))). % zero_integer.rsp
thf(fact_61_zero__le, axiom,
    ((![X3 : nat]: (ord_less_eq_nat @ zero_zero_nat @ X3)))). % zero_le
thf(fact_62_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_63_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_64_le__0__eq, axiom,
    ((![N : nat]: ((ord_less_eq_nat @ N @ zero_zero_nat) = (N = zero_zero_nat))))). % le_0_eq
thf(fact_65_less__eq__nat_Osimps_I1_J, axiom,
    ((![N : nat]: (ord_less_eq_nat @ zero_zero_nat @ N)))). % less_eq_nat.simps(1)
thf(fact_66_evaln__nonstrict, axiom,
    ((![C : com, S : state, N : nat, T : state, M : nat]: ((evaln @ C @ S @ N @ T) => ((ord_less_eq_nat @ N @ M) => (evaln @ C @ S @ M @ T)))))). % evaln_nonstrict
thf(fact_67_evaln_OSkip, axiom,
    ((![S : state, N : nat]: (evaln @ skip @ S @ N @ S)))). % evaln.Skip
thf(fact_68_evaln__elim__cases_I1_J, axiom,
    ((![S : state, N : nat, T : state]: ((evaln @ skip @ S @ N @ T) => (T = S))))). % evaln_elim_cases(1)
thf(fact_69_evalc_OSkip, axiom,
    ((![S : state]: (evalc @ skip @ S @ S)))). % evalc.Skip
thf(fact_70_evalc__elim__cases_I1_J, axiom,
    ((![S : state, T : state]: ((evalc @ skip @ S @ T) => (T = S))))). % evalc_elim_cases(1)
thf(fact_71_com_Odistinct_I1_J, axiom,
    ((![X21 : vname, X222 : state > nat]: (~ ((skip = (ass @ X21 @ X222))))))). % com.distinct(1)
thf(fact_72_com_Odistinct_I3_J, axiom,
    ((![X31 : loc, X32 : state > nat, X33 : com]: (~ ((skip = (local @ X31 @ X32 @ X33))))))). % com.distinct(3)
thf(fact_73_of__nat__0__le__iff, axiom,
    ((![N : nat]: (ord_less_eq_nat @ zero_zero_nat @ (semiri1382578993at_nat @ N))))). % of_nat_0_le_iff
thf(fact_74_of__nat__0__le__iff, axiom,
    ((![N : nat]: (ord_less_eq_int @ zero_zero_int @ (semiri2019852685at_int @ N))))). % of_nat_0_le_iff
thf(fact_75_order__refl, axiom,
    ((![X3 : nat]: (ord_less_eq_nat @ X3 @ X3)))). % order_refl
thf(fact_76_order__refl, axiom,
    ((![X3 : int]: (ord_less_eq_int @ X3 @ X3)))). % order_refl
thf(fact_77_nonneg__int__cases, axiom,
    ((![K : int]: ((ord_less_eq_int @ zero_zero_int @ K) => (~ ((![N3 : nat]: (~ ((K = (semiri2019852685at_int @ N3))))))))))). % nonneg_int_cases
thf(fact_78_zero__le__imp__eq__int, axiom,
    ((![K : int]: ((ord_less_eq_int @ zero_zero_int @ K) => (?[N3 : nat]: (K = (semiri2019852685at_int @ N3))))))). % zero_le_imp_eq_int
thf(fact_79_le__numeral__extra_I3_J, axiom,
    ((ord_less_eq_nat @ zero_zero_nat @ zero_zero_nat))). % le_numeral_extra(3)
thf(fact_80_le__numeral__extra_I3_J, axiom,
    ((ord_less_eq_int @ zero_zero_int @ zero_zero_int))). % le_numeral_extra(3)
thf(fact_81_zle__int, axiom,
    ((![M : nat, N : nat]: ((ord_less_eq_int @ (semiri2019852685at_int @ M) @ (semiri2019852685at_int @ N)) = (ord_less_eq_nat @ M @ N))))). % zle_int
thf(fact_82_int__int__eq, axiom,
    ((![M : nat, N : nat]: (((semiri2019852685at_int @ M) = (semiri2019852685at_int @ N)) = (M = N))))). % int_int_eq
thf(fact_83_verit__la__generic, axiom,
    ((![A : int, X3 : int]: ((ord_less_eq_int @ A @ X3) | ((A = X3) | (ord_less_eq_int @ X3 @ A)))))). % verit_la_generic
thf(fact_84_le__refl, axiom,
    ((![N : nat]: (ord_less_eq_nat @ N @ N)))). % le_refl
thf(fact_85_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_86_eq__imp__le, axiom,
    ((![M : nat, N : nat]: ((M = N) => (ord_less_eq_nat @ M @ N))))). % eq_imp_le
thf(fact_87_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_88_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_89_Nat_Oex__has__greatest__nat, axiom,
    ((![P : nat > $o, K : nat, B2 : nat]: ((P @ K) => ((![Y5 : nat]: ((P @ Y5) => (ord_less_eq_nat @ Y5 @ B2))) => (?[X : nat]: ((P @ X) & (![Y6 : nat]: ((P @ Y6) => (ord_less_eq_nat @ Y6 @ X)))))))))). % Nat.ex_has_greatest_nat
thf(fact_90_order__subst1, axiom,
    ((![A : nat, F : nat > nat, B2 : nat, C : nat]: ((ord_less_eq_nat @ A @ (F @ B2)) => ((ord_less_eq_nat @ B2 @ C) => ((![X : nat, Y5 : nat]: ((ord_less_eq_nat @ X @ Y5) => (ord_less_eq_nat @ (F @ X) @ (F @ Y5)))) => (ord_less_eq_nat @ A @ (F @ C)))))))). % order_subst1
thf(fact_91_order__subst1, axiom,
    ((![A : nat, F : int > nat, B2 : int, C : int]: ((ord_less_eq_nat @ A @ (F @ B2)) => ((ord_less_eq_int @ B2 @ C) => ((![X : int, Y5 : int]: ((ord_less_eq_int @ X @ Y5) => (ord_less_eq_nat @ (F @ X) @ (F @ Y5)))) => (ord_less_eq_nat @ A @ (F @ C)))))))). % order_subst1
thf(fact_92_order__subst1, axiom,
    ((![A : int, F : nat > int, B2 : nat, C : nat]: ((ord_less_eq_int @ A @ (F @ B2)) => ((ord_less_eq_nat @ B2 @ C) => ((![X : nat, Y5 : nat]: ((ord_less_eq_nat @ X @ Y5) => (ord_less_eq_int @ (F @ X) @ (F @ Y5)))) => (ord_less_eq_int @ A @ (F @ C)))))))). % order_subst1
thf(fact_93_order__subst1, axiom,
    ((![A : int, F : int > int, B2 : int, C : int]: ((ord_less_eq_int @ A @ (F @ B2)) => ((ord_less_eq_int @ B2 @ C) => ((![X : int, Y5 : int]: ((ord_less_eq_int @ X @ Y5) => (ord_less_eq_int @ (F @ X) @ (F @ Y5)))) => (ord_less_eq_int @ A @ (F @ C)))))))). % order_subst1
thf(fact_94_order__subst2, axiom,
    ((![A : nat, B2 : nat, F : nat > nat, C : nat]: ((ord_less_eq_nat @ A @ B2) => ((ord_less_eq_nat @ (F @ B2) @ C) => ((![X : nat, Y5 : nat]: ((ord_less_eq_nat @ X @ Y5) => (ord_less_eq_nat @ (F @ X) @ (F @ Y5)))) => (ord_less_eq_nat @ (F @ A) @ C))))))). % order_subst2
thf(fact_95_order__subst2, axiom,
    ((![A : nat, B2 : nat, F : nat > int, C : int]: ((ord_less_eq_nat @ A @ B2) => ((ord_less_eq_int @ (F @ B2) @ C) => ((![X : nat, Y5 : nat]: ((ord_less_eq_nat @ X @ Y5) => (ord_less_eq_int @ (F @ X) @ (F @ Y5)))) => (ord_less_eq_int @ (F @ A) @ C))))))). % order_subst2
thf(fact_96_order__subst2, axiom,
    ((![A : int, B2 : int, F : int > nat, C : nat]: ((ord_less_eq_int @ A @ B2) => ((ord_less_eq_nat @ (F @ B2) @ C) => ((![X : int, Y5 : int]: ((ord_less_eq_int @ X @ Y5) => (ord_less_eq_nat @ (F @ X) @ (F @ Y5)))) => (ord_less_eq_nat @ (F @ A) @ C))))))). % order_subst2
thf(fact_97_order__subst2, axiom,
    ((![A : int, B2 : int, F : int > int, C : int]: ((ord_less_eq_int @ A @ B2) => ((ord_less_eq_int @ (F @ B2) @ C) => ((![X : int, Y5 : int]: ((ord_less_eq_int @ X @ Y5) => (ord_less_eq_int @ (F @ X) @ (F @ Y5)))) => (ord_less_eq_int @ (F @ A) @ C))))))). % order_subst2
thf(fact_98_ord__eq__le__subst, axiom,
    ((![A : nat, F : nat > nat, B2 : nat, C : nat]: ((A = (F @ B2)) => ((ord_less_eq_nat @ B2 @ C) => ((![X : nat, Y5 : nat]: ((ord_less_eq_nat @ X @ Y5) => (ord_less_eq_nat @ (F @ X) @ (F @ Y5)))) => (ord_less_eq_nat @ A @ (F @ C)))))))). % ord_eq_le_subst
thf(fact_99_ord__eq__le__subst, axiom,
    ((![A : int, F : nat > int, B2 : nat, C : nat]: ((A = (F @ B2)) => ((ord_less_eq_nat @ B2 @ C) => ((![X : nat, Y5 : nat]: ((ord_less_eq_nat @ X @ Y5) => (ord_less_eq_int @ (F @ X) @ (F @ Y5)))) => (ord_less_eq_int @ A @ (F @ C)))))))). % ord_eq_le_subst
thf(fact_100_ord__eq__le__subst, axiom,
    ((![A : nat, F : int > nat, B2 : int, C : int]: ((A = (F @ B2)) => ((ord_less_eq_int @ B2 @ C) => ((![X : int, Y5 : int]: ((ord_less_eq_int @ X @ Y5) => (ord_less_eq_nat @ (F @ X) @ (F @ Y5)))) => (ord_less_eq_nat @ A @ (F @ C)))))))). % ord_eq_le_subst
thf(fact_101_ord__eq__le__subst, axiom,
    ((![A : int, F : int > int, B2 : int, C : int]: ((A = (F @ B2)) => ((ord_less_eq_int @ B2 @ C) => ((![X : int, Y5 : int]: ((ord_less_eq_int @ X @ Y5) => (ord_less_eq_int @ (F @ X) @ (F @ Y5)))) => (ord_less_eq_int @ A @ (F @ C)))))))). % ord_eq_le_subst
thf(fact_102_ord__le__eq__subst, axiom,
    ((![A : nat, B2 : nat, F : nat > nat, C : nat]: ((ord_less_eq_nat @ A @ B2) => (((F @ B2) = C) => ((![X : nat, Y5 : nat]: ((ord_less_eq_nat @ X @ Y5) => (ord_less_eq_nat @ (F @ X) @ (F @ Y5)))) => (ord_less_eq_nat @ (F @ A) @ C))))))). % ord_le_eq_subst
thf(fact_103_ord__le__eq__subst, axiom,
    ((![A : nat, B2 : nat, F : nat > int, C : int]: ((ord_less_eq_nat @ A @ B2) => (((F @ B2) = C) => ((![X : nat, Y5 : nat]: ((ord_less_eq_nat @ X @ Y5) => (ord_less_eq_int @ (F @ X) @ (F @ Y5)))) => (ord_less_eq_int @ (F @ A) @ C))))))). % ord_le_eq_subst
thf(fact_104_ord__le__eq__subst, axiom,
    ((![A : int, B2 : int, F : int > nat, C : nat]: ((ord_less_eq_int @ A @ B2) => (((F @ B2) = C) => ((![X : int, Y5 : int]: ((ord_less_eq_int @ X @ Y5) => (ord_less_eq_nat @ (F @ X) @ (F @ Y5)))) => (ord_less_eq_nat @ (F @ A) @ C))))))). % ord_le_eq_subst
thf(fact_105_ord__le__eq__subst, axiom,
    ((![A : int, B2 : int, F : int > int, C : int]: ((ord_less_eq_int @ A @ B2) => (((F @ B2) = C) => ((![X : int, Y5 : int]: ((ord_less_eq_int @ X @ Y5) => (ord_less_eq_int @ (F @ X) @ (F @ Y5)))) => (ord_less_eq_int @ (F @ A) @ C))))))). % ord_le_eq_subst
thf(fact_106_eq__iff, axiom,
    (((^[Y4 : nat]: (^[Z : nat]: (Y4 = Z))) = (^[X5 : nat]: (^[Y7 : nat]: (((ord_less_eq_nat @ X5 @ Y7)) & ((ord_less_eq_nat @ Y7 @ X5)))))))). % eq_iff
thf(fact_107_eq__iff, axiom,
    (((^[Y4 : int]: (^[Z : int]: (Y4 = Z))) = (^[X5 : int]: (^[Y7 : int]: (((ord_less_eq_int @ X5 @ Y7)) & ((ord_less_eq_int @ Y7 @ X5)))))))). % eq_iff
thf(fact_108_antisym, axiom,
    ((![X3 : nat, Y3 : nat]: ((ord_less_eq_nat @ X3 @ Y3) => ((ord_less_eq_nat @ Y3 @ X3) => (X3 = Y3)))))). % antisym
thf(fact_109_antisym, axiom,
    ((![X3 : int, Y3 : int]: ((ord_less_eq_int @ X3 @ Y3) => ((ord_less_eq_int @ Y3 @ X3) => (X3 = Y3)))))). % antisym
thf(fact_110_linear, axiom,
    ((![X3 : nat, Y3 : nat]: ((ord_less_eq_nat @ X3 @ Y3) | (ord_less_eq_nat @ Y3 @ X3))))). % linear
thf(fact_111_linear, axiom,
    ((![X3 : int, Y3 : int]: ((ord_less_eq_int @ X3 @ Y3) | (ord_less_eq_int @ Y3 @ X3))))). % linear
thf(fact_112_eq__refl, axiom,
    ((![X3 : nat, Y3 : nat]: ((X3 = Y3) => (ord_less_eq_nat @ X3 @ Y3))))). % eq_refl
thf(fact_113_eq__refl, axiom,
    ((![X3 : int, Y3 : int]: ((X3 = Y3) => (ord_less_eq_int @ X3 @ Y3))))). % eq_refl
thf(fact_114_le__cases, axiom,
    ((![X3 : nat, Y3 : nat]: ((~ ((ord_less_eq_nat @ X3 @ Y3))) => (ord_less_eq_nat @ Y3 @ X3))))). % le_cases
thf(fact_115_le__cases, axiom,
    ((![X3 : int, Y3 : int]: ((~ ((ord_less_eq_int @ X3 @ Y3))) => (ord_less_eq_int @ Y3 @ X3))))). % le_cases
thf(fact_116_order_Otrans, axiom,
    ((![A : nat, B2 : nat, C : nat]: ((ord_less_eq_nat @ A @ B2) => ((ord_less_eq_nat @ B2 @ C) => (ord_less_eq_nat @ A @ C)))))). % order.trans
thf(fact_117_order_Otrans, axiom,
    ((![A : int, B2 : int, C : int]: ((ord_less_eq_int @ A @ B2) => ((ord_less_eq_int @ B2 @ C) => (ord_less_eq_int @ A @ C)))))). % order.trans
thf(fact_118_le__cases3, axiom,
    ((![X3 : nat, Y3 : nat, Z2 : nat]: (((ord_less_eq_nat @ X3 @ Y3) => (~ ((ord_less_eq_nat @ Y3 @ Z2)))) => (((ord_less_eq_nat @ Y3 @ X3) => (~ ((ord_less_eq_nat @ X3 @ Z2)))) => (((ord_less_eq_nat @ X3 @ Z2) => (~ ((ord_less_eq_nat @ Z2 @ Y3)))) => (((ord_less_eq_nat @ Z2 @ Y3) => (~ ((ord_less_eq_nat @ Y3 @ X3)))) => (((ord_less_eq_nat @ Y3 @ Z2) => (~ ((ord_less_eq_nat @ Z2 @ X3)))) => (~ (((ord_less_eq_nat @ Z2 @ X3) => (~ ((ord_less_eq_nat @ X3 @ Y3)))))))))))))). % le_cases3
thf(fact_119_le__cases3, axiom,
    ((![X3 : int, Y3 : int, Z2 : int]: (((ord_less_eq_int @ X3 @ Y3) => (~ ((ord_less_eq_int @ Y3 @ Z2)))) => (((ord_less_eq_int @ Y3 @ X3) => (~ ((ord_less_eq_int @ X3 @ Z2)))) => (((ord_less_eq_int @ X3 @ Z2) => (~ ((ord_less_eq_int @ Z2 @ Y3)))) => (((ord_less_eq_int @ Z2 @ Y3) => (~ ((ord_less_eq_int @ Y3 @ X3)))) => (((ord_less_eq_int @ Y3 @ Z2) => (~ ((ord_less_eq_int @ Z2 @ X3)))) => (~ (((ord_less_eq_int @ Z2 @ X3) => (~ ((ord_less_eq_int @ X3 @ Y3)))))))))))))). % le_cases3
thf(fact_120_antisym__conv, axiom,
    ((![Y3 : nat, X3 : nat]: ((ord_less_eq_nat @ Y3 @ X3) => ((ord_less_eq_nat @ X3 @ Y3) = (X3 = Y3)))))). % antisym_conv
thf(fact_121_antisym__conv, axiom,
    ((![Y3 : int, X3 : int]: ((ord_less_eq_int @ Y3 @ X3) => ((ord_less_eq_int @ X3 @ Y3) = (X3 = Y3)))))). % antisym_conv
thf(fact_122_order__class_Oorder_Oeq__iff, axiom,
    (((^[Y4 : nat]: (^[Z : nat]: (Y4 = Z))) = (^[A2 : nat]: (^[B : nat]: (((ord_less_eq_nat @ A2 @ B)) & ((ord_less_eq_nat @ B @ A2)))))))). % order_class.order.eq_iff
thf(fact_123_order__class_Oorder_Oeq__iff, axiom,
    (((^[Y4 : int]: (^[Z : int]: (Y4 = Z))) = (^[A2 : int]: (^[B : int]: (((ord_less_eq_int @ A2 @ B)) & ((ord_less_eq_int @ B @ A2)))))))). % order_class.order.eq_iff
thf(fact_124_ord__eq__le__trans, axiom,
    ((![A : nat, B2 : nat, C : nat]: ((A = B2) => ((ord_less_eq_nat @ B2 @ C) => (ord_less_eq_nat @ A @ C)))))). % ord_eq_le_trans
thf(fact_125_ord__eq__le__trans, axiom,
    ((![A : int, B2 : int, C : int]: ((A = B2) => ((ord_less_eq_int @ B2 @ C) => (ord_less_eq_int @ A @ C)))))). % ord_eq_le_trans
thf(fact_126_ord__le__eq__trans, axiom,
    ((![A : nat, B2 : nat, C : nat]: ((ord_less_eq_nat @ A @ B2) => ((B2 = C) => (ord_less_eq_nat @ A @ C)))))). % ord_le_eq_trans
thf(fact_127_ord__le__eq__trans, axiom,
    ((![A : int, B2 : int, C : int]: ((ord_less_eq_int @ A @ B2) => ((B2 = C) => (ord_less_eq_int @ A @ C)))))). % ord_le_eq_trans
thf(fact_128_order__class_Oorder_Oantisym, axiom,
    ((![A : nat, B2 : nat]: ((ord_less_eq_nat @ A @ B2) => ((ord_less_eq_nat @ B2 @ A) => (A = B2)))))). % order_class.order.antisym
thf(fact_129_order__class_Oorder_Oantisym, axiom,
    ((![A : int, B2 : int]: ((ord_less_eq_int @ A @ B2) => ((ord_less_eq_int @ B2 @ A) => (A = B2)))))). % order_class.order.antisym
thf(fact_130_order__trans, axiom,
    ((![X3 : nat, Y3 : nat, Z2 : nat]: ((ord_less_eq_nat @ X3 @ Y3) => ((ord_less_eq_nat @ Y3 @ Z2) => (ord_less_eq_nat @ X3 @ Z2)))))). % order_trans
thf(fact_131_order__trans, axiom,
    ((![X3 : int, Y3 : int, Z2 : int]: ((ord_less_eq_int @ X3 @ Y3) => ((ord_less_eq_int @ Y3 @ Z2) => (ord_less_eq_int @ X3 @ Z2)))))). % order_trans
thf(fact_132_dual__order_Orefl, axiom,
    ((![A : nat]: (ord_less_eq_nat @ A @ A)))). % dual_order.refl
thf(fact_133_dual__order_Orefl, axiom,
    ((![A : int]: (ord_less_eq_int @ A @ A)))). % dual_order.refl
thf(fact_134_linorder__wlog, axiom,
    ((![P : nat > nat > $o, A : nat, B2 : nat]: ((![A3 : nat, B3 : nat]: ((ord_less_eq_nat @ A3 @ B3) => (P @ A3 @ B3))) => ((![A3 : nat, B3 : nat]: ((P @ B3 @ A3) => (P @ A3 @ B3))) => (P @ A @ B2)))))). % linorder_wlog
thf(fact_135_linorder__wlog, axiom,
    ((![P : int > int > $o, A : int, B2 : int]: ((![A3 : int, B3 : int]: ((ord_less_eq_int @ A3 @ B3) => (P @ A3 @ B3))) => ((![A3 : int, B3 : int]: ((P @ B3 @ A3) => (P @ A3 @ B3))) => (P @ A @ B2)))))). % linorder_wlog
thf(fact_136_dual__order_Otrans, axiom,
    ((![B2 : nat, A : nat, C : nat]: ((ord_less_eq_nat @ B2 @ A) => ((ord_less_eq_nat @ C @ B2) => (ord_less_eq_nat @ C @ A)))))). % dual_order.trans
thf(fact_137_dual__order_Otrans, axiom,
    ((![B2 : int, A : int, C : int]: ((ord_less_eq_int @ B2 @ A) => ((ord_less_eq_int @ C @ B2) => (ord_less_eq_int @ C @ A)))))). % dual_order.trans
thf(fact_138_dual__order_Oeq__iff, axiom,
    (((^[Y4 : nat]: (^[Z : nat]: (Y4 = Z))) = (^[A2 : nat]: (^[B : nat]: (((ord_less_eq_nat @ B @ A2)) & ((ord_less_eq_nat @ A2 @ B)))))))). % dual_order.eq_iff
thf(fact_139_dual__order_Oeq__iff, axiom,
    (((^[Y4 : int]: (^[Z : int]: (Y4 = Z))) = (^[A2 : int]: (^[B : int]: (((ord_less_eq_int @ B @ A2)) & ((ord_less_eq_int @ A2 @ B)))))))). % dual_order.eq_iff
thf(fact_140_dual__order_Oantisym, axiom,
    ((![B2 : nat, A : nat]: ((ord_less_eq_nat @ B2 @ A) => ((ord_less_eq_nat @ A @ B2) => (A = B2)))))). % dual_order.antisym
thf(fact_141_dual__order_Oantisym, axiom,
    ((![B2 : int, A : int]: ((ord_less_eq_int @ B2 @ A) => ((ord_less_eq_int @ A @ B2) => (A = B2)))))). % dual_order.antisym
thf(fact_142_less__eq__int__code_I1_J, axiom,
    ((ord_less_eq_int @ zero_zero_int @ zero_zero_int))). % less_eq_int_code(1)
thf(fact_143_imp__le__cong, axiom,
    ((![X3 : int, X6 : int, P : $o, P2 : $o]: ((X3 = X6) => (((ord_less_eq_int @ zero_zero_int @ X6) => (P = P2)) => ((((ord_less_eq_int @ zero_zero_int @ X3)) => (P)) = (((ord_less_eq_int @ zero_zero_int @ X6)) => (P2)))))))). % imp_le_cong
thf(fact_144_conj__le__cong, axiom,
    ((![X3 : int, X6 : int, P : $o, P2 : $o]: ((X3 = X6) => (((ord_less_eq_int @ zero_zero_int @ X6) => (P = P2)) => ((((ord_less_eq_int @ zero_zero_int @ X3)) & (P)) = (((ord_less_eq_int @ zero_zero_int @ X6)) & (P2)))))))). % conj_le_cong
thf(fact_145_of__int__0__le__iff, axiom,
    ((![Z2 : int]: ((ord_less_eq_int @ zero_zero_int @ (ring_1_of_int_int @ Z2)) = (ord_less_eq_int @ zero_zero_int @ Z2))))). % of_int_0_le_iff
thf(fact_146_of__int__le__0__iff, axiom,
    ((![Z2 : int]: ((ord_less_eq_int @ (ring_1_of_int_int @ Z2) @ zero_zero_int) = (ord_less_eq_int @ Z2 @ zero_zero_int))))). % of_int_le_0_iff
thf(fact_147_of__int__0, axiom,
    (((ring_1_of_int_int @ zero_zero_int) = zero_zero_int))). % of_int_0
thf(fact_148_of__int__0__eq__iff, axiom,
    ((![Z2 : int]: ((zero_zero_int = (ring_1_of_int_int @ Z2)) = (Z2 = zero_zero_int))))). % of_int_0_eq_iff
thf(fact_149_of__int__eq__0__iff, axiom,
    ((![Z2 : int]: (((ring_1_of_int_int @ Z2) = zero_zero_int) = (Z2 = zero_zero_int))))). % of_int_eq_0_iff
thf(fact_150_of__int__le__iff, axiom,
    ((![W : int, Z2 : int]: ((ord_less_eq_int @ (ring_1_of_int_int @ W) @ (ring_1_of_int_int @ Z2)) = (ord_less_eq_int @ W @ Z2))))). % of_int_le_iff
thf(fact_151_of__int__of__nat__eq, axiom,
    ((![N : nat]: ((ring_1_of_int_int @ (semiri2019852685at_int @ N)) = (semiri2019852685at_int @ N))))). % of_int_of_nat_eq
thf(fact_152_of__int__nonneg, axiom,
    ((![Z2 : int]: ((ord_less_eq_int @ zero_zero_int @ Z2) => (ord_less_eq_int @ zero_zero_int @ (ring_1_of_int_int @ Z2)))))). % of_int_nonneg
thf(fact_153_of__nat__nat, axiom,
    ((![Z2 : int]: ((ord_less_eq_int @ zero_zero_int @ Z2) => ((semiri2019852685at_int @ (nat2 @ Z2)) = (ring_1_of_int_int @ Z2)))))). % of_nat_nat
thf(fact_154_le__nat__iff, axiom,
    ((![K : int, N : nat]: ((ord_less_eq_int @ zero_zero_int @ K) => ((ord_less_eq_nat @ N @ (nat2 @ K)) = (ord_less_eq_int @ (semiri2019852685at_int @ N) @ K)))))). % le_nat_iff
thf(fact_155_nat__int, axiom,
    ((![N : nat]: ((nat2 @ (semiri2019852685at_int @ N)) = N)))). % nat_int
thf(fact_156_nat__le__0, axiom,
    ((![Z2 : int]: ((ord_less_eq_int @ Z2 @ zero_zero_int) => ((nat2 @ Z2) = zero_zero_nat))))). % nat_le_0
thf(fact_157_nat__0__iff, axiom,
    ((![I : int]: (((nat2 @ I) = zero_zero_nat) = (ord_less_eq_int @ I @ zero_zero_int))))). % nat_0_iff
thf(fact_158_int__nat__eq, axiom,
    ((![Z2 : int]: (((ord_less_eq_int @ zero_zero_int @ Z2) => ((semiri2019852685at_int @ (nat2 @ Z2)) = Z2)) & ((~ ((ord_less_eq_int @ zero_zero_int @ Z2))) => ((semiri2019852685at_int @ (nat2 @ Z2)) = zero_zero_int)))))). % int_nat_eq
thf(fact_159_nat__zero__as__int, axiom,
    ((zero_zero_nat = (nat2 @ zero_zero_int)))). % nat_zero_as_int
thf(fact_160_nat__mono, axiom,
    ((![X3 : int, Y3 : int]: ((ord_less_eq_int @ X3 @ Y3) => (ord_less_eq_nat @ (nat2 @ X3) @ (nat2 @ Y3)))))). % nat_mono
thf(fact_161_ex__nat, axiom,
    (((^[P3 : nat > $o]: (?[X7 : nat]: (P3 @ X7))) = (^[P4 : nat > $o]: (?[X5 : int]: (((ord_less_eq_int @ zero_zero_int @ X5)) & ((P4 @ (nat2 @ X5))))))))). % ex_nat
thf(fact_162_all__nat, axiom,
    (((^[P3 : nat > $o]: (![X7 : nat]: (P3 @ X7))) = (^[P4 : nat > $o]: (![X5 : int]: (((ord_less_eq_int @ zero_zero_int @ X5)) => ((P4 @ (nat2 @ X5))))))))). % all_nat
thf(fact_163_eq__nat__nat__iff, axiom,
    ((![Z2 : int, Z3 : int]: ((ord_less_eq_int @ zero_zero_int @ Z2) => ((ord_less_eq_int @ zero_zero_int @ Z3) => (((nat2 @ Z2) = (nat2 @ Z3)) = (Z2 = Z3))))))). % eq_nat_nat_iff
thf(fact_164_nat__le__iff, axiom,
    ((![X3 : int, N : nat]: ((ord_less_eq_nat @ (nat2 @ X3) @ N) = (ord_less_eq_int @ X3 @ (semiri2019852685at_int @ N)))))). % nat_le_iff
thf(fact_165_int__eq__iff, axiom,
    ((![M : nat, Z2 : int]: (((semiri2019852685at_int @ M) = Z2) = (((M = (nat2 @ Z2))) & ((ord_less_eq_int @ zero_zero_int @ Z2))))))). % int_eq_iff
thf(fact_166_nat__0__le, axiom,
    ((![Z2 : int]: ((ord_less_eq_int @ zero_zero_int @ Z2) => ((semiri2019852685at_int @ (nat2 @ Z2)) = Z2))))). % nat_0_le
thf(fact_167_nat__eq__iff2, axiom,
    ((![M : nat, W : int]: ((M = (nat2 @ W)) = (((((ord_less_eq_int @ zero_zero_int @ W)) => ((W = (semiri2019852685at_int @ M))))) & ((((~ ((ord_less_eq_int @ zero_zero_int @ W)))) => ((M = zero_zero_nat))))))))). % nat_eq_iff2
thf(fact_168_nat__eq__iff, axiom,
    ((![W : int, M : nat]: (((nat2 @ W) = M) = (((((ord_less_eq_int @ zero_zero_int @ W)) => ((W = (semiri2019852685at_int @ M))))) & ((((~ ((ord_less_eq_int @ zero_zero_int @ W)))) => ((M = zero_zero_nat))))))))). % nat_eq_iff
thf(fact_169_nat__le__eq__zle, axiom,
    ((![W : int, Z2 : int]: (((ord_less_int @ zero_zero_int @ W) | (ord_less_eq_int @ zero_zero_int @ Z2)) => ((ord_less_eq_nat @ (nat2 @ W) @ (nat2 @ Z2)) = (ord_less_eq_int @ W @ Z2)))))). % nat_le_eq_zle
thf(fact_170_split__nat, axiom,
    ((![P : nat > $o, I : int]: ((P @ (nat2 @ I)) = (((![N2 : nat]: (((I = (semiri2019852685at_int @ N2))) => ((P @ N2))))) & ((((ord_less_int @ I @ zero_zero_int)) => ((P @ zero_zero_nat))))))))). % split_nat
thf(fact_171_not__gr__zero, axiom,
    ((![N : nat]: ((~ ((ord_less_nat @ zero_zero_nat @ N))) = (N = zero_zero_nat))))). % not_gr_zero
thf(fact_172_of__nat__less__iff, axiom,
    ((![M : nat, N : nat]: ((ord_less_int @ (semiri2019852685at_int @ M) @ (semiri2019852685at_int @ N)) = (ord_less_nat @ M @ N))))). % of_nat_less_iff
thf(fact_173_of__int__less__iff, axiom,
    ((![W : int, Z2 : int]: ((ord_less_int @ (ring_1_of_int_int @ W) @ (ring_1_of_int_int @ Z2)) = (ord_less_int @ W @ Z2))))). % of_int_less_iff
thf(fact_174_of__nat__0__less__iff, axiom,
    ((![N : nat]: ((ord_less_nat @ zero_zero_nat @ (semiri1382578993at_nat @ N)) = (ord_less_nat @ zero_zero_nat @ N))))). % of_nat_0_less_iff
thf(fact_175_of__nat__0__less__iff, axiom,
    ((![N : nat]: ((ord_less_int @ zero_zero_int @ (semiri2019852685at_int @ N)) = (ord_less_nat @ zero_zero_nat @ N))))). % of_nat_0_less_iff
thf(fact_176_of__int__0__less__iff, axiom,
    ((![Z2 : int]: ((ord_less_int @ zero_zero_int @ (ring_1_of_int_int @ Z2)) = (ord_less_int @ zero_zero_int @ Z2))))). % of_int_0_less_iff
thf(fact_177_of__int__less__0__iff, axiom,
    ((![Z2 : int]: ((ord_less_int @ (ring_1_of_int_int @ Z2) @ zero_zero_int) = (ord_less_int @ Z2 @ zero_zero_int))))). % of_int_less_0_iff
thf(fact_178_less__numeral__extra_I3_J, axiom,
    ((~ ((ord_less_nat @ zero_zero_nat @ zero_zero_nat))))). % less_numeral_extra(3)
thf(fact_179_less__numeral__extra_I3_J, axiom,
    ((~ ((ord_less_int @ zero_zero_int @ zero_zero_int))))). % less_numeral_extra(3)

% Helper facts (3)
thf(help_If_3_1_If_001t__Nat__Onat_T, axiom,
    ((![P : $o]: ((P = $true) | (P = $false))))).
thf(help_If_2_1_If_001t__Nat__Onat_T, axiom,
    ((![X3 : nat, Y3 : nat]: ((if_nat @ $false @ X3 @ Y3) = Y3)))).
thf(help_If_1_1_If_001t__Nat__Onat_T, axiom,
    ((![X3 : nat, Y3 : nat]: ((if_nat @ $true @ X3 @ Y3) = X3)))).

% Conjectures (2)
thf(conj_0, hypothesis,
    ((![K2 : nat, Z4 : a, S4 : state]: ((q @ Z4 @ S4) => (q @ Z4 @ (update @ S4 @ (loc2 @ y) @ K2)))))).
thf(conj_1, conjecture,
    ((![Z5 : a, S2 : state]: ((~ ((q @ Z5 @ S2))) | (q @ Z5 @ (update @ S2 @ (loc2 @ y) @ (getlocs @ s @ y))))))).
