↑ Up

LisaST---0.9.THM-CRf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : LisaST---0.9
% Problem  : SWV014+1 : TPTP v9.3.1. Released v2.4.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : casc-portfolio.sh -t 300 /export/starexec/sandbox2/benchmark/theBenchmark.p

% Computer : n003.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8046.5625MB
% OS       : Linux 6.8.0-71-generic
% CPULimit : 300s
% WCLimit  : 300s
% DateTime : Sun Sep 27 09:01:15 AM UTC 2026

% Result   : Theorem 10.41s 4.55s
% Output   : CNFRefutation 10.41s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   11
%            Number of leaves      :   14
% Syntax   : Number of formulae    :   55 (  19 unt;   0 def)
%            Number of atoms       :  128 (   0 equ)
%            Maximal formula atoms :    5 (   2 avg)
%            Number of connectives :  128 (  55   ~;  50   |;  14   &)
%                                         (   0 <=>;   9  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    7 (   3 avg)
%            Maximal term depth    :    6 (   2 avg)
%            Number of predicates  :    8 (   7 usr;   1 prp; 0-1 aty)
%            Number of functors    :   12 (  12 usr;   5 con; 0-3 aty)
%            Number of variables   :   71 (   9 sgn  23   !;   2   ?)

% Comments : 
%------------------------------------------------------------------------------
fof(a_is_party_of_protocol,axiom,
    'party$uof$uprotocol'(a) ).

fof(a_sent_message_i_to_b,axiom,
    message(sent(a,b,pair(a,'an$ua$unonce'))) ).

fof(b_is_party_of_protocol,axiom,
    'party$uof$uprotocol'(b) ).

fof(nonce_a_is_fresh_to_b,axiom,
    'fresh$uto$ub'('an$ua$unonce') ).

fof(b_creates_freash_nonces_in_time,axiom,
    ! [X0,X1] :
      ( ( 'fresh$uto$ub'(X1)
        & message(sent(X0,b,pair(X0,X1))) )
     => ( 'b$ustored'(pair(X0,X1))
        & message(sent(b,t,triple(b,'generate$ub$unonce'(X1),encrypt(triple(X0,X1,'generate$uexpiration$utime'(X1)),bt)))) ) ) ).

fof(b_accepts_secure_session_key,axiom,
    ! [X0,X1,X2] :
      ( ( 'b$ustored'(pair(X1,X2))
        & message(sent(X1,b,pair(encrypt(triple(X1,X0,'generate$uexpiration$utime'(X2)),bt),encrypt('generate$ub$unonce'(X2),X0)))) )
     => 'b$uholds'(key(X0,X1)) ) ).

fof(intruder_can_record,axiom,
    ! [X0,X1,X2] :
      ( message(sent(X0,X1,X2))
     => 'intruder$umessage'(X2) ) ).

fof(intruder_decomposes_pairs,axiom,
    ! [X0,X1] :
      ( 'intruder$umessage'(pair(X0,X1))
     => ( 'intruder$umessage'(X1)
        & 'intruder$umessage'(X0) ) ) ).

fof(intruder_decomposes_triples,axiom,
    ! [X0,X1,X2] :
      ( 'intruder$umessage'(triple(X0,X1,X2))
     => ( 'intruder$umessage'(X2)
        & 'intruder$umessage'(X1)
        & 'intruder$umessage'(X0) ) ) ).

fof(intruder_composes_pairs,axiom,
    ! [X0,X1] :
      ( ( 'intruder$umessage'(X1)
        & 'intruder$umessage'(X0) )
     => 'intruder$umessage'(pair(X0,X1)) ) ).

fof(intruder_message_sent,axiom,
    ! [X0,X1,X2] :
      ( ( 'party$uof$uprotocol'(X2)
        & 'party$uof$uprotocol'(X1)
        & 'intruder$umessage'(X0) )
     => message(sent(X1,X2,X0)) ) ).

fof(intruder_holds_key,axiom,
    ! [X0,X1] :
      ( ( 'party$uof$uprotocol'(X1)
        & 'intruder$umessage'(X0) )
     => 'intruder$uholds'(key(X0,X1)) ) ).

fof(intruder_key_encrypts,axiom,
    ! [X0,X1,X2] :
      ( ( 'party$uof$uprotocol'(X2)
        & 'intruder$uholds'(key(X1,X2))
        & 'intruder$umessage'(X0) )
     => 'intruder$umessage'(encrypt(X0,X1)) ) ).

fof(co1,conjecture,
    ? [X0] :
      ( 'b$uholds'(key(X0,a))
      & 'intruder$uholds'(key(X0,b)) ) ).

fof(negated_conjecture,negated_conjecture,
    ~ ? [X0] :
        ( 'b$uholds'(key(X0,a))
        & 'intruder$uholds'(key(X0,b)) ),
    inference(negate_conjecture,[status(cth)],[co1]) ).

cnf(c1,plain,
    'party$uof$uprotocol'(a),
    inference(clausification,[status(esa)],[a_is_party_of_protocol]) ).

cnf(c2,plain,
    message(sent(a,b,pair(a,'an$ua$unonce'))),
    inference(clausification,[status(esa)],[a_sent_message_i_to_b]) ).

cnf(c7,plain,
    'party$uof$uprotocol'(b),
    inference(clausification,[status(esa)],[b_is_party_of_protocol]) ).

cnf(c8,plain,
    'fresh$uto$ub'('an$ua$unonce'),
    inference(clausification,[status(esa)],[nonce_a_is_fresh_to_b]) ).

cnf(c9,plain,
    ( message(sent(b,t,triple(b,'generate$ub$unonce'(X1),encrypt(triple(X0,X1,'generate$uexpiration$utime'(X1)),bt))))
    | ~ 'fresh$uto$ub'(X1)
    | ~ message(sent(X0,b,pair(X0,X1))) ),
    inference(clausification,[status(esa)],[b_creates_freash_nonces_in_time]) ).

cnf(c10,plain,
    ( 'b$ustored'(pair(X0,X1))
    | ~ 'fresh$uto$ub'(X1)
    | ~ message(sent(X0,b,pair(X0,X1))) ),
    inference(clausification,[status(esa)],[b_creates_freash_nonces_in_time]) ).

cnf(c11,plain,
    ( 'b$uholds'(key(X1,X0))
    | ~ 'b$ustored'(pair(X0,X2))
    | ~ message(sent(X0,b,pair(encrypt(triple(X0,X1,'generate$uexpiration$utime'(X2)),bt),encrypt('generate$ub$unonce'(X2),X1)))) ),
    inference(clausification,[status(esa)],[b_accepts_secure_session_key]) ).

cnf(c16,plain,
    ( 'intruder$umessage'(X2)
    | ~ message(sent(X0,X1,X2)) ),
    inference(clausification,[status(esa)],[intruder_can_record]) ).

cnf(c18,plain,
    ( 'intruder$umessage'(X1)
    | ~ 'intruder$umessage'(pair(X0,X1)) ),
    inference(clausification,[status(esa)],[intruder_decomposes_pairs]) ).

cnf(c20,plain,
    ( 'intruder$umessage'(X1)
    | ~ 'intruder$umessage'(triple(X0,X1,X2)) ),
    inference(clausification,[status(esa)],[intruder_decomposes_triples]) ).

cnf(c21,plain,
    ( 'intruder$umessage'(X2)
    | ~ 'intruder$umessage'(triple(X0,X1,X2)) ),
    inference(clausification,[status(esa)],[intruder_decomposes_triples]) ).

cnf(c26,plain,
    ( 'intruder$umessage'(pair(X0,X1))
    | ~ 'intruder$umessage'(X1)
    | ~ 'intruder$umessage'(X0) ),
    inference(clausification,[status(esa)],[intruder_composes_pairs]) ).

cnf(c30,plain,
    ( message(sent(X1,X2,X0))
    | ~ 'party$uof$uprotocol'(X2)
    | ~ 'party$uof$uprotocol'(X1)
    | ~ 'intruder$umessage'(X0) ),
    inference(clausification,[status(esa)],[intruder_message_sent]) ).

cnf(c31,plain,
    ( 'intruder$uholds'(key(X0,X1))
    | ~ 'party$uof$uprotocol'(X1)
    | ~ 'intruder$umessage'(X0) ),
    inference(clausification,[status(esa)],[intruder_holds_key]) ).

cnf(c32,plain,
    ( 'intruder$umessage'(encrypt(X0,X1))
    | ~ 'party$uof$uprotocol'(X2)
    | ~ 'intruder$uholds'(key(X1,X2))
    | ~ 'intruder$umessage'(X0) ),
    inference(clausification,[status(esa)],[intruder_key_encrypts]) ).

cnf(c37,plain,
    ( ~ 'b$uholds'(key(X0,a))
    | ~ 'intruder$uholds'(key(X0,b)) ),
    inference(clausification,[status(esa)],[negated_conjecture]) ).

cnf(d0,plain,
    ( ~ 'b$uholds'(key(X0,a))
    | ~ 'intruder$umessage'(X0)
    | ~ 'party$uof$uprotocol'(b) ),
    inference(resolution,[status(thm)],[c31,c37]) ).

cnf(d1,plain,
    ( ~ 'intruder$umessage'(X0)
    | ~ 'b$uholds'(key(X0,a)) ),
    inference(resolution,[status(thm)],[c7,d0]) ).

cnf(d2,plain,
    ( ~ 'b$ustored'(pair(X0,X2))
    | 'b$uholds'(key(X1,X0))
    | ~ 'intruder$umessage'(pair(encrypt(triple(X0,X1,'generate$uexpiration$utime'(X2)),bt),encrypt('generate$ub$unonce'(X2),X1)))
    | ~ 'party$uof$uprotocol'(b)
    | ~ 'party$uof$uprotocol'(X0) ),
    inference(resolution,[status(thm)],[c30,c11]) ).

cnf(d3,plain,
    ( ~ 'intruder$umessage'(pair(encrypt(triple(X0,X1,'generate$uexpiration$utime'(X2)),bt),encrypt('generate$ub$unonce'(X2),X1)))
    | ~ 'b$ustored'(pair(X0,X2))
    | 'b$uholds'(key(X1,X0))
    | ~ 'party$uof$uprotocol'(X0) ),
    inference(resolution,[status(thm)],[c7,d2]) ).

cnf(d4,plain,
    ( ~ 'intruder$umessage'(encrypt('generate$ub$unonce'(X2),X1))
    | ~ 'intruder$umessage'(encrypt(triple(X0,X1,'generate$uexpiration$utime'(X2)),bt))
    | ~ 'b$ustored'(pair(X0,X2))
    | 'b$uholds'(key(X1,X0))
    | ~ 'party$uof$uprotocol'(X0) ),
    inference(resolution,[status(thm)],[d3,c26]) ).

cnf(d5,plain,
    ( ~ 'fresh$uto$ub'('an$ua$unonce')
    | message(sent(b,t,triple(b,'generate$ub$unonce'('an$ua$unonce'),encrypt(triple(a,'an$ua$unonce','generate$uexpiration$utime'('an$ua$unonce')),bt)))) ),
    inference(resolution,[status(thm)],[c9,c2]) ).

cnf(d6,plain,
    message(sent(b,t,triple(b,'generate$ub$unonce'('an$ua$unonce'),encrypt(triple(a,'an$ua$unonce','generate$uexpiration$utime'('an$ua$unonce')),bt)))),
    inference(resolution,[status(thm)],[c8,d5]) ).

cnf(d7,plain,
    'intruder$umessage'(triple(b,'generate$ub$unonce'('an$ua$unonce'),encrypt(triple(a,'an$ua$unonce','generate$uexpiration$utime'('an$ua$unonce')),bt))),
    inference(resolution,[status(thm)],[d6,c16]) ).

cnf(d8,plain,
    'intruder$umessage'(encrypt(triple(a,'an$ua$unonce','generate$uexpiration$utime'('an$ua$unonce')),bt)),
    inference(resolution,[status(thm)],[d7,c21]) ).

cnf(d9,plain,
    ( ~ 'intruder$umessage'(encrypt('generate$ub$unonce'('an$ua$unonce'),'an$ua$unonce'))
    | ~ 'b$ustored'(pair(a,'an$ua$unonce'))
    | 'b$uholds'(key('an$ua$unonce',a))
    | ~ 'party$uof$uprotocol'(a) ),
    inference(resolution,[status(thm)],[d8,d4]) ).

cnf(d10,plain,
    ( ~ 'intruder$umessage'(encrypt('generate$ub$unonce'('an$ua$unonce'),'an$ua$unonce'))
    | ~ 'b$ustored'(pair(a,'an$ua$unonce'))
    | 'b$uholds'(key('an$ua$unonce',a)) ),
    inference(resolution,[status(thm)],[c1,d9]) ).

cnf(d11,plain,
    ( 'b$ustored'(pair(a,'an$ua$unonce'))
    | ~ 'fresh$uto$ub'('an$ua$unonce') ),
    inference(resolution,[status(thm)],[c10,c2]) ).

cnf(d12,plain,
    'b$ustored'(pair(a,'an$ua$unonce')),
    inference(resolution,[status(thm)],[c8,d11]) ).

cnf(d13,plain,
    ( ~ 'intruder$umessage'(encrypt('generate$ub$unonce'('an$ua$unonce'),'an$ua$unonce'))
    | 'b$uholds'(key('an$ua$unonce',a)) ),
    inference(resolution,[status(thm)],[d12,d10]) ).

cnf(d14,plain,
    'intruder$umessage'(pair(a,'an$ua$unonce')),
    inference(resolution,[status(thm)],[c16,c2]) ).

cnf(d15,plain,
    'intruder$umessage'('an$ua$unonce'),
    inference(resolution,[status(thm)],[d14,c18]) ).

cnf(d16,plain,
    ( ~ 'intruder$umessage'(X2)
    | ~ 'party$uof$uprotocol'(X0)
    | 'intruder$umessage'(encrypt(X1,X2))
    | ~ 'intruder$umessage'(X1)
    | ~ 'party$uof$uprotocol'(X0) ),
    inference(resolution,[status(thm)],[c32,c31]) ).

cnf(d17,plain,
    'intruder$umessage'('generate$ub$unonce'('an$ua$unonce')),
    inference(resolution,[status(thm)],[d7,c20]) ).

cnf(d18,plain,
    ( 'intruder$umessage'(encrypt('generate$ub$unonce'('an$ua$unonce'),X1))
    | ~ 'intruder$umessage'(X1)
    | ~ 'party$uof$uprotocol'(X0) ),
    inference(resolution,[status(thm)],[d17,d16]) ).

cnf(d19,plain,
    ( 'intruder$umessage'(encrypt('generate$ub$unonce'('an$ua$unonce'),'an$ua$unonce'))
    | ~ 'party$uof$uprotocol'(X0) ),
    inference(resolution,[status(thm)],[d18,d15]) ).

cnf(d20,plain,
    'intruder$umessage'(encrypt('generate$ub$unonce'('an$ua$unonce'),'an$ua$unonce')),
    inference(resolution,[status(thm)],[d19,c1]) ).

cnf(d21,plain,
    'b$uholds'(key('an$ua$unonce',a)),
    inference(resolution,[status(thm)],[d20,d13]) ).

cnf(d22,plain,
    ~ 'intruder$umessage'('an$ua$unonce'),
    inference(resolution,[status(thm)],[d21,d1]) ).

cnf(d23,plain,
    $false,
    inference(resolution,[status(thm)],[d15,d22]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.04  % Problem  : SWV014+1 : TPTP v9.3.1. Released v2.4.0.
% 0.00/0.06  % Command  : casc-portfolio.sh -t 300 /export/starexec/sandbox2/benchmark/theBenchmark.p
% 0.16/0.43  % Computer : n003.cluster.edu
% 0.16/0.43  % Model    : x86_64 x86_64
% 0.16/0.43  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.16/0.43  % Memory   : 8046.5625MB
% 0.16/0.43  % OS       : Linux 6.8.0-71-generic
% 0.16/0.44  % CPULimit : 300
% 0.16/0.44  % WCLimit  : 300
% 0.16/0.44  % DateTime : Sat Sep 26 13:06:54 UTC 2026
% 0.16/0.44  % CPUTime  : 
% 0.16/0.44  Running casc-portfolio.sh -t 300 /export/starexec/sandbox2/benchmark/theBenchmark.p
% 10.41/4.55  % SZS status Theorem for theBenchmark.p
% 10.41/4.55  % SZS output start CNFRefutation for theBenchmark.p
% See solution above
%------------------------------------------------------------------------------