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

% Could-be-implicit typings (4)
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__Ocom, type,
    com : $tType).

% Explicit typings (29)
thf(sy_c_Com_Ocom_OCond, type,
    cond : (state > $o) > com > com > com).
thf(sy_c_Com_Ocom_OSKIP, type,
    skip : com).
thf(sy_c_Com_Ocom_OSemi, type,
    semi : com > com > com).
thf(sy_c_Com_Ocom_OWhile, type,
    while : (state > $o) > com > com).
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_Natural_Oevalc, type,
    evalc : com > state > state > $o).
thf(sy_c_Natural_Oevaln, type,
    evaln : com > state > nat > state > $o).
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_001_062_I_Eo_Mt__Int__Oint_J, type,
    ord_less_eq_o_int : ($o > int) > ($o > int) > $o).
thf(sy_c_Orderings_Oord__class_Oless__eq_001_062_I_Eo_Mt__Nat__Onat_J, type,
    ord_less_eq_o_nat : ($o > nat) > ($o > 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_c_Orderings_Oorder__class_OGreatest_001t__Int__Oint, type,
    order_Greatest_int : (int > $o) > int).
thf(sy_c_Orderings_Oorder__class_OGreatest_001t__Nat__Onat, type,
    order_Greatest_nat : (nat > $o) > nat).
thf(sy_c_Orderings_Oorder__class_Oantimono_001t__Int__Oint_001t__Int__Oint, type,
    order_34266508nt_int : (int > int) > $o).
thf(sy_c_Orderings_Oorder__class_Oantimono_001t__Int__Oint_001t__Nat__Onat, type,
    order_1544476464nt_nat : (int > nat) > $o).
thf(sy_c_Orderings_Oorder__class_Oantimono_001t__Nat__Onat_001t__Int__Oint, type,
    order_120997680at_int : (nat > int) > $o).
thf(sy_c_Orderings_Oorder__class_Oantimono_001t__Nat__Onat_001t__Nat__Onat, type,
    order_1631207636at_nat : (nat > nat) > $o).
thf(sy_v_Z, type,
    z : state).
thf(sy_v_c, type,
    c : com).
thf(sy_v_s_H, type,
    s : state).

% Relevant facts (187)
thf(fact_0_single__stateE, axiom,
    ((hoare_405891322gleton => (![T : state]: (~ ((![S : state]: (S = T)))))))). % single_stateE
thf(fact_1_state__not__singleton__def, axiom,
    ((hoare_405891322gleton = (?[S2 : state]: (?[T2 : state]: (~ ((S2 = T2)))))))). % state_not_singleton_def
thf(fact_2_com__det, axiom,
    ((![C : com, S3 : state, T3 : state, U : state]: ((evalc @ C @ S3 @ T3) => ((evalc @ C @ S3 @ U) => (U = T3)))))). % com_det
thf(fact_3_evalc__elim__cases_I1_J, axiom,
    ((![S3 : state, T3 : state]: ((evalc @ skip @ S3 @ T3) => (T3 = S3))))). % evalc_elim_cases(1)
thf(fact_4_evalc_OSkip, axiom,
    ((![S3 : state]: (evalc @ skip @ S3 @ S3)))). % evalc.Skip
thf(fact_5_evalc__elim__cases_I4_J, axiom,
    ((![C1 : com, C2 : com, S3 : state, T3 : state]: ((evalc @ (semi @ C1 @ C2) @ S3 @ T3) => (~ ((![S1 : state]: ((evalc @ C1 @ S3 @ S1) => (~ ((evalc @ C2 @ S1 @ T3))))))))))). % evalc_elim_cases(4)
thf(fact_6_evalc_OSemi, axiom,
    ((![C0 : com, S0 : state, S12 : state, C1 : com, S22 : state]: ((evalc @ C0 @ S0 @ S12) => ((evalc @ C1 @ S12 @ S22) => (evalc @ (semi @ C0 @ C1) @ S0 @ S22)))))). % evalc.Semi
thf(fact_7_evalc__elim__cases_I5_J, axiom,
    ((![B : state > $o, C1 : com, C2 : com, S3 : state, T3 : state]: ((evalc @ (cond @ B @ C1 @ C2) @ S3 @ T3) => (((B @ S3) => (~ ((evalc @ C1 @ S3 @ T3)))) => (~ (((~ ((B @ S3))) => (~ ((evalc @ C2 @ S3 @ T3))))))))))). % evalc_elim_cases(5)
thf(fact_8_evalc_OIfTrue, axiom,
    ((![B : state > $o, S3 : state, C0 : com, S12 : state, C1 : com]: ((B @ S3) => ((evalc @ C0 @ S3 @ S12) => (evalc @ (cond @ B @ C0 @ C1) @ S3 @ S12)))))). % evalc.IfTrue
thf(fact_9_evalc_OIfFalse, axiom,
    ((![B : state > $o, S3 : state, C1 : com, S12 : state, C0 : com]: ((~ ((B @ S3))) => ((evalc @ C1 @ S3 @ S12) => (evalc @ (cond @ B @ C0 @ C1) @ S3 @ S12)))))). % evalc.IfFalse
thf(fact_10_evalc_OWhileTrue, axiom,
    ((![B : state > $o, S0 : state, C : com, S12 : state, S22 : state]: ((B @ S0) => ((evalc @ C @ S0 @ S12) => ((evalc @ (while @ B @ C) @ S12 @ S22) => (evalc @ (while @ B @ C) @ S0 @ S22))))))). % evalc.WhileTrue
thf(fact_11_evalc_OWhileFalse, axiom,
    ((![B : state > $o, S3 : state, C : com]: ((~ ((B @ S3))) => (evalc @ (while @ B @ C) @ S3 @ S3))))). % evalc.WhileFalse
thf(fact_12_evalc__WHILE__case, axiom,
    ((![B : state > $o, C : com, S3 : state, T3 : state]: ((evalc @ (while @ B @ C) @ S3 @ T3) => (((T3 = S3) => (B @ S3)) => (~ (((B @ S3) => (![S1 : state]: ((evalc @ C @ S3 @ S1) => (~ ((evalc @ (while @ B @ C) @ S1 @ T3))))))))))))). % evalc_WHILE_case
thf(fact_13_eval__eq, axiom,
    ((evalc = (^[C3 : com]: (^[S2 : state]: (^[T2 : state]: (?[N : nat]: (evaln @ C3 @ S2 @ N @ T2)))))))). % eval_eq
thf(fact_14_evaln__elim__cases_I5_J, axiom,
    ((![B : state > $o, C1 : com, C2 : com, S3 : state, N2 : nat, T3 : state]: ((evaln @ (cond @ B @ C1 @ C2) @ S3 @ N2 @ T3) => (((B @ S3) => (~ ((evaln @ C1 @ S3 @ N2 @ T3)))) => (~ (((~ ((B @ S3))) => (~ ((evaln @ C2 @ S3 @ N2 @ T3))))))))))). % evaln_elim_cases(5)
thf(fact_15_evaln__elim__cases_I4_J, axiom,
    ((![C1 : com, C2 : com, S3 : state, N2 : nat, T3 : state]: ((evaln @ (semi @ C1 @ C2) @ S3 @ N2 @ T3) => (~ ((![S1 : state]: ((evaln @ C1 @ S3 @ N2 @ S1) => (~ ((evaln @ C2 @ S1 @ N2 @ T3))))))))))). % evaln_elim_cases(4)
thf(fact_16_evaln__elim__cases_I1_J, axiom,
    ((![S3 : state, N2 : nat, T3 : state]: ((evaln @ skip @ S3 @ N2 @ T3) => (T3 = S3))))). % evaln_elim_cases(1)
thf(fact_17_evaln_OSemi, axiom,
    ((![C0 : com, S0 : state, N2 : nat, S12 : state, C1 : com, S22 : state]: ((evaln @ C0 @ S0 @ N2 @ S12) => ((evaln @ C1 @ S12 @ N2 @ S22) => (evaln @ (semi @ C0 @ C1) @ S0 @ N2 @ S22)))))). % evaln.Semi
thf(fact_18_evaln_OSkip, axiom,
    ((![S3 : state, N2 : nat]: (evaln @ skip @ S3 @ N2 @ S3)))). % evaln.Skip
thf(fact_19_evaln__max2, axiom,
    ((![C1 : com, S12 : state, N1 : nat, T1 : state, C2 : com, S22 : state, N22 : nat, T22 : state]: ((evaln @ C1 @ S12 @ N1 @ T1) => ((evaln @ C2 @ S22 @ N22 @ T22) => (?[N3 : nat]: ((evaln @ C1 @ S12 @ N3 @ T1) & (evaln @ C2 @ S22 @ N3 @ T22)))))))). % evaln_max2
thf(fact_20_evaln_OIfTrue, axiom,
    ((![B : state > $o, S3 : state, C0 : com, N2 : nat, S12 : state, C1 : com]: ((B @ S3) => ((evaln @ C0 @ S3 @ N2 @ S12) => (evaln @ (cond @ B @ C0 @ C1) @ S3 @ N2 @ S12)))))). % evaln.IfTrue
thf(fact_21_evaln_OIfFalse, axiom,
    ((![B : state > $o, S3 : state, C1 : com, N2 : nat, S12 : state, C0 : com]: ((~ ((B @ S3))) => ((evaln @ C1 @ S3 @ N2 @ S12) => (evaln @ (cond @ B @ C0 @ C1) @ S3 @ N2 @ S12)))))). % evaln.IfFalse
thf(fact_22_evaln_OWhileTrue, axiom,
    ((![B : state > $o, S0 : state, C : com, N2 : nat, S12 : state, S22 : state]: ((B @ S0) => ((evaln @ C @ S0 @ N2 @ S12) => ((evaln @ (while @ B @ C) @ S12 @ N2 @ S22) => (evaln @ (while @ B @ C) @ S0 @ N2 @ S22))))))). % evaln.WhileTrue
thf(fact_23_evaln_OWhileFalse, axiom,
    ((![B : state > $o, S3 : state, C : com, N2 : nat]: ((~ ((B @ S3))) => (evaln @ (while @ B @ C) @ S3 @ N2 @ S3))))). % evaln.WhileFalse
thf(fact_24_evaln__WHILE__case, axiom,
    ((![B : state > $o, C : com, S3 : state, N2 : nat, T3 : state]: ((evaln @ (while @ B @ C) @ S3 @ N2 @ T3) => (((T3 = S3) => (B @ S3)) => (~ (((B @ S3) => (![S1 : state]: ((evaln @ C @ S3 @ N2 @ S1) => (~ ((evaln @ (while @ B @ C) @ S1 @ N2 @ T3))))))))))))). % evaln_WHILE_case
thf(fact_25_evaln__evalc, axiom,
    ((![C : com, S3 : state, N2 : nat, T3 : state]: ((evaln @ C @ S3 @ N2 @ T3) => (evalc @ C @ S3 @ T3))))). % evaln_evalc
thf(fact_26_evalc__evaln, axiom,
    ((![C : com, S3 : state, T3 : state]: ((evalc @ C @ S3 @ T3) => (?[N3 : nat]: (evaln @ C @ S3 @ N3 @ T3)))))). % evalc_evaln
thf(fact_27_com_Oinject_I3_J, axiom,
    ((![X41 : com, X42 : com, Y41 : com, Y42 : com]: (((semi @ X41 @ X42) = (semi @ Y41 @ Y42)) = (((X41 = Y41)) & ((X42 = Y42))))))). % com.inject(3)
thf(fact_28_com_Oinject_I4_J, axiom,
    ((![X51 : state > $o, X52 : com, X53 : com, Y51 : state > $o, Y52 : com, Y53 : com]: (((cond @ X51 @ X52 @ X53) = (cond @ Y51 @ Y52 @ Y53)) = (((X51 = Y51)) & ((((X52 = Y52)) & ((X53 = Y53))))))))). % com.inject(4)
thf(fact_29_com_Oinject_I5_J, axiom,
    ((![X61 : state > $o, X62 : com, Y61 : state > $o, Y62 : com]: (((while @ X61 @ X62) = (while @ Y61 @ Y62)) = (((X61 = Y61)) & ((X62 = Y62))))))). % com.inject(5)
thf(fact_30_com_Odistinct_I5_J, axiom,
    ((![X41 : com, X42 : com]: (~ ((skip = (semi @ X41 @ X42))))))). % com.distinct(5)
thf(fact_31_com_Odistinct_I7_J, axiom,
    ((![X51 : state > $o, X52 : com, X53 : com]: (~ ((skip = (cond @ X51 @ X52 @ X53))))))). % com.distinct(7)
thf(fact_32_com_Odistinct_I37_J, axiom,
    ((![X41 : com, X42 : com, X51 : state > $o, X52 : com, X53 : com]: (~ (((semi @ X41 @ X42) = (cond @ X51 @ X52 @ X53))))))). % com.distinct(37)
thf(fact_33_com_Odistinct_I9_J, axiom,
    ((![X61 : state > $o, X62 : com]: (~ ((skip = (while @ X61 @ X62))))))). % com.distinct(9)
thf(fact_34_com_Odistinct_I39_J, axiom,
    ((![X41 : com, X42 : com, X61 : state > $o, X62 : com]: (~ (((semi @ X41 @ X42) = (while @ X61 @ X62))))))). % com.distinct(39)
thf(fact_35_com_Odistinct_I45_J, axiom,
    ((![X51 : state > $o, X52 : com, X53 : com, X61 : state > $o, X62 : com]: (~ (((cond @ X51 @ X52 @ X53) = (while @ X61 @ X62))))))). % com.distinct(45)
thf(fact_36_evaln__nonstrict, axiom,
    ((![C : com, S3 : state, N2 : nat, T3 : state, M : nat]: ((evaln @ C @ S3 @ N2 @ T3) => ((ord_less_eq_nat @ N2 @ M) => (evaln @ C @ S3 @ M @ T3)))))). % evaln_nonstrict
thf(fact_37_order__refl, axiom,
    ((![X : nat]: (ord_less_eq_nat @ X @ X)))). % order_refl
thf(fact_38_order__refl, axiom,
    ((![X : int]: (ord_less_eq_int @ X @ X)))). % order_refl
thf(fact_39_bounded__Max__nat, axiom,
    ((![P : nat > $o, X : nat, M2 : nat]: ((P @ X) => ((![X2 : nat]: ((P @ X2) => (ord_less_eq_nat @ X2 @ M2))) => (~ ((![M3 : nat]: ((P @ M3) => (~ ((![X3 : nat]: ((P @ X3) => (ord_less_eq_nat @ X3 @ M3)))))))))))))). % bounded_Max_nat
thf(fact_40_Nat_Oex__has__greatest__nat, axiom,
    ((![P : nat > $o, K : nat, B : nat]: ((P @ K) => ((![Y : nat]: ((P @ Y) => (ord_less_eq_nat @ Y @ B))) => (?[X2 : nat]: ((P @ X2) & (![Y2 : nat]: ((P @ Y2) => (ord_less_eq_nat @ Y2 @ X2)))))))))). % Nat.ex_has_greatest_nat
thf(fact_41_nat__le__linear, axiom,
    ((![M : nat, N2 : nat]: ((ord_less_eq_nat @ M @ N2) | (ord_less_eq_nat @ N2 @ M))))). % nat_le_linear
thf(fact_42_le__antisym, axiom,
    ((![M : nat, N2 : nat]: ((ord_less_eq_nat @ M @ N2) => ((ord_less_eq_nat @ N2 @ M) => (M = N2)))))). % le_antisym
thf(fact_43_eq__imp__le, axiom,
    ((![M : nat, N2 : nat]: ((M = N2) => (ord_less_eq_nat @ M @ N2))))). % eq_imp_le
thf(fact_44_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) => ((![X2 : nat, Y : nat]: ((ord_less_eq_nat @ X2 @ Y) => (ord_less_eq_nat @ (F @ X2) @ (F @ Y)))) => (ord_less_eq_nat @ A @ (F @ C)))))))). % order_subst1
thf(fact_45_order__subst1, axiom,
    ((![A : nat, F : int > nat, B : int, C : int]: ((ord_less_eq_nat @ A @ (F @ B)) => ((ord_less_eq_int @ B @ C) => ((![X2 : int, Y : int]: ((ord_less_eq_int @ X2 @ Y) => (ord_less_eq_nat @ (F @ X2) @ (F @ Y)))) => (ord_less_eq_nat @ A @ (F @ C)))))))). % order_subst1
thf(fact_46_order__subst1, axiom,
    ((![A : int, F : nat > int, B : nat, C : nat]: ((ord_less_eq_int @ A @ (F @ B)) => ((ord_less_eq_nat @ B @ C) => ((![X2 : nat, Y : nat]: ((ord_less_eq_nat @ X2 @ Y) => (ord_less_eq_int @ (F @ X2) @ (F @ Y)))) => (ord_less_eq_int @ A @ (F @ C)))))))). % order_subst1
thf(fact_47_order__subst1, axiom,
    ((![A : int, F : int > int, B : int, C : int]: ((ord_less_eq_int @ A @ (F @ B)) => ((ord_less_eq_int @ B @ C) => ((![X2 : int, Y : int]: ((ord_less_eq_int @ X2 @ Y) => (ord_less_eq_int @ (F @ X2) @ (F @ Y)))) => (ord_less_eq_int @ A @ (F @ C)))))))). % order_subst1
thf(fact_48_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) => ((![X2 : nat, Y : nat]: ((ord_less_eq_nat @ X2 @ Y) => (ord_less_eq_nat @ (F @ X2) @ (F @ Y)))) => (ord_less_eq_nat @ (F @ A) @ C))))))). % order_subst2
thf(fact_49_order__subst2, axiom,
    ((![A : nat, B : nat, F : nat > int, C : int]: ((ord_less_eq_nat @ A @ B) => ((ord_less_eq_int @ (F @ B) @ C) => ((![X2 : nat, Y : nat]: ((ord_less_eq_nat @ X2 @ Y) => (ord_less_eq_int @ (F @ X2) @ (F @ Y)))) => (ord_less_eq_int @ (F @ A) @ C))))))). % order_subst2
thf(fact_50_order__subst2, axiom,
    ((![A : int, B : int, F : int > nat, C : nat]: ((ord_less_eq_int @ A @ B) => ((ord_less_eq_nat @ (F @ B) @ C) => ((![X2 : int, Y : int]: ((ord_less_eq_int @ X2 @ Y) => (ord_less_eq_nat @ (F @ X2) @ (F @ Y)))) => (ord_less_eq_nat @ (F @ A) @ C))))))). % order_subst2
thf(fact_51_order__subst2, axiom,
    ((![A : int, B : int, F : int > int, C : int]: ((ord_less_eq_int @ A @ B) => ((ord_less_eq_int @ (F @ B) @ C) => ((![X2 : int, Y : int]: ((ord_less_eq_int @ X2 @ Y) => (ord_less_eq_int @ (F @ X2) @ (F @ Y)))) => (ord_less_eq_int @ (F @ A) @ C))))))). % order_subst2
thf(fact_52_ord__eq__le__subst, axiom,
    ((![A : nat, F : nat > nat, B : nat, C : nat]: ((A = (F @ B)) => ((ord_less_eq_nat @ B @ C) => ((![X2 : nat, Y : nat]: ((ord_less_eq_nat @ X2 @ Y) => (ord_less_eq_nat @ (F @ X2) @ (F @ Y)))) => (ord_less_eq_nat @ A @ (F @ C)))))))). % ord_eq_le_subst
thf(fact_53_ord__eq__le__subst, axiom,
    ((![A : int, F : nat > int, B : nat, C : nat]: ((A = (F @ B)) => ((ord_less_eq_nat @ B @ C) => ((![X2 : nat, Y : nat]: ((ord_less_eq_nat @ X2 @ Y) => (ord_less_eq_int @ (F @ X2) @ (F @ Y)))) => (ord_less_eq_int @ A @ (F @ C)))))))). % ord_eq_le_subst
thf(fact_54_ord__eq__le__subst, axiom,
    ((![A : nat, F : int > nat, B : int, C : int]: ((A = (F @ B)) => ((ord_less_eq_int @ B @ C) => ((![X2 : int, Y : int]: ((ord_less_eq_int @ X2 @ Y) => (ord_less_eq_nat @ (F @ X2) @ (F @ Y)))) => (ord_less_eq_nat @ A @ (F @ C)))))))). % ord_eq_le_subst
thf(fact_55_ord__eq__le__subst, axiom,
    ((![A : int, F : int > int, B : int, C : int]: ((A = (F @ B)) => ((ord_less_eq_int @ B @ C) => ((![X2 : int, Y : int]: ((ord_less_eq_int @ X2 @ Y) => (ord_less_eq_int @ (F @ X2) @ (F @ Y)))) => (ord_less_eq_int @ A @ (F @ C)))))))). % ord_eq_le_subst
thf(fact_56_ord__le__eq__subst, axiom,
    ((![A : nat, B : nat, F : nat > nat, C : nat]: ((ord_less_eq_nat @ A @ B) => (((F @ B) = C) => ((![X2 : nat, Y : nat]: ((ord_less_eq_nat @ X2 @ Y) => (ord_less_eq_nat @ (F @ X2) @ (F @ Y)))) => (ord_less_eq_nat @ (F @ A) @ C))))))). % ord_le_eq_subst
thf(fact_57_ord__le__eq__subst, axiom,
    ((![A : nat, B : nat, F : nat > int, C : int]: ((ord_less_eq_nat @ A @ B) => (((F @ B) = C) => ((![X2 : nat, Y : nat]: ((ord_less_eq_nat @ X2 @ Y) => (ord_less_eq_int @ (F @ X2) @ (F @ Y)))) => (ord_less_eq_int @ (F @ A) @ C))))))). % ord_le_eq_subst
thf(fact_58_ord__le__eq__subst, axiom,
    ((![A : int, B : int, F : int > nat, C : nat]: ((ord_less_eq_int @ A @ B) => (((F @ B) = C) => ((![X2 : int, Y : int]: ((ord_less_eq_int @ X2 @ Y) => (ord_less_eq_nat @ (F @ X2) @ (F @ Y)))) => (ord_less_eq_nat @ (F @ A) @ C))))))). % ord_le_eq_subst
thf(fact_59_ord__le__eq__subst, axiom,
    ((![A : int, B : int, F : int > int, C : int]: ((ord_less_eq_int @ A @ B) => (((F @ B) = C) => ((![X2 : int, Y : int]: ((ord_less_eq_int @ X2 @ Y) => (ord_less_eq_int @ (F @ X2) @ (F @ Y)))) => (ord_less_eq_int @ (F @ A) @ C))))))). % ord_le_eq_subst
thf(fact_60_eq__iff, axiom,
    (((^[Y3 : nat]: (^[Z : nat]: (Y3 = Z))) = (^[X4 : nat]: (^[Y4 : nat]: (((ord_less_eq_nat @ X4 @ Y4)) & ((ord_less_eq_nat @ Y4 @ X4)))))))). % eq_iff
thf(fact_61_eq__iff, axiom,
    (((^[Y3 : int]: (^[Z : int]: (Y3 = Z))) = (^[X4 : int]: (^[Y4 : int]: (((ord_less_eq_int @ X4 @ Y4)) & ((ord_less_eq_int @ Y4 @ X4)))))))). % eq_iff
thf(fact_62_antisym, axiom,
    ((![X : nat, Y5 : nat]: ((ord_less_eq_nat @ X @ Y5) => ((ord_less_eq_nat @ Y5 @ X) => (X = Y5)))))). % antisym
thf(fact_63_antisym, axiom,
    ((![X : int, Y5 : int]: ((ord_less_eq_int @ X @ Y5) => ((ord_less_eq_int @ Y5 @ X) => (X = Y5)))))). % antisym
thf(fact_64_linear, axiom,
    ((![X : nat, Y5 : nat]: ((ord_less_eq_nat @ X @ Y5) | (ord_less_eq_nat @ Y5 @ X))))). % linear
thf(fact_65_linear, axiom,
    ((![X : int, Y5 : int]: ((ord_less_eq_int @ X @ Y5) | (ord_less_eq_int @ Y5 @ X))))). % linear
thf(fact_66_eq__refl, axiom,
    ((![X : nat, Y5 : nat]: ((X = Y5) => (ord_less_eq_nat @ X @ Y5))))). % eq_refl
thf(fact_67_eq__refl, axiom,
    ((![X : int, Y5 : int]: ((X = Y5) => (ord_less_eq_int @ X @ Y5))))). % eq_refl
thf(fact_68_le__cases, axiom,
    ((![X : nat, Y5 : nat]: ((~ ((ord_less_eq_nat @ X @ Y5))) => (ord_less_eq_nat @ Y5 @ X))))). % le_cases
thf(fact_69_le__cases, axiom,
    ((![X : int, Y5 : int]: ((~ ((ord_less_eq_int @ X @ Y5))) => (ord_less_eq_int @ Y5 @ X))))). % le_cases
thf(fact_70_order_Otrans, axiom,
    ((![A : nat, B : nat, C : nat]: ((ord_less_eq_nat @ A @ B) => ((ord_less_eq_nat @ B @ C) => (ord_less_eq_nat @ A @ C)))))). % order.trans
thf(fact_71_order_Otrans, axiom,
    ((![A : int, B : int, C : int]: ((ord_less_eq_int @ A @ B) => ((ord_less_eq_int @ B @ C) => (ord_less_eq_int @ A @ C)))))). % order.trans
thf(fact_72_le__cases3, axiom,
    ((![X : nat, Y5 : nat, Z2 : nat]: (((ord_less_eq_nat @ X @ Y5) => (~ ((ord_less_eq_nat @ Y5 @ Z2)))) => (((ord_less_eq_nat @ Y5 @ X) => (~ ((ord_less_eq_nat @ X @ Z2)))) => (((ord_less_eq_nat @ X @ Z2) => (~ ((ord_less_eq_nat @ Z2 @ Y5)))) => (((ord_less_eq_nat @ Z2 @ Y5) => (~ ((ord_less_eq_nat @ Y5 @ X)))) => (((ord_less_eq_nat @ Y5 @ Z2) => (~ ((ord_less_eq_nat @ Z2 @ X)))) => (~ (((ord_less_eq_nat @ Z2 @ X) => (~ ((ord_less_eq_nat @ X @ Y5)))))))))))))). % le_cases3
thf(fact_73_le__cases3, axiom,
    ((![X : int, Y5 : int, Z2 : int]: (((ord_less_eq_int @ X @ Y5) => (~ ((ord_less_eq_int @ Y5 @ Z2)))) => (((ord_less_eq_int @ Y5 @ X) => (~ ((ord_less_eq_int @ X @ Z2)))) => (((ord_less_eq_int @ X @ Z2) => (~ ((ord_less_eq_int @ Z2 @ Y5)))) => (((ord_less_eq_int @ Z2 @ Y5) => (~ ((ord_less_eq_int @ Y5 @ X)))) => (((ord_less_eq_int @ Y5 @ Z2) => (~ ((ord_less_eq_int @ Z2 @ X)))) => (~ (((ord_less_eq_int @ Z2 @ X) => (~ ((ord_less_eq_int @ X @ Y5)))))))))))))). % le_cases3
thf(fact_74_antisym__conv, axiom,
    ((![Y5 : nat, X : nat]: ((ord_less_eq_nat @ Y5 @ X) => ((ord_less_eq_nat @ X @ Y5) = (X = Y5)))))). % antisym_conv
thf(fact_75_antisym__conv, axiom,
    ((![Y5 : int, X : int]: ((ord_less_eq_int @ Y5 @ X) => ((ord_less_eq_int @ X @ Y5) = (X = Y5)))))). % antisym_conv
thf(fact_76_order__class_Oorder_Oeq__iff, axiom,
    (((^[Y3 : nat]: (^[Z : nat]: (Y3 = Z))) = (^[A2 : nat]: (^[B2 : nat]: (((ord_less_eq_nat @ A2 @ B2)) & ((ord_less_eq_nat @ B2 @ A2)))))))). % order_class.order.eq_iff
thf(fact_77_order__class_Oorder_Oeq__iff, axiom,
    (((^[Y3 : int]: (^[Z : int]: (Y3 = Z))) = (^[A2 : int]: (^[B2 : int]: (((ord_less_eq_int @ A2 @ B2)) & ((ord_less_eq_int @ B2 @ A2)))))))). % order_class.order.eq_iff
thf(fact_78_ord__eq__le__trans, axiom,
    ((![A : nat, B : nat, C : nat]: ((A = B) => ((ord_less_eq_nat @ B @ C) => (ord_less_eq_nat @ A @ C)))))). % ord_eq_le_trans
thf(fact_79_ord__eq__le__trans, axiom,
    ((![A : int, B : int, C : int]: ((A = B) => ((ord_less_eq_int @ B @ C) => (ord_less_eq_int @ A @ C)))))). % ord_eq_le_trans
thf(fact_80_ord__le__eq__trans, axiom,
    ((![A : nat, B : nat, C : nat]: ((ord_less_eq_nat @ A @ B) => ((B = C) => (ord_less_eq_nat @ A @ C)))))). % ord_le_eq_trans
thf(fact_81_ord__le__eq__trans, axiom,
    ((![A : int, B : int, C : int]: ((ord_less_eq_int @ A @ B) => ((B = C) => (ord_less_eq_int @ A @ C)))))). % ord_le_eq_trans
thf(fact_82_order__class_Oorder_Oantisym, axiom,
    ((![A : nat, B : nat]: ((ord_less_eq_nat @ A @ B) => ((ord_less_eq_nat @ B @ A) => (A = B)))))). % order_class.order.antisym
thf(fact_83_order__class_Oorder_Oantisym, axiom,
    ((![A : int, B : int]: ((ord_less_eq_int @ A @ B) => ((ord_less_eq_int @ B @ A) => (A = B)))))). % order_class.order.antisym
thf(fact_84_order__trans, axiom,
    ((![X : nat, Y5 : nat, Z2 : nat]: ((ord_less_eq_nat @ X @ Y5) => ((ord_less_eq_nat @ Y5 @ Z2) => (ord_less_eq_nat @ X @ Z2)))))). % order_trans
thf(fact_85_order__trans, axiom,
    ((![X : int, Y5 : int, Z2 : int]: ((ord_less_eq_int @ X @ Y5) => ((ord_less_eq_int @ Y5 @ Z2) => (ord_less_eq_int @ X @ Z2)))))). % order_trans
thf(fact_86_dual__order_Orefl, axiom,
    ((![A : nat]: (ord_less_eq_nat @ A @ A)))). % dual_order.refl
thf(fact_87_dual__order_Orefl, axiom,
    ((![A : int]: (ord_less_eq_int @ A @ A)))). % dual_order.refl
thf(fact_88_linorder__wlog, axiom,
    ((![P : nat > nat > $o, A : nat, B : 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 @ B)))))). % linorder_wlog
thf(fact_89_linorder__wlog, axiom,
    ((![P : int > int > $o, A : int, B : 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 @ B)))))). % linorder_wlog
thf(fact_90_dual__order_Otrans, axiom,
    ((![B : nat, A : nat, C : nat]: ((ord_less_eq_nat @ B @ A) => ((ord_less_eq_nat @ C @ B) => (ord_less_eq_nat @ C @ A)))))). % dual_order.trans
thf(fact_91_dual__order_Otrans, axiom,
    ((![B : int, A : int, C : int]: ((ord_less_eq_int @ B @ A) => ((ord_less_eq_int @ C @ B) => (ord_less_eq_int @ C @ A)))))). % dual_order.trans
thf(fact_92_dual__order_Oeq__iff, axiom,
    (((^[Y3 : nat]: (^[Z : nat]: (Y3 = Z))) = (^[A2 : nat]: (^[B2 : nat]: (((ord_less_eq_nat @ B2 @ A2)) & ((ord_less_eq_nat @ A2 @ B2)))))))). % dual_order.eq_iff
thf(fact_93_dual__order_Oeq__iff, axiom,
    (((^[Y3 : int]: (^[Z : int]: (Y3 = Z))) = (^[A2 : int]: (^[B2 : int]: (((ord_less_eq_int @ B2 @ A2)) & ((ord_less_eq_int @ A2 @ B2)))))))). % dual_order.eq_iff
thf(fact_94_dual__order_Oantisym, axiom,
    ((![B : nat, A : nat]: ((ord_less_eq_nat @ B @ A) => ((ord_less_eq_nat @ A @ B) => (A = B)))))). % dual_order.antisym
thf(fact_95_dual__order_Oantisym, axiom,
    ((![B : int, A : int]: ((ord_less_eq_int @ B @ A) => ((ord_less_eq_int @ A @ B) => (A = B)))))). % dual_order.antisym
thf(fact_96_le__refl, axiom,
    ((![N2 : nat]: (ord_less_eq_nat @ N2 @ N2)))). % le_refl
thf(fact_97_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_98_GreatestI2__order, axiom,
    ((![P : int > $o, X : int, Q : int > $o]: ((P @ X) => ((![Y : int]: ((P @ Y) => (ord_less_eq_int @ Y @ X))) => ((![X2 : int]: ((P @ X2) => ((![Y2 : int]: ((P @ Y2) => (ord_less_eq_int @ Y2 @ X2))) => (Q @ X2)))) => (Q @ (order_Greatest_int @ P)))))))). % GreatestI2_order
thf(fact_99_GreatestI2__order, axiom,
    ((![P : nat > $o, X : nat, Q : nat > $o]: ((P @ X) => ((![Y : nat]: ((P @ Y) => (ord_less_eq_nat @ Y @ X))) => ((![X2 : nat]: ((P @ X2) => ((![Y2 : nat]: ((P @ Y2) => (ord_less_eq_nat @ Y2 @ X2))) => (Q @ X2)))) => (Q @ (order_Greatest_nat @ P)))))))). % GreatestI2_order
thf(fact_100_Greatest__equality, axiom,
    ((![P : int > $o, X : int]: ((P @ X) => ((![Y : int]: ((P @ Y) => (ord_less_eq_int @ Y @ X))) => ((order_Greatest_int @ P) = X)))))). % Greatest_equality
thf(fact_101_Greatest__equality, axiom,
    ((![P : nat > $o, X : nat]: ((P @ X) => ((![Y : nat]: ((P @ Y) => (ord_less_eq_nat @ Y @ X))) => ((order_Greatest_nat @ P) = X)))))). % Greatest_equality
thf(fact_102_verit__la__disequality, axiom,
    ((![A : nat, B : nat]: ((A = B) | ((~ ((ord_less_eq_nat @ A @ B))) | (~ ((ord_less_eq_nat @ B @ A)))))))). % verit_la_disequality
thf(fact_103_verit__la__disequality, axiom,
    ((![A : int, B : int]: ((A = B) | ((~ ((ord_less_eq_int @ A @ B))) | (~ ((ord_less_eq_int @ B @ A)))))))). % verit_la_disequality
thf(fact_104_le__rel__bool__arg__iff, axiom,
    ((ord_less_eq_o_nat = (^[X5 : $o > nat]: (^[Y6 : $o > nat]: (((ord_less_eq_nat @ (X5 @ $false) @ (Y6 @ $false))) & ((ord_less_eq_nat @ (X5 @ $true) @ (Y6 @ $true))))))))). % le_rel_bool_arg_iff
thf(fact_105_le__rel__bool__arg__iff, axiom,
    ((ord_less_eq_o_int = (^[X5 : $o > int]: (^[Y6 : $o > int]: (((ord_less_eq_int @ (X5 @ $false) @ (Y6 @ $false))) & ((ord_less_eq_int @ (X5 @ $true) @ (Y6 @ $true))))))))). % le_rel_bool_arg_iff
thf(fact_106_GreatestI__ex__nat, axiom,
    ((![P : nat > $o, B : nat]: ((?[X_1 : nat]: (P @ X_1)) => ((![Y : nat]: ((P @ Y) => (ord_less_eq_nat @ Y @ B))) => (P @ (order_Greatest_nat @ P))))))). % GreatestI_ex_nat
thf(fact_107_Greatest__le__nat, axiom,
    ((![P : nat > $o, K : nat, B : nat]: ((P @ K) => ((![Y : nat]: ((P @ Y) => (ord_less_eq_nat @ Y @ B))) => (ord_less_eq_nat @ K @ (order_Greatest_nat @ P))))))). % Greatest_le_nat
thf(fact_108_GreatestI__nat, axiom,
    ((![P : nat > $o, K : nat, B : nat]: ((P @ K) => ((![Y : nat]: ((P @ Y) => (ord_less_eq_nat @ Y @ B))) => (P @ (order_Greatest_nat @ P))))))). % GreatestI_nat
thf(fact_109_of__nat__le__iff, axiom,
    ((![M : nat, N2 : nat]: ((ord_less_eq_nat @ (semiri1382578993at_nat @ M) @ (semiri1382578993at_nat @ N2)) = (ord_less_eq_nat @ M @ N2))))). % of_nat_le_iff
thf(fact_110_of__nat__le__iff, axiom,
    ((![M : nat, N2 : nat]: ((ord_less_eq_int @ (semiri2019852685at_int @ M) @ (semiri2019852685at_int @ N2)) = (ord_less_eq_nat @ M @ N2))))). % of_nat_le_iff
thf(fact_111_of__nat__eq__iff, axiom,
    ((![M : nat, N2 : nat]: (((semiri2019852685at_int @ M) = (semiri2019852685at_int @ N2)) = (M = N2))))). % of_nat_eq_iff
thf(fact_112_nat__int__comparison_I3_J, axiom,
    ((ord_less_eq_nat = (^[A2 : nat]: (^[B2 : nat]: (ord_less_eq_int @ (semiri2019852685at_int @ A2) @ (semiri2019852685at_int @ B2))))))). % nat_int_comparison(3)
thf(fact_113_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_114_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_115_zle__int, axiom,
    ((![M : nat, N2 : nat]: ((ord_less_eq_int @ (semiri2019852685at_int @ M) @ (semiri2019852685at_int @ N2)) = (ord_less_eq_nat @ M @ N2))))). % zle_int
thf(fact_116_of__nat__0__le__iff, axiom,
    ((![N2 : nat]: (ord_less_eq_nat @ zero_zero_nat @ (semiri1382578993at_nat @ N2))))). % of_nat_0_le_iff
thf(fact_117_of__nat__0__le__iff, axiom,
    ((![N2 : nat]: (ord_less_eq_int @ zero_zero_int @ (semiri2019852685at_int @ N2))))). % of_nat_0_le_iff
thf(fact_118_antimonoD, axiom,
    ((![F : nat > nat, X : nat, Y5 : nat]: ((order_1631207636at_nat @ F) => ((ord_less_eq_nat @ X @ Y5) => (ord_less_eq_nat @ (F @ Y5) @ (F @ X))))))). % antimonoD
thf(fact_119_antimonoD, axiom,
    ((![F : nat > int, X : nat, Y5 : nat]: ((order_120997680at_int @ F) => ((ord_less_eq_nat @ X @ Y5) => (ord_less_eq_int @ (F @ Y5) @ (F @ X))))))). % antimonoD
thf(fact_120_antimonoD, axiom,
    ((![F : int > nat, X : int, Y5 : int]: ((order_1544476464nt_nat @ F) => ((ord_less_eq_int @ X @ Y5) => (ord_less_eq_nat @ (F @ Y5) @ (F @ X))))))). % antimonoD
thf(fact_121_antimonoD, axiom,
    ((![F : int > int, X : int, Y5 : int]: ((order_34266508nt_int @ F) => ((ord_less_eq_int @ X @ Y5) => (ord_less_eq_int @ (F @ Y5) @ (F @ X))))))). % antimonoD
thf(fact_122_bot__nat__0_Oextremum, axiom,
    ((![A : nat]: (ord_less_eq_nat @ zero_zero_nat @ A)))). % bot_nat_0.extremum
thf(fact_123_le0, axiom,
    ((![N2 : nat]: (ord_less_eq_nat @ zero_zero_nat @ N2)))). % le0
thf(fact_124_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_125_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_126_of__nat__0__eq__iff, axiom,
    ((![N2 : nat]: ((zero_zero_nat = (semiri1382578993at_nat @ N2)) = (zero_zero_nat = N2))))). % of_nat_0_eq_iff
thf(fact_127_of__nat__0__eq__iff, axiom,
    ((![N2 : nat]: ((zero_zero_int = (semiri2019852685at_int @ N2)) = (zero_zero_nat = N2))))). % of_nat_0_eq_iff
thf(fact_128_of__nat__0, axiom,
    (((semiri1382578993at_nat @ zero_zero_nat) = zero_zero_nat))). % of_nat_0
thf(fact_129_of__nat__0, axiom,
    (((semiri2019852685at_int @ zero_zero_nat) = zero_zero_int))). % of_nat_0
thf(fact_130_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_131_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_132_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_133_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_134_int__if, axiom,
    ((![P : $o, A : nat, B : nat]: ((P => ((semiri2019852685at_int @ (if_nat @ P @ A @ B)) = (semiri2019852685at_int @ A))) & ((~ (P)) => ((semiri2019852685at_int @ (if_nat @ P @ A @ B)) = (semiri2019852685at_int @ B))))))). % int_if
thf(fact_135_nat__int__comparison_I1_J, axiom,
    (((^[Y3 : nat]: (^[Z : nat]: (Y3 = Z))) = (^[A2 : nat]: (^[B2 : nat]: ((semiri2019852685at_int @ A2) = (semiri2019852685at_int @ B2))))))). % nat_int_comparison(1)
thf(fact_136_int__ops_I1_J, axiom,
    (((semiri2019852685at_int @ zero_zero_nat) = zero_zero_int))). % int_ops(1)
thf(fact_137_int__int__eq, axiom,
    ((![M : nat, N2 : nat]: (((semiri2019852685at_int @ M) = (semiri2019852685at_int @ N2)) = (M = N2))))). % int_int_eq
thf(fact_138_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_139_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_140_le__0__eq, axiom,
    ((![N2 : nat]: ((ord_less_eq_nat @ N2 @ zero_zero_nat) = (N2 = zero_zero_nat))))). % le_0_eq
thf(fact_141_less__eq__nat_Osimps_I1_J, axiom,
    ((![N2 : nat]: (ord_less_eq_nat @ zero_zero_nat @ N2)))). % less_eq_nat.simps(1)
thf(fact_142_antimono__def, axiom,
    ((order_1631207636at_nat = (^[F2 : nat > nat]: (![X4 : nat]: (![Y4 : nat]: (((ord_less_eq_nat @ X4 @ Y4)) => ((ord_less_eq_nat @ (F2 @ Y4) @ (F2 @ X4)))))))))). % antimono_def
thf(fact_143_antimono__def, axiom,
    ((order_120997680at_int = (^[F2 : nat > int]: (![X4 : nat]: (![Y4 : nat]: (((ord_less_eq_nat @ X4 @ Y4)) => ((ord_less_eq_int @ (F2 @ Y4) @ (F2 @ X4)))))))))). % antimono_def
thf(fact_144_antimono__def, axiom,
    ((order_1544476464nt_nat = (^[F2 : int > nat]: (![X4 : int]: (![Y4 : int]: (((ord_less_eq_int @ X4 @ Y4)) => ((ord_less_eq_nat @ (F2 @ Y4) @ (F2 @ X4)))))))))). % antimono_def
thf(fact_145_antimono__def, axiom,
    ((order_34266508nt_int = (^[F2 : int > int]: (![X4 : int]: (![Y4 : int]: (((ord_less_eq_int @ X4 @ Y4)) => ((ord_less_eq_int @ (F2 @ Y4) @ (F2 @ X4)))))))))). % antimono_def
thf(fact_146_antimonoI, axiom,
    ((![F : nat > nat]: ((![X2 : nat, Y : nat]: ((ord_less_eq_nat @ X2 @ Y) => (ord_less_eq_nat @ (F @ Y) @ (F @ X2)))) => (order_1631207636at_nat @ F))))). % antimonoI
thf(fact_147_antimonoI, axiom,
    ((![F : nat > int]: ((![X2 : nat, Y : nat]: ((ord_less_eq_nat @ X2 @ Y) => (ord_less_eq_int @ (F @ Y) @ (F @ X2)))) => (order_120997680at_int @ F))))). % antimonoI
thf(fact_148_antimonoI, axiom,
    ((![F : int > nat]: ((![X2 : int, Y : int]: ((ord_less_eq_int @ X2 @ Y) => (ord_less_eq_nat @ (F @ Y) @ (F @ X2)))) => (order_1544476464nt_nat @ F))))). % antimonoI
thf(fact_149_antimonoI, axiom,
    ((![F : int > int]: ((![X2 : int, Y : int]: ((ord_less_eq_int @ X2 @ Y) => (ord_less_eq_int @ (F @ Y) @ (F @ X2)))) => (order_34266508nt_int @ F))))). % antimonoI
thf(fact_150_antimonoE, axiom,
    ((![F : nat > nat, X : nat, Y5 : nat]: ((order_1631207636at_nat @ F) => ((ord_less_eq_nat @ X @ Y5) => (ord_less_eq_nat @ (F @ Y5) @ (F @ X))))))). % antimonoE
thf(fact_151_antimonoE, axiom,
    ((![F : nat > int, X : nat, Y5 : nat]: ((order_120997680at_int @ F) => ((ord_less_eq_nat @ X @ Y5) => (ord_less_eq_int @ (F @ Y5) @ (F @ X))))))). % antimonoE
thf(fact_152_antimonoE, axiom,
    ((![F : int > nat, X : int, Y5 : int]: ((order_1544476464nt_nat @ F) => ((ord_less_eq_int @ X @ Y5) => (ord_less_eq_nat @ (F @ Y5) @ (F @ X))))))). % antimonoE
thf(fact_153_antimonoE, axiom,
    ((![F : int > int, X : int, Y5 : int]: ((order_34266508nt_int @ F) => ((ord_less_eq_int @ X @ Y5) => (ord_less_eq_int @ (F @ Y5) @ (F @ X))))))). % antimonoE
thf(fact_154_le__zero__eq, axiom,
    ((![N2 : nat]: ((ord_less_eq_nat @ N2 @ zero_zero_nat) = (N2 = zero_zero_nat))))). % le_zero_eq
thf(fact_155_le__numeral__extra_I3_J, axiom,
    ((ord_less_eq_nat @ zero_zero_nat @ zero_zero_nat))). % le_numeral_extra(3)
thf(fact_156_le__numeral__extra_I3_J, axiom,
    ((ord_less_eq_int @ zero_zero_int @ zero_zero_int))). % le_numeral_extra(3)
thf(fact_157_zero__le, axiom,
    ((![X : nat]: (ord_less_eq_nat @ zero_zero_nat @ X)))). % zero_le
thf(fact_158_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_159_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_160_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_161_of__int__of__nat__eq, axiom,
    ((![N2 : nat]: ((ring_1_of_int_int @ (semiri2019852685at_int @ N2)) = (semiri2019852685at_int @ N2))))). % of_int_of_nat_eq
thf(fact_162_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_163_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_164_le__nat__iff, axiom,
    ((![K : int, N2 : nat]: ((ord_less_eq_int @ zero_zero_int @ K) => ((ord_less_eq_nat @ N2 @ (nat2 @ K)) = (ord_less_eq_int @ (semiri2019852685at_int @ N2) @ K)))))). % le_nat_iff
thf(fact_165_nat__int, axiom,
    ((![N2 : nat]: ((nat2 @ (semiri2019852685at_int @ N2)) = N2)))). % nat_int
thf(fact_166_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_167_nat__mono, axiom,
    ((![X : int, Y5 : int]: ((ord_less_eq_int @ X @ Y5) => (ord_less_eq_nat @ (nat2 @ X) @ (nat2 @ Y5)))))). % nat_mono
thf(fact_168_nat__zero__as__int, axiom,
    ((zero_zero_nat = (nat2 @ zero_zero_int)))). % nat_zero_as_int
thf(fact_169_nat__le__iff, axiom,
    ((![X : int, N2 : nat]: ((ord_less_eq_nat @ (nat2 @ X) @ N2) = (ord_less_eq_int @ X @ (semiri2019852685at_int @ N2)))))). % nat_le_iff
thf(fact_170_nat__0__le, axiom,
    ((![Z2 : int]: ((ord_less_eq_int @ zero_zero_int @ Z2) => ((semiri2019852685at_int @ (nat2 @ Z2)) = Z2))))). % nat_0_le
thf(fact_171_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_172_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_173_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_174_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_175_split__nat, axiom,
    ((![P : nat > $o, I : int]: ((P @ (nat2 @ I)) = (((![N : nat]: (((I = (semiri2019852685at_int @ N))) => ((P @ N))))) & ((((ord_less_int @ I @ zero_zero_int)) => ((P @ zero_zero_nat))))))))). % split_nat
thf(fact_176_of__nat__less__iff, axiom,
    ((![M : nat, N2 : nat]: ((ord_less_int @ (semiri2019852685at_int @ M) @ (semiri2019852685at_int @ N2)) = (ord_less_nat @ M @ N2))))). % of_nat_less_iff
thf(fact_177_of__nat__0__less__iff, axiom,
    ((![N2 : nat]: ((ord_less_nat @ zero_zero_nat @ (semiri1382578993at_nat @ N2)) = (ord_less_nat @ zero_zero_nat @ N2))))). % of_nat_0_less_iff
thf(fact_178_of__nat__0__less__iff, axiom,
    ((![N2 : nat]: ((ord_less_int @ zero_zero_int @ (semiri2019852685at_int @ N2)) = (ord_less_nat @ zero_zero_nat @ N2))))). % of_nat_0_less_iff
thf(fact_179_of__nat__less__0__iff, axiom,
    ((![M : nat]: (~ ((ord_less_nat @ (semiri1382578993at_nat @ M) @ zero_zero_nat)))))). % of_nat_less_0_iff
thf(fact_180_of__nat__less__0__iff, axiom,
    ((![M : nat]: (~ ((ord_less_int @ (semiri2019852685at_int @ M) @ zero_zero_int)))))). % of_nat_less_0_iff
thf(fact_181_ord__eq__less__subst, axiom,
    ((![A : int, F : int > int, B : int, C : int]: ((A = (F @ B)) => ((ord_less_int @ B @ C) => ((![X2 : int, Y : int]: ((ord_less_int @ X2 @ Y) => (ord_less_int @ (F @ X2) @ (F @ Y)))) => (ord_less_int @ A @ (F @ C)))))))). % ord_eq_less_subst
thf(fact_182_ord__less__eq__subst, axiom,
    ((![A : int, B : int, F : int > int, C : int]: ((ord_less_int @ A @ B) => (((F @ B) = C) => ((![X2 : int, Y : int]: ((ord_less_int @ X2 @ Y) => (ord_less_int @ (F @ X2) @ (F @ Y)))) => (ord_less_int @ (F @ A) @ C))))))). % ord_less_eq_subst
thf(fact_183_order__less__subst1, axiom,
    ((![A : int, F : int > int, B : int, C : int]: ((ord_less_int @ A @ (F @ B)) => ((ord_less_int @ B @ C) => ((![X2 : int, Y : int]: ((ord_less_int @ X2 @ Y) => (ord_less_int @ (F @ X2) @ (F @ Y)))) => (ord_less_int @ A @ (F @ C)))))))). % order_less_subst1
thf(fact_184_order__less__subst2, axiom,
    ((![A : int, B : int, F : int > int, C : int]: ((ord_less_int @ A @ B) => ((ord_less_int @ (F @ B) @ C) => ((![X2 : int, Y : int]: ((ord_less_int @ X2 @ Y) => (ord_less_int @ (F @ X2) @ (F @ Y)))) => (ord_less_int @ (F @ A) @ C))))))). % order_less_subst2
thf(fact_185_lt__ex, axiom,
    ((![X : int]: (?[Y : int]: (ord_less_int @ Y @ X))))). % lt_ex
thf(fact_186_gt__ex, axiom,
    ((![X : int]: (?[X_12 : int]: (ord_less_int @ X @ X_12))))). % gt_ex

% 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,
    ((![X : nat, Y5 : nat]: ((if_nat @ $false @ X @ Y5) = Y5)))).
thf(help_If_1_1_If_001t__Nat__Onat_T, axiom,
    ((![X : nat, Y5 : nat]: ((if_nat @ $true @ X @ Y5) = X)))).

% Conjectures (3)
thf(conj_0, hypothesis,
    (hoare_405891322gleton)).
thf(conj_1, hypothesis,
    ((![Z3 : state]: ((![S1 : state]: ((evalc @ c @ z @ S1) => (Z3 = S1))) => (Z3 = s))))).
thf(conj_2, conjecture,
    ((evalc @ c @ z @ s))).
