TSTP Solution File: SWV811-1 by Twee---2.4.2

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Twee---2.4.2
% Problem  : SWV811-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 : n027.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:22 EDT 2023

% Result   : Unsatisfiable 9.82s 1.68s
% Output   : Proof 9.82s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.13  % Problem  : SWV811-1 : TPTP v8.1.2. Released v4.1.0.
% 0.00/0.14  % Command  : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof
% 0.14/0.36  % Computer : n027.cluster.edu
% 0.14/0.36  % Model    : x86_64 x86_64
% 0.14/0.36  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.36  % Memory   : 8042.1875MB
% 0.14/0.36  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.14/0.36  % CPULimit : 300
% 0.14/0.36  % WCLimit  : 300
% 0.14/0.36  % DateTime : Tue Aug 29 05:14:22 EDT 2023
% 0.14/0.36  % CPUTime  : 
% 9.82/1.68  Command-line arguments: --flip-ordering --lhs-weight 1 --depth-weight 60 --distributivity-heuristic
% 9.82/1.68  
% 9.82/1.68  % SZS status Unsatisfiable
% 9.82/1.68  
% 9.82/1.68  % SZS output start Proof
% 9.82/1.68  Take the following subset of the input axioms:
% 9.82/1.68    fof(cls_Crypt__notin__image__Key_0, axiom, ![V_X, V_A, V_K]: ~c_in(c_Message_Omsg_OCrypt(V_K, V_X), c_Set_Oimage(c_Message_Omsg_OKey, V_A, tc_nat, tc_Message_Omsg), tc_Message_Omsg)).
% 9.82/1.68    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)).
% 9.82/1.68    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)).
% 9.82/1.68    fof(cls_Issues__def_2, axiom, ![V_evs, V_A2, V_X2, V_B2]: (~c_in(V_X2, c_Message_Oparts(c_Event_Oknows(c_Message_Oagent_OSpy, c_List_OtakeWhile(c_COMBB(c_Not, c_COMBC(c_fequal(tc_Event_Oevent), c_Event_Oevent_OSays(V_A2, V_B2, v_sko__NS__Shared__Mirabelle__XIssues__def__1(V_A2, V_B2, V_X2, V_evs)), tc_Event_Oevent, tc_Event_Oevent, tc_bool), tc_bool, tc_bool, tc_Event_Oevent), c_List_Orev(V_evs, tc_Event_Oevent), tc_Event_Oevent))), tc_Message_Omsg) | ~c_NS__Shared__Mirabelle_OIssues(V_A2, V_B2, V_X2, V_evs))).
% 9.82/1.68    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)).
% 9.82/1.68    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)).
% 9.82/1.68    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)).
% 9.82/1.68    fof(cls_bex__empty_0, axiom, ![T_a, V_P, V_x2]: (~hBOOL(hAPP(V_P, V_x2)) | ~c_in(V_x2, c_Orderings_Obot__class_Obot(tc_fun(T_a, tc_bool)), T_a))).
% 9.82/1.68    fof(cls_bot1E_0, axiom, ![T_a2, V_x2]: ~hBOOL(hAPP(c_Orderings_Obot__class_Obot(tc_fun(T_a2, tc_bool)), V_x2))).
% 9.82/1.68    fof(cls_conjecture_3, negated_conjecture, c_in(c_Event_Oevent_OSays(v_A, v_B, c_Message_Omsg_OCrypt(v_K, c_Message_Omsg_OMPair(c_Message_Omsg_ONonce(v_NB), c_Message_Omsg_ONonce(v_NB)))), c_List_Oset(c_List_Olist_ONil(tc_Event_Oevent), tc_Event_Oevent), tc_Event_Oevent)).
% 9.82/1.68    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)).
% 9.82/1.68    fof(cls_empty__iff_0, axiom, ![V_c, T_a2]: ~c_in(V_c, c_Orderings_Obot__class_Obot(tc_fun(T_a2, tc_bool)), T_a2)).
% 9.82/1.68    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)).
% 9.82/1.69    fof(cls_event_Osimps_I4_J_0, axiom, ![V_msg_H, V_agent1, V_agent2, V_msg, V_agent_H]: c_Event_Oevent_OSays(V_agent1, V_agent2, V_msg)!=c_Event_Oevent_OGets(V_agent_H, V_msg_H)).
% 9.82/1.69    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)).
% 9.82/1.69    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)).
% 9.82/1.69    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)).
% 9.82/1.69    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)).
% 9.82/1.69    fof(cls_event_Osimps_I9_J_0, axiom, ![V_msg_H2, V_agent3, V_msg3, V_agent_H2]: c_Event_Oevent_ONotes(V_agent_H2, V_msg_H2)!=c_Event_Oevent_OGets(V_agent3, V_msg3)).
% 9.82/1.69    fof(cls_ex__in__conv_0, axiom, ![T_a2, V_x2]: ~c_in(V_x2, c_Orderings_Obot__class_Obot(tc_fun(T_a2, tc_bool)), T_a2)).
% 9.82/1.69    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))).
% 9.82/1.69    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)).
% 9.82/1.69    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)).
% 9.82/1.69    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)).
% 9.82/1.69    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)).
% 9.82/1.69    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)).
% 9.82/1.69    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)).
% 9.82/1.69    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)).
% 9.82/1.69    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)).
% 9.82/1.69    fof(cls_msg_Osimps_I18_J_0, axiom, ![V_nat_H2, V_msg_H2, V_agent3]: c_Message_Omsg_OAgent(V_agent3)!=c_Message_Omsg_OCrypt(V_nat_H2, V_msg_H2)).
% 9.82/1.69    fof(cls_msg_Osimps_I19_J_0, axiom, ![V_nat_H2, V_msg_H2, V_agent3]: c_Message_Omsg_OCrypt(V_nat_H2, V_msg_H2)!=c_Message_Omsg_OAgent(V_agent3)).
% 9.82/1.69    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)).
% 9.82/1.69    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)).
% 9.82/1.69    fof(cls_msg_Osimps_I34_J_0, axiom, ![V_nat2, V_msg1_H2, V_msg2_H2]: c_Message_Omsg_ONonce(V_nat2)!=c_Message_Omsg_OMPair(V_msg1_H2, V_msg2_H2)).
% 9.82/1.69    fof(cls_msg_Osimps_I35_J_0, axiom, ![V_nat2, V_msg1_H2, V_msg2_H2]: c_Message_Omsg_OMPair(V_msg1_H2, V_msg2_H2)!=c_Message_Omsg_ONonce(V_nat2)).
% 9.82/1.69    fof(cls_msg_Osimps_I36_J_0, axiom, ![V_nat_H2, V_msg_H2, V_nat2]: c_Message_Omsg_ONonce(V_nat2)!=c_Message_Omsg_OCrypt(V_nat_H2, V_msg_H2)).
% 9.82/1.69    fof(cls_msg_Osimps_I37_J_0, axiom, ![V_nat_H2, V_msg_H2, V_nat2]: c_Message_Omsg_OCrypt(V_nat_H2, V_msg_H2)!=c_Message_Omsg_ONonce(V_nat2)).
% 9.82/1.69    fof(cls_msg_Osimps_I40_J_0, axiom, ![V_nat2, V_msg1_H2, V_msg2_H2]: hAPP(c_Message_Omsg_OKey, V_nat2)!=c_Message_Omsg_OMPair(V_msg1_H2, V_msg2_H2)).
% 9.82/1.69    fof(cls_msg_Osimps_I41_J_0, axiom, ![V_nat2, V_msg1_H2, V_msg2_H2]: c_Message_Omsg_OMPair(V_msg1_H2, V_msg2_H2)!=hAPP(c_Message_Omsg_OKey, V_nat2)).
% 9.82/1.69    fof(cls_msg_Osimps_I42_J_0, axiom, ![V_nat_H2, V_msg_H2, V_nat2]: hAPP(c_Message_Omsg_OKey, V_nat2)!=c_Message_Omsg_OCrypt(V_nat_H2, V_msg_H2)).
% 9.82/1.69    fof(cls_msg_Osimps_I43_J_0, axiom, ![V_nat_H2, V_msg_H2, V_nat2]: c_Message_Omsg_OCrypt(V_nat_H2, V_msg_H2)!=hAPP(c_Message_Omsg_OKey, V_nat2)).
% 9.82/1.69    fof(cls_msg_Osimps_I48_J_0, axiom, ![V_msg1, V_msg2, V_nat_H2, V_msg_H2]: c_Message_Omsg_OMPair(V_msg1, V_msg2)!=c_Message_Omsg_OCrypt(V_nat_H2, V_msg_H2)).
% 9.82/1.69    fof(cls_msg_Osimps_I49_J_0, axiom, ![V_nat_H2, V_msg_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)).
% 9.82/1.69    fof(cls_neq__Nil__conv_1, axiom, ![V_xa, T_a2, V_x2]: c_List_Olist_OCons(V_x2, V_xa, T_a2)!=c_List_Olist_ONil(T_a2)).
% 9.82/1.69    fof(cls_not__Cons__self2_0, axiom, ![V_t, T_a2, V_x2]: c_List_Olist_OCons(V_x2, V_t, T_a2)!=V_t).
% 9.82/1.69    fof(cls_not__Cons__self_0, axiom, ![V_xs, T_a2, V_x2]: V_xs!=c_List_Olist_OCons(V_x2, V_xs, T_a2)).
% 9.82/1.69    fof(cls_not__symKeys__priK_0, axiom, ![V_b, V_A2]: ~c_in(c_Message_OinvKey(c_Public_OpublicKey(V_b, V_A2)), c_Message_OsymKeys, tc_nat)).
% 9.82/1.69    fof(cls_not__symKeys__pubK_0, axiom, ![V_A2, V_b2]: ~c_in(c_Public_OpublicKey(V_b2, V_A2), c_Message_OsymKeys, tc_nat)).
% 9.82/1.69    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)).
% 9.82/1.69    fof(cls_priK__neq__shrK_0, axiom, ![V_C, V_A2, V_b2]: c_Public_OshrK(V_A2)!=c_Message_OinvKey(c_Public_OpublicKey(V_b2, V_C))).
% 9.82/1.69    fof(cls_privateKey__neq__publicKey_0, axiom, ![V_A_H, V_A2, V_b2, V_c2]: c_Message_OinvKey(c_Public_OpublicKey(V_b2, V_A2))!=c_Public_OpublicKey(V_c2, V_A_H)).
% 9.82/1.69    fof(cls_pubK__neq__shrK_0, axiom, ![V_A2, V_b2, V_C2]: c_Public_OshrK(V_A2)!=c_Public_OpublicKey(V_b2, V_C2)).
% 9.82/1.69    fof(cls_publicKey__neq__privateKey_0, axiom, ![V_A2, V_b2, V_c2, V_A_H2]: c_Public_OpublicKey(V_c2, V_A_H2)!=c_Message_OinvKey(c_Public_OpublicKey(V_b2, V_A2))).
% 9.82/1.69    fof(cls_set__empty2_1, axiom, ![T_a2]: c_Orderings_Obot__class_Obot(tc_fun(T_a2, tc_bool))=c_List_Oset(c_List_Olist_ONil(T_a2), T_a2)).
% 9.82/1.69    fof(cls_shrK__neq__priK_0, axiom, ![V_A2, V_b2, V_C2]: c_Message_OinvKey(c_Public_OpublicKey(V_b2, V_C2))!=c_Public_OshrK(V_A2)).
% 9.82/1.69    fof(cls_shrK__neq__pubK_0, axiom, ![V_A2, V_b2, V_C2]: c_Public_OpublicKey(V_b2, V_C2)!=c_Public_OshrK(V_A2)).
% 9.82/1.69  
% 9.82/1.69  Now clausify the problem and encode Horn clauses using encoding 3 of
% 9.82/1.69  http://www.cse.chalmers.se/~nicsma/papers/horn.pdf.
% 9.82/1.69  We repeatedly replace C & s=t => u=v by the two clauses:
% 9.82/1.69    fresh(y, y, x1...xn) = u
% 9.82/1.69    C => fresh(s, t, x1...xn) = v
% 9.82/1.69  where fresh is a fresh function symbol and x1..xn are the free
% 9.82/1.69  variables of u and v.
% 9.82/1.69  A predicate p(X) is encoded as p(X)=true (this is sound, because the
% 9.82/1.69  input problem has no model of domain size 1).
% 9.82/1.69  
% 9.82/1.69  The encoding turns the above axioms into the following unit equations and goals:
% 9.82/1.69  
% 9.82/1.69  Axiom 1 (cls_set__empty2_1): c_Orderings_Obot__class_Obot(tc_fun(X, tc_bool)) = c_List_Oset(c_List_Olist_ONil(X), X).
% 9.82/1.69  Axiom 2 (cls_conjecture_3): c_in(c_Event_Oevent_OSays(v_A, v_B, c_Message_Omsg_OCrypt(v_K, c_Message_Omsg_OMPair(c_Message_Omsg_ONonce(v_NB), c_Message_Omsg_ONonce(v_NB)))), c_List_Oset(c_List_Olist_ONil(tc_Event_Oevent), tc_Event_Oevent), tc_Event_Oevent) = true2.
% 9.82/1.69  
% 9.82/1.69  Goal 1 (cls_emptyE_0): c_in(X, c_Orderings_Obot__class_Obot(tc_fun(Y, tc_bool)), Y) = true2.
% 9.82/1.69  The goal is true when:
% 9.82/1.69    X = c_Event_Oevent_OSays(v_A, v_B, c_Message_Omsg_OCrypt(v_K, c_Message_Omsg_OMPair(c_Message_Omsg_ONonce(v_NB), c_Message_Omsg_ONonce(v_NB))))
% 9.82/1.69    Y = tc_Event_Oevent
% 9.82/1.69  
% 9.82/1.69  Proof:
% 9.82/1.69    c_in(c_Event_Oevent_OSays(v_A, v_B, c_Message_Omsg_OCrypt(v_K, c_Message_Omsg_OMPair(c_Message_Omsg_ONonce(v_NB), c_Message_Omsg_ONonce(v_NB)))), c_Orderings_Obot__class_Obot(tc_fun(tc_Event_Oevent, tc_bool)), tc_Event_Oevent)
% 9.82/1.69  = { by axiom 1 (cls_set__empty2_1) }
% 9.82/1.69    c_in(c_Event_Oevent_OSays(v_A, v_B, c_Message_Omsg_OCrypt(v_K, c_Message_Omsg_OMPair(c_Message_Omsg_ONonce(v_NB), c_Message_Omsg_ONonce(v_NB)))), c_List_Oset(c_List_Olist_ONil(tc_Event_Oevent), tc_Event_Oevent), tc_Event_Oevent)
% 9.82/1.69  = { by axiom 2 (cls_conjecture_3) }
% 9.82/1.69    true2
% 9.82/1.69  % SZS output end Proof
% 9.82/1.69  
% 9.82/1.69  RESULT: Unsatisfiable (the axioms are contradictory).
%------------------------------------------------------------------------------