TSTP Solution File: BOO014-1 by Prover9---1109a

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Prover9---1109a
% Problem  : BOO014-1 : TPTP v8.1.0. Bugfixed v1.2.1.
% Transfm  : none
% Format   : tptp:raw
% Command  : tptp2X_and_run_prover9 %d %s

% 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 : Thu Jul 14 23:48:01 EDT 2022

% Result   : Unsatisfiable 8.17s 8.43s
% Output   : Refutation 8.17s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12  % Problem  : BOO014-1 : TPTP v8.1.0. Bugfixed v1.2.1.
% 0.12/0.12  % Command  : tptp2X_and_run_prover9 %d %s
% 0.12/0.33  % Computer : n022.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 : Wed Jun  1 23:08:52 EDT 2022
% 0.12/0.33  % CPUTime  : 
% 8.17/8.43  ============================== Prover9 ===============================
% 8.17/8.43  Prover9 (32) version 2009-11A, November 2009.
% 8.17/8.43  Process 16662 was started by sandbox on n022.cluster.edu,
% 8.17/8.43  Wed Jun  1 23:08:52 2022
% 8.17/8.43  The command was "/export/starexec/sandbox/solver/bin/prover9 -t 300 -f /tmp/Prover9_16509_n022.cluster.edu".
% 8.17/8.43  ============================== end of head ===========================
% 8.17/8.43  
% 8.17/8.43  ============================== INPUT =================================
% 8.17/8.43  
% 8.17/8.43  % Reading from file /tmp/Prover9_16509_n022.cluster.edu
% 8.17/8.43  
% 8.17/8.43  set(prolog_style_variables).
% 8.17/8.43  set(auto2).
% 8.17/8.43      % set(auto2) -> set(auto).
% 8.17/8.43      % set(auto) -> set(auto_inference).
% 8.17/8.43      % set(auto) -> set(auto_setup).
% 8.17/8.43      % set(auto_setup) -> set(predicate_elim).
% 8.17/8.43      % set(auto_setup) -> assign(eq_defs, unfold).
% 8.17/8.43      % set(auto) -> set(auto_limits).
% 8.17/8.43      % set(auto_limits) -> assign(max_weight, "100.000").
% 8.17/8.43      % set(auto_limits) -> assign(sos_limit, 20000).
% 8.17/8.43      % set(auto) -> set(auto_denials).
% 8.17/8.43      % set(auto) -> set(auto_process).
% 8.17/8.43      % set(auto2) -> assign(new_constants, 1).
% 8.17/8.43      % set(auto2) -> assign(fold_denial_max, 3).
% 8.17/8.43      % set(auto2) -> assign(max_weight, "200.000").
% 8.17/8.43      % set(auto2) -> assign(max_hours, 1).
% 8.17/8.43      % assign(max_hours, 1) -> assign(max_seconds, 3600).
% 8.17/8.43      % set(auto2) -> assign(max_seconds, 0).
% 8.17/8.43      % set(auto2) -> assign(max_minutes, 5).
% 8.17/8.43      % assign(max_minutes, 5) -> assign(max_seconds, 300).
% 8.17/8.43      % set(auto2) -> set(sort_initial_sos).
% 8.17/8.43      % set(auto2) -> assign(sos_limit, -1).
% 8.17/8.43      % set(auto2) -> assign(lrs_ticks, 3000).
% 8.17/8.43      % set(auto2) -> assign(max_megs, 400).
% 8.17/8.43      % set(auto2) -> assign(stats, some).
% 8.17/8.43      % set(auto2) -> clear(echo_input).
% 8.17/8.43      % set(auto2) -> set(quiet).
% 8.17/8.43      % set(auto2) -> clear(print_initial_clauses).
% 8.17/8.43      % set(auto2) -> clear(print_given).
% 8.17/8.43  assign(lrs_ticks,-1).
% 8.17/8.43  assign(sos_limit,10000).
% 8.17/8.43  assign(order,kbo).
% 8.17/8.43  set(lex_order_vars).
% 8.17/8.43  clear(print_given).
% 8.17/8.43  
% 8.17/8.43  % formulas(sos).  % not echoed (25 formulas)
% 8.17/8.43  
% 8.17/8.43  ============================== end of input ==========================
% 8.17/8.43  
% 8.17/8.43  % From the command line: assign(max_seconds, 300).
% 8.17/8.43  
% 8.17/8.43  ============================== PROCESS NON-CLAUSAL FORMULAS ==========
% 8.17/8.43  
% 8.17/8.43  % Formulas that are not ordinary clauses:
% 8.17/8.43  
% 8.17/8.43  ============================== end of process non-clausal formulas ===
% 8.17/8.43  
% 8.17/8.43  ============================== PROCESS INITIAL CLAUSES ===============
% 8.17/8.43  
% 8.17/8.43  ============================== PREDICATE ELIMINATION =================
% 8.17/8.43  
% 8.17/8.43  ============================== end predicate elimination =============
% 8.17/8.43  
% 8.17/8.43  Auto_denials:
% 8.17/8.43    % copying label prove_equation to answer in negative clause
% 8.17/8.43  
% 8.17/8.43  Term ordering decisions:
% 8.17/8.43  
% 8.17/8.43  % Assigning unary symbol inverse kb_weight 0 and highest precedence (12).
% 8.17/8.43  Function symbol KB weights:  additive_identity=1. multiplicative_identity=1. x=1. y=1. x_inverse_times_y_inverse=1. x_plus_y=1. add=1. multiply=1. inverse=0.
% 8.17/8.43  
% 8.17/8.43  ============================== end of process initial clauses ========
% 8.17/8.43  
% 8.17/8.43  ============================== CLAUSES FOR SEARCH ====================
% 8.17/8.43  
% 8.17/8.43  ============================== end of clauses for search =============
% 8.17/8.43  
% 8.17/8.43  ============================== SEARCH ================================
% 8.17/8.43  
% 8.17/8.43  % Starting search at 0.01 seconds.
% 8.17/8.43  
% 8.17/8.43  Low Water (keep): wt=23.000, iters=3345
% 8.17/8.43  
% 8.17/8.43  Low Water (keep): wt=20.000, iters=3350
% 8.17/8.43  
% 8.17/8.43  Low Water (keep): wt=19.000, iters=3405
% 8.17/8.43  
% 8.17/8.43  Low Water (keep): wt=18.000, iters=3339
% 8.17/8.43  
% 8.17/8.43  Low Water (keep): wt=17.000, iters=3349
% 8.17/8.43  
% 8.17/8.43  Low Water (keep): wt=16.000, iters=3357
% 8.17/8.43  
% 8.17/8.43  Low Water (keep): wt=15.000, iters=3337
% 8.17/8.43  
% 8.17/8.43  Low Water (keep): wt=14.000, iters=3369
% 8.17/8.43  
% 8.17/8.43  Low Water (keep): wt=13.000, iters=3395
% 8.17/8.43  
% 8.17/8.43  ============================== PROOF =================================
% 8.17/8.43  % SZS status Unsatisfiable
% 8.17/8.43  % SZS output start Refutation
% 8.17/8.43  
% 8.17/8.43  % Proof 1 at 7.21 (+ 0.24) seconds: prove_equation.
% 8.17/8.43  % Length of proof is 86.
% 8.17/8.43  % Level of proof is 11.
% 8.17/8.43  % Maximum clause weight is 20.000.
% 8.17/8.43  % Given clauses 382.
% 8.17/8.43  
% 8.17/8.43  1 sum(additive_identity,A,A) # label(additive_identity1) # label(axiom).  [assumption].
% 8.17/8.43  2 sum(A,additive_identity,A) # label(additive_identity2) # label(axiom).  [assumption].
% 8.17/8.43  3 product(multiplicative_identity,A,A) # label(multiplicative_identity1) # label(axiom).  [assumption].
% 8.17/8.43  4 product(A,multiplicative_identity,A) # label(multiplicative_identity2) # label(axiom).  [assumption].
% 8.17/8.43  5 sum(x,y,x_plus_y) # label(x_plus_y) # label(negated_conjecture).  [assumption].
% 8.17/8.43  7 sum(A,inverse(A),multiplicative_identity) # label(additive_inverse2) # label(axiom).  [assumption].
% 8.17/8.43  8 product(inverse(A),A,additive_identity) # label(multiplicative_inverse1) # label(axiom).  [assumption].
% 8.17/8.43  9 product(A,inverse(A),additive_identity) # label(multiplicative_inverse2) # label(axiom).  [assumption].
% 8.17/8.43  10 sum(A,B,add(A,B)) # label(closure_of_addition) # label(axiom).  [assumption].
% 8.17/8.43  11 product(A,B,multiply(A,B)) # label(closure_of_multiplication) # label(axiom).  [assumption].
% 8.17/8.43  12 product(inverse(x),inverse(y),x_inverse_times_y_inverse) # label(x_inverse_times_y_inverse) # label(negated_conjecture).  [assumption].
% 8.17/8.43  13 inverse(x_plus_y) != x_inverse_times_y_inverse # label(prove_equation) # label(negated_conjecture) # answer(prove_equation).  [assumption].
% 8.17/8.43  14 -sum(A,B,C) | sum(B,A,C) # label(commutativity_of_addition) # label(axiom).  [assumption].
% 8.17/8.43  15 -product(A,B,C) | product(B,A,C) # label(commutativity_of_multiplication) # label(axiom).  [assumption].
% 8.17/8.43  16 -sum(A,B,C) | -sum(A,B,D) | C = D # label(addition_is_well_defined) # label(axiom).  [assumption].
% 8.17/8.43  17 -product(A,B,C) | -product(A,B,D) | C = D # label(multiplication_is_well_defined) # label(axiom).  [assumption].
% 8.17/8.43  18 -product(A,B,C) | -product(A,D,E) | -sum(B,D,F) | -product(A,F,V6) | sum(C,E,V6) # label(distributivity1) # label(axiom).  [assumption].
% 8.17/8.43  19 -product(A,B,C) | -product(A,D,E) | -sum(B,D,F) | -sum(C,E,V6) | product(A,F,V6) # label(distributivity2) # label(axiom).  [assumption].
% 8.17/8.43  20 -product(A,B,C) | -product(D,B,E) | -sum(A,D,F) | -product(F,B,V6) | sum(C,E,V6) # label(distributivity3) # label(axiom).  [assumption].
% 8.17/8.43  21 -product(A,B,C) | -product(D,B,E) | -sum(A,D,F) | -sum(C,E,V6) | product(F,B,V6) # label(distributivity4) # label(axiom).  [assumption].
% 8.17/8.43  22 -sum(A,B,C) | -sum(A,D,E) | -product(B,D,F) | -sum(A,F,V6) | product(C,E,V6) # label(distributivity5) # label(axiom).  [assumption].
% 8.17/8.43  24 -sum(A,B,C) | -sum(D,B,E) | -product(A,D,F) | -sum(F,B,V6) | product(C,E,V6) # label(distributivity7) # label(axiom).  [assumption].
% 8.17/8.43  25 -sum(A,B,C) | -sum(D,B,E) | -product(A,D,F) | -product(C,E,V6) | sum(F,B,V6) # label(distributivity8) # label(axiom).  [assumption].
% 8.17/8.43  26 sum(A,B,add(B,A)).  [hyper(14,a,10,a)].
% 8.17/8.43  27 sum(y,x,x_plus_y).  [hyper(14,a,5,a)].
% 8.17/8.43  28 product(inverse(y),inverse(x),x_inverse_times_y_inverse).  [hyper(15,a,12,a)].
% 8.17/8.43  29 product(A,B,multiply(B,A)).  [hyper(15,a,11,a)].
% 8.17/8.43  30 add(A,inverse(A)) = multiplicative_identity.  [hyper(16,a,10,a,b,7,a)].
% 8.17/8.43  33 add(A,additive_identity) = A.  [hyper(16,a,10,a,b,2,a)].
% 8.17/8.43  39 -sum(additive_identity,inverse(x_plus_y),x_inverse_times_y_inverse) # answer(prove_equation).  [ur(16,b,1,a,c,13,a(flip))].
% 8.17/8.43  41 multiply(A,inverse(A)) = additive_identity.  [hyper(17,a,11,a,b,9,a)].
% 8.17/8.43  43 multiply(A,multiplicative_identity) = A.  [hyper(17,a,11,a,b,4,a)].
% 8.17/8.43  53 sum(x_inverse_times_y_inverse,multiply(inverse(x),inverse(inverse(y))),inverse(x)).  [hyper(18,a,12,a,b,11,a,c,7,a,d,11,a),rewrite([43(11)])].
% 8.17/8.43  56 sum(x_inverse_times_y_inverse,additive_identity,multiply(inverse(x),add(inverse(y),inverse(inverse(x))))).  [hyper(18,a,12,a,b,9,a,c,10,a,d,11,a)].
% 8.17/8.43  70 sum(additive_identity,multiply(A,additive_identity),additive_identity).  [hyper(18,a,11,a,b,11,a,c,2,a,d,9,a),rewrite([41(2)])].
% 8.17/8.43  216 product(add(A,B),C,add(multiply(A,C),multiply(B,C))).  [hyper(21,a,11,a,b,11,a,c,10,a,d,10,a)].
% 8.17/8.43  260 product(multiplicative_identity,add(A,multiplicative_identity),multiplicative_identity).  [hyper(22,a,10,a,b,10,a,c,4,a,d,7,a),rewrite([30(2)])].
% 8.17/8.43  276 product(add(A,B),A,add(A,multiply(B,additive_identity))).  [hyper(22,a,10,a,b,2,a,c,11,a,d,10,a)].
% 8.17/8.43  302 product(A,A,add(A,multiply(additive_identity,additive_identity))).  [hyper(22,a,2,a,b,2,a,c,11,a,d,10,a)].
% 8.17/8.43  514 product(add(A,B),B,add(B,multiply(A,additive_identity))).  [hyper(24,a,10,a,b,1,a,c,11,a,d,26,a)].
% 8.17/8.43  695 add(A,B) = add(B,A).  [hyper(16,a,10,a,b,26,a)].
% 8.17/8.43  961 product(A,add(A,B),add(A,multiply(B,additive_identity))).  [hyper(24,a,1,a,b,10,a,c,29,a,d,10,a),rewrite([695(1),695(4)])].
% 8.17/8.43  1061 sum(multiply(A,B),B,multiply(B,add(A,multiplicative_identity))).  [hyper(20,a,11,a,b,3,a,c,10,a,d,29,a)].
% 8.17/8.43  1146 multiply(A,B) = multiply(B,A).  [hyper(17,a,11,a,b,29,a)].
% 8.17/8.43  1219 product(A,additive_identity,additive_identity).  [hyper(22,a,10,a,b,10,a,c,11,a,d,70,a),rewrite([695(2),33(2),33(3)])].
% 8.17/8.43  1237 product(additive_identity,A,add(multiply(A,additive_identity),multiply(A,multiply(B,additive_identity)))).  [hyper(21,a,11,a,b,11,a,c,70,a,d,10,a),rewrite([1146(3),1146(6)])].
% 8.17/8.43  1244 multiply(A,additive_identity) = additive_identity.  [hyper(16,a,1,a,b,70,a)].
% 8.17/8.43  1245 product(additive_identity,A,additive_identity).  [back_rewrite(1237),rewrite([1244(3),1244(4),1244(4),33(4)])].
% 8.17/8.43  1247 product(A,add(A,B),A).  [back_rewrite(961),rewrite([1244(3),33(3)])].
% 8.17/8.43  1250 product(add(A,B),B,B).  [back_rewrite(514),rewrite([1244(3),33(3)])].
% 8.17/8.43  1254 product(A,A,A).  [back_rewrite(302),rewrite([1244(3),33(2)])].
% 8.17/8.43  1255 product(add(A,B),A,A).  [back_rewrite(276),rewrite([1244(3),33(3)])].
% 8.17/8.43  1265 product(x_plus_y,x,add(additive_identity,x)).  [hyper(24,a,27,a,b,1,a,c,1219,a,d,10,a)].
% 8.17/8.43  1266 product(x_plus_y,x,x).  [hyper(24,a,27,a,b,1,a,c,1219,a,d,1,a)].
% 8.17/8.43  1272 product(x_plus_y,y,y).  [hyper(24,a,5,a,b,1,a,c,1219,a,d,1,a)].
% 8.17/8.43  1405 sum(multiplicative_identity,A,multiply(multiplicative_identity,add(A,multiplicative_identity))).  [hyper(20,a,1254,a,b,4,a,c,10,a,d,11,a),rewrite([695(3),1146(5)])].
% 8.17/8.43  1416 multiply(A,A) = A.  [hyper(17,a,11,a,b,1254,a)].
% 8.17/8.43  1429 product(add(x_plus_y,inverse(x)),multiplicative_identity,multiplicative_identity).  [hyper(24,a,10,a,b,10,a,c,1266,a,d,7,a),rewrite([30(8)])].
% 8.17/8.43  1509 product(add(x_plus_y,inverse(y)),multiplicative_identity,multiplicative_identity).  [hyper(24,a,10,a,b,10,a,c,1272,a,d,7,a),rewrite([30(8)])].
% 8.17/8.43  1862 product(x_inverse_times_y_inverse,inverse(x),x_inverse_times_y_inverse).  [hyper(22,a,2,a,b,53,a,c,1245,a,d,2,a)].
% 8.17/8.43  2157 product(multiply(inverse(x),add(inverse(y),inverse(inverse(x)))),A,multiply(A,x_inverse_times_y_inverse)).  [hyper(24,a,56,a,b,10,a,c,11,a,d,2,a),rewrite([33(11),1146(11)])].
% 8.17/8.43  2191 product(multiply(inverse(x),add(inverse(y),inverse(inverse(x)))),add(A,x_inverse_times_y_inverse),x_inverse_times_y_inverse).  [hyper(22,a,56,a,b,10,a,c,1245,a,d,2,a),rewrite([695(11)])].
% 8.17/8.43  2221 multiply(inverse(x),add(inverse(y),inverse(inverse(x)))) = add(additive_identity,x_inverse_times_y_inverse).  [hyper(16,a,10,a,b,56,a),rewrite([695(3)]),flip(a)].
% 8.17/8.43  2222 add(additive_identity,x_inverse_times_y_inverse) = x_inverse_times_y_inverse.  [hyper(16,a,2,a,b,56,a),rewrite([2221(10)]),flip(a)].
% 8.17/8.43  2225 product(x_inverse_times_y_inverse,add(A,x_inverse_times_y_inverse),x_inverse_times_y_inverse).  [back_rewrite(2191),rewrite([2221(9),2222(3)])].
% 8.17/8.43  2228 product(x_inverse_times_y_inverse,A,multiply(A,x_inverse_times_y_inverse)).  [back_rewrite(2157),rewrite([2221(9),2222(3)])].
% 8.17/8.43  2293 sum(A,multiplicative_identity,multiplicative_identity).  [hyper(18,a,11,a,b,1254,a,c,10,a,d,260,a),rewrite([1146(2),43(2)])].
% 8.17/8.43  2305 add(A,multiplicative_identity) = multiplicative_identity.  [hyper(17,a,3,a,b,260,a)].
% 8.17/8.43  2306 sum(multiplicative_identity,A,multiplicative_identity).  [back_rewrite(1405),rewrite([2305(4),1416(4)])].
% 8.17/8.43  2310 sum(multiply(A,B),B,B).  [back_rewrite(1061),rewrite([2305(3),43(3)])].
% 8.17/8.43  2376 sum(x_inverse_times_y_inverse,inverse(x),inverse(x)).  [hyper(20,a,1862,a,b,3,a,c,2293,a,d,3,a)].
% 8.17/8.43  2394 sum(x_inverse_times_y_inverse,inverse(y),inverse(y)).  [hyper(20,a,12,a,b,3,a,c,2293,a,d,3,a)].
% 8.17/8.43  4031 multiply(A,add(B,A)) = A.  [hyper(17,a,11,a,b,1250,a),rewrite([1146(2)])].
% 8.17/8.43  4535 add(additive_identity,x) = x.  [hyper(17,a,1266,a,b,1265,a),flip(a)].
% 8.17/8.43  6349 sum(x_inverse_times_y_inverse,A,add(A,x_inverse_times_y_inverse)).  [hyper(20,a,2225,a,b,1247,a,c,10,a,d,11,a),rewrite([695(3),1416(6)])].
% 8.17/8.43  7211 add(A,multiply(B,A)) = A.  [hyper(16,a,10,a,b,2310,a),rewrite([695(2)])].
% 8.17/8.43  9717 sum(multiply(x,x_inverse_times_y_inverse),additive_identity,additive_identity).  [hyper(20,a,2228,a,b,11,a,c,2376,a,d,8,a),rewrite([1146(7),41(7)])].
% 8.17/8.43  10422 sum(multiply(y,x_inverse_times_y_inverse),additive_identity,additive_identity).  [hyper(20,a,2228,a,b,11,a,c,2394,a,d,8,a),rewrite([1146(7),41(7)])].
% 8.17/8.43  13841 product(x_inverse_times_y_inverse,x,additive_identity).  [hyper(24,a,6349,a,b,10,a,c,2228,a,d,9717,a),rewrite([2222(3),695(4),4535(4)])].
% 8.17/8.43  14446 sum(A,B,add(B,A)).  [hyper(18,a,216,a,b,1255,a,c,10,a,d,1250,a),rewrite([695(2),1146(3),4031(3),695(2),7211(2),695(1)])].
% 8.17/8.43  15171 product(x_inverse_times_y_inverse,x_plus_y,additive_identity).  [hyper(19,a,2228,a,b,13841,a,c,27,a,d,10422,a)].
% 8.17/8.43  15984 -product(add(x_inverse_times_y_inverse,inverse(x_plus_y)),multiplicative_identity,x_inverse_times_y_inverse) # answer(prove_equation).  [ur(25,a,10,a,b,10,a,c,15171,a,e,39,a),rewrite([30(8)])].
% 8.17/8.43  20104 sum(inverse(x),x_plus_y,multiplicative_identity).  [hyper(25,a,14446,a,b,2306,a,c,4,a,d,1429,a)].
% 8.17/8.43  20690 sum(x_inverse_times_y_inverse,x_plus_y,multiplicative_identity).  [hyper(25,a,14446,a,b,20104,a,c,28,a,d,1509,a)].
% 8.17/8.43  21156 product(add(x_inverse_times_y_inverse,inverse(x_plus_y)),multiplicative_identity,x_inverse_times_y_inverse).  [hyper(22,a,14446,a,b,20690,a,c,8,a,d,14446,a),rewrite([695(4),2222(8)])].
% 8.17/8.43  21157 $F # answer(prove_equation).  [resolve(21156,a,15984,a)].
% 8.17/8.43  
% 8.17/8.43  % SZS output end Refutation
% 8.17/8.43  ============================== end of proof ==========================
% 8.17/8.43  
% 8.17/8.43  ============================== STATISTICS ============================
% 8.17/8.43  
% 8.17/8.43  Given=382. Generated=453040. Kept=21156. proofs=1.
% 8.17/8.43  Usable=261. Sos=8890. Demods=76. Limbo=62, Disabled=11967. Hints=0.
% 8.17/8.43  Megabytes=13.00.
% 8.17/8.43  User_CPU=7.22, System_CPU=0.24, Wall_clock=8.
% 8.17/8.43  
% 8.17/8.43  ============================== end of statistics =====================
% 8.17/8.43  
% 8.17/8.43  ============================== end of search =========================
% 8.17/8.43  
% 8.17/8.43  THEOREM PROVED
% 8.17/8.43  % SZS status Unsatisfiable
% 8.17/8.43  
% 8.17/8.43  Exiting with 1 proof.
% 8.17/8.43  
% 8.17/8.43  Process 16662 exit (max_proofs) Wed Jun  1 23:09:00 2022
% 8.17/8.43  Prover9 interrupted
%------------------------------------------------------------------------------