TSTP Solution File: SWV016+1 by Prover9---1109a
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Prover9---1109a
% Problem : SWV016+1 : TPTP v8.1.0. Released v2.4.0.
% Transfm : none
% Format : tptp:raw
% Command : tptp2X_and_run_prover9 %d %s
% Computer : n016.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:14 EDT 2022
% Result : Timeout 300.11s 300.35s
% Output : None
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----No solution output by system
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.04/0.13 % Problem : SWV016+1 : TPTP v8.1.0. Released v2.4.0.
% 0.04/0.14 % Command : tptp2X_and_run_prover9 %d %s
% 0.15/0.35 % Computer : n016.cluster.edu
% 0.15/0.35 % Model : x86_64 x86_64
% 0.15/0.35 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.15/0.35 % Memory : 8042.1875MB
% 0.15/0.35 % OS : Linux 3.10.0-693.el7.x86_64
% 0.15/0.35 % CPULimit : 300
% 0.15/0.35 % WCLimit : 600
% 0.15/0.35 % DateTime : Wed Jun 15 16:21:18 EDT 2022
% 0.15/0.35 % CPUTime :
% 0.79/1.04 ============================== Prover9 ===============================
% 0.79/1.04 Prover9 (32) version 2009-11A, November 2009.
% 0.79/1.04 Process 12583 was started by sandbox2 on n016.cluster.edu,
% 0.79/1.04 Wed Jun 15 16:21:18 2022
% 0.79/1.04 The command was "/export/starexec/sandbox2/solver/bin/prover9 -t 300 -f /tmp/Prover9_12430_n016.cluster.edu".
% 0.79/1.04 ============================== end of head ===========================
% 0.79/1.04
% 0.79/1.04 ============================== INPUT =================================
% 0.79/1.04
% 0.79/1.04 % Reading from file /tmp/Prover9_12430_n016.cluster.edu
% 0.79/1.04
% 0.79/1.04 set(prolog_style_variables).
% 0.79/1.04 set(auto2).
% 0.79/1.04 % set(auto2) -> set(auto).
% 0.79/1.04 % set(auto) -> set(auto_inference).
% 0.79/1.04 % set(auto) -> set(auto_setup).
% 0.79/1.04 % set(auto_setup) -> set(predicate_elim).
% 0.79/1.04 % set(auto_setup) -> assign(eq_defs, unfold).
% 0.79/1.04 % set(auto) -> set(auto_limits).
% 0.79/1.04 % set(auto_limits) -> assign(max_weight, "100.000").
% 0.79/1.04 % set(auto_limits) -> assign(sos_limit, 20000).
% 0.79/1.04 % set(auto) -> set(auto_denials).
% 0.79/1.04 % set(auto) -> set(auto_process).
% 0.79/1.04 % set(auto2) -> assign(new_constants, 1).
% 0.79/1.04 % set(auto2) -> assign(fold_denial_max, 3).
% 0.79/1.04 % set(auto2) -> assign(max_weight, "200.000").
% 0.79/1.04 % set(auto2) -> assign(max_hours, 1).
% 0.79/1.04 % assign(max_hours, 1) -> assign(max_seconds, 3600).
% 0.79/1.04 % set(auto2) -> assign(max_seconds, 0).
% 0.79/1.04 % set(auto2) -> assign(max_minutes, 5).
% 0.79/1.04 % assign(max_minutes, 5) -> assign(max_seconds, 300).
% 0.79/1.04 % set(auto2) -> set(sort_initial_sos).
% 0.79/1.04 % set(auto2) -> assign(sos_limit, -1).
% 0.79/1.04 % set(auto2) -> assign(lrs_ticks, 3000).
% 0.79/1.04 % set(auto2) -> assign(max_megs, 400).
% 0.79/1.04 % set(auto2) -> assign(stats, some).
% 0.79/1.04 % set(auto2) -> clear(echo_input).
% 0.79/1.04 % set(auto2) -> set(quiet).
% 0.79/1.04 % set(auto2) -> clear(print_initial_clauses).
% 0.79/1.04 % set(auto2) -> clear(print_given).
% 0.79/1.04 assign(lrs_ticks,-1).
% 0.79/1.04 assign(sos_limit,10000).
% 0.79/1.04 assign(order,kbo).
% 0.79/1.04 set(lex_order_vars).
% 0.79/1.04 clear(print_given).
% 0.79/1.04
% 0.79/1.04 % formulas(sos). % not echoed (31 formulas)
% 0.79/1.04
% 0.79/1.04 ============================== end of input ==========================
% 0.79/1.04
% 0.79/1.04 % From the command line: assign(max_seconds, 300).
% 0.79/1.04
% 0.79/1.04 ============================== PROCESS NON-CLAUSAL FORMULAS ==========
% 0.79/1.04
% 0.79/1.04 % Formulas that are not ordinary clauses:
% 0.79/1.04 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.79/1.04 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.79/1.04 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.79/1.04 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.79/1.04 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.79/1.04 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.79/1.04 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.79/1.04 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.79/1.04 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.79/1.04 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.79/1.04 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.79/1.04 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.79/1.04 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.79/1.04 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.79/1.04 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.79/1.04 16 (all U -a_nonce(generate_key(U))) # label(generated_keys_are_not_nonces) # label(axiom) # label(non_clause). [assumption].
% 0.79/1.04 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.79/1.04 18 (all U -(a_key(U) & a_nonce(U))) # label(nothing_is_a_nonce_and_a_key) # label(axiom) # label(non_clause). [assumption].
% 0.79/1.04 19 (all U a_key(generate_key(U))) # label(generated_keys_are_keys) # label(axiom) # label(non_clause). [assumption].
% 0.79/1.04 20 -(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.79/1.04
% 0.79/1.04 ============================== end of process non-clausal formulas ===
% 0.79/1.04
% 0.79/1.04 ============================== PROCESS INITIAL CLAUSES ===============
% 0.79/1.04
% 0.79/1.04 ============================== PREDICATE ELIMINATION =================
% 0.79/1.04 21 -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.79/1.04 22 fresh_to_b(an_a_nonce) # label(nonce_a_is_fresh_to_b) # label(axiom). [assumption].
% 0.79/1.04 Derived: -message(sent(A,b,pair(A,an_a_nonce))) | b_stored(pair(A,an_a_nonce)). [resolve(21,b,22,a)].
% 0.79/1.04 23 -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.79/1.04 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(23,b,22,a)].
% 0.79/1.04 24 -a_nonce(generate_key(A)) # label(generated_keys_are_not_nonces) # label(axiom). [clausify(16)].
% 0.79/1.04 25 a_nonce(an_a_nonce) # label(an_a_nonce_is_a_nonce) # label(axiom). [assumption].
% 0.79/1.04 26 a_nonce(generate_expiration_time(A)) # label(generated_times_and_nonces_are_nonces) # label(axiom). [clausify(17)].
% 0.79/1.04 27 a_nonce(generate_b_nonce(A)) # label(generated_times_and_nonces_are_nonces) # label(axiom). [clausify(17)].
% 0.79/1.04 28 -a_key(A) | -a_nonce(A) # label(nothing_is_a_nonce_and_a_key) # label(axiom). [clausify(18)].
% 0.79/1.04 Derived: -a_key(an_a_nonce). [resolve(28,b,25,a)].
% 0.79/1.04 Derived: -a_key(generate_expiration_time(A)). [resolve(28,b,26,a)].
% 0.79/1.04 Derived: -a_key(generate_b_nonce(A)). [resolve(28,b,27,a)].
% 0.79/1.04 29 -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.79/1.04 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(29,d,25,a)].
% 0.79/1.04 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(29,d,26,a)].
% 0.79/1.04 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(29,d,27,a)].
% 0.79/1.04 30 -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.79/1.04 31 a_key(generate_key(A)) # label(generated_keys_are_keys) # label(axiom). [clausify(19)].
% 0.79/1.04 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(30,b,31,a)].
% 0.79/1.04 32 -a_key(an_a_nonce). [resolve(28,b,25,a)].
% 0.79/1.04 33 -a_key(generate_expiration_time(A)). [resolve(28,b,26,a)].
% 0.79/1.04 34 -a_key(generate_b_nonce(A)). [resolve(28,b,27,a)].
% 0.79/1.04 35 -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.79/1.04 36 a_stored(pair(b,an_a_nonce)) # label(a_stored_message_i) # label(axiom). [assumption].
% 0.79/1.04 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(35,b,36,a)].
% 0.79/1.04 37 -intruder_holds(key(A,B)) | -b_holds(key(A,C)) # label(co1) # label(negated_conjecture). [clausify(20)].
% 0.79/1.04 38 b_holds(key(bt,t)) # label(b_hold_key_bt_for_t) # label(axiom). [assumption].
% 0.79/1.04 Derived: -intruder_holds(key(bt,A)). [resolve(37,b,38,a)].
% 0.79/1.04 39 -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(30,b,31,a)].
% 0.79/1.04 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(39,c,37,b)].
% 0.79/1.04 40 -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.79/1.04 41 -intruder_message(A) | -party_of_protocol(B) | intruder_holds(key(A,B)) # label(intruder_holds_key) # label(axiom). [clausify(14)].
% 0.79/1.04 42 -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.79/1.04 Derived: -intruder_message(A) | -party_of_protocol(B) | intruder_message(encrypt(A,C)) | -intruder_message(C) | -party_of_protocol(B). [resolve(42,b,41,c)].
% 0.79/1.04 43 -intruder_holds(key(bt,A)). [resolve(37,b,38,a)].
% 0.79/1.04 Derived: -intruder_message(bt) | -party_of_protocol(A). [resolve(43,a,41,c)].
% 0.79/1.04 44 -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(39,c,37,b)].
% 0.79/1.04 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_message(generate_key(B)) | -party_of_protocol(D). [resolve(44,c,41,c)].
% 0.79/1.04 45 -message(sent(A,b,pai
% 0.79/1.04 WARNING: denials share constants (see output).
% 0.79/1.04
% 300.11/300.35 Cputime limit exceeded (core dumped)
%------------------------------------------------------------------------------