TSTP Solution File: SEU244+1 by Geo-III---2018C
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Geo-III---2018C
% Problem : SEU244+1 : TPTP v8.1.0. Released v3.3.0.
% Transfm : none
% Format : tptp:raw
% Command : geo -tptp_input -nonempty -inputfile %s
% Computer : n015.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 : 300s
% DateTime : Sat Jul 23 06:17:36 EDT 2022
% Result : Theorem 0.13s 0.36s
% Output : Refutation 0.13s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.11 % Problem : SEU244+1 : TPTP v8.1.0. Released v3.3.0.
% 0.07/0.12 % Command : geo -tptp_input -nonempty -inputfile %s
% 0.13/0.33 % Computer : n015.cluster.edu
% 0.13/0.33 % Model : x86_64 x86_64
% 0.13/0.33 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.33 % Memory : 8042.1875MB
% 0.13/0.33 % OS : Linux 3.10.0-693.el7.x86_64
% 0.13/0.33 % CPULimit : 300
% 0.13/0.33 % WCLimit : 300
% 0.13/0.33 % DateTime : Fri Jul 22 19:44:06 EDT 2022
% 0.13/0.33 % CPUTime :
% 0.13/0.36 GeoParameters:
% 0.13/0.36
% 0.13/0.36 tptp_input = 1
% 0.13/0.36 tptp_output = 0
% 0.13/0.36 nonempty = 1
% 0.13/0.36 inputfile = /export/starexec/sandbox/benchmark/theBenchmark.p
% 0.13/0.36 includepath = /export/starexec/sandbox/solver/bin/../../benchmark/
% 0.13/0.36
% 0.13/0.36
% 0.13/0.36 % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p
% 0.13/0.36 % SZS output start Refutation for /export/starexec/sandbox/benchmark/theBenchmark.p
% 0.13/0.36
% 0.13/0.36 RuleSystem INPUT:
% 0.13/0.36
% 0.13/0.36 Initial Rules:
% 0.13/0.36 #0: input, references = 3, size of lhs = 3:
% 0.13/0.36 P_set_union2-{F}(V0,V1,V2), P_set_union2-{F}(V1,V0,V3), V2 == V3 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #1: input, references = 4, size of lhs = 3:
% 0.13/0.36 P_relation_field-{F}(V0,V1), relation-{F}(V0), antisymmetric-{F}(V0) | is_antisymmetric_in-{T}(V0,V1)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #2: input, references = 4, size of lhs = 3:
% 0.13/0.36 P_relation_field-{F}(V0,V1), relation-{F}(V0), is_antisymmetric_in-{F}(V0,V1) | antisymmetric-{T}(V0)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #3: input, references = 4, size of lhs = 3:
% 0.13/0.36 P_relation_field-{F}(V0,V1), relation-{F}(V0), connected-{F}(V0) | is_connected_in-{T}(V0,V1)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #4: input, references = 4, size of lhs = 3:
% 0.13/0.36 P_relation_field-{F}(V0,V1), relation-{F}(V0), is_connected_in-{F}(V0,V1) | connected-{T}(V0)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #5: input, references = 4, size of lhs = 3:
% 0.13/0.36 P_relation_field-{F}(V0,V1), relation-{F}(V0), transitive-{F}(V0) | is_transitive_in-{T}(V0,V1)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #6: input, references = 4, size of lhs = 3:
% 0.13/0.36 P_relation_field-{F}(V0,V1), relation-{F}(V0), is_transitive_in-{F}(V0,V1) | transitive-{T}(V0)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #7: input, references = 4, size of lhs = 2:
% 0.13/0.36 relation-{F}(V0), well_ordering-{F}(V0) | pppp0-{T}(V0)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #8: input, references = 4, size of lhs = 2:
% 0.13/0.36 relation-{F}(V0), pppp0-{F}(V0) | well_ordering-{T}(V0)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #9: input, references = 4, size of lhs = 1:
% 0.13/0.36 pppp0-{F}(V0) | pppp2-{T}(V0)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #10: input, references = 4, size of lhs = 5:
% 0.13/0.36 reflexive-{F}(V0), transitive-{F}(V0), antisymmetric-{F}(V0), connected-{F}(V0), well_founded_relation-{F}(V0) | pppp0-{T}(V0)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #11: input, references = 4, size of lhs = 1:
% 0.13/0.36 pppp2-{F}(V0) | well_founded_relation-{T}(V0)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #12: input, references = 4, size of lhs = 1:
% 0.13/0.36 pppp2-{F}(V0) | connected-{T}(V0)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #13: input, references = 4, size of lhs = 1:
% 0.13/0.36 pppp2-{F}(V0) | antisymmetric-{T}(V0)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #14: input, references = 4, size of lhs = 1:
% 0.13/0.36 pppp2-{F}(V0) | transitive-{T}(V0)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #15: input, references = 4, size of lhs = 1:
% 0.13/0.36 pppp2-{F}(V0) | reflexive-{T}(V0)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #16: input, references = 4, size of lhs = 2:
% 0.13/0.36 relation-{F}(V0), well_orders-{F}(V0,V1) | pppp1-{T}(V0,V1)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #17: input, references = 4, size of lhs = 2:
% 0.13/0.36 relation-{F}(V0), pppp1-{F}(V0,V1) | well_orders-{T}(V0,V1)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #18: input, references = 4, size of lhs = 1:
% 0.13/0.36 pppp1-{F}(V0,V1) | pppp3-{T}(V0,V1)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #19: input, references = 4, size of lhs = 5:
% 0.13/0.36 is_reflexive_in-{F}(V0,V1), is_transitive_in-{F}(V0,V1), is_antisymmetric_in-{F}(V0,V1), is_connected_in-{F}(V0,V1), is_well_founded_in-{F}(V0,V1) | pppp1-{T}(V0,V1)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #20: input, references = 4, size of lhs = 1:
% 0.13/0.36 pppp3-{F}(V0,V1) | is_well_founded_in-{T}(V0,V1)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #21: input, references = 4, size of lhs = 1:
% 0.13/0.36 pppp3-{F}(V0,V1) | is_connected_in-{T}(V0,V1)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #22: input, references = 4, size of lhs = 1:
% 0.13/0.36 pppp3-{F}(V0,V1) | is_antisymmetric_in-{T}(V0,V1)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #23: input, references = 4, size of lhs = 1:
% 0.13/0.36 pppp3-{F}(V0,V1) | is_transitive_in-{T}(V0,V1)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #24: input, references = 4, size of lhs = 1:
% 0.13/0.36 pppp3-{F}(V0,V1) | is_reflexive_in-{T}(V0,V1)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #25: input, references = 3, size of lhs = 6:
% 0.13/0.36 P_relation_field-{F}(V0,V1), P_relation_dom-{F}(V0,V2), P_relation_rng-{F}(V0,V3), P_set_union2-{F}(V2,V3,V4), relation-{F}(V0), V1 == V4 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #26: input, references = 4, size of lhs = 3:
% 0.13/0.36 P_relation_field-{F}(V0,V1), relation-{F}(V0), reflexive-{F}(V0) | is_reflexive_in-{T}(V0,V1)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #27: input, references = 4, size of lhs = 3:
% 0.13/0.36 P_relation_field-{F}(V0,V1), relation-{F}(V0), is_reflexive_in-{F}(V0,V1) | reflexive-{T}(V0)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #28: input, references = 3, size of lhs = 2:
% 0.13/0.36 P_set_union2-{F}(V0,V0,V1), V1 == V0 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #29: input, references = 4, size of lhs = 3:
% 0.13/0.36 P_relation_field-{F}(V0,V1), relation-{F}(V0), well_founded_relation-{F}(V0) | is_well_founded_in-{T}(V0,V1)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #30: input, references = 4, size of lhs = 3:
% 0.13/0.36 P_relation_field-{F}(V0,V1), relation-{F}(V0), is_well_founded_in-{F}(V0,V1) | well_founded_relation-{T}(V0)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #31: input, references = 4, size of lhs = 0:
% 0.13/0.36 FALSE | EXISTS V0: pppp5-{T}(V0)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #32: input, references = 4, size of lhs = 2:
% 0.13/0.36 pppp5-{F}(V0), P_relation_field-{F}(V0,V1) | pppp4-{T}(V0,V1)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #33: input, references = 5, size of lhs = 3:
% 0.13/0.36 pppp4-{F}(V0,V1), well_ordering-{F}(V0), well_orders-{F}(V0,V1) | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #34: input, references = 4, size of lhs = 1:
% 0.13/0.36 pppp4-{F}(V0,V1) | well_orders-{T}(V0,V1), well_ordering-{T}(V0)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #35: input, references = 4, size of lhs = 1:
% 0.13/0.36 pppp4-{F}(V0,V1) | relation-{T}(V0)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #36: input, references = 3, size of lhs = 2:
% 0.13/0.36 #-{F} V0, #-{F} V1 | EXISTS V2: P_set_union2-{T}(V0,V1,V2)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #37: input, references = 4, size of lhs = 1:
% 0.13/0.36 #-{F} V0 | EXISTS V1: P_relation_field-{T}(V0,V1)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #38: input, references = 3, size of lhs = 1:
% 0.13/0.36 #-{F} V0 | EXISTS V1: P_relation_dom-{T}(V0,V1)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #39: input, references = 3, size of lhs = 1:
% 0.13/0.36 #-{F} V0 | EXISTS V1: P_relation_rng-{T}(V0,V1)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 number of initial rules = 40
% 0.13/0.36
% 0.13/0.36 Simplifiers:
% 0.13/0.36 #40: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 relation-{F}(V0), relation-{F}(V1), V0 == V1 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #41: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 antisymmetric-{F}(V0), antisymmetric-{F}(V1), V0 == V1 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #42: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 is_antisymmetric_in-{F}(V0,V1), is_antisymmetric_in-{F}(V0,V3), V1 == V3 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #43: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 is_antisymmetric_in-{F}(V0,V1), is_antisymmetric_in-{F}(V2,V3), V0 == V2 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #44: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 connected-{F}(V0), connected-{F}(V1), V0 == V1 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #45: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 is_connected_in-{F}(V0,V1), is_connected_in-{F}(V0,V3), V1 == V3 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #46: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 is_connected_in-{F}(V0,V1), is_connected_in-{F}(V2,V3), V0 == V2 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #47: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 transitive-{F}(V0), transitive-{F}(V1), V0 == V1 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #48: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 is_transitive_in-{F}(V0,V1), is_transitive_in-{F}(V0,V3), V1 == V3 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #49: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 is_transitive_in-{F}(V0,V1), is_transitive_in-{F}(V2,V3), V0 == V2 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #50: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 well_ordering-{F}(V0), well_ordering-{F}(V1), V0 == V1 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #51: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 reflexive-{F}(V0), reflexive-{F}(V1), V0 == V1 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #52: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 well_founded_relation-{F}(V0), well_founded_relation-{F}(V1), V0 == V1 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #53: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 well_orders-{F}(V0,V1), well_orders-{F}(V2,V3), V0 == V2 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #54: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 well_orders-{F}(V0,V1), well_orders-{F}(V0,V3), V1 == V3 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #55: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 is_reflexive_in-{F}(V0,V1), is_reflexive_in-{F}(V2,V3), V0 == V2 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #56: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 is_reflexive_in-{F}(V0,V1), is_reflexive_in-{F}(V0,V3), V1 == V3 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #57: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 is_well_founded_in-{F}(V0,V1), is_well_founded_in-{F}(V2,V3), V0 == V2 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #58: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 is_well_founded_in-{F}(V0,V1), is_well_founded_in-{F}(V0,V3), V1 == V3 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #59: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 pppp0-{F}(V0), pppp0-{F}(V1), V0 == V1 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #60: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 pppp1-{F}(V0,V1), pppp1-{F}(V2,V3), V0 == V2 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #61: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 pppp1-{F}(V0,V1), pppp1-{F}(V0,V3), V1 == V3 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #62: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 P_set_union2-{F}(V0,V1,V2), P_set_union2-{F}(V0,V1,V5), V2 == V5 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #63: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 P_relation_field-{F}(V0,V1), P_relation_field-{F}(V0,V3), V1 == V3 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #64: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 P_relation_dom-{F}(V0,V1), P_relation_dom-{F}(V0,V3), V1 == V3 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #65: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 P_relation_rng-{F}(V0,V1), P_relation_rng-{F}(V0,V3), V1 == V3 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #66: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 pppp2-{F}(V0), pppp2-{F}(V1), V0 == V1 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #67: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 pppp3-{F}(V0,V1), pppp3-{F}(V2,V3), V0 == V2 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #68: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 pppp3-{F}(V0,V1), pppp3-{F}(V0,V3), V1 == V3 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #69: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 pppp4-{F}(V0,V1), pppp4-{F}(V2,V3), V0 == V2 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #70: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 pppp4-{F}(V0,V1), pppp4-{F}(V0,V3), V1 == V3 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #71: unsound, references = 3, size of lhs = 3:
% 0.13/0.36 pppp5-{F}(V0), pppp5-{F}(V1), V0 == V1 | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 number of simplifiers = 32
% 0.13/0.36
% 0.13/0.36 Learnt:
% 0.13/0.36 #88: mergings( V1 == V2; #86 ), references = 1, size of lhs = 3:
% 0.13/0.36 relation-{F}(V0), P_relation_field-{F}(V0,V1), pppp4-{F}(V0,V1) | well_orders-{T}(V0,V1)
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #107: exists( #37, #105 ), references = 1, size of lhs = 1:
% 0.13/0.36 pppp5-{F}(V0) | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 #109: exists( #31, #106 ), references = 1, size of lhs = 0:
% 0.13/0.36 FALSE | FALSE
% 0.13/0.36 (used 0 times, uses = {})
% 0.13/0.36
% 0.13/0.36 number of learnt formulas = 3
% 0.13/0.36
% 0.13/0.36
% 0.13/0.36 % SZS output end Refutation for /export/starexec/sandbox/benchmark/theBenchmark.p
% 0.13/0.36
% 0.13/0.36 randbase = 1
%------------------------------------------------------------------------------