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)
%------------------------------------------------------------------------------