TPTP Axioms File: SWV005-2.ax


%------------------------------------------------------------------------------
% File     : SWV005-2 : TPTP v7.5.0. Released v3.2.0.
% Domain   : Software Verification
% Axioms   : Cryptographic protocol axioms for events
% Version  : [Pau06] axioms.
% English  :

% Refs     : [Pau06] Paulson (2006), Email to G. Sutcliffe
% Source   : [Pau06]
% Names    : Event-simp.ax [Pau06]

% Status   : Satisfiable
% Syntax   : Number of clauses     :  119 (  17 non-Horn;  57 unit;  78 RR)
%            Number of atoms       :  200 (  87 equality)
%            Maximal clause size   :    4 (   2 average)
%            Number of predicates  :    3 (   0 propositional; 2-3 arity)
%            Number of functors    :   35 (  10 constant; 0-3 arity)
%            Number of variables   :  324 ( 123 singleton)
%            Maximal term depth    :    5 (   2 average)
% SPC      : 

% Comments : Requires MSC001-0.ax, MSC001-1.ax, SWV005-0.ax
%------------------------------------------------------------------------------
cnf(cls_Event_OServer_A_58_Abad_A_61_61_AFalse_0,axiom,
    ( ~ c_in(c_Message_Oagent_OServer,c_Event_Obad,tc_Message_Oagent) )).

cnf(cls_Event_OSpy_A_58_Abad_A_61_61_ATrue_0,axiom,
    ( c_in(c_Message_Oagent_OSpy,c_Event_Obad,tc_Message_Oagent) )).

cnf(cls_Event_Oc_A_58_Aparts_A_Iknows_ASpy_Aevs1_J_A_61_61_62_Ac_A_58_Aused_Aevs1_0,axiom,
    ( ~ c_in(V_c,c_Message_Oparts(c_Event_Oknows(c_Message_Oagent_OSpy,V_evs)),tc_Message_Omsg)
    | c_in(V_c,c_Event_Oused(V_evs),tc_Message_Omsg) )).

cnf(cls_Event_Oevent_Odistinct__1_0,axiom,
    ( c_Event_Oevent_OSays(V_agent1,V_agent2,V_msg) != c_Event_Oevent_OGets(V_agent_H,V_msg_H) )).

cnf(cls_Event_Oevent_Odistinct__2_0,axiom,
    ( c_Event_Oevent_OGets(V_agent_H,V_msg_H) != c_Event_Oevent_OSays(V_agent1,V_agent2,V_msg) )).

cnf(cls_Event_Oevent_Odistinct__3_0,axiom,
    ( c_Event_Oevent_OSays(V_agent1,V_agent2,V_msg) != c_Event_Oevent_ONotes(V_agent_H,V_msg_H) )).

cnf(cls_Event_Oevent_Odistinct__4_0,axiom,
    ( c_Event_Oevent_ONotes(V_agent_H,V_msg_H) != c_Event_Oevent_OSays(V_agent1,V_agent2,V_msg) )).

cnf(cls_Event_Oevent_Odistinct__5_0,axiom,
    ( c_Event_Oevent_OGets(V_agent,V_msg) != c_Event_Oevent_ONotes(V_agent_H,V_msg_H) )).

cnf(cls_Event_Oevent_Odistinct__6_0,axiom,
    ( c_Event_Oevent_ONotes(V_agent_H,V_msg_H) != c_Event_Oevent_OGets(V_agent,V_msg) )).

cnf(cls_Event_Oevent_Oinject__1_0,axiom,
    ( c_Event_Oevent_OSays(V_agent1,V_agent2,V_msg) != c_Event_Oevent_OSays(V_agent1_H,V_agent2_H,V_msg_H)
    | V_agent1 = V_agent1_H )).

cnf(cls_Event_Oevent_Oinject__1_1,axiom,
    ( c_Event_Oevent_OSays(V_agent1,V_agent2,V_msg) != c_Event_Oevent_OSays(V_agent1_H,V_agent2_H,V_msg_H)
    | V_agent2 = V_agent2_H )).

cnf(cls_Event_Oevent_Oinject__1_2,axiom,
    ( c_Event_Oevent_OSays(V_agent1,V_agent2,V_msg) != c_Event_Oevent_OSays(V_agent1_H,V_agent2_H,V_msg_H)
    | V_msg = V_msg_H )).

cnf(cls_Event_Oevent_Oinject__2_0,axiom,
    ( c_Event_Oevent_OGets(V_agent,V_msg) != c_Event_Oevent_OGets(V_agent_H,V_msg_H)
    | V_agent = V_agent_H )).

cnf(cls_Event_Oevent_Oinject__2_1,axiom,
    ( c_Event_Oevent_OGets(V_agent,V_msg) != c_Event_Oevent_OGets(V_agent_H,V_msg_H)
    | V_msg = V_msg_H )).

cnf(cls_Event_Oevent_Oinject__3_0,axiom,
    ( c_Event_Oevent_ONotes(V_agent,V_msg) != c_Event_Oevent_ONotes(V_agent_H,V_msg_H)
    | V_agent = V_agent_H )).

cnf(cls_Event_Oevent_Oinject__3_1,axiom,
    ( c_Event_Oevent_ONotes(V_agent,V_msg) != c_Event_Oevent_ONotes(V_agent_H,V_msg_H)
    | V_msg = V_msg_H )).

cnf(cls_Event_Oevent_Osize__1_0,axiom,
    ( c_Nat_Osize(c_Event_Oevent_OSays(V_agent1,V_agent2,V_msg),tc_Event_Oevent) = c_0 )).

cnf(cls_Event_Oevent_Osize__2_0,axiom,
    ( c_Nat_Osize(c_Event_Oevent_OGets(V_agent,V_msg),tc_Event_Oevent) = c_0 )).

cnf(cls_Event_Oevent_Osize__3_0,axiom,
    ( c_Nat_Osize(c_Event_Oevent_ONotes(V_agent,V_msg),tc_Event_Oevent) = c_0 )).

cnf(cls_Event_OkeysFor__synth_H_0,axiom,
    ( ~ c_in(V_K,c_Message_OkeysFor(c_Message_Osynth(V_H)),tc_nat)
    | c_in(V_K,c_Message_OkeysFor(V_H),tc_nat)
    | c_in(c_Message_Omsg_OKey(v_sko__uhi(V_H,V_K)),V_H,tc_Message_Omsg) )).

cnf(cls_Event_OkeysFor__synth_H_1,axiom,
    ( ~ c_in(V_K,c_Message_OkeysFor(c_Message_Osynth(V_H)),tc_nat)
    | c_in(V_K,c_Message_OkeysFor(V_H),tc_nat)
    | V_K = c_Message_OinvKey(v_sko__uhi(V_H,V_K)) )).

cnf(cls_Event_OkeysFor__synth_H_2,axiom,
    ( ~ c_in(V_K,c_Message_OkeysFor(V_H),tc_nat)
    | c_in(V_K,c_Message_OkeysFor(c_Message_Osynth(V_H)),tc_nat) )).

cnf(cls_Event_OkeysFor__synth_H_3,axiom,
    ( ~ c_in(c_Message_Omsg_OKey(V_U),V_H,tc_Message_Omsg)
    | c_in(c_Message_OinvKey(V_U),c_Message_OkeysFor(c_Message_Osynth(V_H)),tc_nat) )).

cnf(cls_Event_Oknows_Oknows__Nil_0,axiom,
    ( c_Event_Oknows(V_A,c_List_Olist_ONil) = c_Event_OinitState(V_A) )).

cnf(cls_Event_Oknows__Spy__Gets_0,axiom,
    ( c_Event_Oknows(c_Message_Oagent_OSpy,c_List_Olist_OCons(c_Event_Oevent_OGets(V_A,V_X),V_evs,tc_Event_Oevent)) = c_Event_Oknows(c_Message_Oagent_OSpy,V_evs) )).

cnf(cls_Event_Oknows__Spy__Notes_0,axiom,
    ( ~ c_in(V_A,c_Event_Obad,tc_Message_Oagent)
    | c_Event_Oknows(c_Message_Oagent_OSpy,c_List_Olist_OCons(c_Event_Oevent_ONotes(V_A,V_X),V_evs,tc_Event_Oevent)) = c_insert(V_X,c_Event_Oknows(c_Message_Oagent_OSpy,V_evs),tc_Message_Omsg) )).

cnf(cls_Event_Oknows__Spy__Notes_1,axiom,
    ( c_in(V_A,c_Event_Obad,tc_Message_Oagent)
    | c_Event_Oknows(c_Message_Oagent_OSpy,c_List_Olist_OCons(c_Event_Oevent_ONotes(V_A,V_X),V_evs,tc_Event_Oevent)) = c_Event_Oknows(c_Message_Oagent_OSpy,V_evs) )).

cnf(cls_Event_Oknows__Spy__Says_0,axiom,
    ( c_Event_Oknows(c_Message_Oagent_OSpy,c_List_Olist_OCons(c_Event_Oevent_OSays(V_A,V_B,V_X),V_evs,tc_Event_Oevent)) = c_insert(V_X,c_Event_Oknows(c_Message_Oagent_OSpy,V_evs),tc_Message_Omsg) )).

cnf(cls_Event_Oused__Gets_0,axiom,
    ( c_Event_Oused(c_List_Olist_OCons(c_Event_Oevent_OGets(V_A,V_X),V_evs,tc_Event_Oevent)) = c_Event_Oused(V_evs) )).

cnf(cls_Event_Oused__Notes_0,axiom,
    ( c_Event_Oused(c_List_Olist_OCons(c_Event_Oevent_ONotes(V_A,V_X),V_evs,tc_Event_Oevent)) = c_union(c_Message_Oparts(c_insert(V_X,c_emptyset,tc_Message_Omsg)),c_Event_Oused(V_evs),tc_Message_Omsg) )).

cnf(cls_Event_Oused__Says_0,axiom,
    ( c_Event_Oused(c_List_Olist_OCons(c_Event_Oevent_OSays(V_A,V_B,V_X),V_evs,tc_Event_Oevent)) = c_union(c_Message_Oparts(c_insert(V_X,c_emptyset,tc_Message_Omsg)),c_Event_Oused(V_evs),tc_Message_Omsg) )).

cnf(cls_Message_OAgent__synth_0,axiom,
    ( c_in(c_Message_Omsg_OAgent(V_A),c_Message_Osynth(V_H),tc_Message_Omsg) )).

cnf(cls_Message_OCrypt__synth_1,axiom,
    ( ~ c_in(c_Message_Omsg_OCrypt(V_K,V_X),c_Message_Osynth(V_H),tc_Message_Omsg)
    | c_in(V_X,c_Message_Osynth(V_H),tc_Message_Omsg)
    | c_in(c_Message_Omsg_OCrypt(V_K,V_X),V_H,tc_Message_Omsg) )).

cnf(cls_Message_OCrypt__synth__eq_0,axiom,
    ( ~ c_in(c_Message_Omsg_OCrypt(V_K,V_X),c_Message_Osynth(V_H),tc_Message_Omsg)
    | c_in(c_Message_Omsg_OCrypt(V_K,V_X),V_H,tc_Message_Omsg)
    | c_in(c_Message_Omsg_OKey(V_K),V_H,tc_Message_Omsg) )).

cnf(cls_Message_OCrypt__synth__eq_1,axiom,
    ( ~ c_in(c_Message_Omsg_OCrypt(V_K,V_X),V_H,tc_Message_Omsg)
    | c_in(c_Message_Omsg_OCrypt(V_K,V_X),c_Message_Osynth(V_H),tc_Message_Omsg)
    | c_in(c_Message_Omsg_OKey(V_K),V_H,tc_Message_Omsg) )).

cnf(cls_Message_OFake__analz__eq_0,axiom,
    ( ~ c_in(V_X,c_Message_Osynth(c_Message_Oanalz(V_H)),tc_Message_Omsg)
    | c_Message_Osynth(c_Message_Oanalz(c_insert(V_X,V_H,tc_Message_Omsg))) = c_Message_Osynth(c_Message_Oanalz(V_H)) )).

cnf(cls_Message_OHPair__eq_0,axiom,
    ( c_Message_OHPair(V_X_H,V_Y_H) != c_Message_OHPair(V_X,V_Y)
    | V_X_H = V_X )).

cnf(cls_Message_OHPair__eq_1,axiom,
    ( c_Message_OHPair(V_X_H,V_Y_H) != c_Message_OHPair(V_X,V_Y)
    | V_Y_H = V_Y )).

cnf(cls_Message_OHPair__eq__MPair_0,axiom,
    ( c_Message_OHPair(V_X,V_Y) != c_Message_Omsg_OMPair(V_X_H,V_Y_H)
    | V_X_H = c_Message_Omsg_OHash(c_Message_Omsg_OMPair(V_X,V_Y)) )).

cnf(cls_Message_OHPair__eq__MPair_1,axiom,
    ( c_Message_OHPair(V_X,V_Y) != c_Message_Omsg_OMPair(V_X_H,V_Y_H)
    | V_Y_H = V_Y )).

cnf(cls_Message_OHPair__eq__MPair_2,axiom,
    ( c_Message_OHPair(V_X,V_x) = c_Message_Omsg_OMPair(c_Message_Omsg_OHash(c_Message_Omsg_OMPair(V_X,V_x)),V_x) )).

cnf(cls_Message_OHPair__neqs__1_0,axiom,
    ( c_Message_Omsg_OAgent(V_A) != c_Message_OHPair(V_X,V_Y) )).

cnf(cls_Message_OHPair__neqs__2_0,axiom,
    ( c_Message_Omsg_ONonce(V_N) != c_Message_OHPair(V_X,V_Y) )).

cnf(cls_Message_OHPair__neqs__3_0,axiom,
    ( c_Message_Omsg_ONumber(V_N) != c_Message_OHPair(V_X,V_Y) )).

cnf(cls_Message_OHPair__neqs__4_0,axiom,
    ( c_Message_Omsg_OKey(V_K) != c_Message_OHPair(V_X,V_Y) )).

cnf(cls_Message_OHPair__neqs__5_0,axiom,
    ( c_Message_Omsg_OHash(V_Z) != c_Message_OHPair(V_X,V_Y) )).

cnf(cls_Message_OHPair__neqs__6_0,axiom,
    ( c_Message_Omsg_OCrypt(V_K,V_X_H) != c_Message_OHPair(V_X,V_Y) )).

cnf(cls_Message_OHPair__synth__analz_0,axiom,
    ( ~ c_in(c_Message_OHPair(V_X,V_Y),c_Message_Osynth(c_Message_Oanalz(V_H)),tc_Message_Omsg)
    | c_in(V_X,c_Message_Osynth(c_Message_Oanalz(V_H)),tc_Message_Omsg)
    | c_in(c_Message_Omsg_OHash(c_Message_Omsg_OMPair(V_X,V_Y)),c_Message_Oanalz(V_H),tc_Message_Omsg) )).

cnf(cls_Message_OHPair__synth__analz_1,axiom,
    ( ~ c_in(c_Message_OHPair(V_X,V_Y),c_Message_Osynth(c_Message_Oanalz(V_H)),tc_Message_Omsg)
    | c_in(V_Y,c_Message_Osynth(c_Message_Oanalz(V_H)),tc_Message_Omsg)
    | c_in(V_X,c_Message_Osynth(c_Message_Oanalz(V_H)),tc_Message_Omsg) )).

cnf(cls_Message_OHPair__synth__analz_2,axiom,
    ( ~ c_in(V_Y,c_Message_Osynth(c_Message_Oanalz(V_H)),tc_Message_Omsg)
    | ~ c_in(c_Message_Omsg_OHash(c_Message_Omsg_OMPair(V_X,V_Y)),c_Message_Oanalz(V_H),tc_Message_Omsg)
    | c_in(V_X,c_Message_Osynth(c_Message_Oanalz(V_H)),tc_Message_Omsg)
    | c_in(c_Message_OHPair(V_X,V_Y),c_Message_Osynth(c_Message_Oanalz(V_H)),tc_Message_Omsg) )).

cnf(cls_Message_OHash_91X2_93_AY2_A_61_AAgent_AA2_A_61_61_AFalse_0,axiom,
    ( c_Message_OHPair(V_X,V_Y) != c_Message_Omsg_OAgent(V_A) )).

cnf(cls_Message_OHash_91X2_93_AY2_A_61_ACrypt_AK2_AX_H2_A_61_61_AFalse_0,axiom,
    ( c_Message_OHPair(V_X,V_Y) != c_Message_Omsg_OCrypt(V_K,V_X_H) )).

cnf(cls_Message_OHash_91X2_93_AY2_A_61_AHash_AZ2_A_61_61_AFalse_0,axiom,
    ( c_Message_OHPair(V_X,V_Y) != c_Message_Omsg_OHash(V_Z) )).

cnf(cls_Message_OHash_91X2_93_AY2_A_61_AKey_AK2_A_61_61_AFalse_0,axiom,
    ( c_Message_OHPair(V_X,V_Y) != c_Message_Omsg_OKey(V_K) )).

cnf(cls_Message_OHash_91X2_93_AY2_A_61_ANonce_AN2_A_61_61_AFalse_0,axiom,
    ( c_Message_OHPair(V_X,V_Y) != c_Message_Omsg_ONonce(V_N) )).

cnf(cls_Message_OHash_91X2_93_AY2_A_61_ANumber_AN2_A_61_61_AFalse_0,axiom,
    ( c_Message_OHPair(V_X,V_Y) != c_Message_Omsg_ONumber(V_N) )).

cnf(cls_Message_OHash__synth_0,axiom,
    ( ~ c_in(c_Message_Omsg_OHash(V_X),c_Message_Osynth(V_H),tc_Message_Omsg)
    | c_in(V_X,c_Message_Osynth(V_H),tc_Message_Omsg)
    | c_in(c_Message_Omsg_OHash(V_X),V_H,tc_Message_Omsg) )).

cnf(cls_Message_OHash__synth__analz_0,axiom,
    ( ~ c_in(c_Message_Omsg_OHash(c_Message_Omsg_OMPair(V_X,V_Y)),c_Message_Osynth(c_Message_Oanalz(V_H)),tc_Message_Omsg)
    | c_in(V_X,c_Message_Osynth(c_Message_Oanalz(V_H)),tc_Message_Omsg)
    | c_in(c_Message_Omsg_OHash(c_Message_Omsg_OMPair(V_X,V_Y)),c_Message_Oanalz(V_H),tc_Message_Omsg) )).

cnf(cls_Message_OHash__synth__analz_1,axiom,
    ( ~ c_in(c_Message_Omsg_OHash(c_Message_Omsg_OMPair(V_X,V_Y)),c_Message_Oanalz(V_H),tc_Message_Omsg)
    | c_in(V_X,c_Message_Osynth(c_Message_Oanalz(V_H)),tc_Message_Omsg)
    | c_in(c_Message_Omsg_OHash(c_Message_Omsg_OMPair(V_X,V_Y)),c_Message_Osynth(c_Message_Oanalz(V_H)),tc_Message_Omsg) )).

cnf(cls_Message_OKey__synth__eq_0,axiom,
    ( ~ c_in(c_Message_Omsg_OKey(V_K),c_Message_Osynth(V_H),tc_Message_Omsg)
    | c_in(c_Message_Omsg_OKey(V_K),V_H,tc_Message_Omsg) )).

cnf(cls_Message_OKey__synth__eq_1,axiom,
    ( ~ c_in(c_Message_Omsg_OKey(V_K),V_H,tc_Message_Omsg)
    | c_in(c_Message_Omsg_OKey(V_K),c_Message_Osynth(V_H),tc_Message_Omsg) )).

cnf(cls_Message_OMPair__analz_0,axiom,
    ( ~ c_in(c_Message_Omsg_OMPair(V_X,V_Y),c_Message_Oanalz(V_H),tc_Message_Omsg)
    | c_in(V_Y,c_Message_Oanalz(V_H),tc_Message_Omsg) )).

cnf(cls_Message_OMPair__analz_1,axiom,
    ( ~ c_in(c_Message_Omsg_OMPair(V_X,V_Y),c_Message_Oanalz(V_H),tc_Message_Omsg)
    | c_in(V_X,c_Message_Oanalz(V_H),tc_Message_Omsg) )).

cnf(cls_Message_OMPair__eq__HPair_0,axiom,
    ( c_Message_Omsg_OMPair(V_X_H,V_Y_H) != c_Message_OHPair(V_X,V_Y)
    | V_X_H = c_Message_Omsg_OHash(c_Message_Omsg_OMPair(V_X,V_Y)) )).

cnf(cls_Message_OMPair__eq__HPair_1,axiom,
    ( c_Message_Omsg_OMPair(V_X_H,V_Y_H) != c_Message_OHPair(V_X,V_Y)
    | V_Y_H = V_Y )).

cnf(cls_Message_OMPair__eq__HPair_2,axiom,
    ( c_Message_Omsg_OMPair(c_Message_Omsg_OHash(c_Message_Omsg_OMPair(V_X,V_x)),V_x) = c_Message_OHPair(V_X,V_x) )).

cnf(cls_Message_OMPair__synth_0,axiom,
    ( ~ c_in(c_Message_Omsg_OMPair(V_X,V_Y),c_Message_Osynth(V_H),tc_Message_Omsg)
    | c_in(V_Y,c_Message_Osynth(V_H),tc_Message_Omsg)
    | c_in(c_Message_Omsg_OMPair(V_X,V_Y),V_H,tc_Message_Omsg) )).

cnf(cls_Message_OMPair__synth_1,axiom,
    ( ~ c_in(c_Message_Omsg_OMPair(V_X,V_Y),c_Message_Osynth(V_H),tc_Message_Omsg)
    | c_in(V_X,c_Message_Osynth(V_H),tc_Message_Omsg)
    | c_in(c_Message_Omsg_OMPair(V_X,V_Y),V_H,tc_Message_Omsg) )).

cnf(cls_Message_OMPair__synth__analz_0,axiom,
    ( ~ c_in(c_Message_Omsg_OMPair(V_X,V_Y),c_Message_Osynth(c_Message_Oanalz(V_H)),tc_Message_Omsg)
    | c_in(V_X,c_Message_Osynth(c_Message_Oanalz(V_H)),tc_Message_Omsg) )).

cnf(cls_Message_OMPair__synth__analz_1,axiom,
    ( ~ c_in(c_Message_Omsg_OMPair(V_X,V_Y),c_Message_Osynth(c_Message_Oanalz(V_H)),tc_Message_Omsg)
    | c_in(V_Y,c_Message_Osynth(c_Message_Oanalz(V_H)),tc_Message_Omsg) )).

cnf(cls_Message_OMPair__synth__analz_2,axiom,
    ( ~ c_in(V_Y,c_Message_Osynth(c_Message_Oanalz(V_H)),tc_Message_Omsg)
    | ~ c_in(V_X,c_Message_Osynth(c_Message_Oanalz(V_H)),tc_Message_Omsg)
    | c_in(c_Message_Omsg_OMPair(V_X,V_Y),c_Message_Osynth(c_Message_Oanalz(V_H)),tc_Message_Omsg) )).

cnf(cls_Message_ONonce__synth__eq_0,axiom,
    ( ~ c_in(c_Message_Omsg_ONonce(V_N),c_Message_Osynth(V_H),tc_Message_Omsg)
    | c_in(c_Message_Omsg_ONonce(V_N),V_H,tc_Message_Omsg) )).

cnf(cls_Message_ONonce__synth__eq_1,axiom,
    ( ~ c_in(c_Message_Omsg_ONonce(V_N),V_H,tc_Message_Omsg)
    | c_in(c_Message_Omsg_ONonce(V_N),c_Message_Osynth(V_H),tc_Message_Omsg) )).

cnf(cls_Message_ONumber__synth_0,axiom,
    ( c_in(c_Message_Omsg_ONumber(V_n),c_Message_Osynth(V_H),tc_Message_Omsg) )).

cnf(cls_Message_Oanalz_ODecrypt__dest_0,axiom,
    ( ~ c_in(c_Message_Omsg_OCrypt(V_K,V_X),c_Message_Oanalz(V_H),tc_Message_Omsg)
    | ~ c_in(c_Message_Omsg_OKey(c_Message_OinvKey(V_K)),c_Message_Oanalz(V_H),tc_Message_Omsg)
    | c_in(V_X,c_Message_Oanalz(V_H),tc_Message_Omsg) )).

cnf(cls_Message_Oanalz_OInj_0,axiom,
    ( ~ c_in(V_X,V_H,tc_Message_Omsg)
    | c_in(V_X,c_Message_Oanalz(V_H),tc_Message_Omsg) )).

cnf(cls_Message_Oanalz__Crypt__if_0,axiom,
    ( ~ c_in(c_Message_Omsg_OKey(c_Message_OinvKey(V_K)),c_Message_Oanalz(V_H),tc_Message_Omsg)
    | c_Message_Oanalz(c_insert(c_Message_Omsg_OCrypt(V_K,V_X),V_H,tc_Message_Omsg)) = c_insert(c_Message_Omsg_OCrypt(V_K,V_X),c_Message_Oanalz(c_insert(V_X,V_H,tc_Message_Omsg)),tc_Message_Omsg) )).

cnf(cls_Message_Oanalz__Crypt__if_1,axiom,
    ( c_in(c_Message_Omsg_OKey(c_Message_OinvKey(V_K)),c_Message_Oanalz(V_H),tc_Message_Omsg)
    | c_Message_Oanalz(c_insert(c_Message_Omsg_OCrypt(V_K,V_X),V_H,tc_Message_Omsg)) = c_insert(c_Message_Omsg_OCrypt(V_K,V_X),c_Message_Oanalz(V_H),tc_Message_Omsg) )).

cnf(cls_Message_Oanalz__analzD__dest_0,axiom,
    ( ~ c_in(V_X,c_Message_Oanalz(c_Message_Oanalz(V_H)),tc_Message_Omsg)
    | c_in(V_X,c_Message_Oanalz(V_H),tc_Message_Omsg) )).

cnf(cls_Message_Oanalz__analz__Un_0,axiom,
    ( c_Message_Oanalz(c_union(c_Message_Oanalz(V_G),V_H,tc_Message_Omsg)) = c_Message_Oanalz(c_union(V_G,V_H,tc_Message_Omsg)) )).

cnf(cls_Message_Oanalz__conj__parts_0,axiom,
    ( ~ c_in(V_X,c_Message_Oanalz(V_H),tc_Message_Omsg)
    | c_in(V_X,c_Message_Oparts(V_H),tc_Message_Omsg) )).

cnf(cls_Message_Oanalz__empty_0,axiom,
    ( c_Message_Oanalz(c_emptyset) = c_emptyset )).

cnf(cls_Message_Oanalz__idem_0,axiom,
    ( c_Message_Oanalz(c_Message_Oanalz(V_H)) = c_Message_Oanalz(V_H) )).

cnf(cls_Message_Oanalz__insert__Agent_0,axiom,
    ( c_Message_Oanalz(c_insert(c_Message_Omsg_OAgent(V_agt),V_H,tc_Message_Omsg)) = c_insert(c_Message_Omsg_OAgent(V_agt),c_Message_Oanalz(V_H),tc_Message_Omsg) )).

cnf(cls_Message_Oanalz__insert__HPair_0,axiom,
    ( c_Message_Oanalz(c_insert(c_Message_OHPair(V_X,V_Y),V_H,tc_Message_Omsg)) = c_insert(c_Message_OHPair(V_X,V_Y),c_insert(c_Message_Omsg_OHash(c_Message_Omsg_OMPair(V_X,V_Y)),c_Message_Oanalz(c_insert(V_Y,V_H,tc_Message_Omsg)),tc_Message_Omsg),tc_Message_Omsg) )).

cnf(cls_Message_Oanalz__insert__Hash_0,axiom,
    ( c_Message_Oanalz(c_insert(c_Message_Omsg_OHash(V_X),V_H,tc_Message_Omsg)) = c_insert(c_Message_Omsg_OHash(V_X),c_Message_Oanalz(V_H),tc_Message_Omsg) )).

cnf(cls_Message_Oanalz__insert__Key_0,axiom,
    ( c_in(V_K,c_Message_OkeysFor(c_Message_Oanalz(V_H)),tc_nat)
    | c_Message_Oanalz(c_insert(c_Message_Omsg_OKey(V_K),V_H,tc_Message_Omsg)) = c_insert(c_Message_Omsg_OKey(V_K),c_Message_Oanalz(V_H),tc_Message_Omsg) )).

cnf(cls_Message_Oanalz__insert__MPair_0,axiom,
    ( c_Message_Oanalz(c_insert(c_Message_Omsg_OMPair(V_X,V_Y),V_H,tc_Message_Omsg)) = c_insert(c_Message_Omsg_OMPair(V_X,V_Y),c_Message_Oanalz(c_insert(V_X,c_insert(V_Y,V_H,tc_Message_Omsg),tc_Message_Omsg)),tc_Message_Omsg) )).

cnf(cls_Message_Oanalz__insert__Nonce_0,axiom,
    ( c_Message_Oanalz(c_insert(c_Message_Omsg_ONonce(V_N),V_H,tc_Message_Omsg)) = c_insert(c_Message_Omsg_ONonce(V_N),c_Message_Oanalz(V_H),tc_Message_Omsg) )).

cnf(cls_Message_Oanalz__insert__Number_0,axiom,
    ( c_Message_Oanalz(c_insert(c_Message_Omsg_ONumber(V_N),V_H,tc_Message_Omsg)) = c_insert(c_Message_Omsg_ONumber(V_N),c_Message_Oanalz(V_H),tc_Message_Omsg) )).

cnf(cls_Message_Oanalz__parts_0,axiom,
    ( c_Message_Oanalz(c_Message_Oparts(V_H)) = c_Message_Oparts(V_H) )).

cnf(cls_Message_Oanalz__subset__iff_0,axiom,
    ( ~ c_lessequals(c_Message_Oanalz(V_G),c_Message_Oanalz(V_H),tc_set(tc_Message_Omsg))
    | c_lessequals(V_G,c_Message_Oanalz(V_H),tc_set(tc_Message_Omsg)) )).

cnf(cls_Message_Oanalz__subset__iff_1,axiom,
    ( ~ c_lessequals(V_G,c_Message_Oanalz(V_H),tc_set(tc_Message_Omsg))
    | c_lessequals(c_Message_Oanalz(V_G),c_Message_Oanalz(V_H),tc_set(tc_Message_Omsg)) )).

cnf(cls_Message_Oanalz__synth_0,axiom,
    ( c_Message_Oanalz(c_Message_Osynth(V_H)) = c_union(c_Message_Oanalz(V_H),c_Message_Osynth(V_H),tc_Message_Omsg) )).

cnf(cls_Message_Oanalz__synth__Un_0,axiom,
    ( c_Message_Oanalz(c_union(c_Message_Osynth(V_G),V_H,tc_Message_Omsg)) = c_union(c_Message_Oanalz(c_union(V_G,V_H,tc_Message_Omsg)),c_Message_Osynth(V_G),tc_Message_Omsg) )).

cnf(cls_Message_Oin__parts__UnE_0,axiom,
    ( ~ c_in(V_c,c_Message_Oparts(c_union(V_G,V_H,tc_Message_Omsg)),tc_Message_Omsg)
    | c_in(V_c,c_Message_Oparts(V_H),tc_Message_Omsg)
    | c_in(V_c,c_Message_Oparts(V_G),tc_Message_Omsg) )).

cnf(cls_Message_OkeysFor__insert__HPair_0,axiom,
    ( c_Message_OkeysFor(c_insert(c_Message_OHPair(V_X,V_Y),V_H,tc_Message_Omsg)) = c_Message_OkeysFor(V_H) )).

cnf(cls_Message_Oparts__analz_0,axiom,
    ( c_Message_Oparts(c_Message_Oanalz(V_H)) = c_Message_Oparts(V_H) )).

cnf(cls_Message_Oparts__cut__eq_0,axiom,
    ( ~ c_in(V_X,c_Message_Oparts(V_H),tc_Message_Omsg)
    | c_Message_Oparts(c_insert(V_X,V_H,tc_Message_Omsg)) = c_Message_Oparts(V_H) )).

cnf(cls_Message_Oparts__idem_0,axiom,
    ( c_Message_Oparts(c_Message_Oparts(V_H)) = c_Message_Oparts(V_H) )).

cnf(cls_Message_Oparts__insert__Agent_0,axiom,
    ( c_Message_Oparts(c_insert(c_Message_Omsg_OAgent(V_agt),V_H,tc_Message_Omsg)) = c_insert(c_Message_Omsg_OAgent(V_agt),c_Message_Oparts(V_H),tc_Message_Omsg) )).

cnf(cls_Message_Oparts__insert__Crypt_0,axiom,
    ( c_Message_Oparts(c_insert(c_Message_Omsg_OCrypt(V_K,V_X),V_H,tc_Message_Omsg)) = c_insert(c_Message_Omsg_OCrypt(V_K,V_X),c_Message_Oparts(c_insert(V_X,V_H,tc_Message_Omsg)),tc_Message_Omsg) )).

cnf(cls_Message_Oparts__insert__HPair_0,axiom,
    ( c_Message_Oparts(c_insert(c_Message_OHPair(V_X,V_Y),V_H,tc_Message_Omsg)) = c_insert(c_Message_OHPair(V_X,V_Y),c_insert(c_Message_Omsg_OHash(c_Message_Omsg_OMPair(V_X,V_Y)),c_Message_Oparts(c_insert(V_Y,V_H,tc_Message_Omsg)),tc_Message_Omsg),tc_Message_Omsg) )).

cnf(cls_Message_Oparts__insert__Hash_0,axiom,
    ( c_Message_Oparts(c_insert(c_Message_Omsg_OHash(V_X),V_H,tc_Message_Omsg)) = c_insert(c_Message_Omsg_OHash(V_X),c_Message_Oparts(V_H),tc_Message_Omsg) )).

cnf(cls_Message_Oparts__insert__Key_0,axiom,
    ( c_Message_Oparts(c_insert(c_Message_Omsg_OKey(V_K),V_H,tc_Message_Omsg)) = c_insert(c_Message_Omsg_OKey(V_K),c_Message_Oparts(V_H),tc_Message_Omsg) )).

cnf(cls_Message_Oparts__insert__MPair_0,axiom,
    ( c_Message_Oparts(c_insert(c_Message_Omsg_OMPair(V_X,V_Y),V_H,tc_Message_Omsg)) = c_insert(c_Message_Omsg_OMPair(V_X,V_Y),c_Message_Oparts(c_insert(V_X,c_insert(V_Y,V_H,tc_Message_Omsg),tc_Message_Omsg)),tc_Message_Omsg) )).

cnf(cls_Message_Oparts__insert__Nonce_0,axiom,
    ( c_Message_Oparts(c_insert(c_Message_Omsg_ONonce(V_N),V_H,tc_Message_Omsg)) = c_insert(c_Message_Omsg_ONonce(V_N),c_Message_Oparts(V_H),tc_Message_Omsg) )).

cnf(cls_Message_Oparts__insert__Number_0,axiom,
    ( c_Message_Oparts(c_insert(c_Message_Omsg_ONumber(V_N),V_H,tc_Message_Omsg)) = c_insert(c_Message_Omsg_ONumber(V_N),c_Message_Oparts(V_H),tc_Message_Omsg) )).

cnf(cls_Message_Oparts__partsD__dest_0,axiom,
    ( ~ c_in(V_X,c_Message_Oparts(c_Message_Oparts(V_H)),tc_Message_Omsg)
    | c_in(V_X,c_Message_Oparts(V_H),tc_Message_Omsg) )).

cnf(cls_Message_Oparts__subset__iff_0,axiom,
    ( ~ c_lessequals(c_Message_Oparts(V_G),c_Message_Oparts(V_H),tc_set(tc_Message_Omsg))
    | c_lessequals(V_G,c_Message_Oparts(V_H),tc_set(tc_Message_Omsg)) )).

cnf(cls_Message_Oparts__subset__iff_1,axiom,
    ( ~ c_lessequals(V_G,c_Message_Oparts(V_H),tc_set(tc_Message_Omsg))
    | c_lessequals(c_Message_Oparts(V_G),c_Message_Oparts(V_H),tc_set(tc_Message_Omsg)) )).

cnf(cls_Message_Oparts__synth_0,axiom,
    ( c_Message_Oparts(c_Message_Osynth(V_H)) = c_union(c_Message_Oparts(V_H),c_Message_Osynth(V_H),tc_Message_Omsg) )).

cnf(cls_Message_Osynth_OCrypt_0,axiom,
    ( ~ c_in(V_X,c_Message_Osynth(V_H),tc_Message_Omsg)
    | ~ c_in(c_Message_Omsg_OKey(V_K),V_H,tc_Message_Omsg)
    | c_in(c_Message_Omsg_OCrypt(V_K,V_X),c_Message_Osynth(V_H),tc_Message_Omsg) )).

cnf(cls_Message_Osynth_OHash_0,axiom,
    ( ~ c_in(V_X,c_Message_Osynth(V_H),tc_Message_Omsg)
    | c_in(c_Message_Omsg_OHash(V_X),c_Message_Osynth(V_H),tc_Message_Omsg) )).

cnf(cls_Message_Osynth_OInj_0,axiom,
    ( ~ c_in(V_X,V_H,tc_Message_Omsg)
    | c_in(V_X,c_Message_Osynth(V_H),tc_Message_Omsg) )).

cnf(cls_Message_Osynth_OMPair_0,axiom,
    ( ~ c_in(V_Y,c_Message_Osynth(V_H),tc_Message_Omsg)
    | ~ c_in(V_X,c_Message_Osynth(V_H),tc_Message_Omsg)
    | c_in(c_Message_Omsg_OMPair(V_X,V_Y),c_Message_Osynth(V_H),tc_Message_Omsg) )).

cnf(cls_Message_Osynth__subset__iff_0,axiom,
    ( ~ c_lessequals(c_Message_Osynth(V_G),c_Message_Osynth(V_H),tc_set(tc_Message_Omsg))
    | c_lessequals(V_G,c_Message_Osynth(V_H),tc_set(tc_Message_Omsg)) )).

cnf(cls_Message_Osynth__subset__iff_1,axiom,
    ( ~ c_lessequals(V_G,c_Message_Osynth(V_H),tc_set(tc_Message_Omsg))
    | c_lessequals(c_Message_Osynth(V_G),c_Message_Osynth(V_H),tc_set(tc_Message_Omsg)) )).

cnf(cls_Message_Osynth__synthD__dest_0,axiom,
    ( ~ c_in(V_X,c_Message_Osynth(c_Message_Osynth(V_H)),tc_Message_Omsg)
    | c_in(V_X,c_Message_Osynth(V_H),tc_Message_Omsg) )).

%------------------------------------------------------------------------------