TSTP Solution File: SWV014+1 by SInE---0.4
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : SInE---0.4
% Problem : SWV014+1 : TPTP v5.0.0. Released v2.4.0.
% Transfm : none
% Format : tptp:raw
% Command : Source/sine.py -e eprover -t %d %s
% Computer : art05.cs.miami.edu
% Model : i686 i686
% CPU : Intel(R) Pentium(R) 4 CPU 2.80GHz @ 2793MHz
% Memory : 2018MB
% OS : Linux 2.6.26.8-57.fc8
% CPULimit : 300s
% DateTime : Sun Dec 26 11:49:12 EST 2010
% Result : Theorem 0.17s
% Output : CNFRefutation 0.17s
% Verified :
% SZS Type : Refutation
% Derivation depth : 25
% Number of leaves : 14
% Syntax : Number of formulae : 85 ( 19 unt; 0 def)
% Number of atoms : 221 ( 0 equ)
% Maximal formula atoms : 6 ( 2 avg)
% Number of connectives : 235 ( 99 ~; 101 |; 26 &)
% ( 0 <=>; 9 =>; 0 <=; 0 <~>)
% Maximal formula depth : 8 ( 4 avg)
% Maximal term depth : 6 ( 2 avg)
% Number of predicates : 8 ( 7 usr; 1 prp; 0-1 aty)
% Number of functors : 12 ( 12 usr; 5 con; 0-3 aty)
% Number of variables : 123 ( 8 sgn 78 !; 2 ?)
% Comments :
%------------------------------------------------------------------------------
fof(1,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('/tmp/tmpgHQHHb/sel_SWV014+1.p_1',b_creates_freash_nonces_in_time) ).
fof(2,axiom,
! [X1,X2,X3] :
( ( intruder_message(X1)
& intruder_holds(key(X2,X3))
& party_of_protocol(X3) )
=> intruder_message(encrypt(X1,X2)) ),
file('/tmp/tmpgHQHHb/sel_SWV014+1.p_1',intruder_key_encrypts) ).
fof(7,axiom,
fresh_to_b(an_a_nonce),
file('/tmp/tmpgHQHHb/sel_SWV014+1.p_1',nonce_a_is_fresh_to_b) ).
fof(9,conjecture,
? [X1] :
( intruder_holds(key(X1,b))
& b_holds(key(X1,a)) ),
file('/tmp/tmpgHQHHb/sel_SWV014+1.p_1',co1) ).
fof(10,axiom,
! [X1,X2,X3] :
( message(sent(X1,X2,X3))
=> intruder_message(X3) ),
file('/tmp/tmpgHQHHb/sel_SWV014+1.p_1',intruder_can_record) ).
fof(11,axiom,
! [X1,X2,X3] :
( intruder_message(triple(X1,X2,X3))
=> ( intruder_message(X1)
& intruder_message(X2)
& intruder_message(X3) ) ),
file('/tmp/tmpgHQHHb/sel_SWV014+1.p_1',intruder_decomposes_triples) ).
fof(14,axiom,
party_of_protocol(b),
file('/tmp/tmpgHQHHb/sel_SWV014+1.p_1',b_is_party_of_protocol) ).
fof(15,axiom,
! [X2,X3] :
( ( intruder_message(X2)
& party_of_protocol(X3) )
=> intruder_holds(key(X2,X3)) ),
file('/tmp/tmpgHQHHb/sel_SWV014+1.p_1',intruder_holds_key) ).
fof(16,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('/tmp/tmpgHQHHb/sel_SWV014+1.p_1',b_accepts_secure_session_key) ).
fof(17,axiom,
message(sent(a,b,pair(a,an_a_nonce))),
file('/tmp/tmpgHQHHb/sel_SWV014+1.p_1',a_sent_message_i_to_b) ).
fof(18,axiom,
! [X1,X2] :
( ( intruder_message(X1)
& intruder_message(X2) )
=> intruder_message(pair(X1,X2)) ),
file('/tmp/tmpgHQHHb/sel_SWV014+1.p_1',intruder_composes_pairs) ).
fof(19,axiom,
party_of_protocol(a),
file('/tmp/tmpgHQHHb/sel_SWV014+1.p_1',a_is_party_of_protocol) ).
fof(27,axiom,
! [X1,X2] :
( intruder_message(pair(X1,X2))
=> ( intruder_message(X1)
& intruder_message(X2) ) ),
file('/tmp/tmpgHQHHb/sel_SWV014+1.p_1',intruder_decomposes_pairs) ).
fof(29,axiom,
! [X1,X2,X3] :
( ( intruder_message(X1)
& party_of_protocol(X2)
& party_of_protocol(X3) )
=> message(sent(X2,X3,X1)) ),
file('/tmp/tmpgHQHHb/sel_SWV014+1.p_1',intruder_message_sent) ).
fof(30,negated_conjecture,
~ ? [X1] :
( intruder_holds(key(X1,b))
& b_holds(key(X1,a)) ),
inference(assume_negation,[status(cth)],[9]) ).
fof(32,plain,
! [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)) ) ),
inference(fof_nnf,[status(thm)],[1]) ).
fof(33,plain,
! [X3,X4] :
( ~ message(sent(X3,b,pair(X3,X4)))
| ~ fresh_to_b(X4)
| ( message(sent(b,t,triple(b,generate_b_nonce(X4),encrypt(triple(X3,X4,generate_expiration_time(X4)),bt))))
& b_stored(pair(X3,X4)) ) ),
inference(variable_rename,[status(thm)],[32]) ).
fof(34,plain,
! [X3,X4] :
( ( message(sent(b,t,triple(b,generate_b_nonce(X4),encrypt(triple(X3,X4,generate_expiration_time(X4)),bt))))
| ~ message(sent(X3,b,pair(X3,X4)))
| ~ fresh_to_b(X4) )
& ( b_stored(pair(X3,X4))
| ~ message(sent(X3,b,pair(X3,X4)))
| ~ fresh_to_b(X4) ) ),
inference(distribute,[status(thm)],[33]) ).
cnf(35,plain,
( b_stored(pair(X2,X1))
| ~ fresh_to_b(X1)
| ~ message(sent(X2,b,pair(X2,X1))) ),
inference(split_conjunct,[status(thm)],[34]) ).
cnf(36,plain,
( message(sent(b,t,triple(b,generate_b_nonce(X1),encrypt(triple(X2,X1,generate_expiration_time(X1)),bt))))
| ~ fresh_to_b(X1)
| ~ message(sent(X2,b,pair(X2,X1))) ),
inference(split_conjunct,[status(thm)],[34]) ).
fof(37,plain,
! [X1,X2,X3] :
( ~ intruder_message(X1)
| ~ intruder_holds(key(X2,X3))
| ~ party_of_protocol(X3)
| intruder_message(encrypt(X1,X2)) ),
inference(fof_nnf,[status(thm)],[2]) ).
fof(38,plain,
! [X4,X5,X6] :
( ~ intruder_message(X4)
| ~ intruder_holds(key(X5,X6))
| ~ party_of_protocol(X6)
| intruder_message(encrypt(X4,X5)) ),
inference(variable_rename,[status(thm)],[37]) ).
cnf(39,plain,
( intruder_message(encrypt(X1,X2))
| ~ party_of_protocol(X3)
| ~ intruder_holds(key(X2,X3))
| ~ intruder_message(X1) ),
inference(split_conjunct,[status(thm)],[38]) ).
cnf(48,plain,
fresh_to_b(an_a_nonce),
inference(split_conjunct,[status(thm)],[7]) ).
fof(51,negated_conjecture,
! [X1] :
( ~ intruder_holds(key(X1,b))
| ~ b_holds(key(X1,a)) ),
inference(fof_nnf,[status(thm)],[30]) ).
fof(52,negated_conjecture,
! [X2] :
( ~ intruder_holds(key(X2,b))
| ~ b_holds(key(X2,a)) ),
inference(variable_rename,[status(thm)],[51]) ).
cnf(53,negated_conjecture,
( ~ b_holds(key(X1,a))
| ~ intruder_holds(key(X1,b)) ),
inference(split_conjunct,[status(thm)],[52]) ).
fof(54,plain,
! [X1,X2,X3] :
( ~ message(sent(X1,X2,X3))
| intruder_message(X3) ),
inference(fof_nnf,[status(thm)],[10]) ).
fof(55,plain,
! [X4,X5,X6] :
( ~ message(sent(X4,X5,X6))
| intruder_message(X6) ),
inference(variable_rename,[status(thm)],[54]) ).
cnf(56,plain,
( intruder_message(X1)
| ~ message(sent(X2,X3,X1)) ),
inference(split_conjunct,[status(thm)],[55]) ).
fof(57,plain,
! [X1,X2,X3] :
( ~ intruder_message(triple(X1,X2,X3))
| ( intruder_message(X1)
& intruder_message(X2)
& intruder_message(X3) ) ),
inference(fof_nnf,[status(thm)],[11]) ).
fof(58,plain,
! [X4,X5,X6] :
( ~ intruder_message(triple(X4,X5,X6))
| ( intruder_message(X4)
& intruder_message(X5)
& intruder_message(X6) ) ),
inference(variable_rename,[status(thm)],[57]) ).
fof(59,plain,
! [X4,X5,X6] :
( ( intruder_message(X4)
| ~ intruder_message(triple(X4,X5,X6)) )
& ( intruder_message(X5)
| ~ intruder_message(triple(X4,X5,X6)) )
& ( intruder_message(X6)
| ~ intruder_message(triple(X4,X5,X6)) ) ),
inference(distribute,[status(thm)],[58]) ).
cnf(60,plain,
( intruder_message(X3)
| ~ intruder_message(triple(X1,X2,X3)) ),
inference(split_conjunct,[status(thm)],[59]) ).
cnf(61,plain,
( intruder_message(X2)
| ~ intruder_message(triple(X1,X2,X3)) ),
inference(split_conjunct,[status(thm)],[59]) ).
cnf(65,plain,
party_of_protocol(b),
inference(split_conjunct,[status(thm)],[14]) ).
fof(66,plain,
! [X2,X3] :
( ~ intruder_message(X2)
| ~ party_of_protocol(X3)
| intruder_holds(key(X2,X3)) ),
inference(fof_nnf,[status(thm)],[15]) ).
fof(67,plain,
! [X4,X5] :
( ~ intruder_message(X4)
| ~ party_of_protocol(X5)
| intruder_holds(key(X4,X5)) ),
inference(variable_rename,[status(thm)],[66]) ).
cnf(68,plain,
( intruder_holds(key(X1,X2))
| ~ party_of_protocol(X2)
| ~ intruder_message(X1) ),
inference(split_conjunct,[status(thm)],[67]) ).
fof(69,plain,
! [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)) ),
inference(fof_nnf,[status(thm)],[16]) ).
fof(70,plain,
! [X6,X7,X8] :
( ~ message(sent(X7,b,pair(encrypt(triple(X7,X6,generate_expiration_time(X8)),bt),encrypt(generate_b_nonce(X8),X6))))
| ~ b_stored(pair(X7,X8))
| b_holds(key(X6,X7)) ),
inference(variable_rename,[status(thm)],[69]) ).
cnf(71,plain,
( b_holds(key(X1,X2))
| ~ b_stored(pair(X2,X3))
| ~ message(sent(X2,b,pair(encrypt(triple(X2,X1,generate_expiration_time(X3)),bt),encrypt(generate_b_nonce(X3),X1)))) ),
inference(split_conjunct,[status(thm)],[70]) ).
cnf(72,plain,
message(sent(a,b,pair(a,an_a_nonce))),
inference(split_conjunct,[status(thm)],[17]) ).
fof(73,plain,
! [X1,X2] :
( ~ intruder_message(X1)
| ~ intruder_message(X2)
| intruder_message(pair(X1,X2)) ),
inference(fof_nnf,[status(thm)],[18]) ).
fof(74,plain,
! [X3,X4] :
( ~ intruder_message(X3)
| ~ intruder_message(X4)
| intruder_message(pair(X3,X4)) ),
inference(variable_rename,[status(thm)],[73]) ).
cnf(75,plain,
( intruder_message(pair(X1,X2))
| ~ intruder_message(X2)
| ~ intruder_message(X1) ),
inference(split_conjunct,[status(thm)],[74]) ).
cnf(76,plain,
party_of_protocol(a),
inference(split_conjunct,[status(thm)],[19]) ).
fof(96,plain,
! [X1,X2] :
( ~ intruder_message(pair(X1,X2))
| ( intruder_message(X1)
& intruder_message(X2) ) ),
inference(fof_nnf,[status(thm)],[27]) ).
fof(97,plain,
! [X3,X4] :
( ~ intruder_message(pair(X3,X4))
| ( intruder_message(X3)
& intruder_message(X4) ) ),
inference(variable_rename,[status(thm)],[96]) ).
fof(98,plain,
! [X3,X4] :
( ( intruder_message(X3)
| ~ intruder_message(pair(X3,X4)) )
& ( intruder_message(X4)
| ~ intruder_message(pair(X3,X4)) ) ),
inference(distribute,[status(thm)],[97]) ).
cnf(99,plain,
( intruder_message(X2)
| ~ intruder_message(pair(X1,X2)) ),
inference(split_conjunct,[status(thm)],[98]) ).
fof(106,plain,
! [X1,X2,X3] :
( ~ intruder_message(X1)
| ~ party_of_protocol(X2)
| ~ party_of_protocol(X3)
| message(sent(X2,X3,X1)) ),
inference(fof_nnf,[status(thm)],[29]) ).
fof(107,plain,
! [X4,X5,X6] :
( ~ intruder_message(X4)
| ~ party_of_protocol(X5)
| ~ party_of_protocol(X6)
| message(sent(X5,X6,X4)) ),
inference(variable_rename,[status(thm)],[106]) ).
cnf(108,plain,
( message(sent(X1,X2,X3))
| ~ party_of_protocol(X2)
| ~ party_of_protocol(X1)
| ~ intruder_message(X3) ),
inference(split_conjunct,[status(thm)],[107]) ).
cnf(111,plain,
intruder_message(pair(a,an_a_nonce)),
inference(spm,[status(thm)],[56,72,theory(equality)]) ).
cnf(112,plain,
( intruder_message(encrypt(X1,X2))
| ~ party_of_protocol(X3)
| ~ intruder_message(X1)
| ~ intruder_message(X2) ),
inference(spm,[status(thm)],[39,68,theory(equality)]) ).
cnf(118,plain,
( b_stored(pair(a,an_a_nonce))
| ~ fresh_to_b(an_a_nonce) ),
inference(spm,[status(thm)],[35,72,theory(equality)]) ).
cnf(120,plain,
( b_stored(pair(a,an_a_nonce))
| $false ),
inference(rw,[status(thm)],[118,48,theory(equality)]) ).
cnf(121,plain,
b_stored(pair(a,an_a_nonce)),
inference(cn,[status(thm)],[120,theory(equality)]) ).
cnf(129,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))))
| ~ fresh_to_b(an_a_nonce) ),
inference(spm,[status(thm)],[36,72,theory(equality)]) ).
cnf(131,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))))
| $false ),
inference(rw,[status(thm)],[129,48,theory(equality)]) ).
cnf(132,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)],[131,theory(equality)]) ).
cnf(138,plain,
intruder_message(an_a_nonce),
inference(spm,[status(thm)],[99,111,theory(equality)]) ).
cnf(140,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)],[71,121,theory(equality)]) ).
cnf(141,plain,
( intruder_message(encrypt(X1,X2))
| ~ intruder_message(X1)
| ~ intruder_message(X2) ),
inference(spm,[status(thm)],[112,65,theory(equality)]) ).
cnf(151,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)],[56,132,theory(equality)]) ).
cnf(152,plain,
intruder_message(encrypt(triple(a,an_a_nonce,generate_expiration_time(an_a_nonce)),bt)),
inference(spm,[status(thm)],[60,151,theory(equality)]) ).
cnf(153,plain,
intruder_message(generate_b_nonce(an_a_nonce)),
inference(spm,[status(thm)],[61,151,theory(equality)]) ).
cnf(167,plain,
( b_holds(key(X1,a))
| ~ party_of_protocol(b)
| ~ party_of_protocol(a)
| ~ intruder_message(pair(encrypt(triple(a,X1,generate_expiration_time(an_a_nonce)),bt),encrypt(generate_b_nonce(an_a_nonce),X1))) ),
inference(spm,[status(thm)],[140,108,theory(equality)]) ).
cnf(168,plain,
( b_holds(key(X1,a))
| $false
| ~ party_of_protocol(a)
| ~ intruder_message(pair(encrypt(triple(a,X1,generate_expiration_time(an_a_nonce)),bt),encrypt(generate_b_nonce(an_a_nonce),X1))) ),
inference(rw,[status(thm)],[167,65,theory(equality)]) ).
cnf(169,plain,
( b_holds(key(X1,a))
| $false
| $false
| ~ intruder_message(pair(encrypt(triple(a,X1,generate_expiration_time(an_a_nonce)),bt),encrypt(generate_b_nonce(an_a_nonce),X1))) ),
inference(rw,[status(thm)],[168,76,theory(equality)]) ).
cnf(170,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)],[169,theory(equality)]) ).
cnf(171,plain,
( b_holds(key(X1,a))
| ~ intruder_message(encrypt(generate_b_nonce(an_a_nonce),X1))
| ~ intruder_message(encrypt(triple(a,X1,generate_expiration_time(an_a_nonce)),bt)) ),
inference(spm,[status(thm)],[170,75,theory(equality)]) ).
cnf(172,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)],[171,141,theory(equality)]) ).
cnf(173,plain,
( b_holds(key(X1,a))
| ~ intruder_message(encrypt(triple(a,X1,generate_expiration_time(an_a_nonce)),bt))
| $false
| ~ intruder_message(X1) ),
inference(rw,[status(thm)],[172,153,theory(equality)]) ).
cnf(174,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)],[173,theory(equality)]) ).
cnf(175,plain,
( b_holds(key(an_a_nonce,a))
| ~ intruder_message(an_a_nonce) ),
inference(spm,[status(thm)],[174,152,theory(equality)]) ).
cnf(177,plain,
( b_holds(key(an_a_nonce,a))
| $false ),
inference(rw,[status(thm)],[175,138,theory(equality)]) ).
cnf(178,plain,
b_holds(key(an_a_nonce,a)),
inference(cn,[status(thm)],[177,theory(equality)]) ).
cnf(179,negated_conjecture,
~ intruder_holds(key(an_a_nonce,b)),
inference(spm,[status(thm)],[53,178,theory(equality)]) ).
cnf(180,negated_conjecture,
( ~ party_of_protocol(b)
| ~ intruder_message(an_a_nonce) ),
inference(spm,[status(thm)],[179,68,theory(equality)]) ).
cnf(181,negated_conjecture,
( $false
| ~ intruder_message(an_a_nonce) ),
inference(rw,[status(thm)],[180,65,theory(equality)]) ).
cnf(182,negated_conjecture,
( $false
| $false ),
inference(rw,[status(thm)],[181,138,theory(equality)]) ).
cnf(183,negated_conjecture,
$false,
inference(cn,[status(thm)],[182,theory(equality)]) ).
cnf(184,negated_conjecture,
$false,
183,
[proof] ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% % SZS status Started for /home/graph/tptp/TPTP/Problems/SWV/SWV014+1.p
% --creating new selector for []
% -running prover on /tmp/tmpgHQHHb/sel_SWV014+1.p_1 with time limit 29
% -prover status Theorem
% Problem SWV014+1.p solved in phase 0.
% % SZS status Theorem for /home/graph/tptp/TPTP/Problems/SWV/SWV014+1.p
% % SZS status Ended for /home/graph/tptp/TPTP/Problems/SWV/SWV014+1.p
% Solved 1 out of 1.
% # Problem is unsatisfiable (or provable), constructing proof object
% # SZS status Theorem
% # SZS output start CNFRefutation.
% See solution above
% # SZS output end CNFRefutation
%
%------------------------------------------------------------------------------