↑ Up

ConnectPP---0.7.2.THM-Prf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : ConnectPP---0.7.2
% Problem  : MGT003+1 : TPTP v9.3.1. Released v2.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : /export/starexec/sandbox/solver/bin/connect++ --verbosity 1 --no-colour --tptp-proof --schedule default --timeout 300 /export/starexec/sandbox/benchmark/theBenchmark.p

% Computer : n016.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 08:50:31 AM UTC 2026

% Result   : Theorem 0.14s 0.42s
% Output   : Proof 0.14s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   13
%            Number of leaves      :    5
% Syntax   : Number of formulae    :   85 (  46 unt;   0 def)
%            Number of atoms       :  252 (   0 equ)
%            Maximal formula atoms :   10 (   2 avg)
%            Number of connectives :  260 (  93   ~;  81   |;  80   &)
%                                         (   0 <=>;   6  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   19 (   4 avg)
%            Maximal term depth    :    2 (   1 avg)
%            Number of predicates  :    6 (   5 usr;   1 prp; 0-3 aty)
%            Number of functors    :    6 (   6 usr;   5 con; 0-2 aty)
%            Number of variables   :  120 (   2 sgn  71   !;  28   ?)

% Comments : 
%------------------------------------------------------------------------------
fof(mp4,axiom,
    ! [X,T1,T2] :
      ( reorganization_free(X,T1,T2)
     => ( reorganization_free(X,T2,T2)
        & reorganization_free(X,T1,T1) ) ),
    file('theBenchmark.p',mp4) ).

fof(mp5,axiom,
    ! [X,T] :
      ( organization(X,T)
     => ? [I] : inertia(X,I,T) ),
    file('theBenchmark.p',mp5) ).

fof(t1_FOL,hypothesis,
    ! [X,Y,T1,T2,I1,I2,P1,P2] :
      ( ( greater(I2,I1)
        & survival_chance(Y,P2,T2)
        & survival_chance(X,P1,T1)
        & inertia(Y,I2,T2)
        & inertia(X,I1,T1)
        & reorganization_free(Y,T2,T2)
        & reorganization_free(X,T1,T1)
        & organization(Y,T2)
        & organization(X,T1) )
     => greater(P2,P1) ),
    file('theBenchmark.p',t1_FOL) ).

fof(t2_FOL,hypothesis,
    ! [X,I1,I2,T1,T2] :
      ( ( greater(T2,T1)
        & inertia(X,I2,T2)
        & inertia(X,I1,T1)
        & reorganization_free(X,T1,T2)
        & organization(X,T2)
        & organization(X,T1) )
     => greater(I2,I1) ),
    file('theBenchmark.p',t2_FOL) ).

fof(t3_FOL,conjecture,
    ! [X,P1,P2,T1,T2] :
      ( ( greater(T2,T1)
        & survival_chance(X,P2,T2)
        & survival_chance(X,P1,T1)
        & reorganization_free(X,T1,T2)
        & organization(X,T2)
        & organization(X,T1) )
     => greater(P2,P1) ),
    file('theBenchmark.p',t3_FOL) ).

fof(f_1_1,plain,
    ! [X,T1,T2] :
      ( ( reorganization_free(X,T2,T2)
        & reorganization_free(X,T1,T1) )
      | ~ reorganization_free(X,T1,T2) ),
    inference(fof_nnf,[status(thm)],[mp4]) ).

fof(f_1_2,plain,
    ! [U_2,U_1,U_0] :
      ( ( reorganization_free(U_2,U_0,U_0)
        & reorganization_free(U_2,U_1,U_1) )
      | ~ reorganization_free(U_2,U_1,U_0) ),
    inference(variable_rename,[status(thm)],[f_1_1]) ).

cnf(f_1_3,plain,
    ( reorganization_free(U_2,U_1,U_1)
    | ~ reorganization_free(U_2,U_1,U_0) ),
    inference(clausify,[status(thm)],[f_1_2]) ).

cnf(f_1_4,plain,
    ( reorganization_free(U_2,U_0,U_0)
    | ~ reorganization_free(U_2,U_1,U_0) ),
    inference(clausify,[status(thm)],[f_1_2]) ).

fof(f_2_1,plain,
    ! [X,T] :
      ( ? [I] : inertia(X,I,T)
      | ~ organization(X,T) ),
    inference(fof_nnf,[status(thm)],[mp5]) ).

fof(f_2_2,plain,
    ! [U_5,U_4] :
      ( ? [U_3] : inertia(U_5,U_3,U_4)
      | ~ organization(U_5,U_4) ),
    inference(variable_rename,[status(thm)],[f_2_1]) ).

fof(f_2_3,plain,
    ! [U_5,U_4] :
      ( inertia(U_5,sK1(U_5,U_4),U_4)
      | ~ organization(U_5,U_4) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK1]),skolemize(U_3,sK1(U_5,U_4))],[f_2_2]) ).

cnf(f_2_4,plain,
    ( inertia(U_5,sK1(U_5,U_4),U_4)
    | ~ organization(U_5,U_4) ),
    inference(clausify,[status(thm)],[f_2_3]) ).

fof(f_3_1,plain,
    ! [X,Y,T1,T2,I1,I2,P1,P2] :
      ( greater(P2,P1)
      | ~ greater(I2,I1)
      | ~ survival_chance(Y,P2,T2)
      | ~ survival_chance(X,P1,T1)
      | ~ inertia(Y,I2,T2)
      | ~ inertia(X,I1,T1)
      | ~ reorganization_free(Y,T2,T2)
      | ~ reorganization_free(X,T1,T1)
      | ~ organization(Y,T2)
      | ~ organization(X,T1) ),
    inference(fof_nnf,[status(thm)],[t1_FOL]) ).

fof(f_3_2,plain,
    ! [U_13,U_12,U_11,U_10,U_9,U_8,U_7,U_6] :
      ( greater(U_6,U_7)
      | ~ greater(U_8,U_9)
      | ~ survival_chance(U_12,U_6,U_10)
      | ~ survival_chance(U_13,U_7,U_11)
      | ~ inertia(U_12,U_8,U_10)
      | ~ inertia(U_13,U_9,U_11)
      | ~ reorganization_free(U_12,U_10,U_10)
      | ~ reorganization_free(U_13,U_11,U_11)
      | ~ organization(U_12,U_10)
      | ~ organization(U_13,U_11) ),
    inference(variable_rename,[status(thm)],[f_3_1]) ).

cnf(f_3_3,plain,
    ( greater(U_6,U_7)
    | ~ greater(U_8,U_9)
    | ~ survival_chance(U_12,U_6,U_10)
    | ~ survival_chance(U_13,U_7,U_11)
    | ~ inertia(U_12,U_8,U_10)
    | ~ inertia(U_13,U_9,U_11)
    | ~ reorganization_free(U_12,U_10,U_10)
    | ~ reorganization_free(U_13,U_11,U_11)
    | ~ organization(U_12,U_10)
    | ~ organization(U_13,U_11) ),
    inference(clausify,[status(thm)],[f_3_2]) ).

fof(f_4_1,plain,
    ! [X,I1,I2,T1,T2] :
      ( greater(I2,I1)
      | ~ greater(T2,T1)
      | ~ inertia(X,I2,T2)
      | ~ inertia(X,I1,T1)
      | ~ reorganization_free(X,T1,T2)
      | ~ organization(X,T2)
      | ~ organization(X,T1) ),
    inference(fof_nnf,[status(thm)],[t2_FOL]) ).

fof(f_4_2,plain,
    ! [U_18,U_17,U_16,U_15,U_14] :
      ( greater(U_16,U_17)
      | ~ greater(U_14,U_15)
      | ~ inertia(U_18,U_16,U_14)
      | ~ inertia(U_18,U_17,U_15)
      | ~ reorganization_free(U_18,U_15,U_14)
      | ~ organization(U_18,U_14)
      | ~ organization(U_18,U_15) ),
    inference(variable_rename,[status(thm)],[f_4_1]) ).

fof(f_4_3,plain,
    ! [U_18,U_17,U_16] :
      ( ! [U_15] :
          ( ! [U_14] :
              ( ~ greater(U_14,U_15)
              | ~ inertia(U_18,U_16,U_14)
              | ~ reorganization_free(U_18,U_15,U_14)
              | ~ organization(U_18,U_14) )
          | ~ inertia(U_18,U_17,U_15)
          | ~ organization(U_18,U_15) )
      | greater(U_16,U_17) ),
    inference(miniscope,[status(thm)],[f_4_2]) ).

cnf(f_4_4,plain,
    ( ~ greater(U_14,U_15)
    | ~ inertia(U_18,U_16,U_14)
    | ~ reorganization_free(U_18,U_15,U_14)
    | ~ organization(U_18,U_14)
    | ~ inertia(U_18,U_17,U_15)
    | ~ organization(U_18,U_15)
    | greater(U_16,U_17) ),
    inference(clausify,[status(thm)],[f_4_3]) ).

fof(f_5_1,negated_conjecture,
    ~ ! [X,P1,P2,T1,T2] :
        ( ( greater(T2,T1)
          & survival_chance(X,P2,T2)
          & survival_chance(X,P1,T1)
          & reorganization_free(X,T1,T2)
          & organization(X,T2)
          & organization(X,T1) )
       => greater(P2,P1) ),
    inference(negate,[status(cth)],[t3_FOL]) ).

fof(f_5_2,negated_conjecture,
    ? [X,P1,P2,T1,T2] :
      ( ~ greater(P2,P1)
      & greater(T2,T1)
      & survival_chance(X,P2,T2)
      & survival_chance(X,P1,T1)
      & reorganization_free(X,T1,T2)
      & organization(X,T2)
      & organization(X,T1) ),
    inference(fof_nnf,[status(thm)],[f_5_1]) ).

fof(f_5_3,negated_conjecture,
    ? [U_23,U_22,U_21,U_20,U_19] :
      ( ~ greater(U_21,U_22)
      & greater(U_19,U_20)
      & survival_chance(U_23,U_21,U_19)
      & survival_chance(U_23,U_22,U_20)
      & reorganization_free(U_23,U_20,U_19)
      & organization(U_23,U_19)
      & organization(U_23,U_20) ),
    inference(variable_rename,[status(thm)],[f_5_2]) ).

fof(f_5_4,negated_conjecture,
    ? [U_23,U_22,U_21] :
      ( ? [U_20] :
          ( ? [U_19] :
              ( greater(U_19,U_20)
              & survival_chance(U_23,U_21,U_19)
              & reorganization_free(U_23,U_20,U_19)
              & organization(U_23,U_19) )
          & survival_chance(U_23,U_22,U_20)
          & organization(U_23,U_20) )
      & ~ greater(U_21,U_22) ),
    inference(miniscope,[status(thm)],[f_5_3]) ).

fof(f_5_5,negated_conjecture,
    ? [U_22,U_21] :
      ( ? [U_20] :
          ( ? [U_19] :
              ( greater(U_19,U_20)
              & survival_chance(sK2,U_21,U_19)
              & reorganization_free(sK2,U_20,U_19)
              & organization(sK2,U_19) )
          & survival_chance(sK2,U_22,U_20)
          & organization(sK2,U_20) )
      & ~ greater(U_21,U_22) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK2]),skolemize(U_23,sK2)],[f_5_4]) ).

fof(f_5_6,negated_conjecture,
    ? [U_21] :
      ( ? [U_20] :
          ( ? [U_19] :
              ( greater(U_19,U_20)
              & survival_chance(sK2,U_21,U_19)
              & reorganization_free(sK2,U_20,U_19)
              & organization(sK2,U_19) )
          & survival_chance(sK2,sK3,U_20)
          & organization(sK2,U_20) )
      & ~ greater(U_21,sK3) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK3]),skolemize(U_22,sK3)],[f_5_5]) ).

fof(f_5_7,negated_conjecture,
    ( ? [U_20] :
        ( ? [U_19] :
            ( greater(U_19,U_20)
            & survival_chance(sK2,sK4,U_19)
            & reorganization_free(sK2,U_20,U_19)
            & organization(sK2,U_19) )
        & survival_chance(sK2,sK3,U_20)
        & organization(sK2,U_20) )
    & ~ greater(sK4,sK3) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK4]),skolemize(U_21,sK4)],[f_5_6]) ).

fof(f_5_8,negated_conjecture,
    ( ? [U_19] :
        ( greater(U_19,sK5)
        & survival_chance(sK2,sK4,U_19)
        & reorganization_free(sK2,sK5,U_19)
        & organization(sK2,U_19) )
    & survival_chance(sK2,sK3,sK5)
    & organization(sK2,sK5)
    & ~ greater(sK4,sK3) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK5]),skolemize(U_20,sK5)],[f_5_7]) ).

fof(f_5_9,negated_conjecture,
    ( greater(sK6,sK5)
    & survival_chance(sK2,sK4,sK6)
    & reorganization_free(sK2,sK5,sK6)
    & organization(sK2,sK6)
    & survival_chance(sK2,sK3,sK5)
    & organization(sK2,sK5)
    & ~ greater(sK4,sK3) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK6]),skolemize(U_19,sK6)],[f_5_8]) ).

fof(f_5_10,negated_conjecture,
    ( greater(sK6,sK5)
    & survival_chance(sK2,sK4,sK6)
    & reorganization_free(sK2,sK5,sK6)
    & organization(sK2,sK6)
    & survival_chance(sK2,sK3,sK5)
    & organization(sK2,sK5)
    & ~ greater(sK4,sK3) ),
    inference(definitional_conversion,[status(esa)],[f_5_9]) ).

cnf(f_5_11,negated_conjecture,
    ~ greater(sK4,sK3),
    inference(clausify,[status(thm)],[f_5_10]) ).

cnf(f_5_12,negated_conjecture,
    organization(sK2,sK5),
    inference(clausify,[status(thm)],[f_5_10]) ).

cnf(f_5_13,negated_conjecture,
    survival_chance(sK2,sK3,sK5),
    inference(clausify,[status(thm)],[f_5_10]) ).

cnf(f_5_14,negated_conjecture,
    organization(sK2,sK6),
    inference(clausify,[status(thm)],[f_5_10]) ).

cnf(f_5_15,negated_conjecture,
    reorganization_free(sK2,sK5,sK6),
    inference(clausify,[status(thm)],[f_5_10]) ).

cnf(f_5_16,negated_conjecture,
    survival_chance(sK2,sK4,sK6),
    inference(clausify,[status(thm)],[f_5_10]) ).

cnf(f_5_17,negated_conjecture,
    greater(sK6,sK5),
    inference(clausify,[status(thm)],[f_5_10]) ).

cnf(t1,plain,
    ~ greater(sK4,sK3),
    inference(start,[status(thm),parent(0:0)],[f_5_11]) ).

cnf(t2,plain,
    ( ~ organization(sK2,sK6)
    | ~ reorganization_free(sK2,sK5,sK5)
    | ~ reorganization_free(sK2,sK6,sK6)
    | ~ inertia(sK2,sK1(sK2,sK5),sK5)
    | ~ inertia(sK2,sK1(sK2,sK6),sK6)
    | ~ survival_chance(sK2,sK3,sK5)
    | ~ survival_chance(sK2,sK4,sK6)
    | ~ greater(sK1(sK2,sK6),sK1(sK2,sK5))
    | ~ organization(sK2,sK5)
    | greater(sK4,sK3) ),
    inference(extension,[status(thm),parent(t1:1)],[f_3_3]) ).

cnf(t3,plain,
    $false,
    inference(connection,[status(thm),parent(t2:1)],[t2:1,t1:1]) ).

cnf(t4,plain,
    organization(sK2,sK5),
    inference(extension,[status(thm),parent(t2:2)],[f_5_12]) ).

cnf(t5,plain,
    $false,
    inference(connection,[status(thm),parent(t4:1)],[t4:1,t2:2]) ).

cnf(l2,lemma,
    organization(sK2,sK5),
    inference(lemma,[status(cth),parent(t2:2),below(t1:1)],[t2:2]) ).

cnf(t6,plain,
    ( ~ organization(sK2,sK5)
    | ~ inertia(sK2,sK1(sK2,sK5),sK5)
    | ~ organization(sK2,sK6)
    | ~ reorganization_free(sK2,sK5,sK6)
    | ~ inertia(sK2,sK1(sK2,sK6),sK6)
    | ~ greater(sK6,sK5)
    | greater(sK1(sK2,sK6),sK1(sK2,sK5)) ),
    inference(extension,[status(thm),parent(t2:3)],[f_4_4]) ).

cnf(t7,plain,
    $false,
    inference(connection,[status(thm),parent(t6:1)],[t6:1,t2:3]) ).

cnf(t8,plain,
    greater(sK6,sK5),
    inference(extension,[status(thm),parent(t6:2)],[f_5_17]) ).

cnf(t9,plain,
    $false,
    inference(connection,[status(thm),parent(t8:1)],[t8:1,t6:2]) ).

cnf(t10,plain,
    ( ~ organization(sK2,sK6)
    | inertia(sK2,sK1(sK2,sK6),sK6) ),
    inference(extension,[status(thm),parent(t6:3)],[f_2_4]) ).

cnf(t11,plain,
    $false,
    inference(connection,[status(thm),parent(t10:1)],[t10:1,t6:3]) ).

cnf(t12,plain,
    organization(sK2,sK6),
    inference(extension,[status(thm),parent(t10:2)],[f_5_14]) ).

cnf(t13,plain,
    $false,
    inference(connection,[status(thm),parent(t12:1)],[t12:1,t10:2]) ).

cnf(t14,plain,
    reorganization_free(sK2,sK5,sK6),
    inference(extension,[status(thm),parent(t6:4)],[f_5_15]) ).

cnf(t15,plain,
    $false,
    inference(connection,[status(thm),parent(t14:1)],[t14:1,t6:4]) ).

cnf(t16,plain,
    organization(sK2,sK6),
    inference(extension,[status(thm),parent(t6:5)],[f_5_14]) ).

cnf(t17,plain,
    $false,
    inference(connection,[status(thm),parent(t16:1)],[t16:1,t6:5]) ).

cnf(t18,plain,
    ( ~ organization(sK2,sK5)
    | inertia(sK2,sK1(sK2,sK5),sK5) ),
    inference(extension,[status(thm),parent(t6:6)],[f_2_4]) ).

cnf(t19,plain,
    $false,
    inference(connection,[status(thm),parent(t18:1)],[t18:1,t6:6]) ).

cnf(t20,plain,
    organization(sK2,sK5),
    inference(lemma_extension,[status(thm),parent(t18:2)],[l2:1]) ).

cnf(t21,plain,
    $false,
    inference(connection,[status(thm),parent(t20:1)],[t20:1,t18:2]) ).

cnf(t22,plain,
    organization(sK2,sK5),
    inference(lemma_extension,[status(thm),parent(t6:7)],[l2:1]) ).

cnf(t23,plain,
    $false,
    inference(connection,[status(thm),parent(t22:1)],[t22:1,t6:7]) ).

cnf(t24,plain,
    survival_chance(sK2,sK4,sK6),
    inference(extension,[status(thm),parent(t2:4)],[f_5_16]) ).

cnf(t25,plain,
    $false,
    inference(connection,[status(thm),parent(t24:1)],[t24:1,t2:4]) ).

cnf(t26,plain,
    survival_chance(sK2,sK3,sK5),
    inference(extension,[status(thm),parent(t2:5)],[f_5_13]) ).

cnf(t27,plain,
    $false,
    inference(connection,[status(thm),parent(t26:1)],[t26:1,t2:5]) ).

cnf(t28,plain,
    ( ~ organization(sK2,sK6)
    | inertia(sK2,sK1(sK2,sK6),sK6) ),
    inference(extension,[status(thm),parent(t2:6)],[f_2_4]) ).

cnf(t29,plain,
    $false,
    inference(connection,[status(thm),parent(t28:1)],[t28:1,t2:6]) ).

cnf(t30,plain,
    organization(sK2,sK6),
    inference(extension,[status(thm),parent(t28:2)],[f_5_14]) ).

cnf(t31,plain,
    $false,
    inference(connection,[status(thm),parent(t30:1)],[t30:1,t28:2]) ).

cnf(t32,plain,
    ( ~ organization(sK2,sK5)
    | inertia(sK2,sK1(sK2,sK5),sK5) ),
    inference(extension,[status(thm),parent(t2:7)],[f_2_4]) ).

cnf(t33,plain,
    $false,
    inference(connection,[status(thm),parent(t32:1)],[t32:1,t2:7]) ).

cnf(t34,plain,
    organization(sK2,sK5),
    inference(lemma_extension,[status(thm),parent(t32:2)],[l2:1]) ).

cnf(t35,plain,
    $false,
    inference(connection,[status(thm),parent(t34:1)],[t34:1,t32:2]) ).

cnf(t36,plain,
    ( ~ reorganization_free(sK2,sK5,sK6)
    | reorganization_free(sK2,sK6,sK6) ),
    inference(extension,[status(thm),parent(t2:8)],[f_1_4]) ).

cnf(t37,plain,
    $false,
    inference(connection,[status(thm),parent(t36:1)],[t36:1,t2:8]) ).

cnf(t38,plain,
    reorganization_free(sK2,sK5,sK6),
    inference(extension,[status(thm),parent(t36:2)],[f_5_15]) ).

cnf(t39,plain,
    $false,
    inference(connection,[status(thm),parent(t38:1)],[t38:1,t36:2]) ).

cnf(t40,plain,
    ( ~ reorganization_free(sK2,sK5,sK5)
    | reorganization_free(sK2,sK5,sK5) ),
    inference(extension,[status(thm),parent(t2:9)],[f_1_4]) ).

cnf(t41,plain,
    $false,
    inference(connection,[status(thm),parent(t40:1)],[t40:1,t2:9]) ).

cnf(t42,plain,
    ( ~ reorganization_free(sK2,sK5,sK6)
    | reorganization_free(sK2,sK5,sK5) ),
    inference(extension,[status(thm),parent(t40:2)],[f_1_3]) ).

cnf(t43,plain,
    $false,
    inference(connection,[status(thm),parent(t42:1)],[t42:1,t40:2]) ).

cnf(t44,plain,
    reorganization_free(sK2,sK5,sK6),
    inference(extension,[status(thm),parent(t42:2)],[f_5_15]) ).

cnf(t45,plain,
    $false,
    inference(connection,[status(thm),parent(t44:1)],[t44:1,t42:2]) ).

cnf(t46,plain,
    organization(sK2,sK6),
    inference(extension,[status(thm),parent(t2:10)],[f_5_14]) ).

cnf(t47,plain,
    $false,
    inference(connection,[status(thm),parent(t46:1)],[t46:1,t2:10]) ).


%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.03  % Problem  : MGT003+1 : TPTP v9.3.1. Released v2.0.0.
% 0.00/0.04  This is a FOF_THM_RFO_NEQ problem
% 0.00/0.04  % Command  : /export/starexec/sandbox/solver/bin/connect++ --verbosity 1 --no-colour --tptp-proof --schedule default --timeout 300 /export/starexec/sandbox/benchmark/theBenchmark.p
% 0.09/0.37  % Computer : n016.cluster.edu
% 0.09/0.37  % Model    : x86_64 x86_64
% 0.09/0.37  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.09/0.37  % Memory   : 8046.5625MB
% 0.09/0.37  % OS       : Linux 6.8.0-71-generic
% 0.09/0.37  % CPULimit : 300
% 0.09/0.37  % WCLimit  : 300
% 0.09/0.37  % DateTime : Sat Sep 19 16:14:50 UTC 2026
% 0.09/0.37  % CPUTime  : 
% 0.14/0.42  % SZS status Theorem for theBenchmark
% 0.14/0.42  % SZS output start Proof for theBenchmark
% See solution above
%------------------------------------------------------------------------------