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
%------------------------------------------------------------------------------