TSTP Solution File: GRP696-1 by E-SAT---3.1

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : E-SAT---3.1
% Problem  : GRP696-1 : TPTP v8.1.2. Released v4.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_E %s %d THM

% Computer : n002.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 : 2400s
% WCLimit  : 300s
% DateTime : Tue Oct 10 17:50:16 EDT 2023

% Result   : Unsatisfiable 14.73s 2.93s
% Output   : CNFRefutation 14.73s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   24
%            Number of leaves      :   12
% Syntax   : Number of clauses     :   70 (  70 unt;   0 nHn;   3 RR)
%            Number of literals    :   70 (  69 equ;   2 neg)
%            Maximal clause size   :    1 (   1 avg)
%            Maximal term depth    :    6 (   2 avg)
%            Number of predicates  :    2 (   0 usr;   1 prp; 0-2 aty)
%            Number of functors    :    8 (   8 usr;   4 con; 0-2 aty)
%            Number of variables   :  131 (   0 sgn)

% Comments : 
%------------------------------------------------------------------------------
cnf(c04,axiom,
    rd(mult(X1,X2),X2) = X1,
    file('/export/starexec/sandbox2/tmp/tmp.tVjDWhFCJ0/E---3.1_26791.p',c04) ).

cnf(c01,axiom,
    mult(X1,ld(X1,X2)) = X2,
    file('/export/starexec/sandbox2/tmp/tmp.tVjDWhFCJ0/E---3.1_26791.p',c01) ).

cnf(c10,axiom,
    mult(i(X1),X1) = unit,
    file('/export/starexec/sandbox2/tmp/tmp.tVjDWhFCJ0/E---3.1_26791.p',c10) ).

cnf(c02,axiom,
    ld(X1,mult(X1,X2)) = X2,
    file('/export/starexec/sandbox2/tmp/tmp.tVjDWhFCJ0/E---3.1_26791.p',c02) ).

cnf(c11,axiom,
    mult(X1,i(X1)) = unit,
    file('/export/starexec/sandbox2/tmp/tmp.tVjDWhFCJ0/E---3.1_26791.p',c11) ).

cnf(c07,axiom,
    mult(X1,i(mult(X2,X1))) = i(X2),
    file('/export/starexec/sandbox2/tmp/tmp.tVjDWhFCJ0/E---3.1_26791.p',c07) ).

cnf(c08,axiom,
    mult(X1,mult(X2,X3)) = mult(rd(mult(X1,X2),X1),mult(X1,X3)),
    file('/export/starexec/sandbox2/tmp/tmp.tVjDWhFCJ0/E---3.1_26791.p',c08) ).

cnf(c05,axiom,
    mult(X1,unit) = X1,
    file('/export/starexec/sandbox2/tmp/tmp.tVjDWhFCJ0/E---3.1_26791.p',c05) ).

cnf(c03,axiom,
    mult(rd(X1,X2),X2) = X1,
    file('/export/starexec/sandbox2/tmp/tmp.tVjDWhFCJ0/E---3.1_26791.p',c03) ).

cnf(c09,axiom,
    mult(mult(X1,X2),X3) = mult(mult(X1,X3),ld(X3,mult(X2,X3))),
    file('/export/starexec/sandbox2/tmp/tmp.tVjDWhFCJ0/E---3.1_26791.p',c09) ).

cnf(c06,axiom,
    mult(unit,X1) = X1,
    file('/export/starexec/sandbox2/tmp/tmp.tVjDWhFCJ0/E---3.1_26791.p',c06) ).

cnf(goals,negated_conjecture,
    mult(mult(mult(a,b),a),mult(a,c)) != mult(a,mult(mult(mult(b,a),a),c)),
    file('/export/starexec/sandbox2/tmp/tmp.tVjDWhFCJ0/E---3.1_26791.p',goals) ).

cnf(c_0_12,axiom,
    rd(mult(X1,X2),X2) = X1,
    c04 ).

cnf(c_0_13,axiom,
    mult(X1,ld(X1,X2)) = X2,
    c01 ).

cnf(c_0_14,axiom,
    mult(i(X1),X1) = unit,
    c10 ).

cnf(c_0_15,axiom,
    ld(X1,mult(X1,X2)) = X2,
    c02 ).

cnf(c_0_16,axiom,
    mult(X1,i(X1)) = unit,
    c11 ).

cnf(c_0_17,axiom,
    mult(X1,i(mult(X2,X1))) = i(X2),
    c07 ).

cnf(c_0_18,plain,
    rd(X1,ld(X2,X1)) = X2,
    inference(spm,[status(thm)],[c_0_12,c_0_13]) ).

cnf(c_0_19,plain,
    rd(unit,X1) = i(X1),
    inference(spm,[status(thm)],[c_0_12,c_0_14]) ).

cnf(c_0_20,plain,
    ld(X1,unit) = i(X1),
    inference(spm,[status(thm)],[c_0_15,c_0_16]) ).

cnf(c_0_21,plain,
    ld(X1,i(X2)) = i(mult(X2,X1)),
    inference(spm,[status(thm)],[c_0_15,c_0_17]) ).

cnf(c_0_22,plain,
    i(i(X1)) = X1,
    inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_18,c_0_19]),c_0_20]) ).

cnf(c_0_23,axiom,
    mult(X1,mult(X2,X3)) = mult(rd(mult(X1,X2),X1),mult(X1,X3)),
    c08 ).

cnf(c_0_24,axiom,
    mult(X1,unit) = X1,
    c05 ).

cnf(c_0_25,plain,
    i(mult(i(X1),X2)) = ld(X2,X1),
    inference(spm,[status(thm)],[c_0_21,c_0_22]) ).

cnf(c_0_26,axiom,
    mult(rd(X1,X2),X2) = X1,
    c03 ).

cnf(c_0_27,plain,
    rd(mult(X1,X2),X1) = mult(X1,mult(X2,i(X1))),
    inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_23,c_0_16]),c_0_24]) ).

cnf(c_0_28,plain,
    i(ld(X1,X2)) = mult(i(X2),X1),
    inference(spm,[status(thm)],[c_0_22,c_0_25]) ).

cnf(c_0_29,plain,
    mult(mult(X1,mult(X2,i(X1))),X1) = mult(X1,X2),
    inference(spm,[status(thm)],[c_0_26,c_0_27]) ).

cnf(c_0_30,plain,
    mult(i(mult(X1,X2)),X1) = i(X2),
    inference(spm,[status(thm)],[c_0_28,c_0_15]) ).

cnf(c_0_31,plain,
    mult(mult(X1,i(X2)),X1) = mult(X1,ld(X2,X1)),
    inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_29,c_0_30]),c_0_25]) ).

cnf(c_0_32,plain,
    i(rd(X1,X2)) = mult(X2,i(X1)),
    inference(spm,[status(thm)],[c_0_17,c_0_26]) ).

cnf(c_0_33,plain,
    mult(X1,ld(mult(X2,X1),X1)) = mult(i(X2),X1),
    inference(spm,[status(thm)],[c_0_31,c_0_17]) ).

cnf(c_0_34,plain,
    i(mult(X1,i(X2))) = rd(X2,X1),
    inference(spm,[status(thm)],[c_0_22,c_0_32]) ).

cnf(c_0_35,plain,
    mult(X1,ld(mult(X1,X2),X1)) = rd(X1,X2),
    inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_33,c_0_29]),c_0_30]),c_0_34]) ).

cnf(c_0_36,plain,
    rd(X1,i(X2)) = ld(i(X1),X2),
    inference(spm,[status(thm)],[c_0_25,c_0_34]) ).

cnf(c_0_37,plain,
    ld(X1,rd(X1,X2)) = ld(mult(X1,X2),X1),
    inference(spm,[status(thm)],[c_0_15,c_0_35]) ).

cnf(c_0_38,plain,
    mult(ld(X1,X2),X1) = mult(i(X1),mult(X2,X1)),
    inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_30,c_0_33]),c_0_25]),c_0_28]) ).

cnf(c_0_39,plain,
    ld(ld(X1,X2),X2) = mult(i(X2),mult(X1,X2)),
    inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_36,c_0_27]),c_0_22]),c_0_25]) ).

cnf(c_0_40,plain,
    ld(mult(X1,ld(X2,X1)),X1) = ld(X1,X2),
    inference(spm,[status(thm)],[c_0_37,c_0_18]) ).

cnf(c_0_41,plain,
    mult(i(X1),mult(mult(X1,X2),X1)) = mult(X2,X1),
    inference(spm,[status(thm)],[c_0_38,c_0_15]) ).

cnf(c_0_42,plain,
    ld(ld(X1,X2),X1) = mult(ld(X2,X1),X1),
    inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_39,c_0_40]),c_0_41]) ).

cnf(c_0_43,axiom,
    mult(mult(X1,X2),X3) = mult(mult(X1,X3),ld(X3,mult(X2,X3))),
    c09 ).

cnf(c_0_44,axiom,
    mult(unit,X1) = X1,
    c06 ).

cnf(c_0_45,plain,
    mult(ld(mult(X1,X2),X1),X1) = ld(X2,X1),
    inference(spm,[status(thm)],[c_0_42,c_0_15]) ).

cnf(c_0_46,plain,
    ld(X1,mult(X2,X1)) = mult(mult(i(X1),X2),X1),
    inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_43,c_0_14]),c_0_44]) ).

cnf(c_0_47,plain,
    rd(ld(X1,X2),X2) = ld(mult(X2,X1),X2),
    inference(spm,[status(thm)],[c_0_12,c_0_45]) ).

cnf(c_0_48,plain,
    ld(rd(X1,X2),X1) = X2,
    inference(spm,[status(thm)],[c_0_15,c_0_26]) ).

cnf(c_0_49,plain,
    mult(X1,mult(mult(i(X1),X2),X1)) = mult(X2,X1),
    inference(spm,[status(thm)],[c_0_13,c_0_46]) ).

cnf(c_0_50,plain,
    ld(mult(X1,rd(X1,X2)),X1) = rd(X2,X1),
    inference(spm,[status(thm)],[c_0_47,c_0_48]) ).

cnf(c_0_51,plain,
    mult(rd(X1,X2),X1) = mult(X1,mult(i(X2),X1)),
    inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_49,c_0_17]),c_0_34]) ).

cnf(c_0_52,plain,
    ld(rd(X1,X2),X2) = mult(X2,mult(i(X1),X2)),
    inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_39,c_0_50]),c_0_41]),c_0_51]) ).

cnf(c_0_53,plain,
    rd(i(X1),X2) = i(mult(X2,X1)),
    inference(spm,[status(thm)],[c_0_12,c_0_30]) ).

cnf(c_0_54,plain,
    ld(i(mult(X1,X2)),X1) = mult(X1,mult(X2,X1)),
    inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_52,c_0_53]),c_0_22]) ).

cnf(c_0_55,plain,
    rd(X1,mult(X1,mult(X2,X1))) = i(mult(X1,X2)),
    inference(spm,[status(thm)],[c_0_18,c_0_54]) ).

cnf(c_0_56,plain,
    mult(i(X1),rd(X1,X2)) = i(X2),
    inference(spm,[status(thm)],[c_0_28,c_0_48]) ).

cnf(c_0_57,plain,
    rd(X1,mult(X1,i(X2))) = mult(X1,mult(X2,i(X1))),
    inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_55,c_0_30]),c_0_34]),c_0_27]) ).

cnf(c_0_58,plain,
    mult(i(X1),mult(X1,X2)) = mult(X1,mult(i(X1),X2)),
    inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_17,c_0_45]),c_0_28]),c_0_28]) ).

cnf(c_0_59,plain,
    mult(mult(X1,mult(X2,i(X1))),mult(X1,X3)) = mult(X1,mult(X2,X3)),
    inference(rw,[status(thm)],[c_0_23,c_0_27]) ).

cnf(c_0_60,plain,
    mult(ld(i(X1),X2),X1) = mult(X1,mult(X2,X1)),
    inference(spm,[status(thm)],[c_0_49,c_0_13]) ).

cnf(c_0_61,plain,
    mult(X1,mult(i(X1),mult(X2,i(X1)))) = rd(X2,X1),
    inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_56,c_0_57]),c_0_58]),c_0_34]) ).

cnf(c_0_62,plain,
    mult(rd(X1,X2),mult(X2,X3)) = mult(X2,mult(ld(X2,X1),X3)),
    inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_59,c_0_60]),c_0_61]),c_0_22]) ).

cnf(c_0_63,plain,
    rd(X1,rd(X1,X2)) = mult(X1,rd(X2,X1)),
    inference(spm,[status(thm)],[c_0_35,c_0_50]) ).

cnf(c_0_64,plain,
    mult(X1,mult(mult(mult(i(X1),X2),X1),X3)) = mult(X2,mult(X1,X3)),
    inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_62,c_0_12]),c_0_46]) ).

cnf(c_0_65,plain,
    mult(X1,mult(i(X1),rd(X2,X1))) = mult(X2,i(X1)),
    inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_56,c_0_63]),c_0_32]),c_0_58]) ).

cnf(c_0_66,plain,
    mult(X1,ld(i(X2),X1)) = mult(mult(X1,X2),X1),
    inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_29,c_0_26]),c_0_36]) ).

cnf(c_0_67,negated_conjecture,
    mult(mult(mult(a,b),a),mult(a,c)) != mult(a,mult(mult(mult(b,a),a),c)),
    goals ).

cnf(c_0_68,plain,
    mult(mult(mult(X1,X2),X1),mult(X1,X3)) = mult(X1,mult(mult(mult(X2,X1),X1),X3)),
    inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(spm,[status(thm)],[c_0_64,c_0_65]),c_0_22]),c_0_22]),c_0_36]),c_0_66]) ).

cnf(c_0_69,negated_conjecture,
    $false,
    inference(cn,[status(thm)],[inference(rw,[status(thm)],[c_0_67,c_0_68])]),
    [proof] ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.12  % Problem    : GRP696-1 : TPTP v8.1.2. Released v4.0.0.
% 0.13/0.14  % Command    : run_E %s %d THM
% 0.14/0.35  % Computer : n002.cluster.edu
% 0.14/0.35  % Model    : x86_64 x86_64
% 0.14/0.35  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.35  % Memory   : 8042.1875MB
% 0.14/0.35  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.14/0.35  % CPULimit   : 2400
% 0.14/0.35  % WCLimit    : 300
% 0.14/0.35  % DateTime   : Tue Oct  3 02:44:45 EDT 2023
% 0.14/0.35  % CPUTime    : 
% 0.20/0.49  Running first-order model finding
% 0.20/0.49  Running: /export/starexec/sandbox2/solver/bin/eprover --delete-bad-limit=2000000000 --definitional-cnf=24 -s --print-statistics -R --print-version --proof-object --satauto-schedule=8 --cpu-limit=300 /export/starexec/sandbox2/tmp/tmp.tVjDWhFCJ0/E---3.1_26791.p
% 14.73/2.93  # Version: 3.1pre001
% 14.73/2.93  # Preprocessing class: FSSSSMSSSSSNFFN.
% 14.73/2.93  # Scheduled 4 strats onto 8 cores with 300 seconds (2400 total)
% 14.73/2.93  # Starting G-E--_302_C18_F1_URBAN_RG_S04BN with 1500s (5) cores
% 14.73/2.93  # Starting new_bool_3 with 300s (1) cores
% 14.73/2.93  # Starting new_bool_1 with 300s (1) cores
% 14.73/2.93  # Starting sh5l with 300s (1) cores
% 14.73/2.93  # new_bool_1 with pid 26870 completed with status 8
% 14.73/2.93  # new_bool_3 with pid 26869 completed with status 8
% 14.73/2.93  # G-E--_302_C18_F1_URBAN_RG_S04BN with pid 26868 completed with status 0
% 14.73/2.93  # Result found by G-E--_302_C18_F1_URBAN_RG_S04BN
% 14.73/2.93  # Preprocessing class: FSSSSMSSSSSNFFN.
% 14.73/2.93  # Scheduled 4 strats onto 8 cores with 300 seconds (2400 total)
% 14.73/2.93  # Starting G-E--_302_C18_F1_URBAN_RG_S04BN with 1500s (5) cores
% 14.73/2.93  # No SInE strategy applied
% 14.73/2.93  # Search class: FUUPM-FFSF21-MFFFFFNN
% 14.73/2.93  # Scheduled 7 strats onto 5 cores with 1500 seconds (1500 total)
% 14.73/2.93  # Starting H----_047_C09_12_F1_AE_ND_CS_SP_S2S with 675s (1) cores
% 14.73/2.93  # Starting G-E--_302_C18_F1_URBAN_RG_S04BN with 151s (1) cores
% 14.73/2.93  # Starting G-E--_060_C18_F1_PI_SE_CS_SP_CO_S0Y with 136s (1) cores
% 14.73/2.93  # Starting U----_043_B31_F1_PI_AE_CS_SP_S2S with 136s (1) cores
% 14.73/2.93  # Starting H----_047_C09_12_F1_AE_ND_CS_SP_S5PRR_S2S with 136s (1) cores
% 14.73/2.93  # G-E--_060_C18_F1_PI_SE_CS_SP_CO_S0Y with pid 26876 completed with status 0
% 14.73/2.93  # Result found by G-E--_060_C18_F1_PI_SE_CS_SP_CO_S0Y
% 14.73/2.93  # Preprocessing class: FSSSSMSSSSSNFFN.
% 14.73/2.93  # Scheduled 4 strats onto 8 cores with 300 seconds (2400 total)
% 14.73/2.93  # Starting G-E--_302_C18_F1_URBAN_RG_S04BN with 1500s (5) cores
% 14.73/2.93  # No SInE strategy applied
% 14.73/2.93  # Search class: FUUPM-FFSF21-MFFFFFNN
% 14.73/2.93  # Scheduled 7 strats onto 5 cores with 1500 seconds (1500 total)
% 14.73/2.93  # Starting H----_047_C09_12_F1_AE_ND_CS_SP_S2S with 675s (1) cores
% 14.73/2.93  # Starting G-E--_302_C18_F1_URBAN_RG_S04BN with 151s (1) cores
% 14.73/2.93  # Starting G-E--_060_C18_F1_PI_SE_CS_SP_CO_S0Y with 136s (1) cores
% 14.73/2.93  # Preprocessing time       : 0.001 s
% 14.73/2.93  
% 14.73/2.93  # Proof found!
% 14.73/2.93  # SZS status Unsatisfiable
% 14.73/2.93  # SZS output start CNFRefutation
% See solution above
% 14.73/2.93  # Parsed axioms                        : 12
% 14.73/2.93  # Removed by relevancy pruning/SinE    : 0
% 14.73/2.93  # Initial clauses                      : 12
% 14.73/2.93  # Removed in clause preprocessing      : 0
% 14.73/2.93  # Initial clauses in saturation        : 12
% 14.73/2.93  # Processed clauses                    : 2548
% 14.73/2.93  # ...of these trivial                  : 1789
% 14.73/2.93  # ...subsumed                          : 0
% 14.73/2.93  # ...remaining for further processing  : 759
% 14.73/2.93  # Other redundant clauses eliminated   : 0
% 14.73/2.93  # Clauses deleted for lack of memory   : 0
% 14.73/2.93  # Backward-subsumed                    : 0
% 14.73/2.93  # Backward-rewritten                   : 257
% 14.73/2.93  # Generated clauses                    : 239738
% 14.73/2.93  # ...of the previous two non-redundant : 201955
% 14.73/2.93  # ...aggressively subsumed             : 0
% 14.73/2.93  # Contextual simplify-reflections      : 0
% 14.73/2.93  # Paramodulations                      : 239738
% 14.73/2.93  # Factorizations                       : 0
% 14.73/2.93  # NegExts                              : 0
% 14.73/2.93  # Equation resolutions                 : 0
% 14.73/2.93  # Total rewrite steps                  : 670222
% 14.73/2.93  # Propositional unsat checks           : 0
% 14.73/2.93  #    Propositional check models        : 0
% 14.73/2.93  #    Propositional check unsatisfiable : 0
% 14.73/2.93  #    Propositional clauses             : 0
% 14.73/2.93  #    Propositional clauses after purity: 0
% 14.73/2.93  #    Propositional unsat core size     : 0
% 14.73/2.93  #    Propositional preprocessing time  : 0.000
% 14.73/2.93  #    Propositional encoding time       : 0.000
% 14.73/2.93  #    Propositional solver time         : 0.000
% 14.73/2.93  #    Success case prop preproc time    : 0.000
% 14.73/2.93  #    Success case prop encoding time   : 0.000
% 14.73/2.93  #    Success case prop solver time     : 0.000
% 14.73/2.93  # Current number of processed clauses  : 502
% 14.73/2.93  #    Positive orientable unit clauses  : 501
% 14.73/2.93  #    Positive unorientable unit clauses: 1
% 14.73/2.93  #    Negative unit clauses             : 0
% 14.73/2.93  #    Non-unit-clauses                  : 0
% 14.73/2.93  # Current number of unprocessed clauses: 198784
% 14.73/2.93  # ...number of literals in the above   : 198784
% 14.73/2.93  # Current number of archived formulas  : 0
% 14.73/2.93  # Current number of archived clauses   : 257
% 14.73/2.93  # Clause-clause subsumption calls (NU) : 0
% 14.73/2.93  # Rec. Clause-clause subsumption calls : 0
% 14.73/2.93  # Non-unit clause-clause subsumptions  : 0
% 14.73/2.93  # Unit Clause-clause subsumption calls : 13
% 14.73/2.93  # Rewrite failures with RHS unbound    : 0
% 14.73/2.93  # BW rewrite match attempts            : 4915
% 14.73/2.93  # BW rewrite match successes           : 245
% 14.73/2.93  # Condensation attempts                : 2548
% 14.73/2.93  # Condensation successes               : 0
% 14.73/2.93  # Termbank termtop insertions          : 4045015
% 14.73/2.93  
% 14.73/2.93  # -------------------------------------------------
% 14.73/2.93  # User time                : 2.254 s
% 14.73/2.93  # System time              : 0.108 s
% 14.73/2.93  # Total time               : 2.362 s
% 14.73/2.93  # Maximum resident set size: 1520 pages
% 14.73/2.93  
% 14.73/2.93  # -------------------------------------------------
% 14.73/2.93  # User time                : 11.455 s
% 14.73/2.93  # System time              : 0.550 s
% 14.73/2.93  # Total time               : 12.005 s
% 14.73/2.93  # Maximum resident set size: 1676 pages
% 14.73/2.93  % E---3.1 exiting
%------------------------------------------------------------------------------