TSTP Solution File: CSR079+2 by ET---2.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : ET---2.0
% Problem  : CSR079+2 : TPTP v8.1.0. Bugfixed v7.3.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_ET %s %d

% Computer : n022.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  : 600s
% DateTime : Fri Jul 15 03:02:18 EDT 2022

% Result   : Theorem 6.99s 100.16s
% Output   : CNFRefutation 6.99s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   14
%            Number of leaves      :   17
% Syntax   : Number of formulae    :   61 (  48 unt;   0 def)
%            Number of atoms       :   92 (  26 equ)
%            Maximal formula atoms :    5 (   1 avg)
%            Number of connectives :   58 (  27   ~;  24   |;   4   &)
%                                         (   0 <=>;   3  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    9 (   2 avg)
%            Maximal term depth    :    1 (   1 avg)
%            Number of predicates  :    4 (   2 usr;   1 prp; 0-2 aty)
%            Number of functors    :   16 (  16 usr;  16 con; 0-0 aty)
%            Number of variables   :   26 (   2 sgn  10   !;   0   ?)

% Comments : 
%------------------------------------------------------------------------------
fof(local_24,axiom,
    s__Class5_2 = s__Class5_3,
    file('/export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in',local_24) ).

fof(local_23,axiom,
    s__Class5_1 = s__Class5_2,
    file('/export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in',local_23) ).

fof(local_25,axiom,
    s__Class5_3 = s__Class5_4,
    file('/export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in',local_25) ).

fof(local_26,axiom,
    s__Class5_4 = s__Class5_5,
    file('/export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in',local_26) ).

fof(local_27,axiom,
    s__Class5_5 = s__Class5_6,
    file('/export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in',local_27) ).

fof(local_28,axiom,
    s__Class5_6 = s__Class5_7,
    file('/export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in',local_28) ).

fof(local_29,axiom,
    s__Class5_7 = s__Class5_8,
    file('/export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in',local_29) ).

fof(local_30,axiom,
    s__Class5_8 = s__Class5_9,
    file('/export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in',local_30) ).

fof(kb_SUMO_26,axiom,
    ! [X6,X7] :
      ( s__subclass(X6,X7)
     => ( s__instance(X6,s__SetOrClass)
        & s__instance(X7,s__SetOrClass) ) ),
    file('/export/starexec/sandbox/benchmark/Axioms/CSR003+1.ax',kb_SUMO_26) ).

fof(local_31,axiom,
    s__Class5_9 = s__Class5_10,
    file('/export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in',local_31) ).

fof(kb_SUMO_27,axiom,
    ! [X6,X7,X8] :
      ( ( s__instance(X7,s__SetOrClass)
        & s__instance(X6,s__SetOrClass) )
     => ( ( s__subclass(X6,X7)
          & s__instance(X8,X6) )
       => s__instance(X8,X7) ) ),
    file('/export/starexec/sandbox/benchmark/Axioms/CSR003+1.ax',kb_SUMO_27) ).

fof(local_32,axiom,
    s__subclass(s__Lizard5_1,s__Class5_1),
    file('/export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in',local_32) ).

fof(local_33,axiom,
    s__subclass(s__Class5_10,s__Reptile),
    file('/export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in',local_33) ).

fof(kb_SUMO_18777,axiom,
    s__subclass(s__WarmBloodedVertebrate,s__Animal),
    file('/export/starexec/sandbox/benchmark/Axioms/CSR003+4.ax',kb_SUMO_18777) ).

fof(local_2,axiom,
    s__instance(s__Organism5_1,s__Lizard5_1),
    file('/export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in',local_2) ).

fof(prove_from_SUMO_MILO,conjecture,
    s__instance(s__Organism5_1,s__Animal),
    file('/export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in',prove_from_SUMO_MILO) ).

fof(kb_SUMO_9340,axiom,
    s__subclass(s__Reptile,s__Animal),
    file('/export/starexec/sandbox/benchmark/Axioms/CSR003+4.ax',kb_SUMO_9340) ).

cnf(c_0_17,plain,
    s__Class5_2 = s__Class5_3,
    inference(split_conjunct,[status(thm)],[local_24]) ).

cnf(c_0_18,plain,
    s__Class5_1 = s__Class5_2,
    inference(split_conjunct,[status(thm)],[local_23]) ).

cnf(c_0_19,plain,
    s__Class5_3 = s__Class5_4,
    inference(split_conjunct,[status(thm)],[local_25]) ).

cnf(c_0_20,plain,
    s__Class5_3 = s__Class5_1,
    inference(rw,[status(thm)],[c_0_17,c_0_18]) ).

cnf(c_0_21,plain,
    s__Class5_4 = s__Class5_5,
    inference(split_conjunct,[status(thm)],[local_26]) ).

cnf(c_0_22,plain,
    s__Class5_4 = s__Class5_1,
    inference(rw,[status(thm)],[c_0_19,c_0_20]) ).

cnf(c_0_23,plain,
    s__Class5_5 = s__Class5_6,
    inference(split_conjunct,[status(thm)],[local_27]) ).

cnf(c_0_24,plain,
    s__Class5_5 = s__Class5_1,
    inference(rw,[status(thm)],[c_0_21,c_0_22]) ).

cnf(c_0_25,plain,
    s__Class5_6 = s__Class5_7,
    inference(split_conjunct,[status(thm)],[local_28]) ).

cnf(c_0_26,plain,
    s__Class5_6 = s__Class5_1,
    inference(rw,[status(thm)],[c_0_23,c_0_24]) ).

cnf(c_0_27,plain,
    s__Class5_7 = s__Class5_8,
    inference(split_conjunct,[status(thm)],[local_29]) ).

cnf(c_0_28,plain,
    s__Class5_7 = s__Class5_1,
    inference(rw,[status(thm)],[c_0_25,c_0_26]) ).

cnf(c_0_29,plain,
    s__Class5_8 = s__Class5_9,
    inference(split_conjunct,[status(thm)],[local_30]) ).

cnf(c_0_30,plain,
    s__Class5_8 = s__Class5_1,
    inference(rw,[status(thm)],[c_0_27,c_0_28]) ).

fof(c_0_31,plain,
    ! [X8,X9] :
      ( ( s__instance(X8,s__SetOrClass)
        | ~ s__subclass(X8,X9) )
      & ( s__instance(X9,s__SetOrClass)
        | ~ s__subclass(X8,X9) ) ),
    inference(distribute,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[kb_SUMO_26])])]) ).

cnf(c_0_32,plain,
    s__Class5_9 = s__Class5_10,
    inference(split_conjunct,[status(thm)],[local_31]) ).

cnf(c_0_33,plain,
    s__Class5_9 = s__Class5_1,
    inference(rw,[status(thm)],[c_0_29,c_0_30]) ).

fof(c_0_34,plain,
    ! [X9,X10,X11] :
      ( ~ s__instance(X10,s__SetOrClass)
      | ~ s__instance(X9,s__SetOrClass)
      | ~ s__subclass(X9,X10)
      | ~ s__instance(X11,X9)
      | s__instance(X11,X10) ),
    inference(shift_quantors,[status(thm)],[inference(shift_quantors,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[kb_SUMO_27])])])]) ).

cnf(c_0_35,plain,
    ( s__instance(X1,s__SetOrClass)
    | ~ s__subclass(X1,X2) ),
    inference(split_conjunct,[status(thm)],[c_0_31]) ).

cnf(c_0_36,plain,
    s__subclass(s__Lizard5_1,s__Class5_1),
    inference(split_conjunct,[status(thm)],[local_32]) ).

cnf(c_0_37,plain,
    s__subclass(s__Class5_10,s__Reptile),
    inference(split_conjunct,[status(thm)],[local_33]) ).

cnf(c_0_38,plain,
    s__Class5_10 = s__Class5_1,
    inference(rw,[status(thm)],[c_0_32,c_0_33]) ).

cnf(c_0_39,plain,
    ( s__instance(X2,s__SetOrClass)
    | ~ s__subclass(X1,X2) ),
    inference(split_conjunct,[status(thm)],[c_0_31]) ).

cnf(c_0_40,plain,
    ( s__instance(X1,X2)
    | ~ s__instance(X1,X3)
    | ~ s__subclass(X3,X2)
    | ~ s__instance(X3,s__SetOrClass)
    | ~ s__instance(X2,s__SetOrClass) ),
    inference(split_conjunct,[status(thm)],[c_0_34]) ).

cnf(c_0_41,plain,
    s__instance(s__Lizard5_1,s__SetOrClass),
    inference(spm,[status(thm)],[c_0_35,c_0_36]) ).

cnf(c_0_42,plain,
    s__subclass(s__Class5_1,s__Reptile),
    inference(rw,[status(thm)],[c_0_37,c_0_38]) ).

cnf(c_0_43,plain,
    s__instance(s__Class5_1,s__SetOrClass),
    inference(spm,[status(thm)],[c_0_39,c_0_36]) ).

cnf(c_0_44,plain,
    ( s__instance(X1,X2)
    | ~ s__subclass(s__Lizard5_1,X2)
    | ~ s__instance(X2,s__SetOrClass)
    | ~ s__instance(X1,s__Lizard5_1) ),
    inference(spm,[status(thm)],[c_0_40,c_0_41]) ).

cnf(c_0_45,plain,
    s__instance(s__Reptile,s__SetOrClass),
    inference(spm,[status(thm)],[c_0_39,c_0_42]) ).

cnf(c_0_46,plain,
    s__subclass(s__WarmBloodedVertebrate,s__Animal),
    inference(split_conjunct,[status(thm)],[kb_SUMO_18777]) ).

cnf(c_0_47,plain,
    ( s__instance(X1,X2)
    | ~ s__subclass(s__Class5_1,X2)
    | ~ s__instance(X2,s__SetOrClass)
    | ~ s__instance(X1,s__Class5_1) ),
    inference(spm,[status(thm)],[c_0_40,c_0_43]) ).

cnf(c_0_48,plain,
    ( s__instance(X1,s__Class5_1)
    | ~ s__instance(X1,s__Lizard5_1) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_44,c_0_36]),c_0_43])]) ).

cnf(c_0_49,plain,
    s__instance(s__Organism5_1,s__Lizard5_1),
    inference(split_conjunct,[status(thm)],[local_2]) ).

fof(c_0_50,negated_conjecture,
    ~ s__instance(s__Organism5_1,s__Animal),
    inference(assume_negation,[status(cth)],[prove_from_SUMO_MILO]) ).

cnf(c_0_51,plain,
    ( s__instance(X1,X2)
    | ~ s__subclass(s__Reptile,X2)
    | ~ s__instance(X2,s__SetOrClass)
    | ~ s__instance(X1,s__Reptile) ),
    inference(spm,[status(thm)],[c_0_40,c_0_45]) ).

cnf(c_0_52,plain,
    s__subclass(s__Reptile,s__Animal),
    inference(split_conjunct,[status(thm)],[kb_SUMO_9340]) ).

cnf(c_0_53,plain,
    s__instance(s__Animal,s__SetOrClass),
    inference(spm,[status(thm)],[c_0_39,c_0_46]) ).

cnf(c_0_54,plain,
    ( s__instance(X1,s__Reptile)
    | ~ s__instance(X1,s__Class5_1) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_47,c_0_42]),c_0_45])]) ).

cnf(c_0_55,plain,
    s__instance(s__Organism5_1,s__Class5_1),
    inference(spm,[status(thm)],[c_0_48,c_0_49]) ).

fof(c_0_56,negated_conjecture,
    ~ s__instance(s__Organism5_1,s__Animal),
    inference(fof_simplification,[status(thm)],[c_0_50]) ).

cnf(c_0_57,plain,
    ( s__instance(X1,s__Animal)
    | ~ s__instance(X1,s__Reptile) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_51,c_0_52]),c_0_53])]) ).

cnf(c_0_58,plain,
    s__instance(s__Organism5_1,s__Reptile),
    inference(spm,[status(thm)],[c_0_54,c_0_55]) ).

cnf(c_0_59,negated_conjecture,
    ~ s__instance(s__Organism5_1,s__Animal),
    inference(split_conjunct,[status(thm)],[c_0_56]) ).

cnf(c_0_60,plain,
    $false,
    inference(sr,[status(thm)],[inference(spm,[status(thm)],[c_0_57,c_0_58]),c_0_59]),
    [proof] ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.11  % Problem  : CSR079+2 : TPTP v8.1.0. Bugfixed v7.3.0.
% 0.07/0.12  % Command  : run_ET %s %d
% 0.13/0.33  % Computer : n022.cluster.edu
% 0.13/0.33  % Model    : x86_64 x86_64
% 0.13/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.33  % Memory   : 8042.1875MB
% 0.13/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.33  % CPULimit : 300
% 0.13/0.33  % WCLimit  : 600
% 0.13/0.33  % DateTime : Sat Jun 11 12:17:49 EDT 2022
% 0.13/0.33  % CPUTime  : 
% 6.55/29.58  eprover: CPU time limit exceeded, terminating
% 6.55/29.59  eprover: CPU time limit exceeded, terminating
% 6.55/29.60  eprover: CPU time limit exceeded, terminating
% 6.56/30.41  eprover: CPU time limit exceeded, terminating
% 6.69/52.60  eprover: CPU time limit exceeded, terminating
% 6.69/52.62  eprover: CPU time limit exceeded, terminating
% 6.70/53.20  eprover: CPU time limit exceeded, terminating
% 6.70/53.43  eprover: CPU time limit exceeded, terminating
% 6.84/75.64  eprover: CPU time limit exceeded, terminating
% 6.84/75.65  eprover: CPU time limit exceeded, terminating
% 6.84/76.23  eprover: CPU time limit exceeded, terminating
% 6.89/83.42  eprover: CPU time limit exceeded, terminating
% 6.99/98.67  eprover: CPU time limit exceeded, terminating
% 6.99/98.70  eprover: CPU time limit exceeded, terminating
% 6.99/99.77  eprover: CPU time limit exceeded, terminating
% 6.99/100.16  # Running protocol protocol_eprover_4a02c828a8cc55752123edbcc1ad40e453c11447 for 23 seconds:
% 6.99/100.16  
% 6.99/100.16  # Failure: Resource limit exceeded (time)
% 6.99/100.16  # OLD status Res
% 6.99/100.16  # SinE strategy is GSinE(CountFormulas,hypos,1.4,,04,100,1.0)
% 6.99/100.16  # Preprocessing time       : 0.465 s
% 6.99/100.16  # Running protocol protocol_eprover_f171197f65f27d1ba69648a20c844832c84a5dd7 for 23 seconds:
% 6.99/100.16  
% 6.99/100.16  # Failure: Resource limit exceeded (time)
% 6.99/100.16  # OLD status Res
% 6.99/100.16  # Preprocessing time       : 1.386 s
% 6.99/100.16  # Running protocol protocol_eprover_eb48853eb71ccd2a6fdade56c25b63f5692e1a0c for 23 seconds:
% 6.99/100.16  
% 6.99/100.16  # Failure: Resource limit exceeded (time)
% 6.99/100.16  # OLD status Res
% 6.99/100.16  # Preprocessing time       : 1.405 s
% 6.99/100.16  # Running protocol protocol_eprover_761a0d093d9701c0eed884aebb46468e8d439c31 for 23 seconds:
% 6.99/100.16  
% 6.99/100.16  # Failure: Resource limit exceeded (time)
% 6.99/100.16  # OLD status Res
% 6.99/100.16  # SinE strategy is GSinE(CountFormulas,hypos,1.2,,,100,1.0)
% 6.99/100.16  # Preprocessing time       : 0.396 s
% 6.99/100.16  # Running protocol protocol_eprover_bb5e3cecdbc7660bd3a6f864cadb7769d8aea26a for 23 seconds:
% 6.99/100.16  # SinE strategy is GSinE(CountFormulas,hypos,1.1,,,500,1.0)
% 6.99/100.16  # Preprocessing time       : 0.483 s
% 6.99/100.16  
% 6.99/100.16  # Proof found!
% 6.99/100.16  # SZS status Theorem
% 6.99/100.16  # SZS output start CNFRefutation
% See solution above
% 6.99/100.16  # Proof object total steps             : 61
% 6.99/100.16  # Proof object clause steps            : 40
% 6.99/100.16  # Proof object formula steps           : 21
% 6.99/100.16  # Proof object conjectures             : 4
% 6.99/100.16  # Proof object clause conjectures      : 1
% 6.99/100.16  # Proof object formula conjectures     : 3
% 6.99/100.16  # Proof object initial clauses used    : 18
% 6.99/100.16  # Proof object initial formulas used   : 17
% 6.99/100.16  # Proof object generating inferences   : 13
% 6.99/100.16  # Proof object simplifying inferences  : 16
% 6.99/100.16  # Training examples: 0 positive, 0 negative
% 6.99/100.16  # Parsed axioms                        : 38015
% 6.99/100.16  # Removed by relevancy pruning/SinE    : 37799
% 6.99/100.16  # Initial clauses                      : 224
% 6.99/100.16  # Removed in clause preprocessing      : 4
% 6.99/100.16  # Initial clauses in saturation        : 220
% 6.99/100.16  # Processed clauses                    : 844
% 6.99/100.16  # ...of these trivial                  : 303
% 6.99/100.16  # ...subsumed                          : 39
% 6.99/100.16  # ...remaining for further processing  : 502
% 6.99/100.16  # Other redundant clauses eliminated   : 1
% 6.99/100.16  # Clauses deleted for lack of memory   : 0
% 6.99/100.16  # Backward-subsumed                    : 0
% 6.99/100.16  # Backward-rewritten                   : 3
% 6.99/100.16  # Generated clauses                    : 1626
% 6.99/100.16  # ...of the previous two non-trivial   : 1334
% 6.99/100.16  # Contextual simplify-reflections      : 0
% 6.99/100.16  # Paramodulations                      : 1625
% 6.99/100.16  # Factorizations                       : 0
% 6.99/100.16  # Equation resolutions                 : 1
% 6.99/100.16  # Current number of processed clauses  : 498
% 6.99/100.16  #    Positive orientable unit clauses  : 264
% 6.99/100.16  #    Positive unorientable unit clauses: 0
% 6.99/100.16  #    Negative unit clauses             : 2
% 6.99/100.16  #    Non-unit-clauses                  : 232
% 6.99/100.16  # Current number of unprocessed clauses: 710
% 6.99/100.16  # ...number of literals in the above   : 1870
% 6.99/100.16  # Current number of archived formulas  : 0
% 6.99/100.16  # Current number of archived clauses   : 3
% 6.99/100.16  # Clause-clause subsumption calls (NU) : 3922
% 6.99/100.16  # Rec. Clause-clause subsumption calls : 1787
% 6.99/100.16  # Non-unit clause-clause subsumptions  : 39
% 6.99/100.16  # Unit Clause-clause subsumption calls : 366
% 6.99/100.16  # Rewrite failures with RHS unbound    : 0
% 6.99/100.16  # BW rewrite match attempts            : 5
% 6.99/100.16  # BW rewrite match successes           : 3
% 6.99/100.16  # Condensation attempts                : 0
% 6.99/100.16  # Condensation successes               : 0
% 6.99/100.16  # Termbank termtop insertions          : 272188
% 6.99/100.16  
% 6.99/100.16  # -------------------------------------------------
% 6.99/100.16  # User time                : 0.470 s
% 6.99/100.16  # System time              : 0.032 s
% 6.99/100.16  # Total time               : 0.502 s
% 6.99/100.16  # Maximum resident set size: 55412 pages
% 6.99/100.29  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p
% 6.99/100.29  eprover: No such file or directory
% 6.99/100.30  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p
% 6.99/100.30  eprover: No such file or directory
% 6.99/100.31  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p
% 6.99/100.31  eprover: No such file or directory
% 6.99/100.31  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p
% 6.99/100.31  eprover: No such file or directory
% 6.99/100.32  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p
% 6.99/100.32  eprover: No such file or directory
% 6.99/107.35  eprover: CPU time limit exceeded, terminating
% 6.99/107.37  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p
% 6.99/107.37  eprover: No such file or directory
% 6.99/107.38  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p
% 6.99/107.38  eprover: No such file or directory
% 6.99/107.39  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p
% 6.99/107.39  eprover: No such file or directory
% 6.99/121.71  eprover: CPU time limit exceeded, terminating
% 6.99/121.75  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 6.99/121.75  eprover: No such file or directory
% 6.99/121.75  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 6.99/121.75  eprover: No such file or directory
% 6.99/121.76  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 6.99/121.76  eprover: No such file or directory
% 6.99/121.77  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 6.99/121.77  eprover: No such file or directory
% 6.99/121.77  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 6.99/121.77  eprover: No such file or directory
% 6.99/121.78  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 6.99/121.78  eprover: No such file or directory
% 6.99/121.78  eprover: Cannot stat file /export/starexec/sandbox/solver/bin/../tmp/theBenchmark.p.mepo_128.in
% 6.99/121.78  eprover: No such file or directory
%------------------------------------------------------------------------------