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

% Could-be-implicit typings (12)
thf(ty_n_t__List__Olist_It__List__Olist_It__Event__Oevent_J_J, type,
    list_list_event : $tType).
thf(ty_n_t__Set__Oset_It__List__Olist_It__Event__Oevent_J_J, type,
    set_list_event : $tType).
thf(ty_n_t__List__Olist_It__Message__Oagent_J, type,
    list_agent : $tType).
thf(ty_n_t__Set__Oset_It__Message__Oagent_J, type,
    set_agent : $tType).
thf(ty_n_t__List__Olist_It__Message__Omsg_J, type,
    list_msg : $tType).
thf(ty_n_t__List__Olist_It__Event__Oevent_J, type,
    list_event : $tType).
thf(ty_n_t__Set__Oset_It__Message__Omsg_J, type,
    set_msg : $tType).
thf(ty_n_t__Set__Oset_It__Event__Oevent_J, type,
    set_event : $tType).
thf(ty_n_t__Message__Oagent, type,
    agent : $tType).
thf(ty_n_t__Message__Omsg, type,
    msg : $tType).
thf(ty_n_t__Event__Oevent, type,
    event : $tType).
thf(ty_n_t__Nat__Onat, type,
    nat : $tType).

% Explicit typings (55)
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_OSays, type,
    says : agent > agent > msg > event).
thf(sy_c_Event_Oknows, type,
    knows : agent > list_event > set_msg).
thf(sy_c_List_Oappend_001t__Event__Oevent, type,
    append_event : list_event > list_event > list_event).
thf(sy_c_List_Oappend_001t__List__Olist_It__Event__Oevent_J, type,
    append_list_event : list_list_event > list_list_event > list_list_event).
thf(sy_c_List_Oappend_001t__Message__Oagent, type,
    append_agent : list_agent > list_agent > list_agent).
thf(sy_c_List_Oappend_001t__Message__Omsg, type,
    append_msg : list_msg > list_msg > list_msg).
thf(sy_c_List_Olist_OCons_001t__Event__Oevent, type,
    cons_event : event > list_event > list_event).
thf(sy_c_List_Olist_OCons_001t__List__Olist_It__Event__Oevent_J, type,
    cons_list_event : list_event > list_list_event > list_list_event).
thf(sy_c_List_Olist_OCons_001t__Message__Oagent, type,
    cons_agent : agent > list_agent > list_agent).
thf(sy_c_List_Olist_OCons_001t__Message__Omsg, type,
    cons_msg : msg > list_msg > list_msg).
thf(sy_c_List_Olist_ONil_001t__Event__Oevent, type,
    nil_event : list_event).
thf(sy_c_List_Olist_ONil_001t__List__Olist_It__Event__Oevent_J, type,
    nil_list_event : list_list_event).
thf(sy_c_List_Olist_ONil_001t__Message__Oagent, type,
    nil_agent : list_agent).
thf(sy_c_List_Olist_ONil_001t__Message__Omsg, type,
    nil_msg : list_msg).
thf(sy_c_List_Olist_Oset_001t__Event__Oevent, type,
    set_event2 : list_event > set_event).
thf(sy_c_List_Olist_Oset_001t__List__Olist_It__Event__Oevent_J, type,
    set_list_event2 : list_list_event > set_list_event).
thf(sy_c_List_Olist_Oset_001t__Message__Oagent, type,
    set_agent2 : list_agent > set_agent).
thf(sy_c_List_Olist_Oset_001t__Message__Omsg, type,
    set_msg2 : list_msg > set_msg).
thf(sy_c_List_Orev_001t__Event__Oevent, type,
    rev_event : list_event > list_event).
thf(sy_c_List_Orev_001t__List__Olist_It__Event__Oevent_J, type,
    rev_list_event : list_list_event > list_list_event).
thf(sy_c_List_Orev_001t__Message__Oagent, type,
    rev_agent : list_agent > list_agent).
thf(sy_c_List_Orev_001t__Message__Omsg, type,
    rev_msg : list_msg > list_msg).
thf(sy_c_List_OtakeWhile_001t__Event__Oevent, type,
    takeWhile_event : (event > $o) > list_event > list_event).
thf(sy_c_List_OtakeWhile_001t__List__Olist_It__Event__Oevent_J, type,
    takeWhile_list_event : (list_event > $o) > list_list_event > list_list_event).
thf(sy_c_List_OtakeWhile_001t__Message__Oagent, type,
    takeWhile_agent : (agent > $o) > list_agent > list_agent).
thf(sy_c_List_OtakeWhile_001t__Message__Omsg, type,
    takeWhile_msg : (msg > $o) > list_msg > list_msg).
thf(sy_c_Message_Oagent_OSpy, type,
    spy : agent).
thf(sy_c_Message_Oanalz, type,
    analz : set_msg > set_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_Osynth, type,
    synth : set_msg > set_msg).
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_Public_OshrK, type,
    shrK : agent > nat).
thf(sy_c_Set_OCollect_001t__Event__Oevent, type,
    collect_event : (event > $o) > set_event).
thf(sy_c_Set_OCollect_001t__List__Olist_It__Event__Oevent_J, type,
    collect_list_event : (list_event > $o) > set_list_event).
thf(sy_c_Set_OCollect_001t__Message__Oagent, type,
    collect_agent : (agent > $o) > set_agent).
thf(sy_c_Set_OCollect_001t__Message__Omsg, type,
    collect_msg : (msg > $o) > set_msg).
thf(sy_c_Set_Oinsert_001t__Message__Omsg, type,
    insert_msg : msg > set_msg > set_msg).
thf(sy_c_member_001t__Event__Oevent, type,
    member_event : event > set_event > $o).
thf(sy_c_member_001t__List__Olist_It__Event__Oevent_J, type,
    member_list_event : list_event > set_list_event > $o).
thf(sy_c_member_001t__Message__Oagent, type,
    member_agent : agent > set_agent > $o).
thf(sy_c_member_001t__Message__Omsg, type,
    member_msg : msg > set_msg > $o).
thf(sy_v_A, type,
    a : agent).
thf(sy_v_B, type,
    b : agent).
thf(sy_v_Ba, type,
    ba : agent).
thf(sy_v_K, type,
    k : nat).
thf(sy_v_Nb, type,
    nb : nat).
thf(sy_v_X, type,
    x : msg).
thf(sy_v_evsf, type,
    evsf : list_event).

% Relevant facts (248)
thf(fact_0_ns__shared_ONil, axiom,
    ((member_list_event @ nil_event @ nS_Sha1061662329shared))). % ns_shared.Nil
thf(fact_1_spies__evs__rev, axiom,
    ((![Evs : list_event]: ((knows @ spy @ Evs) = (knows @ spy @ (rev_event @ Evs)))))). % spies_evs_rev
thf(fact_2_ns__shared_OFake, axiom,
    ((![Evsf : list_event, X : msg, B : agent]: ((member_list_event @ Evsf @ nS_Sha1061662329shared) => ((member_msg @ X @ (synth @ (analz @ (knows @ spy @ Evsf)))) => (member_list_event @ (cons_event @ (says @ spy @ B @ X) @ Evsf) @ nS_Sha1061662329shared)))))). % ns_shared.Fake
thf(fact_3_rev__eq__Cons__iff, axiom,
    ((![Xs : list_msg, Y : msg, Ys : list_msg]: (((rev_msg @ Xs) = (cons_msg @ Y @ Ys)) = (Xs = (append_msg @ (rev_msg @ Ys) @ (cons_msg @ Y @ nil_msg))))))). % rev_eq_Cons_iff
thf(fact_4_rev__eq__Cons__iff, axiom,
    ((![Xs : list_list_event, Y : list_event, Ys : list_list_event]: (((rev_list_event @ Xs) = (cons_list_event @ Y @ Ys)) = (Xs = (append_list_event @ (rev_list_event @ Ys) @ (cons_list_event @ Y @ nil_list_event))))))). % rev_eq_Cons_iff
thf(fact_5_rev__eq__Cons__iff, axiom,
    ((![Xs : list_agent, Y : agent, Ys : list_agent]: (((rev_agent @ Xs) = (cons_agent @ Y @ Ys)) = (Xs = (append_agent @ (rev_agent @ Ys) @ (cons_agent @ Y @ nil_agent))))))). % rev_eq_Cons_iff
thf(fact_6_rev__eq__Cons__iff, axiom,
    ((![Xs : list_event, Y : event, Ys : list_event]: (((rev_event @ Xs) = (cons_event @ Y @ Ys)) = (Xs = (append_event @ (rev_event @ Ys) @ (cons_event @ Y @ nil_event))))))). % rev_eq_Cons_iff
thf(fact_7_synth__simps_I5_J, axiom,
    ((![K : nat, X : msg, H : set_msg]: ((member_msg @ (crypt @ K @ X) @ (synth @ H)) = (((member_msg @ (crypt @ K @ X) @ H)) | ((((member_msg @ X @ (synth @ H))) & ((member_msg @ (key @ K) @ H))))))))). % synth_simps(5)
thf(fact_8_Crypt__synth__eq, axiom,
    ((![K : nat, H : set_msg, X : msg]: ((~ ((member_msg @ (key @ K) @ H))) => ((member_msg @ (crypt @ K @ X) @ (synth @ H)) = (member_msg @ (crypt @ K @ X) @ H)))))). % Crypt_synth_eq
thf(fact_9_takeWhile__append1, axiom,
    ((![X2 : agent, Xs : list_agent, P : agent > $o, Ys : list_agent]: ((member_agent @ X2 @ (set_agent2 @ Xs)) => ((~ ((P @ X2))) => ((takeWhile_agent @ P @ (append_agent @ Xs @ Ys)) = (takeWhile_agent @ P @ Xs))))))). % takeWhile_append1
thf(fact_10_takeWhile__append1, axiom,
    ((![X2 : list_event, Xs : list_list_event, P : list_event > $o, Ys : list_list_event]: ((member_list_event @ X2 @ (set_list_event2 @ Xs)) => ((~ ((P @ X2))) => ((takeWhile_list_event @ P @ (append_list_event @ Xs @ Ys)) = (takeWhile_list_event @ P @ Xs))))))). % takeWhile_append1
thf(fact_11_takeWhile__append1, axiom,
    ((![X2 : msg, Xs : list_msg, P : msg > $o, Ys : list_msg]: ((member_msg @ X2 @ (set_msg2 @ Xs)) => ((~ ((P @ X2))) => ((takeWhile_msg @ P @ (append_msg @ Xs @ Ys)) = (takeWhile_msg @ P @ Xs))))))). % takeWhile_append1
thf(fact_12_takeWhile__append1, axiom,
    ((![X2 : event, Xs : list_event, P : event > $o, Ys : list_event]: ((member_event @ X2 @ (set_event2 @ Xs)) => ((~ ((P @ X2))) => ((takeWhile_event @ P @ (append_event @ Xs @ Ys)) = (takeWhile_event @ P @ Xs))))))). % takeWhile_append1
thf(fact_13_takeWhile__append2, axiom,
    ((![Xs : list_agent, P : agent > $o, Ys : list_agent]: ((![X3 : agent]: ((member_agent @ X3 @ (set_agent2 @ Xs)) => (P @ X3))) => ((takeWhile_agent @ P @ (append_agent @ Xs @ Ys)) = (append_agent @ Xs @ (takeWhile_agent @ P @ Ys))))))). % takeWhile_append2
thf(fact_14_takeWhile__append2, axiom,
    ((![Xs : list_list_event, P : list_event > $o, Ys : list_list_event]: ((![X3 : list_event]: ((member_list_event @ X3 @ (set_list_event2 @ Xs)) => (P @ X3))) => ((takeWhile_list_event @ P @ (append_list_event @ Xs @ Ys)) = (append_list_event @ Xs @ (takeWhile_list_event @ P @ Ys))))))). % takeWhile_append2
thf(fact_15_takeWhile__append2, axiom,
    ((![Xs : list_msg, P : msg > $o, Ys : list_msg]: ((![X3 : msg]: ((member_msg @ X3 @ (set_msg2 @ Xs)) => (P @ X3))) => ((takeWhile_msg @ P @ (append_msg @ Xs @ Ys)) = (append_msg @ Xs @ (takeWhile_msg @ P @ Ys))))))). % takeWhile_append2
thf(fact_16_takeWhile__append2, axiom,
    ((![Xs : list_event, P : event > $o, Ys : list_event]: ((![X3 : event]: ((member_event @ X3 @ (set_event2 @ Xs)) => (P @ X3))) => ((takeWhile_event @ P @ (append_event @ Xs @ Ys)) = (append_event @ Xs @ (takeWhile_event @ P @ Ys))))))). % takeWhile_append2
thf(fact_17_rev__singleton__conv, axiom,
    ((![Xs : list_event, X2 : event]: (((rev_event @ Xs) = (cons_event @ X2 @ nil_event)) = (Xs = (cons_event @ X2 @ nil_event)))))). % rev_singleton_conv
thf(fact_18_singleton__rev__conv, axiom,
    ((![X2 : event, Xs : list_event]: (((cons_event @ X2 @ nil_event) = (rev_event @ Xs)) = (Xs = (cons_event @ X2 @ nil_event)))))). % singleton_rev_conv
thf(fact_19_append1__eq__conv, axiom,
    ((![Xs : list_msg, X2 : msg, Ys : list_msg, Y : msg]: (((append_msg @ Xs @ (cons_msg @ X2 @ nil_msg)) = (append_msg @ Ys @ (cons_msg @ Y @ nil_msg))) = (((Xs = Ys)) & ((X2 = Y))))))). % append1_eq_conv
thf(fact_20_append1__eq__conv, axiom,
    ((![Xs : list_list_event, X2 : list_event, Ys : list_list_event, Y : list_event]: (((append_list_event @ Xs @ (cons_list_event @ X2 @ nil_list_event)) = (append_list_event @ Ys @ (cons_list_event @ Y @ nil_list_event))) = (((Xs = Ys)) & ((X2 = Y))))))). % append1_eq_conv
thf(fact_21_append1__eq__conv, axiom,
    ((![Xs : list_agent, X2 : agent, Ys : list_agent, Y : agent]: (((append_agent @ Xs @ (cons_agent @ X2 @ nil_agent)) = (append_agent @ Ys @ (cons_agent @ Y @ nil_agent))) = (((Xs = Ys)) & ((X2 = Y))))))). % append1_eq_conv
thf(fact_22_append1__eq__conv, axiom,
    ((![Xs : list_event, X2 : event, Ys : list_event, Y : event]: (((append_event @ Xs @ (cons_event @ X2 @ nil_event)) = (append_event @ Ys @ (cons_event @ Y @ nil_event))) = (((Xs = Ys)) & ((X2 = Y))))))). % append1_eq_conv
thf(fact_23_Spy__in__bad, axiom,
    ((member_agent @ spy @ bad))). % Spy_in_bad
thf(fact_24_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_25_synth__simps_I1_J, axiom,
    ((![N : nat, H : set_msg]: ((member_msg @ (nonce @ N) @ (synth @ H)) = (member_msg @ (nonce @ N) @ H))))). % synth_simps(1)
thf(fact_26_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_27_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_28_same__append__eq, axiom,
    ((![Xs : list_event, Ys : list_event, Zs : list_event]: (((append_event @ Xs @ Ys) = (append_event @ Xs @ Zs)) = (Ys = Zs))))). % same_append_eq
thf(fact_29_same__append__eq, axiom,
    ((![Xs : list_msg, Ys : list_msg, Zs : list_msg]: (((append_msg @ Xs @ Ys) = (append_msg @ Xs @ Zs)) = (Ys = Zs))))). % same_append_eq
thf(fact_30_same__append__eq, axiom,
    ((![Xs : list_list_event, Ys : list_list_event, Zs : list_list_event]: (((append_list_event @ Xs @ Ys) = (append_list_event @ Xs @ Zs)) = (Ys = Zs))))). % same_append_eq
thf(fact_31_same__append__eq, axiom,
    ((![Xs : list_agent, Ys : list_agent, Zs : list_agent]: (((append_agent @ Xs @ Ys) = (append_agent @ Xs @ Zs)) = (Ys = Zs))))). % same_append_eq
thf(fact_32_append__same__eq, axiom,
    ((![Ys : list_event, Xs : list_event, Zs : list_event]: (((append_event @ Ys @ Xs) = (append_event @ Zs @ Xs)) = (Ys = Zs))))). % append_same_eq
thf(fact_33_append__same__eq, axiom,
    ((![Ys : list_msg, Xs : list_msg, Zs : list_msg]: (((append_msg @ Ys @ Xs) = (append_msg @ Zs @ Xs)) = (Ys = Zs))))). % append_same_eq
thf(fact_34_append__same__eq, axiom,
    ((![Ys : list_list_event, Xs : list_list_event, Zs : list_list_event]: (((append_list_event @ Ys @ Xs) = (append_list_event @ Zs @ Xs)) = (Ys = Zs))))). % append_same_eq
thf(fact_35_append__same__eq, axiom,
    ((![Ys : list_agent, Xs : list_agent, Zs : list_agent]: (((append_agent @ Ys @ Xs) = (append_agent @ Zs @ Xs)) = (Ys = Zs))))). % append_same_eq
thf(fact_36_append__assoc, axiom,
    ((![Xs : list_event, Ys : list_event, Zs : list_event]: ((append_event @ (append_event @ Xs @ Ys) @ Zs) = (append_event @ Xs @ (append_event @ Ys @ Zs)))))). % append_assoc
thf(fact_37_append__assoc, axiom,
    ((![Xs : list_msg, Ys : list_msg, Zs : list_msg]: ((append_msg @ (append_msg @ Xs @ Ys) @ Zs) = (append_msg @ Xs @ (append_msg @ Ys @ Zs)))))). % append_assoc
thf(fact_38_append__assoc, axiom,
    ((![Xs : list_list_event, Ys : list_list_event, Zs : list_list_event]: ((append_list_event @ (append_list_event @ Xs @ Ys) @ Zs) = (append_list_event @ Xs @ (append_list_event @ Ys @ Zs)))))). % append_assoc
thf(fact_39_append__assoc, axiom,
    ((![Xs : list_agent, Ys : list_agent, Zs : list_agent]: ((append_agent @ (append_agent @ Xs @ Ys) @ Zs) = (append_agent @ Xs @ (append_agent @ Ys @ Zs)))))). % append_assoc
thf(fact_40_append_Oassoc, axiom,
    ((![A2 : list_event, B2 : list_event, C : list_event]: ((append_event @ (append_event @ A2 @ B2) @ C) = (append_event @ A2 @ (append_event @ B2 @ C)))))). % append.assoc
thf(fact_41_append_Oassoc, axiom,
    ((![A2 : list_msg, B2 : list_msg, C : list_msg]: ((append_msg @ (append_msg @ A2 @ B2) @ C) = (append_msg @ A2 @ (append_msg @ B2 @ C)))))). % append.assoc
thf(fact_42_append_Oassoc, axiom,
    ((![A2 : list_list_event, B2 : list_list_event, C : list_list_event]: ((append_list_event @ (append_list_event @ A2 @ B2) @ C) = (append_list_event @ A2 @ (append_list_event @ B2 @ C)))))). % append.assoc
thf(fact_43_append_Oassoc, axiom,
    ((![A2 : list_agent, B2 : list_agent, C : list_agent]: ((append_agent @ (append_agent @ A2 @ B2) @ C) = (append_agent @ A2 @ (append_agent @ B2 @ C)))))). % append.assoc
thf(fact_44_analz__idem, axiom,
    ((![H : set_msg]: ((analz @ (analz @ H)) = (analz @ H))))). % analz_idem
thf(fact_45_msg_Oinject_I4_J, axiom,
    ((![X4 : nat, Y4 : nat]: (((key @ X4) = (key @ Y4)) = (X4 = Y4))))). % msg.inject(4)
thf(fact_46_parts__idem, axiom,
    ((![H : set_msg]: ((parts @ (parts @ H)) = (parts @ H))))). % parts_idem
thf(fact_47_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_48_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_49_rev__rev__ident, axiom,
    ((![Xs : list_event]: ((rev_event @ (rev_event @ Xs)) = Xs)))). % rev_rev_ident
thf(fact_50_msg_Oinject_I3_J, axiom,
    ((![X32 : nat, Y3 : nat]: (((nonce @ X32) = (nonce @ Y3)) = (X32 = Y3))))). % msg.inject(3)
thf(fact_51_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_52_takeWhile__idem, axiom,
    ((![P : event > $o, Xs : list_event]: ((takeWhile_event @ P @ (takeWhile_event @ P @ Xs)) = (takeWhile_event @ P @ Xs))))). % takeWhile_idem
thf(fact_53_takeWhile__idem, axiom,
    ((![P : msg > $o, Xs : list_msg]: ((takeWhile_msg @ P @ (takeWhile_msg @ P @ Xs)) = (takeWhile_msg @ P @ Xs))))). % takeWhile_idem
thf(fact_54_takeWhile__idem, axiom,
    ((![P : list_event > $o, Xs : list_list_event]: ((takeWhile_list_event @ P @ (takeWhile_list_event @ P @ Xs)) = (takeWhile_list_event @ P @ Xs))))). % takeWhile_idem
thf(fact_55_takeWhile__idem, axiom,
    ((![P : agent > $o, Xs : list_agent]: ((takeWhile_agent @ P @ (takeWhile_agent @ P @ Xs)) = (takeWhile_agent @ P @ Xs))))). % takeWhile_idem
thf(fact_56_append_Oright__neutral, axiom,
    ((![A2 : list_msg]: ((append_msg @ A2 @ nil_msg) = A2)))). % append.right_neutral
thf(fact_57_append_Oright__neutral, axiom,
    ((![A2 : list_list_event]: ((append_list_event @ A2 @ nil_list_event) = A2)))). % append.right_neutral
thf(fact_58_append_Oright__neutral, axiom,
    ((![A2 : list_agent]: ((append_agent @ A2 @ nil_agent) = A2)))). % append.right_neutral
thf(fact_59_append_Oright__neutral, axiom,
    ((![A2 : list_event]: ((append_event @ A2 @ nil_event) = A2)))). % append.right_neutral
thf(fact_60_append__is__Nil__conv, axiom,
    ((![Xs : list_msg, Ys : list_msg]: (((append_msg @ Xs @ Ys) = nil_msg) = (((Xs = nil_msg)) & ((Ys = nil_msg))))))). % append_is_Nil_conv
thf(fact_61_append__is__Nil__conv, axiom,
    ((![Xs : list_list_event, Ys : list_list_event]: (((append_list_event @ Xs @ Ys) = nil_list_event) = (((Xs = nil_list_event)) & ((Ys = nil_list_event))))))). % append_is_Nil_conv
thf(fact_62_append__is__Nil__conv, axiom,
    ((![Xs : list_agent, Ys : list_agent]: (((append_agent @ Xs @ Ys) = nil_agent) = (((Xs = nil_agent)) & ((Ys = nil_agent))))))). % append_is_Nil_conv
thf(fact_63_append__is__Nil__conv, axiom,
    ((![Xs : list_event, Ys : list_event]: (((append_event @ Xs @ Ys) = nil_event) = (((Xs = nil_event)) & ((Ys = nil_event))))))). % append_is_Nil_conv
thf(fact_64_Nil__is__append__conv, axiom,
    ((![Xs : list_msg, Ys : list_msg]: ((nil_msg = (append_msg @ Xs @ Ys)) = (((Xs = nil_msg)) & ((Ys = nil_msg))))))). % Nil_is_append_conv
thf(fact_65_Nil__is__append__conv, axiom,
    ((![Xs : list_list_event, Ys : list_list_event]: ((nil_list_event = (append_list_event @ Xs @ Ys)) = (((Xs = nil_list_event)) & ((Ys = nil_list_event))))))). % Nil_is_append_conv
thf(fact_66_Nil__is__append__conv, axiom,
    ((![Xs : list_agent, Ys : list_agent]: ((nil_agent = (append_agent @ Xs @ Ys)) = (((Xs = nil_agent)) & ((Ys = nil_agent))))))). % Nil_is_append_conv
thf(fact_67_Nil__is__append__conv, axiom,
    ((![Xs : list_event, Ys : list_event]: ((nil_event = (append_event @ Xs @ Ys)) = (((Xs = nil_event)) & ((Ys = nil_event))))))). % Nil_is_append_conv
thf(fact_68_self__append__conv2, axiom,
    ((![Ys : list_msg, Xs : list_msg]: ((Ys = (append_msg @ Xs @ Ys)) = (Xs = nil_msg))))). % self_append_conv2
thf(fact_69_self__append__conv2, axiom,
    ((![Ys : list_list_event, Xs : list_list_event]: ((Ys = (append_list_event @ Xs @ Ys)) = (Xs = nil_list_event))))). % self_append_conv2
thf(fact_70_self__append__conv2, axiom,
    ((![Ys : list_agent, Xs : list_agent]: ((Ys = (append_agent @ Xs @ Ys)) = (Xs = nil_agent))))). % self_append_conv2
thf(fact_71_self__append__conv2, axiom,
    ((![Ys : list_event, Xs : list_event]: ((Ys = (append_event @ Xs @ Ys)) = (Xs = nil_event))))). % self_append_conv2
thf(fact_72_append__self__conv2, axiom,
    ((![Xs : list_msg, Ys : list_msg]: (((append_msg @ Xs @ Ys) = Ys) = (Xs = nil_msg))))). % append_self_conv2
thf(fact_73_append__self__conv2, axiom,
    ((![Xs : list_list_event, Ys : list_list_event]: (((append_list_event @ Xs @ Ys) = Ys) = (Xs = nil_list_event))))). % append_self_conv2
thf(fact_74_append__self__conv2, axiom,
    ((![Xs : list_agent, Ys : list_agent]: (((append_agent @ Xs @ Ys) = Ys) = (Xs = nil_agent))))). % append_self_conv2
thf(fact_75_append__self__conv2, axiom,
    ((![Xs : list_event, Ys : list_event]: (((append_event @ Xs @ Ys) = Ys) = (Xs = nil_event))))). % append_self_conv2
thf(fact_76_self__append__conv, axiom,
    ((![Xs : list_msg, Ys : list_msg]: ((Xs = (append_msg @ Xs @ Ys)) = (Ys = nil_msg))))). % self_append_conv
thf(fact_77_self__append__conv, axiom,
    ((![Xs : list_list_event, Ys : list_list_event]: ((Xs = (append_list_event @ Xs @ Ys)) = (Ys = nil_list_event))))). % self_append_conv
thf(fact_78_self__append__conv, axiom,
    ((![Xs : list_agent, Ys : list_agent]: ((Xs = (append_agent @ Xs @ Ys)) = (Ys = nil_agent))))). % self_append_conv
thf(fact_79_self__append__conv, axiom,
    ((![Xs : list_event, Ys : list_event]: ((Xs = (append_event @ Xs @ Ys)) = (Ys = nil_event))))). % self_append_conv
thf(fact_80_append__self__conv, axiom,
    ((![Xs : list_msg, Ys : list_msg]: (((append_msg @ Xs @ Ys) = Xs) = (Ys = nil_msg))))). % append_self_conv
thf(fact_81_append__self__conv, axiom,
    ((![Xs : list_list_event, Ys : list_list_event]: (((append_list_event @ Xs @ Ys) = Xs) = (Ys = nil_list_event))))). % append_self_conv
thf(fact_82_append__self__conv, axiom,
    ((![Xs : list_agent, Ys : list_agent]: (((append_agent @ Xs @ Ys) = Xs) = (Ys = nil_agent))))). % append_self_conv
thf(fact_83_append__self__conv, axiom,
    ((![Xs : list_event, Ys : list_event]: (((append_event @ Xs @ Ys) = Xs) = (Ys = nil_event))))). % append_self_conv
thf(fact_84_append__Nil2, axiom,
    ((![Xs : list_msg]: ((append_msg @ Xs @ nil_msg) = Xs)))). % append_Nil2
thf(fact_85_append__Nil2, axiom,
    ((![Xs : list_list_event]: ((append_list_event @ Xs @ nil_list_event) = Xs)))). % append_Nil2
thf(fact_86_append__Nil2, axiom,
    ((![Xs : list_agent]: ((append_agent @ Xs @ nil_agent) = Xs)))). % append_Nil2
thf(fact_87_append__Nil2, axiom,
    ((![Xs : list_event]: ((append_event @ Xs @ nil_event) = Xs)))). % append_Nil2
thf(fact_88_rev__is__Nil__conv, axiom,
    ((![Xs : list_event]: (((rev_event @ Xs) = nil_event) = (Xs = nil_event))))). % rev_is_Nil_conv
thf(fact_89_Nil__is__rev__conv, axiom,
    ((![Xs : list_event]: ((nil_event = (rev_event @ Xs)) = (Xs = nil_event))))). % Nil_is_rev_conv
thf(fact_90_set__rev, axiom,
    ((![Xs : list_event]: ((set_event2 @ (rev_event @ Xs)) = (set_event2 @ Xs))))). % set_rev
thf(fact_91_set__rev, axiom,
    ((![Xs : list_msg]: ((set_msg2 @ (rev_msg @ Xs)) = (set_msg2 @ Xs))))). % set_rev
thf(fact_92_set__rev, axiom,
    ((![Xs : list_list_event]: ((set_list_event2 @ (rev_list_event @ Xs)) = (set_list_event2 @ Xs))))). % set_rev
thf(fact_93_set__rev, axiom,
    ((![Xs : list_agent]: ((set_agent2 @ (rev_agent @ Xs)) = (set_agent2 @ Xs))))). % set_rev
thf(fact_94_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_95_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_96_parts__analz, axiom,
    ((![H : set_msg]: ((parts @ (analz @ H)) = (parts @ H))))). % parts_analz
thf(fact_97_analz__parts, axiom,
    ((![H : set_msg]: ((analz @ (parts @ H)) = (parts @ H))))). % analz_parts
thf(fact_98_rev__append, axiom,
    ((![Xs : list_event, Ys : list_event]: ((rev_event @ (append_event @ Xs @ Ys)) = (append_event @ (rev_event @ Ys) @ (rev_event @ Xs)))))). % rev_append
thf(fact_99_rev__append, axiom,
    ((![Xs : list_msg, Ys : list_msg]: ((rev_msg @ (append_msg @ Xs @ Ys)) = (append_msg @ (rev_msg @ Ys) @ (rev_msg @ Xs)))))). % rev_append
thf(fact_100_rev__append, axiom,
    ((![Xs : list_list_event, Ys : list_list_event]: ((rev_list_event @ (append_list_event @ Xs @ Ys)) = (append_list_event @ (rev_list_event @ Ys) @ (rev_list_event @ Xs)))))). % rev_append
thf(fact_101_rev__append, axiom,
    ((![Xs : list_agent, Ys : list_agent]: ((rev_agent @ (append_agent @ Xs @ Ys)) = (append_agent @ (rev_agent @ Ys) @ (rev_agent @ Xs)))))). % rev_append
thf(fact_102_mem__Collect__eq, axiom,
    ((![A2 : agent, P : agent > $o]: ((member_agent @ A2 @ (collect_agent @ P)) = (P @ A2))))). % mem_Collect_eq
thf(fact_103_mem__Collect__eq, axiom,
    ((![A2 : list_event, P : list_event > $o]: ((member_list_event @ A2 @ (collect_list_event @ P)) = (P @ A2))))). % mem_Collect_eq
thf(fact_104_mem__Collect__eq, axiom,
    ((![A2 : msg, P : msg > $o]: ((member_msg @ A2 @ (collect_msg @ P)) = (P @ A2))))). % mem_Collect_eq
thf(fact_105_mem__Collect__eq, axiom,
    ((![A2 : event, P : event > $o]: ((member_event @ A2 @ (collect_event @ P)) = (P @ A2))))). % mem_Collect_eq
thf(fact_106_Collect__mem__eq, axiom,
    ((![A : set_agent]: ((collect_agent @ (^[X5 : agent]: (member_agent @ X5 @ A))) = A)))). % Collect_mem_eq
thf(fact_107_Collect__mem__eq, axiom,
    ((![A : set_list_event]: ((collect_list_event @ (^[X5 : list_event]: (member_list_event @ X5 @ A))) = A)))). % Collect_mem_eq
thf(fact_108_Collect__mem__eq, axiom,
    ((![A : set_msg]: ((collect_msg @ (^[X5 : msg]: (member_msg @ X5 @ A))) = A)))). % Collect_mem_eq
thf(fact_109_Collect__mem__eq, axiom,
    ((![A : set_event]: ((collect_event @ (^[X5 : event]: (member_event @ X5 @ A))) = A)))). % Collect_mem_eq
thf(fact_110_takeWhile__eq__all__conv, axiom,
    ((![P : event > $o, Xs : list_event]: (((takeWhile_event @ P @ Xs) = Xs) = (![X5 : event]: (((member_event @ X5 @ (set_event2 @ Xs))) => ((P @ X5)))))))). % takeWhile_eq_all_conv
thf(fact_111_takeWhile__eq__all__conv, axiom,
    ((![P : msg > $o, Xs : list_msg]: (((takeWhile_msg @ P @ Xs) = Xs) = (![X5 : msg]: (((member_msg @ X5 @ (set_msg2 @ Xs))) => ((P @ X5)))))))). % takeWhile_eq_all_conv
thf(fact_112_takeWhile__eq__all__conv, axiom,
    ((![P : list_event > $o, Xs : list_list_event]: (((takeWhile_list_event @ P @ Xs) = Xs) = (![X5 : list_event]: (((member_list_event @ X5 @ (set_list_event2 @ Xs))) => ((P @ X5)))))))). % takeWhile_eq_all_conv
thf(fact_113_takeWhile__eq__all__conv, axiom,
    ((![P : agent > $o, Xs : list_agent]: (((takeWhile_agent @ P @ Xs) = Xs) = (![X5 : agent]: (((member_agent @ X5 @ (set_agent2 @ Xs))) => ((P @ X5)))))))). % takeWhile_eq_all_conv
thf(fact_114_synth__simps_I2_J, axiom,
    ((![K : nat, H : set_msg]: ((member_msg @ (key @ K) @ (synth @ H)) = (member_msg @ (key @ K) @ H))))). % synth_simps(2)
thf(fact_115_not__Cons__self2, axiom,
    ((![X2 : event, Xs : list_event]: (~ (((cons_event @ X2 @ Xs) = Xs)))))). % not_Cons_self2
thf(fact_116_append__eq__append__conv2, axiom,
    ((![Xs : list_event, Ys : list_event, Zs : list_event, Ts : list_event]: (((append_event @ Xs @ Ys) = (append_event @ Zs @ Ts)) = (?[Us : list_event]: (((((Xs = (append_event @ Zs @ Us))) & (((append_event @ Us @ Ys) = Ts)))) | (((((append_event @ Xs @ Us) = Zs)) & ((Ys = (append_event @ Us @ Ts))))))))))). % append_eq_append_conv2
thf(fact_117_append__eq__append__conv2, axiom,
    ((![Xs : list_msg, Ys : list_msg, Zs : list_msg, Ts : list_msg]: (((append_msg @ Xs @ Ys) = (append_msg @ Zs @ Ts)) = (?[Us : list_msg]: (((((Xs = (append_msg @ Zs @ Us))) & (((append_msg @ Us @ Ys) = Ts)))) | (((((append_msg @ Xs @ Us) = Zs)) & ((Ys = (append_msg @ Us @ Ts))))))))))). % append_eq_append_conv2
thf(fact_118_append__eq__append__conv2, axiom,
    ((![Xs : list_list_event, Ys : list_list_event, Zs : list_list_event, Ts : list_list_event]: (((append_list_event @ Xs @ Ys) = (append_list_event @ Zs @ Ts)) = (?[Us : list_list_event]: (((((Xs = (append_list_event @ Zs @ Us))) & (((append_list_event @ Us @ Ys) = Ts)))) | (((((append_list_event @ Xs @ Us) = Zs)) & ((Ys = (append_list_event @ Us @ Ts))))))))))). % append_eq_append_conv2
thf(fact_119_append__eq__append__conv2, axiom,
    ((![Xs : list_agent, Ys : list_agent, Zs : list_agent, Ts : list_agent]: (((append_agent @ Xs @ Ys) = (append_agent @ Zs @ Ts)) = (?[Us : list_agent]: (((((Xs = (append_agent @ Zs @ Us))) & (((append_agent @ Us @ Ys) = Ts)))) | (((((append_agent @ Xs @ Us) = Zs)) & ((Ys = (append_agent @ Us @ Ts))))))))))). % append_eq_append_conv2
thf(fact_120_append__eq__appendI, axiom,
    ((![Xs : list_event, Xs1 : list_event, Zs : list_event, Ys : list_event, Us2 : list_event]: (((append_event @ Xs @ Xs1) = Zs) => ((Ys = (append_event @ Xs1 @ Us2)) => ((append_event @ Xs @ Ys) = (append_event @ Zs @ Us2))))))). % append_eq_appendI
thf(fact_121_append__eq__appendI, axiom,
    ((![Xs : list_msg, Xs1 : list_msg, Zs : list_msg, Ys : list_msg, Us2 : list_msg]: (((append_msg @ Xs @ Xs1) = Zs) => ((Ys = (append_msg @ Xs1 @ Us2)) => ((append_msg @ Xs @ Ys) = (append_msg @ Zs @ Us2))))))). % append_eq_appendI
thf(fact_122_append__eq__appendI, axiom,
    ((![Xs : list_list_event, Xs1 : list_list_event, Zs : list_list_event, Ys : list_list_event, Us2 : list_list_event]: (((append_list_event @ Xs @ Xs1) = Zs) => ((Ys = (append_list_event @ Xs1 @ Us2)) => ((append_list_event @ Xs @ Ys) = (append_list_event @ Zs @ Us2))))))). % append_eq_appendI
thf(fact_123_append__eq__appendI, axiom,
    ((![Xs : list_agent, Xs1 : list_agent, Zs : list_agent, Ys : list_agent, Us2 : list_agent]: (((append_agent @ Xs @ Xs1) = Zs) => ((Ys = (append_agent @ Xs1 @ Us2)) => ((append_agent @ Xs @ Ys) = (append_agent @ Zs @ Us2))))))). % append_eq_appendI
thf(fact_124_analz__analzD, axiom,
    ((![X : msg, H : set_msg]: ((member_msg @ X @ (analz @ (analz @ H))) => (member_msg @ X @ (analz @ H)))))). % analz_analzD
thf(fact_125_analz_OInj, axiom,
    ((![X : msg, H : set_msg]: ((member_msg @ X @ H) => (member_msg @ X @ (analz @ H)))))). % analz.Inj
thf(fact_126_parts__partsD, axiom,
    ((![X : msg, H : set_msg]: ((member_msg @ X @ (parts @ (parts @ H))) => (member_msg @ X @ (parts @ H)))))). % parts_partsD
thf(fact_127_parts_OInj, axiom,
    ((![X : msg, H : set_msg]: ((member_msg @ X @ H) => (member_msg @ X @ (parts @ H)))))). % parts.Inj
thf(fact_128_synth__synthD, axiom,
    ((![X : msg, H : set_msg]: ((member_msg @ X @ (synth @ (synth @ H))) => (member_msg @ X @ (synth @ H)))))). % synth_synthD
thf(fact_129_synth__idem, axiom,
    ((![H : set_msg]: ((synth @ (synth @ H)) = (synth @ H))))). % synth_idem
thf(fact_130_synth_OInj, axiom,
    ((![X : msg, H : set_msg]: ((member_msg @ X @ H) => (member_msg @ X @ (synth @ H)))))). % synth.Inj
thf(fact_131_rev__swap, axiom,
    ((![Xs : list_event, Ys : list_event]: (((rev_event @ Xs) = Ys) = (Xs = (rev_event @ Ys)))))). % rev_swap
thf(fact_132_map__tailrec__rev_Oinduct, axiom,
    ((![P : (event > event) > list_event > list_event > $o, A0 : event > event, A1 : list_event, A22 : list_event]: ((![F : event > event, X_1 : list_event]: (P @ F @ nil_event @ X_1)) => ((![F : event > event, A3 : event, As : list_event, Bs : list_event]: ((P @ F @ As @ (cons_event @ (F @ A3) @ Bs)) => (P @ F @ (cons_event @ A3 @ As) @ Bs))) => (P @ A0 @ A1 @ A22)))))). % map_tailrec_rev.induct
thf(fact_133_list__nonempty__induct, axiom,
    ((![Xs : list_event, P : list_event > $o]: ((~ ((Xs = nil_event))) => ((![X3 : event]: (P @ (cons_event @ X3 @ nil_event))) => ((![X3 : event, Xs2 : list_event]: ((~ ((Xs2 = nil_event))) => ((P @ Xs2) => (P @ (cons_event @ X3 @ Xs2))))) => (P @ Xs))))))). % list_nonempty_induct
thf(fact_134_successively_Oinduct, axiom,
    ((![P : (event > event > $o) > list_event > $o, A0 : event > event > $o, A1 : list_event]: ((![P2 : event > event > $o]: (P @ P2 @ nil_event)) => ((![P2 : event > event > $o, X3 : event]: (P @ P2 @ (cons_event @ X3 @ nil_event))) => ((![P2 : event > event > $o, X3 : event, Y2 : event, Xs2 : list_event]: ((P @ P2 @ (cons_event @ Y2 @ Xs2)) => (P @ P2 @ (cons_event @ X3 @ (cons_event @ Y2 @ Xs2))))) => (P @ A0 @ A1))))))). % successively.induct
thf(fact_135_remdups__adj_Oinduct, axiom,
    ((![P : list_event > $o, A0 : list_event]: ((P @ nil_event) => ((![X3 : event]: (P @ (cons_event @ X3 @ nil_event))) => ((![X3 : event, Y2 : event, Xs2 : list_event]: (((X3 = Y2) => (P @ (cons_event @ X3 @ Xs2))) => (((~ ((X3 = Y2))) => (P @ (cons_event @ Y2 @ Xs2))) => (P @ (cons_event @ X3 @ (cons_event @ Y2 @ Xs2)))))) => (P @ A0))))))). % remdups_adj.induct
thf(fact_136_sorted__wrt_Oinduct, axiom,
    ((![P : (event > event > $o) > list_event > $o, A0 : event > event > $o, A1 : list_event]: ((![P2 : event > event > $o]: (P @ P2 @ nil_event)) => ((![P2 : event > event > $o, X3 : event, Ys2 : list_event]: ((P @ P2 @ Ys2) => (P @ P2 @ (cons_event @ X3 @ Ys2)))) => (P @ A0 @ A1)))))). % sorted_wrt.induct
thf(fact_137_remdups__adj_Ocases, axiom,
    ((![X2 : list_event]: ((~ ((X2 = nil_event))) => ((![X3 : event]: (~ ((X2 = (cons_event @ X3 @ nil_event))))) => (~ ((![X3 : event, Y2 : event, Xs2 : list_event]: (~ ((X2 = (cons_event @ X3 @ (cons_event @ Y2 @ Xs2))))))))))))). % remdups_adj.cases
thf(fact_138_transpose_Ocases, axiom,
    ((![X2 : list_list_event]: ((~ ((X2 = nil_list_event))) => ((![Xss : list_list_event]: (~ ((X2 = (cons_list_event @ nil_event @ Xss))))) => (~ ((![X3 : event, Xs2 : list_event, Xss : list_list_event]: (~ ((X2 = (cons_list_event @ (cons_event @ X3 @ Xs2) @ Xss)))))))))))). % transpose.cases
thf(fact_139_shuffles_Oinduct, axiom,
    ((![P : list_event > list_event > $o, A0 : list_event, A1 : list_event]: ((![X_1 : list_event]: (P @ nil_event @ X_1)) => ((![Xs2 : list_event]: (P @ Xs2 @ nil_event)) => ((![X3 : event, Xs2 : list_event, Y2 : event, Ys2 : list_event]: ((P @ Xs2 @ (cons_event @ Y2 @ Ys2)) => ((P @ (cons_event @ X3 @ Xs2) @ Ys2) => (P @ (cons_event @ X3 @ Xs2) @ (cons_event @ Y2 @ Ys2))))) => (P @ A0 @ A1))))))). % shuffles.induct
thf(fact_140_induct__list012, axiom,
    ((![P : list_event > $o, Xs : list_event]: ((P @ nil_event) => ((![X3 : event]: (P @ (cons_event @ X3 @ nil_event))) => ((![X3 : event, Y2 : event, Zs2 : list_event]: ((P @ Zs2) => ((P @ (cons_event @ Y2 @ Zs2)) => (P @ (cons_event @ X3 @ (cons_event @ Y2 @ Zs2)))))) => (P @ Xs))))))). % induct_list012
thf(fact_141_splice_Oinduct, axiom,
    ((![P : list_event > list_event > $o, A0 : list_event, A1 : list_event]: ((![X_1 : list_event]: (P @ nil_event @ X_1)) => ((![X3 : event, Xs2 : list_event, Ys2 : list_event]: ((P @ Ys2 @ Xs2) => (P @ (cons_event @ X3 @ Xs2) @ Ys2))) => (P @ A0 @ A1)))))). % splice.induct
thf(fact_142_list__induct2_H, axiom,
    ((![P : list_event > list_event > $o, Xs : list_event, Ys : list_event]: ((P @ nil_event @ nil_event) => ((![X3 : event, Xs2 : list_event]: (P @ (cons_event @ X3 @ Xs2) @ nil_event)) => ((![Y2 : event, Ys2 : list_event]: (P @ nil_event @ (cons_event @ Y2 @ Ys2))) => ((![X3 : event, Xs2 : list_event, Y2 : event, Ys2 : list_event]: ((P @ Xs2 @ Ys2) => (P @ (cons_event @ X3 @ Xs2) @ (cons_event @ Y2 @ Ys2)))) => (P @ Xs @ Ys)))))))). % list_induct2'
thf(fact_143_neq__Nil__conv, axiom,
    ((![Xs : list_event]: ((~ ((Xs = nil_event))) = (?[Y5 : event]: (?[Ys3 : list_event]: (Xs = (cons_event @ Y5 @ Ys3)))))))). % neq_Nil_conv
thf(fact_144_list_Oinducts, axiom,
    ((![P : list_event > $o, List : list_event]: ((P @ nil_event) => ((![X1 : event, X23 : list_event]: ((P @ X23) => (P @ (cons_event @ X1 @ X23)))) => (P @ List)))))). % list.inducts
thf(fact_145_list_Oexhaust, axiom,
    ((![Y : list_event]: ((~ ((Y = nil_event))) => (~ ((![X212 : event, X222 : list_event]: (~ ((Y = (cons_event @ X212 @ X222))))))))))). % list.exhaust
thf(fact_146_list_OdiscI, axiom,
    ((![List : list_event, X21 : event, X22 : list_event]: ((List = (cons_event @ X21 @ X22)) => (~ ((List = nil_event))))))). % list.discI
thf(fact_147_list_Odistinct_I1_J, axiom,
    ((![X21 : event, X22 : list_event]: (~ ((nil_event = (cons_event @ X21 @ X22))))))). % list.distinct(1)
thf(fact_148_list_Oset__cases, axiom,
    ((![E : msg, A2 : list_msg]: ((member_msg @ E @ (set_msg2 @ A2)) => ((![Z2 : list_msg]: (~ ((A2 = (cons_msg @ E @ Z2))))) => (~ ((![Z1 : msg, Z2 : list_msg]: ((A2 = (cons_msg @ Z1 @ Z2)) => (~ ((member_msg @ E @ (set_msg2 @ Z2))))))))))))). % list.set_cases
thf(fact_149_list_Oset__cases, axiom,
    ((![E : list_event, A2 : list_list_event]: ((member_list_event @ E @ (set_list_event2 @ A2)) => ((![Z2 : list_list_event]: (~ ((A2 = (cons_list_event @ E @ Z2))))) => (~ ((![Z1 : list_event, Z2 : list_list_event]: ((A2 = (cons_list_event @ Z1 @ Z2)) => (~ ((member_list_event @ E @ (set_list_event2 @ Z2))))))))))))). % list.set_cases
thf(fact_150_list_Oset__cases, axiom,
    ((![E : agent, A2 : list_agent]: ((member_agent @ E @ (set_agent2 @ A2)) => ((![Z2 : list_agent]: (~ ((A2 = (cons_agent @ E @ Z2))))) => (~ ((![Z1 : agent, Z2 : list_agent]: ((A2 = (cons_agent @ Z1 @ Z2)) => (~ ((member_agent @ E @ (set_agent2 @ Z2))))))))))))). % list.set_cases
thf(fact_151_list_Oset__cases, axiom,
    ((![E : event, A2 : list_event]: ((member_event @ E @ (set_event2 @ A2)) => ((![Z2 : list_event]: (~ ((A2 = (cons_event @ E @ Z2))))) => (~ ((![Z1 : event, Z2 : list_event]: ((A2 = (cons_event @ Z1 @ Z2)) => (~ ((member_event @ E @ (set_event2 @ Z2))))))))))))). % list.set_cases
thf(fact_152_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_153_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_154_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_155_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_156_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_157_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_158_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_159_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_160_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_161_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_162_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_163_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_164_append__Cons, axiom,
    ((![X2 : msg, Xs : list_msg, Ys : list_msg]: ((append_msg @ (cons_msg @ X2 @ Xs) @ Ys) = (cons_msg @ X2 @ (append_msg @ Xs @ Ys)))))). % append_Cons
thf(fact_165_append__Cons, axiom,
    ((![X2 : list_event, Xs : list_list_event, Ys : list_list_event]: ((append_list_event @ (cons_list_event @ X2 @ Xs) @ Ys) = (cons_list_event @ X2 @ (append_list_event @ Xs @ Ys)))))). % append_Cons
thf(fact_166_append__Cons, axiom,
    ((![X2 : agent, Xs : list_agent, Ys : list_agent]: ((append_agent @ (cons_agent @ X2 @ Xs) @ Ys) = (cons_agent @ X2 @ (append_agent @ Xs @ Ys)))))). % append_Cons
thf(fact_167_append__Cons, axiom,
    ((![X2 : event, Xs : list_event, Ys : list_event]: ((append_event @ (cons_event @ X2 @ Xs) @ Ys) = (cons_event @ X2 @ (append_event @ Xs @ Ys)))))). % append_Cons
thf(fact_168_Cons__eq__appendI, axiom,
    ((![X2 : msg, Xs1 : list_msg, Ys : list_msg, Xs : list_msg, Zs : list_msg]: (((cons_msg @ X2 @ Xs1) = Ys) => ((Xs = (append_msg @ Xs1 @ Zs)) => ((cons_msg @ X2 @ Xs) = (append_msg @ Ys @ Zs))))))). % Cons_eq_appendI
thf(fact_169_Cons__eq__appendI, axiom,
    ((![X2 : list_event, Xs1 : list_list_event, Ys : list_list_event, Xs : list_list_event, Zs : list_list_event]: (((cons_list_event @ X2 @ Xs1) = Ys) => ((Xs = (append_list_event @ Xs1 @ Zs)) => ((cons_list_event @ X2 @ Xs) = (append_list_event @ Ys @ Zs))))))). % Cons_eq_appendI
thf(fact_170_Cons__eq__appendI, axiom,
    ((![X2 : agent, Xs1 : list_agent, Ys : list_agent, Xs : list_agent, Zs : list_agent]: (((cons_agent @ X2 @ Xs1) = Ys) => ((Xs = (append_agent @ Xs1 @ Zs)) => ((cons_agent @ X2 @ Xs) = (append_agent @ Ys @ Zs))))))). % Cons_eq_appendI
thf(fact_171_Cons__eq__appendI, axiom,
    ((![X2 : event, Xs1 : list_event, Ys : list_event, Xs : list_event, Zs : list_event]: (((cons_event @ X2 @ Xs1) = Ys) => ((Xs = (append_event @ Xs1 @ Zs)) => ((cons_event @ X2 @ Xs) = (append_event @ Ys @ Zs))))))). % Cons_eq_appendI
thf(fact_172_append_Oleft__neutral, axiom,
    ((![A2 : list_msg]: ((append_msg @ nil_msg @ A2) = A2)))). % append.left_neutral
thf(fact_173_append_Oleft__neutral, axiom,
    ((![A2 : list_list_event]: ((append_list_event @ nil_list_event @ A2) = A2)))). % append.left_neutral
thf(fact_174_append_Oleft__neutral, axiom,
    ((![A2 : list_agent]: ((append_agent @ nil_agent @ A2) = A2)))). % append.left_neutral
thf(fact_175_append_Oleft__neutral, axiom,
    ((![A2 : list_event]: ((append_event @ nil_event @ A2) = A2)))). % append.left_neutral
thf(fact_176_append__Nil, axiom,
    ((![Ys : list_msg]: ((append_msg @ nil_msg @ Ys) = Ys)))). % append_Nil
thf(fact_177_append__Nil, axiom,
    ((![Ys : list_list_event]: ((append_list_event @ nil_list_event @ Ys) = Ys)))). % append_Nil
thf(fact_178_append__Nil, axiom,
    ((![Ys : list_agent]: ((append_agent @ nil_agent @ Ys) = Ys)))). % append_Nil
thf(fact_179_append__Nil, axiom,
    ((![Ys : list_event]: ((append_event @ nil_event @ Ys) = Ys)))). % append_Nil
thf(fact_180_eq__Nil__appendI, axiom,
    ((![Xs : list_msg, Ys : list_msg]: ((Xs = Ys) => (Xs = (append_msg @ nil_msg @ Ys)))))). % eq_Nil_appendI
thf(fact_181_eq__Nil__appendI, axiom,
    ((![Xs : list_list_event, Ys : list_list_event]: ((Xs = Ys) => (Xs = (append_list_event @ nil_list_event @ Ys)))))). % eq_Nil_appendI
thf(fact_182_eq__Nil__appendI, axiom,
    ((![Xs : list_agent, Ys : list_agent]: ((Xs = Ys) => (Xs = (append_agent @ nil_agent @ Ys)))))). % eq_Nil_appendI
thf(fact_183_eq__Nil__appendI, axiom,
    ((![Xs : list_event, Ys : list_event]: ((Xs = Ys) => (Xs = (append_event @ nil_event @ Ys)))))). % eq_Nil_appendI
thf(fact_184_rev_Osimps_I1_J, axiom,
    (((rev_event @ nil_event) = nil_event))). % rev.simps(1)
thf(fact_185_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_186_analz__into__parts, axiom,
    ((![C : msg, H : set_msg]: ((member_msg @ C @ (analz @ H)) => (member_msg @ C @ (parts @ H)))))). % analz_into_parts
thf(fact_187_msg_Odistinct_I35_J, axiom,
    ((![X4 : nat, X71 : nat, X72 : msg]: (~ (((key @ X4) = (crypt @ X71 @ X72))))))). % msg.distinct(35)
thf(fact_188_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_189_takeWhile_Osimps_I1_J, axiom,
    ((![P : event > $o]: ((takeWhile_event @ P @ nil_event) = nil_event)))). % takeWhile.simps(1)
thf(fact_190_takeWhile_Osimps_I1_J, axiom,
    ((![P : msg > $o]: ((takeWhile_msg @ P @ nil_msg) = nil_msg)))). % takeWhile.simps(1)
thf(fact_191_takeWhile_Osimps_I1_J, axiom,
    ((![P : list_event > $o]: ((takeWhile_list_event @ P @ nil_list_event) = nil_list_event)))). % takeWhile.simps(1)
thf(fact_192_takeWhile_Osimps_I1_J, axiom,
    ((![P : agent > $o]: ((takeWhile_agent @ P @ nil_agent) = nil_agent)))). % takeWhile.simps(1)
thf(fact_193_takeWhile__cong, axiom,
    ((![L : list_event, K2 : list_event, P : event > $o, Q : event > $o]: ((L = K2) => ((![X3 : event]: ((member_event @ X3 @ (set_event2 @ L)) => ((P @ X3) = (Q @ X3)))) => ((takeWhile_event @ P @ L) = (takeWhile_event @ Q @ K2))))))). % takeWhile_cong
thf(fact_194_takeWhile__cong, axiom,
    ((![L : list_msg, K2 : list_msg, P : msg > $o, Q : msg > $o]: ((L = K2) => ((![X3 : msg]: ((member_msg @ X3 @ (set_msg2 @ L)) => ((P @ X3) = (Q @ X3)))) => ((takeWhile_msg @ P @ L) = (takeWhile_msg @ Q @ K2))))))). % takeWhile_cong
thf(fact_195_takeWhile__cong, axiom,
    ((![L : list_list_event, K2 : list_list_event, P : list_event > $o, Q : list_event > $o]: ((L = K2) => ((![X3 : list_event]: ((member_list_event @ X3 @ (set_list_event2 @ L)) => ((P @ X3) = (Q @ X3)))) => ((takeWhile_list_event @ P @ L) = (takeWhile_list_event @ Q @ K2))))))). % takeWhile_cong
thf(fact_196_takeWhile__cong, axiom,
    ((![L : list_agent, K2 : list_agent, P : agent > $o, Q : agent > $o]: ((L = K2) => ((![X3 : agent]: ((member_agent @ X3 @ (set_agent2 @ L)) => ((P @ X3) = (Q @ X3)))) => ((takeWhile_agent @ P @ L) = (takeWhile_agent @ Q @ K2))))))). % takeWhile_cong
thf(fact_197_set__takeWhileD, axiom,
    ((![X2 : event, P : event > $o, Xs : list_event]: ((member_event @ X2 @ (set_event2 @ (takeWhile_event @ P @ Xs))) => ((member_event @ X2 @ (set_event2 @ Xs)) & (P @ X2)))))). % set_takeWhileD
thf(fact_198_set__takeWhileD, axiom,
    ((![X2 : msg, P : msg > $o, Xs : list_msg]: ((member_msg @ X2 @ (set_msg2 @ (takeWhile_msg @ P @ Xs))) => ((member_msg @ X2 @ (set_msg2 @ Xs)) & (P @ X2)))))). % set_takeWhileD
thf(fact_199_set__takeWhileD, axiom,
    ((![X2 : list_event, P : list_event > $o, Xs : list_list_event]: ((member_list_event @ X2 @ (set_list_event2 @ (takeWhile_list_event @ P @ Xs))) => ((member_list_event @ X2 @ (set_list_event2 @ Xs)) & (P @ X2)))))). % set_takeWhileD
thf(fact_200_set__takeWhileD, axiom,
    ((![X2 : agent, P : agent > $o, Xs : list_agent]: ((member_agent @ X2 @ (set_agent2 @ (takeWhile_agent @ P @ Xs))) => ((member_agent @ X2 @ (set_agent2 @ Xs)) & (P @ X2)))))). % set_takeWhileD
thf(fact_201_msg_Odistinct_I23_J, axiom,
    ((![X32 : nat, X4 : nat]: (~ (((nonce @ X32) = (key @ X4))))))). % msg.distinct(23)
thf(fact_202_msg_Odistinct_I29_J, axiom,
    ((![X32 : nat, X71 : nat, X72 : msg]: (~ (((nonce @ X32) = (crypt @ X71 @ X72))))))). % msg.distinct(29)
thf(fact_203_rev__nonempty__induct, axiom,
    ((![Xs : list_msg, P : list_msg > $o]: ((~ ((Xs = nil_msg))) => ((![X3 : msg]: (P @ (cons_msg @ X3 @ nil_msg))) => ((![X3 : msg, Xs2 : list_msg]: ((~ ((Xs2 = nil_msg))) => ((P @ Xs2) => (P @ (append_msg @ Xs2 @ (cons_msg @ X3 @ nil_msg)))))) => (P @ Xs))))))). % rev_nonempty_induct
thf(fact_204_rev__nonempty__induct, axiom,
    ((![Xs : list_list_event, P : list_list_event > $o]: ((~ ((Xs = nil_list_event))) => ((![X3 : list_event]: (P @ (cons_list_event @ X3 @ nil_list_event))) => ((![X3 : list_event, Xs2 : list_list_event]: ((~ ((Xs2 = nil_list_event))) => ((P @ Xs2) => (P @ (append_list_event @ Xs2 @ (cons_list_event @ X3 @ nil_list_event)))))) => (P @ Xs))))))). % rev_nonempty_induct
thf(fact_205_rev__nonempty__induct, axiom,
    ((![Xs : list_agent, P : list_agent > $o]: ((~ ((Xs = nil_agent))) => ((![X3 : agent]: (P @ (cons_agent @ X3 @ nil_agent))) => ((![X3 : agent, Xs2 : list_agent]: ((~ ((Xs2 = nil_agent))) => ((P @ Xs2) => (P @ (append_agent @ Xs2 @ (cons_agent @ X3 @ nil_agent)))))) => (P @ Xs))))))). % rev_nonempty_induct
thf(fact_206_rev__nonempty__induct, axiom,
    ((![Xs : list_event, P : list_event > $o]: ((~ ((Xs = nil_event))) => ((![X3 : event]: (P @ (cons_event @ X3 @ nil_event))) => ((![X3 : event, Xs2 : list_event]: ((~ ((Xs2 = nil_event))) => ((P @ Xs2) => (P @ (append_event @ Xs2 @ (cons_event @ X3 @ nil_event)))))) => (P @ Xs))))))). % rev_nonempty_induct
thf(fact_207_append__eq__Cons__conv, axiom,
    ((![Ys : list_msg, Zs : list_msg, X2 : msg, Xs : list_msg]: (((append_msg @ Ys @ Zs) = (cons_msg @ X2 @ Xs)) = (((((Ys = nil_msg)) & ((Zs = (cons_msg @ X2 @ Xs))))) | ((?[Ys4 : list_msg]: (((Ys = (cons_msg @ X2 @ Ys4))) & (((append_msg @ Ys4 @ Zs) = Xs)))))))))). % append_eq_Cons_conv
thf(fact_208_append__eq__Cons__conv, axiom,
    ((![Ys : list_list_event, Zs : list_list_event, X2 : list_event, Xs : list_list_event]: (((append_list_event @ Ys @ Zs) = (cons_list_event @ X2 @ Xs)) = (((((Ys = nil_list_event)) & ((Zs = (cons_list_event @ X2 @ Xs))))) | ((?[Ys4 : list_list_event]: (((Ys = (cons_list_event @ X2 @ Ys4))) & (((append_list_event @ Ys4 @ Zs) = Xs)))))))))). % append_eq_Cons_conv
thf(fact_209_append__eq__Cons__conv, axiom,
    ((![Ys : list_agent, Zs : list_agent, X2 : agent, Xs : list_agent]: (((append_agent @ Ys @ Zs) = (cons_agent @ X2 @ Xs)) = (((((Ys = nil_agent)) & ((Zs = (cons_agent @ X2 @ Xs))))) | ((?[Ys4 : list_agent]: (((Ys = (cons_agent @ X2 @ Ys4))) & (((append_agent @ Ys4 @ Zs) = Xs)))))))))). % append_eq_Cons_conv
thf(fact_210_append__eq__Cons__conv, axiom,
    ((![Ys : list_event, Zs : list_event, X2 : event, Xs : list_event]: (((append_event @ Ys @ Zs) = (cons_event @ X2 @ Xs)) = (((((Ys = nil_event)) & ((Zs = (cons_event @ X2 @ Xs))))) | ((?[Ys4 : list_event]: (((Ys = (cons_event @ X2 @ Ys4))) & (((append_event @ Ys4 @ Zs) = Xs)))))))))). % append_eq_Cons_conv
thf(fact_211_Cons__eq__append__conv, axiom,
    ((![X2 : msg, Xs : list_msg, Ys : list_msg, Zs : list_msg]: (((cons_msg @ X2 @ Xs) = (append_msg @ Ys @ Zs)) = (((((Ys = nil_msg)) & (((cons_msg @ X2 @ Xs) = Zs)))) | ((?[Ys4 : list_msg]: ((((cons_msg @ X2 @ Ys4) = Ys)) & ((Xs = (append_msg @ Ys4 @ Zs))))))))))). % Cons_eq_append_conv
thf(fact_212_Cons__eq__append__conv, axiom,
    ((![X2 : list_event, Xs : list_list_event, Ys : list_list_event, Zs : list_list_event]: (((cons_list_event @ X2 @ Xs) = (append_list_event @ Ys @ Zs)) = (((((Ys = nil_list_event)) & (((cons_list_event @ X2 @ Xs) = Zs)))) | ((?[Ys4 : list_list_event]: ((((cons_list_event @ X2 @ Ys4) = Ys)) & ((Xs = (append_list_event @ Ys4 @ Zs))))))))))). % Cons_eq_append_conv
thf(fact_213_Cons__eq__append__conv, axiom,
    ((![X2 : agent, Xs : list_agent, Ys : list_agent, Zs : list_agent]: (((cons_agent @ X2 @ Xs) = (append_agent @ Ys @ Zs)) = (((((Ys = nil_agent)) & (((cons_agent @ X2 @ Xs) = Zs)))) | ((?[Ys4 : list_agent]: ((((cons_agent @ X2 @ Ys4) = Ys)) & ((Xs = (append_agent @ Ys4 @ Zs))))))))))). % Cons_eq_append_conv
thf(fact_214_Cons__eq__append__conv, axiom,
    ((![X2 : event, Xs : list_event, Ys : list_event, Zs : list_event]: (((cons_event @ X2 @ Xs) = (append_event @ Ys @ Zs)) = (((((Ys = nil_event)) & (((cons_event @ X2 @ Xs) = Zs)))) | ((?[Ys4 : list_event]: ((((cons_event @ X2 @ Ys4) = Ys)) & ((Xs = (append_event @ Ys4 @ Zs))))))))))). % Cons_eq_append_conv
thf(fact_215_rev__exhaust, axiom,
    ((![Xs : list_msg]: ((~ ((Xs = nil_msg))) => (~ ((![Ys2 : list_msg, Y2 : msg]: (~ ((Xs = (append_msg @ Ys2 @ (cons_msg @ Y2 @ nil_msg)))))))))))). % rev_exhaust
thf(fact_216_rev__exhaust, axiom,
    ((![Xs : list_list_event]: ((~ ((Xs = nil_list_event))) => (~ ((![Ys2 : list_list_event, Y2 : list_event]: (~ ((Xs = (append_list_event @ Ys2 @ (cons_list_event @ Y2 @ nil_list_event)))))))))))). % rev_exhaust
thf(fact_217_rev__exhaust, axiom,
    ((![Xs : list_agent]: ((~ ((Xs = nil_agent))) => (~ ((![Ys2 : list_agent, Y2 : agent]: (~ ((Xs = (append_agent @ Ys2 @ (cons_agent @ Y2 @ nil_agent)))))))))))). % rev_exhaust
thf(fact_218_rev__exhaust, axiom,
    ((![Xs : list_event]: ((~ ((Xs = nil_event))) => (~ ((![Ys2 : list_event, Y2 : event]: (~ ((Xs = (append_event @ Ys2 @ (cons_event @ Y2 @ nil_event)))))))))))). % rev_exhaust
thf(fact_219_rev__induct, axiom,
    ((![P : list_msg > $o, Xs : list_msg]: ((P @ nil_msg) => ((![X3 : msg, Xs2 : list_msg]: ((P @ Xs2) => (P @ (append_msg @ Xs2 @ (cons_msg @ X3 @ nil_msg))))) => (P @ Xs)))))). % rev_induct
thf(fact_220_rev__induct, axiom,
    ((![P : list_list_event > $o, Xs : list_list_event]: ((P @ nil_list_event) => ((![X3 : list_event, Xs2 : list_list_event]: ((P @ Xs2) => (P @ (append_list_event @ Xs2 @ (cons_list_event @ X3 @ nil_list_event))))) => (P @ Xs)))))). % rev_induct
thf(fact_221_rev__induct, axiom,
    ((![P : list_agent > $o, Xs : list_agent]: ((P @ nil_agent) => ((![X3 : agent, Xs2 : list_agent]: ((P @ Xs2) => (P @ (append_agent @ Xs2 @ (cons_agent @ X3 @ nil_agent))))) => (P @ Xs)))))). % rev_induct
thf(fact_222_rev__induct, axiom,
    ((![P : list_event > $o, Xs : list_event]: ((P @ nil_event) => ((![X3 : event, Xs2 : list_event]: ((P @ Xs2) => (P @ (append_event @ Xs2 @ (cons_event @ X3 @ nil_event))))) => (P @ Xs)))))). % rev_induct
thf(fact_223_split__list__first__prop__iff, axiom,
    ((![Xs : list_msg, P : msg > $o]: ((?[X5 : msg]: (((member_msg @ X5 @ (set_msg2 @ Xs))) & ((P @ X5)))) = (?[Ys3 : list_msg]: (?[X5 : msg]: (((?[Zs3 : list_msg]: (Xs = (append_msg @ Ys3 @ (cons_msg @ X5 @ Zs3))))) & ((((P @ X5)) & ((![Y5 : msg]: (((member_msg @ Y5 @ (set_msg2 @ Ys3))) => ((~ ((P @ Y5)))))))))))))))). % split_list_first_prop_iff
thf(fact_224_split__list__first__prop__iff, axiom,
    ((![Xs : list_list_event, P : list_event > $o]: ((?[X5 : list_event]: (((member_list_event @ X5 @ (set_list_event2 @ Xs))) & ((P @ X5)))) = (?[Ys3 : list_list_event]: (?[X5 : list_event]: (((?[Zs3 : list_list_event]: (Xs = (append_list_event @ Ys3 @ (cons_list_event @ X5 @ Zs3))))) & ((((P @ X5)) & ((![Y5 : list_event]: (((member_list_event @ Y5 @ (set_list_event2 @ Ys3))) => ((~ ((P @ Y5)))))))))))))))). % split_list_first_prop_iff
thf(fact_225_split__list__first__prop__iff, axiom,
    ((![Xs : list_agent, P : agent > $o]: ((?[X5 : agent]: (((member_agent @ X5 @ (set_agent2 @ Xs))) & ((P @ X5)))) = (?[Ys3 : list_agent]: (?[X5 : agent]: (((?[Zs3 : list_agent]: (Xs = (append_agent @ Ys3 @ (cons_agent @ X5 @ Zs3))))) & ((((P @ X5)) & ((![Y5 : agent]: (((member_agent @ Y5 @ (set_agent2 @ Ys3))) => ((~ ((P @ Y5)))))))))))))))). % split_list_first_prop_iff
thf(fact_226_split__list__first__prop__iff, axiom,
    ((![Xs : list_event, P : event > $o]: ((?[X5 : event]: (((member_event @ X5 @ (set_event2 @ Xs))) & ((P @ X5)))) = (?[Ys3 : list_event]: (?[X5 : event]: (((?[Zs3 : list_event]: (Xs = (append_event @ Ys3 @ (cons_event @ X5 @ Zs3))))) & ((((P @ X5)) & ((![Y5 : event]: (((member_event @ Y5 @ (set_event2 @ Ys3))) => ((~ ((P @ Y5)))))))))))))))). % split_list_first_prop_iff
thf(fact_227_synth_OCrypt, axiom,
    ((![X : msg, H : set_msg, K : nat]: ((member_msg @ X @ (synth @ H)) => ((member_msg @ (key @ K) @ H) => (member_msg @ (crypt @ K @ X) @ (synth @ H))))))). % synth.Crypt
thf(fact_228_analz__impI, axiom,
    ((![Y6 : msg, Evs : list_event, Q : $o]: (((~ ((member_msg @ Y6 @ (analz @ (knows @ spy @ Evs))))) => Q) => ((~ ((member_msg @ Y6 @ (analz @ (knows @ spy @ Evs))))) => Q))))). % analz_impI
thf(fact_229_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_230_syan__impI, axiom,
    ((![Y6 : msg, Evs : list_event, Q : $o]: (((~ ((member_msg @ Y6 @ (synth @ (analz @ (knows @ spy @ Evs)))))) => Q) => ((~ ((member_msg @ Y6 @ (synth @ (analz @ (knows @ spy @ Evs)))))) => Q))))). % syan_impI
thf(fact_231_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_232_ns__sharedp_OFake, axiom,
    ((![Evsf : list_event, X : msg, B : agent]: ((nS_Sha1092415543haredp @ Evsf) => ((member_msg @ X @ (synth @ (analz @ (knows @ spy @ Evsf)))) => (nS_Sha1092415543haredp @ (cons_event @ (says @ spy @ B @ X) @ Evsf))))))). % ns_sharedp.Fake
thf(fact_233_spies__Gets__rev, axiom,
    ((![Evs : list_event, A : agent, X : msg]: ((knows @ spy @ (append_event @ Evs @ (cons_event @ (gets @ A @ X) @ nil_event))) = (knows @ spy @ Evs))))). % spies_Gets_rev
thf(fact_234_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_235_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_236_spies__Says__rev, axiom,
    ((![Evs : list_event, A : agent, B : agent, X : msg]: ((knows @ spy @ (append_event @ Evs @ (cons_event @ (says @ A @ B @ X) @ nil_event))) = (insert_msg @ X @ (knows @ spy @ Evs)))))). % spies_Says_rev
thf(fact_237_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_238_analz__mono__contra_I3_J, axiom,
    ((![C : msg, A : agent, X : msg, Evs : list_event]: ((~ ((member_msg @ C @ (analz @ (knows @ spy @ (cons_event @ (gets @ A @ X) @ Evs)))))) => (~ ((member_msg @ C @ (analz @ (knows @ spy @ Evs))))))))). % analz_mono_contra(3)
thf(fact_239_NS3__msg__in__parts__spies, axiom,
    ((![S : agent, A : agent, KA : nat, N2 : msg, B : msg, K : msg, X : msg, Evs : list_event]: ((member_event @ (says @ S @ A @ (crypt @ KA @ (mPair @ N2 @ (mPair @ B @ (mPair @ K @ X))))) @ (set_event2 @ Evs)) => (member_msg @ X @ (parts @ (knows @ spy @ Evs))))))). % NS3_msg_in_parts_spies
thf(fact_240_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_241_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_242_parts__cut__eq, axiom,
    ((![X : msg, H : set_msg]: ((member_msg @ X @ (parts @ H)) => ((parts @ (insert_msg @ X @ H)) = (parts @ H)))))). % parts_cut_eq
thf(fact_243_synth__simps_I4_J, axiom,
    ((![X : msg, Y6 : msg, H : set_msg]: ((member_msg @ (mPair @ X @ Y6) @ (synth @ H)) = (((member_msg @ (mPair @ X @ Y6) @ H)) | ((((member_msg @ X @ (synth @ H))) & ((member_msg @ Y6 @ (synth @ H)))))))))). % synth_simps(4)
thf(fact_244_analz__insert__MPair, axiom,
    ((![X : msg, Y6 : msg, H : set_msg]: ((analz @ (insert_msg @ (mPair @ X @ Y6) @ H)) = (insert_msg @ (mPair @ X @ Y6) @ (analz @ (insert_msg @ X @ (insert_msg @ Y6 @ H)))))))). % analz_insert_MPair
thf(fact_245_parts__insert__MPair, axiom,
    ((![X : msg, Y6 : msg, H : set_msg]: ((parts @ (insert_msg @ (mPair @ X @ Y6) @ H)) = (insert_msg @ (mPair @ X @ Y6) @ (parts @ (insert_msg @ X @ (insert_msg @ Y6 @ H)))))))). % parts_insert_MPair
thf(fact_246_parts__insert__Key, axiom,
    ((![K : nat, H : set_msg]: ((parts @ (insert_msg @ (key @ K) @ H)) = (insert_msg @ (key @ K) @ (parts @ H)))))). % parts_insert_Key
thf(fact_247_parts__insert__Crypt, axiom,
    ((![K : nat, X : msg, H : set_msg]: ((parts @ (insert_msg @ (crypt @ K @ X) @ H)) = (insert_msg @ (crypt @ K @ X) @ (parts @ (insert_msg @ X @ H))))))). % parts_insert_Crypt

% Conjectures (7)
thf(conj_0, hypothesis,
    ((~ ((member_agent @ a @ bad))))).
thf(conj_1, hypothesis,
    ((~ ((member_agent @ b @ bad))))).
thf(conj_2, hypothesis,
    ((member_list_event @ evsf @ nS_Sha1061662329shared))).
thf(conj_3, hypothesis,
    ((member_msg @ x @ (synth @ (analz @ (knows @ spy @ evsf)))))).
thf(conj_4, hypothesis,
    ((~ ((member_msg @ (key @ k) @ (analz @ (knows @ spy @ evsf))))))).
thf(conj_5, hypothesis,
    (((member_event @ (says @ b @ a @ (crypt @ k @ (nonce @ nb))) @ (set_event2 @ evsf)) => (~ ((member_msg @ (crypt @ k @ (nonce @ nb)) @ (parts @ (knows @ spy @ (takeWhile_event @ (^[Z : event]: (~ ((Z = (says @ b @ a @ (crypt @ k @ (nonce @ nb))))))) @ (rev_event @ evsf)))))))))).
thf(conj_6, conjecture,
    ((((~ ((b = spy))) | ((~ ((a = ba))) | (~ (((crypt @ k @ (nonce @ nb)) = x))))) | (~ ((member_msg @ x @ (parts @ (knows @ spy @ (takeWhile_event @ (^[Z : event]: (~ ((Z = (says @ spy @ ba @ x))))) @ (append_event @ (rev_event @ evsf) @ (cons_event @ (says @ spy @ ba @ x) @ nil_event))))))))))).
