%------------------------------------------------------------------------------
% File : E---3.5.1
% Problem : ITP019_2 : TPTP v9.3.1. Bugfixed v7.5.0.
% Transfm : none
% Format : tptp:raw
% Command : run_E /export/starexec/sandbox2/benchmark/theBenchmark.p 300 THM
% Computer : n020.cluster.edu
% Model : x86_64 x86_64
% CPU : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory : 8046.5625MB
% OS : Linux 6.8.0-71-generic
% CPULimit : 300s
% WCLimit : 300s
% DateTime : Thu Sep 24 12:53:47 PM UTC 2026
% Result : Theorem 0.04s 0.43s
% Output : CNFRefutation 0.04s
% Verified :
% SZS Type : Refutation
% Derivation depth : 6
% Number of leaves : 3
% Syntax : Number of formulae : 15 ( 7 unt; 0 typ; 0 def)
% Number of atoms : 25 ( 24 equ)
% Maximal formula atoms : 4 ( 1 avg)
% Number of connectives : 25 ( 15 ~; 4 |; 2 &)
% ( 1 <=>; 3 =>; 0 <=; 0 <~>)
% Maximal formula depth : 5 ( 3 avg)
% Maximal term depth : 4 ( 2 avg)
% Number of types : 3 ( 2 usr)
% Number of type conns : 0 ( 0 >; 0 *; 0 +; 0 <<)
% Number of predicates : 2 ( 0 usr; 1 prp; 0-2 aty)
% Number of functors : 9 ( 9 usr; 5 con; 0-2 aty)
% Number of variables : 7 ( 0 sgn 7 !; 0 ?; 7 :)
% Comments :
%------------------------------------------------------------------------------
tff(decl_sort1,type,
tp__ty_2Enum_2Enum: $tType ).
tff(decl_sort2,type,
tp__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal: $tType ).
tff(decl_27,type,
ap: ( $i * $i ) > $i ).
tff(decl_44,type,
inj__ty_2Enum_2Enum: tp__ty_2Enum_2Enum > $i ).
tff(decl_46,type,
c_2Enum_2E0: $i ).
tff(decl_47,type,
fo__c_2Enum_2E0: tp__ty_2Enum_2Enum ).
tff(decl_52,type,
inj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal: tp__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal > $i ).
tff(decl_53,type,
surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal: $i > tp__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal ).
tff(decl_54,type,
c_2Ecomplex_2Ecomplex__of__num: $i ).
tff(decl_55,type,
c_2Ecomplex_2Ecomplex__inv: $i ).
tff(decl_58,type,
esk1_0: tp__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal ).
tff(conj_thm_2Ecomplex_2ECOMPLEX__INV__NZ,conjecture,
! [X22: tp__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal] :
( ( X22 != surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) )
=> ( surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__inv,inj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(X22))) != surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) ) ),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',conj_thm_2Ecomplex_2ECOMPLEX__INV__NZ) ).
tff(conj_thm_2Ecomplex_2ECOMPLEX__INV__EQ__0,axiom,
! [X22: tp__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal] :
( ( surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__inv,inj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(X22))) = surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) )
<=> ( X22 = surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) ) ),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',conj_thm_2Ecomplex_2ECOMPLEX__INV__EQ__0) ).
tff(stp_eq_fo_c_2Enum_2E0,axiom,
inj__ty_2Enum_2Enum(fo__c_2Enum_2E0) = c_2Enum_2E0,
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',stp_eq_fo_c_2Enum_2E0) ).
tff(c_0_3,negated_conjecture,
~ ! [X22: tp__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal] :
( ( X22 != surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) )
=> ( surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__inv,inj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(X22))) != surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) ) ),
inference(assume_negation,[status(cth)],[conj_thm_2Ecomplex_2ECOMPLEX__INV__NZ]) ).
tff(c_0_4,negated_conjecture,
~ ! [X22: tp__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal] :
( ( X22 != surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) )
=> ( surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__inv,inj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(X22))) != surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) ) ),
inference(fof_simplification,[status(thm)],[c_0_3]) ).
tff(c_0_5,plain,
! [X26: tp__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal] :
( ( ( surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__inv,inj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(X26))) = surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) )
| ( X26 != surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) ) )
& ( ( X26 = surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) )
| ( surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__inv,inj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(X26))) != surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) ) ) ),
inference(fof_nnf,[status(thm)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[conj_thm_2Ecomplex_2ECOMPLEX__INV__EQ__0])])]) ).
tff(c_0_6,negated_conjecture,
( ( surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__inv,inj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(esk1_0))) = surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) )
& ( esk1_0 != surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) ) ),
inference(fof_nnf,[status(thm)],[inference(skolemize,[status(esa)],[inference(variable_rename,[status(thm)],[inference(fof_nnf,[status(thm)],[c_0_4])])])]) ).
tcf(c_0_7,plain,
! [X17: tp__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal] :
( ( surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__inv,inj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(X17))) != surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) )
| ( X17 = surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))) ) ),
inference(split_conjunct,[status(thm)],[c_0_5]) ).
tcf(c_0_8,plain,
inj__ty_2Enum_2Enum(fo__c_2Enum_2E0) = c_2Enum_2E0,
inference(split_conjunct,[status(thm)],[stp_eq_fo_c_2Enum_2E0]) ).
tcf(c_0_9,negated_conjecture,
surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__inv,inj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(esk1_0))) = surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),
inference(split_conjunct,[status(thm)],[c_0_6]) ).
tcf(c_0_10,negated_conjecture,
esk1_0 != surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__of__num,inj__ty_2Enum_2Enum(fo__c_2Enum_2E0))),
inference(split_conjunct,[status(thm)],[c_0_6]) ).
tcf(c_0_11,plain,
! [X17: tp__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal] :
( ( surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__inv,inj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(X17))) != surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__of__num,c_2Enum_2E0)) )
| ( X17 = surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__of__num,c_2Enum_2E0)) ) ),
inference(rw,[status(thm)],[inference(rw,[status(thm)],[c_0_7,c_0_8]),c_0_8]) ).
tcf(c_0_12,negated_conjecture,
surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__inv,inj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(esk1_0))) = surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__of__num,c_2Enum_2E0)),
inference(rw,[status(thm)],[c_0_9,c_0_8]) ).
tcf(c_0_13,negated_conjecture,
surj__c_ty_2Epair_2Eprod_ty_2Erealax_2Ereal_ty_2Erealax_2Ereal(ap(c_2Ecomplex_2Ecomplex__of__num,c_2Enum_2E0)) != esk1_0,
inference(rw,[status(thm)],[c_0_10,c_0_8]) ).
cnf(c_0_14,negated_conjecture,
$false,
inference(sr,[status(thm)],[inference(spm,[status(thm)],[c_0_11,c_0_12]),c_0_13]),
[proof] ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.03 % Problem : ITP019_2 : TPTP v9.3.1. Bugfixed v7.5.0.
% 0.00/0.05 % Command : run_E /export/starexec/sandbox2/benchmark/theBenchmark.p 300 THM
% 0.10/0.35 % Computer : n020.cluster.edu
% 0.10/0.35 % Model : x86_64 x86_64
% 0.10/0.35 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.10/0.35 % Memory : 8046.5625MB
% 0.10/0.35 % OS : Linux 6.8.0-71-generic
% 0.10/0.35 % CPULimit : 300
% 0.10/0.35 % WCLimit : 300
% 0.10/0.35 % DateTime : Sun Sep 20 21:52:32 UTC 2026
% 0.04/0.36 % CPUTime :
% 0.04/0.36 Running run_E /export/starexec/sandbox2/benchmark/theBenchmark.p 300 THM
% 0.04/0.40 Running first-order theorem proving
% 0.04/0.40 Running: /export/starexec/sandbox2/solver/bin/eprover --delete-bad-limit=2000000000 --definitional-cnf=24 -s --print-statistics -R --print-version --proof-object --auto-schedule=8 --cpu-limit=300 /export/starexec/sandbox2/benchmark/theBenchmark.p
% 0.04/0.43 % Version: 3.5.1
% 0.04/0.43 % Preprocessing class: FSMSSMSMSSSNFFN.
% 0.04/0.43 % Scheduled 4 strats onto 8 cores with 300 seconds (2400 total)
% 0.04/0.43 % Starting G-E--_207_C18_F1_SE_CS_SP_PI_PS_S2SI with 1500s (5) cores
% 0.04/0.43 % Starting new_bool_3 with 300s (1) cores
% 0.04/0.43 % Starting new_bool_1 with 300s (1) cores
% 0.04/0.43 % Starting sh5l with 300s (1) cores
% 0.04/0.43 % new_bool_3 with pid 1277347 completed with status 0
% 0.04/0.43 % Result found by new_bool_3
% 0.04/0.43 % Preprocessing class: FSMSSMSMSSSNFFN.
% 0.04/0.43 % Scheduled 4 strats onto 8 cores with 300 seconds (2400 total)
% 0.04/0.43 % Starting G-E--_207_C18_F1_SE_CS_SP_PI_PS_S2SI with 1500s (5) cores
% 0.04/0.43 % Starting new_bool_3 with 300s (1) cores
% 0.04/0.43 % (lift_lambdas = 0, lambda_to_forall = 0,unroll_only_formulas = 0, sine = GSinE(CountFormulas,hypos,1.5,,3,20000,1.0))
% 0.04/0.43 % SinE strategy is GSinE(CountFormulas,hypos,1.5,,3,20000,1.0)
% 0.04/0.43 % Search class: FGUSS-FFSS31-MFFFFFNN
% 0.04/0.43 % partial match(1): FGUSF-FFSS31-MFFFFFNN
% 0.04/0.43 % Scheduled 5 strats onto 1 cores with 300 seconds (300 total)
% 0.04/0.43 % Starting SubtermCWHack with 31s (1) cores
% 0.04/0.43 % SubtermCWHack with pid 1277350 completed with status 0
% 0.04/0.43 % Result found by SubtermCWHack
% 0.04/0.43 % Preprocessing class: FSMSSMSMSSSNFFN.
% 0.04/0.43 % Scheduled 4 strats onto 8 cores with 300 seconds (2400 total)
% 0.04/0.43 % Starting G-E--_207_C18_F1_SE_CS_SP_PI_PS_S2SI with 1500s (5) cores
% 0.04/0.43 % Starting new_bool_3 with 300s (1) cores
% 0.04/0.43 % (lift_lambdas = 0, lambda_to_forall = 0,unroll_only_formulas = 0, sine = GSinE(CountFormulas,hypos,1.5,,3,20000,1.0))
% 0.04/0.43 % SinE strategy is GSinE(CountFormulas,hypos,1.5,,3,20000,1.0)
% 0.04/0.43 % Search class: FGUSS-FFSS31-MFFFFFNN
% 0.04/0.43 % partial match(1): FGUSF-FFSS31-MFFFFFNN
% 0.04/0.43 % Scheduled 5 strats onto 1 cores with 300 seconds (300 total)
% 0.04/0.43 % Starting SubtermCWHack with 31s (1) cores
% 0.04/0.43 % Preprocessing time : 0.002 s
% 0.04/0.43
% 0.04/0.43 % Proof found!
% 0.04/0.43 % SZS status Theorem
% 0.04/0.43 % SZS output start CNFRefutation
% See solution above
% 0.04/0.43 % Parsed axioms : 85
% 0.04/0.43 % Removed by relevancy pruning/SinE : 73
% 0.04/0.43 % Initial clauses : 15
% 0.04/0.43 % Removed in clause preprocessing : 0
% 0.04/0.43 % Initial clauses in saturation : 15
% 0.04/0.43 % Processed clauses : 22
% 0.04/0.43 % ...of these trivial : 0
% 0.04/0.43 % ...subsumed : 1
% 0.04/0.43 % ...remaining for further processing : 21
% 0.04/0.43 % Other redundant clauses eliminated : 1
% 0.04/0.43 % Clauses deleted for lack of memory : 0
% 0.04/0.43 % Backward-subsumed : 0
% 0.04/0.43 % Backward-rewritten : 0
% 0.04/0.43 % Generated clauses : 21
% 0.04/0.43 % ...of the previous two non-redundant : 16
% 0.04/0.43 % ...aggressively subsumed : 0
% 0.04/0.43 % Contextual simplify-reflections : 0
% 0.04/0.43 % Paramodulations : 20
% 0.04/0.43 % Factorizations : 0
% 0.04/0.43 % NegExts : 0
% 0.04/0.43 % Equation resolutions : 1
% 0.04/0.43 % Disequality decompositions : 0
% 0.04/0.43 % Total rewrite steps : 15
% 0.04/0.43 % ...of those cached : 8
% 0.04/0.43 % Propositional unsat checks : 0
% 0.04/0.43 % Propositional check models : 0
% 0.04/0.43 % Propositional check unsatisfiable : 0
% 0.04/0.43 % Propositional clauses : 0
% 0.04/0.43 % Propositional clauses after purity: 0
% 0.04/0.43 % Propositional unsat core size : 0
% 0.04/0.43 % Propositional preprocessing time : 0.000
% 0.04/0.43 % Propositional encoding time : 0.000
% 0.04/0.43 % Propositional solver time : 0.000
% 0.04/0.43 % Success case prop preproc time : 0.000
% 0.04/0.43 % Success case prop encoding time : 0.000
% 0.04/0.43 % Success case prop solver time : 0.000
% 0.04/0.43 % Current number of processed clauses : 20
% 0.04/0.43 % Positive orientable unit clauses : 12
% 0.04/0.43 % Positive unorientable unit clauses: 0
% 0.04/0.43 % Negative unit clauses : 1
% 0.04/0.43 % Non-unit-clauses : 7
% 0.04/0.43 % Current number of unprocessed clauses: 7
% 0.04/0.43 % ...number of literals in the above : 15
% 0.04/0.43 % Current number of archived formulas : 0
% 0.04/0.43 % Current number of archived clauses : 0
% 0.04/0.43 % Clause-clause subsumption calls (NU) : 2
% 0.04/0.43 % Rec. Clause-clause subsumption calls : 2
% 0.04/0.43 % Non-unit clause-clause subsumptions : 1
% 0.04/0.43 % Unit Clause-clause subsumption calls : 0
% 0.04/0.43 % Rewrite failures with RHS unbound : 0
% 0.04/0.43 % BW rewrite match attempts : 3
% 0.04/0.43 % BW rewrite match successes : 0
% 0.04/0.43 % Condensation attempts : 0
% 0.04/0.43 % Condensation successes : 0
% 0.04/0.43 % Termbank termtop insertions : 1730
% 0.04/0.43 % Search garbage collected termcells : 360
% 0.04/0.43
% 0.04/0.43 % -------------------------------------------------
% 0.04/0.43 % User time : 0.004 s
% 0.04/0.43 % System time : 0.004 s
% 0.04/0.43 % Total time : 0.008 s
% 0.04/0.43 % Maximum resident set size: 3684 pages
% 0.04/0.43
% 0.04/0.43 % -------------------------------------------------
% 0.04/0.43 % User time : 0.008 s
% 0.04/0.43 % System time : 0.007 s
% 0.04/0.43 % Total time : 0.015 s
% 0.04/0.43 % Maximum resident set size: 4864 pages
% 0.04/0.43 % E exiting
%------------------------------------------------------------------------------