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

% Could-be-implicit typings (14)
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__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 (86)
thf(sy_c_Event_Obad, type,
    bad : set_agent).
thf(sy_c_Event_Oevent_OGets, type,
    gets : agent > msg > event).
thf(sy_c_Event_Oevent_ONotes, type,
    notes : agent > msg > event).
thf(sy_c_Event_Oevent_OSays, type,
    says : agent > agent > msg > event).
thf(sy_c_Event_OinitState, type,
    initState : agent > set_msg).
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_If_001t__List__Olist_It__Event__Oevent_J, type,
    if_list_event : $o > list_event > list_event > list_event).
thf(sy_c_If_001t__List__Olist_It__List__Olist_It__Event__Oevent_J_J, type,
    if_list_list_event : $o > list_list_event > list_list_event > list_list_event).
thf(sy_c_If_001t__List__Olist_It__Message__Oagent_J, type,
    if_list_agent : $o > list_agent > list_agent > list_agent).
thf(sy_c_If_001t__List__Olist_It__Message__Omsg_J, type,
    if_list_msg : $o > list_msg > list_msg > list_msg).
thf(sy_c_If_001t__List__Olist_It__Nat__Onat_J, type,
    if_list_nat : $o > list_nat > list_nat > list_nat).
thf(sy_c_List_Oinsert_001t__Event__Oevent, type,
    insert_event : event > list_event > list_event).
thf(sy_c_List_Oinsert_001t__List__Olist_It__Event__Oevent_J, type,
    insert_list_event : list_event > list_list_event > list_list_event).
thf(sy_c_List_Oinsert_001t__Message__Oagent, type,
    insert_agent : agent > list_agent > list_agent).
thf(sy_c_List_Oinsert_001t__Message__Omsg, type,
    insert_msg : msg > list_msg > list_msg).
thf(sy_c_List_Oinsert_001t__Nat__Onat, type,
    insert_nat : nat > list_nat > list_nat).
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_ONil_001t__Event__Oevent, type,
    nil_event : list_event).
thf(sy_c_List_Olist_ONil_001t__List__Olist_It__Event__Oevent_J, type,
    nil_list_event : list_list_event).
thf(sy_c_List_Olist_Oset_001t__Event__Oevent, type,
    set_event2 : list_event > set_event).
thf(sy_c_List_Olist_Oset_001t__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_Oproduct__lists_001t__Event__Oevent, type,
    product_lists_event : list_list_event > list_list_event).
thf(sy_c_List_Osubseqs_001t__Event__Oevent, type,
    subseqs_event : list_event > list_list_event).
thf(sy_c_Message_Oagent_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_OsymKeys, type,
    symKeys : set_nat).
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_Oord__class_Oless__eq_001t__Set__Oset_It__Event__Oevent_J, type,
    ord_le152226328_event : set_event > set_event > $o).
thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__List__Olist_It__Event__Oevent_J_J, type,
    ord_le119303592_event : set_list_event > set_list_event > $o).
thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Message__Oagent_J, type,
    ord_le722097072_agent : set_agent > set_agent > $o).
thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Message__Omsg_J, type,
    ord_less_eq_set_msg : set_msg > set_msg > $o).
thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Nat__Onat_J, type,
    ord_less_eq_set_nat : set_nat > set_nat > $o).
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_Oinsert_001t__Event__Oevent, type,
    insert_event2 : event > set_event > set_event).
thf(sy_c_Set_Oinsert_001t__List__Olist_It__Event__Oevent_J, type,
    insert_list_event2 : list_event > set_list_event > set_list_event).
thf(sy_c_Set_Oinsert_001t__Message__Oagent, type,
    insert_agent2 : agent > set_agent > set_agent).
thf(sy_c_Set_Oinsert_001t__Message__Omsg, type,
    insert_msg2 : msg > set_msg > set_msg).
thf(sy_c_Set_Oinsert_001t__Nat__Onat, type,
    insert_nat2 : nat > set_nat > set_nat).
thf(sy_c_Set_Othe__elem_001t__Event__Oevent, type,
    the_elem_event : set_event > event).
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_A__2_058ATP, type,
    a_2_ATP : agent).
thf(sy_v_A__3_058ATP, type,
    a_3_ATP : agent).
thf(sy_v_A__4_058ATP, type,
    a_4_ATP : agent).
thf(sy_v_A__5_058ATP, type,
    a_5_ATP : agent).
thf(sy_v_A__6_058ATP, type,
    a_6_ATP : agent).
thf(sy_v_B, type,
    b : agent).
thf(sy_v_B__2_058ATP, type,
    b_2_ATP : agent).
thf(sy_v_B__3_058ATP, type,
    b_3_ATP : agent).
thf(sy_v_B__4_058ATP, type,
    b_4_ATP : agent).
thf(sy_v_B__5_058ATP, type,
    b_5_ATP : agent).
thf(sy_v_B__6_058ATP, type,
    b_6_ATP : agent).
thf(sy_v_K, type,
    k : nat).
thf(sy_v_KAB__5_058ATP, type,
    kAB_5_ATP : nat).
thf(sy_v_K__2_058ATP, type,
    k_2_ATP : nat).
thf(sy_v_K__3_058ATP, type,
    k_3_ATP : nat).
thf(sy_v_NA__5_058ATP, type,
    nA_5_ATP : nat).
thf(sy_v_NA__6_058ATP, type,
    nA_6_ATP : nat).
thf(sy_v_NB__2_058ATP, type,
    nB_2_ATP : nat).
thf(sy_v_NB__3_058ATP, type,
    nB_3_ATP : nat).
thf(sy_v_N__0_058ATP, type,
    n_0_ATP : nat).
thf(sy_v_X__4_058ATP, type,
    x_4_ATP : msg).

% Relevant facts (228)
thf(fact_0_shrK__in__used, axiom,
    ((![A : agent, Evs : list_event]: (member_msg @ (key @ (shrK @ A)) @ (used @ Evs))))). % shrK_in_used
thf(fact_1_sym__shrK, axiom,
    ((![X : agent]: (member_nat @ (shrK @ X) @ symKeys)))). % sym_shrK
thf(fact_2_ns__shared_ONS2, axiom,
    ((![Evs2 : list_event, KAB : nat, A2 : 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 @ A2 @ 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_3_ns__sharedp_ONS2, axiom,
    ((![Evs2 : list_event, KAB : nat, A2 : agent, A : agent, B : agent, NA : nat]: ((nS_Sha1092415543haredp @ Evs2) => ((~ ((member_msg @ (key @ KAB) @ (used @ Evs2)))) => ((member_nat @ KAB @ symKeys) => ((member_event @ (says @ A2 @ 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_4_ns__shared_ONS4, axiom,
    ((![Evs4 : list_event, NB : nat, K : nat, A2 : agent, B : agent, A : agent]: ((member_list_event @ Evs4 @ nS_Sha1061662329shared) => ((~ ((member_msg @ (nonce @ NB) @ (used @ Evs4)))) => ((member_nat @ K @ symKeys) => ((member_event @ (says @ A2 @ B @ (crypt @ (shrK @ B) @ (mPair @ (key @ K) @ (agent2 @ A)))) @ (set_event2 @ Evs4)) => (member_list_event @ (cons_event @ (says @ B @ A @ (crypt @ K @ (nonce @ NB))) @ Evs4) @ nS_Sha1061662329shared)))))))). % ns_shared.NS4
thf(fact_5_ns__sharedp_ONS4, axiom,
    ((![Evs4 : list_event, NB : nat, K : nat, A2 : agent, B : agent, A : agent]: ((nS_Sha1092415543haredp @ Evs4) => ((~ ((member_msg @ (nonce @ NB) @ (used @ Evs4)))) => ((member_nat @ K @ symKeys) => ((member_event @ (says @ A2 @ 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_6_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_7_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_8_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_9_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_10_Nonce__notin__used__empty, axiom,
    ((![N : nat]: (~ ((member_msg @ (nonce @ N) @ (used @ nil_event))))))). % Nonce_notin_used_empty
thf(fact_11_Crypt__notin__used__empty, axiom,
    ((![K : nat, X : msg]: (~ ((member_msg @ (crypt @ K @ X) @ (used @ nil_event))))))). % Crypt_notin_used_empty
thf(fact_12_shrK__injective, axiom,
    ((![X2 : agent, Y : agent]: (((shrK @ X2) = (shrK @ Y)) = (X2 = Y))))). % shrK_injective
thf(fact_13_ns__sharedp__ns__shared__eq, axiom,
    ((nS_Sha1092415543haredp = (^[X3 : list_event]: (member_list_event @ X3 @ nS_Sha1061662329shared))))). % ns_sharedp_ns_shared_eq
thf(fact_14_ns__sharedp_ONil, axiom,
    ((nS_Sha1092415543haredp @ nil_event))). % ns_sharedp.Nil
thf(fact_15_ns__shared_ONil, axiom,
    ((member_list_event @ nil_event @ nS_Sha1061662329shared))). % ns_shared.Nil
thf(fact_16_symKeys__neq__imp__neq, axiom,
    ((![K : nat, K2 : nat]: ((~ (((member_nat @ K @ symKeys) = (member_nat @ K2 @ symKeys)))) => (~ ((K = K2))))))). % symKeys_neq_imp_neq
thf(fact_17_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_18_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
thf(fact_19_Nonce__supply1, axiom,
    ((![Evs : list_event]: (?[N2 : nat]: (~ ((member_msg @ (nonce @ N2) @ (used @ Evs)))))))). % Nonce_supply1
thf(fact_20_ns__sharedp_ONS1, axiom,
    ((![Evs1 : list_event, NA : nat, A : agent, B : agent]: ((nS_Sha1092415543haredp @ Evs1) => ((~ ((member_msg @ (nonce @ NA) @ (used @ Evs1)))) => (nS_Sha1092415543haredp @ (cons_event @ (says @ A @ server @ (mPair @ (agent2 @ A) @ (mPair @ (agent2 @ B) @ (nonce @ NA)))) @ Evs1))))))). % ns_sharedp.NS1
thf(fact_21_shrK__neq, axiom,
    ((![K : nat, Evs : list_event, B : agent]: ((~ ((member_msg @ (key @ K) @ (used @ Evs)))) => (~ (((shrK @ B) = K))))))). % shrK_neq
thf(fact_22_neq__shrK, axiom,
    ((![S2 : nat, Evs : list_event, B : agent]: ((~ ((member_msg @ (key @ S2) @ (used @ Evs)))) => (~ ((S2 = (shrK @ B)))))))). % neq_shrK
thf(fact_23_ns__shared_ONS1, axiom,
    ((![Evs1 : list_event, NA : nat, A : agent, B : agent]: ((member_list_event @ Evs1 @ nS_Sha1061662329shared) => ((~ ((member_msg @ (nonce @ NA) @ (used @ Evs1)))) => (member_list_event @ (cons_event @ (says @ A @ server @ (mPair @ (agent2 @ A) @ (mPair @ (agent2 @ B) @ (nonce @ NA)))) @ Evs1) @ nS_Sha1061662329shared)))))). % ns_shared.NS1
thf(fact_24_Says__imp__used, axiom,
    ((![A : agent, B : agent, X : msg, Evs : list_event]: ((member_event @ (says @ A @ B @ X) @ (set_event2 @ Evs)) => (member_msg @ X @ (used @ Evs)))))). % Says_imp_used
thf(fact_25_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_26_msg_Oinject_I1_J, axiom,
    ((![X1 : agent, Y1 : agent]: (((agent2 @ X1) = (agent2 @ Y1)) = (X1 = Y1))))). % msg.inject(1)
thf(fact_27_msg_Oinject_I3_J, axiom,
    ((![X32 : nat, Y3 : nat]: (((nonce @ X32) = (nonce @ Y3)) = (X32 = Y3))))). % msg.inject(3)
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_I4_J, axiom,
    ((![X4 : nat, Y4 : nat]: (((key @ X4) = (key @ Y4)) = (X4 = Y4))))). % msg.inject(4)
thf(fact_30_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_31_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_32_msg_Odistinct_I3_J, axiom,
    ((![X1 : agent, X32 : nat]: (~ (((agent2 @ X1) = (nonce @ X32))))))). % msg.distinct(3)
thf(fact_33_msg_Odistinct_I11_J, axiom,
    ((![X1 : agent, X71 : nat, X72 : msg]: (~ (((agent2 @ X1) = (crypt @ X71 @ X72))))))). % msg.distinct(11)
thf(fact_34_not__Cons__self2, axiom,
    ((![X2 : event, Xs : list_event]: (~ (((cons_event @ X2 @ Xs) = Xs)))))). % not_Cons_self2
thf(fact_35_list_Odistinct_I1_J, axiom,
    ((![X21 : event, X22 : list_event]: (~ ((nil_event = (cons_event @ X21 @ X22))))))). % list.distinct(1)
thf(fact_36_list_OdiscI, axiom,
    ((![List : list_event, X21 : event, X22 : list_event]: ((List = (cons_event @ X21 @ X22)) => (~ ((List = nil_event))))))). % list.discI
thf(fact_37_list_Oexhaust, axiom,
    ((![Y : list_event]: ((~ ((Y = nil_event))) => (~ ((![X212 : event, X222 : list_event]: (~ ((Y = (cons_event @ X212 @ X222))))))))))). % list.exhaust
thf(fact_38_list_Oinducts, axiom,
    ((![P : list_event > $o, List : list_event]: ((P @ nil_event) => ((![X14 : event, X23 : list_event]: ((P @ X23) => (P @ (cons_event @ X14 @ X23)))) => (P @ List)))))). % list.inducts
thf(fact_39_neq__Nil__conv, axiom,
    ((![Xs : list_event]: ((~ ((Xs = nil_event))) = (?[Y5 : event]: (?[Ys : list_event]: (Xs = (cons_event @ Y5 @ Ys)))))))). % neq_Nil_conv
thf(fact_40_list__induct2_H, axiom,
    ((![P : list_event > list_event > $o, Xs : list_event, Ys2 : list_event]: ((P @ nil_event @ nil_event) => ((![X5 : event, Xs2 : list_event]: (P @ (cons_event @ X5 @ Xs2) @ nil_event)) => ((![Y6 : event, Ys3 : list_event]: (P @ nil_event @ (cons_event @ Y6 @ Ys3))) => ((![X5 : event, Xs2 : list_event, Y6 : event, Ys3 : list_event]: ((P @ Xs2 @ Ys3) => (P @ (cons_event @ X5 @ Xs2) @ (cons_event @ Y6 @ Ys3)))) => (P @ Xs @ Ys2)))))))). % list_induct2'
thf(fact_41_splice_Oinduct, axiom,
    ((![P : list_event > list_event > $o, A0 : list_event, A1 : list_event]: ((![X_1 : list_event]: (P @ nil_event @ X_1)) => ((![X5 : event, Xs2 : list_event, Ys3 : list_event]: ((P @ Ys3 @ Xs2) => (P @ (cons_event @ X5 @ Xs2) @ Ys3))) => (P @ A0 @ A1)))))). % splice.induct
thf(fact_42_induct__list012, axiom,
    ((![P : list_event > $o, Xs : list_event]: ((P @ nil_event) => ((![X5 : event]: (P @ (cons_event @ X5 @ nil_event))) => ((![X5 : event, Y6 : event, Zs : list_event]: ((P @ Zs) => ((P @ (cons_event @ Y6 @ Zs)) => (P @ (cons_event @ X5 @ (cons_event @ Y6 @ Zs)))))) => (P @ Xs))))))). % induct_list012
thf(fact_43_mem__Collect__eq, axiom,
    ((![A3 : msg, P : msg > $o]: ((member_msg @ A3 @ (collect_msg @ P)) = (P @ A3))))). % mem_Collect_eq
thf(fact_44_mem__Collect__eq, axiom,
    ((![A3 : nat, P : nat > $o]: ((member_nat @ A3 @ (collect_nat @ P)) = (P @ A3))))). % mem_Collect_eq
thf(fact_45_mem__Collect__eq, axiom,
    ((![A3 : event, P : event > $o]: ((member_event @ A3 @ (collect_event @ P)) = (P @ A3))))). % mem_Collect_eq
thf(fact_46_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_47_mem__Collect__eq, axiom,
    ((![A3 : agent, P : agent > $o]: ((member_agent @ A3 @ (collect_agent @ P)) = (P @ A3))))). % mem_Collect_eq
thf(fact_48_Collect__mem__eq, axiom,
    ((![A : set_msg]: ((collect_msg @ (^[X3 : msg]: (member_msg @ X3 @ A))) = A)))). % Collect_mem_eq
thf(fact_49_Collect__mem__eq, axiom,
    ((![A : set_nat]: ((collect_nat @ (^[X3 : nat]: (member_nat @ X3 @ A))) = A)))). % Collect_mem_eq
thf(fact_50_Collect__mem__eq, axiom,
    ((![A : set_event]: ((collect_event @ (^[X3 : event]: (member_event @ X3 @ A))) = A)))). % Collect_mem_eq
thf(fact_51_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_52_Collect__mem__eq, axiom,
    ((![A : set_agent]: ((collect_agent @ (^[X3 : agent]: (member_agent @ X3 @ A))) = A)))). % Collect_mem_eq
thf(fact_53_shuffles_Oinduct, axiom,
    ((![P : list_event > list_event > $o, A0 : list_event, A1 : list_event]: ((![X_1 : list_event]: (P @ nil_event @ X_1)) => ((![Xs2 : list_event]: (P @ Xs2 @ nil_event)) => ((![X5 : event, Xs2 : list_event, Y6 : event, Ys3 : list_event]: ((P @ Xs2 @ (cons_event @ Y6 @ Ys3)) => ((P @ (cons_event @ X5 @ Xs2) @ Ys3) => (P @ (cons_event @ X5 @ Xs2) @ (cons_event @ Y6 @ Ys3))))) => (P @ A0 @ A1))))))). % shuffles.induct
thf(fact_54_transpose_Ocases, axiom,
    ((![X2 : list_list_event]: ((~ ((X2 = nil_list_event))) => ((![Xss : list_list_event]: (~ ((X2 = (cons_list_event @ nil_event @ Xss))))) => (~ ((![X5 : event, Xs2 : list_event, Xss : list_list_event]: (~ ((X2 = (cons_list_event @ (cons_event @ X5 @ Xs2) @ Xss)))))))))))). % transpose.cases
thf(fact_55_remdups__adj_Ocases, axiom,
    ((![X2 : list_event]: ((~ ((X2 = nil_event))) => ((![X5 : event]: (~ ((X2 = (cons_event @ X5 @ nil_event))))) => (~ ((![X5 : event, Y6 : event, Xs2 : list_event]: (~ ((X2 = (cons_event @ X5 @ (cons_event @ Y6 @ Xs2))))))))))))). % remdups_adj.cases
thf(fact_56_sorted__wrt_Oinduct, axiom,
    ((![P : (event > event > $o) > list_event > $o, A0 : event > event > $o, A1 : list_event]: ((![P2 : event > event > $o]: (P @ P2 @ nil_event)) => ((![P2 : event > event > $o, X5 : event, Ys3 : list_event]: ((P @ P2 @ Ys3) => (P @ P2 @ (cons_event @ X5 @ Ys3)))) => (P @ A0 @ A1)))))). % sorted_wrt.induct
thf(fact_57_remdups__adj_Oinduct, axiom,
    ((![P : list_event > $o, A0 : list_event]: ((P @ nil_event) => ((![X5 : event]: (P @ (cons_event @ X5 @ nil_event))) => ((![X5 : event, Y6 : event, Xs2 : list_event]: (((X5 = Y6) => (P @ (cons_event @ X5 @ Xs2))) => (((~ ((X5 = Y6))) => (P @ (cons_event @ Y6 @ Xs2))) => (P @ (cons_event @ X5 @ (cons_event @ Y6 @ Xs2)))))) => (P @ A0))))))). % remdups_adj.induct
thf(fact_58_successively_Oinduct, axiom,
    ((![P : (event > event > $o) > list_event > $o, A0 : event > event > $o, A1 : list_event]: ((![P2 : event > event > $o]: (P @ P2 @ nil_event)) => ((![P2 : event > event > $o, X5 : event]: (P @ P2 @ (cons_event @ X5 @ nil_event))) => ((![P2 : event > event > $o, X5 : event, Y6 : event, Xs2 : list_event]: ((P @ P2 @ (cons_event @ Y6 @ Xs2)) => (P @ P2 @ (cons_event @ X5 @ (cons_event @ Y6 @ Xs2))))) => (P @ A0 @ A1))))))). % successively.induct
thf(fact_59_list__nonempty__induct, axiom,
    ((![Xs : list_event, P : list_event > $o]: ((~ ((Xs = nil_event))) => ((![X5 : event]: (P @ (cons_event @ X5 @ nil_event))) => ((![X5 : event, Xs2 : list_event]: ((~ ((Xs2 = nil_event))) => ((P @ Xs2) => (P @ (cons_event @ X5 @ Xs2))))) => (P @ Xs))))))). % list_nonempty_induct
thf(fact_60_map__tailrec__rev_Oinduct, axiom,
    ((![P : (event > event) > list_event > list_event > $o, A0 : event > event, A1 : list_event, A22 : list_event]: ((![F : event > event, X_1 : list_event]: (P @ F @ nil_event @ X_1)) => ((![F : event > event, A4 : event, As : list_event, Bs : list_event]: ((P @ F @ As @ (cons_event @ (F @ A4) @ Bs)) => (P @ F @ (cons_event @ A4 @ As) @ Bs))) => (P @ A0 @ A1 @ A22)))))). % map_tailrec_rev.induct
thf(fact_61_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_62_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_63_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_64_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_65_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_66_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_67_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_68_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_69_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_70_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_71_set__ConsD, axiom,
    ((![Y : msg, X2 : msg, Xs : list_msg]: ((member_msg @ Y @ (set_msg2 @ (cons_msg @ X2 @ Xs))) => ((Y = X2) | (member_msg @ Y @ (set_msg2 @ Xs))))))). % set_ConsD
thf(fact_72_set__ConsD, axiom,
    ((![Y : nat, X2 : nat, Xs : list_nat]: ((member_nat @ Y @ (set_nat2 @ (cons_nat @ X2 @ Xs))) => ((Y = X2) | (member_nat @ Y @ (set_nat2 @ Xs))))))). % set_ConsD
thf(fact_73_set__ConsD, axiom,
    ((![Y : list_event, X2 : list_event, Xs : list_list_event]: ((member_list_event @ Y @ (set_list_event2 @ (cons_list_event @ X2 @ Xs))) => ((Y = X2) | (member_list_event @ Y @ (set_list_event2 @ Xs))))))). % set_ConsD
thf(fact_74_set__ConsD, axiom,
    ((![Y : agent, X2 : agent, Xs : list_agent]: ((member_agent @ Y @ (set_agent2 @ (cons_agent @ X2 @ Xs))) => ((Y = X2) | (member_agent @ Y @ (set_agent2 @ Xs))))))). % set_ConsD
thf(fact_75_set__ConsD, axiom,
    ((![Y : event, X2 : event, Xs : list_event]: ((member_event @ Y @ (set_event2 @ (cons_event @ X2 @ Xs))) => ((Y = X2) | (member_event @ Y @ (set_event2 @ Xs))))))). % set_ConsD
thf(fact_76_list_Oset__cases, axiom,
    ((![E : msg, A3 : list_msg]: ((member_msg @ E @ (set_msg2 @ A3)) => ((![Z2 : list_msg]: (~ ((A3 = (cons_msg @ E @ Z2))))) => (~ ((![Z1 : msg, Z2 : list_msg]: ((A3 = (cons_msg @ Z1 @ Z2)) => (~ ((member_msg @ E @ (set_msg2 @ Z2))))))))))))). % list.set_cases
thf(fact_77_list_Oset__cases, axiom,
    ((![E : nat, A3 : list_nat]: ((member_nat @ E @ (set_nat2 @ A3)) => ((![Z2 : list_nat]: (~ ((A3 = (cons_nat @ E @ Z2))))) => (~ ((![Z1 : nat, Z2 : list_nat]: ((A3 = (cons_nat @ Z1 @ Z2)) => (~ ((member_nat @ E @ (set_nat2 @ Z2))))))))))))). % list.set_cases
thf(fact_78_list_Oset__cases, axiom,
    ((![E : list_event, A3 : list_list_event]: ((member_list_event @ E @ (set_list_event2 @ A3)) => ((![Z2 : list_list_event]: (~ ((A3 = (cons_list_event @ E @ Z2))))) => (~ ((![Z1 : list_event, Z2 : list_list_event]: ((A3 = (cons_list_event @ Z1 @ Z2)) => (~ ((member_list_event @ E @ (set_list_event2 @ Z2))))))))))))). % list.set_cases
thf(fact_79_list_Oset__cases, axiom,
    ((![E : agent, A3 : list_agent]: ((member_agent @ E @ (set_agent2 @ A3)) => ((![Z2 : list_agent]: (~ ((A3 = (cons_agent @ E @ Z2))))) => (~ ((![Z1 : agent, Z2 : list_agent]: ((A3 = (cons_agent @ Z1 @ Z2)) => (~ ((member_agent @ E @ (set_agent2 @ Z2))))))))))))). % list.set_cases
thf(fact_80_list_Oset__cases, axiom,
    ((![E : event, A3 : list_event]: ((member_event @ E @ (set_event2 @ A3)) => ((![Z2 : list_event]: (~ ((A3 = (cons_event @ E @ Z2))))) => (~ ((![Z1 : event, Z2 : list_event]: ((A3 = (cons_event @ Z1 @ Z2)) => (~ ((member_event @ E @ (set_event2 @ Z2))))))))))))). % list.set_cases
thf(fact_81_msg_Odistinct_I33_J, axiom,
    ((![X4 : nat, X61 : msg, X62 : msg]: (~ (((key @ X4) = (mPair @ X61 @ X62))))))). % msg.distinct(33)
thf(fact_82_msg_Odistinct_I41_J, axiom,
    ((![X61 : msg, X62 : msg, X71 : nat, X72 : msg]: (~ (((mPair @ X61 @ X62) = (crypt @ X71 @ X72))))))). % msg.distinct(41)
thf(fact_83_msg_Odistinct_I35_J, axiom,
    ((![X4 : nat, X71 : nat, X72 : msg]: (~ (((key @ X4) = (crypt @ X71 @ X72))))))). % msg.distinct(35)
thf(fact_84_msg_Odistinct_I27_J, axiom,
    ((![X32 : nat, X61 : msg, X62 : msg]: (~ (((nonce @ X32) = (mPair @ X61 @ X62))))))). % msg.distinct(27)
thf(fact_85_msg_Odistinct_I23_J, axiom,
    ((![X32 : nat, X4 : nat]: (~ (((nonce @ X32) = (key @ X4))))))). % msg.distinct(23)
thf(fact_86_msg_Odistinct_I9_J, axiom,
    ((![X1 : agent, X61 : msg, X62 : msg]: (~ (((agent2 @ X1) = (mPair @ X61 @ X62))))))). % msg.distinct(9)
thf(fact_87_msg_Odistinct_I29_J, axiom,
    ((![X32 : nat, X71 : nat, X72 : msg]: (~ (((nonce @ X32) = (crypt @ X71 @ X72))))))). % msg.distinct(29)
thf(fact_88_msg_Odistinct_I5_J, axiom,
    ((![X1 : agent, X4 : nat]: (~ (((agent2 @ X1) = (key @ X4))))))). % msg.distinct(5)
thf(fact_89_the__elem__set, axiom,
    ((![X2 : event]: ((the_elem_event @ (set_event2 @ (cons_event @ X2 @ nil_event))) = X2)))). % the_elem_set
thf(fact_90_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_91_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_92_not__in__set__insert, axiom,
    ((![X2 : msg, Xs : list_msg]: ((~ ((member_msg @ X2 @ (set_msg2 @ Xs)))) => ((insert_msg @ X2 @ Xs) = (cons_msg @ X2 @ Xs)))))). % not_in_set_insert
thf(fact_93_not__in__set__insert, axiom,
    ((![X2 : nat, Xs : list_nat]: ((~ ((member_nat @ X2 @ (set_nat2 @ Xs)))) => ((insert_nat @ X2 @ Xs) = (cons_nat @ X2 @ Xs)))))). % not_in_set_insert
thf(fact_94_not__in__set__insert, axiom,
    ((![X2 : list_event, Xs : list_list_event]: ((~ ((member_list_event @ X2 @ (set_list_event2 @ Xs)))) => ((insert_list_event @ X2 @ Xs) = (cons_list_event @ X2 @ Xs)))))). % not_in_set_insert
thf(fact_95_not__in__set__insert, axiom,
    ((![X2 : agent, Xs : list_agent]: ((~ ((member_agent @ X2 @ (set_agent2 @ Xs)))) => ((insert_agent @ X2 @ Xs) = (cons_agent @ X2 @ Xs)))))). % not_in_set_insert
thf(fact_96_not__in__set__insert, axiom,
    ((![X2 : event, Xs : list_event]: ((~ ((member_event @ X2 @ (set_event2 @ Xs)))) => ((insert_event @ X2 @ Xs) = (cons_event @ X2 @ Xs)))))). % not_in_set_insert
thf(fact_97_shrK__in__initState, axiom,
    ((![A : agent]: (member_msg @ (key @ (shrK @ A)) @ (initState @ A))))). % shrK_in_initState
thf(fact_98_insert__Nil, axiom,
    ((![X2 : event]: ((insert_event @ X2 @ nil_event) = (cons_event @ X2 @ nil_event))))). % insert_Nil
thf(fact_99_used__Gets, axiom,
    ((![A : agent, X : msg, Evs : list_event]: ((used @ (cons_event @ (gets @ A @ X) @ Evs)) = (used @ Evs))))). % used_Gets
thf(fact_100_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_101_event_Oinject_I2_J, axiom,
    ((![X21 : agent, X22 : msg, Y21 : agent, Y22 : msg]: (((gets @ X21 @ X22) = (gets @ Y21 @ Y22)) = (((X21 = Y21)) & ((X22 = Y22))))))). % event.inject(2)
thf(fact_102_in__set__insert, axiom,
    ((![X2 : msg, Xs : list_msg]: ((member_msg @ X2 @ (set_msg2 @ Xs)) => ((insert_msg @ X2 @ Xs) = Xs))))). % in_set_insert
thf(fact_103_in__set__insert, axiom,
    ((![X2 : nat, Xs : list_nat]: ((member_nat @ X2 @ (set_nat2 @ Xs)) => ((insert_nat @ X2 @ Xs) = Xs))))). % in_set_insert
thf(fact_104_in__set__insert, axiom,
    ((![X2 : list_event, Xs : list_list_event]: ((member_list_event @ X2 @ (set_list_event2 @ Xs)) => ((insert_list_event @ X2 @ Xs) = Xs))))). % in_set_insert
thf(fact_105_in__set__insert, axiom,
    ((![X2 : agent, Xs : list_agent]: ((member_agent @ X2 @ (set_agent2 @ Xs)) => ((insert_agent @ X2 @ Xs) = Xs))))). % in_set_insert
thf(fact_106_in__set__insert, axiom,
    ((![X2 : event, Xs : list_event]: ((member_event @ X2 @ (set_event2 @ Xs)) => ((insert_event @ X2 @ Xs) = Xs))))). % in_set_insert
thf(fact_107_event_Odistinct_I5_J, axiom,
    ((![X21 : agent, X22 : msg, X31 : agent, X322 : msg]: (~ (((gets @ X21 @ X22) = (notes @ X31 @ X322))))))). % event.distinct(5)
thf(fact_108_event_Oinduct, axiom,
    ((![P : event > $o, Event : event]: ((![X14 : agent, X23 : agent, X33 : msg]: (P @ (says @ X14 @ X23 @ X33))) => ((![X14 : agent, X23 : msg]: (P @ (gets @ X14 @ X23))) => ((![X14 : agent, X23 : msg]: (P @ (notes @ X14 @ X23))) => (P @ Event))))))). % event.induct
thf(fact_109_event_Oexhaust, axiom,
    ((![Y : event]: ((![X112 : agent, X122 : agent, X132 : msg]: (~ ((Y = (says @ X112 @ X122 @ X132))))) => ((![X212 : agent, X222 : msg]: (~ ((Y = (gets @ X212 @ X222))))) => (~ ((![X312 : agent, X323 : msg]: (~ ((Y = (notes @ X312 @ X323)))))))))))). % event.exhaust
thf(fact_110_agent_Odistinct_I3_J, axiom,
    ((~ ((server = spy))))). % agent.distinct(3)
thf(fact_111_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_112_event_Odistinct_I1_J, axiom,
    ((![X11 : agent, X12 : agent, X13 : msg, X21 : agent, X22 : msg]: (~ (((says @ X11 @ X12 @ X13) = (gets @ X21 @ X22))))))). % event.distinct(1)
thf(fact_113_Notes__imp__used, axiom,
    ((![A : agent, X : msg, Evs : list_event]: ((member_event @ (notes @ A @ X) @ (set_event2 @ Evs)) => (member_msg @ X @ (used @ Evs)))))). % Notes_imp_used
thf(fact_114_List_Oinsert__def, axiom,
    ((insert_msg = (^[X3 : msg]: (^[Xs3 : list_msg]: (if_list_msg @ (member_msg @ X3 @ (set_msg2 @ Xs3)) @ Xs3 @ (cons_msg @ X3 @ Xs3))))))). % List.insert_def
thf(fact_115_List_Oinsert__def, axiom,
    ((insert_nat = (^[X3 : nat]: (^[Xs3 : list_nat]: (if_list_nat @ (member_nat @ X3 @ (set_nat2 @ Xs3)) @ Xs3 @ (cons_nat @ X3 @ Xs3))))))). % List.insert_def
thf(fact_116_List_Oinsert__def, axiom,
    ((insert_list_event = (^[X3 : list_event]: (^[Xs3 : list_list_event]: (if_list_list_event @ (member_list_event @ X3 @ (set_list_event2 @ Xs3)) @ Xs3 @ (cons_list_event @ X3 @ Xs3))))))). % List.insert_def
thf(fact_117_List_Oinsert__def, axiom,
    ((insert_agent = (^[X3 : agent]: (^[Xs3 : list_agent]: (if_list_agent @ (member_agent @ X3 @ (set_agent2 @ Xs3)) @ Xs3 @ (cons_agent @ X3 @ Xs3))))))). % List.insert_def
thf(fact_118_List_Oinsert__def, axiom,
    ((insert_event = (^[X3 : event]: (^[Xs3 : list_event]: (if_list_event @ (member_event @ X3 @ (set_event2 @ Xs3)) @ Xs3 @ (cons_event @ X3 @ Xs3))))))). % List.insert_def
thf(fact_119_knows__imp__Says__Gets__Notes__initState, axiom,
    ((![X : msg, A : agent, Evs : list_event]: ((member_msg @ X @ (knows @ A @ Evs)) => ((~ ((A = spy))) => (?[B3 : agent]: ((member_event @ (says @ A @ B3 @ X) @ (set_event2 @ Evs)) | ((member_event @ (gets @ A @ X) @ (set_event2 @ Evs)) | ((member_event @ (notes @ A @ X) @ (set_event2 @ Evs)) | (member_msg @ X @ (initState @ A))))))))))). % knows_imp_Says_Gets_Notes_initState
thf(fact_120_product__lists_Osimps_I1_J, axiom,
    (((product_lists_event @ nil_list_event) = (cons_list_event @ nil_event @ nil_list_event)))). % product_lists.simps(1)
thf(fact_121_knows__Spy__imp__Says__Notes__initState, axiom,
    ((![X : msg, Evs : list_event]: ((member_msg @ X @ (knows @ spy @ Evs)) => (?[A5 : agent, B3 : agent]: ((member_event @ (says @ A5 @ B3 @ X) @ (set_event2 @ Evs)) | ((member_event @ (notes @ A5 @ X) @ (set_event2 @ Evs)) | (member_msg @ X @ (initState @ spy))))))))). % knows_Spy_imp_Says_Notes_initState
thf(fact_122_subseqs_Osimps_I1_J, axiom,
    (((subseqs_event @ nil_event) = (cons_list_event @ nil_event @ nil_list_event)))). % subseqs.simps(1)
thf(fact_123_shrK__in__knows, axiom,
    ((![A : agent, Evs : list_event]: (member_msg @ (key @ (shrK @ A)) @ (knows @ A @ Evs))))). % shrK_in_knows
thf(fact_124_knows__Spy__Gets, axiom,
    ((![A : agent, X : msg, Evs : list_event]: ((knows @ spy @ (cons_event @ (gets @ A @ X) @ Evs)) = (knows @ spy @ Evs))))). % knows_Spy_Gets
thf(fact_125_subseqs__refl, axiom,
    ((![Xs : list_event]: (member_list_event @ Xs @ (set_list_event2 @ (subseqs_event @ Xs)))))). % subseqs_refl
thf(fact_126_Cons__in__subseqsD, axiom,
    ((![Y : event, Ys2 : list_event, Xs : list_event]: ((member_list_event @ (cons_event @ Y @ Ys2) @ (set_list_event2 @ (subseqs_event @ Xs))) => (member_list_event @ Ys2 @ (set_list_event2 @ (subseqs_event @ Xs))))))). % Cons_in_subseqsD
thf(fact_127_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_128_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_129_knows__Nil, axiom,
    ((![A : agent]: ((knows @ A @ nil_event) = (initState @ A))))). % knows_Nil
thf(fact_130_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_131_Gets__imp__knows__agents, axiom,
    ((![A : agent, X : msg, Evs : list_event]: ((~ ((A = spy))) => ((member_event @ (gets @ A @ X) @ (set_event2 @ Evs)) => (member_msg @ X @ (knows @ A @ Evs))))))). % Gets_imp_knows_agents
thf(fact_132_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_133_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_134_knows__Spy__Says, axiom,
    ((![A : agent, B : agent, X : msg, Evs : list_event]: ((knows @ spy @ (cons_event @ (says @ A @ B @ X) @ Evs)) = (insert_msg2 @ X @ (knows @ spy @ Evs)))))). % knows_Spy_Says
thf(fact_135_Spy__in__bad, axiom,
    ((member_agent @ spy @ bad))). % Spy_in_bad
thf(fact_136_list_Osimps_I15_J, axiom,
    ((![X21 : msg, X22 : list_msg]: ((set_msg2 @ (cons_msg @ X21 @ X22)) = (insert_msg2 @ X21 @ (set_msg2 @ X22)))))). % list.simps(15)
thf(fact_137_list_Osimps_I15_J, axiom,
    ((![X21 : event, X22 : list_event]: ((set_event2 @ (cons_event @ X21 @ X22)) = (insert_event2 @ X21 @ (set_event2 @ X22)))))). % list.simps(15)
thf(fact_138_List_Oset__insert, axiom,
    ((![X2 : msg, Xs : list_msg]: ((set_msg2 @ (insert_msg @ X2 @ Xs)) = (insert_msg2 @ X2 @ (set_msg2 @ Xs)))))). % List.set_insert
thf(fact_139_List_Oset__insert, axiom,
    ((![X2 : event, Xs : list_event]: ((set_event2 @ (insert_event @ X2 @ Xs)) = (insert_event2 @ X2 @ (set_event2 @ Xs)))))). % List.set_insert
thf(fact_140_knows__Spy__Notes, axiom,
    ((![A : agent, X : msg, Evs : list_event]: (((member_agent @ A @ bad) => ((knows @ spy @ (cons_event @ (notes @ A @ X) @ Evs)) = (insert_msg2 @ X @ (knows @ spy @ Evs)))) & ((~ ((member_agent @ A @ bad))) => ((knows @ spy @ (cons_event @ (notes @ A @ X) @ Evs)) = (knows @ spy @ Evs))))))). % knows_Spy_Notes
thf(fact_141_pushKeys_I5_J, axiom,
    ((![K : nat, X : msg, Y2 : msg, A : set_msg]: ((insert_msg2 @ (key @ K) @ (insert_msg2 @ (mPair @ X @ Y2) @ A)) = (insert_msg2 @ (mPair @ X @ Y2) @ (insert_msg2 @ (key @ K) @ A)))))). % pushKeys(5)
thf(fact_142_pushCrypts_I6_J, axiom,
    ((![X : nat, K : msg, X6 : msg, Y2 : msg, A : set_msg]: ((insert_msg2 @ (crypt @ X @ K) @ (insert_msg2 @ (mPair @ X6 @ Y2) @ A)) = (insert_msg2 @ (mPair @ X6 @ Y2) @ (insert_msg2 @ (crypt @ X @ K) @ A)))))). % pushCrypts(6)
thf(fact_143_pushKeys_I6_J, axiom,
    ((![K : nat, X : nat, K2 : msg, A : set_msg]: ((insert_msg2 @ (key @ K) @ (insert_msg2 @ (crypt @ X @ K2) @ A)) = (insert_msg2 @ (crypt @ X @ K2) @ (insert_msg2 @ (key @ K) @ A)))))). % pushKeys(6)
thf(fact_144_pushKeys_I2_J, axiom,
    ((![K : nat, N : nat, A : set_msg]: ((insert_msg2 @ (key @ K) @ (insert_msg2 @ (nonce @ N) @ A)) = (insert_msg2 @ (nonce @ N) @ (insert_msg2 @ (key @ K) @ A)))))). % pushKeys(2)
thf(fact_145_pushCrypts_I3_J, axiom,
    ((![X : nat, K : msg, N : nat, A : set_msg]: ((insert_msg2 @ (crypt @ X @ K) @ (insert_msg2 @ (nonce @ N) @ A)) = (insert_msg2 @ (nonce @ N) @ (insert_msg2 @ (crypt @ X @ K) @ A)))))). % pushCrypts(3)
thf(fact_146_pushKeys_I1_J, axiom,
    ((![K : nat, C : agent, A : set_msg]: ((insert_msg2 @ (key @ K) @ (insert_msg2 @ (agent2 @ C) @ A)) = (insert_msg2 @ (agent2 @ C) @ (insert_msg2 @ (key @ K) @ A)))))). % pushKeys(1)
thf(fact_147_pushCrypts_I1_J, axiom,
    ((![X : nat, K : msg, C : agent, A : set_msg]: ((insert_msg2 @ (crypt @ X @ K) @ (insert_msg2 @ (agent2 @ C) @ A)) = (insert_msg2 @ (agent2 @ C) @ (insert_msg2 @ (crypt @ X @ K) @ A)))))). % pushCrypts(1)
thf(fact_148_Server__not__bad, axiom,
    ((~ ((member_agent @ server @ bad))))). % Server_not_bad
thf(fact_149_insertCI, axiom,
    ((![A3 : msg, B : set_msg, B4 : msg]: (((~ ((member_msg @ A3 @ B))) => (A3 = B4)) => (member_msg @ A3 @ (insert_msg2 @ B4 @ B)))))). % insertCI
thf(fact_150_insertCI, axiom,
    ((![A3 : nat, B : set_nat, B4 : nat]: (((~ ((member_nat @ A3 @ B))) => (A3 = B4)) => (member_nat @ A3 @ (insert_nat2 @ B4 @ B)))))). % insertCI
thf(fact_151_insertCI, axiom,
    ((![A3 : event, B : set_event, B4 : event]: (((~ ((member_event @ A3 @ B))) => (A3 = B4)) => (member_event @ A3 @ (insert_event2 @ B4 @ B)))))). % insertCI
thf(fact_152_insertCI, axiom,
    ((![A3 : list_event, B : set_list_event, B4 : list_event]: (((~ ((member_list_event @ A3 @ B))) => (A3 = B4)) => (member_list_event @ A3 @ (insert_list_event2 @ B4 @ B)))))). % insertCI
thf(fact_153_insertCI, axiom,
    ((![A3 : agent, B : set_agent, B4 : agent]: (((~ ((member_agent @ A3 @ B))) => (A3 = B4)) => (member_agent @ A3 @ (insert_agent2 @ B4 @ B)))))). % insertCI
thf(fact_154_insert__iff, axiom,
    ((![A3 : msg, B4 : msg, A : set_msg]: ((member_msg @ A3 @ (insert_msg2 @ B4 @ A)) = (((A3 = B4)) | ((member_msg @ A3 @ A))))))). % insert_iff
thf(fact_155_insert__iff, axiom,
    ((![A3 : nat, B4 : nat, A : set_nat]: ((member_nat @ A3 @ (insert_nat2 @ B4 @ A)) = (((A3 = B4)) | ((member_nat @ A3 @ A))))))). % insert_iff
thf(fact_156_insert__iff, axiom,
    ((![A3 : event, B4 : event, A : set_event]: ((member_event @ A3 @ (insert_event2 @ B4 @ A)) = (((A3 = B4)) | ((member_event @ A3 @ A))))))). % insert_iff
thf(fact_157_insert__iff, axiom,
    ((![A3 : list_event, B4 : list_event, A : set_list_event]: ((member_list_event @ A3 @ (insert_list_event2 @ B4 @ A)) = (((A3 = B4)) | ((member_list_event @ A3 @ A))))))). % insert_iff
thf(fact_158_insert__iff, axiom,
    ((![A3 : agent, B4 : agent, A : set_agent]: ((member_agent @ A3 @ (insert_agent2 @ B4 @ A)) = (((A3 = B4)) | ((member_agent @ A3 @ A))))))). % insert_iff
thf(fact_159_insert__absorb2, axiom,
    ((![X2 : msg, A : set_msg]: ((insert_msg2 @ X2 @ (insert_msg2 @ X2 @ A)) = (insert_msg2 @ X2 @ A))))). % insert_absorb2
thf(fact_160_mk__disjoint__insert, axiom,
    ((![A3 : msg, A : set_msg]: ((member_msg @ A3 @ A) => (?[B3 : set_msg]: ((A = (insert_msg2 @ A3 @ B3)) & (~ ((member_msg @ A3 @ B3))))))))). % mk_disjoint_insert
thf(fact_161_mk__disjoint__insert, axiom,
    ((![A3 : nat, A : set_nat]: ((member_nat @ A3 @ A) => (?[B3 : set_nat]: ((A = (insert_nat2 @ A3 @ B3)) & (~ ((member_nat @ A3 @ B3))))))))). % mk_disjoint_insert
thf(fact_162_mk__disjoint__insert, axiom,
    ((![A3 : event, A : set_event]: ((member_event @ A3 @ A) => (?[B3 : set_event]: ((A = (insert_event2 @ A3 @ B3)) & (~ ((member_event @ A3 @ B3))))))))). % mk_disjoint_insert
thf(fact_163_mk__disjoint__insert, axiom,
    ((![A3 : list_event, A : set_list_event]: ((member_list_event @ A3 @ A) => (?[B3 : set_list_event]: ((A = (insert_list_event2 @ A3 @ B3)) & (~ ((member_list_event @ A3 @ B3))))))))). % mk_disjoint_insert
thf(fact_164_mk__disjoint__insert, axiom,
    ((![A3 : agent, A : set_agent]: ((member_agent @ A3 @ A) => (?[B3 : set_agent]: ((A = (insert_agent2 @ A3 @ B3)) & (~ ((member_agent @ A3 @ B3))))))))). % mk_disjoint_insert
thf(fact_165_insert__commute, axiom,
    ((![X2 : msg, Y : msg, A : set_msg]: ((insert_msg2 @ X2 @ (insert_msg2 @ Y @ A)) = (insert_msg2 @ Y @ (insert_msg2 @ X2 @ A)))))). % insert_commute
thf(fact_166_insert__eq__iff, axiom,
    ((![A3 : msg, A : set_msg, B4 : msg, B : set_msg]: ((~ ((member_msg @ A3 @ A))) => ((~ ((member_msg @ B4 @ B))) => (((insert_msg2 @ A3 @ A) = (insert_msg2 @ B4 @ B)) = (((((A3 = B4)) => ((A = B)))) & ((((~ ((A3 = B4)))) => ((?[C2 : set_msg]: (((A = (insert_msg2 @ B4 @ C2))) & ((((~ ((member_msg @ B4 @ C2)))) & ((((B = (insert_msg2 @ A3 @ C2))) & ((~ ((member_msg @ A3 @ C2)))))))))))))))))))). % insert_eq_iff
thf(fact_167_insert__eq__iff, axiom,
    ((![A3 : nat, A : set_nat, B4 : nat, B : set_nat]: ((~ ((member_nat @ A3 @ A))) => ((~ ((member_nat @ B4 @ B))) => (((insert_nat2 @ A3 @ A) = (insert_nat2 @ B4 @ B)) = (((((A3 = B4)) => ((A = B)))) & ((((~ ((A3 = B4)))) => ((?[C2 : set_nat]: (((A = (insert_nat2 @ B4 @ C2))) & ((((~ ((member_nat @ B4 @ C2)))) & ((((B = (insert_nat2 @ A3 @ C2))) & ((~ ((member_nat @ A3 @ C2)))))))))))))))))))). % insert_eq_iff
thf(fact_168_insert__eq__iff, axiom,
    ((![A3 : event, A : set_event, B4 : event, B : set_event]: ((~ ((member_event @ A3 @ A))) => ((~ ((member_event @ B4 @ B))) => (((insert_event2 @ A3 @ A) = (insert_event2 @ B4 @ B)) = (((((A3 = B4)) => ((A = B)))) & ((((~ ((A3 = B4)))) => ((?[C2 : set_event]: (((A = (insert_event2 @ B4 @ C2))) & ((((~ ((member_event @ B4 @ C2)))) & ((((B = (insert_event2 @ A3 @ C2))) & ((~ ((member_event @ A3 @ C2)))))))))))))))))))). % insert_eq_iff
thf(fact_169_insert__eq__iff, axiom,
    ((![A3 : list_event, A : set_list_event, B4 : list_event, B : set_list_event]: ((~ ((member_list_event @ A3 @ A))) => ((~ ((member_list_event @ B4 @ B))) => (((insert_list_event2 @ A3 @ A) = (insert_list_event2 @ B4 @ B)) = (((((A3 = B4)) => ((A = B)))) & ((((~ ((A3 = B4)))) => ((?[C2 : set_list_event]: (((A = (insert_list_event2 @ B4 @ C2))) & ((((~ ((member_list_event @ B4 @ C2)))) & ((((B = (insert_list_event2 @ A3 @ C2))) & ((~ ((member_list_event @ A3 @ C2)))))))))))))))))))). % insert_eq_iff
thf(fact_170_insert__eq__iff, axiom,
    ((![A3 : agent, A : set_agent, B4 : agent, B : set_agent]: ((~ ((member_agent @ A3 @ A))) => ((~ ((member_agent @ B4 @ B))) => (((insert_agent2 @ A3 @ A) = (insert_agent2 @ B4 @ B)) = (((((A3 = B4)) => ((A = B)))) & ((((~ ((A3 = B4)))) => ((?[C2 : set_agent]: (((A = (insert_agent2 @ B4 @ C2))) & ((((~ ((member_agent @ B4 @ C2)))) & ((((B = (insert_agent2 @ A3 @ C2))) & ((~ ((member_agent @ A3 @ C2)))))))))))))))))))). % insert_eq_iff
thf(fact_171_insert__absorb, axiom,
    ((![A3 : msg, A : set_msg]: ((member_msg @ A3 @ A) => ((insert_msg2 @ A3 @ A) = A))))). % insert_absorb
thf(fact_172_insert__absorb, axiom,
    ((![A3 : nat, A : set_nat]: ((member_nat @ A3 @ A) => ((insert_nat2 @ A3 @ A) = A))))). % insert_absorb
thf(fact_173_insert__absorb, axiom,
    ((![A3 : event, A : set_event]: ((member_event @ A3 @ A) => ((insert_event2 @ A3 @ A) = A))))). % insert_absorb
thf(fact_174_insert__absorb, axiom,
    ((![A3 : list_event, A : set_list_event]: ((member_list_event @ A3 @ A) => ((insert_list_event2 @ A3 @ A) = A))))). % insert_absorb
thf(fact_175_insert__absorb, axiom,
    ((![A3 : agent, A : set_agent]: ((member_agent @ A3 @ A) => ((insert_agent2 @ A3 @ A) = A))))). % insert_absorb
thf(fact_176_insert__ident, axiom,
    ((![X2 : msg, A : set_msg, B : set_msg]: ((~ ((member_msg @ X2 @ A))) => ((~ ((member_msg @ X2 @ B))) => (((insert_msg2 @ X2 @ A) = (insert_msg2 @ X2 @ B)) = (A = B))))))). % insert_ident
thf(fact_177_insert__ident, axiom,
    ((![X2 : nat, A : set_nat, B : set_nat]: ((~ ((member_nat @ X2 @ A))) => ((~ ((member_nat @ X2 @ B))) => (((insert_nat2 @ X2 @ A) = (insert_nat2 @ X2 @ B)) = (A = B))))))). % insert_ident
thf(fact_178_insert__ident, axiom,
    ((![X2 : event, A : set_event, B : set_event]: ((~ ((member_event @ X2 @ A))) => ((~ ((member_event @ X2 @ B))) => (((insert_event2 @ X2 @ A) = (insert_event2 @ X2 @ B)) = (A = B))))))). % insert_ident
thf(fact_179_insert__ident, axiom,
    ((![X2 : list_event, A : set_list_event, B : set_list_event]: ((~ ((member_list_event @ X2 @ A))) => ((~ ((member_list_event @ X2 @ B))) => (((insert_list_event2 @ X2 @ A) = (insert_list_event2 @ X2 @ B)) = (A = B))))))). % insert_ident
thf(fact_180_insert__ident, axiom,
    ((![X2 : agent, A : set_agent, B : set_agent]: ((~ ((member_agent @ X2 @ A))) => ((~ ((member_agent @ X2 @ B))) => (((insert_agent2 @ X2 @ A) = (insert_agent2 @ X2 @ B)) = (A = B))))))). % insert_ident
thf(fact_181_Set_Oset__insert, axiom,
    ((![X2 : msg, A : set_msg]: ((member_msg @ X2 @ A) => (~ ((![B3 : set_msg]: ((A = (insert_msg2 @ X2 @ B3)) => (member_msg @ X2 @ B3))))))))). % Set.set_insert
thf(fact_182_Set_Oset__insert, axiom,
    ((![X2 : nat, A : set_nat]: ((member_nat @ X2 @ A) => (~ ((![B3 : set_nat]: ((A = (insert_nat2 @ X2 @ B3)) => (member_nat @ X2 @ B3))))))))). % Set.set_insert
thf(fact_183_Set_Oset__insert, axiom,
    ((![X2 : event, A : set_event]: ((member_event @ X2 @ A) => (~ ((![B3 : set_event]: ((A = (insert_event2 @ X2 @ B3)) => (member_event @ X2 @ B3))))))))). % Set.set_insert
thf(fact_184_Set_Oset__insert, axiom,
    ((![X2 : list_event, A : set_list_event]: ((member_list_event @ X2 @ A) => (~ ((![B3 : set_list_event]: ((A = (insert_list_event2 @ X2 @ B3)) => (member_list_event @ X2 @ B3))))))))). % Set.set_insert
thf(fact_185_Set_Oset__insert, axiom,
    ((![X2 : agent, A : set_agent]: ((member_agent @ X2 @ A) => (~ ((![B3 : set_agent]: ((A = (insert_agent2 @ X2 @ B3)) => (member_agent @ X2 @ B3))))))))). % Set.set_insert
thf(fact_186_insertI2, axiom,
    ((![A3 : msg, B : set_msg, B4 : msg]: ((member_msg @ A3 @ B) => (member_msg @ A3 @ (insert_msg2 @ B4 @ B)))))). % insertI2
thf(fact_187_insertI2, axiom,
    ((![A3 : nat, B : set_nat, B4 : nat]: ((member_nat @ A3 @ B) => (member_nat @ A3 @ (insert_nat2 @ B4 @ B)))))). % insertI2
thf(fact_188_insertI2, axiom,
    ((![A3 : event, B : set_event, B4 : event]: ((member_event @ A3 @ B) => (member_event @ A3 @ (insert_event2 @ B4 @ B)))))). % insertI2
thf(fact_189_insertI2, axiom,
    ((![A3 : list_event, B : set_list_event, B4 : list_event]: ((member_list_event @ A3 @ B) => (member_list_event @ A3 @ (insert_list_event2 @ B4 @ B)))))). % insertI2
thf(fact_190_insertI2, axiom,
    ((![A3 : agent, B : set_agent, B4 : agent]: ((member_agent @ A3 @ B) => (member_agent @ A3 @ (insert_agent2 @ B4 @ B)))))). % insertI2
thf(fact_191_insertI1, axiom,
    ((![A3 : msg, B : set_msg]: (member_msg @ A3 @ (insert_msg2 @ A3 @ B))))). % insertI1
thf(fact_192_insertI1, axiom,
    ((![A3 : nat, B : set_nat]: (member_nat @ A3 @ (insert_nat2 @ A3 @ B))))). % insertI1
thf(fact_193_insertI1, axiom,
    ((![A3 : event, B : set_event]: (member_event @ A3 @ (insert_event2 @ A3 @ B))))). % insertI1
thf(fact_194_insertI1, axiom,
    ((![A3 : list_event, B : set_list_event]: (member_list_event @ A3 @ (insert_list_event2 @ A3 @ B))))). % insertI1
thf(fact_195_insertI1, axiom,
    ((![A3 : agent, B : set_agent]: (member_agent @ A3 @ (insert_agent2 @ A3 @ B))))). % insertI1
thf(fact_196_insertE, axiom,
    ((![A3 : msg, B4 : msg, A : set_msg]: ((member_msg @ A3 @ (insert_msg2 @ B4 @ A)) => ((~ ((A3 = B4))) => (member_msg @ A3 @ A)))))). % insertE
thf(fact_197_insertE, axiom,
    ((![A3 : nat, B4 : nat, A : set_nat]: ((member_nat @ A3 @ (insert_nat2 @ B4 @ A)) => ((~ ((A3 = B4))) => (member_nat @ A3 @ A)))))). % insertE
thf(fact_198_insertE, axiom,
    ((![A3 : event, B4 : event, A : set_event]: ((member_event @ A3 @ (insert_event2 @ B4 @ A)) => ((~ ((A3 = B4))) => (member_event @ A3 @ A)))))). % insertE
thf(fact_199_insertE, axiom,
    ((![A3 : list_event, B4 : list_event, A : set_list_event]: ((member_list_event @ A3 @ (insert_list_event2 @ B4 @ A)) => ((~ ((A3 = B4))) => (member_list_event @ A3 @ A)))))). % insertE
thf(fact_200_insertE, axiom,
    ((![A3 : agent, B4 : agent, A : set_agent]: ((member_agent @ A3 @ (insert_agent2 @ B4 @ A)) => ((~ ((A3 = B4))) => (member_agent @ A3 @ A)))))). % insertE
thf(fact_201_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_202_knows__Spy__subset__knows__Spy__Gets, axiom,
    ((![Evs : list_event, A : agent, X : msg]: (ord_less_eq_set_msg @ (knows @ spy @ Evs) @ (knows @ spy @ (cons_event @ (gets @ A @ X) @ Evs)))))). % knows_Spy_subset_knows_Spy_Gets
thf(fact_203_analz__idem, axiom,
    ((![H : set_msg]: ((analz @ (analz @ H)) = (analz @ H))))). % analz_idem
thf(fact_204_insert__subset, axiom,
    ((![X2 : nat, A : set_nat, B : set_nat]: ((ord_less_eq_set_nat @ (insert_nat2 @ X2 @ A) @ B) = (((member_nat @ X2 @ B)) & ((ord_less_eq_set_nat @ A @ B))))))). % insert_subset
thf(fact_205_insert__subset, axiom,
    ((![X2 : event, A : set_event, B : set_event]: ((ord_le152226328_event @ (insert_event2 @ X2 @ A) @ B) = (((member_event @ X2 @ B)) & ((ord_le152226328_event @ A @ B))))))). % insert_subset
thf(fact_206_insert__subset, axiom,
    ((![X2 : list_event, A : set_list_event, B : set_list_event]: ((ord_le119303592_event @ (insert_list_event2 @ X2 @ A) @ B) = (((member_list_event @ X2 @ B)) & ((ord_le119303592_event @ A @ B))))))). % insert_subset
thf(fact_207_insert__subset, axiom,
    ((![X2 : agent, A : set_agent, B : set_agent]: ((ord_le722097072_agent @ (insert_agent2 @ X2 @ A) @ B) = (((member_agent @ X2 @ B)) & ((ord_le722097072_agent @ A @ B))))))). % insert_subset
thf(fact_208_insert__subset, axiom,
    ((![X2 : msg, A : set_msg, B : set_msg]: ((ord_less_eq_set_msg @ (insert_msg2 @ X2 @ A) @ B) = (((member_msg @ X2 @ B)) & ((ord_less_eq_set_msg @ A @ B))))))). % insert_subset
thf(fact_209_analz__subset__iff, axiom,
    ((![G : set_msg, H : set_msg]: ((ord_less_eq_set_msg @ (analz @ G) @ (analz @ H)) = (ord_less_eq_set_msg @ G @ (analz @ H)))))). % analz_subset_iff
thf(fact_210_analz__insert__MPair, axiom,
    ((![X : msg, Y2 : msg, H : set_msg]: ((analz @ (insert_msg2 @ (mPair @ X @ Y2) @ H)) = (insert_msg2 @ (mPair @ X @ Y2) @ (analz @ (insert_msg2 @ X @ (insert_msg2 @ Y2 @ H)))))))). % analz_insert_MPair
thf(fact_211_analz__insert__Nonce, axiom,
    ((![N : nat, H : set_msg]: ((analz @ (insert_msg2 @ (nonce @ N) @ H)) = (insert_msg2 @ (nonce @ N) @ (analz @ H)))))). % analz_insert_Nonce
thf(fact_212_analz__insert__Agent, axiom,
    ((![Agt : agent, H : set_msg]: ((analz @ (insert_msg2 @ (agent2 @ Agt) @ H)) = (insert_msg2 @ (agent2 @ Agt) @ (analz @ H)))))). % analz_insert_Agent
thf(fact_213_analz__insert__Crypt__subset, axiom,
    ((![K : nat, X : msg, H : set_msg]: (ord_less_eq_set_msg @ (analz @ (insert_msg2 @ (crypt @ K @ X) @ H)) @ (insert_msg2 @ (crypt @ K @ X) @ (analz @ (insert_msg2 @ X @ H))))))). % analz_insert_Crypt_subset
thf(fact_214_gen__analz__insert__eq, axiom,
    ((![X : msg, H : set_msg, G : set_msg]: ((member_msg @ X @ (analz @ H)) => ((ord_less_eq_set_msg @ H @ G) => ((analz @ (insert_msg2 @ X @ G)) = (analz @ G))))))). % gen_analz_insert_eq
thf(fact_215_analz__insert__eq__I, axiom,
    ((![X : msg, H : set_msg]: ((![X5 : msg]: ((member_msg @ X5 @ (analz @ (insert_msg2 @ X @ H))) => (member_msg @ X5 @ (insert_msg2 @ X @ (analz @ H))))) => ((analz @ (insert_msg2 @ X @ H)) = (insert_msg2 @ X @ (analz @ H))))))). % analz_insert_eq_I
thf(fact_216_analz__insert__cong, axiom,
    ((![H : set_msg, H2 : set_msg, X : msg]: (((analz @ H) = (analz @ H2)) => ((analz @ (insert_msg2 @ X @ H)) = (analz @ (insert_msg2 @ X @ H2))))))). % analz_insert_cong
thf(fact_217_analz__insert__eq, axiom,
    ((![X : msg, H : set_msg]: ((member_msg @ X @ (analz @ H)) => ((analz @ (insert_msg2 @ X @ H)) = (analz @ H)))))). % analz_insert_eq
thf(fact_218_analz__insertI, axiom,
    ((![C3 : msg, G : set_msg, A3 : msg]: ((member_msg @ C3 @ (analz @ G)) => (member_msg @ C3 @ (analz @ (insert_msg2 @ A3 @ G))))))). % analz_insertI
thf(fact_219_analz__insert, axiom,
    ((![X : msg, H : set_msg]: (ord_less_eq_set_msg @ (insert_msg2 @ X @ (analz @ H)) @ (analz @ (insert_msg2 @ X @ H)))))). % analz_insert
thf(fact_220_analz__cut, axiom,
    ((![Y2 : msg, X : msg, H : set_msg]: ((member_msg @ Y2 @ (analz @ (insert_msg2 @ X @ H))) => ((member_msg @ X @ (analz @ H)) => (member_msg @ Y2 @ (analz @ H))))))). % analz_cut
thf(fact_221_insert__mono, axiom,
    ((![C : set_msg, D : set_msg, A3 : msg]: ((ord_less_eq_set_msg @ C @ D) => (ord_less_eq_set_msg @ (insert_msg2 @ A3 @ C) @ (insert_msg2 @ A3 @ D)))))). % insert_mono
thf(fact_222_subset__insert, axiom,
    ((![X2 : nat, A : set_nat, B : set_nat]: ((~ ((member_nat @ X2 @ A))) => ((ord_less_eq_set_nat @ A @ (insert_nat2 @ X2 @ B)) = (ord_less_eq_set_nat @ A @ B)))))). % subset_insert
thf(fact_223_subset__insert, axiom,
    ((![X2 : event, A : set_event, B : set_event]: ((~ ((member_event @ X2 @ A))) => ((ord_le152226328_event @ A @ (insert_event2 @ X2 @ B)) = (ord_le152226328_event @ A @ B)))))). % subset_insert
thf(fact_224_subset__insert, axiom,
    ((![X2 : list_event, A : set_list_event, B : set_list_event]: ((~ ((member_list_event @ X2 @ A))) => ((ord_le119303592_event @ A @ (insert_list_event2 @ X2 @ B)) = (ord_le119303592_event @ A @ B)))))). % subset_insert
thf(fact_225_subset__insert, axiom,
    ((![X2 : agent, A : set_agent, B : set_agent]: ((~ ((member_agent @ X2 @ A))) => ((ord_le722097072_agent @ A @ (insert_agent2 @ X2 @ B)) = (ord_le722097072_agent @ A @ B)))))). % subset_insert
thf(fact_226_subset__insert, axiom,
    ((![X2 : msg, A : set_msg, B : set_msg]: ((~ ((member_msg @ X2 @ A))) => ((ord_less_eq_set_msg @ A @ (insert_msg2 @ X2 @ B)) = (ord_less_eq_set_msg @ A @ B)))))). % subset_insert
thf(fact_227_subset__insertI, axiom,
    ((![B : set_msg, A3 : msg]: (ord_less_eq_set_msg @ B @ (insert_msg2 @ A3 @ B))))). % subset_insertI

% Helper facts (11)
thf(help_If_2_1_If_001t__List__Olist_It__Nat__Onat_J_T, axiom,
    ((![X2 : list_nat, Y : list_nat]: ((if_list_nat @ $false @ X2 @ Y) = Y)))).
thf(help_If_1_1_If_001t__List__Olist_It__Nat__Onat_J_T, axiom,
    ((![X2 : list_nat, Y : list_nat]: ((if_list_nat @ $true @ X2 @ Y) = X2)))).
thf(help_If_2_1_If_001t__List__Olist_It__Event__Oevent_J_T, axiom,
    ((![X2 : list_event, Y : list_event]: ((if_list_event @ $false @ X2 @ Y) = Y)))).
thf(help_If_1_1_If_001t__List__Olist_It__Event__Oevent_J_T, axiom,
    ((![X2 : list_event, Y : list_event]: ((if_list_event @ $true @ X2 @ Y) = X2)))).
thf(help_If_2_1_If_001t__List__Olist_It__Message__Omsg_J_T, axiom,
    ((![X2 : list_msg, Y : list_msg]: ((if_list_msg @ $false @ X2 @ Y) = Y)))).
thf(help_If_1_1_If_001t__List__Olist_It__Message__Omsg_J_T, axiom,
    ((![X2 : list_msg, Y : list_msg]: ((if_list_msg @ $true @ X2 @ Y) = X2)))).
thf(help_If_2_1_If_001t__List__Olist_It__Message__Oagent_J_T, axiom,
    ((![X2 : list_agent, Y : list_agent]: ((if_list_agent @ $false @ X2 @ Y) = Y)))).
thf(help_If_1_1_If_001t__List__Olist_It__Message__Oagent_J_T, axiom,
    ((![X2 : list_agent, Y : list_agent]: ((if_list_agent @ $true @ X2 @ Y) = X2)))).
thf(help_If_3_1_If_001t__List__Olist_It__List__Olist_It__Event__Oevent_J_J_T, axiom,
    ((![P : $o]: ((P = $true) | (P = $false))))).
thf(help_If_2_1_If_001t__List__Olist_It__List__Olist_It__Event__Oevent_J_J_T, axiom,
    ((![X2 : list_list_event, Y : list_list_event]: ((if_list_list_event @ $false @ X2 @ Y) = Y)))).
thf(help_If_1_1_If_001t__List__Olist_It__List__Olist_It__Event__Oevent_J_J_T, axiom,
    ((![X2 : list_list_event, Y : list_list_event]: ((if_list_list_event @ $true @ X2 @ Y) = X2)))).

% Conjectures (4)
thf(conj_0, hypothesis,
    ((~ ((a = server))))).
thf(conj_1, hypothesis,
    ((~ ((member_msg @ (key @ k) @ (used @ nil_event)))))).
thf(conj_2, hypothesis,
    ((member_nat @ k @ symKeys))).
thf(conj_3, conjecture,
    ((member_event @ (says @ a @ b @ (crypt @ k @ (mPair @ (nonce @ n_0_ATP) @ (nonce @ n_0_ATP)))) @ (set_event2 @ (cons_event @ (says @ a_2_ATP @ b_2_ATP @ (crypt @ k_2_ATP @ (mPair @ (nonce @ nB_2_ATP) @ (nonce @ nB_2_ATP)))) @ (cons_event @ (says @ b_3_ATP @ a_3_ATP @ (crypt @ k_3_ATP @ (nonce @ nB_3_ATP))) @ (cons_event @ (says @ a_4_ATP @ b_4_ATP @ x_4_ATP) @ (cons_event @ (says @ server @ a_5_ATP @ (crypt @ (shrK @ a_5_ATP) @ (mPair @ (nonce @ nA_5_ATP) @ (mPair @ (agent2 @ b_5_ATP) @ (mPair @ (key @ kAB_5_ATP) @ (crypt @ (shrK @ b_5_ATP) @ (mPair @ (key @ kAB_5_ATP) @ (agent2 @ a_5_ATP)))))))) @ (cons_event @ (says @ a_6_ATP @ server @ (mPair @ (agent2 @ a_6_ATP) @ (mPair @ (agent2 @ b_6_ATP) @ (nonce @ nA_6_ATP)))) @ nil_event))))))))).
