TSTP Solution File: SWV014-1 by CSE_E---1.5

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : CSE_E---1.5
% Problem  : SWV014-1 : TPTP v8.1.2. Released v2.4.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : java -jar /export/starexec/sandbox/solver/bin/mcs_scs.jar %d %s

% Computer : n020.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 : Thu Aug 31 21:36:08 EDT 2023

% Result   : Unsatisfiable 0.20s 0.59s
% Output   : CNFRefutation 0.20s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   11
%            Number of leaves      :   41
% Syntax   : Number of formulae    :   74 (  17 unt;  25 typ;   0 def)
%            Number of atoms       :  107 (   0 equ)
%            Maximal formula atoms :    5 (   2 avg)
%            Number of connectives :  120 (  62   ~;  58   |;   0   &)
%                                         (   0 <=>;   0  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    6 (   3 avg)
%            Maximal term depth    :    6 (   2 avg)
%            Number of types       :    2 (   0 usr)
%            Number of type conns  :   29 (  19   >;  10   *;   0   +;   0  <<)
%            Number of predicates  :   11 (  10 usr;   1 prp; 0-1 aty)
%            Number of functors    :   15 (  15 usr;   6 con; 0-4 aty)
%            Number of variables   :   71 (  20 sgn;   0   !;   0   ?;   0   :)

% Comments : 
%------------------------------------------------------------------------------
tff(decl_22,type,
    a: $i ).

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

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

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

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

tff(decl_27,type,
    sent: ( $i * $i * $i ) > $i ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

cnf(b_creates_freash_nonces_in_time_11,axiom,
    ( b_stored(pair(X1,X2))
    | ~ fresh_to_b(X2)
    | ~ message(sent(X1,b,pair(X1,X2))) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',b_creates_freash_nonces_in_time_11) ).

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

cnf(nonce_a_is_fresh_to_b_9,axiom,
    fresh_to_b(an_a_nonce),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',nonce_a_is_fresh_to_b_9) ).

cnf(b_accepts_secure_session_key_12,axiom,
    ( b_holds(key(X1,X2))
    | ~ b_stored(pair(X2,X3))
    | ~ message(sent(X2,b,pair(encrypt(triple(X2,X1,generate_expiration_time(X3)),bt),encrypt(generate_b_nonce(X3),X1)))) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',b_accepts_secure_session_key_12) ).

cnf(intruder_message_sent_31,axiom,
    ( message(sent(X1,X2,X3))
    | ~ intruder_message(X3)
    | ~ party_of_protocol(X2)
    | ~ party_of_protocol(X1) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_message_sent_31) ).

cnf(b_is_party_of_protocol_8,axiom,
    party_of_protocol(b),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',b_is_party_of_protocol_8) ).

cnf(a_is_party_of_protocol_2,axiom,
    party_of_protocol(a),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',a_is_party_of_protocol_2) ).

cnf(b_creates_freash_nonces_in_time_10,axiom,
    ( message(sent(b,t,triple(b,generate_b_nonce(X1),encrypt(triple(X2,X1,generate_expiration_time(X1)),bt))))
    | ~ fresh_to_b(X1)
    | ~ message(sent(X2,b,pair(X2,X1))) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',b_creates_freash_nonces_in_time_10) ).

cnf(intruder_composes_pairs_27,axiom,
    ( intruder_message(pair(X1,X2))
    | ~ intruder_message(X2)
    | ~ intruder_message(X1) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_composes_pairs_27) ).

cnf(intruder_key_encrypts_33,axiom,
    ( intruder_message(encrypt(X1,X2))
    | ~ intruder_holds(key(X2,X3))
    | ~ intruder_message(X1)
    | ~ party_of_protocol(X3) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_key_encrypts_33) ).

cnf(intruder_holds_key_32,axiom,
    ( intruder_holds(key(X1,X2))
    | ~ intruder_message(X1)
    | ~ party_of_protocol(X2) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_holds_key_32) ).

cnf(intruder_can_record_17,axiom,
    ( intruder_message(X1)
    | ~ message(sent(X2,X3,X1)) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_can_record_17) ).

cnf(intruder_decomposes_triples_21,axiom,
    ( intruder_message(X1)
    | ~ intruder_message(triple(X2,X1,X3)) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_decomposes_triples_21) ).

cnf(intruder_decomposes_triples_22,axiom,
    ( intruder_message(X1)
    | ~ intruder_message(triple(X2,X3,X1)) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_decomposes_triples_22) ).

cnf(intruder_decomposes_pairs_19,axiom,
    ( intruder_message(X1)
    | ~ intruder_message(pair(X2,X1)) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',intruder_decomposes_pairs_19) ).

cnf(co1_38,negated_conjecture,
    ( ~ b_holds(key(X1,a))
    | ~ intruder_holds(key(X1,b)) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',co1_38) ).

cnf(c_0_16,axiom,
    ( b_stored(pair(X1,X2))
    | ~ fresh_to_b(X2)
    | ~ message(sent(X1,b,pair(X1,X2))) ),
    b_creates_freash_nonces_in_time_11 ).

cnf(c_0_17,axiom,
    message(sent(a,b,pair(a,an_a_nonce))),
    a_sent_message_i_to_b_3 ).

cnf(c_0_18,axiom,
    fresh_to_b(an_a_nonce),
    nonce_a_is_fresh_to_b_9 ).

cnf(c_0_19,axiom,
    ( b_holds(key(X1,X2))
    | ~ b_stored(pair(X2,X3))
    | ~ message(sent(X2,b,pair(encrypt(triple(X2,X1,generate_expiration_time(X3)),bt),encrypt(generate_b_nonce(X3),X1)))) ),
    b_accepts_secure_session_key_12 ).

cnf(c_0_20,plain,
    b_stored(pair(a,an_a_nonce)),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_16,c_0_17]),c_0_18])]) ).

cnf(c_0_21,plain,
    ( b_holds(key(X1,a))
    | ~ message(sent(a,b,pair(encrypt(triple(a,X1,generate_expiration_time(an_a_nonce)),bt),encrypt(generate_b_nonce(an_a_nonce),X1)))) ),
    inference(spm,[status(thm)],[c_0_19,c_0_20]) ).

cnf(c_0_22,axiom,
    ( message(sent(X1,X2,X3))
    | ~ intruder_message(X3)
    | ~ party_of_protocol(X2)
    | ~ party_of_protocol(X1) ),
    intruder_message_sent_31 ).

cnf(c_0_23,axiom,
    party_of_protocol(b),
    b_is_party_of_protocol_8 ).

cnf(c_0_24,axiom,
    party_of_protocol(a),
    a_is_party_of_protocol_2 ).

cnf(c_0_25,axiom,
    ( message(sent(b,t,triple(b,generate_b_nonce(X1),encrypt(triple(X2,X1,generate_expiration_time(X1)),bt))))
    | ~ fresh_to_b(X1)
    | ~ message(sent(X2,b,pair(X2,X1))) ),
    b_creates_freash_nonces_in_time_10 ).

cnf(c_0_26,plain,
    ( b_holds(key(X1,a))
    | ~ intruder_message(pair(encrypt(triple(a,X1,generate_expiration_time(an_a_nonce)),bt),encrypt(generate_b_nonce(an_a_nonce),X1))) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_21,c_0_22]),c_0_23]),c_0_24])]) ).

cnf(c_0_27,axiom,
    ( intruder_message(pair(X1,X2))
    | ~ intruder_message(X2)
    | ~ intruder_message(X1) ),
    intruder_composes_pairs_27 ).

cnf(c_0_28,axiom,
    ( intruder_message(encrypt(X1,X2))
    | ~ intruder_holds(key(X2,X3))
    | ~ intruder_message(X1)
    | ~ party_of_protocol(X3) ),
    intruder_key_encrypts_33 ).

cnf(c_0_29,axiom,
    ( intruder_holds(key(X1,X2))
    | ~ intruder_message(X1)
    | ~ party_of_protocol(X2) ),
    intruder_holds_key_32 ).

cnf(c_0_30,axiom,
    ( intruder_message(X1)
    | ~ message(sent(X2,X3,X1)) ),
    intruder_can_record_17 ).

cnf(c_0_31,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(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_25,c_0_17]),c_0_18])]) ).

cnf(c_0_32,plain,
    ( b_holds(key(X1,a))
    | ~ intruder_message(encrypt(triple(a,X1,generate_expiration_time(an_a_nonce)),bt))
    | ~ intruder_message(encrypt(generate_b_nonce(an_a_nonce),X1)) ),
    inference(spm,[status(thm)],[c_0_26,c_0_27]) ).

cnf(c_0_33,plain,
    ( intruder_message(encrypt(X1,X2))
    | ~ intruder_message(X1)
    | ~ intruder_message(X2)
    | ~ party_of_protocol(X3) ),
    inference(spm,[status(thm)],[c_0_28,c_0_29]) ).

cnf(c_0_34,axiom,
    ( intruder_message(X1)
    | ~ intruder_message(triple(X2,X1,X3)) ),
    intruder_decomposes_triples_21 ).

cnf(c_0_35,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(spm,[status(thm)],[c_0_30,c_0_31]) ).

cnf(c_0_36,plain,
    ( b_holds(key(X1,a))
    | ~ intruder_message(encrypt(triple(a,X1,generate_expiration_time(an_a_nonce)),bt))
    | ~ intruder_message(generate_b_nonce(an_a_nonce))
    | ~ intruder_message(X1)
    | ~ party_of_protocol(X2) ),
    inference(spm,[status(thm)],[c_0_32,c_0_33]) ).

cnf(c_0_37,plain,
    intruder_message(generate_b_nonce(an_a_nonce)),
    inference(spm,[status(thm)],[c_0_34,c_0_35]) ).

cnf(c_0_38,axiom,
    ( intruder_message(X1)
    | ~ intruder_message(triple(X2,X3,X1)) ),
    intruder_decomposes_triples_22 ).

cnf(c_0_39,axiom,
    ( intruder_message(X1)
    | ~ intruder_message(pair(X2,X1)) ),
    intruder_decomposes_pairs_19 ).

cnf(c_0_40,plain,
    intruder_message(pair(a,an_a_nonce)),
    inference(spm,[status(thm)],[c_0_30,c_0_17]) ).

cnf(c_0_41,plain,
    ( b_holds(key(X1,a))
    | ~ intruder_message(encrypt(triple(a,X1,generate_expiration_time(an_a_nonce)),bt))
    | ~ intruder_message(X1)
    | ~ party_of_protocol(X2) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_36,c_0_37])]) ).

cnf(c_0_42,plain,
    intruder_message(encrypt(triple(a,an_a_nonce,generate_expiration_time(an_a_nonce)),bt)),
    inference(spm,[status(thm)],[c_0_38,c_0_35]) ).

cnf(c_0_43,plain,
    intruder_message(an_a_nonce),
    inference(spm,[status(thm)],[c_0_39,c_0_40]) ).

cnf(c_0_44,negated_conjecture,
    ( ~ b_holds(key(X1,a))
    | ~ intruder_holds(key(X1,b)) ),
    co1_38 ).

cnf(c_0_45,plain,
    ( b_holds(key(an_a_nonce,a))
    | ~ party_of_protocol(X1) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_41,c_0_42]),c_0_43])]) ).

cnf(c_0_46,negated_conjecture,
    ( ~ intruder_holds(key(an_a_nonce,b))
    | ~ party_of_protocol(X1) ),
    inference(spm,[status(thm)],[c_0_44,c_0_45]) ).

cnf(c_0_47,negated_conjecture,
    ~ party_of_protocol(X1),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_46,c_0_29]),c_0_43]),c_0_23])]) ).

cnf(c_0_48,plain,
    $false,
    inference(sr,[status(thm)],[c_0_24,c_0_47]),
    [proof] ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.12  % Problem    : SWV014-1 : TPTP v8.1.2. Released v2.4.0.
% 0.13/0.13  % Command    : java -jar /export/starexec/sandbox/solver/bin/mcs_scs.jar %d %s
% 0.13/0.35  % Computer : n020.cluster.edu
% 0.13/0.35  % Model    : x86_64 x86_64
% 0.13/0.35  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.35  % Memory   : 8042.1875MB
% 0.13/0.35  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.35  % CPULimit   : 300
% 0.13/0.35  % WCLimit    : 300
% 0.13/0.35  % DateTime   : Tue Aug 29 08:42:58 EDT 2023
% 0.13/0.35  % CPUTime  : 
% 0.20/0.57  start to proof: theBenchmark
% 0.20/0.59  % Version  : CSE_E---1.5
% 0.20/0.59  % Problem  : theBenchmark.p
% 0.20/0.59  % Proof found
% 0.20/0.59  % SZS status Theorem for theBenchmark.p
% 0.20/0.59  % SZS output start Proof
% See solution above
% 0.20/0.59  % Total time : 0.009000 s
% 0.20/0.59  % SZS output end Proof
% 0.20/0.59  % Total time : 0.013000 s
%------------------------------------------------------------------------------