TSTP Solution File: SWV014+1 by Beagle---0.9.51

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Beagle---0.9.51
% Problem  : SWV014+1 : TPTP v8.1.2. Released v2.4.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : java -Dfile.encoding=UTF-8 -Xms512M -Xmx4G -Xss10M -jar /export/starexec/sandbox/solver/bin/beagle.jar -auto -q -proof -print tff -smtsolver /export/starexec/sandbox/solver/bin/cvc4-1.4-x86_64-linux-opt -liasolver cooper -t %d %s

% Computer : n015.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 : Tue Aug 22 11:02:40 EDT 2023

% Result   : Theorem 4.25s 2.02s
% Output   : CNFRefutation 4.25s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   10
%            Number of leaves      :   40
% Syntax   : Number of formulae    :   83 (  22 unt;  26 typ;   0 def)
%            Number of atoms       :  128 (   0 equ)
%            Maximal formula atoms :    5 (   2 avg)
%            Number of connectives :  128 (  57   ~;  49   |;  13   &)
%                                         (   0 <=>;   9  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    9 (   4 avg)
%            Maximal term depth    :    6 (   2 avg)
%            Number of types       :    2 (   0 usr)
%            Number of type conns  :   30 (  20   >;  10   *;   0   +;   0  <<)
%            Number of predicates  :   12 (  11 usr;   1 prp; 0-1 aty)
%            Number of functors    :   15 (  15 usr;   6 con; 0-4 aty)
%            Number of variables   :   72 (;  71   !;   1   ?;   0   :)

% Comments : 
%------------------------------------------------------------------------------
%$ t_holds > party_of_protocol > message > intruder_message > intruder_holds > fresh_to_b > b_stored > b_holds > a_stored > a_nonce > a_holds > quadruple > triple > sent > pair > key > encrypt > #nlpp > generate_key > generate_expiration_time > generate_b_nonce > t > bt > b > at > an_a_nonce > a

%Foreground sorts:

%Background operators:

%Foreground operators:
tff(sent,type,
    sent: ( $i * $i * $i ) > $i ).

tff(b_stored,type,
    b_stored: $i > $o ).

tff(fresh_to_b,type,
    fresh_to_b: $i > $o ).

tff(a,type,
    a: $i ).

tff(t,type,
    t: $i ).

tff(encrypt,type,
    encrypt: ( $i * $i ) > $i ).

tff(key,type,
    key: ( $i * $i ) > $i ).

tff(b_holds,type,
    b_holds: $i > $o ).

tff(an_a_nonce,type,
    an_a_nonce: $i ).

tff(a_holds,type,
    a_holds: $i > $o ).

tff(b,type,
    b: $i ).

tff(at,type,
    at: $i ).

tff(t_holds,type,
    t_holds: $i > $o ).

tff(message,type,
    message: $i > $o ).

tff(generate_key,type,
    generate_key: $i > $i ).

tff(a_stored,type,
    a_stored: $i > $o ).

tff(pair,type,
    pair: ( $i * $i ) > $i ).

tff(party_of_protocol,type,
    party_of_protocol: $i > $o ).

tff(triple,type,
    triple: ( $i * $i * $i ) > $i ).

tff(intruder_holds,type,
    intruder_holds: $i > $o ).

tff(generate_b_nonce,type,
    generate_b_nonce: $i > $i ).

tff(quadruple,type,
    quadruple: ( $i * $i * $i * $i ) > $i ).

tff(a_nonce,type,
    a_nonce: $i > $o ).

tff(intruder_message,type,
    intruder_message: $i > $o ).

tff(bt,type,
    bt: $i ).

tff(generate_expiration_time,type,
    generate_expiration_time: $i > $i ).

tff(f_28,axiom,
    message(sent(a,b,pair(a,an_a_nonce))),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',a_sent_message_i_to_b) ).

tff(f_71,axiom,
    ! [U,V,W] :
      ( message(sent(U,V,W))
     => intruder_message(W) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_can_record) ).

tff(f_77,axiom,
    ! [U,V] :
      ( intruder_message(pair(U,V))
     => ( intruder_message(U)
        & intruder_message(V) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_decomposes_pairs) ).

tff(f_40,axiom,
    fresh_to_b(an_a_nonce),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',nonce_a_is_fresh_to_b) ).

tff(f_48,axiom,
    ! [U,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)) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',b_creates_freash_nonces_in_time) ).

tff(f_85,axiom,
    ! [U,V,W] :
      ( intruder_message(triple(U,V,W))
     => ( intruder_message(U)
        & intruder_message(V)
        & intruder_message(W) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_decomposes_triples) ).

tff(f_141,axiom,
    ! [V,W] :
      ( ( intruder_message(V)
        & party_of_protocol(W) )
     => intruder_holds(key(V,W)) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_holds_key) ).

tff(f_149,axiom,
    ! [U,V,W] :
      ( ( intruder_message(U)
        & intruder_holds(key(V,W))
        & party_of_protocol(W) )
     => intruder_message(encrypt(U,V)) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_key_encrypts) ).

tff(f_39,axiom,
    party_of_protocol(b),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',b_is_party_of_protocol) ).

tff(f_27,axiom,
    party_of_protocol(a),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',a_is_party_of_protocol) ).

tff(f_101,axiom,
    ! [U,V] :
      ( ( intruder_message(U)
        & intruder_message(V) )
     => intruder_message(pair(U,V)) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_composes_pairs) ).

tff(f_135,axiom,
    ! [U,V,W] :
      ( ( intruder_message(U)
        & party_of_protocol(V)
        & party_of_protocol(W) )
     => message(sent(V,W,U)) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_message_sent) ).

tff(f_54,axiom,
    ! [V,X,Y] :
      ( ( message(sent(X,b,pair(encrypt(triple(X,V,generate_expiration_time(Y)),bt),encrypt(generate_b_nonce(Y),V))))
        & b_stored(pair(X,Y)) )
     => b_holds(key(V,X)) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',b_accepts_secure_session_key) ).

tff(f_162,negated_conjecture,
    ~ ? [U] :
        ( intruder_holds(key(U,b))
        & b_holds(key(U,a)) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',co1) ).

tff(c_6,plain,
    message(sent(a,b,pair(a,an_a_nonce))),
    inference(cnfTransformation,[status(thm)],[f_28]) ).

tff(c_34,plain,
    ! [W_21,U_19,V_20] :
      ( intruder_message(W_21)
      | ~ message(sent(U_19,V_20,W_21)) ),
    inference(cnfTransformation,[status(thm)],[f_71]) ).

tff(c_90,plain,
    intruder_message(pair(a,an_a_nonce)),
    inference(resolution,[status(thm)],[c_6,c_34]) ).

tff(c_36,plain,
    ! [V_23,U_22] :
      ( intruder_message(V_23)
      | ~ intruder_message(pair(U_22,V_23)) ),
    inference(cnfTransformation,[status(thm)],[f_77]) ).

tff(c_97,plain,
    intruder_message(an_a_nonce),
    inference(resolution,[status(thm)],[c_90,c_36]) ).

tff(c_18,plain,
    fresh_to_b(an_a_nonce),
    inference(cnfTransformation,[status(thm)],[f_40]) ).

tff(c_210,plain,
    ! [V_131,U_132] :
      ( message(sent(b,t,triple(b,generate_b_nonce(V_131),encrypt(triple(U_132,V_131,generate_expiration_time(V_131)),bt))))
      | ~ fresh_to_b(V_131)
      | ~ message(sent(U_132,b,pair(U_132,V_131))) ),
    inference(cnfTransformation,[status(thm)],[f_48]) ).

tff(c_215,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))))
    | ~ fresh_to_b(an_a_nonce) ),
    inference(resolution,[status(thm)],[c_6,c_210]) ).

tff(c_221,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(demodulation,[status(thm),theory(equality)],[c_18,c_215]) ).

tff(c_225,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(resolution,[status(thm)],[c_221,c_34]) ).

tff(c_42,plain,
    ! [V_25,U_24,W_26] :
      ( intruder_message(V_25)
      | ~ intruder_message(triple(U_24,V_25,W_26)) ),
    inference(cnfTransformation,[status(thm)],[f_85]) ).

tff(c_236,plain,
    intruder_message(generate_b_nonce(an_a_nonce)),
    inference(resolution,[status(thm)],[c_225,c_42]) ).

tff(c_64,plain,
    ! [V_46,W_47] :
      ( intruder_holds(key(V_46,W_47))
      | ~ party_of_protocol(W_47)
      | ~ intruder_message(V_46) ),
    inference(cnfTransformation,[status(thm)],[f_141]) ).

tff(c_143,plain,
    ! [U_104,V_105,W_106] :
      ( intruder_message(encrypt(U_104,V_105))
      | ~ party_of_protocol(W_106)
      | ~ intruder_holds(key(V_105,W_106))
      | ~ intruder_message(U_104) ),
    inference(cnfTransformation,[status(thm)],[f_149]) ).

tff(c_146,plain,
    ! [U_104,V_46,W_47] :
      ( intruder_message(encrypt(U_104,V_46))
      | ~ intruder_message(U_104)
      | ~ party_of_protocol(W_47)
      | ~ intruder_message(V_46) ),
    inference(resolution,[status(thm)],[c_64,c_143]) ).

tff(c_161,plain,
    ! [W_47] : ~ party_of_protocol(W_47),
    inference(splitLeft,[status(thm)],[c_146]) ).

tff(c_16,plain,
    party_of_protocol(b),
    inference(cnfTransformation,[status(thm)],[f_39]) ).

tff(c_165,plain,
    $false,
    inference(negUnitSimplification,[status(thm)],[c_161,c_16]) ).

tff(c_166,plain,
    ! [U_104,V_46] :
      ( intruder_message(encrypt(U_104,V_46))
      | ~ intruder_message(U_104)
      | ~ intruder_message(V_46) ),
    inference(splitRight,[status(thm)],[c_146]) ).

tff(c_4,plain,
    party_of_protocol(a),
    inference(cnfTransformation,[status(thm)],[f_27]) ).

tff(c_147,plain,
    ! [U_107,V_108] :
      ( b_stored(pair(U_107,V_108))
      | ~ fresh_to_b(V_108)
      | ~ message(sent(U_107,b,pair(U_107,V_108))) ),
    inference(cnfTransformation,[status(thm)],[f_48]) ).

tff(c_154,plain,
    ( b_stored(pair(a,an_a_nonce))
    | ~ fresh_to_b(an_a_nonce) ),
    inference(resolution,[status(thm)],[c_6,c_147]) ).

tff(c_160,plain,
    b_stored(pair(a,an_a_nonce)),
    inference(demodulation,[status(thm),theory(equality)],[c_18,c_154]) ).

tff(c_40,plain,
    ! [W_26,U_24,V_25] :
      ( intruder_message(W_26)
      | ~ intruder_message(triple(U_24,V_25,W_26)) ),
    inference(cnfTransformation,[status(thm)],[f_85]) ).

tff(c_237,plain,
    intruder_message(encrypt(triple(a,an_a_nonce,generate_expiration_time(an_a_nonce)),bt)),
    inference(resolution,[status(thm)],[c_225,c_40]) ).

tff(c_54,plain,
    ! [U_31,V_32] :
      ( intruder_message(pair(U_31,V_32))
      | ~ intruder_message(V_32)
      | ~ intruder_message(U_31) ),
    inference(cnfTransformation,[status(thm)],[f_101]) ).

tff(c_62,plain,
    ! [V_44,W_45,U_43] :
      ( message(sent(V_44,W_45,U_43))
      | ~ party_of_protocol(W_45)
      | ~ party_of_protocol(V_44)
      | ~ intruder_message(U_43) ),
    inference(cnfTransformation,[status(thm)],[f_135]) ).

tff(c_238,plain,
    ! [V_133,X_134,Y_135] :
      ( b_holds(key(V_133,X_134))
      | ~ b_stored(pair(X_134,Y_135))
      | ~ message(sent(X_134,b,pair(encrypt(triple(X_134,V_133,generate_expiration_time(Y_135)),bt),encrypt(generate_b_nonce(Y_135),V_133)))) ),
    inference(cnfTransformation,[status(thm)],[f_54]) ).

tff(c_242,plain,
    ! [V_133,V_44,Y_135] :
      ( b_holds(key(V_133,V_44))
      | ~ b_stored(pair(V_44,Y_135))
      | ~ party_of_protocol(b)
      | ~ party_of_protocol(V_44)
      | ~ intruder_message(pair(encrypt(triple(V_44,V_133,generate_expiration_time(Y_135)),bt),encrypt(generate_b_nonce(Y_135),V_133))) ),
    inference(resolution,[status(thm)],[c_62,c_238]) ).

tff(c_400,plain,
    ! [V_176,V_177,Y_178] :
      ( b_holds(key(V_176,V_177))
      | ~ b_stored(pair(V_177,Y_178))
      | ~ party_of_protocol(V_177)
      | ~ intruder_message(pair(encrypt(triple(V_177,V_176,generate_expiration_time(Y_178)),bt),encrypt(generate_b_nonce(Y_178),V_176))) ),
    inference(demodulation,[status(thm),theory(equality)],[c_16,c_242]) ).

tff(c_405,plain,
    ! [V_179,V_180,Y_181] :
      ( b_holds(key(V_179,V_180))
      | ~ b_stored(pair(V_180,Y_181))
      | ~ party_of_protocol(V_180)
      | ~ intruder_message(encrypt(generate_b_nonce(Y_181),V_179))
      | ~ intruder_message(encrypt(triple(V_180,V_179,generate_expiration_time(Y_181)),bt)) ),
    inference(resolution,[status(thm)],[c_54,c_400]) ).

tff(c_411,plain,
    ( b_holds(key(an_a_nonce,a))
    | ~ b_stored(pair(a,an_a_nonce))
    | ~ party_of_protocol(a)
    | ~ intruder_message(encrypt(generate_b_nonce(an_a_nonce),an_a_nonce)) ),
    inference(resolution,[status(thm)],[c_237,c_405]) ).

tff(c_418,plain,
    ( b_holds(key(an_a_nonce,a))
    | ~ intruder_message(encrypt(generate_b_nonce(an_a_nonce),an_a_nonce)) ),
    inference(demodulation,[status(thm),theory(equality)],[c_4,c_160,c_411]) ).

tff(c_420,plain,
    ~ intruder_message(encrypt(generate_b_nonce(an_a_nonce),an_a_nonce)),
    inference(splitLeft,[status(thm)],[c_418]) ).

tff(c_423,plain,
    ( ~ intruder_message(generate_b_nonce(an_a_nonce))
    | ~ intruder_message(an_a_nonce) ),
    inference(resolution,[status(thm)],[c_166,c_420]) ).

tff(c_427,plain,
    $false,
    inference(demodulation,[status(thm),theory(equality)],[c_97,c_236,c_423]) ).

tff(c_428,plain,
    b_holds(key(an_a_nonce,a)),
    inference(splitRight,[status(thm)],[c_418]) ).

tff(c_99,plain,
    ! [V_74,W_75] :
      ( intruder_holds(key(V_74,W_75))
      | ~ party_of_protocol(W_75)
      | ~ intruder_message(V_74) ),
    inference(cnfTransformation,[status(thm)],[f_141]) ).

tff(c_76,plain,
    ! [U_53] :
      ( ~ b_holds(key(U_53,a))
      | ~ intruder_holds(key(U_53,b)) ),
    inference(cnfTransformation,[status(thm)],[f_162]) ).

tff(c_103,plain,
    ! [V_74] :
      ( ~ b_holds(key(V_74,a))
      | ~ party_of_protocol(b)
      | ~ intruder_message(V_74) ),
    inference(resolution,[status(thm)],[c_99,c_76]) ).

tff(c_106,plain,
    ! [V_74] :
      ( ~ b_holds(key(V_74,a))
      | ~ intruder_message(V_74) ),
    inference(demodulation,[status(thm),theory(equality)],[c_16,c_103]) ).

tff(c_432,plain,
    ~ intruder_message(an_a_nonce),
    inference(resolution,[status(thm)],[c_428,c_106]) ).

tff(c_436,plain,
    $false,
    inference(demodulation,[status(thm),theory(equality)],[c_97,c_432]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.13  % Problem  : SWV014+1 : TPTP v8.1.2. Released v2.4.0.
% 0.00/0.14  % Command  : java -Dfile.encoding=UTF-8 -Xms512M -Xmx4G -Xss10M -jar /export/starexec/sandbox/solver/bin/beagle.jar -auto -q -proof -print tff -smtsolver /export/starexec/sandbox/solver/bin/cvc4-1.4-x86_64-linux-opt -liasolver cooper -t %d %s
% 0.14/0.35  % Computer : n015.cluster.edu
% 0.14/0.35  % Model    : x86_64 x86_64
% 0.14/0.35  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.35  % Memory   : 8042.1875MB
% 0.14/0.35  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.14/0.36  % CPULimit : 300
% 0.14/0.36  % WCLimit  : 300
% 0.14/0.36  % DateTime : Thu Aug  3 23:06:59 EDT 2023
% 0.14/0.36  % CPUTime  : 
% 4.25/2.02  % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p
% 4.25/2.03  
% 4.25/2.03  % SZS output start CNFRefutation for /export/starexec/sandbox/benchmark/theBenchmark.p
% See solution above
% 4.25/2.06  
% 4.25/2.06  Inference rules
% 4.25/2.06  ----------------------
% 4.25/2.06  #Ref     : 0
% 4.25/2.06  #Sup     : 53
% 4.25/2.06  #Fact    : 0
% 4.25/2.06  #Define  : 0
% 4.25/2.06  #Split   : 6
% 4.25/2.06  #Chain   : 0
% 4.25/2.06  #Close   : 0
% 4.25/2.06  
% 4.25/2.06  Ordering : KBO
% 4.25/2.06  
% 4.25/2.06  Simplification rules
% 4.25/2.06  ----------------------
% 4.25/2.06  #Subsume      : 47
% 4.25/2.06  #Demod        : 33
% 4.25/2.06  #Tautology    : 14
% 4.25/2.06  #SimpNegUnit  : 49
% 4.25/2.06  #BackRed      : 19
% 4.25/2.06  
% 4.25/2.06  #Partial instantiations: 0
% 4.25/2.07  #Strategies tried      : 1
% 4.25/2.07  
% 4.25/2.07  Timing (in seconds)
% 4.25/2.07  ----------------------
% 4.25/2.07  Preprocessing        : 0.56
% 4.25/2.07  Parsing              : 0.33
% 4.25/2.07  CNF conversion       : 0.03
% 4.25/2.07  Main loop            : 0.43
% 4.25/2.07  Inferencing          : 0.17
% 4.25/2.07  Reduction            : 0.12
% 4.25/2.07  Demodulation         : 0.08
% 4.25/2.07  BG Simplification    : 0.02
% 4.25/2.07  Subsumption          : 0.09
% 4.25/2.07  Abstraction          : 0.01
% 4.25/2.07  MUC search           : 0.00
% 4.25/2.07  Cooper               : 0.00
% 4.25/2.07  Total                : 1.05
% 4.25/2.07  Index Insertion      : 0.00
% 4.25/2.07  Index Deletion       : 0.00
% 4.25/2.07  Index Matching       : 0.00
% 4.25/2.07  BG Taut test         : 0.00
%------------------------------------------------------------------------------