↑ Up

E---3.5.1.THM-CRf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : E---3.5.1
% Problem  : CSR033+2 : TPTP v9.3.1. Released v3.4.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_E /export/starexec/sandbox/benchmark/theBenchmark.p 300 THM

% Computer : n005.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:16:01 PM UTC 2026

% Result   : Theorem 0.16s 0.48s
% Output   : CNFRefutation 0.16s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :    9
%            Number of leaves      :   13
% Syntax   : Number of formulae    :   55 (  22 unt;   0 def)
%            Number of atoms       :   98 (   0 equ)
%            Maximal formula atoms :    3 (   1 avg)
%            Number of connectives :   75 (  32   ~;  28   |;   5   &)
%                                         (   0 <=>;  10  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    7 (   2 avg)
%            Maximal term depth    :    1 (   1 avg)
%            Number of predicates  :    6 (   5 usr;   1 prp; 0-2 aty)
%            Number of functors    :   10 (  10 usr;  10 con; 0-0 aty)
%            Number of variables   :   27 (   0 sgn  14   !;   0   ?)

% Comments : 
%------------------------------------------------------------------------------
fof(query83,conjecture,
    ( mtvisible(c_tptpgeo_spindlecollectormt)
   => ( geolevel_1(c_georegion_l1_x2_y0)
      & inregion(c_geolocation_x76_y23,c_georegion_l1_x2_y0) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',query83) ).

fof(ax1_1123,axiom,
    ! [X20,X21] :
      ( ( genlmt(X20,X21)
        & mtvisible(X20) )
     => mtvisible(X21) ),
    file('/export/starexec/sandbox/benchmark/Axioms/CSR002+1.ax',ax1_1123) ).

fof(ax1_933,axiom,
    ! [X13,X14,X19] :
      ( ( inregion(X14,X19)
        & inregion(X13,X14) )
     => inregion(X13,X19) ),
    file('/export/starexec/sandbox/benchmark/Axioms/CSR002+1.ax',ax1_933) ).

fof(ax1_128,axiom,
    ! [X5,X6] :
      ( geographicalsubregions(X5,X6)
     => inregion(X6,X5) ),
    file('/export/starexec/sandbox/benchmark/Axioms/CSR002+1.ax',ax1_128) ).

fof(ax1_300,axiom,
    ( mtvisible(c_tptpgeo_member2_mt)
   => geographicalsubregions(c_georegion_l3_x25_y7,c_georegion_l4_x76_y23) ),
    file('/export/starexec/sandbox/benchmark/Axioms/CSR002+1.ax',ax1_300) ).

fof(ax1_273,axiom,
    genlmt(c_tptpgeo_spindlecollectormt,c_tptpgeo_member2_mt),
    file('/export/starexec/sandbox/benchmark/Axioms/CSR002+1.ax',ax1_273) ).

fof(ax1_369,axiom,
    genlmt(c_tptpgeo_spindlecollectormt,c_tptpgeo_member8_mt),
    file('/export/starexec/sandbox/benchmark/Axioms/CSR002+1.ax',ax1_369) ).

fof(ax1_291,axiom,
    ( mtvisible(c_tptpgeo_member2_mt)
   => geographicalsubregions(c_georegion_l2_x8_y2,c_georegion_l3_x25_y7) ),
    file('/export/starexec/sandbox/benchmark/Axioms/CSR002+1.ax',ax1_291) ).

fof(ax1_355,axiom,
    ( mtvisible(c_tptpgeo_member2_mt)
   => inregion(c_geolocation_x76_y23,c_georegion_l4_x76_y23) ),
    file('/export/starexec/sandbox/benchmark/Axioms/CSR002+1.ax',ax1_355) ).

fof(ax1_326,axiom,
    genlmt(c_tptpgeo_spindleheadmt,c_worldgeographymt),
    file('/export/starexec/sandbox/benchmark/Axioms/CSR002+1.ax',ax1_326) ).

fof(ax1_1,axiom,
    genlmt(c_tptpgeo_member8_mt,c_tptpgeo_spindleheadmt),
    file('/export/starexec/sandbox/benchmark/Axioms/CSR002+1.ax',ax1_1) ).

fof(ax1_18,axiom,
    ( mtvisible(c_tptpgeo_member2_mt)
   => geographicalsubregions(c_georegion_l1_x2_y0,c_georegion_l2_x8_y2) ),
    file('/export/starexec/sandbox/benchmark/Axioms/CSR002+1.ax',ax1_18) ).

fof(ax1_292,axiom,
    ( mtvisible(c_worldgeographymt)
   => geolevel_1(c_georegion_l1_x2_y0) ),
    file('/export/starexec/sandbox/benchmark/Axioms/CSR002+1.ax',ax1_292) ).

fof(c_0_13,negated_conjecture,
    ~ ( mtvisible(c_tptpgeo_spindlecollectormt)
     => ( geolevel_1(c_georegion_l1_x2_y0)
        & inregion(c_geolocation_x76_y23,c_georegion_l1_x2_y0) ) ),
    inference(assume_negation,[status(cth)],[query83]) ).

fof(c_0_14,plain,
    ! [X34,X35] :
      ( mtvisible(X35)
      | ~ genlmt(X34,X35)
      | ~ mtvisible(X34) ),
    inference(fof_nnf,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[ax1_1123])])]) ).

fof(c_0_15,negated_conjecture,
    ( ( ~ geolevel_1(c_georegion_l1_x2_y0)
      | ~ inregion(c_geolocation_x76_y23,c_georegion_l1_x2_y0) )
    & mtvisible(c_tptpgeo_spindlecollectormt) ),
    inference(fof_nnf,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_13])]) ).

fof(c_0_16,plain,
    ! [X30,X31,X32] :
      ( inregion(X30,X32)
      | ~ inregion(X31,X32)
      | ~ inregion(X30,X31) ),
    inference(fof_nnf,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[ax1_933])])]) ).

fof(c_0_17,plain,
    ! [X24,X25] :
      ( inregion(X25,X24)
      | ~ geographicalsubregions(X24,X25) ),
    inference(fof_nnf,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[ax1_128])])]) ).

fof(c_0_18,plain,
    ( geographicalsubregions(c_georegion_l3_x25_y7,c_georegion_l4_x76_y23)
    | ~ mtvisible(c_tptpgeo_member2_mt) ),
    inference(fof_nnf,[status(thm)],[inference(fof_nnf,[status(thm)],[ax1_300])]) ).

cnf(c_0_19,plain,
    ( ~ genlmt(X1,X2)
    | ~ mtvisible(X1)
    | mtvisible(X2) ),
    inference(split_conjunct,[status(thm)],[c_0_14]) ).

cnf(c_0_20,plain,
    genlmt(c_tptpgeo_spindlecollectormt,c_tptpgeo_member2_mt),
    inference(split_conjunct,[status(thm)],[ax1_273]) ).

cnf(c_0_21,negated_conjecture,
    mtvisible(c_tptpgeo_spindlecollectormt),
    inference(split_conjunct,[status(thm)],[c_0_15]) ).

cnf(c_0_22,plain,
    genlmt(c_tptpgeo_spindlecollectormt,c_tptpgeo_member8_mt),
    inference(split_conjunct,[status(thm)],[ax1_369]) ).

fof(c_0_23,plain,
    ( geographicalsubregions(c_georegion_l2_x8_y2,c_georegion_l3_x25_y7)
    | ~ mtvisible(c_tptpgeo_member2_mt) ),
    inference(fof_nnf,[status(thm)],[inference(fof_nnf,[status(thm)],[ax1_291])]) ).

cnf(c_0_24,plain,
    ( ~ inregion(X2,X3)
    | ~ inregion(X1,X2)
    | inregion(X1,X3) ),
    inference(split_conjunct,[status(thm)],[c_0_16]) ).

cnf(c_0_25,plain,
    ( ~ geographicalsubregions(X1,X2)
    | inregion(X2,X1) ),
    inference(split_conjunct,[status(thm)],[c_0_17]) ).

cnf(c_0_26,plain,
    ( ~ mtvisible(c_tptpgeo_member2_mt)
    | geographicalsubregions(c_georegion_l3_x25_y7,c_georegion_l4_x76_y23) ),
    inference(split_conjunct,[status(thm)],[c_0_18]) ).

cnf(c_0_27,plain,
    mtvisible(c_tptpgeo_member2_mt),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_19,c_0_20]),c_0_21])]) ).

fof(c_0_28,plain,
    ( inregion(c_geolocation_x76_y23,c_georegion_l4_x76_y23)
    | ~ mtvisible(c_tptpgeo_member2_mt) ),
    inference(fof_nnf,[status(thm)],[inference(fof_nnf,[status(thm)],[ax1_355])]) ).

cnf(c_0_29,plain,
    genlmt(c_tptpgeo_spindleheadmt,c_worldgeographymt),
    inference(split_conjunct,[status(thm)],[ax1_326]) ).

cnf(c_0_30,plain,
    genlmt(c_tptpgeo_member8_mt,c_tptpgeo_spindleheadmt),
    inference(split_conjunct,[status(thm)],[ax1_1]) ).

cnf(c_0_31,plain,
    mtvisible(c_tptpgeo_member8_mt),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_19,c_0_22]),c_0_21])]) ).

fof(c_0_32,plain,
    ( geographicalsubregions(c_georegion_l1_x2_y0,c_georegion_l2_x8_y2)
    | ~ mtvisible(c_tptpgeo_member2_mt) ),
    inference(fof_nnf,[status(thm)],[inference(fof_nnf,[status(thm)],[ax1_18])]) ).

cnf(c_0_33,plain,
    ( ~ mtvisible(c_tptpgeo_member2_mt)
    | geographicalsubregions(c_georegion_l2_x8_y2,c_georegion_l3_x25_y7) ),
    inference(split_conjunct,[status(thm)],[c_0_23]) ).

cnf(c_0_34,plain,
    ( ~ geographicalsubregions(X2,X3)
    | ~ inregion(X1,X3)
    | inregion(X1,X2) ),
    inference(spm,[status(thm)],[c_0_24,c_0_25]) ).

cnf(c_0_35,plain,
    geographicalsubregions(c_georegion_l3_x25_y7,c_georegion_l4_x76_y23),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_26,c_0_27])]) ).

cnf(c_0_36,plain,
    ( ~ mtvisible(c_tptpgeo_member2_mt)
    | inregion(c_geolocation_x76_y23,c_georegion_l4_x76_y23) ),
    inference(split_conjunct,[status(thm)],[c_0_28]) ).

fof(c_0_37,plain,
    ( geolevel_1(c_georegion_l1_x2_y0)
    | ~ mtvisible(c_worldgeographymt) ),
    inference(fof_nnf,[status(thm)],[inference(fof_nnf,[status(thm)],[ax1_292])]) ).

cnf(c_0_38,plain,
    ( ~ mtvisible(c_tptpgeo_spindleheadmt)
    | mtvisible(c_worldgeographymt) ),
    inference(spm,[status(thm)],[c_0_19,c_0_29]) ).

cnf(c_0_39,plain,
    mtvisible(c_tptpgeo_spindleheadmt),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_19,c_0_30]),c_0_31])]) ).

cnf(c_0_40,plain,
    ( ~ mtvisible(c_tptpgeo_member2_mt)
    | geographicalsubregions(c_georegion_l1_x2_y0,c_georegion_l2_x8_y2) ),
    inference(split_conjunct,[status(thm)],[c_0_32]) ).

cnf(c_0_41,plain,
    geographicalsubregions(c_georegion_l2_x8_y2,c_georegion_l3_x25_y7),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_33,c_0_27])]) ).

cnf(c_0_42,plain,
    ( ~ inregion(X1,c_georegion_l4_x76_y23)
    | inregion(X1,c_georegion_l3_x25_y7) ),
    inference(spm,[status(thm)],[c_0_34,c_0_35]) ).

cnf(c_0_43,plain,
    inregion(c_geolocation_x76_y23,c_georegion_l4_x76_y23),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_36,c_0_27])]) ).

cnf(c_0_44,plain,
    ( ~ mtvisible(c_worldgeographymt)
    | geolevel_1(c_georegion_l1_x2_y0) ),
    inference(split_conjunct,[status(thm)],[c_0_37]) ).

cnf(c_0_45,plain,
    mtvisible(c_worldgeographymt),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_38,c_0_39])]) ).

cnf(c_0_46,plain,
    geographicalsubregions(c_georegion_l1_x2_y0,c_georegion_l2_x8_y2),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_40,c_0_27])]) ).

cnf(c_0_47,plain,
    ( ~ inregion(X1,c_georegion_l3_x25_y7)
    | inregion(X1,c_georegion_l2_x8_y2) ),
    inference(spm,[status(thm)],[c_0_34,c_0_41]) ).

cnf(c_0_48,plain,
    inregion(c_geolocation_x76_y23,c_georegion_l3_x25_y7),
    inference(spm,[status(thm)],[c_0_42,c_0_43]) ).

cnf(c_0_49,negated_conjecture,
    ( ~ geolevel_1(c_georegion_l1_x2_y0)
    | ~ inregion(c_geolocation_x76_y23,c_georegion_l1_x2_y0) ),
    inference(split_conjunct,[status(thm)],[c_0_15]) ).

cnf(c_0_50,plain,
    geolevel_1(c_georegion_l1_x2_y0),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_44,c_0_45])]) ).

cnf(c_0_51,plain,
    ( ~ inregion(X1,c_georegion_l2_x8_y2)
    | inregion(X1,c_georegion_l1_x2_y0) ),
    inference(spm,[status(thm)],[c_0_34,c_0_46]) ).

cnf(c_0_52,plain,
    inregion(c_geolocation_x76_y23,c_georegion_l2_x8_y2),
    inference(spm,[status(thm)],[c_0_47,c_0_48]) ).

cnf(c_0_53,negated_conjecture,
    ~ inregion(c_geolocation_x76_y23,c_georegion_l1_x2_y0),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_49,c_0_50])]) ).

cnf(c_0_54,plain,
    $false,
    inference(sr,[status(thm)],[inference(spm,[status(thm)],[c_0_51,c_0_52]),c_0_53]),
    [proof] ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.02  % Problem  : CSR033+2 : TPTP v9.3.1. Released v3.4.0.
% 0.00/0.04  % Command  : run_E /export/starexec/sandbox/benchmark/theBenchmark.p 300 THM
% 0.09/0.34  % Computer : n005.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 : Mon Sep 21 14:26:18 UTC 2026
% 0.09/0.34  % CPUTime  : 
% 0.09/0.34  Running run_E /export/starexec/sandbox/benchmark/theBenchmark.p 300 THM
% 0.16/0.39  Running first-order theorem proving
% 0.16/0.39  Running: /export/starexec/sandbox/solver/bin/eprover --delete-bad-limit=2000000000 --definitional-cnf=24 -s --print-statistics -R --print-version --proof-object --auto-schedule=8 --cpu-limit=300 /export/starexec/sandbox/benchmark/theBenchmark.p
% 0.16/0.48  % Version: 3.5.1
% 0.16/0.48  % Preprocessing class: FMLMSMSLSSSNFFN.
% 0.16/0.48  % Scheduled 4 strats onto 8 cores with 300 seconds (2400 total)
% 0.16/0.48  % Starting G-E--_208_C18C--_F1_SE_CS_SP_PS_S5PRR_RG_S04AN with 900s (3) cores
% 0.16/0.48  % Starting new_bool_3 with 600s (2) cores
% 0.16/0.48  % Starting new_bool_1 with 600s (2) cores
% 0.16/0.48  % Starting sh5l with 300s (1) cores
% 0.16/0.48  % sh5l with pid 3729517 completed with status 0
% 0.16/0.48  % Result found by sh5l
% 0.16/0.48  % Preprocessing class: FMLMSMSLSSSNFFN.
% 0.16/0.48  % Scheduled 4 strats onto 8 cores with 300 seconds (2400 total)
% 0.16/0.48  % Starting G-E--_208_C18C--_F1_SE_CS_SP_PS_S5PRR_RG_S04AN with 900s (3) cores
% 0.16/0.48  % Starting new_bool_3 with 600s (2) cores
% 0.16/0.48  % Starting new_bool_1 with 600s (2) cores
% 0.16/0.48  % Starting sh5l with 300s (1) cores
% 0.16/0.48  % (lift_lambdas = 0, lambda_to_forall = 0,unroll_only_formulas = 0, sine = gf500_gu_R04_F100_L20000)
% 0.16/0.48  % SinE strategy is gf500_gu_R04_F100_L20000
% 0.16/0.48  % Search class: FHHNF-FFMM00-SFFFFFNN
% 0.16/0.48  % Scheduled 5 strats onto 1 cores with 300 seconds (300 total)
% 0.16/0.48  % Starting SubtermCWHack with 31s (1) cores
% 0.16/0.48  % SubtermCWHack with pid 3729522 completed with status 0
% 0.16/0.48  % Result found by SubtermCWHack
% 0.16/0.48  % Preprocessing class: FMLMSMSLSSSNFFN.
% 0.16/0.48  % Scheduled 4 strats onto 8 cores with 300 seconds (2400 total)
% 0.16/0.48  % Starting G-E--_208_C18C--_F1_SE_CS_SP_PS_S5PRR_RG_S04AN with 900s (3) cores
% 0.16/0.48  % Starting new_bool_3 with 600s (2) cores
% 0.16/0.48  % Starting new_bool_1 with 600s (2) cores
% 0.16/0.48  % Starting sh5l with 300s (1) cores
% 0.16/0.48  % (lift_lambdas = 0, lambda_to_forall = 0,unroll_only_formulas = 0, sine = gf500_gu_R04_F100_L20000)
% 0.16/0.48  % SinE strategy is gf500_gu_R04_F100_L20000
% 0.16/0.48  % Search class: FHHNF-FFMM00-SFFFFFNN
% 0.16/0.48  % Scheduled 5 strats onto 1 cores with 300 seconds (300 total)
% 0.16/0.48  % Starting SubtermCWHack with 31s (1) cores
% 0.16/0.48  % Preprocessing time       : 0.003 s
% 0.16/0.48  
% 0.16/0.48  % Proof found!
% 0.16/0.48  % SZS status Theorem
% 0.16/0.48  % SZS output start CNFRefutation
% See solution above
% 0.16/0.48  % Parsed axioms                        : 1132
% 0.16/0.48  % Removed by relevancy pruning/SinE    : 1048
% 0.16/0.48  % Initial clauses                      : 85
% 0.16/0.48  % Removed in clause preprocessing      : 0
% 0.16/0.48  % Initial clauses in saturation        : 85
% 0.16/0.48  % Processed clauses                    : 499
% 0.16/0.48  % ...of these trivial                  : 30
% 0.16/0.48  % ...subsumed                          : 88
% 0.16/0.48  % ...remaining for further processing  : 381
% 0.16/0.48  % Other redundant clauses eliminated   : 0
% 0.16/0.48  % Clauses deleted for lack of memory   : 0
% 0.16/0.48  % Backward-subsumed                    : 0
% 0.16/0.48  % Backward-rewritten                   : 38
% 0.16/0.48  % Generated clauses                    : 769
% 0.16/0.48  % ...of the previous two non-redundant : 529
% 0.16/0.48  % ...aggressively subsumed             : 0
% 0.16/0.48  % Contextual simplify-reflections      : 0
% 0.16/0.48  % Paramodulations                      : 769
% 0.16/0.48  % Factorizations                       : 0
% 0.16/0.48  % NegExts                              : 0
% 0.16/0.48  % Equation resolutions                 : 0
% 0.16/0.48  % Disequality decompositions           : 0
% 0.16/0.48  % Total rewrite steps                  : 285
% 0.16/0.48  % ...of those cached                   : 177
% 0.16/0.48  % Propositional unsat checks           : 0
% 0.16/0.48  %    Propositional check models        : 0
% 0.16/0.48  %    Propositional check unsatisfiable : 0
% 0.16/0.48  %    Propositional clauses             : 0
% 0.16/0.48  %    Propositional clauses after purity: 0
% 0.16/0.48  %    Propositional unsat core size     : 0
% 0.16/0.48  %    Propositional preprocessing time  : 0.000
% 0.16/0.48  %    Propositional encoding time       : 0.000
% 0.16/0.48  %    Propositional solver time         : 0.000
% 0.16/0.48  %    Success case prop preproc time    : 0.000
% 0.16/0.48  %    Success case prop encoding time   : 0.000
% 0.16/0.48  %    Success case prop solver time     : 0.000
% 0.16/0.48  % Current number of processed clauses  : 343
% 0.16/0.48  %    Positive orientable unit clauses  : 172
% 0.16/0.48  %    Positive unorientable unit clauses: 0
% 0.16/0.48  %    Negative unit clauses             : 4
% 0.16/0.48  %    Non-unit-clauses                  : 167
% 0.16/0.48  % Current number of unprocessed clauses: 58
% 0.16/0.48  % ...number of literals in the above   : 163
% 0.16/0.48  % Current number of archived formulas  : 0
% 0.16/0.48  % Current number of archived clauses   : 38
% 0.16/0.48  % Clause-clause subsumption calls (NU) : 5200
% 0.16/0.48  % Rec. Clause-clause subsumption calls : 4873
% 0.16/0.48  % Non-unit clause-clause subsumptions  : 88
% 0.16/0.48  % Unit Clause-clause subsumption calls : 2939
% 0.16/0.48  % Rewrite failures with RHS unbound    : 0
% 0.16/0.48  % BW rewrite match attempts            : 6
% 0.16/0.48  % BW rewrite match successes           : 6
% 0.16/0.48  % Condensation attempts                : 0
% 0.16/0.48  % Condensation successes               : 0
% 0.16/0.48  % Termbank termtop insertions          : 16380
% 0.16/0.48  % Search garbage collected termcells   : 4993
% 0.16/0.48  
% 0.16/0.48  % -------------------------------------------------
% 0.16/0.48  % User time                : 0.042 s
% 0.16/0.48  % System time              : 0.008 s
% 0.16/0.48  % Total time               : 0.050 s
% 0.16/0.48  % Maximum resident set size: 6144 pages
% 0.16/0.48  
% 0.16/0.48  % -------------------------------------------------
% 0.16/0.48  % User time                : 0.059 s
% 0.16/0.48  % System time              : 0.014 s
% 0.16/0.48  % Total time               : 0.073 s
% 0.16/0.48  % Maximum resident set size: 5632 pages
% 0.16/0.48  % E exiting
%------------------------------------------------------------------------------