TSTP Solution File: SWV394+1 by E---3.1.00

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : E---3.1.00
% Problem  : SWV394+1 : TPTP v8.2.0. Released v3.3.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_E %s %d THM

% Computer : n013.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 May 21 05:23:05 EDT 2024

% Result   : Theorem 0.17s 0.49s
% Output   : CNFRefutation 0.17s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :    9
%            Number of leaves      :    9
% Syntax   : Number of formulae    :   44 (   9 unt;   0 def)
%            Number of atoms       :  119 (  10 equ)
%            Maximal formula atoms :    7 (   2 avg)
%            Number of connectives :  123 (  48   ~;  45   |;  16   &)
%                                         (   4 <=>;  10  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   13 (   5 avg)
%            Maximal term depth    :    3 (   1 avg)
%            Number of predicates  :    9 (   6 usr;   2 prp; 0-3 aty)
%            Number of functors    :   13 (  13 usr;   6 con; 0-3 aty)
%            Number of variables   :  121 (  14 sgn  75   !;   0   ?)

% Comments : 
%------------------------------------------------------------------------------
fof(ax40,axiom,
    ! [X1,X2] :
      ( ok(triple(X1,X2,bad))
    <=> ~ $true ),
    file('/export/starexec/sandbox2/benchmark/Axioms/SWV007+3.ax',ax40) ).

fof(l30_co,conjecture,
    ! [X1,X2,X3,X4] :
      ( ( check_cpq(remove_cpq(triple(X1,X2,X3),X4))
        & ok(remove_cpq(triple(X1,X2,X3),X4)) )
     => ! [X5] :
          ( pair_in_list(X2,X4,X5)
         => less_than(X5,X4) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',l30_co) ).

fof(ax43,axiom,
    ! [X1,X2,X3,X4] :
      ( ~ contains_slb(X2,X4)
     => remove_cpq(triple(X1,X2,X3),X4) = triple(X1,X2,bad) ),
    file('/export/starexec/sandbox2/benchmark/Axioms/SWV007+3.ax',ax43) ).

fof(ax45,axiom,
    ! [X1,X2,X3,X4] :
      ( ( contains_slb(X2,X4)
        & strictly_less_than(X4,lookup_slb(X2,X4)) )
     => remove_cpq(triple(X1,X2,X3),X4) = triple(remove_pqp(X1,X4),remove_slb(X2,X4),bad) ),
    file('/export/starexec/sandbox2/benchmark/Axioms/SWV007+3.ax',ax45) ).

fof(stricly_smaller_definition,axiom,
    ! [X1,X2] :
      ( strictly_less_than(X1,X2)
    <=> ( less_than(X1,X2)
        & ~ less_than(X2,X1) ) ),
    file('/export/starexec/sandbox2/benchmark/Axioms/SWV007+0.ax',stricly_smaller_definition) ).

fof(totality,axiom,
    ! [X1,X2] :
      ( less_than(X1,X2)
      | less_than(X2,X1) ),
    file('/export/starexec/sandbox2/benchmark/Axioms/SWV007+0.ax',totality) ).

fof(l30_li4142,lemma,
    ! [X1,X2,X3] :
      ( check_cpq(triple(X1,X2,X3))
    <=> ! [X4,X5] :
          ( pair_in_list(X2,X4,X5)
         => less_than(X5,X4) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',l30_li4142) ).

fof(ax44,axiom,
    ! [X1,X2,X3,X4] :
      ( ( contains_slb(X2,X4)
        & less_than(lookup_slb(X2,X4),X4) )
     => remove_cpq(triple(X1,X2,X3),X4) = triple(remove_pqp(X1,X4),remove_slb(X2,X4),X3) ),
    file('/export/starexec/sandbox2/benchmark/Axioms/SWV007+3.ax',ax44) ).

fof(l30_li3132,lemma,
    ! [X1,X2,X3,X4,X5] :
      ( ( pair_in_list(X2,X4,X5)
        & strictly_less_than(X4,X5)
        & ok(remove_cpq(triple(X1,X2,X3),X4)) )
     => pair_in_list(remove_slb(X2,X4),X4,X5) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',l30_li3132) ).

fof(c_0_9,plain,
    ! [X54,X55] :
      ( ( ~ ok(triple(X54,X55,bad))
        | ~ $true )
      & ( $true
        | ok(triple(X54,X55,bad)) ) ),
    inference(fof_nnf,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[ax40])])]) ).

fof(c_0_10,negated_conjecture,
    ~ ! [X1,X2,X3,X4] :
        ( ( check_cpq(remove_cpq(triple(X1,X2,X3),X4))
          & ok(remove_cpq(triple(X1,X2,X3),X4)) )
       => ! [X5] :
            ( pair_in_list(X2,X4,X5)
           => less_than(X5,X4) ) ),
    inference(assume_negation,[status(cth)],[l30_co]) ).

fof(c_0_11,plain,
    ! [X1,X2,X3,X4] :
      ( ~ contains_slb(X2,X4)
     => remove_cpq(triple(X1,X2,X3),X4) = triple(X1,X2,bad) ),
    inference(fof_simplification,[status(thm)],[ax43]) ).

cnf(c_0_12,plain,
    ( ~ ok(triple(X1,X2,bad))
    | $false ),
    inference(split_conjunct,[status(thm)],[c_0_9]) ).

fof(c_0_13,plain,
    ! [X70,X71,X72,X73] :
      ( ~ contains_slb(X71,X73)
      | ~ strictly_less_than(X73,lookup_slb(X71,X73))
      | remove_cpq(triple(X70,X71,X72),X73) = triple(remove_pqp(X70,X73),remove_slb(X71,X73),bad) ),
    inference(fof_nnf,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[ax45])])]) ).

fof(c_0_14,negated_conjecture,
    ( check_cpq(remove_cpq(triple(esk1_0,esk2_0,esk3_0),esk4_0))
    & ok(remove_cpq(triple(esk1_0,esk2_0,esk3_0),esk4_0))
    & pair_in_list(esk2_0,esk4_0,esk5_0)
    & ~ less_than(esk5_0,esk4_0) ),
    inference(fof_nnf,[status(thm)],[inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_10])])])]) ).

fof(c_0_15,plain,
    ! [X62,X63,X64,X65] :
      ( contains_slb(X63,X65)
      | remove_cpq(triple(X62,X63,X64),X65) = triple(X62,X63,bad) ),
    inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_11])]) ).

fof(c_0_16,plain,
    ! [X1,X2] :
      ( strictly_less_than(X1,X2)
    <=> ( less_than(X1,X2)
        & ~ less_than(X2,X1) ) ),
    inference(fof_simplification,[status(thm)],[stricly_smaller_definition]) ).

cnf(c_0_17,plain,
    ~ ok(triple(X1,X2,bad)),
    inference(cn,[status(thm)],[c_0_12]) ).

cnf(c_0_18,plain,
    ( remove_cpq(triple(X3,X1,X4),X2) = triple(remove_pqp(X3,X2),remove_slb(X1,X2),bad)
    | ~ contains_slb(X1,X2)
    | ~ strictly_less_than(X2,lookup_slb(X1,X2)) ),
    inference(split_conjunct,[status(thm)],[c_0_13]) ).

cnf(c_0_19,negated_conjecture,
    ok(remove_cpq(triple(esk1_0,esk2_0,esk3_0),esk4_0)),
    inference(split_conjunct,[status(thm)],[c_0_14]) ).

cnf(c_0_20,plain,
    ( contains_slb(X1,X2)
    | remove_cpq(triple(X3,X1,X4),X2) = triple(X3,X1,bad) ),
    inference(split_conjunct,[status(thm)],[c_0_15]) ).

fof(c_0_21,plain,
    ! [X17,X18] :
      ( ( less_than(X17,X18)
        | ~ strictly_less_than(X17,X18) )
      & ( ~ less_than(X18,X17)
        | ~ strictly_less_than(X17,X18) )
      & ( ~ less_than(X17,X18)
        | less_than(X18,X17)
        | strictly_less_than(X17,X18) ) ),
    inference(distribute,[status(thm)],[inference(fof_nnf,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_16])])])]) ).

fof(c_0_22,plain,
    ! [X14,X15] :
      ( less_than(X14,X15)
      | less_than(X15,X14) ),
    inference(variable_rename,[status(thm)],[totality]) ).

fof(c_0_23,lemma,
    ! [X32,X33,X34,X35,X36,X37,X38,X41] :
      ( ( ~ check_cpq(triple(X32,X33,X34))
        | ~ pair_in_list(X33,X35,X36)
        | less_than(X36,X35) )
      & ( pair_in_list(X38,esk6_2(X37,X38),esk7_2(X37,X38))
        | check_cpq(triple(X37,X38,X41)) )
      & ( ~ less_than(esk7_2(X37,X38),esk6_2(X37,X38))
        | check_cpq(triple(X37,X38,X41)) ) ),
    inference(distribute,[status(thm)],[inference(fof_nnf,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(fof_nnf,[status(thm)],[l30_li4142])])])])])])]) ).

fof(c_0_24,plain,
    ! [X66,X67,X68,X69] :
      ( ~ contains_slb(X67,X69)
      | ~ less_than(lookup_slb(X67,X69),X69)
      | remove_cpq(triple(X66,X67,X68),X69) = triple(remove_pqp(X66,X69),remove_slb(X67,X69),X68) ),
    inference(fof_nnf,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[ax44])])]) ).

cnf(c_0_25,plain,
    ( ~ ok(remove_cpq(triple(X1,X2,X3),X4))
    | ~ contains_slb(X2,X4)
    | ~ strictly_less_than(X4,lookup_slb(X2,X4)) ),
    inference(spm,[status(thm)],[c_0_17,c_0_18]) ).

cnf(c_0_26,negated_conjecture,
    contains_slb(esk2_0,esk4_0),
    inference(sr,[status(thm)],[inference(spm,[status(thm)],[c_0_19,c_0_20]),c_0_17]) ).

cnf(c_0_27,plain,
    ( less_than(X2,X1)
    | strictly_less_than(X1,X2)
    | ~ less_than(X1,X2) ),
    inference(split_conjunct,[status(thm)],[c_0_21]) ).

cnf(c_0_28,plain,
    ( less_than(X1,X2)
    | less_than(X2,X1) ),
    inference(split_conjunct,[status(thm)],[c_0_22]) ).

cnf(c_0_29,lemma,
    ( less_than(X5,X4)
    | ~ check_cpq(triple(X1,X2,X3))
    | ~ pair_in_list(X2,X4,X5) ),
    inference(split_conjunct,[status(thm)],[c_0_23]) ).

cnf(c_0_30,plain,
    ( remove_cpq(triple(X3,X1,X4),X2) = triple(remove_pqp(X3,X2),remove_slb(X1,X2),X4)
    | ~ contains_slb(X1,X2)
    | ~ less_than(lookup_slb(X1,X2),X2) ),
    inference(split_conjunct,[status(thm)],[c_0_24]) ).

cnf(c_0_31,negated_conjecture,
    ~ strictly_less_than(esk4_0,lookup_slb(esk2_0,esk4_0)),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_25,c_0_19]),c_0_26])]) ).

cnf(c_0_32,plain,
    ( strictly_less_than(X1,X2)
    | less_than(X2,X1) ),
    inference(csr,[status(thm)],[c_0_27,c_0_28]) ).

fof(c_0_33,lemma,
    ! [X49,X50,X51,X52,X53] :
      ( ~ pair_in_list(X50,X52,X53)
      | ~ strictly_less_than(X52,X53)
      | ~ ok(remove_cpq(triple(X49,X50,X51),X52))
      | pair_in_list(remove_slb(X50,X52),X52,X53) ),
    inference(fof_nnf,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[l30_li3132])])]) ).

cnf(c_0_34,lemma,
    ( less_than(X1,X2)
    | ~ check_cpq(remove_cpq(triple(X3,X4,X5),X6))
    | ~ pair_in_list(remove_slb(X4,X6),X2,X1)
    | ~ contains_slb(X4,X6)
    | ~ less_than(lookup_slb(X4,X6),X6) ),
    inference(spm,[status(thm)],[c_0_29,c_0_30]) ).

cnf(c_0_35,negated_conjecture,
    check_cpq(remove_cpq(triple(esk1_0,esk2_0,esk3_0),esk4_0)),
    inference(split_conjunct,[status(thm)],[c_0_14]) ).

cnf(c_0_36,negated_conjecture,
    less_than(lookup_slb(esk2_0,esk4_0),esk4_0),
    inference(spm,[status(thm)],[c_0_31,c_0_32]) ).

cnf(c_0_37,lemma,
    ( pair_in_list(remove_slb(X1,X2),X2,X3)
    | ~ pair_in_list(X1,X2,X3)
    | ~ strictly_less_than(X2,X3)
    | ~ ok(remove_cpq(triple(X4,X1,X5),X2)) ),
    inference(split_conjunct,[status(thm)],[c_0_33]) ).

cnf(c_0_38,negated_conjecture,
    ( less_than(X1,X2)
    | ~ pair_in_list(remove_slb(esk2_0,esk4_0),X2,X1) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_34,c_0_35]),c_0_26]),c_0_36])]) ).

cnf(c_0_39,negated_conjecture,
    ( pair_in_list(remove_slb(esk2_0,esk4_0),esk4_0,X1)
    | ~ pair_in_list(esk2_0,esk4_0,X1)
    | ~ strictly_less_than(esk4_0,X1) ),
    inference(spm,[status(thm)],[c_0_37,c_0_19]) ).

cnf(c_0_40,negated_conjecture,
    ( less_than(X1,esk4_0)
    | ~ pair_in_list(esk2_0,esk4_0,X1) ),
    inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_38,c_0_39]),c_0_32]) ).

cnf(c_0_41,negated_conjecture,
    pair_in_list(esk2_0,esk4_0,esk5_0),
    inference(split_conjunct,[status(thm)],[c_0_14]) ).

cnf(c_0_42,negated_conjecture,
    ~ less_than(esk5_0,esk4_0),
    inference(split_conjunct,[status(thm)],[c_0_14]) ).

cnf(c_0_43,negated_conjecture,
    $false,
    inference(sr,[status(thm)],[inference(spm,[status(thm)],[c_0_40,c_0_41]),c_0_42]),
    [proof] ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.09/0.12  % Problem    : SWV394+1 : TPTP v8.2.0. Released v3.3.0.
% 0.09/0.12  % Command    : run_E %s %d THM
% 0.11/0.33  % Computer : n013.cluster.edu
% 0.11/0.33  % Model    : x86_64 x86_64
% 0.11/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.11/0.33  % Memory   : 8042.1875MB
% 0.11/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.11/0.33  % CPULimit   : 300
% 0.11/0.33  % WCLimit    : 300
% 0.11/0.33  % DateTime   : Sun May 19 07:51:53 EDT 2024
% 0.11/0.33  % CPUTime    : 
% 0.17/0.44  Running first-order theorem proving
% 0.17/0.44  Running: /export/starexec/sandbox2/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/sandbox2/benchmark/theBenchmark.p
% 0.17/0.49  # Version: 3.1.0
% 0.17/0.49  # Preprocessing class: FSLSSMSSSSSNFFN.
% 0.17/0.49  # Scheduled 4 strats onto 8 cores with 300 seconds (2400 total)
% 0.17/0.49  # Starting G-E--_207_C18_F1_SE_CS_SP_PI_PS_S5PRR_S2S with 1500s (5) cores
% 0.17/0.49  # Starting new_bool_3 with 300s (1) cores
% 0.17/0.49  # Starting new_bool_1 with 300s (1) cores
% 0.17/0.49  # Starting sh5l with 300s (1) cores
% 0.17/0.49  # sh5l with pid 11702 completed with status 0
% 0.17/0.49  # Result found by sh5l
% 0.17/0.49  # Preprocessing class: FSLSSMSSSSSNFFN.
% 0.17/0.49  # Scheduled 4 strats onto 8 cores with 300 seconds (2400 total)
% 0.17/0.49  # Starting G-E--_207_C18_F1_SE_CS_SP_PI_PS_S5PRR_S2S with 1500s (5) cores
% 0.17/0.49  # Starting new_bool_3 with 300s (1) cores
% 0.17/0.49  # Starting new_bool_1 with 300s (1) cores
% 0.17/0.49  # Starting sh5l with 300s (1) cores
% 0.17/0.49  # SinE strategy is gf500_gu_R04_F100_L20000
% 0.17/0.49  # Search class: FGHSM-FFMS31-MFFFFFNN
% 0.17/0.49  # Scheduled 6 strats onto 1 cores with 300 seconds (300 total)
% 0.17/0.49  # Starting G-E--_103_C18_F1_PI_AE_Q4_CS_SP_S0Y with 130s (1) cores
% 0.17/0.49  # G-E--_103_C18_F1_PI_AE_Q4_CS_SP_S0Y with pid 11704 completed with status 0
% 0.17/0.49  # Result found by G-E--_103_C18_F1_PI_AE_Q4_CS_SP_S0Y
% 0.17/0.49  # Preprocessing class: FSLSSMSSSSSNFFN.
% 0.17/0.49  # Scheduled 4 strats onto 8 cores with 300 seconds (2400 total)
% 0.17/0.49  # Starting G-E--_207_C18_F1_SE_CS_SP_PI_PS_S5PRR_S2S with 1500s (5) cores
% 0.17/0.49  # Starting new_bool_3 with 300s (1) cores
% 0.17/0.49  # Starting new_bool_1 with 300s (1) cores
% 0.17/0.49  # Starting sh5l with 300s (1) cores
% 0.17/0.49  # SinE strategy is gf500_gu_R04_F100_L20000
% 0.17/0.49  # Search class: FGHSM-FFMS31-MFFFFFNN
% 0.17/0.49  # Scheduled 6 strats onto 1 cores with 300 seconds (300 total)
% 0.17/0.49  # Starting G-E--_103_C18_F1_PI_AE_Q4_CS_SP_S0Y with 130s (1) cores
% 0.17/0.49  # Preprocessing time       : 0.002 s
% 0.17/0.49  
% 0.17/0.49  # Proof found!
% 0.17/0.49  # SZS status Theorem
% 0.17/0.49  # SZS output start CNFRefutation
% See solution above
% 0.17/0.49  # Parsed axioms                        : 44
% 0.17/0.49  # Removed by relevancy pruning/SinE    : 3
% 0.17/0.49  # Initial clauses                      : 56
% 0.17/0.49  # Removed in clause preprocessing      : 2
% 0.17/0.49  # Initial clauses in saturation        : 54
% 0.17/0.49  # Processed clauses                    : 200
% 0.17/0.49  # ...of these trivial                  : 3
% 0.17/0.49  # ...subsumed                          : 67
% 0.17/0.49  # ...remaining for further processing  : 130
% 0.17/0.49  # Other redundant clauses eliminated   : 3
% 0.17/0.49  # Clauses deleted for lack of memory   : 0
% 0.17/0.49  # Backward-subsumed                    : 2
% 0.17/0.49  # Backward-rewritten                   : 0
% 0.17/0.49  # Generated clauses                    : 835
% 0.17/0.49  # ...of the previous two non-redundant : 702
% 0.17/0.49  # ...aggressively subsumed             : 0
% 0.17/0.49  # Contextual simplify-reflections      : 3
% 0.17/0.49  # Paramodulations                      : 811
% 0.17/0.49  # Factorizations                       : 22
% 0.17/0.49  # NegExts                              : 0
% 0.17/0.49  # Equation resolutions                 : 3
% 0.17/0.49  # Disequality decompositions           : 0
% 0.17/0.49  # Total rewrite steps                  : 158
% 0.17/0.49  # ...of those cached                   : 117
% 0.17/0.49  # Propositional unsat checks           : 0
% 0.17/0.49  #    Propositional check models        : 0
% 0.17/0.49  #    Propositional check unsatisfiable : 0
% 0.17/0.49  #    Propositional clauses             : 0
% 0.17/0.49  #    Propositional clauses after purity: 0
% 0.17/0.49  #    Propositional unsat core size     : 0
% 0.17/0.49  #    Propositional preprocessing time  : 0.000
% 0.17/0.49  #    Propositional encoding time       : 0.000
% 0.17/0.49  #    Propositional solver time         : 0.000
% 0.17/0.49  #    Success case prop preproc time    : 0.000
% 0.17/0.49  #    Success case prop encoding time   : 0.000
% 0.17/0.49  #    Success case prop solver time     : 0.000
% 0.17/0.49  # Current number of processed clauses  : 126
% 0.17/0.49  #    Positive orientable unit clauses  : 25
% 0.17/0.49  #    Positive unorientable unit clauses: 0
% 0.17/0.49  #    Negative unit clauses             : 9
% 0.17/0.49  #    Non-unit-clauses                  : 92
% 0.17/0.49  # Current number of unprocessed clauses: 556
% 0.17/0.49  # ...number of literals in the above   : 2337
% 0.17/0.49  # Current number of archived formulas  : 0
% 0.17/0.49  # Current number of archived clauses   : 2
% 0.17/0.49  # Clause-clause subsumption calls (NU) : 2444
% 0.17/0.49  # Rec. Clause-clause subsumption calls : 1604
% 0.17/0.49  # Non-unit clause-clause subsumptions  : 64
% 0.17/0.49  # Unit Clause-clause subsumption calls : 43
% 0.17/0.49  # Rewrite failures with RHS unbound    : 0
% 0.17/0.49  # BW rewrite match attempts            : 7
% 0.17/0.49  # BW rewrite match successes           : 0
% 0.17/0.49  # Condensation attempts                : 0
% 0.17/0.49  # Condensation successes               : 0
% 0.17/0.49  # Termbank termtop insertions          : 15719
% 0.17/0.49  # Search garbage collected termcells   : 742
% 0.17/0.49  
% 0.17/0.49  # -------------------------------------------------
% 0.17/0.49  # User time                : 0.024 s
% 0.17/0.49  # System time              : 0.002 s
% 0.17/0.49  # Total time               : 0.026 s
% 0.17/0.49  # Maximum resident set size: 1988 pages
% 0.17/0.49  
% 0.17/0.49  # -------------------------------------------------
% 0.17/0.49  # User time                : 0.026 s
% 0.17/0.49  # System time              : 0.004 s
% 0.17/0.49  # Total time               : 0.030 s
% 0.17/0.49  # Maximum resident set size: 1752 pages
% 0.17/0.49  % E---3.1 exiting
% 0.17/0.49  % E exiting
%------------------------------------------------------------------------------