TSTP Solution File: SWC389-1 by iProver---3.9
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : iProver---3.9
% Problem : SWC389-1 : TPTP v8.1.2. Released v2.4.0.
% Transfm : none
% Format : tptp:raw
% Command : run_iprover %s %d THM
% Computer : n004.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 : Fri May 3 03:12:18 EDT 2024
% Result : Unsatisfiable 7.55s 1.61s
% Output : CNFRefutation 7.55s
% Verified :
% SZS Type : ERROR: Analysing output (Could not find formula named definition)
% Comments :
%------------------------------------------------------------------------------
cnf(c_51,negated_conjecture,
ssList(sk3),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',co1_3) ).
cnf(c_52,negated_conjecture,
ssList(sk4),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',co1_4) ).
cnf(c_53,negated_conjecture,
sk2 = sk4,
file('/export/starexec/sandbox/benchmark/theBenchmark.p',co1_5) ).
cnf(c_54,negated_conjecture,
sk1 = sk3,
file('/export/starexec/sandbox/benchmark/theBenchmark.p',co1_6) ).
cnf(c_55,negated_conjecture,
( sk4 = nil
| ssItem(sk5) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',co1_7) ).
cnf(c_56,negated_conjecture,
( sk3 = nil
| ssItem(sk5) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',co1_8) ).
cnf(c_59,negated_conjecture,
( cons(sk5,nil) = sk3
| sk4 = nil ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',co1_11) ).
cnf(c_60,negated_conjecture,
( app(app(sk6,sk3),sk7) = sk4
| sk4 = nil ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',co1_12) ).
cnf(c_63,negated_conjecture,
( sk3 = nil
| ssList(sk6) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',co1_15) ).
cnf(c_64,negated_conjecture,
( sk3 = nil
| ssList(sk7) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',co1_16) ).
cnf(c_65,negated_conjecture,
( cons(sk5,nil) = sk3
| sk3 = nil ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',co1_17) ).
cnf(c_66,negated_conjecture,
( app(app(sk6,sk3),sk7) = sk4
| sk3 = nil ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',co1_18) ).
cnf(c_69,negated_conjecture,
( ~ segmentP(sk2,sk1)
| neq(sk2,nil) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',co1_21) ).
cnf(c_70,negated_conjecture,
( ~ segmentP(sk2,sk1)
| ~ singletonP(sk1) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',co1_22) ).
cnf(c_78,plain,
ssList(nil),
file('/export/starexec/sandbox/benchmark/Axioms/SWC001-0.ax',clause8) ).
cnf(c_81,plain,
~ singletonP(nil),
file('/export/starexec/sandbox/benchmark/Axioms/SWC001-0.ax',clause11) ).
cnf(c_127,plain,
( ~ ssList(X0)
| segmentP(X0,X0) ),
file('/export/starexec/sandbox/benchmark/Axioms/SWC001-0.ax',clause57) ).
cnf(c_143,plain,
( ~ ssList(X0)
| app(X0,nil) = X0 ),
file('/export/starexec/sandbox/benchmark/Axioms/SWC001-0.ax',clause73) ).
cnf(c_144,plain,
( ~ ssList(X0)
| app(nil,X0) = X0 ),
file('/export/starexec/sandbox/benchmark/Axioms/SWC001-0.ax',clause74) ).
cnf(c_185,plain,
( X0 != X1
| ~ neq(X0,X1)
| ~ ssList(X0)
| ~ ssList(X1) ),
file('/export/starexec/sandbox/benchmark/Axioms/SWC001-0.ax',clause115) ).
cnf(c_186,plain,
( cons(X0,nil) != X1
| ~ ssList(X1)
| ~ ssItem(X0)
| singletonP(X1) ),
file('/export/starexec/sandbox/benchmark/Axioms/SWC001-0.ax',clause116) ).
cnf(c_243,plain,
( app(app(X0,X1),X2) != X3
| ~ ssList(X0)
| ~ ssList(X1)
| ~ ssList(X2)
| ~ ssList(X3)
| segmentP(X3,X1) ),
file('/export/starexec/sandbox/benchmark/Axioms/SWC001-0.ax',clause173) ).
cnf(c_260,plain,
( ~ ssList(cons(X0,nil))
| ~ ssItem(X0)
| singletonP(cons(X0,nil)) ),
inference(unflattening,[status(thm)],[c_186]) ).
cnf(c_261,plain,
( ~ neq(X0,X0)
| ~ ssList(X0) ),
inference(unflattening,[status(thm)],[c_185]) ).
cnf(c_270,plain,
( ~ ssList(app(app(X0,X1),X2))
| ~ ssList(X0)
| ~ ssList(X1)
| ~ ssList(X2)
| segmentP(app(app(X0,X1),X2),X1) ),
inference(unflattening,[status(thm)],[c_243]) ).
cnf(c_324,plain,
( ~ ssList(nil)
| segmentP(nil,nil) ),
inference(instantiation,[status(thm)],[c_127]) ).
cnf(c_1706,plain,
( ~ segmentP(sk4,sk3)
| ~ singletonP(sk3) ),
inference(light_normalisation,[status(thm)],[c_70,c_53,c_54]) ).
cnf(c_1711,plain,
( ~ segmentP(sk4,sk3)
| neq(sk4,nil) ),
inference(light_normalisation,[status(thm)],[c_69,c_53,c_54]) ).
cnf(c_2743,plain,
( X0 != sk4
| X0 != nil
| ~ segmentP(sk4,sk3)
| ~ ssList(X0) ),
inference(resolution_lifted,[status(thm)],[c_261,c_1711]) ).
cnf(c_2744,plain,
( sk4 != nil
| ~ segmentP(sk4,sk3)
| ~ ssList(sk4) ),
inference(unflattening,[status(thm)],[c_2743]) ).
cnf(c_2745,plain,
( ~ segmentP(sk4,sk3)
| sk4 != nil ),
inference(global_subsumption_just,[status(thm)],[c_2744,c_52,c_2744]) ).
cnf(c_2746,plain,
( sk4 != nil
| ~ segmentP(sk4,sk3) ),
inference(renaming,[status(thm)],[c_2745]) ).
cnf(c_6648,plain,
app(sk6,sk3) = sP2_iProver_def,
definition ).
cnf(c_6649,plain,
app(sP2_iProver_def,sk7) = sP3_iProver_def,
definition ).
cnf(c_6650,plain,
cons(sk5,nil) = sP4_iProver_def,
definition ).
cnf(c_6653,negated_conjecture,
( sk3 = nil
| sP3_iProver_def = sk4 ),
inference(demodulation,[status(thm)],[c_66,c_6648,c_6649]) ).
cnf(c_6654,negated_conjecture,
( sk3 = nil
| sP4_iProver_def = sk3 ),
inference(demodulation,[status(thm)],[c_65,c_6650]) ).
cnf(c_6655,negated_conjecture,
( sk3 = nil
| ssList(sk7) ),
inference(demodulation,[status(thm)],[c_64]) ).
cnf(c_6656,negated_conjecture,
( sk3 = nil
| ssList(sk6) ),
inference(demodulation,[status(thm)],[c_63]) ).
cnf(c_6659,negated_conjecture,
( sk4 = nil
| sP3_iProver_def = sk4 ),
inference(demodulation,[status(thm)],[c_60]) ).
cnf(c_6660,negated_conjecture,
( sk4 = nil
| sP4_iProver_def = sk3 ),
inference(demodulation,[status(thm)],[c_59]) ).
cnf(c_6663,negated_conjecture,
( sk3 = nil
| ssItem(sk5) ),
inference(demodulation,[status(thm)],[c_56]) ).
cnf(c_6664,negated_conjecture,
( sk4 = nil
| ssItem(sk5) ),
inference(demodulation,[status(thm)],[c_55]) ).
cnf(c_6667,negated_conjecture,
ssList(sk4),
inference(demodulation,[status(thm)],[c_52]) ).
cnf(c_6668,negated_conjecture,
ssList(sk3),
inference(demodulation,[status(thm)],[c_51]) ).
cnf(c_9347,plain,
( sk3 = nil
| ssList(sP3_iProver_def) ),
inference(superposition,[status(thm)],[c_6653,c_6667]) ).
cnf(c_9424,plain,
( ~ segmentP(sP3_iProver_def,sk3)
| ~ singletonP(sk3)
| sk3 = nil ),
inference(superposition,[status(thm)],[c_6653,c_1706]) ).
cnf(c_9515,plain,
( ~ segmentP(sk4,sk3)
| sk3 = sP4_iProver_def ),
inference(superposition,[status(thm)],[c_6660,c_2746]) ).
cnf(c_9516,plain,
( ~ segmentP(sk4,sk3)
| sk4 = sP3_iProver_def ),
inference(superposition,[status(thm)],[c_6659,c_2746]) ).
cnf(c_9530,plain,
( ~ segmentP(nil,sk3)
| sk3 = sP4_iProver_def ),
inference(superposition,[status(thm)],[c_6660,c_9515]) ).
cnf(c_9534,plain,
( ~ segmentP(sk4,nil)
| sk3 = sP4_iProver_def ),
inference(superposition,[status(thm)],[c_6654,c_9515]) ).
cnf(c_9548,plain,
( ~ segmentP(nil,sk3)
| sk4 = sP3_iProver_def ),
inference(superposition,[status(thm)],[c_6659,c_9516]) ).
cnf(c_9562,plain,
( ~ segmentP(nil,nil)
| sk3 = sP4_iProver_def ),
inference(superposition,[status(thm)],[c_6654,c_9530]) ).
cnf(c_9565,plain,
sk3 = sP4_iProver_def,
inference(global_subsumption_just,[status(thm)],[c_9534,c_78,c_324,c_9562]) ).
cnf(c_9568,plain,
( ~ segmentP(sk4,sP4_iProver_def)
| sk4 = sP3_iProver_def ),
inference(demodulation,[status(thm)],[c_9516,c_9565]) ).
cnf(c_9574,plain,
( ~ segmentP(sP3_iProver_def,sP4_iProver_def)
| ~ singletonP(sP4_iProver_def)
| nil = sP4_iProver_def ),
inference(demodulation,[status(thm)],[c_9424,c_9565]) ).
cnf(c_9578,plain,
( nil = sP4_iProver_def
| ssList(sP3_iProver_def) ),
inference(demodulation,[status(thm)],[c_9347,c_9565]) ).
cnf(c_9579,plain,
app(sk6,sP4_iProver_def) = sP2_iProver_def,
inference(demodulation,[status(thm)],[c_6648,c_9565]) ).
cnf(c_9584,plain,
( sk4 = sP3_iProver_def
| nil = sP4_iProver_def ),
inference(demodulation,[status(thm)],[c_6653,c_9565]) ).
cnf(c_9585,plain,
( nil = sP4_iProver_def
| ssItem(sk5) ),
inference(demodulation,[status(thm)],[c_6663,c_9565]) ).
cnf(c_9586,plain,
( nil = sP4_iProver_def
| ssList(sk6) ),
inference(demodulation,[status(thm)],[c_6656,c_9565]) ).
cnf(c_9587,plain,
( nil = sP4_iProver_def
| ssList(sk7) ),
inference(demodulation,[status(thm)],[c_6655,c_9565]) ).
cnf(c_9589,plain,
ssList(sP4_iProver_def),
inference(demodulation,[status(thm)],[c_6668,c_9565]) ).
cnf(c_9639,plain,
( ~ segmentP(nil,sP4_iProver_def)
| sk4 = sP3_iProver_def ),
inference(light_normalisation,[status(thm)],[c_9548,c_9565]) ).
cnf(c_9713,plain,
( ~ ssList(sP4_iProver_def)
| ~ ssItem(sk5)
| singletonP(cons(sk5,nil)) ),
inference(superposition,[status(thm)],[c_6650,c_260]) ).
cnf(c_9714,plain,
( ~ ssList(sP4_iProver_def)
| ~ ssItem(sk5)
| singletonP(sP4_iProver_def) ),
inference(light_normalisation,[status(thm)],[c_9713,c_6650]) ).
cnf(c_9715,plain,
( ~ ssItem(sk5)
| singletonP(sP4_iProver_def) ),
inference(forward_subsumption_resolution,[status(thm)],[c_9714,c_9589]) ).
cnf(c_9726,plain,
( nil = sP4_iProver_def
| singletonP(sP4_iProver_def) ),
inference(superposition,[status(thm)],[c_9585,c_9715]) ).
cnf(c_9727,plain,
( sk4 = nil
| singletonP(sP4_iProver_def) ),
inference(superposition,[status(thm)],[c_6664,c_9715]) ).
cnf(c_9743,plain,
( ~ segmentP(sP3_iProver_def,sP4_iProver_def)
| nil = sP4_iProver_def ),
inference(backward_subsumption_resolution,[status(thm)],[c_9574,c_9726]) ).
cnf(c_9993,plain,
( ~ ssList(app(app(sk6,sP4_iProver_def),X0))
| ~ ssList(X0)
| ~ ssList(sk6)
| ~ ssList(sP4_iProver_def)
| segmentP(app(sP2_iProver_def,X0),sP4_iProver_def) ),
inference(superposition,[status(thm)],[c_9579,c_270]) ).
cnf(c_9999,plain,
( ~ ssList(app(sP2_iProver_def,X0))
| ~ ssList(X0)
| ~ ssList(sk6)
| ~ ssList(sP4_iProver_def)
| segmentP(app(sP2_iProver_def,X0),sP4_iProver_def) ),
inference(light_normalisation,[status(thm)],[c_9993,c_9579]) ).
cnf(c_10000,plain,
( ~ ssList(app(sP2_iProver_def,X0))
| ~ ssList(X0)
| ~ ssList(sk6)
| segmentP(app(sP2_iProver_def,X0),sP4_iProver_def) ),
inference(forward_subsumption_resolution,[status(thm)],[c_9999,c_9589]) ).
cnf(c_10063,plain,
app(sP4_iProver_def,nil) = sP4_iProver_def,
inference(superposition,[status(thm)],[c_9589,c_143]) ).
cnf(c_10105,plain,
app(nil,sk4) = sk4,
inference(superposition,[status(thm)],[c_6667,c_144]) ).
cnf(c_10139,plain,
app(nil,sP4_iProver_def) = sP4_iProver_def,
inference(superposition,[status(thm)],[c_9589,c_144]) ).
cnf(c_10222,plain,
( ~ ssList(app(app(nil,sk4),X0))
| ~ ssList(X0)
| ~ ssList(sk4)
| ~ ssList(nil)
| segmentP(app(sk4,X0),sk4) ),
inference(superposition,[status(thm)],[c_10105,c_270]) ).
cnf(c_10223,plain,
( ~ ssList(app(sk4,X0))
| ~ ssList(X0)
| ~ ssList(sk4)
| ~ ssList(nil)
| segmentP(app(sk4,X0),sk4) ),
inference(light_normalisation,[status(thm)],[c_10222,c_10105]) ).
cnf(c_10224,plain,
( ~ ssList(app(sk4,X0))
| ~ ssList(X0)
| segmentP(app(sk4,X0),sk4) ),
inference(forward_subsumption_resolution,[status(thm)],[c_10223,c_78,c_6667]) ).
cnf(c_10415,plain,
( ~ ssList(app(sk4,X0))
| ~ ssList(X0)
| nil = sP4_iProver_def
| segmentP(app(sP3_iProver_def,X0),sP3_iProver_def) ),
inference(superposition,[status(thm)],[c_9584,c_10224]) ).
cnf(c_10485,plain,
( ~ ssList(app(app(nil,sP4_iProver_def),X0))
| ~ ssList(X0)
| ~ ssList(nil)
| ~ ssList(sP4_iProver_def)
| segmentP(app(sP4_iProver_def,X0),sP4_iProver_def) ),
inference(superposition,[status(thm)],[c_10139,c_270]) ).
cnf(c_10490,plain,
( ~ ssList(app(sP4_iProver_def,X0))
| ~ ssList(X0)
| ~ ssList(nil)
| ~ ssList(sP4_iProver_def)
| segmentP(app(sP4_iProver_def,X0),sP4_iProver_def) ),
inference(light_normalisation,[status(thm)],[c_10485,c_10139]) ).
cnf(c_10491,plain,
( ~ ssList(app(sP4_iProver_def,X0))
| ~ ssList(X0)
| segmentP(app(sP4_iProver_def,X0),sP4_iProver_def) ),
inference(forward_subsumption_resolution,[status(thm)],[c_10490,c_9589,c_78]) ).
cnf(c_10914,plain,
( ~ ssList(app(sP4_iProver_def,nil))
| ~ ssList(nil)
| segmentP(sP4_iProver_def,sP4_iProver_def) ),
inference(superposition,[status(thm)],[c_10063,c_10491]) ).
cnf(c_10915,plain,
( ~ ssList(nil)
| ~ ssList(sP4_iProver_def)
| segmentP(sP4_iProver_def,sP4_iProver_def) ),
inference(light_normalisation,[status(thm)],[c_10914,c_10063]) ).
cnf(c_10916,plain,
segmentP(sP4_iProver_def,sP4_iProver_def),
inference(forward_subsumption_resolution,[status(thm)],[c_10915,c_9589,c_78]) ).
cnf(c_11092,plain,
( ~ ssList(app(sP2_iProver_def,sk7))
| ~ ssList(sk6)
| ~ ssList(sk7)
| segmentP(sP3_iProver_def,sP4_iProver_def) ),
inference(superposition,[status(thm)],[c_6649,c_10000]) ).
cnf(c_11094,plain,
( ~ ssList(sk6)
| ~ ssList(sk7)
| ~ ssList(sP3_iProver_def)
| segmentP(sP3_iProver_def,sP4_iProver_def) ),
inference(light_normalisation,[status(thm)],[c_11092,c_6649]) ).
cnf(c_11104,plain,
nil = sP4_iProver_def,
inference(global_subsumption_just,[status(thm)],[c_10415,c_9587,c_9586,c_9578,c_9743,c_11094]) ).
cnf(c_11158,plain,
( sk4 = sP4_iProver_def
| singletonP(sP4_iProver_def) ),
inference(demodulation,[status(thm)],[c_9727,c_11104]) ).
cnf(c_11168,plain,
( ~ segmentP(sP4_iProver_def,sP4_iProver_def)
| sk4 = sP3_iProver_def ),
inference(demodulation,[status(thm)],[c_9639,c_11104]) ).
cnf(c_11172,plain,
~ singletonP(sP4_iProver_def),
inference(demodulation,[status(thm)],[c_81,c_11104]) ).
cnf(c_11192,plain,
sk4 = sP4_iProver_def,
inference(forward_subsumption_resolution,[status(thm)],[c_11158,c_11172]) ).
cnf(c_11217,plain,
sk4 = sP3_iProver_def,
inference(forward_subsumption_resolution,[status(thm)],[c_11168,c_10916]) ).
cnf(c_11242,plain,
~ ssItem(sk5),
inference(backward_subsumption_resolution,[status(thm)],[c_9715,c_11172]) ).
cnf(c_11255,plain,
( ~ segmentP(sP4_iProver_def,sP4_iProver_def)
| sP3_iProver_def = sP4_iProver_def ),
inference(demodulation,[status(thm)],[c_9568,c_11192]) ).
cnf(c_11258,plain,
sP3_iProver_def = sP4_iProver_def,
inference(forward_subsumption_resolution,[status(thm)],[c_11255,c_10916]) ).
cnf(c_11262,plain,
segmentP(sP3_iProver_def,sP3_iProver_def),
inference(demodulation,[status(thm)],[c_10916,c_11258]) ).
cnf(c_11268,plain,
sk3 = sP3_iProver_def,
inference(demodulation,[status(thm)],[c_9565,c_11258]) ).
cnf(c_11484,plain,
$false,
inference(smt_impl_just,[status(thm)],[c_11268,c_11262,c_11242,c_11217,c_2746,c_6664]) ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.09/0.10 % Problem : SWC389-1 : TPTP v8.1.2. Released v2.4.0.
% 0.09/0.11 % Command : run_iprover %s %d THM
% 0.10/0.31 % Computer : n004.cluster.edu
% 0.10/0.31 % Model : x86_64 x86_64
% 0.10/0.31 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.10/0.31 % Memory : 8042.1875MB
% 0.10/0.31 % OS : Linux 3.10.0-693.el7.x86_64
% 0.10/0.31 % CPULimit : 300
% 0.10/0.31 % WCLimit : 300
% 0.10/0.31 % DateTime : Thu May 2 23:21:03 EDT 2024
% 0.10/0.31 % CPUTime :
% 0.16/0.42 Running first-order theorem proving
% 0.16/0.42 Running: /export/starexec/sandbox/solver/bin/run_problem --schedule fof_schedule --heuristic_context casc_unsat --no_cores 8 /export/starexec/sandbox/benchmark/theBenchmark.p 300
% 7.55/1.61 % SZS status Started for theBenchmark.p
% 7.55/1.61 % SZS status Unsatisfiable for theBenchmark.p
% 7.55/1.61
% 7.55/1.61 %---------------- iProver v3.9 (pre CASC 2024/SMT-COMP 2024) ----------------%
% 7.55/1.61
% 7.55/1.61 ------ iProver source info
% 7.55/1.61
% 7.55/1.61 git: date: 2024-05-02 19:28:25 +0000
% 7.55/1.61 git: sha1: a33b5eb135c74074ba803943bb12f2ebd971352f
% 7.55/1.61 git: non_committed_changes: false
% 7.55/1.61
% 7.55/1.61 ------ Parsing...successful
% 7.55/1.61
% 7.55/1.61
% 7.55/1.61
% 7.55/1.61 ------ Preprocessing... sup_sim: 6 sf_s rm: 1 0s sf_e pe_s pe:1:0s pe_e sup_sim: 0 sf_s rm: 2 0s sf_e pe_s pe_e
% 7.55/1.61
% 7.55/1.61 ------ Preprocessing... gs_s sp: 2 0s gs_e snvd_s sp: 0 0s snvd_e
% 7.55/1.61
% 7.55/1.61 ------ Preprocessing... sf_s rm: 1 0s sf_e sf_s rm: 0 0s sf_e
% 7.55/1.61 ------ Proving...
% 7.55/1.61 ------ Problem Properties
% 7.55/1.61
% 7.55/1.61
% 7.55/1.61 clauses 200
% 7.55/1.61 conjectures 18
% 7.55/1.61 EPR 72
% 7.55/1.61 Horn 162
% 7.55/1.61 unary 65
% 7.55/1.61 binary 33
% 7.55/1.61 lits 588
% 7.55/1.61 lits eq 93
% 7.55/1.61 fd_pure 0
% 7.55/1.61 fd_pseudo 0
% 7.55/1.61 fd_cond 15
% 7.55/1.61 fd_pseudo_cond 14
% 7.55/1.61 AC symbols 0
% 7.55/1.61
% 7.55/1.61 ------ Schedule dynamic 5 is on
% 7.55/1.61
% 7.55/1.61 ------ Input Options "--resolution_flag false --inst_lit_sel_side none" Time Limit: 10.
% 7.55/1.61
% 7.55/1.61
% 7.55/1.61 ------
% 7.55/1.61 Current options:
% 7.55/1.61 ------
% 7.55/1.61
% 7.55/1.61
% 7.55/1.61
% 7.55/1.61
% 7.55/1.61 ------ Proving...
% 7.55/1.61
% 7.55/1.61
% 7.55/1.61 % SZS status Unsatisfiable for theBenchmark.p
% 7.55/1.61
% 7.55/1.61 % SZS output start CNFRefutation for theBenchmark.p
% See solution above
% 7.55/1.61
% 7.55/1.62
%------------------------------------------------------------------------------