TSTP Solution File: SWV017+1 by iProver---3.8
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : iProver---3.8
% Problem : SWV017+1 : TPTP v8.1.2. Released v2.4.0.
% Transfm : none
% Format : tptp:raw
% Command : run_iprover %s %d THM
% Computer : n023.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 22:30:45 EDT 2023
% Result : Satisfiable 1.33s 1.14s
% Output : Saturation 1.33s
% Verified :
% SZS Type : ERROR: Analysing output (MakeTreeStats fails)
% Comments :
%------------------------------------------------------------------------------
fof(f2,axiom,
party_of_protocol(a),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',a_is_party_of_protocol) ).
fof(f3,axiom,
message(sent(a,b,pair(a,an_a_nonce))),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',a_sent_message_i_to_b) ).
fof(f4,axiom,
a_stored(pair(b,an_a_nonce)),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',a_stored_message_i) ).
fof(f5,axiom,
! [X0,X1,X2,X3,X4,X5] :
( ( a_stored(pair(X4,X5))
& message(sent(t,a,triple(encrypt(quadruple(X4,X5,X2,X1),at),X3,X0))) )
=> ( a_holds(key(X2,X4))
& message(sent(a,X4,pair(X3,encrypt(X0,X2)))) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',a_forwards_secure) ).
fof(f7,axiom,
party_of_protocol(b),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',b_is_party_of_protocol) ).
fof(f8,axiom,
fresh_to_b(an_a_nonce),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',nonce_a_is_fresh_to_b) ).
fof(f9,axiom,
! [X0,X1] :
( ( fresh_to_b(X1)
& message(sent(X0,b,pair(X0,X1))) )
=> ( b_stored(pair(X0,X1))
& message(sent(b,t,triple(b,generate_b_nonce(X1),encrypt(triple(X0,X1,generate_expiration_time(X1)),bt)))) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',b_creates_freash_nonces_in_time) ).
fof(f11,axiom,
t_holds(key(at,a)),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',t_holds_key_at_for_a) ).
fof(f12,axiom,
t_holds(key(bt,b)),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',t_holds_key_bt_for_b) ).
fof(f13,axiom,
party_of_protocol(t),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',t_is_party_of_protocol) ).
fof(f14,axiom,
! [X0,X1,X2,X3,X4,X5,X6] :
( ( a_nonce(X3)
& t_holds(key(X6,X2))
& t_holds(key(X5,X0))
& message(sent(X0,t,triple(X0,X1,encrypt(triple(X2,X3,X4),X5)))) )
=> message(sent(t,X2,triple(encrypt(quadruple(X0,X3,generate_key(X3),X4),X6),encrypt(triple(X2,generate_key(X3),X4),X5),X1))) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',server_t_generates_key) ).
fof(f15,axiom,
! [X0,X1,X2] :
( message(sent(X0,X1,X2))
=> intruder_message(X2) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_can_record) ).
fof(f16,axiom,
! [X0,X1] :
( intruder_message(pair(X0,X1))
=> ( intruder_message(X1)
& intruder_message(X0) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_decomposes_pairs) ).
fof(f17,axiom,
! [X0,X1,X2] :
( intruder_message(triple(X0,X1,X2))
=> ( intruder_message(X2)
& intruder_message(X1)
& intruder_message(X0) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_decomposes_triples) ).
fof(f18,axiom,
! [X0,X1,X2,X3] :
( intruder_message(quadruple(X0,X1,X2,X3))
=> ( intruder_message(X3)
& intruder_message(X2)
& intruder_message(X1)
& intruder_message(X0) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_decomposes_quadruples) ).
fof(f19,axiom,
! [X0,X1] :
( ( intruder_message(X1)
& intruder_message(X0) )
=> intruder_message(pair(X0,X1)) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_composes_pairs) ).
fof(f20,axiom,
! [X0,X1,X2] :
( ( intruder_message(X2)
& intruder_message(X1)
& intruder_message(X0) )
=> intruder_message(triple(X0,X1,X2)) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_composes_triples) ).
fof(f21,axiom,
! [X0,X1,X2,X3] :
( ( intruder_message(X3)
& intruder_message(X2)
& intruder_message(X1)
& intruder_message(X0) )
=> intruder_message(quadruple(X0,X1,X2,X3)) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_composes_quadruples) ).
fof(f22,axiom,
! [X0,X1,X2] :
( ( party_of_protocol(X2)
& intruder_holds(key(X1,X2))
& intruder_message(encrypt(X0,X1)) )
=> intruder_message(X1) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_interception) ).
fof(f23,axiom,
! [X0,X1,X2] :
( ( party_of_protocol(X2)
& party_of_protocol(X1)
& intruder_message(X0) )
=> message(sent(X1,X2,X0)) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_message_sent) ).
fof(f24,axiom,
! [X1,X2] :
( ( party_of_protocol(X2)
& intruder_message(X1) )
=> intruder_holds(key(X1,X2)) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_holds_key) ).
fof(f25,axiom,
! [X0,X1,X2] :
( ( party_of_protocol(X2)
& intruder_holds(key(X1,X2))
& intruder_message(X0) )
=> intruder_message(encrypt(X0,X1)) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_key_encrypts) ).
fof(f27,axiom,
! [X0] : ~ a_nonce(generate_key(X0)),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',generated_keys_are_not_nonces) ).
fof(f31,axiom,
fresh_intruder_nonce(an_intruder_nonce),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',an_intruder_nonce_is_a_fresh_intruder_nonce) ).
fof(f32,axiom,
! [X0] :
( fresh_intruder_nonce(X0)
=> fresh_intruder_nonce(generate_intruder_nonce(X0)) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',can_generate_more_fresh_intruder_nonces) ).
fof(f33,axiom,
! [X0] :
( fresh_intruder_nonce(X0)
=> ( intruder_message(X0)
& fresh_to_b(X0) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',fresh_intruder_nonces_are_fresh_to_b) ).
fof(f35,plain,
! [X0,X1] :
( ( party_of_protocol(X1)
& intruder_message(X0) )
=> intruder_holds(key(X0,X1)) ),
inference(rectify,[],[f24]) ).
fof(f38,plain,
! [X0,X1] :
( ( fresh_to_b(X1)
& message(sent(X0,b,pair(X0,X1))) )
=> message(sent(b,t,triple(b,generate_b_nonce(X1),encrypt(triple(X0,X1,generate_expiration_time(X1)),bt)))) ),
inference(pure_predicate_removal,[],[f9]) ).
fof(f40,plain,
! [X0,X1,X2,X3,X4,X5] :
( ( a_stored(pair(X4,X5))
& message(sent(t,a,triple(encrypt(quadruple(X4,X5,X2,X1),at),X3,X0))) )
=> message(sent(a,X4,pair(X3,encrypt(X0,X2)))) ),
inference(pure_predicate_removal,[],[f5]) ).
fof(f41,plain,
! [X0,X1,X2,X3,X4,X5] :
( message(sent(a,X4,pair(X3,encrypt(X0,X2))))
| ~ a_stored(pair(X4,X5))
| ~ message(sent(t,a,triple(encrypt(quadruple(X4,X5,X2,X1),at),X3,X0))) ),
inference(ennf_transformation,[],[f40]) ).
fof(f42,plain,
! [X0,X1,X2,X3,X4,X5] :
( message(sent(a,X4,pair(X3,encrypt(X0,X2))))
| ~ a_stored(pair(X4,X5))
| ~ message(sent(t,a,triple(encrypt(quadruple(X4,X5,X2,X1),at),X3,X0))) ),
inference(flattening,[],[f41]) ).
fof(f43,plain,
! [X0,X1] :
( message(sent(b,t,triple(b,generate_b_nonce(X1),encrypt(triple(X0,X1,generate_expiration_time(X1)),bt))))
| ~ fresh_to_b(X1)
| ~ message(sent(X0,b,pair(X0,X1))) ),
inference(ennf_transformation,[],[f38]) ).
fof(f44,plain,
! [X0,X1] :
( message(sent(b,t,triple(b,generate_b_nonce(X1),encrypt(triple(X0,X1,generate_expiration_time(X1)),bt))))
| ~ fresh_to_b(X1)
| ~ message(sent(X0,b,pair(X0,X1))) ),
inference(flattening,[],[f43]) ).
fof(f45,plain,
! [X0,X1,X2,X3,X4,X5,X6] :
( message(sent(t,X2,triple(encrypt(quadruple(X0,X3,generate_key(X3),X4),X6),encrypt(triple(X2,generate_key(X3),X4),X5),X1)))
| ~ a_nonce(X3)
| ~ t_holds(key(X6,X2))
| ~ t_holds(key(X5,X0))
| ~ message(sent(X0,t,triple(X0,X1,encrypt(triple(X2,X3,X4),X5)))) ),
inference(ennf_transformation,[],[f14]) ).
fof(f46,plain,
! [X0,X1,X2,X3,X4,X5,X6] :
( message(sent(t,X2,triple(encrypt(quadruple(X0,X3,generate_key(X3),X4),X6),encrypt(triple(X2,generate_key(X3),X4),X5),X1)))
| ~ a_nonce(X3)
| ~ t_holds(key(X6,X2))
| ~ t_holds(key(X5,X0))
| ~ message(sent(X0,t,triple(X0,X1,encrypt(triple(X2,X3,X4),X5)))) ),
inference(flattening,[],[f45]) ).
fof(f47,plain,
! [X0,X1,X2] :
( intruder_message(X2)
| ~ message(sent(X0,X1,X2)) ),
inference(ennf_transformation,[],[f15]) ).
fof(f48,plain,
! [X0,X1] :
( ( intruder_message(X1)
& intruder_message(X0) )
| ~ intruder_message(pair(X0,X1)) ),
inference(ennf_transformation,[],[f16]) ).
fof(f49,plain,
! [X0,X1,X2] :
( ( intruder_message(X2)
& intruder_message(X1)
& intruder_message(X0) )
| ~ intruder_message(triple(X0,X1,X2)) ),
inference(ennf_transformation,[],[f17]) ).
fof(f50,plain,
! [X0,X1,X2,X3] :
( ( intruder_message(X3)
& intruder_message(X2)
& intruder_message(X1)
& intruder_message(X0) )
| ~ intruder_message(quadruple(X0,X1,X2,X3)) ),
inference(ennf_transformation,[],[f18]) ).
fof(f51,plain,
! [X0,X1] :
( intruder_message(pair(X0,X1))
| ~ intruder_message(X1)
| ~ intruder_message(X0) ),
inference(ennf_transformation,[],[f19]) ).
fof(f52,plain,
! [X0,X1] :
( intruder_message(pair(X0,X1))
| ~ intruder_message(X1)
| ~ intruder_message(X0) ),
inference(flattening,[],[f51]) ).
fof(f53,plain,
! [X0,X1,X2] :
( intruder_message(triple(X0,X1,X2))
| ~ intruder_message(X2)
| ~ intruder_message(X1)
| ~ intruder_message(X0) ),
inference(ennf_transformation,[],[f20]) ).
fof(f54,plain,
! [X0,X1,X2] :
( intruder_message(triple(X0,X1,X2))
| ~ intruder_message(X2)
| ~ intruder_message(X1)
| ~ intruder_message(X0) ),
inference(flattening,[],[f53]) ).
fof(f55,plain,
! [X0,X1,X2,X3] :
( intruder_message(quadruple(X0,X1,X2,X3))
| ~ intruder_message(X3)
| ~ intruder_message(X2)
| ~ intruder_message(X1)
| ~ intruder_message(X0) ),
inference(ennf_transformation,[],[f21]) ).
fof(f56,plain,
! [X0,X1,X2,X3] :
( intruder_message(quadruple(X0,X1,X2,X3))
| ~ intruder_message(X3)
| ~ intruder_message(X2)
| ~ intruder_message(X1)
| ~ intruder_message(X0) ),
inference(flattening,[],[f55]) ).
fof(f57,plain,
! [X0,X1,X2] :
( intruder_message(X1)
| ~ party_of_protocol(X2)
| ~ intruder_holds(key(X1,X2))
| ~ intruder_message(encrypt(X0,X1)) ),
inference(ennf_transformation,[],[f22]) ).
fof(f58,plain,
! [X0,X1,X2] :
( intruder_message(X1)
| ~ party_of_protocol(X2)
| ~ intruder_holds(key(X1,X2))
| ~ intruder_message(encrypt(X0,X1)) ),
inference(flattening,[],[f57]) ).
fof(f59,plain,
! [X0,X1,X2] :
( message(sent(X1,X2,X0))
| ~ party_of_protocol(X2)
| ~ party_of_protocol(X1)
| ~ intruder_message(X0) ),
inference(ennf_transformation,[],[f23]) ).
fof(f60,plain,
! [X0,X1,X2] :
( message(sent(X1,X2,X0))
| ~ party_of_protocol(X2)
| ~ party_of_protocol(X1)
| ~ intruder_message(X0) ),
inference(flattening,[],[f59]) ).
fof(f61,plain,
! [X0,X1] :
( intruder_holds(key(X0,X1))
| ~ party_of_protocol(X1)
| ~ intruder_message(X0) ),
inference(ennf_transformation,[],[f35]) ).
fof(f62,plain,
! [X0,X1] :
( intruder_holds(key(X0,X1))
| ~ party_of_protocol(X1)
| ~ intruder_message(X0) ),
inference(flattening,[],[f61]) ).
fof(f63,plain,
! [X0,X1,X2] :
( intruder_message(encrypt(X0,X1))
| ~ party_of_protocol(X2)
| ~ intruder_holds(key(X1,X2))
| ~ intruder_message(X0) ),
inference(ennf_transformation,[],[f25]) ).
fof(f64,plain,
! [X0,X1,X2] :
( intruder_message(encrypt(X0,X1))
| ~ party_of_protocol(X2)
| ~ intruder_holds(key(X1,X2))
| ~ intruder_message(X0) ),
inference(flattening,[],[f63]) ).
fof(f66,plain,
! [X0] :
( fresh_intruder_nonce(generate_intruder_nonce(X0))
| ~ fresh_intruder_nonce(X0) ),
inference(ennf_transformation,[],[f32]) ).
fof(f67,plain,
! [X0] :
( ( intruder_message(X0)
& fresh_to_b(X0) )
| ~ fresh_intruder_nonce(X0) ),
inference(ennf_transformation,[],[f33]) ).
fof(f68,plain,
party_of_protocol(a),
inference(cnf_transformation,[],[f2]) ).
fof(f69,plain,
message(sent(a,b,pair(a,an_a_nonce))),
inference(cnf_transformation,[],[f3]) ).
fof(f70,plain,
a_stored(pair(b,an_a_nonce)),
inference(cnf_transformation,[],[f4]) ).
fof(f71,plain,
! [X2,X3,X0,X1,X4,X5] :
( message(sent(a,X4,pair(X3,encrypt(X0,X2))))
| ~ a_stored(pair(X4,X5))
| ~ message(sent(t,a,triple(encrypt(quadruple(X4,X5,X2,X1),at),X3,X0))) ),
inference(cnf_transformation,[],[f42]) ).
fof(f72,plain,
party_of_protocol(b),
inference(cnf_transformation,[],[f7]) ).
fof(f73,plain,
fresh_to_b(an_a_nonce),
inference(cnf_transformation,[],[f8]) ).
fof(f74,plain,
! [X0,X1] :
( message(sent(b,t,triple(b,generate_b_nonce(X1),encrypt(triple(X0,X1,generate_expiration_time(X1)),bt))))
| ~ fresh_to_b(X1)
| ~ message(sent(X0,b,pair(X0,X1))) ),
inference(cnf_transformation,[],[f44]) ).
fof(f75,plain,
t_holds(key(at,a)),
inference(cnf_transformation,[],[f11]) ).
fof(f76,plain,
t_holds(key(bt,b)),
inference(cnf_transformation,[],[f12]) ).
fof(f77,plain,
party_of_protocol(t),
inference(cnf_transformation,[],[f13]) ).
fof(f78,plain,
! [X2,X3,X0,X1,X6,X4,X5] :
( message(sent(t,X2,triple(encrypt(quadruple(X0,X3,generate_key(X3),X4),X6),encrypt(triple(X2,generate_key(X3),X4),X5),X1)))
| ~ a_nonce(X3)
| ~ t_holds(key(X6,X2))
| ~ t_holds(key(X5,X0))
| ~ message(sent(X0,t,triple(X0,X1,encrypt(triple(X2,X3,X4),X5)))) ),
inference(cnf_transformation,[],[f46]) ).
fof(f79,plain,
! [X2,X0,X1] :
( intruder_message(X2)
| ~ message(sent(X0,X1,X2)) ),
inference(cnf_transformation,[],[f47]) ).
fof(f80,plain,
! [X0,X1] :
( intruder_message(X0)
| ~ intruder_message(pair(X0,X1)) ),
inference(cnf_transformation,[],[f48]) ).
fof(f81,plain,
! [X0,X1] :
( intruder_message(X1)
| ~ intruder_message(pair(X0,X1)) ),
inference(cnf_transformation,[],[f48]) ).
fof(f82,plain,
! [X2,X0,X1] :
( intruder_message(X0)
| ~ intruder_message(triple(X0,X1,X2)) ),
inference(cnf_transformation,[],[f49]) ).
fof(f83,plain,
! [X2,X0,X1] :
( intruder_message(X1)
| ~ intruder_message(triple(X0,X1,X2)) ),
inference(cnf_transformation,[],[f49]) ).
fof(f84,plain,
! [X2,X0,X1] :
( intruder_message(X2)
| ~ intruder_message(triple(X0,X1,X2)) ),
inference(cnf_transformation,[],[f49]) ).
fof(f85,plain,
! [X2,X3,X0,X1] :
( intruder_message(X0)
| ~ intruder_message(quadruple(X0,X1,X2,X3)) ),
inference(cnf_transformation,[],[f50]) ).
fof(f86,plain,
! [X2,X3,X0,X1] :
( intruder_message(X1)
| ~ intruder_message(quadruple(X0,X1,X2,X3)) ),
inference(cnf_transformation,[],[f50]) ).
fof(f87,plain,
! [X2,X3,X0,X1] :
( intruder_message(X2)
| ~ intruder_message(quadruple(X0,X1,X2,X3)) ),
inference(cnf_transformation,[],[f50]) ).
fof(f88,plain,
! [X2,X3,X0,X1] :
( intruder_message(X3)
| ~ intruder_message(quadruple(X0,X1,X2,X3)) ),
inference(cnf_transformation,[],[f50]) ).
fof(f89,plain,
! [X0,X1] :
( intruder_message(pair(X0,X1))
| ~ intruder_message(X1)
| ~ intruder_message(X0) ),
inference(cnf_transformation,[],[f52]) ).
fof(f90,plain,
! [X2,X0,X1] :
( intruder_message(triple(X0,X1,X2))
| ~ intruder_message(X2)
| ~ intruder_message(X1)
| ~ intruder_message(X0) ),
inference(cnf_transformation,[],[f54]) ).
fof(f91,plain,
! [X2,X3,X0,X1] :
( intruder_message(quadruple(X0,X1,X2,X3))
| ~ intruder_message(X3)
| ~ intruder_message(X2)
| ~ intruder_message(X1)
| ~ intruder_message(X0) ),
inference(cnf_transformation,[],[f56]) ).
fof(f92,plain,
! [X2,X0,X1] :
( intruder_message(X1)
| ~ party_of_protocol(X2)
| ~ intruder_holds(key(X1,X2))
| ~ intruder_message(encrypt(X0,X1)) ),
inference(cnf_transformation,[],[f58]) ).
fof(f93,plain,
! [X2,X0,X1] :
( message(sent(X1,X2,X0))
| ~ party_of_protocol(X2)
| ~ party_of_protocol(X1)
| ~ intruder_message(X0) ),
inference(cnf_transformation,[],[f60]) ).
fof(f94,plain,
! [X0,X1] :
( intruder_holds(key(X0,X1))
| ~ party_of_protocol(X1)
| ~ intruder_message(X0) ),
inference(cnf_transformation,[],[f62]) ).
fof(f95,plain,
! [X2,X0,X1] :
( intruder_message(encrypt(X0,X1))
| ~ party_of_protocol(X2)
| ~ intruder_holds(key(X1,X2))
| ~ intruder_message(X0) ),
inference(cnf_transformation,[],[f64]) ).
fof(f97,plain,
! [X0] : ~ a_nonce(generate_key(X0)),
inference(cnf_transformation,[],[f27]) ).
fof(f102,plain,
fresh_intruder_nonce(an_intruder_nonce),
inference(cnf_transformation,[],[f31]) ).
fof(f103,plain,
! [X0] :
( fresh_intruder_nonce(generate_intruder_nonce(X0))
| ~ fresh_intruder_nonce(X0) ),
inference(cnf_transformation,[],[f66]) ).
fof(f104,plain,
! [X0] :
( fresh_to_b(X0)
| ~ fresh_intruder_nonce(X0) ),
inference(cnf_transformation,[],[f67]) ).
fof(f105,plain,
! [X0] :
( intruder_message(X0)
| ~ fresh_intruder_nonce(X0) ),
inference(cnf_transformation,[],[f67]) ).
cnf(c_49,plain,
party_of_protocol(a),
inference(cnf_transformation,[],[f68]) ).
cnf(c_50,plain,
message(sent(a,b,pair(a,an_a_nonce))),
inference(cnf_transformation,[],[f69]) ).
cnf(c_51,plain,
a_stored(pair(b,an_a_nonce)),
inference(cnf_transformation,[],[f70]) ).
cnf(c_52,plain,
( ~ message(sent(t,a,triple(encrypt(quadruple(X0,X1,X2,X3),at),X4,X5)))
| ~ a_stored(pair(X0,X1))
| message(sent(a,X0,pair(X4,encrypt(X5,X2)))) ),
inference(cnf_transformation,[],[f71]) ).
cnf(c_53,plain,
party_of_protocol(b),
inference(cnf_transformation,[],[f72]) ).
cnf(c_54,plain,
fresh_to_b(an_a_nonce),
inference(cnf_transformation,[],[f73]) ).
cnf(c_55,plain,
( ~ message(sent(X0,b,pair(X0,X1)))
| ~ fresh_to_b(X1)
| message(sent(b,t,triple(b,generate_b_nonce(X1),encrypt(triple(X0,X1,generate_expiration_time(X1)),bt)))) ),
inference(cnf_transformation,[],[f74]) ).
cnf(c_56,plain,
t_holds(key(at,a)),
inference(cnf_transformation,[],[f75]) ).
cnf(c_57,plain,
t_holds(key(bt,b)),
inference(cnf_transformation,[],[f76]) ).
cnf(c_58,plain,
party_of_protocol(t),
inference(cnf_transformation,[],[f77]) ).
cnf(c_59,plain,
( ~ message(sent(X0,t,triple(X0,X1,encrypt(triple(X2,X3,X4),X5))))
| ~ t_holds(key(X5,X0))
| ~ t_holds(key(X6,X2))
| ~ a_nonce(X3)
| message(sent(t,X2,triple(encrypt(quadruple(X0,X3,generate_key(X3),X4),X6),encrypt(triple(X2,generate_key(X3),X4),X5),X1))) ),
inference(cnf_transformation,[],[f78]) ).
cnf(c_60,plain,
( ~ message(sent(X0,X1,X2))
| intruder_message(X2) ),
inference(cnf_transformation,[],[f79]) ).
cnf(c_61,plain,
( ~ intruder_message(pair(X0,X1))
| intruder_message(X1) ),
inference(cnf_transformation,[],[f81]) ).
cnf(c_62,plain,
( ~ intruder_message(pair(X0,X1))
| intruder_message(X0) ),
inference(cnf_transformation,[],[f80]) ).
cnf(c_63,plain,
( ~ intruder_message(triple(X0,X1,X2))
| intruder_message(X2) ),
inference(cnf_transformation,[],[f84]) ).
cnf(c_64,plain,
( ~ intruder_message(triple(X0,X1,X2))
| intruder_message(X1) ),
inference(cnf_transformation,[],[f83]) ).
cnf(c_65,plain,
( ~ intruder_message(triple(X0,X1,X2))
| intruder_message(X0) ),
inference(cnf_transformation,[],[f82]) ).
cnf(c_66,plain,
( ~ intruder_message(quadruple(X0,X1,X2,X3))
| intruder_message(X3) ),
inference(cnf_transformation,[],[f88]) ).
cnf(c_67,plain,
( ~ intruder_message(quadruple(X0,X1,X2,X3))
| intruder_message(X2) ),
inference(cnf_transformation,[],[f87]) ).
cnf(c_68,plain,
( ~ intruder_message(quadruple(X0,X1,X2,X3))
| intruder_message(X1) ),
inference(cnf_transformation,[],[f86]) ).
cnf(c_69,plain,
( ~ intruder_message(quadruple(X0,X1,X2,X3))
| intruder_message(X0) ),
inference(cnf_transformation,[],[f85]) ).
cnf(c_70,plain,
( ~ intruder_message(X0)
| ~ intruder_message(X1)
| intruder_message(pair(X0,X1)) ),
inference(cnf_transformation,[],[f89]) ).
cnf(c_71,plain,
( ~ intruder_message(X0)
| ~ intruder_message(X1)
| ~ intruder_message(X2)
| intruder_message(triple(X0,X2,X1)) ),
inference(cnf_transformation,[],[f90]) ).
cnf(c_72,plain,
( ~ intruder_message(X0)
| ~ intruder_message(X1)
| ~ intruder_message(X2)
| ~ intruder_message(X3)
| intruder_message(quadruple(X1,X3,X2,X0)) ),
inference(cnf_transformation,[],[f91]) ).
cnf(c_73,plain,
( ~ intruder_message(encrypt(X0,X1))
| ~ intruder_holds(key(X1,X2))
| ~ party_of_protocol(X2)
| intruder_message(X1) ),
inference(cnf_transformation,[],[f92]) ).
cnf(c_74,plain,
( ~ party_of_protocol(X0)
| ~ party_of_protocol(X1)
| ~ intruder_message(X2)
| message(sent(X1,X0,X2)) ),
inference(cnf_transformation,[],[f93]) ).
cnf(c_75,plain,
( ~ party_of_protocol(X0)
| ~ intruder_message(X1)
| intruder_holds(key(X1,X0)) ),
inference(cnf_transformation,[],[f94]) ).
cnf(c_76,plain,
( ~ intruder_holds(key(X0,X1))
| ~ party_of_protocol(X1)
| ~ intruder_message(X2)
| intruder_message(encrypt(X2,X0)) ),
inference(cnf_transformation,[],[f95]) ).
cnf(c_78,plain,
~ a_nonce(generate_key(X0)),
inference(cnf_transformation,[],[f97]) ).
cnf(c_83,plain,
fresh_intruder_nonce(an_intruder_nonce),
inference(cnf_transformation,[],[f102]) ).
cnf(c_84,plain,
( ~ fresh_intruder_nonce(X0)
| fresh_intruder_nonce(generate_intruder_nonce(X0)) ),
inference(cnf_transformation,[],[f103]) ).
cnf(c_85,plain,
( ~ fresh_intruder_nonce(X0)
| intruder_message(X0) ),
inference(cnf_transformation,[],[f105]) ).
cnf(c_86,plain,
( ~ fresh_intruder_nonce(X0)
| fresh_to_b(X0) ),
inference(cnf_transformation,[],[f104]) ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.12 % Problem : SWV017+1 : TPTP v8.1.2. Released v2.4.0.
% 0.07/0.12 % Command : run_iprover %s %d THM
% 0.12/0.33 % Computer : n023.cluster.edu
% 0.12/0.33 % Model : x86_64 x86_64
% 0.12/0.33 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.33 % Memory : 8042.1875MB
% 0.12/0.33 % OS : Linux 3.10.0-693.el7.x86_64
% 0.12/0.33 % CPULimit : 300
% 0.12/0.33 % WCLimit : 300
% 0.12/0.33 % DateTime : Tue Aug 29 08:16:55 EDT 2023
% 0.12/0.33 % CPUTime :
% 0.19/0.45 Running first-order theorem proving
% 0.19/0.45 Running: /export/starexec/sandbox/solver/bin/run_problem --schedule fof_schedule --no_cores 8 /export/starexec/sandbox/benchmark/theBenchmark.p 300
% 1.33/1.14 % SZS status Started for theBenchmark.p
% 1.33/1.14 % SZS status Satisfiable for theBenchmark.p
% 1.33/1.14
% 1.33/1.14 %---------------- iProver v3.8 (pre SMT-COMP 2023/CASC 2023) ----------------%
% 1.33/1.14
% 1.33/1.14 ------ iProver source info
% 1.33/1.14
% 1.33/1.14 git: date: 2023-05-31 18:12:56 +0000
% 1.33/1.14 git: sha1: 8abddc1f627fd3ce0bcb8b4cbf113b3cc443d7b6
% 1.33/1.14 git: non_committed_changes: false
% 1.33/1.14 git: last_make_outside_of_git: false
% 1.33/1.14
% 1.33/1.14 ------ Parsing...
% 1.33/1.14 ------ Clausification by vclausify_rel & Parsing by iProver...
% 1.33/1.14
% 1.33/1.14 ------ Preprocessing... sf_s rm: 33 0s sf_e pe_s pe:1:0s pe:2:0s pe_e sf_s rm: 0 0s sf_e pe_s pe_e
% 1.33/1.14
% 1.33/1.14 ------ Preprocessing...------ preprocesses with Option_epr_horn
% 1.33/1.14 gs_s sp: 0 0s gs_e snvd_s sp: 0 0s snvd_e
% 1.33/1.14 ------ Proving...
% 1.33/1.14 ------ Problem Properties
% 1.33/1.14
% 1.33/1.14
% 1.33/1.14 clauses 0
% 1.33/1.14 conjectures 0
% 1.33/1.14 EPR 0
% 1.33/1.14 Horn 0
% 1.33/1.14 unary 0
% 1.33/1.14 binary 0
% 1.33/1.14 lits 0
% 1.33/1.14 lits eq 0
% 1.33/1.14 fd_pure 0
% 1.33/1.14 fd_pseudo 0
% 1.33/1.14 fd_cond 0
% 1.33/1.14 fd_pseudo_cond 0
% 1.33/1.14 AC symbols 0
% 1.33/1.14
% 1.33/1.14 ------ Schedule EPR Horn non eq is on
% 1.33/1.14
% 1.33/1.14 ------ no conjectures: strip conj schedule
% 1.33/1.14
% 1.33/1.14 ------ no equalities: superposition off
% 1.33/1.14
% 1.33/1.14 ------ Option_epr_horn stripped conjectures Time Limit: Unbounded
% 1.33/1.14
% 1.33/1.14
% 1.33/1.14
% 1.33/1.14
% 1.33/1.14 % SZS status Satisfiable for theBenchmark.p
% 1.33/1.14
% 1.33/1.14 % SZS output start Saturation for theBenchmark.p
% See solution above
% 1.33/1.14
% 1.33/1.14
%------------------------------------------------------------------------------