TSTP Solution File: NUM504+1 by Beagle---0.9.51

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Beagle---0.9.51
% Problem  : NUM504+1 : TPTP v8.1.2. Released v4.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : java -Dfile.encoding=UTF-8 -Xms512M -Xmx4G -Xss10M -jar /export/starexec/sandbox2/solver/bin/beagle.jar -auto -q -proof -print tff -smtsolver /export/starexec/sandbox2/solver/bin/cvc4-1.4-x86_64-linux-opt -liasolver cooper -t %d %s

% Computer : n027.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 Aug 22 10:51:55 EDT 2023

% Result   : Theorem 15.25s 5.22s
% Output   : CNFRefutation 15.42s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   15
%            Number of leaves      :   33
% Syntax   : Number of formulae    :   93 (  41 unt;  20 typ;   2 def)
%            Number of atoms       :  153 (  48 equ)
%            Maximal formula atoms :    8 (   2 avg)
%            Number of connectives :  133 (  53   ~;  48   |;  19   &)
%                                         (   2 <=>;  11  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    9 (   3 avg)
%            Maximal term depth    :    3 (   1 avg)
%            Number of types       :    2 (   0 usr)
%            Number of type conns  :   22 (  13   >;   9   *;   0   +;   0  <<)
%            Number of predicates  :    7 (   5 usr;   1 prp; 0-2 aty)
%            Number of functors    :   15 (  15 usr;   7 con; 0-2 aty)
%            Number of variables   :   29 (;  29   !;   0   ?;   0   :)

% Comments : 
%------------------------------------------------------------------------------
%$ sdtlseqdt0 > iLess0 > doDivides0 > isPrime0 > aNaturalNumber0 > sdtsldt0 > sdtpldt0 > sdtmndt0 > sdtasdt0 > #nlpp > xr > xp > xn > xm > xk > sz10 > sz00 > #skF_4 > #skF_3 > #skF_2 > #skF_1

%Foreground sorts:

%Background operators:

%Foreground operators:
tff(xk,type,
    xk: $i ).

tff(xr,type,
    xr: $i ).

tff(sdtasdt0,type,
    sdtasdt0: ( $i * $i ) > $i ).

tff('#skF_4',type,
    '#skF_4': $i > $i ).

tff(sz10,type,
    sz10: $i ).

tff(sdtmndt0,type,
    sdtmndt0: ( $i * $i ) > $i ).

tff(sdtlseqdt0,type,
    sdtlseqdt0: ( $i * $i ) > $o ).

tff(sz00,type,
    sz00: $i ).

tff(sdtpldt0,type,
    sdtpldt0: ( $i * $i ) > $i ).

tff(isPrime0,type,
    isPrime0: $i > $o ).

tff(aNaturalNumber0,type,
    aNaturalNumber0: $i > $o ).

tff(doDivides0,type,
    doDivides0: ( $i * $i ) > $o ).

tff('#skF_3',type,
    '#skF_3': $i > $i ).

tff('#skF_2',type,
    '#skF_2': ( $i * $i ) > $i ).

tff(xp,type,
    xp: $i ).

tff(iLess0,type,
    iLess0: ( $i * $i ) > $o ).

tff(xm,type,
    xm: $i ).

tff(sdtsldt0,type,
    sdtsldt0: ( $i * $i ) > $i ).

tff(xn,type,
    xn: $i ).

tff('#skF_1',type,
    '#skF_1': ( $i * $i ) > $i ).

tff(f_423,hypothesis,
    ( aNaturalNumber0(xn)
    & aNaturalNumber0(xm)
    & aNaturalNumber0(xp) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',m__1837) ).

tff(f_73,axiom,
    ! [W0,W1] :
      ( ( aNaturalNumber0(W0)
        & aNaturalNumber0(W1) )
     => ( sdtasdt0(W0,W1) = sdtasdt0(W1,W0) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',mMulComm) ).

tff(f_47,axiom,
    ! [W0,W1] :
      ( ( aNaturalNumber0(W0)
        & aNaturalNumber0(W1) )
     => aNaturalNumber0(sdtasdt0(W0,W1)) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',mSortsB_02) ).

tff(f_31,axiom,
    aNaturalNumber0(sz00),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',mSortsC) ).

tff(f_403,definition,
    ! [W0] :
      ( aNaturalNumber0(W0)
     => ( isPrime0(W0)
      <=> ( ( W0 != sz00 )
          & ( W0 != sz10 )
          & ! [W1] :
              ( ( aNaturalNumber0(W1)
                & doDivides0(W1,W0) )
             => ( ( W1 = sz10 )
                | ( W1 = W0 ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',mDefPrime) ).

tff(f_35,axiom,
    ( aNaturalNumber0(sz10)
    & ( sz10 != sz00 ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',mSortsC_01) ).

tff(f_87,axiom,
    ! [W0] :
      ( aNaturalNumber0(W0)
     => ( ( sdtasdt0(W0,sz10) = W0 )
        & ( W0 = sdtasdt0(sz10,W0) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',m_MulUnit) ).

tff(f_278,axiom,
    ! [W0,W1] :
      ( ( aNaturalNumber0(W0)
        & aNaturalNumber0(W1) )
     => ( ( W0 != sz00 )
       => sdtlseqdt0(W1,sdtasdt0(W1,W0)) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',mMonMul2) ).

tff(f_442,hypothesis,
    ( isPrime0(xp)
    & doDivides0(xp,sdtasdt0(xn,xm)) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',m__1860) ).

tff(f_456,hypothesis,
    xk = sdtsldt0(sdtasdt0(xn,xm),xp),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',m__2306) ).

tff(f_323,definition,
    ! [W0,W1] :
      ( ( aNaturalNumber0(W0)
        & aNaturalNumber0(W1) )
     => ( ( ( W0 != sz00 )
          & doDivides0(W0,W1) )
       => ! [W2] :
            ( ( W2 = sdtsldt0(W1,W0) )
          <=> ( aNaturalNumber0(W2)
              & ( W1 = sdtasdt0(W0,W2) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',mDefQuot) ).

tff(f_483,hypothesis,
    ( ( sdtasdt0(xn,xm) != sdtasdt0(xp,xm) )
    & sdtlseqdt0(sdtasdt0(xn,xm),sdtasdt0(xp,xm))
    & ( sdtasdt0(xp,xm) != sdtasdt0(xp,xk) )
    & sdtlseqdt0(sdtasdt0(xp,xm),sdtasdt0(xp,xk)) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',m__2414) ).

tff(f_189,axiom,
    ! [W0,W1] :
      ( ( aNaturalNumber0(W0)
        & aNaturalNumber0(W1) )
     => ( ( sdtlseqdt0(W0,W1)
          & sdtlseqdt0(W1,W0) )
       => ( W0 = W1 ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',mLEAsym) ).

tff(c_145,plain,
    aNaturalNumber0(xm),
    inference(cnfTransformation,[status(thm)],[f_423]) ).

tff(c_143,plain,
    aNaturalNumber0(xp),
    inference(cnfTransformation,[status(thm)],[f_423]) ).

tff(c_1035,plain,
    ! [W1_120,W0_121] :
      ( ( sdtasdt0(W1_120,W0_121) = sdtasdt0(W0_121,W1_120) )
      | ~ aNaturalNumber0(W1_120)
      | ~ aNaturalNumber0(W0_121) ),
    inference(cnfTransformation,[status(thm)],[f_73]) ).

tff(c_11996,plain,
    ! [W0_259] :
      ( ( sdtasdt0(xp,W0_259) = sdtasdt0(W0_259,xp) )
      | ~ aNaturalNumber0(W0_259) ),
    inference(resolution,[status(thm)],[c_143,c_1035]) ).

tff(c_12073,plain,
    sdtasdt0(xp,xm) = sdtasdt0(xm,xp),
    inference(resolution,[status(thm)],[c_145,c_11996]) ).

tff(c_147,plain,
    aNaturalNumber0(xn),
    inference(cnfTransformation,[status(thm)],[f_423]) ).

tff(c_12,plain,
    ! [W0_4,W1_5] :
      ( aNaturalNumber0(sdtasdt0(W0_4,W1_5))
      | ~ aNaturalNumber0(W1_5)
      | ~ aNaturalNumber0(W0_4) ),
    inference(cnfTransformation,[status(thm)],[f_47]) ).

tff(c_4,plain,
    aNaturalNumber0(sz00),
    inference(cnfTransformation,[status(thm)],[f_31]) ).

tff(c_135,plain,
    ( ~ isPrime0(sz00)
    | ~ aNaturalNumber0(sz00) ),
    inference(cnfTransformation,[status(thm)],[f_403]) ).

tff(c_201,plain,
    ~ isPrime0(sz00),
    inference(demodulation,[status(thm),theory(equality)],[c_4,c_135]) ).

tff(c_8,plain,
    aNaturalNumber0(sz10),
    inference(cnfTransformation,[status(thm)],[f_35]) ).

tff(c_398,plain,
    ! [W0_104] :
      ( ( sdtasdt0(sz10,W0_104) = W0_104 )
      | ~ aNaturalNumber0(W0_104) ),
    inference(cnfTransformation,[status(thm)],[f_87]) ).

tff(c_423,plain,
    sdtasdt0(sz10,xp) = xp,
    inference(resolution,[status(thm)],[c_143,c_398]) ).

tff(c_1315,plain,
    ! [W1_128,W0_129] :
      ( sdtlseqdt0(W1_128,sdtasdt0(W1_128,W0_129))
      | ( sz00 = W0_129 )
      | ~ aNaturalNumber0(W1_128)
      | ~ aNaturalNumber0(W0_129) ),
    inference(cnfTransformation,[status(thm)],[f_278]) ).

tff(c_1351,plain,
    ( sdtlseqdt0(sz10,xp)
    | ( xp = sz00 )
    | ~ aNaturalNumber0(sz10)
    | ~ aNaturalNumber0(xp) ),
    inference(superposition,[status(thm),theory(equality)],[c_423,c_1315]) ).

tff(c_1429,plain,
    ( sdtlseqdt0(sz10,xp)
    | ( xp = sz00 ) ),
    inference(demodulation,[status(thm),theory(equality)],[c_143,c_8,c_1351]) ).

tff(c_3279,plain,
    xp = sz00,
    inference(splitLeft,[status(thm)],[c_1429]) ).

tff(c_153,plain,
    isPrime0(xp),
    inference(cnfTransformation,[status(thm)],[f_442]) ).

tff(c_3305,plain,
    isPrime0(sz00),
    inference(demodulation,[status(thm),theory(equality)],[c_3279,c_153]) ).

tff(c_3325,plain,
    $false,
    inference(negUnitSimplification,[status(thm)],[c_201,c_3305]) ).

tff(c_3327,plain,
    xp != sz00,
    inference(splitRight,[status(thm)],[c_1429]) ).

tff(c_151,plain,
    doDivides0(xp,sdtasdt0(xn,xm)),
    inference(cnfTransformation,[status(thm)],[f_442]) ).

tff(c_167,plain,
    sdtsldt0(sdtasdt0(xn,xm),xp) = xk,
    inference(cnfTransformation,[status(thm)],[f_456]) ).

tff(c_4320,plain,
    ! [W1_193,W0_194] :
      ( aNaturalNumber0(sdtsldt0(W1_193,W0_194))
      | ~ doDivides0(W0_194,W1_193)
      | ( sz00 = W0_194 )
      | ~ aNaturalNumber0(W1_193)
      | ~ aNaturalNumber0(W0_194) ),
    inference(cnfTransformation,[status(thm)],[f_323]) ).

tff(c_4348,plain,
    ( aNaturalNumber0(xk)
    | ~ doDivides0(xp,sdtasdt0(xn,xm))
    | ( xp = sz00 )
    | ~ aNaturalNumber0(sdtasdt0(xn,xm))
    | ~ aNaturalNumber0(xp) ),
    inference(superposition,[status(thm),theory(equality)],[c_167,c_4320]) ).

tff(c_4359,plain,
    ( aNaturalNumber0(xk)
    | ( xp = sz00 )
    | ~ aNaturalNumber0(sdtasdt0(xn,xm)) ),
    inference(demodulation,[status(thm),theory(equality)],[c_143,c_151,c_4348]) ).

tff(c_4360,plain,
    ( aNaturalNumber0(xk)
    | ~ aNaturalNumber0(sdtasdt0(xn,xm)) ),
    inference(negUnitSimplification,[status(thm)],[c_3327,c_4359]) ).

tff(c_6305,plain,
    ~ aNaturalNumber0(sdtasdt0(xn,xm)),
    inference(splitLeft,[status(thm)],[c_4360]) ).

tff(c_6308,plain,
    ( ~ aNaturalNumber0(xm)
    | ~ aNaturalNumber0(xn) ),
    inference(resolution,[status(thm)],[c_12,c_6305]) ).

tff(c_6312,plain,
    $false,
    inference(demodulation,[status(thm),theory(equality)],[c_147,c_145,c_6308]) ).

tff(c_6313,plain,
    aNaturalNumber0(xk),
    inference(splitRight,[status(thm)],[c_4360]) ).

tff(c_12056,plain,
    sdtasdt0(xp,xk) = sdtasdt0(xk,xp),
    inference(resolution,[status(thm)],[c_6313,c_11996]) ).

tff(c_191,plain,
    sdtasdt0(xp,xm) != sdtasdt0(xp,xk),
    inference(cnfTransformation,[status(thm)],[f_483]) ).

tff(c_12077,plain,
    sdtasdt0(xp,xm) != sdtasdt0(xk,xp),
    inference(demodulation,[status(thm),theory(equality)],[c_12056,c_191]) ).

tff(c_12484,plain,
    sdtasdt0(xm,xp) != sdtasdt0(xk,xp),
    inference(demodulation,[status(thm),theory(equality)],[c_12073,c_12077]) ).

tff(c_12539,plain,
    ( aNaturalNumber0(sdtasdt0(xm,xp))
    | ~ aNaturalNumber0(xm)
    | ~ aNaturalNumber0(xp) ),
    inference(superposition,[status(thm),theory(equality)],[c_12073,c_12]) ).

tff(c_12590,plain,
    aNaturalNumber0(sdtasdt0(xm,xp)),
    inference(demodulation,[status(thm),theory(equality)],[c_143,c_145,c_12539]) ).

tff(c_12130,plain,
    ( aNaturalNumber0(sdtasdt0(xk,xp))
    | ~ aNaturalNumber0(xk)
    | ~ aNaturalNumber0(xp) ),
    inference(superposition,[status(thm),theory(equality)],[c_12056,c_12]) ).

tff(c_12181,plain,
    aNaturalNumber0(sdtasdt0(xk,xp)),
    inference(demodulation,[status(thm),theory(equality)],[c_143,c_6313,c_12130]) ).

tff(c_189,plain,
    sdtlseqdt0(sdtasdt0(xp,xm),sdtasdt0(xp,xk)),
    inference(cnfTransformation,[status(thm)],[f_483]) ).

tff(c_12076,plain,
    sdtlseqdt0(sdtasdt0(xp,xm),sdtasdt0(xk,xp)),
    inference(demodulation,[status(thm),theory(equality)],[c_12056,c_189]) ).

tff(c_18358,plain,
    sdtlseqdt0(sdtasdt0(xm,xp),sdtasdt0(xk,xp)),
    inference(demodulation,[status(thm),theory(equality)],[c_12073,c_12076]) ).

tff(c_12342,plain,
    ! [W0_260] :
      ( ( sdtasdt0(xm,W0_260) = sdtasdt0(W0_260,xm) )
      | ~ aNaturalNumber0(W0_260) ),
    inference(resolution,[status(thm)],[c_145,c_1035]) ).

tff(c_12418,plain,
    sdtasdt0(xn,xm) = sdtasdt0(xm,xn),
    inference(resolution,[status(thm)],[c_147,c_12342]) ).

tff(c_6314,plain,
    aNaturalNumber0(sdtasdt0(xn,xm)),
    inference(splitRight,[status(thm)],[c_4360]) ).

tff(c_12747,plain,
    aNaturalNumber0(sdtasdt0(xm,xn)),
    inference(demodulation,[status(thm),theory(equality)],[c_12418,c_6314]) ).

tff(c_12749,plain,
    doDivides0(xp,sdtasdt0(xm,xn)),
    inference(demodulation,[status(thm),theory(equality)],[c_12418,c_151]) ).

tff(c_12748,plain,
    sdtsldt0(sdtasdt0(xm,xn),xp) = xk,
    inference(demodulation,[status(thm),theory(equality)],[c_12418,c_167]) ).

tff(c_109,plain,
    ! [W0_70,W1_71] :
      ( ( sdtasdt0(W0_70,sdtsldt0(W1_71,W0_70)) = W1_71 )
      | ~ doDivides0(W0_70,W1_71)
      | ( sz00 = W0_70 )
      | ~ aNaturalNumber0(W1_71)
      | ~ aNaturalNumber0(W0_70) ),
    inference(cnfTransformation,[status(thm)],[f_323]) ).

tff(c_13053,plain,
    ( ( sdtasdt0(xp,xk) = sdtasdt0(xm,xn) )
    | ~ doDivides0(xp,sdtasdt0(xm,xn))
    | ( xp = sz00 )
    | ~ aNaturalNumber0(sdtasdt0(xm,xn))
    | ~ aNaturalNumber0(xp) ),
    inference(superposition,[status(thm),theory(equality)],[c_12748,c_109]) ).

tff(c_13066,plain,
    ( ( sdtasdt0(xm,xn) = sdtasdt0(xk,xp) )
    | ( xp = sz00 ) ),
    inference(demodulation,[status(thm),theory(equality)],[c_143,c_12747,c_12749,c_12056,c_13053]) ).

tff(c_13067,plain,
    sdtasdt0(xm,xn) = sdtasdt0(xk,xp),
    inference(negUnitSimplification,[status(thm)],[c_3327,c_13066]) ).

tff(c_14844,plain,
    sdtasdt0(xn,xm) = sdtasdt0(xk,xp),
    inference(demodulation,[status(thm),theory(equality)],[c_13067,c_12418]) ).

tff(c_193,plain,
    sdtlseqdt0(sdtasdt0(xn,xm),sdtasdt0(xp,xm)),
    inference(cnfTransformation,[status(thm)],[f_483]) ).

tff(c_12485,plain,
    sdtlseqdt0(sdtasdt0(xn,xm),sdtasdt0(xm,xp)),
    inference(demodulation,[status(thm),theory(equality)],[c_12073,c_193]) ).

tff(c_18377,plain,
    sdtlseqdt0(sdtasdt0(xk,xp),sdtasdt0(xm,xp)),
    inference(demodulation,[status(thm),theory(equality)],[c_14844,c_12485]) ).

tff(c_66,plain,
    ! [W1_45,W0_44] :
      ( ( W1_45 = W0_44 )
      | ~ sdtlseqdt0(W1_45,W0_44)
      | ~ sdtlseqdt0(W0_44,W1_45)
      | ~ aNaturalNumber0(W1_45)
      | ~ aNaturalNumber0(W0_44) ),
    inference(cnfTransformation,[status(thm)],[f_189]) ).

tff(c_18381,plain,
    ( ( sdtasdt0(xm,xp) = sdtasdt0(xk,xp) )
    | ~ sdtlseqdt0(sdtasdt0(xm,xp),sdtasdt0(xk,xp))
    | ~ aNaturalNumber0(sdtasdt0(xk,xp))
    | ~ aNaturalNumber0(sdtasdt0(xm,xp)) ),
    inference(resolution,[status(thm)],[c_18377,c_66]) ).

tff(c_18390,plain,
    sdtasdt0(xm,xp) = sdtasdt0(xk,xp),
    inference(demodulation,[status(thm),theory(equality)],[c_12590,c_12181,c_18358,c_18381]) ).

tff(c_18392,plain,
    $false,
    inference(negUnitSimplification,[status(thm)],[c_12484,c_18390]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.13  % Problem  : NUM504+1 : TPTP v8.1.2. Released v4.0.0.
% 0.00/0.13  % Command  : java -Dfile.encoding=UTF-8 -Xms512M -Xmx4G -Xss10M -jar /export/starexec/sandbox2/solver/bin/beagle.jar -auto -q -proof -print tff -smtsolver /export/starexec/sandbox2/solver/bin/cvc4-1.4-x86_64-linux-opt -liasolver cooper -t %d %s
% 0.13/0.34  % Computer : n027.cluster.edu
% 0.13/0.34  % Model    : x86_64 x86_64
% 0.13/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.34  % Memory   : 8042.1875MB
% 0.13/0.34  % 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 : Thu Aug  3 15:21:53 EDT 2023
% 0.13/0.35  % CPUTime  : 
% 15.25/5.22  % SZS status Theorem for /export/starexec/sandbox2/benchmark/theBenchmark.p
% 15.25/5.23  
% 15.25/5.23  % SZS output start CNFRefutation for /export/starexec/sandbox2/benchmark/theBenchmark.p
% See solution above
% 15.42/5.26  
% 15.42/5.26  Inference rules
% 15.42/5.26  ----------------------
% 15.42/5.26  #Ref     : 6
% 15.42/5.26  #Sup     : 3723
% 15.42/5.26  #Fact    : 2
% 15.42/5.26  #Define  : 0
% 15.42/5.26  #Split   : 15
% 15.42/5.26  #Chain   : 0
% 15.42/5.26  #Close   : 0
% 15.42/5.26  
% 15.42/5.26  Ordering : KBO
% 15.42/5.26  
% 15.42/5.26  Simplification rules
% 15.42/5.26  ----------------------
% 15.42/5.26  #Subsume      : 132
% 15.42/5.26  #Demod        : 6784
% 15.42/5.26  #Tautology    : 1441
% 15.42/5.26  #SimpNegUnit  : 780
% 15.42/5.26  #BackRed      : 367
% 15.42/5.26  
% 15.42/5.26  #Partial instantiations: 0
% 15.42/5.26  #Strategies tried      : 1
% 15.42/5.26  
% 15.42/5.26  Timing (in seconds)
% 15.42/5.26  ----------------------
% 15.42/5.26  Preprocessing        : 0.68
% 15.42/5.26  Parsing              : 0.34
% 15.42/5.26  CNF conversion       : 0.05
% 15.42/5.26  Main loop            : 3.52
% 15.42/5.26  Inferencing          : 0.77
% 15.42/5.26  Reduction            : 1.78
% 15.42/5.26  Demodulation         : 1.45
% 15.42/5.26  BG Simplification    : 0.09
% 15.42/5.26  Subsumption          : 0.67
% 15.42/5.26  Abstraction          : 0.09
% 15.42/5.26  MUC search           : 0.00
% 15.42/5.26  Cooper               : 0.00
% 15.42/5.26  Total                : 4.25
% 15.42/5.26  Index Insertion      : 0.00
% 15.42/5.26  Index Deletion       : 0.00
% 15.42/5.26  Index Matching       : 0.00
% 15.42/5.26  BG Taut test         : 0.00
%------------------------------------------------------------------------------