TSTP Solution File: SWC327+1 by Enigma---0.5.1

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Enigma---0.5.1
% Problem  : SWC327+1 : TPTP v8.1.0. Released v2.4.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : enigmatic-eprover.py %s %d 1

% Computer : n016.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 : Tue Jul 19 20:15:00 EDT 2022

% Result   : Theorem 7.42s 2.35s
% Output   : CNFRefutation 7.42s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   10
%            Number of leaves      :   20
% Syntax   : Number of clauses     :   64 (  17 unt;  15 nHn;  64 RR)
%            Number of literals    :  212 ( 104 equ; 141 neg)
%            Maximal clause size   :    6 (   3 avg)
%            Maximal term depth    :    4 (   1 avg)
%            Number of predicates  :    5 (   3 usr;   1 prp; 0-2 aty)
%            Number of functors    :   11 (  11 usr;   6 con; 0-2 aty)
%            Number of variables   :   57 (   0 sgn)

% Comments : 
%------------------------------------------------------------------------------
cnf(i_0_203,negated_conjecture,
    equalelemsP(esk50_0),
    file('/export/starexec/sandbox2/tmp/enigma-theBenchmark.p-73y53vc4/input.p',i_0_203) ).

cnf(i_0_206,negated_conjecture,
    esk50_0 = esk48_0,
    file('/export/starexec/sandbox2/tmp/enigma-theBenchmark.p-73y53vc4/input.p',i_0_206) ).

cnf(i_0_202,negated_conjecture,
    ( app(X1,cons(X2,nil)) != esk50_0
    | app(cons(X2,nil),X3) != esk52_0
    | ~ ssList(X1)
    | ~ ssList(X3)
    | ~ ssItem(X2) ),
    file('/export/starexec/sandbox2/tmp/enigma-theBenchmark.p-73y53vc4/input.p',i_0_202) ).

cnf(i_0_192,negated_conjecture,
    ( nil = esk48_0
    | app(esk55_1(X1),cons(esk53_1(X1),nil)) = esk48_0
    | app(esk48_0,X1) != esk49_0
    | ~ ssList(X1)
    | ~ equalelemsP(esk48_0) ),
    file('/export/starexec/sandbox2/tmp/enigma-theBenchmark.p-73y53vc4/input.p',i_0_192) ).

cnf(i_0_194,negated_conjecture,
    ( nil = esk48_0
    | ssList(esk55_1(X1))
    | app(esk48_0,X1) != esk49_0
    | ~ ssList(X1)
    | ~ equalelemsP(esk48_0) ),
    file('/export/starexec/sandbox2/tmp/enigma-theBenchmark.p-73y53vc4/input.p',i_0_194) ).

cnf(i_0_200,negated_conjecture,
    ( nil = esk48_0
    | ssItem(esk53_1(X1))
    | app(esk48_0,X1) != esk49_0
    | ~ ssList(X1)
    | ~ equalelemsP(esk48_0) ),
    file('/export/starexec/sandbox2/tmp/enigma-theBenchmark.p-73y53vc4/input.p',i_0_200) ).

cnf(i_0_191,negated_conjecture,
    ( app(esk55_1(X1),cons(esk53_1(X1),nil)) = esk48_0
    | nil != esk49_0
    | app(esk48_0,X1) != esk49_0
    | ~ ssList(X1)
    | ~ equalelemsP(esk48_0) ),
    file('/export/starexec/sandbox2/tmp/enigma-theBenchmark.p-73y53vc4/input.p',i_0_191) ).

cnf(i_0_201,negated_conjecture,
    ( nil = esk51_0
    | esk50_0 != nil ),
    file('/export/starexec/sandbox2/tmp/enigma-theBenchmark.p-73y53vc4/input.p',i_0_201) ).

cnf(i_0_207,negated_conjecture,
    esk49_0 = esk51_0,
    file('/export/starexec/sandbox2/tmp/enigma-theBenchmark.p-73y53vc4/input.p',i_0_207) ).

cnf(i_0_196,negated_conjecture,
    ( nil = esk48_0
    | app(cons(esk53_1(X1),nil),esk54_1(X1)) = X1
    | app(esk48_0,X1) != esk49_0
    | ~ ssList(X1)
    | ~ equalelemsP(esk48_0) ),
    file('/export/starexec/sandbox2/tmp/enigma-theBenchmark.p-73y53vc4/input.p',i_0_196) ).

cnf(i_0_198,negated_conjecture,
    ( nil = esk48_0
    | ssList(esk54_1(X1))
    | app(esk48_0,X1) != esk49_0
    | ~ ssList(X1)
    | ~ equalelemsP(esk48_0) ),
    file('/export/starexec/sandbox2/tmp/enigma-theBenchmark.p-73y53vc4/input.p',i_0_198) ).

cnf(i_0_158,plain,
    ( nil = X1
    | app(X2,X1) != nil
    | ~ ssList(X2)
    | ~ ssList(X1) ),
    file('/export/starexec/sandbox2/tmp/enigma-theBenchmark.p-73y53vc4/input.p',i_0_158) ).

cnf(i_0_204,negated_conjecture,
    app(esk50_0,esk52_0) = esk51_0,
    file('/export/starexec/sandbox2/tmp/enigma-theBenchmark.p-73y53vc4/input.p',i_0_204) ).

cnf(i_0_43,plain,
    ( ssList(cons(X1,X2))
    | ~ ssList(X2)
    | ~ ssItem(X1) ),
    file('/export/starexec/sandbox2/tmp/enigma-theBenchmark.p-73y53vc4/input.p',i_0_43) ).

cnf(i_0_44,plain,
    ssList(nil),
    file('/export/starexec/sandbox2/tmp/enigma-theBenchmark.p-73y53vc4/input.p',i_0_44) ).

cnf(i_0_205,negated_conjecture,
    ssList(esk52_0),
    file('/export/starexec/sandbox2/tmp/enigma-theBenchmark.p-73y53vc4/input.p',i_0_205) ).

cnf(i_0_53,plain,
    ( cons(X1,X2) != nil
    | ~ ssList(X2)
    | ~ ssItem(X1) ),
    file('/export/starexec/sandbox2/tmp/enigma-theBenchmark.p-73y53vc4/input.p',i_0_53) ).

cnf(i_0_199,negated_conjecture,
    ( ssItem(esk53_1(X1))
    | nil != esk49_0
    | app(esk48_0,X1) != esk49_0
    | ~ ssList(X1)
    | ~ equalelemsP(esk48_0) ),
    file('/export/starexec/sandbox2/tmp/enigma-theBenchmark.p-73y53vc4/input.p',i_0_199) ).

cnf(i_0_193,negated_conjecture,
    ( ssList(esk55_1(X1))
    | nil != esk49_0
    | app(esk48_0,X1) != esk49_0
    | ~ ssList(X1)
    | ~ equalelemsP(esk48_0) ),
    file('/export/starexec/sandbox2/tmp/enigma-theBenchmark.p-73y53vc4/input.p',i_0_193) ).

cnf(i_0_159,plain,
    ( app(X1,nil) = X1
    | ~ ssList(X1) ),
    file('/export/starexec/sandbox2/tmp/enigma-theBenchmark.p-73y53vc4/input.p',i_0_159) ).

cnf(c_0_228,negated_conjecture,
    equalelemsP(esk50_0),
    i_0_203 ).

cnf(c_0_229,negated_conjecture,
    esk50_0 = esk48_0,
    i_0_206 ).

cnf(c_0_230,negated_conjecture,
    ( app(X1,cons(X2,nil)) != esk50_0
    | app(cons(X2,nil),X3) != esk52_0
    | ~ ssList(X1)
    | ~ ssList(X3)
    | ~ ssItem(X2) ),
    i_0_202 ).

cnf(c_0_231,negated_conjecture,
    ( nil = esk48_0
    | app(esk55_1(X1),cons(esk53_1(X1),nil)) = esk48_0
    | app(esk48_0,X1) != esk49_0
    | ~ ssList(X1)
    | ~ equalelemsP(esk48_0) ),
    i_0_192 ).

cnf(c_0_232,negated_conjecture,
    equalelemsP(esk48_0),
    inference(rw,[status(thm)],[c_0_228,c_0_229]) ).

cnf(c_0_233,negated_conjecture,
    ( nil = esk48_0
    | ssList(esk55_1(X1))
    | app(esk48_0,X1) != esk49_0
    | ~ ssList(X1)
    | ~ equalelemsP(esk48_0) ),
    i_0_194 ).

cnf(c_0_234,negated_conjecture,
    ( nil = esk48_0
    | ssItem(esk53_1(X1))
    | app(esk48_0,X1) != esk49_0
    | ~ ssList(X1)
    | ~ equalelemsP(esk48_0) ),
    i_0_200 ).

cnf(c_0_235,negated_conjecture,
    ( app(esk55_1(X1),cons(esk53_1(X1),nil)) = esk48_0
    | nil != esk49_0
    | app(esk48_0,X1) != esk49_0
    | ~ ssList(X1)
    | ~ equalelemsP(esk48_0) ),
    i_0_191 ).

cnf(c_0_236,negated_conjecture,
    ( nil = esk51_0
    | esk50_0 != nil ),
    i_0_201 ).

cnf(c_0_237,negated_conjecture,
    esk49_0 = esk51_0,
    i_0_207 ).

cnf(c_0_238,negated_conjecture,
    ( app(X1,cons(X2,nil)) != esk48_0
    | app(cons(X2,nil),X3) != esk52_0
    | ~ ssItem(X2)
    | ~ ssList(X3)
    | ~ ssList(X1) ),
    inference(rw,[status(thm)],[c_0_230,c_0_229]) ).

cnf(c_0_239,negated_conjecture,
    ( app(esk55_1(X1),cons(esk53_1(X1),nil)) = esk48_0
    | esk48_0 = nil
    | app(esk48_0,X1) != esk49_0
    | ~ ssList(X1) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_231,c_0_232])]) ).

cnf(c_0_240,negated_conjecture,
    ( esk48_0 = nil
    | ssList(esk55_1(X1))
    | app(esk48_0,X1) != esk49_0
    | ~ ssList(X1) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_233,c_0_232])]) ).

cnf(c_0_241,negated_conjecture,
    ( esk48_0 = nil
    | ssItem(esk53_1(X1))
    | app(esk48_0,X1) != esk49_0
    | ~ ssList(X1) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_234,c_0_232])]) ).

cnf(c_0_242,negated_conjecture,
    ( nil = esk48_0
    | app(cons(esk53_1(X1),nil),esk54_1(X1)) = X1
    | app(esk48_0,X1) != esk49_0
    | ~ ssList(X1)
    | ~ equalelemsP(esk48_0) ),
    i_0_196 ).

cnf(c_0_243,negated_conjecture,
    ( nil = esk48_0
    | ssList(esk54_1(X1))
    | app(esk48_0,X1) != esk49_0
    | ~ ssList(X1)
    | ~ equalelemsP(esk48_0) ),
    i_0_198 ).

cnf(c_0_244,plain,
    ( nil = X1
    | app(X2,X1) != nil
    | ~ ssList(X2)
    | ~ ssList(X1) ),
    i_0_158 ).

cnf(c_0_245,negated_conjecture,
    ( app(esk55_1(X1),cons(esk53_1(X1),nil)) = esk48_0
    | app(esk48_0,X1) != esk49_0
    | esk49_0 != nil
    | ~ ssList(X1) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_235,c_0_232])]) ).

cnf(c_0_246,negated_conjecture,
    ( esk49_0 = nil
    | esk48_0 != nil ),
    inference(rw,[status(thm)],[inference(rw,[status(thm)],[c_0_236,c_0_237]),c_0_229]) ).

cnf(c_0_247,negated_conjecture,
    ( esk48_0 = nil
    | app(cons(esk53_1(X1),nil),X2) != esk52_0
    | app(esk48_0,X1) != esk49_0
    | ~ ssList(X2)
    | ~ ssList(X1) ),
    inference(csr,[status(thm)],[inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_238,c_0_239]),c_0_240]),c_0_241]) ).

cnf(c_0_248,negated_conjecture,
    ( app(cons(esk53_1(X1),nil),esk54_1(X1)) = X1
    | esk48_0 = nil
    | app(esk48_0,X1) != esk49_0
    | ~ ssList(X1) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_242,c_0_232])]) ).

cnf(c_0_249,negated_conjecture,
    ( esk48_0 = nil
    | ssList(esk54_1(X1))
    | app(esk48_0,X1) != esk49_0
    | ~ ssList(X1) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_243,c_0_232])]) ).

cnf(c_0_250,negated_conjecture,
    app(esk50_0,esk52_0) = esk51_0,
    i_0_204 ).

cnf(c_0_251,negated_conjecture,
    ( cons(esk53_1(X1),nil) = nil
    | app(esk48_0,X1) != esk49_0
    | esk48_0 != nil
    | ~ ssList(cons(esk53_1(X1),nil))
    | ~ ssList(esk55_1(X1))
    | ~ ssList(X1) ),
    inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_244,c_0_245]),c_0_246]) ).

cnf(c_0_252,plain,
    ( ssList(cons(X1,X2))
    | ~ ssList(X2)
    | ~ ssItem(X1) ),
    i_0_43 ).

cnf(c_0_253,plain,
    ssList(nil),
    i_0_44 ).

cnf(c_0_254,negated_conjecture,
    ( esk48_0 = nil
    | app(esk48_0,X1) != esk49_0
    | X1 != esk52_0
    | ~ ssList(X1) ),
    inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_247,c_0_248]),c_0_249]) ).

cnf(c_0_255,negated_conjecture,
    app(esk48_0,esk52_0) = esk49_0,
    inference(rw,[status(thm)],[inference(rw,[status(thm)],[c_0_250,c_0_229]),c_0_237]) ).

cnf(c_0_256,negated_conjecture,
    ssList(esk52_0),
    i_0_205 ).

cnf(c_0_257,plain,
    ( cons(X1,X2) != nil
    | ~ ssList(X2)
    | ~ ssItem(X1) ),
    i_0_53 ).

cnf(c_0_258,plain,
    ( cons(esk53_1(X1),nil) = nil
    | app(esk48_0,X1) != esk49_0
    | esk48_0 != nil
    | ~ ssItem(esk53_1(X1))
    | ~ ssList(esk55_1(X1))
    | ~ ssList(X1) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_251,c_0_252]),c_0_253])]) ).

cnf(c_0_259,negated_conjecture,
    esk48_0 = nil,
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_254,c_0_255]),c_0_256])]) ).

cnf(c_0_260,negated_conjecture,
    ( ssItem(esk53_1(X1))
    | nil != esk49_0
    | app(esk48_0,X1) != esk49_0
    | ~ ssList(X1)
    | ~ equalelemsP(esk48_0) ),
    i_0_199 ).

cnf(c_0_261,negated_conjecture,
    ( ssList(esk55_1(X1))
    | nil != esk49_0
    | app(esk48_0,X1) != esk49_0
    | ~ ssList(X1)
    | ~ equalelemsP(esk48_0) ),
    i_0_193 ).

cnf(c_0_262,plain,
    ( app(esk48_0,X1) != esk49_0
    | esk48_0 != nil
    | ~ ssItem(esk53_1(X1))
    | ~ ssList(esk55_1(X1))
    | ~ ssList(X1) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_257,c_0_258]),c_0_253])]) ).

cnf(c_0_263,negated_conjecture,
    esk49_0 = nil,
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_246,c_0_259])]) ).

cnf(c_0_264,negated_conjecture,
    ( ssItem(esk53_1(X1))
    | app(esk48_0,X1) != esk49_0
    | esk49_0 != nil
    | ~ ssList(X1) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_260,c_0_232])]) ).

cnf(c_0_265,negated_conjecture,
    ( ssList(esk55_1(X1))
    | app(esk48_0,X1) != esk49_0
    | esk49_0 != nil
    | ~ ssList(X1) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_261,c_0_232])]) ).

cnf(c_0_266,plain,
    ( app(nil,X1) != nil
    | ~ ssItem(esk53_1(X1))
    | ~ ssList(esk55_1(X1))
    | ~ ssList(X1) ),
    inference(rw,[status(thm)],[inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[c_0_262,c_0_259]),c_0_259])]),c_0_263]) ).

cnf(c_0_267,negated_conjecture,
    ( ssItem(esk53_1(X1))
    | app(nil,X1) != nil
    | ~ ssList(X1) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[c_0_264,c_0_259]),c_0_263]),c_0_263])]) ).

cnf(c_0_268,negated_conjecture,
    ( ssList(esk55_1(X1))
    | app(nil,X1) != nil
    | ~ ssList(X1) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[c_0_265,c_0_259]),c_0_263]),c_0_263])]) ).

cnf(c_0_269,plain,
    ( app(nil,X1) != nil
    | ~ ssList(X1) ),
    inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_266,c_0_267]),c_0_268]) ).

cnf(c_0_270,plain,
    ( app(X1,nil) = X1
    | ~ ssList(X1) ),
    i_0_159 ).

cnf(c_0_271,plain,
    $false,
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_269,c_0_270]),c_0_253])]),
    [proof] ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12  % Problem  : SWC327+1 : TPTP v8.1.0. Released v2.4.0.
% 0.00/0.12  % Command  : enigmatic-eprover.py %s %d 1
% 0.12/0.33  % Computer : n016.cluster.edu
% 0.12/0.33  % Model    : x86_64 x86_64
% 0.12/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.33  % Memory   : 8042.1875MB
% 0.12/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.12/0.33  % CPULimit : 300
% 0.12/0.33  % WCLimit  : 600
% 0.12/0.33  % DateTime : Sun Jun 12 00:52:59 EDT 2022
% 0.12/0.33  % CPUTime  : 
% 0.18/0.44  # ENIGMATIC: Selected SinE mode:
% 0.18/0.45  # Parsing /export/starexec/sandbox2/benchmark/theBenchmark.p
% 0.18/0.45  # Filter: axfilter_auto   0 goes into file theBenchmark_axfilter_auto   0.p
% 0.18/0.45  # Filter: axfilter_auto   1 goes into file theBenchmark_axfilter_auto   1.p
% 0.18/0.45  # Filter: axfilter_auto   2 goes into file theBenchmark_axfilter_auto   2.p
% 7.42/2.35  # ENIGMATIC: Solved by G_E___302_C18_F1_URBAN_S5PRR_S0Y:
% 7.42/2.35  # Version: 2.1pre011
% 7.42/2.35  # Preprocessing time       : 0.015 s
% 7.42/2.35  
% 7.42/2.35  # Proof found!
% 7.42/2.35  # SZS status Theorem
% 7.42/2.35  # SZS output start CNFRefutation
% See solution above
% 7.42/2.35  # Proof object total steps             : 64
% 7.42/2.35  # Proof object clause steps            : 44
% 7.42/2.35  # Proof object formula steps           : 20
% 7.42/2.35  # Proof object conjectures             : 49
% 7.42/2.35  # Proof object clause conjectures      : 34
% 7.42/2.35  # Proof object formula conjectures     : 15
% 7.42/2.35  # Proof object initial clauses used    : 20
% 7.42/2.35  # Proof object initial formulas used   : 20
% 7.42/2.35  # Proof object generating inferences   : 8
% 7.42/2.35  # Proof object simplifying inferences  : 49
% 7.42/2.35  # Training examples: 0 positive, 0 negative
% 7.42/2.35  # Parsed axioms                        : 209
% 7.42/2.35  # Removed by relevancy pruning/SinE    : 0
% 7.42/2.35  # Initial clauses                      : 209
% 7.42/2.35  # Removed in clause preprocessing      : 0
% 7.42/2.35  # Initial clauses in saturation        : 209
% 7.42/2.35  # Processed clauses                    : 277
% 7.42/2.35  # ...of these trivial                  : 5
% 7.42/2.35  # ...subsumed                          : 21
% 7.42/2.35  # ...remaining for further processing  : 251
% 7.42/2.35  # Other redundant clauses eliminated   : 88
% 7.42/2.35  # Clauses deleted for lack of memory   : 0
% 7.42/2.35  # Backward-subsumed                    : 6
% 7.42/2.35  # Backward-rewritten                   : 37
% 7.42/2.35  # Generated clauses                    : 1220
% 7.42/2.35  # ...of the previous two non-trivial   : 1031
% 7.42/2.35  # Contextual simplify-reflections      : 26
% 7.42/2.35  # Paramodulations                      : 1114
% 7.42/2.35  # Factorizations                       : 0
% 7.42/2.35  # Equation resolutions                 : 106
% 7.42/2.35  # Propositional unsat checks           : 0
% 7.42/2.35  # Propositional unsat check successes  : 0
% 7.42/2.35  # Current number of processed clauses  : 202
% 7.42/2.35  #    Positive orientable unit clauses  : 16
% 7.42/2.35  #    Positive unorientable unit clauses: 0
% 7.42/2.35  #    Negative unit clauses             : 2
% 7.42/2.35  #    Non-unit-clauses                  : 184
% 7.42/2.35  # Current number of unprocessed clauses: 750
% 7.42/2.35  # ...number of literals in the above   : 5571
% 7.42/2.35  # Current number of archived formulas  : 0
% 7.42/2.35  # Current number of archived clauses   : 43
% 7.42/2.35  # Clause-clause subsumption calls (NU) : 10734
% 7.42/2.35  # Rec. Clause-clause subsumption calls : 2587
% 7.42/2.35  # Non-unit clause-clause subsumptions  : 53
% 7.42/2.35  # Unit Clause-clause subsumption calls : 190
% 7.42/2.35  # Rewrite failures with RHS unbound    : 0
% 7.42/2.35  # BW rewrite match attempts            : 3
% 7.42/2.35  # BW rewrite match successes           : 3
% 7.42/2.35  # Condensation attempts                : 0
% 7.42/2.35  # Condensation successes               : 0
% 7.42/2.35  # Termbank termtop insertions          : 29716
% 7.42/2.35  
% 7.42/2.35  # -------------------------------------------------
% 7.42/2.35  # User time                : 0.039 s
% 7.42/2.35  # System time              : 0.004 s
% 7.42/2.35  # Total time               : 0.043 s
% 7.42/2.35  # ...preprocessing         : 0.015 s
% 7.42/2.35  # ...main loop             : 0.028 s
% 7.42/2.35  # Maximum resident set size: 7128 pages
% 7.42/2.35  
%------------------------------------------------------------------------------