↑ Up

Drodi---4.1.1.UNS-CRf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : Drodi---4.1.1
% Problem  : GEO007-1 : TPTP v9.3.1. Bugfixed v2.5.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : drodi -timeout(300) /export/starexec/sandbox/benchmark/theBenchmark.p

% Computer : n010.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 : Thu Sep 24 12:23:44 PM UTC 2026

% Result   : Unsatisfiable 8.95s 1.80s
% Output   : CNFRefutation 8.95s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   13
%            Number of leaves      :   30
% Syntax   : Number of formulae    :  117 (  31 unt;  17 def)
%            Number of atoms       :  252 (  26 equ)
%            Maximal formula atoms :    5 (   2 avg)
%            Number of connectives :  240 ( 105   ~; 118   |;   0   &)
%                                         (  17 <=>;   0  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    9 (   4 avg)
%            Maximal term depth    :    2 (   1 avg)
%            Number of predicates  :   21 (  19 usr;  18 prp; 0-4 aty)
%            Number of functors    :    6 (   6 usr;   4 con; 0-5 aty)
%            Number of variables   :  102 ( 102   !;   0   ?)

% Comments : 
%------------------------------------------------------------------------------
fof(f1,axiom,
    ! [X,Y] :
      ( X = Y
      | ~ between(X,Y,X) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p') ).

fof(f2,axiom,
    ! [X,Y,V,Z] :
      ( between(X,Y,Z)
      | ~ between(Y,Z,V)
      | ~ between(X,Y,V) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p') ).

fof(f3,axiom,
    ! [X,Y,Z,V] :
      ( between(X,V,Z)
      | between(X,Z,V)
      | X = Y
      | ~ between(X,Y,V)
      | ~ between(X,Y,Z) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p') ).

fof(f5,axiom,
    ! [X,Y,Z] :
      ( X = Y
      | ~ equidistant(X,Y,Z,Z) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p') ).

fof(f7,axiom,
    ! [X,W,V,Y,Z] :
      ( between(X,outer_pasch(W,X,Y,Z,V),Y)
      | ~ between(Y,V,Z)
      | ~ between(X,W,V) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p') ).

fof(f8,axiom,
    ! [X,W,V,Y,Z] :
      ( between(Z,W,outer_pasch(W,X,Y,Z,V))
      | ~ between(Y,V,Z)
      | ~ between(X,W,V) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p') ).

fof(f13,axiom,
    ! [X,Y,W,V] : between(X,Y,extension(X,Y,W,V)),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p') ).

fof(f14,axiom,
    ! [Y,X,W,V] : equidistant(Y,extension(X,Y,W,V),W,V),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p') ).

fof(f21,hypothesis,
    a != c,
    file('/export/starexec/sandbox/benchmark/theBenchmark.p') ).

fof(f22,hypothesis,
    between(d,a,c),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p') ).

fof(f23,hypothesis,
    between(e,a,c),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p') ).

fof(f24,hypothesis,
    ~ between(d,e,a),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p') ).

fof(f25,negated_conjecture,
    ~ between(e,d,a),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p') ).

fof(f26,plain,
    ! [X0,X1] :
      ( X0 = X1
      | ~ between(X0,X1,X0) ),
    inference(cnf_transformation,[status(thm)],[f1]) ).

fof(f27,plain,
    ! [X,Y,Z] :
      ( between(X,Y,Z)
      | ! [V] :
          ( ~ between(Y,Z,V)
          | ~ between(X,Y,V) ) ),
    inference(miniscoping,[status(thm)],[f2]) ).

fof(f28,plain,
    ! [X0,X1,X2,X3] :
      ( between(X0,X1,X3)
      | ~ between(X1,X3,X2)
      | ~ between(X0,X1,X2) ),
    inference(cnf_transformation,[status(thm)],[f27]) ).

fof(f29,plain,
    ! [X,Z,V] :
      ( between(X,V,Z)
      | between(X,Z,V)
      | ! [Y] :
          ( X = Y
          | ~ between(X,Y,V)
          | ~ between(X,Y,Z) ) ),
    inference(miniscoping,[status(thm)],[f3]) ).

fof(f30,plain,
    ! [X0,X1,X2,X3] :
      ( between(X0,X3,X2)
      | between(X0,X2,X3)
      | X0 = X1
      | ~ between(X0,X1,X3)
      | ~ between(X0,X1,X2) ),
    inference(cnf_transformation,[status(thm)],[f29]) ).

fof(f32,plain,
    ! [X,Y] :
      ( X = Y
      | ! [Z] : ~ equidistant(X,Y,Z,Z) ),
    inference(miniscoping,[status(thm)],[f5]) ).

fof(f33,plain,
    ! [X0,X1,X2] :
      ( X0 = X1
      | ~ equidistant(X0,X1,X2,X2) ),
    inference(cnf_transformation,[status(thm)],[f32]) ).

fof(f36,plain,
    ! [X0,X1,X2,X3,X4] :
      ( between(X0,outer_pasch(X1,X0,X3,X4,X2),X3)
      | ~ between(X3,X2,X4)
      | ~ between(X0,X1,X2) ),
    inference(cnf_transformation,[status(thm)],[f7]) ).

fof(f37,plain,
    ! [X0,X1,X2,X3,X4] :
      ( between(X4,X1,outer_pasch(X1,X0,X3,X4,X2))
      | ~ between(X3,X2,X4)
      | ~ between(X0,X1,X2) ),
    inference(cnf_transformation,[status(thm)],[f8]) ).

fof(f43,plain,
    ! [X0,X1,X2,X3] : between(X0,X1,extension(X0,X1,X2,X3)),
    inference(cnf_transformation,[status(thm)],[f13]) ).

fof(f44,plain,
    ! [X0,X1,X2,X3] : equidistant(X0,extension(X1,X0,X2,X3),X2,X3),
    inference(cnf_transformation,[status(thm)],[f14]) ).

fof(f52,plain,
    a != c,
    inference(cnf_transformation,[status(thm)],[f21]) ).

fof(f53,plain,
    between(d,a,c),
    inference(cnf_transformation,[status(thm)],[f22]) ).

fof(f54,plain,
    between(e,a,c),
    inference(cnf_transformation,[status(thm)],[f23]) ).

fof(f55,plain,
    ~ between(d,e,a),
    inference(cnf_transformation,[status(thm)],[f24]) ).

fof(f56,plain,
    ~ between(e,d,a),
    inference(cnf_transformation,[status(thm)],[f25]) ).

fof(f58,plain,
    ! [X0] :
      ( between(X0,d,a)
      | ~ between(X0,d,c) ),
    inference(resolution,[status(thm)],[f28,f53]) ).

fof(f59,plain,
    ! [X0] :
      ( between(e,c,X0)
      | between(e,X0,c)
      | e = a
      | ~ between(e,a,X0) ),
    inference(resolution,[status(thm)],[f30,f54]) ).

fof(f61,definition,
    ! [X0] :
      ( sQ0_spl
    <=> ( between(e,c,X0)
        | between(e,X0,c)
        | ~ between(e,a,X0) ) ),
    introduced(definition,[new_symbols(definition,[sQ0_spl])],[split_symbol_definition]) ).

fof(f62,plain,
    ! [X0] :
      ( ~ sQ0_spl
      | between(e,c,X0)
      | between(e,X0,c)
      | ~ between(e,a,X0) ),
    inference(component_clause,[status(thm)],[f61]) ).

fof(f64,definition,
    ( sQ1_spl
  <=> e = a ),
    introduced(definition,[new_symbols(definition,[sQ1_spl])],[split_symbol_definition]) ).

fof(f65,plain,
    ( ~ sQ1_spl
    | e = a ),
    inference(component_clause,[status(thm)],[f64]) ).

fof(f67,plain,
    ( sQ1_spl
    | sQ0_spl ),
    inference(split_clause,[status(thm)],[f59,f61,f64]) ).

fof(f76,definition,
    ( sQ4_spl
  <=> between(d,c,c) ),
    introduced(definition,[new_symbols(definition,[sQ4_spl])],[split_symbol_definition]) ).

fof(f78,plain,
    ( sQ4_spl
    | ~ between(d,c,c) ),
    inference(component_clause,[status(thm)],[f76]) ).

fof(f113,plain,
    ! [X0,X1,X2] : X0 = extension(X1,X0,X2,X2),
    inference(resolution,[status(thm)],[f44,f33]) ).

fof(f115,plain,
    ! [X0,X1] : between(X0,X1,X1),
    inference(paramodulation,[status(thm)],[f113,f43]) ).

fof(f125,plain,
    ! [X0,X1,X2,X3] :
      ( X0 = outer_pasch(X1,X0,X0,X3,X2)
      | ~ between(X0,X2,X3)
      | ~ between(X0,X1,X2) ),
    inference(resolution,[status(thm)],[f36,f26]) ).

fof(f134,plain,
    ! [X0,X1,X2] :
      ( X0 = outer_pasch(X1,X0,X0,X2,X2)
      | ~ between(X0,X1,X2) ),
    inference(resolution,[status(thm)],[f125,f115]) ).

fof(f139,plain,
    ! [X0,X1] : X0 = outer_pasch(X1,X0,X0,X1,X1),
    inference(resolution,[status(thm)],[f134,f115]) ).

fof(f140,plain,
    ! [X0,X1] :
      ( between(X1,X1,X0)
      | ~ between(X0,X1,X1)
      | ~ between(X0,X1,X1) ),
    inference(paramodulation,[status(thm)],[f139,f37]) ).

fof(f142,plain,
    ! [X0,X1] :
      ( between(X1,X1,X0)
      | ~ between(X0,X1,X1) ),
    inference(duplicate_literals_removal,[status(thm)],[f140]) ).

fof(f143,plain,
    ! [X0,X1] : between(X0,X0,X1),
    inference(forward_subsumption_resolution,[status(thm)],[f142,f115]) ).

fof(f158,plain,
    d = outer_pasch(a,d,d,c,c),
    inference(resolution,[status(thm)],[f53,f134]) ).

fof(f163,plain,
    e = outer_pasch(a,e,e,c,c),
    inference(resolution,[status(thm)],[f54,f134]) ).

fof(f164,plain,
    ! [X0] :
      ( e = outer_pasch(X0,e,e,c,a)
      | ~ between(e,X0,a) ),
    inference(resolution,[status(thm)],[f54,f125]) ).

fof(f166,plain,
    ! [X0] :
      ( between(X0,e,a)
      | ~ between(X0,e,c) ),
    inference(resolution,[status(thm)],[f54,f28]) ).

fof(f178,plain,
    ( between(c,a,d)
    | ~ between(d,c,c)
    | ~ between(d,a,c) ),
    inference(paramodulation,[status(thm)],[f158,f37]) ).

fof(f180,definition,
    ( sQ9_spl
  <=> between(d,a,c) ),
    introduced(definition,[new_symbols(definition,[sQ9_spl])],[split_symbol_definition]) ).

fof(f182,plain,
    ( sQ9_spl
    | ~ between(d,a,c) ),
    inference(component_clause,[status(thm)],[f180]) ).

fof(f183,definition,
    ( sQ10_spl
  <=> between(c,a,d) ),
    introduced(definition,[new_symbols(definition,[sQ10_spl])],[split_symbol_definition]) ).

fof(f184,plain,
    ( ~ sQ10_spl
    | between(c,a,d) ),
    inference(component_clause,[status(thm)],[f183]) ).

fof(f186,plain,
    ( sQ10_spl
    | ~ sQ4_spl
    | ~ sQ9_spl ),
    inference(split_clause,[status(thm)],[f178,f180,f76,f183]) ).

fof(f191,plain,
    ( sQ9_spl
    | $false ),
    inference(forward_subsumption_resolution,[status(thm)],[f182,f53]) ).

fof(f192,plain,
    sQ9_spl,
    inference(contradiction_clause,[status(thm)],[f191]) ).

fof(f193,plain,
    ( sQ4_spl
    | $false ),
    inference(forward_subsumption_resolution,[status(thm)],[f78,f115]) ).

fof(f194,plain,
    sQ4_spl,
    inference(contradiction_clause,[status(thm)],[f193]) ).

fof(f195,plain,
    ( ~ sQ0_spl
    | between(e,c,c)
    | between(e,c,c) ),
    inference(resolution,[status(thm)],[f62,f54]) ).

fof(f199,definition,
    ( sQ12_spl
  <=> between(e,c,c) ),
    introduced(definition,[new_symbols(definition,[sQ12_spl])],[split_symbol_definition]) ).

fof(f202,plain,
    ( ~ sQ0_spl
    | sQ12_spl ),
    inference(split_clause,[status(thm)],[f195,f199,f61]) ).

fof(f203,definition,
    ( sQ13_spl
  <=> between(e,a,c) ),
    introduced(definition,[new_symbols(definition,[sQ13_spl])],[split_symbol_definition]) ).

fof(f205,plain,
    ( sQ13_spl
    | ~ between(e,a,c) ),
    inference(component_clause,[status(thm)],[f203]) ).

fof(f229,plain,
    ( ~ sQ1_spl
    | ~ between(d,e,e) ),
    inference(backward_demodulation,[status(thm)],[f65,f55]) ).

fof(f235,plain,
    ( ~ sQ1_spl
    | $false ),
    inference(forward_subsumption_resolution,[status(thm)],[f229,f115]) ).

fof(f236,plain,
    ~ sQ1_spl,
    inference(contradiction_clause,[status(thm)],[f235]) ).

fof(f240,plain,
    ! [X0] :
      ( ~ sQ10_spl
      | between(c,d,X0)
      | between(c,X0,d)
      | c = a
      | ~ between(c,a,X0) ),
    inference(resolution,[status(thm)],[f184,f30]) ).

fof(f242,definition,
    ( sQ17_spl
  <=> c = a ),
    introduced(definition,[new_symbols(definition,[sQ17_spl])],[split_symbol_definition]) ).

fof(f243,plain,
    ( ~ sQ17_spl
    | c = a ),
    inference(component_clause,[status(thm)],[f242]) ).

fof(f249,definition,
    ! [X0] :
      ( sQ19_spl
    <=> ( between(c,d,X0)
        | between(c,X0,d)
        | ~ between(c,a,X0) ) ),
    introduced(definition,[new_symbols(definition,[sQ19_spl])],[split_symbol_definition]) ).

fof(f250,plain,
    ! [X0] :
      ( ~ sQ19_spl
      | between(c,d,X0)
      | between(c,X0,d)
      | ~ between(c,a,X0) ),
    inference(component_clause,[status(thm)],[f249]) ).

fof(f252,plain,
    ( ~ sQ10_spl
    | sQ17_spl
    | sQ19_spl ),
    inference(split_clause,[status(thm)],[f240,f249,f242,f183]) ).

fof(f253,plain,
    ( ~ sQ17_spl
    | $false ),
    inference(forward_subsumption_resolution,[status(thm)],[f243,f52]) ).

fof(f254,plain,
    ~ sQ17_spl,
    inference(contradiction_clause,[status(thm)],[f253]) ).

fof(f277,plain,
    ( between(c,a,e)
    | ~ between(e,c,c)
    | ~ between(e,a,c) ),
    inference(paramodulation,[status(thm)],[f163,f37]) ).

fof(f279,definition,
    ( sQ20_spl
  <=> between(c,a,e) ),
    introduced(definition,[new_symbols(definition,[sQ20_spl])],[split_symbol_definition]) ).

fof(f280,plain,
    ( ~ sQ20_spl
    | between(c,a,e) ),
    inference(component_clause,[status(thm)],[f279]) ).

fof(f282,plain,
    ( sQ20_spl
    | ~ sQ12_spl
    | ~ sQ13_spl ),
    inference(split_clause,[status(thm)],[f277,f203,f199,f279]) ).

fof(f287,plain,
    ( sQ13_spl
    | $false ),
    inference(forward_subsumption_resolution,[status(thm)],[f205,f54]) ).

fof(f288,plain,
    sQ13_spl,
    inference(contradiction_clause,[status(thm)],[f287]) ).

fof(f325,definition,
    ( sQ24_spl
  <=> between(c,d,d) ),
    introduced(definition,[new_symbols(definition,[sQ24_spl])],[split_symbol_definition]) ).

fof(f327,plain,
    ( sQ24_spl
    | ~ between(c,d,d) ),
    inference(component_clause,[status(thm)],[f325]) ).

fof(f333,plain,
    ( sQ24_spl
    | $false ),
    inference(forward_subsumption_resolution,[status(thm)],[f327,f115]) ).

fof(f334,plain,
    sQ24_spl,
    inference(contradiction_clause,[status(thm)],[f333]) ).

fof(f373,definition,
    ( sQ32_spl
  <=> between(c,e,e) ),
    introduced(definition,[new_symbols(definition,[sQ32_spl])],[split_symbol_definition]) ).

fof(f517,plain,
    e = outer_pasch(e,e,e,c,a),
    inference(resolution,[status(thm)],[f164,f143]) ).

fof(f520,plain,
    ( between(c,e,e)
    | ~ between(e,a,c)
    | ~ between(e,e,a) ),
    inference(paramodulation,[status(thm)],[f517,f37]) ).

fof(f522,definition,
    ( sQ42_spl
  <=> between(e,e,a) ),
    introduced(definition,[new_symbols(definition,[sQ42_spl])],[split_symbol_definition]) ).

fof(f524,plain,
    ( sQ42_spl
    | ~ between(e,e,a) ),
    inference(component_clause,[status(thm)],[f522]) ).

fof(f529,plain,
    ( sQ32_spl
    | ~ sQ13_spl
    | ~ sQ42_spl ),
    inference(split_clause,[status(thm)],[f520,f522,f203,f373]) ).

fof(f531,plain,
    ( sQ42_spl
    | $false ),
    inference(forward_subsumption_resolution,[status(thm)],[f524,f143]) ).

fof(f532,plain,
    sQ42_spl,
    inference(contradiction_clause,[status(thm)],[f531]) ).

fof(f963,plain,
    ( ~ sQ20_spl
    | ~ sQ19_spl
    | between(c,d,e)
    | between(c,e,d) ),
    inference(resolution,[status(thm)],[f250,f280]) ).

fof(f970,definition,
    ( sQ65_spl
  <=> between(c,e,d) ),
    introduced(definition,[new_symbols(definition,[sQ65_spl])],[split_symbol_definition]) ).

fof(f971,plain,
    ( ~ sQ65_spl
    | between(c,e,d) ),
    inference(component_clause,[status(thm)],[f970]) ).

fof(f973,definition,
    ( sQ66_spl
  <=> between(c,d,e) ),
    introduced(definition,[new_symbols(definition,[sQ66_spl])],[split_symbol_definition]) ).

fof(f974,plain,
    ( ~ sQ66_spl
    | between(c,d,e) ),
    inference(component_clause,[status(thm)],[f973]) ).

fof(f976,plain,
    ( ~ sQ20_spl
    | ~ sQ19_spl
    | sQ66_spl
    | sQ65_spl ),
    inference(split_clause,[status(thm)],[f963,f970,f973,f249,f279]) ).

fof(f989,plain,
    ( ~ sQ65_spl
    | c = outer_pasch(e,c,c,d,d) ),
    inference(resolution,[status(thm)],[f971,f134]) ).

fof(f1108,plain,
    ( ~ sQ66_spl
    | c = outer_pasch(d,c,c,e,e) ),
    inference(resolution,[status(thm)],[f974,f134]) ).

fof(f1521,plain,
    ( ~ sQ66_spl
    | between(e,d,c)
    | ~ between(c,e,e)
    | ~ between(c,d,e) ),
    inference(paramodulation,[status(thm)],[f1108,f37]) ).

fof(f1527,definition,
    ( sQ87_spl
  <=> between(e,d,c) ),
    introduced(definition,[new_symbols(definition,[sQ87_spl])],[split_symbol_definition]) ).

fof(f1528,plain,
    ( ~ sQ87_spl
    | between(e,d,c) ),
    inference(component_clause,[status(thm)],[f1527]) ).

fof(f1530,plain,
    ( sQ87_spl
    | ~ sQ32_spl
    | ~ sQ66_spl ),
    inference(split_clause,[status(thm)],[f1521,f973,f373,f1527]) ).

fof(f1667,plain,
    ( ~ sQ65_spl
    | between(d,e,c)
    | ~ between(c,d,d)
    | ~ between(c,e,d) ),
    inference(paramodulation,[status(thm)],[f989,f37]) ).

fof(f1673,definition,
    ( sQ91_spl
  <=> between(d,e,c) ),
    introduced(definition,[new_symbols(definition,[sQ91_spl])],[split_symbol_definition]) ).

fof(f1674,plain,
    ( ~ sQ91_spl
    | between(d,e,c) ),
    inference(component_clause,[status(thm)],[f1673]) ).

fof(f1676,plain,
    ( sQ91_spl
    | ~ sQ24_spl
    | ~ sQ65_spl ),
    inference(split_clause,[status(thm)],[f1667,f970,f325,f1673]) ).

fof(f1678,plain,
    ( ~ sQ91_spl
    | between(d,e,a) ),
    inference(resolution,[status(thm)],[f1674,f166]) ).

fof(f1694,plain,
    ( ~ sQ91_spl
    | $false ),
    inference(forward_subsumption_resolution,[status(thm)],[f1678,f55]) ).

fof(f1695,plain,
    ~ sQ91_spl,
    inference(contradiction_clause,[status(thm)],[f1694]) ).

fof(f1696,plain,
    ( ~ sQ87_spl
    | between(e,d,a) ),
    inference(resolution,[status(thm)],[f1528,f58]) ).

fof(f1712,plain,
    ( ~ sQ87_spl
    | $false ),
    inference(forward_subsumption_resolution,[status(thm)],[f1696,f56]) ).

fof(f1713,plain,
    ~ sQ87_spl,
    inference(contradiction_clause,[status(thm)],[f1712]) ).

fof(f1714,plain,
    $false,
    inference(sat_refutation,[status(thm)],[f67,f186,f192,f194,f202,f236,f252,f254,f282,f288,f334,f529,f532,f976,f1530,f1676,f1695,f1713]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.03  % Problem  : GEO007-1 : TPTP v9.3.1. Bugfixed v2.5.0.
% 0.00/0.04  % Command  : drodi -timeout(300) /export/starexec/sandbox/benchmark/theBenchmark.p
% 0.09/0.35  % Computer : n010.cluster.edu
% 0.09/0.35  % Model    : x86_64 x86_64
% 0.09/0.35  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.09/0.35  % Memory   : 8046.5625MB
% 0.09/0.35  % OS       : Linux 6.8.0-71-generic
% 0.09/0.35  % CPULimit : 300
% 0.09/0.35  % WCLimit  : 300
% 0.09/0.35  % DateTime : Sun Sep 20 08:15:38 UTC 2026
% 0.09/0.35  % CPUTime  : 
% 0.15/0.37  % Drodi V4.1.1
% 8.95/1.80  % Refutation found
% 8.95/1.80  % SZS status Unsatisfiable for theBenchmark: Theory is unsatisfiable
% 8.95/1.80  % SZS output start CNFRefutation for theBenchmark
% See solution above
% 8.95/1.82  % Elapsed time: 1.444983 seconds
% 8.95/1.82  % CPU time: 11.195014 seconds
% 8.95/1.82  % Total memory used: 126.273 MB
% 8.95/1.82  % Net memory used: 118.095 MB
%------------------------------------------------------------------------------