%------------------------------------------------------------------------------
% File : E---3.5.1
% Problem : SET938+1 : TPTP v9.3.1. Released v3.2.0.
% Transfm : none
% Format : tptp:raw
% Command : run_E /export/starexec/sandbox/benchmark/theBenchmark.p 300 THM
% Computer : n008.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 02:15:49 PM UTC 2026
% Result : Theorem 1.54s 0.64s
% Output : CNFRefutation 1.54s
% Verified :
% SZS Type : Refutation
% Derivation depth : 12
% Number of leaves : 6
% Syntax : Number of formulae : 45 ( 18 unt; 0 def)
% Number of atoms : 119 ( 22 equ)
% Maximal formula atoms : 20 ( 2 avg)
% Number of connectives : 121 ( 47 ~; 58 |; 10 &)
% ( 5 <=>; 1 =>; 0 <=; 0 <~>)
% Maximal formula depth : 17 ( 4 avg)
% Maximal term depth : 5 ( 2 avg)
% Number of predicates : 4 ( 2 usr; 1 prp; 0-2 aty)
% Number of functors : 9 ( 9 usr; 2 con; 0-3 aty)
% Number of variables : 105 ( 7 sgn 41 !; 0 ?)
% Comments :
%------------------------------------------------------------------------------
fof(d1_zfmisc_1,axiom,
! [X1,X2] :
( X2 = powerset(X1)
<=> ! [X3] :
( in(X3,X2)
<=> subset(X3,X1) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',d1_zfmisc_1) ).
fof(d3_tarski,axiom,
! [X1,X2] :
( subset(X1,X2)
<=> ! [X3] :
( in(X3,X1)
=> in(X3,X2) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',d3_tarski) ).
fof(d2_xboole_0,axiom,
! [X1,X2,X3] :
( X3 = set_union2(X1,X2)
<=> ! [X4] :
( in(X4,X3)
<=> ( in(X4,X2)
| in(X4,X1) ) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',d2_xboole_0) ).
fof(t86_zfmisc_1,conjecture,
! [X1,X2] : subset(set_union2(powerset(set_difference(X1,X2)),powerset(set_difference(X2,X1))),powerset(symmetric_difference(X1,X2))),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',t86_zfmisc_1) ).
fof(d6_xboole_0,axiom,
! [X1,X2] : symmetric_difference(X1,X2) = set_union2(set_difference(X1,X2),set_difference(X2,X1)),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',d6_xboole_0) ).
fof(commutativity_k2_xboole_0,axiom,
! [X1,X2] : set_union2(X1,X2) = set_union2(X2,X1),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',commutativity_k2_xboole_0) ).
fof(c_0_6,plain,
! [X11,X12,X13,X14,X15,X16] :
( ( X16 = powerset(X15)
| subset(esk1_2(X15,X16),X15)
| in(esk1_2(X15,X16),X16) )
& ( X16 = powerset(X15)
| ~ subset(esk1_2(X15,X16),X15)
| ~ in(esk1_2(X15,X16),X16) )
& ( X12 != powerset(X11)
| in(X14,X12)
| ~ subset(X14,X11) )
& ( X12 != powerset(X11)
| subset(X13,X11)
| ~ in(X13,X12) ) ),
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)],[d1_zfmisc_1])])])])])])]) ).
fof(c_0_7,plain,
! [X27,X28,X29,X30,X31] :
( ( subset(X30,X31)
| ~ in(esk3_2(X30,X31),X31) )
& ( subset(X30,X31)
| in(esk3_2(X30,X31),X30) )
& ( in(X29,X28)
| ~ in(X29,X27)
| ~ subset(X27,X28) ) ),
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)],[d3_tarski])])])])])])]) ).
cnf(c_0_8,plain,
( X2 != powerset(X3)
| ~ in(X1,X2)
| subset(X1,X3) ),
inference(split_conjunct,[status(thm)],[c_0_6]) ).
cnf(c_0_9,plain,
( X3 != powerset(X2)
| ~ subset(X1,X2)
| in(X1,X3) ),
inference(split_conjunct,[status(thm)],[c_0_6]) ).
fof(c_0_10,plain,
! [X18,X19,X20,X21,X22,X23,X24,X25] :
( ( X25 = set_union2(X23,X24)
| in(esk2_3(X23,X24,X25),X24)
| in(esk2_3(X23,X24,X25),X23)
| in(esk2_3(X23,X24,X25),X25) )
& ( X25 = set_union2(X23,X24)
| ~ in(esk2_3(X23,X24,X25),X25)
| ~ in(esk2_3(X23,X24,X25),X24) )
& ( X25 = set_union2(X23,X24)
| ~ in(esk2_3(X23,X24,X25),X25)
| ~ in(esk2_3(X23,X24,X25),X23) )
& ( X20 != set_union2(X18,X19)
| in(X22,X20)
| ~ in(X22,X19) )
& ( X20 != set_union2(X18,X19)
| in(X22,X20)
| ~ in(X22,X18) )
& ( X20 != set_union2(X18,X19)
| in(X21,X19)
| in(X21,X18)
| ~ in(X21,X20) ) ),
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)],[d2_xboole_0])])])])])])]) ).
cnf(c_0_11,plain,
( ~ in(X3,X1)
| ~ subset(X1,X2)
| in(X3,X2) ),
inference(split_conjunct,[status(thm)],[c_0_7]) ).
cnf(c_0_12,plain,
( ~ in(X1,powerset(X2))
| subset(X1,X2) ),
inference(er,[status(thm)],[c_0_8]) ).
cnf(c_0_13,plain,
( ~ subset(X1,X2)
| in(X1,powerset(X2)) ),
inference(er,[status(thm)],[c_0_9]) ).
cnf(c_0_14,plain,
( subset(X1,X2)
| in(esk3_2(X1,X2),X1) ),
inference(split_conjunct,[status(thm)],[c_0_7]) ).
cnf(c_0_15,plain,
( ~ in(esk3_2(X1,X2),X2)
| subset(X1,X2) ),
inference(split_conjunct,[status(thm)],[c_0_7]) ).
cnf(c_0_16,plain,
( X3 != set_union2(X4,X2)
| ~ in(X1,X2)
| in(X1,X3) ),
inference(split_conjunct,[status(thm)],[c_0_10]) ).
cnf(c_0_17,plain,
( ~ in(X1,X3)
| ~ in(X3,powerset(X2))
| in(X1,X2) ),
inference(spm,[status(thm)],[c_0_11,c_0_12]) ).
cnf(c_0_18,plain,
( in(X1,powerset(X2))
| in(esk3_2(X1,X2),X1) ),
inference(spm,[status(thm)],[c_0_13,c_0_14]) ).
fof(c_0_19,negated_conjecture,
~ ! [X1,X2] : subset(set_union2(powerset(set_difference(X1,X2)),powerset(set_difference(X2,X1))),powerset(symmetric_difference(X1,X2))),
inference(assume_negation,[status(cth)],[t86_zfmisc_1]) ).
cnf(c_0_20,plain,
( ~ in(esk3_2(X1,X2),X2)
| in(X1,powerset(X2)) ),
inference(spm,[status(thm)],[c_0_13,c_0_15]) ).
cnf(c_0_21,plain,
( ~ in(X1,X3)
| in(X1,set_union2(X2,X3)) ),
inference(er,[status(thm)],[c_0_16]) ).
cnf(c_0_22,plain,
( ~ in(X3,esk3_2(powerset(X1),X2))
| in(X3,X1)
| in(powerset(X1),powerset(X2)) ),
inference(spm,[status(thm)],[c_0_17,c_0_18]) ).
fof(c_0_23,negated_conjecture,
~ subset(set_union2(powerset(set_difference(esk6_0,esk7_0)),powerset(set_difference(esk7_0,esk6_0))),powerset(symmetric_difference(esk6_0,esk7_0))),
inference(fof_nnf,[status(thm)],[inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_19])])])]) ).
fof(c_0_24,plain,
! [X33,X34] : symmetric_difference(X33,X34) = set_union2(set_difference(X33,X34),set_difference(X34,X33)),
inference(variable_rename,[status(thm)],[d6_xboole_0]) ).
cnf(c_0_25,plain,
( ~ in(esk3_2(X1,set_union2(X2,X3)),X3)
| in(X1,powerset(set_union2(X2,X3))) ),
inference(spm,[status(thm)],[c_0_20,c_0_21]) ).
cnf(c_0_26,plain,
( in(powerset(X1),powerset(X2))
| in(esk3_2(powerset(X1),X2),powerset(X3))
| in(esk3_2(esk3_2(powerset(X1),X2),X3),X1) ),
inference(spm,[status(thm)],[c_0_22,c_0_18]) ).
cnf(c_0_27,negated_conjecture,
~ subset(set_union2(powerset(set_difference(esk6_0,esk7_0)),powerset(set_difference(esk7_0,esk6_0))),powerset(symmetric_difference(esk6_0,esk7_0))),
inference(split_conjunct,[status(thm)],[c_0_23]) ).
cnf(c_0_28,plain,
symmetric_difference(X1,X2) = set_union2(set_difference(X1,X2),set_difference(X2,X1)),
inference(split_conjunct,[status(thm)],[c_0_24]) ).
cnf(c_0_29,plain,
( in(powerset(X1),powerset(X2))
| in(esk3_2(powerset(X1),X2),powerset(set_union2(X3,X1))) ),
inference(spm,[status(thm)],[c_0_25,c_0_26]) ).
fof(c_0_30,plain,
! [X7,X8] : set_union2(X7,X8) = set_union2(X8,X7),
inference(variable_rename,[status(thm)],[commutativity_k2_xboole_0]) ).
cnf(c_0_31,plain,
( X2 != set_union2(X3,X4)
| ~ in(X1,X2)
| in(X1,X4)
| in(X1,X3) ),
inference(split_conjunct,[status(thm)],[c_0_10]) ).
cnf(c_0_32,negated_conjecture,
~ subset(set_union2(powerset(set_difference(esk6_0,esk7_0)),powerset(set_difference(esk7_0,esk6_0))),powerset(set_union2(set_difference(esk6_0,esk7_0),set_difference(esk7_0,esk6_0)))),
inference(rw,[status(thm)],[c_0_27,c_0_28]) ).
cnf(c_0_33,plain,
in(powerset(X1),powerset(powerset(set_union2(X2,X1)))),
inference(spm,[status(thm)],[c_0_20,c_0_29]) ).
cnf(c_0_34,plain,
set_union2(X1,X2) = set_union2(X2,X1),
inference(split_conjunct,[status(thm)],[c_0_30]) ).
cnf(c_0_35,plain,
( ~ in(X1,set_union2(X3,X2))
| in(X1,X3)
| in(X1,X2) ),
inference(er,[status(thm)],[c_0_31]) ).
cnf(c_0_36,negated_conjecture,
in(esk3_2(set_union2(powerset(set_difference(esk6_0,esk7_0)),powerset(set_difference(esk7_0,esk6_0))),powerset(set_union2(set_difference(esk6_0,esk7_0),set_difference(esk7_0,esk6_0)))),set_union2(powerset(set_difference(esk6_0,esk7_0)),powerset(set_difference(esk7_0,esk6_0)))),
inference(spm,[status(thm)],[c_0_32,c_0_14]) ).
cnf(c_0_37,negated_conjecture,
~ in(esk3_2(set_union2(powerset(set_difference(esk6_0,esk7_0)),powerset(set_difference(esk7_0,esk6_0))),powerset(set_union2(set_difference(esk6_0,esk7_0),set_difference(esk7_0,esk6_0)))),powerset(set_union2(set_difference(esk6_0,esk7_0),set_difference(esk7_0,esk6_0)))),
inference(spm,[status(thm)],[c_0_32,c_0_15]) ).
cnf(c_0_38,plain,
( ~ in(X1,powerset(X3))
| in(X1,powerset(set_union2(X2,X3))) ),
inference(spm,[status(thm)],[c_0_17,c_0_33]) ).
cnf(c_0_39,plain,
in(powerset(X1),powerset(powerset(set_union2(X1,X2)))),
inference(spm,[status(thm)],[c_0_33,c_0_34]) ).
cnf(c_0_40,negated_conjecture,
( in(esk3_2(set_union2(powerset(set_difference(esk6_0,esk7_0)),powerset(set_difference(esk7_0,esk6_0))),powerset(set_union2(set_difference(esk6_0,esk7_0),set_difference(esk7_0,esk6_0)))),powerset(set_difference(esk6_0,esk7_0)))
| in(esk3_2(set_union2(powerset(set_difference(esk6_0,esk7_0)),powerset(set_difference(esk7_0,esk6_0))),powerset(set_union2(set_difference(esk6_0,esk7_0),set_difference(esk7_0,esk6_0)))),powerset(set_difference(esk7_0,esk6_0))) ),
inference(spm,[status(thm)],[c_0_35,c_0_36]) ).
cnf(c_0_41,negated_conjecture,
~ in(esk3_2(set_union2(powerset(set_difference(esk6_0,esk7_0)),powerset(set_difference(esk7_0,esk6_0))),powerset(set_union2(set_difference(esk6_0,esk7_0),set_difference(esk7_0,esk6_0)))),powerset(set_difference(esk7_0,esk6_0))),
inference(spm,[status(thm)],[c_0_37,c_0_38]) ).
cnf(c_0_42,plain,
( ~ in(X1,powerset(X2))
| in(X1,powerset(set_union2(X2,X3))) ),
inference(spm,[status(thm)],[c_0_17,c_0_39]) ).
cnf(c_0_43,negated_conjecture,
in(esk3_2(set_union2(powerset(set_difference(esk6_0,esk7_0)),powerset(set_difference(esk7_0,esk6_0))),powerset(set_union2(set_difference(esk6_0,esk7_0),set_difference(esk7_0,esk6_0)))),powerset(set_difference(esk6_0,esk7_0))),
inference(sr,[status(thm)],[c_0_40,c_0_41]) ).
cnf(c_0_44,negated_conjecture,
$false,
inference(cn,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_37,c_0_42]),c_0_43])]),
[proof] ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.03 % Problem : SET938+1 : TPTP v9.3.1. Released v3.2.0.
% 0.00/0.05 % Command : run_E /export/starexec/sandbox/benchmark/theBenchmark.p 300 THM
% 0.09/0.36 % Computer : n008.cluster.edu
% 0.09/0.36 % Model : x86_64 x86_64
% 0.09/0.36 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.09/0.36 % Memory : 8046.5625MB
% 0.09/0.36 % OS : Linux 6.8.0-71-generic
% 0.09/0.36 % CPULimit : 300
% 0.09/0.36 % WCLimit : 300
% 0.09/0.36 % DateTime : Mon Sep 21 05:45:23 UTC 2026
% 0.09/0.36 % CPUTime :
% 0.09/0.36 Running run_E /export/starexec/sandbox/benchmark/theBenchmark.p 300 THM
% 0.09/0.40 Running first-order theorem proving
% 0.09/0.40 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
% 1.54/0.64 % Version: 3.5.1
% 1.54/0.64 % Preprocessing class: FSMSSMSSSSSNFFN.
% 1.54/0.64 % Scheduled 4 strats onto 8 cores with 300 seconds (2400 total)
% 1.54/0.64 % Starting G-E--_208_C18_F1_SE_CS_SOS_SP_PS_S5PRR_RG_S04AN with 1500s (5) cores
% 1.54/0.64 % Starting new_bool_3 with 300s (1) cores
% 1.54/0.64 % Starting new_bool_1 with 300s (1) cores
% 1.54/0.64 % Starting sh5l with 300s (1) cores
% 1.54/0.64 % G-E--_208_C18_F1_SE_CS_SOS_SP_PS_S5PRR_RG_S04AN with pid 269200 completed with status 0
% 1.54/0.64 % Result found by G-E--_208_C18_F1_SE_CS_SOS_SP_PS_S5PRR_RG_S04AN
% 1.54/0.64 % Preprocessing class: FSMSSMSSSSSNFFN.
% 1.54/0.64 % Scheduled 4 strats onto 8 cores with 300 seconds (2400 total)
% 1.54/0.64 % Starting G-E--_208_C18_F1_SE_CS_SOS_SP_PS_S5PRR_RG_S04AN with 1500s (5) cores
% 1.54/0.64 % (lift_lambdas = 1, lambda_to_forall = 1,unroll_only_formulas = 1, sine = Auto)
% 1.54/0.64 % No SInE strategy applied
% 1.54/0.64 % Search class: FGHSM-FFMF32-MFFFFFNN
% 1.54/0.64 % Scheduled 7 strats onto 5 cores with 1500 seconds (1500 total)
% 1.54/0.64 % Starting SubtermCWHack with 136s (1) cores
% 1.54/0.64 % Starting G-E--_208_C18_F1_SE_CS_SOS_SP_PS_S5PRR_RG_S04AN with 151s (1) cores
% 1.54/0.64 % Starting G-E--_208_C18_F1_SE_CS_SP_PS_S033I with 136s (1) cores
% 1.54/0.64 % Starting new_bool_3 with 136s (1) cores
% 1.54/0.64 % Starting new_bool_1 with 136s (1) cores
% 1.54/0.64 % G-E--_208_C18_F1_SE_CS_SP_PS_S033I with pid 269209 completed with status 0
% 1.54/0.64 % Result found by G-E--_208_C18_F1_SE_CS_SP_PS_S033I
% 1.54/0.64 % Preprocessing class: FSMSSMSSSSSNFFN.
% 1.54/0.64 % Scheduled 4 strats onto 8 cores with 300 seconds (2400 total)
% 1.54/0.64 % Starting G-E--_208_C18_F1_SE_CS_SOS_SP_PS_S5PRR_RG_S04AN with 1500s (5) cores
% 1.54/0.64 % (lift_lambdas = 1, lambda_to_forall = 1,unroll_only_formulas = 1, sine = Auto)
% 1.54/0.64 % No SInE strategy applied
% 1.54/0.64 % Search class: FGHSM-FFMF32-MFFFFFNN
% 1.54/0.64 % Scheduled 7 strats onto 5 cores with 1500 seconds (1500 total)
% 1.54/0.64 % Starting SubtermCWHack with 136s (1) cores
% 1.54/0.64 % Starting G-E--_208_C18_F1_SE_CS_SOS_SP_PS_S5PRR_RG_S04AN with 151s (1) cores
% 1.54/0.64 % Starting G-E--_208_C18_F1_SE_CS_SP_PS_S033I with 136s (1) cores
% 1.54/0.64 % Preprocessing time : 0.001 s
% 1.54/0.64 % Presaturation interreduction done
% 1.54/0.64
% 1.54/0.64 % Proof found!
% 1.54/0.64 % SZS status Theorem
% 1.54/0.64 % SZS output start CNFRefutation
% See solution above
% 1.54/0.65 % Parsed axioms : 14
% 1.54/0.65 % Removed by relevancy pruning/SinE : 0
% 1.54/0.65 % Initial clauses : 24
% 1.54/0.65 % Removed in clause preprocessing : 1
% 1.54/0.65 % Initial clauses in saturation : 23
% 1.54/0.65 % Processed clauses : 1998
% 1.54/0.65 % ...of these trivial : 24
% 1.54/0.65 % ...subsumed : 1602
% 1.54/0.65 % ...remaining for further processing : 372
% 1.54/0.65 % Other redundant clauses eliminated : 5
% 1.54/0.65 % Clauses deleted for lack of memory : 0
% 1.54/0.65 % Backward-subsumed : 15
% 1.54/0.65 % Backward-rewritten : 0
% 1.54/0.65 % Generated clauses : 8506
% 1.54/0.65 % ...of the previous two non-redundant : 7964
% 1.54/0.65 % ...aggressively subsumed : 0
% 1.54/0.65 % Contextual simplify-reflections : 2
% 1.54/0.65 % Paramodulations : 8214
% 1.54/0.65 % Factorizations : 286
% 1.54/0.65 % NegExts : 0
% 1.54/0.65 % Equation resolutions : 5
% 1.54/0.65 % Disequality decompositions : 0
% 1.54/0.65 % Total rewrite steps : 609
% 1.54/0.65 % ...of those cached : 471
% 1.54/0.65 % Propositional unsat checks : 0
% 1.54/0.65 % Propositional check models : 0
% 1.54/0.65 % Propositional check unsatisfiable : 0
% 1.54/0.65 % Propositional clauses : 0
% 1.54/0.65 % Propositional clauses after purity: 0
% 1.54/0.65 % Propositional unsat core size : 0
% 1.54/0.65 % Propositional preprocessing time : 0.000
% 1.54/0.65 % Propositional encoding time : 0.000
% 1.54/0.65 % Propositional solver time : 0.000
% 1.54/0.65 % Success case prop preproc time : 0.000
% 1.54/0.65 % Success case prop encoding time : 0.000
% 1.54/0.65 % Success case prop solver time : 0.000
% 1.54/0.65 % Current number of processed clauses : 329
% 1.54/0.65 % Positive orientable unit clauses : 23
% 1.54/0.65 % Positive unorientable unit clauses: 1
% 1.54/0.65 % Negative unit clauses : 106
% 1.54/0.65 % Non-unit-clauses : 199
% 1.54/0.65 % Current number of unprocessed clauses: 5982
% 1.54/0.65 % ...number of literals in the above : 26477
% 1.54/0.65 % Current number of archived formulas : 0
% 1.54/0.65 % Current number of archived clauses : 39
% 1.54/0.65 % Clause-clause subsumption calls (NU) : 16800
% 1.54/0.65 % Rec. Clause-clause subsumption calls : 9937
% 1.54/0.65 % Non-unit clause-clause subsumptions : 419
% 1.54/0.65 % Unit Clause-clause subsumption calls : 2278
% 1.54/0.65 % Rewrite failures with RHS unbound : 0
% 1.54/0.65 % BW rewrite match attempts : 79
% 1.54/0.65 % BW rewrite match successes : 12
% 1.54/0.65 % Condensation attempts : 0
% 1.54/0.65 % Condensation successes : 0
% 1.54/0.65 % Termbank termtop insertions : 154542
% 1.54/0.65 % Search garbage collected termcells : 410
% 1.54/0.65
% 1.54/0.65 % -------------------------------------------------
% 1.54/0.65 % User time : 0.213 s
% 1.54/0.65 % System time : 0.012 s
% 1.54/0.65 % Total time : 0.225 s
% 1.54/0.65 % Maximum resident set size: 3644 pages
% 1.54/0.65
% 1.54/0.65 % -------------------------------------------------
% 1.54/0.65 % User time : 0.948 s
% 1.54/0.65 % System time : 0.058 s
% 1.54/0.65 % Total time : 1.006 s
% 1.54/0.65 % Maximum resident set size: 4608 pages
% 1.54/0.65 % E exiting
%------------------------------------------------------------------------------