↑ Up

E---3.5.1.SAT-Sat.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : E---3.5.1
% Problem  : SYN494-1 : TPTP v9.3.1. Released v2.1.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_E /export/starexec/sandbox/benchmark/theBenchmark.p 300 THM

% Computer : n012.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 03:25:07 PM UTC 2026

% Result   : Satisfiable 0.04s 10.36s
% Output   : Saturation 0.04s
% Verified : 
% SZS Type : ERROR: Analysing output (Could not find formula named c_0_86ERROR: Could not build tree for root c_0_143ERROR: MakeTreeStats fails)

% Comments : 
%------------------------------------------------------------------------------
cnf(c_0_52,negated_conjecture,
    ( hskp2
    | hskp9
    | hskp8 ),
    clause13,
    [final] ).

cnf(c_0_56,negated_conjecture,
    ndr1_0,
    inference(csr,[status(thm)],[inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_51,c_0_52]),c_0_53]),c_0_54]),
    [final] ).

cnf(c_0_63,negated_conjecture,
    ( ~ c2_1(X2)
    | ~ c1_1(X1)
    | ~ c1_1(X2)
    | hskp0
    | c0_1(X1)
    | c3_1(X2)
    | c3_1(X1) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_55,c_0_56])]),
    [final] ).

cnf(c_0_64,negated_conjecture,
    ( ~ hskp1
    | c1_1(a53) ),
    c_0_57,
    [final] ).

cnf(c_0_65,negated_conjecture,
    ( ~ hskp1
    | ~ c3_1(a53) ),
    c_0_58,
    [final] ).

cnf(c_0_80,negated_conjecture,
    ( ~ hskp1
    | ~ c0_1(a53) ),
    c_0_62,
    [final] ).

cnf(c_0_82,negated_conjecture,
    ( ~ c1_1(X1)
    | hskp11
    | hskp10
    | c2_1(X1)
    | c0_1(X1) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_66,c_0_56])]),
    [final] ).

cnf(c_0_83,negated_conjecture,
    ( ~ hskp5
    | c1_1(a52) ),
    c_0_67,
    [final] ).

cnf(c_0_84,negated_conjecture,
    ( ~ hskp5
    | c2_1(a52) ),
    c_0_68,
    [final] ).

cnf(c_0_85,negated_conjecture,
    ( ~ hskp5
    | ~ c3_1(a52) ),
    c_0_69,
    [final] ).

cnf(c_0_91,negated_conjecture,
    ( ~ c2_1(X1)
    | ~ c3_1(X2)
    | ~ c1_1(X2)
    | hskp3
    | c2_1(X2)
    | c3_1(X1)
    | c1_1(X1) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_72,c_0_56])]),
    [final] ).

cnf(c_0_92,negated_conjecture,
    ( ~ hskp4
    | c1_1(a51) ),
    c_0_73,
    [final] ).

cnf(c_0_93,negated_conjecture,
    ( ~ hskp4
    | ~ c2_1(a51) ),
    c_0_74,
    [final] ).

cnf(c_0_94,negated_conjecture,
    ( ~ hskp2
    | c1_1(a58) ),
    c_0_75,
    [final] ).

cnf(c_0_95,negated_conjecture,
    ( ~ hskp2
    | c3_1(a58) ),
    c_0_76,
    [final] ).

cnf(c_0_96,negated_conjecture,
    ( ~ c2_1(X2)
    | ~ c3_1(X2)
    | hskp4
    | c2_1(X1)
    | c0_1(X1)
    | c0_1(X2)
    | c1_1(X1) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_77,c_0_56])]),
    [final] ).

cnf(c_0_97,negated_conjecture,
    ( ~ hskp0
    | c3_1(a49) ),
    c_0_78,
    [final] ).

cnf(c_0_98,negated_conjecture,
    ( ~ hskp0
    | c2_1(a49) ),
    c_0_79,
    [final] ).

cnf(c_0_99,negated_conjecture,
    ( ~ hskp1
    | ~ c2_1(a53)
    | hskp0 ),
    inference(csr,[status(thm)],[inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_80,c_0_81]),c_0_64]),c_0_65]),
    [final] ).

cnf(c_0_100,negated_conjecture,
    ( ~ hskp1
    | hskp11
    | hskp10
    | c2_1(a53) ),
    inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_80,c_0_82]),c_0_64]),
    [final] ).

cnf(c_0_101,negated_conjecture,
    ( ~ hskp5
    | ~ c1_1(X1)
    | hskp0
    | c0_1(X1)
    | c3_1(X1) ),
    inference(csr,[status(thm)],[inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_63,c_0_83]),c_0_84]),c_0_85]),
    [final] ).

cnf(c_0_111,negated_conjecture,
    ( ~ c2_1(X3)
    | ~ c0_1(X3)
    | ~ c3_1(X3)
    | ~ c1_1(X2)
    | c2_1(X1)
    | c2_1(X2)
    | c0_1(X1)
    | c0_1(X2)
    | c3_1(X1) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_86,c_0_56])]),
    [final] ).

cnf(c_0_112,negated_conjecture,
    ( ~ c3_1(X1)
    | ~ c1_1(X1)
    | hskp7
    | hskp6
    | c0_1(X1) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_87,c_0_56])]),
    [final] ).

cnf(c_0_113,negated_conjecture,
    ( ~ hskp11
    | c0_1(a60) ),
    c_0_88,
    [final] ).

cnf(c_0_114,negated_conjecture,
    ( ~ hskp11
    | c2_1(a60) ),
    c_0_89,
    [final] ).

cnf(c_0_115,negated_conjecture,
    ( ~ hskp11
    | c3_1(a60) ),
    c_0_90,
    [final] ).

cnf(c_0_116,negated_conjecture,
    ( ~ hskp4
    | ~ c2_1(X1)
    | ~ c3_1(a51)
    | hskp3
    | c3_1(X1)
    | c1_1(X1) ),
    inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_91,c_0_92]),c_0_93]),
    [final] ).

cnf(c_0_117,negated_conjecture,
    ( ~ hskp2
    | ~ c2_1(X1)
    | hskp3
    | c2_1(a58)
    | c3_1(X1)
    | c1_1(X1) ),
    inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_91,c_0_94]),c_0_95]),
    [final] ).

cnf(c_0_118,negated_conjecture,
    ( ~ hskp0
    | hskp4
    | c2_1(X1)
    | c0_1(X1)
    | c0_1(a49)
    | c1_1(X1) ),
    inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_96,c_0_97]),c_0_98]),
    [final] ).

cnf(c_0_119,negated_conjecture,
    ( ~ hskp1
    | hskp11
    | hskp10
    | hskp0 ),
    inference(spm,[status(thm)],[c_0_99,c_0_100]),
    [final] ).

cnf(c_0_120,negated_conjecture,
    ( ~ hskp5
    | ~ hskp1
    | hskp0 ),
    inference(csr,[status(thm)],[inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_80,c_0_101]),c_0_64]),c_0_65]),
    [final] ).

cnf(c_0_121,negated_conjecture,
    ( ~ hskp10
    | c3_1(a59) ),
    c_0_102,
    [final] ).

cnf(c_0_122,negated_conjecture,
    ( ~ hskp10
    | c2_1(a59) ),
    c_0_103,
    [final] ).

cnf(c_0_123,negated_conjecture,
    ( ~ hskp8
    | c3_1(a56) ),
    c_0_104,
    [final] ).

cnf(c_0_124,negated_conjecture,
    ( ~ hskp8
    | c2_1(a56) ),
    c_0_105,
    [final] ).

cnf(c_0_125,negated_conjecture,
    ( ~ hskp8
    | ~ c0_1(a56) ),
    c_0_106,
    [final] ).

cnf(c_0_126,negated_conjecture,
    ( ~ hskp7
    | c3_1(a55) ),
    c_0_107,
    [final] ).

cnf(c_0_127,negated_conjecture,
    ( ~ hskp7
    | c2_1(a55) ),
    c_0_108,
    [final] ).

cnf(c_0_128,negated_conjecture,
    ( ~ hskp2
    | ~ c0_1(a58) ),
    c_0_109,
    [final] ).

cnf(c_0_143,negated_conjecture,
    ( ~ c2_1(X3)
    | ~ c3_1(X3)
    | ~ c1_1(X3)
    | ~ c1_1(X2)
    | hskp7
    | hskp6
    | c2_1(X2)
    | c2_1(X1)
    | c0_1(X2)
    | c0_1(X1)
    | c3_1(X1) ),
    inference(spm,[status(thm)],[c_0_111,c_0_112]),
    [final] ).

cnf(c_0_144,negated_conjecture,
    ( ~ hskp11
    | ~ c1_1(X2)
    | c2_1(X2)
    | c2_1(X1)
    | c0_1(X2)
    | c0_1(X1)
    | c3_1(X1) ),
    inference(csr,[status(thm)],[inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_111,c_0_113]),c_0_114]),c_0_115]),
    [final] ).

cnf(c_0_145,negated_conjecture,
    ( ~ hskp4
    | ~ c2_1(X1)
    | ~ c3_1(a51)
    | ~ c1_1(X2)
    | hskp3
    | hskp0
    | c0_1(X2)
    | c3_1(X2)
    | c3_1(X1) ),
    inference(spm,[status(thm)],[c_0_63,c_0_116]),
    [final] ).

cnf(c_0_146,negated_conjecture,
    ( ~ hskp2
    | ~ c2_1(X1)
    | ~ c1_1(X2)
    | hskp3
    | hskp0
    | c2_1(a58)
    | c0_1(X2)
    | c3_1(X2)
    | c3_1(X1) ),
    inference(spm,[status(thm)],[c_0_63,c_0_117]),
    [final] ).

cnf(c_0_147,negated_conjecture,
    ( ~ hskp1
    | hskp11
    | hskp10
    | hskp4
    | c2_1(X1)
    | c0_1(X1)
    | c0_1(a49) ),
    inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_118,c_0_119]),c_0_82]),
    [final] ).

cnf(c_0_148,negated_conjecture,
    ( ~ hskp5
    | ~ hskp1
    | hskp4
    | c2_1(X1)
    | c0_1(X1)
    | c0_1(a49)
    | c1_1(X1) ),
    inference(spm,[status(thm)],[c_0_118,c_0_120]),
    [final] ).

cnf(c_0_149,negated_conjecture,
    ( ~ hskp10
    | hskp4
    | c2_1(X1)
    | c0_1(X1)
    | c0_1(a59)
    | c1_1(X1) ),
    inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_96,c_0_121]),c_0_122]),
    [final] ).

cnf(c_0_150,negated_conjecture,
    ( ~ hskp8
    | hskp4
    | c2_1(X1)
    | c0_1(X1)
    | c1_1(X1) ),
    inference(csr,[status(thm)],[inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_96,c_0_123]),c_0_124]),c_0_125]),
    [final] ).

cnf(c_0_151,negated_conjecture,
    ( ~ hskp7
    | hskp4
    | c2_1(X1)
    | c0_1(X1)
    | c0_1(a55)
    | c1_1(X1) ),
    inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_96,c_0_126]),c_0_127]),
    [final] ).

cnf(c_0_152,negated_conjecture,
    ( ~ hskp2
    | ~ c2_1(a58)
    | hskp4
    | c2_1(X1)
    | c0_1(X1)
    | c1_1(X1) ),
    inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_96,c_0_95]),c_0_128]),
    [final] ).

cnf(c_0_153,negated_conjecture,
    ( ~ hskp8
    | ~ c1_1(a56)
    | hskp7
    | hskp6 ),
    inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_125,c_0_112]),c_0_123]),
    [final] ).

cnf(c_0_154,negated_conjecture,
    ( ~ hskp2
    | hskp7
    | hskp6 ),
    inference(csr,[status(thm)],[inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_128,c_0_112]),c_0_95]),c_0_94]),
    [final] ).

cnf(c_0_155,negated_conjecture,
    ( ~ c2_1(X1)
    | hskp5
    | hskp1
    | c0_1(X1)
    | c3_1(X1) ),
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_129,c_0_56])]),
    [final] ).

cnf(c_0_156,negated_conjecture,
    ( ~ hskp2
    | hskp11
    | hskp10
    | c2_1(a58) ),
    inference(csr,[status(thm)],[inference(spm,[status(thm)],[c_0_128,c_0_82]),c_0_94]),
    [final] ).

cnf(c_0_157,negated_conjecture,
    ( ~ hskp0
    | ~ c1_1(a49) ),
    c_0_130,
    [final] ).

cnf(c_0_158,negated_conjecture,
    ( ~ hskp3
    | ~ c2_1(a50) ),
    c_0_131,
    [final] ).

cnf(c_0_159,negated_conjecture,
    ( ~ hskp6
    | ~ c3_1(a54) ),
    c_0_132,
    [final] ).

cnf(c_0_160,negated_conjecture,
    ( ~ hskp6
    | ~ c2_1(a54) ),
    c_0_133,
    [final] ).

cnf(c_0_161,negated_conjecture,
    ( ~ hskp7
    | ~ c1_1(a55) ),
    c_0_134,
    [final] ).

cnf(c_0_162,negated_conjecture,
    ( ~ hskp9
    | ~ c1_1(a57) ),
    c_0_135,
    [final] ).

cnf(c_0_163,negated_conjecture,
    ( ~ hskp9
    | ~ c2_1(a57) ),
    c_0_136,
    [final] ).

cnf(c_0_164,negated_conjecture,
    ( ~ hskp10
    | ~ c1_1(a59) ),
    c_0_137,
    [final] ).

cnf(c_0_165,negated_conjecture,
    ( ~ hskp3
    | c1_1(a50) ),
    c_0_138,
    [final] ).

cnf(c_0_166,negated_conjecture,
    ( ~ hskp6
    | c1_1(a54) ),
    c_0_139,
    [final] ).

cnf(c_0_167,negated_conjecture,
    ( ~ hskp9
    | c3_1(a57) ),
    c_0_140,
    [final] ).

cnf(c_0_168,negated_conjecture,
    ( ~ hskp3
    | c0_1(a50) ),
    c_0_141,
    [final] ).

cnf(c_0_169,negated_conjecture,
    ( ~ hskp4
    | c0_1(a51) ),
    c_0_142,
    [final] ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.01  % Problem  : SYN494-1 : TPTP v9.3.1. Released v2.1.0.
% 0.00/0.02  % Command  : run_E /export/starexec/sandbox/benchmark/theBenchmark.p 300 THM
% 0.04/10.32  % Computer : n012.cluster.edu
% 0.04/10.32  % Model    : x86_64 x86_64
% 0.04/10.32  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.04/10.32  % Memory   : 8046.5625MB
% 0.04/10.32  % OS       : Linux 6.8.0-71-generic
% 0.04/10.32  % CPULimit : 300
% 0.04/10.32  % WCLimit  : 300
% 0.04/10.32  % DateTime : Mon Sep 21 11:02:49 UTC 2026
% 0.04/10.33  % CPUTime  : 
% 0.04/10.33  Running run_E /export/starexec/sandbox/benchmark/theBenchmark.p 300 THM
% 0.04/10.35  Running first-order theorem proving
% 0.04/10.35  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.04/10.36  % Version: 3.5.1
% 0.04/10.36  % Preprocessing class: FSMSSLSMSSSNFFN.
% 0.04/10.36  % Scheduled 4 strats onto 8 cores with 300 seconds (2400 total)
% 0.04/10.36  % Starting SAT001_MinMin_p005000_rr_RG with 1500s (5) cores
% 0.04/10.36  % Starting new_bool_3 with 300s (1) cores
% 0.04/10.36  % Starting new_bool_1 with 300s (1) cores
% 0.04/10.36  % Starting sh5l with 300s (1) cores
% 0.04/10.36  % new_bool_3 with pid 2224757 completed with status 1
% 0.04/10.36  % Result found by new_bool_3
% 0.04/10.36  % Preprocessing class: FSMSSLSMSSSNFFN.
% 0.04/10.36  % Scheduled 4 strats onto 8 cores with 300 seconds (2400 total)
% 0.04/10.36  % Starting SAT001_MinMin_p005000_rr_RG with 1500s (5) cores
% 0.04/10.36  % Starting new_bool_3 with 300s (1) cores
% 0.04/10.36  % (lift_lambdas = 0, lambda_to_forall = 0,unroll_only_formulas = 0, sine = GSinE(CountFormulas,hypos,1.5,,3,20000,1.0))
% 0.04/10.36  % SinE strategy is GSinE(CountFormulas,hypos,1.5,,3,20000,1.0)
% 0.04/10.36  % Search class: FGHNF-FFMF00-SFFFFFNN
% 0.04/10.36  % Scheduled 5 strats onto 1 cores with 300 seconds (300 total)
% 0.04/10.36  % Starting SubtermCWHack with 31s (1) cores
% 0.04/10.36  % SubtermCWHack with pid 2224762 completed with status 1
% 0.04/10.36  % Result found by SubtermCWHack
% 0.04/10.36  % Preprocessing class: FSMSSLSMSSSNFFN.
% 0.04/10.36  % Scheduled 4 strats onto 8 cores with 300 seconds (2400 total)
% 0.04/10.36  % Starting SAT001_MinMin_p005000_rr_RG with 1500s (5) cores
% 0.04/10.36  % Starting new_bool_3 with 300s (1) cores
% 0.04/10.36  % (lift_lambdas = 0, lambda_to_forall = 0,unroll_only_formulas = 0, sine = GSinE(CountFormulas,hypos,1.5,,3,20000,1.0))
% 0.04/10.36  % SinE strategy is GSinE(CountFormulas,hypos,1.5,,3,20000,1.0)
% 0.04/10.36  % Search class: FGHNF-FFMF00-SFFFFFNN
% 0.04/10.36  % Scheduled 5 strats onto 1 cores with 300 seconds (300 total)
% 0.04/10.36  % Starting SubtermCWHack with 31s (1) cores
% 0.04/10.36  % Preprocessing time       : 0.001 s
% 0.04/10.36  
% 0.04/10.36  % No proof found!
% 0.04/10.36  % SZS status Satisfiable
% 0.04/10.36  % SZS output start Saturation
% See solution above
% 0.04/10.36  % Parsed axioms                        : 56
% 0.04/10.36  % Removed by relevancy pruning/SinE    : 0
% 0.04/10.36  % Initial clauses                      : 56
% 0.04/10.36  % Removed in clause preprocessing      : 0
% 0.04/10.36  % Initial clauses in saturation        : 56
% 0.04/10.36  % Processed clauses                    : 116
% 0.04/10.36  % ...of these trivial                  : 0
% 0.04/10.36  % ...subsumed                          : 37
% 0.04/10.36  % ...remaining for further processing  : 79
% 0.04/10.36  % Other redundant clauses eliminated   : 0
% 0.04/10.36  % Clauses deleted for lack of memory   : 0
% 0.04/10.36  % Backward-subsumed                    : 1
% 0.04/10.36  % Backward-rewritten                   : 12
% 0.04/10.36  % Generated clauses                    : 76
% 0.04/10.36  % ...of the previous two non-redundant : 62
% 0.04/10.36  % ...aggressively subsumed             : 0
% 0.04/10.36  % Contextual simplify-reflections      : 25
% 0.04/10.36  % Paramodulations                      : 76
% 0.04/10.36  % Factorizations                       : 0
% 0.04/10.36  % NegExts                              : 0
% 0.04/10.36  % Equation resolutions                 : 0
% 0.04/10.36  % Disequality decompositions           : 0
% 0.04/10.36  % Total rewrite steps                  : 19
% 0.04/10.36  % ...of those cached                   : 18
% 0.04/10.36  % Propositional unsat checks           : 0
% 0.04/10.36  %    Propositional check models        : 0
% 0.04/10.36  %    Propositional check unsatisfiable : 0
% 0.04/10.36  %    Propositional clauses             : 0
% 0.04/10.36  %    Propositional clauses after purity: 0
% 0.04/10.36  %    Propositional unsat core size     : 0
% 0.04/10.36  %    Propositional preprocessing time  : 0.000
% 0.04/10.36  %    Propositional encoding time       : 0.000
% 0.04/10.36  %    Propositional solver time         : 0.000
% 0.04/10.36  %    Success case prop preproc time    : 0.000
% 0.04/10.36  %    Success case prop encoding time   : 0.000
% 0.04/10.36  %    Success case prop solver time     : 0.000
% 0.04/10.36  % Current number of processed clauses  : 66
% 0.04/10.36  %    Positive orientable unit clauses  : 1
% 0.04/10.36  %    Positive unorientable unit clauses: 0
% 0.04/10.36  %    Negative unit clauses             : 0
% 0.04/10.36  %    Non-unit-clauses                  : 65
% 0.04/10.36  % Current number of unprocessed clauses: 0
% 0.04/10.36  % ...number of literals in the above   : 0
% 0.04/10.36  % Current number of archived formulas  : 0
% 0.04/10.36  % Current number of archived clauses   : 13
% 0.04/10.36  % Clause-clause subsumption calls (NU) : 3154
% 0.04/10.36  % Rec. Clause-clause subsumption calls : 293
% 0.04/10.36  % Non-unit clause-clause subsumptions  : 63
% 0.04/10.36  % Unit Clause-clause subsumption calls : 1
% 0.04/10.36  % Rewrite failures with RHS unbound    : 0
% 0.04/10.36  % BW rewrite match attempts            : 1
% 0.04/10.36  % BW rewrite match successes           : 1
% 0.04/10.36  % Condensation attempts                : 0
% 0.04/10.36  % Condensation successes               : 0
% 0.04/10.36  % Termbank termtop insertions          : 2899
% 0.04/10.36  % Search garbage collected termcells   : 119
% 0.04/10.36  
% 0.04/10.36  % -------------------------------------------------
% 0.04/10.36  % User time                : 0.003 s
% 0.04/10.36  % System time              : 0.003 s
% 0.04/10.36  % Total time               : 0.006 s
% 0.04/10.36  % Maximum resident set size: 3672 pages
% 0.04/10.36  
% 0.04/10.36  % -------------------------------------------------
% 0.04/10.36  % User time                : 0.005 s
% 0.04/10.36  % System time              : 0.005 s
% 0.04/10.36  % Total time               : 0.010 s
% 0.04/10.36  % Maximum resident set size: 4608 pages
% 0.04/10.36  % E exiting
%------------------------------------------------------------------------------