%------------------------------------------------------------------------------
% File : CSE_E---1.7
% Problem : SWV015+1 : TPTP v9.2.1. Released v2.4.0.
% Transfm : none
% Format : tptp:raw
% Command : /export/starexec/sandbox/solver/bin/lemma_parallel_prover %s --lemma-prover /export/starexec/sandbox/solver/bin/cse --final-prover /export/starexec/sandbox/solver/bin/eprover --proof-time %d --global-time-limit %d
% Computer : n018.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 : Tue May 5 05:20:36 PM UTC 2026
% Result : Satisfiable 1.32s 1.74s
% Output : Saturation 1.32s
% Verified :
% SZS Type : ERROR: Analysing output (MakeTreeStats fails)
% Comments :
%------------------------------------------------------------------------------
fof(server_t_generates_key,axiom,
! [X1,X2,X3,X4,X5,X6,X7] :
( ( message(sent(X1,t,triple(X1,X2,encrypt(triple(X3,X4,X5),X6))))
& t_holds(key(X6,X1))
& t_holds(key(X7,X3))
& a_nonce(X4) )
=> message(sent(t,X3,triple(encrypt(quadruple(X1,X4,generate_key(X4),X5),X7),encrypt(triple(X3,generate_key(X4),X5),X6),X2))) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',server_t_generates_key) ).
fof(b_creates_freash_nonces_in_time,axiom,
! [X1,X2] :
( ( message(sent(X1,b,pair(X1,X2)))
& fresh_to_b(X2) )
=> ( message(sent(b,t,triple(b,generate_b_nonce(X2),encrypt(triple(X1,X2,generate_expiration_time(X2)),bt))))
& b_stored(pair(X1,X2)) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',b_creates_freash_nonces_in_time) ).
fof(intruder_message_sent,axiom,
! [X1,X2,X3] :
( ( intruder_message(X1)
& party_of_protocol(X2)
& party_of_protocol(X3) )
=> message(sent(X2,X3,X1)) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_message_sent) ).
fof(t_holds_key_bt_for_b,axiom,
t_holds(key(bt,b)),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',t_holds_key_bt_for_b) ).
fof(intruder_can_record,axiom,
! [X1,X2,X3] :
( message(sent(X1,X2,X3))
=> intruder_message(X3) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_can_record) ).
fof(a_sent_message_i_to_b,axiom,
message(sent(a,b,pair(a,an_a_nonce))),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',a_sent_message_i_to_b) ).
fof(nonce_a_is_fresh_to_b,axiom,
fresh_to_b(an_a_nonce),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',nonce_a_is_fresh_to_b) ).
fof(b_is_party_of_protocol,axiom,
party_of_protocol(b),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',b_is_party_of_protocol) ).
fof(intruder_composes_pairs,axiom,
! [X1,X2] :
( ( intruder_message(X1)
& intruder_message(X2) )
=> intruder_message(pair(X1,X2)) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_composes_pairs) ).
fof(t_holds_key_at_for_a,axiom,
t_holds(key(at,a)),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',t_holds_key_at_for_a) ).
fof(intruder_decomposes_triples,axiom,
! [X1,X2,X3] :
( intruder_message(triple(X1,X2,X3))
=> ( intruder_message(X1)
& intruder_message(X2)
& intruder_message(X3) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_decomposes_triples) ).
fof(a_forwards_secure,axiom,
! [X1,X2,X3,X4,X5,X6] :
( ( message(sent(t,a,triple(encrypt(quadruple(X5,X6,X3,X2),at),X4,X1)))
& a_stored(pair(X5,X6)) )
=> ( message(sent(a,X5,pair(X4,encrypt(X1,X3))))
& a_holds(key(X3,X5)) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',a_forwards_secure) ).
fof(b_accepts_secure_session_key,axiom,
! [X2,X4,X5] :
( ( message(sent(X4,b,pair(encrypt(triple(X4,X2,generate_expiration_time(X5)),bt),encrypt(generate_b_nonce(X5),X2))))
& a_key(X2)
& b_stored(pair(X4,X5)) )
=> b_holds(key(X2,X4)) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',b_accepts_secure_session_key) ).
fof(t_is_party_of_protocol,axiom,
party_of_protocol(t),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',t_is_party_of_protocol) ).
fof(intruder_composes_triples,axiom,
! [X1,X2,X3] :
( ( intruder_message(X1)
& intruder_message(X2)
& intruder_message(X3) )
=> intruder_message(triple(X1,X2,X3)) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_composes_triples) ).
fof(a_stored_message_i,axiom,
a_stored(pair(b,an_a_nonce)),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',a_stored_message_i) ).
fof(an_a_nonce_is_a_nonce,axiom,
a_nonce(an_a_nonce),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',an_a_nonce_is_a_nonce) ).
fof(intruder_key_encrypts,axiom,
! [X1,X2,X3] :
( ( intruder_message(X1)
& intruder_holds(key(X2,X3))
& party_of_protocol(X3) )
=> intruder_message(encrypt(X1,X2)) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_key_encrypts) ).
fof(intruder_holds_key,axiom,
! [X2,X3] :
( ( intruder_message(X2)
& party_of_protocol(X3) )
=> intruder_holds(key(X2,X3)) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_holds_key) ).
fof(intruder_decomposes_pairs,axiom,
! [X1,X2] :
( intruder_message(pair(X1,X2))
=> ( intruder_message(X1)
& intruder_message(X2) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_decomposes_pairs) ).
fof(a_is_party_of_protocol,axiom,
party_of_protocol(a),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',a_is_party_of_protocol) ).
fof(generated_keys_are_keys,axiom,
! [X1] : a_key(generate_key(X1)),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',generated_keys_are_keys) ).
fof(generated_keys_are_not_nonces,axiom,
! [X1] : ~ a_nonce(generate_key(X1)),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',generated_keys_are_not_nonces) ).
fof(intruder_composes_quadruples,axiom,
! [X1,X2,X3,X4] :
( ( intruder_message(X1)
& intruder_message(X2)
& intruder_message(X3)
& intruder_message(X4) )
=> intruder_message(quadruple(X1,X2,X3,X4)) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_composes_quadruples) ).
fof(intruder_interception,axiom,
! [X1,X2,X3] :
( ( intruder_message(encrypt(X1,X2))
& intruder_holds(key(X2,X3))
& party_of_protocol(X3) )
=> intruder_message(X2) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_interception) ).
fof(intruder_decomposes_quadruples,axiom,
! [X1,X2,X3,X4] :
( intruder_message(quadruple(X1,X2,X3,X4))
=> ( intruder_message(X1)
& intruder_message(X2)
& intruder_message(X3)
& intruder_message(X4) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_decomposes_quadruples) ).
fof(nothing_is_a_nonce_and_a_key,axiom,
! [X1] :
~ ( a_key(X1)
& a_nonce(X1) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',nothing_is_a_nonce_and_a_key) ).
fof(generated_times_and_nonces_are_nonces,axiom,
! [X1] :
( a_nonce(generate_expiration_time(X1))
& a_nonce(generate_b_nonce(X1)) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',generated_times_and_nonces_are_nonces) ).
fof(b_hold_key_bt_for_t,axiom,
b_holds(key(bt,t)),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',b_hold_key_bt_for_t) ).
fof(a_holds_key_at_for_t,axiom,
a_holds(key(at,t)),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',a_holds_key_at_for_t) ).
fof(c_0_30,plain,
! [X73,X74,X75,X76,X77,X78,X79] :
( ~ message(sent(X73,t,triple(X73,X74,encrypt(triple(X75,X76,X77),X78))))
| ~ t_holds(key(X78,X73))
| ~ t_holds(key(X79,X75))
| ~ a_nonce(X76)
| message(sent(t,X75,triple(encrypt(quadruple(X73,X76,generate_key(X76),X77),X79),encrypt(triple(X75,generate_key(X76),X77),X78),X74))) ),
inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[server_t_generates_key])]) ).
fof(c_0_31,plain,
! [X68,X69] :
( ( message(sent(b,t,triple(b,generate_b_nonce(X69),encrypt(triple(X68,X69,generate_expiration_time(X69)),bt))))
| ~ message(sent(X68,b,pair(X68,X69)))
| ~ fresh_to_b(X69) )
& ( b_stored(pair(X68,X69))
| ~ message(sent(X68,b,pair(X68,X69)))
| ~ fresh_to_b(X69) ) ),
inference(distribute,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[b_creates_freash_nonces_in_time])])]) ).
fof(c_0_32,plain,
! [X104,X105,X106] :
( ~ intruder_message(X104)
| ~ party_of_protocol(X105)
| ~ party_of_protocol(X106)
| message(sent(X105,X106,X104)) ),
inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[intruder_message_sent])]) ).
cnf(c_0_33,plain,
( message(sent(t,X3,triple(encrypt(quadruple(X1,X4,generate_key(X4),X5),X7),encrypt(triple(X3,generate_key(X4),X5),X6),X2)))
| ~ message(sent(X1,t,triple(X1,X2,encrypt(triple(X3,X4,X5),X6))))
| ~ t_holds(key(X6,X1))
| ~ t_holds(key(X7,X3))
| ~ a_nonce(X4) ),
inference(split_conjunct,[status(thm)],[c_0_30]),
[final] ).
cnf(c_0_34,plain,
t_holds(key(bt,b)),
inference(split_conjunct,[status(thm)],[t_holds_key_bt_for_b]),
[final] ).
fof(c_0_35,plain,
! [X80,X81,X82] :
( ~ message(sent(X80,X81,X82))
| intruder_message(X82) ),
inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[intruder_can_record])]) ).
cnf(c_0_36,plain,
( message(sent(b,t,triple(b,generate_b_nonce(X1),encrypt(triple(X2,X1,generate_expiration_time(X1)),bt))))
| ~ message(sent(X2,b,pair(X2,X1)))
| ~ fresh_to_b(X1) ),
inference(split_conjunct,[status(thm)],[c_0_31]),
[final] ).
cnf(c_0_37,plain,
message(sent(a,b,pair(a,an_a_nonce))),
inference(split_conjunct,[status(thm)],[a_sent_message_i_to_b]),
[final] ).
cnf(c_0_38,plain,
fresh_to_b(an_a_nonce),
inference(split_conjunct,[status(thm)],[nonce_a_is_fresh_to_b]),
[final] ).
cnf(c_0_39,plain,
( message(sent(X2,X3,X1))
| ~ intruder_message(X1)
| ~ party_of_protocol(X2)
| ~ party_of_protocol(X3) ),
inference(split_conjunct,[status(thm)],[c_0_32]),
[final] ).
cnf(c_0_40,plain,
party_of_protocol(b),
inference(split_conjunct,[status(thm)],[b_is_party_of_protocol]),
[final] ).
fof(c_0_41,plain,
! [X92,X93] :
( ~ intruder_message(X92)
| ~ intruder_message(X93)
| intruder_message(pair(X92,X93)) ),
inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[intruder_composes_pairs])]) ).
cnf(c_0_42,plain,
t_holds(key(at,a)),
inference(split_conjunct,[status(thm)],[t_holds_key_at_for_a]),
[final] ).
cnf(c_0_43,plain,
( b_stored(pair(X1,X2))
| ~ message(sent(X1,b,pair(X1,X2)))
| ~ fresh_to_b(X2) ),
inference(split_conjunct,[status(thm)],[c_0_31]),
[final] ).
cnf(c_0_44,plain,
( message(sent(t,b,triple(encrypt(quadruple(X1,X2,generate_key(X2),X3),bt),encrypt(triple(b,generate_key(X2),X3),X4),X5)))
| ~ a_nonce(X2)
| ~ t_holds(key(X4,X1))
| ~ message(sent(X1,t,triple(X1,X5,encrypt(triple(b,X2,X3),X4)))) ),
inference(spm,[status(thm)],[c_0_33,c_0_34]),
[final] ).
fof(c_0_45,plain,
! [X85,X86,X87] :
( ( intruder_message(X85)
| ~ intruder_message(triple(X85,X86,X87)) )
& ( intruder_message(X86)
| ~ intruder_message(triple(X85,X86,X87)) )
& ( intruder_message(X87)
| ~ intruder_message(triple(X85,X86,X87)) ) ),
inference(distribute,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[intruder_decomposes_triples])])]) ).
cnf(c_0_46,plain,
( intruder_message(X3)
| ~ message(sent(X1,X2,X3)) ),
inference(split_conjunct,[status(thm)],[c_0_35]),
[final] ).
cnf(c_0_47,plain,
message(sent(b,t,triple(b,generate_b_nonce(an_a_nonce),encrypt(triple(a,an_a_nonce,generate_expiration_time(an_a_nonce)),bt)))),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_36,c_0_37]),c_0_38])]),
[final] ).
cnf(c_0_48,plain,
( message(sent(b,t,triple(b,generate_b_nonce(X1),encrypt(triple(X2,X1,generate_expiration_time(X1)),bt))))
| ~ intruder_message(pair(X2,X1))
| ~ fresh_to_b(X1)
| ~ party_of_protocol(X2) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_36,c_0_39]),c_0_40])]),
[final] ).
cnf(c_0_49,plain,
( intruder_message(pair(X1,X2))
| ~ intruder_message(X1)
| ~ intruder_message(X2) ),
inference(split_conjunct,[status(thm)],[c_0_41]),
[final] ).
fof(c_0_50,plain,
! [X62,X63,X64,X65,X66,X67] :
( ( message(sent(a,X66,pair(X65,encrypt(X62,X64))))
| ~ message(sent(t,a,triple(encrypt(quadruple(X66,X67,X64,X63),at),X65,X62)))
| ~ a_stored(pair(X66,X67)) )
& ( a_holds(key(X64,X66))
| ~ message(sent(t,a,triple(encrypt(quadruple(X66,X67,X64,X63),at),X65,X62)))
| ~ a_stored(pair(X66,X67)) ) ),
inference(distribute,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[a_forwards_secure])])]) ).
cnf(c_0_51,plain,
( message(sent(t,a,triple(encrypt(quadruple(X1,X2,generate_key(X2),X3),at),encrypt(triple(a,generate_key(X2),X3),X4),X5)))
| ~ a_nonce(X2)
| ~ t_holds(key(X4,X1))
| ~ message(sent(X1,t,triple(X1,X5,encrypt(triple(a,X2,X3),X4)))) ),
inference(spm,[status(thm)],[c_0_33,c_0_42]),
[final] ).
fof(c_0_52,plain,
! [X70,X71,X72] :
( ~ message(sent(X71,b,pair(encrypt(triple(X71,X70,generate_expiration_time(X72)),bt),encrypt(generate_b_nonce(X72),X70))))
| ~ a_key(X70)
| ~ b_stored(pair(X71,X72))
| b_holds(key(X70,X71)) ),
inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[b_accepts_secure_session_key])]) ).
cnf(c_0_53,plain,
( b_stored(pair(X1,X2))
| ~ intruder_message(pair(X1,X2))
| ~ fresh_to_b(X2)
| ~ party_of_protocol(X1) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_43,c_0_39]),c_0_40])]),
[final] ).
cnf(c_0_54,plain,
( message(sent(t,b,triple(encrypt(quadruple(b,X1,generate_key(X1),X2),bt),encrypt(triple(b,generate_key(X1),X2),bt),X3)))
| ~ a_nonce(X1)
| ~ message(sent(b,t,triple(b,X3,encrypt(triple(b,X1,X2),bt)))) ),
inference(spm,[status(thm)],[c_0_44,c_0_34]),
[final] ).
cnf(c_0_55,plain,
party_of_protocol(t),
inference(split_conjunct,[status(thm)],[t_is_party_of_protocol]),
[final] ).
fof(c_0_56,plain,
! [X94,X95,X96] :
( ~ intruder_message(X94)
| ~ intruder_message(X95)
| ~ intruder_message(X96)
| intruder_message(triple(X94,X95,X96)) ),
inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[intruder_composes_triples])]) ).
cnf(c_0_57,plain,
( intruder_message(X1)
| ~ intruder_message(triple(X1,X2,X3)) ),
inference(split_conjunct,[status(thm)],[c_0_45]),
[final] ).
cnf(c_0_58,plain,
intruder_message(triple(b,generate_b_nonce(an_a_nonce),encrypt(triple(a,an_a_nonce,generate_expiration_time(an_a_nonce)),bt))),
inference(spm,[status(thm)],[c_0_46,c_0_47]),
[final] ).
cnf(c_0_59,plain,
( message(sent(b,t,triple(b,generate_b_nonce(X1),encrypt(triple(X2,X1,generate_expiration_time(X1)),bt))))
| ~ intruder_message(X1)
| ~ intruder_message(X2)
| ~ fresh_to_b(X1)
| ~ party_of_protocol(X2) ),
inference(spm,[status(thm)],[c_0_48,c_0_49]),
[final] ).
cnf(c_0_60,plain,
( message(sent(a,X1,pair(X2,encrypt(X3,X4))))
| ~ message(sent(t,a,triple(encrypt(quadruple(X1,X5,X4,X6),at),X2,X3)))
| ~ a_stored(pair(X1,X5)) ),
inference(split_conjunct,[status(thm)],[c_0_50]),
[final] ).
cnf(c_0_61,plain,
a_stored(pair(b,an_a_nonce)),
inference(split_conjunct,[status(thm)],[a_stored_message_i]),
[final] ).
cnf(c_0_62,plain,
( message(sent(t,a,triple(encrypt(quadruple(b,X1,generate_key(X1),X2),at),encrypt(triple(a,generate_key(X1),X2),bt),X3)))
| ~ a_nonce(X1)
| ~ message(sent(b,t,triple(b,X3,encrypt(triple(a,X1,X2),bt)))) ),
inference(spm,[status(thm)],[c_0_51,c_0_34]),
[final] ).
cnf(c_0_63,plain,
a_nonce(an_a_nonce),
inference(split_conjunct,[status(thm)],[an_a_nonce_is_a_nonce]),
[final] ).
cnf(c_0_64,plain,
( b_holds(key(X2,X1))
| ~ message(sent(X1,b,pair(encrypt(triple(X1,X2,generate_expiration_time(X3)),bt),encrypt(generate_b_nonce(X3),X2))))
| ~ a_key(X2)
| ~ b_stored(pair(X1,X3)) ),
inference(split_conjunct,[status(thm)],[c_0_52]),
[final] ).
cnf(c_0_65,plain,
( b_stored(pair(X1,X2))
| ~ intruder_message(X2)
| ~ intruder_message(X1)
| ~ fresh_to_b(X2)
| ~ party_of_protocol(X1) ),
inference(spm,[status(thm)],[c_0_53,c_0_49]),
[final] ).
fof(c_0_66,plain,
! [X109,X110,X111] :
( ~ intruder_message(X109)
| ~ intruder_holds(key(X110,X111))
| ~ party_of_protocol(X111)
| intruder_message(encrypt(X109,X110)) ),
inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[intruder_key_encrypts])]) ).
fof(c_0_67,plain,
! [X107,X108] :
( ~ intruder_message(X107)
| ~ party_of_protocol(X108)
| intruder_holds(key(X107,X108)) ),
inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[intruder_holds_key])]) ).
fof(c_0_68,plain,
! [X83,X84] :
( ( intruder_message(X83)
| ~ intruder_message(pair(X83,X84)) )
& ( intruder_message(X84)
| ~ intruder_message(pair(X83,X84)) ) ),
inference(distribute,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[intruder_decomposes_pairs])])]) ).
cnf(c_0_69,plain,
( message(sent(t,b,triple(encrypt(quadruple(b,X1,generate_key(X1),X2),bt),encrypt(triple(b,generate_key(X1),X2),bt),X3)))
| ~ intruder_message(triple(b,X3,encrypt(triple(b,X1,X2),bt)))
| ~ a_nonce(X1) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_54,c_0_39]),c_0_55]),c_0_40])]),
[final] ).
cnf(c_0_70,plain,
( intruder_message(triple(X1,X2,X3))
| ~ intruder_message(X1)
| ~ intruder_message(X2)
| ~ intruder_message(X3) ),
inference(split_conjunct,[status(thm)],[c_0_56]),
[final] ).
cnf(c_0_71,plain,
intruder_message(b),
inference(spm,[status(thm)],[c_0_57,c_0_58]),
[final] ).
cnf(c_0_72,plain,
( intruder_message(X1)
| ~ intruder_message(triple(X2,X3,X1)) ),
inference(split_conjunct,[status(thm)],[c_0_45]),
[final] ).
cnf(c_0_73,plain,
( intruder_message(triple(b,generate_b_nonce(X1),encrypt(triple(X2,X1,generate_expiration_time(X1)),bt)))
| ~ intruder_message(X1)
| ~ intruder_message(X2)
| ~ fresh_to_b(X1)
| ~ party_of_protocol(X2) ),
inference(spm,[status(thm)],[c_0_46,c_0_59]),
[final] ).
cnf(c_0_74,plain,
( message(sent(a,b,pair(X1,encrypt(X2,X3))))
| ~ message(sent(t,a,triple(encrypt(quadruple(b,an_a_nonce,X3,X4),at),X1,X2))) ),
inference(spm,[status(thm)],[c_0_60,c_0_61]),
[final] ).
cnf(c_0_75,plain,
party_of_protocol(a),
inference(split_conjunct,[status(thm)],[a_is_party_of_protocol]),
[final] ).
cnf(c_0_76,plain,
message(sent(t,a,triple(encrypt(quadruple(b,an_a_nonce,generate_key(an_a_nonce),generate_expiration_time(an_a_nonce)),at),encrypt(triple(a,generate_key(an_a_nonce),generate_expiration_time(an_a_nonce)),bt),generate_b_nonce(an_a_nonce)))),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_62,c_0_47]),c_0_63])]),
[final] ).
cnf(c_0_77,plain,
b_stored(pair(a,an_a_nonce)),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_43,c_0_37]),c_0_38])]),
[final] ).
cnf(c_0_78,plain,
( message(sent(t,a,triple(encrypt(quadruple(b,X1,generate_key(X1),X2),at),encrypt(triple(a,generate_key(X1),X2),bt),X3)))
| ~ intruder_message(triple(b,X3,encrypt(triple(a,X1,X2),bt)))
| ~ a_nonce(X1) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_62,c_0_39]),c_0_55]),c_0_40])]),
[final] ).
cnf(c_0_79,plain,
( b_holds(key(X1,X2))
| ~ intruder_message(X3)
| ~ intruder_message(X2)
| ~ a_key(X1)
| ~ fresh_to_b(X3)
| ~ message(sent(X2,b,pair(encrypt(triple(X2,X1,generate_expiration_time(X3)),bt),encrypt(generate_b_nonce(X3),X1))))
| ~ party_of_protocol(X2) ),
inference(spm,[status(thm)],[c_0_64,c_0_65]),
[final] ).
cnf(c_0_80,plain,
( intruder_message(encrypt(X1,X2))
| ~ intruder_message(X1)
| ~ intruder_holds(key(X2,X3))
| ~ party_of_protocol(X3) ),
inference(split_conjunct,[status(thm)],[c_0_66]),
[final] ).
cnf(c_0_81,plain,
( intruder_holds(key(X1,X2))
| ~ intruder_message(X1)
| ~ party_of_protocol(X2) ),
inference(split_conjunct,[status(thm)],[c_0_67]),
[final] ).
cnf(c_0_82,plain,
( intruder_message(X1)
| ~ intruder_message(pair(X1,X2)) ),
inference(split_conjunct,[status(thm)],[c_0_68]),
[final] ).
cnf(c_0_83,plain,
intruder_message(pair(a,an_a_nonce)),
inference(spm,[status(thm)],[c_0_46,c_0_37]),
[final] ).
cnf(c_0_84,plain,
( message(sent(t,b,triple(encrypt(quadruple(b,X1,generate_key(X1),X2),bt),encrypt(triple(b,generate_key(X1),X2),bt),X3)))
| ~ intruder_message(encrypt(triple(b,X1,X2),bt))
| ~ intruder_message(X3)
| ~ a_nonce(X1) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_69,c_0_70]),c_0_71])]),
[final] ).
cnf(c_0_85,plain,
( intruder_message(encrypt(triple(X1,X2,generate_expiration_time(X2)),bt))
| ~ intruder_message(X2)
| ~ intruder_message(X1)
| ~ fresh_to_b(X2)
| ~ party_of_protocol(X1) ),
inference(spm,[status(thm)],[c_0_72,c_0_73]),
[final] ).
cnf(c_0_86,plain,
( message(sent(a,b,pair(X1,encrypt(X2,X3))))
| ~ intruder_message(triple(encrypt(quadruple(b,an_a_nonce,X3,X4),at),X1,X2)) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_74,c_0_39]),c_0_75]),c_0_55])]),
[final] ).
cnf(c_0_87,plain,
intruder_message(triple(encrypt(quadruple(b,an_a_nonce,generate_key(an_a_nonce),generate_expiration_time(an_a_nonce)),at),encrypt(triple(a,generate_key(an_a_nonce),generate_expiration_time(an_a_nonce)),bt),generate_b_nonce(an_a_nonce))),
inference(spm,[status(thm)],[c_0_46,c_0_76]),
[final] ).
cnf(c_0_88,plain,
( b_holds(key(X1,a))
| ~ a_key(X1)
| ~ message(sent(a,b,pair(encrypt(triple(a,X1,generate_expiration_time(an_a_nonce)),bt),encrypt(generate_b_nonce(an_a_nonce),X1)))) ),
inference(spm,[status(thm)],[c_0_64,c_0_77]),
[final] ).
cnf(c_0_89,plain,
message(sent(a,b,pair(encrypt(triple(a,generate_key(an_a_nonce),generate_expiration_time(an_a_nonce)),bt),encrypt(generate_b_nonce(an_a_nonce),generate_key(an_a_nonce))))),
inference(spm,[status(thm)],[c_0_74,c_0_76]),
[final] ).
cnf(c_0_90,plain,
( message(sent(t,a,triple(encrypt(quadruple(b,X1,generate_key(X1),X2),at),encrypt(triple(a,generate_key(X1),X2),bt),X3)))
| ~ intruder_message(encrypt(triple(a,X1,X2),bt))
| ~ intruder_message(X3)
| ~ a_nonce(X1) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_78,c_0_70]),c_0_71])]),
[final] ).
cnf(c_0_91,plain,
intruder_message(encrypt(triple(a,an_a_nonce,generate_expiration_time(an_a_nonce)),bt)),
inference(spm,[status(thm)],[c_0_72,c_0_58]),
[final] ).
cnf(c_0_92,plain,
( b_holds(key(X1,X2))
| ~ intruder_message(pair(encrypt(triple(X2,X1,generate_expiration_time(X3)),bt),encrypt(generate_b_nonce(X3),X1)))
| ~ intruder_message(X3)
| ~ intruder_message(X2)
| ~ a_key(X1)
| ~ fresh_to_b(X3)
| ~ party_of_protocol(X2) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_79,c_0_39]),c_0_40])]),
[final] ).
cnf(c_0_93,plain,
( intruder_message(encrypt(X1,X2))
| ~ intruder_message(X1)
| ~ intruder_message(X2)
| ~ party_of_protocol(X3) ),
inference(spm,[status(thm)],[c_0_80,c_0_81]) ).
cnf(c_0_94,plain,
( message(sent(t,b,triple(encrypt(quadruple(b,X1,generate_key(X1),generate_expiration_time(X1)),bt),encrypt(triple(b,generate_key(X1),generate_expiration_time(X1)),bt),generate_b_nonce(X1))))
| ~ intruder_message(X1)
| ~ a_nonce(X1)
| ~ fresh_to_b(X1) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_54,c_0_59]),c_0_71]),c_0_40])]),
[final] ).
cnf(c_0_95,plain,
intruder_message(a),
inference(spm,[status(thm)],[c_0_82,c_0_83]),
[final] ).
cnf(c_0_96,plain,
( message(sent(t,b,triple(encrypt(quadruple(b,X1,generate_key(X1),generate_expiration_time(X1)),bt),encrypt(triple(b,generate_key(X1),generate_expiration_time(X1)),bt),X2)))
| ~ intruder_message(X2)
| ~ intruder_message(X1)
| ~ a_nonce(X1)
| ~ fresh_to_b(X1) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_84,c_0_85]),c_0_71]),c_0_40])]),
[final] ).
cnf(c_0_97,plain,
( message(sent(a,b,pair(X1,encrypt(X2,X3))))
| ~ intruder_message(encrypt(quadruple(b,an_a_nonce,X3,X4),at))
| ~ intruder_message(X2)
| ~ intruder_message(X1) ),
inference(spm,[status(thm)],[c_0_86,c_0_70]),
[final] ).
cnf(c_0_98,plain,
intruder_message(encrypt(quadruple(b,an_a_nonce,generate_key(an_a_nonce),generate_expiration_time(an_a_nonce)),at)),
inference(spm,[status(thm)],[c_0_57,c_0_87]),
[final] ).
cnf(c_0_99,plain,
( b_holds(key(X1,a))
| ~ intruder_message(pair(encrypt(triple(a,X1,generate_expiration_time(an_a_nonce)),bt),encrypt(generate_b_nonce(an_a_nonce),X1)))
| ~ a_key(X1) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_88,c_0_39]),c_0_40]),c_0_75])]),
[final] ).
cnf(c_0_100,plain,
( a_holds(key(X1,X2))
| ~ message(sent(t,a,triple(encrypt(quadruple(X2,X3,X1,X4),at),X5,X6)))
| ~ a_stored(pair(X2,X3)) ),
inference(split_conjunct,[status(thm)],[c_0_50]),
[final] ).
cnf(c_0_101,plain,
( intruder_message(X1)
| ~ intruder_message(pair(X2,X1)) ),
inference(split_conjunct,[status(thm)],[c_0_68]),
[final] ).
cnf(c_0_102,plain,
intruder_message(pair(encrypt(triple(a,generate_key(an_a_nonce),generate_expiration_time(an_a_nonce)),bt),encrypt(generate_b_nonce(an_a_nonce),generate_key(an_a_nonce)))),
inference(spm,[status(thm)],[c_0_46,c_0_89]),
[final] ).
fof(c_0_103,plain,
! [X115] : a_key(generate_key(X115)),
inference(variable_rename,[status(thm)],[generated_keys_are_keys]) ).
cnf(c_0_104,plain,
( message(sent(t,a,triple(encrypt(quadruple(b,an_a_nonce,generate_key(an_a_nonce),generate_expiration_time(an_a_nonce)),at),encrypt(triple(a,generate_key(an_a_nonce),generate_expiration_time(an_a_nonce)),bt),X1)))
| ~ intruder_message(X1) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_90,c_0_91]),c_0_63])]),
[final] ).
cnf(c_0_105,plain,
( b_holds(key(X1,X2))
| ~ intruder_message(encrypt(triple(X2,X1,generate_expiration_time(X3)),bt))
| ~ intruder_message(encrypt(generate_b_nonce(X3),X1))
| ~ intruder_message(X3)
| ~ intruder_message(X2)
| ~ a_key(X1)
| ~ fresh_to_b(X3)
| ~ party_of_protocol(X2) ),
inference(spm,[status(thm)],[c_0_92,c_0_49]),
[final] ).
cnf(c_0_106,plain,
( intruder_message(encrypt(X1,X2))
| ~ intruder_message(X1)
| ~ intruder_message(X2) ),
inference(spm,[status(thm)],[c_0_93,c_0_40]),
[final] ).
cnf(c_0_107,plain,
( intruder_message(triple(encrypt(quadruple(b,X1,generate_key(X1),generate_expiration_time(X1)),bt),encrypt(triple(b,generate_key(X1),generate_expiration_time(X1)),bt),generate_b_nonce(X1)))
| ~ intruder_message(X1)
| ~ a_nonce(X1)
| ~ fresh_to_b(X1) ),
inference(spm,[status(thm)],[c_0_46,c_0_94]),
[final] ).
cnf(c_0_108,plain,
( message(sent(t,a,triple(encrypt(quadruple(b,X1,generate_key(X1),generate_expiration_time(X1)),at),encrypt(triple(a,generate_key(X1),generate_expiration_time(X1)),bt),generate_b_nonce(X1))))
| ~ intruder_message(X1)
| ~ a_nonce(X1)
| ~ fresh_to_b(X1) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_62,c_0_59]),c_0_95]),c_0_75])]),
[final] ).
cnf(c_0_109,plain,
( intruder_message(X1)
| ~ intruder_message(triple(X2,X1,X3)) ),
inference(split_conjunct,[status(thm)],[c_0_45]),
[final] ).
cnf(c_0_110,plain,
( intruder_message(triple(encrypt(quadruple(b,X1,generate_key(X1),generate_expiration_time(X1)),bt),encrypt(triple(b,generate_key(X1),generate_expiration_time(X1)),bt),X2))
| ~ intruder_message(X2)
| ~ intruder_message(X1)
| ~ a_nonce(X1)
| ~ fresh_to_b(X1) ),
inference(spm,[status(thm)],[c_0_46,c_0_96]),
[final] ).
cnf(c_0_111,plain,
( message(sent(t,a,triple(encrypt(quadruple(a,X1,generate_key(X1),X2),at),encrypt(triple(a,generate_key(X1),X2),at),X3)))
| ~ a_nonce(X1)
| ~ message(sent(a,t,triple(a,X3,encrypt(triple(a,X1,X2),at)))) ),
inference(spm,[status(thm)],[c_0_51,c_0_42]),
[final] ).
cnf(c_0_112,plain,
( message(sent(a,b,pair(X1,encrypt(X2,generate_key(an_a_nonce)))))
| ~ intruder_message(X2)
| ~ intruder_message(X1) ),
inference(spm,[status(thm)],[c_0_97,c_0_98]),
[final] ).
cnf(c_0_113,plain,
( message(sent(t,b,triple(encrypt(quadruple(a,X1,generate_key(X1),X2),bt),encrypt(triple(b,generate_key(X1),X2),at),X3)))
| ~ a_nonce(X1)
| ~ message(sent(a,t,triple(a,X3,encrypt(triple(b,X1,X2),at)))) ),
inference(spm,[status(thm)],[c_0_44,c_0_42]),
[final] ).
cnf(c_0_114,plain,
( b_holds(key(X1,a))
| ~ intruder_message(encrypt(triple(a,X1,generate_expiration_time(an_a_nonce)),bt))
| ~ intruder_message(encrypt(generate_b_nonce(an_a_nonce),X1))
| ~ a_key(X1) ),
inference(spm,[status(thm)],[c_0_99,c_0_49]),
[final] ).
cnf(c_0_115,plain,
( a_holds(key(X1,b))
| ~ message(sent(t,a,triple(encrypt(quadruple(b,an_a_nonce,X1,X2),at),X3,X4))) ),
inference(spm,[status(thm)],[c_0_100,c_0_61]),
[final] ).
cnf(c_0_116,plain,
intruder_message(encrypt(generate_b_nonce(an_a_nonce),generate_key(an_a_nonce))),
inference(spm,[status(thm)],[c_0_101,c_0_102]),
[final] ).
cnf(c_0_117,plain,
intruder_message(an_a_nonce),
inference(spm,[status(thm)],[c_0_101,c_0_83]),
[final] ).
cnf(c_0_118,plain,
a_key(generate_key(X1)),
inference(split_conjunct,[status(thm)],[c_0_103]),
[final] ).
cnf(c_0_119,plain,
( message(sent(a,b,pair(encrypt(triple(a,generate_key(an_a_nonce),generate_expiration_time(an_a_nonce)),bt),encrypt(X1,generate_key(an_a_nonce)))))
| ~ intruder_message(X1) ),
inference(spm,[status(thm)],[c_0_74,c_0_104]),
[final] ).
cnf(c_0_120,plain,
( b_holds(key(X1,X2))
| ~ intruder_message(encrypt(triple(X2,X1,generate_expiration_time(X3)),bt))
| ~ intruder_message(generate_b_nonce(X3))
| ~ intruder_message(X3)
| ~ intruder_message(X2)
| ~ intruder_message(X1)
| ~ a_key(X1)
| ~ fresh_to_b(X3)
| ~ party_of_protocol(X2) ),
inference(spm,[status(thm)],[c_0_105,c_0_106]),
[final] ).
cnf(c_0_121,plain,
( intruder_message(generate_b_nonce(X1))
| ~ intruder_message(X1)
| ~ a_nonce(X1)
| ~ fresh_to_b(X1) ),
inference(spm,[status(thm)],[c_0_72,c_0_107]),
[final] ).
cnf(c_0_122,plain,
( intruder_message(triple(encrypt(quadruple(b,X1,generate_key(X1),generate_expiration_time(X1)),at),encrypt(triple(a,generate_key(X1),generate_expiration_time(X1)),bt),generate_b_nonce(X1)))
| ~ intruder_message(X1)
| ~ a_nonce(X1)
| ~ fresh_to_b(X1) ),
inference(spm,[status(thm)],[c_0_46,c_0_108]),
[final] ).
cnf(c_0_123,plain,
( intruder_message(encrypt(triple(b,generate_key(X1),generate_expiration_time(X1)),bt))
| ~ intruder_message(X2)
| ~ intruder_message(X1)
| ~ a_nonce(X1)
| ~ fresh_to_b(X1) ),
inference(spm,[status(thm)],[c_0_109,c_0_110]) ).
cnf(c_0_124,plain,
( message(sent(t,a,triple(encrypt(quadruple(a,X1,generate_key(X1),X2),at),encrypt(triple(a,generate_key(X1),X2),at),X3)))
| ~ intruder_message(triple(a,X3,encrypt(triple(a,X1,X2),at)))
| ~ a_nonce(X1) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_111,c_0_39]),c_0_55]),c_0_75])]),
[final] ).
cnf(c_0_125,plain,
( intruder_message(pair(X1,encrypt(X2,generate_key(an_a_nonce))))
| ~ intruder_message(X2)
| ~ intruder_message(X1) ),
inference(spm,[status(thm)],[c_0_46,c_0_112]),
[final] ).
cnf(c_0_126,plain,
( intruder_message(generate_b_nonce(X1))
| ~ intruder_message(X1)
| ~ intruder_message(X2)
| ~ fresh_to_b(X1)
| ~ party_of_protocol(X2) ),
inference(spm,[status(thm)],[c_0_109,c_0_73]),
[final] ).
cnf(c_0_127,plain,
( message(sent(t,b,triple(encrypt(quadruple(a,X1,generate_key(X1),X2),bt),encrypt(triple(b,generate_key(X1),X2),at),X3)))
| ~ intruder_message(triple(a,X3,encrypt(triple(b,X1,X2),at)))
| ~ a_nonce(X1) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_113,c_0_39]),c_0_55]),c_0_75])]),
[final] ).
cnf(c_0_128,plain,
intruder_message(generate_b_nonce(an_a_nonce)),
inference(spm,[status(thm)],[c_0_109,c_0_58]),
[final] ).
cnf(c_0_129,plain,
( b_holds(key(X1,a))
| ~ intruder_message(encrypt(triple(a,X1,generate_expiration_time(an_a_nonce)),bt))
| ~ intruder_message(generate_b_nonce(an_a_nonce))
| ~ intruder_message(X1)
| ~ a_key(X1) ),
inference(spm,[status(thm)],[c_0_114,c_0_106]) ).
cnf(c_0_130,plain,
( a_holds(key(X1,b))
| ~ intruder_message(triple(encrypt(quadruple(b,an_a_nonce,X1,X2),at),X3,X4)) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_115,c_0_39]),c_0_75]),c_0_55])]),
[final] ).
fof(c_0_131,plain,
! [X1] : ~ a_nonce(generate_key(X1)),
inference(fof_simplification,[status(thm)],[generated_keys_are_not_nonces]) ).
cnf(c_0_132,plain,
( b_holds(key(generate_key(an_a_nonce),X1))
| ~ intruder_message(encrypt(triple(X1,generate_key(an_a_nonce),generate_expiration_time(an_a_nonce)),bt))
| ~ intruder_message(X1)
| ~ party_of_protocol(X1) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_105,c_0_116]),c_0_117]),c_0_118]),c_0_38])]),
[final] ).
cnf(c_0_133,plain,
( intruder_message(pair(encrypt(triple(a,generate_key(an_a_nonce),generate_expiration_time(an_a_nonce)),bt),encrypt(X1,generate_key(an_a_nonce))))
| ~ intruder_message(X1) ),
inference(spm,[status(thm)],[c_0_46,c_0_119]),
[final] ).
cnf(c_0_134,plain,
( message(sent(t,a,triple(encrypt(quadruple(b,X1,generate_key(X1),generate_expiration_time(X1)),at),encrypt(triple(a,generate_key(X1),generate_expiration_time(X1)),bt),X2)))
| ~ intruder_message(X2)
| ~ intruder_message(X1)
| ~ a_nonce(X1)
| ~ fresh_to_b(X1) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_90,c_0_85]),c_0_95]),c_0_75])]),
[final] ).
cnf(c_0_135,plain,
( b_holds(key(X1,X2))
| ~ intruder_message(encrypt(triple(X2,X1,generate_expiration_time(X3)),bt))
| ~ intruder_message(X3)
| ~ intruder_message(X2)
| ~ intruder_message(X1)
| ~ a_nonce(X3)
| ~ a_key(X1)
| ~ fresh_to_b(X3)
| ~ party_of_protocol(X2) ),
inference(spm,[status(thm)],[c_0_120,c_0_121]),
[final] ).
cnf(c_0_136,plain,
( intruder_message(encrypt(triple(a,generate_key(X1),generate_expiration_time(X1)),bt))
| ~ intruder_message(X1)
| ~ a_nonce(X1)
| ~ fresh_to_b(X1) ),
inference(spm,[status(thm)],[c_0_109,c_0_122]),
[final] ).
cnf(c_0_137,plain,
( intruder_message(encrypt(triple(b,generate_key(X1),generate_expiration_time(X1)),bt))
| ~ intruder_message(X1)
| ~ a_nonce(X1)
| ~ fresh_to_b(X1) ),
inference(spm,[status(thm)],[c_0_123,c_0_87]),
[final] ).
cnf(c_0_138,plain,
( intruder_message(encrypt(quadruple(b,X1,generate_key(X1),generate_expiration_time(X1)),bt))
| ~ intruder_message(X2)
| ~ intruder_message(X1)
| ~ a_nonce(X1)
| ~ fresh_to_b(X1) ),
inference(spm,[status(thm)],[c_0_57,c_0_110]) ).
cnf(c_0_139,plain,
( message(sent(t,a,triple(encrypt(quadruple(a,X1,generate_key(X1),X2),at),encrypt(triple(a,generate_key(X1),X2),at),X3)))
| ~ intruder_message(encrypt(triple(a,X1,X2),at))
| ~ intruder_message(X3)
| ~ a_nonce(X1) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_124,c_0_70]),c_0_95])]),
[final] ).
cnf(c_0_140,plain,
( b_holds(key(generate_key(an_a_nonce),X1))
| ~ intruder_message(encrypt(triple(X1,generate_key(an_a_nonce),generate_expiration_time(X2)),bt))
| ~ intruder_message(X2)
| ~ intruder_message(X1)
| ~ fresh_to_b(X2)
| ~ party_of_protocol(X1) ),
inference(csr,[status(thm)],[inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_92,c_0_125]),c_0_118])]),c_0_126]),
[final] ).
cnf(c_0_141,plain,
( intruder_message(encrypt(X1,generate_key(an_a_nonce)))
| ~ intruder_message(X1)
| ~ intruder_message(X2) ),
inference(spm,[status(thm)],[c_0_101,c_0_125]) ).
cnf(c_0_142,plain,
( message(sent(t,b,triple(encrypt(quadruple(a,X1,generate_key(X1),X2),bt),encrypt(triple(b,generate_key(X1),X2),at),X3)))
| ~ intruder_message(encrypt(triple(b,X1,X2),at))
| ~ intruder_message(X3)
| ~ a_nonce(X1) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_127,c_0_70]),c_0_95])]),
[final] ).
cnf(c_0_143,plain,
( b_holds(key(X1,X2))
| ~ intruder_message(encrypt(triple(X2,X1,generate_expiration_time(X3)),bt))
| ~ intruder_message(X3)
| ~ intruder_message(X2)
| ~ intruder_message(X1)
| ~ intruder_message(X4)
| ~ a_key(X1)
| ~ fresh_to_b(X3)
| ~ party_of_protocol(X2)
| ~ party_of_protocol(X4) ),
inference(spm,[status(thm)],[c_0_120,c_0_126]),
[final] ).
cnf(c_0_144,plain,
( b_holds(key(X1,X2))
| ~ intruder_message(encrypt(triple(X2,X1,generate_expiration_time(an_a_nonce)),bt))
| ~ intruder_message(X2)
| ~ intruder_message(X1)
| ~ a_key(X1)
| ~ party_of_protocol(X2) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_120,c_0_128]),c_0_117]),c_0_38])]),
[final] ).
cnf(c_0_145,plain,
( b_holds(key(X1,a))
| ~ intruder_message(encrypt(triple(a,X1,generate_expiration_time(an_a_nonce)),bt))
| ~ intruder_message(X1)
| ~ a_key(X1) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_129,c_0_128])]),
[final] ).
cnf(c_0_146,plain,
( a_holds(key(X1,b))
| ~ intruder_message(encrypt(quadruple(b,an_a_nonce,X1,X2),at))
| ~ intruder_message(X3)
| ~ intruder_message(X4) ),
inference(spm,[status(thm)],[c_0_130,c_0_70]),
[final] ).
fof(c_0_147,plain,
! [X97,X98,X99,X100] :
( ~ intruder_message(X97)
| ~ intruder_message(X98)
| ~ intruder_message(X99)
| ~ intruder_message(X100)
| intruder_message(quadruple(X97,X98,X99,X100)) ),
inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[intruder_composes_quadruples])]) ).
fof(c_0_148,plain,
! [X101,X102,X103] :
( ~ intruder_message(encrypt(X101,X102))
| ~ intruder_holds(key(X102,X103))
| ~ party_of_protocol(X103)
| intruder_message(X102) ),
inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[intruder_interception])]) ).
fof(c_0_149,plain,
! [X88,X89,X90,X91] :
( ( intruder_message(X88)
| ~ intruder_message(quadruple(X88,X89,X90,X91)) )
& ( intruder_message(X89)
| ~ intruder_message(quadruple(X88,X89,X90,X91)) )
& ( intruder_message(X90)
| ~ intruder_message(quadruple(X88,X89,X90,X91)) )
& ( intruder_message(X91)
| ~ intruder_message(quadruple(X88,X89,X90,X91)) ) ),
inference(distribute,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[intruder_decomposes_quadruples])])]) ).
fof(c_0_150,plain,
! [X114] :
( ~ a_key(X114)
| ~ a_nonce(X114) ),
inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[nothing_is_a_nonce_and_a_key])]) ).
fof(c_0_151,plain,
! [X112] : ~ a_nonce(generate_key(X112)),
inference(variable_rename,[status(thm)],[c_0_131]) ).
cnf(c_0_152,plain,
( b_holds(key(generate_key(an_a_nonce),b))
| ~ intruder_message(X1) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_132,c_0_123]),c_0_71]),c_0_40]),c_0_117]),c_0_63]),c_0_38])]) ).
fof(c_0_153,plain,
! [X113] :
( a_nonce(generate_expiration_time(X113))
& a_nonce(generate_b_nonce(X113)) ),
inference(variable_rename,[status(thm)],[generated_times_and_nonces_are_nonces]) ).
cnf(c_0_154,plain,
( message(sent(b,t,triple(b,generate_b_nonce(encrypt(X1,generate_key(an_a_nonce))),encrypt(triple(encrypt(triple(a,generate_key(an_a_nonce),generate_expiration_time(an_a_nonce)),bt),encrypt(X1,generate_key(an_a_nonce)),generate_expiration_time(encrypt(X1,generate_key(an_a_nonce)))),bt))))
| ~ intruder_message(X1)
| ~ fresh_to_b(encrypt(X1,generate_key(an_a_nonce)))
| ~ party_of_protocol(encrypt(triple(a,generate_key(an_a_nonce),generate_expiration_time(an_a_nonce)),bt)) ),
inference(spm,[status(thm)],[c_0_48,c_0_133]),
[final] ).
cnf(c_0_155,plain,
( message(sent(b,t,triple(b,generate_b_nonce(encrypt(generate_b_nonce(an_a_nonce),generate_key(an_a_nonce))),encrypt(triple(encrypt(triple(a,generate_key(an_a_nonce),generate_expiration_time(an_a_nonce)),bt),encrypt(generate_b_nonce(an_a_nonce),generate_key(an_a_nonce)),generate_expiration_time(encrypt(generate_b_nonce(an_a_nonce),generate_key(an_a_nonce)))),bt))))
| ~ fresh_to_b(encrypt(generate_b_nonce(an_a_nonce),generate_key(an_a_nonce)))
| ~ party_of_protocol(encrypt(triple(a,generate_key(an_a_nonce),generate_expiration_time(an_a_nonce)),bt)) ),
inference(spm,[status(thm)],[c_0_48,c_0_102]),
[final] ).
cnf(c_0_156,plain,
( intruder_message(triple(encrypt(quadruple(b,X1,generate_key(X1),generate_expiration_time(X1)),at),encrypt(triple(a,generate_key(X1),generate_expiration_time(X1)),bt),X2))
| ~ intruder_message(X2)
| ~ intruder_message(X1)
| ~ a_nonce(X1)
| ~ fresh_to_b(X1) ),
inference(spm,[status(thm)],[c_0_46,c_0_134]),
[final] ).
cnf(c_0_157,plain,
( intruder_message(triple(encrypt(quadruple(b,an_a_nonce,generate_key(an_a_nonce),generate_expiration_time(an_a_nonce)),at),encrypt(triple(a,generate_key(an_a_nonce),generate_expiration_time(an_a_nonce)),bt),X1))
| ~ intruder_message(X1) ),
inference(spm,[status(thm)],[c_0_46,c_0_104]),
[final] ).
cnf(c_0_158,plain,
( b_stored(pair(encrypt(triple(a,generate_key(an_a_nonce),generate_expiration_time(an_a_nonce)),bt),encrypt(X1,generate_key(an_a_nonce))))
| ~ intruder_message(X1)
| ~ fresh_to_b(encrypt(X1,generate_key(an_a_nonce)))
| ~ party_of_protocol(encrypt(triple(a,generate_key(an_a_nonce),generate_expiration_time(an_a_nonce)),bt)) ),
inference(spm,[status(thm)],[c_0_53,c_0_133]),
[final] ).
cnf(c_0_159,plain,
( intruder_message(encrypt(quadruple(b,X1,generate_key(X1),generate_expiration_time(X1)),at))
| ~ intruder_message(X1)
| ~ a_nonce(X1)
| ~ fresh_to_b(X1) ),
inference(spm,[status(thm)],[c_0_57,c_0_122]),
[final] ).
cnf(c_0_160,plain,
( b_holds(key(generate_key(X1),a))
| ~ intruder_message(generate_key(X1))
| ~ intruder_message(X1)
| ~ a_nonce(X1)
| ~ fresh_to_b(X1) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_135,c_0_136]),c_0_95]),c_0_118]),c_0_75])]),
[final] ).
cnf(c_0_161,plain,
( b_holds(key(X1,X2))
| ~ intruder_message(triple(X2,X1,generate_expiration_time(X3)))
| ~ intruder_message(bt)
| ~ intruder_message(X3)
| ~ a_nonce(X3)
| ~ a_key(X1)
| ~ fresh_to_b(X3)
| ~ party_of_protocol(X2) ),
inference(csr,[status(thm)],[inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_135,c_0_106]),c_0_109]),c_0_57]),
[final] ).
cnf(c_0_162,plain,
( b_holds(key(generate_key(X1),b))
| ~ intruder_message(generate_key(X1))
| ~ intruder_message(X1)
| ~ a_nonce(X1)
| ~ fresh_to_b(X1) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_135,c_0_137]),c_0_71]),c_0_118]),c_0_40])]),
[final] ).
cnf(c_0_163,plain,
( intruder_message(encrypt(quadruple(b,X1,generate_key(X1),generate_expiration_time(X1)),bt))
| ~ intruder_message(X1)
| ~ a_nonce(X1)
| ~ fresh_to_b(X1) ),
inference(spm,[status(thm)],[c_0_138,c_0_87]),
[final] ).
cnf(c_0_164,plain,
( message(sent(b,t,triple(b,generate_b_nonce(encrypt(X1,generate_key(an_a_nonce))),encrypt(triple(X2,encrypt(X1,generate_key(an_a_nonce)),generate_expiration_time(encrypt(X1,generate_key(an_a_nonce)))),bt))))
| ~ intruder_message(X1)
| ~ intruder_message(X2)
| ~ fresh_to_b(encrypt(X1,generate_key(an_a_nonce)))
| ~ party_of_protocol(X2) ),
inference(spm,[status(thm)],[c_0_48,c_0_125]),
[final] ).
cnf(c_0_165,plain,
( message(sent(b,t,triple(b,generate_b_nonce(encrypt(X1,generate_key(an_a_nonce))),encrypt(triple(a,encrypt(X1,generate_key(an_a_nonce)),generate_expiration_time(encrypt(X1,generate_key(an_a_nonce)))),bt))))
| ~ intruder_message(X1)
| ~ fresh_to_b(encrypt(X1,generate_key(an_a_nonce))) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_36,c_0_112]),c_0_95])]),
[final] ).
cnf(c_0_166,plain,
( message(sent(t,a,triple(encrypt(quadruple(a,X1,generate_key(X1),X2),at),encrypt(triple(a,generate_key(X1),X2),at),X3)))
| ~ intruder_message(triple(a,X1,X2))
| ~ intruder_message(at)
| ~ intruder_message(X3)
| ~ a_nonce(X1) ),
inference(spm,[status(thm)],[c_0_139,c_0_106]),
[final] ).
cnf(c_0_167,plain,
( b_holds(key(generate_key(an_a_nonce),X1))
| ~ intruder_message(triple(X1,generate_key(an_a_nonce),generate_expiration_time(X2)))
| ~ intruder_message(bt)
| ~ intruder_message(X2)
| ~ fresh_to_b(X2)
| ~ party_of_protocol(X1) ),
inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_140,c_0_106]),c_0_57]),
[final] ).
cnf(c_0_168,plain,
( b_holds(key(generate_key(an_a_nonce),X1))
| ~ intruder_message(generate_key(an_a_nonce))
| ~ intruder_message(X1)
| ~ fresh_to_b(generate_key(an_a_nonce))
| ~ party_of_protocol(X1) ),
inference(spm,[status(thm)],[c_0_140,c_0_85]),
[final] ).
cnf(c_0_169,plain,
( b_stored(pair(X1,encrypt(X2,generate_key(an_a_nonce))))
| ~ intruder_message(X2)
| ~ intruder_message(X1)
| ~ fresh_to_b(encrypt(X2,generate_key(an_a_nonce)))
| ~ party_of_protocol(X1) ),
inference(spm,[status(thm)],[c_0_53,c_0_125]),
[final] ).
cnf(c_0_170,plain,
( b_stored(pair(a,encrypt(X1,generate_key(an_a_nonce))))
| ~ intruder_message(X1)
| ~ fresh_to_b(encrypt(X1,generate_key(an_a_nonce))) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_43,c_0_112]),c_0_95])]),
[final] ).
cnf(c_0_171,plain,
( intruder_message(encrypt(X1,generate_key(an_a_nonce)))
| ~ intruder_message(X1) ),
inference(spm,[status(thm)],[c_0_141,c_0_87]),
[final] ).
cnf(c_0_172,plain,
( b_stored(pair(encrypt(triple(a,generate_key(an_a_nonce),generate_expiration_time(an_a_nonce)),bt),encrypt(generate_b_nonce(an_a_nonce),generate_key(an_a_nonce))))
| ~ fresh_to_b(encrypt(generate_b_nonce(an_a_nonce),generate_key(an_a_nonce)))
| ~ party_of_protocol(encrypt(triple(a,generate_key(an_a_nonce),generate_expiration_time(an_a_nonce)),bt)) ),
inference(spm,[status(thm)],[c_0_53,c_0_102]),
[final] ).
cnf(c_0_173,plain,
( b_holds(key(generate_key(an_a_nonce),X1))
| ~ intruder_message(triple(X1,generate_key(an_a_nonce),generate_expiration_time(an_a_nonce)))
| ~ intruder_message(bt)
| ~ party_of_protocol(X1) ),
inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_132,c_0_106]),c_0_57]),
[final] ).
cnf(c_0_174,plain,
( message(sent(t,a,triple(encrypt(quadruple(b,X1,generate_key(X1),X2),at),encrypt(triple(a,generate_key(X1),X2),bt),X3)))
| ~ intruder_message(triple(a,X1,X2))
| ~ intruder_message(bt)
| ~ intruder_message(X3)
| ~ a_nonce(X1) ),
inference(spm,[status(thm)],[c_0_90,c_0_106]),
[final] ).
cnf(c_0_175,plain,
( message(sent(t,b,triple(encrypt(quadruple(a,X1,generate_key(X1),X2),bt),encrypt(triple(b,generate_key(X1),X2),at),X3)))
| ~ intruder_message(triple(b,X1,X2))
| ~ intruder_message(at)
| ~ intruder_message(X3)
| ~ a_nonce(X1) ),
inference(spm,[status(thm)],[c_0_142,c_0_106]),
[final] ).
cnf(c_0_176,plain,
( message(sent(t,b,triple(encrypt(quadruple(b,X1,generate_key(X1),X2),bt),encrypt(triple(b,generate_key(X1),X2),bt),X3)))
| ~ intruder_message(triple(b,X1,X2))
| ~ intruder_message(bt)
| ~ intruder_message(X3)
| ~ a_nonce(X1) ),
inference(spm,[status(thm)],[c_0_84,c_0_106]),
[final] ).
cnf(c_0_177,plain,
( b_holds(key(X1,X2))
| ~ intruder_message(triple(X2,X1,generate_expiration_time(X3)))
| ~ intruder_message(bt)
| ~ intruder_message(X3)
| ~ intruder_message(X4)
| ~ a_key(X1)
| ~ fresh_to_b(X3)
| ~ party_of_protocol(X2)
| ~ party_of_protocol(X4) ),
inference(csr,[status(thm)],[inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_143,c_0_106]),c_0_109]),c_0_57]),
[final] ).
cnf(c_0_178,plain,
( b_holds(key(X1,X2))
| ~ intruder_message(X1)
| ~ intruder_message(X2)
| ~ intruder_message(X3)
| ~ a_key(X1)
| ~ fresh_to_b(X1)
| ~ party_of_protocol(X2)
| ~ party_of_protocol(X3) ),
inference(spm,[status(thm)],[c_0_143,c_0_85]),
[final] ).
cnf(c_0_179,plain,
( b_holds(key(an_a_nonce,X1))
| ~ intruder_message(X1)
| ~ a_key(an_a_nonce)
| ~ party_of_protocol(X1) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_144,c_0_85]),c_0_117]),c_0_38])]),
[final] ).
cnf(c_0_180,plain,
( message(sent(a,b,pair(X1,encrypt(X2,X3))))
| ~ intruder_message(quadruple(b,an_a_nonce,X3,X4))
| ~ intruder_message(at)
| ~ intruder_message(X2)
| ~ intruder_message(X1) ),
inference(spm,[status(thm)],[c_0_97,c_0_106]),
[final] ).
cnf(c_0_181,plain,
( b_holds(key(X1,X2))
| ~ intruder_message(triple(X2,X1,generate_expiration_time(an_a_nonce)))
| ~ intruder_message(bt)
| ~ a_key(X1)
| ~ party_of_protocol(X2) ),
inference(csr,[status(thm)],[inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_144,c_0_106]),c_0_109]),c_0_57]),
[final] ).
cnf(c_0_182,plain,
( b_holds(key(X1,a))
| ~ intruder_message(triple(a,X1,generate_expiration_time(an_a_nonce)))
| ~ intruder_message(bt)
| ~ a_key(X1) ),
inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_145,c_0_106]),c_0_109]),
[final] ).
cnf(c_0_183,plain,
( b_holds(key(an_a_nonce,a))
| ~ a_key(an_a_nonce) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_145,c_0_91]),c_0_117])]),
[final] ).
cnf(c_0_184,plain,
( a_holds(key(X1,b))
| ~ intruder_message(quadruple(b,an_a_nonce,X1,X2))
| ~ intruder_message(at)
| ~ intruder_message(X3)
| ~ intruder_message(X4) ),
inference(spm,[status(thm)],[c_0_146,c_0_106]),
[final] ).
cnf(c_0_185,plain,
( intruder_message(quadruple(X1,X2,X3,X4))
| ~ intruder_message(X1)
| ~ intruder_message(X2)
| ~ intruder_message(X3)
| ~ intruder_message(X4) ),
inference(split_conjunct,[status(thm)],[c_0_147]),
[final] ).
cnf(c_0_186,plain,
( intruder_message(X2)
| ~ intruder_message(encrypt(X1,X2))
| ~ intruder_holds(key(X2,X3))
| ~ party_of_protocol(X3) ),
inference(split_conjunct,[status(thm)],[c_0_148]),
[final] ).
cnf(c_0_187,plain,
( intruder_message(X1)
| ~ intruder_message(quadruple(X1,X2,X3,X4)) ),
inference(split_conjunct,[status(thm)],[c_0_149]),
[final] ).
cnf(c_0_188,plain,
( intruder_message(X1)
| ~ intruder_message(quadruple(X2,X1,X3,X4)) ),
inference(split_conjunct,[status(thm)],[c_0_149]),
[final] ).
cnf(c_0_189,plain,
( intruder_message(X1)
| ~ intruder_message(quadruple(X2,X3,X1,X4)) ),
inference(split_conjunct,[status(thm)],[c_0_149]),
[final] ).
cnf(c_0_190,plain,
( intruder_message(X1)
| ~ intruder_message(quadruple(X2,X3,X4,X1)) ),
inference(split_conjunct,[status(thm)],[c_0_149]),
[final] ).
cnf(c_0_191,plain,
( ~ a_key(X1)
| ~ a_nonce(X1) ),
inference(split_conjunct,[status(thm)],[c_0_150]),
[final] ).
cnf(c_0_192,plain,
~ a_nonce(generate_key(X1)),
inference(split_conjunct,[status(thm)],[c_0_151]),
[final] ).
cnf(c_0_193,plain,
b_holds(key(generate_key(an_a_nonce),b)),
inference(spm,[status(thm)],[c_0_152,c_0_87]),
[final] ).
cnf(c_0_194,plain,
intruder_message(encrypt(triple(a,generate_key(an_a_nonce),generate_expiration_time(an_a_nonce)),bt)),
inference(spm,[status(thm)],[c_0_82,c_0_102]),
[final] ).
cnf(c_0_195,plain,
b_holds(key(generate_key(an_a_nonce),a)),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_79,c_0_89]),c_0_117]),c_0_95]),c_0_118]),c_0_38]),c_0_75])]),
[final] ).
cnf(c_0_196,plain,
a_holds(key(generate_key(an_a_nonce),b)),
inference(spm,[status(thm)],[c_0_115,c_0_76]),
[final] ).
cnf(c_0_197,plain,
b_holds(key(bt,t)),
inference(split_conjunct,[status(thm)],[b_hold_key_bt_for_t]),
[final] ).
cnf(c_0_198,plain,
a_holds(key(at,t)),
inference(split_conjunct,[status(thm)],[a_holds_key_at_for_t]),
[final] ).
cnf(c_0_199,plain,
a_nonce(generate_expiration_time(X1)),
inference(split_conjunct,[status(thm)],[c_0_153]),
[final] ).
cnf(c_0_200,plain,
a_nonce(generate_b_nonce(X1)),
inference(split_conjunct,[status(thm)],[c_0_153]),
[final] ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.11/0.13 % Problem : SWV015+1 : TPTP v9.2.1. Released v2.4.0.
% 0.11/0.13 % Command : /export/starexec/sandbox/solver/bin/lemma_parallel_prover %s --lemma-prover /export/starexec/sandbox/solver/bin/cse --final-prover /export/starexec/sandbox/solver/bin/eprover --proof-time %d --global-time-limit %d
% 0.15/0.34 % Computer : n018.cluster.edu
% 0.15/0.34 % Model : x86_64 x86_64
% 0.15/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.15/0.34 % Memory : 8042.1875MB
% 0.15/0.34 % OS : Linux 3.10.0-693.el7.x86_64
% 0.15/0.34 % CPULimit : 300
% 0.15/0.34 % WCLimit : 300
% 0.15/0.34 % DateTime : Tue May 5 04:53:17 EDT 2026
% 0.15/0.34 % CPUTime :
% 0.15/0.35 % start to proof: theBenchmark
% 1.32/1.74 % Version : CSE_E---1.7
% 1.32/1.74 % Problem : theBenchmark.p
% 1.32/1.74 % SZS status Satisfiable for theBenchmark.p
% 1.32/1.74 % SZS output start Saturation
% See solution above
% 1.32/1.75 % Total time : 1.372s
%------------------------------------------------------------------------------