TSTP Solution File: SWV233+1 by CSE_E---1.5

View Problem - Process Solution

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

% Computer : n028.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:37:07 EDT 2023

% Result   : Theorem 0.53s 0.68s
% Output   : CNFRefutation 0.53s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   33
%            Number of leaves      :   42
% Syntax   : Number of formulae    :  129 (  38 unt;  27 typ;   0 def)
%            Number of atoms       :  316 (  39 equ)
%            Maximal formula atoms :   21 (   3 avg)
%            Number of connectives :  397 ( 183   ~; 172   |;  34   &)
%                                         (   0 <=>;   8  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   13 (   4 avg)
%            Maximal term depth    :    8 (   2 avg)
%            Number of types       :    2 (   0 usr)
%            Number of type conns  :   26 (  18   >;   8   *;   0   +;   0  <<)
%            Number of predicates  :    3 (   1 usr;   1 prp; 0-2 aty)
%            Number of functors    :   26 (  26 usr;   9 con; 0-2 aty)
%            Number of variables   :  172 (  45 sgn;  52   !;   0   ?;   0   :)

% Comments : 
%------------------------------------------------------------------------------
tff(decl_22,type,
    encrypt: ( $i * $i ) > $i ).

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

tff(decl_24,type,
    inverse: $i > $i ).

tff(decl_25,type,
    symmetric_encrypt: ( $i * $i ) > $i ).

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

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

tff(decl_28,type,
    decrypt: ( $i * $i ) > $i ).

tff(decl_29,type,
    symmetric_decrypt: ( $i * $i ) > $i ).

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

tff(decl_31,type,
    head: $i > $i ).

tff(decl_32,type,
    tail: $i > $i ).

tff(decl_33,type,
    hash: $i > $i ).

tff(decl_34,type,
    first: $i > $i ).

tff(decl_35,type,
    second: $i > $i ).

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

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

tff(decl_38,type,
    mac: ( $i * $i ) > $i ).

tff(decl_39,type,
    k_ca: $i ).

tff(decl_40,type,
    k_a: $i ).

tff(decl_41,type,
    n: $i ).

tff(decl_42,type,
    k_c: $i ).

tff(decl_43,type,
    c: $i ).

tff(decl_44,type,
    eol: $i ).

tff(decl_45,type,
    s: $i ).

tff(decl_46,type,
    secret: $i ).

tff(decl_47,type,
    kgen: $i > $i ).

tff(decl_48,type,
    k_s: $i ).

fof(protocol,axiom,
    ! [X7,X8,X9,X10,X11] :
      ( knows(concatenate(n,concatenate(k_c,sign(concatenate(c,concatenate(k_c,eol)),inverse(k_c)))))
      & ( ( knows(X10)
          & knows(X11)
          & first(extract(X11,k_ca)) = s
          & second(extract(decrypt(X10,inverse(k_c)),second(extract(X11,k_ca)))) = n )
       => knows(symmetric_encrypt(secret,first(extract(decrypt(X10,inverse(k_c)),second(extract(X11,k_ca)))))) )
      & ( ( knows(X7)
          & knows(X8)
          & knows(X9)
          & second(extract(X9,X8)) = X8 )
       => knows(concatenate(encrypt(sign(concatenate(kgen(X8),concatenate(X7,eol)),inverse(k_s)),X8),sign(concatenate(s,concatenate(k_s,eol)),inverse(k_ca)))) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',protocol) ).

fof(second_axiom,axiom,
    ! [X5] : second(X5) = head(tail(X5)),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',second_axiom) ).

fof(sign_axiom,axiom,
    ! [X3,X4] : extract(sign(X3,inverse(X4)),X4) = X3,
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',sign_axiom) ).

fof(construct_message_2,axiom,
    ! [X1,X2] :
      ( knows(concatenate(X1,X2))
     => ( knows(X1)
        & knows(X2) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',construct_message_2) ).

fof(construct_message_1,axiom,
    ! [X1,X2] :
      ( ( knows(X1)
        & knows(X2) )
     => ( knows(concatenate(X1,X2))
        & knows(encrypt(X1,X2))
        & knows(symmetric_encrypt(X1,X2))
        & knows(decrypt(X1,X2))
        & knows(symmetric_decrypt(X1,X2))
        & knows(extract(X1,X2))
        & knows(sign(X1,X2)) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',construct_message_1) ).

fof(tail_axiom,axiom,
    ! [X5,X6] : tail(concatenate(X5,X6)) = X6,
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',tail_axiom) ).

fof(head_axiom,axiom,
    ! [X5,X6] : head(concatenate(X5,X6)) = X5,
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',head_axiom) ).

fof(first_axiom,axiom,
    ! [X5] : first(X5) = head(X5),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',first_axiom) ).

fof(sign_equation,axiom,
    ! [X3,X4] :
      ( ( knows(sign(X3,inverse(X4)))
        & knows(X4) )
     => knows(X3) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',sign_equation) ).

fof(decrypt_axiom,axiom,
    ! [X3,X4] : decrypt(encrypt(X3,X4),inverse(X4)) = X3,
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',decrypt_axiom) ).

fof(previous_knowledge,axiom,
    ( knows(k_ca)
    & knows(inverse(k_a))
    & knows(k_a) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',previous_knowledge) ).

fof(encrypt_equation,axiom,
    ! [X1,X2] :
      ( ( knows(encrypt(X1,X2))
        & knows(inverse(X2)) )
     => knows(X1) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',encrypt_equation) ).

fof(construct_message_3,axiom,
    ! [X3] :
      ( knows(X3)
     => ( knows(head(X3))
        & knows(tail(X3))
        & knows(hash(X3)) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',construct_message_3) ).

fof(symmetric_encrypt_equation,axiom,
    ! [X1,X2] :
      ( ( knows(symmetric_encrypt(X1,X2))
        & knows(X2) )
     => knows(X1) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',symmetric_encrypt_equation) ).

fof(attack,conjecture,
    knows(secret),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',attack) ).

fof(c_0_15,plain,
    ! [X39,X40,X41,X42,X43] :
      ( knows(concatenate(n,concatenate(k_c,sign(concatenate(c,concatenate(k_c,eol)),inverse(k_c)))))
      & ( ~ knows(X42)
        | ~ knows(X43)
        | first(extract(X43,k_ca)) != s
        | second(extract(decrypt(X42,inverse(k_c)),second(extract(X43,k_ca)))) != n
        | knows(symmetric_encrypt(secret,first(extract(decrypt(X42,inverse(k_c)),second(extract(X43,k_ca)))))) )
      & ( ~ knows(X39)
        | ~ knows(X40)
        | ~ knows(X41)
        | second(extract(X41,X40)) != X40
        | knows(concatenate(encrypt(sign(concatenate(kgen(X40),concatenate(X39,eol)),inverse(k_s)),X40),sign(concatenate(s,concatenate(k_s,eol)),inverse(k_ca)))) ) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[protocol])]) ).

fof(c_0_16,plain,
    ! [X34] : second(X34) = head(tail(X34)),
    inference(variable_rename,[status(thm)],[second_axiom]) ).

cnf(c_0_17,plain,
    ( knows(concatenate(encrypt(sign(concatenate(kgen(X2),concatenate(X1,eol)),inverse(k_s)),X2),sign(concatenate(s,concatenate(k_s,eol)),inverse(k_ca))))
    | ~ knows(X1)
    | ~ knows(X2)
    | ~ knows(X3)
    | second(extract(X3,X2)) != X2 ),
    inference(split_conjunct,[status(thm)],[c_0_15]) ).

cnf(c_0_18,plain,
    second(X1) = head(tail(X1)),
    inference(split_conjunct,[status(thm)],[c_0_16]) ).

fof(c_0_19,plain,
    ! [X27,X28] : extract(sign(X27,inverse(X28)),X28) = X27,
    inference(variable_rename,[status(thm)],[sign_axiom]) ).

fof(c_0_20,plain,
    ! [X20,X21] :
      ( ( knows(X20)
        | ~ knows(concatenate(X20,X21)) )
      & ( knows(X21)
        | ~ knows(concatenate(X20,X21)) ) ),
    inference(distribute,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[construct_message_2])])]) ).

cnf(c_0_21,plain,
    ( knows(concatenate(encrypt(sign(concatenate(kgen(X2),concatenate(X1,eol)),inverse(k_s)),X2),sign(concatenate(s,concatenate(k_s,eol)),inverse(k_ca))))
    | head(tail(extract(X3,X2))) != X2
    | ~ knows(X3)
    | ~ knows(X2)
    | ~ knows(X1) ),
    inference(rw,[status(thm)],[c_0_17,c_0_18]) ).

cnf(c_0_22,plain,
    extract(sign(X1,inverse(X2)),X2) = X1,
    inference(split_conjunct,[status(thm)],[c_0_19]) ).

cnf(c_0_23,plain,
    ( knows(X1)
    | ~ knows(concatenate(X2,X1)) ),
    inference(split_conjunct,[status(thm)],[c_0_20]) ).

cnf(c_0_24,plain,
    ( knows(concatenate(encrypt(sign(concatenate(kgen(head(tail(X1))),concatenate(X2,eol)),inverse(k_s)),head(tail(X1))),sign(concatenate(s,concatenate(k_s,eol)),inverse(k_ca))))
    | ~ knows(sign(X1,inverse(head(tail(X1)))))
    | ~ knows(head(tail(X1)))
    | ~ knows(X2) ),
    inference(er,[status(thm)],[inference(spm,[status(thm)],[c_0_21,c_0_22])]) ).

fof(c_0_25,plain,
    ! [X18,X19] :
      ( ( knows(concatenate(X18,X19))
        | ~ knows(X18)
        | ~ knows(X19) )
      & ( knows(encrypt(X18,X19))
        | ~ knows(X18)
        | ~ knows(X19) )
      & ( knows(symmetric_encrypt(X18,X19))
        | ~ knows(X18)
        | ~ knows(X19) )
      & ( knows(decrypt(X18,X19))
        | ~ knows(X18)
        | ~ knows(X19) )
      & ( knows(symmetric_decrypt(X18,X19))
        | ~ knows(X18)
        | ~ knows(X19) )
      & ( knows(extract(X18,X19))
        | ~ knows(X18)
        | ~ knows(X19) )
      & ( knows(sign(X18,X19))
        | ~ knows(X18)
        | ~ knows(X19) ) ),
    inference(distribute,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[construct_message_1])])]) ).

cnf(c_0_26,plain,
    ( knows(sign(concatenate(s,concatenate(k_s,eol)),inverse(k_ca)))
    | ~ knows(sign(X1,inverse(head(tail(X1)))))
    | ~ knows(head(tail(X1)))
    | ~ knows(X2) ),
    inference(spm,[status(thm)],[c_0_23,c_0_24]) ).

cnf(c_0_27,plain,
    ( knows(sign(X1,X2))
    | ~ knows(X1)
    | ~ knows(X2) ),
    inference(split_conjunct,[status(thm)],[c_0_25]) ).

fof(c_0_28,plain,
    ! [X31,X32] : tail(concatenate(X31,X32)) = X32,
    inference(variable_rename,[status(thm)],[tail_axiom]) ).

cnf(c_0_29,plain,
    ( knows(sign(concatenate(s,concatenate(k_s,eol)),inverse(k_ca)))
    | ~ knows(inverse(head(tail(X1))))
    | ~ knows(head(tail(X1)))
    | ~ knows(X2)
    | ~ knows(X1) ),
    inference(spm,[status(thm)],[c_0_26,c_0_27]) ).

cnf(c_0_30,plain,
    tail(concatenate(X1,X2)) = X2,
    inference(split_conjunct,[status(thm)],[c_0_28]) ).

fof(c_0_31,plain,
    ! [X29,X30] : head(concatenate(X29,X30)) = X29,
    inference(variable_rename,[status(thm)],[head_axiom]) ).

cnf(c_0_32,plain,
    knows(concatenate(n,concatenate(k_c,sign(concatenate(c,concatenate(k_c,eol)),inverse(k_c))))),
    inference(split_conjunct,[status(thm)],[c_0_15]) ).

fof(c_0_33,plain,
    ! [X33] : first(X33) = head(X33),
    inference(variable_rename,[status(thm)],[first_axiom]) ).

cnf(c_0_34,plain,
    ( knows(sign(concatenate(s,concatenate(k_s,eol)),inverse(k_ca)))
    | ~ knows(inverse(head(X1)))
    | ~ knows(concatenate(X2,X1))
    | ~ knows(head(X1))
    | ~ knows(X3) ),
    inference(spm,[status(thm)],[c_0_29,c_0_30]) ).

cnf(c_0_35,plain,
    head(concatenate(X1,X2)) = X1,
    inference(split_conjunct,[status(thm)],[c_0_31]) ).

fof(c_0_36,plain,
    ! [X16,X17] :
      ( ~ knows(sign(X16,inverse(X17)))
      | ~ knows(X17)
      | knows(X16) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[sign_equation])]) ).

cnf(c_0_37,plain,
    knows(concatenate(k_c,sign(concatenate(c,concatenate(k_c,eol)),inverse(k_c)))),
    inference(spm,[status(thm)],[c_0_23,c_0_32]) ).

cnf(c_0_38,plain,
    ( knows(X1)
    | ~ knows(concatenate(X1,X2)) ),
    inference(split_conjunct,[status(thm)],[c_0_20]) ).

cnf(c_0_39,plain,
    ( knows(symmetric_encrypt(secret,first(extract(decrypt(X1,inverse(k_c)),second(extract(X2,k_ca))))))
    | ~ knows(X1)
    | ~ knows(X2)
    | first(extract(X2,k_ca)) != s
    | second(extract(decrypt(X1,inverse(k_c)),second(extract(X2,k_ca)))) != n ),
    inference(split_conjunct,[status(thm)],[c_0_15]) ).

cnf(c_0_40,plain,
    first(X1) = head(X1),
    inference(split_conjunct,[status(thm)],[c_0_33]) ).

cnf(c_0_41,plain,
    ( knows(sign(concatenate(s,concatenate(k_s,eol)),inverse(k_ca)))
    | ~ knows(concatenate(X1,concatenate(X2,X3)))
    | ~ knows(inverse(X2))
    | ~ knows(X2)
    | ~ knows(X4) ),
    inference(spm,[status(thm)],[c_0_34,c_0_35]) ).

cnf(c_0_42,plain,
    ( knows(concatenate(X1,X2))
    | ~ knows(X1)
    | ~ knows(X2) ),
    inference(split_conjunct,[status(thm)],[c_0_25]) ).

cnf(c_0_43,plain,
    ( knows(X1)
    | ~ knows(sign(X1,inverse(X2)))
    | ~ knows(X2) ),
    inference(split_conjunct,[status(thm)],[c_0_36]) ).

cnf(c_0_44,plain,
    knows(sign(concatenate(c,concatenate(k_c,eol)),inverse(k_c))),
    inference(spm,[status(thm)],[c_0_23,c_0_37]) ).

cnf(c_0_45,plain,
    knows(k_c),
    inference(spm,[status(thm)],[c_0_38,c_0_37]) ).

cnf(c_0_46,plain,
    ( knows(symmetric_encrypt(secret,head(extract(decrypt(X1,inverse(k_c)),head(tail(extract(X2,k_ca)))))))
    | head(extract(X2,k_ca)) != s
    | head(tail(extract(decrypt(X1,inverse(k_c)),head(tail(extract(X2,k_ca)))))) != n
    | ~ knows(X2)
    | ~ knows(X1) ),
    inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[c_0_39,c_0_40]),c_0_40]),c_0_18]),c_0_18]),c_0_18]) ).

fof(c_0_47,plain,
    ! [X23,X24] : decrypt(encrypt(X23,X24),inverse(X24)) = X23,
    inference(variable_rename,[status(thm)],[decrypt_axiom]) ).

cnf(c_0_48,plain,
    ( knows(sign(concatenate(s,concatenate(k_s,eol)),inverse(k_ca)))
    | ~ knows(concatenate(X1,X2))
    | ~ knows(inverse(X1))
    | ~ knows(X3)
    | ~ knows(X4) ),
    inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_41,c_0_42]),c_0_38]) ).

cnf(c_0_49,plain,
    knows(concatenate(c,concatenate(k_c,eol))),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_43,c_0_44]),c_0_45])]) ).

cnf(c_0_50,plain,
    ( knows(symmetric_encrypt(secret,head(extract(decrypt(X1,inverse(k_c)),head(tail(X2))))))
    | head(tail(extract(decrypt(X1,inverse(k_c)),head(tail(X2))))) != n
    | head(X2) != s
    | ~ knows(sign(X2,inverse(k_ca)))
    | ~ knows(X1) ),
    inference(spm,[status(thm)],[c_0_46,c_0_22]) ).

cnf(c_0_51,plain,
    decrypt(encrypt(X1,X2),inverse(X2)) = X1,
    inference(split_conjunct,[status(thm)],[c_0_47]) ).

cnf(c_0_52,plain,
    ( knows(sign(concatenate(s,concatenate(k_s,eol)),inverse(k_ca)))
    | ~ knows(inverse(X1))
    | ~ knows(X2)
    | ~ knows(X3)
    | ~ knows(X4)
    | ~ knows(X1) ),
    inference(spm,[status(thm)],[c_0_48,c_0_42]) ).

cnf(c_0_53,plain,
    knows(inverse(k_a)),
    inference(split_conjunct,[status(thm)],[previous_knowledge]) ).

cnf(c_0_54,plain,
    knows(k_a),
    inference(split_conjunct,[status(thm)],[previous_knowledge]) ).

cnf(c_0_55,plain,
    knows(concatenate(k_c,eol)),
    inference(spm,[status(thm)],[c_0_23,c_0_49]) ).

cnf(c_0_56,plain,
    ( knows(symmetric_encrypt(secret,head(extract(X1,head(tail(X2))))))
    | head(tail(extract(X1,head(tail(X2))))) != n
    | head(X2) != s
    | ~ knows(sign(X2,inverse(k_ca)))
    | ~ knows(encrypt(X1,k_c)) ),
    inference(spm,[status(thm)],[c_0_50,c_0_51]) ).

cnf(c_0_57,plain,
    ( knows(sign(concatenate(s,concatenate(k_s,eol)),inverse(k_ca)))
    | ~ knows(X1)
    | ~ knows(X2)
    | ~ knows(X3) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_52,c_0_53]),c_0_54])]) ).

cnf(c_0_58,plain,
    knows(eol),
    inference(spm,[status(thm)],[c_0_23,c_0_55]) ).

cnf(c_0_59,plain,
    ( knows(symmetric_encrypt(secret,head(extract(X1,head(X2)))))
    | head(tail(extract(X1,head(X2)))) != n
    | ~ knows(sign(concatenate(s,X2),inverse(k_ca)))
    | ~ knows(encrypt(X1,k_c)) ),
    inference(er,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_56,c_0_30]),c_0_35])]) ).

cnf(c_0_60,plain,
    ( knows(sign(concatenate(s,concatenate(k_s,eol)),inverse(k_ca)))
    | ~ knows(X1)
    | ~ knows(X2) ),
    inference(spm,[status(thm)],[c_0_57,c_0_58]) ).

cnf(c_0_61,plain,
    ( knows(symmetric_encrypt(secret,head(X1)))
    | head(tail(X1)) != n
    | ~ knows(encrypt(sign(X1,inverse(head(X2))),k_c))
    | ~ knows(sign(concatenate(s,X2),inverse(k_ca))) ),
    inference(spm,[status(thm)],[c_0_59,c_0_22]) ).

cnf(c_0_62,plain,
    ( knows(encrypt(X1,X2))
    | ~ knows(X1)
    | ~ knows(X2) ),
    inference(split_conjunct,[status(thm)],[c_0_25]) ).

cnf(c_0_63,plain,
    ( knows(sign(concatenate(s,concatenate(k_s,eol)),inverse(k_ca)))
    | ~ knows(X1) ),
    inference(spm,[status(thm)],[c_0_60,c_0_58]) ).

fof(c_0_64,plain,
    ! [X12,X13] :
      ( ~ knows(encrypt(X12,X13))
      | ~ knows(inverse(X13))
      | knows(X12) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[encrypt_equation])]) ).

cnf(c_0_65,plain,
    ( knows(symmetric_encrypt(secret,head(X1)))
    | head(tail(X1)) != n
    | ~ knows(sign(concatenate(s,X2),inverse(k_ca)))
    | ~ knows(sign(X1,inverse(head(X2)))) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_61,c_0_62]),c_0_45])]) ).

cnf(c_0_66,plain,
    knows(sign(concatenate(s,concatenate(k_s,eol)),inverse(k_ca))),
    inference(spm,[status(thm)],[c_0_63,c_0_58]) ).

cnf(c_0_67,plain,
    ( knows(X1)
    | ~ knows(encrypt(X1,X2))
    | ~ knows(inverse(X2)) ),
    inference(split_conjunct,[status(thm)],[c_0_64]) ).

cnf(c_0_68,plain,
    ( knows(encrypt(sign(concatenate(kgen(head(tail(X1))),concatenate(X2,eol)),inverse(k_s)),head(tail(X1))))
    | ~ knows(sign(X1,inverse(head(tail(X1)))))
    | ~ knows(head(tail(X1)))
    | ~ knows(X2) ),
    inference(spm,[status(thm)],[c_0_38,c_0_24]) ).

cnf(c_0_69,plain,
    ( knows(symmetric_encrypt(secret,head(X1)))
    | head(tail(X1)) != n
    | ~ knows(sign(X1,inverse(k_s))) ),
    inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_65,c_0_66]),c_0_35]) ).

cnf(c_0_70,plain,
    ( knows(sign(concatenate(kgen(head(tail(X1))),concatenate(X2,eol)),inverse(k_s)))
    | ~ knows(sign(X1,inverse(head(tail(X1)))))
    | ~ knows(inverse(head(tail(X1))))
    | ~ knows(head(tail(X1)))
    | ~ knows(X2) ),
    inference(spm,[status(thm)],[c_0_67,c_0_68]) ).

cnf(c_0_71,plain,
    ( knows(symmetric_encrypt(secret,X1))
    | head(X2) != n
    | ~ knows(sign(concatenate(X1,X2),inverse(k_s))) ),
    inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_69,c_0_35]),c_0_30]) ).

cnf(c_0_72,plain,
    ( knows(sign(concatenate(kgen(head(tail(X1))),concatenate(X2,eol)),inverse(k_s)))
    | ~ knows(inverse(head(tail(X1))))
    | ~ knows(head(tail(X1)))
    | ~ knows(X2)
    | ~ knows(X1) ),
    inference(spm,[status(thm)],[c_0_70,c_0_27]) ).

cnf(c_0_73,plain,
    knows(n),
    inference(spm,[status(thm)],[c_0_38,c_0_32]) ).

cnf(c_0_74,plain,
    knows(k_ca),
    inference(split_conjunct,[status(thm)],[previous_knowledge]) ).

cnf(c_0_75,plain,
    ( knows(symmetric_encrypt(secret,kgen(head(tail(X1)))))
    | ~ knows(inverse(head(tail(X1))))
    | ~ knows(head(tail(X1)))
    | ~ knows(X1) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(er,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_71,c_0_72]),c_0_35])]),c_0_73])]) ).

fof(c_0_76,plain,
    ! [X22] :
      ( ( knows(head(X22))
        | ~ knows(X22) )
      & ( knows(tail(X22))
        | ~ knows(X22) )
      & ( knows(hash(X22))
        | ~ knows(X22) ) ),
    inference(distribute,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[construct_message_3])])]) ).

cnf(c_0_77,plain,
    knows(concatenate(s,concatenate(k_s,eol))),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_43,c_0_66]),c_0_74])]) ).

cnf(c_0_78,plain,
    ( knows(symmetric_encrypt(secret,kgen(head(X1))))
    | ~ knows(inverse(head(X1)))
    | ~ knows(concatenate(X2,X1))
    | ~ knows(head(X1)) ),
    inference(spm,[status(thm)],[c_0_75,c_0_30]) ).

cnf(c_0_79,plain,
    ( knows(head(X1))
    | ~ knows(X1) ),
    inference(split_conjunct,[status(thm)],[c_0_76]) ).

cnf(c_0_80,plain,
    knows(concatenate(k_s,eol)),
    inference(spm,[status(thm)],[c_0_23,c_0_77]) ).

cnf(c_0_81,plain,
    ( knows(symmetric_encrypt(secret,kgen(head(X1))))
    | ~ knows(inverse(head(X1)))
    | ~ knows(X1)
    | ~ knows(X2) ),
    inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_78,c_0_42]),c_0_79]) ).

cnf(c_0_82,plain,
    knows(k_s),
    inference(spm,[status(thm)],[c_0_38,c_0_80]) ).

cnf(c_0_83,plain,
    ( knows(symmetric_encrypt(secret,kgen(head(X1))))
    | ~ knows(inverse(head(X1)))
    | ~ knows(X1) ),
    inference(spm,[status(thm)],[c_0_81,c_0_82]) ).

cnf(c_0_84,plain,
    ( knows(symmetric_encrypt(secret,kgen(X1)))
    | ~ knows(concatenate(X1,X2))
    | ~ knows(inverse(X1)) ),
    inference(spm,[status(thm)],[c_0_83,c_0_35]) ).

fof(c_0_85,plain,
    ! [X14,X15] :
      ( ~ knows(symmetric_encrypt(X14,X15))
      | ~ knows(X15)
      | knows(X14) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[symmetric_encrypt_equation])]) ).

cnf(c_0_86,plain,
    ( knows(symmetric_encrypt(secret,kgen(X1)))
    | ~ knows(inverse(X1))
    | ~ knows(X2)
    | ~ knows(X1) ),
    inference(spm,[status(thm)],[c_0_84,c_0_42]) ).

fof(c_0_87,negated_conjecture,
    ~ knows(secret),
    inference(fof_simplification,[status(thm)],[inference(assume_negation,[status(cth)],[attack])]) ).

cnf(c_0_88,plain,
    ( knows(X1)
    | ~ knows(symmetric_encrypt(X1,X2))
    | ~ knows(X2) ),
    inference(split_conjunct,[status(thm)],[c_0_85]) ).

cnf(c_0_89,plain,
    ( knows(symmetric_encrypt(secret,kgen(X1)))
    | ~ knows(inverse(X1))
    | ~ knows(X1) ),
    inference(spm,[status(thm)],[c_0_86,c_0_82]) ).

cnf(c_0_90,negated_conjecture,
    ~ knows(secret),
    inference(split_conjunct,[status(thm)],[c_0_87]) ).

cnf(c_0_91,plain,
    ( knows(concatenate(kgen(head(tail(X1))),concatenate(X2,eol)))
    | ~ knows(inverse(head(tail(X1))))
    | ~ knows(head(tail(X1)))
    | ~ knows(X2)
    | ~ knows(X1) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_43,c_0_72]),c_0_82])]) ).

cnf(c_0_92,plain,
    ( ~ knows(kgen(X1))
    | ~ knows(inverse(X1))
    | ~ knows(X1) ),
    inference(sr,[status(thm)],[inference(spm,[status(thm)],[c_0_88,c_0_89]),c_0_90]) ).

cnf(c_0_93,plain,
    ( ~ knows(inverse(head(tail(X1))))
    | ~ knows(head(tail(X1)))
    | ~ knows(X2)
    | ~ knows(X1) ),
    inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_38,c_0_91]),c_0_92]) ).

cnf(c_0_94,plain,
    ( ~ knows(inverse(head(X1)))
    | ~ knows(concatenate(X2,X1))
    | ~ knows(head(X1))
    | ~ knows(X3) ),
    inference(spm,[status(thm)],[c_0_93,c_0_30]) ).

cnf(c_0_95,plain,
    ( ~ knows(concatenate(X1,concatenate(X2,X3)))
    | ~ knows(inverse(X2))
    | ~ knows(X2)
    | ~ knows(X4) ),
    inference(spm,[status(thm)],[c_0_94,c_0_35]) ).

cnf(c_0_96,plain,
    ( ~ knows(concatenate(X1,X2))
    | ~ knows(inverse(X1))
    | ~ knows(X3)
    | ~ knows(X4) ),
    inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_95,c_0_42]),c_0_38]) ).

cnf(c_0_97,plain,
    ( ~ knows(inverse(X1))
    | ~ knows(X2)
    | ~ knows(X3)
    | ~ knows(X4)
    | ~ knows(X1) ),
    inference(spm,[status(thm)],[c_0_96,c_0_42]) ).

cnf(c_0_98,plain,
    ( ~ knows(X1)
    | ~ knows(X2)
    | ~ knows(X3) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_97,c_0_53]),c_0_54])]) ).

cnf(c_0_99,plain,
    ( ~ knows(X1)
    | ~ knows(X2) ),
    inference(spm,[status(thm)],[c_0_98,c_0_82]) ).

cnf(c_0_100,plain,
    ~ knows(X1),
    inference(spm,[status(thm)],[c_0_99,c_0_82]) ).

cnf(c_0_101,plain,
    $false,
    inference(sr,[status(thm)],[c_0_74,c_0_100]),
    [proof] ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.12/0.12  % Problem    : SWV233+1 : TPTP v8.1.2. Released v3.2.0.
% 0.12/0.13  % Command    : java -jar /export/starexec/sandbox/solver/bin/mcs_scs.jar %d %s
% 0.12/0.34  % Computer : n028.cluster.edu
% 0.12/0.34  % Model    : x86_64 x86_64
% 0.12/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.34  % Memory   : 8042.1875MB
% 0.12/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.12/0.34  % CPULimit   : 300
% 0.12/0.34  % WCLimit    : 300
% 0.12/0.34  % DateTime   : Tue Aug 29 07:05:25 EDT 2023
% 0.12/0.34  % CPUTime  : 
% 0.19/0.57  start to proof: theBenchmark
% 0.53/0.68  % Version  : CSE_E---1.5
% 0.53/0.68  % Problem  : theBenchmark.p
% 0.53/0.68  % Proof found
% 0.53/0.68  % SZS status Theorem for theBenchmark.p
% 0.53/0.68  % SZS output start Proof
% See solution above
% 0.53/0.69  % Total time : 0.106000 s
% 0.53/0.69  % SZS output end Proof
% 0.53/0.69  % Total time : 0.110000 s
%------------------------------------------------------------------------------