TSTP Solution File: KLE091+1 by SRASS---0.1

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : SRASS---0.1
% Problem  : KLE091+1 : TPTP v5.0.0. Released v4.0.0.
% Transfm  : none
% Format   : tptp
% Command  : SRASS -q2 -a 0 10 10 10 -i3 -n60 %s

% Computer : art05.cs.miami.edu
% Model    : i686 i686
% CPU      : Intel(R) Pentium(R) 4 CPU 2.80GHz @ 2793MHz
% Memory   : 2018MB
% OS       : Linux 2.6.26.8-57.fc8
% CPULimit : 300s
% DateTime : Wed Dec 29 07:55:04 EST 2010

% Result   : Theorem 3.66s
% Output   : Solution 3.66s
% Verified : 
% SZS Type : None (Parsing solution fails)
% Syntax   : Number of formulae    : 0

% Comments : 
%------------------------------------------------------------------------------
%----ERROR: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% Reading problem from /tmp/SystemOnTPTP17081/KLE091+1.tptp
% Adding relevance values
% Extracting the conjecture
% Sorting axioms by relevance
% Looking for THM       ... 
% found
% SZS status THM for /tmp/SystemOnTPTP17081/KLE091+1.tptp
% SZS output start Solution for /tmp/SystemOnTPTP17081/KLE091+1.tptp
% TreeLimitedRun: ----------------------------------------------------------
% TreeLimitedRun: /home/graph/tptp/Systems/EP---1.2/eproof --print-statistics -xAuto -tAuto --cpu-limit=60 --proof-time-unlimited --memory-limit=Auto --tstp-in --tstp-out /tmp/SRASS.s.p 
% TreeLimitedRun: CPU time limit is 60s
% TreeLimitedRun: WC  time limit is 120s
% TreeLimitedRun: PID is 17177
% TreeLimitedRun: ----------------------------------------------------------
% PrfWatch: 0.00 CPU 0.00 WC
% # Preprocessing time     : 0.012 s
% # Problem is unsatisfiable (or provable), constructing proof object
% # SZS status Theorem
% PrfWatch: 1.92 CPU 2.01 WC
% # SZS output start CNFRefutation.
% fof(1, axiom,![X1]:domain(X1)=antidomain(antidomain(X1)),file('/tmp/SRASS.s.p', domain4)).
% fof(2, axiom,![X1]:codomain(X1)=coantidomain(coantidomain(X1)),file('/tmp/SRASS.s.p', codomain4)).
% fof(3, axiom,![X2]:![X3]:addition(X2,X3)=addition(X3,X2),file('/tmp/SRASS.s.p', additive_commutativity)).
% fof(4, axiom,![X4]:![X3]:![X2]:addition(X2,addition(X3,X4))=addition(addition(X2,X3),X4),file('/tmp/SRASS.s.p', additive_associativity)).
% fof(5, axiom,![X2]:addition(X2,X2)=X2,file('/tmp/SRASS.s.p', additive_idempotence)).
% fof(7, axiom,![X2]:![X3]:![X4]:multiplication(X2,addition(X3,X4))=addition(multiplication(X2,X3),multiplication(X2,X4)),file('/tmp/SRASS.s.p', right_distributivity)).
% fof(8, axiom,![X2]:![X3]:![X4]:multiplication(addition(X2,X3),X4)=addition(multiplication(X2,X4),multiplication(X3,X4)),file('/tmp/SRASS.s.p', left_distributivity)).
% fof(11, axiom,![X1]:![X5]:addition(antidomain(multiplication(X1,X5)),antidomain(multiplication(X1,antidomain(antidomain(X5)))))=antidomain(multiplication(X1,antidomain(antidomain(X5)))),file('/tmp/SRASS.s.p', domain2)).
% fof(13, axiom,![X2]:addition(X2,zero)=X2,file('/tmp/SRASS.s.p', additive_identity)).
% fof(14, axiom,![X2]:multiplication(X2,one)=X2,file('/tmp/SRASS.s.p', multiplicative_right_identity)).
% fof(15, axiom,![X2]:multiplication(one,X2)=X2,file('/tmp/SRASS.s.p', multiplicative_left_identity)).
% fof(16, axiom,![X1]:multiplication(antidomain(X1),X1)=zero,file('/tmp/SRASS.s.p', domain1)).
% fof(17, axiom,![X1]:addition(antidomain(antidomain(X1)),antidomain(X1))=one,file('/tmp/SRASS.s.p', domain3)).
% fof(18, axiom,![X1]:multiplication(X1,coantidomain(X1))=zero,file('/tmp/SRASS.s.p', codomain1)).
% fof(19, axiom,![X1]:addition(coantidomain(coantidomain(X1)),coantidomain(X1))=one,file('/tmp/SRASS.s.p', codomain3)).
% fof(20, axiom,![X2]:![X3]:(leq(X2,X3)<=>addition(X2,X3)=X3),file('/tmp/SRASS.s.p', order)).
% fof(21, conjecture,![X1]:domain(codomain(X1))=codomain(X1),file('/tmp/SRASS.s.p', goals)).
% fof(22, negated_conjecture,~(![X1]:domain(codomain(X1))=codomain(X1)),inference(assume_negation,[status(cth)],[21])).
% fof(23, plain,![X2]:domain(X2)=antidomain(antidomain(X2)),inference(variable_rename,[status(thm)],[1])).
% cnf(24,plain,(domain(X1)=antidomain(antidomain(X1))),inference(split_conjunct,[status(thm)],[23])).
% fof(25, plain,![X2]:codomain(X2)=coantidomain(coantidomain(X2)),inference(variable_rename,[status(thm)],[2])).
% cnf(26,plain,(codomain(X1)=coantidomain(coantidomain(X1))),inference(split_conjunct,[status(thm)],[25])).
% fof(27, plain,![X4]:![X5]:addition(X4,X5)=addition(X5,X4),inference(variable_rename,[status(thm)],[3])).
% cnf(28,plain,(addition(X1,X2)=addition(X2,X1)),inference(split_conjunct,[status(thm)],[27])).
% fof(29, plain,![X5]:![X6]:![X7]:addition(X7,addition(X6,X5))=addition(addition(X7,X6),X5),inference(variable_rename,[status(thm)],[4])).
% cnf(30,plain,(addition(X1,addition(X2,X3))=addition(addition(X1,X2),X3)),inference(split_conjunct,[status(thm)],[29])).
% fof(31, plain,![X3]:addition(X3,X3)=X3,inference(variable_rename,[status(thm)],[5])).
% cnf(32,plain,(addition(X1,X1)=X1),inference(split_conjunct,[status(thm)],[31])).
% fof(35, plain,![X5]:![X6]:![X7]:multiplication(X5,addition(X6,X7))=addition(multiplication(X5,X6),multiplication(X5,X7)),inference(variable_rename,[status(thm)],[7])).
% cnf(36,plain,(multiplication(X1,addition(X2,X3))=addition(multiplication(X1,X2),multiplication(X1,X3))),inference(split_conjunct,[status(thm)],[35])).
% fof(37, plain,![X5]:![X6]:![X7]:multiplication(addition(X5,X6),X7)=addition(multiplication(X5,X7),multiplication(X6,X7)),inference(variable_rename,[status(thm)],[8])).
% cnf(38,plain,(multiplication(addition(X1,X2),X3)=addition(multiplication(X1,X3),multiplication(X2,X3))),inference(split_conjunct,[status(thm)],[37])).
% fof(43, plain,![X6]:![X7]:addition(antidomain(multiplication(X6,X7)),antidomain(multiplication(X6,antidomain(antidomain(X7)))))=antidomain(multiplication(X6,antidomain(antidomain(X7)))),inference(variable_rename,[status(thm)],[11])).
% cnf(44,plain,(addition(antidomain(multiplication(X1,X2)),antidomain(multiplication(X1,antidomain(antidomain(X2)))))=antidomain(multiplication(X1,antidomain(antidomain(X2))))),inference(split_conjunct,[status(thm)],[43])).
% fof(47, plain,![X3]:addition(X3,zero)=X3,inference(variable_rename,[status(thm)],[13])).
% cnf(48,plain,(addition(X1,zero)=X1),inference(split_conjunct,[status(thm)],[47])).
% fof(49, plain,![X3]:multiplication(X3,one)=X3,inference(variable_rename,[status(thm)],[14])).
% cnf(50,plain,(multiplication(X1,one)=X1),inference(split_conjunct,[status(thm)],[49])).
% fof(51, plain,![X3]:multiplication(one,X3)=X3,inference(variable_rename,[status(thm)],[15])).
% cnf(52,plain,(multiplication(one,X1)=X1),inference(split_conjunct,[status(thm)],[51])).
% fof(53, plain,![X2]:multiplication(antidomain(X2),X2)=zero,inference(variable_rename,[status(thm)],[16])).
% cnf(54,plain,(multiplication(antidomain(X1),X1)=zero),inference(split_conjunct,[status(thm)],[53])).
% fof(55, plain,![X2]:addition(antidomain(antidomain(X2)),antidomain(X2))=one,inference(variable_rename,[status(thm)],[17])).
% cnf(56,plain,(addition(antidomain(antidomain(X1)),antidomain(X1))=one),inference(split_conjunct,[status(thm)],[55])).
% fof(57, plain,![X2]:multiplication(X2,coantidomain(X2))=zero,inference(variable_rename,[status(thm)],[18])).
% cnf(58,plain,(multiplication(X1,coantidomain(X1))=zero),inference(split_conjunct,[status(thm)],[57])).
% fof(59, plain,![X2]:addition(coantidomain(coantidomain(X2)),coantidomain(X2))=one,inference(variable_rename,[status(thm)],[19])).
% cnf(60,plain,(addition(coantidomain(coantidomain(X1)),coantidomain(X1))=one),inference(split_conjunct,[status(thm)],[59])).
% fof(61, plain,![X2]:![X3]:((~(leq(X2,X3))|addition(X2,X3)=X3)&(~(addition(X2,X3)=X3)|leq(X2,X3))),inference(fof_nnf,[status(thm)],[20])).
% fof(62, plain,![X4]:![X5]:((~(leq(X4,X5))|addition(X4,X5)=X5)&(~(addition(X4,X5)=X5)|leq(X4,X5))),inference(variable_rename,[status(thm)],[61])).
% cnf(63,plain,(leq(X1,X2)|addition(X1,X2)!=X2),inference(split_conjunct,[status(thm)],[62])).
% cnf(64,plain,(addition(X1,X2)=X2|~leq(X1,X2)),inference(split_conjunct,[status(thm)],[62])).
% fof(65, negated_conjecture,?[X1]:~(domain(codomain(X1))=codomain(X1)),inference(fof_nnf,[status(thm)],[22])).
% fof(66, negated_conjecture,?[X2]:~(domain(codomain(X2))=codomain(X2)),inference(variable_rename,[status(thm)],[65])).
% fof(67, negated_conjecture,~(domain(codomain(esk1_0))=codomain(esk1_0)),inference(skolemize,[status(esa)],[66])).
% cnf(68,negated_conjecture,(domain(codomain(esk1_0))!=codomain(esk1_0)),inference(split_conjunct,[status(thm)],[67])).
% cnf(69,negated_conjecture,(antidomain(antidomain(codomain(esk1_0)))!=codomain(esk1_0)),inference(rw,[status(thm)],[68,24,theory(equality)]),['unfolding']).
% cnf(70,negated_conjecture,(antidomain(antidomain(coantidomain(coantidomain(esk1_0))))!=coantidomain(coantidomain(esk1_0))),inference(rw,[status(thm)],[inference(rw,[status(thm)],[69,26,theory(equality)]),26,theory(equality)]),['unfolding']).
% cnf(72,plain,(zero=antidomain(one)),inference(spm,[status(thm)],[50,54,theory(equality)])).
% cnf(73,plain,(addition(zero,X1)=X1),inference(spm,[status(thm)],[48,28,theory(equality)])).
% cnf(81,plain,(leq(X1,X2)|addition(X2,X1)!=X2),inference(spm,[status(thm)],[63,28,theory(equality)])).
% cnf(90,plain,(addition(X1,X2)=addition(X1,addition(X1,X2))),inference(spm,[status(thm)],[30,32,theory(equality)])).
% cnf(120,plain,(addition(antidomain(X1),antidomain(antidomain(X1)))=one),inference(rw,[status(thm)],[56,28,theory(equality)])).
% cnf(123,plain,(addition(coantidomain(X1),coantidomain(coantidomain(X1)))=one),inference(rw,[status(thm)],[60,28,theory(equality)])).
% cnf(125,plain,(addition(one,X2)=addition(coantidomain(X1),addition(coantidomain(coantidomain(X1)),X2))),inference(spm,[status(thm)],[30,123,theory(equality)])).
% cnf(134,plain,(addition(multiplication(antidomain(X1),X2),zero)=multiplication(antidomain(X1),addition(X2,X1))),inference(spm,[status(thm)],[36,54,theory(equality)])).
% cnf(135,plain,(addition(multiplication(X1,X2),X1)=multiplication(X1,addition(X2,one))),inference(spm,[status(thm)],[36,50,theory(equality)])).
% cnf(144,plain,(addition(zero,multiplication(X1,X2))=multiplication(X1,addition(coantidomain(X1),X2))),inference(spm,[status(thm)],[36,58,theory(equality)])).
% cnf(154,plain,(multiplication(antidomain(X1),X2)=multiplication(antidomain(X1),addition(X2,X1))),inference(rw,[status(thm)],[134,48,theory(equality)])).
% cnf(173,plain,(addition(multiplication(X1,X2),zero)=multiplication(addition(X1,antidomain(X2)),X2)),inference(spm,[status(thm)],[38,54,theory(equality)])).
% cnf(176,plain,(addition(multiplication(X1,coantidomain(X2)),zero)=multiplication(addition(X1,X2),coantidomain(X2))),inference(spm,[status(thm)],[38,58,theory(equality)])).
% cnf(180,plain,(addition(zero,multiplication(X2,X1))=multiplication(addition(antidomain(X1),X2),X1)),inference(spm,[status(thm)],[38,54,theory(equality)])).
% cnf(191,plain,(multiplication(X1,X2)=multiplication(addition(X1,antidomain(X2)),X2)),inference(rw,[status(thm)],[173,48,theory(equality)])).
% cnf(196,plain,(multiplication(X1,coantidomain(X2))=multiplication(addition(X1,X2),coantidomain(X2))),inference(rw,[status(thm)],[176,48,theory(equality)])).
% cnf(213,plain,(addition(antidomain(zero),antidomain(multiplication(X1,antidomain(antidomain(coantidomain(X1))))))=antidomain(multiplication(X1,antidomain(antidomain(coantidomain(X1)))))),inference(spm,[status(thm)],[44,58,theory(equality)])).
% cnf(247,plain,(addition(zero,antidomain(zero))=one),inference(spm,[status(thm)],[120,72,theory(equality)])).
% cnf(273,plain,(antidomain(zero)=one),inference(rw,[status(thm)],[247,73,theory(equality)])).
% cnf(291,plain,(addition(coantidomain(X1),one)=one),inference(spm,[status(thm)],[90,123,theory(equality)])).
% cnf(293,plain,(addition(antidomain(X1),one)=one),inference(spm,[status(thm)],[90,120,theory(equality)])).
% cnf(340,plain,(addition(one,coantidomain(X1))=one),inference(rw,[status(thm)],[291,28,theory(equality)])).
% cnf(388,plain,(addition(one,antidomain(X1))=one),inference(rw,[status(thm)],[293,28,theory(equality)])).
% cnf(674,plain,(addition(X1,multiplication(X1,X2))=multiplication(X1,addition(X2,one))),inference(rw,[status(thm)],[135,28,theory(equality)])).
% cnf(684,plain,(leq(multiplication(X1,X2),X1)|multiplication(X1,addition(X2,one))!=X1),inference(spm,[status(thm)],[81,674,theory(equality)])).
% cnf(1552,plain,(leq(multiplication(X1,X2),X1)|multiplication(X1,addition(one,X2))!=X1),inference(spm,[status(thm)],[684,28,theory(equality)])).
% cnf(3027,plain,(multiplication(antidomain(antidomain(antidomain(X1))),one)=multiplication(antidomain(antidomain(antidomain(X1))),antidomain(X1))),inference(spm,[status(thm)],[154,120,theory(equality)])).
% cnf(3072,plain,(antidomain(antidomain(antidomain(X1)))=multiplication(antidomain(antidomain(antidomain(X1))),antidomain(X1))),inference(rw,[status(thm)],[3027,50,theory(equality)])).
% cnf(3637,plain,(multiplication(X1,addition(coantidomain(X1),X2))=multiplication(X1,X2)),inference(rw,[status(thm)],[144,73,theory(equality)])).
% cnf(3676,plain,(multiplication(X1,one)=multiplication(X1,coantidomain(coantidomain(X1)))),inference(spm,[status(thm)],[3637,123,theory(equality)])).
% cnf(3714,plain,(X1=multiplication(X1,coantidomain(coantidomain(X1)))),inference(rw,[status(thm)],[3676,50,theory(equality)])).
% cnf(3790,plain,(multiplication(one,coantidomain(coantidomain(coantidomain(X1))))=multiplication(coantidomain(X1),coantidomain(coantidomain(coantidomain(X1))))),inference(spm,[status(thm)],[196,123,theory(equality)])).
% cnf(3847,plain,(coantidomain(coantidomain(coantidomain(X1)))=multiplication(coantidomain(X1),coantidomain(coantidomain(coantidomain(X1))))),inference(rw,[status(thm)],[3790,52,theory(equality)])).
% cnf(3848,plain,(coantidomain(coantidomain(coantidomain(X1)))=coantidomain(X1)),inference(rw,[status(thm)],[3847,3714,theory(equality)])).
% cnf(4346,plain,(leq(multiplication(X1,coantidomain(X2)),X1)|multiplication(X1,one)!=X1),inference(spm,[status(thm)],[1552,340,theory(equality)])).
% cnf(4370,plain,(leq(multiplication(X1,coantidomain(X2)),X1)|$false),inference(rw,[status(thm)],[4346,50,theory(equality)])).
% cnf(4371,plain,(leq(multiplication(X1,coantidomain(X2)),X1)),inference(cn,[status(thm)],[4370,theory(equality)])).
% cnf(4478,plain,(multiplication(addition(antidomain(X1),X2),X1)=multiplication(X2,X1)),inference(rw,[status(thm)],[180,73,theory(equality)])).
% cnf(4516,plain,(multiplication(one,X1)=multiplication(antidomain(antidomain(X1)),X1)),inference(spm,[status(thm)],[4478,120,theory(equality)])).
% cnf(4555,plain,(X1=multiplication(antidomain(antidomain(X1)),X1)),inference(rw,[status(thm)],[4516,52,theory(equality)])).
% cnf(4700,plain,(leq(coantidomain(X1),antidomain(antidomain(coantidomain(X1))))),inference(spm,[status(thm)],[4371,4555,theory(equality)])).
% cnf(4902,plain,(addition(coantidomain(X1),antidomain(antidomain(coantidomain(X1))))=antidomain(antidomain(coantidomain(X1)))),inference(spm,[status(thm)],[64,4700,theory(equality)])).
% cnf(6050,plain,(antidomain(X1)=antidomain(antidomain(antidomain(X1)))),inference(rw,[status(thm)],[3072,4555,theory(equality)])).
% cnf(7169,plain,(addition(coantidomain(X1),antidomain(antidomain(coantidomain(coantidomain(X1)))))=addition(one,antidomain(antidomain(coantidomain(coantidomain(X1)))))),inference(spm,[status(thm)],[125,4902,theory(equality)])).
% cnf(7206,plain,(addition(coantidomain(X1),antidomain(antidomain(coantidomain(coantidomain(X1)))))=one),inference(rw,[status(thm)],[7169,388,theory(equality)])).
% cnf(17498,plain,(one=antidomain(multiplication(X1,antidomain(antidomain(coantidomain(X1)))))),inference(rw,[status(thm)],[inference(rw,[status(thm)],[213,273,theory(equality)]),388,theory(equality)])).
% cnf(17499,plain,(multiplication(one,multiplication(X1,antidomain(antidomain(coantidomain(X1)))))=zero),inference(spm,[status(thm)],[54,17498,theory(equality)])).
% cnf(17571,plain,(multiplication(X1,antidomain(antidomain(coantidomain(X1))))=zero),inference(rw,[status(thm)],[17499,52,theory(equality)])).
% cnf(17686,plain,(addition(zero,multiplication(X1,X2))=multiplication(X1,addition(antidomain(antidomain(coantidomain(X1))),X2))),inference(spm,[status(thm)],[36,17571,theory(equality)])).
% cnf(17760,plain,(multiplication(X1,X2)=multiplication(X1,addition(antidomain(antidomain(coantidomain(X1))),X2))),inference(rw,[status(thm)],[17686,73,theory(equality)])).
% cnf(21813,plain,(multiplication(one,antidomain(coantidomain(coantidomain(X1))))=multiplication(coantidomain(X1),antidomain(coantidomain(coantidomain(X1))))),inference(spm,[status(thm)],[191,7206,theory(equality)])).
% cnf(21884,plain,(antidomain(coantidomain(coantidomain(X1)))=multiplication(coantidomain(X1),antidomain(coantidomain(coantidomain(X1))))),inference(rw,[status(thm)],[21813,52,theory(equality)])).
% cnf(22742,plain,(multiplication(coantidomain(coantidomain(X1)),antidomain(coantidomain(X1)))=antidomain(coantidomain(X1))),inference(spm,[status(thm)],[21884,3848,theory(equality)])).
% cnf(121615,plain,(multiplication(X1,one)=multiplication(X1,antidomain(antidomain(antidomain(coantidomain(X1)))))),inference(spm,[status(thm)],[17760,120,theory(equality)])).
% cnf(121842,plain,(X1=multiplication(X1,antidomain(antidomain(antidomain(coantidomain(X1)))))),inference(rw,[status(thm)],[121615,50,theory(equality)])).
% cnf(121843,plain,(X1=multiplication(X1,antidomain(coantidomain(X1)))),inference(rw,[status(thm)],[121842,6050,theory(equality)])).
% cnf(122014,plain,(multiplication(coantidomain(coantidomain(X1)),antidomain(coantidomain(X1)))=coantidomain(coantidomain(X1))),inference(spm,[status(thm)],[121843,3848,theory(equality)])).
% cnf(122171,plain,(antidomain(coantidomain(X1))=coantidomain(coantidomain(X1))),inference(rw,[status(thm)],[122014,22742,theory(equality)])).
% cnf(122435,negated_conjecture,($false),inference(rw,[status(thm)],[inference(rw,[status(thm)],[inference(rw,[status(thm)],[70,122171,theory(equality)]),3848,theory(equality)]),122171,theory(equality)])).
% cnf(122436,negated_conjecture,($false),inference(cn,[status(thm)],[122435,theory(equality)])).
% cnf(122437,negated_conjecture,($false),122436,['proof']).
% # SZS output end CNFRefutation
% # Processed clauses                  : 3202
% # ...of these trivial                : 905
% # ...subsumed                        : 1681
% # ...remaining for further processing: 616
% # Other redundant clauses eliminated : 0
% # Clauses deleted for lack of memory : 0
% # Backward-subsumed                  : 1
% # Backward-rewritten                 : 101
% # Generated clauses                  : 63258
% # ...of the previous two non-trivial : 28808
% # Contextual simplify-reflections    : 0
% # Paramodulations                    : 63257
% # Factorizations                     : 0
% # Equation resolutions               : 1
% # Current number of processed clauses: 514
% #    Positive orientable unit clauses: 427
% #    Positive unorientable unit clauses: 5
% #    Negative unit clauses           : 0
% #    Non-unit-clauses                : 82
% # Current number of unprocessed clauses: 21835
% # ...number of literals in the above : 26179
% # Clause-clause subsumption calls (NU) : 6857
% # Rec. Clause-clause subsumption calls : 6857
% # Unit Clause-clause subsumption calls : 19
% # Rewrite failures with RHS unbound  : 0
% # Indexed BW rewrite attempts        : 904
% # Indexed BW rewrite successes       : 79
% # Backwards rewriting index:   426 leaves,   1.94+/-1.528 terms/leaf
% # Paramod-from index:          265 leaves,   1.65+/-1.140 terms/leaf
% # Paramod-into index:          378 leaves,   1.94+/-1.529 terms/leaf
% # -------------------------------------------------
% # User time              : 1.338 s
% # System time            : 0.052 s
% # Total time             : 1.390 s
% # Maximum resident set size: 0 pages
% PrfWatch: 2.85 CPU 2.94 WC
% FINAL PrfWatch: 2.85 CPU 2.94 WC
% SZS output end Solution for /tmp/SystemOnTPTP17081/KLE091+1.tptp
% 
%------------------------------------------------------------------------------