TSTP Solution File: NUM584+1 by Vampire-SAT---4.8

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Vampire-SAT---4.8
% Problem  : NUM584+1 : TPTP v8.1.2. Released v4.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : vampire --mode casc_sat -m 16384 --cores 7 -t %d %s

% Computer : n003.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 Apr 30 14:34:34 EDT 2024

% Result   : Theorem 13.53s 3.20s
% Output   : Refutation 13.53s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   14
%            Number of leaves      :   13
% Syntax   : Number of formulae    :   52 (  16 unt;   0 def)
%            Number of atoms       :  222 (  36 equ)
%            Maximal formula atoms :   16 (   4 avg)
%            Number of connectives :  274 ( 104   ~;  96   |;  58   &)
%                                         (  11 <=>;   5  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   12 (   5 avg)
%            Maximal term depth    :    5 (   1 avg)
%            Number of predicates  :    9 (   7 usr;   1 prp; 0-3 aty)
%            Number of functors    :   17 (  17 usr;   8 con; 0-3 aty)
%            Number of variables   :   90 (  82   !;   8   ?)

% Comments : 
%------------------------------------------------------------------------------
fof(f13632,plain,
    $false,
    inference(resolution,[],[f13630,f317]) ).

fof(f317,plain,
    aElementOf0(xK,szNzAzT0),
    inference(cnf_transformation,[],[f74]) ).

fof(f74,axiom,
    aElementOf0(xK,szNzAzT0),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',m__3418) ).

fof(f13630,plain,
    ~ aElementOf0(xK,szNzAzT0),
    inference(resolution,[],[f13628,f346]) ).

fof(f346,plain,
    aSet0(szNzAzT0),
    inference(cnf_transformation,[],[f23]) ).

fof(f23,axiom,
    ( isCountable0(szNzAzT0)
    & aSet0(szNzAzT0) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',mNATSet) ).

fof(f13628,plain,
    ( ~ aSet0(szNzAzT0)
    | ~ aElementOf0(xK,szNzAzT0) ),
    inference(resolution,[],[f13621,f540]) ).

fof(f540,plain,
    ( aSet0(xS)
    | ~ aSet0(szNzAzT0) ),
    inference(resolution,[],[f385,f333]) ).

fof(f333,plain,
    aSubsetOf0(xS,szNzAzT0),
    inference(cnf_transformation,[],[f75]) ).

fof(f75,axiom,
    ( isCountable0(xS)
    & aSubsetOf0(xS,szNzAzT0) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',m__3435) ).

fof(f385,plain,
    ! [X0,X1] :
      ( ~ aSubsetOf0(X1,X0)
      | aSet0(X1)
      | ~ aSet0(X0) ),
    inference(cnf_transformation,[],[f253]) ).

fof(f253,plain,
    ! [X0] :
      ( ! [X1] :
          ( ( aSubsetOf0(X1,X0)
            | ( ~ aElementOf0(sK20(X0,X1),X0)
              & aElementOf0(sK20(X0,X1),X1) )
            | ~ aSet0(X1) )
          & ( ( ! [X3] :
                  ( aElementOf0(X3,X0)
                  | ~ aElementOf0(X3,X1) )
              & aSet0(X1) )
            | ~ aSubsetOf0(X1,X0) ) )
      | ~ aSet0(X0) ),
    inference(skolemisation,[status(esa),new_symbols(skolem,[sK20])],[f251,f252]) ).

fof(f252,plain,
    ! [X0,X1] :
      ( ? [X2] :
          ( ~ aElementOf0(X2,X0)
          & aElementOf0(X2,X1) )
     => ( ~ aElementOf0(sK20(X0,X1),X0)
        & aElementOf0(sK20(X0,X1),X1) ) ),
    introduced(choice_axiom,[]) ).

fof(f251,plain,
    ! [X0] :
      ( ! [X1] :
          ( ( aSubsetOf0(X1,X0)
            | ? [X2] :
                ( ~ aElementOf0(X2,X0)
                & aElementOf0(X2,X1) )
            | ~ aSet0(X1) )
          & ( ( ! [X3] :
                  ( aElementOf0(X3,X0)
                  | ~ aElementOf0(X3,X1) )
              & aSet0(X1) )
            | ~ aSubsetOf0(X1,X0) ) )
      | ~ aSet0(X0) ),
    inference(rectify,[],[f250]) ).

fof(f250,plain,
    ! [X0] :
      ( ! [X1] :
          ( ( aSubsetOf0(X1,X0)
            | ? [X2] :
                ( ~ aElementOf0(X2,X0)
                & aElementOf0(X2,X1) )
            | ~ aSet0(X1) )
          & ( ( ! [X2] :
                  ( aElementOf0(X2,X0)
                  | ~ aElementOf0(X2,X1) )
              & aSet0(X1) )
            | ~ aSubsetOf0(X1,X0) ) )
      | ~ aSet0(X0) ),
    inference(flattening,[],[f249]) ).

fof(f249,plain,
    ! [X0] :
      ( ! [X1] :
          ( ( aSubsetOf0(X1,X0)
            | ? [X2] :
                ( ~ aElementOf0(X2,X0)
                & aElementOf0(X2,X1) )
            | ~ aSet0(X1) )
          & ( ( ! [X2] :
                  ( aElementOf0(X2,X0)
                  | ~ aElementOf0(X2,X1) )
              & aSet0(X1) )
            | ~ aSubsetOf0(X1,X0) ) )
      | ~ aSet0(X0) ),
    inference(nnf_transformation,[],[f127]) ).

fof(f127,plain,
    ! [X0] :
      ( ! [X1] :
          ( aSubsetOf0(X1,X0)
        <=> ( ! [X2] :
                ( aElementOf0(X2,X0)
                | ~ aElementOf0(X2,X1) )
            & aSet0(X1) ) )
      | ~ aSet0(X0) ),
    inference(ennf_transformation,[],[f10]) ).

fof(f10,axiom,
    ! [X0] :
      ( aSet0(X0)
     => ! [X1] :
          ( aSubsetOf0(X1,X0)
        <=> ( ! [X2] :
                ( aElementOf0(X2,X1)
               => aElementOf0(X2,X0) )
            & aSet0(X1) ) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',mDefSub) ).

fof(f13621,plain,
    ( ~ aSet0(xS)
    | ~ aElementOf0(xK,szNzAzT0) ),
    inference(resolution,[],[f13620,f318]) ).

fof(f318,plain,
    aSubsetOf0(sdtpldt0(xQ,szmzizndt0(sdtlpdtrp0(xN,xi))),xS),
    inference(cnf_transformation,[],[f88]) ).

fof(f88,axiom,
    aSubsetOf0(sdtpldt0(xQ,szmzizndt0(sdtlpdtrp0(xN,xi))),xS),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',m__4024) ).

fof(f13620,plain,
    ( ~ aSubsetOf0(sdtpldt0(xQ,szmzizndt0(sdtlpdtrp0(xN,xi))),xS)
    | ~ aElementOf0(xK,szNzAzT0)
    | ~ aSet0(xS) ),
    inference(resolution,[],[f13619,f484]) ).

fof(f484,plain,
    ! [X0,X1] :
      ( sP11(X0,X1)
      | ~ aElementOf0(X1,szNzAzT0)
      | ~ aSet0(X0) ),
    inference(cnf_transformation,[],[f225]) ).

fof(f225,plain,
    ! [X0,X1] :
      ( sP11(X0,X1)
      | ~ aElementOf0(X1,szNzAzT0)
      | ~ aSet0(X0) ),
    inference(definition_folding,[],[f186,f224,f223]) ).

fof(f223,plain,
    ! [X1,X0,X2] :
      ( sP10(X1,X0,X2)
    <=> ( ! [X3] :
            ( aElementOf0(X3,X2)
          <=> ( sbrdtbr0(X3) = X1
              & aSubsetOf0(X3,X0) ) )
        & aSet0(X2) ) ),
    introduced(predicate_definition_introduction,[new_symbols(naming,[sP10])]) ).

fof(f224,plain,
    ! [X0,X1] :
      ( ! [X2] :
          ( slbdtsldtrb0(X0,X1) = X2
        <=> sP10(X1,X0,X2) )
      | ~ sP11(X0,X1) ),
    introduced(predicate_definition_introduction,[new_symbols(naming,[sP11])]) ).

fof(f186,plain,
    ! [X0,X1] :
      ( ! [X2] :
          ( slbdtsldtrb0(X0,X1) = X2
        <=> ( ! [X3] :
                ( aElementOf0(X3,X2)
              <=> ( sbrdtbr0(X3) = X1
                  & aSubsetOf0(X3,X0) ) )
            & aSet0(X2) ) )
      | ~ aElementOf0(X1,szNzAzT0)
      | ~ aSet0(X0) ),
    inference(flattening,[],[f185]) ).

fof(f185,plain,
    ! [X0,X1] :
      ( ! [X2] :
          ( slbdtsldtrb0(X0,X1) = X2
        <=> ( ! [X3] :
                ( aElementOf0(X3,X2)
              <=> ( sbrdtbr0(X3) = X1
                  & aSubsetOf0(X3,X0) ) )
            & aSet0(X2) ) )
      | ~ aElementOf0(X1,szNzAzT0)
      | ~ aSet0(X0) ),
    inference(ennf_transformation,[],[f57]) ).

fof(f57,axiom,
    ! [X0,X1] :
      ( ( aElementOf0(X1,szNzAzT0)
        & aSet0(X0) )
     => ! [X2] :
          ( slbdtsldtrb0(X0,X1) = X2
        <=> ( ! [X3] :
                ( aElementOf0(X3,X2)
              <=> ( sbrdtbr0(X3) = X1
                  & aSubsetOf0(X3,X0) ) )
            & aSet0(X2) ) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',mDefSel) ).

fof(f13619,plain,
    ( ~ sP11(xS,xK)
    | ~ aSubsetOf0(sdtpldt0(xQ,szmzizndt0(sdtlpdtrp0(xN,xi))),xS) ),
    inference(resolution,[],[f13329,f611]) ).

fof(f611,plain,
    ( sP10(xK,xS,szDzozmdt0(xc))
    | ~ sP11(xS,xK) ),
    inference(superposition,[],[f521,f322]) ).

fof(f322,plain,
    szDzozmdt0(xc) = slbdtsldtrb0(xS,xK),
    inference(cnf_transformation,[],[f76]) ).

fof(f76,axiom,
    ( aSubsetOf0(sdtlcdtrc0(xc,szDzozmdt0(xc)),xT)
    & szDzozmdt0(xc) = slbdtsldtrb0(xS,xK)
    & aFunction0(xc) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',m__3453) ).

fof(f521,plain,
    ! [X0,X1] :
      ( sP10(X1,X0,slbdtsldtrb0(X0,X1))
      | ~ sP11(X0,X1) ),
    inference(equality_resolution,[],[f475]) ).

fof(f475,plain,
    ! [X2,X0,X1] :
      ( sP10(X1,X0,X2)
      | slbdtsldtrb0(X0,X1) != X2
      | ~ sP11(X0,X1) ),
    inference(cnf_transformation,[],[f303]) ).

fof(f303,plain,
    ! [X0,X1] :
      ( ! [X2] :
          ( ( slbdtsldtrb0(X0,X1) = X2
            | ~ sP10(X1,X0,X2) )
          & ( sP10(X1,X0,X2)
            | slbdtsldtrb0(X0,X1) != X2 ) )
      | ~ sP11(X0,X1) ),
    inference(nnf_transformation,[],[f224]) ).

fof(f13329,plain,
    ! [X0] :
      ( ~ sP10(xK,X0,szDzozmdt0(xc))
      | ~ aSubsetOf0(sdtpldt0(xQ,szmzizndt0(sdtlpdtrp0(xN,xi))),X0) ),
    inference(resolution,[],[f886,f525]) ).

fof(f525,plain,
    ~ aElementOf0(sdtpldt0(xQ,szmzizndt0(sdtlpdtrp0(xN,xi))),szDzozmdt0(xc)),
    inference(backward_demodulation,[],[f313,f322]) ).

fof(f313,plain,
    ~ aElementOf0(sdtpldt0(xQ,szmzizndt0(sdtlpdtrp0(xN,xi))),slbdtsldtrb0(xS,xK)),
    inference(cnf_transformation,[],[f91]) ).

fof(f91,plain,
    ~ aElementOf0(sdtpldt0(xQ,szmzizndt0(sdtlpdtrp0(xN,xi))),slbdtsldtrb0(xS,xK)),
    inference(flattening,[],[f90]) ).

fof(f90,negated_conjecture,
    ~ aElementOf0(sdtpldt0(xQ,szmzizndt0(sdtlpdtrp0(xN,xi))),slbdtsldtrb0(xS,xK)),
    inference(negated_conjecture,[],[f89]) ).

fof(f89,conjecture,
    aElementOf0(sdtpldt0(xQ,szmzizndt0(sdtlpdtrp0(xN,xi))),slbdtsldtrb0(xS,xK)),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',m__) ).

fof(f886,plain,
    ! [X0,X1] :
      ( aElementOf0(sdtpldt0(xQ,szmzizndt0(sdtlpdtrp0(xN,xi))),X1)
      | ~ aSubsetOf0(sdtpldt0(xQ,szmzizndt0(sdtlpdtrp0(xN,xi))),X0)
      | ~ sP10(xK,X0,X1) ),
    inference(superposition,[],[f522,f319]) ).

fof(f319,plain,
    xK = sbrdtbr0(sdtpldt0(xQ,szmzizndt0(sdtlpdtrp0(xN,xi)))),
    inference(cnf_transformation,[],[f87]) ).

fof(f87,axiom,
    xK = sbrdtbr0(sdtpldt0(xQ,szmzizndt0(sdtlpdtrp0(xN,xi)))),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',m__4007) ).

fof(f522,plain,
    ! [X2,X1,X4] :
      ( ~ sP10(sbrdtbr0(X4),X1,X2)
      | ~ aSubsetOf0(X4,X1)
      | aElementOf0(X4,X2) ),
    inference(equality_resolution,[],[f480]) ).

fof(f480,plain,
    ! [X2,X0,X1,X4] :
      ( aElementOf0(X4,X2)
      | sbrdtbr0(X4) != X0
      | ~ aSubsetOf0(X4,X1)
      | ~ sP10(X0,X1,X2) ),
    inference(cnf_transformation,[],[f308]) ).

fof(f308,plain,
    ! [X0,X1,X2] :
      ( ( sP10(X0,X1,X2)
        | ( ( sbrdtbr0(sK32(X0,X1,X2)) != X0
            | ~ aSubsetOf0(sK32(X0,X1,X2),X1)
            | ~ aElementOf0(sK32(X0,X1,X2),X2) )
          & ( ( sbrdtbr0(sK32(X0,X1,X2)) = X0
              & aSubsetOf0(sK32(X0,X1,X2),X1) )
            | aElementOf0(sK32(X0,X1,X2),X2) ) )
        | ~ aSet0(X2) )
      & ( ( ! [X4] :
              ( ( aElementOf0(X4,X2)
                | sbrdtbr0(X4) != X0
                | ~ aSubsetOf0(X4,X1) )
              & ( ( sbrdtbr0(X4) = X0
                  & aSubsetOf0(X4,X1) )
                | ~ aElementOf0(X4,X2) ) )
          & aSet0(X2) )
        | ~ sP10(X0,X1,X2) ) ),
    inference(skolemisation,[status(esa),new_symbols(skolem,[sK32])],[f306,f307]) ).

fof(f307,plain,
    ! [X0,X1,X2] :
      ( ? [X3] :
          ( ( sbrdtbr0(X3) != X0
            | ~ aSubsetOf0(X3,X1)
            | ~ aElementOf0(X3,X2) )
          & ( ( sbrdtbr0(X3) = X0
              & aSubsetOf0(X3,X1) )
            | aElementOf0(X3,X2) ) )
     => ( ( sbrdtbr0(sK32(X0,X1,X2)) != X0
          | ~ aSubsetOf0(sK32(X0,X1,X2),X1)
          | ~ aElementOf0(sK32(X0,X1,X2),X2) )
        & ( ( sbrdtbr0(sK32(X0,X1,X2)) = X0
            & aSubsetOf0(sK32(X0,X1,X2),X1) )
          | aElementOf0(sK32(X0,X1,X2),X2) ) ) ),
    introduced(choice_axiom,[]) ).

fof(f306,plain,
    ! [X0,X1,X2] :
      ( ( sP10(X0,X1,X2)
        | ? [X3] :
            ( ( sbrdtbr0(X3) != X0
              | ~ aSubsetOf0(X3,X1)
              | ~ aElementOf0(X3,X2) )
            & ( ( sbrdtbr0(X3) = X0
                & aSubsetOf0(X3,X1) )
              | aElementOf0(X3,X2) ) )
        | ~ aSet0(X2) )
      & ( ( ! [X4] :
              ( ( aElementOf0(X4,X2)
                | sbrdtbr0(X4) != X0
                | ~ aSubsetOf0(X4,X1) )
              & ( ( sbrdtbr0(X4) = X0
                  & aSubsetOf0(X4,X1) )
                | ~ aElementOf0(X4,X2) ) )
          & aSet0(X2) )
        | ~ sP10(X0,X1,X2) ) ),
    inference(rectify,[],[f305]) ).

fof(f305,plain,
    ! [X1,X0,X2] :
      ( ( sP10(X1,X0,X2)
        | ? [X3] :
            ( ( sbrdtbr0(X3) != X1
              | ~ aSubsetOf0(X3,X0)
              | ~ aElementOf0(X3,X2) )
            & ( ( sbrdtbr0(X3) = X1
                & aSubsetOf0(X3,X0) )
              | aElementOf0(X3,X2) ) )
        | ~ aSet0(X2) )
      & ( ( ! [X3] :
              ( ( aElementOf0(X3,X2)
                | sbrdtbr0(X3) != X1
                | ~ aSubsetOf0(X3,X0) )
              & ( ( sbrdtbr0(X3) = X1
                  & aSubsetOf0(X3,X0) )
                | ~ aElementOf0(X3,X2) ) )
          & aSet0(X2) )
        | ~ sP10(X1,X0,X2) ) ),
    inference(flattening,[],[f304]) ).

fof(f304,plain,
    ! [X1,X0,X2] :
      ( ( sP10(X1,X0,X2)
        | ? [X3] :
            ( ( sbrdtbr0(X3) != X1
              | ~ aSubsetOf0(X3,X0)
              | ~ aElementOf0(X3,X2) )
            & ( ( sbrdtbr0(X3) = X1
                & aSubsetOf0(X3,X0) )
              | aElementOf0(X3,X2) ) )
        | ~ aSet0(X2) )
      & ( ( ! [X3] :
              ( ( aElementOf0(X3,X2)
                | sbrdtbr0(X3) != X1
                | ~ aSubsetOf0(X3,X0) )
              & ( ( sbrdtbr0(X3) = X1
                  & aSubsetOf0(X3,X0) )
                | ~ aElementOf0(X3,X2) ) )
          & aSet0(X2) )
        | ~ sP10(X1,X0,X2) ) ),
    inference(nnf_transformation,[],[f223]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.11/0.13  % Problem    : NUM584+1 : TPTP v8.1.2. Released v4.0.0.
% 0.11/0.14  % Command    : vampire --mode casc_sat -m 16384 --cores 7 -t %d %s
% 0.14/0.35  % Computer : n003.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.35  % CPULimit   : 300
% 0.14/0.35  % WCLimit    : 300
% 0.14/0.35  % DateTime   : Tue Apr 30 00:06:03 EDT 2024
% 0.14/0.36  % CPUTime    : 
% 0.14/0.36  % (14167)Running in auto input_syntax mode. Trying TPTP
% 0.14/0.38  % (14174)ott+1_64_av=off:bd=off:bce=on:fsd=off:fde=unused:gsp=on:irw=on:lcm=predicate:lma=on:nm=2:nwc=1.1:sims=off:urr=on_497 on theBenchmark for (497ds/0Mi)
% 0.14/0.39  % (14169)fmb+10_1_bce=on:fmbdsb=on:fmbes=contour:fmbswr=3:fde=none:nm=0_793 on theBenchmark for (793ds/0Mi)
% 0.14/0.39  % (14172)ott+10_10:1_add=off:afr=on:amm=off:anc=all:bd=off:bs=on:fsr=off:irw=on:lma=on:msp=off:nm=4:nwc=4.0:sac=on:sp=reverse_frequency_531 on theBenchmark for (531ds/0Mi)
% 0.14/0.39  % (14170)WARNING: value z3 for option sas not known
% 0.14/0.39  % (14168)fmb+10_1_bce=on:fmbas=function:fmbsr=1.2:fde=unused:nm=0_846 on theBenchmark for (846ds/0Mi)
% 0.14/0.39  % (14173)ott-10_8_av=off:bd=preordered:bs=on:fsd=off:fsr=off:fde=unused:irw=on:lcm=predicate:lma=on:nm=4:nwc=1.7:sp=frequency_522 on theBenchmark for (522ds/0Mi)
% 0.14/0.40  % (14171)fmb+10_1_bce=on:fmbsr=1.5:nm=32_533 on theBenchmark for (533ds/0Mi)
% 0.14/0.41  % (14170)dis+2_11_add=large:afr=on:amm=off:bd=off:bce=on:fsd=off:fde=none:gs=on:gsaa=full_model:gsem=off:irw=on:msp=off:nm=4:nwc=1.3:sas=z3:sims=off:sac=on:sp=reverse_arity_569 on theBenchmark for (569ds/0Mi)
% 0.14/0.42  TRYING [1]
% 0.20/0.43  TRYING [2]
% 0.20/0.44  TRYING [1]
% 0.20/0.44  TRYING [2]
% 0.20/0.46  TRYING [3]
% 0.20/0.48  TRYING [3]
% 0.96/0.59  TRYING [4]
% 1.28/0.64  TRYING [4]
% 1.76/0.74  TRYING [5]
% 3.55/1.11  TRYING [5]
% 3.55/1.13  TRYING [6]
% 3.55/1.14  TRYING [1]
% 3.55/1.15  TRYING [2]
% 3.94/1.18  TRYING [3]
% 4.25/1.26  TRYING [4]
% 5.47/1.50  TRYING [5]
% 7.93/2.00  TRYING [7]
% 8.62/2.14  TRYING [6]
% 10.03/2.46  TRYING [6]
% 13.53/3.18  % (14173)First to succeed.
% 13.53/3.20  % (14173)Refutation found. Thanks to Tanya!
% 13.53/3.20  % SZS status Theorem for theBenchmark
% 13.53/3.20  % SZS output start Proof for theBenchmark
% See solution above
% 13.53/3.20  % (14173)------------------------------
% 13.53/3.20  % (14173)Version: Vampire 4.8 (commit 8e9376e55 on 2024-01-18 13:49:33 +0100)
% 13.53/3.20  % (14173)Termination reason: Refutation
% 13.53/3.20  
% 13.53/3.20  % (14173)Memory used [KB]: 14121
% 13.53/3.20  % (14173)Time elapsed: 2.776 s
% 13.53/3.20  % (14173)Instructions burned: 2294 (million)
% 13.53/3.20  % (14173)------------------------------
% 13.53/3.20  % (14173)------------------------------
% 13.53/3.20  % (14167)Success in time 2.844 s
%------------------------------------------------------------------------------