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

% Could-be-implicit typings (10)
thf(ty_n_t__List__Olist_It__List__Olist_It__Event__Oevent_J_J, type,
    list_list_event : $tType).
thf(ty_n_t__List__Olist_It__Message__Oagent_J, type,
    list_agent : $tType).
thf(ty_n_t__Set__Oset_It__Message__Oagent_J, type,
    set_agent : $tType).
thf(ty_n_t__List__Olist_It__Message__Omsg_J, type,
    list_msg : $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__Set__Oset_It__Event__Oevent_J, type,
    set_event : $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).

% Explicit typings (44)
thf(sy_c_Event_Obad, type,
    bad : set_agent).
thf(sy_c_Event_Oevent_OGets, type,
    gets : agent > msg > event).
thf(sy_c_Event_Oevent_ONotes, type,
    notes : agent > msg > event).
thf(sy_c_Event_Oevent_OSays, type,
    says : agent > agent > msg > event).
thf(sy_c_Event_Oknows, type,
    knows : agent > list_event > set_msg).
thf(sy_c_If_001t__List__Olist_It__Event__Oevent_J, type,
    if_list_event : $o > list_event > list_event > list_event).
thf(sy_c_If_001t__List__Olist_It__Message__Oagent_J, type,
    if_list_agent : $o > list_agent > list_agent > list_agent).
thf(sy_c_If_001t__List__Olist_It__Message__Omsg_J, type,
    if_list_msg : $o > list_msg > list_msg > list_msg).
thf(sy_c_List_Oappend_001t__Event__Oevent, type,
    append_event : list_event > list_event > list_event).
thf(sy_c_List_Oappend_001t__List__Olist_It__Event__Oevent_J, type,
    append_list_event : list_list_event > list_list_event > list_list_event).
thf(sy_c_List_Oappend_001t__Message__Oagent, type,
    append_agent : list_agent > list_agent > list_agent).
thf(sy_c_List_Oappend_001t__Message__Omsg, type,
    append_msg : list_msg > list_msg > list_msg).
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_Oconcat_001t__Event__Oevent, type,
    concat_event : list_list_event > list_event).
thf(sy_c_List_Oinsert_001t__Event__Oevent, type,
    insert_event : event > list_event > list_event).
thf(sy_c_List_Oinsert_001t__Message__Oagent, type,
    insert_agent : agent > list_agent > list_agent).
thf(sy_c_List_Oinsert_001t__Message__Omsg, type,
    insert_msg : msg > list_msg > list_msg).
thf(sy_c_List_Olist_OCons_001t__Event__Oevent, type,
    cons_event : event > list_event > list_event).
thf(sy_c_List_Olist_OCons_001t__List__Olist_It__Event__Oevent_J, type,
    cons_list_event : list_event > list_list_event > list_list_event).
thf(sy_c_List_Olist_OCons_001t__Message__Oagent, type,
    cons_agent : agent > list_agent > list_agent).
thf(sy_c_List_Olist_OCons_001t__Message__Omsg, type,
    cons_msg : msg > list_msg > list_msg).
thf(sy_c_List_Olist_ONil_001t__Event__Oevent, type,
    nil_event : list_event).
thf(sy_c_List_Olist_ONil_001t__List__Olist_It__Event__Oevent_J, type,
    nil_list_event : list_list_event).
thf(sy_c_List_Olist_Oset_001t__Event__Oevent, type,
    set_event2 : list_event > set_event).
thf(sy_c_List_Olist_Oset_001t__Message__Oagent, type,
    set_agent2 : list_agent > set_agent).
thf(sy_c_List_Olist_Oset_001t__Message__Omsg, type,
    set_msg2 : list_msg > set_msg).
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_Oproduct__lists_001t__Event__Oevent, type,
    product_lists_event : list_list_event > list_list_event).
thf(sy_c_List_Osubseqs_001t__Event__Oevent, type,
    subseqs_event : list_event > list_list_event).
thf(sy_c_Message_Oagent_OSpy, type,
    spy : agent).
thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Event__Oevent_J, type,
    ord_le152226328_event : set_event > set_event > $o).
thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Message__Oagent_J, type,
    ord_le722097072_agent : set_agent > set_agent > $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_Set_OCollect_001t__Event__Oevent, type,
    collect_event : (event > $o) > set_event).
thf(sy_c_Set_OCollect_001t__Message__Oagent, type,
    collect_agent : (agent > $o) > set_agent).
thf(sy_c_Set_OCollect_001t__Message__Omsg, type,
    collect_msg : (msg > $o) > set_msg).
thf(sy_c_Set_Oinsert_001t__Event__Oevent, type,
    insert_event2 : event > set_event > set_event).
thf(sy_c_Set_Oinsert_001t__Message__Oagent, type,
    insert_agent2 : agent > set_agent > set_agent).
thf(sy_c_Set_Oinsert_001t__Message__Omsg, type,
    insert_msg2 : msg > set_msg > set_msg).
thf(sy_c_member_001t__Event__Oevent, type,
    member_event : event > set_event > $o).
thf(sy_c_member_001t__Message__Oagent, type,
    member_agent : agent > set_agent > $o).
thf(sy_c_member_001t__Message__Omsg, type,
    member_msg : msg > set_msg > $o).
thf(sy_v_A, type,
    a : agent).
thf(sy_v_X, type,
    x : msg).

% Relevant facts (215)
thf(fact_0_knows__Spy__Notes, axiom,
    ((![A : agent, X : msg, Evs : list_event]: (((member_agent @ A @ bad) => ((knows @ spy @ (cons_event @ (notes @ A @ X) @ Evs)) = (insert_msg2 @ X @ (knows @ spy @ Evs)))) & ((~ ((member_agent @ A @ bad))) => ((knows @ spy @ (cons_event @ (notes @ A @ X) @ Evs)) = (knows @ spy @ Evs))))))). % knows_Spy_Notes
thf(fact_1_append1__eq__conv, axiom,
    ((![Xs : list_event, X2 : event, Ys : list_event, Y : event]: (((append_event @ Xs @ (cons_event @ X2 @ nil_event)) = (append_event @ Ys @ (cons_event @ Y @ nil_event))) = (((Xs = Ys)) & ((X2 = Y))))))). % append1_eq_conv
thf(fact_2_Spy__in__bad, axiom,
    ((member_agent @ spy @ bad))). % Spy_in_bad
thf(fact_3_append__Nil2, axiom,
    ((![Xs : list_event]: ((append_event @ Xs @ nil_event) = Xs)))). % append_Nil2
thf(fact_4_append__self__conv, axiom,
    ((![Xs : list_event, Ys : list_event]: (((append_event @ Xs @ Ys) = Xs) = (Ys = nil_event))))). % append_self_conv
thf(fact_5_self__append__conv, axiom,
    ((![Xs : list_event, Ys : list_event]: ((Xs = (append_event @ Xs @ Ys)) = (Ys = nil_event))))). % self_append_conv
thf(fact_6_append__self__conv2, axiom,
    ((![Xs : list_event, Ys : list_event]: (((append_event @ Xs @ Ys) = Ys) = (Xs = nil_event))))). % append_self_conv2
thf(fact_7_self__append__conv2, axiom,
    ((![Ys : list_event, Xs : list_event]: ((Ys = (append_event @ Xs @ Ys)) = (Xs = nil_event))))). % self_append_conv2
thf(fact_8_Nil__is__append__conv, axiom,
    ((![Xs : list_event, Ys : list_event]: ((nil_event = (append_event @ Xs @ Ys)) = (((Xs = nil_event)) & ((Ys = nil_event))))))). % Nil_is_append_conv
thf(fact_9_append__is__Nil__conv, axiom,
    ((![Xs : list_event, Ys : list_event]: (((append_event @ Xs @ Ys) = nil_event) = (((Xs = nil_event)) & ((Ys = nil_event))))))). % append_is_Nil_conv
thf(fact_10_append_Oright__neutral, axiom,
    ((![A2 : list_event]: ((append_event @ A2 @ nil_event) = A2)))). % append.right_neutral
thf(fact_11_event_Oinject_I3_J, axiom,
    ((![X31 : agent, X32 : msg, Y31 : agent, Y32 : msg]: (((notes @ X31 @ X32) = (notes @ Y31 @ Y32)) = (((X31 = Y31)) & ((X32 = Y32))))))). % event.inject(3)
thf(fact_12_list_Oinject, axiom,
    ((![X21 : event, X22 : list_event, Y21 : event, Y22 : list_event]: (((cons_event @ X21 @ X22) = (cons_event @ Y21 @ Y22)) = (((X21 = Y21)) & ((X22 = Y22))))))). % list.inject
thf(fact_13_same__append__eq, axiom,
    ((![Xs : list_event, Ys : list_event, Zs : list_event]: (((append_event @ Xs @ Ys) = (append_event @ Xs @ Zs)) = (Ys = Zs))))). % same_append_eq
thf(fact_14_append__same__eq, axiom,
    ((![Ys : list_event, Xs : list_event, Zs : list_event]: (((append_event @ Ys @ Xs) = (append_event @ Zs @ Xs)) = (Ys = Zs))))). % append_same_eq
thf(fact_15_append__assoc, axiom,
    ((![Xs : list_event, Ys : list_event, Zs : list_event]: ((append_event @ (append_event @ Xs @ Ys) @ Zs) = (append_event @ Xs @ (append_event @ Ys @ Zs)))))). % append_assoc
thf(fact_16_append_Oassoc, axiom,
    ((![A2 : list_event, B : list_event, C : list_event]: ((append_event @ (append_event @ A2 @ B) @ C) = (append_event @ A2 @ (append_event @ B @ C)))))). % append.assoc
thf(fact_17_not__Cons__self2, axiom,
    ((![X2 : event, Xs : list_event]: (~ (((cons_event @ X2 @ Xs) = Xs)))))). % not_Cons_self2
thf(fact_18_append__eq__append__conv2, axiom,
    ((![Xs : list_event, Ys : list_event, Zs : list_event, Ts : list_event]: (((append_event @ Xs @ Ys) = (append_event @ Zs @ Ts)) = (?[Us : list_event]: (((((Xs = (append_event @ Zs @ Us))) & (((append_event @ Us @ Ys) = Ts)))) | (((((append_event @ Xs @ Us) = Zs)) & ((Ys = (append_event @ Us @ Ts))))))))))). % append_eq_append_conv2
thf(fact_19_append__eq__appendI, axiom,
    ((![Xs : list_event, Xs1 : list_event, Zs : list_event, Ys : list_event, Us2 : list_event]: (((append_event @ Xs @ Xs1) = Zs) => ((Ys = (append_event @ Xs1 @ Us2)) => ((append_event @ Xs @ Ys) = (append_event @ Zs @ Us2))))))). % append_eq_appendI
thf(fact_20_map__tailrec__rev_Oinduct, axiom,
    ((![P : (event > event) > list_event > list_event > $o, A0 : event > event, A1 : list_event, A22 : list_event]: ((![F : event > event, X_1 : list_event]: (P @ F @ nil_event @ X_1)) => ((![F : event > event, A3 : event, As : list_event, Bs : list_event]: ((P @ F @ As @ (cons_event @ (F @ A3) @ Bs)) => (P @ F @ (cons_event @ A3 @ As) @ Bs))) => (P @ A0 @ A1 @ A22)))))). % map_tailrec_rev.induct
thf(fact_21_list__nonempty__induct, axiom,
    ((![Xs : list_event, P : list_event > $o]: ((~ ((Xs = nil_event))) => ((![X3 : event]: (P @ (cons_event @ X3 @ nil_event))) => ((![X3 : event, Xs2 : list_event]: ((~ ((Xs2 = nil_event))) => ((P @ Xs2) => (P @ (cons_event @ X3 @ Xs2))))) => (P @ Xs))))))). % list_nonempty_induct
thf(fact_22_successively_Oinduct, axiom,
    ((![P : (event > event > $o) > list_event > $o, A0 : event > event > $o, A1 : list_event]: ((![P2 : event > event > $o]: (P @ P2 @ nil_event)) => ((![P2 : event > event > $o, X3 : event]: (P @ P2 @ (cons_event @ X3 @ nil_event))) => ((![P2 : event > event > $o, X3 : event, Y2 : event, Xs2 : list_event]: ((P @ P2 @ (cons_event @ Y2 @ Xs2)) => (P @ P2 @ (cons_event @ X3 @ (cons_event @ Y2 @ Xs2))))) => (P @ A0 @ A1))))))). % successively.induct
thf(fact_23_remdups__adj_Oinduct, axiom,
    ((![P : list_event > $o, A0 : list_event]: ((P @ nil_event) => ((![X3 : event]: (P @ (cons_event @ X3 @ nil_event))) => ((![X3 : event, Y2 : event, Xs2 : list_event]: (((X3 = Y2) => (P @ (cons_event @ X3 @ Xs2))) => (((~ ((X3 = Y2))) => (P @ (cons_event @ Y2 @ Xs2))) => (P @ (cons_event @ X3 @ (cons_event @ Y2 @ Xs2)))))) => (P @ A0))))))). % remdups_adj.induct
thf(fact_24_sorted__wrt_Oinduct, axiom,
    ((![P : (event > event > $o) > list_event > $o, A0 : event > event > $o, A1 : list_event]: ((![P2 : event > event > $o]: (P @ P2 @ nil_event)) => ((![P2 : event > event > $o, X3 : event, Ys2 : list_event]: ((P @ P2 @ Ys2) => (P @ P2 @ (cons_event @ X3 @ Ys2)))) => (P @ A0 @ A1)))))). % sorted_wrt.induct
thf(fact_25_remdups__adj_Ocases, axiom,
    ((![X2 : list_event]: ((~ ((X2 = nil_event))) => ((![X3 : event]: (~ ((X2 = (cons_event @ X3 @ nil_event))))) => (~ ((![X3 : event, Y2 : event, Xs2 : list_event]: (~ ((X2 = (cons_event @ X3 @ (cons_event @ Y2 @ Xs2))))))))))))). % remdups_adj.cases
thf(fact_26_transpose_Ocases, axiom,
    ((![X2 : list_list_event]: ((~ ((X2 = nil_list_event))) => ((![Xss : list_list_event]: (~ ((X2 = (cons_list_event @ nil_event @ Xss))))) => (~ ((![X3 : event, Xs2 : list_event, Xss : list_list_event]: (~ ((X2 = (cons_list_event @ (cons_event @ X3 @ Xs2) @ Xss)))))))))))). % transpose.cases
thf(fact_27_shuffles_Oinduct, axiom,
    ((![P : list_event > list_event > $o, A0 : list_event, A1 : list_event]: ((![X_1 : list_event]: (P @ nil_event @ X_1)) => ((![Xs2 : list_event]: (P @ Xs2 @ nil_event)) => ((![X3 : event, Xs2 : list_event, Y2 : event, Ys2 : list_event]: ((P @ Xs2 @ (cons_event @ Y2 @ Ys2)) => ((P @ (cons_event @ X3 @ Xs2) @ Ys2) => (P @ (cons_event @ X3 @ Xs2) @ (cons_event @ Y2 @ Ys2))))) => (P @ A0 @ A1))))))). % shuffles.induct
thf(fact_28_induct__list012, axiom,
    ((![P : list_event > $o, Xs : list_event]: ((P @ nil_event) => ((![X3 : event]: (P @ (cons_event @ X3 @ nil_event))) => ((![X3 : event, Y2 : event, Zs2 : list_event]: ((P @ Zs2) => ((P @ (cons_event @ Y2 @ Zs2)) => (P @ (cons_event @ X3 @ (cons_event @ Y2 @ Zs2)))))) => (P @ Xs))))))). % induct_list012
thf(fact_29_splice_Oinduct, axiom,
    ((![P : list_event > list_event > $o, A0 : list_event, A1 : list_event]: ((![X_1 : list_event]: (P @ nil_event @ X_1)) => ((![X3 : event, Xs2 : list_event, Ys2 : list_event]: ((P @ Ys2 @ Xs2) => (P @ (cons_event @ X3 @ Xs2) @ Ys2))) => (P @ A0 @ A1)))))). % splice.induct
thf(fact_30_list__induct2_H, axiom,
    ((![P : list_event > list_event > $o, Xs : list_event, Ys : list_event]: ((P @ nil_event @ nil_event) => ((![X3 : event, Xs2 : list_event]: (P @ (cons_event @ X3 @ Xs2) @ nil_event)) => ((![Y2 : event, Ys2 : list_event]: (P @ nil_event @ (cons_event @ Y2 @ Ys2))) => ((![X3 : event, Xs2 : list_event, Y2 : event, Ys2 : list_event]: ((P @ Xs2 @ Ys2) => (P @ (cons_event @ X3 @ Xs2) @ (cons_event @ Y2 @ Ys2)))) => (P @ Xs @ Ys)))))))). % list_induct2'
thf(fact_31_neq__Nil__conv, axiom,
    ((![Xs : list_event]: ((~ ((Xs = nil_event))) = (?[Y3 : event]: (?[Ys3 : list_event]: (Xs = (cons_event @ Y3 @ Ys3)))))))). % neq_Nil_conv
thf(fact_32_list_Oinducts, axiom,
    ((![P : list_event > $o, List : list_event]: ((P @ nil_event) => ((![X1 : event, X23 : list_event]: ((P @ X23) => (P @ (cons_event @ X1 @ X23)))) => (P @ List)))))). % list.inducts
thf(fact_33_list_Oexhaust, axiom,
    ((![Y : list_event]: ((~ ((Y = nil_event))) => (~ ((![X212 : event, X222 : list_event]: (~ ((Y = (cons_event @ X212 @ X222))))))))))). % list.exhaust
thf(fact_34_list_OdiscI, axiom,
    ((![List : list_event, X21 : event, X22 : list_event]: ((List = (cons_event @ X21 @ X22)) => (~ ((List = nil_event))))))). % list.discI
thf(fact_35_list_Odistinct_I1_J, axiom,
    ((![X21 : event, X22 : list_event]: (~ ((nil_event = (cons_event @ X21 @ X22))))))). % list.distinct(1)
thf(fact_36_append__Cons, axiom,
    ((![X2 : event, Xs : list_event, Ys : list_event]: ((append_event @ (cons_event @ X2 @ Xs) @ Ys) = (cons_event @ X2 @ (append_event @ Xs @ Ys)))))). % append_Cons
thf(fact_37_Cons__eq__appendI, axiom,
    ((![X2 : event, Xs1 : list_event, Ys : list_event, Xs : list_event, Zs : list_event]: (((cons_event @ X2 @ Xs1) = Ys) => ((Xs = (append_event @ Xs1 @ Zs)) => ((cons_event @ X2 @ Xs) = (append_event @ Ys @ Zs))))))). % Cons_eq_appendI
thf(fact_38_append_Oleft__neutral, axiom,
    ((![A2 : list_event]: ((append_event @ nil_event @ A2) = A2)))). % append.left_neutral
thf(fact_39_mem__Collect__eq, axiom,
    ((![A2 : agent, P : agent > $o]: ((member_agent @ A2 @ (collect_agent @ P)) = (P @ A2))))). % mem_Collect_eq
thf(fact_40_mem__Collect__eq, axiom,
    ((![A2 : event, P : event > $o]: ((member_event @ A2 @ (collect_event @ P)) = (P @ A2))))). % mem_Collect_eq
thf(fact_41_mem__Collect__eq, axiom,
    ((![A2 : msg, P : msg > $o]: ((member_msg @ A2 @ (collect_msg @ P)) = (P @ A2))))). % mem_Collect_eq
thf(fact_42_Collect__mem__eq, axiom,
    ((![A : set_agent]: ((collect_agent @ (^[X4 : agent]: (member_agent @ X4 @ A))) = A)))). % Collect_mem_eq
thf(fact_43_Collect__mem__eq, axiom,
    ((![A : set_event]: ((collect_event @ (^[X4 : event]: (member_event @ X4 @ A))) = A)))). % Collect_mem_eq
thf(fact_44_Collect__mem__eq, axiom,
    ((![A : set_msg]: ((collect_msg @ (^[X4 : msg]: (member_msg @ X4 @ A))) = A)))). % Collect_mem_eq
thf(fact_45_append__Nil, axiom,
    ((![Ys : list_event]: ((append_event @ nil_event @ Ys) = Ys)))). % append_Nil
thf(fact_46_eq__Nil__appendI, axiom,
    ((![Xs : list_event, Ys : list_event]: ((Xs = Ys) => (Xs = (append_event @ nil_event @ Ys)))))). % eq_Nil_appendI
thf(fact_47_rev__nonempty__induct, axiom,
    ((![Xs : list_event, P : list_event > $o]: ((~ ((Xs = nil_event))) => ((![X3 : event]: (P @ (cons_event @ X3 @ nil_event))) => ((![X3 : event, Xs2 : list_event]: ((~ ((Xs2 = nil_event))) => ((P @ Xs2) => (P @ (append_event @ Xs2 @ (cons_event @ X3 @ nil_event)))))) => (P @ Xs))))))). % rev_nonempty_induct
thf(fact_48_append__eq__Cons__conv, axiom,
    ((![Ys : list_event, Zs : list_event, X2 : event, Xs : list_event]: (((append_event @ Ys @ Zs) = (cons_event @ X2 @ Xs)) = (((((Ys = nil_event)) & ((Zs = (cons_event @ X2 @ Xs))))) | ((?[Ys4 : list_event]: (((Ys = (cons_event @ X2 @ Ys4))) & (((append_event @ Ys4 @ Zs) = Xs)))))))))). % append_eq_Cons_conv
thf(fact_49_Cons__eq__append__conv, axiom,
    ((![X2 : event, Xs : list_event, Ys : list_event, Zs : list_event]: (((cons_event @ X2 @ Xs) = (append_event @ Ys @ Zs)) = (((((Ys = nil_event)) & (((cons_event @ X2 @ Xs) = Zs)))) | ((?[Ys4 : list_event]: ((((cons_event @ X2 @ Ys4) = Ys)) & ((Xs = (append_event @ Ys4 @ Zs))))))))))). % Cons_eq_append_conv
thf(fact_50_rev__exhaust, axiom,
    ((![Xs : list_event]: ((~ ((Xs = nil_event))) => (~ ((![Ys2 : list_event, Y2 : event]: (~ ((Xs = (append_event @ Ys2 @ (cons_event @ Y2 @ nil_event)))))))))))). % rev_exhaust
thf(fact_51_rev__induct, axiom,
    ((![P : list_event > $o, Xs : list_event]: ((P @ nil_event) => ((![X3 : event, Xs2 : list_event]: ((P @ Xs2) => (P @ (append_event @ Xs2 @ (cons_event @ X3 @ nil_event))))) => (P @ Xs)))))). % rev_induct
thf(fact_52_spies__Gets__rev, axiom,
    ((![Evs : list_event, A : agent, X : msg]: ((knows @ spy @ (append_event @ Evs @ (cons_event @ (gets @ A @ X) @ nil_event))) = (knows @ spy @ Evs))))). % spies_Gets_rev
thf(fact_53_insert__absorb2, axiom,
    ((![X2 : msg, A : set_msg]: ((insert_msg2 @ X2 @ (insert_msg2 @ X2 @ A)) = (insert_msg2 @ X2 @ A))))). % insert_absorb2
thf(fact_54_insert__iff, axiom,
    ((![A2 : agent, B : agent, A : set_agent]: ((member_agent @ A2 @ (insert_agent2 @ B @ A)) = (((A2 = B)) | ((member_agent @ A2 @ A))))))). % insert_iff
thf(fact_55_insert__iff, axiom,
    ((![A2 : event, B : event, A : set_event]: ((member_event @ A2 @ (insert_event2 @ B @ A)) = (((A2 = B)) | ((member_event @ A2 @ A))))))). % insert_iff
thf(fact_56_insert__iff, axiom,
    ((![A2 : msg, B : msg, A : set_msg]: ((member_msg @ A2 @ (insert_msg2 @ B @ A)) = (((A2 = B)) | ((member_msg @ A2 @ A))))))). % insert_iff
thf(fact_57_insertCI, axiom,
    ((![A2 : agent, B2 : set_agent, B : agent]: (((~ ((member_agent @ A2 @ B2))) => (A2 = B)) => (member_agent @ A2 @ (insert_agent2 @ B @ B2)))))). % insertCI
thf(fact_58_insertCI, axiom,
    ((![A2 : event, B2 : set_event, B : event]: (((~ ((member_event @ A2 @ B2))) => (A2 = B)) => (member_event @ A2 @ (insert_event2 @ B @ B2)))))). % insertCI
thf(fact_59_insertCI, axiom,
    ((![A2 : msg, B2 : set_msg, B : msg]: (((~ ((member_msg @ A2 @ B2))) => (A2 = B)) => (member_msg @ A2 @ (insert_msg2 @ B @ B2)))))). % insertCI
thf(fact_60_spies__Says__rev, axiom,
    ((![Evs : list_event, A : agent, B2 : agent, X : msg]: ((knows @ spy @ (append_event @ Evs @ (cons_event @ (says @ A @ B2 @ X) @ nil_event))) = (insert_msg2 @ X @ (knows @ spy @ Evs)))))). % spies_Says_rev
thf(fact_61_knows__Spy__Gets, axiom,
    ((![A : agent, X : msg, Evs : list_event]: ((knows @ spy @ (cons_event @ (gets @ A @ X) @ Evs)) = (knows @ spy @ Evs))))). % knows_Spy_Gets
thf(fact_62_bind__simps_I2_J, axiom,
    ((![X2 : event, Xs : list_event, F2 : event > list_event]: ((bind_event_event @ (cons_event @ X2 @ Xs) @ F2) = (append_event @ (F2 @ X2) @ (bind_event_event @ Xs @ F2)))))). % bind_simps(2)
thf(fact_63_knows__Spy__Says, axiom,
    ((![A : agent, B2 : agent, X : msg, Evs : list_event]: ((knows @ spy @ (cons_event @ (says @ A @ B2 @ X) @ Evs)) = (insert_msg2 @ X @ (knows @ spy @ Evs)))))). % knows_Spy_Says
thf(fact_64_maps__simps_I1_J, axiom,
    ((![F2 : event > list_event, X2 : event, Xs : list_event]: ((maps_event_event @ F2 @ (cons_event @ X2 @ Xs)) = (append_event @ (F2 @ X2) @ (maps_event_event @ F2 @ Xs)))))). % maps_simps(1)
thf(fact_65_insert__Nil, axiom,
    ((![X2 : event]: ((insert_event @ X2 @ nil_event) = (cons_event @ X2 @ nil_event))))). % insert_Nil
thf(fact_66_event_Oinject_I1_J, axiom,
    ((![X11 : agent, X12 : agent, X13 : msg, Y11 : agent, Y12 : agent, Y13 : msg]: (((says @ X11 @ X12 @ X13) = (says @ Y11 @ Y12 @ Y13)) = (((X11 = Y11)) & ((((X12 = Y12)) & ((X13 = Y13))))))))). % event.inject(1)
thf(fact_67_event_Oinject_I2_J, axiom,
    ((![X21 : agent, X22 : msg, Y21 : agent, Y22 : msg]: (((gets @ X21 @ X22) = (gets @ Y21 @ Y22)) = (((X21 = Y21)) & ((X22 = Y22))))))). % event.inject(2)
thf(fact_68_bind__simps_I1_J, axiom,
    ((![F2 : event > list_event]: ((bind_event_event @ nil_event @ F2) = nil_event)))). % bind_simps(1)
thf(fact_69_event_Odistinct_I1_J, axiom,
    ((![X11 : agent, X12 : agent, X13 : msg, X21 : agent, X22 : msg]: (~ (((says @ X11 @ X12 @ X13) = (gets @ X21 @ X22))))))). % event.distinct(1)
thf(fact_70_event_Oinduct, axiom,
    ((![P : event > $o, Event : event]: ((![X1 : agent, X23 : agent, X33 : msg]: (P @ (says @ X1 @ X23 @ X33))) => ((![X1 : agent, X23 : msg]: (P @ (gets @ X1 @ X23))) => ((![X1 : agent, X23 : msg]: (P @ (notes @ X1 @ X23))) => (P @ Event))))))). % event.induct
thf(fact_71_event_Oexhaust, axiom,
    ((![Y : event]: ((![X112 : agent, X122 : agent, X132 : msg]: (~ ((Y = (says @ X112 @ X122 @ X132))))) => ((![X212 : agent, X222 : msg]: (~ ((Y = (gets @ X212 @ X222))))) => (~ ((![X312 : agent, X322 : msg]: (~ ((Y = (notes @ X312 @ X322)))))))))))). % event.exhaust
thf(fact_72_event_Odistinct_I3_J, axiom,
    ((![X11 : agent, X12 : agent, X13 : msg, X31 : agent, X32 : msg]: (~ (((says @ X11 @ X12 @ X13) = (notes @ X31 @ X32))))))). % event.distinct(3)
thf(fact_73_event_Odistinct_I5_J, axiom,
    ((![X21 : agent, X22 : msg, X31 : agent, X32 : msg]: (~ (((gets @ X21 @ X22) = (notes @ X31 @ X32))))))). % event.distinct(5)
thf(fact_74_maps__simps_I2_J, axiom,
    ((![F2 : event > list_event]: ((maps_event_event @ F2 @ nil_event) = nil_event)))). % maps_simps(2)
thf(fact_75_insertE, axiom,
    ((![A2 : agent, B : agent, A : set_agent]: ((member_agent @ A2 @ (insert_agent2 @ B @ A)) => ((~ ((A2 = B))) => (member_agent @ A2 @ A)))))). % insertE
thf(fact_76_insertE, axiom,
    ((![A2 : event, B : event, A : set_event]: ((member_event @ A2 @ (insert_event2 @ B @ A)) => ((~ ((A2 = B))) => (member_event @ A2 @ A)))))). % insertE
thf(fact_77_insertE, axiom,
    ((![A2 : msg, B : msg, A : set_msg]: ((member_msg @ A2 @ (insert_msg2 @ B @ A)) => ((~ ((A2 = B))) => (member_msg @ A2 @ A)))))). % insertE
thf(fact_78_insertI1, axiom,
    ((![A2 : agent, B2 : set_agent]: (member_agent @ A2 @ (insert_agent2 @ A2 @ B2))))). % insertI1
thf(fact_79_insertI1, axiom,
    ((![A2 : event, B2 : set_event]: (member_event @ A2 @ (insert_event2 @ A2 @ B2))))). % insertI1
thf(fact_80_insertI1, axiom,
    ((![A2 : msg, B2 : set_msg]: (member_msg @ A2 @ (insert_msg2 @ A2 @ B2))))). % insertI1
thf(fact_81_insertI2, axiom,
    ((![A2 : agent, B2 : set_agent, B : agent]: ((member_agent @ A2 @ B2) => (member_agent @ A2 @ (insert_agent2 @ B @ B2)))))). % insertI2
thf(fact_82_insertI2, axiom,
    ((![A2 : event, B2 : set_event, B : event]: ((member_event @ A2 @ B2) => (member_event @ A2 @ (insert_event2 @ B @ B2)))))). % insertI2
thf(fact_83_insertI2, axiom,
    ((![A2 : msg, B2 : set_msg, B : msg]: ((member_msg @ A2 @ B2) => (member_msg @ A2 @ (insert_msg2 @ B @ B2)))))). % insertI2
thf(fact_84_Set_Oset__insert, axiom,
    ((![X2 : agent, A : set_agent]: ((member_agent @ X2 @ A) => (~ ((![B3 : set_agent]: ((A = (insert_agent2 @ X2 @ B3)) => (member_agent @ X2 @ B3))))))))). % Set.set_insert
thf(fact_85_Set_Oset__insert, axiom,
    ((![X2 : event, A : set_event]: ((member_event @ X2 @ A) => (~ ((![B3 : set_event]: ((A = (insert_event2 @ X2 @ B3)) => (member_event @ X2 @ B3))))))))). % Set.set_insert
thf(fact_86_Set_Oset__insert, axiom,
    ((![X2 : msg, A : set_msg]: ((member_msg @ X2 @ A) => (~ ((![B3 : set_msg]: ((A = (insert_msg2 @ X2 @ B3)) => (member_msg @ X2 @ B3))))))))). % Set.set_insert
thf(fact_87_insert__ident, axiom,
    ((![X2 : agent, A : set_agent, B2 : set_agent]: ((~ ((member_agent @ X2 @ A))) => ((~ ((member_agent @ X2 @ B2))) => (((insert_agent2 @ X2 @ A) = (insert_agent2 @ X2 @ B2)) = (A = B2))))))). % insert_ident
thf(fact_88_insert__ident, axiom,
    ((![X2 : event, A : set_event, B2 : set_event]: ((~ ((member_event @ X2 @ A))) => ((~ ((member_event @ X2 @ B2))) => (((insert_event2 @ X2 @ A) = (insert_event2 @ X2 @ B2)) = (A = B2))))))). % insert_ident
thf(fact_89_insert__ident, axiom,
    ((![X2 : msg, A : set_msg, B2 : set_msg]: ((~ ((member_msg @ X2 @ A))) => ((~ ((member_msg @ X2 @ B2))) => (((insert_msg2 @ X2 @ A) = (insert_msg2 @ X2 @ B2)) = (A = B2))))))). % insert_ident
thf(fact_90_insert__absorb, axiom,
    ((![A2 : agent, A : set_agent]: ((member_agent @ A2 @ A) => ((insert_agent2 @ A2 @ A) = A))))). % insert_absorb
thf(fact_91_insert__absorb, axiom,
    ((![A2 : event, A : set_event]: ((member_event @ A2 @ A) => ((insert_event2 @ A2 @ A) = A))))). % insert_absorb
thf(fact_92_insert__absorb, axiom,
    ((![A2 : msg, A : set_msg]: ((member_msg @ A2 @ A) => ((insert_msg2 @ A2 @ A) = A))))). % insert_absorb
thf(fact_93_insert__eq__iff, axiom,
    ((![A2 : agent, A : set_agent, B : agent, B2 : set_agent]: ((~ ((member_agent @ A2 @ A))) => ((~ ((member_agent @ B @ B2))) => (((insert_agent2 @ A2 @ A) = (insert_agent2 @ B @ B2)) = (((((A2 = B)) => ((A = B2)))) & ((((~ ((A2 = B)))) => ((?[C2 : set_agent]: (((A = (insert_agent2 @ B @ C2))) & ((((~ ((member_agent @ B @ C2)))) & ((((B2 = (insert_agent2 @ A2 @ C2))) & ((~ ((member_agent @ A2 @ C2)))))))))))))))))))). % insert_eq_iff
thf(fact_94_insert__eq__iff, axiom,
    ((![A2 : event, A : set_event, B : event, B2 : set_event]: ((~ ((member_event @ A2 @ A))) => ((~ ((member_event @ B @ B2))) => (((insert_event2 @ A2 @ A) = (insert_event2 @ B @ B2)) = (((((A2 = B)) => ((A = B2)))) & ((((~ ((A2 = B)))) => ((?[C2 : set_event]: (((A = (insert_event2 @ B @ C2))) & ((((~ ((member_event @ B @ C2)))) & ((((B2 = (insert_event2 @ A2 @ C2))) & ((~ ((member_event @ A2 @ C2)))))))))))))))))))). % insert_eq_iff
thf(fact_95_insert__eq__iff, axiom,
    ((![A2 : msg, A : set_msg, B : msg, B2 : set_msg]: ((~ ((member_msg @ A2 @ A))) => ((~ ((member_msg @ B @ B2))) => (((insert_msg2 @ A2 @ A) = (insert_msg2 @ B @ B2)) = (((((A2 = B)) => ((A = B2)))) & ((((~ ((A2 = B)))) => ((?[C2 : set_msg]: (((A = (insert_msg2 @ B @ C2))) & ((((~ ((member_msg @ B @ C2)))) & ((((B2 = (insert_msg2 @ A2 @ C2))) & ((~ ((member_msg @ A2 @ C2)))))))))))))))))))). % insert_eq_iff
thf(fact_96_insert__commute, axiom,
    ((![X2 : msg, Y : msg, A : set_msg]: ((insert_msg2 @ X2 @ (insert_msg2 @ Y @ A)) = (insert_msg2 @ Y @ (insert_msg2 @ X2 @ A)))))). % insert_commute
thf(fact_97_mk__disjoint__insert, axiom,
    ((![A2 : agent, A : set_agent]: ((member_agent @ A2 @ A) => (?[B3 : set_agent]: ((A = (insert_agent2 @ A2 @ B3)) & (~ ((member_agent @ A2 @ B3))))))))). % mk_disjoint_insert
thf(fact_98_mk__disjoint__insert, axiom,
    ((![A2 : event, A : set_event]: ((member_event @ A2 @ A) => (?[B3 : set_event]: ((A = (insert_event2 @ A2 @ B3)) & (~ ((member_event @ A2 @ B3))))))))). % mk_disjoint_insert
thf(fact_99_mk__disjoint__insert, axiom,
    ((![A2 : msg, A : set_msg]: ((member_msg @ A2 @ A) => (?[B3 : set_msg]: ((A = (insert_msg2 @ A2 @ B3)) & (~ ((member_msg @ A2 @ B3))))))))). % mk_disjoint_insert
thf(fact_100_product__lists_Osimps_I1_J, axiom,
    (((product_lists_event @ nil_list_event) = (cons_list_event @ nil_event @ nil_list_event)))). % product_lists.simps(1)
thf(fact_101_subseqs_Osimps_I1_J, axiom,
    (((subseqs_event @ nil_event) = (cons_list_event @ nil_event @ nil_list_event)))). % subseqs.simps(1)
thf(fact_102_knows__Spy__subset__knows__Spy__Gets, axiom,
    ((![Evs : list_event, A : agent, X : msg]: (ord_less_eq_set_msg @ (knows @ spy @ Evs) @ (knows @ spy @ (cons_event @ (gets @ A @ X) @ Evs)))))). % knows_Spy_subset_knows_Spy_Gets
thf(fact_103_concat__eq__append__conv, axiom,
    ((![Xss2 : list_list_event, Ys : list_event, Zs : list_event]: (((concat_event @ Xss2) = (append_event @ Ys @ Zs)) = (((((Xss2 = nil_list_event)) => ((((Ys = nil_event)) & ((Zs = nil_event)))))) & ((((~ ((Xss2 = nil_list_event)))) => ((?[Xss1 : list_list_event]: (?[Xs3 : list_event]: (?[Xs4 : list_event]: (?[Xss22 : list_list_event]: (((Xss2 = (append_list_event @ Xss1 @ (cons_list_event @ (append_event @ Xs3 @ Xs4) @ Xss22)))) & ((((Ys = (append_event @ (concat_event @ Xss1) @ Xs3))) & ((Zs = (append_event @ Xs4 @ (concat_event @ Xss22))))))))))))))))))). % concat_eq_append_conv
thf(fact_104_knows__Spy__subset__knows__Spy__Notes, axiom,
    ((![Evs : list_event, A : agent, X : msg]: (ord_less_eq_set_msg @ (knows @ spy @ Evs) @ (knows @ spy @ (cons_event @ (notes @ A @ X) @ Evs)))))). % knows_Spy_subset_knows_Spy_Notes
thf(fact_105_subset__antisym, axiom,
    ((![A : set_msg, B2 : set_msg]: ((ord_less_eq_set_msg @ A @ B2) => ((ord_less_eq_set_msg @ B2 @ A) => (A = B2)))))). % subset_antisym
thf(fact_106_subsetI, axiom,
    ((![A : set_agent, B2 : set_agent]: ((![X3 : agent]: ((member_agent @ X3 @ A) => (member_agent @ X3 @ B2))) => (ord_le722097072_agent @ A @ B2))))). % subsetI
thf(fact_107_subsetI, axiom,
    ((![A : set_event, B2 : set_event]: ((![X3 : event]: ((member_event @ X3 @ A) => (member_event @ X3 @ B2))) => (ord_le152226328_event @ A @ B2))))). % subsetI
thf(fact_108_subsetI, axiom,
    ((![A : set_msg, B2 : set_msg]: ((![X3 : msg]: ((member_msg @ X3 @ A) => (member_msg @ X3 @ B2))) => (ord_less_eq_set_msg @ A @ B2))))). % subsetI
thf(fact_109_insert__subset, axiom,
    ((![X2 : agent, A : set_agent, B2 : set_agent]: ((ord_le722097072_agent @ (insert_agent2 @ X2 @ A) @ B2) = (((member_agent @ X2 @ B2)) & ((ord_le722097072_agent @ A @ B2))))))). % insert_subset
thf(fact_110_insert__subset, axiom,
    ((![X2 : event, A : set_event, B2 : set_event]: ((ord_le152226328_event @ (insert_event2 @ X2 @ A) @ B2) = (((member_event @ X2 @ B2)) & ((ord_le152226328_event @ A @ B2))))))). % insert_subset
thf(fact_111_insert__subset, axiom,
    ((![X2 : msg, A : set_msg, B2 : set_msg]: ((ord_less_eq_set_msg @ (insert_msg2 @ X2 @ A) @ B2) = (((member_msg @ X2 @ B2)) & ((ord_less_eq_set_msg @ A @ B2))))))). % insert_subset
thf(fact_112_concat__append, axiom,
    ((![Xs : list_list_event, Ys : list_list_event]: ((concat_event @ (append_list_event @ Xs @ Ys)) = (append_event @ (concat_event @ Xs) @ (concat_event @ Ys)))))). % concat_append
thf(fact_113_Collect__mono__iff, axiom,
    ((![P : msg > $o, Q : msg > $o]: ((ord_less_eq_set_msg @ (collect_msg @ P) @ (collect_msg @ Q)) = (![X4 : msg]: (((P @ X4)) => ((Q @ X4)))))))). % Collect_mono_iff
thf(fact_114_set__eq__subset, axiom,
    (((^[Y4 : set_msg]: (^[Z : set_msg]: (Y4 = Z))) = (^[A4 : set_msg]: (^[B4 : set_msg]: (((ord_less_eq_set_msg @ A4 @ B4)) & ((ord_less_eq_set_msg @ B4 @ A4)))))))). % set_eq_subset
thf(fact_115_subset__trans, axiom,
    ((![A : set_msg, B2 : set_msg, C3 : set_msg]: ((ord_less_eq_set_msg @ A @ B2) => ((ord_less_eq_set_msg @ B2 @ C3) => (ord_less_eq_set_msg @ A @ C3)))))). % subset_trans
thf(fact_116_Collect__mono, axiom,
    ((![P : msg > $o, Q : msg > $o]: ((![X3 : msg]: ((P @ X3) => (Q @ X3))) => (ord_less_eq_set_msg @ (collect_msg @ P) @ (collect_msg @ Q)))))). % Collect_mono
thf(fact_117_subset__refl, axiom,
    ((![A : set_msg]: (ord_less_eq_set_msg @ A @ A)))). % subset_refl
thf(fact_118_subset__iff, axiom,
    ((ord_le722097072_agent = (^[A4 : set_agent]: (^[B4 : set_agent]: (![T : agent]: (((member_agent @ T @ A4)) => ((member_agent @ T @ B4))))))))). % subset_iff
thf(fact_119_subset__iff, axiom,
    ((ord_le152226328_event = (^[A4 : set_event]: (^[B4 : set_event]: (![T : event]: (((member_event @ T @ A4)) => ((member_event @ T @ B4))))))))). % subset_iff
thf(fact_120_subset__iff, axiom,
    ((ord_less_eq_set_msg = (^[A4 : set_msg]: (^[B4 : set_msg]: (![T : msg]: (((member_msg @ T @ A4)) => ((member_msg @ T @ B4))))))))). % subset_iff
thf(fact_121_equalityD2, axiom,
    ((![A : set_msg, B2 : set_msg]: ((A = B2) => (ord_less_eq_set_msg @ B2 @ A))))). % equalityD2
thf(fact_122_equalityD1, axiom,
    ((![A : set_msg, B2 : set_msg]: ((A = B2) => (ord_less_eq_set_msg @ A @ B2))))). % equalityD1
thf(fact_123_subset__eq, axiom,
    ((ord_le722097072_agent = (^[A4 : set_agent]: (^[B4 : set_agent]: (![X4 : agent]: (((member_agent @ X4 @ A4)) => ((member_agent @ X4 @ B4))))))))). % subset_eq
thf(fact_124_subset__eq, axiom,
    ((ord_le152226328_event = (^[A4 : set_event]: (^[B4 : set_event]: (![X4 : event]: (((member_event @ X4 @ A4)) => ((member_event @ X4 @ B4))))))))). % subset_eq
thf(fact_125_subset__eq, axiom,
    ((ord_less_eq_set_msg = (^[A4 : set_msg]: (^[B4 : set_msg]: (![X4 : msg]: (((member_msg @ X4 @ A4)) => ((member_msg @ X4 @ B4))))))))). % subset_eq
thf(fact_126_equalityE, axiom,
    ((![A : set_msg, B2 : set_msg]: ((A = B2) => (~ (((ord_less_eq_set_msg @ A @ B2) => (~ ((ord_less_eq_set_msg @ B2 @ A)))))))))). % equalityE
thf(fact_127_subsetD, axiom,
    ((![A : set_agent, B2 : set_agent, C : agent]: ((ord_le722097072_agent @ A @ B2) => ((member_agent @ C @ A) => (member_agent @ C @ B2)))))). % subsetD
thf(fact_128_subsetD, axiom,
    ((![A : set_event, B2 : set_event, C : event]: ((ord_le152226328_event @ A @ B2) => ((member_event @ C @ A) => (member_event @ C @ B2)))))). % subsetD
thf(fact_129_subsetD, axiom,
    ((![A : set_msg, B2 : set_msg, C : msg]: ((ord_less_eq_set_msg @ A @ B2) => ((member_msg @ C @ A) => (member_msg @ C @ B2)))))). % subsetD
thf(fact_130_in__mono, axiom,
    ((![A : set_agent, B2 : set_agent, X2 : agent]: ((ord_le722097072_agent @ A @ B2) => ((member_agent @ X2 @ A) => (member_agent @ X2 @ B2)))))). % in_mono
thf(fact_131_in__mono, axiom,
    ((![A : set_event, B2 : set_event, X2 : event]: ((ord_le152226328_event @ A @ B2) => ((member_event @ X2 @ A) => (member_event @ X2 @ B2)))))). % in_mono
thf(fact_132_in__mono, axiom,
    ((![A : set_msg, B2 : set_msg, X2 : msg]: ((ord_less_eq_set_msg @ A @ B2) => ((member_msg @ X2 @ A) => (member_msg @ X2 @ B2)))))). % in_mono
thf(fact_133_insert__mono, axiom,
    ((![C3 : set_msg, D : set_msg, A2 : msg]: ((ord_less_eq_set_msg @ C3 @ D) => (ord_less_eq_set_msg @ (insert_msg2 @ A2 @ C3) @ (insert_msg2 @ A2 @ D)))))). % insert_mono
thf(fact_134_subset__insert, axiom,
    ((![X2 : agent, A : set_agent, B2 : set_agent]: ((~ ((member_agent @ X2 @ A))) => ((ord_le722097072_agent @ A @ (insert_agent2 @ X2 @ B2)) = (ord_le722097072_agent @ A @ B2)))))). % subset_insert
thf(fact_135_subset__insert, axiom,
    ((![X2 : event, A : set_event, B2 : set_event]: ((~ ((member_event @ X2 @ A))) => ((ord_le152226328_event @ A @ (insert_event2 @ X2 @ B2)) = (ord_le152226328_event @ A @ B2)))))). % subset_insert
thf(fact_136_subset__insert, axiom,
    ((![X2 : msg, A : set_msg, B2 : set_msg]: ((~ ((member_msg @ X2 @ A))) => ((ord_less_eq_set_msg @ A @ (insert_msg2 @ X2 @ B2)) = (ord_less_eq_set_msg @ A @ B2)))))). % subset_insert
thf(fact_137_subset__insertI, axiom,
    ((![B2 : set_msg, A2 : msg]: (ord_less_eq_set_msg @ B2 @ (insert_msg2 @ A2 @ B2))))). % subset_insertI
thf(fact_138_subset__insertI2, axiom,
    ((![A : set_msg, B2 : set_msg, B : msg]: ((ord_less_eq_set_msg @ A @ B2) => (ord_less_eq_set_msg @ A @ (insert_msg2 @ B @ B2)))))). % subset_insertI2
thf(fact_139_knows__subset__knows__Cons, axiom,
    ((![A : agent, Evs : list_event, E : event]: (ord_less_eq_set_msg @ (knows @ A @ Evs) @ (knows @ A @ (cons_event @ E @ Evs)))))). % knows_subset_knows_Cons
thf(fact_140_concat_Osimps_I1_J, axiom,
    (((concat_event @ nil_list_event) = nil_event))). % concat.simps(1)
thf(fact_141_concat_Osimps_I2_J, axiom,
    ((![X2 : list_event, Xs : list_list_event]: ((concat_event @ (cons_list_event @ X2 @ Xs)) = (append_event @ X2 @ (concat_event @ Xs)))))). % concat.simps(2)
thf(fact_142_knows__subset__knows__Says, axiom,
    ((![A : agent, Evs : list_event, A5 : agent, B2 : agent, X : msg]: (ord_less_eq_set_msg @ (knows @ A @ Evs) @ (knows @ A @ (cons_event @ (says @ A5 @ B2 @ X) @ Evs)))))). % knows_subset_knows_Says
thf(fact_143_knows__subset__knows__Notes, axiom,
    ((![A : agent, Evs : list_event, A5 : agent, X : msg]: (ord_less_eq_set_msg @ (knows @ A @ Evs) @ (knows @ A @ (cons_event @ (notes @ A5 @ X) @ Evs)))))). % knows_subset_knows_Notes
thf(fact_144_knows__subset__knows__Gets, axiom,
    ((![A : agent, Evs : list_event, A5 : agent, X : msg]: (ord_less_eq_set_msg @ (knows @ A @ Evs) @ (knows @ A @ (cons_event @ (gets @ A5 @ X) @ Evs)))))). % knows_subset_knows_Gets
thf(fact_145_concat__eq__appendD, axiom,
    ((![Xss2 : list_list_event, Ys : list_event, Zs : list_event]: (((concat_event @ Xss2) = (append_event @ Ys @ Zs)) => ((~ ((Xss2 = nil_list_event))) => (?[Xss12 : list_list_event, Xs2 : list_event, Xs5 : list_event, Xss23 : list_list_event]: ((Xss2 = (append_list_event @ Xss12 @ (cons_list_event @ (append_event @ Xs2 @ Xs5) @ Xss23))) & ((Ys = (append_event @ (concat_event @ Xss12) @ Xs2)) & (Zs = (append_event @ Xs5 @ (concat_event @ Xss23))))))))))). % concat_eq_appendD
thf(fact_146_knows__Spy__subset__knows__Spy__Says, axiom,
    ((![Evs : list_event, A : agent, B2 : agent, X : msg]: (ord_less_eq_set_msg @ (knows @ spy @ Evs) @ (knows @ spy @ (cons_event @ (says @ A @ B2 @ X) @ Evs)))))). % knows_Spy_subset_knows_Spy_Says
thf(fact_147_order__refl, axiom,
    ((![X2 : set_msg]: (ord_less_eq_set_msg @ X2 @ X2)))). % order_refl
thf(fact_148_insert__subsetI, axiom,
    ((![X2 : agent, A : set_agent, X : set_agent]: ((member_agent @ X2 @ A) => ((ord_le722097072_agent @ X @ A) => (ord_le722097072_agent @ (insert_agent2 @ X2 @ X) @ A)))))). % insert_subsetI
thf(fact_149_insert__subsetI, axiom,
    ((![X2 : event, A : set_event, X : set_event]: ((member_event @ X2 @ A) => ((ord_le152226328_event @ X @ A) => (ord_le152226328_event @ (insert_event2 @ X2 @ X) @ A)))))). % insert_subsetI
thf(fact_150_insert__subsetI, axiom,
    ((![X2 : msg, A : set_msg, X : set_msg]: ((member_msg @ X2 @ A) => ((ord_less_eq_set_msg @ X @ A) => (ord_less_eq_set_msg @ (insert_msg2 @ X2 @ X) @ A)))))). % insert_subsetI
thf(fact_151_Notes__imp__knows__Spy, axiom,
    ((![A : agent, X : msg, Evs : list_event]: ((member_event @ (notes @ A @ X) @ (set_event2 @ Evs)) => ((member_agent @ A @ bad) => (member_msg @ X @ (knows @ spy @ Evs))))))). % Notes_imp_knows_Spy
thf(fact_152_in__set__insert, axiom,
    ((![X2 : agent, Xs : list_agent]: ((member_agent @ X2 @ (set_agent2 @ Xs)) => ((insert_agent @ X2 @ Xs) = Xs))))). % in_set_insert
thf(fact_153_in__set__insert, axiom,
    ((![X2 : msg, Xs : list_msg]: ((member_msg @ X2 @ (set_msg2 @ Xs)) => ((insert_msg @ X2 @ Xs) = Xs))))). % in_set_insert
thf(fact_154_in__set__insert, axiom,
    ((![X2 : event, Xs : list_event]: ((member_event @ X2 @ (set_event2 @ Xs)) => ((insert_event @ X2 @ Xs) = Xs))))). % in_set_insert
thf(fact_155_list_Osimps_I15_J, axiom,
    ((![X21 : msg, X22 : list_msg]: ((set_msg2 @ (cons_msg @ X21 @ X22)) = (insert_msg2 @ X21 @ (set_msg2 @ X22)))))). % list.simps(15)
thf(fact_156_list_Osimps_I15_J, axiom,
    ((![X21 : event, X22 : list_event]: ((set_event2 @ (cons_event @ X21 @ X22)) = (insert_event2 @ X21 @ (set_event2 @ X22)))))). % list.simps(15)
thf(fact_157_not__in__set__insert, axiom,
    ((![X2 : agent, Xs : list_agent]: ((~ ((member_agent @ X2 @ (set_agent2 @ Xs)))) => ((insert_agent @ X2 @ Xs) = (cons_agent @ X2 @ Xs)))))). % not_in_set_insert
thf(fact_158_not__in__set__insert, axiom,
    ((![X2 : msg, Xs : list_msg]: ((~ ((member_msg @ X2 @ (set_msg2 @ Xs)))) => ((insert_msg @ X2 @ Xs) = (cons_msg @ X2 @ Xs)))))). % not_in_set_insert
thf(fact_159_not__in__set__insert, axiom,
    ((![X2 : event, Xs : list_event]: ((~ ((member_event @ X2 @ (set_event2 @ Xs)))) => ((insert_event @ X2 @ Xs) = (cons_event @ X2 @ Xs)))))). % not_in_set_insert
thf(fact_160_List_Oset__insert, axiom,
    ((![X2 : msg, Xs : list_msg]: ((set_msg2 @ (insert_msg @ X2 @ Xs)) = (insert_msg2 @ X2 @ (set_msg2 @ Xs)))))). % List.set_insert
thf(fact_161_List_Oset__insert, axiom,
    ((![X2 : event, Xs : list_event]: ((set_event2 @ (insert_event @ X2 @ Xs)) = (insert_event2 @ X2 @ (set_event2 @ Xs)))))). % List.set_insert
thf(fact_162_subset__code_I1_J, axiom,
    ((![Xs : list_agent, B2 : set_agent]: ((ord_le722097072_agent @ (set_agent2 @ Xs) @ B2) = (![X4 : agent]: (((member_agent @ X4 @ (set_agent2 @ Xs))) => ((member_agent @ X4 @ B2)))))))). % subset_code(1)
thf(fact_163_subset__code_I1_J, axiom,
    ((![Xs : list_event, B2 : set_event]: ((ord_le152226328_event @ (set_event2 @ Xs) @ B2) = (![X4 : event]: (((member_event @ X4 @ (set_event2 @ Xs))) => ((member_event @ X4 @ B2)))))))). % subset_code(1)
thf(fact_164_subset__code_I1_J, axiom,
    ((![Xs : list_msg, B2 : set_msg]: ((ord_less_eq_set_msg @ (set_msg2 @ Xs) @ B2) = (![X4 : msg]: (((member_msg @ X4 @ (set_msg2 @ Xs))) => ((member_msg @ X4 @ B2)))))))). % subset_code(1)
thf(fact_165_list_Oset__cases, axiom,
    ((![E : agent, A2 : list_agent]: ((member_agent @ E @ (set_agent2 @ A2)) => ((![Z2 : list_agent]: (~ ((A2 = (cons_agent @ E @ Z2))))) => (~ ((![Z1 : agent, Z2 : list_agent]: ((A2 = (cons_agent @ Z1 @ Z2)) => (~ ((member_agent @ E @ (set_agent2 @ Z2))))))))))))). % list.set_cases
thf(fact_166_list_Oset__cases, axiom,
    ((![E : msg, A2 : list_msg]: ((member_msg @ E @ (set_msg2 @ A2)) => ((![Z2 : list_msg]: (~ ((A2 = (cons_msg @ E @ Z2))))) => (~ ((![Z1 : msg, Z2 : list_msg]: ((A2 = (cons_msg @ Z1 @ Z2)) => (~ ((member_msg @ E @ (set_msg2 @ Z2))))))))))))). % list.set_cases
thf(fact_167_list_Oset__cases, axiom,
    ((![E : event, A2 : list_event]: ((member_event @ E @ (set_event2 @ A2)) => ((![Z2 : list_event]: (~ ((A2 = (cons_event @ E @ Z2))))) => (~ ((![Z1 : event, Z2 : list_event]: ((A2 = (cons_event @ Z1 @ Z2)) => (~ ((member_event @ E @ (set_event2 @ Z2))))))))))))). % list.set_cases
thf(fact_168_set__ConsD, axiom,
    ((![Y : agent, X2 : agent, Xs : list_agent]: ((member_agent @ Y @ (set_agent2 @ (cons_agent @ X2 @ Xs))) => ((Y = X2) | (member_agent @ Y @ (set_agent2 @ Xs))))))). % set_ConsD
thf(fact_169_set__ConsD, axiom,
    ((![Y : msg, X2 : msg, Xs : list_msg]: ((member_msg @ Y @ (set_msg2 @ (cons_msg @ X2 @ Xs))) => ((Y = X2) | (member_msg @ Y @ (set_msg2 @ Xs))))))). % set_ConsD
thf(fact_170_set__ConsD, axiom,
    ((![Y : event, X2 : event, Xs : list_event]: ((member_event @ Y @ (set_event2 @ (cons_event @ X2 @ Xs))) => ((Y = X2) | (member_event @ Y @ (set_event2 @ Xs))))))). % set_ConsD
thf(fact_171_list_Oset__intros_I1_J, axiom,
    ((![X21 : agent, X22 : list_agent]: (member_agent @ X21 @ (set_agent2 @ (cons_agent @ X21 @ X22)))))). % list.set_intros(1)
thf(fact_172_list_Oset__intros_I1_J, axiom,
    ((![X21 : msg, X22 : list_msg]: (member_msg @ X21 @ (set_msg2 @ (cons_msg @ X21 @ X22)))))). % list.set_intros(1)
thf(fact_173_list_Oset__intros_I1_J, axiom,
    ((![X21 : event, X22 : list_event]: (member_event @ X21 @ (set_event2 @ (cons_event @ X21 @ X22)))))). % list.set_intros(1)
thf(fact_174_list_Oset__intros_I2_J, axiom,
    ((![Y : agent, X22 : list_agent, X21 : agent]: ((member_agent @ Y @ (set_agent2 @ X22)) => (member_agent @ Y @ (set_agent2 @ (cons_agent @ X21 @ X22))))))). % list.set_intros(2)
thf(fact_175_list_Oset__intros_I2_J, axiom,
    ((![Y : msg, X22 : list_msg, X21 : msg]: ((member_msg @ Y @ (set_msg2 @ X22)) => (member_msg @ Y @ (set_msg2 @ (cons_msg @ X21 @ X22))))))). % list.set_intros(2)
thf(fact_176_list_Oset__intros_I2_J, axiom,
    ((![Y : event, X22 : list_event, X21 : event]: ((member_event @ Y @ (set_event2 @ X22)) => (member_event @ Y @ (set_event2 @ (cons_event @ X21 @ X22))))))). % list.set_intros(2)
thf(fact_177_set__subset__Cons, axiom,
    ((![Xs : list_event, X2 : event]: (ord_le152226328_event @ (set_event2 @ Xs) @ (set_event2 @ (cons_event @ X2 @ Xs)))))). % set_subset_Cons
thf(fact_178_set__subset__Cons, axiom,
    ((![Xs : list_msg, X2 : msg]: (ord_less_eq_set_msg @ (set_msg2 @ Xs) @ (set_msg2 @ (cons_msg @ X2 @ Xs)))))). % set_subset_Cons
thf(fact_179_split__list, axiom,
    ((![X2 : agent, Xs : list_agent]: ((member_agent @ X2 @ (set_agent2 @ Xs)) => (?[Ys2 : list_agent, Zs2 : list_agent]: (Xs = (append_agent @ Ys2 @ (cons_agent @ X2 @ Zs2)))))))). % split_list
thf(fact_180_split__list, axiom,
    ((![X2 : msg, Xs : list_msg]: ((member_msg @ X2 @ (set_msg2 @ Xs)) => (?[Ys2 : list_msg, Zs2 : list_msg]: (Xs = (append_msg @ Ys2 @ (cons_msg @ X2 @ Zs2)))))))). % split_list
thf(fact_181_split__list, axiom,
    ((![X2 : event, Xs : list_event]: ((member_event @ X2 @ (set_event2 @ Xs)) => (?[Ys2 : list_event, Zs2 : list_event]: (Xs = (append_event @ Ys2 @ (cons_event @ X2 @ Zs2)))))))). % split_list
thf(fact_182_split__list__last, axiom,
    ((![X2 : agent, Xs : list_agent]: ((member_agent @ X2 @ (set_agent2 @ Xs)) => (?[Ys2 : list_agent, Zs2 : list_agent]: ((Xs = (append_agent @ Ys2 @ (cons_agent @ X2 @ Zs2))) & (~ ((member_agent @ X2 @ (set_agent2 @ Zs2)))))))))). % split_list_last
thf(fact_183_split__list__last, axiom,
    ((![X2 : msg, Xs : list_msg]: ((member_msg @ X2 @ (set_msg2 @ Xs)) => (?[Ys2 : list_msg, Zs2 : list_msg]: ((Xs = (append_msg @ Ys2 @ (cons_msg @ X2 @ Zs2))) & (~ ((member_msg @ X2 @ (set_msg2 @ Zs2)))))))))). % split_list_last
thf(fact_184_split__list__last, axiom,
    ((![X2 : event, Xs : list_event]: ((member_event @ X2 @ (set_event2 @ Xs)) => (?[Ys2 : list_event, Zs2 : list_event]: ((Xs = (append_event @ Ys2 @ (cons_event @ X2 @ Zs2))) & (~ ((member_event @ X2 @ (set_event2 @ Zs2)))))))))). % split_list_last
thf(fact_185_split__list__prop, axiom,
    ((![Xs : list_event, P : event > $o]: ((?[X5 : event]: ((member_event @ X5 @ (set_event2 @ Xs)) & (P @ X5))) => (?[Ys2 : list_event, X3 : event]: ((?[Zs2 : list_event]: (Xs = (append_event @ Ys2 @ (cons_event @ X3 @ Zs2)))) & (P @ X3))))))). % split_list_prop
thf(fact_186_split__list__first, axiom,
    ((![X2 : agent, Xs : list_agent]: ((member_agent @ X2 @ (set_agent2 @ Xs)) => (?[Ys2 : list_agent, Zs2 : list_agent]: ((Xs = (append_agent @ Ys2 @ (cons_agent @ X2 @ Zs2))) & (~ ((member_agent @ X2 @ (set_agent2 @ Ys2)))))))))). % split_list_first
thf(fact_187_split__list__first, axiom,
    ((![X2 : msg, Xs : list_msg]: ((member_msg @ X2 @ (set_msg2 @ Xs)) => (?[Ys2 : list_msg, Zs2 : list_msg]: ((Xs = (append_msg @ Ys2 @ (cons_msg @ X2 @ Zs2))) & (~ ((member_msg @ X2 @ (set_msg2 @ Ys2)))))))))). % split_list_first
thf(fact_188_split__list__first, axiom,
    ((![X2 : event, Xs : list_event]: ((member_event @ X2 @ (set_event2 @ Xs)) => (?[Ys2 : list_event, Zs2 : list_event]: ((Xs = (append_event @ Ys2 @ (cons_event @ X2 @ Zs2))) & (~ ((member_event @ X2 @ (set_event2 @ Ys2)))))))))). % split_list_first
thf(fact_189_split__list__propE, axiom,
    ((![Xs : list_event, P : event > $o]: ((?[X5 : event]: ((member_event @ X5 @ (set_event2 @ Xs)) & (P @ X5))) => (~ ((![Ys2 : list_event, X3 : event]: ((?[Zs2 : list_event]: (Xs = (append_event @ Ys2 @ (cons_event @ X3 @ Zs2)))) => (~ ((P @ X3))))))))))). % split_list_propE
thf(fact_190_append__Cons__eq__iff, axiom,
    ((![X2 : agent, Xs : list_agent, Ys : list_agent, Xs6 : list_agent, Ys5 : list_agent]: ((~ ((member_agent @ X2 @ (set_agent2 @ Xs)))) => ((~ ((member_agent @ X2 @ (set_agent2 @ Ys)))) => (((append_agent @ Xs @ (cons_agent @ X2 @ Ys)) = (append_agent @ Xs6 @ (cons_agent @ X2 @ Ys5))) = (((Xs = Xs6)) & ((Ys = Ys5))))))))). % append_Cons_eq_iff
thf(fact_191_append__Cons__eq__iff, axiom,
    ((![X2 : msg, Xs : list_msg, Ys : list_msg, Xs6 : list_msg, Ys5 : list_msg]: ((~ ((member_msg @ X2 @ (set_msg2 @ Xs)))) => ((~ ((member_msg @ X2 @ (set_msg2 @ Ys)))) => (((append_msg @ Xs @ (cons_msg @ X2 @ Ys)) = (append_msg @ Xs6 @ (cons_msg @ X2 @ Ys5))) = (((Xs = Xs6)) & ((Ys = Ys5))))))))). % append_Cons_eq_iff
thf(fact_192_append__Cons__eq__iff, axiom,
    ((![X2 : event, Xs : list_event, Ys : list_event, Xs6 : list_event, Ys5 : list_event]: ((~ ((member_event @ X2 @ (set_event2 @ Xs)))) => ((~ ((member_event @ X2 @ (set_event2 @ Ys)))) => (((append_event @ Xs @ (cons_event @ X2 @ Ys)) = (append_event @ Xs6 @ (cons_event @ X2 @ Ys5))) = (((Xs = Xs6)) & ((Ys = Ys5))))))))). % append_Cons_eq_iff
thf(fact_193_in__set__conv__decomp, axiom,
    ((![X2 : agent, Xs : list_agent]: ((member_agent @ X2 @ (set_agent2 @ Xs)) = (?[Ys3 : list_agent]: (?[Zs3 : list_agent]: (Xs = (append_agent @ Ys3 @ (cons_agent @ X2 @ Zs3))))))))). % in_set_conv_decomp
thf(fact_194_in__set__conv__decomp, axiom,
    ((![X2 : msg, Xs : list_msg]: ((member_msg @ X2 @ (set_msg2 @ Xs)) = (?[Ys3 : list_msg]: (?[Zs3 : list_msg]: (Xs = (append_msg @ Ys3 @ (cons_msg @ X2 @ Zs3))))))))). % in_set_conv_decomp
thf(fact_195_in__set__conv__decomp, axiom,
    ((![X2 : event, Xs : list_event]: ((member_event @ X2 @ (set_event2 @ Xs)) = (?[Ys3 : list_event]: (?[Zs3 : list_event]: (Xs = (append_event @ Ys3 @ (cons_event @ X2 @ Zs3))))))))). % in_set_conv_decomp
thf(fact_196_split__list__last__prop, axiom,
    ((![Xs : list_event, P : event > $o]: ((?[X5 : event]: ((member_event @ X5 @ (set_event2 @ Xs)) & (P @ X5))) => (?[Ys2 : list_event, X3 : event, Zs2 : list_event]: ((Xs = (append_event @ Ys2 @ (cons_event @ X3 @ Zs2))) & ((P @ X3) & (![Xa : event]: ((member_event @ Xa @ (set_event2 @ Zs2)) => (~ ((P @ Xa)))))))))))). % split_list_last_prop
thf(fact_197_split__list__first__prop, axiom,
    ((![Xs : list_event, P : event > $o]: ((?[X5 : event]: ((member_event @ X5 @ (set_event2 @ Xs)) & (P @ X5))) => (?[Ys2 : list_event, X3 : event]: ((?[Zs2 : list_event]: (Xs = (append_event @ Ys2 @ (cons_event @ X3 @ Zs2)))) & ((P @ X3) & (![Xa : event]: ((member_event @ Xa @ (set_event2 @ Ys2)) => (~ ((P @ Xa)))))))))))). % split_list_first_prop
thf(fact_198_split__list__last__propE, axiom,
    ((![Xs : list_event, P : event > $o]: ((?[X5 : event]: ((member_event @ X5 @ (set_event2 @ Xs)) & (P @ X5))) => (~ ((![Ys2 : list_event, X3 : event, Zs2 : list_event]: ((Xs = (append_event @ Ys2 @ (cons_event @ X3 @ Zs2))) => ((P @ X3) => (~ ((![Xa : event]: ((member_event @ Xa @ (set_event2 @ Zs2)) => (~ ((P @ Xa)))))))))))))))). % split_list_last_propE
thf(fact_199_split__list__first__propE, axiom,
    ((![Xs : list_event, P : event > $o]: ((?[X5 : event]: ((member_event @ X5 @ (set_event2 @ Xs)) & (P @ X5))) => (~ ((![Ys2 : list_event, X3 : event]: ((?[Zs2 : list_event]: (Xs = (append_event @ Ys2 @ (cons_event @ X3 @ Zs2)))) => ((P @ X3) => (~ ((![Xa : event]: ((member_event @ Xa @ (set_event2 @ Ys2)) => (~ ((P @ Xa)))))))))))))))). % split_list_first_propE
thf(fact_200_in__set__conv__decomp__last, axiom,
    ((![X2 : agent, Xs : list_agent]: ((member_agent @ X2 @ (set_agent2 @ Xs)) = (?[Ys3 : list_agent]: (?[Zs3 : list_agent]: (((Xs = (append_agent @ Ys3 @ (cons_agent @ X2 @ Zs3)))) & ((~ ((member_agent @ X2 @ (set_agent2 @ Zs3)))))))))))). % in_set_conv_decomp_last
thf(fact_201_in__set__conv__decomp__last, axiom,
    ((![X2 : msg, Xs : list_msg]: ((member_msg @ X2 @ (set_msg2 @ Xs)) = (?[Ys3 : list_msg]: (?[Zs3 : list_msg]: (((Xs = (append_msg @ Ys3 @ (cons_msg @ X2 @ Zs3)))) & ((~ ((member_msg @ X2 @ (set_msg2 @ Zs3)))))))))))). % in_set_conv_decomp_last
thf(fact_202_in__set__conv__decomp__last, axiom,
    ((![X2 : event, Xs : list_event]: ((member_event @ X2 @ (set_event2 @ Xs)) = (?[Ys3 : list_event]: (?[Zs3 : list_event]: (((Xs = (append_event @ Ys3 @ (cons_event @ X2 @ Zs3)))) & ((~ ((member_event @ X2 @ (set_event2 @ Zs3)))))))))))). % in_set_conv_decomp_last
thf(fact_203_in__set__conv__decomp__first, axiom,
    ((![X2 : agent, Xs : list_agent]: ((member_agent @ X2 @ (set_agent2 @ Xs)) = (?[Ys3 : list_agent]: (?[Zs3 : list_agent]: (((Xs = (append_agent @ Ys3 @ (cons_agent @ X2 @ Zs3)))) & ((~ ((member_agent @ X2 @ (set_agent2 @ Ys3)))))))))))). % in_set_conv_decomp_first
thf(fact_204_in__set__conv__decomp__first, axiom,
    ((![X2 : msg, Xs : list_msg]: ((member_msg @ X2 @ (set_msg2 @ Xs)) = (?[Ys3 : list_msg]: (?[Zs3 : list_msg]: (((Xs = (append_msg @ Ys3 @ (cons_msg @ X2 @ Zs3)))) & ((~ ((member_msg @ X2 @ (set_msg2 @ Ys3)))))))))))). % in_set_conv_decomp_first
thf(fact_205_in__set__conv__decomp__first, axiom,
    ((![X2 : event, Xs : list_event]: ((member_event @ X2 @ (set_event2 @ Xs)) = (?[Ys3 : list_event]: (?[Zs3 : list_event]: (((Xs = (append_event @ Ys3 @ (cons_event @ X2 @ Zs3)))) & ((~ ((member_event @ X2 @ (set_event2 @ Ys3)))))))))))). % in_set_conv_decomp_first
thf(fact_206_split__list__last__prop__iff, axiom,
    ((![Xs : list_event, P : event > $o]: ((?[X4 : event]: (((member_event @ X4 @ (set_event2 @ Xs))) & ((P @ X4)))) = (?[Ys3 : list_event]: (?[X4 : event]: (?[Zs3 : list_event]: (((Xs = (append_event @ Ys3 @ (cons_event @ X4 @ Zs3)))) & ((((P @ X4)) & ((![Y3 : event]: (((member_event @ Y3 @ (set_event2 @ Zs3))) => ((~ ((P @ Y3))))))))))))))))). % split_list_last_prop_iff
thf(fact_207_split__list__first__prop__iff, axiom,
    ((![Xs : list_event, P : event > $o]: ((?[X4 : event]: (((member_event @ X4 @ (set_event2 @ Xs))) & ((P @ X4)))) = (?[Ys3 : list_event]: (?[X4 : event]: (((?[Zs3 : list_event]: (Xs = (append_event @ Ys3 @ (cons_event @ X4 @ Zs3))))) & ((((P @ X4)) & ((![Y3 : event]: (((member_event @ Y3 @ (set_event2 @ Ys3))) => ((~ ((P @ Y3)))))))))))))))). % split_list_first_prop_iff
thf(fact_208_Says__imp__knows, axiom,
    ((![A : agent, B2 : agent, X : msg, Evs : list_event]: ((member_event @ (says @ A @ B2 @ X) @ (set_event2 @ Evs)) => (member_msg @ X @ (knows @ A @ Evs)))))). % Says_imp_knows
thf(fact_209_Notes__imp__knows, axiom,
    ((![A : agent, X : msg, Evs : list_event]: ((member_event @ (notes @ A @ X) @ (set_event2 @ Evs)) => (member_msg @ X @ (knows @ A @ Evs)))))). % Notes_imp_knows
thf(fact_210_List_Oinsert__def, axiom,
    ((insert_agent = (^[X4 : agent]: (^[Xs3 : list_agent]: (if_list_agent @ (member_agent @ X4 @ (set_agent2 @ Xs3)) @ Xs3 @ (cons_agent @ X4 @ Xs3))))))). % List.insert_def
thf(fact_211_List_Oinsert__def, axiom,
    ((insert_msg = (^[X4 : msg]: (^[Xs3 : list_msg]: (if_list_msg @ (member_msg @ X4 @ (set_msg2 @ Xs3)) @ Xs3 @ (cons_msg @ X4 @ Xs3))))))). % List.insert_def
thf(fact_212_List_Oinsert__def, axiom,
    ((insert_event = (^[X4 : event]: (^[Xs3 : list_event]: (if_list_event @ (member_event @ X4 @ (set_event2 @ Xs3)) @ Xs3 @ (cons_event @ X4 @ Xs3))))))). % List.insert_def
thf(fact_213_dual__order_Oantisym, axiom,
    ((![B : set_msg, A2 : set_msg]: ((ord_less_eq_set_msg @ B @ A2) => ((ord_less_eq_set_msg @ A2 @ B) => (A2 = B)))))). % dual_order.antisym
thf(fact_214_dual__order_Oeq__iff, axiom,
    (((^[Y4 : set_msg]: (^[Z : set_msg]: (Y4 = Z))) = (^[A6 : set_msg]: (^[B5 : set_msg]: (((ord_less_eq_set_msg @ B5 @ A6)) & ((ord_less_eq_set_msg @ A6 @ B5)))))))). % dual_order.eq_iff

% Helper facts (7)
thf(help_If_2_1_If_001t__List__Olist_It__Event__Oevent_J_T, axiom,
    ((![X2 : list_event, Y : list_event]: ((if_list_event @ $false @ X2 @ Y) = Y)))).
thf(help_If_1_1_If_001t__List__Olist_It__Event__Oevent_J_T, axiom,
    ((![X2 : list_event, Y : list_event]: ((if_list_event @ $true @ X2 @ Y) = X2)))).
thf(help_If_2_1_If_001t__List__Olist_It__Message__Omsg_J_T, axiom,
    ((![X2 : list_msg, Y : list_msg]: ((if_list_msg @ $false @ X2 @ Y) = Y)))).
thf(help_If_1_1_If_001t__List__Olist_It__Message__Omsg_J_T, axiom,
    ((![X2 : list_msg, Y : list_msg]: ((if_list_msg @ $true @ X2 @ Y) = X2)))).
thf(help_If_3_1_If_001t__List__Olist_It__Message__Oagent_J_T, axiom,
    ((![P : $o]: ((P = $true) | (P = $false))))).
thf(help_If_2_1_If_001t__List__Olist_It__Message__Oagent_J_T, axiom,
    ((![X2 : list_agent, Y : list_agent]: ((if_list_agent @ $false @ X2 @ Y) = Y)))).
thf(help_If_1_1_If_001t__List__Olist_It__Message__Oagent_J_T, axiom,
    ((![X2 : list_agent, Y : list_agent]: ((if_list_agent @ $true @ X2 @ Y) = X2)))).

% Conjectures (1)
thf(conj_0, conjecture,
    ((((member_agent @ a @ bad) => ((knows @ spy @ (append_event @ nil_event @ (cons_event @ (notes @ a @ x) @ nil_event))) = (insert_msg2 @ x @ (knows @ spy @ nil_event)))) & ((~ ((member_agent @ a @ bad))) => ((knows @ spy @ (append_event @ nil_event @ (cons_event @ (notes @ a @ x) @ nil_event))) = (knows @ spy @ nil_event)))))).
