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

% Could-be-implicit typings (12)
thf(ty_n_t__List__Olist_It__List__Olist_It__Event__Oevent_J_J, type,
    list_list_event : $tType).
thf(ty_n_t__Set__Oset_It__List__Olist_It__Event__Oevent_J_J, type,
    set_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).
thf(ty_n_t__Nat__Onat, type,
    nat : $tType).

% Explicit typings (49)
thf(sy_c_Event_Obad, type,
    bad : set_agent).
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_List_Olist_Oset_001t__Event__Oevent, type,
    set_event2 : list_event > set_event).
thf(sy_c_List_Olist_Oset_001t__List__Olist_It__Event__Oevent_J, type,
    set_list_event2 : list_list_event > set_list_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_Orev_001t__Event__Oevent, type,
    rev_event : list_event > list_event).
thf(sy_c_List_OtakeWhile_001t__Event__Oevent, type,
    takeWhile_event : (event > $o) > list_event > list_event).
thf(sy_c_List_OtakeWhile_001t__List__Olist_It__Event__Oevent_J, type,
    takeWhile_list_event : (list_event > $o) > list_list_event > list_list_event).
thf(sy_c_List_OtakeWhile_001t__Message__Oagent, type,
    takeWhile_agent : (agent > $o) > list_agent > list_agent).
thf(sy_c_List_OtakeWhile_001t__Message__Omsg, type,
    takeWhile_msg : (msg > $o) > list_msg > list_msg).
thf(sy_c_Message_Oagent_OServer, type,
    server : agent).
thf(sy_c_Message_Oagent_OSpy, type,
    spy : agent).
thf(sy_c_Message_Oanalz, type,
    analz : set_msg > set_msg).
thf(sy_c_Message_Omsg_OAgent, type,
    agent2 : agent > msg).
thf(sy_c_Message_Omsg_OCrypt, type,
    crypt : nat > msg > msg).
thf(sy_c_Message_Omsg_OKey, type,
    key : nat > msg).
thf(sy_c_Message_Omsg_OMPair, type,
    mPair : msg > msg > msg).
thf(sy_c_Message_Omsg_ONonce, type,
    nonce : nat > msg).
thf(sy_c_Message_Oparts, type,
    parts : set_msg > set_msg).
thf(sy_c_NS__Shared__Mirabelle__xwdrtqxrux_OIssues, type,
    nS_Sha1425748201Issues : agent > agent > msg > list_event > $o).
thf(sy_c_NS__Shared__Mirabelle__xwdrtqxrux_Ons__shared, type,
    nS_Sha1061662329shared : set_list_event).
thf(sy_c_Orderings_Obot__class_Obot_001_062_It__Message__Omsg_M_Eo_J, type,
    bot_bot_msg_o : msg > $o).
thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Event__Oevent_J, type,
    bot_bot_set_event : set_event).
thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__List__Olist_It__Event__Oevent_J_J, type,
    bot_bo1693714908_event : set_list_event).
thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Message__Oagent_J, type,
    bot_bot_set_agent : set_agent).
thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Message__Omsg_J, type,
    bot_bot_set_msg : set_msg).
thf(sy_c_Public_OshrK, type,
    shrK : agent > nat).
thf(sy_c_Set_OCollect_001t__Event__Oevent, type,
    collect_event : (event > $o) > set_event).
thf(sy_c_Set_OCollect_001t__List__Olist_It__Event__Oevent_J, type,
    collect_list_event : (list_event > $o) > set_list_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_event : event > set_event > set_event).
thf(sy_c_Set_Oinsert_001t__List__Olist_It__Event__Oevent_J, type,
    insert_list_event : list_event > set_list_event > set_list_event).
thf(sy_c_Set_Oinsert_001t__Message__Oagent, type,
    insert_agent : agent > set_agent > set_agent).
thf(sy_c_Set_Oinsert_001t__Message__Omsg, type,
    insert_msg : msg > set_msg > set_msg).
thf(sy_c_Set_Othe__elem_001t__Message__Omsg, type,
    the_elem_msg : set_msg > msg).
thf(sy_c_member_001t__Event__Oevent, type,
    member_event : event > set_event > $o).
thf(sy_c_member_001t__List__Olist_It__Event__Oevent_J, type,
    member_list_event : list_event > set_list_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_B, type,
    b : agent).
thf(sy_v_K, type,
    k : nat).
thf(sy_v_NB, type,
    nb : nat).
thf(sy_v_Y__0_058ATP, type,
    y_0_ATP : msg).
thf(sy_v_evs, type,
    evs : list_event).

% Relevant facts (218)
thf(fact_0_spies__evs__rev, axiom,
    ((![Evs : list_event]: ((knows @ spy @ Evs) = (knows @ spy @ (rev_event @ Evs)))))). % spies_evs_rev
thf(fact_1_NS3__msg__in__parts__spies, axiom,
    ((![S : agent, A : agent, KA : nat, N : msg, B : msg, K : msg, X : msg, Evs : list_event]: ((member_event @ (says @ S @ A @ (crypt @ KA @ (mPair @ N @ (mPair @ B @ (mPair @ K @ X))))) @ (set_event2 @ Evs)) => (member_msg @ X @ (parts @ (knows @ spy @ Evs))))))). % NS3_msg_in_parts_spies
thf(fact_2_Issues__def, axiom,
    ((nS_Sha1425748201Issues = (^[A2 : agent]: (^[B2 : agent]: (^[X2 : msg]: (^[Evs2 : list_event]: (?[Y : msg]: (((member_event @ (says @ A2 @ B2 @ Y) @ (set_event2 @ Evs2))) & ((((member_msg @ X2 @ (parts @ (insert_msg @ Y @ bot_bot_set_msg)))) & ((~ ((member_msg @ X2 @ (parts @ (knows @ spy @ (takeWhile_event @ (^[Z : event]: (~ ((Z = (says @ A2 @ B2 @ Y))))) @ (rev_event @ Evs2))))))))))))))))))). % Issues_def
thf(fact_3_B__Issues__A, axiom,
    ((![B : agent, A : agent, K : nat, Nb : nat, Evs : list_event]: ((member_event @ (says @ B @ A @ (crypt @ K @ (nonce @ Nb))) @ (set_event2 @ Evs)) => ((~ ((member_msg @ (key @ K) @ (analz @ (knows @ spy @ Evs))))) => ((~ ((member_agent @ A @ bad))) => ((~ ((member_agent @ B @ bad))) => ((member_list_event @ Evs @ nS_Sha1061662329shared) => (nS_Sha1425748201Issues @ B @ A @ (crypt @ K @ (nonce @ Nb)) @ Evs))))))))). % B_Issues_A
thf(fact_4_parts__insert__Nonce, axiom,
    ((![N : nat, H : set_msg]: ((parts @ (insert_msg @ (nonce @ N) @ H)) = (insert_msg @ (nonce @ N) @ (parts @ H)))))). % parts_insert_Nonce
thf(fact_5_analz__insert__Nonce, axiom,
    ((![N : nat, H : set_msg]: ((analz @ (insert_msg @ (nonce @ N) @ H)) = (insert_msg @ (nonce @ N) @ (analz @ H)))))). % analz_insert_Nonce
thf(fact_6_parts__insert__Crypt, axiom,
    ((![K : nat, X : msg, H : set_msg]: ((parts @ (insert_msg @ (crypt @ K @ X) @ H)) = (insert_msg @ (crypt @ K @ X) @ (parts @ (insert_msg @ X @ H))))))). % parts_insert_Crypt
thf(fact_7_parts__insert__Key, axiom,
    ((![K : nat, H : set_msg]: ((parts @ (insert_msg @ (key @ K) @ H)) = (insert_msg @ (key @ K) @ (parts @ H)))))). % parts_insert_Key
thf(fact_8_parts__insert__MPair, axiom,
    ((![X : msg, Y2 : msg, H : set_msg]: ((parts @ (insert_msg @ (mPair @ X @ Y2) @ H)) = (insert_msg @ (mPair @ X @ Y2) @ (parts @ (insert_msg @ X @ (insert_msg @ Y2 @ H)))))))). % parts_insert_MPair
thf(fact_9_analz__insert__MPair, axiom,
    ((![X : msg, Y2 : msg, H : set_msg]: ((analz @ (insert_msg @ (mPair @ X @ Y2) @ H)) = (insert_msg @ (mPair @ X @ Y2) @ (analz @ (insert_msg @ X @ (insert_msg @ Y2 @ H)))))))). % analz_insert_MPair
thf(fact_10_singleton__conv, axiom,
    ((![A3 : msg]: ((collect_msg @ (^[X3 : msg]: (X3 = A3))) = (insert_msg @ A3 @ bot_bot_set_msg))))). % singleton_conv
thf(fact_11_singleton__conv2, axiom,
    ((![A3 : msg]: ((collect_msg @ ((^[Y3 : msg]: (^[Z2 : msg]: (Y3 = Z2))) @ A3)) = (insert_msg @ A3 @ bot_bot_set_msg))))). % singleton_conv2
thf(fact_12_parts__empty, axiom,
    (((parts @ bot_bot_set_msg) = bot_bot_set_msg))). % parts_empty
thf(fact_13_analz__empty, axiom,
    (((analz @ bot_bot_set_msg) = bot_bot_set_msg))). % analz_empty
thf(fact_14_empty__Collect__eq, axiom,
    ((![P : msg > $o]: ((bot_bot_set_msg = (collect_msg @ P)) = (![X3 : msg]: (~ ((P @ X3)))))))). % empty_Collect_eq
thf(fact_15_Collect__empty__eq, axiom,
    ((![P : msg > $o]: (((collect_msg @ P) = bot_bot_set_msg) = (![X3 : msg]: (~ ((P @ X3)))))))). % Collect_empty_eq
thf(fact_16_all__not__in__conv, axiom,
    ((![A : set_event]: ((![X3 : event]: (~ ((member_event @ X3 @ A)))) = (A = bot_bot_set_event))))). % all_not_in_conv
thf(fact_17_all__not__in__conv, axiom,
    ((![A : set_agent]: ((![X3 : agent]: (~ ((member_agent @ X3 @ A)))) = (A = bot_bot_set_agent))))). % all_not_in_conv
thf(fact_18_all__not__in__conv, axiom,
    ((![A : set_list_event]: ((![X3 : list_event]: (~ ((member_list_event @ X3 @ A)))) = (A = bot_bo1693714908_event))))). % all_not_in_conv
thf(fact_19_all__not__in__conv, axiom,
    ((![A : set_msg]: ((![X3 : msg]: (~ ((member_msg @ X3 @ A)))) = (A = bot_bot_set_msg))))). % all_not_in_conv
thf(fact_20_empty__iff, axiom,
    ((![C : event]: (~ ((member_event @ C @ bot_bot_set_event)))))). % empty_iff
thf(fact_21_empty__iff, axiom,
    ((![C : agent]: (~ ((member_agent @ C @ bot_bot_set_agent)))))). % empty_iff
thf(fact_22_empty__iff, axiom,
    ((![C : list_event]: (~ ((member_list_event @ C @ bot_bo1693714908_event)))))). % empty_iff
thf(fact_23_empty__iff, axiom,
    ((![C : msg]: (~ ((member_msg @ C @ bot_bot_set_msg)))))). % empty_iff
thf(fact_24_insert__absorb2, axiom,
    ((![X4 : msg, A : set_msg]: ((insert_msg @ X4 @ (insert_msg @ X4 @ A)) = (insert_msg @ X4 @ A))))). % insert_absorb2
thf(fact_25_insert__iff, axiom,
    ((![A3 : event, B3 : event, A : set_event]: ((member_event @ A3 @ (insert_event @ B3 @ A)) = (((A3 = B3)) | ((member_event @ A3 @ A))))))). % insert_iff
thf(fact_26_insert__iff, axiom,
    ((![A3 : msg, B3 : msg, A : set_msg]: ((member_msg @ A3 @ (insert_msg @ B3 @ A)) = (((A3 = B3)) | ((member_msg @ A3 @ A))))))). % insert_iff
thf(fact_27_insert__iff, axiom,
    ((![A3 : agent, B3 : agent, A : set_agent]: ((member_agent @ A3 @ (insert_agent @ B3 @ A)) = (((A3 = B3)) | ((member_agent @ A3 @ A))))))). % insert_iff
thf(fact_28_insert__iff, axiom,
    ((![A3 : list_event, B3 : list_event, A : set_list_event]: ((member_list_event @ A3 @ (insert_list_event @ B3 @ A)) = (((A3 = B3)) | ((member_list_event @ A3 @ A))))))). % insert_iff
thf(fact_29_insertCI, axiom,
    ((![A3 : event, B : set_event, B3 : event]: (((~ ((member_event @ A3 @ B))) => (A3 = B3)) => (member_event @ A3 @ (insert_event @ B3 @ B)))))). % insertCI
thf(fact_30_insertCI, axiom,
    ((![A3 : msg, B : set_msg, B3 : msg]: (((~ ((member_msg @ A3 @ B))) => (A3 = B3)) => (member_msg @ A3 @ (insert_msg @ B3 @ B)))))). % insertCI
thf(fact_31_insertCI, axiom,
    ((![A3 : agent, B : set_agent, B3 : agent]: (((~ ((member_agent @ A3 @ B))) => (A3 = B3)) => (member_agent @ A3 @ (insert_agent @ B3 @ B)))))). % insertCI
thf(fact_32_insertCI, axiom,
    ((![A3 : list_event, B : set_list_event, B3 : list_event]: (((~ ((member_list_event @ A3 @ B))) => (A3 = B3)) => (member_list_event @ A3 @ (insert_list_event @ B3 @ B)))))). % insertCI
thf(fact_33_msg_Oinject_I6_J, axiom,
    ((![X61 : msg, X62 : msg, Y61 : msg, Y62 : msg]: (((mPair @ X61 @ X62) = (mPair @ Y61 @ Y62)) = (((X61 = Y61)) & ((X62 = Y62))))))). % msg.inject(6)
thf(fact_34_analz__idem, axiom,
    ((![H : set_msg]: ((analz @ (analz @ H)) = (analz @ H))))). % analz_idem
thf(fact_35_msg_Oinject_I4_J, axiom,
    ((![X42 : nat, Y4 : nat]: (((key @ X42) = (key @ Y4)) = (X42 = Y4))))). % msg.inject(4)
thf(fact_36_parts__idem, axiom,
    ((![H : set_msg]: ((parts @ (parts @ H)) = (parts @ H))))). % parts_idem
thf(fact_37_msg_Oinject_I7_J, axiom,
    ((![X71 : nat, X72 : msg, Y71 : nat, Y72 : msg]: (((crypt @ X71 @ X72) = (crypt @ Y71 @ Y72)) = (((X71 = Y71)) & ((X72 = Y72))))))). % msg.inject(7)
thf(fact_38_msg_Oinject_I3_J, axiom,
    ((![X32 : nat, Y32 : nat]: (((nonce @ X32) = (nonce @ Y32)) = (X32 = Y32))))). % msg.inject(3)
thf(fact_39_singletonI, axiom,
    ((![A3 : event]: (member_event @ A3 @ (insert_event @ A3 @ bot_bot_set_event))))). % singletonI
thf(fact_40_singletonI, axiom,
    ((![A3 : agent]: (member_agent @ A3 @ (insert_agent @ A3 @ bot_bot_set_agent))))). % singletonI
thf(fact_41_singletonI, axiom,
    ((![A3 : list_event]: (member_list_event @ A3 @ (insert_list_event @ A3 @ bot_bo1693714908_event))))). % singletonI
thf(fact_42_singletonI, axiom,
    ((![A3 : msg]: (member_msg @ A3 @ (insert_msg @ A3 @ bot_bot_set_msg))))). % singletonI
thf(fact_43_analz__disj__parts, axiom,
    ((![X : msg, H : set_msg]: ((((member_msg @ X @ (analz @ H))) | ((member_msg @ X @ (parts @ H)))) = (member_msg @ X @ (parts @ H)))))). % analz_disj_parts
thf(fact_44_analz__conj__parts, axiom,
    ((![X : msg, H : set_msg]: ((((member_msg @ X @ (analz @ H))) & ((member_msg @ X @ (parts @ H)))) = (member_msg @ X @ (analz @ H)))))). % analz_conj_parts
thf(fact_45_parts__analz, axiom,
    ((![H : set_msg]: ((parts @ (analz @ H)) = (parts @ H))))). % parts_analz
thf(fact_46_analz__parts, axiom,
    ((![H : set_msg]: ((analz @ (parts @ H)) = (parts @ H))))). % analz_parts
thf(fact_47_parts__cut__eq, axiom,
    ((![X : msg, H : set_msg]: ((member_msg @ X @ (parts @ H)) => ((parts @ (insert_msg @ X @ H)) = (parts @ H)))))). % parts_cut_eq
thf(fact_48_ex__in__conv, axiom,
    ((![A : set_event]: ((?[X3 : event]: (member_event @ X3 @ A)) = (~ ((A = bot_bot_set_event))))))). % ex_in_conv
thf(fact_49_ex__in__conv, axiom,
    ((![A : set_agent]: ((?[X3 : agent]: (member_agent @ X3 @ A)) = (~ ((A = bot_bot_set_agent))))))). % ex_in_conv
thf(fact_50_ex__in__conv, axiom,
    ((![A : set_list_event]: ((?[X3 : list_event]: (member_list_event @ X3 @ A)) = (~ ((A = bot_bo1693714908_event))))))). % ex_in_conv
thf(fact_51_ex__in__conv, axiom,
    ((![A : set_msg]: ((?[X3 : msg]: (member_msg @ X3 @ A)) = (~ ((A = bot_bot_set_msg))))))). % ex_in_conv
thf(fact_52_equals0I, axiom,
    ((![A : set_event]: ((![Y5 : event]: (~ ((member_event @ Y5 @ A)))) => (A = bot_bot_set_event))))). % equals0I
thf(fact_53_equals0I, axiom,
    ((![A : set_agent]: ((![Y5 : agent]: (~ ((member_agent @ Y5 @ A)))) => (A = bot_bot_set_agent))))). % equals0I
thf(fact_54_equals0I, axiom,
    ((![A : set_list_event]: ((![Y5 : list_event]: (~ ((member_list_event @ Y5 @ A)))) => (A = bot_bo1693714908_event))))). % equals0I
thf(fact_55_equals0I, axiom,
    ((![A : set_msg]: ((![Y5 : msg]: (~ ((member_msg @ Y5 @ A)))) => (A = bot_bot_set_msg))))). % equals0I
thf(fact_56_equals0D, axiom,
    ((![A : set_event, A3 : event]: ((A = bot_bot_set_event) => (~ ((member_event @ A3 @ A))))))). % equals0D
thf(fact_57_equals0D, axiom,
    ((![A : set_agent, A3 : agent]: ((A = bot_bot_set_agent) => (~ ((member_agent @ A3 @ A))))))). % equals0D
thf(fact_58_equals0D, axiom,
    ((![A : set_list_event, A3 : list_event]: ((A = bot_bo1693714908_event) => (~ ((member_list_event @ A3 @ A))))))). % equals0D
thf(fact_59_equals0D, axiom,
    ((![A : set_msg, A3 : msg]: ((A = bot_bot_set_msg) => (~ ((member_msg @ A3 @ A))))))). % equals0D
thf(fact_60_emptyE, axiom,
    ((![A3 : event]: (~ ((member_event @ A3 @ bot_bot_set_event)))))). % emptyE
thf(fact_61_emptyE, axiom,
    ((![A3 : agent]: (~ ((member_agent @ A3 @ bot_bot_set_agent)))))). % emptyE
thf(fact_62_emptyE, axiom,
    ((![A3 : list_event]: (~ ((member_list_event @ A3 @ bot_bo1693714908_event)))))). % emptyE
thf(fact_63_emptyE, axiom,
    ((![A3 : msg]: (~ ((member_msg @ A3 @ bot_bot_set_msg)))))). % emptyE
thf(fact_64_mk__disjoint__insert, axiom,
    ((![A3 : event, A : set_event]: ((member_event @ A3 @ A) => (?[B4 : set_event]: ((A = (insert_event @ A3 @ B4)) & (~ ((member_event @ A3 @ B4))))))))). % mk_disjoint_insert
thf(fact_65_mk__disjoint__insert, axiom,
    ((![A3 : msg, A : set_msg]: ((member_msg @ A3 @ A) => (?[B4 : set_msg]: ((A = (insert_msg @ A3 @ B4)) & (~ ((member_msg @ A3 @ B4))))))))). % mk_disjoint_insert
thf(fact_66_mk__disjoint__insert, axiom,
    ((![A3 : agent, A : set_agent]: ((member_agent @ A3 @ A) => (?[B4 : set_agent]: ((A = (insert_agent @ A3 @ B4)) & (~ ((member_agent @ A3 @ B4))))))))). % mk_disjoint_insert
thf(fact_67_mk__disjoint__insert, axiom,
    ((![A3 : list_event, A : set_list_event]: ((member_list_event @ A3 @ A) => (?[B4 : set_list_event]: ((A = (insert_list_event @ A3 @ B4)) & (~ ((member_list_event @ A3 @ B4))))))))). % mk_disjoint_insert
thf(fact_68_insert__commute, axiom,
    ((![X4 : msg, Y6 : msg, A : set_msg]: ((insert_msg @ X4 @ (insert_msg @ Y6 @ A)) = (insert_msg @ Y6 @ (insert_msg @ X4 @ A)))))). % insert_commute
thf(fact_69_insert__eq__iff, axiom,
    ((![A3 : event, A : set_event, B3 : event, B : set_event]: ((~ ((member_event @ A3 @ A))) => ((~ ((member_event @ B3 @ B))) => (((insert_event @ A3 @ A) = (insert_event @ B3 @ B)) = (((((A3 = B3)) => ((A = B)))) & ((((~ ((A3 = B3)))) => ((?[C2 : set_event]: (((A = (insert_event @ B3 @ C2))) & ((((~ ((member_event @ B3 @ C2)))) & ((((B = (insert_event @ A3 @ C2))) & ((~ ((member_event @ A3 @ C2)))))))))))))))))))). % insert_eq_iff
thf(fact_70_insert__eq__iff, axiom,
    ((![A3 : msg, A : set_msg, B3 : msg, B : set_msg]: ((~ ((member_msg @ A3 @ A))) => ((~ ((member_msg @ B3 @ B))) => (((insert_msg @ A3 @ A) = (insert_msg @ B3 @ B)) = (((((A3 = B3)) => ((A = B)))) & ((((~ ((A3 = B3)))) => ((?[C2 : set_msg]: (((A = (insert_msg @ B3 @ C2))) & ((((~ ((member_msg @ B3 @ C2)))) & ((((B = (insert_msg @ A3 @ C2))) & ((~ ((member_msg @ A3 @ C2)))))))))))))))))))). % insert_eq_iff
thf(fact_71_insert__eq__iff, axiom,
    ((![A3 : agent, A : set_agent, B3 : agent, B : set_agent]: ((~ ((member_agent @ A3 @ A))) => ((~ ((member_agent @ B3 @ B))) => (((insert_agent @ A3 @ A) = (insert_agent @ B3 @ B)) = (((((A3 = B3)) => ((A = B)))) & ((((~ ((A3 = B3)))) => ((?[C2 : set_agent]: (((A = (insert_agent @ B3 @ C2))) & ((((~ ((member_agent @ B3 @ C2)))) & ((((B = (insert_agent @ A3 @ C2))) & ((~ ((member_agent @ A3 @ C2)))))))))))))))))))). % insert_eq_iff
thf(fact_72_insert__eq__iff, axiom,
    ((![A3 : list_event, A : set_list_event, B3 : list_event, B : set_list_event]: ((~ ((member_list_event @ A3 @ A))) => ((~ ((member_list_event @ B3 @ B))) => (((insert_list_event @ A3 @ A) = (insert_list_event @ B3 @ B)) = (((((A3 = B3)) => ((A = B)))) & ((((~ ((A3 = B3)))) => ((?[C2 : set_list_event]: (((A = (insert_list_event @ B3 @ C2))) & ((((~ ((member_list_event @ B3 @ C2)))) & ((((B = (insert_list_event @ A3 @ C2))) & ((~ ((member_list_event @ A3 @ C2)))))))))))))))))))). % insert_eq_iff
thf(fact_73_insert__absorb, axiom,
    ((![A3 : event, A : set_event]: ((member_event @ A3 @ A) => ((insert_event @ A3 @ A) = A))))). % insert_absorb
thf(fact_74_insert__absorb, axiom,
    ((![A3 : msg, A : set_msg]: ((member_msg @ A3 @ A) => ((insert_msg @ A3 @ A) = A))))). % insert_absorb
thf(fact_75_insert__absorb, axiom,
    ((![A3 : agent, A : set_agent]: ((member_agent @ A3 @ A) => ((insert_agent @ A3 @ A) = A))))). % insert_absorb
thf(fact_76_insert__absorb, axiom,
    ((![A3 : list_event, A : set_list_event]: ((member_list_event @ A3 @ A) => ((insert_list_event @ A3 @ A) = A))))). % insert_absorb
thf(fact_77_insert__ident, axiom,
    ((![X4 : event, A : set_event, B : set_event]: ((~ ((member_event @ X4 @ A))) => ((~ ((member_event @ X4 @ B))) => (((insert_event @ X4 @ A) = (insert_event @ X4 @ B)) = (A = B))))))). % insert_ident
thf(fact_78_insert__ident, axiom,
    ((![X4 : msg, A : set_msg, B : set_msg]: ((~ ((member_msg @ X4 @ A))) => ((~ ((member_msg @ X4 @ B))) => (((insert_msg @ X4 @ A) = (insert_msg @ X4 @ B)) = (A = B))))))). % insert_ident
thf(fact_79_insert__ident, axiom,
    ((![X4 : agent, A : set_agent, B : set_agent]: ((~ ((member_agent @ X4 @ A))) => ((~ ((member_agent @ X4 @ B))) => (((insert_agent @ X4 @ A) = (insert_agent @ X4 @ B)) = (A = B))))))). % insert_ident
thf(fact_80_insert__ident, axiom,
    ((![X4 : list_event, A : set_list_event, B : set_list_event]: ((~ ((member_list_event @ X4 @ A))) => ((~ ((member_list_event @ X4 @ B))) => (((insert_list_event @ X4 @ A) = (insert_list_event @ X4 @ B)) = (A = B))))))). % insert_ident
thf(fact_81_Set_Oset__insert, axiom,
    ((![X4 : event, A : set_event]: ((member_event @ X4 @ A) => (~ ((![B4 : set_event]: ((A = (insert_event @ X4 @ B4)) => (member_event @ X4 @ B4))))))))). % Set.set_insert
thf(fact_82_Set_Oset__insert, axiom,
    ((![X4 : msg, A : set_msg]: ((member_msg @ X4 @ A) => (~ ((![B4 : set_msg]: ((A = (insert_msg @ X4 @ B4)) => (member_msg @ X4 @ B4))))))))). % Set.set_insert
thf(fact_83_Set_Oset__insert, axiom,
    ((![X4 : agent, A : set_agent]: ((member_agent @ X4 @ A) => (~ ((![B4 : set_agent]: ((A = (insert_agent @ X4 @ B4)) => (member_agent @ X4 @ B4))))))))). % Set.set_insert
thf(fact_84_Set_Oset__insert, axiom,
    ((![X4 : list_event, A : set_list_event]: ((member_list_event @ X4 @ A) => (~ ((![B4 : set_list_event]: ((A = (insert_list_event @ X4 @ B4)) => (member_list_event @ X4 @ B4))))))))). % Set.set_insert
thf(fact_85_insertI2, axiom,
    ((![A3 : event, B : set_event, B3 : event]: ((member_event @ A3 @ B) => (member_event @ A3 @ (insert_event @ B3 @ B)))))). % insertI2
thf(fact_86_insertI2, axiom,
    ((![A3 : msg, B : set_msg, B3 : msg]: ((member_msg @ A3 @ B) => (member_msg @ A3 @ (insert_msg @ B3 @ B)))))). % insertI2
thf(fact_87_insertI2, axiom,
    ((![A3 : agent, B : set_agent, B3 : agent]: ((member_agent @ A3 @ B) => (member_agent @ A3 @ (insert_agent @ B3 @ B)))))). % insertI2
thf(fact_88_insertI2, axiom,
    ((![A3 : list_event, B : set_list_event, B3 : list_event]: ((member_list_event @ A3 @ B) => (member_list_event @ A3 @ (insert_list_event @ B3 @ B)))))). % insertI2
thf(fact_89_insertI1, axiom,
    ((![A3 : event, B : set_event]: (member_event @ A3 @ (insert_event @ A3 @ B))))). % insertI1
thf(fact_90_insertI1, axiom,
    ((![A3 : msg, B : set_msg]: (member_msg @ A3 @ (insert_msg @ A3 @ B))))). % insertI1
thf(fact_91_insertI1, axiom,
    ((![A3 : agent, B : set_agent]: (member_agent @ A3 @ (insert_agent @ A3 @ B))))). % insertI1
thf(fact_92_insertI1, axiom,
    ((![A3 : list_event, B : set_list_event]: (member_list_event @ A3 @ (insert_list_event @ A3 @ B))))). % insertI1
thf(fact_93_mem__Collect__eq, axiom,
    ((![A3 : event, P : event > $o]: ((member_event @ A3 @ (collect_event @ P)) = (P @ A3))))). % mem_Collect_eq
thf(fact_94_mem__Collect__eq, axiom,
    ((![A3 : msg, P : msg > $o]: ((member_msg @ A3 @ (collect_msg @ P)) = (P @ A3))))). % mem_Collect_eq
thf(fact_95_mem__Collect__eq, axiom,
    ((![A3 : agent, P : agent > $o]: ((member_agent @ A3 @ (collect_agent @ P)) = (P @ A3))))). % mem_Collect_eq
thf(fact_96_mem__Collect__eq, axiom,
    ((![A3 : list_event, P : list_event > $o]: ((member_list_event @ A3 @ (collect_list_event @ P)) = (P @ A3))))). % mem_Collect_eq
thf(fact_97_Collect__mem__eq, axiom,
    ((![A : set_event]: ((collect_event @ (^[X3 : event]: (member_event @ X3 @ A))) = A)))). % Collect_mem_eq
thf(fact_98_Collect__mem__eq, axiom,
    ((![A : set_msg]: ((collect_msg @ (^[X3 : msg]: (member_msg @ X3 @ A))) = A)))). % Collect_mem_eq
thf(fact_99_Collect__mem__eq, axiom,
    ((![A : set_agent]: ((collect_agent @ (^[X3 : agent]: (member_agent @ X3 @ A))) = A)))). % Collect_mem_eq
thf(fact_100_Collect__mem__eq, axiom,
    ((![A : set_list_event]: ((collect_list_event @ (^[X3 : list_event]: (member_list_event @ X3 @ A))) = A)))). % Collect_mem_eq
thf(fact_101_insertE, axiom,
    ((![A3 : event, B3 : event, A : set_event]: ((member_event @ A3 @ (insert_event @ B3 @ A)) => ((~ ((A3 = B3))) => (member_event @ A3 @ A)))))). % insertE
thf(fact_102_insertE, axiom,
    ((![A3 : msg, B3 : msg, A : set_msg]: ((member_msg @ A3 @ (insert_msg @ B3 @ A)) => ((~ ((A3 = B3))) => (member_msg @ A3 @ A)))))). % insertE
thf(fact_103_insertE, axiom,
    ((![A3 : agent, B3 : agent, A : set_agent]: ((member_agent @ A3 @ (insert_agent @ B3 @ A)) => ((~ ((A3 = B3))) => (member_agent @ A3 @ A)))))). % insertE
thf(fact_104_insertE, axiom,
    ((![A3 : list_event, B3 : list_event, A : set_list_event]: ((member_list_event @ A3 @ (insert_list_event @ B3 @ A)) => ((~ ((A3 = B3))) => (member_list_event @ A3 @ A)))))). % insertE
thf(fact_105_analz__analzD, axiom,
    ((![X : msg, H : set_msg]: ((member_msg @ X @ (analz @ (analz @ H))) => (member_msg @ X @ (analz @ H)))))). % analz_analzD
thf(fact_106_analz_OInj, axiom,
    ((![X : msg, H : set_msg]: ((member_msg @ X @ H) => (member_msg @ X @ (analz @ H)))))). % analz.Inj
thf(fact_107_parts__partsD, axiom,
    ((![X : msg, H : set_msg]: ((member_msg @ X @ (parts @ (parts @ H))) => (member_msg @ X @ (parts @ H)))))). % parts_partsD
thf(fact_108_parts_OInj, axiom,
    ((![X : msg, H : set_msg]: ((member_msg @ X @ H) => (member_msg @ X @ (parts @ H)))))). % parts.Inj
thf(fact_109_empty__def, axiom,
    ((bot_bot_set_msg = (collect_msg @ (^[X3 : msg]: $false))))). % empty_def
thf(fact_110_insert__Collect, axiom,
    ((![A3 : msg, P : msg > $o]: ((insert_msg @ A3 @ (collect_msg @ P)) = (collect_msg @ (^[U : msg]: (((~ ((U = A3)))) => ((P @ U))))))))). % insert_Collect
thf(fact_111_insert__compr, axiom,
    ((insert_event = (^[A4 : event]: (^[B2 : set_event]: (collect_event @ (^[X3 : event]: (((X3 = A4)) | ((member_event @ X3 @ B2)))))))))). % insert_compr
thf(fact_112_insert__compr, axiom,
    ((insert_msg = (^[A4 : msg]: (^[B2 : set_msg]: (collect_msg @ (^[X3 : msg]: (((X3 = A4)) | ((member_msg @ X3 @ B2)))))))))). % insert_compr
thf(fact_113_insert__compr, axiom,
    ((insert_agent = (^[A4 : agent]: (^[B2 : set_agent]: (collect_agent @ (^[X3 : agent]: (((X3 = A4)) | ((member_agent @ X3 @ B2)))))))))). % insert_compr
thf(fact_114_insert__compr, axiom,
    ((insert_list_event = (^[A4 : list_event]: (^[B2 : set_list_event]: (collect_list_event @ (^[X3 : list_event]: (((X3 = A4)) | ((member_list_event @ X3 @ B2)))))))))). % insert_compr
thf(fact_115_singleton__inject, axiom,
    ((![A3 : msg, B3 : msg]: (((insert_msg @ A3 @ bot_bot_set_msg) = (insert_msg @ B3 @ bot_bot_set_msg)) => (A3 = B3))))). % singleton_inject
thf(fact_116_insert__not__empty, axiom,
    ((![A3 : msg, A : set_msg]: (~ (((insert_msg @ A3 @ A) = bot_bot_set_msg)))))). % insert_not_empty
thf(fact_117_doubleton__eq__iff, axiom,
    ((![A3 : msg, B3 : msg, C : msg, D : msg]: (((insert_msg @ A3 @ (insert_msg @ B3 @ bot_bot_set_msg)) = (insert_msg @ C @ (insert_msg @ D @ bot_bot_set_msg))) = (((((A3 = C)) & ((B3 = D)))) | ((((A3 = D)) & ((B3 = C))))))))). % doubleton_eq_iff
thf(fact_118_singleton__iff, axiom,
    ((![B3 : event, A3 : event]: ((member_event @ B3 @ (insert_event @ A3 @ bot_bot_set_event)) = (B3 = A3))))). % singleton_iff
thf(fact_119_singleton__iff, axiom,
    ((![B3 : agent, A3 : agent]: ((member_agent @ B3 @ (insert_agent @ A3 @ bot_bot_set_agent)) = (B3 = A3))))). % singleton_iff
thf(fact_120_singleton__iff, axiom,
    ((![B3 : list_event, A3 : list_event]: ((member_list_event @ B3 @ (insert_list_event @ A3 @ bot_bo1693714908_event)) = (B3 = A3))))). % singleton_iff
thf(fact_121_singleton__iff, axiom,
    ((![B3 : msg, A3 : msg]: ((member_msg @ B3 @ (insert_msg @ A3 @ bot_bot_set_msg)) = (B3 = A3))))). % singleton_iff
thf(fact_122_singletonD, axiom,
    ((![B3 : event, A3 : event]: ((member_event @ B3 @ (insert_event @ A3 @ bot_bot_set_event)) => (B3 = A3))))). % singletonD
thf(fact_123_singletonD, axiom,
    ((![B3 : agent, A3 : agent]: ((member_agent @ B3 @ (insert_agent @ A3 @ bot_bot_set_agent)) => (B3 = A3))))). % singletonD
thf(fact_124_singletonD, axiom,
    ((![B3 : list_event, A3 : list_event]: ((member_list_event @ B3 @ (insert_list_event @ A3 @ bot_bo1693714908_event)) => (B3 = A3))))). % singletonD
thf(fact_125_singletonD, axiom,
    ((![B3 : msg, A3 : msg]: ((member_msg @ B3 @ (insert_msg @ A3 @ bot_bot_set_msg)) => (B3 = A3))))). % singletonD
thf(fact_126_MPair__analz, axiom,
    ((![X : msg, Y2 : msg, H : set_msg]: ((member_msg @ (mPair @ X @ Y2) @ (analz @ H)) => (~ (((member_msg @ X @ (analz @ H)) => (~ ((member_msg @ Y2 @ (analz @ H))))))))))). % MPair_analz
thf(fact_127_analz_OSnd, axiom,
    ((![X : msg, Y2 : msg, H : set_msg]: ((member_msg @ (mPair @ X @ Y2) @ (analz @ H)) => (member_msg @ Y2 @ (analz @ H)))))). % analz.Snd
thf(fact_128_analz_OFst, axiom,
    ((![X : msg, Y2 : msg, H : set_msg]: ((member_msg @ (mPair @ X @ Y2) @ (analz @ H)) => (member_msg @ X @ (analz @ H)))))). % analz.Fst
thf(fact_129_msg_Odistinct_I33_J, axiom,
    ((![X42 : nat, X61 : msg, X62 : msg]: (~ (((key @ X42) = (mPair @ X61 @ X62))))))). % msg.distinct(33)
thf(fact_130_analz__insert__eq__I, axiom,
    ((![X : msg, H : set_msg]: ((![X5 : msg]: ((member_msg @ X5 @ (analz @ (insert_msg @ X @ H))) => (member_msg @ X5 @ (insert_msg @ X @ (analz @ H))))) => ((analz @ (insert_msg @ X @ H)) = (insert_msg @ X @ (analz @ H))))))). % analz_insert_eq_I
thf(fact_131_analz__insert__cong, axiom,
    ((![H : set_msg, H2 : set_msg, X : msg]: (((analz @ H) = (analz @ H2)) => ((analz @ (insert_msg @ X @ H)) = (analz @ (insert_msg @ X @ H2))))))). % analz_insert_cong
thf(fact_132_analz__insert__eq, axiom,
    ((![X : msg, H : set_msg]: ((member_msg @ X @ (analz @ H)) => ((analz @ (insert_msg @ X @ H)) = (analz @ H)))))). % analz_insert_eq
thf(fact_133_analz__insertI, axiom,
    ((![C : msg, G : set_msg, A3 : msg]: ((member_msg @ C @ (analz @ G)) => (member_msg @ C @ (analz @ (insert_msg @ A3 @ G))))))). % analz_insertI
thf(fact_134_analz__cut, axiom,
    ((![Y2 : msg, X : msg, H : set_msg]: ((member_msg @ Y2 @ (analz @ (insert_msg @ X @ H))) => ((member_msg @ X @ (analz @ H)) => (member_msg @ Y2 @ (analz @ H))))))). % analz_cut
thf(fact_135_MPair__parts, axiom,
    ((![X : msg, Y2 : msg, H : set_msg]: ((member_msg @ (mPair @ X @ Y2) @ (parts @ H)) => (~ (((member_msg @ X @ (parts @ H)) => (~ ((member_msg @ Y2 @ (parts @ H))))))))))). % MPair_parts
thf(fact_136_parts_OSnd, axiom,
    ((![X : msg, Y2 : msg, H : set_msg]: ((member_msg @ (mPair @ X @ Y2) @ (parts @ H)) => (member_msg @ Y2 @ (parts @ H)))))). % parts.Snd
thf(fact_137_parts_OFst, axiom,
    ((![X : msg, Y2 : msg, H : set_msg]: ((member_msg @ (mPair @ X @ Y2) @ (parts @ H)) => (member_msg @ X @ (parts @ H)))))). % parts.Fst
thf(fact_138_not__parts__not__analz, axiom,
    ((![C : msg, H : set_msg]: ((~ ((member_msg @ C @ (parts @ H)))) => (~ ((member_msg @ C @ (analz @ H)))))))). % not_parts_not_analz
thf(fact_139_analz__into__parts, axiom,
    ((![C : msg, H : set_msg]: ((member_msg @ C @ (analz @ H)) => (member_msg @ C @ (parts @ H)))))). % analz_into_parts
thf(fact_140_msg_Odistinct_I41_J, axiom,
    ((![X61 : msg, X62 : msg, X71 : nat, X72 : msg]: (~ (((mPair @ X61 @ X62) = (crypt @ X71 @ X72))))))). % msg.distinct(41)
thf(fact_141_parts__insert__eq__I, axiom,
    ((![X : msg, H : set_msg]: ((![X5 : msg]: ((member_msg @ X5 @ (parts @ (insert_msg @ X @ H))) => (member_msg @ X5 @ (insert_msg @ X @ (parts @ H))))) => ((parts @ (insert_msg @ X @ H)) = (insert_msg @ X @ (parts @ H))))))). % parts_insert_eq_I
thf(fact_142_parts__insertI, axiom,
    ((![C : msg, G : set_msg, A3 : msg]: ((member_msg @ C @ (parts @ G)) => (member_msg @ C @ (parts @ (insert_msg @ A3 @ G))))))). % parts_insertI
thf(fact_143_msg_Odistinct_I35_J, axiom,
    ((![X42 : nat, X71 : nat, X72 : msg]: (~ (((key @ X42) = (crypt @ X71 @ X72))))))). % msg.distinct(35)
thf(fact_144_parts_OBody, axiom,
    ((![K : nat, X : msg, H : set_msg]: ((member_msg @ (crypt @ K @ X) @ (parts @ H)) => (member_msg @ X @ (parts @ H)))))). % parts.Body
thf(fact_145_msg_Odistinct_I27_J, axiom,
    ((![X32 : nat, X61 : msg, X62 : msg]: (~ (((nonce @ X32) = (mPair @ X61 @ X62))))))). % msg.distinct(27)
thf(fact_146_msg_Odistinct_I23_J, axiom,
    ((![X32 : nat, X42 : nat]: (~ (((nonce @ X32) = (key @ X42))))))). % msg.distinct(23)
thf(fact_147_msg_Odistinct_I29_J, axiom,
    ((![X32 : nat, X71 : nat, X72 : msg]: (~ (((nonce @ X32) = (crypt @ X71 @ X72))))))). % msg.distinct(29)
thf(fact_148_parts__emptyE, axiom,
    ((![X : msg]: (~ ((member_msg @ X @ (parts @ bot_bot_set_msg))))))). % parts_emptyE
thf(fact_149_Collect__conv__if2, axiom,
    ((![P : msg > $o, A3 : msg]: (((P @ A3) => ((collect_msg @ (^[X3 : msg]: (((A3 = X3)) & ((P @ X3))))) = (insert_msg @ A3 @ bot_bot_set_msg))) & ((~ ((P @ A3))) => ((collect_msg @ (^[X3 : msg]: (((A3 = X3)) & ((P @ X3))))) = bot_bot_set_msg)))))). % Collect_conv_if2
thf(fact_150_Collect__conv__if, axiom,
    ((![P : msg > $o, A3 : msg]: (((P @ A3) => ((collect_msg @ (^[X3 : msg]: (((X3 = A3)) & ((P @ X3))))) = (insert_msg @ A3 @ bot_bot_set_msg))) & ((~ ((P @ A3))) => ((collect_msg @ (^[X3 : msg]: (((X3 = A3)) & ((P @ X3))))) = bot_bot_set_msg)))))). % Collect_conv_if
thf(fact_151_analz__trivial, axiom,
    ((![H : set_msg]: ((![X6 : msg, Y7 : msg]: (~ ((member_msg @ (mPair @ X6 @ Y7) @ H)))) => ((![X6 : msg, K2 : nat]: (~ ((member_msg @ (crypt @ K2 @ X6) @ H)))) => ((analz @ H) = H)))))). % analz_trivial
thf(fact_152_pushKeys_I5_J, axiom,
    ((![K : nat, X : msg, Y2 : msg, A : set_msg]: ((insert_msg @ (key @ K) @ (insert_msg @ (mPair @ X @ Y2) @ A)) = (insert_msg @ (mPair @ X @ Y2) @ (insert_msg @ (key @ K) @ A)))))). % pushKeys(5)
thf(fact_153_pushCrypts_I6_J, axiom,
    ((![X : nat, K : msg, X7 : msg, Y2 : msg, A : set_msg]: ((insert_msg @ (crypt @ X @ K) @ (insert_msg @ (mPair @ X7 @ Y2) @ A)) = (insert_msg @ (mPair @ X7 @ Y2) @ (insert_msg @ (crypt @ X @ K) @ A)))))). % pushCrypts(6)
thf(fact_154_parts_Oinducts, axiom,
    ((![X4 : msg, H : set_msg, P : msg > $o]: ((member_msg @ X4 @ (parts @ H)) => ((![X6 : msg]: ((member_msg @ X6 @ H) => (P @ X6))) => ((![X6 : msg, Y7 : msg]: ((member_msg @ (mPair @ X6 @ Y7) @ (parts @ H)) => ((P @ (mPair @ X6 @ Y7)) => (P @ X6)))) => ((![X6 : msg, Y7 : msg]: ((member_msg @ (mPair @ X6 @ Y7) @ (parts @ H)) => ((P @ (mPair @ X6 @ Y7)) => (P @ Y7)))) => ((![K2 : nat, X6 : msg]: ((member_msg @ (crypt @ K2 @ X6) @ (parts @ H)) => ((P @ (crypt @ K2 @ X6)) => (P @ X6)))) => (P @ X4))))))))). % parts.inducts
thf(fact_155_parts_Osimps, axiom,
    ((![A3 : msg, H : set_msg]: ((member_msg @ A3 @ (parts @ H)) = (((?[X2 : msg]: (((A3 = X2)) & ((member_msg @ X2 @ H))))) | ((((?[X2 : msg]: (?[Y : msg]: (((A3 = X2)) & ((member_msg @ (mPair @ X2 @ Y) @ (parts @ H))))))) | ((((?[X2 : msg]: (?[Y : msg]: (((A3 = Y)) & ((member_msg @ (mPair @ X2 @ Y) @ (parts @ H))))))) | ((?[K3 : nat]: (?[X2 : msg]: (((A3 = X2)) & ((member_msg @ (crypt @ K3 @ X2) @ (parts @ H)))))))))))))))). % parts.simps
thf(fact_156_parts_Ocases, axiom,
    ((![A3 : msg, H : set_msg]: ((member_msg @ A3 @ (parts @ H)) => ((~ ((member_msg @ A3 @ H))) => ((![Y7 : msg]: (~ ((member_msg @ (mPair @ A3 @ Y7) @ (parts @ H))))) => ((![X6 : msg]: (~ ((member_msg @ (mPair @ X6 @ A3) @ (parts @ H))))) => (~ ((![K2 : nat]: (~ ((member_msg @ (crypt @ K2 @ A3) @ (parts @ H)))))))))))))). % parts.cases
thf(fact_157_pushKeys_I6_J, axiom,
    ((![K : nat, X : nat, K4 : msg, A : set_msg]: ((insert_msg @ (key @ K) @ (insert_msg @ (crypt @ X @ K4) @ A)) = (insert_msg @ (crypt @ X @ K4) @ (insert_msg @ (key @ K) @ A)))))). % pushKeys(6)
thf(fact_158_pushKeys_I2_J, axiom,
    ((![K : nat, N : nat, A : set_msg]: ((insert_msg @ (key @ K) @ (insert_msg @ (nonce @ N) @ A)) = (insert_msg @ (nonce @ N) @ (insert_msg @ (key @ K) @ A)))))). % pushKeys(2)
thf(fact_159_pushCrypts_I3_J, axiom,
    ((![X : nat, K : msg, N : nat, A : set_msg]: ((insert_msg @ (crypt @ X @ K) @ (insert_msg @ (nonce @ N) @ A)) = (insert_msg @ (nonce @ N) @ (insert_msg @ (crypt @ X @ K) @ A)))))). % pushCrypts(3)
thf(fact_160_parts__singleton, axiom,
    ((![X : msg, H : set_msg]: ((member_msg @ X @ (parts @ H)) => (?[X5 : msg]: ((member_msg @ X5 @ H) & (member_msg @ X @ (parts @ (insert_msg @ X5 @ bot_bot_set_msg))))))))). % parts_singleton
thf(fact_161_Spy__in__bad, axiom,
    ((member_agent @ spy @ bad))). % Spy_in_bad
thf(fact_162_Says__imp__analz__Spy, axiom,
    ((![A : agent, B : agent, X : msg, Evs : list_event]: ((member_event @ (says @ A @ B @ X) @ (set_event2 @ Evs)) => (member_msg @ X @ (analz @ (knows @ spy @ Evs))))))). % Says_imp_analz_Spy
thf(fact_163_takeWhile__eq__all__conv, axiom,
    ((![P : event > $o, Xs : list_event]: (((takeWhile_event @ P @ Xs) = Xs) = (![X3 : event]: (((member_event @ X3 @ (set_event2 @ Xs))) => ((P @ X3)))))))). % takeWhile_eq_all_conv
thf(fact_164_set__rev, axiom,
    ((![Xs : list_event]: ((set_event2 @ (rev_event @ Xs)) = (set_event2 @ Xs))))). % set_rev
thf(fact_165_Says__imp__knows__Spy, axiom,
    ((![A : agent, B : agent, X : msg, Evs : list_event]: ((member_event @ (says @ A @ B @ X) @ (set_event2 @ Evs)) => (member_msg @ X @ (knows @ spy @ Evs)))))). % Says_imp_knows_Spy
thf(fact_166_Says__imp__knows, axiom,
    ((![A : agent, B : agent, X : msg, Evs : list_event]: ((member_event @ (says @ A @ B @ X) @ (set_event2 @ Evs)) => (member_msg @ X @ (knows @ A @ Evs)))))). % Says_imp_knows
thf(fact_167_analz__impI, axiom,
    ((![Y2 : msg, Evs : list_event, Q : $o]: (((~ ((member_msg @ Y2 @ (analz @ (knows @ spy @ Evs))))) => Q) => ((~ ((member_msg @ Y2 @ (analz @ (knows @ spy @ Evs))))) => Q))))). % analz_impI
thf(fact_168_takeWhile__idem, axiom,
    ((![P : event > $o, Xs : list_event]: ((takeWhile_event @ P @ (takeWhile_event @ P @ Xs)) = (takeWhile_event @ P @ Xs))))). % takeWhile_idem
thf(fact_169_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_170_rev__is__rev__conv, axiom,
    ((![Xs : list_event, Ys : list_event]: (((rev_event @ Xs) = (rev_event @ Ys)) = (Xs = Ys))))). % rev_is_rev_conv
thf(fact_171_rev__rev__ident, axiom,
    ((![Xs : list_event]: ((rev_event @ (rev_event @ Xs)) = Xs)))). % rev_rev_ident
thf(fact_172_rev__swap, axiom,
    ((![Xs : list_event, Ys : list_event]: (((rev_event @ Xs) = Ys) = (Xs = (rev_event @ Ys)))))). % rev_swap
thf(fact_173_set__takeWhileD, axiom,
    ((![X4 : msg, P : msg > $o, Xs : list_msg]: ((member_msg @ X4 @ (set_msg2 @ (takeWhile_msg @ P @ Xs))) => ((member_msg @ X4 @ (set_msg2 @ Xs)) & (P @ X4)))))). % set_takeWhileD
thf(fact_174_set__takeWhileD, axiom,
    ((![X4 : agent, P : agent > $o, Xs : list_agent]: ((member_agent @ X4 @ (set_agent2 @ (takeWhile_agent @ P @ Xs))) => ((member_agent @ X4 @ (set_agent2 @ Xs)) & (P @ X4)))))). % set_takeWhileD
thf(fact_175_set__takeWhileD, axiom,
    ((![X4 : list_event, P : list_event > $o, Xs : list_list_event]: ((member_list_event @ X4 @ (set_list_event2 @ (takeWhile_list_event @ P @ Xs))) => ((member_list_event @ X4 @ (set_list_event2 @ Xs)) & (P @ X4)))))). % set_takeWhileD
thf(fact_176_set__takeWhileD, axiom,
    ((![X4 : event, P : event > $o, Xs : list_event]: ((member_event @ X4 @ (set_event2 @ (takeWhile_event @ P @ Xs))) => ((member_event @ X4 @ (set_event2 @ Xs)) & (P @ X4)))))). % set_takeWhileD
thf(fact_177_takeWhile__cong, axiom,
    ((![L : list_msg, K5 : list_msg, P : msg > $o, Q : msg > $o]: ((L = K5) => ((![X5 : msg]: ((member_msg @ X5 @ (set_msg2 @ L)) => ((P @ X5) = (Q @ X5)))) => ((takeWhile_msg @ P @ L) = (takeWhile_msg @ Q @ K5))))))). % takeWhile_cong
thf(fact_178_takeWhile__cong, axiom,
    ((![L : list_agent, K5 : list_agent, P : agent > $o, Q : agent > $o]: ((L = K5) => ((![X5 : agent]: ((member_agent @ X5 @ (set_agent2 @ L)) => ((P @ X5) = (Q @ X5)))) => ((takeWhile_agent @ P @ L) = (takeWhile_agent @ Q @ K5))))))). % takeWhile_cong
thf(fact_179_takeWhile__cong, axiom,
    ((![L : list_list_event, K5 : list_list_event, P : list_event > $o, Q : list_event > $o]: ((L = K5) => ((![X5 : list_event]: ((member_list_event @ X5 @ (set_list_event2 @ L)) => ((P @ X5) = (Q @ X5)))) => ((takeWhile_list_event @ P @ L) = (takeWhile_list_event @ Q @ K5))))))). % takeWhile_cong
thf(fact_180_takeWhile__cong, axiom,
    ((![L : list_event, K5 : list_event, P : event > $o, Q : event > $o]: ((L = K5) => ((![X5 : event]: ((member_event @ X5 @ (set_event2 @ L)) => ((P @ X5) = (Q @ X5)))) => ((takeWhile_event @ P @ L) = (takeWhile_event @ Q @ K5))))))). % takeWhile_cong
thf(fact_181_the__elem__eq, axiom,
    ((![X4 : msg]: ((the_elem_msg @ (insert_msg @ X4 @ bot_bot_set_msg)) = X4)))). % the_elem_eq
thf(fact_182_Spy__see__shrK, axiom,
    ((![Evs : list_event, A : agent]: ((member_list_event @ Evs @ nS_Sha1061662329shared) => ((member_msg @ (key @ (shrK @ A)) @ (parts @ (knows @ spy @ Evs))) = (member_agent @ A @ bad)))))). % Spy_see_shrK
thf(fact_183_Spy__analz__shrK, axiom,
    ((![Evs : list_event, A : agent]: ((member_list_event @ Evs @ nS_Sha1061662329shared) => ((member_msg @ (key @ (shrK @ A)) @ (analz @ (knows @ spy @ Evs))) = (member_agent @ A @ bad)))))). % Spy_analz_shrK
thf(fact_184_bot__set__def, axiom,
    ((bot_bot_set_msg = (collect_msg @ bot_bot_msg_o)))). % bot_set_def
thf(fact_185_Spy__spies__bad__shrK, axiom,
    ((![A : agent, Evs : list_event]: ((member_agent @ A @ bad) => (member_msg @ (key @ (shrK @ A)) @ (knows @ spy @ Evs)))))). % Spy_spies_bad_shrK
thf(fact_186_shrK__in__knows, axiom,
    ((![A : agent, Evs : list_event]: (member_msg @ (key @ (shrK @ A)) @ (knows @ A @ Evs))))). % shrK_in_knows
thf(fact_187_shrK__injective, axiom,
    ((![X4 : agent, Y6 : agent]: (((shrK @ X4) = (shrK @ Y6)) = (X4 = Y6))))). % shrK_injective
thf(fact_188_analz__shrK__Decrypt, axiom,
    ((![A : agent, X : msg, H : set_msg]: ((member_msg @ (crypt @ (shrK @ A) @ X) @ (analz @ H)) => ((member_msg @ (key @ (shrK @ A)) @ (analz @ H)) => (member_msg @ X @ (analz @ H))))))). % analz_shrK_Decrypt
thf(fact_189_Crypt__Spy__analz__bad, axiom,
    ((![A : agent, X : msg, Evs : list_event]: ((member_msg @ (crypt @ (shrK @ A) @ X) @ (analz @ (knows @ spy @ Evs))) => ((member_agent @ A @ bad) => (member_msg @ X @ (analz @ (knows @ spy @ Evs)))))))). % Crypt_Spy_analz_bad
thf(fact_190_A__trusts__NS5, axiom,
    ((![K : nat, NB : nat, Evs : list_event, A : agent, NA : nat, B : agent, X : msg]: ((member_msg @ (crypt @ K @ (mPair @ (nonce @ NB) @ (nonce @ NB))) @ (parts @ (knows @ spy @ Evs))) => ((member_msg @ (crypt @ (shrK @ A) @ (mPair @ (nonce @ NA) @ (mPair @ (agent2 @ B) @ (mPair @ (key @ K) @ X)))) @ (parts @ (knows @ spy @ Evs))) => ((~ ((member_msg @ (key @ K) @ (analz @ (knows @ spy @ Evs))))) => ((~ ((member_agent @ A @ bad))) => ((~ ((member_agent @ B @ bad))) => ((member_list_event @ Evs @ nS_Sha1061662329shared) => (member_event @ (says @ A @ B @ (crypt @ K @ (mPair @ (nonce @ NB) @ (nonce @ NB)))) @ (set_event2 @ Evs))))))))))). % A_trusts_NS5
thf(fact_191_A__authenticates__and__keydist__to__B, axiom,
    ((![K : nat, NB : nat, Evs : list_event, A : agent, NA : msg, B : agent, X : msg]: ((member_msg @ (crypt @ K @ (nonce @ NB)) @ (parts @ (knows @ spy @ Evs))) => ((member_msg @ (crypt @ (shrK @ A) @ (mPair @ NA @ (mPair @ (agent2 @ B) @ (mPair @ (key @ K) @ X)))) @ (parts @ (knows @ spy @ Evs))) => ((~ ((member_msg @ (key @ K) @ (analz @ (knows @ spy @ Evs))))) => ((~ ((member_agent @ A @ bad))) => ((~ ((member_agent @ B @ bad))) => ((member_list_event @ Evs @ nS_Sha1061662329shared) => (nS_Sha1425748201Issues @ B @ A @ (crypt @ K @ (nonce @ NB)) @ Evs)))))))))). % A_authenticates_and_keydist_to_B
thf(fact_192_msg_Oinject_I1_J, axiom,
    ((![X1 : agent, Y1 : agent]: (((agent2 @ X1) = (agent2 @ Y1)) = (X1 = Y1))))). % msg.inject(1)
thf(fact_193_analz__insert__Agent, axiom,
    ((![Agt : agent, H : set_msg]: ((analz @ (insert_msg @ (agent2 @ Agt) @ H)) = (insert_msg @ (agent2 @ Agt) @ (analz @ H)))))). % analz_insert_Agent
thf(fact_194_parts__insert__Agent, axiom,
    ((![Agt : agent, H : set_msg]: ((parts @ (insert_msg @ (agent2 @ Agt) @ H)) = (insert_msg @ (agent2 @ Agt) @ (parts @ H)))))). % parts_insert_Agent
thf(fact_195_msg_Odistinct_I9_J, axiom,
    ((![X1 : agent, X61 : msg, X62 : msg]: (~ (((agent2 @ X1) = (mPair @ X61 @ X62))))))). % msg.distinct(9)
thf(fact_196_msg_Odistinct_I5_J, axiom,
    ((![X1 : agent, X42 : nat]: (~ (((agent2 @ X1) = (key @ X42))))))). % msg.distinct(5)
thf(fact_197_msg_Odistinct_I11_J, axiom,
    ((![X1 : agent, X71 : nat, X72 : msg]: (~ (((agent2 @ X1) = (crypt @ X71 @ X72))))))). % msg.distinct(11)
thf(fact_198_msg_Odistinct_I3_J, axiom,
    ((![X1 : agent, X32 : nat]: (~ (((agent2 @ X1) = (nonce @ X32))))))). % msg.distinct(3)
thf(fact_199_pushKeys_I1_J, axiom,
    ((![K : nat, C3 : agent, A : set_msg]: ((insert_msg @ (key @ K) @ (insert_msg @ (agent2 @ C3) @ A)) = (insert_msg @ (agent2 @ C3) @ (insert_msg @ (key @ K) @ A)))))). % pushKeys(1)
thf(fact_200_pushCrypts_I1_J, axiom,
    ((![X : nat, K : msg, C3 : agent, A : set_msg]: ((insert_msg @ (crypt @ X @ K) @ (insert_msg @ (agent2 @ C3) @ A)) = (insert_msg @ (agent2 @ C3) @ (insert_msg @ (crypt @ X @ K) @ A)))))). % pushCrypts(1)
thf(fact_201_B__trusts__NS5__lemma, axiom,
    ((![B : agent, Evs : list_event, K : nat, A : agent, NA : msg, NB : nat]: ((~ ((member_agent @ B @ bad))) => ((member_list_event @ Evs @ nS_Sha1061662329shared) => ((~ ((member_msg @ (key @ K) @ (analz @ (knows @ spy @ Evs))))) => ((member_event @ (says @ server @ A @ (crypt @ (shrK @ A) @ (mPair @ NA @ (mPair @ (agent2 @ B) @ (mPair @ (key @ K) @ (crypt @ (shrK @ B) @ (mPair @ (key @ K) @ (agent2 @ A)))))))) @ (set_event2 @ Evs)) => ((member_msg @ (crypt @ K @ (mPair @ (nonce @ NB) @ (nonce @ NB))) @ (parts @ (knows @ spy @ Evs))) => (member_event @ (says @ A @ B @ (crypt @ K @ (mPair @ (nonce @ NB) @ (nonce @ NB)))) @ (set_event2 @ Evs)))))))))). % B_trusts_NS5_lemma
thf(fact_202_B__trusts__NS5, axiom,
    ((![K : nat, NB : nat, Evs : list_event, B : agent, A : agent]: ((member_msg @ (crypt @ K @ (mPair @ (nonce @ NB) @ (nonce @ NB))) @ (parts @ (knows @ spy @ Evs))) => ((member_msg @ (crypt @ (shrK @ B) @ (mPair @ (key @ K) @ (agent2 @ A))) @ (parts @ (knows @ spy @ Evs))) => ((![NA2 : msg, NB2 : msg]: (~ ((member_event @ (notes @ spy @ (mPair @ NA2 @ (mPair @ NB2 @ (key @ K)))) @ (set_event2 @ Evs))))) => ((~ ((member_agent @ A @ bad))) => ((~ ((member_agent @ B @ bad))) => ((member_list_event @ Evs @ nS_Sha1061662329shared) => (member_event @ (says @ A @ B @ (crypt @ K @ (mPair @ (nonce @ NB) @ (nonce @ NB)))) @ (set_event2 @ Evs))))))))))). % B_trusts_NS5
thf(fact_203_event_Oinject_I3_J, axiom,
    ((![X31 : agent, X322 : msg, Y31 : agent, Y322 : msg]: (((notes @ X31 @ X322) = (notes @ Y31 @ Y322)) = (((X31 = Y31)) & ((X322 = Y322))))))). % event.inject(3)
thf(fact_204_agent_Odistinct_I3_J, axiom,
    ((~ ((server = spy))))). % agent.distinct(3)
thf(fact_205_Server__not__bad, axiom,
    ((~ ((member_agent @ server @ bad))))). % Server_not_bad
thf(fact_206_event_Odistinct_I3_J, axiom,
    ((![X11 : agent, X12 : agent, X13 : msg, X31 : agent, X322 : msg]: (~ (((says @ X11 @ X12 @ X13) = (notes @ X31 @ X322))))))). % event.distinct(3)
thf(fact_207_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_208_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_209_Spy__not__see__encrypted__key, axiom,
    ((![A : agent, K4 : nat, NA : msg, B : agent, K : nat, X : msg, Evs : list_event]: ((member_event @ (says @ server @ A @ (crypt @ K4 @ (mPair @ NA @ (mPair @ (agent2 @ B) @ (mPair @ (key @ K) @ X))))) @ (set_event2 @ Evs)) => ((![NB2 : msg]: (~ ((member_event @ (notes @ spy @ (mPair @ NA @ (mPair @ NB2 @ (key @ K)))) @ (set_event2 @ Evs))))) => ((~ ((member_agent @ A @ bad))) => ((~ ((member_agent @ B @ bad))) => ((member_list_event @ Evs @ nS_Sha1061662329shared) => (~ ((member_msg @ (key @ K) @ (analz @ (knows @ spy @ Evs))))))))))))). % Spy_not_see_encrypted_key
thf(fact_210_secrecy__lemma, axiom,
    ((![A : agent, NA : msg, B : agent, K : nat, Evs : list_event]: ((member_event @ (says @ server @ A @ (crypt @ (shrK @ A) @ (mPair @ NA @ (mPair @ (agent2 @ B) @ (mPair @ (key @ K) @ (crypt @ (shrK @ B) @ (mPair @ (key @ K) @ (agent2 @ A)))))))) @ (set_event2 @ Evs)) => ((~ ((member_agent @ A @ bad))) => ((~ ((member_agent @ B @ bad))) => ((member_list_event @ Evs @ nS_Sha1061662329shared) => ((![NB2 : msg]: (~ ((member_event @ (notes @ spy @ (mPair @ NA @ (mPair @ NB2 @ (key @ K)))) @ (set_event2 @ Evs))))) => (~ ((member_msg @ (key @ K) @ (analz @ (knows @ spy @ Evs))))))))))))). % secrecy_lemma
thf(fact_211_Oops__parts__spies, axiom,
    ((![A : agent, NA : msg, B : msg, K : msg, X : msg, Evs : list_event]: ((member_event @ (says @ server @ A @ (crypt @ (shrK @ A) @ (mPair @ NA @ (mPair @ B @ (mPair @ K @ X))))) @ (set_event2 @ Evs)) => (member_msg @ K @ (parts @ (knows @ spy @ Evs))))))). % Oops_parts_spies
thf(fact_212_unique__session__keys, axiom,
    ((![A : agent, NA : msg, B : agent, K : nat, X : msg, Evs : list_event, A5 : agent, NA3 : msg, B5 : agent, X7 : msg]: ((member_event @ (says @ server @ A @ (crypt @ (shrK @ A) @ (mPair @ NA @ (mPair @ (agent2 @ B) @ (mPair @ (key @ K) @ X))))) @ (set_event2 @ Evs)) => ((member_event @ (says @ server @ A5 @ (crypt @ (shrK @ A5) @ (mPair @ NA3 @ (mPair @ (agent2 @ B5) @ (mPair @ (key @ K) @ X7))))) @ (set_event2 @ Evs)) => ((member_list_event @ Evs @ nS_Sha1061662329shared) => ((A = A5) & ((NA = NA3) & ((B = B5) & (X = X7)))))))))). % unique_session_keys
thf(fact_213_A__trusts__NS2, axiom,
    ((![A : agent, NA : msg, B : agent, K : nat, X : msg, Evs : list_event]: ((member_msg @ (crypt @ (shrK @ A) @ (mPair @ NA @ (mPair @ (agent2 @ B) @ (mPair @ (key @ K) @ X)))) @ (parts @ (knows @ spy @ Evs))) => ((~ ((member_agent @ A @ bad))) => ((member_list_event @ Evs @ nS_Sha1061662329shared) => (member_event @ (says @ server @ A @ (crypt @ (shrK @ A) @ (mPair @ NA @ (mPair @ (agent2 @ B) @ (mPair @ (key @ K) @ X))))) @ (set_event2 @ Evs)))))))). % A_trusts_NS2
thf(fact_214_B__trusts__NS3, axiom,
    ((![B : agent, K : nat, A : agent, Evs : list_event]: ((member_msg @ (crypt @ (shrK @ B) @ (mPair @ (key @ K) @ (agent2 @ A))) @ (parts @ (knows @ spy @ Evs))) => ((~ ((member_agent @ B @ bad))) => ((member_list_event @ Evs @ nS_Sha1061662329shared) => (?[NA2 : msg]: (member_event @ (says @ server @ A @ (crypt @ (shrK @ A) @ (mPair @ NA2 @ (mPair @ (agent2 @ B) @ (mPair @ (key @ K) @ (crypt @ (shrK @ B) @ (mPair @ (key @ K) @ (agent2 @ A)))))))) @ (set_event2 @ Evs))))))))). % B_trusts_NS3
thf(fact_215_NS4__implies__NS3, axiom,
    ((![Evs : list_event, K : nat, A : agent, NA : msg, B : agent, X : msg, NB : nat]: ((member_list_event @ Evs @ nS_Sha1061662329shared) => ((~ ((member_msg @ (key @ K) @ (analz @ (knows @ spy @ Evs))))) => ((member_event @ (says @ server @ A @ (crypt @ (shrK @ A) @ (mPair @ NA @ (mPair @ (agent2 @ B) @ (mPair @ (key @ K) @ X))))) @ (set_event2 @ Evs)) => ((member_msg @ (crypt @ K @ (nonce @ NB)) @ (parts @ (knows @ spy @ Evs))) => (?[A6 : agent]: (member_event @ (says @ A6 @ B @ X) @ (set_event2 @ Evs)))))))))). % NS4_implies_NS3
thf(fact_216_A__trusts__NS4__lemma, axiom,
    ((![Evs : list_event, K : nat, A : agent, NA : msg, B : agent, X : msg, NB : nat]: ((member_list_event @ Evs @ nS_Sha1061662329shared) => ((~ ((member_msg @ (key @ K) @ (analz @ (knows @ spy @ Evs))))) => ((member_event @ (says @ server @ A @ (crypt @ (shrK @ A) @ (mPair @ NA @ (mPair @ (agent2 @ B) @ (mPair @ (key @ K) @ X))))) @ (set_event2 @ Evs)) => ((member_msg @ (crypt @ K @ (nonce @ NB)) @ (parts @ (knows @ spy @ Evs))) => (member_event @ (says @ B @ A @ (crypt @ K @ (nonce @ NB))) @ (set_event2 @ Evs))))))))). % A_trusts_NS4_lemma
thf(fact_217_A__trusts__NS4, axiom,
    ((![K : nat, NB : nat, Evs : list_event, A : agent, NA : msg, B : agent, X : msg]: ((member_msg @ (crypt @ K @ (nonce @ NB)) @ (parts @ (knows @ spy @ Evs))) => ((member_msg @ (crypt @ (shrK @ A) @ (mPair @ NA @ (mPair @ (agent2 @ B) @ (mPair @ (key @ K) @ X)))) @ (parts @ (knows @ spy @ Evs))) => ((![NB2 : msg]: (~ ((member_event @ (notes @ spy @ (mPair @ NA @ (mPair @ NB2 @ (key @ K)))) @ (set_event2 @ Evs))))) => ((~ ((member_agent @ A @ bad))) => ((~ ((member_agent @ B @ bad))) => ((member_list_event @ Evs @ nS_Sha1061662329shared) => (member_event @ (says @ B @ A @ (crypt @ K @ (nonce @ NB))) @ (set_event2 @ Evs))))))))))). % A_trusts_NS4

% Conjectures (6)
thf(conj_0, hypothesis,
    ((member_event @ (says @ a @ b @ (crypt @ k @ (mPair @ (nonce @ nb) @ (nonce @ nb)))) @ (set_event2 @ evs)))).
thf(conj_1, hypothesis,
    ((~ ((member_msg @ (key @ k) @ (analz @ (knows @ spy @ evs))))))).
thf(conj_2, hypothesis,
    ((~ ((member_agent @ a @ bad))))).
thf(conj_3, hypothesis,
    ((~ ((member_agent @ b @ bad))))).
thf(conj_4, hypothesis,
    ((member_list_event @ evs @ nS_Sha1061662329shared))).
thf(conj_5, conjecture,
    (((member_event @ (says @ a @ b @ y_0_ATP) @ (set_event2 @ evs)) & ((member_msg @ (crypt @ k @ (mPair @ (nonce @ nb) @ (nonce @ nb))) @ (parts @ (insert_msg @ y_0_ATP @ bot_bot_set_msg))) & (~ ((member_msg @ (crypt @ k @ (mPair @ (nonce @ nb) @ (nonce @ nb))) @ (parts @ (knows @ spy @ (takeWhile_event @ (^[Z : event]: (~ ((Z = (says @ a @ b @ y_0_ATP))))) @ (rev_event @ evs))))))))))).
