↑ Up

iProver---3.9.4.THM-CRf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : iProver---3.9.4
% Problem  : SEU374+2 : TPTP v9.3.1. Released v3.3.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_iprover 300 /export/starexec/sandbox/benchmark/theBenchmark.p THM

% 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 : Fri Sep 25 02:57:16 PM UTC 2026

% Result   : Theorem 8.27s 1.62s
% Output   : CNFRefutation 8.27s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :    9
%            Number of leaves      :    5
% Syntax   : Number of formulae    :   56 (  24 unt;   0 def)
%            Number of atoms       :  238 (  27 equ)
%            Maximal formula atoms :   11 (   4 avg)
%            Number of connectives :  296 ( 114   ~; 107   |;  43   &)
%                                         (   2 <=>;  30  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   19 (   7 avg)
%            Maximal term depth    :    3 (   1 avg)
%            Number of types       :    1 (   0 usr)
%            Number of type conns  :    0 (   0   >;   0   *;   0   +;   0  <<)
%            Number of predicates  :    9 (   7 usr;   1 prp; 0-3 aty)
%            Number of functors    :   10 (  10 usr;   7 con; 0-4 aty)
%            Number of variables   :  111 (   0 sgn  97   !;  14   ?;  17   :)

% Comments : 
%------------------------------------------------------------------------------
fof(f179,axiom,
    ! [X0] :
      ( one_sorted_str(X0)
     => ! [X1] :
          ( net_str(X1,X0)
         => ! [X2] :
              ( net_str(X2,X0)
             => ( subnetstr(X2,X0,X1)
              <=> ( the_mapping(X0,X2) = relation_dom_restr_as_relation_of(the_carrier(X1),the_carrier(X0),the_mapping(X0,X1),the_carrier(X2))
                  & subrelstr(X2,X1) ) ) ) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',d8_yellow_6) ).

fof(f269,axiom,
    ! [X0] :
      ( one_sorted_str(X0)
     => ! [X1] :
          ( net_str(X1,X0)
         => rel_str(X1) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',dt_l1_waybel_0) ).

fof(f276,axiom,
    ! [X0,X1] :
      ( ( net_str(X1,X0)
        & one_sorted_str(X0) )
     => ! [X2] :
          ( subnetstr(X2,X0,X1)
         => net_str(X2,X0) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',dt_m1_yellow_6) ).

fof(f605,conjecture,
    ! [X0] :
      ( one_sorted_str(X0)
     => ! [X1] :
          ( net_str(X1,X0)
         => ! [X2] :
              ( subnetstr(X2,X0,X1)
             => ! [X3] :
                  ( element(X3,the_carrier(X1))
                 => ! [X4] :
                      ( element(X4,the_carrier(X1))
                     => ! [X5] :
                          ( element(X5,the_carrier(X2))
                         => ! [X6] :
                              ( element(X6,the_carrier(X2))
                             => ( ( related(X2,X5,X6)
                                  & X4 = X6
                                  & X3 = X5 )
                               => related(X1,X3,X4) ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',t20_yellow_6) ).

fof(f606,negated_conjecture,
    ~ ! [X0] :
        ( one_sorted_str(X0)
       => ! [X1] :
            ( net_str(X1,X0)
           => ! [X2] :
                ( subnetstr(X2,X0,X1)
               => ! [X3] :
                    ( element(X3,the_carrier(X1))
                   => ! [X4] :
                        ( element(X4,the_carrier(X1))
                       => ! [X5] :
                            ( element(X5,the_carrier(X2))
                           => ! [X6] :
                                ( element(X6,the_carrier(X2))
                               => ( ( related(X2,X5,X6)
                                    & X4 = X6
                                    & X3 = X5 )
                                 => related(X1,X3,X4) ) ) ) ) ) ) ) ),
    inference(negated_conjecture,[status(cth)],[f605]) ).

fof(f724,axiom,
    ! [X0] :
      ( rel_str(X0)
     => ! [X1] :
          ( subrelstr(X1,X0)
         => ! [X2] :
              ( element(X2,the_carrier(X0))
             => ! [X3] :
                  ( element(X3,the_carrier(X0))
                 => ! [X4] :
                      ( element(X4,the_carrier(X1))
                     => ! [X5] :
                          ( element(X5,the_carrier(X1))
                         => ( ( related(X1,X4,X5)
                              & X5 = X3
                              & X4 = X2 )
                           => related(X0,X2,X3) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',t60_yellow_0) ).

fof(f1062,plain,
    ! [X0] :
      ( ~ one_sorted_str(X0)
      | ! [X1] :
          ( ~ net_str(X1,X0)
          | ! [X2] :
              ( ~ net_str(X2,X0)
              | ( subnetstr(X2,X0,X1)
              <=> ( the_mapping(X0,X2) = relation_dom_restr_as_relation_of(the_carrier(X1),the_carrier(X0),the_mapping(X0,X1),the_carrier(X2))
                  & subrelstr(X2,X1) ) ) ) ) ),
    inference(ennf_transformation,[],[f179]) ).

fof(f1149,plain,
    ! [X0] :
      ( ~ one_sorted_str(X0)
      | ! [X1] :
          ( ~ net_str(X1,X0)
          | rel_str(X1) ) ),
    inference(ennf_transformation,[],[f269]) ).

fof(f1155,plain,
    ! [X0,X1] :
      ( ~ net_str(X1,X0)
      | ~ one_sorted_str(X0)
      | ! [X2] :
          ( ~ subnetstr(X2,X0,X1)
          | net_str(X2,X0) ) ),
    inference(ennf_transformation,[],[f276]) ).

fof(f1156,plain,
    ! [X0,X1] :
      ( ~ net_str(X1,X0)
      | ~ one_sorted_str(X0)
      | ! [X2] :
          ( ~ subnetstr(X2,X0,X1)
          | net_str(X2,X0) ) ),
    inference(flattening,[],[f1155]) ).

fof(f1528,plain,
    ? [X0] :
      ( one_sorted_str(X0)
      & ? [X1] :
          ( net_str(X1,X0)
          & ? [X2] :
              ( subnetstr(X2,X0,X1)
              & ? [X3] :
                  ( element(X3,the_carrier(X1))
                  & ? [X4] :
                      ( element(X4,the_carrier(X1))
                      & ? [X5] :
                          ( element(X5,the_carrier(X2))
                          & ? [X6] :
                              ( element(X6,the_carrier(X2))
                              & related(X2,X5,X6)
                              & X4 = X6
                              & X3 = X5
                              & ~ related(X1,X3,X4) ) ) ) ) ) ) ),
    inference(ennf_transformation,[],[f606]) ).

fof(f1529,plain,
    ? [X0] :
      ( one_sorted_str(X0)
      & ? [X1] :
          ( net_str(X1,X0)
          & ? [X2] :
              ( subnetstr(X2,X0,X1)
              & ? [X3] :
                  ( element(X3,the_carrier(X1))
                  & ? [X4] :
                      ( element(X4,the_carrier(X1))
                      & ? [X5] :
                          ( element(X5,the_carrier(X2))
                          & ? [X6] :
                              ( element(X6,the_carrier(X2))
                              & related(X2,X5,X6)
                              & X4 = X6
                              & X3 = X5
                              & ~ related(X1,X3,X4) ) ) ) ) ) ) ),
    inference(flattening,[],[f1528]) ).

fof(f1689,plain,
    ! [X0] :
      ( ~ rel_str(X0)
      | ! [X1] :
          ( ~ subrelstr(X1,X0)
          | ! [X2] :
              ( ~ element(X2,the_carrier(X0))
              | ! [X3] :
                  ( ~ element(X3,the_carrier(X0))
                  | ! [X4] :
                      ( ~ element(X4,the_carrier(X1))
                      | ! [X5] :
                          ( ~ element(X5,the_carrier(X1))
                          | ~ related(X1,X4,X5)
                          | X3 != X5
                          | X2 != X4
                          | related(X0,X2,X3) ) ) ) ) ) ),
    inference(ennf_transformation,[],[f724]) ).

fof(f1690,plain,
    ! [X0] :
      ( ~ rel_str(X0)
      | ! [X1] :
          ( ~ subrelstr(X1,X0)
          | ! [X2] :
              ( ~ element(X2,the_carrier(X0))
              | ! [X3] :
                  ( ~ element(X3,the_carrier(X0))
                  | ! [X4] :
                      ( ~ element(X4,the_carrier(X1))
                      | ! [X5] :
                          ( ~ element(X5,the_carrier(X1))
                          | ~ related(X1,X4,X5)
                          | X3 != X5
                          | X2 != X4
                          | related(X0,X2,X3) ) ) ) ) ) ),
    inference(flattening,[],[f1689]) ).

fof(f2112,plain,
    ! [X0] :
      ( ~ one_sorted_str(X0)
      | ! [X1] :
          ( ~ net_str(X1,X0)
          | ! [X2] :
              ( ~ net_str(X2,X0)
              | ( ( ~ subnetstr(X2,X0,X1)
                  | ( the_mapping(X0,X2) = relation_dom_restr_as_relation_of(the_carrier(X1),the_carrier(X0),the_mapping(X0,X1),the_carrier(X2))
                    & subrelstr(X2,X1) ) )
                & ( the_mapping(X0,X2) != relation_dom_restr_as_relation_of(the_carrier(X1),the_carrier(X0),the_mapping(X0,X1),the_carrier(X2))
                  | ~ subrelstr(X2,X1)
                  | subnetstr(X2,X0,X1) ) ) ) ) ),
    inference(nnf_transformation,[],[f1062]) ).

fof(f2113,plain,
    ! [X0] :
      ( ~ one_sorted_str(X0)
      | ! [X1] :
          ( ~ net_str(X1,X0)
          | ! [X2] :
              ( ~ net_str(X2,X0)
              | ( ( ~ subnetstr(X2,X0,X1)
                  | ( the_mapping(X0,X2) = relation_dom_restr_as_relation_of(the_carrier(X1),the_carrier(X0),the_mapping(X0,X1),the_carrier(X2))
                    & subrelstr(X2,X1) ) )
                & ( the_mapping(X0,X2) != relation_dom_restr_as_relation_of(the_carrier(X1),the_carrier(X0),the_mapping(X0,X1),the_carrier(X2))
                  | ~ subrelstr(X2,X1)
                  | subnetstr(X2,X0,X1) ) ) ) ) ),
    inference(flattening,[],[f2112]) ).

fof(f2519,plain,
    ( one_sorted_str(sK543)
    & net_str(sK544,sK543)
    & subnetstr(sK545,sK543,sK544)
    & element(sK546,the_carrier(sK544))
    & element(sK547,the_carrier(sK544))
    & element(sK548,the_carrier(sK545))
    & element(sK549,the_carrier(sK545))
    & related(sK545,sK548,sK549)
    & sK547 = sK549
    & sK546 = sK548
    & ~ related(sK544,sK546,sK547) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK543,sK544,sK545,sK546,sK547,sK548,sK549]),skolemize(X0,sK543),skolemize(X1,sK544),skolemize(X2,sK545),skolemize(X3,sK546),skolemize(X4,sK547),skolemize(X5,sK548),skolemize(X6,sK549)],[f1529]) ).

fof(f3237,plain,
    ! [X2,X0,X1] :
      ( ~ one_sorted_str(X0)
      | ~ net_str(X1,X0)
      | ~ net_str(X2,X0)
      | ~ subnetstr(X2,X0,X1)
      | subrelstr(X2,X1) ),
    inference(cnf_transformation,[],[f2113]) ).

fof(f3334,plain,
    ! [X0,X1] :
      ( ~ one_sorted_str(X0)
      | ~ net_str(X1,X0)
      | rel_str(X1) ),
    inference(cnf_transformation,[],[f1149]) ).

fof(f3340,plain,
    ! [X2,X0,X1] :
      ( ~ net_str(X1,X0)
      | ~ one_sorted_str(X0)
      | ~ subnetstr(X2,X0,X1)
      | net_str(X2,X0) ),
    inference(cnf_transformation,[],[f1156]) ).

fof(f4617,plain,
    one_sorted_str(sK543),
    inference(cnf_transformation,[],[f2519]) ).

fof(f4618,plain,
    net_str(sK544,sK543),
    inference(cnf_transformation,[],[f2519]) ).

fof(f4619,plain,
    subnetstr(sK545,sK543,sK544),
    inference(cnf_transformation,[],[f2519]) ).

fof(f4620,plain,
    element(sK546,the_carrier(sK544)),
    inference(cnf_transformation,[],[f2519]) ).

fof(f4621,plain,
    element(sK547,the_carrier(sK544)),
    inference(cnf_transformation,[],[f2519]) ).

fof(f4622,plain,
    element(sK548,the_carrier(sK545)),
    inference(cnf_transformation,[],[f2519]) ).

fof(f4623,plain,
    element(sK549,the_carrier(sK545)),
    inference(cnf_transformation,[],[f2519]) ).

fof(f4624,plain,
    related(sK545,sK548,sK549),
    inference(cnf_transformation,[],[f2519]) ).

fof(f4625,plain,
    sK547 = sK549,
    inference(cnf_transformation,[],[f2519]) ).

fof(f4626,plain,
    sK546 = sK548,
    inference(cnf_transformation,[],[f2519]) ).

fof(f4627,plain,
    ~ related(sK544,sK546,sK547),
    inference(cnf_transformation,[],[f2519]) ).

fof(f4849,plain,
    ! [X2,X3,X0,X1,X4,X5] :
      ( ~ rel_str(X0)
      | ~ subrelstr(X1,X0)
      | ~ element(X2,the_carrier(X0))
      | ~ element(X3,the_carrier(X0))
      | ~ element(X4,the_carrier(X1))
      | ~ element(X5,the_carrier(X1))
      | ~ related(X1,X4,X5)
      | X3 != X5
      | X2 != X4
      | related(X0,X2,X3) ),
    inference(cnf_transformation,[],[f1690]) ).

fof(f5587,plain,
    ~ related(sK544,sK548,sK549),
    inference(definition_unfolding,[],[f4627,f4626,f4625]) ).

fof(f5588,plain,
    element(sK549,the_carrier(sK544)),
    inference(definition_unfolding,[],[f4621,f4625]) ).

fof(f5589,plain,
    element(sK548,the_carrier(sK544)),
    inference(definition_unfolding,[],[f4620,f4626]) ).

fof(f5963,plain,
    ! [X3,X0,X1,X4,X5] :
      ( ~ rel_str(X0)
      | ~ subrelstr(X1,X0)
      | ~ element(X4,the_carrier(X0))
      | ~ element(X3,the_carrier(X0))
      | ~ element(X4,the_carrier(X1))
      | ~ element(X5,the_carrier(X1))
      | ~ related(X1,X4,X5)
      | X3 != X5
      | related(X0,X4,X3) ),
    inference(equality_resolution,[],[f4849]) ).

fof(f5964,plain,
    ! [X0,X1,X4,X5] :
      ( ~ rel_str(X0)
      | ~ subrelstr(X1,X0)
      | ~ element(X4,the_carrier(X0))
      | ~ element(X5,the_carrier(X0))
      | ~ element(X4,the_carrier(X1))
      | ~ element(X5,the_carrier(X1))
      | ~ related(X1,X4,X5)
      | related(X0,X4,X5) ),
    inference(equality_resolution,[],[f5963]) ).

tcf(c_650,plain,
    ! [X0: $i,X1: $i,X2: $i] :
      ( subrelstr(X0,X2)
      | ~ one_sorted_str(X1)
      | ~ net_str(X2,X1)
      | ~ net_str(X0,X1)
      | ~ subnetstr(X0,X1,X2) ),
    inference(cnf_transformation,[],[f3237]) ).

tcf(c_747,plain,
    ! [X0: $i,X1: $i] :
      ( rel_str(X0)
      | ~ one_sorted_str(X1)
      | ~ net_str(X0,X1) ),
    inference(cnf_transformation,[],[f3334]) ).

tcf(c_753,plain,
    ! [X0: $i,X1: $i,X2: $i] :
      ( net_str(X0,X1)
      | ~ one_sorted_str(X1)
      | ~ net_str(X2,X1)
      | ~ subnetstr(X0,X1,X2) ),
    inference(cnf_transformation,[],[f3340]) ).

tcf(c_2026,negated_conjecture,
    ~ related(sK544,sK548,sK549),
    inference(cnf_transformation,[],[f5587]) ).

tcf(c_2027,negated_conjecture,
    related(sK545,sK548,sK549),
    inference(cnf_transformation,[],[f4624]) ).

tcf(c_2028,negated_conjecture,
    element(sK549,the_carrier(sK545)),
    inference(cnf_transformation,[],[f4623]) ).

tcf(c_2029,negated_conjecture,
    element(sK548,the_carrier(sK545)),
    inference(cnf_transformation,[],[f4622]) ).

tcf(c_2030,negated_conjecture,
    element(sK549,the_carrier(sK544)),
    inference(cnf_transformation,[],[f5588]) ).

tcf(c_2031,negated_conjecture,
    element(sK548,the_carrier(sK544)),
    inference(cnf_transformation,[],[f5589]) ).

tcf(c_2032,negated_conjecture,
    subnetstr(sK545,sK543,sK544),
    inference(cnf_transformation,[],[f4619]) ).

tcf(c_2033,negated_conjecture,
    net_str(sK544,sK543),
    inference(cnf_transformation,[],[f4618]) ).

tcf(c_2034,negated_conjecture,
    one_sorted_str(sK543),
    inference(cnf_transformation,[],[f4617]) ).

tcf(c_2252,plain,
    ! [X0: $i,X1: $i,X2: $i,X3: $i] :
      ( related(X3,X1,X2)
      | ~ rel_str(X3)
      | ~ subrelstr(X0,X3)
      | ~ element(X2,the_carrier(X3))
      | ~ element(X2,the_carrier(X0))
      | ~ element(X1,the_carrier(X3))
      | ~ element(X1,the_carrier(X0))
      | ~ related(X0,X1,X2) ),
    inference(cnf_transformation,[],[f5964]) ).

tcf(c_2549,plain,
    ( rel_str(sK544)
    | ~ one_sorted_str(sK543) ),
    inference(superposition,[status(thm)],[c_2033,c_747]) ).

tcf(c_2592,plain,
    ! [X0: $i,X1: $i,X2: $i] :
      ( subrelstr(X0,X2)
      | ~ one_sorted_str(X1)
      | ~ net_str(X2,X1)
      | ~ subnetstr(X0,X1,X2) ),
    inference(global_subsumption_just,[status(thm)],[c_650,c_753,c_650]) ).

tcf(c_2603,plain,
    ( subrelstr(sK545,sK544)
    | ~ one_sorted_str(sK543)
    | ~ net_str(sK544,sK543) ),
    inference(superposition,[status(thm)],[c_2032,c_2592]) ).

tcf(c_3821,plain,
    ! [X0: $i,X1: $i] :
      ( related(X1,sK548,X0)
      | ~ rel_str(X1)
      | ~ subrelstr(sK545,X1)
      | ~ related(sK545,sK548,X0)
      | ~ element(sK548,the_carrier(X1))
      | ~ element(X0,the_carrier(sK545))
      | ~ element(X0,the_carrier(X1)) ),
    inference(superposition,[status(thm)],[c_2029,c_2252]) ).

tcf(c_4655,plain,
    ( related(sK544,sK548,sK549)
    | ~ rel_str(sK544)
    | ~ subrelstr(sK545,sK544)
    | ~ related(sK545,sK548,sK549)
    | ~ element(sK549,the_carrier(sK545))
    | ~ element(sK548,the_carrier(sK544)) ),
    inference(superposition,[status(thm)],[c_2030,c_3821]) ).

tcf(c_4657,plain,
    $false,
    inference(prop_impl_just,[status(thm)],[c_4655,c_2603,c_2549,c_2026,c_2027,c_2028,c_2031,c_2033,c_2034]) ).


%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.02  % Problem  : SEU374+2 : TPTP v9.3.1. Released v3.3.0.
% 0.00/0.04  % Command  : run_iprover 300 /export/starexec/sandbox/benchmark/theBenchmark.p THM
% 0.09/0.34  % Computer : n016.cluster.edu
% 0.09/0.34  % Model    : x86_64 x86_64
% 0.09/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.09/0.34  % Memory   : 8046.5625MB
% 0.09/0.34  % OS       : Linux 6.8.0-71-generic
% 0.09/0.34  % CPULimit : 300
% 0.09/0.34  % WCLimit  : 300
% 0.09/0.34  % DateTime : Thu Sep 24 13:58:27 UTC 2026
% 0.09/0.35  % CPUTime  : 
% 0.09/0.35  Running run_iprover 300 /export/starexec/sandbox/benchmark/theBenchmark.p THM
% 0.13/0.38  Running first-order theorem proving
% 0.13/0.38  Running: /export/starexec/sandbox/solver/bin/iproveropt-multi-core.sh -d -n -l tptp -s fof_schedule -t 300 /export/starexec/sandbox/benchmark/theBenchmark.p
% 0.13/0.40  
% 0.13/0.40  % ======== iProver multi-core TPTP/SMT =========
% 0.13/0.40  
% 0.13/0.40  % Detected problem language: tptp
% 0.13/0.41  % Proving...
% 8.27/1.62  % SZS status Started for theBenchmark.p
% 8.27/1.62  % SZS status Theorem for theBenchmark.p
% 8.27/1.62  
% 8.27/1.62  %---------------- iProver v3.9.4 (pre CASC 2026/SMT-COMP 2026) ----------------%
% 8.27/1.62  
% 8.27/1.62  % ------  iProver source info
% 8.27/1.62  
% 8.27/1.62  % git: date: 2026-07-19 20:42:38 +0200
% 8.27/1.62  % git: sha1: 804e7d636a263075307957e923b7a22a4035de61
% 8.27/1.62  % git: non_committed_changes: false
% 8.27/1.62  
% 8.27/1.62  % ------ Parsing...
% 8.27/1.62  % ------ Clausification by vclausify_rel  & Parsing by iProver...
% 8.27/1.62  % ------ Proving...
% 8.27/1.62  % ------ Problem Properties 
% 8.27/1.62  
% 8.27/1.62  % 
% 8.27/1.62  % clauses                               2274
% 8.27/1.62  % conjectures                           9
% 8.27/1.62  % EPR                                   425
% 8.27/1.62  % Horn                                  1612
% 8.27/1.62  % unary                                 416
% 8.27/1.62  % binary                                552
% 8.27/1.62  % lits                                  7352
% 8.27/1.62  % lits eq                               723
% 8.27/1.62  % fd_pure                               0
% 8.27/1.62  % fd_pseudo                             0
% 8.27/1.62  % fd_cond                               53
% 8.27/1.62  % fd_pseudo_cond                        155
% 8.27/1.62  % AC symbols                            0
% 8.27/1.62  
% 8.27/1.62  % ------ Input Options Time Limit: Unbounded
% 8.27/1.62  
% 8.27/1.62  
% 8.27/1.62  % ------ 
% 8.27/1.62  % Current options:
% 8.27/1.62  % ------ 
% 8.27/1.62  
% 8.27/1.62  
% 8.27/1.62  % 
% 8.27/1.62  
% 8.27/1.62  % ------ Proving...
% 8.27/1.62  % 
% 8.27/1.62  
% 8.27/1.62  % ------ Proving...
% 8.27/1.62  % 
% 8.27/1.62  
% 8.27/1.62  % SZS status Theorem for theBenchmark.p
% 8.27/1.62  
% 8.27/1.62  % SZS output start CNFRefutation for theBenchmark.p
% See solution above
% 8.27/1.62  
% 8.27/1.62  
%------------------------------------------------------------------------------