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

% Could-be-implicit typings (15)
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__List__Olist_It__Nat__Onat_J, type,
    list_nat : $tType).
thf(ty_n_t__Set__Oset_It__Nat__Onat_J, type,
    set_nat : $tType).
thf(ty_n_t__Public__Okeymode, type,
    keymode : $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 (78)
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_Event_Oused, type,
    used : list_event > set_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_OCons_001t__Nat__Onat, type,
    cons_nat : nat > list_nat > list_nat).
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_Olist_Oset_001t__Nat__Onat, type,
    set_nat2 : list_nat > set_nat).
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_List_OtakeWhile_001t__Nat__Onat, type,
    takeWhile_nat : (nat > $o) > list_nat > list_nat).
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_Message_OsymKeys, type,
    symKeys : set_nat).
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_NS__Shared__Mirabelle__xwdrtqxrux_Ons__sharedp, type,
    nS_Sha1092415543haredp : list_event > $o).
thf(sy_c_Orderings_Otop__class_Otop_001t__Set__Oset_It__Event__Oevent_J, type,
    top_top_set_event : set_event).
thf(sy_c_Orderings_Otop__class_Otop_001t__Set__Oset_It__List__Olist_It__Event__Oevent_J_J, type,
    top_to1178833912_event : set_list_event).
thf(sy_c_Orderings_Otop__class_Otop_001t__Set__Oset_It__Message__Oagent_J, type,
    top_top_set_agent : set_agent).
thf(sy_c_Orderings_Otop__class_Otop_001t__Set__Oset_It__Message__Omsg_J, type,
    top_top_set_msg : set_msg).
thf(sy_c_Orderings_Otop__class_Otop_001t__Set__Oset_It__Nat__Onat_J, type,
    top_top_set_nat : set_nat).
thf(sy_c_Public_OpublicKey, type,
    publicKey : keymode > agent > nat).
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_OCollect_001t__Nat__Onat, type,
    collect_nat : (nat > $o) > set_nat).
thf(sy_c_Set_Oimage_001t__Event__Oevent_001t__Event__Oevent, type,
    image_event_event : (event > event) > set_event > set_event).
thf(sy_c_Set_Oimage_001t__Event__Oevent_001t__Message__Oagent, type,
    image_event_agent : (event > agent) > set_event > set_agent).
thf(sy_c_Set_Oimage_001t__Event__Oevent_001t__Message__Omsg, type,
    image_event_msg : (event > msg) > set_event > set_msg).
thf(sy_c_Set_Oimage_001t__Event__Oevent_001t__Nat__Onat, type,
    image_event_nat : (event > nat) > set_event > set_nat).
thf(sy_c_Set_Oimage_001t__Message__Oagent_001t__Event__Oevent, type,
    image_agent_event : (agent > event) > set_agent > set_event).
thf(sy_c_Set_Oimage_001t__Message__Oagent_001t__List__Olist_It__Event__Oevent_J, type,
    image_832067507_event : (agent > list_event) > set_agent > set_list_event).
thf(sy_c_Set_Oimage_001t__Message__Oagent_001t__Message__Oagent, type,
    image_agent_agent : (agent > agent) > set_agent > set_agent).
thf(sy_c_Set_Oimage_001t__Message__Oagent_001t__Message__Omsg, type,
    image_agent_msg : (agent > msg) > set_agent > set_msg).
thf(sy_c_Set_Oimage_001t__Message__Oagent_001t__Nat__Onat, type,
    image_agent_nat : (agent > nat) > set_agent > set_nat).
thf(sy_c_Set_Oimage_001t__Message__Omsg_001t__Event__Oevent, type,
    image_msg_event : (msg > event) > set_msg > set_event).
thf(sy_c_Set_Oimage_001t__Message__Omsg_001t__Message__Oagent, type,
    image_msg_agent : (msg > agent) > set_msg > set_agent).
thf(sy_c_Set_Oimage_001t__Message__Omsg_001t__Message__Omsg, type,
    image_msg_msg : (msg > msg) > set_msg > set_msg).
thf(sy_c_Set_Oimage_001t__Nat__Onat_001t__Event__Oevent, type,
    image_nat_event : (nat > event) > set_nat > set_event).
thf(sy_c_Set_Oimage_001t__Nat__Onat_001t__Message__Oagent, type,
    image_nat_agent : (nat > agent) > set_nat > set_agent).
thf(sy_c_Set_Oimage_001t__Nat__Onat_001t__Message__Omsg, type,
    image_nat_msg : (nat > msg) > set_nat > set_msg).
thf(sy_c_Set_Oimage_001t__Nat__Onat_001t__Nat__Onat, type,
    image_nat_nat : (nat > nat) > set_nat > set_nat).
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_c_member_001t__Nat__Onat, type,
    member_nat : nat > set_nat > $o).
thf(sy_v_A, type,
    a : agent).
thf(sy_v_Aa, type,
    aa : agent).
thf(sy_v_B, type,
    b : agent).
thf(sy_v_Ba, type,
    ba : agent).
thf(sy_v_K, type,
    k : nat).
thf(sy_v_Ka, type,
    ka : nat).
thf(sy_v_NA, type,
    na : nat).
thf(sy_v_NB, type,
    nb : nat).
thf(sy_v_S, type,
    s : agent).
thf(sy_v_X, type,
    x : msg).
thf(sy_v_evs3, type,
    evs3 : list_event).

% Relevant facts (249)
thf(fact_0_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_1_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_2_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_3_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_4_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_5_spies__evs__rev, axiom,
    ((![Evs : list_event]: ((knows @ spy @ Evs) = (knows @ spy @ (rev_event @ Evs)))))). % spies_evs_rev
thf(fact_6_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))) => (?[A2 : agent]: (member_event @ (says @ A2 @ B @ X) @ (set_event2 @ Evs)))))))))). % NS4_implies_NS3
thf(fact_7_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_8_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_9_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_10_unique__session__keys, axiom,
    ((![A : agent, NA : msg, B : agent, K : nat, X : msg, Evs : list_event, A3 : agent, NA3 : msg, B2 : agent, X2 : 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 @ A3 @ (crypt @ (shrK @ A3) @ (mPair @ NA3 @ (mPair @ (agent2 @ B2) @ (mPair @ (key @ K) @ X2))))) @ (set_event2 @ Evs)) => ((member_list_event @ Evs @ nS_Sha1061662329shared) => ((A = A3) & ((NA = NA3) & ((B = B2) & (X = X2)))))))))). % unique_session_keys
thf(fact_11_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_12_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_13_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_14_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_15_shrK__in__knows, axiom,
    ((![A : agent, Evs : list_event]: (member_msg @ (key @ (shrK @ A)) @ (knows @ A @ Evs))))). % shrK_in_knows
thf(fact_16_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_17_Spy__in__bad, axiom,
    ((member_agent @ spy @ bad))). % Spy_in_bad
thf(fact_18_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_19_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_20_analz__parts, axiom,
    ((![H : set_msg]: ((analz @ (parts @ H)) = (parts @ H))))). % analz_parts
thf(fact_21_parts__analz, axiom,
    ((![H : set_msg]: ((parts @ (analz @ H)) = (parts @ H))))). % parts_analz
thf(fact_22_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_23_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_24_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_25_analz__idem, axiom,
    ((![H : set_msg]: ((analz @ (analz @ H)) = (analz @ H))))). % analz_idem
thf(fact_26_msg_Oinject_I4_J, axiom,
    ((![X4 : nat, Y4 : nat]: (((key @ X4) = (key @ Y4)) = (X4 = Y4))))). % msg.inject(4)
thf(fact_27_parts__idem, axiom,
    ((![H : set_msg]: ((parts @ (parts @ H)) = (parts @ H))))). % parts_idem
thf(fact_28_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_29_msg_Oinject_I3_J, axiom,
    ((![X32 : nat, Y3 : nat]: (((nonce @ X32) = (nonce @ Y3)) = (X32 = Y3))))). % msg.inject(3)
thf(fact_30_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_31_rev__rev__ident, axiom,
    ((![Xs : list_event]: ((rev_event @ (rev_event @ Xs)) = Xs)))). % rev_rev_ident
thf(fact_32_msg_Oinject_I1_J, axiom,
    ((![X1 : agent, Y1 : agent]: (((agent2 @ X1) = (agent2 @ Y1)) = (X1 = Y1))))). % msg.inject(1)
thf(fact_33_shrK__injective, axiom,
    ((![X5 : agent, Y : agent]: (((shrK @ X5) = (shrK @ Y)) = (X5 = Y))))). % shrK_injective
thf(fact_34_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_35_takeWhile__idem, axiom,
    ((![P : event > $o, Xs : list_event]: ((takeWhile_event @ P @ (takeWhile_event @ P @ Xs)) = (takeWhile_event @ P @ Xs))))). % takeWhile_idem
thf(fact_36_set__rev, axiom,
    ((![Xs : list_event]: ((set_event2 @ (rev_event @ Xs)) = (set_event2 @ Xs))))). % set_rev
thf(fact_37_analz__analzD, axiom,
    ((![X : msg, H : set_msg]: ((member_msg @ X @ (analz @ (analz @ H))) => (member_msg @ X @ (analz @ H)))))). % analz_analzD
thf(fact_38_analz_OInj, axiom,
    ((![X : msg, H : set_msg]: ((member_msg @ X @ H) => (member_msg @ X @ (analz @ H)))))). % analz.Inj
thf(fact_39_parts__partsD, axiom,
    ((![X : msg, H : set_msg]: ((member_msg @ X @ (parts @ (parts @ H))) => (member_msg @ X @ (parts @ H)))))). % parts_partsD
thf(fact_40_parts_OInj, axiom,
    ((![X : msg, H : set_msg]: ((member_msg @ X @ H) => (member_msg @ X @ (parts @ H)))))). % parts.Inj
thf(fact_41_rev__swap, axiom,
    ((![Xs : list_event, Ys : list_event]: (((rev_event @ Xs) = Ys) = (Xs = (rev_event @ Ys)))))). % rev_swap
thf(fact_42_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_43_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_44_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_45_mem__Collect__eq, axiom,
    ((![A4 : agent, P : agent > $o]: ((member_agent @ A4 @ (collect_agent @ P)) = (P @ A4))))). % mem_Collect_eq
thf(fact_46_mem__Collect__eq, axiom,
    ((![A4 : event, P : event > $o]: ((member_event @ A4 @ (collect_event @ P)) = (P @ A4))))). % mem_Collect_eq
thf(fact_47_mem__Collect__eq, axiom,
    ((![A4 : msg, P : msg > $o]: ((member_msg @ A4 @ (collect_msg @ P)) = (P @ A4))))). % mem_Collect_eq
thf(fact_48_mem__Collect__eq, axiom,
    ((![A4 : nat, P : nat > $o]: ((member_nat @ A4 @ (collect_nat @ P)) = (P @ A4))))). % mem_Collect_eq
thf(fact_49_mem__Collect__eq, axiom,
    ((![A4 : list_event, P : list_event > $o]: ((member_list_event @ A4 @ (collect_list_event @ P)) = (P @ A4))))). % mem_Collect_eq
thf(fact_50_Collect__mem__eq, axiom,
    ((![A : set_agent]: ((collect_agent @ (^[X3 : agent]: (member_agent @ X3 @ A))) = A)))). % Collect_mem_eq
thf(fact_51_Collect__mem__eq, axiom,
    ((![A : set_event]: ((collect_event @ (^[X3 : event]: (member_event @ X3 @ A))) = A)))). % Collect_mem_eq
thf(fact_52_Collect__mem__eq, axiom,
    ((![A : set_msg]: ((collect_msg @ (^[X3 : msg]: (member_msg @ X3 @ A))) = A)))). % Collect_mem_eq
thf(fact_53_Collect__mem__eq, axiom,
    ((![A : set_nat]: ((collect_nat @ (^[X3 : nat]: (member_nat @ X3 @ A))) = A)))). % Collect_mem_eq
thf(fact_54_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_55_Collect__cong, axiom,
    ((![P : list_event > $o, Q : list_event > $o]: ((![X6 : list_event]: ((P @ X6) = (Q @ X6))) => ((collect_list_event @ P) = (collect_list_event @ Q)))))). % Collect_cong
thf(fact_56_msg_Odistinct_I33_J, axiom,
    ((![X4 : nat, X61 : msg, X62 : msg]: (~ (((key @ X4) = (mPair @ X61 @ X62))))))). % msg.distinct(33)
thf(fact_57_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_58_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_59_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_60_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_61_analz__into__parts, axiom,
    ((![C : msg, H : set_msg]: ((member_msg @ C @ (analz @ H)) => (member_msg @ C @ (parts @ H)))))). % analz_into_parts
thf(fact_62_msg_Odistinct_I41_J, axiom,
    ((![X61 : msg, X62 : msg, X71 : nat, X72 : msg]: (~ (((mPair @ X61 @ X62) = (crypt @ X71 @ X72))))))). % msg.distinct(41)
thf(fact_63_msg_Odistinct_I35_J, axiom,
    ((![X4 : nat, X71 : nat, X72 : msg]: (~ (((key @ X4) = (crypt @ X71 @ X72))))))). % msg.distinct(35)
thf(fact_64_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_65_msg_Odistinct_I27_J, axiom,
    ((![X32 : nat, X61 : msg, X62 : msg]: (~ (((nonce @ X32) = (mPair @ X61 @ X62))))))). % msg.distinct(27)
thf(fact_66_takeWhile__cong, axiom,
    ((![L : list_agent, K2 : list_agent, P : agent > $o, Q : agent > $o]: ((L = K2) => ((![X6 : agent]: ((member_agent @ X6 @ (set_agent2 @ L)) => ((P @ X6) = (Q @ X6)))) => ((takeWhile_agent @ P @ L) = (takeWhile_agent @ Q @ K2))))))). % takeWhile_cong
thf(fact_67_takeWhile__cong, axiom,
    ((![L : list_list_event, K2 : list_list_event, P : list_event > $o, Q : list_event > $o]: ((L = K2) => ((![X6 : list_event]: ((member_list_event @ X6 @ (set_list_event2 @ L)) => ((P @ X6) = (Q @ X6)))) => ((takeWhile_list_event @ P @ L) = (takeWhile_list_event @ Q @ K2))))))). % takeWhile_cong
thf(fact_68_takeWhile__cong, axiom,
    ((![L : list_msg, K2 : list_msg, P : msg > $o, Q : msg > $o]: ((L = K2) => ((![X6 : msg]: ((member_msg @ X6 @ (set_msg2 @ L)) => ((P @ X6) = (Q @ X6)))) => ((takeWhile_msg @ P @ L) = (takeWhile_msg @ Q @ K2))))))). % takeWhile_cong
thf(fact_69_takeWhile__cong, axiom,
    ((![L : list_nat, K2 : list_nat, P : nat > $o, Q : nat > $o]: ((L = K2) => ((![X6 : nat]: ((member_nat @ X6 @ (set_nat2 @ L)) => ((P @ X6) = (Q @ X6)))) => ((takeWhile_nat @ P @ L) = (takeWhile_nat @ Q @ K2))))))). % takeWhile_cong
thf(fact_70_takeWhile__cong, axiom,
    ((![L : list_event, K2 : list_event, P : event > $o, Q : event > $o]: ((L = K2) => ((![X6 : event]: ((member_event @ X6 @ (set_event2 @ L)) => ((P @ X6) = (Q @ X6)))) => ((takeWhile_event @ P @ L) = (takeWhile_event @ Q @ K2))))))). % takeWhile_cong
thf(fact_71_set__takeWhileD, axiom,
    ((![X5 : agent, P : agent > $o, Xs : list_agent]: ((member_agent @ X5 @ (set_agent2 @ (takeWhile_agent @ P @ Xs))) => ((member_agent @ X5 @ (set_agent2 @ Xs)) & (P @ X5)))))). % set_takeWhileD
thf(fact_72_set__takeWhileD, axiom,
    ((![X5 : list_event, P : list_event > $o, Xs : list_list_event]: ((member_list_event @ X5 @ (set_list_event2 @ (takeWhile_list_event @ P @ Xs))) => ((member_list_event @ X5 @ (set_list_event2 @ Xs)) & (P @ X5)))))). % set_takeWhileD
thf(fact_73_set__takeWhileD, axiom,
    ((![X5 : msg, P : msg > $o, Xs : list_msg]: ((member_msg @ X5 @ (set_msg2 @ (takeWhile_msg @ P @ Xs))) => ((member_msg @ X5 @ (set_msg2 @ Xs)) & (P @ X5)))))). % set_takeWhileD
thf(fact_74_set__takeWhileD, axiom,
    ((![X5 : nat, P : nat > $o, Xs : list_nat]: ((member_nat @ X5 @ (set_nat2 @ (takeWhile_nat @ P @ Xs))) => ((member_nat @ X5 @ (set_nat2 @ Xs)) & (P @ X5)))))). % set_takeWhileD
thf(fact_75_set__takeWhileD, axiom,
    ((![X5 : event, P : event > $o, Xs : list_event]: ((member_event @ X5 @ (set_event2 @ (takeWhile_event @ P @ Xs))) => ((member_event @ X5 @ (set_event2 @ Xs)) & (P @ X5)))))). % set_takeWhileD
thf(fact_76_msg_Odistinct_I9_J, axiom,
    ((![X1 : agent, X61 : msg, X62 : msg]: (~ (((agent2 @ X1) = (mPair @ X61 @ X62))))))). % msg.distinct(9)
thf(fact_77_msg_Odistinct_I23_J, axiom,
    ((![X32 : nat, X4 : nat]: (~ (((nonce @ X32) = (key @ X4))))))). % msg.distinct(23)
thf(fact_78_msg_Odistinct_I5_J, axiom,
    ((![X1 : agent, X4 : nat]: (~ (((agent2 @ X1) = (key @ X4))))))). % msg.distinct(5)
thf(fact_79_msg_Odistinct_I29_J, axiom,
    ((![X32 : nat, X71 : nat, X72 : msg]: (~ (((nonce @ X32) = (crypt @ X71 @ X72))))))). % msg.distinct(29)
thf(fact_80_msg_Odistinct_I11_J, axiom,
    ((![X1 : agent, X71 : nat, X72 : msg]: (~ (((agent2 @ X1) = (crypt @ X71 @ X72))))))). % msg.distinct(11)
thf(fact_81_msg_Odistinct_I3_J, axiom,
    ((![X1 : agent, X32 : nat]: (~ (((agent2 @ X1) = (nonce @ X32))))))). % msg.distinct(3)
thf(fact_82_agent_Odistinct_I3_J, axiom,
    ((~ ((server = spy))))). % agent.distinct(3)
thf(fact_83_Server__not__bad, axiom,
    ((~ ((member_agent @ server @ bad))))). % Server_not_bad
thf(fact_84_analz__trivial, axiom,
    ((![H : set_msg]: ((![X7 : msg, Y5 : msg]: (~ ((member_msg @ (mPair @ X7 @ Y5) @ H)))) => ((![X7 : msg, K3 : nat]: (~ ((member_msg @ (crypt @ K3 @ X7) @ H)))) => ((analz @ H) = H)))))). % analz_trivial
thf(fact_85_parts_Oinducts, axiom,
    ((![X5 : msg, H : set_msg, P : msg > $o]: ((member_msg @ X5 @ (parts @ H)) => ((![X7 : msg]: ((member_msg @ X7 @ H) => (P @ X7))) => ((![X7 : msg, Y5 : msg]: ((member_msg @ (mPair @ X7 @ Y5) @ (parts @ H)) => ((P @ (mPair @ X7 @ Y5)) => (P @ X7)))) => ((![X7 : msg, Y5 : msg]: ((member_msg @ (mPair @ X7 @ Y5) @ (parts @ H)) => ((P @ (mPair @ X7 @ Y5)) => (P @ Y5)))) => ((![K3 : nat, X7 : msg]: ((member_msg @ (crypt @ K3 @ X7) @ (parts @ H)) => ((P @ (crypt @ K3 @ X7)) => (P @ X7)))) => (P @ X5))))))))). % parts.inducts
thf(fact_86_parts_Osimps, axiom,
    ((![A4 : msg, H : set_msg]: ((member_msg @ A4 @ (parts @ H)) = (((?[X8 : msg]: (((A4 = X8)) & ((member_msg @ X8 @ H))))) | ((((?[X8 : msg]: (?[Y6 : msg]: (((A4 = X8)) & ((member_msg @ (mPair @ X8 @ Y6) @ (parts @ H))))))) | ((((?[X8 : msg]: (?[Y6 : msg]: (((A4 = Y6)) & ((member_msg @ (mPair @ X8 @ Y6) @ (parts @ H))))))) | ((?[K4 : nat]: (?[X8 : msg]: (((A4 = X8)) & ((member_msg @ (crypt @ K4 @ X8) @ (parts @ H)))))))))))))))). % parts.simps
thf(fact_87_parts_Ocases, axiom,
    ((![A4 : msg, H : set_msg]: ((member_msg @ A4 @ (parts @ H)) => ((~ ((member_msg @ A4 @ H))) => ((![Y5 : msg]: (~ ((member_msg @ (mPair @ A4 @ Y5) @ (parts @ H))))) => ((![X7 : msg]: (~ ((member_msg @ (mPair @ X7 @ A4) @ (parts @ H))))) => (~ ((![K3 : nat]: (~ ((member_msg @ (crypt @ K3 @ A4) @ (parts @ H)))))))))))))). % parts.cases
thf(fact_88_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_89_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_90_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_91_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_92_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_93_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_94_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
thf(fact_95_Spy__not__see__encrypted__key, axiom,
    ((![A : agent, K5 : nat, NA : msg, B : agent, K : nat, X : msg, Evs : list_event]: ((member_event @ (says @ server @ A @ (crypt @ K5 @ (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_96_ns__shared_ONS3, axiom,
    ((![Evs3 : list_event, A : agent, S : agent, NA : nat, B : agent, K : nat, X : msg]: ((member_list_event @ Evs3 @ nS_Sha1061662329shared) => ((~ ((A = server))) => ((member_event @ (says @ S @ A @ (crypt @ (shrK @ A) @ (mPair @ (nonce @ NA) @ (mPair @ (agent2 @ B) @ (mPair @ (key @ K) @ X))))) @ (set_event2 @ Evs3)) => ((member_event @ (says @ A @ server @ (mPair @ (agent2 @ A) @ (mPair @ (agent2 @ B) @ (nonce @ NA)))) @ (set_event2 @ Evs3)) => (member_list_event @ (cons_event @ (says @ A @ B @ X) @ Evs3) @ nS_Sha1061662329shared)))))))). % ns_shared.NS3
thf(fact_97_ns__shared_OOops, axiom,
    ((![Evso : list_event, B : agent, A : agent, K : nat, NB : nat, NA : nat, X : msg]: ((member_list_event @ Evso @ nS_Sha1061662329shared) => ((member_event @ (says @ B @ A @ (crypt @ K @ (nonce @ NB))) @ (set_event2 @ Evso)) => ((member_event @ (says @ server @ A @ (crypt @ (shrK @ A) @ (mPair @ (nonce @ NA) @ (mPair @ (agent2 @ B) @ (mPair @ (key @ K) @ X))))) @ (set_event2 @ Evso)) => (member_list_event @ (cons_event @ (notes @ spy @ (mPair @ (nonce @ NA) @ (mPair @ (nonce @ NB) @ (key @ K)))) @ Evso) @ nS_Sha1061662329shared))))))). % ns_shared.Oops
thf(fact_98_Says__S__message__form, axiom,
    ((![S : agent, A : agent, NA : nat, B : agent, K : nat, X : msg, Evs : list_event]: ((member_event @ (says @ S @ A @ (crypt @ (shrK @ A) @ (mPair @ (nonce @ NA) @ (mPair @ (agent2 @ B) @ (mPair @ (key @ K) @ X))))) @ (set_event2 @ Evs)) => ((member_list_event @ Evs @ nS_Sha1061662329shared) => (((~ ((member_nat @ K @ (image_agent_nat @ shrK @ top_top_set_agent)))) & (X = (crypt @ (shrK @ B) @ (mPair @ (key @ K) @ (agent2 @ A))))) | (member_msg @ X @ (analz @ (knows @ spy @ Evs))))))))). % Says_S_message_form
thf(fact_99_analz__spies__pubK, axiom,
    ((![B3 : keymode, A : agent, Evs : list_event]: (member_msg @ (key @ (publicKey @ B3 @ A)) @ (analz @ (knows @ spy @ Evs)))))). % analz_spies_pubK
thf(fact_100_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_101_publicKey__inject, axiom,
    ((![B3 : keymode, A : agent, C : keymode, A3 : agent]: (((publicKey @ B3 @ A) = (publicKey @ C @ A3)) = (((B3 = C)) & ((A = A3))))))). % publicKey_inject
thf(fact_102_event_Oinject_I3_J, axiom,
    ((![X31 : agent, X322 : msg, Y31 : agent, Y32 : msg]: (((notes @ X31 @ X322) = (notes @ Y31 @ Y32)) = (((X31 = Y31)) & ((X322 = Y32))))))). % event.inject(3)
thf(fact_103_shrK__image__eq, axiom,
    ((![X5 : agent, AA : set_agent]: ((member_nat @ (shrK @ X5) @ (image_agent_nat @ shrK @ AA)) = (member_agent @ X5 @ AA))))). % shrK_image_eq
thf(fact_104_publicKey__image__eq, axiom,
    ((![B3 : keymode, X5 : agent, C : keymode, AA : set_agent]: ((member_nat @ (publicKey @ B3 @ X5) @ (image_agent_nat @ (publicKey @ C) @ AA)) = (((B3 = C)) & ((member_agent @ X5 @ AA))))))). % publicKey_image_eq
thf(fact_105_spies__pubK, axiom,
    ((![B3 : keymode, A : agent, Evs : list_event]: (member_msg @ (key @ (publicKey @ B3 @ A)) @ (knows @ spy @ Evs))))). % spies_pubK
thf(fact_106_not__Cons__self2, axiom,
    ((![X5 : event, Xs : list_event]: (~ (((cons_event @ X5 @ Xs) = Xs)))))). % not_Cons_self2
thf(fact_107_injective__publicKey, axiom,
    ((![B3 : keymode, A : agent, C : keymode, A3 : agent]: (((publicKey @ B3 @ A) = (publicKey @ C @ A3)) => ((B3 = C) & (A = A3)))))). % injective_publicKey
thf(fact_108_publicKey__notin__image__shrK, axiom,
    ((![B3 : keymode, X5 : agent, AA : set_agent]: (~ ((member_nat @ (publicKey @ B3 @ X5) @ (image_agent_nat @ shrK @ AA))))))). % publicKey_notin_image_shrK
thf(fact_109_shrK__notin__image__publicKey, axiom,
    ((![X5 : agent, B3 : keymode, AA : set_agent]: (~ ((member_nat @ (shrK @ X5) @ (image_agent_nat @ (publicKey @ B3) @ AA))))))). % shrK_notin_image_publicKey
thf(fact_110_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_111_list_Oset__intros_I2_J, axiom,
    ((![Y : list_event, X22 : list_list_event, X21 : list_event]: ((member_list_event @ Y @ (set_list_event2 @ X22)) => (member_list_event @ Y @ (set_list_event2 @ (cons_list_event @ X21 @ X22))))))). % list.set_intros(2)
thf(fact_112_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_113_list_Oset__intros_I2_J, axiom,
    ((![Y : nat, X22 : list_nat, X21 : nat]: ((member_nat @ Y @ (set_nat2 @ X22)) => (member_nat @ Y @ (set_nat2 @ (cons_nat @ X21 @ X22))))))). % list.set_intros(2)
thf(fact_114_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_115_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_116_list_Oset__intros_I1_J, axiom,
    ((![X21 : list_event, X22 : list_list_event]: (member_list_event @ X21 @ (set_list_event2 @ (cons_list_event @ X21 @ X22)))))). % list.set_intros(1)
thf(fact_117_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_118_list_Oset__intros_I1_J, axiom,
    ((![X21 : nat, X22 : list_nat]: (member_nat @ X21 @ (set_nat2 @ (cons_nat @ X21 @ X22)))))). % list.set_intros(1)
thf(fact_119_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_120_set__ConsD, axiom,
    ((![Y : agent, X5 : agent, Xs : list_agent]: ((member_agent @ Y @ (set_agent2 @ (cons_agent @ X5 @ Xs))) => ((Y = X5) | (member_agent @ Y @ (set_agent2 @ Xs))))))). % set_ConsD
thf(fact_121_set__ConsD, axiom,
    ((![Y : list_event, X5 : list_event, Xs : list_list_event]: ((member_list_event @ Y @ (set_list_event2 @ (cons_list_event @ X5 @ Xs))) => ((Y = X5) | (member_list_event @ Y @ (set_list_event2 @ Xs))))))). % set_ConsD
thf(fact_122_set__ConsD, axiom,
    ((![Y : msg, X5 : msg, Xs : list_msg]: ((member_msg @ Y @ (set_msg2 @ (cons_msg @ X5 @ Xs))) => ((Y = X5) | (member_msg @ Y @ (set_msg2 @ Xs))))))). % set_ConsD
thf(fact_123_set__ConsD, axiom,
    ((![Y : nat, X5 : nat, Xs : list_nat]: ((member_nat @ Y @ (set_nat2 @ (cons_nat @ X5 @ Xs))) => ((Y = X5) | (member_nat @ Y @ (set_nat2 @ Xs))))))). % set_ConsD
thf(fact_124_set__ConsD, axiom,
    ((![Y : event, X5 : event, Xs : list_event]: ((member_event @ Y @ (set_event2 @ (cons_event @ X5 @ Xs))) => ((Y = X5) | (member_event @ Y @ (set_event2 @ Xs))))))). % set_ConsD
thf(fact_125_list_Oset__cases, axiom,
    ((![E : agent, A4 : list_agent]: ((member_agent @ E @ (set_agent2 @ A4)) => ((![Z2 : list_agent]: (~ ((A4 = (cons_agent @ E @ Z2))))) => (~ ((![Z1 : agent, Z2 : list_agent]: ((A4 = (cons_agent @ Z1 @ Z2)) => (~ ((member_agent @ E @ (set_agent2 @ Z2))))))))))))). % list.set_cases
thf(fact_126_list_Oset__cases, axiom,
    ((![E : list_event, A4 : list_list_event]: ((member_list_event @ E @ (set_list_event2 @ A4)) => ((![Z2 : list_list_event]: (~ ((A4 = (cons_list_event @ E @ Z2))))) => (~ ((![Z1 : list_event, Z2 : list_list_event]: ((A4 = (cons_list_event @ Z1 @ Z2)) => (~ ((member_list_event @ E @ (set_list_event2 @ Z2))))))))))))). % list.set_cases
thf(fact_127_list_Oset__cases, axiom,
    ((![E : msg, A4 : list_msg]: ((member_msg @ E @ (set_msg2 @ A4)) => ((![Z2 : list_msg]: (~ ((A4 = (cons_msg @ E @ Z2))))) => (~ ((![Z1 : msg, Z2 : list_msg]: ((A4 = (cons_msg @ Z1 @ Z2)) => (~ ((member_msg @ E @ (set_msg2 @ Z2))))))))))))). % list.set_cases
thf(fact_128_list_Oset__cases, axiom,
    ((![E : nat, A4 : list_nat]: ((member_nat @ E @ (set_nat2 @ A4)) => ((![Z2 : list_nat]: (~ ((A4 = (cons_nat @ E @ Z2))))) => (~ ((![Z1 : nat, Z2 : list_nat]: ((A4 = (cons_nat @ Z1 @ Z2)) => (~ ((member_nat @ E @ (set_nat2 @ Z2))))))))))))). % list.set_cases
thf(fact_129_list_Oset__cases, axiom,
    ((![E : event, A4 : list_event]: ((member_event @ E @ (set_event2 @ A4)) => ((![Z2 : list_event]: (~ ((A4 = (cons_event @ E @ Z2))))) => (~ ((![Z1 : event, Z2 : list_event]: ((A4 = (cons_event @ Z1 @ Z2)) => (~ ((member_event @ E @ (set_event2 @ Z2))))))))))))). % list.set_cases
thf(fact_130_shrK__neq__pubK, axiom,
    ((![B3 : keymode, C2 : agent, A : agent]: (~ (((publicKey @ B3 @ C2) = (shrK @ A))))))). % shrK_neq_pubK
thf(fact_131_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_132_analz__mono__contra_I2_J, axiom,
    ((![C : msg, A : agent, X : msg, Evs : list_event]: ((~ ((member_msg @ C @ (analz @ (knows @ spy @ (cons_event @ (notes @ A @ X) @ Evs)))))) => (~ ((member_msg @ C @ (analz @ (knows @ spy @ Evs))))))))). % analz_mono_contra(2)
thf(fact_133_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_134_analz__mono__contra_I1_J, axiom,
    ((![C : msg, A : agent, B : agent, X : msg, Evs : list_event]: ((~ ((member_msg @ C @ (analz @ (knows @ spy @ (cons_event @ (says @ A @ B @ X) @ Evs)))))) => (~ ((member_msg @ C @ (analz @ (knows @ spy @ Evs))))))))). % analz_mono_contra(1)
thf(fact_135_Says__Server__message__form, axiom,
    ((![A : agent, K5 : nat, N : msg, B : agent, K : nat, X : msg, Evs : list_event]: ((member_event @ (says @ server @ A @ (crypt @ K5 @ (mPair @ N @ (mPair @ (agent2 @ B) @ (mPair @ (key @ K) @ X))))) @ (set_event2 @ Evs)) => ((member_list_event @ Evs @ nS_Sha1061662329shared) => ((~ ((member_nat @ K @ (image_agent_nat @ shrK @ top_top_set_agent)))) & ((X = (crypt @ (shrK @ B) @ (mPair @ (key @ K) @ (agent2 @ A)))) & (K5 = (shrK @ A))))))))). % Says_Server_message_form
thf(fact_136_cert__A__form, 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_nat @ K @ (image_agent_nat @ shrK @ top_top_set_agent)))) & (X = (crypt @ (shrK @ B) @ (mPair @ (key @ K) @ (agent2 @ A))))))))))). % cert_A_form
thf(fact_137_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_138_ns__sharedp_OOops, axiom,
    ((![Evso : list_event, B : agent, A : agent, K : nat, NB : nat, NA : nat, X : msg]: ((nS_Sha1092415543haredp @ Evso) => ((member_event @ (says @ B @ A @ (crypt @ K @ (nonce @ NB))) @ (set_event2 @ Evso)) => ((member_event @ (says @ server @ A @ (crypt @ (shrK @ A) @ (mPair @ (nonce @ NA) @ (mPair @ (agent2 @ B) @ (mPair @ (key @ K) @ X))))) @ (set_event2 @ Evso)) => (nS_Sha1092415543haredp @ (cons_event @ (notes @ spy @ (mPair @ (nonce @ NA) @ (mPair @ (nonce @ NB) @ (key @ K)))) @ Evso)))))))). % ns_sharedp.Oops
thf(fact_139_ns__shared_ONS5, axiom,
    ((![Evs5 : list_event, K : nat, B2 : agent, A : agent, NB : nat, S : agent, NA : nat, B : agent, X : msg]: ((member_list_event @ Evs5 @ nS_Sha1061662329shared) => ((member_nat @ K @ symKeys) => ((member_event @ (says @ B2 @ A @ (crypt @ K @ (nonce @ NB))) @ (set_event2 @ Evs5)) => ((member_event @ (says @ S @ A @ (crypt @ (shrK @ A) @ (mPair @ (nonce @ NA) @ (mPair @ (agent2 @ B) @ (mPair @ (key @ K) @ X))))) @ (set_event2 @ Evs5)) => (member_list_event @ (cons_event @ (says @ A @ B @ (crypt @ K @ (mPair @ (nonce @ NB) @ (nonce @ NB)))) @ Evs5) @ nS_Sha1061662329shared)))))))). % ns_shared.NS5
thf(fact_140_ns__sharedp_ONS3, axiom,
    ((![Evs3 : list_event, A : agent, S : agent, NA : nat, B : agent, K : nat, X : msg]: ((nS_Sha1092415543haredp @ Evs3) => ((~ ((A = server))) => ((member_event @ (says @ S @ A @ (crypt @ (shrK @ A) @ (mPair @ (nonce @ NA) @ (mPair @ (agent2 @ B) @ (mPair @ (key @ K) @ X))))) @ (set_event2 @ Evs3)) => ((member_event @ (says @ A @ server @ (mPair @ (agent2 @ A) @ (mPair @ (agent2 @ B) @ (nonce @ NA)))) @ (set_event2 @ Evs3)) => (nS_Sha1092415543haredp @ (cons_event @ (says @ A @ B @ X) @ Evs3))))))))). % ns_sharedp.NS3
thf(fact_141_image__eqI, axiom,
    ((![B3 : agent, F : agent > agent, X5 : agent, A : set_agent]: ((B3 = (F @ X5)) => ((member_agent @ X5 @ A) => (member_agent @ B3 @ (image_agent_agent @ F @ A))))))). % image_eqI
thf(fact_142_image__eqI, axiom,
    ((![B3 : event, F : agent > event, X5 : agent, A : set_agent]: ((B3 = (F @ X5)) => ((member_agent @ X5 @ A) => (member_event @ B3 @ (image_agent_event @ F @ A))))))). % image_eqI
thf(fact_143_image__eqI, axiom,
    ((![B3 : msg, F : agent > msg, X5 : agent, A : set_agent]: ((B3 = (F @ X5)) => ((member_agent @ X5 @ A) => (member_msg @ B3 @ (image_agent_msg @ F @ A))))))). % image_eqI
thf(fact_144_image__eqI, axiom,
    ((![B3 : nat, F : agent > nat, X5 : agent, A : set_agent]: ((B3 = (F @ X5)) => ((member_agent @ X5 @ A) => (member_nat @ B3 @ (image_agent_nat @ F @ A))))))). % image_eqI
thf(fact_145_image__eqI, axiom,
    ((![B3 : agent, F : event > agent, X5 : event, A : set_event]: ((B3 = (F @ X5)) => ((member_event @ X5 @ A) => (member_agent @ B3 @ (image_event_agent @ F @ A))))))). % image_eqI
thf(fact_146_image__eqI, axiom,
    ((![B3 : event, F : event > event, X5 : event, A : set_event]: ((B3 = (F @ X5)) => ((member_event @ X5 @ A) => (member_event @ B3 @ (image_event_event @ F @ A))))))). % image_eqI
thf(fact_147_image__eqI, axiom,
    ((![B3 : msg, F : event > msg, X5 : event, A : set_event]: ((B3 = (F @ X5)) => ((member_event @ X5 @ A) => (member_msg @ B3 @ (image_event_msg @ F @ A))))))). % image_eqI
thf(fact_148_image__eqI, axiom,
    ((![B3 : nat, F : event > nat, X5 : event, A : set_event]: ((B3 = (F @ X5)) => ((member_event @ X5 @ A) => (member_nat @ B3 @ (image_event_nat @ F @ A))))))). % image_eqI
thf(fact_149_image__eqI, axiom,
    ((![B3 : agent, F : msg > agent, X5 : msg, A : set_msg]: ((B3 = (F @ X5)) => ((member_msg @ X5 @ A) => (member_agent @ B3 @ (image_msg_agent @ F @ A))))))). % image_eqI
thf(fact_150_image__eqI, axiom,
    ((![B3 : event, F : msg > event, X5 : msg, A : set_msg]: ((B3 = (F @ X5)) => ((member_msg @ X5 @ A) => (member_event @ B3 @ (image_msg_event @ F @ A))))))). % image_eqI
thf(fact_151_UNIV__I, axiom,
    ((![X5 : list_event]: (member_list_event @ X5 @ top_to1178833912_event)))). % UNIV_I
thf(fact_152_UNIV__I, axiom,
    ((![X5 : event]: (member_event @ X5 @ top_top_set_event)))). % UNIV_I
thf(fact_153_UNIV__I, axiom,
    ((![X5 : msg]: (member_msg @ X5 @ top_top_set_msg)))). % UNIV_I
thf(fact_154_UNIV__I, axiom,
    ((![X5 : nat]: (member_nat @ X5 @ top_top_set_nat)))). % UNIV_I
thf(fact_155_UNIV__I, axiom,
    ((![X5 : agent]: (member_agent @ X5 @ top_top_set_agent)))). % UNIV_I
thf(fact_156_Key__image__eq, axiom,
    ((![X5 : nat, A : set_nat]: ((member_msg @ (key @ X5) @ (image_nat_msg @ key @ A)) = (member_nat @ X5 @ A))))). % Key_image_eq
thf(fact_157_analz__image__Key, axiom,
    ((![N : set_nat]: ((analz @ (image_nat_msg @ key @ N)) = (image_nat_msg @ key @ N))))). % analz_image_Key
thf(fact_158_parts__image__Key, axiom,
    ((![N : set_nat]: ((parts @ (image_nat_msg @ key @ N)) = (image_nat_msg @ key @ N))))). % parts_image_Key
thf(fact_159_sym__shrK, axiom,
    ((![X : agent]: (member_nat @ (shrK @ X) @ symKeys)))). % sym_shrK
thf(fact_160_symKeys__neq__imp__neq, axiom,
    ((![K : nat, K5 : nat]: ((~ (((member_nat @ K @ symKeys) = (member_nat @ K5 @ symKeys)))) => (~ ((K = K5))))))). % symKeys_neq_imp_neq
thf(fact_161_ns__sharedp__ns__shared__eq, axiom,
    ((nS_Sha1092415543haredp = (^[X3 : list_event]: (member_list_event @ X3 @ nS_Sha1061662329shared))))). % ns_sharedp_ns_shared_eq
thf(fact_162_not__symKeys__pubK, axiom,
    ((![B3 : keymode, A : agent]: (~ ((member_nat @ (publicKey @ B3 @ A) @ symKeys)))))). % not_symKeys_pubK
thf(fact_163_Crypt__notin__image__Key, axiom,
    ((![K : nat, X : msg, A : set_nat]: (~ ((member_msg @ (crypt @ K @ X) @ (image_nat_msg @ key @ A))))))). % Crypt_notin_image_Key
thf(fact_164_Nonce__Key__image__eq, axiom,
    ((![X5 : nat, A : set_nat]: (~ ((member_msg @ (nonce @ X5) @ (image_nat_msg @ key @ A))))))). % Nonce_Key_image_eq
thf(fact_165_ns__shared__def, axiom,
    ((nS_Sha1061662329shared = (collect_list_event @ nS_Sha1092415543haredp)))). % ns_shared_def
thf(fact_166_imageI, axiom,
    ((![X5 : agent, A : set_agent, F : agent > agent]: ((member_agent @ X5 @ A) => (member_agent @ (F @ X5) @ (image_agent_agent @ F @ A)))))). % imageI
thf(fact_167_imageI, axiom,
    ((![X5 : agent, A : set_agent, F : agent > event]: ((member_agent @ X5 @ A) => (member_event @ (F @ X5) @ (image_agent_event @ F @ A)))))). % imageI
thf(fact_168_imageI, axiom,
    ((![X5 : agent, A : set_agent, F : agent > msg]: ((member_agent @ X5 @ A) => (member_msg @ (F @ X5) @ (image_agent_msg @ F @ A)))))). % imageI
thf(fact_169_imageI, axiom,
    ((![X5 : agent, A : set_agent, F : agent > nat]: ((member_agent @ X5 @ A) => (member_nat @ (F @ X5) @ (image_agent_nat @ F @ A)))))). % imageI
thf(fact_170_imageI, axiom,
    ((![X5 : event, A : set_event, F : event > agent]: ((member_event @ X5 @ A) => (member_agent @ (F @ X5) @ (image_event_agent @ F @ A)))))). % imageI
thf(fact_171_imageI, axiom,
    ((![X5 : event, A : set_event, F : event > event]: ((member_event @ X5 @ A) => (member_event @ (F @ X5) @ (image_event_event @ F @ A)))))). % imageI
thf(fact_172_imageI, axiom,
    ((![X5 : event, A : set_event, F : event > msg]: ((member_event @ X5 @ A) => (member_msg @ (F @ X5) @ (image_event_msg @ F @ A)))))). % imageI
thf(fact_173_imageI, axiom,
    ((![X5 : event, A : set_event, F : event > nat]: ((member_event @ X5 @ A) => (member_nat @ (F @ X5) @ (image_event_nat @ F @ A)))))). % imageI
thf(fact_174_imageI, axiom,
    ((![X5 : msg, A : set_msg, F : msg > agent]: ((member_msg @ X5 @ A) => (member_agent @ (F @ X5) @ (image_msg_agent @ F @ A)))))). % imageI
thf(fact_175_imageI, axiom,
    ((![X5 : msg, A : set_msg, F : msg > event]: ((member_msg @ X5 @ A) => (member_event @ (F @ X5) @ (image_msg_event @ F @ A)))))). % imageI
thf(fact_176_image__iff, axiom,
    ((![Z : msg, F : nat > msg, A : set_nat]: ((member_msg @ Z @ (image_nat_msg @ F @ A)) = (?[X3 : nat]: (((member_nat @ X3 @ A)) & ((Z = (F @ X3))))))))). % image_iff
thf(fact_177_image__iff, axiom,
    ((![Z : nat, F : agent > nat, A : set_agent]: ((member_nat @ Z @ (image_agent_nat @ F @ A)) = (?[X3 : agent]: (((member_agent @ X3 @ A)) & ((Z = (F @ X3))))))))). % image_iff
thf(fact_178_bex__imageD, axiom,
    ((![F : agent > nat, A : set_agent, P : nat > $o]: ((?[X9 : nat]: ((member_nat @ X9 @ (image_agent_nat @ F @ A)) & (P @ X9))) => (?[X6 : agent]: ((member_agent @ X6 @ A) & (P @ (F @ X6)))))))). % bex_imageD
thf(fact_179_bex__imageD, axiom,
    ((![F : nat > msg, A : set_nat, P : msg > $o]: ((?[X9 : msg]: ((member_msg @ X9 @ (image_nat_msg @ F @ A)) & (P @ X9))) => (?[X6 : nat]: ((member_nat @ X6 @ A) & (P @ (F @ X6)))))))). % bex_imageD
thf(fact_180_image__cong, axiom,
    ((![M : set_agent, N : set_agent, F : agent > nat, G : agent > nat]: ((M = N) => ((![X6 : agent]: ((member_agent @ X6 @ N) => ((F @ X6) = (G @ X6)))) => ((image_agent_nat @ F @ M) = (image_agent_nat @ G @ N))))))). % image_cong
thf(fact_181_image__cong, axiom,
    ((![M : set_nat, N : set_nat, F : nat > msg, G : nat > msg]: ((M = N) => ((![X6 : nat]: ((member_nat @ X6 @ N) => ((F @ X6) = (G @ X6)))) => ((image_nat_msg @ F @ M) = (image_nat_msg @ G @ N))))))). % image_cong
thf(fact_182_ball__imageD, axiom,
    ((![F : agent > nat, A : set_agent, P : nat > $o]: ((![X6 : nat]: ((member_nat @ X6 @ (image_agent_nat @ F @ A)) => (P @ X6))) => (![X9 : agent]: ((member_agent @ X9 @ A) => (P @ (F @ X9)))))))). % ball_imageD
thf(fact_183_ball__imageD, axiom,
    ((![F : nat > msg, A : set_nat, P : msg > $o]: ((![X6 : msg]: ((member_msg @ X6 @ (image_nat_msg @ F @ A)) => (P @ X6))) => (![X9 : nat]: ((member_nat @ X9 @ A) => (P @ (F @ X9)))))))). % ball_imageD
thf(fact_184_rev__image__eqI, axiom,
    ((![X5 : agent, A : set_agent, B3 : agent, F : agent > agent]: ((member_agent @ X5 @ A) => ((B3 = (F @ X5)) => (member_agent @ B3 @ (image_agent_agent @ F @ A))))))). % rev_image_eqI
thf(fact_185_rev__image__eqI, axiom,
    ((![X5 : agent, A : set_agent, B3 : event, F : agent > event]: ((member_agent @ X5 @ A) => ((B3 = (F @ X5)) => (member_event @ B3 @ (image_agent_event @ F @ A))))))). % rev_image_eqI
thf(fact_186_rev__image__eqI, axiom,
    ((![X5 : agent, A : set_agent, B3 : msg, F : agent > msg]: ((member_agent @ X5 @ A) => ((B3 = (F @ X5)) => (member_msg @ B3 @ (image_agent_msg @ F @ A))))))). % rev_image_eqI
thf(fact_187_rev__image__eqI, axiom,
    ((![X5 : agent, A : set_agent, B3 : nat, F : agent > nat]: ((member_agent @ X5 @ A) => ((B3 = (F @ X5)) => (member_nat @ B3 @ (image_agent_nat @ F @ A))))))). % rev_image_eqI
thf(fact_188_rev__image__eqI, axiom,
    ((![X5 : event, A : set_event, B3 : agent, F : event > agent]: ((member_event @ X5 @ A) => ((B3 = (F @ X5)) => (member_agent @ B3 @ (image_event_agent @ F @ A))))))). % rev_image_eqI
thf(fact_189_rev__image__eqI, axiom,
    ((![X5 : event, A : set_event, B3 : event, F : event > event]: ((member_event @ X5 @ A) => ((B3 = (F @ X5)) => (member_event @ B3 @ (image_event_event @ F @ A))))))). % rev_image_eqI
thf(fact_190_rev__image__eqI, axiom,
    ((![X5 : event, A : set_event, B3 : msg, F : event > msg]: ((member_event @ X5 @ A) => ((B3 = (F @ X5)) => (member_msg @ B3 @ (image_event_msg @ F @ A))))))). % rev_image_eqI
thf(fact_191_rev__image__eqI, axiom,
    ((![X5 : event, A : set_event, B3 : nat, F : event > nat]: ((member_event @ X5 @ A) => ((B3 = (F @ X5)) => (member_nat @ B3 @ (image_event_nat @ F @ A))))))). % rev_image_eqI
thf(fact_192_rev__image__eqI, axiom,
    ((![X5 : msg, A : set_msg, B3 : agent, F : msg > agent]: ((member_msg @ X5 @ A) => ((B3 = (F @ X5)) => (member_agent @ B3 @ (image_msg_agent @ F @ A))))))). % rev_image_eqI
thf(fact_193_rev__image__eqI, axiom,
    ((![X5 : msg, A : set_msg, B3 : event, F : msg > event]: ((member_msg @ X5 @ A) => ((B3 = (F @ X5)) => (member_event @ B3 @ (image_msg_event @ F @ A))))))). % rev_image_eqI
thf(fact_194_UNIV__eq__I, axiom,
    ((![A : set_list_event]: ((![X6 : list_event]: (member_list_event @ X6 @ A)) => (top_to1178833912_event = A))))). % UNIV_eq_I
thf(fact_195_UNIV__eq__I, axiom,
    ((![A : set_event]: ((![X6 : event]: (member_event @ X6 @ A)) => (top_top_set_event = A))))). % UNIV_eq_I
thf(fact_196_UNIV__eq__I, axiom,
    ((![A : set_msg]: ((![X6 : msg]: (member_msg @ X6 @ A)) => (top_top_set_msg = A))))). % UNIV_eq_I
thf(fact_197_UNIV__eq__I, axiom,
    ((![A : set_nat]: ((![X6 : nat]: (member_nat @ X6 @ A)) => (top_top_set_nat = A))))). % UNIV_eq_I
thf(fact_198_UNIV__eq__I, axiom,
    ((![A : set_agent]: ((![X6 : agent]: (member_agent @ X6 @ A)) => (top_top_set_agent = A))))). % UNIV_eq_I
thf(fact_199_UNIV__witness, axiom,
    ((?[X6 : list_event]: (member_list_event @ X6 @ top_to1178833912_event)))). % UNIV_witness
thf(fact_200_UNIV__witness, axiom,
    ((?[X6 : event]: (member_event @ X6 @ top_top_set_event)))). % UNIV_witness
thf(fact_201_UNIV__witness, axiom,
    ((?[X6 : msg]: (member_msg @ X6 @ top_top_set_msg)))). % UNIV_witness
thf(fact_202_UNIV__witness, axiom,
    ((?[X6 : nat]: (member_nat @ X6 @ top_top_set_nat)))). % UNIV_witness
thf(fact_203_UNIV__witness, axiom,
    ((?[X6 : agent]: (member_agent @ X6 @ top_top_set_agent)))). % UNIV_witness
thf(fact_204_imageE, axiom,
    ((![B3 : agent, F : agent > agent, A : set_agent]: ((member_agent @ B3 @ (image_agent_agent @ F @ A)) => (~ ((![X6 : agent]: ((B3 = (F @ X6)) => (~ ((member_agent @ X6 @ A))))))))))). % imageE
thf(fact_205_imageE, axiom,
    ((![B3 : agent, F : event > agent, A : set_event]: ((member_agent @ B3 @ (image_event_agent @ F @ A)) => (~ ((![X6 : event]: ((B3 = (F @ X6)) => (~ ((member_event @ X6 @ A))))))))))). % imageE
thf(fact_206_imageE, axiom,
    ((![B3 : agent, F : msg > agent, A : set_msg]: ((member_agent @ B3 @ (image_msg_agent @ F @ A)) => (~ ((![X6 : msg]: ((B3 = (F @ X6)) => (~ ((member_msg @ X6 @ A))))))))))). % imageE
thf(fact_207_imageE, axiom,
    ((![B3 : agent, F : nat > agent, A : set_nat]: ((member_agent @ B3 @ (image_nat_agent @ F @ A)) => (~ ((![X6 : nat]: ((B3 = (F @ X6)) => (~ ((member_nat @ X6 @ A))))))))))). % imageE
thf(fact_208_imageE, axiom,
    ((![B3 : event, F : agent > event, A : set_agent]: ((member_event @ B3 @ (image_agent_event @ F @ A)) => (~ ((![X6 : agent]: ((B3 = (F @ X6)) => (~ ((member_agent @ X6 @ A))))))))))). % imageE
thf(fact_209_imageE, axiom,
    ((![B3 : event, F : event > event, A : set_event]: ((member_event @ B3 @ (image_event_event @ F @ A)) => (~ ((![X6 : event]: ((B3 = (F @ X6)) => (~ ((member_event @ X6 @ A))))))))))). % imageE
thf(fact_210_imageE, axiom,
    ((![B3 : event, F : msg > event, A : set_msg]: ((member_event @ B3 @ (image_msg_event @ F @ A)) => (~ ((![X6 : msg]: ((B3 = (F @ X6)) => (~ ((member_msg @ X6 @ A))))))))))). % imageE
thf(fact_211_imageE, axiom,
    ((![B3 : event, F : nat > event, A : set_nat]: ((member_event @ B3 @ (image_nat_event @ F @ A)) => (~ ((![X6 : nat]: ((B3 = (F @ X6)) => (~ ((member_nat @ X6 @ A))))))))))). % imageE
thf(fact_212_imageE, axiom,
    ((![B3 : msg, F : agent > msg, A : set_agent]: ((member_msg @ B3 @ (image_agent_msg @ F @ A)) => (~ ((![X6 : agent]: ((B3 = (F @ X6)) => (~ ((member_agent @ X6 @ A))))))))))). % imageE
thf(fact_213_imageE, axiom,
    ((![B3 : msg, F : event > msg, A : set_event]: ((member_msg @ B3 @ (image_event_msg @ F @ A)) => (~ ((![X6 : event]: ((B3 = (F @ X6)) => (~ ((member_event @ X6 @ A))))))))))). % imageE
thf(fact_214_image__image, axiom,
    ((![F : nat > nat, G : agent > nat, A : set_agent]: ((image_nat_nat @ F @ (image_agent_nat @ G @ A)) = (image_agent_nat @ (^[X3 : agent]: (F @ (G @ X3))) @ A))))). % image_image
thf(fact_215_image__image, axiom,
    ((![F : msg > msg, G : nat > msg, A : set_nat]: ((image_msg_msg @ F @ (image_nat_msg @ G @ A)) = (image_nat_msg @ (^[X3 : nat]: (F @ (G @ X3))) @ A))))). % image_image
thf(fact_216_image__image, axiom,
    ((![F : agent > nat, G : agent > agent, A : set_agent]: ((image_agent_nat @ F @ (image_agent_agent @ G @ A)) = (image_agent_nat @ (^[X3 : agent]: (F @ (G @ X3))) @ A))))). % image_image
thf(fact_217_image__image, axiom,
    ((![F : nat > msg, G : nat > nat, A : set_nat]: ((image_nat_msg @ F @ (image_nat_nat @ G @ A)) = (image_nat_msg @ (^[X3 : nat]: (F @ (G @ X3))) @ A))))). % image_image
thf(fact_218_image__image, axiom,
    ((![F : nat > msg, G : agent > nat, A : set_agent]: ((image_nat_msg @ F @ (image_agent_nat @ G @ A)) = (image_agent_msg @ (^[X3 : agent]: (F @ (G @ X3))) @ A))))). % image_image
thf(fact_219_Compr__image__eq, axiom,
    ((![F : agent > agent, A : set_agent, P : agent > $o]: ((collect_agent @ (^[X3 : agent]: (((member_agent @ X3 @ (image_agent_agent @ F @ A))) & ((P @ X3))))) = (image_agent_agent @ F @ (collect_agent @ (^[X3 : agent]: (((member_agent @ X3 @ A)) & ((P @ (F @ X3))))))))))). % Compr_image_eq
thf(fact_220_Compr__image__eq, axiom,
    ((![F : event > agent, A : set_event, P : agent > $o]: ((collect_agent @ (^[X3 : agent]: (((member_agent @ X3 @ (image_event_agent @ F @ A))) & ((P @ X3))))) = (image_event_agent @ F @ (collect_event @ (^[X3 : event]: (((member_event @ X3 @ A)) & ((P @ (F @ X3))))))))))). % Compr_image_eq
thf(fact_221_Compr__image__eq, axiom,
    ((![F : msg > agent, A : set_msg, P : agent > $o]: ((collect_agent @ (^[X3 : agent]: (((member_agent @ X3 @ (image_msg_agent @ F @ A))) & ((P @ X3))))) = (image_msg_agent @ F @ (collect_msg @ (^[X3 : msg]: (((member_msg @ X3 @ A)) & ((P @ (F @ X3))))))))))). % Compr_image_eq
thf(fact_222_Compr__image__eq, axiom,
    ((![F : nat > agent, A : set_nat, P : agent > $o]: ((collect_agent @ (^[X3 : agent]: (((member_agent @ X3 @ (image_nat_agent @ F @ A))) & ((P @ X3))))) = (image_nat_agent @ F @ (collect_nat @ (^[X3 : nat]: (((member_nat @ X3 @ A)) & ((P @ (F @ X3))))))))))). % Compr_image_eq
thf(fact_223_Compr__image__eq, axiom,
    ((![F : agent > event, A : set_agent, P : event > $o]: ((collect_event @ (^[X3 : event]: (((member_event @ X3 @ (image_agent_event @ F @ A))) & ((P @ X3))))) = (image_agent_event @ F @ (collect_agent @ (^[X3 : agent]: (((member_agent @ X3 @ A)) & ((P @ (F @ X3))))))))))). % Compr_image_eq
thf(fact_224_Compr__image__eq, axiom,
    ((![F : event > event, A : set_event, P : event > $o]: ((collect_event @ (^[X3 : event]: (((member_event @ X3 @ (image_event_event @ F @ A))) & ((P @ X3))))) = (image_event_event @ F @ (collect_event @ (^[X3 : event]: (((member_event @ X3 @ A)) & ((P @ (F @ X3))))))))))). % Compr_image_eq
thf(fact_225_Compr__image__eq, axiom,
    ((![F : msg > event, A : set_msg, P : event > $o]: ((collect_event @ (^[X3 : event]: (((member_event @ X3 @ (image_msg_event @ F @ A))) & ((P @ X3))))) = (image_msg_event @ F @ (collect_msg @ (^[X3 : msg]: (((member_msg @ X3 @ A)) & ((P @ (F @ X3))))))))))). % Compr_image_eq
thf(fact_226_Compr__image__eq, axiom,
    ((![F : nat > event, A : set_nat, P : event > $o]: ((collect_event @ (^[X3 : event]: (((member_event @ X3 @ (image_nat_event @ F @ A))) & ((P @ X3))))) = (image_nat_event @ F @ (collect_nat @ (^[X3 : nat]: (((member_nat @ X3 @ A)) & ((P @ (F @ X3))))))))))). % Compr_image_eq
thf(fact_227_Compr__image__eq, axiom,
    ((![F : agent > msg, A : set_agent, P : msg > $o]: ((collect_msg @ (^[X3 : msg]: (((member_msg @ X3 @ (image_agent_msg @ F @ A))) & ((P @ X3))))) = (image_agent_msg @ F @ (collect_agent @ (^[X3 : agent]: (((member_agent @ X3 @ A)) & ((P @ (F @ X3))))))))))). % Compr_image_eq
thf(fact_228_Compr__image__eq, axiom,
    ((![F : event > msg, A : set_event, P : msg > $o]: ((collect_msg @ (^[X3 : msg]: (((member_msg @ X3 @ (image_event_msg @ F @ A))) & ((P @ X3))))) = (image_event_msg @ F @ (collect_event @ (^[X3 : event]: (((member_event @ X3 @ A)) & ((P @ (F @ X3))))))))))). % Compr_image_eq
thf(fact_229_UNIV__def, axiom,
    ((top_to1178833912_event = (collect_list_event @ (^[X3 : list_event]: $true))))). % UNIV_def
thf(fact_230_UNIV__def, axiom,
    ((top_top_set_agent = (collect_agent @ (^[X3 : agent]: $true))))). % UNIV_def
thf(fact_231_analz__symKeys__Decrypt, axiom,
    ((![K : nat, X : msg, H : set_msg]: ((member_msg @ (crypt @ K @ X) @ (analz @ H)) => ((member_nat @ K @ symKeys) => ((member_msg @ (key @ K) @ (analz @ H)) => (member_msg @ X @ (analz @ H)))))))). % analz_symKeys_Decrypt
thf(fact_232_rangeI, axiom,
    ((![F : nat > msg, X5 : nat]: (member_msg @ (F @ X5) @ (image_nat_msg @ F @ top_top_set_nat))))). % rangeI
thf(fact_233_rangeI, axiom,
    ((![F : agent > agent, X5 : agent]: (member_agent @ (F @ X5) @ (image_agent_agent @ F @ top_top_set_agent))))). % rangeI
thf(fact_234_rangeI, axiom,
    ((![F : agent > list_event, X5 : agent]: (member_list_event @ (F @ X5) @ (image_832067507_event @ F @ top_top_set_agent))))). % rangeI
thf(fact_235_rangeI, axiom,
    ((![F : agent > event, X5 : agent]: (member_event @ (F @ X5) @ (image_agent_event @ F @ top_top_set_agent))))). % rangeI
thf(fact_236_rangeI, axiom,
    ((![F : agent > msg, X5 : agent]: (member_msg @ (F @ X5) @ (image_agent_msg @ F @ top_top_set_agent))))). % rangeI
thf(fact_237_rangeI, axiom,
    ((![F : agent > nat, X5 : agent]: (member_nat @ (F @ X5) @ (image_agent_nat @ F @ top_top_set_agent))))). % rangeI
thf(fact_238_range__eqI, axiom,
    ((![B3 : nat, F : agent > nat, X5 : agent]: ((B3 = (F @ X5)) => (member_nat @ B3 @ (image_agent_nat @ F @ top_top_set_agent)))))). % range_eqI
thf(fact_239_ns__sharedp_ONS5, axiom,
    ((![Evs5 : list_event, K : nat, B2 : agent, A : agent, NB : nat, S : agent, NA : nat, B : agent, X : msg]: ((nS_Sha1092415543haredp @ Evs5) => ((member_nat @ K @ symKeys) => ((member_event @ (says @ B2 @ A @ (crypt @ K @ (nonce @ NB))) @ (set_event2 @ Evs5)) => ((member_event @ (says @ S @ A @ (crypt @ (shrK @ A) @ (mPair @ (nonce @ NA) @ (mPair @ (agent2 @ B) @ (mPair @ (key @ K) @ X))))) @ (set_event2 @ Evs5)) => (nS_Sha1092415543haredp @ (cons_event @ (says @ A @ B @ (crypt @ K @ (mPair @ (nonce @ NB) @ (nonce @ NB)))) @ Evs5))))))))). % ns_sharedp.NS5
thf(fact_240_ns__sharedp_ONS2, axiom,
    ((![Evs2 : list_event, KAB : nat, A3 : agent, A : agent, B : agent, NA : nat]: ((nS_Sha1092415543haredp @ Evs2) => ((~ ((member_msg @ (key @ KAB) @ (used @ Evs2)))) => ((member_nat @ KAB @ symKeys) => ((member_event @ (says @ A3 @ server @ (mPair @ (agent2 @ A) @ (mPair @ (agent2 @ B) @ (nonce @ NA)))) @ (set_event2 @ Evs2)) => (nS_Sha1092415543haredp @ (cons_event @ (says @ server @ A @ (crypt @ (shrK @ A) @ (mPair @ (nonce @ NA) @ (mPair @ (agent2 @ B) @ (mPair @ (key @ KAB) @ (crypt @ (shrK @ B) @ (mPair @ (key @ KAB) @ (agent2 @ A)))))))) @ Evs2))))))))). % ns_sharedp.NS2
thf(fact_241_ns__shared_ONS2, axiom,
    ((![Evs2 : list_event, KAB : nat, A3 : agent, A : agent, B : agent, NA : nat]: ((member_list_event @ Evs2 @ nS_Sha1061662329shared) => ((~ ((member_msg @ (key @ KAB) @ (used @ Evs2)))) => ((member_nat @ KAB @ symKeys) => ((member_event @ (says @ A3 @ server @ (mPair @ (agent2 @ A) @ (mPair @ (agent2 @ B) @ (nonce @ NA)))) @ (set_event2 @ Evs2)) => (member_list_event @ (cons_event @ (says @ server @ A @ (crypt @ (shrK @ A) @ (mPair @ (nonce @ NA) @ (mPair @ (agent2 @ B) @ (mPair @ (key @ KAB) @ (crypt @ (shrK @ B) @ (mPair @ (key @ KAB) @ (agent2 @ A)))))))) @ Evs2) @ nS_Sha1061662329shared)))))))). % ns_shared.NS2
thf(fact_242_ns__sharedp_ONS4, axiom,
    ((![Evs4 : list_event, NB : nat, K : nat, A3 : agent, B : agent, A : agent]: ((nS_Sha1092415543haredp @ Evs4) => ((~ ((member_msg @ (nonce @ NB) @ (used @ Evs4)))) => ((member_nat @ K @ symKeys) => ((member_event @ (says @ A3 @ B @ (crypt @ (shrK @ B) @ (mPair @ (key @ K) @ (agent2 @ A)))) @ (set_event2 @ Evs4)) => (nS_Sha1092415543haredp @ (cons_event @ (says @ B @ A @ (crypt @ K @ (nonce @ NB))) @ Evs4))))))))). % ns_sharedp.NS4
thf(fact_243_shrK__in__used, axiom,
    ((![A : agent, Evs : list_event]: (member_msg @ (key @ (shrK @ A)) @ (used @ Evs))))). % shrK_in_used
thf(fact_244_publicKey__into__used, axiom,
    ((![B3 : keymode, A : agent, Evs : list_event]: (member_msg @ (key @ (publicKey @ B3 @ A)) @ (used @ Evs))))). % publicKey_into_used
thf(fact_245_usedI, axiom,
    ((![C : msg, Evs : list_event]: ((member_msg @ C @ (parts @ (knows @ spy @ Evs))) => (member_msg @ C @ (used @ Evs)))))). % usedI
thf(fact_246_Nonce__supply1, axiom,
    ((![Evs : list_event]: (?[N2 : nat]: (~ ((member_msg @ (nonce @ N2) @ (used @ Evs)))))))). % Nonce_supply1
thf(fact_247_MPair__used__D, axiom,
    ((![X : msg, Y2 : msg, H : list_event]: ((member_msg @ (mPair @ X @ Y2) @ (used @ H)) => ((member_msg @ X @ (used @ H)) & (member_msg @ Y2 @ (used @ H))))))). % MPair_used_D
thf(fact_248_MPair__used, axiom,
    ((![X : msg, Y2 : msg, H : list_event]: ((member_msg @ (mPair @ X @ Y2) @ (used @ H)) => (~ (((member_msg @ X @ (used @ H)) => (~ ((member_msg @ Y2 @ (used @ H))))))))))). % MPair_used

% Conjectures (9)
thf(conj_0, hypothesis,
    ((~ ((member_agent @ a @ bad))))).
thf(conj_1, hypothesis,
    ((~ ((member_agent @ b @ bad))))).
thf(conj_2, hypothesis,
    ((member_list_event @ evs3 @ nS_Sha1061662329shared))).
thf(conj_3, hypothesis,
    ((~ ((aa = server))))).
thf(conj_4, hypothesis,
    ((member_event @ (says @ s @ aa @ (crypt @ (shrK @ aa) @ (mPair @ (nonce @ na) @ (mPair @ (agent2 @ ba) @ (mPair @ (key @ ka) @ x))))) @ (set_event2 @ evs3)))).
thf(conj_5, hypothesis,
    ((member_event @ (says @ aa @ server @ (mPair @ (agent2 @ aa) @ (mPair @ (agent2 @ ba) @ (nonce @ na)))) @ (set_event2 @ evs3)))).
thf(conj_6, hypothesis,
    ((~ ((member_msg @ (key @ k) @ (analz @ (knows @ spy @ evs3))))))).
thf(conj_7, hypothesis,
    (((member_event @ (says @ a @ b @ (crypt @ k @ (mPair @ (nonce @ nb) @ (nonce @ nb)))) @ (set_event2 @ evs3)) => (~ ((member_msg @ (crypt @ k @ (mPair @ (nonce @ nb) @ (nonce @ nb))) @ (parts @ (knows @ spy @ (takeWhile_event @ (^[Z3 : event]: (~ ((Z3 = (says @ a @ b @ (crypt @ k @ (mPair @ (nonce @ nb) @ (nonce @ nb)))))))) @ (rev_event @ evs3)))))))))).
thf(conj_8, conjecture,
    ((((~ ((a = aa))) | ((~ ((b = ba))) | (~ (((crypt @ k @ (mPair @ (nonce @ nb) @ (nonce @ nb))) = x))))) | (~ ((member_msg @ x @ (parts @ (knows @ spy @ (takeWhile_event @ (^[Z3 : event]: (~ ((Z3 = (says @ aa @ ba @ x))))) @ (rev_event @ evs3)))))))))).
