TSTP Solution File: SWV014+1 by SPASS---3.9

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : SPASS---3.9
% Problem  : SWV014+1 : TPTP v8.1.0. Released v2.4.0.
% Transfm  : none
% Format   : tptp
% Command  : run_spass %d %s

% Computer : n024.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:40:57 EDT 2022

% Result   : Theorem 0.19s 0.47s
% Output   : Refutation 0.19s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   13
%            Number of leaves      :   20
% Syntax   : Number of clauses     :   48 (  17 unt;   0 nHn;  48 RR)
%            Number of literals    :  119 (   0 equ;  74 neg)
%            Maximal clause size   :    5 (   2 avg)
%            Maximal term depth    :    6 (   2 avg)
%            Number of predicates  :    9 (   8 usr;   1 prp; 0-1 aty)
%            Number of functors    :   15 (  15 usr;   8 con; 0-3 aty)
%            Number of variables   :    0 (   0 sgn)

% Comments : 
%------------------------------------------------------------------------------
cnf(1,axiom,
    party_of_protocol(a),
    file('SWV014+1.p',unknown),
    [] ).

cnf(2,axiom,
    party_of_protocol(b),
    file('SWV014+1.p',unknown),
    [] ).

cnf(3,axiom,
    fresh_to_b(an_a_nonce),
    file('SWV014+1.p',unknown),
    [] ).

cnf(5,axiom,
    a_nonce(an_a_nonce),
    file('SWV014+1.p',unknown),
    [] ).

cnf(7,axiom,
    a_nonce(generate_b_nonce(u)),
    file('SWV014+1.p',unknown),
    [] ).

cnf(14,axiom,
    message(sent(a,b,pair(a,an_a_nonce))),
    file('SWV014+1.p',unknown),
    [] ).

cnf(15,axiom,
    ( ~ intruder_message(pair(u,v))
    | intruder_message(u) ),
    file('SWV014+1.p',unknown),
    [] ).

cnf(16,axiom,
    ( ~ intruder_message(pair(u,v))
    | intruder_message(v) ),
    file('SWV014+1.p',unknown),
    [] ).

cnf(17,axiom,
    ( ~ message(sent(u,v,w))
    | intruder_message(w) ),
    file('SWV014+1.p',unknown),
    [] ).

cnf(18,axiom,
    ( ~ intruder_message(triple(u,v,w))
    | intruder_message(u) ),
    file('SWV014+1.p',unknown),
    [] ).

cnf(19,axiom,
    ( ~ intruder_message(triple(u,v,w))
    | intruder_message(v) ),
    file('SWV014+1.p',unknown),
    [] ).

cnf(20,axiom,
    ( ~ intruder_message(triple(u,v,w))
    | intruder_message(w) ),
    file('SWV014+1.p',unknown),
    [] ).

cnf(25,axiom,
    ( ~ b_holds(key(u,a))
    | ~ intruder_holds(key(u,b)) ),
    file('SWV014+1.p',unknown),
    [] ).

cnf(26,axiom,
    ( ~ intruder_message(u)
    | ~ intruder_message(v)
    | intruder_message(pair(v,u)) ),
    file('SWV014+1.p',unknown),
    [] ).

cnf(27,axiom,
    ( ~ party_of_protocol(u)
    | ~ intruder_message(v)
    | intruder_holds(key(v,u)) ),
    file('SWV014+1.p',unknown),
    [] ).

cnf(29,axiom,
    ( ~ party_of_protocol(u)
    | ~ party_of_protocol(v)
    | ~ intruder_message(w)
    | message(sent(v,u,w)) ),
    file('SWV014+1.p',unknown),
    [] ).

cnf(30,axiom,
    ( ~ fresh_to_b(u)
    | ~ message(sent(v,b,pair(v,u)))
    | b_stored(pair(v,u)) ),
    file('SWV014+1.p',unknown),
    [] ).

cnf(32,axiom,
    ( ~ party_of_protocol(u)
    | ~ intruder_message(v)
    | ~ intruder_holds(key(w,u))
    | intruder_message(encrypt(v,w)) ),
    file('SWV014+1.p',unknown),
    [] ).

cnf(35,axiom,
    ( ~ b_stored(pair(u,v))
    | ~ message(sent(u,b,pair(encrypt(triple(u,w,generate_expiration_time(v)),bt),encrypt(generate_b_nonce(v),w))))
    | b_holds(key(w,u)) ),
    file('SWV014+1.p',unknown),
    [] ).

cnf(36,axiom,
    ( ~ fresh_to_b(u)
    | ~ message(sent(v,b,pair(v,u)))
    | message(sent(b,t,triple(b,generate_b_nonce(u),encrypt(triple(v,u,generate_expiration_time(u)),bt)))) ),
    file('SWV014+1.p',unknown),
    [] ).

cnf(75,plain,
    intruder_message(pair(a,an_a_nonce)),
    inference(res,[status(thm),theory(equality)],[14,17]),
    [iquote('0:Res:14.0,17.0')] ).

cnf(76,plain,
    intruder_message(a),
    inference(res,[status(thm),theory(equality)],[75,15]),
    [iquote('0:Res:75.0,15.0')] ).

cnf(77,plain,
    intruder_message(an_a_nonce),
    inference(res,[status(thm),theory(equality)],[75,16]),
    [iquote('0:Res:75.0,16.0')] ).

cnf(84,plain,
    ( ~ fresh_to_b(an_a_nonce)
    | b_stored(pair(a,an_a_nonce)) ),
    inference(res,[status(thm),theory(equality)],[14,30]),
    [iquote('0:Res:14.0,30.1')] ).

cnf(86,plain,
    b_stored(pair(a,an_a_nonce)),
    inference(ssi,[status(thm)],[84,3,5,77]),
    [iquote('0:SSi:84.0,3.0,5.0,77.0')] ).

cnf(88,plain,
    ( ~ party_of_protocol(u)
    | ~ intruder_message(v)
    | ~ party_of_protocol(u)
    | ~ intruder_message(w)
    | intruder_message(encrypt(w,v)) ),
    inference(res,[status(thm),theory(equality)],[27,32]),
    [iquote('0:Res:27.2,32.2')] ).

cnf(89,plain,
    ( ~ intruder_message(u)
    | ~ party_of_protocol(v)
    | ~ intruder_message(w)
    | intruder_message(encrypt(w,u)) ),
    inference(obv,[status(thm),theory(equality)],[88]),
    [iquote('0:Obv:88.0')] ).

cnf(90,plain,
    ( ~ intruder_message(u)
    | ~ intruder_message(v)
    | intruder_message(encrypt(v,u)) ),
    inference(ems,[status(thm)],[89,1]),
    [iquote('0:EmS:89.1,1.0')] ).

cnf(106,plain,
    ( ~ fresh_to_b(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)))) ),
    inference(res,[status(thm),theory(equality)],[14,36]),
    [iquote('0:Res:14.0,36.1')] ).

cnf(107,plain,
    ( ~ party_of_protocol(b)
    | ~ party_of_protocol(u)
    | ~ intruder_message(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)))) ),
    inference(res,[status(thm),theory(equality)],[29,36]),
    [iquote('0:Res:29.3,36.1')] ).

cnf(108,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(ssi,[status(thm)],[106,3,5,77]),
    [iquote('0:SSi:106.0,3.0,5.0,77.0')] ).

cnf(109,plain,
    ( ~ party_of_protocol(u)
    | ~ intruder_message(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)))) ),
    inference(ssi,[status(thm)],[107,2]),
    [iquote('0:SSi:107.0,2.0')] ).

cnf(110,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(res,[status(thm),theory(equality)],[108,17]),
    [iquote('0:Res:108.0,17.0')] ).

cnf(111,plain,
    intruder_message(b),
    inference(res,[status(thm),theory(equality)],[110,18]),
    [iquote('0:Res:110.0,18.0')] ).

cnf(113,plain,
    intruder_message(encrypt(triple(a,an_a_nonce,generate_expiration_time(an_a_nonce)),bt)),
    inference(res,[status(thm),theory(equality)],[110,20]),
    [iquote('0:Res:110.0,20.0')] ).

cnf(114,plain,
    ( ~ party_of_protocol(b)
    | ~ party_of_protocol(u)
    | ~ intruder_message(pair(encrypt(triple(u,v,generate_expiration_time(w)),bt),encrypt(generate_b_nonce(w),v)))
    | ~ b_stored(pair(u,w))
    | b_holds(key(v,u)) ),
    inference(res,[status(thm),theory(equality)],[29,35]),
    [iquote('0:Res:29.3,35.1')] ).

cnf(115,plain,
    ( ~ party_of_protocol(u)
    | ~ intruder_message(pair(encrypt(triple(u,v,generate_expiration_time(w)),bt),encrypt(generate_b_nonce(w),v)))
    | ~ b_stored(pair(u,w))
    | b_holds(key(v,u)) ),
    inference(ssi,[status(thm)],[114,2,111]),
    [iquote('0:SSi:114.0,2.0,111.0')] ).

cnf(124,plain,
    ( ~ party_of_protocol(u)
    | ~ fresh_to_b(v)
    | ~ intruder_message(u)
    | ~ intruder_message(v)
    | message(sent(b,t,triple(b,generate_b_nonce(v),encrypt(triple(u,v,generate_expiration_time(v)),bt)))) ),
    inference(sor,[status(thm)],[109,26]),
    [iquote('0:SoR:109.1,26.2')] ).

cnf(135,plain,
    ( ~ party_of_protocol(u)
    | ~ intruder_message(encrypt(triple(u,v,generate_expiration_time(w)),bt))
    | ~ intruder_message(encrypt(generate_b_nonce(w),v))
    | ~ b_stored(pair(u,w))
    | b_holds(key(v,u)) ),
    inference(sor,[status(thm)],[115,26]),
    [iquote('0:SoR:115.1,26.2')] ).

cnf(137,plain,
    ( ~ party_of_protocol(u)
    | ~ fresh_to_b(v)
    | ~ intruder_message(u)
    | ~ intruder_message(v)
    | intruder_message(triple(b,generate_b_nonce(v),encrypt(triple(u,v,generate_expiration_time(v)),bt))) ),
    inference(res,[status(thm),theory(equality)],[124,17]),
    [iquote('0:Res:124.4,17.0')] ).

cnf(144,plain,
    ( ~ party_of_protocol(u)
    | ~ fresh_to_b(v)
    | ~ intruder_message(u)
    | ~ intruder_message(v)
    | intruder_message(generate_b_nonce(v)) ),
    inference(res,[status(thm),theory(equality)],[137,19]),
    [iquote('0:Res:137.4,19.0')] ).

cnf(146,plain,
    ( ~ intruder_message(u)
    | ~ fresh_to_b(u)
    | intruder_message(generate_b_nonce(u)) ),
    inference(ems,[status(thm)],[144,2,111]),
    [iquote('0:EmS:144.0,144.2,2.0,111.0')] ).

cnf(150,plain,
    ( ~ party_of_protocol(a)
    | ~ intruder_message(encrypt(generate_b_nonce(an_a_nonce),an_a_nonce))
    | ~ b_stored(pair(a,an_a_nonce))
    | b_holds(key(an_a_nonce,a)) ),
    inference(sor,[status(thm)],[135,113]),
    [iquote('0:SoR:135.1,113.0')] ).

cnf(153,plain,
    ( ~ b_stored(pair(a,an_a_nonce))
    | b_holds(key(an_a_nonce,a)) ),
    inference(ssi,[status(thm)],[150,90,7,3,5,77,146,1,76]),
    [iquote('0:SSi:150.1,150.0,90.0,7.0,3.0,5.0,77.0,146.0,3.0,5.0,77.2,3.0,5.0,77.0,1.0,76.2')] ).

cnf(154,plain,
    b_holds(key(an_a_nonce,a)),
    inference(mrr,[status(thm)],[153,86]),
    [iquote('0:MRR:153.0,86.0')] ).

cnf(158,plain,
    ~ intruder_holds(key(an_a_nonce,b)),
    inference(res,[status(thm),theory(equality)],[154,25]),
    [iquote('0:Res:154.0,25.0')] ).

cnf(159,plain,
    ( ~ party_of_protocol(b)
    | ~ intruder_message(an_a_nonce) ),
    inference(res,[status(thm),theory(equality)],[27,158]),
    [iquote('0:Res:27.2,158.0')] ).

cnf(160,plain,
    $false,
    inference(ssi,[status(thm)],[159,3,5,77,2,111]),
    [iquote('0:SSi:159.1,159.0,3.0,5.0,77.0,2.0,111.0')] ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.12  % Problem  : SWV014+1 : TPTP v8.1.0. Released v2.4.0.
% 0.03/0.13  % Command  : run_spass %d %s
% 0.13/0.34  % Computer : n024.cluster.edu
% 0.13/0.34  % Model    : x86_64 x86_64
% 0.13/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.34  % Memory   : 8042.1875MB
% 0.13/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.34  % CPULimit : 300
% 0.13/0.34  % WCLimit  : 600
% 0.13/0.34  % DateTime : Wed Jun 15 09:20:33 EDT 2022
% 0.13/0.34  % CPUTime  : 
% 0.19/0.47  
% 0.19/0.47  SPASS V 3.9 
% 0.19/0.47  SPASS beiseite: Proof found.
% 0.19/0.47  % SZS status Theorem
% 0.19/0.47  Problem: /export/starexec/sandbox/benchmark/theBenchmark.p 
% 0.19/0.47  SPASS derived 63 clauses, backtracked 0 clauses, performed 0 splits and kept 80 clauses.
% 0.19/0.47  SPASS allocated 97879 KBytes.
% 0.19/0.47  SPASS spent	0:00:00.11 on the problem.
% 0.19/0.47  		0:00:00.03 for the input.
% 0.19/0.47  		0:00:00.04 for the FLOTTER CNF translation.
% 0.19/0.47  		0:00:00.00 for inferences.
% 0.19/0.47  		0:00:00.00 for the backtracking.
% 0.19/0.47  		0:00:00.01 for the reduction.
% 0.19/0.47  
% 0.19/0.47  
% 0.19/0.47  Here is a proof with depth 6, length 48 :
% 0.19/0.47  % SZS output start Refutation
% See solution above
% 0.19/0.47  Formulae used in the proof : a_is_party_of_protocol b_is_party_of_protocol nonce_a_is_fresh_to_b an_a_nonce_is_a_nonce generated_times_and_nonces_are_nonces a_sent_message_i_to_b intruder_decomposes_pairs intruder_can_record intruder_decomposes_triples co1 intruder_composes_pairs intruder_holds_key intruder_message_sent b_creates_freash_nonces_in_time intruder_key_encrypts b_accepts_secure_session_key
% 0.19/0.47  
%------------------------------------------------------------------------------