TSTP Solution File: SWV799-1 by Twee---2.4.2
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Twee---2.4.2
% Problem : SWV799-1 : TPTP v8.1.2. Released v4.1.0.
% Transfm : none
% Format : tptp:raw
% Command : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof
% Computer : n023.cluster.edu
% Model : x86_64 x86_64
% CPU : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory : 8042.1875MB
% OS : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit : 300s
% DateTime : Thu Aug 31 23:06:19 EDT 2023
% Result : Unsatisfiable 12.50s 1.93s
% Output : Proof 12.50s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.10/0.11 % Problem : SWV799-1 : TPTP v8.1.2. Released v4.1.0.
% 0.10/0.12 % Command : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof
% 0.12/0.33 % Computer : n023.cluster.edu
% 0.12/0.33 % Model : x86_64 x86_64
% 0.12/0.33 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.33 % Memory : 8042.1875MB
% 0.12/0.33 % OS : Linux 3.10.0-693.el7.x86_64
% 0.12/0.33 % CPULimit : 300
% 0.12/0.33 % WCLimit : 300
% 0.12/0.33 % DateTime : Tue Aug 29 05:25:10 EDT 2023
% 0.12/0.33 % CPUTime :
% 12.50/1.93 Command-line arguments: --no-flatten-goal
% 12.50/1.93
% 12.50/1.93 % SZS status Unsatisfiable
% 12.50/1.93
% 12.50/1.93 % SZS output start Proof
% 12.50/1.93 Take the following subset of the input axioms:
% 12.50/1.94 fof(cls_ComplD_0, axiom, ![V_A, V_c, T_a]: (~c_in(V_c, V_A, T_a) | ~c_in(V_c, c_HOL_Ouminus__class_Ouminus(V_A, tc_fun(T_a, tc_bool)), T_a))).
% 12.50/1.94 fof(cls_Crypt__notin__image__Key_0, axiom, ![V_X, V_K, V_A2]: ~c_in(c_Message_Omsg_OCrypt(V_K, V_X), c_Set_Oimage(c_Message_Omsg_OKey, V_A2, tc_nat, tc_Message_Omsg), tc_Message_Omsg)).
% 12.50/1.94 fof(cls_Crypt__notin__initState_0, axiom, ![V_B, V_X2, V_K2]: ~c_in(c_Message_Omsg_OCrypt(V_K2, V_X2), c_Message_Oparts(c_Event_OinitState(V_B)), tc_Message_Omsg)).
% 12.50/1.94 fof(cls_Crypt__notin__used__empty_0, axiom, ![V_X2, V_K2]: ~c_in(c_Message_Omsg_OCrypt(V_K2, V_X2), c_Event_Oused(c_List_Olist_ONil(tc_Event_Oevent)), tc_Message_Omsg)).
% 12.50/1.94 fof(cls_Hash__notin__image__Key_0, axiom, ![V_A2, V_X2]: ~c_in(c_Message_Omsg_OHash(V_X2), c_Set_Oimage(c_Message_Omsg_OKey, V_A2, tc_nat, tc_Message_Omsg), tc_Message_Omsg)).
% 12.50/1.94 fof(cls_Nonce__Key__image__eq_0, axiom, ![V_x, V_A2]: ~c_in(c_Message_Omsg_ONonce(V_x), c_Set_Oimage(c_Message_Omsg_OKey, V_A2, tc_nat, tc_Message_Omsg), tc_Message_Omsg)).
% 12.50/1.94 fof(cls_Nonce__notin__initState_0, axiom, ![V_N, V_B2]: ~c_in(c_Message_Omsg_ONonce(V_N), c_Message_Oparts(c_Event_OinitState(V_B2)), tc_Message_Omsg)).
% 12.50/1.94 fof(cls_Nonce__notin__used__empty_0, axiom, ![V_N2]: ~c_in(c_Message_Omsg_ONonce(V_N2), c_Event_Oused(c_List_Olist_ONil(tc_Event_Oevent)), tc_Message_Omsg)).
% 12.50/1.94 fof(cls_Says__Server__message__form_0, axiom, ![V_evs, V_K_H, V_A2, V_B2, V_X2, V_K2, V_N2]: (~c_in(V_K2, c_Set_Oimage(c_Public_OshrK, c_Orderings_Otop__class_Otop(tc_fun(tc_Message_Oagent, tc_bool)), tc_Message_Oagent, tc_nat), tc_nat) | (~c_in(V_evs, c_NS__Shared__Mirabelle_Ons__shared, tc_List_Olist(tc_Event_Oevent)) | ~c_in(c_Event_Oevent_OSays(c_Message_Oagent_OServer, V_A2, c_Message_Omsg_OCrypt(V_K_H, c_Message_Omsg_OMPair(V_N2, c_Message_Omsg_OMPair(c_Message_Omsg_OAgent(V_B2), c_Message_Omsg_OMPair(hAPP(c_Message_Omsg_OKey, V_K2), V_X2))))), c_List_Oset(V_evs, tc_Event_Oevent), tc_Event_Oevent)))).
% 12.50/1.94 fof(cls_UNIV__not__empty_0, axiom, ![T_a2]: c_Orderings_Otop__class_Otop(tc_fun(T_a2, tc_bool))!=c_Orderings_Obot__class_Obot(tc_fun(T_a2, tc_bool))).
% 12.50/1.94 fof(cls_bex__empty_0, axiom, ![V_P, V_x2, T_a2]: (~hBOOL(hAPP(V_P, V_x2)) | ~c_in(V_x2, c_Orderings_Obot__class_Obot(tc_fun(T_a2, tc_bool)), T_a2))).
% 12.50/1.94 fof(cls_bot1E_0, axiom, ![V_x2, T_a2]: ~hBOOL(hAPP(c_Orderings_Obot__class_Obot(tc_fun(T_a2, tc_bool)), V_x2))).
% 12.50/1.94 fof(cls_conjecture_4, negated_conjecture, c_in(c_Message_Omsg_OCrypt(v_K, c_Message_Omsg_OMPair(c_Message_Omsg_ONonce(v_NB), c_Message_Omsg_ONonce(v_NB))), c_Message_Oparts(c_Event_Oknows(c_Message_Oagent_OSpy, c_List_Olist_ONil(tc_Event_Oevent))), tc_Message_Omsg)).
% 12.50/1.94 fof(cls_emptyE_0, axiom, ![V_a, T_a2]: ~c_in(V_a, c_Orderings_Obot__class_Obot(tc_fun(T_a2, tc_bool)), T_a2)).
% 12.50/1.94 fof(cls_empty__iff_0, axiom, ![V_c2, T_a2]: ~c_in(V_c2, c_Orderings_Obot__class_Obot(tc_fun(T_a2, tc_bool)), T_a2)).
% 12.50/1.94 fof(cls_empty__not__insert_0, axiom, ![V_A2, T_a2, V_a2]: c_Orderings_Obot__class_Obot(tc_fun(T_a2, tc_bool))!=c_Set_Oinsert(V_a2, V_A2, T_a2)).
% 12.50/1.94 fof(cls_event_Osimps_I4_J_0, axiom, ![V_msg, V_msg_H, V_agent_H, V_agent1, V_agent2]: c_Event_Oevent_OSays(V_agent1, V_agent2, V_msg)!=c_Event_Oevent_OGets(V_agent_H, V_msg_H)).
% 12.50/1.94 fof(cls_event_Osimps_I5_J_0, axiom, ![V_msg_H2, V_msg3, V_agent_H2, V_agent1_2, V_agent2_2]: c_Event_Oevent_OGets(V_agent_H2, V_msg_H2)!=c_Event_Oevent_OSays(V_agent1_2, V_agent2_2, V_msg3)).
% 12.50/1.94 fof(cls_event_Osimps_I6_J_0, axiom, ![V_msg_H2, V_msg3, V_agent_H2, V_agent1_2, V_agent2_2]: c_Event_Oevent_OSays(V_agent1_2, V_agent2_2, V_msg3)!=c_Event_Oevent_ONotes(V_agent_H2, V_msg_H2)).
% 12.50/1.94 fof(cls_event_Osimps_I7_J_0, axiom, ![V_msg_H2, V_msg3, V_agent_H2, V_agent1_2, V_agent2_2]: c_Event_Oevent_ONotes(V_agent_H2, V_msg_H2)!=c_Event_Oevent_OSays(V_agent1_2, V_agent2_2, V_msg3)).
% 12.50/1.94 fof(cls_event_Osimps_I8_J_0, axiom, ![V_agent, V_msg_H2, V_msg3, V_agent_H2]: c_Event_Oevent_OGets(V_agent, V_msg3)!=c_Event_Oevent_ONotes(V_agent_H2, V_msg_H2)).
% 12.50/1.94 fof(cls_event_Osimps_I9_J_0, axiom, ![V_msg_H2, V_msg3, V_agent3, V_agent_H2]: c_Event_Oevent_ONotes(V_agent_H2, V_msg_H2)!=c_Event_Oevent_OGets(V_agent3, V_msg3)).
% 12.50/1.94 fof(cls_ex__in__conv_0, axiom, ![V_x2, T_a2]: ~c_in(V_x2, c_Orderings_Obot__class_Obot(tc_fun(T_a2, tc_bool)), T_a2)).
% 12.50/1.94 fof(cls_insert__not__empty_0, axiom, ![V_A2, T_a2, V_a2]: c_Set_Oinsert(V_a2, V_A2, T_a2)!=c_Orderings_Obot__class_Obot(tc_fun(T_a2, tc_bool))).
% 12.50/1.94 fof(cls_knows__Nil_0, axiom, ![V_A2]: c_Event_Oknows(V_A2, c_List_Olist_ONil(tc_Event_Oevent))=c_Event_OinitState(V_A2)).
% 12.50/1.94 fof(cls_list_Osimps_I2_J_0, axiom, ![V_a_H, V_list_H, T_a2]: c_List_Olist_ONil(T_a2)!=c_List_Olist_OCons(V_a_H, V_list_H, T_a2)).
% 12.50/1.94 fof(cls_list_Osimps_I3_J_0, axiom, ![T_a2, V_a_H2, V_list_H2]: c_List_Olist_OCons(V_a_H2, V_list_H2, T_a2)!=c_List_Olist_ONil(T_a2)).
% 12.50/1.94 fof(cls_msg_Osimps_I10_J_0, axiom, ![V_nat_H, V_agent3]: c_Message_Omsg_OAgent(V_agent3)!=c_Message_Omsg_ONonce(V_nat_H)).
% 12.50/1.94 fof(cls_msg_Osimps_I11_J_0, axiom, ![V_nat_H2, V_agent3]: c_Message_Omsg_ONonce(V_nat_H2)!=c_Message_Omsg_OAgent(V_agent3)).
% 12.50/1.95 fof(cls_msg_Osimps_I12_J_0, axiom, ![V_nat_H2, V_agent3]: c_Message_Omsg_OAgent(V_agent3)!=hAPP(c_Message_Omsg_OKey, V_nat_H2)).
% 12.50/1.95 fof(cls_msg_Osimps_I13_J_0, axiom, ![V_nat_H2, V_agent3]: hAPP(c_Message_Omsg_OKey, V_nat_H2)!=c_Message_Omsg_OAgent(V_agent3)).
% 12.50/1.95 fof(cls_msg_Osimps_I14_J_0, axiom, ![V_msg_H2, V_agent3]: c_Message_Omsg_OAgent(V_agent3)!=c_Message_Omsg_OHash(V_msg_H2)).
% 12.50/1.95 fof(cls_msg_Osimps_I15_J_0, axiom, ![V_msg_H2, V_agent3]: c_Message_Omsg_OHash(V_msg_H2)!=c_Message_Omsg_OAgent(V_agent3)).
% 12.50/1.95 fof(cls_msg_Osimps_I16_J_0, axiom, ![V_msg1_H, V_msg2_H, V_agent3]: c_Message_Omsg_OAgent(V_agent3)!=c_Message_Omsg_OMPair(V_msg1_H, V_msg2_H)).
% 12.50/1.95 fof(cls_msg_Osimps_I17_J_0, axiom, ![V_msg1_H2, V_msg2_H2, V_agent3]: c_Message_Omsg_OMPair(V_msg1_H2, V_msg2_H2)!=c_Message_Omsg_OAgent(V_agent3)).
% 12.50/1.95 fof(cls_msg_Osimps_I18_J_0, axiom, ![V_msg_H2, V_nat_H2, V_agent3]: c_Message_Omsg_OAgent(V_agent3)!=c_Message_Omsg_OCrypt(V_nat_H2, V_msg_H2)).
% 12.50/1.95 fof(cls_msg_Osimps_I19_J_0, axiom, ![V_msg_H2, V_nat_H2, V_agent3]: c_Message_Omsg_OCrypt(V_nat_H2, V_msg_H2)!=c_Message_Omsg_OAgent(V_agent3)).
% 12.50/1.95 fof(cls_msg_Osimps_I30_J_0, axiom, ![V_nat, V_nat_H2]: c_Message_Omsg_ONonce(V_nat)!=hAPP(c_Message_Omsg_OKey, V_nat_H2)).
% 12.50/1.95 fof(cls_msg_Osimps_I31_J_0, axiom, ![V_nat_H2, V_nat2]: hAPP(c_Message_Omsg_OKey, V_nat_H2)!=c_Message_Omsg_ONonce(V_nat2)).
% 12.50/1.95 fof(cls_msg_Osimps_I32_J_0, axiom, ![V_msg_H2, V_nat2]: c_Message_Omsg_ONonce(V_nat2)!=c_Message_Omsg_OHash(V_msg_H2)).
% 12.50/1.95 fof(cls_msg_Osimps_I33_J_0, axiom, ![V_msg_H2, V_nat2]: c_Message_Omsg_OHash(V_msg_H2)!=c_Message_Omsg_ONonce(V_nat2)).
% 12.50/1.95 fof(cls_msg_Osimps_I34_J_0, axiom, ![V_msg1_H2, V_msg2_H2, V_nat2]: c_Message_Omsg_ONonce(V_nat2)!=c_Message_Omsg_OMPair(V_msg1_H2, V_msg2_H2)).
% 12.50/1.95 fof(cls_msg_Osimps_I35_J_0, axiom, ![V_msg1_H2, V_msg2_H2, V_nat2]: c_Message_Omsg_OMPair(V_msg1_H2, V_msg2_H2)!=c_Message_Omsg_ONonce(V_nat2)).
% 12.50/1.95 fof(cls_msg_Osimps_I36_J_0, axiom, ![V_msg_H2, V_nat_H2, V_nat2]: c_Message_Omsg_ONonce(V_nat2)!=c_Message_Omsg_OCrypt(V_nat_H2, V_msg_H2)).
% 12.50/1.95 fof(cls_msg_Osimps_I37_J_0, axiom, ![V_msg_H2, V_nat_H2, V_nat2]: c_Message_Omsg_OCrypt(V_nat_H2, V_msg_H2)!=c_Message_Omsg_ONonce(V_nat2)).
% 12.50/1.95 fof(cls_msg_Osimps_I38_J_0, axiom, ![V_msg_H2, V_nat2]: hAPP(c_Message_Omsg_OKey, V_nat2)!=c_Message_Omsg_OHash(V_msg_H2)).
% 12.50/1.95 fof(cls_msg_Osimps_I39_J_0, axiom, ![V_msg_H2, V_nat2]: c_Message_Omsg_OHash(V_msg_H2)!=hAPP(c_Message_Omsg_OKey, V_nat2)).
% 12.50/1.95 fof(cls_msg_Osimps_I40_J_0, axiom, ![V_msg1_H2, V_msg2_H2, V_nat2]: hAPP(c_Message_Omsg_OKey, V_nat2)!=c_Message_Omsg_OMPair(V_msg1_H2, V_msg2_H2)).
% 12.50/1.95 fof(cls_msg_Osimps_I41_J_0, axiom, ![V_msg1_H2, V_msg2_H2, V_nat2]: c_Message_Omsg_OMPair(V_msg1_H2, V_msg2_H2)!=hAPP(c_Message_Omsg_OKey, V_nat2)).
% 12.50/1.95 fof(cls_msg_Osimps_I42_J_0, axiom, ![V_msg_H2, V_nat_H2, V_nat2]: hAPP(c_Message_Omsg_OKey, V_nat2)!=c_Message_Omsg_OCrypt(V_nat_H2, V_msg_H2)).
% 12.50/1.95 fof(cls_msg_Osimps_I43_J_0, axiom, ![V_msg_H2, V_nat_H2, V_nat2]: c_Message_Omsg_OCrypt(V_nat_H2, V_msg_H2)!=hAPP(c_Message_Omsg_OKey, V_nat2)).
% 12.50/1.95 fof(cls_msg_Osimps_I44_J_0, axiom, ![V_msg3, V_msg1_H2, V_msg2_H2]: c_Message_Omsg_OHash(V_msg3)!=c_Message_Omsg_OMPair(V_msg1_H2, V_msg2_H2)).
% 12.50/1.95 fof(cls_msg_Osimps_I45_J_0, axiom, ![V_msg3, V_msg1_H2, V_msg2_H2]: c_Message_Omsg_OMPair(V_msg1_H2, V_msg2_H2)!=c_Message_Omsg_OHash(V_msg3)).
% 12.50/1.95 fof(cls_msg_Osimps_I46_J_0, axiom, ![V_msg_H2, V_nat_H2, V_msg3]: c_Message_Omsg_OHash(V_msg3)!=c_Message_Omsg_OCrypt(V_nat_H2, V_msg_H2)).
% 12.50/1.95 fof(cls_msg_Osimps_I47_J_0, axiom, ![V_msg_H2, V_nat_H2, V_msg3]: c_Message_Omsg_OCrypt(V_nat_H2, V_msg_H2)!=c_Message_Omsg_OHash(V_msg3)).
% 12.50/1.95 fof(cls_msg_Osimps_I48_J_0, axiom, ![V_msg1, V_msg2, V_msg_H2, V_nat_H2]: c_Message_Omsg_OMPair(V_msg1, V_msg2)!=c_Message_Omsg_OCrypt(V_nat_H2, V_msg_H2)).
% 12.50/1.95 fof(cls_msg_Osimps_I49_J_0, axiom, ![V_msg_H2, V_nat_H2, V_msg1_2, V_msg2_2]: c_Message_Omsg_OCrypt(V_nat_H2, V_msg_H2)!=c_Message_Omsg_OMPair(V_msg1_2, V_msg2_2)).
% 12.50/1.95 fof(cls_neq__Nil__conv_1, axiom, ![V_xa, V_x2, T_a2]: c_List_Olist_OCons(V_x2, V_xa, T_a2)!=c_List_Olist_ONil(T_a2)).
% 12.50/1.95 fof(cls_not__Cons__self2_0, axiom, ![V_t, V_x2, T_a2]: c_List_Olist_OCons(V_x2, V_t, T_a2)!=V_t).
% 12.50/1.95 fof(cls_not__Cons__self_0, axiom, ![V_xs, V_x2, T_a2]: V_xs!=c_List_Olist_OCons(V_x2, V_xs, T_a2)).
% 12.50/1.95 fof(cls_not__symKeys__priK_0, axiom, ![V_b, V_A2]: ~c_in(hAPP(c_Message_OinvKey, hAPP(c_Public_OpublicKey(V_b), V_A2)), c_Message_OsymKeys, tc_nat)).
% 12.50/1.95 fof(cls_not__symKeys__pubK_0, axiom, ![V_A2, V_b2]: ~c_in(hAPP(c_Public_OpublicKey(V_b2), V_A2), c_Message_OsymKeys, tc_nat)).
% 12.50/1.95 fof(cls_parts__emptyE_0, axiom, ![V_X2]: ~c_in(V_X2, c_Message_Oparts(c_Orderings_Obot__class_Obot(tc_fun(tc_Message_Omsg, tc_bool))), tc_Message_Omsg)).
% 12.50/1.95 fof(cls_priEK__noteq__shrK_0, axiom, ![V_A2, V_B2]: hAPP(c_Message_OinvKey, hAPP(c_Public_OpublicKey(c_Public_Okeymode_OEncryption), V_A2))!=hAPP(c_Public_OshrK, V_B2)).
% 12.50/1.95 fof(cls_priK__neq__shrK_0, axiom, ![V_C, V_A2, V_b2]: hAPP(c_Public_OshrK, V_A2)!=hAPP(c_Message_OinvKey, hAPP(c_Public_OpublicKey(V_b2), V_C))).
% 12.50/1.95 fof(cls_privateKey__neq__publicKey_0, axiom, ![V_A_H, V_A2, V_b2, V_c2]: hAPP(c_Message_OinvKey, hAPP(c_Public_OpublicKey(V_b2), V_A2))!=hAPP(c_Public_OpublicKey(V_c2), V_A_H)).
% 12.50/1.95 fof(cls_privateKey__notin__image__publicKey_0, axiom, ![V_AA, V_x2, V_b2, V_c2]: ~c_in(hAPP(c_Message_OinvKey, hAPP(c_Public_OpublicKey(V_b2), V_x2)), c_Set_Oimage(c_Public_OpublicKey(V_c2), V_AA, tc_Message_Oagent, tc_nat), tc_nat)).
% 12.50/1.95 fof(cls_privateKey__notin__image__shrK_0, axiom, ![V_x2, V_b2, V_AA2]: ~c_in(hAPP(c_Message_OinvKey, hAPP(c_Public_OpublicKey(V_b2), V_x2)), c_Set_Oimage(c_Public_OshrK, V_AA2, tc_Message_Oagent, tc_nat), tc_nat)).
% 12.50/1.95 fof(cls_pubK__neq__shrK_0, axiom, ![V_A2, V_b2, V_C2]: hAPP(c_Public_OshrK, V_A2)!=hAPP(c_Public_OpublicKey(V_b2), V_C2)).
% 12.50/1.95 fof(cls_publicKey__neq__privateKey_0, axiom, ![V_A2, V_b2, V_c2, V_A_H2]: hAPP(c_Public_OpublicKey(V_c2), V_A_H2)!=hAPP(c_Message_OinvKey, hAPP(c_Public_OpublicKey(V_b2), V_A2))).
% 12.50/1.95 fof(cls_publicKey__notin__image__privateKey_0, axiom, ![V_AS, V_A2, V_b2, V_c2]: ~c_in(hAPP(c_Public_OpublicKey(V_b2), V_A2), c_Set_Oimage(c_Message_OinvKey, c_Set_Oimage(c_Public_OpublicKey(V_c2), V_AS, tc_Message_Oagent, tc_nat), tc_nat, tc_nat), tc_nat)).
% 12.50/1.95 fof(cls_publicKey__notin__image__shrK_0, axiom, ![V_x2, V_b2, V_AA2]: ~c_in(hAPP(c_Public_OpublicKey(V_b2), V_x2), c_Set_Oimage(c_Public_OshrK, V_AA2, tc_Message_Oagent, tc_nat), tc_nat)).
% 12.50/1.95 fof(cls_shrK__neq__priK_0, axiom, ![V_A2, V_b2, V_C2]: hAPP(c_Message_OinvKey, hAPP(c_Public_OpublicKey(V_b2), V_C2))!=hAPP(c_Public_OshrK, V_A2)).
% 12.50/1.95 fof(cls_shrK__neq__pubK_0, axiom, ![V_A2, V_b2, V_C2]: hAPP(c_Public_OpublicKey(V_b2), V_C2)!=hAPP(c_Public_OshrK, V_A2)).
% 12.50/1.95 fof(cls_shrK__notin__image__privateKey_0, axiom, ![V_x2, V_b2, V_AA2]: ~c_in(hAPP(c_Public_OshrK, V_x2), c_Set_Oimage(c_Message_OinvKey, c_Set_Oimage(c_Public_OpublicKey(V_b2), V_AA2, tc_Message_Oagent, tc_nat), tc_nat, tc_nat), tc_nat)).
% 12.50/1.95 fof(cls_shrK__notin__image__publicKey_0, axiom, ![V_x2, V_b2, V_AA2]: ~c_in(hAPP(c_Public_OshrK, V_x2), c_Set_Oimage(c_Public_OpublicKey(V_b2), V_AA2, tc_Message_Oagent, tc_nat), tc_nat)).
% 12.50/1.95 fof(cls_symKey__neq__priEK_0, axiom, ![V_A2]: ~c_in(hAPP(c_Message_OinvKey, hAPP(c_Public_OpublicKey(c_Public_Okeymode_OEncryption), V_A2)), c_Message_OsymKeys, tc_nat)).
% 12.50/1.95
% 12.50/1.95 Now clausify the problem and encode Horn clauses using encoding 3 of
% 12.50/1.95 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf.
% 12.50/1.95 We repeatedly replace C & s=t => u=v by the two clauses:
% 12.50/1.95 fresh(y, y, x1...xn) = u
% 12.50/1.95 C => fresh(s, t, x1...xn) = v
% 12.50/1.95 where fresh is a fresh function symbol and x1..xn are the free
% 12.50/1.95 variables of u and v.
% 12.50/1.95 A predicate p(X) is encoded as p(X)=true (this is sound, because the
% 12.50/1.95 input problem has no model of domain size 1).
% 12.50/1.95
% 12.50/1.95 The encoding turns the above axioms into the following unit equations and goals:
% 12.50/1.95
% 12.50/1.95 Axiom 1 (cls_knows__Nil_0): c_Event_Oknows(X, c_List_Olist_ONil(tc_Event_Oevent)) = c_Event_OinitState(X).
% 12.50/1.95 Axiom 2 (cls_conjecture_4): c_in(c_Message_Omsg_OCrypt(v_K, c_Message_Omsg_OMPair(c_Message_Omsg_ONonce(v_NB), c_Message_Omsg_ONonce(v_NB))), c_Message_Oparts(c_Event_Oknows(c_Message_Oagent_OSpy, c_List_Olist_ONil(tc_Event_Oevent))), tc_Message_Omsg) = true2.
% 12.50/1.95
% 12.50/1.95 Goal 1 (cls_Crypt__notin__initState_0): c_in(c_Message_Omsg_OCrypt(X, Y), c_Message_Oparts(c_Event_OinitState(Z)), tc_Message_Omsg) = true2.
% 12.50/1.95 The goal is true when:
% 12.50/1.95 X = v_K
% 12.50/1.95 Y = c_Message_Omsg_OMPair(c_Message_Omsg_ONonce(v_NB), c_Message_Omsg_ONonce(v_NB))
% 12.50/1.95 Z = c_Message_Oagent_OSpy
% 12.50/1.95
% 12.50/1.95 Proof:
% 12.50/1.95 c_in(c_Message_Omsg_OCrypt(v_K, c_Message_Omsg_OMPair(c_Message_Omsg_ONonce(v_NB), c_Message_Omsg_ONonce(v_NB))), c_Message_Oparts(c_Event_OinitState(c_Message_Oagent_OSpy)), tc_Message_Omsg)
% 12.50/1.95 = { by axiom 1 (cls_knows__Nil_0) R->L }
% 12.50/1.95 c_in(c_Message_Omsg_OCrypt(v_K, c_Message_Omsg_OMPair(c_Message_Omsg_ONonce(v_NB), c_Message_Omsg_ONonce(v_NB))), c_Message_Oparts(c_Event_Oknows(c_Message_Oagent_OSpy, c_List_Olist_ONil(tc_Event_Oevent))), tc_Message_Omsg)
% 12.50/1.95 = { by axiom 2 (cls_conjecture_4) }
% 12.50/1.95 true2
% 12.50/1.95 % SZS output end Proof
% 12.50/1.95
% 12.50/1.95 RESULT: Unsatisfiable (the axioms are contradictory).
%------------------------------------------------------------------------------