TSTP Solution File: KRS260+1 by nanoCoP---2.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : nanoCoP---2.0
% Problem  : KRS260+1 : TPTP v8.1.2. Bugfixed v5.4.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : nanocop.sh %s %d

% Computer : n017.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 19 11:26:33 EDT 2023

% Result   : Theorem 0.74s 1.38s
% Output   : Proof 0.74s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.11/0.12  % Problem  : KRS260+1 : TPTP v8.1.2. Bugfixed v5.4.0.
% 0.11/0.13  % Command  : nanocop.sh %s %d
% 0.12/0.34  % Computer : n017.cluster.edu
% 0.12/0.34  % Model    : x86_64 x86_64
% 0.12/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.34  % Memory   : 8042.1875MB
% 0.12/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.12/0.34  % CPULimit : 300
% 0.12/0.34  % WCLimit  : 300
% 0.12/0.34  % DateTime : Thu May 18 22:31:30 EDT 2023
% 0.12/0.34  % CPUTime  : 
% 0.74/1.38  
% 0.74/1.38  /export/starexec/sandbox/benchmark/theBenchmark.p is a Theorem
% 0.74/1.38  Start of proof for /export/starexec/sandbox/benchmark/theBenchmark.p
% 0.74/1.38  %-----------------------------------------------------
% 0.74/1.38  ncf(matrix, plain, [(689 ^ _75588) ^ [] : [mighta(wec, thm)], (509 ^ _75588) ^ [_94179, _94181] : [mighta(_94181, _94179), 514 ^ _75588 : [(515 ^ _75588) ^ [] : [-(status(512 ^ [_94179, _94181], 513 ^ [_94179, _94181], _94181))], (517 ^ _75588) ^ [] : [-(status(512 ^ [_94179, _94181], 513 ^ [_94179, _94181], _94179))]]], (499 ^ _75588) ^ [_93834, _93836] : [-(mighta(_93836, _93834)), 500 ^ _75588 : [(501 ^ _75588) ^ [_93947, _93949] : [status(_93949, _93947, _93836), status(_93949, _93947, _93834)]]], (519 ^ _75588) ^ [_94662, _94664] : [522 ^ _75588 : [(523 ^ _75588) ^ [] : [-(status(520 ^ [_94662, _94664], 521 ^ [_94662, _94664], _94664))], (525 ^ _75588) ^ [] : [status(520 ^ [_94662, _94664], 521 ^ [_94662, _94664], _94662)]], -(isa(_94664, _94662))], (529 ^ _75588) ^ [_95066, _95068] : [isa(_95068, _95066), 532 ^ _75588 : [(533 ^ _75588) ^ [_95224, _95226] : [status(_95226, _95224, _95068), -(status(_95226, _95224, _95066))]]], (549 ^ _75588) ^ [_95840, _95842] : [nota(_95842, _95840), 554 ^ _75588 : [(555 ^ _75588) ^ [] : [-(status(552 ^ [_95840, _95842], 553 ^ [_95840, _95842], _95842))], (557 ^ _75588) ^ [] : [status(552 ^ [_95840, _95842], 553 ^ [_95840, _95842], _95840)]]], (539 ^ _75588) ^ [_95490, _95492] : [-(nota(_95492, _95490)), 540 ^ _75588 : [(541 ^ _75588) ^ [_95605, _95607] : [status(_95607, _95605, _95492), -(status(_95607, _95605, _95490))]]], (559 ^ _75588) ^ [_96328, _96330] : [562 ^ _75588 : [(563 ^ _75588) ^ [] : [-(status(560 ^ [_96328, _96330], 561 ^ [_96328, _96330], _96330))], (565 ^ _75588) ^ [] : [-(status(560 ^ [_96328, _96330], 561 ^ [_96328, _96330], _96328))]], -(nevera(_96330, _96328))], (569 ^ _75588) ^ [_96739, _96741] : [nevera(_96741, _96739), 572 ^ _75588 : [(573 ^ _75588) ^ [_96899, _96901] : [status(_96901, _96899, _96741), status(_96901, _96899, _96739)]]], (597 ^ _75588) ^ [_97782, _97784] : [xora(_97784, _97782), 600 ^ _75588 : [(601 ^ _75588) ^ [_97951, _97953] : [602 ^ _75588 : [(603 ^ _75588) ^ [] : [-(status(_97953, _97951, _97784))], (605 ^ _75588) ^ [] : [status(_97953, _97951, _97782)]], 606 ^ _75588 : [(607 ^ _75588) ^ [] : [-(status(_97953, _97951, _97782))], (609 ^ _75588) ^ [] : [status(_97953, _97951, _97784)]]]]], (579 ^ _75588) ^ [_97166, _97168] : [-(xora(_97168, _97166)), 582 ^ _75588 : [(583 ^ _75588) ^ [] : [status(580 ^ [_97166, _97168], 581 ^ [_97166, _97168], _97168), -(status(580 ^ [_97166, _97168], 581 ^ [_97166, _97168], _97166))], (589 ^ _75588) ^ [] : [status(580 ^ [_97166, _97168], 581 ^ [_97166, _97168], _97166), -(status(580 ^ [_97166, _97168], 581 ^ [_97166, _97168], _97168))]]], (611 ^ _75588) ^ [_98358, _98360] : [612 ^ _75588 : [(613 ^ _75588) ^ [] : [-(model(_98360, _98358))], (615 ^ _75588) ^ [] : [model(_98360, not _98358)]], 616 ^ _75588 : [(617 ^ _75588) ^ [] : [-(model(_98360, not _98358))], (619 ^ _75588) ^ [] : [model(_98360, _98358)]]], (621 ^ _75588) ^ [_98754, _98756] : [model(_98756, _98754), model(_98756, not _98754)], (627 ^ _75588) ^ [_98921, _98923] : [-(model(_98923, not _98921)), -(model(_98923, _98921))], (634 ^ _75588) ^ [_99153] : [-(model(_99153, 632 ^ []))], (638 ^ _75588) ^ [] : [-(model(636 ^ [], 635 ^ []))], (641 ^ _75588) ^ [] : [model(639 ^ [], 635 ^ [])], (644 ^ _75588) ^ [_99512] : [model(_99512, 642 ^ [])], (649 ^ _75588) ^ [] : [-(model(647 ^ [], 645 ^ []))], (651 ^ _75588) ^ [] : [-(model(647 ^ [], 646 ^ []))], (654 ^ _75588) ^ [] : [model(652 ^ [], 645 ^ []), model(652 ^ [], 646 ^ [])], (682 ^ _75588) ^ [] : [-(model(678 ^ [], 679 ^ []))], (684 ^ _75588) ^ [] : [model(678 ^ [], 680 ^ [])], (687 ^ _75588) ^ [] : [-(model(685 ^ [], 680 ^ []))], (663 ^ _75588) ^ [] : [-(model(661 ^ [], 659 ^ []))], (672 ^ _75588) ^ [] : [model(670 ^ [], 659 ^ [])], (674 ^ _75588) ^ [] : [-(model(670 ^ [], 660 ^ []))], (677 ^ _75588) ^ [] : [model(675 ^ [], 660 ^ [])], (665 ^ _75588) ^ [_100365] : [model(_100365, 659 ^ []), -(model(_100365, 660 ^ []))], (2 ^ _75588) ^ [_75750, _75752] : [3 ^ _75588 : [(4 ^ _75588) ^ [_75856] : [model(_75856, _75752)], (7 ^ _75588) ^ [] : [-(model(5 ^ [_75750, _75752], _75750))]], -(status(_75752, _75750, unp))], (11 ^ _75588) ^ [_76071, _76073] : [status(_76073, _76071, unp), -(model(16 ^ [_76071, _76073], _76073)), 19 ^ _75588 : [(20 ^ _75588) ^ [_76335] : [model(_76335, _76071)]]], (22 ^ _75588) ^ [_76486, _76488] : [24 ^ _75588 : [(25 ^ _75588) ^ [] : [-(model(23 ^ [_76486, _76488], _76488))], (27 ^ _75588) ^ [_76686] : [model(_76686, _76486)]], -(status(_76488, _76486, sap))], (31 ^ _75588) ^ [_76803, _76805] : [status(_76805, _76803, sap), 36 ^ _75588 : [(37 ^ _75588) ^ [_76965] : [model(_76965, _76805)]], -(model(38 ^ [_76803, _76805], _76803))], (42 ^ _75588) ^ [_77214, _77216] : [-(status(_77216, _77214, esa)), 46 ^ _75588 : [(47 ^ _75588) ^ [] : [-(model(45 ^ [_77214, _77216], _77216))], (49 ^ _75588) ^ [_77457] : [model(_77457, _77214)]], 51 ^ _75588 : [(52 ^ _75588) ^ [] : [-(model(50 ^ [_77214, _77216], _77214))], (54 ^ _75588) ^ [_77638] : [model(_77638, _77216)]]], (58 ^ _75588) ^ [_77760, _77762] : [status(_77762, _77760, esa), 61 ^ _75588 : [(62 ^ _75588) ^ [] : [63 ^ _75588 : [(64 ^ _75588) ^ [_77951] : [model(_77951, _77762)]], -(model(65 ^ [_77760, _77762], _77760))], (69 ^ _75588) ^ [] : [70 ^ _75588 : [(71 ^ _75588) ^ [_78149] : [model(_78149, _77760)]], -(model(72 ^ [_77760, _77762], _77762))]]], (86 ^ _75588) ^ [_78717, _78719] : [status(_78719, _78717, sat), 90 ^ _75588 : [(91 ^ _75588) ^ [] : [-(model(89 ^ [_78717, _78719], _78719))], (93 ^ _75588) ^ [] : [-(model(89 ^ [_78717, _78719], _78717))]]], (76 ^ _75588) ^ [_78401, _78403] : [-(status(_78403, _78401, sat)), 77 ^ _75588 : [(78 ^ _75588) ^ [_78494] : [model(_78494, _78403), model(_78494, _78401)]]], (95 ^ _75588) ^ [_79105, _79107] : [97 ^ _75588 : [(98 ^ _75588) ^ [] : [-(model(96 ^ [_79105, _79107], _79107))], (100 ^ _75588) ^ [] : [model(96 ^ [_79105, _79107], _79105)]], -(status(_79107, _79105, thm))], (104 ^ _75588) ^ [_79414, _79416] : [status(_79416, _79414, thm), 107 ^ _75588 : [(108 ^ _75588) ^ [_79553] : [model(_79553, _79416), -(model(_79553, _79414))]]], (114 ^ _75588) ^ [_79809, _79811] : [-(status(_79811, _79809, eqv)), 117 ^ _75588 : [(118 ^ _75588) ^ [_79931] : [model(_79931, _79811)]], 122 ^ _75588 : [(123 ^ _75588) ^ [] : [-(model(119 ^ [_79809, _79811], _79811))], (125 ^ _75588) ^ [] : [model(119 ^ [_79809, _79811], _79809)]], 126 ^ _75588 : [(127 ^ _75588) ^ [] : [-(model(119 ^ [_79809, _79811], _79809))], (129 ^ _75588) ^ [] : [model(119 ^ [_79809, _79811], _79811)]]], (133 ^ _75588) ^ [_80404, _80406] : [status(_80406, _80404, eqv), 137 ^ _75588 : [(138 ^ _75588) ^ [] : [-(model(136 ^ [_80404, _80406], _80406))], (140 ^ _75588) ^ [_80701] : [model(_80701, _80406), -(model(_80701, _80404))], (146 ^ _75588) ^ [_80873] : [model(_80873, _80404), -(model(_80873, _80406))]]], (163 ^ _75588) ^ [_81465, _81467] : [status(_81467, _81465, tac), 167 ^ _75588 : [(168 ^ _75588) ^ [] : [-(model(166 ^ [_81465, _81467], _81467))], (170 ^ _75588) ^ [_81712] : [-(model(_81712, _81465))]]], (152 ^ _75588) ^ [_81133, _81135] : [-(status(_81135, _81133, tac)), 155 ^ _75588 : [(156 ^ _75588) ^ [_81249] : [model(_81249, _81135)]], model(157 ^ [_81133, _81135], _81133)], (193 ^ _75588) ^ [_82527, _82529] : [status(_82529, _82527, wec), 197 ^ _75588 : [(198 ^ _75588) ^ [] : [-(model(196 ^ [_82527, _82529], _82529))], (207 ^ _75588) ^ [] : [-(model(205 ^ [_82527, _82529], _82527))], (209 ^ _75588) ^ [] : [model(205 ^ [_82527, _82529], _82529)], (200 ^ _75588) ^ [_82834] : [model(_82834, _82529), -(model(_82834, _82527))]]], (172 ^ _75588) ^ [_81861, _81863] : [-(status(_81863, _81861, wec)), 175 ^ _75588 : [(176 ^ _75588) ^ [_82002] : [model(_82002, _81863)]], 180 ^ _75588 : [(181 ^ _75588) ^ [] : [-(model(179 ^ [_81861, _81863], _81863))], (183 ^ _75588) ^ [] : [model(179 ^ [_81861, _81863], _81861)]], 184 ^ _75588 : [(185 ^ _75588) ^ [_82291] : [model(_82291, _81861), -(model(_82291, _81863))]]], (211 ^ _75588) ^ [_83276, _83278] : [-(status(_83278, _83276, eth)), 214 ^ _75588 : [(215 ^ _75588) ^ [_83411] : [model(_83411, _83278)]], 218 ^ _75588 : [(219 ^ _75588) ^ [_83507] : [-(model(_83507, _83278))]], 223 ^ _75588 : [(224 ^ _75588) ^ [] : [-(model(220 ^ [_83276, _83278], _83278))], (226 ^ _75588) ^ [] : [model(220 ^ [_83276, _83278], _83276)]], 227 ^ _75588 : [(228 ^ _75588) ^ [] : [-(model(220 ^ [_83276, _83278], _83276))], (230 ^ _75588) ^ [] : [model(220 ^ [_83276, _83278], _83278)]]], (234 ^ _75588) ^ [_83985, _83987] : [status(_83987, _83985, eth), 238 ^ _75588 : [(239 ^ _75588) ^ [] : [-(model(237 ^ [_83985, _83987], _83987))], (242 ^ _75588) ^ [] : [model(240 ^ [_83985, _83987], _83987)], (244 ^ _75588) ^ [_84414] : [model(_84414, _83987), -(model(_84414, _83985))], (250 ^ _75588) ^ [_84586] : [model(_84586, _83985), -(model(_84586, _83987))]]], (267 ^ _75588) ^ [_85171, _85173] : [status(_85173, _85171, tau), 270 ^ _75588 : [(271 ^ _75588) ^ [_85315] : [-(model(_85315, _85173))], (273 ^ _75588) ^ [_85363] : [-(model(_85363, _85171))]]], (256 ^ _75588) ^ [_84848, _84850] : [-(status(_84850, _84848, tau)), model(257 ^ [_84848, _84850], _84850), model(257 ^ [_84848, _84850], _84848)], (290 ^ _75588) ^ [_85958, _85960] : [status(_85960, _85958, wtc), 294 ^ _75588 : [(295 ^ _75588) ^ [] : [-(model(293 ^ [_85958, _85960], _85960))], (298 ^ _75588) ^ [] : [model(296 ^ [_85958, _85960], _85960)], (300 ^ _75588) ^ [_86337] : [-(model(_86337, _85958))]]], (275 ^ _75588) ^ [_85512, _85514] : [-(status(_85514, _85512, wtc)), 278 ^ _75588 : [(279 ^ _75588) ^ [_85641] : [model(_85641, _85514)]], 282 ^ _75588 : [(283 ^ _75588) ^ [_85737] : [-(model(_85737, _85514))]], model(284 ^ [_85512, _85514], _85512)], (327 ^ _75588) ^ [_87268, _87270] : [status(_87270, _87268, wth), 331 ^ _75588 : [(332 ^ _75588) ^ [] : [-(model(330 ^ [_87268, _87270], _87270))], (341 ^ _75588) ^ [] : [-(model(339 ^ [_87268, _87270], _87268))], (343 ^ _75588) ^ [] : [model(339 ^ [_87268, _87270], _87270)], (346 ^ _75588) ^ [] : [model(344 ^ [_87268, _87270], _87268)], (334 ^ _75588) ^ [_87588] : [model(_87588, _87270), -(model(_87588, _87268))]]], (302 ^ _75588) ^ [_86488, _86490] : [-(status(_86490, _86488, wth)), 305 ^ _75588 : [(306 ^ _75588) ^ [_86642] : [model(_86642, _86490)]], 310 ^ _75588 : [(311 ^ _75588) ^ [] : [-(model(309 ^ [_86488, _86490], _86490))], (313 ^ _75588) ^ [] : [model(309 ^ [_86488, _86490], _86488)]], 322 ^ _75588 : [(323 ^ _75588) ^ [_87138] : [-(model(_87138, _86488))]], 316 ^ _75588 : [(317 ^ _75588) ^ [_86965] : [model(_86965, _86488), -(model(_86965, _86490))]]], (348 ^ _75588) ^ [_88155, _88157] : [-(model(349 ^ [_88155, _88157], _88157)), -(status(_88157, _88155, cax))], (355 ^ _75588) ^ [_88379, _88381] : [status(_88381, _88379, cax), 358 ^ _75588 : [(359 ^ _75588) ^ [_88498] : [model(_88498, _88381)]]], (372 ^ _75588) ^ [_88980, _88982] : [status(_88982, _88980, sca), 375 ^ _75588 : [(376 ^ _75588) ^ [_89130] : [model(_89130, _88982)], (379 ^ _75588) ^ [] : [-(model(377 ^ [_88980, _88982], _88980))]]], (361 ^ _75588) ^ [_88645, _88647] : [-(status(_88647, _88645, sca)), -(model(364 ^ [_88645, _88647], _88647)), 367 ^ _75588 : [(368 ^ _75588) ^ [_88861] : [model(_88861, _88645)]]], (393 ^ _75588) ^ [_89747, _89749] : [status(_89749, _89747, tca), 396 ^ _75588 : [(397 ^ _75588) ^ [_89897] : [model(_89897, _89749)], (399 ^ _75588) ^ [_89959] : [-(model(_89959, _89747))]]], (381 ^ _75588) ^ [_89377, _89379] : [-(status(_89379, _89377, tca)), -(model(384 ^ [_89377, _89379], _89379)), model(387 ^ [_89377, _89379], _89377)], (416 ^ _75588) ^ [_90557, _90559] : [status(_90559, _90557, wca), 419 ^ _75588 : [(420 ^ _75588) ^ [_90720] : [model(_90720, _90559)], (423 ^ _75588) ^ [] : [-(model(421 ^ [_90557, _90559], _90557))], (426 ^ _75588) ^ [] : [model(424 ^ [_90557, _90559], _90557)]]], (401 ^ _75588) ^ [_90108, _90110] : [-(status(_90110, _90108, wca)), -(model(404 ^ [_90108, _90110], _90110)), 409 ^ _75588 : [(410 ^ _75588) ^ [_90371] : [model(_90371, _90108)]], 411 ^ _75588 : [(412 ^ _75588) ^ [_90433] : [-(model(_90433, _90108))]]], (438 ^ _75588) ^ [_91410, _91412] : [status(_91412, _91410, csa), 442 ^ _75588 : [(443 ^ _75588) ^ [] : [-(model(441 ^ [_91410, _91412], _91412))], (445 ^ _75588) ^ [] : [-(model(441 ^ [_91410, _91412], not _91410))]]], (428 ^ _75588) ^ [_91088, _91090] : [-(status(_91090, _91088, csa)), 429 ^ _75588 : [(430 ^ _75588) ^ [_91183] : [model(_91183, _91090), model(_91183, not _91088)]]], (459 ^ _75588) ^ [_92177, _92179] : [status(_92179, _92177, uns), 462 ^ _75588 : [(463 ^ _75588) ^ [_92328] : [-(model(_92328, _92179))], (465 ^ _75588) ^ [_92390] : [-(model(_92390, not _92177))]]], (447 ^ _75588) ^ [_91804, _91806] : [-(status(_91806, _91804, uns)), model(450 ^ [_91804, _91806], _91806), model(453 ^ [_91804, _91806], not _91804)], (485 ^ _75588) ^ [_93084, _93086] : [status(_93086, _93084, noc), 489 ^ _75588 : [(490 ^ _75588) ^ [] : [-(model(488 ^ [_93084, _93086], _93086))], (492 ^ _75588) ^ [] : [-(model(488 ^ [_93084, _93086], _93084))], (495 ^ _75588) ^ [] : [-(model(493 ^ [_93084, _93086], _93086))], (497 ^ _75588) ^ [] : [-(model(493 ^ [_93084, _93086], not _93084))]]], (467 ^ _75588) ^ [_92521, _92523] : [-(status(_92523, _92521, noc)), 470 ^ _75588 : [(471 ^ _75588) ^ [_92667] : [model(_92667, _92523), model(_92667, _92521)]], 476 ^ _75588 : [(477 ^ _75588) ^ [_92852] : [model(_92852, _92523), model(_92852, not _92521)]]]], input).
% 0.74/1.38  ncf('1',plain,[mighta(wec, thm)],start(689 ^ 0)).
% 0.74/1.38  ncf('1.1',plain,[-(mighta(wec, thm)), 501 : status(not 635 ^ [], 632 ^ [], wec), 501 : status(not 635 ^ [], 632 ^ [], thm)],extension(499 ^ 1,bind([[_93834, _93836, _93947, _93949], [thm, wec, 632 ^ [], not 635 ^ []]]))).
% 0.74/1.38  ncf('1.1.1',plain,[-(status(not 635 ^ [], 632 ^ [], wec)), 176 : model(639 ^ [], not 635 ^ []), 183 : model(179 ^ [632 ^ [], not 635 ^ []], 632 ^ []), 185 : model(636 ^ [], 632 ^ []), 185 : -(model(636 ^ [], not 635 ^ []))],extension(172 ^ 4,bind([[_81861, _81863, _82002, _82291], [632 ^ [], not 635 ^ [], 639 ^ [], 636 ^ []]]))).
% 0.74/1.38  ncf('1.1.1.1',plain,[-(model(639 ^ [], not 635 ^ [])), 613 : -(model(639 ^ [], 635 ^ []))],extension(611 ^ 7,bind([[_98358, _98360], [635 ^ [], 639 ^ []]]))).
% 0.74/1.38  ncf('1.1.1.1.1',plain,[model(639 ^ [], 635 ^ [])],extension(641 ^ 10)).
% 0.74/1.38  ncf('1.1.1.2',plain,[-(model(179 ^ [632 ^ [], not 635 ^ []], 632 ^ []))],extension(634 ^ 7,bind([[_99153], [179 ^ [632 ^ [], not 635 ^ []]]]))).
% 0.74/1.38  ncf('1.1.1.3',plain,[-(model(636 ^ [], 632 ^ []))],extension(634 ^ 7,bind([[_99153], [636 ^ []]]))).
% 0.74/1.38  ncf('1.1.1.4',plain,[model(636 ^ [], not 635 ^ []), 619 : model(636 ^ [], 635 ^ [])],extension(611 ^ 7,bind([[_98358, _98360], [635 ^ [], 636 ^ []]]))).
% 0.74/1.38  ncf('1.1.1.4.1',plain,[-(model(636 ^ [], 635 ^ []))],extension(638 ^ 10)).
% 0.74/1.38  ncf('1.1.2',plain,[-(status(not 635 ^ [], 632 ^ [], thm)), 100 : model(96 ^ [632 ^ [], not 635 ^ []], 632 ^ [])],extension(95 ^ 4,bind([[_79105, _79107], [632 ^ [], not 635 ^ []]]))).
% 0.74/1.38  ncf('1.1.2.1',plain,[-(model(96 ^ [632 ^ [], not 635 ^ []], 632 ^ []))],extension(634 ^ 7,bind([[_99153], [96 ^ [632 ^ [], not 635 ^ []]]]))).
% 0.74/1.38  %-----------------------------------------------------
% 0.74/1.38  End of proof for /export/starexec/sandbox/benchmark/theBenchmark.p
%------------------------------------------------------------------------------