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

% Could-be-implicit typings (8)
thf(ty_n_t__Option__Ooption_It__Event__Oevent_J, type,
    option_event : $tType).
thf(ty_n_t__List__Olist_It__Event__Oevent_J, type,
    list_event : $tType).
thf(ty_n_t__Set__Oset_It__Message__Omsg_J, type,
    set_msg : $tType).
thf(ty_n_t__Message__Oagent, type,
    agent : $tType).
thf(ty_n_t__Message__Omsg, type,
    msg : $tType).
thf(ty_n_t__Event__Oevent, type,
    event : $tType).
thf(ty_n_t__Nat__Onat, type,
    nat : $tType).
thf(ty_n_t__Int__Oint, type,
    int : $tType).

% Explicit typings (34)
thf(sy_c_Event_Oknows, type,
    knows : agent > list_event > set_msg).
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_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_List_Obind_001t__Event__Oevent_001t__Event__Oevent, type,
    bind_event_event : list_event > (event > list_event) > list_event).
thf(sy_c_List_Ocount__list_001t__Event__Oevent, type,
    count_list_event : list_event > event > nat).
thf(sy_c_List_OdropWhile_001t__Event__Oevent, type,
    dropWhile_event : (event > $o) > list_event > list_event).
thf(sy_c_List_Ogen__length_001t__Event__Oevent, type,
    gen_length_event : nat > list_event > nat).
thf(sy_c_List_Olist_ONil_001t__Event__Oevent, type,
    nil_event : list_event).
thf(sy_c_List_Olist__ex1_001t__Event__Oevent, type,
    list_ex1_event : (event > $o) > list_event > $o).
thf(sy_c_List_Omap__filter_001t__Event__Oevent_001t__Event__Oevent, type,
    map_fi840258512_event : (event > option_event) > list_event > list_event).
thf(sy_c_List_Omaps_001t__Event__Oevent_001t__Event__Oevent, type,
    maps_event_event : (event > list_event) > list_event > list_event).
thf(sy_c_List_Omember_001t__Event__Oevent, type,
    member_event : list_event > event > $o).
thf(sy_c_List_Onull_001t__Event__Oevent, type,
    null_event : list_event > $o).
thf(sy_c_List_Oreplicate_001t__Event__Oevent, type,
    replicate_event : nat > event > list_event).
thf(sy_c_List_OtakeWhile_001t__Event__Oevent, type,
    takeWhile_event : (event > $o) > list_event > list_event).
thf(sy_c_Message_Oagent_OSpy, type,
    spy : agent).
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_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_001_062_I_Eo_Mt__Set__Oset_It__Message__Omsg_J_J, type,
    ord_le1824574709et_msg : ($o > set_msg) > ($o > set_msg) > $o).
thf(sy_c_Orderings_Oord__class_Oless__eq_001_062_It__Message__Omsg_M_Eo_J, type,
    ord_less_eq_msg_o : (msg > $o) > (msg > $o) > $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_Oord__class_Oless__eq_001t__Set__Oset_It__Message__Omsg_J, type,
    ord_less_eq_set_msg : set_msg > set_msg > $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_OGreatest_001t__Set__Oset_It__Message__Omsg_J, type,
    order_1537173811et_msg : (set_msg > $o) > set_msg).
thf(sy_c_Set_OCollect_001t__Message__Omsg, type,
    collect_msg : (msg > $o) > set_msg).
thf(sy_c_member_001t__Message__Omsg, type,
    member_msg : msg > set_msg > $o).
thf(sy_v_P, type,
    p : event > $o).

% Relevant facts (211)
thf(fact_0_takeWhile__idem, axiom,
    ((![P : event > $o, Xs : list_event]: ((takeWhile_event @ P @ (takeWhile_event @ P @ Xs)) = (takeWhile_event @ P @ Xs))))). % takeWhile_idem
thf(fact_1_subsetI, axiom,
    ((![A : set_msg, B : set_msg]: ((![X : msg]: ((member_msg @ X @ A) => (member_msg @ X @ B))) => (ord_less_eq_set_msg @ A @ B))))). % subsetI
thf(fact_2_subset__antisym, axiom,
    ((![A : set_msg, B : set_msg]: ((ord_less_eq_set_msg @ A @ B) => ((ord_less_eq_set_msg @ B @ A) => (A = B)))))). % subset_antisym
thf(fact_3_order__refl, axiom,
    ((![X2 : set_msg]: (ord_less_eq_set_msg @ X2 @ X2)))). % order_refl
thf(fact_4_order__refl, axiom,
    ((![X2 : nat]: (ord_less_eq_nat @ X2 @ X2)))). % order_refl
thf(fact_5_order__refl, axiom,
    ((![X2 : int]: (ord_less_eq_int @ X2 @ X2)))). % order_refl
thf(fact_6_takeWhile_Osimps_I1_J, axiom,
    ((![P : event > $o]: ((takeWhile_event @ P @ nil_event) = nil_event)))). % takeWhile.simps(1)
thf(fact_7_Collect__subset, axiom,
    ((![A : set_msg, P : msg > $o]: (ord_less_eq_set_msg @ (collect_msg @ (^[X3 : msg]: (((member_msg @ X3 @ A)) & ((P @ X3))))) @ A)))). % Collect_subset
thf(fact_8_conj__subset__def, axiom,
    ((![A : set_msg, P : msg > $o, Q : msg > $o]: ((ord_less_eq_set_msg @ A @ (collect_msg @ (^[X3 : msg]: (((P @ X3)) & ((Q @ X3)))))) = (((ord_less_eq_set_msg @ A @ (collect_msg @ P))) & ((ord_less_eq_set_msg @ A @ (collect_msg @ Q)))))))). % conj_subset_def
thf(fact_9_prop__restrict, axiom,
    ((![X2 : msg, Z : set_msg, X4 : set_msg, P : msg > $o]: ((member_msg @ X2 @ Z) => ((ord_less_eq_set_msg @ Z @ (collect_msg @ (^[X3 : msg]: (((member_msg @ X3 @ X4)) & ((P @ X3)))))) => (P @ X2)))))). % prop_restrict
thf(fact_10_Collect__restrict, axiom,
    ((![X4 : set_msg, P : msg > $o]: (ord_less_eq_set_msg @ (collect_msg @ (^[X3 : msg]: (((member_msg @ X3 @ X4)) & ((P @ X3))))) @ X4)))). % Collect_restrict
thf(fact_11_subset__CollectI, axiom,
    ((![B : set_msg, A : set_msg, Q : msg > $o, P : msg > $o]: ((ord_less_eq_set_msg @ B @ A) => ((![X : msg]: ((member_msg @ X @ B) => ((Q @ X) => (P @ X)))) => (ord_less_eq_set_msg @ (collect_msg @ (^[X3 : msg]: (((member_msg @ X3 @ B)) & ((Q @ X3))))) @ (collect_msg @ (^[X3 : msg]: (((member_msg @ X3 @ A)) & ((P @ X3))))))))))). % subset_CollectI
thf(fact_12_subset__Collect__iff, axiom,
    ((![B : set_msg, A : set_msg, P : msg > $o]: ((ord_less_eq_set_msg @ B @ A) => ((ord_less_eq_set_msg @ B @ (collect_msg @ (^[X3 : msg]: (((member_msg @ X3 @ A)) & ((P @ X3)))))) = (![X3 : msg]: (((member_msg @ X3 @ B)) => ((P @ X3))))))))). % subset_Collect_iff
thf(fact_13_less__eq__set__def, axiom,
    ((ord_less_eq_set_msg = (^[A2 : set_msg]: (^[B2 : set_msg]: (ord_less_eq_msg_o @ (^[X3 : msg]: (member_msg @ X3 @ A2)) @ (^[X3 : msg]: (member_msg @ X3 @ B2)))))))). % less_eq_set_def
thf(fact_14_dual__order_Oantisym, axiom,
    ((![B3 : set_msg, A3 : set_msg]: ((ord_less_eq_set_msg @ B3 @ A3) => ((ord_less_eq_set_msg @ A3 @ B3) => (A3 = B3)))))). % dual_order.antisym
thf(fact_15_dual__order_Oantisym, axiom,
    ((![B3 : nat, A3 : nat]: ((ord_less_eq_nat @ B3 @ A3) => ((ord_less_eq_nat @ A3 @ B3) => (A3 = B3)))))). % dual_order.antisym
thf(fact_16_dual__order_Oantisym, axiom,
    ((![B3 : int, A3 : int]: ((ord_less_eq_int @ B3 @ A3) => ((ord_less_eq_int @ A3 @ B3) => (A3 = B3)))))). % dual_order.antisym
thf(fact_17_dual__order_Oeq__iff, axiom,
    (((^[Y : set_msg]: (^[Z2 : set_msg]: (Y = Z2))) = (^[A4 : set_msg]: (^[B4 : set_msg]: (((ord_less_eq_set_msg @ B4 @ A4)) & ((ord_less_eq_set_msg @ A4 @ B4)))))))). % dual_order.eq_iff
thf(fact_18_dual__order_Oeq__iff, axiom,
    (((^[Y : nat]: (^[Z2 : nat]: (Y = Z2))) = (^[A4 : nat]: (^[B4 : nat]: (((ord_less_eq_nat @ B4 @ A4)) & ((ord_less_eq_nat @ A4 @ B4)))))))). % dual_order.eq_iff
thf(fact_19_dual__order_Oeq__iff, axiom,
    (((^[Y : int]: (^[Z2 : int]: (Y = Z2))) = (^[A4 : int]: (^[B4 : int]: (((ord_less_eq_int @ B4 @ A4)) & ((ord_less_eq_int @ A4 @ B4)))))))). % dual_order.eq_iff
thf(fact_20_dual__order_Otrans, axiom,
    ((![B3 : set_msg, A3 : set_msg, C : set_msg]: ((ord_less_eq_set_msg @ B3 @ A3) => ((ord_less_eq_set_msg @ C @ B3) => (ord_less_eq_set_msg @ C @ A3)))))). % dual_order.trans
thf(fact_21_dual__order_Otrans, axiom,
    ((![B3 : nat, A3 : nat, C : nat]: ((ord_less_eq_nat @ B3 @ A3) => ((ord_less_eq_nat @ C @ B3) => (ord_less_eq_nat @ C @ A3)))))). % dual_order.trans
thf(fact_22_dual__order_Otrans, axiom,
    ((![B3 : int, A3 : int, C : int]: ((ord_less_eq_int @ B3 @ A3) => ((ord_less_eq_int @ C @ B3) => (ord_less_eq_int @ C @ A3)))))). % dual_order.trans
thf(fact_23_linorder__wlog, axiom,
    ((![P : nat > nat > $o, A3 : nat, B3 : nat]: ((![A5 : nat, B5 : nat]: ((ord_less_eq_nat @ A5 @ B5) => (P @ A5 @ B5))) => ((![A5 : nat, B5 : nat]: ((P @ B5 @ A5) => (P @ A5 @ B5))) => (P @ A3 @ B3)))))). % linorder_wlog
thf(fact_24_linorder__wlog, axiom,
    ((![P : int > int > $o, A3 : int, B3 : int]: ((![A5 : int, B5 : int]: ((ord_less_eq_int @ A5 @ B5) => (P @ A5 @ B5))) => ((![A5 : int, B5 : int]: ((P @ B5 @ A5) => (P @ A5 @ B5))) => (P @ A3 @ B3)))))). % linorder_wlog
thf(fact_25_dual__order_Orefl, axiom,
    ((![A3 : set_msg]: (ord_less_eq_set_msg @ A3 @ A3)))). % dual_order.refl
thf(fact_26_dual__order_Orefl, axiom,
    ((![A3 : nat]: (ord_less_eq_nat @ A3 @ A3)))). % dual_order.refl
thf(fact_27_dual__order_Orefl, axiom,
    ((![A3 : int]: (ord_less_eq_int @ A3 @ A3)))). % dual_order.refl
thf(fact_28_order__trans, axiom,
    ((![X2 : set_msg, Y2 : set_msg, Z3 : set_msg]: ((ord_less_eq_set_msg @ X2 @ Y2) => ((ord_less_eq_set_msg @ Y2 @ Z3) => (ord_less_eq_set_msg @ X2 @ Z3)))))). % order_trans
thf(fact_29_order__trans, axiom,
    ((![X2 : nat, Y2 : nat, Z3 : nat]: ((ord_less_eq_nat @ X2 @ Y2) => ((ord_less_eq_nat @ Y2 @ Z3) => (ord_less_eq_nat @ X2 @ Z3)))))). % order_trans
thf(fact_30_order__trans, axiom,
    ((![X2 : int, Y2 : int, Z3 : int]: ((ord_less_eq_int @ X2 @ Y2) => ((ord_less_eq_int @ Y2 @ Z3) => (ord_less_eq_int @ X2 @ Z3)))))). % order_trans
thf(fact_31_order__class_Oorder_Oantisym, axiom,
    ((![A3 : set_msg, B3 : set_msg]: ((ord_less_eq_set_msg @ A3 @ B3) => ((ord_less_eq_set_msg @ B3 @ A3) => (A3 = B3)))))). % order_class.order.antisym
thf(fact_32_order__class_Oorder_Oantisym, axiom,
    ((![A3 : nat, B3 : nat]: ((ord_less_eq_nat @ A3 @ B3) => ((ord_less_eq_nat @ B3 @ A3) => (A3 = B3)))))). % order_class.order.antisym
thf(fact_33_order__class_Oorder_Oantisym, axiom,
    ((![A3 : int, B3 : int]: ((ord_less_eq_int @ A3 @ B3) => ((ord_less_eq_int @ B3 @ A3) => (A3 = B3)))))). % order_class.order.antisym
thf(fact_34_ord__le__eq__trans, axiom,
    ((![A3 : set_msg, B3 : set_msg, C : set_msg]: ((ord_less_eq_set_msg @ A3 @ B3) => ((B3 = C) => (ord_less_eq_set_msg @ A3 @ C)))))). % ord_le_eq_trans
thf(fact_35_ord__le__eq__trans, axiom,
    ((![A3 : nat, B3 : nat, C : nat]: ((ord_less_eq_nat @ A3 @ B3) => ((B3 = C) => (ord_less_eq_nat @ A3 @ C)))))). % ord_le_eq_trans
thf(fact_36_ord__le__eq__trans, axiom,
    ((![A3 : int, B3 : int, C : int]: ((ord_less_eq_int @ A3 @ B3) => ((B3 = C) => (ord_less_eq_int @ A3 @ C)))))). % ord_le_eq_trans
thf(fact_37_ord__eq__le__trans, axiom,
    ((![A3 : set_msg, B3 : set_msg, C : set_msg]: ((A3 = B3) => ((ord_less_eq_set_msg @ B3 @ C) => (ord_less_eq_set_msg @ A3 @ C)))))). % ord_eq_le_trans
thf(fact_38_ord__eq__le__trans, axiom,
    ((![A3 : nat, B3 : nat, C : nat]: ((A3 = B3) => ((ord_less_eq_nat @ B3 @ C) => (ord_less_eq_nat @ A3 @ C)))))). % ord_eq_le_trans
thf(fact_39_ord__eq__le__trans, axiom,
    ((![A3 : int, B3 : int, C : int]: ((A3 = B3) => ((ord_less_eq_int @ B3 @ C) => (ord_less_eq_int @ A3 @ C)))))). % ord_eq_le_trans
thf(fact_40_order__class_Oorder_Oeq__iff, axiom,
    (((^[Y : set_msg]: (^[Z2 : set_msg]: (Y = Z2))) = (^[A4 : set_msg]: (^[B4 : set_msg]: (((ord_less_eq_set_msg @ A4 @ B4)) & ((ord_less_eq_set_msg @ B4 @ A4)))))))). % order_class.order.eq_iff
thf(fact_41_order__class_Oorder_Oeq__iff, axiom,
    (((^[Y : nat]: (^[Z2 : nat]: (Y = Z2))) = (^[A4 : nat]: (^[B4 : nat]: (((ord_less_eq_nat @ A4 @ B4)) & ((ord_less_eq_nat @ B4 @ A4)))))))). % order_class.order.eq_iff
thf(fact_42_order__class_Oorder_Oeq__iff, axiom,
    (((^[Y : int]: (^[Z2 : int]: (Y = Z2))) = (^[A4 : int]: (^[B4 : int]: (((ord_less_eq_int @ A4 @ B4)) & ((ord_less_eq_int @ B4 @ A4)))))))). % order_class.order.eq_iff
thf(fact_43_antisym__conv, axiom,
    ((![Y2 : set_msg, X2 : set_msg]: ((ord_less_eq_set_msg @ Y2 @ X2) => ((ord_less_eq_set_msg @ X2 @ Y2) = (X2 = Y2)))))). % antisym_conv
thf(fact_44_antisym__conv, axiom,
    ((![Y2 : nat, X2 : nat]: ((ord_less_eq_nat @ Y2 @ X2) => ((ord_less_eq_nat @ X2 @ Y2) = (X2 = Y2)))))). % antisym_conv
thf(fact_45_antisym__conv, axiom,
    ((![Y2 : int, X2 : int]: ((ord_less_eq_int @ Y2 @ X2) => ((ord_less_eq_int @ X2 @ Y2) = (X2 = Y2)))))). % antisym_conv
thf(fact_46_le__cases3, axiom,
    ((![X2 : nat, Y2 : nat, Z3 : nat]: (((ord_less_eq_nat @ X2 @ Y2) => (~ ((ord_less_eq_nat @ Y2 @ Z3)))) => (((ord_less_eq_nat @ Y2 @ X2) => (~ ((ord_less_eq_nat @ X2 @ Z3)))) => (((ord_less_eq_nat @ X2 @ Z3) => (~ ((ord_less_eq_nat @ Z3 @ Y2)))) => (((ord_less_eq_nat @ Z3 @ Y2) => (~ ((ord_less_eq_nat @ Y2 @ X2)))) => (((ord_less_eq_nat @ Y2 @ Z3) => (~ ((ord_less_eq_nat @ Z3 @ X2)))) => (~ (((ord_less_eq_nat @ Z3 @ X2) => (~ ((ord_less_eq_nat @ X2 @ Y2)))))))))))))). % le_cases3
thf(fact_47_le__cases3, axiom,
    ((![X2 : int, Y2 : int, Z3 : int]: (((ord_less_eq_int @ X2 @ Y2) => (~ ((ord_less_eq_int @ Y2 @ Z3)))) => (((ord_less_eq_int @ Y2 @ X2) => (~ ((ord_less_eq_int @ X2 @ Z3)))) => (((ord_less_eq_int @ X2 @ Z3) => (~ ((ord_less_eq_int @ Z3 @ Y2)))) => (((ord_less_eq_int @ Z3 @ Y2) => (~ ((ord_less_eq_int @ Y2 @ X2)))) => (((ord_less_eq_int @ Y2 @ Z3) => (~ ((ord_less_eq_int @ Z3 @ X2)))) => (~ (((ord_less_eq_int @ Z3 @ X2) => (~ ((ord_less_eq_int @ X2 @ Y2)))))))))))))). % le_cases3
thf(fact_48_order_Otrans, axiom,
    ((![A3 : set_msg, B3 : set_msg, C : set_msg]: ((ord_less_eq_set_msg @ A3 @ B3) => ((ord_less_eq_set_msg @ B3 @ C) => (ord_less_eq_set_msg @ A3 @ C)))))). % order.trans
thf(fact_49_order_Otrans, axiom,
    ((![A3 : nat, B3 : nat, C : nat]: ((ord_less_eq_nat @ A3 @ B3) => ((ord_less_eq_nat @ B3 @ C) => (ord_less_eq_nat @ A3 @ C)))))). % order.trans
thf(fact_50_order_Otrans, axiom,
    ((![A3 : int, B3 : int, C : int]: ((ord_less_eq_int @ A3 @ B3) => ((ord_less_eq_int @ B3 @ C) => (ord_less_eq_int @ A3 @ C)))))). % order.trans
thf(fact_51_le__cases, axiom,
    ((![X2 : nat, Y2 : nat]: ((~ ((ord_less_eq_nat @ X2 @ Y2))) => (ord_less_eq_nat @ Y2 @ X2))))). % le_cases
thf(fact_52_le__cases, axiom,
    ((![X2 : int, Y2 : int]: ((~ ((ord_less_eq_int @ X2 @ Y2))) => (ord_less_eq_int @ Y2 @ X2))))). % le_cases
thf(fact_53_eq__refl, axiom,
    ((![X2 : set_msg, Y2 : set_msg]: ((X2 = Y2) => (ord_less_eq_set_msg @ X2 @ Y2))))). % eq_refl
thf(fact_54_eq__refl, axiom,
    ((![X2 : nat, Y2 : nat]: ((X2 = Y2) => (ord_less_eq_nat @ X2 @ Y2))))). % eq_refl
thf(fact_55_eq__refl, axiom,
    ((![X2 : int, Y2 : int]: ((X2 = Y2) => (ord_less_eq_int @ X2 @ Y2))))). % eq_refl
thf(fact_56_linear, axiom,
    ((![X2 : nat, Y2 : nat]: ((ord_less_eq_nat @ X2 @ Y2) | (ord_less_eq_nat @ Y2 @ X2))))). % linear
thf(fact_57_linear, axiom,
    ((![X2 : int, Y2 : int]: ((ord_less_eq_int @ X2 @ Y2) | (ord_less_eq_int @ Y2 @ X2))))). % linear
thf(fact_58_antisym, axiom,
    ((![X2 : set_msg, Y2 : set_msg]: ((ord_less_eq_set_msg @ X2 @ Y2) => ((ord_less_eq_set_msg @ Y2 @ X2) => (X2 = Y2)))))). % antisym
thf(fact_59_antisym, axiom,
    ((![X2 : nat, Y2 : nat]: ((ord_less_eq_nat @ X2 @ Y2) => ((ord_less_eq_nat @ Y2 @ X2) => (X2 = Y2)))))). % antisym
thf(fact_60_antisym, axiom,
    ((![X2 : int, Y2 : int]: ((ord_less_eq_int @ X2 @ Y2) => ((ord_less_eq_int @ Y2 @ X2) => (X2 = Y2)))))). % antisym
thf(fact_61_eq__iff, axiom,
    (((^[Y : set_msg]: (^[Z2 : set_msg]: (Y = Z2))) = (^[X3 : set_msg]: (^[Y3 : set_msg]: (((ord_less_eq_set_msg @ X3 @ Y3)) & ((ord_less_eq_set_msg @ Y3 @ X3)))))))). % eq_iff
thf(fact_62_eq__iff, axiom,
    (((^[Y : nat]: (^[Z2 : nat]: (Y = Z2))) = (^[X3 : nat]: (^[Y3 : nat]: (((ord_less_eq_nat @ X3 @ Y3)) & ((ord_less_eq_nat @ Y3 @ X3)))))))). % eq_iff
thf(fact_63_eq__iff, axiom,
    (((^[Y : int]: (^[Z2 : int]: (Y = Z2))) = (^[X3 : int]: (^[Y3 : int]: (((ord_less_eq_int @ X3 @ Y3)) & ((ord_less_eq_int @ Y3 @ X3)))))))). % eq_iff
thf(fact_64_ord__le__eq__subst, axiom,
    ((![A3 : set_msg, B3 : set_msg, F : set_msg > set_msg, C : set_msg]: ((ord_less_eq_set_msg @ A3 @ B3) => (((F @ B3) = C) => ((![X : set_msg, Y4 : set_msg]: ((ord_less_eq_set_msg @ X @ Y4) => (ord_less_eq_set_msg @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_set_msg @ (F @ A3) @ C))))))). % ord_le_eq_subst
thf(fact_65_ord__le__eq__subst, axiom,
    ((![A3 : set_msg, B3 : set_msg, F : set_msg > nat, C : nat]: ((ord_less_eq_set_msg @ A3 @ B3) => (((F @ B3) = C) => ((![X : set_msg, Y4 : set_msg]: ((ord_less_eq_set_msg @ X @ Y4) => (ord_less_eq_nat @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_nat @ (F @ A3) @ C))))))). % ord_le_eq_subst
thf(fact_66_ord__le__eq__subst, axiom,
    ((![A3 : set_msg, B3 : set_msg, F : set_msg > int, C : int]: ((ord_less_eq_set_msg @ A3 @ B3) => (((F @ B3) = C) => ((![X : set_msg, Y4 : set_msg]: ((ord_less_eq_set_msg @ X @ Y4) => (ord_less_eq_int @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_int @ (F @ A3) @ C))))))). % ord_le_eq_subst
thf(fact_67_ord__le__eq__subst, axiom,
    ((![A3 : nat, B3 : nat, F : nat > set_msg, C : set_msg]: ((ord_less_eq_nat @ A3 @ B3) => (((F @ B3) = C) => ((![X : nat, Y4 : nat]: ((ord_less_eq_nat @ X @ Y4) => (ord_less_eq_set_msg @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_set_msg @ (F @ A3) @ C))))))). % ord_le_eq_subst
thf(fact_68_ord__le__eq__subst, axiom,
    ((![A3 : nat, B3 : nat, F : nat > nat, C : nat]: ((ord_less_eq_nat @ A3 @ B3) => (((F @ B3) = C) => ((![X : nat, Y4 : nat]: ((ord_less_eq_nat @ X @ Y4) => (ord_less_eq_nat @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_nat @ (F @ A3) @ C))))))). % ord_le_eq_subst
thf(fact_69_ord__le__eq__subst, axiom,
    ((![A3 : nat, B3 : nat, F : nat > int, C : int]: ((ord_less_eq_nat @ A3 @ B3) => (((F @ B3) = C) => ((![X : nat, Y4 : nat]: ((ord_less_eq_nat @ X @ Y4) => (ord_less_eq_int @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_int @ (F @ A3) @ C))))))). % ord_le_eq_subst
thf(fact_70_ord__le__eq__subst, axiom,
    ((![A3 : int, B3 : int, F : int > set_msg, C : set_msg]: ((ord_less_eq_int @ A3 @ B3) => (((F @ B3) = C) => ((![X : int, Y4 : int]: ((ord_less_eq_int @ X @ Y4) => (ord_less_eq_set_msg @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_set_msg @ (F @ A3) @ C))))))). % ord_le_eq_subst
thf(fact_71_ord__le__eq__subst, axiom,
    ((![A3 : int, B3 : int, F : int > nat, C : nat]: ((ord_less_eq_int @ A3 @ B3) => (((F @ B3) = C) => ((![X : int, Y4 : int]: ((ord_less_eq_int @ X @ Y4) => (ord_less_eq_nat @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_nat @ (F @ A3) @ C))))))). % ord_le_eq_subst
thf(fact_72_ord__le__eq__subst, axiom,
    ((![A3 : int, B3 : int, F : int > int, C : int]: ((ord_less_eq_int @ A3 @ B3) => (((F @ B3) = C) => ((![X : int, Y4 : int]: ((ord_less_eq_int @ X @ Y4) => (ord_less_eq_int @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_int @ (F @ A3) @ C))))))). % ord_le_eq_subst
thf(fact_73_ord__eq__le__subst, axiom,
    ((![A3 : set_msg, F : set_msg > set_msg, B3 : set_msg, C : set_msg]: ((A3 = (F @ B3)) => ((ord_less_eq_set_msg @ B3 @ C) => ((![X : set_msg, Y4 : set_msg]: ((ord_less_eq_set_msg @ X @ Y4) => (ord_less_eq_set_msg @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_set_msg @ A3 @ (F @ C)))))))). % ord_eq_le_subst
thf(fact_74_ord__eq__le__subst, axiom,
    ((![A3 : nat, F : set_msg > nat, B3 : set_msg, C : set_msg]: ((A3 = (F @ B3)) => ((ord_less_eq_set_msg @ B3 @ C) => ((![X : set_msg, Y4 : set_msg]: ((ord_less_eq_set_msg @ X @ Y4) => (ord_less_eq_nat @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_nat @ A3 @ (F @ C)))))))). % ord_eq_le_subst
thf(fact_75_ord__eq__le__subst, axiom,
    ((![A3 : int, F : set_msg > int, B3 : set_msg, C : set_msg]: ((A3 = (F @ B3)) => ((ord_less_eq_set_msg @ B3 @ C) => ((![X : set_msg, Y4 : set_msg]: ((ord_less_eq_set_msg @ X @ Y4) => (ord_less_eq_int @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_int @ A3 @ (F @ C)))))))). % ord_eq_le_subst
thf(fact_76_ord__eq__le__subst, axiom,
    ((![A3 : set_msg, F : nat > set_msg, B3 : nat, C : nat]: ((A3 = (F @ B3)) => ((ord_less_eq_nat @ B3 @ C) => ((![X : nat, Y4 : nat]: ((ord_less_eq_nat @ X @ Y4) => (ord_less_eq_set_msg @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_set_msg @ A3 @ (F @ C)))))))). % ord_eq_le_subst
thf(fact_77_ord__eq__le__subst, axiom,
    ((![A3 : nat, F : nat > nat, B3 : nat, C : nat]: ((A3 = (F @ B3)) => ((ord_less_eq_nat @ B3 @ C) => ((![X : nat, Y4 : nat]: ((ord_less_eq_nat @ X @ Y4) => (ord_less_eq_nat @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_nat @ A3 @ (F @ C)))))))). % ord_eq_le_subst
thf(fact_78_ord__eq__le__subst, axiom,
    ((![A3 : int, F : nat > int, B3 : nat, C : nat]: ((A3 = (F @ B3)) => ((ord_less_eq_nat @ B3 @ C) => ((![X : nat, Y4 : nat]: ((ord_less_eq_nat @ X @ Y4) => (ord_less_eq_int @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_int @ A3 @ (F @ C)))))))). % ord_eq_le_subst
thf(fact_79_ord__eq__le__subst, axiom,
    ((![A3 : set_msg, F : int > set_msg, B3 : int, C : int]: ((A3 = (F @ B3)) => ((ord_less_eq_int @ B3 @ C) => ((![X : int, Y4 : int]: ((ord_less_eq_int @ X @ Y4) => (ord_less_eq_set_msg @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_set_msg @ A3 @ (F @ C)))))))). % ord_eq_le_subst
thf(fact_80_ord__eq__le__subst, axiom,
    ((![A3 : nat, F : int > nat, B3 : int, C : int]: ((A3 = (F @ B3)) => ((ord_less_eq_int @ B3 @ C) => ((![X : int, Y4 : int]: ((ord_less_eq_int @ X @ Y4) => (ord_less_eq_nat @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_nat @ A3 @ (F @ C)))))))). % ord_eq_le_subst
thf(fact_81_ord__eq__le__subst, axiom,
    ((![A3 : int, F : int > int, B3 : int, C : int]: ((A3 = (F @ B3)) => ((ord_less_eq_int @ B3 @ C) => ((![X : int, Y4 : int]: ((ord_less_eq_int @ X @ Y4) => (ord_less_eq_int @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_int @ A3 @ (F @ C)))))))). % ord_eq_le_subst
thf(fact_82_order__subst2, axiom,
    ((![A3 : set_msg, B3 : set_msg, F : set_msg > set_msg, C : set_msg]: ((ord_less_eq_set_msg @ A3 @ B3) => ((ord_less_eq_set_msg @ (F @ B3) @ C) => ((![X : set_msg, Y4 : set_msg]: ((ord_less_eq_set_msg @ X @ Y4) => (ord_less_eq_set_msg @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_set_msg @ (F @ A3) @ C))))))). % order_subst2
thf(fact_83_order__subst2, axiom,
    ((![A3 : set_msg, B3 : set_msg, F : set_msg > nat, C : nat]: ((ord_less_eq_set_msg @ A3 @ B3) => ((ord_less_eq_nat @ (F @ B3) @ C) => ((![X : set_msg, Y4 : set_msg]: ((ord_less_eq_set_msg @ X @ Y4) => (ord_less_eq_nat @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_nat @ (F @ A3) @ C))))))). % order_subst2
thf(fact_84_order__subst2, axiom,
    ((![A3 : set_msg, B3 : set_msg, F : set_msg > int, C : int]: ((ord_less_eq_set_msg @ A3 @ B3) => ((ord_less_eq_int @ (F @ B3) @ C) => ((![X : set_msg, Y4 : set_msg]: ((ord_less_eq_set_msg @ X @ Y4) => (ord_less_eq_int @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_int @ (F @ A3) @ C))))))). % order_subst2
thf(fact_85_order__subst2, axiom,
    ((![A3 : nat, B3 : nat, F : nat > set_msg, C : set_msg]: ((ord_less_eq_nat @ A3 @ B3) => ((ord_less_eq_set_msg @ (F @ B3) @ C) => ((![X : nat, Y4 : nat]: ((ord_less_eq_nat @ X @ Y4) => (ord_less_eq_set_msg @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_set_msg @ (F @ A3) @ C))))))). % order_subst2
thf(fact_86_order__subst2, axiom,
    ((![A3 : nat, B3 : nat, F : nat > nat, C : nat]: ((ord_less_eq_nat @ A3 @ B3) => ((ord_less_eq_nat @ (F @ B3) @ C) => ((![X : nat, Y4 : nat]: ((ord_less_eq_nat @ X @ Y4) => (ord_less_eq_nat @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_nat @ (F @ A3) @ C))))))). % order_subst2
thf(fact_87_order__subst2, axiom,
    ((![A3 : nat, B3 : nat, F : nat > int, C : int]: ((ord_less_eq_nat @ A3 @ B3) => ((ord_less_eq_int @ (F @ B3) @ C) => ((![X : nat, Y4 : nat]: ((ord_less_eq_nat @ X @ Y4) => (ord_less_eq_int @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_int @ (F @ A3) @ C))))))). % order_subst2
thf(fact_88_order__subst2, axiom,
    ((![A3 : int, B3 : int, F : int > set_msg, C : set_msg]: ((ord_less_eq_int @ A3 @ B3) => ((ord_less_eq_set_msg @ (F @ B3) @ C) => ((![X : int, Y4 : int]: ((ord_less_eq_int @ X @ Y4) => (ord_less_eq_set_msg @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_set_msg @ (F @ A3) @ C))))))). % order_subst2
thf(fact_89_order__subst2, axiom,
    ((![A3 : int, B3 : int, F : int > nat, C : nat]: ((ord_less_eq_int @ A3 @ B3) => ((ord_less_eq_nat @ (F @ B3) @ C) => ((![X : int, Y4 : int]: ((ord_less_eq_int @ X @ Y4) => (ord_less_eq_nat @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_nat @ (F @ A3) @ C))))))). % order_subst2
thf(fact_90_order__subst2, axiom,
    ((![A3 : int, B3 : int, F : int > int, C : int]: ((ord_less_eq_int @ A3 @ B3) => ((ord_less_eq_int @ (F @ B3) @ C) => ((![X : int, Y4 : int]: ((ord_less_eq_int @ X @ Y4) => (ord_less_eq_int @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_int @ (F @ A3) @ C))))))). % order_subst2
thf(fact_91_order__subst1, axiom,
    ((![A3 : set_msg, F : set_msg > set_msg, B3 : set_msg, C : set_msg]: ((ord_less_eq_set_msg @ A3 @ (F @ B3)) => ((ord_less_eq_set_msg @ B3 @ C) => ((![X : set_msg, Y4 : set_msg]: ((ord_less_eq_set_msg @ X @ Y4) => (ord_less_eq_set_msg @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_set_msg @ A3 @ (F @ C)))))))). % order_subst1
thf(fact_92_order__subst1, axiom,
    ((![A3 : set_msg, F : nat > set_msg, B3 : nat, C : nat]: ((ord_less_eq_set_msg @ A3 @ (F @ B3)) => ((ord_less_eq_nat @ B3 @ C) => ((![X : nat, Y4 : nat]: ((ord_less_eq_nat @ X @ Y4) => (ord_less_eq_set_msg @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_set_msg @ A3 @ (F @ C)))))))). % order_subst1
thf(fact_93_order__subst1, axiom,
    ((![A3 : set_msg, F : int > set_msg, B3 : int, C : int]: ((ord_less_eq_set_msg @ A3 @ (F @ B3)) => ((ord_less_eq_int @ B3 @ C) => ((![X : int, Y4 : int]: ((ord_less_eq_int @ X @ Y4) => (ord_less_eq_set_msg @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_set_msg @ A3 @ (F @ C)))))))). % order_subst1
thf(fact_94_order__subst1, axiom,
    ((![A3 : nat, F : set_msg > nat, B3 : set_msg, C : set_msg]: ((ord_less_eq_nat @ A3 @ (F @ B3)) => ((ord_less_eq_set_msg @ B3 @ C) => ((![X : set_msg, Y4 : set_msg]: ((ord_less_eq_set_msg @ X @ Y4) => (ord_less_eq_nat @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_nat @ A3 @ (F @ C)))))))). % order_subst1
thf(fact_95_order__subst1, axiom,
    ((![A3 : nat, F : nat > nat, B3 : nat, C : nat]: ((ord_less_eq_nat @ A3 @ (F @ B3)) => ((ord_less_eq_nat @ B3 @ C) => ((![X : nat, Y4 : nat]: ((ord_less_eq_nat @ X @ Y4) => (ord_less_eq_nat @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_nat @ A3 @ (F @ C)))))))). % order_subst1
thf(fact_96_order__subst1, axiom,
    ((![A3 : nat, F : int > nat, B3 : int, C : int]: ((ord_less_eq_nat @ A3 @ (F @ B3)) => ((ord_less_eq_int @ B3 @ C) => ((![X : int, Y4 : int]: ((ord_less_eq_int @ X @ Y4) => (ord_less_eq_nat @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_nat @ A3 @ (F @ C)))))))). % order_subst1
thf(fact_97_order__subst1, axiom,
    ((![A3 : int, F : set_msg > int, B3 : set_msg, C : set_msg]: ((ord_less_eq_int @ A3 @ (F @ B3)) => ((ord_less_eq_set_msg @ B3 @ C) => ((![X : set_msg, Y4 : set_msg]: ((ord_less_eq_set_msg @ X @ Y4) => (ord_less_eq_int @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_int @ A3 @ (F @ C)))))))). % order_subst1
thf(fact_98_order__subst1, axiom,
    ((![A3 : int, F : nat > int, B3 : nat, C : nat]: ((ord_less_eq_int @ A3 @ (F @ B3)) => ((ord_less_eq_nat @ B3 @ C) => ((![X : nat, Y4 : nat]: ((ord_less_eq_nat @ X @ Y4) => (ord_less_eq_int @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_int @ A3 @ (F @ C)))))))). % order_subst1
thf(fact_99_order__subst1, axiom,
    ((![A3 : int, F : int > int, B3 : int, C : int]: ((ord_less_eq_int @ A3 @ (F @ B3)) => ((ord_less_eq_int @ B3 @ C) => ((![X : int, Y4 : int]: ((ord_less_eq_int @ X @ Y4) => (ord_less_eq_int @ (F @ X) @ (F @ Y4)))) => (ord_less_eq_int @ A3 @ (F @ C)))))))). % order_subst1
thf(fact_100_Collect__mono__iff, axiom,
    ((![P : msg > $o, Q : msg > $o]: ((ord_less_eq_set_msg @ (collect_msg @ P) @ (collect_msg @ Q)) = (![X3 : msg]: (((P @ X3)) => ((Q @ X3)))))))). % Collect_mono_iff
thf(fact_101_set__eq__subset, axiom,
    (((^[Y : set_msg]: (^[Z2 : set_msg]: (Y = Z2))) = (^[A2 : set_msg]: (^[B2 : set_msg]: (((ord_less_eq_set_msg @ A2 @ B2)) & ((ord_less_eq_set_msg @ B2 @ A2)))))))). % set_eq_subset
thf(fact_102_subset__trans, axiom,
    ((![A : set_msg, B : set_msg, C2 : set_msg]: ((ord_less_eq_set_msg @ A @ B) => ((ord_less_eq_set_msg @ B @ C2) => (ord_less_eq_set_msg @ A @ C2)))))). % subset_trans
thf(fact_103_Collect__mono, axiom,
    ((![P : msg > $o, Q : msg > $o]: ((![X : msg]: ((P @ X) => (Q @ X))) => (ord_less_eq_set_msg @ (collect_msg @ P) @ (collect_msg @ Q)))))). % Collect_mono
thf(fact_104_subset__refl, axiom,
    ((![A : set_msg]: (ord_less_eq_set_msg @ A @ A)))). % subset_refl
thf(fact_105_subset__iff, axiom,
    ((ord_less_eq_set_msg = (^[A2 : set_msg]: (^[B2 : set_msg]: (![T : msg]: (((member_msg @ T @ A2)) => ((member_msg @ T @ B2))))))))). % subset_iff
thf(fact_106_mem__Collect__eq, axiom,
    ((![A3 : msg, P : msg > $o]: ((member_msg @ A3 @ (collect_msg @ P)) = (P @ A3))))). % mem_Collect_eq
thf(fact_107_Collect__mem__eq, axiom,
    ((![A : set_msg]: ((collect_msg @ (^[X3 : msg]: (member_msg @ X3 @ A))) = A)))). % Collect_mem_eq
thf(fact_108_Collect__cong, axiom,
    ((![P : msg > $o, Q : msg > $o]: ((![X : msg]: ((P @ X) = (Q @ X))) => ((collect_msg @ P) = (collect_msg @ Q)))))). % Collect_cong
thf(fact_109_equalityD2, axiom,
    ((![A : set_msg, B : set_msg]: ((A = B) => (ord_less_eq_set_msg @ B @ A))))). % equalityD2
thf(fact_110_equalityD1, axiom,
    ((![A : set_msg, B : set_msg]: ((A = B) => (ord_less_eq_set_msg @ A @ B))))). % equalityD1
thf(fact_111_subset__eq, axiom,
    ((ord_less_eq_set_msg = (^[A2 : set_msg]: (^[B2 : set_msg]: (![X3 : msg]: (((member_msg @ X3 @ A2)) => ((member_msg @ X3 @ B2))))))))). % subset_eq
thf(fact_112_equalityE, axiom,
    ((![A : set_msg, B : set_msg]: ((A = B) => (~ (((ord_less_eq_set_msg @ A @ B) => (~ ((ord_less_eq_set_msg @ B @ A)))))))))). % equalityE
thf(fact_113_subsetD, axiom,
    ((![A : set_msg, B : set_msg, C : msg]: ((ord_less_eq_set_msg @ A @ B) => ((member_msg @ C @ A) => (member_msg @ C @ B)))))). % subsetD
thf(fact_114_in__mono, axiom,
    ((![A : set_msg, B : set_msg, X2 : msg]: ((ord_less_eq_set_msg @ A @ B) => ((member_msg @ X2 @ A) => (member_msg @ X2 @ B)))))). % in_mono
thf(fact_115_pred__subset__eq, axiom,
    ((![R : set_msg, S : set_msg]: ((ord_less_eq_msg_o @ (^[X3 : msg]: (member_msg @ X3 @ R)) @ (^[X3 : msg]: (member_msg @ X3 @ S))) = (ord_less_eq_set_msg @ R @ S))))). % pred_subset_eq
thf(fact_116_list__ex1__simps_I1_J, axiom,
    ((![P : event > $o]: (~ ((list_ex1_event @ P @ nil_event)))))). % list_ex1_simps(1)
thf(fact_117_bind__simps_I1_J, axiom,
    ((![F : event > list_event]: ((bind_event_event @ nil_event @ F) = nil_event)))). % bind_simps(1)
thf(fact_118_Greatest__equality, axiom,
    ((![P : set_msg > $o, X2 : set_msg]: ((P @ X2) => ((![Y4 : set_msg]: ((P @ Y4) => (ord_less_eq_set_msg @ Y4 @ X2))) => ((order_1537173811et_msg @ P) = X2)))))). % Greatest_equality
thf(fact_119_Greatest__equality, axiom,
    ((![P : int > $o, X2 : int]: ((P @ X2) => ((![Y4 : int]: ((P @ Y4) => (ord_less_eq_int @ Y4 @ X2))) => ((order_Greatest_int @ P) = X2)))))). % Greatest_equality
thf(fact_120_Greatest__equality, axiom,
    ((![P : nat > $o, X2 : nat]: ((P @ X2) => ((![Y4 : nat]: ((P @ Y4) => (ord_less_eq_nat @ Y4 @ X2))) => ((order_Greatest_nat @ P) = X2)))))). % Greatest_equality
thf(fact_121_GreatestI2__order, axiom,
    ((![P : set_msg > $o, X2 : set_msg, Q : set_msg > $o]: ((P @ X2) => ((![Y4 : set_msg]: ((P @ Y4) => (ord_less_eq_set_msg @ Y4 @ X2))) => ((![X : set_msg]: ((P @ X) => ((![Y5 : set_msg]: ((P @ Y5) => (ord_less_eq_set_msg @ Y5 @ X))) => (Q @ X)))) => (Q @ (order_1537173811et_msg @ P)))))))). % GreatestI2_order
thf(fact_122_GreatestI2__order, axiom,
    ((![P : int > $o, X2 : int, Q : int > $o]: ((P @ X2) => ((![Y4 : int]: ((P @ Y4) => (ord_less_eq_int @ Y4 @ X2))) => ((![X : int]: ((P @ X) => ((![Y5 : int]: ((P @ Y5) => (ord_less_eq_int @ Y5 @ X))) => (Q @ X)))) => (Q @ (order_Greatest_int @ P)))))))). % GreatestI2_order
thf(fact_123_GreatestI2__order, axiom,
    ((![P : nat > $o, X2 : nat, Q : nat > $o]: ((P @ X2) => ((![Y4 : nat]: ((P @ Y4) => (ord_less_eq_nat @ Y4 @ X2))) => ((![X : nat]: ((P @ X) => ((![Y5 : nat]: ((P @ Y5) => (ord_less_eq_nat @ Y5 @ X))) => (Q @ X)))) => (Q @ (order_Greatest_nat @ P)))))))). % GreatestI2_order
thf(fact_124_member__rec_I2_J, axiom,
    ((![Y2 : event]: (~ ((member_event @ nil_event @ Y2)))))). % member_rec(2)
thf(fact_125_le__rel__bool__arg__iff, axiom,
    ((ord_le1824574709et_msg = (^[X5 : $o > set_msg]: (^[Y6 : $o > set_msg]: (((ord_less_eq_set_msg @ (X5 @ $false) @ (Y6 @ $false))) & ((ord_less_eq_set_msg @ (X5 @ $true) @ (Y6 @ $true))))))))). % le_rel_bool_arg_iff
thf(fact_126_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_127_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_128_verit__la__disequality, axiom,
    ((![A3 : nat, B3 : nat]: ((A3 = B3) | ((~ ((ord_less_eq_nat @ A3 @ B3))) | (~ ((ord_less_eq_nat @ B3 @ A3)))))))). % verit_la_disequality
thf(fact_129_verit__la__disequality, axiom,
    ((![A3 : int, B3 : int]: ((A3 = B3) | ((~ ((ord_less_eq_int @ A3 @ B3))) | (~ ((ord_less_eq_int @ B3 @ A3)))))))). % verit_la_disequality
thf(fact_130_gen__length__code_I1_J, axiom,
    ((![N : nat]: ((gen_length_event @ N @ nil_event) = N)))). % gen_length_code(1)
thf(fact_131_maps__simps_I2_J, axiom,
    ((![F : event > list_event]: ((maps_event_event @ F @ nil_event) = nil_event)))). % maps_simps(2)
thf(fact_132_takeWhile__replicate, axiom,
    ((![P : event > $o, X2 : event, N : nat]: (((P @ X2) => ((takeWhile_event @ P @ (replicate_event @ N @ X2)) = (replicate_event @ N @ X2))) & ((~ ((P @ X2))) => ((takeWhile_event @ P @ (replicate_event @ N @ X2)) = nil_event)))))). % takeWhile_replicate
thf(fact_133_null__rec_I2_J, axiom,
    ((null_event @ nil_event))). % null_rec(2)
thf(fact_134_eq__Nil__null, axiom,
    ((![Xs : list_event]: ((Xs = nil_event) = (null_event @ Xs))))). % eq_Nil_null
thf(fact_135_replicate__empty, axiom,
    ((![N : nat, X2 : event]: (((replicate_event @ N @ X2) = nil_event) = (N = zero_zero_nat))))). % replicate_empty
thf(fact_136_empty__replicate, axiom,
    ((![N : nat, X2 : event]: ((nil_event = (replicate_event @ N @ X2)) = (N = zero_zero_nat))))). % empty_replicate
thf(fact_137_dropWhile__replicate, axiom,
    ((![P : event > $o, X2 : event, N : nat]: (((P @ X2) => ((dropWhile_event @ P @ (replicate_event @ N @ X2)) = nil_event)) & ((~ ((P @ X2))) => ((dropWhile_event @ P @ (replicate_event @ N @ X2)) = (replicate_event @ N @ X2))))))). % dropWhile_replicate
thf(fact_138_map__filter__simps_I2_J, axiom,
    ((![F : event > option_event]: ((map_fi840258512_event @ F @ nil_event) = nil_event)))). % map_filter_simps(2)
thf(fact_139_dropWhile_Osimps_I1_J, axiom,
    ((![P : event > $o]: ((dropWhile_event @ P @ nil_event) = nil_event)))). % dropWhile.simps(1)
thf(fact_140_replicate__0, axiom,
    ((![X2 : event]: ((replicate_event @ zero_zero_nat @ X2) = nil_event)))). % replicate_0
thf(fact_141_le__zero__eq, axiom,
    ((![N : nat]: ((ord_less_eq_nat @ N @ zero_zero_nat) = (N = zero_zero_nat))))). % le_zero_eq
thf(fact_142_le0, axiom,
    ((![N : nat]: (ord_less_eq_nat @ zero_zero_nat @ N)))). % le0
thf(fact_143_bot__nat__0_Oextremum, axiom,
    ((![A3 : nat]: (ord_less_eq_nat @ zero_zero_nat @ A3)))). % bot_nat_0.extremum
thf(fact_144_Nat_Oex__has__greatest__nat, axiom,
    ((![P : nat > $o, K : nat, B3 : nat]: ((P @ K) => ((![Y4 : nat]: ((P @ Y4) => (ord_less_eq_nat @ Y4 @ B3))) => (?[X : nat]: ((P @ X) & (![Y5 : nat]: ((P @ Y5) => (ord_less_eq_nat @ Y5 @ X)))))))))). % Nat.ex_has_greatest_nat
thf(fact_145_GreatestI__ex__nat, axiom,
    ((![P : nat > $o, B3 : nat]: ((?[X_1 : nat]: (P @ X_1)) => ((![Y4 : nat]: ((P @ Y4) => (ord_less_eq_nat @ Y4 @ B3))) => (P @ (order_Greatest_nat @ P))))))). % GreatestI_ex_nat
thf(fact_146_Greatest__le__nat, axiom,
    ((![P : nat > $o, K : nat, B3 : nat]: ((P @ K) => ((![Y4 : nat]: ((P @ Y4) => (ord_less_eq_nat @ Y4 @ B3))) => (ord_less_eq_nat @ K @ (order_Greatest_nat @ P))))))). % Greatest_le_nat
thf(fact_147_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_148_GreatestI__nat, axiom,
    ((![P : nat > $o, K : nat, B3 : nat]: ((P @ K) => ((![Y4 : nat]: ((P @ Y4) => (ord_less_eq_nat @ Y4 @ B3))) => (P @ (order_Greatest_nat @ P))))))). % GreatestI_nat
thf(fact_149_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_150_eq__imp__le, axiom,
    ((![M : nat, N : nat]: ((M = N) => (ord_less_eq_nat @ M @ N))))). % eq_imp_le
thf(fact_151_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_152_le__refl, axiom,
    ((![N : nat]: (ord_less_eq_nat @ N @ N)))). % le_refl
thf(fact_153_zero__reorient, axiom,
    ((![X2 : nat]: ((zero_zero_nat = X2) = (X2 = zero_zero_nat))))). % zero_reorient
thf(fact_154_zero__reorient, axiom,
    ((![X2 : int]: ((zero_zero_int = X2) = (X2 = zero_zero_int))))). % zero_reorient
thf(fact_155_bot__nat__0_Oextremum__uniqueI, axiom,
    ((![A3 : nat]: ((ord_less_eq_nat @ A3 @ zero_zero_nat) => (A3 = zero_zero_nat))))). % bot_nat_0.extremum_uniqueI
thf(fact_156_bot__nat__0_Oextremum__unique, axiom,
    ((![A3 : nat]: ((ord_less_eq_nat @ A3 @ zero_zero_nat) = (A3 = zero_zero_nat))))). % bot_nat_0.extremum_unique
thf(fact_157_le__0__eq, axiom,
    ((![N : nat]: ((ord_less_eq_nat @ N @ zero_zero_nat) = (N = zero_zero_nat))))). % le_0_eq
thf(fact_158_less__eq__nat_Osimps_I1_J, axiom,
    ((![N : nat]: (ord_less_eq_nat @ zero_zero_nat @ N)))). % less_eq_nat.simps(1)
thf(fact_159_zero__le, axiom,
    ((![X2 : nat]: (ord_less_eq_nat @ zero_zero_nat @ X2)))). % zero_le
thf(fact_160_le__numeral__extra_I3_J, axiom,
    ((ord_less_eq_nat @ zero_zero_nat @ zero_zero_nat))). % le_numeral_extra(3)
thf(fact_161_le__numeral__extra_I3_J, axiom,
    ((ord_less_eq_int @ zero_zero_int @ zero_zero_int))). % le_numeral_extra(3)
thf(fact_162_count__list_Osimps_I1_J, axiom,
    ((![Y2 : event]: ((count_list_event @ nil_event @ Y2) = zero_zero_nat)))). % count_list.simps(1)
thf(fact_163_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_164_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_165_bounded__Max__nat, axiom,
    ((![P : nat > $o, X2 : nat, M2 : nat]: ((P @ X2) => ((![X : nat]: ((P @ X) => (ord_less_eq_nat @ X @ M2))) => (~ ((![M3 : nat]: ((P @ M3) => (~ ((![X6 : nat]: ((P @ X6) => (ord_less_eq_nat @ X6 @ M3)))))))))))))). % bounded_Max_nat
thf(fact_166_of__nat__eq__iff, axiom,
    ((![M : nat, N : nat]: (((semiri2019852685at_int @ M) = (semiri2019852685at_int @ N)) = (M = N))))). % of_nat_eq_iff
thf(fact_167_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_168_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_169_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_170_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_171_of__nat__0, axiom,
    (((semiri1382578993at_nat @ zero_zero_nat) = zero_zero_nat))). % of_nat_0
thf(fact_172_of__nat__0, axiom,
    (((semiri2019852685at_int @ zero_zero_nat) = zero_zero_int))). % of_nat_0
thf(fact_173_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_174_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_175_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_176_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_177_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_178_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_179_nat__int__comparison_I3_J, axiom,
    ((ord_less_eq_nat = (^[A4 : nat]: (^[B4 : nat]: (ord_less_eq_int @ (semiri2019852685at_int @ A4) @ (semiri2019852685at_int @ B4))))))). % nat_int_comparison(3)
thf(fact_180_nat__leq__as__int, axiom,
    ((ord_less_eq_nat = (^[A4 : nat]: (^[B4 : nat]: (ord_less_eq_int @ (semiri2019852685at_int @ A4) @ (semiri2019852685at_int @ B4))))))). % nat_leq_as_int
thf(fact_181_int__ops_I1_J, axiom,
    (((semiri2019852685at_int @ zero_zero_nat) = zero_zero_int))). % int_ops(1)
thf(fact_182_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_183_zero__natural_Orsp, axiom,
    ((zero_zero_nat = zero_zero_nat))). % zero_natural.rsp
thf(fact_184_int__if, axiom,
    ((![P : $o, A3 : nat, B3 : nat]: ((P => ((semiri2019852685at_int @ (if_nat @ P @ A3 @ B3)) = (semiri2019852685at_int @ A3))) & ((~ (P)) => ((semiri2019852685at_int @ (if_nat @ P @ A3 @ B3)) = (semiri2019852685at_int @ B3))))))). % int_if
thf(fact_185_nat__int__comparison_I1_J, axiom,
    (((^[Y : nat]: (^[Z2 : nat]: (Y = Z2))) = (^[A4 : nat]: (^[B4 : nat]: ((semiri2019852685at_int @ A4) = (semiri2019852685at_int @ B4))))))). % nat_int_comparison(1)
thf(fact_186_zero__le__imp__eq__int, axiom,
    ((![K : int]: ((ord_less_eq_int @ zero_zero_int @ K) => (?[N2 : nat]: (K = (semiri2019852685at_int @ N2))))))). % zero_le_imp_eq_int
thf(fact_187_nonneg__int__cases, axiom,
    ((![K : int]: ((ord_less_eq_int @ zero_zero_int @ K) => (~ ((![N2 : nat]: (~ ((K = (semiri2019852685at_int @ N2))))))))))). % nonneg_int_cases
thf(fact_188_less__eq__int__code_I1_J, axiom,
    ((ord_less_eq_int @ zero_zero_int @ zero_zero_int))). % less_eq_int_code(1)
thf(fact_189_zero__integer_Orsp, axiom,
    ((zero_zero_int = zero_zero_int))). % zero_integer.rsp
thf(fact_190_verit__la__generic, axiom,
    ((![A3 : int, X2 : int]: ((ord_less_eq_int @ A3 @ X2) | ((A3 = X2) | (ord_less_eq_int @ X2 @ A3)))))). % verit_la_generic
thf(fact_191_imp__le__cong, axiom,
    ((![X2 : int, X7 : int, P : $o, P2 : $o]: ((X2 = X7) => (((ord_less_eq_int @ zero_zero_int @ X7) => (P = P2)) => ((((ord_less_eq_int @ zero_zero_int @ X2)) => (P)) = (((ord_less_eq_int @ zero_zero_int @ X7)) => (P2)))))))). % imp_le_cong
thf(fact_192_conj__le__cong, axiom,
    ((![X2 : int, X7 : int, P : $o, P2 : $o]: ((X2 = X7) => (((ord_less_eq_int @ zero_zero_int @ X7) => (P = P2)) => ((((ord_less_eq_int @ zero_zero_int @ X2)) & (P)) = (((ord_less_eq_int @ zero_zero_int @ X7)) & (P2)))))))). % conj_le_cong
thf(fact_193_of__int__le__0__iff, axiom,
    ((![Z3 : int]: ((ord_less_eq_int @ (ring_1_of_int_int @ Z3) @ zero_zero_int) = (ord_less_eq_int @ Z3 @ zero_zero_int))))). % of_int_le_0_iff
thf(fact_194_of__int__0__le__iff, axiom,
    ((![Z3 : int]: ((ord_less_eq_int @ zero_zero_int @ (ring_1_of_int_int @ Z3)) = (ord_less_eq_int @ zero_zero_int @ Z3))))). % of_int_0_le_iff
thf(fact_195_of__int__0, axiom,
    (((ring_1_of_int_int @ zero_zero_int) = zero_zero_int))). % of_int_0
thf(fact_196_of__int__0__eq__iff, axiom,
    ((![Z3 : int]: ((zero_zero_int = (ring_1_of_int_int @ Z3)) = (Z3 = zero_zero_int))))). % of_int_0_eq_iff
thf(fact_197_of__int__eq__0__iff, axiom,
    ((![Z3 : int]: (((ring_1_of_int_int @ Z3) = zero_zero_int) = (Z3 = zero_zero_int))))). % of_int_eq_0_iff
thf(fact_198_of__int__le__iff, axiom,
    ((![W : int, Z3 : int]: ((ord_less_eq_int @ (ring_1_of_int_int @ W) @ (ring_1_of_int_int @ Z3)) = (ord_less_eq_int @ W @ Z3))))). % of_int_le_iff
thf(fact_199_of__int__nonneg, axiom,
    ((![Z3 : int]: ((ord_less_eq_int @ zero_zero_int @ Z3) => (ord_less_eq_int @ zero_zero_int @ (ring_1_of_int_int @ Z3)))))). % of_int_nonneg
thf(fact_200_of__nat__nat, axiom,
    ((![Z3 : int]: ((ord_less_eq_int @ zero_zero_int @ Z3) => ((semiri2019852685at_int @ (nat2 @ Z3)) = (ring_1_of_int_int @ Z3)))))). % of_nat_nat
thf(fact_201_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_202_nat__0__iff, axiom,
    ((![I : int]: (((nat2 @ I) = zero_zero_nat) = (ord_less_eq_int @ I @ zero_zero_int))))). % nat_0_iff
thf(fact_203_nat__le__0, axiom,
    ((![Z3 : int]: ((ord_less_eq_int @ Z3 @ zero_zero_int) => ((nat2 @ Z3) = zero_zero_nat))))). % nat_le_0
thf(fact_204_int__nat__eq, axiom,
    ((![Z3 : int]: (((ord_less_eq_int @ zero_zero_int @ Z3) => ((semiri2019852685at_int @ (nat2 @ Z3)) = Z3)) & ((~ ((ord_less_eq_int @ zero_zero_int @ Z3))) => ((semiri2019852685at_int @ (nat2 @ Z3)) = zero_zero_int)))))). % int_nat_eq
thf(fact_205_ex__nat, axiom,
    (((^[P3 : nat > $o]: (?[X8 : nat]: (P3 @ X8))) = (^[P4 : nat > $o]: (?[X3 : int]: (((ord_less_eq_int @ zero_zero_int @ X3)) & ((P4 @ (nat2 @ X3))))))))). % ex_nat
thf(fact_206_all__nat, axiom,
    (((^[P3 : nat > $o]: (![X8 : nat]: (P3 @ X8))) = (^[P4 : nat > $o]: (![X3 : int]: (((ord_less_eq_int @ zero_zero_int @ X3)) => ((P4 @ (nat2 @ X3))))))))). % all_nat
thf(fact_207_eq__nat__nat__iff, axiom,
    ((![Z3 : int, Z4 : int]: ((ord_less_eq_int @ zero_zero_int @ Z3) => ((ord_less_eq_int @ zero_zero_int @ Z4) => (((nat2 @ Z3) = (nat2 @ Z4)) = (Z3 = Z4))))))). % eq_nat_nat_iff
thf(fact_208_nat__zero__as__int, axiom,
    ((zero_zero_nat = (nat2 @ zero_zero_int)))). % nat_zero_as_int
thf(fact_209_nat__mono, axiom,
    ((![X2 : int, Y2 : int]: ((ord_less_eq_int @ X2 @ Y2) => (ord_less_eq_nat @ (nat2 @ X2) @ (nat2 @ Y2)))))). % nat_mono
thf(fact_210_nat__le__iff, axiom,
    ((![X2 : int, N : nat]: ((ord_less_eq_nat @ (nat2 @ X2) @ N) = (ord_less_eq_int @ X2 @ (semiri2019852685at_int @ N)))))). % nat_le_iff

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

% Conjectures (1)
thf(conj_0, conjecture,
    ((ord_less_eq_set_msg @ (knows @ spy @ (takeWhile_event @ p @ nil_event)) @ (knows @ spy @ nil_event)))).
