TSTP Solution File: SWV018+1 by Prover9---1109a

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Prover9---1109a
% Problem  : SWV018+1 : TPTP v8.1.0. Released v2.4.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : tptp2X_and_run_prover9 %d %s

% 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  : 600s
% DateTime : Wed Jul 20 21:10:15 EDT 2022

% Result   : Timeout 300.07s 300.40s
% Output   : None 
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----No solution output by system
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.10/0.11  % Problem  : SWV018+1 : TPTP v8.1.0. Released v2.4.0.
% 0.10/0.11  % Command  : tptp2X_and_run_prover9 %d %s
% 0.11/0.32  % Computer : n023.cluster.edu
% 0.11/0.32  % Model    : x86_64 x86_64
% 0.11/0.32  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.11/0.32  % Memory   : 8042.1875MB
% 0.11/0.32  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.11/0.32  % CPULimit : 300
% 0.11/0.32  % WCLimit  : 600
% 0.11/0.32  % DateTime : Tue Jun 14 18:52:20 EDT 2022
% 0.11/0.32  % CPUTime  : 
% 0.75/1.06  ============================== Prover9 ===============================
% 0.75/1.06  Prover9 (32) version 2009-11A, November 2009.
% 0.75/1.06  Process 4612 was started by sandbox2 on n023.cluster.edu,
% 0.75/1.06  Tue Jun 14 18:52:21 2022
% 0.75/1.06  The command was "/export/starexec/sandbox2/solver/bin/prover9 -t 300 -f /tmp/Prover9_4459_n023.cluster.edu".
% 0.75/1.06  ============================== end of head ===========================
% 0.75/1.06  
% 0.75/1.06  ============================== INPUT =================================
% 0.75/1.06  
% 0.75/1.06  % Reading from file /tmp/Prover9_4459_n023.cluster.edu
% 0.75/1.06  
% 0.75/1.06  set(prolog_style_variables).
% 0.75/1.06  set(auto2).
% 0.75/1.06      % set(auto2) -> set(auto).
% 0.75/1.06      % set(auto) -> set(auto_inference).
% 0.75/1.06      % set(auto) -> set(auto_setup).
% 0.75/1.06      % set(auto_setup) -> set(predicate_elim).
% 0.75/1.06      % set(auto_setup) -> assign(eq_defs, unfold).
% 0.75/1.06      % set(auto) -> set(auto_limits).
% 0.75/1.06      % set(auto_limits) -> assign(max_weight, "100.000").
% 0.75/1.06      % set(auto_limits) -> assign(sos_limit, 20000).
% 0.75/1.06      % set(auto) -> set(auto_denials).
% 0.75/1.06      % set(auto) -> set(auto_process).
% 0.75/1.06      % set(auto2) -> assign(new_constants, 1).
% 0.75/1.06      % set(auto2) -> assign(fold_denial_max, 3).
% 0.75/1.06      % set(auto2) -> assign(max_weight, "200.000").
% 0.75/1.06      % set(auto2) -> assign(max_hours, 1).
% 0.75/1.06      % assign(max_hours, 1) -> assign(max_seconds, 3600).
% 0.75/1.06      % set(auto2) -> assign(max_seconds, 0).
% 0.75/1.06      % set(auto2) -> assign(max_minutes, 5).
% 0.75/1.06      % assign(max_minutes, 5) -> assign(max_seconds, 300).
% 0.75/1.06      % set(auto2) -> set(sort_initial_sos).
% 0.75/1.06      % set(auto2) -> assign(sos_limit, -1).
% 0.75/1.06      % set(auto2) -> assign(lrs_ticks, 3000).
% 0.75/1.06      % set(auto2) -> assign(max_megs, 400).
% 0.75/1.06      % set(auto2) -> assign(stats, some).
% 0.75/1.06      % set(auto2) -> clear(echo_input).
% 0.75/1.06      % set(auto2) -> set(quiet).
% 0.75/1.06      % set(auto2) -> clear(print_initial_clauses).
% 0.75/1.06      % set(auto2) -> clear(print_given).
% 0.75/1.06  assign(lrs_ticks,-1).
% 0.75/1.06  assign(sos_limit,10000).
% 0.75/1.06  assign(order,kbo).
% 0.75/1.06  set(lex_order_vars).
% 0.75/1.06  clear(print_given).
% 0.75/1.06  
% 0.75/1.06  % formulas(sos).  % not echoed (34 formulas)
% 0.75/1.06  
% 0.75/1.06  ============================== end of input ==========================
% 0.75/1.06  
% 0.75/1.06  % From the command line: assign(max_seconds, 300).
% 0.75/1.06  
% 0.75/1.06  ============================== PROCESS NON-CLAUSAL FORMULAS ==========
% 0.75/1.06  
% 0.75/1.06  % Formulas that are not ordinary clauses:
% 0.75/1.06  1 (all U all V all W all X all Y all Z (message(sent(t,a,triple(encrypt(quadruple(Y,Z,W,V),at),X,U))) & a_stored(pair(Y,Z)) -> message(sent(a,Y,pair(X,encrypt(U,W)))) & a_holds(key(W,Y)))) # label(a_forwards_secure) # label(axiom) # label(non_clause).  [assumption].
% 0.75/1.06  2 (all U all V (message(sent(U,b,pair(U,V))) & fresh_to_b(V) -> message(sent(b,t,triple(b,generate_b_nonce(V),encrypt(triple(U,V,generate_expiration_time(V)),bt)))) & b_stored(pair(U,V)))) # label(b_creates_freash_nonces_in_time) # label(axiom) # label(non_clause).  [assumption].
% 0.75/1.06  3 (all V all X all Y (message(sent(X,b,pair(encrypt(triple(X,V,generate_expiration_time(Y)),bt),encrypt(generate_b_nonce(Y),V)))) & a_key(V) & b_stored(pair(X,Y)) -> b_holds(key(V,X)))) # label(b_accepts_secure_session_key) # label(axiom) # label(non_clause).  [assumption].
% 0.75/1.06  4 (all U all V all W all X all Y all Z all X1 (message(sent(U,t,triple(U,V,encrypt(triple(W,X,Y),Z)))) & t_holds(key(Z,U)) & t_holds(key(X1,W)) & a_nonce(X) -> message(sent(t,W,triple(encrypt(quadruple(U,X,generate_key(X),Y),X1),encrypt(triple(W,generate_key(X),Y),Z),V))))) # label(server_t_generates_key) # label(axiom) # label(non_clause).  [assumption].
% 0.75/1.06  5 (all U all V all W (message(sent(U,V,W)) -> intruder_message(W))) # label(intruder_can_record) # label(axiom) # label(non_clause).  [assumption].
% 0.75/1.06  6 (all U all V (intruder_message(pair(U,V)) -> intruder_message(U) & intruder_message(V))) # label(intruder_decomposes_pairs) # label(axiom) # label(non_clause).  [assumption].
% 0.75/1.06  7 (all U all V all W (intruder_message(triple(U,V,W)) -> intruder_message(U) & intruder_message(V) & intruder_message(W))) # label(intruder_decomposes_triples) # label(axiom) # label(non_clause).  [assumption].
% 0.75/1.06  8 (all U all V all W all X (intruder_message(quadruple(U,V,W,X)) -> intruder_message(U) & intruder_message(V) & intruder_message(W) & intruder_message(X))) # label(intruder_decomposes_quadruples) # label(axiom) # label(non_clause).  [assumption].
% 0.75/1.06  9 (all U all V (intruder_message(U) & intruder_message(V) -> intruder_message(pair(U,V)))) # label(intruder_composes_pairs) # label(axiom) # label(non_clause).  [assumption].
% 0.75/1.06  10 (all U all V all W (intruder_message(U) & intruder_message(V) & intruder_message(W) -> intruder_message(triple(U,V,W)))) # label(intruder_composes_triples) # label(axiom) # label(non_clause).  [assumption].
% 0.75/1.06  11 (all U all V all W all X (intruder_message(U) & intruder_message(V) & intruder_message(W) & intruder_message(X) -> intruder_message(quadruple(U,V,W,X)))) # label(intruder_composes_quadruples) # label(axiom) # label(non_clause).  [assumption].
% 0.75/1.06  12 (all U all V all W (intruder_message(encrypt(U,V)) & intruder_holds(key(V,W)) & party_of_protocol(W) -> intruder_message(V))) # label(intruder_interception) # label(axiom) # label(non_clause).  [assumption].
% 0.75/1.06  13 (all U all V all W (intruder_message(U) & party_of_protocol(V) & party_of_protocol(W) -> message(sent(V,W,U)))) # label(intruder_message_sent) # label(axiom) # label(non_clause).  [assumption].
% 0.75/1.06  14 (all V all W (intruder_message(V) & party_of_protocol(W) -> intruder_holds(key(V,W)))) # label(intruder_holds_key) # label(axiom) # label(non_clause).  [assumption].
% 0.75/1.06  15 (all U all V all W (intruder_message(U) & intruder_holds(key(V,W)) & party_of_protocol(W) -> intruder_message(encrypt(U,V)))) # label(intruder_key_encrypts) # label(axiom) # label(non_clause).  [assumption].
% 0.75/1.06  16 (all U -a_nonce(generate_key(U))) # label(generated_keys_are_not_nonces) # label(axiom) # label(non_clause).  [assumption].
% 0.75/1.06  17 (all U (a_nonce(generate_expiration_time(U)) & a_nonce(generate_b_nonce(U)))) # label(generated_times_and_nonces_are_nonces) # label(axiom) # label(non_clause).  [assumption].
% 0.75/1.06  18 (all U -(a_key(U) & a_nonce(U))) # label(nothing_is_a_nonce_and_a_key) # label(axiom) # label(non_clause).  [assumption].
% 0.75/1.06  19 (all U a_key(generate_key(U))) # label(generated_keys_are_keys) # label(axiom) # label(non_clause).  [assumption].
% 0.75/1.06  20 (all U (fresh_intruder_nonce(U) -> fresh_intruder_nonce(generate_intruder_nonce(U)))) # label(can_generate_more_fresh_intruder_nonces) # label(axiom) # label(non_clause).  [assumption].
% 0.75/1.06  21 (all U (fresh_intruder_nonce(U) -> fresh_to_b(U) & intruder_message(U))) # label(fresh_intruder_nonces_are_fresh_to_b) # label(axiom) # label(non_clause).  [assumption].
% 0.75/1.06  22 -(exists X exists Y exists Z (intruder_holds(key(X,Y)) & b_holds(key(X,Z)))) # label(co1) # label(negated_conjecture) # label(non_clause).  [assumption].
% 0.75/1.06  
% 0.75/1.06  ============================== end of process non-clausal formulas ===
% 0.75/1.06  
% 0.75/1.06  ============================== PROCESS INITIAL CLAUSES ===============
% 0.75/1.06  
% 0.75/1.06  ============================== PREDICATE ELIMINATION =================
% 0.75/1.06  23 -message(sent(A,b,pair(A,B))) | -fresh_to_b(B) | b_stored(pair(A,B)) # label(b_creates_freash_nonces_in_time) # label(axiom).  [clausify(2)].
% 0.75/1.06  24 fresh_to_b(an_a_nonce) # label(nonce_a_is_fresh_to_b) # label(axiom).  [assumption].
% 0.75/1.06  25 -fresh_intruder_nonce(A) | fresh_to_b(A) # label(fresh_intruder_nonces_are_fresh_to_b) # label(axiom).  [clausify(21)].
% 0.75/1.06  Derived: -message(sent(A,b,pair(A,an_a_nonce))) | b_stored(pair(A,an_a_nonce)).  [resolve(23,b,24,a)].
% 0.75/1.06  Derived: -message(sent(A,b,pair(A,B))) | b_stored(pair(A,B)) | -fresh_intruder_nonce(B).  [resolve(23,b,25,b)].
% 0.75/1.06  26 -message(sent(A,b,pair(A,B))) | -fresh_to_b(B) | message(sent(b,t,triple(b,generate_b_nonce(B),encrypt(triple(A,B,generate_expiration_time(B)),bt)))) # label(b_creates_freash_nonces_in_time) # label(axiom).  [clausify(2)].
% 0.75/1.06  Derived: -message(sent(A,b,pair(A,an_a_nonce))) | 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)))).  [resolve(26,b,24,a)].
% 0.75/1.06  Derived: -message(sent(A,b,pair(A,B))) | message(sent(b,t,triple(b,generate_b_nonce(B),encrypt(triple(A,B,generate_expiration_time(B)),bt)))) | -fresh_intruder_nonce(B).  [resolve(26,b,25,b)].
% 0.75/1.06  27 -a_nonce(generate_key(A)) # label(generated_keys_are_not_nonces) # label(axiom).  [clausify(16)].
% 0.75/1.06  28 a_nonce(an_a_nonce) # label(an_a_nonce_is_a_nonce) # label(axiom).  [assumption].
% 0.75/1.06  29 a_nonce(generate_expiration_time(A)) # label(generated_times_and_nonces_are_nonces) # label(axiom).  [clausify(17)].
% 0.75/1.06  30 a_nonce(generate_b_nonce(A)) # label(generated_times_and_nonces_are_nonces) # label(axiom).  [clausify(17)].
% 0.75/1.06  31 -a_key(A) | -a_nonce(A) # label(nothing_is_a_nonce_and_a_key) # label(axiom).  [clausify(18)].
% 0.75/1.06  Derived: -a_key(an_a_nonce).  [resolve(31,b,28,a)].
% 0.75/1.06  Derived: -a_key(generate_expiration_time(A)).  [resolve(31,b,29,a)].
% 0.75/1.06  Derived: -a_key(generate_b_nonce(A)).  [resolve(31,b,30,a)].
% 0.75/1.06  32 -message(sent(A,t,triple(A,B,encrypt(triple(C,D,E),F)))) | -t_holds(key(F,A)) | -t_holds(key(V6,C)) | -a_nonce(D) | message(sent(t,C,triple(encrypt(quadruple(A,D,generate_key(D),E),V6),encrypt(triple(C,generate_key(D),E),F),B))) # label(server_t_generates_key) # label(axiom).  [clausify(4)].
% 0.75/1.06  Derived: -message(sent(A,t,triple(A,B,encrypt(triple(C,an_a_nonce,D),E)))) | -t_holds(key(E,A)) | -t_holds(key(F,C)) | message(sent(t,C,triple(encrypt(quadruple(A,an_a_nonce,generate_key(an_a_nonce),D),F),encrypt(triple(C,generate_key(an_a_nonce),D),E),B))).  [resolve(32,d,28,a)].
% 0.75/1.06  Derived: -message(sent(A,t,triple(A,B,encrypt(triple(C,generate_expiration_time(D),E),F)))) | -t_holds(key(F,A)) | -t_holds(key(V6,C)) | message(sent(t,C,triple(encrypt(quadruple(A,generate_expiration_time(D),generate_key(generate_expiration_time(D)),E),V6),encrypt(triple(C,generate_key(generate_expiration_time(D)),E),F),B))).  [resolve(32,d,29,a)].
% 0.75/1.06  Derived: -message(sent(A,t,triple(A,B,encrypt(triple(C,generate_b_nonce(D),E),F)))) | -t_holds(key(F,A)) | -t_holds(key(V6,C)) | message(sent(t,C,triple(encrypt(quadruple(A,generate_b_nonce(D),generate_key(generate_b_nonce(D)),E),V6),encrypt(triple(C,generate_key(generate_b_nonce(D)),E),F),B))).  [resolve(32,d,30,a)].
% 0.75/1.06  33 -message(sent(A,b,pair(encrypt(triple(A,B,generate_expiration_time(C)),bt),encrypt(generate_b_nonce(C),B)))) | -a_key(B) | -b_stored(pair(A,C)) | b_holds(key(B,A)) # label(b_accepts_secure_session_key) # label(axiom).  [clausify(3)].
% 0.75/1.06  34 a_key(generate_key(A)) # label(generated_keys_are_keys) # label(axiom).  [clausify(19)].
% 0.75/1.06  Derived: -message(sent(A,b,pair(encrypt(triple(A,generate_key(B),generate_expiration_time(C)),bt),encrypt(generate_b_nonce(C),generate_key(B))))) | -b_stored(pair(A,C)) | b_holds(key(generate_key(B),A)).  [resolve(33,b,34,a)].
% 0.75/1.06  35 -a_key(an_a_nonce).  [resolve(31,b,28,a)].
% 0.75/1.06  36 -a_key(generate_expiration_time(A)).  [resolve(31,b,29,a)].
% 0.75/1.06  37 -a_key(generate_b_nonce(A)).  [resolve(31,b,30,a)].
% 0.75/1.06  38 -message(sent(t,a,triple(encrypt(quadruple(A,B,C,D),at),E,F))) | -a_stored(pair(A,B)) | message(sent(a,A,pair(E,encrypt(F,C)))) # label(a_forwards_secure) # label(axiom).  [clausify(1)].
% 0.75/1.06  39 a_stored(pair(b,an_a_nonce)) # label(a_stored_message_i) # label(axiom).  [assumption].
% 0.75/1.06  Derived: -message(sent(t,a,triple(encrypt(quadruple(b,an_a_nonce,A,B),at),C,D))) | message(sent(a,b,pair(C,encrypt(D,A)))).  [resolve(38,b,39,a)].
% 0.75/1.06  40 -intruder_holds(key(A,B)) | -b_holds(key(A,C)) # label(co1) # label(negated_conjecture).  [clausify(22)].
% 0.75/1.06  41 b_holds(key(bt,t)) # label(b_hold_key_bt_for_t) # label(axiom).  [assumption].
% 0.75/1.06  Derived: -intruder_holds(key(bt,A)).  [resolve(40,b,41,a)].
% 0.75/1.06  42 -message(sent(A,b,pair(encrypt(triple(A,generate_key(B),generate_expiration_time(C)),bt),encrypt(generate_b_nonce(C),generate_key(B))))) | -b_stored(pair(A,C)) | b_holds(key(generate_key(B),A)).  [resolve(33,b,34,a)].
% 0.75/1.06  Derived: -message(sent(A,b,pair(encrypt(triple(A,generate_key(B),generate_expiration_time(C)),bt),encrypt(generate_b_nonce(C),generate_key(B))))) | -b_stored(pair(A,C)) | -intruder_holds(key(generate_key(B),D)).  [resolve(42,c,40,b)].
% 0.75/1.06  43 -intruder_message(encrypt(A,B)) | -intruder_holds(key(B,C)) | -party_of_protocol(C) | intruder_message(B) # label(intruder_interception) # label(axiom).  [clausify(12)].
% 0.75/1.06  44 -intruder_message(A) | -party_of_protocol(B) | intruder_holds(key(A,B)) # label(intruder_holds_key) # label(axiom).  [clausify(14)].
% 0.75/1.06  45 -intruder_message(A) | -intruder_holds(key(B,C)) | -party_of_protocol(C) | intruder_message(encrypt(A,B)) # label(intruder_key_encrypts) # label(axiom).  [clausify(15)].
% 0.75/1.06  Derived: -i
% 0.75/1.06  WARNING: denials share constants (see output).
% 0.75/1.06  
% 300.07/300.40  Cputime limit exceeded (core dumped)
%------------------------------------------------------------------------------