TSTP Solution File: SEU395+1 by SOS---2.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : SOS---2.0
% Problem  : SEU395+1 : TPTP v8.1.0. Released v3.3.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : sos-script %s

% Computer : n029.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 : Tue Jul 19 14:29:22 EDT 2022

% Result   : Unknown 1.80s 2.03s
% Output   : None 
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----No solution output by system
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.13  % Problem  : SEU395+1 : TPTP v8.1.0. Released v3.3.0.
% 0.07/0.13  % Command  : sos-script %s
% 0.14/0.35  % Computer : n029.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 : 300
% 0.14/0.35  % WCLimit  : 600
% 0.14/0.35  % DateTime : Mon Jun 20 05:11:30 EDT 2022
% 0.14/0.35  % CPUTime  : 
% 0.14/0.38  ----- Otter 3.2, August 2001 -----
% 0.14/0.38  The process was started by sandbox on n029.cluster.edu,
% 0.14/0.38  Mon Jun 20 05:11:30 2022
% 0.14/0.38  The command was "./sos".  The process ID is 5086.
% 0.14/0.38  
% 0.14/0.38  set(prolog_style_variables).
% 0.14/0.38  set(auto).
% 0.14/0.38     dependent: set(auto1).
% 0.14/0.38     dependent: set(process_input).
% 0.14/0.38     dependent: clear(print_kept).
% 0.14/0.38     dependent: clear(print_new_demod).
% 0.14/0.38     dependent: clear(print_back_demod).
% 0.14/0.38     dependent: clear(print_back_sub).
% 0.14/0.38     dependent: set(control_memory).
% 0.14/0.38     dependent: assign(max_mem, 12000).
% 0.14/0.38     dependent: assign(pick_given_ratio, 4).
% 0.14/0.38     dependent: assign(stats_level, 1).
% 0.14/0.38     dependent: assign(pick_semantic_ratio, 3).
% 0.14/0.38     dependent: assign(sos_limit, 5000).
% 0.14/0.38     dependent: assign(max_weight, 60).
% 0.14/0.38  clear(print_given).
% 0.14/0.38  
% 0.14/0.38  formula_list(usable).
% 0.14/0.38  
% 0.14/0.38  SCAN INPUT: prop=0, horn=0, equality=1, symmetry=0, max_lits=10.
% 0.14/0.38  
% 0.14/0.38  This ia a non-Horn set with equality.  The strategy will be
% 0.14/0.38  Knuth-Bendix, ordered hyper_res, ur_res, factoring, and
% 0.14/0.38  unit deletion, with positive clauses in sos and nonpositive
% 0.14/0.38  clauses in usable.
% 0.14/0.38  
% 0.14/0.38     dependent: set(knuth_bendix).
% 0.14/0.38     dependent: set(para_from).
% 0.14/0.38     dependent: set(para_into).
% 0.14/0.38     dependent: clear(para_from_right).
% 0.14/0.38     dependent: clear(para_into_right).
% 0.14/0.38     dependent: set(para_from_vars).
% 0.14/0.38     dependent: set(eq_units_both_ways).
% 0.14/0.38     dependent: set(dynamic_demod_all).
% 0.14/0.38     dependent: set(dynamic_demod).
% 0.14/0.38     dependent: set(order_eq).
% 0.14/0.38     dependent: set(back_demod).
% 0.14/0.38     dependent: set(lrpo).
% 0.14/0.38     dependent: set(hyper_res).
% 0.14/0.38     dependent: set(unit_deletion).
% 0.14/0.38     dependent: set(factor).
% 0.14/0.38  
% 0.14/0.38  ------------> process usable:
% 0.14/0.38    Following clause subsumed by 31 during input processing: 0 [] {-} -topological_space(A)| -top_str(A)| -element(B,powerset(the_carrier(A)))| -open_subset(B,A)| -nowhere_dense(B,A)|boundary_set(B,A).
% 0.14/0.38    Following clause subsumed by 16 during input processing: 0 [] {-} -rel_str(A)| -reflexive_relstr(A)| -with_suprema_relstr(A)| -up_complete_relstr(A)| -empty_carrier(A).
% 0.14/0.38    Following clause subsumed by 61 during input processing: 0 [] {-} empty_carrier(A)| -one_sorted_str(A)|empty_carrier(B)| -net_str(B,A)|function(the_mapping(A,B)).
% 0.14/0.38    Following clause subsumed by 62 during input processing: 0 [] {-} empty_carrier(A)| -one_sorted_str(A)|empty_carrier(B)| -net_str(B,A)|quasi_total(the_mapping(A,B),the_carrier(B),the_carrier(A)).
% 0.14/0.38    Following clause subsumed by 73 during input processing: 0 [] {-} empty(A)| -empty_carrier(boole_POSet(A)).
% 0.14/0.38    Following clause subsumed by 74 during input processing: 0 [] {-} empty(A)| -v1_yellow_3(boole_POSet(A)).
% 0.14/0.38    Following clause subsumed by 66 during input processing: 0 [] {-} empty_carrier(A)| -rel_str(A)| -empty(cast_as_carrier_subset(A)).
% 0.14/0.38    Following clause subsumed by 66 during input processing: 0 [] {-} empty_carrier(A)| -upper_bounded_relstr(A)| -rel_str(A)| -empty(cast_as_carrier_subset(A)).
% 0.14/0.38    Following clause subsumed by 79 during input processing: 0 [] {-} empty_carrier(A)| -one_sorted_str(A)|empty_carrier(B)| -transitive_relstr(B)| -directed_relstr(B)| -net_str(B,A)| -empty(filter_of_net_str(A,B)).
% 0.14/0.38    Following clause subsumed by 80 during input processing: 0 [] {-} empty_carrier(A)| -one_sorted_str(A)|empty_carrier(B)| -transitive_relstr(B)| -directed_relstr(B)| -net_str(B,A)|upper_relstr_subset(filter_of_net_str(A,B),boole_POSet(cast_as_carrier_subset(A))).
% 0.14/0.38    Following clause subsumed by 53 during input processing: 0 [] {-} empty_carrier(A)| -one_sorted_str(A)|empty(B)| -element(B,powerset(the_carrier(A)))|empty(C)| -filtered_subset(C,boole_POSet(B))| -upper_relstr_subset(C,boole_POSet(B))| -element(C,powerset(the_carrier(boole_POSet(B))))| -empty_carrier(net_of_bool_filter(A,B,C)).
% 0.14/0.38    Following clause subsumed by 54 during input processing: 0 [] {-} empty_carrier(A)| -one_sorted_str(A)|empty(B)| -element(B,powerset(the_carrier(A)))|empty(C)| -filtered_subset(C,boole_POSet(B))| -upper_relstr_subset(C,boole_POSet(B))| -element(C,powerset(the_carrier(boole_POSet(B))))|strict_net_str(net_of_bool_filter(A,B,C),A).
% 0.14/0.38    Following clause subsumed by 66 during input processing: 0 [] {-} empty_carrier(A)| -lower_bounded_relstr(A)| -rel_str(A)| -empty(cast_as_carrier_subset(A)).
% 0.14/0.39    Following clause subsumed by 53 during input processing: 0 [] {-} empty_carrier(A)| -one_sorted_str(A)|empty(B)| -element(B,powerset(the_carrier(A)))|empty(C)| -filtered_subset(C,boole_POSet(B))| -upper_relstr_subset(C,boole_POSet(B))| -proper_element(C,powerset(the_carrier(boole_POSet(B))))| -element(C,powerset(the_carrier(boole_POSet(B))))| -empty_carrier(net_of_bool_filter(A,B,C)).
% 0.14/0.39    Following clause subsumed by 87 during input processing: 0 [] {-} empty_carrier(A)| -one_sorted_str(A)|empty(B)| -element(B,powerset(the_carrier(A)))|empty(C)| -filtered_subset(C,boole_POSet(B))| -upper_relstr_subset(C,boole_POSet(B))| -proper_element(C,powerset(the_carrier(boole_POSet(B))))| -element(C,powerset(the_carrier(boole_POSet(B))))|reflexive_relstr(net_of_bool_filter(A,B,C)).
% 0.14/0.39    Following clause subsumed by 88 during input processing: 0 [] {-} empty_carrier(A)| -one_sorted_str(A)|empty(B)| -element(B,powerset(the_carrier(A)))|empty(C)| -filtered_subset(C,boole_POSet(B))| -upper_relstr_subset(C,boole_POSet(B))| -proper_element(C,powerset(the_carrier(boole_POSet(B))))| -element(C,powerset(the_carrier(boole_POSet(B))))|transitive_relstr(net_of_bool_filter(A,B,C)).
% 0.14/0.39    Following clause subsumed by 54 during input processing: 0 [] {-} empty_carrier(A)| -one_sorted_str(A)|empty(B)| -element(B,powerset(the_carrier(A)))|empty(C)| -filtered_subset(C,boole_POSet(B))| -upper_relstr_subset(C,boole_POSet(B))| -proper_element(C,powerset(the_carrier(boole_POSet(B))))| -element(C,powerset(the_carrier(boole_POSet(B))))|strict_net_str(net_of_bool_filter(A,B,C),A).
% 0.14/0.39    Following clause subsumed by 48 during input processing: 0 [] {-} -one_sorted_str(A)|empty(B)| -relation_of2(C,B,B)| -function(D)| -quasi_total(D,B,the_carrier(A))| -relation_of2(D,B,the_carrier(A))|strict_net_str(net_str_of(A,B,C,D),A).
% 0.14/0.39    Following clause subsumed by 73 during input processing: 0 [] {-} -empty_carrier(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 89 during input processing: 0 [] {-} -topological_space(A)| -top_str(A)|closed_subset(cast_as_carrier_subset(A),A).
% 0.14/0.39    Following clause subsumed by 73 during input processing: 0 [] {-} -empty_carrier(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 73 during input processing: 0 [] {-} -empty_carrier(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 74 during input processing: 0 [] {-} -v1_yellow_3(boole_POSet(A)).
% 0.14/0.39  44 back subsumes 11.
% 0.14/0.39  
% 0.14/0.39  ------------> process sos:
% 0.14/0.39    Following clause subsumed by 262 during input processing: 0 [] {-} strict_rel_str(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 262 during input processing: 0 [] {-} empty(A)|strict_rel_str(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 273 during input processing: 0 [] {-} empty(A)|reflexive_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 274 during input processing: 0 [] {-} empty(A)|transitive_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 275 during input processing: 0 [] {-} empty(A)|antisymmetric_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 276 during input processing: 0 [] {-} empty(A)|lower_bounded_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 277 during input processing: 0 [] {-} empty(A)|upper_bounded_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 278 during input processing: 0 [] {-} empty(A)|bounded_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 279 during input processing: 0 [] {-} empty(A)|up_complete_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 280 during input processing: 0 [] {-} empty(A)|join_complete_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 281 during input processing: 0 [] {-} empty(A)|distributive_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 282 during input processing: 0 [] {-} empty(A)|heyting_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 283 during input processing: 0 [] {-} empty(A)|complemented_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 284 during input processing: 0 [] {-} empty(A)|boolean_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 285 during input processing: 0 [] {-} empty(A)|with_suprema_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 286 during input processing: 0 [] {-} empty(A)|with_infima_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 287 during input processing: 0 [] {-} empty(A)|complete_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 270 during input processing: 0 [] {-} empty(empty_set).
% 0.14/0.39    Following clause subsumed by 271 during input processing: 0 [] {-} relation(empty_set).
% 0.14/0.39    Following clause subsumed by 262 during input processing: 0 [] {-} strict_rel_str(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 273 during input processing: 0 [] {-} reflexive_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 274 during input processing: 0 [] {-} transitive_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 275 during input processing: 0 [] {-} antisymmetric_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 262 during input processing: 0 [] {-} strict_rel_str(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 273 during input processing: 0 [] {-} reflexive_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 274 during input processing: 0 [] {-} transitive_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 275 during input processing: 0 [] {-} antisymmetric_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 276 during input processing: 0 [] {-} lower_bounded_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 277 during input processing: 0 [] {-} upper_bounded_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 278 during input processing: 0 [] {-} bounded_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 285 during input processing: 0 [] {-} with_suprema_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 286 during input processing: 0 [] {-} with_infima_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 287 during input processing: 0 [] {-} complete_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 262 during input processing: 0 [] {-} strict_rel_str(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 273 during input processing: 0 [] {-} reflexive_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 274 during input processing: 0 [] {-} transitive_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 275 during input processing: 0 [] {-} antisymmetric_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 276 during input processing: 0 [] {-} lower_bounded_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 277 during input processing: 0 [] {-} upper_bounded_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 278 during input processing: 0 [] {-} bounded_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 279 during input processing: 0 [] {-} up_complete_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 280 during input processing: 0 [] {-} join_complete_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 285 during input processing: 0 [] {-} with_suprema_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 286 during input processing: 0 [] {-} with_infima_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 287 during input processing: 0 [] {-} complete_relstr(boole_POSet(A)).
% 0.14/0.39    Following clause subsumed by 384 during input processing: 0 [copy,384,flip.1] {-} A=A.
% 0.14/0.39  384 back subsumes 261.
% 0.14/0.39  384 back subsumes 260.
% 0.14/0.39  
% 0.14/0.39  ======= end of input processing =======
% 0.60/0.82  
% 0.60/0.82  Stopped by limit on insertions
% 0.60/0.82  
% 0.60/0.82  
% 0.60/0.82  Failed to model usable list: disabling FINDER
% 0.60/0.82  
% 0.60/0.82  
% 0.60/0.82  
% 0.60/0.82  -------------- Softie stats --------------
% 0.60/0.82  
% 0.60/0.82  UPDATE_STOP: 300
% 0.60/0.82  SFINDER_TIME_LIMIT: 2
% 0.60/0.82  SHORT_CLAUSE_CUTOFF: 4
% 0.60/0.82  number of clauses in intial UL: 254
% 0.60/0.82  number of clauses initially in problem: 377
% 0.60/0.82  percentage of clauses intially in UL: 67
% 0.60/0.82  percentage of distinct symbols occuring in initial UL: 88
% 0.60/0.82  percent of all initial clauses that are short: 99
% 0.60/0.82  absolute distinct symbol count: 119
% 0.60/0.82     distinct predicate count: 56
% 0.60/0.82     distinct function count: 43
% 0.60/0.82     distinct constant count: 20
% 0.60/0.82  
% 0.60/0.82  ---------- no more Softie stats ----------
% 0.60/0.82  
% 0.60/0.82  
% 0.60/0.82  
% 0.60/0.82  =========== start of search ===========
% 1.46/1.68  
% 1.46/1.68  
% 1.46/1.68  Changing weight limit from 60 to 53.
% 1.46/1.68  
% 1.46/1.68  Resetting weight limit to 53 after 200 givens.
% 1.46/1.68  
% 1.51/1.72  
% 1.51/1.72  
% 1.51/1.72  Changing weight limit from 53 to 48.
% 1.51/1.72  
% 1.51/1.72  Resetting weight limit to 48 after 205 givens.
% 1.51/1.72  
% 1.61/1.79  
% 1.61/1.79  
% 1.61/1.79  Changing weight limit from 48 to 46.
% 1.61/1.79  
% 1.61/1.79  Resetting weight limit to 46 after 210 givens.
% 1.61/1.79  
% 1.67/1.85  
% 1.67/1.85  
% 1.67/1.85  Changing weight limit from 46 to 43.
% 1.67/1.85  
% 1.67/1.85  Resetting weight limit to 43 after 215 givens.
% 1.67/1.85  
% 1.74/1.94  
% 1.74/1.94  
% 1.74/1.94  Changing weight limit from 43 to 40.
% 1.74/1.94  
% 1.74/1.94  Resetting weight limit to 40 after 220 givens.
% 1.74/1.94  
% 1.80/2.00  
% 1.80/2.00  
% 1.80/2.00  Changing weight limit from 40 to 39.
% 1.80/2.00  
% 1.80/2.00  Resetting weight limit to 39 after 225 givens.
% 1.80/2.00  
% 1.80/2.03  element($f11(A),B).
% 1.80/2.03  
% 1.80/2.03  ------------- memory usage ------------
% 1.80/2.03  257 mallocs of 32700 bytes each, 8206.9 K.
% 1.80/2.03    type (bytes each)        gets      frees     in use      avail      bytes
% 1.80/2.03  sym_ent ( 304)              237          0        237          0     70.4 K
% 1.80/2.03  term (  32)              474942     447489      27453       2251    928.2 K
% 1.80/2.03  rel (  40)               378897     332384      46513       4176   1980.0 K
% 1.80/2.03  term_ptr (  16)          214700      80873     133827      17933   2371.2 K
% 1.80/2.03  formula_ptr_2 (  56)          0          0          0          0      0.0 K
% 1.80/2.03  fpa_head (  24)            8481       1183       7298        591    184.9 K
% 1.80/2.03  fpa_tree (  56)           29272      29272          0        361     19.7 K
% 1.80/2.03  context (1288)            78941      78941          0         10     12.6 K
% 1.80/2.03  trail (  24)            1174894    1174894          0         13      0.3 K
% 1.80/2.03  imd_tree (  32)              41          0         41          0      1.3 K
% 1.80/2.03  imd_pos (4024)              320        320          0          1      3.9 K
% 1.80/2.03  is_tree (  24)            15029       3197      11832       1501    312.5 K
% 1.80/2.03  is_pos (2424)            698898     698898          0         12     28.4 K
% 1.80/2.03  fsub_pos (  16)           70830      70830          0          1      0.0 K
% 1.80/2.03  literal (  32)            88563      65143      23420       2093    797.3 K
% 1.80/2.03  clause (  88)             15402       9468       5934         49    514.2 K
% 1.80/2.03  list ( 272)                 147        140          7          2      2.4 K
% 1.80/2.03  clash_nd (  80)           11600      11600          0          6      0.5 K
% 1.80/2.03  clause_ptr (  16)          6586        989       5597         48     88.2 K
% 1.80/2.03  int_ptr (  16)            72285      29100      43185        589    684.0 K
% 1.80/2.03  ci_ptr (  24)                 0          0          0          0      0.0 K
% 1.80/2.03  link_node ( 120)              0          0          0          0      0.0 K
% 1.80/2.03  ans_lit_node(  24)            0          0          0          0      0.0 K
% 1.80/2.03  formula_box( 168)             0          0          0          0      0.0 K
% 1.80/2.03  formula(  40)              3228       3228          0       1374     53.7 K
% 1.80/2.03  formula_ptr(  16)           137        137          0        137      2.1 K
% 1.80/2.03  cl_attribute(  24)            0          0          0          0      0.0 K
% 1.80/2.03  
% 1.80/2.03  ********** is_delete, can't find end.
% 1.80/2.03  k subsume         0.00
% 1.80/2.03    factor time          0.00
% 1.80/2.03  FINDER time            0.00
% 1.80/2.03    unindex time         0.00
% 1.80/2.03  
% 1.80/2.03  Forward subsumption counts, subsumer:number_subsumed.
% 1.80/2.03   1:0     2:3     3:0     4:4     5:0     6:0     7:0     8:0     9:0    10:0   
% 1.80/2.03  11:0    12:0    13:0    14:0    15:17   16:1    17:3    18:2    19:2    20:2   
% 1.80/2.03  21:0    22:0    23:1    24:0    25:2    26:0    27:0    28:0    29:2    30:0   
% 1.80/2.03  31:3    32:0    33:0    34:2    35:0    36:0    37:2    38:2    39:2    40:2   
% 1.80/2.03  41:2    42:2    43:2    44:0    45:1    46:1    47:1    48:4    49:3    50:3   
% 1.80/2.03  51:3    52:5    53:10   54:10   55:8    56:0    57:0    58:0    59:2    60:3   
% 1.80/2.03  61:2    62:4    63:3    64:1    65:1    66:4    67:1    68:1    69:1    70:1   
% 1.80/2.03  71:1    72:9    73:5    74:3    75:1    76:1    77:1    78:1    79:2    80:4   
% 1.80/2.03  81:1    82:3    83:5    84:1    85:1    86:1    87:9    88:9    89:2    90:1   
% 1.80/2.03  91:11   92:3    93:1    94:1    95:4    96:0    97:2    98:2    99:5    
% 1.80/2.03  All others: 3373.
% 1.80/2.03  
% 1.80/2.03  ********** ABNORMAL END **********
% 1.80/2.03  
% 1.80/2.03  ********** is_delete, can't find end.
%------------------------------------------------------------------------------