TSTP Solution File: FLD040-3 by SOS---2.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : SOS---2.0
% Problem  : FLD040-3 : TPTP v8.1.0. Bugfixed v2.1.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : sos-script %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 : Sat Jul 16 02:27:46 EDT 2022

% Result   : Unsatisfiable 12.05s 12.30s
% Output   : Refutation 12.05s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.10/0.11  % Problem  : FLD040-3 : TPTP v8.1.0. Bugfixed v2.1.0.
% 0.10/0.12  % Command  : sos-script %s
% 0.11/0.32  % Computer : n022.cluster.edu
% 0.11/0.32  % Model    : x86_64 x86_64
% 0.11/0.32  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.11/0.32  % Memory   : 8042.1875MB
% 0.11/0.32  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.11/0.32  % CPULimit : 300
% 0.11/0.33  % WCLimit  : 600
% 0.11/0.33  % DateTime : Mon Jun  6 13:01:20 EDT 2022
% 0.11/0.33  % CPUTime  : 
% 0.11/0.34  ----- Otter 3.2, August 2001 -----
% 0.11/0.34  The process was started by sandbox2 on n022.cluster.edu,
% 0.11/0.34  Mon Jun  6 13:01:20 2022
% 0.11/0.34  The command was "./sos".  The process ID is 6467.
% 0.11/0.34  
% 0.11/0.34  set(prolog_style_variables).
% 0.11/0.34  set(auto).
% 0.11/0.34     dependent: set(auto1).
% 0.11/0.34     dependent: set(process_input).
% 0.11/0.34     dependent: clear(print_kept).
% 0.11/0.34     dependent: clear(print_new_demod).
% 0.11/0.34     dependent: clear(print_back_demod).
% 0.11/0.34     dependent: clear(print_back_sub).
% 0.11/0.34     dependent: set(control_memory).
% 0.11/0.34     dependent: assign(max_mem, 12000).
% 0.11/0.34     dependent: assign(pick_given_ratio, 4).
% 0.11/0.34     dependent: assign(stats_level, 1).
% 0.11/0.34     dependent: assign(pick_semantic_ratio, 3).
% 0.11/0.34     dependent: assign(sos_limit, 5000).
% 0.11/0.34     dependent: assign(max_weight, 60).
% 0.11/0.34  clear(print_given).
% 0.11/0.34  
% 0.11/0.34  list(usable).
% 0.11/0.34  
% 0.11/0.34  SCAN INPUT: prop=0, horn=0, equality=0, symmetry=0, max_lits=5.
% 0.11/0.34  
% 0.11/0.34  This is a non-Horn set without equality.  The strategy
% 0.11/0.34  will be ordered hyper_res, ur_res, unit deletion, and
% 0.11/0.34  factoring, with satellites in sos and nuclei in usable.
% 0.11/0.34  
% 0.11/0.34     dependent: set(hyper_res).
% 0.11/0.34     dependent: set(factor).
% 0.11/0.34     dependent: set(unit_deletion).
% 0.11/0.34  
% 0.11/0.34  ------------> process usable:
% 0.11/0.34  
% 0.11/0.34  ------------> process sos:
% 0.11/0.34  
% 0.11/0.34  ======= end of input processing =======
% 0.17/0.43  
% 0.17/0.43  Model 1 (0.00 seconds, 0 Inserts)
% 0.17/0.43  
% 0.17/0.43  Stopped by limit on number of solutions
% 0.17/0.43  
% 0.17/0.43  
% 0.17/0.43  -------------- Softie stats --------------
% 0.17/0.43  
% 0.17/0.43  UPDATE_STOP: 300
% 0.17/0.43  SFINDER_TIME_LIMIT: 2
% 0.17/0.43  SHORT_CLAUSE_CUTOFF: 4
% 0.17/0.43  number of clauses in intial UL: 48
% 0.17/0.43  number of clauses initially in problem: 52
% 0.17/0.43  percentage of clauses intially in UL: 92
% 0.17/0.43  percentage of distinct symbols occuring in initial UL: 100
% 0.17/0.43  percent of all initial clauses that are short: 100
% 0.17/0.43  absolute distinct symbol count: 11
% 0.17/0.43     distinct predicate count: 4
% 0.17/0.43     distinct function count: 4
% 0.17/0.43     distinct constant count: 3
% 0.17/0.43  
% 0.17/0.43  ---------- no more Softie stats ----------
% 0.17/0.43  
% 0.17/0.43  
% 0.17/0.43  
% 0.17/0.43  Model 2 (0.00 seconds, 0 Inserts)
% 0.17/0.43  
% 0.17/0.43  Stopped by limit on number of solutions
% 0.17/0.43  
% 0.17/0.43  =========== start of search ===========
% 4.45/4.66  
% 4.45/4.66  
% 4.45/4.66  Changing weight limit from 60 to 14.
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 3 [ 2 2 147 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 4 [ 2 1 233 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 5 [ 2 1 173 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 6 [ 3 1 187 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 7 [ 7 1 186 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 8 [ 2 2 133 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 9 [ 2 1 231 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 10 [ 2 1 571 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 11 [ 2 1 110 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 12 [ 11 1 290 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 13 [ 3 2 101 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 14 [ 3 1 460 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 15 [ 15 1 168 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 16 [ 3 2 445 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 17 [ 4 1 102 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 18 [ 3 2 232 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 19 [ 7 1 221 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 20 [ 7 1 3573 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 21 [ 4 1 369 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 22 [ 4 1 416 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 23 [ 16 1 146 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 24 [ 5 1 267 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 25 [ 5 2 101 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 26 [ 26 1 460 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 27 [ 6 2 657 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 28 [ 9 1 134 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 29 [ 27 2 146 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 30 [ 10 1 350 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 31 [ 26 2 267 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 32 [ 8 1 447 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Stopped by limit on insertions
% 4.45/4.66  
% 4.45/4.66  Model 33 [ 5 6 180787 ] (0.00 seconds, 250000 Inserts)
% 4.45/4.66  
% 4.45/4.66  Resetting weight limit to 14 after 45 givens.
% 4.45/4.66  
% 6.03/6.29  
% 6.03/6.29  
% 6.03/6.29  Changing weight limit from 14 to 12.
% 6.03/6.29  
% 6.03/6.29  Stopped by limit on insertions
% 6.03/6.29  
% 6.03/6.29  Model 34 [ 27 1 128 ] (0.00 seconds, 250000 Inserts)
% 6.03/6.29  
% 6.03/6.29  Stopped by limit on insertions
% 6.03/6.29  
% 6.03/6.29  Model 35 [ 8 2 112 ] (0.00 seconds, 250000 Inserts)
% 6.03/6.29  
% 6.03/6.29  Stopped by limit on insertions
% 6.03/6.29  
% 6.03/6.29  Model 36 [ 29 2 141 ] (0.00 seconds, 250000 Inserts)
% 6.03/6.29  
% 6.03/6.29  Stopped by limit on insertions
% 6.03/6.29  
% 6.03/6.29  Model 37 [ 11 4 38392 ] (0.00 seconds, 250000 Inserts)
% 6.03/6.29  
% 6.03/6.29  Stopped by limit on insertions
% 6.03/6.29  
% 6.03/6.29  Model 38 [ 15 2 524 ] (0.00 seconds, 250000 Inserts)
% 6.03/6.29  
% 6.03/6.29  Stopped by limit on insertions
% 6.03/6.29  
% 6.03/6.29  Stopped by limit on insertions
% 6.03/6.29  
% 6.03/6.29  Model 39 [ 32 1 320 ] (0.00 seconds, 250000 Inserts)
% 6.03/6.29  
% 6.03/6.29  Stopped by limit on insertions
% 6.03/6.29  
% 6.03/6.29  Model 40 [ 6 1 236 ] (0.00 seconds, 250000 Inserts)
% 6.03/6.29  
% 6.03/6.29  Resetting weight limit to 12 after 60 givens.
% 6.03/6.29  
% 6.93/7.15  
% 6.93/7.15  
% 6.93/7.15  Changing weight limit from 12 to 13.
% 6.93/7.15  
% 6.93/7.15  Stopped by limit on insertions
% 6.93/7.15  
% 6.93/7.15  Model 41 [ 37 2 344 ] (0.00 seconds, 250000 Inserts)
% 6.93/7.15  
% 6.93/7.15  Stopped by limit on insertions
% 6.93/7.15  
% 6.93/7.15  Model 42 [ 34 2 251 ] (0.00 seconds, 250000 Inserts)
% 6.93/7.15  
% 6.93/7.15  Stopped by limit on insertions
% 6.93/7.15  
% 6.93/7.15  Model 43 [ 15 2 103 ] (0.00 seconds, 250000 Inserts)
% 6.93/7.15  
% 6.93/7.15  Stopped by limit on insertions
% 6.93/7.15  
% 6.93/7.15  Model 44 [ 10 8 71299 ] (0.00 seconds, 250000 Inserts)
% 6.93/7.15  
% 6.93/7.15  Resetting weight limit to 13 after 70 givens.
% 6.93/7.15  
% 7.90/8.09  
% 7.90/8.09  
% 7.90/8.09  Changing weight limit from 13 to 12.
% 7.90/8.09  
% 7.90/8.09  Stopped by limit on insertions
% 7.90/8.09  
% 7.90/8.09  Model 45 [ 43 1 102 ] (0.00 seconds, 250000 Inserts)
% 7.90/8.09  
% 7.90/8.09  Stopped by limit on insertions
% 7.90/8.09  
% 7.90/8.09  Model 46 [ 15 24 248531 ] (0.00 seconds, 250000 Inserts)
% 7.90/8.09  
% 7.90/8.09  Stopped by limit on insertions
% 7.90/8.09  
% 7.90/8.09  Model 47 [ 15 3 16366 ] (0.00 seconds, 250000 Inserts)
% 7.90/8.09  
% 7.90/8.09  Resetting weight limit to 12 after 75 givens.
% 7.90/8.09  
% 12.05/12.30  
% 12.05/12.30  -- HEY sandbox2, WE HAVE A PROOF!! -- 
% 12.05/12.30  
% 12.05/12.30  Stopped by limit on insertions
% 12.05/12.30  
% 12.05/12.30  Model 48 [ 43 1 199 ] (0.00 seconds, 250000 Inserts)
% 12.05/12.30  
% 12.05/12.30  Stopped by limit on insertions
% 12.05/12.30  
% 12.05/12.30  Model 49 [ 10 2 647 ] (0.00 seconds, 250000 Inserts)
% 12.05/12.30  
% 12.05/12.30  Stopped by limit on insertions
% 12.05/12.30  
% 12.05/12.30  Model 50 [ 44 2 137 ] (0.00 seconds, 250000 Inserts)
% 12.05/12.30  
% 12.05/12.30  Stopped by limit on insertions
% 12.05/12.30  
% 12.05/12.30  Model 51 [ 11 1 1838 ] (0.00 seconds, 250000 Inserts)
% 12.05/12.30  
% 12.05/12.30  Stopped by limit on insertions
% 12.05/12.30  
% 12.05/12.30  Model 52 [ 47 2 104 ] (0.00 seconds, 250000 Inserts)
% 12.05/12.30  
% 12.05/12.30  Stopped by limit on insertions
% 12.05/12.30  
% 12.05/12.30  Model 53 [ 12 2 731 ] (0.00 seconds, 250000 Inserts)
% 12.05/12.30  
% 12.05/12.30  Stopped by limit on insertions
% 12.05/12.30  
% 12.05/12.30  Model 54 [ 41 4 97145 ] (0.00 seconds, 250000 Inserts)
% 12.05/12.30  
% 12.05/12.30  Stopped by limit on insertions
% 12.05/12.30  
% 12.05/12.30  Model 55 [ 18 11 62753 ] (0.00 seconds, 250000 Inserts)
% 12.05/12.30  
% 12.05/12.30  Stopped by limit on insertions
% 12.05/12.30  
% 12.05/12.30  Model 56 [ 16 6 50547 ] (0.00 seconds, 250000 Inserts)
% 12.05/12.30  
% 12.05/12.30  Stopped by limit on insertions
% 12.05/12.30  
% 12.05/12.30  Model 57 [ 17 2 5267 ] (0.00 seconds, 250000 Inserts)
% 12.05/12.30  
% 12.05/12.30  Stopped by limit on insertions
% 12.05/12.30  
% 12.05/12.30  Model 58 [ 11 46 212847 ] (0.00 seconds, 250000 Inserts)
% 12.05/12.30  
% 12.05/12.30  Stopped by limit on insertions
% 12.05/12.30  
% 12.05/12.30  Model 59 [ 17 4 32860 ] (0.00 seconds, 250000 Inserts)
% 12.05/12.30  
% 12.05/12.30  Stopped by limit on insertions
% 12.05/12.30  
% 12.05/12.30  Model 60 [ 45 1 196 ] (0.00 seconds, 250000 Inserts)
% 12.05/12.30  
% 12.05/12.30  Stopped by limit on insertions
% 12.05/12.30  
% 12.05/12.30  Model 61 [ 53 2 8152 ] (0.00 seconds, 250000 Inserts)
% 12.05/12.30  
% 12.05/12.30  ----> UNIT CONFLICT at  11.89 sec ----> 11907 [binary,11906.1,24.1] {-} $F.
% 12.05/12.30  
% 12.05/12.30  Length of proof is 14.  Level of proof is 5.
% 12.05/12.30  
% 12.05/12.30  ---------------- PROOF ----------------
% 12.05/12.30  % SZS status Unsatisfiable
% 12.05/12.30  % SZS output start Refutation
% 12.05/12.30  
% 12.05/12.30  1 [] {+} sum(A,B,C)| -sum(A,D,E)| -sum(D,F,B)| -sum(E,F,C).
% 12.05/12.30  2 [] {+} sum(A,B,C)| -sum(D,E,A)| -sum(E,B,F)| -sum(D,F,C).
% 12.05/12.30  3 [] {+} sum(additive_identity,A,A)| -defined(A).
% 12.05/12.30  4 [] {+} sum(additive_inverse(A),A,additive_identity)| -defined(A).
% 12.05/12.30  5 [] {+} sum(A,B,C)| -sum(B,A,C).
% 12.05/12.30  8 [] {+} product(multiplicative_identity,A,A)| -defined(A).
% 12.05/12.30  9 [] {+} product(multiplicative_inverse(A),A,multiplicative_identity)|sum(additive_identity,A,additive_identity)| -defined(A).
% 12.05/12.30  11 [] {+} sum(A,B,C)| -sum(D,E,F)| -product(F,G,C)| -product(D,G,A)| -product(E,G,B).
% 12.05/12.30  24 [] {+} -sum(additive_identity,additive_identity,multiplicative_identity).
% 12.05/12.30  25 [] {+} -sum(additive_identity,a,additive_identity).
% 12.05/12.30  27 [factor,1.3.4] {+} sum(A,B,B)| -sum(A,C,C)| -sum(C,D,B).
% 12.05/12.30  29 [factor,2.3.4] {+} sum(A,B,B)| -sum(C,C,A)| -sum(C,B,B).
% 12.05/12.30  35 [factor,11.3.5] {+} sum(A,B,B)| -sum(C,D,D)| -product(D,E,B)| -product(C,E,A).
% 12.05/12.30  49 [] {+} defined(additive_identity).
% 12.05/12.30  50 [] {-} defined(multiplicative_identity).
% 12.05/12.30  51 [] {-} defined(a).
% 12.05/12.30  52 [] {+} sum(additive_identity,additive_identity,multiplicative_inverse(a)).
% 12.05/12.30  63 [hyper,49,3] {+} sum(additive_identity,additive_identity,additive_identity).
% 12.05/12.30  83 [hyper,50,3] {+} sum(additive_identity,multiplicative_identity,multiplicative_identity).
% 12.05/12.30  109 [hyper,51,9,unit_del,25] {+} product(multiplicative_inverse(a),a,multiplicative_identity).
% 12.05/12.30  110 [hyper,51,8] {+} product(multiplicative_identity,a,a).
% 12.05/12.30  111 [hyper,51,4] {+} sum(additive_inverse(a),a,additive_identity).
% 12.05/12.30  1312 [hyper,83,29,52] {+} sum(multiplicative_inverse(a),multiplicative_identity,multiplicative_identity).
% 12.05/12.30  1313 [hyper,83,5] {+} sum(multiplicative_identity,additive_identity,multiplicative_identity).
% 12.05/12.30  1815 [hyper,111,5] {+} sum(a,additive_inverse(a),additive_identity).
% 12.05/12.30  11572 [hyper,1312,35,110,109] {+} sum(multiplicative_identity,a,a).
% 12.05/12.30  11862 [hyper,11572,27,1815] {+} sum(multiplicative_identity,additive_identity,additive_identity).
% 12.05/12.30  11906 [hyper,11862,2,63,1313] {-} sum(additive_identity,additive_identity,multiplicative_identity).
% 12.05/12.30  11907 [binary,11906.1,24.1] {-} $F.
% 12.05/12.30  
% 12.05/12.30  % SZS output end Refutation
% 12.05/12.30  ------------ end of proof -------------
% 12.05/12.30  
% 12.05/12.30  
% 12.05/12.30  Search stopped by max_proofs option.
% 12.05/12.30  
% 12.05/12.30  
% 12.05/12.30  Search stopped by max_proofs option.
% 12.05/12.30  
% 12.05/12.30  ============ end of search ============
% 12.05/12.30  
% 12.05/12.30  ----------- soft-scott stats ----------
% 12.05/12.30  
% 12.05/12.30  true clauses given          21      (19.1%)
% 12.05/12.30  false clauses given         89
% 12.05/12.30  
% 12.05/12.30        FALSE     TRUE
% 12.05/12.30     4  0         1
% 12.05/12.30     5  42        13
% 12.05/12.30     6  391       19
% 12.05/12.30     7  817       17
% 12.05/12.30     8  1250      33
% 12.05/12.30     9  0         3
% 12.05/12.30    10  0         1
% 12.05/12.30    11  0         3
% 12.05/12.30    12  0         48
% 12.05/12.30  tot:  2500      138      (5.2% true)
% 12.05/12.31  
% 12.05/12.31  
% 12.05/12.31  Model 61 [ 53 2 8152 ] (0.00 seconds, 250000 Inserts)
% 12.05/12.31  
% 12.05/12.31  That finishes the proof of the theorem.
% 12.05/12.31  
% 12.05/12.31  Process 6467 finished Mon Jun  6 13:01:32 2022
%------------------------------------------------------------------------------