TSTP Solution File: SWV014+1 by CSE_E---1.5
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : CSE_E---1.5
% Problem : SWV014+1 : TPTP v8.1.2. Released v2.4.0.
% Transfm : none
% Format : tptp:raw
% Command : java -jar /export/starexec/sandbox/solver/bin/mcs_scs.jar %d %s
% Computer : n026.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 21:36:08 EDT 2023
% Result : Theorem 0.21s 0.61s
% Output : CNFRefutation 0.21s
% Verified :
% SZS Type : Refutation
% Derivation depth : 11
% Number of leaves : 40
% Syntax : Number of formulae : 84 ( 18 unt; 26 typ; 0 def)
% Number of atoms : 143 ( 0 equ)
% Maximal formula atoms : 6 ( 2 avg)
% Number of connectives : 147 ( 62 ~; 58 |; 18 &)
% ( 0 <=>; 9 =>; 0 <=; 0 <~>)
% Maximal formula depth : 8 ( 4 avg)
% Maximal term depth : 6 ( 2 avg)
% Number of types : 2 ( 0 usr)
% Number of type conns : 30 ( 20 >; 10 *; 0 +; 0 <<)
% Number of predicates : 12 ( 11 usr; 1 prp; 0-1 aty)
% Number of functors : 15 ( 15 usr; 6 con; 0-4 aty)
% Number of variables : 88 ( 8 sgn; 47 !; 2 ?; 0 :)
% Comments :
%------------------------------------------------------------------------------
tff(decl_22,type,
at: $i ).
tff(decl_23,type,
t: $i ).
tff(decl_24,type,
key: ( $i * $i ) > $i ).
tff(decl_25,type,
a_holds: $i > $o ).
tff(decl_26,type,
a: $i ).
tff(decl_27,type,
party_of_protocol: $i > $o ).
tff(decl_28,type,
b: $i ).
tff(decl_29,type,
an_a_nonce: $i ).
tff(decl_30,type,
pair: ( $i * $i ) > $i ).
tff(decl_31,type,
sent: ( $i * $i * $i ) > $i ).
tff(decl_32,type,
message: $i > $o ).
tff(decl_33,type,
a_stored: $i > $o ).
tff(decl_34,type,
quadruple: ( $i * $i * $i * $i ) > $i ).
tff(decl_35,type,
encrypt: ( $i * $i ) > $i ).
tff(decl_36,type,
triple: ( $i * $i * $i ) > $i ).
tff(decl_37,type,
bt: $i ).
tff(decl_38,type,
b_holds: $i > $o ).
tff(decl_39,type,
fresh_to_b: $i > $o ).
tff(decl_40,type,
generate_b_nonce: $i > $i ).
tff(decl_41,type,
generate_expiration_time: $i > $i ).
tff(decl_42,type,
b_stored: $i > $o ).
tff(decl_43,type,
t_holds: $i > $o ).
tff(decl_44,type,
a_nonce: $i > $o ).
tff(decl_45,type,
generate_key: $i > $i ).
tff(decl_46,type,
intruder_message: $i > $o ).
tff(decl_47,type,
intruder_holds: $i > $o ).
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(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))))
& b_stored(pair(X4,X5)) )
=> b_holds(key(X2,X4)) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',b_accepts_secure_session_key) ).
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(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(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(b_is_party_of_protocol,axiom,
party_of_protocol(b),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',b_is_party_of_protocol) ).
fof(a_is_party_of_protocol,axiom,
party_of_protocol(a),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',a_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(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(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(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(co1,conjecture,
? [X1] :
( intruder_holds(key(X1,b))
& b_holds(key(X1,a)) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',co1) ).
fof(c_0_14,plain,
! [X14,X15] :
( ( message(sent(b,t,triple(b,generate_b_nonce(X15),encrypt(triple(X14,X15,generate_expiration_time(X15)),bt))))
| ~ message(sent(X14,b,pair(X14,X15)))
| ~ fresh_to_b(X15) )
& ( b_stored(pair(X14,X15))
| ~ message(sent(X14,b,pair(X14,X15)))
| ~ fresh_to_b(X15) ) ),
inference(distribute,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[b_creates_freash_nonces_in_time])])]) ).
fof(c_0_15,plain,
! [X16,X17,X18] :
( ~ message(sent(X17,b,pair(encrypt(triple(X17,X16,generate_expiration_time(X18)),bt),encrypt(generate_b_nonce(X18),X16))))
| ~ b_stored(pair(X17,X18))
| b_holds(key(X16,X17)) ),
inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[b_accepts_secure_session_key])]) ).
cnf(c_0_16,plain,
( b_stored(pair(X1,X2))
| ~ message(sent(X1,b,pair(X1,X2)))
| ~ fresh_to_b(X2) ),
inference(split_conjunct,[status(thm)],[c_0_14]) ).
cnf(c_0_17,plain,
message(sent(a,b,pair(a,an_a_nonce))),
inference(split_conjunct,[status(thm)],[a_sent_message_i_to_b]) ).
cnf(c_0_18,plain,
fresh_to_b(an_a_nonce),
inference(split_conjunct,[status(thm)],[nonce_a_is_fresh_to_b]) ).
cnf(c_0_19,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))))
| ~ b_stored(pair(X1,X3)) ),
inference(split_conjunct,[status(thm)],[c_0_15]) ).
cnf(c_0_20,plain,
b_stored(pair(a,an_a_nonce)),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_16,c_0_17]),c_0_18])]) ).
fof(c_0_21,plain,
! [X50,X51,X52] :
( ~ intruder_message(X50)
| ~ party_of_protocol(X51)
| ~ party_of_protocol(X52)
| message(sent(X51,X52,X50)) ),
inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[intruder_message_sent])]) ).
fof(c_0_22,plain,
! [X55,X56,X57] :
( ~ intruder_message(X55)
| ~ intruder_holds(key(X56,X57))
| ~ party_of_protocol(X57)
| intruder_message(encrypt(X55,X56)) ),
inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[intruder_key_encrypts])]) ).
fof(c_0_23,plain,
! [X53,X54] :
( ~ intruder_message(X53)
| ~ party_of_protocol(X54)
| intruder_holds(key(X53,X54)) ),
inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[intruder_holds_key])]) ).
cnf(c_0_24,plain,
( b_holds(key(X1,a))
| ~ 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_19,c_0_20]) ).
cnf(c_0_25,plain,
( message(sent(X2,X3,X1))
| ~ intruder_message(X1)
| ~ party_of_protocol(X2)
| ~ party_of_protocol(X3) ),
inference(split_conjunct,[status(thm)],[c_0_21]) ).
cnf(c_0_26,plain,
party_of_protocol(b),
inference(split_conjunct,[status(thm)],[b_is_party_of_protocol]) ).
cnf(c_0_27,plain,
party_of_protocol(a),
inference(split_conjunct,[status(thm)],[a_is_party_of_protocol]) ).
fof(c_0_28,plain,
! [X38,X39] :
( ~ intruder_message(X38)
| ~ intruder_message(X39)
| intruder_message(pair(X38,X39)) ),
inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[intruder_composes_pairs])]) ).
cnf(c_0_29,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_22]) ).
cnf(c_0_30,plain,
( intruder_holds(key(X1,X2))
| ~ intruder_message(X1)
| ~ party_of_protocol(X2) ),
inference(split_conjunct,[status(thm)],[c_0_23]) ).
fof(c_0_31,plain,
! [X26,X27,X28] :
( ~ message(sent(X26,X27,X28))
| intruder_message(X28) ),
inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[intruder_can_record])]) ).
cnf(c_0_32,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_14]) ).
cnf(c_0_33,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))) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_24,c_0_25]),c_0_26]),c_0_27])]) ).
cnf(c_0_34,plain,
( intruder_message(pair(X1,X2))
| ~ intruder_message(X1)
| ~ intruder_message(X2) ),
inference(split_conjunct,[status(thm)],[c_0_28]) ).
cnf(c_0_35,plain,
( intruder_message(encrypt(X1,X2))
| ~ intruder_message(X1)
| ~ intruder_message(X2)
| ~ party_of_protocol(X3) ),
inference(spm,[status(thm)],[c_0_29,c_0_30]) ).
fof(c_0_36,plain,
! [X31,X32,X33] :
( ( intruder_message(X31)
| ~ intruder_message(triple(X31,X32,X33)) )
& ( intruder_message(X32)
| ~ intruder_message(triple(X31,X32,X33)) )
& ( intruder_message(X33)
| ~ intruder_message(triple(X31,X32,X33)) ) ),
inference(distribute,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[intruder_decomposes_triples])])]) ).
cnf(c_0_37,plain,
( intruder_message(X3)
| ~ message(sent(X1,X2,X3)) ),
inference(split_conjunct,[status(thm)],[c_0_31]) ).
cnf(c_0_38,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_32,c_0_17]),c_0_18])]) ).
cnf(c_0_39,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)) ),
inference(spm,[status(thm)],[c_0_33,c_0_34]) ).
cnf(c_0_40,plain,
( intruder_message(encrypt(X1,X2))
| ~ intruder_message(X1)
| ~ intruder_message(X2) ),
inference(spm,[status(thm)],[c_0_35,c_0_26]) ).
cnf(c_0_41,plain,
( intruder_message(X1)
| ~ intruder_message(triple(X2,X1,X3)) ),
inference(split_conjunct,[status(thm)],[c_0_36]) ).
cnf(c_0_42,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_37,c_0_38]) ).
fof(c_0_43,plain,
! [X29,X30] :
( ( intruder_message(X29)
| ~ intruder_message(pair(X29,X30)) )
& ( intruder_message(X30)
| ~ intruder_message(pair(X29,X30)) ) ),
inference(distribute,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[intruder_decomposes_pairs])])]) ).
fof(c_0_44,negated_conjecture,
~ ? [X1] :
( intruder_holds(key(X1,b))
& b_holds(key(X1,a)) ),
inference(assume_negation,[status(cth)],[co1]) ).
cnf(c_0_45,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) ),
inference(spm,[status(thm)],[c_0_39,c_0_40]) ).
cnf(c_0_46,plain,
intruder_message(generate_b_nonce(an_a_nonce)),
inference(spm,[status(thm)],[c_0_41,c_0_42]) ).
cnf(c_0_47,plain,
( intruder_message(X1)
| ~ intruder_message(triple(X2,X3,X1)) ),
inference(split_conjunct,[status(thm)],[c_0_36]) ).
cnf(c_0_48,plain,
( intruder_message(X1)
| ~ intruder_message(pair(X2,X1)) ),
inference(split_conjunct,[status(thm)],[c_0_43]) ).
cnf(c_0_49,plain,
intruder_message(pair(a,an_a_nonce)),
inference(spm,[status(thm)],[c_0_37,c_0_17]) ).
fof(c_0_50,negated_conjecture,
! [X60] :
( ~ intruder_holds(key(X60,b))
| ~ b_holds(key(X60,a)) ),
inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_44])]) ).
cnf(c_0_51,plain,
( b_holds(key(X1,a))
| ~ intruder_message(encrypt(triple(a,X1,generate_expiration_time(an_a_nonce)),bt))
| ~ intruder_message(X1) ),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_45,c_0_46])]) ).
cnf(c_0_52,plain,
intruder_message(encrypt(triple(a,an_a_nonce,generate_expiration_time(an_a_nonce)),bt)),
inference(spm,[status(thm)],[c_0_47,c_0_42]) ).
cnf(c_0_53,plain,
intruder_message(an_a_nonce),
inference(spm,[status(thm)],[c_0_48,c_0_49]) ).
cnf(c_0_54,negated_conjecture,
( ~ intruder_holds(key(X1,b))
| ~ b_holds(key(X1,a)) ),
inference(split_conjunct,[status(thm)],[c_0_50]) ).
cnf(c_0_55,plain,
b_holds(key(an_a_nonce,a)),
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_51,c_0_52]),c_0_53])]) ).
cnf(c_0_56,negated_conjecture,
~ intruder_holds(key(an_a_nonce,b)),
inference(spm,[status(thm)],[c_0_54,c_0_55]) ).
cnf(c_0_57,negated_conjecture,
$false,
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_56,c_0_30]),c_0_53]),c_0_26])]),
[proof] ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.13 % Problem : SWV014+1 : TPTP v8.1.2. Released v2.4.0.
% 0.00/0.13 % Command : java -jar /export/starexec/sandbox/solver/bin/mcs_scs.jar %d %s
% 0.14/0.35 % Computer : n026.cluster.edu
% 0.14/0.35 % Model : x86_64 x86_64
% 0.14/0.35 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.35 % Memory : 8042.1875MB
% 0.14/0.35 % OS : Linux 3.10.0-693.el7.x86_64
% 0.14/0.35 % CPULimit : 300
% 0.14/0.35 % WCLimit : 300
% 0.14/0.35 % DateTime : Tue Aug 29 06:48:35 EDT 2023
% 0.14/0.35 % CPUTime :
% 0.21/0.59 start to proof: theBenchmark
% 0.21/0.61 % Version : CSE_E---1.5
% 0.21/0.61 % Problem : theBenchmark.p
% 0.21/0.61 % Proof found
% 0.21/0.61 % SZS status Theorem for theBenchmark.p
% 0.21/0.61 % SZS output start Proof
% See solution above
% 0.21/0.61 % Total time : 0.011000 s
% 0.21/0.61 % SZS output end Proof
% 0.21/0.61 % Total time : 0.014000 s
%------------------------------------------------------------------------------